KR100686393B1 - 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법 - Google Patents

하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법 Download PDF

Info

Publication number
KR100686393B1
KR100686393B1 KR1020050028985A KR20050028985A KR100686393B1 KR 100686393 B1 KR100686393 B1 KR 100686393B1 KR 1020050028985 A KR1020050028985 A KR 1020050028985A KR 20050028985 A KR20050028985 A KR 20050028985A KR 100686393 B1 KR100686393 B1 KR 100686393B1
Authority
KR
South Korea
Prior art keywords
threshold
minimum difference
image data
absolute value
difference absolute
Prior art date
Application number
KR1020050028985A
Other languages
English (en)
Other versions
KR20060106953A (ko
Inventor
이순탁
김병우
박정훈
Original Assignee
주식회사 텔레칩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 텔레칩스 filed Critical 주식회사 텔레칩스
Priority to KR1020050028985A priority Critical patent/KR100686393B1/ko
Publication of KR20060106953A publication Critical patent/KR20060106953A/ko
Application granted granted Critical
Publication of KR100686393B1 publication Critical patent/KR100686393B1/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/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/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/513Processing of motion vectors
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

본 발명은 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법에 관한 것으로, 특히 비디오 데이터 버스(1)를 거친 현재 영상 데이터를 저장하는 커런트 프레임 버퍼(100); 비디오 데이터 버스(1)를 거친 참조 영상 데이터를 저장하는 프레임 캐시(200); 프레임 캐시(200)를 거친 참조 영상 데이터를 저장하는 참조 프레임 버퍼(300); 커런트 프레임 버퍼(300)의 현재 영상 데이터와 참조 프레임 버퍼(300)의 참조 영상 데이터를 비교하여 다수개의 차분 절대치를 동시에 연산하는 병렬처리 프로세서(400); 및 베스트 캔디데이트 움직임 벡터의 X축 또는 Y축 방향성을 고려한 방향성 직사각형 서치 패턴으로 움직임 예측을 수행하는 DMA 제어기(500)로 구성된 것을 특징으로 하며, 이러한 본 발명은 휴대용 시스템의 비디오 인코더 특성인 칩의 소형화, 저전력화, 효율적인 SD램과의 운용 및 간단한 하드웨어 구현이 가능하도록 해줌으로써, 휴대형 기기에서 MPEG-1,2,4나 H.261,263,264 표준을 따르는 비디오 인코더를 구현할 수 있도록 해준다는 뛰어난 효과가 있다.
움직임 예측기, 현재 영상 데이터, 참조 영상 데이터, DMA 제어기,

Description

하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법{MOTION ESTIMATION DEVICE AND METHOD SUITABLE HARDWARE IMPLEMENTATION}
도 1은 본 발명의 일 실시예에 따른 하드웨어 구현에 적합한 움직임 예측 장치의 구성을 나타낸 기능 블록도,
도 2는 도 1에 따른 하드웨어 구현에 적합한 움직임 예측 장치에서 병렬 처리 프로세서의 내부 구성을 나타낸 도면,
도 3은 도 1에 따른 하드웨어 구현에 적합한 움직임 예측 장치의 동작 과정을 설명하기 위한 참조 도면,
도 4는 본 발명의 일 실시예에 따른 하드웨어 구현에 적합한 움직임 예측 방법을 나타낸 동작 플로우챠트,
도 5는 도 4에 따른 하드웨어 구현에 적합한 움직임 예측 방법을 설명하기 위한 참조 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 커런트 프레임 버퍼 200 : 프레임 캐시
300 : 참조 프레임 버퍼 400 : 병렬처리 프로세서
500 : DMA 제어기
본 발명은 하드웨어 구현에 적합한 움직임 예측(Motion Estimation) 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 휴대용 시스템에서의 비디오 인코더(Video Encoder) 특성에 적합하도록 칩의 소형화, 저전력화, SD램(SDRAM)과의 운용의 효율성이 모두 고려된 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법에 관한 것이다.
주지하다시피, 최근에는 비디오 콘텐츠의 증가로 인해 휴대형 기기에서조차 고성능 및 저전력형 비디오 디코더 및 인코더의 요구가 늘어나고 있다. 이 때, 휴대형 기기에서 MPEG-1,2,4나 H.261,263,264 표준을 따르는 비디오 인코더를 구현하기 위해서는 표준안의 특성 뿐만 아니라 휴대형 기기의 특성을 고려하지 않을 수 없다.
그런데, 비디오 인코더의 경우에는 움직임 추정 과정이 총 연산량의 약 66∼90%로 가장 큰 비중을 차지하데 반해, 휴대형 기기는 낮은 동작 주파수 및 낮은 대역폭의 메모리 특성을 갖고 있다. 따라서, 결국 상술한 비디오 인코더의 특성과 휴대형 기기의 고유 특성을 극복하기 위해서는 빠르면서도 효율적으로 메모리 사용이 가능한 움직임 추정기가 요구된다.
하지만, 움직임 추정을 소프트웨어로 구현할 경우에는 워낙 큰 연산량을 지니는 특성으로 인해 뛰어난 성능의 움직임 추정 방식을 사용한다 하더라도, 높은 동작 주파수가 요구될 수 밖에 없고, 이러한 높은 동작 주파수의 사용은 필연적으로 높은 전력 소비로 이어지는 문제점을 야기시킨다.
한편, 최근에 제작되는 휴대형 기기들은 대부분 낮은 가격, 적은 크기의 특징을 지닌 SD램(SDRAM)을 사용하고 있다. 이 때, SD램은 그 특성상 연속된 주소상의 데이터를 읽어올 경우에는 좋은 성능을 보이지만, 떨어져 있는 데이터를 읽어올 경우에는 그 성능이 현저하게 저하되는 현상을 보인다. 따라서, 움직임 추정을 휴대형 기기에서 구현하기 위해서는 반드시 효율적인 메모리 사용의 문제를 극복해야만 하는데, 이는 곧 SD램과의 효율적인 연동 문제를 극복하는 것에 달려있다. 그러므로, SD램과의 효율적인 연동을 위해서는 가능하면 연속된 주소상의 데이터를 읽어 오는 형태의 움직임 추정 방식을 사용하는 것이 더 유리하다.
이 때, 종래의 움직임 예측 방식으로는 PMVFAST 방식과 다이아몬드 검색 패턴(Diamond Search Pattern)이 결합된 방식을 사용하였다. 이 때, PMVFAST 방식은 움직임 벡터(Motion Vector)의 베스트 캔디데이트(Best Candidate)를 예측(predict)하고 적응시킨 임계값을 결정한 후, 이를 이용하여 빠르고 뛰어난 성능의 움직임 예측을 수행할 수 있다. 특히, PMVFAST와 다이아몬드 검색 패턴을 결합하여 사용하였을 경우에는 더욱 좋은 성능을 보인다.
그러나, 칩의 소형화, 저전력화, SD램과의 운용의 효율성 등이 고려되어야 하는 휴대용 시스템에서의 비디오 인코더의 경우, 다이아몬드 패턴은 하드웨어로 구현하고자 할 때 프로세싱(Processing) 과정에서 잦은 조건판단 회로를 거쳐야 하고, 하드웨어로 주소 연산 회로가 삽입되어야 하며, SD램에서 데이터 리드(Data Read)시 버스트 리드(Burst Read) 상태에서 자주 벗어나게 되면서 프레임 데이터 리드(Frame Data Read) 효율성이 떨어지는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 휴대용 시스템에서의 비디오 인코더 특성에 적합하도록 칩의 소형화, 저전력화, 효율적인 SD램과의 운용 및 간단한 하드웨어 구현이 가능한 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명 하드웨어 구현에 적합한 움직임 예측 장치는, 비디오 데이터 버스를 통해 전송된 현재 영상 데이터를 저장하는 커런트 프레임 버퍼;
상기 비디오 데이터 버스를 통해 전송된 참조 영상 데이터를 저장하는 프레임 캐시;
상기 프레임 캐시를 거친 참조 영상 데이터를 저장하는 참조 프레임 버퍼;
상기 커런트 프레임 버퍼의 현재 영상 데이터와 상기 참조 프레임 버퍼의 참 조 영상 데이터를 비교하여 다수개의 차분 절대치를 동시에 연산하는 병렬처리 프로세서; 및
PMVFAST 방식을 통해 베스트 캔디데이트 움직임 벡터와 임계치를 구하고 방향성 직사각형 서치 패턴(Directional Rectangular Search Pattern)으로 움직임 예측을 수행하되, 그 벡터의 X축 방향성이 클 경우에는 상기 병렬처리 프로세서를 통해 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으면 서치 동작을 마치는 반면에 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 한편, 상기의 움직임 벡터의 Y축 방향성이 클 경우에는 상기 병렬처리 프로세서를 통해 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으면 서치 동작을 마치는 반면에 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 DMA 제어기로 구성된 것을 특징으로 한다.
또한, 본 발명 하드웨어 구현에 적합한 움직임 예측 방법은, 휴대형 기기의 인코더 특성에 적합한 움직임 예측 방법에 있어서,
캔디데이트 베스트 움직임 벡터(X cand, Y cand)와 임계치를 구하는 제 1 단계;
캔디데이트 베스트 움직임 벡터의 X축 방향성이 큰지, 아니면 Y축 방향성이 큰지의 여부를 판단하는 제 2 단계;
상기 제 2 단계에서 그 움직임 벡터의 X축 방향성이 크면, 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 제 3 단계;
세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하는 제 4 단계; 및
상기 제 4 단계에서 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하이면 이때의 움직임 벡터를 결정한 후, 움직임 예측을 완료함으로 P 매크로블록으로 코딩하는 제 5 단계로 이루어진 것을 특징으로 한다.
이하, 본 발명의 일 실시예에 의한 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 하드웨어 구현에 적합한 움직임 예측 장치의 기능블록도로서, 본 발명의 일 실시예에 의한 하드웨어 구현에 적합한 움직임 예측 장치는 커런트 프레임 버퍼(Current Frame Buffer)(100), 프레임 캐시(Frame Cache)(200), 참조 프레임 버퍼(Reference Frmae Buffer)(300), 병렬처리 프로세서(400) 및 DMA 제어기(500)로 구성되어 있다.
이 때, 상기 커런트 프레임 버퍼(100)는 비디오 데이터 버스(1)를 통해 전송된 현재 영상 데이터를 저장하는 역할을 하고, 상기 프레임 캐시(200)는 상기 비디오 데이터 버스(1)를 통해 전송된 참조 영상 데이터를 저장하는 역할을 하며, 상기 참조 프레임 버퍼(300)는 상기 프레임 캐시(200)를 거친 참조 영상 데이터를 저장하는 역할을 한다.
또한, 상기 병렬처리 프로세서(400)는 도 2에 도시된 바와 같이 25개의 PE(Processing Element) 연산기(410)가 배열 형태로 연결되어, 상기 커런트 프레임 버퍼(100)의 현재 영상 데이터와 상기 참조 프레임 버퍼(300)의 참조 영상 데이터를 비교하여 최대 25개의 차분 절대치(0∼24)를 동시에 연산할 수 있는 프로세서이다.
그리고, 상기 DMA 제어기(500)는 PMVFAST 방식을 통해 베스트 캔디데이트 움직임 벡터와 임계치를 구하고 방향성 직사각형 서치 패턴(Directional Rectangular Search Pattern)으로 움직임 예측을 수행하되, 그 벡터의 X축 방향성이 클 경우에는 상기 병렬처리 프로세서(400)를 통해 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치(SAD : Sum of Absolute Difference)를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으면 서치 동작을 마치는 반면에, 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 역할을 한다.
한편, 상기 DMA 제어기(500)는 상기의 움직임 벡터의 Y축 방향성이 클 경우에는 상기 병렬처리 프로세서(400)를 통해 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으면 서치 동작을 마치는 반면에 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 역할을 한다.
또한, 본 발명의 움직임 예측 장치는 하나의 매크로 블록의 크기를 16x16 픽셀로 정의하여 사용하고, 이에 대해 4개의 움직임 벡터를 구할 수 있도록 구현됨으 로써, MPEG-1,2,4를 지원함은 물론, H.261과 H.263 및 H.264 등의 영상 통신용 알고리즘에도 적용 가능하다.
한편, 일반적으로 움직임 예측기에서는 현재 영상 매크로 블록과 가장 유사한 매크로 블록을 참조 영상에서 찾는 것이므로, 하나의 현재 영상 매크로 블록에 대해 참조 영상 데이터를 여러 번 읽어야 한다. 이 때, 본 발명은 도 3에 도시된 바와 같이, 한 번의 명령으로 현재 영상 매크로 블록에 대하여 최대 20x20 영역을 탐색한다. 따라서, 본 발명은 상기 참조 영상용 데이터 캐시(200)를 둠으로써 버스 점유율을 낮추고, 움직임 예측기의 동작 속도를 향상시킬 수 있어 움직임 예측기에 의한 전체 시스템 성능 저하를 줄일 수 있다.
그러면, 본 발명의 일 실시예에 따른 하드웨어 구현에 적합한 움직임 예측 방법에 대해 첨부된 도면을 참조하여 설명하기로 한다.
하기의 [표 1]은 기존에 잘 알려진 10개의 비디오 시퀀스를 이용하여 PMVFAST 방식과 풀 서치(Full search)로 구현된 움직임 추정기에서 구해진 움직임 벡터가 베스트 캔디데이트 움직임 벡터(Candidate Best Motion Vector)와 다른 경우, 즉 추가적인 서치로 구해진 경우의 움직임 벡터에 대한 통계이며, 추가적인 움직임 예측은 "-8 ∼ +7" 범위에서 풀 서치를 수행하였다.
Figure 112005018248316-pat00001
상기 [표 1]의 결과 베스트 캔디데이트 움직임 벡터가 X축 방향의 특성을 보일 경우 최종 결과가 X축으로 더 많은 변화를 보이는 경우가 62.6%, 베스트 캔디데이트 움직임 벡터가 Y축 방향의 특성일 경우에는 Y축 방향으로 더 크게 움직임 벡터의 변화가 있는 경우가 61.7%로 나타났다.
즉, 베스트 캔디데이트 움직임 벡터의 방향성이라는 특징을 고려하여 X축 방향성이 클 경우에는 도 5의 (a)와 같은 패턴을 사용하는 반면에, Y축 방향이 크면 도 5의 (b)와 같은 패턴을 사용하여 효율적인 움직임 예측을 수행할 수 있다.
따라서, 본 발명의 일 실시예에 따른 하드웨어 구현에 적합한 움직임 예측 방법은 상기의 [표 1] 결과에 따라 방향성 직사각형 서치 패턴(Directional Rectangular Search Pattern)을 제시한 것이며, 이에 대한 구체적인 방식에 대해 도 5를 참조하여 설명하면 다음과 같다.
먼저, 상기 DMA 제어기(500)는 캔디데이트 베스트 움직임 벡터(Candidate Best Motion Vector : X cand, Y cand)와 임계치(Threshold value)를 구한다(S1).
그런후, 상기 DMA 제어기(500)는 그 캔디데이트 베스트 움직임 벡터가 X축 방향성이 큰지, 아니면 Y축 방향성이 큰지의 여부를 판단한다(S2).
이 때, 상기 제 2 단계(S2)에서 그 움직임 벡터의 X축 방향성이 크면, 상기 DMA 제어기(500)는 상기 병렬처리 프로세서(400)를 이용하여 도 5 (a)의 빗금친 부분과 같은 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구한다(S3).
그런후, 상기 DMA 제어기(500)는 도 5 (a)의 빗금친 부분의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하여(S4), 임계치 이하이면(YES) 이때의 움직임 벡터를 결정한 후 움직임 예측을 완료함으로 P 매크로블록(Macro Block)으로 코딩(Coding)한다(S5).
반면에, 상기 제 4 단계(S4)에서 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치를 초과하면(NO), 상기 DMA 제어기(500)는 상기 병렬처리 프로세서(400)를 이용하여 도 5 (a)의 나머지 절반의 최소 차분 절대치를 구한다(S6).
그런후, 상기 DMA 제어기(500)는 도 5 (a)의 세로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하여(S7), 임계치 이하이면(YES) 다시 상기 제 5 단계(S5)로 진행하는 한편, 임계치를 초과하면(NO) 움직임 벡터를 구하지 못함으로 I 매크로블록으로 코딩한다(S8).
한편, 상기 제 2 단계(S2)에서 그 움직임 벡터의 Y축 방향성이 크면, 상기 DMA 제어기(500)는 상기 병렬처리 프로세서(400)를 이용하여 도 5 (b)의 빗금친 부분과 같은 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구한다(S9).
그런후, 상기 DMA 제어기(500)는 도 5 (b)의 빗금친 부분의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하여(S10), 임계치 이하이면(YES) 이때의 움직임 벡터를 결정한 후 움직임 예측을 완료함으로 P 매크로블록으로 코딩한다(S11).
반면에, 상기 제 10 단계(S10)에서 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치를 초과하면(NO), 상기 DMA 제어기(500)는 상기 병렬처리 프로세서(400)를 이용하여 도 5 (b)의 나머지 절반의 최소 차분 절대치를 구한다(S12).
그런후, 상기 DMA 제어기(500)는 도 5 (b)의 가로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하여(S13), 임계치 이하이면(YES) 다시 상기 제 11 단계(S11)로 진행하는 한편, 임계치를 초과하면(NO) 움직임 벡터를 구하지 못함으로 I 매크로블록으로 코딩한다(S14).
이 때, 상술한 본 발명에 따른 방향성 직사각형 서치 패턴(Directional Rectangular Search Pattern)은 콘디션(condition)에 따라 동작의 변화를 주어야 하는 경우가 적기 때문에 데이터 패스(Data Path)가 단순하고 적은 제어 신호(Control Signal)로 구현이 가능하므로, 종래의 다이아몬드 패턴에 비해 하드웨어 구현이 간단하다.
또한, 종래의 다이아몬드 패턴은 SD램과의 운용에 있어 버스트 리드(Burst Read)가 불가능하여 이 방식의 장점 중 하나인 빠른 움직임 추정 성능을 다 발휘하지 못하지만, 본 발명에서 제안하는 방향성 직사각형 서치 패턴은 SD램에서 데이터를 리드(Read)할 때 버스트가 깨지는 경우가 적기 때문에 휴대형 기기의 인코더에 적용하기에 더 유리하다.
그 뿐만 아니라, 하기의 [표 2]는 본 발명에서 제안하는 방향성 직사각형 서치 패턴을 MPEG-4 인코더 상에서 실험해 본 결과인데, 이 결과에 의하면 10개의 모든 시퀀스에서 기존의 다이아몬드 패턴을 사용하는 것과 거의 동일한 PSNR 값을 보이는 것으로 나타났다.
Figure 112005018248316-pat00002
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같은 본 발명에 의한 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법에 의하면, 휴대용 시스템의 비디오 인코더 특성인 칩의 소형화, 저전력화, 효율적인 SD램과의 운용 및 간단한 하드웨어 구현이 가능함으로써, 휴대형 기기에서 MPEG-1,2,4나 H.261,263,264 표준을 따르는 비디오 인코더를 구현할 수 있도록 해준다는 뛰어난 효과가 있다.

Claims (7)

  1. 비디오 데이터 버스(1)를 통해 전송된 현재 영상 데이터를 저장하는 커런트 프레임 버퍼(100);
    상기 비디오 데이터 버스(1)를 통해 전송된 참조 영상 데이터를 저장하는 프레임 캐시(200);
    상기 프레임 캐시(200)를 거친 참조 영상 데이터를 저장하는 참조 프레임 버퍼(300);
    상기 커런트 프레임 버퍼(100)의 현재 영상 데이터와 상기 참조 프레임 버퍼(300)의 참조 영상 데이터를 비교하여 다수개의 차분 절대치를 동시에 연산하는 병렬처리 프로세서(400); 및
    PMVFAST 방식을 통해 베스트 캔디데이트 움직임 벡터와 임계치를 구하고 방향성 직사각형 서치 패턴(Directional Rectangular Search Pattern)으로 움직임 예측을 수행하되, 그 벡터의 X축 방향성이 클 경우에는 상기 병렬처리 프로세서(400)를 통해 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으면 서치 동작을 마치는 반면에 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 한편, 상기의 움직임 벡터의 Y축 방향성이 클 경우에는 상기 병렬처리 프로세서(400)를 통해 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하여 임계치 내에 들어가는 값이 있으 면 서치 동작을 마치는 반면에 없을 경우에는 나머지 절반의 최소 차분 절대치를 구하는 방식으로 서치 동작을 수행하는 DMA 제어기(500)로 구성된 것을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 장치.
  2. 제 1항에 있어서,
    상기 병렬처리 프로세서(400)는, 25개의 PE(Processing Element) 연산기(410)가 배열 형태로 연결되어 있어서, 최대 25개의 차분 절대치(0∼24)의 연산이 동시에 가능함을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 장치.
  3. 삭제
  4. 휴대형 기기의 인코더 특성에 적합한 움직임 예측 방법에 있어서,
    캔디데이트 베스트 움직임 벡터(X cand, Y cand)와 임계치를 구하는 제 1 단계;
    캔디데이트 베스트 움직임 벡터가 X축 방향성이 큰지, 아니면 Y축 방향성이 큰지의 여부를 판단하는 제 2 단계;
    상기 제 2 단계에서 그 움직임 벡터의 X축 방향성이 크면, 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 제 3 단계;
    세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하는 제 4 단계; 및
    상기 제 4 단계에서 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하이면 이때의 움직임 벡터를 결정한 후, 움직임 예측을 완료함으로 P 매크로블록으로 코딩하는 제 5 단계로 이루어진 것을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 방법.
  5. 제 4항에 있어서,
    상기 제 4 단계에서 세로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치를 초과하면, 세로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치를 구하는 제 6 단계;
    세로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하는 제 7 단계; 및
    상기 제 7 단계에서 세로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계치 이하이면 상기 제 5 단계로 진행하는 한편, 임계치를 초과하면 움직임 벡터를 구하지 못함으로 I 매크로블록으로 코딩하는 제 8 단계를 더 추가로 포함시킴을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 방법.
  6. 제 4항에 있어서,
    상기 제 2 단계에서 그 움직임 벡터의 Y축 방향성이 크면, 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치를 구하는 제 9 단계;
    가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하인지의 여부를 판단하는 제 10 단계; 및
    상기 제 10 단계에서 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치 이하이면 이때의 움직임 벡터를 결정한 후, 움직임 예측을 완료함으로 P 매크로블록으로 코딩하는 제 11 단계를 더 추가로 포함시킴을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 방법.
  7. 제 6항에 있어서,
    상기 제 10 단계에서 가로 방향으로 긴 직사각형 패턴 중 절반의 최소 차분 절대치가 임계치를 초과하면, 가로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치를 구하는 제 12 단계;
    가로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계 치 이하인지의 여부를 판단하는 제 13 단계; 및
    상기 제 13 단계에서 가로 방향으로 긴 직사각형 패턴 중 나머지 절반의 최소 차분 절대치가 임계치 이하이면 상기 제 11 단계로 진행하는 한편, 임계치를 초과하면 움직임 벡터를 구하지 못함으로 I 매크로블록으로 코딩하는 제 14 단계를 더 추가로 포함시킴을 특징으로 하는 하드웨어 구현에 적합한 움직임 예측 방법.
KR1020050028985A 2005-04-07 2005-04-07 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법 KR100686393B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050028985A KR100686393B1 (ko) 2005-04-07 2005-04-07 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050028985A KR100686393B1 (ko) 2005-04-07 2005-04-07 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060106953A KR20060106953A (ko) 2006-10-12
KR100686393B1 true KR100686393B1 (ko) 2007-03-02

Family

ID=37627344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050028985A KR100686393B1 (ko) 2005-04-07 2005-04-07 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100686393B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100729262B1 (ko) * 2005-12-22 2007-06-15 주식회사 텔레칩스 움직임 예측기
KR100973083B1 (ko) * 2008-12-31 2010-07-29 전자부품연구원 어레이 기반의 움직임 벡터 추출기 및 그 방법
KR101782978B1 (ko) 2010-11-12 2017-09-29 삼성전자주식회사 참조 데이터의 가용성에 기초하여 영상 데이터를 복호화하는 장치 및 방법
CN110692248B (zh) * 2017-08-29 2024-01-02 株式会社Kt 视频信号处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010076707A (ko) * 2000-01-27 2001-08-16 윤종용 움직임 추정기
WO2003049454A2 (en) 2001-12-04 2003-06-12 Qualcomm Incorporated Processing digital video data
KR20040000907A (ko) * 2002-06-26 2004-01-07 이문기 영상부호화를 위한 블록 매칭 움직임 추정 장치
JP2005073004A (ja) 2003-08-26 2005-03-17 Konica Minolta Business Technologies Inc フレームバッファ管理方法及びフレームバッファ管理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010076707A (ko) * 2000-01-27 2001-08-16 윤종용 움직임 추정기
WO2003049454A2 (en) 2001-12-04 2003-06-12 Qualcomm Incorporated Processing digital video data
KR20040000907A (ko) * 2002-06-26 2004-01-07 이문기 영상부호화를 위한 블록 매칭 움직임 추정 장치
JP2005073004A (ja) 2003-08-26 2005-03-17 Konica Minolta Business Technologies Inc フレームバッファ管理方法及びフレームバッファ管理装置

Also Published As

Publication number Publication date
KR20060106953A (ko) 2006-10-12

Similar Documents

Publication Publication Date Title
EP2099228B1 (en) Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
KR100739281B1 (ko) 움직임 추정 방법 및 장치
JP5264747B2 (ja) マルチパスエンコーダにおける効率的な1パスのエンコーディングの方法および装置
US20060239349A1 (en) Image coding unit and image coding method
US20070076795A1 (en) Method and apparatus for determining inter-mode in video encoding
US20060120455A1 (en) Apparatus for motion estimation of video data
CN105847819B (zh) 图像处理设备和半导体设备
US6687297B2 (en) Video encoding
US20110135285A1 (en) Image coding apparatus, method, integrated circuit, and program
KR100686393B1 (ko) 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법
US20080212719A1 (en) Motion vector detection apparatus, and image coding apparatus and image pickup apparatus using the same
CN113099229B (zh) 块划分方法、帧间预测方法、视频编码方法及相关装置
US9253493B2 (en) Fast motion estimation for multiple reference pictures
US20130195191A1 (en) Optimized motion compensation and motion estimation for video coding
US10142633B2 (en) Flexible coding unit ordering and block sizing
US9071823B2 (en) Method and apparatus for predictive reference data transfer scheme for motion estimation
WO2001058170A1 (en) Video encoding and decoding with selectable image resolution
US11683497B2 (en) Moving picture encoding device and method of operating the same
CN109672889B (zh) 约束的序列数据头的方法及装置
JP2007110409A (ja) 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム
KR100397055B1 (ko) 저전송율 영상통신을 위한 움직임 예측기 구조
EP2876884A1 (en) Motion compensation with moving window
WO2022206199A1 (zh) 在视频解码装置中进行图像处理的方法、装置及系统
KR100502138B1 (ko) 이웃하는 움직임 벡터를 이용한 가이디드 탐색방법
CN118158406A (zh) 帧间编码方法、硬件装置、虚拟装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130107

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150114

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180122

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 14