KR20090032261A - 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 - Google Patents
움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 Download PDFInfo
- Publication number
- KR20090032261A KR20090032261A KR1020070097318A KR20070097318A KR20090032261A KR 20090032261 A KR20090032261 A KR 20090032261A KR 1020070097318 A KR1020070097318 A KR 1020070097318A KR 20070097318 A KR20070097318 A KR 20070097318A KR 20090032261 A KR20090032261 A KR 20090032261A
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- memory
- block
- image processing
- control signal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000015654 memory Effects 0.000 claims abstract description 113
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000003139 buffering effect Effects 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000003672 processing method Methods 0.000 claims description 15
- 239000000872 buffer Substances 0.000 claims description 13
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 101000854862 Homo sapiens Vacuolar protein sorting-associated protein 35 Proteins 0.000 description 5
- 102100020822 Vacuolar protein sorting-associated protein 35 Human genes 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- 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
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/04—Partial updating of the display screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
- G09G2320/106—Determination of movement vectors or equivalent parameters within the image
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
영상 처리 장치가 개시된다. 상기 영상 처리 장치는 연산부 및 컨트롤러를 포함한다. 상기 연산부는 매크로 블락의 제1영상 데이터와 탐색 영역 내의 다수의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터의 차에 기초하여 블락 정합 알고리즘을 수행한다. 상기 컨트롤러는 상기 블락 정합 결과에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터를 발생하고, 프레임 내에서의 상기 제2영상 데이터 스캔 방향을 1수평 주기마다 교대로 가변시킬 수 있다. 또한 상기 영상 처리 장치는 블락 정합 알고리즘 수행시 반복하여 사용되는 제2영상 데이터를 수평 방향으로 공유한다. 그러므로 상기 영상 처리 장치는 탐색 영역의 메모리 업데이트를 최소화하고, 블락 정합 알고리즘 수행과 메모리 업데이트를 동시에 수행함으로써 영상 처리 속도를 향상시킬 수 있다.
움직임 추정, 움직임 벡터, 움직임 보상, 탐색 영역, 매크로 블락
Description
본 발명은 영상 처리 장치 및 영상 처리 방법에 관한 것으로, 보다 상세하게는 움직임 추정에 사용되는 데이터를 공유함으로써 탐색 영역의 메모리 업데이트를 최소화하고, 탐색과 메모리 업데이트를 동시에 수행함으로써 영상 처리 속도를 증가시킬 수 있는 영상 처리 장치 및 영상 처리 방법에 관한 것이다.
프레임 사이의 변화를 계산하는 과정을 공간 예측(temporal prediction)이라 하고, 이는 움직임 보상(motion compensation)을 통하여 이루어진다. 움직임 보상은 프레임 사이의 서로 상관된 화소들을 찾는 움직임 추정(motion estimation) 과정을 거친 후 행해진다.
움직임 보상이란 이동하는 물체의 궤적을 추적하여 영상 프레임 사이의 차이를 줄이는 방법을 말한다. 한 프레임에 있는 화소가 연속하는 다음 프레임에서 어떤 위치로 이동했는지를 추적하는 것은 상당한 계산량을 요하며, 각 프레임에 존재하는 잡음의 특성 때문에 추적한 경로가 정확할 수 없다.
따라서, 움직임 추정 시에는 각각의 화소의 경로를 추적하는 것이 아니라 여러 개의 화소를 사각형 형태로 묶어서 하나의 매크로 블락(macro block)을 형성하고 이 매크로 블락의 경로를 추적하여 움직임 벡터(motion vector)를 생성한다.
이를 블락 정합 방식(block matching algorithm)이라 한다. 블락 정합 방식은 수행 과정은 간단하나 움직임 예측 효율 및 움직임 추정의 정확도가 높고, 하드웨어로 구현하는 것이 용이하기 때문에 움직임 보상 회로에 널리 이용되고 있다.
도 1은 현재 프레임의 매크로 블락에 대하여 이전 프레임의 탐색 영역에 대한 움직임 추정을 수행하는 것을 간략히 나타낸 것이다. 움직임 추정에는 이전 프레임뿐 아니라 다음 프레임이 이용될 수도 있다. 현재 프레임에서 움직임 추정의 대상이 되는 블락을 매크로 블락이라 하며, M×N(M과 N 각각은 2이상의 자연수) 개의 화소로 이루어진다.
이전 프레임에서 매크로 블락과 가장 유사한 블락을 찾기 위한 범위를 탐색 영역(search range)이라 한다. 현재 프레임의 매크로 블락과 가장 유사한 이전 프레임의 블락(최적 매칭 블락)의 위치 값의 차를 움직임 벡터(Motion Vector, 이하 MV라 함)라 한다.
매크로 블락과 가장 유사한 블락을 탐색 영역에서 추정하기 위해서는 수학식 1 내지 수학식 3과 같이 MSE(Mean Square Error), MAE(Mean Absolute Error) 또는 MAD(Mean Absolute Difference), SAD(Sum Absolute Difference) 등의 매칭 기법들이 이용될 수 있다.
상기 수식들에서 N은 매크로 블락의 크기를(N×N 개의 화소들이 매크로 블락을 이룸), m과 n은 현재 프레임의 화소의 x,y 좌표를, k와 k-1은 각각 현재 프레임과 이전 프레임을, dx와 dy는 현재 프레임의 매크로 블락과 이전 프레임의 최적의 매칭 블락 사이의 위치의 차이를 나타낸다(N, m, n, 및 k는 각각 2 이상의 자연수).
이하에서는 연산량이 적고 하드웨어 구현이 용이한 SAD 규약을 기초로 하여 움직임 추정을 수행하는 영상 처리 장치 및 영상 처리 방법을 중점적으로 설명한다. 다만, 본 발명의 실시예에 따른 영상 처리 장치 및 영상 처리 방법은 이에 한정되지 않으며 MSE, MAD 등을 이용하여 움직임 추정을 수행할 수도 있다.
도 2는 움직임 추정에 사용되는 매크로 블락과 탐색 영역을 나타낸다. 도 2를 참조하면 (n-1)번째 매크로 블락에 대한 (n-1)번째 탐색 영역과 n번째 매크로 블락에 대한 n번째 탐색 영역이 서로 중첩되는 것을 알 수 있다.
움직임 추정은 영상 처리에 있어서 가장 많은 연산량을 필요로 하는 과정이다. 움직임 추정에 사용되는 데이터는 인접한 매크로 블락 사이에는 많은 부분이 중복되어 사용되며, 탐색 영역에 따라 SAD 연산기가 고정되므로 확장성이 제한된다.
따라서 영상 처리 시간을 감소시키기 위하여 중복되어 사용되는 데이터를 공유하는 기술과 탐색 영역에 따라서 확장 가능한 SAD 연산기가 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 데이터를 공유를 통하여 영상 처리 속도를 증가시키고, 탐색 영역 메모리 업데이트를 최소화하고 SAD 연산과 동시에 메모리를 업데이트할 수 있으며, 수평 및 수직 방향으로 확장 가능한 파이프 라인 구조의 연산기를 구비하는 영상 처리 장치 및 상기 영상 처리 장치를 이용한 영상 처리 방법을 제공하는 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 영상 처리 장치는 연산부 및 컨트롤러를 포함한다. 상기 연산부는 매크로 블락의 제1영상 데이터와 탐색 영역 내의 다수의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터의 차에 기 초하여 블락 정합 알고리즘을 수행한다.
상기 컨트롤러는 상기 블락 정합 결과에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터를 발생하고, 프레임 내에서의 상기 제2영상 데이터 스캔 방향을 1수평 주기마다 교대로 가변시킨다.
상기 영상 처리 장치는 메모리 제어부, 제1메모리, 및 제2메모리를 더 구비한다. 상기 메모리 제어부는 상기 컨트롤러로부터 수신되는 움직임 추정 인에이블 신호에 응답하여 제1제어 신호와 제2제어 신호를 발생한다. 상기 제1메모리는 상기 제1제어 신호에 응답하여 비디오 메모리로부터 수신되는 상기 제1영상 데이터를 버퍼링한다. 상기 제2메모리는 상기 제2제어 신호에 응답하여 상기 비디오 메모리로부터 수신되는 상기 제2영상 데이터를 버퍼링한다.
상기 컨트롤러는 상기 제2메모리를 일정한 크기를 갖는 다수의 하위 메모리들로 나누고, 상기 다수의 하위 메모리들에 대해 상기 제2영상 데이터를 순차적으로 업데이트시킬 수 있다. 상기 컨트롤러는 상기 탐색 영역을 일정한 크기를 갖는 다수의 하위 그룹들로 나누고, 상기 하위 그룹들 각각에서의 상기 제2데이터의 스캔 방향은 프레임 내에서의 상기 제2데이터의 스캔 방향과 직각을 이루도록 상기 제2영상 데이터를 스캔시킬 수 있다.
상기 컨트롤러는 상기 다수의 하위 그룹들 중에서 상기 제2영상 데이터 스캔이 완료된 하위 그룹에 대응하는 제2메모리를 구성하는 적어도 하나의 하위 메모리를 업데이트시킴과 동시에, 다음 하위 그룹에 대하여 블락 정합 알고리즘을 수행할 수 있다.
상기 기술적 과제를 해결하기 위한 영상 처리 방법은 매크로 블락의 제1영상 데이터와 탐색 영역 내의 다수의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터의 차에 기초하여 블락 정합 알고리즘을 수행하는 단계 및 상기 블락 정합 결과에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터를 발생하고, 프레임 내에서의 상기 제2영상 데이터 스캔 방향을 1수평 주기마다 교대로 가변시키는 단계를 포함한다.
상기 영상 처리 방법은 움직임 추정 인에이블 신호에 응답하여 제1제어 신호와 제2제어 신호를 발생하는 단계, 상기 제1제어 신호에 응답하여 비디오 메모리로부터 수신되는 상기 제1영상 데이터를 버퍼링하는 단계, 및 상기 제2제어 신호에 응답하여 상기 비디오 메모리로부터 수신되는 상기 제2영상 데이터를 버퍼링하는 단계를 더 포함한다.
상기 제2영상 데이터를 버퍼링하는 단계는 상기 제2영상 데이터를 버퍼링하는 제2메모리를 일정한 크기를 갖는 다수의 하위 메모리들로 나누고, 상기 다수의 하위 메모리들에 대해 상기 제2영상 데이터를 순차적으로 업데이트시키는 단계를 포함할 수 있다.
상기 제2영상 데이터를 버퍼링하는 단계는 상기 탐색 영역을 일정한 크기를 갖는 다수의 하위 그룹들로 나누고, 상기 하위 그룹들 각각에서의 상기 제2데이터의 스캔 방향은 프레임 내에서의 상기 제2데이터의 스캔 방향과 직각을 이루는 단계를 포함할 수 있다.
상기 영상 처리 방법에 따르면 상기 다수의 하위 그룹들 중에서 제2영상 데 이터 스캔이 완료된 하위 그룹에 대응하는 제2메모리를 구성하는 적어도 하나의 하위 메모리를 업데이트시킴과 동시에, 다음 하위 그룹에 대하여 블락 정합 알고리즘을 수행할 수 있다.
본 발명에 따른 영상 처리 장치 및 영상 처리 방법은 움직임 추정에 사용되는 데이터를 공유하여 효율적인 메모리 관리를 할 수 있도록 하며, 데이터 스캔 시에 메모리 업데이트를 최소화시키며, 블락 정합 알고리즘 수행 중에 메모리를 업데이트함으로써 영상 처리 속도를 증가시킨다. 또한 본 발명에 따른 영상 처리 장치 및 영상 처리 방법은 탐색 영역의 증가에 따라 수직, 수평 방향으로 연산 범위를 확장할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시 예에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 실시 예를 예시하는 첨부도면 및 첨부도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 실시예에 따른 영상 처리 장치(100)를 나타낸다. 도 3을 참조하면, 상기 영상 처리 장치(100)는 연산부(110) 및 컨트롤러(120)를 포함한다. 상기 연산부(110)는 매크로 블락의 제1영상 데이터(DATA1)와 탐색 영역 내의 다수 의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터(DATA2)에 대하여 블락 정합 알고리즘을 수행한다.
상기 컨트롤러(120)는 상기 블락 정합 결과(SAD_min)에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터(MV)를 발생하고, 프레임 내에서의 상기 제2영상 데이터(DATA2) 스캔 방향을 1수평 주기마다 교대로 가변시킨다.
상기 영상 처리 장치(100)는 메모리 제어부(130), 제1메모리(140), 및 제2메모리(150)를 더 포함한다. 상기 메모리 제어부(130)는 상기 컨트롤러(120)로부터 수신되는 움직임 추정 인에이블 신호(EN_ME)에 응답하여 제1제어 신호(CS1)와 제2제어 신호(CS2)를 발생한다.
상기 제1메모리(140)는 제1제어 신호(CS1)에 응답하여 비디오 메모리(미도시)로부터 수신되는 제1영상 데이터(DATA1)를 버퍼링한다. 상기 제2메모리(150)는 제2제어 신호(CS2)에 응답하여 상기 비디오 메모리로부터 수신되는 상기 제2영상 데이터(DATA2)를 버퍼링한다.
도 4는 수평 방향으로 제2영상 데이터(DATA2)를 공유하기 위한 제2메모리(150)의 구조를 나타낸다. 도 4를 참조하면, 상기 제2메모리(150)는 탐색 영역이 64×40 픽셀인 경우인 경우 각각이 가로 16 픽셀, 세로 40 픽셀의 제2영상 데이터(DATA2)를 버퍼링할 수 있는 다수의 하위 메모리들(MEM1, MEM2, MEM3, 및 MEM4)로 구성될 수 있다.
도 5는 프레임 내에서 제2영상 데이터(DATA2)의 스캔 방향을 나타낸다. 도 5를 참조하면, 종래의 영상 처리 장치에서 제2영상 데이터(DATA2)의 스캔 방향은 일 정하게 좌측에서 우측 방향(즉, 지그재그 방향)이다. 그러나 본 발명의 실시예에 따른 영상 처리 장치(100)에서 제2영상 데이터(DATA2)의 스캔 방향은 1수평 주기마다 가변됨을 알 수 있다.
그 과정은 다음과 같다. 상기 컨트롤러(120)는 움직임 추정 인에이블 신호(EN_ME)를 출력한다. 상기 메모리 제어부(130)는 상기 움직임 추정 인에이블 신호(EN_ME)에 응답하여 제2제어 신호(CS2)를 발생한다. 상기 제2메모리(150)는 상기 제2제어 신호(CS2)에 응답하여 상기 제2영상 데이터(DATA2)의 수평 방향의 스캔 방향이 1수평 주기마다 가변되도록 상기 제2영상 데이터(DATA2)를 버퍼링한다. 결과적으로, 상기 컨트롤러(120)가 움직임 추정 인에이블 신호(EN_ME)를 통하여 프래임 내에서의 상기 제2영상 데이터(DATA2)의 수평 방향의 스캔 방향을 1수평 주기마다 가변시키는 것이다.
도 6a는 제2영상 데이터(DATA2)가 좌측에서 우측으로(1방향) 스캔될 때의 제2메모리(150)의 업데이트의 실시예를 나타낸다. 도 6b는 제2영상 데이터(DATA2)가 상측에서 하측으로(2방향) 스캔될 때의 제2메모리(150)의 업데이트의 실시예를 나타낸다. 도 6c는 제2영상 데이터(DATA2)가 우측에서 좌측으로(3방향) 스캔될 때의 제2메모리(150)의 업데이트의 실시예를 나타낸다.
도 6a 내지 도 6c에서 빗금친 부분은 업데이트될 수 있는 메모리 부분을 나타낸다. 종래의 영상 처리 장치에서는 수평 방향의 마지막 블락에서 다음 줄의 첫 번째 블락 업데이트 시에 전체 탐색 영역에 대한 업데이트가 필요하다. 그러나 본 발명에 따른 영상 처리 장치(100)에서는 제2영상 데이터(DATA2)의 스캔 방향에 따 라서 제2메모리(150)의 1/4(비빗금친 부분)이 항상 업데이트될 수 있다.
이는 블락 정합 연산 수행 시에 제2메모리(150)를 다수의 하위 메모리들(MEM1, MEM2, MEM3, 및 MEM4)로 나누어 블락 정합 알고리즘을 수행함으로써 전체 탐색 영역에 대한 메모리를 업데이트하지 않고 항상 제2메모리의 일정 부분에 대한 업데이트가 가능함을 의미한다. 그러므로 본 발명의 실시예에 따른 영상 처리 장치(140)는 종래의 영상 처리 장치보다 메모리의 효율성이 높다.
도 7a는 종래의 영상 처리 장치와 본 발명에 따른 영상 처리 장치(100) 각각의 탐색 영역 내에서의 제2영상 데이터(DATA2)의 스캔 방향을 나타낸다. 도 7b는 본 발명에 따른 영상 처리 장치(100)의 탐색 영역을 다수의 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3)로 나눈 경우의 제2데이터(DATA2)의 스캔 방향을 나타낸다.
도 7a와 도 7b를 참조하면, 상기 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 각각에서의 제2영상 데이터(DATA2)의 스캔 방향은 상측에서 하측으로 일정하다. 즉, 탐색 영역의 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 각각에서의 제2데이터(DATA2)의 스캔 방향(상측에서 하측 방향)은 프레임 내에서의 제2데이터(DATA2) 스캔 방향(좌측에서 우측 또는 좌측에서 우측 방향)과 직각을 이룬다. 또한, 상기 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 사이에서 제2영상 데이터(DATA2)의 스캔 방향은 지그재그 방향이 된다.
상기 컨트롤러(120)는 상기 제2메모리(150)가 상기 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 각각에 대응하는 제2데이터(DATA2)를 순차적으로 버퍼링하도록 상기 메모리 제어부(130)를 제어할 수 있다. 그러면, 탐색 영역 내에서의 블락 정합 알고리즘은 상기 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 각각에 대하여 순차적으로 수행된다.
상기 컨트롤러(120)는 상기 메모리 제어부(130)를 제어하여 상기 다수의 하위 그룹들(SUB_SR1, SUB_SR2, 및 SUB_SR3) 중에서 블락 정합 알고리즘이 수행된 하위 그룹에 대하여 순차적으로 제2영상 데이터(DATA2)를 업데이트시킬 수 있다.
또한, 상기 컨트롤러(120)는 블락 정합 알고리즘이 수행된 하위 그룹에 대한 제2영상 데이터(DATA2) 업데이트와 동시에, 다음 하위 그룹에 대한 블락 정합 알고리즘을 수행하도록 상기 메모리 제어부(130)를 제어할 수 있다.
표 1은 HD(High Definition)급 또는 full HD급의 영상에 대한 SAD 연산 수행시에 사용되는 제2메모리(150)의 하위 메모리와 업데이트되는 하위 메모리의 일예를 나타낸다.
표 1을 참조하면, 영상 처리 장치(100)는 한 프레임을 4개의 매크로 블락(제1매크로 불록 내지 제4매크로 블락)으로 구성된 다수의 패턴들로 나누어 SAD 연산을 수행한다. 하나의 패턴에 대한 SAD 연산이 수행되기 위해서 메모리 카운트는 0에서 11까지를 반복하여 카운트한다.
SAD 연산은 매크로 블락들 각각에 대해서 3 부분으로 나뉘어져 수행되며, 각 부분에 대한 SAD 연산 수행시 4개의 하위 메모리들(MEM1, MEM2, MEM3, 및 MEM4)로 구성된 제2메모리(150) 중에서 대응하는 2개의 하위 메모리들이 사용된다. 표 1에서 하위 메모리를 나타내는 1 내지 4는 각각 MEM1, MEM2, MEM3, 및 MEM4를 나타낸다.
이때, 각 부분에 대한 SAD 연산 수행시에는 그 전 SAD 연산에서 사용된 제2메모리(150)의 하위 그룹이 중복적으로 사용된다. 이는 제2영상 데이터가 수평 방향으로 공유되어 사용됨을 의미한다.
각 매크로 블락의 SAD 연산에 사용되는 첫 번째 하위 메모리의 번호는 순차적으로 증가한다. 각 매크로 블락의 첫 번째 부분에 대한 SAD 연산이 수행됨과 동시에 그 매크로 블락의 마지막 부분의 SAD 연산에 사용되는 제2메모리(150)의 하위 메모리 중에 해당하는 하위 메모리에 대한 업데이트가 진행된다. 이로 인하여 SAD 연산에 사용되는 시간이 감소될 수 있다.
구체적으로 제1패턴의 제2매크로 블락에 대한 SAD 연산이 수행되는 경우를 살펴본다. 메모리 카운트는 3에서 5까지 카운트된다. 메모리 카운트가 3인 경우에는 1,2 하위 메모리(MEM1, MEM2)가 사용되며, 메모리 카운트가 4인 경우에는 3,4 하위 메모리(MEM3, MEM4)가 사용되며, 메모리 카운트가 5인 경우에는 4,1 하위 메모리(MEM4, MEM1)가 사용된다.
메모리 카운트가 3인 경우에는 메모리 카운트가 5일 경우에 사용될 하위 메모리 1에 대한 업데이트가 수행된다. 이는 각 매크로 블락의 일부분에 대해서 SAD 연산이 수행됨과 동시에 다른 일부분에 대응하는 메모리 업데이트가 수행될 수 있음을 의미한다. 그러나 메모리 카운트가 4, 5인 경우에는 하위 메모리에 대한 업데이트가 수행되지 않는다.
상기 연산부(110)는 연산 유닛 블락(111) 및 비교부(116)를 포함한다. 상기 연산 유닛 블락(111)은 각각이 제1영상 데이터(DATA1)와 탐색 영역의 블락들 중에서 대응하는 블락의 제2영상 데이터(DATA2)에 대한 블락 정합 알고리즘을 수행하기 위한 다수의 연산 유닛들을 포함한다.
상기 비교부(116)는 상기 연산 유닛 블락(111)으로부터 출력되는 블락 정합 결과들을 비교하여 최적 매칭 블락을 결정한다. 상기 블락 정합 알고리즘은 SAD(Sum Absolute Difference), 즉, 차의 절대값의 합 연산을 수행하는 알고리즘일 수 있다.
도 8은 16×8 크기의 매크로 블락에 대해 SAD 연산을 수행하는 연산 유닛 블락(111)을 구성하는 연산 유닛의 파이프 라인 구조를 나타낸다. 도 8을 참조하면, 상기 연산 유닛들 각각은 다수의 SAD 연산기들(ADx, x=0,1,2,..,15, 112), 다수의 가산기들(113), 및 누적기(114)를 포함한다.
상기 SAD 연산기들(112) 각각은 상기 제1영상 데이터(DATA1)와 대응하는 상기 제2영상 데이터(DATA2)에 대한 SAD 연산을 수행한다. 도 8에서 Cx(x=0,1,2,...,15)는 매크로 블락에서 비교 대상이 되는 픽셀의 제1영상 데이터(DATA1)를 의미하며, Rx(x=0,1,2,...,15)는 탐색 영역의 픽셀의 제2영상 데이터(DATA2)를 의미한다.
상기 SAD 연산기(112)들은 16개의 픽셀들(x=0,1,2,..,15)에 대한 SAD 연산을 동시에 수행할 수 있다. 상기 SAD 연산기(112)들은 16개 픽셀들에 대한 SAD 연산을 8회 반복함으로써 16×8 크기의 매크로 블락에 대한 SAD 연산을 수행한다(수직 방향의 확장).
상기 다수의 가산기들(113) 각각은 상기 다수의 SAD 값들의 합산한다. 상기 누적기(114)는 반복되는 SAD 연산 결과를 누적하여 출력한다. 예를 들면, 16×8 크기의 매크로 블락에 대해서는 8번의 SAD 연산 결과를 누적하여 출력할 수 있다.
상기 연산 유닛들 각각은 상기 가산기들(113) 중에서 대응하는 가산기 또는 상기 누적기(114)의 동작 마진을 확보하기 위한 다수의 시간 지연 소자(115)들을 더 포함할 수 있다. 상기 시간 지연 소자(115)는 플립 플롭일 수 있다.
도 8에 도시된 SAD 연산기(112)가 하나의 픽셀에 대한 SAD 연산 수행하는데 1 클락이 소요되고, 플립 플랍(115)의 지연 시간이 1 클락이라 가정한다. 그러면 16×8 크기의 매크로 블락에 대한 SAD 연산이 수행되는 데에는 13 클락이 소요된다.
구체적으로 설명하면 아래와 같다. 가로 방향으로는 1 클락에 16개의 픽셀들에 대한 SAD 연산이 동시에 수행된다. 세로 방향에 대해서는 8회 SAD 연산이 반복되어야 하므로 SAD 연산에는 8 클락이 소요된다. 플롭 플롭(115)이 5 단계에 걸쳐 시간을 지연시키고, 플립 플롭(115)들 각각이 지연시키는 시간을 1 클락이라 한다. 그러면 플립 플롭(115)들에 의하여 5 클락이 지연되므로 총 클락수는 8 클락에서 5 클락을 더하여 13 클락이 된다.
영상 처리 장치(100)는 연산 유닛 블락(111)에 다수의 연산 유닛들을 수평 방향으로 배열함으로써 SAD 연산이 수행되는 범위를 수평 방향으로의 확장할 수 있다.
도 9는 도 3에 도시된 영상 처리 장치(100)의 비교부(116)를 나타낸다. 상기 비교부(116)는 다수의 비교기들(117) 및 버퍼(118)를 포함한다. 상기 다수의 비교기들(117)은 다수의 연산 유닛들로부터 출력되는 SAD 연산 값들(SAD0~SAD15)을 서로 비교하여 최소의 SAD 연산 값(SAD_min)과 최적 매칭 블락의 위치(SAD_min_position)를 출력한다.
상기 버퍼(118)는 상기 최소의 SAD 값을 버퍼링한다. 상기 비교부(116)는 각각이 상기 다수의 비교기들(117) 중에서 대응하는 비교기의 동작 마진을 확보하기 위한 다수의 시간 지연 소자들(119)을 더 포함할 수 있다. 상기 시간 지연 소자(119)는 플립 플롭일 수 있다.
도 10은 16개의 연산 유닛들을 포함하는 연산 유닛 블락에 의하여 수평 방향의 데이터 공유 방법을 구현한 개념도이다. 가장 윗 부분의 숫자(0,4,...,60)는 탐색 영역의 가로 방향의 픽셀을 나타내며, 다음 줄의 숫자(0,4,...,28)는 매크로 블락의 픽셀을 나타낸다. 도 10에서 각 픽셀에 대한 영상 데이터는 8 비트이며, 16 개의 픽셀에 대한 데이터는 128 비트가 된다.
도 10을 참조하면, 1 클락에 32개의 픽셀들에 대한 SAD 연산을 수행하기 위하여 16개의 연산 유닛을 이용된다. 16×8 크기의 매크로 블락에 대한 SAD 연산을 수행하기 위해서 8 클락이 필요하다(도 6에 도시된 플립 플롭들의 시간 지연은 제외된 경우임). 그러나 16개의 연산 유닛들에 의하여 16개의 매크로 블락에 대한 SAD 연산이 동시에 수행되므로 8 클락에 16 개의 매크로 블락에 대한 SAD 연산이 완료된다.
본 발명에 따른 영상 처리 장치(100)는 탐색 영역 내의 특정 위치에서 SAD 연산을 수행함으로써, 다양한 탐색 알고리즘을 수행할 수 있다. 예를 들면, 도 10에 도시된 바와 같이, 상기 영상 처리 장치(100)는 정밀 탐색(Refinement Search, RS), 제로 탐색(Zero Search, ZS) 등을 수행할 수 있다.
정밀 탐색이란 이전 움직임 벡터의 위치를 중심으로 한 소정의 범위의 탐색 영역으로 범위를 좁혀서 블락 정합 알고리즘을 수행하는 것을 말하며, 제로 탐색이란 매크로 블락의 위치에 해당하는 이전 프레임의 블락에 대해서 블락 정합 알고리즘을 수행하는 것을 말한다.
본 발명에 따른 영상 처리 장치는 카메라, 스캐너, 캠코더 등과 같이 영상을 획득하고 처리하는 전자 장치, 컴퓨터와 같이 영상을 저장하고 처리하는 전자 장치, 및 모니터, 프린터 등과 같이 영상을 출력하는 전자 장치에도 이용될 수 있다.
도 11a와 도 11b는 본 발명의 실시예에 따른 영상 처리 장치(100)를 이용한 디스플레이 장치(200)의 블락도이다. 도 11a와 도 11b를 참조하면, 상기 디스플레이 장치(200)는 영상 처리 장치(100), 타이밍 컨트롤러(210), 및 LCD 모듈(220)을 구비한다. 도 11b에 도시된 바와 같이, 상기 영상 처리 장치(100)와 상기 타이밍 컨트롤러(210)는 하나의 칩으로 구현될 수도 있다.
영상 처리 장치(100)는 60 Hz의 주파수를 갖는 영상 데이터를 수신하며, 영상 데이터에 대한 움직임 추정(ME)과 움직임 보정 보간(Motion Copensated Inerpolation, MCI)을 통하여 영상 데이터의 주파수를 120 Hz로 변환하여 출력한다.
타이밍 컨트롤러(210)는 120 Hz의 영상 데이터에 기초하여 LCD 모듈(220)을 구동하기 위한 제어 신호를 발생하고, 120 Hz의 영상 데이터를 LCD 모듈(220)로 출력한다. LCD 모듈(220)은 제어 신호에 응답하여 영상을 120 Hz의 주파수로 디스플레이한다. 본 실시예에서 영상 처리 장치(100)는 영상이 디스플레이되는 프래임 래이트(frame rate)를 증가시키는데 사용되었다.
우리나라나 미국이 채택하고 있는 북미식 디지털방송은 60㎐로 화면을 전송한다. 즉 1초에 60장의 영상을 방송하는 것이다. 그러나 본 발명의 실시예에 따른 디스플레이 장치(200)에서는 1초에 60장씩 전송되던 영상과 영상 사이에 새로운 영상을 삽입, 1초에 120장의 영상을 전송한다. 덕분에 그동안 LCD를 이용한 디스플레이 장치의 단점으로 지적되던 잔상(motion blur)과 이상진동(judder) 현상이 획기적으로 개선될 수 있다.
도 12는 본 발명의 실시예에 따른 영상 처리 장치(100)가 소정의 탐색 영역 전체에 대한 블락 정합 알고리즘을 수행하는 과정을 나타내는 순서도이다. 도 12에서는 블락 정합 알고리즘으로 SAD 연산을 예로 들어 설명하나, 이에 한정되는 것은 아니다. 이하에서는 도 3, 도 10, 및 도 12를 참조하여 영상 처리 방법을 구체적으로 설명한다.
연산 유닛 블락(111)은 16 개의 연산 유닛들을 이용하여 매크로 블락의 제1영상 데이터(DATA1)와 탐색 영역 내의 16개의 블락들의 제2영상 데이터(DATA2)에 대한 SAD 연산을 병렬적으로 수행한다(S100). 비교부(116)는 현재까지 수행된 SAD 연산 값 중에서 최소 값을 가지는 블락을 결정한다(S200).
컨트롤러(120)는 SAD 연산이 수행된 블락 수를 가산한다(S300). 컨트롤러(120)는 프래임 내의 모든 블락에 대한 SAD 연산이 수행되었는지를 체크한다(S400). 탐색 영역 내의 모든 블락에 대한 SAD 연산이 수행된 경우, 비교부(116)는 최소 SAD 값(SAD_min)을 출력하고, 컨트롤러(120)는 최소 SAD 값(SAD_min)에 기초하여 움직임 벡터(MV)를 출력한다(S800).
탐색 영역 내의 모든 블락에 대한 SAD 연산이 수행되지 않은 경우, 컨트롤러(120)는 수평 라인의 마지막 블락에 대한 SAD 연산이 수행되었는지를 체크한다(S500). 수평 라인의 마지막 블락에 대한 SAD 연산이 수행되었으면, 컨트롤러(120)는 제2영상 데이터(DATA2)의 스캔 방향을 이전의 스캔 방향과 반대 방향으로 가변시킨다(S600). 수평 라인의 마지막 블락에 대한 SAD 연산의 수행되지 않은 경우, 컨트롤러(120)는 제2영상 데이터(DATA2)의 스캔 방향을 가변시키지 않는다.
도 13은 본 발명의 실시예에 따른 영상 처리 장치(100)가 탐색 영역 내의 다수의 블락들에 대한 SAD 연산을 수행하는 과정을 나타내는 순서도이다. 이하에서는, 도 3, 도 10, 및 도 13을 참조하여 그 과정을 상세히 설명한다.
메모리 제어부(130)는 컨트롤러(120)로부터 수신되는 움직임 추정 인에이블 신호(EN_ME)에 응답하여 제1제어 신호(CS1)와 제2제어 신호(CS2)를 발생한다. 제1메모리(140)는 제1제어 신호(CS1)에 응답하여 제1영상 데이터(DATA1)를 버퍼링하며, 제2메모리(150)는 제2제어 신호(CS2)에 응답하여 제2영상 데이터(DATA2)를 버퍼링한다(S110).
연산 유닛 블락(111)은 제1영상 데이터(DATA1)와 제2영상 데이터(DATA2)에 대한 SAD 연산을 수행한다(S120). 연산 유닛 블락(111)은 다수의 연산 유닛들을 구비하며, 다수의 연산 유닛들 각각은 매크로 블락의 다수의 라인들 중에서 대응하는 라인에 대한 SAD 연산을 수행한다.
16×8 크기의 매크로 블락의 경우, 연산 유닛 블락(111)은 16개의 연산 유닛들을 포함할 수 있으며, 16 개의 연산 유닛들 각각은 16 개의 블락들 중에서 대응하는 블락에 대한 SAD 연산을 동시에 수행할 수 있다. 비교부(116)는 각 연산 유닛들의 SAD 연산 결과를 비교하여 최소 SAD 값을 선택한다(S130).
컨트롤러(120)는 매크로 블락의 다음 라인에 대응하는 탐색 영역의 블락의 라인의 제2영상 데이터(DATA2)가 버퍼링되도록 한다(S140). 컨트롤러(120)는 매크로 블락의 모든 라인에 대한 SAD 연산이 수행되었는지를 판단한다(S150). 16×8 크기의 매크로 블락의 경우, 컨트롤러(120)는 매크로 블락의 수직 방향의 화소 수인 8 라인에 대한 연산이 수행되었는지를 판단한다.
매크로 블락의 모든 라인에 대한 SAD 연산이 수행되었으면, 비교부(116)는 최소 SAD 연산 값을 출력한다(S160). 그렇지 않으면, 매크로 블락의 다음 라인에 대한 SAD 연산이 진행된다(S110).
본 발명의 실시예에 따른 영상 처리 방법은 하드웨어, 소프트웨어, 펌웨어, 또는 이들 상호간의 조합에 의하여 구현될 수 있다. 본 발명이 소프트웨어로 구현될 경우, 본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드, 프로그램 등으로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체에는 RAM, ROM, EEPROM, 플래쉬 메모리 등 컴퓨터 시스템에 의하여 인식될 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 현재 프레임의 매크로 블락에 대하여 이전 프레임의 탐색 영역에서 기초로 움직임 추정을 수행하는 것을 나타낸다.
도 2는 움직임 추정에 사용되는 매크로 블락과 탐색 영역을 나타낸다.
도 3은 본 발명의 실시예에 따른 영상 처리 장치를 나타낸다.
도 4는 수평 방향으로 제2영상 데이터를 공유하기 위한 제2메모리의 구조를 나타낸다.
도 5는 프레임 내에서 제2영상 데이터의 스캔 방향을 나타낸다.
도 6a는 제2데이터가 좌측에서 우측으로(1방향) 스캔될 때의 제2메모리의 업데이트의 실시예를 나타낸다.
도 6b는 제2데이터가 상측에서 하측으로(2방향) 스캔될 때의 제2메모리의 업데이트의 실시예를 나타낸다.
도 6c는 제2데이터가 우측에서 좌측으로(3방향) 스캔될 때의 제2메모리의 업데이트의 실시예를 나타낸다.
도 7a는 종래의 영상 처리 장치와 본 발명에 따른 영상 처리 장치 각각의 탐색 영역 내에서의 제2데이터의 스캔 방향을 나타낸다.
도 7b는 본 발명에 따른 영상 처리 장치의 탐색 영역을 3개의 하위 그룹들로 나눈 경우의 제2데이터의 스캔 방향을 나타낸다.
도 8은 16×8 크기의 매크로 블락에 대해 SAD 연산을 수행하는 연산 유닛 블락을 구성하는 연산 유닛의 파이프 라인 구조를 나타낸다.
도 9는 도 3에 도시된 영상 처리 장치의 비교부를 나타낸다
도 10은 16개의 연산 유닛들을 포함하는 연산 유닛 블락에 의하여 수평 방향의 데이터 공유 방법을 구현한 개념도이다.
도 11a와 도 11b는 본 발명의 실시예에 따른 영상 처리 장치를 이용한 디스플레이 장치의 블락도이다.
도 12는 본 발명의 실시예에 따른 영상 처리 장치가 소정의 탐색 영역 전체에 대한 블락 정합 알고리즘을 수행하는 방법을 나타내는 순서도이다.
도 13은 본 발명의 실시예에 따른 영상 처리 장치가 탐색 영역 내의 다수의 블락들에 대한 SAD 연산을 수행하는 과정을 나타내는 순서도이다.
Claims (22)
- 매크로 블락의 제1영상 데이터와 탐색 영역 내의 다수의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터의 차에 기초하여 블락 정합 알고리즘을 수행하는 연산부; 및상기 블락 정합 결과에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터를 발생하고, 프레임 내에서의 상기 제2영상 데이터 스캔 방향을 1수평 주기마다 교대로 가변시키는 컨트롤러를 포함하는 영상 처리 장치.
- 제1항에 있어서, 상기 영상 처리 장치는,상기 컨트롤러로부터 수신되는 움직임 추정 인에이블 신호에 응답하여 제1제어 신호와 제2제어 신호를 발생하는 메모리 제어부;상기 제1제어 신호에 응답하여 비디오 메모리로부터 수신되는 상기 제1영상 데이터를 버퍼링하는 제1메모리; 및상기 제2제어 신호에 응답하여 상기 비디오 메모리로부터 수신되는 상기 제2영상 데이터를 버퍼링하는 제2메모리를 더 포함하는 영상 처리 장치.
- 제2항에 있어서, 상기 컨트롤러는,상기 제2메모리를 일정한 크기를 갖는 다수의 하위 메모리들로 나누고, 상기 다수의 하위 메모리들에 대해 상기 제2영상 데이터를 순차적으로 업데이트시킬 수 있는 영상 처리 장치.
- 제3항에 있어서, 상기 컨트롤러는,상기 탐색 영역을 일정한 크기를 갖는 다수의 하위 그룹들로 나누고, 상기 하위 그룹들 각각에서의 상기 제2데이터의 스캔 방향은 프레임 내에서의 상기 제2데이터의 스캔 방향과 직각을 이루도록 상기 제2영상 데이터를 스캔시키는 영상 처리 장치.
- 제4항에 있어서, 상기 컨트롤러는,상기 다수의 하위 그룹들 중에서 상기 제2영상 데이터 스캔이 완료된 하위 그룹에 대응하는 제2메모리를 구성하는 적어도 하나의 하위 메모리를 업데이트시킴과 동시에, 다음 하위 그룹에 대하여 블락 정합 알고리즘을 수행할 수 있는 영상 처리 장치.
- 제5항에 있어서, 상기 연산부는,각각이 제1영상 데이터와 상기 다수의 블락들 중에서 대응하는 블락의 제2영상 데이터에 대한 블락 정합 알고리즘을 수행하기 위한 다수의 연산 유닛들을 포함하는 연산 유닛 블락; 및상기 연산 유닛 블락으로부터 출력되는 블락 정합 결과들을 비교하여 최적 매칭 블락을 결정하기 위한 비교부를 포함하는 영상 데이터 처리 장치.
- 제6항에 있어서, 상기 연산 유닛들 각각은,각각이 상기 제1영상 데이터와 대응하는 상기 제2영상 데이터 사이의 차의 절대값을 구하기 위한 다수의 연산기들;각각이 상기 다수의 차의 절대값들의 합산 값을 구하기 위한 다수의 가산기들; 및매크로 블락 크기에 기초하여 복수회 반복되는 SAD 연산 결과를 누적하여 출력하는 누적기를 포함하는 영상 처리 장치.
- 제6항에 있어서, 상기 유닛들 각각은,각각이 상기 가산기들 중에서 대응하는 가산기 또는 상기 누적기의 동작 마진을 확보하기 위한 다수의 시간 지연 소자들을 더 포함하는 영상 처리 장치.
- 제6항에 있어서, 상기 비교부는,각각이 상기 다수의 차의 절대값의 합산 값들을 서로 비교하여 최소의 차의 절대값의 합산 값을 선택하기 위한 다수의 비교기들; 및상기 최소의 차의 절대값의 합산 값을 버퍼링하기 위한 버퍼를 구비하는 영상 처리장치.
- 제9항에 있어서, 상기 비교부는,각각이 상기 다수의 비교기들 중에서 대응하는 비교기의 동작 마진을 확보하기 위한 다수의 시간 지연 소자들을 더 포함하는 영상 처리 장치.
- 제1항 내지 제10항 중 어느 하나의 항에 기재된 영상 처리 장치를 포함하는 전자 장치.
- 매크로 블락의 제1영상 데이터와 탐색 영역 내의 다수의 블락들 중에서 대응하는 각각의 블락의 제2영상 데이터의 차에 기초하여 블락 정합 알고리즘을 수행하는 단계; 및상기 블락 정합 결과에 기초하여 움직임 보상을 수행하기 위한 움직임 벡터를 발생하고, 프레임 내에서의 상기 제2영상 데이터 스캔 방향을 1수평 주기마다 교대로 가변시키는 단계를 포함하는 영상 처리 방법.
- 제12항에 있어서, 상기 영상 처리 방법은,움직임 추정 인에이블 신호에 응답하여 제1제어 신호와 제2제어 신호를 발생하는 단계;상기 제1제어 신호에 응답하여 비디오 메모리로부터 수신되는 상기 제1영상 데이터를 버퍼링하는 단계; 및상기 제2제어 신호에 응답하여 상기 비디오 메모리로부터 수신되는 상기 제2영상 데이터를 버퍼링하는 단계를 더 포함하는 영상 처리 방법.
- 제13항에 있어서, 상기 제2영상 데이터를 버퍼링하는 단계는,상기 제2영상 데이터를 버퍼링하는 제2메모리를 일정한 크기를 갖는 다수의 하위 메모리들로 나누고, 상기 다수의 하위 메모리들에 대해 상기 제2영상 데이터를 순차적으로 업데이트시키는 영상 처리 방법.
- 제14항에 있어서, 상기 제2영상 데이터를 버퍼링하는 단계는,상기 탐색 영역을 일정한 크기를 갖는 다수의 하위 그룹들로 나누고, 상기 하위 그룹들 각각에서의 상기 제2데이터의 스캔 방향은 프레임 내에서의 상기 제2데이터의 스캔 방향과 직각을 이루는 영상 처리 방법.
- 제15항에 있어서, 상기 영상 처리 방법은,상기 다수의 하위 그룹들 중에서 제2영상 데이터 스캔이 완료된 하위 그룹에 대응하는 제2메모리를 구성하는 적어도 하나의 하위 메모리를 업데이트시킴과 동시에, 다음 하위 그룹에 대하여 블락 정합 알고리즘을 수행할 수 있는 영상 처리 방법.
- 제16항에 있어서, 상기 제1영상 데이터와 상기 제2데이터의 블락 정합 알고리즘을 수행하는 단계는,각각이 제1영상 데이터와 상기 다수의 블락들 중에서 대응하는 블락의 제2영 상 데이터에 대한 블락 정합 알고리즘을 수행하는 단계; 및상기 블락 정합 결과들을 비교하여 최적 매칭 블락을 결정하는 단계를 포함하는 영상 처리 방법.
- 제17항에 있어서, 블락 정합 알고리즘을 수행하는 단계는,상기 제1영상 데이터와 대응하는 상기 제2영상 데이터 사이의 차의 절대값을 구하는 단계;상기 다수의 차의 절대값의 합산 값을 구하는 단계; 및매크로 블락의 크기에 기초하여 복수회 반복되는 SAD 연산 결과를 누적하여 출력하는 단계를 포함하는 영상 처리 방법.
- 제18항에 있어서, 상기 차의 절대값을 합산하는 단계는,상기 차의 절대값을 합산하는 단계의 시간 마진을 확보하기 위하여 시간을 지연시키는 단계를 더 포함하는 영상 처리 방법.
- 제17항에 있어서, 최적의 매칭 블락을 결정하는 단계는,상기 다수의 차의 절대값의 합산 값들을 서로 비교하여 최소의 차의 절대값의 합산 값을 선택하는 단계; 및상기 최소의 차의 절대값의 합산 값을 버퍼링하는 단계를 구비하는 영상 처리 방법.
- 제20항에 있어서, 최적의 매칭 블락을 결정하는 단계는,상기 다수의 차의 절대값의 합산 값들을 서로 비교하는 단계의 시간 마진을 확보하기 위하여 시간을 지연시키는 단계를 더 포함하는 영상 처리 방법.
- 제12항 내지 제21항 중 어느 하나의 항에 기재된 영상 처리 방법을 수행하는 프로그램을 기록한 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070097318A KR20090032261A (ko) | 2007-09-27 | 2007-09-27 | 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 |
US12/210,366 US20090085846A1 (en) | 2007-09-27 | 2008-09-15 | Image processing device and method performing motion compensation using motion estimation |
TW097136522A TW200922323A (en) | 2007-09-27 | 2008-09-23 | Image processing device and method performing motion compensation using motion estimation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070097318A KR20090032261A (ko) | 2007-09-27 | 2007-09-27 | 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090032261A true KR20090032261A (ko) | 2009-04-01 |
Family
ID=40507645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070097318A KR20090032261A (ko) | 2007-09-27 | 2007-09-27 | 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090085846A1 (ko) |
KR (1) | KR20090032261A (ko) |
TW (1) | TW200922323A (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI387313B (zh) * | 2009-05-21 | 2013-02-21 | Novatek Microelectronics Corp | 影像處理電路及方法 |
TWI416500B (zh) * | 2009-12-28 | 2013-11-21 | Inventec Besta Co Ltd | 顯示系統及其加速顯示方法 |
US8654852B2 (en) * | 2010-06-07 | 2014-02-18 | Himax Technologies Ltd. | Circuit for performing motion estimation and motion compensation |
US9485495B2 (en) * | 2010-08-09 | 2016-11-01 | Qualcomm Incorporated | Autofocus for stereo images |
US20120113326A1 (en) * | 2010-11-04 | 2012-05-10 | Stmicroelectronics, Inc. | System and method for detecting motion vectors in a recursive hierarchical motion estimation system using a non-rasterized scan |
TWI501649B (zh) * | 2011-05-31 | 2015-09-21 | Jvc Kenwood Corp | 影像訊號處理裝置及方法 |
US9507454B1 (en) * | 2011-09-19 | 2016-11-29 | Parade Technologies, Ltd. | Enhanced linearity of gestures on a touch-sensitive surface |
US9438889B2 (en) | 2011-09-21 | 2016-09-06 | Qualcomm Incorporated | System and method for improving methods of manufacturing stereoscopic image sensors |
JP5949319B2 (ja) * | 2012-08-21 | 2016-07-06 | 富士通株式会社 | 視線検出装置及び視線検出方法 |
JP5998807B2 (ja) * | 2012-09-28 | 2016-09-28 | 株式会社メルコホールディングス | 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム |
US9398264B2 (en) | 2012-10-19 | 2016-07-19 | Qualcomm Incorporated | Multi-camera system using folded optics |
US10178373B2 (en) | 2013-08-16 | 2019-01-08 | Qualcomm Incorporated | Stereo yaw correction using autofocus feedback |
US9374516B2 (en) | 2014-04-04 | 2016-06-21 | Qualcomm Incorporated | Auto-focus in low-profile folded optics multi-camera system |
US9383550B2 (en) | 2014-04-04 | 2016-07-05 | Qualcomm Incorporated | Auto-focus in low-profile folded optics multi-camera system |
US10013764B2 (en) | 2014-06-19 | 2018-07-03 | Qualcomm Incorporated | Local adaptive histogram equalization |
US9541740B2 (en) | 2014-06-20 | 2017-01-10 | Qualcomm Incorporated | Folded optic array camera using refractive prisms |
US9819863B2 (en) | 2014-06-20 | 2017-11-14 | Qualcomm Incorporated | Wide field of view array camera for hemispheric and spherical imaging |
US9386222B2 (en) | 2014-06-20 | 2016-07-05 | Qualcomm Incorporated | Multi-camera system using folded optics free from parallax artifacts |
US9549107B2 (en) | 2014-06-20 | 2017-01-17 | Qualcomm Incorporated | Autofocus for folded optic array cameras |
US9294672B2 (en) | 2014-06-20 | 2016-03-22 | Qualcomm Incorporated | Multi-camera system using folded optics free from parallax and tilt artifacts |
US9832381B2 (en) | 2014-10-31 | 2017-11-28 | Qualcomm Incorporated | Optical image stabilization for thin cameras |
US10192319B1 (en) * | 2017-07-27 | 2019-01-29 | Nanning Fugui Precision Industrial Co., Ltd. | Surveillance method and computing device using the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0497586A3 (en) * | 1991-01-31 | 1994-05-18 | Sony Corp | Motion detection circuit |
JPH0865685A (ja) * | 1994-08-23 | 1996-03-08 | Nec Corp | 動きベクトル検出回路 |
US7079579B2 (en) * | 2000-07-13 | 2006-07-18 | Samsung Electronics Co., Ltd. | Block matching processor and method for block matching motion estimation in video compression |
US7030846B2 (en) * | 2001-07-10 | 2006-04-18 | Samsung Electronics Co., Ltd. | Color correction liquid crystal display and method of driving same |
US7072395B2 (en) * | 2001-07-20 | 2006-07-04 | Ess Technology, Inc. | Memory control apparatus and efficient search pattern for block-matching motion estimation |
US7797493B2 (en) * | 2005-02-15 | 2010-09-14 | Koninklijke Philips Electronics N.V. | Enhancing performance of a memory unit of a data processing device by separating reading and fetching functionalities |
TWI296091B (en) * | 2005-11-15 | 2008-04-21 | Novatek Microelectronics Corp | Motion estimation circuit and motion estimation processing element |
JP4349363B2 (ja) * | 2005-12-14 | 2009-10-21 | セイコーエプソン株式会社 | 動きベクトル検出方法、画像処理装置、画像表示装置およびプログラム |
-
2007
- 2007-09-27 KR KR1020070097318A patent/KR20090032261A/ko not_active Application Discontinuation
-
2008
- 2008-09-15 US US12/210,366 patent/US20090085846A1/en not_active Abandoned
- 2008-09-23 TW TW097136522A patent/TW200922323A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20090085846A1 (en) | 2009-04-02 |
TW200922323A (en) | 2009-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20090032261A (ko) | 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법 | |
KR101578052B1 (ko) | 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치 | |
US8274602B2 (en) | Image processing apparatus and image processing method with redundant frame detection | |
JP3089165B2 (ja) | 動きベクトル探索装置 | |
KR100226684B1 (ko) | 반화소 움직임 추정장치 | |
JP2008538433A (ja) | 領域ベース複数パス動き推定及び時間的動きベクトル候補の更新を用いたビデオ処理 | |
JP2008536429A (ja) | 領域の動的なアスペクト比を用いた領域ベース3drs動き推定 | |
US8379725B2 (en) | Motion-vector searching method and motion-vector searching apparatus | |
US8305500B2 (en) | Method of block-based motion estimation | |
KR100413770B1 (ko) | 완전 탐색블록 정합회로 및 완전 탐색블록 정합방법 | |
US8200032B2 (en) | Image processing method and related apparatus for performing image processing operation according to image blocks in horizontal direction | |
JP2009116730A (ja) | 画像処理装置及び方法 | |
JP4101645B2 (ja) | 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体 | |
KR20110021063A (ko) | 영상처리장치 및 영상의 움직임 추정방법 | |
KR20080102947A (ko) | 가변 블록 움직임 추정을 위한 sad 계산 방법 및 장치 | |
JP2838817B2 (ja) | 動き補償演算装置 | |
KR100926440B1 (ko) | 영상부호화를 위한 블록 매칭 움직임 추정 장치 | |
JP6065090B2 (ja) | 動画像復号装置、動画像復号方法、動画像復号プログラム | |
US20030086497A1 (en) | Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices | |
KR100729262B1 (ko) | 움직임 예측기 | |
JP3698501B2 (ja) | 動きベクトル検出装置 | |
KR20000032857A (ko) | 움직임 추정장치 | |
JP4160855B2 (ja) | ブロックマッチング画像処理装置 | |
KR20090049034A (ko) | 이미지 처리 장치 | |
KR20100062301A (ko) | 블록 분할 및 결합을 통한 움직임 추정 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |