KR20160075828A - 화상 처리 장치 및 방법 - Google Patents

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20160075828A
KR20160075828A KR1020167015921A KR20167015921A KR20160075828A KR 20160075828 A KR20160075828 A KR 20160075828A KR 1020167015921 A KR1020167015921 A KR 1020167015921A KR 20167015921 A KR20167015921 A KR 20167015921A KR 20160075828 A KR20160075828 A KR 20160075828A
Authority
KR
South Korea
Prior art keywords
motion vector
unit
code number
information
image
Prior art date
Application number
KR1020167015921A
Other languages
English (en)
Other versions
KR101702822B1 (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 KR20160075828A publication Critical patent/KR20160075828A/ko
Application granted granted Critical
Publication of KR101702822B1 publication Critical patent/KR101702822B1/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/162User input

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

본 발명은, 보다 높은 부호화 효율을 달성할 수 있는 화상 처리 장치 및 방법에 관한 것이다. 예측 움직임 벡터 생성부(76)는, 공급된 주변의 움직임 벡터 정보를 사용하여, 복수 종류의 예측 움직임 벡터 정보를 생성하고, 각 예측 움직임 벡터 정보와, 그 예측 움직임 벡터 정보에 대하여, 코드 넘버 할당부(77)에 의해 할당되어 있는 코드 넘버를, 움직임 예측·보상부(75)에 공급한다. 코드 넘버 할당부(77)는, 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버를 할당했는지에 관한 코드 넘버 할당 정보를 예측 움직임 벡터 생성부(76) 및 가역 부호화부(66)에 공급한다. 본 기술은, 예를 들어 H.264/AVC 방식을 기초로 부호화하는 화상 부호화 장치에 적용할 수 있다.

Description

화상 처리 장치 및 방법{IMAGE PROCESSING DEVICE AND METHOD}
본 발명은 화상 처리 장치 및 방법에 관한 것으로, 특히 보다 높은 부호화 효율을 달성시킬 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
최근, 화상 정보를 디지털로서 취급하고, 그 때, 효율이 높은 정보의 전송, 축적을 목적으로 하여, 화상 정보 특유의 용장성을 이용하여, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 부호화 방식을 채용하여 화상을 압축 부호하는 장치가 보급되고 있다. 이 부호화 방식에는, 예를 들어 MPEG(Moving Picture Experts Group) 등이 있다.
특히, MPEG2(ISO/IEC 13818-2)는, 범용 화상 부호화 방식으로서 정의되고 있고, 비월 주사 화상 및 순차 주사 화상의 양쪽, 및 표준 해상도 화상 및 고정밀 화상을 망라하는 표준이다. 예를 들어, MPEG2는, 프로페셔널 용도 및 소비자 용도의 광범위한 어플리케이션에 현재 널리 사용되고 있다. MPEG2 압축 방식을 사용함으로써, 예를 들어 720×480 화소를 갖는 표준 해상도의 비월 주사 화상이면 4 내지 8Mbps의 부호량(비트 레이트)이 할당된다. 또한, MPEG2 압축 방식을 사용함으로써, 예를 들어 1920×1088 화소를 갖는 고해상도의 비월 주사 화상이면 18 내지 22 Mbps의 부호량(비트 레이트)이 할당된다. 이에 의해, 높은 압축률과 양호한 화질의 실현이 가능하다.
MPEG2는 주로 방송용에 적합한 고화질 부호화를 대상으로 하고 있었지만, MPEG1보다 낮은 부호량(비트 레이트), 즉 높은 압축률의 부호화 방식에는 대응하지 못하였다. 휴대 단말기의 보급에 의해, 향후 그러한 부호화 방식의 요구는 높아진다고 생각되며, 이것에 대응하여 MPEG4 부호화 방식의 표준화가 행해졌다. 화상 부호화 방식에 관해서는, 1998년 12월에 ISO/IEC 14496-2로서 그 규격이 국제 표준으로 승인되었다.
또한, 최근 당초 텔레비전 회의용의 화상 부호화를 목적으로 하여, H.26L(ITU-T Q6/16 VCEG)이라는 표준의 규격화가 진행되고 있다. H.26L은 MPEG2나 MPEG4와 같은 종래의 부호화 방식에 비해, 그 부호화, 복호화에 보다 많은 연산량이 요구되지만, 보다 높은 부호화 효율이 실현되는 것이 알려져 있다. 그 후, MPEG4의 활동의 일환으로서, 이 H.26L을 기초로, H.26L에서는 서포트되지 않은 기능도 도입하여, 보다 높은 부호화 효율을 실현하는 표준화가 Joint Model of Enhanced-Compression Video Coding으로서 행해지고 있다. 표준화의 스케줄로서는, 2003년 3월에는 H.264 및 MPEG-4 Part10(Advanced Video Coding, 이하H.264/AVC라고 기재한다)이라는 국제 표준으로 되어 있다.
또한, 그 확장으로서, RGB나 4:2:2, 4:4:4 등, 업무용에 필요한 부호화 툴이나, MPEG-2로 규정되어 있던 8×8DCT나 양자화 매트릭스도 포함한 FRExt(Fidelity Range Extension)의 표준화가 2005년 2월에 완료되었다. 이에 의해, H.264/AVC를 사용하여, 영화에 포함되는 필름 노이즈도 양호하게 표현하는 것이 가능한 부호화 방식으로 되어, Blu-Ray Disc(상표) 등의 폭넓은 어플리케이션에 사용되는 단계에 이르렀다.
그러나, 최근 하이비전 화상의 4배인, 4000×2000 화소 정도의 화상을 압축하고 싶거나, 혹은, 인터넷과 같은, 한정된 전송 용량의 환경에 있어서, 하이비전 화상을 배신하고 싶다는, 한층 더한 고압축률 부호화에 대한 요구가 높아지고 있다. 이로 인해, 상술한, ITU-T 산하의 VCEG(=Video Coding Expert Group)에 있어서, 부호화 효율의 개선에 관한 검토가 계속 행해지고 있다.
그런데, 예를 들어 MPEG2 방식에 있어서는, 선형 내부 삽입 처리에 의해 1/2 화소 정밀도의 움직임 예측·보상 처리가 행해지고 있다. 이에 반해, H.264/AVC 방식에 있어서는, 내부 삽입 필터로서, 6탭의 FIR(Finite Impulse Response Filter) 필터를 사용한 1/4 화소 정밀도의 예측·보상 처리가 행해지고 있다.
도 1은, H.264/AVC 방식에 있어서의 1/4 화소 정밀도의 예측·보상 처리를 설명하는 도면이다. H.264/AVC 방식에 있어서는, 6탭의 FIR(Finite Impulse Response Filter) 필터를 사용한 1/4 화소 정밀도의 예측·보상 처리가 행해지고 있다.
도 1의 예에 있어서, 위치 A는, 정수 정밀도 화소의 위치, 위치 b, c, d는, 1/2 화소 정밀도의 위치, 위치 e1, e2, e3은, 1/4 화소 정밀도의 위치를 나타내고 있다. 우선, 이하에 있어서는, Clip()을 다음 수학식 1과 같이 정의한다.
Figure pat00001
또한, 입력 화상이 8비트 정밀도인 경우, max_pix의 값은 255로 된다.
위치 b 및 d에 있어서의 화소값은, 6탭의 FIR 필터를 사용하여, 다음의 수학식 2와 같이 생성된다.
Figure pat00002
위치 c에 있어서의 화소값은, 수평 방향 및 수직 방향으로 6탭의 FIR 필터를 적용하여, 다음 수학식 3과 같이 생성된다.
Figure pat00003
또한, Clip 처리는, 수평 방향 및 수직 방향의 곱의 합 처리의 양쪽을 행한 후, 마지막으로 한번만 실행된다.
위치 e1 내지 e3은, 다음 수학식 4와 같이 선형 내부 삽입에 의해 생성된다.
Figure pat00004
또한, MPEG2 방식에 있어서는, 프레임 움직임 보상 모드의 경우에는, 16×16 화소, 필드 움직임 보상 모드의 경우에는, 제1 필드, 제2 필드 각각에 대하여, 16×8 화소를 단위로 하여 움직임 예측·보상 처리가 행해지고 있다.
이에 반해, H.264/AVC 방식의 움직임 예측 보상에 있어서는, 매크로 블록 크기는, 16×16 화소이지만, 블록 크기를 가변하게 하여, 움직임 예측·보상이 행해진다.
도 2는, H.264/AVC 방식에 있어서의 움직임 예측·보상의 블록 크기의 예를 도시하는 도면이다.
도 2의 상단에는, 좌측부터, 16×16 화소, 16×8 화소, 8×16 화소 및 8×8 화소의 파티션으로 분할된 16×16 화소로 구성되는 매크로 블록이 순서대로 도시되어 있다. 또한, 도 2의 하단에는, 좌측부터, 8×8 화소, 8×4 화소, 4×8 화소 및 4×4 화소의 서브 파티션으로 분할된 8×8 화소의 파티션이 순서대로 도시되어 있다.
즉, H.264/AVC 방식에 있어서는, 1개의 매크로 블록을, 16×16 화소, 16×8 화소, 8×16 화소, 혹은 8×8 화소의 어느 한 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 갖는 것이 가능하다. 또한, 8×8 화소의 파티션에 관해서는, 8×8 화소, 8×4 화소, 4×8 화소, 혹은 4×4 화소의 어느 한 서브 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 갖는 것이 가능하다.
또한, H.264/AVC 방식에 있어서는, 멀티 참조 프레임의 예측·보상 처리도 행해지고 있다.
도 3은, H.264/AVC 방식에 있어서의 멀티 참조 프레임의 예측·보상 처리를 설명하는 도면이다. H.264/AVC 방식에 있어서는, 멀티 참조 프레임(Multi-Reference Frame)의 움직임 예측·보상 방식이 정해져 있다.
도 3의 예에 있어서는, 앞으로 부호화될 대상 프레임 Fn과, 부호화가 완료된 프레임 Fn-5, …, Fn-1이 도시되어 있다. 프레임 Fn-1은, 시간축상, 대상 프레임 Fn의 1개 전의 프레임이며, 프레임 Fn-2는, 대상 프레임 Fn의 2개 전의 프레임이며, 프레임 Fn-3은, 대상 프레임 Fn의 3개 전의 프레임이다. 또한, 프레임 Fn-4는 대상 프레임 Fn의 4개 전의 프레임이며, 프레임 Fn-5는, 대상 프레임 Fn의 5개 전의 프레임이다. 일반적으로는 대상 프레임 Fn에 대하여 시간축상에 가까운 프레임일수록, 작은 참조 픽처 번호(ref_id)가 부가된다. 즉, 프레임 Fn-1이 가장 참조 픽처 번호가 작고, 이후 Fn-2, …, Fn-5의 순서대로 참조 픽처 번호가 작다.
대상 프레임 Fn에는, 블록 A1과 블록 A2가 나타나 있고, 블록 A1은, 2개 전의 프레임 Fn-2의 블록 A1'과 상관이 있다고 간주되어, 움직임 벡터 V1이 탐색되고 있다. 또한, 블록 A2는, 4개 전인 프레임 Fn-4의 블록 A1'과 상관이 있다고 간주되어, 움직임 벡터 V2가 탐색되고 있다.
이상과 같이, H.264/AVC 방식에 있어서는, 복수의 참조 프레임을 메모리에 저장해 두고, 1매의 프레임(픽처)에 있어서, 다른 참조 프레임을 참조하는 것이 가능하다. 즉, 예를 들어 블록 A1이 프레임 Fn-2를 참조하고, 블록 A2가 프레임 Fn-4를 참조하는 식으로, 1매의 픽처에 있어서, 블록마다 각각 독립된 참조 프레임 정보(참조 픽처 번호(ref_id))를 가질 수 있다.
여기서, 블록이란, 도 2를 참조하여 상술한 16×16 화소, 16×8 화소, 8×16 화소 및 8×8 화소의 파티션 중 어느 하나를 나타낸다. 8×8 서브블록 내에 있어서의 참조 프레임은 동일해야 한다.
이상과 같이, H.264/AVC 방식에 있어서는, 도 1을 참조하여 상술한 1/4 화소 정밀도의 움직임 예측·보상 처리 및 도 2 및 도 3을 참조하여 상술한 바와 동일한 움직임 예측·보상 처리가 행해짐으로써, 방대한 움직임 벡터 정보가 생성된다. 이 방대한 움직임 벡터 정보를 그대로 부호화하는 것은, 부호화 효율의 저하를 초래한다. 이에 반해, H.264/AVC 방식에 있어서는, 도 4에 도시하는 방법에 의해, 움직임 벡터의 부호화 정보의 저감이 실현되고 있다.
도 4는, H.264/AVC 방식에 의한 움직임 벡터 정보의 생성 방법에 대하여 설명하는 도면이다.
도 4의 예에 있어서, 앞으로 부호화될 대상 블록 E(예를 들어, 16×16 화소)와, 이미 부호화가 완료되고, 대상 블록 E에 인접하는 블록 A 내지 D가 나타나 있다.
즉, 블록 D는 대상 블록 E의 좌측 상부에 인접하고 있고, 블록 B는 대상 블록 E 위에 인접하고 있고, 블록 C는 대상 블록 E의 우측 상부에 인접하고 있으며, 블록 A는 대상 블록 E의 좌측에 인접하고 있다. 또한, 블록 A 내지 D가 구획되어 있지 않은 것은, 각각, 도 2에서 상술한 16×16 화소 내지 4×4 화소 중 어느 하나의 구성의 블록인 것을 나타내고 있다.
예를 들어, X(= A, B, C, D, E)에 대한 움직임 벡터 정보를, mvX로 표현한다. 우선, 대상 블록 E에 대한 예측 움직임 벡터 정보 pmvE는, 블록 A, B, C에 관한 움직임 벡터 정보를 사용하여, 메디안 예측에 의해 다음 수학식 5와 같이 생성된다.
Figure pat00005
블록 C에 관한 움직임 벡터 정보가, 화면 프레임의 단부이거나, 혹은 아직 부호화되어 있지 않다는 등의 이유에 의해, 이용 가능하지 않은(unavailable인) 경우가 있다. 이 경우에는, 블록 C에 관한 움직임 벡터 정보는, 블록 D에 관한 움직임 벡터 정보로 대용된다.
대상 블록 E에 대한 움직임 벡터 정보로서, 압축 화상의 헤더부에 부가되는 데이터 mvdE는, pmvE를 사용하여, 다음의 수학식 6과 같이 생성된다.
Figure pat00006
또한, 실제로는, 움직임 벡터 정보의 수평 방향, 수직 방향 각각의 성분에 대하여, 독립적으로 처리가 행해진다.
이와 같이, 예측 움직임 벡터 정보를 생성하고, 인접하는 블록과의 상관으로 생성된 예측 움직임 벡터 정보와 움직임 벡터 정보의 차분을, 압축 화상의 헤더부에 부가함으로써, 움직임 벡터 정보가 저감되고 있다.
또한, B 픽처에 관한 움직임 벡터 정보에 있어서의 정보량은 방대하지만, H.264/AVC 방식에 있어서는, 다이렉트 모드라고 불리는 모드가 준비되어 있다. 다이렉트 모드에서는, 움직임 벡터 정보는, 압축 화상 중에는 저장되지 않는다.
즉, 복호측에 있어서는, 대상 블록의 주변의 움직임 벡터 정보 또는 참조 픽처에 있어서, 대상 블록과 좌표가 동일한 블록인 Co-Located 블록의 움직임 벡터 정보로부터 대상 블록의 움직임 벡터 정보가 추출된다. 따라서, 움직임 벡터 정보를 복호측에 보낼 필요가 없다.
이 다이렉트 모드에는, 공간 다이렉트 모드(Spatial Direct Mode)와, 시간 다이렉트 모드(Temporal Direct Mode)의 2종류가 존재한다. 공간 다이렉트 모드는, 주로 공간 방향(픽처 내의 수평, 수직의 2차원 공간)의 움직임 정보의 상관을 이용하는 모드이며, 일반적으로 동일한 움직임이 포함되는 화상이고, 움직임의 속도가 변화하는 화상에서 효과가 있다. 한편, 시간 다이렉트 모드는, 주로 시간 방향의 움직임 정보의 상관을 이용하는 모드이며, 일반적으로 다른 움직임이 포함되는 화상이고, 움직임의 속도가 일정한 화상에서 효과가 있다.
이들 공간 다이렉트 모드와 시간 다이렉트 모드 중 어느 쪽을 사용할지는, 슬라이스마다 전환할 수 있다.
다시, 도 4를 참조하여, H.264/AVC 방식에 의한 공간 다이렉트 모드에 대하여 설명한다. 도 4의 예에 있어서는, 상술한 바와 같이, 앞으로 부호화될 대상 블록 E(예를 들어, 16×16 화소)와, 이미 부호화가 완료되고, 대상 블록 E에 인접하는 블록 A 내지 D가 나타나 있다. 그리고, 예를 들어 X(=A, B, C, D, E)에 대한 움직임 벡터 정보는, mvX로 표현된다.
대상 블록 E에 대한 예측 움직임 벡터 정보 pmvE는, 블록 A, B, C에 관한 움직임 벡터 정보를 사용하여, 메디안 예측에 의해 상술한 수학식 5와 같이 생성된다. 그리고, 공간 다이렉트 모드에서의 대상 블록 E에 대한 움직임 벡터 정보 mvE는, 다음 수학식 7로 표현된다.
Figure pat00007
즉, 공간 다이렉트 모드에서는, 메디안 예측에 의해 생성된 예측 움직임 벡터 정보가, 대상 블록의 움직임 벡터 정보로 된다. 즉, 대상 블록의 움직임 벡터 정보는, 부호화 완료 블록의 움직임 벡터 정보에 의해 생성된다. 따라서, 공간 다이렉트 모드에 의한 움직임 벡터는 복호측에서도 생성할 수 있으므로, 움직임 벡터 정보를 보낼 필요가 없다.
이어서, 도 5를 참조하여, H.264/AVC 방식에 있어서의 시간 다이렉트 모드에 대하여 설명한다.
도 5의 예에 있어서는, 시간축 t가 시간의 경과를 나타내고 있으며, 좌측부터 순서대로, L0(List0) 참조 픽처, 앞으로 부호화될 대상 픽처, L1(List1) 참조 픽처가 나타나 있다. 또한, L0 참조 픽처, 대상 픽처, L1 참조 픽처의 배열은, H.264/AVC 방식에 있어서는, 이 순서에 제한하지 않는다.
대상 픽처의 대상 블록은, 예를 들어 B 슬라이스에 포함되어 있다. 따라서, 대상 픽처의 대상 블록에 대해서는, L0 참조 픽처와 L1 참조 픽처에 대하여, 시간 다이렉트 모드에 기초하는 L0 움직임 벡터 정보 mvL0과 L1 움직임 벡터 정보 mvL1이 산출된다.
또한, L0 참조 픽처에 있어서, 앞으로 부호화될 대상 블록과 동일한 공간상의 어드레스(좌표)에 있는 블록인 Co-Located 블록에 있어서의 움직임 벡터 정보 mvcol은, L0 참조 픽처와 L1 참조 픽처에 기초하여 산출되어 있다.
여기서, 대상 픽처와 L0 참조 픽처의 시간축상의 거리를 TDB라 하고, L0 참조 픽처와 L1 참조 픽처의 시간축상의 거리를 TDD라 한다. 이 경우, 대상 픽처에 있어서의 L0 움직임 벡터 정보 mvL0와, 대상 픽처에 있어서의 L1 움직임 벡터 정보 mvL1은, 다음 수학식 8로 산출할 수 있다.
Figure pat00008
또한, H.264/AVC 방식에 있어서는, 압축 화상 중에는, 대상 픽처에 대한 시간축 t상의 거리 TDB, TDD에 상당하는 정보가 존재하지 않는다. 따라서, 거리 TDB, TDD의 실제로의 값으로서는, 픽처의 출력 순서를 나타내는 정보인 POC(Picture Order Count)가 사용된다.
또한, H.264/AVC 방식에 있어서는, 다이렉트 모드는, 16×16 화소 매크로 블록, 혹은 8×8 화소 블록 단위로 정의하는 것이 가능하다.
그런데, 도 4를 참조하여, 메디안 예측을 사용한 움직임 벡터의 부호화를 개선하기 위해, 비특허문헌 1에서는, 이하의 방법이 제안되고 있다.
즉, H.264/AVC 방식에 있어서 정의되어 있는, 상술한 수학식 5에 의해 구해지는 공간 예측 움직임 벡터 정보(Spatial Predictor) 외에, 도 6을 참조하여 설명하는 시간 예측 움직임 벡터 정보(Temporal Predictor) 및 시공간 예측 움직임 벡터 정보(Spatio-Temporal Predictor) 중 어느 하나를, 예측 움직임 벡터 정보로서, 적절하게 사용한다고 하는 제안이다.
도 6의 예에 있어서는, 부호화 대상의 대상 프레임인 프레임 N과, 움직임 벡터를 탐색할 때에 참조되는 참조 프레임인 프레임 N-1이 나타나 있다.
프레임 N에 있어서, 앞으로 부호화될 대상 블록에는, 대상 블록에 대한 움직임 벡터 정보 mv, 이미 부호화가 완료되고, 대상 블록에 인접하는 각 블록에는, 각 블록에 대한 움직임 벡터 정보 mva, mvb, mvc, mvd가 각각 나타나 있다.
구체적으로는, 대상 블록의 좌측 상부에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvd, 대상 블록 위에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvb가 나타나 있다. 대상 블록의 우측 상부에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvc, 대상 블록의 좌측에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mva가 나타나 있다.
프레임 N-1에 있어서, 대상 블록의 대응 블록(Co-Located block)에는, 대응 블록에 대한 움직임 벡터 정보 mvcol이 나타나 있다. 여기서, 대응 블록이란, 대상 프레임과는 다른, 부호화가 완료된 프레임(전 또는 후에 위치하는 프레임)의 블록이며, 대상 블록에 대응하는 위치의 블록이다.
또한, 프레임 N-1에 있어서, 대응 블록에 인접하는 각 블록에는, 각 블록에 대한 움직임 벡터 정보 mvt4, mvt0, mvt7, mvt1, mvt3, mvt5, mvt2, mvt6이 각각 나타나 있다.
구체적으로는, 대응 블록의 좌측 상부에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt4, 대응 블록 위에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt0이 나타나 있다. 대응 블록의 우측 상부에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt7, 대응 블록의 좌측에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt1이 나타나 있다. 대응 블록의 우측에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt3, 대응 블록의 좌측 하단에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt5가 나타나 있다. 대응 블록 아래에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt2, 대응 블록의 우측 하단에 인접하는 블록에는, 그 블록에 대한 움직임 벡터 정보 mvt6가 나타나 있다.
상술한 수학식 5의 예측 움직임 벡터 정보 pmv는, 대상 블록에 인접하는 블록의 움직임 벡터 정보에 의해 생성되었지만, 각각의 예측 움직임 벡터 정보 pmvtm 5, pmvtm9, pmvspt는, 다음 수학식 9 및 수학식 10과 같이 정의된다. 또한, 이 중, pmvtm5, pmvtm9가 시간 예측 움직임 벡터 정보이며, pmvspt가 시공간 예측 움직임 벡터 정보이다.
Figure pat00009
Figure pat00010
수학식 5, 수학식 9 및 수학식 10 중 어느 예측 움직임 벡터 정보를 사용할지는, 각각의 예측 움직임 벡터 정보를 사용한 경우의 비용 함수값이 산출되어, 선택된다. 그리고, 복호측에는, 각각의 블록에 대하여, 어느 예측 움직임 벡터 정보가 사용되었는지에 관한 정보를 나타내는 플래그가 전송된다.
또한, 상술한 도면이나 수식은, 적절히 본원의 설명으로서도 이용된다.
"Motion Vector Coding with Optimal PMV Selection", VCEG-AI22, ITU-Telecommunications Standardization Sector STUDY GROUP 16 Question 6, July 2008
그런데, 상술한 비특허문헌 1에서의 제안에 있어서, 어느 예측 움직임 벡터 정보에 대하여, 어느 코드 넘버를 할당할지는, 고정된 것으로 되어 있다.
여기서, H.264/AVC 방식에 있어서는, CAVLC(Context-Adaptive Variable Length Coding) 등의 가변장 부호화 또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 등의 산술 부호화 등의 가역 부호화 처리가 정해져 있다.
이들 CAVLC 방식 및 CABAC 방식의 경우 모두, 보다 출현 빈도가 높은 예측 움직임 벡터 정보에 대하여, 보다 작은 코드 넘버를 할당해야 하고, 각각의 예측 움직임 벡터 정보의 출현 빈도는, 시퀀스 및 비트 레이트마다 상이하다. 그러나, 이것이 고정된 것이기 때문에, 부호화 효율 개선의 방해가 되어 버릴 우려가 있었다.
본 발명은, 이러한 상황을 감안하여 이루어진 것이며, 보다 높은 부호화 효율을 달성할 수 있는 것이다.
본 발명의 일측면은, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 코드 넘버 할당부와, 처리 대상인 당해 영역의 주변 영역의 움직임 정보인 주변 움직임 정보를 사용하여, 당해 영역의 예측 움직임 벡터 정보를 생성하고, 생성된 상기 예측 움직임 벡터 정보에, 상기 코드 넘버 할당부에 의해 결정된 할당 방법에 따라, 상기 코드 넘버를 할당하는 예측 움직임 벡터 생성부를 구비하는 화상 처리 장치이다.
상기 코드 넘버 할당부는, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을, 예측 처리 단위의 영역마다 제어할 수 있다.
상기 코드 넘버 할당부는, 당해 영역이 정지 영역인 경우, 시간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어할 수 있다.
상기 예측 움직임 벡터 생성부는, 당해 영역이 정지 영역인 경우, 상기 시간 예측 움직임 벡터 정보만을 생성하고, 상기 시간 예측 움직임 벡터 정보에, 상기 코드 넘버 할당부에 의해 결정된 코드 넘버를 할당할 수 있다.
상기 코드 넘버 할당부는, 당해 영역이 동작 영역인 경우, 공간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어할 수 있다.
당해 영역이 정지 영역인지의 여부를 판정하는 정지 영역 판정부를 더 구비하고, 상기 코드 넘버 할당부는, 상기 정지 영역 판정부의 판정 결과에 따라, 당해 영역의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보를 사용하여 당해 영역이 정지 영역인지의 여부를 판정할 수 있다.
상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보의 수평 성분 및 상기 움직임 정보의 수직 성분의 각 절대값이 소정의 임계값 이하이며, 또한, 참조 인덱스가 0인 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스가 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역이 정지 영역이라고 판정할 수 있다.
상기 코드 넘버 할당부는, 유저에 의한 설정에 따라, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 부호화 효율을 올리도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 주관 화질을 최적으로 하도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 슬라이스마다, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버의 할당 방법이 변경 가능한 가변 모드인 것을 나타내는 플래그를 생성하는 플래그 생성부를 더 구비할 수 있다.
상기 예측 움직임 벡터 생성부는, 예측 모드마다 복수의 예측 움직임 벡터 정보를 생성하고, 상기 예측 모드마다, 상기 예측 움직임 벡터 생성부가 생성한 복수의 예측 움직임 벡터 정보 중에서 최적의 예측 움직임 벡터 정보를 선택하고, 당해 영역의 움직임 벡터와의 차분인 차분 움직임 벡터를 생성하는 차분 움직임 벡터 생성부와, 각 예측 모드 중에서 최적의 예측 모드를 판정하는 모드 판정부와, 상기 모드 판정부에 의해 판정된 예측 모드의 상기 차분 움직임 벡터 정보 및 상기 예측 모드의 예측 움직임 벡터 정보의 코드 넘버를 전송하는 전송부를 더 구비할 수 있다.
상기 모드 판정부에 의해 판정된 예측 모드의 상기 차분 움직임 벡터 정보 및 상기 예측 모드의 예측 움직임 벡터 정보의 코드 넘버를 부호화하는 부호화부를 더 구비하고, 상기 전송부는, 상기 부호화부에 의해 부호화된 상기 차분 움직임 벡터 정보 및 상기 예측 움직임 벡터 정보의 코드 넘버를 전송할 수 있다.
본 발명의 일측면은, 또한, 화상 처리 장치의 화상 처리 방법이며, 코드 넘버 할당부가, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하고, 예측 움직임 벡터 생성부가, 처리 대상인 당해 영역의 주변 영역의 움직임 정보인 주변 움직임 정보를 사용하여, 당해 영역의 예측 움직임 벡터 정보를 생성하고, 생성된 상기 예측 움직임 벡터 정보에, 결정된 할당 방법에 따라, 상기 코드 넘버를 할당하는 화상 처리 방법이다.
본 발명의 다른 측면은, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 코드 넘버 할당부와, 처리 대상인 당해 영역의 예측 움직임 벡터 정보의 코드 넘버를 취득하여, 상기 코드 넘버 할당부에 의해 결정된 할당 방법에 따라, 상기 코드 넘버로부터 상기 예측 움직임 벡터 정보를 재구축하는 예측 움직임 벡터 재구축부를 구비하는 화상 처리 장치이다.
상기 코드 넘버 할당부는, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을, 예측 처리 단위의 영역마다 제어할 수 있다.
상기 코드 넘버 할당부는, 당해 영역이 정지 영역인 경우, 시간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 당해 영역이 동작 영역인 경우, 공간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어할 수 있다.
당해 영역이 정지 영역인지의 여부를 판정하는 정지 영역 판정부를 더 구비하고, 상기 코드 넘버 할당부는, 상기 정지 영역 판정부의 판정 결과에 따라, 당해 영역의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보를 사용하여 당해 영역이 정지 영역인지의 여부를 판정할 수 있다.
상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보의 수평 성분 및 상기 움직임 정보의 수직 성분의 각 절대값이 소정의 임계값 이하이며, 또한, 참조 인덱스가 0인 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스가 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역이 정지 영역이라고 판정할 수 있다.
상기 코드 넘버 할당부는, 유저에 의한 설정에 따라, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 부호화 효율을 올리도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 주관 화질을 최적으로 하도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버 할당부는, 슬라이스마다, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
상기 코드 넘버의 할당 방법이 변경 가능한 가변 모드인 것을 나타내는 플래그를 취득하는 플래그 취득부를 더 구비하고, 상기 코드 넘버 할당부는, 상기 플래그 취득부에 의해 취득된 상기 플래그에 의해 상기 가변 모드인 것이 나타나는 경우, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어할 수 있다.
본 발명의 다른 측면은, 또한, 화상 처리 장치의 화상 처리 방법이며, 코드 넘버 할당부가, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하고, 예측 움직임 벡터 재구축부가, 처리 대상인 당해 영역의 예측 움직임 벡터 정보의 코드 넘버를 취득하여, 결정된 할당 방법에 따라, 상기 코드 넘버로부터 상기 예측 움직임 벡터 정보를 재구축하는 화상 처리 방법이다.
본 발명의 일측면에 있어서는, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법이 제어되고, 처리 대상인 당해 영역의 주변 영역의 움직임 정보인 주변 움직임 정보를 사용하여, 당해 영역의 예측 움직임 벡터 정보가 생성되고, 생성된 상기 예측 움직임 벡터 정보에, 결정된 할당 방법에 따라, 상기 코드 넘버가 할당된다.
본 발명의 다른 측면에 있어서는, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법이 제어되고, 처리 대상인 당해 영역의 예측 움직임 벡터 정보의 코드 넘버가 취득되어, 결정된 할당 방법에 따라, 코드 넘버로부터 예측 움직임 벡터 정보가 재구축된다.
또한, 상술한 화상 처리 장치 각각은, 독립된 장치이어도 좋고, 1개의 화상 부호화 장치 또는 화상 복호 장치를 구성하고 있는 내부 블록이어도 좋다.
본 발명에 의하면, 부호화 효율이나 주관 화질을 향상시킬 수 있다. 또한, 본 발명에 의하면, 보다 높은 부호화 효율을 달성할 수 있다.
도 1은 1/4 화소 정밀도의 움직임 예측·보상 처리를 설명하는 도면이다.
도 2는 가변 블록 크기 움직임 예측·보상 처리를 설명하는 도면이다.
도 3은 멀티 참조 프레임의 움직임 예측·보상 방식에 대하여 설명하는 도면이다.
도 4는 움직임 벡터 정보의 생성 방법의 예를 설명하는 도면이다.
도 5는 시간 다이렉트 모드를 설명하는 도면이다.
도 6은 예측 움직임 벡터 정보의 생성 방법의 예를 설명하는 도면이다.
도 7은 화상 부호화 장치의 일 실시 형태의 구성을 도시하는 블록도이다.
도 8은 지수 골롬(Golomb) 부호를 설명하는 도면이다.
도 9는 구문 요소와 부호 없음 코드 넘버의 대응 관계를 설명하는 도면이다.
도 10은 CABAC 부호화를 행하는 가역 부호화부의 구성예를 나타내는 블록도이다.
도 11은 CABAC 부호화를 설명하는 도면이다.
도 12는 2치화 테이블을 도시하는 도면이다.
도 13은 본 기술의 효과를 설명하는 도면이다.
도 14는 슬라이스 헤더의 구문을 설명하는 도면이다.
도 15는 도 7의 움직임 예측·보상부의 구성예를 도시하는 블록도이다.
도 16은 도 7의 화상 부호화 장치의 부호화 처리를 설명하는 흐름도이다.
도 17은 도 16의 스텝 S21의 인트라 예측 처리를 설명하는 흐름도이다.
도 18은 도 16의 스텝 S22의 인터 움직임 예측 처리를 설명하는 흐름도이다.
도 19는 도 18의 스텝 S53의 예측 움직임 벡터 결정 처리를 설명하는 흐름도이다.
도 20은 화상 복호 장치의 일 실시 형태의 구성을 도시하는 블록도이다.
도 21은 도 20의 움직임 예측·보상부의 구성예를 도시하는 블록도이다.
도 22는 도 20의 화상 복호 장치의 복호 처리를 설명하는 흐름도이다.
도 23은 도 22의 스텝 S138의 예측 처리를 설명하는 흐름도이다.
도 24는 화상 부호화 장치의 다른 실시 형태의 구성을 도시하는 블록도이다.
도 25는 확장 매크로 블록의 예를 나타내는 도면이다.
도 26은 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
도 27은 텔레비전 수상기의 주된 구성예를 도시하는 블록도이다.
도 28은 휴대 전화기의 주된 구성예를 도시하는 블록도이다.
도 29는 하드 디스크 레코더의 주된 구성예를 도시하는 블록도이다.
도 30은 카메라의 주된 구성예를 도시하는 블록도이다.
도 31은 코딩 유닛의 구성예를 설명하는 도면이다.
도 32는 화상 부호화 장치의 다른 구성예를 도시하는 블록도이다.
도 33은 인접 영역의 예를 설명하는 도면이다.
도 34는 움직임 예측·보상부 및 움직임 벡터 부호화부의 주된 구성예를 도시하는 블록도이다.
도 35는 인터 움직임 예측 처리의 흐름의 예를 설명하는 흐름도이다.
도 36은 화상 복호 장치의 다른 구성예를 도시하는 블록도이다.
도 37은 움직임 예측·보상부 및 움직임 벡터 복호부의 주된 구성예를 도시하는 블록도이다.
도 38은 예측 처리의 흐름의 예를 설명하는 흐름도이다.
도 39는 인터 움직임 예측 처리의 흐름의 예를 설명하는 흐름도이다.
이하, 도면을 참조하여 본 기술의 실시 형태에 대하여 설명한다.
[화상 부호화 장치의 구성예]
도 7은, 화상 처리 장치로서의 화상 부호화 장치의 일 실시 형태의 구성을 도시하고 있다.
이 화상 부호화 장치(51)는, 예를 들어 H.264 및 MPEG-4 Part10(Advanced Video Coding)(이하 H.264/AVC라고 기재한다) 방식을 기초로, 화상을 압축 부호화한다. 즉, 화상 부호화 장치(51)에 있어서는, H.264/AVC 방식에 있어서 규정되어 있는 움직임 보상 블록 모드가 사용된다.
도 7의 예에 있어서, 화상 부호화 장치(51)는, A/D 변환부(61), 화면 재배열 버퍼(62), 연산부(63), 직교 변환부(64), 양자화부(65), 가역 부호화부(66), 축적 버퍼(67), 역양자화부(68), 역직교 변환부(69), 연산부(70), 디블록 필터(71), 프레임 메모리(72), 스위치(73), 인트라 예측부(74), 움직임 예측·보상부(75), 예측 움직임 벡터 생성부(76), 코드 넘버 할당부(77), 예측 화상 선택부(78) 및 레이트 제어부(79)에 의해 구성되어 있다.
A/D 변환부(61)는, 입력된 화상을 A/D 변환하고, 화면 재배열 버퍼(62)에 출력하여, 기억시킨다. 화면 재배열 버퍼(62)는, 기억한 표시의 순서의 프레임의 화상을, GOP(Group of Picture)에 따라, 부호화를 위한 프레임의 순서로 재배열된다.
연산부(63)는, 화면 재배열 버퍼(62)로부터 판독된 화상으로부터, 예측 화상 선택부(78)에 의해 선택된 인트라 예측부(74)로부터의 예측 화상 또는 움직임 예측·보상부(75)로부터의 예측 화상을 감산하고, 그 차분 정보를 직교 변환부(64)에 출력한다. 직교 변환부(64)는, 연산부(63)로부터의 차분 정보에 대하여, 이산 코사인 변환, 카루넨 루베 변환 등의 직교 변환을 실시하여, 그 변환 계수를 출력한다. 양자화부(65)는 직교 변환부(64)가 출력하는 변환 계수를 양자화한다.
양자화부(65)의 출력이 되는, 양자화된 변환 계수는, 가역 부호화부(66)에 입력되고, 여기에서 가변장 부호화, 산술 부호화 등의 가역 부호화가 실시되어, 압축된다.
가역 부호화부(66)는, 인트라 예측을 나타내는 정보를 인트라 예측부(74)로부터 취득하고, 인터 예측 모드를 나타내는 정보 등을 움직임 예측·보상부(75)로부터 취득한다. 또한, 인트라 예측을 나타내는 정보 및 인터 예측을 나타내는 정보는, 이하, 각각 인트라 예측 모드 정보 및 인터 예측 모드 정보라고도 칭한다.
가역 부호화부(66)는, 양자화된 변환 계수를 부호화함과 함께, 인트라 예측을 나타내는 정보, 인터 예측 모드를 나타내는 정보 등을 부호화하고, 압축 화상에 있어서의 헤더 정보의 일부로 한다. 가역 부호화부(66)는, 부호화된 데이터를 축적 버퍼(67)에 공급하여 축적시킨다.
예를 들어, 가역 부호화부(66)에 있어서는, 가변장 부호화 또는 산술 부호화 등의 가역 부호화 처리가 행해진다. 가변장 부호화로서는, H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(67)는, 가역 부호화부(66)로부터 공급된 데이터를, H.264/AVC 방식으로 부호화된 압축 화상으로서, 예를 들어 후단의 화상 복호 장치, 도시하지 않은 기록 장치나 전송로 등에 출력한다.
또한, 양자화부(65)로부터 출력된, 양자화된 변환 계수는, 역양자화부(68)에도 입력되어, 역양자화된 후, 또한 역직교 변환부(69)에 있어서 역직교 변환된다. 역직교 변환된 출력은 연산부(70)에 의해 예측 화상 선택부(78)로부터 공급되는 예측 화상과 가산되어, 국부적으로 복호된 화상으로 된다. 디블록 필터(71)는, 복호된 화상의 블록 왜곡을 제거한 후, 프레임 메모리(72)에 공급하여, 축적시킨다. 프레임 메모리(72)에는, 디블록 필터(71)에 의해 디블록 필터 처리되기 전의 화상도 공급되어, 축적된다.
스위치(73)는 프레임 메모리(72)에 축적된 참조 화상을 움직임 예측·보상부(75) 또는 인트라 예측부(74)에 출력한다.
이 화상 부호화 장치(51)에 있어서는, 예를 들어 화면 재배열 버퍼(62)로부터의 I 픽처, B 픽처 및 P 픽처가, 인트라 예측(인트라 처리라고도 칭한다)하는 화상으로서, 인트라 예측부(74)에 공급된다. 또한, 화면 재배열 버퍼(62)로부터 판독된 B 픽처 및 P 픽처가, 인터 예측(인터 처리라고도 칭한다)하는 화상으로서, 움직임 예측·보상부(75)에 공급된다.
인트라 예측부(74)는, 화면 재배열 버퍼(62)로부터 판독된 인트라 예측하는 화상과 프레임 메모리(72)로부터 공급된 참조 화상에 기초하여, 후보가 되는 모든 인트라 예측 모드의 인트라 예측 처리를 행하여, 예측 화상을 생성한다. 그 때, 인트라 예측부(74)는, 후보가 되는 모든 인트라 예측 모드에 대하여 비용 함수값을 산출하고, 산출한 비용 함수값이 최소값을 부여하는 인트라 예측 모드를, 최적 인트라 예측 모드로서 선택한다.
인트라 예측부(74)는, 최적 인트라 예측 모드에서 생성된 예측 화상과 그 비용 함수값을, 예측 화상 선택부(78)에 공급한다. 인트라 예측부(74)는, 예측 화상 선택부(78)에 의해 최적 인트라 예측 모드에서 생성된 예측 화상이 선택된 경우, 최적 인트라 예측 모드를 나타내는 정보를, 가역 부호화부(66)에 공급한다. 가역 부호화부(66)는, 이 정보를 부호화하여, 압축 화상에 있어서의 헤더 정보의 일부로 한다.
움직임 예측·보상부(75)에는, 화면 재배열 버퍼(62)로부터 판독된 인터 처리하는 화상과, 스위치(73)를 통하여 프레임 메모리(72)로부터 참조 화상이 공급된다. 움직임 예측·보상부(75)는, 후보가 되는 모든 인터 예측 모드의 움직임 탐색(예측)을 행하고, 탐색한 움직임 벡터를 사용하여, 참조 화상에 보상 처리를 실시하여, 예측 화상을 생성한다.
움직임 예측·보상부(75)는, 탐색한 움직임 벡터를 사용하여, 후보가 되는 모든 인터 예측 모드에 대하여 비용 함수값을 산출한다. 그 때, 움직임 예측·보상부(75)는, 예측 움직임 벡터 생성부(76)에 의해 생성된 복수 종류의 예측 움직임 벡터 정보와 그것에 할당된 코드 넘버를 사용하여, 비용 함수값을 산출한다.
움직임 예측·보상부(75)는, 후보가 되는 각 인터 예측 모드의 각 블록에 있어서, 비용 함수값이 최소값을 부여하는 예측 움직임 벡터 정보를 선택한다. 또한, 움직임 예측·보상부(75)는, 각 블록에 대하여 선택한 예측 움직임 벡터 정보에서의 후보가 되는 인터 예측 모드의 비용 함수값을 비교함으로써, 최소값을 부여하는 인터 예측 모드를, 최적 인터 예측 모드로서 결정한다. 그리고, 움직임 예측·보상부(75)는, 최적 인터 예측 모드에서 생성된 예측 화상과 그 비용 함수값을, 예측 화상 선택부(78)에 공급한다.
움직임 예측·보상부(75)는, 예측 화상 선택부(78)에 의해 최적 인터 예측 모드에서 생성된 예측 화상이 선택된 경우, 최적 인터 예측 모드를 나타내는 정보(인터 예측 모드 정보)를 가역 부호화부(66)에 출력한다.
이때, 움직임 벡터 정보와 예측 움직임 벡터 정보의 차분인 차분 움직임 벡터 정보와, 그 예측 움직임 벡터 정보에 대한 코드 넘버 등도 가역 부호화부(66)에 출력된다. 가역 부호화부(66)는, 움직임 예측·보상부(75)로부터의 정보를 역시 가변장 부호화, 산술 부호화라고 한 가역 부호화 처리하여, 압축 화상의 헤더부에 삽입한다.
예측 움직임 벡터 생성부(76)에는, 움직임 예측·보상부(75)로부터, 대상으로 되는 블록의 주변 블록에서 이미 요구되고 있는 움직임 벡터 정보가 공급된다. 또한, 주변 블록이란, 공간적뿐만 아니라, 시공간적으로 주변인 블록, 즉, 대상 프레임의 시간적으로 1개 전의 프레임에 있어서 공간적으로 주변인 블록도 포함한다.
예측 움직임 벡터 생성부(76)는, 공급된 주변의 움직임 벡터 정보를 사용하여, 상술한 수학식 5, 수학식 9 및 수학식 10 등에 의해, 복수 종류의 예측 움직임 벡터 정보를 생성한다. 그리고, 예측 움직임 벡터 생성부(76)는, 각 예측 움직임 벡터 정보와, 그 예측 움직임 벡터 정보에 대하여, 코드 넘버 할당부(77)에 의해 할당되어 있는 코드 넘버를, 움직임 예측·보상부(75)에 공급한다.
코드 넘버 할당부(77)는, 도시하지 않은 조작 입력부 등을 통하여 유저가 설정함으로써, 혹은, 어플리케이션의 설정에 따라, 각 예측 움직임 벡터 정보에 대한 코드 넘버를 할당한다. 그리고, 코드 넘버 할당부(77)는, 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버를 할당했는지에 관한, 예측 움직임 벡터 정보와 코드 넘버의 대응 관계를 나타내는 코드 넘버 할당 정보를, 예측 움직임 벡터 생성부(76) 및 가역 부호화부(66)에 공급한다. 또한, 코드 넘버 할당부(77)는, 예측 움직임 벡터 정보에 대하여 코드 넘버의 할당의 변경 가능한 가변 모드인지, 디폴트의 설정을 사용하는 고정 모드인지를 나타내는 플래그 정보를 생성하고, 생성된 플래그 정보도 가역 부호화부(66)에 공급한다.
예측 화상 선택부(78)는, 인트라 예측부(74) 또는 움직임 예측·보상부(75)로부터 출력된 각 비용 함수값에 기초하여, 최적 인트라 예측 모드와 최적 인터 예측 모드로부터, 최적 예측 모드를 결정한다. 그리고, 예측 화상 선택부(78)는, 결정된 최적 예측 모드의 예측 화상을 선택하고, 연산부(63, 70)에 공급한다. 이때, 예측 화상 선택부(78)는, 예측 화상의 선택 정보를, 인트라 예측부(74) 또는 움직임 예측·보상부(75)에 공급한다.
레이트 제어부(79)는, 축적 버퍼(67)에 축적된 압축 화상에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(65)의 양자화 동작의 레이트를 제어한다.
[H.264/AVC 방식의 설명]
우선, 화상 부호화 장치(51)에 있어서 기초로 되어 있는 H. 264/AVC 방식에 있어서의, 종래 기술에서 상술한 것 이외에 대하여 재차 설명한다.
H.264/AVC 방식에 있어서는, 도 7에서 상술한 바와 같이, 가변장 부호화로서, CAVLC와 CABAC 중 어느 하나를 사용하는 것이 가능하다.
우선, CAVLC 방식에 대하여 설명한다. CAVLC에 있어서는, 직교 변환 계수의 부호화에는, 주변 블록에 있어서의 직교 변환 계수의 발생에 따라 전환된 VLC 테이블이 사용된다. 그 밖의 구문 요소의 부호화에 관해서는, 도 8에 도시되는 지수 골롬(Exponential Golomb) 부호가 사용된다.
도 8의 지수 골롬 부호에 있어서는, 예를 들어 코드 넘버(Code Number) 0과 부호어(Code Words) 1이 대응하고 있고, 코드 넘버 1과 부호어 010이 대응하고 있고, 코드 넘버 2와 부호어 011이 대응하고 있다. 또한, 코드 넘버 3과 부호어 00100이 대응하고 있고, 코드 넘버 4와 부호어 00101이 대응하고 있고, 코드 넘버 5와 부호어 00110이 대응하고 있고, 코드 넘버 6과 부호어 00111이 대응하고 있다.
또한, 움직임 벡터와 같은 구문 요소에 관해서는, 음의 값이 발생할 가능성이 있다. 따라서, 음의 값이 발생할 가능성이 있는 구문 요소의 경우, 도 9에 도시되는 대응 관계에 기초하여, 부호 없음의 코드 넘버로 치환된 후에, 그 부호화에, 도 8의 지수 골롬 부호가 사용된다.
도 9에는, 코드 넘버와, 구문 요소 v의 대응 관계가 도시되어 있다. 즉, 이 대응 관계에 기초함으로써, 예를 들어 구문 요소 v=0이, 코드 넘버 0으로 치환되고, 구문 요소 v=1이, 코드 넘버 1로 치환되고, 구문 요소 v=-1이, 코드 넘버 2로 치환된다. 또한, 구문 요소 v=2가, 코드 넘버 3으로 치환되고, 구문 요소 v=-2이, 코드 넘버 4로 치환되고, 구문 요소 v=3이, 코드 넘버 5로 치환된다.
이어서, CAVLC에 의한 직교 변환 계수의 부호화 처리에 대하여 설명한다.
첫째, 1차원 화된 직교 변환 계수가, 고역으로부터 저역을 향하여 스캔된다. 둘째, 이 결과 얻어지는 NumCoef(0이 아닌 계수의 개수)와, T1s(고역으로부터 저역으로 스캔했을 때의, ±1의 계수의 개수, 최대한 3)의 부호화가 행해진다. 그 때, 주변 블록에 있어서의 NumCoef에 따라 VLC 테이블이 전환된다.
세째, Level(DCT계수값)의 부호화가 행해진다. 예를 들어, T1s에 관해서는, 정/부만이 부호화된다. 그 밖의 계수에 관해서는, 코드 넘버(Code Number)가 할당되어 부호화된다. 이때, 인트라/인터, 양자화 파라미터 QP 및 마지막으로 부호화된 Level에 따라 VLC 테이블이 전환된다.
네째, Run의 부호화가 행해진다. 이때, TotalZero의 부호화에 있어서, NumCoef에 따라 VLC 테이블의 전환이 행해진다. 또한, Run_before(비0 계수 앞에 이어지는 0의 수)의 부호화가 순차 행해진다. 이 부호화에 있어서는, ZerosLeft(나머지의 비0 계수의 수)에 따라 VLC 테이블의 전환이 행해진다. 그리고, ZerosLeft=0에서 부호화 처리는 종료된다.
이어서, CABAC 방식에 대하여 설명한다.
도 10은, CABAC 부호화를 행하는 가역 부호화부의 구성예를 도시하고 있다. 도 10의 예에 있어서, 가역 부호화부는, 컨텍스트 모델화부(81), 2치화부(82), 및 확률 추정부(83a) 및 부호화 엔진(83b)으로 이루어지는 적응 2치 산술 부호화부(83)에 의해 구성되어 있다.
컨텍스트 모델화부(81)는, 압축 화상에 있어서의 임의의 구문 요소에 관하여, 우선 과거의 이력에 따라, 구문 요소의 심볼(기호)을 적절한 컨텍스트 모델로 변환한다. CABAC 부호화에 있어서는, 다른 구문 요소는, 다른 컨텍스트에 의해 부호화가 이루어진다. 또한, 동일한 구문 요소이어도, 주변 블록 또는 매크로 블록에 있어서의 부호화 정보에 따라 다른 컨텍스트에 의해 부호화가 이루어진다.
예를 들어, 도 11을 참조하여, 플래그 mb_skip_flag를 예로 들어 설명하지만, 다른 구문 요소에 대한 처리에 대해서도 마찬가지이다.
도 11의 예에 있어서, 앞으로 부호화될 대상 매크로 블록 C와, 이미 부호화가 완료된 블록이며, 대상 매크로 블록 C에 인접하는 인접 매크로 블록 A 및 B가 나타나 있다. 각각의 매크로 블록 X(X=A, B, C)에 대하여, 플래그 mb_skip_flag가 정의되어 있으며, 다음 수학식 11과 같다.
Figure pat00011
즉, 매크로 블록 X가, 참조 프레임이 공간적으로 대응하는 위치의 화소를 그대로 사용하는 스킵 매크로 블록인 경우, f(X)는 1로 되고, 그렇지 않은 경우, 0으로 된다.
이때, 대상 매크로 블록 C에 대한 컨텍스트 Context(C)는, 다음 수학식 12와 같이, 좌측의 인접 매크로 블록 A의 f(A)와 상단의 인접 매크로 블록 B의 f(B)의 합으로서 산출된다.
Figure pat00012
즉, 대상 매크로 블록 C에 대한 컨텍스트 Context(C)는, 인접 매크로 블록 A, B의 플래그 mb_skip_flag에 따라, 0, 1, 2 중 어느 1개의 값을 취하게 된다. 즉, 대상 매크로 블록 C에 대한 플래그 mb_skip_flag는, 0, 1, 2의 어느 한 다른 부호화 엔진(83b)이 사용되어 부호화되게 된다.
2치화부(82)는, 예를 들어 인트라 예측 모드와 같이, 구문상, 비 2치화 데이터인 요소의 심볼을, 도 12에 도시된 테이블에 기초하여 변환한다.
도 12의 테이블에 있어서는, 코드 심볼이 0인 경우, 0으로 2치화되고, 코드 심볼이 1인 경우, 10으로 2치화되고, 코드 심볼이 2인 경우, 110으로 2치화되는 것이 나타나 있다. 또한, 코드 심볼이 3인 경우, 1110으로 2치화되고, 코드 심볼이 4인 경우, 11110으로 2치화되고, 코드 심볼이 5인 경우, 111110으로 2치화되는 것이 나타나 있다.
이상과 같은 2치화 테이블에 의해 2치화된 구문 요소는, 후단의 적응 2치 산술 부호화부(83)에 의해 부호화된다.
도 10으로 되돌아가, 적응 2치 산술 부호화부(83)에 있어서는, 2치화된 심볼에 대하여, 확률 추정부(83a)에 의해 확률 추정이 이루어지고, 부호화 엔진(83b)에 의해 확률 추정에 기초하는 2치 산술 부호화가 실시된다. 그 때, "0", "1"의 확률은, 슬라이스 선두에서 초기화되어, 1Bin의 부호화가 행해질 때마다 그 확률 테이블이 갱신된다. 즉, 2치산술 부호화 처리가 행해진 후, 관련된 모델의 갱신이 행해지기 때문에, 각각의 모델은 실제의 화상 압축 정보의 통계에 따른 부호화 처리를 행하는 것이 가능하게 된다.
이상 설명한 CAVLC 방식 및 CABAC 방식의 경우 모두, 보다 출현 빈도가 높은 예측 움직임 벡터 정보에 대하여, 보다 작은 코드 넘버를 할당해야 하므로, 각각의 예측 움직임 벡터 정보의 출현 빈도는 시퀀스 및 비트 레이트마다 상이하다. 그러나, 비특허문헌 1에 기재된 제안에 있어서는, 각 예측 움직임 벡터 정보에 대하여 할당되어 있는 코드 넘버는 고정된 것이었다.
[본 기술의 개요]
따라서, 도 7의 화상 부호화 장치(51)에 있어서는, 유저 혹은 어플리케이션이, 부호화 효율 또는 주관 화질을 최적으로 하도록, 코드 넘버 할당부(77)를 통하여, 각 예측 움직임 벡터에 대한 코드 넘버의 할당을 디폴트로부터 바꾸는 것이 가능하다.
즉, 화상 부호화 장치(51)에 있어서는, 후보가 되는 복수의 예측 움직임 벡터 정보가 생성되고, 또한, 각각의 예측 움직임 벡터 정보에 대한 비용 함수값이 생성된다. 그리고, 그 값을 최소로 하는 예측 움직임 벡터 정보와, 처리 대상 블록에 대한 예측 움직임 벡터 정보로서 이것을 사용하여 부호화가 행해지지만, 그 때 비용 함수값의 생성 및 부호화에는, 코드 넘버 할당부(77)에 의해 각 예측 움직임 벡터에 할당된 코드 넘버가 사용된다.
예를 들어, 디폴트의 설정에서는, 코드 넘버=0이, 상술한 수학식 5의 공간 예측 움직임 벡터 정보(Spatial Predictor)에 할당되고, 코드 넘버=1이, 상술한 수학식 10의 시간 예측 움직임 벡터 정보(Temporal Predictor)에 할당되어 있는 것으로 한다.
일반적으로, 부호화해야 할 콘텐츠가 정지 화상 영역을 많이 포함하는 경우(예를 들어, 텔레비젼 회의) 등, 공간 예측 움직임 벡터 정보보다, 시간 예측 움직임 벡터 정보쪽이 부호화 효율 또는 주관 화질상 바람직하다.
그러나, 특히 낮은 비트 레이트(즉, 높은 양자화 파라미터 QP)의 경우, 코드 넘버=0에 할당된 예측 움직임 벡터 정보쪽이, 예측 움직임 벡터 정보를 나타내기 위하여 필요해지는 비트가 적기 때문에, 보다 선택되기 쉬워져 버린다.
따라서, 화상 부호화 장치(51)에 있어서는, 각 예측 움직임 벡터에 대한 코드 넘버의 할당을 디폴트로부터 변경하는 것이 가능하다. 따라서, 이러한 경우에, 예를 들어 코드 넘버=0을, 시간 예측 움직임 벡터 정보에 할당하고, 코드 넘버=1을, 공간 예측 움직임 벡터 정보에 할당하도록 변경한다. 이에 의해, 부호화 효율 또는 주관 화질을 개선할 수 있다.
[본 기술의 효과]
이어서, 도 13을 참조하여, 본 기술에 의한 효과에 대하여 설명한다. 도 13의 예에 있어서는, 카메라 고정의 동화상의 참조 프레임과, 당해 프레임이 나타나 있다. 이 동화상에 있어서는, 타원형의 물체가, 화면 우측 방향을 향하여 속도 v로 움직이고 있는 것으로 한다. 카메라 고정이므로, 타원형의 물체 이외의 배경은, 정지 화상 영역이다.
당해 프레임에 있어서는, 당해 블록 X와, 당해 블록 X의 좌측, 상측, 우측 상부에 각각 인접하는 인접 블록 A, B, C가 나타나 있고, 참조 프레임에 있어서는, 당해 블록 X의 대응 블록(Co-Located block) Y가 나타나 있다. 또한, 대응 블록이란, 대상 프레임과는 다른, 부호화가 완료된 프레임(전 또는 후에 위치하는 프레임)의 블록이며, 대상 블록에 대응하는 위치의 블록이다.
이제, MVK를, 블록 K에 대한 움직임 벡터 정보라고 하고, 디폴트에서는, 코드 넘버=0에 대하여, Median(MVA, MVB, MVC)이 할당되어 있고, 코드 넘버=1에 대하여, MVY가 할당되어 있다고 하자.
이 경우, 특히, 낮은 비트 레이트에 있어서는, 코드 넘버를 부호화하기 위하여 필요로 하는 비트가 적은 Median(MVA, MVB, MVC)이 선택되기 쉽다.
그러나, 도 13의 예에 있어서는, 블록 X, 인접 블록 A, 대응 블록 Y는, 정지 화상 영역 위의 블록이며, 인접 블록 B, C는, 타원형의 물체상의 블록이다. 따라서, 인접 블록의 메디안 예측에 대하여 보면, 다음 수학식 13으로 되어, 명백하게 부호화 효율이 좋지 않다.
Figure pat00013
한편, 대응 블록 Y에 대하여 살펴보면, 다음과 같이 수학식 14로도 되는데, MVY에 대하여, 코드 넘버=0을 할당하여, 선택되기 쉽게 하는 편이, 보다 높은 부호화 효율을 실현하는 것이 가능하게 된다.
Figure pat00014
또한, 본 발명에 있어서는, 예를 들어 슬라이스 단위로, 각 예측 움직임 벡터 정보에 대한 코드 넘버의 할당이 행해진다.
즉, 슬라이스 헤더에, 우선 mv_predictor_definition_flag를 부호화한다. mv_predictor_definition_flag는, 디폴트의 코드 넘버를 할당하는 고정 모드인지, 할당이 변경 가능한(즉, 변경된) 코드 넘버를 할당하는 가변 모드인지를 나타내는 플래그 정보이다. 또한, 플래그 정보는, 변경 가능한 가변 모드 또는 고정 모드인 것을 나타내는 정보, 즉 가변 모드인지 고정 모드인지를 식별 가능한 정보이면 된다.
mv_predictor_definition_flag=0의 경우, 디폴트에서 정의된 각 예측 움직임 벡터 정보에 대한 코드 넘버의 할당이 적용된다. mv_predictor_definition_flag=1의 경우, 코드 넘버 할당부(77)에 의해 할당된 각 예측 움직임 벡터 정보에 대한 코드 넘버의 할당이 적용되게 된다. 따라서, 이 경우, mv_predictor_definition_flag=1에 이어, 슬라이스 헤더의 구문상에서, 코드 넘버 할당부(77)에 의한 각 예측 움직임 벡터 정보에 대한 코드 넘버의 할당이 기술된다.
구체적으로는, mv_predictor_definition_flag=1의 경우, 슬라이스 헤더에는, 도 14에 도시하는 바와 같은 구문 요소가 삽입되게 된다.
도 14의 예에 있어서는, mv_predictor_definition_flag=1의 기술 후에, 코드 넘버 0(code_number_for_predictor_0;)과, 코드 넘버 1(code_number_for_predictor_1;)에 어느 예측 움직임 벡터 정보가 할당될지를 기술하는 스페이스가 형성되어 있다.
또한, 본 발명에 있어서의 코드 넘버 할당에 관한 구문에의 기술은, 도 14의 예에 제한하지 않는다. 시퀀스 파라미터 세트 또는 픽처 파라미터 세트에 있어서, 코드 넘버의 할당에 관한 구문을 갖게 한다. 그리고, 슬라이스 헤더에 있어서, mv_predictor_definition_flag=0의 경우, 직전에 존재하는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트에 있어서 정의된 할당이 있으면, 그것을 사용하도록 해도 좋다. 물론, 시퀀스 파라미터 세트 또는 픽처 파라미터 세트에만 갖게 하도록 해도 좋다.
이상과 같이, 코드 넘버의 할당을 변경 가능하게 함으로써, 예를 들어 배경 등의 정지 영역을 동물체가 지나가는 경우, 보다 작은 코드 넘버를, 시간 예측 움직임 벡터 정보(Temporal Predictor)에 할당할 수 있다. 이에 의해, 정지 영역이 동물체의 움직임에 영향을 받아 화상 열화되는 것을 피하여, 부호화 효율 및 주관 화질을 향상시키는 것이 가능하게 된다.
따라서, 보다 높은 부호화 효율을 달성할 수 있다.
또한, 상기 설명에 있어서는, 구체적인 예로서, 예를 들어 배경 등의 정지 영역을 동물체가 지나가는 경우의 할당의 예를 설명했지만, 그 예에 한하지 않고, 예를 들어 출현 빈도(비율)가 많은 예측 움직임 벡터 정보에 대하여, 보다 작은 코드 넘버를 할당하는 것에 의해서도, 부호화 효율 및 주관 화질을 향상시킬 수 있다.
또한, 부호화 효율 또는 주관 화질이 좋아지도록, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을, 유저나 어플리케이션이 설정하는 것도 가능하다.
이하, 더욱 구체적으로 설명해 간다.
[움직임 예측·보상부의 구성예]
도 15는, 움직임 예측·보상부(75)의 상세한 구성예를 도시하는 블록도이다. 또한, 도 15에 있어서는, 도 7의 스위치(73)가 생략되어 있다.
도 15의 예에 있어서, 움직임 예측·보상부(75)는, 움직임 탐색부(91), 비용 함수 산출부(92), 최적 예측 움직임 벡터 선택부(93), 모드 판정부(94), 움직임 보상부(95) 및 움직임 벡터 버퍼(96)에 의해 구성되어 있다. 또한, 화면 재배열 버퍼(62)로부터의 입력 화상 화소값은, 움직임 탐색부(91)에의 입력밖에 도시되어 있지 않으나, 실제로는, 비용 함수값을 산출하는 비용 함수 산출부(92) 및 움직임 보상부(95)에도 입력된다.
움직임 탐색부(91)에는, 화면 재배열 버퍼(62)로부터의 입력 화상 화소값과, 프레임 메모리(72)로부터의 참조 화상 화소값이 입력된다. 움직임 탐색부(91)는, 도 2에 도시된 모든 인터 예측 모드의 움직임 탐색 처리를 행하고, 탐색한 움직임 벡터 정보를 사용하여, 참조 화상에 보상 처리를 행하여, 예측 화상을 생성한다. 움직임 탐색부(91)는, 각 인터 예측 모드에 대하여 탐색된 움직임 벡터 정보와, 생성된 예측 화상을 비용 함수 산출부(92)에 공급한다.
비용 함수 산출부(92)에는, 화면 재배열 버퍼(62)로부터의 입력 화상 화소값, 움직임 탐색부(91)로부터의 각 인터 예측 모드의 움직임 벡터 정보와 예측 화상 및 예측 움직임 벡터 생성부(76)로부터의 각 예측 움직임 벡터 정보와, 그것에 대하여 각각 할당된 코드 넘버가 공급된다. 비용 함수 산출부(92)는, 움직임 벡터 정보와 각 예측 움직임 벡터 정보를 차분함으로써, 차분 움직임 벡터 정보를 산출한다.
그리고, 비용 함수 산출부(92)는, 차분 움직임 벡터 정보, 예측 움직임 벡터 정보에 대하여 할당된 코드 넘버 및 예측 화상 등, 공급된 정보를 사용하여, 각 인터 예측 모드에 대한 각 블록 각각에서, 각 예측 움직임 벡터에 대한 비용 함수값을 산출한다. 비용 함수 산출부(92)는, 각 인터 예측 모드에 대한 예측 화상, 차분 움직임 벡터 정보, 예측 움직임 벡터 정보, 그것에 대한 코드 넘버와 비용 함수값을, 최적 예측 움직임 벡터 선택부(93)에 공급한다.
최적 예측 움직임 벡터 선택부(93)는, 각 예측 모드에 대한 각 블록 각각에 대하여, 비용 함수값에 기초하여, 최적의 예측 움직임 벡터 정보를 선택한다. 이에 의해 선택된 최적 예측 움직임 벡터 정보는, 각 인터 예측 모드에 대한 예측 화상, 비용 함수값, 차분 움직임 벡터 정보, 최적 예측 움직임 벡터 정보와 그것에 대하여 할당된 코드 넘버와 함께, 모드 판정부(94)에 공급된다.
모드 판정부(94)는, 각 인터 예측 모드 중, 어느 모드를 사용하는 것이 최적인지를, 각 인터 예측 모드에 대한 비용 함수값을 사용하여 판정하여, 가장 작은 비용 함수값의 인터 예측 모드를, 최적 예측 모드로 한다. 그리고, 모드 판정부(94)는, 최적 예측 모드 및 그것에 관한 차분 움직임 벡터 정보, 최적 예측 움직임 벡터 정보와 그것에 대하여 할당된 코드 넘버와 함께, 움직임 보상부(95)에 공급한다.
움직임 보상부(95)는, 차분 움직임 벡터 정보와 최적 예측 움직임 벡터 정보로부터, 움직임 벡터를 구하고, 구한 움직임 벡터를 사용하여, 프레임 메모리(72)로부터의 참조 화상에 보상을 행함으로써, 최적 예측 모드의 예측 화상을 생성한다. 또한, 움직임 보상부(95)에는, 화면 재배열 버퍼(62)로부터의 입력 화상 화소값도 공급되고, 움직임 보상부(95)는, 공급되는 정보로부터, 최적 예측 모드의 비용 함수값을 다시 구하여, 최적 예측 모드의 예측 화상과 비용 함수값을, 예측 화상 선택부(78)에 출력한다.
예측 화상 선택부(78)에 의해 최적 인터 모드의 예측 화상이 선택된 경우에는, 그것을 나타내는 신호가 예측 화상 선택부(78)로부터 공급된다. 이것에 대응하여, 움직임 보상부(95)는, 최적 인터 모드 정보, 그 모드의 차분 움직임 벡터 정보 및 예측 움직임 벡터 정보에 대한 코드 넘버를, 가역 부호화부(66)에 공급한다. 또한, 이때, 움직임 보상부(95)는, 차분 움직임 벡터 정보와 최적 예측 움직임 벡터 정보로부터 구한 움직임 벡터 정보를, 움직임 벡터 버퍼(96)에 저장한다. 또한, 예측 화상 선택부(78)에 의해 최적 인터 모드의 예측 화상이 선택되지 않은 경우(즉, 인트라 예측 화상이 선택된 경우)에는, 움직임 벡터 정보로서, 0벡터가, 움직임 벡터 버퍼(96)에 저장된다.
움직임 벡터 버퍼(96)에는, 최적 예측 모드의 각 블록의 움직임 벡터 정보가 저장되어 있다. 저장되어 있는 움직임 벡터 정보는, 다음 블록에 있어서의 예측 움직임 벡터 정보를 생성하기 위해서, 주변 블록의 주변 움직임 벡터 정보로서, 예측 움직임 벡터 생성부(76)에 공급된다.
예측 움직임 벡터 생성부(76)는, 움직임 벡터 버퍼(96)로부터 공급되는 대상 블록에 시공간으로 인접하는 블록의 주변 움직임 벡터 정보를 사용하여, 비특허문헌 1에 기재와 같이, 후보가 되는 복수의 예측 움직임 벡터 정보의 생성을 행한다. 단, 비특허문헌 1과의 차이는, 각 예측 움직임 벡터 정보에 대한 코드 넘버가, 코드 넘버 할당부(77)에 의해 할당된 것이라는 점이다.
즉, 예측 움직임 벡터 생성부(76)에 있어서는, 당해 블록에 대하여, 상술한 수학식 5에 의해 공간 예측 움직임 벡터 정보(Spatial Predictor)가 생성되고, 상술한 수학식 9에 의해 시간 예측 움직임 벡터 정보(Temporal Predictor)가 생성된다. 또한, 당해 블록에 대하여, 수학식 10에 의해 시공간 예측 움직임 벡터(Spatio-Temporal Predictor)가 생성된다. 그리고, 생성된 후보가 되는 각 예측 움직임 벡터 정보와, 그들에 대하여 각각 할당된 코드 넘버가 비용 함수 산출부(92)에 공급된다.
또한, 부호화 처리를 행하기에 앞서, 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버가 할당되는 것인지에 관한 정보가, 예를 들어 유저에 의한 도시하지 않은 조작 입력부의 조작에 따라, 코드 넘버 할당부(77)에 입력된다. 코드 넘버 할당부(77)는, 입력되는 정보에 따라, 예측 움직임 벡터 정보에 대하여 코드 넘버의 할당을 설정하고, 또한, 코드 넘버 할당의 가변 모드인 것을 나타내는 플래그 정보를 생성한다.
코드 넘버 할당부(77)는, 코드 넘버 할당의 정보를, 예측 움직임 벡터 생성부(76)에 공급한다. 또한, 코드 넘버 할당부(77)는, 생성된 플래그 정보와 코드 넘버 할당의 정보를, 가역 부호화부(66)에 보낸다. 가역 부호화부(66)에서는, 슬라이스 헤더에 있어서, 그들 정보의 부호화 처리가 행해진다.
[화상 부호화 장치의 부호화 처리의 설명]
이어서, 도 16의 흐름도를 참조하여, 도 7의 화상 부호화 장치(51)의 부호화 처리에 대하여 설명한다.
스텝 S11에 있어서, A/D 변환부(61)는 입력된 화상을 A/D 변환한다. 스텝 S12에 있어서, 화면 재배열 버퍼(62)는, A/D 변환부(61)로부터 공급된 화상을 기억하고, 각 픽처의 표시하는 순서로부터 부호화하는 순서로의 재배열을 행한다.
스텝 S13에 있어서, 연산부(63)는, 스텝 S12에서 재배열된 화상과 예측 화상의 차분을 연산한다. 예측 화상은, 인터 예측하는 경우에는 움직임 예측·보상부(75)로부터, 인트라 예측하는 경우에는 인트라 예측부(74)로부터, 각각 예측 화상 선택부(78)를 통하여 연산부(63)에 공급된다.
차분 데이터는 원래의 화상 데이터에 비교하여 데이터량이 작게 되어 있다. 따라서, 화상을 그대로 부호화한 경우에 비하여, 데이터량을 압축할 수 있다.
스텝 S14에 있어서, 직교 변환부(64)는 연산부(63)로부터 공급된 차분 정보를 직교 변환한다. 구체적으로는, 이산 코사인 변환, 카루넨 루베 변환 등의 직교 변환이 행해져, 변환 계수가 출력된다. 스텝 S15에 있어서, 양자화부(65)는 변환 계수를 양자화한다. 이 양자화 시에는, 후술하는 스텝 S26의 처리에서 설명된 바와 같이, 레이트가 제어된다.
이상과 같이 하여 양자화된 차분 정보는, 다음과 같이 하여 국부적으로 복호된다. 즉, 스텝 S16에 있어서, 역양자화부(68)는 양자화부(65)에 의해 양자화된 변환 계수를 양자화부(65)의 특성에 대응하는 특성으로 역양자화한다. 스텝 S17에 있어서, 역직교 변환부(69)는 역양자화부(68)에 의해 역양자화된 변환 계수를 직교 변환부(64)는 특성에 대응하는 특성으로 역직교 변환한다.
스텝 S18에 있어서, 연산부(70)는, 예측 화상 선택부(78)를 통하여 입력되는 예측 화상을 국부적으로 복호된 차분 정보에 가산하여, 국부적으로 복호된 화상(연산부(63)에의 입력에 대응하는 화상)을 생성한다. 스텝 S19에 있어서 디블록 필터(71)는, 연산부(70)로부터 출력된 화상을 필터링한다. 이에 의해 블록 왜곡이 제거된다. 스텝 S20에 있어서 프레임 메모리(72)는, 필터링된 화상을 기억한다. 또한, 프레임 메모리(72)에는 디블록 필터(71)에 의해 필터 처리되어 있지 않은 화상도 연산부(70)로부터 공급되어, 기억된다.
화면 재배열 버퍼(62)로부터 공급되는 처리 대상의 화상이 인트라 처리되는 블록의 화상인 경우, 참조되는 복호 완료된 화상이 프레임 메모리(72)로부터 판독되어, 스위치(73)를 통하여 인트라 예측부(74)에 공급된다.
이들 화상에 기초하여, 스텝 S21에 있어서, 인트라 예측부(74)는 처리 대상의 블록의 화소를, 후보가 되는 모든 인트라 예측 모드에서 인트라 예측한다. 또한, 참조되는 복호 완료된 화소로서는, 디블록 필터(71)에 의해 디블록 필터링되어 있지 않은 화소가 사용된다.
스텝 S21에 있어서의 인트라 예측 처리의 상세는, 도 17을 참조하여 후술하겠지만, 이 처리에 의해, 후보가 되는 모든 인트라 예측 모드에서 인트라 예측이 행해지고, 후보가 되는 모든 인트라 예측 모드에 대하여 비용 함수값이 산출된다. 그리고, 산출된 비용 함수값에 기초하여, 최적 인트라 예측 모드가 선택되어, 최적 인트라 예측 모드의 인트라 예측에 의해 생성된 예측 화상과 그 비용 함수값이 예측 화상 선택부(78)에 공급된다.
화면 재배열 버퍼(62)로부터 공급되는 처리 대상의 화상이 인터 처리되는 화상인 경우, 참조되는 화상이 프레임 메모리(72)로부터 판독되어, 스위치(73)를 통하여 움직임 예측·보상부(75)에 공급된다. 이들 화상에 기초하여, 스텝 S22에 있어서, 움직임 예측·보상부(75)는, 인터 움직임 예측 처리를 행한다.
스텝 S22에 있어서의 인터 움직임 예측 처리의 상세는, 도 18을 참조하여 후술한다. 이 처리에 의해, 후보가 되는 모든 인터 예측 모드에서 움직임 탐색 처리가 행해지고, 후보가 되는 모든 예측 움직임 벡터 정보가 생성되고, 모든 인터 예측 모드의 각 블록에 있어서, 각 예측 움직임 벡터 정보에 대하여 비용 함수가 산출되어, 최적의 예측 움직임 벡터 정보가 선택된다. 또한, 모든 인터 예측 모드에 대한 비용 함수값에 기초하여, 최적 인터 예측 모드가 결정된다. 그리고, 최적 인터 예측 모드에 의해 생성된 예측 화상과 그 비용 함수값이 예측 화상 선택부(78)에 공급된다.
이때, 예를 들어 슬라이스마다, 각 예측 움직임 벡터 정보에 대하여 코드 넘버가 할당되고, 코드 넘버의 할당 정보는, 움직임 예측·보상부(75)와 가역 부호화부(66)에 공급된다. 따라서, 움직임 예측·보상부(75)에 있어서는, 할당된 코드 넘버가 사용되어, 비용 함수값 등이 산출된다. 또한, 코드 넘버 할당부(77)에 있어서는, 또한, 예측 움직임 벡터 정보에 대하여 코드 넘버의 할당의 변경 가능한 가변 모드인지의 여부를 나타내는 플래그 정보도 생성되어, 가역 부호화부(66)에 공급된다.
스텝 S23에 있어서, 예측 화상 선택부(78)는, 인트라 예측부(74) 및 움직임 예측·보상부(75)로부터 출력된 각 비용 함수값에 기초하여, 최적 인트라 예측 모드와 최적 인터 예측 모드 중 한쪽을, 최적 예측 모드로 결정한다. 그리고, 예측 화상 선택부(78)는, 결정한 최적 예측 모드의 예측 화상을 선택하여, 연산부(63, 70)에 공급한다. 이 예측 화상이, 상술한 바와 같이 스텝 S13, S18의 연산에 이용된다.
또한, 이 예측 화상의 선택 정보는, 인트라 예측부(74) 또는 움직임 예측·보상부(75)에 공급된다. 최적 인트라 예측 모드의 예측 화상이 선택된 경우, 인트라 예측부(74)는, 최적 인트라 예측 모드를 나타내는 정보(즉, 인트라 예측 모드 정보)를, 가역 부호화부(66)에 공급한다.
최적 인터 예측 모드의 예측 화상이 선택된 경우, 움직임 예측·보상부(75)는, 최적 인터 예측 모드를 나타내는 정보와, 또한 필요에 따라, 최적 인터 예측 모드에 따른 정보를 가역 부호화부(66)에 출력한다. 최적 인터 예측 모드에 따른 정보로서는, 블록마다의 움직임 벡터 정보와 예측 움직임 벡터 정보의 차분 움직임 벡터 정보나, 각 블록의 예측 움직임 벡터 정보에 대하여 할당된 코드 넘버 등의 정보 등을 들 수 있다. 또한, 이때, 움직임 예측·보상부(75)의 움직임 보상부(95)는, 차분 움직임 벡터 정보와 최적 예측 움직임 벡터 정보로부터 구한 움직임 벡터 정보를, 움직임 벡터 버퍼(96)에 저장한다.
스텝 S24에 있어서, 가역 부호화부(66)는 양자화부(65)로부터 출력된 양자화된 변환 계수를 부호화한다. 즉, 차분 화상이 가변장 부호화, 산술 부호화 등의 가역 부호화되어, 압축된다. 이때, 상술한 스텝 S21에 있어서 가역 부호화부(66)에 입력된, 인트라 예측부(74)로부터의 인트라 예측 모드 정보 또는 스텝 S22에 있어서, 움직임 예측·보상부(75)로부터의 최적 인터 예측 모드에 따른 정보 등도 부호화되어, 헤더 정보에 부가된다. 또한, 코드 넘버 할당부(77)로부터의 플래그 정보와, 코드 넘버 할당 정보도 헤더 정보에 부가된다.
예를 들어, 인터 예측 모드를 나타내는 정보는, 매크로 블록마다 부호화된다. 차분 움직임 벡터 정보나 예측 움직임 벡터 정보에 대한 코드 넘버는, 대상으로 되는 블록마다 부호화된다. 또한, 코드 넘버 할당부(77)로부터의 플래그 정보와, 코드 넘버 할당 정보는, 슬라이스마다 부호화된다.
스텝 S25에 있어서 축적 버퍼(67)는 차분 화상을 압축 화상으로서 축적한다. 축적 버퍼(67)에 축적된 압축 화상이 적절히 판독되어, 전송로를 통하여 복호측에 전송된다.
스텝 S26에 있어서 레이트 제어부(79)는, 축적 버퍼(67)에 축적된 압축 화상에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(65)의 양자화 동작의 레이트를 제어한다.
[인트라 예측 처리의 설명]
이어서, 도 17의 흐름도를 참조하여, 도 16의 스텝 S21에 있어서의 인트라 예측 처리를 설명한다. 또한, 도 17의 예에 있어서는, 휘도 신호의 경우를 예로서 설명한다.
인트라 예측부(74)는, 스텝 S41에 있어서, 4×4 화소, 8×8 화소 및 16×16 화소의 각 인트라 예측 모드에 대하여 인트라 예측을 행한다.
휘도 신호의 인트라 예측 모드에는, 9종류의 4×4 화소 및 8×8 화소의 블록 단위, 및 4종류의 16×16 화소의 매크로 블록 단위의 예측 모드가 있고, 색차 신호의 인트라 예측 모드에는, 4종류의 8×8 화소의 블록 단위의 예측 모드가 있다. 색차 신호의 인트라 예측 모드는, 휘도 신호의 인트라 예측 모드와 독립적으로 설정이 가능하다. 휘도 신호의 4×4 화소 및 8×8 화소의 인트라 예측 모드에 대해서는, 4×4 화소 및 8×8 화소의 휘도 신호의 블록마다 1개의 인트라 예측 모드가 정의된다. 휘도 신호의 16×16 화소의 인트라 예측 모드와 색차 신호의 인트라 예측 모드에 대해서는, 1개의 매크로 블록에 대하여 1개의 예측 모드가 정의된다.
구체적으로는, 인트라 예측부(74)는, 처리 대상의 블록의 화소를 프레임 메모리(72)로부터 판독하여, 스위치(73)를 통하여 공급되는 복호 완료된 화상을 참조하여, 인트라 예측한다. 이 인트라 예측 처리가, 각 인트라 예측 모드에서 행해짐으로써, 각 인트라 예측 모드에서의 예측 화상이 생성된다. 또한, 참조되는 복호 완료된 화소로서는, 디블록 필터(71)에 의해 디블록 필터링되어 있지 않은 화소가 사용된다.
인트라 예측부(74)는, 스텝 S42에 있어서, 4×4 화소, 8×8 화소 및 16×16 화소의 각 인트라 예측 모드에 대한 비용 함수값을 산출한다. 여기서, 비용 함수값을 구하기 위한 비용 함수로서는, 다음과 같이, H.264/AVC 방식에 있어서 채용되어 있는 비용 함수가 사용된다.
H.264/AVC 방식에 있어서는, 예를 들어 JM에 있어서 정해져 있는 고복잡도 모드(High Complexity Mode)와, 저복잡도 모드(Low Complexity Mode)의 2가지 모드 판정 방법을 선택하는 방법이 사용되고 있다. 이 방법의 경우, 어느 쪽이든 각각의 예측 모드 Mode에 관한 비용 함수값을 산출하고, 이것을 최소로 하는 예측 모드를 당해 블록 내지 매크로 블록에 대한 최적 모드로서 선택한다.
고복잡도 모드에 있어서의 비용 함수값은, 이하의 수학식 15와 같이 구할 수 있다.
Figure pat00015
수학식 15에 있어서, Ω는, 당해 블록 내지 매크로 블록을 부호화하기 위한 후보 모드의 전체 집합이다. 또한, D는, 당해 예측 모드 Mode에서 부호화한 경우의, 복호 화상과 입력 화상의 차분 에너지이다. 또한, λ는, 양자화 파라미터의 함수로서 부여되는 라그랑제(Lagrange) 미정 승수이다. 또한, R은, 직교 변환 계수를 포함한, 당해 모드 Mode에서 부호화한 경우의 총 부호량이다.
즉, 고복잡도 모드에서의 부호화를 행하기 위해서는, 상기 파라미터 D 및 R을 산출하기 위해, 모든 후보 모드 Mode에 의해, 한번 임시 인코드 처리를 행할 필요가 있어, 보다 높은 연산량을 필요로 한다.
이에 반해 저복잡도 모드에 있어서의 비용 함수값은, 이하의 수학식 16과 같이 구할 수 있다.
Figure pat00016
로 된다. 수학식 16에 있어서, D는 고복잡도 모드의 경우와 달리, 예측 화상과 입력 화상의 차분 에너지가 된다. 또한, QP2Quant(QP)는, 양자화 파라미터 QP의 함수로서 부여된다. 또한, HeaderBit는, 직교 변환 계수를 포함하지 않는, 움직임 벡터나, 모드 등, 헤더에 속하는 정보에 관한 부호량이다.
즉, 저복잡도 모드에 있어서는, 각각의 후보 모드 Mode에 관해서, 예측 처리를 행할 필요가 있지만, 복호 화상까지는 필요없기 때문에, 부호화 처리까지 행할 필요는 없다. 이로 인해, 고복잡도 모드보다 낮은 연산량에 의한 실현이 가능하다.
인트라 예측부(74)는, 스텝 S43에 있어서, 4×4 화소, 8×8 화소 및 16×16 화소의 각 인트라 예측 모드에 대하여, 각각 최적 모드를 결정한다. 즉, 상술한 바와 같이, 인트라 4×4 예측 모드 및 인트라 8×8 예측 모드의 경우에는, 예측 모드의 종류가 9종류 있고, 인트라 16×16 예측 모드의 경우에는, 예측 모드의 종류가 4종류 있다. 따라서, 인트라 예측부(74)는, 스텝 S42에 있어서 산출된 비용 함수값에 기초하여, 그들 중에서 최적 인트라 4×4 예측 모드, 최적 인트라 8×8 예측 모드, 최적 인트라 16×16 예측 모드를 결정한다.
인트라 예측부(74)는, 스텝 S44에 있어서, 4×4 화소, 8×8 화소 및 16×16 화소의 각 인트라 예측 모드에 대하여 결정된 각 최적 모드 중에서 스텝 S42에 있어서 산출된 비용 함수값에 기초하여, 최적 인트라 예측 모드를 선택한다. 즉, 4×4 화소, 8×8 화소 및 16×16 화소에 대하여 결정된 각 최적 모드 중에서 비용 함수값이 최소값인 모드를, 최적 인트라 예측 모드로서 선택한다. 그리고, 인트라 예측부(74)는, 최적 인트라 예측 모드에서 생성된 예측 화상과 그 비용 함수값을, 예측 화상 선택부(78)에 공급한다.
[인터 움직임 예측 처리의 설명]
이어서, 도 18의 흐름도를 참조하여, 도 16의 스텝 S22의 인터 움직임 예측 처리에 대하여 설명한다.
움직임 탐색부(91)는, 스텝 S51에 있어서, 상술한 도 2의 16×16 화소 내지 4×4 화소로 이루어지는 8종류의 각 인터 예측 모드에 대하여 움직임 벡터와 참조 화상을 각각 결정한다.
그리고, 움직임 탐색부(91)는, 스텝 S52에 있어서, 각 인터 예측 모드에 대해서, 결정한 움직임 벡터에 기초하여 참조 화상에 보상 처리를 행하여, 예측 화상을 생성한다. 움직임 탐색부(91)는, 각 인터 예측 모드에 대하여 탐색된 움직임 벡터 정보와, 생성된 예측 화상을 비용 함수 산출부(92)에 공급한다.
스텝 S53에 있어서, 예측 움직임 벡터 생성부(76)와 비용 함수 산출부(92)는, 예측 움직임 벡터 결정 처리를 행한다. 이 예측 움직임 벡터 결정 처리의 상세는, 도 19를 참조하여 후술된다.
스텝 S53의 처리에 의해, 복수 종류의 예측 움직임 벡터 정보가 생성된다. 그리고, 생성된 예측 움직임 벡터 정보와 그것에 대하여 각각 할당된 코드 넘버가 사용되고, 각 인터 예측 모드에서의 각 블록에 대해서, 각 예측 움직임 벡터에 대한 비용 함수값이 산출되어, 최적의 예측 움직임 벡터 정보가 선택된다.
이에 의해 선택된 최적 예측 움직임 벡터 정보는, 각 인터 예측 모드에 대한 예측 화상, 비용 함수값, 차분 움직임 벡터 정보, 최적 예측 움직임 벡터 정보와 그것에 대하여 할당된 코드 넘버와 함께, 모드 판정부(94)에 공급된다.
모드 판정부(94)는, 스텝 S54에 있어서, 최적 인터 예측 모드를 결정한다. 즉, 모드 판정부(94)는, 각 인터 예측 모드의 전체 블록의 최적 예측 움직임 벡터에 대한 비용 함수값을 가산하여, 후보의 전체 인터 예측 모드의 비용 함수값을 비교하여, 최소의 비용 함수값의 인터 예측 모드를, 최적 인터 예측 모드로서 결정한다. 최적 예측 모드는, 그것에 관한 차분 움직임 벡터 정보, 최적 예측 움직임 벡터 정보와, 최적 예측 움직임 벡터에 대하여 할당된 코드 넘버와 함께, 움직임 보상부(95)에 공급된다.
움직임 보상부(95)는, 스텝 S55에 있어서, 최적 인터 예측 모드의 움직임 벡터에 기초하여, 프레임 메모리(72)로부터의 참조 화상에 보상 처리를 행하여, 예측 화상을 생성한다. 또한, 움직임 보상부(95)는, 공급되는 정보로부터, 최적 예측 모드의 비용 함수값을 다시 구하여, 최적 예측 모드의 예측 화상과 비용 함수값을, 예측 화상 선택부(78)에 출력한다.
[예측 움직임 벡터 결정 처리의 설명]
이어서, 도 19의 흐름도를 참조하여, 도 18의 스텝 S53의 예측 움직임 벡터 결정 처리를 설명한다. 또한, 이하의 스텝 S71 내지 S74는, 예를 들어 슬라이스 마다 행해지는 처리이며, 스텝 S75 내지 S77은, 블록마다 행해지는 처리이다.
스텝 S71에 있어서, 코드 넘버 할당부(77)는, 유저에 의해 예측 움직임 벡터 정보에 대한 코드 넘버 할당이 정의되어 있는지의 여부를 판정한다. 예를 들어, 도시하지 않은 조작 입력부로부터, 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버가 할당되는 것인지에 관한 정보가 입력되어 있고, 그것이 디폴트의 정보가 아닌 경우, 스텝 S71에 있어서, 유저에 의해 예측 움직임 벡터 정보에 대한 코드 넘버 할당이 정의되어 있다고 판정되어, 처리는, 스텝 S72로 진행한다.
코드 넘버 할당부(77)는, 스텝 S72에 있어서, mv_predictor_definition_flag =1로 하고, 그 플래그 정보를, 가역 부호화부(66)에 공급한다. 그리고, 코드 넘버 할당부(77)는, 스텝 S73에 있어서, 입력되어 있는 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버가 할당되는 것인지에 관한 정보에 기초하여, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 결정한다. 결정된 코드 넘버 할당 정보는, 가역 부호화부(66)와, 예측 움직임 벡터 생성부(76)에 공급된다.
한편, 예를 들어 도시하지 않은 조작 입력부로부터, 어느 예측 움직임 벡터 정보에 대하여 어느 코드 넘버가 할당되는 것인지에 관한 정보가 입력되어 있고, 그것이 디폴트의 정보인 경우, 스텝 S71에 있어서, 유저에 의해 예측 움직임 벡터 정보에 대한 코드 넘버 할당이 정의되어 있지 않다고 판정되어, 처리는, 스텝 S74로 진행한다.
코드 넘버 할당부(77)는, 스텝 S74에 있어서, mv_predictor_definition_flag=0으로 하고 그 플래그 정보를, 가역 부호화부(66)에 공급한다. 그리고, 이 경우, 예측 움직임 벡터 생성부(76)에는, 디폴트의 코드 넘버 할당 정보가 공급된다.
스텝 S75에 있어서, 예측 움직임 벡터 생성부(76)는, 당해 블록에 대하여, 움직임 벡터 버퍼(96)로부터의 시공간에 있어서의 주변 블록의 주변 움직임 벡터 정보를 사용하여, 후보가 되는 모든 예측 움직임 벡터 정보를 생성한다. 그리고, 예측 움직임 벡터 생성부(76)는, 생성된 복수의 예측 움직임 벡터 정보와 함께, 그들에 대하여 각각 할당되어 있는 코드 넘버를, 비용 함수 산출부(92)에 공급한다.
스텝 S76에 있어서, 비용 함수 산출부(92)는, 공급된 정보를 사용하여, 상술한 수학식 15 또는 수학식 16에 의해, 각 인터 예측 모드에서, 각 블록 각각에서, 각 예측 움직임 벡터에 대한 비용 함수값을 산출한다. 비용 함수 산출부(92)는, 차분 움직임 벡터 정보, 예측 움직임 벡터 정보에 대하여 할당된 코드 넘버 및 예측 화상 등, 공급된 정보를 사용하여, 각 인터 예측 모드에 대한 각 블록 각각에서, 각 예측 움직임 벡터 정보에 대한 비용 함수값을 산출한다.
스텝 S77에 있어서, 최적 예측 움직임 벡터 선택부(93)는, 각 예측 모드에 대한 각 블록 각각에 대하여, 비용 함수값에 기초하여, 최적의 예측 움직임 벡터 정보를 선택한다. 이에 의해 선택된 최적 예측 움직임 벡터 정보는, 각 인터 예측 모드에 대한 예측 화상, 비용 함수값, 차분 움직임 벡터 정보, 최적 예측 움직임 벡터 정보와 그것에 대하여 할당된 코드 넘버와 함께, 모드 판정부(94)에 공급된다.
이상과 같이, 코드 넘버의 할당이 변경 가능하게 되었으므로, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을, 예를 들어 부호화 효율 및 주관 화질이 좋아지도록, 변경할 수 있다.
예를 들어, 출현 빈도(비율)가 많은 예측 움직임 벡터 정보에 대하여, 보다 작은 코드 넘버를 할당하거나 행할 수 있으므로, 부호화 효율 및 주관 화질을 향상시킬 수 있다.
부호화된 압축 화상은, 소정의 전송로를 통하여 전송되어, 화상 복호 장치에 의해 복호된다.
[화상 복호 장치의 구성예]
도 20은, 화상 처리 장치로서의 화상 복호 장치의 일 실시 형태의 구성을 나타내고 있다.
화상 복호 장치(101)는, 축적 버퍼(111), 가역 복호부(112), 역양자화부(113), 역직교 변환부(114), 연산부(115), 디블록 필터(116), 화면 재배열 버퍼(117), D/A 변환부(118), 프레임 메모리(119), 스위치(120), 인트라 예측부(121), 움직임 예측·보상부(122), 코드 넘버 할당 버퍼(123), 예측 움직임 벡터 생성부(124) 및 스위치(125)에 의해 구성되어 있다.
축적 버퍼(111)는 전송되어 온 압축 화상을 축적한다. 가역 복호부(112)는, 축적 버퍼(111)로부터 공급된, 도 7의 가역 부호화부(66)에 의해 부호화된 정보를, 가역 부호화부(66)의 부호화 방식에 대응하는 방식으로 복호한다. 역양자화부(113)는 가역 복호부(112)에 의해 복호된 화상을, 도 7의 양자화부(65)의 양자화 방식에 대응하는 방식으로 역양자화한다. 역직교 변환부(114)는, 도 7의 직교 변환부(64)의 직교 변환 방식에 대응하는 방식으로 역양자화부(113)의 출력을 역직교 변환한다.
역직교 변환된 출력은 연산부(115)에 의해 스위치(125)로부터 공급되는 예측 화상과 가산되어 복호된다. 디블록 필터(116)는, 복호된 화상의 블록 왜곡을 제거한 후, 프레임 메모리(119)에 공급하여 축적시킴과 함께, 화면 재배열 버퍼(117)에 출력한다.
화면 재배열 버퍼(117)는, 화상의 재배열을 행한다. 즉, 도 7의 화면 재배열 버퍼(62)에 의해 부호화의 순서를 위하여 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다. D/A 변환부(118)는, 화면 재배열 버퍼(117)로부터 공급된 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력하여, 표시시킨다.
스위치(120)는, 인터 처리되는 화상과 참조되는 화상을 프레임 메모리(119)로부터 판독하여, 움직임 예측·보상부(122)에 출력함과 함께, 인트라 예측에 사용되는 화상을 프레임 메모리(119)로부터 판독하여, 인트라 예측부(121)에 공급한다.
인트라 예측부(121)에는, 헤더 정보를 복호하여 얻어진 인트라 예측 모드를 나타내는 정보가 가역 복호부(112)로부터 공급된다. 인트라 예측부(121)는, 이 정보에 기초하여, 예측 화상을 생성하고, 생성된 예측 화상을, 스위치(125)에 출력한다.
움직임 예측·보상부(122)에는, 헤더 정보를 복호하여 얻어진 정보 중, 인터 예측 모드 정보, 차분 움직임 벡터 정보, 예측 움직임 벡터 정보에 대한 코드 넘버, 참조 프레임 정보 등이 가역 복호부(112)로부터 공급된다. 인터 예측 모드 정보는, 매크로 블록마다 송신되어 온다. 움직임 벡터 정보, 예측 움직임 벡터 정보에 대한 코드 넘버나 참조 프레임 정보는, 대상 블록마다 송신되어 온다.
움직임 예측·보상부(122)는, 가역 복호부(112)로부터 공급되는 예측 움직임 벡터 정보의 코드 넘버를, 예측 움직임 벡터 생성부(124)에 공급하고, 거기에 대응하여 예측 움직임 벡터 생성부(124)에 의해 생성되는 예측 움직임 벡터 정보를 얻는다. 움직임 예측·보상부(122)는, 가역 복호부(112)로부터 공급되는 차분 움직임 벡터 정보와, 예측 움직임 벡터 생성부(124)로부터의 예측 움직임 벡터 정보를 사용하여, 대상 블록의 움직임 벡터 정보를 생성한다. 움직임 예측·보상부(122)는, 생성된 움직임 벡터 정보를 사용하여, 프레임 메모리(119)로부터의 참조 화상에 보상 처리를 행하여, 가역 복호부(112)로부터 공급되는 인터 예측 모드 정보가 나타내는 예측 모드에서, 대상 블록에 대한 예측 화상의 화소값을 생성한다.
코드 넘버 할당 버퍼(123)는, 디폴트(고정 모드의 경우)의 예측 움직임 벡터 정보와 코드 넘버의 대응 관계를 나타내는 정보인 코드 넘버 할당 정보를 축적한다. 또한, 코드 넘버 할당 버퍼(123)는, 가역 복호부(112)로부터 슬라이스마다 예측 움직임 벡터 정보에 대하여 코드 넘버의 할당의 변경 가능한 가변 모드인지, 디폴트의 설정을 사용하는 고정 모드인지를 나타내는 플래그 정보를 수취한다. 이 플래그 정보가 가변 모드를 나타내는 경우, 코드 넘버 할당 버퍼(123)는, 플래그 정보와 함께, 예측 움직임 벡터 정보에 대한 코드 넘버 할당, 즉, 예측 움직임 벡터 정보와 코드 넘버의 대응짓기의 정보도 수취한다. 그리고, 코드 넘버 할당 버퍼(123)는, 그 가변 모드인 경우의 예측 움직임 벡터 정보와 코드 넘버의 대응 관계를 나타내는 코드 넘버 할당 정보를 축적하여, 예측 움직임 벡터 생성부(124)에 공급한다.
예측 움직임 벡터 생성부(124)에는, 블록마다, 움직임 예측·보상부(122)로부터 각 블록의 예측 움직임 벡터 정보에 대한 코드 넘버와, 시공간적으로 주변 블록의 움직임 벡터 정보가 공급된다. 또한, 예측 움직임 벡터 생성부(124)에는, 코드 넘버 할당 버퍼(123)로부터의, 슬라이스마다, 디폴트, 혹은 부호화측에서 설정된 코드 넘버 할당이 공급된다.
예측 움직임 벡터 생성부(124)는, 공급되는 정보를 사용하여, 상술한 수학식 5, 수학식 9 및 수학식 10 중 대응하는 식에 의해, 각 블록의 예측 움직임 벡터 정보를 생성하고, 생성된 예측 움직임 벡터 정보를 움직임 예측·보상부(122)에 공급한다.
스위치(125)는, 움직임 예측·보상부(122) 또는 인트라 예측부(121)에 의해 생성된 예측 화상을 선택하여, 연산부(115)에 공급한다.
또한, 도 7의 움직임 예측·보상부(75) 및 예측 움직임 벡터 생성부(76)에 있어서는, 모든 후보 모드에 대하여 예측 화상의 생성, 복수의 후보 예측 움직임 벡터 정보의 생성 및 비용 함수값의 산출을 행하여, 예측 움직임 벡터 정보의 선택 및 모드 판정을 행할 필요가 있다.
이에 반해, 도 20의 움직임 예측·보상부(122) 및 예측 움직임 벡터 생성부(124)에 있어서는, 압축 화상의 헤더로부터 당해 블록에 대한 모드 정보, 예측 움직임 벡터 정보에 대한 코드 넘버 및 차분 움직임 벡터 정보를 수신하고, 이것을 사용한 움직임 보상 처리만이 행해진다. 또한, 이때, 슬라이스마다 보내져 오는 예측 움직임 벡터 정보에 대한 코드 넘버 할당의 가변 모드 또는 고정 모드를 나타내는 플래그 정보와, 예측 움직임 벡터 정보에 대한 코드 넘버 할당 정보가 이용되어, 예측 움직임 벡터 정보가 생성되고, 그것도 움직임 보상 처리에 사용된다.
[움직임 예측·보상부의 구성예]
도 21은, 움직임 예측·보상부(122)의 상세한 구성예를 도시하는 블록도이다. 또한, 도 17에 있어서는, 도 20의 스위치(120)가 생략되어 있다.
도 21의 예에 있어서는, 움직임 예측·보상부(122)는, 차분 벡터 버퍼(131), 블록 레벨 코드 넘버 버퍼(132), 움직임 벡터 생성부(133), 움직임 벡터 버퍼(134) 및 움직임 보상부(135)에 의해 구성된다.
차분 벡터 버퍼(131)에는, 가역 복호부(112)로부터 블록마다의 차분 움직임 벡터 정보가 공급된다. 차분 벡터 버퍼(131)는, 공급되는 차분 움직임 벡터 정보를 축적하고, 그것을, 움직임 벡터 생성부(133)에 공급한다.
블록 레벨 코드 넘버 버퍼(132)에는, 가역 복호부(112)로부터 각 블록에 대하여, 어느 예측 움직임 벡터 정보를 사용하고 있는지를 가리키는 정보인 코드 넘버가 공급된다. 블록 레벨 코드 넘버 버퍼(132)는, 각 블록의 예측 움직임 벡터 정보의 코드 넘버를 축적하여, 예측 움직임 벡터 생성부(124)에 공급한다.
움직임 벡터 생성부(133)에는, 차분 벡터 버퍼(131)로부터의 각 블록의 차분 움직임 벡터 정보, 예측 움직임 벡터 생성부(124)에 의해 생성된 각 블록의 예측 움직임 벡터 정보가 공급된다. 움직임 벡터 생성부(133)는, 대상 블록의 차분 움직임 벡터 정보에, 대상 블록의 예측 움직임 벡터 정보를 가산하여, 대상 블록의 움직임 벡터 정보를 생성한다. 움직임 벡터 생성부(133)는, 생성된 움직임 벡터 정보를, 움직임 벡터 버퍼(134) 및 움직임 보상부(135)에 공급한다.
움직임 벡터 버퍼(134)는, 움직임 벡터 생성부(133)로부터의 각 블록의 움직임 벡터 정보를, 다음 블록의 예측 움직임 벡터 정보의 생성을 위한 주변 움직임 벡터 정보로서 저장한다. 그리고, 저장된 주변 움직임 벡터 정보는, 예측 움직임 벡터 생성부(124)에 공급된다.
움직임 보상부(135)는, 예측 모드 정보가 나타내는 예측 모드에서, 움직임 벡터 생성부(133)로부터의 움직임 벡터 정보를 사용하여, 프레임 메모리(119)로부터의 참조 화상에 보상 처리를 실시하여, 예측 화상을 생성한다.
[화상 복호 장치의 복호 처리의 설명]
이어서, 도 22의 흐름도를 참조하여, 화상 복호 장치(101)가 실행하는 복호 처리에 대하여 설명한다.
스텝 S131에 있어서, 축적 버퍼(111)는 전송되어 온 화상을 축적한다. 스텝 S132에 있어서, 가역 복호부(112)는, 축적 버퍼(111)로부터 공급되는 압축 화상을 복호한다. 즉, 도 7의 가역 부호화부(66)에 의해 부호화된 I 픽처, P 픽처, 및 B 픽처가 복호된다.
이때, 차분 움직임 벡터 정보, 참조 프레임 정보, 예측 움직임 벡터 정보에 대한 코드 넘버 할당의 플래그 정보(mv_predictor_definition_flag)와, 있으면 그들의 대응 관계를 나타내는 코드 넘버 할당 정보 및 예측 모드 정보(인트라 예측 모드 또는 인터 예측 모드를 나타내는 정보) 등도 복호된다.
즉, 예측 모드 정보가 인트라 예측 모드 정보인 경우, 예측 모드 정보는, 인트라 예측부(121)에 공급된다. 예측 모드 정보가 인터 예측 모드 정보인 경우, 예측 모드 정보와 대응하는 차분 움직임 벡터 정보 및 참조 프레임 정보는, 움직임 예측·보상부(122)에 공급된다. 또한, 예측 움직임 벡터 정보에 대한 코드 넘버 할당의 플래그 정보와, 있으면 그 할당 정보는, 슬라이스마다 코드 넘버 할당 버퍼(123)에 공급된다.
스텝 S133에 있어서, 역양자화부(113)는 가역 복호부(112)에 의해 복호된 변환 계수를, 도 7의 양자화부(65)의 특성에 대응하는 특성으로 역양자화한다. 스텝 S134에 있어서 역직교 변환부(114)는 역양자화부(113)에 의해 역양자화된 변환 계수를, 도 7의 직교 변환부(64)의 특성에 대응하는 특성으로 역직교 변환한다. 이에 의해 도 7의 직교 변환부(64)의 입력(연산부(63)의 출력)에 대응하는 차분 정보가 복호되게 된다.
스텝 S135에 있어서, 연산부(115)는, 후술하는 스텝 S139의 처리에서 선택되어, 스위치(125)를 통하여 입력되는 예측 화상을 차분 정보와 가산한다. 이에 의해 원래의 화상이 복호된다. 스텝 S136에 있어서 디블록 필터(116)는, 연산부(115)로부터 출력된 화상을 필터링한다. 이에 의해 블록 왜곡이 제거된다. 스텝 S137에 있어서 프레임 메모리(119)는, 필터링된 화상을 기억한다.
스텝 S138에 있어서, 인트라 예측부(121) 또는 움직임 예측·보상부(122)는, 가역 복호부(112)로부터 공급되는 예측 모드 정보에 대응하여, 각각 화상의 예측 처리를 행한다.
즉, 가역 복호부(112)로부터 인트라 예측 모드 정보가 공급된 경우, 인트라 예측부(121)는, 인트라 예측 모드의 인트라 예측 처리를 행한다. 가역 복호부(112)로부터 인터 예측 모드 정보가 공급된 경우, 움직임 예측·보상부(122)는, 인터 예측 모드의 움직임 예측·보상 처리를 행한다. 그 때, 예측 움직임 벡터 정보에 대한 코드 넘버 할당의 플래그 정보에 따른 코드 넘버 할당 정보가 사용되어, 예측 움직임 벡터 정보가 생성되고, 그것과 차분 움직임 벡터 정보에 의해, 움직임 벡터 정보가 생성된다. 그리고, 생성된 움직임 벡터 정보가 사용되어, 참조 화상에 대하여 보상 처리가 행해짐으로써, 인터 예측 모드의 예측 화상이 생성된다.
스텝 S138에 있어서의 예측 처리의 상세는, 도 23을 참조하여 후술하겠지만, 이 처리에 의해, 인트라 예측부(121)에 의해 생성된 예측 화상 또는 움직임 예측·보상부(122)에 의해 생성된 예측 화상이 스위치(125)에 공급된다.
스텝 S139에 있어서, 스위치(125)는 예측 화상을 선택한다. 즉, 인트라 예측부(121)에 의해 생성된 예측 화상 또는 움직임 예측·보상부(122)에 의해 생성된 예측 화상이 공급된다. 따라서, 공급된 예측 화상이 선택되어 연산부(115)에 공급되고, 상술한 바와 같이, 스텝 S135에 있어서 역직교 변환부(114)의 출력과 가산된다.
스텝 S140에 있어서, 화면 재배열 버퍼(117)는 재배열을 행한다. 즉 화상 부호화 장치(51)의 화면 재배열 버퍼(62)에 의해 부호화를 위하여 재배열된 프레임의 순서가, 원래 표시의 순서로 재배열된다.
스텝 S141에 있어서, D/A 변환부(118)는, 화면 재배열 버퍼(117)로부터의 화상을 D/A 변환한다. 이 화상이 도시하지 않은 디스플레이에 출력되어, 화상이 표시된다.
[화상 복호 장치의 예측 처리의 설명]
이어서, 도 23의 흐름도를 참조하여, 도 22의 스텝 S138의 예측 처리를 설명한다.
코드 넘버 할당 버퍼(123)는, 스텝 S171에 있어서, 가역 복호부(112)로부터의 슬라이스 헤더에 있어서의 mv_predictor_definition_flag를 수신한다. 그리고, 코드 넘버 할당 버퍼(123)는, 스텝 S172에 있어서, 그 mv_predictor_definition_flag가 1을 나타내는지의 여부를 판정한다.
스텝 S172에 있어서, mv_predictor_definition_flag가 1을 나타낸다고 판정된 경우, 예측 움직임 벡터 정보에 대한 코드 할당의 가변 모드이다. 따라서, 코드 넘버 할당 버퍼(123)는, 스텝 S173에 있어서, 가역 복호부(112)로부터의 슬라이스 헤더에 있어서의 예측 움직임 벡터 정보에 대한 코드 넘버 할당 정보를 수신하여, 일단 축적한다. 그리고, 코드 넘버 할당 버퍼(123)는, 축적된 코드 넘버 할당을, 예측 움직임 벡터 생성부(124)에 공급한다.
또한, 스텝 S172에 있어서, mv_predictor_definition_flag가 0을 나타낸다고 판정된 경우, 예측 움직임 벡터 정보에 대한 코드 할당의 고정 모드이므로, 스텝 S173은 건너뛴다. 이 경우, 코드 넘버 할당 버퍼(123)는, 축적되어 있는 디폴트의 코드 넘버 할당 정보를, 예측 움직임 벡터 생성부(124)에 공급한다.
인트라 예측부(121)는, 스텝 S174에 있어서, 대상 블록이 인트라 부호화되어 있는지의 여부를 판정한다. 가역 복호부(112)로부터 인트라 예측 모드 정보가 인트라 예측부(121)에 공급되면, 인트라 예측부(121)는, 스텝 S174에 있어서, 대상 블록이 인트라 부호화되어 있다고 판정하여, 처리는, 스텝 S175로 진행한다.
인트라 예측부(121)는, 스텝 S175에 있어서, 인트라 예측 모드 정보를 취득하고, 스텝 S176에 있어서, 인트라 예측을 행한다.
즉, 처리 대상의 화상이 인트라 처리되는 화상인 경우, 필요한 화상이 프레임 메모리(119)로부터 판독되어, 스위치(120)를 통하여 인트라 예측부(121)에 공급된다. 스텝 S176에 있어서, 인트라 예측부(121)는, 스텝 S175에서 취득한 인트라 예측 모드 정보에 따라 인트라 예측하여, 예측 화상을 생성한다. 생성된 예측 화상은, 스위치(125)에 출력된다.
한편, 스텝 S174에 있어서, 인트라 부호화되어 있지 않다고 판정된 경우, 처리는, 스텝 S177로 진행한다.
처리 대상의 화상이 인터 처리되는 화상인 경우, 가역 복호부(112)로부터 매크로 블록마다의 인터 예측 모드 정보, 및 블록마다의 참조 프레임 정보, 차분 움직임 벡터 정보 및 예측 움직임 벡터 정보에 대한 코드 넘버가 움직임 예측·보상부(122)에 공급된다.
스텝 S178에 있어서, 움직임 예측·보상부(122)는, 인터 예측 모드 정보, 참조 프레임 정보, 차분 움직임 벡터 정보, 예측 움직임 벡터 정보에 대한 코드 넘버를 취득한다. 취득된 차분 움직임 벡터 정보는, 차분 벡터 버퍼(131)에 축적된다. 예측 움직임 벡터 정보에 대한 코드 넘버는, 블록 레벨 코드 넘버 버퍼(132)에 축적된다. 인터 예측 모드 정보, 참조 프레임 정보는, 도 21의 예에서는 도시되지 않았지만, 움직임 벡터 생성부(133)에 공급된다.
스텝 S178에 있어서, 움직임 벡터 생성부(133) 및 예측 움직임 벡터 생성부(124)는, 움직임 벡터 정보의 재구축을 행한다. 즉, 예측 움직임 벡터 생성부(124)는, 코드 넘버 할당 버퍼(123)로부터의 코드 넘버 할당 정보와 블록 레벨 코드 넘버 버퍼(132)로부터 각 블록의 예측 움직임 벡터 정보에 할당되어 있는 코드 넘버에 기초하여, 예측 움직임 벡터 정보의 종류를 구한다. 그리고, 예측 움직임 벡터 생성부(124)는, 상술한 수학식 5, 수학식 9 및 수학식 19 중 대응하는 식에 의해, 움직임 벡터 버퍼(134)로부터의 주변 움직임 벡터 정보를 사용하여, 각 블록의 예측 움직임 벡터 정보를 생성한다. 생성한 예측 움직임 벡터 정보는, 움직임 벡터 생성부(133)에 공급된다.
움직임 벡터 생성부(133)는, 차분 벡터 버퍼(131)로부터의 대상 블록의 차분 움직임 벡터 정보에, 예측 움직임 벡터 생성부(124)로부터의 대상 블록의 예측 움직임 벡터 정보를 가산하여, 대상 블록의 움직임 벡터 정보를 생성한다. 생성된 움직임 벡터 정보는, 인터 예측 모드 정보와 함께 움직임 보상부(135)에 공급된다. 또한, 움직임 벡터 정보는, 움직임 벡터 버퍼(134)에도 공급되어, 축적된다.
스텝 S179에 있어서, 움직임 보상부(135)는, 예측 모드 정보가 나타내는 예측 모드에서, 움직임 벡터 생성부(133)로부터의 움직임 벡터 정보를 사용하여, 프레임 메모리(119)로부터의 참조 화상에 보상 처리를 실시하여, 예측 화상을 생성한다. 생성된 예측 화상은, 스위치(125)에 출력된다.
이상과 같이, 화상 부호화 장치(51) 및 화상 복호 장치(101)에 있어서는, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당이 변경 가능한 가변 모드가 설정되어 있고, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 변경할 수 있다.
따라서, 유저 또는 어플리케이션에 의해, 부호화 효율이나, 주관 화질이 좋아지도록, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 바꿀 수 있다. 결과적으로, 부호화 효율이나, 주관 화질을 향상시킬 수 있어, 보다 높은 부호화 효율을 달성할 수 있다.
[화상 부호화 장치의 다른 구성예]
도 24는, 화상 처리 장치로서의 화상 부호화 장치의 다른 실시 형태의 구성을 나타내고 있다.
도 24의 화상 부호화 장치(151)는, A/D 변환부(61), 화면 재배열 버퍼(62), 연산부(63), 직교 변환부(64), 양자화부(65), 축적 버퍼(67), 역양자화부(68), 역직교 변환부(69), 연산부(70), 디블록 필터(71), 프레임 메모리(72), 스위치(73), 인트라 예측부(74), 움직임 예측·보상부(75), 예측 움직임 벡터 생성부(76), 예측 화상 선택부(78) 및 레이트 제어부(79)를 구비하고 있는 점이, 도 7의 화상 부호화 장치(51)와 공통되어 있다. 또한, 도 24의 화상 부호화 장치(151)는, 코드 넘버 할당부(77) 및 가역 부호화부(66)가, 각각, 코드 넘버 할당부(161) 및 가역 부호화부(162)로 교체된 점과, 최적 코드 넘버 할당 판정부(163)가 추가된 점이, 도 7의 화상 부호화 장치(51)와 상이하다.
즉, 도 7의 화상 부호화 장치(51)에 있어서는, 예측 움직임 벡터 정보와 코드 넘버의 대응 관계인, 각 예측 움직임 벡터 정보에 대한 코드 넘버의 할당은, 유저나 어플리케이션에 의해 설정되는 것이었다. 이에 반해, 도 24의 화상 부호화 장치(151)에 있어서는, 코드 넘버 할당부(161)에 의해, 당해 픽처 또는 슬라이스에 있어서 가능한, 모든 코드 넘버의 할당 정보가 발생된다. 그리고, 모든 코드 넘버의 할당 정보를 사용한, 당해 픽처 또는 슬라이스에 관한 모든 부호화 정보(압축 화상)가 생성되고, 그들이 일단 가역 부호화부(162)에 축적된다.
이들 부호화 정보는, 최적 코드 넘버 할당 판정부(163)에 모두 공급된다. 최적 코드 넘버 할당 판정부(163)는, 각 할당에 대한 비용 함수값을 생성하고, 그 값이 가장 작아지는 코드 넘버 할당을, 당해 픽처 또는 슬라이스에 대한 최적 할당으로서, 그 정보를, 가역 부호화부(162)에 공급한다.
가역 부호화부(162)는, 축적된 모든 코드 넘버의 할당에 관한 부호화 정보(압축 화상) 중 최적 할당에 관한 것만이, 축적 버퍼(67)에 출력된다.
또한, 이 화상 부호화 장치(151)에 대응하는 복호측의 장치는, 도 20의 화상 복호 장치(101)와 기본적으로 마찬가지의 구성으로 되므로, 그 설명은 생략된다.
이상과 같이, 예측 움직임 벡터 정보에 대한 코드 할당은, 유저나 어플리케이션에 의해 설정되는 것이 아니고, 화상 부호화 장치에 있어서, 부호화 효율이나 주관 화질을 향상시키도록, 예측 움직임 벡터 정보에 대한 코드 할당 중에서 최적의 코드 할당을 정하도록 하는 것도 가능하다.
또한, 상기 설명에 있어서는, 후보의 예측 움직임 벡터 정보로서, 시간 예측 움직임 벡터 정보, 공간 예측 움직임 벡터 정보 및 시공간 예측 움직임 벡터 정보를 사용하여 설명했지만, 물론 후보로서, 그 밖의 예측 움직임 벡터 정보를 사용할 수 있다.
[예측 움직임 벡터 정보]
이상에 있어서는, 예측 움직임 벡터 정보의 생성 방법의 예로서, 비특허문헌 1에 기재된 방법을 사용하도록 설명했지만, 이에 한정하지 않고, 예를 들어 이하와 같은 방법을 적용하도록 해도 좋다.
상술한 비특허문헌 1에 기재된 방법의 경우, 후보가 되는 예측 움직임 벡터 정보인 후보 예측 움직임 벡터 정보의 수가 증가할수록, 연산량 처리량은 증대한다. 또한, 당해 GOP에 있어서, 예를 들어 P 픽처와 같은, 참조되는 픽처의 화질을 향상시킴으로써, 이것을 참조하는 B 픽처의 화질도 향상시키게 된다.
따라서, 움직임 예측·보상부(75)가, 참조되는 픽처(예를 들어 P 픽처 등)에 대하여, 보다 많은 후보 움직임 벡터 정보를 사용하여 움직임 예측·보상(부호화 처리)을 행하도록 해도 좋다. 또한, 움직임 예상·보상부(75)가, 참조되지 않는 픽처(예를 들어 B 픽처 등)에 대하여, 보다 적은 후보 움직임 벡터 정보를 사용하여 움직임 예측·보상(부호화 처리)을 행하거나, 혹은, 비특허문헌 1에 기재된 바와 같은 처리를 행하는 대신, AVC와 마찬가지의 움직임 벡터 부호화를 행하도록 해도 좋다.
예를 들어, 다른 픽처의 처리에 있어서 참조되는 픽처를 부호화한 경우, 예측 움직임 벡터 생성부(76)가, 후보 움직임 벡터 정보를, 다른 픽처의 처리에 있어서 참조되지 않는 픽처를 부호화한 경우보다도 많이 생성하도록 한다. 즉, 이 경우, 최적 예측 움직임 벡터 선택부(93)는, 보다 많은 후보 움직임 벡터 정보 중에서 최적의 예측 움직임 벡터 정보를 선택한다.
또한, 다른 픽처의 처리에 있어서 참조되지 않는 픽처를 부호화한 경우, 예측 움직임 벡터 생성부(76)가, 후보 움직임 벡터 정보를, 다른 픽처의 처리에 있어서 참조되는 픽처를 부호화한 경우보다도 적게 생성하거나, 혹은, AVC와 마찬가지로 단일 예측 움직임 벡터 정보를 생성하도록 한다. 즉, 이 경우, 최적 예측 움직임 벡터 선택부(93)는, 보다 적은 후보 움직임 벡터 정보 중에서 최적의 예측 움직임 벡터 정보를 선택하거나, 혹은 생성된 단일의 예측 움직임 벡터 정보를 최적의 예측 움직임 벡터 정보로 한다.
이와 같이 함으로써, 화상 부호화 장치는, 보다 적은 연산량으로, 부호화 효율을 향상시킬 수 있다.
이 경우도, 화상 부호화 장치는, 어느 후보 예측 움직임 벡터를 사용하는지에 관한 정보를, 각 슬라이스 헤더 혹은 픽처 파라미터 세트에 저장한다(즉, 이들 정보를 복호 장치측에 전송한다).
[매크로 블록]
또한, 상기 설명에 있어서는, 매크로 블록의 크기가, 16×16 화소인 경우에 대하여 설명해 왔지만, 본 기술은, 확장된 매크로 블록 크기에 대해서도 적용하는 것이 가능하다.
도 25는, 확장된 매크로 블록 크기의 예를 나타내는 도면이다.
도 25의 상단에는, 좌측부터, 32×32 화소, 32×16 화소, 16×32 화소 및 16×16 화소의 블록(파티션)으로 분할된 32×32 화소로 구성되는 매크로 블록이 순서대로 도시되어 있다. 도 25의 중간단에는, 좌측부터, 16×16 화소, 16×8 화소, 8×16 화소 및 8×8 화소의 블록으로 분할된 16×16 화소로 구성되는 블록이 순서대로 도시되어 있다. 또한, 도 25의 하단에는, 좌측부터, 8×8 화소, 8×4 화소, 4×8 화소 및 4×4 화소의 블록으로 분할된 8×8 화소의 블록이 순서대로 도시되어 있다.
즉, 32×32 화소의 매크로 블록은, 도 25의 상단에 도시된 32×32 화소, 32×16 화소, 16×32 화소 및 16×16 화소의 블록에서의 처리가 가능하다.
또한, 상단의 우측에 도시된 16×16 화소의 블록은, H.264/AVC 방식과 마찬가지로, 중간단에 도시된 16×16 화소, 16×8 화소, 8×16 화소 및 8×8 화소의 블록에서의 처리가 가능하다.
또한, 중간단의 우측에 도시하는 8×8 화소의 블록은, H.264/AVC 방식과 마찬가지로, 하단에 도시하는 8×8 화소, 8×4 화소, 4×8 화소 및 4×4 화소의 블록에서의 처리가 가능하다.
이러한 계층 구조를 채용함으로써, 확장된 매크로 블록 크기에 있어서는, 16×16 화소의 블록 이하에 관하여 H.264/AVC 방식과 호환성을 유지하면서, 그 수퍼 세트로서, 보다 큰 블록이 정의되어 있다.
이상과 같이 제안되는 확장된 매크로 블록 크기에도, 본 기술을 적용할 수 있다. 확장된 매크로 블록 크기에도, 본 기술이 적용되는 경우, 예를 들어 통상의 매크로 블록과 확장된 매크로 블록에서는, 다른 상기 예측 움직임 벡터 정보에 대한 코드 넘버가 할당된다. 예를 들어, 통상의 매크로 블록은, 16×16 화소로 구성되고, 확장된 매크로 블록은, 32×32 화소로 구성된다.
이상에 있어서는, 부호화 방식으로서 H.264/AVC 방식을 기초로 사용하도록 했지만, 이것에 제한하지 않는다. 즉, 본 기술은, 움직임 예측·보상을 행하고, 또한 움직임 벡터 정보의 부호화에, 복수의 예측 움직임 벡터 정보를 사용하는, 그 밖의 부호화 방식/복호 방식에도 적용할 수 있다.
[코딩 유닛]
그런데, 매크로 블록 크기를 16 화소×16 화소로 하는 것은, 차세대 부호화 방식의 대상으로 되는, UHD(Ultra High Definition; 4000 화소×2000 화소)라고 하는 큰 화면 프레임에 대해서는, 최적은 아니다.
따라서, 현재, AVC보다 더한 부호화 효율의 향상을 목적으로 하여, ITU-T(International Telecommunication Union Telecommunication Standardization Sector)와, ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)이라고 불리는 부호화 방식의 표준화가 진행되고 있다.
AVC에 있어서는, 도 2에 도시된 바와 같이, 매크로 블록과 서브매크로 블록에 의한 계층 구조가 규정되어 있지만, HEVC에 있어서는, 도 31에 도시된 바와 같이 코딩 유닛(CU(Coding Unit))이 규정되어 있다.
CU는, 코딩 트리 블록(Coding Tree Block(CTB))이라고도 불리며, AVC에 있어서의 매크로 블록과 마찬가지의 역할을 하는, 픽처 단위의 화상의 부분 영역이다. 후자는, 16×16 화소의 크기로 고정되어 있는 데 반하여, 전자의 크기는 고정되어 있지 않아, 각각의 시퀀스에 있어서, 화상 압축 정보 중에 있어서 지정되게 된다.
예를 들어, 출력이 되는 부호화 데이터에 포함되는 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))에 있어서, CU의 최대 크기(LCU(Largest Coding Unit))와 최소 크기((SCU(Smallest Coding Unit))가 규정된다.
각각의 LCU 내에서는, SCU의 크기를 하회하지 않는 범위에서, split-flag=1로 함으로써, 보다 작은 크기의 CU로 분할할 수 있다. 도 31의 예에서는, LCU의 크기가 128이며, 최대 계층 심도가 5로 된다. 2N×2N의 크기의 CU는, split_flag의 값이 「1」일 때, 1개 아래의 계층이 되는, N×N의 크기의 CU로 분할된다.
또한, CU는, 인트라 혹은 인터 예측의 처리 단위가 되는 영역(픽처 단위의 화상의 부분 영역)인 프레딕션 유닛(Prediction Unit(PU))으로 분할되고, 또한, 직교 변환의 처리 단위가 되는 영역(픽처 단위의 화상의 부분 영역)인, 트랜스폼 유닛(Transform Unit(TU))으로 분할된다. 현재, HEVC에 있어서는, 4×4 및 8×8 외에, 16×16 및 32×32 직교 변환을 사용하는 것이 가능하다.
이상의 HEVC와 같이, CU를 정의하고, 그 CU를 단위로 하여 각종 처리를 행하는 부호화 방식의 경우, AVC에 있어서의 매크로 블록은 LCU에 상당한다고 생각할 수 있다. 단, CU는 도 31에 도시된 바와 같이 계층 구조를 가지므로, 그 최상위 계층의 LCU의 크기는, 예를 들어 128×128 화소와 같이, AVC의 매크로 블록보다 크게 설정되는 것이 일반적이다.
매크로 블록 대신에 이러한 CU, PU 및 TU 등을 사용하는 부호화 방식에도, 본 기술을 적용할 수 있다. 즉, 예측 처리를 행하는 처리 단위는 임의의 영역이어도 좋다.
또한, 코드 넘버의 전환의 제어는, 임의의 처리 단위로 행해지도록 해도 좋고, 시퀀스, 픽처, 슬라이스뿐만 아니라, 예를 들어 CU나 PU 등의, 예측 처리 단위의 영역마다 행해지도록 해도 좋다. 그 경우, 처리 대상의 영역의 움직임의 특징, 보다 구체적으로는, 처리 대상의 영역(당해 영역)이 정지 화상에 의해 구성되는 영역(정지 영역)인지, 동물체의 화상에 의해 구성되는 영역(동작 영역)인지에 따라, 그 영역에서의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법이 제어된다. 즉, 이 경우, 각 영역에서 그 영역이 정지 영역인지의 여부가 판별된다.
[화상 부호화 장치]
도 32는, 그 경우의 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 32에 도시된 화상 부호화 장치(700)는, 도 7의 화상 부호화 장치(51)와 기본적으로 마찬가지의 장치이며, 화상 데이터를 부호화한다. 또한, 화상 부호화 장치(700)는, 도 31을 참조하여 설명한 바와 같이 프레딕션 유닛(PU)마다 인터 예측을 행하는 것으로 한다.
도 32에 도시된 바와 같이 화상 부호화 장치(700)는, A/D 변환부(701), 화면 재배열 버퍼(702), 연산부(703), 직교 변환부(704), 양자화부(705), 가역 부호화부(706) 및 축적 버퍼(707)를 갖는다. 또한, 화상 부호화 장치(700)는, 역양자화부(708), 역직교 변환부(709), 연산부(710), 루프 필터(711), 프레임 메모리(712), 선택부(713), 인트라 예측부(714), 움직임 예측·보상부(715), 예측 화상 선택부(716) 및 레이트 제어부(717)를 갖는다.
화상 부호화 장치(700)는, 정지 영역 판정부(721) 및 움직임 벡터 부호화부(722)를 더 갖는다.
A/D 변환부(701)는, 입력된 화상 데이터를 A/D 변환하고, 변환 후의 화상 데이터(디지털 데이터)를, 화면 재배열 버퍼(702)에 공급하여, 기억시킨다. 화면 재배열 버퍼(702)는, 기억한 표시 순서의 프레임의 화상을, GOP에 따라 부호화를 위한 프레임의 순서로 재배열하고, 프레임의 순서를 재배열한 화상을 연산부(703)에 공급한다. 또한, 화면 재배열 버퍼(702)는, 프레임의 순서를 재배열한 화상을, 인트라 예측부(714) 및 움직임 예측·보상부(715)에도 공급한다.
연산부(703)는, 화면 재배열 버퍼(702)로부터 판독된 화상으로부터, 예측 화상 선택부(716)를 통하여 인트라 예측부(714) 혹은 움직임 예측·보상부(715)로부터 공급되는 예측 화상을 감산하여, 그 차분 정보를 직교 변환부(704)에 출력한다.
예를 들어, 인터 부호화가 행해지는 화상의 경우, 연산부(703)는, 화면 재배열 버퍼(702)로부터 판독된 화상으로부터, 움직임 예측·보상부(715)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(704)는, 연산부(703)로부터 공급되는 차분 정보에 대하여, 이산 코사인 변환이나 카루넨 루베 변환 등의 직교 변환을 실시한다. 또한, 이 직교 변환의 방법은 임의이다. 직교 변환부(704)는, 그 변환 계수를 양자화부(705)에 공급한다.
양자화부(705)는, 직교 변환부(704)로부터 공급되는 변환 계수를 양자화한다. 양자화부(705)는, 레이트 제어부(717)로부터 공급되는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고, 그 양자화를 행한다. 또한, 이 양자화의 방법은 임의이다. 양자화부(705)는, 양자화된 변환 계수를 가역 부호화부(706)에 공급한다.
가역 부호화부(706)는, 양자화부(705)에 있어서 양자화된 변환 계수를 임의의 부호화 방식으로 부호화한다. 계수 데이터는, 레이트 제어부(717)의 제어 하에서 양자화되어 있으므로, 이 부호량은, 레이트 제어부(717)가 설정한 목표값으로 된다(혹은 목표값에 근사한다).
또한, 가역 부호화부(706)는, 인트라 예측의 모드를 나타내는 정보 등을 인트라 예측부(714)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 움직임 벡터 정보 등을 움직임 예측·보상부(715)로부터 취득한다. 또한, 가역 부호화부(706)는, 루프 필터(711)에 있어서 사용된 필터 계수 등을 취득한다.
가역 부호화부(706)는, 이들 각종 정보를 임의의 부호화 방식으로 부호화하여, 부호화 데이터의 헤더 정보의 일부로 한다(다중화한다). 가역 부호화부(706)는, 부호화하여 얻어진 부호화 데이터를 축적 버퍼(707)에 공급하여 축적시킨다.
가역 부호화부(706)의 부호화 방식으로서는, 예를 들어 가변장 부호화 또는 산술 부호화 등을 들 수 있다. 가변장 부호화로서는, 예를 들어 H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(707)는, 가역 부호화부(706)로부터 공급된 부호화 데이터를 일시적으로 유지한다. 축적 버퍼(707)는, 소정의 타이밍에 있어서, 유지하고 있는 부호화 데이터를, 예를 들어 후단의 도시하지 않은 기록 장치(기록 매체)나 전송로 등에 출력한다.
또한, 양자화부(705)에 있어서 양자화된 변환 계수는, 역양자화부(708)에도 공급된다. 역양자화부(708)는, 그 양자화된 변환 계수를, 양자화부(705)에 의한 양자화에 대응하는 방법으로 역양자화한다. 이 역양자화의 방법은, 양자화부(705)에 의한 양자화 처리에 대응하는 방법이면 어떤 방법이든 좋다. 역양자화부(708)는, 얻어진 변환 계수를 역직교 변환부(709)에 공급한다.
역직교 변환부(709)는, 역양자화부(708)로부터 공급된 변환 계수를, 직교 변환부(704)에 의한 직교 변환 처리에 대응하는 방법으로 역직교 변환한다. 이 역직교 변환의 방법은, 직교 변환부(704)에 의한 직교 변환 처리에 대응하는 방법이면 어떤 것이든 좋다. 역직교 변환된 출력(복원된 차분 정보)은, 연산부(710)에 공급된다.
연산부(710)는, 역직교 변환부(709)로부터 공급된 역직교 변환 결과, 즉, 복원된 차분 정보에, 예측 화상 선택부(716)를 통하여 인트라 예측부(714) 혹은 움직임 예측·보상부(715)로부터 공급되는 예측 화상을 가산하여, 국부적으로 복호된 화상(복호 화상)을 얻는다. 그 복호 화상은, 루프 필터(711) 또는 프레임 메모리(712)에 공급된다.
루프 필터(711)는, 디블록 필터나 적응 루프 필터 등을 포함하고, 연산부(710)로부터 공급되는 복호 화상에 대하여 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(711)는, 복호 화상에 대하여 디블록 필터 처리를 행함으로써 복호 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(711)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 복호 화상)에 대하여, 위너 필터(Wiener Filter)를 사용하여 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(711)가, 복호 화상에 대하여 임의의 필터 처리를 행하도록 해도 좋다. 또한, 루프 필터(711)는, 필요에 따라, 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(706)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
루프 필터(711)는, 필터 처리 결과(필터 처리 후의 복호 화상)를 프레임 메모리(712)에 공급한다. 또한, 상술한 바와 같이, 연산부(710)로부터 출력되는 복호 화상은, 루프 필터(711)를 통하지 않고 프레임 메모리(712)에 공급할 수 있다. 즉, 루프 필터(711)에 의한 필터 처리는 생략할 수 있다.
프레임 메모리(712)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 기억하고 있는 복호 화상을 참조 화상으로서, 선택부(713)에 공급한다.
선택부(713)는, 프레임 메모리(712)로부터 공급되는 참조 화상의 공급처를 선택한다. 예를 들어, 인터 예측의 경우, 선택부(713)는, 프레임 메모리(712)로부터 공급되는 참조 화상을 움직임 예측·보상부(715)에 공급한다.
인트라 예측부(714)는, 선택부(713)를 통하여 프레임 메모리(712)로부터 공급되는 참조 화상인 처리 대상 픽처 내의 화소값을 사용하여, 기본적으로 PU를 처리 단위로 하여 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(714)는, 미리 준비된 복수의 모드(인트라 예측 모드)에서 이 인트라 예측을 행한다. 인트라 예측부(714)는, AVC 부호화 방식에 있어서 규정되는 모드뿐만 아니라, 그 이외의 임의의 모드에서 이 인트라 예측을 행할 수도 있다.
인트라 예측부(714)는, 후보가 되는 모든 인트라 예측 모드에서 예측 화상을 생성하고, 화면 재배열 버퍼(702)로부터 공급되는 입력 화상을 사용하여 각 예측 화상의 비용 함수값을 평가하여, 최적의 모드를 선택한다. 인트라 예측부(714)는, 최적의 인트라 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을 예측 화상 선택부(716)에 공급한다.
또한, 상술한 바와 같이, 인트라 예측부(714)는, 채용된 인트라 예측 모드를 나타내는 인트라 예측 모드 정보 등을 적절히 가역 부호화부(706)에 공급하여, 부호화시킨다.
움직임 예측·보상부(715)는, 화면 재배열 버퍼(702)로부터 공급되는 입력 화상과, 선택부(713)를 통하여 프레임 메모리(712)로부터 공급되는 참조 화상을 사용하여, 기본적으로 PU를 처리 단위로 하여, 움직임 예측(인터 예측)을 행하고, 검출된 움직임 벡터에 따라 움직임 보상 처리를 행하여, 예측 화상(인터 예측 화상 정보)을 생성한다. 움직임 예측·보상부(715)는, 미리 준비된 복수의 모드(인터 예측 모드)에서 이러한 인터 예측을 행한다. 움직임 예측·보상부(715)는, AVC 부호화 방식에 있어서 규정되는 모드뿐만 아니라, 그 이외의 임의의 모드에서 이 인터 예측을 행할 수도 있다.
움직임 예측·보상부(715)는, 후보가 되는 모든 인터 예측 모드에서 예측 화상을 생성하고, 각 예측 화상의 비용 함수값을 평가하여, 최적의 모드를 선택한다. 움직임 예측·보상부(715)는, 최적의 인터 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을 예측 화상 선택부(716)에 공급한다.
또한, 움직임 예측·보상부(715)는, 채용된 인터 예측 모드를 나타내는 정보나, 부호화 데이터를 복호할 때에 그 인터 예측 모드에서 처리를 행하기 위하여 필요한 정보 등을 가역 부호화부(706)에 공급하여, 부호화시킨다.
예측 화상 선택부(716)는, 연산부(703)나 연산부(710)에 공급하는 예측 화상의 공급원을 선택한다. 예를 들어, 인터 부호화의 경우, 예측 화상 선택부(716)는, 예측 화상의 공급원으로서 움직임 예측·보상부(715)를 선택하여, 그 움직임 예측·보상부(715)로부터 공급되는 예측 화상을 연산부(703)나 연산부(710)에 공급한다.
레이트 제어부(717)는, 축적 버퍼(707)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록 양자화부(705)의 양자화 동작의 레이트를 제어한다.
정지 영역 판정부(721)는, 당해 영역이 정지 영역인지의 여부의 판별(정지 영역 판정)을 행한다. 정지 영역 판정부(721)는, 그 정지 영역인지의 여부의 판정 결과를 움직임 벡터 부호화부(722)에 공급한다.
움직임 벡터 부호화부(722)는, 정지 영역 판정부(721)로부터 공급되는, 정지 영역인지의 여부의 판정 결과에 기초하여, MV 컴피티션 모드의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 제어한다.
보다 구체적으로는, 움직임 벡터 부호화부(722)는, 당해 영역의 주변 영역의 움직임 정보를 사용하여 모든 인터 예측 모드에 대하여 모든 예측 움직임 벡터 정보를 생성하고, 생성된 각 예측 움직임 벡터 정보에 대하여, 정지 영역 판정 결과에 기초한 방법으로 코드 넘버를 할당한다. 또한, 움직임 벡터 부호화부(722)는, 각 인터 예측 모드에 대해서, 최적의 예측 움직임 벡터 정보를 결정하고, 그 최적의 예측 움직임 벡터 정보와 당해 영역의 움직임 정보(움직임 벡터)의 차분(차분 움직임 정보)을 생성한다. 움직임 벡터 부호화부(722)는, 생성된 차분 움직임 정보와 예측 움직임 벡터 정보의 코드 넘버를 움직임 예측·보상부(715)에 공급한다.
[정지 영역 판정과 코드 넘버 할당]
우선, 정지 영역 판정부(721)에 의한 정지 영역의 판정에 대하여 보다 구체적으로 설명한다.
정지 영역 판정부(721)에 의한 정지 영역 판정은, 예를 들어 도 33에 도시된 바와 같이, 당해 영역이 처리되는 시점에서 처리 완료된(움직임 정보가 산출 완료된) 참조 픽처의 Co-Located 영역에 대한 움직임 정보를 사용하여 행해진다. 도 33의 예의 경우, 당해 영역은, 도 33의 우측에 나타나는 당해 픽처의 PUcurr이며, 그 Co-Located 영역은, 도 33의 좌측에 나타나는 참조 픽처의 PUcol이다. 정지 영역 판정부(721)는, 이 Co-Located 영역 PUcol의 움직임 벡터 정보의 수평 성분, 수직 성분이다(MVhcol, MVvcol) 및 참조 인덱스 Refcol의 값을 사용하여, 당해 영역 PUcurr의 정지 영역 판정을 행한다.
즉, 정지 영역 판정부(721)는, 임계값을 θ로 하면, 이하의 수학식 17 및 수학식 18이 성립되고, 또한, 수학식 19가 성립되는 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스 Refcol이, 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역 PUcurr를 정지 영역으로서 판정한다.
Figure pat00017
Figure pat00018
Figure pat00019
수학식 19에 있어서 참조 인덱스 Refcol의 값이 0인 것에 의해, 정지 영역 판정부(721)는, 참조 픽처의 Co-Located 영역 PUcol이 대략 틀림없이 정지 화상에 의해 구성되는 정지 영역이라고 판정한다. 또한, 수학식 17 및 수학식 18의 θ의 값으로서는, 입력 화상도 참조 화상도, 부호화 왜곡을 포함하지 않는, 원화상 그 자체이면, 0이어야 한다. 그러나, 실제로는 입력 화상은 원화상 그 자체이지만, 참조 화상은 복호 화상이며 일반적으로 부호화 왜곡을 포함한다. 그로 인해, 정지 화상 영역에서도, 반드시 θ의 값으로서 0이 적절하다고는 할 수 없다.
따라서, 정지 영역 판정부(721)는, 움직임 벡터의 값이 1/4 화소의 정밀도를 갖는 경우, θ=4라고 한다. 즉, 움직임 벡터의 정밀도가, 정수 화소 정밀도로 1.0 이내인 경우, 정지 영역 판정부(721)는, 정지 영역이라고 판정되도록 한다.
이어서, 움직임 벡터 부호화부(722)에 의한 예측 움직임 벡터 정보에의 코드 넘버의 할당에 대해, 보다 구체적으로 설명한다. 이하에 있어서, 프레딕션 유닛 PUx의 움직임 벡터 정보를 MVPUx로 한다.
비특허문헌 1이나, Joel Jung, Guillaume Laroche, "Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06, ITU-Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group(VCEG) 29th Meeting: Klagenfurt, Austria, 17-18 July, 2006(이하, 비특허문헌 2이라고 칭한다)에 있어서는, H.264/AVC 방식에 있어서 정의되어 있는, 상술한 수학식 5에 의해 구해지는 공간 예측 움직임 벡터 정보(Spatial Predictor) 외에, 도 6을 참조하여 설명하는 시간 예측 움직임 벡터 정보(Temporal Predictor) 및 시공간 예측 움직임 벡터 정보(Spatio-Temporal Predictor) 중 어느 하나를, 예측 움직임 벡터 정보로서, 적응시켜 사용한다는 방법이 제안되어 있다.
비특허문헌 2에 있어서는, 가장 큰 코드 넘버가, 시간 예측 움직임 벡터 정보(temporal predictor)에 할당된다. 즉, 이 방법의 경우, 코드 넘버(code number) "y"가 할당되어 있는 예측 움직임 벡터 정보를 PMVy라 하면, 도 33의 예의 경우, 이하의 수학식 20 내지 23과 같이 코드 넘버가 할당된다.
Figure pat00020
Figure pat00021
Figure pat00022
Figure pat00023
상술한 바와 같이 RD 최적화에 의한 모드 판정을 행하는 경우, 특히 보다 낮은 비트 레이트에 있어서는, 보다 작은 코드 넘버가 할당된 모드가 선택되기 쉬워지고, 이로 인해, 비특허문헌 2에 기재된 방법에서는, 동작 영역과 정지 영역 사이에서 열화가 관측되기 쉬워진다.
즉, 도 13을 참조하여 상술한 바와 같이, 동작 영역에 인접하는 정지 영역에서, 공간 방향의 움직임 상관을 이용하면 동작 영역의 움직임 벡터 정보가 정지 영역에 전반하여 화질 열화를 일으킬 우려가 있다. 그러나, 비특허문헌 2에 기재된 방법에서는, 항상 공간 예측 움직임 벡터 정보(Spatial Predictor)에 대하여, 선택되기 쉬운 작은 코드 넘버가 할당되어 있으므로, 동작 영역과 정지 영역 사이에서 열화가 관측되기 쉬워진다.
상술한 바와 같이 움직임 벡터 부호화부(722)도, 처리 대상인 당해 영역의 주변 영역의 움직임 정보를 사용하여 예측 움직임 벡터 정보를 생성한다. 도 33의 예의 경우, 당해 픽처의 PUcurr가 당해 영역이며, 당해 픽처의 PUa, PUb 및 PUc가 당해 영역에 대하여 공간적으로 주변에 위치하는 영역이며, 참조 픽처의 PUcol이 당해 영역에 대하여 시간적으로 주변에 위치하는 영역이다.
이하에 있어서는, 이렇게 공간적 혹은 시간적으로(시공간으로) 주변 영역을 주변 영역이라고 칭한다. 즉, PUa, PUb 및 PUc를 PUcurr의 공간적인 주변 영역이라고 칭하고, PUcol이 PUcurr의 시간적인 주변 영역이라고 칭한다.
움직임 벡터 부호화부(722)는, 이들 주변 영역의 움직임 정보에 대하여 코드 넘버를 할당하지만, 그 때, 정지 영역의 판정 결과에 따라 코드 넘버의 할당 방법을 제어한다. 보다 구체적으로는, 움직임 벡터 부호화부(722)는, 정지 영역 판정에 있어서, 상술한 수학식 17 및 수학식 18이 성립되고, 또한, 수학식 19가 성립되는 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스 Refcol이, 직전의 픽처를 의미하는 POC값을 갖는 경우, 코드 넘버의 할당을, 이하의 수학식 24 내지 27과 같이 변경한다.
Figure pat00024
Figure pat00025
Figure pat00026
Figure pat00027
즉, 정지 영역에 대해서는, 동작 영역에 있어서의 움직임 벡터가 전파하는 것을 억제하기 위해, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 가장 작은 코드 번호를 할당한다. 이와 같이 함으로써, 움직임 벡터 부호화부(722)는, 예측 움직임 벡터 정보의 예측 정밀도를 향상시킬 수 있어, 부호화 효율을 향상시킬 수 있다.
또한, 정지 영역 판정부(721)가 정지 영역의 판정을 프레딕션 유닛마다 행하므로, 움직임 벡터 부호화부(722)는, 그 정지 영역 판정부(721)의 판정에 따라 코드 넘버의 할당을 행함으로써, 예측 움직임 벡터 정보의 예측 정밀도를 더욱 향상시킬 수 있어, 부호화 효율을 의해 향상시킬 수 있다.
또한, 정지 영역이라고 판정된 경우의 코드 넘버의 할당 방법은, 수학식 24 내지 27 이외이어도 좋다. 즉, 적어도, 정지 영역이라고 판정된 경우, 동물체의 화상에 의해 구성되는 동작 영역이라고 판정된 경우보다도, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 보다 작은 코드 넘버를 할당하도록 하면 된다. 예를 들어, 움직임 벡터 부호화부(722)가, MVPUcol에 PMV1이나 PMV2를 할당하도록 해도 좋다.
또한, 정지 영역 판정의 정밀도(정확도)에 따라, 움직임 벡터 부호화부(722)가, 할당하는 코드 넘버를 바꿀 수 있도록 해도 좋다. 예를 들어, 정지 영역 판정을 연판정으로 하고, 보다 확실할수록, 움직임 벡터 부호화부(722)가, 보다 작은 코드 넘버를 할당하도록 해도 좋다.
또한, 이상에 있어서는, 코드 넘버를 할당하는 주변 영역으로서 PUa, PUb, PUc 및 PUcol을 예로 들어 설명했지만, 이들 이외의 임의의 영역을 주변 영역으로 하여, 그 주변 영역의 움직임 벡터 정보에 대해서도 코드 넘버의 할당이 행해지도록 해도 좋다. 즉, 코드 넘버의 할당이 행해지는 주변 영역의 위치뿐만 아니라, 그 수(즉 할당을 행하는 코드 넘버의 수)도 임의이다.
또한, 이상에 있어서는, 공간 예측 움직임 벡터 정보(spatial predictor)에 대하여 보다 작은 코드 넘버를 할당하는 할당 방법을 초기 상태로 하고, 정지 영역 판정부(721)에 의해 당해 영역이 정지 영역이라고 판정된 경우에, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 보다 작은 코드 넘버를 할당하도록 할당 방법을 변경하도록 설명했지만, 이에 한정하지 않고, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 보다 작은 코드 넘버를 할당하는 할당 방법을 초기 상태로 하여, 정지 영역 판정부(721)에 의해 당해 영역이 동작 영역이라고 판정된 경우에, 공간 예측 움직임 벡터 정보(spatial predictor)에 대하여 보다 작은 코드 넘버를 할당하도록 할당 방법을 변경하도록 해도 좋다.
또한, 이상에 있어서는, 정지 영역 판정부(721)에 의해 당해 영역이 정지 영역이라고 판정된 경우, 움직임 벡터 부호화부(722)가, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 보다 작은 코드 넘버를 할당하도록 설명했지만, 또한 강제적으로, 그 시간 예측 움직임 벡터 정보(temporal predictor)를 예측 움직임 벡터 정보로서 선택하도록(후보로서 생성하는 예측 움직임 벡터 정보를 시간 예측 움직임 벡터 정보(MVPUcol)만으로 하도록) 해도 좋다.
이와 같이 함으로써, 움직임 벡터 부호화부(722)는, 보다 확실하게 정지 영역의 예측 움직임 벡터 정보로서, 시간 예측 움직임 벡터 정보(temporal predictor)를 선택할 수 있다. 따라서, 움직임 벡터 부호화부(722)는, 정지 영역에 대하여 동작 영역에 있어서의 움직임 벡터가 전파하는 것을 보다 확실하게 억제할 수 있다. 단, 정지 영역 판정에 있어서 오판정이 발생할 가능성이 있는 경우, 종래와 같이 비용 함수값 등을 사용하여 예측 움직임 벡터 정보를 선택하도록 하는 것이 바람직하다.
또한, 이상에 있어서는, PUa, PUb 및 PUc를 PUcurr의 공간적인 주변 영역으로 하고, PUcol을 PUcurr의 시간적인 주변 영역으로 하여 설명했지만, 공간적인 주변 영역 및 시간적인 주변 영역은, 이들에 한하지 않고, 당해 영역을 처리 대상으로 하는 시점에 있어서 움직임 정보가 생성 완료된 영역이면 어떤 영역이든 좋다.
[움직임 예측·보상부, 정지 영역 판정부, 움직임 벡터 부호화부]
도 34는, 움직임 예측·보상부(715), 정지 영역 판정부(721) 및 움직임 벡터 부호화부(722)의 주된 구성예를 도시하는 블록도이다.
도 34에 도시된 바와 같이, 움직임 예측·보상부(715)는, 움직임 탐색부(731), 비용 함수 산출부(732), 모드 판정부(733), 움직임 보상부(734) 및 움직임 정보 버퍼(735)를 갖는다.
또한, 움직임 벡터 부호화부(722)는, 코드 넘버 할당부(741), 예측 움직임 벡터 생성부(742) 및 차분 움직임 벡터 생성부(743)를 갖는다.
움직임 탐색부(731)에는, 화면 재배열 버퍼(702)로부터의 입력 화상 화소값과, 프레임 메모리(712)로부터의 참조 화상 화소값이 입력된다. 움직임 탐색부(731)는, 모든 인터 예측 모드에 대하여 움직임 탐색 처리를 행하여, 움직임 벡터와 참조 인덱스를 포함하는 움직임 정보를 생성한다. 움직임 탐색부(731)는, 그 움직임 정보를 움직임 벡터 부호화부(722)의 예측 움직임 벡터 생성부(742)에 공급한다.
또한, 정지 영역 판정부(721)는, 움직임 예측·보상부(715)의 움직임 정보 버퍼(735)에 기억되어 있는 주변 영역의 움직임 정보인 주변 움직임 정보를 취득하여, 그 주변 움직임 정보로부터 처리 대상의 영역(당해 영역)이 정지 영역인지의 여부를 판정한다.
예를 들어, 정지 영역 판정부(721)는, 시간적인 주변 영역인 PUcol에 대해서, 상술한 수학식 17 및 수학식 18이 성립되고, 또한, 수학식 19가 성립되는 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스 Refcol이, 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역 PUcurr를 정지 영역으로서 판정한다. 정지 영역 판정부(721)는, 이러한 정지 영역 판정 결과를 움직임 벡터 부호화부(722)의 코드 넘버 할당부(741)에 공급한다.
움직임 벡터 부호화부(722)의 코드 넘버 할당부(741)는, 움직임 예측·보상부(715)의 움직임 정보 버퍼(735)로부터 주변 움직임 정보를 취득함과 함께, 정지 영역 판정부(721)로부터 정지 영역 판정 결과를 취득한다. 코드 넘버 할당부(741)는, 그 정지 영역 판정 결과에 따라, 각 인접 움직임 정보에의 코드 넘버의 할당 방법을 결정하고, 그 할당 방법을 제어하는 코드 넘버 할당 제어 신호를 예측 움직임 벡터 생성부(742)에 공급한다.
예측 움직임 벡터 생성부(742)는, 움직임 탐색부(731)로부터 당해 PU의 각 인터 예측 모드의 움직임 정보를 취득하면, 움직임 정보 버퍼(735)로부터, 각 움직임 정보에 대응하는 주변 움직임 정보를 취득한다. 예측 움직임 벡터 생성부(742)는, 그 주변 움직임 벡터 정보를 사용하여, 비특허문헌 2에 기재한 바와 같이, 후보가 되는 복수의 예측 움직임 벡터 정보의 생성을 행한다. 단, 비특허문헌 2에 기재된 방법과 달리, 각 예측 움직임 벡터 정보에는 코드 넘버 할당부(741)에 의해 설정된 코드 넘버를 할당한다.
즉, 예측 움직임 벡터 생성부(742)는, 당해 PU에 대하여, 상술한 수학식 5에 의해 공간 예측 움직임 벡터 정보(Spatial Predictor)를 생성한다. 또한, 예측 움직임 벡터 생성부(742)는, 당해 PU에 대하여, 상술한 수학식 9에 의해 시간 예측 움직임 벡터 정보(Temporal Predictor)를 생성한다. 또한, 예측 움직임 벡터 생성부(742)는, 당해 PU에 대하여, 수학식 10에 의해 시공간 예측 움직임 벡터(Spatio-Temporal Predictor)를 생성한다. 예측 움직임 벡터 생성부(742)는, 얻어진 각 예측 움직임 벡터 정보에, 코드 넘버 할당부(741)에 의해 설정된 코드 넘버를 할당한다.
그리고, 예측 움직임 벡터 생성부(742)는, 움직임 탐색부(731)로부터 취득한 움직임 정보, 생성된 후보가 되는 각 예측 움직임 벡터 정보, 및 그들에 대하여 각각 할당된 코드 넘버를 차분 움직임 벡터 생성부(743)에 공급한다.
차분 움직임 벡터 생성부(743)는, 각 인터 예측 모드에 대해서, 공급된 예측 움직임 벡터 정보의 후보 중에서 최적의 것을 선택하여, 움직임 정보와 그 예측 움직임 벡터 정보의 차분값을 포함하는 차분 움직임 벡터 정보를 생성한다. 차분 움직임 벡터 생성부(743)는, 생성된 각 인터 예측 모드의 차분 움직임 벡터 정보, 선택한 각 인터 예측 모드의 예측 움직임 벡터 정보 및 그 코드 넘버를 움직임 예측·보상부(715)의 비용 함수 산출부(732)에 공급한다.
또한, 움직임 탐색부(731)는, 탐색한 움직임 벡터 정보를 사용하여, 참조 화상에 보상 처리를 행하여, 예측 화상을 생성한다. 또한, 움직임 탐색부(731)는, 그 예측 화상과 입력 화상의 차분(차분 화소값)을 산출하여, 그 차분 화소값을 비용 함수 산출부(732)에 공급한다.
비용 함수 산출부(732)는, 움직임 탐색부(731)로부터 공급된 각 인터 예측 모드의 차분 화소값을 사용하여, 각 인터 예측 모드의 비용 함수값을 산출한다. 비용 함수 산출부(732)는, 산출한 각 인터 예측 모드의 비용 함수값, 각 인터 예측 모드의 차분 움직임 정보, 각 인터 예측 모드의 예측 움직임 벡터 정보 및 그 코드 넘버를 모드 판정부(733)에 공급한다.
모드 판정부(733)는, 각 인터 예측 모드 중, 어느 모드를 사용하는 것이 최적인지를, 각 인터 예측 모드에 대한 비용 함수값을 사용하여 판정하여, 가장 작은 비용 함수값의 인터 예측 모드를 최적 예측 모드로 한다. 그리고, 모드 판정부(733)는, 그 최적 예측 모드에 관한 정보인 최적 예측 모드 정보, 및 최적 예측 모드에 선택된 인터 예측 모드의, 차분 움직임 정보, 예측 움직임 벡터 정보 및 그 코드 넘버를 움직임 보상부(734)에 공급한다.
움직임 보상부(734)는, 공급된 최적 예측 모드의 차분 움직임 정보와 예측 움직임 벡터 정보로부터 움직임 벡터를 구하고, 구한 움직임 벡터를 사용하여, 프레임 메모리(712)로부터의 참조 화상에 보상을 행함으로써, 최적 예측 모드의 예측 화상을 생성한다.
예측 화상 선택부(716)에 의해 인터 예측이 선택된 경우, 그것을 나타내는 신호가 예측 화상 선택부(716)로부터 공급된다. 이것에 대응하여, 움직임 보상부(734)는, 최적 예측 모드 정보, 및 그 모드의 차분 움직임 벡터 정보 및 그 모드의 예측 움직임 벡터 정보의 코드 넘버를 가역 부호화부(706)에 공급한다.
또한, 움직임 보상부(734)는, 최적 예측 모드에 선택된 모드의 차분 움직임 벡터 정보와 예측 움직임 벡터 정보로부터 구한 움직임 정보, 즉 최적 예측 모드의 움직임 정보를, 움직임 정보 버퍼(735)에 저장한다. 또한, 예측 화상 선택부(716)에 의해 인터 예측이 선택되지 않은 경우(즉, 인트라 예측 화상이 선택된 경우), 움직임 벡터 정보로서, 0벡터가 움직임 정보 버퍼(735)에 저장된다.
움직임 정보 버퍼(735)에는, 과거에 처리된 영역의 최적 예측 모드의 움직임 정보가 저장되어 있다. 저장되어 있는 움직임 정보는, 그 영역보다 시간적으로 후에 처리되는 영역에 대한 처리에 있어서, 주변 움직임 정보로서, 정지 영역 판정부(721), 코드 넘버 할당부(741) 및 예측 움직임 벡터 생성부(742)에 공급된다.
이상과 같이, 정지 영역 판정부(721)가 정지 영역인지의 여부의 판정을 예측 처리 단위마다 행한다. 그리고, 움직임 벡터 부호화부(722)가, 그 정지 영역 판정 결과에 기초하여 코드 넘버의 할당을 제어하여, 정지 영역의 경우, 시간 예측 움직임 벡터 정보(temporal predictor)에 대하여 가장 작은 코드 번호를 할당한다. 그리고, 움직임 예측·보상부(715)는, 그 움직임 벡터 부호화부(722)에 생성된 차분 움직임 정보나 예측 움직임 벡터 정보의 코드 넘버를 부호화시킨다. 따라서, 화상 부호화 장치(700)는, 예측 움직임 벡터 정보의 예측 정밀도를 향상시킬 수 있어, 부호화 효율을 향상시킬 수 있다.
[처리의 흐름]
이어서, 화상 부호화 장치(700)에 있어서 실행되는 처리의 흐름에 대하여 설명한다. 부호화 처리 및 인트라 예측 처리는, 기본적으로 도 16 및 도 17을 참조하여 설명한 흐름도의 경우와 마찬가지로 실행된다. 즉, 화상 부호화 장치(51)가 실행하는 경우와 마찬가지의 처리가 행해진다. 따라서, 이들 설명에 대해서는 생략한다.
이어서, 도 35의 흐름도를 참조하여, 도 16의 스텝 S22에 있어서 실행되는 인터 움직임 예측 처리의 흐름의 예를 설명한다.
인터 움직임 예측 처리가 개시되면, 이 경우, 움직임 탐색부(731)는, 스텝 S701에 있어서, 각 인터 예측 모드에 대하여 움직임 탐색을 행하여 움직임 정보와 차분 화소값을 생성한다.
스텝 S702에 있어서, 정지 영역 판정부(721)는, 움직임 정보 버퍼(735)로부터, 시간적인 주변 영역인 Co-Located 영역의 움직임 정보를 취득한다. 스텝 S703에 있어서, 정지 영역 판정부(721)는, Co-Located 영역의 움직임 정보에 기초하여, 당해 영역이 정지 영역인지의 여부를 판정한다.
스텝 S704에 있어서, 코드 넘버 할당부(741)는, 정지 영역 판정 결과에 따라 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 결정한다.
스텝 S705에 있어서, 예측 움직임 벡터 생성부(742)는, 후보가 되는 모든 예측 움직임 벡터 정보를 생성한다.
스텝 S706에 있어서, 차분 움직임 벡터 생성부(743)는, 각 인터 예측 모드에 대한 최적의 예측 움직임 벡터 정보를 결정한다. 또한, 그 예측 움직임 벡터 정보와 움직임 정보의 움직임 벡터의 차분인 차분 움직임 벡터를 포함하는 차분 움직임 정보를 생성한다.
스텝 S707에 있어서, 비용 함수 산출부(732)는, 각 인터 예측 모드의 비용 함수값을 산출한다.
스텝 S708에 있어서, 모드 판정부(733)는, 스텝 S707에 있어서 산출된 비용 함수값을 사용하여, 최적의 인터 예측 모드인 최적 인터 예측 모드(최적 예측 모드라고도 칭한다)를 결정한다.
스텝 S709에 있어서, 움직임 보상부(734)는, 최적 인터 예측 모드에서 움직임 보상을 행한다. 스텝 S710에 있어서, 움직임 보상부(734)는, 스텝 S709의 움직임 보상에 의해 얻어진 예측 화상을, 예측 화상 선택부(716)를 통하여 연산부(703) 및 연산부(710)에 공급하여, 차분 화상 정보 및 복호 화상을 생성시킨다. 또한, 스텝 S711에 있어서, 움직임 보상부(734)는, 최적 예측 모드 정보, 차분 움직임 정보 및 예측 움직임 벡터 정보의 코드 넘버 등, 최적 인터 예측 모드에 관한 정보를 가역 부호화부(706)에 공급하여, 부호화시킨다.
스텝 S712에 있어서, 움직임 정보 버퍼(735)는, 최적 인터 예측 모드에 선택된 움직임 정보를 기억한다. 움직임 정보를 기억하면, 움직임 정보 버퍼(735)는, 인터 움직임 예측 처리를 종료한다.
이상과 같이, 처리를 행함으로써, 화상 부호화 장치(700)는, 예측 움직임 벡터 정보의 예측 정밀도를 향상시킬 수 있어, 부호화 효율을 향상시킬 수 있다.
[화상 복호 장치]
도 36은, 도 32의 화상 부호화 장치(700)에 대응하는 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 36에 도시하는 화상 복호 장치(800)는, 도 20의 화상 복호 장치(101)와 기본적으로 마찬가지의 장치이다. 화상 복호 장치(800)는, 화상 부호화 장치(700)가 생성한 부호화 데이터를, 그 부호화 방법에 대응하는 복호 방법으로 복호한다. 또한, 화상 복호 장치(800)는, 화상 부호화 장치(700)와 마찬가지로, 프레딕션 유닛(PU)마다 인터 예측을 행하는 것으로 한다.
도 36에 도시된 바와 같이 화상 복호 장치(800)는, 축적 버퍼(801), 가역 복호부(802), 역양자화부(803), 역직교 변환부(804), 연산부(805), 루프 필터(806), 화면 재배열 버퍼(807) 및 D/A 변환부(808)를 갖는다. 또한, 화상 복호 장치(800)는, 프레임 메모리(809), 선택부(810), 인트라 예측부(811), 움직임 예측·보상부(812) 및 선택부(813)를 갖는다.
화상 복호 장치(800)는, 정지 영역 판정부(821) 및 움직임 벡터 복호부(822)를 더 갖는다.
축적 버퍼(801)는 전송되어 온 부호화 데이터를 축적하여, 소정의 타이밍에 있어서 그 부호화 데이터를 가역 복호부(802)에 공급한다. 가역 복호부(802)는, 축적 버퍼(801)로부터 공급된, 도 32의 가역 부호화부(706)에 의해 부호화된 정보를, 가역 부호화부(706)의 부호화 방식에 대응하는 방식으로 복호한다. 가역 복호부(802)는, 복호하여 얻어진 차분 화상의 양자화된 계수 데이터를, 역양자화부(803)에 공급한다. 또한, 가역 복호부(802)는, 최적의 예측 모드에 인트라 예측 모드가 선택되었는지 인터 예측 모드가 선택되었는지를 판정하여, 그 최적의 예측 모드에 관한 정보를, 인트라 예측부(811) 및 움직임 예측·보상부(812) 중 선택되었다고 판정한 모드 쪽에 공급한다.
즉, 예를 들어 화상 부호화 장치(700)에 있어서 최적의 예측 모드로서 인터 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 움직임 예측·보상부(812)에 공급된다.
역양자화부(803)는, 가역 복호부(802)에 의해 복호되어 얻어진 양자화된 계수 데이터를, 도 32의 양자화부(705)의 양자화 방식에 대응하는 방식으로 역양자화하여 얻어진 계수 데이터를 역직교 변환부(804)에 공급한다.
역직교 변환부(804)는, 도 32의 직교 변환부(704)의 직교 변환 방식에 대응하는 방식으로 역양자화부(803)로부터 공급되는 계수 데이터를 역직교 변환한다.
역직교 변환부(804)는, 이 역직교 변환 처리에 의해, 화상 부호화 장치(700)에 있어서 직교 변환되기 전의 잔차 데이터에 대응하는 복호 잔차 데이터를 얻는다.
역직교 변환되어 얻어진 복호 잔차 데이터는, 연산부(805)에 공급된다. 또한, 연산부(805)에는 선택부(813)를 통하여, 인트라 예측부(811) 혹은 움직임 예측·보상부(812)로부터 예측 화상이 공급된다.
연산부(805)는, 그 복호 잔차 데이터와 예측 화상을 가산하여, 화상 부호화 장치(700)의 연산부(703)에 의해 예측 화상이 감산되기 전의 화상 데이터에 대응하는 복호 화상 데이터를 얻는다. 연산부(805)는, 그 복호 화상 데이터를 루프 필터(806)에 공급한다.
루프 필터(806)는, 공급된 복호 화상에 대하여, 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 실시하고, 그것을 화면 재배열 버퍼(807)에 공급한다.
루프 필터(806)는, 디블록 필터나 적응 루프 필터 등을 포함하고, 연산부(805)로부터 공급되는 복호 화상에 대하여 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(806)는, 복호 화상에 대하여 디블록 필터 처리를 행함으로써 복호 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(806)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 복호 화상)에 대하여, 위너 필터(Wiener Filter)를 사용하여 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(806)가, 복호 화상에 대하여 임의의 필터 처리를 행하도록 해도 좋다. 또한, 루프 필터(806)가, 도 32의 화상 부호화 장치(700)로부터 공급된 필터 계수를 사용하여 필터 처리를 행하도록 해도 좋다.
루프 필터(806)는, 필터 처리 결과(필터 처리 후의 복호 화상)를 화면 재배열 버퍼(807) 및 프레임 메모리(809)에 공급한다. 또한, 연산부(805)로부터 출력되는 복호 화상은, 루프 필터(806)를 통하지 않고 화면 재배열 버퍼(807)나 프레임 메모리(809)에 공급할 수 있다. 즉, 루프 필터(806)에 의한 필터 처리는 생략할 수 있다.
화면 재배열 버퍼(807)는, 화상의 재배열을 행한다. 즉, 도 32의 화면 재배열 버퍼(702)에 의해 부호화의 순서를 위하여 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다. D/A 변환부(808)는, 화면 재배열 버퍼(807)로부터 공급된 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력하여, 표시시킨다.
프레임 메모리(809)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 혹은 인트라 예측부(811)나 움직임 예측·보상부(812) 등의 외부의 요구에 기초하여, 기억하고 있는 복호 화상을 참조 화상으로서, 선택부(810)에 공급한다.
선택부(810)는, 프레임 메모리(809)로부터 공급되는 참조 화상의 공급처를 선택한다. 선택부(810)는, 인트라 부호화된 화상을 복호하는 경우, 프레임 메모리(809)로부터 공급되는 참조 화상을 인트라 예측부(811)에 공급한다. 또한, 선택부(810)는, 인터 부호화된 화상을 복호하는 경우, 프레임 메모리(809)로부터 공급되는 참조 화상을 움직임 예측·보상부(812)에 공급한다.
인트라 예측부(811)에는, 헤더 정보를 복호하여 얻어진 인트라 예측 모드를 나타내는 정보 등이 가역 복호부(802)로부터 적절히 공급된다. 인트라 예측부(811)는, 도 32의 인트라 예측부(714)에 있어서 사용된 인트라 예측 모드에서, 프레임 메모리(809)로부터 취득한 참조 화상을 사용하여 인트라 예측을 행하여, 예측 화상을 생성한다. 인트라 예측부(811)는, 생성된 예측 화상을 선택부(813)에 공급한다.
움직임 예측·보상부(812)는, 헤더 정보를 복호하여 얻어진 정보(최적 예측 모드 정보, 차분 정보 및 예측 움직임 벡터 정보의 코드 넘버 등)를 가역 복호부(802)로부터 취득한다.
움직임 예측·보상부(812)는, 도 32의 움직임 예측·보상부(715)에 있어서 사용된 인터 예측 모드에서, 프레임 메모리(809)로부터 취득한 참조 화상을 사용하여 인터 예측을 행하여, 예측 화상을 생성한다. 즉, 움직임 예측·보상부(812)는, 도 32의 움직임 예측·보상부(715)와 마찬가지로, AVC 부호화 방식에 있어서 규정되는 모드 이외의 임의의 모드에서 이 인트라 예측을 행할 수도 있다.
정지 영역 판정부(821)는, 기본적으로 정지 영역 판정부(721)와 마찬가지의 처리를 행하여, 당해 영역이 정지 영역인지의 여부를 판정한다. 즉, 정지 영역 판정부(821)는, 당해 영역의 Co-Located 영역의 움직임 정보로부터, 상술한 수학식 17 및 수학식 18이 성립되고, 또한, 수학식 19가 성립되는 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스 Refcol이, 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역 PUcurr를 정지 영역으로서 판정한다.
정지 영역 판정부(821)는, 이러한 정지 영역의 판정을 예측 처리 단위로 행하여, 그 정지 영역 판정 결과를 움직임 벡터 복호부(822)에 공급한다.
움직임 벡터 복호부(822)는, 정지 영역 판정부(821)로부터 공급되는 정지 영역 판정 결과에 따라, 예측 움직임 벡터 정보에의 코드 넘버의 할당 방법을 제어하고, 그 제어에 따라, 움직임 예측·보상부(812)로부터 공급되는 예측 움직임 벡터 정보의 코드 넘버를 해독하여, 예측 움직임 벡터 정보를 재구축한다.
즉, 움직임 벡터 복호부(822)는, 정지 영역 판정부(821)가, 도 32의 정지 영역 판정부(721)와 마찬가지의 방법으로 판정한 정지 영역 판정 결과에 따라, 코드 넘버의 할당 방법을 제어함으로써, 도 32의 움직임 벡터 부호화부(722)에 의한 코드 넘버의 할당 방법을 정확하게 재현할 수 있다. 이렇게 움직임 벡터 부호화부(722)에 의한 코드 넘버의 할당 방법을 정확하게 재현함으로써, 움직임 벡터 복호부(822)는, 화상 부호화 장치(700)로부터 공급되는 예측 움직임 벡터 정보의 코드 넘버를 정확하게 해독하여, 예측 움직임 벡터 정보를 정확하게 재구축할 수 있다.
움직임 벡터 복호부(822)는, 재구축된 예측 움직임 벡터 정보를 움직임 예측·보상부(812)에 공급한다. 움직임 예측·보상부(812)는, 이 예측 움직임 벡터 정보를 사용하여 움직임 벡터 정보를 재구축하고, 그 움직임 벡터 정보를 사용하여 움직임 보상을 행하여, 예측 화상을 생성한다. 움직임 예측·보상부(812)는, 생성된 예측 화상을 선택부(813)에 공급한다.
선택부(813)는, 연산부(805)에 공급하는 예측 화상의 공급원을 선택한다. 즉, 선택부(813)는, 움직임 예측·보상부(812) 또는 인트라 예측부(811)에 의해 생성된 예측 화상을 연산부(805)에 공급한다.
이와 같이, 정지 영역 판정부(821)에 의한 예측 처리 단위마다의 정지 영역 판정의 판정 결과에 기초하여 예측 움직임 벡터 정보에 할당하는 코드 넘버를 제어함으로써, 움직임 벡터 복호부(822)는, 화상 부호화 장치(700)에 있어서의 코드 넘버의 할당 방법을 정확하게 재현할 수 있다. 따라서, 움직임 벡터 복호부(822)는, 화상 부호화 장치(700)로부터 공급되는 예측 움직임 벡터 정보의 코드 넘버를 정확하게 해독하여, 예측 움직임 벡터 정보를 정확하게 재구축할 수 있다.
따라서, 화상 복호 장치(800)는, 화상 부호화 장치(700)가 부호화한 부호화 데이터를 정확하게 복호할 수 있어, 부호화 효율의 향상을 실현시킬 수 있다.
[움직임 예측·보상부, 정지 영역 판정부, 움직임 벡터 복호부]
도 37은 움직임 예측·보상부(812), 정지 영역 판정부(821) 및 움직임 벡터 복호부(822)의 주된 구성예를 도시하는 블록도이다.
도 37에 도시된 바와 같이, 움직임 예측·보상부(812)는, 차분 움직임 정보 버퍼(831), 예측 움직임 벡터 정보 버퍼(832), 움직임 정보 재구축부(833), 움직임 보상부(834) 및 움직임 정보 버퍼(835)를 갖는다.
또한, 움직임 벡터 복호부(822)는, 코드 넘버 할당부(841) 및 예측 움직임 벡터 재구축부(842)를 갖는다.
차분 움직임 정보 버퍼(831)는, 가역 복호부(802)로부터 공급되는 차분 움직임 정보를 기억한다. 이 차분 움직임 정보는, 화상 부호화 장치(700)로부터 공급된, 최적의 예측 모드로서 선택된 인터 예측 모드의 차분 움직임 정보이다. 차분 움직임 정보 버퍼(831)는, 소정의 타이밍에 있어서, 혹은 움직임 정보 재구축부(833)로부터의 요구에 기초하여, 기억하고 있는 차분 움직임 정보를 움직임 정보 재구축부(833)에 공급한다.
예측 움직임 벡터 정보 버퍼(832)는, 가역 복호부(802)로부터 공급되는 예측 움직임 벡터 정보의 코드 넘버를 기억한다. 이 예측 움직임 벡터 정보의 코드 넘버는, 화상 부호화 장치(700)로부터 공급된 것이며, 최적의 예측 모드로서 선택된 인터 예측 모드의 예측 움직임 벡터 정보에 할당된 코드 넘버이다. 예측 움직임 벡터 정보 버퍼(832)는, 소정의 타이밍에 있어서, 혹은 예측 움직임 벡터 재구축부(842)로부터의 요구에 기초하여, 기억하고 있는 예측 움직임 벡터 정보의 코드 넘버를, 움직임 벡터 복호부(822)의 예측 움직임 벡터 재구축부(842)에 공급한다.
또한, 정지 영역 판정부(821)는, 예측 처리 단위의 영역마다, 움직임 정보 버퍼(835)로부터 Co-Located 영역의 움직임 정보를 주변 움직임 정보로서 취득하여, 정지 영역 판정을 행한다. 정지 영역 판정부(821)는, 그 판정 결과(정지 영역 판정 결과)를 움직임 벡터 복호부(822)의 코드 넘버 할당부(841)에 공급한다.
움직임 벡터 복호부(822)의 코드 넘버 할당부(841)는, 정지 영역 판정부(821)로부터 공급되는 정지 영역 판정 결과에 따라, 코드 넘버의 할당 방법을 예측 처리 단위의 영역마다 제어하여, 코드 넘버 할당 제어 신호를 예측 움직임 벡터 재구축부(842)에 공급한다.
예측 움직임 벡터 재구축부(842)는, 코드 넘버 할당부(841)로부터 예측 처리 단위의 영역마다 지정되는 코드 넘버의 할당 방법을 사용하여, 예측 움직임 벡터 정보 버퍼(832)로부터 취득한 예측 움직임 벡터 정보의 코드 넘버를 해독한다. 예측 움직임 벡터 재구축부(842)는, 해독한 코드 넘버에 대응하는 예측 움직임 벡터 정보를 특정하여, 그 예측 움직임 벡터 정보를 재구축한다. 즉, 예측 움직임 벡터 재구축부(842)는, 코드 넘버에 대응하는 주변 영역의 주변 움직임 정보를 움직임 정보 버퍼(835)로부터 취득하여, 그 주변 움직임 정보를 예측 움직임 벡터 정보로 한다.
예측 움직임 벡터 재구축부(842)는, 재구축된 예측 움직임 벡터 정보를 움직임 예측·보상부(812)의 움직임 정보 재구축부(833)에 공급한다.
움직임 예측·보상부(812)의 움직임 정보 재구축부(833)는, 차분 움직임 정보 버퍼(831)로부터 취득한 차분 움직임 정보에, 예측 움직임 벡터 재구축부(842)로부터 취득한 예측 움직임 벡터 정보를 가산하여, 당해 영역(당해 PU)의 움직임 정보를 재구축한다. 움직임 정보 재구축부(833)는, 재구축된 당해 영역의 움직임 정보를 움직임 보상부(834)에 공급한다.
움직임 보상부(834)는, 그 당해 영역의 움직임 정보를 사용하여, 프레임 메모리(809)로부터 취득한 참조 화상 화소값에 대하여 움직임 보상을 행하여, 예측 화상을 생성한다. 움직임 보상부(834)는, 그 예측 화상 화소값을 선택부(813)를 통하여 연산부(805)에 공급한다.
또한, 움직임 정보 재구축부(833)는, 재구축된 당해 영역의 움직임 정보를 움직임 정보 버퍼(835)에도 공급한다.
움직임 정보 버퍼(835)는, 그 움직임 정보 재구축부(833)로부터 공급되는 당해 영역의 움직임 정보를 기억한다. 움직임 정보 버퍼(835)는, 당해 영역보다도 시간적으로 후에 처리되는 다른 영역에 대한 처리에 있어서, 그 움직임 정보를 주변 움직임 정보로서, 정지 영역 판정부(821)나 예측 움직임 벡터 재구축부(842)에 공급한다.
이상과 같이 각 부가 처리를 행함으로써, 화상 복호 장치(800)는, 화상 부호화 장치(700)가 부호화한 부호화 데이터를 정확하게 복호할 수 있어, 부호화 효율의 향상을 실현시킬 수 있다.
[처리의 흐름]
이어서, 이 화상 복호 장치(800)에 의해 실행되는 처리의 흐름에 대하여 설명한다. 화상 복호 장치(800)는, 부호화 데이터를 복호하는 복호 처리를, 도 22의 흐름도를 참조하여 설명한 것과 마찬가지로 행한다. 즉, 화상 복호 장치(800)는, 기본적으로 화상 복호 장치(101)의 경우와 마찬가지로 복호 처리를 행한다. 단, 도 22의 스텝 S138의 예측 처리는 이하와 같이 실행된다.
도 38의 흐름도를 참조하여, 화상 복호 장치(800)의 경우에, 도 22의 스텝 S138에 있어서 실행되는 예측 처리의 흐름의 예를 설명한다.
예측 처리가 개시되면, 가역 복호부(802)는, 스텝 S801에 있어서, 화상 부호화 장치(700)로부터 공급된 최적의 예측 모드에 관한 정보에 기초하여, 처리 대상의 부호화 데이터가 인트라 부호화되어 있는지의 여부를 판정한다. 인트라 부호화되어 있다고 판정된 경우, 가역 복호부(802)는, 처리를 스텝 S802로 진행시킨다.
스텝 S802에 있어서, 인트라 예측부(811)는, 인트라 예측 모드 정보를 취득한다. 스텝 S803에 있어서, 인트라 예측부(811)는, 스텝 S802에 있어서 취득한 인트라 예측 모드 정보를 사용하여 인트라 예측을 행하여, 예측 화상을 생성한다. 예측 화상을 생성하면, 인트라 예측부(811)는, 예측 처리를 종료하고, 처리를 도 22로 되돌린다.
또한, 스텝 S801에 있어서, 인터 부호화되어 있다고 판정된 경우, 가역 복호부(802)는, 처리를 스텝 S804로 진행시킨다.
스텝 S804에 있어서, 움직임 예측·보상부(812)는, 인터 움직임 예측 처리를 행한다. 인터 움직임 예측 처리가 종료되면, 움직임 예측·보상부(812)는, 예측 처리를 종료하고, 처리를 도 22로 되돌린다.
이어서, 도 39의 흐름도를 참조하여, 도 38의 스텝 S804에 있어서 실행되는 인터 움직임 예측 처리의 흐름의 예를 설명한다.
인터 움직임 예측 처리가 개시되면, 스텝 S821에 있어서, 움직임 예측·보상부(812)는, 당해 영역에 대한 움직임 예측에 관한 정보를 취득한다. 예를 들어, 예측 움직임 벡터 정보 버퍼(832)는, 예측 움직임 벡터 정보의 코드 넘버를 취득하고, 차분 움직임 정보 버퍼(831)는, 차분 움직임 정보를 취득한다.
스텝 S822에 있어서, 정지 영역 판정부(821)는, 움직임 정보 버퍼(835)로부터, Co-Located 영역의 움직임 정보를 취득한다. 스텝 S823에 있어서, 정지 영역 판정부(821)는, 그 정보에 기초하여, 상술한 바와 같이 당해 영역이 정지 영역인지의 여부를 판정한다.
스텝 S824에 있어서, 코드 넘버 할당부(841)는, 스텝 S823의 정지 영역 판정 결과에 따라 예측 움직임 벡터 정보에 대한 코드 넘버의 할당을 결정한다. 스텝 S825에 있어서, 예측 움직임 벡터 재구축부(842)는, 예측 움직임 벡터 정보의 코드 넘버를, 스텝 S824에 있어서 결정된 할당에 따라 해독하여, 예측 움직임 벡터 정보를 재구축한다.
스텝 S826에 있어서, 움직임 정보 재구축부(833)는, 스텝 S825에 있어서 재구축된 예측 움직임 벡터 정보와, 스텝 S821에 있어서 취득된 차분 움직임 정보를 사용하여, 당해 영역의 움직임 정보를 재구축한다.
스텝 S827에 있어서, 움직임 보상부(834)는, 스텝 S826에 있어서 재구축된 움직임 정보에 의해, 프레임 메모리(809)로부터 취득한 참조 화상에 대하여 움직임 보상을 행한다.
스텝 S828에 있어서, 움직임 보상부(834)는, 스텝 S827의 처리에 의해 생성된 예측 화상을, 선택부(813)를 통하여 연산부(805)에 공급하여, 복호 화상을 생성시킨다. 스텝 S829에 있어서, 움직임 정보 버퍼(835)는, 스텝 S826에 있어서 재구축된 움직임 정보를 기억한다. 이 움직임 정보는, 시간적으로 후에 행해지는 다른 영역에 대한 처리에 있어서, 주변 움직임 정보로서 사용된다.
움직임 정보가 기억되면, 움직임 정보 버퍼(835)는, 인터 움직임 예측 처리를 종료하고, 처리를 도 38로 되돌린다.
이상과 같이 각 처리를 행함으로써, 화상 복호 장치(800)는, 화상 부호화 장치(700)가 부호화한 부호화 데이터를 정확하게 복호할 수 있어, 부호화 효율의 향상을 실현시킬 수 있다.
또한, 본 기술은, 예를 들어 MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를, 위성 방송, 케이블 텔레비전, 인터넷 또는 휴대 전화기 등의 네트워크 매체를 통하여 수신할 때에 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은, 광자기 디스크 및 플래시 메모리와 같은 기억 매체상에서 처리할 때에 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은, 그들 화상 부호화 장치 및 화상 복호 장치 등에 포함되는 움직임 예측 보상 장치에도 적용할 수 있다.
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한 범용의 퍼스널 컴퓨터 등이 포함된다.
[퍼스널 컴퓨터의 구성예]
도 26은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
컴퓨터에 있어서, CPU(Central Processing Unit)(201), ROM(Read Only Memory)(202), RAM(Random Access Memory)(203)는, 버스(204)에 의해 서로 접속되어 있다.
버스(204)에는, 입출력 인터페이스(205)가 더 접속되어 있다. 입출력 인터페이스(205)에는, 입력부(206), 출력부(207), 기억부(208), 통신부(209) 및 드라이브(210)가 접속되어 있다.
입력부(206)는, 키보드, 마우스, 마이크로폰 등으로 이루어진다. 출력부(207)는, 디스플레이, 스피커 등으로 이루어진다. 기억부(208)는, 하드 디스크나 불휘발성 메모리 등으로 이루어진다. 통신부(209)는, 네트워크 인터페이스 등으로 이루어진다. 드라이브(210)는, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 이동식 매체(211)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(201)가, 예를 들어 기억부(208)에 기억되어 있는 프로그램을 입출력 인터페이스(205) 및 버스(204)를 통하여 RAM(203)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(CPU(201))가 실행하는 프로그램은, 예를 들어 패키지 매체 등으로서의 이동식 매체(211)에 기록하여 제공할 수 있다. 또한, 프로그램은, 근거리 네트워크, 인터넷, 디지털 방송이라는, 유선 또는 무선의 전송 매체를 통하여 제공할 수 있다.
컴퓨터에서는, 프로그램은, 이동식 매체(211)를 드라이브(210)에 장착함으로써, 입출력 인터페이스(205)를 통하여 기억부(208)에 인스톨할 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통하여, 통신부(209)로 수신하여, 기억부(208)에 인스톨할 수 있다. 그 외, 프로그램은, ROM(202)이나 기억부(208)에 미리 인스톨해 둘 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서를 따라 시계열로 처리가 행해지는 프로그램이어도 좋고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 좋다.
본 발명의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.
예를 들어, 상술한 화상 부호화 장치나, 화상 복호 장치는, 임의의 전자 기기에 적용할 수 있다. 이하에 그 예에 대하여 설명한다.
[텔레비전 수상기의 구성예]
도 27은, 화상 복호 장치를 사용하는 텔레비전 수상기의 주된 구성예를 도시하는 블록도이다.
도 27에 도시하는 텔레비전 수상기(300)는, 지상파 튜너(313), 비디오 디코더(315), 영상 신호 처리 회로(318), 그래픽 생성 회로(319), 패널 구동 회로(320) 및 표시 패널(321)을 갖는다.
지상파 튜너(313)는, 지상 아날로그 방송의 방송파 신호를, 안테나를 통하여 수신하여, 복조하고, 영상 신호를 취득하여, 그것을 비디오 디코더(315)에 공급한다. 비디오 디코더(315)는, 지상파 튜너(313)로부터 공급된 영상 신호에 대하여 디코드 처리를 실시하여, 얻어진 디지털의 컴포넌트 신호를 영상 신호 처리 회로(318)에 공급한다.
영상 신호 처리 회로(318)는, 비디오 디코더(315)로부터 공급된 영상 데이터에 대하여 노이즈 제거 등의 소정의 처리를 실시하여, 얻어진 영상 데이터를 그래픽 생성 회로(319)에 공급한다.
그래픽 생성 회로(319)는, 표시 패널(321)에 표시시키는 프로그램의 영상 데이터나, 네트워크를 통하여 공급되는 어플리케이션에 기초하는 처리에 의한 화상 데이터 등을 생성하고, 생성된 영상 데이터나 화상 데이터를 패널 구동 회로(320)에 공급한다. 또한, 그래픽 생성 회로(319)는, 항목의 선택 등에 유저에 의해 이용되는 화면을 표시하기 위한 영상 데이터(그래픽)를 생성하고, 그것을 프로그램의 영상 데이터에 중첩하거나 함으로써 얻어진 영상 데이터를 패널 구동 회로(320)에 공급한다는 처리도 적절히 행한다.
패널 구동 회로(320)는, 그래픽 생성 회로(319)로부터 공급된 데이터에 기초하여 표시 패널(321)을 구동하여, 프로그램의 영상이나 상술한 각종 화면을 표시 패널(321)에 표시시킨다.
표시 패널(321)은 LCD(Liquid Crystal Display) 등으로 이루어지고, 패널 구동 회로(320)에 의한 제어에 따라 프로그램의 영상 등을 표시시킨다.
또한, 텔레비전 수상기(300)는, 음성 A/D(Analog/Digital) 변환 회로(314), 음성 신호 처리 회로(322), 에코 캔슬/음성 합성 회로(323), 음성 증폭 회로(324) 및 스피커(325)도 갖는다.
지상파 튜너(313)는, 수신한 방송파 신호를 복조함으로써, 영상 신호뿐만 아니라 음성 신호도 취득한다. 지상파 튜너(313)는, 취득한 음성 신호를 음성 A/D 변환 회로(314)에 공급한다.
음성 A/D 변환 회로(314)는, 지상파 튜너(313)로부터 공급된 음성 신호에 대하여 A/D 변환 처리를 실시하여, 얻어진 디지털의 음성 신호를 음성 신호 처리 회로(322)에 공급한다.
음성 신호 처리 회로(322)는, 음성 A/D 변환 회로(314)로부터 공급된 음성 데이터에 대하여 노이즈 제거 등의 소정의 처리를 실시하여, 얻어진 음성 데이터를 에코 캔슬/음성 합성 회로(323)에 공급한다.
에코 캔슬/음성 합성 회로(323)는, 음성 신호 처리 회로(322)로부터 공급된 음성 데이터를 음성 증폭 회로(324)에 공급한다.
음성 증폭 회로(324)는, 에코 캔슬/음성 합성 회로(323)로부터 공급된 음성 데이터에 대하여 D/A 변환 처리, 증폭 처리를 실시하여, 소정의 음량으로 조정한 후, 음성을 스피커(325)로부터 출력시킨다.
또, 텔레비전 수상기(300)는, 디지털 튜너(316) 및 MPEG 디코더(317)도 갖는다.
디지털 튜너(316)는, 디지털 방송(지상 디지털 방송, BS(Broadcasting Satellite)/CS(Communications Satellite) 디지털 방송)의 방송파 신호를, 안테나를 통하여 수신하여, 복조하고, MPEG-TS(Moving Picture Experts Group-Transport Stream)를 취득하여, 그것을 MPEG 디코더(317)에 공급한다.
MPEG 디코더(317)는, 디지털 튜너(316)로부터 공급된 MPEG-TS에 실시되어 있는 스크램블을 해제하고, 재생 대상(시청 대상)으로 되어 있는 프로그램의 데이터를 포함하는 스트림을 추출한다. MPEG 디코더(317)는, 추출한 스트림을 구성하는 음성 패킷을 디코드하여, 얻어진 음성 데이터를 음성 신호 처리 회로(322)에 공급함과 함께, 스트림을 구성하는 영상 패킷을 디코드하여, 얻어진 영상 데이터를 영상 신호 처리 회로(318)에 공급한다. 또한, MPEG 디코더(317)는, MPEG-TS로부터 추출한 EPG(Electronic Program Guide) 데이터를 도시하지 않은 경로를 통하여 CPU(332)에 공급한다.
텔레비전 수상기(300)는, 이렇게 영상 패킷을 디코드하는 MPEG 디코더(317)로서, 상술한 화상 복호 장치를 사용한다. 따라서, MPEG 디코더(317)는, 상술한 화상 복호 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
MPEG 디코더(317)로부터 공급된 영상 데이터는, 비디오 디코더(315)로부터 공급된 영상 데이터의 경우와 마찬가지로, 영상 신호 처리 회로(318)에 있어서 소정의 처리가 실시된다. 그리고, 소정의 처리가 실시된 영상 데이터는, 그래픽 생성 회로(319)에 있어서, 생성된 영상 데이터 등이 적절히 중첩되고, 패널 구동 회로(320)를 통하여 표시 패널(321)에 공급되어, 그 화상이 표시된다.
MPEG 디코더(317)로부터 공급된 음성 데이터는, 음성 A/D 변환 회로(314)로부터 공급된 음성 데이터의 경우와 마찬가지로, 음성 신호 처리 회로(322)에 있어서 소정의 처리가 실시된다. 그리고, 소정의 처리가 실시된 음성 데이터는, 에코 캔슬/음성 합성 회로(323)를 통하여 음성 증폭 회로(324)에 공급되어, D/A 변환 처리나 증폭 처리가 실시된다. 그 결과, 소정의 음량으로 조정된 음성이 스피커(325)로부터 출력된다.
또한, 텔레비전 수상기(300)는, 마이크로폰(326) 및 A/D 변환 회로(327)도 갖는다.
A/D 변환 회로(327)는, 음성 회화용의 것으로서 텔레비전 수상기(300)에 설치되는 마이크로폰(326)에 의해 도입된 유저의 음성의 신호를 수신한다. A/D 변환 회로(327)는, 수신한 음성 신호에 대하여 A/D 변환 처리를 실시하여, 얻어진 디지털의 음성 데이터를 에코 캔슬/음성 합성 회로(323)에 공급한다.
에코 캔슬/음성 합성 회로(323)는, 텔레비전 수상기(300)의 유저(유저 A)의 음성의 데이터가 A/D 변환 회로(327)로부터 공급되어 있는 경우, 유저 A의 음성 데이터를 대상으로 하여 에코 캔슬을 행한다. 그리고, 에코 캔슬/음성 합성 회로(323)는, 에코 캔슬 후, 다른 음성 데이터와 합성하거나 하여 얻어진 음성의 데이터를, 음성 증폭 회로(324)를 통하여 스피커(325)로부터 출력시킨다.
또한, 텔레비전 수상기(300)는, 음성 코덱(328), 내부 버스(329), SDRAM(Synchronous Dynamic Random Access Memory)(330), 플래시 메모리(331), CPU(332), USB(Universal Serial Bus) I/F(333) 및 네트워크 I/F(334)도 갖는다.
A/D 변환 회로(327)는, 음성 회화용의 것으로서 텔레비전 수상기(300)에 설치되는 마이크로폰(326)에 의해 수취된 유저의 음성의 신호를 수신한다. A/D 변환 회로(327)는, 수신한 음성 신호에 대하여 A/D 변환 처리를 실시하여, 얻어진 디지털의 음성 데이터를 음성 코덱(328)에 공급한다.
음성 코덱(328)는, A/D 변환 회로(327)로부터 공급된 음성 데이터를, 네트워크 경유로 송신하기 위한 소정의 포맷의 데이터로 변환하여, 내부 버스(329)를 통하여 네트워크 I/F(334)에 공급한다.
네트워크 I/F(334)는, 네트워크 단자(335)에 장착된 케이블을 통하여 네트워크에 접속된다. 네트워크 I/F(334)는, 예를 들어 그 네트워크에 접속되는 다른 장치에 대하여, 음성 코덱(328)으로부터 공급된 음성 데이터를 송신한다. 또한, 네트워크 I/F(334)는, 예를 들어 네트워크를 통하여 접속되는 다른 장치로부터 송신되는 음성 데이터를, 네트워크 단자(335)를 통하여 수신하고, 그것을 내부 버스(329)를 통하여 음성 코덱(328)에 공급한다.
음성 코덱(328)는, 네트워크 I/F(334)로부터 공급된 음성 데이터를 소정의 포맷의 데이터로 변환하고, 그것을 에코 캔슬/음성 합성 회로(323)에 공급한다.
에코 캔슬/음성 합성 회로(323)는, 음성 코덱(328)으로부터 공급되는 음성 데이터를 대상으로 하여 에코 캔슬을 행하고, 다른 음성 데이터와 합성하거나 하여 얻어진 음성의 데이터를, 음성 증폭 회로(324)를 통하여 스피커(325)로부터 출력시킨다.
SDRAM(330)은, CPU(332)가 처리를 행하는 데 있어서 필요한 각종 데이터를 기억한다.
플래시 메모리(331)는, CPU(332)에 의해 실행되는 프로그램을 기억한다. 플래시 메모리(331)에 기억되어 있는 프로그램은, 텔레비전 수상기(300)의 기동 시 등의 소정의 타이밍에 CPU(332)에 의해 판독된다. 플래시 메모리(331)에는, 디지털 방송을 통하여 취득된 EPG 데이터, 네트워크를 통하여 소정의 서버로부터 취득된 데이터 등도 기억된다.
예를 들어, 플래시 메모리(331)에는, CPU(332)의 제어에 의해 네트워크를 통하여 소정의 서버로부터 취득된 콘텐츠 데이터를 포함하는 MPEG-TS가 기억된다. 플래시 메모리(331)는, 예를 들어 CPU(332)의 제어에 의해, 그 MPEG-TS를, 내부 버스(329)를 통하여 MPEG 디코더(317)에 공급한다.
MPEG 디코더(317)는, 디지털 튜너(316)로부터 공급된 MPEG-TS의 경우와 마찬가지로, 그 MPEG-TS를 처리한다. 이렇게 텔레비전 수상기(300)는, 영상이나 음성 등으로 이루어지는 콘텐츠 데이터를, 네트워크를 통하여 수신하고, MPEG 디코더(317)를 사용하여 디코드하여, 그 영상을 표시시키거나, 음성을 출력시키거나 할 수 있다.
또한, 텔레비전 수상기(300)는, 리모트 컨트롤러(351)로부터 송신되는 적외선 신호를 수광하는 수광부(337)도 갖는다.
수광부(337)는, 리모트 컨트롤러(351)로부터의 적외선을 수광하고, 복조하여 얻어진 유저 조작의 내용을 나타내는 제어 코드를 CPU(332)에 출력한다.
CPU(332)는, 플래시 메모리(331)에 기억되어 있는 프로그램을 실행하여, 수광부(337)로부터 공급되는 제어 코드 등에 따라 텔레비전 수상기(300)의 전체 동작을 제어한다. CPU(332)와 텔레비전 수상기(300)의 각 부는, 도시하지 않은 경로를 통하여 접속되어 있다.
USB I/F(333)는, USB 단자(336)에 장착된 USB 케이블을 통하여 접속되는, 텔레비전 수상기(300)의 외부의 기기 사이에서 데이터의 송수신을 행한다. 네트워크 I/F(334)는, 네트워크 단자(335)에 장착된 케이블을 통하여 네트워크에 접속하여, 네트워크에 접속되는 각종 장치와 음성 데이터 이외의 데이터의 송수신도 행한다.
텔레비전 수상기(300)는, MPEG 디코더(317)로서 상술한 화상 복호 장치를 사용함으로써, 부호화 효율을 향상시킬 수 있다. 그 결과로서, 텔레비전 수상기(300)는, 안테나를 통하여 수신한 방송파 신호나, 네트워크를 통하여 취득한 콘텐츠 데이터로부터, 보다 고정밀의 복호 화상을 얻어, 표시할 수 있다.
[휴대 전화기의 구성예]
도 28은, 화상 부호화 장치 및 화상 복호 장치를 사용하는 휴대 전화기의 주된 구성예를 도시하는 블록도이다.
도 28에 도시하는 휴대 전화기(400)는, 각 부를 통괄적으로 제어하도록 이루어진 주제어부(450), 전원 회로부(451), 조작 입력 제어부(452), 화상 인코더(453), 카메라 I/F부(454), LCD 제어부(455), 화상 디코더(456), 다중 분리부(457), 기록 재생부(462), 변복조 회로부(458) 및 음성 코덱(459)을 갖는다. 이들은, 버스(460)를 통하여 서로 접속되어 있다.
또한, 휴대 전화기(400)는, 조작 키(419), CCD(Charge Coupled Devices) 카메라(416), 액정 디스플레이(418), 기억부(423), 송수신 회로부(463), 안테나(414), 마이크로폰(마이크)(421) 및 스피커(417)를 갖는다.
전원 회로부(451)는, 유저의 조작에 의해 종화 및 전원 키가 온 상태로 되면, 배터리 팩으로부터 각 부에 대하여 전력을 공급함으로써 휴대 전화기(400)를 동작 가능한 상태로 기동한다.
휴대 전화기(400)는, CPU, ROM 및 RAM 등으로 이루어지는 주제어부(450)가 제어에 기초하여, 음성 통화 모드나 데이터 통신 모드 등의 각종 모드에서, 음성 신호의 송수신, 전자 메일이나 화상 데이터의 송수신, 화상 촬영 또는 데이터 기록 등의 각종 동작을 행한다.
예를 들어, 음성 통화 모드에서, 휴대 전화기(400)는, 마이크로폰(마이크) (421)으로 집음한 음성 신호를, 음성 코덱(459)에 의해 디지털 음성 데이터로 변환하고, 이것을 변복조 회로부(458)에서 스펙트럼 확산 처리하고, 송수신 회로부(463)에서 디지털/아날로그 변환 처리 및 주파수 변환 처리한다. 휴대 전화기(400)는, 그 변환 처리에 의해 얻어진 송신용 신호를, 안테나(414)를 통하여 도시하지 않은 기지국에 송신한다. 기지국에 전송된 송신용 신호(음성 신호)는, 공중 전화 회선망을 통하여 통화 상대의 휴대 전화기에 공급된다.
또한, 예를 들어 음성 통화 모드에서, 휴대 전화기(400)는, 안테나(414)로 수신한 수신 신호를 송수신 회로부(463)에서 증폭하고, 또한 주파수 변환 처리 및 아날로그/디지털 변환 처리하고, 변복조 회로부(458)에서 스펙트럼 역확산 처리하고, 음성 코덱(459)에 의해 아날로그 음성 신호로 변환한다. 휴대 전화기(400)는, 그 변환하여 얻어진 아날로그 음성 신호를 스피커(417)로부터 출력한다.
또한, 예를 들어 데이터 통신 모드에서 전자 메일을 송신하는 경우, 휴대 전화기(400)는, 조작 키(419)의 조작에 의해 입력된 전자 메일의 텍스트 데이터를, 조작 입력 제어부(452)에 있어서 접수한다. 휴대 전화기(400)는, 그 텍스트 데이터를 주제어부(450)에 있어서 처리하고, LCD 제어부(455)를 통하여, 화상으로서 액정 디스플레이(418)에 표시시킨다.
또한, 휴대 전화기(400)는, 주제어부(450)에 있어서, 조작 입력 제어부(452)가 접수한 텍스트 데이터나 유저 지시 등에 기초하여 전자 메일 데이터를 생성한다. 휴대 전화기(400)는, 그 전자 메일 데이터를 변복조 회로부(458)에서 스펙트럼 확산 처리하고, 송수신 회로부(463)에서 디지털/아날로그 변환 처리 및 주파수 변환 처리한다. 휴대 전화기(400)는, 그 변환 처리에 의해 얻어진 송신용 신호를, 안테나(414)를 통하여 도시하지 않은 기지국에 송신한다. 기지국에 전송된 송신용 신호(전자 메일)는, 네트워크 및 메일 서버 등을 통하여 소정의 수신처에 공급된다.
또한, 예를 들어 데이터 통신 모드에서 전자 메일을 수신한 경우, 휴대 전화기(400)는, 기지국으로부터 송신된 신호를, 안테나(414)를 통하여 송수신 회로부(463)에서 수신하고, 증폭하고, 또한 주파수 변환 처리 및 아날로그/디지털 변환 처리한다. 휴대 전화기(400)는, 그 수신 신호를 변복조 회로부(458)에서 스펙트럼 역확산 처리하여 원래의 전자 메일 데이터를 복원한다. 휴대 전화기(400)는, 복원된 전자 메일 데이터를, LCD 제어부(455)를 통하여 액정 디스플레이(418)에 표시한다.
또한, 휴대 전화기(400)는, 수신한 전자 메일 데이터를, 기록 재생부(462)를 통하여 기억부(423)에 기록하는(기억시키는) 것도 가능하다.
이 기억부(423)는, 재기입 가능한 임의의 기억 매체이다. 기억부(423)는, 예를 들어 RAM이나 내장형 플래시 메모리 등의 반도체 메모리이어도 좋고, 하드 디스크이어도 좋고, 자기 디스크, 광자기 디스크, 광 디스크, USB 메모리 또는 메모리 카드 등의 이동식 매체여도 좋다. 물론, 이들 이외의 것이어도 좋다.
또한, 예를 들어 데이터 통신 모드에서 화상 데이터를 송신하는 경우, 휴대 전화기(400)는, 촬상에 의해 CCD 카메라(416)로 화상 데이터를 생성한다. CCD 카메라(416)는, 렌즈나 조리개 등의 광학 디바이스와 광전 변환 소자로서의 CCD를 갖고, 피사체를 촬상하고, 수광한 광의 강도를 전기 신호로 변환하여, 피사체의 화상의 화상 데이터를 생성한다. 그 화상 데이터를, 카메라 I/F부(454)를 통하여, 화상 인코더(453)에서, 예를 들어 MPEG2나 MPEG4 등의 소정의 부호화 방식에 의해 압축 부호화함으로써 부호화 화상 데이터로 변환한다.
휴대 전화기(400)는, 이러한 처리를 행하는 화상 인코더(453)로서, 상술한 화상 부호화 장치를 사용한다. 따라서, 화상 인코더(453)는, 상술한 화상 부호화 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
또한, 휴대 전화기(400)는, 이때 동시에 CCD 카메라(416)로 촬상 중에 마이크로폰(마이크)(421)으로 집음한 음성을, 음성 코덱(459)에 있어서 아날로그/디지털 변환하고, 재차 부호화한다.
휴대 전화기(400)는, 다중 분리부(457)에 있어서, 화상 인코더(453)로부터 공급된 부호화 화상 데이터와, 음성 코덱(459)로부터 공급된 디지털 음성 데이터를, 소정의 방식으로 다중화한다. 휴대 전화기(400)는, 그 결과 얻어지는 다중화 데이터를, 변복조 회로부(458)에서 스펙트럼 확산 처리하고, 송수신 회로부(463)에서 디지털/아날로그 변환 처리 및 주파수 변환 처리한다. 휴대 전화기(400)는, 그 변환 처리에 의해 얻어진 송신용 신호를, 안테나(414)를 통하여 도시하지 않은 기지국에 송신한다. 기지국에 전송된 송신용 신호(화상 데이터)는, 네트워크 등을 통하여, 통신 상대에게 공급된다.
또한, 화상 데이터를 송신하지 않는 경우, 휴대 전화기(400)는, CCD 카메라(416)에서 생성한 화상 데이터를, 화상 인코더(453)를 통하지 않고, LCD 제어부(455)를 통하여 액정 디스플레이(418)에 표시시킬 수도 있다.
또한, 예를 들어 데이터 통신 모드에서, 간이 홈 페이지 등에 링크된 동화상 파일의 데이터를 수신한 경우, 휴대 전화기(400)는, 기지국으로부터 송신된 신호를, 안테나(414)를 통하여 송수신 회로부(463)에서 수신하고, 증폭하고, 또한 주파수 변환 처리 및 아날로그/디지털 변환 처리한다. 휴대 전화기(400)는, 그 수신 신호를 변복조 회로부(458)에서 스펙트럼 역확산 처리하여 원래의 다중화 데이터를 복원한다. 휴대 전화기(400)는, 다중 분리부(457)에 있어서, 그 다중화 데이터를 분리하여, 부호화 화상 데이터와 음성 데이터으로 나눈다.
휴대 전화기(400)는, 화상 디코더(456)에 있어서, 부호화 화상 데이터를, MPEG2나 MPEG4 등의 소정의 부호화 방식에 대응한 복호 방식으로 디코드함으로써, 재생 동화상 데이터를 생성하고, 이것을 LCD 제어부(455)를 통하여 액정 디스플레이(418)에 표시시킨다. 이에 의해, 예를 들어 간이 홈 페이지에 링크된 동화상 파일에 포함되는 동화상 데이터가 액정 디스플레이(418)에 표시된다.
휴대 전화기(400)는, 이러한 처리를 행하는 화상 디코더(456)로서, 상술한 화상 복호 장치를 사용한다. 따라서, 화상 디코더(456)는, 상술한 화상 복호 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
이때, 휴대 전화기(400)는, 동시에, 음성 코덱(459)에 있어서, 디지털의 음성 데이터를 아날로그 음성 신호로 변환하고, 이것을 스피커(417)로부터 출력시킨다. 이에 의해, 예를 들어 간이 홈 페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또한, 전자 메일의 경우와 마찬가지로, 휴대 전화기(400)는, 수신한 간이 홈 페이지 등에 링크된 데이터를, 기록 재생부(462)를 통하여, 기억부(423)에 기록하는(기억시키는) 것도 가능하다.
또한, 휴대 전화기(400)는, 주제어부(450)에 있어서, 촬상되어 CCD 카메라(416)에서 얻어진 2차원 코드를 해석하여, 2차원 코드에 기록된 정보를 취득할 수 있다.
또한, 휴대 전화기(400)는, 적외선 통신부(481)에서 적외선에 의해 외부의 기기와 통신할 수 있다.
휴대 전화기(400)는, 화상 인코더(453)로서 상술한 화상 부호화 장치를 사용함으로써, 부호화 효율을 향상시킬 수 있다. 결과적으로, 휴대 전화기(400)는, 부호화 효율이 좋은 부호화 데이터(화상 데이터)를 다른 장치에 제공할 수 있다.
또한, 휴대 전화기(400)는, 화상 디코더(456)로서 상술한 화상 복호 장치를 사용함으로써, 부호화 효율을 향상시킬 수 있다. 그 결과로서, 휴대 전화기(400)는, 예를 들어 간이 홈 페이지에 링크된 동화상 파일로부터, 보다 고정밀의 복호 화상을 얻어, 표시할 수 있다.
또한, 이상에 있어서, 휴대 전화기(400)가 CCD 카메라(416)를 사용하도록 설명했지만, 이 CCD 카메라(416) 대신에 CMOS(Complementary Metal Oxide Semiconductor)를 사용한 이미지 센서(CMOS 이미지 센서)를 사용하도록 해도 좋다. 이 경우도, 휴대 전화기(400)는, CCD 카메라(416)를 사용하는 경우와 마찬가지로, 피사체를 촬상하여, 피사체의 화상의 화상 데이터를 생성할 수 있다.
또한, 이상에 있어서는 휴대 전화기(400)로서 설명했지만, 예를 들어PDA(Personal Digital Assistants), 스마트 폰, UMPC(Ultra Mobile Personal Computer), 넷북, 노트북형 퍼스널 컴퓨터 등, 이 휴대 전화기(400)와 마찬가지의 촬상 기능이나 통신 기능을 갖는 장치이면, 어떤 장치든 휴대 전화기(400)의 경우와 마찬가지로, 화상 부호화 장치 및 화상 복호 장치를 적용할 수 있다.
[하드 디스크 레코더의 구성예]
도 29는, 화상 부호화 장치 및 화상 복호 장치를 사용하는 하드 디스크 레코더의 주된 구성예를 도시하는 블록도이다.
도 29에 도시된 하드 디스크 레코더(HDD 레코더)(500)는, 튜너에 의해 수신된, 위성이나 지상의 안테나 등으로부터 송신되는 방송파 신호(텔레비전 신호)에 포함되는 방송 프로그램의 오디오 데이터와 비디오 데이터를, 내장하는 하드 디스크에 보존하고, 그 보존한 데이터를 유저의 지시에 따른 타이밍에 유저에게 제공하는 장치이다.
하드 디스크 레코더(500)는, 예를 들어 방송파 신호로부터 오디오 데이터와 비디오 데이터를 추출하고, 그들을 적절히 복호하여, 내장하는 하드 디스크에 기억시킬 수 있다. 또한, 하드 디스크 레코더(500)는, 예를 들어 네트워크를 통하여 다른 장치로부터 오디오 데이터나 비디오 데이터를 취득하고, 그들을 적절히 복호하여, 내장하는 하드 디스크에 기억시킬 수도 있다.
또한, 하드 디스크 레코더(500)는, 예를 들어 내장하는 하드 디스크에 기록되어 있는 오디오 데이터나 비디오 데이터를 복호하여 모니터(560)에 공급하여, 모니터(560)의 화면에 그 화상을 표시시킨다. 또한, 하드 디스크 레코더(500)는, 모니터(560)의 스피커로부터 그 음성을 출력시킬 수 있다.
하드 디스크 레코더(500)는, 예를 들어 튜너를 통하여 취득된 방송파 신호로부터 추출된 오디오 데이터와 비디오 데이터 또는 네트워크를 통하여 다른 장치로부터 취득한 오디오 데이터나 비디오 데이터를 복호하여 모니터(560)에 공급하여, 모니터(560)의 화면에 그 화상을 표시시킨다. 또한, 하드 디스크 레코더(500)는, 모니터(560)의 스피커로부터 그 음성을 출력시킬 수도 있다.
물론, 이밖의 동작도 가능하다.
도 29에 도시된 바와 같이, 하드 디스크 레코더(500)는, 수신부(521), 복조부(522), 디멀티플렉서(523), 오디오 디코더(524), 비디오 디코더(525) 및 레코더 제어부(526)를 갖는다. 하드 디스크 레코더(500)는, EPG 데이터 메모리(527), 프로그램 메모리(528), 워크 메모리(529), 디스플레이 컨버터(530), OSD(On Screen Display) 제어부(531), 디스플레이 제어부(532), 기록 재생부(533), D/A 컨버터(534) 및 통신부(535)를 더 갖는다.
또한, 디스플레이 컨버터(530)는, 비디오 인코더(541)를 갖는다. 기록 재생부(533)는, 인코더(551) 및 디코더(552)를 갖는다.
수신부(521)는, 리모트 컨트롤러(도시하지 않음)로부터의 적외선 신호를 수신하고, 전기 신호로 변환하여 레코더 제어부(526)에 출력한다. 레코더 제어부(526)는, 예를 들어 마이크로프로세서 등에 의해 구성되고, 프로그램 메모리(528)에 기억되어 있는 프로그램에 따라, 각종 처리를 실행한다. 레코더 제어부(526)는, 이때 워크 메모리(529)를 필요에 따라 사용한다.
통신부(535)는, 네트워크에 접속되어, 네트워크를 통하여 다른 장치와의 통신 처리를 행한다. 예를 들어, 통신부(535)는, 레코더 제어부(526)에 의해 제어되고, 튜너(도시하지 않음)와 통신하여, 주로 튜너에 대하여 선국 제어 신호를 출력한다.
복조부(522)는, 튜너로부터 공급된 신호를 복조하여, 디멀티플렉서(523)에 출력한다. 디멀티플렉서(523)는, 복조부(522)로부터 공급된 데이터를, 오디오 데이터, 비디오 데이터 및 EPG 데이터로 분리하여, 각각, 오디오 디코더(524), 비디오 디코더(525) 또는 레코더 제어부(526)에 출력한다.
오디오 디코더(524)는, 입력된 오디오 데이터를, 예를 들어 MPEG 방식으로 디코드하여, 기록 재생부(533)에 출력한다. 비디오 디코더(525)는, 입력된 비디오 데이터를, 예를 들어 MPEG 방식으로 디코드하여, 디스플레이 컨버터(530)에 출력한다. 레코더 제어부(526)는, 입력된 EPG 데이터를 EPG 데이터 메모리(527)에 공급하여, 기억시킨다.
디스플레이 컨버터(530)는, 비디오 디코더(525) 또는 레코더 제어부(526)로부터 공급된 비디오 데이터를, 비디오 인코더(541)에 의해, 예를 들어 NTSC(National Television Standards Committee) 방식의 비디오 데이터에 인코드하여, 기록 재생부(533)에 출력한다. 또한, 디스플레이 컨버터(530)는, 비디오 디코더(525) 또는 레코더 제어부(526)로부터 공급되는 비디오 데이터의 화면의 크기를, 모니터(560)의 크기에 대응하는 크기로 변환한다. 디스플레이 컨버터(530)는, 화면의 크기가 변환된 비디오 데이터를, 또한, 비디오 인코더(541)에 의해 NTSC 방식의 비디오 데이터로 변환하고, 아날로그 신호로 변환하여, 디스플레이 제어부(532)에 출력한다.
디스플레이 제어부(532)는, 레코더 제어부(526)의 제어 하에서, OSD(On Screen Display) 제어부(531)가 출력한 OSD 신호를, 디스플레이 컨버터(530)로부터 입력된 비디오 신호에 중첩하고, 모니터(560)의 디스플레이에 출력하여, 표시시킨다.
모니터(560)에는 또한, 오디오 디코더(524)가 출력한 오디오 데이터가, D/A 컨버터(534)에 의해 아날로그 신호로 변환되어 공급되어 있다. 모니터(560)는, 이 오디오 신호를 내장하는 스피커로부터 출력한다.
기록 재생부(533)는, 비디오 데이터나 오디오 데이터 등을 기록하는 기억 매체로서 하드 디스크를 갖는다.
기록 재생부(533)는, 예를 들어 오디오 디코더(524)로부터 공급되는 오디오 데이터를, 인코더(551)에 의해 MPEG 방식으로 인코드한다. 또한, 기록 재생부(533)는, 디스플레이 컨버터(530)의 비디오 인코더(541)로부터 공급되는 비디오 데이터를 인코더(551)에 의해 MPEG 방식으로 인코드한다. 기록 재생부(533)는, 그 오디오 데이터의 부호화 데이터와 비디오 데이터의 부호화 데이터를 멀티플렉서에 의해 합성한다. 기록 재생부(533)는, 그 합성 데이터를 채널 코딩하여 증폭시키고, 그 데이터를, 기록 헤드를 통하여 하드 디스크에 기입한다.
기록 재생부(533)는, 재생 헤드를 통하여 하드 디스크에 기록되어 있는 데이터를 재생하고, 증폭하고, 디멀티플렉서에 의해 오디오 데이터와 비디오 데이터로 분리한다. 기록 재생부(533)는, 디코더(552)에 의해 오디오 데이터 및 비디오 데이터를 MPEG 방식으로 디코드한다. 기록 재생부(533)는, 복호한 오디오 데이터를 D/A 변환하여, 모니터(560)의 스피커에 출력한다. 또한, 기록 재생부(533)는, 복호한 비디오 데이터를 D/A 변환하여, 모니터(560)의 디스플레이에 출력한다.
레코더 제어부(526)는, 수신부(521)를 통하여 수신되는 리모트 컨트롤러로부터의 적외선 신호에 의해 나타나는 유저 지시에 기초하여, EPG 데이터 메모리(527)로부터 최신의 EPG 데이터를 판독하고, 그것을 OSD 제어부(531)에 공급한다. OSD 제어부(531)는, 입력된 EPG 데이터에 대응하는 화상 데이터를 발생시켜, 디스플레이 제어부(532)에 출력한다. 디스플레이 제어부(532)는, OSD 제어부(531)로부터 입력된 비디오 데이터를 모니터(560)의 디스플레이에 출력하여, 표시시킨다. 이에 의해, 모니터(560)의 디스플레이에는, EPG(전자 프로그램 가이드)가 표시된다.
또한, 하드 디스크 레코더(500)는, 인터넷 등의 네트워크를 통하여 다른 장치로부터 공급되는 비디오 데이터, 오디오 데이터 또는 EPG 데이터 등의 각종 데이터를 취득할 수 있다.
통신부(535)는, 레코더 제어부(526)에 제어되고, 네트워크를 통하여 다른 장치로부터 송신되는 비디오 데이터, 오디오 데이터 및 EPG 데이터 등의 부호화 데이터를 취득하고, 그것을 레코더 제어부(526)에 공급한다. 레코더 제어부(526)는, 예를 들어 취득한 비디오 데이터나 오디오 데이터의 부호화 데이터를 기록 재생부(533)에 공급하여, 하드 디스크에 기억시킨다. 이때, 레코더 제어부(526) 및 기록 재생부(533)가, 필요에 따라 재 인코드 등의 처리를 행하도록 해도 좋다.
또한, 레코더 제어부(526)는, 취득한 비디오 데이터나 오디오 데이터의 부호화 데이터를 복호하고, 얻어지는 비디오 데이터를 디스플레이 컨버터(530)에 공급한다. 디스플레이 컨버터(530)는, 비디오 디코더(525)로부터 공급되는 비디오 데이터와 마찬가지로, 레코더 제어부(526)로부터 공급되는 비디오 데이터를 처리하고, 디스플레이 제어부(532)를 통하여 모니터(560)에 공급하여, 그 화상을 표시시킨다.
또한, 이 화상 표시에 맞추어, 레코더 제어부(526)가, 복호한 오디오 데이터를, D/A 컨버터(534)를 통하여 모니터(560)에 공급하여, 그 음성을 스피커로부터 출력시키도록 해도 좋다.
또한, 레코더 제어부(526)는, 취득한 EPG 데이터의 부호화 데이터를 복호하고, 복호된 EPG 데이터를 EPG 데이터 메모리(527)에 공급한다.
이상과 같은 하드 디스크 레코더(500)는, 비디오 디코더(525), 디코더(552) 및 레코더 제어부(526)에 내장되는 디코더로서 상술한 화상 복호 장치를 사용한다. 따라서, 비디오 디코더(525), 디코더(552) 및 레코더 제어부(526)에 내장되는 디코더는, 상술한 화상 복호 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
따라서, 하드 디스크 레코더(500)는, 정밀도가 높은 예측 화상을 생성할 수 있다. 그 결과로서, 하드 디스크 레코더(500)는, 예를 들어 튜너를 통하여 수신된 비디오 데이터의 부호화 데이터나, 기록 재생부(533)의 하드 디스크로부터 판독된 비디오 데이터의 부호화 데이터나, 네트워크를 통하여 취득한 비디오 데이터의 부호화 데이터로부터, 보다 고정밀의 복호 화상을 얻어, 모니터(560)에 표시시킬 수 있다.
또한, 하드 디스크 레코더(500)는, 인코더(551)로서 상술한 화상 부호화 장치를 사용한다. 따라서, 인코더(551)는, 상술한 화상 부호화 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
따라서, 하드 디스크 레코더(500)는, 예를 들어 하드 디스크에 기록하는 부호화 데이터의 부호화 효율을 향상시킬 수 있다. 그 결과로서, 하드 디스크 레코더(500)는, 하드 디스크의 기억 영역을 보다 효율적으로 사용할 수 있다.
또한, 이상에 있어서는, 비디오 데이터나 오디오 데이터를 하드 디스크에 기록하는 하드 디스크 레코더(500)에 대하여 설명했지만, 물론, 기록 매체는 어떤 것이든 좋다. 예를 들어 플래시 메모리, 광 디스크 또는 비디오 테이프 등, 하드 디스크 이외의 기록 매체를 적용하는 레코더이어도, 상술한 하드 디스크 레코더(500)의 경우와 마찬가지로, 상술한 화상 부호화 장치 및 화상 복호 장치를 적용할 수 있다.
[카메라의 구성예]
도 30은, 화상 복호 장치 및 화상 부호화 장치를 사용하는 카메라의 주된 구성예를 도시하는 블록도이다.
도 30에 도시된 카메라(600)는, 피사체를 촬상하고, 피사체의 화상을 LCD(616)에 표시시키거나, 그것을 화상 데이터로 하여, 기록 매체(633)에 기록하거나 한다.
렌즈 블록(611)은, 광(즉, 피사체의 영상)을, CCD/CMOS(612)에 입사시킨다. CCD/CMOS(612)는, CCD 또는 CMOS를 사용한 이미지 센서이며, 수광한 광의 강도를 전기 신호로 변환하여, 카메라 신호 처리부(613)에 공급한다.
카메라 신호 처리부(613)는, CCD/CMOS(612)로부터 공급된 전기 신호를, Y, Cr, Cb의 색차 신호로 변환하고, 화상 신호 처리부(614)에 공급한다. 화상 신호 처리부(614)는, 컨트롤러(621)의 제어 하에서, 카메라 신호 처리부(613)로부터 공급된 화상 신호에 대하여 소정의 화상 처리를 실시하거나, 그 화상 신호를 인코더(641)에서 예를 들어 MPEG 방식에 의해 부호화하거나 한다. 화상 신호 처리부(614)는, 화상 신호를 부호화하여 생성한 부호화 데이터를 디코더(615)에 공급한다. 또한, 화상 신호 처리부(614)는, 온 스크린 디스플레이(OSD)(620)에 있어서 생성된 표시용 데이터를 취득하고, 그것을 디코더(615)에 공급한다.
이상의 처리에 있어서, 카메라 신호 처리부(613)는, 버스(617)를 통하여 접속되는 DRAM(Dynamic Random Access Memory)(618)을 적절히 이용하여, 필요에 따라 화상 데이터나, 그 화상 데이터가 부호화된 부호화 데이터 등을 그 DRAM(618)에 유지시킨다.
디코더(615)는, 화상 신호 처리부(614)로부터 공급된 부호화 데이터를 복호하여, 얻어진 화상 데이터(복호 화상 데이터)를 LCD(616)에 공급한다. 또한, 디코더(615)는, 화상 신호 처리부(614)로부터 공급된 표시용 데이터를 LCD(616)에 공급한다. LCD(616)는, 디코더(615)로부터 공급된 복호 화상 데이터의 화상과 표시용 데이터의 화상을 적절히 합성하고, 그 합성 화상을 표시한다.
온 스크린 디스플레이(620)는, 컨트롤러(621)의 제어 하에서, 기호, 문자 또는 도형으로 이루어지는 메뉴 화면이나 아이콘 등의 표시용 데이터를, 버스(617)를 통하여 화상 신호 처리부(614)에 출력한다.
컨트롤러(621)는, 유저가 조작부(622)를 사용하여 명령한 내용을 나타내는 신호에 기초하여, 각종 처리를 실행함과 함께, 버스(617)를 통하여, 화상 신호 처리부(614), DRAM(618), 외부 인터페이스(619), 온 스크린 디스플레이(620) 및 매체 드라이브(623) 등을 제어한다. FLASH ROM(624)에는, 컨트롤러(621)가 각종 처리를 실행하는 데 있어서 필요한 프로그램이나 데이터 등이 저장된다.
예를 들어, 컨트롤러(621)는, 화상 신호 처리부(614)나 디코더(615)를 대신하여, DRAM(618)에 기억되어 있는 화상 데이터를 부호화하거나, DRAM(618)에 기억되어 있는 부호화 데이터를 복호하거나 할 수 있다. 이때, 컨트롤러(621)는, 화상 신호 처리부(614)나 디코더(615)의 부호화·복호 방식과 마찬가지의 방식에 의해 부호화·복호 처리를 행하도록 해도 좋고, 화상 신호 처리부(614)나 디코더(615)가 대응하지 않는 방식에 의해 부호화·복호 처리를 행하도록 해도 좋다.
또한, 예를 들어 조작부(622)로부터 화상 인쇄의 개시가 지시된 경우, 컨트롤러(621)는, DRAM(618)로부터 화상 데이터를 판독하고, 그것을 버스(617)를 통하여 외부 인터페이스(619)에 접속되는 프린터(634)에 공급하여 인쇄시킨다.
또한, 예를 들어 조작부(622)로부터 화상 기록이 지시된 경우, 컨트롤러(621)는, DRAM(618)로부터 부호화 데이터를 판독하고, 그것을, 버스(617)를 통하여 매체 드라이브(623)에 장착되는 기록 매체(633)에 공급하여 기억시킨다.
기록 매체(633)는, 예를 들어 자기 디스크, 광자기 디스크, 광 디스크 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 이동식 매체이다. 기록 매체(633)는, 물론 이동식 매체로서의 종류도 임의이며, 테이프 디바이스이어도 좋고, 디스크이어도 좋고, 메모리 카드이어도 좋다. 물론, 비접촉 IC 카드 등이어도 좋다.
또한, 매체 드라이브(623)와 기록 매체(633)를 일체화하고, 예를 들어 내장형 하드디스크 드라이브나 SSD(Solid State Drive) 등과 같이, 비가반성의 기억 매체에 의해 구성되도록 해도 좋다.
외부 인터페이스(619)는, 예를 들어 USB 입출력 단자 등으로 구성되고, 화상의 인쇄를 행하는 경우에 프린터(634)와 접속된다. 또한, 외부 인터페이스(619)에는, 필요에 따라 드라이브(631)가 접속되고, 자기 디스크, 광 디스크, 혹은 광자기 디스크 등의 이동식 매체(632)가 적절히 장착되고, 그들로부터 판독된 컴퓨터 프로그램이 필요에 따라 FLASH ROM(624)에 인스톨된다.
또한, 외부 인터페이스(619)는, LAN이나 인터넷 등의 소정의 네트워크에 접속되는 네트워크 인터페이스를 갖는다. 컨트롤러(621)는, 예를 들어 조작부(622)로부터의 지시에 따라 DRAM(618)로부터 부호화 데이터를 판독하고, 그것을 외부 인터페이스(619)로부터 네트워크를 통하여 접속되는 다른 장치에 공급시킬 수 있다. 또한, 컨트롤러(621)는, 네트워크를 통하여 다른 장치로부터 공급되는 부호화 데이터나 화상 데이터를, 외부 인터페이스(619)를 통하여 취득하고, 그것을 DRAM(618)에 유지시키거나, 화상 신호 처리부(614)에 공급하거나 할 수 있다.
이상과 같은 카메라(600)는, 디코더(615)로서 상술한 화상 복호 장치를 사용한다. 따라서, 디코더(615)는, 상술한 화상 복호 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
따라서, 카메라(600)는, 정밀도가 높은 예측 화상을 생성할 수 있다. 그 결과로서, 카메라(600)는, 예를 들어 CCD/CMOS(612)에 있어서 생성된 화상 데이터나, DRAM(618) 또는 기록 매체(633)로부터 판독된 비디오 데이터의 부호화 데이터나, 네트워크를 통하여 취득한 비디오 데이터의 부호화 데이터로부터, 보다 고정밀의 복호 화상을 얻어, LCD(616)에 표시시킬 수 있다.
또한, 카메라(600)는, 인코더(641)로서 상술한 화상 부호화 장치를 사용한다. 따라서, 인코더(641)는, 상술한 화상 부호화 장치의 경우와 마찬가지로, 보다 높은 부호화 효율을 달성할 수 있다.
따라서, 카메라(600)는, 예를 들어 하드 디스크에 기록하는 부호화 데이터의 부호화 효율을 향상시킬 수 있다. 그 결과로서, 카메라(600)는, DRAM(618)이나 기록 매체(633)의 기억 영역을 보다 효율적으로 사용할 수 있다.
또한, 컨트롤러(621)가 행하는 복호 처리에 상술한 화상 복호 장치의 복호 방법을 적용하도록 해도 좋다. 마찬가지로, 컨트롤러(621)가 행하는 부호화 처리에 상술한 화상 부호화 장치의 부호화 방법을 적용하도록 해도 좋다.
또한, 카메라(600)가 촬상하는 화상 데이터는 동화상이어도 좋고, 정지 화상이어도 좋다.
물론, 상술한 화상 부호화 장치 및 화상 복호 장치는, 상술한 장치 이외의 장치나 시스템에도 적용 가능하다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 코드 넘버 할당부와,
처리 대상인 당해 영역의 주변 영역의 움직임 정보인 주변 움직임 정보를 사용하여, 당해 영역의 예측 움직임 벡터 정보를 생성하고, 생성된 상기 예측 움직임 벡터 정보에, 상기 코드 넘버 할당부에 의해 결정된 할당 방법에 따라, 상기 코드 넘버를 할당하는 예측 움직임 벡터 생성부를 구비하는, 화상 처리 장치.
(2) 상기 코드 넘버 할당부는, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을, 예측 처리 단위의 영역마다 제어하는 상기 (1)에 기재된 화상 처리 장치.
(3) 상기 코드 넘버 할당부는, 당해 영역이 정지 영역인 경우, 시간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어하는 상기 (2)에 기재된 화상 처리 장치.
(4) 상기 예측 움직임 벡터 생성부는, 당해 영역이 정지 영역인 경우, 상기 시간 예측 움직임 벡터 정보만을 생성하고, 상기 시간 예측 움직임 벡터 정보에, 상기 코드 넘버 할당부에 의해 결정된 코드 넘버를 할당하는 상기 (3)에 기재된 화상 처리 장치.
(5) 상기 코드 넘버 할당부는, 당해 영역이 동작 영역인 경우, 공간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어하는 상기 (2) 내지 (4) 중 어느 한 항에 기재된 화상 처리 장치.
(6) 당해 영역이 정지 영역인지의 여부를 판정하는 정지 영역 판정부를 더 구비하고,
상기 코드 넘버 할당부는, 상기 정지 영역 판정부의 판정 결과에 따라, 당해 영역의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (2) 내지 (5) 중 어느 한 항에 기재된 화상 처리 장치.
(7) 상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보를 사용하여 당해 영역이 정지 영역인지의 여부를 판정하는 상기 (6)에 기재된 화상 처리 장치.
(8) 상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보의 수평 성분 및 상기 움직임 정보의 수직 성분의 각 절대값이 소정의 임계값 이하이며, 또한, 참조 인덱스가 0인 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스가 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역이 정지 영역이라고 판정하는 상기 (7)에 기재된 화상 처리 장치.
(9) 상기 코드 넘버 할당부는, 유저에 의한 설정에 따라, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (1) 내지 (8) 중 어느 한 항에 기재된 화상 처리 장치.
(10) 상기 코드 넘버 할당부는, 부호화 효율을 올리도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (1) 내지 (9) 중 어느 한 항에 기재된 화상 처리 장치.
(11) 상기 코드 넘버 할당부는, 주관 화질을 최적으로 하도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는
상기 (1) 내지 (10) 중 어느 한 항에 기재된 화상 처리 장치.
(12) 상기 코드 넘버 할당부는, 슬라이스마다, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는
상기 (1)에 기재된 화상 처리 장치.
(13) 상기 코드 넘버의 할당 방법이 변경 가능한 가변 모드인 것을 나타내는 플래그를 생성하는 플래그 생성부를 더 구비하는
상기 (1) 내지 (12) 중 어느 한 항에 기재된 화상 처리 장치.
(14) 상기 예측 움직임 벡터 생성부는, 예측 모드마다 복수의 예측 움직임 벡터 정보를 생성하고,
상기 예측 모드마다, 상기 예측 움직임 벡터 생성부가 생성한 복수의 예측 움직임 벡터 정보 중에서 최적의 예측 움직임 벡터 정보를 선택하고, 당해 영역의 움직임 벡터와의 차분인 차분 움직임 벡터를 생성하는 차분 움직임 벡터 생성부와,
각 예측 모드 중에서 최적의 예측 모드를 판정하는 모드 판정부와,
상기 모드 판정부에 의해 판정된 예측 모드의 상기 차분 움직임 벡터 정보 및 상기 예측 모드의 예측 움직임 벡터 정보의 코드 넘버를 전송하는 전송부를 더 구비하는 상기 (1) 내지 (13) 중 어느 한 항에 기재된 화상 처리 장치.
(15) 상기 모드 판정부에 의해 판정된 예측 모드의 상기 차분 움직임 벡터 정보 및 상기 예측 모드의 예측 움직임 벡터 정보의 코드 넘버를 부호화하는 부호화부를 더 구비하고,
상기 전송부는, 상기 부호화부에 의해 부호화된 상기 차분 움직임 벡터 정보 및 상기 예측 움직임 벡터 정보의 코드 넘버를 전송하는 상기 (14)에 기재된 화상 처리 장치.
(16) 화상 처리 장치의 화상 처리 방법이며,
코드 넘버 할당부가, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하고,
예측 움직임 벡터 생성부가, 처리 대상인 당해 영역의 주변 영역의 움직임 정보인 주변 움직임 정보를 사용하여, 당해 영역의 예측 움직임 벡터 정보를 생성하고, 생성된 상기 예측 움직임 벡터 정보에, 결정된 할당 방법에 따라, 상기 코드 넘버를 할당하는 화상 처리 방법.
(17) 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 코드 넘버 할당부와,
처리 대상인 당해 영역의 예측 움직임 벡터 정보의 코드 넘버를 취득하여, 상기 코드 넘버 할당부에 의해 결정된 할당 방법에 따라, 상기 코드 넘버로부터 상기 예측 움직임 벡터 정보를 재구축하는 예측 움직임 벡터 재구축부를 구비하는, 화상 처리 장치.
(18) 상기 코드 넘버 할당부는, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을, 예측 처리 단위의 영역마다 제어하는 상기 (17)에 기재된 화상 처리 장치.
(19) 상기 코드 넘버 할당부는, 당해 영역이 정지 영역인 경우, 시간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어하는 상기 (18)에 기재된 화상 처리 장치.
(20) 상기 코드 넘버 할당부는, 당해 영역이 동작 영역인 경우, 공간 예측 움직임 벡터 정보에 대하여 작은 코드 넘버가 할당되도록 할당 방법을 제어하는 상기 (18) 또는 (19)에 기재된 화상 처리 장치.
(21) 당해 영역이 정지 영역인지의 여부를 판정하는 정지 영역 판정부를 더 구비하고,
상기 코드 넘버 할당부는, 상기 정지 영역 판정부의 판정 결과에 따라, 당해 영역의 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (18) 내지 (20) 중 어느 한 항에 기재된 화상 처리 장치.
(22) 상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보를 사용하여 당해 영역이 정지 영역인지의 여부를 판정하는 상기 (21)에 기재된 화상 처리 장치.
(23) 상기 정지 영역 판정부는, 당해 영역의 Co-Located 영역의 움직임 정보의 수평 성분 및 상기 움직임 정보의 수직 성분의 각 절대값이 소정의 임계값 이하이며, 또한, 참조 인덱스가 0인 경우, Ref_PicR_reordering이 적용되는 경우, 혹은, 참조 인덱스가 직전의 픽처를 의미하는 POC값을 갖는 경우, 당해 영역이 정지 영역이라고 판정하는 상기 (22)에 기재된 화상 처리 장치.
(24) 상기 코드 넘버 할당부는, 유저에 의한 설정에 따라, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (17) 내지 (23) 중 어느 한 항에 기재된 화상 처리 장치.
(25) 상기 코드 넘버 할당부는, 부호화 효율을 올리도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (17) 내지 (24) 중 어느 한 항에 기재된 화상 처리 장치.
(26) 상기 코드 넘버 할당부는, 주관 화질을 최적으로 하도록, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (17) 내지 (25) 중 어느 한 항에 기재된 화상 처리 장치.
(27) 상기 코드 넘버 할당부는, 슬라이스마다, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (17)에 기재된 화상 처리 장치.
(28) 상기 코드 넘버의 할당 방법이 변경 가능한 가변 모드인 것을 나타내는 플래그를 취득하는 플래그 취득부를 더 구비하고,
상기 코드 넘버 할당부는, 상기 플래그 취득부에 의해 취득된 상기 플래그에 의해 상기 가변 모드인 것이 나타나는 경우, 상기 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하는 상기 (16) 내지 (27) 중 어느 한 항에 기재된 화상 처리 장치.
(29) 화상 처리 장치의 화상 처리 방법이며,
코드 넘버 할당부가, 화상의 움직임의 특징에 따라, 예측 움직임 벡터 정보에 대한 코드 넘버의 할당 방법을 제어하고,
예측 움직임 벡터 재구축부가, 처리 대상인 당해 영역의 예측 움직임 벡터 정보의 코드 넘버를 취득하여, 결정된 할당 방법에 따라, 상기 코드 넘버로부터 상기 예측 움직임 벡터 정보를 재구축하는 화상 처리 방법.
51: 화상 부호화 장치
66: 가역 부호화부
74: 인트라 예측부
75: 움직임 예측·보상부
76: 예측 움직임 벡터 생성부
77: 코드 넘버 할당부
91: 움직임 탐색부
92: 비용 함수 산출부
93: 최적 예측 움직임 벡터 선택부
94: 모드 판정부
95: 움직임 보상부
101: 화상 복호 장치
112: 가역 복호부
121: 인트라 예측부
122: 움직임 예측·보상부
123: 코드 넘버 할당 버퍼
124: 예측 움직임 벡터 생성부
131: 차분 벡터 버퍼
132: 블록 레벨 코드 넘버 버퍼
133: 움직임 벡터 생성부
134: 움직임 벡터 버퍼
135: 움직임 보상부
151: 화상 부호화 장치
161: 코드 넘버 할당부
162: 가역 부호화부
163: 최적 코드 넘버 할당 판정부

Claims (10)

  1. 예측 움직임 벡터의 생성에 사용하는, 화상의 처리 대상인 당해 영역(current region)의 주변에 위치하는 주변 영역의 움직임 벡터인 주변 움직임 벡터를 나타내는 코드 넘버의 할당 방법이 변경 가능한 상태에서 할당된, 상기 당해 영역의 예측 움직임 벡터에 대응하는 코드 넘버를 취득하는 코드 넘버 취득부와,
    상기 코드 넘버의 할당 방법이 변경 가능한 상태에서, 상기 코드 넘버 취득부에 의해 취득된 상기 코드 넘버를 사용하여, 상기 예측 움직임 벡터를 재구축하는 예측 움직임 벡터 재구축부를 구비하는, 화상 처리 장치.
  2. 제1항에 있어서, 상기 예측 움직임 벡터 재구축부는, 상기 코드 넘버의 할당 방법이 디폴트의 설정으로 고정된 상태에 대하여 코드 넘버를 변경 가능한 상태에서, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 장치.
  3. 제2항에 있어서, 상기 예측 움직임 벡터 재구축부는, 시간 예측 움직임 벡터에 대응하는 코드 넘버와 공간 예측 움직임 벡터에 대응하는 코드 넘버가 변경 가능한 상태에서, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 장치.
  4. 제3항에 있어서, 상기 예측 움직임 벡터 재구축부는, 상기 시간 예측 움직임 벡터에 대응하는 코드 넘버를 상기 공간 예측 움직임 벡터에 대응하는 코드 넘버보다도 작은 값으로 변경 가능한 상태에서, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 장치.
  5. 제4항에 있어서, 상기 예측 움직임 벡터 재구축부는, 상기 시간 예측 움직임 벡터에 대응하는 코드 넘버의 값을 1로부터 0으로 변경하고, 상기 공간 예측 움직임 벡터에 대응하는 코드 넘버의 값을 0으로부터 1로 변경하여, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 장치.
  6. 제1항에 있어서,
    상기 코드 넘버의 할당 방법이 변경 가능한 상태임을 나타내는 식별 데이터와 화상을 부호화한 부호화 스트림을 수취하는 수취부를 더 구비하고,
    상기 코드 넘버 취득부는, 상기 수취부에 의해 수취된 상기 식별 데이터가 상기 코드 넘버의 할당 방법이 변경 가능한 상태임을 나타내는 경우에, 상기 코드 넘버의 할당 방법에 관한 정보를 취득하고,
    상기 예측 움직임 벡터 재구축부는, 상기 코드 넘버 취득부에 의해 취득된 상기 코드 넘버의 할당 방법에 관한 정보를 사용하여, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 장치.
  7. 제6항에 있어서,
    상기 식별 데이터는, 슬라이스마다 설정되어 있고,
    상기 수취부는, 상기 식별 데이터를 상기 부호화 스트림의 슬라이스 헤더로서 수취하는, 화상 처리 장치.
  8. 제6항에 있어서,
    상기 식별 데이터는, 픽처 또는 시퀀스마다 설정되어 있고,
    상기 수취부는, 상기 식별 데이터를 상기 부호화 스트림의 픽처 파라미터 세트 또는 시퀀스 파라미터 세트로서 수취하는, 화상 처리 장치.
  9. 화상 처리 장치의 화상 처리 방법으로서,
    코드 넘버 취득부가, 예측 움직임 벡터의 생성에 사용하는, 화상의 처리 대상인 당해 영역의 주변에 위치하는 주변 영역의 움직임 벡터인 주변 움직임 벡터를 나타내는 코드 넘버의 할당 방법이 변경 가능한 상태에서 할당된, 상기 당해 영역의 예측 움직임 벡터에 대응하는 코드 넘버를 취득하고,
    예측 움직임 벡터 재구축부가, 상기 코드 넘버의 할당 방법이 변경 가능한 상태에서, 취득된 상기 코드 넘버를 사용하여, 상기 예측 움직임 벡터를 재구축하는, 화상 처리 방법.
  10. 컴퓨터를,
    예측 움직임 벡터의 생성에 사용하는, 화상의 처리 대상인 당해 영역의 주변에 위치하는 주변 영역의 움직임 벡터인 주변 움직임 벡터를 나타내는 코드 넘버의 할당 방법이 변경 가능한 상태에서 할당된, 상기 당해 영역의 예측 움직임 벡터에 대응하는 코드 넘버를 취득하는 코드 넘버 취득부와,
    상기 코드 넘버의 할당 방법이 변경 가능한 상태에서, 상기 코드 넘버 취득부에 의해 취득된 상기 코드 넘버를 사용하여, 상기 예측 움직임 벡터를 재구축하는 예측 움직임 벡터 재구축부로서 기능시키기 위한 프로그램을 기록한 컴퓨터가 판독 가능한 기록 매체.
KR1020167015921A 2010-04-01 2011-03-11 화상 처리 장치 및 방법 KR101702822B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010085236 2010-04-01
JPJP-P-2010-085236 2010-04-01
JP2010222298 2010-09-30
JPJP-P-2010-222298 2010-09-30
PCT/JP2011/055725 WO2011125411A1 (ja) 2010-04-01 2011-03-11 画像処理装置および方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127024692A Division KR101633153B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치 및 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020177002421A Division KR101780921B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체
KR1020177002397A Division KR101794486B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체

Publications (2)

Publication Number Publication Date
KR20160075828A true KR20160075828A (ko) 2016-06-29
KR101702822B1 KR101702822B1 (ko) 2017-02-06

Family

ID=44762372

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020127024692A KR101633153B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치 및 방법
KR1020167015921A KR101702822B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치 및 방법
KR1020177002397A KR101794486B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체
KR1020177002421A KR101780921B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127024692A KR101633153B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020177002397A KR101794486B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체
KR1020177002421A KR101780921B1 (ko) 2010-04-01 2011-03-11 화상 처리 장치, 방법 및 기록매체

Country Status (14)

Country Link
US (3) US10362316B2 (ko)
EP (1) EP2555524A4 (ko)
JP (3) JP6033081B2 (ko)
KR (4) KR101633153B1 (ko)
CN (7) CN107318025B (ko)
AU (1) AU2011236288A1 (ko)
BR (1) BR112012024167A2 (ko)
CA (1) CA2791677A1 (ko)
CO (1) CO6571864A2 (ko)
MX (1) MX2012010863A (ko)
RU (1) RU2012140740A (ko)
TW (2) TW201515445A (ko)
WO (1) WO2011125411A1 (ko)
ZA (1) ZA201207006B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120268551A1 (en) * 2011-04-19 2012-10-25 Ben Wu Image Interaction Device, Interactive Image Operating System, and Interactive Image Operating Method thereof
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR102094557B1 (ko) * 2011-12-19 2020-03-27 소니 주식회사 화상 처리 장치 및 방법
TWI726579B (zh) * 2011-12-21 2021-05-01 日商Jvc建伍股份有限公司 動態影像編碼裝置、動態影像編碼方法、動態影像解碼裝置、及動態影像解碼方法
EP2805492B1 (en) 2012-01-19 2018-11-14 VID SCALE, Inc. System and method of video coding quantization and dynamic range control
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
WO2015006169A1 (en) * 2013-07-08 2015-01-15 Sony Corporation Improvement for palette coding mode
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
JP2015177466A (ja) * 2014-03-17 2015-10-05 富士通株式会社 動画符号化装置、動画符号化方法および動画符号化プログラム
KR102287907B1 (ko) * 2015-06-22 2021-08-10 삼성디스플레이 주식회사 유기 발광 다이오드 표시 장치의 열화 보상기
KR102617041B1 (ko) * 2015-12-28 2023-12-26 가부시키가이샤 한도오따이 에네루기 켄큐쇼 장치, 텔레비전 시스템, 및 전자 기기
MX2019003553A (es) * 2016-09-30 2019-08-12 Huawei Tech Co Ltd Metodo de codificacion de video, metodo de decodificacion de video y terminal.
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
FI3808090T3 (fi) * 2018-07-18 2024-09-18 Beijing Dajia Internet Information Tech Co Ltd Menetelmiä ja laite videokoodaukseen käyttäen historiaan perustuvaa liikevektorin ennustusta
JP7257523B2 (ja) 2018-12-28 2023-04-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) エンコーダおよびデコーダにおける変換選択を選択するための方法および装置
CN111010620B (zh) * 2019-12-03 2022-08-02 海信视像科技股份有限公司 多媒体资源轮播的方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100252342B1 (ko) * 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
JP2009171608A (ja) * 2002-01-24 2009-07-30 Hitachi Ltd 動画像の符号化方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0411318A (ja) * 1990-04-27 1992-01-16 Matsushita Electric Ind Co Ltd 磁気記録再生方法
KR950011200B1 (ko) * 1990-10-31 1995-09-29 니뽕 빅터 가부시끼가이샤 인터레이스 동화상 신호의 압축 장치
JPH05227522A (ja) * 1991-09-20 1993-09-03 Sony Corp 画像符号化装置および画像復号化装置
US6870884B1 (en) * 1992-01-29 2005-03-22 Mitsubishi Denki Kabushiki Kaisha High-efficiency encoder and video information recording/reproducing apparatus
JP4028900B2 (ja) * 1996-01-11 2007-12-26 富士通株式会社 動画像符号化装置及び動画像復号化装置
JPH10224800A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
JPH10224000A (ja) 1997-02-12 1998-08-21 Harness Sogo Gijutsu Kenkyusho:Kk プリント基板
CN1253652A (zh) * 1997-03-31 2000-05-17 松下电器产业株式会社 活动图像显示方法及其装置
JP4142180B2 (ja) 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
US6987884B2 (en) * 2000-08-07 2006-01-17 Sony Corporation Image processing device and method, and recorded medium
KR100355831B1 (ko) * 2000-12-06 2002-10-19 엘지전자 주식회사 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
CN101409837B (zh) * 2001-09-14 2011-07-13 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
KR100642043B1 (ko) * 2001-09-14 2006-11-03 가부시키가이샤 엔티티 도코모 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
JP4130780B2 (ja) * 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
JP4368575B2 (ja) * 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
KR100931750B1 (ko) * 2002-04-19 2009-12-14 파나소닉 주식회사 움직임 벡터 계산방법
US7151856B2 (en) * 2002-04-25 2006-12-19 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture coding method
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
WO2004012459A1 (ja) * 2002-07-26 2004-02-05 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および記録媒体
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7702103B2 (en) * 2002-10-25 2010-04-20 Nagra France Device for the transformation of MPEG 2-type multimedia and audiovisual contents into secured contents of the same type
EP1422928A3 (en) 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
JP2006517364A (ja) * 2003-01-07 2006-07-20 トムソン ライセンシング マクロブロック・パーティションのインター/イントラ混在ビデオ符号化
CN100531396C (zh) * 2003-07-24 2009-08-19 日本电信电话株式会社 图像编码装置和方法以及图像解码装置和方法
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
JP4632049B2 (ja) * 2003-12-25 2011-02-16 日本電気株式会社 動画像符号化方法及び装置
EP1719346A1 (en) * 2004-02-20 2006-11-08 Koninklijke Philips Electronics N.V. Method of video decoding
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
JP4700002B2 (ja) * 2004-08-19 2011-06-15 パイオニア株式会社 テロップ検出方法、テロップ検出プログラム、およびテロップ検出装置
US7586517B2 (en) * 2004-10-27 2009-09-08 Panasonic Corporation Image pickup apparatus
WO2006054257A1 (en) * 2004-11-22 2006-05-26 Koninklijke Philips Electronics N.V. Motion vector field projection dealing with covering and uncovering
EP1753242A2 (en) * 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
KR100745979B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 다계조 표현을 위한 디더링 장치 및 방법
FR2896118A1 (fr) * 2006-01-12 2007-07-13 France Telecom Codage et decodage adaptatifs
US20070171977A1 (en) * 2006-01-25 2007-07-26 Shintaro Kudo Moving picture coding method and moving picture coding device
EP2011342B1 (en) 2006-04-14 2017-06-28 Nxp B.V. Motion estimation at image borders
KR101228109B1 (ko) * 2006-07-24 2013-01-31 삼성전자주식회사 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
JP4187037B2 (ja) * 2006-10-12 2008-11-26 船井電機株式会社 遠隔操作システム
KR100813986B1 (ko) * 2006-10-25 2008-03-14 삼성전자주식회사 움직임 적응적 디인터레이싱 방법 및 그 장치
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP4924228B2 (ja) * 2007-06-19 2012-04-25 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
EP2034742A3 (en) * 2007-07-25 2009-10-14 Hitachi Ltd. Video coding method and device
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
WO2009123248A1 (en) * 2008-04-01 2009-10-08 Canon Kabushiki Kaisha Moving image encoding apparatus and moving image encoding method
US8184705B2 (en) * 2008-06-25 2012-05-22 Aptina Imaging Corporation Method and apparatus for motion compensated filtering of video signals
EP2334082A1 (en) * 2008-09-17 2011-06-15 Sharp Kabushiki Kaisha Scalable video stream decoding apparatus and scalable video stream generating apparatus
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
JPWO2010064675A1 (ja) * 2008-12-03 2012-05-10 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
TWI382770B (zh) * 2008-12-11 2013-01-11 Univ Nat Taiwan 視訊影像傳輸中遇到封包遺失時的有效選取方法
TWI440363B (zh) * 2009-02-19 2014-06-01 Sony Corp Image processing apparatus and method
JP5267655B2 (ja) * 2009-03-19 2013-08-21 富士通株式会社 画像符号化装置、画像符号化制御方法および画像符号化プログラム
JP5146388B2 (ja) * 2009-04-03 2013-02-20 沖電気工業株式会社 映像圧縮符号化データの復号装置
WO2010137086A1 (ja) * 2009-05-26 2010-12-02 パナソニック株式会社 動画像処理装置および動画像処理方法
JP2011029954A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置と画像符号化方法
JPWO2011061880A1 (ja) 2009-11-19 2013-04-04 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2011099080A1 (ja) * 2010-02-12 2011-08-18 富士通株式会社 画像符号化装置及び画像復号装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100252342B1 (ko) * 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
JP2009171608A (ja) * 2002-01-24 2009-07-30 Hitachi Ltd 動画像の符号化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Motion Vector Coding with Optimal PMV Selection", VCEG-AI22, ITU-Telecommunications Standardization Sector STUDY GROUP 16 Question 6, July 2008

Also Published As

Publication number Publication date
KR101633153B1 (ko) 2016-06-23
CO6571864A2 (es) 2012-11-30
AU2011236288A1 (en) 2012-11-01
EP2555524A1 (en) 2013-02-06
CN107241604A (zh) 2017-10-10
JP6033081B2 (ja) 2016-11-30
BR112012024167A2 (pt) 2016-06-28
CN107241604B (zh) 2020-11-03
RU2012140740A (ru) 2014-05-10
KR101702822B1 (ko) 2017-02-06
CN110381314A (zh) 2019-10-25
ZA201207006B (en) 2013-01-30
TW201515445A (zh) 2015-04-16
US20200154113A1 (en) 2020-05-14
JPWO2011125411A1 (ja) 2013-07-08
JP2017073809A (ja) 2017-04-13
KR20170015536A (ko) 2017-02-08
WO2011125411A1 (ja) 2011-10-13
KR101794486B1 (ko) 2017-11-06
JP6057140B2 (ja) 2017-01-11
US20190306514A1 (en) 2019-10-03
US10362316B2 (en) 2019-07-23
CN110381314B (zh) 2021-08-24
CN110460852A (zh) 2019-11-15
CN110460860A (zh) 2019-11-15
MX2012010863A (es) 2012-10-15
CN107318025B (zh) 2020-12-29
EP2555524A4 (en) 2016-01-06
KR20130023206A (ko) 2013-03-07
JP2016026440A (ja) 2016-02-12
CN107295346A (zh) 2017-10-24
CN102812708A (zh) 2012-12-05
KR101780921B1 (ko) 2017-09-21
JP6033250B2 (ja) 2016-11-30
JP2014143709A (ja) 2014-08-07
US20130022125A1 (en) 2013-01-24
US10917649B2 (en) 2021-02-09
CA2791677A1 (en) 2011-10-13
KR20170015535A (ko) 2017-02-08
CN102812708B (zh) 2017-04-26
US10609387B2 (en) 2020-03-31
CN107318025A (zh) 2017-11-03
TW201143457A (en) 2011-12-01
CN107295346B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
US10917649B2 (en) Image processing device and method
US10110920B2 (en) Image processing apparatus and method
WO2010101064A1 (ja) 画像処理装置および方法
WO2010095559A1 (ja) 画像処理装置および方法
KR20120058521A (ko) 화상 처리 장치 및 방법
WO2011089973A1 (ja) 画像処理装置および方法
CN103891285A (zh) 图像处理装置和方法
JP2013005077A (ja) 画像処理装置および方法
JP2012019447A (ja) 画像処理装置および方法
JP6268556B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
WO2011125625A1 (ja) 画像処理装置および方法
WO2012096228A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right