KR19990003698A - Transmission signal generator of line length encoder - Google Patents

Transmission signal generator of line length encoder Download PDF

Info

Publication number
KR19990003698A
KR19990003698A KR1019970027628A KR19970027628A KR19990003698A KR 19990003698 A KR19990003698 A KR 19990003698A KR 1019970027628 A KR1019970027628 A KR 1019970027628A KR 19970027628 A KR19970027628 A KR 19970027628A KR 19990003698 A KR19990003698 A KR 19990003698A
Authority
KR
South Korea
Prior art keywords
transmission signal
level
output
run
zero
Prior art date
Application number
KR1019970027628A
Other languages
Korean (ko)
Other versions
KR100251310B1 (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 KR1019970027628A priority Critical patent/KR100251310B1/en
Publication of KR19990003698A publication Critical patent/KR19990003698A/en
Application granted granted Critical
Publication of KR100251310B1 publication Critical patent/KR100251310B1/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

본 발명의 명세서에는 줄길이 부호기에서 전송신호를 발생하는 장치가 개시되어 있다.In the present specification, an apparatus for generating a transmission signal in a line length encoder is disclosed.

이러한 본 발명의 장치는 시스템 클럭에 따라 홀수 DCT 계수 혹은 짝수 DCT 계수를 선택하기 위한 멀티플랙서(410); 멀티플랙서가 출력하는 DCT 계수가 제로인 것을 검출하기 위한 제로계수 검출부(420); 제2클럭에 따라 제로계수 검출부의 출력에서 넌제로인 계수를 카운트하기 위한 레벨 카운터(430); 및 레벨 카운터가 출력하는 카운트값을 소정의 기준값과 비교하여 전송신호를 발생하는 비교기(440)를 포함하고 있다.Such an apparatus includes a multiplexer 410 for selecting odd DCT coefficients or even DCT coefficients according to a system clock; A zero coefficient detector 420 for detecting that the DCT coefficient output by the multiplexer is zero; A level counter 430 for counting non-zero coefficients at the output of the zero coefficient detector according to the second clock; And a comparator 440 for generating a transmission signal by comparing the count value output by the level counter with a predetermined reference value.

그리고 이와 같이 구성되는 본 발명의 전송신호 발생장치는 하나의 시스템 클럭에 한쌍의 픽셀을 부호화하여 (런,레벨)을 발생할 경우에 3개 이상의 (런,레벨)이 발생되면 먼저 발생된 2개의 (런,레벨)을 전송하므로써 전송속도를 향상시킬 수 있다.In the transmission signal generating apparatus of the present invention configured as described above, when three or more (run, level) are generated when a pair of pixels are encoded by one system clock to generate (run, level), two ( By sending run and level, the transmission speed can be improved.

Description

줄길이 부호기의 전송신호 발생장치( A write signal generator for run length coder )A write signal generator for run length coder

본 발명은 영상 데이터를 압축 부호화시에 영상 데이터의 통계적 중복성을 제거하기 위한 줄길이 부호기(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)에서는 픽셀간의 상관성을 제거하기 위하여 프레임간 차 영상을 예를 들면, 81*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 outputs a discrete cosine transform coefficient (DCT coefficient) by performing discrete cosine transforming of the inter-frame difference image into a block of 81 * 8 pixels, for example, to remove the correlation between pixels. The quantizer 12 quantizes and outputs the discrete cosine transform coefficients (DCT coefficients) of the interframe difference image output from the discrete cosine transforming 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 0f0f0f와 같이 정렬된 DCT 계수는 줄길이 부호기(14)를 통하여 (0, 30), (0, 2), (2, -8), (3, 9) 0f0f0f 와 같이 표현된다.In addition, the remaining coefficients except the Intra DC coefficient are aligned in one dimension mainly through a zigzag scan. Here, zero-run and zero-level coefficients (level values) in which '0' appears consecutively are expressed in two dimensions of (run, level). For example, a zigzag scan can be performed, such as 30, 2, 0, 0, -8. 0, 0, 0, 9 DCT coefficients aligned like 0f0f0f are passed through the line length encoder 14 such that (0, 30), (0, 2), (2, -8), (3, 9) 0f0f0f Is expressed.

그리고, 지그-재그 주사된 계수들이 어떤 위치 이후에 계속해서 끝까지 '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에 도시된 바와 같이, 유휴신호 발생부(21), 제로계수 검출부(22), 제어부(23), 홀딩부(24), 전송신호 출력부(25)로 구성되어 있다.As shown in FIG. 2, the transmission signal generator of the conventional line length encoder for processing two pixels in one system clock in the image encoder as described above is an idle signal generator 21, a zero coefficient detector 22, and a controller. 23, the holding section 24, and the transmission signal output section 25.

도 2를 참조하면, 제로계수 검출부(22)는 홀수 DCT 계수와 짝수 DCT 계수를 입력받아 계수가 0이면 0을, 0이 아니면 1을 출력(w1,w2)하고, 제어부(23)는 제로계수 검출부(22)의 출력에 따라 전송신호(write)를 발생하며, 홀딩부(24)는 라이트신호를 홀딩하고 있다.Referring to FIG. 2, the zero coefficient detection unit 22 receives odd DCT coefficients and even DCT coefficients, and outputs 0 when the coefficient is 0 and 1 when the coefficient is 0 (w1, w2), and the controller 23 performs the zero coefficient. A transmission signal write is generated according to the output of the detector 22, and the holding unit 24 holds the write signal.

유휴신호 발생부(21)는 블록시작신호와 블록종료신호를 입력받아 블록이 처리되는 동안 유휴(idle)신호를 발생하여 전송신호 출력부(25)를 디스에이블시키고 있다가 블록종료신호가 검출되면 전송신호 출력부(25)를 인에이블시켜 홀딩부(24)에서 홀딩되고 있던 전송신호(hwrite)를 출력한다. 이와 같이 발생된 전송신호에 따라 줄길이 부호화기에서 발생된 (런,레벨) 값들이 도시되지 않은 FIFO에 라이트되게 된다.The idle signal generator 21 receives the block start signal and the block end signal, generates an idle signal while the block is being processed, disables the transmission signal output unit 25, and then detects the block end signal. The transmission signal output unit 25 is enabled to output the transmission signal hwrite held by the holding unit 24. The (run, level) values generated by the line length encoder are written to a FIFO (not shown) according to the generated transmission signal.

이와 같이 동작되는 종래의 전송신호 발생부는 (런,레벨)이 생성되자 마자 전송하면 그것이 마지막 이벤트였을 경우에 같이 출력되야 하는 종료신호(EOB)와 함께 출력될 수 없으므로, 다음 (런,레벨)이 발생될 때까지 기다렸다가 전송해야 한다.The conventional transmission signal generator operating as described above cannot be output together with an end signal (EOB) which should be output as soon as the (run, level) is generated when it is the last event. You must wait until it occurs before sending.

즉, 도 3에 도시된 바와 같이, 블록시작 신호가 입력되고, 나서 입력된 계수에 대한 (런,레벨)이 모두 생성된 후 블록종료신호와 함께 전송신호가 발생되었기 때문에 생성된 (런,레벨)의 전송이 지연되는 문제점이 있었다. 예컨대, 0,1,0,5, 0,0,0,......와 같이 처음 2개의 (런,레벨)쌍이 생성된 후 이후 모두 0일 경우에도 (런,레벨)쌍과 같이 종료신호(EOB)를 전송해야 하므로 한 블록의 처리가 완료될 때 가지 (런,레벨)의 전송이 지연되는 문제점이 있었다. 도 3에서 (가)는 블록시작신호이고, (나)는 시스템클럭을 나타내며, (다) 및 (라)는 한쌍의 런과 레벨을 나타낸다. 또한 (마)는 한 블록에 대한 줄길이 부호화가 종료되는 타이밍에 발생되는 EOB 신호를 나타내고, (바)는 전송신호를 나타낸다.That is, as shown in FIG. 3, the block start signal is input, and then (run, level) generated because all the (run, level) of the input coefficients are generated and then the transmission signal is generated together with the block end signal. ) Has a problem that the transmission of the delay. For example, after the first two (run, level) pairs are generated, such as 0,1,0,5, 0,0,0, ...... Since the end signal (EOB) has to be transmitted, there is a problem in that the transmission of the run (level) is delayed when the processing of one block is completed. In FIG. 3, (a) is a block start signal, (b) represents a system clock, and (c) and (d) represent a pair of runs and levels. (E) indicates an EOB signal generated at the timing at which the line length coding for one block ends, and (B) indicates a transmission signal.

본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 적어도 3개 이상의 (런,레벨)이 발생될 경우에 먼저 발생된 2개의 (런,레벨)을 미리 전송하도록 하여 전송지연을 줄일 수 있도록 된 줄길이 부호기의 전송신호 발생장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above-mentioned conventional problems, and when two or more (run, level) are generated, two (run, level) generated first are transmitted in advance to reduce the transmission delay. It is an object of the present invention to provide a transmission signal generator for a line length encoder.

상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 한 시스템 클럭에 한쌍의 픽셀 데이터를 처리하도록 설계된 영상 엔코더에서 상기 시스템 클럭에 따라 홀수 DCT 계수와 짝수 DCT 계수를 입력받아 적어도 3개이상의 (런,레벨)이 발생될 경우 전송신호를 발생하여 먼저 2개의 (런,레벨)을 전송하도록 된 줄길이 부호기의 전송신호 발생장치에 있어서, 상기 시스템클럭에 따라 홀수 DCT 계수 혹은 짝수 DCT 계수를 선택하기 위한 멀티플랙서; 상기 멀티플랙서가 출력하는 DCT 계수가 제로인 것을 검출하기 위한 제로계수 검출부; 제2클럭에 따라 상기 제로계수 검출부의 출력에서 넌제로인 계수를 카운트하기 위한 레벨 카운터; 및 상기 레벨 카운터가 출력하는 카운트값을 소정의 기준값과 비교하여 전송신호를 발생하는 비교기를 포함하는 것을 특징으로 한다.The apparatus of the present invention for achieving the above object, at least three (run) by receiving an odd DCT coefficient and an even DCT coefficient in accordance with the system clock in an image encoder designed to process a pair of pixel data in a system clock In the transmission signal generator of a line length encoder which generates a transmission signal and transmits two (run, level) first when the level is generated, selecting an odd DCT coefficient or an even DCT coefficient according to the system clock. Multiplexer; A zero coefficient detector for detecting that the DCT coefficient output by the multiplexer is zero; A level counter for counting nonzero coefficients at the output of the zero coefficient detector according to a second clock; And a comparator for generating a transmission signal by comparing the count value output by the level counter with a predetermined reference value.

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

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

도 3은 종래에 전송신호가 발생되는 타이밍을 도시한 타이밍도,3 is a timing diagram showing a timing at which a transmission signal is conventionally generated;

도 4는 본 발명에 따른 줄길이 부호기의 전송신호 발생장치를 도시한 블록도,4 is a block diagram showing an apparatus for generating a transmission signal of a line length encoder according to the present invention;

도 5는 도 4에 도시된 레벨 카운터의 다른 실시예,5 is another embodiment of the level counter shown in FIG.

도 6은 본 발명에 따른 전송신호 발생장치의 동작을 설명하기 위한 타이밍도이다.6 is a timing diagram for explaining the operation of the transmission signal generator according to the present invention.

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

410 : 멀티플랙서 420 : 제로계수 검출부410: multiplexer 420: zero coefficient detection unit

430 : 제로 카운터 432 : 바이너리 카운터430: zero counter 432: binary counter

434 : 합산기 436,438 : 디플립플롭434: summer 436,438: flip-flop

440 : 비교기440: comparator

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.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)로 출력한다. 통상 런값 발생장치로 입력되는 DCT계수는 입력 픽셀이 8x8 블럭 단위로 이산여현 변환된 후 양자화기에서 양자화되고, 지그재그 스캔되어 한 시스템 클럭에 2 픽셀씩 입력되는 DCT계수이다. 따라서 한 블록은 64개의 DCT계수로 이루어지고, 32 시스템 클럭에 의해 한 블록의 픽셀들이 처리된다.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). In general, the DCT coefficient inputted to the run value generator is a DCT coefficient inputted by a discrete cosine transform in 8x8 block units, quantized by a quantizer, zigzag-scanned, and inputted by 2 pixels in a system clock. Therefore, one block is composed of 64 DCT coefficients, and one block of pixels is processed by 32 system clocks.

도 4는 본 발명에 따른 전송신호 발생장치를 도시한 블록도이다. 본 발명의 전송신호 발생장치는 도 4에 도시된 바와 같이, 멀티플랙서(410), 제로계수 검출부(420), 레벨 카운터(430), 비교기(440)를 포함하고 있다.4 is a block diagram showing a transmission signal generator according to the present invention. As shown in FIG. 4, the transmission signal generator of the present invention includes a multiplexer 410, a zero coefficient detector 420, a level counter 430, and a comparator 440.

멀티플랙서(410)는 시스템 클럭(CLK1)이 하이이면 홀수 DCT 계수를 선택하여 출력하고, 로우이면 짝수 DCT 계수를 선택하여 출력한다. 제로계수 검출부(420)는 입력 DCT 계수가 0이면 0을 출력하고, 0이 아니면 1을 출력한다.The multiplexer 410 selects and outputs an odd DCT coefficient when the system clock CLK1 is high, and selects and outputs an even DCT coefficient when the system clock CLK1 is high. The zero coefficient detector 420 outputs 0 when the input DCT coefficient is 0, and outputs 1 when the input DCT coefficient is 0.

레벨 카운터(420)는 (런,레벨)쌍이 발생되는 횟수를 카운트하는데, 이러한 레벨 카운터는 프리셋 가능한 바이너리 카운터(432)로 구현될 수 있다. 이때, 줄길이 부호화된 결과 발생되는 (런,레벨)쌍의 수는 DCT 계수가 0이 아닌 값의 수 즉, 레벨의 수와 동일하므로, 제로계수 검출부(420)가 출력하는 1을 제2 클럭(CLK2)에 따라 카운트하므로써 (런,레벨)쌍의 수를 카운트할 수 있다. 따라서 레벨 카운터(420)가 출력하는 카운트값은 해당 블록의 DCT 계수를 순차적으로 줄길이 부호화할 경우에 줄길이 부호화된 (런,레벨)쌍의 수와 동일하다. 제2 클럭(CLK2)은 시스템 클럭(CLK1)이 2분주된 클럭이다(즉, 시스템 클럭보다 2배 빠른 클럭).The level counter 420 counts the number of times a (run, level) pair is generated. The level counter 420 may be implemented as a preset binary counter 432. At this time, since the number of (run, level) pairs generated as a result of the line length encoding is equal to the number of non-zero values of the DCT coefficient, that is, the number of levels, the first clock outputting 1 by the zero coefficient detection unit 420 is the second clock. By counting according to (CLK2), the number of (run, level) pairs can be counted. Therefore, the count value output by the level counter 420 is equal to the number of line length coded (run, level) pairs when the length length coding of the DCT coefficient of the corresponding block is performed sequentially. The second clock CLK2 is a clock in which the system clock CLK1 is divided into two (ie, a clock twice as fast as the system clock).

이러한 레벨 카운터(430)를 구현하는 프리셋 가능한 바이너리 카운터(432)는 블록시작신호에 의해 카운트값이 0으로 클리어되고, 제로계수 검출부(420)가 출력하는 1을 제2 클럭(CLK2)에 따라 카운트하여 레벨의 수를 계산한다. 그리고 프리셋신호가 입력되면 1을 프리셋(preset)한다.The preset binary counter 432 implementing the level counter 430 has a count value cleared to 0 by a block start signal, and counts 1 output by the zero coefficient detector 420 according to the second clock CLK2. Calculate the number of levels. When a preset signal is input, 1 is preset.

비교기(440)는 레벨 카운터(430)가 출력하는 카운트값을 미리 설정된 3과 비교하여 카운트값이 3이 되면 전송신호(write)를 출력함과 아울러 레벨 카운터(430)에 프리셋신호를 제공한다.The comparator 440 compares the count value output by the level counter 430 with a preset 3, outputs a transmission signal when the count value is 3, and provides a preset signal to the level counter 430.

따라서 DCT 계수가 순차적으로 줄길이 부호화되면서 발생되는 (런,레벨)의 수가 3개가 되면 전송신호(라이트신호)를 발생하여, 먼저 발생된 2개의 (런,레벨)쌍을 도시되지 않은 FIFO에 라이트하므로써 전송지연을 줄일 수 있다.Therefore, when the number of (run, level) that is generated when the DCT coefficients are sequentially encoded by the line length is three, a transmission signal (light signal) is generated, and the two (run, level) pairs generated first are written to an unshown FIFO. This can reduce the transmission delay.

도 5는 도 4에 도시된 레벨 카운터의 다른 실시예이다. 줄길이 부호화된 결과 발생되는 (런,레벨)의 수를 카운트하기 위한 레벨 카운터(430)는 도 5에 도시된 바와 같이 합산기(434)와 디플립플롭(436,438)으로 구현될 수 있다. 제로계수 검출부(434)로부터 1이 입력되면 제1 디플립플롭(438)의 출력과 합산하여 비교기(440)로 출력한다. 이때 최초에는 제1 디플립플롭(438)이 0으로 클리어되어 있으므로, 합산기(434)는 1 + 0 = 1을 출력하고, 이 출력(즉, 1)은 다시 제1 디플립플롭(438)에 저장된다. 이어 다음 클럭에 제로계수 검출부(420)로부터 '1'이 입력되면 합산기(434)는 1 + 1 = 2(102)를 출력하게 된다. 이때 제1 디플립플롭(438)에는 2가 저장되고, 다음 클럭에 제로계수 검출부(420)로부터 1이 입력되면 합산기는 2+1 = 3을 출력한다. 비교기(440)는 로우신호를 출력하다가 합산기(434)의 출력이 3이 되면 하이를 출력하여 전송신호를 발생하게 되고, 이에 따라 제1 디플립플롭(438)은 0으로 클리어되고, 제2 디플립플롭(436)은 1을 합산기(434)로 출력하게 된다. 전송신호가 발생되면 3개의 (런,레벨) 중에서 2개를 FIFO로 전송하고 1개의 (런,레벨)은 남아 있게 되므로, 비교기(440)가 전송신호를 출력한 후 첫 번째 클럭에서 합산기(434)는 제2 디플립플롭(436)이 출력하는 1과 제로계수 검출부(420)로부터 출력되는 값을 합산하여 출력하고, 이 출력은 제1 디플립플롭(438)에 저장되며 이후 다음 전송신호가 발생될 때까지 합산기(434)는 제1 디플립플롭(438)의 출력을 제로계수 검출부(420)의 출력과 합산한다.FIG. 5 is another embodiment of the level counter shown in FIG. 4. As shown in FIG. 5, the level counter 430 for counting the number of (runs, levels) generated as a result of the line length encoding may be implemented by a summer 434 and a deflip-flop 436 and 438. When 1 is input from the zero coefficient detection unit 434, the sum of the output of the first deflip-flop 438 is output to the comparator 440. At this time, since the first deflip-flop 438 is cleared to 0, the summer 434 outputs 1 + 0 = 1, and this output (ie, 1) is again the first deflip-flop 438. Are stored in. Subsequently, when '1' is input from the zero coefficient detector 420 to the next clock, the summer 434 outputs 1 + 1 = 2 (10 2 ). In this case, 2 is stored in the first flip-flop 438, and when 1 is input from the zero coefficient detector 420 to the next clock, the summer outputs 2 + 1 = 3. The comparator 440 outputs a low signal, and when the output of the summer 434 becomes 3, the comparator 440 outputs a high signal to generate a transmission signal. Accordingly, the first deflip-flop 438 is cleared to 0, and the second The deflip-flop 436 outputs 1 to the summer 434. When the transmission signal is generated, two out of three (run, level) are transmitted to the FIFO, and one (run, level) remains, so that the comparator 440 outputs the transmission signal, 434 sums the value 1 output from the second deflip-flop 436 and the value output from the zero coefficient detection unit 420, and the output is stored in the first deflip-flop 438. The summer 434 adds the output of the first deflip-flop 438 to the output of the zero coefficient detector 420 until is generated.

이어서, 상기와 같이 구성되는 본 발명의 동작을 도 6에 도시된 타이밍도를 참조하여 자세히 설명하기로 한다.Next, the operation of the present invention configured as described above will be described in detail with reference to the timing diagram shown in FIG.

본 발명의 실시예에서 줄길이 부호화기로 ....0, 0, 0, L1, 0, L2, 0, 0, L3, L4, L5, L6, 0....입력되어 (3,L1),(1,L2),(2,L3),(0,L4),(0,L5),(0,L6)...로 줄길이 부호화된다. 도 6에서 (가)는 시스템 클럭(CLK1)을 나타내고, (나)는 시스템 클럭이 2분주된 제2클럭(CLK2)을 나타내며, (다)는 멀티플랙서(도4의 410)의 출력을 나타낸다. 도 6의 (다)에서 멀티플랙서의 출력은 시스템 클럭(CLK1)이 하이일 경우에는 홀수 DCT 계수를, 로우일 경우에는 짝수 DCT 계수를 각각 나타낸다. 도 6의 (라)는 제로계수 검출부(420)의 출력으로서 입력된 DCT 계수가 0이면 로우가, 0이 아니면 하이가 된다. 도 6의 (마)에 도시된 바와 같이, 레벨 카운터(430)의 카운트값은 제2클럭(CLK2)에 따라 제로계수 검출부(420)가 출력하는 1을 카운트하여 1,2,3..이 된다.In the embodiment of the present invention, the line length coder is inputted with 0, 0, 0, L1, 0, L2, 0, 0, L3, L4, L5, L6, 0 .... (3, L1). The line lengths are encoded by (1, L2), (2, L3), (0, L4), (0, L5), (0, L6). In FIG. 6, (a) shows the system clock CLK1, (b) shows the second clock CLK2 divided into two system clocks, and (c) shows the output of the multiplexer (410 in FIG. 4). Indicates. In FIG. 6C, the output of the multiplexer indicates odd DCT coefficients when the system clock CLK1 is high and even DCT coefficients when the system clock CLK1 is high. 6 (d) shows a low value when the DCT coefficient input as an output of the zero coefficient detection unit 420 is 0, and a high value when the DCT coefficient is 0. As shown in (e) of FIG. 6, the count value of the level counter 430 counts 1 output from the zero coefficient detector 420 according to the second clock CLK2. do.

레벨 카운터(430)의 카운트값이 3이 되면 비교기(440)가 전송신호를 하이로 출력함과 아울러 레벨 카운터(430)에 프리셋신호를 제공하게 되고, 이에 따라 레벨 카운터의 카운트값은 1로 프리셋되는 것을 알 수 있다.When the count value of the level counter 430 becomes 3, the comparator 440 outputs the transmission signal high and provides the preset signal to the level counter 430. Accordingly, the count value of the level counter is preset to 1 It can be seen that.

이상에서 살펴본 바와 같이, 본 발명에 따른 줄길이 부호기의 전송신호 발생장치는 하나의 시스템 클럭에 한쌍의 픽셀을 부호화하여 (런,레벨)을 발생할 경우에 3개 이상의 (런,레벨)이 발생되면, 먼저 발생된 2개의 (런,레벨)을 전송하므로써 전송속도를 향상시킬 수 있는 효과가 있다.As described above, when the transmission signal generator of the line length encoder according to the present invention generates (run, level) by encoding a pair of pixels in one system clock, three or more (run, level) are generated. Therefore, the transmission speed can be improved by transmitting two (run, level) generated first.

Claims (3)

한 시스템 클럭에 한쌍의 픽셀 데이터를 처리하도록 설계된 영상 엔코더에서 상기 시스템 클럭에 따라 홀수 DCT 계수와 짝수 DCT 계수를 입력받아 적어도 3개이상의 (런,레벨)이 발생될 경우 전송신호를 발생하여 먼저 2개의 (런,레벨)을 전송하도록 된 줄길이 부호기의 전송신호 발생장치에 있어서, 상기 시스템클럭에 따라 홀수 DCT 계수 혹은 짝수 DCT 계수를 선택하기 위한 멀티플랙서(410); 상기 멀티플랙서(410)가 출력하는 DCT 계수가 제로인 것을 검출하기 위한 제로계수 검출부(420); 제2클럭에 따라 상기 제로계수 검출부의 출력에서 넌제로인 계수를 카운트하기 위한 레벨 카운터(430); 및 상기 레벨 카운터(430)가 출력하는 카운트값을 소정의 기준값과 비교하여 전송신호를 발생하는 비교기(440)를 포함하는 줄길이 부호기의 전송신호 발생장치.In an image encoder designed to process a pair of pixel data in one system clock, an odd DCT coefficient and an even DCT coefficient are input according to the system clock, and when at least three (run, level) are generated, a transmission signal is generated. A transmission signal generator of a line length encoder configured to transmit two (run, level), comprising: a multiplexer (410) for selecting odd DCT coefficients or even DCT coefficients according to the system clock; A zero coefficient detector 420 for detecting that the DCT coefficient output by the multiplexer 410 is zero; A level counter 430 for counting non-zero coefficients at the output of the zero coefficient detector according to a second clock; And a comparator (440) for generating a transmission signal by comparing the count value output by the level counter (430) with a predetermined reference value. 제1항에 있어서, 상기 레벨 카운터(430)가, 프리셋 가능한 바이너리 카운터(432)로 구현되는 것을 특징으로 하는 줄길이 부호기의 전송신호 발생장치.The apparatus of claim 1, wherein the level counter (430) is implemented as a preset binary counter (432). 제1항에 있어서, 상기 레벨 카운터(430)가, 전송신호에 따라 클리어되며 합산된 값을 일시 저장하는 제1 디플립플롭(438)과, 상기 제1 디플립플롭의 출력을 상기 제로계수 검출부(420)의 출력과 합산하기 위한 합산기(434), 전송신호가 발생된 후 첫 번째 클럭에서 상기 합산기(434)에 1을 제공하기 위한 제2 디플립플롭(436)로 구성되는 줄길이 부호기의 전송신호 발생장치.The zero coefficient detecting unit of claim 1, wherein the level counter 430 is configured to temporarily store a first cleared flop 438 that is cleared and summed according to a transmission signal, and an output of the first deflected flop. A length consisting of a summer 434 for summing with the output of 420 and a second deflip-flop 436 for providing 1 to the summer 434 at the first clock after the transmission signal is generated. Transmission signal generator of encoder.
KR1019970027628A 1997-06-26 1997-06-26 Transmission signal generator of run length coder KR100251310B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970027628A KR100251310B1 (en) 1997-06-26 1997-06-26 Transmission signal generator of run length coder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970027628A KR100251310B1 (en) 1997-06-26 1997-06-26 Transmission signal generator of run length coder

Publications (2)

Publication Number Publication Date
KR19990003698A true KR19990003698A (en) 1999-01-15
KR100251310B1 KR100251310B1 (en) 2000-04-15

Family

ID=19511386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970027628A KR100251310B1 (en) 1997-06-26 1997-06-26 Transmission signal generator of run length coder

Country Status (1)

Country Link
KR (1) KR100251310B1 (en)

Also Published As

Publication number Publication date
KR100251310B1 (en) 2000-04-15

Similar Documents

Publication Publication Date Title
KR0178198B1 (en) Apparatus for encoding an image signal
KR0180169B1 (en) A variable length coder
EP0750427A2 (en) Signal compression and/or expansion devices
JP3743837B2 (en) Run-length encoder
EP2362657B1 (en) Parallel entropy coding and decoding methods and devices
KR100203246B1 (en) The high speed variable length decoding apparatus
EP1661398A2 (en) Method and apparatus for selection of scanning mode in dual pass encoding
US7830964B2 (en) Method and/or apparatus for parsing compressed video bitstreams
JP2000506715A (en) Dual speed variable length decoder and decoding architecture for MPEG-2 video data
US5742342A (en) Apparatus for encoding an image signal using vector quantization technique
KR100251310B1 (en) Transmission signal generator of run length coder
KR100251309B1 (en) End of block signal generator for run length coder
KR0154011B1 (en) Variable length decoder
KR100251312B1 (en) Run value generator of run length coder
KR100251311B1 (en) Level value generator of run length coder
KR100221310B1 (en) A transfer signal generator of a run length encoder
KR100195717B1 (en) A variable length decoder
KR100210388B1 (en) Eob signal generator of a run length encoder
KR100195715B1 (en) A variable length decoder
KR100195720B1 (en) A state controller for variable length decoder
KR100210389B1 (en) A run length encoder
KR100195726B1 (en) A circuit for initially driving run-length decoder
KR100204483B1 (en) A level value generator of a run length encoder
KR100195716B1 (en) A variable length decoder
KR100195722B1 (en) A variable length decoder

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