1 HDTV in StreamIT: A Case Study Andrew A. Lamb MIT Laboratory for Computer Science Computer Architecture Group (8/2/2002)

Slides:



Advertisements
Similar presentations
Digital TV StandardstMyn1 Digital TV Standards All digital TV variants can carry both standard- definition television (SDTV) and high-definition television.
Advertisements

Computer Networking Error Control Coding
Efficient Soft-Decision Decoding of Reed- Solomon Codes Clemson University Center for Wireless Communications SURE 2006 Presented By: Sierra Williams Claflin.
Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV.
Forward Error Correction Demystified Presented by Sunrise Telecom Broadband … a step ahead.
Doc.: IEEE /148 Submission March 2001 J. Lauer, C. Hansen, R. Gubbi, M. Fischer, BroadcomSlide 1 Interleaving for Reed Solomon Coding for the.
Digital Fountain Codes V. S
© UNIVERSITY of NEW HAMPSHIRE INTEROPERABILITY LABORATORY VDSL MCM Simulation Tim Clark VDSL Consortium Tim Clark VDSL Consortium.
IEEE802.16d IEEE802.16d Simulator WirelessMAN-OFDM-PHY layer Mohamad Charafeddine Rev-s3 24 Sept 2004.
Uncoordinated Access Transmitters can transmit at any time using an interleaver chosen from a family without informing anyone except the desired receiver.
Digital Codes Coding Gain For a given Bit error Rate, Coding Gain is defined as the increase required in C/N such that un-coded data yields the same BER.
Modern Digital and Analog Communication Systems Lathi Copyright © 2009 by Oxford University Press, Inc. C H A P T E R 15 ERROR CORRECTING CODES.
1 Channel Coding in IEEE802.16e Student: Po-Sheng Wu Advisor: David W. Lin.
Concepts of Multimedia Processing and Transmission IT 481, Lecture #11 Dennis McCaughey, Ph.D. 16 April, 2007.
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Cellular Communications
Turbo Codes – Decoding and Applications Bob Wall EE 548.
Coding and Error Control
Turbo Codes Azmat Ali Pasha.
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
Video Streaming: An FEC-Based Novel Approach Jianfei Cai, Chang Wen Chen Electrical and Computer Engineering, Canadian Conference on.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Error Control.
ATSC Digital Television
Forward Error Correction. FEC Basic Idea Send redundant data Receiver uses it to detect/correct errors Reduces retransmissions/NAKs Useful when RTT is.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Why to Apply Digital Transmission?
Viterbi Decoder Project Alon weinberg, Dan Elran Supervisors: Emilia Burlak, Elisha Ulmer.
Channel Coding and Error Control
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Application of Finite Geometry LDPC code on the Internet Data Transport Wu Yuchun Oct 2006 Huawei Hisi Company Ltd.
1 University of Canberra Advanced Communications Topics Television Broadcasting into the Digital Era by: Neil Pickford Lecture 5 DTTB Transmission Error.
HDTV Video and AC-3 Payload Formats Ladan Gharai Allison Mankin USC/ISI.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
Reed Solomon Code Doug Young Suh Last updated : Aug 1, 2009.
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Introduction of Low Density Parity Check Codes Mong-kai Ku.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Thirteen Channel Coding and Encryption.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Detection (§3.2.2)
Doc.: IEEE /0099r0 Submission March 2007 Wu Yu-Chun, Huawei HisiSlide 1 FEC on Sync Burst and PSDU for the IEEE P Wireless RANs.
Channel Coding Binit Mohanty Ketan Rajawat. Recap…  Information is transmitted through channels (eg. Wires, optical fibres and even air)  Channels are.
Real-Time Turbo Decoder Nasir Ahmed Mani Vaya Elec 434 Rice University.
Error Correction Code (2)
Minufiya University Faculty of Electronic Engineering Dep. of Electronic and Communication Eng. 4’th Year Information Theory and Coding Lecture on: Performance.
1 Fall Technical Meeting, Bordeaux (BOD) 4/15-18/2013 SLS-CS_13-02 High Data Rate (Gbps +) Coding Architecture Part 2 (part 1 was presented at Fall 2012.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
Reed-Solomon Codes in Slow Frequency Hop Spread Spectrum Andrew Bolstad Iowa State University Advisor: Dr. John J. Komo Clemson University.
Interleaving Compounding Packets & Convolution Codes
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Residential Audio & Video Systems Copyright © 2005 Heathkit Company, Inc. All Rights Reserved Presentation 18 – Digital Television (DTV) – Part 2.
Diana B. Llacza Sosaya Digital Communications Chosun University
Classical Coding for Forward Error Correction Prof JA Ritcey Univ of Washington.
1 Convolutional Codes An (n,k,m) convolutional encoder will encode a k bit input block into an n-bit ouput block, which depends on the current input block.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
296.3:Algorithms in the Real World
What is this “Viterbi Decoding”
Interleaver-Division Multiple Access on the OR Channel
High Definition Television (HDTV)
University of Canberra Advanced Communications Topics
Error Correction Code (2)
Error Correction Code (2)
Chapter 10 Error-Control Coding.
Chapter 10: Error-Control Coding
Coding and Error Control
Unequal Error Protection for Video Transmission over Wireless Channels
Error Correction Code (2)
Homework #2 Due May 29 , Consider a (2,1,4) convolutional code with g(1) = 1+ D2, g(2) = 1+ D + D2 + D3 a. Draw the.
IV. Convolutional Codes
Presentation transcript:

1 HDTV in StreamIT: A Case Study Andrew A. Lamb MIT Laboratory for Computer Science Computer Architecture Group (8/2/2002)

2 Resources/Acknowledgements ATSC (Advanced Television Systems Committee) Standard A53, revision B (HDTV standard) Vanu PowerPoint presentation on their HDTV implementation

3 Outline “Cultural” Overview Reed-Solomon Convolutional Interleaving Trellis Coding/Viterbi Decoding

4 HDTV HDTV == ATSC A53 rev. B standard Spec was created by “Digital HDTV Grand Alliance” AT&T (now Lucent Technologies), General Instrument, North American Philips, Massachusetts Institute of Technology, Thomson Consumer Electronics, the David Sarnoff Research Center (now Sarnoff Corporation) and Zenith Electronics Corporation (

5 A53 Revision b

6 A53 Revision b (cont.) A53b describes service multiplexing and transport along with channel coding. ISO/IEC IS , International Standard (1996) describes MPEG-2 A52a describes AC3 encoding Doesn’t describe decoding.

7 A53 Revision b (cont.) Channel coding has static rates. Comes in 2 flavors 8-VSB for terrestrial cable television 16-VSB for satellite television (the 8 means that a transmitted symbol can take on 1 of 8 values.) We focus on the channel encoding and decoding of 8-VSB.

8 8-VSB Channel Coder

9 8-VSB Channel Decoder

10 Data rates Data frame = 2 data fields, each with 313 segements (1 sync, 312 data)

11 Data rates (cont.) 187 data bytes 207 bytes 207 bytes1656 bits 1656 bits2484 bits 2484 bits828 symbols +20 parity bytes 8 bits per byte 2/3 trellis encoder 3 bits/symbol Each data segment encodes 188 bytes of MPEG-2 stream (1 sync, 187 data). Transmitted as level symbols

12 Outline “Cultural” Overview Reed-Solomon Convolutional Interleaving Trellis Coding/Viterbi Decoding

13 Reed-Solomon Codes Also in CDs, Cellphones, ADSL, DVD, etc. FEC (forward error correction) (eg it appends parity symbols to data symbols) Irving S. Reed and Gustave Solomon (researchers at Lincoln Labs) published original paper in SIAM, (

14 Reed-Solomon Codes (cont.) Specified as RS(n,k) Takes k symbols of data and produces an n symbol codeword (e.g. it adds n-k parity symbols) Can correct up to t symbol errors, where 2t = n-k

15 StreamIT Implementation Copied rscode, an open source RS implementation (written by Henry Minsky, formerly of the AI lab) Converted the rscode from c to Java and fooled with fields. Works, and corrects artificially introduced errors as promised.

16 RS Stream Graphs Monolithic, coarse grained implementation.

17 StreamIt Implemention Notes Both the encoder and decoder have the same code b/c you can’t share static code among streams. It was fairly straightforward for the c to Java conversion – nice feature for migrating existing applications.

18 Outline “Cultural” Overview Reed-Solomon Convolutional Interleaving Trellis Coding/Viterbi Decoding

19 Convolutional Interleaver Spreads a burst of channel errors out in space over encoded data.

20 Delay I found it easier to understand the convolutional interleaver this way: Need to “prime” with 30 elements.

21 Interleaver Stream Graph

22 Deinterleaver Stream Graph

23 StreamIt Implemention Notes The stream graphs closely resembles the block diagram, which is good. It was very easy, once we figured out what a convolutional interleaver did, to implement in StreamIt. No way to ignore first 30 elements

24 Outline “Cultural” Overview Reed-Solomon Convolutional Interleaving Trellis Coding/Viterbi Decoding

25 Trellis Encoding In HDTV, the trellis encoder is a convolution encoder followed by a symbol mapper. This provides good noise immunity (somehow) HDTV encoder uses 12 trellis coders in parallel

26 Convolution Encoding Input is an m bit symbol Output is an n bit symbol m/n is the rate (HDTV uses 2/3) K is the reach: the number of output symbols that each input symbol affects (HDTV has K=3)

27 Trellis Encoding (cont.) Trellis Encoder used in HDTV “ungerboeck encoder” “pre-coder” Source: ATSC standard A53, revision b

28 Trellis Encoder Stream Graph

29 Trellis Encoding (cont.) 12 Trellis Encoders Source: ATSC standard A53, revision b

30 Trellis Split-Join Stream Graph

31 Trellis Decoding Not specified by A53b, I chose to use Viterbi decoding. (after Andrew Viterbi, founder of Qualcomm. B.S., M.S. MIT ’57, PhD USC ’62. Also VI-A at Raytheon) Uses a dynamic programming approach Reads in a lot of input before producing a lot of output. Not fine grained (currently?).

32 Trellis Decoder Stream Graph

33 StreamIt Implemention Notes The stream graph is reasonably close to the block diagram. The Ungerboeck decoder (which implements the Viterbi algorithm) is monolithic. The encoders are naturally written to operate on bits (implementation uses integers) and so it is very inefficient.

34 HDTV Decoder (again)

35 Whole Stream Graph

36 Source Code Comparison StreamITVanu BlockCode linesTotal linesLines(?) RS Encoder190364(?) RS Decoder195367~450 Interleaver4183(?) Deinterleaver4983~250 Trellis Encoder52118(?) Trellis Decoder207417~500 Randomizer(?)——~210