KR100235487B1 - Half-pel compensator of a motion compensator - Google Patents

Half-pel compensator of a motion compensator Download PDF

Info

Publication number
KR100235487B1
KR100235487B1 KR1019970040979A KR19970040979A KR100235487B1 KR 100235487 B1 KR100235487 B1 KR 100235487B1 KR 1019970040979 A KR1019970040979 A KR 1019970040979A KR 19970040979 A KR19970040979 A KR 19970040979A KR 100235487 B1 KR100235487 B1 KR 100235487B1
Authority
KR
South Korea
Prior art keywords
pixel
line
vertical
compensator
pixel data
Prior art date
Application number
KR1019970040979A
Other languages
Korean (ko)
Other versions
KR19990017897A (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 KR1019970040979A priority Critical patent/KR100235487B1/en
Publication of KR19990017897A publication Critical patent/KR19990017897A/en
Application granted granted Critical
Publication of KR100235487B1 publication Critical patent/KR100235487B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 움직임 보상장치의 반화소 보상기에 관한 것으로서, n×n 블럭단위로 움직임 보상하는데 있어서, 수평라인으로 n+1 화소 데이터를 병렬 입력받아 수평축 반화소 플래그(H_half_flag)에 따라 수평축 반화소 보상 계산하여 보상된 n 화소 데이터 혹은 원래 입력된 n 화소 데이터를 선택적으로 출력하는 수평축 반화소 보상부(632)와; 상기 수평축 반화소 보상부(632)로부터 제공된 n 화소 데이터를 입력받아 수직라인 선택신호(Line_sel)에 따라 디멀티플렉싱하여 기수 라인 n 화소들 혹은 우수 라인 n 화소들을 번갈아 출력하는 수직라인 스위칭부(634); 상기 수직라인 스위칭부(634)로부터 제공된 우수 라인 n 화소 데이터와 기수 라인 n 화소 데이터를 이용하여 수직축 반화소 보상을 계산하여 상기 수직축 반화소 플래그(V_half_flag)에 따라 상기 수직라인 스위칭부(634)로부터 제공된 기수 라인 n 화소 혹은 수직축 반화소 보상된 n 화소 데이터를 택일적으로 출력하는 수직축 반화소 보상부(636); 및 수직 라인 선택신호(Line_sel)에 따라 상기 우수 라인 n 화소 혹은 상기 수직축 반화소 보상부(636)로부터 출력된 n 화소 데이터를 선택적으로 병렬 출력하는 다중화부(638)를 포함하여 구성된다. 본 발명은 수평축 반화소 플래그 및. 수직축 반화소 플래그 신호에 따라 블럭단위로 반화소 보상을 효율적으로 처리할 수 있으며, 그 하드웨어를 간단히 구현할 수 있는 효과가 있다.The present invention relates to a half-pixel compensator of a motion compensator, wherein, in motion compensation in n × n block units, horizontal axis half-pixel compensation is performed according to a horizontal half-pixel flag (H_half_flag) by receiving n + 1 pixel data in parallel on a horizontal line. A horizontal half-pixel compensator 632 for selectively outputting the calculated n pixel data or the originally input n pixel data; The vertical line switching unit 634 which receives the n pixel data provided from the horizontal half-pixel compensation unit 632 and demultiplexes the odd line n pixels or the even line n pixels according to the vertical line selection signal Line_sel. ; The vertical line half pixel compensation is calculated by using the even line n pixel data and the odd line n pixel data provided from the vertical line switching unit 634, and the vertical line switching unit 634 according to the vertical half pixel flag V_half_flag. A vertical half pixel compensator 636 for alternatively outputting the provided odd line n pixels or vertical axis half pixel compensated n pixel data; And a multiplexer 638 for selectively outputting the even line n pixels or the n pixel data output from the vertical half-pixel compensator 636 according to a vertical line selection signal Line_sel. The present invention relates to a horizontal half-pixel flag. According to the vertical half-pixel flag signal, half-pixel compensation can be efficiently processed in units of blocks, and the hardware can be easily implemented.

Description

움직임 보상 장치의 반화소 보상기 (Half-pel compensator of a motion compensator)Half-pel compensator of a motion compensator

본 발명은 영상 복호화기(video decoder)에서 역 이산여현변환(IDCT: Inverse Discrete Cosine Transform)된 영상 데이터와 움직임 벡터(MV: Motion Vector)를 이용하여 움직임 보상(MC: Motion Compensation)하는 움직임 보상 장치의 수평축 및 수직축 반화소 보상을 수행하는 반화소 보상기에 관한 것이다.The present invention provides a motion compensation apparatus for performing motion compensation (MC) using video data obtained by inverse discrete cosine transform (IDCT) and a motion vector (MV) in a video decoder. It relates to a half-pixel compensator for performing the horizontal and vertical axis half-pixel compensation of.

일반적으로 동영상 압축 방법으로, 특히 MPEG-2 영상 압축 기법의 시간 방향의 중복성은 이동보상형 예측기법(motion compensated prediction)으로 제거하며, 이동보상 예측을 위한 움직임 추정과 보상은 현재 입력되는 영상의 기준 매크로블럭과 과거 영상의 검색영역내에서 기준 매크로블럭과의 각 대응 매크로블럭을 비교하여 각 화소의 차이를 구하고, 그 중 가장 작은 값을 가지는 대응 매크로블럭에 대한 상대적인 위치를 움직임 벡터(MV)로 생성한다. 움직임 벡터를 추정하는 과정은 정화소(integer-pel) 단위의 움직임 벡터(MV)를 추정하는 단계와, 반화소(half-pel) 단위의 움직임 벡터를 추정하는 과정으로 이루어진다.In general, the video compression method, in particular, the temporal redundancy in the MPEG-2 image compression technique is removed by motion compensated prediction, and motion estimation and compensation for the motion compensation prediction are based on the current input image. Compare each macroblock with the reference macroblock in the search area of the macroblock and the past image to find the difference between each pixel, and place the relative position of the corresponding macroblock having the smallest value as the motion vector (MV). Create The process of estimating a motion vector includes estimating a motion vector (MV) in units of integer-pels and estimating a motion vector in units of half-pels.

부호기에서는 상기 움직임 벡터를 부호화하여 전송하고, 그 대응 매크로블럭과 기준 메크로블럭간의 각 화소의 차이를 이산여현변환(DCT), 양자화(Q), 및 가변길이 부호화(VLC) 과정을 거쳐서 전송하는 것이다. 복호기에서는 전송된 움직임 벡터를 가지고 움직임 보상을 수행하여 원래 영상을 복원한다.The encoder encodes and transmits the motion vector, and transmits the difference between each pixel between the corresponding macroblock and the reference macroblock through a discrete cosine transform (DCT), quantization (Q), and variable length coding (VLC) processes. . The decoder restores the original image by performing motion compensation with the transmitted motion vector.

도 1 은 일반적인 MPEG-2 영상 복호화기의 구성도로서, 영상 복호화기는 영상 부호화기(도시하지 않음)로부터 전송된 부호화된 비트 스트림은 버퍼(10)를 통해 버퍼링된 비트 스트림으로 출력되고, 역다중화 및 가변길이 복호블록(20)은 버퍼링된 비트 스트림을 입력받아 역다중화 및 가변길이 복호화(VLD: Variable Length Decoding)를 수행하여 양자화 레벨(Quantization Level), 이산여현변환 모드(DCT mode), 및 움직임 보상에 관한 정보를 출력한다. 역양자화 블록(30)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 제공된 양자화 레벨에 따라 가변길이 복호화된 영상 데이터를 역양자화시키고, 역 이산여현 변환블록(40)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 출력된 이산여현변환 모드 정보(필드 DCT 모드 인지 프레임 DCT 모드 인지에 대한 정보)에 따라 역양자화된 영상 데이터에 대해 역이산여현변환을 수행한다. 움직임 보상 블록(50)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 제공된 움직임 보상정보(움직임 벡터(MV) 및 각종 플래그(flag))에 따라 상기 역 이산여현 변환블록(40)으로부터 역 이산여현변환된 영상 데이터를 입력받아 움직임 보상을 수행한다. 선택 블록(60)은 인트라 프레임(intra frame)인 경우는 상기 역 이산여현 변환블록(40)으로부터 제공된 영상 데이터를 선택하여 출력하고, 인터 프레임(inter frame)인 경우는 상기 움직임 보상블록(50)으로부터 제공된 움직임 보상된 영상 데이터를 선택하여 출력한다.1 is a block diagram of a typical MPEG-2 video decoder, in which an encoded bit stream transmitted from an image encoder (not shown) is output as a buffered bit stream through a buffer 10, and demultiplexed and The variable length decoding block 20 receives a buffered bit stream and performs demultiplexing and variable length decoding (VLD) to perform a quantization level, a discrete cosine transform mode, and motion compensation. Print information about. The inverse quantization block 30 dequantizes the variable length decoded image data according to the quantization level provided from the demultiplexing and the variable length decoding block 20, and the inverse discrete cosine transform block 40 performs the demultiplexing and the variable length. The inverse discrete cosine transform is performed on the dequantized image data according to the discrete cosine transform mode information (information on whether the field DCT mode or the frame DCT mode) is output from the decoding block 20. The motion compensation block 50 is inverse discrete from the inverse discrete cosine transform block 40 according to the motion compensation information (motion vector (MV) and various flags) provided from the demultiplexing and variable length decoding block 20. Motion compensation is performed by receiving the cosine-converted image data. The selection block 60 selects and outputs image data provided from the inverse discrete cosine transform block 40 in the case of an intra frame, and the motion compensation block 50 in the case of an inter frame. Selects and outputs the motion compensated image data provided from FIG.

영상 복호화기(video decoder)에서 움직임 보상 블록(50)은 연산량과 데이터량이 많아서, 이에 따른 하드웨어 복잡성이 문제시 되고 있는 바, 하드웨어 복잡도를 줄이면서 효율적으로 움직임 보상 처리할 수 있어야만 한다. 특히, 반화소 추정된 블록을 위해 반화소 보상을 처리할 수 있는 장치가 필요하다.Since the motion compensation block 50 in the video decoder has a large amount of computation and data, hardware complexity is a problem. Therefore, the motion compensation block 50 should be able to efficiently process motion compensation while reducing hardware complexity. In particular, there is a need for an apparatus that can process half-pixel compensation for half-pixel estimated blocks.

이에, 본 발명은 상기한 바와 같은 필요성을 충족시키기 위해 안출된 것으로, 수평축 반화소 플래그 신호 및 수직축 반화소 플래그 신호에 따라 블럭단위로 반화소 보상을 처리하는 움직임 보상 장치의 반화소 보상기를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to meet the necessity as described above, and provides a half-pixel compensator of a motion compensation device for processing half-pixel compensation in units of blocks according to a horizontal half-pixel flag signal and a vertical half-pixel flag signal. The purpose is.

상기와 같은 목적을 달성하기 위한 본 발명은 n×n 블럭단위로 움직임 보상을 하는 움직임 보상 장치에 있어서, 블럭의 수평라인으로 n+1 화소 데이터(블럭화소 n개와 블럭의 마지막 화소에 인접한 화소 1개)를 병렬 입력받아 수평축 반화소 플래그(H_half_flag)에 따라 수평축 반화소 보상 계산하여 보상된 n 화소 데이터 혹은 원래 입력된 블럭의 n 화소 데이터를 선택적으로 병렬 출력하는 수평축 반화소 보상부, 상기 수평축 반화소 보상부로부터 제공된 n 화소 데이터를 입력받아 수직라인 선택신호(Line_sel)에 따라 디멀티플렉싱하여 기수 라인 n 화소들 혹은 우수 라인 n 화소들을 번갈아 병렬 출력하는 수직라인 스위칭부, 상기 수직라인 스위칭부로부터 제공된 우수 라인 n 화소 데이터와 기수 라인 n 화소 데이터를 이용하여 수직축 반화소 보상을 계산하고, 상기 수직축 반화소 플래그(V_half_flag)에 따라 상기 수직라인 스위칭부로부터 제공된 기수 라인 n 화소 혹은 수직축 반화소 보상된 n 화소 데이터를 택일적으로 병렬 출력하는 수직축 반화소 보상부, 및 수직 라인 선택신호(Line_sel)에 따라 상기 우수 라인 n 화소 혹은 상기 수직축 반화소 보상부로부터 출력된 n 화소 데이터를 선택적으로 병렬 출력하는 다중화부를 포함하여 구성되어 있다.In order to achieve the above object, the present invention provides a motion compensation apparatus for performing motion compensation in units of n × n blocks, wherein n + 1 pixel data (n blocks of pixels and one pixel adjacent to the last pixel of the block) are arranged in a horizontal line of the block. Horizontal half-pixel compensation unit for selectively outputting the compensated n pixel data or the n pixel data of the originally input block by calculating horizontal half pixel compensation according to the horizontal half pixel flag (H_half_flag), and the horizontal half half A vertical line switching unit which receives n pixel data provided from the pixel compensator and demultiplexes the odd line n pixels or even line n pixels in parallel according to a vertical line selection signal Line_sel, and is provided from the vertical line switching unit Calculate vertical half-pixel compensation using even line n pixel data and odd line n pixel data A vertical half pixel compensation unit for selectively outputting the odd line n pixels or vertical half pixel compensated n pixel data provided from the vertical line switching unit according to the vertical half pixel flag V_half_flag, and a vertical line selection signal And a multiplexer for selectively outputting n-pixel data output from the even line n pixels or the vertical axis half-pixel compensator in parallel according to (Line_sel).

도 1 은 일반적인 MPEG-2 영상 복호화기의 개념 블록도,1 is a conceptual block diagram of a typical MPEG-2 video decoder;

도 2 는 본 발명에 따른 반화소 보상기가 포함된 움직임 보상장치의 전체 구성도,2 is an overall configuration diagram of a motion compensation device including a half-pixel compensator according to the present invention;

도 3 은 본 발명에 따른 움직임 보상장치의 반화소 보상기에 대한 블록도,3 is a block diagram of a half-pixel compensator of a motion compensation device according to the present invention;

도 4 는 본 발명의 작용을 설명하기 위한 매크로블록의 구조도,4 is a structural diagram of a macroblock for explaining the operation of the present invention;

도 5 는 도 3의 수직축 반화소 보상을 설명하기 위한 타이밍도이다.FIG. 5 is a timing diagram for describing the vertical half-pixel compensation of FIG. 3.

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

100: 움직임 보상 제어부 200: 메모리 제어부100: motion compensation controller 200: memory controller

300: 메모리 400: 버스 제어부300: memory 400: bus control unit

500: 공통 버스 600: 움직임 보상부500: common bus 600: motion compensation unit

610: 입력 버퍼 630: 반화소 보상부610: input buffer 630: half-pixel compensation unit

632: 수평축 반화소 보상부 634: 수직 라인 스위칭부632: horizontal axis half-pixel compensation unit 634: vertical line switching unit

636: 수직축 반화소 보상부 638: 다중화부636: vertical axis half-pixel compensation unit 638: multiplexer

650: 합산부 670: 출력 버퍼650: summer 670: output buffer

A1∼A8, C1∼C8: 가산기 B1∼B8, D1∼D8: 나눗셈기A1 to A8, C1 to C8: Adders B1 to B8, D1 to D8: Dividers

MUX1∼MUX24: 2-1 멀티플렉서 DEMUX1∼DEMUX8: 1-2 디멀티플렉서MUX1 to MUX24: 2-1 Multiplexer DEMUX1 to DEMUX8: 1-2 Demultiplexer

ODD1∼ODD8: 기수 라인용 버퍼 EVN1∼EVN8: 우수 라인용 버퍼ODD1-ODD8: odd line buffer EVN1-EVN8: even line buffer

이하, 첨부된 도면을 참조하여 본 발명에 대해 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

우선 본 발명의 이해를 돕기 위하여 움직임 보상 장치에 대한 전체 구성도를 도 2를 참조하여 설명하고자 한다. 도 2의 움직임 보상 장치는 본 발명자에 의해 제안되어 대한 민국 특허 출원 제 97-11852∼97-11854, 97-11861 호에 기재되어 있으며, 본 장치는 하드웨어의 복잡도를 줄이고, 외부 연결 칩과의 원할한 작용을 위해 블럭(block)단위로 움직임 보상을 수행하도록 되어 있다.First, an overall configuration diagram of a motion compensation device will be described with reference to FIG. 2 to help understanding of the present invention. The motion compensation device of FIG. 2 is proposed by the present inventors and described in Korean Patent Application Nos. 97-11852 to 97-11854, 97-11861, which reduce the complexity of the hardware and the desired connection with externally connected chips. It is designed to perform motion compensation on a block basis for one action.

도 2 는 본 발명에 따른 움직임 반화소 보상기를 포함한 움직임 보상 장치의 전체 구성도로서, 움직임 보상 장치는 움직임 보상 제어부(100)와, 메모리 제어부(200), 메모리(300), 버스 제어부(400), 공통 버스(500), 및 움직임 보상부(600)로 구성되어 있고, 상기 움직임 보상부(600)는 입력 버퍼(610)와, 반화소 보상부(630), 합산부(650), 및 출력버퍼(670)로 구성되어 있다.2 is an overall configuration diagram of a motion compensation device including a motion half-pixel compensator according to the present invention, wherein the motion compensation device includes a motion compensation controller 100, a memory controller 200, a memory 300, and a bus controller 400. , A common bus 500, and a motion compensator 600. The motion compensator 600 includes an input buffer 610, a half-pixel compensator 630, an adder 650, and an output. It consists of a buffer 670.

움직임 보상 제어부(100)는 가변길이 복호블록(도 1 참조: 20)으로부터 움직임 벡터(MV)와 각종 플래그(flag)를 입력받아 움직임 보상 과정을 제어하기 위해 타이밍을 조절하고, 여러가지 제어신호들을 발생하여 제공한다. 메모리 제어부(200)는 가변길이 복호블록(도 1 참조: 20)으로부터 움직임 벡터(MV)와 플래그(flag)를 입력받아 상기 메모리(300)의 리드/라이트 어드레스 신호 및 메모리 제어 신호를 발생한다. 메모리(300)는 상기 메모리 제어부(200)로부터의 어드레스 신호에 따라 보상된 픽셀 데이터를 읽거나 쓰는 역할을 하며, 네 개분의 프레임(I-픽쳐, B-픽쳐, P-픽쳐등)을 저장하도록 되어 있다.The motion compensation controller 100 receives a motion vector (MV) and various flags from a variable length decoding block (see FIG. 1), adjusts timing to control a motion compensation process, and generates various control signals. To provide. The memory controller 200 receives a motion vector MV and a flag from a variable length decoding block (see FIG. 1) 20 and generates a read / write address signal and a memory control signal of the memory 300. The memory 300 reads or writes the compensated pixel data according to the address signal from the memory controller 200 and stores four frames (I-picture, B-picture, P-picture, etc.). It is.

공통 버스(500)는 상기 버스 제어부(400)의 버스 제어신호에 따라 상기 메모리(300)와 움직임 보상부(600) 상호간의 입출력 데이터를 전송하며, 이 공통 버스(500)의 크기(size)는 12픽셀(pel)이다. 움직임 보상부(600)는 상기 움직임 보상 제어부(100)의 움직임 보상 제어신호에 따라 상기 공통 버스(500)로부터 입력된 픽셀 데이터와 역 이산여현변환블럭(도 1 참조: 40)으로부터 입력된 IDCT 변환된 픽셀 데이터를 이용하여 움직임 보상을 수행한다.The common bus 500 transmits input / output data between the memory 300 and the motion compensator 600 according to the bus control signal of the bus controller 400, and the size of the common bus 500 is 12 pixels (pel). The motion compensator 600 converts the pixel data input from the common bus 500 and the IDCT input from the inverse discrete cosine transform block (see FIG. 1) 40 according to the motion compensation control signal of the motion compensation controller 100. Motion compensation is performed using the received pixel data.

여기서, 움직임 보상부(600)의 내부에 입력버퍼(610)와 출력버퍼(670)를 구비한 이유는 상기 메모리(300)와 움직임 보상부(600)의 동작 속도가 다르기 때문이다. 구체적으로는 상기 메모리(300)는 81MHz 로 동작하고, 움직임 보상부(600)는 54MHz 로 동작하기 때문이다.The reason why the input buffer 610 and the output buffer 670 are provided inside the motion compensator 600 is that the operating speeds of the memory 300 and the motion compensator 600 are different. Specifically, the memory 300 operates at 81 MHz, and the motion compensator 600 operates at 54 MHz.

입력버퍼(610)는 블럭의 시작을 알리는 신호(block_start)에 따라 상기 메모리(300)로부터의 12 픽셀단위의 화소 데이터를 상기 공통 버스(500)를 통해 입력받아 인터페이싱을 수행한 후, 9 픽셀 단위로 변환하여 출력한다. 입력 버퍼(610)는 블록단위로 데이터를 처리하도록 구현할 수 있다.The input buffer 610 receives the pixel data of 12 pixel units from the memory 300 through the common bus 500 according to the signal block_start indicating the start of the block and performs interfacing. Convert to and print it out. The input buffer 610 may be implemented to process data in block units.

반화소 보상부(630)는 반화소 보상에 관한 제어 신호에 따라 상기 입력버퍼(610)로부터의 9 픽셀 데이터를 수평축 반화소 보상 혹은 수직축 반화소 보상을 수행하여, 최종적으로 반화소 보상하지 않은 (정화소,정화소), 수평축 반화소 보상만 처리한 (반화소,정화소), 수직축 반화소 보상만 처리한 (정화소, 반화소), 혹은 수평축과 수직축 반화소 보상을 모두 처리한 (반화소, 반화소)를 2 픽셀 단위로 출력한다.The half pixel compensator 630 performs horizontal half pixel compensation or vertical half pixel compensation on the 9 pixel data from the input buffer 610 according to a control signal related to half pixel compensation, thereby not finally performing half pixel compensation ( Clarification and purification), horizontal half-pixel compensation only (half-pixel, half-pixel), vertical half-pixel compensation only (half-pixel, half-pixel), or both horizontal and vertical half-pixel compensation (half-pixel, half-pixel) ) Is printed in 2 pixel units.

합산부(650)는 블럭단위로 필드 DCT 인지 프레임 DCT 인지를 알리는 신호(dct_type) 및 움직임 보상 형태가 수행되었는 지를 알리는 신호(mc_type)등에 따라 상기 반화소 보상부(630)로부터의 2 픽셀 데이터와 역이산여현변환부(도 1 참조: 40)의 2 픽셀 데이터를 합산하여 DPCM 복원시킨 후 2픽셀 단위로 출력한다.The summation unit 650 and the two-pixel data from the half-pixel compensation unit 630 according to the signal (dct_type) indicating whether the field DCT or the frame DCT and the signal (mc_type) indicating whether the motion compensation type is performed in block units and the like. Two pixel data of the inverse discrete cosine transforming unit (see FIG. 1) is added to restore the DPCM and output in units of two pixels.

출력버퍼(670)는 상기 합산부(650)의 출력 2 픽셀 데이터를 상기 메모리(300)에 저장하기 위해 상기 공통 버스(500)로 12 픽셀 단위로 출력한다. 이때, 출력 버퍼(670)는 픽셀 데이터를 매크로블록 단위로 처리하도록 구현할 수 있다.The output buffer 670 outputs the output 2 pixel data of the adder 650 to the common bus 500 in units of 12 pixels in order to be stored in the memory 300. In this case, the output buffer 670 may be implemented to process pixel data in macroblock units.

도 3 은 본 발명에 따른 움직임 보상장치의 반화소 보상기에 대한 블록도로서, 본 발명의 반화소 보상기(630)는 수평축 반화소 보상부(632)와, 수직라인 스위칭부(635), 수직축 반화소 보상부(636), 및 다중화부(638)로 구성되어 있다. 8×8블럭 단위로 수평축 반화소 보상 또는 수직축 반화소 보상을 수행한다.3 is a block diagram of a half-pixel compensator of a motion compensator according to the present invention. The half-pixel compensator 630 of the present invention includes a horizontal half-pixel compensator 632, a vertical line switching unit 635, and a vertical half-axis compensator. A pixel compensator 636 and a multiplexer 638. Perform horizontal half pixel compensation or vertical half pixel compensation in 8 × 8 block units.

수평축 반화소 보상부(632)는 수평라인으로 9 화소 데이터(P0∼P8)를 병렬 입력받아 이웃한 2개 화소값을 가산하는 8개의 가산기(A1∼A8)와, 상기 가산기(A1∼A8)의 합산값을 2로 나누어 평균값을 구하는 8개의 나눗셈기(B1∼B8), 및 수평축 반화소 플래그(H_half_flag)에 따라 상기 8개의 나눗셈기(B1∼B8)로부터 출력된 수평축 반화소 보상된 8 화소 데이터 혹은 원래 입력된 8 화소 데이터(P0∼P7)를 선택적으로 출력하는 8개의 2-1 멀티플렉서(MUX1∼MUX8)가 병렬 연결되어 있다.The horizontal half-pixel compensator 632 receives nine pixel data P0 to P8 in parallel on horizontal lines, and adds eight adders A1 to A8 to add two neighboring pixel values, and the adders A1 to A8. Eight dividers B1 to B8 for obtaining an average value by dividing the sum of 2 by 2 and 8 pixels compensated for the horizontal half pixel output from the eight dividers B1 to B8 according to the horizontal half-pixel flag H_half_flag. Eight 2-1 multiplexers MUX1 to MUX8 for selectively outputting data or the originally input 8-pixel data P0 to P7 are connected in parallel.

수직라인 스위칭부(634)는 상기 수평축 반화소 보상부(632)로부터 제공된 8 화소 데이터를 병렬 입력받아 수직라인 선택신호(Line_sel)에 따라 디멀티플렉싱하여 기수 라인 8 화소들 혹은 우수 라인 8 화소들을 번갈아 출력한다. 즉, 수직라인 스위칭부(635)는 2클럭을 주기로 하여 0,1 을 반복적으로 발생하는 수직 라인 선택 신호(Line_sel)로 제공받아 8화소 데이터를 디멀티플렉싱하는 8개의 1입력-2출력 디멀티플렉서(DEMUX1∼DEMUX8)와, 상기 각 디멀티플렉서(DEMUX1∼DEMUX8)로부터 출력된 기수 라인 화소 데이터를 래치하는 8개의 기수 라인용 버퍼(ODD1∼ODD8) 및, 상기 각 디멀티플렉서(DEMUX1∼DEMUX8)로부터 출력된 우수 라인 화소 데이터를 래치하는 8개의 우수 라인용 버퍼(EVN1∼EVN8)로 구성되어 있다. 그리고, 상기 기수 라인용 버퍼(ODD1∼ODD8)와 우수 라인용 버퍼(EVN1∼EVN8)는 2클럭을 주기로 처음 반주기동안은 로우(Low)로 발생되고 나머지 반주기동안은 하이(High)로 발생되는 인에이블 신호를 제공받고, 상기 기수 라인용 버퍼(ODD1∼ODD8)는 인에이블 신호의 로우상태에서 인에이블되어 입력된 데이터를 래치하여 출력하고, 상기 우수 라인용 버퍼(EVN1∼EVN8)는 인에이블 신호의 하이상태에서 인에이블되어 입력된 데이터를 래치하여 출력한다.The vertical line switching unit 634 receives 8 pixel data provided from the horizontal half-pixel compensator 632 in parallel and demultiplexes the pixels according to the vertical line selection signal Line_sel to alternate the odd line 8 pixels or the even line 8 pixels. Output That is, the vertical line switching unit 635 receives eight input-output-demultiplexers (DEMUX1) which demultiplexes eight pixel data by receiving a vertical line selection signal Line_sel that repeatedly generates 0,1 every two clocks. DEMUX8), eight odd line buffers (ODD1 to ODD8) for latching odd line pixel data output from the respective demultiplexers (DEMUX1 to DEMUX8), and even line pixels output from the respective demultiplexers (DEMUX1 to DEMUX8). It consists of eight even-line buffers EVN1 to EVN8 for latching data. The odd-numbered line buffers ODD1 to ODD8 and the even-numbered line buffers EVN1 to EVN8 are generated at a low level during the first half cycle and a high period during the remaining half cycle with two clock cycles. When the enable signal is received, the odd line buffers ODD1 to ODD8 are enabled in the low state of the enable signal to latch and output the input data, and the even line buffers EVN1 to EVN8 enable the enable signal. Enables and outputs the latched input data in the high state of.

수직축 반화소 보상부(636)는 상기 수직라인 스위칭부(634)로부터 제공된 우수 라인 8 화소 데이터와 기수 라인 8 화소 데이터를 각각 입력받아 수직축으로 이웃한 2개 화소값을 가산하는 8개의 가산기(C1∼C8)와, 상기 가산기(C1∼C8)의 합산값을 2로 나누어 평균값을 구하는 8개의 나눗셈기(D1∼D8)가 병렬로 구성되어 있고, 상기 수직축 반화소 플래그(V_half_flag)에 따라 상기 수직라인 스위칭부(634)로부터 제공된 상기 기수 라인 8 화소 데이터 혹은 상기 나눗셈기(D1∼D8)로부터 제공된 수직축 반화소 보상된 8 화소 데이터를 선택하여 병렬 출력한다.The vertical half-pixel compensator 636 receives eight even-line 8 pixel data and odd-numbered line 8 pixel data provided from the vertical line switching unit 634, and adds eight adders (C1) that add two neighboring pixel values along the vertical axis. 8 dividers D1 to D8, each of which divides the sum of the adders C1 to C8 by 2 and obtains an average value, are arranged in parallel, and the vertical is divided according to the vertical half-pixel flag V_half_flag. The odd line 8 pixel data provided from the line switching unit 634 or the vertical axis half pixel compensated 8 pixel data provided from the dividers D1 to D8 are selected and output in parallel.

다중화부(638)는 수직라인 선택신호(Line_sel)에 따라 상기 수직라인 스위칭부(634)의 우수 라인 8 화소 혹은 상기 수직축 반화소 보상부(636)로부터 출력된 8 화소 데이터를 선택적으로 출력하는 8개의 2입력 1출력 멀티플렉서(MUX17∼MUX24)가 병렬로 구성되어 있다.The multiplexer 638 selectively outputs 8 pixel data of the even line 8 pixels of the vertical line switching unit 634 or 8 pixel data output from the vertical half-pixel compensator 636 according to the vertical line selection signal Line_sel. Two two-input one-output multiplexers (MUX17 to MUX24) are configured in parallel.

이하, 상기와 같은 구성을 갖는 본 발명의 반화소 보상 장치에 대한 작용 및 효과를 자세히 설명하기로 한다.Hereinafter, the operation and effect of the half-pixel compensation device of the present invention having the configuration as described above will be described in detail.

도 4는 매크로블록 구조도면으로, 4:2:0 매크로블록 구조도를 도시하였다. (a)는 16×16 휘도신호(Y)에 대한 포맷도이고, (b)와(c)는 8×8 색차신호(Cb, Cr)에 대한 포맷도이다. 휘도 성분(Y)에 대해 대응되는 색차 성분의 비율에 따라 결정된 매크로블록구조는 4:2:0인 경우 Y 는 8×8 블럭 4개, Cb와 Cr은 8×8 블럭을 각각 1개씩 갖는다. 4:2:2의 경우 Cb와 Cr 은 8×8 블럭을 각각 2개씩 갖으며, 4:4:4의 경우 Cb와 Cr은 8×8 블록을 각각 4개씩 갖는다. 원칙적으로 매크로블럭단위로 이동보상예측, DCT 변환, 양자화 스텝 사이즈의 조정이 이루어지며, 각 블럭단위로 부호화된 데이터에 대한 전송여부를 매크로블럭단위로 판정한다.4 is a macroblock structure diagram, which shows a 4: 2: 0 macroblock structure diagram. (a) is a format diagram for the 16x16 luminance signal Y, and (b) and (c) are format diagrams for the 8x8 color difference signals Cb and Cr. The macroblock structure determined according to the ratio of the corresponding chrominance component to the luminance component Y is 4: 2: 0, where Y has four 8x8 blocks, and Cb and Cr each have one 8x8 block. In the case of 4: 2: 2, Cb and Cr each have two 8x8 blocks, and in 4: 4: 4, Cb and Cr each have four 8x8 blocks. In principle, the motion compensation prediction, the DCT conversion, and the quantization step size are adjusted in units of macroblocks, and whether the data encoded in each block unit is transmitted is determined in units of macroblocks.

본 발명의 실시예는 4:2:0 매크로블럭을 8×8블럭 단위로 반화소 보상 처리하는 것에 대해 설명하고자 한다.An embodiment of the present invention will be described for half-pixel compensation processing of a 4: 2: 0 macroblock in 8 × 8 block units.

도 4를 참조하면, (a)의 휘도 신호 16×16 블럭은 32개의 작은 박스로 구분되어 있으며, 각 박스에는 기수라인 4개 화소와 우수라인 4개 화소가 포함되어 있다. (b)와 (C)의 색차 신호 8×8 블럭 역시 32개의 작은 박스로 구분되어 있으며, 각 박스에는 라인별로 2개 화소가 포함되어 있다.Referring to FIG. 4, the luminance signal 16x16 block of (a) is divided into 32 small boxes, and each box includes four odd-numbered lines and four even-numbered lines. The color difference signal 8x8 blocks in (b) and (C) are also divided into 32 small boxes, and each box includes two pixels for each line.

도 4를 참조하면, (a)의 휘도 신호 16×16 블럭은 32개의 작은 박스로 구분되어 있으며, 각 박스에는 기수라인 4개 화소와 우수라인 4개 화소가 포함되어 있다. (b)와 (C)의 색차 신호 8×8 블럭 역시 32개의 작은 박스로 구분되어 있으며, 각 박스에는 라인별로 2개 화소가 포함되어 있다.Referring to FIG. 4, the luminance signal 16x16 block of (a) is divided into 32 small boxes, and each box includes four odd-numbered lines and four even-numbered lines. The color difference signal 8x8 blocks in (b) and (C) are also divided into 32 small boxes, and each box includes two pixels for each line.

휘도 신호는 수평축으로 9화소 단위로 입력되어 반화소 보상되고, 색차 신호는 수평축으로 5화소 단위로 입력되어 반화소 보상된다. 이는 4:2:0 의 경우 8×8 블럭단위의 휘도신호에 대한 색차 신호블록은 4×4블럭에 해당하기 때문이며, 만약, 4:4:4 의 경우라면, 색차 신호 역시 8×8블럭단위로 반화소 보상처리 되어야 한다.The luminance signal is input in units of 9 pixels on the horizontal axis and half pixel compensated, and the color difference signal is input in units of 5 pixels on the horizontal axis and half pixel compensated. This is because the chrominance signal block for a luminance signal of 8 × 8 block units corresponds to 4 × 4 blocks in the case of 4: 2: 0. If 4: 4: 4, the chrominance signal block also uses 8 × 8 blocks. The half-pixel compensation must be done.

반화소 보상처리 되기 위해 입력되는 한 블럭은 점선으로 나타낸 화소들로서, 원래 8×8 화소 블럭에다가 수직열로 P8 이 추가되고, 수평라인으로 L9 이 추가되어 평균값을 구하는 데 이용된다.One block to be input for half-pixel compensation is pixels indicated by dotted lines. P8 is added to a vertical column and L9 is added to a horizontal line to obtain an average value.

상기 수평축 반화소 보상부(632)는 수평라인으로 9 화소 데이터(P0∼P8)를 병렬 입력받아 이웃한 2개 화소값을 가산한 후, 가산된 값을 2로 나누어 평균값을 구하여 정화소에 대한 반화소값을 구한다. 즉, 정화소 P0과 P1에 대한 반화소 P0.5, 정화소 P1과 P2에 대한 반화소 P1.5 등을 구하는 등 수평축 반화소값을 구하여 8개의 반화소값을 병렬 출력한다. 그리고 나서, 8개의 멀티플렉서(MUX1∼MUX8)는 수평축 반화소 플래그(H_half_flag)에 따라 플래그값이 "0"이면 입력된 블럭의 정화소 데이터(P0∼P7)를 선택하고, 플래그값이 "1"이면 상기 반화소 보상된 8 화소 데이터(P0.5, P1.5,…)를 선택하여 출력한다.The horizontal half-pixel compensator 632 receives 9 pixel data P0 to P8 in parallel on a horizontal line, adds two neighboring pixel values, and divides the added value by 2 to obtain an average value. Find the pixel value. In other words, the half-pixel P0.5 of the clarifiers P0 and P1, the half-pixel P1.5 of the clarifiers P1 and P2, and the like are obtained, and eight half-pixel values are output in parallel. Then, the eight multiplexers MUX1 to MUX8 select the refinement data P0 to P7 of the input block if the flag value is 0 according to the horizontal half-pixel flag H_half_flag, and if the flag value is 1 The half pixel compensated 8 pixel data P0.5, P1.5, ... are selected and output.

상기 수직라인 스위칭부(634)는 2클럭 주기로 '0','1'을 반복하여 발생하는 수직라인 선택신호(Line_sel)에 따라 입력된 데이터를 디멀티플렉싱하는 데, 수직라인 선택신호가 '0'일 때는 기수 라인용 버퍼(ODD1∼ODD8)의 입력선과 스위칭연결하고, '1'일 때는 우수 라인용 버퍼(EVN1∼EVN8)의 입력선과 스위칭연결 한다. 그리고, 상기 기수 라인용 버퍼(ODD1∼ODD8)는 인에이블 신호(ENA)의 로우상태에서 인에이블되어 입력된 기수라인 화소를 래치하여 출력하고, 상기 우수 라인용 버퍼(EVN1∼EVN8)은 인에이블 신호(ENA)의 하이상태에서 인에이블되어 입력된 우수라인 화소를 래치하여 출력한다.The vertical line switching unit 634 demultiplexes the input data according to the vertical line selection signal Line_sel generated by repeating '0' and '1' every two clock cycles, and the vertical line selection signal is '0'. If the switch is connected to the input line of the odd line buffers (ODD1 to ODM8), and the switch is connected to the input line of the even line buffers (EVN1 to EVN8). The odd line buffers ODD1 to ODD8 are enabled in the low state of the enable signal ENA to latch and output the inputted odd line pixels, and the even line buffers EVN1 to EVN8 are enabled. The input even line pixel which is enabled and input in the high state of the signal ENA is latched and output.

상기 수직축 반화소 보상부(636)는 상기 기수 라인용 버퍼(ODD1∼ODD8)의 화소와 상기 우수 라인용 버퍼(EVN1∼EVN8)의 화소를 각각 입력받아 수직축으로 이웃한 2개 화소값을 가산한 후, 가산된 값을 2로 나누어서 수직축 반화소 보상된 8 화소 데이터값을 구한다. 그리고 나서, 수직축 반화소 플래그(V_half_flag)에 따라 플래그값이 "0"이면 상기 기수 라인용 버퍼(ODD1∼ODD8)로부터 출력된 데이터를 선택하고, 플래그값이 "1"이면 상기 나눗셈기(D1∼D8)로부터 출력된 수직축 반화소 보상된 8 화소 데이터를 선택하여 병렬 출력한다.The vertical half-pixel compensator 636 receives pixels of the odd-numbered line buffers ODD1 to ODM8 and pixels of the even-numbered line buffers EVN1 to EVN8, respectively, and adds two pixel values adjacent to each other on the vertical axis. Subsequently, the added value is divided by 2 to obtain a vertical pixel-pixel compensated 8-pixel data value. Then, according to the vertical half-pixel flag V_half_flag, if the flag value is '0', the data outputted from the odd line buffers ODD1 to ODD8 are selected. If the flag value is '1', the divider D1 to The vertical half-pixel-compensated 8-pixel data output from D8) is selected and output in parallel.

여기서, 상기 수직축 반화소 보상의 과정에 대한 이해를 돕기 위해 도 5 를 참조하여 기수 라인용 버퍼(ODD1)와 우수 라인용 버퍼(EVN1)의 입출력 상태를 살펴보면 다음과 같다. 도 5 의 타이밍도는 도 4의 수직라인 스위칭부(634) 및 수직축 반화소 보상부(636)에 대한 입출력 상태를 보인 것이다.Here, the input / output states of the odd-numbered line buffer ODD1 and the even-numbered line buffer EVN1 will be described with reference to FIG. 5 to help understand the process of vertical half-pixel compensation. 5 is a diagram illustrating input and output states of the vertical line switching unit 634 and the vertical axis half pixel compensation unit 636 of FIG. 4.

도 5의 (a)는 클럭 신호이고, (b)는 수직라인 스위칭부(634, 도 4 참조)의 제 1 디멀티플렉서(DEMUX1)의 입력 데이터(700)이고, (c)는 수직라인 스위칭부(634)의 제 1 디멀티플렉서(DEMUX1)를 위한 수직라인 선택신호(Line_sel)이고, (d)는 수직라인 선택신호(Line_sel)가 '0'일 때 제 1 디멀티플렉서(DEMUX1)의 출력 데이터(701)이고, (e)는 수직라인 선택신호(Line_sel)가 '1'일 때 제 1 디멀티플렉서(DEMUX1)의 출력 데이터(702)이며, (f)는 수직라인 스위칭부(634)의 기수라인용 버퍼(ODD1) 및 우수라인용 버퍼(EVN1)를 위한 인에이블 신호(ENA)이고, (g)는 기수라인용 버퍼(ODD1)의 출력 데이터(703)이고, (h)는 우수 라인용 버퍼(EVN1)의 출력 데이터(704)이고, (i)는 수직축 반화소 보상부(636)의 가산기(C1)의 출력 데이터값(705)이다.(A) of FIG. 5 is a clock signal, (b) is input data 700 of the first demultiplexer DEMUX1 of the vertical line switching unit 634 (see FIG. 4), and (c) is a vertical line switching unit ( A vertical line selection signal Line_sel for the first demultiplexer DEMUX1 of 634, (d) is output data 701 of the first demultiplexer DEMUX1 when the vertical line selection signal Line_sel is '0'. , (e) is output data 702 of the first demultiplexer DEMUX1 when the vertical line selection signal Line_sel is '1', and (f) is the odd line buffer (ODD1) of the vertical line switching unit 634. ) And the enable signal ENA for the even line buffer EVN1, (g) is the output data 703 of the odd line buffer ODD1, and (h) is the even line buffer EVN1. Output data 704, and (i) is the output data value 705 of the adder C1 of the vertical half-pixel compensator 636.

도 4에서와 같이 블럭의 라인별로 구별하여 첫번째 수직라인은 L1이고, 두번째 수직라인은 L2등으로 나타내었으며, 반화소 보상기(630)의 수평축 반화소 보상부(632)로 입력되는 형태는 첫번째 클럭(CLK1)에서 블럭의 첫번째 수직라인 L1 의 화소 데이터들(P0∼P8)이 병렬로 입력되고, 두번째 클럭(CLK2)에서 블럭의 두번째 수직라인 L2 의 화소데이터들(P0∼P8)이 병렬로 입력된다.As shown in FIG. 4, the first vertical line is L1, the second vertical line is represented by L2, and the like, and is input to the horizontal half-pixel compensator 632 of the half-pixel compensator 630 in the first clock. Pixel data P0 to P8 of the first vertical line L1 of the block is input in parallel at CLK1, and pixel data P0 to P8 of the second vertical line L2 of the block is input in parallel at the second clock CLK2. do.

여기서, 도 5는 각 수직라인의 첫번째 열(P0)과 두번째 열(P1) 화소들에 대해 수직축 반화소 처리하는 것을 설명하기위해 L1 라인의 P0열과 P1열의 화소값에 대해 수평축 반화소 처리된 데이터값을 ℓ1, L2 라인의 P0열과 P1열의 화소값에 대해 수평축 반화소 처리된 데이터값을 ℓ2, L3 라인의 P0열과 P1열의 화소값에 대해 수평축 반화소 처리된 데이터값을 ℓ3 등으로 정한다. 이들 ℓ1,ℓ2,ℓ3,…,ℓ9 등은 클럭에 동기되어 상기 수직라인 스위칭부(634)의 제 1 디멀티플렉서(DEMUX1)로 입력된다. 그리고, 도 5의 (b)에서와 같이 한블럭의 수직축 데이터가 입력된 후 1클럭 지연 후에 다시 다음 블럭의 수직축 데이터(ℓ'1,ℓ'2,…)가 입력되도록 하여 데이터의 충돌을 방지하도록 한다.Here, FIG. 5 is a horizontal half-pixel-processed data of pixel values of columns P0 and P1 of the L1 line to explain the vertical half-pixel processing for the pixels of the first column P0 and the second column P1 of each vertical line. The values are horizontally half-pixel-processed for the pixel values of the P0 and P1 columns of the lines L1 and L2, and the horizontally half-pixelated data values of the pixel values of the P0 and P1 columns of the lines L3 and L3 are set to L3 and the like. These 1, 1, 2, 3,... , 9, etc. are input to the first demultiplexer DEMUX1 of the vertical line switching unit 634 in synchronization with a clock. Then, as shown in FIG. 5 (b), after one block of vertical axis data is input, the vertical axis data (l'1, l'2, ...) of the next block is input again to prevent data collision. Do it.

우선, 첫번째 클럭(CLK1)에서 제 1 디멀티플렉서(DEMUX1)는 수직라인 선택신호(Line_sel) '0'에 따라 제 1 기수 라인용 버퍼(ODD1)로 스위칭되고, 두번째 클럭(CLK2)에서 제 1 디멀티플렉서(DEMUX1)는 수직라인 선택신호(Line_sel) '1'에 따라 제 1 우수 라인용 버퍼(EVN1)로 스위칭되는 등 동일한 동작이 반복수행된다. 이 때 수직라인 선택신호(Line_sel)는 도 5의 (c)와 같이, 데이터 입력이 시작되는 클럭으로부터 2클럭 주기로 한 클럭마다 '0'과 '1'을 반복하여 발생된다. 따라서, 제 1 디멀티플렉서(DEMUX1)의 0번라인 출력 데이터 즉, 제 1 기수 라인용 버퍼(ODD1)로 입력되는 데이터는 도 5의 (d)와 같이 ℓ1, ℓ3, ℓ5, ℓ7, ℓ9 이 출력되고, 하나의 데이터는 2클럭주기동안 유지된다. 그리고, 제 1 디멀티플렉서(DEMUX1)의 1번라인 출력 데이터 즉, 제 1 우수 라인용 버퍼(EVN1)로 입력되는 데이터는 도 5의 (e)와 같이 ℓ2, ℓ4, ℓ6, ℓ8 이 출력되고, 하나의 데이터는 2클럭주기동안 유지되며, (d)와 비교하여 한 클럭 지연된 후 출력이 시작된다.First, at the first clock CLK1, the first demultiplexer DEMUX1 is switched to the first odd-numbered line buffer ODD1 according to the vertical line select signal Line_sel '0', and at the second clock CLK2, the first demultiplexer The same operation is repeatedly performed as the DEMUX1 is switched to the first even line buffer EVN1 according to the vertical line selection signal Line_sel '1'. At this time, as shown in (c) of FIG. 5, the vertical line selection signal Line_sel is generated by repeating '0' and '1' every clock by two clock cycles from the clock at which data input starts. Therefore, as for the output data of line 0 of the first demultiplexer DEMUX1, that is, the data input to the first odd-numbered line buffer ODD1, as shown in (d) of FIG. 5, L1, L3, L5, L7 and L9 are output. One data is maintained for two clock cycles. The output data of line 1 of the first demultiplexer DEMUX1, that is, the data input to the first even line buffer EVN1 is outputted with L2, L4, L6, and L8 as shown in FIG. The data of is maintained for 2 clock cycles and output starts after one clock delay compared with (d).

이제, 상기 기수 라인용 버퍼(ODD1)와 우수 라인용 버퍼(EVN1)의 인에이블 신호는 도 5의 (f)와 같이 2클럭을 한 주기로 처음 반주기동안은 로우(Low)로 발생되고 나머지 반주기동안은 하이(High)로 발생된다. 이때 상기 기수 라인용 버퍼(ODD1)는 (f)의 인에이블 신호의 로우상태에서 인에이블되어 입력된 데이터를 래치하여 출력하고, 출력 데이터는 도 5의 (g)와 같이 입력 시점으로부터 한 클럭 지연된 후 ℓ1, ℓ3, ℓ5, ℓ7, ℓ9 이 출력되고, 하나의 데이터는 2클럭주기동안 유지된다. 그리고, 상기 우수 라인용 버퍼(EVN1)는 (f)의 인에이블 신호의 하이상태에서 인에이블되어 입력된 데이터를 래치하여 출력하고, 출력 데이터는 도 5의 (h)와 같이 입력 시점으로부터 한 클럭 지연된 후 ℓ2, ℓ4, ℓ6, ℓ8 이 출력되고, 하나의 데이터는 2클럭주기동안 유지된다.Now, the enable signal of the odd-numbered line buffer (ODD1) and the even-numbered line buffer (EVN1) is generated at a low period during the first half period as two clocks as shown in FIG. Is generated high. At this time, the odd-numbered line buffer ODD1 latches and outputs the input data which is enabled in the low state of the enable signal of (f), and the output data is delayed by one clock from the input time as shown in (g) of FIG. 5. Then, l1, l3, l5, l7, l9 are output, and one data is held for two clock cycles. The even line buffer EVN1 latches and outputs the input data which is enabled and input in the high state of the enable signal of (f), and the output data is clocked from an input time point as shown in (h) of FIG. 5. After the delay, L2, L4, L6 and L8 are output and one data is held for two clock cycles.

따라서, 상기 수직축 반화소 보상부(636)의 가산기(C1)는 상기 기수 라인용 버퍼(ODD1)와 상기 우수 라인용 버퍼(EVN1)로부터 출력된 데이터를 입력받아 한 클럭동안 가산하여 출력하며, 그 결과는 도 5의 (i)에서 보는 바와 같이, ℓ1+ℓ2, ℓ2+ℓ3, ℓ3+ℓ4, ℓ4+ℓ5, ℓ5+ℓ6, ℓ6+ℓ7, ℓ7+ℓ8, ℓ8+ℓ9 이 출력된다.Therefore, the adder C1 of the vertical half-pixel compensator 636 receives data output from the odd-numbered line buffer ODD1 and the even-numbered line buffer EVN1 and adds the data for one clock, and outputs the added data. As shown in FIG. 5 (i), L1 + L2, L2 + L3, L3 + L4, L4 + L5, L5 + L6, L6 + L7, L7 + L8 and L8 + L9 are output.

이제, 제 9 멀티플렉서(MUX9)는 상기 가산기(C1)의 출력 데이터를 2로 나눈 결과 즉, 평균값을 입력받고, 상기 기수 라인용 버퍼(ODD1)의 출력 데이터를 입력받아 수직축 반화소 플래그(V_half_flag)신호에 따라 플래그가 '1'이면 평균값을 선택하고, '0'이면 기수 라인 데이터를 선택하여 출력한다.Now, the ninth multiplexer MUX9 receives a result obtained by dividing the output data of the adder C1 by 2, that is, an average value, and receives the output data of the odd-numbered buffer ODD1 to receive a vertical half-pixel flag V_half_flag. According to the signal, if the flag is '1', the average value is selected. If the flag is '0', the odd line data is selected and output.

그리고, 다중화부(638)의 제 17 멀티플렉서(MUX17)는 상기 제 9 멀티플렉서(MUX9)의 출력 데이터를 입력받고 상기 우수 라인용 버퍼(EVN1)의 출력 데이터를 입력받아 수직축 라인 선택 신호(Line_sel)에 따라 '0'이면 제 9 멀티플렉서(MUX9)의 출력데이터를 선택하고, '1' 이면 상기 우수 라인용 버퍼(EVN1)의 출력 데이터를 선택하여 출력한다. 즉, 수직축 반화소 플래그 신호(V_half_flag)가 '1'일 때는 반화소 보상된 평균값이 출력되고, 수직축 반화소 플래그 신호(V_half_flag)가 '0'인 경우에는 2클럭 주기중 첫번째 클럭에서는 기수라인 데이터가 출력되고, 두번째 클럭에서는 우수라인 데이터가 출력된다.The seventeenth multiplexer MUX17 of the multiplexer 638 receives the output data of the ninth multiplexer MUX9 and the output data of the even line buffer EVN1 to the vertical line select signal Line_sel. Accordingly, if '0', output data of the ninth multiplexer MUX9 is selected, and if '1', output data of the even line buffer EVN1 is selected and output. That is, when the vertical half-pixel flag signal V_half_flag is '1', a half-pixel compensated average value is output. When the vertical half-pixel flag signal V_half_flag is '0', the odd line data is displayed at the first clock of two clock cycles. Is output, and even-line data is output at the second clock.

지금까지의 설명은 P0과 P1열을 수직축 반화소 보상 처리하는 것에 대해서만 설명하였으나. 나머지 열에 대해서도 동일한 작용이 일어남을 알수 있을 것이다.The description so far has described only the vertical half-pixel compensation of P0 and P1 columns. You can see that the same happens for the rest of the heat.

이렇게 상기 다중화부(638)로부터 최종 출력된 데이터는 반화소 보상하지 않은 (정화소,정화소), 수평축 반화소 보상만 처리한 (반화소,정화소), 수직축 반화소 보상만 처리한 (정화소, 반화소), 혹은 수평축과 수직축 반화소 보상을 모두 처리한 (반화소, 반화소) 중의 어느 하나에 해당한다.In this way, the final output data from the multiplexer 638 is not half-pixel compensated (corrected pixel), only horizontal axis half pixel compensation (half pixel, refined pixel), vertical axis half pixel only processed (corrected pixel, half pixel) ), Or (half-pixel, half-pixel) that handles both horizontal and vertical half-pixel compensation.

이상에서 서술한 바와 같이 본 발명에 따르면 움직임 보상을 수행함에 있어서 수평축 반화소 플래그 및. 수직축 반화소 플래그 신호에 따라 블럭단위로 반화소 보상을 병렬처리하여 효율적이며, 그 하드웨어를 간단히 구현할 수 있는 효과가 있다.As described above, according to the present invention, the horizontal axis half-pixel flag and. According to the vertical half-pixel flag signal, the half-pixel compensation is processed in parallel in units of blocks so that the hardware can be easily implemented.

Claims (6)

n×n 블럭단위로 움직임 보상을 하는 움직임 보상 장치에 있어서,In a motion compensation device for performing motion compensation in units of n × n blocks, 수평라인으로 n+1 화소 데이터를 병렬 입력받아 수평축 반화소 플래그(H_half_flag)에 따라 수평축 반화소 보상 계산하여 보상된 n 화소 데이터 혹은 원래 입력된 n 화소 데이터를 선택적으로 출력하는 수평축 반화소 보상부(632);Horizontal axis half-pixel compensator for receiving n + 1 pixel data in parallel on the horizontal line and selectively outputting the compensated n pixel data or the original input n pixel data by calculating horizontal half pixel compensation according to the horizontal half pixel flag (H_half_flag) 632); 상기 수평축 반화소 보상부(632)로부터 제공된 n 화소 데이터를 입력받아 수직라인 선택신호(Line_sel)에 따라 디멀티플렉싱하여 기수 라인 n 화소들 혹은 우수 라인 n 화소들을 번갈아 출력하는 수직라인 스위칭부(634);The vertical line switching unit 634 which receives the n pixel data provided from the horizontal half-pixel compensation unit 632 and demultiplexes the odd line n pixels or the even line n pixels according to the vertical line selection signal Line_sel. ; 상기 수직라인 스위칭부(634)로부터 제공된 우수 라인 n 화소 데이터와 기수 라인 n 화소 데이터를 이용하여 수직축 반화소 보상을 계산하여 상기 수직축 반화소 플래그(V_half_flag)에 따라 상기 수직라인 스위칭부(634)로부터 제공된 기수 라인 n 화소 혹은 수직축 반화소 보상된 n 화소 데이터를 택일적으로 출력하는 수직축 반화소 보상부(636); 및The vertical line half pixel compensation is calculated by using the even line n pixel data and the odd line n pixel data provided from the vertical line switching unit 634, and the vertical line switching unit 634 according to the vertical half pixel flag V_half_flag. A vertical half pixel compensator 636 for alternatively outputting the provided odd line n pixels or vertical axis half pixel compensated n pixel data; And 수직 라인 선택신호(Line_sel)에 따라 상기 우수 라인 n 화소 혹은 상기 수직축 반화소 보상부(636)로부터 출력된 n 화소 데이터를 선택적으로 병렬 출력하는 다중화부(638)를 포함하여 구성되는 것을 특징으로 하는 움직임 보상 장치의 반화소 보상기.And a multiplexer 638 for selectively parallel outputting the even line n pixels or the n pixel data output from the vertical half-pixel compensator 636 according to a vertical line selection signal Line_sel. Half-pixel compensator of motion compensation device. 제 1 항에 있어서, 상기 수평축 반화소 보상부(632)는 수평라인으로 n+1 화소 데이터(P0∼P8)를 병렬 입력받아 이웃한 2개 화소값을 가산하는 n개의 가산기 (A1∼A8)와;The n-adder A1 to A8 of claim 1, wherein the horizontal half-pixel compensator 632 receives n + 1 pixel data P0 to P8 in parallel to a horizontal line and adds two neighboring pixel values. Wow; 상기 가산기(A1∼A8)의 합산값을 2로 나누어 평균값을 구하는 n개의 나눗셈기(B1∼B8); 및N dividers B1 to B8 for dividing the sum of the adders A1 to A8 by 2 to obtain an average value; And 수평축 반화소 플래그(H_half_flag)에 따라 상기 n개의 나눗셈기(B1∼B8)로부터 출력된 수평축 반화소 보상된 n 화소 데이터 혹은 원래 입력된 n 화소 데이터(P0∼P7)를 선택적으로 출력하는 병렬 연결된 n개의 2-1 멀티플렉서(MUX1∼MUX8)를 포함하여 구성되는 것을 특징으로 하는 움직임 보상 장치의 반화소 보상기.Parallel-connected n for selectively outputting the horizontal half-pixel compensated n pixel data output from the n dividers B1 to B8 or the originally input n pixel data P0 to P7 according to the horizontal half pixel flag H_half_flag. A half-pixel compensator of a motion compensation device, comprising two 2-1 multiplexers (MUX1 to MUX8). 제 1 항에 있어서, 상기 수직 라인 스위칭부(634)는 2클럭을 주기로 하여 0,1 을 반복적으로 발생하는 수직 라인 선택 신호(Line_sel)로 제공받아 n 화소 데이터를 디멀티플렉싱하는 n개의 1입력-2출력 디멀티플렉서(DEMUX1∼DEMUX8)와;2. The vertical line switching unit 634 of claim 1, wherein the vertical line switching unit 634 is provided with a vertical line selection signal Line_sel that repeatedly generates 0, 1 every two clocks, and outputs n one inputs to demultiplex n pixel data. Two output demultiplexers (DEMUX1 to DEMUX8); 상기 각 디멀티플렉서(DEMUX1∼DEMUX8)로부터 출력된 기수 라인 화소 데이터를 래치하는 병렬 연결된 n개의 기수 라인용 버퍼(ODD1∼ODD8); 및N odd line buffers (ODD1 to ODD8) connected in parallel to latch odd line pixel data output from the respective demultiplexers (DEMUX1 to DEMUX8); And 상기 각 디멀티플렉서(DEMUX1∼DEMUX8)로부터 출력된 우수 라인 화소 데이터를 래치하는 병렬 연결된 n 개의 우수 라인용 버퍼(EVN1∼EVN8)를 포함하여 구성되는 것을 특징으로 하는 움직임 보상장치의 반화소 보상기.And n even line buffers (EVN1 to EVN8) connected in parallel to latch even line pixel data output from each of the demultiplexers (DEMUX1 to DEMUX8). 제 1 항에 있어서, 상기 수직축 반화소 보상부(636)는 상기 수직라인 스위칭부(634)로부터 제공된 우수 라인 n 화소 데이터와 기수 라인 n 화소 데이터를 각각 입력받아 수직축으로 이웃한 2개 화소값을 가산하는 병렬 연결된 n개의 덧셈기(C1∼C8)와;2. The vertical axis half pixel compensation unit 636 receives two even-line n pixel data and an odd-numbered line n pixel data provided from the vertical line switching unit 634, respectively, and receives two pixel values adjacent to each other along the vertical axis. N adders C1 to C8 connected in parallel; 상기 덧셈기(C1∼C8)의 합산값을 2로 나누어 평균값을 구하는 병렬 연결된 n개의 나눗셈기(D1∼D8); 및N dividers D1 to D8 connected in parallel to obtain an average value by dividing the sum of the adders C1 to C8 by two; And 상기 수직축 반화소 플래그(V_half_flag)에 따라 상기 수직라인 스위칭부(634)로부터 제공된 상기 기수 라인 n 화소 데이터 혹은 상기 나눗셈기(D1∼D8)로부터 제공된 수직축 반화소 보상된 n 화소 데이터를 선택하여 출력하는 병렬 연결된 n개의 멀티플렉서(MUX9∼MUX16)를 포함하여 구성된 것을 특징으로 하는 움직임 보상장치의 반화소 보상기.Selecting and outputting the odd line n pixel data provided from the vertical line switching unit 634 or the vertical half pixel compensated n pixel data provided from the dividers D1 to D8 according to the vertical half pixel flag V_half_flag. A half-pixel compensator for a motion compensator, comprising n multiplexers MUX9 to MUX16 connected in parallel. 제 1 항에 있어서, 상기 다중화부(638)는 수직라인 선택신호(Line_sel)에 따라 상기 수직라인 스위칭부(634)의 우수 라인 n 화소 혹은 상기 수직축 반화소 보상부(636)로부터 출력된 n 화소 데이터를 선택적으로 출력하는 8개의 2입력 1출력 멀티플렉서(MUX17∼MUX24)가 병렬로 구성되어 있는 것을 특징으로 하는 움직임 보상 장치의 반화소 보상기.The pixel multiplexer 638 is an even line n pixel of the vertical line switching unit 634 or n pixels output from the vertical half-pixel compensator 636 according to a vertical line selection signal Line_sel. A half-pixel compensator for a motion compensation device, characterized in that eight two-input one-output multiplexers (MUX17 to MUX24) for selectively outputting data are configured in parallel. 제 3 항에 있어서, 상기 기수 라인용 버퍼(ODD1∼ODD8)와 우수 라인용 버퍼(EVN1∼EVN8)는 2클럭을 주기로 처음 반주기동안은 로우(Low)로 발생되고 나머지 반주기동안은 하이(High)로 발생되는 인에이블 신호(ENA)를 제공받고, 상기 기수 라인용 버퍼(ODD1∼ODD8)는 상기 인에이블 신호(ENA)의 로우상태에서 인에이블되어 입력된 데이터를 래치하여 출력하고, 상기 우수 라인용 버퍼(EVN1∼EVN8)는 상기 인에이블 신호(ENA)의 하이상태에서 인에이블되어 입력된 데이터를 래치하여 출력하는 것을 특징으로 하는 움직임 보상 장치의 반화소 보상기.4. The odd line buffers (ODD1 to ODM8) and the even line buffers (EVN1 to EVN8) are generated at a low level for the first half period and high for the other half period. The enable signal ENA is generated, and the odd-numbered line buffers ODD1 to ODD8 are enabled in the low state of the enable signal ENA to latch and output the input data. And the buffers EVN1 to EVN8 latch and output data which is enabled and input in the high state of the enable signal ENA.
KR1019970040979A 1997-08-26 1997-08-26 Half-pel compensator of a motion compensator KR100235487B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970040979A KR100235487B1 (en) 1997-08-26 1997-08-26 Half-pel compensator of a motion compensator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970040979A KR100235487B1 (en) 1997-08-26 1997-08-26 Half-pel compensator of a motion compensator

Publications (2)

Publication Number Publication Date
KR19990017897A KR19990017897A (en) 1999-03-15
KR100235487B1 true KR100235487B1 (en) 1999-12-15

Family

ID=19518611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970040979A KR100235487B1 (en) 1997-08-26 1997-08-26 Half-pel compensator of a motion compensator

Country Status (1)

Country Link
KR (1) KR100235487B1 (en)

Also Published As

Publication number Publication date
KR19990017897A (en) 1999-03-15

Similar Documents

Publication Publication Date Title
US5510842A (en) Parallel architecture for a high definition television video decoder having multiple independent frame memories
KR100239260B1 (en) Picture decoder
JP3395166B2 (en) Integrated video decoding system, frame buffer, encoded stream processing method, frame buffer allocation method, and storage medium
KR100192270B1 (en) The video decoding circuit in hdtv
US5963222A (en) Multi-format reduced memory MPEG decoder with hybrid memory address generation
EP0592351B1 (en) Image decoder
JPH08130745A (en) Decoding system, decoder and decoding circuit
KR100201981B1 (en) The memory control apparatus and image decoder using that
US20160007025A1 (en) Picture encoding device, picture decoding device, and picture communication system
JP2000270332A (en) Method and device for encoding dynamic picture
US5754243A (en) Letter-box transformation device
KR0151210B1 (en) Motion compensation control apparatus for mpeg
US6985528B2 (en) Apparatus and method for encoding and decoding moving picture using wavelet transformation and motion estimation
KR100204475B1 (en) An improved frame reordering appatus
JPH11298903A (en) Digital image decoding device/method and supply medium thereof
KR100235487B1 (en) Half-pel compensator of a motion compensator
KR950006769B1 (en) Motion vector detecting method and motion compensating apparatus of hdtv
KR100243476B1 (en) Half-pixel compensator of a motion compensator
KR100235484B1 (en) Half-pel compensator of a motion compensator
US20060227874A1 (en) System, method, and apparatus for DC coefficient transformation
KR100255794B1 (en) First in first out buffer in motion compensator
KR100255793B1 (en) Combine circuit of compensating for p-picture and b-picture in a motion compensator
KR0128885B1 (en) The half-pixel motion compensation device
KR100269426B1 (en) Motion compensator having an improved frame memory
JPH11308620A (en) Image 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: 20120903

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee