Source: http://www.google.com/patents/US6009203?dq=U.S.+patent+number+7,325,728&ei=Y93TTteOAe702wW6uqi1BQ
Timestamp: 2015-08-03 06:56:43
Document Index: 331470308

Matched Legal Cases: ['art 1', 'art 1', 'art 1', 'art 1', 'art 1', 'art 1']

Patent US6009203 - Method and apparatus for hybrid VLC bitstream decoding - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA method and apparatus for decoding variable length code (VLC) data employ a hybrid technique of parsing short-length VLC codes using a binary tree or binary search procedure and parsing longer VLC codes using a table lookup procedure. This technique includes the steps of accessing a plurality of bits...http://www.google.com/patents/US6009203?utm_source=gb-gplus-sharePatent US6009203 - Method and apparatus for hybrid VLC bitstream decodingAdvanced Patent SearchPublication numberUS6009203 APublication typeGrantApplication numberUS 08/911,212Publication dateDec 28, 1999Filing dateAug 14, 1997Priority dateApr 18, 1995Fee statusLapsedAlso published asWO1996033558A1Publication number08911212, 911212, US 6009203 A, US 6009203A, US-A-6009203, US6009203 A, US6009203AInventorsYi Liu, Michael Tucker, Geoffrey StronginOriginal AssigneeAdvanced Micro Devices, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (19), Non-Patent Citations (20), Referenced by (27), Classifications (25), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetMethod and apparatus for hybrid VLC bitstream decoding
8. A method according to claim 1, further comprising:adaptively selecting the number N as a function of a bit code parsing time and frequency of occurrence of VLC codes according to decoded VLC code length. 9. A method according to claim 8, wherein adaptively selecting the number N step further comprises:generating an array designating parsing time for a parsing a plurality of VLC codes according to VLC code length; accumulating a histogram of frequency of occurrence of VLC codes according to VLC code length; performing a convolution operation between the parsing time array and the histogram; and selecting the number of bits N in accordance with the result of the convolution operation. 10. A method according to claim 1 wherein testing the sequence of bits comprises:accessing bitstream data from an input buffer in an order from most significant bit to least significant bit; testing bits beginning from the most significant bit; and logically branching as directed by a result of the tested bits. 11. A method according to claim 1 wherein receiving a plurality of bits of coded bitstream data comprises:accessing data bits from an input buffer; tracking a valid byte of the data bits using a valid byte pointer; and tracking an invalid bit in the valid byte using an invalid bit pointer. 12. A method according to claim 11 further comprising:updating the valid byte pointer and the invalid bit pointer as valid VLC codes and VLC code addresses are found. 13. A computer program product for usage in a video system including a VLC decoder, the computer program product comprising:a computer usable medium having computable readable code embodied therein including a computer program for executing the method according to claim 1. 14. An apparatus for decoding a variable length code (VLC) comprising:a memory including a lookup table having a plurality of table elements; an input buffer; a program code that accesses a plurality of bits of coded bitstream data bit-by-bit in a sequence from the input buffer; a program code that individually tests the bits in the sequence for up to a preselected number N bits of the accessed plurality of bitstream bits; a program code that determines whether the individually tested bits in the sequence correspond to a valid VLC code; a program code that sets a decoded value from a short length VLC code that is hard-coded in processor instructions and selected based on results of the individual bit tests when the sequence corresponds to a valid VLC code; and a program code that accesses the lookup table and sets a decoded value by forming an address pointer from a plurality of bits of the coded bitstream data and applying the address pointer to select a table element of the lookup table. 15. An apparatus according to claim 13 wherein the program code that individually tests the bits in the sequence and the program code that determines whether the bits in the sequence correspond to a valid VLC code comprise:a program code that individually tests a minimum number of bits M sequentially in the sequence; and a program code that determines whether the M bits specify a valid VLC code; wherein the number of bits in the multiple-bit bit testers and multiple-bit comparators increases from the minimum number of M bits to a maximum of N bits. 16. An apparatus according to claim 14 wherein:the VLC code is a discrete cosine transform (DCT) code; the preselected number of bits N is 5 bits; and the address pointer is a 16 bit address pointer. 17. An apparatus according to claim 13 further comprising:program code responsive to the program code that individually tests the bits in a sequence and the program code that determines whether the sequence of bits is a valid VLC code that adaptively selects the number N as a function of frequency of occurrence of VLC codes according to VLC code length. 18. An apparatus according to claim 17 further comprising:a program code responsive to the program code that determines whether the N bits include a valid VLC code that accumulates a histogram by counting the number of occurrences of codes at a plurality of VLC code lengths; and a program code responsive to the program code that accumulates a histogram that examines the histogram to determine the number of bits Nb for which a selected percentage of the codes have fewer bits than Nb. 19. An apparatus according to claim 18 wherein the selected percentage of codes is a percentage in the range from 60% to 80%.
20. An apparatus according to claim 13, further comprising:a program code responsive to the program code that individually tests the bits in a sequence and responsive to the program code that determines whether the sequence of bits is a valid VLC code, the program code adaptively selecting the number N as a function of a bit code parsing time and frequency of occurrence of VLC codes having a plurality of lengths. 21. An apparatus according to claim 20 further comprising:a program code that generates an array designating parsing time for a parsing a plurality of VLC codes according to VLC code length; a program code responsive to determination of a valid VLC code that accumulates a histogram of frequency of occurrence of VLC codes according to VLC code length; a program code responsive to accumulation of a histogram that convolves the parsing time array and the histogram; and program code responsive to the convolution that selects the number of bits N in accordance with the result of the convolution operation. 22. An apparatus for decompressing video information comprising:an input buffer; a variable length coding (VLC) decoder coupled to the input buffer; an inverse zig-zag and quantizer circuit coupled to the VLC decoder; an inverse discrete cosine transform (DCT) circuit coupled to the inverse zig-zag and quantizer circuit; a motion decoding circuit; an adder coupled to the IDCT circuit and to the motion decoding circuit; and a display device, wherein the VLC decoder includes:a memory including a lookup table having a plurality of table elements; an input buffer coupled to the memory; a program code that accesses a plurality of bits of coded bitstream data bit-by-bit in a sequence from the input buffer; a program code that individually tests the bits in the sequence for up to a preselected number N bits of the plurality of accessed plurality of bitstream bits; a program code that determines whether the individually tested bits in the sequence correspond to a valid VLC code; a program code that sets a decoded value from a short length VLC code that is hard-coded in processor instructions and selected based on results of the individual bit tests when the sequence corresponds to a valid VLC code; and a program code that accesses the lookup table and sets a decoded value by forming an address pointer from a plurality of bits of the coded bitstream data and applying the address pointer to select a table element of the lookup table. Description
For example, referring to FIG. 1, labeled prior art, a picture presented by a typical display includes 240 lines of video information in which each line has 352 pixels. Accordingly, a picture includes 240�352=84,480 pixel locations. Under the MPEG standard, this picture of video includes 44 by 30 luminance blocks or 1320 blocks of luminance video information. Additionally, because each macroblock of information also includes two corresponding chrominance blocks, each picture of video information also includes 330 Cr blocks and 330 Cb blocks. Accordingly, each picture of video information requires 126,720 pixels or 1,013,760 bits of bit mapped storage space for presentation on a display.
A P picture is encoded relative to a past reference picture. A reference picture is a P or I picture. The past reference picture is the closest preceding reference picture. Each macroblock in a P picture can be encoded either as an I macroblock or as a P macroblock. A P macroblock is stored within a 16�16 area of a past reference picture plus an error term. To specify the location of the P macroblock, a motion vector (i.e., an indication of the relative position of the picture with reference to the past reference picture) is also encoded. When decoding a P picture, the current P macroblock is created with the 16�16 area from the reference picture. The macroblock from the reference picture is offset according to motion vectors. The decoding function accordingly includes motion compensation, which is performed on a macroblock, in combination with error (IDCT) terms, which are defined on a block by block basis.
A B picture is encoded relative to the past reference picture and a future reference picture. The future reference picture is the closest proceeding reference picture. Accordingly, the decoding of a B picture is similar to that of a P picture with the exception that a B picture motion vector may refer to areas in the future of the reference picture. For macroblocks that use both past and future reference pictures, the two 16�16 areas are averaged. When decoding a B picture the current B macroblock is created with the 16�16 areas from the past and future reference pictures. The macroblocks from the reference pictures are offset according to motion vectors.
______________________________________for(m=0; m&lt;8;m++) {for(n=0;n&lt;8;n++) {i=scan[m][n];dct-- recon[m][n]=(2*dct-- zz[i]*quantizer-- scale*intra-- quant[m][n]/16;if((dct-- recon[m][n] &amp; 1)==0)dct-- recon[m][n]=dct-- recon[m][n]-Sign(dct-- recon[m][n]);if(dct-- recon[m][n]&gt;2047) dct-- recon[m][n] = 2047;if (dct-recon[m][n]&lt;-2048)dct-- recon[m][n]= -2048;}dct-- recon[0][0]=dct-- zz[0]*8;if((macroblock-- address - past-- intra-- address&gt;1))dct-- recon[0][0]= (128 *8)+dct-- recon[0][0];elsedct-- recon[0][0]=dct-- dc-- X-- past + dct--recon[0][0];dct-- dc-- X-- past=dct-- recon[0][0];______________________________________
______________________________________for(m=0;m&lt;8;m++) {for(n=0; n&lt;8; n++){i=scan[m][n];dct-- recon[m][n]=(((2*dct-- zz[i])+Sign(dct-- zz{i}))*quantizer-- scale*non-- intra-- quant[m][n])/16;if((dct-- recon[m][n]&amp; 1)==0)dct-- recon[m][n]=dct-- recon[m][n]-Sign(dct-- recon[m][n]);if(dct-- recon[m][n]&gt;2047)dct-- recon[m][n]=2047;if(dct-- recon[m][n]&lt;-2048)dct-- recon[m][n]=-2048;if(dct-- zz[i] == 0) dct-- recon[m][n]=0;}______________________________________
TABLE 1______________________________________Variable length codes for dct-- coeff-- first and dct--coef-- nextdct-- coeff-- first and dct-- coeff-- next variablelength code (NOTE1)   run        level______________________________________10                    end-- of-- block1 s (NOTE2)           0          111 s (NOTE3)          0          1011 s                 1          10100 s                0          20101 s                2          100101 1 s             0          30011 1 s              3          10011 0 s              4          10001 10 s             1          20001 11 s             5          10001 01 s             6          10001 00 s             7          10000 110 s            0          40000 100 s            2          20000 111 s            8          10000 101 s            9          10000 01               escape0010 0110 s           0          50010 0001 s           0          60010 0101 s           1          30010 0100 s           3          20010 0111 s           10         10010 0011 s           11         10010 0010 s           12         10010 0000 s           13         10000 0010 10 s        0          70000 0011 00 s        1          40000 0010 11 s        2          30000 0011 11 s        4          20000 0010 01 s        5          20000 0011 10 s        14         10000 0011 01 s        15         10000 0010 00 s        16         10000 0001 1101 s      0          80000 0001 1000 s      0          90000 0001 0011 s      0          100000 0001 0000 s      0          110000 0001 1011 s      1          50000 0001 0100 s      2          40000 0001 1100 s      3          30000 0001 0010 s      4          30000 0001 1110 s      6          20000 0001 0101 s      7          20000 0001 0001 s      8          20000 0001 1111 s      17         10000 0001 1010 s      18         10000 0001 1001 s      19         10000 0001 0111 s      20         10000 0010 0110 s      21         10000 0000 1101 0 s    0          120000 0000 1100 1 s    0          130000 0000 1100 0 s    0          140000 0000 1011 1 s    0          150000 0000 1011 0 s    1          60000 0000 1010 1 s    1          70000 0000 1010 0 s    2          50000 0000 1001 1 s    3          40000 0000 1001 0 s    5          30000 0000 1000 1 s    9          20000 0000 1000 0 s    10         20000 0000 1111 1 s    22         10000 0000 1111 0 s    23         10000 0000 1110 1 s    24         10000 0000 1110 0 s    25         10000 0000 1101 1 s    26         10000 0000 0111 11 s   0          160000 0000 0111 10 s   0          170000 0000 0111 01 s   0          180000 0000 0111 00 s   0          190000 0000 0110 11 s   0          200000 0000 0110 10 s   0          210000 0000 0110 01 s   0          220000 0000 0110 00 s   0          230000 0000 0101 11 s   0          240000 0000 0101 10 s   0          250000 0000 0101 01 s   0          260000 0000 0101 00 s   0          270000 0000 0100 11 s   0          280000 0000 0100 10 s   0          290000 0000 0100 01 s   0          300000 0000 0100 00 s   0          310000 0000 0011 000 s  0          320000 0000 0010 111 s  0          330000 0000 0010 110 s  0          340000 0000 0010 101 s  0          350000 0000 0010 100 s  0          360000 0000 0010 011 s  0          370000 0000 0010 010 s  0          380000 0000 0010 001 s  0          390000 0000 0010 000 s  0          400000 0000 0011 111 s  1          80000 0000 0011 110 s  1          90000 0000 0011 101 s  1          100000 0000 0011 100 s  1          110000 0000 0011 011 s  1          120000 0000 0011 010 s  1          130000 0000 0011 001 s  1          140000 0000 0001 0011 s 1          150000 0000 0001 0010 s 1          160000 0000 0001 0001 s 1          170000 0000 0001 0000 s 1          180000 0000 0001 0100 s 6          30000 0000 0001 1010 s 11         20000 0000 0001 1001 s 12         20000 0000 0001 1000 s 13         20000 0000 0001 0111 s 14         20000 0000 0001 0110 s 15         20000 0000 0001 0101 s 16         20000 0000 0001 1111 s 27         10000 0000 0001 1110 s 28         10000 0000 0001 1101 s 29         10000 0000 0001 1100 s 30         10000 0000 0001 1011 s 31         1______________________________________
At found code step 340 which is also called a comparator step for determining whether the tested bits include a complete VLC code, the procedure has found a complete and proper code and found code step 340 converts the code into a decoded value. Found code step 340 then loads a decoded value resulting from the conversion into a block location designated by the block pointer. The decoded value is attained by utilizing the run length parameter as an array index into a zig-- zag scan array. The zig-- zag scan array is an 8�8 array of discrete cosine transform (DCT) coefficients in a zig zag order. Zig zag order is shown in TABLE 4 as follows:
dct-- recon[m][n]=(2*dct-- zz[i]*quantizer-- scale*intra-- quant[m][n])/16.
coeff[i]=quantizer-- scale*quantizer-- matrix[i]*VLC-- level/8.
qvatable[i][j]=i*quantizer-- matrix[j]/8,
qvtable[j]=j*quantizer-- matrix[0]/8,
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS3918047 *Mar 28, 1974Nov 4, 1975Bell Telephone Labor IncDecoding circuit for variable length codesUS5144424 *Oct 15, 1991Sep 1, 1992Thomson Consumer Electronics, Inc.Apparatus for video data quantization controlUS5253053 *Dec 31, 1990Oct 12, 1993Apple Computer, Inc.Variable length decoding using lookup tablesUS5357282 *Sep 30, 1993Oct 18, 1994Goldstar Co., Ltd.Video decoder with parallel implementationUS5386232 *Jun 16, 1993Jan 31, 1995Intel CorporationMethod and apparatus for encoding images using a specified data formatUS5400075 *Jan 13, 1993Mar 21, 1995Thomson Consumer Electronics, Inc.Adaptive variable length encoder/decoderUS5481364 *Nov 10, 1993Jan 2, 1996Fuji Photo Film Co., Ltd.Apparatus for adaptively generating a decoder table for variable-length codes using a stored coding tableUS5488616 *Apr 9, 1993Jan 30, 1996Kokusai Denshin Denwa Co., Ltd.System for providing reversible variable length codesUS5489944 *Apr 13, 1994Feb 6, 1996Samsung Electronics Co., Ltd.Encoding method and apparatus to determine quantization levels using energy characteristics in the DCT domainUS5502493 *May 19, 1994Mar 26, 1996Matsushita Electric Corporation Of AmericaVariable length data decoder for use with MPEG encoded video dataUS5510840 *May 15, 1995Apr 23, 1996Sony CorporationMethods and devices for encoding and decoding frame signals and recording medium thereforUS5523847 *Oct 9, 1992Jun 4, 1996International Business Machines CorporationDigital image processor for color image compressionUS5552832 *Oct 26, 1994Sep 3, 1996Intel CorporationRun-length encoding sequence for video signalsUS5559557 *Sep 28, 1993Sep 24, 1996Sony CorporationMotion video coding with adaptive precision for DC component coefficient quantization and variable length codingUS5793896 *Mar 23, 1995Aug 11, 1998Intel CorporationOrdering corrector for variable length codesUS5802213 *Oct 18, 1994Sep 1, 1998Intel CorporationEncoding video signals using local quantization levelsEP0283735A2 *Feb 22, 1988Sep 28, 1988Hayes Microcomputer Products, Inc.Adaptive data compression method and apparatusEP0493086A2 *Dec 23, 1991Jul 1, 1992Xerox CorporationData decoding apparatusGB2267410A * Title not available* Cited by examinerNon-Patent CitationsReference1Andy C. Hung, et al, "A Comparison of Fast Inverse Discrete Cosine Transform Algorithms", Multimedia Systems, �1994, pp. 204-217.2 *Andy C. Hung, et al, A Comparison of Fast Inverse Discrete Cosine Transform Algorithms , Multimedia Systems , 1994, pp. 204 217.3Dr. Richard Baker, "Standards Dominate Videoconferencing Implementations", Computer Design, Dec. 1994, pp. 66-70.4 *Dr. Richard Baker, Standards Dominate Videoconferencing Implementations , Computer Design , Dec. 1994, pp. 66 70.5 *ISO/IEC 11172 1, Information Technology Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s Part 1: Systems, Aug. 1, 1993, pp. i vi, 1 53.6 *ISO/IEC 11172 2, Information Technology Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s Part 1: Video, Aug. 1, 1993, pp. i ix, 1 112.7 *ISO/IEC 11172 3, Information Technology Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s Part 1: Audio, Aug. 1, 1993, pp. i vi, 1 150.8ISO/IEC 11172-1, Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s--Part 1: Systems, Aug. 1, 1993, pp. i-vi, 1-53.9ISO/IEC 11172-2, Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s--Part 1: Video, Aug. 1, 1993, pp. i-ix, 1-112.10ISO/IEC 11172-3, Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1,5 Mbit/s--Part 1: Audio, Aug. 1, 1993, pp. i-vi, 1-150.11Kevin L. Gong, et al., "Parallel MPEG-1 Video Encoding", Report, University of California, Berkeley, Computer Science Division, 1994, pp. 1-14.12 *Kevin L. Gong, et al., Parallel MPEG 1 Video Encoding , Report, University of California, Berkeley, Computer Science Division, 1994, pp. 1 14.13Lawrence A. Rowe, et al., "MPEG Video in Software: Representation, Transmission, and Playback," High Speed Networking and Multimedia Computing, Symp. on Elec. Imaging Sci. & Tech., San Jose, CA, Feb., 1994, pp. 1-11.14 *Lawrence A. Rowe, et al., MPEG Video in Software: Representation, Transmission, and Playback, High Speed Networking and Multimedia Computing, Symp. on Elec. Imaging Sci. & Tech. , San Jose, CA, Feb., 1994, pp. 1 11.15P1180/D1, "Draft Standard Specification for the Implementations of 8�8 Inverse Discrete Cosine Transform", May 29, 1990, pp. 1-9.16 *P1180/D1, Draft Standard Specification for the Implementations of 8 8 Inverse Discrete Cosine Transform , May 29, 1990, pp. 1 9.17Peng H. Ang, et al., "Video Compression Makes Big Gains", IEEE Spectrum, Oct. 1991, pp. 16-19.18 *Peng H. Ang, et al., Video Compression Makes Big Gains , IEEE Spectrum , Oct. 1991, pp. 16 19.19Stephen Ohr, "Digital Video Spearheads TV and Videoconferencing Applications", Computer Design, Dec. 1994, pp. 59-64.20 *Stephen Ohr, Digital Video Spearheads TV and Videoconferencing Applications , Computer Design , Dec. 1994, pp. 59 64.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6192073 *Aug 19, 1996Feb 20, 2001Samsung Electronics Co., Ltd.Methods and apparatus for processing video dataUS6529551 *Aug 12, 1997Mar 4, 2003Thomson Licensing S.A.Data efficient quantization table for a digital video signal processorUS6661923 *Feb 26, 1999Dec 9, 2003Sony CorporationCoding device, coding method, decoding device, decoding method, program recording medium and data recording mediumUS6690832 *Oct 26, 2000Feb 10, 2004International Business Machines CorporationMethod, system, and program for decoding compressed data at multiple pointsUS6859562 *Sep 18, 2001Feb 22, 2005Sony CorporationCoded data length detection apparatus, method of the same, and image coding apparatusUS6892343Mar 24, 2001May 10, 2005Board Of Regents Of The University Of NebraskaSystem and method for joint source-channel encoding, with symbol decoding and error correctionUS7042942 *Dec 21, 2001May 9, 2006Intel CorporationZigzag in-order for image/video encoder and decoderUS7190724 *Dec 13, 2002Mar 13, 2007Seiko Epson CorporationMethod and apparatus for transform domain video processingUS7224840 *Apr 23, 2002May 29, 2007International Business Machines CorporationMethod, system, and program for error recovery while decoding compressed dataUS7336835Aug 2, 2004Feb 26, 2008International Business Machines CorporationMethod, system, and program product of error recovery while decoding cached compressed dataUS7336836Aug 2, 2004Feb 26, 2008International Business Machines CorporationMethod, system, and program product for error recovery while transmitting and decoding compressed dataUS7366236 *Jun 4, 2001Apr 29, 2008Cisco Sytems Canada Co.Source adaptive system and method for 2D iDCTUS7463775 *May 18, 2004Dec 9, 2008Adobe Systems IncorporatedEstimating compressed storage size of digital dataUS7489823Jun 13, 2005Feb 10, 2009International Business Machines CorporationMethod for using a reentry data set to decode compressed dataUS7606304Jan 18, 2007Oct 20, 2009Seiko Epson CorporationMethod and apparatus for memory efficient compressed domain video processingUS7656949Jun 27, 2001Feb 2, 2010Cisco Technology, Inc.Methods and apparatus for performing efficient inverse transform operationsUS7844999 *Mar 1, 2005Nov 30, 2010Arcsight, Inc.Message parsing in a network security systemUS7884742Jun 8, 2006Feb 8, 2011Nvidia CorporationSystem and method for efficient compression of digital dataUS8311124Jul 6, 2009Nov 13, 2012Industrial Technology Research InstituteDecoding method and apparatusUS8502709Sep 17, 2007Aug 6, 2013Nvidia CorporationDecoding variable length codes in media applicationsUS8593469Mar 29, 2006Nov 26, 2013Nvidia CorporationMethod and circuit for efficient caching of reference video dataUS8599841 *Mar 28, 2006Dec 3, 2013Nvidia CorporationMulti-format bitstream decoding engineUS8819525Jun 14, 2012Aug 26, 2014Google Inc.Error concealment guided robustnessUS8849051Sep 17, 2007Sep 30, 2014Nvidia CorporationDecoding variable length codes in JPEG applicationsUS8913667 *Apr 1, 2003Dec 16, 2014Broadcom CorporationVideo decoding system having a programmable variable-length decoderUS20050018773 *Oct 25, 2002Jan 27, 2005Van Der Vleuten Renatus JosephusBit plane compression methodUSRE43231May 10, 2007Mar 6, 2012Board Of Regents Of The University Of NebraskaSystem and method for joint source-channel encoding, with symbol, decoding and error correction* Cited by examinerClassifications U.S. Classification382/233, 375/E07.226, 375/E07.144, 375/E07.231, 375/E07.211, 382/246, 375/E07.028, 375/E07.213International ClassificationH04N7/26, H04N7/50, H03M7/42, H04N7/30Cooperative ClassificationH04N19/13, H04N19/60, H04N19/61, H04N19/45, H04N19/91, H03M7/425European ClassificationH04N7/26A4V, H04N7/30E2, H04N7/26D2, H04N7/50E2, H04N7/50, H04N7/30, H03M7/42DLegal EventsDateCodeEventDescriptionJul 16, 2003REMIMaintenance fee reminder mailedDec 29, 2003LAPSLapse for failure to pay maintenance feesFeb 24, 2004FPExpired due to failure to pay maintenance feeEffective date: 20031228RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services