-
Notifications
You must be signed in to change notification settings - Fork 795
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature-Request] RVL Depth Image Compression #1362
Comments
Thanks for the link, that could be indeed useful! As a comparison, we are currently using PNG: Implementation details:
|
Hi, RVL only supports the depth image in 16 bits format. So I went to see how the depth image in 32 bits format was processed previously. According to If I add another _depthCompressionFormat option, how should 32 bits images be processed when it is set to '.rvl'? From a compatibility perspective, we should keep the original approach. Or force conversion to 16 bits format and give a warning when ".rvl" is set? |
Both JPEG and PNG data have standard defined signatures. |
Thank you for the info. A quick check on an existing database and we can indeed see the signatures:
I'll double check, but I think we don't convert back from internal rtabmap format to ROS, just ROS to rtabmap, so we could add our own signature ("DEPTHRVL" to make easy to read, that's 16 Hex characters like PNG). Maybe data_player node needs to publish as a ROS image, but we could strip the signature before converting to ROS. Another thing to keep in mind, to keep compatibility with all image exporting methods, we may have to convert it back to PNG when doing so. So a RVL to PNG converter function would be nice.
PNG is simply a ZIP file. Even for a normal image there is no special optimization, unlike JPG. I could have compressed the OpenCV matrix (32FC1) directly instead of encoding it in an image.
We could warn one time that it may result in loss of accuracy and maximum range of 65 meters (max USHORT in mm), but still compress RVL. |
Closed by #1409 A new ticket to support RVL on rtabmap_ros has been added: introlab/rtabmap_ros#1257 |
RVL is a lossless depth image compression algorithm developed by Microsoft. RVL frame is supported by some Orbbec cameras. RVL codec has been added to ROS since Noetic/Jazzy. I think it will help reduce the size of the database and save bandwidth (for camera data transfer and ROS communication).
The text was updated successfully, but these errors were encountered: