KR100251309B1 - End of block signal generator for run length coder - Google Patents

End of block signal generator for run length coder Download PDF

Info

Publication number
KR100251309B1
KR100251309B1 KR1019970027627A KR19970027627A KR100251309B1 KR 100251309 B1 KR100251309 B1 KR 100251309B1 KR 1019970027627 A KR1019970027627 A KR 1019970027627A KR 19970027627 A KR19970027627 A KR 19970027627A KR 100251309 B1 KR100251309 B1 KR 100251309B1
Authority
KR
South Korea
Prior art keywords
run
output
level
odd
multiplexer
Prior art date
Application number
KR1019970027627A
Other languages
Korean (ko)
Other versions
KR19990003697A (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 KR1019970027627A priority Critical patent/KR100251309B1/en
Publication of KR19990003697A publication Critical patent/KR19990003697A/en
Application granted granted Critical
Publication of KR100251309B1 publication Critical patent/KR100251309B1/en

Links

Images

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

PURPOSE: An apparatus for generating an end signal of a run length coder is provided to output an EOB(End of Block) signal after adding (0,0) if an odd number of (run, level) is generated in one block, thereby easily fitting timing in a variable length coder. CONSTITUTION: An odd/even detecting part(310) detects whether the number of (run, level) generated by run length-coding DCT(Discrete Cosine Transform) coefficients of one block is an odd number or an even number. An end timing detecting part(320) detects run length coding ending timing to the DCT coefficients of one block. The second multiplexor(330) provides a predetermined logic value or the output of the odd/even detecting part(310) according to the output of the end timing detecting part(320). The third multiplexor(332) outputs the second run or 0 generated at a run value generating part(340) according to the output of the second multiplexor(330). The fourth multiplexor(334) outputs the second level or 0 generated at a level value generating part(350) according to the output of the second multiplexor(330).

Description

줄길이 부호기의 종료신호 발생장치End signal generator of line length encoder

본 발명은 영상 데이터를 압축 부호화시에 영상 데이터의 통계적 중복성을 제거하기 위한 줄길이 부호기(RUN LENGTH CODER)에 관한 것으로, 좀더 상세하게는 이산 여현 변환 부호화(Discrete Cosine Transform: 이하, DCT라 칭함) 및 양자화 과정을 거친 DCT 계수값들을 '0'의 값을 갖는 계수의 수와 바로 연속되는 '0'이 아닌 계수값으로 이루어진 2차원 심볼로 만드는 줄길이 부호기에 관한 것이다.The present invention relates to a run length coder (RUN LENGTH CODER) for removing statistical redundancy of image data during compression encoding of image data. More specifically, Discrete Cosine Transform (hereinafter referred to as DCT) And a line length coder for quantizing DCT coefficient values into a two-dimensional symbol consisting of a number of coefficients having a value of '0' and a coefficient value other than '0' immediately following.

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

이러한 이유에서 영상 데이터에 대한 압축 기법들이 많이 개발되어 왔으며, 이러한 영상 데이터 압축 기술은 영상신호가 갖는 공간적 중복성, 시간적 중복성, 통계적 중복성을 제거하므로써 영상을 표시하는데 요구되는 데이터량을 줄이는 것이다.For this reason, many compression techniques for image data have been developed, and this image data compression technique reduces the amount of data required to display an image by removing spatial redundancy, temporal redundancy, and statistical redundancy of the image signal.

상기와 같은 영상 데이터 압축 기법은 정지 영상(동일 프레임 내)에 존재하는 공간적 중복성을 제거하기 위한 프레임내(intraframe) 부호화와, 동영상(연속되는 프레임들간)에 존재하는 시간적 중복성을 제거하기 위한 프레임간(interframe) 부호화로 나눌 수 있다.Such image data compression techniques include intraframe encoding to remove spatial redundancy present in still images (in the same frame), and interframe elimination for removing temporal redundancy present in video (between consecutive frames). Can be divided into (interframe) coding.

상기 공간적 중복성을 제거하기 위한 프레임내 부호화는 변환 부호화(transform coding)의 일종인 이산 여현 변환 부호화(DCT) 및 양자화를 예로 들 수 있으며, 상기 시간적 중복성을 제거하기 위한 프레임간 부호화의 일 예로는 시간적으로 인접한 두 화면간의 움직임을 추정하여 보상함으로써, 시간적인 중복성을 제거하는 움직임 추정/보상 부호화(motion estimation/compensation coding)를 들 수 있다.Intra-frame coding for removing spatial redundancy includes discrete cosine transform coding (DCT) and quantization, which are a type of transform coding, and an example of inter-frame coding for removing the temporal redundancy is temporal. For example, motion estimation / compensation coding may be performed by estimating and compensating for motion between two adjacent screens.

그리고, 상기 DCT 및 양자화 과정을 거친 DCT 계수값들을 엔트로피 부호화하여 통계적 중복성(statistical redundancy)을 제거하는 것이다. 즉, 상기 엔트로피 부호화(entropy coding)는, 양자화된 화소의 발생빈도가 다르게 분포되어 있으므로 통계적 특성을 이용하여 비트 발생율을 최소로 감축시키기 위한 무손실 부호화 알고리즘을 말한다.The DCT and quantized DCT coefficient values are entropy-encoded to remove statistical redundancy. That is, the entropy coding refers to a lossless coding algorithm for minimizing the bit rate by using statistical characteristics since the frequency of occurrence of quantized pixels is distributed differently.

이러한 엔트로피 부호화 기법에는 줄길이 부호화(Run Length Coding : RLC) 기법과, 허프만 부호화 기법을 이용한 가변장 부호화(Variable Length Coding : VLC) 기법 및, 비트 프레인 부호화(Bit Plane Coding : BPC) 기법 등 여러가지가 있으나 줄길이 부호화 및 가변장 부호화 기법이 널리 이용되고 있다.Such entropy coding techniques include Run Length Coding (RLC), Variable Length Coding (VLC) using Huffman Coding, and Bit Plane Coding (BPC). However, line length coding and variable length coding are widely used.

여기서, 줄길이 부호화(RLC)는 주로 이산 여현 변환 부호화(DCT)와 같은 변환 부호화의 압축 효율을 증가시키기 위해 사용되는 것이다. 일반적으로 영상신호가 DCT 변환되어 생성된 DCT 계수들을 살펴보면 대부분의 에너지가, 낮은 주파수 계수에 집중되고 높은 주파수 계수들은 거의 '0'에 가까운 값을 갖게 되는 것을 알 수 있다. 따라서 양자화된 DCT계수들을 지그-재그 스캔(zig-zag scan)하여 낮은 주파수부터 높은 주파수 순으로 정렬하면, 상대적으로 긴 '0'의 1차원 데이터 열이 만들어진다. RLC는 상기와 같이 만들어진 데이터 열에서 계속되는 '0'의 갯수와 바로 연속되는 '0'이 아닌 계수값으로 구성된 (런,레벨)의 2차원 심볼을 만드는 것이다.Here, line length coding (RLC) is mainly used to increase the compression efficiency of transform coding such as Discrete Cosine Transform Coding (DCT). In general, when looking at the DCT coefficients generated by the DCT conversion of the video signal, it can be seen that most of the energy is concentrated in the low frequency coefficient and the high frequency coefficients are nearly zero. Accordingly, when the quantized DCT coefficients are zig-zag scanned and sorted from low frequency to high frequency, a relatively long '0' one-dimensional data string is created. RLC creates a two-dimensional symbol of (run, level) consisting of the number of '0's continuing in the data sequence created above and the non-zero coefficient values immediately following it.

상기 줄길이 부호화는 주로 이산여현 부호화(DCT)와 같은 변환 부호화의 압축 효율을 증가시키기 위해 사용되는 것으로, DCT 계수들은 일반적으로 대부분의 에너지가 낮은 주파수에 집중되고, 높은 주파수 성분들은 거의 '0'에 가까운 값을 갖게 됨에 따라 지그-재그 주사(zig-zag scan)를 하여 가능한 한 긴 '0'의 1차원 데이터 열로 만든 다음 계속되는 '0'의 갯수와 바로 연속되는 '0'이 아닌 계수값으로 구성된 2차원 심볼을 만드는 것이다.The length coding is mainly used to increase the compression efficiency of transform coding such as Discrete Cosine Coding (DCT). DCT coefficients are generally concentrated at low energy, and high frequency components are almost '0'. Zig-zag scan is used to create a one-dimensional column of '0' data as long as possible, followed by a number of '0's and a non-zero count value immediately following it. It is to create a composed two-dimensional symbol.

그리고, 상기 가변장 부호화는 부호화되는 심볼의 확률적 분포에 따라 자주 발생되는 심볼에는 작은 비트를 할당하고, 발생 빈도가 낮은 심볼에 대해서는 많은 비트를 할당하여 전체적으로 비트 발생율을 최소화하는 기법이다. 이러한 가변장 부호화에는 여러가지 종류가 있으나, 현재에는 구현이 용이한 허프만 부호화가 널리 사용되고 있다.In addition, the variable length coding is a technique of allocating a small bit to a symbol that is frequently generated according to a probability distribution of a symbol to be encoded, and assigning a large number of bits to a symbol having a low frequency of occurrence, thereby minimizing the bit generation rate as a whole. There are many kinds of such variable length coding, but Huffman coding which is easy to implement is now widely used.

한편, 도 1은 일반적인 영상 부호기의 구성을 개략적으로 나타낸 블록도로서, H.261, MPEG-1, MPEG-2 등의 많은 표준화된 부호기에서 사용되는 것이다. 즉, 이산 여현 변환부(DCT)(11)에서는 픽셀간의 상관성을 제거하기 위하여 프레임간 차 영상을 예를 들면, 8??8 픽셀의 블록으로 이산 여현 변환하여 이산 여현 변환 계수(DCT 계수)를 출력하고, 양자화기(12)에서는 상기 이산여현 변환부(11)에서 출력되는 프레임간 차 영상의 이산 여현 변환 계수(DCT 계수)를 소정의 양자화 스텝 사이즈로 양자화하여 출력한다.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, and MPEG-2. That is, the discrete cosine transforming unit (DCT) 11 performs discrete cosine transforming of the inter-frame difference image into a block of 8 ?? 8 pixels, for example, to remove the correlation between the pixels. The quantizer 12 quantizes and outputs the discrete cosine transform coefficients (DCT coefficients) of the interframe difference image output from the discrete cosine transform unit 11 to a predetermined quantization step size.

상기 양자화기(12)에서 양자화된 DCT 계수는 지그-재그 스캐닝 과정을 거쳐 1차원 데이터 열로 변환되어 줄길이 부호기(14)로 입력되고, 상기 줄길이 부호기(14)는 지그-재그 스캐닝된 DCT 계수를 줄길이 부호화한 다음 가변장 부호기(15)로 입력하며, 상기 가변장 부호기(15)는 상기 줄길이 부호기(14)에서 줄길이 부호화된 데이터를 허프만 테이블에 의해 가변장 부호한 다음 버퍼(도시하지 않음)로 출력하는 것이다.The quantized DCT coefficients quantized by the quantizer 12 are converted into a one-dimensional data stream through a zig-zag scanning process, input to a line length encoder 14, and the line length encoder 14 is a zig-zag scanned DCT coefficient. Is coded into the variable length encoder 15, and the variable length encoder 15 variable length codes the data length-encoded by the line length encoder 14 using a Huffman table and then buffers the data. Will not be printed).

이때, 상기 줄길이 부호기(14)는 입력된 데이터가 Intra DC 계수인 경우에는 DC 크기(DC size)와 DC 차이(DC difference)를 출력하고, 그 외의 나머지 계수는 계속되는 '0'의 갯수와 바로 연속되는 '0'이 아닌 계수값으로 구성된 (런, 레벨)의 2차원 심볼을 만들어 출력한다. 즉, 상기 Intra DC 계수의 경우에는 이웃하는 블록의 DC 계수간의 차이값을 부호화하는 것으로, DC 크기와 DC 차이로 나누어져 부호화 되는데, DC 크기가 '0'이면 DC 크기의 코드만 전송되고, DC의 크기가 '0'이 아니면 그 뒤에 DC 크기의 비트 수 만큼 DC 차이값을 전송하는 것이다.In this case, when the input data is an Intra DC coefficient, the line length encoder 14 outputs a DC size and a DC difference, and the remaining coefficients are immediately followed by the number of '0's. Creates and outputs a 2D symbol of (run, level) consisting of consecutive nonzero values. That is, in the case of the Intra DC coefficient, the difference value between the DC coefficients of neighboring blocks is encoded. The DC coefficient is divided into a DC size and a DC difference. If the DC size is '0', only a DC size code is transmitted. If the size of is not '0', then the DC difference value is transmitted by the number of bits of the DC size.

또한, Intra DC 계수를 제외한 나머지 계수는 주로 지그-재그 주사를 통하여 1차원으로 정렬한다. 여기서 '0'이 연속적으로 나타나는 갯수(zero-run)와 '0'이 아닌 계수들의 값(level value)을 (런, 레벨)의 2차원으로 표현한다. 예를 들어, 지그-재그 스캔이 되어, 30, 2, 0, 0, -8. 0, 0, 0, 9 ??????와 같이 정렬된 DCT 계수는 줄길이 부호기(14)를 통하여 (0, 30), (0, 2), (2, -8), (3, 9) ?????? 와 같이 표현된다.In addition, the remaining coefficients except the Intra DC coefficient are aligned in one dimension mainly through a zigzag scan. Here, zero-runs and zero-level coefficients of zero levels are expressed in two dimensions (run and level). For example, a zigzag scan can be performed, such as 30, 2, 0, 0, -8. DCT coefficients arranged as 0, 0, 0, 9 ?? are obtained by (0, 30), (0, 2), (2, -8), (3, 9) ?????? It is expressed as

그리고, 지그-재그 주사된 계수들이 어떤 위치 이후에 계속해서 끝까지 '0'이 발생할 경우는 블록의 끝을 나타내는 EOB(end of block) 부호를 추가한다. 또한, 상기와 같이 생성된 (런, 레벨)값을 선입 선출 버퍼(FIFO)에 저장시키기 위한 전송신호를 생성하여야 한다.In addition, when the zig-zag scanned coefficients continue to end after a position, '0' is added, an end of block (EOB) sign indicating the end of the block is added. In addition, a transmission signal for storing the (run, level) value generated as described above in a first-in first-out buffer (FIFO) should be generated.

영상 부호화기에서 종래의 종료신호 발생장치는 도 2에 도시된 바와 같이, 블록시작신호에 따라 시스템 클럭을 카운트하는 카운터(22)와 카운터가 64( 혹은 32)를 카운트하면 종료(EOB)신호를 발생하는 종료신호 발생부(24)로 이루어진다.As shown in FIG. 2, the conventional end signal generator in the image encoder generates an end (EOB) signal when the counter 22 counts the system clock according to the block start signal and the counter counts 64 (or 32). It consists of the end signal generator 24.

그런데 이러한 종래의 종료신호 발생기는 한 시스템 클럭에 2개의 픽셀을 처리하고, 2개의 (런,레벨)을 출력할 경우에 홀수의 (런,레벨)이 발생되는 경우와 짝수의 (런,레벨)이 발생되는 경우를 구분하지 않고, EOB를 부가하여 가변장 부호기에서 종료신호를 처리하는 타이밍이 변동되는 문제점이 있었다. 즉, (런,레벨)이 홀수개로 종료될 경우에 마지막 (런,레벨) 다음에 (0,0)를 부가한 후 EOB를 부가하므로써 짝수개로 종료될 경우와 타이밍을 맞추는 것이 바람직하다.However, such a conventional end signal generator processes two pixels in one system clock and outputs two (run, level), and an odd (run, level) is generated when an odd number of (run, level) occurs. There is a problem in that the timing of processing the end signal in the variable length encoder is changed by adding an EOB without distinguishing a case where this occurs. That is, when (run, level) ends in an odd number, it is preferable to match timing with an even number by ending (0, 0) after the last (run, level) and then adding an EOB.

이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 하나의 시스템 클럭에 2개의 픽셀들을 처리함에 있어서 홀수개의 (런,레벨)로 해당 블록에 대한 줄길이 부호화가 종료될 경우에 소정의 (런,레벨)을 부가한 후 종료신호를 발생하도록 된 종료신호 발생장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problems, and when the line length coding for the corresponding block ends with an odd number of (run, level) in processing two pixels in one system clock. It is an object of the present invention to provide an end signal generator that is configured to generate an end signal after adding a predetermined (run, level).

상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 소정 수의 픽셀들이 모여 형성된 블록단위로 이산여현 변환하고, 이산여현 변환 결과 구해진 DCT계수들을 한 시스템 클럭에 한쌍씩 처리하도록 설계된 영상 엔코더에서 상기 시스템 클럭에 따라 홀수 DCT계수와 짝수 DCT계수를 입력받아 런값 발생부가 제1런과 제2런을 제공하고, 레벨값 발생부가 제1레벨과 제2레벨을 제공하도록 된 장치에 있어서, 상기 한 블록의 DCT 계수들을 줄길이 부호화하여 발생된 (런,레벨)의 수가 홀수 혹은 짝수인지를 검출하는 홀/짝 검출부; 상기 한블록의 DCT 계수들에 대한 줄길이 부호화 종료 타이밍을 검출하기 위한 종료타이밍 검출부; 상기 종료타이밍 검출부의 출력에 따라 소정의 논리값 혹은 상기 홀/짝 검출부의 출력을 제공하는 제2 멀티플랙서; 상기 제2 멀티플랙서의 출력에 따라 상기 런값 발생부에서 발생되는 제2런 혹은 0을 출력하는 제3 멀티플랙서; 상기 제2 멀티플랙서의 출력에 따라 상기 레벨 발생부에서 발생되는 제2레벨 혹은 0을 출력하는 제4 멀티플랙서로 구성된 것을 특징으로 한다.The apparatus of the present invention for achieving the above object, in the image encoder designed to perform discrete cosine transform in a block unit formed by a predetermined number of pixels, and to process a pair of DCT coefficients obtained as a result of the discrete cosine conversion in a system clock pair An apparatus in which a run value generator provides a first run and a second run by receiving an odd DCT coefficient and an even DCT coefficient according to a system clock, and the level value generator provides a first level and a second level. An odd / even detection unit for detecting whether the number of (run, level) generated by the length-length encoding of the DCT coefficients is odd or even; An end timing detector for detecting a line length encoding end timing of the one block of DCT coefficients; A second multiplexer for providing a predetermined logic value or an output of the odd / even detection unit according to the output of the termination timing detection unit; A third multiplexer for outputting a second run or zero generated by the run value generator in accordance with the output of the second multiplexer; And a fourth multiplexer for outputting a second level or zero generated by the level generator according to the output of the second multiplexer.

도 1은 일반적인 영상부호기를 도시한 블록도,1 is a block diagram showing a general video encoder,

도 2는 종래의 줄길이 부호기의 종료신호 발생장치를 도시한 블록도,2 is a block diagram showing an end signal generator of a conventional line length encoder;

도 3은 본 발명에 따른 줄길이 부호기의 종료신호 발생장치를 도시한 블록도이다.3 is a block diagram showing an end signal generator of the line length encoder according to the present invention.

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

310: 홀/짝 검출부 312: 제1 멀티플랙서310: odd / even detection unit 312: first multiplexer

314: 제로계수검출부 318: 디플립플롭314: zero coefficient detection unit 318: flip-flop

316: 합산기 320: 종료 타이밍 검출부316: summer 320: end timing detector

322: 카운터 324: 비교기322: counter 324: comparator

330: 제2 멀티플랙서 332: 제3 멀티플랙서330: second multiplexer 332: third multiplexer

334: 제4 멀티플랙서 340: 런값 발생부334: fourth multiplexer 340: run value generator

342: 제1런 출력부 344: 제2런 출력부342: First run output unit 344: Second run output unit

350: 레벨 발생부 352: 제1레벨 출력부350: level generator 352: first level output

354: 제2 레벨 출력부354: second level output unit

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

도 1은 본 발명이 적용될 수 있는 영상 엔코더의 전체 블록도인데, 이 영상 엔코더는 DCT(11), 양자화기(12), 지그재그 스캐닝부(13), 줄길이 부호기(14), 가변장 부호기(15)를 포함하고 있다. 본 발명의 실시예에서 지그재그 스캐닝부(13)는 양자화된 DCT계수를 지그재그 스캐닝하고, 줄길이 부호기(14)는 한쌍의 픽셀을 순차적으로 입력받아 (런,레벨)쌍을 생성한 후 가변장 부호기(15)로 출력한다.1 is a block diagram of an image encoder to which the present invention can be applied. The image encoder includes a DCT 11, a quantizer 12, a zigzag scanning unit 13, a line length encoder 14, a variable length encoder ( 15) is included. In the exemplary embodiment of the present invention, the zigzag scanning unit 13 performs zigzag scanning of the quantized DCT coefficients, and the line length encoder 14 receives a pair of pixels sequentially to generate (run, level) pairs and then the variable length encoder Output to (15).

본 발명의 실시예에서, 줄길이 부호기(14)로 입력되는 DCT계수는 입력 픽셀이 8x8 블럭 단위로 이산여현 변환된 후 양자화기(12)에서 양자화되고, 지그재그 스캔되어 한 시스템 클럭에 2 픽셀씩 입력되는 DCT계수이다. 따라서 한 블록은 64개의 DCT계수로 이루어지고, 32 시스템 클럭에 의해 한 블록의 픽셀들이 처리된다.In the embodiment of the present invention, the DCT coefficient input to the line length encoder 14 is quantized by the quantizer 12 after the input pixel is discrete cosine transformed in 8x8 block units, and is zigzag scanned and 2 pixels in one system clock. Input DCT coefficient. Therefore, one block is composed of 64 DCT coefficients, and one block of pixels is processed by 32 system clocks.

도 3은 본 발명에 따른 종료신호 발생장치를 도시한 블록도이다. 본 발명의 종료신호 발생장치는 도 3에 도시된 바와 같이, 홀/짝 검출부(310)와 종료 타이밍 검출부(320), 멀티플랙서(330)를 포함하고 있고, 홀/짝 검출부(310)는 제1 멀티플랙서(312), 제로계수검출부(314), 합산기(316), 디플립플롭(318)으로 이루어지며 종료 타이밍 검출부(320)는 카운터(322), 비교기(324)로 이루어진다. 또한, 런값 발생부(340)에는 제1런 출력부(342)와 제2런 출력부(344)가 연결되어 있는데, 제2런 출력부(344)에는 제2런 혹은 0을 선택하기 위한 제3 멀티플랙서(332)가 연결되어 있고, 레벨값 발생부(350)에는 제1레벨 출력부(352)와 제2레벨 출력부(354)가 연결되어 있는데, 제2레벨 출력부(354)에는 제2 레벨 혹은 0을 선택하기 위한 제4 멀티플랙서(334)가 연결되어 있다.3 is a block diagram showing an end signal generator according to the present invention. As shown in FIG. 3, the end signal generator of the present invention includes a hole / pair detector 310, an end timing detector 320, and a multiplexer 330. The first multiplexer 312, the zero coefficient detector 314, the adder 316, and the flip-flop 318 are included. The end timing detector 320 includes a counter 322 and a comparator 324. In addition, the first run output unit 342 and the second run output unit 344 are connected to the run value generator 340, and the second run output unit 344 is configured to select a second run or zero. The three multiplexer 332 is connected, and the first level output unit 352 and the second level output unit 354 are connected to the level value generator 350. Is connected to a fourth multiplexer 334 for selecting a second level or zero.

즉, 런값 발생부(340)에서 발생된 제1런은 제1런 출력부(342)를 통해 그대로 출력되나 제2런은 제2런 출력부(344)에 연결된 제3 멀티플랙서(332)를 통해 출력되고, 레벨값 발생부(350)에서 발생된 제1 레벨은 제1레벨 출력부(352)를 통해 그대로 출력되나 제2 레벨은 제2레벨 출력부(354)에 연결된 제4 멀티플랙서(334)를 통해 출력된다. 따라서 해당 블록에 대한 줄길이 부호화가 완료되는 시점에서 해당 블록의 줄길이 부호화에 의해 발생된 (런,레벨)을 카운트하여 발생된 (런,레벨)이 홀수개이면 제3 및 제4 멀티플랙서(332,334)를 통해 (0,0)이 출력되고, 나머지 경우( 종료시점이 아니거나 종료시점에서 짝수개인 경우 )에는 제2런과 제2레벨이 그대로 출력된다.That is, the first run generated by the run value generator 340 is output as it is through the first run output unit 342, but the second run is connected to the second run output unit 344 by the third multiplexer 332. The first level generated by the level value generator 350 is output through the first level output unit 352 as it is, but the second level is connected to the second level output unit 354 by a fourth multiplex. It is output through the book 334. Therefore, when the length length encoding for the block is completed, the third and fourth multiplexers are counted if the number of (run, levels) generated by the length coding of the block is odd. (0,0) is output through (332,334), and the second run and the second level are output as they are (if not at the end or even at the end).

도 3을 참조하면, 제1 멀티플랙서(312)는 제 1 클럭(CLK1)에 따라 홀수 DCT계수 혹은 짝수 DCT 계수를 입력받는다. 본 발명의 실시예에서는 제1 클럭(CLK1)이 하이이면 홀수 DCT 계수를 입력받아 처리하고, 제 1 클럭(CLK1)이 로우이면 짝수 DCT 계수를 입력받아 처리한다.Referring to FIG. 3, the first multiplexer 312 receives an odd DCT coefficient or an even DCT coefficient according to the first clock CLK1. In the exemplary embodiment of the present invention, when the first clock CLK1 is high, an odd DCT coefficient is input and processed. When the first clock CLK1 is low, an even DCT coefficient is input and processed.

제로계수 검출부(314)는 로직회로로 구현되어 제1 멀티플랙서(312)가 출력하는 홀수 DCT 계수 혹은 짝수 DCT 계수가 제로(0)인지를 판단하여 제로이면 "0"을 출력하고, 제로가 아니면 "1"을 출력한다. 이때 제1 멀티플랙서(312)는 제1 클럭(CLK1)의 하이동안에는 홀수 DCT 계수를 출력하고, 로우 동안에는 짝수 DCT 계수를 출력하므로, 제로계수 검출부(314)는 제 1 클럭(CLK1)동안에 2개의 입력된 DCT 계수를 하나씩 검사할 수 있어야 한다.The zero coefficient detection unit 314 is implemented as a logic circuit to determine whether the odd DCT coefficient or even DCT coefficient output by the first multiplexer 312 is zero, and outputs "0" if zero, and zero Otherwise, print "1". At this time, since the first multiplexer 312 outputs odd DCT coefficients during the high of the first clock CLK1 and even DCT coefficients during the low of the first clock CLK1, the zero coefficient detector 314 outputs 2 during the first clock CLK1. It should be possible to check one input DCT coefficient one by one.

합산기(316)는 0 혹은 1을 출력하는 1비트 합산기로서, 제로계수 검출부(314)가 출력하는 "1"을 디플립플롭(318)의 출력과 합산하여 출력한다. 여기서 제로계수 검출부(314)의 1을 카운트하는 이유는 줄길이 부호화에 의해 발생되는 (런,레벨)의 수는 '0이 아닌 DCT계수의 수'와 동일하기 때문이다. 디플립플롭(318)은 1비트 합산기(316)가 출력하는 값을 저장하고 있다가 다시 합산기(316)로 피드백시킨다. 따라서 1비트 합산기(316)는 제로계수 검출부(314)가 출력하는 1의 수(즉, [런,레벨]의 수)가 홀수면 "1"을 출력하고, 짝수면 "0"을 출력하게 된다.The summer 316 is a 1-bit summer that outputs 0 or 1, and adds " 1 " output from the zero coefficient detection unit 314 to the output of the deflip-flop 318. The reason why the count of the zero coefficient detector 314 is counted is that the number of (run, level) generated by the line length coding is equal to the number of non-zero DCT coefficients. The deflip-flop 318 stores the value output from the 1-bit summer 316 and feeds it back to the summer 316. Therefore, the 1-bit summer 316 outputs "1" if the number of 1s (that is, the number of [run, level]) output by the zero coefficient detector 314 outputs "1" for odd number and "0" for even number. do.

카운터(322)는 블록시작신호에 카운트값을 클리어시킨 후 시스템 클럭에 따라 소정 수를 카운트하고, 비교기(324)는 카운터(322)가 출력하는 카운트값을 소정의 값(예컨대, 한 시스템 클럭에 1 픽셀씩 처리할 경우에는 한 블록의 DCT계수 수에 해당하는 64, 한 시스템 클럭에 2 픽셀씩 처리할 경우에는 한 블록의 DCT계수의 수에 해당하는 32)과 비교하여 해당 블록에 대한 줄길이 부호화가 종료되는 타이밍에 "1"을 출력한다.The counter 322 clears the count value in the block start signal and counts a predetermined number according to the system clock, and the comparator 324 converts the count value output by the counter 322 to a predetermined value (for example, one system clock). The line length of the block is compared with 64 corresponding to the DCT coefficient of one block when processing 1 pixel and 32 corresponding to the number of DCT coefficients of one block when processing 2 pixels per system clock. "1" is output at the timing when encoding ends.

제2 멀티플랙서(330)는 비교기(324)로부터 0이 입력되면 고정된 값 "0"을 출력하다가 종료시점에서 1이 입력되면 합산기(316)의 출력을 선택하여 출력한다. 이때 합산기(316)는 해당 블록의 (런,레벨)이 홀수이면 1을, 짝수이면 0을 출력한다.The second multiplexer 330 outputs a fixed value "0" when 0 is input from the comparator 324, and selects and outputs an output of the summer 316 when 1 is input at the end point. In this case, the summer 316 outputs 1 when the (run, level) of the corresponding block is odd and 0 when the even block is even.

제2런 출력부(344)와 제2레벨 출력부(354)에 연결된 제 3 및 제 4 멀티플랙서(332,334)는 제 2 멀티플랙서(330)가 출력하는 값이 0이면 제2런 출력부 및 제2 레벨 출력부(344 및 354)의 출력을 각각 선택하여 출력하고, 1이면 "0"을 각각 선택하여 출력한다. 따라서 줄길이 부호기에서 홀수개의 (런,레벨)이 발생될 경우에는 마지막 (런,레벨)에 이어 (0,0)이 출력되게 된다.The third and fourth multiplexers 332 and 334 connected to the second run output unit 344 and the second level output unit 354 output the second run when the value of the second multiplexer 330 outputs zero. The outputs of the negative and second level output units 344 and 354 are selected and output, respectively, and if "1", "0" is selected and output respectively. Therefore, if an odd number of (run, level) occurs in the line length encoder, (0,0) is output after the last (run, level).

이상에서 살펴본 바와 같이, 본 발명에 따른 줄길이 부호기의 종료신호 발생장치는 시스템 클럭보다 2배 이상 빠른 클럭을 이용하여 한 시스템 클럭에 한 쌍씩 입력되는 픽셀 데이터를 처리할 경우에 부호화된 결과 한 블록에서 홀수개의 (런,레벨)이 발생되면 이어 (0,0)을 부가한 후 EOB신호를 출력하게 하므로써 가변장 부호기에서 타이밍을 용이하게 감출 수 있는 잇점이 있다.As described above, the end signal generator of the line length encoder according to the present invention uses a clock that is twice as fast as the system clock to process the pixel data inputted in pairs to one system clock. If an odd number of (run, level) is generated at, then (0,0) is added, and then an EOB signal is output, which makes it possible to easily hide timing in a variable length encoder.

Claims (3)

소정 수의 픽셀들이 모여 형성된 블록단위로 이산여현 변환하고, 이산여현 변환 결과 구해진 DCT계수들을 한 시스템 클럭에 한쌍씩 처리하도록 설계된 영상 엔코더에서 상기 시스템 클럭에 따라 홀수 DCT계수와 짝수 DCT계수를 입력받아 런값 발생부(340)가 제1런과 제2런을 제공하고, 레벨값 발생부(350)가 제1레벨과 제2레벨을 제공하도록 된 장치에 있어서,Discrete cosine transform is performed in units of blocks formed by a predetermined number of pixels, and an image encoder designed to process the DCT coefficients obtained as a result of the discrete cosine pair by one system clock is inputted with an odd DCT coefficient and an even DCT coefficient according to the system clock. In the apparatus in which the run value generator 340 provides the first run and the second run, and the level value generator 350 provides the first level and the second level, 상기 한 블록의 DCT 계수들을 줄길이 부호화하여 발생된 (런,레벨)의 수가 홀수 혹은 짝수인지를 검출하는 홀/짝 검출부(310);An odd / even detection unit (310) for detecting whether the number of (run, level) generated by the length-length coding of the DCT coefficients of the block is odd or even; 상기 한 블록의 DCT 계수들에 대한 줄길이 부호화 종료 타이밍을 검출하기 위한 종료 타이밍 검출부(320);An end timing detector 320 for detecting a line length encoding end timing of the DCT coefficients of the one block; 상기 종료 타이밍 검출부의 출력에 따라 소정의 논리값 혹은 상기 홀/짝 검출부의 출력을 제공하는 제2 멀티플랙서(330);A second multiplexer 330 which provides a predetermined logic value or an output of the odd / even detector according to the output of the end timing detector; 상기 제2 멀티플랙서의 출력에 따라 상기 런값 발생부에서 발생되는 제2런 혹은 0을 출력하는 제3 멀티플랙서(332); 및A third multiplexer 332 for outputting a second run or zero generated by the run value generator according to the output of the second multiplexer; And 상기 제2 멀티플랙서의 출력에 따라 상기 레벨 발생부에서 발생되는 제2 레벨 혹은 0을 출력하는 제4 멀티플랙서(334)를 포함하는 것을 특징으로 하는 줄길이 부호기의 종료신호 발생장치.And a fourth multiplexer (334) for outputting a second level or zero generated by the level generator in accordance with the output of the second multiplexer. 제1항에 있어서, 상기 홀/짝 검출부(310)가 시스템 클럭에 따라 홀수 DCT계수 혹은 짝수 DCT계수를 선택하여 출력하는 제1 멀티플랙서(312); 상기 제1 멀티플랙서가 출력하는 DCT계수가 제로인지를 판단하여 소정 값을 출력하는 제로계수 검출부; 상기 제로계수 검출부의 출력을 합산하기 위한 합산기(316); 상기 합산기의 출력을 일시 저장한 후 다시 상기 합산기로 피드백시키기 위한 디플립플롭(318)을 구비한 것을 특징으로 하는 줄길이 부호기의 종료신호 발생장치.The method of claim 1, wherein the odd / even detection unit 310 comprises: a first multiplexer 312 for selecting and outputting an odd DCT coefficient or an even DCT coefficient according to a system clock; A zero coefficient detection unit for determining whether the DCT coefficient output by the first multiplexer is zero and outputting a predetermined value; An adder 316 for summing outputs of the zero coefficient detector; And a deflip-flop (318) for temporarily storing the output of said summer and feeding it back to said summer. 제1항에 있어서, 상기 종료 타이밍 검출부(320)가 블록시작신호에 따라 카운트값을 클리어시킨 후 시스템 클럭을 카운트하는 카운터(322); 상기 카운터의 출력을 소정의 값과 비교하는 비교기(324)를 구비한 것을 특징으로 하는 줄길이 부호기의 종료신호 발생장치.2. The apparatus of claim 1, wherein the end timing detector (320) clears the count value according to the block start signal and counts a system clock; And a comparator (324) for comparing the output of said counter with a predetermined value.
KR1019970027627A 1997-06-26 1997-06-26 End of block signal generator for run length coder KR100251309B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970027627A KR100251309B1 (en) 1997-06-26 1997-06-26 End of block signal generator for run length coder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970027627A KR100251309B1 (en) 1997-06-26 1997-06-26 End of block signal generator for run length coder

Publications (2)

Publication Number Publication Date
KR19990003697A KR19990003697A (en) 1999-01-15
KR100251309B1 true KR100251309B1 (en) 2000-04-15

Family

ID=19511385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970027627A KR100251309B1 (en) 1997-06-26 1997-06-26 End of block signal generator for run length coder

Country Status (1)

Country Link
KR (1) KR100251309B1 (en)

Also Published As

Publication number Publication date
KR19990003697A (en) 1999-01-15

Similar Documents

Publication Publication Date Title
US5774594A (en) Signal compression device
KR0178198B1 (en) Apparatus for encoding an image signal
US7564384B2 (en) Binarizing method and device thereof
KR0180169B1 (en) A variable length coder
JP3743837B2 (en) Run-length encoder
JPH08280020A (en) Digital video signal encoding device
JP2000013799A (en) Device and method for motion compensation encoding and decoding
WO1996019045A1 (en) Syntax-based arithmetic coding for low bit rate videophone
EP2362657A1 (en) Parallel entropy coding and decoding methods and devices
US7830964B2 (en) Method and/or apparatus for parsing compressed video bitstreams
US7158684B2 (en) Entropy coding scheme for video coding
US8385405B2 (en) Recorded medium having program for coding and decoding using bit-precision, and apparatus thereof
KR100251309B1 (en) End of block signal generator for run length coder
KR100251310B1 (en) Transmission signal generator of run length coder
KR100251311B1 (en) Level value generator of run length coder
KR100251312B1 (en) Run value generator of run length coder
KR100221310B1 (en) A transfer signal generator of a run length encoder
KR100195717B1 (en) A variable length decoder
KR100195715B1 (en) A variable length decoder
KR100195720B1 (en) A state controller for variable length decoder
KR100210388B1 (en) Eob signal generator of a run length encoder
KR100210389B1 (en) A run length encoder
KR100245331B1 (en) Run length decoder
KR100195726B1 (en) A circuit for initially driving run-length decoder
JP2668900B2 (en) High efficiency coding device

Legal Events

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

Payment date: 20110103

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee