[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100843418B1 - 화상 부호화 장치 및 화상 부호화 방법 - Google Patents

화상 부호화 장치 및 화상 부호화 방법 Download PDF

Info

Publication number
KR100843418B1
KR100843418B1 KR20067026951A KR20067026951A KR100843418B1 KR 100843418 B1 KR100843418 B1 KR 100843418B1 KR 20067026951 A KR20067026951 A KR 20067026951A KR 20067026951 A KR20067026951 A KR 20067026951A KR 100843418 B1 KR100843418 B1 KR 100843418B1
Authority
KR
South Korea
Prior art keywords
motion vector
global motion
image
global
frame
Prior art date
Application number
KR20067026951A
Other languages
English (en)
Other versions
KR20070088321A (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 샤프 가부시키가이샤
Publication of KR20070088321A publication Critical patent/KR20070088321A/ko
Application granted granted Critical
Publication of KR100843418B1 publication Critical patent/KR100843418B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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/136Incoming video signal characteristics or properties
    • 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/172Methods 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 picture, frame or field
    • 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/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
    • H04N19/52Processing of motion vectors by encoding by predictive 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/527Global motion vector estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

종래 글로벌 움직임 벡터의 검출기가 공간 상관을 이용한 화상 변환기 등과 동일한 칩 위에 배치되어 있기 때문에, 첫째로, 글로벌 움직임 벡터 검출시의 참조처 프레임이 비가역 압축 변환된 화상을 역변환함으로써 얻어진 화상이기 때문에, 완전히 원 프레임이 재현된 화상으로는 되어 있지 않다고 하는 과제이다. 또한, 화상의 고효율 부호화 시에 글로벌 움직임 벡터를 검출할 필요가 없는 경우라도 글로벌 움직임 벡터의 검출 처리가 행해진다고 하는 제2 과제도 있다. 이상의 과제를 해결하기 위해서, 본 발명은, DCT에 의한 고주파 성분 제거나 양자화에 의한 절사 등 공간 상관이나, 가변 길이 부호화를 이용한 화상 변환기의 외부에 글로벌 움직임 벡터를 검출하는 기구를 구비한 화상 부호화 장치를 제공한다.
화상 부호화, 글로벌 움직임 벡터, 벡터 검출, 압축 변환, 역변환, 양자화

Description

화상 부호화 장치 및 화상 부호화 방법{APPARATUS AND METHOD FOR IMAGE CODING}
본 발명은, 움직임 벡터를 이용하여 입력 화상을 부호화할 때에, 글로벌 움직임 벡터를 이용하는 화상 부호화 장치의 기술에 관한 것이다.
종래, 동화상의 고효율 부호화 시에는, 주로 이하의 3개의 화상 변환을 이용하여 동화상 정보량을 압축하여 부호화가 행해지고 있다. 즉 화상 내 (공간) 상관을 이용한 제1 화상 변환, 화상 간 (시간) 상관을 이용한 제2 화상 변환, 그리고 부호의 출현 확률에 따른 가변 길이 부호화를 이용한 제3 화상 변환이다. 그 중에서, 시간 상관을 이용한 제2 화상 변환에서는, 시간적으로 상이한 프레임(입력 화상) 사이에서의 화상의 이동 방향과 이동량을 매크로 블록 단위로 「움직임 벡터」로서 검출하고, 그 매크로 블록의 화소 정보와 움직임 벡터의 정보에 의해 프레임을 표현함으로써 동화상 정보량을 삭감할 수 있다.
그러나, 이 「움직임 벡터」의 검출 처리에서, 매크로 블록의 이동처(또는 이동원)로 되는 다른 프레임 내의 블록을 탐색하려고 하면, 예를 들면 스포츠 영상 등 움직임량이 많은 동화상에서는 그 탐색 범위를 넓게 취할 필요가 있고, 따라서, 그 연산량도 방대하게 될 가능성이 있었다. 따라서, 특허 문헌 1에서는, 현 프레 임의 축소 화상을 이용하여, 처음에 화상 전체에서의 글로벌한 움직임 벡터를 검출하고, 그 글로벌 움직임 벡터를 이용하여 매크로 블록의 이동처 서치(탐색) 범위를 좁혀 들어간 후에 움직임 벡터를 검출한다고 하는 기술이 개시되어 있다.
도 17에 도시한 것은, 이 글로벌 움직임 벡터를 이용한, 매크로 블록 단위의 움직임 벡터 검출의 별도의 일례를 설명하기 위한 도면이다. 이 도 17의 (a)에 있는 바와 같이, 우선은 움직임 벡터를 검출하고자 하는 매크로 블록(α)을 포함하는 더 큰(글로벌) 매크로 블록(α')에서의 글로벌 움직임 벡터(1701)를, 통상의 움직임 벡터 검출과 마찬가지의 처리로 검출한다. 그러면, 이 글로벌 움직임 벡터로 나타나는 글로벌 매크로 블록(α')의 이동처를 포함하는 소정의 범위 내에 매크로 블록(α)의 이동이 있다고 생각할 수 있다. 따라서, 도 17의 (b)에서 도시한 범위(β)를 매크로 블록(α)의 움직임 벡터의 탐색 범위로서 연산함으로써, 탐색 범위를 불필요하게 넓히지 않고 매크로 블록(α)의 움직임 벡터(1702)를 검출할 수 있다고 하는 방식이다.
특허 문헌 1:WO00/05899호
<발명이 해결하고자 하는 과제>
그러나, 제2 화상 변환에 이용되는 상기 글로벌 움직임 벡터의 검출 처리에서는, 그 글로벌 움직임 벡터의 검출기가, 제1 동화상 변환 기술인 공간 상관을 이용한 화상 변환기 등과 동일한 칩 위에 배치되어 있기 때문에, 이하와 같은 2개의 과제가 있다. 첫째로, 글로벌 움직임 벡터를 검출할 때에 참조하는 참조처의 프레임이, 반드시 정확한 입력 화상과 일치하고 있지는 않을 가능성이 있다고 하는 과제이다. 왜냐하면, 그 참조처 프레임은, 공간 상관을 이용하여, DCT(이산 코사인 변환) 변환에서 얻어진 고주파 성분을 배제하거나, 양자화에 의해 나머지를 절사하거나 하여 비가역 변환되어 부호화된 데이터를 역변환함으로써 재현된 화상이기 때문에, 완전히 원 프레임과 동일한 화상으로는 되어 있지 않은 경우가 있기 때문이다. 그 때문에, 그와 같이 부정확하게 재현된 참조 프레임을 참조하여 검출된 글로벌 움직임 벡터에 오차가 발생할 가능성이 있다고 하는 것이다.
또한, 종래에는, 화상의 고효율 부호화 시에 글로벌 움직임 벡터를 검출할 필요가 없는 경우라도 글로벌 움직임 벡터의 검출 처리가 행해진다고 하는 제2의 과제도 있다. 이는 예를 들면 1920×1080 화소의 하이비전 화상으로 구성되어 있는 동화상에서는, 그 화소 단위의 움직임량은 최대 가로 방향으로 1920, 세로 방향으로 1080(반화소 단위로는 그 2배의 움직임량)으로서, 그 탐색 범위도 넓게 취할 필요가 있다. 한편, 320×240 화소로 구성되어 있는 동화상에서는, 그 화소 단위의 움직임량은 최대 가로 방향으로 320, 세로 방향으로 240으로서, 상기와 같은 움직임의 동화상이어도, 그 화소(또는 반화소, 1/4 화소 등) 단위의 움직임량 탐색 범위는 상기에 비교해서 좁아도 된다. 또는, 뉴스의 스튜디오 영상과 스포츠 영상에서는 그 평균적인 움직임량은 매우 상이하다고 하는 방식으로 영상 종류 등에 따라서도 그 탐색 범위에 차이가 발생할 가능성이 높다. 따라서, 상기 동화상의 화상 사이즈나 그 동화상 내용 등에 따라서는, 글로벌 움직임 벡터의 검출 처리를 행하지 않고, 통상의 매크로 블록 단위의 움직임 벡터 검출만으로도 그 연산량은 비교적 적어도 되는 경우가 있다고 하는 것이다.
<과제를 해결하기 위한 수단>
이상의 과제를 해결하기 위해서, 본 발명은, 입력 화상을, 움직임 벡터를 이용하여 부호화하는 부호화 장치에서, DCT 변환 후의 고주파 성분 제거나 양자화에 의한 나머지의 절사 등이나, 가변 길이 부호화를 이용한 화상 변환기의 외부에 글로벌 움직임 벡터 검출기를 구비한 화상 부호화 장치를 제공한다. 이러한 구성을 취함으로써, 본 발명은, 비가역 압축되기 전의 입력 화상을 이용하여 글로벌 움직임 벡터를 검출할 수 있다. 또한, 글로벌 움직임 벡터 검출기가 화상 변환기의 외부에 있기 때문에, 화상 변환시에 그 글로벌 움직임 벡터 검출기를 이용할지의 여부의 절환도 용이하게 행할 수 있다. 또한 「외부에 구비한다」란 하드웨어 구조가 물리적으로 별개인 구성 외에, 동일한 하드웨어가 소프트웨어 처리 상에서 외부적으로 취급되도록 하는 구성이어도 된다.
<발명의 효과>
이와 같이, 비가역 압축되기 전의 입력 화상을 이용하여 글로벌 움직임 벡터를 검출할 수 있기 때문에, 참조처 화상의 재현 오차를 원인으로 하는 글로벌 움직임 벡터의 오검출을 없앨 수 있다. 또한, 동화상의 부호화 시에 그 글로벌 움직임 벡터 검출 기구를 이용할지의 여부를, 그 상황 등에 따라 용이하게 절환할 수 있으므로 불필요한 연산 처리를 생략할 수 있다.
도 1은 실시예 1의 화상 부호화 장치를 실장한 장치의 일례를 도시한 개략 도.
도 2는 실시예 1의 화상 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면.
도 3은 화상 부호화 장치에서 처리되는, 입력 화상과, 그 입력 화상의 변환 처리-역변환 처리 화상의 일례를 도시한 개략도.
도 4는 실시예 1의 화상 부호화 장치의 제2 검출부에서의 글로벌 움직임 벡터의 검출 처리의 일례에 대하여 설명하기 위한 개략도.
도 5는 실시예 1의 화상 부호화 장치에서의 하드웨어 구성의 일례를 도시한 개략도.
도 6은 실시예 1의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트.
도 7은 실시예 2의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면.
도 8은 실시예 3의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트.
도 9는 실시예 3의 화상 부호화 장치에서의, 동화상의 화상 사이즈에 따른 절환의 일례에 대하여 설명하기 위한 개략도.
도 10은 실시예 3의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면.
도 11은 실시예 3의 화상 부호화 장치에서의 하드웨어 구성의 일례를 도시한 개략도.
도 12는 실시예 3의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트.
도 13은 종래의 화상 부호화 장치가 유지하는, 검출한 글로벌 움직임 벡터의 유지 테이블의 일례를 도시한 개념도.
도 14는 실시예 4의 화상 부호화 장치에서의, 비인접 2 프레임 간의 글로벌 움직임 벡터 산출 처리의 일례에 대하여 설명하기 위한 개념도.
도 15는 실시예 4의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면.
도 16은 실시예 4의 화상 부호화 장치에서의 처리의 흐름의 일례를 도시한 플로우차트.
도 17은 종래의 글로벌 움직임 벡터를 이용한, 매크로 블록 단위의 움직임 벡터 검출의 일례를 설명하기 위한 도면.
이하에, 도면을 이용하여 본 발명의 실시 형태를 설명한다. 또한, 본 발명은 이들 실시 형태에 한정되는 것은 전혀 아니고, 그 요지를 일탈하지 않는 범위에서, 다양한 양태로 실시할 수 있다. 또한, 실시예 1은, 주로 청구항 1, 5에 대해서 설명한다. 또한, 실시예 2는, 주로 청구항 2, 6에 대해서 설명한다. 또한, 실시예 3은, 주로 청구항 3, 7에 대해서 설명한다. 또한, 실시예 4는, 주로 청구항 4, 8에 대해서 설명한다.
《실시예 1》〈실시예 1의 개요〉 도 1에 도시한 것은, 본 실시예의 화상 부호화 장치를 실장한 장치의 일례(여기서는 텔레비전 튜너 부착 화상 부호화 보드)를 도시한 개략도이다. 이 도 1에 있는 바와 같이, 본 실시예의 화상 부호화 장치는, DCT 연산이나 공간 주파수의 고주파 성분 제거, 양자화, 가변 길이 부호화, 또는 움직임 벡터를 이용한 부호화 등의 연산 처리를 행하여 화상 변환 처리를 행하는 제1 변환 처리 칩의 외부에, 글로벌 움직임 벡터를 검출하여 서치 범위를 결정하는 제2 글로벌 움직임 벡터 검출 칩을 별개로 구비하는 화상 부호화 보드이다. 따라서, 본 발명의 화상 부호화 장치에서는, 글로벌 움직임 벡터 검출 칩에서의 검출 처리시에, 제1 변환 칩으로 비가역 압축되어 역변환된 입력 화상이 아니라, 텔레비전 튜너(화상 입력기)로부터 입력된 입력 디지털 화상을 직접 참조 이용할 수 있다.
〈실시예 1의 구성〉 도 2에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면이다. 이 도 2에 있는 바와 같이, 본 실시예의 「화상 부호화 장치」(0200)는, 움직임 벡터를 이용하여 입력 화상을 부호화하는 부호화 장치로서, 그것을 위해서 「제1 칩」(0210)과, 「제2 칩」(0220)이 별개로 배치되어 있다. 그리고, 제1 칩은, 「변환 처리부」(0211)와, 「역변환 처리부」(0212)와, 「제1 검출부」(0213)를 가지고 있다. 또한, 제2 칩은 「제2 검출부」(0221)와, 「서치 범위 결정부」(0222)를 가지고 서로 독립해서 처리를 행하는 것을 가능하게 하고 있다. 또한 본 발명은, 전술한 바와 같이 제1 칩과 제2 칩이 물리적으로 별개인 구성 외에, 동일한 하드웨어 칩이 소프트웨어 처리 상에서 별개 로 취급되도록 하는 구성 등이어도 된다.
또한, 이하에 기재하는 본 장치의 기능 블록은, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 양방으로서 실현될 수 있다. 구체적으로는, 컴퓨터를 이용하는 것이면, CPU나 주메모리, 버스, 또는 하드디스크나 비휘발성 메모리 등의 기억 장치, CD-ROM이나 DVD-ROM 등의 기억 미디어, 그들 미디어의 판독 드라이브, 각종 통신이나 인쇄 기기용의 송수신 포트, 그 밖의 주변 장치 등의 하드웨어 구성부나, 그들 하드웨어를 제어하기 위한 드라이버 프로그램이나 기타 애플리케이션 프로그램, 정보 입력에 이용되는 인터페이스 등을 들 수 있다. 그리고, 이들 하드웨어나 소프트웨어는, 메모리 상에 전개한 프로그램을 CPU로 순차적으로 연산 처리하거나, 메모리나 하드디스크 상에 유지되어 있는 데이터나, 인터페이스를 통해서 입력된 데이터 등을 가공, 축적, 출력 처리하거나, 또는 각 하드웨어 구성부의 제어를 행하거나 하기 위해서 이용된다. 또한, 본 발명은 장치로서 실현할 수 있을뿐만 아니라, 방법으로서도 실현 가능하다. 또한, 이러한 발명의 일부를 소프트웨어로서 구성할 수 있다. 또한, 그러한 소프트웨어를 컴퓨터에 실행시키기 위해서 이용하는 소프트웨어 제품, 및 동 제품을 기록 매체에 고정한 기록 매체도, 당연히 본 발명의 기술적인 범위에 포함된다(본 명세서의 전체를 통해서 마찬가지이다).
「변환 처리부」(0211)는, 입력 화상에 대하여, 화상의 고효율 부호화를 위한 변환 처리를 행하는 기능을 가진다. 「화상의 고효율 부호화를 위한 변환 처리」란, 예를 들면 상기 화상 내 (공간) 상관을 이용한 제1 화상 변환, 화상 간 (시간) 상관을 이용한 제2 화상 변환, 그리고 부호의 출현 확률에 따른 가변 길이 부 호화를 이용한 제3 화상 변환 등에 의한 화상의 변환 처리를 들 수 있다. 그리고, 상기 공간 상관을 이용한 제1 화상 변환시에는, 예를 들면 1매의 입력 화상의 공간 주파수를 직교 변환하기 위한 DCT 변환(이산 코사인 변환) 처리나 그 DCT 변환 처리에 의해 얻어진 화상의 고주파 성분의 제거 처리, 또는 그 DCT 변환 후의 화소 블록의 계수를 임의의 제수로 나누고, 그 나머지를 절사하고 몫만으로 DCT 계수를 표현하는 양자화 등의 처리가 행해진다. 또한, 후술하는 제2 검출부에서 검출된 글로벌 움직임 벡터를 이용한 움직임 벡터의 검출이나, 그 움직임 벡터를 이용한 프레임 간 예측에 의한 제2 화상 변환 처리도 이 변환 처리부에서 행해진다.
「역변환 처리부」(0212)는, 변환 처리부(0211)에서 변환 처리된 입력 화상의 고효율 부호화 데이터를 역변환하여 화상으로서 재현하는 기능을 가진다. 역변환 처리란, 변환 처리부에서의 처리가 DCT 변환 처리이면 역 DCT 변환 처리, 양자화 처리이면 역 양자화 처리 등을 들 수 있다. 단 동화상 데이터의 고효율 부호화를 위한 변환 처리로서 일반적인 고주파 성분 제거를 행하는 DCT 변환 처리나 양자화 처리는 비가역 변환 처리이기 때문에, 이 역변환 처리부에서의 역 DCT 변환 처리, 역 양자화 처리에서는 입력 화상이 정확하게는 재현되지 않게 된다. 그 때문에 글로벌 움직임 벡터를 검출할 때에, 이 역변환되어 정확하게 재현되어 있지 않은 화상이 이용되면 글로벌 움직임 벡터의 검출 정밀도도 떨어질 가능성이 있다. 따라서, 본 발명에서는 이하에 설명하는 바와 같이, 글로벌 움직임 벡터 검출시에 이 역변환 처리부에서 역변환 처리되어 (부정확하게) 재현된 입력 화상은 이용하지 않는다.
「제1 검출부」(0213)는, 입력 화상 중의 소정 서치 범위를 변환-역변환 처리 화상의 매크로 블록 단위로 서치하여 움직임 벡터를 검출하는 기능을 가진다. 「소정 서치 범위」란, 후술하는 제2 검출부에서 검출된 글로벌 움직임 벡터에 기초하여 서치 범위 결정부에 의해 결정된, 움직임 벡터의 검출 처리를 위한 서치 범위를 말한다. 또한, 이 소정 서치 범위의 결정 처리에 대해서는, 후술의 제2 검출부 및 서치 범위 결정부에서 설명한다. 또한, 「변환-역변환 처리 화상」이란, 변환 처리부(0211)에서 변환 처리된 입력 화상의 부호화 데이터를, 역변환 처리부(0212)에서 역변환 처리하여 재현된 화상의 데이터를 말한다.
도 3에 도시한 것은, 입력 화상과, 그 입력 화상의 변환-역변환 화상의 일례를 도시한 개략도이다. 이 도 3에 있는 바와 같이, 화상의 공간 상관을 이용한 변환에서는, 도 3의 (a)에 도시한 예를 들면 체스판 눈과 같이 백으로부터 흑으로라고 하는 방식으로 인접 화소가 급격하게 변화하는 등의 화상에서 효율적인 변환을 행하는 것이 어렵다. 따라서, 압축 효율을 높게 설정하고 있으면, 입력 화상의 변환 처리 후에 역변환 처리한 경우, 도 3의 (b)에 도시한 바와 같이, 그 판 눈의 윤곽부 등이 정확하게 복원되지 않는다고 하는 가능성이 있다. 그러면 시간 상관을 이용한 제2 화상 변환 처리를 위해서 움직임 벡터를 검출할 때에, 움직임의 참조처로서 이 정확하게 재현되어 있지 않은 입력 화상이 이용되면, 그 입력 화상의 재현 오차의 크기에 따라서는 움직임 벡터의 검출 정밀도도 떨어지게 된다. 그리고, 종래의 화상 부호화 장치에서는, 글로벌 움직임 벡터를 검출하기 위한 제2 검출부도 이 제1 칩에 배치되어 있기 때문에, 글로벌 움직임 벡터의 검출에서도 마찬가지의 검출 정밀도 저하의 문제가 있었다. 따라서, 본 실시예에서는, 상기 「소정 서치 범위」를 결정하기 위한 제2 검출부에서의 글로벌 움직임 벡터의 검출을, 입력 화상을 직접 이용하여 행할 수 있도록 이하와 같은 구성을 취한다. 즉, 상기 변환 처리부, 역변환 처리부, 제1 검출부가 배치된 제1 칩과는 별개로 설치된 제2 칩에 배치하는 것을 특징으로 한다.
「제2 검출부」(0221)는, 글로벌 매크로 블록 단위로 입력 화상 간에서의 글로벌 움직임 벡터를 검출하는 기능을 가진다. 「글로벌 매크로 블록」이란, 제1 검출부에서의 움직임 벡터의 검출 단위인 매크로 블록보다도 큰 블록을 말하는데, 그 크기는 적절히 설계에 의해 설정 가능하면 된다. 그리고, 이 글로벌 매크로 블록 단위로 검출된 글로벌 움직임 벡터가, 전술한 제1 검출부에서의 움직임 벡터 검출을 위한 서치 범위를 결정하기 위해 이용되게 된다.
도 4에 도시한 것은, 글로벌 움직임 벡터의 검출 처리의 일례에 대해서 설명하기 위한 개념도이다. 여기에서, 도 4에 있는 바와 같이, 예를 들면 프레임 (입력 화상) 2의 매크로 블록(α)이 프레임 1에서는 어디로 이동하고 있는지를 전술한 제1 검출부에서 탐색하기 위한, 이 제2 검출부에서의 글로벌 움직임 벡터의 검출 처리에 대해서 설명한다. 그것을 위해서, 우선, 제1 검출부에서 움직임 벡터를 검출하는 입력 화상의 식별 정보 「프레임 2」와, 그 매크로 블록(α)의 좌표 정보, 및 그 움직임처 탐색을 위한 참조용 입력 화상의 식별 정보 「프레임 1」이 제1 칩으로부터 제2 칩으로 송신된다. 제2 칩에서는, 수신한 그들 식별 정보나 좌표 정보 등에 기초하여, 이 도 4의 (a)에 있는 바와 같이, 우선 프레임 2에서의 매크로 블록(α)을 포함하는 글로벌 매크로 블록인 α'를 특정한다. 그리고 그 글로벌 매크로 블록(α')의 프레임 1에서의 움직임처를 탐색한다. 그래서 서치 범위로서 프레임 1의 화상 전체의 β'를 서치 범위로 하고, 그 범위 내에 있는 글로벌 매크로 블록과 동일 사이즈의 블록(γ'1)과 글로벌 매크로 블록(α')의 상관 계수를 구한다. 구체적으로는, 예를 들면 α'를 구성하는 화소와 γ'1을 구성하는 화소의, 대응 화소 간에서의 차분의 절대값의 총합을 구한다. 즉 이 상관 계수가 작을수록 α'와 γ'1의 화상을 구성하는 화소가 유사하다고 할 수 있다. 그리고, 「α'와 γ'2」, 「α'와 γ'3」, …… 「α'와 γ'X」라고 하는 방식으로 탐색 범위(β) 내를 소정의 화소 단위로 움직이면서 서치하고, 각각의 블록과의 상관 계수를 산출한다. 그리고 그 중에서 가장 작은 상관 계수를 얻는 블록을, 글로벌 매크로 블록(α')의 프레임 1에서의 이동처(γ')라고 특정한다. 또한, 이 상관 계수를 산출하기 위한 참조처의 입력 화상의 블록(γ'1, γ'2, …)은, 글로벌 매크로 블록과 동일한 사이즈를 갖는 블록을, 그 탐색 범위 내에서 소정의 화소 단위로 이동시킴으로써 얻어지는 블록이다. 그리고, 글로벌 매크로 블록(α')의 이동처(γ')에의 이동 방향과 이동량으로부터 글로벌 움직임 벡터가 검출된다고 하는 방식이다. 여기에서, 소정의 화소 단위란 1 화소·반화소·1/4 화소, 또는 2 화소·4 화소 등을 나타내고, 시스템 사양 상 요구되는 연산량과 벡터의 검출 정밀도에 따라서 값이 규정되면 된다. 물론 상기한 바와 같이 탐색 범위 내의 블록 모두의 상관 계수를 연산하는 검출 처리는 일례이고, 연산 부하를 낮추기 위해서 임의의 3개의 블록의 상관 계수를 구하고, 그 대소 관계로부터 이동처의 블록을 좁혀 들어가는, 소위 로 그 서치라고 불리는 처리 등으로 글로벌 움직임 벡터를 검출해도 된다. 또한, 글로벌 벡터를 검출하는 입력 화상으로서는 부호화의 대상으로 되는 원화상 외에, 원화상을 축소한 화상이어도 되고, 그 축소 비율은 시스템 사양 상에서 요구되는 연산의 처리량·메모리 용량·화상 사이즈 등에 따라서 적절히 설정된다.
그리고 본 실시예의 특징은, 이 상관 계수를 구하기 위한 참조처로 되는 프레임 「1」이, DCT나 양자화 등에 의한 변환 후에 역변환된 화상이 아닌 점이다. 그 때문에 정확한 입력 화상에서의 비교를 행할 수 있고, 나아가서는 정확한 글로벌 움직임 벡터를 검출할 수 있게 된다.
「서치 범위 결정부」(0222)는, 제2 검출부(0221)에서 검출된 글로벌 움직임 벡터를 이용하여, 제1 검출부에서 행하는 서치의 서치 범위를 결정하는 기능을 가진다. 이 서치 범위의 결정은, 예를 들면 검출된 글로벌 움직임 벡터로 나타나는 이동처를 중심으로 하는 소정의 범위를 서치 범위로 결정하는 방법이나, 제2 검출부에서 검출된 글로벌 매크로 블록의 이동처로 되는 블록 그 자체, 또는 그 블록을 소정 배율분 넓게 한 블록을 서치 범위로 결정하는 방법 등을 들 수 있다.
그리고, 이렇게 하여 종래 기술과 비교해서 더 정확한 글로벌 움직임 벡터에 기초하여 결정된 서치 범위를 나타내는 정보가 제1 검출부에 송신되고, 제1 검출부에서는 그 수신한 서치 범위 내에서 매크로 블록 단위의 움직임 벡터의 검출을 행할 수 있다. 따라서, 제1 검출부에서의 움직임 벡터 검출 처리에서, 그 매크로 블록의 이동처 탐색 범위를 한정할 수 있기 때문에, 장치 전체에서의 처리 부하를 억제할 수 있다. 또한, 이 서치 범위 결정부는, 제2 칩이 아니라 제1 칩에 구비되어 있어도 된다. 제2 검출부만 제1 칩과는 별개의 칩으로 구비되어 있으면, 종래와 비교해서 정확한 글로벌 움직임 벡터를 검출하는 것이 가능하기 때문이다.
〈실시예 1의 하드웨어 구성예〉 도 5에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 하드웨어 구성의 일례를 도시한 개략도이다. 이 도 5를 이용하여 글로벌 움직임 벡터의 검출 처리에서의 각각의 하드웨어 구성부의 기능에 대해서 설명한다. 또한, 여기서는 예로서, 항상 1 프레임 전의 화상을 참조 프레임으로 하고, 또한 글로벌 벡터를 검출하는 화상은, 부호화 대상의 입력 화상 그대로 축소 등 처리를 행하지 않는 것으로서 설명한다. 이 도 5에 있는 바와 같이, 본 실시예의 화상 부호화 장치는, 제1 검출부, 변환 처리부, 및 역변환 처리부의 기능을 구비하는 「제1 변환 칩」(0501)과, 제2 검출부, 및 서치 범위 결정부의 기능을 구비하는 「제2 변환 칩」(0502)이, 「연산기」와 「주메모리」를 각각 구비하고, 별개로 배치되어 있는 점을 특징으로 한다. 또한 고효율 부호화의 대상으로 되는 화상을 입력하는 「화상 입력 수단」(0503)이나, 그 입력 화상을 저장하는 「비디오 메모리」(0504), 변환 칩에 의해 부호화된 화상을 기억 장치 등에 출력하는 「출력 수단」(0505)도 구비하고 있다. 그리고 그들이 버스 등의 데이터 통신 경로에 의해 서로 접속되어, 정보의 송수신이나 처리를 행한다.
또한, 「비디오 메모리」는, 제1 변환 칩과 제2 변환 칩에서 공용되어도 되고, 각각이 별개로 비디오 메모리를 가지고 있어도 된다(도면은 공용의 비디오 메모리를 기재). 또한 제1 및 제2 변환 칩 내의 각각의 「주메모리」는, 연산기에서 실행하는 프로그램의 작업 영역인 워크 영역과, 그 프로그램에 의해 처리하기 위한 데이터를 저장하는 데이터 영역을 제공한다. 그리고, 이 「비디오 메모리」나 「주메모리」에는 복수의 메모리 어드레스가 할당되어 있고, 「연산기」에서 실행되는 프로그램은, 그 메모리 어드레스를 특정하여 액세스함으로써 서로 데이터의 교환을 행하고, 처리를 행하는 것이 가능하게 되어 있다.
여기서, 「화상 입력 수단」으로부터 고효율 부호화의 대상으로 되는 화상이 입력된다. 여기에서의 입력 화상은, 예를 들면 텔레비전 튜너에서 수신한 아날로그 방송파를 무압축으로 부호화한 동화상 데이터나, 디지털 비디오 카메라로 촬영한 무압축의 부호화 동화상 데이터 등 다양하여도 된다. 또는 고효율 부호화된 동화상 데이터를 전개한 부호화 동화상이어도 된다. 그리고, 여기에서 입력된 동화상을 구성하는 화상이 시스템 버스를 통해 비디오 메모리의 소정의 메모리 어드레스에, 예를 들면 메모리 어드레스 A에 입력 화상 1(동화상 데이터의 최초의 프레임), 메모리 어드레스 B에 입력 화상 2(동화상 데이터의 2번째 프레임), …와 같은 방식으로 저장된다.
그리고, 우선, 제2 변환 칩의 글로벌 움직임 벡터 검출 프로그램이 연산기 2에 의해 실행되고, 입력 화상 2의 각 글로벌 매크로 블록의 입력 화상 1에 대한 글로벌 움직임 벡터가 검출된다. 그 때문에, 예를 들면 미리 설정된 글로벌 매크로 블록의 화소 사이즈를 나타내는 정보 등에 기초하여 글로벌 움직임 벡터의 검출 대상으로 되는 글로벌 매크로 블록(α')의 좌표 정보가 순차 특정되고, 주메모리 2의 메모리 어드레스 d에 저장된다. 그리고, 전술한 상관 계수를 산출하기 위해서, 글로벌 매크로 블록의 화소 정보의 취득이 행해진다. 구체적으로는, 메모리 어드레 스 a에 저장된 입력 화상의 식별 정보 「2」와, 메모리 어드레스 d에 저장된 글로벌 매크로 블록의 좌표 정보에 기초하여, 「비디오 메모리에 저장되어 있는 입력 화상 「2」의 글로벌 매크로 블록(α') 내의 화소 정보를, 각각의 화소 식별 정보와 관련지어서 주메모리 2에 저장해라」라고 하는 방식의 명령이 연산기 2로부터 송출되어 실행된다.
또한, 마찬가지로 입력 화상 「1」의 블록(전술한 예에서는 γ'1, γ'2, … γ'X)의 좌표 정보의 특정, 및 그 특정에 기초한 화소 정보의 취득, 및 주메모리 2에의 저장도 행해진다. 계속해서, 「화소 식별 정보에 기초하여 「α'와 γ'1」의 대응하는 화소의 차분값을 얻고, 그 절대값의 총합을 연산하고, 그 연산 결과(상관 계수)를, 연산 대상으로 되는 입력 화상 「1」의 블록의 식별 정보와 관련지어서 주메모리 2의 메모리 어드레스 e에 저장해라」라는 프로그램 명령에 따라서, 연산기에서의 연산, 및 연산 결과의 메모리 어드레스 e에의 저장이 실행된다. 또한, 마찬가지의 연산 처리가 「α'와 γ'2」, 「α'와 γ'3」, … 「α'와 γ'X」에 관해서도 실행되고, 그 연산 결과가 주메모리의 메모리 어드레스 f, g, … x에 저장된다.
계속해서 프로그램의 명령, 「주메모리 2의 메모리 어드레스 e, f, g, … x에 각각 저장되어 있는 연산 결과(상관 계수)의 대소 비교를 행하고, 최소로 되는 상관 계수를 특정해라」에 따라서, 연산기 2의 연산 처리에 의한 대소 비교가 실행되어 그 최소를 얻는 상관 계수가 특정된다. 그리고, 「특정된 상관 계수를 얻는 블록의 식별 정보를 취득하고, 주메모리의 메모리 어드레스 10에 저장해라」라는 명령에 따라서, 그 상관 계수와 관련지어진 블록의 식별 정보가, 글로벌 매크로 블록 「α'」의, 프레임 1에서의 움직임처 블록을 나타내는 식별 정보 「γ」로서 취득되고, 주메모리 2의 메모리 어드레스 10에 저장된다. 그리고 「글로벌 매크로 블록과 움직임처로서 특정된 블록의 중심 좌표의 정보로부터 글로벌 움직임 벡터를 산출해서 주메모리 2의 메모리 어드레스 11에 저장해라」라고 한 명령에 따라서, 각각의 중심점의 좌표 정보로부터 연산기 2의 연산에 의해 글로벌 움직임 벡터가 산출되고, 주메모리 2의 메모리 어드레스 11에 저장된다. 그리고, 이 조작을 프레임 2의 전체의 글로벌 매크로 블록에 대해서 행하고, 프레임 2의 프레임 1에 대한 글로벌 움직임 벡터 테이블을 작성한다. 또한, 프레임 3이 입력되었을 때에는, 이상의 처리를 프레임 2와의 사이에서 행하고, 프레임 3의 프레임 2에 대한 글로벌 움직임 벡터 테이블을 작성한다고 하는 방식이다.
계속해서, 상기 작성되어 테이블로서 메모리 등에 유지되어 있는 글로벌 움직임 벡터를 이용한 매크로 블록에서의 움직임 벡터의 검출 처리가 행해진다. 그 때문에 제1 변환 칩의 연산기 1의 연산 처리에 의해 제1 화상 변환, 즉 입력 화상 1의 DCT 변환 처리나 양자화 처리 등이 행하여진다. 다음에 입력 화상 2의 DCT 변환 처리나 양자화 처리 등이 행하여지는데, 그 때에, 예를 들면 움직임 벡터의 검출 대상으로 되는 프레임(입력 화상)의 식별 정보 「2」와 매크로 블록(α)의 식별 정보나 그 좌표 정보, 또한 움직임 벡터 검출시의 참조처로 되는 프레임의 식별 정보 「1」이 특정되고, 그들 식별 정보가 시스템 버스 등을 통해 제2 변환 칩에 송신된다.
계속해서 이와 같이 하여 송신된 식별 정보나 좌표 정보가 주메모리의 메모리 어드레스 b, c 등에 저장되고, 그들 정보를 키로 하여, CPU에 의해 글로벌 움직임 벡터 테이블의 검색 처리가 실행된다. 그리고, 그 검색의 결과, 프레임 2의 글로벌 매크로 블록 「α'」에서의 프레임 1에 글로벌 움직임 벡터가 글로벌 움직임 벡터 테이블로부터 판독되고, 그 글로벌 움직임 벡터에 기초하여 소정 서치 범위의 산출 처리가 행해진다. 그리고 그 산출된 소정 서치 범위를 나타내는 정보 등이 버스 등을 통해 제1 변환 칩에 송신된다.
그리고 제1 칩에서는, 수신한 소정 서치 범위 내에서, 매크로 블록 「α」의 움직임 벡터의 검출 처리가 행해지고, 검출된 움직임 벡터에 기초하여 입력 화상의 고효율 부호화를 행한다고 하는 방식이다. 또한, 각각의 칩의 연산기 1 및 연산기 2가 물리적으로 별개인 연산기인 경우, 각각에서 처리되는 정보가 버스 등의 정보 송수신 경로 상에서 컨플릭트하지 않도록 그 정보의 흐름순 등이 제어기 등에 의해서 제어되는 구조로 되어 있으면 된다.
〈실시예 1의 처리의 흐름〉 도 6에 나타낸 것은, 본 실시예의 화상 부호화 장치의 제2 칩에서의 처리의 흐름의 일례를 나타내는 플로우차트이다. 또한, 이하에 나타내는 스텝은, 매체에 기록되어 계산기를 제어하기 위한 프로그램을 구성하는 처리 스텝이어도 된다. 이 도 6에 있는 바와 같이, 우선, 제2 칩에서, 변환 처리 전의 입력 화상의 각 글로벌 매크로 블록에서의 글로벌 움직임 벡터를 각각 검출하고, 글로벌 움직임 벡터 테이블을 작성한다(스텝 S0601). 계속해서, 제1 칩에서의 움직임 벡터 검출 처리에서의 검출 대상의 입력 화상이나 참조처로 되는 입력 화상, 또한 매크로 블록의 좌표 등을 특정하기 위한 정보를, 제2 칩에서 취득한다(스텝 S0602). 다음으로, 제2 칩에서, 상기 취득한 특정 정보에 기초하여 상기 글로벌 움직임 벡터 테이블을 참조하고, 움직임 벡터의 검출 대상으로 되는 매크로 블록을 포함하는 글로벌 매크로 블록의 글로벌 움직임 벡터를 취득하고(스텝 S0603), 그 글로벌 움직임 벡터에 기초하여 제1 칩에서의 움직임 벡터 검출을 위한 서치 범위를 결정한다(스텝 S0604). 그리고, 제1 칩에서, 상기 결정된 서치 범위 내에서 상기 검출 대상의 매크로 블록에서의 움직임 벡터를 검출한다(스텝 S0605).
〈실시예 1의 효과의 간단한 설명〉 이상과 같이, 본 실시예의 화상 부호화 장치에 의해 글로벌 움직임 벡터 검출 칩에서의 검출 처리시에, 비가역 압축되어 역변환된 입력 화상이 아니라, 입력 화상을 직접 참조 이용할 수 있다. 따라서, 참조처 화상의 재현 오차를 원인으로 하는 글로벌 움직임 벡터의 오검출을 없앨 수 있어, 종래보다도 정확한 글로벌 움직임 벡터의 검출을 가능하게 할 수 있다.
《실시예2》〈실시예 2의 개요〉 화상 간에서의 움직임량이 적은 동화상, 예를 들면 뉴스의 스튜디오 화상 등에서는 글로벌 움직임 벡터를 이용하지 않아도 연산량을 억제할 수 있을 가능성이 높다. 그래서 본 실시예의 화상 부호화 장치에서는, 실시예 1을 기본으로 하여, 그러한 상황에 따라 글로벌 움직임 벡터를 이용할지의 여부의 판단을 행하는 기능을 더 가진다. 이와 같이 판단 처리에 의해 글로벌 움직임 벡터를 이용하지 않고 움직임 벡터를 이용하여 입력 화상을 부호화하는 것은, 그 움직임 벡터를 이용한 화상 부호화 칩의 외부에 제2 검출부를 배치함으로써 용이하게 가능하게 할 수 있다.
〈실시예 2의 구성〉 도 7에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면이다. 이 도 7에 있는 바와 같이, 본 실시예의 「화상 부호화 장치」(0700)는, 실시예 1을 기본으로 하여, 「제1 칩」(0710)과, 「제2 칩」(0720)이 별개로 배치되어 있다. 그리고, 제1 칩은, 「변환 처리부」(0711)와, 「역변환 처리부」(0712)와, 「제1 검출부」(0713)를 가지고 있다. 또한, 제2 칩은 「제2 검출부」(0721)와, 「서치 범위 결정부」(0722)를 가지며 서로 독립해서 처리를 행하는 것을 가능하게 하고 있다. 또한, 이들 기능 블록에 대해서는 실시예 1에서 이미 기재하였기 때문에 그 설명은 생략한다. 그리고 본 실시예의 화상 부호화 장치의 특징점은, 「글로벌 움직임 벡터 이용 판단부」(0730)를 더 가지고 있는 점이다.
「글로벌 움직임 벡터 이용 판단부」(0730)는, 상기 글로벌 움직임 벡터를 이용할지, 이용하지 않을지를 판단하는 기능을 가진다. 이 판단은, 예를 들면 상기한 바와 같이 뉴스 프로그램이나 스포츠 프로그램 등 그 동화상 내용에 따른 판단 외에, 실시예 3에서 설명하는 동화상의 화상 사이즈에 따른 판단 등을 들 수 있다. 또한, 그 판단 기준으로 되는 정보는, 예를 들면 인터페이스를 통해 유저에게 입력하게 하는 동화상 내용 등의 정보나, 방송 프로의 녹화라면 전자 프로그램 표 등으로부터 취득 가능한 프로그램 장르 정보 등을 들 수 있다. 또는 동화상에서는 통상 중심 이외의 주위 부분에는 배경 등 움직이지 않는 피사체가 많다고 하는 전제에서, 우선 중심 부분의 글로벌 매크로 블록에서의 글로벌 움직임 벡터를 검출하고, 그 움직임량이 임계값 이하이면 화상 전체에서 글로벌 움직임 벡터를 이용하지 않는다고 판단한다고 하는 구성으로 하여도 된다.
또한, 이 글로벌 움직임 벡터 이용 판단부의 구체적인 구성예로서는, 예를 들면 유저 입력용이나 정보 취득용 인터페이스와 CPU로 구성되고, 인터페이스로부터 취득한 정보(예를 들면 동화상 내용의 장르를 나타내는 식별 정보 등)에 따라, CPU(중앙 연산 장치)에서 글로벌 움직임 벡터를 이용한다/하지 않는다의 판단 처리를 행하면 된다. 또한, 「글로벌 움직임 벡터를 이용하지 않는다」란, 예를 들면 제2 검출부에서 글로벌 움직임 벡터의 검출 자체를 행하지 않는 것이어도 되고, 또는, 제2 검출부에서의 검출은 실행하지만, 그 검출한 글로벌 움직임 벡터를 서치 범위 결정부에 대해 송출하지 않는 것이어도 된다. 또한, 서치 범위 결정부에의 송출은 행하지만, 거기에서의 서치 범위의 결정 처리가 행해지지 않는 것이어도 되고, 또는, 결정된 서치 범위를, 움직임 벡터 검출을 위한 제1 검출부에는 송출하지 않는 것이어도 된다. 그리고, 이러한 경우의 제1 검출부에서의 서치 범위는, 입력 화상 전체이거나, 또는 미리 설정된 소정의 서치 범위 등이 이용되거나 하면 된다.
〈실시예 2의 처리의 흐름〉 도 8에 나타낸 것은, 본 실시예의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트이다. 또한, 이하에 나타내는 스텝은, 매체에 기록되어 계산기를 제어하기 위한 프로그램을 구성하는 처리 스텝이어도 된다. 이 도 8에 있는 바와 같이, 우선, 글로벌 움직임 벡터의 검출 처리를 행할 것인지의 여부의 판단이 행해진다(스텝 S0801). 또한, 그 판단의 기준으로 되는 정보는, 전술한 바와 같이 장르 정보나 중앙부의 움직임 벡터 정보 등 여러 가지이어도 된다. 또한 그 취득도 인터페이스를 통해서 입력 취득하거나 전 자 프로그램 표로부터 자동으로 취득하거나 하는 등 다양하여도 된다. 그리고, 상기 판단 결과가 글로벌 움직임 벡터를 이용한다고 하는 것인 경우, 실시예 1에서 설명한 바와 같이 제2 칩에서 글로벌 움직임 벡터의 검출 처리(스텝 S0802), 및 그에 기초하는 서치 범위의 결정 처리가 행해진다(스텝 S0803). 그리고 그 결정된 서치 범위에 기초하여 탐색이 행해져서 움직임 벡터가 검출된다(스텝 S0805).
또한, 상기 판단 결과를 이용하지 않는다고 하는 것인 경우, 예를 들면 글로벌 움직임 벡터의 검출 처리나 서치 범위의 결정 처리는 행해지지 않고, 화상 전체를 서치 범위로 하는 등하여 제1 칩에서 매크로 블록의 움직임 벡터 검출 처리가 실행된다(스텝 S0804).
〈실시예 2의 효과의 간단한 설명〉 이상의 본 실시예의 화상 부호화 장치에 의해 글로벌 움직임 벡터의 검출 처리를 행할 것인지 여부의 상황에 따라 절환할 수 있다. 따라서, 매크로 블록의 움직임 벡터 검출 처리시에 경우에 따라서는 불필요하게 되는 글로벌 움직임 벡터 검출의 연산 처리를 생략할 수 있다. 따라서 장치의 연산 부하를 억제할 수 있고, 전력 소비의 저감이나, 그에 따른 환경에의 부하 저감도 실현할 수 있다.
《실시예 3》〈실시예 3의 개요〉 본 실시예의 화상 부호화 장치는, 실시예 2를 기본으로 하여, 상기 글로벌 움직임 벡터 이용 판단부에서의 판단이, 동화상의 화상 사이즈에 따라 행해지는 것을 특징으로 하는 화상 부호화 장치이다. 도 9에 도시한 것은, 이 동화상의 화상 사이즈에 따른 판단의 일례에 대해서 설명하기 위한 개략도이다. 이 도 9에 있는 바와 같이, 예를 들면 동화상의 화상 사이즈가 「 320×240」인 동화상 (a)과, 화상 사이즈가 「1920×1080」인 동화상 (b)에서는, 인사를 하며 상체를 숙인다고 하는 동일한 움직임이어도 파선으로 나타내는 그 화소 단위의 상체의 움직임량은 동화상 (b) 쪽이 훨씬 크다. 또한 2005년 현재의 동화상의 압축 변환에서의 움직임 벡터의 검출에서, 그 서치는 반화소, 또는 1/4 화소 단위이기 때문에 탐색량의 차는 더 크게 된다. 이와 같이, 동일한 동화상이어도 그 화상 사이즈에 따라 움직임 벡터의 서치 범위는 변하게 된다. 따라서, 본 실시예의 화상 부호화 장치에서는, 서치 범위가 화소(또는 반화소, 1/4 화소 등) 단위로는 커지지 않는 화상 사이즈의 동화상 데이터인 경우에는, 그 압축 변환 처리시에 글로벌 움직임 벡터를 이용하지 않는 판단을 행하는 기능을 갖추고 있다. 이에 따라 결과적으로 처리 부하의 경감이나 처리 스피드를 향상시킬 수 있다.
〈실시예 3의 구성〉 도 10에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면이다. 이 도 10에 있는 바와 같이, 본 실시예의 「화상 부호화 장치」(1000)는, 실시예 2을 기본으로 하여, 「제1 칩」(1010)과, 「제2 칩」(1020)이 별개로 배치되고, 또한, 「글로벌 움직임 벡터 이용 판단부」(1030)도 가지고 있다. 그리고, 제1 칩은, 「변환 처리부」(1011)와, 「역변환 처리부」(1012)와, 「제1 검출부」(1013)를 가지고 있다. 또한, 제2 칩은 「제2 검출부」(1021)와, 「서치 범위 결정부」(1022)를 가지며 서로 독립해서 처리를 행하는 것을 가능하게 하고 있다. 또한, 이들 기능 블록에 대해서는 실시예 1이나 2에서 이미 기재되어 있으므로 그 설명은 생략한다. 그리고 본 실시예의 화상 부호화 장치의 특징점은, 「화상 사이즈 취득부」(1040)를 더 갖고, 또한 그 글로벌 움직임 벡터 이용 판단부가 「화상 사이즈 의존 판단 수단」(1050)을 더 가지고 있는 점이다.
「화상 사이즈 취득부」(1040)는, 상기 입력 화상의 화상 사이즈를 취득하는 기능을 가진다. 또한, 이 화상 사이즈의 취득은, 예를 들면 동화상 취득시에 그 파일 정보 등으로부터 취득하면 된다. 또한 「화상 사이즈」란, 예를 들면 그 입력 화상을 구성하는 화소 수이어도 되고, 1 화소마다의 데이터량이 결정되어 있는 경우 등은 그 데이터량이어도 된다.
「화상 사이즈 의존 판단 수단」(1050)은, 화상 사이즈 취득부(1040)에서 취득한 화상 사이즈에 기초하여, 글로벌 움직임 벡터를 이용할지의 여부의 판단 처리를 행하는 기능을 가진다. 이는, 예를 들면 미리 「동화상의 세로 화면 사이즈의 임계값」, 또는 「동화상의 가로 화면 사이즈의 임계값」 등을 설정해 두고, 연산기에서 화상 사이즈 취득부로 취득한 화상 사이즈와 이 미리 설정된 임계값을 대소 비교함으로써 판단하는 등의 방법을 들 수 있다.
〈실시예 3의 하드웨어 구성예〉 도 11에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 하드웨어 구성의 일례를 도시한 개략도이다. 이 도 11을 이용하여 화상 사이즈에 의존한 글로벌 움직임 벡터의 이용 판단 처리에서의 각각의 하드웨어 구성부의 기능에 대해서 설명한다. 이 도 11에 있는 바와 같이, 본 실시예의 화상 부호화 장치는, 실시예 1과 마찬가지로 제1 검출부, 변환 처리부, 및 역변환 처리부의 기능을 구비하는 「제1 변환 칩」(0501)과, 제2 검출부, 및 서치 범위 결정부의 기능을 구비하는 「제2 변환 칩」(0502)이, 「연산기」와 「주메모리」를 각각 구비하고, 개별로 배치되어 있다. 또한 부호화하기 위한 화상, 및 그 화상 사이즈의 정보를 취득하는 「화상 입력 수단」(0503)이나, 그 입력 화상을 저장하는 「비디오 메모리」(0504), 변환 칩에 의해 부호화된 화상을 출력하는 「출력 수단」(0505)도 구비하고 있다. 그리고 그들이 배선이나 시스템 버스 등의 데이터 통신 경로에 의해 서로 접속되고, 정보의 송수신이나 처리를 행한다. 또한, 본 실시예에서는, 또한 글로벌 움직임 벡터를 이용할지의 여부의 판단 처리를 행하기 위한 연산기 3이나 그 연산기 3용의 주메모리 3 등도 시스템 버스 등을 통해 접속되어 있다.
물론, 각각의 「주메모리」는, 연산기에서 실행하는 프로그램의 작업 영역인 워크 영역과, 그 프로그램에 의해 처리하기 위한 데이터를 저장하는 데이터 영역을 제공하고, 또한, 이 「비디오 메모리」나 「주메모리」에는 복수의 메모리 어드레스가 할당되고, 「연산기」에서 실행되는 프로그램은, 그 메모리 어드레스를 특정하여 액세스함으로써 서로 데이터의 교환을 행하여, 처리를 행하는 것이 가능하게 되어 있다.
여기서, 「화상 입력 수단」으로부터 부호화될 화상이 입력된다. 그러면 그 입력 화상의 취득과 동시에, 그 동화상 데이터의 파일 정보에 포함되는 동화상의 화상 데이터 사이즈 「720×480(화소)」도 취득된다. 그리고, 이 입력 화상 취득을 트리거로 하여 화상 사이즈 의존 판단 프로그램이 실행되고, 그 명령에 의해 이 화상 데이터 사이즈의 정보 「720×480」이, 주메모리 3의 메모리 어드레스 b에 저장된다. 또한, 미리 유지되어 있는 임계값, 예를 들면 「가로 사이즈 640」, 「세 로 사이즈 480」, 등의 정보도 주메모리 3의 메모리 어드레스 a에 저장된다. 그리고, 주메모리 3의 메모리 어드레스 a와 b에 저장되어 있는 수치의 대소를 비교하고, 화상 데이터 사이즈가 임계값 이하인지 판단해라」라는 명령에 따라서, 연산기 3에 의해 수치 데이터의 대소 비교 처리가 행해진다. 그리고, 또한, 「대소 비교 결과가, 화상 데이터 사이즈가 임계값보다도 큰 것을 나타내는 경우, 제2 칩에서의 글로벌 움직임 벡터 검출 처리를 실행하기 위한 명령을 송출해라. 또는 대소 비교 결과가, 화상 데이터 사이즈가 임계값보다도 작은 것을 나타내는 경우, 제2 칩에서의 글로벌 움직임 벡터 검출 처리를 실행하지 않기 위한 명령을 송출해라.」와 같은 방식의 명령에 따라서, 그 대소 비교의 판단 결과에 따른 명령 송출 처리가 행해진다고 하는 방식이다.
〈실시예 3의 처리의 흐름〉 도 12에 나타낸 것은, 본 실시예의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트이다. 또한, 이하에 나타내는 스텝은, 매체에 기록되어 계산기를 제어하기 위한 프로그램을 구성하는 처리 스텝이어도 된다. 이 도 12에 있는 바와 같이, 우선, 입력 화상의 화상 사이즈를 취득한다(스텝 S1201). 계속해서, 취득한 화상 사이즈가 미리 설정 등 되어 있는 소정 사이즈(임계값) 이상인지의 여부의 판단 처리가 행해진다(스텝 S1202). 여기에서, 상기 판단 결과가 임계값 이상이라는 판단 결과인 경우, 글로벌 움직임 벡터의 검출 처리가 행해지고(스텝 S1203), 이에 기초하여 서치 범위가 결정된다(스텝 S1204). 그리고 그 결정된 서치 범위에 기초하여 탐색이 행해져서 움직임 벡터가 검출된다(스텝 S1205).
또한, 상기 판단 결과가 임계값 이하인 경우, 예를 들면 글로벌 움직임 벡터의 검출 처리나 서치 범위의 결정 처리는 행해지지 않고, 화상 전체를 서치 범위로 하는 등 해서 제1 칩에서 매크로 블록의 움직임 벡터 검출 처리가 실행된다(스텝 S1205).
〈실시예 3의 효과의 간단한 설명〉 이상의 본 실시예의 화상 부호화 장치에 의해 화상 사이즈에 따라 글로벌 움직임 벡터의 검출 처리를 행할 것인지의 여부에 따라 절환할 수 있다. 그 화상 사이즈를 나타내는 정보는, 동화상 데이터의 파일 정보에 통상 포함되어 있기 때문에, 이 화상 사이즈를 나타내는 정보는 자동적으로 취득되게 된다. 따라서 매크로 블록의 움직임 벡터 검출 처리시에 불필요하게 될 가능성이 높은 연산 처리를 자동적으로 생략할 수 있다. 따라서 실시예 2와 마찬가지로, 장치의 연산 부하를 억제할 수 있고, 전력 소비의 저감이나, 그에 따른 환경에의 부하 저감도 실현할 수 있다.
〈실시예 3의 그 밖의 실시예> 또한, 본 실시예의 화상 부호화 장치는, 「글로벌 매크로 블록 사이즈 결정부」를 더 구비하고 있어도 된다. 「글로벌 매크로 블록 사이즈 결정부」는, 화상 사이즈 취득부에서 취득한 화상 사이즈에 기초하여 글로벌 매크로 블록의 사이즈를 결정하는 기능을 가진다. 이 결정은, 예를 들면 화상 사이즈가 「320×240」 화소에서는 글로벌 매크로 블록의 사이즈를 「32×24」 화소, 화상 사이즈가 「1920×1080」 화소에서는 글로벌 매크로 블록의 사이즈를 「96×72」 화소로 하는 등의 대응 테이블을 이용하여 결정하는 방법이나, 화상 사이즈를 변수(x)로 하는 소정의 함수(f(x))를 이용하여 글로벌 매크로 블록의 사 이즈를 산출, 결정하는 방법 등을 들 수 있다. 그리고, 이와 같이 입력 화상의 화상 사이즈에 따라 글로벌 매크로 블록을 결정하는 기능을 더 구비함으로써, 본 실시예의 화상 부호화 장치는, 불필요한 연산 처리를 더욱 생략할 수 있어, 그 처리 부하를 저감시킬 수 있다. 또한, 「글로벌 매크로 블록 사이즈 결정부」로부터 산출된 값에 의해 축소 비율을 결정하고, 부호화 대상으로 되는 원화상으로부터 이 축소 비율로 축소 화상을 작성하고, 그 화상을 이용하여 글로벌 벡터 검출을 행함으로써, 처리량과 사용하는 메모리 용량을 더욱 저감하는 것이 가능하게 된다.
《실시예 4》〈실시예 4의 개요〉 도 13에 도시한 것은 종래의 화상 부호화 장치가 유지하는, 검출한 글로벌 움직임 벡터의 유지 테이블의 일례를 도시한 개념도이다. 이 도 13에 있는 바와 같이, 압축률과 화질 향상을 도모하는 최근의 처리에서는, 글로벌 움직임 벡터는 인접 프레임 간뿐만 아니라, 비인접의 임의의 2 프레임 간에서 검출하는 것이 요구된다. 그러한 경우, 화상 부호화 장치가 유지할 글로벌 움직임 벡터의 데이터 수는, 도 13의 테이블에 도시한 바와 같이 입력 화상의 수(또는 1매의 프레임 화상의 참조할 가능성이 있는 프레임 화상의 수)×글로벌 매크로 블록의 수로 된다. 그러나, 본 실시예의 화상 부호화 장치에서는, (비인접의) 임의의 2프레임 간에서의 글로벌 움직임 벡터를, 복수의 인접 글로벌 움직임 벡터의 누적 연산 등에 의해 의사적으로 산출함으로써, 그 유지할 글로벌 움직임 벡터의 수를 적게 할 수 있다.
도 14에 도시한 것은, 본 실시예의 화상 부호화 장치에서의, 비인접 2 프레임 간의 글로벌 움직임 벡터 산출 처리의 일례에 대해서 설명하기 위한 개념도이 다. 이 도 14에 있는 바와 같이, 본 실시예에서는 예를 들면 사선으로 나타낸 프레임 #5의 글로벌 매크로 블록의, 프레임 #1-#5 사이의 글로벌 움직임 벡터를 이하와 같이 하여 산출한다. 즉 프레임 #4-#5 사이의 글로벌 움직임 벡터(D)와, 프레임 #3-#4 사이의 글로벌 움직임 벡터(C)와, …와, 프레임 #1-#2 사이의 글로벌 움직임 벡터(A)를 누적 연산함으로써 산출한다.
이와 같이 본 실시예에서는, 인접 프레임 간에서의 글로벌 움직임 벡터를 유지해 두면 되기 때문에, 그 유지 데이터량을 삭감할 수 있다. 또한, 후술하는 바와 같이 글로벌 매크로 블록의 다음 프레임에서의 움직임처가 그 글로벌 매크로 블록과 완전하게 일치한다고 하는 케이스는 드물기 때문에, 그 경우에는, 예를 들면 주변 4개의 글로벌 매크로 블록에서의 글로벌 움직임 벡터값으로부터 바이리니어 보간 등으로 그 글로벌 움직임 벡터를 추정하면 된다.
〈실시예 4의 구성〉 도 15에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 기능 블록의 일례를 도시한 도면이다. 이 도 15에 있는 바와 같이, 본 실시예의 「화상 부호화 장치」(1500)는, 실시예 1을 기본으로 하여, 「제1 칩」(1510)과, 「제2 칩」(1520)이 별개로 배치되어 있다. 그리고, 제1 칩은, 「변환 처리부」(1511)와, 「역변환 처리부」(1512)와, 「제1 검출부」(1513)를 가지고 있다. 또한, 제2 칩은 「제2 검출부」(1521)와, 「서치 범위 결정부」(1522)를 가지며 서로 독립해서 처리를 행하는 것을 가능하게 하고 있다. 물론, 실시예 2나 3을 기본으로 하여 「글로벌 움직임 벡터 이용 판단부」등을 가지고 있어도 된다. 또한, 이들 기능 블록에 대해서는 실시예 1 등에서 이미 기재되어 있기 때문에 그 설명은 생략한다. 그리고 본 실시예의 화상 부호화 장치의 특징점은, 「프레임 특정 정보취득부」(1530)와, 「인접 글로벌 움직임 벡터 유지부」(1540)와, 「검출 프레임 간 글로벌 움직임 벡터 연산부」(1550)를 가지고 있는 점이다.
「프레임 특정 정보 취득부」(1530)는, 프레임 특정 정보를 취득하는 기능을 가진다. 「프레임 특정 정보」란, 부호화를 할 때에, 움직임 벡터를 이용하여 부호화할 프레임과, 움직임 벡터를 생성하기 위해 참조될 프레임을 특정하기 위한 정보를 말하며, 예를 들면, 그 부호화 대상 프레임 및 움직임 벡터의 참조처 프레임의 식별 정보 등을 들 수 있다. 그리고 본 실시예의 화상 부호화 장치는, 여기에서 취득되는 프레임 특정 정보로 특정되는 프레임 간의 글로벌 움직임 벡터를, 다음에서 설명하는 2개의 기능 블록의 작용에 의해 산출하게 된다.
「인접 글로벌 움직임 벡터 유지부」(1540)는, 인접 글로벌 움직임 벡터를 유지하는 기능을 가진다. 「인접 글로벌 움직임 벡터」란, 제2 검출부(1521)에서 검출되는 인접 프레임 간에서의 글로벌 움직임 벡터값을 말한다. 이 인접 글로벌 움직임 벡터 유지부는, 예를 들면 도 14에 도시한 바와 같은 글로벌 움직임 벡터의 테이블 데이터와 같이, 「글로벌 매크로 블록 2의 프레임 #1-#2 사이에서의 글로벌 움직임 벡터는 A」, 「글로벌 매크로 블록 2의 프레임 #2-#3 사이에서의 글로벌 움직임 벡터는 B」라고 하는 방식으로, 글로벌 매크로 블록마다의 인접 프레임 간에서의 글로벌 움직임 벡터의 데이터를 유지하고 있으면 된다. 이와 같이, 인접 프레임 간에서의 글로벌 움직임 벡터만 유지하고 있기 때문에, 본 실시예에서는, 임의의 프레임 간 모두의 글로벌 움직임 벡터를 유지하는 경우에 비해 그 유지 데이 터량을 삭감할 수 있다.
그리고, 비인접의 임의인 프레임 간에서의 글로벌 움직임 벡터가 필요해지는 경우에는, 다음의 「검출 프레임 간 글로벌 움직임 벡터 연산부」에서의 인접 글로벌 움직임 벡터에 기초하는 연산에 의해 그 비인접 프레임 간에서의 글로벌 움직임 벡터를 추정 검출하는 점이 본 실시예의 특징이다.
「검출 프레임 간 글로벌 움직임 벡터 연산부」(1550)는, 프레임 특정 정보로 특정되는 2개의 프레임 간의 글로벌 움직임 벡터를, 인접 글로벌 움직임 벡터 유지부(1540)에 유지되어 있는 복수의 인접 글로벌 움직임 벡터에 기초하여 연산하는 기능을 가진다. 「복수의 인접 글로벌 움직임 벡터에 기초하는 연산」이란, 예를 들면 인접 글로벌 움직임 벡터의 누적 연산이나, 인접 글로벌 움직임 벡터를 이용해 선형 보간 등으로 추정된 (추정) 인접 글로벌 움직임 벡터의 누적 연산 등을 들 수 있다. 예를 들면 도 14에 도시한 프레임 #5의 글로벌 매크로 블록 6의 (인접 프레임인) 프레임 #4에서의 움직임처가, 프레임 #4의 글로벌 매크로 블록 5와 완전하게 일치한다고 하는 방식으로 인접 프레임 간에서의 글로벌 매크로 블록의 움직임처가 그 매크로 블록과 완전하게 일치하는 경우에는, 프레임 #5-#3의 글로벌 움직임 벡터는, 단순하게 인접 글로벌 움직임 벡터인 D와 C를 가산함으로써 산출할 수 있다. 그러나, 통상 그러한 케이스는 드물다. 따라서, 본 실시예에서는 프레임 #5의 글로벌 매크로 블록 6의 움직임처를, 예를 들면 움직임처 근방의 글로벌 매크로 블록의 글로벌 움직임 벡터의 바이리니어 보간 등으로 추정하는 등의 처리를 행하고, 그 추정한 글로벌 움직임 벡터를 누적한다.
구체적으로는, 예를 들면 프레임 #5의 글로벌 매크로 블록 6의 인접 프레임 #4에서의 움직임처는, 메모리에 저장된 그 글로벌 움직임 벡터(D)를 이용하여 CPU의 연산에 의해 산출하는 것이 가능하다. 그리고 그 산출한 프레임 #4에서의 움직임처 위치(좌표) 정보를 이용하여, 예를 들면 4개의 글로벌 매크로 블록 「1」 「2」 「5」 「6」과 같은 방식으로 그 근방에 있는 글로벌 매크로 블록이 CPU의 연산 처리에 의해 선정된다. 그리고, 예를 들면 각각의 글로벌 매크로 블록의 중심 좌표와, 움직임처 중심 좌표의 거리 비율 등으로부터 각각의 가중 계수가 CPU의 연산 처리에 의해 산출된다. 그리고 각각의 글로벌 매크로 블록에서의 글로벌 움직임 벡터의 성분을, 각각의 가중 계수를 곱한 후에 누적하고, 그 평균을 CPU의 연산에 의해 산출함으로써, 선형 보간에 의해 추정된 프레임 #4의 움직임처에서의 글로벌 움직임 벡터를 연산할 수 있다고 하는 방식이다. 그리고 인접 프레임 간에서의 그 추정된 글로벌 움직임 벡터 등을 누적함으로써, 비인접의 프레임 간의 글로벌 움직임 벡터를 연산할 수 있다. 즉, 본 실시예의 화상 부호화 장치에 의해, 도 14에 도시한 바와 같은 정보량을 억제한 데이터 테이블만의 유지로, 비인접의 프레임 간의 글로벌 움직임 벡터를 연산하는 것이 가능하게 된다.
〈실시예 4의 처리의 흐름〉 도 16에 도시한 것은, 본 실시예의 화상 부호화 장치에서의 처리의 흐름의 일례를 나타내는 플로우차트이다. 또한, 이하에 나타내는 스텝은, 매체에 기록되어 계산기를 제어하기 위한 프로그램을 구성하는 처리 스텝이어도 된다. 또한, 제1 칩이나 제2 칩에서의 움직임 벡터의 검출 처리나 인접 글로벌 움직임 벡터의 검출 처리는, 실시예 1에서 설명한 처리와 마찬가지이기 때 문에 생략한다. 이 도 16에 있는 바와 같이, 우선, 인접 글로벌 움직임 벡터를 유지하기 위해 기록한다(스텝 S1601). 계속해서, 프레임 특정 정보를 취득한다(스텝 S1602). 그리고, 상기 스텝 S1602에서 취득한 프레임 특정 정보로 특정되는 2개의 프레임 간의 글로벌 움직임 벡터를, 상기 스텝 S1601에서 기록되어 유지되어 있는 복수의 인접 글로벌 움직임 벡터에 기초하여, 예를 들면 선형 보간을 이용한 추정이나 누적 등에 의해 연산한다(스텝 S1603).
〈실시예 4의 효과의 간단한 설명〉 이상의 본 실시예의 화상 부호화 장치에 의해, 인접 글로벌 간의 글로벌 움직임 벡터의 데이터 테이블만의 유지에 의해 유지 데이터량을 억제하면서, 임의의 비인접 프레임 간의 글로벌 움직임 벡터를 연산하는 것이 가능하게 된다.
〈실시예 4의 그 밖의 실시예〉 또한, 실시예 4의 화상 부호화 장치는 상기한 바와 같은 구성 이외에, 이하에 기재하는 것 같은 구성을 취해도 된다. 즉, 상기 화상 부호화 장치에서는, 인접 프레임 간의 글로벌 움직임 벡터를 이용하여 누적 연산 등 함으로써 비인접 프레임 간의 글로벌 움직임 벡터를 추정한다. 그러나, 그와는 반대로 비인접 프레임 간에서의 글로벌 움직임 벡터만을 유지해 두고, 그 비인접 글로벌 움직임 벡터를 이용하여 선형 보간 연산 등을 행하고, 인접 글로벌 움직임 벡터, 또는 상기 비인접 프레임 간과 시간적인 폭이 상이한 비인접 프레임 간에서의 글로벌 움직임 벡터를 추정 산출한다고 하는 기능을 구비한 화상 부호화 장치이다. 구체적으로는, 상기 실시예 4의 「인접 글로벌 움직임 벡터 유지부」 대신에 「비인접 글로벌 움직임 벡터 유지부」를 구비하는 화상 부호화 장치이 다. 또한, 반대로, 참조하는 비인접 프레임 간의 화상의 움직임이 똑같다고 가정하여, 「참조하는 비인접 프레임 간의 프레임 수×인접 프레임과의 글로벌 움직임 벡터」의 연산으로 구한 벡터값을, 참조하는 비인접 프레임 간의 글로벌 움직임 벡터로 해도 된다. 이러한 처리를 행함으로써, 글로벌 움직임 벡터 테이블의 참조 횟수를 줄이고, 처리량을 경감하는 것도 가능하다.

Claims (8)

  1. 삭제
  2. 입력 화상을, 움직임 벡터를 이용하여 부호화하는 부호화 장치로서,
    입력 화상 중의 소정 서치 범위를 변환-역변환 처리 화상의 매크로 블록 단위로 서치하여 상기 움직임 벡터를 검출하기 위한 제1 검출부;
    상기 매크로 블록보다도 큰 블록인 글로벌 매크로 블록 단위로 입력 화상 간에서의 글로벌 움직임 벡터를 검출하기 위한 제2 검출부;
    상기 제2 검출부에서 검출된 글로벌 움직임 벡터를 이용하여, 제1 검출부에서 행하는 서치의 서치 범위를 결정 가능한 서치 범위 결정부; 및
    상기 글로벌 움직임 벡터를 이용할지, 이용하지 않을지를 판단하는 글로벌 움직임 벡터 이용 판단부
    를 포함하는 화상 부호화 장치.
  3. 제2항에 있어서,
    상기 입력 화상의 화상 사이즈를 취득하는 화상 사이즈 취득부를 더 포함하고,
    상기 글로벌 움직임 벡터 이용 판단부는, 상기 화상 사이즈 취득부에서 취득한 화상 사이즈에 기초하여, 상기 판단 처리를 실행하는 화상 사이즈 의존 판단 수단을 포함하는 화상 부호화 장치.
  4. 제2항 또는 제3항 중 어느 한 항에 있어서,
    부호화를 할 때에, 움직임 벡터를 이용하여 부호화할 프레임과, 움직임 벡터를 생성하기 위해서 참조될 프레임을 특정하는 프레임 특정 정보를 취득하는 프레임 특정 정보 취득부와,
    제2 검출부에서 검출되는 글로벌 움직임 벡터로서 인접 프레임 간에서의 값인 인접 글로벌 움직임 벡터를 유지하는 인접 글로벌 움직임 벡터 유지부와,
    프레임 특정 정보로 특정되는 2개의 프레임 간의 글로벌 움직임 벡터를, 인접 글로벌 움직임 벡터 유지부에 유지되어 있는 복수의 인접 글로벌 움직임 벡터에 기초하여 연산하는 검출 프레임 간 글로벌 움직임 벡터 연산부
    를 더 포함하는 화상 부호화 장치.
  5. 삭제
  6. 변환-역변환 처리 화상의 매크로 블록 단위로 서치하여 검출된 움직임 벡터를 이용하여, 입력 화상을 부호화하는 부호화 방법으로서,
    상기 매크로 블록보다도 큰 블록인 글로벌 매크로 블록 단위로 입력 화상 간에서의 글로벌 움직임 벡터를 검출하는 제2 검출 단계;
    상기 제2 검출 단계에서 검출된 글로벌 움직임 벡터를 이용하여 상기 서치의 서치 범위를 결정하는 서치 범위 결정 단계;
    상기 결정된 서치 범위를 매크로 블록 단위로 서치하여 상기 움직임 벡터를 검출하는 제1 검출 단계; 및
    상기 글로벌 움직임 벡터를 이용할지, 이용하지 않을지를 판단하는 글로벌 움직임 벡터 이용 판단 단계
    를 계산기에 실행시키는 화상 부호화 방법.
  7. 제6항에 있어서,
    상기 입력 화상의 화상 사이즈를 취득하는 화상 사이즈 취득 단계; 및
    상기 화상 사이즈 취득 단계에서 취득한 화상 사이즈에 기초하여, 상기 글로벌 움직임 벡터를 이용할지, 이용하지 않을지를 판단하는 화상 사이즈 의존 판단 단계
    를 더 포함하는 화상 부호화 방법.
  8. 제6항 또는 제7항 중 어느 한 항에 있어서,
    부호화를 할 때에, 움직임 벡터를 이용하여 부호화할 프레임과, 움직임 벡터를 생성하기 위해 참조될 프레임을 특정하는 프레임 특정 정보를 취득하는 프레임 특정 정보 취득 단계;
    제2 검출 단계에서 검출되는 글로벌 움직임 벡터로서 인접 프레임 간에서의 값인 인접 글로벌 움직임 벡터를 유지하기 위해서 기록하는 인접 글로벌 움직임 벡터 기록 단계; 및
    프레임 특정 정보로 특정되는 2개의 프레임 간의 글로벌 움직임 벡터를 움직임 벡터 기록 단계에서 기록되어 유지되어 있는 복수의 인접 글로벌 움직임 벡터에 기초하여 연산하는 검출 프레임 간 글로벌 움직임 벡터 연산 단계를 더 포함하는 화상 부호화 방법.
KR20067026951A 2005-11-21 2006-01-17 화상 부호화 장치 및 화상 부호화 방법 KR100843418B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00335186 2005-11-21
JP2005335186A JP4606311B2 (ja) 2005-11-21 2005-11-21 画像符号化装置および画像符号化方法

Publications (2)

Publication Number Publication Date
KR20070088321A KR20070088321A (ko) 2007-08-29
KR100843418B1 true KR100843418B1 (ko) 2008-07-03

Family

ID=38048377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20067026951A KR100843418B1 (ko) 2005-11-21 2006-01-17 화상 부호화 장치 및 화상 부호화 방법

Country Status (7)

Country Link
US (1) US8300695B2 (ko)
EP (1) EP1954059A4 (ko)
JP (1) JP4606311B2 (ko)
KR (1) KR100843418B1 (ko)
CN (1) CN100571400C (ko)
TW (1) TWI343217B (ko)
WO (1) WO2007057985A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237233A1 (en) * 2006-04-10 2007-10-11 Anthony Mark Jones Motion compensation in digital video
JP5171675B2 (ja) * 2009-02-03 2013-03-27 三洋電機株式会社 画像処理装置、およびそれを搭載した撮像装置
JP2011135230A (ja) * 2009-12-22 2011-07-07 Panasonic Corp 画像符号化方法、画像符号化装置及び撮像システム
KR101666019B1 (ko) * 2010-08-03 2016-10-14 삼성전자주식회사 외삽 뷰 생성을 위한 장치 및 방법
JP5706264B2 (ja) 2011-08-01 2015-04-22 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
US10659724B2 (en) * 2011-08-24 2020-05-19 Ati Technologies Ulc Method and apparatus for providing dropped picture image processing
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
CN115379185B (zh) * 2018-08-09 2024-04-02 辉达公司 使用可变速率着色的运动自适应渲染
KR20200065367A (ko) * 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
EP3959889A4 (en) 2019-04-25 2022-07-20 OP Solutions, LLC CANDIDATES FOR ADAPTIVE PREDICTION OF MOTION VECTORS IN FRAMES WITH GLOBAL MOTION
JP2022529510A (ja) 2019-04-25 2022-06-22 オーピー ソリューションズ, エルエルシー 大域的運動を伴うフレームにおける選択的運動ベクトル予測候補

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753578B2 (ja) * 1999-12-07 2006-03-08 Necエレクトロニクス株式会社 動きベクトル探索装置および方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950024600A (ko) * 1994-01-31 1995-08-21 김광호 휘도신호적응 움직임 평가방법
JP3784086B2 (ja) * 1994-11-25 2006-06-07 三菱電機株式会社 映像信号符号化・復号化装置及び符号化・復号化方法
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
KR100289862B1 (ko) * 1997-10-16 2001-05-15 정선종 2차원병진움직임벡터와회기법을이용한전역움직임존재유무판정방법
JP2912614B1 (ja) * 1998-06-22 1999-06-28 株式会社菊水製作所 回転式粉末圧縮成形機
WO2000005899A1 (en) 1998-07-22 2000-02-03 Mitsubishi Denki Kabushiki Kaisha Image encoding system
JP4280353B2 (ja) 1999-03-19 2009-06-17 キヤノン株式会社 符号化装置、画像処理装置、符号化方法、及び記録媒体
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP4228705B2 (ja) 2003-01-27 2009-02-25 日本電気株式会社 動きベクトル探索方法および装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753578B2 (ja) * 1999-12-07 2006-03-08 Necエレクトロニクス株式会社 動きベクトル探索装置および方法

Also Published As

Publication number Publication date
CN100571400C (zh) 2009-12-16
WO2007057985A1 (ja) 2007-05-24
EP1954059A4 (en) 2010-10-06
TW200721847A (en) 2007-06-01
TWI343217B (en) 2011-06-01
EP1954059A1 (en) 2008-08-06
US8300695B2 (en) 2012-10-30
US20090268820A1 (en) 2009-10-29
JP4606311B2 (ja) 2011-01-05
CN101044765A (zh) 2007-09-26
JP2007142907A (ja) 2007-06-07
KR20070088321A (ko) 2007-08-29

Similar Documents

Publication Publication Date Title
KR100843418B1 (ko) 화상 부호화 장치 및 화상 부호화 방법
US8571106B2 (en) Digital video compression acceleration based on motion vectors produced by cameras
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
US9131218B2 (en) Video encoding method and video decoding method
US9351014B2 (en) Moving image encoding and decoding system
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
EP1950972A1 (en) Motion vector calculation device and motion vector calculation method
US20070025443A1 (en) Moving picture coding apparatus, method and program
JP4514203B2 (ja) 動きベクトル検出装置及び方法
US20120008685A1 (en) Image coding device and image coding method
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
US6370195B1 (en) Method and apparatus for detecting motion
US20080212719A1 (en) Motion vector detection apparatus, and image coding apparatus and image pickup apparatus using the same
JP2007124408A (ja) 動きベクトル検出装置および動きベクトル検出方法
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
US20080031335A1 (en) Motion Detection Device
US20090268822A1 (en) Motion vector detection by stepwise search
US6788741B1 (en) Device and method of retrieving high-speed motion
JP2008072608A (ja) 画像符号化装置及び画像符号化方法
JP2006014183A (ja) 画像符号化装置、画像符号化方法及びそのプログラム
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4590337B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2008258769A (ja) 画像符号化装置及びその制御方法、並びに、コンピュータプログラム
JP2008154085A (ja) 動画像符号化装置及び動画像符号化方法
JP4034180B2 (ja) 動画像圧縮符号化装置、及び動きベクトル検出方法

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20061221

Patent event code: PA01051R01D

Comment text: International Patent Application

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20070109

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20071210

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080529

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080626

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080626

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110527

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20120611

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20120611

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130531

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20150509