KR20090014371A - 움직임 검출 장치 - Google Patents

움직임 검출 장치 Download PDF

Info

Publication number
KR20090014371A
KR20090014371A KR1020087029764A KR20087029764A KR20090014371A KR 20090014371 A KR20090014371 A KR 20090014371A KR 1020087029764 A KR1020087029764 A KR 1020087029764A KR 20087029764 A KR20087029764 A KR 20087029764A KR 20090014371 A KR20090014371 A KR 20090014371A
Authority
KR
South Korea
Prior art keywords
motion
storage means
motion detection
motion vector
reference image
Prior art date
Application number
KR1020087029764A
Other languages
English (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 파나소닉 주식회사
Publication of KR20090014371A publication Critical patent/KR20090014371A/ko

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
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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

Abstract

정수 화소 정밀도 움직임 검출용 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터가 SDRAM(41)으로부터 로컬 메모리(31)로 전송된다. 정수 화소 정밀도 움직임 검출기(21)에 의해 정수 화소 정밀도 움직임 검출이 실시되고, 그 결과를 기초로, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송 영역이 결정된다. 1/2 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송 후, 1/2 화소 정밀도 움직임 검출기(22)에 의한 1/2 화소 정밀도 움직임 검출과, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송이 동시에 실행된다. 1/4 화소 정밀도 움직임 검출기(23)에 의해 1/4 화소 정밀도 움직임 검출이 실행된다. 이 결과, 파이프라인 단수와 파이프라인 버퍼수가 감소될 수 있고, 파이프라인 처리를 고속화 할 수 있다.

Description

움직임 검출 장치{MOTION DETECTION DEVICE}
본 발명은 동화상 부호화 기술에 관한 것으로, 특히, 피부호화 화상과 참조 화상으로부터 피부호화 화상의 움직임 벡터를 검출하는 움직임 검출 장치에 관한 것이다.
오늘날, 동화상 전송 기술과 축적 기술은 우리들의 생활을 풍요롭게 하는데 있어서 매우 중요한 기술이 되어 있다.
예컨대, 휴대 정보 단말을 이용한 원격지에서의 화상 전화가 가능해지고 있다. 이 화상 전화에서는, 음성에 동기시켜서, 동화상을 서로 전송할 수 있기 때문에, 종래에 비해 더욱 풍부한 표현력을 갖는 커뮤니케이션을 실현할 수 있다. 화상 전화의 전송로는 무선이며, 현재의 전송 속도는 64kbps(bit per second)이다. 장래에는, 2Mbps 정도까지 고속화 될 가능성이 있다. 그러나, 비교적 낮은 전송 속도 하에서, 전송하는 화상의 화질을 향상시키기 위해서는, 동화상 전송 기술, 특히, 동화상 압축 부호화 기술이 중요하다.
또 하나의 중요 기술인 동화상 축적 기술은 해마다 발전하고 있다. 최근에 는, DVD(Digital Versatile Disk) 레코더를 사용하여, 디지털 방식으로 텔레비전 프로그램을 녹화하는 것도 가능해지고 있다. DVD 레코더는 해마다 판매 대수가 늘어나, VHS 레코더가 모두 DVD 레코더로 교체되는 것도 시간 문제이다. VHS 레코더와 마찬가지로, DVD 레코더에 있어서도, 고화질로 장시간 녹화할 수 있는 것은 중요한 세일즈 포인트이다. DVD 레코더에 사용되는 기록 매체(DVD-RAM, DVD-RW, 블루레이 디스크 등)의 기록 밀도는 해마다 향상하고 있지만, 현 상태에서는, 하이비전 프로그램을 고화질로 장시간 녹화하는 것에는 이르지 못한다. 기록 매체의 한정된 영역에, 장시간의 영상을 화질을 유지하면서 녹화하기 위해서는, 화질을 저하시키지 않고 영상을 저 비트 레이트로 부호화하는 동화상 부호화 기술이 중요해진다.
동화상 부호화 기술로는, 여러 가지 방식이 제안되어 있다. 화상 압축 기술의 표준 규격으로서는, ITU-T(국제 전기 통신 연합 전기 통신 표준화 부문)의 H. 261, H. 263, ISO(국제 표준화 기구)의 MPEG-1, MPEG-2, MPEG-4 등이 있다. (MPEG는 Moving Picture Experts Group의 약어.)
이들 동화상 부호화 처리에 있어서, 부호화의 대상이 되는 입력 화상은 세로 16화소×가로 16화소의 휘도 성분, 세로 8화소×가로 8화소의 색차 성분(Cb) 및 세로 8화소×가로 8화소의 색차 성분(Cr)으로 구성되는 매크로 블록으로 분할된다. 각 매크로 블록은 참조 화상으로부터 가장 유사한 블록이 탐색되고(이른바, 움직임 검출 처리가 행해지고), 탐색된 참조 화상의 블록과의 차분이 구해진다. 그리고, 그 차분은 주파수 영역으로 변환된 후, 가변 길이 부호화되어 비트 스트림으로 변 환된다.
이들 부호화 처리 중에서, 화질을 크게 좌우하는 처리가 움직임 검출 처리이다. MPEG 부호화 처리 장치에 있어서, 중요한 구성 요소인 움직임 검출부에 대하여, 우선, 설명한다.
움직임 검출에는, 여러 가지 수법이 존재하지만, 가장 대표적인 방법이 블록 매칭법이다. 블록 매칭법은 현 화상의 매크로 블록과, 참조 화상이 있는 특정한 범위(이후, 탐색 범위라 부름)로부터 생성되는, 매크로 블록과 같은 크기의 블록과의 사이에서, 화소 레벨의 연산을 행하여, 상관도를 나타내는 평가치를 구하고, 그 평가치가 가장 좋은 결과가 되는 참조 화상상의 위치를 움직임 벡터로서 검출하는 방법이다. 평가치로서, 일반적으로, 차분 절대값 합(SAD)이나 차분 자승 합(SSD)이 이용되고, 그 값이 작을수록 상관성이 높다고 간주된다.
종래, 계층적으로 움직임 검출을 실시하는 예가 있다. 예컨대, 특허문헌 1(일본 공개 특허 공보 제 2002-218474호)은 움직임 벡터의 검출을 1/2 화소 정밀도로 실시하기 위해, 제 1 단계로서, 비교적 큰 탐색 범위에서 정수 화소 정밀도의 움직임 벡터 검출을 실시하고, 제 2 단계로서, 제 1 단계에서 검출한 움직임 벡터의 주위에서, 또한, 제 1 단계보다 작은 탐색 범위에서, 1/2 화소 정밀도의 움직임 벡터를 검출하는 기술을 개시하고 있다.
도 22와 도 23을 참조하여, 종래 기술에 의한 움직임 검출의 방법을 구체적으로 설명한다.
도 22는 종래의 일반적인 움직임 검출부의 블록도이다. 도 22에 나타내는 종래의 일반적인 움직임 검출부는 정수 화소 정밀도 움직임 검출부(1), 1/2 화소 정밀도 움직임 검출부(2), 움직임 보상부(3), 제 1 로컬 메모리(4), 제 2 로컬 메모리(5), 제 3 로컬 메모리(6), DMA 컨트롤러(7) 및 SDRAM(8)을 구비한다.
도 23은 종래의 일반적인 움직임 검출부의 흐름도이다.
도 23의 단계 S1에 있어서, SDRAM(8)에 저장되어 있는 입력 화상으로부터, 부호화 대상의 매크로 블록(이하, 현 매크로 블록이라고 부른다)을 제 1 로컬 메모리(4)로 전송한다.
단계 S2에 있어서, 현 매크로 블록으로부터 결정되는 움직임 검출 범위, 즉, 탐색 범위의 화상 데이터, 예컨대, -32≤X≤+32, -32≤Y≤+32의 탐색 범위의 화상 데이터가 참조 화상으로서, SDRAM(8)으로부터 제 1 로컬 메모리(4)로 전송된다.
단계 S3에 있어서, 정수 화소 정밀도 움직임 검출부(1)는 제 1 로컬 메모리(4)로 전송된 현 매크로 블록과 참조 화상의 탐색 범위에 대하여, 정수 화소 정밀도 움직임 검출을 행한다. 정수 화소 정밀도 움직임 검출에서는, 정수 화소 정밀도 움직임 검출부(1)는 정수 화소만을 이용하여, 현 매크로 블록과 가장 상관이 강한 같은 크기의 블록을 탐색 범위로부터 검출하고, 움직임 벡터를 구한다. 움직임 벡터는 현 매크로 블록의 좌단상의 좌표에 대한 것이고, 검출한 블록의 좌단상의 좌표의 상대 위치로 표현한다. 상관의 강도는, 예컨대, 2개의 블록 내의 대응하는 화소에 있어서의 휘도 성분의 차분 절대값 합(SAD)이나 차분 자승 합(SSD)으로서 평가된다.
계층화하여 움직임 검출을 행하는 경우, 일반적으로 정수 화소 정밀도 움직임 검출은 그 이후의 계층의 움직임 검출보다 탐색 범위가 크다. 그 때문에, 필요로 하는 메모리 용량이 커진다.
메모리 용량 증대를 방지하기 위해, 예컨대, 화소를 추출하여 메모리로 전송하고, 움직임 검출의 정밀도를 저하시키는 방법이 있다. 도 24는 1화소마다 추출된 정수 화소를 나타낸다. 즉, 도 24에 나타내는 예에서는, 가로 방향으로 1화소마다 화소 P2가 추출되어, 화소 P1만이 참조 화상으로서 이용된다. 이와 같이 추출하면, 추출하지 않는 경우와 비교하여 가로 방향의 검출 정밀도가 1/2로 저하된다. 그러나, 제 1 로컬 메모리(4)에 확보되어야 할 참조 화상용의 영역은 1/2로 감소시킬 수 있다. 이 방법에 의해, 같은 탐색 범위를 적은 메모리 용량으로 탐색할 수 있다. 또는, 같은 메모리 용량으로 광범위한 움직임 검출을 행할 수 있다. 어떠한 추출 방법을 채용할지는 검출 정밀도가 저하되는 것에 따른 화질 저하와, 탐색 범위가 넓어지는 것에 따른 화질 향상의 절충(trade-off) 관계에 의해 결정된다.
도 23으로 되돌아가, 단계 S4에 있어서, 단계 S3의 정수 화소 정밀도 움직임 검출로 구한 움직임 벡터 MV-INT를 기초로, 1/2 화소 정밀도 움직임 검출에 필요한 참조 화상이 SDRAM(8)으로부터 제 2 로컬 메모리(5)로 전송된다.
상술한 바와 같이, 정수 화소 정밀도 움직임 검출의 참조 화상의 화소를 추출한 경우, 1/2 화소 정밀도 움직임 검출을 위한 참조 화상을 SDRAM(8)으로부터 다시 취득해야 한다. 왜냐하면, 후술하는 바와 같이, 규격상, 1/2 화소를 산출하 기 위해서는, 반드시 인접하는 정수 화소가 필요하기 때문이다. 정수 화소 정밀도 움직임 벡터 MV-INT의 주변 8점의 1/2 화소에 대하여, 1/2 화소 정밀도 움직임 검출을 행하는 경우, SDRAM(8)에 저장되어 있는 참조 화상으로부터, 움직임 벡터 MV-INT를 기준으로 해서, X방향으로 「-1」, Y방향으로 「-1」 이동한 좌표 위치로부터, 가로 방향으로 18화소, 세로 방향으로 18라인의 화상이 취득되어, 제 2 로컬 메모리(5)로 전송된다. SDRAM(8)에 대하여, 32비트 단위의 액세스 밖에 할 수 없는 경우는, 참조 화상으로서 필요가 없는 화소 데이터를 판독해 버리는 경우가 있고, 최대로 가로 24화소, 세로 18라인 분의 화상 데이터를 판독하는 경우도 있다.
단계 S5에 있어서, 1/2 화소 정밀도 움직임 검출부(2)는 1/2 화소 정밀도 움직임 검출을 실시한다. 예컨대, 움직임 벡터 MV-INT의 주변 8점에 있어서, 단계 S4에 있어서 제 2 로컬 메모리(5)로 전송된 참조 화상을 이용하여, 1/2 화소를 생성하고, 그 8개의 1/2 화소 및 탐색 중심 위치의 정수 화소와, 현 매크로 블록으로 차분 절대값 합 연산을 행한다.
도 25는 정수 화소 B의 근방에 생성된 1/2 화소를 나타낸다. 즉, 탐색 중심 위치인 정수 화소 B의 주위에, 1/2 화소 a∼h가 생성되어 있다. 1/2 화소는, 예컨대, MPEG-4의 심플 프로파일의 경우, 정수 화소 A∼D를 이용하여 다음과 같이 산출된다.
도 25의 1/2 화소 f와 1/2 화소 d는 각각 수학식 1 및 수학식 2로 산출된다.
Figure 112008083920778-PAT00001
Figure 112008083920778-PAT00002
여기서, R은 라운딩 컨트롤(rounding control)이라 불리고, 「0」 또는「1」이 대입된다.
1/2 화소 정밀도 움직임 검출부(2)는 탐색 중심 위치의 정수 화소 B와 그 주위의 8개의 1/2 화소 a∼h의 총 9점의 화소에 대하여, 차분 절대값 합의 값이 가장 작아지는 점을 구한다. 구한 차분 절대값 합의 값이 가장 작아지는 점에 대한 탐색 중심 위치로부터의 오프셋 좌표를 움직임 벡터 MV-INT에 가산함으로써, 1/2 화소 정밀도의 움직임 벡터 MV-HALF가 산출된다.
또한 검출 정밀도를 향상시키기 위해, 1/2 화소 정밀도 움직임 검출로 구한 움직임 벡터 MV-HALF를 기초로, 1/4 화소 정밀도 움직임 검출을 실시하는 경우도 있다. 예컨대, 1/2 화소 정밀도 움직임 검출과 마찬가지로, 움직임 벡터 MV-HALF의 주변 8점에 있어서, 참조 화상을 이용하여 1/4 화소를 생성하고, 탐색 중심 위치의 1/2 화소와 그 주위에 생성한 8개의 1/4 화소의 총 9점의 화소에 대하여, 차분 절대값 합의 값이 가장 작아지는 점을 탐색한다. 탐색한 점에 대한 탐색 중심 위치로부터의 오프셋 좌표를 움직임 벡터 MV-HALF에 가산함으로써, 1/4 화소 정밀도의 움직임 벡터를 산출한다. 또, 도 22 및 도 23에 있어서는, 1/4 화소 정밀도 움직임 검출을 위한 구성 요소와 처리 단계를 생략하고 도시하지 않았다.
단계 S6에 있어서, 움직임 검출에 계속되는 움직임 보상을 위해, 단계 S5의 1/2 화소 정밀도 움직임 검출에 있어서 최종적으로 결정한 움직임 벡터가 나타내는 위치의 참조 화상이 SDRAM(8)으로부터 제 3 로컬 메모리(6)로 전송된다.
일반적으로, 움직임 벡터 검출은 화소 데이터의 휘도 성분에 대하여 실시된다. 그 때문에, 휘도 성분에 관해서는, 많은 경우, 1/2 화소 정밀도 움직임 검출로 제 2 로컬 메모리(5)에 취득한 참조 영역은 움직임 보상에 필요한 영역을 포함하고 있다. 데이터 전송량을 감소시키기 위해, 제 2 로컬 메모리(5)의 데이터를 제 3 로컬 메모리(6)로 전송하는 경우와, 제 2 로컬 메모리(5)를 움직임 보상부(3)가 직접 액세스하는 경우가 있다. 단, 색차 성분에 관해서는, 제 2 로컬 메모리(5)로 전송되어 있지 않기 때문에, SDRAM(8)으로부터 제 3 로컬 메모리(6)로 전송해야 한다.
단계 S7에 있어서, 움직임 보상부(3)는 움직임 보상을 실시한다. 움직임 보상으로 취득하는 색차 성분의 화상 데이터는 휘도 성분의 움직임 벡터에 근거하여 결정되는 색차 움직임 벡터에 의해서 결정된다. MPEG-4의 경우, 휘도 성분의 움직임 벡터의 1/2배한 것이 색차 성분의 움직임 벡터로서 정의된다. 예컨대, 휘도 성분의 움직임 벡터의 XY 좌표 (0.5, 1.5)는 1/2배 하면, (0.25, 0.75)가 되지만, 이것은 (0.5, 0.5)로 자리올림된다.
상술한 대로, 동화상 부호화 처리는 움직임 검출, 움직임 보상, DCT, 가변 길이 부호화 등의 복수의 처리로 구성된다. 이들의 처리를 하나의 하드웨어 자원(예컨대, 프로세서)을 이용하여, 매크로 블록 단위로 실행하는 경우, 하나의 매크 로 블록의 처리가 종료하기까지, 다음 매크로 블록 처리가 개시될 수 없다. 이러한 순차 처리에서는 화면 크기나 입력의 프레임 레이트가 큰 경우, 매크로 블록 처리가 맞지 않아, 프레임 손실(dropping frames)이 발생해 버리는 경우가 있다.
이를 해결하기 위해, 처리 단위마다 하드웨어 자원을 마련하고, 매크로 블록 처리를 파이프라인 방식으로 실행하는 방법이 있다.
도 26은 동화상 부호화 처리의 흐름도이다. 도 26에 나타내는 바와 같이, 일반적인 동화상 부호화 처리는 단계 S11의 움직임 검출, 단계 S12의 움직임 보상, 단계 S13의 DCT/양자화 처리 및 단계 S14의 가변 길이 부호화 처리로 이루어진다. 이들 처리를, 4단의 파이프라인으로 분할하면, 도 27과 같은 처리가 된다.
도 27은 동화상 부호화의 파이프라인 처리를 나타낸다. 이 도면에 있어서, 가로축은 시간을 나타내고, 각 처리의 괄호 안의 숫자는 처리하고 있는 매크로 블록 번호를 나타낸다. 도 27에 나타내는 바와 같이, 파이프라인 처리에서는, 매크로 블록 번호 「O」의 움직임 검출 처리가 종료되면, 매크로 블록 번호 「O」의 움직임 보상 처리가 개시되고, 그와 동시에, 매크로 블록 번호 「1」의 움직임 검출의 처리가 개시된다.
도 27에 나타내는 4개의 처리 중, 가장 처리 시간이 긴 처리의 처리 시간을 시간 T라고 하면, 파이프라인 처리에서는, 시간 T의 간격으로 스트림화된 매크로 블록이 출력되게 된다. 4개의 처리의 합계 시간을 시간 U라고 하면, 1매크로 블록당 처리 시간은, 순차 처리에서는 시간 U, 파이프라인 처리에서는 시간 T가 되고, U>T는 자명하기 때문에, 파이프라인 처리에 의해, 매크로 블록 처리의 생산 성(throughput)이 향상된다.
그러나, 이러한 파이프라인 처리를 실행하기 위해서는, 각 처리의 사이에 파이프라인 버퍼가 필요하게 된다. 파이프라인 버퍼란, 파이프라인의 사이에서 데이터를 유지해 놓기 위한 중간 버퍼이다. 따라서, 파이프라인화는 성능과 비용의 절충을 고려하여 실시해야 한다.
도 28은 움직임 검출의 흐름도이다. 도 28은 복수로 계층화된 움직임 검출에 있어서의, 임의 계층의 움직임 검출의 처리 흐름을 나타내고 있다.
단계 S21에 있어서, 제 (m-1) 계층(m은 2 이상의 자연수)의 움직임 검출이 행해진다. 단계 S21에 있어서 행해지는 제 (m-1) 계층의 움직임 검출이 도 24에 나타낸 것 같은 추출된 참조 화상에 대하여 실시되는 경우, 단계 S22에 있어서, 제 (m―1) 계층에서 검출된 움직임 벡터를 기초로, 다음 제 (m) 계층의 움직임 검출을 위한 참조 화상 데이터를 전송해야 한다. 단계 S23에 있어서, 전송된 참조 화상 데이터를 이용하여, 제 (m) 계층의 움직임 검출이 행해진다.
도 29는 움직임 검출의 파이프라인의 구성을 나타내며, 도 28의 움직임 검출에 대응하는 것이다. 움직임 검출에 있어서, 넓은 범위를 탐색하는 경우, 그 탐색 범위의 데이터를 취득하기 위한 데이터 전송에 시간이 필요하다. 그 때문에, 도 29에 나타내는 파이프라인의 구성예에서는, 스테이지(k+1)에, 데이터 전송을 위한 파이프라인 스테이지를 마련하여, 생산성을 향상시키고 있다.
이상 설명한 바와 같이, 종래 기술에 의한 수법은 파이프라인 처리에 의해 동화상 처리의 생산성이 향상하는 반면, 움직임 검출의 계층이 증가한 경우에는, 파이프라인 단수가 늘어나, 대기 시간이 증가함과 동시에, 필요한 파이프라인 버퍼의 수가 증가한다고 하는 결점이 있다.
*(특허문헌 1)
일본 공개 특허 공보 제 2002-218474호(도 3)
(특허문헌 2)
일본 공개 특허 공보 제 2001-15872호
그래서, 본 발명은 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제하고, 또한, 파이프라인 버퍼의 수를 감소시킬 수 있는, 동화상 부호화용 움직임 검출 장치를 제공하는 것을 목적으로 한다.
제 1 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 제 2 움직임 검출 수단으로 검출한 제 2 단계의 움직임 벡터를 이용하여 실시하는 제 3 단계의 움직임 벡터 검출을 위한 제 3 참조 화상을 저장하는 제 3 기억 수단과, 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 제 3 단계의 움직임 벡터를 검출하는 제 3 움직임 검출 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송, 주 기억 수단과 제 2 기억 수단간의 데이터 전송 및 주 기억 수단과 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 프로세서는 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 제 1 단계에서 검출한 움직임 벡터에 근거하여, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고, 제 1 단계의 움직임 벡터의 참조가 불필요한 경우, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송한다.
이 구성에 의하면, 제 1 단계에서 검출한 움직임 벡터를 참조하는 경우, 제 3 단계의 움직임 벡터 검출용의 참조 화상의 전송과, 제 2 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 제 3 단계의 움직임 벡터 검출이 지연 없이 개시될 수 있다. 또한, 제 1 단계에서 검출한 움직임 벡터를 참조하지 않는 경우, 제 3 단계의 움직임 벡터의 검출을 지연 없이 개시할 수 있다.
제 2 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 제 2 움직임 검출 수단으로 검출한 제 2 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한 제 3 참조 화상을 저장하는 제 3 기억 수단과, 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송, 주 기억 수단과 제 2 기억 수단간의 데이터 전송 및 주 기억 수단과 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 프로세서는 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 제 1 단계에서 검출한 움직임 벡터에 근거하여, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고, 제 1 단계에서 검출한 움직임 벡터를 비참조하는 경우, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송한다.
이 구성에 의하면, 제 1 단계에서 검출한 움직임 벡터를 참조하는 경우, 움직임 보상용의 참조 화상의 전송과, 제 2 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 움직임 보상이 지연 없이 개시될 수 있다. 또한, 제 1 단계에서 검출한 움직임 벡터를 참조하지 않는 경우, 제 3 단계의 움직임 보상을 지연 없이 개시할 수 있다.
제 3 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송 및 주 기억 수단과 제 2 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 프로세서는, 제 1 단계의 움직임 벡터 검출이 완료되기 전에, 주 기억 수단으로부터 제 2 기억 수단으로 제 2 참조 화상의 데이터를 전송한다.
이 구성에 의하면, 제 2 단계의 움직임 벡터 검출용의 참조 화상의 전송과, 제 1 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 제 2 단계의 움 직임 벡터 검출이 지연 없이 개시될 수 있다.
제 4 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송 및 주 기억 수단과 제 2 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 2 기억 수단으로 제 2 참조 화상의 데이터를 전송한다.
이 구성에 의하면, 움직임 보상용의 참조 화상의 전송과, 제 1 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 움직임 보상용이 지연 없이 개시될 수 있다.
제 5 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단은 정수 화소 정밀도의 움직임 벡터를 검출한다.
제 6 발명에 따른 움직임 검출 장치에서는, 제 2 움직임 검출 수단은 1/2 화소 정밀도의 움직임 벡터를 검출한다.
제 7 발명에 따른 움직임 검출 장치에서는, 제 3 움직임 검출 수단은 1/4 화소 정밀도의 움직임 벡터를 검출한다.
이들 구성에 의하면, 정수 화소 정밀도의 움직임 벡터 검출로부터 1/4 화소 정밀도의 움직임 벡터 검출까지, 단계적으로 실행할 수 있다. 또한, 정수 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치, 1/2 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치, 또는, 1/4 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치를 응용 목적에 따라 임의로 구성할 수 있다.
제 8 발명에 따른 움직임 검출 장치에서는, 움직임 보상 수단은 휘도 화상의 움직임 보상을 실시한다.
이 구성에 의하면, 휘도 데이터에 대하여 움직임 보상을 행하는 움직임 검출 장치를 실현할 수 있다.
제 9 발명에 따른 움직임 검출 장치에서는, 움직임 보상 수단은 색차 화상의 움직임 보상을 실시한다.
이 구성에 의하면, 색차 데이터에 대하여 움직임 보상을 행하는 움직임 검출 장치를 실현할 수 있다.
제 10 발명에 따른 움직임 검출 장치에서는, 제 1 기억 수단과 제 2 기억 수단은 메모리에 실장되고, 제 1 기억 수단의 메모리 크기는 제 2 기억 수단의 메모리 크기보다 크다.
이 구성에 의하면, 제 1 기억 수단을 이용하는 제 1 움직임 검출 수단은 제 2 기억 수단을 이용하는 제 2 움직임 검출 수단보다, 더 넓은 범위에 걸쳐 움직임 벡터를 탐색할 수 있다.
제 11 발명에 따른 움직임 검출 장치에서는, 제 2 기억 수단과 제 3 기억 수단은 메모리에 실장되고, 제 2 기억 수단의 메모리 크기는 제 3 기억 수단의 메모리 크기보다 크다.
이 구성에 의하면, 제 2 기억 수단을 이용하는 제 2 움직임 검출 수단은 제 3 기억 수단을 이용하는 제 3 움직임 검출 수단보다, 더 넓은 범위에 걸쳐 움직임 벡터를 탐색할 수 있다.
제 12 발명에 따른 움직임 검출 장치에서는, 제 2 기억 수단에는 데이터 전송 제어 수단과 제 2 움직임 검출 수단 중 어느 한쪽이 액세스한다.
제 13 발명에 따른 움직임 검출 장치에서는, 제 3 기억 수단에는 데이터 전송 제어 수단과 제 3 움직임 검출 수단 중 어느 한쪽이 액세스한다.
제 14 발명에 따른 움직임 검출 장치에서는, 제 3 기억 수단에는 데이터 전송 제어 수단과 움직임 보상 수단 중 어느 한쪽이 액세스한다.
이들 구성에 의하면, 파이프라인 버퍼를 마련하지 않더라도, 데이터 전송과 움직임 검출을 실행할 수 있다.
제 15 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단으로 검출한 움직임 벡터를 기준으로 하여, 필요한 범위의 참조 화상의 데이터가 제 2 기억 수단으로부터 제 3 기억 수단으로 전송된다.
이 구성에 의하면, 주 기억 수단으로부터 제 3 기억 수단으로의 데이터 전송 을 생략할 수 있다.
제 16 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단으로 검출한 움직임 벡터를 기준으로 하여, 필요한 범위의 참조 화상의 데이터가 제 1 기억 수단으로부터 상기 제 2 기억 수단으로 전송된다.
이 구성에 의하면, 주 기억 수단으로부터 제 2 기억 수단으로의 데이터 전송을 생략할 수 있다.
본 발명에 의하면, 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제하고, 또한, 파이프라인 버퍼의 수를 감소시킬 수 있는 동화상 부호화용의 움직임 검출 장치를 제공할 수 있다.
다음에, 도면을 참조하면서 본 발명의 실시예를 설명한다.
(실시예 1)
도 1은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 블록도이다. 본 실시예의 움직임 검출 장치는 도 1에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 1/4 화소 정밀도 움직임 검출기(23), 로컬 메모리(31, 32, 33), SDRAM(41), DMA 컨트롤러(42) 및 프로세 서(20)를 구비한다.
정수 화소 정밀도 움직임 검출기(21)는 제 1 움직임 검출 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)는 제 2 움직임 검출 수단에 상당하며, 1/4 화소 정밀도 움직임 검출기(23)는 제 3 움직임 검출 수단에 상당한다.
로컬 메모리(31)는 제 1 기억 수단에 상당하고, 정수 화소 정밀도 움직임 검출기(21)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(32)는 제 2 기억 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(33)는 제 3 기억 수단에 상당하고, 1/4 화소 정밀도 움직임 검출기(23)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. SDRAM(41)은 주 기억 장치에 상당하고, 현 프레임과 참조 프레임의 화상 데이터를 저장한다.
DMA 컨트롤러(42)는 데이터 전송 제어 수단에 상당하고, SDRAM(41)과 로컬 메모리(31, 32, 33)간의 데이터 전송을 제어한다. 프로세서(20)는 움직임 검출 장치 전체의 처리를 제어한다. 또한, 도 1에 있어서, 실선은 데이터선을 나타내고, 점선은 제어선을 나타낸다.
도 2는 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도이다. 도 1을 참조하면서, 도 2에 따라, 본 실시예의 움직임 검출 장치의 동작을 설명한다.
단계 S31에 있어서, 정수 화소 정밀도 움직임 검출에 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 DMA 컨트롤러(42)의 제어 하에, SDRAM(41)으로부터 로컬 메모리(31)로 전송된다.
단계 S32에 있어서, 정수 화소 정밀도 움직임 검출기(21)는 로컬 메모리(31)로 전송된 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 사용하여, 정수 화소 정밀도 움직임 검출을 실시한다. 정수 화소 움직임 검출은 블록 매칭법에 따라서 실시된다.
이하의 설명에서는, 본 실시예의 정수 화소 정밀도 움직임 검출을 수평 방향으로 1/4로 추출된 참조 화상에 대하여 실시하는 예에 대하여 기술한다.
도 3은 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 정수 화소 배치도이다. 이 도면에 있어서, 흰 원의 화소 Fp1은 추출되지 않은 정수 화소를 나타내고, 검은 원의 화소 Fp2는 추출된 정수 화소를 나타낸다. 이 예에서는, 참조 화상은 수평 방향으로 1/4로 추출되고 있다. 수평 방향으로 4 화소 단위로 유효 데이터가 존재하기 때문에, 수평 방향의 움직임 검출의 정밀도가 1/4이 된다.
정수 화소 정밀도 움직임 검출의 방법은 수없이 많이 제안되어 있고, 대표적인 것으로서, 전 탐색, 구배법, 다이아몬드 서치, One―at-a―Time 등이 있다. 본 발명에서는, 어떤 방법을 이용하여도 좋다. 또한, 정수 화소 정밀도 움직임 검출의 평가 함수로는, 종래 기술의 차분 절대값 합, 차분 자승 합 등이 이용될 수 있다.
도 2로 되돌아가, 단계 S33에 있어서, 1/2 화소 정밀도 움직임 검출에 사용되는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 프로세서(20) 의 명령에 의해, SDRAM(41)으로부터 로컬 메모리(32)로 전송된다.
단계 S34에 있어서, 1/2 화소 정밀도 움직임 검출기(22)는 정수 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변에서, 1/2 화소 정밀도 움직임 검출을 실시한다. 본 실시예의 1/2 화소 정밀도 움직임 검출에서는, 정수 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변 8개의 1/2 화소에 대하여, 1/2 화소 정밀도 움직임 검출이 실시된다.
이하의 설명에서는, 본 실시예의 1/2 화소 정밀도 움직임 검출을 수평 방향으로 1/4로 추출된 참조 화상에 대하여 실시하는 예에 대하여 설명한다.
도 4는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 1/2 화소 배치도이다. 도 4에 있어서, 흰 원의 화소 Fp1은 추출되지 않은 정수 화소를 나타내고, 검은 원의 화소 Fp2는 추출된 정수 화소를 나타낸다. 또한, 작은 흰 원의 화소 Hp1은 추출되지 않은 정수 화소 Fp1로부터 산출된 1/2 화소를 나타낸다.
1/2 화소는 상술한 바와 같이, 정수 화소값의 평균으로 산출한다. 도 4에 나타내는 바와 같이, 임의의 탐색 위치에 주목하면, 1/2 화소는 가로 방향으로 4화소 단위에서 유효하다. 또한, 같은 1/4로 추출된 처리에서도, 1/2 화소 정밀도 움직임 검출에는, 정수 화소 정밀도 움직임 검출시와 비교하여, 보다 많은 참조 화상 데이터가 필요하게 되는 것을 알 수 있다.
도 2로 되돌아가, 단계 S35에 있어서, 1/4 화소 정밀도 움직임 검출에 사용되는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 프로세서(20)로부터의 명령에 의해, SDRAM(41)으로부터 로컬 메모리(33)로 전송된다.
단계 S36에 있어서, 1/4 화소 정밀도 움직임 검출기(23)는 1/2 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변에서, 1/4 화소 정밀도 움직임 검출을 실시한다.
움직임 검출의 최후의 계층인 1/4 화소 정밀도 움직임 검출에서는, 움직임 검출의 정밀도를 향상시키기 위해서, 화소의 추출은 행해지지 않는다.
도 5는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4 화소 배치도이다. 도 5에 있어서, 흰 원의 화소 Fp1은 정수 화소를 나타내고, 작은 흰 원의 화소 Hp1은 1/2 화소를 나타내고, 작은 검은 원의 화소 Qp1은 1/4 화소를 나타낸다. 화소 Fp1, 화소 Hp1 및 화소 Qp1의 부호 부가는 대표적인 것으로서, 모든 화소에 부호를 부가하고 있는 것은 아니다.
1/4 화소의 산출은 1/2 화소가 정수 화소로부터 산출된 경우와 마찬가지로, 1/2 화소의 평균치로서 구해진다. 도 5에 나타낸 1/4 화소의 배치, 1/4 화소를 산출하기 위한 1/2 화소의 배치, 또, 1/2 화소를 산출하기 위한 정수 화소의 배치로부터 명백한 바와 같이, 1/4 화소 정밀도 움직임 검출에서는 정수 화소를 추출할 수 없다. 따라서, 추출이 있는 1/2 화소로부터의 1/2 화소 정밀도 움직임 검출이 종료되면, 1/4 화소 정밀도 움직임 검출용으로서, 추출이 없는 참조 화상 데이터를 전송해야 한다.
그런데, 전술한 바와 같이, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송의 종료를 기다려, 1/4 화소 정밀도 움직임 검출을 실시하면, 1/4 화소 정밀도 움직임 검출의 개시가 지연되어, 대기 시간이 증가한다. 그래서, 도 2 에 나타내는 단계 S35에서는, 정수 화소 정밀도 움직임 검출이 종료된 시점에서, 1/2 화소 정밀도 움직임 검출에 있어서의 탐색 범위를 포함하도록, 1/4 화소 정밀도 움직임 검출용의 데이터를 전송한다.
도 6은 본 발명의 실시예 1에 있어서의 참조 화상의 전송 범위를 나타내는 설명도이다. 도 6에 있어서, 각 화소의 부호는 도 5와 마찬가지이며, 설명을 생략한다.
도 6에 나타내는 예에서는, 부호화하는 매크로 블록은 3화소×3화소로 구성된다고 가정하고 있다(실제로는, 부호화하는 매크로 블록은 16화소×16화소로 구성됨). 실선의 테두리(51)가 정수 화소 정밀도 움직임 검출로 매칭을 취한 매크로 블록이며, 그 정수 화소 정밀도 움직임 벡터 MV-INT의 위치는 테두리(51)의 좌측 상단의 화소 Fp3의 좌표로 주어진다. 점선으로 나타내는 테두리(52)는 1/4 화소 정밀도 움직임 검출용으로 전송해야 할 참조 화상의 범위를 나타낸다. 즉, 테두리(52)는 1/2 화소 정밀도 움직임 검출에 있어서, 화소 Fp3으로 표시되는 움직임 벡터 MV-INT의 위치로부터, 그 주변의 8개의 1/2 화소 중 어느 것으로 1/2 화소 정밀도 움직임 벡터 MV-HALF의 검출 결과가 귀착되더라도, 다음 1/4 화소 정밀도 움직임 검출을 위한 1/4 화소를 생성하기 위해 필요한 정수 화소가 반드시 포함되도록 하는 화소의 범위를 나타내고 있다.
이와 같이, 1/4 화소 정밀도 움직임 검출을 위한 참조 화상 데이터의 전송 범위를 테두리(52)로 나타내는 범위로 설정하면, 1/4 화소 정밀도 움직임 검출을 위한 참조 화상 데이터를, 정수 화소 정밀도 움직임 검출에 있어서 움직임 벡터 MV -INT가 확정된 단계에서, 도 1의 SDRAM(41)으로부터 로컬 메모리(33)로 전송할 수 있다. 이 결과, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고서, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/4 화소 정밀도 움직임 검출의 데이터 대기 시간이 감소되어, 매크로 블록 처리의 대기 시간이 개선된다.
도 7은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 도 7은 본 실시예의 움직임 검출 장치의 처리의 파이프라인이 움직임 검출 처리와 참조 화상 DMA 전송 처리로 나뉘어, 스테이지-0으로부터 스테이지-4에 걸쳐 구성되어 있는 것을 나타내고 있다. 상술한 바와 같이, 본 실시예의 움직임 검출 장치에서는, 스테이지-3에 있어서, 1/2 화소 정밀도 움직임 검출과 동시에, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송이 실시될 수 있기 때문에, 파이프라인 단수를 한단 감소시킬 수 있다.
이상 설명한 바와 같이, 본 실시예의 움직임 검출 장치에 의하면, 파이프라인 단수를 한단 감소시킬 수 있고, 그만큼 움직임 검출 처리를 고속으로 실시할 수 있기 때문에, 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제할 수 있다.
(실시예 2)
도 8은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 블록도이다. 도 8에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하는 것 에 의해, 설명을 생략한다.
본 실시예의 움직임 검출 장치는 도 8에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 움직임 보상기(24), 로컬 메모리(31, 32, 33), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.
로컬 메모리(31)는 제 1 기억 수단에 상당하고, 정수 화소 정밀도 움직임 검출기(21)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(32)는 제 2 기억 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(33)는 제 3 기억 수단에 상당하고, 움직임 보상기(24)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. SDRAM(41)은 주 기억 장치에 상당하고, 현 프레임과 참조 프레임의 화상 데이터를 저장한다.
DMA 컨트롤러(42)는 데이터 전송 제어 수단에 상당하고, SDRAM(41)과 로컬 메모리(31, 32, 33)간의 데이터 전송을 제어한다. 프로세서(20)는 움직임 검출 장치 전체의 처리를 제어한다. 또한, 도 8에 있어서, 실선은 데이터선을 나타내고, 점선은 제어선을 나타낸다.
본 실시예의 움직임 검출 장치에서는, 움직임 검출은 정수 화소 정밀도와 1/2 화소 정밀도의 2계층에서 실시되고, 1/4 화소 정밀도 움직임 검출은 실시되지 않는다. 또한, 1/2 화소 정밀도 움직임 검출에서는, 참조 화상의 화소를 추출하 지 않는 것으로 한다. 1/2 화소 정밀도 움직임 검출 후, 움직임 보상이 실시된다.
도 9는 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 흐름도이다.
도 8을 참조하면서, 도 9에 따라서, 본 실시예의 움직임 검출 장치의 동작을 설명한다.
단계 S41에 있어서의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터의 전송, 단계 S42에 있어서의 정수 화소 정밀도 움직임 검출, 단계 S43에 있어서의 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터의 전송 및 단계 S44에 있어서의 1/2 화소 정밀도 움직임 검출은 도 2에 나타낸 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도의 단계 S31, 단계 S32, 단계 S33 및 단계 S34와 마찬가지이고, 설명을 생략한다.
단계 S44에 있어서, 1/2 화소 정밀도 움직임 검출이 종료되면, 다음으로 움직임 보상을 실시한다. 움직임 보상은 휘도 성분의 참조 화상과 색차 성분의 참조 화상에 대하여 실시된다. 그러나, 이 단계에서는, 색차 성분의 참조 화상 데이터는 로컬 메모리(33)로 아직 전송되어 있지 않다. 또한, 색차 성분의 참조 화상 데이터 영역은 휘도 성분의 움직임 벡터가 확정된 후가 아니면 특정할 수 없기 때문에, 종래 기술에서는, 1/2 화소 정밀도 움직임 검출의 확정 후에, 색차 성분의 참조 화상 데이터를 전송해야 했다.
그래서, 본 실시예의 움직임 검출 장치에서는, 단계 S45에 있어서, 정수 화 소 움직임 벡터가 확정된 단계에서, 1/2 화소 정밀도 움직임 검출의 탐색 범위를 포함하도록, 색차 성분의 참조 화상 데이터의 전송을 개시한다. 즉, 실시예 1에 있어서의 도 2의 단계 S35의 1/4 화소 정밀도 움직임 검출용 참조 화상 전송과 마찬가지로, 1/2 화소 정밀도 움직임 검출의 어떠한 탐색 결과에도 대응할 수 있도록, 필요한 색차 성분의 참조 화상 데이터 영역을 정의하고, 그 영역의 색차 성분의 참조 화상 데이터를 정수 화소 정밀도 움직임 검출에 있어서의 움직임 벡터의 결정 직후에, 도 8에 나타내는 SDRAM(41)으로부터 로컬 메모리(33)로 전송한다.
단계 S46에 있어서, 단계 S44에 있어서의 1/2 화소 정밀도 움직임 검출 결과에 따라, 로컬 메모리(33)에 저장되어 있는 휘도 성분의 참조 화상 데이터와 색차 성분의 참조 화상 데이터를 판독하고, 움직임 보상을 행한다.
상술한 단계 S45에 있어서의 색차 성분의 참조 화상 데이터의 구체적인 전송 방법을 또한 설명한다.
도 10은 본 발명의 실시예 2에 있어서의 휘도 좌표와 색차 좌표의 대응표이다. 이 대응표는 수평 방향과 수직 방향의 좌표에 동일하게 적용할 수 있다.
색차 성분의 참조 화상 데이터(이하, 색차 데이터라 부름)는 수평 방향과 수직 방향의 각각에 있어서, 휘도 성분의 참조 화상 데이터(이하, 휘도 데이터라 부름)의 절반의 양이기 때문에, 각각의 방향에서 휘도 데이터 2개에 대하여 색차 데이터 1개가 대응한다(화면 전체에서는, 휘도 데이터 4개에 대하여 색차 데이터 1개가 대응함). 즉, 도 10에 나타내는 바와 같이, 휘도의 좌표값 「O」은 색차의 좌표값 「O」에, 휘도의 좌표값 「0.5」, 「1」, 「1.5」는 색차의 좌표값 「0.5」 에, 휘도의 좌표값 「2」는 색차의 좌표값 「1」에 각각 대응한다고 하는 상태이다. 이 좌표 변환 규칙에 의하면, 예컨대, 휘도 데이터의 XY 좌표 (1.5, 2.5)에 대응하는 색차 데이터의 XY 좌표는 (0.5, 1.5)이다.
움직임 보상에 있어서, 피부호화 매크로 블록의 16화소×16화소의 휘도 데이터에 대응하여 생성해야 하는 색차 데이터는 8화소×8화소이다. 도 11은 본 발명의 실시예 2에 있어서의 색차 데이터의 전송 범위의 설명도이다. 도 11은 설명을 간단히 하기 위해, 수평 방향에 있어서의 휘도 데이터의 좌표로부터 색차 데이터의 좌표로 좌표 변환하는 예를 나타내고 있다.
지금, 휘도 데이터에 있어서, 정수 화소 정밀도 움직임 검출의 결과, 정수 화소 정밀도 움직임 벡터 MV-INT의 위치는 검은 원의 정수 화소 Fp12로 구해졌다고 가정한다. 다음의 계층의 1/2 화소 정밀도 움직임 검출에서는, 1/2 화소 정밀도 움직임 벡터가 검출될 가능성이 있는 좌표 위치는 정수 화소 Fp12의 좌우의 1/2 화소 Hp11과 1/2 화소 Hp12 및 정수 화소 Fp12 그 자신이다. 예컨대, 정수 화소 Fp12의 X 좌표가 「2」인 경우, 1/2 화소 정밀도 움직임 벡터가 검출될 가능성이 있는 화소 Hp11, Fp12, Hp12의 X 좌표는 각각, 「1.5」, 「2」, 「2.5」가 된다.
이들 휘도 데이터의 좌표에 대응하는 색차 데이터의 좌표와 화소는 도 10의 좌표 변환 규칙으로부터, 좌표 「0.5」의 1/2 화소 Hp20, 좌표 「1」의 정수 화소 Fp21, 좌표 「1.5」의 1/2 화소 Hp21이 된다. 즉, 색차 데이터의 1라인-8화소분으로서 생성될 가능성이 있는 화소의 좌표는 다음 3개의 경우 중 하나이다.
Figure 112008083920778-PAT00003
좌표 「0.5」의 1/2 화소 Hp20으로부터 좌표 「7.5」의 1/2 화소 Hp27까지를 포함하는 경우, (1)의 색차 데이터를 생성하기 위해서는, 좌표 「0」의 정수 화소 Fp20으로부터 좌표 「8.0」의 정수 화소 Fp28까지를 SDRAM(41)으로부터 로컬 메모리(33)로 전송해야 한다.
좌표 「1.5」의 정수 화소 Hp21로부터 좌표 「8.5」의 정수 화소 Hp28을 포함하는 경우, (3)의 색차 데이터를 생성하기 위해서는, 좌표 「1」의 정수 화소 Fp21로부터 좌표 「9.0」의 정수 화소 Fp29까지를 SDRAM(41)으로부터 로컬 메모리(33)로 전송해야 한다.
이상으로부터, 경우 (1), (2), (3)의 색차 데이터를 전부 생성할 수 있도록 하기 위해서는, 좌표 「0」의 정수 화소 Fp20으로부터 좌표 「9.0」의 정수 화소 Fp29까지를 SDRAM(41)으로부터 로컬 메모리(33)로 전송하면 된다. 이와 같이 계산하는 것으로, 1/2 화소 정밀도 움직임 검출이 종료되기 전에, 색차의 참조 화상 데이터를 전송하는 것이 가능하다.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 움직임 보상용의 참조 화상 데이터를 전송할 수 있기 때문에, 움직임 보상에 필요한 참조 화상 데이터를 취득하기 위한 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.
여기서, 본 실시예의 움직임 검출 장치에 있어서의 필요한 파이프라인 단수와 파이프라인 버퍼수의 감소 효과를 보다 명확히 하기 위해서, 종래 기술과 비교해보자.
도 12는 종래 기술에 의한 움직임 검출 장치의 파이프라인 구성을 나타낸다. 동시에, 도 12에는, 각 단에서 필요한 파이프라인 버퍼를 나타내고 있다.
도 12에 나타내는 바와 같이, 스테이지-0에 있어서, 현재 전송되고 있는 참조 화상의 휘도 데이터를 유지하기 위한 참조 화상 버퍼(휘도)가 필요하게 된다. 이것은 다른 매크로 블록 세대에 있어서, 데이터 전송과 처리가 스테이지-O과 스테이지-1에서 동시에 실시되고 있기 때문이다. 예컨대, 스테이지-1에서 (n)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출을 실행하고 있을 때에, 스테이지-O에서 (n+1)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 병행하여 전송하고 있다. 이 때, (n)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출에서 참조하고 있는 메모리 영역을 파괴하지 않기 위해, 스테이지-O에 있어서의 데이터 전송을 위해 별도의 버퍼를 마련해야 한다. 또한, 스테이지-1의 정수 화소 정밀도 움직임 검출에 사용되는 현 화상의 매크로 블록 데이터(휘도 데이터와 색차 데이터)를 스테이지-O에 있어서 동시에 전송하기 위해, 현 매크로 블록 버퍼(휘도·색차)가 필요하다.
종래 기술에 의한 움직임 검출 장치에서는, 움직임 보상용 데이터의 전송이 스테이지-2의 1/2 화소 정밀도 움직임 검출이 완료된 후에 실행되기 때문에, 움직임 보상을 스테이지-2와는 다른 스테이지-3에서 행할 필요가 있다. 이것은 1 /2 화소 정밀도 움직임 검출과 움직임 보상의 처리를 같은 단에서 행하는 것이 기능상 어렵기 때문이다. 이 결과, 스테이지-2에, 휘도 데이터 전송용의 참조 화상 버퍼(휘도)와, 색차 데이터 전송용의 참조 화상 버퍼(색차), 스테이지-3에, 휘도 데이터 움직임 보상용의 참조 화상 버퍼(휘도)와, 색차 데이터 움직임 보상용의 참조 화상 버퍼(색차)가 필요하게 된다.
이와 같이, 종래 기술에 의한 움직임 검출 장치에서는, 4단의 파이프라인이 필요하고, 파이프라인 버퍼는 총 10개가 필요하다.
도 13은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 파이프라인 구성에 의하면, 스테이지-O에 있어서 정수 화소 정밀도 움직임 검출용 데이터 전송을 행하고, 스테이지-1에 있어서 정수 화소 정밀도 움직임 검출을 행하여, 그 결과를 받아 1/2 화소 정밀도 움직임 검출용 데이터 전송을 행한다. 스테이지―2에 있어서 1/2 화소 정밀도 움직임 검출과 움직임 보상용 데이터(색차 데이터) 전송을 병행하여 행하고, 그 후 움직임 보상을 실시한다.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 스테이지―1의 정수 화소 정밀도 움직임 검출의 결과에 의해, 움직임 보상용 데이터(색차 데이터)의 전송 범위를 특정하고, 움직임 보상용 데이터(휘도 데이터와 색차 데이터)의 전송을 스테이지―2에 있어서 1/2 화소 정밀도 움직임 검출과 병행하여 실시할 수 있기 때문에, 필요한 파이프라인 단수는 3단이다. 이것은 도 12에 나타낸 종래 기술에 의한 움직임 검출 장치보다 1단 적다.
도 13에는, 파이프라인의 각 단에서 필요하게 되는 파이프라인 버퍼도 동시에 나타내고 있다. 본 실시예의 움직임 검출 장치에서는, 필요한 파이프라인 버퍼는 각 단의 휘도 데이터용의 참조 화상 버퍼(휘도)와, 휘도 데이터와 색차 데이터용의 현 매크로 블록 버퍼(휘도·색차) 및 스테이지-2의 색차 데이터용의 참조 화상 버퍼(색차)의 총 7개이다. 즉, 본 실시예의 움직임 검출 장치에서는, 스테이지―3이 불필요하게 된 효과로서, 파이프라인 버퍼수를 도 12에 나타낸 종래 기술에 의한 움직임 검출 장치의 10개에서 7개로 감소시킬 수 있다.
(실시예 3)
도 14는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 블록도이다. 도 14에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하고, 설명을 생략한다.
본 실시예의 움직임 검출 장치는 도 14에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 로컬 메모리(31, 32), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.
본 실시예의 움직임 검출 장치에서는, 정수 화소 정밀도 움직임 검출 후에, 1/2 화소 정밀도 움직임 검출을 실시하고, 1/4 화소 정밀도 움직임 검출은 실시하지 않는다. 또한, 1/2 화소 정밀도 움직임 검출에서는, 참조 화상의 화소를 추출하지 않는 것으로 한다.
도 15는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 흐름도이다.
도 15에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 단계 S51에 있어서, 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(31)로 전송한다.
단계 S52에 있어서, 정수 화소 정밀도 움직임 검출을 행한다.
단계 S53에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(32)로 전송한다. 이 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송은 단계 S51의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송과 병행하여 행해도 좋고, 단계 S52의 정수 화소 정밀도 움직임 검출과 병행하여 행해도 좋다.
1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송할 영역은 정수 화소 정밀도 움직임 검출의 탐색 결과에 의존하지 않고 결정된다. 그 결정의 방법은 본 발명의 실시예 1에 있어서의 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송 영역의 결정의 방법과 마찬가지이다(도 6 참조). 즉, 현재 부호화중인 매크로 블록에 대하여, 정수 정밀도 움직임 벡터가 어떤 위치에 귀착되더라도, 1/2 화소 정밀도 움직임 검출에 필요한 참조 화상 데이터가 반드시 포함되도록, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송할 영역을 결정한다.
단계 S54에 있어서, 단계 S52의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 단계 S53에서 전송한 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/2 화소 정밀도 움직임 검출을 행한다.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.
도 16은 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 움직임 검출 장치에 의하면, 스테이지-1에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터 전송이 실시될 수 있기 때문에, 파이프라인 단수가 1개 적은 것으로 족하다.
(실시예 4)
본 발명의 실시예 4의 움직임 검출 장치는 도 1에 나타낸 본 발명의 실시예 1의 움직임 검출 장치와 같은 블록 구성이다. 따라서, 본 실시예의 움직임 검출 장치의 설명은 도 1을 참조하여 행한다.
본 실시예의 움직임 검출 장치는 본 발명의 실시예 1과 실시예 3을 조합시킨 것이며, 정수 화소 정밀도 움직임 검출, 1/2 화소 정밀도 움직임 검출 및 1/4 화소 정밀도 움직임 검출을 실시한다. 또한, 본 실시예의 움직임 검출 장치는 1/2 화소 정밀도 움직임 검출용의 참조 화상 전송을 정수 화소 정밀도 움직임 검출의 결과를 기다리는 일 없이 실시할 수 있고, 또한, 1/4 화소 정밀도 움직임 검출용의 참조 화상 전송을 정수 화소 정밀도 움직임 검출에 있어서 움직임 벡터가 확정된 직후에 개시할 수 있다.
도 17은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 흐름도이다. 도 1을 참조하면서, 도 17에 따라, 본 실시예의 움직임 검출 장치의 동작을 설명한다.
단계 S61에 있어서, 정수 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.
단계 S62에 있어서, 정수 화소 정밀도 움직임 검출을 행한다.
단계 S62와 동시에, 단계 S63에 있어서, 1/2 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.
단계 S64에 있어서, 단계 S62의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 단계 S63에서 전송한 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/2 화소 정밀도 움직임 검출을 행한다.
단계 S64와 동시에, 단계 S65에 있어서, 단계 S62의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로 결정된 데이터 전송 영역에 대하여, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.
단계 S66에 있어서, 단계 S64의 1/2 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 단계 S65에서 전송한 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/4 화소 정밀도 움직임 검출을 행한다.
이와 같이, 본 실시예의 움직임 검출 장치는 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대 기 시간이 감소된다. 또한, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대기 시간이 감소된다. 이 결과, 본 실시예의 움직임 검출 장치에 의하면, 매크로 블록 처리의 대기 시간이 대폭 개선된다.
도 18은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 도 18에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 스테이지-1에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송이 실시될 수 있고, 또한, 스테이지―2에 있어서, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송이 실시될 수 있다. 그 결과, 본 실시예의 움직임 검출 장치에서는, 파이프라인 단수가 2단 감소된다. 또한, 본 실시예의 움직임 검출 장치는 매크로 블록 처리의 대기 시간이 움직임 벡터 검출의 실행 시간에 의해서만 결정되어, 데이터 전송에 의한 지연이 발생하지 않는다고 하는 특징을 갖는다.
(실시예 5)
도 19는 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 블록도이다. 도 19에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하고, 설명을 생략한다.
본 실시예의 움직임 검출 장치는 도 19에 나타내는 바와 같이, 정수 화소 정 밀도 움직임 검출기(21), 움직임 보상기(24), 로컬 메모리(31, 32), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.
본 실시예의 움직임 검출 장치에서는, 정수 화소 정밀도 움직임 검출 후에, 움직임 보상을 행한다.
도 20은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 흐름도이다.
도 20에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 단계 S71에 있어서, 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(31)로 전송한다.
단계 S72에 있어서, 단계 S71에 있어서 로컬 메모리(31)로 전송된 참조 화상 데이터를 이용하여, 정수 화소 정밀도 움직임 검출을 행한다.
단계 S73에 있어서, 움직임 보상용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(32)로 전송한다. 이 참조 화상 데이터의 전송은 단계 S72의 정수 화소 정밀도 움직임 검출과 병행하여 실시한다.
단계 S74에 있어서, 단계 S73에서 전송한 움직임 보상용의 참조 화상 데이터를 이용하여, 단계 S72의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 움직임 보상을 행한다.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 움직임 보상용의 참조 화상 데이터를 전송할 수 있기 때문에, 움직임 보상용의 참조 화상 데이터의 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.
도 21은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 움직임 검출 장치에 의하면, 스테이지-1에 있어서, 움직임 보상용의 참조 화상 데이터 전송이 실시될 수 있기 때문에, 파이프라인 단수가 1개 적은 것으로 족하다.
이상 설명한 바와 같이, 본 발명의 움직임 검출 장치에 의하면, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송과 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송을, 각각 상위 계층의 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 실시할 수 있기 때문에, 참조 화상 데이터의 전송에 따른 지연이 발생하지 않고, 매크로 블록 처리의 대기 시간이 대폭 개선된다. 또한, 본 발명의 움직임 검출 장치에 의하면, 파이프라인 단수의 감소와, 파이프라인 버퍼수의 감소가 가능해진다. 이 결과, 고속 처리가 가능한 동화상의 움직임 검출 장치를 보다 소형으로 낮은 비용에 실현할 수 있다.
본 발명의 취지는 참조 화상 데이터의 전송에 따르는 매크로 블록 처리의 대기 시간을 개선하고, 또한, 파이프라인 버퍼의 필요한 개수를 감소시킬 수 있는, 동화상 부호화용 움직임 검출 장치를 실현하는 것에 있고, 본 발명의 취지를 일탈하지 않는 한, 여러 가지의 적용이 가능하다.
(산업상 이용 가능성)
본 발명에 따른 움직임 검출 장치는, 예컨대, 동화상의 부호화 장치와 그 응용 분야에서 이용할 수 있다.
도 1은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 블록도,
도 2는 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도,
도 3은 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 정수 화소 배치도,
도 4는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 1/2 화소 배치도,
도 5는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4 화소 배치도,
도 6은 본 발명의 실시예 1에 있어서의 참조 화상의 전송 범위를 나타내는 설명도,
도 7은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 파이프라인의 구성도,
도 8은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 블록도,
도 9는 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 흐름도,
도 10은 본 발명의 실시예 2에 있어서의 휘도 좌표와 색차 좌표의 대응표,
도 11은 본 발명의 실시예 2에 있어서의 색차 데이터의 전송 범위의 설명도,
도 12는 종래 기술에 의한 움직임 검출 장치의 파이프라인 구성도,
도 13은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 파이프라인의 구성도,
도 14는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 블록도,
도 15는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 흐름도,
도 16은 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 파이프라인의 구성도,
도 17은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 흐름도,
도 18은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 파이프라인의 구성도,
도 19는 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 블록도,
도 20은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 흐름도,
도 21은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 파이프라인의 구성도,
도 22는 종래의 일반적인 움직임 검출부의 블록도,
도 23은 종래의 일반적인 움직임 검출부의 흐름도,
도 24는 1화소마다 추출된 정수 화소의 예시도,
도 25는 정수 화소 B의 근방에 생성된 1/2 화소의 예시도,
도 26은 동화상 부호화 처리의 흐름도,
도 27은 동화상 부호화의 파이프라인 처리의 예시도,
도 28은 움직임 검출의 흐름도,
도 29는 움직임 검출의 파이프라인의 구성도이다.
도면의 주요 부분에 대한 부호의 설명
1 : 정수 화소 정밀도 움직임 검출부
2 : 1/2 화소 정밀도 움직임 검출부
3 : 움직임 보상부 4 : 제 1 로컬 메모리
5 : 제 2 로컬 메모리 6 : 제 3 로컬 메모리
7 : DMA 컨트롤러 8 : SDRAM
20 : 프로세서
21 : 정수 화소 정밀도 움직임 검출기
22 : 1/2 화소 정밀도 움직임 검출기
23 : 1/4 화소 정밀도 움직임 검출기
24 : 움직임 보상기 31, 32, 33 : 로컬 메모리
41 : SDRAM 42 : DMA 컨트롤러

Claims (12)

  1. 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서,
    프로세서와,
    제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과,
    상기 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과,
    상기 제 1 움직임 검출 수단으로 검출한 상기 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과,
    상기 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과,
    상기 제 2 움직임 검출 수단으로 검출한 상기 제 2 단계의 움직임 벡터를 이용하여 실시하는 제 3 단계의 움직임 벡터 검출을 위한 제 3 참조 화상을 저장하는 제 3 기억 수단과,
    상기 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 제 3 단계의 움직임 벡터를 검출하는 제 3 움직임 검출 수단과,
    상기 참조 화상과 상기 피부호화 화상을 저장하는 주 기억 수단과,
    상기 주 기억 수단과 상기 제 1 기억 수단간의 데이터 전송, 상기 주 기억 수단과 상기 제 2 기억 수단간의 데이터 전송 및 상기 주 기억 수단과 상기 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고,
    상기 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 상기 프로세서는 상기 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 상기 제 1 단계에서 검출한 움직임 벡터에 근거하여, 상기 주 기억 수단으로부터 상기 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고,
    상기 제 1 단계의 움직임 벡터의 참조가 불필요한 경우, 상기 프로세서는 상기 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 상기 주 기억 수단으로부터 상기 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하는 움직임 검출 장치.
  2. 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서,
    프로세서와,
    제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과,
    상기 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과,
    상기 제 1 움직임 검출 수단으로 검출한 상기 제 1 단계의 움직임 벡터를 이 용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과,
    상기 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과,
    상기 제 2 움직임 검출 수단으로 검출한 상기 제 2 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한, 휘도 화상 및 색차 화상으로 구성되는 제 3 참조 화상을 저장하는 제 3 기억 수단과,
    상기 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과,
    상기 참조 화상과 상기 피부호화 화상을 저장하는 주 기억 수단과,
    상기 주 기억 수단과 상기 제 1 기억 수단간의 데이터 전송, 상기 주 기억 수단과 상기 제 2 기억 수단간의 데이터 전송 및 상기 주 기억 수단과 상기 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단
    을 구비하고,
    상기 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 상기 프로세서는 상기 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 상기 제 1 단계에서 검출한 움직임 벡터에 근거하여, 상기 주 기억 수단으로부터 상기 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고,
    상기 제 1 단계의 움직임 벡터의 참조가 불필요한 경우, 상기 프로세서는 상기 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 상기 주 기억 수단으로부터 상기 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하는 움직임 검출 장치.
  3. 참조 화상과 피부호화 화상의 상관에 의해, 움직임 벡터를 검출하는 움직임 검출 장치로서,
    프로세서와,
    제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과,
    상기 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과,
    상기 제 1 움직임 검출 수단으로 검출한 상기 제 1 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한, 휘도 화상 및 색차 화상으로 구성되는 제 2 참조 화상을 저장하는 제 2 기억 수단과,
    상기 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과,
    상기 참조 화상과 상기 피부호화 화상을 저장하는 주 기억 수단과,
    상기 주 기억 수단과 상기 제 1 기억 수단간의 데이터 전송 및 상기 주 기억 수단과 상기 제 2 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단
    을 구비하고,
    상기 프로세서는 상기 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 상 기 주 기억 수단으로부터 상기 제 2 기억 수단으로 제 2 참조 화상의 데이터를 전송하는 움직임 검출 장치.
  4. 제 1 항에 있어서,
    상기 제 1 움직임 검출 수단은 정수 화소 정밀도의 움직임 벡터를 검출하는 움직임 검출 장치.
  5. 제 1 항에 있어서,
    상기 제 2 움직임 검출 수단은 1/2 화소 정밀도의 움직임 벡터를 검출하는 움직임 검출 장치.
  6. 제 1 항에 있어서,
    상기 제 3 움직임 검출 수단은 1/4 화소 정밀도 움직임 벡터를 검출하는 움직임 검출 장치.
  7. 제 1 항에 있어서,
    상기 제 1 기억 수단과 상기 제 2 기억 수단은 메모리에 실장되고, 상기 제 1 기억 수단의 메모리 크기는 상기 제 2 기억 수단의 메모리 크기보다 큰 움직임 검출 장치.
  8. 제 1 항에 있어서,
    상기 제 2 기억 수단과 상기 제 3 기억 수단은 메모리에 실장되고, 상기 제 2 기억 수단의 메모리 크기는 상기 제 3 기억 수단의 메모리 크기보다 큰 움직임 검출 장치.
  9. 제 1 항에 있어서,
    상기 제 2 기억 수단에는, 상기 데이터 전송 제어 수단과 상기 제 2 움직임 검출 수단 중 어느 한쪽이 액세스하는 움직임 검출 장치.
  10. 제 1 항에 있어서,
    상기 제 3 기억 수단에는, 상기 데이터 전송 제어 수단과 상기 제 3 움직임 검출 수단 중 어느 한쪽이 액세스하는 움직임 검출 장치.
  11. 제 2 항에 있어서,
    상기 제 3 기억 수단에는, 상기 데이터 전송 제어 수단과 상기 움직임 보상 수단 중 어느 한쪽이 액세스하는 움직임 검출 장치.
  12. 제 1 항에 있어서,
    상기 제 1 움직임 검출 수단으로 검출한 움직임 벡터를 기준으로 하여, 필요한 범위의 참조 화상의 데이터가 상기 제 2 기억 수단으로부터 상기 제 3 기억 수단으로 전송되는 움직임 검출 장치.
KR1020087029764A 2004-07-13 2005-07-07 움직임 검출 장치 KR20090014371A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004205806 2004-07-13
JPJP-P-2004-205806 2004-07-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067022100A Division KR100892471B1 (ko) 2004-07-13 2005-07-07 움직임 검출 장치

Publications (1)

Publication Number Publication Date
KR20090014371A true KR20090014371A (ko) 2009-02-10

Family

ID=35783833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087029764A KR20090014371A (ko) 2004-07-13 2005-07-07 움직임 검출 장치

Country Status (6)

Country Link
US (1) US20080031335A1 (ko)
EP (1) EP1768420A1 (ko)
JP (1) JP4709155B2 (ko)
KR (1) KR20090014371A (ko)
CN (1) CN100553342C (ko)
WO (1) WO2006006489A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775452B2 (en) 2006-09-17 2014-07-08 Nokia Corporation Method, apparatus and computer program product for providing standard real world to virtual world links
US20080267521A1 (en) * 2007-04-24 2008-10-30 Nokia Corporation Motion and image quality monitor
US20080268876A1 (en) * 2007-04-24 2008-10-30 Natasha Gelfand Method, Device, Mobile Terminal, and Computer Program Product for a Point of Interest Based Scheme for Improving Mobile Visual Searching Functionalities
US20080267504A1 (en) * 2007-04-24 2008-10-30 Nokia Corporation Method, device and computer program product for integrating code-based and optical character recognition technologies into a mobile visual search
JP4892468B2 (ja) * 2007-12-19 2012-03-07 キヤノン株式会社 動画像符号化装置、動画像符号化装置の制御方法及びコンピュータプログラム
US20090323807A1 (en) * 2008-06-30 2009-12-31 Nicholas Mastronarde Enabling selective use of fractional and bidirectional video motion estimation
JP5141633B2 (ja) * 2009-04-24 2013-02-13 ソニー株式会社 画像処理方法及びそれを用いた画像情報符号化装置
US9300975B2 (en) * 2011-09-11 2016-03-29 Texas Instruments Incorporated Concurrent access shared buffer in a video encoder
JP2016195294A (ja) * 2013-09-02 2016-11-17 三菱電機株式会社 動き探索処理装置及び画像符号化装置及び動き探索処理方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05236466A (ja) * 1992-02-25 1993-09-10 Nec Corp 動き補償フレーム間予測画像符号化装置及び方法
JPH06197322A (ja) * 1992-12-24 1994-07-15 Matsushita Electric Ind Co Ltd 動き検出回路
JP3004968B2 (ja) * 1997-09-03 2000-01-31 松下電器産業株式会社 プロセッサ
CN1157641C (zh) * 1997-09-03 2004-07-14 松下电器产业株式会社 处理器
JP3611507B2 (ja) * 2000-05-30 2005-01-19 松下電器産業株式会社 動きベクトル検出装置
JP2002218474A (ja) * 2001-01-24 2002-08-02 Mitsubishi Electric Corp 画像データ符号化装置
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards

Also Published As

Publication number Publication date
EP1768420A1 (en) 2007-03-28
US20080031335A1 (en) 2008-02-07
CN100553342C (zh) 2009-10-21
JP4709155B2 (ja) 2011-06-22
JPWO2006006489A1 (ja) 2008-04-24
WO2006006489A1 (ja) 2006-01-19
CN1954616A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
CN100553321C (zh) 编码动态滤波器
KR20090014371A (ko) 움직임 검출 장치
US8964829B2 (en) Techniques to perform fast motion estimation
JP5426655B2 (ja) 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法
JP2008523724A (ja) 動画像符号化のための動き推定技術
KR100843418B1 (ko) 화상 부호화 장치 및 화상 부호화 방법
JP2006254349A (ja) 動きベクトル検出方法、動きベクトル検出装置およびコンピュータ上で動きベクトル検出処理を実行するコンピュータプログラム
JP2007142521A (ja) 動きベクトル算出装置および動きベクトル算出方法
JP2938412B2 (ja) 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
JPH11239354A (ja) 動きベクトル検出器
JP2007129370A (ja) 動きベクトル検出装置及び方法
FI109634B (fi) Menetelmä ja laite videokuvan koodaamiseksi
CN112449182A (zh) 视频编码方法、装置、设备及存储介质
KR20170126934A (ko) 컨텐츠-적응적 b-픽쳐 패턴 비디오 인코딩
JP2005167976A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
KR100926752B1 (ko) 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
KR100892471B1 (ko) 움직임 검출 장치
US20060062305A1 (en) Method for block-matching motion estimation with effective computation while small motion movement
JP2010226528A (ja) 符号化装置およびその方法
JP4590337B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2004260251A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
JP2008072608A (ja) 画像符号化装置及び画像符号化方法
WO2020181507A1 (zh) 图像处理的方法与装置
JP2005354174A (ja) 動き探索装置
KR100290618B1 (ko) 영상압축부호화에서블럭단위의이동추정방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid