Uncompressed HD Media Transport System: Progress from GLORIAD-KR JongChurl Park@GIST JongWon Kim@GIST Jinyong Jo@KISTI
Outline Overview (GLORIAD-KR system) Research efforts Future works Multiple streams (bi-directional) OpenGL(SDL) Sender-view Networked tiled display Future works 2018-11-21
Overview Ultragrid (USC/ISI) extension XENA HS (AJA Video systems) – Rx & Tx 1920x1080i (25,50,29.97,59.94,30,60 fps) 6-channel audio (24-bit/48KHz) Video out XENA HS, SDL, xVideo Audio out XENA HS, ALSA Platform Redhat 9, Mandrake 10.1, and Fedora Core 5 Open-source : http://www.gloriad-kr.org/hdtv 2018-11-21
Hardware Sony HVR-Z1N HD display HD-SDI converter 6-channel audio Audio embedder A/V transport over IP networks HD-SDI signal converter HD display Speakers HD-SDI interface Audio D/A Audio A/D 2018-11-21
Software 2018-11-21
Demo. iGrid 2005, Stereoscopic & uncompressed HD video conferencing DancingQ 2006, Real-time commercial culture event, “I don’t know” ELSA 2006, Laparoscopic liver surgery SC 2006, Software-based A/V playout Others (2006~) Experience sharing & real-time experiments with CNIC, TsingHua Univ., EVL, and so forth. CNIC(Computer Network Information Center) in China 2018-11-21
Collaborators 2018-11-21
Research Efforts Multiple stream (bi-directional) support Handle incoming/outgoing streams with one machine Reducing implementation cost. Downing CPU load is a KEY point OpenGL(SDL) & sender-view Smooth display and user facilities Networked tiled display Increased sense of presence 2018-11-21
A Scenario over our Efforts 2018-11-21
Downing CPU load Bottleneck tracing & Code-level analysis (with vtune performance analyzer) Source-code optimization to ream the bottleneck 2018-11-21
Downing CPU load (for example) Result of tv_diff() optimization File name Function name CPU load decoder.c decode_frame() 18.87% main.c main() 11.30% tv.c tv_diff() 8.52% rtp.c rtp_recv_data() 7.02% pbuf.c pbuf_decode() 4.42% File name Function name CPU load decoder.c decode_frame() 19.65% main.c main() 13.57% rtp.c rtp_recv_data() 7.63% rtp_callback.c rtp_recv_callback() 4.20% tv.c tv_diff() 3.81% 2018-11-21
Multiple stream support Apply port-based stream selection Share one IP address - Use different ports 10 Gbps interface Use different IP addr. Two 1 Gbps interface 2018-11-21
OpenGL (SDL) & Sender View Add SDL module Sender View module (Sender-side view) Init library display index change Finalize Display Module loop OpenGL API Main HD display Receiver Main Frame grab Transport 1. Store captured frame 2. Make pipe to forward frame for sender’s view display 3. Display video on sender’s screen Forward Frame OpenGL API HD display 2018-11-21
Multiple stream support & Sender-side view Receiver view Receiver view Sender view Sender view 2018-11-21
Networked Tiled Display To link video out to tiled display Convert YUV to RGB Frame delay 2018-11-21
Tiled Display – Performance Issue Problem: Permits only one frame and is forwarded at one time. They causes frames delay Solution: Insert condition at critical section While one packet is being transmitted, the subsequent packet is thrown by conditional without waiting. 2018-11-21
Tiled Display Increased Quality 2018-11-21
Future Works Keep optimizing software bottleneck Support multiple XENA HS interfaces Full rate playout over tiled display Protocol bridging (TCP and UDP) Uncompressed HDTV and Tiled display 2018-11-21
Thank you! Contact jcpark@nm.gist.ac.kr http://www.gloriad-kr.org/hdtv 2018-11-21