DTV Infrastructure from Standards to Startups Milton Chen Overview • Ground rules • Your DTV station • Your DTV receiver MPEG-2 Transport Stream • 188 byte packets • 4+ bytes header – sync_byte (0x47) – packet ID (13 bits) • 0x11, 21, or 31 are video by convention • 0x14, 24, or 34 are the corresponding audio – transport_error_indicator (1 bit) – transport_scrambling_control (2 bits) – priority (1 bit) 4 828 Symbols Field Sync #1 313 Segments S e g m e n t S y n c 313 Segments Data + FEC 24.2 ms Field Sync #2 Data + FEC Test Segment 1 Segment = 77.3 us 24.2 ms ATSC 8-VSB Data Rate • data rate = 2 * W log ( L ) = 32.286 Mbps – W = 5.381MHz (not 6 because of bandpass filter) – L = 8 levels • 32.286 Mbps * 2/3 * 188/(188+20) * 312/313 = 19.4 Mbps (often quoted rate), 2/3 from Trellis Encoding, 20 from parity bytes • 19.4 Mbps * 184 / 188 = 19.0 Mbps (maximum data rate) • 19.0 Mbps * (65536 – 20 – 8)/65536 = 19.0 Mbps (maximum UDP/IP data rate), 20 byte IP header, 8 byte UDP header Your DTV Station 720/60P HD Camera $300k 18W D5 Tape Deck 288 Mbps $150k KMRL 28 DTV File Server Teirnan THE-1HDTV Encoder $200k HD Storage $150k Dolby PD567 AC-3 Encoder $3k Audio SD camcorder A/D PSI/PSIP Tables IA File Server Internet Data Input 8-VSB Modulator $50k DVB-ASI Audio PES DVB-ASI DVB-SPI T1 $4 k UP Converter $1k Fiber link Philips Token DVB-ASI Philips VE98 Video PES SDTV Encoder $40k a site MUX $25k SkyStream DBN-26 $50k ASI Tiernan Universal Interface $5k IP Data IA servers SMPTE-310 Microwave link $70 k 250KW KICU 52 DTV Station b site KICU Signal Contour Your DTV Receiver Intel Video API Intel ATVEF API Intel Transport API IP Multicast API Intel DTV Driver (K2) Hauppauge/Philips receiver board (Coney/Maui) Linux and Windows Windows DTV Receiver Board Diagram Audio in Analog RF in DTV RF in Comp video in Audio MUX & decoder Mux audio video Tuner To sound card Analog Video Decoder MUX I/f logic S-video in 8-VSB IF demodulator A/D convert DTV demod FEC Decoder DTV receiver board block diagram Scaler PCI bridge SAA7146 PCI Bus Intel Transport API • Channel Tuning – DTVInitFromATSC (channel) – DTVInitFromFile (file,bitrate,loop ) • class DTVConn { DTVConn ( pid, raw ); int RetrieveBuffer ( buf, wait ); int ReturnBuffer (buf ) int Flush(); } • Utility Tools – VSBM, DTVStat, iDTVtest, DTVRec, Dmon, DTVSim Intel Video API • MPEG Processing Library (MPL) – Access to decoded video frames and much more – Highly optimized codec – path to OpenGL video texture – DirectShow wrappers IP Multicast API • Standard Winsock programming – Run DTVSock.exe to enable data flow • Likely to be supported by all PC DTV cards – Hauppauge/Philips – Creative Labs/Teralogic – Broadlogic • Realtime back channel to complete the loop Advanced Televison Enhancement Forum (ATVEF) • Framework for interactive TV over ATSC, NTSC, and Internet • Based on WEB standards – HTML, JavaScript • Use IP to transport all data • Uni-direction HTTP – All-or-none – Error correction – Object segmentation • Naming scheme for cached data • At least 1MB of data cache in receiver ATVEF (2) • Announcements – address 224.0.1.113 and port 2670 – describe the enhancement and what IP addresses to listen for triggers and resources • Triggers – 1 UDP packet • Resources – web pages, images, scripts, gzipped data Producing Your Content • Capturing Video – camera, camcorder • Editing Video – Adobe Premiere, Avid Express • ATVEF – WEB tools – Intel Broadcast Plus Tools • scripts • MPEG2 Transport Stream – Intel’s Dynamux.exe (software mux) • Other ... What Next • Programming session – Next Monday night – Tools and sample codes • Most systems at three months before tradeshow stage – Tell me what you need