KR20000021048A - Variable length coding table structure and method for coding variable length using the same - Google Patents

Variable length coding table structure and method for coding variable length using the same Download PDF

Info

Publication number
KR20000021048A
KR20000021048A KR1019980039969A KR19980039969A KR20000021048A KR 20000021048 A KR20000021048 A KR 20000021048A KR 1019980039969 A KR1019980039969 A KR 1019980039969A KR 19980039969 A KR19980039969 A KR 19980039969A KR 20000021048 A KR20000021048 A KR 20000021048A
Authority
KR
South Korea
Prior art keywords
variable length
value
code
coding table
values
Prior art date
Application number
KR1019980039969A
Other languages
Korean (ko)
Other versions
KR100565707B1 (en
Inventor
이의원
Original Assignee
구자홍
엘지전자 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자 주식회사 filed Critical 구자홍
Priority to KR1019980039969A priority Critical patent/KR100565707B1/en
Publication of KR20000021048A publication Critical patent/KR20000021048A/en
Application granted granted Critical
Publication of KR100565707B1 publication Critical patent/KR100565707B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1887Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/439Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A method for coding variable length using a variable length coding table is provided to process coding of a variable length coder of an MPEG2 encoder at a high speed in real time by reading and outputting a variable length code. CONSTITUTION: A rearranged variable length coding table enables variable length code values corresponding to index values to be instantly outputted through a conversion of quantized input data values into indexing values(500). A final output is a code and a length. A variable length code is the same value, but the length is different, so the variable length code is not indicated with only the value. Therefore, the length of the code is outputted together. Input data to be coded are values which are sequentially stored in a memory and outputted from the memory.

Description

가변길이 부호화 테이블 구조 및 이 것을 이용한 가변길이 부호화 방법Variable length coding table structure and variable length coding method using the same

본 발명은 MPEG2엔코더(부호화기)에서 가변길이 부호화기(Variable Length Coder)의 실시간 처리 방법에 관한 것으로서 특히 가변길이 부호화기의 테이블을 재배열하고 이 재배열된 테이블을 이용해서 입력 데이타를 가변길이 부호화하며, 데이타를 처리하는 순서를 종래의 지그재그 스캔에서 순차적 스캔으로 실행함으로써 고속의 데이타 처리를 가능하게 한 가변길이 부호화 테이블의 구조와 이 것을 이용한 가변길이 부호화 방법에 관한 것이다.The present invention relates to a real-time processing method of a variable length coder (Variable Length Coder) in the MPEG2 encoder (encoder), in particular to rearrange the table of the variable length coder and variable length encoding the input data using the rearranged table, The present invention relates to a structure of a variable length coding table that enables high-speed data processing by executing a sequential scan in a conventional zigzag scan and a variable length coding method using the same.

MPEG2 부호화기를 구현하는 방법은 여러가지가 있지만 그 중에서 대표적인 방법은 하드와이어 로직(hardwire logic)을 이용해서 ASIC을 하는 것이다.There are many ways to implement an MPEG-2 encoder, but one of the typical methods is to perform ASIC using hardwire logic.

이 방법의 장점은 사용목적에 적합하게 콤팩트하게 설계할 수 있고 게이트 수가 다른 방법에 비하여 적게 든다는 점이나, ASIC설계나 스펙이 잘못되었을 때에 이 것을 수정하기 어렵고 비용이 많이 든다는 단점도 있다.The advantages of this method are that it can be designed compactly for the purpose of use, and the number of gates is lower than other methods, but it is difficult and expensive to correct when the ASIC design or specification is wrong.

MPEG2 부호화기를 구현하는 다른 방법으로는 계산시간이 많이 소요되는 것 들 즉, DCT나 움직임 보상(motion estimation) 등은 하드와이어 로직으로 구현하고 나머지는 디지탈 신호 처리기로 설계하는 방법인데, 이 방법의 장점은 ASIC설계나 스펙이 잘못 되었을 때에 수정하기 쉽고 비용이 거의 들지 않으며 다음에 이 IC를 업그레이드(upgrade)하는 것이 용이하다는 점이나, 디지탈 신호 처리기가 범용이기 때문에 게이트의 수가 많아지고 또 실시간 처리가 어렵다는 단점이 있다.Other methods of implementing the MPEG2 coder are those that require a lot of computation time, such as DCT or motion estimation, which are implemented in hardwired logic, and the rest are designed with a digital signal processor. It is easy to fix when the ASIC design or specification goes wrong, it is very inexpensive, and it is easy to upgrade the IC next time.However, because the digital signal processor is general purpose, the number of gates and the real-time processing are difficult. There are disadvantages.

도1은 종래의 MPEG2 부호화기의 블럭 구성도로서, 입력 디지탈 영상 데이타를 DCT변환하는 DCT부(101)와, DCT변환된 계수값들을 양자화하는 양자화부(102)와, 양자화된 데이타를 가변길이 부호화하는 가변길이 부호화기(103)와, 가변길이 부호화된 영상 데이타 스트림 출력을 위한 버퍼(104)와, 상기 양자화를 위한 비트 레이트(bit rate)를 조절하는 비트 레이트 제어부(105)와, 상기 양자화된 데이타를 역양자화하는 역양자화부(106)와, 상기 역양자화된 데이타를 역DCT처리하는 역DCT부(107)와, 상기 역DCT처리된 데이타를 저장하는 프레임 메모리(108)와, 상기 메모리된 데이타의 움직임 추정과 보상을 각각 수행하기 위한 움직임 추정부(109) 및 움직임 보상부(110)를 포함하고 있다.1 is a block diagram of a conventional MPEG2 encoder, which includes a DCT unit 101 for DCT transforming input digital image data, a quantizer 102 for quantizing DCT transformed coefficient values, and variable length encoding of quantized data. A variable length encoder 103, a buffer 104 for outputting a variable length coded image data stream, a bit rate controller 105 for adjusting a bit rate for the quantization, and the quantized data An inverse quantization unit 106 for inverse quantization, an inverse DCT unit 107 for inverse DCT processing the inverse quantized data, a frame memory 108 for storing the inverse DCT processed data, and the stored data And a motion estimator 109 and a motion compensator 110 for respectively performing motion estimation and compensation.

디지탈 영상 입력신호(input picture)와 이전의 영상신호의 움직임 추정된 움직임 추정부(109) 출력과의 차이(predictor error)를 DCT부(101)에서 이산코사인변환(DCT)하고 양자화부(102)에서 비트 레이트 제어부(105)의 제어를 받아 양자화한 다음 가변길이 부호화기(103)에 입력한다.The DCT unit 101 performs a discrete cosine transform (DCT) on the difference between the digital video input signal and the output of the motion estimation unit 109 of the previous video signal. Is quantized under the control of the bit rate control unit 105 and input to the variable length encoder 103.

가변길이 부호화기(103)는 소스(source)데이타의 엔트로피에 근접하도록 하기위한 노이즈레스(noiseless)코딩인 허프만 코딩(Huffamn Coding)과 런렝쓰 코딩(Run Length Coding)을 이용해서 상기 양자화된 DCT계수(coefficient)를 압축하여 버퍼(104)를 통해 영상 데이타 스트림(MPEG2 Video Bitsream)으로 출력한다.The variable length encoder 103 uses Huffman Coding and Run Length Coding, which are noiseless coding for approaching the entropy of source data, to form the quantized DCT coefficient ( The coefficients are compressed and output as a video data stream (MPEG2 Video Bitsream) through the buffer 104.

한편, 상기 양자화된 신호는 다시 역양자화부(107)에서 역양자화하고 역DCT부(107)에서 역DCT변환하여 프레임 메모리(108)에 저장한다.Meanwhile, the quantized signal is inversely quantized by the inverse quantization unit 107, inversely transformed by the inverse DCT unit 107, and stored in the frame memory 108.

프레임 메모리(108)에 저장된 데이타와 입력 디지탈 영상데이타를 이용해서 움직임 벡터(motion vector)를 만들어 내고 이 것을 이용해서 움직임 보상부(110)에서 움직임 보상을 수행하여, 움직임 보상된 데이타와 입력 영상데이타의 차이를 구하여 상기 DCT부(101)에 입력한다.A motion vector is generated using data stored in the frame memory 108 and input digital image data, and motion compensation is performed by the motion compensator 110 using the motion compensation data. The difference between the two is obtained and input to the DCT unit 101.

이러한 일련의 동작이 수행되어 입력 디지탈 영상 데이타를 MPEG2 부호화하게 되는데, 이와같이 디지탈 신호 처리기를 이용해서 가변길이 부호화기를 구현할 때 가장 큰 문제가 되는 것은 실시간으로 처리가 가능한가 하는 점이다.This series of operations is performed to MPEG-2 encode the input digital image data. The biggest problem in implementing a variable length encoder using a digital signal processor is whether the data can be processed in real time.

상기 가변길이 부호화는 DCT계수를 MPEG2에서 허프만 코딩과 런렝쓰 코딩을 이용해서 미리 만들어 놓은 코드워드(code word)에 맵핑(mapping)시키는 것이다.The variable length coding is to map a DCT coefficient to a code word previously prepared using Huffman coding and run length coding in MPEG2.

그런데 입력되는 영상 데이타의 형식(input video data format)이 4:2:0 일 때 가변길이 부호화기가 처리해야 하는 데이타의 수는 영상 데이타의 화소수의 1.5배로서, 예를 들면 영상 데이타의 레졸루션(resolution)이 720×480 이라면 720×480×1.5 = 518440 이 된다.However, when the input video data format is 4: 2: 0, the number of data to be processed by the variable length encoder is 1.5 times the number of pixels of the image data, for example, the resolution of the image data ( If the resolution is 720 × 480, then 720 × 480 × 1.5 = 518440.

가변 길이 부호화기는 NTSC신호일 경우 33.33msec 동안 518440 의 데이타를 처리해야 한다.In case of NTSC signal, variable length encoder must process 518440 data for 33.33msec.

따라서 1화소에 대하여 약 64nsec 정도의 처리시간이 주어지고, 이 시간은 디지탈 신호처리기가 처리하기에는 매우 짧은 시간이 되어 실시간 처리를 어렵게 하고 또 데이타의 입출력단에서 병목 현상이 초래되어 시스템 성능을 저하시키게 된다.Therefore, a processing time of about 64 nsec is given to one pixel, which is a very short time for the digital signal processor to process, making it difficult to process in real time and causing bottlenecks at the input / output stages of data, thereby degrading system performance. do.

즉, 종래의 MPEG2 가변길이 부호화 테이블을 그대로 이용해서 가변길이 부호화기를 구현하게 되면 디지탈 신호 처리기의 코딩이 복잡해지고 또 실행속도도 낮아지게 된다.That is, if the variable length encoder is implemented using the conventional MPEG2 variable length coding table as it is, the coding of the digital signal processor becomes complicated and the execution speed is also lowered.

한편, MPEG2 규격에서 매크로 블럭(macro block)중의 블럭 데이타(MPEG에서는 데이타를 계층적 구조로 구성하는데 1매크로 블럭은 4개의 블럭으로 이루어져 있다)를 처리하는 순서는 도2a와 같은 지그재그(zig zag)순서나 얼터너티브(alternative) 순서로 규정되어 있다.On the other hand, in the MPEG2 standard, the order of processing block data in a macro block (in MPEG, the data is organized in a hierarchical structure, one macro block is composed of four blocks) is shown in FIG. 2A. It is specified in order or alternative order.

즉, DCT를 수행한 후 데이타가 DC성분으로 많이 몰리게 되므로 지그재그 스캐닝 순서로 가변 부호화를 수행하게 되면 더욱 많은 양의 데이타를 압축할 수 있기 때문이다.That is, since the data is crowded into the DC component after the DCT, variable coding in the zigzag scanning order can compress a larger amount of data.

그러나 지그재그 스캐닝은 디지탈 신호 처리기를 이용해서 가변길이 부호화를 수행할 때 많은 문제를 야기 시킨다.However, zigzag scanning introduces many problems when performing variable length coding using a digital signal processor.

즉, DCT를 수행한 후 데이타의 길이는 16비트인데 디지탈 신호 처리기는 수행 속도를 높이기 위하여 한꺼번에 많은 양의 데이타를 읽을 수 있어야 하지만, 도2a와 같이 지그재그 스캐닝으로 데이타가 저장되어 있으면 이 것이 불가능하므로 고속 실시간 처리를 어렵게 하였다.That is, after performing DCT, the data length is 16 bits, but the digital signal processor should be able to read a large amount of data at once to speed up the execution. However, if the data is stored by zigzag scanning as shown in FIG. High speed real time processing was difficult.

본 발명은 디지탈 신호 처리기를 이용해서 MPEG2 엔코더의 가변길이 부호화를 수행할 때 실시간 고속 처리가 가능하도록 한 가변길이 부호화 테이블 구조 및 이 것을 이용한 가변길이 부호화 방법을 제공한다.The present invention provides a variable length encoding table structure that enables real-time high-speed processing when performing variable length encoding of an MPEG2 encoder using a digital signal processor, and a variable length encoding method using the same.

본 발명은 기존의 가변길이 부호화 테이블을 입력되는 코드의 순서에 의하여 '0'부터 일정한 값까지 배치하여 인덱싱 처리한 새로운 재배치된 가변길이 부호화 테이블구조를 가지고 입력 데이타를 이 재배치된 가변길이 부호화 테이블에 의해서 부호화함으로써 실시간 가변길이 부호화 처리를 가능하게 하는 방법을 제공한다.The present invention has a new relocated variable length encoding table structure in which an existing variable length encoding table is indexed by arranging an existing variable length encoding table from '0' to a constant value according to the order of input codes. The present invention provides a method for enabling real-time variable length encoding processing by encoding by means of encoding.

또한 본 발명은 DCT부에서 DCT를 수행한 후 출력 데이타를 블럭(Block)단위에서 저장할 때의 순서를 지그재그 스캐닝 순서로 저장하지 않고 순차적 순서로 저장하여 한번에 다량의 데이타를 묶음으로 읽어내서 처리할 수 있도록 함으로써 고속 실시간 처리가 가능하도록 한 가변길이 부호화 테이블 구조 및 이 것을 이용한 가변길이 부호화 방법을 제공한다.In addition, the present invention, after performing the DCT in the DCT unit can be stored in a sequential order to store the output data in the block unit in a zigzag scanning order to read and process a large amount of data in a bundle at a time A variable length coding table structure and a variable length coding method using the same are provided.

도1은 MPEG2 부호화기의 블럭 구성도1 is a block diagram of an MPEG2 encoder

도2a는 종래의 부호화기에서 지그재그 스캔을 나타낸 도면2A is a diagram illustrating a zigzag scan in a conventional encoder.

도2b는 본 발명의 부호화기에서 순차적 스캔을 나타낸 도면2b illustrates a sequential scan in the encoder of the present invention.

도3은 본 발명에 의한 가변길이 부호화기의 블럭 구성도3 is a block diagram of a variable length coder according to the present invention.

도4는 본 발명을 적용할 가변길이 부호화기 테이블 구조의 일예를 나타낸 도면4 is a diagram illustrating an example of a variable length encoder table structure to which the present invention is applied.

도5는 본 발명에 의해서 재배열된 가변길이 부호화기 테이블 구조의 일예를 나타낸 도면5 is a diagram illustrating an example of a structure of a variable length encoder table rearranged according to the present invention.

도3은 본 발명에 의한 가변길이 부호화기의 블럭 구성도로서 DCT 및 양자화부(301)에서 양자화 처리된 DCT계수를 지그재그 스캐닝 변환부(302)에서 지그재그 스캐닝한 순서대로 변환 저장하고 이 것을 재배열된 가변길이 부호화 테이블을 포함하는 가변길이 부호화기(303)에서 부호화하는 구성이다.3 is a block diagram of a variable length encoder according to the present invention. The DCT coefficients quantized by the DCT and the quantization unit 301 are transformed and stored in the order of the zigzag scanning by the zigzag scanning conversion unit 302 and rearranged them. The variable length encoder 303 including the variable length coding table encodes.

도4는 본 발명의 재배열된 가변길이 부호화 테이블의 일예를 설명하기 위한 기존의 가변길이 부호화 테이블의 일예로서 B픽쳐에 대한 가변길이 부호화 테이블을 나타내며, 도5는 도4의 B픽쳐에 대한 가변길이 부호화 테이블을 재배열하여 구성한 본 발명의 가변길이 부호화 테이블을 나타내고 있다.FIG. 4 illustrates a variable length coding table for B picture as an example of a conventional variable length coding table for explaining an example of a rearranged variable length coding table of the present invention, and FIG. 5 shows a variable length coding table for B picture of FIG. The variable length coding table of the present invention configured by rearranging the length coding table is shown.

본 발명의 가변길이 부호화 테이블의 구성 방법과 이 것을 이용한 가변길이 부호화 방법을 설명하면 다음과 같다.The construction method of the variable length coding table and the variable length coding method using the same will be described as follows.

도3에서 설명한 바와같이 DCT 및 양자화 처리된 입력 데이타에 대한 가변길이 부호화 테이블의 구조가 도4와 같다고 하면 입력 코드워드(400)를 그 코드워드값으로 인덱싱(indexing)하여 도5와 같이 인덱스값(500)으로 재배열하고 각각에 해당하는 가변길이코드값(VLC code) 맵핑시켜서 가변길이 부호화 테이블을 '0'부터 일정한 값(도5에서는 '0'부터 '31')까지 배치하고 중간중간에 없는 값이 없도록 만든다(즉 VLC code = 0 으로 만든다).If the structure of the variable-length coding table for the DCT and quantized input data as shown in FIG. 3 is the same as that of FIG. 4, the input codeword 400 is indexed to the codeword value and the index value as shown in FIG. Rearrange them to 500 and map the corresponding variable length code values (VLC codes) to arrange the variable length coding table from '0' to a constant value ('0' to '31' in FIG. 5). Make sure there are no missing values (ie make VLC code = 0).

도4에서 보는 바와같이 Intra type 매크로 블럭(401)의 가변길이 코드는 '00011'이고 각 플래그(400)들의 값을 합치면 '1'이 되어 도5와 같이 인덱스된 값(501)=1에 배열될 것이고, 도4에서 Intra,Quant type 매크로 블럭(402)의 가변길이 코드는 '000001'이고 각 플래그(400)들의 값을 합치면 '17'이 되어 도5와 같이 인덱스된 값(502)=17에 배열될 것이다.As shown in FIG. 4, the variable length code of the Intra type macro block 401 is '00011', and when the values of the respective flags 400 are combined, the value becomes '1' and is arranged at the indexed value 501 = 1 as shown in FIG. 5. In FIG. 4, the variable length code of the Intra, Quant type macro block 402 is '000001', and the sum of the values of the respective flags 400 becomes '17', thereby indexing the value 502 = 17 as shown in FIG. Will be arranged at.

이러한 방법으로 나머지 데이타들에 대해서도 인덱싱을 수행하면 도4의 기존 가변길이 부호화 테이블은 도5와 같이 재배열된다.When indexing is performed on the remaining data in this manner, the existing variable length encoding table of FIG. 4 is rearranged as shown in FIG.

도5와 같이 재배열된 가변길이 부호화 테이블은 결국 DCT 및 양자화된 입력 데이타값(400)을 인덱싱값(500)으로 변환하는 단계만 거치면 곧바로 해당 인덱스값에 대응하는 가변길이 코드값(VLC code)으로 즉각적으로 출력시킬 수 있게한다.As shown in FIG. 5, the rearranged variable length coding table immediately undergoes a step of converting the DCT and the quantized input data value 400 into the indexing value 500, and then the variable length code value (VLC code) corresponding to the corresponding index value. To print immediately.

이때 최종적인 출력은 코드(code)와 길이(length)로 나오게 되며 이 것은 가변길이 코드는 값은 같으나 보통 길이가 다르므로 값으로만 표현되지 않고 코드의길이도 같이 출력되어야 하기 때문이다.In this case, the final output comes out as a code and a length. This is because variable length codes have the same value but usually have different lengths, so the length of the code must be output as well.

한편, 상기의 재배열된 가변길이 부호화 테이블에 의해서 부호화될 입력 데이타는 이미 설명한 바와같이 지그재그 스캐닝 순서를 순차적으로 메모리에 저장하여 출력되는 값들이다.On the other hand, the input data to be encoded by the rearranged variable-length encoding table are values that are sequentially stored in the memory in a zigzag scanning order and output as described above.

즉, 도3의 스캐닝 변환부(302)에서, DCT를 행한 후 데이타를 저장할 때 상기 도2a 와 같이 지그재그 스캐닝 순서로 저장하지 않고 도2b와 같이 순차적으로 저장한다.That is, in the scanning conversion unit 302 of FIG. 3, when data is stored after DCT, the data is sequentially stored as shown in FIG. 2B without storing the data in the zigzag scanning order as shown in FIG. 2A.

이렇게 하면 본 발명의 재배열된 부호화 테이블을 가지는 가변길이 부호화기(303)에서는 한꺼번에 몇개의 데이타를 동시에 읽을 수 있기 때문에 수행속도를 높일 수 있다.In this case, the variable length encoder 303 having the rearranged encoding table of the present invention can read several data at the same time, thereby increasing the execution speed.

물론 이때 블럭에 쓰여지는 데이타의 순서는 도2b와 같이 순차적으로 쓰지만 그 실제 내용은 도2a의 지그재그 순서를 그대로 유지하므로 블럭의 데이타를 메모리에서 읽을 때 순차적으로 데이타를 읽는다면 지그재그 순서로 읽어내는 것과 동일하게 되어 신호처리에는 전혀 문제가 없게 된다.Of course, the order of data to be written to the block is written sequentially as shown in FIG. 2B, but the actual content is maintained in the zigzag order of FIG. 2A. Therefore, if the data of the block is read sequentially from the memory, the data is read in zigzag order. Being the same, there is no problem in signal processing.

본 발명에서는 기존의 가변길이 부호화 테이블을 인덱싱하여 순서대로 배열한 것에 가변길이 부호를 대응시켜 놓은 재배열된 가변길이 부호화 테이블을 구비하고, 입력값을 인덱스값으로 변환하여 그 인덱스값에 해당하는 가변길이 코드를 즉각적으로 읽어서 출력할 수 있도록 함으로써 MPEG2 엔코더의 가변길이 부호화기가 부호화를 실시간 고속 처리할 수 있다.The present invention includes a rearranged variable length coding table in which a variable length code is mapped to an existing variable length coding table indexed and arranged in order. The present invention converts an input value into an index value and converts the variable to an index value. By allowing the length code to be immediately read and output, the variable length encoder of the MPEG2 encoder can perform encoding in real time and high speed.

또한 본 발명에서는 기존에는 가변길이 부호화기가 지그재그 스캐닝 순서로 데이타를 읽어내던 것을 순차적으로 메모리에 저장해놓고 한번에 여러개의 데이타를 읽어낼 수 있도록 함으로써 MPEG2 엔코더의 가변길이 부호화를 고속 실시간 처리할 수 있다.In the present invention, the variable length encoder can store the data read out in the zigzag scanning order sequentially in the memory and read out several data at a time, thereby enabling high-speed real-time processing of the variable length coding of the MPEG2 encoder.

Claims (4)

블럭 단위로 데이타를 입력받아 데이타 변환(transform)과 양자화를 수행하여 압축 부호화하는 것에 있어서,In compression encoding by receiving data in block units and performing data transform and quantization, 가변길이 부호화 테이블의 가변길이 코드값:입력값의 대응구조에서 입력값을 인덱싱하여 순차적으로 배열하고 이 재배열된 인덱스값:가변길이 코드값을 맵핑시킨 구조를 가지는 것을 특징으로 하는 가변길이 부호화 테이블 구조.Variable length coding table having a structure in which input lengths are indexed and sequentially arranged in a corresponding structure of a variable length coding table, and the rearranged index values are mapped to variable length code values. rescue. 제 1 항에 있어서, 상기 인덱스값은 '0'부터 일정한 레벨까지의 값을 순차적으로 가지며 재배열된 인덱스값에서 해당 가변길이 코드값이 없는 경우에는 '0'값을 코드값으로 할당하여 중간중간에 없는 값이 없도록 한 구조인 것을 특징으로 하는 가변길이 부호화 테이블 구조.The intermediate value of claim 1, wherein the index value is a value from '0' to a predetermined level in sequence, and when the variable length code value is not present in the rearranged index value, the index value is assigned as a code value. A variable length encoding table structure, wherein the structure is such that there is no value missing. 블럭 단위로 데이타를 입력받아 데이타 변환(transform)과 양자화를 수행하여 압축 부호화하는 방법에 있어서,In the method of compression encoding by receiving data in block units and performing data transformation and quantization, 가변길이 부호화 테이블의 가변길이 코드값:입력값의 대응구조에서 입력값을 인덱싱하여 순차적으로 배열하고 이 재배열된 인덱스값:가변길이 코드값을 맵핑시킨 구조의 가변길이 부호화 테이블을 가지고, 입력값을 인덱스값으로 변환하는 단계와, 상기 변환된 인덱스값에 대응하는 가변길이 코드값을 상기 재배열된 가변길이 부호화 테이블에서 읽어내서 출력하는 단계로 제어함을 특징으로 하는 가변길이 부호화 방법.Variable length code value of variable length coding table: The variable length coding table of the structure that indexes input values in the corresponding structure of input values and arranges them sequentially, and rearranges this rearranged index value: variable length code value, input value And converting the variable length into an index value and reading and outputting a variable length code value corresponding to the converted index value from the rearranged variable length coding table. 제 3 항에 있어서, 상기 가변길이 부호화를 위해 입력되는 값은 지그재그 스캐닝 순서를 가지면서 메모리에는 순차적으로 저장된 값인 것을 특징으로 하는 가변길이 부호화 방법.The variable length encoding method of claim 3, wherein a value input for the variable length encoding is a value stored sequentially in a memory while having a zigzag scanning order.
KR1019980039969A 1998-09-25 1998-09-25 Modified vlc table and method of coding by modified vlc table KR100565707B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980039969A KR100565707B1 (en) 1998-09-25 1998-09-25 Modified vlc table and method of coding by modified vlc table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980039969A KR100565707B1 (en) 1998-09-25 1998-09-25 Modified vlc table and method of coding by modified vlc table

Publications (2)

Publication Number Publication Date
KR20000021048A true KR20000021048A (en) 2000-04-15
KR100565707B1 KR100565707B1 (en) 2006-05-25

Family

ID=19551960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980039969A KR100565707B1 (en) 1998-09-25 1998-09-25 Modified vlc table and method of coding by modified vlc table

Country Status (1)

Country Link
KR (1) KR100565707B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462060B1 (en) * 2001-12-21 2004-12-17 에스케이 텔레콤주식회사 UVLC Multiple Decoding Method
KR100959532B1 (en) * 2003-12-18 2010-05-27 엘지전자 주식회사 Decoding method of CAVLC

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139161B1 (en) * 1994-11-26 1998-05-15 김광호 Variable length coding & decoding apparatus using symbol code rearrange of vlc table
KR0139162B1 (en) * 1994-11-30 1998-05-15 김광호 Variable length coding and decoding apparatus using code rearrange

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462060B1 (en) * 2001-12-21 2004-12-17 에스케이 텔레콤주식회사 UVLC Multiple Decoding Method
KR100959532B1 (en) * 2003-12-18 2010-05-27 엘지전자 주식회사 Decoding method of CAVLC

Also Published As

Publication number Publication date
KR100565707B1 (en) 2006-05-25

Similar Documents

Publication Publication Date Title
US6917310B2 (en) Video decoder and encoder transcoder to and from re-orderable format
US5945930A (en) Data processing apparatus
KR940005516B1 (en) Adaptable quantize corder
JPH099261A (en) Signal compression device
KR19980071541A (en) Image processing apparatus and image processing method
KR100683380B1 (en) Method and apparatus for transformation and inverse transformation of image for image compression coding
JP3696490B2 (en) Method and video decoder for reducing video memory requirements of a decoder
KR100565707B1 (en) Modified vlc table and method of coding by modified vlc table
CN1166208C (en) Transcoding method and device
KR100195717B1 (en) A variable length decoder
JP2993212B2 (en) How to combine images
JPH09154133A (en) Image encoder and variable length coding method
KR100195715B1 (en) A variable length decoder
KR0160616B1 (en) Digital image compressing method and device
KR100206924B1 (en) Encoder and decoder in image processing system
KR100195716B1 (en) A variable length decoder
KR0134324B1 (en) Variable length method of data compression
KR100204469B1 (en) An image encoder using corner data
JP2860016B2 (en) Interframe coding of image signal
KR100293369B1 (en) Digital video compression coding and decoding system using shape adaptive selection and thereof method
KR100215563B1 (en) The input data formatting method in run length decoder
KR100204467B1 (en) An apparatus for encoding blocked image using corner data
JP3065393B2 (en) Image data restoration method and image data restoration device
KR100219218B1 (en) A rub-length coder
Leung et al. Compression techniques for still image and motion video

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee