KR100708183B1 - 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법 - Google Patents

움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법 Download PDF

Info

Publication number
KR100708183B1
KR100708183B1 KR1020050089503A KR20050089503A KR100708183B1 KR 100708183 B1 KR100708183 B1 KR 100708183B1 KR 1020050089503 A KR1020050089503 A KR 1020050089503A KR 20050089503 A KR20050089503 A KR 20050089503A KR 100708183 B1 KR100708183 B1 KR 100708183B1
Authority
KR
South Korea
Prior art keywords
data
motion estimation
macroblock
internal memory
search area
Prior art date
Application number
KR1020050089503A
Other languages
English (en)
Other versions
KR20070034870A (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 KR1020050089503A priority Critical patent/KR100708183B1/ko
Priority to US11/495,586 priority patent/US20070071098A1/en
Publication of KR20070034870A publication Critical patent/KR20070034870A/ko
Application granted granted Critical
Publication of KR100708183B1 publication Critical patent/KR100708183B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 움직임 추정시 필요한 참조 프레임의 영상 데이터를 저장하기 위하여 움직임 추정 장치의 내부에 구비되는 영상 데이터 저장 장치, 그 데이터 저장 방법에 관한 것으로, 본 발명에 따른 영상 데이터 저장 장치는 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위로 하여, 복수 개의 데이터 단위를 저장할 수 있는 적어도 하나 이상의 내부 메모리를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 내부 메모리를 구현하는데 사용되는 게이트 수를 줄일 수 있으며, 내부 메모리 크기의 큰 변화없이 처리 시간을 단축시킬 수 있다.

Description

움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터 저장 방법{Image storing device for motion prediction, and method for storing data of the same}
도 1은 본 발명에 따른 영상 처리 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명에 따른 영상 처리부에서 움직임 추정을 수행하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 영상 처리부에서 움직임 추정시 현재 매크로블록과 다음 매크로블록의 탐색 영역 데이터를 나타낸 도면이다.
도 4는 본 발명에 따른 데이터 저장부에 저장되는 데이터 단위를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 저장부의 구성을 나타낸 도면이다.
도 6은 본 발명의 다른 실시예에 따른 데이터 저장부의 구성을 나타낸 도면이다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 데이터 저장부에 탐색 영역 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 8a 내지 도 8c는 본 발명의 다른 실시예에 따른 데이터 저장부에 탐색 영 역 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 추정을 위한 영상 데이터 저장 방법을 나타낸 플로우 차트이다.
도 10은 본 발명의 다른 실시예에 따른 움직임 추정을 위한 영상 데이터 저장 방법을 나타낸 플로우 차트이다.
본 발명은 영상 데이터 저장 장치 및 그 저장 방법에 관한 것으로서, 보다 구체적으로는 움직임 추정시 필요한 참조 프레임의 영상 데이터를 저장하기 위하여 움직임 추정 장치의 내부에 구비되는 영상 데이터 저장 장치, 그 데이터 저장 방법 에 관한 것이다.
MPEG-1, MPEG-2, MPEG-4 Visual, H.261, H.263 및 H.264 등의 비디오 압축 표준안에 있어서, 입력 영상은 16×16 크기의 매크로 블록 단위로 분할된다. 그리고, 각각의 매크로 블록은 인터 예측에서의 모든 부호화 모드 및 인트라 예측에서의 모든 부호화 모드에서 부호화되고, 각 부호화 모드에서 부호화에 소요되는 비트율 및 원 매크로 블록과 복호화된 매크로 블록과의 왜곡 정도가 비교된다. 그리고 상기 비교 결과를 토대로, 적절한 부호화 모드를 하나 정해 각각의 매크로 블록이 부호화된다.
인터 예측은 현재 프레임의 매크로 블록의 움직임을 예측하는데 있어서 인접 한 프레임의 매크로 블록을 참조하여 예측을 수행하는 것으로서, 비디오 프레임 사이의 유사성을 이용하여 시간적 중복 요소를 제거하는 것이다. 인터 예측시에는 매크로 블록 단위로 움직임 추정(motion estimation) 및 움직임 보상(motion compensation)이 수행된다.
여기서, 움직임 추정은 현재 매크로블록의 위치를 중심으로 참조 프레임의 소정 영역을 탐색하여, 탐색 영역 내에서 현재 매크로블록과의 차이가 최소가 되는 영역을 가장 유사한 영역으로 선택하고, 상기 가장 유사한 영역과 현재 매크로 블록과의 공간상의 위치 차이를 움직임 벡터 형태로 출력하는 과정을 말한다. 또한, 움직임 보상은 상기 움직임 추정 결과에 따른 상기 움직임 벡터를 이용하여 참조 프레임의 영상에서 현재 매크로 블록과 가장 유사한 영역을 독출하여 인터 예측된 예측 블록을 생성하는 과정을 말한다.
상기 움직임 추정시에 현재 매크로 블록의 데이터와 참조 프레임의 탐색 영역 데이터를 외부 메모리로부터 읽어들이는 과정이 필요하다. 이때, 하나의 매크로블록에 대한 움직임 추정 과정에서 현재 매크로 블록의 데이터와 탐색 영역 데이터는 반복적으로 이용되므로, 움직임 추정 장치는 내부에 SRAM(Synchronous RAM)과 같은 내부 메모리를 구비하고 외부 메모리로부터 필요한 데이터를 가져와 상기 내부 메모리에 저장한 다음 움직임 추정을 수행한다.
한편, 움직임 추정시에 인접한 매크로블록 사이의 탐색 영역 데이터는 상당히 많은 부분이 중첩된다. 따라서, 움직임 추정 장치는 중첩된 탐색 영역 데이터를 제외하고 다음 매크로블록의 움직임 추정에 필요한 탐색 영역 데이터를 외부 메 모리로부터 읽어와서 상기 내부 메모리에 저장하게 된다. 이때, 상기 내부 메모리의 데이터 전송 대역의 한계 및 중첩된 탐색 영역 데이터를 이용하기 위해서 상기 내부 메모리는 분리된 구조를 가진다. 예를 들어, 매크로블록의 크기를 16×16, 탐색 영역의 크기를 144×80, 내부 메모리의 데이터 전송 대역폭을 128비트, 한 픽셀당 비트수를 8비트라고 하면, 상기 탐색 영역의 144×80 픽셀들은 16×80 픽셀 크기의 내부 메모리 9개에 분리되어 저장된다. 이와 같이, 내부 메모리를 잘게 분리하여 탐색 영역의 데이터를 저장하는 경우 오버헤드가 증가되어 내부 메모리의 전체 게이트 수가 증가되며, 내부 메모리가 차지하는 면적이 증가하게 된다. 또한, 내부 메모리의 수가 증가할수록 데이터 포트 수가 증가하고, 각 내부 메모리에서 독출한 데이터를 먹싱(Muxing)하기 위한 컴비네이션 로직(combination logic)도 증가한다.
따라서, 움직임 추정 장치의 내부에 구비되어 참조 프레임을 저장하는 내부 메모리 장치에 있어서, 게이트 수 및 버스 액세스 대역폭을 줄일 수 있는 효율적인 내부 메모리 장치에 대한 요구가 증가하고 있다.
따라서, 본 발명은 상기와 같은 기술적 과제를 해결하기 위하여 안출된 것으로서, 잘게 분리된 내부 메모리들을 최대한 병합하여 게이트 수 및 상기 내부 메모리에서 독출된 데이터를 먹싱하기 위한 컴비네이션 로직을 감소시킬 수 있는 영상 데이터 저장 장치, 그 데이터 저장 방법 및 이를 이용한 영상 처리 장치를 제공하는 데에 목적이 있다.
또한, 본 발명은 내부 메모리를 크게 늘리지 않고 전체 처리 시간을 감소시킬 수 있는 영상 데이터 저장 장치 및 그 데이터 저장 방법을 제공하는 데에 목적이 있다.
상기한 바와 같은 기술적 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 움직임 추정을 위한 장치 내부에 구비되어 참조 프레임의 영상 데이터를 저장하는 영상 데이터 저장 장치는, 매크로블록의 움직임 추정에 이용되는 상기 참조 프레임의 탐색 영역 데이터를 저장하는 데이터 저장부; 및 상기 데이터 저장부에 상기 탐색 영역 데이터가 저장되거나, 상기 데이터 저장부로부터 상기 탐색 영역 데이터가 독출되도록 제어하는 제어부를 구비하고, 상기 데이터 저장부는, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위라고 할 때, 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 움직임 추정을 위한 장치 내부에 구비되어 참조 프레임의 영상 데이터를 저장하는 영상 데이터 저장 장치는, 매크로블록의 움직임 추정에 이용되는 상기 참조 프레임의 탐색 영역 데이터를 저장하는 데이터 저장부; 및 상기 데이터 저장부에 상기 탐색 영역 데이터가 저장되거나, 상기 데이터 저장부로부터 상기 탐색 영역 데이터가 독출되도록 제어하는 제어부를 구비 하고, 상기 데이터 저장부는, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위라고 할 때, 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리; 및 상기 i번째 매크로블록에 대한 움직임 추정이 수행되는 동안, 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 추가 내부 메모리를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 움직임 추정을 위한 참조 프레임의 영상 데이터를 저장하는 방법은, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위로 하여 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리에 저장된 상기 i번째 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터 중에서, 상기 i+1번째 매크로블록의 움직임 추정에 이용되지 않는 탐색 영역 데이터가 저장된 위치를 판단하는 단계; 및 상기 판단된 상기 내부 메모리의 위치에 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 움직임 추정을 위한 참조 프레임의 영상 데이터를 저장하는 방법은, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위로 하여 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리에 저장된 i번째(i는 정수) 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터 중에서, i+1번째 매크로블록의 움직임 추정에 이용되지 않는 탐색 영역 데이터가 저장된 위치를 판단하는 단계; 상기 i번째 매크로블록에 대한 움직임 추정을 수행하는 동안 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 추가 내부 메모리에 저장하는 단계; 및 상기 i번째 매크로블록에 대한 움직임 추정이 완료되었을 때, 상기 추가 내부 메모리에 저장된 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 상기 판단된 상기 내부 메모리의 위치에 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 1은 본 발명에 따른 영상 처리 장치의 구성을 나타낸 블록도이다.
도 1을 참조하면, 상기 영상 처리 장치는 외부 메모리(100), 영상 처리 프로세서(200) 및 제어부(250)를 포함한다. 상기 외부 메모리(100), 영상 처리 프로세서(200) 및 제어부(250)는 시스템 버스(150)를 통해 상호 연결되어 통신을 수행한다. 또한, 상기 영상 처리 프로세서(200)는 상기 외부 메모리(100)에 저장된 영상 데이터로부터 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터를 저장하는 데이터 저장부(210), 상기 데이터 저장부(210)에서 독출된 탐색 영역 데이터를 정렬하는 데이터 정렬부(220) 및 입력된 영상 데이터를 이용하여 영상의 부호화 및/또는 복호화를 수행하는 영상 처리부(230)를 포함한다. 상기 영상 처리부(230)는 움직임 추정, 움직임 보상, 이산여현변환(DCT), 양자화 및 엔트로피 부호화 과정을 통해서 영상을 부호화하거나 또는 부호화 과정의 역순으로 영상 데이터를 복호화한다. 이하에서는, 상기 영상 처리부(230)가 영상의 부호화 또는 복호화를 위해서 움직임 추정을 수행할 때를 중심으로 상기 데이터 저장부(210), 데이터 정렬부(220), 제어부(250)의 동작에 대하여 구체적으로 설명한다.
도 2는 본 발명에 따른 영상 처리부에서 움직임 추정을 수행하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 상기 영상 처리부(230)는 참조 프레임에서 N×N 매크로블록의 위치를 중심으로 수평으로 -W에서 +W 픽셀, 수직으로 -H에서 +H 픽셀내에 위치한 소정의 영역(이하, "탐색 영역"이라고 함)을 탐색한다. 즉, 상기 영상 처리부(230)는 (2W+N)×(2H+N) 크기의 탐색 영역 내에서 현재 매크로블록과의 차이가 최소가 되는 영역을 가장 유사한 영역으로 선택하고, 상기 가장 유사한 영역과 현재 매크로 블록과의 공간상의 위치 차이를 움직임 벡터 형태로 출력한다. 이러한 움직임 추정을 수행하기 위해서, 상기 영상 처리부(230)는 상기 제어부(250)에 현재 매크로블록의 움직임 추정에 필요한 참조 프레임의 탐색 영역 데이터를 요청한다.
상기 제어부(250)는 상기 요청에 따라서 상기 외부 메모리(100)로부터 현재 매크로블록의 움직임 추정을 위해 필요한 참조 프레임의 (2W+N)×(2H+N) 크기의 탐색 영역 데이터를 읽어서 상기 데이터 저장부(210)의 소정 위치에 저장하거나 상기 데이터 저장부(210)에 저장된 탐색 영역 데이터 중에서 현재 매크로블록의 움직임 추정을 위해 필요한 소정 위치의 탐색 영역 데이터를 독출하여 상기 영상 처리부(230)에 제공하는 동작을 제어한다. 특히, 상기 제어부(250)는 이전 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터 중에서 현재 매크로블록의 움직임 추정에 이용되고 상기 데이터 저장부(210)에 저장되어 있는 이전 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 저장 상태는 유지한다. 또한, 상기 제어부(250)는 현재 매크로블록의 움직임 추정에 이용되지 않는 이전 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터가 저장된 위치에 현재 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 동작을 제어한다.
도 3은 본 발명에 따른 영상 처리부에서 움직임 추정시 현재 매크로블록과 다음 매크로블록의 탐색 영역 데이터를 나타낸 도면이다.
도 3을 참조하면, 위에서 아래로, 좌에서 우로 매크로블록을 처리하는 래스터(raster) 스캔 방식에 따른 경우, 현재 매크로블록의 탐색영역(300)과 다음 매크로블록의 탐색영역(310)은 상당 부분이 중복된다. 도 3에서, 빗금친 영역은 현재 매크로블록의 탐색영역(300)과 다음 매크로블록의 탐색영역(310)이 중복되는 영역을 나타낸다. 따라서, 다음 매크로블록에 대한 움직임 추정시에는 다음 매크로블록의 탐색영역(310) 중에서 현재 매크로블록의 탐색영역(300)과 중복되는 영역을 제외한 N×(2H+N) 크기의 탐색 영역 데이터(310a)만 추가적으로 읽어오면 된다.
도 4는 본 발명에 따른 데이터 저장부에 저장되는 데이터 단위를 설명하기 위한 도면이다. 도 4에서 도면 부호 0 내지 10은 각각 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 N×(2H+N) 크기의 탐색 영역 데이터인 하나의 데이터 단위를 나타낸다.
도 4를 참조하면, i번째(i는 정수) 매크로블록의 처리시에 이용되는 탐색 영역의 데이터가 도 4의 0번째 데이터 단위 내지 8번째 데이터 단위들로 구성된다고 하였을 때, 인접한 매크로블록들은 움직임 추정시에 이용하는 탐색 영역 데이터의 상당 부분이 중복되므로 i+1번째 매크로블록의 처리시에 필요한 1번째 데이터 단위 내지 9번째 데이터 단위들 중에서 새롭게 추가되는 9번째 데이터 단위만 추가로 읽어오고, 기존의 1번째 내지 8번째 데이터 단위에 해당하는 탐색 영역 데이터는 재사용할 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 저장부의 구성을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 데이터 저장부(210)는 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리들(211,212,213)을 포함한다. 도 5에서는, 3개의 내부 메모리들(211,212,213)에 각각 3개의 데이터 단위가 저장된 경우를 도시하였다.
도 5에 도시된 바와 같이, 상기 데이터 단위를 복수 개 저장할 수 있는 내부 메모리들(211,212,213)을 형성함으로써, 오버헤드를 감소시키고 상기 내부 메모리 들(211,212,213)의 구현에 필요한 게이트 수를 감소시킬 수 있다. 상기 매크로블록을 16×16, 탐색 영역 데이터의 크기를 144×80(W=64, H=32), 버스 액세스 대역폭을 128비트라고 하면, 상기 데이터 단위는 16×80의 크기를 갖는다. 그러나, 도시된 바에 한정되지 않고, 상기 내부 메모리의 갯수나 상기 내부 메모리에 저장되는 데이터 단위의 갯수는 상기 내부 메모리의 버스 액세스 대역폭, 탐색 영역 데이터의 크기를 고려하여 결정될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 데이터 저장부의 구성을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 데이터 저장부(210)는 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리들(214,215,216) 및 i번째 매크로블록에 대한 움직임 추정이 수행되는 동안, i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 추가 내부 메모리(217)를 포함한다. 본 발명의 다른 실시예에 따른 데이터 저장부(210)는 움직임 추정이 수행되는 동안 다음 매크로블록의 움직임 추정에 필요한 탐색 영역 데이터를 상기 추가 내부 메모리(217)에 저장하였다가, 상기 내부 메모리들(214,215,216)에 대한 액세스가 없는 시점에서 상기 추가 내부 메모리(217)에 저장된 탐색 영역 데이터를 상기 내부 메모리들(214,215,216)의 소정 위치에 저장함으로써 처리 사이클을 단축시킬 수 있다. 즉, 복수 개의 데이터 단위를 저장할 수 있는 내부 메모리들(214,215,216)에 추가하여 별도의 작은 추가 내부 메모리(217)을 형성하고 더블 버퍼링(double buffering)을 가능하게 하여 움직임 추정을 수행 하는 상기 영상 처리부(230)의 동작 속도를 향상시킬 수 있다.
이하에서는 상기와 같은 구성을 갖는 데이터 저장부(210)에 움직임 추정 과정이 진행됨에 따라서 탐색 영역 데이터가 저장되는 과정을 설명한다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 데이터 저장부에 탐색 영역 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 7a를 참조하면, 상기 영상 처리부(230)가 i번째 매크로블록에 대한 움직임 추정을 위해 필요한 탐색 영역 데이터를 상기 제어부(250)에 요청하면, 상기 제어부(250)는 상기 외부 메모리(100)로부터 상기 도 4에 도시된 바와 같은 0번째 데이터 단위 내지 8번째 데이터 단위들을 상기 데이터 저장부(210)에 구비된 내부 메모리들(211,212,213)의 소정 위치에 저장한다.
다음 도 7b를 참조하면, i번째 매크로블록에 대한 움직임 추정이 완료되면 상기 영상 처리부(230)는 i+1번째 매크로블록의 움직임 추정을 위해 새롭게 필요한 9번째 데이터 단위를 상기 제어부(250)에 요청하고, 상기 제어부(250)는 상기 외부 메모리(100)로부터 상기 9번째 데이터 단위에 해당하는 탐색 영역 데이터를 읽어와서, 기존에 0번째 데이터 단위가 저장되었던 상기 내부 메모리(11)의 위치에 상기 9번째 데이터 단위를 저장한다. 여기서, 상기 0번째 데이터 단위가 저장되었던 위치는 i+1번째 매크로블록의 움직임 추정을 위해서는 필요없는 부분으로서, i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터 중 가장 좌측에 위치한 데이터 단위가 이에 해당한다. 유사하게 도 7c 및 도 7d를 참조하면, i+2번째, i+3번째 매크로블록에 대한 움직임 추정시에 새롭게 필요한 10번째 데이터 단위 및 11 번째 데이터 단위를 각각 이전 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터 중 가장 좌측에 위치한 데이터 단위가 위치한 상기 내부 메모리의 소정 위치에 저장하는 과정을 반복한다.
도 8a 내지 도 8c는 본 발명의 다른 실시예에 따른 데이터 저장부에 탐색 영역 데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 8a를 참조하면, 상기 영상 처리부(230)가 i번째 매크로블록에 대한 움직임 추정을 위해 필요한 탐색 영역 데이터를 상기 제어부(250)에 요청하면, 상기 제어부(250)는 상기 외부 메모리(100)로부터 상기 도 4에 도시된 바와 같은 0번째 데이터 단위 내지 8번째 데이터 단위들을 상기 데이터 저장부(210)에 구비된 내부 메모리들(214,215,216)의 소정 위치에 저장한다.
다음, 상기 영상 처리부(230)가 i번째 매크로블록에 대한 움직임 추정을 수행하는 동안, 상기 제어부(250)는 i+1번째 매크로블록에 대한 움직임 추정에 새롭게 필요한 9번째 데이터 단위를 상기 외부 메모리(100)로부터 독출하여 상기 추가 내부 메모리(217)에 저장한다.
다음, 상기 영상 처리부(230)에서 i번째 매크로블록에 대한 움직임 추정이 완료되어, 더 이상 i번째 매크로블록의 움직임 추정을 위한 탐색 영역 데이터가 저장된 상기 내부 메모리들(214,215,216)에 대한 액세스가 없는 시점에서, 상기 제어부(250)는 상기 추가 내부 메모리(217)에 저장된 9번째 데이터 단위를 0번째 데이터 단위가 저장된 상치 내부 메모리(214)의 위치에 저장한다.
도 9는 본 발명의 일 실시예에 따른 움직임 추정을 위한 영상 데이터 저장 방법을 나타낸 플로우 차트이다.
도 9를 참조하면, 단계 910에서 상기 제어부(250)는 상기 내부 메모리(211,212,213)에 저장된 i번째 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터들 중에서, i+1번째 매크로블록의 움직임 추정에 이용되지 않는 데이터 단위가 저장된 위치를 판단한다.
단계 920에서, 상기 영상 처리부(230)에서 i번째 매크로블록에 대한 움직임 추정이 완료되면, 상기 제어부(250)는 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 데이터 단위만을 상기 외부 메모리(100)로부터 독출하고 상기 판단된 위치에 저장한다.
도 10은 본 발명의 다른 실시예에 따른 움직임 추정을 위한 영상 데이터 저장 방법을 나타낸 플로우 차트이다.
도 10을 참조하면, 단계 1010에서 상기 제어부(250)는 상기 내부 메모리(214,215,216)에 저장된 i번째 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터들 중에서, i+1번째 매크로블록의 움직임 추정에 이용되지 않는 데이터 단위가 저장된 위치를 판단한다.
단계 1020에서, 상기 영상 처리부(230)에서 i번째 매크로블록에 대한 움직임 추정이 수행되는 동안, 상기 제어부(250)는 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 데이터 단위만을 상기 외부 메모리(100)로부터 독출하고 이를 상기 추가 내부 메모리(217)에 저장한다.
단계 1030에서, 상기 영상 처리부(230)에서 i번째 매크로블록에 대한 움직임 추정이 완료되면, 상기 추가 내부 메모리(100)에 저장된 데이터 단위를 상기 판단된 위치에 저장한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같은 본 발명에 따르면, 움직임 추정을 위해 탐색 영역 데이터를 저장하는 내부 메모리의 갯수를 감소시키고, 각 내부 메모리에 저장된 탐색 영 역 데이터의 먹싱에 필요한 컴비네이션 로직의 수를 줄일 수 있다. 또한, 본 발명은 내부 메모리를 구현하는데 사용되는 게이트 수를 줄일 수 있으며, 내부 메모리 크기의 큰 변화없이 처리 시간을 단축시킬 수 있다.

Claims (16)

  1. 움직임 추정을 위한 장치 내부에 구비되어 참조 프레임의 영상 데이터를 저장하는 영상 데이터 저장 장치에 있어서,
    매크로블록의 움직임 추정에 이용되는 상기 참조 프레임의 탐색 영역 데이터를 저장하는 데이터 저장부; 및
    상기 데이터 저장부에 상기 탐색 영역 데이터가 저장되거나, 상기 데이터 저장부로부터 상기 탐색 영역 데이터가 독출되도록 제어하는 제어부를 구비하고,
    상기 데이터 저장부는, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위라고 할 때, 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리를 포함하는 것을 특징으로 하는 영상 데이터 저장 장치.
  2. 제 1항에 있어서,
    상기 제어부는,
    현재 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터를 외부 메모리로부터 독출하고, 상기 독출된 탐색 영역 데이터가 상기 내부 메모리의 소정 위치에 저장되도록 제어하는 것을 특징으로 하는 영상 데이터 저장 장치.
  3. 제 1항에 있어서,
    상기 제어부는,
    상기 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터 중에서 상기 i+1번째 매크로블록의 움직임 추정에 이용되고 상기 내부 메모리에 저장된 상기 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 저장 상태는 유지하고, 상기 i+1번째 매크로블록의 움직임 추정에 이용되지 않는 상기 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터가 저장된 상기 내부 메모리의 소정 위치에 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 상기 탐색 영역 데이터가 저장되도록 제어하는 것을 특징으로 하는 영상 데이터 저장 장치.
  4. 제 1항에 있어서,
    상기 내부 메모리의 갯수는 상기 내부 메모리의 버스 액세스 대역폭 및 탐색 영역 데이터의 크기 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는 영상 데이터 저장 장치.
  5. 제 1항에 있어서,
    상기 내부 메모리로부터 상기 데이터 단위를 독출하고, 상기 독출된 데이터 단위를 상기 현재 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터로 정렬하는 데이터 정렬부를 더 포함하는 것을 특징으로 하는 영상 데이터 저장 장치.
  6. 제 1항에 있어서,
    상기 매크로블록을 16×16, 상기 탐색 영역 데이터의 크기를 144×80, 버스 액세스 대역폭을 128비트라고 할 때, 상기 데이터 단위는 16×80의 크기를 갖는 것을 특징으로 하는 영상 데이터 저장 장치.
  7. 움직임 추정을 위한 장치 내부에 구비되어 참조 프레임의 영상 데이터를 저장하는 영상 데이터 저장 장치에 있어서,
    매크로블록의 움직임 추정에 이용되는 상기 참조 프레임의 탐색 영역 데이터를 저장하는 데이터 저장부; 및
    상기 데이터 저장부에 상기 탐색 영역 데이터가 저장되거나, 상기 데이터 저장부로부터 상기 탐색 영역 데이터가 독출되도록 제어하는 제어부를 구비하고,
    상기 데이터 저장부는, i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위라고 할 때, 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리; 및
    상기 i번째 매크로블록에 대한 움직임 추정이 수행되는 동안, 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 추가 내부 메모리를 포함하는 것을 특징으로 하는 영상 데이터 저장 장치.
  8. 제 7항에 있어서,
    상기 제어부는,
    상기 i번째 매크로블록에 대한 움직임 추정이 완료되어 상기 내부 메모리에 대한 액세스가 없는 시점에, 상기 i+1번째 매크로블록의 움직임 추정에 이용되지 않는 상기 i번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터가 저장된 상기 내부 메모리의 소정 위치에, 상기 추가 내부 메모리에 저장된 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터가 저장되도록 제어하는 것을 특징으로 하는 영상 데이터 저장 장치.
  9. 제 7항에 있어서,
    상기 내부 메모리의 갯수는 상기 내부 메모리의 버스 액세스 대역폭 및 탐색 영역 데이터의 크기 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는 영상 데이터 저장 장치.
  10. 제 7항에 있어서,
    상기 내부 메모리로부터 상기 데이터 단위를 독출하고, 상기 독출된 데이터 단위를 상기 현재 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터로 정렬하는 데이터 정렬부를 더 포함하는 것을 특징으로 하는 영상 데이터 저장 장치.
  11. 움직임 추정을 위한 참조 프레임의 영상 데이터를 저장하는 방법에 있어서,
    i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위로 하여 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리에 저장된 상기 i번째 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터 중에서, 상기 i+1번째 매크로블록의 움직임 추정에 이용되지 않는 탐색 영역 데이터가 저장된 위치를 판단하는 단계; 및
    상기 판단된 상기 내부 메모리의 위치에 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 영상 데이터 저장 방법.
  12. 제 11항에 있어서,
    상기 탐색 영역 데이터는 외부 메모리로부터 독출되어 상기 내부 메모리에 저장되는 것을 특징으로 하는 영상 데이터 저장 방법.
  13. 제 11항에 있어서,
    상기 i번째 및 i+1번째 매크로블록의 움직임 추정에 모두 이용되는 탐색 영역 데이터의 저장 상태는 그대로 유지되는 것을 특징으로 하는 영상 데이터 저장 방법.
  14. 움직임 추정을 위한 참조 프레임의 영상 데이터를 저장하는 방법에 있어서,
    i번째(i는 정수) 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터와 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 차이에 해당하는 크기를 갖는 상기 참조 프레임의 탐색 영역 데이터를 하나의 데이터 단위로 하여 상기 데이터 단위를 복수 개 저장할 수 있는 적어도 하나 이상의 내부 메모리에 저장된 i번째(i는 정수) 매크로블록의 움직임 추정에 이용된 탐색 영역 데이터 중에서, i+1번째 매크로블록의 움직임 추정에 이용되지 않는 탐색 영역 데이터가 저장된 위치를 판단하는 단계;
    상기 i번째 매크로블록에 대한 움직임 추정을 수행하는 동안 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 추가 내부 메모리에 저장하는 단계; 및
    상기 i번째 매크로블록에 대한 움직임 추정이 완료되었을 때, 상기 추가 내부 메모리에 저장된 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 상기 판단된 상기 내부 메모리의 위치에 상기 i+1번째 매크로블록의 움직임 추정에 새롭게 필요한 탐색 영역 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 영상 데이터 저장 방법.
  15. 제 14항에 있어서,
    상기 탐색 영역 데이터는 외부 메모리로부터 독출되어 상기 내부 메모리에 저장되는 것을 특징으로 하는 영상 데이터 저장 방법.
  16. 제 14항에 있어서,
    상기 i번째 및 i+1번째 매크로블록의 움직임 추정에 이용되는 탐색 영역 데이터의 저장 상태는 그대로 유지되는 것을 특징으로 하는 영상 데이터 저장 방법.
KR1020050089503A 2005-09-26 2005-09-26 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법 KR100708183B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050089503A KR100708183B1 (ko) 2005-09-26 2005-09-26 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
US11/495,586 US20070071098A1 (en) 2005-09-26 2006-07-31 Image storage device for motion estimation and method of storing image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050089503A KR100708183B1 (ko) 2005-09-26 2005-09-26 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법

Publications (2)

Publication Number Publication Date
KR20070034870A KR20070034870A (ko) 2007-03-29
KR100708183B1 true KR100708183B1 (ko) 2007-04-17

Family

ID=37893909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050089503A KR100708183B1 (ko) 2005-09-26 2005-09-26 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법

Country Status (2)

Country Link
US (1) US20070071098A1 (ko)
KR (1) KR100708183B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220786A1 (en) * 2009-02-27 2010-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for multiple reference picture motion estimation
KR102136848B1 (ko) 2013-07-15 2020-07-22 삼성전자 주식회사 영상 처리 장치, 영상 처리 시스템 및 영상 처리 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970014396A (ko) * 1995-08-31 1997-03-29 배순훈 영상 부호기에서의 움직임 추정 장치
KR20060050350A (ko) * 2004-08-13 2006-05-19 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3803122B2 (ja) * 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
US6320812B1 (en) * 2000-09-20 2001-11-20 Agilent Technologies, Inc. Error catch RAM for memory tester has SDRAM memory sets configurable for size and speed

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970014396A (ko) * 1995-08-31 1997-03-29 배순훈 영상 부호기에서의 움직임 추정 장치
KR20060050350A (ko) * 2004-08-13 2006-05-19 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
국내 특허공보 10-1997-14396
국내 특허공보 10-2006-50350

Also Published As

Publication number Publication date
KR20070034870A (ko) 2007-03-29
US20070071098A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
TWI711300B (zh) 照度補償方法及相應之視訊處理裝置
US8565308B2 (en) Interframe prediction processor with address management mechanism for motion vector storage
BR122020002123B1 (pt) Aparelho e método de gerar candidatos de preditores de vetor de movimento
JP2023014095A (ja) 動きベクトル精密化および動き補償のためのメモリアクセスウィンドウおよびパディング
JP2016146674A (ja) 画像復号化装置および画像復号化方法
JP2006174486A (ja) ビデオデータの水平及び垂直フィルタリングを同時に行うデブロッキングフィルタ及び動作方法
US20070217702A1 (en) Method and apparatus for decoding digital video stream
US20070071099A1 (en) External memory device, method of storing image data for the same, and image processor using the method
US10123022B2 (en) Picture encoding device, picture decoding device, and picture communication system
US20090167775A1 (en) Motion estimation compatible with multiple standards
US20080089418A1 (en) Image encoding apparatus and memory access method
KR100644620B1 (ko) 포스트 필터링을 적용한 동영상 디코딩 방법 및 그 장치
JPWO2013031071A1 (ja) 動画像復号装置、動画像復号方法、及び集積回路
JP4822940B2 (ja) 画像処理装置及び画像処理方法
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JPWO2007055013A1 (ja) 画像復号化装置および方法、画像符号化装置
JP2009260421A (ja) 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム
JP2006279330A (ja) 動き補償処理方法
WO2006057182A1 (ja) 復号化回路、復号化装置、及び復号化システム
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
JP2003230148A (ja) 画像データ符号化装置
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템
KR101286071B1 (ko) 부호화기 및 그 인트라 예측 방법
JP2011097488A (ja) 映像圧縮符号化装置
CN102625093B (zh) 一种基于avs的帧间预测方法

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
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee