KR100313882B1 - Skip macro block processor - Google Patents

Skip macro block processor Download PDF

Info

Publication number
KR100313882B1
KR100313882B1 KR1019940035306A KR19940035306A KR100313882B1 KR 100313882 B1 KR100313882 B1 KR 100313882B1 KR 1019940035306 A KR1019940035306 A KR 1019940035306A KR 19940035306 A KR19940035306 A KR 19940035306A KR 100313882 B1 KR100313882 B1 KR 100313882B1
Authority
KR
South Korea
Prior art keywords
decoder
skip
mba
motion vector
generator
Prior art date
Application number
KR1019940035306A
Other languages
Korean (ko)
Other versions
KR960028456A (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 KR1019940035306A priority Critical patent/KR100313882B1/en
Publication of KR960028456A publication Critical patent/KR960028456A/en
Application granted granted Critical
Publication of KR100313882B1 publication Critical patent/KR100313882B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

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

Abstract

PURPOSE: A skip macro block processor is provided to compensate a skip macro block and to realize the continuous motions of a VLC(Variable Length Coding) decoder. CONSTITUTION: In an HDTV(High Definition Television) decoder, a VLD(Variable Length Decoding) unit comprises a VLC decoder(8) transmitting a bit stream by decoding, an mba(macro block address) decoder(9) predicting an mba, a parameter decoder(10) decoding a parameter, a coefficient decoder(11) decoding the run-level pair of a coefficient from the VLC decoder, a motion vector decoder(12) decoding a motion vector, a first, second, third, and fourth FIFO(First-In First-Out) corresponding to the decoders of mba, parameter, coefficient, and motion vector, an mba generator(13) generating an mba and deciding a skip macro block, a parameter generator(14) generating a parameter, a coefficient generator(15) generating a coefficient by reading the run-level pairs from the FIFO, and a motion vector generator(16) generating a motion vector.

Description

스킵 매크로블럭의 처리장치Skip Macro Block Processing Unit

제 1 도는 HDTV 디코더의 블럭도1 is a block diagram of an HDTV decoder

제 2 도는 본 발명의 VLD부의 세부구성도2 is a detailed configuration diagram of the VLD unit of the present invention

제 3 도는 본 발명의 mba 발생부의 세부구성도3 is a detailed configuration diagram of the mba generator of the present invention

제 4 도는 본 발명의 파라메타 발생부의 세부구성도4 is a detailed configuration diagram of the parameter generator of the present invention

제 5 도는 본 발명의 계수 발생부의 세부구성도5 is a detailed configuration diagram of the coefficient generator of the present invention

제 6 도는 본 발명의 모션벡터 발생부의 세부 구성도6 is a detailed configuration diagram of the motion vector generator of the present invention

제 7 도는 본 발명의 제 1 동작 설명도7 is a first operation explanatory diagram of the present invention

제 8 도는 본 발명의 제 2 동작 설명도8 is an explanatory view of a second operation of the present invention.

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

1 : 비디오버퍼 2 : VLD부1: Video buffer 2: VLD part

3 : 역양자화부 4 : IDCT부3: inverse quantization unit 4: IDCT unit

5 : 움직임 보상부 6 : 가산부5: motion compensator 6: adder

7 : VDP부 8 : VLC 디코더7: VDP section 8: VLC decoder

9 : mba 디코더 10 : 라파메타 디코더9: mba decoder 10: rapeta decoder

11 : 계수 디코더 12 : 모션벡터 디코더11: coefficient decoder 12 motion vector decoder

13 : mba 발생부 14 : 파라메타 발생부13: mba generator 14: parameter generator

15 : 계수 발생부 16 : 모션벡터 발생부15: coefficient generator 16: motion vector generator

17 : 카운터 18 : 에지검출기17: counter 18: edge detector

19 : 디폴트 파라메타 발생부 20 : 프리비오스 파라메타 레지스터19: default parameter generator 20: prebios parameter register

21,24 : Mux 22 : 런-레벨 디코더21,24: Mux 22: run-level decoder

23 : 프리비오스 모션벡터 레지스터23: Prebios motion vector register

본 발명은 HDTV 디코더에 관한 것으로 특히, VLC(Variable Length Cording) 디코더에서 디코딩된 mba를 이용하여 스킵 매크로블럭(Skip Macroblock)을 판단하고 처리하기에 적당하도록한 스킵 매크로블럭의 처리장치에 관한 것이다.The present invention relates to an HDTV decoder, and more particularly, to an apparatus for processing a skip macroblock that is suitable for determining and processing a skip macroblock using mba decoded in a variable length cording (VLC) decoder.

일반적으로 HDTV 신호는 화상데이타를 디지탈적으로 압축한 신호로써, 기본적인 압축 단위로 16 X 16 픽셀(Pixel)로 이루어진 매크로블럭을 사용한다.In general, an HDTV signal is a signal obtained by digitally compressing image data and uses a macroblock composed of 16 × 16 pixels (Pixel) as a basic compression unit.

압축방법으로는 DCT, 양자화, VLC 코딩, 프레임(frame)간의 움직임 보상등이 사용되는데 매 매크로블럭(macroblock) 단위의 전(前) 프레임(frame)에서 움직임이 추정된 블럭과의 차이를 압축하여 모션벡터(Motion Vector)와 함께 보내진다.Compression methods include DCT, quantization, VLC coding, and motion compensation between frames. Compresses the difference from the block whose motion is estimated in the previous frame of every macroblock. Sent with a Motion Vector.

만일, 어떤 매크로블럭에 보내질 데이타 없거나, 예측 가능할때, 즉 차이가 0 이거나 모션벡터가 0 이거나 전(前) 매크로블럭의 값과 일치할때는 스킵 매크로블럭으로 처리하여 당 매크로블럭에 대해서는 데이타를 보내지 않는다.If there is no data to be sent to any macroblock, or if it is predictable, that is, if the difference is zero, the motion vector is zero, or matches the value of the previous macroblock, then it is treated as a skip macroblock and no data is sent for that macroblock. .

그리고 디코더에서의 스킵 매크로블럭의 판단은 매 매크로블럭(macroblock)의 처음에 보내지는 mba(macroblock address increment)를 디코딩하고 mba를 예측(prediction) 했을때 나타나지 않는 mba에 해당하는 매크로블럭은 스킵 매크로블럭으로 인식하며 이때 VLC(Variable Length Code) 디코더는 상기 스킵 매크로블럭을 처리하기 위해 동작을 일시 정지하였다.The decision of the skip macroblock in the decoder is to decode the macroblock address increment (mba) sent at the beginning of each macroblock and to skip the macroblock corresponding to the mba that does not appear when the mba is predicted. In this case, the VLC (Variable Length Code) decoder pauses the operation to process the skip macroblock.

따라서, 본 발명은 상기 스킵 매크로블럭을 판단하고 보충처리하며 VLC 디코더의 연속동작이 가능한 스킵 매크로블럭의 처리장치를 제공함에 그 목적이 있다.Accordingly, an object of the present invention is to provide a skip macroblock processing apparatus capable of determining and supplementing the skip macroblock and enabling continuous operation of a VLC decoder.

상기목적을 달성하기 위한 본 발명의 스킵 매크로블럭의 처리장치는 비트스트림을 저장하는 비디오버퍼와, 상기 비트스트림을 해석하는 VLD부와, VLD부의 출력신호를 역양자화 시키는 역양자화부와, 역양자화된 신호를 IDCT 처리하는 IDCT부와,상기 VLD로 부터 출력되는 움직임 정보를 이용하여 움직임을 보상하는 움직임 보상부와, 상기 IDCT와 움직임 부상부의 출력신호를 가산하여 VDP부에 출력시키는 HDTV 디코더에 있어서, 상기 VLD부는 비트스트림을 디코딩하는 VLC 디코더와, VLC 디코더의 출력으로 부터 mba를 예측하는 mba 디코더와, VLC 디코더의 출력으로 부터 파라메타를 디코딩하는 파라메타 디코더와, VLC 디코더의 출력으로 부터 런-레벨쌍을 디코딩하는 계수 디코더와, VLC 디코더의 출력으로 부터 모션벡타를 디코딩하는 모션벡타 디코더와, 상기 mba, 파라메타, 계수, 그리고 모션벡타 디코더에 각각 대응하는 제 1, 2, 3, 4, FIFO와, 상기 제 1 FIFO에 대응하여 mba를 제네레이션하고 스킵 매크로블럭을 판단하는 mba 발생부와, 상기 제 2 FIFO에 대응하여 파라메타를 제네레이션 하는 파라메타 발생부와, 상기 제 3 FIFO에 대응하여 런-레벨쌍을 읽고 계수를 발생시키는 계수 발생부와, 상기 제 4 FIFO에 대응하여 모션벡터를 제네레이션하는 모션벡터 발생부로 구성됨을 특징으로 한다.In order to achieve the above object, a skip macroblock processing apparatus according to the present invention includes a video buffer for storing a bitstream, a VLD unit for interpreting the bitstream, an inverse quantizer for dequantizing an output signal of the VLD unit, and an inverse quantization. An IDCT unit for IDCT processing the received signal, a motion compensation unit for compensating for motion using the motion information output from the VLD, and an HDTV decoder for adding the output signals of the IDCT and the motion floating unit to output to the VDP; The VLD section includes a VLC decoder for decoding the bitstream, an mba decoder for predicting mba from the output of the VLC decoder, a parameter decoder for decoding parameters from the output of the VLC decoder, and a run-level from the output of the VLC decoder. A coefficient decoder for decoding the pair, a motion vector decoder for decoding the motion vector from the output of the VLC decoder, and the mba, First, second, third, fourth, and FIFOs corresponding to the parameter, the coefficient, and the motion vector decoder, an mba generator for generating mba and determining a skipped macroblock in response to the first FIFO, and the second A parameter generator for generating parameters in response to a FIFO, a coefficient generator for reading run-level pairs in response to the third FIFO and generating coefficients, and a motion vector generation for generating a motion vector in response to the fourth FIFO It is characterized by consisting of wealth.

이하, 첨부된 도면을 참조하여 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings as follows.

제 1 도는 HDTV 디코더의 블럭도로써, 1은 비디오버퍼(Video Buffer)부, 2는 VLD (Variable Length Decoding)부, 3은 역양자화(Inverse Quantiger ,Q-1)부, 4는 IDCT ( Inverse Discreate Cosine Transfom )부, 5는 움직임 보상 (Motion Compensation)부, 6은 가산부(adder), 7은 VDP(Video Display Processor)부를 각각 나타낸다.1 is a block diagram of an HDTV decoder, in which 1 is a video buffer unit, 2 is a variable length decoding (VLD) unit, 3 is an inverse quantization unit (Q- 1 ), and 4 is an inverse discreate. Cosine Transfom), 5 is a Motion Compensation unit, 6 is an adder, and 7 is a VDP (Video Display Processor) unit.

도시된 바와 같이 비디오 버퍼부(1)에서는 입력되는 비트스트림을 저장하고 저장된 비트스트림은 VLD(2)에서 해석되며 역양자화부(3)에서 역양자화된다.As shown, the video buffer unit 1 stores the input bitstream and the stored bitstream is interpreted by the VLD 2 and dequantized by the dequantizer 3.

또한 역양자화된 신호를 IDCT부(4)에서 IDCT되고 움직임 보상부(5)에서는 상기 VLD (2)의 움직임 정보를 이용하여 움직임을 보상하고 가산부(6)에서는 상기 IDCT부(4)와 움직임 보상부(5)로 부터 출력되는 신호를 가산하여 VDP(7)에 출력시킨다.In addition, the dequantized signal is IDCT in the IDCT unit 4, and the motion compensator 5 compensates for the motion by using the motion information of the VLD 2, and the adder 6 moves with the IDCT unit 4. The signal output from the compensator 5 is added and output to the VDP 7.

이어서 스킵 매크로블럭을 판단하고 처리하는 것은 제 2 도인 본 발명의 VLD부의 세부구성도를 이용하여 설명하면 다음과 같다.Subsequently, the determination and processing of the skip macroblock will be described with reference to the detailed configuration diagram of the VLD unit of FIG. 2.

본 발명의 VLD부(2)는 비디오 버퍼부(1)에서 읽어낸 비트스트림을 디코딩하여 다음 디코더에 코드를 전달하는 VLC 디코더(8)와, mba를 예측하는 mba 디코더(9)와 파라메타(parameter)를 디코딩하는 파라메타 디코더(10)와, 상기 VLC 디코더로부터 계수(cefficient)의 런-레벨(run-level)쌍을 디코딩하는 계수 디코더(11)와,모션벡터를 디코딩하는 모션벡터 디코더(12)와, 상기 mba, 파라메타, 계수, 모션벡터 디코더(13)(14)(15)에 각각 대응하여 순서대로 입출력하는 각각의 FIFO와 또한, mba를 제네레이션(generation)하고 스킵 매크로블럭을 판단하는 mba 발생부(generator) (13)와, 파라메타를 제네레이트 하는 파라메타 발생부(14)와, 상기 FIFO로 부터 run-level쌍을 읽어 계수를 발생시키는 계수 발생부(15)와,모션벡터를 제네레이션하는 모션벡타 발생부(16)로 구성된다.The VLD unit 2 of the present invention is a VLC decoder 8 which decodes the bitstream read from the video buffer unit 1 and delivers the code to the next decoder, an mba decoder 9 which predicts mba, and a parameter. A parameter decoder 10 for decoding the N s), a coefficient decoder 11 for decoding a run-level pair of coefficients from the VLC decoder, and a motion vector decoder 12 for decoding the motion vector. And mba for generating and skipping each FIFO that sequentially inputs and outputs the mba, the parameters, the coefficients, and the motion vector decoders 13, 14, and 15, respectively, and determines the skipped macroblock. A generator 13, a parameter generator 14 for generating parameters, a coefficient generator 15 for generating coefficients by reading run-level pairs from the FIFO, and a motion for generating a motion vector. It consists of a vector generator 16.

상기 구성에 대한 설명으로 각 FIFO의 Write Enable 신호인 we1, we2, we3는 각각의 디코더에서 발생되는데 매크로블럭마다 1개씩의 정보를 가지고 있는 mba 및 파라메타 값은 매 매크로블럭이 끝에서 라이트(write)하도록 만들어진 we1에 의해 쓰여지며 매크로블럭마다 디코딩되는 갯수가 일정하지 않는 계수의 run-level쌍과 모션벡터는 각 값이 디코딩 될때마다 각각 쓰여지도록 we2와 we3가 발생된다.As a description of the above configuration, the write enable signals we1, we2, and we3 of each FIFO are generated in each decoder, and mba and parameter values having one information for each macroblock are written at the end of each macroblock. We2 and we3 are generated so that run-level pairs and motion vectors of coefficients written by we1, which are written by we1 and whose number of decodes are not constant per macroblock, are written each time each value is decoded.

그리고 FIFO에 쓰여진 mba와 파라메타는 mba 발생부(13) 및 파라메타 발생부(14)에서 발생시키는 리드 인에이블(Read Enable) 신호인 re1에 의해 읽혀지며 계수의 run-level값과 모션벡터값은 각각 계수 발생부(15)와, 모션벡터 발생부(16)에서 발생되는 re2 및 re3에 의해 읽혀지며, 상기 mba 발생부(13)에서 발생한 스킵 -플래그(skip-flag)는 상기 파라메타 발생부(14), 계수 발생부(15), 그리고 모션벡터 발생부(16)에 각각 입력된다.The mba and parameters written to the FIFO are read by re1, which is a read enable signal generated by the mba generator 13 and the parameter generator 14, and the run-level value and the motion vector value of the coefficient are respectively. Read by the coefficient generator 15 and re2 and re3 generated by the motion vector generator 16, the skip-flag generated in the mba generator 13 is the parameter generator 14 ), The coefficient generator 15, and the motion vector generator 16, respectively.

그리고, 상기 mba 발생부(13)를 제 3 도인 본 발명의 mba 발생부의 세부구성도를 참조하여 설명하면 다음과 같다.In addition, the mba generator 13 will be described with reference to the detailed configuration diagram of the mba generator of FIG. 3 as follows.

본 발명의 mba 발생부 (13)는 매크로블럭 어드레스를 카운트 출력으로 발생하는 카운터(17)와 매크로블럭의 에지(edge)검출기(18)와, Ex(exclusive)-OR 게이트, Not 게이트, 그리고 AND 게이트로 구성된다.The mba generator 13 of the present invention includes a counter 17 for generating a macroblock address as a count output, an edge detector 18 for the macroblock, an Ex-OR gate, a Not gate, and an AND. It consists of a gate.

따라서, 상기 카운터(17)는 슬라이스 스타트(Slice Start)에서 발생되는 리셋(reset)신호에 의해 0 으로 리셋된 후 매크로블럭 클럭에 의해 카운트 업되어 순차적으로 0, 1, 2, 3, … 을 발생 시킨다.Accordingly, the counter 17 is reset to 0 by the reset signal generated at the slice start and then counted up by the macroblock clock to sequentially 0, 1, 2, 3,... Raises the

또한, 에지검출기(18)이 라이징에지(Rising Edge)에서 re1을 발생시켜 읽혀진 mba는 카운터(17)의 출력과 Ex-OR되어 같은 값이면 스킵-프래그(skip-flag)가 0이 되고,값이 다르면 1이 되어 스킵 매크로블럭의 유, 무를 판단한다.In addition, when the edge detector 18 generates a re1 at the rising edge, the read mba is Ex-ORed with the output of the counter 17 so that the skip-flag becomes zero if it is the same value. If the value is different, it becomes 1 to determine whether the skip macro block is present or not.

상기 re1은 매크로블럭의 첫 클럭에서 스킵-플래그가 0일 경우에만 re1을 발생시키고 1일 때는 re1의 발생을 금지시킨다.Re1 generates re1 only when the skip-flag is 0 at the first clock of the macroblock and prohibits the occurrence of re1 when it is 1.

또한, 매크로블럭의 파라메타를 발생시키는 파라메타 발생부(14)에 대해서는 제 4 도인 본 발명의 파라메타 발생부의 세부구성도를 참조하여 설명하면 다음과 같다.In addition, the parameter generating unit 14 for generating the parameters of the macroblock will be described with reference to the detailed configuration diagram of the parameter generating unit of the present invention as shown in FIG.

본 발명의 파라메타 발생부는 현재의 픽처구조(Picture Structure)가 프레임 (frame) 또는 필드(field)에 따라 다르게 세팅해주는 디폴트(default) 파라메타 발생부(19)와, 전(前) 매클로블럭의 파라메타를 저장하고 있는 프리비오스(previous) 파라메타 레지스타(20)와 MUX(21)로 구성된다.The parameter generator according to the present invention has a default parameter generator 19 in which the current picture structure is set differently according to a frame or a field, and the parameters of the previous macroblock. It consists of a previous parameter register (20) and the MUX (21) storing the.

구성에 따른 설명으로, 파라메타는 상기 mba 발생부(13)에서 제공된 스킵-플래그가 0 이면 FIFO에서 출력된 파라메타가 MUX(21)의 D2로 그대로 출력되지만 스킵-플래그가 1 이되어 스킵 매크로블럭 일때에는 픽쳐코딩 타입(Picture Cording Type)에 따라 다르게 처리되는데 픽쳐코딩 타입이 P프레임 일때에는 P/B = 1 이 되고 디폴트 파라메터를 유지할 수 있도록 MUX(21)의 D0를 선택하고, 픽쳐코딩 타입이 B프레임 일때에는 P/B = 0이 되어 전(前) 매크로블럭의 파라메타값을 유지하도록 MUX(21)의 D1을 선택함을 나타내었다.In the description according to the configuration, if the skip-flag provided by the mba generator 13 is 0, the parameter output from the FIFO is output as it is to D 2 of the MUX 21, but the skip-flag becomes 1 and the skip macroblock When the picture coding type is P frame, P / B = 1 and D 0 of the MUX 21 is selected to maintain the default parameter, and picture coding type. In this B frame, P / B = 0, indicating that D 1 of the MUX 21 is selected to maintain the parameter value of the previous macro block.

다음에, 제 5 도는 본 발명의 계수 발생부의 세부구성도로써 본 발명의 계수 발생부(15)는 런-레벨을 디코딩하는 런-레벨 디코더(22)와, NOT 게이트 그리고 AND게이트로 구성되며 구성에 따른 동작으로, 상기 런-레벨 디코더(22)에서 런-레벨을 디코딩하여 계수로 변환하여 출력하며 mba 발생부(13)에서 출력된 1인 스킵-플레그 값이 NOT 게이트와 AND 게이트에 의해 강제로 0 인 계수를 출력하며 re3가 금지되어 FIFO로 부터 출력되지 않는다.Next, FIG. 5 is a detailed configuration diagram of the coefficient generator of the present invention. The coefficient generator 15 of the present invention includes a run-level decoder 22 that decodes run-level, a NOT gate, and an AND gate. According to the operation, the run-level decoder 22 decodes the run-level, converts it into a coefficient, and outputs the coefficient. A skip-flag value of 1 output from the mba generator 13 is forced by the NOT gate and the AND gate. 0 is outputted and re3 is prohibited and is not output from FIFO.

이어서, 제 6 도는 본 발명의 모션벡터 발생부의 세부구성도로써,전(前) 매크로블럭의 모션벡터를 저장하는 프리비오스(previos) 모션벡터 레지스터(23)와 MUX(24)로 구성되며, 스킵-프래그가 0이면 FIFO에서 출력된 모션벡터가 MUX(24)의 D2로 그대로 출력되지만, 스킵-프래그가 1이 되어 스킵 매르로블럭 일때에는 픽쳐코딩 타입에 따라 다르게 처리되는데 P프레임 이면 P/B = 1 이되고 0인 모션벡터를 유지하도록 상기 MUX(24)의 D0를 선택하고, B프레임이면 P/B = 0 이 되어 이전의 모션벡터를 유지하도록 MUX(24)의 D1을 선택함을 나타내었다.6 is a detailed configuration diagram of the motion vector generator of the present invention, which is composed of a previos motion vector register 23 and a MUX 24 that store motion vectors of a previous macro block. -If the flag is 0, the motion vector output from the FIFO is output as D 2 of MUX (24). However, when the skip flag is 1 and it is skip macro block, it is processed differently according to the picture coding type. D 0 of the MUX 24 is selected to maintain a motion vector of P / B = 1 and 0, and if it is a B frame, P / B = 0 to maintain a previous motion vector D 1 of MUX 24. To indicate that it is selected.

그리고, 상술한 본 발명의 회로구성도의 처리예로 제 7 도와 제 8 도로를 참조하여 설명하면 다음과 같다.The following is a description with reference to the seventh and eighth roads as the processing example of the circuit configuration diagram of the present invention described above.

제 7 도는 본 발명의 제 1 동작설명도이고, 제 8 도는 본 발명의 제 2동작 설명도를 나타내었다.7 is a diagram illustrating the first operation of the present invention, and FIG. 8 is a diagram illustrating the second operation of the present invention.

우선 제 7 도에 도시된 바와 같이 한 슬라이스에 대하여 mba FIFO에 저장된 데이타 값은 0, 1, 3, 4, 7, 8, ..., n-1, 0, 1, 2로써 2, 5, 6의 mba 데이타값을 갖는 매크로블럭은 디코딩되지 않아서 스킵 매크로블럭이 된다.First, as shown in FIG. 7, data values stored in the mba FIFO for one slice are 0, 1, 3, 4, 7, 8, ..., n-1, 0, 1, 2, 2, 5, Macroblocks with an mba data value of 6 are not decoded to become skip macroblocks.

따라서,2, 3, 6 대신에 0, 1, 2의 mba 데이타값이 저장된다.Therefore, mba data values of 0, 1, and 2 are stored instead of 2, 3, and 6.

그리고 제 8 도는 본 발명의 제 2 동작설명도로써, 스킵 매크로블럭의 처리 방법을 타이밍(timing)도를 통해 설명하면 다음과 같다.8 is a diagram illustrating a second operation of the present invention. A method of processing a skip macroblock will now be described with reference to a timing diagram.

도시된 바와 같이 슬라이스 클럭(Slice Clock)에 의해 카운터(17)가 0으로 리셋(reset)되고 에지검출기(18)의 라이징에지(Rising Edge)에서 re1을 발생시켜 첫번째 매크로 블럭의 mba와 파라메타가 읽혀진다.As shown, the counter 17 is reset to 0 by the slice clock, and the rising edge of the edge detector 18 generates re1 to read mba and parameters of the first macro block. Lose.

그리고 상기 카운터(17)의 0 인 블럭값과 FIFO에서 읽혀진 mba 데이타의 0값이 Ex-OR되어 0 인 스킵플래그가 출력된다.The zero block value of the counter 17 and the zero value of the mba data read from the FIFO are Ex-ORed to output a skip flag of zero.

이때 파라메타 발생부(14)는 FIFO에서 읽힌 파라메타를 그대로 출력하고 계수 발생부(15)도 run-level쌍을 읽어 계수로 출력하며 모션벡터 발생부(16) 또한 파라메타를 참조하여 모션벡터가 있는 매크로블럭에 대하여 모션벡타를 읽어내서 출력한다.At this time, the parameter generator 14 outputs the parameters read from the FIFO as it is, the coefficient generator 15 also reads run-level pairs and outputs them as coefficients, and the motion vector generator 16 also refers to the parameters and includes a macro with motion vectors. Read and output the motion vector for the block.

다음에 두번째 매크로블럭에서 상기 카운터(17)는 1이 되고 에지검출기(18)의 라이징에지(Rising Edge)에서 re1을 발생시켜 두번째 mba와 파라메타를 읽어내고 스킵-플래그는 카운터(17)의 1과 mba 데이타의 1값을 E-OR하여 0인 스킵-플래그가 출력된다.Next, in the second macroblock, the counter 17 becomes 1 and generates re1 at the rising edge of the edge detector 18 to read the second mba and the parameters, and the skip-flag is set to 1 and 1 of the counter 17. A skip-flag of 0 is output by E-ORing 1 value of mba data.

또한 파라메타, 계수, 모션벡타 발생부(14)(15)(16)도 상기 첫번째 처럼 같은 과정으로 출력된다.The parameters, coefficients, and motion vector generators 14, 15 and 16 are also output in the same process as the first.

그러나 세번째 매크로블럭에서 상기 카운터(17)는 2가 되고 에지검출기(18)의 라이징에서 er1을 발생시켜 세번째 mba의 값인 3을 읽어 스킵-플래그는 1이 출력된다.However, in the third macroblock, the counter 17 becomes 2, generates er1 in the rising of the edge detector 18, reads 3, the value of the third mba, and outputs a skip-flag of 1.

따라서 파라메타는 P/B = 1일때 디폴트 파라메타 발생부(19)의 값을 출력하고, P/B = 0일 때는 프리비오스 파라메타 레지스터(20)의 값을 출력한다.Therefore, the parameter outputs the value of the default parameter generator 19 when P / B = 1, and outputs the value of the pre-bis parameter register 20 when P / B = 0.

그리고 계수는 스킵-플래그가 1이므로 0이 선택되어 출력하며 re3는 금지된다.And since the skip flag is 1, 0 is selected and output, and re3 is prohibited.

또한 모션벡타는 P/B = 1일 때는 0이 출력되고 P/B = 0일때는 프리비오스 모션벡터 레지스터(23)의 출력을 갖는다.The motion vector also has an output of 0 when P / B = 1 and an output of the pre-vis motion vector register 23 when P / B = 0.

그리고 네번째 매크로블럭에서는 상기 카운터(17)가 3이되고, 세번째 매크로블럭에서 에지검출기(18)의 라이징에지에서 re1을 발생시켜 네번째 매크로블럭까지 mba값의 3을 유지하고 있기 때문에 스킵-플래그는 0이된다.In the fourth macroblock, the counter 17 becomes 3, and in the third macroblock, the skip-flag is zero because the rising edge of the edge detector 18 generates re1 and maintains 3 of the mba value until the fourth macroblock. Become.

따라서, 파라메타, 계수, 모션벡터 발생부(14)(15)(16)는 상기 첫번째 처럼 같은 과정으로 출력되며 이하(다섯번째, 여섯번째,...)의 경우도 상기와 동일하게 진행된다.Accordingly, the parameters, coefficients, and motion vector generators 14, 15, and 16 are output in the same process as in the first, and the following cases (fifth, sixth, ...) proceed in the same manner as above.

이상에서 설명한 본 발명의 스킵 매크로블럭의 처리장치는 VLC 디코더의 연속동작이 가능하면서도 스킵 매크로블럭을 판단하고 보충처리 해주는 효과가 있다.The skip macroblock processing apparatus of the present invention described above has the effect of determining and supplementing the skip macroblock while allowing the continuous operation of the VLC decoder.

Claims (5)

비트스트림을 저장하는 비디오버퍼와, 상기 비트스트림을 해석하는 VLC부와, VLD부의 출력신호를 역양자화 시키는 역양자화부와, 역양자화된 신호를 IDCT 처리하는 IDCT부와, 상기 VLD로 부터 출력되는 움직임 정보를 이용하여 움직임을 보상하는 움직임 보상부와, 상기 IDCT부와 움직임 부상부의 출력신호를 가산하여 VDP부에 출력시키는 HDTV 디코더에 있어서, 상기 VLD부는 비트스트림을 디코딩하는 VLC 디코더와, VLC 디코더의 출력으로 부터 mba를 예측하는 mba 디코더와, VLC 디코더의 출력으로 부터 파라메타를 디코딩하는 파라메타 디코더와, VLC 디코더의 출력으로 부터 런-레벨쌍을 디코딩하는 계수 디코더와, VLC 디코더의 출력으로 부터 모션벡터를 디코딩하는 모션벡터 디코더와, 상기 mba, 파라메타, 계수, 그리고 모션벡터 디코더에 각각 대응하는 제 1, 2, 3, 4 FIFO와,상기 제 1 FIFO에 대응하여 mba를 제네레이션하고 스킵 매크로블럭을 판단하는 mba 발생부와, 상기 제 2 FIFO에 대응하여 파라메타를 제네레이션 하는 파라메타 발생부와, 상기 제 3 FIFO에 대응하여 런-레벨쌍을 읽고 계수를 발생시키는 계수 발생부와, 상기 제 4 FIFO에 대응하여 모션벡터를 제네레이션하는 모션벡터 발생부로 구성됨을 특징으로하는 스킵 매크로블럭의 처리장치.A video buffer for storing the bitstream, a VLC unit for interpreting the bitstream, an inverse quantizer for inverse quantization of the output signal of the VLD unit, an IDCT unit for IDCT processing the inverse quantized signal, and an output from the VLD A motion compensator for compensating motion by using motion information, and an HDTV decoder for adding output signals of the IDCT unit and the motion floating unit to a VDP unit, wherein the VLD unit is a VLC decoder for decoding a bitstream and a VLC decoder. An mba decoder that predicts mba from its output, a parameter decoder that decodes parameters from the output of the VLC decoder, a coefficient decoder that decodes run-level pairs from the output of the VLC decoder, and motion from the output of the VLC decoder A motion vector decoder for decoding a vector, and first, second, third, and corresponding mba, parameters, coefficients, and the motion vector decoder, respectively. A FIFO, an mba generator for generating mba in response to the first FIFO and determining a skip macroblock, a parameter generator for generating a parameter in response to the second FIFO, and a run in response to the third FIFO And a coefficient generator which reads a level pair and generates coefficients, and a motion vector generator that generates a motion vector in response to the fourth FIFO. 제 1 항에 있어서,상기 mba 발생부는 슬라이스 스타트에서 발생하는 리셋신호에 의해 0으로 셋팅된후 카운트 시작하는 카운터의 카운터값과 리드인에이블 신호에 의해 제 1 FIFO에서 읽혀진 mba값을 비교하여 스킵 매크로블럭으로 판단하는 스킵-플래그를 발생시키고 파라메타, 계수, 그리고 모션벡터 발생부에 스킵-플래그를 출력함을 특징으로하는 스킵매크로 블럭의 처리장치.The skip macro of claim 1, wherein the mba generating unit compares a counter value of a counter that starts counting after being set to zero by a reset signal generated at a slice start and an mba value read from the first FIFO by a read enable signal. A skip macro block processing apparatus for generating a skip-flag determined as a block and outputting a skip-flag to the parameter, coefficient, and motion vector generator. 제 1 항에 있어서, 상기 파라메타 발생부는 스킵 매크로블럭으로 판단하는 스킵-플래그를 인가했을 경우 픽쳐코딩 타입이 P프레임 일때는 디폴트 파라메타를 출력하고 B프레임 일때는 전(前) 매크로블럭의 파라메타를 출력하며 스킵-플래그를 인가하지 않을때는 FIFO의 파라메타 출력을 그대로 출력함을 특징으로 하는 스킵 매크로블럭의 처리장치.The method of claim 1, wherein the parameter generator outputs a default parameter when the picture coding type is P frame when the skip flag is determined to be a skip macro block, and outputs a parameter of the previous macro block when the picture coding type is B frame. The skip macro flag processing unit is characterized in that the output of the parameter output of the FIFO as it is. 제 1 항에 있어서, 상기 계수 제네레이타는 런-레벨쌍을 디코딩하여 계수로 변환하며 스킵 매크로블럭으로 판단하는 스킵플래그를 인가했을 경우 FIFO의 런-레벨쌍을 입력하지 않으므로 계수를 출력하지 않음을 특징으로 하는 스킵 매크로블럭의 처리장치.The method of claim 1, wherein the coefficient generator decodes a run-level pair into a coefficient and does not output a coefficient because the run flag of the FIFO is not input when a skip flag determined by a skip macroblock is applied. A skip macroblock processing apparatus characterized in that. 제 1 항에 있어서, 상기 모션벡터 제네레이타는 상기 mba 발생부에서 스킵 매크로블럭으로 판단하는 스킵-플래그를 인가했을 경우 픽쳐코딩 타입이 P프레임 일때는 0의 모션벡타를 출력하고 B프레임 일때에는 전(前) 매크로블럭의 모션벡타를 출력하며 스킵-플래그를 인가하지 않을 경우에는 FIFO의 모션벡타 출력을 그대로 출력함을 특징으로 하는 스킵 매크로블럭의 처리장치.According to claim 1, wherein the motion vector generator outputs a motion vector of 0 when the picture coding type is P frame when the skip-flag determined by the mba generator as a skip macroblock is applied, and when the frame is B frame, (Previous) The skip macroblock processing apparatus outputs the motion vector of the macroblock and outputs the motion vector output of the FIFO as it is if the skip flag is not applied.
KR1019940035306A 1994-12-20 1994-12-20 Skip macro block processor KR100313882B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940035306A KR100313882B1 (en) 1994-12-20 1994-12-20 Skip macro block processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940035306A KR100313882B1 (en) 1994-12-20 1994-12-20 Skip macro block processor

Publications (2)

Publication Number Publication Date
KR960028456A KR960028456A (en) 1996-07-22
KR100313882B1 true KR100313882B1 (en) 2001-12-28

Family

ID=37531349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940035306A KR100313882B1 (en) 1994-12-20 1994-12-20 Skip macro block processor

Country Status (1)

Country Link
KR (1) KR100313882B1 (en)

Also Published As

Publication number Publication date
KR960028456A (en) 1996-07-22

Similar Documents

Publication Publication Date Title
JP3593988B2 (en) Moving picture signal compression apparatus and method
US5903313A (en) Method and apparatus for adaptively performing motion compensation in a video processing apparatus
EP0821857B1 (en) Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
KR100709025B1 (en) Encoding apparatus and method
KR100215444B1 (en) Apparatus for decoding with decoding capacity of higher level for decoding video data of plural channels encoded at lower level
KR960006645A (en) Image information processing method and apparatus
KR20030014716A (en) Dynamic complexity prediction and regulation of mpeg2 decoding in a media processor
US5739862A (en) Reverse playback of MPEG video
KR20000057295A (en) Image element processor for a memory management system using recompression
KR20040018501A (en) Reduced complexity video decoding by reducing the IDCT computation on B-frames
US20110096833A1 (en) Software video decoder display buffer underflow prediction and recovery
US5809173A (en) Method and apparatus for improved video decompression using previous frame DCT coefficients
US7054500B1 (en) Video compression and decompression system with postfilter to filter coding artifacts
US20060192698A1 (en) Encoding dynamic graphic content views
US7010168B2 (en) Apparatus for prediction coding or decoding image signal and method therefor
US20050249292A1 (en) System and method for enhancing the performance of variable length coding
KR970078653A (en) Image decoding apparatus and method and image reproducing apparatus
US6539058B1 (en) Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
US8155459B2 (en) Video processing device with low memory bandwidth requirements
US20070025438A1 (en) Elastic storage
JP2002112268A (en) Compressed image data decoding apparatus
KR100313882B1 (en) Skip macro block processor
JP2010135885A (en) Image coding apparatus and method
KR101037642B1 (en) Decoding method, decoder and decoding device
KR0154011B1 (en) 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: 20070918

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee