KR20060044356A - 동영상 코딩 장치 - Google Patents

동영상 코딩 장치 Download PDF

Info

Publication number
KR20060044356A
KR20060044356A KR1020050022348A KR20050022348A KR20060044356A KR 20060044356 A KR20060044356 A KR 20060044356A KR 1020050022348 A KR1020050022348 A KR 1020050022348A KR 20050022348 A KR20050022348 A KR 20050022348A KR 20060044356 A KR20060044356 A KR 20060044356A
Authority
KR
South Korea
Prior art keywords
motion vector
prediction
block
motion
unit
Prior art date
Application number
KR1020050022348A
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 KR20060044356A publication Critical patent/KR20060044356A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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
    • H04N19/517Processing of motion vectors by encoding
    • 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/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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

움직임 벡터 예측 회로(101)는 2-탭 픽셀 보간기(605)를 이용하여 기준 영상의 검색 영역내에 있는 예측 블록 주변의 영역 뿐만 아니라, 정수 픽셀 정밀도로 예측된 움직임 벡터에 의해 표시되는 예측 블록도 서브 픽셀 정밀도로 보간하고, 보간된 영역내에서 코딩될 현재 블록과의 높은 상관성을 갖는 예측 블록의 위치를 표시하는 복수개의 움직임 블록을 예측한다. 움직임 보상 회로(102)는 6-탭 픽셀 보간기(901)를 이용하여 예측된 움직임 벡터에 의해 표시되는 각각의 예측 블록을 보간하고, 보간된 예측 블록의 코딩 코스트를 비교하고, 예측된 움직임 벡터 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정한다. 상술한 것처럼, 움직임 벡터 후보의 수는 2-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측에에 의해 좁혀지며, 움직임 보상은 6-탭 필터를 이용하여 이들 움직임 벡터 후보에 대해 수행된다. 그러므로, 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 움직임 예측과 같은 높은 동영상 압축 성능을 얻는 것이 가능해진다.
픽셀, 필터, 움직임 예측, 보간기

Description

동영상 코딩 장치{MOVING PICTURE CODING APPARATUS}
도 1은 종래 기술의 MPEG 시스템에 이용되는 하이브리드 동영상 코딩 장치의 구조의 예를 도시하는 블록도.
도 2는 종래 기술의 동영상 코딩 장치에 의해 수행되는 프로세싱의 흐름을 도시하는 흐름도.
도 3은 통상의 블록 매칭 방법의 예시적 도면.
도 4는 서브 픽셀 정밀도의 통상의 움직임 예측용 검색 영역의 예시적 도면.
도 5는 기준 화상내에 정수 픽셀 및 서브 픽셀을 도시하고, 그러한 서브 픽셀을 6-탭 필터를 이용하여 생성하는 방법을 예시적으로 도시하는 도면.
도 6은 일본 특허 공개 공보 제2003-348595호에서 개시된 동영상 코딩 장치의 구조를 도시하는 블록도.
도 7은 본 발명의 제1 실시예의 동영상 코딩 장치의 구조를 도시하는 블록도.
도 8은 제1 실시예의 동영상 코딩 장치에 의해 수행되는 코딩 공정의 흐름을 도시하는 흐름도.
도 9는 제1 실시예의 동영상 코딩 장치의 움직임 벡터 예측 회로의 구조를 도시하는 블록도.
도 10은 제1 실시예의 동영상 코딩 장치의 움직임 벡터 예측 회로에서 수행되는 움직임 예측 공정의 흐름을 도시하는 흐름도.
도 11은 제1 실시예의 동영상 코딩 장치의 움직임 보상 회로의 구조를 도시하는 블록도.
도 12는 제1 실시예의 동영상 코딩 장치의 움직임 보상 회로에서 수행되는 움직임 보상 공정의 흐름을 도시하는 흐름도.
도 13은 2-탭 필터를 이용하는 움직임 벡터 예측의 코딩 코스트로부터의 판정을 기초로 단방향 예측 및 양방향 예측이 절환되며, 단방향 예측의 경우, 움직임 예측이 6-탭 필터를 이용하는 2개의 움직임 벡터에 대해 수행될 수 있음을 도시하는 도면.
도 14는 제1 실시예의 동영상 코딩 장치의 움직임 벡터 결정 유닛의 구조를 도시하는 블록도.
도 15는 제1 실시예의 동영상 코딩 장치의 움직임 벡터 결정 유닛에 의해 수행되는 공정의 흐름을 도시하는 흐름도.
도 16은 제1 실시예의 동영상 코딩 장치에 의해 수행되는 움직임 벡터 예측의 흐름을 도시하는 흐름도.
도 17a는 저장 매체의 주 유닛으로서의 플렉시블 디스크의 물리적 포맷의 예를 도시하며, 도 17b는 플렉시블 디스크의 모양의 전면도, 그 단면도 및 플렉시블 디스크 장치이며, 도 17c는 플렉시블 디스크(FD) 에/로부터 프로그램을 기록 및 재생하기 위한 구성을 도시하는 도면.
도 18은 콘텐트 배포 서비스를 구현하는 컨텐트 공급 시스템의 전체 구성을 도시하는 블록도.
도 19는 제1 실시예에 설명된 동영상 코딩 방법 및 동영상 디코딩 방법을 이용하는 이동 전화기를 도시하는 도면.
도 20은 휴대 전화기의 구조를 도시하는 블록도.
도 21은 디지털 방송 시스템의 예를 도시하는 도면.
본 발명은 동영상 코딩 장치에 관한 것이며, 특히 제한된 리소스로 동영상을 코딩하는 LSI, 소프트웨어 등에 있어서, 서브 픽셀 정밀도(sub-pixel precision)의 효율적인 움직임 예측(motion estimation)을 가능하게 하는 동영상 코딩 장치에 관한 것이다.
근래에, 컴퓨터 성능이 개선되고 인터넷 통신 용량이 증가됨에 따라 디지털 컨텐츠가 널리 이용되고 있다. 정지 화상이 연속되는 동영상(비디오)의 기록에 있어서는, 디지털 DVD가 신속하게 아날로그 VHS를 대체하고 있다. 비디오 시퀀스는 방대한 양의 정보를 포함하며, 따라서 비디오 정보를 디지털 데이터로 처리하는데 있어서 비디오 크기를 압축하는 기술은 필수이다. 디지털 비디오 컨텐츠에서, 정보는 코딩 방법에 의해 압축된다. 예를 들면, DVD 레코더에서의 코딩 방법으로 MPEG-2가 이용되고, 비디오폰으로 이용되는 이동 전화기에서는 MPEG-4가 이용된다.
비디오 관련 응용물은 증가할 것으로 예측된다. 카메라 내장형 이동 전화를 비디오 플레이어용으로 이용하는 것이 대중화되면, SD 카드와 같은 메모리 매체내에 비디오 데이터를 저장하는 수요는 증가할 것이다. 또한, 영화와 같은 대형 스크린용 고해상도 비디오 데이터를 인터넷을 통해 다운로드하고, 스트리밍으로 보는 것도 대중화될 것이다. 그러한 응용물은 공통적으로 강화된 비디오 압축 성능을 요구하고 있다. 다시 말하면, 비디오 압축 성능이 증가하면, 동일 용량의 저장 매체내에 장시간 비디오 데이터를 기록하는 것이 가능하고, 동일한 네트워크 주파수 대역에서 고품질 비디오 데이터를 전송하는 것이 가능해진다.
이러한 배경으로, MPEG(Moving Picture Experts Group)과 ITU-T(International Telecommunications Union - Telecommunication Standardization Sector)는 보다 효율적인 압축 및 코딩을 위한 차세대 코덱 표준화를 완성하고자 Joint Video Team(JVT)를 설립하였고, 현재 MPEG-4 AVC/H.264가 표준화되었다. 이 표준은 이하 MPEG-4 AVC로 칭한다. MPEG-4 AVC는 화상들 사이의 시간적 상관(correlation)을 이용한 움직임 보상과 공간 상관을 이용하기 위한 주파수 변환을 채용하는 종래의 하이브리드 인코더 구조를 답습한다. 그러나, 수개의 신규한 툴을 도입하고 기존 툴을 최적화함에 의해 종래의 표준(예를 들면, ITU-T H.263 및 MPEG-4)에 비해 2배의 코딩 효율을 성취한다. 여기서, 화상은 프레임 또는 필드를 칭한다.
MPEG-4 AVC은 비디오 코딩을 위한 개선된 압축을 이뤄내지만, 동시에 막대한 양의 연산을 요한다. 그러므로, MPEG-4 AVC 프로세싱이 LSI 단위에서 수행되는 경 우, 그 회로 크기가 증가되거나 또는 동작 사이클의 증가로 인해 전력 소비가 커진다. 그러한 회로 크기의 증가는 LSI의 가격의 상승 뿐만이 아니라 LSI에 의한 점유 공간도 증가시켜서, 소형 경량의 이동 장치에서는 적합하지 않다. 반면에, MPEG-4 AVC 프로세싱이 소프트웨어로 구현되는 경우, 전력 소비 증가로 인해 CPU가 매우 고속으로 막대한 양의 연산을 수행할 수 있어야 하거나 또는 처리 시간의 현저한 증가를 초래한다.
도 1은 MPEG-4 AVC을 포함하는 종래의 MPEG 표준에 따라 이용되어 온 하이브리드 코딩 장치의 일 예를 도시한다. 종래의 동영상 코딩 장치의 내부 구조에 대해 도 1을 참조로 아래에 설명된다. 동영상 코딩 장치는 입력된 동영상을 수신하는 입력 유닛(2001); 화상간의 움직임 예측을 위해 이용되는 움직임 벡터 예측 회로(2002); 감산 회로(2003); 직교 변환 회로(2007); 양자화기(2008); 역 양자화기(2010); 역 직교변환 회로(2011); 가산 회로(2006); 화상간 움직임 예측을 위해 이용되는 기준 영상을 유지하고 있는 기준 영상 메모리(2005); 일련의 정보에 대응하는 코드를 할당하는 코딩 유닛(2012); 코딩된 비트 정보를 적절한 크기의 블록으로 분할하고 이를 외부로 출력하기 위한 출력 유닛(2009)을 포함한다.
다음으로, 도 2의 흐름도를 참조로 종래의 동영상 코딩 장치의 동작의 개요를 설명한다.
단계 2301: 입력 유닛(2001)은 외부 메모리로부터 코딩될 현재의 화상을 판독한다. 외부 메모리내에 판독될 화상이 남아있지 않다면, 입력 유닛(2001)은 그 동작을 종료한다. 판독된 화상의 각각을 매크로블록이라 불리는 N 픽셀 블록으로 분할한다.
단계 S2302: 다음으로, 입력 유닛(2001)은 매크로블록을 1부터 N까지 오름차순으로 움직임 벡터 예측 회로(2002) 및 감산 회로(2003)으로 전송한다. 이들 N 매크로블록의 전송을 완료한 경우, 새로운 화상 판독을 다시 시작한다(단계 2301로).
단계 2303: 움직임 벡터 예측 회로(2002)는 기준 영상 메모리(2005)로부터 n번째 매크로블록에 대응하는 기준 영상의 검색 영역을 판독하고 움직임 예측 공정을 수행한다. 여기서, 움직임 예측 회로(2002)는 후술하는 6-탭 필터를 이용하여 서브 픽셀 정밀도의 블록 매칭에 기초해 움직임 벡터를 예측한다. 다음으로, 움직임 벡터 예측 회로(2002)는 움직임 보상 회로(2004)로 움직임 예측에 의해 얻어진 n번째 매크로블록에 대응하는 움직임 벡터를 출력한다. 동시에, 움직임 벡터 예측 회로(2002)는 코딩 유닛(2012)으로 움직임 벡터를 출력한다. 기준 영상의 화상은 기준 영상 메모리(2005)내에 저장된다.
단계 S2304: 움직임 보상 회로(2004)는 움직임 벡터 예측 회로(2002)로부터 얻어진 움직임 벡터를 기초로 기준 영상 메모리(2005)내에 저장된 기준 영상의 픽셀 값을 수득한다. 다음으로, 픽셀 보간법을 통해 n번째 매크로블록과 동일한 형태 및 동일한 크기의 예측 화상을 생성하고, 이를 감산 회로(2003) 및 가산 회로(2006)로 출력한다.
단계 S2305: 감산 회로(2003)로, 코딩될 현재 영상내의 n번째 매크로블록의 화상 데이터뿐만 아니라 움직임 보상 회로(2004)에 의한 움직임 보상된 기준 영상 내의 대응 영역의 화상 데이터가 전송된다. 감산 회로(2003)는 현재 영상의 n번째 매크로블록의 화상 데이터로부터 기준 영상내의 대응하는 영역의 화상 데이터를 감산하여 차분 데이터를 연산한다. 이 차분 데이터는 직교 변환 회로(2007)로 전송된다.
단계 S2306: 직교 변환 회로(2007)는 차분 데이터에 대해 직교 변환을 수행한다. 그러한 직교 변환으로서, 예를 들면 이산 코사인 변환(DCT)이 이용된다. 직교 변환 회로(2007)에 의해 얻어진 변환 계수는 양자화기(2008)로 전송된다. 양자화기(2008)는 변환 계수를 양자화한다. 양자화기(2008)는 양자화 공정을 위해 이용되는 양자화값 및 양자화된 변환 계수를 코딩 유닛(2012) 및 역 양자화기(2010)로 출력한다.
단계 S2307: 역 양자화기(2010)는 수신된 양자화값 및 변환 계수를 기초로 역 양자화를 수행한다. 다음으로, 역 직교 변환 회로(2011)는 감산 회로(2003)로부터 출력된 n 번째 매크로블록에 대한 차분 데이터를 재구성하기 위해서 역 DCT와 같은 역 주파수 변환을 수행하고, 재구성된 차분 데이터를 가산 회로(2006)로 출력한다.
단계 S2308: 움직임 보상 처리된 기준 영상의 화상 데이터, 다시 말하면 예측 화상 데이터가 움직임 보상 회로(2004)로부터 가산 회로(2006)로 전송된다. 재구성된 차분 데이터는 이 예측 화상 데이터에 가산되어, 코딩될 현재 영상의 화상 데이터를 수득한다. 현재 영상의 화상 데이터가 다음 코딩에 이용될 기준 영상으로서 기준 영상 메모리(2005)내의 매크로블록 번호 n에 대응하는 위치로 저장된다.
단계 S2309: 코딩 유닛(2012)은 양자화 값 및 양자화기(2008)로부터 전송된 양자화된 변환 계수, 움직임 벡터 예측 회로로부터 전송된 움직임 벡터 등을 코딩한다. 그러한 코딩을 위한 방법으로서 컨텍스트-적응형 가변 길이 코딩(Context-Adaptive Variable Length Coding; CAVLC), 콘텍스트-적응형 이진 연산 코딩(CABLC) 등이 이용될 수 있다. 코eld 유닛(2012)은 코딩된 비트 정보를 출력 유닛(2009)으로 전송한다.
단계 S2310: 출력 유닛(2009)은 코딩 유닛(2012)으로부터 수신된 비트 정보를 도면에 도시되지 않은 버퍼내로 저장하고, 소정의 분할 방법에 따라 패킷 단위로 나눈다(packetize). 분할 방법은 비트 정보의 네트워크로의 전송 목적, 저장 매체로의 저장 목적 등의 응용 목적에 따라 결정된다. n 번째 매크로블록에 대한 모든 처리가 완료될 때, n+1 번째 매크로블록의 처리가 다음에 수행된다(단계 S2302로).
종래의 동영상 코딩 장치는 상술한 방식으로 입력된 영상을 코딩한다. 입력 유닛(2001)은 시간 순서대로 영상을 차례로 판독한다. 다르게는, 영상을 또 다른 순서로 판독할 수 있다. 이 경우, 예를 들면 0, 3, 1, 2, 6, 4, 5, 9, 7, 8의 순서처럼 시간적으로 이후 영상이 시간적으로 이전 영상 보다 먼저 판독된다. 먼저 코딩된 영상이 기준 영상으로서 기준 영상 메모리(2005)내에 저장되고, 영상간 예측 코딩을 통해 가용된다. 움직임 예측 공정에서, 영상은 이용가능한 기준 영상에 따라 2개의 유형으로 분류된다. 시간적으로 이들 이전에 오는 기준 영상만으로부터 예측된 영상은 P-영상이라 칭하고, 시간적으로 이들 이전 및 이후에 오는 기준 영상으로부터 예측될 수 있는 영상은 B-영상이라 칭한다. 기준 영상으로 이용될 영상은 적절한 기간 동안 기준 영상 메모리(2005)내에 저장되며, 움직임 벡터 예측 회로(2002) 및 움직임 보상 회로(2004)에 의해 액세스될 수 있다.
도 1에 도시된 것과 같은 고효율 코딩 장치에서, 움직임 벡터 예측 회로(2002)에서의 움직임 벡터를 예측하는 공정은 일반적으로 높은 부하를 초래한다. MPEG에서의 영상간 움직임 예측에 따르면, 영상은 블록들로 분할되고, 움직임 보상은 블록 대 블록 단위로 수행된다. 이는 또한 비디오폰의 동영상 코딩 국제 규격인 ITU-T H.261에 이용된다. 그러한 블록 대 블록 움직임 보상은 통상 블록 매칭을 이용하는 움직임 벡터 예측을 기초로 수행된다. 도 3은 블록 매칭을 설명하는 도면이다. 도 3에서, 2101은 코딩될 현재의 영상을 표시하고, 2102는 기준 영상을 표시한다. 코딩될 현재 영상(2101)은 블록으로 분할되고, 블록 대 블록 기준으로 기준 영상(2102)내의 검색 영역(2106)내에서 검색이 수행된다. 임의 크기의 검색 영역(2016)이 지정될 수 있다. 블록(2103)이 목적 블록(현재 블록)인 경우, 목적 블록에 가장 유사한 블록이 검색 영역(2106)내에서 검색되고 가장 상관된 블록으로 예측 블록(2104)이 예측되는 방식으로 수행된다. 블록들 사이의 유사성은 차분 절대값의 합(sum of absolute difference; SAD)을 기초로 계산된다. 그러나, 유사성은 반드시 SAD를 기초로 산출될 필요는 없고, SAD의 직교 변환인 SAD 변환(SADT)을 기초로 산출될 수 있다. 예측 블록(2104)과 목적 블록(2013) 사이의 관련 위치 차분은 움직임 벡터(2105)에 의해 표시된다. 움직임 벡터 예측 회로(2002)는 상술한 블록 매칭을 기초로 움직임 벡터를 예측한다.
블록 매칭에 의한 움직임 벡터 예측의 정밀도를 개선하고 영상간 움직임 예측의 코딩 효율을 강화하기 위해서, 움직임 벡터 예측 회로(2002)는 종래에는 움직임 벡터를 서브 픽셀 정밀도로 예측했다. 서브 픽셀 정밀도의 움직임 벡터 예측은 상술한 블록 매칭에 맞는 방법이다. 보다 상세하게는, 비정수 픽셀 값이 기준 영상(2102)내의 픽셀 값을 보간함에 의해 좌표 평면 상에 생성되어 고해상도 기준 화상을 구성하고, 움직임 예측은 그러한 고해상도 기준 화상을 이용하여 수행된다. 결과적으로, 목적 블록과 보다 상관된 예측 블록이 생성될 수 있고, 따라서, 더욱 개선된 코딩 효율이 수득된다.
도 4는 서브 픽셀 정밀도의 움직임 예측에 대한 공통 공정을 설명하는 도면으로서, 도 3의 검색 영역을 구성하는 픽셀의 상세를 도시한다. 검색 영역(2106)에서, 원(○)은 정수 픽셀 값(2502)을 표시하고, 정수 픽셀 정밀도의 예측 블록(2501)은 움직임 벡터 예측 회로(2002)에 의해 수행된 정수 픽셀 정밀도의 움직임 예측의 결과로서 얻어진다. 다음으로, 움직임 벡터 예측 회로(2002)는 예측 블록(2501)의 주변에서 서브 픽셀 정밀도의 움직임 예측을 실시하기 위하여, 검색 영역내에서 픽셀 값을 보간한다. X표는 보간 필터를 이용하여 검색 영역의 1/2 픽셀 정밀도의 픽셀 보간에 의해 얻어지는 서브 픽셀을 표시한다. 움직임 벡터 예측 회로(2002)는 1/2 픽셀 정밀도의 검색 영역을 이용하여 움직임 예측을 수행하고, 1/2 픽셀 정밀도의 예측 블록 및 움직임 벡터를 수득한다. 또한, 1/2 픽셀 정밀도의 움직임 예측 결과를 얻을 수 있던 예측 블록 주변에서, 보간 필터를 이용해 1/4 픽셀 정밀도의 검색 영역의 픽셀 보간을 실시하여, 도시되지 않은 1/4 픽셀 정밀도의 보간 픽셀을 이용하여 1/4 픽셀 정밀도의 움직임 예측 처리를 실시한다. 결과적으로, 도 3에 도시된 것과 같은 예측 블록(2104) 및 움직임 벡터(2105)가 얻어진다. 도 4에서, 정수의 픽셀 정밀도의 움직임 예측에 의해 얻어진 예측 블록(2501)의 각측에 인접한 8개의 주변 픽셀만을 포함하는 범위에서 보간이 수행된다. 그러나, 서브 픽셀 정밀도의 움직임 예측에 대해 검색 영역으로서 임의의 큰 범위를 보간하는 것도 가능하다. 또한, 움직임 예측이 도 4에서의 1/4 픽셀 정밀도까지 수행되지만, 임의의 큰 정밀도로 움직임 예측을 수행하는 것도 가능하다.
서브 픽셀 정밀도를 갖는 움직임 예측을 수행하는 경우, 움직임 벡터 예측 회로(2002)는 통상의 움직임 예측 이외에 아래의 공정을 수행할 필요가 있다: (1) 고해상도의 기준 화상 생성하는 공정; 및 (2) 고해상도 및 넓은 검색 범위로 기준 화상으로부터의 움직임 벡터를 예측하는 공정. MPEG-2에서, 상술한 (1)을 수득하는 것을 목적으로 2-탭 필터 선형 보간이 수행된다. MPEG-4 AVC에서, 6-탭 필터를 이용하여 기준 화상이 생성된다. 보다 상세하게는, 1/2 픽셀 정밀도의 보간된 값은 6-탭 필터를 이용하여 생성되고, 또한 1/4 픽셀 정밀도의 보간된 값은 2-탭 필터를 이용하는 1/2 정밀도의 픽셀로부터 생성된다.
도 5는 기준 화상의 정수 픽셀 및 서브 픽셀을 도시한다. 2-탭 필터를 이용하는 픽셀 보간과 6-탭 필터를 이용하는 픽셀 보간 사이의 차분에 대해 도 5를 참조로 설명이 주어진다. 기준 화상에서, 굶은선의 원(??)으로 표시되는 정수 픽셀(2201)과 가는선의 원(??)으로 표시되는 1/2 픽셀의 서브 픽셀이 등간격으로 이격되어 배치되며, 이 설명과 관련이 없는 픽셀은 도시하지 않았다. 이들 서브 픽셀 의 이용은 기준 화상의 해상도를 강화한다. 2-탭 필터는 2개의 픽셀을 이용하여 선형 보간을 수행하고, 6-탭 필터는 6개의 픽셀을 이용하여 보간을 수행한다. 여기서 서브 픽셀 c에 주목하면, 2-탭 필터는 픽셀 G 및 H를 이용하여 픽셀 c를 생성하고, 6-탭 필터는 픽셀 E, F, G, H, I 및 J를 이용하여 픽셀 c를 생성한다.
서브 픽셀은 아래의 등식에 따라 2-탭 필터 및 6-탭 필터를 이용하여 생성된다. 여기서, w1 내지 w6는 6-탭 필터의 형상 즉, 픽셀의 가중치를 결정하는 계수이다.
* 2-탭 필터를 이용하는 픽셀 보간
c = (G+H+1)/2
f = (G+M+1)/2
g = (f+h+1)/2 = (G+H+M+N+2)/4
* 6-탭 픽셀을 이용하는 픽셀 보간
c = (w1 ×E + w2×F+w3×G + w4×H+w5×I + w6×J + (W/2))/W
f = (w1×A + w2×C + w3×G + w4×M +w5×R+w6×T + (W/2))/W
g = (w1×d + w2×e + w3×f + w4×h + w5×i + w6×j + (W/2))/W
W = w1 + w2 + w3 + w4 + w5 + w6
상술한 등식으로부터 분명해지는 것처럼, 6 픽셀을 이용하여 서브 픽셀을 예측 하는 6-탭 필터는 2-탭 필터에 비해 보다 정확한 픽셀 보간을 수득한다. 반면에, 6-탭 필터를 이용하는 픽셀 보간은 단일 서브 픽셀을 생성하기 위한 가산 및 승산의 수를 현저히 증가시켜서, 연산의 부하를 증가시킨다. 또한, 연산을 위해 참조하는 픽셀의 수가 증가하므로 메모리 액세스 빈도가 증가한다.
이러한 단점을 극복하고자, 수행될 연산의 횟수를 줄이고 따라서 서브 픽셀 정밀도의 움직임 예측의 성능을 저하하지 않으면서도 회로 크기를 감소하는 기술이 연구되고 있다. 예를 들면, 일본 공개 공보 제7-162868호(특허 문헌 1)는 다단 움직임 예측을 수행함에 의해 서브 픽셀 정밀도의 움직임 예측에 대한 검색 범위의 폭을 좁혀서 연산의 횟수를 줄이게 하는 방법이 개시되어 있다. 일본 공개 공보 제7-95585호(특허 문헌 2)는 서브 픽셀 정밀도의 움직임 예측에 있어서 수직 및 수평 방향의 픽셀 보간만을 수행하고 경사 방향으로의 픽셀 보간은 수행하지 않음으로서, 움직임 벡터를 검색하는 연산의 횟수를 감소할 뿐만 아니라 고해상도 기준 화상을 생성하는 연산의 횟수를 감소하는 방법이 개시되어 있다. 또한, 일본 공개 공보 제2003-348595호(특허 문헌 3)은 6-탭 필터에 의해 생성된 하나의 영상에 대한 서브 픽셀 정밀도의 보간된 기준 화상 데이터를 메모리내에 저장함에 의해, 서브 픽셀 정밀도의 움직임 예측을 수행하는 경우 각각의 블록의 검색 영역을 생성하기 위한 6-탭 필터에 의한 불필요한 연산을 감소하기 위한 방법이 개시된다. 도 6은 특허 문헌 3에 개시된 동영상 코딩 장치의 구조를 도시한다. 화상 생성 유닛(2401) 및 고해상도 기준 영상 메모리(2402)는 도 1에 도시된 것과 같은 종래 동화상 코딩 장치에 포함되어 있지 않으며, 하나의 영상을 위한 보간된 화상 데이터는 고해상도 기준 영상 메모리(2402)내에 저장된다.
그러나, 특허 문헌 1 및 특허 문헌 2는 서브 픽셀 정밀도의 움직임 예측을 수행하는 경우의 6-탭 필터를 이용한 기준 화상의 생성을 위해 필요한 연산의 횟수 의 감소를 개시하지 않는다. 더욱이, 특허 문헌 3에 개시된 방법은 서브 픽셀을 생성하기 위하여 6-탭 필터에 의한 불필요한 연산의 양을 감소하지만, 실제로 영상 생성 유닛(2401)이 하나의 영상에 대한 전체 보간된 화상을 생성하기 위해 서브 픽셀 정밀도의 움직임 예측을 수행하는 경우, 검색을 위해 이용되지 않는 범위의 연산을 필요로 한다. 특허 문헌 3의 방법의 다른 단점으로는, 6-탭 필터를 이용하여 보간된 고해상도 기준 화상을 보유하기 위한 고용량의 고해상도 기준 영상 메모리를 신규 구성 요소로 필요로 한다는 점이다.
본 발명의 목적은 움직임 벡터 예측 회로(2002)에 의해 수행되는 연산의 횟수를 종래의 수준 이하로 유지하고, 신규로 요구되는 메모리를 추가하지 않으면서, 6-탭 필터에 의해 보간된 기준 화상을 이용하는 서브 픽셀 정밀도의 종래의 움직임 예측과 같은 높은 압축 성능을 유지하는 것이다.
이러한 목적을 이루기 위해서, 본 발명의 동영상 코딩 장치는: 제1 필터를 이용하여 기준 영상내의 검색 영역내의 소정 영역을 서브 픽셀 정밀도로 보간하도록 동작가능하며, 보간 범위내에서 코딩될 현재의 블록과 가장 상관도가 높은 예측 블록의 위치를 표시하는 복수개의 움직임 벡터를 예측하도록 동작가능한 움직임 벡터 예측 유닛; 및 제1 필터보다 더 큰 수의 탭을 갖는 제2 필터를 이용하여 예측된 움직임 벡터에 의해 표시되는 예측 블록 각각을 서브 픽셀 정밀도로 보간하도록 동작가능하며, 각각의 보간된 예측 블록과 현재 블록 사이의 차분 데이터를 기초로 상기 움직임 벡터 예측 유닛에 의해 예측되는 움직임 벡터 중 현재 블록과 가장 상관성이 높은 예측 블록의 위치를 표시하는 움직임 벡터를 결정하도록 동작 가능한 움직임 벡터 결정 유닛을 포함한다.
다시 말하면, 본 발명의 동영상 코딩 장치에 따르면, 움직임 벡터 예측 유닛은 2-탭 필터를 이용하는 서브 픽셀을 생성하고, 움직임 벡터의 수를 줄이도록 생성된 기준 화상을 이용하여 서브 픽셀 정밀도의 움직임 예측을 수행하고, 움직임 벡터 결정 유닛은 예측 블록을 생성하도록 6-탭 필터를 이용하여 복수개의 움직임 벡터에 대한 움직임 보상을 수행하며, 이렇게 움직임-보상된 예측 블록들의 코딩 코스트("평가 코스트"라고도 칭함)를 비교하여, 연산 횟수를 종래 수준 이하로 유지하면서 신규로 요구되는 메모리를 추가하지 않으면서, 6-탭 필터에 의해 생성되는 기준 화상을 이용하여 서브 픽셀 정밀도의 종래의 움직임 예측과 같은 높은 압축 성능을 수득하는 것이 가능하게 된다. 코딩 코스트는 예측 블록과 현재(목적) 블록 사이의 차분 화상 데이터를 기초로 수득되는 값이며, 예측 블록과 현재 블록 사이의 상관성의 낮음 정도를 표시한다.
제2 서브 픽셀 정확도 움직임 벡터 예측 유닛은 전방향 움직임 벡터와 후방향 움직임 벡터 각각이 될 복수개의 움직임 벡터를 예측하며, 움직임 벡터 결정 유닛은 각 예측 블록이 제2 필터를 이용하여 서브 픽셀 정확도로 보간된 이후에, 예측 블록의 각각과 현재 블록 사이의 차분 데이터를 기초로 제2 코딩 코스트를 연산하도록 동작하는 제2 코딩 코스트 연산 유닛을 더 포함하며, 여기서 제2 코딩 코스트의 값이 작을수록 각각의 예측 블록과 현재 블록 사이의 상관성은 더 높아짐을 표시하며, 방향 결정 유닛은 현재 블록의 예측 방향이 단일 방향임을 결정한 경우, 움직임 벡터 결정 유닛은 제2 코딩 코스트를 기초로 전방향 움직임 벡터 또는 후방향 움직임 벡터가 될 예측된 움직임 벡터 중에서 현재 블록과 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하는 것이 가능하다.
이러한 구성에 따르면, 복수개의 벡터 후보를 움직임 벡터 결정 유닛으로 출력하고, 이들 후보 중에서 방향 결정 유닛에 의해 판정된 현재의 블록의 예측 방향과는 무관하게 현재 블록과의 높은 상관성을 보이는 예측 블록의 위치를 표시하는 움직임 벡터를 선택하는 것이 가능해진다.
별도로, 제1 필터는 선형 보간에 의해 기준 영상내의 영역을 보간할 수 있다. 제1 필터를 이용한 선형 보간을 수행함에 의해, 소량의 연산으로 픽셀을 보간하는 것이 가능해진다.
움직임 벡터 결정 유닛은 최소한의 제2 코딩 코스트로 예측 블록의 위치를 표시하는 움직임 벡터를 선택하는 것이 가능하고, (i) 방향 결정 유닛이 현재 블록의 예측 방향이 전방향임을 결정하는 경우에 예측된 전방향 움직임 벡터 후보 중에서 움직임 벡터를 결정하고, (ii) 방향 결정 유닛이 현재 블록의 예측 방향이 후방향임을 결정하는 경우에는 예측된 후방향 움직임 벡터 후보 중에서 움직임 벡터를 결정하는 것이 가능하다.
더욱이, 동영상 코딩 장치는 방향 결정 유닛이 현재 블록의 예측 방향이 양방향인 것으로 결정한 경우 전방향 예측 블록 및 후방향 예측 블록의 평균 화상을 생성하도록 동작가능하며, 여기서 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛은 전방향 움직임 벡터와 후방향 움직임 벡터 각각에 대한 후보로서 적어도 제1 움직임 벡터 및 제2 움직임 벡터를 예측하며, 제1 움직임 벡터는 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하며, 제2 움직임 벡터는 현재 블록과의 2번째로 높은 상관성을 갖는 예측 블록의 위치를 표시하며, 방향 결정 유닛이 현재 블록이 현재 블록의 예측 방향이 양방향인 것으로 결정한 경우, 움직임 벡터 결정 유닛은 제1 전방향 움직임 벡터 및 제1 후??향 움직임 벡터 각각이 움직임 벡터임을 결정하고, 평균 화상 생성 유닛은 제1 전방향 움직임 벡터에 의해 표시되는 예측 블록과 제1 후방향 움직임 벡터에 의해 표시되는 예측 블록의 평균 화상을 생성하며, 제1 전방향 움직임 벡터와 제1 후방향 움직임 벡터 각각은 움직임 벡터 결정 유닛에 의해 움직임 벡터가 될 것으로 결정된다.
이러한 구성에 따르면, 모든 움직임 벡터 후보들은 방향 결정 유닛이 현재 블록의 예측 방향이 전방향임을 판정한 경우 전방향이고, 후방향으로 판정된 경우 모든 움직임 벡터 후보들은 후방향이며, 양방향임이 판정된 경우 하나의 움직임 벡터는 전방향이고 다른 움직임 벡터는 후방향임을 결정하는 것이 가능하다. 움직임 벡터 결정 유닛은 제2 코딩 코스트를 기초로 움직임 벡터 후보 중에서 최적의 움직임 벡터를 선택하는 것이 가능해진다. 더욱이, 제2 코딩 코스트 연산 유닛은 6-탭 필터에 의해 보간된 기준 화상을 이용하여 서브 픽셀 정밀도의 움직임 예측의 결과로서 얻어진 움직임 벡터와 동일한 움직임 벡터를 움직임 벡터 후보로부터 선택하는 것을 가능하게 한다.
본 발명에 따르면, 서브 픽셀 정밀도의 움직임 예측이 6-탭 필터에 의해 보 간된 기준 화상을 이용하여 수행되는 경우, 움직임 벡터 예측의 정밀도를 낮추지 않고 또한 고해상도 기준 화상을 유지하기 위한 메모리를 추가시키지 않고, 움직임 보상 공정에 필요한 연산의 양을 감소시키는 것이 가능하다.
본 발명은 상술한 동영상 코딩 장치뿐만 아니라 동영상 코딩 장치내에 포함된 특징 유닛을 포함하는 동영상 코딩 방법으로서도 예시될 수 있다. 또는, 본 발명은 컴퓨터가 이러한 단계들을 수행하도록 하는 프로그램으로서 구현될 수 있다. 이 프로그램은 CD-ROM와 같은 기록 매체 및 인터넷과 같은 전송 매체를 통해 배포될 수 있는 것은 당연하다.
본 발명의 기술적 배경에 대한 추가 정보로서, 2004년 3월 17일 출원된 일본 특허 출원 번호 제2004-076049호의 명세서, 도면 및 청구 범위를 포함하는 전문이 본 명세서에 참조로 포함된다.
본 발명의 실시예에 대해 첨부된 도면을 참조로 상세히 설명된다. 본 발명은 이들 실시예에 제한되지 않으며, 다양한 변경 및 개조가 본 발명의 사상 및 범위에서 벗어나지 않고 가능하다.
(제1 실시예)
본 발명의 제1 실시예에서의 동영상 코딩 장치에 대해 설명된다. 본 발명의 동영상 코딩 장치는 동영상 신호를 입력 신호로서 수신하고, 영상을 코딩하며, 코딩된 정보를 출력한다. 이는 비디오 저장 장치 또는 비디오 전송 장치와 결합되면 넓은 범위에 적용가능하다.
도 7은 본 발명의 제1 실시예에 따른 동영상 코딩 장치의 구조를 도시하는 블록도이다. 도 1에 도시된 종래 기술의 동영상 코딩 장치와 동일한 동작을 하는 구성 요소에 대해서는 동일한 참조 번호를 병기하였다. 본 실시예에서의 동영상 코딩 장치는, 이전에 2-탭 필터에 의해 생성된 검색 영역내의 움직임 벡터에 대한 검색 범위를 좁히고, 검색 결과로서 이들을 움직임 벡터 후보로 얻어지고, 마지막으로 6-탭 필터를 이용하여 보간된 서브 픽셀 정밀도의 예측 블록을 이용하여 움직임 보상을 수행한다. 동영상 코딩 장치는 움직임 벡터 예측 회로(101), 움직임 보상 회로(102), 움직임 벡터 결정 유닛(103), 감산 회로(2003), 기준 영상 메모리(2005), 가산 회로(2006), 직교 변환 회로(2007), 양자화기(2008), 출력 유닛(2009), 역 양자화기(2010), 역 직교 변환 회로(2011) 및 코딩 유닛(2012)을 포함한다. 이 동영상 코딩 장치에서, 움직임 벡터 예측 회로(101), 움직임 보상 회로(102) 및 움직임 벡터 결정 유닛(103)은 종래의 것과는 상이하게 동작하는 구성 요소이다.
도 8은 본 실시예의 동영상 코딩 장치의 동작을 도시하는 흐름도이다. 도 2에 도시된 종래의 동영상 코딩 장치의 동작과 상이한 동작에 대해서만 설명된다.
단계 203: 서브 픽셀 정밀도의 움직임 예측의 경우에 있어서, 종래의 움직임 벡터 예측 회로는 6-탭 필터에 의해 생성되는 검색 영역을 이용하여 움직임 벡터를 예측하며, 본 실시예의 움직임 벡터 예측 회로(101)는 2-탭 필터에 의해 생성된 검색 영역을 이용하여 움직임 벡터를 예측한다. 더욱이, 종래의 움직임 벡터 예측 회로는 움직임 벡터를 예측(도 2의 단계 2302)한 이후에, 움직임 벡터를 코딩 유닛(2012)으로 출력하지만, 본 실시예의 움직임 벡터 예측 회로(101)는 코딩 유닛 (2012)으로 움직임 벡터를 출력하지는 않는다.
단계 204: 본 실시예의 움직임 벡터 예측 회로(101)는 2-탭 필터를 이용하여 생성된 검색 영역을 이용하여 복수개의 움직임 벡터를 움직임 보상 회로(102)로 출력한다.
단계 205: 본 실시예의 움직임 보상 회로(102)는 움직임 벡터 예측 회로(101)로부터 입력된 각각의 움직임 벡터에 대한 움직임 보상을 수행하고, 6-탭 필터를 이용하여 복수개의 예측 화상을 생성하고, 이를 감산 회로(2003) 및 움직임 벡터 결정 유닛(1030으로 출력한다. 동시에, 움직임 보상 회로(102)는 예측 화상의 생성을 위해 이용되는 이들 움직임 벡터를 움직임 벡터 결정 유닛(103)으로 출력한다.
단계 206: 감산 회로(2003)는 입력 유닛(2001)으로부터 입력된 코딩될 현재의 영상과 움직임 보상 회로(102)로부터 입력된 복수개의 예측 화상을 순서대로 감산하여, 차분 화상 데이터를 생성한다. 이 차분 화상 데이터는 움직임 벡터 결정 유닛(103)으로 순차적으로 입력된다.
단계 207: 움직임 벡터 결정 유닛(103)은 감산 유닛(2003)으로부터 입력된 차분 화상 데이터의 코딩 코스트를 연산하고, 최소 코딩 코스트로 움직임 벡터를 결정하고, 이를 코딩 유닛(2012)으로 출력한다. 동시에, 움직임 벡터 결정 유닛(103)은 움직임 벡터에 대응하는 예측 화상을 가산 회로(2006)로 출력하고, 그 차분 화상 데이터 값을 직교 변환 회로(2007)로 출력한다. 이하 단계 208 내지 212는 도 2에서 설명된 단계 2306 내지 2310과 동일하며, 그 설명은 생략한다.
다음으로, 움직임 벡터 예측 회로(101)의 구조 및 동작에 대해 도면을 참조로 상세히 설명한다.
도 9는 도 7에 도시된 움직임 벡터 예측 회로(101)의 내부 구조를 도시하는 블록도이다. 움직임 벡터 예측 회로(101)는 2-탭 필터에 의해 생성된 검색 영역을 이용하는 복수개의 움직임 벡터를 예측하는 회로이다. 이는 전방향 기준 화상 버퍼(601), 후방향 기준 화상 버퍼(602), 전방향 움직임 예측 유닛(전방향 ME; 603), 후방향 움직임 예측 유닛(후방향 ME; 604), 2-탭 화상 보간기(605), 매크로블록 버퍼(606), 움직임 벡터 방향 결정 유닛(607), 전방향 움직임 벡터 버퍼(608) 및 후방향 움직임 벡터 버퍼(609)를 포함한다. 전방향 기준 화상 버퍼(601)는 전방향 기준 영상내에 검색 영역을 유지하는 버퍼이다. 후방향 기준 화상 버퍼(602)는 후방향 기준 영상내에 검색 영역을 유지하는 버퍼이다. 전방향 ME(603)는 매크로블록 버퍼(606)내에 유지되는 현재의 매크로블록 및 전방향 기준 화상 버퍼(601)내에 유지되는 검색 영역을 이용하여 움직임 예측을 수행한다. 후방향 ME(604)는 매크로블록 버퍼(606)내에 유지되는 현재의 매크로블록 및 후방향 기준 화상 버퍼(602)내에 유지되는 검색 영역을 이용하여 움직임 예측을 수행한다. 2-탭 화상 보간기(605)는 2-탭 필터를 이용하여 기준 화상의 보간을 수행한다. 매크로블록 버퍼(606)는 코딩될 현재의 화상의 매크로블록을 보유한다. 전방향 움직임 벡터 버퍼(608)는 전방향 움직임 벡터에 대한 후보를 보유한다. 후방향 움직임 벡터 버퍼(609)는 후방향 움직임 벡터에 대한 후보를 보유한다. 움직임 벡터 방향 결정 유닛(607)은 움직임 예측 처리의 결과로서 수득된 코딩 코스트를 기초로 움직임 벡터 의 방향을 결정한다.
도 10은 제1 실시예의 동영상 코딩 장치의 움직임 벡터 예측 회로에서 수행되는 움직임 예측 공정의 흐름을 도시하는 흐름도이다. 도 10의 흐름도를 참조하여, 움직임 벡터 예측 회로(101)의 내부 동작에 대해 상세히 설명된다. 움직임 벡터 예측 회로(101)는 도시되지 않은 제어기를 포함하여, 아래의 공정을 수행한다.
단계 701: 입력 유닛(2001)으로부터 전송된 매크로블록이 매크로블록 버퍼(606)로 저장된다.
단계702: 제어기는 매크로블록 수를 기초로 매크로블록에 대한 검색 영역을 연산하고, 기준 영상 메모리(2005)로부터 검색 영역의 화상 데이터를 전방향 기준 화상 버퍼(601) 및 후방향 기준 화상 버퍼(602)로 각각 판독한다. 매크로블록 버퍼(606)내에 유지된 매크로블록이 P-영상내의 매크로블록 이었다면, 화상 데이터는 후방향 기준 화상 버퍼(602)로는 판독되지 않고, 후방향 기준 프로세싱은 이러한 매크로블록에서 수행되지 않는다.
단계 703: 검색 영역의 판독이 종료한 이후에, 제어기는 전방향 ME(603) 및 후방향 ME(604)를 시작한다. 전방향 ME(603)는 매크로블록 버퍼(606)내에 보유된 현재의 매크로블록 및 전방향 기준 화상 버퍼(601)내에 보유된 검색 영역을 이용하는 움직임 예측을 수행하고, 마지막으로 평가 코스트를 최소로 하고 그 코스트 값도 작게 하는 서브 픽셀 정밀도의 전방향 움직임 벡터가 수득된다. 동일한 방식으로, 후방향 ME(604)는 매크로블록 버퍼(606)내에 유지되는 현재의 매크로블록 및 후방향 기준 화상 버퍼(602)내에 유지되는 검색 영역을 이용하여 움직임 예측을 수 행하고, 마지막으로 평가 코스트 및 그 코스트 값을 최소로 하는 서브 픽셀 정밀도의 후방향 움직임 벡터를 수득한다.
단계 704: 전방향 ME(603) 및 후방향 ME(604) 각각은 정수 픽셀 정밀도의 움직임 벡터를 2-탭 화상 보간기(605)로 전송한다. 2-탭 화상 보간기(605)는 정수 픽셀 정밀도의 움직임 벡터를 기초로 각각의 기준 화상 버퍼로부터의 정수 픽셀을 판독하고, 1/2 픽셀 정밀도의 서브 픽셀을 생성하고, 이를 각각의 기준 화상 버퍼내로 기록한다. 상술한 것처럼, 정수 픽셀 정밀도의 예측 블록 주변에서만 1/2 픽셀 보간이 수행된다.
단계 705: 1/2 픽셀 정밀도의 서브 픽셀의 기록을 완료한 이후에, 제어기는 다시 전방향 ME(603) 및 후방향 ME(604)를 수행한다. 전방향 ME(603)는 매크로블록(606)내에 보유된 현재의 매크로블록 및 전방향 기준 화상 버퍼(601)내에 보유된 1/2 픽셀 정밀도의 검색 영역을 이용하여 움직임 예측을 수행하고, 평가 코스트 및 그 코스트 값을 최소로 하는 1/2 픽셀 정밀도의 전방향 움직임 벡터를 수득한다. 동일한 방식으로, 후방향 ME(604)는 매크로블록(606)내에 보유된 현재의 매크로블록 및 후방향 기준 화상 버퍼(602)내에 보유된 1/2 픽셀 정밀도의 검색 영역을 이용하여 움직임 예측을 수행하고, 평가 코스트 및 그 코스트 값을 최소로 하는 1/2 픽셀 정밀도의 후방향 움직임 벡터를 수득한다.
단계 706: 전방향 ME(603) 및 후방향 ME(604)는 각각 1/2 픽셀 정밀도의 움직임 벡터를 2-탭 화상 보간기(605)로 전송한다. 2-탭 화상 보간기(605)는 1/2 픽셀 정밀도의 움직임 벡터를 기초로 기준 화상 버퍼들로부터 각각 정수 픽셀 정밀도 및 1/2 픽셀 정밀도의 픽셀을 판독하고, 2-탭 필터를 이용하여 1/4 픽셀 정밀도의 서브 픽셀을 생성하고, 이들을 각각의 기준 화상 버퍼내에 기록한다. 상술한 것처럼, 1/2 픽셀 정밀도의 예측 블록 주변에만 1/4 픽셀 보간을 수행한다.
단계 707: 1/4 픽셀 정밀도의 서브 픽셀 기록을 완료한 이후에, 제어기는 전방향 ME(603) 및 후방향 ME(604)를 시작한다. 전방향 ME(603)은 매크로블록 버퍼(606)내에 보유된 현재의 매크로블록 및 전방향 기준 화상 버퍼(601)내에 보유된 1/4 픽셀 정밀도의 검색 영역을 이용하여 움직임 예측을 수행하고, 평가 코스트 및 그 코스트 값을 최소로 하는 1/4 픽셀 정밀도의 전방향 움직임 벡터를 수득한다. 이는 수득된 1/4 픽셀 정밀도의 전방향 움직임 벡터(제1 움직임 벡터)의 코스트 값을 움직임 벡터 방향 결정 유닛(607)으로 출력하고, 1/4 픽셀 정밀도의 전방향 움직임 벡터(제1 움직임 벡터)를 전방향 움직임 벡터 버퍼(608)로 저장한다. 동시에, 평가 코스트를 2번째로 작게 만드는 1/4 픽셀 정밀도의 움직임 벡터(제2 움직임 벡터)를 전방향 움직임 벡터 버퍼(608)로 저장한다. 필요하다면 제1 내지 제 N 번째 움직임 벡터(N은 3 이상의 정수)가 저장될 수 있다.
동일한 방식으로, 후방향 ME(604)은 매크로블록 버퍼(606)내에 보유된 현재의 매크로블록 및 후방향 기준 화상 버퍼(602)내에 보유된 1/4 픽셀 정밀도의 검색 영역을 이용하여 움직임 예측을 수행하고, 평가 코스트 및 그 코스트 값을 최소로 하는 1/4 픽셀 정밀도의 후방향 움직임 벡터를 수득한다. 이는 수득된 1/4 픽셀 정밀도의 전방향 움직임 벡터(제1 움직임 벡터)의 코스트 값을 움직임 벡터 방향 결정 유닛(607)으로 출력하고, 1/4 픽셀 정밀도의 전방향 움직임 벡터(제1 움직임 벡터)를 후방향 움직임 벡터 버퍼(609)로 저장한다. 동시에, 평가 코스트를 2번째로 작게 만드는 1/4 픽셀 정밀도의 움직임 벡터(제2 움직임 벡터)를 후방향 움직임 벡터 버퍼(609)로 저장한다. 필요하다면 제1 내지 제 N 번째 움직임 벡터(N은 3 이상의 정수)가 저장될 수 있다.
단계 708: 움직임 벡터 방향 결정 유닛(607)은 전방향 ME(603) 및 후방향 ME(604)로부터 전송된 코스트 값을 기초로 움직임 벡터의 방향 즉, 전방향, 후방향 또는 양방향을 결정한다. 방향은 아래의 방식으로 결정된다. 예를 들면, 임계값은 전방향과 후방향 코스트 값 사이의 차분에 대해 설정된다. 전방향 코스트 값이 후방향 코스트 값보다 현저히 작은 경우(즉, 임계값을 넘는 후방향 코스트 값으로부터 전방향 코스트 값을 감산함에 의해 얻어지는 차분) 방향은 전방으로 결정되고, 후방향 코스트 값이 전방향 코스트 값보다 현저히 작은 경우(즉, 임계값을 넘는 전방향 코스트 값으로부터 후방향 코스트 값을 감산함에 의해 얻어지는 차분) 방향은 후방으로 결정되며, 전방향 코스트 값과 후방향 코스트 값이 서로 가까운 경우(즉, 전방향 코스트 값과 후방향 코스트 값 사이의 차이는 임계값보다 작음) 양방향으로 결정된다. 이 방법은 단지 예일 뿐으로서, 움직임 벡터의 방향은 다른 방법에 의해 결정될 수 있다. 후방향 코스트 값이 현재 매크로블록이 P-영상내의 매크로블록인 경우 입력되지 않으므로, 움직임 벡터의 방향은 항상 전방향으로 결정된다.
단계 709: 움직임 벡터의 방향을 결정하는 경우, 움직임 벡터 방향 결정 유닛(607)은 움직임 벡터 버퍼로부터 결정된 방향의 움직임 벡터를 끄집어 내서, 이 들을 움직임 보상 회로(102)로 전송한다.
(1) 결정이 양방향인 경우, 움직임 벡터 방향 결정 유닛(607)은 전방향 움직임 벡터 버퍼(608)로부터의 제1 전방향 움직임 벡터와 후방향 움직임 벡터 버퍼(609)로부터의 제1 후방향 움직임 벡터를 수득한다.
(2) 전방향으로 결정되는 경우, 움직임 벡터 방향 결정 유닛(607)은 전방향 움직임 벡터 버퍼(608)로부터 평가 코스트를 2번째로 작게하는 제2 움직임 벡터 외에도 제1 전방향 움직임 벡터를 수득하고, 이들을 움직임 보상 회로(102)로 전송한다. 필요한 경우, 제1 내지 N번째 움직임 벡터를 수득하고 이들을 전송할 수 있다.
(3) 후방향으로 결정되는 경우, 움직임 벡터 방향 결정 유닛(607)은 후방향 움직임 벡터 버퍼(609)로부터 평가 코스트를 2번째로 작게하는 제2 움직임 벡터 외에도 제1 후방향 움직임 벡터를 수득하고, 이들을 움직임 보상 회로(102)로 전송한다. 필요한 경우, 제1 내지 N번째 움직임 벡터를 수득하고 이들을 전송할 수 있다.
상술한 것처럼, 움직임 벡터 예측 회로(101)는 2-탭 필터에 의해 생성되는 기준 화상을 이용하여 서브 픽셀 정밀도의 움직임 예측을 수행하여 현재 매크로블록에 대한 움직임 벡터에 대한 후보의 폭을 좁힌다. 반면에, 움직임 벡터 예측 회로(101)는 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 움직임 예측을 수행하지 않는다. 그러므로, 서브 픽셀을 생성하기 위한 연산의 회수와 외부 메모리로부터의 데이터 전송의 양을 종래 수준 이하로 유지하면서 움직임 예측을 수행하는 것이 가능하다. 움직임 벡터 예측 회로(101)에 의해 처리되는 움직임 예측의 결과로서 좁혀지는 복수개의 움직임 벡터는 움직임 보상 회로(102)로 출력된다.
다음으로, 움직임 보상 회로(102)의 구조 및 동작에 대해 상세히 설명된다.
도 11은 움직임 보상 회로(102)의 구조를 도시하는 블록도이다. 움직임 보상 회로(102)는 6-탭 필터에 의한 예측 블록을 생성하고, 고 정밀도의 움직임 보상을 수행하고, 6-탭 화상 보간기(901), 6-탭 예측 블록 버퍼(902), 움직임 벡터 버퍼(903) 및 평균 화상 생성 유닛(904)을 포함한다. 6-탭 화상 보간기(901)는 움직임 보상된 예측 블록을 생성하도록 6-탭 필터를 이용하여 기준 화상의 보간을 수행한다. 6-탭 예측 블록 버퍼(902)는 6-탭 화상 보간기(901)에 의해 생성된 예측 블록을 유지한다. 움직임 벡터 버퍼(903)는 움직임 벡터 예측 회로(101)로부터 입력된 복수개의 움직임 벡터를 유지한다. 양방향 움직임 벡터의 경우, 평균 화상 생성 유닛(904)은 6-탭 예측 블록 버퍼(902)에서 유지되는 전방향 움직임 벡터에 대응하는 예측 블록과 후방향 움직임 벡터에 대응하는 예측 블록의 평균 화상을 생성하고, 이를 양방향 예측 블록으로서 감산 회로(2003) 및 움직임 벡터 결정 유닛(103)으로 출력한다.
도 12는 도 11에 도시된 움직임 보상 회로(102)에서 수행되는 움직임 보상 처리의 흐름을 도시하는 흐름도이다. 도 12의 흐름도를 참조로 움직임 보상 회로(102)의 내부 동작에 대해 상세히 설명된다.
단계 1001: 움직임 벡터 예측 회로(101)로부터 전송된 복수의 움직임 벡터와 그 방향을 수신하는 경우, 움직임 벡터 버퍼(903)는 도면에 도시되지 않은 내부 메모리내에 유지시키고, 이들을 6-탭 화상 보간기(901)로 출력한다.
단계 1002: 기준 영상 메모리(2001)로부터 각각의 움직임 벡터에 대응하는 예측 블록을 생성하기 위하여 이용되는 정수 픽셀을 판독한다. 수신된 움직임 벡터의 방향이 서로 다른 경우, 6-탭 화상 보간기(902)는 현재의 매크로블록이 양방향적으로 예측됨을 인지하고, 제어기로 이에 따라 통지한다.
단계 1003: 6-탭 화상 보간기(901)는 6-탭 필터를 이용하여 각각의 움직임 벡터에 대응하는 예측 블록을 생성하며, 이 생성된 예측 블록을 6-탭 예측 블록 버퍼(9002)내로 저장한다.
단계 1004: 움직임 벡터가 양방향 예측이 아닌 경우, 제어기는 평균 화상 생성 유닛(904)의 동작을 오프시키고, 6-탭 예측 블록 버퍼(902)내에 저장된 복수개의 예측 블록을 감산 회로(2003) 및 움직임 벡터 결정 유닛(103)으로 순차적으로 출력한다. 동시에, 전송될 예측 블록의 총 수(둘 또는 그 이상)를 움직임 벡터 결정 유닛(103)에게 알려준다.
단계 1005: 동시에, 제어기는 움직임 벡터 버퍼(903)내에 저장된 복수개의 움직임 벡터를 움직임 벡터 결정 유닛(103)으로 전송한다.
단계 1006: 움직임 벡터가 양방향성 예측인 경우, 제어기는 평균 화상 생성 유닛(904)의 동작을 온 시키고, 6-탭 예측 블록 버퍼(902)내에 저장된 후방향 움직임 벡터에 대응하는 예측 블록 외에도 전방향 움직임 벡터에 대응하는 예측 블록을 입력 평균 화상 생성 유닛(904)으로 입력한다. 평균 화상 생성 유닛(904)은 이들 2개의 예측 블록의 평균 화상을 생성하고, 양방향 예측 블록으로서 감산 회로(2002) 및 움직임 벡터 결정 유닛(103)으로 출력한다. 동시에, 전송될 예측 블록의 총 수(항상 하나)를 움직임 벡터 결정 유닛에 통지한다.
단계 1007: 동시에, 제어기는 움직임 벡터 버퍼(903)내에 저장된 전방향 및 후방향 움직임 벡터를 움직임 벡터 결정 유닛(103)으로 전송한다.
상술한 것처럼, 움직임 보상 회로(102)는 6-탭 필터를 이용하여 서브 픽셀 정밀도의 움직임 보상을 수행하고 코딩될 현재 매크로블록에 대한 예측 블록을 생성한다. 이 움직임 보상은 MPEG4-AVC 디코더의 스펙에 정의되며, 코딩 장치가 수행해야 할 필수 공정이다. 움직임 보상 회로(102)내에서 수행되는 움직임 보상 공정의 결과로서, 하나의 양방향 예측 블록이 양방향 움직임 벡터에 대해 생성되며, 복수개의 예측 블록이 단방향 움직임 벡터에 대해 생성된다. 도 13은 단방향 예측 및 양방향 예측이 2-탭 필터를 이용하여 예측된 움직임 벡터의 코딩 코스트로부터의 판단에 기초하여 스위칭되며, 단방향 예측의 경우, 움직임 예측은 6-탭 필터를 이용하는 2개의 움직임 벡터에 대해 수행될 수 있다. 현재 매크로블록이 양방향 예측인지 아닌지에 기초하여 수행되는 그러한 분기 공정은 도 13에 도시된 것과 같은 적응성 판단에 기초하여 높은 연산 성능을 갖는 6-탭 움직임 보상 회로를 최적으로 활용하는 것이 가능하게 된다고 하는 장점을 갖는다. 2-탭 움직임 예측은 MPEG4-AVC 표준에서 정의된 툴 중 하나인 6-탭 움직임 예측에 비해 일정 정도의 화상 품질의 손상을 초래하므로, 고화상 품질을 위해 가능한 한 6-탭 움직임 예측을 수행하는 것이 바람직하다. 도 13에 도시된 것처럼, 양방향 예측에 대한 n 후보에 대해 6-탭 움직임 예측을 수행할 수 있는 필터 회로를 포함하는 코딩 장치는 예를 들면 단방향 예측에 대해 2×n 후보까지 수행할 수 있다. "2×n까지"라는 말은 단방향 및 양방향 예측을 결합할 수 있어서, n 후보 부분에 대해서는 양방향 예측을 수행하고 나머지 후보에 대해서는 단방향 예측을 수행할 수 있다. P-영상에 대해, MPEG4-AVC 표준하에 단방향 예측이 항상 수행되며, B-영상에 대해, 2-탭 필터에 의해 얻어지는 코스트를 기초로 단방향 예측 또는 양방향 예측을 수행할 것인지를 적응적으로 판단하는 것이 가능하다. 예를 들면, 양방향 예측에 대한 후보의 전방향 및 후방향 코스트가 서로 현저하게 상이한 경우, 단방향 예측에 대해 적응 코스트 값을 갖는 후보만을 이용하는 것으로 충분히 양호하다. 그러한 적응성 회로 동작 공정은 가능한 적은 크기의 6-탭 필터 회로를 이용하여 가능한 높은 품질의 화상을 얻는 것이 가능하도록 한다.
다음으로, 도면을 이용하여 움직임 벡터 결정 유닛(1093)의 구조 및 동작에 대해 상세히 설명한다.
도 14는 움직임 벡터 결정 유닛(103)의 내부 구조를 도시하는 블록도이다.
움직임 벡터 결정 유닛(103)은 예측 화상 버퍼(1101), 움직임 벡터 버퍼(1102) 및 코딩 코스트 계산/비교 유닛(1103)을 포함한다. 예측 화상 버퍼(1101)는 복수개의 예측 블록을 후보로서 보유한다. 움직임 벡터 버퍼(1102)는 복수개의 움직임 벡터를 후보로서 보유한다. 코딩 코스트 연산/비교 유닛(1103)은 현재 매크로블록에 대한 후보의 코딩 코스트를 연산하고 이들을 서로 비교한다. 비교 결과, 매크로블록에 대한 코딩 코스트를 최소로 하는 움직임 벡터를 결정하고, 이 움 직임 벡터에 대응하는 차분 화상 데이터를 직교 변환 회로(2007)로 출력한다.
도 15는 움직임 벡터 결정 유닛(103)에 의해 수행되는 공정의 흐름을 도시하는 흐름도이다. 도 15에 도시된 흐름도를 참조로 움직임 벡터 결정 유닛(103)의 내부 동작에 대해 상세히 설명된다. 움직임 벡터 결정 유닛(103)은 각 모듈의 동작 시간을 제어하는 도시되지 않은 제어기를 포함한다.
단계 1201: 제어기는 움직임 보상 회로(102)로부터 전송될 예측 블록의 총 수(N)를 사전에 통지한다. 수신된 예측 화상의 수(n)를 초기화하고 내부를 0으로 유지한다. 또한 코딩 코스트 연산/비교 유닛내의 최소 코스트 메모리(도시 없음)의 값을 최대 메모리 값으로 초기화한다. 움직임 벡터의 최대 수가 2인 경우를 가정하여 아래에 설명한다. 양방향 예측이 2개의 움직임 벡터를 이용하여 수행되므로, 양방향 예측의 경우 N은 1이며, 단방향 예측의 경우에는 N은 1보다 큰 값이다(여기서는 "2).
단계 1202: 움직임 보상 회로(102)로부터 전송되는 예측 블록이 예측 화상 버퍼(1101)의 임시 저장 영역내에 유지된다. 다음으로, 제어기는 1씩 수신된 예측 화상의 수(n)를 증가시킨다.
단계 1203: N이 1인 경우, 양방향 예측이 수행되어, 2개의 움직임 벡터(전방향 및 후방향)가 움직임 보상 회로(102)로부터 전송되고, 움직임 벡터 버퍼(1102)의 주 저장 영역내에 유지된다.
단계 1204: 제어기는 코딩 코스트 연산/비교 유닛(1103)의 동작을 턴 오프하고, 감산 회로(2003)로부터 입력된 차분 블록을 직교 변환 회로(2007)로 출력한다.
단계 1205: 제어기는 예측 화상 버퍼(1101)의 임시 저장 영역내에 유지되는 예측 블록을 가산 회로(2006)로 출력하며,
단계 1206: 움직임 벡터 버퍼(1102)의 주 저장 영역내에 보유되는 양방향 움직임 벡터를 코딩 유닛(2012)으로 출력한다.
단계 1207: N이1이 아닌 경우, 단방향 예측이 수행되어, 움직임 보상 회로(102)로부터 전송되는 움직임 벡터는 움직임 벡터 버퍼(1102)의 임시 저장 영역내에 저장된다.
단계 1208: 움직임 벡터의 수신 시에, 제어기는 코딩 코스트 연산/비교 유닛(1103)의 동작을 턴 온 하고, 감산 회로(2003)로부터 입력된 각각의 차분 블록의 코스트를 연산한다.
단계 1209: 연산된 코스트 값과 코딩 코스트 연산/비교 유닛(1103)내의 최소 코스트 메모리(도시 없음)의 값과 비교하고, 차분 블록의 코스트 값이 큰 경우 다음 예측 블록을 수신한다(단계 1202로).
단계 1210: 차분 블록의 코스트 값이 최소 코스트 메모리 값보다 적은 경우, 최소 코스트 메모리값을 차분 블록의 코스트 값으로 덮어쓴다.
단계 1211: 다음으로, 제어기는 예측 화상 버퍼(1101)의 임시 저장 영역내에 유지된 예측 블록을 예측 화상 버퍼(1101)의 주 저장 영역으로 이동시킨다. 동시에, 움직임 벡터 버퍼(1102)의 임시 저장 영역내에 유지된 움직임 버퍼를 움직임 벡터 버퍼(1101)의 주 저장 영역으로 이동시킨다.
단계 1212: n이 N보다 적을 경우, 다음 예측 블록을 수신한다(단계 1202로).
단계 1213: n이 N이 같을 경우, 코딩 코스트 연산/비교 유닛(1103)은 감산 회로(2003)로부터 입력된 차분 블록을 직교 변환 회로(2007)로 출력한다.
단계 1214: 제어기는 예측 화상 버퍼(91101)의 주 저장 영역내에 보유된 예측 블록을 가산 회로(2006)로 출력한다.
단계 1215: 움직임 벡터 버퍼(1102)의 주 저장 영역내에 보유된 단방향 움직임 벡터를 코딩 유닛(2012)으로 출력한다.
상술한 것처럼, 단방향 예측의 경우, 움직임 벡터 결정 유닛(103)은 복수개의 차분 블록의 코딩 코스트를 연산하고 이를 서로 비교하여 코딩 코스트를 최소로 하는 움직임 벡터를 순차적으로 결정한다. 복수개의 후보가 있더라도, 순차적으로 비교되어 각 비교시의 최적의 하나가 선택되어, 후보 중의 하나를 선택하기 위하여 작업 메모리 등을 추가할 필요가 없다. 다시 말하면, 최적의 하나를 선택하기 위하여, 그러한 메모리내에 모든 후보를 저장하고 코딩 코스트의 순서로 이들을 정렬할 필요가 없다. 수행되어야 할 모든 것은 후보의 수만큼의 비교를 수행하는 것으로, 이는 적은 양의 연산만이 필요하다. 그러므로, 6-탭 필터를 이용하는 종래의 방법 대신에 적은 양의 공정과 높은 화상 품질을 갖는 2-탭 필터를 이용하는 본 발명의 방법으로 교체하는 것에는 아무런 문제가 없으며, 본 발명의 방법은 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 종래의 움직임 예측과 비교하여 높은 압축 성능을 실현한다. 단방향 예측이 판단되는 경우 코딩 코스트를 최소로 하는 단 하나의 움직임 벡터가 결정되는 가정에 대해 설명되었지만, 전방향의 단방향 예측으로 판단되는 경우 코딩 코스트를 최소 및 2번째 최소로 하는 2개의 움직임 벡터가 결정될 수 있다.
다음으로, 본 발명의 동영상 코딩 장치에 의해 수행되는 움직임 예측 공정이 연산의 양을 종래 수준 이하로 유지하면서 신규히 필요한 메모리를 추가하지 않은채로 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 종래의 움직임 예측과 비교하여 높은 압축 성능을 성취하는 기술에 대해 아래에 설명된다. 보다 상세하게는, 높은 압축 성능을 실현하기 위하여, 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 움직임 예측에 의해 얻어지는 움직임 벡터는 본 발명의 동영상 코딩 장치에서의 움직임 벡터 예측 회로(101), 움직임 보상 회로(102) 및 움직임 벡터 결정 유닛(103)에 의해 얻어지는 움직임 벡터와 동일한 것이 바람직하다.
도 16은 움직임 벡터가 본 발명의 동영상 코딩 장치에서의 움직임 벡터 예측 회로(101), 움직임 보상 회로(102) 및 움직임 벡터 결정 유닛(103)에 의해 수행되는 공정을 통해 얻어지는 공정을 도시하는 흐름도이다. 도 16을 참조로 상세히 설명된다.
단계 301: 움직임 벡터 예측 회로(101)는 기준 영상 메모리(2005)로부터 코딩될 현재 매크로블록에 대한 검색 영역을 판독하고, 정수 픽셀 정확도의 움직임 예측을 수행한다. 결과적으로, 정수 픽셀 예측의 움직임 벡터를 얻는다.
단계 302: 움직임 벡터 예측 회로(101)는 정수 픽셀 정밀도의 얻어진 움직임 벡터에 의해 포인트된 예측 블록 주변에 2-탭 필터를 이용하는 서브 픽셀 정밀도의 움직임 예측을 위한 기준 화상을 생성한다.
단계 303: 움직임 벡터 예측 회로(101)는 움직임 벡터에 대한 후보를 얻기 위해서 기준 화상을 이용하여 서브 픽셀 정밀도의 움직임 예측을 수행한다. 상기 단계 705 및 706에서 설명된 것처럼, 1/2 픽셀 정밀도에서 코딩 코스트를 최소로 하는 블록의 위치를 얻을 수 있고, 또한 얻어진 블록 위치 주변에서 1/4 픽셀 정밀도로 코딩 코스트를 최소화하는 n 블록의 위치를 얻을 수 있다. 별도로는, 정수 픽셀 정밀도에서 코딩 코스트를 최소로 하는 블록의 위치 주변의 1/4 픽셀 정밀도의 모든 위치 중에서 코딩 코스트를 최소로 하는 n 블록의 위치를 얻을 수 있다. 이 둘의 경우, 움직임 벡터의 수는 정확도가 낮은 2-탭 필터를 이용하여 n으로 줄어들고, 최후 움직임 벡터는 상대적으로 높은 정확도의 6-탭 필터를 이용하여 결정된다. 이러한 움직임 예측을 위해 이용되는 기준 화상은 정확하게는 6-탭 필터에 의해 생성되는 기준 화상과는 상이하며, 따라서, 얻어진 움직임 벡터 후보 중 코딩 코스트를 최소로 하는 움직임 벡터는 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측 공정에서 얻어진 움직임 벡터와 항상 동일하지는 않다. 반면에, 2-탭 필터 및 6-탭 필터에 의해 생성된 기준 화상은 서로 매우 유사하여, 얻어진 움직임 벡터 후보는 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측 공정에서 얻어진 움직임 벡터와 동일한 움직임 벡터를 포함할 가능성이 매우 높다.
단계 304: 움직임 보상 회로(102)는 이들 후보들에 대한 예측 블록을 생성하기 위하여 복수개의 움직임 벡터 후보에 대한 움직임 보상을 수행한다. 이러한 경우, 움직임 보상 회로(102)는 기준 영상 메모리(2005)로부터, 움직임 벡터에 의해 표시되는 블록을 보간하기 위해 필요한 픽셀을 얻으며, 6-탭 필터를 이용하여 예측 블록을 생성한다.
단계 305: 움직임 벡터 결정 유닛(103)은 이들 예측 블록의 코딩 코스트를 연산하고, 서로 비교하여, 최소 코딩 코스트를 갖는 움직임 벡터를 얻는다. 얻어진 움직임 벡터는 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측 공정에서 얻어진 움직임 벡터와 동일하다. 여기서, 예측 블록의 코딩 코스트를 연산하고 비교하기 위한 공정은 6-탭 필터에 의해 생성되는 기준 화상을 이용하는 서브 픽셀 정밀도의 움직임 벡터를 예측하기 위한 것과 정확하게 동일하다.
상술한 것처럼, 본 발명의 동영상 코딩 장치에 의해 수행되는 움직임 예측에 따르면, 고해상도 기준 화상이 6-탭 필터 이외의 필터를 이용하여 생성되고, 서브 픽셀 정밀도의 움직임 벡터가 예측된다. 그러므로, 준 화상 생성을 위한 연산량의 증가를 억제하면서 신규로 필요한 메모리를 추가하지 않으면서, 복수개의 움직임 벡터 후보로 좁히는 것이 가능하게 된다. 반면에, 이러한 움직임 벡터 후보는 종종 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측에 의해 얻어진 움직임 벡터를 포함한다. 그러므로, 예측 블록을 생성하고 그 코딩 코스트를 비교하도록 6-탭 필터를 이용하여 이들 움직임 벡터 후보에 대한 움직임 보상을 수행함에 의해, 이들 예측 블록 중에서 6-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도 움직임 예측에 의해 얻어지는 움직임 벡터와 합치하는 움직임 벡터를 선택하는 것이 가능해진다. 다시 말하면, 현재 영상을 코딩 하기 위해 이용될 동일한 움직임 벡터가 본 발명의 동영상 코딩 장치에 의해 수행되는 움직임 예측 공정에서 또는 6-탭 필터에 의해 생성되는 기준 화상을 이용하는 종래의 서브 픽셀 정밀도 움직임 예측 공정에서 선택된다. 따라서, 본 발명은 종래 방법과 같이 높은 압축 성능을 달성한다.
상술한 것처럼, 본 발명의 동영상 코딩 장치에 따르면, 움직임 벡터 예측 회로(101)는 2-탭 필터에 의해 생성된 기준 화상을 이용하는 서브 픽셀 정밀도의 움직임 예측을 수행하여 움직임 벡터 후보의 수를 좁히고, 연산의 량을 종래 수준 이하로 유지시키면서 움직임 벡터 후보를 얻는 것이 가능해진다. 움직임 보상 회로(102)가 움직임 보상을 수행하는 경우, 움직임 보상된 예측 블록은 이들 움직임 벡터 후보에 대해 6-탭 필터를 이용하여 생성된다. 더욱이, 움직임 벡터 결정 유닛(103)은 각 움직임 벡터에 대응하는 차분 블록의 코딩 코스트를 연산하고, 서로를 비교하여, 신규 요구되는 메모리를 추가하지 않고 연산량을 종래 수준 이하로 유지하면서 6-탭 필터에 의해 생성된 기준 화상을 이용하는 종래의 서브 픽셀 정밀도 움직임 예측만큼 높은 압축 성능을 유지하는 것이 가능해진다.
블록도(도 7, 9, 11 및 14)에서의 각각의 기능 블록은 일반적으로 집적회로인 LSI로서 구현된다. 이들 블록은 개별 칩으로 구현되거나 또는 이들 전체 또는 일부가 단일 칩내에 구현될 수 있다.
예를 들면, 메모리 이외의 기능 블록은 단일 칩으로 구현될 수 있다.
집적 회로가 LSI라는 가정으로 설명되었지만, 집적 정도에 따라서 IC, 시스템 LSI, 수퍼 LSI 또는 울트라 LSI로 칭하기도 한다.
각 기능 블록을 집적 회로 형태로 구현하기 위해서, LSI 만이 아니라 특수 목적의 회로 또는 범용 프로세서로서도 구현될 수 있다. 별도로, LSI의 제조 이후 사용자 프로그램가능 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA) 또는 LSI에서의 회로 셀의 접속 또는 세팅이 재구성될 수 있는 재구성 가능 프로세서를 사용하는 것도 가능하다.
또한, 반도체 기술의 개발을 위하여 그러한 LSI에 대안적인 회로 집적 기술이 나타나거나 또는 반도체 기술로부터 다른 기술이 개발된다면. 그러한 신규한 기술은 기능적 블록의 집적화를 위해 이용될 수 있다. 바이오테크놀로지 또한 그러한 집적화에 적용될 수 있다.
또는, 단일 칩안으로 집적하는 것 외에도 개별 소자로서 코드 또는 디코드될 데이터를 저장하기 위한 저장 유닛을 구현하는 것이 가능하다.
더욱이, 버퍼 또는 메모리가 본 발명의 LSI내에 구현되는지 여부는 중요하지 않다.
(제2 실시예)
상기 제1 실시예에서 제시된 동영상 코딩 방법 및 동영상 디코딩 방법의 구성을 실현하기 위한 프로그램이 플렉시블 디스크와 같은 기록 매체상에 기록되는 경우, 제1 실시예에서 제시된 것처럼 독립 컴퓨터 시스템에서 용이하게 프로세싱을 수행할 수 있는 것이 가능해진다.
도 17a, 17b, 및 17c는 제1 실시예의 동영상 코딩 방법 및 동영상 디코딩 방법이 플렉시블 디스크와 같은 기록 매체상에 기록된 프로그램을 이용하는 컴퓨터 시스템에서 수행되는 것을 도시한다.
도 17b는 플렉시블 디스크의 전면, 그 단면 및 플렉시블 디스크 자체에 대한 도면이고, 도 17a는 기록 매체 본체로서의 플렉시블 디스크의 물리적 포맷의 예를 도시한다. 플렉시블 디스크 FD는 케이스 F내에 보관되고, 복수개의 트랙(Tr)은 주변에서 내부로 반경 방향으로 디스크의 표면상에 동심원상으로 형성되며, 각각의 트랙은 각방향으로 16개의 섹터(Se)로 분할된다. 그러므로, 상술한 프로그램을 저장하는 플렉시블 디스크로서, 동영상 코딩 방법 및 동영상 디코딩 방법이 상기 프로그램으로서 플렉시블 디스크(FD) 상에 할당된 영역내에 기록된다.
도 17c는 플렉시블 디스크(FD) 상에/로부터 프로그램을 기록/재생하는 구조를 도시한다. 프로그램이 플렉시블 디스크(FD) 상에 기록되는 경우, 동영상 코딩 방법 및 동영상 디코딩 방법이 프로그램으로서 플렉시블 디스크 드라이브를 통해 컴퓨터 시스템(Cs)으로부터 플렉시블 디스크내에 기록된다. 동영상 코딩 방법 및 동영상 디코딩 방법이 플렉시블 디스크 상의 프로그램에 의해 컴퓨터 시스템내에 구축되는 경우, 프로그램은 플렉시블 디스크 드라이브를 이용하는 플렉시블 디스크로부터 판독되고 컴퓨터 시스템으로 전송된다.
상술한 설명은 기록 매체가 플렉시블 디스크라는 전제하에 설명된 것이지만, 광학 디스크를 이용하는 경우에도 동일한 공정이 수행될 수 있다. 또한, 기록 매체는 플렉시블 디스크 및 광학 디스크에 국한되는 것이 아니라, 프로그램을 기록하는 CD-ROM, 메모리 카드 및 ROM 카세트와 같은 다른 매체를 이용하여 수행될 수 있다.
(제3 실시예)
또한, 제1 실시예에서 제시된 동영상 코딩 방법 및 동영상 디코딩 방법 및 이들 방법을 이용하는 시스템의 응용에 대해 설명된다.
도 18은 콘텐트 배포 서비스를 위한 컨텐트 공급 시스템(ex100)의 전체 구성을 도시하는 블록도이다. 통신 서비스를 제공하기 위한 영역은 소망된 크기의 셀로 분할되고, 고정된 무선국인 기지국(ex107 내지 ex120)은 각각의 셀내에 위치된다.
콘텐트 공급 시스템(ex100)에서, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대폰(ex114) 및 카메라 내장형 휴대폰(ex115)과 같은 장치들은 인터넷 서비스 제공자(ex102), 전화 네트워크(ex104) 및 기지국(ex107 내지 ex110)을 통해 인터넷(ex101)에 접속된다.
그러나, 콘텐트 공급 시스템(ex100)은 도 18에 도시된 구성에 국한되지 않고, 이들의 조합이 접속될 수 있다. 또한, 각각의 장치는 기지국(ex107 내지 ex110)을 통하지 않고 전화 네트워크(ex104)에 직접 접속될 수 있다.
카메라(ex113)는 동영상을 촬영할 수 있는 디지털 비디오 카메라와 같은 장치이다. 휴대폰은 개인 디지털 통신(Personal Digital Communications; PDC) 시스템, 코드 분할 다중 접속(CDMA) 시스템, 광대역-코드 분할 다중 접속(W-CDMA) 시스템 또는 이동 통신용 글로벌 시스템(GSM) 시스템, 개인 핸디폰 시스템(PHS) 등의 휴대폰일 수 있고, 이들 중 어느것이 이용될 수 있다.
스트리밍 서버(ex103)는 기지국(ex109) 및 전화 네트워크(ex104)를 통해 카 메라(ex113)에 접속되고, 카메라(ex113)를 이용하여 사용자로부터 전송되는 코드화된 데이터를 기초로 실시간 분배 등을 가능하게 한다. 데이터를 전송하기 위하여 카메라(ex113) 또는 서버 등은 촬영된 데이터를 코드화할 수 있다. 또한, 카메라(ex116)에 의해 촬영된 동영상 데이터는 컴퓨터(ex111)를 통해 스트리밍 서버(ex103)로 전송될 수 있다. 카메라(ex116)는 정지 영상 및 동영상을 촬영할 수 있는 디지털 카메라와 같은 장치이다. 이러한 경우, 카메라(ex116) 또는 컴퓨터(ex1110는 동영상 데이터를 코드화할 수 있다. 컴퓨터(ex111) 또는 카메라(ex116)내에 포함된 LSI(ex117)는 실제로 코딩 공정을 수행한다. 동영상을 코딩 및 디코딩하기 위한 소프트웨어는 컴퓨터(ex111) 등에 의해 판독되는 기록 매체인 저장 매체(예를 들면, CD-ROM, 플렉시블 디스크 및 하드 디스크)로 임의 유형으로 집적화될 수 있다. 또한, 카메라-내장형 휴대폰(ex115)은 동영상 데이터를 전송할 수 있다. 이러한 동영상은 휴대폰(ex115)내에 포함된 LSI에 의해 코딩된 데이터이다.
콘텐트 공급 시스템(ex100)은 카메라(ex113), 카메라(ex116) 등에 의해 촬영된 컨텐츠(예를 들면, 라이브 뮤직 비디오)를 코드화하고, 이를 상술한 제1 실시예와 동일한 방식으로 스트리밍 서버(ex103)로 전송하며, 스트리밍 서버(ex103)는 그 요청에 따라 클라이언트로의 콘텐트 데이터의 스트림 분배를 수행한다. 클라이언트는 상술한 코딩된 데이터를 디코딩할 수 있는 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대폰(ex114) 등을 포함한다. 콘텐트 공급 시스템(ex100)에서, 클라이언트는 코딩된 데이터를 수신 및 재생할 수 있고, 또한 클라이언트는 데이터를 실시간으로 수신하고, 디코드하고 재생하여, 개인 방송을 구현한다.
이 시스템내의 각각의 장치가 코딩 또는 디코딩을 수행하는 경우, 상기 제1 실시예에서 제시된 동영상 코딩 장치 또는 동영상 디코딩 장치가 이용될 수 있다.
휴대폰은 장치의 예로서 설명될 것이다.
도 19는 상기 제1 실시예에서 설명된 동영상 코딩 방법 및 동영상 디코딩 방법을 이용하는 휴대폰(ex115)을 도시하는 도면이다. 휴대폰(ex115)은 기지국(ex110)으로/로부터 무선파를 전송 및 수신하기 위한 안테나(ex201); 비디오 및 정지 영상을 촬영할 수 있는 CCD 카메라와 같은 카메라 유닛(ex203); 카메라 유닛(ex203)에 의해 촬영된 및 안테나(ex201)를 통해 수신된 비디오 등을 디코딩함에 의해 얻어진 데이터를 디스플레이 하기 위한 액정 디스플레이와 같은 디스플레이 유닛(ex202); 동작 키(ex204) 셋을 포함하는 본체 유닛; 음성을 출력하기 위한 스피커와 같은 음성 출력 유닛(ex208); 음성을 입력하기 위한 마이크로폰과 같은 음성 입력 유닛(205); 동영상 또는 정지 영상의 데이터, 수신된 e-메일의 데이터, 및 수신된 동영상 또는 정지 영상의 데이터와 같은 코딩 또는 디코딩된 데이터를 저장하기 위한 저장 매체(ex207); 및 저장 매체(ex207)를 휴대폰(ex115)에 부착하기 위한 슬롯 유닛(ex206)을 갖는다. 저장 매체(ex207)는 SD 카드와 같이 플라스틱 게이트내에 전기적으로 소거가능하고 재기록 가능한 비휘발성 메모리인 EEPROM(electrically erasable and programmable read only memory)의 일종인 플래시 메모리를 포함한다.
휴대폰(ex115)은 도 20을 참조로 더 설명된다. 이러한 휴대폰(ex115)에서, 디스플레이 유닛(ex202)을 총괄 제어하기 위한 주 제어 유닛(ex311) 및 동작 키 (ex204)를 포함하는 본체 유닛이 전원 회로 유닛(ex310)에 접속되고, 동작 입력 제어 유닛(ex304), 영상 코딩 유닛(ex312), 카메라 인터페이스 유닛(ex303), 액정 디스플레이(LCD) 제어 유닛(ex302), 영상 디코딩 유닛(ex309), 멀티플렉스/디멀티플렉스 유닛(ex308), 기록/재생 유닛(ex307), 모뎀 회로 유닛(ex306) 및 음성 프로세싱 유닛(ex305)은 동기 버스(ex313)를 통해 서로 접속된다.
호출-종료 키 또는 전원 키가 사용자의 동작에 의해 온이 되는 경우, 전원 회로 유닛(ex310)은 카메라 내장형 디지털 휴대폰(ex115)을 대기 상태로 동작시키기 위하여 배터리 팩으로부터 각 유닛으로 전원을 공급한다.
휴대폰(ex115)에서, 음성 프로세싱 유닛(ex305)은 음성 통화 모드에서 음성 입력 유닛(ex205)에 의해 수신된 음성 신호를 CPU, ROM, RAM 등을 포함하는 주 제어 유닛(ex311)의 제어하에 디지털 음성 데이터로 변환하며, 모뎀 회로 유닛(ex306)은 디지털 음성 데이터의 확산 스펙트럼 프로세싱을 수행하며, 송신/수신 회로 유닛(ex301)은 데이터의 디지털-아날로그 변환 및 주파수 변환을 수행하여, 이를 안테나(ex201)를 통해 전송한다. 또한, 휴대폰(ex115)에서, 음성 통화 모드에서 안테나(ex201)에 의해 수신된 데이터가 증폭되고, 주파수 변환 및 아날로그-디지털 변환 이후에, 모뎀 회로 유닛(ex306)은 데이터의 역 확산 스펙트럼 프로세싱을 수행하고, 음성 프로세싱 유닛(ex305)은 이를 아날로그 음성 데이터로 변환하여, 이를 음성 출력 유닛(208)을 통해 출력한다.
또한, 데이터 통신 모드로 e-메일을 전송하는 경우, 본체 유닛상의 동작 키(ex204)를 조작함에 의해 입력되는 e-메일의 텍스트 데이터는 동작 이력 제어 유닛 (ex304)을 통해 주 제어 유닛(ex311)으로 전송된다. 모뎀 회로 유닛(ex306)이 텍스트 데이터의 확산 스펙트럼 프로세싱을 수행하고 전송/수신 회로 유닛(ex301)이 디지털-아날로그 변환 및 주파수 변환을 수행한 이후에, 주 제어 유닛(ex311)은 결과 데이터를 안테나(ex201)를 통해 기지국(ex110)으로 전송한다.
영상 데이터가 데이터 통신 모드로 전송되는 경우, 카메라 유닛(ex203)에 의해 촬영된 영상 데이터는 카메라 인터페이스 유닛(ex303)을 통해 영상 코딩 유닛(ex312)으로 공급된다. 영상 데이터가 전송되지 않는 경우, 카메라에 의해 촬영된 영상 데이터를 카메라 인터페이스 유닛(ex303) 및 LCD 제어 유닛(ex302)을 통해 디스플레이 유닛(202)에 직접 디스플레이하는 것도 가능하다.
본 발명에서 설명된 동영상 코딩 장치를 포함하는 영상 코딩 유닛(ex312)은 상술한 제1 실시예에서 제시된 동영상 코딩 장치에 이용되는 코딩 방법에 의해 카메라 유닛(ex203)으로부터 공급되는 영상 데이터를 압축 및 코드화하여, 이를 코딩된 영상 데이터로 변환하고, 이를 멀티플렉스/디멀티플렉스 유닛(ex308)으로 전송한다. 동시에, 휴대폰(ex115)은 카메라 유닛(ex203)에 의한 촬영 동안 음성 입력 유닛(ex205)에 의해 수신된 음성을 디지털 음성 데이터로서 음성 프로세싱 유닛(ex305)을 통해 멀티플렉스/디멀티플렉스 유닛(ex308)으로 전송한다.
멀티플렉스/디멀티플렉스 유닛(ex308)은 영상 코딩 유닛(ex312)으로부터 공급된 코딩된 영상 데이터 및 음성 프로세싱 유닛(ex305)으로부터 공급된 음성 데이터를 소정 방법에 의해 멀티플렉스하고, 모뎀 회로 유닛(ex306)은 멀티플렉싱의 결과로서 얻어진 멀티플렉스된 데이터에 대해 확산 스펙트럼 처리를 수행하며, 전송/ 수신 회로 유닛(ex301)은 결과 데이터에 대해 디지털-아날로그 변환 및 주파수 변환을 수행하고 다음으로 안테나(ex201)를 통해 얻어진 데이터를 전송한다.
데이터 통신 모드로 웹 페이지 등에 링크된 동영상 파일의 데이터가 수신되는 경우, 모뎀 회로 유닛(ex306)은 안테나(ex201)를 통해 기지국(ex110)으로부터 수신된 데이터에 대한 역 확산 스펙트럼 프로세싱을 수행하며, 프로세싱의 결과로서 얻어진 멀티플렉스된 데이터를 멀티플렉스/디멀티플렉스 유닛(ex308)으로 전송한다.
안테나(ex201)를 통해 수신된 멀티플렉스된 데이터를 디코드하기 위하여, 멀티플렉스/디멀티플렉스 유닛(ex308)은 멀티플렉스된 데이터를 영상 데이터의 비트 스트림 및 음성 데이터의 비트 스트림으로 분리하고, 동기 버스(ex313)를 통해 각각 코딩된 영상 데이터를 영상 디코딩 유닛(ex309)으로 공급하고, 음성 데이터를 음성 프로세싱 유닛(ex305)으로 공급한다.
다음으로, 본 발명에서 설명된 영상 디코딩 장치를 포함하는 영상 디코딩 유닛(ex309)은 제1 실시예에 제시된 것과 같은 코딩 방법에 대응하는 디코딩 방법에 의해 영상 데이터의 비트 스트림을 디코드하고, 이 데이터를 LCD 제어 유닛(ex302)을 통해 디스플레이 유닛(ex202)으로 공급하여, 예를 들면 웹 페이지에 링크된 동영상 파일내에 포함된 동영상 데이터가 디스플레이된다. 동시에, 음성 프로세싱 유닛(ex305)은 음성 데이터를 아날로그 음성 데이터로 변환하고, 이 데이터를 음성 출력 유닛(ex208)에 공급하여, 예를 들면 웹 페이지에 링크된 동영상 파일내에 포함된 음성 데이터가 재생된다.
본 발명은 상술한 시스템에 국한되지 않고, 적어도 제1 실시예의 동영상 코딩 장치 또는 동영상 디코딩 장치는 도 21에 도시된 디지털 방송을 위한 시스템내에 포함될 수 있다. 그러한 지상 기반(ground-based) 또는 위성 디지털 방송이 최근에 발표되었다. 보다 상세하게는, 비디오 정보의 비트 스트림은 방송파(radio wave)를 통해 방송국(ex409)으로부터 통신 또는 방송 위성(ex410)으로 전송된다. 이의 수신시, 방송 위성(ex410)은 방송용 방송파를 전송하고, 위성 방송 수신 설비를 갖는 가정용 안테나(ex406)는 방송파를 수신하고, 텔레비전(수신기)(ex401) 또는 셋탑 박스(STB)(ex407)와 같은 장치는 재생을 위해 비트 스트림을 디코드한다. 제1 실시예에서 제시된 동영상 디코딩 장치는 CD 및 DVD와 같은 기록 매체인 저장 매체(ex402) 상에 기록된 비트 스트림을 판독하고 디코딩하기 위한 재생 장치(ex403)로 구현될 수 있다. 이 경우, 재생된 비디오 신호는 모니터(ex404) 상에 디스플레이된다. 동영상 디코딩 장치는 케이블 텔레비전을 위한 케이블(ex405)에 접속되거나 또는 위성 및/또는 지상 기반 방송을 위한 안테나(ex406)에 접속되어 텔레비전의 모니터(ex408)상에 이를 재생하는 셋탑 박스(ex407)로 구현될 수 있다. 동영상 디코딩 장치는 셋탑박스가 아닌 텔레비전으로 일체화할 수 있다. 또는, 안테나(ex411)를 갖는 자동차(ex412)는 자동차(ex412)내의 카네비게이션 시스템(ex413)과 같은 디스플레이 장치 상에 동영상을 재생하기 위하여 위성(ex10), 기지국(ex107) 등으로부터 신호를 수신할 수 있다.
또한, 상술한 제1 실시예에서 제시된 동영상 코딩 장치는 기록 매체상에 이를 기록하기 위하여 영상 신호를 코딩할 수 있다. 특정 예로서, DVD 디스크 (ex421) 상에 영상 신호를 기록하기 위한 DVD 레코더 및 하드 디스크 상에 이를 기록하기 위한 디스크 레코더와 같은 레코더(ex420)가 있다. 또한 SD 카드(ex422) 상에 기록될 수 있다. 레코더(ex420)가 제1 실시예에서 제시된 동영상 디코딩 장치를 포함하는 경우, DVD 디스크(ex421) 또는 SD 카드(ex422) 상에 기록된 영상 신호는 모니터(ex408) 상으로 디스플레이하기 위해 재생될 수 있다.
카네비게이션 시스템(ex413)의 구조로서는, 도 20에 도시된 유닛들 중에서 카메라 유닛(ex203), 카메라 인터페이스 유닛(ex303) 및 영상 코딩 유닛(ex312)이 없는 구조가 생각될 수 있다. 동일하게 컴퓨터(ex111), 텔레비전(수신기)(ex401) 등에 적용될 수 있다.
또한, 상술한 휴대폰(ex114)과 같은 단말기로는 아래의 3개의 유형이 생각될 수 있다 즉: 인코더 및 디코더를 모두 포함하는 송신/수신 단말, 인코더만을 포함하는 송신 단말, 디코더만을 포함하는 수신 단말.
상술한 것처럼, 상술한 장치 및 시스템에서 상기 제1 실시예에서 제시된 동영상 코딩 방법 및 동영상 디코딩 방법을 이용하는 것이 가능하며, 이러한 방법을 이용하여, 제1 실시예에 설명된 것과 동일한 효과가 수득될 수 있다.
본 발명의 일부 예시적 실시예가 상세히 설명되었지만, 당해 분야의 숙련자라면 본 발명의 신규한 기술 및 장점으로부터 실질적으로 벗어나지 않고 예시적 실시예에서 많은 개조물이 가능하다는 것을 알 것이다. 따라서, 그러한 모든 개조물은 본 발명의 범위에 속한다.
본 발명에 따른 동영상 코딩 장치는 비압축된 동영상 데이터를 압축 및 코드화하는 인코더 LSI로서 유효하다. 본 발명에 따른 동영상 코딩 장치는 다양한 시스템으로 구현되는 경우 비디오 저장 장치, 비디오 전송 장치 등으로서 적용 가능하다.

Claims (16)

  1. 동영상 코딩 장치에 있어서,
    제1 필터를 이용하여 기준 영상의 검색 영역내에 있는 소정의 영역을 서브 픽셀 정밀도로 보간하고, 보간된 영역내에서 코딩될 현재 블록과의 높은 상관성을 갖는 예측 블록의 위치를 표시하는 복수개의 움직임 벡터를 예측하도록 동작가능한 움직임 벡터 예측 유닛; 및
    상기 제1 필터보다 큰 수의 탭을 갖는 제2 필터를 이용하여 상기 예측된 움직임 벡터로 표시되는 예측 블록 각각을 서브 픽셀 정밀도로 보간하고, 각각의 보간된 예측 블록과 현재 블록 사이의 차분 데이터를 기초로 상기 움직임 벡터 예측 유닛에 의해 예측된 움직임 벡터 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하는 움직임 벡터 결정 유닛
    을 포함하는 동영상 코딩 장치.
  2. 제1항에 있어서,
    상기 움직임 벡터 예측 유닛은
    기준 영상의 검색 영역 내에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 정수 픽셀 정밀도로 예측하도록 동작가능한 정수 픽셀 정밀도 움직임 벡터 예측 유닛;
    제1 필터를 이용하여, 검색 영역내에 있는 예측 블록 주변의 영역 뿐만 아니 라, 정수 픽셀 정밀도로 예측된 움직임 벡터에 의해 표시된 예측 블록도 서브 픽셀 정밀도로 보간하도록 동작가능한 서브 픽셀 정밀도 보간 유닛; 및
    서브 픽셀 정밀도로 보간된 영역내에서 복수개의 움직임 벡터를 예측하도록 동작가능한 서브 픽셀 정밀도 움직임 벡터 예측 유닛
    을 포함하며, 상기 움직임 벡터 결정 유닛은 상기 서브 픽셀 정밀도 움직임 벡터 예측 유닛에 의해 예측된 움직임 벡터 중의 움직임 벡터를 결정하도록 동작가능한 동영상 코딩 장치.
  3. 제1항에 있어서,
    상기 움직임 벡터 예측 유닛은
    기준 영상의 검색 영역내에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 정수 픽셀 정밀도로 예측하도록 동작가능한 정수 픽셀 정밀도 움직임 벡터 예측 유닛;
    상기 제1 필터를 이용하여, 검색 영역내에 있는 예측 블록 주변의 영역 뿐만 아니라, 정수 픽셀 정밀도로 예측된 움직임 벡터에 의해 표시되는 예측 블록도 제1 서브 픽셀 정밀도로 보간하도록 동작가능한 제1 서브 픽셀 정밀도 보간 유닛; 및
    상기 제1 서브 픽셀 정밀도로 보간된 영역내에서 움직임 벡터를 예측하도록 동작가능한 제1 서브 픽셀 정밀도 움직임 벡터 예측 유닛
    을 포함하는 동영상 코딩 장치.
  4. 제3항에 있어서,
    상기 움직임 벡터 예측 유닛은
    상기 제1 필터를 이용하여 검색 영역내에 있는 예측 블록 주변의 영역뿐만 아니라, 상기 제1 서브 픽셀 정밀도로 예측된 움직임 벡터에 의해 표시되는 예측 블록도 상기 제1 서브 픽셀 정밀도보다 더 정확한 제2 서브 픽셀 정밀도로 보간하도록 동작가능한 제2 서브 픽셀 정밀도 보간 유닛; 및
    상기 제2 서브 픽셀 정밀도로 보간된 영역내에서 복수개의 움직임 벡터를 예측하도록 동작가능한 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛
    을 포함하며, 상기 움직임 벡터 결정 유닛은 상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛에 의해 예측되는 움직임 벡터 중에서 움직임 벡터를 결정하도록 동작가능한 동영상 코딩 장치.
  5. 제4항에 있어서, 상기 제2 서브 픽셀 움직임 벡터 예측 유닛은 상기 제2 서브 픽셀 정밀도로 보간된 영역내에서 전방향 움직임 벡터 및 후방향 움직임 벡터를 예측하도록 동작가능한 동영상 코딩 장치.
  6. 제5항에 있어서, 상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛은 전방향 움직임 벡터 및 후방향 움직임 벡터 각각에 대한 후보로서 적어도 제1 움직임 벡터 및 제2 움직임 벡터를 예측하도록 동작가능하며, 상기 제1 움직임 벡터는 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하고, 상기 제2 움직 임 벡터는 현재 블록과 두 번째로 높은 상관성을 갖는 예측 블록의 위치를 표시하는 동영상 코딩 장치.
  7. 제5항에 있어서,
    상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛은
    예측 블록과 코딩될 현재 블록 사이의 차분 데이터를 연산하고 상기 연산된 차분 데이터를 기초로 코딩 코스트(coding cost)를 연산하는 코딩 코스트 연산 유닛 - 상기 코딩 코스트는 코딩 코스트의 값이 작아질수록 예측 블록과 현재 블록 사이의 상관성이 높아짐을 표시함 - ; 및
    상기 전방향 움직임 벡터에 의해 표시되는 전방향 예측 블록의 코딩 코스트와 후방향 움직임 벡터에 의해 표시되는 후방향 예측 블록의 코딩 코스트를 비교하고, 이 비교를 기초로 현재 블록의 예측 방향을 결정하는 방향 결정 유닛 - 상기 전방향 및 후방향 움직임 벡터는 상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛에 의해 예측됨 -
    를 더 포함하는 동영상 코딩 장치.
  8. 제7항에 있어서,
    상기 방향 결정 유닛은
    (i) 전방향 예측 블록의 코딩 코스트와 후방향 예측 블록의 코딩 코스트 사이의 차분이 소정 값의 범위내에 있는 경우 현재 블록의 예측 방향은 양방향으로,
    (ii) 전방향 예측 블록의 코딩 코스트가 후방향 예측 블록의 코딩 코스트보다 작고 코딩 코스트 사이의 차분이 소정 범위를 넘어설 만큼 큰 경우 현재 블록의 예측 방향은 단방향으로,
    (iii) 후방향 예측 블록의 코딩 코스트가 전방향 예측 블록의 코딩 코스트보다 작고 코딩 코스트 사이의 차분이 소정 범위를 넘어설 만큼 큰 경우 현재 블록의 예측 방향은 단방향으로
    결정하는 동영상 코딩 장치.
  9. 제8항에 있어서,
    상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛은 전방향 움직임 벡터와 후방향 움직임 벡터 각각에 대한 후보로서 복수개의 움직임 벡터를 예측하도록 동작 가능하고,
    상기 움직임 벡터 결정 유닛은
    각각의 예측 블록이 상기 제2 필터를 이용하여 서브 픽셀 정밀도로 보간된 이후에 현재 블록과 각각의 예측 블록 사이의 차분 데이터를 기초로 제2 코딩 코스트를 연산하는 제2 코딩 코스트 연산 유닛 - 상기 제2 코딩 코스트는, 각각의 예측 블록과 현재 블록 사이의 상관성이 제2 코딩 코스트의 값이 작아질수록 더 높아짐을 표시함 -
    를 더 포함하고, 상기 방향 결정 유닛이 현재의 예측 방향이 단방향임을 결정한 경우, 상기 움직임 벡터 결정 유닛은 제2 코딩 코스트를 기초로 전방향 움직 임 벡터 또는 후방향 움직임 벡터에 대한 예측된 움직임 벡터 후보 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하도록 동작가능한 동영상 코딩 장치.
  10. 제9항에 있어서, 상기 움직임 벡터 결정 유닛은 최소의 제2 코딩 코스트를 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 선택하고, (i) 상기 방향 결정 유닛이 현재 블록의 예측 방향이 전방향임을 결정하는 경우 예측된 전방향 움직임 벡터 후보 중에서의 움직임 벡터를 결정하고, (ii) 상기 방향 결정 유닛이 현재 블록의 예측 방향이 후방향임을 결정한 경우 예측된 후방향 움직임 벡터 후보 중에서의 움직임 벡터를 결정하는 동영상 코딩 장치.
  11. 제9항에 있어서,
    상기 방향 결정 유닛이 현재 블록의 예측 방향이 양방향임을 결정한 경우 전방향 예측 블록과 후방향 예측 블록의 평균 화상을 생성하는 평균 화상 생성 유닛
    을 더 포함하고, 상기 제2 서브 픽셀 정밀도 움직임 벡터 예측 유닛은 적어도 제1 움직임 벡터 및 제2 움직임 벡터를 전방향 움직임 벡터와 후방향 움직임 벡터 각각에 대한 후보로서 예측하도록 동작가능하며, 상기 제1 움직임 벡터는 현재 블록과의 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하고, 상기 제2 움직임 벡터는 현재 블록과의 두 번째로 높은 상관성을 갖는 예측 블록의 위치를 표시하며,
    상기 방향 결정 유닛이 현재 블록의 예측 방향이 양방향임을 결정한 경우, 상기 움직임 벡터 결정 유닛은 상기 제1 전방향 움직임 벡터와 상기 제1 후방향 움직임 벡터 각각이 움직임 벡터임을 결정하며,
    상기 평균 화상 생성 유닛은 상기 제1 전방향 움직임 벡터에 의해 표시되는 예측 블록 및 상기 제1 후방향 움직임 벡터에 의해 표시되는 예측 블록의 평균 화상을 생성하도록 동작 가능하며, 각각의 제1 전방향 움직임 벡터 및 제1 후방향 움직임 벡터는 상기 움직임 벡터 결정 유닛에 의해 움직임 벡터가 되도록 결정되는 동영상 코딩 장치.
  12. 제1항에 있어서, 상기 제1 필터는 선형 보간법에 의해 기준 영상내의 영역을 보간하는 동영상 코딩 장치.
  13. 제1항에 있어서, 상기 제1 필터는 2-탭 필터이고, 상기 제2 필터는 6-탭 필터인 동영상 코딩 장치.
  14. 집적 유닛에 있어서,
    제1 필터를 이용하여 기준 영상내의 검색 영역내의 소정 영역을 서브 픽셀 정밀도로 보간하고, 상기 보간된 범위내에서 코딩될 현재 블록과의 높은 상관성을 갖는 예측 블록의 위치를 표시하는 복수개의 움직임 벡터를 예측하는 움직임 벡터 예측 유닛; 및
    상기 제1 필터보다 더 큰 수의 탭을 갖는 제2 필터를 이용하여 상기 예측된 움직임 벡터를 표시하는 각각의 예측 블록을 서브 픽셀 정밀도로 보간하고, 상기 보간된 예측 블록 각각과 현재 블록 사이의 차분 데이터를 기초로 상기 움직임 벡터 예측 유닛에 의해 예측된 움직임 벡터 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하도록 동작가능한 움직임 벡터 결정 유닛
    을 포함하며, 상기 움직임 벡터 예측 유닛 및 상기 움직임 벡터 결정 유닛은 단일 유닛으로 집적되는 집적 유닛.
  15. 동영상 코딩 방법에 있어서,
    (i) 제1 필터를 이용하여 기준 영상의 검색 영역내에 있는 소정 영역을 서브 픽셀 정밀도로 보간하고, (ii) 상기 보간된 영역내에서 코딩될 현재의 블록과 높은 상관성을 갖는 예측 블록의 위치를 표시하는 복수개의 움직임 벡터를 예측하는 단계; 및
    (i) 상기 제1 필터보다 더 큰 수의 탭을 갖는 제2 필터를 이용하여 예측된 움직임 벡터에 의해 표시되는 각각의 예측 블록을 서브 픽셀 정밀도로 보간하고, (ii) 각각의 보간된 예측 블록과 현재의 블록 사이의 차분 데이터를 기초로 상기 움직임 벡터 예측 유닛에 의해 예측된 움직임 벡터 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하는 단계
    를 포함하는 동영상 코딩 방법.
  16. 컴퓨터가 실행하도록 된 프로그램에 있어서,
    (i) 제1 필터를 이용하여 기준 영상의 검색 영역내에 있는 소정 영역을 서브 픽셀 정밀도로 보간하고, (ii) 상기 보간된 영역내에서 코딩될 현재의 블록과 높은 상관성을 갖는 예측 블록의 위치를 표시하는 복수개의 움직임 벡터를 예측하는 단계; 및
    (i) 상기 제1 필터보다 더 큰 수의 탭을 갖는 제2 필터를 이용하여 예측된 움직임 벡터에 의해 표시되는 각각의 예측 블록을 서브 픽셀 정밀도로 보간하고, (ii) 각각의 보간된 예측 블록과 현재의 블록 사이의 차분 데이터를 기초로 상기 움직임 벡터 예측 유닛에 의해 예측된 움직임 벡터 중에서 현재 블록과 가장 높은 상관성을 갖는 예측 블록의 위치를 표시하는 움직임 벡터를 결정하는 단계
    를 포함하는 프로그램.
KR1020050022348A 2004-03-17 2005-03-17 동영상 코딩 장치 KR20060044356A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00076049 2004-03-17
JP2004076049 2004-03-17

Publications (1)

Publication Number Publication Date
KR20060044356A true KR20060044356A (ko) 2006-05-16

Family

ID=34836536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050022348A KR20060044356A (ko) 2004-03-17 2005-03-17 동영상 코딩 장치

Country Status (4)

Country Link
US (1) US20050207496A1 (ko)
EP (1) EP1578137A2 (ko)
KR (1) KR20060044356A (ko)
CN (1) CN1671209A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790178B1 (ko) * 2006-10-20 2008-01-02 삼성전자주식회사 동영상의 프레임 레이트 변환 방법
KR100878536B1 (ko) * 2006-11-08 2009-01-13 삼성전자주식회사 영상 보간 방법 및 장치
WO2011142644A3 (ko) * 2010-05-14 2012-03-08 삼성전자 주식회사 확장 블록 필터링을 이용한 비디오 부호화, 복호화 방법 및 장치
WO2013039357A3 (ko) * 2011-09-14 2013-05-10 삼성전자 주식회사 비디오 부호화, 복호화 방법 및 장치

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE511314T1 (de) * 2004-08-31 2011-06-15 Panasonic Corp Verfahren und vorrichtung zur kodierung bewegter bilder
US8243820B2 (en) * 2004-10-06 2012-08-14 Microsoft Corporation Decoding variable coded resolution video with native range/resolution post-processing operation
US9071847B2 (en) * 2004-10-06 2015-06-30 Microsoft Technology Licensing, Llc Variable coding resolution in video codec
KR100703770B1 (ko) * 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
US8588304B2 (en) 2005-03-31 2013-11-19 Panasonic Corporation Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
JP4590337B2 (ja) * 2005-10-27 2010-12-01 キヤノン株式会社 動画像符号化装置及び動画像符号化方法
GB2431799A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Motion vector allocation and pixel generation using spatial filters
GB2431800A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Interpolation involving motion vectors and mutiple tap spatial filters.
GB2431796A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Interpolation using phase correction and motion vectors
US7965774B2 (en) * 2006-01-06 2011-06-21 International Business Machines Corporation Method for visual signal extrapolation or interpolation
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
JP4417918B2 (ja) * 2006-03-30 2010-02-17 株式会社東芝 補間フレーム作成装置、動きベクトル検出装置、補間フレーム作成方法、動きベクトル検出方法、補間フレーム作成プログラムおよび動きベクトル検出プログラム
EP1841232A1 (en) * 2006-03-31 2007-10-03 Sony Deutschland Gmbh Method and apparatus to improve the convergence speed of a recursive motion estimator
JP4752631B2 (ja) * 2006-06-08 2011-08-17 株式会社日立製作所 画像符号化装置、及び画像符号化方法
JP2008005163A (ja) * 2006-06-21 2008-01-10 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
US20080002772A1 (en) * 2006-06-28 2008-01-03 Hong Kong Applied Science and Technology Research Institute Company Limited Motion vector estimation method
JP2008042332A (ja) * 2006-08-02 2008-02-21 Toshiba Corp 補間フレーム作成方法及び補間フレーム作成装置
KR100827093B1 (ko) * 2006-10-13 2008-05-02 삼성전자주식회사 영상 부호화 방법 및 장치
EP2092752A2 (en) * 2006-12-01 2009-08-26 France Telecom Adaptive interpolation method and system for motion compensated predictive video coding and decoding
KR101369746B1 (ko) * 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
US8107571B2 (en) * 2007-03-20 2012-01-31 Microsoft Corporation Parameterized filters and signaling techniques
KR101369224B1 (ko) * 2007-03-28 2014-03-05 삼성전자주식회사 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치
JP4518111B2 (ja) * 2007-07-13 2010-08-04 ソニー株式会社 映像処理装置、映像処理方法、及びプログラム
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
WO2009088976A1 (en) * 2008-01-07 2009-07-16 Thomson Licensing Methods and apparatus for video encoding and decoding using parametric filtering
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US20090257499A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
RU2505938C2 (ru) * 2008-04-10 2014-01-27 Квэлкомм Инкорпорейтед Интерполяция на основе искажений в зависимости от скорости передачи для кодирования видео на основе неперестраиваемого фильтра или адаптивного фильтра
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US9077971B2 (en) * 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
US8462842B2 (en) * 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
KR101085963B1 (ko) * 2008-08-11 2011-11-22 에스케이플래닛 주식회사 동영상 부호화 장치 및 방법
US8462849B2 (en) * 2008-12-23 2013-06-11 General Instrument Corporation Reference picture selection for sub-pixel motion estimation
JP2010288098A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像フレーム補間装置、画像フレーム補間方法及び画像フレーム補間プログラム
JP2011049740A (ja) * 2009-08-26 2011-03-10 Sony Corp 画像処理装置および方法
CN102056009B (zh) * 2009-11-05 2012-08-29 中国移动通信集团公司 视频序列的图像质量评估方法及装置
CN107241604B (zh) * 2010-04-01 2020-11-03 索尼公司 图像处理设备和方法
CN102316317B (zh) * 2010-07-10 2013-04-24 华为技术有限公司 一种生成图像预测值的方法和装置
US10045046B2 (en) * 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
PL2661892T3 (pl) 2011-01-07 2022-08-16 Nokia Technologies Oy Przewidywanie ruchu w kodowaniu wideo
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
JP2013098899A (ja) * 2011-11-04 2013-05-20 Sony Corp 符号化装置および符号化方法、並びに、復号装置および復号方法
TW201334565A (zh) * 2011-12-28 2013-08-16 Jvc Kenwood Corp 動態影像編碼裝置、動態影像編碼方法及動態影像編碼程式、以及動態影像解碼裝置、動態影像解碼方法及動態影像解碼程式
CN104104961B (zh) 2013-04-10 2018-09-21 华为技术有限公司 一种视频编码方法、解码方法和装置
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
CA2986613C (en) 2015-05-21 2020-04-28 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation
EP3298783B1 (en) * 2016-04-15 2020-11-18 Magic Pony Technology Limited Motion compensation using temporal picture interpolation
WO2018058622A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种帧间预测的图像编解码方法和装置
GB2564133B (en) * 2017-07-04 2021-03-17 Canon Kk Method and apparatus for encoding or decoding video data with sub-pixel motion vector refinement
US11044480B2 (en) 2019-01-24 2021-06-22 Google Llc More accurate 2-tap interpolation filters for video compression
CN112468812B (zh) 2019-03-11 2022-07-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN110769256B (zh) * 2019-11-01 2021-10-01 西安邮电大学 一种基于可重构阵列处理器的分数像素插值方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3163830B2 (ja) * 1993-03-29 2001-05-08 ソニー株式会社 画像信号伝送方法及び装置
JP3050736B2 (ja) * 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
US6697430B1 (en) * 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7408988B2 (en) * 2002-12-20 2008-08-05 Lsi Corporation Motion estimation engine with parallel interpolation and search hardware

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790178B1 (ko) * 2006-10-20 2008-01-02 삼성전자주식회사 동영상의 프레임 레이트 변환 방법
KR100878536B1 (ko) * 2006-11-08 2009-01-13 삼성전자주식회사 영상 보간 방법 및 장치
WO2011142644A3 (ko) * 2010-05-14 2012-03-08 삼성전자 주식회사 확장 블록 필터링을 이용한 비디오 부호화, 복호화 방법 및 장치
WO2013039357A3 (ko) * 2011-09-14 2013-05-10 삼성전자 주식회사 비디오 부호화, 복호화 방법 및 장치
US9538188B2 (en) 2011-09-14 2017-01-03 Samsung Electronics Co., Ltd. Method and device for encoding and decoding video
US9538184B2 (en) 2011-09-14 2017-01-03 Samsung Electronics Co., Ltd. Method and device for encoding and decoding video
US9538187B2 (en) 2011-09-14 2017-01-03 Samsung Electronics Co., Ltd. Method and device for encoding and decoding video
US9544600B2 (en) 2011-09-14 2017-01-10 Samsung Electronics Co., Ltd. Method and device for encoding and decoding video
US9578332B2 (en) 2011-09-14 2017-02-21 Samsung Electronics Co., Ltd. Method and device for encoding and decoding video

Also Published As

Publication number Publication date
US20050207496A1 (en) 2005-09-22
CN1671209A (zh) 2005-09-21
EP1578137A2 (en) 2005-09-21

Similar Documents

Publication Publication Date Title
KR20060044356A (ko) 동영상 코딩 장치
EP1450565B1 (en) Moving image coding method and moving image decoding method
EP2919465B1 (en) System for coding and decoding b pictures in direct mode
KR100747958B1 (ko) 화상 부호화 방법 및 화상 복호화 방법
JP4440572B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4369318B2 (ja) 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム
JP4641995B2 (ja) 画像符号化方法および画像符号化装置
JP4495013B2 (ja) 動画符号化装置
JP2005159947A (ja) 予測画像生成方法、画像符号化方法および画像復号化方法
JP2005341545A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラムおよび動画像復号プログラム

Legal Events

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