KR20000025296A - Variable encoder of block image coefficient - Google Patents

Variable encoder of block image coefficient Download PDF

Info

Publication number
KR20000025296A
KR20000025296A KR1019980042321A KR19980042321A KR20000025296A KR 20000025296 A KR20000025296 A KR 20000025296A KR 1019980042321 A KR1019980042321 A KR 1019980042321A KR 19980042321 A KR19980042321 A KR 19980042321A KR 20000025296 A KR20000025296 A KR 20000025296A
Authority
KR
South Korea
Prior art keywords
block
unit
code
coefficients
scan
Prior art date
Application number
KR1019980042321A
Other languages
Korean (ko)
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 KR1019980042321A priority Critical patent/KR20000025296A/en
Publication of KR20000025296A publication Critical patent/KR20000025296A/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/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/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

Abstract

PURPOSE: A variable encoder is provided to enable encoding in a variable length in encoding block data by zigzag-scanning input data of a raster scan and converting the zigzag scan into the raster scan. CONSTITUTION: A scan part(10) obtains a run/level with respect to block coefficients, turns coefficients which generate feedback signal into '0', and transmits a signal indicating a coefficient of each block, a signal indicating the number of '0', a signal indicating the end of each block, and a signal indicating non-'0' to a variable length encoder(20). The variable length encoder(20) receives the signals and forms code values and code lengths corresponding thereto and transmits information to scanning parts if an addition value of code lengths exceeds the number of maximum allowable bits.

Description

블록 영상계수의 가변부호화 장치Variable coding device of block image coefficient

본 발명은 영상정보의 압축에 관한 것으로, 특히 블록 데이터를 부호화하는 경우 래스터 주사(Raster Scan)의 입력 데이터를 지그재그 주사(Zigzag Scan)로 구현하고, 역으로 지그재그 주사를 래스터 주사로 바꾸어 역양자화 단으로 보낼 수 있게 하며, 가변길이로 부호화할 수 있게 한 장치에 관한 것이다.The present invention relates to the compression of image information. In particular, in the case of encoding block data, the input data of raster scan is implemented by zigzag scan, and conversely, the zigzag scan is converted to raster scan to inverse quantization stage. The present invention relates to an apparatus for transmitting a variable length, and for encoding a variable length.

디지털 영상을 전송하는 경우에는 디지털 영상 데이터 정보가 많이 발생하기 때문에 영상정보의 압축은 필수적이다. 영상을 압축한 후 압축 데이터를 전송하는 경우에는 고정 비트 레이트로 데이터를 전송하게 된다. 고정 비트 레이트로 데이터를 보내는 경우에는 데이터를 부호화하는 과정에서 부호화하는 데이터를 제한해야 만 하는 문제점이 있게 된다.When transmitting a digital image, since a lot of digital image data information is generated, compression of the image information is essential. When compressed data is transmitted after compressing an image, data is transmitted at a fixed bit rate. In the case of sending data at a fixed bit rate, there is a problem in that the data to be encoded must be limited in the process of encoding the data.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 블록 데이터를 부호화하는 경우 래스터 주사의 입력 데이터를 지그재그 주사로 구현하고, 역으로 지그재그 주사를 래스터 주사로 바꾸어 역양자화 단으로 보낼 수 있게 하며, 가변길이로 부호화할 수 있게 한 블록 영상계수의 가변부호화 장치를 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and an object of the present invention is to implement input data of a raster scan as a zigzag scan and conversely to a raster scan when encoding block data. In another aspect, there is provided a variable encoding apparatus of a block image coefficient that can be sent to an inverse quantization stage and can be encoded with a variable length.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 블록 영상계수의 가변부호화 장치는,In order to achieve the above object, the variable encoding apparatus of the block image coefficient according to the present invention,

역양자화 블록에서 입력되는 데이터 순서를 래스터 주사에서 지그재그 주사로 바꾸어 바뀐 블록 계수들에 대한 run/level을 구하고, 가변길이 부호부에서 피드백된 신호가 발생되는 계수들을 0으로 만든 후 이 계수들의 순서를 지그재그 주사에서 래스터 주사의 순서로 다시 바꾼 후 역양자화 블록으로 전송하며, 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 상기 가변길이 부호부로 전송하는 주사부와; 상기 주사부에서 발생된 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 받아 각각에 해당되는 코드값과 코드길이를 형성하고, 코드형성시 각 블록마다 코드길이를 합한 값이 최대가능 비트수를 초과하면 이에 해당하는 run/level 신호에 대해 코드값을 만들지 않고 이에 대한 정보를 상기 주사부로 전송하는 가변길이 부호부로 이루어짐을 그 기술적 구성상의 특징으로 한다.Change the order of data input from the dequantization block from raster scan to zigzag scan to obtain run / level for the changed block coefficients, make coefficients fed back from the variable-length coder to 0, and then order the coefficients. After changing from the zigzag scan to the raster scan again, the data is transmitted to the inverse quantization block.The signal indicating the coefficient values of each block, the number of zeros between the coefficients, the signal indicating the end of each block, and the coefficient value of each block A scanning unit which transmits a signal representing a non-zero value to the variable length code unit; Receives a signal indicating the count value of each block generated by the scanning unit, a signal indicating the number of zeros between coefficients, a signal indicating the end of each block and a signal indicating a non-zero value of the coefficient of each block corresponding to each Code length and code length are formed, and if the sum of the code lengths for each block exceeds the maximum possible number of bits during code formation, the code information is not generated for the corresponding run / level signal. It is characterized by the technical configuration that the variable length code is transmitted.

도 1은 본 발명에 의한 블록 영상계수의 가변부호화 장치의 블록구성도,1 is a block diagram of a variable encoding apparatus for a block image coefficient according to the present invention;

도 2는 도1에서 주사부의 상세블록도,2 is a detailed block diagram of the scanning unit of FIG. 1;

도 3은 도1에서 가변길이 부호부의 상세블록도,3 is a detailed block diagram of a variable length coder in FIG. 1;

도 4는 도1에서의 지그재그 주사 순서를 보인 도면,4 is a view showing a zigzag scanning sequence in FIG.

도 5는 도4의 지그재그 주사 순서에 의한 변화표.5 is a change table according to the zigzag scanning sequence of FIG.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10 : 주사부 20 : 가변길이 부호부10: scanning unit 20: variable length code portion

이하, 상기와 같은 본 발명 블록 영상계수의 가변부호화 장치의 기술적 사상에 따른 일실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings an embodiment according to the technical idea of the variable encoding apparatus of the present invention block image coefficient as described above in detail.

먼저 데이터를 제한하는 기준은 구현하고자 하는 목적에 따라 데이터 비트수가 결정된다. ISO13818-2 MPEG2 표준화의 경우에는 각 응용목적에 따라 매크로 블록 당 최대 비트수가 결정되어 있다. 이 값에 따라 최대 비트수를 결정할 수 있다.First, the criterion for limiting data determines the number of data bits according to the purpose of implementation. In the case of ISO13818-2 MPEG2 standardization, the maximum number of bits per macroblock is determined according to each application purpose. Based on this value, the maximum number of bits can be determined.

본 발명에서는 영상 데이터를 DCT한 후 발생하는 영상 계수를 가변부호화 테이블에 따라 부호화하는 과정에서 각 매크로 블록당 최대 비트수를 결정하여 이 값을 블록수로 나누어 블록당 최대 비트수를 결정하여 각 블록당 발생하는 비트수를 계산해서 최대값을 넘어가는 경우에 그 이후에 들어오는 영상계수들을 무시함으로써 고정비트율에 대한 비트 데이터를 발생하게 하였다. 그리고 높은 비트율을 필요로 하는 고화질 텔레비전과 같은 응용에서는 본 발명에 따라 데이터를 병렬로 처리할 수 있으며, 이 경우 영상 계수를 부호화하는데 있어서 발생데이터를 제한하는 경우 병렬로 독립적으로 데이터가 발생할 수 있게 된다.In the present invention, the maximum number of bits per macroblock is determined in the process of encoding the image coefficients generated after DCT according to the variable encoding table, and this value is divided by the number of blocks to determine the maximum number of bits per block. When the number of bits generated per sugar is exceeded and the maximum value is exceeded, subsequent data coefficients are ignored, thereby generating bit data for a fixed bit rate. In an application such as a high-definition television that requires a high bit rate, data can be processed in parallel according to the present invention, and in this case, data can be generated independently in parallel when the generated data is limited in encoding image coefficients. .

한편, 영상데이터를 움직임 보상(Motion Compensation)하고 난 후 그 데이터를 블록별로 DCT(Discrete Cosine Transform, 이산 코사인 변환), 양자화한 후 계수값을 입력으로 받는다. 4:2:0 시스템인 경우 각 매크로 블록당 4개의 휘도 블록과 2개의 색차 블록으로 구성된다. 고비트율을 구현하기 위해서 3개의 경로로 데이터를 받는데, 2경로는 휘도 블록, 1경로는 색차 블록이다. 따라서 동시에 입력받는 블록은 3개의 블록을 입력으로 받는다. 각 블록은 동일한 기능을 수행하게 된다.Meanwhile, after motion compensation of image data, DCT (Discrete Cosine Transform, Discrete Cosine Transform) is quantized for each block, and the coefficient value is received as an input. In the case of a 4: 2: 0 system, four macroblocks and two chrominance blocks are included in each macroblock. In order to realize a high bit rate, data is received in three paths. Two paths are luminance blocks and one path is a color difference block. Therefore, a block that is simultaneously input receives three blocks as input. Each block will perform the same function.

도1은 본 발명에 의한 블록 영상계수의 가변부호화 장치의 블록구성도,1 is a block diagram of a variable encoding apparatus for a block image coefficient according to the present invention;

이에 도시된 바와 같이, 역양자화 블록에서 입력되는 데이터 순서를 래스터 주사에서 지그재그 주사로 바꾸어 바뀐 블록 계수들에 대한 run/level을 구하고, 가변길이 부호부(20)에서 피드백(Feedback)된 신호가 발생되는 계수들을 0으로 만든 후 이 계수들의 순서를 지그재그 주사에서 래스터 주사의 순서로 다시 바꾼 후 역양자화 블록으로 전송하며, 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 상기 가변길이 부호부(20)로 전송하는 주사부(10)와; 상기 주사부(10)에서 발생된 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 받아 각각에 해당되는 코드값과 코드길이를 형성하고, 코드형성시 각 블록마다 코드길이를 합한 값이 최대가능 비트수를 초과하면 이에 해당하는 run/level 신호에 대해 코드값을 만들지 않고 이에 대한 정보를 상기 주사부로 전송하는 가변길이 부호부(20)로 구성된다.As shown in this figure, the data order input from the inverse quantization block is changed from raster scan to zigzag scan to obtain run / level for the changed block coefficients, and a feedback signal is generated from the variable length coder 20. After making the coefficients to be 0, the order of these coefficients is changed from the zigzag scan to the raster scan, and then transmitted to the dequantization block.The signal indicating the coefficient values of each block, the signal indicating the number of zeros between the coefficients, and each block A scanning unit 10 for transmitting a signal indicating the end of the signal and a signal indicating a non-zero value of each block to the variable length code unit 20; Receives a signal indicating the count value of each block generated by the scanning unit 10, a signal indicating the number of zeros between the coefficients, a signal indicating the end of each block and a signal indicating a non-zero count value of each block Code lengths and code lengths are formed for each code, and if the sum of the code lengths for each block exceeds the maximum possible number of bits during code formation, the code is not created for the corresponding run / level signals. It consists of a variable length code unit 20 which is transmitted to the scanning unit.

도2는 도1에서 주사부의 상세블록도이다.FIG. 2 is a detailed block diagram of the scanning unit in FIG. 1.

이에 도시된 바와 같이, 입력으로 들어오는 계수값들이 차례대로 제1 메모리에 쓰여지도록 제어하는 쓰기제어부(11)와; 상기 쓰기제어부(11)의 제어에 의해 계수값들을 저장하는 제1 메모리(12)와; 상기 제1 메모리(12)에 저장된 데이터를 지그재그 순서로 읽어 지그재그 주사를 수행하는 Scan 변환부(13)와; 상기 Scan 변환부(13)에 의해 지그재그 주사 순서로 변환된 계수에 대해 0이 아닌 계수와 계수 사이의 0의 개수를 카운트하는 Run 카운트부(14)와; 상기 Run 카운트부(14)에서 데이터를 지연하여 입력받고, 상기 가변길이 부호부(20)에서 입력된 코드값이 만들어지지 않은 run/level 정보를 0으로 만들어주는 계수마스크부(15)와; 상기 계수마스크부(15)의 데이터를 래스터 주사 순서로 변환하여 제2 메모리(17)에 쓰는 IScan 변환부(16)와; 상기 IScan 변환부(16)의 데이터를 저장하는 제2 메모리(17)와; 상기 제2 메모리(17)의 데이터를 래스터 주사 순서로 읽도록 제어하는 읽기 제어부(18)로 구성된다.As shown therein, the write control unit 11 controls the count values coming into the input to be sequentially written to the first memory; A first memory (12) for storing coefficient values under control of the write control unit (11); A scan converter (13) for performing zigzag scanning by reading data stored in the first memory (12) in a zigzag order; A run counting unit (14) for counting the number of nonzero coefficients and zeros between the coefficients for the coefficients converted in the zigzag scanning order by the Scan converter (13); A coefficient mask unit 15 for delaying data input from the run count unit 14 and making run / level information having no code value inputted from the variable length code unit 20 to 0; An IScan converter (16) for converting the data of the coefficient mask section (15) into raster scanning order and writing it to the second memory (17); A second memory (17) for storing data of the IScan converter (16); And a read control unit 18 which controls to read the data of the second memory 17 in the raster scanning order.

도3은 도1에서 가변길이 부호부의 상세블록도이다.FIG. 3 is a detailed block diagram of a variable length coder in FIG. 1.

이에 도시된 바와 같이, level/run 신호를 받아 가변 부호화의 테이블을 참조하여 코드값과 코드길이를 발생시키는 가변길이 테이블 부호부(21)와; 상기 가변길이 테이블 부호부(21)에서 출력된 코드의 합을 구하여 최대 비트수를 초과할 경우 run/level 신호에 대해 코드값을 만들지 않고 이에 대한 신호를 high로 발생시켜 상기 주사부(10)로 전송하는 계수마스크 발생부(22)로 구성된다.As shown therein, a variable length table coder 21 for generating a code value and a code length by referring to a table of variable encoding by receiving a level / run signal; When the sum of the codes output from the variable length table coder 21 is exceeded and the maximum number of bits is exceeded, a code value for the run / level signal is generated without generating a code value to the scan unit 10. It consists of the counting mask generator 22 which transmits.

그래서 주사부(10)는 데이터(DCM[]) 순서를 raster scan에서 zigzag scan으로 바꾸어 주고, 바뀐 블록 계수들에 대한 run/level을 구하고, 가변길이 부호부(20)에서 피드백(Feedback)된 coefmask 신호를 참고하여 coefmask가 발생되는 계수들을 0으로 만든 후 이 계수들의 순서를 zigzag scan에서 raster scan 순서로 다시 바꾼 후 DCMPND[] 신호를 역양자화 블록으로 보내주는 역할을 수행한다. 신호 level[]은 각 블록의 계수값들을 나타내고 신호 run[]은 계수와 계수 사이의 0의 개수를 나타낸다. 신호 eob는 각 블록의 끝을 나타내는 신호이고, 신호 stb는 level[]의 값이 0이 아닌 값을 나타낸다.Thus, the scanning unit 10 converts the data (DCM []) order from the raster scan to the zigzag scan, obtains the run / level for the changed block coefficients, and feeds back the fed back coefmask from the variable length code unit 20. Coefmask is generated by referring to the signal as 0, then the order of these coefficients is changed from zigzag scan to raster scan order, and DCMPND [] signal is sent to the dequantization block. The signal level [] represents the coefficient values of each block and the signal run [] represents the number of zeros between the coefficients. The signal eob is a signal indicating the end of each block, and the signal stb indicates a value of level [] that is not zero.

여기서 도4는 주사부(10)의 래스터 주사와 지그재그 주사를 설명한 것이다. 그래서 각 블록은 8×8의 계수로 구성되고, 래스터 주사는 도5a와 같이 블록을 순서대로 계수값을 읽는다. 지그재그 주사는 도5b와 같이 좌측상단의 데이터부터 먼저 읽고 우측 하단의 데이터를 나중에 읽게 된다. 가변 부호화하기 위해서 지그재그 주사로 순서를 바꾸는 이유는 DCT한 후의 계수값들 중 저주파 성분이 좌측 상단에 모여 있고 고주파 성분의 데이터들이 우측 하단에 모여 있기 때문에 영상의 품질(quality)에 영향을 많이 미치는 저주파 계수들을 먼저 부호화하고 최대 부호 비트수를 초과할 경우 상대적으로 영상의 품질에 영향이 적은 고주파 부분을 버리기 위한 것이다.4 illustrates a raster scan and a zigzag scan of the scan unit 10. Thus, each block is composed of 8x8 coefficients, and the raster scan reads the coefficient values in order as shown in Fig. 5A. The zigzag scan reads the data at the upper left first and reads the data at the lower right later as shown in FIG. 5B. The reason for changing the order by zigzag scanning for variable coding is that low frequency components of DCT coefficients are concentrated on the upper left side and high frequency components are collected on the lower right side. If the coefficients are encoded first and the maximum number of code bits is exceeded, this is to discard the high frequency part which has relatively little effect on the image quality.

이에 따라 쓰기제어부(11), 제1 메모리(12), Scan 변환부(13) 및 Run 카운트부(14)는 주사(scan) 기능을 수행하고, 계수마스크부(15), IScan 변환부(16), 제2 메모리(17) 및 읽기제어부(18)는 역주사(iscan) 기능을 수행한다. scan, iscan은 DPSRAM(Dual Port SRAM)을 이용한 제1 및 제2 메모리(12)(17)에 쓰는 주소와 읽는 주소를 변화시킴으로써 수행된다. 쓰기제어부(11)는 입력으로 들어오는 계수값들을 차례대로 DPSRAM의 제1 메모리(12)에 쓴다. Scan 변환부(13)는 읽는 순서를 지그재그 순서로 읽음으로써 지그재그 scan이 수행되게 한다. Run 카운트부(14)는 지그재그 주사 순서로 변환된 계수에 대해 0이 아닌 계수와 계수 사이의 0의 개수를 카운트한다.Accordingly, the write control unit 11, the first memory 12, the scan conversion unit 13, and the run count unit 14 perform a scan function, and the coefficient mask unit 15 and the IScan conversion unit 16 are performed. ), The second memory 17 and the read control unit 18 perform an inverse scan function. Scan and iscan are performed by changing the address to be written and the address to be written to the first and second memories 12 and 17 using DPSRAM (Dual Port SRAM). The write control unit 11 sequentially writes count values coming into the input into the first memory 12 of the DPSRAM. The scan converting section 13 reads the reading order in a zigzag order so that a zigzag scan is performed. The run count unit 14 counts the number of nonzero coefficients and zeros between the coefficients for the coefficients converted in the zigzag scanning order.

그래서 계수마스크부(15)의 입력데이터인 level[], run[], eob[], stb는 Run 카운트부(14)의 출력인 level[], run[], eob[], stb 신호를 가변길이 부호부(20)의 coefmask 신호가 발생하는 클럭만큼 지연시킨 데이터이다. 지연시킴으로서 계수마스크부(15)의 입력데이터인 level[], run[], eob[], stb와 coefmask 신호의 동기를 맞출 수 있게 된다. 그래서 계수마스크부(15)는 coefmask 신호를 가변길이 부호부(20)에서 입력받아 coefmask가 high로 발생하는 level[] 값을 0으로 만들어주는 역할을 수행하게 된다. 또한 IScan 변환부(16)는 DPSRAM의 제2 메모리(17)에 입력으로 받은 계수값을 쓸 때 쓰는 주소를 변환시켜 준다. 그리고 읽기제어부(18)는 DPSRAM의 제2 메모리(17)의 읽는 주소를 래스터 주사 순서로 함으로써 자연적 지그재그 주사에서 래스터 주사 순서로 변환되게 한다. scan인 경우에는 DSPRAM에 읽을 때 도5의 지그재그 주사 순서에 의한 변화표를 이용하여, iscan인 경우에는 DPSRAM에 쓸 때 도5의 지그재그 주사 순서에 의한 변화표를 이용함으로써, 하나의 변화표로 scan/iscan이 가능하게 한다.Thus, level [], run [], eob [], and stb, which are input data of the coefficient mask unit 15, vary the level [], run [], eob [], and stb signals that are the outputs of the run count unit 14. Data delayed by the clock at which the coefmask signal of the length code unit 20 is generated. By delaying, it is possible to synchronize the coefmask signals with level [], run [], eob [], stb which are input data of the coefficient mask unit 15. Therefore, the coefficient mask unit 15 receives the coefmask signal from the variable length coder 20 and serves to make the level [] value generated by the coefmask high to zero. In addition, the IScan conversion unit 16 converts the address used when writing the coefficient value received as an input to the second memory 17 of the DPSRAM. The read control unit 18 converts the read address of the second memory 17 of the DPSRAM into the raster scan order in the raster scan order. In the case of scan, the change table according to the zigzag scan order of FIG. 5 is used when reading to the DSPRAM, and the change table by the zigzag scan order of FIG. 5 is used when writing to the DPSRAM in the case of iscan. Make it possible.

그리고 가변길이 부호부(20)는 주사부(10)에서 발생된 level[], run[], eob, stb 신호를 받아 각 level[], run[]에 해당되는 code 값과 code의 길이를 만들어낸다. code를 만들어내는 과정에서 블록마다 code의 길이를 합하여 최대가능 비트수를 초과하는 경우에는 입력되는 level, run에 대해 code 값을 만들지 않고 신호 coefmask를 high로 올려 주사부(10)에서 이용하도록 한다.The variable length coder 20 receives the level [], run [], eob, and stb signals generated by the scan unit 10, and creates a code value and a code length corresponding to each level [], run []. Serve In the process of generating the code, if the length of the code exceeds the maximum possible number of bits for each block, the signal coefmask is raised to high and used by the scanning unit 10 without creating a code value for the input level and run.

그래서 가변길이 테이블 부호부(21)는 level[], run[] 신호를 받아 가변 부호화의 테이블을 참조하여 code[], size[]를 발생시키고, 계수마스크 발생부(22)는 code의 합을 구하여 최대 비트수를 초과할 경우 coefmask 신호를 high로 발생시킨다.Therefore, the variable length table coder 21 receives the level [] and run [] signals and generates codes [] and size [] by referring to the table of variable encoding, and the coefficient mask generator 22 adds the sum of the codes. If the maximum number of bits is exceeded, the coefmask signal is generated high.

이처럼 본 발명은 블록 데이터를 부호화하는 경우 래스터 주사의 입력 데이터를 지그재그 주사로 구현하고, 역으로 지그재그 주사를 래스터 주사로 바꾸어 역양자화 단으로 보낼 수 있게 하며, 가변길이로 부호화하게 되는 것이다.As described above, when the block data is encoded, the input data of the raster scan is implemented by the zigzag scan, and conversely, the zigzag scan can be converted to the raster scan and sent to the inverse quantization stage, and the variable length is encoded.

이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.

이상에서 살펴본 바와 같이, 본 발명에 의한 블록 영상계수의 가변부호화 장치는 블록 데이터를 부호화하는 경우 래스터 주사의 입력 데이터를 지그재그 주사로 구현하고, 역으로 지그재그 주사를 래스터 주사로 바꾸어 역양자화 단으로 보낼 수 있게 하며, 부호화시 가변길이로 할 수 있는 효과가 있게 된다.As described above, in the case of encoding block data, the variable encoding apparatus of the block image coefficient according to the present invention implements input data of raster scan into zigzag scan, and conversely, converts zigzag scan into raster scan and sends it to the dequantization stage. It is possible to have a variable length at the time of encoding.

Claims (3)

역양자화 블록에서 입력되는 데이터 순서를 래스터 주사에서 지그재그 주사로 바꾸어 바뀐 블록 계수들에 대한 run/level을 구하고, 가변길이 부호부에서 피드백된 신호가 발생되는 계수들을 0으로 만든 후 이 계수들의 순서를 지그재그 주사에서 래스터 주사의 순서로 다시 바꾼 후 역양자화 블록으로 전송하며, 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 상기 가변길이 부호부로 전송하는 주사부와;Change the order of data input from the dequantization block from raster scan to zigzag scan to obtain run / level for the changed block coefficients, make coefficients fed back from the variable-length coder to 0, and then order the coefficients. After changing from the zigzag scan to the raster scan again, the data is transmitted to the inverse quantization block.The signal indicating the coefficient values of each block, the number of zeros between the coefficients, the signal indicating the end of each block, and the coefficient value of each block A scanning unit which transmits a signal representing a non-zero value to the variable length code unit; 상기 주사부에서 발생된 각 블록의 계수값들을 나타내는 신호와 계수간 0의 개수를 나타내는 신호와 각 블록의 끝을 나타내는 신호와 각 블록의 계수값이 0이 아닌 값을 나타내는 신호를 받아 각각에 해당되는 코드값과 코드길이를 형성하고, 코드형성시 각 블록마다 코드길이를 합한 값이 최대가능 비트수를 초과하면 이에 해당하는 run/level 신호에 대해 코드값을 만들지 않고 이에 대한 정보를 상기 주사부로 전송하는 가변길이 부호부로 구성된 것을 특징으로 하는 블록 영상계수의 가변부호화 장치.Receives a signal indicating the count value of each block generated by the scanning unit, a signal indicating the number of zeros between coefficients, a signal indicating the end of each block and a signal indicating a non-zero value of the coefficient of each block corresponding to each Code length and code length are formed, and if the sum of the code lengths for each block exceeds the maximum possible number of bits during code formation, the code information is not generated for the corresponding run / level signal. And a variable length coder for transmitting the block image coefficient. 제 1항에 있어서, 상기 주사부는,The method of claim 1, wherein the scanning unit, 입력으로 들어오는 계수값들이 차례대로 제1 메모리에 쓰여지도록 제어하는 쓰기제어부와;A write control unit controlling the count values coming into the input to be sequentially written to the first memory; 상기 쓰기제어부의 제어에 의해 계수값들을 저장하는 제1 메모리와;A first memory for storing coefficient values under control of the write control unit; 상기 제1 메모리에 저장된 데이터를 지그재그 순서로 읽어 지그재그 주사를 수행하는 Scan 변환부와;A scan converter configured to read data stored in the first memory in a zigzag order and perform a zigzag scan; 상기 Scan 변환부에 의해 지그재그 주사 순서로 변환된 계수에 대해 0이 아닌 계수와 계수 사이의 0의 개수를 카운트하는 Run 카운트부와;A run count unit for counting the number of nonzero coefficients and zeros between the coefficients with respect to the coefficients converted in the zigzag scanning order by the Scan converter; 상기 Run 카운트부에서 데이터를 지연하여 입력받고, 상기 가변길이 부호부에서 입력된 코드값이 만들어지지 않은 run/level 정보를 0으로 만들어주는 계수마스크부와;A coefficient mask unit for delaying data input from the run count unit and making run / level information with no code value inputted from the variable length code unit 0; 상기 계수마스크부의 데이터를 래스터 주사 순서로 변환하여 제2 메모리에 쓰는 IScan 변환부와;An IScan converting unit converting data of the counting mask unit into raster scanning order and writing the data to a second memory; 상기 IScan 변환부의 데이터를 저장하는 제2 메모리와;A second memory for storing data of the IScan converter; 상기 제2 메모리의 데이터를 래스터 주사 순서로 읽도록 제어하는 읽기제어부로 구성된 것을 특징으로 하는 블록 영상계수의 가변부호화 장치.And a read control unit configured to control reading of data of the second memory in raster scanning order. 제 1항에 있어서, 상기 가변길이 부호부는,The method of claim 1, wherein the variable length code unit, level/run 신호를 받아 가변 부호화의 테이블을 참조하여 코드값과 코드길이를 발생시키는 가변길이 테이블 부호부와;a variable length table encoder for generating a code value and a code length by receiving a level / run signal and referring to a table of variable encoding; 상기 가변길이 테이블 부호부에서 출력된 코드의 합을 구하여 최대 비트수를 초과할 경우 run/level 신호에 대해 코드값을 만들지 않고 이에 대한 신호를 high로 발생시켜 상기 주사부로 전송하는 계수마스크 발생부로 구성된 것을 특징으로 하는 블록 영상계수의 가변부호화 장치.If the sum of the codes output from the variable-length table coder is exceeded and the maximum number of bits is exceeded, the coefficient mask generator generates high signal for the run / level signal and transmits it to the scan unit without generating a code value. A variable encoding device of a block image coefficient, characterized in that.
KR1019980042321A 1998-10-09 1998-10-09 Variable encoder of block image coefficient KR20000025296A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980042321A KR20000025296A (en) 1998-10-09 1998-10-09 Variable encoder of block image coefficient

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980042321A KR20000025296A (en) 1998-10-09 1998-10-09 Variable encoder of block image coefficient

Publications (1)

Publication Number Publication Date
KR20000025296A true KR20000025296A (en) 2000-05-06

Family

ID=19553544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980042321A KR20000025296A (en) 1998-10-09 1998-10-09 Variable encoder of block image coefficient

Country Status (1)

Country Link
KR (1) KR20000025296A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674941B1 (en) * 2005-01-13 2007-01-26 삼성전자주식회사 Context adaptive variable length coding apparatus and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674941B1 (en) * 2005-01-13 2007-01-26 삼성전자주식회사 Context adaptive variable length coding apparatus and method thereof

Similar Documents

Publication Publication Date Title
EP0987899B1 (en) Adaptive variable-length coding method for video data
US5640420A (en) Variable length coder using two VLC tables
JP2986039B2 (en) Statistical multiplexer for multi-channel image compression system
US5731837A (en) Quantization circuitry as for video signal compression systems
CA2039734C (en) Control system for encoding image
JPH06225286A (en) Method and apparatus for adaptively coding variable length
WO2009082239A1 (en) Vlc method and device
JPH08256335A (en) Apparatus and method for determining quantization parameter
JPH08280021A (en) Run-length coding method
US5742342A (en) Apparatus for encoding an image signal using vector quantization technique
JP3016456B2 (en) Adaptive variable length coding method
KR20000025296A (en) Variable encoder of block image coefficient
KR100295802B1 (en) Image data compression device using multiple variable encoding tables
JPH08205153A (en) Dynamic image encoding device
JPH05304661A (en) Picture encoding and transmitting device
JP2002034042A (en) Method and device for image encoding, and, method and device for image decoding
JPH07177503A (en) Dynamic image digital coding system

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination