EP0963625A2 - Reception de donnees de longueur variable et codees par longueur de ligne - Google Patents
Reception de donnees de longueur variable et codees par longueur de ligneInfo
- Publication number
- EP0963625A2 EP0963625A2 EP98957098A EP98957098A EP0963625A2 EP 0963625 A2 EP0963625 A2 EP 0963625A2 EP 98957098 A EP98957098 A EP 98957098A EP 98957098 A EP98957098 A EP 98957098A EP 0963625 A2 EP0963625 A2 EP 0963625A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- run
- length
- variable
- rvp
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Definitions
- variable and run-length encoded data may be, for example, video information which has been encoded in accordance with a Moving Pictures Expert Group (MPEG) standard.
- MPEG Moving Pictures Expert Group
- the document ISO/TEC 13818-2 describes decoding steps for MPEG-2 encoded video. These steps include, amongst others, variable-length decoding, run-length decoding, inverse zig-zag scanning, inverse quantization and inverse discrete cosine transform.
- the variable-length decoding is typically the first decoding step which is carried out. It derives a series of run-value pairs from the MPEG-2 encoded video.
- a run-value pair comprises a coefficient value and a run length indicating a number of zero coefficients which precede the coefficient value.
- the run length is used along with certain control signals to determine the correct position of the coefficient value within an 8-by-8 block of coefficients.
- the 8-by-8 block of coefficients is inversely zig-zag scanned and inversely quantized, before the inverse discrete cosine transform is carried out.
- the 8-by-8 block of coefficients thus transformed is further processed to obtain a decoded data stream comprising pixel values for pictures to be displayed.
- variable-length decoder decodes variable and run-length encoded data in a regular manner
- the variable-length decoder will provide run-value pairs in an irregular manner.
- run-value pairs are represented by respective codes which do not have a fixed size in terms of number of bits.
- a run-value pair will contribute to the decoded data stream by a number of bits which is not fixed either.
- the decoded data stream is to have a constant bit rate, one or more buffer memories are required to absorb, as it were, non-synchroneity between various types of data.
- clock cycles being synchronous with the decoded data stream are generated and, with each run-value pair having a run length unequal to zero, the variable-length decoder is stalled for a number of clock cycles, the number of clock cycles being proportional to the number of zero coefficients indicated by the run length.
- the run-value pairs are effectively synchronized with the decoded data stream. Consequently, the run-value pairs can be processed in a regular manner to obtain the decoded data stream.
- processing steps subsequent to the variable-length decoding require a relatively small amount of buffer memory only, or even no buffer memory at all. Consequently, the invention allows cost-efficient implementations.
- Fig. 1 illustrates basic features of the invention
- Fig. 2 illustrates an additional feature which may be optionally used to implement the invention to advantage
- Figs 3 illustrates an example of a receiver in accordance with the invention.
- Fig. 1 illustrates basic features of the invention.
- a variable-length decoder VLD derives run-value pairs RVP from variable and run-length encoded data ED.
- a run-value pair RVP comprises a coefficient value CV and a run length RL.
- the run length RL indicates a number N of zero coefficients 0 which precede the coefficient value CV, N being an integer.
- a processing circuit PRC processes the run-value pairs RVP to obtain a decoded data stream DD.
- the processing circuit PRC comprises a clock circuit CLC and a control circuit CON.
- the clock circuit CLC generates clock cycles CC which are synchronous with the decoded data stream DD.
- the number N of clock cycles is proportional to the number N of zero coefficients indicated by the run length RL.
- Fig. 2 illustrates an additional feature which may be optionally used to implement the invention to advantage.
- the processing circuit PRC comprises a selector SEL having a first and a second input II, 12.
- the first input II receives respective coefficient values CV from the variable-length decoder VLD.
- the second input 12 receives a zero-coefficient value 0.
- the selector SEL will provide a data stream which comprises coefficient values and, in between these coefficient values, a number of zero coefficients as indicated by the run length.
- the run-length decoding is achieved without using a memory for this purpose. Consequently, the Fig. 2 feature contributes to cost-efficient implementations.
- Fig. 3 illustrates an example of a receiver for MPEG-encoded data in accordance with the invention.
- the Fig. 3 receiver includes the features described hereinbefore with reference to Figs. 1 and 2.
- the Fig. 3 receiver includes an input memory INP in which received MPEG-encoded data is temporarily stored.
- the control circuit CON of the Fig. 3 receiver comprises a counter CNT.
- the processing circuit PRC of the Fig. 3 receiver includes an inverse quantizer IQ, a quantization matrix QMX, a block memory BLM, an address generator ADG, and an inverse discrete cosine transformer IDCT.
- Other processing elements which are needed to decode MPEG-encoded data such as a motion compensator, are not shown.
- the Fig. 3 receiver operates as follows.
- the variable-length decoder VLD decodes variable-length code words comprised in the MPEG-encoded data ED so as to obtain the run- value pairs RVP.
- the run-length RL of a run- value pair RVP is loaded into the counter CNT.
- the run-length RL is equal to the number N of zero coefficients which precedes the coefficient value CV of the run-value pair.
- the counter CNT starts from the run-length RL, the counter CNT counts down one unit for every clock cycle CC it receives from the clock generator CLC. During the countdown, the counter CNT provides a control signal PAUSE which produces two effects.
- variable-length decoder VLD is stalled so as to prevent it from supplying a new coefficient value to the selector SEL.
- the selector SEL is switched to effectively provide a zero coefficient at each clock cycle during the countdown. The countdown continues until the contents of the counter CNT are zero.
- the selector SEL is switched to provide the coefficient value CV belonging to the run- value pair, the run length of which was counted down.
- the counter CNT is loaded with the run length of the next run- value pair and the above-described process is repeated.
- run-length decoding is achieved by effectively stuffing zeroes into a processing pipeline.
- Run-length decoded data LD provided by the selector SEL is passed through the inverse quantizer IQ and then stored in the block memory BLM in a synchronous manner. That is, every clock cycle CC, a new inversely quantized coefficient is supplied to the block memory BLM.
- the address generator ADG provides a new address every clock cycle CC.
- the addresses provided by the address generator ADG follow a certain cyclic pattern so as to implement an inverse zig-zag scan.
- the addresses are also used for reading out inverse quantization coefficients from the inverse quantization matrix QMX.
- the inverse quantizer IQ multiplies a non-zero coefficient in the run-length decoded data LD by the inverse quantization coefficient read out from inverse quantization matrix QMX.
- the inverse quantizer IQ simply passes non-zero coefficients in the run-length decoded data LD to the block memory BLM.
- the run length RL comprised in each run-value pair RVP is used to stall the variable-length decoder VLD allowing it to be synchronous with a sequential coefficient processing in the processing circuit PRC.
- a buffer memory between the variable-length decoder VLD and the inverse quantizer IQ is not required.
- most practical inverse discrete cosine transformers inherently include a block memory.
- the block memory BLM should effectively be considered as being a part of the inverse discrete cosine transformer IDCT.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Dans un récepteur, un décodeur de longueur variable extrait des paires de valeurs de ligne de données de longueur variable et codées par longueur de ligne telles que, par exemple, des données codées MPEG. Une paire de valeur de ligne comprend une valeur de coefficient et une longueur de ligne. La longueur de ligne indique un nombre (N) de coefficients zéro (0) qui précèdent la valeur de coefficient, N étant un nombre entier. Un circuit de traitement traite les paires de valeur de ligne pour obtenir un flux de données décodées. Ce circuit de traitement comprend un circuit d'horloge et un circuit de commande. Le circuit d'horloge génère des cycles d'horloge qui sont synchrones au flux de données décodées. Avec chaque paire de valeur de ligne ayant une longueur de ligne non égale à zéro, le circuit de commande retarde le décodeur de longueur variable d'un nombre (N) de cycles d'horloge. Le nombre (N) de cycles d'horloge est proportionnel au nombre (N) de coefficients zéro indiqué par la longueur de ligne. Dans ce type de récepteur, le circuit de traitement ne nécessite que relativement peu de mémoire tampon, ce qui permet des mises en application peu coûteuses.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US67197A | 1997-12-30 | 1997-12-30 | |
| US671 | 1997-12-30 | ||
| PCT/IB1998/002040 WO1999035749A2 (fr) | 1997-12-30 | 1998-12-14 | Reception de donnees de longueur variable et codees par longueur de ligne |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP0963625A2 true EP0963625A2 (fr) | 1999-12-15 |
Family
ID=21692536
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP98957098A Withdrawn EP0963625A2 (fr) | 1997-12-30 | 1998-12-14 | Reception de donnees de longueur variable et codees par longueur de ligne |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0963625A2 (fr) |
| JP (1) | JP2001515685A (fr) |
| CN (1) | CN1252907A (fr) |
| WO (1) | WO1999035749A2 (fr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006295796A (ja) * | 2005-04-14 | 2006-10-26 | Nec Electronics Corp | 画像データ復号装置及び画像データ復号方法 |
| US20150208127A1 (en) * | 2013-03-15 | 2015-07-23 | Google Inc. | Matching television and movie data from multiple sources and assigning global identification |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5055841A (en) * | 1991-02-01 | 1991-10-08 | Bell Communications Research, Inc. | High-speed feedforward variable word length decoder |
| GB2260458B (en) * | 1991-10-04 | 1995-03-22 | Sony Broadcast & Communication | Data decoder |
| US5233348A (en) * | 1992-03-26 | 1993-08-03 | General Instrument Corporation | Variable length code word decoder for use in digital communication systems |
| KR0141875B1 (ko) * | 1994-11-30 | 1998-06-15 | 배순훈 | 줄길이복호화기 |
-
1998
- 1998-12-14 EP EP98957098A patent/EP0963625A2/fr not_active Withdrawn
- 1998-12-14 WO PCT/IB1998/002040 patent/WO1999035749A2/fr not_active Ceased
- 1998-12-14 CN CN 98804416 patent/CN1252907A/zh active Pending
- 1998-12-14 JP JP53587099A patent/JP2001515685A/ja active Pending
Non-Patent Citations (1)
| Title |
|---|
| See references of WO9935749A3 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1999035749A2 (fr) | 1999-07-15 |
| WO1999035749A3 (fr) | 1999-09-16 |
| CN1252907A (zh) | 2000-05-10 |
| JP2001515685A (ja) | 2001-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2130479C (fr) | Recepteur de tvhd a definition plus basse | |
| KR100188427B1 (ko) | 디지탈 통신시스템용 가변길이 코드워드디코더 및 그 디코딩 방법 | |
| US6263019B1 (en) | Variable rate MPEG-2 video syntax processor | |
| CA2151023A1 (fr) | Methode de codage-decodage de flots de donnees | |
| EP0925555B1 (fr) | Decodeur longueur variable a double vitesse et architecture de decodage pour donnees video mpeg-2 | |
| US6285789B1 (en) | Variable length code decoder for MPEG | |
| US6298087B1 (en) | System and method for decoding a variable length code digital signal | |
| EP1292152B1 (fr) | Dispositif et procede de traitement d'image | |
| EP0576131B1 (fr) | Décodage de données sérielles | |
| US5973744A (en) | Apparatus for decoding video data | |
| US6829303B1 (en) | Methods and apparatus for decoding images using dedicated hardware circuitry and a programmable processor | |
| US5479209A (en) | Preprocessor for moving picture encoding | |
| US20030128764A1 (en) | Method of decoding coded video signals | |
| KR20240049359A (ko) | 비디오 코딩에서 파면 병렬 프로세싱에 사용되는 히스토리 기반한 라이스 파라미터 유도 | |
| US6618440B1 (en) | Burst mode memory fetches when decoding compressed image data | |
| EP0963625A2 (fr) | Reception de donnees de longueur variable et codees par longueur de ligne | |
| US6512852B1 (en) | Method and apparatus for concatenating bits of odd-length words | |
| US5666115A (en) | Shifter stage for variable-length digital code decoder | |
| US20070073795A1 (en) | Method and apparatus for calculating an inverse dct | |
| US6025876A (en) | Data stream decoding device | |
| US20020009140A1 (en) | Method of encoding video signals | |
| KR100233538B1 (ko) | 런-레벨심볼 복호화방법 및 장치 | |
| KR100487363B1 (ko) | 엠펙비디오디코더의전처리장치및이를활용한간이형비디오디코더 | |
| KR100197364B1 (ko) | 영상 신호 부호화 시스템에서의 적응적 벡터 양자화장치 | |
| US20060222247A1 (en) | Hardware implementation of inverse scan for a plurality of standards |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 19990930 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Withdrawal date: 20000313 |