Closed bmegli closed 4 years ago
Related to #1
Currently only luminance Y plane of HEVC Main10 P010LE (encoding details) is used.
This means that P010LE chroma (interleaved U/V) channel is still unused.
The U/V plane is:
Funnily enough this is exactly the size of D435 infrared greyscale data (which is 8 bit per sample with Y8 format).
If the stride of infrared matches its width it should be possible to:
This is somewhat like 4:2:2 chroma sampling (if you consider IR "to be" the U/V chroma.
The decoding would use the same mechanism as currently with additional notes:
SetColors(NativeArray<T>)
NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray
This should not affect latency in any significant way but may affect the required bitrate
It is difficult to say anything about the quality of texture encoding without performing some tests
Working proof-of-concept between:
Some first subjective impressions:
Some quick screenshots, same view.
Point cloud only: Textured point cloud:
This is already implemented, merged into master branches and working between:
It would be nice at add some (short and simple) video showing the functionality.
Done, documented, video added.
Related to #1
Potential Encoding
Currently only luminance Y plane of HEVC Main10 P010LE (encoding details) is used.
This means that P010LE chroma (interleaved U/V) channel is still unused.
The U/V plane is:
Funnily enough this is exactly the size of D435 infrared greyscale data (which is 8 bit per sample with Y8 format).
If the stride of infrared matches its width it should be possible to:
This is somewhat like 4:2:2 chroma sampling (if you consider IR "to be" the U/V chroma.
The decoding
The decoding would use the same mechanism as currently with additional notes:
SetColors(NativeArray<T>)
NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray
Final notes
This should not affect latency in any significant way but may affect the required bitrate
It is difficult to say anything about the quality of texture encoding without performing some tests