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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR101918324B1
KR101918324B1 KR1020137033599A KR20137033599A KR101918324B1 KR 101918324 B1 KR101918324 B1 KR 101918324B1 KR 1020137033599 A KR1020137033599 A KR 1020137033599A KR 20137033599 A KR20137033599 A KR 20137033599A KR 101918324 B1 KR101918324 B1 KR 101918324B1
Authority
KR
South Korea
Prior art keywords
vector
prediction
parallax
unit
motion
Prior art date
Application number
KR1020137033599A
Other languages
English (en)
Other versions
KR20140043757A (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 KR20140043757A publication Critical patent/KR20140043757A/ko
Application granted granted Critical
Publication of KR101918324B1 publication Critical patent/KR101918324B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 기술은 부호화 효율의 저감을 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하는 예측 벡터 생성부와, 상기 커런트 시차 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 차분 벡터 생성부를 구비한다. 본 발명은 화상 처리 장치에 적용할 수 있다.

Description

화상 처리 장치 및 방법{IMAGE PROCESSING DEVICE AND METHOD}
본 발명은, 화상 처리 장치 및 방법에 관한 것이고, 특히 부호화 효율을 향상시킬 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
최근 들어, 화상 정보를 디지털로서 취급하고, 그 때 효율이 높은 정보의 전송, 축적을 목적으로 해서, 화상 정보 특유의 용장성을 이용해서, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 MPEG(Moving Picture Experts Group) 등의 방식에 준거한 장치가, 방송국 등의 정보 배신 및 일반 가정에 있어서의 정보 수신의 양쪽에 있어서 보급되었다.
특히, MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)는 범용 화상 부호화 방식으로서 정의되어 있고, 비월 주사 화상 및 순차 주사 화상의 양쪽, 및 표준 해상도 화상 및 고정밀 화상을 망라하는 표준으로, 프로페셔널 용도 및 소비자 용도의 광범위한 어플리케이션에 현재 널리 사용되고 있다. MPEG2 압축 방식을 사용함으로써, 예를 들어 720×480 화소를 갖는 표준 해상도의 비월 주사 화상이면 4 내지 8Mbps, 1920×1088 화소를 갖는 고해상도의 비월 주사 화상이면 18 내지 22Mbps의 부호량(비트 레이트)을 할당함으로써, 높은 압축률과 양호한 화질의 실현이 가능하다.
MPEG2는 주로 방송용으로 적합한 고화질 부호화를 대상으로 하지만, MPEG1보다 낮은 부호량(비트 레이트), 즉 보다 높은 압축률의 부호화 방식에는 대응하지 않는다. 휴대 단말기의 보급에 의해, 금후 그러한 부호화 방식의 요구는 높아질 것으로 생각되며, 이에 대응해서 MPEG4 부호화 방식의 표준화가 행해졌다. 화상 부호화 방식에 대해서는, 1998년 12월에 ISO/IEC 14496-2로서 그 규격이 국제 표준으로 승인되었다.
또한, 최근 들어, 당초 텔레비전 회의용 화상 부호화를 목적으로 해서, H.26L(ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))이라는 표준의 규격화가 진행되고 있다. 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, 이하 AVC라고 기재함)이라고 하는 이름을 바탕으로 국제 표준으로 되었다.
그러나, 매크로 블록 사이즈를 16화소×16화소로 하는 것은, 차세대 부호화 방식의 대상으로 되는, UHD(Ultra High Definition; 4000 화소×2000 화소) 등의 큰 화면 프레임에 대해서는, 최적이 아닐 우려가 있었다.
따라서, AVC보다 한층 더한 부호화 효율의 향상을 목적으로 해서, ITU-T와, ISO/IEC의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)라고 불리는 부호화 방식의 표준화가 진행되고 있다(예를 들어, 비특허문헌 1 참조).
이 HEVC 부호화 방식에 있어서는, AVC에 있어서의 매크로 블록과 마찬가지의 처리 단위로서 코딩 유닛(CU(Coding Unit))이 정의되어 있다. 이 CU는 AVC의 매크로 블록과 같이 크기가 16×16 화소로 고정되지 않고, 각각의 시퀀스에 있어서, 화상 압축 정보 중에서 지정된다.
그런데, AVC에 있어서 정의되는 메디안 예측을 사용한 움직임 벡터의 부호화를 개선하기 위해서, "Spatial Predictor" 뿐만 아니라, "Temporal Predictor" 및 "Spatio-Temporal Predictor"도 예측 움직임 벡터의 후보로 할 수 있도록 하는 방법이 생각되었다(예를 들어, 비특허문헌 2 참조).
또한, 움직임 정보의 부호화 방식 중 하나로서, Merge_Flag와 Merge_Left_Flag가 전송되는, Motion Partition Merging이라고 불리는 방법이 제안되어 있다(예를 들어, 비특허문헌 3 참조).
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding", JCTVC-C403, Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting : Guangzhou, CN, 7-15 October, 2010 Joel Jung, Guillaume Laroche, "Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06, ITU-Telecommunications Standardization Sector STUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting : Klagenfurt, Austria, 17-18 July, 2006 Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand, "Description of video coding technology proposed by Fraunhofer HHI", JCTVC-A116, April, 2010
그러나, 동일 시점 내에서의 처리밖에 나타나 있지 않고, 다시점 부호화의 경우에, 시점간을 걸치는 벡터의 예측을 할 수 없어, 부호화 효율이 저감될 우려가 있었다.
본 발명은, 이러한 상황을 감안하여 이루어진 것이며, 부호화 효율의 저감을 억제하는 것을 목적으로 한다.
본 발명의 일 측면은, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하는 예측 벡터 생성부와, 상기 커런트 시차 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 차분 벡터 생성부를 구비하는 화상 처리 장치이다.
상기 예측 벡터 생성부는, 커런트 뷰와 동일한 뷰를 대상으로 해서, 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 시차 벡터를 사용해서, 상기 커런트 시차 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성이 일치하는 경우에, 코-로케이티드 블록을 어베일러블로 설정할 수 있다.
상기 벡터의 특성은, 벡터의 타입이며, 상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성이 시차 벡터이고, 또한 코-로케이티드 블록의 벡터의 특성이 시차 벡터인 경우에, 코-로케이티드 블록을 어베일러블로 설정할 수 있다.
상기 예측 움직임 벡터 생성부는, 픽처의 출력순을 나타내는 POC(Picture Order Count)를 사용해서, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성을 판정할 수 있다.
상기 예측 움직임 벡터 생성부는, 커런트 픽처의 POC와, 커런트 픽처로부터 참조되는 커런트 레퍼런스 픽처의 POC와, 코-로케이티드 픽처의 POC와, 코-로케이티드 픽처로부터 참조되는 코-로케이티드 레퍼런스 픽처의 POC를 사용해서, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성을 판정할 수 있다.
상기 예측 움직임 벡터 생성부는, 커런트 픽처의 POC와 커런트 픽처로부터 참조되는 커런트 레퍼런스 픽처의 POC가 일치하고, 또한 코-로케이티드 픽처의 POC와 코-로케이티드 픽처로부터 참조되는 코-로케이티드 레퍼런스 픽처의 POC가 일치하는 경우에, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성은, 시차 벡터라고 판정할 수 있다.
상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정할 수 있다.
상기 벡터의 특성은, 참조 픽처의 타입이며, 상기 예측 벡터 생성부는, 커런트 블록의 참조 픽처의 타입과 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정할 수 있다.
상기 벡터의 특성은, 참조 픽처의 타입이며, 상기 예측 벡터 생성부는, 커런트 블록의 참조 픽처의 타입이 장시간 참조이며, 또한 코-로케이티드 블록의 참조 픽처의 타입이 장시간 참조인 경우에, 레퍼런스 인덱스를 탐색하는 탐색 처리를 스킵할 수 있다.
상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 커런트 픽처와 동일한 시각의 픽처에 포함되는 레퍼런스 블록의 시차 벡터를 사용해서, 상기 커런트 시차 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 커런트 픽처와 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 픽처의 위치 관계에 기초하여, 상기 레퍼런스 시차 벡터를 스케일링하여, 상기 커런트 시차 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하고, 상기 차분 벡터 생성부는, 상기 커런트 움직임 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 상기 커런트 픽처와 동일한 시각의 픽처에 포함되는 레퍼런스 블록의 움직임 벡터를 사용해서, 상기 커런트 움직임 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 상기 커런트 뷰와 동일한 뷰를 대상으로 해서, 상기 커런트 픽처와 다른 시각의 픽처에 포함되는 레퍼런스 블록의 움직임 벡터를 사용해서, 상기 커런트 움직임 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 커런트 픽처와 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 픽처의 위치 관계에 기초하여, 상기 레퍼런스 움직임 벡터를 스케일링하여, 상기 커런트 움직임 벡터의 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 상기 커런트 픽처와 동일한 시각의 픽처의 화소의 위치를 시프트시킨 상태에서 상기 커런트 블록과 동일 위치로 되는 블록의 벡터를 사용해서, 상기 예측 벡터를 생성할 수 있다.
상기 예측 벡터 생성부는, 상기 커런트 블록의 주변 영역의 시차 벡터에 따라서, 상기 화상의 시프트량을 설정할 수 있다.
상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 상기 주변 블록의, X 방향의 시차 벡터를, 상기 시프트량으로 할 수 있다.
상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 복수의 상기 주변 블록의, X 방향의 시차 벡터로부터 산출되는 값을, 상기 시프트량으로 할 수 있다.
상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 복수의 상기 주변 블록의, X 방향의 시차 벡터의 평균값 또는 중앙값을, 상기 화상의 시프트량으로 할 수 있다.
상기 예측 벡터 생성부는, 글로벌 시차 벡터에 따라서, 상기 화상의 시프트량을 설정할 수 있다.
본 발명의 일 측면은, 또한, 화상 처리 장치의 화상 처리 방법에 있어서, 상기 화상 처리 장치가, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하고, 상기 커런트 시차 벡터와, 생성된 상기 예측 벡터의 차분 벡터를 생성하는 화상 처리 방법이다.
본 발명의 다른 측면은, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터의 복호에 있어서, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하는 예측 벡터 생성부와, 상기 커런트 시차 벡터와 상기 예측 벡터의 차분 벡터에, 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터를 가산하여, 상기 커런트 시차 벡터를 재구축하는 연산을 행하는 연산부를 구비하는 화상 처리 장치이다.
본 발명의 다른 측면은, 또한, 화상 처리 장치의 화상 처리 방법에 있어서, 상기 화상 처리 장치가, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터의 복호에 있어서, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하고, 상기 커런트 시차 벡터와 상기 예측 벡터의 차분 벡터에, 생성된 상기 예측 벡터를 가산하여, 상기 커런트 시차 벡터를 재구축하는 연산을 행하는 화상 처리 방법이다.
본 발명의 또 다른 측면은, 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 커런트 블록의 참조 픽처의 타입과 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하고, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하는 예측 벡터 생성부와, 상기 커런트 움직임 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 차분 벡터 생성부를 구비하는 화상 처리 장치이다.
본 발명의 또 다른 측면은, 또한, 화상 처리 장치의 화상 처리 방법에 있어서, 상기 화상 처리 장치가, 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 커런트 블록의 참조 픽처의 타입과 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하고, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하고, 상기 커런트 움직임 벡터와 생성된 상기 예측 벡터의 차분 벡터를 생성하는 화상 처리 방법이다.
본 발명의 일 측면에 있어서는, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 커런트 시차 벡터의 예측 벡터가, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성되고, 커런트 시차 벡터와, 생성된 예측 벡터의 차분 벡터가 생성된다.
본 발명의 다른 측면에 있어서는, 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터의 복호에 있어서, 커런트 시차 벡터의 예측 벡터가, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성되고, 커런트 시차 벡터와 예측 벡터의 차분 벡터에, 생성된 예측 벡터를 가산하여, 커런트 시차 벡터를 재구축하는 연산이 행해진다.
본 발명의 또 다른 측면에 있어서는, 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 커런트 블록의 참조 픽처의 타입과 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록이 낫 어베일러블로 설정되며, 커런트 움직임 벡터의 예측 벡터가, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성되고, 커런트 움직임 벡터와 생성된 예측 벡터의 차분 벡터가 생성된다.
본 발명에 따르면, 화상을 처리할 수 있다. 특히, 부호화 효율의 저감을 억제할 수 있다.
도 1은 예측 유닛의 종류의 예를 설명하는 도면이다.
도 2는 머지 모드의 시간 상관 영역에서, 참조 화상 인덱스 결정에서 사용하는 주변 영역의 예를 설명하는 도면이다.
도 3은 머지 모드의 시간 상관 영역에서의 참조 화상 인덱스의 결정 조건의 예를 나타내는 도면이다.
도 4는 시간 상관 영역의 결정 방법의 예를 설명하는 도면이다.
도 5는 시간 상관 영역을 포함하는 화상의 결정 방법의 예를 설명하는 도면이다.
도 6은 커런트 영역과 시간 상관 영역의 위치 관계의 예를 설명하는 도면이다.
도 7은 시간 상관 영역의 움직임 벡터의 스케일링의 예를 나타내는 도면이다.
도 8은 3시점 화상의 참조 관계의 예를 나타내는 도면이다.
도 9는 커런트 영역에 대해서 시차 벡터를 예측하는 경우의 참조 화상을 할당하는 예를 설명하는 도면이다.
도 10은 커런트 영역에 대해서 움직임 벡터를 예측하는 경우의 참조 화상을 할당하는 예를 설명하는 도면이다.
도 11은 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 12는 움직임 시차 예측·보상부의 주된 구성예를 도시하는 블록도이다.
도 13은 시간 시차 상관 예측 벡터 생성부의 주된 구성예를 도시하는 블록도이다.
도 14는 방식 선택의 예를 설명하는 도면이다.
도 15는 코-로케이티드 벡터의 어베일러빌리티를 판정하는 모습을 설명하는 도면이다.
도 16은 코-로케이티드 벡터가 어베일러블한 경우의 예를 설명하는 도면이다.
도 17은 시퀀스 파라미터 세트의 신택스의 예를 나타내는 도면이다.
도 18은 슬라이스 헤더의 신택스의 예를 나타내는 도면이다.
도 19는 예측 유닛의 신택스의 예를 나타내는 도면이다.
도 20은 부호화 처리의 흐름의 예를 설명하는 플로우차트이다.
도 21은 인터 움직임 예측 처리의 흐름의 예를 설명하는 플로우차트이다.
도 22는 머지 모드 처리의 흐름의 예를 설명하는 플로우차트이다.
도 23은 시차 움직임 벡터 예측 처리의 흐름의 예를 설명하는 플로우차트이다.
도 24는 시간 시차 상관 예측 처리의 흐름의 예를 설명하는 플로우차트이다.
도 25는 시간 시차 상관 예측 처리의 흐름의 예를 설명하는, 도 22에 이어지는 플로우차트이다.
도 26은 시간 시차 상관 예측 처리의 흐름의 예를 설명하는, 도 23에 이어지는 플로우차트이다.
도 27은 시간 시차 상관 예측 처리의 흐름의 예를 설명하는, 도 24에 이어지는 플로우차트이다.
도 28은 방식 1 처리의 흐름의 예를 설명하는 플로우차트이다.
도 29는 방식 3 처리의 흐름의 예를 설명하는 플로우차트이다.
도 30은 방식 4-2 처리의 흐름의 예를 설명하는 플로우차트이다.
도 31은 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 32는 움직임 시차 보상부의 주된 구성예를 도시하는 블록도이다.
도 33은 복호 처리의 흐름의 예를 설명하는 플로우차트이다.
도 34는 예측 처리의 흐름의 예를 설명하는 플로우차트이다.
도 35는 움직임 시차 보상 처리의 흐름의 예를 설명하는 플로우차트이다.
도 36은 움직임 시차 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 37은 화상 부호화 장치의 다른 구성예를 도시하는 블록도이다.
도 38은 움직임 예측·보상부의 주된 구성예를 도시하는 블록도이다.
도 39는 벡터 예측부의 주된 구성예를 도시하는 블록도이다.
도 40은 다른 픽처로부터의 예측 벡터 생성부의 주된 구성예를 도시하는 블록도이다.
도 41은 움직임 예측·보상 처리의 흐름의 예를 설명하는 플로우차트이다.
도 42는 벡터 예측 처리의 흐름의 예를 설명하는 플로우차트이다.
도 43은 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 44는 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 45는 시프트량 결정 처리의 흐름의 예를 설명하는 플로우차트이다.
도 46은 커런트 블록과 주변 블록의 배치예를 도시하는 도면이다.
도 47은 화상 복호 장치의 다른 구성예를 도시하는 블록도이다.
도 48은 움직임 보상부의 주된 구성예를 도시하는 블록도이다.
도 49는 벡터 복호부의 주된 구성예를 도시하는 블록도이다.
도 50은 다른 픽처로부터의 예측 벡터 생성부의 주된 구성예를 도시하는 블록도이다.
도 51은 움직임 보상 처리의 흐름의 예를 설명하는 플로우차트이다.
도 52는 벡터 복호 처리의 흐름의 예를 설명하는 플로우차트이다.
도 53은 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 54는 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 55는 시프트량 결정 처리의 흐름의 예를 설명하는 플로우차트이다.
도 56은 예측 벡터를 생성하는 모습의 예를 나타내는 도면이다.
도 57은 시차와 깊이에 대해서 설명하는 도면이다.
도 58은 예측 벡터 생성 방법의 예를 설명하는 도면이다.
도 59는 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 60은 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 61은 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명하는, 도 60에 이어지는 플로우차트이다.
도 62는 배경 정지 어플리케이션의 참조 화상의 모습의 예를 설명하는 도면이다.
도 63은 스테레오 어플리케이션의 참조 화상의 모습의 예를 설명하는 도면이다.
도 64는 참조 화상의 타입과 벡터의 특성의 예를 비교하는 도면이다.
도 65는 주변 블록의 예를 설명하는 도면이다.
도 66은 시간 상관 블록과 주변 블록의 취급의 예를 설명하는 도면이다.
도 67은 PU의 움직임(시차) 벡터와 참조 인덱스 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 68은 머지(스킵) 모드 처리의 흐름의 예를 설명하는 플로우차트이다.
도 69는 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 70은 시간 상관 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리의 흐름의 예를 설명하는 플로우차트이다.
도 71은 AMVP 모드 처리의 흐름의 예를 설명하는 플로우차트이다.
도 72는 공간적으로 주변 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성하는 처리의 흐름의 예를 설명하는 플로우차트이다.
도 73은 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 74는 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는, 도 73에 이어지는 플로우차트이다.
도 75는 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리의 흐름의 예를 설명하는 플로우차트이다.
도 76은 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 77은 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는, 도 76에 이어지는 플로우차트이다.
도 78은 PU의 움직임(시차) 벡터와 참조 인덱스 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 79는 머지(스킵) 모드 처리의 흐름의 예를 설명하는 플로우차트이다.
도 80은 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를 설명하는 플로우차트이다.
도 81은 AMVP 모드 처리의 흐름의 예를 설명하는 플로우차트이다.
도 82는 주변 블록의 취급의 예를 설명하는 도면이다.
도 83은 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 다른 예를 설명하는 플로우차트이다.
도 84는 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 다른 예를 설명하는, 도 83에 이어지는 플로우차트이다.
도 85는 주변 블록의 움직임(시차) 벡터의 후보의 유무의 판정 처리의 흐름의 예를 설명하는 플로우차트이다.
도 86은 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리의 흐름의 다른 예를 설명하는 플로우차트이다.
도 87은 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 다른 예를 설명하는 플로우차트이다.
도 88은 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 다른 예를 설명하는, 도 87에 이어지는 플로우차트이다.
도 89는 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 다른 예를 설명하는, 도 88에 이어지는 플로우차트이다.
도 90은 시간 상관 블록과 주변 블록의 취급의, 또 다른 예를 설명하는 도면이다.
도 91은 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 또 다른 예를 설명하는 플로우차트이다.
도 92는 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 또 다른 예를 설명하는, 도 91에 이어지는 플로우차트이다.
도 93은 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 또 다른 예를 설명하는 플로우차트이다.
도 94는 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 또 다른 예를 설명하는, 도 93에 이어지는 플로우차트이다.
도 95는 퍼스널 컴퓨터의 주된 구성예를 도시하는 블록도이다.
도 96은 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 97은 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 98은 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 99는 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
이하, 본 발명을 실시하기 위한 형태(이하 실시 형태라고 함)에 대해서 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태(화상 부호화 장치)
2. 제2 실시 형태(화상 복호 장치)
3. 제3 실시 형태(화상 부호화 장치)
4. 제4 실시 형태(화상 복호 장치)
5. 제5 실시 형태(화상 부호화 장치·화상 복호 장치)
6. 제6 실시 형태(화상 부호화 장치·화상 복호 장치)
7. 제7 실시 형태(컴퓨터)
8. 제8 실시 형태(응용예)
<1. 제1 실시 형태>
[움직임 예측]
AVC(Advanced Video Coding)나 HEVC(High Efficiency Video Coding) 등의 화상 부호화에 있어서는, 시간 방향(프레임간)의 상관을 이용한 움직임 예측이 행해진다.
이러한 예측 처리의 처리 단위로서, AVC에 있어서는, 매크로 블록이나 서브매크로 블록과 같은 계층 구조의 블록이 규정되어 있지만, HEVC에 있어서는, 코딩 유닛(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로 분할할 수 있다. 2N×2N의 크기의 CU는, split_flag의 값이 「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는 계층 구조를 가지므로, 그 최상위 계층의 LCU의 크기는, 예를 들어 128×128 화소와 같이, AVC의 매크로 블록보다 크게 설정되는 것이 일반적이다.
또한, 이하에 있어서, 「영역」에는, 상술한 각종 영역(예를 들어, 매크로 블록, 서브매크로 블록, LCU, CU, SCU, PU 및 TU 등)을 모두 포함한다(그들 중 어느 하나여도 상관없다). 물론, 상술한 이외의 단위가 포함되어도 되고, 설명의 내용에 따라서 불가능한 단위는, 적절히, 제외하는 것으로 한다.
도 1은 부호화 처리 단위인 CU에 대한, 예측 처리 단위인 예측 유닛(PU)의 구성예를 나타낸다. 도 1에 도시된 바와 같이, 1CU에 대해서 4종류의 PU를 형성할 수 있다. 도 1에 도시되는 4개의 큰 정사각형이 CU를 나타내고, 그 내부의 직사각형 또는 정사각형이 PU를 나타낸다. 숫자는 각 PU의 인덱스를 나타내는 것이며, 화상의 내용을 나타내는 것은 아니다.
도 1에 도시된 바와 같이, 좌측 위의 예의 경우, CU는 하나의 PU(2N×2N)에 의해 구성된다. 즉, 이 경우, CU와 PU는 등가이다. 또한, 우측 위의 예의 경우, CU는 상하로 2분할되고, 2개의 가로로 긴 PU(2N×N)에 의해 구성된다. 또한, 좌측 아래의 예의 경우, CU는, 좌우로 2분할되어, 2개의 세로로 긴 PU(N×2N)에 의해 구성된다. 또한, 우측 아래의 예의 경우, CU는 상하 좌우로 2분할(합계 4분할)되어, 4개의 정사각형인 PU(N×N)에 의해 구성된다. 이 중 어느 패턴이 적용될지는, 화상의 내용(예측 결과의 비용 함수값)에 의해 결정된다.
그런데, 비특허문헌 3에는, 움직임 정보의 부호화 방식 중 하나로서, Motion Partition Merging이라고 불리는 방법(머지 모드)이 제안되고 있다. 이 방법에 있어서는, MergeFlag와, MergeLeftFlag라고 하는, 2개의 flag가, 머지 모드에 관한 정보인 머지 정보로서 전송된다. MergeFlag=1은 처리 대상인 커런트 영역(주목 영역이라고도 칭함) X의 움직임 정보가, 커런트 영역 위에 인접한 주변 영역 T, 또는 커런트 영역의 왼쪽에 인접한 주변 영역 L의 움직임 정보와 동일한 것을 나타낸다. 이때, 머지 정보에는, MergeLeftFlag가 포함되며, 전송된다. MergeFlag=0은, 커런트 영역 X의 움직임 정보가, 주변 영역 T 및 주변 영역 L 중 어느 하나의 움직임 정보 모두 다른 것을 나타낸다. 이 경우, 커런트 영역 X의 움직임 정보가 전송된다.
커런트 영역 X의 움직임 정보가, 주변 영역 L의 움직임 정보와 동일한 경우, MergeFlag=1, 또한 MergeLeftFlag=1로 된다. 커런트 영역 X의 움직임 정보가, 주변 영역 T의 움직임 정보와 동일한 경우, MergeFlag=1, 또한 MergeLeftFlag=0으로 된다.
또한, 이러한 머지 모드에 있어서, 공간적인 주변 영역 L 및 T뿐만 아니라, 시간적인 주변 영역(시간 상관 영역)도, 커런트 영역 X와 머지시키는 영역의 후보로 하는 것이 생각된다.
참조 화상 인덱스는, 도 2에 도시된 바와 같이, 처리 대상인 커런트 영역(Current Block)에 대해서 왼쪽에 인접한 주변 영역 A, 위에 인접한 주변 영역 B 및 우측 위에 인접한 주변 영역 C의 참조 화상 인덱스에 기초하여 도 3에 나타나는 표와 같이 결정된다.
도 3에 나타나는 표에 있어서, 왼쪽에서 2번째 내지 4번째의 열은, 각각 주변 영역 A 내지 주변 영역 C의 참조 화상 인덱스의 상태를 나타내고 있다. 왼쪽에서 1열째는, 결정된 참조 화상 인덱스이다. 「x」, 「y」 및 「z」는 각각 임의의 자연수를 나타내고, 「-1」은 참조 불가인 것을 나타내고 있다.
주변 영역 A 내지 주변 영역 C 중, 참조 가능한 영역이 하나밖에 없는 경우, 그 블록의 참조 화상 인덱스를 사용한다. 또한, 주변 영역 A 내지 주변 영역 C 중, 참조 가능한 영역이 둘 있는 경우, 최소의 참조 화상 인덱스를 사용한다. 또한, 주변 영역 A 내지 주변 영역 C 모두가 참조 불가인 경우, 참조 화상 인덱스를 O으로 한다.
처리 대상인 커런트 영역에 대해서 시간적인 주변에 위치하는 시간 상관 영역은, 도 4에 도시된 바와 같이 결정된다. 도 4에서, 좌측이 처리 대상인 커런트 픽처(CurrPic)(주목 픽처라고도 칭함)의 일부의 영역을 나타내고, 그 중 좌측 위의 사각이 커런트 영역(CurrPU)을 나타낸다. 또한, 도 4의 우측이 커런트 픽처의 시간적으로 주변에 위치하는 시간 상관 픽처(colPic)의 일부 영역을 나타내고 있다. 이 시간 상관 픽처에 있어서, 커런트 영역의 우측 아래의 화소와 동일 위치의 화소를 포함하는 영역을 시간 상관 영역(colPU)이라 한다. 이 영역이 참조 불가인 경우, 복호 영역의 중앙의 화소와 동일 위치의 화소를 포함하는 영역을 시간 상관 영역(colPU)이라 한다.
또한, 시간 상관 픽처는 도 5에 도시된 바와 같이 결정된다. 예를 들어, 커런트 픽처가 B 픽처이고, collocated_from_l0_flag가 1인 경우, 리스트 L1의 참조 화상 인덱스 0의 픽처가 시간 상관 픽처로 된다. 또한, 커런트 픽처가, P 픽처의 경우 또는 B 픽처이고 collocated_from_l0_flag가 0인 경우, 리스트 L0의 참조 화상 인덱스 0인 픽처가 시간 상관 픽처로 된다.
또한, 커런트 픽처와 시간 상관 픽처의 위치 관계에 의해, 도 6에 도시된 바와 같이, 비월 플래그가 설정된다. 예를 들어, 도 6 위에 도시된 바와 같이, 시간 상관 픽처의 참조 화상의 시간적 위치가 커런트 픽처를 비월하는(시간 상관 픽처와 참조 화상 사이에 커런트 픽처가 존재하는) 경우, 비월 플래그가 1로 설정된다.
또한, 시간 상관 픽처의 참조 화상의 시간적 위치가 커런트 픽처를 비월하지 않는(시간 상관 픽처와 참조 화상 사이에 커런트 픽처가 존재하지 않는) 경우, 비월 플래그가 0으로 설정된다. 비월 플래그가 1인 경우, 커런트 영역이, 시간 상관 영역과 시간 상관 영역의 참조 화상의 내부 삽입으로 되기 때문에, 예측 벡터의 신뢰도가 높다.
또한, 예측 벡터 pmv 생성 시에는, 시간 상관 영역의 움직임 벡터 mvCol이 이용되지만, 그 경우, 도 7에 나타나는 예와 같이, 시간 상관 영역의 움직임 벡터의 스케일링이 행해진다. 즉, 커런트 영역과 커런트 영역의 참조 화상의 시간적 거리 A와, 시간 상관 영역과 시간 상관 영역의 참조 화상의 시간적 거리 B에 기초하여, 이하의 수학식 1 및 수학식 2와 같이 스케일링이 행해진다.
Figure 112013115787670-pct00001
Figure 112013115787670-pct00002
그런데, 다시점 화상의 경우, 화상은 복수의 뷰로 이루어지고, 이 뷰간(시차 방향)의 상관성을 이용한 시차 예측도 행해진다. 도 8에 3시점 화상의 참조 관계의 예를 나타낸다.
도 8에 나타나는 3시점 화상은 뷰 0, 뷰 1 및 뷰 2의 3개의 뷰로 이루어진다. 도 8에서, POC는 시각의 인덱스를 나타낸다. 또한 PicNum은, 복호 순서의 인덱스를 나타낸다.
뷰 0은 베이스 뷰라고 불리며, 시간 상관을 이용해서 예측을 행하는 시간 예측을 사용해서 부호화되어 있다. 뷰 1은 논 베이스 뷰라고 불리며, 시간 예측과 시차 예측을 사용해서 부호화된다. 시차 예측에서는, 부호화가 끝난 뷰 0과 뷰 2를 참조할 수 있다. 뷰 2는 논베이스 뷰라고 불리며, 시간 예측과 시차 예측을 사용해서 부호화된다. 시차 예측에서는, 부호화가 끝난 뷰 0을 참조할 수 있다.
그러나, 상술한 바와 같이 종래의 예측 벡터는 움직임 벡터에 관한 것일뿐, 이러한 시점(뷰)간을 넘는 시차 예측에 있어서 생성되는, 뷰간의, 동일 또는 가장 근사한 부분 화상의 위치 관계를 나타내는 시차 벡터에 관한 부호화(예측)는 생각되지 않는다. 이 시차 벡터는, 시간 예측의 움직임 벡터에 상당하는 정보이며, 동일 시각의 다른 뷰의 화상을 사용해서 커런트 영역의 예측 화상을 생성하는 시간 예측에 사용된다. 그로 인해, 시차 벡터의 예측을 적절하게 행할 수 없어, 부호화 효율이 저감될 우려가 있었다.
따라서, 본 기술에 있어서는, 다시점 화상에 있어서, 이하와 같이 시차 벡터나 움직임 벡터(움직임 시차 벡터)의 예측을 행한다.
예를 들어, 커런트 영역의 시차 벡터(커런트 시차 벡터라고도 칭함)의 예측은, 도 9에 나타나는 예와 같이 행해진다. 이 예에서는, 리스트 1의 참조 화상 인덱스 0에 동일 뷰(view_id=1)의 참조 화상이 할당되고, 참조 화상 인덱스 1에 다른 뷰(view_id=2)의 참조 화상이 할당되어 있다.
리스트 1의 참조 화상 인덱스 0(RefPicList [0])을 시간 상관 픽처로 하는 경우, 그 시간 상관 픽처에 포함되는 시간 상관 영역(colPicB)의 벡터가, 동일 시각의 다른 뷰를 참조하는 시차 벡터일 때, 예측 벡터로서 채용한다.
또한, 리스트 1의 참조 화상 인덱스 1(RefPicList [1])을 뷰 상관 픽처로 하는 경우, 그 뷰 상관 픽처에 포함되는 뷰 상관 영역(colPicA)의 벡터가, 동일 시각의 다른 뷰를 참조하는 시차 벡터일 때, 예측 벡터로서 채용한다.
즉, 본 기술에 있어서는, 커런트 시차 벡터의 예측을 위해서, 모든 참조 화상 인덱스가 상관 픽처의 후보로 된다. 또한, 각 상관 영역의 벡터가, 커런트 영역의 벡터와 마찬가지로, 시차 벡터인지 여부가 판정된다.
또한, 커런트 영역의 움직임 벡터(커런트 움직임 벡터라고도 칭함)의 예측은, 도 10에 도시되는 예와 같이 행해진다. 이 예에서는, 리스트 1의 참조 화상 인덱스 0에 동일 뷰(view_id=1)의 참조 화상이 할당되고, 참조 화상 인덱스 1에 다른 뷰(view_id=2)의 참조 화상이 할당되어 있다.
리스트 1의 참조 화상 인덱스 0(RefPicList [0])을 시간 상관 픽처로 하는 경우, 그 시간 상관 픽처에 포함되는 시간 상관 영역(colPicB)의 벡터가, 동일 뷰의 다른 시각을 참조하는 움직임 벡터일 때, 예측 벡터로서 채용한다.
또한, 리스트 1의 참조 화상 인덱스 1(RefPicList [1])을 뷰 상관 픽처로 하는 경우, 그 뷰 상관 픽처에 포함되는 뷰 상관 영역(colPicA)의 벡터가, 동일 뷰의 다른 시각을 참조하는 움직임 벡터일 때, 예측 벡터로서 채용한다.
즉, 본 기술에 있어서는, 커런트 움직임 벡터의 예측을 위해서, 모든 참조 화상 인덱스가 상관 픽처의 후보로 된다. 또한, 각 상관 영역의 벡터가, 커런트 영역의 벡터와 마찬가지로, 움직임 벡터인지 여부가 판정된다.
또한, 시차 벡터를 예측 벡터로 하는 경우의 스케일링 처리는, 이하와 같이 행해진다. 즉, 커런트 영역과 그 참조 화상의 뷰간 거리와, 상관 영역과 그 참조 화상의 뷰간 거리에 기초하여, 예측 벡터가 스케일링된다.
종래의 경우, 움직임 벡터를 예측할 뿐이었기 때문에, 시간적인 거리만이 사용되었지만, 다시점 화상인 경우, 시차 벡터를 예측할 필요가 있으므로, 본 기술은 뷰간 거리도 사용한다. 이에 의해, 부호화 효율을 향상시킬 수 있다.
[화상 부호화 장치]
도 11은 화상 처리 장치인 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 11에 도시되는 화상 부호화 장치(100)는 예를 들어 AVC나 HEVC 등의 부호화 방식과 같이, 예측 처리를 사용해서 화상 데이터를 부호화한다. 단, 화상 부호화 장치(100)는 복수의 뷰로 이루어지는 다시점 화상을 부호화한다. 이하에 있어서는, 다시점 화상의 일례로서, 3개의 뷰로 이루어지는 3시점 화상을 처리하는 경우에 대해서 설명한다. 단, 실제로는, 화상 부호화 장치(100)는 임의의 시점수(뷰수)의 다시점 화상을 부호화할 수 있다.
도 11에 도시된 바와 같이 화상 부호화 장치(100)는 A/D 변환부(101), 화면 재배열 버퍼(102), 연산부(103), 직교 변환부(104), 양자화부(105), 가역 부호화부(106) 및 축적 버퍼(107)를 갖는다. 또한, 화상 부호화 장치(100)는 역양자화부(108), 역직교 변환부(109), 연산부(110), 루프 필터(111), 디코드 픽처 버퍼(112), 선택부(113), 인트라 예측부(114), 움직임 시차 예측·보상부(115), 예측 화상 선택부(116) 및 다시점 디코드 픽처 버퍼(121)를 갖는다.
A/D 변환부(101)는 입력된 화상 데이터를 A/D 변환하고, 변환 후의 화상 데이터(디지털 데이터)를 화면 재배열 버퍼(102)에 공급하고, 기억시킨다. 화면 재배열 버퍼(102)는 기억한 표시의 순서의 프레임의 화상을, GOP(Group Of Picture)에 따라서, 부호화를 위한 프레임의 순서로 재배열하고, 프레임의 순서를 재배열한 화상을, 그 화상의 뷰 ID 및 POC와 함께, 연산부(103)에 공급한다.
또한, 화면 재배열 버퍼(102)는 프레임의 순서를 재배열한 화상을, 그 화상의 뷰 ID 및 POC와 함께, 인트라 예측부(114) 및 움직임 시차 예측·보상부(115)에도 공급한다. 또한, 뷰 ID는 시점을 식별하기 위한 정보이며, POC는 시각을 식별하기 위한 정보이다.
연산부(103)는 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 예측 화상 선택부(116)를 통해서 인트라 예측부(114) 또는 움직임 시차 예측·보상부(115)로부터 공급되는 예측 화상을 감산하고, 그 차분 정보를 직교 변환부(104)에 출력한다.
예를 들어, 인트라 부호화가 행해지는 화상의 경우, 연산부(103)는 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 인트라 예측부(114)로부터 공급되는 예측 화상을 감산한다. 또한, 예를 들어 인터 부호화가 행해지는 화상의 경우, 연산부(103)는 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 움직임 시차 예측·보상부(115)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(104)는 연산부(103)로부터 공급되는 차분 정보에 대해서 이산 코사인 변환이나 카루넨 루베 변환 등의 직교 변환을 실시한다. 또한, 이 직교 변환의 방법은 임의이다. 직교 변환부(104)는 그 변환 계수를 양자화부(105)에 공급한다.
양자화부(105)는 직교 변환부(104)로부터 공급되는 변환 계수를 양자화한다. 양자화부(105)는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고, 그 양자화를 행한다. 또한, 이 양자화의 방법은 임의이다. 양자화부(105)는 양자화된 변환 계수를 가역 부호화부(106)에 공급한다.
가역 부호화부(106)는 양자화부(105)에 있어서 양자화된 변환 계수를, 임의의 부호화 방식으로 부호화한다. 또한, 가역 부호화부(106)는 인트라 예측의 모드를 나타내는 정보 등을 포함하는 인트라 예측 정보를 인트라 예측부(114)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 움직임 시차 벡터 정보 등을 포함하는 인터 예측 정보를 움직임 시차 예측·보상부(115)로부터 취득한다. 또한, 가역 부호화부(106)는 루프 필터(111)에 있어서 사용된 필터 계수 등을 취득한다.
가역 부호화부(106)는 이들 각종 정보를 임의의 부호화 방식으로 부호화하여, 부호화 데이터의 헤더 정보의 일부로 한다(다중화함). 가역 부호화부(106)는 부호화하여 얻어진 부호화 데이터를 축적 버퍼(107)에 공급하여 축적시킨다.
가역 부호화부(106)의 부호화 방식으로서는, 예를 들어 가변장 부호화 또는 산술 부호화 등을 들 수 있다. 가변장 부호화로서는, 예를 들어 H.264/AVC 방식에서 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(107)는 가역 부호화부(106)로부터 공급된 부호화 데이터를, 일시적으로 유지한다. 축적 버퍼(107)는 소정의 타이밍에 있어서, 유지하고 있는 부호화 데이터를, 비트 스트림으로서, 예를 들어 후단의 도시하지 않은 기록 장치(기록 매체)나 전송로 등에 출력한다. 즉, 부호화된 각종 정보가 복호측에 공급된다.
또한, 양자화부(105)에 있어서 양자화된 변환 계수는, 역양자화부(108)에도 공급된다. 역양자화부(108)는 그 양자화된 변환 계수를, 양자화부(105)에 의한 양자화에 대응하는 방법에 의해 역양자화한다. 이 역양자화의 방법은, 양자화부(105)에 의한 양자화 처리에 대응하는 방법이면 어떤 방법이어도 된다. 역양자화부(108)는 얻어진 변환 계수를, 역직교 변환부(109)에 공급한다.
역직교 변환부(109)는 역양자화부(108)로부터 공급된 변환 계수를, 직교 변환부(104)에 의한 직교 변환 처리에 대응하는 방법에 의해 역직교 변환한다. 이 역직교 변환의 방법은, 직교 변환부(104)에 의한 직교 변환 처리에 대응하는 방법이면 어떤 것이어도 상관없다. 역직교 변환된 출력(국소적으로 복원된 차분 정보)은 연산부(110)에 공급된다.
연산부(110)는 역직교 변환부(109)로부터 공급된 역직교 변환 결과, 즉 국소적으로 복원된 차분 정보에, 예측 화상 선택부(116)를 통해서 인트라 예측부(114) 또는 움직임 시차 예측·보상부(115)로부터 공급되는 예측 화상을 가산하여, 국소적으로 재구성된 화상(이하, 재구성 화상이라고 칭함)을 얻는다. 그 재구성 화상은, 루프 필터(111) 또는 디코드 픽처 버퍼(112)에 공급된다.
루프 필터(111)는 디블록 필터나 적응 루프 필터 등을 포함하고, 연산부(110)로부터 공급되는 복호 화상에 대해서 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(111)는 복호 화상에 대해서 디블록 필터 처리를 행함으로써 복호 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(111)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 복호 화상)에 대해서, 위너 필터(Wiener Filter)를 사용해서 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(111)가 복호 화상에 대해서 임의의 필터 처리를 행하도록 해도 된다. 또한, 루프 필터(111)는 필요에 따라서, 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(106)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
루프 필터(111)는 필터 처리 결과(이하, 복호 화상이라고 칭함)를 디코드 픽처 버퍼(112)에 공급한다.
디코드 픽처 버퍼(112)는 연산부(110)로부터 공급되는 재구성 화상과, 루프 필터(111)로부터 공급되는 복호 화상을 각각 기억한다. 또한, 디코드 픽처 버퍼(112)는, 그 화상의 뷰 ID 및 POC를 기억한다.
디코드 픽처 버퍼(112)는, 소정의 타이밍에 있어서, 또는 인트라 예측부(114) 등의 외부로부터의 요구에 기초하여, 기억하고 있는 재구성 화상(및 그 화상의 뷰 ID 및 POC)을 선택부(113)를 통해서, 인트라 예측부(114)에 공급한다. 또한, 디코드 픽처 버퍼(112)는, 소정의 타이밍에 있어서, 또는 움직임 시차 예측·보상부(115) 등의 외부로부터의 요구에 기초하여, 기억하고 있는 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 선택부(113)를 통해서, 움직임 시차 예측·보상부(115)에 공급한다.
선택부(113)는 디코드 픽처 버퍼(112)로부터 출력되는 화상의 공급처를 나타낸다. 예를 들어, 인트라 예측인 경우, 선택부(113)는 디코드 픽처 버퍼(112)로부터 필터 처리되어 있지 않은 화상(재구성 화상)을 판독하여, 주변 화소로 하고, 인트라 예측부(114)에 공급한다.
또한, 예를 들어 인터 예측의 경우, 선택부(113)는 디코드 픽처 버퍼(112)로부터 필터 처리된 화상(복호 화상)을 판독하여, 참조 화상로 하고, 그것을 움직임 시차 예측·보상부(115)에 공급한다.
인트라 예측부(114)는 디코드 픽처 버퍼(112)로부터, 처리 대상 영역의 주변에 위치하는 주변 영역의 화상(주변 화상)을 취득하면, 그 주변 화상의 화소값을 사용해서, 기본적으로 프레딕션 유닛(PU)을 처리 단위로 해서 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(114)는 미리 준비된 복수의 모드(인트라 예측 모드)로 이 인트라 예측을 행한다.
인트라 예측부(114)는 후보로 되는 모든 인트라 예측 모드로 예측 화상을 생성하고, 화면 재배열 버퍼(102)로부터 공급되는 입력 화상을 사용해서 각 예측 화상의 비용 함수값을 평가하여, 최적의 모드를 선택한다. 인트라 예측부(114)는 최적의 인트라 예측 모드를 선택하면, 그 최적의 모드로 생성된 예측 화상을, 예측 화상 선택부(116)에 공급한다.
또한, 인트라 예측부(114)는 최적의 인트라 예측 모드 등, 인트라 예측에 관한 정보를 포함하는 인트라 예측 정보를, 적절히 가역 부호화부(106)에 공급하여, 부호화시킨다.
움직임 시차 예측·보상부(115)는 화면 재배열 버퍼(102)로부터 공급되는 입력 화상과, 디코드 픽처 버퍼(112)로부터 공급되는 참조 화상을 사용해서, 기본적으로 PU를 처리 단위로 해서 움직임 예측이나 시차 예측(인터 예측)을 행하고, 검출된 움직임 시차 벡터에 따라서 보상 처리를 행하여, 예측 화상(인터 예측 화상 정보)을 생성한다. 움직임 시차 예측·보상부(115)는 미리 준비된 복수의 모드(인터 예측 모드)로 이러한 인터 예측(화면간 예측)을 행한다.
움직임 시차 예측·보상부(115)는 후보로 되는 모든 인터 예측 모드로 예측 화상을 생성하고, 각 예측 화상의 비용 함수값을 평가하여, 최적의 모드를 선택한다. 움직임 시차 예측·보상부(115)는 최적의 인터 예측 모드를 선택하면, 그 최적의 모드로 생성된 예측 화상을, 예측 화상 선택부(116)에 공급한다.
또한, 움직임 시차 예측·보상부(115)는 최적의 인터 예측 모드 등, 인터 예측에 관한 정보를 포함하는 인터 예측 정보를 가역 부호화부(106)에 공급하여, 부호화시킨다.
예측 화상 선택부(116)는 연산부(103)나 연산부(110)에 공급하는 예측 화상의 공급원을 선택한다. 예를 들어, 인트라 부호화의 경우, 예측 화상 선택부(116)는 예측 화상의 공급원으로서 인트라 예측부(114)를 선택하고, 그 인트라 예측부(114)로부터 공급되는 예측 화상을 연산부(103)나 연산부(110)에 공급한다. 또한, 예를 들어 인터 부호화의 경우, 예측 화상 선택부(116)는 예측 화상의 공급원으로서 움직임 시차 예측·보상부(115)를 선택하고, 그 움직임 시차 예측·보상부(115)로부터 공급되는 예측 화상을 연산부(103)나 연산부(110)에 공급한다.
디코드 픽처 버퍼(112)는, 처리 대상의 뷰의 화상(및, 그 화상의 뷰 ID 및 POC)만을 기억하지만, 다시점 디코드 픽처 버퍼(121)는 각 시점(뷰)의 화상(및, 그 화상의 뷰 ID 및 POC)을 기억한다. 즉, 다시점 디코드 픽처 버퍼(121)는 디코드 픽처 버퍼(112)에 공급된 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 취득하고, 디코드 픽처 버퍼(112)와 함께 그 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 기억한다.
디코드 픽처 버퍼(112)는 처리 대상의 뷰가 바뀌면, 그 복호 화상을 소거하지만, 다시점 디코드 픽처 버퍼(121)는 그대로 유지한다. 그리고, 디코드 픽처 버퍼(112) 등의 요구에 따라서, 기억하고 있는 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 「처리 대상이 아닌 뷰의 복호 화상」으로서, 디코드 픽처 버퍼(112)에 공급한다. 디코드 픽처 버퍼(112)는, 다시점 디코드 픽처 버퍼(121)로부터 판독한 「처리 대상이 아닌 뷰의 복호 화상(및, 그 화상의 뷰 ID 및 POC)」을, 선택부(113)를 통해서 움직임 시차 예측·보상부(115)에 공급한다.
[움직임 시차 예측·보상부]
도 12는 도 11의 움직임 시차 예측·보상부의 주된 구성예를 도시하는 블록도이다.
도 12에 도시된 바와 같이, 움직임 시차 예측·보상부(115)는 움직임 시차 벡터 탐색부(131), 예측 화상 생성부(132), 부호화 정보 축적 버퍼(133) 및 선택부(134)를 갖는다. 또한, 움직임 시차 예측·보상부(115)는 공간 상관 예측 벡터 생성부(135), 시간 시차 상관 예측 벡터 생성부(136), 선택부(137), 부호화 비용 산출부(138) 및 모드 판정부(139)를 갖는다.
움직임 시차 벡터 탐색부(131)는 디코드 픽처 버퍼(112)로부터 복호 화상 화소값을 취득하고, 화면 재배열 버퍼(102)로부터 원화상 화소값을 취득한다. 움직임 시차 벡터 탐색부(131)는 그들을 사용해서, 처리 대상인 커런트 영역의 참조 화상 인덱스를 결정하고, 시간 방향 및 시차 방향의 움직임 탐색을 행하여, 커런트 움직임 벡터 및 커런트 시차 벡터를 생성한다.
또한, 이하에 있어서, 시간 방향, 즉 프레임(픽처) 간의 움직임을 나타내는 움직임 벡터와, 시차 방향, 즉 뷰간의 움직임을 나타내는 시차 벡터를 서로 구별할 필요가 없는 경우, 또는 그 양쪽을 가리키는 경우, 움직임 시차 벡터라고 칭한다. 커런트 영역의 움직임 시차 벡터는, 커런트 움직임 시차 벡터라고도 칭한다.
움직임 시차 벡터 탐색부(131)는 참조 화상 인덱스와 움직임 시차 벡터를 예측 화상 생성부(132) 및 부호화 비용 산출부(138)에 공급한다.
예측 화상 생성부(132)는 움직임 시차 벡터 탐색부(131)로부터 참조 화상 인덱스와 움직임 시차 벡터를 취득함과 함께, 디코드 픽처 버퍼(112)로부터 복호 화상 화소값을 취득한다. 예측 화상 생성부(132)는 그들을 사용해서 커런트 영역의 예측 화상을 생성한다. 예측 화상 생성부(132)는 예측 화상 화소값을 부호화 비용 산출부(138)에 공급한다.
부호화 정보 축적 버퍼(133)는 모드 판정부(139)에 있어서 최적 모드로 선택된 모드를 나타내는 모드 정보 및 그 모드의 참조 화상 인덱스 및 움직임 시차 벡터를 기억한다. 부호화 정보 축적 버퍼(133)는 소정의 타이밍에 있어서, 또는 외부로부터의 요구에 따라서, 기억하고 있는 그들 정보를, 선택부(134)에 공급한다.
선택부(134)는 부호화 정보 축적 버퍼(133)로부터 공급된 모드 정보, 참조 화상 인덱스 및 움직임 시차 벡터를 공간 상관 예측 벡터 생성부(135) 또는 시간 시차 상관 예측 벡터 생성부(136)에 공급한다.
공간 상관 예측 벡터 생성부(135) 및 시간 시차 상관 예측 벡터 생성부(136)는 처리 대상인 커런트 영역의 움직임 벡터(커런트 움직임 벡터)의 예측값(예측 벡터)을 생성한다.
공간 상관 예측 벡터 생성부(135)는 공간적인 상관을 이용해서 예측 벡터(공간 상관 예측 벡터)를 생성한다. 보다 구체적으로는, 공간 상관 예측 벡터 생성부(135)는 선택부(134)를 통해서 부호화 정보 축적 버퍼(133)로부터, 커런트 영역과 동일한 프레임(커런트 프레임(주목 프레임이라고도 칭함))의, 커런트 영역의 공간적인 주변에 위치하는 주변 영역(공간 주변 영역)의 움직임 정보에 관한 정보(모드 정보, 참조 화상 인덱스 및 움직임 시차 벡터 등)를 취득한다.
공간 상관 예측 벡터 생성부(135)는, 예를 들어 복수의 공간 주변 영역의 움직임 벡터(공간 주변 움직임 벡터)를 사용해서 메디안 연산을 행하여, 공간 상관 예측 벡터를 생성한다. 공간 상관 예측 벡터 생성부(135)는 생성한 공간 상관 예측 벡터를 선택부(137)에 공급한다.
시간 시차 상관 예측 벡터 생성부(136)는 시간적인 상관 또는 시차적인 상관을 이용해서 예측 벡터(시간 시차 상관 예측 벡터(시간 상관 예측 벡터 또는 시차 상관 예측 벡터))를 생성한다. 보다 구체적으로는, 시간 시차 상관 예측 벡터 생성부(136)는, 예를 들어 선택부(134)를 통해서 부호화 정보 축적 버퍼(133)로부터, 커런트 영역의 시간적인 주변에 위치하는 주변 영역(시간 주변 영역)의 움직임 정보에 관한 정보를 취득한다. 시간 주변 영역이란, 커런트 영역과 동일 뷰(커런트 뷰(주목 뷰라고도 칭함))의, 커런트 프레임과 다른 프레임(픽처)의 커런트 영역에 상당하는 위치의 영역, 또는 그 근방의 영역을 나타낸다.
또한, 예를 들어 시간 시차 상관 예측 벡터 생성부(136)는 선택부(134)를 통해서 부호화 정보 축적 버퍼(133)로부터, 커런트 영역의 시차적인 주변에 위치하는 주변 영역(시차 주변 영역)의 움직임 정보에 관한 정보를 취득한다. 시차 주변 영역이란, 커런트 영역의 뷰(커런트 뷰)와 다른 뷰의, 커런트 프레임과 동시각의 프레임(픽처)의 커런트 영역에 상당하는 위치의 영역, 또는 그 근방의 영역을 나타낸다.
시간 시차 상관 예측 벡터 생성부(136)는, 예를 들어 복수의 시간 주변 영역의 움직임 벡터(시간 주변 움직임 벡터)를 사용해서 메디안 연산을 행하여, 시간 상관 예측 벡터를 생성한다. 또한, 예를 들어 시간 시차 상관 예측 벡터 생성부(136)는, 예를 들어 복수의 시차 주변 영역의 움직임 벡터(시차 주변 움직임 벡터)를 사용해서 메디안 연산을 행하여, 시차 상관 예측 벡터를 생성한다.
시간 시차 상관 예측 벡터 생성부(136)는, 이와 같이 생성한 시간 시차 상관 예측 벡터를 선택부(137)에 공급한다.
공간 상관 예측 벡터 생성부(135) 및 시간 시차 상관 예측 벡터 생성부(136)는, 각각 예측 벡터를, 인터 예측 모드마다 생성한다.
선택부(137)는 공간 상관 예측 벡터 생성부(135)로부터 공급되는 공간 상관 예측 벡터 및 시간 시차 상관 예측 벡터 생성부(136)로부터 공급되는 시간 시차 상관 예측 벡터를, 부호화 비용 산출부(138)에 공급한다.
부호화 비용 산출부(138)는 예측 화상 생성부(132)로부터 공급되는 예측 화상 화소값과, 화면 재배열 버퍼(102)로부터 공급되는 원화상 화소값을 사용해서, 예측 화상과 원화상의 차분값(차분 화상)을 인터 예측 모드마다 산출한다. 또한, 부호화 비용 산출부(138)는 그 차분 화상 화소값을 사용해서, 인터 예측 모드마다 비용 함수값(부호화 비용값이라고도 칭함)을 산출한다.
또한, 부호화 비용 산출부(138)는 선택부(137)로부터 공급된 공간 상관 예측 벡터와 시간 시차 상관 예측 벡터 중, 움직임 시차 벡터 탐색부(131)로부터 공급된 커런트 영역의 움직임 시차 벡터에 보다 가까운 쪽을, 커런트 영역의 예측 벡터로서 선택한다. 또한, 부호화 비용 산출부(138)는 그 예측 벡터와 커런트 영역의 움직임 시차 벡터의 차분값인 차분 움직임 시차 벡터를 생성한다. 부호화 비용 산출부(138)는 인터 예측 모드마다 차분 움직임 시차 벡터를 생성한다.
부호화 비용 산출부(138)는 각 인터 예측 모드의, 부호화 비용값, 예측 화상 화소값, 차분 움직임 시차 벡터를 포함하는 차분 움직임 시차 정보 및 예측 벡터나 참조 화상 인덱스를 포함하는 예측 정보를 모드 판정부(139)에 공급한다.
모드 판정부(139)는 부호화 비용값이 최소로 되는 인터 예측 모드를 최적의 모드로서 선택한다. 모드 판정부(139)는 최적의 모드로 선택한 인터 예측 모드의 예측 화상 화소값을, 예측 화상 선택부(116)에 공급한다.
예측 화상 선택부(116)에 의해, 인터 예측이 선택된 경우, 모드 판정부(139)는 최적의 모드로 선택한 인터 예측 모드에 관한 정보인 모드 정보, 및 그 인터 예측 모드의 차분 움직임 시차 정보 및 예측 정보를, 가역 부호화부(106)에 공급하여, 부호화시킨다. 이들 정보는, 부호화되어, 복호측으로 전송된다.
또한, 모드 판정부(139)는 최적의 모드로 선택한 인터 예측 모드의, 모드 정보, 차분 움직임 시차 정보 및 예측 정보를, 부호화 정보 축적 버퍼(133)에 공급하고, 기억시킨다. 이들 정보는 커런트 영역보다 시간적으로 나중에 처리되는 다른 영역에 대한 처리에 있어서, 주변 영역의 정보로서 이용된다.
[시간 시차 상관 예측 벡터 생성부]
도 13은 시간 시차 상관 예측 벡터 생성부(136)의 주된 구성예를 도시하는 블록도이다.
도 13에 도시된 바와 같이, 시간 시차 상관 예측 벡터 생성부(136)는 커런트 영역 처리부(주목 영역 처리부)(151), 상관 영역 처리부(152), LI 예측 처리부(153), L0 예측 처리부(154), 방식 1 처리부(155), 방식 2 처리부(156), 방식 3 처리부(157), 방식 4 처리부(158) 및 예측 벡터 생성부(159)를 갖는다.
커런트 영역 처리부(151)는 커런트 영역에 관한 정보를 취득하는 처리를 행한다. 커런트 영역 처리부(151)는 취득한 커런트 영역에 관한 정보를, 상관 영역 처리부(152) 내지 L0 예측 처리부(154)의 각 부에 공급한다. 상관 영역 처리부(152)는 상관 영역에 관한 정보를 취득하는 처리를 행한다.
또한, 상관 영역은, 커런트 영역과의 상관을 이용하기 위해 참조되는 영역이다. 예를 들어, 시간 상관 영역이란, 커런트 영역과의 시간 상관을 이용하기 위해 참조되는 영역이며, 시간 상관 예측 벡터의 생성에 사용된 움직임 벡터를 갖는 시간 주변 영역이다. 또한, 시차 상관 영역이란, 커런트 영역과의 시차 상관을 이용하기 위해 참조되는 영역이며, 시차 상관 예측 벡터의 생성에 사용된 움직임 벡터를 갖는 시차 주변 영역이다. 상관 영역은, 이들의 영역을 포함한다.
상관 영역 처리부(152)는 상관 영역에 관한 정보를, L1 예측 처리부(153) 및 L0 예측 처리부(154)에 공급한다.
L1 예측 처리부(153)는 L1 방향의 예측에 관한 처리를 행한다. L1 예측 처리부(153)는 화면 재배열 버퍼(102)나 디코드 픽처 버퍼(112)로부터 필요한 정보를 취득한다. 또한 L1 예측 처리부(153)는 커런트 영역 처리부(151) 및 상관 영역 처리부(152)로부터 공급된 정보를 취득한다. L1 예측 처리부(153)는 그들 정보를 사용해서, L1 방향의 예측에 관한 처리를 행한다.
예측 처리로서 방식 1 내지 방식 4의 4가지 방법이 준비되어 있다. L1 예측 처리부는, 어느 하나의 방법을 선택하고, 방식 1 처리부(155) 내지 방식 4 처리부(158) 중, 선택한 방법에 대응하는 처리부에, 정보를 제공한다.
L0 예측 처리부(154)는 L0 방향의 예측에 관한 처리를, L1 예측 처리부(153)와 마찬가지로 행한다.
방식 1은 리스트 1의 참조 화상 인덱스 1에 할당된, 커런트 뷰와 다른 뷰의, 커런트 프레임과 동시각의 프레임(참조 화상)을 상관 화상으로 하고, 그 상관 영역의 벡터가 시차 벡터인 경우, 그 시차 벡터(레퍼런스 시차 벡터)를 예측 벡터로서 채용하는 방식이다. 방식 1 처리부(155)는 이러한 방식에 따라서 예측 벡터를 생성하기 위한 처리를 행한다. 방식 1 처리부(155)는 처리의 결과 얻어진 각종 파라미터를 예측 벡터 생성부(159)에 공급한다.
방식 2는 리스트 1의 참조 화상 인덱스 0에 할당된, 커런트 뷰와 동일한 뷰의, 커런트 프레임과 다른 시각의 프레임(참조 화상)을 상관 화상으로 하고, 그 상관 영역의 벡터가 시차 벡터인 경우, 그 시차 벡터(레퍼런스 시차 벡터)를 예측 벡터로서 채용하는 방식이다. 방식 2 처리부(156)는 이러한 방식에 따라서 예측 벡터를 생성하기 위한 처리를 행한다. 방식 2 처리부(156)는 처리의 결과 얻어진 각종 파라미터를 예측 벡터 생성부(159)에 공급한다.
방식 3은 리스트 1의 참조 화상 인덱스 1에 할당된, 커런트 뷰와 동일한 뷰의, 커런트 프레임과 다른 시각의 프레임(참조 화상)을 상관 화상으로 하고, 그 상관 영역의 벡터가 움직임 벡터인 경우, 그 움직임 벡터(레퍼런스 시차 벡터)를 예측 벡터로서 채용하는 방식이다. 방식 3 처리부(157)는 이러한 방식에 따라서 예측 벡터를 생성하기 위한 처리를 행한다. 방식 3 처리부(157)는 처리의 결과 얻어진 각종 파라미터를 예측 벡터 생성부(159)에 공급한다.
방식 4는 리스트 1의 참조 화상 인덱스 0에 할당된, 커런트 뷰와 동일한 뷰의, 커런트 프레임과 다른 시각의 프레임(참조 화상)을 상관 화상으로 하고, 그 상관 영역의 벡터가 움직임 벡터인 경우, 그 움직임 벡터(레퍼런스 시차 벡터)를 예측 벡터로서 채용하는 방식이다. 방식 4 처리부(158)는 이러한 방식에 따라서 예측 벡터를 생성하기 위한 처리를 행한다. 방식 4 처리부(158)는 처리의 결과 얻어진 각종 파라미터를 예측 벡터 생성부(159)에 공급한다.
예측 벡터 생성부(159)는 방식 1 처리부(155) 내지 방식 4 처리부(158)로부터 공급된 정보 및 디코드 픽처 버퍼(112)로부터 취득한 참조 화상의 뷰 정보나 시간 정보 등을 사용해서, 시간 시차 상관 예측 벡터를 생성한다. 그 때, 예측 벡터 생성부(159)는 방식 1 처리부(155) 내지 방식 4 처리부(158)로부터 공급되는 정보를 사용해서 스케일링 처리를 행한다. 그 때, 예측 벡터 생성부(159)는 움직임 상관 예측 벡터에 대해서는 시간 방향으로 스케일링을 행하고, 시차 상관 예측 벡터에 대해서는 시차 방향으로 스케일링을 행한다. 예측 벡터 생성부(159)는 생성한 시간 시차 상관 예측 벡터를, 선택부(137)을 통해서 부호화 비용 산출부(138)에 공급한다.
이와 같이 함으로써, 시간 시차 상관 예측 벡터 생성부(136)는 움직임 상관 예측 벡터뿐만 아니라, 시차 상관 예측 벡터도 생성할 수 있다. 따라서, 움직임 시차 예측·보상부(115)는 커런트 영역의 벡터가 시차 벡터인 경우에도, 예측 정밀도가 높은 예측 벡터를 생성할 수 있다. 이에 의해 화상 부호화 장치(100)는 부호화 효율의 저감을 억제할 수 있다.
[방식 선택예]
도 14에, 각 방식이 선택되는 경우의 예를 나타낸다. 도 14에 도시된 바와 같이, 참조 화상의 위치 관계(참조 화상이 시간 방향으로 존재하는지, 또는 시차 방향으로 존재하는지)가 커런트 영역(주목 영역)의 경우와 마찬가지인 영역이 상관 영역으로서 선택된다. 즉, 커런트 영역과 그 커런트 영역의 참조 화상의 위치 관계와, 상관 영역과 그 상관 영역의 참조 화상의 위치 관계가 동등해진다. 그리고, 그 커런트 영역과 그 커런트 영역의 참조 화상의 위치 관계와, 커런트 영역과 상관 영역의 위치 관계에 의해 방식이 결정된다.
도 14의 표에 있어서, 밑에서 1행째 내지 4행째가 각 화상의 위치 관계의 예를 나타내고 있고, A 내지 E는 각 은행에 있어서 뷰 ID 또는 POC의 값의 예를 나타낸다. 즉, 여기에서 중요한 것은, 값이 몇인지가 아닌, 다른 화상과 뷰 ID나 POC가 일치하는지 여부이다.
밑에서 4행째의 예의 경우, 커런트 영역 및 상관 영역 모두, 각각의 참조 화상과 뷰 ID가 다르기는 하지만, POC가 일치한다. 즉, 커런트 영역 및 상관 영역의 벡터는 시차 벡터이다. 또한, 커런트 영역과 상관 영역 사이에서도, 뷰 ID가 다르고, POC가 일치한다. 즉, 상관 영역은 커런트 영역과 동일한 시각의 프레임의 다른 뷰의 화상이다. 따라서, 도 14의 표에 나타난 바와 같이 방식 1이 선택된다. 시점간에 시차의 변화량이 일정한 영역에서, 방식 1은 유효하다.
밑에서 3행째의 예의 경우, 커런트 영역 및 상관 영역 모두, 각각의 참조 화상과 뷰 ID가 다르기는 하지만, POC가 일치한다. 즉, 커런트 영역 및 상관 영역의 벡터는 시차 벡터이다. 또한, 커런트 영역과 상관 영역 사이에서는, 뷰 ID가 일치하고, POC가 다르다. 즉, 상관 영역은 커런트 영역과 동일한 뷰의 다른 시각의 프레임의 화상이다. 따라서, 도 14의 표에 나타난 바와 같이 방식 2가 선택된다. 시간적인 움직임양의 변화가 작을 때, 방식 2는 유효하다.
밑에서 2행째의 예의 경우, 커런트 영역 및 상관 영역 모두, 각각의 참조 화상과 뷰 ID가 일치하고, POC가 다르다. 즉, 커런트 영역 및 상관 영역의 벡터는 움직임 벡터이다. 또한, 커런트 영역과 상관 영역 사이에서는, 뷰 ID가 다르고, POC가 일치한다. 즉, 상관 영역은 커런트 영역과 동일한 시각의 프레임의 다른 뷰의 화상이다. 따라서, 도 14의 표에 나타난 바와 같이 방식 3이 선택된다. 시점간의 시차량의 변화가 작을 때, 방식 3은 유효하다.
밑에서 1행째의 예의 경우, 커런트 영역 및 상관 영역 모두, 각각의 참조 화상과 뷰 ID가 일치하고, POC가 다르다. 즉, 커런트 영역 및 상관 영역의 벡터는 움직임 벡터이다. 또한, 커런트 영역과 상관 영역 사이에서는, 뷰 ID가 일치하고, POC가 다르다. 즉, 상관 영역은, 커런트 영역과 동일한 뷰의 다른 시각의 프레임의 화상이다. 따라서, 도 14의 표에 나타난 바와 같이 방식 4가 선택된다.
즉, 예를 들어 3D 화상의 좌우 화상 중 어느 한쪽(예를 들어 좌안용 화상)을 베이스 뷰(base view)라 하고, 다른 쪽(예를 들어 우안용 화상)을 디펜던트 뷰(dependent view)라 하면, 디펜던트 뷰에 있어서, 커런트 영역의 벡터(부호화 벡터(Coding vector))의 특성과, 동일한 뷰의 다른 시각의 프레임의 상관 영역(코-로케이티드 블록(Co-located block))의 벡터(코-로케이티드 벡터(Co-located vector))의 특성이 일치하는 경우, 코-로케이티드 블록이 어베일러블(Available)로 된다. 환언하면, 디펜던트 뷰에 있어서, 부호화 벡터 및 코-로케이티드 벡터의 특성이 일치하지 않는 경우, 코-로케이티드 블록이 낫 어베일러블(Not Available)로 된다. 물론, 베이스 뷰에 있어서, 마찬가지로 하도록 해도 된다.
예를 들어, 도 13의 L1 예측 처리부(153) 및 L0 예측 처리부(154)가 이러한 설정을 행한다.
부호화 벡터 및 코-로케이티드 벡터의 특성이 일치하는지 여부는, 예를 들어 도 15에 도시된 바와 같이, 커런트 영역과 코-로케이티드 블록 각각의 POC를 각각의 참조 화상의 POC와 비교함으로써, 판정할 수 있다. 예를 들어, 도 13의 L1 예측 처리부(153) 및 L0 예측 처리부(154)가 이러한 판정을 행한다.
예를 들어, L1 예측 처리부(153) 및 L0 예측 처리부(154)는 커런트 영역의 POC(CurrPOC)와 커런트 영역의 참조 화상의 POC(CurrRefPOC)가 일치하지 않고, 또한 코-로케이티드 블록의 POC(ColPOC)와 코-로케이티드 블록의 참조 화상의 POC(ColRefPOC)가 일치하지 않는 경우((CurrPOC!=CurrRefPOC) && (ColPOC!=ColRefPOC)), 부호화 벡터 및 코-로케이티드 블록이 모두 움직임 벡터(motion vector)라고 판정한다(도 16의 A).
또한, 예를 들어 L1 예측 처리부(153) 및 L0 예측 처리부(154)는 커런트 영역의 POC(CurrPOC)와 커런트 영역의 참조 화상의 POC(CurrRefPOC)가 일치하고, 또한 코-로케이티드 블록의 POC(ColPOC)와 코-로케이티드 블록의 참조 화상의 POC(ColRefPOC)가 일치하는 경우((CurrPOC ==CurrRefPOC)&&(ColPOC ==ColRefPOC)), 부호화 벡터 및 코-로케이티드 블록이 모두 시차 벡터(inter-view vector)라고 판정한다(도 16의 B).
L1 예측 처리부(153) 및 L0 예측 처리부(154)는, 예를 들어 이 판정 결과에 기초하여, 도 15 아래의 표에 나타난 바와 같이, 코-로케이티드 벡터(Co-located vector)의 어베일러빌리티(Availability)의 설정을 행한다.
예를 들어, 부호화 벡터 및 코-로케이티드 블록이 모두, 움직임 벡터(motion vector) 또는 시차 벡터(inter-view vector)라고 판정된 경우, 코-로케이티드 벡터(Co-located vector)가 어베일러블(Available)로 설정된다(도 16의 A 또는 도 16의 B).
반대로, 부호화 벡터 및 코-로케이티드 블록의 한쪽이, 움직임 벡터(motion vector)이며, 다른 쪽이 시차 벡터(inter-view vector)라고 판정된 경우, 코-로케이티드 벡터(Co-located vector)가 낫 어베일러블(Not Available)로 설정된다.
[신택스]
도 17에 이 경우의 시퀀스 파라미터 세트의 신택스의 예를 나타낸다. 도 17에 도시된 바와 같이, 밑에서 10행째 내지 밑에서 3행째와 같이, 뷰의 합계수, 뷰를 구별하기 위한 ID, 리스트 L0에서의 시차 예측의 매수, 리스트 L0에서의 시차 예측에서 참조하는 뷰의 ID, 리스트 L1에서의 시차 예측의 매수, 및 리스트 L1에서의 시차 예측에서 참조하는 뷰의 ID 등의 정보가 시퀀스 파라미터 세트에 포함된다. 이들 정보는, 다시점 화상에 필요한 정보이다. 환언하면, 본 기술은 시퀀스 파라미터 세트에 새로운 신택스를 추가하지 않고 적용할 수 있다.
도 18에 이 경우의 슬라이스 헤더의 신택스의 예를 나타낸다. 도 18에 도시된 바와 같이, 위에서 8행째와 같이, 뷰를 구별하기 위한 ID가 슬라이스 헤더에 포함된다. 이 정보는, 다시점 화상에 필요한 정보이다. 환언하면, 본 기술은 슬라이스 헤더에 새로운 신택스를 추가하지 않고 적용할 수 있다.
도 19에 이 경우의 예측 유닛의 신택스의 예를 나타낸다. 도 19에 도시된 바와 같이, 본 기술은 예측 유닛에도 새로운 신택스를 추가하지 않고 적용할 수 있다. 단, 본 기술을 적용함으로써, 상관 영역의 후보가 종래의 경우보다 증가하므로, 머지 모드나 예측 벡터의 ID에 있어서, 신택스의 종류를 확장하거나, 또는 처리의 내용을 변경할 필요가 있다.
[부호화 처리의 흐름]
이어서, 이상과 같은 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름에 대해서 설명한다. 처음에, 도 20의 플로우차트를 참조하여, 부호화 처리의 흐름의 예를 설명한다.
스텝 S101에서, A/D 변환부(101)는 입력된 화상을 A/D 변환한다. 스텝 S102에서, 화면 재배열 버퍼(102)는 A/D 변환된 화상을 기억하고, 각 픽처의 표시하는 순서로부터 부호화하는 순서로의 재배열을 행한다.
스텝 S103에서, 인트라 예측부(114)는 인트라 예측 처리를 행한다. 스텝 S104에서, 움직임 시차 예측·보상부(115)는 인터 움직임 예측 처리를 행한다. 스텝 S105에서, 예측 화상 선택부(116)는 인트라 예측에 의해 생성된 예측 화상 및 인터 예측에 의해 생성된 예측 화상 중, 어느 한쪽을 선택한다.
스텝 S106에서, 연산부(103)는 스텝 S102의 처리에 의해 재배열된 화상과, 스텝 S105의 처리에 의해 선택된 예측 화상의 차분을 연산한다(차분 화상을 생성한다). 생성된 차분 화상은 원래의 화상에 비교하여 데이터양이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비해, 데이터양을 압축할 수 있다.
스텝 S107에서, 직교 변환부(104)는 스텝 S106의 처리에 의해 생성된 차분 화상을 직교 변환한다. 구체적으로는, 이산 코사인 변환, 카루넨 루베 변환 등의 직교 변환이 행해지고, 직교 변환 계수가 출력된다. 스텝 S108에서, 양자화부(105)는 스텝 S107의 처리에 의해 얻어진 직교 변환 계수를 양자화한다.
스텝 S108의 처리에 의해 양자화된 차분 화상은, 다음과 같이 하여 국부적으로 복호된다. 즉, 스텝 S109에서, 역양자화부(108)는 스텝 S108의 처리에 의해 생성된 양자화된 직교 변환 계수(양자화 계수라고도 칭함)를 양자화부(105)의 특성에 대응하는 특성으로 역양자화한다. 스텝 S110에서, 역직교 변환부(109)는 스텝 S109의 처리에 의해 얻어진 직교 변환 계수를, 직교 변환부(104)의 특성에 대응하는 특성으로 역직교 변환한다. 이에 의해 차분 화상이 복원된다.
스텝 S111에서, 연산부(110)는 스텝 S105에서 선택된 예측 화상을, 스텝 S110에서 생성된 차분 화상에 가산하여, 국부적으로 복호된 복호 화상(재구성 화상)을 생성한다. 스텝 S112에서, 루프 필터(111)는 스텝 S111의 처리에 의해 얻어진 재구성 화상에 대해서 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 행하여, 복호 화상을 생성한다.
스텝 S113에서, 디코드 픽처 버퍼(112)나 다시점 디코드 픽처 버퍼(121)는, 스텝 S112의 처리에 의해 생성된 복호 화상, 또는 스텝 S111의 처리에 의해 생성된 재구성 화상을 기억한다.
스텝 S114에서, 가역 부호화부(106)는 스텝 S108의 처리에 의해 양자화된 직교 변환 계수를 부호화한다. 즉, 차분 화상에 대해서 가변장 부호화나 산술 부호화 등의 가역 부호화가 행해진다. 또한, 가역 부호화부(106)는 예측에 관한 정보나, 양자화에 관한 정보나, 필터 처리에 관한 정보 등을 부호화하여, 비트 스트림에 부가한다.
스텝 S115에서, 축적 버퍼(107)는 스텝 S114의 처리에 의해 얻어진 비트 스트림을 축적한다. 축적 버퍼(107)에 축적된 부호화 데이터는, 적절히 판독되어, 전송로나 기록 매체를 통해서 복호측으로 전송된다.
스텝 S116에서 양자화부(105)는 스텝 S115의 처리에 의해 축적 버퍼(107)에 축적된 부호화 데이터의 부호량(발생 부호량)에 기초하여, 오버플로우 또는 언더플로우가 발생하지 않도록, 양자화 동작의 레이트를 제어한다.
스텝 S116의 처리가 종료되면, 부호화 처리가 종료된다.
[인터 움직임 예측 처리의 흐름]
이어서, 도 21의 플로우차트를 참조하여, 도 20의 스텝 S104에서 실행되는 인터 움직임 예측 처리의 흐름의 예를 설명한다.
스텝 S131에서, 움직임 시차 벡터 탐색부(131)는 처리 대상의 인터 예측 모드에 대해서, 움직임 탐색을 행하여, 처리 대상인 커런트 영역의 움직임 시차 벡터(움직임 벡터 또는 시차 벡터)를 생성한다. 스텝 S132에서, 예측 화상 생성부(132)는 스텝 S131에서 생성된 움직임 시차 벡터를 사용해서 보상 처리를 행하여 예측 화상을 생성한다. 스텝 S133에서, 부호화 비용 산출부(138)는 스텝 S132에서 생성된 예측 화상과, 원화상(입력 화상)의 차분 화상을 생성한다.
스텝 S134에서, 부호화 비용 산출부(138)는 공간 상관 예측 벡터 생성부(135)나 시간 시차 상관 예측 벡터 생성부(136) 등을 사용해서 머지 모드 처리를 행한다.
스텝 S135에서, 부호화 비용 산출부(138)는 스텝 S131에서 생성된 커런트 영역의 움직임 시차 벡터와, 스텝 S134의 처리에 의해 생성된 커런트 영역의 예측 벡터를 비교하여, 커런트 영역에서 머지 모드가 적용될지 여부를 판정한다.
양자가 일치하지 않고, 머지 모드가 적용되지 않는다고 판정된 경우, 부호화 비용 산출부(138)는 처리를 스텝 S136으로 진행시켜, 공간 상관 예측 벡터 생성부(135)나 시간 시차 상관 예측 벡터 생성부(136) 등을 사용해서 시차 움직임 벡터 예측 처리를 행한다. 스텝 S136의 처리가 종료되면, 부호화 비용 산출부(138)는 처리를 스텝 S137로 진행시킨다.
또한, 스텝 S135에서, 커런트 영역의 움직임 시차 벡터와 예측 벡터가 일치하고, 커런트 영역에서 머지 모드가 적용된다고 판정된 경우, 부호화 비용 산출부(138)는 스텝 S136의 처리를 생략하고, 스텝 S137로 진행시킨다.
스텝 S137에서, 부호화 비용 산출부(138)는 모든 인터 예측 모드에서, 이상의 처리를 행했는지 여부를 판정하고, 미처리의 인터 예측 모드가 존재한다고 판정된 경우, 처리를 스텝 S131로 되돌리고, 그 미처리의 인터 예측 모드에 대해서, 그것 이후의 처리가 반복되도록 제어한다. 즉, 스텝 S131 내지 스텝 S137의 각 처리가, 각 인터 예측 모드에 대해서 실행된다.
스텝 S137에서, 모든 인터 예측 모드에 대해서 처리를 행하였다고 판정된 경우, 부호화 비용 산출부(138)는 처리를 스텝 S138로 진행시킨다. 스텝 S138에서, 부호화 비용 산출부(138)는 각 인터 예측 모드의 비용 함수값을 산출한다.
스텝 S139에서, 모드 판정부(139)는 스텝 S138에서 산출된 비용 함수값(부호화 비용값)이 가장 작은 인터 예측 모드를 최적의 모드(최적 인터 예측 모드)로 결정한다.
스텝 S140에서, 예측 화상 생성부(132)는 그 최적 인터 예측 모드에서 예측 화상을 생성한다. 이 예측 화상은, 예측 화상 선택부(116)에 공급된다.
스텝 S141에서, 부호화 정보 축적 버퍼(133)는 도 20의 스텝 S105에서 인터 예측이 선택된 경우, 최적 인터 예측 모드의 모드 정보나 움직임 정보(움직임 시차 벡터나 참조 화상 인덱스 등)를 기억한다. 인트라 예측 모드가 선택된 경우, 움직임 시차 벡터로서 제로 벡터가 기억된다. 또한, 이들 정보는, 도 20의 스텝 S105에서 인터 예측이 선택된 경우, 가역 부호화부(106)에도 공급되고, 부호화되어, 복호측으로 전송된다.
스텝 S141의 처리가 종료되면, 부호화 정보 축적 버퍼(133)는 인터 움직임 예측 처리를 종료하고, 처리를 도 20으로 되돌린다.
[머지 모드 처리의 흐름]
이어서, 도 22의 플로우차트를 참조해서, 도 21의 스텝 S134에서 실행되는 머지 모드 처리의 흐름의 예를 설명한다.
머지 모드 처리가 개시되면, 스텝 S161에서, 공간 상관 예측 벡터 생성부(135)는 공간 주변 영역과의 상관성을 이용해서 공간 상관 예측 벡터를 생성하는 공간 상관 예측 처리를 행한다. 스텝 S162에서, 시간 시차 상관 예측 벡터 생성부(136)는 시간 주변 영역이나 시차 주변 영역과의 상관성을 이용해서 시간 시차 상관 예측 벡터를 생성하는 시간 상관 예측 처리를 행한다.
스텝 S163에서, 부호화 비용 산출부(138)는 스텝 S161에서 생성된 공간 상관 예측 벡터와, 스텝 S162에서 생성된 시간 시차 예측 벡터에서, 중복된 벡터를 삭제한다.
스텝 S164에서, 부호화 비용 산출부(138)는 벡터가 존재하는지 여부를 판정한다. 공간 상관 예측 벡터 또는 시간 시차 상관 예측 벡터가 하나라도 존재한다고 판정된 경우, 부호화 비용 산출부(138)는 처리를 스텝 S165로 진행시킨다.
스텝 S165에서, 부호화 비용 산출부(138)는 벡터가 복수 존재하는지 여부를 판정한다. 복수 존재한다고 판정된 경우, 부호화 비용 산출부(138)는 처리를 스텝 S166으로 진행시켜서, 머지 인덱스를 취득한다. 복수 존재하지 않는다고 판정된 경우, 부호화 비용 산출부(138)는 스텝 S166의 처리를 생략한다.
커런트 영역의 움직임 벡터와 일치하는 공간 상관 예측 벡터 또는 시간 시차 상관 예측 벡터가 존재하는 경우, 부호화 비용 산출부(138)는 스텝 S167에서, 그 일치하는 벡터를 예측 벡터로서 취득하고, 스텝 S168에서, 참조 화상 인덱스를 취득한다.
스텝 S168의 처리를 종료하면, 부호화 비용 산출부(138)는 머지 모드 처리를 종료하고, 처리를 도 21로 되돌린다.
또한, 스텝 S164에서, 공간 상관 예측 벡터 또는 시간 시차 상관 예측 벡터가 하나도 존재하지 않는다고 판정된 경우, 부호화 비용 산출부(138)는 처리를 스텝 S169로 진행시킨다.
스텝 S169에서, 부호화 비용 산출부(138)는 예측 벡터에 초기값(예를 들어 제로 벡터)을 부여한다. 또한, 스텝 S170에서, 부호화 비용 산출부(138)는 참조 화상 인덱스에 초기값(예를 들어 0)을 부여한다.
스텝 S170의 처리를 종료하면, 부호화 비용 산출부(138)는 머지 모드 처리를 종료하고, 처리를 도 21로 되돌린다.
[시차 움직임 벡터 예측 처리의 흐름]
이어서, 도 23의 플로우차트를 참조하여, 도 21의 스텝 S136에서 실행되는 시차 움직임 벡터 예측 처리의 흐름의 예를 설명한다.
시차 움직임 벡터 예측 처리가 개시되면, 스텝 S191에서, 공간 상관 예측 벡터 생성부(135)는 공간 상관 예측 처리를 행하여, 공간 상관 예측 벡터를 생성한다. 스텝 S192에서, 시간 시차 상관 예측 벡터 생성부(136)는 시간 시차 상관 예측 처리를 행하여, 시간 시차 상관 예측 벡터를 생성한다.
스텝 S193에서, 부호화 비용 산출부(138)는 스텝 S191에서 생성된 공간 상관 예측 벡터와, 스텝 S192에서 생성된 시간 시차 예측 벡터에서, 중복된 벡터를 삭제한다.
부호화 비용 산출부(138)는 남은 벡터 중, 커런트 영역의 움직임 벡터에 가장 가까운 벡터를 선택하고, 스텝 S194에서 그 벡터를 나타내는 예측 벡터 인덱스를 작성하고, 스텝 S195에서, 그 벡터를 예측 벡터로 한다. 스텝 S195의 처리가 종료되면, 부호화 비용 산출부(138)는 시차 움직임 벡터 예측 처리를 종료하고, 처리를 도 21로 되돌린다.
[시간 시차 상관 예측 처리의 흐름]
이어서, 도 24 내지 도 27의 플로우차트를 참조하여, 도 22의 스텝 S162 또는 도 23의 스텝 S192에서 실행되는 시간 시차 상관 예측 처리의 흐름의 예를 설명한다.
시간 시차 상관 예측 처리가 개시되면, 커런트 영역 처리부(151)는 도 24의 스텝 S211에서, 커런트 영역의 뷰 ID와 POC를 취득한다. 스텝 S212에서, 커런트 영역 처리부(151)는 커런트 영역의 참조 인덱스를 결정한다. 스텝 S213에서, 커런트 영역 처리부(151)는 참조 화상의 뷰 ID와 POC를 취득한다.
스텝 S214에서, 상관 영역 처리부(152)는 리스트 L1의 참조 화상 인덱스의 오름차순으로 상관 화상을 선택한다. 스텝 S215에서, 상관 영역 처리부(152)는 모든 참조 화상 인덱스를 탐색했는지 여부를 판정하고, 모든 참조 화상 인덱스를 참조했다고 판정된 경우, 시간 시차 상관 예측 처리를 종료하고, 처리를 도 22 또는 도 23으로 되돌린다.
또한, 스텝 S215에서, 미처리의 참조 화상 인덱스가 존재한다고 판정된 경우, 상관 영역 처리부(152)는 처리를 스텝 S216으로 진행시킨다. 스텝 S216에서, 상관 영역 처리부(152)는 상관 영역을 결정하고, 처리를 도 25로 진행시킨다.
도 25의 스텝 S221에서, 상관 영역 처리부(152)는 상관 영역이 인트라 예측된 영역, 혹은 다른 영역을 참조하지 않는 영역인지 여부를 판정한다. 상관 영역이 인트라 예측된 영역이거나 또는 다른 영역을 참조하지 않는 영역이라고 판정된 경우, 상관 영역 처리부(152)는 처리를 도 26으로 진행시킨다.
또한, 도 25의 스텝 S221에서, 상관 영역이 인터 예측된 영역이며, 또한, 다른 영역을 참조하는 영역이라고 판정된 경우, 상관 영역 처리부(152)는 처리를 스텝 S222로 진행시킨다.
스텝 S222에서, L1 예측 처리부(153)는 상관 영역의 뷰 ID와 POC를 취득한다. 스텝 S223에서, L1 예측 처리부(153)는 상관 영역의 L1 예측의 참조 화상의 뷰 ID와 POC를 취득한다.
스텝 S224에서, L1 예측 처리부(153)는 커런트 영역과 상관 영역의 뷰 ID가 일치하는지 여부를 판정한다. 양자가 일치하는 경우, 상관 영역은, 코-로케이티드 블록이다. 커런트 영역과 상관 영역의 뷰 ID가 일치한다고 판정된 경우, L1 예측 처리부(153)는 처리를 스텝 S225로 진행시켜, 방식 4-2 처리를 행하고, 방식 4 또는 방식 2에서 예측 벡터를 생성하도록 한다. 스텝 S225의 처리가 종료되면, 처리는 도 26으로 진행한다.
또한, 도 25의 스텝 S224에서, 커런트 영역과 상관 영역의 뷰 ID가 일치하지 않는다고 판정된 경우, L1 예측 처리부(153)는 처리를 스텝 S226으로 진행시킨다.
스텝 S226에서, L1 예측 처리부(153)는 커런트 영역과 상관 영역의 POC가 일치하는지 여부를 판정한다. 커런트 영역과 상관 영역의 POC가 일치하지 않는다고 판정된 경우, L1 예측 처리부(153)는 처리를 도 26으로 진행시킨다.
또한, 도 25의 스텝 S226에서, 커런트 영역과 상관 영역의 POC가 일치한다고 판정된 경우, L1 예측 처리부(153)는 처리를 스텝 S227로 진행시킨다.
스텝 S227에서, L1 예측 처리부(153)는 커런트 영역의 참조 화상과 상관 영역의 참조 화상의 POC가 일치하는지 여부를 판정한다. 커런트 영역의 참조 화상과 상관 영역의 참조 화상의 POC가 일치한다고 판정된 경우, L1 예측 처리부(153)는 처리를 스텝 S228로 진행시켜, 방식 1 처리를 행하고, 방식 1로 예측 벡터를 생성하도록 한다. 스텝 S228의 처리를 종료하면, L1 예측 처리부(153)는 처리를 도 26으로 진행시킨다.
또한, 도 25의 스텝 S227에서, 커런트 영역의 참조 화상과 상관 영역의 참조 화상의 POC가 일치하지 않는다고 판정된 경우, L1 예측 처리부(153)는 처리를 스텝 S229로 진행시켜, 방식 3 처리를 행하고, 방식 3으로 예측 벡터를 생성하도록 한다. 스텝 S229의 처리를 종료하면, L1 예측 처리부(153)는 처리를 도 26으로 진행시킨다.
도 26에서, L0 예측 처리부(154)는 상관 영역의 L0 예측에 대해서, 도 25의 L1 예측의 경우와 마찬가지의 처리를 행한다. 즉, L0 예측 처리부(154)는 스텝 S231 내지 스텝 S238의 각 처리를, 도 25의 스텝 S222 내지 스텝 S229의 각 처리와 마찬가지로 행한다.
단, 도 26의 경우, 상관 영역의 참조 화상은, L0 예측의 참조 화상으로 한다. 또한, 스텝 S234, 스텝 S237, 또는 스텝 S238의 처리가 종료된 경우, 또는 스텝 S235에서 커런트 영역과 상관 영역의 POC가 일치하지 않는다고 판정된 경우, L0 예측 처리부(154)는 처리를 도 27로 진행시킨다.
도 27의 스텝 S241에서, 예측 벡터 생성부(159)는 예측 벡터 후보가 적어도 하나 존재하는지 여부를 판정한다. 예측 벡터 후보가 하나도 존재하지 않는다고 판정된 경우, 예측 벡터 생성부(159)는 처리를 도 24의 스텝 S214로 되돌린다.
또한, 도 27의 스텝 S241에서, 예측 벡터 후보가 적어도 하나 존재한다고 판정된 경우, 예측 벡터 생성부(159)는 처리를 스텝 S242로 진행시킨다. 스텝 S242에서, 예측 벡터 생성부(159)는 L1의 비월 플래그만 1이거나, 혹은 L0/L1의 비월 플래그의 값이 같고, L1의 참조가 있는지 여부를 판정한다.
L1의 비월 플래그만 1이라고 판정된 경우, 또는 L0/L1의 비월 플래그의 값이 같고, 또한 L1의 참조가 있다고 판정된 경우, 예측 벡터 생성부(159)는 처리를 스텝 S243으로 진행시킨다.
스텝 S243에서, 예측 벡터 생성부(159)는 L1 참조의 벡터를 취득한다. 스텝 S244에서, 예측 벡터 생성부(159)는 L1 참조의 참조 화상 인덱스를 취득하고, 처리를 스텝 S247로 진행시킨다.
또한, 스텝 S242에서, L1의 비월 플래그가 1이 아니거나, 또는 L0의 비월 플래그도 0이라고 판정되고, 또한 L0/L1의 비월 플래그의 값이 같지 않거나, 또는 L1의 참조가 없다고 판정된 경우, 예측 벡터 생성부(159)는 처리를 스텝 S245로 진행시킨다.
스텝 S245에서, 예측 벡터 생성부(159)는 L0 참조의 벡터를 취득한다. 스텝 S246에서, 예측 벡터 생성부(159)는 L0 참조의 참조 화상 인덱스를 취득하고, 처리를 스텝 S247로 진행시킨다.
스텝 S247에서, 예측 벡터 생성부(159)는 취득한 L1 참조의 벡터 또는 L0 참조의 벡터를 예측 벡터로 한다. 그 때, 예측 벡터 생성부(159)는 커런트 영역이나 상관 영역에서의 참조 화상과의 거리를 사용해서 벡터의 스케일링을 행하여, 스케일링 결과를 예측 벡터로 한다.
스텝 S247의 처리가 종료되면, 예측 벡터 생성부(159)는 처리를 도 24로 되돌리고, 시간 시차 상관 예측 처리를 종료하고, 처리를 도 22 또는 도 23으로 되돌린다.
[방식 1 처리의 흐름]
이어서, 도 28의 플로우차트를 참조하여, 도 25 또는 도 26에서 실행되는 방식 1 처리의 흐름의 예를 설명한다.
방식 1 처리가 개시되면, 방식 1 처리부(155)는 스텝 S261에서, 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치하는지 여부를 판정한다. 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치하지 않는다고 판정된 경우, 방식 1 처리부(155)는 방식 1 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
또한, 스텝 S261에서, 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치한다고 판정된 경우, 방식 1 처리부(155)는 처리를 스텝 S262로 진행시킨다.
스텝 S262에서, 방식 1 처리부(155)는 상관 영역과 상관 영역의 참조 화상의 POC가 일치하는지 여부를 판정한다. 상관 영역과 상관 영역의 참조 화상의 POC가 일치하지 않는다고 판정된 경우, 방식 1 처리부(155)는 방식 1 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
또한, 스텝 S262에서, 상관 영역과 상관 영역의 참조 화상의 POC가 일치한다고 판정된 경우, 방식 1 처리부(155)는 처리를 스텝 S263으로 진행시킨다.
스텝 S263에서, 방식 1 처리부(155)는 커런트 영역과 커런트 영역의 참조 화상의 시점간 거리 1을 산출한다. 스텝 S264에서, 방식 1 처리부(155)는 상관 영역과 상관 영역의 참조 화상의 시점간 거리 2를 산출한다. 스텝 S265에서, 방식 1 처리부(155)는 참조 화상의 비월 플래그를 결정하고, 처리를 도 25 또는 도 26으로 되돌린다. 이들의 파라미터(시점간 거리 1, 시점간 거리 2 및 비월 플래그)는 도 27의 처리에 이용된다.
[방식 3 처리의 흐름]
이어서, 도 29의 플로우차트를 참조하여, 도 25 또는 도 26에서 실행되는 방식 3 처리의 흐름의 예를 설명한다.
방식 3 처리가 개시되면, 방식 3 처리부(157)는 스텝 S271에서, 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치하는지 여부를 판정한다. 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치하지 않는다고 판정된 경우, 방식 3 처리부(157)는 방식 3 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
또한, 스텝 S271에서, 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치한다고 판정된 경우, 방식 3 처리부(157)는 처리를 스텝 S272로 진행시킨다.
스텝 S272에서, 방식 3 처리부(157)는 상관 영역과 상관 영역의 참조 화상의 뷰 ID가 일치하는지 여부를 판정한다. 상관 영역과 상관 영역의 참조 화상의 뷰 ID가 일치하지 않는다고 판정된 경우, 방식 3 처리부(157)는 방식 3 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
또한, 스텝 S272에서, 상관 영역과 상관 영역의 참조 화상의 뷰 ID가 일치한다고 판정된 경우, 방식 3 처리부(157)는 처리를 스텝 S273으로 진행시킨다.
스텝 S273에서, 방식 3 처리부(157)는 커런트 영역과 커런트 영역의 참조 화상의 시점간 거리 1을 산출한다. 스텝 S274에서, 방식 3 처리부(157)는 상관 영역과 상관 영역의 참조 화상의 시점간 거리 2를 산출한다. 스텝 S275에서, 방식 3 처리부(157)는 참조 화상의 비월 플래그를 결정하고, 처리를 도 25 또는 도 26으로 되돌린다. 이들의 파라미터(시점간 거리 1, 시점간 거리 2 및 비월 플래그)는 도 27의 처리에 이용된다.
[방식 4-2 처리의 흐름]
이어서, 도 30의 플로우차트를 참조하여, 도 25 또는 도 26에서 실행되는 방식 4-2 처리의 흐름의 예를 설명한다.
방식 4-2 처리가 개시되면, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 스텝 S281에서, 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치하는지 여부를 판정한다. 양자가 일치하는 경우, 부호화 벡터는 움직임 벡터이다. 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치한다고 판정된 경우, 처리는 스텝 S282로 진행한다.
스텝 S282에서, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 상관 영역(코-로케이티드 블록)과 상관 영역의 참조 화상의 뷰 ID가 일치하는지 여부를 판정한다. 양자가 일치하지 않는 경우, 코-로케이티드 벡터는 시차 벡터이다. 상관 영역과 상관 영역의 참조 화상의 뷰 ID가 일치하지 않는다고 판정된 경우, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 방식 4-2 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
즉, 이 경우, 부호화 벡터가 움직임 벡터이며, 코-로케이티드 벡터가 시차 벡터이므로, 부호화 벡터의 특성과 코-로케이티드 벡터의 특성이 일치하지 않는다. 따라서, 코-로케이티드 블록은 낫 어베일러블로 설정되어, 방식 4-2 처리가 종료된다.
또한, 스텝 S282에서, 상관 영역과 상관 영역의 참조 화상의 뷰 ID가 일치한다고 판정된 경우, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 처리를 스텝 S283으로 진행시킨다. 양자가 일치하는 경우, 코-로케이티드 벡터는 움직임 벡터이다. 즉, 이 경우, 부호화 벡터도 코-로케이티드 벡터도 움직임 벡터이며, 양쪽 벡터의 특성이 일치한다. 따라서, 이 경우, 코-로케이티드 벡터가 어베일러블로 설정된다.
스텝 S283에서, 방식 4 처리부(158)는 커런트 영역과 커런트 영역의 참조 화상의 시점간 거리 1을 산출한다. 스텝 S284에서, 방식 4 처리부(158)는 상관 영역과 상관 영역의 참조 화상의 시점간 거리 2를 산출한다. 스텝 S285에서, 방식 4 처리부(158)는 참조 화상의 비월 플래그를 결정하고, 처리를 도 25 또는 도 26으로 되돌린다. 이들의 파라미터(시점간 거리 1, 시점간 거리 2 및 비월 플래그)는 도 27의 처리에 이용된다.
또한, 스텝 S281에서, 커런트 영역과 커런트 영역의 참조 화상의 뷰 ID가 일치하지 않는다고 판정된 경우, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 처리를 스텝 S286으로 진행시킨다.
스텝 S286에서, 예측 처리부(153) 또는 L0 예측 처리부(154)는 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치하는지 여부를 판정한다. 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치하지 않는다고 판정된 경우, 예측 처리부(153) 또는 L0 예측 처리부(154)는 방식 4-2 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
또한, 스텝 S286에서, 커런트 영역과 커런트 영역의 참조 화상의 POC가 일치한다고 판정된 경우, 예측 처리부(153) 또는 L0 예측 처리부(154)는 처리를 스텝 S287로 진행시킨다. 양자가 일치하는 경우, 부호화 벡터는 시차 벡터이다.
스텝 S287에서, 예측 처리부(153) 또는 L0 예측 처리부(154)는 상관 영역과 상관 영역의 참조 화상의 POC가 일치하는지 여부를 판정한다. 양자가 일치하지 않는 경우, 코-로케이티드 벡터는 움직임 벡터이다. 상관 영역과 상관 영역의 참조 화상의 POC가 일치하지 않는다고 판정된 경우, 예측 처리부(153) 또는 L0 예측 처리부(154)는 방식 4-2 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
즉, 이 경우, 부호화 벡터가 시차 벡터이며, 코-로케이티드 벡터가 움직임 벡터이므로, 부호화 벡터의 특성과 코-로케이티드 벡터의 특성이 일치하지 않는다. 따라서, 코-로케이티드 블록은 낫 어베일러블로 설정되어, 방식 4-2 처리가 종료된다.
또한, 스텝 S287에서, 상관 영역과 상관 영역의 참조 화상의 POC가 일치한다고 판정된 경우, L1 예측 처리부(153) 또는 L0 예측 처리부(154)는 처리를 스텝 S283으로 되돌린다. 양자가 일치하는 경우, 코-로케이티드 벡터는 시차 벡터이다. 즉, 이 경우, 부호화 벡터도 코-로케이티드 벡터도 시차 벡터이며, 양쪽 벡터의 특성이 일치한다. 따라서, 이 경우, 코-로케이티드 벡터가 어베일러블로 설정된다.
이 경우, 방식 2 처리부(156)는 방식 4 처리부(158)이 실행하는 경우와 마찬가지로, 스텝 S283 내지 스텝 S285의 처리를 행한다. 스텝 S285의 처리가 종료되면, 방식 2 처리부(156)는 방식 4-2 처리를 종료하고, 처리를 도 25 또는 도 26으로 되돌린다.
이상과 같이 각 처리를 행함으로써, 시간 시차 상관 예측 벡터 생성부(136)는 움직임 상관 예측 벡터뿐만 아니라, 시차 상관 예측 벡터도 생성할 수 있다. 따라서, 움직임 시차 예측·보상부(115)는 커런트 영역의 벡터가 시차 벡터의 경우에도, 예측 정밀도가 높은 예측 벡터를 생성할 수 있다. 이에 의해, 화상 부호화 장치(100)는 부호화 효율의 저감을 억제할 수 있다.
<2. 제2 실시 형태>
[화상 복호 장치]
도 31은 화상 처리 장치인 화상 복호 장치의 주된 구성예를 도시하는 블록도이다. 도 31에 나타나는 화상 복호 장치(300)는 도 11의 화상 부호화 장치(100)에 대응하는 장치이다. 즉, 화상 복호 장치(300)는 화상 부호화 장치(100)가 다시점 화상을 부호화하여 생성한 부호화 데이터(비트 스트림)를 화상 부호화 장치(100)의 부호화 방법에 대응하는 복호 방법으로 복호하고, 다시점의 복호 화상을 얻는다.
도 31에 도시된 바와 같이, 화상 복호 장치(300)는 축적 버퍼(301), 가역 복호부(302), 역양자화부(303), 역직교 변환부(304), 연산부(305), 루프 필터(306), 화면 재배열 버퍼(307) 및 D/A 변환부(308)를 갖는다. 또한, 화상 복호 장치(300)는 디코드 픽처 버퍼(309), 선택부(310), 인트라 예측부(311), 움직임 시차 보상부(312) 및 선택부(313)를 갖는다.
또한, 화상 복호 장치(300)는 다시점 디코드 픽처 버퍼(321)를 갖는다.
축적 버퍼(301)는 전송되어 온 부호화 데이터를 축적하고, 소정의 타이밍에 있어서 그 부호화 데이터를 가역 복호부(302)에 공급한다. 가역 복호부(302)는 축적 버퍼(301)로부터 공급된, 도 11의 가역 부호화부(106)에 의해 부호화된 정보를, 가역 부호화부(106)의 부호화 방식에 대응하는 방식으로 복호한다. 가역 복호부(302)는 복호하여 얻어진 차분 화상의 양자화된 계수 데이터를, 역양자화부(303)에 공급한다.
또한, 가역 복호부(302)는 부호화 데이터를 복호하여 얻어진 최적의 예측 모드에 관한 정보를 참조하여, 최적의 예측 모드에 인트라 예측 모드가 선택되었는지 인터 예측 모드가 선택되었는지를 판정한다. 가역 복호부(302)는 그 판정 결과에 기초하여, 그 최적의 예측 모드에 관한 정보를, 인트라 예측부(311) 또는 움직임 시차 보상부(312)에 공급한다. 즉, 예를 들어 화상 부호화 장치(100)에 있어서 최적의 예측 모드로서 인트라 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보인 인트라 예측 정보 등이 인트라 예측부(311)에 공급된다. 또한, 예를 들어 화상 부호화 장치(100)에 있어서 최적의 예측 모드로서 인터 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보인 인터 예측 정보 등이 움직임 시차 보상부(312)에 공급된다.
역양자화부(303)는 가역 복호부(302)에 의해 복호되어 얻어진 양자화된 계수 데이터를, 도 11의 양자화부(105)의 양자화 방식에 대응하는 방식으로 역양자화하고, 얻어진 계수 데이터를 역직교 변환부(304)에 공급한다. 역직교 변환부(304)는 도 11의 직교 변환부(104)의 직교 변환 방식에 대응하는 방식으로 역양자화부(303)로부터 공급되는 계수 데이터를 역직교 변환한다. 역직교 변환부(304)는 이 역직교 변환 처리에 의해, 화상 부호화 장치(100)에 있어서 직교 변환되기 전의 차분 화상에 대응하는 차분 화상을 얻는다.
역직교 변환되어 얻어진 차분 화상은, 연산부(305)에 공급된다. 또한, 연산부(305)에는, 선택부(313)를 통해서, 인트라 예측부(311) 또는 움직임 시차 보상부(312)로부터 예측 화상이 공급된다.
연산부(305)는 차분 화상과 예측 화상을 가산하여, 화상 부호화 장치(100)의 연산부(103)에 의해 예측 화상이 감산되기 전의 화상에 대응하는 재구성 화상을 얻는다. 연산부(305)는 그 재구성 화상을 루프 필터(306)에 공급한다.
루프 필터(306)는 공급된 재구성 화상에 대해서 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 실시하여 복호 화상을 생성한다. 예를 들어, 루프 필터(306)는 재구성 화상에 대해서 디블록 필터 처리를 행함으로써, 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(306)는 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 재구성 화상)에 대해서 위너 필터(Wiener Filter)를 사용해서 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(306)가 행하는 필터 처리의 종류는 임의이며, 상술한 이외의 필터 처리를 행해도 된다. 또한, 루프 필터(306)가 도 11의 화상 부호화 장치(100)로부터 공급된 필터 계수를 사용해서 필터 처리를 행하도록 해도 된다.
루프 필터(306)는 필터 처리 결과인 복호 화상을 화면 재배열 버퍼(307) 및 디코드 픽처 버퍼(309)에 공급한다. 또한, 이 루프 필터(306)에 의한 필터 처리는 생략할 수도 있다. 즉, 연산부(305)의 출력이, 필터 처리되지 않고, 디코드 픽처 버퍼(309)에 저장되도록 할 수도 있다. 예를 들어, 인트라 예측부(311)는 이 화상에 포함되는 화소의 화소값을 주변 화소의 화소값으로서 이용한다.
화면 재배열 버퍼(307)는 공급된 복호 화상의 재배열을 행한다. 즉, 도 11의 화면 재배열 버퍼(102)에 의해 부호화의 순서를 위해 재배열된 프레임의 순서가, 원래의 표시의 순서대로 재배열된다. D/A 변환부(308)는 화면 재배열 버퍼(307)로부터 공급된 복호 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력하고, 표시시킨다.
디코드 픽처 버퍼(309)는 공급되는 재구성 화상(및, 그 화상의 뷰 ID 및 POC)이나 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 기억한다. 또한, 디코드 픽처 버퍼(309)는, 소정의 타이밍에 있어서, 또는 인트라 예측부(311)나 움직임 시차 보상부(312) 등의 외부의 요구에 기초하여, 기억하고 있는 재구성 화상(및, 그 화상의 뷰 ID 및 POC)이나 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 선택부(310)를 통해서 인트라 예측부(311)이나 움직임 시차 보상부(312)에 공급한다.
인트라 예측부(311)는 도 11의 인트라 예측부(114)와 기본적으로 마찬가지의 처리를 행한다. 단, 인트라 예측부(311)는 부호화 시에 인트라 예측에 의해 예측 화상이 생성된 영역에 대해서만, 인트라 예측을 행한다.
움직임 시차 보상부(312)는 가역 복호부(302)로부터 공급되는 인터 예측 정보에 기초하여 움직임 시차 보상을 행하여, 예측 화상을 생성한다. 또한, 움직임 시차 보상부(312)는 가역 복호부(302)로부터 공급되는 인터 예측 정보에 기초하여, 부호화 시에 인터 예측이 행해진 영역에 대해서만, 움직임 시차 보상을 행한다.
움직임 시차 보상부(312)는 예측 처리 단위의 영역마다, 생성한 예측 화상을, 선택부(313)를 통해서 연산부(305)에 공급한다.
선택부(313)는 인트라 예측부(311)로부터 공급되는 예측 화상, 또는 움직임 시차 보상부(312)로부터 공급되는 예측 화상을 연산부(305)에 공급한다.
디코드 픽처 버퍼(309)는, 처리 대상의 뷰의 화상(및, 그 화상의 뷰 ID 및 POC)만을 기억하지만, 다시점 디코드 픽처 버퍼(321)는, 각 시점(뷰)의 화상(및, 그 화상의 뷰 ID 및 POC)을 기억한다. 즉, 다시점 디코드 픽처 버퍼(321)는 디코드 픽처 버퍼(309)에 공급된 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 취득하고, 디코드 픽처 버퍼(309)와 함께 그 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 기억한다.
디코드 픽처 버퍼(309)는 처리 대상의 뷰가 바뀌면, 그 복호 화상을 소거하지만, 다시점 디코드 픽처 버퍼(321)는 그대로 유지한다. 그리고, 디코드 픽처 버퍼(309) 등의 요구에 따라서, 기억하고 있는 복호 화상(및, 그 화상의 뷰 ID 및 POC)을 「처리 대상이 아닌 뷰의 복호 화상」과, 디코드 픽처 버퍼(309)에 공급한다. 디코드 픽처 버퍼(309)는, 다시점 디코드 픽처 버퍼(321)로부터 판독한 「처리 대상이 아닌 뷰의 복호 화상(및, 그 화상의 뷰 ID 및 POC)」을, 선택부(310)를 통해서 움직임 시차 보상부(312)에 공급한다.
[움직임 시차 보상부]
도 32는 움직임 시차 보상부(312)의 주된 구성예를 도시하는 블록도이다.
도 32에 도시된 바와 같이, 움직임 시차 보상부(312)는 부호화 정보 축적 버퍼(331), 공간 상관 예측 벡터 생성부(332), 시간 시차 상관 예측 벡터 생성부(333), 선택부(334), 연산부(335) 및 예측 화상 생성부(336)를 갖는다.
부호화 정보 축적 버퍼(331)는 가역 복호부(302)에 있어서 얻어진, 모드 정보, 차분 움직임 시차 정보 및 예측 정보를 취득한다. 또한, 부호화 정보 축적 버퍼(331)는 예측 화상 생성부(336)에 있어서 사용된 복호가 끝난 움직임 시차 벡터를 기억한다. 이 움직임 시차 벡터는, 다른 영역에 대한 처리에 있어서 주변 영역의 움직임 시차 벡터로서 사용된다.
부호화 정보 축적 버퍼(331)는 모드 정보나 복호가 끝난 주변 영역의 움직임 시차 벡터를, 공간 상관 예측 벡터 생성부(332), 또는 시간 시차 상관 예측 벡터 생성부(333)의, 예측 정보에 있어서 지정되는 예측 벡터의 종류(공간 상관 예측 벡터 또는 시간 시차 상관 예측 벡터)에 대응하는 쪽에 공급한다.
또한, 부호화 정보 축적 버퍼(331)는 차분 움직임 시차 정보에 포함되는 차분 움직임 시차 벡터를 연산부(335)에 공급한다. 또한, 부호화 정보 축적 버퍼(331)는 예측 정보에 포함되는 참조 화상 인덱스를 예측 화상 생성부(336)에 공급한다.
공간 상관 예측 벡터 생성부(332)는 부호화 정보 축적 버퍼(331)로부터 공급된 정보에 기초하여, 공간 상관 예측 벡터를 생성한다. 이 생성 방법은 공간 상관 예측 벡터 생성부(135)의 경우와 마찬가지이다. 단, 공간 상관 예측 벡터 생성부(332)의 경우, 최적의 인터 예측 모드는 미리 정해져 있으므로, 그 모드에 대해서만 공간 상관 예측 벡터를 생성하면 된다. 공간 상관 예측 벡터 생성부(332)는 생성한 공간 상관 예측 벡터를, 선택부(334)를 통해서 연산부(335)에 공급한다.
시간 시차 상관 예측 벡터 생성부(333)는 부호화 정보 축적 버퍼(331)로부터 공급된 정보, 가역 복호부(302)로부터 공급되는 커런트 영역의 뷰 ID나 POC 등의 정보 및 디코드 픽처 버퍼(309)로부터 공급되는 참조 화상의 뷰 ID나 POC 등의 정보에 기초하여, 시간 시차 상관 예측 벡터를 생성한다. 이 생성 방법은, 시간 시차 상관 예측 벡터 생성부(136)의 경우와 마찬가지이다. 단, 시간 시차 상관 예측 벡터 생성부(333)의 경우, 최적의 인터 예측 모드는 미리 정해져 있으므로, 그 모드에 대해서만시간 시차 상관 예측 벡터를 생성하면 된다. 시간 시차 상관 예측 벡터 생성부(333)는 생성한 시간 시차 상관 예측 벡터를, 선택부(334)를 통해서 연산부(335)에 공급한다.
선택부(334)는 공간 상관 예측 벡터 생성부(332)로부터 공간 상관 예측 벡터를 공급된 경우, 그것을 연산부(335)에 공급한다. 또한, 선택부(334)는 시간 시차 상관 예측 벡터 생성부(333)로부터 시간 시차 상관 예측 벡터를 공급된 경우, 그것을 연산부(335)에 공급한다.
연산부(335)는 선택부(334)로부터 공급되는 공간 상관 예측 벡터 또는 시간 시차 상관 예측 벡터에, 부호화 정보 축적 버퍼(331)로부터 공급되는 차분 움직임 시차 벡터를 가산하여, 커런트 영역의 움직임 시차 벡터를 재구축한다. 연산부(335)는 재구축된 커런트 영역의 움직임 시차 벡터를 예측 화상 생성부(336)에 공급한다.
예측 화상 생성부(336)는 연산부(335)로부터 공급되는, 재구축된 커런트 영역의 움직임 시차 벡터와, 부호화 정보 축적 버퍼(331)로부터 공급되는 참조 화상 인덱스와, 디코드 픽처 버퍼(309)로부터 공급되는 주변 영역의 화상인 주변 화상 화소값을 사용해서, 예측 화상을 생성한다. 예측 화상 생성부(336)는 생성한 예측 화상 화소값을 선택부(313)에 공급한다.
이와 같이 함으로써, 시간 시차 상관 예측 벡터 생성부(333)는 시간 시차 상관 예측 벡터 생성부(136)의 경우와 마찬가지로, 움직임 상관 예측 벡터뿐만 아니라, 시차 상관 예측 벡터도 생성할 수 있다. 따라서, 움직임 시차 보상부(312)는 커런트 영역의 벡터가 시차 벡터의 경우에도, 시차 상관 예측 벡터를 재구축할 수 있다. 즉, 화상 복호 장치(300)는 화상 부호화 장치(100)에 의해 생성된 부호화 데이터를 정확하게 복호할 수 있으므로, 부호화 효율의 향상을 실현할 수 있다.
[복호 처리의 흐름]
이어서, 이상과 같은 화상 복호 장치(300)에 의해 실행되는 각 처리의 흐름에 대해서 설명한다. 처음에, 도 33의 플로우차트를 참조하여, 복호 처리의 흐름의 예를 설명한다.
복호 처리가 개시되면, 스텝 S301에서, 축적 버퍼(301)는 전송되어 온 비트 스트림을 축적한다. 스텝 S302에서, 가역 복호부(302)는 축적 버퍼(301)로부터 공급되는 비트 스트림(부호화된 차분 화상 정보)을 복호한다. 이때, 인트라 예측 정보나 인터 예측 정보 등, 비트 스트림에 포함된 차분 화상 정보 이외의 각종 정보도 복호된다.
스텝 S303에서, 역양자화부(303)는 스텝 S302의 처리에 의해 얻어진, 양자화된 직교 변환 계수를 역양자화한다. 스텝 S304에서 역직교 변환부(304)는 스텝 S303에서 역양자화된 직교 변환 계수를 역직교 변환한다.
스텝 S305에서, 인트라 예측부(311) 또는 움직임 시차 보상부(312)는 공급된 정보를 사용해서 예측 처리를 행한다. 스텝 S306에서, 연산부(305)는 스텝 S304에서 역직교 변환되어 얻어진 차분 화상 정보에, 스텝 S305에서 생성된 예측 화상을 가산한다. 이에 의해 재구성 화상이 생성된다.
스텝 S307에서, 루프 필터(306)는 스텝 S306에서 얻어진 재구성 화상에 대해서 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 행한다.
스텝 S308에서, 화면 재배열 버퍼(307)는 스텝 S307에서 필터 처리되어 생성된 복호 화상의 재배열을 행한다. 즉 화상 부호화 장치(100)의 화면 재배열 버퍼(102)에 의해 부호화를 위해 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다.
스텝 S309에서, D/A 변환부(308)는 프레임의 순서가 재배열된 복호 화상을 D/A 변환한다. 이 복호 화상이 도시하지 않은 디스플레이에 출력되어, 표시된다.
스텝 S310에서, 디코드 픽처 버퍼(309)는, 스텝 S307에서 필터 처리되어 얻어진 복호 화상을 기억한다. 이 복호 화상은 인터 예측 처리에 있어서 참조 화상으로서 이용된다.
스텝 S310의 처리가 종료되면, 복호 처리가 종료된다.
[예측 처리의 흐름]
이어서, 도 34의 플로우차트를 참조하여, 도 33의 스텝 S305에서 실행되는 예측 처리의 흐름의 예를 설명한다.
예측 처리가 개시되면, 가역 복호부(302)는 스텝 S331에서, 처리 대상의 커런트 영역이 부호화 시에 인트라 예측이 행해졌는지 여부를 판정한다. 인트라 예측이 행해졌다고 판정된 경우, 가역 복호부(302)는 처리를 스텝 S332로 진행시킨다.
이 경우, 인트라 예측부(311)는 스텝 S332에서, 가역 복호부(302)로부터 인트라 예측 모드 정보를 취득하고, 스텝 S333에서, 인트라 예측에 의해 예측 화상을 생성한다. 예측 화상이 생성되면, 인트라 예측부(311)는 예측 처리를 종료하고, 처리를 도 33으로 되돌린다.
또한, 스텝 S331에서, 커런트 영역이 인터 예측이 행해진 영역이라고 판정된 경우, 가역 복호부(302)는 처리를 스텝 S334로 진행시킨다. 스텝 S334에서, 움직임 시차 보상부(312)는 움직임 시차 보상 처리를 행한다. 움직임 시차 보상 처리가 종료되면, 움직임 시차 보상부(312)는 예측 처리를 종료하고, 처리를 도 33으로 되돌린다.
[움직임 시차 보상 처리의 흐름]
이어서, 도 35의 플로우차트를 참조하여, 도 34의 스텝 S334에서 실행되는 움직임 시차 보상 처리의 흐름의 예를 설명한다.
움직임 시차 보상 처리가 개시되면, 스텝 S351에서, 부호화 정보 축적 버퍼(331)는 스텝 S351에서 복호된 모드 정보, 움직임 시차 정보 및 예측 정보 등을 기억한다.
스텝 S352에서, 공간 상관 예측 벡터 생성부(332), 시간 시차 상관 예측 벡터 생성부(333), 선택부(334) 및 연산부(335)는 움직임 시차 벡터 생성 처리를 행하여, 커런트 영역의 움직임 시차 벡터를 재구축한다.
움직임 시차 벡터가 재구축되면, 스텝 S353에서, 예측 화상 생성부(336)는 그 움직임 시차 벡터를 사용해서 예측 화상을 생성한다.
예측 화상이 생성되면, 예측 화상 생성부(336)는 움직임 시차 보상 처리를 종료하고, 처리를 도 34로 되돌린다.
[움직임 시차 벡터 생성 처리의 흐름]
이어서, 도 36의 플로우차트를 참조하여, 도 35의 스텝 S352에서 실행되는 움직임 시차 벡터 생성 처리의 흐름의 예를 설명한다.
움직임 시차 벡터 생성 처리가 개시되면, 부호화 정보 축적 버퍼(331)는 스텝 S371에서, 예측 정보로부터 스킵 모드인지 여부를 판정한다. 스킵 모드라고 판정된 경우, 부호화 정보 축적 버퍼(331)는 처리를 스텝 S372로 진행시킨다. 스텝 S372에서, 공간 상관 예측 벡터 생성부(332) 내지 연산부(335)는 머지 모드 처리를 행하여, 머지 모드에서 움직임 시차 벡터를 재구축한다. 또한, 이 머지 모드 처리에 있어서는, 도 22의 플로우차트를 참조하여 설명한 각 처리와 마찬가지의 처리가 행해진다. 머지 모드 처리가 종료되면, 연산부(335)는 움직임 시차 벡터 생성 처리를 종료하고, 처리를 도 35로 되돌린다.
또한, 도 36의 스텝 S371에서, 스킵 모드가 아니라고 판정된 경우, 부호화 정보 축적 버퍼(331)는 처리를 스텝 S373으로 진행시킨다. 스텝 S373에서, 부호화 정보 축적 버퍼(331)는 예측 정보로부터 머지 모드인지 여부를 판정한다. 머지 모드라고 판정된 경우, 부호화 정보 축적 버퍼(331)는 처리를 스텝 S372로 되돌리고, 머지 모드 처리를 실행시킨다.
또한, 스텝 S373에서, 머지 모드가 아니라고 판정된 경우, 부호화 정보 축적 버퍼(331)는 처리를 스텝 S374로 진행시킨다.
스텝 S374에서, 부호화 정보 축적 버퍼(331)는 참조 화상의 인덱스를 취득한다. 스텝 S375에서, 부호화 정보 축적 버퍼(331)는 차분 움직임 시차 벡터를 취득한다.
스텝 S376에서, 공간 상관 예측 벡터 생성부(332) 또는 시간 시차 상관 예측 벡터 생성부(333)는 시차 움직임 벡터 예측 처리를 행한다. 이 시차 움직임 벡터 예측 처리는, 도 23의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해진다. 단, 이 경우, 예측 방법은 정해져 있으므로, 공간 상관 예측 처리와 시간 시차 상관 예측 처리 중, 어느 한쪽(예측 정보에 의해 지정되는 쪽)이 행해진다.
스텝 S377에서, 연산부(335)는 스텝 S376에서 재구축된 예측 벡터와, 차분 움직임 시차 벡터를 가산하여, 움직임 시차 벡터를 재구축한다.
스텝 S377의 처리가 종료되면, 연산부(335)는 움직임 시차 벡터 생성 처리를 종료하고, 처리를 도 35로 되돌린다.
이상과 같이 각 처리를 실행함으로써, 시간 시차 상관 예측 벡터 생성부(333)는 시간 시차 상관 예측 벡터 생성부(136)의 경우와 마찬가지로, 움직임 상관 예측 벡터뿐만 아니라, 시차 상관 예측 벡터도 생성할 수 있다. 따라서, 움직임 시차 보상부(312)는 커런트 영역의 벡터가 시차 벡터인 경우에도, 시차 상관 예측 벡터를 재구축할 수 있다. 즉, 화상 복호 장치(300)는 화상 부호화 장치(100)에 의해 생성된 부호화 데이터를 정확하게 복호할 수 있으므로, 부호화 효율의 향상을 실현할 수 있다.
<3. 제3 실시 형태>
[포인트]
다시점 화상의 경우, 일반적으로, 시차를 발생시키도록 화상의 위치가 뷰간에 어긋나 있다. 그 때문에 뷰 방향의 블록을 선택할 때, 동일 위치의 블록을 선택(참조)해도, 예측 화상의 예측 정밀도가 낮아져 버려, 적절한 예측 벡터를 만들 수 없을 가능성이 있다.
따라서, 예측 벡터 생성을 위해서, 뷰 방향의 블록을 선택할 때, 시프트한 위치의 블록을 선택한다. 즉, 커런트 영역과 동일한 시각의 화상의 위치를 시프트시킨 상태에서 커런트 영역과 동일 위치로 되는 영역의 벡터를 사용해서, 예측 벡터를 생성하도록 한다.
이 시프트량을, 주변 블록의 시차 벡터로부터 미리 결정된 수순으로 산출하도록 한다. 이 순서를 부호화측의 장치와 복호측의 장치에서 공통화함으로써, 부호화측과 복호측에서, 마찬가지인 예측을 행할 수 있다.
또한, 시프트량을 계산하기 위한 주변 블록을 명시적으로 지정하고, 그 정보를, 부호화측으로부터 복호측으로 전송하도록 해도 된다. 또한, 시프트량의 연산 방법에 관한 정보도 부호화측으로부터 복호측으로 전송하도록 해도 된다.
이상과 같이 함으로써, 화상 부호화 장치에 있어서도, 화상 복호 장치에 있어서도, 뷰간에 위치 정렬한 블록으로부터 예측 벡터를 생성할 수 있다. 따라서, 예측 화상의 예측 정밀도를 향상시킬 수 있고, 부호화 효율을 향상시킬 수 있다.
이하에, 상세를 설명한다.
[화상 부호화 장치]
도 37은 본 기술을 적용한 화상 부호화 장치의 다른 구성예를 도시하는 블록도이다.
도 37에 나타나는 화상 부호화 장치(400)는 기본적으로 상술한 화상 부호화 장치(100)와 마찬가지의 장치이다. 단, 화상 부호화 장치(400)는 뷰간에 위치 정렬한 블록으로부터 예측 벡터를 생성한다.
도 37에 도시된 바와 같이, 화상 부호화 장치(400)는 움직임 예측·보상부(415) 및 Base View 인코더(421)를 갖는다.
움직임 예측·보상부(412)는 디코드 픽처 버퍼(112)로부터 취득한 디코드 화상과, Base View 인코더(421)로부터 취득한 베이스 뷰의 움직임 정보를 사용해서, 뷰 방향의 블록을 참조하는 예측 벡터를 생성한다.
Base View 인코더(421)는 베이스 뷰의 부호화를 행한다. Base View 인코더(421)는 베이스 뷰의 디코드 화상을 디코드 픽처 버퍼(112)에 공급하고, 기억시킨다. 디코드 픽처 버퍼(112)에는, 또한 루프 필터(111)로부터 공급되는 논베이스 뷰의 디코드 화상도 기억된다.
Base View 인코더(421)는 베이스 뷰의 움직임 정보를 움직임 예측·보상부(412)에 공급한다.
[움직임 예측·보상부]
도 38은 도 37의 움직임 예측·보상부(412)의 주된 구성예를 도시하는 블록도이다.
도 38에 도시된 바와 같이, 움직임 예측·보상부(412)는 인터 모드 생성부(431), 참조 인덱스 결정부(432), 벡터 예측부(433), 벡터 예측부(434) 및 모드 판정부(435)을 갖는다. 각 처리부 사이에서는, 도 38에 나타나는 정보가 수수된다.
벡터 예측부(433)는 인터 예측 모드의 경우, 예측 벡터를 생성하고, 그 예측 화상을 생성한다. 벡터 예측부(434)는 스킵 모드나 머지 모드 등의 경우, 예측 벡터를 생성하고, 그 예측 화상을 생성한다. 이들에 있어서 생성된 예측 벡터나 예측 화상은, 모드 판정부(435)에 공급된다.
모드 판정부(435)는 이들 정보에 기초하여 모드 판정을 행하여, 선택한 모드를 나타내는 모드 정보와, 그 모드의 예측 벡터를 가역 부호화부(106)에 공급한다. 또한, 선택된 모드의 예측 화상은, 예측 화상 선택부(116)에 공급된다.
[벡터 예측부]
도 39는 벡터 예측부(433)의 주된 구성예를 도시하는 블록도이다.
도 39에 도시된 바와 같이, 벡터 예측부(433)는 움직임/시차 벡터 탐색부(451), 예측 화상 생성부(452), 벡터 비용 산출부(453), 벡터 판정부(454), 벡터 정보 축적 버퍼(455), 주변 블록으로부터의 예측 벡터 생성부(456), 다른 픽처로부터의 예측 벡터 생성부(457) 및 선택부(458)를 갖는다. 각 처리부 사이에서는, 도 39에 나타나는 정보가 수수된다.
다른 픽처로부터의 예측 벡터 생성부(457)는 다른 픽처를 참조하는 예측 벡터를 생성한다. 즉, 다른 픽처로부터의 예측 벡터 생성부(457)는 시간 방향과 뷰 방향의 각 방향에 다른 픽처를 참조하여, 예측 벡터를 생성한다. 뷰 방향에 다른 픽처를 참조하는 예측 벡터를 생성하는 경우, 다른 픽처로부터의 예측 벡터 생성부(457)는 Base View 인코더(421)로부터 베이스 뷰의 움직임 정보를 취득하고, 그 움직임 정보를 사용해서, 예측 벡터를 생성한다.
다른 픽처로부터의 예측 벡터 생성부(457)가 생성한 예측 벡터는, 선택부(458)를 통해서 벡터 비용 산출부(453)에 공급되어, 모드 판정에 사용되는 비용 함수값이 산출된다.
[다른 픽처로부터의 예측 벡터 생성부]
도 40은 다른 픽처로부터의 예측 벡터 생성부(457)의 주된 구성예를 도시하는 블록도이다.
도 40에 도시된 바와 같이, 다른 픽처로부터의 예측 벡터 생성부(457)는 시차 벡터 판정부(471), 뷰간 참조 벡터 생성부(472) 및 뷰 내 참조 벡터 생성부(473)를 갖는다.
시차 벡터 판정부(471)는 주변 블록의 시차 벡터로부터, 참조 화상의 시프트량을 산출한다. 이 시프트량의 산출 방법은, 임의이다. 예를 들어, 주변 블록의 시차 벡터 중에서 어느 하나를 선택하고, 그것을 시프트량으로 해도 된다. 또한, 예를 들어 주변 블록의 시차 벡터의 평균값이나 중앙값을 시프트량으로 해도 된다.
시차 벡터 판정부(471)는 이와 같이 구한 시프트량을 시차 벡터로서, 뷰간 참조 벡터 생성부(472)에 공급한다.
뷰간 참조 벡터 생성부(472)는 뷰 방향에 다른 픽처를 참조하는 예측 벡터를 생성한다.
뷰간 참조 벡터 생성부(472)는 시차 벡터 판정부(471)에 의해 선택된 시차 벡터(시프트량), Base View 인코더(421)로부터 공급되는 베이스 뷰의 움직임 벡터(논 베이스 뷰의 경우에는 시차 벡터도 포함함) 및 벡터 정보 축적 버퍼(455)로부터 판독한, 참조 화상 인덱스, 뷰간의 동일 시각의 움직임/시차 벡터 등의 정보를 사용해서, 시차 벡터를 고려한 예측 벡터를 생성한다.
즉, 뷰간 참조 벡터 생성부(472)는 시차 벡터 판정부(471)에 의해 산출된 시프트량을 사용해서 참조하는 뷰의 화상의 위치 정렬(시프트)을 행한다. 그리고, 뷰간 참조 벡터 생성부(472)는 그 위치 정렬을 행한 블록으로부터 예측 벡터를 생성한다.
뷰간 참조 벡터 생성부(472)는 생성한 예측 벡터를, 선택부(458)(도 40에서는 도시하지 않음)을 통해서, 벡터 비용 산출부(453)에 공급한다.
또한, 뷰 내 참조 벡터 생성부(473)는 시간 방향으로 다른 픽처를 참조하는 예측 벡터를 생성한다.
이상과 같이 함으로써, 뷰간 참조 벡터 생성부(472)는 예측 정밀도가 높은, 적절한 예측 벡터를 만들 수 있다. 이에 의해, 화상 부호화 장치(400)는 부호화 효율을 향상시킬 수 있다.
[움직임 예측·보상 처리의 흐름]
도 41의 플로우차트를 참조하여, 움직임 예측·보상 처리의 흐름의 예를 설명한다.
움직임 예측·보상 처리가 개시되면, 인터 모드 생성부(431)는 스텝 S401에서, 인터 예측 모드, 스킵 모드, 머지 모드 등 중에서 어느 하나를 선택하고, 그 모드를 지정하는 정보인 인터 모드를 생성한다.
스텝 S402에서, 인터 모드 생성부(431)는 생성한 인터 모드가 인터 예측 모드인지 여부를 판정한다.
인터 예측 모드인 경우, 스텝 S403에서, 인터 모드 생성부(431)는 참조 화상을 결정하고, 스텝 S404에서, 벡터 예측부(433)는 벡터 예측 처리를 실행한다.
또한, 인터 예측 모드가 아닌 경우, 스텝 S404에서, 벡터 예측부(434)는 벡터 예측 처리를 행한다.
스텝 S405에서, 모드 판정부(435)는 스텝 S404에서 생성된 예측 벡터 등에 기초하여, 모드를 판정한다. 이 모드는 스텝 S401의 처리에 이용된다.
스텝 S405에서, 가역 부호화부(106)는 스텝 S405에서 판정된 모드의 정보를 부호화한다.
[벡터 예측 처리의 흐름]
도 42의 플로우차트를 참조하여, 도 41의 스텝 S404에서 벡터 예측부(433)에 의해 실행되는 벡터 예측 처리의 흐름의 예를 설명한다.
벡터 예측 처리가 개시되면, 움직임/시차 벡터 탐색부(451)는 스텝 S421에서, 벡터의 탐색을 행한다.
스텝 S422에서, 예측 화상 생성부(452)는 예측 화상을 생성한다.
스텝 S423에서, 벡터 비용 산출부(453)는 잔차 화상을 생성한다.
스텝 S424에서, 주변 블록으로부터의 예측 벡터 생성부(456) 및 다른 픽처로부터의 예측 벡터 생성부(457)는 부호화가 끝난 벡터로부터 예측 벡터를 생성한다.
스텝 S425에서, 벡터 비용 산출부(453)는 벡터의 잔차를 계산한다.
스텝 S426에서, 벡터 판정부(454)는 최소 비용의 예측 벡터를 판정한다. 이 처리 결과는, 스텝 S424의 처리에 반영된다.
스텝 S427에서, 벡터 정보 축적 버퍼(455)는 벡터 정보를 축적하고, 처리를 도 41로 되돌린다.
[예측 벡터 생성 처리의 흐름]
이어서, 도 43의 플로우차트를 참조하여, 도 42의 스텝 S424에서 실행되는 예측 벡터 생성 처리의 흐름의 예를 설명한다.
예측 벡터 생성 처리가 개시되면, 선택부(458)는 스텝 S441에서, 어느 블록을 참조할지를 판정한다.
당해 픽처의 주변 블록을 참조한다고 판정된 경우, 주변 블록으로부터의 예측 벡터 생성부(456)는 스텝 S442에서, 주변 블록의 부호화가 끝난 벡터를 예측 벡터로 하고, 처리를 도 42로 되돌린다.
또한, 스텝 S441에서, 다른 픽처의 블록을 참조한다고 판정된 경우, 선택부(458)는 처리를 스텝 S443으로 진행시켜, 어느 뷰의 픽처를 참조할지를 판정한다.
다른 뷰의 픽처를 참조한다고 판정된 경우, 다른 픽처로부터의 예측 벡터 생성부(457)는 스텝 S444에서, 뷰 방향으로 확장된 부호화가 끝난 코-로케이티드 블록(Co-located Block)으로부터 뷰 방향의 예측 벡터를 생성하고, 처리를 도 42로 되돌린다.
또한, 스텝 S443에서, 동일한 뷰의 픽처를 참조한다고 판정된 경우, 다른 픽처로부터의 예측 벡터 생성부(457)는 스텝 S445에서, 부호화가 끝난 코-로케이티드 블록(Co-located Block)으로부터 시간 방향의 예측 벡터를 생성하고, 처리를 도 42로 되돌린다.
[다른 픽처로부터의 예측 벡터 생성 처리의 흐름]
이어서, 도 44의 플로우차트를 참조하여, 도 43의 스텝 S444에서 실행되는 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명한다.
다른 픽처로부터의 예측 벡터 생성 처리가 개시되면, 시차 벡터 판정부(471)는 스텝 S461에서, 주변 블록의 시차 벡터로부터 시프트량을 결정한다.
스텝 S462에서, 뷰간 참조 벡터 생성부(472)는 시프트된 위치의 코-로케이티드 블록을 선택한다.
스텝 S463에서, 뷰간 참조 벡터 생성부(472)는 코-로케이티드 블록으로부터 예측 벡터를 생성하고, 처리를 도 43으로 되돌린다.
[시프트량 결정 처리의 흐름]
이어서, 도 45의 플로우차트를 참조하여, 도 44의 스텝 S461에서 실행되는 시프트량 결정 처리의 흐름의 예를 설명한다.
스텝 S481에서, 시차 벡터 판정부(471)는 주변 블록의 시차 벡터에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재하는지 여부를 판정한다.
주변 블록은, 처리 대상인 커런트 블록의 주변(「인접」을 포함함)에 위치하는 블록이다. 예를 들어, 도 46에 도시된 바와 같이, 커런트 블록(Curr)의 왼쪽에 인접한 블록(Left), 커런트 블록의 위에 인접한 블록(Above) 및 커런트 블록의 우측 위에 인접한 블록(Above Right)이 주변 블록으로 된다. 물론, 이들 이외의 블록을 주변 블록에 포함시켜도 되고, 이들 블록의 일부 또는 전부를 주변 블록으로 하지 않도록 해도 된다.
주변 블록의 위치는, 전체 블록에 있어서 공통으로 해도 되지만, 블록에 따라 다르게 해도 된다. 예를 들어, 화면 단부나 슬라이스 경계에 인접한 블록을 커런트 블록으로 하는 경우, 주변 블록의 일부를 사용 불가로 해도 된다.
스텝 S481에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재하지 않는다고 판정한 경우, 시차 벡터 판정부(471)는 처리를 스텝 S482로 진행시켜, 대상의 X 방향의 시차 벡터를 시프트량으로 하고, 처리를 도 44로 되돌린다.
또한, 스텝 S481에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재한다고 판정한 경우, 시차 벡터 판정부(471)는 처리를 스텝 S483으로 진행시켜, 대상의 X 방향의 시차 벡터의 평균값을 시프트량으로 하고, 처리를 도 44로 되돌린다.
이상과 같이 각 처리를 실행함으로써, 움직임 예측·보상부(415)는 예측 정밀도가 높은, 적절한 예측 벡터를 만들 수 있다. 이에 의해, 화상 부호화 장치(400)는 부호화 효율을 향상시킬 수 있다.
<4. 제4 실시 형태>
[화상 복호 장치]
도 47은 본 기술을 적용한 화상 복호 장치의 다른 구성예를 도시하는 블록도이다.
도 47에 나타나는 화상 복호 장치(500)는 기본적으로 상술한 화상 복호 장치(300)와 마찬가지의 장치이다. 단, 화상 복호 장치(500)는 화상 부호화 장치(400)의 경우와 마찬가지로, 뷰간에 위치 정렬한 블록으로부터 예측 벡터를 생성한다.
도 47에 도시된 바와 같이, 화상 복호 장치(500)는 움직임 보상부(512) 및 Base View 디코더(521)를 갖는다.
움직임 보상부(512)는 디코드 픽처 버퍼(309)로부터 취득한 디코드 화상과, Base View 디코더(521)로부터 취득한 베이스 뷰의 움직임 정보를 사용해서, 뷰 방향의 블록을 참조하는 예측 벡터를 생성한다.
Base View 디코더(521)는 베이스 뷰의 부호화를 행한다. Base View 디코더(521)는 베이스 뷰의 디코드 화상을 디코드 픽처 버퍼(309)에 공급하고, 기억시킨다. 디코드 픽처 버퍼(309)에는, 또한 루프 필터(306)로부터 공급되는 논베이스 뷰의 디코드 화상도 기억된다.
Base View 디코더(521)는 베이스 뷰의 움직임 정보를 움직임 보상부(512)에 공급한다.
[움직임 보상부]
도 48은 도 47의 움직임 보상부(512)의 주된 구성예를 도시하는 블록도이다.
도 48에 도시된 바와 같이, 움직임 보상부(512)는 모드 판정부(531), 참조 인덱스 결정부(532), 벡터 복호부(533) 및 벡터 복호부(534)를 갖는다. 각 처리부 사이에서는, 도 48에 나타나는 정보가 수수된다.
벡터 복호부(533)는 인터 예측 모드인 경우, 화상 부호화 장치(400)로부터 전송된 잔차 벡터를 복호하고, 예측 벡터를 생성한다. 또한, 벡터 복호부(533)는 그 예측 벡터를 사용해서 예측 화상을 생성한다. 그 예측 화상은, 예측 화상 선택부(313)에 공급된다.
벡터 복호부(534)는 스킵 모드나 머지 모드인 경우, 화상 부호화 장치(400)로부터 전송된 잔차 벡터를 복호하고, 예측 벡터를 생성한다. 또한, 벡터 복호부(534)는 그 예측 벡터를 사용해서 예측 화상을 생성한다. 그 예측 화상은 예측 화상 선택부(313)에 공급된다.
[벡터 복호부]
도 49는 벡터 복호부(533)의 주된 구성예를 도시하는 블록도이다.
도 49에 도시된 바와 같이, 벡터 복호부(533)는 선택부(551), 주변 블록으로부터의 예측 벡터 생성부(552), 다른 픽처로부터의 예측 벡터 생성부(553), 선택부(554), 연산부(555), 예측 화상 생성부(556) 및 벡터 정보 축적 버퍼(557)를 갖는다. 각 처리부 사이에서는, 도 49에 나타나는 정보가 수수된다.
선택부(551)는 가역 복호부(302)로부터 공급되는 벡터 인덱스를, 인터 모드에 따라서, 주변 블록으로부터의 예측 벡터 생성부(552)(스킵 모드 또는 머지 모드 등의 경우), 또는 다른 픽처로부터의 예측 벡터 생성부(553)(인터 예측 모드인 경우)에 공급한다.
벡터 인덱스가 공급된, 주변 블록으로부터의 예측 벡터 생성부(552)는 벡터 정보 축적 버퍼(557)로부터 취득한 벡터 정보를 사용해서, 커런트 픽처 내의 주변 블록으로부터의 예측 벡터를 생성한다.
벡터 인덱스가 공급된, 다른 픽처로부터의 예측 벡터 생성부(553)는 벡터 정보 축적 버퍼(557)로부터 취득한 벡터 정보를 사용해서, 커런트 뷰 내의 다른 픽처로부터의 예측 벡터를 생성한다. 또한, 다른 픽처로부터의 예측 벡터 생성부(553)는 벡터 정보 축적 버퍼(557)로부터 취득한 벡터 정보나, Base View 디코더(521)로부터 공급되는 베이스 뷰의 움직임 정보를 사용해서, 다른 뷰의 다른 픽처로부터의 예측 벡터를 생성한다.
이 다른 픽처로부터의 예측 벡터 생성부(553)는 다른 픽처로부터의 예측 벡터 생성부(457)의 시차 벡터 판정부(471)와 마찬가지의 처리부이며, 마찬가지의 방법으로 예측 벡터를 생성한다.
선택부(554)는 주변 블록으로부터의 예측 벡터 생성부(552)가 생성한 예측 벡터, 또는 다른 픽처로부터의 예측 벡터 생성부(553)가 생성한 예측 벡터를 연산부(555)에 공급한다.
연산부(555)는 가역 복호부(302)로부터 공급되는 움직임/시차 벡터의 차분값(잔차 벡터)과, 예측 벡터를 가산하여, 커런트 영역의 움직임/시차 벡터를 생성한다. 연산부(555)는 그 움직임/시차 벡터를 예측 화상 생성부(556)에 공급한다. 또한, 연산부(555)는 그 움직임/시차 벡터를 벡터 정보 축적 버퍼(557)에 공급하고, 기억시킨다.
예측 화상 생성부(556)는 연산부(555)로부터 공급된 커런트 영역의 움직임/시차 벡터, 가역 복호부(302)로부터 공급되는 참조 화상 인덱스 및 디코드 픽처 버퍼(309)로부터 공급되는 복호 화상 화소값을 사용해서 예측 화상을 생성한다. 예측 화상 생성부(556)는 생성한 예측 화상 화소값을 예측 화상 선택부(313)에 공급한다.
[다른 픽처로부터의 예측 벡터 생성부]
도 50은 다른 픽처로부터의 예측 벡터 생성부(553)의 주된 구성예를 도시하는 블록도이다.
도 50에 도시된 바와 같이, 다른 픽처로부터의 예측 벡터 생성부(553)는 시차 벡터 판정부(571), 뷰간 참조 벡터 생성부(572) 및 뷰 내 참조 벡터 생성부(573)을 갖는다.
이 시차 벡터 판정부(571), 뷰간 참조 벡터 생성부(572) 및 뷰 내 참조 벡터 생성부(573)은, 각각 다른 픽처로부터의 예측 벡터 생성부(457)의 시차 벡터 판정부(471), 뷰간 참조 벡터 생성부(472) 및 뷰 내 참조 벡터 생성부(473)와 마찬가지의 처리부이며, 마찬가지의 처리를 행한다.
즉, 시차 벡터 판정부(571)는 시차 벡터 판정부(471)와 마찬가지의 방법으로, 참조처의 뷰의 화상의 시프트량을 산출하고, 그 화상을 시프트한다.
따라서, 다른 픽처로부터의 예측 벡터 생성부(553)는 잔차 벡터를 정확하게 복호하고, 다른 픽처로부터의 예측 벡터 생성부(457)가 생성하는 예측 벡터와 마찬가지인, 예측 정밀도가 높은 적절한 예측 벡터를 생성할 수 있다. 즉, 벡터 복호부(533)는 벡터 예측부(433)가 생성하는 예측 화상과 마찬가지인 예측 화상을 생성할 수 있다. 따라서, 화상 복호 장치(500)는 화상 부호화 장치(400)가 생성한 부호화 데이터를 정확하게 복호할 수 있고, 부호화 효율의 향상을 실현할 수 있다.
또한, 시차 벡터 판정부(571)에 의한 시프트량의 산출 방법은, 시차 벡터 판정부(471)와 동일한 한, 임의이다. 예를 들어, 주변 블록의 시차 벡터 중에서 어느 하나를 선택하고, 그것을 시프트량으로 해도 된다. 또한, 예를 들어 주변 블록의 시차 벡터의 평균값이나 중앙값을 시프트량으로 해도 된다.
[움직임 보상 처리의 흐름]
도 51의 플로우차트를 참조하여, 움직임 보상 처리의 흐름의 예를 설명한다.
움직임 예측·보상 처리가 개시되면, 모드 판정부(531)는 스텝 S501에서, 인터 모드를 복호하고, 스텝 S502에서, 인터 예측 모드인지 여부를 판정한다.
인터 예측 모드인 경우, 스텝 S503에서, 벡터 복호부(533)는 참조 화상을 결정하고, 스텝 S504에서, 벡터 복호 처리를 행하여, 잔차 벡터를 복호하고, 예측 화상을 생성한다.
또한, 인터 예측 모드가 아닌 경우, 스텝 S504에서, 벡터 복호부(534)는 벡터 복호 처리를 행하여, 잔차 벡터를 복호하고, 예측 화상을 생성한다.
[벡터 복호 처리의 흐름]
도 52의 플로우차트를 참조하여, 도 51의 스텝 S504에서 벡터 복호부(533)에 의해 실행되는 벡터 복호 처리의 흐름의 예를 설명한다.
벡터 복호 처리가 개시되면, 가역 복호부(302)는 스텝 S521에서, 잔차 벡터(차분 벡터)를 복호한다.
스텝 S522에서, 가역 복호부(302)는 참조 화상 인덱스를 복호한다.
스텝 S523에서, 가역 복호부(302)는 벡터 인덱스를 복호한다.
스텝 S524에서, 주변 블록으로부터의 예측 벡터 생성부(552) 및 다른 픽처로부터의 예측 벡터 생성부(553)는 복호화가 끝난 벡터로부터 예측 벡터를 생성한다. 연산부(555)는 이 예측 벡터를 잔차 벡터에 가산하여, 커런트 영역의 움직임/시차 벡터를 생성한다.
스텝 S525에서, 예측 화상 생성부(556)는 스텝 S524에서 생성된 움직임/시차 벡터를 사용해서 예측 화상을 생성한다.
스텝 S526에서, 벡터 정보 축적 버퍼(455)는 벡터 정보를 축적하고, 처리를 도 51로 되돌린다.
[예측 벡터 생성 처리의 흐름]
이어서, 도 53의 플로우차트를 참조하여, 도 52의 스텝 S524에서 실행되는 예측 벡터 생성 처리의 흐름의 예를 설명한다.
예측 벡터 생성 처리가 개시되면, 선택부(554)는 스텝 S541에서, 어느 블록을 참조할지를 판정한다.
커런트 픽처의 주변 블록을 참조한다고 판정된 경우, 주변 블록으로부터의 예측 벡터 생성부(552)는, 스텝 S542에서 주변 블록의 복호화가 끝난 벡터를 예측 벡터로 하고, 처리를 도 52로 되돌린다.
또한, 스텝 S541에서, 다른 픽처의 블록을 참조한다고 판정된 경우, 선택부(554)는 처리를 스텝 S543으로 진행시켜, 어느 뷰의 픽처를 참조할지를 판정한다.
다른 뷰의 픽처를 참조한다고 판정된 경우, 다른 픽처로부터의 예측 벡터 생성부(553)는 스텝 S544에서, 뷰 방향으로 확장된 복호화가 끝난 코-로케이티드 블록(Co-located Block)으로부터 뷰 방향의 예측 벡터를 생성하고, 처리를 도 52로 되돌린다.
또한, 스텝 S543에서, 동일한 뷰의 픽처를 참조한다고 판정된 경우, 다른 픽처로부터의 예측 벡터 생성부(553)는 스텝 S545에서, 복호화가 끝난 코-로케이티드 블록(Co-located Block)으로부터 시간 방향의 예측 벡터를 생성하고, 처리를 도 52로 되돌린다.
[다른 픽처로부터의 예측 벡터 생성 처리의 흐름]
이어서, 도 54의 플로우차트를 참조하여, 도 53의 스텝 S544에서 실행되는 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명한다.
다른 픽처로부터의 예측 벡터 생성 처리가 개시되면, 시차 벡터 판정부(571)는 스텝 S561에서, 주변 블록의 시차 벡터로부터 시프트량을 결정한다.
스텝 S562에서, 뷰간 참조 벡터 생성부(572)는 시프트된 위치의 코-로케이티드 블록을 선택한다.
스텝 S563에서, 뷰간 참조 벡터 생성부(572)는 코-로케이티드 블록으로부터 예측 벡터를 생성하고, 처리를 도 53으로 되돌린다.
즉, 도 44의 플로우차트의 경우와 마찬가지의 흐름으로 행해진다.
[시프트량 결정 처리의 흐름]
이어서, 도 55의 플로우차트를 참조하여, 도 54의 스텝 S561에서 실행되는 시프트량 결정 처리의 흐름의 예를 설명한다.
스텝 S581에서, 시차 벡터 판정부(571)는 주변 블록의 시차 벡터에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재하는지 여부를 판정한다.
스텝 S581에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재하지 않는다고 판정한 경우, 시차 벡터 판정부(571)는 처리를 스텝 S582로 진행시켜, 대상의 X 방향의 시차 벡터를 시프트량으로 하고, 처리를 도 54로 되돌린다.
또한, 스텝 S581에서, Y 방향 벡터의 값이 비제로인 블록이 복수 존재한다고 판정한 경우, 시차 벡터 판정부(571)는 처리를 스텝 S583으로 진행시켜, 대상의 X 방향의 시차 벡터의 평균값을 시프트량으로 하고, 처리를 도 54로 되돌린다.
즉, 도 45의 플로우차트의 경우와 마찬가지의 흐름으로 행해진다. 주변 블록에 대해서도 마찬가지이다.
이상과 같이 각 처리를 실행함으로써, 움직임 보상부(512)는 예측 정밀도가 높은, 적절한 예측 벡터를 만들 수 있다. 이에 의해, 화상 복호 장치(500)는 부호화 효율의 향상을 실현시킬 수 있다.
또한, 상술한 바와 같이, 시프트량을 계산하기 위한 주변 블록이나, 시프트량 연산 방법 등의 정보를, 화상 부호화 장치(400)로부터 화상 복호 장치(500)로 전송하도록 해도 된다.
<5. 제5 실시 형태>
[예측 벡터]
또한, 제3 및 제4 실시 형태에서 설명한 바와 같이, 예측 벡터 생성을 위해서, 뷰 방향의 블록을 선택할 때, 시프트한 위치의 블록을 선택할 수 있다.
이 예측 벡터의 후보를, 커런트 영역과 동일한 뷰의 다른 시각의 픽처에 속하는 동일 위치의 블록인 코-로케이티드 블록의 벡터(코-로케이티드 블록), 또는 글로벌 시차 벡터를 사용해서 생성하도록 해도 된다.
예를 들어, 도 56에 도시된 바와 같이, 3D 화상의 좌우 화상 중 어느 한쪽(예를 들어 좌안용 화상)을 베이스 뷰(base view)라 하고, 다른 쪽(예를 들어 우안용 화상)을 디펜던트 뷰(dependent view)라 한다.
그 디펜던트 뷰의 커런트 픽처(601)의 커런트 영역(611)의 벡터(부호화 벡터(Coding vector))(621)를 예측할 때 예를 들어, 커런트 영역과 동일한 뷰의 다른 시각의 픽처인 코-로케이티드 픽처(602)의, 커런트 영역과 동일 위치에 있는 코-로케이티드 블록(612)의 움직임 벡터(코-로케이티드 벡터)(622), 또는 글로벌 시차 벡터(도시하지 않음)를 사용해서, 예측 벡터를 구하도록 해도 된다.
예를 들어, 커런트 픽처(601)와 동일한 시각의 베이스 뷰의 픽처(603)의 커런트 영역(11)과 동일 위치로부터, 코-로케이티드 블록(622) 또는 글로벌 시차 벡터분(벡터(631)) 시프트한 위치의 블록(613)의 벡터(623)를, 부호화 벡터(MV)(621)의 예측 벡터(PMV)로 해도 된다. 또한, 코-로케이티드 블록(622) 또는 글로벌 시차 벡터를, 부호화 벡터(MV)(621)의 예측 벡터로 해도 된다.
이 순서를 부호화측의 장치와 복호측의 장치에서 공통화함으로써, 부호화측과 복호측에서, 마찬가지의 예측을 행할 수 있다.
또한, 코-로케이티드 블록 및 글로벌 시차 벡터 중 어느 것을 사용하는지를 나타내는 정보나, 코-로케이티드 블록 또는 글로벌 시차 벡터에 관한 정보 등을 명시적으로 지정하고, 그 정보를, 부호화측으로부터 복호측으로 전송하도록 해도 된다. 또한, 시프트량의 연산 방법에 관한 정보도 부호화측으로부터 복호측으로 전송하도록 해도 된다.
이상과 같이 함으로써, 화상 부호화 장치에 있어서도, 화상 복호 장치에 있어서도, 뷰간에 동일하게 위치 정렬한 블록으로부터 예측 벡터를 생성할 수 있다. 따라서, 예측 화상의 예측 정밀도를 향상시킬 수 있고, 부호화 효율을 향상시킬 수 있다.
[글로벌 시차 벡터]
이어서, 글로벌 시차 벡터에 대해서 설명한다. 글로벌 시차 벡터는 글로벌한(예를 들어, 픽처, 슬라이스, LCU, 또는 CU 등의, 소정의 단위마다) 대표적인 시차 벡터이다. 예를 들어, 픽처마다 생성되는 글로벌 시차 벡터는, 뷰간의 시차량을 나타낸다. 글로벌 시차 벡터의 생성 방법은 임의이다.
또한, 글로벌 시차 벡터가 상세한 예는, Junghak Nam, Hyomin Choi, Sunmi Yoo, Woong Lim, Donggyu Sim, "3D-HEVC-CE3 result on KWU's advanced motion and disparity prediction method based on global disparity", INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO, ISO/IEC JTC1/SC29/WG11 MPEG2011/M23620, February 2012, San Jose, CA에 기재되어 있다.
도 57은 시차와 깊이에 대해서 설명하는 도면이다.
도 57에 도시한 바와 같이, 피사체 M의 컬러 화상이, 위치 C1에 배치된 카메라 c1과 위치 C2에 배치된 카메라 c2에 의해 촬영되는 경우, 피사체 M의, 카메라 c1(카메라 c2)로부터의 깊이 방향의 거리인 깊이 Z는, 이하의 수학식 3으로 정의된다.
Figure 112013115787670-pct00003
또한, L은 위치 C1과 위치 C2의 수평 방향의 거리(이하, 카메라간 거리라고 함)이다. 또한, d는 카메라 c1에서 촬영된 컬러 화상 상의 피사체 M의 위치의, 컬러 화상의 중심으로부터의 수평 방향의 거리 u1로부터, 카메라 c2에서 촬영된 컬러 화상 상의 피사체 M의 위치의, 컬러 화상의 중심으로부터의 수평 방향의 거리 u2를 감산한 값, 즉 시차(disparity)이다. 또한, f는 카메라 c1의 초점 거리이며, 수학식 3에서는, 카메라 c1과 카메라 c2의 초점 거리는 동일한 것으로 하고 있다.
즉, 시차 d는, 이하의 수학식 4와 같이 정의된다.
Figure 112013115787670-pct00004
수학식 3이나 수학식 4에 나타낸 바와 같이, 시차 d와 깊이 Z는, 일의적으로 변환 가능하다. 따라서, 본 명세서에서는, 카메라 c1과 카메라 c2에 의해 촬영된 2 시점의 컬러 화상의 시차 d를 나타내는 화상과 깊이 Z를 나타내는 화상을 총칭하여, 뎁스 화상(시차 화상)이라 한다.
또한, 뎁스 화상(시차 화상)은 시차 d 또는 깊이 Z를 나타내는 화상이면 되고, 뎁스 화상(시차 화상)의 화소값으로서는, 시차 d 또는 깊이 Z 그 자체가 아닌, 시차 d를 정규화한 값, 깊이 Z의 역수 1/Z를 정규화한 값 등을 채용할 수 있다.
깊이 Z는, 이하의 수학식 5에 의해 구할 수 있다.
Figure 112013115787670-pct00005
또한, 수학식 5에서, Zfar는 깊이 Z의 최대값이며, Znear는 깊이 Z의 최소값이다. 최대값 Zfar와 최소값 Znear는 1 화면 단위로 설정되어도 되고, 복수 화면 단위로 설정되어도 된다.
이와 같이, 본 명세서에서는, 시차 d와 깊이 Z는 일의로 변환 가능한 것을 고려하여, 시차 d를 정규화한 값 I를 화소값으로 하는 화상과, 깊이 Z의 역수 1/Z를 정규화한 값 y를 화소값으로 하는 화상을 총칭하여, 뎁스 화상(시차 화상)이라 한다. 여기에서는, 뎁스 화상(시차 화상)의 컬러 포맷은, YUV420 또는 YUV400인 것으로 하지만, 다른 컬러 포맷으로 하는 것도 가능하다.
또한, 뎁스 화상(시차 화상)의 화소값으로서가 아닌, 값 I 또는 값 y의 정보 자체에 착안하는 경우에는, 값 I 또는 값 y를, 뎁스 정보(시차 정보)라 한다. 또한, 값 I 또는 값 y를 맵핑한 것을 뎁스 맵(시차 맵)이라 한다.
[예측 벡터의 생성]
예측 벡터는, 예를 들어 도 58에 나타나는 표와 같이, 부호화 벡터 및 코-로케이티드 벡터의 양쪽의 특성에 따른 방법에서 생성된다.
예를 들어, 도 58 표의 아래에서 6단째에 나타낸 바와 같이, 부호화 벡터 및 코-로케이티드 벡터의 양쪽이 움직임 벡터(Motion vector)인 경우, 코-로케이티드 벡터가 예측 벡터 후보로 된다.
또한, 예를 들어 도 58 표의 아래에서 2단째에 나타낸 바와 같이, 부호화 벡터 및 코-로케이티드 벡터의 양쪽이 시차 벡터(Inter-view vector)인 경우, 코-로케이티드 벡터가 예측 벡터 후보로 된다.
이들에 대해서 예를 들어, 도 58 표의 아래에서 5단째에 나타낸 바와 같이, 부호화 벡터가 움직임 벡터(Motion vector)이며, 또한 코-로케이티드 벡터가 시차 벡터(Inter-view vector)인 경우, 코-로케이티드 벡터분만큼 시프트한 블록의 베이스 뷰의 움직임 벡터가 예측 벡터 후보로 된다.
또한, 예를 들어 도 58의 표의 아래에서 4단째에 나타낸 바와 같이, 부호화 벡터가 움직임 벡터(Motion vector)이며, 또한 코-로케이티드 블록이 인트라 모드인 경우, 글로벌 시차 벡터분만큼 시프트한 블록의 베이스 뷰의 움직임 벡터가 예측 벡터 후보로 된다.
또한, 예를 들어 도 58의 표의 아래에서 3단째에 나타낸 바와 같이, 부호화 벡터가 시차 벡터(Inter-view vector)이며, 또한 코-로케이티드 벡터가 움직임 벡터(Motion vector)인 경우, 글로벌 시차 벡터가 예측 벡터 후보로 된다.
또한, 예를 들어 도 58의 표의 아래에서 1단째에 나타낸 바와 같이, 부호화 벡터가 시차 벡터(Inter-view vector)이며, 또한 코-로케이티드 블록이 인트라 모드인 경우, 글로벌 시차 벡터가 예측 벡터 후보로 된다.
이와 같이 예측 벡터의 후보의 생성 방법을 증가시킴으로써, 예측 벡터의 예측 정밀도를 향상시키고, 부호화 효율을 향상시킬 수 있다.
[화상 부호화 장치]
이 경우의 화상 부호화 장치의 구성예는, 도 35 내지 도 38에 나타나는 화상 부호화 장치(400)의 경우와 마찬가지이므로, 그 설명을 생략한다.
[처리의 흐름]
또한, 이 경우의, 움직임 예측·보상 처리는, 도 39의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해진다. 또한, 이 경우의, 벡터 예측 처리는, 도 40의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해진다. 따라서, 이들 처리의 설명은 생략한다.
도 59의 플로우차트를 참조하여, 이 경우의 예측 벡터 생성 처리의 흐름의 예를 설명한다.
예측 벡터 생성 처리가 개시되면, 선택부(458)는 스텝 S601에서, 어느 블록을 참조할지를 판정한다.
주변 블록을 참조한다고 판정된 경우, 처리는 스텝 S602로 진행한다. 스텝 S602에서, 주변 블록으로부터의 예측 벡터 생성부(456)는 주변 블록의 부호화가 끝난 벡터를 예측 벡터로 한다. 스텝 S602의 처리가 종료되면, 예측 벡터 생성 처리가 종료되어, 처리는 도 40으로 되돌아간다.
또한, 스텝 S601에서, 참조처로서 다른 픽처의 블록이 선택된 경우, 처리는 스텝 S603으로 진행한다. 스텝 S603에서, 다른 픽처로부터의 예측 벡터 생성부(457)는 다른 시각·뷰의 블록의 부호화가 끝난 벡터를 예측 벡터로 한다. 스텝 S603의 처리가 종료되면, 예측 벡터 생성 처리가 종료되고, 처리는 도 40으로 되돌아간다.
이어서, 도 60 및 도 61의 플로우차트를 참조하여, 도 59의 스텝 S603에서 실행되는, 다른 픽처로부터의 예측 벡터 생성 처리의 흐름의 예를 설명한다.
다른 픽처로부터의 예측 벡터 생성 처리가 개시되면, 시차 벡터 판정부(471)는 스텝 S621에서, 부호화 벡터가 움직임 벡터인지 여부를 판정한다. 움직임 벡터라고 판정된 경우, 처리는 스텝 S622로 진행한다.
스텝 S622에서, 시차 벡터 판정부(471)는 코-로케이티드 블록의 모드가 무엇인지를 판정한다. 코-로케이티드 블록의 모드가 움직임 벡터라고 판정된 경우, 처리는 스텝 S623으로 진행한다.
스텝 S623에서, 뷰 내 참조 벡터 생성부(473)는 코-로케이티드 벡터를 예측 벡터에 세트한다. 스텝 S623의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
또한, 스텝 S622에서, 코-로케이티드 블록의 모드가 인트라 예측이라고 판정된 경우, 처리는 스텝 S624로 진행한다.
스텝 S624에서, 뷰간 참조 벡터 생성부(472)는 글로벌 시차 벡터를 구하고, 그 글로벌 시차 벡터분만큼 시프트한 베이스 뷰의 블록의 벡터를 예측 벡터에 세트한다. 스텝 S624의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
또한, 스텝 S622에서, 코-로케이티드 블록의 모드가 시차 벡터라고 판정된 경우, 처리는 스텝 S625로 진행한다.
스텝 S625에서, 뷰간 참조 벡터 생성부(472)는 코-로케이티드 벡터분만큼 시프트한 베이스 뷰의 블록의 벡터를 예측 벡터에 세트한다. 스텝 S625의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
또한, 스텝 S621에서, 부호화 벡터가 시차 벡터라고 판정된 경우, 처리는 도 61로 진행한다.
도 61의 스텝 S631에서, 시차 벡터 판정부(471)는 코-로케이티드 블록의 모드가 무엇인지를 판정한다. 코-로케이티드 블록의 모드가 시차 벡터라고 판정된 경우, 처리는 스텝 S632로 진행한다.
스텝 S632에서, 뷰 내 참조 벡터 생성부(473)는 코-로케이티드 벡터를 예측 벡터에 세트한다. 스텝 S632의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
또한, 스텝 S631에서, 코-로케이티드 블록의 모드가 움직임 벡터라고 판정된 경우, 처리는 스텝 S634로 진행한다. 스텝 S634에서, 뷰간 참조 벡터 생성부(472)는 글로벌 시차 벡터를 예측 벡터로 세트한다. 스텝 S634의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
또한, 스텝 S631에서, 코-로케이티드 블록의 모드가 인트라 예측이라고 판정된 경우, 처리는 스텝 S635로 진행한다. 스텝 S635에서, 뷰간 참조 벡터 생성부(472)는 글로벌 시차 벡터를 예측 벡터에 세트한다. 스텝 S635의 처리가 종료되면, 다른 픽처로부터의 예측 벡터 생성 처리가 종료되고, 처리는 도 59로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 이 경우의 화상 부호화 장치는, 코-로케이티드 블록이나 글로벌 시차 벡터를 사용해서 예측 벡터를 생성할 수 있다. 이에 의해, 화상 부호화 장치는, 예측 벡터의 예측 정밀도를 향상시킬 수 있고, 부호화 효율을 향상시킬 수 있다.
[화상 복호 장치]
이어서, 이 경우의 화상 부호화 장치에 대응하는 화상 복호 장치에 대해서 설명한다. 이 경우의 화상 복호 장치의 구성예는, 화상 부호화 장치의 경우와 마찬가지로, 도 45 내지 도 48에 나타나는 화상 복호 장치(500)의 경우와 마찬가지이므로, 그 설명을 생략한다.
[처리의 흐름]
이어서, 이 경우의, 화상 복호 장치에 의해 실행되는 각종 처리의 흐름에 대해서 설명한다. 이 경우도, 화상 복호 장치에 있어서는, 화상 부호화 장치와 기본적으로 마찬가지의 처리가 행해진다. 즉, 움직임 보상 처리는, 도 49의 플로우차트를 참조하여 설명한 경우와 마찬가지로 실행된다. 또한, 벡터 복호 처리는, 도 50의 플로우차트를 참조하여 설명한 경우와 마찬가지로 실행된다.
또한, 예측 벡터 생성 처리는, 도 59의 플로우차트를 참조하여 설명한 경우, 즉 화상 부호화 장치가 실행하는 경우와 마찬가지로 실행된다.
단, 이 경우, 스텝 S601의 처리는 선택부(551)가 행한다. 또한, 스텝 S602에서는, 주변 블록으로부터의 예측 벡터 생성부(552)가 주변 블록의 복호가 끝난 벡터를 예측 벡터로 한다. 또한, 스텝 S603에서는, 다른 픽처로부터의 예측 벡터 생성부(553)가 다른 시각·뷰의 블록의 복호가 끝난 벡터를 예측 벡터로 한다.
또한, 그 다른 픽처로부터의 예측 벡터 생성 처리는, 도 60 및 도 61의 플로우차트를 참조하여 설명한 경우, 즉 화상 부호화 장치가 실행하는 경우와 마찬가지로 실행된다.
단, 이 경우, 스텝 S621, 스텝 S622 및 스텝 S631의 각 처리는, 시차 벡터 판정부(571)가 행하고, 스텝 S623 및 스텝 S632의 각 처리는, 뷰 내 참조 벡터 생성부(573)가 행하고, 스텝 S624, 스텝 S625, 스텝 S634 및 스텝 S635의 각 처리는, 뷰간 참조 벡터 생성부(572)에 의해 실행된다.
이와 같이 각 처리를 실행함으로써, 이 경우의 화상 복호 장치는, 화상 부호화 장치와 마찬가지로, 코-로케이티드 블록이나 글로벌 시차 벡터를 사용해서 예측 벡터를 생성할 수 있다. 이에 의해, 화상 복호 장치는, 예측 벡터의 예측 정밀도를 향상시킬 수 있고, 부호화 효율을 향상시킬 수 있다.
<6. 제6 실시 형태>
[참조 화상의 타입]
예를 들어, HEVC의 경우, 참조 화상에는, 단시간 참조 픽처와 장시간 참조 픽처의 2개의 타입이 있다. 단시간 참조 픽처는 부호화 픽처와 시간적으로 가까운 픽처이기 때문에, 예측 벡터에 대해서 시간적인 거리에 기초하는 스케일링 처리가 행해진다. 이에 반해, 장시간 참조 픽처는 부호화 픽처와 시간적으로 먼 픽처이기 때문에, 예측 벡터에 대한 스케일링은 의미가 없으므로, 행해지지 않는다.
화상의 움직임 등에 따라서 이들의 참조 픽처를 구분지어 사용함으로써, 부호량을 보다 저감시킬 수 있다.
부호화 벡터와 예측 벡터의 참조 픽처의 타입(단시간 참조 픽처 또는 장시간 참조 픽처)이 달라도, 그 예측 벡터는 사용 가능(Available)으로 된다.
부호화 벡터와 예측 벡터의 참조 픽처의 타입이 다른 경우, 그들 벡터의 상관은 낮을 것이 예상된다. 따라서, 벡터의 후보 리스트에 넣어 버리면 부호화 효율의 저하가 일어날 우려가 있었다. 예를 들어, 상관이 보다 높은 벡터가, 후보 리스트의 뒤쪽으로 밀려나버려, 벡터를 지정하기 위한 인덱스의 부호량이 증가할 우려가 있었다. 또한, 예를 들어 상관이 보다 높은 벡터가, 후보 리스트의 뒤쪽으로 밀려나버려, 후보 리스트에서 제외되어 버려, 지정되지 못할 우려가 있었다.
따라서, 부호화 벡터와 예측 벡터의 참조 픽처의 타입(단시간 참조 픽처 또는 장시간 참조 픽처)이 다를 때, 그 예측 벡터를 사용 불가(Not available)로 하도록 한다.
단시간 참조 픽처를 참조하는 벡터와 장시간 참조 픽처를 참조하는 벡터의 특성은 다르므로 상관이 낮다고 생각된다. 따라서, 이 경우에 후보 벡터에서 제외함으로써, 부호화 효율을 개선할 수 있다.
예를 들어, 도 62는 배경 정지 어플리케이션의 참조 화상의 모습의 예를 설명하는 도면이다. 정지 화상의 배경 화상의 전방에 움직이는 물체가 존재하는 동화상(배경 정지의 어플리케이션)인 경우, 정지 영역인 배경(특히 오클루젼 영역)은 장시간 픽처를 참조하므로, 움직임 벡터가 0으로 되는 경향이 있다. 이에 반해, 전방의 움직이는 물체는 단시간 참조 픽처를 참조하므로, 움직임 벡터가 발생한다. 이와 같이 참조 픽처의 타입이 다르면, 움직임 벡터의 상관이 낮다(도 64의 A). 그로 인해, 상술한 바와 같이, 부호화 벡터와 예측 벡터의 참조 픽처의 타입이 다를 때, 후보 벡터에서 제외함으로써, 부호화 효율을 개선할 수 있다.
또한, 예를 들어 도 63은 스테레오 어플리케이션의 참조 화상의 모습의 예를 설명하는 도면이다. 입체를 위해 좌안용 화상(좌안 화상)과 우안용 화상(우안 화상)이 준비되어 있는 동화상(스테레오 어플리케이션)의 경우, Dependent View(여기서는 우안 화상으로서 설명함)를 부호화할 때, Base View(여기서는 좌안 화상으로서 설명함)를 장시간 참조 픽처로서 지정하고, Dependent View의 부호화가 끝난 픽처를 단시간 참조 픽처로서 지정한다.
Dependent View를 참조하는 경우, 참조처와 참조원에서 프레임 ID가 다르므로 스케일링 가능하지만, Base View를 참조하는 경우, 참조처와 참조원에서 프레임 ID가 일치해 버린다. 그로 인해, 스케일링 시에 분모가 0이 될 우려가 있어, 스케일링이 곤란해진다. 그로 인해, HEVC 등에서는, Base View는 스케일링을 행하지 않는 장시간 참조 픽처로서 지정하도록 되어 있다.
그로 인해, 스테레오 어플리케이션의 경우, 장시간 참조 픽처를 참조하는 벡터는 시차 벡터로, 단시간 참조 픽처를 참조하는 벡터는 움직임 벡터로 된다. 따라서, 픽처 타입간에서, 움직임(시차) 벡터의 상관이 낮다(도 64의 B). 그로 인해, 상술한 바와 같이, 부호화 벡터와 예측 벡터의 참조 픽처의 타입이 다를 때, 후보 벡터에서 제외함으로써, 부호화 효율을 개선할 수 있다.
또한, 이하에 있어서는, 처리 대상의 블록(CU, PU 등)을 부호화 블록(또는 커런트 블록)이라고도 칭한다. 또한, 부호화 블록의 시간적으로 주변 블록, 즉 부호화 블록이 존재하는 픽처(커런트 픽처)의 시간적으로 주변 픽처의 코-로케이티드 블록을, 시간 상관 블록이라고도 칭한다. 또한, 부호화 블록의 공간적으로 주변 블록, 즉 커런트 픽처에 있어서 부호화 블록에 인접한 블록 또는 근방에 위치하는 블록을, 주변 블록이라고도 칭한다.
도 65에 주변 블록의 예를 나타낸다. 위치 A0 및 A1의 블록은, 부호화 블록(커런트 블록)의 주변 블록이며, 좌측 위치의 블록이라고도 칭한다. 또한, 위치 B0, B1 및 B2의 블록은, 부호화 블록(커런트 블록)의 주변 블록이며, 상측 위치의 블록이라고도 칭한다.
[움직임(시차) 벡터의 취급의 정리]
도 66은 시간 상관 블록과 주변 블록의 취급의 예를 설명하는 도면이다. 벡터의 예측에 있어서, 시간 상관 블록의 움직임(시차) 벡터를 후보 벡터에 포함시킬지 여부 및 스케일링을 행할지 여부는, 도 66의 A에 나타나는 표와 같이 결정한다.
즉, 예를 들어 부호화 블록의 참조 화상과 시간 상관 블록의 참조 화상의 타입이 일치하는 경우, 즉 모두 단시간 참조 화상이거나, 또는 모두 장시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터를 후보로 하고, 양자의 타입이 일치하지 않는 경우, 후보에서 제외하도록 한다. 또한, 부호화 블록의 참조 화상과 시간 상관 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 양자가 모두 장시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
또한, 벡터의 예측에 있어서, 주변 블록의 움직임(시차) 벡터를 후보 벡터에 포함시킬지 여부 및 스케일링을 행할지 여부는, 도 66의 B에 나타나는 표와 같이 결정한다. 즉, 시간 상관 블록의 경우와 마찬가지이다.
즉, 예를 들어 부호화 블록의 참조 화상과 주변 블록의 참조 화상의 타입이 일치하는 경우, 즉 모두 단시간 참조 화상이거나, 또는 모두 장시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터를 후보로 하고, 양자의 타입이 일치하지 않는 경우, 후보에서 제외하도록 한다. 또한, 부호화 블록의 참조 화상과 주변 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 양자가 모두 장시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
[부호화 시의 처리의 흐름]
이러한 제어를 실현하기 위한 부호화 시의 처리의 흐름의 예에 대해서, 이하에 설명한다. 또한, 이러한 제어는, 제3 실시 형태에 있어서 설명한 화상 부호화 장치(400)(도 37)에 의해 실현할 수 있다.
화상 부호화 장치(400)에 의한 부호화 처리는, 도 20의 플로우차트를 참조하여 설명한 경우(제1 실시 형태)와 마찬가지로 행해진다.
도 20의 스텝 S104에서 실행되는 인터 움직임 예측 처리에 상당하는 처리로서, 움직임 예측·보상부(415)가 실행하는 PU의 움직임(시차) 벡터와 참조 인덱스 생성 처리의 흐름의 예를, 도 67의 플로우차트를 참조하여 설명한다.
스텝 S701에서, 인터 모드 생성부(431)(도 38)는 인터 모드를 생성한다. 스텝 S702에서, 인터 모드 생성부(431)는 그 모드가 머지(스킵) 모드인지 여부를 판정한다.
머지(스킵) 모드라고 판정된 경우, 처리는 스텝 S703으로 진행한다. 스텝 S703에서, 참조 인덱스 결정부(432) 및 벡터 예측부(434)는 머지(스킵) 모드의 처리를 행하여, 움직임(시차) 벡터와 참조 인덱스를 생성한다. 스텝 S703의 처리가 종료되면, 처리는 스텝 S707로 진행한다.
또한, 스텝 S702에서, 머지(스킵) 모드가 아니라고 판정된 경우, 처리는 스텝 S704로 진행한다. 스텝 S704에서, 벡터 예측부(433)는 잔차 움직임(시차) 벡터와 참조 인덱스를 취득한다. 스텝 S705에서, 벡터 예측부(433)는 AMVP 모드의 처리를 행하여, 예측 움직임(시차) 벡터를 생성한다. 스텝 S706에서, 모드 판정부(435)는 잔차 움직임(시차) 벡터와 예측 움직임(시차) 벡터를 가산한다.
스텝 S707에서, 모드 판정부(435)는 모든 모드를 처리할 때까지 처리를 스텝 S701로 되돌리고, 모든 모드가 정렬되면, 최적의 모드를 판정한다.
스텝 S708에서, 가역 부호화부(106)는 선택된 정보를 부호화한다. 스텝 S708의 처리가 종료되면, 처리는 도 20으로 되돌아간다.
이어서, 도 67의 스텝 S703에서 실행되는 머지(스킵) 모드 처리의 흐름의 예를, 도 68의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 스텝 S711에서, 참조 인덱스 결정부(432)는 공간적으로 주변 블록으로부터 후보로 되는 움직임(시차) 벡터와 참조 인덱스를 작성한다.
스텝 S712에서, 참조 인덱스 결정부(432)는 시간 상관 블록용 참조 인덱스를 생성한다.
스텝 S713에서, 벡터 예측부(434)는 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성한다.
스텝 S714에서, 벡터 예측부(434)는 움직임(시차) 벡터와 참조 인덱스의 후보 리스트를 생성한다. 또한, 이 리스트의 요소수를 Y라 한다.
스텝 S715에서, 벡터 예측부(434)는 후보 리스트의 최대수 X를 설정한다.
스텝 S716에서, 벡터 예측부(434)는 리스트의 요소수 Y가 후보 리스트의 최대수 X보다 작은지 여부(Y<X인지 여부)를 판정한다. 리스트의 요소수 Y가 후보 리스트의 최대수 X보다 작다고(Y<X임) 판정된 경우, 처리는 스텝 S717로 진행한다.
스텝 S717에서, 벡터 예측부(434)는 후보 리스트의 각 요소를 조합하여, 새롭게 움직임(시차) 벡터와 참조 인덱스를 생성한다.
스텝 S718에서, 벡터 예측부(434)는 후보 리스트를 갱신한다. 이때의 리스트의 요소수를 Y'라 한다.
스텝 S719에서, 벡터 예측부(434)는 리스트의 요소수 Y'가 후보 리스트의 최대수 X보다 작은지 여부(Y'<X인지 여부)를 판정한다. 리스트의 요소수 Y'가 후보 리스트의 최대수 X보다 작다고(Y'<X임) 판정된 경우, 처리는 스텝 S720으로 진행한다.
스텝 S720에서, 벡터 예측부(434)는 제로 움직임(시차) 벡터와 제로 참조 인덱스를 새롭게 생성한다. 스텝 S720의 처리가 종료되면, 처리는 스텝 S721로 진행한다.
또한, 스텝 S716에서, 리스트의 요소수 Y가 후보 리스트의 최대수 X 이상이라고(Y<X가 아님) 판정된 경우, 처리는 스텝 S721로 진행한다. 또한, 스텝 S719에서, 리스트의 요소수 Y'가 후보 리스트의 최대수 X 이상이라고(Y'<X가 아님) 판정된 경우, 처리는 스텝 S721로 진행한다.
스텝 S721에서, 벡터 예측부(434)는 후보 리스트의 요소 인덱스를 생성한다.
스텝 S722에서, 벡터 예측부(434)는 요소 인덱스가 지시하는 움직임(시차) 벡터와 참조 인덱스를 취득한다. 스텝 S722의 처리가 종료되면, 처리는 도 67로 되돌아간다.
이어서, 도 68의 스텝 S713에서 실행되는 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 69의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(434)는 스텝 S731에서, 시간 상관 픽처를 지정하는 인덱스를 생성한다.
스텝 S732에서, 벡터 예측부(434)는 시간 상관 픽처를 결정한다.
스텝 S733에서, 벡터 예측부(434)는 시간 상관 픽처 내에 존재하는 부호화 PU(부호화 블록)의 우측 아래 위치의 블록을 선택한다.
스텝 S734에서, 벡터 예측부(434)는 우측 아래 위치의 블록이 인트라 혹은 또는 사용 불가인지 여부를 판정한다. 우측 아래 위치의 블록이 인트라 모드 또는 사용 불가라고 판정된 경우, 처리는 스텝 S735로 진행한다.
스텝 S735에서, 벡터 예측부(434)는 시간 상관 픽처 내에 존재하는 부호화 PU의 중심 위치의 블록을 선택한다.
스텝 S736에서, 벡터 예측부(434)는 그 중심 위치의 블록이 인트라 모드 혹은 사용 불가인지 여부를 판정한다. 중심 위치의 블록이 인트라 모드 또는 사용 불가라고 판정된 경우, 처리는 스텝 S737로 진행한다.
스텝 S737에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S737의 처리가 종료되면, 처리는 도 68로 되돌아간다.
또한, 스텝 S734에서, 우측 아래 위치의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S738로 진행한다. 마찬가지로, 중심 위치의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S738로 진행한다.
스텝 S738에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터와 참조 인덱스를 결정한다.
스텝 S739에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무를 판정한다.
스텝 S740에서, 벡터 예측부(434)는 스텝 S739의 판정 결과에 기초하여, 시간 상관 블록의 움직임(시차) 벡터를 후보에서 제외할지 여부를 판정한다.
후보에서 제외한다고 판정된 경우, 처리는 스텝 S737로 되돌아간다. 또한, 스텝 S740에서, 후보에서 제외하지 않는다고(후보에 포함시킴) 판정된 경우, 처리는 스텝 S741로 진행한다.
스텝 S741에서, 벡터 예측부(434)는 스텝 S739의 판정 결과에 기초하여, 시간 상관 블록의 움직임(시차) 벡터에 대해서 스케일링이 필요한지 여부를 판정한다.
스케일링이 필요하다고 판정된 경우, 처리는 스텝 S742로 진행한다. 스텝 S742에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터에 대해서 스케일링 처리를 행한다. 스텝 S742의 처리가 종료되면, 처리는 도 68로 되돌아간다.
또한, 스텝 S741에서, 스케일링이 필요하지 않다고 판정된 경우, 처리는 도 68로 되돌아간다.
이어서, 도 69의 스텝 S739에서 실행되는, 시간 상관 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리의 흐름의 예를, 도 70의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(434)는 스텝 S751에서, 부호화 블록의 참조 화상이 단시간 참조 화상과 장시간 참조 화상 중 어느 것인지를 판별한다.
스텝 S752에서, 벡터 예측부(434)는 시간 상관 블록의 참조 화상이 단시간 참조 화상과 장시간 참조 화상 중 어느 것인지를 판별한다.
스텝 S753에서, 벡터 예측부(434)는 스텝 S751의 판별 결과에 기초하여, 부호화 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
부호화 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S754로 진행한다. 스텝 S754에서, 벡터 예측부(434)는, 또한 스텝 S752의 판별 결과에 기초하여, 시간 상관 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
시간 상관 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S755로 진행한다. 이 경우, 부호화 블록과 시간 상관 블록의 움직임(시차) 벡터는, 모두 장시간 참조 화상이다. 따라서, 스텝 S755에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터를 후보에 포함시키고, 스케일링이 불필요하다고 설정한다. 스텝 S755의 처리가 종료되면, 처리는 도 69로 되돌아간다.
또한, 도 70의 스텝 S754에서, 시간 상관 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S756으로 진행한다. 이 경우, 부호화 블록과 시간 상관 블록에서 움직임(시차) 벡터의 타입이 일치하지 않는다. 따라서, 스텝 S756에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터를 후보에서 제외한다고 설정한다. 스텝 S756의 처리가 종료되면, 처리는 도 69로 되돌아간다.
또한, 도 70의 스텝 S753에서, 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S757로 진행한다. 스텝 S757에서, 벡터 예측부(434)는, 또한 스텝 S752의 판별 결과에 기초하여, 시간 상관 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
시간 상관 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S756으로 되돌아간다. 즉, 이 경우, 부호화 블록과 시간 상관 블록에서 움직임(시차) 벡터의 타입이 일치하지 않으므로, 시간 상관 블록의 움직임(시차) 벡터는 후보에서 제외되도록 설정된다.
또한, 스텝 S757에서, 시간 상관 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S758로 진행한다. 이 경우, 부호화 블록과 시간 상관 블록의 움직임(시차) 벡터는, 모두 단시간 참조 화상이다. 따라서, 스텝 S758에서, 벡터 예측부(434)는 시간 상관 블록의 움직임(시차) 벡터를 후보에 포함하고, 또한 스케일링이 필요하다고 설정한다. 스텝 S758의 처리가 종료되면, 처리는 도 69로 되돌아간다.
이어서, 도 67의 스텝 S705에서 실행되는 AMVP 모드 처리의 흐름의 예를, 도 71의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(433)(도 38)는 스텝 S761에서, 공간적으로 주변 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성한다.
스텝 S762에서, 벡터 예측부(433)는 움직임(시차) 벡터의 후보 리스트를 생성한다. 이 후보 리스트의 요소수를 A라 한다.
스텝 S763에서, 벡터 예측부(433)는 후보 리스트의 요소수 A가 2보다 작은지 여부(A<2인지 여부)를 판정한다.
후보 리스트의 요소수 A가 2보다 작다고(A<2임) 판정된 경우, 처리는 스텝 S764로 진행한다. 스텝 S764에서, 벡터 예측부(433)는 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성한다. 이 처리는, 도 69의 플로우차트를 참조하여 설명한 경우와 마찬가지이므로, 그 설명은 생략한다.
스텝 S765에서, 벡터 예측부(433)는 움직임(시차) 벡터와 참조 인덱스의 후보 리스트를 생성한다. 이 후보 리스트의 요소수를 A'라 한다.
스텝 S766에서, 벡터 예측부(433)는 후보 리스트의 요소수 A'가 2보다 작은지 여부(A'<2인지 여부)를 판정한다.
후보 리스트의 요소수 A'가 2보다 작다고(A'<2임) 판정된 경우, 처리는 스텝 S767로 진행한다. 스텝 S767에서, 벡터 예측부(433)는 제로 움직임(시차) 벡터와 제로 참조 인덱스를 새롭게 생성한다. 스텝 S767의 처리가 종료되면, 처리는 스텝 S768로 진행한다.
또한, 스텝 S763에서, 후보 리스트의 요소수 A가 2이상이라고(A<2가 아님) 판정된 경우, 처리는 스텝 S768로 진행한다. 또한, 스텝 S766에서, 후보 리스트의 요소수 A'가 2이상이라고(A<2가 아님) 판정된 경우, 처리는 스텝 S768로 진행한다.
스텝 S768에서, 벡터 예측부(433)는 후보 리스트의 요소 인덱스(플래그)를 생성한다.
스텝 S769에서, 벡터 예측부(433)는 요소 인덱스가 지시하는 움직임(시차) 벡터를 취득한다. 스텝 S769의 처리가 종료되면, 처리는 도 67로 되돌아간다.
이어서, 도 71의 스텝 S761에서 실행되는, 공간적으로 주변 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성하는 처리의 흐름의 예를, 도 72의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(433)는 스텝 S771에서, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성한다.
스텝 S772에서, 벡터 예측부(433)는 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성한다.
스텝 S722의 처리가 종료되면, 처리는 도 71로 되돌아간다.
이어서, 도 72의 스텝 S771에서 실행되는, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 73 및 도 74의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(433)는 스텝 S781에서, 위치 A0의 블록을 선택한다.
스텝 S782에서, 벡터 예측부(433)는 위치 A0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 A0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S783으로 진행한다. 스텝 S783에서, 벡터 예측부(433)는 위치 A0의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있는지 여부를 판정한다.
위치 A0의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S784로 진행한다. 스텝 S784에서, 벡터 예측부(433)는 위치 A0의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S784의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 73의 스텝 S782에서, 위치 A0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S785로 진행한다. 또한, 스텝 S783에서, 위치 A0의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S785로 진행한다.
스텝 S785에서, 벡터 예측부(433)는 위치 A1의 블록을 선택한다.
스텝 S786에서, 벡터 예측부(433)는 위치 A1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 A1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S787로 진행한다. 스텝 S787에서, 벡터 예측부(433)는 위치 A1의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있는지 여부를 판정한다.
위치 A1의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S788로 진행한다. 스텝 S788에서, 벡터 예측부(433)는 위치 A1의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S788의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 73의 스텝 S786에서, 위치 A1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 74의 스텝 S791로 진행한다. 또한, 도 73의 스텝 S787에서, 위치 A1의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 도 74의 스텝 S791로 진행한다.
도 74의 스텝 S791에서, 벡터 예측부(433)는 위치 A0의 블록을 선택한다.
스텝 S792에서, 벡터 예측부(433)는 위치 A0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 A0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S793으로 진행한다. 스텝 S793에서, 벡터 예측부(433)는 위치 A0의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S793의 처리가 종료되면, 처리는 스텝 S797로 진행한다.
또한, 도 74의 스텝 S792에서, 위치 A0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S794로 진행한다.
스텝 S794에서, 벡터 예측부(433)는 위치 A1의 블록을 선택한다.
스텝 S795에서, 벡터 예측부(433)는 위치 A1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 A0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 72로 되돌아간다.
또한, 도 74의 스텝 S795에서, 위치 A1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S796으로 진행한다. 스텝 S796에서, 벡터 예측부(433)는 위치 A1의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S796의 처리가 종료되면, 처리는 스텝 S797로 진행한다.
스텝 S797에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무를 판정한다.
스텝 S798에서, 벡터 예측부(433)는 스텝 S797의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터를 후보에서 제외할지 여부를 판정한다.
후보에서 제외한다고 판정된 경우, 처리는 스텝 S799로 진행한다. 스텝 S799에서, 벡터 예측부(433)는 좌측 위치 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S799의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 74의 스텝 S798에서, 후보에서 제외하지 않는다고(후보에 포함시킴) 판정된 경우, 처리는 스텝 S800으로 진행한다.
스텝 S800에서, 벡터 예측부(433)는 스텝 S797의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터에 대해서 스케일링이 필요한지 여부를 판정한다.
스케일링이 필요하다고 판정된 경우, 처리는 스텝 S801로 진행한다. 스텝 S801에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터에 대해서 스케일링 처리를 행한다. 스텝 S801의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 74의 스텝 S800에서, 스케일링이 필요하지 않다고 판정된 경우, 처리는 도 72로 되돌아간다.
이어서, 도 74의 스텝 S797에서 실행되는, 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리의 흐름의 예를, 도 75의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(433)는 스텝 S811에서, 부호화 블록의 참조 화상이 단시간 참조 화상과 장시간 참조 화상 중 어느 것인지를 판별한다.
스텝 S812에서, 벡터 예측부(433)는 주변 블록의 참조 화상이 단시간 참조 화상과 장시간 참조 화상 중 어느 것인지를 판별한다.
스텝 S813에서, 벡터 예측부(433)는 스텝 S811의 판별 결과에 기초하여, 부호화 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
부호화 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S814로 진행한다. 스텝 S814에서, 벡터 예측부(433)는, 또한 스텝 S812의 판별 결과에 기초하여, 주변 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
주변 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S815로 진행한다. 이 경우, 부호화 블록과 주변 블록의 움직임(시차) 벡터는, 모두 장시간 참조 화상이다. 따라서, 스텝 S815에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터를 후보에 포함시키고, 스케일링이 불필요하다고 설정한다. 스텝 S815의 처리가 종료되면, 처리는 도 74로 되돌아간다.
또한, 도 75의 스텝 S814에서, 주변 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S816으로 진행한다. 이 경우, 부호화 블록과 주변 블록에서 움직임(시차) 벡터의 타입이 일치하지 않는다. 따라서, 스텝 S816에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터를 후보에서 제외한다고 설정한다. 스텝 S816의 처리가 종료되면, 처리는 도 74로 되돌아간다.
또한, 도 75의 스텝 S813에서, 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S817로 진행한다. 스텝 S817에서, 벡터 예측부(433)는, 또한 스텝 S812의 판별 결과에 기초하여, 주변 블록의 참조 화상이 장시간 참조 화상인지 여부를 판정한다.
주변 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S816으로 되돌아간다. 즉, 이 경우, 부호화 블록과 주변 블록에서 움직임(시차) 벡터의 타입이 일치하지 않으므로, 주변 블록의 움직임(시차) 벡터는 후보에서 제외되도록 설정된다.
또한, 스텝 S817에서, 주변 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S818로 진행한다. 이 경우, 부호화 블록과 주변 블록의 움직임(시차) 벡터는, 모두 단시간 참조 화상이다. 따라서, 스텝 S818에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터를 후보에 포함시키고, 또한 스케일링이 필요하다고 설정한다. 스텝 S818의 처리가 종료되면, 처리는 도 74로 되돌아간다.
이어서, 도 72의 스텝 S772에서 실행되는, 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 76 및 도 77의 플로우차트를 참조하여 설명한다.
처리가 개시되면, 벡터 예측부(433)는 스텝 S821에서, 위치 B0의 블록을 선택한다.
스텝 S822에서, 벡터 예측부(433)는 위치 B0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S823으로 진행한다. 스텝 S823에서, 벡터 예측부(433)는 위치 B0의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있는지 여부를 판정한다.
위치 B0의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S824로 진행한다. 스텝 S824에서, 벡터 예측부(433)는 위치 B0의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S824의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 76의 스텝 S822에서, 위치 B0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S825로 진행한다. 또한, 스텝 S823에서, 위치 B0의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S825로 진행한다.
스텝 S825에서, 벡터 예측부(433)는 위치 B1의 블록을 선택한다.
스텝 S826에서, 벡터 예측부(433)는 위치 B1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S827로 진행한다. 스텝 S827에서, 벡터 예측부(433)는 위치 B1의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있는지 여부를 판정한다.
위치 B1의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S828로 진행한다. 스텝 S828에서, 벡터 예측부(433)는 위치 B1의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S828의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 76의 스텝 S826에서, 위치 B1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S829로 진행한다. 또한, 스텝 S827에서, 위치 B1의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S829로 진행한다.
스텝 S829에서, 벡터 예측부(433)는 위치 B2의 블록을 선택한다.
스텝 S830에서, 벡터 예측부(433)는 위치 B2의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B2의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S831로 진행한다. 스텝 S831에서, 벡터 예측부(433)는 위치 B2의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있는지 여부를 판정한다.
위치 B2의 블록이 부호화 블록과 동일한 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S832로 진행한다. 스텝 S832에서, 벡터 예측부(433)는 위치 B2의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S832의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 76의 스텝 S830에서, 위치 B2의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 77의 스텝 S841로 진행한다. 또한, 도 76의 스텝 S831에서, 위치 B2의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 도 77의 스텝 S841로 진행한다.
도 77의 스텝 S841에서, 벡터 예측부(433)는 좌측 위치의 블록으로부터 움직임(시차) 벡터의 후보가 생성되어 있는지를 판정한다.
스텝 S842에서, 벡터 예측부(433)는 위치 B0의 블록을 선택한다.
스텝 S843에서, 벡터 예측부(433)는 위치 B0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S844로 진행한다. 스텝 S844에서, 벡터 예측부(433)는 위치 B0의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S844의 처리가 종료되면, 처리는 스텝 S851로 진행한다.
또한, 스텝 S843에서, 위치 B0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S845로 진행한다.
스텝 S845에서, 벡터 예측부(433)는 위치 B1의 블록을 선택한다.
스텝 S846에서, 벡터 예측부(433)는 위치 B1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S847로 진행한다. 스텝 S847에서, 벡터 예측부(433)는 위치 B1의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S847의 처리가 종료되면, 처리는 스텝 S851로 진행한다.
또한, 스텝 S846에서, 위치 B1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S848로 진행한다.
스텝 S848에서, 벡터 예측부(433)는 위치 B2의 블록을 선택한다.
스텝 S849에서, 벡터 예측부(433)는 위치 B2의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
스텝 S849에서, 위치 B2의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 72로 되돌아간다.
또한, 위치 B2의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S850으로 진행한다. 스텝 S850에서, 벡터 예측부(433)는 위치 B2의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S850의 처리가 종료되면, 처리는 스텝 S851로 진행한다.
스텝 S851에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무를 판정한다. 이 처리는, 도 75의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해지므로, 그 설명은 생략한다. 또한, 이 경우에 있어서, 도 75의 처리가 종료했을 때, 처리는 도 74가 아닌, 도 77로 되돌아간다.
스텝 S852에서, 벡터 예측부(433)는 스텝 S851의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터를 후보에서 제외할지 여부를 판정한다.
후보에서 제외한다고 판정된 경우, 처리는 스텝 S853으로 진행한다. 스텝 S853에서, 벡터 예측부(433)는 상측 위치 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S853의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 77의 스텝 S852에서, 후보에서 제외하지 않는다고(후보에 포함시킴) 판정된 경우, 처리는 스텝 S854로 진행한다.
스텝 S854에서, 벡터 예측부(433)는 스텝 S851의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터에 대해서 스케일링이 필요한지 여부를 판정한다.
스케일링이 필요하다고 판정된 경우, 처리는 스텝 S855로 진행한다. 스텝 S855에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터에 대해서 스케일링 처리를 행한다. 스텝 S855의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 77의 스텝 S854에서, 스케일링이 필요하지 않다고 판정된 경우, 처리는 도 72로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 화상 부호화 장치(400)는 부호화 효율의 저감을 억제할 수 있다.
[복호 시의 처리의 흐름]
이상과 같이 부호화되어 얻어진 부호화 데이터를 정확하게 복호하기 위해서는, 복호측에 있어서도, 부호화측과 마찬가지의 방법으로 예측을 행하면 된다. 즉, 복호측에 있어서도, 부호화 벡터와 예측 벡터의 참조 픽처의 타입(단시간 참조 픽처 또는 장시간 참조 픽처)이 다를 때, 그 예측 벡터를 사용 불가(Not available)로 하도록 한다.
즉, 예를 들어 부호화 블록의 참조 화상과 시간 상관 블록의 참조 화상의 타입이 일치하는 경우, 즉 모두 단시간 참조 화상이거나, 또는 모두 장시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터를 후보로 하고, 양자의 타입이 일치하지 않는 경우, 후보에서 제외하도록 한다. 또한, 부호화 블록의 참조 화상과 시간 상관 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 양자가 모두 장시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
또한, 예를 들어 부호화 블록의 참조 화상과 주변 블록의 참조 화상의 타입이 일치하는 경우, 즉 모두 단시간 참조 화상이거나, 또는 모두 장시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터를 후보로 하고, 양자의 타입이 일치하지 않는 경우, 후보에서 제외하도록 한다. 또한, 부호화 블록의 참조 화상과 주변 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 양자가 모두 장시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
이와 같이 함으로써, 부호화 효율의 저감의 억제를 실현할 수 있다.
이러한 제어를 실현하기 위한 부호화 시의 처리의 흐름의 예에 대해서, 이하에 설명한다. 또한, 이러한 제어는, 제4 실시 형태에 있어서 설명한 화상 복호 장치(500)(도 47)에 의해 실현할 수 있다.
화상 복호 장치(500)에 의한 복호 처리는, 도 33의 플로우차트를 참조하여 설명한 경우(제2 실시 형태)와 마찬가지로 행해진다. 또한, 도 33의 스텝 S305의 예측 처리는, 도 34의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해진다.
도 34의 스텝 S334에서 실행되는 움직임 시차 보상 처리에 상당하는 처리로서, 움직임 보상부(512)가 실행하는 PU의 움직임(시차) 벡터와 참조 인덱스 생성 처리의 흐름의 예를, 도 78의 플로우차트를 참조하여 설명한다.
이 처리는, 부호화측 처리(도 67)의 경우와 기본적으로 마찬가지로 행해진다. 단, 예측 모드는 부호화측에 의해 결정되어 있으므로, 복호측에 있어서는, 그 사용된 예측 모드에 대해서만 처리를 행하면 된다.
처리가 개시되면, 스텝 S861에서, 가역 복호부(302)는 부호화측으로부터 공급되는 예측 모드를 복호한다.
스텝 S862에서, 모드 판정부(531)는 예측 모드가 머지(스킵) 모드인지 여부를 판정한다.
머지(스킵) 모드라고 판정된 경우, 처리는 스텝 S863으로 진행한다. 스텝 S863에서, 참조 인덱스 결정부(532) 및 벡터 복호부(534)는 머지(스킵) 모드의 처리를 행하여, 움직임(시차) 벡터와 참조 인덱스를 생성한다. 스텝 S863의 처리가 종료되면, 처리는 도 34로 되돌아간다.
또한, 도 78의 스텝 S862에서, 머지(스킵) 모드가 아니라고 판정된 경우, 처리는 스텝 S863으로 진행한다. 스텝 S864에서, 벡터 복호부(533)는 잔차 움직임(시차) 벡터와 참조 인덱스를 복호한다. 스텝 S865에서, 벡터 복호부(533)는 AMVP 모드의 처리를 행하여, 예측 움직임(시차) 벡터를 생성한다. 스텝 S866에서, 벡터 복호부(533)는 잔차 움직임(시차) 벡터와 예측 움직임(시차) 벡터를 가산한다. 스텝 S866의 처리가 종료되면, 처리는 도 34로 되돌아간다.
이어서, 도 78의 스텝 S863에서 실행되는 머지(스킵) 모드 처리의 흐름의 예를, 도 79의 플로우차트를 참조하여 설명한다. 이 처리는, 기본적으로 부호화측의 처리(도 68)와 기본적으로 마찬가지로 행해진다.
스텝 S871 내지 스텝 S874의 각 처리는, 도 68의 스텝 S711 내지 스텝 S714의 각 처리와 마찬가지로 실행된다. 단, 스텝 S871 및 스텝 S872의 각 처리는, 참조 인덱스 결정부(532)가 행하고, 스텝 S873 및 스텝 S874의 각 처리는, 벡터 복호부(534)가 행한다.
스텝 S875에서, 벡터 복호부(534)는 후보 리스트의 최대수 X를 복호한다.
스텝 S876 내지 스텝 S880의 각 처리는, 도 68의 스텝 S716 내지 스텝 S720의 각 처리와 마찬가지로 실행된다. 단, 이들의 처리는, 벡터 복호부(534)가 실행한다.
스텝 S881에서, 벡터 복호부(534)는 후보 리스트의 요소 인덱스를 복호한다. 스텝 S882에서, 벡터 복호부(534)는 요소 인덱스가 지시하는 움직임(시차) 벡터와 참조 인덱스를 취득한다. 스텝 S882의 처리가 종료되면, 처리는 도 78로 되돌아간다.
이어서, 도 79의 스텝 S873에서 실행되는 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 80의 플로우차트를 참조하여 설명한다. 이 처리는, 기본적으로 부호화측의 처리(도 69)와 기본적으로 마찬가지로 행해진다.
처리가 개시되면, 벡터 복호부(534)는 스텝 S891에서, 시간 상관 픽처를 지정하는 인덱스를 복호한다.
스텝 S892 내지 스텝 S902의 각 처리는, 도 69의 스텝 S732 내지 스텝 S742의 각 처리와 마찬가지로 실행된다. 단, 이들의 처리는, 벡터 복호부(534)가 실행한다.
도 80의 스텝 S899에서 실행되는, 시간 상관 블록의 움직임(시차) 벡터의 스케일링 처리의 유무와 후보의 유무의 판정 처리는, 도 70의 플로우차트를 참조하여 설명한 경우와 마찬가지로 실행되므로, 그 설명은 생략한다. 단, 이 경우, 처리는 벡터 복호부(534)가 실행하고, 도 70의 처리가 종료했을 때는, 처리는 도 80으로 되돌아간다.
이어서, 도 78의 스텝 S865에서 실행되는 AMVP 모드 처리의 흐름의 예를, 도 81의 플로우차트를 참조하여 설명한다. 이 처리는, 기본적으로 부호화측의 처리(도 71)와 기본적으로 마찬가지로 행해진다. 스텝 S911 내지 스텝 S917의 각 처리는, 도 71의 스텝 S761 내지 스텝 S767의 각 처리와 마찬가지로 실행된다. 단, 이들의 처리는, 벡터 복호부(533)가 실행한다.
스텝 S918에서, 벡터 복호부(533)는 후보 리스트의 요소 인덱스(플래그)를 복호한다. 스텝 S919에서, 벡터 복호부(533)는 요소 인덱스가 지시하는 움직임(시차) 벡터를 취득한다. 스텝 S919의 처리가 종료되면, 처리는 도 78로 되돌아간다.
또한, 도 81의 스텝 S911에서 실행되는, 공간적으로 주변 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성하는 처리는, 도 72 내지 도 77의 각 플로우차트를 참조하여 설명한 경우와 마찬가지로 실행되므로, 그 설명은 생략한다. 단, 이 경우, 처리는 벡터 복호부(533)가 실행하고, 도 72의 처리가 종료했을 때는, 처리는 도 81로 되돌아간다.
또한, 도 81의 스텝 S914에서 실행되는, 시간 상관 블록으로부터 후보로 되는 움직임(시차) 벡터를 생성하는 처리는, 도 80의 플로우차트를 참조하여 설명한 경우와 마찬가지로 실행되므로, 그 설명은 생략한다. 단, 이 경우, 처리는 벡터 복호부(533)가 실행하고, 도 80의 처리가 종료했을 때는, 처리는 도 81로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 화상 복호 장치(500)는 부호화 데이터를 정확하게 복호할 수 있고, 부호화 효율의 저감의 억제를 실현할 수 있다.
[움직임(시차) 벡터의 취급의 정리]
이상의 예의 경우, AMVP 모드에서, 주변 블록으로부터 움직임(시차) 벡터를 생성할 때, 예를 들어 좌측 위치의 주변 블록에 대해서는, 위치 A0, 위치 A1의 순으로 움직임(시차) 벡터가 검색되고, 발견된 시점에서 처리가 종료된다. 마찬가지로, 예를 들어 상측 위치의 주변 블록에 대해서는, 위치 B0, 위치 B1, 위치 B2의 순으로 움직임(시차) 벡터가 검색되고, 발견된 시점에서 처리가 종료된다. 이 경우, 움직임(시차) 벡터가 후보가 될 수 있는지 여부는, 그 후에 판정되므로, 예를 들어 어떤 위치에서 발견된 움직임(시차) 벡터가 후보로 될 수 없는 경우에도, 그 후의 위치의 움직임(시차) 벡터의 검색은 행해지지 않는다.
주변 블록으로부터 움직임(시차) 벡터를 생성하는 방법은, 이것에 제한하지 않는다. 예를 들어, 위치 A0 및 위치 A1, 또는 위치 B0, 위치 B1 및 위치 B2 모두에 대해서 움직임(시차) 벡터를 후보로 할 수 있는지 여부를 판정하도록 해도 된다. 즉, 각 위치의 주변 블록에 대해서, 각각 후보의 유무를 판정하고, 마지막으로 통합하여 스케일링 처리의 유무를 판정하도록 한다.
이와 같이 함으로써, 상술한 예보다도 처리가 복잡해지지만, 각 위치의 움직임(시차) 벡터에 대해서, 후보에 포함시킬지 여부를 판정할 수 있다. 즉, 보다 적절한 후보를 검색할 수 있어, 부호화 효율을 보다 향상시킬 수 있다.
도 82는 주변 블록의 취급의 예를 설명하는 도면이다. 벡터의 예측에 있어서, 우선 각 위치의 주변 블록에 대해서, 주변 블록의 움직임(시차) 벡터를 후보 벡터에 포함시킬지 여부가, 도 82의 A에 나타나는 표와 같이 결정된다.
즉, 예를 들어 부호화 블록의 참조 화상과 주변 블록의 참조 화상의 타입이 일치하는 경우, 즉 모두 단시간 참조 화상이거나, 또는 모두 장시간 참조 화상인 경우, 시간 상관 블록의 움직임(시차) 벡터를 후보로 하고, 양자의 타입이 일치하지 않는 경우, 후보에서 제외하도록 한다.
후보가 선택된 후, 그 후보 벡터에 대해서, 스케일링을 행할지 여부가, 도 82의 B에 나타나는 표와 같이 결정된다.
즉, 예를 들어 부호화 블록의 참조 화상과 주변 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 그 이외의 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
[부호화 시의 처리의 흐름]
이 경우의, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 83 및 도 84의 플로우차트를 참조하여 설명한다. 또한, 도 67 내지 도 72의 플로우차트를 참조하여 설명한 각 처리는, 이 경우도 마찬가지로 실행되기 때문에, 이들의 처리에 관한 설명은 생략한다.
도 83의 스텝 S921 내지 스텝 S928의 각 처리는, 도 73의 스텝 S781 내지 스텝 S788의 각 처리와 마찬가지로 실행된다. 스텝 S924 또는 스텝 S928의 처리가 종료되면, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다. 또한, 스텝 S926에서 위치 A1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 또는 스텝 S927에서 위치 A1의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 도 84의 스텝 S931로 진행한다.
도 84의 스텝 S931에서, 벡터 예측부(433)는 위치 A0의 블록을 선택한다.
스텝 S932에서, 벡터 예측부(433)는 위치 A0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 A0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S933으로 진행한다. 스텝 S933에서, 벡터 예측부(433)는 위치 A0의 블록의 움직임(시차) 벡터의 후보의 유무를 판정한다.
스텝 S934에서, 벡터 예측부(433)는 스텝 S933의 판정 결과에 기초하여, 후보를 포함하는지 여부를 판정한다.
후보를 포함한다고 판정한 경우, 처리는 스텝 S935로 진행한다. 스텝 S935에서, 벡터 예측부(433)는 위치 A0의 움직임(시차) 벡터를 후보로 한다. 스텝 S935의 처리가 종료되면, 처리는 스텝 S943으로 진행한다.
또한, 스텝 S934에서, 후보를 포함하지 않는다고 판정된 경우, 처리는 스텝 S936으로 진행한다. 스텝 S936에서, 벡터 예측부(433)는 위치 A0의 블록의 움직임(시차) 벡터를 후보에서 제외한다.
스텝 S936의 처리가 종료되면, 처리는 스텝 S937로 진행한다. 또한, 스텝 S932에서, 위치 A0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S937로 진행한다.
스텝 S937에서, 벡터 예측부(433)는 위치 A1의 블록을 선택한다.
스텝 S938에서, 벡터 예측부(433)는 위치 A1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다. 위치 A1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다.
또한, 도 84의 스텝 S938에서, 위치 A1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S939로 진행한다. 스텝 S939에서, 벡터 예측부(433)는 위치 A1의 블록의 움직임(시차) 벡터의 후보의 유무를 판정한다.
스텝 S940에서, 벡터 예측부(433)는 스텝 S939의 판정 결과에 기초하여, 후보를 포함하는지 여부를 판정한다.
후보를 포함한다고 판정한 경우, 처리는 스텝 S941로 진행한다. 스텝 S941에서, 벡터 예측부(433)는 위치 A1의 움직임(시차) 벡터를 후보로 한다. 스텝 S941의 처리가 종료되면, 처리는 스텝 S943으로 진행한다.
또한, 스텝 S940에서, 후보를 포함하지 않는다고 판정된 경우, 처리는 스텝 S942로 진행한다. 스텝 S942에서, 벡터 예측부(433)는 위치 A1의 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S942의 처리가 종료되면, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다.
도 84의 스텝 S943에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무를 판정한다.
스텝 S944에서, 벡터 예측부(433)는 스텝 S943의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터에 대해서 스케일링이 필요한지 여부를 판정한다.
스케일링이 필요하다고 판정된 경우, 처리는 스텝 S945로 진행한다. 스텝 S945에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터에 대해서 스케일링 처리를 행한다. 스텝 S945의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 84의 스텝 S944에서, 스케일링이 필요하지 않다고 판정된 경우, 처리는 도 72로 되돌아간다.
이어서, 도 84의 스텝 S933 및 스텝 S939에서 실행되는, 주변 블록의 움직임(시차) 벡터의 후보의 유무의 판정 처리의 흐름의 예를, 도 85의 플로우차트를 참조하여 설명한다.
도 85의 스텝 S951 내지 스텝 S954, 및 스텝 S957의 각 처리는, 도 75의 스텝 S811 내지 스텝 S814, 및 스텝 S817의 각 처리와 마찬가지로 실행된다.
스텝 S953에서 부호화 블록의 참조 화상이 장시간 참조 화상이라고 판정되고, 스텝 S954에서 주변 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 벡터 예측부(433)는 스텝 S955에서, 주변 블록(위치 A0 또는 위치 A1의 블록)의 움직임(시차) 벡터를 후보에 포함시키도록 설정한다.
또한, 스텝 S953에서 부호화 블록의 참조 화상이 장시간 참조 화상이라고 판정되고, 스텝 S954에서 주변 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 또는 스텝 S953에서 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정되고, 스텝 S957에서 주변 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 부호화 블록과 주변 블록에서 참조 화상의 타입이 다르므로, 벡터 예측부(433)는 스텝 S956에서, 주변 블록(위치 A0 또는 위치 A1의 블록)의 움직임(시차) 벡터를 후보에서 제외하도록 설정한다.
또한, 스텝 S953에서 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정되고, 스텝 S957에서 주변 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 벡터 예측부(433)는 스텝 S958에서, 주변 블록(위치 A0 또는 위치 A1의 블록)의 움직임(시차) 벡터를 후보에 포함시키도록 설정한다.
스텝 S955, 스텝 S956, 또는 스텝 S958의 처리가 종료된 경우, 처리는 도 84로 되돌아간다.
이어서, 도 84의 스텝 S943에서 실행되는, 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무의 판정 처리의 흐름의 예를, 도 86의 플로우차트를 참조하여 설명한다.
도 86의 스텝 S961 내지 스텝 S963, 및 스텝 S965의 각 처리는, 도 75의 스텝 S811 내지 스텝 S813, 및 스텝 S817의 각 처리와 마찬가지로 실행된다.
스텝 S963에서 부호화 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 또는 스텝 S963에서 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정되어, 스텝 S965에서, 주변 블록의 참조 화상이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S964로 진행한다. 즉, 부호화 블록의 참조 화상과 주변 블록의 참조 화상 중, 적어도 어느 한쪽이 장시간 참조 화상이라고 판정된 경우, 처리는 스텝 S964로 진행한다.
스텝 S964에서, 벡터 예측부(433)는 스케일링이 불필요하다고 설정한다. 스텝 S964의 처리가 종료되면, 처리는 도 84로 되돌아간다.
또한, 도 86의 스텝 S963에서 부호화 블록의 참조 화상이 단시간 참조 화상이라고 판정되고, 스텝 S965에서, 주변 블록의 참조 화상이 단시간 참조 화상이라고 판정된 경우, 즉 부호화 블록과 주변 블록 모두 참조 화상이 단시간 참조 화상이라고 판정된 경우, 처리는 스텝 S966으로 진행한다.
스텝 S966에서, 벡터 예측부(433)는 스케일링이 필요하다고 설정한다. 스텝 S966의 처리가 종료되면, 처리는 도 84로 되돌아간다.
이어서, 이 경우의, 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 87 내지 도 89의 플로우차트를 참조하여 설명한다.
도 87의 스텝 S971 내지 스텝 S982의 각 처리는, 도 76의 스텝 S821 내지 스텝 S832의 각 처리와 마찬가지로 실행된다. 스텝 S974, 스텝 S978, 또는 스텝 S982의 처리가 종료되면, 처리는 도 89의 스텝 S1017로 진행한다. 또한, 스텝 S980에서 위치 B2의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 또는 스텝 S981에서 위치 B2의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 도 88의 스텝 S991로 진행한다.
도 88의 스텝 S991에서, 벡터 예측부(433)는 좌측 위치의 블록으로부터 움직임(시차) 벡터의 후보가 생성되어 있는지를 판정한다.
스텝 S992에서, 벡터 예측부(433)는 위치 B0의 블록을 선택한다.
스텝 S993에서, 벡터 예측부(433)는 위치 B0의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B0의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S994로 진행한다. 스텝 S994에서, 벡터 예측부(433)는 위치 B0의 블록의 움직임(시차) 벡터의 후보의 유무를 판정한다. 이 처리는, 도 85의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해지므로, 그 설명은 생략한다.
스텝 S995에서, 벡터 예측부(433)는 스텝 S994의 판정 결과에 기초하여, 후보를 제외할지 여부를 판정한다.
후보에서 제외한다고 판정한 경우, 처리는 스텝 S996으로 진행한다. 스텝 S996에서, 벡터 예측부(433)는 위치 B0의 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S996의 처리가 종료되면, 처리는 스텝 S998로 진행한다.
또한, 스텝 S995에서, 후보에서 제외하지 않는다고 판정된 경우, 처리는 스텝 S997로 진행한다. 스텝 S997에서, 벡터 예측부(433)는 위치 B0의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S997의 처리가 종료되면, 처리는 도 89의 스텝 S1017로 진행한다.
또한, 스텝 S993에서, 위치 B0의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 스텝 S998로 진행한다.
스텝 S998에서, 벡터 예측부(433)는 위치 B1의 블록을 선택한다.
스텝 S999에서, 벡터 예측부(433)는 위치 B1의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B1의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S1000으로 진행한다. 스텝 S1000에서, 벡터 예측부(433)는 위치 B1의 블록의 움직임(시차) 벡터의 후보의 유무를 판정한다. 이 처리는, 도 85의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해지므로, 그 설명은 생략한다.
스텝 S1001에서, 벡터 예측부(433)는 스텝 S1000의 판정 결과에 기초하여, 후보를 제외할지 여부를 판정한다.
후보에서 제외한다고 판정한 경우, 처리는 스텝 S1002로 진행한다. 스텝 S1002에서, 벡터 예측부(433)는 위치 B1의 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S1002의 처리가 종료되면, 처리는 도 89의 스텝 S1011로 진행한다.
또한, 도 88의 스텝 S1001에서, 후보에서 제외하지 않는다고 판정된 경우, 처리는 스텝 S1003으로 진행한다. 스텝 S1003에서, 벡터 예측부(433)는 위치 B1의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S1003의 처리가 종료되면, 처리는 도 89의 스텝 S1017로 진행한다.
또한, 스텝 S999에서, 위치 B1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 89의 스텝 S1011로 진행한다.
도 89의 스텝 S1011에서, 벡터 예측부(433)는 위치 B2의 블록을 선택한다.
스텝 S1012에서, 벡터 예측부(433)는 위치 B2의 블록이 인트라 모드 또는 사용 불가인지 여부를 판정한다.
위치 B2의 블록이 인트라 모드에서도 사용 불가가 아니라고 판정된 경우, 처리는 스텝 S1013으로 진행한다. 스텝 S1013에서, 벡터 예측부(433)는 위치 B2의 블록의 움직임(시차) 벡터의 후보의 유무를 판정한다. 이 처리는, 도 85의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해지므로, 그 설명은 생략한다.
스텝 S1014에서, 벡터 예측부(433)는 스텝 S1013의 판정 결과에 기초하여, 후보에서 제외할지 여부를 판정한다.
후보에서 제외한다고 판정한 경우, 처리는 스텝 S1015로 진행한다. 스텝 S1015에서, 벡터 예측부(433)는 위치 B2의 블록의 움직임(시차) 벡터를 후보에서 제외한다. 스텝 S1015의 처리가 종료되면, 처리는 스텝 S1017로 진행한다.
또한, 스텝 S1014에서, 후보에서 제외하지 않는다고 판정된 경우, 처리는 스텝 S1016으로 진행한다. 스텝 S1016에서, 벡터 예측부(433)는 위치 B2의 블록의 움직임(시차) 벡터를 후보로 한다. 스텝 S1016의 처리가 종료되면, 처리는 스텝 S1017로 진행한다.
스텝 S1017에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터의 스케일링 처리의 유무를 판정한다. 이 처리는, 도 86의 플로우차트를 참조하여 설명한 경우와 마찬가지로 행해지므로, 그 설명은 생략한다.
스텝 S1018에서, 벡터 예측부(433)는 스텝 S1017의 판정 결과에 기초하여, 주변 블록의 움직임(시차) 벡터에 대해서 스케일링이 필요한지 여부를 판정한다.
스케일링이 필요하다고 판정된 경우, 처리는 스텝 S1019로 진행한다. 스텝 S1019에서, 벡터 예측부(433)는 주변 블록의 움직임(시차) 벡터에 대해서 스케일링 처리를 행한다. 스텝 S1019의 처리가 종료되면, 처리는 도 72로 되돌아간다.
또한, 도 89의 스텝 S1018에서, 스케일링이 필요하지 않다고 판정된 경우, 처리는 도 72로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 화상 부호화 장치(400)는 부호화 효율의 저감을 억제할 수 있다.
또한, 화상 복호 장치(500)도, 상술한 화상 부호화 장치(400)과 마찬가지로, 이들의 처리를 실행하므로 그 설명은 생략한다. 이에 의해, 화상 복호 장치(500)는 부호화 데이터를 정확하게 복호할 수 있고, 부호화 효율의 저감의 억제를 실현할 수 있다.
[움직임(시차) 벡터의 취급의 정리]
이상에 있어서는, 도 66 내지 도 81을 참조하여 제1 예에 대해서 설명하고, 도 82 내지 도 89를 참조하여 제2 예에 대해서 설명하였다.
이들 이외에도, 예를 들어 제1 예에 있어서, 부호화 블록의 참조 화상과 주변 블록의 참조 화상이 양쪽 모두 장시간 참조 화상인 경우, 부호화 블록과 주변 블록이 동일한 참조 화상을 참조하고 있을 때만 주변 블록의 움직임(시차) 벡터를 후보로 하고, 그들이 서로 다른 참조 화상을 참조하고 있을 때는, 주변 블록의 움직임(시차) 벡터 후보에서 제외하고, 또한 검색 처리도 생략하도록 해도 된다.
상술한 바와 같이, 장시간 참조 화상은, 배경 화상과 같은 정지 영역이나 다른 뷰의 화상에 적용된다. 따라서, 부호화 블록의 참조 화상과 주변 블록의 참조 화상이 양쪽 모두, 이러한 장시간 참조 화상 임에도 불구하고, 굳이 그들이 서로 다른 화상인 것은, 그 참조 화상은, 서로의 상관성이 낮다고 생각된다. 즉, 부호화 블록과 주변 블록의 움직임(시차) 벡터의 상관성이 낮다고 생각된다.
따라서, 이러한 상관성이 낮을 가능성이 있는 패턴(부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상이며, 또한 양자가 서로 다른 화상인 경우)을 벡터의 후보에서 제외함으로써, 부호화 효율의 저감을 더 억제할 수 있다. 또한, 후보나 스케일링의 유무의 판정 처리를 생략함으로써, 처리의 부하를 저감시킬 수 있다.
도 90은 시간 상관 블록과 주변 블록의 취급의 다른 예를 설명하는 도면이다. 벡터의 예측에 있어서, 시간 상관 블록의 움직임(시차) 벡터를 후보 벡터에 포함시킬지 여부, 및 스케일링을 행할지 여부는, 도 90의 A에 나타나는 표와 같이 결정한다.
즉, 도 66의 A의 경우와 마찬가지이다.
또한, 벡터의 예측에 있어서, 주변 블록의 움직임(시차) 벡터를 후보 벡터에 포함시킬지 여부, 및 스케일링을 행할지 여부는, 도 90의 B에 나타나는 표와 같이 결정한다.
즉, 예를 들어 부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상인 경우, 그들의 참조 화상이 동일할 때만, 주변 블록의 움직임(시차) 벡터를 후보로 한다. 또한, 그들의 참조 화상이 서로 다른 경우, 주변 블록의 움직임(시차) 벡터를 후보에서 제외할뿐만 아니라, 후보나 스케일링의 유무의 판정 처리를 생략한다.
부호화 블록의 참조 화상과 주변 블록의 참조 화상이, 모두 단시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하도록 하고, 양자가 모두 장시간 참조 화상인 경우, 주변 블록의 움직임(시차) 벡터의 스케일링을 행하지 않도록 한다.
[부호화 시의 처리의 흐름]
이 경우의, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 91 및 도 92의 플로우차트를 참조하여 설명한다. 또한, 도 67 내지 도 72의 플로우차트를 참조하여 설명한 각 처리는, 이 경우도 마찬가지로 실행되기 때문에, 이들 처리에 관한 설명은 생략한다.
도 91의 스텝 S1031 내지 스텝 S1038의 각 처리는, 도 73의 스텝 S781 내지 스텝 S788의 각 처리와 기본적으로 마찬가지로 실행된다. 스텝 S1034 또는 스텝 S1038의 처리가 종료되면, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다. 또한, 스텝 S1035에서 위치 A1의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 92의 스텝 S1041로 진행한다.
그러나, 도 91의 스텝 S1037에서, 위치 A1의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S1039로 진행한다.
스텝 S1039에서, 벡터 예측부(433)는 부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상인지 여부를 판정한다.
부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상이라고 판정된 경우, 좌측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다.
또한, 부호화 블록과 주변 블록의 참조 화상 중 적어도 한쪽이 단시간 참조 화상이라고 판정된 경우, 처리는 도 92의 스텝 S1041로 진행한다.
도 92의 스텝 S1041 내지 스텝 S1051의 각 처리는, 도 74의 스텝 S791 내지 스텝 S799의 각 처리와 마찬가지로 실행된다.
즉, 부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상이라고 판정된 경우, 도 92의 처리가 모두 생략된다. 따라서, 처리의 부하를 저감시킬 수 있다.
이어서, 이 경우의, 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리의 흐름의 예를, 도 93 및 도 94의 플로우차트를 참조하여 설명한다.
도 93의 스텝 S1071 내지 스텝 S1082의 각 처리는, 도 76의 스텝 S821 내지 스텝 S832의 각 처리와 기본적으로 마찬가지로 실행된다. 스텝 S1074, 스텝 S1078, 또는 스텝 S1082의 처리가 종료되면, 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다. 또한, 스텝 S1080에서 위치 B2의 블록이 인트라 모드이거나 또는 사용 불가라고 판정된 경우, 처리는 도 94의 스텝 S1091로 진행한다.
그러나, 도 93의 스텝 S1081에서, 위치 B2의 블록이 부호화 블록과 다른 참조 화상을 참조하고 있다고 판정된 경우, 처리는 스텝 S1083으로 진행한다.
스텝 S1083에서, 벡터 예측부(433)는 부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상인지 여부를 판정한다.
부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상이라고 판정된 경우, 상측 위치의 블록으로부터 후보로 되는 움직임(시차) 벡터 생성 처리가 종료되고, 처리는 도 72로 되돌아간다.
또한, 부호화 블록과 주변 블록의 참조 화상 중 적어도 한쪽이 단시간 참조 화상이라고 판정된 경우, 처리는 도 94의 스텝 S1091로 진행한다.
도 94의 스텝 S1091 내지 스텝 S1105의 각 처리는, 도 77의 스텝 S841 내지 스텝 S855의 각 처리와 마찬가지로 실행된다.
즉, 부호화 블록과 주변 블록의 참조 화상이 모두 장시간 참조 화상이라고 판정된 경우, 도 94의 처리가 모두 생략된다. 따라서, 처리의 부하를 저감시킬 수 있다.
또한, 상술한 일련의 처리는, 다시점 화상 부호화·다시점 화상 복호(멀티 뷰의 인코더·디코더)에도 적용할 수 있다. 즉, 다시점 부호화·다시점 복호를 행하는 경우에 있어서도, 부호화 효율을 향상시킬 수 있다. 또한, 상술한 일련의 처리는, 계층 화상 부호화(공간 스케일러빌리티)·계층 화상 복호(멀티플레이어의 인코더·디코더)에도 적용할 수 있다. 즉, 계층 화상 부호화·계층 화상 복호를 행하는 경우에 있어서도, 부호화 효율을 향상시킬 수 있다.
또한, 상술한 일련의 처리는, 단시점 화상(1뷰)의, 소위 2D 화상에도 적용할 수 있다.
또한, 본 기술은 예를 들어 MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷, 또는 휴대 전화기 등의 네트워크 미디어를 통해서 수신 할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은 광, 자기 디스크, 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은 그들 화상 부호화 장치 및 화상 복호 장치 등에 포함되는 움직임 예측 보상 장치에도 적용할 수 있다.
<7. 제7 실시 형태>
[컴퓨터]
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한 범용 퍼스널 컴퓨터 등이 포함된다.
도 95에서, 퍼스널 컴퓨터(700)의 CPU(Central Processing Unit)(701)는, ROM(Read Only Memory)(702)에 기억되어 있는 프로그램, 또는 기억부(713)로부터 RAM(Random Access Memory)(703)에 로드된 프로그램에 따라서 각종 처리를 실행한다. RAM(703)에는, 또한 CPU(701)가 각종 처리를 실행하는 데에 있어서 필요한 데이터 등도 적절히 기억된다.
CPU(701), ROM(702) 및 RAM(703)은 버스(704)를 통해서 서로 접속되어 있다. 이 버스(704)에는, 또한 입출력 인터페이스(710)도 접속되어 있다.
입출력 인터페이스(710)에는, 키보드, 마우스 등으로 이루어지는 입력부(711), CRT(Cathode Ray Tube)나 LCD(Liquid Crystal Display) 등으로 이루어지는 디스플레이, 및 스피커 등으로 이루어지는 출력부(712), 하드 디스크 등으로 구성되는 기억부(713), 모뎀 등으로 구성되는 통신부(714)가 접속되어 있다. 통신부(714)는 인터넷을 포함하는 네트워크를 통한 통신 처리를 행한다.
입출력 인터페이스(710)에는, 또한 필요에 따라서 드라이브(715)가 접속되고, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(721)가 적절히 장착되고, 그들로부터 판독된 컴퓨터 프로그램이, 필요에 따라서 기억부(713)에 인스톨된다.
상술한 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 네트워크나 기록 매체로부터 인스톨된다.
이 기록 매체는, 예를 들어 도 95에 도시된 바와 같이, 장치 본체와는 별도로, 유저에 프로그램을 배신하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광자기 디스크(MD(Mini Disc)를 포함함), 또는 반도체 메모리 등으로 이루어지는 리무버블 미디어(721)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태에서 유저에게 배신되는, 프로그램이 기록되어 있는 ROM(702)이나, 기억부(713)에 포함되는 하드 디스크 등으로 구성된다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서를 따라 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 또는 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 명세서에 있어서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 기재된 순서를 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 디바이스(장치)에 의해 구성되는 장치 전체를 나타내는 것이다.
또한, 이상에 있어서, 하나의 장치(또는 처리부)로서 설명한 구성을 분할하고, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합해서 하나의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함시키도록 해도 된다. 즉, 본 기술은 상술한 실시 형태에 한정되는 것은 아니라, 본 기술의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.
<8. 제8 실시 형태>
상술한 실시 형태에 따른 화상 부호화 장치 및 화상 복호 장치는, 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신 및 셀룰러 통신에 의한 단말기에의 배신 등에 있어서의 송신기 또는 수신기, 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4가지 응용예에 대해서 설명한다.
[제1 응용예 : 텔레비전 수상기]
도 96은 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(909), 제어부(910), 유저 인터페이스(911) 및 버스(912)를 구비한다.
튜너(902)는 안테나(901)를 통해서 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(902)는 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)에 출력한다. 즉, 튜너(902)는 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(903)는 부호화 비트 스트림으로부터 시청 대상의 프로그램의 영상 스트림 및 음성 스트림을 분리하고, 분리한 각 스트림을 디코더(904)에 출력한다. 또한, 디멀티플렉서(903)는 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출한 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(904)는 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)에 출력한다. 또한, 디코더(904)는 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)에 출력한다.
영상 신호 처리부(905)는 디코더(904)로부터 입력되는 영상 데이터를 재생하고, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는 네트워크를 통하여 공급되는 어플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는 영상 데이터에 대해서, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행해도 된다. 또한, 영상 신호 처리부(905)는 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성한 화상을 출력 화상에 중첩해도 된다.
표시부(906)는 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되고, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic Electro Luminescence Display)(유기 EL 디스플레이) 등)의 영상면 상에 영상 또는 화상을 표시한다.
음성 신호 처리부(907)는 디코더(904)로부터 입력되는 음성 데이터에 대해서 D/A 변환 및 증폭 등의 재생 처리를 행하여, 스피커(908)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(907)는 음성 데이터에 대해서 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스(909)는 텔레비전 장치(900)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스(909)를 통해서 수신되는 영상 스트림 또는 음성 스트림이, 디코더(904)에 의해 복호되어도 된다. 즉, 외부 인터페이스(909)도, 또한 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
제어부(910)는 CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터 및 네트워크를 통하여 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(900)의 기동 시에 CPU에 의해 판독되고 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(911)로부터 입력되는 조작 신호에 따라서, 텔레비전 장치(900)의 동작을 제어한다.
유저 인터페이스(911)는 제어부(910)와 접속된다. 유저 인터페이스(911)는, 예를 들어 유저가 텔레비전 장치(900)를 조작하기 위한 버튼 및 스위치, 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스(911)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(910)에 출력한다.
버스(912)는 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스(909) 및 제어부(910)를 서로 접속한다.
이와 같이 구성된 텔레비전 장치(900)에 있어서, 디코더(904)는 상술한 실시 형태에 따른 화상 복호 장치의 기능을 갖는다. 그에 의해, 텔레비전 장치(900)에서의 화상의 복호 시에 있어서, 부호화 효율의 저감의 억제를 실현할 수 있다.
[제2 응용예 : 휴대 전화기]
도 97은 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(920)는 안테나(921), 통신부(922), 음성 코덱(923), 스피커(924), 마이크로폰(925), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 제어부(931), 조작부(932) 및 버스(933)를 구비한다.
안테나(921)는 통신부(922)에 접속된다. 스피커(924) 및 마이크로폰(925)은 음성 코덱(923)에 접속된다. 조작부(932)는 제어부(931)에 접속된다. 버스(933)는 통신부(922), 음성 코덱(923), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930) 및 제어부(931)를 서로 접속한다.
휴대 전화기(920)는 음성 통화 모드, 데이터 통신 모드, 촬영 모드 및 텔레비전 전화 모드를 포함하는 여러가지 동작 모드로, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에서, 마이크로폰(925)에 의해 생성되는 아날로그 음성 신호는, 음성 코덱(923)에 공급된다. 음성 코덱(923)은 아날로그 음성 신호를 음성 데이터로 변환하고, 변환된 음성 데이터를 A/D 변환하고 압축한다. 그리고, 음성 코덱(923)은 압축 후의 음성 데이터를 통신부(922)에 출력한다. 통신부(922)는 음성 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는 생성한 송신 신호를, 안테나(921)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(922)는 안테나(921)를 통해서 수신되는 무선 신호를 증폭하거나 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는 수신 신호를 복조 및 복호하여 음성 데이터를 생성하고, 생성한 음성 데이터를 음성 코덱(923)에 출력한다. 음성 코덱(923)은 음성 데이터를 신장 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은 생성한 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
또한, 데이터 통신 모드에서, 예를 들어 제어부(931)는 조작부(932)를 통한 유저에 의한 조작에 따라서, 전자 메일을 구성하는 문자 데이터를 생성한다. 또한, 제어부(931)는 문자를 표시부(930)에 표시시킨다. 또한, 제어부(931)는 조작부(932)를 통한 유저로부터의 송신 지시에 따라서 전자 메일 데이터를 생성하고, 생성한 전자 메일 데이터를 통신부(922)에 출력한다. 통신부(922)는 전자 메일 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는 생성한 송신 신호를, 안테나(921)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(922)는 안테나(921)를 통해서 수신되는 무선 신호를 증폭하거나 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는 수신 신호를 복조 및 복호하여 전자 메일 데이터를 복원하고, 복원한 전자 메일 데이터를 제어부(931)에 출력한다. 제어부(931)는 표시부(930)에 전자 메일의 내용을 표시시킴과 함께, 전자 메일 데이터를 기록 재생부(929)의 기억 매체에 기억시킨다.
기록 재생부(929)는 판독 기입 가능한 임의의 기억 매체를 갖는다. 예를 들어, 기억 매체는, RAM 또는 플래시 메모리 등의 내장형 기억 매체여도 되고, 하드 디스크, 자기 디스크, 광자기 디스크, 광 디스크, USB(Unallocated Space Bitmap) 메모리, 또는 메모리 카드 등의 외부 장착형 기억 매체여도 된다.
또한, 촬영 모드에서, 예를 들어 카메라부(926)는 피사체를 촬상하여 화상 데이터를 생성하고, 생성한 화상 데이터를 화상 처리부(927)에 출력한다. 화상 처리부(927)는 카메라부(926)로부터 입력되는 화상 데이터를 부호화하여, 부호화 스트림을 기억 재생부(929)의 기억 매체에 기억시킨다.
또한, 텔레비전 전화 모드에서, 예를 들어 다중 분리부(928)는 화상 처리부(927)에 의해 부호화된 영상 스트림과, 음성 코덱(923)으로부터 입력되는 음성 스트림을 다중화하고, 다중화한 스트림을 통신부(922)에 출력한다. 통신부(922)는 스트림을 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는 생성한 송신 신호를, 안테나(921)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(922)는 안테나(921)를 통해서 수신되는 무선 신호를 증폭하거나 및 주파수 변환하고, 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호에는, 부호화 비트 스트림이 포함될 수 있다. 그리고, 통신부(922)는 수신 신호를 복조 및 복호하여 스트림을 복원하고, 복원한 스트림을 다중 분리부(928)에 출력한다. 다중 분리부(928)는 입력되는 스트림으로부터 영상 스트림 및 음성 스트림을 분리하고, 영상 스트림을 화상 처리부(927), 음성 스트림을 음성 코덱(923)에 출력한다. 화상 처리부(927)는 영상 스트림을 복호하고, 영상 데이터를 생성한다. 영상 데이터는, 표시부(930)에 공급되고, 표시부(930)에 의해 일련의 화상이 표시된다. 음성 코덱(923)은 음성 스트림을 신장하거나 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은 생성한 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
이와 같이 구성된 휴대 전화기(920)에 있어서, 화상 처리부(927)는, 상술한 실시 형태에 따른 화상 부호화 장치 및 화상 복호 장치의 기능을 갖는다. 그에 의해, 휴대 전화기(920)에서의 화상의 부호화 및 복호 시에 있어서, 부호화 효율의 저감을 억제할 수 있다.
[제3 응용예 : 기록 재생 장치]
도 98은 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(940)는, 예를 들어 수신한 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록해도 된다. 또한, 기록 재생 장치(940)는, 예를 들어 유저의 지시에 따라서, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커 상에서 재생한다. 이때, 기록 재생 장치(940)는 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는 튜너(941), 외부 인터페이스(942), 인코더(943), HDD(Hard Disk Drive)(944), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)(948), 제어부(949) 및 유저 인터페이스(950)를 구비한다.
튜너(941)는 안테나(도시하지 않음)를 통해서 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(941)는 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(946)에 출력한다. 즉, 튜너(941)는 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
외부 인터페이스(942)는 기록 재생 장치(940)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 외부 인터페이스(942)는, 예를 들어 IEEE1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 또는 플래시 메모리 인터페이스 등이어도 된다. 예를 들어, 외부 인터페이스(942)를 통해서 수신되는 영상 데이터 및 음성 데이터는 인코더(943)에 입력된다. 즉, 외부 인터페이스(942)는 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
인코더(943)는 외부 인터페이스(942)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되어 있지 않은 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(943)는 부호화 비트 스트림을 셀렉터(946)에 출력한다.
HDD(944)는 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드 디스크에 기록한다. 또한, HDD(944)는 영상 및 음성의 재생 시에, 이들 데이터를 하드 디스크로부터 판독한다.
디스크 드라이브(945)는 장착되어 있는 기록 매체에의 데이터의 기록 및 판독을 행한다. 디스크 드라이브(945)에 장착되는 기록 매체는, 예를 들어 DVD 디스크(DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등) 또는 Blu-ray(등록 상표) 디스크 등이어도 된다.
셀렉터(946)는 영상 및 음성의 기록 시에는, 튜너(941) 또는 인코더(943)로부터 입력되는 부호화 비트 스트림을 선택하고, 선택한 부호화 비트 스트림을 HDD(944) 또는 디스크 드라이브(945)에 출력한다. 또한, 셀렉터(946)는 영상 및 음성의 재생 시에는, HDD(944) 또는 디스크 드라이브(945)로부터 입력되는 부호화 비트 스트림을 디코더(947)에 출력한다.
디코더(947)는 부호화 비트 스트림을 복호하고, 영상 데이터 및 음성 데이터를 생성한다. 그리고, 디코더(947)는 생성한 영상 데이터를 OSD(948)에 출력한다. 또한, 디코더(904)는 생성한 음성 데이터를 외부의 스피커에 출력한다.
OSD(948)는 디코더(947)로부터 입력되는 영상 데이터를 재생하고, 영상을 표시한다. 또한, OSD(948)는 표시하는 영상에, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 중첩해도 된다.
제어부(949)는 CPU 등의 프로세서 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 기록 재생 장치(940)의 기동 시에 CPU에 의해 판독되고 실행된다. CPU는 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(950)로부터 입력되는 조작 신호에 따라서, 기록 재생 장치(940)의 동작을 제어한다.
유저 인터페이스(950)는 제어부(949)와 접속된다. 유저 인터페이스(950)는, 예를 들어 유저가 기록 재생 장치(940)를 조작하기 위한 버튼 및 스위치 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스(950)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(949)에 출력한다.
이와 같이 구성된 기록 재생 장치(940)에 있어서, 인코더(943)는 상술한 실시 형태에 따른 화상 부호화 장치의 기능을 갖는다. 또한, 디코더(947)는 상술한 실시 형태에 따른 화상 복호 장치의 기능을 갖는다. 그에 의해, 기록 재생 장치(940)에서의 화상의 부호화 및 복호 시에 있어서, 부호화 효율의 저감을 억제할 수 있다.
[제4 응용예 : 촬상 장치]
도 99는 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(960)는 피사체를 촬상하여 화상을 생성하고, 화상 데이터를 부호화하여 기록 매체에 기록한다.
촬상 장치(960)는 광학 블록(961), 촬상부(962), 신호 처리부(963), 화상 처리부(964), 표시부(965), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969), 제어부(970), 유저 인터페이스(971) 및 버스(972)를 구비한다.
광학 블록(961)은 촬상부(962)에 접속된다. 촬상부(962)는 신호 처리부(963)에 접속된다. 표시부(965)는 화상 처리부(964)에 접속된다. 유저 인터페이스(971)는 제어부(970)에 접속된다. 버스(972)는 화상 처리부(964), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969) 및 제어부(970)를 서로 접속한다.
광학 블록(961)은 포커스 렌즈 및 조리개 기구 등을 갖는다. 광학 블록(961)은 피사체의 광학상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는 화상 신호를 신호 처리부(963)에 출력한다.
신호 처리부(963)는 촬상부(962)로부터 입력되는 화상 신호에 대해서 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(963)는 카메라 신호 처리 후의 화상 데이터를 화상 처리부(964)에 출력한다.
화상 처리부(964)는 신호 처리부(963)로부터 입력되는 화상 데이터를 부호화하여, 부호화 데이터를 생성한다. 그리고, 화상 처리부(964)는 생성한 부호화 데이터를 외부 인터페이스(966) 또는 미디어 드라이브(968)에 출력한다. 또한, 화상 처리부(964)는 외부 인터페이스(966) 또는 미디어 드라이브(968)로부터 입력되는 부호화 데이터를 복호하고, 화상 데이터를 생성한다. 그리고, 화상 처리부(964)는 생성한 화상 데이터를 표시부(965)에 출력한다. 또한, 화상 처리부(964)는 신호 처리부(963)로부터 입력되는 화상 데이터를 표시부(965)에 출력하여 화상을 표시시켜도 된다. 또한, 화상 처리부(964)는 OSD(969)로부터 취득되는 표시용 데이터를, 표시부(965)에 출력하는 화상에 중첩해도 된다.
OSD(969)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 생성하고, 생성한 화상을 화상 처리부(964)에 출력한다.
외부 인터페이스(966)는 예를 들어 USB 입출력 단자로서 구성된다. 외부 인터페이스(966)는 예를 들어, 화상의 인쇄 시에, 촬상 장치(960)과 프린터를 접속한다. 또한, 외부 인터페이스(966)에는, 필요에 따라서 드라이브가 접속된다. 드라이브에는, 예를 들어 자기 디스크 또는 광 디스크 등의 리무버블 미디어가 장착되고, 리무버블 미디어로부터 판독되는 프로그램이, 촬상 장치(960)에 인스톨될 수 있다. 또한, 외부 인터페이스(966)는 LAN 또는 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성되어도 된다. 즉, 외부 인터페이스(966)는 촬상 장치(960)에 있어서의 전송부로서의 역할을 갖는다.
미디어 드라이브(968)에 장착되는 기록 매체는, 예를 들어 자기 디스크, 광자기 디스크, 광 디스크, 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 리무버블 미디어여도 된다. 또한, 미디어 드라이브(968)에 기록 매체가 고정적으로 장착되며, 예를 들어 내장형 하드디스크 드라이브 또는 SSD(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(970)는 CPU 등의 프로세서 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(960)의 기동 시에 CPU에 의해 판독되고 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(971)로부터 입력되는 조작 신호에 따라서, 촬상 장치(960)의 동작을 제어한다.
유저 인터페이스(971)는 제어부(970)와 접속된다. 유저 인터페이스(971)는, 예를 들어 유저가 촬상 장치(960)를 조작하기 위한 버튼 및 스위치 등을 갖는다. 유저 인터페이스(971)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(970)에 출력한다.
이와 같이 구성된 촬상 장치(960)에 있어서, 화상 처리부(964)는 상술한 실시 형태에 따른 화상 부호화 장치 및 화상 복호 장치의 기능을 갖는다. 그에 의해, 촬상 장치(960)에서의 화상의 부호화 및 복호 시에 있어서, 부호화 효율의 저감을 억제할 수 있다.
또한, 본 명세서에서는, 임계값 등의 다양한 정보가, 부호화 스트림의 헤더에 다중화되어, 부호화측으로부터 복호측으로 전송되는 예에 대해서 설명하였다. 그러나, 이들 정보를 전송하는 방법은 이러한 예에 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 비트 스트림에 다중화되지 않고, 부호화 비트 스트림과 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, 「관련짓는다」라고 하는 용어는, 비트 스트림에 포함되는 화상(슬라이스 또는 블록 등, 화상의 일부여도 됨)과 그 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 정보는 화상(또는 비트 스트림)과는 다른 전송로 상에서 전송되어도 된다. 또한, 정보는 화상(또는 비트 스트림)과는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 영역)에 기록되어도 된다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어도 된다.
이상, 첨부 도면을 참조하면서 본 발명의 적합한 실시 형태에 대해서 상세하게 설명했지만, 본 발명은 이러한 예에 한정되지 않는다. 본 발명의 속하는 기술의 분야에 있어서의 통상의 지식을 갖는 자이면, 청구 범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있는 것은 명확하며, 이들에 대해서도, 당연히 본 발명의 기술적 범위에 속하는 것으로 이해된다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하는 예측 벡터 생성부와,
상기 커런트 시차 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 차분 벡터 생성부
를 구비하는 화상 처리 장치.
(2) 상기 예측 벡터 생성부는, 커런트 뷰와 동일한 뷰를 대상으로 해서, 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 시차 벡터를 사용해서, 상기 커런트 시차 벡터의 예측 벡터를 생성하는 상기 (1)에 기재된 화상 처리 장치.
(3) 상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성이 일치하는 경우에, 코-로케이티드 블록을 어베일러블로 설정하는 상기 (2)에 기재된 화상 처리 장치.
(4) 상기 벡터의 특성은, 벡터의 타입이며,
상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성이 시차 벡터이고, 또한 코-로케이티드 블록의 벡터의 특성이 시차 벡터인 경우에, 코-로케이티드 블록을 어베일러블로 설정하는 상기 (3)에 기재된 화상 처리 장치.
(5) 상기 예측 움직임 벡터 생성부는, 픽처의 출력순을 나타내는 POC(Picture Order Count)을 사용해서, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성을 판정하는 상기 (3) 또는 (4)에 기재된 화상 처리 장치.
(6) 상기 예측 움직임 벡터 생성부는, 커런트 픽처의 POC와, 커런트 픽처로부터 참조되는 커런트 레퍼런스 픽처의 POC와, 코-로케이티드 픽처의 POC와, 코-로케이티드 픽처로부터 참조되는 코-로케이티드 레퍼런스 픽처의 POC를 사용해서, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성을 판정하는 상기 (5)에 기재된 화상 처리 장치.
(7) 상기 예측 움직임 벡터 생성부는, 커런트 픽처의 POC와 커런트 픽처로부터 참조되는 커런트 레퍼런스 픽처의 POC가 일치하고, 또한 코-로케이티드 픽처의 POC와 코-로케이티드 픽처로부터 참조되는 코-로케이티드 레퍼런스 픽처의 POC가 일치하는 경우에, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성은, 시차 벡터라고 판정하는 상기 (6)에 기재된 화상 처리 장치.
(8) 상기 예측 벡터 생성부는, 커런트 블록의 벡터의 특성과 코-로케이티드 블록의 벡터의 특성이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하는 상기 (2) 내지 (7) 중 어느 하나에 기재된 화상 처리 장치.
(9) 상기 벡터의 특성은, 참조 픽처의 타입이며,
상기 예측 벡터 생성부는, 커런트 블록의 참조 픽처의 타입과 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하는 상기 (8)에 기재된 화상 처리 장치.
(10) 상기 벡터의 특성은, 참조 픽처의 타입이며,
상기 예측 벡터 생성부는, 커런트 블록의 참조 픽처의 타입이 장시간 참조이며, 또한 코-로케이티드 블록의 참조 픽처의 타입이 장시간 참조인 경우에, 레퍼런스 인덱스를 탐색하는 탐색 처리를 스킵하는 상기 (8) 또는 (9)에 기재된 화상 처리 장치.
(11) 상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 커런트 픽처와 동일한 시각의 픽처에 포함되는 레퍼런스 블록의 시차 벡터를 사용해서, 상기 커런트 시차 벡터의 예측 벡터를 생성하는 상기 (1) 내지 (10) 중 어느 하나에 기재된 화상 처리 장치.
(12) 상기 예측 벡터 생성부는, 커런트 픽처와 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 픽처의 위치 관계에 기초하여, 상기 레퍼런스 시차 벡터를 스케일링하여, 상기 커런트 시차 벡터의 예측 벡터를 생성하는 상기 (1) 내지 (11) 중 어느 하나에 기재된 화상 처리 장치.
(13) 상기 예측 벡터 생성부는, 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하고,
상기 차분 벡터 생성부는, 상기 커런트 움직임 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 상기 (1) 내지 (12) 중 어느 하나에 기재된 화상 처리 장치.
(14) 상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 상기 커런트 픽처와 동일한 시각의 픽처에 포함되는 레퍼런스 블록의 움직임 벡터를 사용해서, 상기 커런트 움직임 벡터의 예측 벡터를 생성하는 상기 (13)에 기재된 화상 처리 장치.
(15) 상기 예측 벡터 생성부는, 상기 커런트 뷰와 동일한 뷰를 대상으로 해서, 상기 커런트 픽처와 다른 시각의 픽처에 포함되는 레퍼런스 블록의 움직임 벡터를 사용해서, 상기 커런트 움직임 벡터의 예측 벡터를 생성하는 상기 (13) 또는 (14)에 기재된 화상 처리 장치.
(16) 상기 예측 벡터 생성부는, 커런트 픽처와 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 픽처의 위치 관계에 기초하여, 상기 레퍼런스 움직임 벡터를 스케일링하여, 상기 커런트 움직임 벡터의 예측 벡터를 생성하는 상기 (15)에 기재된 화상 처리 장치.
(17) 상기 예측 벡터 생성부는, 상기 커런트 뷰와 다른 뷰를 대상으로 해서, 상기 커런트 픽처와 동일한 시각의 픽처의 화소의 위치를 시프트시킨 상태에서 상기 커런트 블록과 동일 위치로 되는 블록의 벡터를 사용해서, 상기 예측 벡터를 생성하는 상기 (1) 내지 (16) 중 어느 하나에 기재된 화상 처리 장치.
(18) 상기 예측 벡터 생성부는, 상기 커런트 블록의 주변 영역의 시차 벡터에 따라서, 상기 화상의 시프트량을 설정하는 상기 (17)에 기재된 화상 처리 장치.
(19) 상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 상기 주변 블록의, X 방향의 시차 벡터를, 상기 시프트량으로 하는 상기 (18)에 기재된 화상 처리 장치.
(20) 상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 복수의 상기 주변 블록의, X 방향의 시차 벡터로부터 산출되는 값을, 상기 시프트량으로 하는 상기 (18) 또는 (19)에 기재된 화상 처리 장치.
(21) 상기 예측 벡터 생성부는, Y 방향의 시차 벡터의 값이 비제로인 복수의 상기 주변 블록의, X 방향의 시차 벡터의 평균값 또는 중앙값을, 상기 화상의 시프트량으로 하는 상기 (20)에 기재된 화상 처리 장치.
(22) 상기 예측 벡터 생성부는, 글로벌 시차 벡터에 따라서, 상기 화상의 시프트량을 설정하는 상기 (17) 내지 (21) 중 어느 하나에 기재된 화상 처리 장치.
(23) 화상 처리 장치의 화상 처리 방법에 있어서,
상기 화상 처리 장치가,
시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터를 부호화할 때, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하고,
상기 커런트 시차 벡터와, 생성된 상기 예측 벡터의 차분 벡터를 생성하는 화상 처리 방법.
(24) 시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터의 복호에 있어서, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하는 예측 벡터 생성부와,
상기 커런트 시차 벡터와 상기 예측 벡터의 차분 벡터에, 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터를 가산하여, 상기 커런트 시차 벡터를 재구축하는 연산을 행하는 연산부를 구비하는 화상 처리 장치.
(25) 화상 처리 장치의 화상 처리 방법에 있어서,
상기 화상 처리 장치가,
시차 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 시차 벡터의 복호에 있어서, 상기 커런트 시차 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 시차 벡터를 사용해서 생성하고,
상기 커런트 시차 벡터와 상기 예측 벡터의 차분 벡터에, 생성된 상기 예측 벡터를 가산하여, 상기 커런트 시차 벡터를 재구축하는 연산을 행하는 화상 처리 방법.
(26) 시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 커런트 블록의 참조 픽처의 타입과 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하고, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하는 예측 벡터 생성부와,
상기 커런트 움직임 벡터와 상기 예측 벡터 생성부에 의해 생성된 상기 예측 벡터의 차분 벡터를 생성하는 차분 벡터 생성부를 구비하는 화상 처리 장치.
(27) 화상 처리 장치의 화상 처리 방법에 있어서,
상기 화상 처리 장치가,
시간 방향의 상관성을 이용한 예측에 사용되는 커런트 블록의 커런트 움직임 벡터를 부호화할 때, 커런트 블록의 참조 픽처의 타입과 커런트 픽처와 다른 시각의 코-로케이티드 픽처에 포함되는 코-로케이티드 블록의 참조 픽처의 타입이 다른 경우에, 코-로케이티드 블록을 낫 어베일러블로 설정하고, 상기 커런트 움직임 벡터의 예측 벡터를, 예측 움직임 벡터를 생성할 때 참조하는 레퍼런스 움직임 벡터를 사용해서 생성하고,
상기 커런트 움직임 벡터와 생성된 상기 예측 벡터의 차분 벡터를 생성하는 화상 처리 방법.
100 : 화상 부호화 장치
115 : 움직임 시차 예측·보상부
121 : 다시점 디코드 픽처 버퍼
131 : 움직임 시차 벡터 탐색부
132 : 예측 화상 생성부
133 : 부호화 정보 축적 버퍼
134 : 선택부
135 : 공간 상관 예측 벡터 생성부
136 : 시간 시차 상관 예측 벡터 생성부
137 : 선택부
138 : 부호화 비용 산출부
139 : 모드 판정부
151 : 커런트 영역 처리부
152 : 상관 영역 처리부
153 : L1 예측 처리부
154 : L0 예측 처리부
155 : 방식 1 처리부
156 : 방식 2 처리부
157 : 방식 3 처리부
158 : 방식 4 처리부
159 : 예측 벡터 생성부
300 : 화상 복호 장치
312 : 움직임 시차 보상부
321 : 다시점 디코드 픽처 버퍼
331 : 부호화 정보 축적 버퍼
332 : 공간 상관 예측 벡터 생성부
333 : 시간 시차 상관 예측 벡터 생성부
334 : 선택부
335 : 연산부
336 : 예측 화상 생성부
400 : 화상 부호화 장치
415 : 움직임 예측·보상부
421 : Base View 인코더
433 및 434 : 벡터 예측부
457 : 다른 픽처로부터의 예측 벡터 생성부
471 : 시차 벡터 판정부
472 : 뷰간 참조 벡터 생성부
473 : 뷰 내 참조 벡터 생성부
500 : 화상 복호 장치
512 : 움직임 보상부
521 : Base View 디코더
533 및 534 : 벡터 복호부
553 : 다른 픽처로부터의 예측 벡터 생성부
571 : 시차 벡터 판정부
572 : 뷰간 참조 벡터 생성부
573 : 뷰 내 참조 벡터 생성부

Claims (32)

  1. 커런트 블록의 부호화 벡터 및 커런트 픽처와 상이한 시간의 픽처의 코-로케이티드(co-located) 블록의 코-로케이티드 벡터 중 한쪽이 상기 커런트 픽처와 동일 뷰에서 상이한 시간의 픽처를 참조하는 움직임 벡터이며, 다른 쪽이 뷰 방향의 상관을 이용한 시차 벡터인 경우에, 상기 코-로케이티드 벡터를, 상기 부호화 벡터에 대한 예측 벡터의 후보로부터 제외하는 예측 벡터 후보 설정부와,
    상기 예측 벡터 후보 설정부에 의해 상기 코-로케이티드 벡터가 제외된 예측 벡터의 후보로부터, 상기 부호화 벡터에 대한 예측 벡터를 설정하는 예측 벡터 설정부와,
    상기 예측 벡터 설정부에 의해 설정된 예측 벡터를 사용하여, 상기 부호화 벡터를 부호화하는 부호화부를 구비하는, 화상 처리 장치.
  2. 제1항에 있어서, 상기 예측 벡터 후보 설정부는, 상기 부호화 벡터 및 상기 코-로케이티드 벡터 중 한쪽을, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 다른 쪽을, 장시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 장치.
  3. 제2항에 있어서, 상기 예측 벡터 후보 설정부는, 픽처의 출력순을 나타내는 POC(Picture Order Count)를 사용해서, 상기 부호화 벡터 및 상기 코-로케이티드 벡터 중 한쪽을, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 다른 쪽을, 장시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 장치.
  4. 제1항에 있어서, 상기 예측 벡터 후보 설정부는, 상기 부호화 벡터가 상기 움직임 벡터이며, 또한, 상기 코-로케이티드 벡터가 상기 시차 벡터인 경우에, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 장치.
  5. 제4항에 있어서, 상기 예측 벡터 후보 설정부는, 상기 부호화 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 장치.
  6. 제5항에 있어서, 상기 예측 벡터 후보 설정부는, 픽처의 출력순을 나타내는 POC를 사용해서, 상기 부호화 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 장치.
  7. 제1항에 있어서, 상기 예측 벡터 후보 설정부는, 상기 부호화 벡터가 상기 시차 벡터이며, 또한, 상기 코-로케이티드 벡터가 상기 움직임 벡터인 경우에, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 장치.
  8. 제7항에 있어서, 상기 예측 벡터 후보 설정부는, 상기 부호화 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 장치.
  9. 제8항에 있어서, 상기 예측 벡터 후보 설정부는, 픽처의 출력순을 나타내는 POC를 사용해서, 상기 부호화 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 장치.
  10. 제1항에 있어서, 상기 부호화부는, 상기 예측 벡터 설정부에 의해 설정된 예측 벡터와 상기 부호화 벡터의 차분인 차분 벡터를 부호화하고, 상기 차분 벡터를 포함하는 비트 스트림을 생성하는, 화상 처리 장치.
  11. 제10항에 있어서, 상기 부호화부는, AMVP(Advanced Motion Vector Prediction) 모드를 사용하여, 상기 차분 벡터를 부호화하는, 화상 처리 장치.
  12. 제1항에 있어서, 상기 부호화부는, 상기 예측 벡터 설정부에 의해 설정된 예측 벡터를 상기 부호화 벡터로서 부호화하는, 화상 처리 장치.
  13. 제1항에 있어서, 상기 부호화부는, 머지 모드를 사용하여, 상기 부호화 벡터를 부호화하는, 화상 처리 장치.
  14. 제1항에 있어서, 상기 부호화부는, 부호화된 부호화 벡터를 포함하는 비트 스트림을 생성하는, 화상 처리 장치.
  15. 제14항에 있어서, 상기 부호화부는, 최대 부호화 단위를 재귀적으로 분할한 부호화 단위로, 화상을 부호화하여 상기 비트 스트림을 생성하는, 화상 처리 장치.
  16. 제15항에 있어서, 상기 최대 부호화 단위는, 시퀀스 단위로 고정 사이즈의 블록이며, 상기 부호화 단위는, 가변 사이즈의 블록인, 화상 처리 장치.
  17. 커런트 블록의 부호화 벡터 및 커런트 픽처와 상이한 시간의 픽처의 코-로케이티드 블록의 코-로케이티드 벡터 중 한쪽이 상기 커런트 픽처와 동일 뷰에서 상이한 시간의 픽처를 참조하는 움직임 벡터이며, 다른 쪽이 뷰 방향의 상관을 이용한 시차 벡터인 경우에, 상기 코-로케이티드 벡터를, 상기 부호화 벡터에 대한 예측 벡터의 후보로부터 제외하는 예측 벡터 후보 설정 단계와,
    상기 예측 벡터 후보 설정 단계에서 상기 코-로케이티드 벡터가 제외된 예측 벡터의 후보로부터, 상기 부호화 벡터에 대한 예측 벡터를 설정하는 예측 벡터 설정 단계와,
    상기 예측 벡터 설정 단계에서 설정된 예측 벡터를 사용하여, 상기 부호화 벡터를 부호화하는 부호화 단계를 구비하는, 화상 처리 방법.
  18. 제17항에 있어서, 상기 예측 벡터 후보 설정 단계는, 상기 부호화 벡터 및 상기 코-로케이티드 벡터 중 한쪽을, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 다른 쪽을, 장시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 방법.
  19. 제18항에 있어서, 상기 예측 벡터 후보 설정 단계는, 픽처의 출력순을 나타내는 POC를 사용해서, 상기 부호화 벡터 및 상기 코-로케이티드 벡터 중 한쪽을, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 다른 쪽을, 장시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 방법.
  20. 제17항에 있어서, 상기 예측 벡터 후보 설정 단계는, 상기 부호화 벡터가 상기 움직임 벡터이며, 또한, 상기 코-로케이티드 벡터가 상기 시차 벡터인 경우에, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 방법.
  21. 제20항에 있어서, 상기 예측 벡터 후보 설정 단계는, 상기 부호화 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 방법.
  22. 제21항에 있어서, 상기 예측 벡터 후보 설정 단계는, 픽처의 출력순을 나타내는 POC를 사용해서, 상기 부호화 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 방법.
  23. 제17항에 있어서, 상기 예측 벡터 후보 설정 단계는, 상기 부호화 벡터가 상기 시차 벡터이며, 또한, 상기 코-로케이티드 벡터가 상기 움직임 벡터인 경우에, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 방법.
  24. 제23항에 있어서, 상기 예측 벡터 후보 설정 단계는, 상기 부호화 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하는 경우에, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 상기 예측 벡터의 후보로부터 제외하는, 화상 처리 방법.
  25. 제24항에 있어서, 상기 예측 벡터 후보 설정 단계는, 픽처의 출력순을 나타내는 POC를 사용해서, 상기 부호화 벡터인 상기 시차 벡터를, 장시간 참조 화상을 참조하는 벡터로서 설정하고, 상기 코-로케이티드 벡터인 상기 움직임 벡터를, 단시간 참조 화상을 참조하는 벡터로서 설정하는, 화상 처리 방법.
  26. 제17항에 있어서, 상기 부호화 단계는, 상기 예측 벡터 설정 단계에서 설정된 예측 벡터와 상기 부호화 벡터의 차분인 차분 벡터를 부호화하고, 상기 차분 벡터를 포함하는 비트 스트림을 생성하는, 화상 처리 방법.
  27. 제26항에 있어서, 상기 부호화 단계는, AMVP 모드를 사용하여, 상기 차분 벡터를 부호화하는, 화상 처리 방법.
  28. 제17항에 있어서, 상기 부호화 단계는, 상기 예측 벡터 설정 단계에서 설정된 예측 벡터를 상기 부호화 벡터로서 부호화하는, 화상 처리 방법.
  29. 제17항에 있어서, 상기 부호화 단계는, 머지 모드를 사용하여, 상기 부호화 벡터를 부호화하는, 화상 처리 방법.
  30. 제17항에 있어서, 상기 부호화 단계는, 부호화된 부호화 벡터를 포함하는 비트 스트림을 생성하는, 화상 처리 방법.
  31. 제30항에 있어서, 상기 부호화 단계는, 최대 부호화 단위를 재귀적으로 분할한 부호화 단위로, 화상을 부호화하여 상기 비트 스트림을 생성하는, 화상 처리 방법.
  32. 제31항에 있어서, 상기 최대 부호화 단위는, 시퀀스 단위로 고정 사이즈의 블록이며, 상기 부호화 단위는, 가변 사이즈의 블록인, 화상 처리 방법.
KR1020137033599A 2011-06-30 2012-06-28 화상 처리 장치 및 방법 KR101918324B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JPJP-P-2011-145564 2011-06-30
JP2011145564 2011-06-30
JPJP-P-2012-009223 2012-01-19
JP2012009223 2012-01-19
JPJP-P-2012-099056 2012-04-24
JP2012099056 2012-04-24
PCT/JP2012/066582 WO2013002342A1 (ja) 2011-06-30 2012-06-28 画像処理装置および方法

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020177015849A Division KR101954007B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020187032234A Division KR101954046B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020177015848A Division KR101954006B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140043757A KR20140043757A (ko) 2014-04-10
KR101918324B1 true KR101918324B1 (ko) 2018-11-13

Family

ID=47424228

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020177015848A KR101954006B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020177015849A KR101954007B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020187032234A KR101954046B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020137033599A KR101918324B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020177015848A KR101954006B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020177015849A KR101954007B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020187032234A KR101954046B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법

Country Status (14)

Country Link
US (9) US9491462B2 (ko)
EP (1) EP2728879A4 (ko)
JP (6) JP5954327B2 (ko)
KR (4) KR101954006B1 (ko)
CN (8) CN107105296B (ko)
AU (5) AU2012276628B2 (ko)
BR (4) BR122015001002B1 (ko)
CA (2) CA2838088C (ko)
IN (1) IN2013CN10237A (ko)
MX (2) MX341889B (ko)
MY (3) MY191028A (ko)
RU (5) RU2578375C2 (ko)
SG (5) SG10201609887TA (ko)
WO (1) WO2013002342A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197227B (zh) 2011-03-18 2019-05-10 索尼公司 图像处理设备、图像处理方法和计算机可读存储介质
BR122015001002B1 (pt) 2011-06-30 2022-07-26 Sony Corporation Dispositivo e método de processamento de imagem
RU2597256C2 (ru) 2011-08-31 2016-09-10 Сони Корпорейшн Устройство кодирования, способ кодирования, устройство декодирования и способ декодирования
WO2013146507A1 (ja) * 2012-03-30 2013-10-03 ソニー株式会社 画像処理装置および方法、並びに記録媒体
CN104704836B (zh) * 2012-10-03 2018-04-17 寰发股份有限公司 三维视频、多视图视频及可缩放视频的编码方法及装置
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
KR101737595B1 (ko) * 2012-12-27 2017-05-18 니폰 덴신 덴와 가부시끼가이샤 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
US9521389B2 (en) * 2013-03-06 2016-12-13 Qualcomm Incorporated Derived disparity vector in 3D video coding
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
KR101706309B1 (ko) 2013-04-10 2017-02-14 에이치에프아이 이노베이션 인크. 3차원 비디오 코딩을 위한 뷰간 후보자 유도 방법 및 장치
JP2015015595A (ja) * 2013-07-04 2015-01-22 富士通株式会社 動画像符号化装置、符号化モード判定方法及び符号化プログラム
HUE057890T2 (hu) * 2014-01-02 2022-06-28 Dolby Laboratories Licensing Corp Eljárás több nézetû videó dekódolására
CN107197288B (zh) * 2016-03-15 2023-11-10 北京三星通信技术研究有限公司 视频全局视差向量编码方法、解码方法和装置
US10834419B2 (en) 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
US11050991B2 (en) * 2016-09-29 2021-06-29 Koninklijke Philips N.V. Image processing using a plurality of images for a three dimension scene, having a different viewing positions and/or directions
EP3751855A4 (en) * 2018-02-06 2021-03-10 Panasonic Intellectual Property Corporation of America CODING DEVICE, DECODING DEVICE, CODING METHOD AND DECODING METHOD
CN110419217B (zh) 2018-04-02 2023-09-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
US11665365B2 (en) * 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
KR20230018540A (ko) * 2019-02-20 2023-02-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서 장기 참조 픽처에 대한 제한받는 움직임 벡터 도출
US10638130B1 (en) * 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
US11689743B2 (en) * 2020-11-12 2023-06-27 Tencent America LLC Method and apparatus for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901178B1 (ko) * 2003-12-04 2009-06-04 닛본 덴끼 가부시끼가이샤 동화상의 부호화 방법 및 장치, 그리고 동화상의 복호 방법및 장치

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263960B2 (ja) * 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
JPH099300A (ja) * 1995-06-26 1997-01-10 Matsushita Electric Ind Co Ltd 立体表示装置
JP3519594B2 (ja) * 1998-03-03 2004-04-19 Kddi株式会社 ステレオ動画像用符号化装置
JP4224748B2 (ja) * 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
JP2004531925A (ja) * 2001-03-05 2004-10-14 インタービデオインコーポレイテッド 圧縮されたビデオビットストリームにおける冗長な動きベクトルを符号化し復号するシステム及び方法
AU2003213360A1 (en) * 2002-03-14 2003-09-22 Matsushita Electric Industrial Co., Ltd. Motion vector detection method
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7497076B2 (en) 2002-05-07 2009-03-03 Extengine Transport Systems Emission control system
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
CN100471280C (zh) 2005-01-07 2009-03-18 株式会社Ntt都科摩 运动图像编码及译码装置、方法
EP1835747B1 (en) 2005-01-07 2019-05-08 Nippon Telegraph And Telephone Corporation Video encoding method and device, video decoding method and device, program thereof, and recording medium containing the program
CN101253774B (zh) * 2005-07-18 2011-04-06 韩国电子通信研究院 使用视角时间参考图像缓冲器的预测编码/解码装置及使用其的方法
WO2007037645A1 (en) 2005-09-29 2007-04-05 Samsung Electronics Co., Ltd. Method of estimating disparity vector using camera parameters, apparatus for encoding and decoding multi-view picture using the disparity vectors estimation method, and computer-redadable recording medium storing a program for executing the method
KR101276720B1 (ko) * 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
JP4166781B2 (ja) * 2005-12-09 2008-10-15 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
EP1971154A4 (en) * 2006-01-05 2010-10-27 Nippon Telegraph & Telephone VIDEO CODING METHOD AND DECODING METHOD, DEVICE THEREFOR, DEVICE THEREFOR AND STORAGE MEDIUM WITH THE PROGRAM
ZA200805337B (en) * 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
WO2007110000A1 (en) 2006-03-29 2007-10-04 Huawei Technologies Co., Ltd. A method and device of obtaining disparity vector and its multi-view encoding-decoding
WO2008005574A2 (en) * 2006-07-06 2008-01-10 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
WO2008007917A1 (en) * 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
CN100576919C (zh) * 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
KR101031624B1 (ko) * 2006-09-20 2011-04-27 니폰덴신뎅와 가부시키가이샤 화상 부호화 방법 및 복호 방법, 그 장치 및 그 프로그램을 기록한 기억매체
JP4999854B2 (ja) * 2006-09-20 2012-08-15 日本電信電話株式会社 画像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
CN101536530B (zh) * 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US20100118945A1 (en) * 2007-03-29 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for video encoding and decoding
US8494049B2 (en) * 2007-04-09 2013-07-23 Cisco Technology, Inc. Long term reference frame management with error video feedback for compressed video communication
WO2008133455A1 (en) * 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US10298952B2 (en) * 2007-08-06 2019-05-21 Interdigital Madison Patent Holdings Methods and apparatus for motion skip move with multiple inter-view reference pictures
CN101785317B (zh) * 2007-08-15 2013-10-16 汤姆逊许可证公司 使用区域视差向量的多视角编码视频中的运动跳过模式的方法和装置
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
WO2010001045A1 (fr) * 2008-07-01 2010-01-07 France Telecom Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants
JP2010035137A (ja) * 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
JP5353532B2 (ja) * 2009-07-29 2013-11-27 ソニー株式会社 画像処理装置及び画像処理方法
WO2011021914A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
JP2011077722A (ja) * 2009-09-29 2011-04-14 Victor Co Of Japan Ltd 画像復号装置、画像復号方法およびそのプログラム
JP2011120233A (ja) * 2009-11-09 2011-06-16 Panasonic Corp 3d映像特殊効果装置、3d映像特殊効果方法、および、3d映像特殊効果プログラム
JP2011223302A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置と画像処理方法
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
JP2012023652A (ja) 2010-07-16 2012-02-02 Sony Corp 画像処理装置と画像処理方法
JP5505154B2 (ja) 2010-07-16 2014-05-28 ソニー株式会社 画像処理装置と画像処理方法
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9137544B2 (en) 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
CN107360420B (zh) 2011-02-09 2020-11-06 Lg 电子株式会社 一种图像解码装置和图像编码装置
JP5358746B2 (ja) * 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
CN103392340B (zh) 2011-03-14 2017-02-08 寰发股份有限公司 推导运动向量预测子的方法与装置
CN103430557A (zh) 2011-03-18 2013-12-04 索尼公司 图像处理设备和图像处理方法
CN107197227B (zh) 2011-03-18 2019-05-10 索尼公司 图像处理设备、图像处理方法和计算机可读存储介质
US20140085418A1 (en) 2011-05-16 2014-03-27 Sony Corporation Image processing device and image processing method
US20140104383A1 (en) 2011-06-22 2014-04-17 Sony Corporation Image processing device and method
BR122015001002B1 (pt) 2011-06-30 2022-07-26 Sony Corporation Dispositivo e método de processamento de imagem
JP2013034171A (ja) 2011-06-30 2013-02-14 Sony Corp 画像処理装置および方法
RU2597256C2 (ru) 2011-08-31 2016-09-10 Сони Корпорейшн Устройство кодирования, способ кодирования, устройство декодирования и способ декодирования
WO2013031575A1 (ja) 2011-08-31 2013-03-07 ソニー株式会社 画像処理装置および画像処理方法
CA2836244C (en) 2011-10-28 2021-02-16 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
KR101935976B1 (ko) * 2011-10-28 2019-01-07 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치 및 화상 복호 장치
EP2916553A3 (en) 2011-11-08 2015-10-14 Samsung Electronics Co., Ltd Method and apparatus for motion vector determination in video encoding or decoding
CN104601976A (zh) 2012-01-31 2015-05-06 索尼公司 图像处理装置和图像处理方法
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901178B1 (ko) * 2003-12-04 2009-06-04 닛본 덴끼 가부시끼가이샤 동화상의 부호화 방법 및 장치, 그리고 동화상의 복호 방법및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Improvement to AMVP/Merge process", JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-E064 (2011.03.23.)*

Also Published As

Publication number Publication date
RU2602794C2 (ru) 2016-11-20
JPWO2013002342A1 (ja) 2015-02-23
AU2017216494B2 (en) 2019-03-07
EP2728879A1 (en) 2014-05-07
US20170041630A1 (en) 2017-02-09
CN107105296B (zh) 2020-12-25
KR101954006B1 (ko) 2019-03-04
RU2597478C1 (ru) 2016-09-10
US20180316930A1 (en) 2018-11-01
BR122015001002B1 (pt) 2022-07-26
US10764600B2 (en) 2020-09-01
CN110225357A (zh) 2019-09-10
CN107071476A (zh) 2017-08-18
AU2012276628A1 (en) 2013-12-19
BR122015001004A2 (pt) 2019-08-20
BR112013033333B1 (pt) 2022-07-26
US11405634B2 (en) 2022-08-02
KR20170071608A (ko) 2017-06-23
JP5954449B2 (ja) 2016-07-20
AU2016204472B2 (en) 2017-08-10
CN110572681B (zh) 2023-12-15
SG10201505802XA (en) 2015-09-29
RU2600529C2 (ru) 2016-10-20
AU2020200331A1 (en) 2020-02-06
RU2578375C2 (ru) 2016-03-27
JP2016187208A (ja) 2016-10-27
CN106878755A (zh) 2017-06-20
BR122015001000A2 (pt) 2019-08-20
EP2728879A4 (en) 2015-02-18
AU2020200331B2 (en) 2020-08-20
JP6402815B2 (ja) 2018-10-10
AU2016204472A1 (en) 2016-07-21
US9648344B2 (en) 2017-05-09
KR20180124146A (ko) 2018-11-20
US20160295230A1 (en) 2016-10-06
US20170041631A1 (en) 2017-02-09
CN103636217A (zh) 2014-03-12
US10187652B2 (en) 2019-01-22
US10484704B2 (en) 2019-11-19
SG10201505809PA (en) 2015-09-29
AU2019201383B2 (en) 2020-01-23
CN110225357B (zh) 2023-09-29
US9491462B2 (en) 2016-11-08
MY170743A (en) 2019-08-27
RU2013157151A (ru) 2015-06-27
SG10201505808YA (en) 2015-09-29
MY191028A (en) 2022-05-29
BR122015001004B1 (pt) 2022-07-26
JP2018033163A (ja) 2018-03-01
AU2012276628B2 (en) 2016-05-05
BR122015001002A2 (pt) 2019-08-20
US10158877B2 (en) 2018-12-18
WO2013002342A1 (ja) 2013-01-03
KR101954007B1 (ko) 2019-03-04
BR112013033333A2 (pt) 2017-01-31
CA3045874A1 (en) 2013-01-03
US20140126642A1 (en) 2014-05-08
JP5954327B2 (ja) 2016-07-20
BR122015001000B1 (pt) 2022-07-26
CN107071477A (zh) 2017-08-18
CA3045874C (en) 2021-09-14
US20160295228A1 (en) 2016-10-06
JP6238090B2 (ja) 2017-11-29
JP2015128308A (ja) 2015-07-09
CA2838088A1 (en) 2013-01-03
KR20140043757A (ko) 2014-04-10
CN107071475B (zh) 2020-01-31
CA2838088C (en) 2021-06-08
CN107071475A (zh) 2017-08-18
KR101954046B1 (ko) 2019-03-04
JP2015128307A (ja) 2015-07-09
CN107071477B (zh) 2020-03-17
US20190373282A1 (en) 2019-12-05
RU2015103880A (ru) 2015-06-20
US9560375B2 (en) 2017-01-31
JP2015128306A (ja) 2015-07-09
CN106878755B (zh) 2019-09-13
SG10201609891QA (en) 2016-12-29
CN107071476B (zh) 2020-12-08
AU2017216494A1 (en) 2017-08-31
CN107105296A (zh) 2017-08-29
MX2013015116A (es) 2014-02-11
SG10201609887TA (en) 2017-01-27
RU2717400C1 (ru) 2020-03-23
RU2015103854A (ru) 2016-08-27
KR20170071607A (ko) 2017-06-23
IN2013CN10237A (ko) 2015-08-21
US20200351515A1 (en) 2020-11-05
MX2022000616A (es) 2022-05-30
AU2019201383A1 (en) 2019-03-21
US20160295229A1 (en) 2016-10-06
US9788008B2 (en) 2017-10-10
MX341889B (es) 2016-09-07
CN103636217B (zh) 2017-04-12
MY193110A (en) 2022-09-26
CN110572681A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
AU2020200331B2 (en) Image Processing Device and Image Processing Method

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
A107 Divisional application of patent
GRNT Written decision to grant