KR0128864B1 - Method and apparatus for processing image signal - Google Patents

Method and apparatus for processing image signal

Info

Publication number
KR0128864B1
KR0128864B1 KR1019930011545A KR930011545A KR0128864B1 KR 0128864 B1 KR0128864 B1 KR 0128864B1 KR 1019930011545 A KR1019930011545 A KR 1019930011545A KR 930011545 A KR930011545 A KR 930011545A KR 0128864 B1 KR0128864 B1 KR 0128864B1
Authority
KR
South Korea
Prior art keywords
slice
data
buffers
buffer
module
Prior art date
Application number
KR1019930011545A
Other languages
Korean (ko)
Other versions
KR950002475A (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 KR1019930011545A priority Critical patent/KR0128864B1/en
Publication of KR950002475A publication Critical patent/KR950002475A/en
Application granted granted Critical
Publication of KR0128864B1 publication Critical patent/KR0128864B1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Disclosed is an apparatus for parallel processing the data in an image decoder. The apparatus comprises a bit volume counter, buffers and a switch. The bit volume counter detects a header of predetermined unit in the encoded bit stream, and counts the number of headers to calculate the bit volume. The buffers are corresponding to each module buffer. Also, the buffers temporarily strore the output data from the bit volume counter. The switch transmitts the data stored at the buffers to the corresponding module buffers according to a control signal from the bit volume counter. Thereby, the buffers can be used effectively.

Description

영상 복호기의 데이터 병렬 처리 장치Data Parallel Processing Unit of Video Decoder

제1도는 본 발명의 바람직한 실시예에 따른 영상 복호기에서의 데이터 병렬 처리 장치에 대한 블록 구성도.1 is a block diagram of a data parallel processing apparatus in a video decoder according to a preferred embodiment of the present invention.

제2도는 제1도에 도시된 본 발명의 데이터 병렬 처리 장치에 채용되는 비트량 카운터부의 세부적인 블록구성도.FIG. 2 is a detailed block diagram of a bit amount counter unit employed in the data parallel processing apparatus of the present invention shown in FIG.

제3도는 전형적인 영상 데이터 포멧의 예시도.3 is an illustration of a typical image data format.

제4도는 전형적인 디지탈 영상 부호기의 블록 구성도.4 is a block diagram of a typical digital video encoder.

제5도는 전형적인 디지탈 영상 복호기의 블록 구성도.5 is a block diagram of a typical digital video decoder.

제6도는 종래의 영상 복호기에서의 데이터 병렬 처리 장치의 일예를 도시한 것으로, (a)도는 데이터 병렬 처리 장치의 블록 구성도이고, (b)도는 한 프레임을 수평 또는 수직으로 4분할하여 병렬 처리 하기 위한 프레임의 영역을 나타낸 도면.6 shows an example of a data parallel processing apparatus in a conventional video decoder, (a) is a block diagram of a data parallel processing apparatus, and (b) is a parallel processing by dividing one frame into four horizontally or vertically. A diagram showing an area of a frame to be used.

제7도는 종래 장치에 따라 버퍼에 데이터가 저장되는 상태를 설명하기 위한 설명도로서, (a)도는 버퍼의 풀 현상 설명이고, (b)도는 버퍼의 엠프티 현상 설명도.7 is an explanatory diagram for explaining a state in which data is stored in a buffer according to a conventional apparatus, (a) is a description of the full phenomenon of the buffer, (b) is an explanatory diagram of the empty phenomenon of the buffer.

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

10 : 비트량 카운터부 12 : 헤더 검출부10: bit amount counter section 12: header detection section

14 : 카운터부 16 : 디코더부14: counter section 16: decoder section

18 : 비교/판단부 20 : 버퍼부18: comparison / decision section 20: buffer section

30 : 스위칭부 40 : 모듈별 버퍼부30: switching unit 40: buffer unit for each module

본 발명은 영상 복호기에서 데이터를 병렬처리하는 장치에 관한 것으로 특히 버퍼의 사용 효율을 개선한 영상 복호기에서의 데이터 병렬 처리 장치에 관한것이다.The present invention relates to an apparatus for parallel processing of data in an image decoder, and more particularly, to an apparatus for parallel processing of data in an image decoder which improves the use efficiency of a buffer.

통상적으로 HDTV, 동영상 전화기등과 같이 동영상 신호를 디지털 신호로 전송하고자 하는 경우에는, 이에 수반하는 방대한 데이터량 저감시키기 위하여 가변장 부호화 방법등의 고율의 데이터 압축 부호화 방법을 사용하게 된다.In general, when a video signal is to be transmitted as a digital signal such as an HDTV or a video phone, a high rate data compression encoding method such as a variable length encoding method is used to reduce the enormous amount of data.

제4 및 제5도는 이러한 가변장 부호화 방법을 사용하는 전형적인 디지탈 영상부호기 및 영상 복호기의 블록구성도를 나타낸다.4 and 5 show block diagrams of typical digital video encoders and video decoders using the variable length coding method.

제4도에 도시된 바와 같이, 전형적인 디지탈 영상 부호기는 입력되는 시간 영역의 영상 신호를 주파수 영역의 변환 계수로 변환하는 DCT(Discrete Cosine Transform)부(100)와, 이 DCT 변환부로부터 변환 계수로서 입력되는 영상 신호를 유한한 갯수의 값으로 근사화 시켜 양자화하는 양자화부(102)와, 이 양자화부로 부터의 양자화된 신호에 포함된 각 부호의 발생빈도에 따라 짧거나 긴 길이의 부호로 부호화하는 가변장 부호화부(112)와, 이 가변장 부호화부의 출력측의 접속된 선입 선출 버퍼(114)와, 이산코사인 변환 양자화된 신호를 움직임 보상을 위해 원래의 신호로 복원하기 위한 역양자화부(104) 및 역 DCT 부(106)와, 역 DCT부터의 현제의 프레임과 프레임 메모리(110)에 저장된 이전 프레임을 이용하여 움직임을 검출하여 이전 프레임의 신호를 움직임 벡터만큼 이동시켜 보상하는 움직임 검출 및 보상부(108)로 구성된다.As shown in FIG. 4, a typical digital video encoder is a DCT (Discrete Cosine Transform) unit 100 for converting an input video signal in a time domain into a transform coefficient in a frequency domain, and as a transform coefficient from the DCT converter. A quantizer 102 that approximates and quantizes an input video signal to a finite number of values, and a variable that encodes a short or long length code according to a frequency of occurrence of each code included in the quantized signal from the quantizer. A long coder 112, a connected first-in first-out buffer 114 on the output side of the variable-length coder, a dequantizer 104 for restoring a discrete cosine transform quantized signal to the original signal for motion compensation, and The motion is detected using the inverse DCT unit 106, the current frame from the inverse DCT, and the previous frame stored in the frame memory 110, and the signal of the previous frame is obtained by the motion vector. To consist of a motion compensation error tracking and correction unit 108 for.

또한 제5도에 명백하게 도시된 바와같이, 전형적인 디지털 영상 복호기는 전송부로 부터 출력되는 부호화된 비트열을 일시적으로 저장하는 선입 선출 버퍼(200)와, 상술한 영상 부호기내의 가변장 부호화부(112)에서 부호화되고 선입 선출 버퍼(200)로부터 출력되는 영상 테이터 신호를 가변장 복호화하는 가변장 복호화부(200)와, 상술한 영상 부호기내의 양자화부(102)에서 양자화되어 가변장 복호화부(202)로부터 출력되는 복호화된 영상 데이터 신호를 본래의 신호로 복원하기 위한 역양자화부(204)와, 이 역양자화부에 접속된 역 DCT부(206)와, 역 DCT부로부터 출력되는 영상 신호의 움직임 영역에 대하여 움직임 벡터를 추정하여 이전 프레임의 신호를 움직임 벡터만큼 이동시켜 보상하기 위한 움직임 보상부(208)로 구성된다.Also as clearly shown in FIG. 5, a typical digital video decoder includes a first-in, first-out buffer 200 that temporarily stores a coded bit stream output from a transmitter, and a variable-length encoder 112 in the above-described video encoder. Variable-length decoding unit 200 for variable-length decoding the image data signal encoded in the first-in, first-out buffer 200, and quantized by the quantization unit 102 in the above-described image encoder, An inverse quantization unit 204 for restoring the output decoded video data signal to an original signal, an inverse DCT unit 206 connected to the inverse quantization unit, and a motion region of a video signal output from the inverse DCT unit. And a motion compensator 208 for estimating the motion vector and shifting and compensating the signal of the previous frame by the motion vector.

상술한 전형적인 디지탈 영상부호기는 제4도에 명확하게 도시되고 상기한 바와같이 전송단 바로 앞단에 선입 선출 버퍼를 구비함으로써, 버퍼내에 저장된 데이터량에 따라 부호화의 정도를 조절하는 버퍼 조절에 의하여 버퍼의 엠프티(empty), 풀(full) 현상이 야기되지 않게 된다. 이렇게 버퍼 조절되어 전송된 부호화된 비트열을 수신단, 즉 영상복호기측에서 처리하고자 할때에도 상기한 영상 부호기에서와 마찬가지로 그 앞단에 구비된 선입 선출 버퍼를 통해 처리하게 된다. 따라서 영상 복호기측의 버퍼량과 영상 부호기측의 버퍼량은 비례하는 관계를 갖게 되는바, 영상 복호기측의 버퍼도 또한 영상 부호기의 버퍼에서와 마찬가지로 버퍼가 엠프티 또는 풀되는 현상이 발생하게 된다.The typical digital image encoder described above is clearly shown in FIG. 4 and has a first-in, first-out buffer immediately in front of the transmitter as described above, thereby controlling the degree of encoding according to the amount of data stored in the buffer. Empty, full phenomenon is not caused. When the encoded bit string transmitted through the buffer adjustment is processed at the receiving end, that is, the image decoder side, is processed through the first-in, first-out buffer provided at the front end as in the above-described image encoder. Therefore, the amount of buffers on the video decoder side and the amount of buffers on the video encoder side have a proportional relationship. The buffers on the video decoder side are also empty or pooled like the buffers on the video encoder.

본 발명은 실질적으로 상술한 전형적인 영상 부호기로 부터의 부호화된 비트열을 입력하여 병렬처리하는 데이터 병렬 처리 장치에 관련된 것이다. 통상적으로 고속의 데이터 처리가 요구되는 동영상 처리 시스템은 디바이스의 제약등으로 인해 상술한 바와같이 부호화된 영상 데이터 신호를 비트열로 병렬 처리하고 있다.The present invention relates substantially to a data parallel processing apparatus for parallel processing by inputting a coded bit string from a typical video encoder described above. In general, a video processing system that requires high-speed data processing performs parallel processing of the encoded video data signal in a bit string as described above due to device limitations.

이러한 장치의 전형적인 종래 장치로는 제6도(a)에 도시된 구성의 것이 있다. 동도면의 (b)는 하나의 프레임을 수평 또는 수직으로 4분할하여 병렬처리 하기 위한 프레임의 영역을 일예로서 나타낸 것이다. 이러한 부호화된 비트열을 병렬 처리하는 영상 복호기측의 버퍼는 제6도(a)로 부터 명백한 바와같이 복수개, 즉 n개로 구성해야 할 것이 요구되며, 이들 각 버퍼는 모듈별로 데이터를 입출력하게 된다. 그러나 종래의 데이터 병렬 처리 장치는 이와 같이 복수개(이하 n개라 함)의 버퍼를 사용하는 경우에 전단의 영상 부호기에서 버퍼 조절되어 전송되었다 할지라도 하기와 같은 문제점을 수반하게 된다.A typical conventional device of such a device is one of the configuration shown in Fig. 6 (a). (B) of the figure illustrates an area of a frame for parallel processing by dividing one frame into four horizontally or vertically. As is apparent from FIG. 6 (a), a plurality of buffers on the video decoder side for processing the encoded bit streams in parallel are required to be composed of a plurality of buffers, and each of these buffers inputs and outputs data for each module. However, in the case of using a plurality of buffers (hereinafter, referred to as n) in the related art, the conventional data parallel processing apparatus has the following problems even though the buffer is controlled by the video encoder in the previous stage.

즉, 영상 복호기의 각 모듈이 처리하여야 하는 전체 데이터량은 영상 부호기에서의 버퍼량과 같은 양이되며, 영상 복호기에서 이것을 n개의 버퍼로 분할하여 처리하게 된다. 즉, 영상 부호기에서 각 모듈별 데이터량에 따라 각 모듈 영역별로 버퍼 조절한 것이 아니라 전체적으로 버퍼 조절한 것이기 때문에, 화면의 일부가 복잡하여 현저하게 많은 양의 데이터를 생성하거나 또는 하나의 화면의 일부가 단순하여 현저하게 적은 양의 데이터를 생성하게 되면, n개의 모듈로서 병렬 처리를 실행하야 하는 영상 복호기측의 버퍼는 엠프티 또는 풀현상이 발생하게 되는 문제점이 야기된다.That is, the total amount of data to be processed by each module of the image decoder is equal to the amount of buffer in the image encoder, and the image decoder divides the data into n buffers and processes them. In other words, because the video encoder does not adjust the buffer for each module area according to the amount of data for each module, but for the entire buffer, a part of the screen is complicated and generates a large amount of data or a part of one screen. If a simple and remarkably small amount of data is generated, there is a problem that an empty or full phenomenon occurs in the buffer of the video decoder side that needs to execute parallel processing as n modules.

제7도는 이러한 종래 장치에서 상술한 바와같은 과정에 의해 영상 복호기측의 버퍼에서 엠프티 또는 풀현상이 야기되는 것을 설명하기 위한 도면으로서, 동 도면의(a)는 n개의 버퍼중 하나의 버퍼에 풀현상이 발생된 것을 (b)는 n개의 버퍼 중 하나의 버퍼에 엠프티 현상이 극단적으로 발생되는 경우를 도식적으로 나타낸 것이다. 동도면으로 부터 알수 있는 바와 같이, 전체의 버퍼량으로 볼 때는 버퍼의 풀이나 엠프티 현상이 나타나지 않더라도 전술한 이유로 인해 각 모듈별 버퍼에서는 버퍼의 풀이나 엠프티 현상이 야기될 수 있음을 알 수 있다.FIG. 7 is a diagram for explaining that empty or full phenomenon is caused in the buffer of the image decoder side by the process described above in the conventional apparatus, and (a) of FIG. (B) shows a case where an empty phenomenon occurs in one of the n buffers. As can be seen from the drawing, it can be seen that even if the buffer amount or the empty condition of the buffer does not appear in terms of the total amount of buffer, the buffer or empty phenomenon of the buffer may be caused in the buffer for each module due to the aforementioned reasons. have.

그러나, 영상 복호기측에서의 데이터 병렬 처리로 인해 야기되는 이러한 문제점은 영상 복호기측의 버퍼량을 원래 필요한 양보다 늘리므로서 해결할 수가 있다.However, this problem caused by parallel processing of data on the video decoder side can be solved by increasing the buffer amount on the video decoder side than originally required.

즉, 4모듈 병렬 처리 시스템에 있어서는 각 모듈별 버퍼의 양을 4배씩 증가시킴으로서, 버퍼의 풀 현상이 발생되는 문제점은 해소할 수 있으나, 버퍼의 엠프티 현상이 발생되는 문제점은 여전히 존재하게 된다. 더욱이, 이로 인해 데이터 병렬 처리시에 필요로 하게 되는 버퍼의 양이 크게 증가하게 되므로써 경제적인 측면에서 볼 때 비효율적이 된다.That is, in the four-module parallel processing system, by increasing the amount of the buffer for each module by four times, the problem of the buffer pool phenomenon can be solved, but the problem of the empty phenomenon of the buffer still exists. Moreover, this greatly increases the amount of buffer required for data parallelism, making it economically inefficient.

본 발명은 이러한 문제점을 해결하기 위하여 안출한 것으로서, 영상 복호기가 영상 부호기로부터의 영상 데이터를 효과적으로 병렬 처리할 수 있게 한 영상 복호기에서의 데이터 병렬 처리 방법을 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a data parallel processing method in an image decoder that enables an image decoder to effectively process image data from an image encoder.

이러한 목적을 달성하기 위하여 본 발명은, 소정 단위의 데이터들을 저장가능하며, 저장된 데이터량을 알리는 상태 신호를 출력하는 적어도 2개 이상의 모듈 버퍼와; 슬라이스 버퍼 신호에 의하여 선택되며 소정 단위의 데이터들을 버퍼링하여 출력하는 모듈 버퍼와 동일 갯수의 슬라이스 버퍼와; 소정 단위들의 입력 순서에 대응하여 슬라이스 버퍼들을 순차적으로 선택하는 슬라이스 버퍼 선택 신호를 인가하며, 슬라이스 버퍼에 저장되는 데이터량 및 모듈 버퍼의 상태 신호에 대응하여 슬라이스 버퍼의 데이터가 입력될 모듈 버퍼를 알리는 제어 신호를 출력하는 슬라이스 비트량 카운터부와; 제어 신호에 따라 슬라이스 버퍼와 모듈 버퍼를 선택적으로 연결하여 슬라이스 버퍼의 데이터가 모듈 버퍼에 인가되도록 하는 스위칭부를 구비한다.In order to achieve the above object, the present invention provides at least two module buffers capable of storing data in a predetermined unit and outputting a status signal indicating a stored amount of data; A slice buffer selected by the slice buffer signal and having the same number of slice buffers as buffers for outputting data of a predetermined unit; A slice buffer selection signal for sequentially selecting slice buffers is applied to correspond to an input order of predetermined units, and the module buffer to which the slice buffer data is input in response to the amount of data stored in the slice buffer and a status signal of the module buffer is notified. A slice bit amount counter unit for outputting a control signal; And a switching unit for selectively connecting the slice buffer and the module buffer according to the control signal so that the data of the slice buffer is applied to the module buffer.

본 발명의 기타 목적과 여러가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로 부터 더욱 명백하게 될 것이다.Other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

이하 제1도 내지 제3도를 참조하여 본 발명에 따른 영상 복호기에서의 데이터 병렬 처리 장치에 대하여 설명한다.Hereinafter, a data parallel processing apparatus of an image decoder according to the present invention will be described with reference to FIGS. 1 to 3.

제3도는 동영상 신호를 처리하는데 있어서 기본이 되는 프레임의 데이터 포멧예를 나타낸 것으로서, 동도 (a)는 60개의 슬라이스로 이루어진 프레임을 나타내고, 동도 (b)는 44개의 매크로 블록으로 나누어진 슬라이스를 나타내며, 동도(c)는 32 x 16의 화소로 구성된 매크로 블록을 나타낸다.3 shows an example of a data format of a frame that is the basis for processing a video signal. FIG. 3A shows a frame composed of 60 slices, and FIG. 3B shows a slice divided into 44 macro blocks. , (C) shows a macro block composed of 32 x 16 pixels.

여기에서 본 발명은 실질적으로 이러한 슬라이스 및 매크로 블록을 국부적인 단위로서 그룹화하여 영상 복호기에서의 데이터 병렬 처리에 활용한다.Herein, the present invention substantially groups these slices and macroblocks as local units and utilizes them in data parallel processing in an image decoder.

제1 실시예First embodiment

제1도는 본 발명의 바람직한 실시예에 따른 영상 복호기에서의 데이터 병렬 처리 장치의 블록 구성도를 나타낸다.1 is a block diagram of a data parallel processing apparatus in a video decoder according to a preferred embodiment of the present invention.

동도면에 도시된 바와같이, 본 발명은 도시 생략된 부호화 장치를 통해 부호화된 영상 데이터 신호의 부호화된 비트열중에서 슬라이스의 슬라이스 헤더를 검출하고, 이 슬라이스내의 데이터량을 카운트하는 슬라이스 비트량 카운터부(10)와, 이 슬라이스 비트량 카운터부(10)로 부터의 출력 데이터를 일시적으로 저장하는 복수의 슬라이스 버퍼(SB1-SB4)로 구성된 슬라이스 버퍼부(20)와, 슬라이스 비트량 카운터부(10)로부터의 제어 신호에 의거하여 슬라이스 버퍼부(20)에 저장된 데이터를 그의 출력측에 병렬 배치되어 복수의 모듈별 버퍼로 구성된 모듈별 버퍼부(40)에 전달하는 스위칭부(30)로 구성된다.As shown in the figure, the present invention provides a slice bit amount counter unit for detecting a slice header of a slice in a coded bit string of an encoded image data signal through an encoding apparatus (not shown) and counting the amount of data in the slice. (10), a slice buffer unit 20 composed of a plurality of slice buffers SB1-SB4 for temporarily storing output data from the slice bit amount counter unit 10, and a slice bit amount counter unit 10 The switching unit 30 is configured to transfer the data stored in the slice buffer unit 20 in parallel to the output side thereof and transmit the data stored in the slice buffer unit 20 to the module buffer unit 40 composed of a plurality of module buffers.

다음에 상기한 구성을 갖는 본 발명의 동작과정을 설명한다.Next, an operation process of the present invention having the above-described configuration will be described.

먼저 시스템이 작동되어 전술한 제4도에 도시된 영상부호기를 통해 부호화된 영상신호의 부호화된 비트열, 예를 들면 슬라이스 단위로 그룹핑된 부호화된 비트열이 슬라이스 비트량 카운터(10)에 입력되면, 이 슬라이스 비트량 카운터(10)는 부호화된 비트열중에서 슬라이스 헤더를 검출하고, 그 슬라이스의 데이터량을 카운트한 다음 다음단의 버퍼부(20)에 슬라이스 데이터를 전달한다. 이때, 슬라이스 비트량 카운터부(10)에는 모듈별 버퍼부(40)로부터 복수의 각 모듈 버퍼(MB1-MB4)의 버퍼 상태신호가 입력된다.First, when the system is operated to input the encoded bit strings of the video signals encoded through the image encoder shown in FIG. 4, for example, the encoded bit strings grouped in slice units, to the slice bit amount counter 10. The slice bit amount counter 10 detects a slice header from the coded bit stream, counts the data amount of the slice, and transfers the slice data to the buffer unit 20 of the next stage. At this time, the buffer bit signals of the plurality of module buffers MB1-MB4 are input to the slice bit amount counter 10 from the module buffer unit 40.

버퍼부(20)는 병렬 처리할 모듈의 갯수에 대응하는 복수의 버퍼로 구성되어지나, 동도면에 도시된 바와같이 본 실시예에서는 일예로서 4개의 모듈별 버퍼(MB1-MB4)에 대응하는 4개의 슬라이스 버퍼(SB1-SB4)로 구성된다.The buffer unit 20 is composed of a plurality of buffers corresponding to the number of modules to be processed in parallel, but as shown in the drawing, as an example, 4 corresponding to four module-specific buffers MB1-MB4 is shown. It consists of two slice buffers (SB1-SB4).

버퍼부(20)의 데이터 저장에 있어서, 예를들면 슬라이스 버퍼1(SB1)에는 슬라이스 번호 0, 4, 8, . . . 의 슬라이스 데이터가 저장되고, 슬라이스 버퍼2(SB2)에는 슬라이스 번호 1, 5, 9, . . . 의 슬라이스 데이터가 저장되며, 슬라이스 버퍼3(SB3)에는 슬라이스 번호 2, 6, 10, . . . 의 슬라이스 데이터가 저장되고, 슬라이스 버퍼4(SB4)에는 슬라이스 번호 3, 7, 11, . . . 의 슬라이스 데이터가 저장된다. 이와 같은 슬라이스 번호에 따르는 슬라이스 버퍼의 선택 신호는 후술하는 바와 같이 슬라이스 비트량 카운터부(10)에서 발생된다.In the data storage of the buffer unit 20, for example, the slice buffer 1 (SB1) has slice numbers 0, 4, 8,. . . The slice data of the slice is stored, and slice numbers 1, 5, 9, and. Are stored in slice buffer 2 (SB2). . . The slice data of the slice is stored, and the slice buffer 3 (SB3) has slice numbers 2, 6, 10, and. . . Slice data of S3 is stored in slice buffer 4 (SB4). . . Slice data is stored. The slice buffer selection signal corresponding to the slice number is generated by the slice bit counter 10 as described later.

이렇게 하여 버퍼부(20)내의 슬라이스 버퍼1(SB1)부터 슬라이스 버퍼4(SB4)까지의 데이터 저장이 완료되면, 스위칭부(30)는 상술한 슬라이스 비트량 카운터부(10)로부터 입력되는 제어 신호에 의거하여 버퍼부(20)내의 복수의 각 슬라이스 버퍼에 저장된 데이터가 모듈별 버퍼부(40)내의 각 모듈 버퍼(MB1-MB4)에 전달되도록 스위칭된다. 여기에서 스위칭부(30)에 입력되는 슬라이스 비트량 카운터부(10)로부터의 제어 신호는 모듈별 버퍼부(40)로부터의 버퍼 상태 신호와 각 슬라이스 데이터량에 근거하여 생성된 것이다.In this way, when data storage from the slice buffer 1 (SB1) to the slice buffer 4 (SB4) in the buffer unit 20 is completed, the switching unit 30 inputs the control signal input from the slice bit amount counter unit 10 described above. Based on this, the data stored in each of the plurality of slice buffers in the buffer unit 20 is switched to be transferred to each module buffer MB1-MB4 in the module-specific buffer unit 40. The control signal from the slice bit amount counter unit 10 input to the switching unit 30 is generated based on the buffer status signal from the buffer unit 40 for each module and the respective slice data amounts.

상기한 제어 신호의 생성과정에 대하여 슬라이스 비트량 카운터부(10)의 세부적인 구성을 보여주는 제2도를 참조하여 상세히 기술하면 다음과 같다.The process of generating the control signal will be described in detail with reference to FIG. 2, which shows a detailed configuration of the slice bit amount counter unit 10 as follows.

제2도에 도시된 바와 같이 본 발명에 채용되는 슬라이스 비트량 카운터부(10)에는 부호화된 비트열중에서 각 슬라이스들을 검출하여 슬라이스 헤더내에 존재하는 슬라이스의 번호를 추출하고 이 추출된 번호에 따라 카운터부(14)의 복수의 카운터(C1-C4)중 그에 상응하는 카운터를 인에이블시키며, 슬라이스 데이터를 슬라이스 번호에 대응하여 제1도에 도시된 버퍼부(20)의 슬라이스 버퍼(SB1-SB4)에 각각 인가하여 구성되어 있다.As shown in FIG. 2, the slice bit amount counter unit 10 employed in the present invention detects each slice in the coded bit stream, extracts the number of the slice present in the slice header, and counts the counter according to the extracted number. A corresponding one of the plurality of counters C1-C4 of the unit 14 is enabled, and the slice buffers SB1-SB4 of the buffer unit 20 shown in FIG. Is applied to each.

즉, 각 슬라이스들에는 슬라이스들에 대한 정보를 갖는 슬라이스 헤더가 포함되어 있으며, 슬라이스 헤더내에는 1 프레임내 60개의 슬라이스들의 순서를 알리는 슬라이스 번호(0-59)가 포함되어 있는 바, 슬라이스 헤더 검출부(12)는 이 슬라이스 헤더에 의하여 각 슬라이스들을 분리할 수 있게 된다.That is, each slice includes a slice header having information about slices, and the slice header includes a slice number (0-59) indicating the order of 60 slices in one frame. (12) can separate each slice by this slice header.

이때, 슬라이스 번호는 상술한 바와 같이 총 60개가 존재하는 바 이 슬라이스 번호는 6 비트의 디지트(0000, 0001, 0010, 0011, 0100, 0101...)로서 표현이 가능하며, 슬라이스 버퍼(MB1-MB4)는 4개가 존재하는 바, 하위 2비트(00, 01, 10, 11)의 정보로서 4개의 슬라이스 버퍼(SB1-SB4)를 지정할 수 있게 된다.At this time, 60 slice numbers exist as described above. The slice numbers can be expressed as 6-bit digits (0000, 0001, 0010, 0011, 0100, 0101 ...), and the slice buffer MB1-. Since there are four MB4, four slice buffers SB1-SB4 can be designated as information of the lower two bits (00, 01, 10, 11).

따라서, 디코더부(16)는 슬라이스 헤더 검출부(12)로부터 슬라이스 번호 정보를 인가받고 이 슬라이스 번호 정보의 하위 2비트를 디코딩하여 슬라이스 버퍼(SB1-SB4)에 슬라이스 버퍼 선택 신호를 순차적으로 인가하는 한편, 카운터부(14)내 카운터 1-카운터 4(C1-C4)에 순차적으로 카운터 선택 신호를 인가한다.Therefore, the decoder 16 receives slice number information from the slice header detector 12 and decodes the lower two bits of the slice number information to sequentially apply slice buffer selection signals to the slice buffers SB1-SB4. The counter selection signal is sequentially applied to the counter 1-counter 4 (C1-C4) in the counter unit 14.

이때, 슬라이스 버퍼(SB1-SB4)는 슬라이스 버퍼 선택 신호가 인가될 때에 슬라이스 헤더 검출부(12)로부터의 데이터 비트 스트림을 입력하도록 구성되는 바, 슬라이스 버퍼1(SB1)에는 슬라이스 번호 0, 4, 8, ... 의 슬라이스 데이터가 저장되고, 슬라이스 버퍼2(SB2)에는 슬라이스 번호 1, 5, 9, ... 의 슬라이스 데이터가 저장되며, 슬라이스 버퍼3(SB3)에는 슬라이스 번호 2, 6, 10, ... 의 슬라이스 데이터가 저장되고, 슬라이스 버퍼4(SB4)에는 슬라이스 번호 3, 7, 11, ... 의 슬라이스 데이터가 저장될 수 있는 것이다.In this case, the slice buffers SB1-SB4 are configured to input a data bit stream from the slice header detection unit 12 when the slice buffer selection signal is applied, and the slice buffers 1, SB1 have slice numbers 0, 4, and 8. Slice data of, ... is stored, slice data of slice numbers 1, 5, 9, ... are stored in slice buffer 2 (SB2), and slice numbers 2, 6, 10 in slice buffer 3 (SB3). , Slice data of ..., and slice data of slice numbers 3, 7, 11, ... can be stored in slice buffer 4 (SB4).

한편, 슬라이스 헤더 검출부(12)는 이 슬라이스 데이터의 출력시에 즉, 데이터비트의 출력에 대응하는 소정 클럭 신호를 생성시켜 이것을 카운터부(14)내의 각 카운터의 클럭 단자에 입력한다. 이때, 상술한 바와 같이 카운터(C1-C4)에는 카운터 선택 신호가 디코더(16)에 의하여 순차적으로 인가되는 바(이는 슬라이스 버퍼(SB1-SB4)에 선택 신호가 인가되는 순서와 동일하게 된다.), 카운터(C1-C4)는 각 슬라이스들의 데이터 수를 계수하게 되는 것이다.On the other hand, the slice header detection unit 12 generates a predetermined clock signal corresponding to the output of the data bits, that is, at the time of outputting the slice data, and inputs it to the clock terminal of each counter in the counter unit 14. At this time, as described above, the counter selection signals are sequentially applied to the counters C1-C4 by the decoder 16 (this is the same as the order in which the selection signals are applied to the slice buffers SB1-SB4). The counters C1-C4 count the data number of each slice.

이와 같이, 카운터(C1-C4)에서 계수된 슬라이스의 데이터량들은 비교 판단부(18)에 인가되고, 비교 판단부(18)는 모듈별 버퍼부(40)로부터 입력되는 버퍼 상태 신호와 각 카운터(C1-C4)의 슬라이스 데이터량에 근거하여 제1도에 도시된 스위칭부(30)를 제어하기 위한 제어 신호를 발생, 출력하게 된다.As described above, the data amounts of the slices counted by the counters C1-C4 are applied to the comparison determination unit 18, and the comparison determination unit 18 receives a buffer status signal and each counter input from the buffer unit 40 for each module. The control signal for controlling the switching unit 30 shown in FIG. 1 is generated and output based on the slice data amount of (C1-C4).

여기서, 비교 판단부(18)가 출력하는 제어 신호는 상술한 바와 같이 슬라이스 버퍼(SB1-SB4)중 데이터량이 많은 버퍼내의 데이터가 모듈별 버퍼부(40)에서 데이터의 저장 정도가 적은 모듈 버퍼(MB1-MB4)에 배정되도록 스위칭된다.As described above, the control signal output from the comparison determining unit 18 is a module buffer having a small amount of data stored in the buffer unit 40 for each data in the buffer having a large amount of data in the slice buffers SB1-SB4. Are switched to be allocated to MB1-MB4).

그러므로 본 실시예에 따르면, 모듈별 버퍼부(40)로 부터의 버퍼 상태신호와 슬라이스 데이터량에 근거하는 제어 신호에 의거하여 스위칭부(30)가 복수의 모듈, 즉 4개의 모듈버퍼(MB1-MB4)에 저장되는 데이터량을 조절함으로서 복수의 모듈 버퍼의 풀 또는 엠프티 현상이 확실하게 방지된다.Therefore, according to the present embodiment, the switching unit 30 generates a plurality of modules, that is, four module buffers MB1- based on the buffer status signal from the module-specific buffer unit 40 and the control signal based on the slice data amount. By adjusting the amount of data stored in MB4), the pool or empty phenomenon of the plurality of module buffers can be reliably prevented.

즉, 본 실시예에 따르면, 부호화된 비트열을 슬라이스 단위로 그룹화하여 복수의 각 모듈 버퍼에 분산시켜 처리하므로 각 모듈 버퍼에 저장되는 데이터량이 비슷하게 되고, 이 비슷해진 상태에서 더 많은 데이터를 갖는 슬라이스 데이터가 모듈 버퍼의 저장 정도가 적은 모듈버퍼에 저장되므로, 영상 복호기에서의 데이터 병렬처리시에 종래 장치에서와 같이 많은 용량의 버퍼를 필요로 하지 않으면서도 버퍼의 풀 또는 엠프티 현상의 발생없이 원활하게 데이터를 부호화된 비트열로 병렬 처리 할 수가 있게 된다. 실질적으로 본 실시예에서 채용되는 복수의 슬라이스 버퍼는 모듈 버퍼에 비해 극히 소량이므로, 본 발명은 종래 장치에 비해 약간 추가된 버퍼 용량만 있으면 된다.That is, according to the present embodiment, since the coded bit streams are grouped into slice units and distributed and processed in each of the plurality of module buffers, the amount of data stored in each module buffer becomes similar, and the slice having more data in this similar state. Since data is stored in a module buffer with a low degree of storage of the module buffer, it is possible to perform data parallel processing in an image decoder smoothly without generating a buffer pool or empty phenomenon without requiring a large capacity buffer as in a conventional apparatus. In this way, the data can be processed in parallel with the encoded bit stream. Substantially, the plurality of slice buffers employed in this embodiment is extremely small compared to the module buffer, so the present invention only needs a slightly added buffer capacity compared to the conventional apparatus.

또한 본 실시예에 있어서, 일단 복수의 슬라이스 버퍼에 저장된 데이터들이 병렬로 각 모듈 버퍼에 기록되므로 전술한 종래장치의 병렬구조에서의 모듈 버퍼에 비해 본 발명은 1/4의 입출력 속도로도 충분하게 된다.In addition, in the present embodiment, since the data stored in the plurality of slice buffers are written to each module buffer in parallel, the present invention provides a sufficient input / output speed of 1/4 compared to the module buffer in the parallel structure of the conventional apparatus described above. do.

한편, 본 실시예에서는 제1도에 도시된 바와같이 4개의 모듈 버퍼로 데이터를 병렬처리하는 구조의 장치에 대하여만 기술하였으나, 본 발명은 이에 국한되지 않고 n개의 모듈로 데이터를 병렬 처리하는 구조의 장치에도 마찬가지로 적용할 수가 있다.Meanwhile, in the present embodiment, only the apparatus having a structure in which data is processed in parallel by four module buffers as shown in FIG. 1 is described. However, the present invention is not limited thereto, and the structure in which data is processed in parallel by n modules is shown. The same applies to the apparatus of.

제2 실시예Second embodiment

본 실시예는 프레임의 부호화된 비트열을 제1 실시예에서와 같이 슬라이스 단위로 그룹핑하여 병렬처리 하지 않고 더욱 국부적으로 매크로 블록 단위로 그룹핑하여 병렬처리 한다는데 그 특징이 있는 것으로서, 그 구성에 있어서는 제1도에 도시된 슬라이스 비트량 카운터부(10)를 매크로블록 비트량 카운터부로, 복수의 슬라이스 버퍼를 복수의 매크로 블록 버퍼로 대체하는 것을 제외하고는 실질적으로 제1도와 동일하다.This embodiment is characterized in that the coded bit streams of the frames are grouped in units of macroblocks in parallel rather than in parallel, instead of grouping them in slice units as in the first embodiment. It is substantially the same as FIG. 1 except that the slice bit amount counter 10 shown in FIG. 1 is replaced by a macroblock bit amount counter and a plurality of slice buffers are replaced by a plurality of macro block buffers.

따라서 데이터의 모든 처리 과정이 실질적으로 제1 실시예와 거의 동일하므로, 여기에서의 구체적인 기술은 생략하였으나, 작용 효과면에서는 실질적으로 제1 실시예와 동일하다.Therefore, since all the processing of the data is substantially the same as in the first embodiment, the specific description is omitted here, but in terms of operational effects, it is substantially the same as in the first embodiment.

또한, 본 실시예는 제1 실시예와 마찬가지로 4개의 모듈로 데이터를 부호화된 비트열로 병렬 처리하는 구조의 장치에만 국한되지 않고 n개의 모듈로 데이터를 병렬처리하는 구조의 장치에도 적용할 수가 있다.In addition, the present embodiment is not limited to a device having a structure in which four modulo data are processed in parallel with coded bit streams as in the first embodiment, and can also be applied to a device having a structure in which n modulo data is processed in parallel. .

이상 설명한 바와같이, 본 발명에 따르면, 영상 복호기에서 데이터를 부호화된 비트열로 병렬 처리하는데 있어서, 저속이면서도 적은 양의 버퍼로 데이터의 병렬처리를 효율적으로 실현할 수가 있다.As described above, according to the present invention, in parallel processing of data into a coded bit string in a video decoder, parallel processing of data can be efficiently realized with a low-speed and small amount of buffer.

Claims (4)

부호화된 데이터를 소정 단위로 분할하여 전송하는 영상 부호화 장치에 있어서, 상기 소정 단위의 데이터들을 저장가능하며, 저장된 데이터량을 알리는 상태 신호를 출력하는 적어도 2개 이상의 모듈 버퍼(MB1-MB4)와; 슬라이스 버퍼 신호에 의하여 선택되며 상기 소정 단위의 데이터들을 버퍼링하여 출력하는 상기 모듈 버퍼(MB1-MB4)와 동일 갯수의 슬라이스 버퍼(SB1-SB4)와; 상기 소정 단위들의 입력 순서에 대응하여 상기 슬라이스 버퍼(SB1-SB4)들을 순차적으로 선택하는 상기 슬라이스 버퍼 선택 신호를 인가하며, 상기 슬라이스 버퍼(SB1-SB4)에 저장되는 데이터량 및 상기 모듈 버퍼(MB1-MB4)의 상태 신호에 대응하여 상기 슬라이스 버퍼(SB1-SB4)의 데이터가 입력될 상기 모듈 버퍼(MB1-MB4)를 알리는 제어 신호를 출력하는 슬라이스 비트량 카운터부(10)와; 상기 제어 신호에 따라 상기 슬라이스 버퍼(SB1-SB4)와 상기 모듈 버퍼(MB1-MB4)를 선택적으로 연결하여 상기 슬라이스 버퍼(SB1-SB4 중의 하나)의 데이터가 상기 모듈 버퍼(MB1-MB4 중의 하나)에 인가되도록 하는 스위칭(30)를 구비하는 영상 복호기에서의 데이터 병렬 처리 장치.An image encoding apparatus for dividing encoded data into predetermined units, the apparatus comprising: at least two or more module buffers (MB1-MB4) capable of storing the data of the predetermined units and outputting a status signal indicating a stored amount of data; A slice buffer (SB1-SB4) having the same number as the module buffers MB1-MB4 selected by the slice buffer signal and buffering and outputting the data of the predetermined unit; The slice buffer selection signal for sequentially selecting the slice buffers SB1-SB4 in response to an input order of the predetermined units is applied, and the data amount and the module buffer MB1 stored in the slice buffers SB1-SB4. A slice bit amount counter unit (10) for outputting a control signal informing of the module buffers (MB1-MB4) to which the data of the slice buffers (SB1-SB4) are to be input, in response to a status signal of MB4; The slice buffers SB1-SB4 and the module buffers MB1-MB4 are selectively connected according to the control signal so that the data of the slice buffers SB1-SB4 is one of the module buffers MB1-MB4. A data parallel processing apparatus in a video decoder having a switching (30) to be applied to. 제1항에 있어서, 상기 슬라이스 비트량 카운터부(10)는, 상기 소정 단위내 포함되어 전송 순서를 알리는 번호 정보를 검출하여 출력하며, 상기 소정 단위내 데이터들을 순차적으로 출력하고, 이 데이터의 출력시에 소정 클럭 신호를 출력하는 헤더 검출부(12)와; 카운터 선택 신호의 인가시에 상기 헤더 검출부(12)로부터의 클럭 신호를 계수하는 카운터(C1-C4)와; 상기 순서 정보를 입력받아 상기 슬라이스 버퍼(SB1-SB4)를 순차적으로 지정하는 선택 신호 및 상기 카운터(C1-C4)를 순차적으로 지정하는 카운터 선택 신호를 출력하는 디코더부(16)와; 상기 카운터(C1-C4)의 계수값 및 상기 버퍼 상태 신호에 대응하여 상기 제어 신호를 출력하는 비교/판단부(18)를 구비하는 영상 복호기에서의 데이터 병렬 처리장치.The method of claim 1, wherein the slice bit amount counter unit 10 detects and outputs the number information included in the predetermined unit to inform the transmission order, sequentially outputs the data in the predetermined unit, and outputs the data. A header detector 12 for outputting a predetermined clock signal at the time; Counters C1-C4 for counting clock signals from the header detector 12 upon application of a counter select signal; A decoder (16) for receiving the order information and outputting a selection signal for sequentially specifying the slice buffers (SB1-SB4) and a counter selection signal for sequentially specifying the counters (C1-C4); And a comparison / decision unit (18) for outputting the control signal in response to the count value of the counters (C1-C4) and the buffer status signal. 제1항 또는 제2항에 있어서, 상기 소정 단위는 슬라이스인 것을 특징으로 하는 영상 복호기에서의 데이터 병렬 처리 장치.The data parallel processing apparatus of claim 1 or 2, wherein the predetermined unit is a slice. 제1항 또는 제2항에 있어서, 상기 소정 단위는 매크로 블록인 것을 특징으로 하는 영상 복호기에서의 데이터 병렬 처리 장치.3. The data parallel processing apparatus of claim 1 or 2, wherein the predetermined unit is a macro block.
KR1019930011545A 1993-06-23 1993-06-23 Method and apparatus for processing image signal KR0128864B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930011545A KR0128864B1 (en) 1993-06-23 1993-06-23 Method and apparatus for processing image signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930011545A KR0128864B1 (en) 1993-06-23 1993-06-23 Method and apparatus for processing image signal

Publications (2)

Publication Number Publication Date
KR950002475A KR950002475A (en) 1995-01-04
KR0128864B1 true KR0128864B1 (en) 1998-04-10

Family

ID=19357908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930011545A KR0128864B1 (en) 1993-06-23 1993-06-23 Method and apparatus for processing image signal

Country Status (1)

Country Link
KR (1) KR0128864B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801630B1 (en) * 2007-06-15 2008-02-05 디비코 주식회사 Distributed decoding processing device using multi-core processor and the method for the same

Also Published As

Publication number Publication date
KR950002475A (en) 1995-01-04

Similar Documents

Publication Publication Date Title
EP0945022B1 (en) Efficient fixed-length block compression and decompression
JP2661738B2 (en) Video coder
US5504823A (en) Image data partitioning circuit for parallel image decoding system
KR970002483B1 (en) A high speed variable length decoder
JPS6226633B2 (en)
JP2000013799A (en) Device and method for motion compensation encoding and decoding
US6668015B1 (en) Efficient fixed-length block compression and decompression
CN101502122B (en) Encoding device and encoding method
JP3153404B2 (en) Digital video bitstream coder
US5668547A (en) Runlength coding method and apparatus for use in a video signal encoding system
KR0128864B1 (en) Method and apparatus for processing image signal
KR0134476B1 (en) Transmitter & receiver in image signal transceiver system
US5861923A (en) Video signal encoding method and apparatus based on adaptive quantization technique
KR0128863B1 (en) Method and apparatus for processing images signal
CN1124047C (en) Apparatus and method for generating on-screen-display messages using stored bitstreams
US6459815B1 (en) Method of buffering video data in video compression system
CN113766238B (en) Image high-speed compression method and system based on FPGA under JPEG-LS lossless compression standard
JPH05284369A (en) Method and device for encoding/restoring image data
KR100195717B1 (en) A variable length decoder
KR0129796B1 (en) Encoding device of moving picture
KR100195715B1 (en) A variable length decoder
KR950007304B1 (en) Optimum data compressing mehtod of video encoder
KR0152025B1 (en) Encoding method and apparatus of e.o.b block data
KR100203640B1 (en) Encoding path control apparatus for image encoding with parallel processing
KR100197364B1 (en) Apparatus for adaptively quantizing vectors in image encoding system

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
LAPS Lapse due to unpaid annual fee