Download - 3D Video Programming for Android
![Page 1: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/1.jpg)
1
Yossi Cohen
3D Video forAndroid
![Page 2: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/2.jpg)
2
Content Intro to 3D Video3D Video in H.2643D Video in HDMI 1.4aAndroid 3D Video encoding
TI OMAP4 ConfigurationQualcomm Configuration
![Page 3: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/3.jpg)
3
Intro to 3D Video
![Page 4: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/4.jpg)
4
What is 3D Video 3d content is made by showing a separate image (video) to
each eye.
3D Glasses based technologies: ANAGLYPH POLARIZATION ECLIPSE METHOD
3D Glass-free technologies: GUIDED LIGHT LENTICULAR SCREEN PARALLAX BARRIER
This presentation does not discuss the presentation technologies, ,instead we focus on how to compress and deliver the video to the screen.
![Page 5: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/5.jpg)
5
3D Video Delivery
![Page 6: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/6.jpg)
6
Legacy 3D Video DeliveryDifferent devices delivered 3D Video as one video
stream with the two R/L screens merged into one rectangle:1. DirectTV uses Side-by-Side layout
2. PlayStation uses Top-Bottom layout
3. Blue-Ray Player FULL-HD Side-by-Side
User should manually set the TV to 3Dand Configure the right packing mode
![Page 7: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/7.jpg)
7
Side-by-Side 3D Example BlueRay video with Full HD SBSResolution is 3840X1280
![Page 8: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/8.jpg)
8
3D Video in HDMI 1.3 Delivery of 3D Video in packing of
1 and 2 was possible in HDMI:
Side-by-Side 3D in HDMI
Top-Bottom 3D in HDMI
Problems
User should manually configure TV to the correct mode
3D is not viewed as Full-HD. Each eye receives “Half-HD” Quality.
Duo to Bandwidth constraints no support for 3D-Full-HD
![Page 9: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/9.jpg)
9
3D in HDMI 1.4a and HDMI 2+ In Advance HDMI standards, HDMI include Header fields
which signals the frame packing mode
Example: 3D SBS transmission in HDMI 1.4
![Page 10: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/10.jpg)
10
H.264 3D Video
![Page 11: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/11.jpg)
11
H.264 3D ProfilesEncoding of one stream video slices halved into
R/L screens can be done in ANY H.264 Profile.Alternative encoding are:
MVCStereo-High
![Page 12: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/12.jpg)
12
H.264 AVC 3D encoding modeThere are two options for 3D H.264 AVC encoding:Regular encoding of a single video stream with
two L/R frames packed into one FrameCodec is unaware that the video is 3DNo signaling information is sent
Informing the Encoder the video is 3DEncoder will insert Frame-Packing informationTV / Sink should switch automatically to 3D correct frame
packing according to signaled information
![Page 13: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/13.jpg)
13
H.264 3D SignalingH264 Signals 3D Video and the type of Frame
Packing (Side-by-Side, Top-Bottom, Interlaced…) by Frame Packing Arrangement structure
FPA is an optional message inside the SEI NALFrame Packing Agreement structure was added to
the standard in 2010.A device receiving H.264 stream with SEI-FPA
could automatically change its mode to the correct 3D Mode (if it understands those headers and has 3D capabilities).
![Page 14: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/14.jpg)
14
Example of 3D Configuration There are two types of FPA extensions 2004 & 2010
2004 states the frame arrangement SBS, Top-Bottom etc
2010 is more detailed as described below
![Page 15: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/15.jpg)
15
MVC – Multi View CodingMVC is a standard for compression of multiple
video streams into one encoded streamsAll streams are encoded as differences (deltas)
from the first stream (like SVC)MVC with 2 video streams is 3D stereo
![Page 16: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/16.jpg)
16
H.264 Stereo ModeH.264 Stereo Mode is like MVC with only two
cameras.
![Page 17: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/17.jpg)
17
Wireless Dongle
Wireless 3D Video transmission
HDMIConverter
Automatic 3D Video
H.264 with SEI FPA over Wireless
3D Video over HDMI 1.4a
H.264 Decoder
H.264Encoder
![Page 18: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/18.jpg)
18
3D VIDEO COMPRESSION ON ANDROID
![Page 19: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/19.jpg)
19
TI 3D Configuration For all platforms (Nvidia, TI, QCOM), in the Encoder OMX
input pin configuration add the appropriate code according to the processor
![Page 20: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/20.jpg)
20
TI 3D Configuration
OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010 FramePacking2010;
FILL_OMX_VERSION(FramePacking2010 ,OMX_TI_VIDEO_PARAM_AVCENC_FRAMEPACKINGINFO2010);
FramePacking2010.nPortIndex = OMX_PORT_INDEX_INPUT;
FramePacking2010.eFramePackingType = OMX_TI_Video_FRAMEPACK_SIDE_BY_SIDE;
FramePacking2010.nFrame0PositionX = 0;
FramePacking2010.nFrame0PositionY = 0;
FramePacking2010.nFrame1PositionX = 0;
FramePacking2010.nFrame1PositionY = 0
OMX_CALL( SetParameter, (OMX_INDEXTYPE) OMX_TI_IndexParamStereoFramePacking2010Settings, &FramePacking2010 );
OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE FrameData;
FILL_OMX_VERSION(FrameData ,OMX_TI_VIDEO_PARAM_FRAMEDATACONTENTTYPE);
FrameData.nPortIndex = OMX_PORT_INDEX_INPUT;
eContentType = OMX_TI_Video_AVC_2010_StereoFramePackingType;
OMX_CALL( SetParameter,(OMX_INDEXTYPE)OMX_TI_IndexParamVideoFrameDataContentSettings, &FrameData );
![Page 21: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/21.jpg)
21
Qualcomm Configuration
Unfortunately couldn’t find a method for this on Qualcomm processors. If you know please email me or comment and I’ll update this presentation
![Page 22: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/22.jpg)
22
Thank you!
Video Expert
Lectures on Video / Android / VoIP
Android Native Developer
More About me:
Yossi [email protected]://www.mobilevideotech.com
+972-545-313092
![Page 23: 3D Video Programming for Android](https://reader036.vdocuments.net/reader036/viewer/2022081516/54b799ee4a7959db528b4c67/html5/thumbnails/23.jpg)
23
Resources Overview of the Stereo and Multiview Video Coding Extensions of
the H.264/MPEG-4 AVC Standard
http://www.practical-home-theater-guide.com/3d-tv-formats.html
High-Definition Multimedia Interface Specification Version 1.4a Extraction of 3D Signaling Portion