KR100215563B1 - The input data formatting method in run length decoder - Google Patents

The input data formatting method in run length decoder Download PDF

Info

Publication number
KR100215563B1
KR100215563B1 KR1019950069160A KR19950069160A KR100215563B1 KR 100215563 B1 KR100215563 B1 KR 100215563B1 KR 1019950069160 A KR1019950069160 A KR 1019950069160A KR 19950069160 A KR19950069160 A KR 19950069160A KR 100215563 B1 KR100215563 B1 KR 100215563B1
Authority
KR
South Korea
Prior art keywords
bit
data
bits
significant
run
Prior art date
Application number
KR1019950069160A
Other languages
Korean (ko)
Other versions
KR970057906A (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 KR1019950069160A priority Critical patent/KR100215563B1/en
Publication of KR970057906A publication Critical patent/KR970057906A/en
Application granted granted Critical
Publication of KR100215563B1 publication Critical patent/KR100215563B1/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/93Run-length coding

Abstract

본 발명은 줄기리 복호기의 입력 데이타 포맷팅 방법에 관한 것으로, 줄길이 복호기에서 (런, 레벨) 데이타 이외에 처리해야하는 각종데이타를 추출하기 용이하도록 상기 (런, 레벨) 데이타 및 그외의 데이타를 간결한 구조의 포맷으로 형성하여, 줄길이 복호기에서 (런, 레벨) 데이타 이외에 처리해야하는 각종 데이타를 용이하게 추출할 수 있는 것이다.The present invention relates to an input data formatting method of a stemley decoder, and has a concise structure of the (run, level) data and other data so as to easily extract various data to be processed in addition to the (run, level) data in a line length decoder. Formed in a format, the line length decoder can easily extract various data to be processed in addition to the (run, level) data.

Description

줄길이 복호기의 입력 데이타 포맷팅 방법(A method of formatting input data of run 1ength decoder)A method of formatting input data of run 1ength decoder

제 1 도는 일반적인 영상 부호기의 개략적인 블럭도,1 is a schematic block diagram of a general video encoder,

제 2 도는 일반적인 영상 복호기의 개략적인 블럭도,2 is a schematic block diagram of a general video decoder,

제 3 도는 본 발명에 따른 줄길이 복호기의 입력 데이타 포맷팅 방법에 의해 형식화된 데이타의 구조를 도시한 것으로,3 illustrates a structure of data formatted by an input data formatting method of a line length decoder according to the present invention.

(a)는 (런, 레벨) 데이타의 포맷을 도시한 것이고,(a) shows the format of (run, level) data,

(b)는 인트라 DC 계수(intra DC coefficient) 데이타의 포맷을 도시한 것이며,(b) shows the format of intra DC coefficient data,

(c)는 전송해야할 계수가 없는 매크로블럭(skipped macrob1ock) 데이타의 포맷을 도시한 것이고,(c) shows the format of macroblocked data without coefficients to be transmitted,

(d)는 코딩되지 않은 블럭(not coded block) 및, 블럭종료(end of block) 데이타의 포맷을 도시한 것이다.(d) shows the format of not coded blocks and end of block data.

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

1 : 이산여현 변환부 2 : 양자화기1: discrete cosine transform unit 2: quantizer

3 : 줄길이 부호기 4 : 가변장 부호기3: line length encoder 4: variable length encoder

5 : 가변장 복호기 6 : 줄길이 복호기5 variable length decoder 6 line length decoder

7 : 역스캐닝부 8: 역양자화기7: reverse scanning unit 8: inverse quantizer

9 : 역이산여현변환부9: inverse discrete cosine transform unit

본 발명은 줄길이 복호기로 입력되는 데이타를 형식화(formatting)하는 방법에 관한 것으로, 특히 줄길이 복호기에서 (런,레벨) 데이타 이외에 처리해야하는 각종 데이타를 추출하기 용이하도록 상기 (런, 레벨) 데이타 및 그외의 데이타를 간결한 구조의 포맷으로 형성하는 줄길이 복호기의 입력 데이타 포맷팅 방법에 관한 것이다.The present invention relates to a method for formatting data input to a line length decoder, and in particular, to facilitate the extraction of various data to be processed in addition to the (run, level) data in the line length decoder. An input data formatting method of a line length decoder for forming other data in a concise format.

일반적으로, 헌대 사회를 일컬어 정보화사회라고 하는 바, 처리해야 하는 정보의 양이 나날이 늘어나는 추세이므로, 기존의 전송대역을 효과적으로 이용하기 위해서는 데이타를 압축하여야 한다. 특히, 디지탈 영상신호의 경우에는 정보량이 매우 방대하기 때문에 정보의 저장과검색, 전송등을 보다 효율적으로 하기 위해서는 영상 데이타를 압축하는 것이 필수적이다.In general, the old society is called an information society, and as the amount of information to be processed is increasing day by day, data must be compressed to effectively use the existing transmission band. In particular, in the case of digital video signals, since the amount of information is very large, it is necessary to compress the video data in order to more efficiently store, retrieve, and transmit the information.

제 1 도는 일반적인 영상 부호화기의 구성을 개략적으로 나타낸 블럭도로서, H.261, MPEG-1, MPEG-2 등의 많은 표준화된 부호기에서 사용되는 것이다.1 is a block diagram schematically showing the configuration of a general video encoder, and is used in many standardized encoders such as H.261, MPEG-1, MPEG-2, and the like.

제 1 도를 참조하면, 이산여현변환부(1)에서는 픽셀간의 상관성을 제거하기 위하여 프레임간 차 영상을 예를 들면, 8×8 픽셀의 블럭으로 이산여헌변환하여 이산여현변환 계수를 출력하고, 양자화기(2)에서는 상기 이산여헌변환부(1)에서 출력되는 프레임간 차 영상의 이산여현변환 계수를 소정의 양자화간격으로 양자화하여 출력한다.Referring to FIG. 1, the discrete cosine transforming unit 1 outputs a discrete cosine transform coefficient by performing discrete discrete conversion of an inter-frame difference image, for example, into a block of 8x8 pixels, in order to remove correlation between pixels. The quantizer 2 quantizes and outputs the discrete cosine transform coefficients of the inter-frame difference image output from the discrete constituent transform unit 1 at a predetermined quantization interval.

상기 양자화기(2)에서 양자화된 이산여헌변환(DCT) 계수는 지그-재그 스캐닝 과정을 거쳐 1차원 데이타 열로 변환되어 줄길이 부호기(3)로 입력되고, 상기 줄길이 부호기(3)는 지그-재그 스캐닝 과정을 통해 출력된 데이타 열을 계속되는 0의 갯수와 바로 연속되는 0이 아닌 계수값으로 구성된 (런, 레벨)의 2차원으로 만든다.The DCT coefficients quantized by the quantizer 2 are converted into a one-dimensional data sequence through a zig-zag scanning process, input to a line length encoder 3, and the line length encoder 3 is a jig- The data output through the jag scanning process is made into a two-dimensional (run, level) consisting of a continuous number of zeros and a sequence of nonzero zeros.

그리고, 상기 줄길이 부호기(3)에서 줄길이 부호화된 데이타는 가변장 부호기(4)에서 허프만 테이블에 의해 가변장 부호화 된 다음 비디오 버퍼(도시하지 암음)로 출력되는 것이다.The length coded data in the length coder 3 is variable length coded by the Huffman table in the variable length coder 4 and then output to a video buffer (not shown).

이때, DCT 계수중 DC 계수와 AC 계수를 구분하여 다른 방법으로 부호화한다. 보통 각 블럭의 DC 값은 주변 블록의 DC값과 많은 상관성이 있으므로 이전 블록의 DC값과 차이를 구하여 그 차이값을 부호화하고, 첫번째 블록의 DC는 DC값의 가변범위의 중간값인 128과의 차이를 구하여 부호화 한다. 이렇게 구해진 DC의 차이값들은 일차원 가변장 부호화를 통하여 부호화하게 되는 것이다.At this time, the DC coefficient and the AC coefficient among the DCT coefficients are distinguished and encoded in another method. Normally, the DC value of each block has much correlation with the DC value of the neighboring block. Therefore, the difference between the DC value of the previous block is obtained and the difference value is encoded. Obtain and encode the difference. The DC difference values thus obtained are encoded by one-dimensional variable length coding.

즉, 상기 DC계수는 DC 크기(dct-dc-size)와 DC 차이(dct-dc-differential)로 나누어져 가변장 부호화되는데, DC 크기(dct-dc-size)가 0이면 그냥 DC 크기(dct- dc-size)의 코드만 전송되고, 0이 아니면 그 뒤에 DC 크기(dct-dc-size)의 비트 수 만큼 DC차이(dct-dc-differentia1)값을 전송하는 것이다.That is, the DC coefficient is variable length coded by dividing the DC size (dct-dc-size) and the DC difference (dct-dc-differential), but if the DC size (dct-dc-size) is 0, the DC size (dct Only the code of dc-size is transmitted, and if it is not 0, then DC value (dct-dc-differentia1) is transmitted by the number of bits of DC size (dct-dc-size).

또한, AC는 DCT 영역에서 DC 계수 부근의 AC 계수값이 0이 아닐 확률이 높고, DC에서 멀어질수록 0이 발생할 확률이 높다는 점을 이용하여 보다 더 효과적인 데이타 압축을 위해 계수들을 재정렬하는데, 주로 지그-재그 주사를 통하여 1차원으로 정렬한다. 여기서 0이 연속적으로 나타나는 갯수(zero-run)와 0이 아닌 계수들의 값(leve1)을 (런, 레벨)의 2차원으로 표현한다.In addition, AC reorders coefficients for more effective data compression by taking advantage of the fact that the AC coefficient near the DC coefficient is not zero in the DCT region and that the zero is more likely to be farther from DC. Align in one dimension via zig-zag scan. Here, zero-run and zero-coefficient values (leve1) are expressed in two dimensions (run, level).

예를 들어, 지그-재그 스캔이 되어,30,2,0,0,-8.0,0,0,9와 같이 정열된 DCT 계수는 줄길이 부호기(6)를 통하여 (0,30), (0,2),(2,-8),(3,9)…와 같이 표현된다.For example, with a zig-zag scan, the aligned DCT coefficients, such as 30,2,0,0, -8.0,0,0,9, are passed through the line length encoder (0,30) , (2), (2, -8), (3,9)... It is expressed as

그리고, 지그-재그 주사된 계수들이 어떤 위치 이후에 계속해서 끝까지 발생할 경우는 블록의 끝을 나타내는 EOB(end of b1ock) 부호를 추가한다.And, if the zig-zag scanned coefficients continue to end after some position, add an end of b1ock (EOB) sign indicating the end of the block.

이와 같이, 줄길이 부호화된 데이타는 허프만 테이블에 의해 가변장 부호화되는 것이다.In this manner, the line length coded data is variable length coded by the Huffman table.

또한, 인터 코딩(inter)에서 전송해야할 계수가 없는 경우 이를skipped macrob1ock 이라 하는데 이러한 skipped macroblock 블럭이 몇개나 계속되는지를 나타내는 정보 데이타와, 각 매크로블럭에 속해 있는 블럭들이 코딩이 됐는가를 나타내는 정보 데이타들도 상기 비디오버퍼(도시하지 암음)를 통해 복호기로 전송되는 것이다.In addition, when there is no coefficient to be transmitted in inter coding, this is called a masked macrob1ock. Information data indicating how many skipped macroblock blocks are continued, and information data indicating whether blocks belonging to each macroblock are coded are also coded. It is transmitted to a decoder through the video buffer (not shown).

한편, 상기와 같은 압축과정을 통해 전송된 영상 데이타는 영상 복호기에서 원래의 데이타로 복원되며, 이러한 영상 복호기는 상기 영상부호기를 역으로 구현하면 되는 것이다.On the other hand, the image data transmitted through the compression process as described above is restored to the original data in the image decoder, such image decoder is to implement the image encoder in reverse.

즉, 제 2 도는 일반적인 영상 복호기의 개략적인 블럭도로서, 부호화된 데이타상 데이타에 대해 가변 길이 복호화를 수행하여 출력하는 가변장 복호기(5)와; 상기 가변장 복호기(5)에서 출력된 영상 데이타에 대해 줄길이 복호화를 수행하는 줄길이 복호기(6); 상기 줄길이 복호기(6)에서 출력된 데이타를 역으로 스캔하여 8×8 주파수 계수 블럭을 출력하는 역스캐닝부(7); 상기 역스캐닝부(7)에서 출력된 8×8 주파수계수 블럭에 대해 역 양자화를 수행하여 출력하는 역 양자화기(8); 상기 역 양자화기(8)에서 출력된 8×8 주파수 계수 블럭에 대해 DCT를 역으로 수랭하여 8×8 화소 블럭을 출력하는 역이산여헌변환부(9)를 포함하여 구성되어 있다.That is, FIG. 2 is a schematic block diagram of a general video decoder, comprising: a variable length decoder 5 for performing variable length decoding on encoded data on data; A line length decoder 6 for performing line length decoding on the image data output from the variable length decoder 5; An inverse scanning unit 7 which scans the data output from the line length decoder 6 in reverse and outputs an 8x8 frequency coefficient block; An inverse quantizer 8 for performing inverse quantization on the 8 × 8 frequency coefficient block output from the inverse scanning unit 7 and outputting the inverse quantizer; And an inverse discrete contribution converter 9 for outputting an 8x8 pixel block by cooling the DCT in reverse with respect to the 8x8 frequency coefficient block output from the inverse quantizer 8.

상기와 같은 영상 복호기에 있어서, 가변장 복호기(5)는 부호화된 비트 스트림으로부터 가변장 부호화된 디 계수를 뽑아서 가변장 부호화를 역으로 수행하는 줄길이 복호기(6)로 출력하고, 상기 줄길이 복호기(6)는 상기 가변장 복호기(5)에서 출력된 데이타에 대해 줄길이 복호화를 수행하여 역스캐닝부(7)로 출력하는 것이다.In the video decoder as described above, the variable length decoder 5 extracts the variable length coded D coefficients from the coded bit stream and outputs the result to the line length decoder 6 that performs variable length coding inversely. (6) performs line length decoding on the data output from the variable length decoder 5 and outputs it to the inverse scanning unit 7. FIG.

그리고, 역스캐닝부(7)는 상기 줄길이 복호기(6)에서 출력된 일차원 DCT 계수를 스캐닝 방법에 따라 다시 2차원으로 바꿔주는 작업을 하는 것이다.In addition, the inverse scanning unit 7 converts the one-dimensional DCT coefficients output from the line length decoder 6 into two dimensions again according to the scanning method.

상기와 같이 2차원으로 출력된 DCT 계수는 역 양자화기(8)에서 역양자화되어 실제의 DCT 계수값으로 복원된 다음, 역 이산여현변환부(9)에서 역 이산여헌 변환되어 8×8 화소 블럭으로 출력되는 것이다.As described above, the DCT coefficients output in two dimensions are inversely quantized by the inverse quantizer 8 to be restored to the actual DCT coefficients, and then inverse discrete coherence transformed by the inverse discrete cosine transform unit 9 to perform an 8 × 8 pixel block. Will be output as

이때, 상기 줄길이 복호기(6)로 입력되는 데이타는 기본적으로 런(run)과 레벨(level)을 갖게 되며, 런(run)은 0의 길이를 나타내고 레벨(level)은 런 길이 만큼의 0 후에 이어지는 값이다.At this time, the data input to the line length decoder 6 basically has a run and a level, and the run represents a length of zero and the level is zero after the run length. This is the following value.

그러나, 줄길이 복호기는 상기와 같은 (런, 레벨) 심벌 데이타를 처리할 뿐만 아니라 (런, 레벨) 심벌 데이타 이외의 데이타 처리도 수행해야 함에 따라 상기와 같은 (런, 레벨) 심벌 데이타의 구조로는 예외의 데이타를 처리할 수 없는 문제점이 있었다.However, the line length decoder not only processes the (run, level) symbol data as described above but also needs to perform data processing other than the (run, level) symbol data. There was a problem that could not handle the data of the exception.

따라서, 본 발명은 상기와 같은 종래의 제 문제점을 해소하기 위한것으로, 줄길이 복호기에서 (런, 레벨) 심벌 데이타 이외에 처리해야하는 각종 데이타를 추출하기 용이하도록 상기 (런, 레벨) 심벌 데이타 및 그외의 데이타를 간결한 구조의 포맷으로 형성하는 줄길이 복호기의 입력 데이타 포맷팅 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the above-mentioned problems of the prior art, so that it is easy to extract various data to be processed in addition to the (run, level) symbol data in the line length decoder. It is an object of the present invention to provide a method for formatting input data of a line length decoder that forms data in a compact structure format.

이러한 목적을 달성하기 위한 본 발명에 따른 줄길여 복호기의 입력 데이타 포맷팅 방법은, 줄길이 복호기로 입력되는 입력 데이타가 (런, 레벨) 데이타이면, 레벨(leve1) 데이타를 최하위 1번째 비트부터 12번째 비트까지 할당하고, 런(run) 데이타를 13번째 비트부더 18번째 비트까지 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하는 것을 특징으로 한다.The input data formatting method of the line length decoder according to the present invention for achieving the above object is, if the input data input to the line length decoder is (run, level) data, the level (leve1) data from the least significant first bit to 12th Up to a bit, run data is allocated up to the 18th bit of the 13th bit subheader, and an indicator is allocated to the 19th bit, which is the most significant bit.

그리고, 줄길이 복호기로 입력되는 입력 데이타가 인트라 DC 계수(intra DC coefficient) 데이타이면, DC 차이(dct-dc-differential)값을 최하위 1번째 비트부터 1O번째 비트까지 할당하고, 인트라 DC 정밀도(intra-dc-precision)를 11번째 비트와 12 번째 비트에 할당하며, 식별자(lD)를 13번째 비트와 14번재 비트에 할당하고, DC 크기(dct-dc-size)를 15번째 비트부터 18번째 비트 까지 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하는 것을 특징으로 한다.If the input data input to the line length decoder is intra DC coefficient data, the DC difference value is allocated from the least significant first bit to the tenth bit, and the intra DC precision (intra -dc-precision is assigned to the 11th and 12th bits, the identifier (lD) is assigned to the 13th and 14th bits, and the DC size (dct-dc-size) is allocated from the 15th to 18th bits. And the indicator is assigned to the 19th bit, which is the most significant bit.

그리고, 줄길이 복호기로 입력되는 입력 데이타가 전송해야할 계수가 없는 매크로블럭(skipped macroblock) 데이타이면, 전송해야할 계수가 없는 블럭의 수(skipped macrob1ock number)를 최하위 1번째 비트부터 7번째 비트까지 할당하고, 식별자를 13번재 비트와 14번째 비트에 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하는 것을 특징으로 한다.If the input data inputted to the line length decoder is a macroblock data having no coefficient to be transmitted, the number of skipped macrob1ock numbers to be transmitted is allocated from the least significant first bit to the seventh bit. The identifier is assigned to the 13th bit and the 14th bit, and the indicator is assigned to the 19th bit, which is the most significant bit.

그리고, 줄길이 복호기로 입력되는 입력 데이타가 코딩되지 않은 블럭(nocoded b1ock) 또는 블럭 종료(end of b1ock) 데이타이면, 코딩되지 않은 블럭의 수(not coded block number)를 최하위 1번째 비트부터 3번째 비트까지 할당하고, 식별자를 13번째 비트와 14번재 비트에 할당하며, 지시자를 죄상위 비트인 19번째 비트에 할당하는 것을 특징으로 한다.If the input data input to the line length decoder is an uncoded b1ock or end of b1ock data, the not coded block number is set from the least significant first bit to the third. It assigns up to bits, assigns an identifier to the 13th bit and the 14th bit, and assigns an indicator to the 19th bit that is a high-order bit.

이하, 첨부된 도면을 참조하여 본 발명의 실실예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예에서는 예외로 처리하는 경우를 다음 4가지로 하였다.In the embodiment of the present invention, the following four cases are treated as exceptions.

(1) 인트라 DC 계수(intra DC cofficient)(1) intra DC cofficient

(2) 전송해야할 계수가 없는 매크로블럭(skipped macroblock)(2) a skipped macroblock with no coefficients to transmit

(3) 코딩되지 않은 블럭(not coded block)(3) not coded block

(4) 블럭 종료(end of block)(4) end of block

상기 (1)의 경우에는 인트라 DC 계수를 처리하기 위해서는 DC 사이즈(dct-dc-size)와 DC 차이값(dct-dc-differentia1)이 필요함에 따라(런, 레벨) 데이타로 표현할 수 없다.In the case of (1), the DC size (dct-dc-size) and the DC difference value (dct-dc-differentia1) are not necessary (run, level) data to process the intra DC coefficient.

그리고, 상기 (2)의 경우에는 전송해야할 계수가 없는 블럭(skipped macroblock)은 매크로 블럭 단위로 발생하므로 최대 1 블럭의 크기에 한정되어 있는 런(run)으로는 표현할 수 없다.In the case of (2), since a macroblock having no coefficient to be transmitted is generated in macroblock units, it cannot be expressed as a run limited to a maximum size of one block.

또한, 상기 (3)의 경우도 마찬가지로, 코딩되지 않은 블럭(notcoded block)은 1블럭 이상이 될 수 있으므로 런(run)으로 표현할 수 없다.Similarly, in the case of (3) above, an uncoded block can be one or more blocks, and thus cannot be expressed as a run.

그리고, 상기 (4)의 경우에 블럭 종료(EOB)는 블럭 내에서 더 이상계수가 없다는 것을 의미하며 블럭의 나머지를 0으로 설정하라는 것이므로 (런, 레벨) 데이타로 표현 가능하나 그 특성상 예외로 처리하였다.In the case of (4), the block end (EOB) means that there are no more coefficients in the block, and since the rest of the block is set to 0, it can be expressed as (run, level) data. It was.

상기와 같이 예외를 처리하기 위해서는 (런, 레벨) 데이타의 포맷을 규정하여야 한다.In order to handle exceptions as above, the format of the (run, level) data must be defined.

따라서, 본 발명에 따른 줄길이 복호기의 입력 데이타 포맷팅 방법은, 줄길이 복호기로 입력되는 입력 데이타가 (런, 레벨) 데이타이면, 레벨(leve1) 데이타를 최하위 1번째 비트부더 12번째 비트까지 할당하고, 런(run) 데이타를 13번째 비트부터 18번째 비트까지 할당하며, 지시자(IND)를 최상위 비트인 19번재 비트에 할당한다.Therefore, in the input data formatting method of the line length decoder according to the present invention, if the input data input to the line length decoder is (run, level) data, the level (leve1) data is allocated to the 12th bit of the least significant first bit The run data is allocated from the 13th bit to the 18th bit, and the indicator (IND) is allocated to the 19th bit, which is the most significant bit.

상기와 같은 방법에 의해 형성된 (런, 레벨) 데이타의 포맷은 제 3 도 (a)에 도시된 바와 같이,1번재 비트부터 12번째 비트까지의 12 비트는 레벨(leve1) 데이타가 실리고, 13번째 부터 18번재 까지의 6 비트는 런(run) 데이타가 실리며,19먼깨 비트는 0의 지시자(IND)가 실려있는 구조로 되어 있다.In the format of the (run, level) data formed by the above method, as shown in FIG. 3 (a), 12 bits from the first bit to the 12th bit are loaded with the level (leve1) data and the 13th bit. 6 bits from 18 to 18 carry run data, and 19 first bits have a structure of 0 indices (IND).

이때, 상기 지시자(lND)가 0이면 (런, 레벨) 데이타를 일반적인 줄길이 복호화 과정을 수행하여 처리하고, 상기 지시자(IND)가 1이면 (런, 레벨) 데이타를 예외 처리를 하라는 것을 의미한다.In this case, when the indicator lND is 0, the (run, level) data is processed by performing a general line length decoding process, and when the indicator (IND) is 1, it means that the (run, level) data should be exception processed. .

한편, 줄길이 복호기로 입력되는 입력 데이타가 인트라 DC 계수(intra DC coefficient) 데이타이면, DC 차이(dct-dc-differential)값을 최하위 1번째 비트부터 10번째 비트까지 할당하고, 인트라 DC 정밀도(intra-dc-precision:PREC)를 11번째 비트와 12 번째 비트에 할당하며, 식별자(ID)를 13번째 비트와 14번재 비트에 할당하고, DC 크기(dct-dc-size)를 15번째 비트부터 l8변재 비트까지 할당하며, 지시자(IND)를 최상위 비트인 19번재 비트에 할당한다.On the other hand, if the input data input to the line length decoder is intra DC coefficient data, the DC difference (dct-dc-differential) value is allocated from the least significant first bit to the tenth bit, and the intra DC precision (intra -dc-precision (PREC) is assigned to the 11th and 12th bits, the identifier (ID) is assigned to the 13th and 14th bits, and the DC size (dct-dc-size) from the 15th bit to l8 Allocate even the victim bit and assign the indicator (IND) to the most significant bit, the 19th bit.

상기와 같은 방법에 의해 형성된 인트라 DC 계수 데이타의 포맷은 제 3 도 (b)에 도시된 바와 같이, 1번째 비트부터 10번째 비트까지의 1O 비트에는 DC 차이(dct-dc-differential) 데이타가 실리고, 11번째비트 및 12 번째 비트의 2비트에는 DC 장밀도(intra-dc-precision:PREC)가 실리며, 13번째 비트 빛 14번째 비트의 2비트에는 식별자(ID)가 실리고,15번째 비트부터 18번째 비트 까지의 4비트에는 DC 크기(dct-dc-size) 데이타가 실리며, 19번째 비트에는 1의 지시자(IND)가 실려있는 구조로 되어 있다.In the format of the intra DC coefficient data formed by the above method, as shown in FIG. 3 (b), DC difference (dct-dc-differential) data is loaded on 10 bits from the 1st bit to the 10th bit. In the 2nd bit of the 11th and 12th bits, DC long-precision (PREC) is carried.In the 13th bit, 14th bit, the 2nd bit carries an identifier (ID). DC size (dct-dc-size) data is carried on 4 bits up to the 18th bit, and an indicator (IND) of 1 is loaded on the 19th bit.

이때, 상기 식별자(lD)는 OO 또는 11값을 갖게 되어 현재 입력값이 DC 계수임을 알려준다.At this time, the identifier (1D) has a value of OO or 11 to inform that the current input value is a DC coefficient.

또한, 상기 식별자(ID)가 11 일때는 OO 일때와 마찬가지로 현재 입력값이 DC 계수임을 알려줌과 더불어 슬라이스(slice)의 첫번째 DC 계수임을 알려 주는 것이다. 이때, 상기 식별자(ID) 11에 의해 슬라이스가 시작됐다는 것을 알려주는 것이나 인트라 DC 정밀도(intra-dc-precision:PREC)를 창조할 수 있는 능력은 별도의 외부 신호에 의해 주어지는 것이 아니고, 레벨(1eve1)의 포맷에 맞춘 것이므로 간결한 구조로 이루어진다.In addition, when the identifier ID is 11, as in the case of OO, it indicates that the current input value is a DC coefficient and also indicates that it is the first DC coefficient of the slice. In this case, the ID 11 indicates that the slice has been started or the ability to create intra-dc precision (PREC) is not given by a separate external signal, but the level (1eve1). It is designed according to the format of).

그리고, 줄길이 복호기로 입력되는 입력 데이타가 전송해야할 계수가 없는 매크로블럭(skipped macroblock) 데이타이면, 전송해야할 계수가 없는 블럭의 수(skipped macroblock number)를 최하위 1번째 비트부터 7번째 비트까지 할당하고, 식별자(ID)를 13번째 비트와 14번째비트에 할당하며, 지시자(lND)를 최상위 비트인 19번째 비트에 할당한다. 이때, 8 내지 12 번째 비트와 15 내지 18번째 비트는 유예(Reserved)비트로 남겨둔다.If the input data inputted to the line length decoder is a macroblock data having no coefficient to be transmitted, the number of skipped macroblock numbers to be transmitted is allocated from the lowest 1st bit to the 7th bit. The identifier ID is allocated to the 13th bit and the 14th bit, and the indicator lND is assigned to the 19th bit, which is the most significant bit. At this time, the 8th to 12th bits and the 15th to 18th bits are reserved bits.

상기와 같은 방법에 의해 형성된 전송해야할 계수가 없는 매크로블럭 데이타의 포맷은 제 3 도 (c)에 도시된 바와 같이, 1번째 비트부터 7번째 비트까지의 7 비트에는 전송해야할 계수가 없는 블럭의 수(skipped macrob1ock number: SKN)가 실리고,8 내지 12비트는 유예(Reserved)비트로서 사용하지 않고, 13번째 비트 및 14번째 비트의 2비트에는 식별자(lD)가 실리며,15 내지 18번재 비트는 유예비트로서 사용하지 않고, 19번째 비트에는 1의 지시자(IND)가 실려있는 구조로되어 있다.The format of the macroblock data without coefficients to be transmitted formed by the above method is the number of blocks without coefficients to be transmitted in 7 bits from the 1st bit to the 7th bit, as shown in FIG. (skipped macrob1ock number: SKN) is loaded, 8 to 12 bits are not used as reserved bits, 2 bits of the 13th and 14th bits have an identifier (lD), and 15 to 18th bits are used. Instead of being used as a reserved bit, the 19th bit has a structure in which an indicator IND of 1 is loaded.

이때, 상기 전송해야할 계수가 없는 매크로블럭의 수(SKN)는 매크로 블럭 단위로 발생하며 최대 1 슬라이스까지 고려하여야 함에 따라 전송해야할 계수가 없는 최대 매크로블럭의 수는 120이다. 따라서, 전송해야할 계수가 없는 매크로블럭의 수에 ㅂ;트를 할당한다.In this case, the number of macroblocks (SKN) without coefficients to be transmitted is generated in units of macroblocks, and the maximum number of macroblocks without coefficients to be transmitted is 120 because the maximum number of slices must be considered. Thus, we assign a hit to the number of macroblocks that have no coefficient to transmit.

그리고, 상기 식별자(lD)는 1을 갖게 되어 헌재 입력이 전송해야할 계수가 없는 매크로블럭의 데이타임을 알려주는 것이다. 이때, SKN=0이면 다음 매크로블럭으로 도약(skip)하고, SKN=1 이면 2개의 매크로 블럭을 도약(skip)하게 되는 것이다.The identifier lD has a value of 1, indicating that the current input is data of a macroblock having no coefficient to be transmitted. At this time, if SKN = 0, skip to the next macro block, and if SKN = 1, two macro blocks are skipped.

한편, 줄길이 복호기로 입력되는 입력 데이타가 코딩되지 않은 블럭(not coded b1ock) 또는 블럭 종료(EOB: end of b1ock) 데이타이면, 코딩되지 않은 블럭의 수(not coded b1ock number)를 최하위 1번째 비트부터 3번째 비트까지 할당하고, 비트 4 내지 비트 12는 유예(Reserved)비트로서 사용하지 압고, 식별자(ID)를 13번째 비트와 14번째 비트에 할당하며, 비트 15 내지 비트 18도 유예(Reserved)비트로서 사용하지 않고, 지시자(lND)를 최상위 비트인 19번째 비트에 할당한다.On the other hand, if the input data input to the line length decoder is not coded b1ock or end of b1ock (EOB) data, the least significant first bit is used as the not coded b1ock number. To bit 3 to bit 3, bit 4 to bit 12 should not be used as reserved bits, assign an identifier (ID) to bit 13 and bit 14, and bit 15 to bit 18 also reserved. Instead of being used as a bit, the indicator lND is assigned to the 19th bit, which is the most significant bit.

상기와 같은 방법에 의해 형성된 코딩되지 않은 블럭 및 블럭 종료데이타의 포맷은 제 3 도 (d)에 도시된 바와 같이, 1번째 비트부터 3번째 비트까지의 3 비트에는 코딩되지 않은 블럭의 수(not coded b1ocknumber:NCB)가 실리고, 13번째 비트 및 14번째 비트의 2비트에는 식별자(ID)가 실리며, 19번째 비트에는 1의 지시자(lND)가 실려있는 구조로 되어 있다. 이때 비트 4 내지 비트 12와 비트 15 내지 비트 18은 유예(Reserved)비트로서 사용하지 않는다.The format of the uncoded block and block end data formed by the above method is the number of uncoded blocks in three bits from the first to third bits, as shown in FIG. coded b1ocknumber (NCB) is carried, an identifier (ID) is carried in two bits of the thirteenth and fourteenth bits, and an indicator (1ND) of one is carried in the nineteenth bit. Bits 4 through 12 and bits 15 through 18 are not used as reserved bits.

이때, 상기 코딩되지 않은 블럭의 수(NCB)는 블럭 단위로 발생하며 최대 1 매크로블럭(4개의 휘도블럭과 2개의 색차신호 블럭)까지 고려하여야 함에 따라 코딩되지 않은 블럭의 수는 최대 6이다. 따라서, 코딩되지 않은 블럭의 수에 3비트를 할당하였다.At this time, the number of uncoded blocks (NCB) is generated in units of blocks, and up to one macroblock (four luminance blocks and two chrominance signal blocks) must be taken into account, so the number of uncoded blocks is up to six. Therefore, 3 bits are allocated to the number of uncoded blocks.

그리고, 상기 식별자(lD)는 10을 갖게 되어 현재 입력이 코딩되지 않은 블럭 데이타임을 알려주는 것이다.The identifier lD has a value of 10 indicating that the current input is uncoded block data.

또한, 블럭 종료(EOB) 데이타일 경우에는 상기 코딩되지 않은 블럭 데이타와 동일하게 처리되며, 단지 상기 코딩되지 않은 블럭의 수(NCB)가 OOO의 값을 갖게 된다.Also, in the case of block end (EOB) data, it is processed in the same way as the uncoded block data, and only the number (NCB) of the uncoded blocks has a value of OOO.

따라서, 상기 코딩되지 않은 블럭의 수(NCB)가 0이면 다음 블럭으로 도약(skip)하게 되고, 코딩되지 않은 블럭의 수(NCB)가 1 이면 2개의 블럭으로 도약하는 것이다.Thus, if the number of uncoded blocks (NCB) is zero, the next block is skipped. If the number of uncoded blocks (NCB) is 1, two jumps are made.

상기와 같은 본 발명은 따른 줄길이 복호기의 입력 데이타 포맷팅 방법은 가변장 길이 복호기에서 수행할 수 있으며, 별도의 포맷팅부를 형성시켜 포맷팅을 수행할 수 있는 것이다.According to the present invention as described above, the input data formatting method of the line length decoder may be performed by a variable length decoder, and the formatting may be performed by forming a separate formatting unit.

상기와 같은 본 발명에 따르면, 줄길이 복호기에서 (런, 레벨) 데이타 이외에 처리해야하는 각종 데이타를 추출하기 용이할 뿐만 아니라, 인트라 DC 정밀도(intra-dc-precision)와 슬라이스 시작(slicestart)을 입력 data에 포함시킴으로써 위의 두신호에 대해 별도의 외부신호를 필요로 하지 않게 되는 것이다.According to the present invention as described above, not only is it easy to extract various data to be processed in addition to the (run, level) data in the line length decoder, but also intra-dc-precision and slice start are input data. By including in the above two signals do not need a separate external signal.

그리고, 현재의 매크로블럭이 인트라(intra) 인지 혹은 논 인트라(non intra) 인지를 알고 있을 필요가 있는데, 이 정보를 식별자(ID)로 얻들 수 있다. 즉, 식별자(ID)가 OO,11 이면 현재의 입력 데이타는 인트라 DC 계수 이므로 현재의 매크로블럭이 인트라임을 알 수 있게 되는 것이다.And, it is necessary to know whether the current macroblock is intra or non intra, and this information can be obtained as an identifier (ID). That is, if the identifier ID is OO, 11, the current input data is an intra DC coefficient, and thus the current macroblock is intra.

또한, 전송해야할 계수가 없는 매크로블럭의 수(SKN)와 코딩되지 않은 블럭의 수(NCB)를 동일한 카운터에 저장할 수 있어, 상기 전송해야 할 계수가 없는 매크로블럭의 수(SKN)와 코딩되지 않은 블럭의 수(NCB) 각각을 위한 카운터가 필요하지 않게 되는 것이다.In addition, the number of macroblocks without coefficients to be transmitted (SKN) and the number of uncoded blocks (NCB) can be stored in the same counter, so that the number of macroblocks without coefficients to be transmitted (SKN) and uncoded There is no need for a counter for each of the number of blocks (NCB).

Claims (3)

줄길이 복호기로 입력되는 입력 데이타를 그 내용에 따라 19비트 데이타로 포맷팅하는 방법에 있어서, 상기 입력 데이타가 (런, 레벨) 데이타이면, 레벨(leve1) 데이타를 최하위 1번째 비트부터 12번째 비트까지 할당하고, 런(run)데이타를 13번째 비트부터 18번째 비트까지 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하고, 상기 입력 데이타가 인트라 DC 계수(intra DC coefficient) 데이타이면, DC 차이(dct-dc-differentia1)값을 최하위 1번째 비트부터 10번째 비트까지 할당하고, 인트라 DC 정밀도(intra-dc-precision)를 11번째 비트와 12 번째 비트에 할당하며,식별자(lD)를 13번째 비트와 14번째 비트에 할당하고, DC 크기(dct-dc-size)를 15번째 비트부터 18번째 비트 까지 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하는 것을 특징으로 하는 줄길이 복호기의 입력 데이타 포맷팅 방법.A method of formatting input data input to a line length decoder into 19-bit data according to its contents. If the input data is (run, level) data, the level (leve1) data from the least significant first bit to the twelfth bit. Assigns run data from the 13th to 18th bits, assigns an indicator to the 19th bit, which is the most significant bit, and if the input data is intra DC coefficient data, the DC difference ( Allocate the dct-dc-differentia1 value from the least significant 1st bit to the 10th bit, assign intra-dc-precision to the 11th and 12th bits, and assign the identifier (lD) to the 13th bit. And 14th bit, DC size (dct-dc-size) from 15th to 18th bit, and indicator to 19th bit, the most significant bit. How to format it. 제 1 항에 있어서, 상기 지시자가 0이면 정상적인 (런,레벨) 데이타 포맷을 나타내고, 1이면 예외처리를 위한 데이타 포맷을 나타내는 것을 특징으로 하는 줄길이 복호기의 입력 데이타 포맷팅방법.The method of claim 1, wherein the indicator indicates a normal (run, level) data format, and a value of 1 indicates a data format for exception processing. 제 1 항에 있어서, 상기 입력 데이타 포맷팅 방법은 상기 입력 데이타가 전송해야할 계수가 없는 매크로블럭(skipped macrob1ock) 데이타이면, 전송해야할 계수가 없는 블럭의수(skipped macrob1ock number)를 최하위 1번째 비트부터 7번째 비트까지 할당하고, 식별자를 13번째 비트와 14번째 비트에 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하고, 상기 입력 데이타가 코딩되지 않은 블럭(not coded block) 또는 블럭 종료(end of b1ock) 데이타이면, 코딩되지 않은 블럭의 수(not coded block number)를 최하위 1번째 비트부터 3번째 비트까지 할당하고, 식별자를 13번째 비트와 14번째 비트에 할당하며, 지시자를 최상위 비트인 19번째 비트에 할당하는 것을 특징하는 줄길이 복호기의 입력 데이타 포맷팅 방법.2. The method of claim 1, wherein the input data formatting method comprises: if the input data is skipped macrob1ock data having no coefficients to be transmitted, the number of the skipped macrob1ock numbers having no coefficients to be transmitted is determined from the least significant first 7 bits. The first bit, the identifier to the 13th bit and the 14th bit, the indicator to the most significant bit, the 19th bit, and the input data is not coded block or end of block. b1ock) data, assigns the not coded block number from the least significant 1st bit to the 3rd bit, assigns the identifier to the 13th and 14th bits, and assigns the indicator to the 19th most significant bit. An input data formatting method of a line length decoder characterized by being assigned to bits.
KR1019950069160A 1995-12-30 1995-12-30 The input data formatting method in run length decoder KR100215563B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950069160A KR100215563B1 (en) 1995-12-30 1995-12-30 The input data formatting method in run length decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950069160A KR100215563B1 (en) 1995-12-30 1995-12-30 The input data formatting method in run length decoder

Publications (2)

Publication Number Publication Date
KR970057906A KR970057906A (en) 1997-07-31
KR100215563B1 true KR100215563B1 (en) 1999-08-16

Family

ID=19448320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950069160A KR100215563B1 (en) 1995-12-30 1995-12-30 The input data formatting method in run length decoder

Country Status (1)

Country Link
KR (1) KR100215563B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771596B1 (en) * 2001-01-05 2007-10-31 엘지전자 주식회사 Apparatus and method for decoding of digital camcorder format image

Also Published As

Publication number Publication date
KR970057906A (en) 1997-07-31

Similar Documents

Publication Publication Date Title
JP3992303B2 (en) Signal compression apparatus, signal expansion apparatus, signal compression method, and signal expansion method
US7843998B2 (en) Method for improved entropy coding
CA2452550C (en) An apparatus and method for encoding digital image data in a lossless manner
JP4308138B2 (en) Context-based adaptive variable length coding for adaptive block transform
KR100718134B1 (en) Method and apparatus of encoding/decoding video data using bitrate adaptive binary arithmetic coding
JP4354520B2 (en) Encoder
CN111083476B (en) Method for encoding and decoding video data, and video data encoder and decoder
JPH0377477A (en) Method and apparatus for variable length coding
JPH08280020A (en) Digital video signal encoding device
JP2011507450A (en) Variable length coding method and apparatus
JPH10243399A (en) Code amount controller and moving image encoder provided with the same
JPH10224230A (en) Run length coder
GB2496201A (en) Context adaptive data encoding and decoding
KR101710619B1 (en) Method and apparatus for successively encoding/decoding image
JP3105906B2 (en) Image processing device
KR100936208B1 (en) H.264/avc encoder, encoding method for lossless context adaptive binary arithmethic encoding
KR100215563B1 (en) The input data formatting method in run length decoder
JPH06105296A (en) Variable length encoding and decoding method
KR0160616B1 (en) Digital image compressing method and device
KR100195717B1 (en) A variable length decoder
KR100195715B1 (en) A variable length decoder
KR100210389B1 (en) A run length encoder
KR100195716B1 (en) A variable length decoder
KR100195722B1 (en) A variable length decoder
KR100327364B1 (en) Image compression device using multiple huffman table

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120503

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee