KR0178746B1 - 매크로블럭의 반픽셀처리장치 - Google Patents
매크로블럭의 반픽셀처리장치 Download PDFInfo
- Publication number
- KR0178746B1 KR0178746B1 KR1019950049398A KR19950049398A KR0178746B1 KR 0178746 B1 KR0178746 B1 KR 0178746B1 KR 1019950049398 A KR1019950049398 A KR 1019950049398A KR 19950049398 A KR19950049398 A KR 19950049398A KR 0178746 B1 KR0178746 B1 KR 0178746B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- pixel
- flip
- signal
- pixel processing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
본 발명은 움직임보상(Motion Compensation)에 관한 것으로, 특히 전방화상과 후 방화상의 양쪽에서 움직임보상을 하는 B픽춰에 대해 움직임보상을 효율적으로 하기 위한 매크로블럭의 반픽셀처리장치에 관한 것이다. 본 발명은 반픽셀처리를 8비트씩 2번처리하고, 휘도성분뿐만 아니라, 색차성분에 대해서도 처리할 수 있도록 하고, 파이프라인을 이용하여 회로를 간략화 할 수 있는 잇점을 제공한다. 또한, MPEG에서 B픽춰의 움직임보상시, 전방화상과 후방화상의 평균값으로 움직임보상이 이루어지기 때문에 2번의 클럭으로 전방화상(제2(a)도)에서 1라인을 읽어들이고, 다음에는 후방화상(제2(b)도)에서 1라인씩 읽어들였던 것을 4번의 클럭으로 전방화상의 1라인을 두 번에 나누어 읽어들임으로써 시간지연을 줄일 수 있다.
Description
제1도는 매크로블럭(MB)내에서 1행을 반픽셀(Half Pixel)처리하기 위해 필요한 17픽셀을 선택하는 것을 설명하기 위한 개념도.
제2도는 제1도의 A부분(17×17픽셀)을 도시한 것으로써, 제2도(a)도는 전방화상을, 제2(b)도는 후방화상을 도시한 개념도.
제3도는 본 발명의 장치인 매크로블럭의 반픽셀처리장치를 나타낸 구성도.
제4도는 제3도의 장치에서 반픽셀처리된 데이터를 소정 기간동안 저장하였다가 MUX를 통해 출력하는 플립플롭수단의 동작 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
31, 37 : 논리곱게이트 32, 38 : 가산부
33~36 : 래치 39 : 데이터처리부
41~44 : 플립플롭 45, 46 : MUX
47 : 예측방향결합부 48 : 합산기
49 : 범위제한부 50 : 카운터
본 발명은 동화상 복호기에서의 동보상(Motion Compensation)장치에 관한 것으로, 특히 전방화상과 후방화상의 양쪽에서 움직임보상을 하는 B픽춰에 대해 움직임보상을 효율적으로 하기 위한 매크로블럭의 반픽셀처리장치에 관한 것이다.
최근에는 화질의 개선을 위하여 영상신호를 디지털데이터로 부호화하여 처리하는 방식이 보편화되고 있다. 그러나, 영상신호를 디지털데이터로 부호화하는 경우, 데이터량이 상당히 많게 된다. 이러한 문제를 해결하기 위해 종래의 영상부호화시스템은 변환부호화, 차분펄스부호변조(DPCM;Differential Pulse Code Modulation), 벡터양자화 및 가변장부호화(VLC;Variable Length Coding)등을 사용하여 디지털 영상신호에 포함되어 있는 용장성데이타(Redundancy Data)를 제거하여 전체 데이터량을 감소시킨다. 일반적인 동화상부호기에서는 한 프레임의 디지털 영상신호를 M×N픽셀들의 비데오블럭으로 나누고, 이 M×N픽셀들로 이루어진 비데오블럭들에 대해 DCT (Discrete Cosine Transform), DST(Discrete Sine Transform), DFT(Discrete Fourier Transform), WHT(Walsh-Hadamard Transfom)중의 하나를 사용하여 변환을 수행한 후 변환계수 값들을 양자화 한다. 소정의 양자화제어신호에 따라 입력하는 데이터를 양자화 시키는 양자화에 관련한 기술은 잘 알려진 것이므로 그 구체적인 설명을 생략하겠다. 양자화된 데이터는 가변장부호화하여 데이터량을 더욱 압축시키며 양자화된 데이터를 역양자화 및 역변환하여 움직임보상을 수행한다.
움직임보상시, 종래의 반픽셀처리장치에서 수평방향 반픽셀처리할때는 매크로블럭당 16필셀씩 한 번에 읽어들여, 수평방향으로 입접한 16픽셀간의 평균을 냄으로써, 반픽셀처리동작을 수행하였다. 그리고, 수직방향으로 반픽셀처리를 할 때는 이전 라인의 픽셀과 수직방향으로 인접한 픽셀간의 평균을 냄으로써 수직방향 반픽셀처리를 하였다. 따라서, 종래의 반픽셀처리장치에서 수직방향으로 반픽셀처리를 할 때, 이전 라인의 픽셀데이터를 따로 저장해야하는 메모리가 필요하고 데이터의 연속된 출력이 어려웠다. 그러므로, 하드웨어가 복잡해지고, 시간지연의 문제점이 발생했다.
본 발명의 목적은 위와같은 종래의 문제점을 해결하기 위해 MPEG에서 B픽춰의 움직임보상시 매크로블럭의 반픽셀처리를 하는데에 있어서, 래치로 구성된 파이프라인을 이용하여 이전 라인의 픽셀데이터를 따로 저장하는 소정 메모리가 필요없도록 하드웨어를 구성하고, MUX를 이용하여 반픽셀처리데이터를 연속적으로 선택하여 움직임보상을 할 수 있으므로 시간지연의 문제점을 해결할 수 있는 매크로블럭의 반픽셀처리장치를 제공함에 있다.
위와 같은 목적을 달성하기 위한 본 발명의 특징은 매크로블럭내에서 동벡터의 동향성분에 따라 반픽셀처리를 하기위해 선택된 바이트단위의 N개의 픽셀데이터를 소정 단위로 분할하여 반픽셀동보상을 하기 위한 데이터 처리장치에 있어서, 외부로부터 인가되는 수평방향반픽셀처리신호에 따라 상기 바이트단위의 N개의 픽셀데이터중 M개의 픽셀데이터들과 한 픽셀 쉬프트된 인접픽셀데이터들간의 평균을 구하기 위한 제1가산수단, 상기 제1가산수단으로부터 인가되는 데이터를 저장하는 다수개의 래치로 구성된 파이프라인수단, 외부로부터 인가되는 수직방향반픽셀처리신호에 따라 상기 파이프라인수단에 저장된 이전 라인의 픽셀결과데이터와 상기 제1가산수단의 출력신호간의 평균을 구하기 위한 제2가산수단, 수평방향반픽셀처리신호와 수직방향반픽셀처리신호에 따라 상기 제2가산수단으로부터 인가되는 수평 또는 수직방향으로 반픽셀처리동작 수행시 생성된 캐리를 제거하여 M개의 반픽셀데이터를 출력하는 데이터처리부, 다수개의 플립플롭으로 구성되며, 상기 데이터처리부로부터의 M개의 반픽셀결과데이터를 디코더의 출력신호에 따라 인에이블되어 상기 데이터처리부로부터 인가되는 데이터를 M/2개의 픽셀데이터로 나누어 소정 기간동안 저장하는 플립플롭수단, 시스템클럭에 따라 소정 비트단위로 카운트하여 상기 플립플롭수단을 동작시키는 카운트수단, 상기 카운트수단으로부터 인가되는 MUX선택신호에 따라 상기 플립플롭수단으로부터 인가되는 M/2개의 반픽셀결과데이터를 선택하는 MUX수단, 상기 MUX수단으로부터 전방화상의 1바이트의 M/2개의 픽셀데이터와 후방화상의 M/2개의 픽셀데이터를 인가받아 합산하여 평균을 내는 예측방향결합부, 상기 예측방향결합부의 출력데이터와 IDCT체이터를 인가받아 반픽셀데이터의 동보상처리를 하는 합산수단을 포함하는 매크로블럭의 반픽셀처리장치에 있다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명하겠다.
MPEG(Moving Picture Experts Group)에서의 일반적인 동보상단위인 매크로블럭(MB;Macro Block)은 휘도신호에 대해 16픽셀×16라인으로 구성되며, 동보상처리시 이 16픽셀을 한 번에 처리하도록 한다. 이때, 제1도에 도시한 바와 같이 매크로블럭(MB)내에서 1라인을 반픽셀(Half Pixel)처리하기 위해서는 17픽셀이 필요하다. 그래서, 동일한 행의 인접한 매크로블럭의 ①과②의 16픽셀들을 읽어내고 동벡터의 수평성분에 따라 32개의 픽셀중 16개의 반픽셀을 구하기 위한 17개의 픽셀을 선택한다. 32개의 픽셀에서 17개의 픽셀을 선택하는 일은 배럴시프터(도면 미도시)에서 선택된다. 여기서, 반픽셀 동보상을 위해 17픽셀의 데이터를 산출하는 장치는 동일 출원인이 선출원한 특허 제 95-21359ghdp 잘 나타나 있다. 그러므로, 17픽셀을 구하는 방법에 대해서는 설명을 생략하겠다. 이렇게 선택된 17개의 픽셀 즉, 17×8bit 데이터는 반픽셀 동보상을 위한 데이터로 출력된다. 제2도는 제1도의 A부분만을 도시한 것으로써, 제2(a)도는 전방화상을, 제2(b)도는 후방화상을 도시한 것이다. MPEG에서 B픽춰의 움직임보상시, 전방화상과 후방화상의 평균값으로 움직임보상이 이루어지기 때문에 전방화상(제2(a)도)에서 1라인을 읽어들이고, 다음에는 후방화상(제2(b)도)에서 1라인을 읽어들여 이 읽어들인 전방화상과 후방화상의 평균값을 구하여 동보상을 위한 데이터로 출력된다. 이때, 본 발명에서는 데이터를 읽어들이는 데이터버스의 크기를 줄이기 위해 매크로블럭의 한 라인을 구성하는 17픽셀을 한 번에 모두 읽지 않고, 제2도에 도시된 바와 같이 9픽셀씩 2클럭으로 나누어 읽어들인다. 먼저, 전방화상(F1-1)의 0~7픽셀과 1픽셀 쉬프트된 1~8픽셀간을 읽어들여 평균값을 구하고, 그 다음 F1-2의 8~15픽셀과 9~16픽셀을 읽어들여 평균값을 구하는 반픽셀처리동작을 수행한다. 이렇게 전방화상의 한라인을 2클럭에 나누어 반픽셀처리를 한다. 다음으로 후방화상의 한 라인을 반픽셀처리하기 위해 B1-1의 0~7픽셀과 1~8픽셀간의 평균값을 구하는 반픽셀처리동작을 수행하고, 그 다음 B1-2의 8~15픽셀과 9~16픽셀을 읽어들여 평균값을 구하는 반픽셀처리동작을 수행한다. 즉, 한 라인의 반픽셀처리시, 전방화상(F1-1, F1-2)의 1라인과, 후방화상(B1-1, B1-2)의 1라인 순으로 읽어들여 두 신호를 평균하여 매크로블럭 1라인에 대한 움직임보상을 수행한다. 제3도를 통하여, 상술한 동작을 수행하는 본 발명의 장치를 상세히 설명하겠다.
제3도는 본 발명의 장치인 반픽셀처리장치의 구성도이다. 먼저, 반픽셀처리를 하기 위해 제2도에 도시된 바와 같이 반픽셀동보상을 위한 데이터를 배럴쉬프트(도면 미도시)로부터 인가 받는다. 배럴쉬프트는 전방화상의 1바이트(8bit)의 9픽셀 즉, 8bit×9[0:8](제2도③참조)의 데이터를 독출하여 제1 논리곱게이트(31) 및 제1가산부(32)로 출력한다. 제1 논리곱게이트(31)는 외부의 콘트롤러(도면 미도시)로부터 수평방향으로 반픽셀처리를 하지 않겠다는 제1 신호를 인가받으면, 제1가산부(32)는 논리곱연산을하여 0을 출력한다. 따라서, 제1가산부(32)는 반픽셀처리를 하기위해 선택된 1바이트의 9픽셀(8bit×9[0:8])의 데이터중 상위 8개의 픽셀데이터[0:7]만 인가받는다. 또한, 캐리발생신호(Cin)도 인가되지 않았으므로, 제1가산부(32)를 통과한 상위 8픽셀데이터[0:7]는 제 4래치(33)에 저장된다. 그러나, 제1 논리곱게이트(31)로 수평방향반픽셀처리를 위한 제2 신호가 인가되면, 제1 논리곱게이트(31)는 논리곱연산을 하여 1을 출력한다. 제1가산부(32)는 반픽셀처리를 하기위해 선택된 1바이트의 8픽셀데이터(8bit×9[0:8])중 상위 8픽셀데이터[0:7]와 한 픽셀 쉬프트된 [1:8]의 픽셀데이터를 입력받는다. 즉, 제1가산부(32)는 F1-1의 0~7픽셀과 1~8픽셀을 인가받는다. 제1가산부(32)는 8개의 가산기로 이루어져 있으며, 8개의 가산기는 F1-1의 한 픽셀씩 평균값을 구한다. 이때, 캐리발생신호(Cin)가 인가되어 캐리가 하나 발생하므로 비트수가 하나 늘게 된다. 즉, 9bit×8픽셀 데이터가 출력되어 제 4래치(33)에 저장된다. 그 다음 제1 가산부(32)는 전방화상의 하위 8픽셀(F1-2의 8픽셀) 즉, 8bit×9[8:16]중 [8:15]의 픽셀데이터와 그 다음 한 비트 쉬프트된 [9:16]의 픽셀데이터를 인가받는다. 제1가산부(32)는 수평방향반픽셀처리신호에 따라 상술한 F1-1의 반픽셀처리시 동작과 마찬가지 동작을 반복하여 그 결과를 제4 래치(33)로 출력한다. 이때, 제4 래치(33)에 저장된 F1-1의 수평방향 반픽셀처리결과데이터는 제 3래치(34)로 전달된다. 그 다음 후방화상의 첫째라인의 첫 번째 9픽셀이 입력되어 상술한 바와 같은 반픽셀처리동작이 수행된 후, 그 결과는 제4 래치(33)에 저장되고, 제 3래치에 저장된 F1-2의 반픽셀처리데이터는 제2 래치(35)로, 제2 래치(35)에 저장된 F1-1의 반픽셀처리데이터는 제1 래치(36)로 인가된다. 따라서, 첫째 라인의 반픽셀처리동작을 수행한 결과값은 제1 래치(36)에는 F1-1, 제2 래치(35)에는 F1-2, 제 3래치(34)에는 B1-1, 제 4래치(33)에는 B1-2의 수평방향 반픽셀처리결과데이터가 저장된다. 다시, 둘째라인의 반픽셀처리를 하기 위하여 제1가산부(32)는 F2-1의 1바이트의 9픽셀데이터[0:8]를 인가받는다. 제1가산부에서 연산된 F2-1부분의 반픽셀처리데이터는 제 4래치(33)에 저장됨과 동시에 제2 논리곱게이트(37)를 통해 제2가산부(38)로 인가된다. 이때, 각각의 래치에 저장된 이전 라인의 수평방향 반픽셀처리결과데이터를 이용하여 수직방향 반픽셀처리동작의 수행이 가능하게 된다. 제2 논리곱게이트(37)는 외부의 콘트롤러(도면 미도시)로부터 수직방향반픽셀처리여부신호를 인가받아 제 2가산부(38)로 전달된다. 제2가산부(38)는 수직방향으로 반픽셀처리를 하지 않는다는 제1 신호를 인가받으면, 제1 래치(36)에 저장되었던 F1-1의 반픽셀처리데이터만 인가받는다. 그러나, 수직방향반픽셀처리신호를 하겠다는 제2 신호가 제2 논리곱게이트(37)로 인가되면, 제 2가산부(38)는 제1 래치(36)에 저장된 F1-1의 수직방향 반픽셀처리결과데이터와 F2-1의 수직방향 반픽셀처리결과데이터를 가산하여 데이터처리부(39)로 출력한다. 이때, 제2가산부(38)는 수직방향 반픽셀처리신호에 따른 캐리발생신호(Cin)를 인가받아 각각 인가받은 데이터비트값보다 한비트 증가된 10bit×8픽셀의 데이터가 데이터처리부(39)로 출력된다. 이후에는 전방화상에서 2번, 후방화상에서 2번의 순서대로 상술한 바와 같은 반픽셀처리동작을 반복 수행한다. 데이터처리부(39)는 래치들로 구성된 파이프라인을 통해 수평, 수직방향으로 반픽셀처리된 데이터의 최종 8픽셀의 결과데이터를 산출하기 위해 도면에 미도시된 콘트롤러로부터 수평방향 반픽셀처리신호와 수직방향 반픽셀처리신호에 따라 입력되는 10비트의 데이터를 왼쪽으로 쉬프트시켜 최종 8bit×8픽셀데이터를 출력한다. 여기서, 수평방향 또는 수직방향 반픽셀처리신호가 둘다 인가되지 않으면, 데이터치리부(39)는 결국 반픽셀처리가 되지않은 8비트의 데이터를 입력받은셈이 되므로 제1 래치(36)에 저장된 데이터를 인가받아 그대로 출력한다. 그러나, 데이터처리부(39)는 수평방향 또는 수직방향의 반픽셀처리신호중 하나를 입력받으면, 결국 한방향으로 반픽셀처리된 데이터 즉, 9비트의 데이터를 인가받은 셈이된다. 그러므로, 최종 8비트값을 구하기 위해 MSB쪽으로 1비트데이터를 쉬프트시켜 8비트의 데이터를 출력한다. 수평방향, 수직방향 반픽셀처리신호가 둘다 입력되면, 데이터처리부(39)는 수평, 수직의 두 방향 모두 반픽셀처리된 10비트가 데이터를 입력받은셈이 되므로 MSB쪽으로 2비트데이터를 쉬프트시켜 8비트의 데이터를 출력한다. 이렇게 반픽셀처리된 데이터들은 플립플롭수단으로 인가된다.
제4도는 반픽셀처리된 데이터가 플립플롭에 저장되는 순서를 설명하기 위한 동작타이밍도이다. 제4도를 참조하여 4개의 플립플롭의 저장타이밍과 MUX들의 신호선택타이밍을 설명하겠다. 1비트카운터(50)는 입력되는 동작클럭(CLK)에 따라 카운트값(0~3)(제4(a)도 참조)을 출력한다. 디코더(51)는 2비트씩 입력되는 카운트값에 따라 플립플롭들(41~44)로 인에이블 신호를 출력한다. 초기 반픽셀처리시를 예를 들어 설명하겠다. 카운터(50)의 카운트값 1일 경우(제4(a)도 참조), 디코더(51)는 그에 해당하는 신호를 제 2플립플롭(42)으로 인가한다. 이때, 제1 플립플롭(42)은 동작클럭(CLK)의 상승에지에서 인에이블되어 데이터처리부(39)로부터 인가되는 F1-2반픽셀처리데이터(제4(c)도 참조)를 저장한다(제4(e)도 참조). 이때, 각각의 플립플롭은 입력되는 8비트의 데이터를 각각 4비트씩 정해진 구간에 저장한다. 도면에 도시된 바와 같이, 입력되는 1바이트의 반픽셀처리데이타중 하위 4비트는 [0:3]저장소에, 그 다음 4바이트는 [4:7]저장소에 저장하게 된다. 여기서, 1바이트의 반픽셀처리데이터를 모두 한곳에 저장하지 않고, 4비트씩 분리하여 저장하는 이유는 예측방향결합부(47)에서 전방화상데이터와 후방화상데이터를 인가받아 평균을 구할 때, 시간절약을 하기 위함이다. 다시 말하면, 예측방향결합부(47)는 먼저 전방화상데이터 1바이트를 인가받는다. 그 다음 후방화상데이터 1바이트를 인가받아 평균을 구하는데 이때, 후방화상데이터가 입력될때까지 소정 시간이 걸린다. 따라서, 1바이트데이터를 4픽셀씩 분리하여 저장하고, 각각 독출하여 예측방향결합을 함으로써, 시간을 반으로 줄일 수 있다.
이때, 제3 플립플롭(43)은 반픽셀처리데이터의 상위 4비트[4:7]만 저장하고, 하위 4비트[0:3]는 저장하지 않고, 바로 데이터버스를 통해 제 2MUX(46)로 출력하도록 구성되는데 제4도의 타이밍도를 참조하여 그 이유를 설명하겠다. 예들 들어, 카운트값이 2(제4(a)도의 a부분)일 때, 제1 플립플롭(41)에는 F2-1의 반픽셀처리데이터가, 제2 플립플롭(42)에는 F2-2의 반픽셀처리데이터가, 제3 플립플롭(43)에는 B2-1의 반픽셀처리데이터가, 제4 플립플롭(44)에는 B1-2의 반픽셀처리데이터가 저장된다. 이때, 제1 MUX(45) 및 제 2MUX(46)는 카운터(50)로부터 플립플롭선택신호를 인가받는다. 카운트값이 2이므로 제1 MUX(45)는 제1 플립플롭(41)의 하위 4바이트[0:3]를 인가받고, 제2 MUX(46)는 데이터버스에 실린 B2-1의 반픽셀처리데이터를 인가받는다. 그 이유는 카운트값이 2일 때, 제 3플립플롭(43)에는 B1-1의 반픽셀처리데이터가 저장되어 있기 때문이다(제4(f) 빗금친부분). 이렇게 카운터(50)로부터 인가되는 MUX선택신호에 따라 각각의 플립플롭들(41~44)에 저장된 해당 데이터가 선택되어 예측방향결합부(47)로 인가된다. 제1 MUX(45)는 카운터(50)로부터 인가되는 MUX선택신호에 따라 전방화상의 1라인(제2(a)도 참조)의 데이터들(F1-1, F1-2)이 저장된 제1 플립플롭(41) 및 제 2플립플롭(42)의 8bit×4데이터를 인가받아 출력한다. 제 2MUX(46)도 마찬가지로 후방화상의 1라인(제2(b)도 참조)의 데이터들(B1-1, B1-2)이 저장된 제 3플립플롭(43) 및 제 4플립플롭(44)의 8bit×4데이터를 인가받아 외부로부터 인가되는 MUX선택신호에 따라 해당 데이터를 선택하여 출력한다. 예측방향결합부(47)는 선택된 전방화상의 8bit×4데이터와 후방화상의 8bit×4데이터를 인가받아 두 데이터의 평균을 구하여 합산기(48)로 출력한다. 합산기(48)는 도면에 미도시된 IDCT블럭으로부터 IDCT데이터(9bit×4)를 인가받아 예측방향결합부(47)로부터의 데이터(8bit×4)를 합산하여 범위제한부(saturation)(49)로 출력한다. 범위제한부(49)는 동보상처리된 최종 8bit×4의 결과데이터를 출력하기 위한 데이터크기를 제한하는 곳으로써, 이를 거쳐 최종 결과데이터가 출력된다.
따라서, 본 발명은 전방화상과 후방화상의 양쪽에서 움직임보상을 하는 B픽춰에 대한 움직임보상을 효율적으로 하기 위한 움직임보상의 반픽셀처리장치에 관한 것으로써, 움직임보상시, 종래의 반픽셀처리회로에서 수직 방향으로 보간을 할 때, 이전 라인의 픽셀데이터로 따로 저장해야하는 메모리가 필요하고 데이터의 연속된 출력이 어려웠다. 그러므로, 본 발명은 반픽셀처리를 8비트씩 2번처리하여 처리속도를 빠르게 하고, 파이프라인을 이용하여 회로를 간략화할 수 있는 잇점을 제공한다.
Claims (8)
- 매크로블럭내에서 동벡터의 방향성분에 따라 반픽셀처리를 하기위해 선택된 바이트단위의 N개의 픽셀데이터를 소정 단위로 분할하여 반픽셀동보상을 하기 위한 데이터처리장치에 있어서, 외부로부터 인가되는 수평방향반픽셀처리신호에 따라 상기 바이트단위의 N개의 픽셀데이터중 M개의 픽셀데이터들과 한 픽셀 쉬프트된 인접픽셀 데이터들간의 평균을 구하기 위한 제1가산수단; 상기 제1가산수단으로부터 인가되는 데이터를 저장하는 다수개의 래치로 구성된 파이프라인수단; 외부로부터 인가되는 수직방향반픽셀처리신호에 따라 상기 파이프라인 수단에 저장된 이전 라인의 픽셀결과데이터와 상기 제1가산수단의 출력신호간의 평균을 구하기 위한 제2가산수단; 수평방향반픽셀처리신호와 수직방향반픽셀처리신호에 따라 상기 제2가산수단으로부터 인가되는 수평 또는 수직방향으로 반픽셀처리동작 수행시 생성된 캐리를 제거하여 M개의 반픽셀데이터를 출력하는 데이터처리부; 다수개의 플립플롭으로 구성되며, 상기 데이터처리부로부터의 M개의 반픽셀결과데이터를 디코더의 출력신호에 따라 인에이블되어 상기 데이터처리부로부터 인가되는 데이터를 M/2개의 픽셀데이터로 나누어 소정 기간동안 저장하는 플립플롭수단; 시스템클럭에 따라 소정 비트단위로 카운트하여 상기 플립플롭수단은 동작시키는 카운트수단; 상기 카운트수단으로부터 인가되는 MUX선택신호에 따라 상기 플립플롭수단으로부터 인가되는 M/2개의 반픽셀결과데이터를 선택하는 MUX수단; 상기 MUX수단으로부터 전방화상의 1바이트의 M/2개의 픽셀데이터와 후방화상의 M/2개의 픽셀데이터를 인가받아 합산하여 평균을 내는 예측방향결합부; 상기 예측방향결합부의 출력데이터와 IDCT데이터를 인가받아 반픽셀데이터의 동보상처리를 하는 합산수단을 포함하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 제1가산수단은 수평방향반픽셀처리신호가 인가되었는지를 결정하는 제1 논리곱게이트; 상기 제1 논리곱게이트로부터 수평방향반픽셀처리신호가 입력되었음을 알리는 신호를 인가받으면, 상기 바이트단위의 M개의 픽셀데이터들과 한바이트 쉬프트된 M개의 인접픽셀데이타를 각각 합산하여 평균을 구하기 위한 다수개의 가산기로 구성된 제1가산부를 포함하는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 제2가산수단은 수직방향반픽셀처리신호가 인가되었는지를 결정하는 제2 논리곱게이트; 상기 제2 논리곱게이트로부터 수직방향반픽셀처리신호가 입력되었음을 알리는 신호를 인가받으면, 상기 플립플롭수단에 저장된 이전라인의 반픽셀처리데이터와 상기 제1가산수단으로부터 인가되는 현재 라인의 반픽셀처리데이터를 인가받아 합산하여 평균을 구하기 위한 다수개의 가산기로 구성된 제2가산부를 포함하는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 데이터처리부는 상기 수평방향 또는 수직방향반픽셀처리신호의 입력여부에 따라 상기 제2가산부에서 발생한 소정 비트의 캐리를 제거하기 위해 MSB방향으로 상기 방향성분에 대해 기설정된 해당 비트수만큼 쉬프트하는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 플립플롭수단은 상기 디코더의 출력신호에 따라 인에이블되어 상기 데이터처리부로부터 인가되는 데이터를 M/2개의 픽셀데이터로 나누어 소정 기간동안 저장하는 제1 내지 제4 플립플롭으로 구성되는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제5항에 있어서, 상기 제3 플립플롭은 상기 반픽셀처리데이터의 입력타이밍에 따라 데이터버스를 통해 상기 데이터처리부로부터 인가되는 데이터의 소정 갯수의 픽셀을 직접 입력받는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 카운트수단은 입력되는 시스템클럭에 따라 4비트씩 카운트하여 출력하는 카운터; 상기 카운터로부터 입력되는 카운트신호를 인가받아 상기 플립플롭수단의 읽기/쓰기동작을 가능하게 하는 디코더를 포함하는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
- 제1항에 있어서, 상기 MUX수단은 상기 카운트수단으로부터 MUX선택신호를 인가받아 상기 플립플롭수단으로부터 인가되는 전방화상 반픽셀데이터중 해당 반픽셀데이타와 후방화상 반픽셀데이터중 해당 반픽셀데이터를 선택하는 것을 특징으로 하는 매크로블럭의 반픽셀처리장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950049398A KR0178746B1 (ko) | 1995-12-13 | 1995-12-13 | 매크로블럭의 반픽셀처리장치 |
US08/763,897 US6028638A (en) | 1995-12-13 | 1996-12-11 | Half-pixel processing apparatus of macroblock for motion compensation of moving images |
JP33243396A JP2918506B2 (ja) | 1995-12-13 | 1996-12-12 | 動画像の動き補償時マクロブロックの半画素処理装置 |
EP19960309065 EP0779743A3 (en) | 1995-12-13 | 1996-12-12 | Apparatus for half-pixel image motion compensation |
CN96121480A CN1104813C (zh) | 1995-12-13 | 1996-12-13 | 对动图像进行运动补偿时宏数据组的半象素处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950049398A KR0178746B1 (ko) | 1995-12-13 | 1995-12-13 | 매크로블럭의 반픽셀처리장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970057917A KR970057917A (ko) | 1997-07-31 |
KR0178746B1 true KR0178746B1 (ko) | 1999-05-01 |
Family
ID=19439726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950049398A KR0178746B1 (ko) | 1995-12-13 | 1995-12-13 | 매크로블럭의 반픽셀처리장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6028638A (ko) |
EP (1) | EP0779743A3 (ko) |
JP (1) | JP2918506B2 (ko) |
KR (1) | KR0178746B1 (ko) |
CN (1) | CN1104813C (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141382A (en) * | 1998-09-18 | 2000-10-31 | Sarnoff Corporation | Using estimated distortion values |
US8045203B2 (en) * | 2000-03-28 | 2011-10-25 | Mongonet | Methods and apparatus for secure facsimile transmissions to electronic storage destinations |
US7496736B2 (en) * | 2004-08-27 | 2009-02-24 | Siamack Haghighi | Method of efficient digital processing of multi-dimensional data |
US11379308B2 (en) * | 2018-12-10 | 2022-07-05 | Zoox, Inc. | Data processing pipeline failure recovery |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2649515B1 (fr) * | 1989-07-07 | 1991-09-20 | Thomson Csf | Dispositif de calcul d'une prediction pour un traitement d'images |
KR950014862B1 (ko) * | 1992-02-08 | 1995-12-16 | 삼성전자주식회사 | 움직임추정방법 및 그 장치 |
US5461423A (en) * | 1992-05-29 | 1995-10-24 | Sony Corporation | Apparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal |
KR0166724B1 (ko) * | 1993-05-08 | 1999-03-20 | 김광호 | 반화소정확도를 갖는 동벡터추정방법 및 그 장치 |
JP2636674B2 (ja) * | 1993-05-25 | 1997-07-30 | 日本電気株式会社 | 動画像の動きベクトル検出装置 |
KR960010198B1 (ko) * | 1993-07-21 | 1996-07-26 | 배순훈 | 동영상 부호화기의 움직임 추정방법 및 장치 |
CN1085466C (zh) * | 1993-09-14 | 2002-05-22 | 株式会社金星社 | 图象解码器中包括半象素单元运动补偿装置的b帧处理装置 |
KR970003102B1 (ko) * | 1993-09-17 | 1997-03-14 | 대우전자 주식회사 | 영상 복호기에서의 하프 픽셀 움직임 보상 회로 |
DE69535952D1 (de) * | 1994-03-30 | 2009-06-25 | Nxp Bv | Verfahren und Schaltung zur Bewegungsschätzung zwischen Bildern mit zwei Zeilensprunghalbbildern, und Vorrichtung zur digitalen Signalkodierung mit einer solchen Schaltung |
JPH07288819A (ja) * | 1994-04-19 | 1995-10-31 | Sony Corp | 動きベクトル検出装置 |
KR970010091B1 (en) * | 1994-06-13 | 1997-06-21 | Lg Electronics Inc | Address generating apparatus for image moving compensation |
US5638128A (en) * | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5650823A (en) * | 1995-03-27 | 1997-07-22 | International Business Machines Corporation | Half pel motion estimation method for B pictures |
US5623313A (en) * | 1995-09-22 | 1997-04-22 | Tektronix, Inc. | Fractional pixel motion estimation of video signals |
-
1995
- 1995-12-13 KR KR1019950049398A patent/KR0178746B1/ko not_active IP Right Cessation
-
1996
- 1996-12-11 US US08/763,897 patent/US6028638A/en not_active Expired - Fee Related
- 1996-12-12 JP JP33243396A patent/JP2918506B2/ja not_active Expired - Fee Related
- 1996-12-12 EP EP19960309065 patent/EP0779743A3/en not_active Ceased
- 1996-12-13 CN CN96121480A patent/CN1104813C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09214980A (ja) | 1997-08-15 |
JP2918506B2 (ja) | 1999-07-12 |
CN1159124A (zh) | 1997-09-10 |
EP0779743A2 (en) | 1997-06-18 |
US6028638A (en) | 2000-02-22 |
CN1104813C (zh) | 2003-04-02 |
KR970057917A (ko) | 1997-07-31 |
EP0779743A3 (en) | 1999-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100411525B1 (ko) | 화상 부호화 장치 및 화상 부호화 방법 | |
KR100399932B1 (ko) | 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템 | |
KR100287490B1 (ko) | 동화상신호를나타내는변환계수의.역변환시반올림에러를방지하기위한방법및장치 | |
US5126962A (en) | Discrete cosine transform processing system | |
US5576958A (en) | Function transform apparatus | |
KR0180169B1 (ko) | 가변길이 부호기 | |
CN1174478A (zh) | 用于去除运动画面解码器中成块效应的装置及方法 | |
US6223193B1 (en) | Macroblock variance estimator for MPEG-2 video encoder | |
KR20040095742A (ko) | 화상 복호 유닛과 그것을 이용한 화상 부호화 장치 및부호화 방법, 및 화상 복호 장치 및 복호 방법 | |
US6215823B1 (en) | Motion vector decoder | |
KR20010072420A (ko) | 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법 | |
KR0178746B1 (ko) | 매크로블럭의 반픽셀처리장치 | |
KR100197190B1 (ko) | 런렝스 부호의 복호회로 | |
US6014186A (en) | High-speed motion vector decoding circuit | |
JP2947389B2 (ja) | 画像処理用メモリ集積回路 | |
US20050131979A1 (en) | Apparatus for calculating absolute difference value, and motion estimation apparatus and motion picture encoding apparatus which use the apparatus for calculating the absolute difference value | |
KR100230251B1 (ko) | 동영상 부호화장치에 있어서 신호처리방법 및 회로 | |
JP2000165861A (ja) | 動画像復号装置 | |
US6668087B1 (en) | Filter arithmetic device | |
KR100345450B1 (ko) | 인트라 블록 예측 부호화 및 복호화 장치 및 그 방법 | |
JPH08307868A (ja) | 動画像復号装置 | |
US20060227874A1 (en) | System, method, and apparatus for DC coefficient transformation | |
KR960005686Y1 (ko) | Jpeg 디코더에서의 어드레스 발생회로 | |
KR0155815B1 (ko) | 화소 보간을 위한 반올림 연산장치 | |
KR970003103B1 (ko) | 영상 복호기에서의 하프 픽셀 움직임 보상 회로 |
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: 20061030 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |