(57)【特許請求の範囲】
【請求項１】
画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する動きベクトル復号部と
を備える画像処理装置。
【請求項２】
前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行う
請求項１に記載の画像処理装置。
【請求項３】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する
請求項２に記載の画像処理装置。
【請求項４】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成する
請求項２に記載の画像処理装置。
【請求項５】
前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである
請求項４に記載の画像処理装置。
【請求項６】
前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである
請求項４に記載の画像処理装置。
【請求項７】
前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止する
請求項１に記載の画像処理装置。
【請求項８】
前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部を
さらに備え、
前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止する
請求項７に記載の画像処理装置。
【請求項９】
前記隣接動きベクトル情報設定部は、前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報に従って、前記右上ブロックの動きベクトルの使用を禁止する
請求項７に記載の画像処理装置。
【請求項１０】
画像処理装置が、
画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する
画像処理方法。
【請求項１１】
画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する動きベクトル符号化部と
を備える画像処理装置。
【請求項１２】
前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行う
請求項１１に記載の画像処理装置。
【請求項１３】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する
請求項１２に記載の画像処理装置。
【請求項１４】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成する
請求項１２に記載の画像処理装置。
【請求項１５】
前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである
請求項１４に記載の画像処理装置。
【請求項１６】
前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである
請求項１４に記載の画像処理装置。
【請求項１７】
前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止する
請求項１１に記載の画像処理装置。
【請求項１８】
前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部を
さらに備え、
前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止する
請求項１７に記載の画像処理装置。
【請求項１９】
前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報を設定する識別情報設定部と、
前記識別情報設定部により設定された識別情報と、符号化ストリームとを伝送する伝送部と
をさらに備える請求項１７に記載の画像処理装置。
【請求項２０】
画像処理装置が、
画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理装置および方法に関し、特に、動きベクトルの符号化または復号において、パイプライン処理により処理効率を向上させることができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。【０００５】
標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。【０００６】
さらに、このH．264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H．264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc（商標）等の幅広いアプリケーションに用いられる運びとなった。【０００７】
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。【０００８】
かかる符号化効率改善の１つとして、AVCにおけるメディアン予測を用いた動きベクトルの符号化を改善するため、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor”に加え、”Temporal Predictor”及び”Spatio-Temporal Predictor”のどれかを、予測動きベクトル情報として、適応的に用いること（以下、MVコンペティション（MVCompetition）とも称する）が提案されている（例えば、非特許文献１参照）。【０００９】
なお、AVCにおいて、予測動きベクトル情報を選択する際には、JM(Joint Model)と呼ばれるAVCの参照ソフトウエアに実装されているHigh Complexity ModeまたはLow Complexity Modeによるコスト関数値が用いられている。【００１０】
すなわち、予測動きベクトル情報を用いた場合のコスト関数値が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すフラグ情報が伝送される。【００１１】
ところで、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；4000画素×2000画素）といった大きな画枠に対しては、最適ではない恐れがあった。【００１２】
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている。【００１３】
このHEVC方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット（ＣＵ（Coding Unit））が定義されている。このＣＵは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。また、それぞれのシーケンスにおいては、ＣＵの最大サイズ(ＬＣＵ=Largest Coding Unit)と最小サイズ(ＳＣＵ=Smallest Coding Unit)も規定されている。更に、ＣＵは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（ＰＵ））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（ＴＵ））に分割される。【００１４】
また、非特許文献２においては、量子化パラメータQPを、Sub-LCU単位で伝送することが可能である。どの大きさのCoding Unitまで量子化パラメータを伝送するかについては、ピクチャ毎に画像圧縮情報中において指定される。また、画像圧縮情報中に含まれる、量子化パラメータに関する情報は、それぞれのCoding  Unit単位で伝送される。【００１５】
さらに、動き情報の符号化方式の１つとして、Motion Partition Mergingと呼ばれる手法（以下、マージモード（Merge mode）とも称する）が提案されている（例えば、非特許文献２参照）。この手法においては、当該ブロックの動き情報が周辺のブロックの動き情報と同一である場合、フラグ情報のみが伝送され、復号の際には、その周辺ブロックの動き情報を用いて当該ブロックの動き情報が再構築される。【００１６】
ところで、非特許文献３においては、上述のMVCompetitionもしくはMerge modeにおいて、処理対象である当該ＰＵ のSpatial predicorを求める際に、当該ＰＵに隣接するＰＵのうち、所定の位置関係で隣接するＰＵの動きベクトルを候補とすることが提案されている。【００１７】
具体的には、当該ＰＵの左下に隣接するＰＵであるＡ0の動きベクトルと、当該ＰＵの左に隣接するＰＵのうち、Ａ0の上に位置するＰＵであるＡ1の動きベクトルとが候補とされている。また、当該ＰＵの左上に隣接するＰＵであるＢ2の動きベクトルと、当該ＰＵの右上に隣接するＰＵであるＢ0の動きベクトルと、当該ＰＵの上に隣接するＰＵのうち、Ｂ0の左隣に位置するＰＵであるＢ1の動きベクトルとが候補とされている。【００１８】
そして、Ａ0、Ａ1の順、並びに、Ｂ0、Ｂ1、Ｂ2の順にスキャンが行われ、当該ＰＵの動きベクトル情報と、同等の参照フレームを持つ動きベクトル情報を検出した時点でスキャンが終了される。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】Joel Jung,Guillaume Laroche,"Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting: Klagenfurt, Austria, 17-18 July, 2006
【非特許文献２】Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand，”Description of video coding technology proposed by Fraunhofer HHI”，JCTVC-A116,April,2010
【非特許文献３】Minhua Zhou，”A Scalable  motion vector competition and simplified MVP calculation”, JCTVC-D055, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu,KR,20-28 July,2011
【発明の概要】
【発明が解決しようとする課題】
【００２０】
しかしながら、非特許文献３の提案においては、上述した隣接ＰＵのうち、右上に位置するＰＵに対する動きベクトル情報が確定するのを待って、当該ＰＵに対する処理を行う必要がある。このため、MVCompetitionもしくはMerge modeにおいて、Spatial predicorを求める処理をパイプラインにより実現しようとすると、右上に位置するＰＵが、遅延の要因になってしまう恐れがあった。【００２１】
本開示は、このような状況に鑑みてなされたものであり、動きベクトルの符号化または復号において、パイプライン処理により処理効率を向上させるものである。
【課題を解決するための手段】
【００２２】
本開示の一側面の画像処理装置は、画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する動きベクトル復号部とを備える。【００２３】
前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行うことができる。【００２４】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成することができる。【００２５】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成することができる。【００２６】
前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである。【００２７】
前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである。【００２８】
前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止することができる。【００２９】
前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部をさらに備え、前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止することができる。【００３０】
前記隣接動きベクトル情報設定部は、前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報に従って、前記右上ブロックの動きベクトルの使用を禁止することができる。【００３１】
本開示の一側面の画像処理方法は、画像処理装置が、画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する。【００３２】
本開示の他の側面の画像処理装置は、画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する動きベクトル符号化部とを備える。【００３３】
前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行うことができる。【００３４】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成することができる。【００３５】
前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成することができる。【００３６】
前記前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである。【００３７】
前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである。【００３８】
前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止することができる。【００３９】
前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部をさらに備え、前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止することができる。【００４０】
前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報を設定する識別情報設定部と、前記識別情報設定部により設定された識別情報と、符号化ストリームとを伝送する伝送部とをさらに備えることができる。【００４１】
本開示の他の側面の画像処理方法は、画像処理装置が、画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する。【００４２】
本開示の一側面においては、画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用が禁止され、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記カレントブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルが生成される。そして、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルが復号される。【００４３】
本開示の他の側面においては、画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用が禁止され、前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルが生成される。そして、前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルが符号化される。【００４４】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００４５】
本開示の一側面によれば、画像を復号することができる。特に、パイプライン処理により処理効率を向上させることができる。【００４６】
本開示の他の側面によれば、画像を符号化することができる。特に、パイプライン処理により処理効率を向上させることができる。
【図面の簡単な説明】
【００４７】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】メディアンオペレーションについて説明する図である。
【図３】マルチ参照フレームについて説明する図である。
【図４】テンポラルダイレクトモードについて説明する図である。
【図５】動きベクトル符号化方法について説明する図である。
【図６】コーディングユニットの構成例を説明する図である。
【図７】Motion Partition Mergingについて説明する図である。
【図８】従来の空間予測動きベクトルの生成方法について説明する図である。
【図９】本技術の空間予測動きベクトルの生成方法について説明する図である。
【図１０】本技術の空間予測動きベクトルの他の生成方法について説明する図である。
【図１１】本技術の空間予測動きベクトルのさらに他の生成方法について説明する図である。
【図１２】パイプライン処理の説明に用いられるＰＵの位置関係を示す図である。
【図１３】パイプライン処理について説明する図である。
【図１４】動きベクトル符号化部の主な構成例を示すブロック図である。
【図１５】符号化処理の流れの例を説明するフローチャートである。
【図１６】インター動き予測処理の流れの例を説明するフローチャートである。
【図１７】予測動きベクトル生成処理の流れの例を説明するフローチャートである。
【図１８】画像復号装置の主な構成例を示すブロック図である。
【図１９】動きベクトル復号部の主な構成例を示すブロック図である。
【図２０】復号処理の流れの例を説明するフローチャートである。
【図２１】動きベクトル再構築処理の流れの例を説明するフローチャートである。
【図２２】予測動きベクトル再構築処理の流れの例を説明するフローチャートである。
【図２３】多視点画像符号化方式の例を示す図である。
【図２４】本技術を適用した多視点画像符号化装置の主な構成例を示す図である。
【図２５】本技術を適用した多視点画像復号装置の主な構成例を示す図である。
【図２６】階層画像符号化方式の例を示す図である。
【図２７】本技術を適用した階層画像符号化装置の主な構成例を示す図である。
【図２８】本技術を適用した階層画像復号装置の主な構成例を示す図である。
【図２９】コンピュータの主な構成例を示すブロック図である。
【図３０】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３１】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３２】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３３】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００４８】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置（ＰＵ単位の制御））
２．第２の実施の形態（画像復号装置（ＰＵ単位の制御））
３．第３の実施の形態（ＬＣＵ単位の制御）
４．第４の実施の形態（多視点画像符号化・多視点画像復号装置）
５．第５の実施の形態（階層画像符号化・階層画像復号装置）
６．第６の実施の形態（コンピュータ）
７．応用例
【００４９】
＜１．第１の実施の形態＞
［画像符号化装置］
図１は、画像符号化装置の主な構成例を示すブロック図である。
【００５０】
図１に示される画像符号化装置１００は、例えば、HEVC（High Efficiency Video Coding）に準ずる方式の予測処理を用いて画像データを符号化する。
【００５１】
図１に示されるように画像符号化装置１００は、A/D変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、蓄積バッファ１０７、逆量子化部１０８、および逆直交変換部１０９を有する。また、画像符号化装置１００は、演算部１１０、デブロックフィルタ１１１、フレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、予測画像選択部１１６、およびレート制御部１１７を有する。
【００５２】
画像符号化装置１００は、さらに、動きベクトル符号化部１２１および隣接動きベクトル情報設定部１２２を有する。
【００５３】
A/D変換部１０１は、入力された画像データをA/D変換し、変換後の画像データ（デジタルデータ）を、画面並べ替えバッファ１０２に供給し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部１０３に供給する。また、画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、イントラ予測部１１４および動き予測・補償部１１５にも供給する。
【００５４】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、予測画像選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。
【００５５】
例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、動き予測・補償部１１５から供給される予測画像を減算する。
【００５６】
直交変換部１０４は、演算部１０３から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部１０４は、その変換係数を量子化部１０５に供給する。
【００５７】
量子化部１０５は、直交変換部１０４から供給される変換係数を量子化する。量子化部１０５は、レート制御部１１７から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００５８】
可逆符号化部１０６は、量子化部１０５において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部１１７の制御の下で量子化されているので、この符号量は、レート制御部１１７が設定した目標値となる（若しくは目標値に近似する）。
【００５９】
また、可逆符号化部１０６は、イントラ予測のモードを示す情報などをイントラ予測部１１４から取得し、インター予測のモードを示す情報や差分動きベクトル情報などを動き予測・補償部１１５から取得する。
【００６０】
可逆符号化部１０６は、これらの各種情報を任意の符号化方式で符号化し、符号化データ（符号化ストリームとも称する）のヘッダ情報の一部とする（多重化する）。すなわち、可逆符号化部１０６は、ヘッダ情報を設定する設定部でもある。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００６１】
可逆符号化部１０６の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【００６２】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持する。蓄積バッファ１０７は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置（記録媒体）や伝送路などに出力する。すなわち、蓄積バッファ１０７は、符号化データを伝送する伝送部でもある。
【００６３】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部１０５による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部１０８は、得られた変換係数を、逆直交変換部１０９に供給する。
【００６４】
逆直交変換部１０９は、逆量子化部１０８から供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部１０４による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力（復元された差分情報）は、演算部１１０に供給される。
【００６５】
演算部１１０は、逆直交変換部１０９から供給された逆直交変換結果である、復元された差分情報に、予測画像選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５からの予測画像を加算し、局部的に復号された画像（復号画像）を得る。その復号画像は、デブロックフィルタ１１１またはフレームメモリ１１２に供給される。
【００６６】
デブロックフィルタ１１１は、演算部１１０から供給される復号画像に対して適宜デブロックフィルタ処理を行う。例えば、デブロックフィルタ１１１は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。
【００６７】
デブロックフィルタ１１１は、フィルタ処理結果（フィルタ処理後の復号画像）をフレームメモリ１１２に供給する。なお、上述したように、演算部１１０から出力される復号画像は、デブロックフィルタ１１１を介さずにフレームメモリ１１２に供給することができる。つまり、デブロックフィルタ１１１によるフィルタ処理は省略することができる。
【００６８】
フレームメモリ１１２は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部１１３に供給する。
【００６９】
選択部１１３は、フレームメモリ１１２から供給される参照画像の供給先を選択する。例えば、インター予測の場合、選択部１１３は、フレームメモリ１１２から供給される参照画像を動き予測・補償部１１５に供給する。
【００７０】
イントラ予測部１１４は、選択部１１３を介してフレームメモリ１１２から供給される参照画像である処理対象ピクチャ内の画素値を用いて、基本的にプレディクションユニット（ＰＵ）を処理単位として予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
【００７１】
イントラ予測部１１４は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ１０２から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１６に供給する。
【００７２】
また、上述したように、イントラ予測部１１４は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部１０６に供給し、符号化させる。
【００７３】
動き予測・補償部１１５は、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照画像とを用いて、基本的にＰＵを処理単位として、動き予測（インター予測）を行う。動き予測・補償部１１５は、検出された動きベクトルを動きベクトル符号化部１２１に供給するとともに、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。動き予測・補償部１１５は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
【００７４】
動き予測・補償部１１５は、候補となる全てのインター予測モードで予測画像を生成する。動き予測・補償部１１５は、対象領域の動きベクトルと、動きベクトル符号化部１２１からの対象領域の予測動きベクトルとの差分である差分動きベクトルを生成する。また、動き予測・補償部１１５は、画面並べ替えバッファ１０２から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部１１５は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１６に供給する。
【００７５】
動き予測・補償部１１５は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部１０６に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
【００７６】
予測画像選択部１１６は、演算部１０３や演算部１１０に供給する予測画像の供給元を選択する。例えば、インター符号化の場合、予測画像選択部１１６は、予測画像の供給元として動き予測・補償部１１５を選択し、その動き予測・補償部１１５から供給される予測画像を演算部１０３や演算部１１０に供給する。
【００７７】
レート制御部１１７は、蓄積バッファ１０７に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００７８】
動きベクトル符号化部１２１は、動き予測・補償部１１５により求められた動きベクトルを記憶している。動きベクトル符号化部１２１は、対象領域の動きベクトルを予測する。すなわち、動きベクトル符号化部１２１は、動きベクトルの符号化または復号のために用いられる予測動きベクトル（predictor)を生成する。なお、動きベクトルについての対象領域（カレントブロック）とは、対象ＰＵ（以下、適宜、当該ＰＵとも称する）のことである。
【００７９】
ここで、予測動きベクトルの種類としては、時間予測動きベクトル（temporal predictor）と、空間予測動きベクトル（spacial predictor）とがある。時間予測動きベクトルは、対象領域に時間的に隣接する隣接領域の動きベクトルを用いて生成される予測動きベクトルである。空間予測動きベクトルは、対象領域に空間的に隣接する隣接領域の動きベクトルを用いて生成される予測動きベクトルである。
【００８０】
具体的には、動きベクトル符号化部１２１は、対象領域（カレントブロック）に時間的に隣接する隣接領域（隣接ブロック）の動きベクトルを用いて、時間予測動きベクトルを生成する。また、動きベクトル符号化部１２１は、対象領域に空間的に隣接する隣接領域のうち、隣接動きベクトル情報設定部１２２により使用が禁止されていない隣接領域の動きベクトルを用いて、空間予測動きベクトルを生成する。動きベクトル符号化部１２１は、生成した予測動きベクトルのうち最適とされる最適予測動きベクトルを、動き予測・補償部１１５および隣接動きベクトル情報設定部１２２に供給する。
【００８１】
隣接動きベクトル情報設定部１２２は、動きベクトル符号化部１２１に対して、対象領域に空間的に隣接する隣接領域のうち、どの隣接領域の動きベクトルを使用するか、あるいは、どの隣接領域の動きベクトルの使用を禁止するかを設定する。具体的には、隣接動きベクトル情報設定部１２２は、動きベクトル符号化部１２１に対して、対象領域に対して右上に隣接して位置する隣接領域の動きベクトルの使用を禁止する。
【００８２】
なお、本実施の形態において、動きベクトルの予測とは、予測動きベクトルを生成する処理を表し、動きベクトルの符号化とは、予測動きベクトルを生成して、生成した予測動きベクトルを用いて、差分動きベクトルを求める処理を表すものとして説明する。すなわち、動きベクトルの符号化処理に、動きベクトルの予測処理が含まれている。同様に、動きベクトルの復号とは、予測動きベクトルを生成して、生成した予測動きベクトルを用いて、動きベクトルを再構築する処理を表すものとして説明する。すなわち、動きベクトルの復号処理に、動きベクトルの予測処理が含まれている。
【００８３】
また、上述した対象領域に隣接する隣接領域は、対象領域の周辺に位置する周辺領域でもあり、以下、両者の文言は、同じ領域を意味するものとして説明していく。
【００８４】
なお、図１の例においては、隣接動きベクトル情報設定部１２２が、動きベクトル符号化部１２１の外に設けられる例が示されているが、隣接動きベクトル情報設定部１２２は、動きベクトル符号化部１２１に含めるように構成されてもよい。
【００８５】
［動きベクトルのメディアン予測］
図２は、AVC方式において実現されている動きベクトルのメディアン予測を説明する図である。
【００８６】
図２に示される各直線は、動き補償ブロックの境界を示している。また、図２において、Ｅはこれから符号化されようとしている当該動き補償ブロックを示し、Ａ乃至Ｄは、それぞれ、既に符号化済の、Ｅに隣接する動き補償ブロックを示す。
【００８７】
今、Ｘ＝Ａ，Ｂ，Ｃ，Ｄ，Ｅとして、Ｘに対する動きベクトル情報を、mvxとする。
【００８８】
まず、動き補償ブロックＡ，Ｂ、およびＣに関する動きベクトル情報を用い、動き補償ブロックＥに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式（１）のように生成する。
【００８９】
【数１】
0005936081.tif 000002
・・・（１）
【００９０】
動き補償ブロックＣに関する情報が、画枠の端である等の理由により利用不可能（unavailable）である場合、動き補償ブロックＤに関する情報で代用される。
【００９１】
画像圧縮情報に、動き補償ブロックＥに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式（２）のように生成される。
【００９２】
【数２】
0005936081.tif 000003
・・・（２）
【００９３】
なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
【００９４】
［マルチ参照フレーム］
また、AVC方式においては、Multi-Reference Frame（マルチ（複数）参照フレーム）という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
【００９５】
図３を用いて、AVC方式において規定されている、マルチ参照フレーム（Multi-Reference Frame）を説明する。
【００９６】
すなわち、MPEG-2やH.263においては、Ｐピクチャの場合、フレームメモリに格納された参照フレーム１枚のみを参照することにより動き予測・補償処理が行われていた。これに対して、AVC方式においては、図３に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
【００９７】
［ダイレクトモード］
上述したマルチ参照フレームにより、Ｂピクチャにおける動きベクトル情報における情報量は膨大であるが、AVC方式においては、Direct Mode（ダイレクトモード）と称されるモードが用意されている。
【００９８】
このダイレクトモードにおいて、動きベクトル情報は、画像圧縮情報中には格納されない。画像復号装置においては、周辺ブロックの動きベクトル情報、若しくは、参照フレームにおける処理対象ブロックと同じ位置のブロックであるCo-Locatedブロックの動きベクトル情報から、当該ブロックの動きベクトル情報が算出される。
【００９９】
ダイレクトモード（Direct Mode）には、Spatial Direct Mode（空間ダイレクトモード）と、Temporal Direct Mode（時間ダイレクトモード）の２種類が存在し、スライス毎に切り替えることが可能である。
【０１００】
空間ダイレクトモード（Spatial Direct Mode）においては、以下の式（３）に示されるように、処理対象動き補償ブロックＥの動きベクトル情報mvEが算出される。
【０１０１】
mvE = pmvE  ・・・（３）
【０１０２】
すなわち、Median（メディアン）予測により生成された動きベクトル情報が、当該ブロックに適用される。
【０１０３】
以下においては、図４を用いて、時間ダイレクトモード（Temporal Direct Mode）を説明する。
【０１０４】
図４において、L0参照ピクチャにおける、当該ブロックと同じ空間上のアドレスにあるブロックを、Co-Locatedブロックとし、Co-Locatedブロックにおける動きベクトル情報を、mvcolとする。また、当該ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。
【０１０５】
この時、当該ピクチャにおける、L0の動きベクトル情報mvL0及びL1の動きベクトル情報mvL1は、以下の式（４）および式（５）のように算出される。
【０１０６】
【数３】
0005936081.tif 000004
・・・（４）
【数４】
0005936081.tif 000005
・・・（５）
【０１０７】
なお、AVC画像圧縮情報においては、時間軸上の距離を表す情報TDが存在しないため、POC（Picture Order Count）を用いて、上述した式（４）および式（５）の演算が行われるものとする。
【０１０８】
また、AVC画像圧縮情報においては、ダイレクトモード（Direct Mode）は、16×16画素マクロブロック単位、若しくは、8×8画素ブロック単位で定義することが可能である。
【０１０９】
［動きベクトルのMVコンペティション］
ところで、図２を参照して説明したような、メディアン予測を用いた動きベクトルの符号化を改善するため、非特許文献１では、以下に述べるような方法が提案されている。
【０１１０】
すなわち、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor（空間予測動きベクトル）”に加え、以下に述べる”Temporal Predictor（時間予測動きベクトル）”及び”Spatio-Temporal Predictor（時間と空間の予測動きベクトル）”のどれかを、予測動きベクトル情報として、適応的に用いることが可能にするものである。この提案の方法は、AVCにおいてMVコンペティション（MVCompetition）と呼ばれている。これに対して、HEVCにおいては、Advanced Motion Vector Prediction(AMVP)と呼ばれており、以下、この提案の方法を、AMVPと称して説明する。
【０１１１】
図５において、”mvcol”を、当該ブロックに対するCo-Locatedブロックに対する動きベクトル情報とする。また、mvtk（ｋ＝０乃至８）をその周辺ブロックの動きベクトル情報であるとして、それぞれの予測動きベクトル情報(Predictor)は、以下の式（６）乃至（８）により定義される。なお、当該ブロックに対するCo-Locatedブロックとは、当該ピクチャが参照する参照ピクチャにおいて、xy座標が、当該ブロックと同じであるブロックのことである。
【０１１２】
Temporal Predictor：
【数５】
0005936081.tif 000006
・・・（６）
【数６】
0005936081.tif 000007
・・・（７）
Spatio-Temporal Predictor：
【数７】
0005936081.tif 000008
・・・（８）
【０１１３】
画像符号化装置１００においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数値が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報（インデックス）を示すフラグが伝送される。
【０１１４】
［コーディングユニット］
ところで、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。
【０１１５】
そこで、AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC方式においては、図６に示されるように、コーディングユニット（ＣＵ（Coding Unit））が規定されている。
【０１１６】
ＣＵは、Coding Tree Block（CTB）とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【０１１７】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、ＣＵの最大サイズ（ＬＣＵ（Largest Coding Unit））と最小サイズ（（ＳＣＵ（Smallest Coding Unit））が規定される。
【０１１８】
それぞれのＬＣＵ内においては、ＳＣＵのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのＣＵに分割することができる。図６の例では、ＬＣＵの大きさが１２８であり、最大階層深度が５となる。２Ｎ×２Ｎの大きさのＣＵは、split_flagの値が「１」である時、１つ下の階層となる、Ｎ×Ｎの大きさのＣＵに分割される。
【０１１９】
更に、ＣＵは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（ＰＵ））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（ＴＵ））に分割される。現在、HEVC方式においては、４×４及び８×８に加え、１６×１６及び３２×３２直交変換を用いることが可能である。
【０１２０】
以上のHEVC方式のように、ＣＵを定義し、そのＣＵを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはＬＣＵに相当し、ブロック（サブブロック）はＣＵに相当すると考えることができる。また、AVC方式における動き補償ブロックは、ＰＵに相当すると考えることができる。ただし、ＣＵは、階層構造を有するので、その最上位階層のＬＣＵのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
【０１２１】
よって、以下、ＬＣＵは、AVC方式におけるマクロブロックをも含むものとし、ＣＵは、AVC方式におけるブロック（サブブロック）をも含むものとする。
【０１２２】
［動きパーティションのマージ］
ところで、動き情報の符号化方式の１つとして、図７に示されるような、Motion Partition Mergingと呼ばれる手法（マージモード）が提案されている。この手法においては、MergeFlagと、MergeLeftFlagという、２つのflagが、マージモードに関する情報であるマージ情報として伝送される。
【０１２３】
MergeFlag=1は、当該領域Ｘの動き情報が、当該領域の上に隣接する周辺領域Ｔ、若しくは、当該領域の左に隣接する周辺領域Ｌの動き情報と同一であることを示す。この時、マージ情報には、MergeLeftFlagが含められ、伝送される。MergeFlag=0は、当該領域Ｘの動き情報が、周辺領域Ｔおよび周辺領域Ｌのいずれの動き情報とも異なることを示す。この場合、当該領域Ｘの動き情報が伝送される。
【０１２４】
当該領域Ｘの動き情報が、周辺領域Ｌの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=1となる。当該領域Ｘの動き情報が、周辺領域Ｔの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=0となる。
【０１２５】
［空間予測動きベクトル(spatial predictor)］
図５を参照して上述したAMVP もしくは図７を参照して上述したマージモードにおいて、予測動きベクトル(predictor)の候補として、空間予測動きベクトル(spacial predictor)と時間予測動きベクトル(temporal predictor)とが生成される。
【０１２６】
次に、図８を参照して、空間予測動きベクトルの生成処理について説明する。図８の例においては、処理の対象領域である当該ＰＵ（カレントブロック）と、当該ＰＵに対して、所定の位置関係で隣接するＰＵ（ブロック）であるＡ0、Ａ1、Ｂ0、Ｂ1、Ｂ2が示されている。
【０１２７】
Ａ0は、当該ＰＵの左下に隣接するＰＵであり、Ａ1は、当該ＰＵの左に隣接するＰＵのうち、Ａ0の上に位置するＰＵである。Ｂ2は、当該ＰＵの左上に隣接するＰＵであり、Ｂ0は、当該ＰＵの右上に隣接するＰＵであり、Ｂ1は、当該ＰＵの上に隣接するＰＵのうち、Ｂ0の左隣に位置するＰＵである。
【０１２８】
なお、Ａ0、Ａ1は、まとめて、当該ＰＵのLeft（左）に位置するＰＵと総称される。同様に、Ｂ1、Ｂ2は、当該ＰＵのTop（上）に位置するＰＵと総称される。これに対して、Ｂ0は、当該ＰＵのTop-right（右上）に位置するＰＵと称される。
【０１２９】
また、当該ＰＵの左や上に隣接するとは、当該ＰＵの左や上に面（辺）で接していることをいい、当該ＰＵの左上、左下、右上に隣接するとは、当該ＰＵに点（１箇所）で接していることをいう。
【０１３０】
そして、非特許文献３においては、これら（Ａ0、Ａ1、Ｂ0、Ｂ1、Ｂ2）の隣接ＰＵの動きベクトルが、当該ＰＵの空間予測動きベクトルの候補として、当該ＰＵの空間予測動きベクトルの生成に用いられることが提案されている。
【０１３１】
具体的には、Ａ0、Ａ1の順にスキャンが、以下の手順で行われ、当該ＰＵの動きベクトル情報と、同等の参照フレームを持つ動きベクトル情報を検出した時点で、そのスキャンは終了される。また、同様に、Ｂ0、Ｂ1、Ｂ2の順にスキャンが、以下の手順で行われ、当該ＰＵの動きベクトル情報と、同等の参照フレームを持つ動きベクトル情報を検出した時点で、そのスキャンは終了される。
【０１３２】
その後、Ａ0、Ａ1から検出された動きベクトル情報が左隣接ＰＵの空間予測動きベクトル情報とされ、Ｂ0、Ｂ1、Ｂ2のから検出された動きベクトル情報が上隣接ＰＵの空間予測動きベクトル情報とされる。そして、左隣接ＰＵの空間予測動きベクトル情報、上隣接ＰＵの空間予測動きベクトル情報、別途検出された時間予測動きベクトル情報が候補とされ、その候補の中からよりよいものが選択されることで、予測動きベクトルが生成される。
【０１３３】
次に、スキャンの手順について説明する。まず、第１に、当該ＰＵの動きベクトル情報と、Listも、参照フレーム情報も同じであるものが存在するか否かの探索のためのスキャンが行われる。第２に、当該ＰＵの動きベクトル情報と、Listは異なるが、参照フレーム情報が同じであるものが存在するか否かの探索のためのスキャンが行われる。
【０１３４】
第３に、当該ＰＵの動きベクトル情報と、Listは同じであるが、参照フレーム情報が異なるものが存在するか否かの探索のためのスキャンが行われる。第４に、当該ＰＵの動きベクトル情報と、Listも、参照フレーム情報も異なるものが存在するか否かの探索のためのスキャンが行われる。
【０１３５】
ここで、上述したように、当該ＰＵに対する予測動きベクトルの生成処理を行うためには、当該ＰＵの右上に隣接するＰＵであるＢ0に対する動きベクトル情報が確定するのを待つ必要がある。
【０１３６】
したがって、動きベクトルの符号化または復号処理、すなわち、AMVPもしくはMerge modeにおいて空間予測動きベクトルを求める処理をパイプラインにより実現しようとすると、右上に隣接するＰＵであるＢ0が、遅延の要因になってしまう恐れがあった。
【０１３７】
［本技術の空間予測動きベクトルの生成方法］
そこで、動きベクトル符号化部１２１においては、AMVPもしくはMerge modeにおいて、当該ＰＵの空間予測動きベクトルを求める際に、図８に示された、当該ＰＵの右上に隣接するＰＵであるＢ0の動きベクトルの使用を禁止するようにした。
【０１３８】
すなわち、動きベクトル符号化部１２１においては、図９に示されるように、当該ＰＵに対してTopに位置するＰＵであるＢ1、Ｂ2およびLeftに位置するＰＵであるＡ0、Ａ1の動きベクトル情報のみが用いられて、動きベクトルの符号化処理が行われる。
【０１３９】
図９の例においては、当該ＰＵの左下に隣接するＰＵであるＡ0、当該ＰＵの左に隣接するＰＵのうち、下端に位置するＰＵであるＡ1、当該ＰＵの左上に隣接するＰＵであるＢ2、当該ＰＵの上に隣接するＰＵのうち、右端に位置するＰＵであるＢ1が示されている。
【０１４０】
図９の例の当該ＰＵの隣接領域は、当該ＰＵのTop-right（右上）に位置するＰＵであるＢ0が除かれている点のみ、図８の例の場合と異なっている。
【０１４１】
また、動きベクトル符号化部１２１においては、図９に示された隣接ＰＵに追加して、図１０または図１１に示される当該ＰＵの上部に隣接する上隣接ＰＵであるＢ3やＢ4を用いるようにしてもよい。このように、候補を増やすことにより、符号化効率の低減を抑制することができる。
【０１４２】
図１０の例においては、図９の例の当該ＰＵに対してTopに位置するＰＵであるＢ1、Ｂ2およびLeftに位置するＰＵであるＡ0、Ａ1の他に、当該ＰＵに対してTopに位置するＰＵであるＢ3が示されている。
【０１４３】
このＢ3は、当該ＰＵの上部に隣接するＰＵであって、当該ＰＵの上部に隣接するＰＵのうち、右端に位置するＰＵであるＢ1の左隣に位置するＰＵである。
【０１４４】
図１０の例の場合、Ｂ3は、Ｂ1の左隣に位置するので、Ｂ1の検出を行った後、直に隣接するＢ3にアクセスすればよいので、アドレス計算のための演算量が低くてすむ。
【０１４５】
図１１の例においては、図９の例の当該ＰＵに対してTopに位置するＰＵであるＢ1、Ｂ2およびLeftに位置するＰＵであるＡ0、Ａ1の他に、当該ＰＵに対してTopに位置するＰＵであるＢ4が示されている。
【０１４６】
このＢ4は、当該ＰＵの上部に隣接するＰＵであって、当該ＰＵの上部に隣接するＰＵのうち、当該ＰＵの水平長さの中央付近に位置するＰＵである。
【０１４７】
なお、ＰＵの長さは、4,8,16,…であるため、その長さの中央は、画素ではなく、画素と画素の間に位置することになる。したがって、当該ＰＵの水平長さの中央に位置するのは、必ず単一のＰＵということになる。
【０１４８】
図１０の例の場合のように、Ｂ1に直に隣接するＢ3では、動き情報も近いものであることが想定される。これに対して、図１１の例の場合、動き情報に、よりバラエティのあるＰＵ群から動き情報を選択することが可能となる。これにより、符号化効率を向上させることが可能となる。
【０１４９】
［パイプライン処理］
次に、図１２に示される位置関係のＰＵを用い、図１３を参照して、従来と比較した場合の本技術の処理について説明する。
【０１５０】
図１２の例においては、当該ＰＵであるＰＵ0、ＰＵ0の上に隣接するＰＵ-2、ＰＵ0の右上に隣接するＰＵ-1が示されている。なお、図１２の例においては、説明の便宜上、ＰＵ-2、ＰＵ-1、ＰＵ0は、同じサイズで示されている。
【０１５１】
これらのＰＵは、図１３のＡおよび図１３のＢに示されるように、ＰＵ-2、ＰＵ-1、ＰＵ0の順に、動きベクトルの符号化または復号処理が行われるものとする。
【０１５２】
非特許文献３で提案されていた方法の場合、図１３のＡに示されるように、t0で開始されたＰＵ-2の処理が終わるタイミングであるt2よりも後のt3にならないと、ＰＵ-1の処理を開始することができない。同様に、t3で開始されたＰＵ-1の処理が終わるタイミングであるt6よりも後のt7にならないと、ＰＵ0の処理を開始することができない。なお、ＰＵ0の処理は、t9のタイミングに終了される。
【０１５３】
これに対して、本技術の方法の場合、図１３のＢに示されるように、t0で開始されたＰＵ-2の処理が終わるタイミングであるt2よりも前のt1で、ＰＵ-1の処理を開始することができる。同様に、t1で開始されたＰＵ-1の処理が終わるタイミングであるt5よりも後のt4で、ＰＵ0の処理を開始することができる。これにより、ＰＵ0の処理は、図１３のＡのＰＵが終わるタイミングであるt9よりも時間的に早いタイミングのt8に終了することができる。
【０１５４】
以上のように、本技術の方法の場合、動きベクトルの符号化または復号における空間予測動きベクトルの生成処理をパイプラインにより実現することができるので、より高速に動作する回路を構築することが可能となる。
【０１５５】
なお、図１３のＢにおいては、ＰＵ-1の処理がＰＵ-2の処理が終わるタイミングよりも前に開始できることが示されている。しかしながら、実際には、本技術の場合も、ＰＵ-1の処理は、ＰＵ-1におけるＡ１の位置のＰＵの動きベクトルが格納されないために、図１３のＡと同様に、ＰＵ-2の処理が終わらないと開始されない。このように、本技術の方法は、ＰＵ-1とＰＵ0の位置関係において効果がある。すなわち、本技術は、対象領域と隣接領域の位置関係に応じて適用される。
【０１５６】
［動きベクトル符号化部の構成例］
図１４は、動きベクトル符号化部１２１の主な構成例を示すブロック図である。なお、図１４の例において、動きベクトル符号化部１２１に含まれない部については、点線で示されている。
【０１５７】
図１４の例の動きベクトル符号化部１２１は、動きベクトル符号化部１３１−１および１３１−２、時間隣接動きベクトル共有バッファ１３２、並びに空間隣接動きベクトル共有バッファ１３３を含むように構成される。
【０１５８】
動きベクトル符号化部１３１−１は、例えば、図１２に示される、ＰＵ-2、ＰＵ0、…の予測動きベクトル生成処理を行う。動きベクトル符号化部１３１−２は、例えば、図１２に示される、ＰＵ-1、ＰＵ1、…の予測動きベクトル生成処理を行う。すなわち、動きベクトル符号化部１３１−１および１３１−２は、処理対象のＰＵが異なるだけであり、基本的に同様に構成される。なお、以下、動きベクトル符号化部１３１−１および１３１−２は、個々に区別する必要がない場合、動きベクトル符号化部１３１と称する。
【０１５９】
動きベクトル符号化部１３１−１は、空間隣接動きベクトル内蔵バッファ１４１−１、候補予測動きベクトル生成部１４２−１、コスト関数値算出部１４３−１、および最適予測動きベクトル決定部１４４−１を含むように構成される。
【０１６０】
動きベクトル符号化部１３１−２は、空間隣接動きベクトル内蔵バッファ１４１−２、候補予測動きベクトル生成部１４２−２、コスト関数値算出部１４３−２、および最適予測動きベクトル決定部１４４−２を含むように構成される。
【０１６１】
なお、以下、空間隣接動きベクトル内蔵バッファ１４１−１および１４１−２を個々に区別する必要がない場合、空間隣接動きベクトル内蔵バッファ１４１と称する。候補予測動きベクトル生成部１４２−１および１４２−２を個々に区別する必要がない場合、候補予測動きベクトル生成部１４２と称する。コスト関数値算出部１４３−１および１４３−２を個々に区別する必要がない場合、コスト関数値算出部１４３と称する。最適予測動きベクトル決定部１４４−１および１４４−２を個々に区別する必要がない場合、最適予測動きベクトル決定部１４４と称する。
【０１６２】
動き予測・補償部１１５により探索された当該ＰＵの動きベクトルの情報は、コスト関数値算出部１４３に供給される。動き予測・補償部１１５により最終的に決定された動きベクトルの情報は、時間隣接動きベクトル共有バッファ１３２、空間隣接動きベクトル共有バッファ１３３、および空間隣接動きベクトル内蔵バッファ１４１に供給される。
【０１６３】
時間隣接動きベクトル共有バッファ１３２は、メモリで構成され、動きベクトル符号化部１３１−１および１３１−２により共有される。時間隣接動きベクトル共有バッファ１３２は、動き予測・補償部１１５からの動きベクトル情報を、時間的に隣接する時間隣接領域の動きベクトルの情報として蓄積する。なお、時間的に隣接する領域とは、時間軸上異なるピクチャにおいて、当該領域と同じ空間上のアドレスにある領域のことである。
【０１６４】
時間隣接動きベクトル共有バッファ１３２は、当該ＰＵに時間的に隣接する時間隣接ＰＵに対して求められた動きベクトルを示す情報を読み出し、読み出した情報（時間隣接動きベクトル情報）を、候補予測動きベクトル生成部１４２に供給する。
【０１６５】
空間隣接動きベクトル共有バッファ１３３は、ラインバッファで構成され、動きベクトル符号化部１３１−１および１３１−２により共有される。空間隣接動きベクトル共有バッファ１３３は、動き予測・補償部１１５からの動きベクトル情報を、空間的に隣接する空間隣接領域の動きベクトルの情報として蓄積する。空間隣接動きベクトル共有バッファ１３３は、当該ＰＵに空間的に隣接する空間隣接ＰＵのうち、左に隣接する左隣接ＰＵ（例えば、図９のＡ0、Ａ1）に対して求められた動きベクトルを示す情報を読み出す。空間隣接動きベクトル共有バッファ１３３は、読み出した情報（空間隣接動きベクトル情報）を、候補予測動きベクトル生成部１４２に供給する。
【０１６６】
空間隣接動きベクトル内蔵バッファ１４１は、ラインバッファで構成される。空間隣接動きベクトル内蔵バッファ１４１は、動き予測・補償部１１５からの動きベクトル情報を、空間的に隣接する空間隣接領域の動きベクトルの情報として蓄積する。
【０１６７】
空間隣接動きベクトル内蔵バッファ１４１は、当該ＰＵに空間的に隣接する空間隣接ＰＵのうち、上に隣接する上隣接ＰＵ（例えば、図１０のＢ1、Ｂ2、Ｂ3）に対して求められた動きベクトルを示す情報を読み出す。その際、空間隣接動きベクトル内蔵バッファ１４１は、当該ＰＵの情報を、隣接動きベクトル情報設定部１２２に供給する。それに対応して隣接動きベクトル情報設定部１２２から読み出しを禁止するＰＵの情報が供給されるので、空間隣接動きベクトル内蔵バッファ１４１は、上隣接ＰＵのうち、隣接動きベクトル情報設定部１２２により禁止されているＰＵ（例えば、図８のＢ0）の動きベクトルを読み出さない。空間隣接動きベクトル内蔵バッファ１４１は、読み出した情報（空間隣接動きベクトル情報）を、候補予測動きベクトル生成部１４２に供給する。なお、例えば、図１０のＢ3の動きベクトルを読み出す指示も、隣接動きベクトル情報設定部１２２が行うようにしてもよい。
【０１６８】
候補予測動きベクトル生成部１４２は、AMVPまたはマージモードによる方法に基づき、空間隣接動きベクトル共有バッファ１３２からの左隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵの候補となる空間予測動きベクトルを生成する。また、候補予測動きベクトル生成部１４２は、AMVPまたはマージモードによる方法に基づき、空間隣接動きベクトル内蔵バッファ１４１からの上隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵの候補となる空間予測動きベクトルを生成する。なお、空間隣接動きベクトル内蔵バッファ１４１において、上隣接ＰＵの空間隣接動きベクトル情報は、隣接動きベクトル情報設定部１２２により読み出しが制御されている。候補予測動きベクトル生成部１４２は、生成した候補空間予測動きベクトルを示す情報を、コスト関数値算出部１４３に供給する。
【０１６９】
候補予測動きベクトル生成部１４２は、AMVPまたはマージモードによる方法に基づいて、時間隣接動きベクトル共有バッファ１３２からの時間隣接動きベクトル情報を参照して、当該ＰＵの候補となる時間予測動きベクトルを生成する。候補予測動きベクトル生成部１４２は、生成した候補時間予測動きベクトルを示す情報を、コスト関数値算出部１４３に供給する。
【０１７０】
コスト関数値算出部１４３は、各候補予測動きベクトルに関するコスト関数値を算出し、算出したコスト関数値を、候補予測動きベクトルの情報とともに最適予測動きベクトル決定部１４４に供給する。
【０１７１】
最適予測動きベクトル決定部１４４は、コスト関数値算出部１４３からのコスト関数値を最小とする候補予測動きベクトルを、当該ＰＵに対する最適予測動きベクトルであるとして、その情報を、動き予測・補償部１１５に供給する。
【０１７２】
なお、動き予測・補償部１１５は、最適予測動きベクトル決定部１５５からの最適予測動きベクトルの情報を用い、動きベクトルとの差分である差分動きベクトルを生成して、各予測モードについてコスト関数値を算出する。動き予測・補償部１１５は、そのうち、コスト関数値を最小とする予測モードを、インター最適予測モードに決定する。
【０１７３】
動き予測・補償部１１５は、インター最適予測モードの予測画像を、予測画像選択部１１６に供給する。なお、動き予測・補償部１１５は、生成した差分動きベクトル情報を、可逆符号化部１０６に供給する。
【０１７４】
隣接動きベクトル情報設定部１２２は、空間隣接動きベクトル内蔵バッファ１４１から当該ＰＵの情報を受け取ると、当該ＰＵの上隣接ＰＵのうち、動きベクトルの使用を禁止するＰＵのアドレスの情報を、空間隣接動きベクトル内蔵バッファ１４１に供給する。なお、このとき、必要に応じて（例えば、図１０または図１１の場合）、当該ＰＵの上隣接ＰＵのうち、動きベクトルの使用を許可するＰＵのアドレスの情報が、空間隣接動きベクトル内蔵バッファ１４１に供給されるようにしてもよい。
【０１７５】
［符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図１５のフローチャートを参照して、符号化処理の流れの例を説明する。
【０１７６】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。ステップＳ１０３において、イントラ予測部１１４は、イントラ予測モードのイントラ予測処理を行う。
【０１７７】
ステップＳ１０４において、動き予測・補償部１１５、動きベクトル符号化部１２１、および隣接動きベクトル情報設定部１２２は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。このインター動き予測処理についての詳細は、図１６を参照して後述する。
【０１７８】
ステップＳ１０４の処理により、当該ＰＵの動きベクトルが探索され、パイプライン処理により、当該ＰＵの各予測動きベクトルが生成され、そのうち、当該ＰＵに最適な予測動きベクトルが決定される。そして、最適インター予測モードが決定され、最適インター予測モードの予測画像が生成される。
【０１７９】
決定された最適インター予測モードの予測画像とコスト関数値は、動き予測・補償部１１５から予測画像選択部１１６に供給される。また、決定された最適インター予測モードの情報や最適とされた予測動きベクトルのインデックスを示す情報、予測動きベクトルと動きベクトルの差分を示す情報も、可逆符号化部１０６に供給され、後述するステップＳ１１４において、可逆符号化される。
【０１８０】
ステップＳ１０５において、予測画像選択部１１６は、イントラ予測部１１４および動き予測・補償部１１５から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部１１６は、イントラ予測部１１４により生成された予測画像と、動き予測・補償部１１５により生成された予測画像のいずれか一方を選択する。
【０１８１】
なお、予測画像の選択方式の例として、JM（Joint Model）と呼ばれるAVC方式の参照ソフトウエア（http://iphome.hhi.de/suehring/tml/index.htm において公開されている）に実装されている方法を挙げることが出来る。
【０１８２】
JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの２通りのモード判定方法を選択することができる。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該サブマクロブロック、または、当該マクロブロックに対する最適モードとして選択する。
【０１８３】
High Complexity Modeにおけるコスト関数は、以下の式（９）のように示される。
【０１８４】
Cost(Mode∈Ω) = D + λ＊R  ・・・（９）
【０１８５】
ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Ｒは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
【０１８６】
つまり、High Complexity Modeでの符号化を行うには、上記パラメータＤ及びＲを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【０１８７】
Low Complexity Modeにおけるコスト関数は、以下の式（１０）のように示される。
【０１８８】
Cost(Mode∈Ω) = D + QP2Quant(QP) ＊ HeaderBit  ・・・（１０）
【０１８９】
ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
【０１９０】
すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
【０１９１】
図１５に戻り、ステップＳ１０６において、演算部１０３は、ステップＳ１０２の処理により並び替えられた画像と、ステップＳ１０５の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１９２】
ステップＳ１０７において、直交変換部１０４は、ステップＳ１０６の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０１９３】
ステップＳ１０８において、量子化部１０５は、レート制御部１１７からの量子化パラメータを用いて、ステップＳ１０７の処理により得られた直交変換係数を量子化する。
【０１９４】
ステップＳ１０８の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１０９において、逆量子化部１０８は、ステップＳ１０８の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１１０において、逆直交変換部１０９は、ステップＳ１０９の処理により得られた直交変換係数を、直交変換部１０４の特性に対応する特性で逆直交変換する。
【０１９５】
ステップＳ１１１において、演算部１１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。ステップＳ１１２においてデブロックフィルタ１１１は、ステップＳ１１１の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理を適宜行う。
【０１９６】
ステップＳ１１３において、フレームメモリ１１２は、ステップＳ１１２の処理によりデブロックフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ１１２にはデブロックフィルタ１１１によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０１９７】
ステップＳ１１４において、可逆符号化部１０６は、ステップＳ１０８の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０１９８】
また、このとき、可逆符号化部１０６は、ステップＳ１０５の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部１０６は、イントラ予測部１１４から供給される最適イントラ予測モード情報、または、動き予測・補償部１１５から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
【０１９９】
なお、ステップＳ１０５の処理によりインター予測モードの予測画像が選択された場合には、ステップＳ１０４において算出された差分動きベクトルの情報や予測動きベクトルのインデックスを示すフラグも符号化される。
【０２００】
ステップＳ１１５において蓄積バッファ１０７は、ステップＳ１１４の処理により得られた符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０２０１】
ステップＳ１１６においてレート制御部１１７は、ステップＳ１１５の処理により蓄積バッファ１０７に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。また、レート制御部１１７は、量子化パラメータに関する情報を、量子化部１０５に供給する。
【０２０２】
ステップＳ１１６の処理が終了すると、符号化処理が終了される。
【０２０３】
［インター動き予測処理の流れ］
次に、図１６のフローチャートを参照して、図１５のステップＳ１０４において実行されるインター動き予測処理の流れの例を説明する。
【０２０４】
ステップＳ１３１において、動き予測・補償部１１５は、各インター予測モードについて動き探索を行う。動き予測・補償部１１５により探索された当該ＰＵの動きベクトル情報は、コスト関数値算出部１４３に供給される。
【０２０５】
ステップＳ１３２において、動きベクトル符号化部１３１は、図５または図７を参照して上述したAMVPまたはマージモードによる方法に基づいて、当該ＰＵの予測動きベクトルを生成する。この予測動きベクトル生成処理の詳細は、図１７を参照して後述される。
【０２０６】
ステップＳ１３２の処理により、空間隣接動きベクトル共有バッファ１３２からの左隣接ＰＵの隣接動きベクトル情報を参照して、当該ＰＵの候補となる空間候補予測動きベクトルが生成される。隣接動きベクトル情報設定部１２２の制御のもと供給される、空間隣接動きベクトル内蔵バッファ１４１からの上隣接ＰＵの隣接動きベクトル情報を参照して、当該ＰＵの候補となる空間候補予測動きベクトルが生成される。さらに、時間隣接動きベクトル共有バッファ１３２からの時間隣接動きベクトル情報を参照して、当該ＰＵの候補となる時間候補予測動きベクトルが生成される。
【０２０７】
生成された予測動きベクトルの情報は、候補予測動きベクトル情報として供給され、その候補予測動きベクトルに関するコスト関数値が算出されて、当該ＰＵに対する最適予測動きベクトルが決定され、決定された情報が、動き予測・補償部１１５に供給される。
【０２０８】
動き予測・補償部１１５は、ステップＳ１３３において、最適予測動きベクトル決定部１４４からの最適予測動きベクトル情報を用い、動きベクトルとの差分である差分動きベクトルを生成して、各インター予測モードに関するコスト関数値を算出する。なお、コスト関数としては、上述した式（９）または式（１０）が用いられる。
【０２０９】
ステップＳ１３４において、動き予測・補償部１１５は、各予測モードのうち、コスト関数値を最小とする予測モードを、最適インター予測モードに決定する。動き予測・補償部１１５は、ステップＳ１３５において、最適インター予測モードの予測画像を生成し、予測画像選択部１１６に供給する。なお、このとき、最適インター予測モードの動きベクトル情報が、次のＰＵの予測動きベクトルの生成のため、時間隣接動きベクトル共有バッファ１３２、空間隣接動きベクトル共有バッファ１３３、空間隣接動きベクトル内蔵バッファ１４１に供給される。
【０２１０】
ステップＳ１３６において、動き予測・補償部１１５は、最適インター予測モードに関する情報を、可逆符号化部１０６に供給し、最適インター予測モードに関する情報を符号化させる。
【０２１１】
なお、最適インター予測モードに関する情報は、例えば、最適インター予測モードの情報、最適インター予測モードの差分動きベクトル情報、最適インター予測モードの参照ピクチャ情報、および予測動きベクトルのインデックスを示すフラグなどである。
【０２１２】
ステップＳ１３６の処理に対応して、供給されたこれらの情報は、図１５のステップＳ１１４において、符号化される。
【０２１３】
［予測動きベクトル生成処理の流れ］
次に、図１７のフローチャートを参照して、図１６のステップＳ１３２において実行されるインター動き予測処理の流れの例を説明する。なお、図１７の例においては、パイプラインによる処理であることを明示するため、動きベクトル符号化部１３１−１による処理と動きベクトル符号化部１３１−２による処理とが分けて示されている。ただし、ステップＳ１５６の処理は、時間隣接動きベクトル共有バッファ１３２および空間隣接動きベクトル共有バッファ１３３の処理なので、まとめて示されている。
【０２１４】
すなわち、図１７の例においては、動きベクトル符号化部１３１−１により実行される、ＰＵ-2、ＰＵ0、…に対する予測動きベクトル生成処理が左側に示されている。一方、動きベクトル符号化部１３１−２により実行される、ＰＵ-1、ＰＵ1、…に対する予測動きベクトル生成処理が右側に示されている。
【０２１５】
また、図１７の例においては、どのステップで格納された動きベクトル情報が、どのステップで用いられるのかを明示するための点線が示されている。
【０２１６】
ステップＳ１５１−１において、候補予測動きベクトル生成部１４２−１は、当該ＰＵ-2のtop(上)に位置する空間予測動きベクトルを決定する。すなわち、後述するステップＳ１５５−１において空間隣接動きベクトル内蔵バッファ１４１−１に、処理済みの上隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル内蔵バッファ１４１−１から、隣接動きベクトル情報設定部１２２の制御のもと、当該ＰＵ-2の上に隣接する上隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル内蔵バッファ１４１−１から、図１０のＢ1、Ｂ2、Ｂ3の動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−１に供給される。
【０２１７】
候補予測動きベクトル生成部１４２−１は、上隣接ＰＵの動きベクトル情報を用いて、図８を参照して上述したように、例えば、図１０のＢ1、Ｂ3、Ｂ2の順にスキャンを行い、当該ＰＵ-2のtop(上)に位置する空間予測動きベクトルを決定する。決定された空間予測動きベクトル情報は、コスト関数値算出部１４３−１に供給される。
【０２１８】
ステップＳ１５２−１において、候補予測動きベクトル生成部１４２−１は、当該ＰＵ-2のleft(左)に位置する空間予測動きベクトルを決定する。すなわち、後述するステップＳ１５６において空間隣接動きベクトル共有バッファ１３３に、処理済みの左隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル共有バッファ１３３から、当該ＰＵ-2の左に隣接する左隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル共有バッファ１３３から、図１０のＡ0、Ａ1の動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−１に供給される。
【０２１９】
候補予測動きベクトル生成部１４２−１は、左隣接ＰＵの動きベクトル情報を用いて、図８を参照して上述したように、例えば、図１０のＡ0、Ａ1の順にスキャンを行い、当該ＰＵ-2のleft(左)に位置する空間予測動きベクトルを決定する。決定された空間予測動きベクトル情報は、コスト関数値算出部１４３−１に供給される。
【０２２０】
ステップＳ１５３−１において、候補予測動きベクトル生成部１４２−１は、当該ＰＵ-2に時間的に隣接する時間予測動きベクトルを決定する。すなわち、後述するステップＳ１５６において時間隣接動きベクトル共有バッファ１３２に、処理済みの時間隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、時間隣接動きベクトル共有バッファ１３２から、所定のＰＵの動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−１に供給される。
【０２２１】
候補予測動きベクトル生成部１４２−１は、時間隣接ＰＵの動きベクトル情報を用いて、当該ＰＵ-2の時間予測動きベクトルを決定する。決定された時間予測動きベクトル情報は、コスト関数値算出部１４３−１に供給される。
【０２２２】
コスト関数値算出部１４３−１は、各候補予測動きベクトル情報についてコスト関数値を算出し、算出したコスト関数値と、候補予測動きベクトル情報とを、最適予測動きベクトル決定部１４４−１に供給する。なお、コスト関数値の算出には、図１６のステップＳ１３１において動き予測・補償部１１５から供給された当該ＰＵの動きベクトル情報が用いられる。また、コスト関数としては、例えば、上述した式（９）または式（１０）が用いられる。
【０２２３】
ステップＳ１５４−１において、最適予測動きベクトル決定部１４４−１は、コスト関数値算出部１４３−１からのコスト関数値を最小とする候補予測動きベクトルを、当該ＰＵ-2に対する最適予測動きベクトルに決定する。最適予測動きベクトル決定部１４４−１は、当該ＰＵ-2に対する最適予測動きベクトルの情報を、動き予測・補償部１１５に供給する。
【０２２４】
これに対応して、動き予測・補償部１１５は、対象領域の動きベクトルと、最適予測動きベクトル決定部１４４−１からの対象領域の予測動きベクトルとの差分である差分動きベクトルを生成する。また、動き予測・補償部１１５は、画面並べ替えバッファ１０２からの入力画像や差分動きベクトルの情報などを用いて、上述した図１６のステップＳ１３３において各予測画像のコスト関数値を評価し、ステップＳ１３４において最適なモードを選択する。そして、動き予測・補償部１１５は、最適なモードの動きベクトル情報を、時間隣接動きベクトル共有バッファ１３２、空間隣接動きベクトル共有バッファ１３３、空間隣接動きベクトル内蔵バッファ１４１−１に供給してくる。
【０２２５】
ステップＳ１５５−１において、空間隣接動きベクトル内蔵バッファ１４１−１は、当該ＰＵ-2の動きベクトル情報を、次のＰＵのための空間隣接動きベクトル情報として格納する。
【０２２６】
ステップＳ１５６において、時間隣接動きベクトル共有バッファ１３２は、当該ＰＵ-2の動きベクトル情報を、次以降のＰＵのための時間隣接動きベクトル情報として格納する。同様に、空間隣接動きベクトル共有バッファ１３３は、当該ＰＵ-2の動きベクトル情報を、次以降のＰＵのための空間隣接動きベクトル情報として格納する。
【０２２７】
一方、ステップＳ１５１−２において、候補予測動きベクトル生成部１４２−２は、当該ＰＵ-1のtop(上)に位置する空間予測動きベクトルを決定する。すなわち、後述するステップＳ１５５−２において空間隣接動きベクトル内蔵バッファ１４１−２に、処理済みの上隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル内蔵バッファ１４１−２から、隣接動きベクトル情報設定部１２２の制御のもと、当該ＰＵ-1の上に隣接する上隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル内蔵バッファ１４１−２から、図１０のＢ1、Ｂ2、Ｂ3の動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−２に供給される。
【０２２８】
候補予測動きベクトル生成部１４２−２は、上隣接ＰＵの動きベクトル情報を用いて、図８を参照して上述したように、例えば、図１０のＢ1、Ｂ3、Ｂ2の順にスキャンを行い、当該ＰＵ-1のtop(上)に位置する空間予測動きベクトルを決定する。決定された空間予測動きベクトル情報は、コスト関数値算出部１４３−２に供給される。
【０２２９】
ステップＳ１５２−２において、候補予測動きベクトル生成部１４２−２は、当該ＰＵ-1のleft(左)に位置する空間予測動きベクトルを決定する。すなわち、後述するステップＳ１５６において空間隣接動きベクトル共有バッファ１３３に、処理済みの左隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル共有バッファ１３３から、当該ＰＵ-1の左に隣接する左隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル共有バッファ１３３から、図１０のＡ0、Ａ1の動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−２に供給される。
【０２３０】
候補予測動きベクトル生成部１４２−２は、左隣接ＰＵの動きベクトル情報を用いて、図８を参照して上述したように、例えば、図１０のＡ0、Ａ1の順にスキャンを行い、当該ＰＵ-1のleft(左)に位置する空間予測動きベクトルを決定する。決定された空間予測動きベクトル情報は、コスト関数値算出部１４３−２に供給される。
【０２３１】
ステップＳ１５３−２において、候補予測動きベクトル生成部１４２−２は、当該ＰＵ-1に時間的に隣接する時間予測動きベクトルを決定する。すなわち、後述するステップＳ１５６において時間隣接動きベクトル共有バッファ１３２に、処理済みの時間隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、時間隣接動きベクトル共有バッファ１３２から、所定のＰＵの動きベクトル情報が読み出され、読み出された動きベクトル情報が、候補予測動きベクトル生成部１４２−２に供給される。
【０２３２】
候補予測動きベクトル生成部１４２−２は、時間隣接ＰＵの動きベクトル情報を用いて、当該ＰＵ-1の時間予測動きベクトルを決定する。決定された時間予測動きベクトル情報は、コスト関数値算出部１４３−２に供給される。
【０２３３】
コスト関数値算出部１４３−２は、各候補予測動きベクトル情報についてコスト関数値を算出し、算出したコスト関数値と、候補予測動きベクトル情報とを、最適予測動きベクトル決定部１４４−２に供給する。なお、コスト関数値の算出には、図１６のステップＳ１３１において動き予測・補償部１１５から供給された当該ＰＵの動きベクトル情報が用いられる。また、コスト関数としては、上述した式（９）または式（１０）が用いられる。
【０２３４】
ステップＳ１５４−２において、最適予測動きベクトル決定部１４４−２は、コスト関数値算出部１４３−２からのコスト関数値を最小とする候補予測動きベクトルを、当該ＰＵ-1に対する最適予測動きベクトルに決定する。最適予測動きベクトル決定部１４４−２は、当該ＰＵ-1に対する最適予測動きベクトルの情報を、動き予測・補償部１１５に供給する。
【０２３５】
これに対応して、動き予測・補償部１１５は、対象領域の動きベクトルと、最適予測動きベクトル決定部１４４−２からの対象領域の予測動きベクトルとの差分である差分動きベクトルを生成する。また、動き予測・補償部１１５は、画面並べ替えバッファ１０２からの入力画像や差分動きベクトルの情報などを用いて、上述した図１６のステップＳ１３３において各予測画像のコスト関数値を評価し、ステップＳ１３４において最適なモードを選択する。そして、動き予測・補償部１１５は、最適なモードの動きベクトル情報を、時間隣接動きベクトル共有バッファ１３２、空間隣接動きベクトル共有バッファ１３３、空間隣接動きベクトル内蔵バッファ１４１−２に供給してくる。
【０２３６】
ステップＳ１５５−２において、空間隣接動きベクトル内蔵バッファ１４１−２は、当該ＰＵ-1の動きベクトル情報を、次のＰＵのための空間隣接動きベクトル情報として格納する。
【０２３７】
ステップＳ１５６において、時間隣接動きベクトル共有バッファ１３２は、当該ＰＵ-1の動きベクトル情報を、次以降のＰＵのための時間隣接動きベクトル情報として格納する。同様に、空間隣接動きベクトル共有バッファ１３３は、当該ＰＵ-1の動きベクトル情報を、次以降のＰＵのための空間隣接動きベクトル情報として格納する。
【０２３８】
以上のように、当該ＰＵの動きベクトルの符号化のために用いられる、予測動きベクトルの生成処理において、当該ＰＵの右上に位置するＰＵの動きベクトル情報の使用を禁止するようにした。
【０２３９】
これにより、ステップＳ１５５−１の処理の後、動きベクトル符号化部１３１−１は、ステップＳ１５５−２の動きベクトル符号化部１３１−２によるＰＵ-1に対する処理が終わってなくても、すぐに、次のＰＵ0に対する処理を行うことができる。すなわち、図１３を参照して上述したように、パイプラインによる処理を行うことが可能になる。
【０２４０】
＜２．第２の実施の形態＞
［画像復号装置］
次に、以上のように符号化された符号化データ（符号化ストリーム）の復号について説明する。図１８は、図１の画像符号化装置１００に対応する画像復号装置の主な構成例を示すブロック図である。
【０２４１】
図１８に示される画像復号装置２００は、画像符号化装置１００が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、画像復号装置２００は、画像符号化装置１００と同様に、プレディクションユニット（ＰＵ）毎にインター予測を行うものとする。
【０２４２】
図１８に示されるように画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３を有する。
【０２４３】
さらに、画像復号装置２００は、動きベクトル復号部２２１、および隣接動きベクトル情報設定部２２２を有する。
【０２４４】
蓄積バッファ２０１は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ２０１は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部２０２に供給する。符号化データには、予測モード情報、動きベクトル差分情報、予測動きベクトルのインデックスなどの復号に必要な情報が付加されている。可逆復号部２０２は、蓄積バッファ２０１より供給された、図１の可逆符号化部１０６により符号化された情報を、可逆符号化部１０６の符号化方式に対応する方式で復号する。可逆復号部２０２は、復号して得られた差分画像の量子化された係数データを、逆量子化部２０３に供給する。
【０２４５】
また、可逆復号部２０２は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部２１１および動き予測・補償部２１２の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置１００において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き予測・補償部２１２に供給される。
【０２４６】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた量子化された係数データを、図１の量子化部１０５の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部２０４に供給する。
【０２４７】
逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式で逆量子化部２０３から供給される係数データを逆直交変換する。逆直交変換部２０４は、この逆直交変換処理により、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０２４８】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測・補償部２１２から予測画像が供給される。
【０２４９】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０２５０】
デブロックフィルタ２０６は、供給された復号画像に対して、デブロックフィルタ処理を適宜施し、それを画面並べ替えバッファ２０７に供給する。デブロックフィルタ２０６は、ループフィルタ２０６は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。
【０２５１】
デブロックフィルタ２０６は、フィルタ処理結果（フィルタ処理後の復号画像）を画面並べ替えバッファ２０７およびフレームメモリ２０９に供給する。なお、演算部２０５から出力される復号画像は、デブロックフィルタ２０６を介さずに画面並べ替えバッファ２０７やフレームメモリ２０９に供給することができる。つまり、デブロックフィルタ２０６によるフィルタ処理は省略することができる。
【０２５２】
画面並べ替えバッファ２０７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０２５３】
フレームメモリ２０９は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部２１１や動き予測・補償部２１２等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部２１０に供給する。
【０２５４】
選択部２１０は、フレームメモリ２０９から供給される参照画像の供給先を選択する。選択部２１０は、イントラ符号化された画像を復号する場合、フレームメモリ２０９から供給される参照画像をイントラ予測部２１１に供給する。また、選択部２１０は、インター符号化された画像を復号する場合、フレームメモリ２０９から供給される参照画像を動き予測・補償部２１２に供給する。
【０２５５】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、図１のイントラ予測部１１４において用いられたイントラ予測モードで、フレームメモリ２０９から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部２１１は、生成した予測画像を選択部２１３に供給する。
【０２５６】
動き予測・補償部２１２は、ヘッダ情報を復号して得られた情報（最適予測モード情報、参照画像情報等）を可逆復号部２０２から取得する。
【０２５７】
動き予測・補償部２１２は、可逆復号部２０２から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ２０９から取得した参照画像を用いてインター予測を行い、予測画像を生成する。なお、このとき、動き予測・補償部２１２は、動きベクトル復号部２２１により再構築された動きベクトル情報を用いて、インター予測を行う。
【０２５８】
選択部２１３は、イントラ予測部２１１からの予測画像または動き予測・補償部２１２からの予測画像を、演算部２０５に供給する。そして、演算部２０５においては、動きベクトルが用いられて生成された予測画像と逆直交変換部２０４からの復号残差データ（差分画像情報）とが加算されて元の画像が復号される。すなわち、動き予測・補償部２１２、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５は、動きベクトルを用いて、符号化データを復号し、元の画像を生成する復号部でもある。
【０２５９】
動きベクトル復号部２２１は、ヘッダ情報を復号して得られた情報のうち、予測動きベクトルのインデックスの情報と差分動きベクトルの情報を可逆復号部２０２から取得する。ここで、予測動きベクトルのインデックスとは、それぞれのＰＵに対して、時空間に隣接する隣接領域のうち、どの隣接領域の動きベクトルにより動きベクトルの予測処理（予測動きベクトルの生成）が行われているかを示す情報である。差分動きベクトルに関する情報は、差分動きベクトルの値を示す情報である。
【０２６０】
動きベクトル復号部２２１は、予測動きベクトルのインデックスが示すＰＵの動きベクトルを用いて、予測動きベクトルを再構築する。特に、予測動きベクトルのインデックスが示すＰＵが空間的に対象領域に隣接する空間隣接領域の場合、動きベクトル復号部２２１は、隣接動きベクトル情報設定部２２２により使用が禁止されていない隣接領域の動きベクトルを用いて、空間予測動きベクトルを生成する。動きベクトル復号部２２１は、また、再構築した予測動きベクトルと、可逆復号部２０２からの差分動きベクトルを加算することで、動きベクトルを再構築し、再構築した動きベクトルの情報を、動き予測・補償部２１２に供給する。
【０２６１】
隣接動きベクトル情報設定部２２２は、対象領域に空間的に隣接する隣接領域のうち、どの隣接領域の動きベクトルを使用するか、あるいは、どの隣接領域の動きベクトルの使用を禁止するかを設定する。具体的には、隣接動きベクトル情報設定部２２２は、対象領域に対して右上に隣接して位置する隣接領域の動きベクトルの使用を禁止する。
【０２６２】
なお、動きベクトル復号部２２１および隣接動きベクトル情報設定部２２２における、本技術に関連する基本的な動作原理は、図１の動きベクトル符号化部１２１および隣接動きベクトル情報設定部１２２と同様である。ただし、図１に示された画像符号化装置１００においては、候補予測動きベクトル情報から、それぞれのＰＵに最適なものを選択する際、空間予測動きベクトルに対して、本技術が適用される。
【０２６３】
一方、図１８に示される画像復号装置２００においては、それぞれのＰＵに対して、どの予測動きベクトルを用いた符号化処理がなされているかに関する情報（予測動きベクトルのインデックス）が符号化側から送られている。したがって、画像復号装置２００においては、空間予測動きベクトルによる符号化が行われている場合に、本技術が適用される。
【０２６４】
［動きベクトル復号部の構成例］
図１９は、動きベクトル復号部２２１の主な構成例を示すブロック図である。なお、図１９の例において、動きベクトル復号部２２１に含まれない部については、点線で示されている。
【０２６５】
図１９の例の動きベクトル復号部２２１は、動きベクトル復号部２３１−１および２３１−２、時間隣接動きベクトル共有バッファ２３２、並びに空間隣接動きベクトル共有バッファ２３３を含むように構成される。
【０２６６】
動きベクトル復号部２３１−１は、例えば、図１２に示される、ＰＵ-2、ＰＵ0、…の予測動きベクトル生成（再構築）処理を含む動きベクトル再構築処理を行う。動きベクトル復号部２３１−２は、例えば、図１２に示される、ＰＵ-1、ＰＵ1、…の予測動きベクトル生成（再構築）処理を含む動きベクトル再構築処理を行う。すなわち、動きベクトル復号部２３１−１および２３１−２は、処理対象のＰＵが異なるだけであり、基本的に同様に構成される。なお、以下、動きベクトル復号部２３１−１および２３１−２は、個々に区別する必要がない場合、動きベクトル復号部２３１と称する。
【０２６７】
動きベクトル復号部２３１−１は、予測動きベクトル情報バッファ２４１−１、差分動きベクトル情報バッファ２４２−１、予測動きベクトル再構築部２４３−１、および動きベクトル再構築部２４４−１を含むように構成される。動きベクトル復号部２３１−１は、さらに、空間隣接動きベクトル内蔵バッファ２４５−１も含むように構成される。
【０２６８】
動きベクトル復号部２３１−２は、予測動きベクトル情報バッファ２４１−２、差分動きベクトル情報バッファ２４２−２、予測動きベクトル再構築部２４３−２、および動きベクトル再構築部２４４−２を含むように構成される。動きベクトル復号部２３１−２は、さらに、空間隣接動きベクトル内蔵バッファ２４５−２も含むように構成される。
【０２６９】
なお、以下、予測動きベクトル情報バッファ２４１−１および２４１−２を個々に区別する必要がない場合、予測動きベクトル情報バッファ２４１と称する。差分動きベクトル情報バッファ２４２−１および２４１−２を個々に区別する必要がない場合、差分動きベクトル情報バッファ２４２と称する。予測動きベクトル再構築部２４３−１および２４３−２を個々に区別する必要がない場合、予測動きベクトル再構築部２４３と称する。動きベクトル再構築部２４４−１および２４４−２を個々に区別する必要がない場合、動きベクトル再構築部２４４と称する。空間隣接動きベクトル内蔵バッファ２４５−１および２４５−２を個々に区別する必要がない場合、空間隣接動きベクトル内蔵バッファ２４５と称する。
【０２７０】
時間隣接動きベクトル共有バッファ２３２は、メモリで構成され、動きベクトル復号部２３１−１および２３１−２により共有される。時間隣接動きベクトル共有バッファ２３２は、動きベクトル再構築部２４４からの動きベクトル情報を、時間的に隣接する時間隣接領域の動きベクトルの情報として蓄積する。なお、時間的に隣接する領域とは、時間軸上異なるピクチャにおいて、当該領域と同じ空間上のアドレスにある領域のことである。
【０２７１】
時間隣接動きベクトル共有バッファ２３２は、当該ＰＵに時間的に隣接する時間隣接ＰＵに対して求められた動きベクトルを示す情報を読み出し、読み出した情報（時間隣接動きベクトル情報）を、予測動きベクトル再構築部２４４に供給する。
【０２７２】
空間隣接動きベクトル共有バッファ２３３は、ラインバッファで構成され、動きベクトル復号部２３１−１および２３１−２により共有される。空間隣接動きベクトル共有バッファ２３３は、動きベクトル再構築部２４４からの動きベクトル情報を、空間的に隣接する空間隣接領域の動きベクトルの情報として蓄積する。空間隣接動きベクトル共有バッファ２３３は、当該ＰＵに空間的に隣接する空間隣接ＰＵのうち、左に隣接する左隣接ＰＵ（例えば、図９のＡ0、Ａ1）に対して求められた動きベクトルを示す情報を読み出す。空間隣接動きベクトル共有バッファ２３３は、読み出した情報（空間隣接動きベクトル情報）を、予測動きベクトル再構築部２４４に供給する。
【０２７３】
予測動きベクトル情報バッファ２４１は、可逆復号部２０２により復号された対象領域（ＰＵ）の予測動きベクトルのインデックスを示す情報（以下、予測動きベクトルの情報と称する）を蓄積する。予測動きベクトル情報バッファ２４１は、当該ＰＵの予測動きベクトルの情報を読み出し、予測動きベクトル再構築部２４３に供給する。
【０２７４】
差分動きベクトル情報バッファ２４２は、可逆復号部２０２により復号された対象領域（ＰＵ）の差分動きベクトルの情報を蓄積する。差分動きベクトル情報バッファ２４２は、当該ＰＵの差分動きベクトルの情報を読み出し、動きベクトル再構築部２４４に供給する。
【０２７５】
予測動きベクトル再構築部２４３は、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが示す予測動きベクトルを、AMVPまたはマージモードによる方法に基づき、再構築する。予測動きベクトル再構築部２４３は、再構築した予測動きベクトルの情報を、動きベクトル再構築部２４４に供給する。
【０２７６】
すなわち、予測動きベクトル再構築部２４３は、当該ＰＵの予測動きベクトルのインデックスが上隣接ＰＵの空間予測動きベクトルを示す場合、空間隣接動きベクトル内蔵バッファ２４５からの当該ＰＵに空間的に隣接する上隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵの空間予測動きベクトルを生成する。なお、空間隣接動きベクトル内蔵バッファ２４５において、上隣接ＰＵの空間隣接動きベクトル情報は、隣接動きベクトル情報設定部２２２により読み出しが制御されている。
【０２７７】
予測動きベクトル再構築部２４３は、当該ＰＵの予測動きベクトルのインデックスが左隣接ＰＵの空間予測動きベクトルを示す場合、空間隣接動きベクトル共有バッファ２３３からの当該ＰＵに空間的に隣接する左隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵの空間予測動きベクトルを生成する。さらに、予測動きベクトル再構築部２４３は、当該ＰＵの予測動きベクトルのインデックスが時間予測動きベクトルを示す場合、時間隣接動きベクトル共有バッファ２３２からの当該ＰＵに時間的に隣接する時間隣接動きベクトル情報を用いて、当該ＰＵの時間予測動きベクトルを生成する。
【０２７８】
動きベクトル再構築部２４４は、差分動きベクトル情報バッファ２４２からの情報が示す当該ＰＵの差分動きベクトルと、再構築された当該ＰＵの予測動きベクトルとを加算することで、動きベクトルを再構築する。動きベクトル再構築部２４４は、再構築された動きベクトルを示す情報を、動き予測・補償部２１２、空間隣接動きベクトル内蔵バッファ２４５、空間隣接動きベクトル共有バッファ２３３、および時間隣接動きベクトル共有バッファ２３２に供給する。
【０２７９】
空間隣接動きベクトル内蔵バッファ２４５は、ラインバッファで構成されている。空間隣接動きベクトル内蔵バッファ２４５は、動きベクトル再構築部２４４により再構築された動きベクトル情報を、同じピクチャ内の以降のＰＵの予測動きベクトル情報のための空間隣接動きベクトル情報として蓄積する。
【０２８０】
空間隣接動きベクトル内蔵バッファ２４５は、当該ＰＵに空間的に隣接する空間隣接ＰＵのうち、上に隣接する上隣接ＰＵ（例えば、図１０のＢ1、Ｂ2、Ｂ3）に対して求められた動きベクトルを示す情報を読み出す。その際、空間隣接動きベクトル内蔵バッファ２４５は、当該ＰＵの情報を、隣接動きベクトル情報設定部２２２に供給する。それに対応して隣接動きベクトル情報設定部２２２から読み出しを禁止するＰＵの情報が供給されるので、空間隣接動きベクトル内蔵バッファ２４５は、上隣接ＰＵのうち、隣接動きベクトル情報設定部２２２により禁止されているＰＵ（例えば、図８のＢ0）の動きベクトルを読み出さない。空間隣接動きベクトル内蔵バッファ２４５は、読み出した情報（空間隣接動きベクトル情報）を、予測動きベクトル再構築部２４３に供給する。なお、例えば、図１０のＢ3の動きベクトルを読み出す指示も、隣接動きベクトル情報設定部２２２が行うようにしてもよい。
【０２８１】
隣接動きベクトル情報設定部２２２は、空間隣接動きベクトル内蔵バッファ２４５から当該ＰＵの情報を受け取ると、当該ＰＵの上隣接ＰＵのうち、動きベクトルの使用を禁止するＰＵのアドレスの情報を、空間隣接動きベクトル内蔵バッファ２４５に供給する。なお、このとき、必要に応じて（例えば、図１０または図１１の場合）、当該ＰＵの上隣接ＰＵのうち、動きベクトルの使用を許可するＰＵのアドレスの情報も、空間隣接動きベクトル内蔵バッファ２４５に供給されるようにしてもよい。
【０２８２】
なお、動き予測・補償部２１２は、この動きベクトル再構築部２４４により再構築された当該ＰＵの動きベクトルを用いて、可逆復号部２０２から取得された最適予測モード情報が示すインター予測モードで、参照画像を用いて予測画像を生成する。
【０２８３】
［復号処理の流れ］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図２０のフローチャートを参照して、復号処理の流れの例を説明する。
【０２８４】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は、伝送されてきたコードストリームを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給されるコードストリーム（符号化された差分画像情報）を復号する。すなわち、図１の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２８５】
このとき、ヘッダ情報などのコードストリームに含められた差分画像情報以外の各種情報も復号される。可逆復号部２０２は、例えば、予測モード情報、差分動きベクトルの情報、および予測動きベクトルのインデックスを示すフラグなどを取得する。可逆復号部２０２は、取得した情報を、対応する部に供給する。
【０２８６】
ステップＳ２０３において、逆量子化部２０３は、ステップＳ２０２の処理により得られた、量子化された直交変換係数を逆量子化する。ステップＳ２０４において逆直交変換部２０４は、ステップＳ２０３において逆量子化された直交変換係数を逆直交変換する。
【０２８７】
ステップＳ２０５において、可逆復号部２０２は、ステップＳ２０２において復号した最適な予測モードに関する情報に基づいて、処理対象の符号化データがイントラ符号化されているか否かを判定する。イントラ符号化されていると判定された場合、処理は、ステップＳ２０６に進む。
【０２８８】
ステップＳ２０６において、イントラ予測部２１１は、イントラ予測モード情報を取得する。ステップＳ２０７において、イントラ予測部２１１は、ステップＳ２０６において取得したイントラ予測モード情報を用いてイントラ予測を行い、予測画像を生成する。
【０２８９】
また、ステップＳ２０６において、処理対象の符号化データがイントラ符号化されていない、すなわち、インター符号化されていると判定された場合、処理は、ステップＳ２０８に進む。
【０２９０】
ステップＳ２０８において、動きベクトル復号部２２１、および隣接動きベクトル情報設定部２２２は、動きベクトル再構築処理を行う。この動きベクトル再構築処理についての詳細は、図２１を参照して後述する。
【０２９１】
ステップＳ２０８の処理により、復号された予測動きベクトルに関する情報が参照されて、パイプライン処理により、当該ＰＵの予測動きベクトルが生成される。すなわち、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが示す予測動きベクトルが再構築される。そして、再構築された当該ＰＵの予測動きベクトルが用いられて、動きベクトルが再構築され、再構築された動きベクトルは、動き予測・補償部２１２に供給される。
【０２９２】
より具体的には、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが、左の空間予測動きベクトルを示す場合、空間隣接動きベクトル共有バッファ２３３からの左隣接ＰＵの隣接動きベクトル情報を参照して、当該ＰＵの予測動きベクトルが再構築される。予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが、上の空間予測動きベクトルを示す場合、隣接動きベクトル情報設定部２２２の制御のもと供給される、空間隣接動きベクトル内蔵バッファ２４５からの上隣接ＰＵの隣接動きベクトル情報を参照して、当該ＰＵの予測動きベクトルが再構築される。さらに、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが、時間予測動きベクトルを示す場合、時間隣接動きベクトル共有バッファ２３２からの時間隣接動きベクトル情報を参照して、当該ＰＵの予測動きベクトルが再構築される。
【０２９３】
ステップＳ２０９において、動き予測・補償部２１２は、ステップＳ２０８の処理により再構築された動きベクトルを用いて、インター動き予測処理を行い、予測画像を生成する。生成した予測画像は、選択部２１３に供給される。
【０２９４】
ステップＳ２１０において、選択部２１３は、ステップＳ２０７またはステップＳ２０９において生成された予測画像を選択する。ステップＳ２１１において、演算部２０５は、ステップＳ２０４において逆直交変換されて得られた差分画像情報に、ステップＳ２１０において選択された予測画像を加算する。これにより元の画像が復号される。すなわち、動きベクトルが用いられて、予測画像が生成され、生成された予測画像と逆直交変換部２０４からの差分画像情報とが加算されて元の画像が復号される。
【０２９５】
ステップＳ２１２において、デブロックフィルタ２０６は、ステップＳ２１１において得られた復号画像に対して、デブロックフィルタ処理を適宜行う。
【０２９６】
ステップＳ２１３において、画面並べ替えバッファ２０７は、ステップＳ２１２においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置１００の画面並べ替えバッファ１０２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２９７】
ステップＳ２１４において、D/A変換部２０８は、ステップＳ２１３においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２９８】
ステップＳ２１５において、フレームメモリ２０９は、ステップＳ２１２においてフィルタ処理された画像を記憶する。
【０２９９】
ステップＳ２１５の処理が終了すると、復号処理が終了される。
【０３００】
［動きベクトル再構築処理の流れ］
次に、図２１のフローチャートを参照して、図２０のステップＳ２０８において実行される動きベクトル再構築処理の流れの例を説明する。なお、この動きベクトル再構築処理は、符号化側から送信されて可逆復号部２０２により復号された情報を用いて、動きベクトルを復号する処理である。
【０３０１】
また、図２１の例においては、パイプラインによる処理であることを明示するため、動きベクトル復号部２３１−１による処理と動きベクトル復号部２３１−２による処理とが分けて示されている。ただし、ステップＳ２３７の処理は、時間隣接動きベクトル共有バッファ２３２および空間隣接動きベクトル共有バッファ２３３の処理なので、まとめて示されている。
【０３０２】
すなわち、図２１の例においては、動きベクトル復号部２３１−１により実行される、ＰＵ-2、ＰＵ0、…に対する動きベクトル再構築処理が左側に示されている。一方、動きベクトル復号部２３１−２により実行される、ＰＵ-1、ＰＵ1、…に対する動きベクトル再構築処理が右側に示されている。
【０３０３】
また、図２１の例においては、どのステップで格納された動きベクトル情報が、どのステップで用いられるのかを明示するための点線が示されている。
【０３０４】
図２０のステップＳ２０２において、可逆復号部２０２は、復号されたパラメータの情報などを対応する部に供給してくる。
【０３０５】
ステップＳ２３１−１において、予測動きベクトル情報バッファ２４１−１は、復号されたパラメータの情報のうち、予測動きベクトルに関するインデックスを示す情報（予測動きベクトル情報）を取得し、取得した情報を蓄積する。そして、予測動きベクトル情報バッファ２４１−１は、所定のタイミングで、予測動きベクトル情報を、予測動きベクトル再構築部２４３−１に供給する。
【０３０６】
なお、このとき、差分動きベクトル情報バッファ２４２−１は、復号されたパラメータの情報のうち、差分動きベクトルの情報を取得し、取得した情報を蓄積する。そして、差分動きベクトル情報バッファ２４２−１は、差分動きベクトルの情報を、動きベクトル再構築部２４４−１に供給する。
【０３０７】
ステップＳ２３２−１において、予測動きベクトル再構築部２４３−１は、図５または図７を参照して上述したMVPまたはマージモードによる方法に基づいて、当該ＰＵ-2の時間予測動きベクトルを再構築する。すなわち、後述するステップＳ２３７において時間隣接動きベクトル共有バッファ２３２に、処理済みの時間隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、時間隣接動きベクトル共有バッファ２３２から、所定のＰＵの動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−１に供給される。
【０３０８】
予測動きベクトル再構築部２４３−１は、時間隣接動きベクトル共有バッファ２３２からの当該ＰＵ-2に時間的に隣接する時間隣接動きベクトル情報を用いて、当該ＰＵ-2の時間予測動きベクトルを生成する。
【０３０９】
ステップＳ２３３−１において、予測動きベクトル再構築部２４３−１は、AMVPまたはマージモードによる方法に基づいて、当該ＰＵ-2のTop（上）の予測動きベクトルを再構築する。すなわち、後述するステップＳ２３６−１において空間隣接動きベクトル内蔵バッファ２４５−１に、処理済みの上隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル内蔵バッファ２４５−１から、隣接動きベクトル情報設定部２２２の制御のもと、当該ＰＵ-2の上に隣接する上隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル内蔵バッファ２４５−１から、図１０のＢ1、Ｂ2、Ｂ3の動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−１に供給される。
【０３１０】
予測動きベクトル再構築部２４３−１は、空間隣接動きベクトル内蔵バッファ２４５−１からの当該ＰＵに空間的に隣接する上隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵ-2の空間予測動きベクトルを生成する。
【０３１１】
なお、空間隣接動きベクトル内蔵バッファ２４５−１において、上隣接ＰＵの空間隣接動きベクトル情報の読み出しは、隣接動きベクトル情報設定部２２２により制御されている。
【０３１２】
具体的には、空間隣接動きベクトル内蔵バッファ２４５−１は、当該ＰＵ-2に空間的に隣接する空間隣接ＰＵのうち、上に隣接する上隣接ＰＵ（例えば、図１０のＢ1、Ｂ2、Ｂ3）に対して求められた動きベクトルを示す情報を読み出す。その際、空間隣接動きベクトル内蔵バッファ２４５−１は、当該ＰＵ-2の情報を、隣接動きベクトル情報設定部２２２に供給し、それに対応して供給される上隣接ＰＵのうち、禁止されているＰＵ（例えば、図８のＢ0）の動きベクトルを読み出さない。空間隣接動きベクトル内蔵バッファ２４５−１は、以上のようにして読み出した情報（空間隣接動きベクトル情報）を、予測動きベクトル再構築部２４３−１に供給している。
【０３１３】
ステップＳ２３４−１において、予測動きベクトル再構築部２４３−１は、AMVPまたはマージモードによる方法に基づいて、当該ＰＵ-2のleft（左）の予測動きベクトルを再構築する。すなわち、後述するステップＳ２３７において空間隣接動きベクトル共有バッファ２３３に、処理済みの左隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル共有バッファ２３３から、当該ＰＵ-2の左に隣接する左隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル共有バッファ２３３から、図１０のＡ0、Ａ1の動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−１に供給される。
【０３１４】
予測動きベクトル再構築部２４３−１は、空間隣接動きベクトル共有バッファ２３３からの当該ＰＵに空間的に隣接する左隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵ-2の空間予測動きベクトルを生成する。
【０３１５】
なお、ステップＳ２３２−１乃至ステップＳ２３４−１の処理は、予測動きベクトル情報バッファ２４１−１からの当該ＰＵ-2の予測動きベクトルのインデックスに基づいて行われる処理であり、実際には、そのうちの１つのステップの処理のみが実行される。なお、ステップＳ２３２−１乃至Ｓ２３４−１の処理は、図２２を参照して詳しく後述される。予測動きベクトル再構築部２４３−１は、再構築した予測動きベクトルの情報を、動きベクトル再構築部２４４−１に供給する。
【０３１６】
ステップＳ２３５−１において、動きベクトル再構築部２４４−１は、動きベクトルを再構築する。すなわち、動きベクトル再構築部２４４−１は、差分動きベクトル情報バッファ２４２−１からの情報が示す当該ＰＵ-2の差分動きベクトルと、再構築された当該ＰＵ-2の予測動きベクトルとを加算することで、動きベクトルを再構築する。動きベクトル再構築部２４４−１は、再構築された動きベクトルを示す情報を、動き予測・補償部２１２、空間隣接動きベクトル内蔵バッファ２４５−１、空間隣接動きベクトル共有バッファ２３３、並びに時間隣接動きベクトル共有バッファ２３２に供給する。
【０３１７】
ステップＳ２３６−１において、空間隣接動きベクトル内蔵バッファ２４５−１は、当該ＰＵ-2の動きベクトル情報を、次のＰＵのための空間隣接動きベクトル情報として格納する。
【０３１８】
ステップＳ２３７において、時間隣接動きベクトル共有バッファ２３２は、当該ＰＵ-2の動きベクトル情報を、次以降のＰＵのための時間隣接動きベクトル情報として格納する。同様に、空間隣接動きベクトル共有バッファ２３３は、当該ＰＵ-2の動きベクトル情報を、次以降のＰＵのための空間隣接動きベクトル情報として格納する。
【０３１９】
一方、ステップＳ２３１−２において、予測動きベクトル情報バッファ２４１−２は、復号されたパラメータの情報のうち、予測動きベクトルに関するインデックスを示す情報（予測動きベクトル情報）を取得し、取得した情報を蓄積する。そして、予測動きベクトル情報バッファ２４１−２は、所定のタイミングで、予測動きベクトル情報を、予測動きベクトル再構築部２４３−２に供給する。
【０３２０】
なお、このとき、差分動きベクトル情報バッファ２４２−２は、復号されたパラメータの情報のうち、差分動きベクトルの情報を取得し、取得した情報を蓄積する。そして、差分動きベクトル情報バッファ２４２−２は、差分動きベクトルの情報を、動きベクトル再構築部２４４−２に供給する。
【０３２１】
ステップＳ２３２−２において、予測動きベクトル再構築部２４３−２は、AMVPまたはマージモードによる方法に基づいて、当該ＰＵ-1の時間予測動きベクトルを生成する。すなわち、後述するステップＳ２３７において時間隣接動きベクトル共有バッファ２３２に、処理済みの時間隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、時間隣接動きベクトル共有バッファ２３２から、所定のＰＵの動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−２に供給される。
【０３２２】
予測動きベクトル再構築部２４３−２は、時間隣接動きベクトル共有バッファ２３２からの当該ＰＵ-1に時間的に隣接する時間隣接動きベクトル情報を用いて、当該ＰＵ-1の時間予測動きベクトルを生成する。
【０３２３】
ステップＳ２３３−２において、予測動きベクトル再構築部２４３−２は、AMVPまたはマージモードによる方法に基づいて、当該ＰＵ-1のTop（上）の予測動きベクトルを生成する。すなわち、後述するステップＳ２３６−２において空間隣接動きベクトル内蔵バッファ２４５−２に、処理済みの上隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル内蔵バッファ２４５−２から、隣接動きベクトル情報設定部２２２の制御のもと、当該ＰＵ-1の上に隣接する上隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル内蔵バッファ２４５−２から、図１０のＢ1、Ｂ2、Ｂ3の動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−２に供給される。
【０３２４】
予測動きベクトル再構築部２４３−２は、空間隣接動きベクトル内蔵バッファ２４５−２からの当該ＰＵに空間的に隣接する上隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵ-1の空間予測動きベクトルを生成する。
【０３２５】
なお、空間隣接動きベクトル内蔵バッファ２４５−２において、上隣接ＰＵの空間隣接動きベクトル情報の読み出しは、隣接動きベクトル情報設定部２２２により制御されている。
【０３２６】
具体的には、空間隣接動きベクトル内蔵バッファ２４５−２は、当該ＰＵ-1に空間的に隣接する空間隣接ＰＵのうち、上に隣接する上隣接ＰＵ（例えば、図１０のＢ1、Ｂ2、Ｂ3）に対して求められた動きベクトルを示す情報を読み出す。その際、空間隣接動きベクトル内蔵バッファ２４５−２は、当該ＰＵ-1の情報を、隣接動きベクトル情報設定部２２２に供給し、それに対応して供給される上隣接ＰＵのうち、禁止されているＰＵ（例えば、図８のＢ0）の動きベクトルを読み出さない。空間隣接動きベクトル内蔵バッファ２４５−２は、以上のようにして読み出した情報（空間隣接動きベクトル情報）を、予測動きベクトル再構築部２４３−２に供給している。
【０３２７】
ステップＳ２３４−２において、予測動きベクトル再構築部２４３−２は、AMVPまたはマージモードによる方法に基づいて、当該ＰＵ-1のleft（左）の予測動きベクトルを生成する。すなわち、後述するステップＳ２３７において空間隣接動きベクトル共有バッファ２３３に、処理済みの左隣接ＰＵの動きベクトル情報が格納されている。点線矢印で示されるように、空間隣接動きベクトル共有バッファ２３３から、当該ＰＵ-1の左に隣接する左隣接ＰＵのうち、所定のＰＵの動きベクトル情報が読み出される。例えば、空間隣接動きベクトル共有バッファ２３３から、図１０のＡ0、Ａ1の動きベクトル情報が読み出され、読み出された動きベクトル情報が、予測動きベクトル再構築部２４３−２に供給される。
【０３２８】
予測動きベクトル再構築部２４３−２は、空間隣接動きベクトル共有バッファ２３３からの当該ＰＵに空間的に隣接する左隣接ＰＵの空間隣接動きベクトル情報を用いて、当該ＰＵ-1の空間予測動きベクトルを生成する。
【０３２９】
なお、ステップＳ２３２−２乃至ステップＳ２３４−２の処理は、予測動きベクトル情報バッファ２４１−２からの当該ＰＵ-1の予測動きベクトルのインデックスに基づいて行われる処理であり、実際には、そのうちの１つのステップの処理のみが実行される。なお、ステップＳ２３２−２乃至Ｓ２３４−２の処理は、図２２を参照して詳しく後述される。予測動きベクトル再構築部２４３−２は、再構築した予測動きベクトルの情報を、動きベクトル再構築部２４４−２に供給する。
【０３３０】
ステップＳ２３５−２において、動きベクトル再構築部２４４−２は、動きベクトルを再構築する。すなわち、動きベクトル再構築部２４４−２は、差分動きベクトル情報バッファ２４２−２からの情報が示す当該ＰＵ-1の差分動きベクトルと、再構築された当該ＰＵ-1の予測動きベクトルとを加算することで、動きベクトルを再構築する。動きベクトル再構築部２４４−２は、再構築された動きベクトルを示す情報を、動き予測・補償部２１２、空間隣接動きベクトル内蔵バッファ２４５−２、空間隣接動きベクトル共有バッファ２３３、および時間隣接動きベクトル共有バッファ２３２に供給する。
【０３３１】
ステップＳ２３６−２において、空間隣接動きベクトル内蔵バッファ２４５−２は、当該ＰＵ-1の動きベクトル情報を、次のＰＵのための空間隣接動きベクトル情報として格納する。
【０３３２】
ステップＳ２３７において、時間隣接動きベクトル共有バッファ２３２は、当該ＰＵ-1の動きベクトル情報を、次以降のＰＵのための時間隣接動きベクトル情報として格納する。同様に、空間隣接動きベクトル共有バッファ２３３は、当該ＰＵ-1の動きベクトル情報を、次以降のＰＵのための空間隣接動きベクトル情報として格納する。
【０３３３】
なお、マージモードの場合、差分動きベクトル情報は符号化側から送られず、再構築された予測動きベクトルが動きベクトルとなるので、ステップＳ２３５−１およびステップＳ２３５−２の動きベクトルの再構築処理は、スキップされる。
【０３３４】
［予測動きベクトル再構築処理の流れ］
次に、図２２のフローチャートを参照して、図２１のステップＳ２３２−１乃至ステップＳ２３４−１、およびステップＳ２３２−２乃至ステップＳ２３４−２において実行される予測動きベクトル再構築処理の流れの例をまとめて説明する。
【０３３５】
予測動きベクトル再構築部２４３は、ステップＳ２５１において、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが示すものが、時間予測動きベクトルであるか否かを判定する。
【０３３６】
ステップＳ２５１において、時間予測動きベクトルであると判定された場合、処理は、ステップＳ２５２に進む。
【０３３７】
ステップＳ２５２において、予測動きベクトル再構築部２４３は、時間予測動きベクトルを再構築する。なお、ステップＳ２５２の処理は、上述した図２１のステップＳ２３２−１およびステップＳ２３２−２の処理と同じ処理であるので、詳細な説明は省略される。
【０３３８】
ステップＳ２５１において、時間予測動きベクトルではないと判定された場合、処理は、ステップＳ２５３に進む。予測動きベクトル再構築部２４３は、ステップＳ２５３において、予測動きベクトル情報バッファ２４１からの当該ＰＵの予測動きベクトルのインデックスが示すものが、Topの空間予測動きベクトルであるか否かを判定する。
【０３３９】
ステップＳ２５３において、Topの空間予測動きベクトルであると判定された場合、処理は、ステップＳ２５４に進む。
【０３４０】
ステップＳ２５４において、予測動きベクトル再構築部２４３は、Topの空間予測動きベクトルを再構築する。なお、ステップＳ２５４の処理は、上述した図２１のステップＳ２３３−１およびステップＳ２３３−２の処理と同じ処理であるので、詳細な説明は省略される。
【０３４１】
ステップＳ２５３において、Topの空間予測動きベクトルではないと判定された場合、処理は、ステップＳ２５５に進む。ステップＳ２５５において、予測動きベクトル再構築部２４３は、leftの空間予測動きベクトルを再構築する。なお、ステップＳ２５５の処理は、上述した図２１のステップＳ２３４−１およびステップＳ２３４−２の処理と同じ処理であるので、詳細な説明は省略される。
【０３４２】
以上のように、当該ＰＵの動きベクトルの復号処理、すなわち、予測動きベクトルの再構築処理において、当該ＰＵの右上に位置するＰＵの動きベクトル情報の使用を禁止するようにした。
【０３４３】
これにより、例えば、ステップＳ２３６−１の処理の後、動きベクトル復号部２３１−１は、ステップＳ２３６−２の動きベクトル復号部２３１−２によるＰＵ-1に対する処理が終わってなくても、すぐに、次のＰＵ0に対する処理を行うことができる。すなわち、図１３を参照して上述したように、パイプラインによる処理を行うことが可能になる。
【０３４４】
以上のように各処理を行うことにより、画像復号装置２００は、画像符号化装置１００が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
【０３４５】
すなわち、画像復号装置２００においては、当該ＰＵの動きベクトルの復号処理、すなわち、予測動きベクトルの再構築処理において、当該ＰＵの右上に位置するＰＵの動きベクトル情報の使用が禁止される。
【０３４６】
これにより、パイプラインによる処理を効率よく行うことが可能となり、処理効率を向上させることができる。
【０３４７】
＜３．第３の実施の形態＞
［ＬＣＵ単位の制御］
なお、上記説明においては、ＰＵを制御の単位として説明してきたが、ＰＵではなく、ＬＣＵを制御の単位とすることもできる。すなわち、最大符号化単位であるＬＣＵ単位で、ＬＣＵの右上に位置するＰＵ（図８のＢ0）の使用を禁止するようにしてもよい。
【０３４８】
再度、図８を参照して説明すると、当該ＰＵの上および右の境界がＬＣＵ境界となる場合のみ、Ｂ0の使用が禁止される。すなわち、当該ＰＵを含むＬＣＵにおいて、当該ＰＵがＬＣＵの右上に位置するＰＵである場合のみ、Ｂ0の使用が禁止される。
【０３４９】
これにより、ＬＣＵ単位でパイプライン処理を行うことが可能となる。
【０３５０】
なお、ＬＣＵ単位の場合、当該ＰＵの境界がＬＣＵの境界であるか否かを判定する判定部は、隣接動きベクトル情報設定部１２２および２２２内に構成されてもよいし、動きベクトル符号化部１３１および動きベクトル復号部２３１内に構成されてもよい。また、当該ＰＵの境界がＬＣＵの境界であるか否かを判定する処理を、空間隣接動きベクトル内蔵バッファ１４１および２４５が判定するようにしてもよい。
【０３５１】
再度、図１３を参照して説明する。図１３に示された例は、ＰＵが同じサイズである場合の例であるが、実際には、ＰＵは、様々なサイズで設定される可能性が高い。したがって、ＰＵ単位で制御を行う場合、各ＰＵの処理時間の長さ、例えば、図１３に示されたＰＵ-2の処理時間の長さ（t0乃至t2）、ＰＵ-1の処理時間の長さ（t1乃至t5）、およびＰＵ0の処理時間の長さ（t4乃至t8）にばらつき（変動）が生じる恐れがある。
【０３５２】
これに対して、ＬＣＵ単位で制御を行う場合、ＬＣＵの処理時間の長さは、同じになる（ばらつきがなくなる）。したがって、ＬＣＵ単位で処理を制御する場合には、ＰＵ単位で処理を制御する場合より、パイプライン処理のコントロールが容易になる。
【０３５３】
なお、典型的な例として、ＬＣＵを用いて上述したが、上述した処理時間の長さにばらつきがなくなる単位であれば、ＬＣＵ以外の単位でも、本技術は適用可能である。
【０３５４】
また、右上領域の動きベクトルの使用を禁止する処理を、予測単位（ＰＵ単位）で行うか、または最大符号化単位（ＬＣＵ単位）で行うかを識別する識別情報を設定することも可能である。
【０３５５】
この識別情報は、符号化側において、コントロール（制御）したい単位で設定され、符号化ストリームとともに伝送される。例えば、スライス単位でコントロールしたい場合は、スライスヘッダにこの識別情報が設定される。例えば、ピクチャ単位でコントロールしたい場合には、ピクチャパラメータセットにこの識別情報が設定される。シーケンス単位でコントロールしたい場合には、シーケンスパラメータセットにこの識別情報が設定される。
【０３５６】
そして、復号側において、符号化ストリームとともにその識別情報が受け取られて、受け取られた識別情報に従って、右上領域の動きベクトルの使用が禁止される。
【０３５７】
以上のように、予測動きベクトルの再構築処理において、対象領域（ＰＵまたはＬＣＵ）の右上に位置するＰＵの動きベクトル情報の使用が禁止される。
【０３５８】
これにより、パイプラインによる処理を効率よく行うことが可能となり、処理効率を向上させることができる。
【０３５９】
なお、上記説明においては、HEVCに準ずる場合を例に説明してきたが、本技術は、AMVPやマージモードによる動きベクトル情報の符号化処理および復号処理を行う装置であれば、他の符号化方式を用いる装置でも適用することができる。
【０３６０】
また、本技術は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３６１】
＜４．第４の実施の形態＞
［多視画像点符号化・多視点画像復号への適用］
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図２３は、多視点画像符号化方式の一例を示す。
【０３６２】
図２３に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の１つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
【０３６３】
図２３のような多視点画像符号化を行う場合、各ビュー（同一ビュー）において、予測ベクトルの生成または再構築における所定の領域（すなわち、上述した対象領域の右上に位置する右上領域）の動きベクトル情報の使用禁止を設定することができる。また、各ビュー(異なるビュー)において、他のビューで設定された所定の領域の動きベクトル情報の使用禁止を適用することもできる。
【０３６４】
この場合、ベースビューにおいて設定された動きベクトルの使用禁止が、少なくとも１つのノンベースビューで適用される。あるいは、例えば、ノンベースビュー(view_id=i)において設定された動きベクトルの使用禁止が、ベースビューおよびノンベースビュー(view_id=j)の少なくともどちらか一方で適用される。
【０３６５】
さらに、各ビュー（同一ビュー）において、所定の領域の動きベクトルの使用を禁止する処理を、予測単位で行うか、または最大符号化単位で行うかを識別する識別情報を設定することもできる。また、各ビュー（異なるビュー）において、他のビューで設定された所定の領域の動きベクトルの使用を禁止する処理を、予測単位で行うか、または最大符号化単位で行うかを識別する識別情報を共有することもできる。
【０３６６】
この場合、ベースビューにおいて設定された識別情報が、少なくとも１つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=i)において設定された識別情報が、ベースビューおよびノンベースビュー(view_id=j)の少なくともどちらか一方で用いられる。
【０３６７】
これにより、パイプラインによる処理を効率よく行うことが可能となり、処理効率を向上させることができる。
【０３６８】
［多視点画像符号化装置］
図２４は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図２４に示されるように、多視点画像符号化装置６００は、符号化部６０１、符号化部６０２、および多重化部６０３を有する。
【０３６９】
符号化部６０１は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部６０２は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部６０３は、符号化部６０１において生成されたベースビュー画像符号化ストリームと、符号化部６０２において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
【０３７０】
この多視点画像符号化装置６００の符号化部６０１および符号化部６０２に対して、画像符号化装置１００（図１）を適用することができる。この場合、多視点画像符号化装置６００は、符号化部６０１が設定した識別情報と、符号化部６０２が設定した識別情報とを設定して伝送させる。
【０３７１】
なお、上述したように符号化部６０１が設定した識別情報を、符号化部６０１および符号化部６０２で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部６０２が設定した識別情報を、符号化部６０１および符号化部６０２で共有して用いるように設定して伝送させるようにしてもよい。
【０３７２】
［多視点画像復号装置］
図２５は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図２５に示されるように、多視点画像復号装置６１０は、逆多重化部６１１、復号部６１２、および復号部６１３を有する。
【０３７３】
逆多重化部６１１は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部６１２は、逆多重化部６１１により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部６１３は、逆多重化部６１１により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
【０３７４】
この多視点画像復号装置６１０の復号部６１２および復号部６１３に対して、画像復号装置２００（図１８）を適用することができる。この場合、多視点画像復号装置６１０は、符号化部６０１が設定し、復号部６１２が復号した識別情報と、符号化部６０２が設定し、復号部６１３が復号した識別情報を用いて処理を行う。
【０３７５】
なお、上述したように符号化部６０１（または、符号化６０２）が設定した識別情報を、符号化部６０１および符号化部６０２で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置６１０においては、符号化部６０１（または、符号化６０２）が設定し、復号部６１２（または復号部６１３）が復号した識別情報を用いて処理が行われる。
【０３７６】
＜５．第５の実施の形態＞
［階層画像点符号化・階層画像復号への適用］
上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図２６は、多視点画像符号化方式の一例を示す。
【０３７７】
図２６に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の１つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
【０３７８】
図２６のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、予測ベクトルの生成または再構築における所定の領域の動きベクトル情報の使用禁止を設定することができる。また、各レイヤ(異なるレイヤ)において、他のレイヤで設定された所定の領域の動きベクトル情報の使用禁止を適用することができる。
【０３７９】
この場合、ベースレイヤにおいて設定された動きベクトルの使用禁止が、少なくとも１つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer_id=i)において設定された動きベクトルの使用禁止が、ベースレイヤおよびノンベースレイヤ(layer_id=j)の少なくともどちらか一方で用いられる。
【０３８０】
さらに、各レイヤ（同一レイヤ）において、所定の領域の動きベクトルの使用を禁止する処理を、予測単位で行うか、または最大符号化単位で行うかを識別する識別情報を設定することもできる。また、各レイヤ（異なるレイヤ）において、他のビューで設定された所定の領域の動きベクトルの使用を禁止する処理を、予測単位で行うか、または最大符号化単位で行うかを識別する識別情報を共有することもできる。
【０３８１】
この場合、ベースレイヤにおいて設定された識別情報が、少なくとも１つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer_id=i)において設定された識別情報が、ベースレイヤおよびノンベースレイヤ(layer_id=j)の少なくともどちらか一方で用いられる。
【０３８２】
これにより、パイプラインによる処理を効率よく行うことが可能となり、処理効率を向上させることができる。
【０３８３】
［階層画像符号化装置］
図２７は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図２７に示されるように、階層画像符号化装置６２０は、符号化部６２１、符号化部６２２、および多重化部６２３を有する。
【０３８４】
符号化部６２１は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部６２２は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部６２３は、符号化部６２１において生成されたベースレイヤ画像符号化ストリームと、符号化部６２２において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
【０３８５】
この階層画像符号化装置６２０の符号化部６２１および符号化部６２２に対して、画像符号化装置１００（図１）を適用することができる。この場合、階層画像符号化装置６２０は、符号化部６２１が設定した識別情報と、符号化部６２２が設定した識別情報とを設定して伝送させる。
【０３８６】
なお、上述したように符号化部６２１が設定した識別情報を、符号化部６２１および符号化部６２２で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部６２２が設定した識別情報を、符号化部６２１および符号化部６２２で共有して用いるように設定して伝送させるようにしてもよい。
【０３８７】
［階層画像復号装置］
図２８は、上述した階層画像復号を行う階層画像復号装置を示す図である。図２８に示されるように、階層画像復号装置６３０は、逆多重化部６３１、復号部６３２、および復号部６３３を有する。
【０３８８】
逆多重化部６３１は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部６３２は、逆多重化部６３１により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部６３３は、逆多重化部６３１により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
【０３８９】
この階層画像復号装置６３０の復号部６３２および復号部６３３に対して、画像復号装置２００（図１８）を適用することができる。この場合、階層画像復号装置６３０は、符号化部６２１が設定し、復号部６３２が復号した識別情報と、符号化部６２２が設定し、復号部６３３が識別情報を用いて処理を行う。
【０３９０】
なお、上述したように符号化部６２１（または、符号化６２２）が設定した識別情報を、符号化部６２１および符号化部６２２で共有して用いるように設定して伝送されている場合がある。この場合、階層画像復号装置６３０においては、符号化部６２１（または、符号化６２２）が設定し、復号部６３２（または、復号部６３３）が復号した識別情報を用いて処理が行われる。
【０３９１】
＜６．第６の実施の形態＞
［コンピュータ］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３９２】
図２９において、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３９３】
コンピュータ８００において、CPU（Central Processing Unit）８０１，ROM（Read Only Memory）８０２，RAM（Random Access Memory）８０３は、バス８０４により相互に接続されている。
【０３９４】
バス８０４には、さらに、入出力インタフェース８０５が接続されている。入出力インタフェース８０５には、入力部８０６、出力部８０７、記憶部８０８、通信部８０９、及びドライブ８１０が接続されている。
【０３９５】
入力部８０６は、キーボード、マウス、マイクロホンなどよりなる。出力部８０７は、ディスプレイ、スピーカなどよりなる。記憶部８０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部８０９は、ネットワークインタフェースなどよりなる。ドライブ８１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア８１１を駆動する。
【０３９６】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８０８に記憶されているプログラムを、入出力インタフェース８０５及びバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。
【０３９７】
コンピュータ８００（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３９８】
コンピュータでは、プログラムは、リムーバブルメディア８１１をドライブ８１０に装着することにより、入出力インタフェース８０５を介して、記憶部８０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部８０９で受信し、記憶部８０８にインストールすることができる。その他、プログラムは、ROM８０２や記憶部８０８に、あらかじめインストールしておくことができる。
【０３９９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４００】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４０１】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０４０２】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４０３】
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０４０４】
＜７．応用例＞
［第１の応用例：テレビジョン受像機］
図３０は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０４０５】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４０６】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０４０７】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０４０８】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０４０９】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０４１０】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０４１１】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４１２】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０４１３】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０４１４】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０４１５】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置９００での画像の復号に際し、動きベクトルの復号において、パイプライン処理により処理効率を向上させることができることができる。
【０４１６】
［第２の応用例：携帯電話機］
図３１は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０４１７】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０４１８】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０４１９】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４２０】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０４２１】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Unallocated Space Bitmap）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０４２２】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０４２３】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４２４】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際し、動きベクトルの符号化または復号において、パイプライン処理により処理効率を向上させることができる。
【０４２５】
［第３の応用例：記録再生装置］
図３２は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０４２６】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０４２７】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０４２８】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０４２９】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０４３０】
HDD９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０４３１】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVDディスク（DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０４３２】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０４３３】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０４３４】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０４３５】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０４３６】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０４３７】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際し、動きベクトルの符号化または復号において、パイプライン処理により処理効率を向上させることができる。
【０４３８】
［第４の応用例：撮像装置］
図３３は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０４３９】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０４４０】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、及び制御部９７０を相互に接続する。
【０４４１】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０４４２】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０４４３】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０４４４】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０４４５】
外部インタフェース９６６は、例えばUSB入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０４４６】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０４４７】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０４４８】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０４４９】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際し、動きベクトルの符号化または復号において、パイプライン処理により処理効率を向上させることができる。
【０４５０】
なお、本明細書では、予測動きベクトルのインデックス、差分動きベクトル情報、および右上領域の動きベクトルの使用を禁止する単位を識別する識別情報などの各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０４５１】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０４５２】
なお、本技術は以下のような構成も取ることができる。
（１）  画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する動きベクトル復号部と
を備える画像処理装置。
（２）  前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行う
前記（１）に記載の画像処理装置。
（３）  前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する
前記（１）または（２）に記載の画像処理装置。
（４）  前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成する
前記（１）または（２）に記載の画像処理装置。
（５）  前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである
前記（４）に記載の画像処理装置。
（６）  前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである
前記（４）に記載の画像処理装置。
（７）  前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止する
前記（１）乃至（６）のいずれかに記載の画像処理装置。
（８）  前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部を
さらに備え、
前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止する
前記（７）に記載の画像処理装置。
（９）  前記隣接動きベクトル情報設定部は、前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報に従って、前記右上ブロックの動きベクトルの使用を禁止する
前記（７）に記載の画像処理装置。
（１０）  画像処理装置が、
画像のカレントブロックの動きベクトルの復号に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを復号する
画像処理方法。
（１１）  画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止する隣接動きベクトル情報設定部と、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、前記隣接動きベクトル情報設定部により使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する予測動きベクトル生成部と、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する動きベクトル符号化部と
を備える画像処理装置。
（１２）  前記予測動きベクトル生成部は、前記カレントブロックに対する空間予測ベクトルの生成処理と、前記カレントブロックのスキャン順に次のブロックに対する空間予測ベクトルの生成処理とをパイプラインにより行う
前記（１１）に記載の画像処理装置。
（１３）  前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成する
前記（１１）または（１２）に記載の画像処理装置。
（１４）  前記予測動きベクトル生成部は、前記カレントブロックの空間隣接ブロックであって、前記カレントブロックの上部に面で接する上部ブロックを対象として、右端に位置する第１のブロックの動きベクトルと、前記上部ブロックを対象として、前記第１のブロック以外の第２のブロックの動きベクトルとを用いて、前記カレントブロックの空間予測ベクトルを生成する
前記（１１）または（１２）に記載の画像処理装置。
（１５）  前記第２のブロックは、前記上部ブロックを対象として、前記第１のブロックの左隣に位置するブロックである
前記（１４）に記載の画像処理装置。
（１６）  前記第２のブロックは、前記上部ブロックを対象として、前記カレントブロックの水平方向の長さの中央付近に位置するブロックである
前記（１４）に記載の画像処理装置。
（１７）  前記隣接動きベクトル情報設定部は、最大符号化単位で、前記右上ブロックの動きベクトルの使用を禁止する
前記（１１）乃至（１６）のいずれかに記載の画像処理装置。
（１８）  前記カレントブロックの境界が最大符号化単位の境界であるかを判定する境界判定部を
さらに備え、
前記隣接動きベクトル情報設定部は、前記境界判定部により最大符号化単位の境界であるとされた場合のみ、前記右上ブロックの動きベクトルの使用を禁止する
前記（１７）に記載の画像処理装置。
（１９）  前記右上ブロックの動きベクトルの使用を予測単位で禁止するか、または前記右上ブロックの動きベクトルの使用を最大符号化単位で禁止するかを識別する識別情報を設定する識別情報設定部と、
前記識別情報設定部により設定された識別情報と、符号化ストリームとを伝送する伝送部と
をさらに備える前記（１７）に記載の画像処理装置。
（２０）  画像処理装置が、
画像のカレントブロックの動きベクトルの符号化に用いられる予測動きベクトルを対象として、空間予測動きベクトルを生成する際に、前記カレントブロックの右上に隣接して位置する右上ブロックの動きベクトルの使用を禁止し、
前記カレントブロックの空間的に隣接して位置する空間隣接ブロックの動きベクトルを対象として、使用が禁止された前記右上ブロックの動きベクトル以外の動きベクトルを用いて、前記カレントブロックの空間予測ベクトルを生成し、
前記カレントブロックの予測動きベクトルを用いて、前記カレントブロックの動きベクトルを符号化する
画像処理方法。
【符号の説明】
【０４５３】
１００  画像符号化装置，  １０６  可逆符号化部，  １１５  動き予測・補償部，  １２１  動きベクトル符号化部，  １２２  隣接動きベクトル情報設定部，  １３１，１３１−１，１３１−２  動きベクトル符号化部，  １３２  時間隣接動きベクトル共有バッファ，１３３  空間隣接動きベクトル共有バッファ，  １４１，１４１−１，１４１−２  空間隣接動きベクトル内蔵バッファ，  １４２，１４２−１，１４２−２  候補予測動きベクトル生成部，  １４３，１４３−１，１４３−２  コスト関数値算出部，  １４４，１４４−１，１４４−２  最適予測動きベクトル決定部，  ２００  画像復号装置，  ２０２  可逆復号部，    ２１２  動き予測・補償部，  ２２１  動きベクトル復号部，  ２２２  隣接動きベクトル情報設定部，  ２３１，２３１−１，２３１−２  動きベクトル符号化部，  ２３２  時間隣接動きベクトル共有バッファ，２３３  空間隣接動きベクトル共有バッファ，  ２４１，２４１−１，２４１−２  予測動きベクトル情報バッファ，  ２４２，２４２−１，２４２−２    差分動きベクトル情報バッファ，  ２４３，２４３−１，２４３−２  予測動きベクトル再構築部，  ２４４，２４４−１，２４４−２  動きベクトル再構築部，  ２４５，２４５−１，２４５−２  空間隣接動きベクトルバッファ
【図１】
0005936081.tif 000009
【図２】
0005936081.tif 000010
【図３】
0005936081.tif 000011
【図４】
0005936081.tif 000012
【図５】
0005936081.tif 000013
【図６】
0005936081.tif 000014
【図７】
0005936081.tif 000015
【図８】
0005936081.tif 000016
【図９】
0005936081.tif 000017
【図１０】
0005936081.tif 000018
【図１１】
0005936081.tif 000019
【図１２】
0005936081.tif 000020
【図１３】
0005936081.tif 000021
【図１４】
0005936081.tif 000022
【図１５】
0005936081.tif 000023
【図１６】
0005936081.tif 000024
【図１７】
0005936081.tif 000025
【図１８】
0005936081.tif 000026
【図１９】
0005936081.tif 000027
【図２０】
0005936081.tif 000028
【図２１】
0005936081.tif 000029
【図２２】
0005936081.tif 000030
【図２３】
0005936081.tif 000031
【図２４】
0005936081.tif 000032
【図２５】
0005936081.tif 000033
【図２６】
0005936081.tif 000034
【図２７】
0005936081.tif 000035
【図２８】
0005936081.tif 000036
【図２９】
0005936081.tif 000037
【図３０】
0005936081.tif 000038
【図３１】
0005936081.tif 000039
【図３２】
0005936081.tif 000040
【図３３】
0005936081.tif 000041