JPWO2012121052A1 - 画像処理装置、画像処理方法、及び、プログラム - Google Patents
画像処理装置、画像処理方法、及び、プログラム Download PDFInfo
- Publication number
- JPWO2012121052A1 JPWO2012121052A1 JP2013503459A JP2013503459A JPWO2012121052A1 JP WO2012121052 A1 JPWO2012121052 A1 JP WO2012121052A1 JP 2013503459 A JP2013503459 A JP 2013503459A JP 2013503459 A JP2013503459 A JP 2013503459A JP WO2012121052 A1 JPWO2012121052 A1 JP WO2012121052A1
- Authority
- JP
- Japan
- Prior art keywords
- image
- picture
- unit
- parallax
- viewpoint
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 131
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 328
- 238000004364 calculation method Methods 0.000 claims description 64
- 238000009304 pastoral farming Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 28
- 238000000034 method Methods 0.000 description 207
- 239000000872 buffer Substances 0.000 description 106
- 230000008569 process Effects 0.000 description 97
- 238000013139 quantization Methods 0.000 description 51
- 238000010586 diagram Methods 0.000 description 49
- 230000002123 temporal effect Effects 0.000 description 47
- 238000006243 chemical reaction Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 39
- 230000008707 rearrangement Effects 0.000 description 36
- 230000033001 locomotion Effects 0.000 description 33
- 238000009825 accumulation Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 18
- 230000001419 dependent effect Effects 0.000 description 17
- 101150083745 preT gene Proteins 0.000 description 16
- 238000003384 imaging method Methods 0.000 description 14
- 238000000926 separation method Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 12
- 238000005192 partition Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 239000012536 storage buffer Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本技術は、複数の視点の画像について、復号画像の画質を向上させることができる画像処理装置、画像処理方法、及び、プログラムに関する。ワーピング部461は、視点#1の画像、及び、視点#1と異なる視点#2の画像のうちの、視点#1の画像のピクチャをワーピングすることにより、視点#1の画像のピクチャを視点#2で得られる画像に変換したワープド画像のピクチャを生成する。視差予測部463は、視点#2の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを、ヘッダ情報から取得し、その参照インデクスに基づいて、ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、参照ピクチャを選択する。本技術は、例えば、複数の視点の画像の符号化、及び、復号に適用することができる。
Description
本技術は、画像処理装置、画像処理方法、及び、プログラムに関し、複数の視点の画像について、復号画像の画質を向上させることができるようにする画像処理装置、画像処理方法、及び、プログラムに関する。
3D(Dimension)画像等の複数の視点の画像を符号化する符号化方式としては、例えば、AVC(Advanced Video Coding)(H.264/AVC)方式を拡張したMVC(Multiview Video Coding)方式等がある。
MVC方式では、符号化対象となる画像は、被写体からの光に対応する値を、画素値として有する色画像であり、複数の視点の色画像それぞれは、必要に応じて、その視点の色画像の他、他の視点の色画像をも参照して、符号化される。
すなわち、MVC方式では、複数の視点の色画像のうちの、1つの視点の色画像が、ベースビュー(Base View)の画像とされ、他の視点の色画像は、ディペンデントビュー(Dependent View)の画像とされる。
そして、ベースビューの画像(色画像)は、そのベースビューの画像のみを参照して符号化され、ディペンデントビューの画像(色画像)は、そのディペンデントビューの画像の他、他のディペンデントビューの画像をも必要に応じて参照して、符号化される。
ところで、近年においては、複数の視点の画像として、各視点の色画像の他に、各視点の色画像の画素ごとの視差に関する視差情報を、画素値として有する視差情報画像(デプス画像)を採用し、各視点の色画像と各視点の視差情報画像とを符号化する符号化方式として、例えば、MPEG3DV方式等の規格が策定されつつある。
MPEG3DV方式では、各視点の色画像と、各視点の視差情報画像とのそれぞれが、原則として、MVC方式と同様にして符号化されるが、視差情報画像については、符号化効率の向上等を目的として、種々の符号化方法が提案されている(例えば、非特許文献1を参照)。
Jin Young Lee, Hochen Wey, and Du-Sik Park, "A NOVEL APPROACH FOR EFFICIENT MULTI-VIEW DEPTH MAP CODING", 28th Picture Coding Symposium, PCS2010, December 8-10, 2010, Nagoya, Japan
複数の視点の画像としての、複数の視点の色画像や、複数の視点の視差情報画像については、符号化効率の向上の他、復号画像の画質の向上を考慮した符号化方法(及び復号方法)の提案が要請されている。
本技術は、このような状況に鑑みてなされたものであり、複数の視点の画像について、復号画像の画質を向上させることができるようにするものである。
本技術の第1の側面の画像処理装置、又は、プログラムは、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを取得し、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャを選択する参照ピクチャ選択部とを備える画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
本技術の第1の側面の画像処理方法は、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成し、前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを取得し、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャを選択するステップを含む画像処理方法である。
以上のような第1の側面においては、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャが生成される。そして、前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスが取得され、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャが選択される。
本技術の第2の側面の画像処理装置、又は、プログラムは、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストを算出するコスト算出部と、前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスを選択して出力する選択部とを備える画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
本技術の第2の側面の画像処理方法は、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成し、前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストを算出し、前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスを選択して出力するステップを含む画像処理方法である。
以上のような第2の側面においては、第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャが生成される。さらに、前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストが算出される。そして、前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスが選択されて出力される。
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本技術によれば、復号画像の画質を向上させることができる
[本明細書におけるデプス画像(視差情報画像)の説明]
図38は、視差と奥行きについて説明する図である。
図38は、視差と奥行きについて説明する図である。
図38に示すように、被写体Mのカラー画像が、位置C1に配置されたカメラc1と位置C2に配置されたカメラc2により撮影される場合、被写体Mの、カメラc1(カメラc2)からの奥行方向の距離である奥行きZは、以下の式(a)で定義される。
なお、Lは、位置C1と位置C2の水平方向の距離(以下、カメラ間距離という)である。また、dは、カメラc1で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u1から、カメラc2で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u2を減算した値、即ち視差である。さらに、fは、カメラc1の焦点距離であり、式(a)では、カメラc1とカメラc2の焦点距離は同一であるものとしている。
式(a)に示すように、視差dと奥行きZは、一意に変換可能である。従って、本明細書では、カメラc1とカメラc2により撮影された2視点のカラー画像の視差dを表す画像と奥行きZを表す画像とを総称して、デプス画像(視差情報画像)とする。
なお、デプス画像(視差情報画像)は、視差dまたは奥行きZを表す画像であればよく、デプス画像(視差情報画像)の画素値としては、視差dまたは奥行きZそのものではなく、視差dを正規化した値、奥行きZの逆数1/Zを正規化した値等を採用することができる。
視差dを8bit(0〜255)で正規化した値Iは、以下の式(b)により求めることができる。なお、視差dの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
なお、式(b)において、Dmaxは、視差dの最大値であり、Dminは、視差dの最小値である。最大値Dmaxと最小値Dminは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
また、奥行きZの逆数1/Zを8bit(0〜255)で正規化した値yは、以下の式(c)により求めることができる。なお、奥行きZの逆数1/Zの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
なお、式(c)において、Zfarは、奥行きZの最大値であり、Znearは、奥行きZの最小値である。最大値Zfarと最小値Znearは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
このように、本明細書では、視差dと奥行きZとは一意に変換可能であることを考慮して、視差dを正規化した値Iを画素値とする画像と、奥行きZの逆数1/Zを正規化した値yを画素値とする画像とを総称して、デプス画像(視差情報画像)とする。ここでは、デプス画像(視差情報画像)のカラーフォーマットは、YUV420又はYUV400であるものとするが、他のカラーフォーマットにすることも可能である。
なお、デプス画像(視差情報画像)の画素値としてではなく、値I又は値yの情報自体に着目する場合には、値I又は値yを、デプス情報(視差情報)とする。更に、値I又は値yをマッピングしたものをデプスマップとする。
以下、図面を参照して、本技術の一実施の形態について説明するが、その前に、前段階の準備として、複数の視点の視点情報画像を符号化する符号化方法に関し、既に提案されている符号化方法の一例を説明する。
[複数の視点の視点情報画像の符号化方法の一例]
図1は、非特許文献1において提案されている視点情報画像の符号化方法の一例を説明する図である。
ここで、以下に説明する、既に提案されている符号化方法を、提案済み方法ともいう。また、視点を、以下、ビューともいう
いま、複数の視点の画像として、(異なる)2つの視点(ビュー)の色画像であるビュー#1の色画像C#1、及び、ビュー#2の色画像C#2、並びに、2つの視点の視差情報画像であるビュー#1の視差情報画像D#1、及び、ビュー#2の視差情報画像D#2があるとする。
なお、視差情報画像D#i(ここでは、i=1,2)は、色画像C#iの画素ごとの視差に関する視差情報を、画素値として有する画像である。
提案済み方法では、色画像C#1及びC#2は、例えば、MVC方式で符号化される。したがって、色画像C#1及びC#2のピクチャは、必要に応じて、他のピクチャを参照して予測符号化されるので、符号化後に、予測符号化に用いる予測画像を生成するために、ローカルデコードされる。
いま、ビュー#2の視差情報画像D#2のある第tピクチャのあるブロック(マクロブロック)が符号化対象の対象ブロックであるとする。
ここで、対象ブロックを有するピクチャ、つまり、符号化対象のピクチャを、対象ピクチャともいう。
ビュー#2の視差情報画像D#2の第tピクチャ(先頭からt番目のピクチャ)のマクロブロックである、例えば、ブロックMBD#21やMBD#22等を対象ブロックとして、その対象ブロックの符号化が行われる場合、提案済み方法では、そのビュー#2とは異なるビュー#1の色画像C#1の、既に(符号化されて)ローカルデコードされている第tピクチャをワーピングすることにより、その色画像C#1の第tピクチャを視点#2で得られる画像に変換したワープド色画像C'#1のピクチャが生成される。
同様に、ビュー#1の視差情報画像D#1についても、既にローカルデコードされている第tピクチャをワーピングすることにより、その視差情報画像D#1の第tピクチャを視点#2で得られる画像に変換したワープド視差情報画像(ワープドデプス画像)D'#1のピクチャが生成される。
ここで、ビュー#1の色画像C#1のワーピングでは、例えば、図1に白抜きの矢印で示すように、色画像C#1の各画素(値)が、各画素における視点#1と#2との間の視差に相当する分だけ移動されることで、ワープド色画像C'#1が生成される。
ところで、視点#1の色画像C#1と、視点#2の色画像C#2とでは、色画像#2には写っているが、色画像#1には写っていない部分(や、色画像#1には写っているが、色画像#2には写っていない部分)がある。
このため、色画像C#1の各画素を、各画素における視点#1と#2との間の視差に相当する分だけ移動しただけでは、オクルージョンが生じる。
すなわち、ワープド色画像C'#1において、色画像#2には写っているが、色画像#1には写っていない部分は、いわば、画素値がない、穴が空いたオクルージョン部分となる。図1において、斜線を付してある部分が、オクルージョン部分を示している。
例えば、視点#2からは見えるが、視点#1からでは、視差によって、前景に隠されてしまう背景の部分が、オクルージョン部分となる。
ワープド色画像C'#1において、オクルージョン部分の画素は、周辺の画素、すなわち、例えば、ワーピングでの移動方向の逆方向にある(オクルージョン部に)最も近い画素等の画素値によって補間される。
ワープド視差情報画像D'#1についても、同様である。
提案済み方法では、ビュー#2の視差情報画像D#2の第tピクチャの対象ブロックである、例えば、ブロックMBD#21と同一の位置(及びサイズ)の、ビュー#2の色画像C#2の第tピクチャのブロックMBC#21が検出される。
さらに、そのブロックMBC#21と同一の位置の、ワープド色画像C'#1のピクチャ(第tピクチャ)のブロックMBC'#11が検出され、色画像C#2のブロックMBC#21の、ワープド色画像C'#1のブロックMBC'#11に対する残差に対応する値である、例えば、SAD(Sum of Absolute Differences)が求められる。
そして、ブロックMBC#21とMBC'#11とのSADが所定の閾値以下である場合、視差情報画像D#2の対象ブロックであるブロックMBD#21は、ワープド視差情報画像D'#1に対するスキップマクロブロックとして符号化される。
したがって、この場合、視差情報画像D#2のブロックMBD#21の復号では、そのブロックMBD#21と同一の位置の、ワープド視差情報画像D'#1のブロックMBD'#11(のコピー)が、ブロックMBD#21の復号結果とされる。
一方、ブロックMBC#21とMBC'#11とのSADが所定の閾値以下でないる場合、視差情報画像D#2の対象ブロックであるブロックMBD#21は、視差情報画像D#1(のピクチャ)を参照ピクチャとして、予測符号化される。
すなわち、提案済み方法では、例えば、ME(Motion Estimation)(動き検出)によって、参照ピクチャである視差情報画像D#1(のピクチャ)において、対象ブロックであるブロックMBD#21とのSADを最小にするブロック(以下、対応ブロックともいう)との位置のずれを表すベクトルであるずれベクトル(視差ベクトル)が検出される。
さらに、提案済み方法では、ずれベクトルに基づいて、MC(Motion Compensation)(動き補償)を行うことで、予測画像が生成され、すなわち、参照ピクチャである視差情報画像D#1において、対象ブロックであるブロックMBD#21の位置から、ずれベクトルだけずれた位置のブロック、つまり、対応ブロックが、予測画像として取得され、その予測画像を用いて、対象ブロックであるブロックMBD#21が符号化される。
すなわち、対象ブロックであるブロックMBD#21の、予測画像に対する残差が求められ、その残差が、対象ブロックであるブロックMBD#21のずれベクトル(MEで検出されたベクトル)とともに、符号化される。
ここで、ずれベクトル(視差ベクトル、動きベクトル)に基づいて、予測画像を生成することを、ずれ予測(視差予測、動き予測)、又は、ずれ補償(視差補償、動き補償)ともいう。なお、ずれ予測には、必要に応じて、ずれベクトルの検出が含まれる。
図1では、符号化対象の視差情報画像D#2のブロックMBD#21については、そのブロックMBD#21と同一の位置の、ビュー#2の色画像C#2のブロックMBC#21と、ワープド色画像C'#1のブロックMBC'#11とのSADが、所定の閾値以下になっており、そのため、ブロックMBD#21は、ワープド視差情報画像D'#1の、例えば、ブロックMBD#21と同一の位置のブロックMBD'#11に対するスキップマクロブロックとして符号化されている。
また、符号化対象の視差情報画像D#2のブロックMBD#22については、そのブロックMBC#22と同一の位置の、ビュー#2の色画像C#2のブロックMBC#22と、ワープド色画像C'#1のブロックMBC'#12とのSADが、所定の閾値以下になっておらず、そのため、ブロックMBC#22は、視差情報画像D#1を参照ピクチャとし、その参照ピクチャである視差情報画像D#1の、ブロックMBC#22に対応する対応ブロックであるブロックMBD#12を予測画像として、予測符号化されている。
図2は、提案済み方法をさらに説明する図である。
提案済み方法では、図1で説明したように、ビュー#2の視差情報画像D#2の符号化において、ビュー#1の色画像C#1をワーピングすることにより、ワープド色画像C'#1が生成されるとともに、ビュー#1の視差情報画像D#1をワーピングすることにより、ワープド視差情報画像D'#1が生成される。
そして、ワープド色画像C'#1、及び、ワープド視差情報画像D'#1においては、オクルージョンが生じることがあり、そのオクルージョンが生じているオクルージョン部分については、例えば、ワーピングでの移動方向の逆方向にある、オクルージョン部分に最も近い画素等の画素値が補間される。
ここで、視点#1及び#2の色画像が、例えば、背景の手前に、前景としての物体が写っている画像である場合、視点#2の色画像に写っている背景のうちの、視点#1からでは、前景に隠れて見えない部分が、視点#1の色画像C#1をワーピングすることにより得られるワープド色画像C'#1において、オクルージョン部分となる。
視点#1の視差情報画像D#1をワーピングすることにより得られるワープド視差情報画像D'#1についても同様である。
上述の場合、オクルージョン部分は、背景であり、ワーピングでの移動方向の逆方向にある、オクルージョン部分に最も近い画素も背景(の画素)である。
そして、視差情報画像において、背景が写っている、近い位置にある2つの画素の画素値としての視差情報は、背景の奥行き方向の距離が急峻に変化していない限り、(ほぼ)同一の値となるので、視点#1の視差情報画像D#1をワーピングすることにより得られるワープド視差情報画像D'#1については、オクルージョン部分の周辺の画素、すなわち、例えば、ワーピングでの移動方向の逆方向にある、オクルージョン部分に最も近い画素によって、オクルージョン部分を補間した場合に、そのオクルージョン部分と、視差情報画像D#2の、オクルージョン部分と同一の位置の部分との相関は、高いことが多い。
一方、色画像において、背景が写っている、近い位置にある2つの画素の画素値としての色は、背景のテクスチャによって大きく異なることがあるため、視点#1の色画像C#1をワーピングすることにより得られるワープド色画像C'#1については、オクルージョン部分の周辺の画素によって、オクルージョン部分を補間した場合に、そのオクルージョン部分と、色画像C#2の、オクルージョン部分と同一の位置の部分との相関は、高くならないことが多い。
このため、図2に示すように、視差情報画像D#2の対象ブロックが、ワープド色画像C'#1のオクルージョン部分(の一部)を含むブロックMBC'#12と同一の位置のブロックMBD#22である場合、そのブロックMBD#22と同一の位置の、色画像C#2のブロックMBC#22と、ワープド色画像C'#1の、オクルージョン部分を含むブロックMBC'#12とのSADは、所定の閾値以下にならず、その結果、対象ブロックであるブロックMBD#22は、視差情報画像D#1を参照ピクチャとして、予測符号化される。
視差情報画像D#2において、ワープド色画像C'#1のオクルージョン部分(の一部)を含む位置になるブロックについては、ブロックMBD#22と同様に、視差情報画像D#1を参照ピクチャとして、予測符号化される。
そして、視差情報画像D#2の対象ブロックが予測符号化される場合、視差情報画像D#2の対象ブロックと、その対象ブロックに対応する、参照ピクチャの対応ブロックとのずれを表す、(多くの場合、0ベクトルでない)ずれベクトル(MEで検出される視差ベクトル)が発生する。
提案済み方法では、図1で説明したように、仮に、視差情報画像D#2の対象ブロックであるブロックMBC#22と同一の位置の、色画像C#2のブロックMBC#22と、ワープド色画像C'#1のブロックMBC'#12とのSADが、所定の閾値以下である場合には、対象ブロックであるブロックMBC#22は、ワープド視差情報画像D'#1に対するスキップマクロブロックとして符号化される。
スキップマクロブロックについては、残差が符号化されないので、色画像C#2のブロックMBC#22と、ワープド色画像C'#1のブロックMBC'#12とのSADが、所定の閾値以下である場合に、対象ブロックであるブロックMBD#22が、必ずスキップマクロブロックとされる提案済み方法では、符号化データのビットレートに余裕があっても、スキップマクロブロックとされる対象ブロックMBD#22について、復号画像の画質を、一定画質以上に向上させることができない。
また、提案済み方法では、視差情報画像D#2の対象ブロックの符号化に、視差情報画像D#1、及び、ワープド視差情報画像D'#1のうちのいずれを用いるかの判定を、マクロブロックレイヤで行うために、すなわち、対象ブロックと同一の位置の、ワープド色画像C'#1のブロック(マクロブロック)と、色画像C#2のブロック(マクロブロック)とのSADを用いて行うために、色画像C#1及びC#2、並びに、視差情報画像D#1及びD#2の符号化を、例えば、MVC方式等の既存の符号化方式を利用して行う場合には、デコーダ側において、対象ブロックの復号に、視差情報画像D#1、及び、ワープド視差情報画像D'#1のうちのいずれを用いるかを判定するのに、マクロブロックレイヤを変更しなければならず、既存の符号化方式の大きな変更を要する。
さらに、提案済み方法では、視差情報画像D#2の対象ブロックの符号化に、視差情報画像D#1、及び、ワープド視差情報画像D'#1のうちのいずれを用いるかの判定を、ローカルデコード後の色画像C#1をワーピングすることにより生成されるワープド色画像C'#1を用いて行うので、視差情報画像D#2の符号化(及び復号)のために、ワープド色画像C'#1を生成するのに用いる(ローカル)デコード後の色画像C#1を、(ローカル)デコード後の画像を記憶するバッファであるDPB(Decode Picture Buffer)に記憶しておく必要がある。
その結果、DPBとして、記憶容量の大きなバッファが必要となる。
そこで、本技術では、(ローカルデコード後の)視差情報画像D#1をワーピングすることにより生成されるワープド視差情報画像D'#1(のピクチャ)を、少なくとも、参照インデクスが割り当てられる参照ピクチャの候補として用いて、視差情報画像D#2の対象ブロックが予測符号化される。
[本技術の概要]
図3は、本技術の概要を説明する図である。
図3では、視差情報画像D#2の対象ブロックの符号化にあたって、(ローカルデコード後の)視差情報画像D#1をワーピングすることにより生成されるワープド視差情報画像D'#1(のピクチャ)と、視差情報画像D#1(のピクチャ)とが、参照ピクチャとなりうるピクチャとされている。
ワープド視差情報画像D'#1(のピクチャ)を参照ピクチャとする場合には、ずれベクトル(視差ベクトル)が0ベクトルであると仮定して、MCによって、視差情報画像D#2の対象ブロックであるブロックMBD#21の位置から、ずれベクトルだけずれた位置のブロック、つまり、対象ブロックMBD#21と同一の位置のブロックMBD'#11が、予測画像として取得される。
そして、例えば、対象ブロックMBD#21の、予測画像であるブロックMBD'#11との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、ワープド視差情報画像D'#1を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コストCOST=COST1'が、式(1)に従って算出される。
COST=SAD+λMV
・・・(1)
・・・(1)
なお、式(1)において、λは、ずれベクトルの符号量に対応する値MVに対する重みであり、残差の量子化ステップに応じて設定される。
ここで、ワープド視差情報画像D'#1は、視点#1の視差情報画像D#1を、視点#2から見た画像に変換した画像であり、視点#2の視差情報画像D#2との間に、視差がない(視差補償がされている)と推定することができるので、ずれベクトルとして、0ベクトルが仮定される。
ワープド視差情報画像D'#1について、ずれベクトルが0ベクトルであると仮定する場合、その0ベクトルであるずれベクトルについては、ずれベクトルの符号量、ひいては、その符号量に対応する値MVとしては、0(又は、0に近い小さい値)を採用することができる。
すなわち、いま、ずれベクトルの符号量が、すれベクトル(、又は、ずれベクトルと後述する予測ベクトルとの差分のベクトル)の大きさに比例することとすると、0ベクトルであるずれベクトルについては、ずれベクトルの符号量に対応する値MVとしては、0(又は、0に近い小さい値)を採用することができる。
この場合、ワープド視差情報画像D'#1を参照ピクチャとして用いて、対象ブロックMBD#21を符号化するときの符号化コストCOST1'は、式COST1'=SAD+λ×0=SADで表される。
なお、ここでは、ワープド視差情報画像D'#1について、ずれベクトルとして、0ベクトルを採用したが、ワープド視差情報画像D'#1については、対象ブロックMBD#21との間で、MEを行って、すれベクトルを検出してもよい。
一方、視差情報画像D#1(のピクチャ)を参照ピクチャとする場合には、対象ブロックMBD#21と、視差情報画像D#1との間で、MEを行うことによって、ずれベクトル(視差ベクトル)が検出される。
さらに、MCによって、視差情報画像D#1において、対象ブロックMBD#21の位置から、ずれベクトルだけずれた位置のブロック(対応ブロック)MBD#11が、予測画像として取得される。
そして、対象ブロックMBD#21の、予測画像であるブロックMBD#11との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、視差情報画像D#1を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コストCOST=COST1が、式(1)に従って算出される。
以上のように、ワープド視差情報画像D'#1を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コスト(ワープド視差情報画像D'#1についての符号化コスト)COST1'と、視差情報画像D#1を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コスト(視差情報画像D#1についての符号化コスト)COST1との算出後、その符号化コストCOST1'及びCOST1に基づいて、ワープド視差情報画像D'#1、及び、視差情報画像D#1のうちの、符号化コストが小さい方が、対象ブロックMBD#21の符号化に用いる参照ピクチャとして選択される。
ここで、例えば、MVC(AVC)では、対象ブロックの符号化において参照ピクチャとなりうる1以上のピクチャ(参照ピクチャの候補)に、各ピクチャを区別するための参照インデクスref_idxが割り当てられる。
複数の視点の画像を、MVCのように、参照ピクチャの候補それぞれに、参照インデクスを割り当てて符号化を行う符号化方式を利用して符号化することとすると、図3において、参照ピクチャの候補(以下、候補ピクチャともいう)は、ワープド視差情報画像D'#1、及び、視差情報画像D#1(のピクチャ)であり、そのワープド視差情報画像D'#1、及び、視差情報画像D#1それぞれには、参照インデクスref_idxが割り当てられる。
図3では、ワープド視差情報画像D'#1には、値が0(第1の値)の参照インデクスref_idxが割り当てられ、視差情報画像D#1には、値が1(第2の値)の参照インデクスref_idxが割り当てられている。
ワープド視差情報画像D'#1、及び、視差情報画像D#1のうちの、符号化コストが小さい方が、対象ブロックMBD#21の符号化に用いる参照ピクチャとして選択されると、その参照ピクチャを用いて生成された予測画像に対する対象ブロックMBD#21の残差(残差画像)が求められ、その残差、予測画像を求めるのに用いたずれベクトル(視差ベクトル)に関するずれベクトル情報、及び、予測画像を求めるのに用いた参照ピクチャに割り当てられている参照インデクスref_idxが符号化される。
以上のように、図3では、ワープド視差情報画像D'#1、及び、視差情報画像D#1のうちのいずれが参照ピクチャとして選択されても、その参照ピクチャを用いて生成された予測画像に対する対象ブロックMBD#21の残差が符号化されるので、その残差に割り当てる符号量を調整することで、視差情報画像D#2の復号画像の画質を向上させることが可能となる。
すなわち、提案済み方法では、図1で説明したように、対象ブロックの符号化に、ワープド視差情報画像D'#1を用いる場合には、対象ブロックは、必ず、スキップマクロブロックとされるため、対象ブロックの残差が符号化されることはない。
一方、図3では、ワープド視差情報画像D'#1が、参照ピクチャとして選択された場合、その参照ピクチャを用いて生成された予測画像に対する対象ブロックの残差が符号化される(符号化されうる)ので、符号化データのビットレートに余裕がある場合には、その残差に多くの符号量を割り当てることで、復号画像の画質を向上させることができる。
なお、MVCでは、値が0の参照インデクスが割り当てられた参照ピクチャを用いて、対象ブロックの符号化を行う場合には、対象ブロックを、スキップマクロブロックとすることができる。
したがって、図3に示したように、ワープド視差情報画像D'#1に、値が0の参照インデクスref_idxを割り当てることで、ワープド視差情報画像D'#1が、参照ピクチャとして選択された場合には、対象ブロックを、スキップマクロブロックとして符号化することもできる。
また、図3では、参照インデクスref_idxが符号化されるので、デコーダ側において、対象ブロックの復号に、ワープド視差情報画像D'#1、及び、視差情報画像D#1のうちのいずれを参照ピクチャとして用いるのかを、参照インデクスref_idxによって判定することができるので、提案済み方法のように、マクロブロックレイヤ(以下)を変更する必要がなく、したがって、MVC等の既存の符号化方式を大きく変更することなく、その既存の符号化方式を利用して行うことができる。
さらに、図3では、視差情報画像D#2の対象ブロックを符号化するときに参照する参照ピクチャの選択にあたって、提案済み方法のように、色画像を用いることはないので、視差情報画像D#2の対象ブロックの符号化のために、ローカルデコード後の色画像を、DPBに記憶しておく必要はなく、その分、提案済み方法の場合に比較して、DPBとして、記憶容量の小さなバッファを採用することができる。
また、図3の場合には、候補ピクチャに、ワープド視差情報画像D'#1が含まれ、そのワープド視差情報画像D'#1に、値が0の参照インデクスref_idxが割り当てられるので、提案済み方法に比較して、符号化効率を向上させることができる。
ここで、MVC(AVC)では、参照インデクスref_idxとしては、0を最小値とする整数が用いられる。
さらに、MVCでは、値が0の参照インデクスref_idxの符号量は、他の値の参照インデクスref_idxの符号量よりも少ない。
したがって、複数の視点の画像を、例えば、MVCを利用して符号化する場合には、候補ピクチャの中で、より参照ピクチャとして選択されやすい候補ピクチャに、値が0の参照インデクスref_idxを割り当てることで、符号量を小さくし、符号化効率を向上させることができる。
図3では、候補ピクチャは、ワープド視差情報画像D'#1、及び、視差情報画像D#1であり、ワープド視差情報画像D'#1に、値が0の参照インデクスref_idxが、視差情報画像D#1に、値が0の参照インデクスref_idxが、それぞれ割り当てられている。
そして、候補ピクチャであるワープド視差情報画像D'#1、及び、視差情報画像D#1のうちの、ワープド視差情報画像D'#1は、参照ピクチャとして選択されやすく、そのようなワープド視差情報画像D'#1に、値が0の参照インデクスref_idxが割り当てられているので、符号化効率を向上させることができる。
図4は、ワープド視差情報画像D'#1、及び、視差情報画像D#1のうちの、ワープド視差情報画像D'#1が、参照ピクチャとして選択されやすいことを説明する図である。
ワープド視差情報画像D'#1は、上述したように、(ローカルデコード後の)視差情報画像D#1をワーピングすることにより生成される、視点#2で得られる(視点#2で得られるであろう)視差情報画像である。
そのため、視点#2の視差情報画像D#2の対象ブロックと、その対象ブロックと同一の位置の、ワープド視差情報画像D'#1のブロックとのSADは、多くの場合、小さな値となる。
ワープド視差情報画像D'#1(のピクチャ)を参照ピクチャとして、対象ブロックを符号化する場合には、ずれベクトルが0ベクトルであると仮定して、MCによって、視差情報画像D#2の対象ブロックの位置から、ずれベクトルだけずれた位置のブロック(対応ブロック)、つまり、対象ブロックと同一の位置のブロックが、予測画像として取得される。
したがって、ワープド視差情報画像D'#1を参照ピクチャとする場合には、その対象ブロックと予測画像とのSADは、多くの場合、小さな値となる。
さらに、ワープド視差情報画像D'#1については、ずれベクトルとして、0ベクトルを仮定して、図3で説明したように、ずれベクトルの符号量に対応する値MVとして、0を採用して、符号化コストCOST1'=SAD+λ×0=SADが計算される。
したがって、ワープド視差情報画像D'#1についての符号化コストCOST1'は、ずれベクトルの符号量に対応する値MVが、必ずしも0ではない、視差情報画像D#1についての符号化コストCOST1=SAD+λMVに比較して、小さくなりやすい。
その結果、ワープド視差情報画像D'#1、及び、視差情報画像D#1については、ワープド視差情報画像D'#1の方が、視差情報画像D#1よりも、参照ピクチャとして選択されやすい。
以上のように、参照ピクチャとして選択されやすいワープド視差情報画像D'#1に、値が0の参照インデクスref_idxを割り当てることで、符号化効率を向上させることができる。
また、ワープド視差情報画像D'#1の生成では、視差情報画像D#1がワーピングされるが、そのワーピングによって、オクルージョン部分が生じる。
ワープド視差情報画像D'#1において、オクルージョン部分は、図2で説明したように、オクルージョン部分の周辺の画素によって補間されるが、このオクルージョン部分と、視差情報画像D#2の、オクルージョン部分と同一の位置の部分との相関は、高いことが多い。
したがって、視差情報画像D#2の対象ブロックが、図4に示すように、ワープド視差情報画像D'#1のオクルージョン部分(の一部)を含むブロックMBD'#22と同一の位置のブロックMBD#22である場合であっても、対象ブロックMBD#22と、ワープド視差情報画像D'#1を参照ピクチャとしたときの予測画像とのSAD、つまり、対象ブロックMBD#22と、その対象ブロックMBD#22と同一の位置の、ワープド視差情報画像D'#1のブロックMBD'#22とのSADは、小さくなりやすい。
よって、視差情報画像D#2の対象ブロックが、ワープド視差情報画像D'#1のオクルージョン部分を含むブロックMBD'#22と同一の位置のブロックMBD#22である場合であっても、ワープド視差情報画像D'#1についての符号化コストは小さくなりやすい。したがって、ワープド視差情報画像D'#1が、参照ピクチャとして選択されやすいので、そのようなワープド視差情報画像D'#1に、値が0の参照インデクスを割り当てることにより、符号化効率を向上させることができる。
また、ワープド視差情報画像D'#1が、参照ピクチャとして選択される場合には、ずれベクトルが0ベクトルであると仮定されるので、(0ベクトルでない)ずれベクトルが発生しない。
なお、色画像については、図2で説明したように、ワープド色画像のオクルージョン部分と、そのワープド色画像のワーピング前の色画像の、オクルージョン部分と同一の位置の部分との相関は、高くならないことが多い。
その結果、視差情報画像D#2の対象ブロックの符号化に、視差情報画像D#1、及び、ワープド視差情報画像D'#1のうちのいずれを用いるかの判定を、ワープド色画像C'#1のブロックと、色画像C#2のブロックとのSADを用いて行う提案済み方法では、図2で説明したように、視差情報画像D#2の対象ブロックが、ワープド色画像C'#1のオクルージョン部分(の一部)を含むブロックMBC'#12と同一の位置のブロックMBD#22である場合に、その対象ブロックMBD#22と同一の位置の、色画像C#2のブロックMBC#22と、ワープド色画像C'#1の、オクルージョン部分を含むブロックMBC'#12とのSADは、所定の閾値以下にならず、その結果、対象ブロックであるブロックMBD#22は、視差情報画像D#1を参照ピクチャとして、予測符号化される(されやすい)。
すなわち、提案済み方法では、ワープド視差情報画像D'#1のオクルージョン部分を含むブロックMBD'#22と同一の位置の、視差情報画像D#2の対象ブロックMBD#22については、対象ブロックMBD#22と、その対象ブロックMBD#22と同一の位置の、ワープド視差情報画像D'#1のブロックMBD'#22とのSADが小さくても、色画像を用いて求められるSADが小さくならず(所定の閾値以下にならず)、視差情報画像D#1を参照ピクチャとして、予測符号化されやすい。
したがって、提案済み方法では、対象ブロックMBD#22と、視差情報画像D#1とを用いて行われるMEによって、(多くの場合、0ベクトルでない)ずれベクトルが発生する。
これに対して、本技術では、ワープド視差情報画像D'#1のオクルージョン部分を含むブロックMBD'#22と同一の位置の対象ブロックMBD#22については、対象ブロックMBD#22と、その対象ブロックMBD#22と同一の位置の、ワープド視差情報画像D'#1のブロックMBD'#22とのSADが小さければ、提案済み方法でMEによって発生するずれベクトルが発生しない。
なお、提案済み方法は、色画像への適用の可否は不明であるが、図3で説明した視差情報画像の符号化方法は、色画像にも適用することができる。
[本技術を適用した多視点画像エンコーダの一実施の形態]
図5は、本技術を適用した多視点画像エンコーダの一実施の形態の構成例を示すブロック図である。
図5の多視点画像エンコーダは、例えば、MVC方式を利用して、複数の視点の画像を符号化するエンコーダであり、以下では、MVC方式と同様の処理については、適宜、説明を省略する。
なお、多視点画像エンコーダは、MVC方式を利用するエンコーダに限定されるものではない。
また、以下では、複数の視点の画像として、2つの視点#1及び#2の色画像であるビュー#1の色画像C#1、及び、ビュー#2の色画像C#2、並びに、その2つの視点#1及び#2の視差情報画像であるビュー#1の視差情報画像D#1、及び、ビュー#2の視差情報画像D#2を採用することとする。
さらに、例えば、ビュー#1の色画像C#1、及び、視差情報画像D#1を、ベースビューの画像とし、残りのビュー#2の色画像C#2、及び、視差情報画像D#2を、ディペンデントビューの画像として扱うこととする。
なお、複数の視点の画像としては、3つ以上の視点の色画像、及び、視差情報画像を採用することができ、その3つ以上の視点の色画像、及び、視差情報画像のうちの、任意の1つの視点の色画像、及び、視差情報画像を、ベースビューの画像とし、残りの視点の色画像、及び、視差情報画像を、ディペンデントビューの画像として扱うことができる。
図5において、多視点画像エンコーダは、エンコーダ11,12,21,22,DPB31、及び、多重化部32を有する。
エンコーダ11には、ビュー#1の色画像C#1と、視差関連情報(デプス関連情報)とが供給される。
ここで、視差関連情報(デプス関連情報)は、視差情報(デプス情報)のメタデータであり、その詳細については、後述する。
エンコーダ11は、ビュー#1の色画像C#1を、必要に応じて、視差関連情報を用いて符号化し、その結果得られるビュー#1の色画像C#1の符号化データを、多重化部32に供給する。
エンコーダ12には、ビュー#2の色画像C#2と、視差関連情報とが供給される。
エンコーダ12は、ビュー#2の色画像C#2を、必要に応じて、視差関連情報を用いて符号化し、その結果得られるビュー#2の色画像C#2の符号化データを、多重化部32に供給する。
エンコーダ21には、ビュー#1の視差情報画像D#1と、視差関連情報とが供給される。
エンコーダ21は、ビュー#1の視差情報画像D#1を、必要に応じて、視差関連情報を用いて符号化し、その結果得られるビュー#1の視差情報画像D#1の符号化データを、多重化部32に供給する。
エンコーダ22には、ビュー#2の視差情報画像D#2と、視差関連情報とが供給される。
エンコーダ22は、ビュー#2の視差情報画像D#2を、必要に応じて、視差関連情報を用いて符号化し、その結果得られるビュー#2の視差情報画像D#2の符号化データを、多重化部32に供給する。
DPB31は、エンコーダ11,12,21、及び、22それぞれで、符号化対象の画像を符号化し、ローカルデコードすることにより得られるローカルデコード後の画像(デコード画像)を、予測画像の生成時に参照する参照ピクチャ(の候補)として一時記憶する。
すなわち、エンコーダ11,12,21、及び、22は、符号化対象の画像を予測符号化する。そのため、エンコーダ11,12,21、及び、22は、予測符号化に用いる予測画像を生成するのに、符号化対象の画像を符号化した後、ローカルデコードを行って、デコード画像を得る。
DPB31は、エンコーダ11,12,21、及び、22それぞれで得られるデコード画像を一時記憶する、いわば共用のバッファであり、エンコーダ11,12,21、及び、22それぞれは、DPB31に記憶されたデコード画像から、符号化対象の画像を符号化するのに参照する参照ピクチャを選択する。そして、エンコーダ11,12,21、及び、22それぞれは、参照ピクチャを用いて、予測画像を生成し、その予測画像を用いて、画像の符号化(予測符号化)を行う。
DPB31は、エンコーダ11,12,21、及び、22で共用されるので、エンコーダ11,12,21、及び、22それぞれは、自身で得られたデコード画像の他、他のエンコーダで得られたデコード画像をも参照することができる。
多重化部32には、エンコーダ11,12,21、及び、22のそれぞれから符号化データが供給される他、視差関連情報が供給される。
多重化部32は、エンコーダ11,12,21、及び、22のそれぞれからの符号化データ、さらには、そこに供給される視差関連情報を多重化し、その結果得られる多重化データを出力する。
多重化部32が出力する多重化データは、図示せぬ記録媒体に記録され、又は、図示せぬ伝送媒体を介して伝送される。
[多視点画像生成装置]
図6は、図5の多視点画像エンコーダにおいて符号化の対象となる複数の視点の画像を生成する多視点画像生成装置の構成例を示すブロック図である。
多視点画像生成装置では、複数の視点としての、例えば、2つの視点の画像を撮影するために、2つのカメラ41及び42が、異なる視点の色画像を撮影することができる位置に設置されている。
ここで、本実施の形態では、説明を簡単にするために、カメラ41及び42は、ある水平面上の一直線上の異なる位置に、その直線に垂直な方向に光軸を向けて配置されていることとする。
カメラ41は、そのカメラ41が配置されている位置で、被写体を撮影し、動画像である色画像C#1を出力する。
さらに、カメラ41は、他の任意の1つのカメラであるカメラ42の位置を、基準の視点として、色画像C#1の各画素について、基準の視点に対する視差を表す視差ベクトルd1を出力する。
カメラ42は、そのカメラ42が配置されている位置で、被写体を撮影し、動画像である色画像C#2を出力する。
さらに、カメラ42は、他の任意の1つのカメラであるカメラ41の位置を、基準の視点として、色画像C#2の各画素について、基準の視点に対する視差を表す視差ベクトルd2を出力する。
ここで、色画像の横(水平)方向を、x軸とし、縦(垂直)方向を、y軸とする2次元平面を、色画像平面ということとすると、カメラ41及び42は、色画像平面に直交する平面(水平面)上の一直線上に配置されている。したがって、視差ベクトルd1及びd2は、y成分が0で、x成分が、カメラ41及び42の水平方向の位置関係等に対応する値のベクトルとなる。
なお、カメラ41及び42が出力する視差ベクトル(視差)d1及びd2を、後述する、MEによって求められる視差を表す視差ベクトルと区別するために、以下、撮影視差ベクトルd1及びd2ともいう。
カメラ41が出力する色画像C#1、及び、撮影視差ベクトルd1、並びに、カメラ42が出力する色画像C#2、及び、撮影視差ベクトルd2は、多視点画像情報生成部43に供給される。
多視点画像情報生成部43は、カメラ41及び42からの色画像C#1を、そのまま出力する。
また、多視点画像情報生成部43は、カメラ41からの撮影視差ベクトルd1から、色画像#1の画素ごとの視差に関する視差情報を求め、その視差情報を、画素値として有する視差情報画像D#1を生成して出力する。
さらに、多視点画像情報生成部43は、カメラ42からの撮影視差ベクトルd2から、色画像#2の画素ごとの視差に関する視差情報を求め、その視差情報を、画素値として有する視差情報画像D#2を生成して出力する。
上述したように、視差情報(デプス情報)としては、例えば、撮影視差ベクトルに対応する値である視差値(値I)や、被写体までの距離(奥行き)を表す奥行きZの正規化後の値yがある。
いま、視差情報画像の画素値が、例えば、8ビットで表される0ないし255の整数値をとることとする。さらに、撮影視差ベクトル(のx成分)をdで表すとともに、(例えば、ピクチャや、1つのコンテンツとしての動画像等で)撮影視差ベクトル(のx成分)の最大値と最小値を、それぞれ、dmaxとdminと表すこととする。
この場合、視差値ν(値I)は、上述したように、例えば、撮影視差ベクトル(のx成分)dと、その最大値dmax(Dmax)及び最小値dmin(Dmin)を用いて、式(2)に従って求められる。
ν=255×(d-dmin)/(dmax-dmin)
・・・(2)
・・・(2)
なお、式(2)の視差値νは、式(3)に従って、撮影視差ベクトル(のx成分)dに変換することができる。
d=ν×(dmax-dmin)/255+dmin
・・・(3)
・・・(3)
また、奥行きZは、カメラ41及び42が配置されている直線上から、被写体までの距離を表す。
カメラ41については(カメラ42についても同様)、カメラ41と一直線上に配置されているカメラ42との距離(基準の視点との距離)である基線長をLと、カメラ41の焦点距離をfと、それぞれ表すこととすると、奥行きZは、撮影視差ベクトル(のx成分)d(d1)を用い、式(4)に従って求めることができる。
Z=(L/d)×f
・・・(4)
・・・(4)
視差情報である視差値νと奥行きZとは、式(4)に従って相互に変換することができるので、等価な情報である。
ここで、以下では、画素値として視差値νを有する視差情報画像(デプス画像)を、視差画像ともいい、画素値として、奥行きZの正規化後の値yを有する画像を、奥行き画像ともいう。
なお、以下では、視差情報画像として、視差画像、及び、奥行き画像のうちの、例えば、視差画像を用いることとするが、視差情報画像としては、奥行き画像を用いることも可能である。
多視点画像情報生成部43は、以上の色画像#1及び#2、並びに、視差画像D#1及び#2の他に、視差関連情報を出力する。
すなわち、多視点画像情報生成部43には、外部から、カメラ41と42との距離(カメラ41及び42それぞれと、基準の視点との距離)である基線長L、及び、焦点距離fが供給される。
多視点画像情報生成部43は、カメラ41からの撮影視差ベクトルd1、及び、カメラ41からの撮影視差ベクトルd2のそれぞれについて、撮影視差ベクトル(のx成分)dの最大値dmax及び最小値dminを検出する。
そして、多視点画像情報生成部43は、撮影視差ベクトルdの最大値dmax及び最小値dmin、並びに、基線長L、及び、焦点距離fを、視差関連情報として出力する。
多視点画像情報生成部43が出力する色画像C#1及びC#2、視差画像D#1及びD#2、並びに、視差関連情報は、図5の多視点画像エンコーダに供給される。
なお、ここでは、説明を簡単にするため、カメラ41及び42を、色画像平面に直交する同一の平面上の一直線上に配置し、撮影視差ベクトルd(d1及びd2)が、y成分が0のベクトルであることとしたが、カメラ41及び42それぞれは、色画像平面に直交する異なる平面上に配置することができる。この場合、撮影視差ベクトルdは、x成分及びy成分とも、0以外の値になりうるベクトルとなる。
[MVC方式の概要]
図7は、MVC方式の予測符号化において、予測画像を生成するときに参照するピクチャを説明する図である。
いま、ベースビューの画像であるビュー#1の画像のピクチャを、(表示)時刻順に、p11,p12,p13,・・・と表すとともに、ディペンデントビューの画像であるビュー#2の画像のピクチャを、時刻順に、p21,p22,p23,・・・と表すこととする。
ベースビューのピクチャである、例えば、ピクチャp12は、そのベースビューのピクチャである、例えば、ピクチャp11やp13を、必要に応じて参照して、予測符号化される。
すなわち、ベースビューのピクチャp12については、そのベースビューの他の時刻のピクチャであるピクチャp11やp13のみを参照し、予測(予測画像の生成)を行うことができる。
また、ディペンデントビューのピクチャである、例えば、ピクチャp22は、そのディペンデントビューのピクチャである、例えば、ピクチャp21やp23、さらには、他のビューであるベースビューのピクチャp12を、必要に応じて参照して、予測符号化される。
すなわち、ディペンデントビューのピクチャp22は、そのディペンデントビューの他の時刻のピクチャであるピクチャp21やp23の他、他のビューのピクチャであるベースビューのピクチャp12を参照し、予測を行うことができる。
ここで、符号化対象のピクチャと同一のビューのピクチャを参照して行われる予測を、時間予測ともいい、符号化対象のピクチャと異なるビューのピクチャを参照して行われる予測を、視差予測ともいう。
以上のように、MVC方式では、ベースビューのピクチャについては、時間予測のみを行うことができ、ディペンデントビューのピクチャについては、時間予測と視差予測を行うことができる。
なお、MVC方式において、視差予測において参照する、符号化対象のピクチャと異なるビューのピクチャは、符号化対象のピクチャと同一の時刻のピクチャでなければならない。
図5の多視点画像エンコーダを構成するエンコーダ11,12,21、及び、22は、原則として、MVC方式に従って、予測(予測画像の生成)を行う。
図8は、MVC方式でのピクチャの符号化(及び復号)順を説明する図である。
図7と同様に、ベースビューの画像であるビュー#1の画像のピクチャを、(表示)時刻順に、p11,p12,p13,・・・と表すとともに、ディペンデントビューの画像であるビュー#2の画像のピクチャを、時刻順に、p21,p22,p23,・・・と表すこととする。
いま、説明を簡単にするために、各ビューのピクチャが、時刻順に符号化されることとすると、まず、ベースビューの最初の時刻t=1のピクチャp11が符号化され、その後、ディペンデントビューの、同一時刻t=1のピクチャp21が符号化される。
ディペンデントビューの、同一時刻t=1のピクチャ(すべて)の符号化が終了すると、ベースビューの次の時刻t=2のピクチャp12が符号化され、その後、ディペンデントビューの、同一時刻t=2のピクチャp22が符号化される。
以下、同様の順番で、ベースビューのピクチャ、及び、ディペンデントビューのピクチャは、符号化されていく。
図5の多視点画像エンコーダを構成するエンコーダ11,12,21、及び、22では、MVC方式に従った順番で、ピクチャが符号化される。
[エンコーダ11の構成例]
図9は、図5のエンコーダ11の構成例を示すブロック図である。
なお、図5のエンコーダ12及び21も、エンコーダ11と同様に構成され、例えば、MVC方式に従って、画像の符号化を行う。
図9において、エンコーダ11は、A/D(Analog/Digital)変換部111、画面並び替えバッファ112、演算部113、直交変換部114、量子化部115、可変長符号化部116、蓄積バッファ117、逆量子化部118、逆直交変換部119、演算部120、デブロッキングフィルタ121、画面内予測部122、インター予測部123、及び、予測画像選択部124を有する。
A/D変換部111には、符号化対象の画像(動画像)であるビュー#1の色画像C#1のピクチャが、表示順に、順次、供給される。
A/D変換部111は、そこに供給されるピクチャが、アナログ信号である場合には、そのアナログ信号をA/D変換し、画面並び替えバッファ112に供給する。
画面並び替えバッファ112は、A/D変換部111からのピクチャを一時記憶し、あらかじめ決められたGOP(Group of Pictures)の構造に応じて、ピクチャを読み出すことで、ピクチャの並びを、表示順から、符号化順(復号順)に並び替える並び替えを行う。
画面並び替えバッファ112から読み出されたピクチャは、演算部113、画面内予測部122、及び、インター予測部123に供給される。
演算部113には、画面並び替えバッファ112から、ピクチャが供給される他、予測画像選択部124から、画面内予測部122、又は、インター予測部123で生成された予測画像が供給される。
演算部113は、画面並び替えバッファ112から読み出されたピクチャを、符号化対象の対象ピクチャとし、さらに、対象ピクチャを構成するマクロブロックを、順次、符号化対象の対象ブロックとする。
そして、演算部113は、対象ブロックの画素値から、予測画像選択部124から供給される予測画像の画素値を減算した減算値を、必要に応じて演算し、直交変換部114に供給する。
直交変換部114は、演算部113からの対象ブロック(の画素値、又は、予測画像が減算された残差)に対して、離散コサイン変換や、カルーネン・レーベ変換等の直交変換を施し、その結果得られる変換係数を、量子化部115に供給する。
量子化部115は、直交変換部114から供給される変換係数を量子化し、その結果得られる量子化値を、可変長符号化部116に供給する。
可変長符号化部116は、量子化部115からの量子化値に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)等)や、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)等)等の可逆符号化を施し、その結果得られる符号化データを、蓄積バッファ117に供給する。
なお、可変長符号化部116には、量子化部115から量子化値が供給される他、画面内予測部122やインター予測部123から、符号化データのヘッダに含めるヘッダ情報が供給される。
可変長符号化部116は、画面内予測部122やインター予測部123からの、ヘッダ情報を符号化し、符号化データのヘッダに含める。
蓄積バッファ117は、可変長符号化部116からの符号化データを一時記憶し、所定のデータレートで出力する。
蓄積バッファ117から出力された符号化データは、多重化部32(図5)に供給される。
量子化部115で得られた量子化値は、可変長符号化部116に供給される他、逆量子化部118にも供給され、逆量子化部118、逆直交変換部119、及び、演算部120において、ローカルデコードが行われる。
すなわち、逆量子化部118は、量子化部115からの量子化値を、変換係数に逆量子化し、逆直交変換部119に供給する。
逆直交変換部119は、逆量子化部118からの変換係数を逆直交変換し、演算部120に供給する。
演算部120は、逆直交変換部119から供給されるデータに対して、必要に応じて、予測画像選択部124から供給される予測画像の画素値を加算することで、対象ブロックを復号(ローカルデコード)したデコード画像を得て、デブロッキングフィルタ121に供給する。
デブロッキングフィルタ121は、演算部120からのデコード画像をフィルタリングすることにより、デコード画像に生じたブロック歪を除去(低減)し、DPB31(図5)に供給する。
ここで、DPB31は、デブロッキングフィルタ121からのデコード画像、すなわち、エンコーダ11において符号化されてローカルデコードされた色画像C#1のピクチャを、時間的に後に行われる予測符号化(演算部113で予測画像の減算が行われる符号化)に用いる予測画像を生成するときに参照する参照ピクチャ(の候補)として記憶する。
図5で説明したように、DPB31は、エンコーダ11,12,21、及び、22で共用されるので、エンコーダ11において符号化されてローカルデコードされた色画像C#1のピクチャの他、エンコーダ12において符号化されてローカルデコードされた色画像C#2のピクチャ、エンコーダ21において符号化されてローカルデコードされた視差画像D#1のピクチャ、及び、エンコーダ22において符号化されてローカルデコードされた視差画像D#2のピクチャも記憶する。
なお、逆量子化部118、逆直交変換部119、及び、演算部120によるローカルデコードは、例えば、参照ピクチャとなることが可能な参照可能ピクチャであるIピクチャ、Pピクチャ、及び、Bsピクチャを対象として行われ、DPB31では、Iピクチャ、Pピクチャ、及び、Bsピクチャのデコード画像が記憶される。
画面内予測部122は、対象ピクチャが、イントラ予測(画面内予測)され得るIピクチャ、Pピクチャ、又は、Bピクチャ(Bsピクチャを含む)である場合に、DPB31から、対象ピクチャのうちの、既にローカルデコードされている部分(デコード画像)を読み出す。そして、画面内予測部122は、DPB31から読み出した、対象ピクチャのうちのデコード画像の一部を、画面並び替えバッファ112から供給される対象ピクチャの対象ブロックの予測画像とする。
さらに、画面内予測部122は、予測画像を用いて対象ブロックを符号化するのに要する符号化コスト、すなわち、対象ブロックの、予測画像に対する残差等を符号化するのに要する符号化コストを求め、予測画像とともに、予測画像選択部124に供給する。
インター予測部123は、対象ピクチャが、インター予測され得るPピクチャ、又は、Bピクチャ(Bsピクチャを含む)である場合に、DPB31から、対象ピクチャより前に符号化されてローカルデコードされた1以上のピクチャを、候補ピクチャ(参照ピクチャの候補)として読み出す。
また、インター予測部123は、画面並び替えバッファ112からの対象ピクチャの対象ブロックと、候補ピクチャとを用いたMEによって、対象ブロックと、候補ピクチャの、対象ブロックに対応する対応ブロック(対象ブロックとのSADを最小にするブロック)とのずれ(視差、動き)を表すずれベクトルを検出する。
ここで、候補ピクチャが、対象ピクチャと同一のビューのピクチャである場合、対象ブロックと候補ピクチャとを用いたMEによって検出されるずれベクトルは、対象ブロックと、候補ピクチャとの間の動き(時間的なずれ)を表す動きベクトルとなる。
また、候補ピクチャが、対象ピクチャと異なるビューのピクチャである場合、対象ブロックと候補ピクチャとを用いたMEによって検出されるずれベクトルは、対象ブロックと、候補ピクチャとの間の視差(空間的なずれ)を表す視差ベクトルとなる。
以上のように、MEによって求められる視差ベクトルを、図6で説明した撮影視差ベクトルと区別するために、計算視差ベクトルともいう。
本実施の形態では、説明を簡単にするため、撮影視差ベクトルは、y成分が0のベクトルであることとしたが、MEによって検出される計算視差ベクトルは、対象ブロックと、候補ピクチャの、対象ブロックとのSADを最小にするブロック(対応ブロック)とのずれ(位置関係)を表すので、y成分が0になるとは限らない。
インター予測部123は、対象ブロックのずれベクトルに従って、DPB31からの候補ピクチャのずれ補償(動き分のずれを補償する動き補償、又は、視差分のずれを補償する視差補償)を行うことで、予測画像を生成する。
すなわち、インター予測部123は、候補ピクチャの、対象ブロックの位置から、その対象ブロックのずれベクトルに従って移動した(ずれた)位置のブロック(領域)である対応ブロックを、予測画像として取得する。
さらに、インター予測部123は、対象ブロックを予測画像を用いて符号化するのに要する符号化コストを、予測画像の生成に用いる候補ピクチャや、後述するマクロブロックタイプ等が異なるインター予測モードごとに求める。
そして、インター予測部123は、符号化コストが最小のインター予測モードを、最適なインター予測モードである最適インター予測モードとして、その最適インター予測モードで得られた予測画像と符号化コストとを、予測画像選択部124に供給する。
予測画像選択部124は、画面内予測部122、及び、インター予測部123それぞれからの予測画像のうちの、符号化コストが小さい方を選択し、演算部113、及び、120に供給する。
ここで、画面内予測部122は、イントラ予測に関する情報を、ヘッダ情報として、可変長符号化部116に供給し、インター予測部123は、インター予測に関する情報(ずれベクトルの情報や参照インデクス等)を、ヘッダ情報として、可変長符号化部116に供給する。
可変長符号化部116は、画面内予測部122、及び、インター予測部123それぞれからのヘッダ情報のうちの、符号化コストが小さい予測画像が生成された方からのヘッダ情報を選択し、符号化データのヘッダに含める。
[マクロブロックタイプ]
図10は、MVC(AVC)方式のマクロブロックタイプを説明する図である。
MVC方式では、対象ブロックとなるマクロブロックは、横×縦が16×16画素のブロックであるが、ME(及び、予測画像の生成)は、マクロブロックをパーティションに分割して、パーティションごとに行うことができる。
すなわち、MVC方式では、マクロブロックを、16×16画素、16×8画素、8×16画素、又は8×8画素のうちのいずれかのパーティションに分割して、各パーティションごとに、MEを行って、すれベクトル(動きベクトル、又は、計算視差ベクトル)を検出することができる。
また、MVC方式では、8×8画素のパーティションは、さらに、8×8画素、8×4画素、4×8画素、又は4×4画素のうちのいずれかのサブパーティションに分割し、各サブパーティションごとに、MEを行って、すれベクトル(動きベクトル、又は、計算視差ベクトル)を検出することができる。
マクロブロックタイプは、マクロブロックを、どのようなパーティション(さらには、サブパーティション)に分割するかを表す。
インター予測部123(図9)のインター予測では、各マクロブロックタイプの符号化コストが、各インター予測モードの符号化コストとして算出され、符号化コストが最小のインター予測モード(マクロブロックタイプ)が、最適インター予測モードとして選択される。
[予測ベクトル(PMV(Predicted Motion Vector))]
図11は、MVC(AVC)方式の予測ベクトル(PMV)を説明する図である。
インター予測部123(図9)のインター予測では、MEによって、対象ブロックのずれベクトル(動きベクトル、又は、計算視差ベクトル)が検出され、そのずれベクトルを用いて、予測画像が生成される。
ずれベクトルは、復号側において、画像を復号するのに必要であるため、ずれベクトルの情報を符号化して、符号化データに含める必要があるが、ずれベクトルを、そのまま符号化すると、ずれベクトルの符号量が多くなって、符号化効率が劣化することがある。
すなわち、MVC方式では、図9に示したように、マクロブロックが、8×8画素のパーティションに分割され、さらに、その8×8画素のパーティションそれぞれが、4×4画素のサブパーティションに分割されることがある。この場合、1つのマクロブロックは、最終的には、4×4個のサブパーティションに分割されるため、1つのマクロブロックに対して、16(=4×4)個のずれベクトルが生じることがあり、ずれベクトルを、そのまま符号化すると、ずれベクトルの符号量が多くなって、符号化効率が劣化する。
そこで、MVC(AVC)方式では、ずれベクトルを予測するベクトル予測が行われ、そのベクトル予測によって得られる予測ベクトルに対する、ずれベクトルの残差が、ずれベクトルの情報(ずれベクトル情報(視差ベクトル情報、動きベクトル情報))として符号化される。
すなわち、あるマクロブロックXが、符号化対象の対象ブロックであるとする。また、説明を簡単にするため、対象ブロックXは、16×16画素のパーティションに分割される(対象ブロックXが、そのまま、パーティションとされる)こととする。
対象ブロックXのずれベクトルmvXの予測ベクトルPMVXは、図11に示すように、対象ブロックXが符号化されるときに、(ラスタスキャン順で)既に符号化されているマクロブロックのうちの、対象ブロックXの上に隣接するマクロブロックAのずれベクトルmvA、左に隣接するマクロブロックBのずれベクトルmvB、及び、右斜め上に隣接するマクロブロックCのずれベクトルmvCを用い、式(5)に従って算出される。
PMVX=med(mvA,mvB,mvC)
・・・(5)
・・・(5)
ここで、式(5)において、med()は、かっこ内の値のメディアン(中央値)を表す。
なお、対象ブロックXが、ピクチャの右端のマクロブロックである場合等、マクロブロックCのずれベクトルmvCが、利用可能でない(unavailableである)場合には、ずれベクトルmvCに代えて、対象ブロックXの左斜め上に隣接するマクロブロックDのずれベクトルmvDを用いて、予測ベクトルPMVXが算出される。
また、式(5)に従った予測ベクトルPMVXの算出は、x成分とy成分とのそれぞれについて、独立に行われる。
インター予測部123(図9)では、対象ブロックXのずれベクトルmvXと、その予測ベクトルPMVXとの差分mvX−PMVが、対象ブロックXのずれベクトル情報として、ヘッダ情報に含められる。
図12は、MVC(AVC)方式のスキップマクロブロックの予測ベクトルを説明する図である。
図3で説明したように、MVC方式では、値が0の参照インデクスrev_idxが割り当てられた参照ピクチャを用いて、対象ブロックの符号化を行う場合には、対象ブロックを、スキップマクロブロックとすることができる。
対象ブロックがスキップマクロブロックとされる場合、その対象ブロックのずれベクトルの予測ベクトルの生成の方法は、対象ブロックの周辺のマクロブロックの予測画像の生成に用いられる参照ピクチャに割り当てられている参照インデクス(以下、予測用の参照インデクスともいう)によって異なる。
ここで、MVC(AVC)方式の参照ピクチャ(となりうる候補ピクチャ)と、参照インデクスについて説明する。
AVC方式では、予測画像を生成するときに、複数のピクチャを、候補ピクチャとすることができる。
そして、AVC方式のコーデックでは、候補ピクチャは、デコード(ローカルデコード)後に、DPBと呼ばれるバッファに記憶される。
DPBでは、短期間に参照されるピクチャは、短時間参照ピクチャ(used for short-term reference)として、長期間にわたって参照されるピクチャは、長時間参照ピクチャ(used for long-term reference)として、参照されないピクチャは、非参照ピクチャ(unused for reference)として、それぞれマーキングされる。
DPBを管理する管理方式としては、移動窓メモリ管理方式(Sliding window process)と、適応メモリ管理方式(Adaptive memory control process)との2種類がある。
移動窓メモリ管理方式では、DPBが、FIFO(First In First Out)方式で管理され、DPBに記憶されたピクチャは、frame_numの小さいピクチャから順に開放される(非参照ピクチャとなる)。
すなわち、移動窓メモリ管理方式では、I(Intra)ピクチャ、P(Predictive)ピクチャ、及び、参照可能なB(Bi-directional Predictive)ピクチャであるBsピクチャは、短時間参照ピクチャとして、DPBに記憶される。
そして、DPBが参照ピクチャ(となりうる候補ピクチャ)を記憶することができるだけの参照ピクチャが記憶された後は、DPBに記憶された短時間参照ピクチャの中で、最も早く(古い)短時間参照ピクチャが開放される。
なお、DPBに、長時間参照ピクチャが記憶されている場合、移動窓メモリ管理方式は、DPBに記憶されている長時間参照ピクチャには、影響しない。すなわち、移動窓メモリ管理方式において、参照ピクチャの中で、FIFO方式で管理されるのは、短時間参照ピクチャだけである。
適応メモリ管理方式では、MMCO(Memory management control operation)と呼ばれるコマンドを用いて、DPBに記憶されるピクチャが管理される。
MMCOコマンドによれば、DPBに記憶される参照ピクチャを対象として、短時間参照ピクチャを非参照ピクチャに設定することや、短時間参照ピクチャに対し、長時間参照ピクチャを管理するための参照インデクスであるlong-term frame indexを割り当てることで、短時間参照ピクチャを長時間参照ピクチャに設定すること、long-term frame indexの最大値を設定すること、すべての参照ピクチャを非参照ピクチャに設定すること等を行うことができる。
AVC方式では、DPBに記憶された参照ピクチャの動き補償を行うことで、予測画像を生成するインター予測が行われるが、Bピクチャ(Bsピクチャを含む)のインター予測には、最大で、2ピクチャの参照ピクチャを用いることができる。その2ピクチャの参照ピクチャを用いるインター予測は、それぞれ、L0(List 0)予測、及び、L1(List 1)予測と呼ばれる。
Bピクチャ(Bsピクチャを含む)については、インター予測として、L0予測、若しくは、L1予測、又は、L0予測とL1予測との両方が用いられる。Pピクチャについては、インター予測として、L0予測だけが用いられる。
インター予測において、予測画像の生成に参照する参照ピクチャは、参照リスト(Reference Picture List)により管理される。
参照リストでは、予測画像の生成に参照する参照ピクチャ(となりうる候補ピクチャ)を指定するためのインデクスである参照インデクス(Reference Index)が、DPBに記憶された参照ピクチャ(になりうる候補ピクチャ)に割り当てられる。
対象ピクチャが、Pピクチャである場合、上述したように、Pピクチャについては、インター予測として、L0予測だけが用いられるので、参照インデクスの割り当ては、L0予測についてだけ行われる。
また、対象ピクチャが、Bピクチャ(Bsピクチャを含む)である場合、上述したように、Bピクチャについては、インター予測として、L0予測とL1予測との両方が用いられることがあるので、参照インデクスの割り当ては、L0予測とL1予測との両方について行われる。
ここで、L0予測についての参照インデクスを、L0インデクスともいい、L1予測についての参照インデクスを、L1インデクスともいう。
対象ピクチャが、Pピクチャである場合、AVC方式のデフォルト(既定値)では、DPBに記憶された参照ピクチャに対し、復号順が後の参照ピクチャほど、値が小さい参照インデクス(L0インデクス)が割り当てられる。
参照インデクスは、0以上の整数値であり、最小値は、0である。したがって、対象ピクチャが、Pピクチャである場合には、対象ピクチャの直前に復号された参照ピクチャに、L0インデクスとして、0が割り当てられる。
対象ピクチャが、Bピクチャ(Bsピクチャを含む)である場合、AVCのデフォルトでは、DPBに記憶された参照ピクチャに対し、POC(Picture Order Count)順、つまり、表示順に、参照インデクス(L0インデクス、及び、L1インデクス)が割り当てられる。
すなわち、L0予測については、表示順で、対象ピクチャの時間的に前の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL0インデクスが割り当てられ、その後、表示順で、対象ピクチャの時間的に後の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL0インデクスが割り当てられる。
また、L1予測については、表示順で、対象ピクチャの時間的に後の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL1インデクスが割り当てられ、その後、表示順で、対象ピクチャの時間的に前の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL1インデクスが割り当てられる。
なお、以上のAVC方式のデフォルトでの参照インデクス(L0インデクス、及び、L1インデクス)の割り当ては、短時間参照ピクチャを対象として行われる。長時間参照ピクチャへの参照インデクスの割り当ては、短時間参照ピクチャに、参照インデクスが割り当てられた後に行われる。
したがって、AVCのデフォルトでは、長時間参照ピクチャには、短時間参照ピクチャよりも大きい値の参照インデクスが割り当てられる。
AVC方式において、参照インデクスの割り当てとしては、以上のようなデフォルトの方法で割り当てを行う他、Reference Picture List Reorderingと呼ばれるコマンド(以下、RPLRコマンドともいう)を用いて、任意の割り当てを行うことができる。
なお、RPLRコマンドを用いて、参照インデクスの割り当てが行われた後、参照インデクスが割り当てられていない参照ピクチャがある場合には、その参照ピクチャには、参照インデクスが、デフォルトの方法で割り当てられる。
いま、図12に示すように、マクロブロックXを対象ブロックとして、その対象ブロックXがスキップマクロブロックとされる場合、その対象ブロックXのずれベクトルmvXの予測ベクトルPMVXは、対象ブロックXの上に隣接するマクロブロックA、左に隣接するマクロブロックB、及び、右斜め上に隣接するマクロブロックCそれぞれの予測用の参照インデクス(マクロブロックA,B、及び、Cそれぞれの予測画像の生成に用いられた参照ピクチャに割り当てられていた参照インデクス)によって異なる方法で求められる。
すなわち、図12のAに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが0のマクロブロックが、1つだけ存在する場合には、その1つのマクロブロック(予測用の参照インデクスref_idxが0のマクロブロック)のずれベクトルが、対象ブロックXのずれベクトルmvXの予測ベクトルPMVXとされる。
ここで、図12のAでは、対象ブロックXに隣接する3つのマクロブロックAないしCのうちの、マクロブロックAだけが、予測用の参照インデクスref_idxが0のマクロブロックになっており、そのため、マクロブロックAのずれベクトルmvAが、対象ブロックX(のずれベクトルmvX)の予測ベクトルPMVXとされる。
また、図12のBに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが0のマクロブロックが、2つ以上存在する場合には、その、予測用の参照インデクスref_idxが0の2つ以上のマクロブロックのずれベクトルのメディアンが、対象ブロックXの予測ベクトルPMVXとされる。
ここで、図12のBでは、対象ブロックXに隣接する3つのマクロブロックAないしCのすべてが、予測用の参照インデクスref_idxが0のマクロブロックになっており、そのため、マクロブロックAのずれベクトルmvA、マクロブロックBのずれベクトルmvB、及び、マクロブロックCのずれベクトルmvCのメディアンmed(mvA,mvB,mvC)が、対象ブロックXの予測ベクトルPMVXとされる。
また、図12のCに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが0のマクロブロックが、1つも存在しない場合には、0ベクトルが、対象ブロックXの予測ベクトルPMVXとされる。
ここで、図12のCでは、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが0のマクロブロックは存在しないので、0ベクトルが、対象ブロックXの予測ベクトルPMVXとされる。
なお、スキップマクロブロックについては、残差も、ずれベクトルの情報も符号化されない。そして、復号時には、予測ベクトルが、そのまま、スキップマクロブロックのずれベクトルに採用され、参照ピクチャの、スキップマクロブロックの位置からずれベクトルだけずれた位置のブロック(対応ブロック)のコピーが、スキップマクロブロックの復号結果とされる。
対象ブロックをスキップマクロブロックとするか否かは、エンコーダの仕様によるが、例えば、符号化データの符号量や、対象ブロックの符号化コスト等に基づいて決定(判定)される。
[エンコーダ22の構成例]
図13は、図5のエンコーダ22の構成例を示すブロック図である。
エンコーダ22は、符号化対象の画像であるビュー#2の視差画像D#2の符号化を、MVC方式を利用して、すなわち、図3で説明したようにして行う。
図13において、エンコーダ22は、A/D変換部211、画面並び替えバッファ212、演算部213、直交変換部214、量子化部215、可変長符号化部216、蓄積バッファ217、逆量子化部218、逆直交変換部219、演算部220、デブロッキングフィルタ221、画面内予測部222、予測画像選択部224、ワーピング部231、ワープドピクチャバッファ232、参照インデクス割り当て部233、及び、視差予測部234を有する。
A/D変換部211ないし画面内予測部222、及び、予測画像選択部224は、図9のエンコーダ11のA/D変換部111ないし画面内予測部122、及び、予測画像選択部124と、それぞれ同様に構成されるので、その説明は、適宜省略する。
図13において、DPB31には、デブロッキングフィルタ221から、デコード画像、すなわち、エンコーダ22において符号化されてローカルデコードされた視差画像(以下、デコード視差画像ともいう)D#2のピクチャが供給され、参照ピクチャとなりうる候補ピクチャとして記憶される。
また、DPB31には、図5や図9で説明したように、エンコーダ11において符号化されてローカルデコードされた色画像C#1のピクチャ、エンコーダ12において符号化されてローカルデコードされた色画像C#2のピクチャ、及び、エンコーダ21において符号化されてローカルデコードされた視差画像(デコード視差画像)D#1のピクチャも供給されて記憶される。
エンコーダ22では、デブロッキングフィルタ221からのデコード視差画像D#2のピクチャの他、エンコーダ21で得られるデコード視差画像D#1が、符号化対象である視差画像D#2の符号化に用いられるので、図13では、エンコーダ21で得られるデコード視差画像D#1が、DPB31に供給されることを示す矢印を、図示してある。
ワーピング部231には、視差関連情報(図5)としての、撮影視差ベクトルd(視点#1の撮影視差ベクトルd1)の最大値dmax及び最小値dmin、基線長L、焦点距離fが供給される。
ワーピング部231は、DPB31に記憶された、デコード視差画像D#1及びD#2のピクチャのうちの、デコード視差画像D#1のピクチャ(対象ピクチャと同一時刻のピクチャ)を取得する(読み出す)。
そして、ワーピング部231は、視差関連情報を必要に応じて用いて、DPB31から取得したデコード視差画像D#1のピクチャをワーピングすることにより、そのデコード視差画像D#1のピクチャを視点#2で得られる画像(視差画像)に変換したワープド画像であるワープド視差画像D'#1のピクチャを生成する。
すなわち、ワーピング部231は、デコード視差画像D#1のピクチャの各画素の画素値である視差値νを、撮影視差ベクトルdの最大値dmax及び最小値dminを用い、式(3)に従って、画素ごとの撮影視差ベクトルdに変換する。
ここで、視差情報画像として、視差画像ではなく、奥行き画像を用いる場合には、基線長L、及び、焦点距離fを用い、式(4)に従って、奥行き画像の画素値である値yの正規化前の値である奥行きZが、撮影視差ベクトルdに変換される。
ワーピング部231は、デコード視差画像D#1のピクチャの各画素を、その画素の撮影視差ベクトルdに従って移動するワーピングを行うことにより、ワープド視差画像D'#1のピクチャを生成する。
なお、上述したように、ワーピングによれば、ワープド視差画像D'#1のピクチャには、画素値がない、穴が空いたオクルージョン部分が生じることがあるが、オクルージョン部分の画素は、周辺の画素、すなわち、例えば、ワーピングでの移動方向の逆方向にある、オクルージョン部分に最も近い画素等の画素値(視差値)によって補間される。
ここで、ワーピングでの移動方向の逆方向にある、オクルージョン部分に最も近い画素は、奥側の背景の視差を表す視差値(背景の視差値)を、画素値として有する画素であり、したがって、オクルージョン部分(の画素)は、背景の視差値によって補間される。
ワーピング部231は、デコード視差画像D#1のピクチャのワーピングによって、ワープド視差画像D'#1のピクチャを生成すると、そのワープド視差画像D'#1のピクチャを、ワープドピクチャバッファ232に供給する。
ワープドピクチャバッファ232は、ワーピング部231からのワープド視差画像D'#1のピクチャを、一時記憶する。
なお、本実施の形態では、DPB31とは別に、ワープド視差画像D'#1のピクチャを記憶するワープドピクチャバッファ232を設けてあるが、DPB31とワープドピクチャバッファ232とは、1つのバッファで兼用することが可能である。
参照インデクス割り当て部233は、DPB31に記憶されたデコード視差画像D#1のピクチャと、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャとを、参照ピクチャの候補である候補ピクチャとして、各候補ピクチャに、参照インデクスを割り当てる。
そして、参照インデクス割り当て部233は、候補ピクチャに割り当てられた参照インデクスを、視差予測部234に供給する。
なお、参照インデクス割り当て部233は、候補ピクチャであるデコード視差画像D#1のピクチャと、ワープド視差画像D'#1のピクチャとのうちの、デコード視差画像D#1のピクチャに、値が1の参照インデクスを割り当て、ワープド視差画像D'#1に、値が0の参照インデクスを割り当てる。
ここで、MVC(AVC)では、値が0の参照インデクスの符号量は、値が1の参照インデクスの符号量よりも少ない。
また、図4で説明したように、ワープド視差画像D'#1、及び、視差画像D#1のピクチャについては、ワープド視差画像D'#1のピクチャが、視差画像D#1のピクチャよりも、対象ブロックの符号化コストが小さくなりやすく、参照ピクチャとして選択されやすい。
したがって、参照ピクチャとして選択されやすいワープド視差画像D'#1のピクチャに、符号量が少ない、値が0の参照インデクスを割り当てることにより、符号化効率を向上させることができる。
また、エンコーダ22では、以上のように、候補ピクチャに、符号化対象である視差画像D#2の視点#2とは異なる視点#1の視差画像(デコード視差画像)D#1をワーピングすることにより生成されるワープド視差画像D'#1を含め、その候補ピクチャであるワープド視差画像D'#1に、参照インデクスを割り当てる他は、デコーダ11(及びデコーダ12,21)と同様にMVC(AVC)方式に従った処理が行われる。
したがって、対象ブロックの予測用の参照インデクスとして、ワープド視差画像D'#1に割り当てられた値が0の参照インデクスが選択された場合、つまり、値が0の参照インデクスが割り当てられた候補ピクチャであるワープド視差画像D'#1が、参照ピクチャとして選択された場合には、対象ブロックをスキップマクロブロックとすることができる。
よって、参照ピクチャとして選択されやすいワープド視差画像D'#1のピクチャに、値が0の参照インデクスを割り当てることにより、残差やずれベクトルの情報が符号化されないスキップマクロブロックが発生する確率が高くなるので、符号化効率を向上させることができる。
視差予測部234は、参照インデクス割り当て部233において参照インデクスが割り当てられた候補ピクチャ、すなわち、DPB31に記憶されたデコード視差画像D#1のピクチャと、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャとを、それぞれ参照ピクチャとして、対象ブロックの視差予測(予測画像の生成)を行う。
さらに、視差予測部234は、候補ピクチャであるデコード視差画像D#1のピクチャと、ワープド視差画像D'#1のピクチャとのそれぞれについて、候補ピクチャから視差予測によって得られる予測画像を用いた対象ブロックの符号化(予測符号化)に要する符号化コストを算出する。
そして、視差予測部234は、符号化コストに基づいて、候補ピクチャであるデコード視差画像D#1のピクチャと、ワープド視差画像D'#1のピクチャとのそれぞれに割り当てられている参照インデクスの中から、対象ブロックの符号化に用いる候補ピクチャに割り当てられている参照インデクスを、対象ブロックの予測用の参照インデクスとして選択し、ヘッダ情報の1つとして、可変長符号化部216に出力する。
また、視差予測部234は、対象ブロックの予測用の参照インデクスが割り当てられている候補ピクチャ(デコード視差画像D#1のピクチャ、又は、ワープド視差画像D'#1のピクチャ)を参照ピクチャとして、視差予測により生成される予測画像を、予測画像選択部224に供給する。
なお、図13においては、説明を簡単にするために、エンコーダ22に、インター予測のうちの視差予測を行う視差予測部234を設けてあるが、エンコーダ22では、図9のエンコーダ11のインター予測部123と同様に、視差予測の他、時間予測も行うことができる。
エンコーダ22において、視差予測、及び、時間予測の両方を行う場合、参照インデクス割り当て部233では、視差予測で参照されうる候補ピクチャであるワープド視差画像D'#1、及び、デコード視差画像D#1のピクチャの他、時間予測で参照されうる候補ピクチャであるデコード視差画像D#2のピクチャ(対象ピクチャとは時刻が異なる他時刻ピクチャ)にも、参照インデクスが割り当てられる。
以上のように、視差予測に用いられるワープド視差画像D'#1のピクチャと、時間予測に用いられるデコード視差画像D#2のピクチャとが候補ピクチャに含まれる場合の、参照インデクスの割り当てについては、後述する。
図14は、図13のDPB31に記憶されるデコード視差画像と、ワープドピクチャバッファ232に記憶されるワープド視差画像とを説明する図である。
いま、視差画像D#1及びD#2に注目すると、図5の多視点画像伝コーダのエンコーダ21及び22では、図8で説明したことから、ビュー#1の視差画像D#1の第1ピクチャ、ビュー#2の視差画像D#2の第1ピクチャ、ビュー#1の視差画像D#1の第2ピクチャ、ビュー#2の視差画像D#2の第2ピクチャ、・・・の順に、符号化がされていく。
そして、エンコーダ21において、ビュー#1の視差画像D#1の第t-1ピクチャD1(t-1)が符号化され、ローカルデコードされると、そのローカルデコードによって得られるデコード視差画像D#1のピクチャD1(t-1)が、DPB31に供給されて記憶される。
その後、エンコーダ22(図13)では、ワーピング部231において、DPB31に記憶されたデコード視差画像D#1のピクチャD1(t-1)がワーピングされることにより、ワープド視差画像D'#1のピクチャD1'(t-1)が生成され、ワープドピクチャバッファ232に供給されて記憶される。
そして、エンコーダ22では、参照インデクス割り当て部233において、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャD1'(t-1)に、値が0の参照インデクスが割り当てられ、DPB31に記憶されたデコード視差画像D#1のピクチャD1(t-1)に、値が1の参照インデクスが割り当てられる。
さらに、エンコーダ22では、参照インデクスが割り当てられたワープド視差画像D'#1のピクチャD1'(t-1)、又は、デコード視差画像D#1のピクチャD1(t-1)を、必要に応じて、参照ピクチャとして用いて、ビュー#2の視差画像D#2の第t-1ピクチャD2(t-1)が符号化され、ローカルデコードされる。そのローカルデコードによって得られるデコード視差画像D#2のピクチャD2(t-1)は、DPB31に供給されて記憶される。
その結果、DPB31には、図14に示すように、デコード視差画像D#2のピクチャD2(t-1)、及び、デコード視差画像D#1のピクチャD1(t-1)が記憶される。
その後、エンコーダ21において、ビュー#1の視差画像D#1の第tピクチャD1(t)が符号化され、ローカルデコードされる。そのローカルデコードによって得られるデコード視差画像D#1のピクチャD1(t)は、DPB31に供給されて記憶される。
その結果、DPB31には、図14に示すように、デコード視差画像D#1のピクチャD1(t)、デコード視差画像D#2のピクチャD2(t-1)、及び、デコード視差画像D#1のピクチャD1(t-1)が記憶される。
以上のように、デコード視差画像D#1のピクチャD1(t)が、DPB31に記憶されると、エンコーダ22のワーピング部231は、DPB31に記憶されたデコード視差画像D#1のピクチャD1(t)をワーピングすることにより、ワープド視差画像D'#1のピクチャD1'(t)を生成し、ワープドピクチャバッファ232に供給して記憶させる。
その結果、ワープドピクチャバッファ232には、図14に示すように、ワープド視差画像D'#1のピクチャD1'(t)及びD1'(t-1)が記憶される。
その後、エンコーダ22では、参照インデクス割り当て部233において、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャD1'(t)に、値が0の参照インデクスが割り当てられ、DPB31に記憶されたデコード視差画像D#1のピクチャD1(t)に、値が1の参照インデクスが割り当てられる。
さらに、エンコーダ22では、参照インデクスが割り当てられたワープド視差画像D'#1のピクチャD1'(t)、又は、デコード視差画像D#1のピクチャD1(t)を、必要に応じて、参照ピクチャとして用いて、ビュー#2の視差画像D#2の第tピクチャD2(t)が符号化され、ローカルデコードされる。
エンコーダ21及び22では、以下同様の処理が行われていく。
図15は、図13の視差予測部234の構成例を示すブロック図である。
図15において、視差予測部234は、視差検出部241、視差補償部242及び243、コスト関数算出部244、モード選択部245、並びに、予測ベクトル生成部246を有する。
視差検出部241には、DPB31に記憶された候補ピクチャであるデコード視差画像D#1のピクチャが供給される。さらに、視差検出部241には、参照インデクス割り当て部233から、候補ピクチャであるデコード視差画像D#1のピクチャに割り当てられた参照インデクスidx(ここでは、1)が供給されるとともに、画面並び替えバッファ212から、符号化対象の視差画像D#2のピクチャの対象ブロックが供給される。
視差検出部241は、MVC方式と同様に、対象ブロックと、候補ピクチャであるデコード視差画像D#1のピクチャとを用いてMEを行うことにより、対象ブロックと、デコード視差画像D#1のピクチャの、対象ブロックとのSADを最小にするブロック(対応ブロック)とのずれを表すずれベクトル、すなわち、対象ブロックの、視点#1に対する視差を表す計算視差ベクトルmvを求め、視差補償部242に供給する。
視差補償部242には、視差検出部241から、計算視差ベクトルmvであるずれベクトルが供給される他、DPB31に記憶された候補ピクチャであるデコード視差画像D#1のピクチャが供給される。さらに、視差補償部242には、参照インデクス割り当て部233から、候補ピクチャであるデコード視差画像D#1のピクチャに割り当てられた参照インデクスidxが供給される。
視差補償部242は、候補ピクチャであるデコード視差画像D#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、視差検出部241からの計算視差ベクトルmvを用いて、MVC方式と同様にして行うことで、対象ブロックの予測画像ppを生成する。
すなわち、視差補償部242は、デコード視差画像D#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像ppとして取得する。
そして、視差補償部242は、予測画像ppを、視差検出部241からの計算視差ベクトルmv、及び、参照インデクス割り当て部233からの、デコード視差画像D#1のピクチャに割り当てられた参照インデクスidxとともに、コスト関数算出部244に供給する。
視差補償部243には、ワープドピクチャバッファ232に記憶された候補ピクチャであるワープド視差画像D'#1のピクチャが供給される。さらに、視差補償部243には、参照インデクス割り当て部233から、候補ピクチャであるワープド視差画像D'#1のピクチャに割り当てられた参照インデクスidx'(ここでは、0)が供給される。
視差補償部243は、候補ピクチャであるワープド視差画像D'#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、ずれベクトルとしての計算視差ベクトルmv'が0ベクトルであると仮定して、MVC方式と同様にして行うことで、対象ブロックの予測画像pp'を生成する。
すなわち、ワープド視差画像D'#1は、視差画像D#1をワーピングすることにより、視点#2で得られる視差画像に変換した画像であるから、視点#2の視差画像D#2の対象ブロックとの視差がないとみなし、計算視差ベクトルmv'として、0ベクトルが採用される。
そして、視差補償部243は、ワープド視差画像D'#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmv'=0だけずれた位置のブロックである対応ブロック、つまり、ワープド視差画像D'#1のピクチャの、対象ブロックと同一の位置にあるブロックを、予測画像ppとして取得する。
そして、視差補償部243は、予測画像pp'を、計算視差ベクトルmv'、及び、参照インデクス割り当て部233からの、ワープド視差画像D'#1のピクチャに割り当てられた参照インデクスidx'とともに、コスト関数算出部244に供給する。
なお、ここでは、ワープド視差画像D'#1のピクチャに対する対象ブロックの計算視差ベクトルmv'を0ベクトルに仮定したが、ワープド視差画像D'#1のピクチャに対する対象ブロックの計算視差ベクトルmv'については、ワープド視差画像D'#1のピクチャと、対象ブロックとを用いてMEを行い、そのMEによって得られるずれベクトルを、計算視差ベクトルmv'に採用することができる。
コスト関数算出部244には、視差補償部242から、予測画像pp、計算視差ベクトルmv、及び、参照インデクスidxが供給されるとともに、視差補償部243から、予測画像pp'、計算視差ベクトルmv'、及び、参照インデクスidx'が供給される他、予測ベクトル生成部246から、予測ベクトルが供給されるとともに、画面並び替え部バッファ212から、対象ブロックが供給される。
コスト関数算出部244は、参照インデクスidx(が割り当てられたデコード視差画像D#1のピクチャ)について、マクロブロックタイプ(図10)ごとに、対象ブロックの符号化に要する符号化コストを、符号化コストを算出するコスト関数としての、例えば、式(1)に従って求める。
すなわち、コスト関数算出部244は、参照インデクスidxについて、計算視差ベクトルmvの、予測ベクトルに対する残差ベクトルを求め、その残差ベクトルの符号量に対応する値MVを求める。
さらに、コスト関数算出部244は、参照インデクスidxについて、その参照インデクスidxが割り当てられたデコード視差画像D#1から生成された予測画像ppに対する、対象ブロックの残差に対応する値であるSADを求める。
そして、コスト関数算出部244は、式(1)に従い、参照インデクスidxについての、マクロブロックタイプごとの符号化コストを求める。
コスト関数算出部244は、参照インデクスidx'(が割り当てられたワープド視差画像D'#1のピクチャ)についても、同様に、マクロブロックタイプごとに、対象ブロックの符号化に要する符号化コストを求める。
なお、符号化コストを求めるコスト関数は、式(1)に限定されるものではない。すなわち、符号化コストは、その他、例えば、λ1及びλ2を重みとして、SAD、残差ベクトルの符号量に対応する値に重みλ1を乗算した値、参照インデクスの符号量に対応する値に重みλ2を乗算した値を加算すること等によって求めることができる。
コスト関数算出部244は、参照インデクスidx及びidx'のそれぞれについての、マクロブロックタイプごとの符号化コスト(コスト関数値)を求めると、符号化コストを、参照インデクス、予測画像、及び、残差ベクトル(視差ベクトル情報)とともに、モード選択部245に供給する。
モード選択部245は、コスト関数算出部244からの参照インデクスidx及びidx'のそれぞれについての、マクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
さらに、モード選択部245は、最小コストが得られた参照インデクス、及び、マクロブロックタイプを、最適インター予測モードに選択する。
なお、最適インター予測モードの選択では、例えば、まず、各マクロブロックタイプについて、参照インデクスidx及びidx'のうちの、符号化コストが小さい方の参照インデクスを選択し、その後、各マクロブロックタイプから選択された参照インデクスのみを対象として、符号化コストが最小のマクロブロックタイプを選択することで、最小コストが得られた参照インデクス、及び、マクロブロックタイプを、最適インター予測モードに選択することができる。
そして、モード選択部245は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、及び、最適インター予測モードの視差ベクトル情報等を、ヘッダ情報として、可変長符号化部216に供給する。
さらに、モード選択部245は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給する。
なお、モード選択部245は、最小コストが得られた参照インデクスが、値が0の参照インデクスである場合には、例えば、最小コスト等に基づいて、対象ブロックを、スキップマクロブロックとして符号化するかどうかの判定を行う。
モード選択部245において、対象ブロックを、スキップマクロブロックとして符号化すると判定された場合、最適インター予測モードは、対象ブロックを、スキップマクロブロックとして符号化するスキップモードとされる。
予測ベクトル生成部246は、例えば、図11等で説明したように、MVC(AVC)方式で、予測ベクトルを生成し、コスト関数算出部244に供給する。
図16は、図13のエンコーダ22が行う、ビュー#2の視差画像D#2を符号化する符号化処理を説明するフローチャートである。
ステップS11において、A/D変換部211は、そこに供給されるビュー#2の視差画像D#2のピクチャのアナログ信号をA/D変換し、画面並び替えバッファ212に供給して、処理は、ステップS12に進む。
ステップS12では、画面並び替えバッファ212は、A/D変換部211からの視差画像D#2のピクチャを一時記憶し、あらかじめ決められたGOPの構造に応じて、ピクチャを読み出すことで、ピクチャの並びを、表示順から、符号化順(復号順)に並び替える並び替えを行う。
画面並び替えバッファ212から読み出されたピクチャは、演算部213、画面内予測部222、及び、視差予測部234に供給され、処理は、ステップS12からステップS13に進む。
ステップS13では、演算部213は、画面並び替えバッファ212からの視差画像D#2のピクチャを、符号化対象の対象ピクチャとし、さらに、対象ピクチャを構成するマクロブロックを、順次、符号化対象の対象ブロックとする。
そして、演算部213は、対象ブロックの画素値と、予測画像選択部224から供給される予測画像の画素値との差分(残差)を、必要に応じて演算し、直交変換部214に供給して、処理は、ステップS13からステップS14に進む。
ステップS14では、直交変換部214は、演算部213からの対象ブロックに対して直交変換を施し、その結果得られる変換係数を、量子化部215に供給して、処理は、ステップS15に進む。
量子化部215は、直交変換部214から供給される変換係数を量子化し、その結果得られる量子化値を、逆量子化部218、及び、可変長符号化部216に供給して、処理は、ステップS16に進む。
ステップS16では、逆量子化部218は、量子化部215からの量子化値を、変換係数に逆量子化し、逆直交変換部219に供給して、処理は、ステップS17に進む。
ステップS17では、逆直交変換部219は、逆量子化部218からの変換係数を逆直交変換し、演算部220に供給して、処理は、ステップS18に進む。
ステップS18では、演算部220は、逆直交変換部219から供給されるデータに対して、必要に応じて、予測画像選択部224から供給される予測画像の画素値を加算することで、対象ブロックを復号(ローカルデコード)したデコード視差画像D#2を求める。そして、演算部220は、対象ブロックをローカルデコードしたデコード視差画像D#2を、デブロッキングフィルタ221に供給して、処理は、ステップS18からステップS19に進む。
ステップS19では、デブロッキングフィルタ221は、演算部220からのデコード視差画像D#2をフィルタリングし、DPB31(図5)に供給して、処理は、ステップS20に進む。
ステップS20では、DPB31が、視差画像D#1を符号化するエンコーダ21から、その視差画像D#1を符号化して、ローカルデコードすることにより得られるデコード視差画像D#1が供給されるのを待って、そのデコード視差画像D#1を記憶し、処理は、ステップS21に進む。
ステップS21では、DPB31が、デブロッキングフィルタ221からのデコード視差画像D#2を記憶し、処理は、ステップS22に進む。
ステップS22では、ワーピング部231が、DPB31に記憶されたデコード視差画像D#1のピクチャをワーピングすることにより、ワープド視差画像D'#1のピクチャを生成し、ワープドピクチャバッファ232に供給して、処理は、ステップS23に進む。
ステップS23では、ワープドピクチャバッファ232が、ワーピング部231からのワープド視差画像D'#1のピクチャを記憶し、処理は、ステップS24に進む。
ステップS24では、参照インデクス割り当て部233が、DPB31に記憶されたデコード視差画像D#1のピクチャと、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャとのそれぞれに、参照インデクスを割り当てる。
さらに、参照インデクス割り当て部233は、デコード視差画像D#1のピクチャと、ワープド視差画像D'#1のピクチャとのそれぞれに割り当てた参照インデクスを、視差予測部234に供給して、処理は、ステップS24からステップS25に進む。
ステップS25では、画面内予測部222は、次に符号化の対象となるマクロブロックである次の対象ブロックについて、イントラ予測処理(画面内予測処理)を行う。
すなわち、画面内予測部222は、次の対象ブロックについて、DPB31に記憶されたデコード視差画像D#2のピクチャから、予測画像(イントラ予測の予測画像)を生成するイントラ予測(画面内予測)を行う。
そして、画面内予測部222は、イントラ予測の予測画像を用いて、対象ブロックを符号化するのに要する符号化コストを求め、イントラ予測の予測画像とともに、予測画像選択部224に供給して、処理は、ステップS25からステップS26に進む。
ステップS26では、視差予測部234は、次の対象ブロックについて、デコード視差画像D#1のピクチャ、及び、ワープド視差画像D'#1のピクチャを、候補ピクチャとして、視差予測処理を行う。
すなわち、視差予測部234は、次の対象ブロックについて、DPB31に記憶され、参照インデクス割り当て部233によって参照インデクスが割り当てられたデコード視差画像D#1のピクチャ、及び、ワープドピクチャバッファ232に記憶され、参照インデクス割り当て部233によって参照インデクスが割り当てられたワープド視差画像D'#1のピクチャそれぞれを用いて、視差予測を行うことにより、マクロブロックタイプ等が異なるインター予測モードごとに、予測画像や符号化コスト等を求める。
さらに、視差予測部234は、符号化コストが最小のインター予測モードを、最適インター予測モードとして、その最適インター予測モードの予測画像を、符号化コストとともに、予測画像選択部224に供給して、処理は、ステップS26からステップS27に進む。
ステップS27では、予測画像選択部224は、画面内予測部222からの予測画像(イントラ予測の予測画像)、及び、視差予測部234からの予測画像(インター予測の予測画像)のうちの、例えば、符号化コストが小さい方の予測画像を選択し、演算部213及び220に供給して、処理は、ステップS28に進む。
ここで、予測画像選択部224がステップS27で選択する予測画像が、次の対象ブロックの符号化で行われるステップS13やS18の処理で用いられる。
また、画面内予測部222は、ステップS25のイントラ予測処理において得られるイントラ予測に関する情報を、ヘッダ情報として、可変長符号化部216に供給し、視差予測部234は、ステップS26の視差予測処理で得られる視差予測(インター予測)に関する情報(最適インター予測モードを表すモード関連情報等)を、ヘッダ情報として、可変長符号化部216に供給する。
ステップS28では、可変長符号化部216は、量子化部215からの量子化値に対して、可変長符号化を施し、符号化データを得る。
さらに、可変長符号化部216は、画面内予測部222、及び、視差予測部234それぞれからのヘッダ情報のうちの、符号化コストが小さい予測画像が生成された方からのヘッダ情報を選択し、符号化データのヘッダに含める。
そして、可変長符号化部216は、符号化データを、蓄積バッファ217に供給して、処理は、ステップS28からステップS29に進む。
ステップS29では、蓄積バッファ217は、可変長符号化部216からの符号化データを一時記憶し、所定のデータレートで出力する。
蓄積バッファ217から出力された符号化データは、多重化部32(図5)に供給される。
エンコーダ22では、以上のステップS11ないしS29の処理が、適宜繰り返し行われる。
図17は、図16のステップS26で、図15の視差予測部234が行う視差予測処理を説明するフローチャートである。
ステップS41において、視差予測部234は、DPB31から候補ピクチャであるデコード視差画像D#1のピクチャを取得し、視差検出部241、及び、視差補償部242に供給して、処理は、ステップS42に進む。
ステップS42では、視差予測部234は、参照インデクス割り当て部233から、デコード視差画像D#1のピクチャに割り当てられた参照インデクスidxを取得し、視差検出部241、及び、視差補償部242に供給して、処理は、ステップS43に進む。
ステップS43では、視差検出部241が、画面並べ替えバッファ212から供給される原画像である視差画像D#2の(次の)対象ブロックの、参照インデクス割り当て部233からの参照インデクスidxが割り当てられているデコード視差画像D#1のピクチャに対する視差を表す計算視差ベクトルmvを、MEによって検出する。
そして、視差検出部241は、計算視差ベクトルmvを、視差補償部242に供給して、処理は、ステップS43からステップS44に進む。
ステップS44では、視差補償部242は、デコード視差画像D#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、視差検出部241からの計算視差ベクトルmvを用いて行うことで、対象ブロックの予測画像ppを生成する。
そして、視差補償部242は、予測画像ppを、計算視差ベクトルmv、及び、参照インデクスidxとともに、コスト関数算出部244に供給して、処理は、ステップS44からステップS45に進む。
ステップS45では、視差予測部234は、ワープドピクチャバッファ232から候補ピクチャであるワープド視差画像D'#1のピクチャを取得し、視差補償部243に供給して、処理は、ステップS46に進む。
ステップS46では、視差予測部234は、参照インデクス割り当て部233から、ワープド視差画像D'#1のピクチャに割り当てられた参照インデクスidx'を取得し、視差補償部243に供給して、処理は、ステップS47に進む。
ステップS47では、視差補償部243は、(次の)対象ブロックの、ワープド視差画像D'#1のピクチャに対する計算視差ベクトルmv'を0ベクトルに設定し、処理は、ステップS48に進む。
ステップS48では、視差補償部243は、ワープド視差画像D'#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、0ベクトルに設定した計算視差ベクトルmv'を用いて行うことで、対象ブロックの予測画像pp'を生成する。
そして、視差補償部242は、予測画像pp'を、計算視差ベクトルmv'、及び、参照インデクスidx'とともに、コスト関数算出部244に供給して、処理は、ステップS48からステップS49に進む。
ステップS49では、予測ベクトル生成部246が、計算視差ベクトルmv及びmv'それぞれの予測ベクトルを生成し、コスト関数算出部244に供給して、処理は、ステップS50に進む。
ステップS50では、コスト関数算出部244は、画面並び替えバッファ212から供給される(次の)対象ブロック、視差補償部242から供給される予測画像pp、計算視差ベクトルmv、及び、参照インデクスidx、並びに、予測ベクトル生成部246から供給される予測ベクトルに基づいて、計算視差ベクトルmvと予測ベクトルとの残差ベクトルや、対象ブロックと予測画像ppとのSAD等の、コスト関数の演算に必要なパラメータを求める。
さらに、コスト関数算出部244は、そのパラメータを用いて、コスト関数を演算することにより、参照インデクスidx(が割り当てられたデコード視差画像D#1のピクチャ)について、マクロブロックタイプごとの符号化コストを算出し、処理は、ステップS51に進む。
ステップS51では、コスト関数算出部244は、画面並び替えバッファ212から供給される(次の)対象ブロック、視差補償部243から供給される予測画像pp'、計算視差ベクトルmv'、及び、参照インデクスidx'、並びに、予測ベクトル生成部246から供給される予測ベクトルに基づき、計算視差ベクトルmv'と予測ベクトルとの残差ベクトルや、対象ブロックと予測画像pp'とのSAD等の、コスト関数の演算に必要なパラメータを求める。
さらに、コスト関数算出部244は、そのパラメータを用いて、コスト関数を演算することにより、参照インデクスidx'(が割り当てられたワープド視差画像D'#1のピクチャ)について、マクロブロックタイプごとの符号化コストを算出する。
そして、コスト関数算出部244は、参照インデクスidx及びidx'のそれぞれについての、マクロブロックタイプごとの符号化コスト(コスト関数値)を、参照インデクス、予測画像、及び、残差ベクトル(視差ベクトル情報)とともに、モード選択部245に供給し、処理は、ステップS51からステップS52に進む。
ステップS52では、モード選択部245は、コスト関数算出部244からの参照インデクスidx及びidx'のそれぞれについての、マクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
さらに、モード選択部245は、最小コストが得られた参照インデクス、及び、マクロブロックタイプを、最適インター予測モードに選択して、処理は、ステップS52からステップS53に進む。
ステップS53では、モード選択部245は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給し、処理は、ステップS54に進む。
ステップS54では、モード選択部245は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、及び、最適インター予測モードの視差ベクトル情報等を、ヘッダ情報として、可変長符号化部216に供給し、処理はリターンする。
[本技術を適用した多視点画像デコーダの一実施の形態]
図18は、本技術を適用した多視点画像デコーダの一実施の形態の構成例を示すブロック図である。
図18の多視点画像デコーダは、例えば、MVC方式を利用して、複数の視点の画像を符号化したデータを復号するデコーダであり、以下では、MVC方式と同様の処理については、適宜、説明を省略する。
なお、多視点画像デコーダは、MVC方式を利用するデコーダに限定されるものではない。
図18の多視点画像デコーダでは、図5の多視点画像エンコーダが出力する多重化データが、2つの視点#1及び#2の色画像であるビュー#1の色画像C#1、及び、ビュー#2の色画像C#2、並びに、その2つの視点#1及び#2の視差情報画像であるビュー#1の視差画像D#1、及び、ビュー#2の視差画像D#2に復号される。
図18において、多視点画像デコーダは、分離部301、デコーダ311,312,321,322、及び、DPB331を有する。
図5の多視点画像エンコーダが出力する多重化データは、図示せぬ記録媒体や伝送媒体を介して、分離部301に供給される。
分離部301は、そこに供給される多重化データから、色画像C#1の符号化データ、色画像C#2の符号化データ、視差画像D#1の符号化データ、視差画像D#2の符号化データ、及び、視差関連情報を分離する。
そして、分離部301は、色画像C#1の符号化データをデコーダ311に、色画像C#2の符号化データをデコーダ312に、視差画像D#1の符号化データをデコーダ321に、視差画像D#2の符号化データをデコーダ322に、それぞれ供給するとともに、視差関連情報を、デコーダ311,312,321、及び、322に供給する。
デコーダ311は、分離部301からの色画像C#1の符号化データを、必要に応じて、分離部301からの視差関連情報を用いて復号し、その結果得られる色画像C#1を出力する。
デコーダ312は、分離部301からの色画像C#2の符号化データを、必要に応じて、分離部301からの視差関連情報を用いて復号し、その結果得られる色画像C#2を出力する。
デコーダ321は、分離部301からの視差画像D#1の符号化データを、必要に応じて、分離部301からの視差関連情報を用いて復号し、その結果得られる視差画像D#1を出力する。
デコーダ322は、分離部301からの視差画像D#2の符号化データを、必要に応じて、分離部301からの視差関連情報を用いて復号し、その結果得られる視差画像D#2を出力する。
DPB331は、デコーダ311,312,321、及び、322それぞれで、復号対象の画像を復号することにより得られる復号後の画像(デコード画像)を、予測画像の生成時に参照する参照ピクチャの候補として一時記憶する。
すなわち、デコーダ311,312,321、及び、322は、それぞれ、図5のエンコーダ11,12,21、及び、22で予測符号化された画像を復号する。
予測符号化された画像を復号するには、その予測符号化で用いられた予測画像が必要であるため、デコーダ311,312,321、及び、322は、予測符号化で用いられた予測画像を生成するために、復号対象の画像を復号した後、予測画像の生成に用いる、復号後の画像を、DPB331に一時記憶させる。
DPB331は、デコーダ311,312,321、及び、322それぞれで得られる復号後の画像(デコード画像)を一時記憶する共用のバッファであり、デコーダ311,312,321、及び、322それぞれは、DPB331に記憶されたデコード画像から、復号対象の画像を復号するのに参照する参照ピクチャを選択し、その参照ピクチャを用いて、予測画像を生成する。
DPB331は、デコーダ311,312,321、及び、322で共用されるので、デコーダ311,312,321、及び、322それぞれは、自身で得られたデコード画像の他、他のデコーダで得られたデコード画像をも参照することができる。
[デコーダ311の構成例]
図19は、図18のデコーダ311の構成例を示すブロック図である。
なお、図18のデコーダ312及び321も、デコーダ311と同様に構成され、例えば、MVC方式に従って、画像の符号化を行う。
図19において、デコーダ311は、蓄積バッファ341、可変長復号部342、逆量子化部343、逆直交変換部344、演算部345、デブロッキングフィルタ346、画面並び替えバッファ347、D/A変換部348、画面内予測部349、インター予測部350、及び、予測画像選択部351を有する。
蓄積バッファ341には、分離部301(図18)から、色画像C#1の符号化データが供給される。
蓄積バッファ341は、そこに供給される符号化データを一時記憶し、可変長復号部342に供給する。
可変長復号部342は、蓄積バッファ341からの符号化データを可変長復号することにより、量子化値やヘッダ情報を復元する。そして、可変長復号部342は、量子化値を、逆量子化部343に供給し、ヘッダ情報を、画面内予測部349、及び、インター予測部350に供給する。
逆量子化部343は、可変長復号部342からの量子化値を、変換係数に逆量子化し、逆直交変換部344に供給する。
逆直交変換部344は、逆量子化部343からの変換係数を逆直交変換し、マクロブロック単位で、演算部345に供給する。
演算部345は、逆直交変換部344から供給されるマクロブロックを復号対象の対象ブロックとして、その対象ブロックに対して、必要に応じて、予測画像選択部351から供給される予測画像を加算することで、デコード画像を求め、デブロッキングフィルタ346に供給する。
デブロッキングフィルタ346は、演算部345からのデコード画像に対して、例えば、図9のデブロッキングフィルタ121と同様のフィルタリングを行い、そのフィルタリング後のデコード画像を、画面並び替えバッファ347に供給する。
画面並び替えバッファ347は、デブロッキングフィルタ346からのデコード画像のピクチャを一時記憶して読み出すことで、ピクチャの並びを、元の並び(表示順)に並び替え、D/A(Digital/Analog)変換部348に供給する。
D/A変換部348は、画面並び替えバッファ347からのピクチャをアナログ信号で出力する必要がある場合に、そのピクチャをD/A変換して出力する。
また、デブロッキングフィルタ346は、フィルタリング後のデコード画像のうちの、参照可能ピクチャであるIピクチャ、Pピクチャ、及び、Bsピクチャのデコード画像を、DPB331に供給する。
ここで、DPB331は、デブロッキングフィルタ346からのデコード画像のピクチャ、すなわち、色画像C#1のピクチャを、時間的に後に行われる復号に用いる予測画像を生成するときに参照する参照ピクチャの候補(候補ピクチャ)として記憶する。
図18で説明したように、DPB331は、デコーダ311,312,321、及び、322で共用されるので、デコーダ311において復号された色画像C#1のピクチャの他、デコーダ312において復号された色画像C#2のピクチャ、デコーダ321において復号された視差画像D#1のピクチャ、及び、デコーダ322において復号された視差画像D#2のピクチャも記憶する。
画面内予測部349は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、イントラ予測(画面内予測)で生成された予測画像を用いて符号化されているかどうかを認識する。
対象ブロックが、イントラ予測で生成された予測画像を用いて符号化されている場合、画面内予測部349は、図9の画面内予測部122と同様に、DPB331から、対象ブロックを含むピクチャ(対象ピクチャ)のうちの、既に復号されている部分(デコード画像)を読み出す。そして、画面内予測部349は、DPB331から読み出した、対象ピクチャのうちのデコード画像の一部を、対象ブロックの予測画像として、予測画像選択部351に供給する。
インター予測部350は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、インター予測で生成された予測画像を用いて符号化されているかどうかを認識する。
対象ブロックが、インター予測で生成された予測画像を用いて符号化されている場合、インター予測部350は、可変長復号部342からのヘッダ情報に基づき、予測用の参照インデクス、すなわち、対象ブロックの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクスを認識する。
そして、インター予測部350は、DPB331に記憶されている候補ピクチャから、予測用の参照インデクスが割り当てられている候補ピクチャを、参照ピクチャとして読み出す。
さらに、インター予測部350は、可変長復号部342からのヘッダ情報に基づき、対象ブロックの予測画像の生成に用いられたずれベクトル(視差ベクトル、動きベクトル)を認識し、図9のインター予測部123と同様に、そのずれベクトルに従って、参照ピクチャのずれ補償(動き分のずれを補償する動き補償、又は、視差分のずれを補償する視差補償)を行うことで、予測画像を生成する。
すなわち、インター予測部350は、候補ピクチャの、対象ブロックの位置から、その対象ブロックのずれベクトルに従って移動した(ずれた)位置のブロック(対応ブロック)を、予測画像として取得する。
そして、インター予測部350は、予測画像を、予測画像選択部351に供給する。
予測画像選択部351は、画面内予測部349から予測画像が供給される場合には、その予測画像を、インター予測部350から予測画像が供給される場合には、その予測画像を、それぞれ選択し、演算部345に供給する。
[デコーダ322の構成例]
図20は、図18のデコーダ322の構成例を示すブロック図である。
デコーダ322は、復号対象であるビュー#2の視差画像D#2の符号化データを、MVC方式を利用して、すなわち、図13のエンコーダ22で行われるローカルデコードと同様にして行う。
図20において、デコーダ322は、蓄積バッファ441、可変長復号部442、逆量子化部443、逆直交変換部444、演算部445、デブロッキングフィルタ446、画面並び替えバッファ447、D/A変換部448、画面内予測部449、予測画像選択部451、ワーピング部461、ワープドピクチャバッファ462、及び、視差予測部463を有する。
蓄積バッファ441ないし画面内予測部449、及び、予測画像選択部451は、図19の蓄積バッファ341ないし画面内予測部349、及び、予測画像選択部351と、それぞれ同様に構成されるので、その説明は、適宜省略する。
図20において、DPB331には、デブロッキングフィルタ446から、デコード画像、すなわち、デコーダ322において復号された視差画像であるデコード視差画像D#2のピクチャが供給され、参照ピクチャとなりうる候補ピクチャとして記憶される。
また、DPB331には、図18や図19で説明したように、デコーダ311において復号された色画像C#1のピクチャ、デコーダ312において復号された色画像C#2のピクチャ、及び、デコーダ321において復号された視差画像(デコード視差画像)D#1のピクチャも供給されて記憶される。
但し、デコーダ322では、デブロッキングフィルタ446からのデコード視差画像D#2のピクチャの他、デコーダ321で得られるデコード視差画像D#1が、復号対象である視差画像D#2の復号に用いられるので、図20では、デコーダ321で得られるデコード視差画像D#1が、DPB331に供給されることを示す矢印を、図示してある。
ワーピング部461には、視差関連情報(図18)としての、撮影視差ベクトルd(視点#1の撮影視差ベクトルd1)の最大値dmax及び最小値dmin、基線長L、焦点距離fが供給される。
ワーピング部461は、DPB331に記憶された、デコード視差画像D#1及びD#2のピクチャのうちの、デコード視差画像D#1のピクチャを取得する(読み出す)。
そして、ワーピング部461は、図13のワーピング部231と同様に、視差関連情報を必要に応じて用いて、DPB331から取得したデコード視差画像D#1のピクチャをワーピングすることにより、そのデコード視差画像D#1のピクチャを視点#2で得られる画像(視差画像)に変換したワープド画像であるワープド視差画像D'#1のピクチャを生成する。
ワーピング部461は、デコード視差画像D#1のピクチャのワーピングによって、ワープド視差画像D'#1のピクチャを生成すると、そのワープド視差画像D'#1のピクチャを、ワープドピクチャバッファ462に供給する。
ワープドピクチャバッファ462は、ワーピング部461からのワープド視差画像D'#1のピクチャを、一時記憶する。
なお、本実施の形態では、DPB331とは別に、ワープド視差画像D'#1のピクチャを記憶するワープドピクチャバッファ462を設けてあるが、DPB331とワープドピクチャバッファ462とは、1つのバッファで兼用することが可能である。
視差予測部463は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、視差予測(インター予測)で生成された予測画像を用いて符号化されているかどうかを認識する。
対象ブロックが、視差予測で生成された予測画像を用いて符号化されている場合、視差予測部463は、可変長復号部342からのヘッダ情報に基づき、予測用の参照インデクス、すなわち、対象ブロックの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクスを認識(取得)する。
そして、視差予測部463は、DPB331に記憶されている候補ピクチャとしてのデコード視差画像D#1のピクチャ、及び、ワープドピクチャバッファ462に記憶されている候補ピクチャとしてのワープド視差画像D'#1のピクチャのうちの、予測用の参照インデクスが割り当てられている候補ピクチャを、参照ピクチャとして選択する。
さらに、視差予測部463は、可変長復号部342からのヘッダ情報に基づき、候補ブロックの予測画像の生成に用いられたずれベクトルとしての計算視差ベクトルを認識し、図13の視差予測部234と同様に、その計算視差ベクトルに従って、視差予測を行うことで、予測画像を生成する。
すなわち、視差予測部463は、候補ピクチャの、対象ブロックの位置から、その対象ブロックの計算視差ベクトルに従って移動した(ずれた)位置のブロック(対応ブロック)を、予測画像として取得する。
そして、視差予測部463は、予測画像を、予測画像選択部451に供給する。
なお、図20においては、説明を簡単にするため、図13のエンコーダ22の場合と同様に、デコーダ322に、インター予測のうちの視差予測を行う視差予測部463を設けてあるが、図13のエンコーダ22が、視差予測の他、時間予測も行う場合には、デコーダ322でも、エンコーダ22で行われるのと同様にして、視差予測、及び、時間予測(による予測画像の生成)が行われる。
図21は、図20の視差予測部463の構成例を示すブロック図である。
図21において、視差予測部463は、参照ピクチャ選択部471、予測ベクトル生成部472、及び、視差補償部473を有する。
参照ピクチャ選択部471には、DPB331に記憶されたデコード視差画像D#1のピクチャと、ワープドピクチャバッファ462に記憶されたワープド視差画像D'#1ピクチャとが供給される。
さらに、参照ピクチャ選択部471には、可変長復号部442から、ヘッダ情報に含まれる、対象ブロックの予測用の参照インデクスが供給される。
参照ピクチャ選択部471は、DPB331に記憶されたデコード視差画像D#1のピクチャと、ワープドピクチャバッファ462に記憶されたワープド視差画像D'#1ピクチャとを、参照ピクチャの候補(候補ピクチャ)として、そのデコード視差画像D#1のピクチャと、ワープド視差画像D'#1ピクチャとのうちの、可変長復号部442からの予測用の参照インデクスが割り当てられている方のピクチャを、参照ピクチャに選択し、可変長復号部442からの予測用の参照インデクスとともに、視差補償部773に供給する。
予測ベクトル生成部472は、図15の予測ベクトル生成部246と同様にして予測ベクトルを生成し、視差補償部473に供給する。
視差補償部473には、参照ピクチャ選択部471から、予測用の参照インデクスが割り当てられた参照ピクチャが供給されるとともに、予測ベクトル生成部473から、予測ベクトルが供給される他、可変長復号部472から、ヘッダ情報に含まれるモード関連情報、及び、視差ベクトル情報が供給される。
視差補償部473は、可変長復号部472からの視差ベクトル情報である残差ベクトルと、予測ベクトル生成部472からの予測ベクトルとを加算することで、対象ブロックの計算視差ベクトルとしてのずれベクトルを復号する。
さらに、視差補償部473は、モード関連情報(最適インター予測モード)に従い、参照ピクチャ選択部471からの参照ピクチャのずれ補償(視差補償)を、対象ブロックの計算視差ベクトルを用いて、MVC方式と同様にして行うことで、対象ブロックの予測画像を生成する。
すなわち、視差補償部473は、例えば、参照ピクチャの、対象ブロックの位置から、計算視差ベクトルだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
そして、視差補償部473は、予測画像を、予測画像選択部451に供給する。
図22は、図20のデコーダ322が行う、ビュー#2の視差画像D#2の符号化データを復号する復号処理を説明するフローチャートである。
ステップS111において、蓄積バッファ441は、そこに供給されるビュー#2の視差画像D#2の符号化データを記憶し、処理は、ステップS112に進む。
ステップS112では、可変長復号部442は、蓄積バッファ441に記憶された符号化データを読み出して可変長復号することにより、量子化値やヘッダ情報を復元する。そして、可変長復号部442は、量子化値を、逆量子化部443に供給し、ヘッダ情報を、画面内予測部449、及び、視差予測部450に供給して、処理は、ステップS113に進む。
ステップS113では、逆量子化部443は、可変長復号部442からの量子化値を、変換係数に逆量子化し、逆直交変換部444に供給して、処理は、ステップS114に進む。
ステップS114では、逆直交変換部444は、逆量子化部443からの変換係数を逆直交変換し、マクロブロック単位で、演算部445に供給して、処理は、ステップS115に進む。
ステップS115では、演算部445は、逆直交変換部444からのマクロブロックを復号対象の対象ブロック(残差画像)として、その対象ブロックに対して、必要に応じて、予測画像選択部451から供給される予測画像を加算することで、デコード画像を求める。そして、演算部445は、デコード画像を、デブロッキングフィルタ446に供給し、処理は、ステップS115からステップS116に進む。
ステップS116では、デブロッキングフィルタ446は、演算部445からのデコード画像に対して、フィルタリングを行い、そのフィルタリング後のデコード画像(デコード視差画像D#2)を、DPB331、及び、画面並び替えバッファ447に供給して、処理は、ステップS117に進む。
ステップS117では、DPB331が、視差画像D#1を復号するデコーダ321から、デコード視差画像D#1が供給されるのを待って、そのデコード視差画像D#1を記憶し、処理は、ステップS118に進む。
ステップS118では、DPB331が、デブロッキングフィルタ446からのデコード視差画像D#2を記憶し、処理は、ステップS119に進む。
ステップS119では、ワーピング部461が、DPB331に記憶されたデコード視差画像D#1のピクチャをワーピングすることにより、ワープド視差画像D'#1のピクチャを生成し、ワープドピクチャバッファ462に供給して、処理は、ステップS120に進む。
ステップS120では、ワープドピクチャバッファ462が、ワーピング部461からのワープド視差画像D'#1のピクチャを記憶し、処理は、ステップS121に進む。
ステップS121では、画面内予測部449、及び、視差予測部463が、可変長復号部442から供給されるヘッダ情報に基づき、次の対象ブロック(次に復号対象となるマクロブロック)が、イントラ予測(画面内予測)、及び、視差予測(インター予測)のうちのいずれの予測方式で生成された予測画像を用いて符号化されているかを認識する。
そして、次の対象ブロックが、画面内予測で生成された予測画像を用いて符号化されている場合には、画面内予測部449が、イントラ予測処理(画面内予測処理)を行う。
すなわち、画面内予測部449は、次の対象ブロックについて、DPB331に記憶されたデコード視差画像D#2のピクチャから、予測画像(イントラ予測の予測画像)を生成するイントラ予測(画面内予測)を行い、その予測画像を、予測画像選択部451に供給して、処理は、ステップS121からステップS122に進む。
また、次の対象ブロックが、視差予測(インター予測)で生成された予測画像を用いて符号化されている場合には、視差予測部463が、視差予測処理(インター予測処理)を行う。
すなわち、視差予測部463は、次の対象ブロックについて、DPB331に記憶されたデコード視差画像D#1のピクチャ、及び、ワープドピクチャバッファ462に記憶されたワープド視差画像D'#1のピクチャのうちの、可変長復号部442からのヘッダ情報に含まれる、次の対象ブロックの予測用の参照インデクスが割り当てられている方のピクチャを参照ピクチャに選択する。
さらに、視差予測部463は、可変長復号部442からのヘッダ情報に含まれるモード関連情報、及び、視差ベクトル情報を用いて、視差予測(視差補償)を行うことにより、予測画像を生成し、その予測画像を、予測画像選択部451に供給して、処理は、ステップS121からステップS122に進む。
ステップS122では、予測画像選択部451は、画面内予測部449、及び、視差予測部463のうちの、予測画像が供給される方からの、その予測画像を選択し、演算部445に供給して、処理は、ステップS123に進む。
ここで、予測画像選択部451がステップS122で選択する予測画像が、次の対象ブロックの復号で行われるステップS115の処理で用いられる。
ステップS123では、画面並び替えバッファ447が、デブロッキングフィルタ446からのデコード視差画像D#2のピクチャを一時記憶して読み出すことで、ピクチャの並びを、元の並びに並び替え、D/A変換部448に供給して、処理は、ステップS124に進む。
ステップS124では、D/A変換部348は、画面並び替えバッファ447からのピクチャをアナログ信号で出力する必要がある場合に、そのピクチャをD/A変換して出力する。
デコーダ322では、以上のステップS111ないしS124の処理が、適宜繰り返し行われる。
図23は、図22のステップS121で、図21の視差予測部463が行う視差予測処理を説明するフローチャートである。
ステップS131において、視差予測部463の参照ピクチャ選択部471は、可変長復号部442からのヘッダ情報に含まれる、(次の)対象ブロックの予測用の参照インデクスを取得し、処理は、ステップS132に進む。
ステップS132では、参照ピクチャ選択部471が、予測用の参照インデクスの値を判定する。
ステップS132において、予測用の参照インデクスが、0であると判定された場合、処理は、ステップS133に進み、参照ピクチャ選択部471は、候補ピクチャであるデコード視差画像D#1のピクチャ、及び、ワープド視差画像D'#1のピクチャのうちの、値0の参照インデクスが割り当てられているワープド視差画像D'#1のピクチャを、ワープドピクチャバッファ462から取得する。
そして、参照ピクチャ選択部471は、ワープド視差画像D'#1のピクチャを、参照ピクチャとして、視差補償部473に供給して、処理は、ステップS133からステップS135に進む。
また、ステップS132において、予測用の参照インデクスが、1であると判定された場合、処理は、ステップS134に進み、参照ピクチャ選択部471は、候補ピクチャであるデコード視差画像D#1のピクチャ、及び、ワープド視差画像D'#1のピクチャのうちの、値1の参照インデクスが割り当てられているデコード視差画像D#1のピクチャを、DPB331から取得する。
そして、参照ピクチャ選択部471は、デコード視差画像D#1のピクチャを、参照ピクチャとして、視差補償部473に供給して、処理は、ステップS134からステップS135に進む。
ステップS135では、視差補償部473が、可変長復号部442からのヘッダ情報に含まれるモード関連情報、及び、視差ベクトル情報(残差ベクトル)を取得し、処理は、ステップS136に進む。
ステップS136では、予測ベクトル生成部472が、予測ベクトルを生成し、視差補償部473に供給して、処理は、ステップS137に進む。
ステップS137では、視差補償部473は、可変長復号部472からの視差ベクトル情報である残差ベクトルと、予測ベクトル生成部472からの予測ベクトルとを加算することで、対象ブロックの計算視差ベクトルとしてのずれベクトルを復号し、処理は、ステップS137からステップS138に進む。
ステップS138では、視差補償部473は、モード関連情報に従い、参照ピクチャ選択部471からの参照ピクチャのずれ補償(視差補償)を、対象ブロックの計算視差ベクトルを用いて行うことで、対象ブロックの予測画像を生成し、処理は、ステップS139に進む。
ステップS139では、視差補償部473は、予測画像を、予測画像選択部451に供給して、処理はリターンする。
ここで、以上のように、符号化対象/復号対象の画像とは異なる視点の画像をワーピングすることにより生成されるワープド画像のピクチャが、少なくとも含まれる候補ピクチャに、参照インデクスを割り当てておく符号化/復号を、ワープド参照割り当て方式ともいう。
ワープド参照割り当て方式は、視差画像の符号化及び復号の他、色画像の符号化及び復号にも適用することができる。
[ワープド参照割り当て方式の色画像への適用]
図24は、色画像を対象とするワープド参照割り当て方式を説明する図である。
図24では、色画像C#2の対象ブロックの符号化にあたって、(ローカルデコード後の)色画像C#1をワーピングすることにより生成されるワープド色画像C'#1(のピクチャ)と、色画像C#1(のピクチャ)とが、参照ピクチャとなりうるピクチャ(候補ピクチャ)とされている。
ワープド色画像C'#1(のピクチャ)を参照ピクチャとする場合には、ずれベクトルが0ベクトルであると仮定して、MCによって、色画像C#2の対象ブロックであるブロックMBC#21の位置から、ずれベクトルだけずれた位置のブロック、つまり、対象ブロックMBC#21と同一の位置のブロックMBC'#11が、予測画像として取得される。
そして、例えば、対象ブロックMBC#21の、予測画像であるブロックMBC'#11との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、ワープド色画像C'#1を参照ピクチャとする場合の、対象ブロックMBC#21の符号化に要する符号化コストCOST=COST1'が、上述の式(1)に従って算出される。
ここで、ワープド色画像C'#1は、視点#1の色画像C#1を、視点#2から見た画像に変換した画像であり、視点#2の色画像C#2との間に、視差がない(視差の補償がされている)と推定することができるので、視差画像を対象とするワープド参照割り当て方式の場合と同様に、ワープド色画像C'#1を参照ピクチャとする場合には、ずれベクトルとして、0ベクトルが仮定される。
さらに、視差画像を対象とするワープド参照割り当て方式の場合と同様に、式(1)の符号化コストCOSTの計算にあたっては、ずれベクトルの符号量に対応する値MVとして、0が採用される。
したがって、ワープド色画像C'#1を参照ピクチャとして用いて、対象ブロックMBC#21を符号化するときの符号化コストCOST1'は、視差画像を対象とするワープド参照割り当て方式の場合と同様に、式COST1'=SAD+λ×0=SADで表される。
一方、色画像C#1(のピクチャ)を参照ピクチャとする場合には、対象ブロックMBC#21と、色画像C#1との間で、MEを行うことによって、ずれベクトル(計算視差ベクトル)が検出される。
さらに、MCによって、色画像C#1において、対象ブロックMBC#21の位置から、ずれベクトルだけずれた位置のブロック(対応ブロック)MBC#11が、予測画像として取得される。
そして、対象ブロックMBC#21の、予測画像であるブロックMBC#11との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、色画像C#1を参照ピクチャとする場合の、対象ブロックMBC#21の符号化に要する符号化コストCOST=COST1が、式(1)に従って算出される。
以上のように、ワープド色画像C'#1を参照ピクチャとする場合の、対象ブロックMBC#21の符号化に要する符号化コスト(ワープド色画像C'#1についての符号化コスト)COST1'と、色画像C#1を参照ピクチャとする場合の、対象ブロックMBC#21の符号化に要する符号化コスト(色画像C#1についての符号化コスト)COST1との算出後、その符号化コストCOST1'及びCOST1に基づいて、ワープド色画像C'#1、及び、色画像C#1のうちの、符号化コストが小さい方が、対象ブロックMBC#21の符号化に用いる参照ピクチャとして選択される。
なお、視差画像を対象とするワープド参照割り当て方式の場合と同様の理由から、ワープド色画像C'#1には、値が0(第1の値)の参照インデクスref_idxが割り当てられ、色画像C#1には、値が1(第2の値)の参照インデクスref_idxが割り当てられる。
したがって、色画像を対象とするワープド参照割り当て方式によれば、視差画像を対象とするワープド参照割り当て方式と同様の効果を奏することができる。
[ワープド参照割り当て方式で色画像を符号化するエンコーダ12の構成例]
図25は、ワープド参照割り当て方式で色画像C#2を符号化する図5のエンコーダ12の構成例を示すブロック図である。
図25において、エンコーダ12は、A/D変換部511、画面並び替えバッファ512、演算部513、直交変換部514、量子化部515、可変長符号化部516、蓄積バッファ517、逆量子化部518、逆直交変換部519、演算部520、デブロッキングフィルタ521、画面内予測部522、予測画像選択部524、ワーピング部531、ワープドピクチャバッファ532、参照インデクス割り当て部533、及び、視差予測部534を有する。
A/D変換部511ないし画面内予測部522、予測画像選択部524、ワーピング部531ないし視差予測部534は、視差画像ではなく、色画像を対象として処理を行うことを除き、図13のエンコーダ22のA/D変換部211ないし画面内予測部222、予測画像選択部224、ワーピング部231ないし視差予測部234と、それぞれ同様の処理を行う。
なお、図25において、DPB31には、デブロッキングフィルタ521から、デコード画像、すなわち、エンコーダ12において符号化されてローカルデコードされた色画像(以下、デコード色画像ともいう)C#2のピクチャが供給され、参照ピクチャとなりうる候補ピクチャとして記憶される。
また、DPB31には、図5や図9で説明したように、エンコーダ11において符号化されてローカルデコードされた色画像(デコード色画像)C#1のピクチャ、エンコーダ21において符号化されてローカルデコードされた視差画像(デコード視差画像)D#1のピクチャ、エンコーダ22において符号化されてローカルデコードされた視差画像(デコード視差画像)D#2のピクチャも供給されて記憶される。
但し、エンコーダ12では、デブロッキングフィルタ521からのデコード色画像C#2のピクチャの他、エンコーダ11で得られるデコード色画像C#1、及び、エンコーダ21で得られるデコード視差画像D#1が、符号化対象である色画像C#2の符号化に用いられるので、図25では、エンコーダ11で得られるデコード色画像C#1、及び、エンコーダ21で得られるデコード視差画像D#1が、DPB31に供給されることを示す矢印を、図示してある。
なお、DPB31に記憶されたデコード視差画像D#1は、ワーピング部531において、DPB31に記憶されたデコード色画像C#1のピクチャをワーピングすることにより、そのデコード色画像C#1のピクチャを視点#2で得られる画像(色画像)に変換したワープド画像であるワープド色画像C'#1のピクチャを生成するために用いられる。
すなわち、ワーピング部531は、図13のワーピング部231と同様に、デコード視差画像D#1のピクチャの各画素の画素値である視差値νを、式(3)に従って、画素ごとの撮影視差ベクトルdに変換する。
そして、ワーピング部531は、デコード色画像C#1のピクチャの各画素を、その画素の撮影視差ベクトルdに従って移動するワーピングを行うことにより、ワープド色画像C'#1のピクチャを生成する。
なお、ワープド色画像C'#1のピクチャに、画素値がない、穴が空いたオクルージョン部分が生じる場合には、オクルージョン部分の画素は、周辺の画素によって補間される。
ここで、図2で説明したように、色画像C#1をワーピングすることにより得られるワープド色画像C'#1については、オクルージョン部分の周辺の画素によって、オクルージョン部分を補間した場合に、そのオクルージョン部分と、色画像C#2の、オクルージョン部分と同一の位置の部分との相関は、高くならないことが多い。
その結果、色画像C#2の対象ブロックが、ワープド色画像C'#1のオクルージョン部分と同一の位置の部分を含む場合には、ワープド色画像C'#1のピクチャを参照ピクチャとするときの符号化コストが大になるが、その場合、他の候補ピクチャである色画像C#1のピクチャが参照ピクチャに選択されることになるので、問題はない。
図26は、図25の視差予測部534の構成例を示すブロック図である。
図26は、図25の視差予測部534の構成例を示すブロック図である。
図26において、視差予測部534は、視差検出部541、視差補償部542及び543、コスト関数算出部544、モード選択部545、並びに、予測ベクトル生成部546を有する。
視差検出部541ないし予測ベクトル生成部546は、視差画像に代えて色画像を対象として処理を行うことを除き、図15の視差検出部241ないし予測ベクトル生成部246と、それぞれ同様の処理を行う。
図27は、図25のエンコーダ12が行う、ビュー#2の色画像C#2を符号化する符号化処理を説明するフローチャートである。
図25のエンコーダ12では、ステップS201ないしS209において、視差画像に代えて色画像を対象として、図16のステップS11ないしS19とそれぞれ同様の処理が行われることにより、デブロッキングフィルタ521でのフィルタリングにより得られるデコード色画像C#2が、DPB31(図5)に供給され、処理は、ステップS210に進む。
ステップS210では、DPB31が、色画像C#1を符号化するエンコーダ21から、その色画像C#1を符号化して、ローカルデコードすることにより得られるデコード色画像C#1が供給されるのを待って、そのデコード色画像C#1を記憶し、処理は、ステップS211に進む。
ステップS211では、DPB31が、視差画像D#1を符号化するエンコーダ11から、その視差画像D#1を符号化して、ローカルデコードすることにより得られるデコード視差画像D#1が供給されるのを待って、そのデコード視差画像D#1を記憶し、処理は、ステップS212に進む。
ステップS212では、DPB31が、デブロッキングフィルタ521からのデコード色画像C#2を記憶し、処理は、ステップS213に進む。
ステップS213では、ワーピング部531が、DPB31に記憶されたデコード色画像C#1のピクチャを、DPB31に記憶されたデコード視差画像D#1のピクチャを用いてワーピングすることにより、ワープド色画像C'#1のピクチャを生成し、ワープドピクチャバッファ532に供給して、処理は、ステップS214に進む。
以下、ステップS214ないしS220では、エンコーダ12において、視差画像に代えて色画像を対象として、図16のステップS23ないしS29とそれぞれ同様の処理が行われる。
図28は、図26の視差予測部534が(図27のステップS217で)行う視差予測処理を説明するフローチャートである。
図26の視差予測部534では、ステップS241ないしS254において、視差画像に代えて色画像を対象として、図17のステップS41ないしS54とそれぞれ同様の処理が行われる。
[ワープド参照割り当て方式で色画像を復号するデコーダ312の構成例]
図29は、エンコーダ12が図25に示したように構成される場合の、図18のデコーダ312の構成例、すなわち、ワープド参照割り当て方式で色画像C#2を復号するデコーダ312の構成例を示すブロック図である。
図29において、デコーダ312は、蓄積バッファ641、可変長復号部642、逆量子化部643、逆直交変換部644、演算部645、デブロッキングフィルタ646、画面並び替えバッファ647、D/A変換部648、画面内予測部649、予測画像選択部651、ワーピング部661、ワープドピクチャバッファ662、及び、視差予測部663を有する。
蓄積バッファ641ないし画面内予測部649、予測画像選択部651、及び、ワーピング部661ないし視差予測部663は、視差画像ではなく、色画像を対象として処理を行うことを除き、図29のデコーダ322の蓄積バッファ441ないし画面内予測部449、予測画像選択部451、及び、ワーピング部461ないし視差予測部463と、それぞれ同様の処理を行う。
なお、図29において、DPB331には、デブロッキングフィルタ646から、デコード画像、すなわち、デコーダ312において復号された色画像であるデコード色画像C#2のピクチャが供給され、参照ピクチャとなりうる候補ピクチャとして記憶される。
また、DPB331には、図18や図19で説明したように、デコーダ311において復号された色画像(デコード色画像)C#1のピクチャ、デコーダ321において復号された視差画像(デコード視差画像)D#1のピクチャ、及び、デコーダ322において復号された視差画像(デコード視差画像)D#2のピクチャも供給されて記憶される。
但し、デコーダ312では、デブロッキングフィルタ646からのデコード色画像C#2のピクチャの他、デコーダ311で得られるデコード色画像C#1、及び、デコーダ321で得られるデコード視差画像D#1のピクチャが、復号対象である色画像C#2の復号に用いられるので、図29では、デコーダ311で得られるデコード色画像C#1、及び、デコーダ321で得られるデコード視差画像D#1が、DPB331に供給されることを示す矢印を、図示してある。
なお、DPB331に記憶されたデコード視差画像D#1は、ワーピング部661において、図25のワーピング部531と同様に、DPB331に記憶されたデコード色画像C#1のピクチャをワーピングすることにより、そのデコード色画像C#1のピクチャを視点#2で得られる画像(色画像)に変換したワープド画像であるワープド色画像C'#1のピクチャを生成するために用いられる。
図30は、図29の視差予測部663の構成例を示すブロック図である。
図30において、視差予測部663は、参照ピクチャ選択部671、予測ベクトル生成部672、及び、視差補償部673を有する。
参照ピクチャ選択部671ないし視差補償部673は、視差画像ではなく、色画像を対象として処理を行うことを除き、図25の視差予測部463の参照ピクチャ選択部471ないし視差補償部473と、それぞれ同様の処理を行う。
図31は、図29のデコーダ312が行う、ビュー#2の色画像C#2の符号化データを復号する復号処理を説明するフローチャートである。
図29のデコーダ312では、ステップS311ないしS316において、視差画像に代えて色画像を対象として、図22のステップS111ないしS116とそれぞれ同様の処理が行われることにより、デブロッキングフィルタ646でのフィルタリングにより得られるデコード色画像C#2が、DPB331に供給され、処理は、ステップS317に進む。
ステップS317では、DPB331が、色画像C#1を復号するデコーダ311から、デコード色画像C#1が供給されるのを待って、そのデコード色画像C#1を記憶し、処理は、ステップS318に進む。
ステップS318では、DPB331が、視差画像D#1を復号するデコーダ321から、デコード視差画像D#1が供給されるのを待って、そのデコード視差画像D#1を記憶し、処理は、ステップS319に進む。
ステップS319では、DPB331が、デブロッキングフィルタ646からのデコード色画像C#2を記憶し、処理は、ステップS320に進む。
ステップS320では、ワーピング部661が、DPB331に記憶されたデコード色画像C#1のピクチャを、DPB331に記憶されたデコード視差画像D#1のピクチャを用いてワーピングすることにより、ワープド色画像C'#1のピクチャを生成し、ワープドピクチャバッファ662に供給して、処理は、ステップS321に進む。
以下、ステップS321ないしS325では、デコーダ312において、視差画像に代えて色画像を対象として、図22のステップS120ないしS124とそれぞれ同様の処理が行われる。
図32は、図30の視差予測部663が(図31のステップS322で)行う視差予測処理を説明するフローチャートである。
図30の視差予測部663では、ステップS331ないしS339において、視差画像に代えて色画像を対象として、図23のステップS131ないしS139とそれぞれ同様の処理が行われる。
[時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式]
図33は、時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式を説明する図である。
図13で説明したように、エンコーダ22(図5)では、視差予測、及び、時間予測の両方を行うことができる。
視差画像D#2を符号化するエンコーダ22において、視差予測、及び、時間予測の両方を行う場合、視差予測で参照されうるワープド視差画像D'#1のピクチャや、デコード視差画像D#1のピクチャの他、時間予測で参照されうるデコード視差画像D#2のピクチャが、候補ピクチャとなり、参照インデクスが割り当てられる。
ここで、以下、説明を簡単にするため、視差画像D#2を符号化するエンコーダ22において、視差予測、及び、時間予測の両方を行う場合の候補ピクチャとして、視差予測で参照されるワープド視差画像D'#1のピクチャと、時間予測で参照されるデコード視差画像D#2のピクチャとを採用することとする。
図33では、符号化対象の視差画像D#2の対象ピクチャとしての第tピクチャの対象ブロックの符号化にあたって、(ローカルデコード後の)視差画像D#1をワーピングすることにより生成されるワープド視差画像D'#1の第tピクチャと、符号化対象の視差画像D#2の第t'ピクチャとが、参照ピクチャとなりうるピクチャ(候補ピクチャ)とされている。
ここで、候補ピクチャである視差画像D#2の第t'ピクチャは、対象ブロックのピクチャである視差画像D#2の第tピクチャよりも先に復号(ローカルデコード)され、デコード視差画像D#2のピクチャとして、DPB31(及びDPB331)に記憶されるピクチャである。
候補ピクチャである視差画像D#2の第t'ピクチャとしては、例えば、対象ブロックのピクチャである視差画像D#2の第tピクチャの1ピクチャ前等に復号(及び符号化)されるピクチャを採用することができる。
ワープド視差画像D'#1の第tピクチャを参照ピクチャとする場合には、ずれベクトルが0ベクトルであると仮定して、MCによって、視差画像D#2の第tピクチャの対象ブロックであるブロックMBD#21の位置から、ずれベクトルだけずれた位置のブロック、つまり、対象ブロックMBD#21と同一の位置のブロックMBD'#11が、予測画像として取得される。
そして、例えば、対象ブロックMBD#21の、予測画像であるブロックMBD'#11との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、ワープド視差画像D'#1を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コストCOST=COST1'が、上述の式(1)に従って算出される。
ここで、図3や図24で説明したように、ワープド視差画像D'#1のピクチャを参照ピクチャとする場合には、ずれベクトルとして、0ベクトルを仮定するとともに、式(1)の符号化コストCOSTの計算にあたっては、ずれベクトルの符号量に対応する値MVとして、0を採用することができる。
したがって、ワープド視差画像D'#1のピクチャを参照ピクチャとして用いて、対象ブロックMBD#21を符号化するときの符号化コストCOST1'は、図3や図24で説明したように、式COST1'=SAD+λ×0=SADで表される。
一方、視差画像D#2の第t'ピクチャを参照ピクチャとする場合には、対象ブロックMBD#21と、視差画像D#2の第t'ピクチャとの間で、MEを行うことによって、動きベクトルであるずれベクトルが検出される。
さらに、MCによって、視差画像D#2の第t'ピクチャにおいて、対象ブロックMBD#21の位置から、動きベクトルであるずれベクトルだけずれた位置のブロック(対応ブロック)MBD#21'が、予測画像として取得される。
そして、対象ブロックMBD#21の、予測画像であるブロックMBD#21'との残差に対応する値であるSADと、ずれベクトルの符号量に対応する値MVとを用いて、視差画像D#2の第t'ピクチャを参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コストCOST=COST1が、式(1)に従って算出される。
以上のように、対象ブロックMBD#21の符号化にあたり、ワープド視差画像D'#1のピクチャ(対象ブロックMBD#21のピクチャと同一の時刻tのピクチャ)を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コスト(ワープド視差画像D'#1のピクチャについての符号化コスト)COST1'と、視差画像D#2のピクチャ(対象ブロックMBD#21のピクチャと異なる時刻t'のピクチャ)を参照ピクチャとする場合の、対象ブロックMBD#21の符号化に要する符号化コスト(視差画像D#2のピクチャについての符号化コスト)COST1との算出後、その符号化コストCOST1'及びCOST1に基づいて、ワープド視差画像D'#1の第tピクチャ、及び、視差画像D#2の第t'ピクチャのうちの、符号化コストが小さい方が、対象ブロックMBD#21の符号化に用いる参照ピクチャとして選択される。
ここで、視差画像D#2の第tピクチャの対象ブロックMBD#21の符号化にあたり、候補ピクチャとなる視差画像D#2の、第tピクチャと異なる時刻の第t'ピクチャを、他時刻ピクチャともいう。
視差画像D#2の対象ブロックの符号化において、上述のように、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとを、候補ピクチャとして採用する場合、図3や図24と同様に、ワープド視差画像D'#1のピクチャには、値が0の参照インデクスref_idxを割り当て、視差画像D#2の他時刻ピクチャには、値が1の参照インデクスref_idxを割り当てることができる。
しかしながら、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとを、候補ピクチャとして採用する場合、ワープド視差画像D'#1のピクチャに、値が0の参照インデクスref_idxを割り当て、視差画像D#2の他時刻ピクチャに、値が1の参照インデクスref_idxを割り当てることが、適切でないことがある。
すなわち、ワープド視差画像D'#1のピクチャ(第tピクチャ)には、符号化対象の視差画像D#2のピクチャ(第tピクチャ)に映っている部分の中で、視差の影響で映っていない部分が存在することがある。
一方、視差画像D#2の他時刻ピクチャ(第t'ピクチャ)には、符号化対象の視差画像D#2のピクチャ(第tピクチャ)に映っている部分の中で、動きの影響で映っていない部分が存在することがある。
符号化対象の視差画像D#2の対象ブロックの少なくとも一部分が、ワープド視差画像D'#1のピクチャを参照ピクチャとして生成される予測画像に映っていない場合には、対象ブロックと予測画像との残差は大きくなり、ワープド視差画像D'#1のピクチャについての符号化コストが大になる。
同様に、符号化対象の視差画像D#2の対象ブロックの少なくとも一部分が、視差画像D#2の他時刻ピクチャを参照ピクチャとして生成される予測画像に映っていない場合には、対象ブロックと予測画像との残差は大きくなり、視差画像D#2の他時刻ピクチャについての符号化コストが大になる。
具体的には、例えば、符号化対象の視差画像D#2のピクチャと、候補ピクチャである視差画像D#2の他時刻ピクチャとの間に、シーンチェンジがあった場合、視差画像D#2の他時刻ピクチャについての符号化コストは、ワープド視差画像D'#1のピクチャについての符号化コストに比較して大になる。
一方、例えば、符号化対象の視差画像D#2のピクチャと、候補ピクチャである視差画像D#2の他時刻ピクチャとの間において、被写体の動きがない場合(被写体が静止している場合)、視差画像D#2の他時刻ピクチャについての符号化コストは、ワープド視差画像D'#1のピクチャについての符号化コストに比較して小になる。
したがって、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとが、候補ピクチャに含まれる場合において、符号化コストが小さい方を、対象ブロックの符号化に用いる参照ピクチャとして選択するときには、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちのいずれが、参照ピクチャに選択されやすいかは、符号化対象の視差画像D#2のピクチャ(対象ピクチャ)によって異なる。
そこで、時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式では、対象ピクチャの符号化が、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの、ワープド視差画像D'#1のピクチャを参照ピクチャとして行われる場合、つまり、視差予測で行われる場合と、視差画像D#2の他時刻ピクチャを参照ピクチャとして行われる場合、つまり、時間予測で行われる場合とのどちらが多いかを判定する特徴量(以下、予測判定特徴量ともいう)を求め、その予測判定特徴量に基づいて、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのそれぞれに、参照インデクスref_idxを割り当てることができる。
図34は、時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式で、視差画像#2を符号化するエンコーダ22(図5)の構成例を示すブロック図である。
なお、図中、図13の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図34のエンコーダ22は、A/D変換部211ないし画面内予測部222、予測画像選択部224、ワーピング部231、及び、ワープドピクチャバッファ232を有する点で、図13の場合と共通する。
但し、図34のエンコーダ22は、参照インデクス割り当て部233、及び、視差予測部234それぞれに代えて、参照インデクス割り当て部701、及び、インター予測部702を有する点で、図13の場合と相違する。
図34において、参照インデクス割り当て部701は、DPB31に記憶されたデコード視差画像D#2の他時刻ピクチャ(対象ブロックのピクチャと異なる、先に符号化されてローカルデコードされたピクチャ)と、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャとを、参照ピクチャの候補である候補ピクチャとして、各候補ピクチャに、参照インデクスを割り当てる。
すなわち、参照インデクス割り当て部701は、予測判定特徴量を求め、その予測判定特徴量によって、符号化対象の視差画像D#2のピクチャ(対象ピクチャ)の符号化において、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの参照ピクチャに選択されやすいと推定される方のピクチャに、符号量が少ない、値が0の参照インデクスを割り当て、他方のピクチャに、値が1の参照インデクスを割り当てる。
そして、参照インデクス割り当て部701は、候補ピクチャに割り当てられた参照インデクスを、インター予測部702に供給する。
インター予測部702は、参照インデクス割り当て部701において参照インデクスが割り当てられた候補ピクチャ、すなわち、DPB31に記憶されたデコード視差画像D#2の他時刻ピクチャと、ワープドピクチャバッファ232に記憶されたワープド視差画像D'#1のピクチャとを、それぞれ参照ピクチャとして、対象ブロックのインター予測(時間予測と視差予測)を行い、符号化コストを算出する。
すなわち、インター予測部702は、ワープド視差画像D'#1のピクチャを参照ピクチャとして、図13の視差予測部234の場合と同様にして、インター予測としての視差予測を、(計算)視差ベクトルが0ベクトルであると仮定して行い、視差予測の予測画像を生成する。
さらに、インター予測部702は、対象ブロックを、視差予測の予測画像を用いて符号化(予測符号化)するのに要する符号化コスト(ワープド視差画像D'#1のピクチャについての符号化コスト)を算出する。
また、インター予測部702は、デコード視差画像D#2の他時刻ピクチャを参照ピクチャとして、インター予測としての時間予測(動き予測)を行い、時間予測の予測画像を生成する。
すなわち、インター予測部702は、対象ブロックと、デコード視差画像D#2の他時刻ピクチャとのずれを表すずれベクトルとしての動きベクトルを検出する。さらに、インター予測部702は、その動きベクトルを用いて、デコード視差画像D#2の他時刻ピクチャの動き補償を行うことで、時間予測の予測画像を生成する(デコード視差画像D#2の他時刻ピクチャの、対象ブロックからずれベクトルとしての動きベクトルだけずれた位置のブロック(対応ブロック)を、予測画像として取得する)。
さらに、インター予測部702は、対象ブロックを、時間予測の予測画像を用いて符号化(予測符号化)するのに要する符号化コスト(デコード視差画像D#2の他時刻ピクチャについての符号化コスト)を算出する。
そして、インター予測部702は、候補ピクチャであるデコード視差画像D#2の他時刻ピクチャと、ワープド視差画像D'#1のピクチャとのうちの、符号化コストの小さい方を、参照ピクチャとして選択する。
さらに、インター予測部702は、参照インデクス割り当て部701からの参照インデクスの中から、参照ピクチャに選択されたピクチャ(デコード視差画像D#2の他時刻ピクチャ、又は、ワープド視差画像D'#1のピクチャ)に割り当てられている参照インデクスを、対象ブロックの予測用の参照インデクスとして選択し、ヘッダ情報の1つとして、可変長符号化部216に出力する。
また、インター予測部702は、対象ブロックの予測用の参照インデクスが割り当てられている候補ピクチャ(デコード視差画像D#2の他時刻ピクチャ、又は、ワープド視差画像D'#1のピクチャ)を参照ピクチャとして、インター予測により生成される予測画像を、予測画像選択部224に供給する。
なお、その他、インター予測部702では、候補ピクチャの1つとして、デコード視差画像D#1のピクチャに代えて、デコード視差画像D#2の他時刻ピクチャが用いられる他は、図13の視差予測部234と同様の処理が行われる。
図35は、図34の参照インデクス割り当て部701の構成例を示すブロック図である。
参照インデクス割り当て部701は、特徴量生成部721、及び、割り当て部722を有する。
特徴量生成部721は、対象ブロックのピクチャ(対象ピクチャ)について、予測判定特徴量を生成し、割り当て部722に供給する。
割り当て部722は、特徴量生成部721からの予測判定特徴量に基づいて、ワープド視差画像D'#1のピクチャの参照インデクスidx'として、0及び1のうちの一方を割り当てるとともに、視差画像D#2の他時刻ピクチャの参照インデクスidxとして、他方を割り当て、インター予測部702(図34)に供給する。
すなわち、割り当て部722は、予測判定特徴量に基づき、対象ピクチャについて、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちのいずれが、参照ピクチャに選択されやすいかを判定する。
そして、割り当て部722は、ワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの、参照ピクチャに選択されやすい方の候補ピクチャに、値が0の参照インデクスを割り当て、他方の候補ピクチャに、値が1の参照インデクスを割り当てる。
ここで、MVC(AVC)のデフォルトではない参照インデクスの割り当ては、図12で説明したように、RPLRコマンドで行うことができる。
また、予測判定特徴量としては、候補ピクチャを参照ピクチャとして、インター予測を行った場合の、対象ブロックのずれベクトル(計算視差ベクトル、動きベクトル)の大きさの、対象ピクチャの全マクロブロックに亘る平均値や分散を採用することができる。
この場合、特徴量生成部721では、ワープド視差画像D'#1のピクチャを参照ピクチャとして、インター予測(視差予測)を行った場合の、対象ブロックのずれベクトルとしての計算視差ベクトルの大きさの、対象ピクチャの全マクロブロックに亘る平均値や分散が求められる。
さらに、特徴量生成部721では、デコード視差画像D#2の他時刻ピクチャを参照ピクチャとして、インター予測(時間予測)を行った場合の、対象ブロックのずれベクトルとしての動きベクトルの大きさの、対象ピクチャの全マクロブロックに亘る平均値や分散が求められる。
そして、ずれベクトルの大きさが大きいと、符号量も多くなることを前提として、割り当て部722では、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの、ずれベクトルの大きさの平均値、又は、分散が小さい方の候補ピクチャに、値が0の参照インデクスが割り当てられ、他方の候補ピクチャに、値が1の参照インデクスが割り当てられる。
また、予測判定特徴量としては、候補ピクチャを参照ピクチャとして、インター予測を行った場合の、対象ブロックと、参照ピクチャの対応ブロックとの残差の絶対値の、対象ピクチャの全マクロブロックに亘る総和や平均値を採用することができる。
この場合、特徴量生成部721では、ワープド視差画像D'#1のピクチャを参照ピクチャとして、インター予測(視差予測)を行った場合の、対象ブロックと対応ブロックとの残差の絶対値の、対象ピクチャの全マクロブロックに亘る総和や平均値が求められる。
さらに、特徴量生成部721では、デコード視差画像D#2の他時刻ピクチャを参照ピクチャとして、インター予測(時間予測)を行った場合の、対象ブロックと対応ブロックとの残差の絶対値の、対象ピクチャの全マクロブロックに亘る総和や平均値が求められる。
そして、割り当て部722では、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの、残差の絶対値の総和、又は、平均値が小さい方の候補ピクチャに、値が0の参照インデクスが割り当てられ、他方の候補ピクチャに、値が1の参照インデクスが割り当てられる。
また、予測判定特徴量としては、候補ピクチャを参照ピクチャとして、インター予測を行った場合の、対象ブロックの符号化コストの、対象ピクチャの全マクロブロックに亘る総和や平均値を採用することができる。
この場合、特徴量生成部721では、ワープド視差画像D'#1のピクチャを参照ピクチャとして、インター予測(視差予測)を行った場合の、対象ブロックの符号化コストの、対象ピクチャの全マクロブロックに亘る総和や平均値が求められる。
さらに、特徴量生成部721では、デコード視差画像D#2の他時刻ピクチャを参照ピクチャとして、インター予測(時間予測)を行った場合の、対象ブロックの符号化コストの、対象ピクチャの全マクロブロックに亘る総和や平均値が求められる。
そして、割り当て部722では、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのうちの、符号化コストの総和、又は、平均値が小さい方の候補ピクチャに、値が0の参照インデクスが割り当てられ、他方の候補ピクチャに、値が1の参照インデクスが割り当てられる。
また、予測判定特徴量としては、対象ピクチャの直前に符号化されたピクチャである直前ピクチャにおける予測用の参照インデクスの割合、すなわち、値が0の参照インデクスの数と、値が1の参照インデクスの数とを採用することができる。
この場合、直前ピクチャにおいて、値が0の参照インデクスの数が、値が1の参照インデクスの数以上であるときには、割り当て部722は、対象ピクチャの符号化において、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのそれぞれに、直前ピクチャの符号化時と同様に、参照インデクスを割り当てる。
一方、直前ピクチャにおいて、値が0の参照インデクスの数が、値が1の参照インデクスの数より少ないときには、割り当て部722は、対象ピクチャの符号化において、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのそれぞれに、直前ピクチャの符号化時の参照インデクスの割り当てとは逆に、参照インデクスを割り当てる。
その他、予測判定特徴量としては、対象ピクチャの予測画像の予測精度を採用し、その予測精度に基づいて、候補ピクチャであるワープド視差画像D'#1のピクチャと、視差画像D#2の他時刻ピクチャとのそれぞれに、参照インデクスを割り当てることができる。
図36は、予測判定特徴量として、対象ピクチャの予測画像の予測精度を採用し、その予測精度に基づいて、候補ピクチャに、参照インデクスを割り当てる方法を説明する図である。
図36では、視差画像D#1の(表示)時刻順のピクチャとしてのIピクチャI#11,BピクチャB#12,PピクチャP#13,BピクチャB#14と、視差画像D#2の時刻順のピクチャとしてのPピクチャP#21,BピクチャB#22,PピクチャP#23,BピクチャB#24とが示されている。
図36において、視差画像D#1のIピクチャI#11と、視差画像D#2のPピクチャP#21とは、同一の時刻のピクチャであり、BピクチャB#12とBピクチャB#22、PピクチャP#13とPピクチャP#23、及び、BピクチャB#14とBピクチャB#24も、それぞれ、同一の時刻のピクチャである。
いま、符号化対象の視差画像D#2のPピクチャP#23が、対象ピクチャであり、その対象ピクチャP#23の符号化にあたって、視差画像D#1のPピクチャP#13と、視差画像D#2のPピクチャP#21とが、候補ピクチャになっていることとする。
なお、ワープド参照割り当て方式では、視差画像D#1のPピクチャP#13(そのもの)ではなく、そのPピクチャP#13を、視点#2から見たピクチャにワーピングすることにより得られるワープド画像のピクチャが、候補ピクチャになるが、ここでは、説明を簡単にするため、候補ピクチャとして、ワープド画像のピクチャに代えて、視差画像D#1のPピクチャP#13を採用することとする。
また、図36において、候補ピクチャである視差画像D#1のPピクチャP#13、及び、視差画像D#2のPピクチャ#21は、いずれも、視差画像D#1のIピクチャI#11を参照ピクチャとして、予測符号化されていることとする。
すなわち、視差画像D#1のPピクチャP#13については、視差画像D#1のIピクチャI#11を参照ピクチャとして、インター予測としての時間予測preT'を行うことにより得られる予測画像を用い、その予測画像とPピクチャP#13との残差が符号化されていることとする。
また、視差画像D#2のPピクチャP#21は、視差画像D#1のIピクチャI#11を参照ピクチャとして、インター予測としての視差予測preP'を行うことにより得られる予測画像を用い、その予測画像とPピクチャP#21との残差が符号化されていることとする。
この場合、時間予測preT'によって生成されるPピクチャP#13の予測画像の予測精度X#13は、例えば、式X#13=S×Qで表すことができる。
ここで、式X#13=S×Qにおいて、Sは、PピクチャP#13を符号化したときの(発生)符号量に相当し、Qは、PピクチャP#13を符号化するときの量子化ステップの平均値に相当する。
PピクチャP#13の符号化では、PピクチャP#13と、IピクチャI#11を参照ピクチャとする時間予測preT'を行うことにより得られる予測画像との残差が符号化されるので、その残差が小さいほど、つまり、時間予測preT'の予測精度が高く、その時間予測preT'によって生成される予測画像が、PピクチャP#13に似ている(近い)ほど、PピクチャP#13を符号化したときの符号量S、及び、PピクチャP#13(の残差)を量子化する量子化ステップの平均値Qは、小さくなる。
したがって、式X#13=S×Qで表される予測精度X#13は、視差予測preP'(を行うことにより得られる予測画像)の精度が高いほど、小さくなる。
同様に、視差予測preP'によって生成されるPピクチャP#21の予測画像の予測精度X#21は、例えば、式X#21=S'×Q'で表すことができる。
ここで、式X#21=S'×Qにおいて、S'は、PピクチャP#21を符号化したときの符号量に相当し、Q'は、PピクチャP#21を符号化するときの量子化ステップの平均値に相当する。
PピクチャP#21の符号化では、PピクチャP#21と、IピクチャI#11を参照ピクチャとする視差予測preP'を行うことにより得られる予測画像との残差が符号化されるので、その残差が小さいほど、つまり、視差予測preP'の予測精度が高く、その視差予測preP'によって生成される予測画像が、PピクチャP#21に似ているほど、PピクチャP#21を符号化したときの符号量S'、及び、PピクチャP#21(の残差)を量子化する量子化ステップの平均値Q'は、小さくなる。
したがって、式X#21=S'×Q'で表される予測精度X#21は、視差予測preP'(を行うことにより得られる予測画像)の精度が高いほど、小さくなる。
ここで、式X#13=S×Qで表される予測精度X#13や、式X#21=S'×Q'で表される予測精度X#21は、TM(Test Model)5で定義されている複雑度に一致する。
一方、対象ピクチャP#23が、視差画像D#1のPピクチャP#13を参照ピクチャとして符号化される場合、PピクチャP#13を参照ピクチャとする視差予測prePを行うことにより、予測画像が生成され、対象ピクチャP#23と予測画像との残差が符号化される。
また、対象ピクチャP#23が、視差画像D#2のPピクチャP#21を参照ピクチャとして符号化される場合、PピクチャP#21を参照ピクチャとする時間予測preTを行うことにより、予測画像が生成され、対象ピクチャP#23と予測画像との残差が符号化される。
ここで、視差画像D#1のピクチャI#11ないしP#13、及び、視差画像D#2のピクチャP#21ないしP#23において、シーンチェンジ等の画像の大きな変化がないと仮定すれば、対象ピクチャP#23を符号化するときのPピクチャP#13を参照ピクチャとする視差予測preP(により生成される予測画像)の予測精度は、IピクチャI#11を参照ピクチャとする視差予測preP'(により生成される予測画像)の予測精度X#21と同程度であると推定される。
同様に、対象ピクチャP#23を符号化するときのPピクチャP#21を参照ピクチャとする時間予測preTの予測精度は、IピクチャI#11を参照ピクチャとする時間予測preT'の予測精度X#13と同程度であると推定される。
そこで、予測判定特徴量として、対象ピクチャP#23の予測画像の予測精度を採用する場合には、特徴量生成部721では、対象ピクチャP#23の時間予測preTの参照ピクチャとなるPピクチャP#21を符号化するときに行った視差予測preP'の予測精度X#21が、Pピクチャ#13を参照ピクチャとする視差予測prePの予測精度として求められる。
さらに、特徴量生成部721では、対象ピクチャP#23の視差予測prePの参照ピクチャとなるPピクチャP#13を符号化するときに行った時間予測preT'の予測精度X#13が、Pピクチャ#21を参照ピクチャとする時間予測preTの予測精度として求められる。
そして、割り当て部722では、視差予測prePの予測精度(視差予測preP'の予測精度X#21)が、時間予測preTの予測精度(時間予測preT'の予測精度X#13)よりも良ければ(値が小さければ)、視差予測prePの参照ピクチャとなるPピクチャP#13に、値が0の参照インデクスが割り当てられ、時間予測preTの参照ピクチャとなるPピクチャP#21に、値が1の参照インデクスが割り当てられる。
また、割り当て部722では、視差予測prePの予測精度が、時間予測preTの予測精度よりも良くなければ、時間予測preTの参照ピクチャとなるPピクチャP#21に、値が0の参照インデクスが割り当てられ、視差予測prePの参照ピクチャとなるPピクチャP#13に、値が0の参照インデクスが割り当てられる。
以上のように、予測判定特徴量に基づいて、候補ピクチャに、参照インデクスを割り当てることにより、参照ピクチャに選択されやすい候補ピクチャに、符号量が少ない、値が0の参照インデクスを割り当てることができ、その結果、符号化効率を向上させることができる。
図37は、時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式で、視差画像#2の符号化データを復号するデコーダ322(図18)の構成例を示すブロック図である。
なお、図中、図20の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図37のデコーダ322は、蓄積バッファ441ないし画面内予測部449、予測画像選択部451、ワーピング部461、及び、ワープドピクチャバッファ462を有する点で、図20の場合と共通する。
但し、図37のデコーダ322は、視差予測部463に代えて、インター予測部801を有する点で、図20の場合と相違する。
インター予測部801は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、インター予測で生成された予測画像を用いて符号化されているかどうかを認識する。
対象ブロックが、インター予測で生成された予測画像を用いて符号化されている場合、インター予測部801は、可変長復号部342からのヘッダ情報に基づき、予測用の参照インデクス、すなわち、対象ブロックの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクスを認識(取得)する。
そして、インター予測部801は、DPB331に記憶されている候補ピクチャとしてのデコード視差画像D#2のピクチャ(他時刻ピクチャ)、及び、ワープドピクチャバッファ462に記憶されている候補ピクチャとしてのワープド視差画像D'#1のピクチャのうちの、予測用の参照インデクスが割り当てられている候補ピクチャを、参照ピクチャとして選択する。
さらに、インター予測部801は、可変長復号部342からのヘッダ情報に基づき、対象ブロックの予測画像の生成に用いられたずれベクトル(計算視差ベクトル、又は、動きベクトル)を認識し、その計算視差ベクトルに従って、ずれ補償(視差補償、又は、動き補償)を行うことで、予測画像を生成する。
すなわち、インター予測部801は、候補ピクチャの、対象ブロックの位置から、その対象ブロックのずれベクトルに従って移動した(ずれた)位置のブロック(対応ブロック)を、予測画像として取得する。
そして、インター予測部801は、予測画像を、予測画像選択部451に供給する。
以上のように、インター予測部801では、候補ピクチャの1つとして、デコード視差画像D#1のピクチャに代えて、デコード視差画像D#2の他時刻ピクチャが用いられる他は、図20の視差予測部463と同様の処理が行われる。
なお、時間予測に用いられるピクチャを含む候補ピクチャを用いるワープド参照割り当て方式は、視差画像#2を符号化するエンコーダ22(図5)、及び、その視差画像#2の符号化データを復号するデコーダ322(図18)の他、色画像#2を符号化するエンコーダ12(図5)、及び、その色画像#2の符号化データを復号するデコーダ312(図18)にも適用することができる。
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図39は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク805やROM803に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体811に格納(記録)しておくことができる。このようなリムーバブル記録媒体811は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体811としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体811からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク805にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)802を内蔵しており、CPU802には、バス801を介して、入出力インタフェース810が接続されている。
CPU802は、入出力インタフェース810を介して、ユーザによって、入力部807が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)803に格納されているプログラムを実行する。あるいは、CPU802は、ハードディスク805に格納されたプログラムを、RAM(Random Access Memory)804にロードして実行する。
これにより、CPU802は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU802は、その処理結果を、必要に応じて、例えば、入出力インタフェース810を介して、出力部806から出力、あるいは、通信部808から送信、さらには、ハードディスク805に記録等させる。
なお、入力部807は、キーボードや、マウス、マイク等で構成される。また、出力部806は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
すなわち、本技術は、MVCを利用した符号化、及び、復号に限定されるものではない。すなわち、本技術は、候補ピクチャに参照インデクスを割り当てて、予測画像を生成し、その予測画像を用いて、複数の視点の画像の符号化、及び、復号を行う場合に適用することができる。
[テレビジョン装置の構成例]
図40は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
図40は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置900の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置900がユーザ操作に応じた動作となるように各部を制御する。
なお、テレビジョン装置900では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
このように構成されたテレビジョン装置では、デコーダ904に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、複数の視点の画像について、復号画像の画質を向上させることができる。
[携帯電話機の構成例]
図41は、本技術を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
図41は、本技術を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
携帯電話機920は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
なお、携帯電話機920は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、符号化データを生成する。
多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
このように構成された携帯電話装置では、画像処理部927に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、複数の視点の画像について、復号画像の画質を向上させることができる
[記録再生装置の構成例]
図42は、本技術を適用した記録再生装置の概略構成を例示している。記録再生装置940は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置940は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置940は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
図42は、本技術を適用した記録再生装置の概略構成を例示している。記録再生装置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に出力する。
外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
ディスクドライブ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に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置940の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置940がユーザ操作に応じた動作となるように各部を制御する。
このように構成された記録再生装置では、デコーダ947に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、複数の視点の画像について、復号画像の画質を向上させることができる。
[撮像装置の構成例]
図43は、本技術を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
図43は、本技術を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メモリ部967から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であってもよい。
また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
制御部970は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置960の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、撮像装置960がユーザ操作に応じた動作となるように各部を制御する。
このように構成された撮像装置では、画像データ処理部964に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、複数の視点の画像について、復号画像の画質を向上させることができる。
11,12,21,22 エンコーダ, 31 DPB, 32 多重化部, 41,42 カメラ, 43 多視点画像情報生成部, 111 A/D変換部, 112 画面並び替えバッファ, 113 演算部, 114 直交変換部, 115 量子化部, 116 可変長符号化部, 117 蓄積バッファ, 118 逆量子化部, 119 逆直交変換部, 120 演算部, 121 デブロッキングフィルタ, 122 画面内予測部, 123 インター予測部, 124 予測画像選択部, 211 A/D変換部, 212 画面並び替えバッファ, 213 演算部, 214 直交変換部, 215 量子化部, 216 可変長符号化部, 217 蓄積バッファ, 218 逆量子化部, 219 逆直交変換部, 220 演算部, 221 デブロッキングフィルタ, 222 画面内予測部, 224 予測画像選択部, 231 ワーピング部, 232 ワープドピクチャバッファ, 233 参照インデクス割り当て部, 234 視差予測部, 241 視差検出部, 242,243 視差補償部, 244 コスト関数算出部, 245 モード選択部, 246 予測ベクトル生成部, 301 分離部, 311,312,321,322 デコーダ, 331 DPB, 341 蓄積バッファ, 342 可変長復号部, 343 逆量子化部, 344 逆直交変換部, 345 演算部, 346 デブロッキングフィルタ, 347 画面並び替え部, 348 D/A変換部, 349 画面内予測部, 350 インター予測部, 351 予測画像選択部, 441 蓄積バッファ, 442 可変長復号部, 443 逆量子化部, 444 逆直交変換部, 445 演算部, 446 デブロッキングフィルタ, 447 画面並び替え部, 448 D/A変換部, 449 画面内予測部, 451 予測画像選択部, 461 ワーピング部, 462 ワープドピクチャバッファ, 463 視差予測部, 471 参照ピクチャ選択部, 472 視差補償部, 473 予測ベクトル生成部, 511 A/D変換部, 512 画面並び替えバッファ, 513 演算部, 514 直交変換部, 515 量子化部, 516 可変長符号化部, 517 蓄積バッファ, 518 逆量子化部, 519 逆直交変換部, 520 演算部, 521 デブロッキングフィルタ, 522 画面内予測部, 524 予測画像選択部, 531 ワーピング部, 532 ワープドピクチャバッファ, 533 参照インデクス割り当て部, 534 視差予測部, 541 視差検出部, 542,543 視差補償部, 544 コスト関数算出部, 545 モード選択部, 546 予測ベクトル生成部, 641 蓄積バッファ, 642 可変長復号部, 643 逆量子化部, 644 逆直交変換部, 645 演算部, 646 デブロッキングフィルタ, 647 画面並び替え部, 648 D/A変換部, 649 画面内予測部, 651 予測画像選択部, 661 ワーピング部, 662 ワープドピクチャバッファ, 663 視差予測部, 671 参照ピクチャ選択部, 672 視差補償部, 673 予測ベクトル生成部, 701 参照インデクス割り当て部, 702 インター予測部, 721 特徴量生成部, 722 割り当て部, 801 インター予測部, 801 バス, 802 CPU, 803 ROM, 804 RAM, 805 ハードディスク, 806 出力部, 807 入力部, 808 通信部, 809 ドライブ, 810 入出力インタフェース, 811 リムーバブル記録媒体
Claims (18)
- 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、
前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを取得し、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャを選択する参照ピクチャ選択部と
を備える画像処理装置。 - 前記参照ピクチャの候補には、前記ワープド画像のピクチャと、前記第1の視点の画像のピクチャとが含まれる
請求項1に記載の画像処理装置。 - 前記参照ピクチャの候補に含まれる前記ワープド画像のピクチャには、第1の値の参照インデクスが割り当てられ、
前記参照ピクチャの候補に含まれる前記第1の視点のピクチャには、第2の値の参照インデクスが割り当てられており、
前記第1の値の参照インデクスの符号量は、前記第2の値の参照インデクスの符号量よりも少ない
請求項2に記載の画像処理装置。 - 前記参照ピクチャの候補には、前記ワープド画像のピクチャと、前記第2の視点の画像のピクチャの、前記対象ブロックのピクチャとは異なる時刻の他時刻ピクチャとが含まれる
請求項1に記載の画像処理装置。 - 前記参照ピクチャの、前記対象ブロックに対応する対応ブロックと、前記対象ブロックとのずれを表すずれベクトルに基づいて、前記参照ピクチャから、前記対応ブロックを、前記対象ブロックの予測画像として取得する補償部をさらに備える、
請求項1に記載の画像処理装置。 - 前記第1の視点の画像は、前記第1の視点から見た被写体からの光に対応する画素値を有する色画像の画素ごとの視差に関するデプス情報を、画素値として有するデプス画像であり、
前記第2の視点の画像は、前記第2の視点から見た被写体からの光に対応する画素値を有する色画像の画素ごとの視差に関するデプス情報を、画素値として有するデプス画像である
請求項1に記載の画像処理装置。 - 前記第1の視点の画像は、前記第1の視点から見た被写体からの光に対応する画素値を有する色画像であり、
前記第2の視点の画像は、前記第2の視点から見た被写体からの光に対応する画素値を有する色画像である
請求項1に記載の画像処理装置。 - 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成し、
前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを取得し、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャを選択する
ステップを含む画像処理方法。 - 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、
前記第2の視点の画像のピクチャの復号対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャを表す参照インデクスを取得し、その参照インデクスに基づいて、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補の中から、前記参照ピクチャを選択する参照ピクチャ選択部と
して、コンピュータを機能させるためのプログラム。 - 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、
前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストを算出するコスト算出部と、
前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスを選択して出力する選択部と
を備える画像処理装置。 - 前記参照ピクチャの候補には、前記ワープド画像のピクチャと、前記第1の視点の画像のピクチャとが含まれる
請求項10に記載の画像処理装置。 - 前記参照ピクチャの候補に含まれる前記ワープド画像のピクチャに、第1の値の参照インデクスを割り当てるとともに、前記参照ピクチャの候補に含まれる前記第1の視点のピクチャに、第2の値の参照インデクスを割り当てる参照インデクス割り当て部をさらに備え、
前記第1の値の参照インデクスの符号量は、前記第2の値の参照インデクスの符号量よりも少ない
請求項11に記載の画像処理装置。 - 前記参照ピクチャの候補には、前記ワープド画像のピクチャと、前記第2の視点の画像のピクチャの、前記対象ブロックのピクチャとは異なる時刻の他時刻ピクチャとが含まれる
請求項10に記載の画像処理装置。 - 前記参照ピクチャの候補それぞれについて、前記参照ピクチャの候補の、前記対象ブロックに対応する対応ブロックと、前記対象ブロックとのずれを表すずれベクトルに基づいて、前記参照ピクチャの候補から、前記対応ブロックを、前記対象ブロックの予測画像として取得する補償部をさらに備え、
前記参照ピクチャの候補が、前記ワープド画像のピクチャである場合、前記補償部は、前記ずれベクトルが、0ベクトルであるとして、前記予測画像を取得し、
前記コスト算出部は、
前記対象ブロックの、前記予測画像に対する残差に対応する値と、前記すれベクトルの符号量に対応する値とを加算することにより、前記符号化コストを算出し、
前記ワープド画像のピクチャについては、前記すれベクトルの符号量に対応する値を0にして、前記符号化コストを算出する
請求項10に記載の画像処理装置。 - 前記第1の視点の画像は、前記第1の視点から見た被写体からの光に対応する画素値を有する色画像の画素ごとの視差に関するデプス情報を、画素値として有するデプス画像であり、
前記第2の視点の画像は、前記第2の視点から見た被写体からの光に対応する画素値を有する色画像の画素ごとの視差に関するデプス情報を、画素値として有するデプス画像である
請求項10に記載の画像処理装置。 - 前記第1の視点の画像は、前記第1の視点から見た被写体からの光に対応する画素値を有する色画像であり、
前記第2の視点の画像は、前記第2の視点から見た被写体からの光に対応する画素値を有する色画像である
請求項10に記載の画像処理装置。 - 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成し、
前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストを算出し、
前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスを選択して出力する
ステップを含む画像処理方法。 - 第1の視点の画像、及び、前記第1の視点と異なる第2の視点の画像のうちの、前記第1の視点の画像のピクチャをワーピングすることにより、前記第1の視点の画像のピクチャを前記第2の視点で得られる画像に変換したワープド画像のピクチャを生成するワーピング部と、
前記第2の視点の画像のピクチャの符号化対象の対象ブロックの予測画像を生成するのに参照する参照ピクチャの候補であって、前記ワープド画像のピクチャを、少なくとも含む参照ピクチャの候補それぞれについて、前記対象ブロックの符号化に要する符号化コストを算出するコスト算出部と、
前記符号化コストに基づいて、前記参照ピクチャの候補それぞれに割り当てられている参照インデクスの中から、前記対象ブロックの符号化に用いる参照ピクチャの候補に割り当てられている参照インデクスを選択して出力する選択部と
して、コンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011050583 | 2011-03-08 | ||
JP2011050583 | 2011-03-08 | ||
PCT/JP2012/054856 WO2012121052A1 (ja) | 2011-03-08 | 2012-02-28 | 画像処理装置、画像処理方法、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2012121052A1 true JPWO2012121052A1 (ja) | 2014-07-17 |
Family
ID=46798020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503459A Pending JPWO2012121052A1 (ja) | 2011-03-08 | 2012-02-28 | 画像処理装置、画像処理方法、及び、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9105076B2 (ja) |
JP (1) | JPWO2012121052A1 (ja) |
CN (1) | CN103404154A (ja) |
WO (1) | WO2012121052A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6033625B2 (ja) * | 2012-09-28 | 2016-11-30 | シャープ株式会社 | 多視点画像生成装置、画像生成方法、表示装置、プログラム、及び、記録媒体 |
EP2757527B1 (en) * | 2013-01-16 | 2018-12-12 | Honda Research Institute Europe GmbH | System and method for distorted camera image correction |
WO2015056712A1 (ja) * | 2013-10-17 | 2015-04-23 | 日本電信電話株式会社 | 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム |
US9807407B2 (en) * | 2013-12-02 | 2017-10-31 | Qualcomm Incorporated | Reference picture selection |
TW201528775A (zh) | 2014-01-02 | 2015-07-16 | Ind Tech Res Inst | 景深圖校正方法及系統 |
US20150195564A1 (en) * | 2014-01-03 | 2015-07-09 | Qualcomm Incorporated | Method for coding a reference picture set (rps) in multi-layer coding |
EP2933943A1 (en) * | 2014-04-14 | 2015-10-21 | Alcatel Lucent | Storage efficient and unconditionally secure private information retrieval |
US9589362B2 (en) | 2014-07-01 | 2017-03-07 | Qualcomm Incorporated | System and method of three-dimensional model generation |
US9607388B2 (en) * | 2014-09-19 | 2017-03-28 | Qualcomm Incorporated | System and method of pose estimation |
US10304203B2 (en) | 2015-05-14 | 2019-05-28 | Qualcomm Incorporated | Three-dimensional model generation |
US10373366B2 (en) | 2015-05-14 | 2019-08-06 | Qualcomm Incorporated | Three-dimensional model generation |
US9911242B2 (en) | 2015-05-14 | 2018-03-06 | Qualcomm Incorporated | Three-dimensional model generation |
US10341568B2 (en) | 2016-10-10 | 2019-07-02 | Qualcomm Incorporated | User interface to assist three dimensional scanning of objects |
KR102608466B1 (ko) * | 2016-11-22 | 2023-12-01 | 삼성전자주식회사 | 영상 처리 방법 및 영상 처리 장치 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008108566A1 (en) * | 2007-03-02 | 2008-09-12 | Lg Electronics Inc. | A method and an apparatus for decoding/encoding a video signal |
KR101301181B1 (ko) * | 2007-04-11 | 2013-08-29 | 삼성전자주식회사 | 다시점 영상의 부호화, 복호화 방법 및 장치 |
CN101415115B (zh) * | 2007-10-15 | 2011-02-02 | 华为技术有限公司 | 基于运动跳跃模式的视频编解码方法及其编解码器 |
WO2009091383A2 (en) | 2008-01-11 | 2009-07-23 | Thomson Licensing | Video and depth coding |
US8913657B2 (en) * | 2008-10-27 | 2014-12-16 | Lg Electronics Inc. | Virtual view image synthesis method and apparatus |
JP2010157822A (ja) * | 2008-12-26 | 2010-07-15 | Victor Co Of Japan Ltd | 画像復号装置、画像符復号方法およびそのプログラム |
-
2012
- 2012-02-28 WO PCT/JP2012/054856 patent/WO2012121052A1/ja active Application Filing
- 2012-02-28 JP JP2013503459A patent/JPWO2012121052A1/ja active Pending
- 2012-02-28 US US14/002,185 patent/US9105076B2/en not_active Expired - Fee Related
- 2012-02-28 CN CN2012800110104A patent/CN103404154A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2012121052A1 (ja) | 2012-09-13 |
US20130336589A1 (en) | 2013-12-19 |
US9105076B2 (en) | 2015-08-11 |
CN103404154A (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6061150B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
WO2012121052A1 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
WO2012128242A1 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
US9350972B2 (en) | Encoding device and encoding method, and decoding device and decoding method | |
JP6522629B2 (ja) | 3dビデオコード化のためのブロックベースの高度残差予測 | |
US9288507B2 (en) | More accurate advanced residual prediction (ARP) for texture coding | |
KR102092822B1 (ko) | 복호 장치 및 복호 방법, 및 부호화 장치 및 부호화 방법 | |
WO2012147622A1 (ja) | 画像処理装置、及び、画像処理方法 | |
WO2012157443A1 (ja) | 画像処理装置、及び、画像処理方法 | |
JP7183362B2 (ja) | サブ予測ユニット単位の時間的な視点間動き情報の誘導方法及び装置 | |
JP2020123984A (ja) | 画像処理装置、画像処理方法、記録媒体、およびプログラム | |
WO2012128241A1 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP2024125405A (ja) | Bdofを行う画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 | |
KR20220110284A (ko) | 머지 후보들의 최대 개수 정보를 포함하는 시퀀스 파라미터 세트를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2013115023A1 (ja) | 画像処理装置および画像処理方法 | |
WO2013157439A1 (ja) | 復号装置および復号方法、並びに、符号化装置および符号化方法 | |
JP2013179554A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム |