(57)【要約】【課題】ラインメモリの冗長化を抑制しながら、より大きいブロックを扱うことを可能とすること。【解決手段】サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状を判定する形状判定部と、上記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定する動きベクトル設定部と、を備える画像処理装置を提供する。【選択図】図２
2012019490.tif 000002
【特許請求の範囲】
【請求項１】
サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状を判定する形状判定部と、
前記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定する動きベクトル設定部と、
を備える画像処理装置。
【請求項２】
前記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む、請求項１に記載の画像処理装置。
【請求項３】
前記形状判定部は、前記境界値よりも大きいサイズを有するブロックの形状は非正方形であり、前記境界値よりも小さいサイズを有するブロックの形状は正方形であると判定する、請求項２に記載の画像処理装置。
【請求項４】
画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形である、請求項３に記載の画像処理装置。
【請求項５】
画像内の各ブロックの形状は、正方形又は長方形であり、
前記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む、
請求項１に記載の画像処理装置。
【請求項６】
前記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、
前記比率情報は、前記レイヤごとに前記比率を定義する情報である、
請求項５に記載の画像処理装置。
【請求項７】
前記動きベクトル設定部は、画像内に設定した各ブロックのサイズを示す情報と当該ブロックにおける予測単位の配置のパターンを指定する予測モード情報とをブロックごとに出力する、請求項１に記載の画像処理装置。
【請求項８】
画像内の各ブロックの形状は、正方形又は長方形であり、
正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる、
請求項１に記載の画像処理装置。
【請求項９】
前記形状判定情報は、ユーザにより入力可能である、請求項１に記載の画像処理装置。
【請求項１０】
前記画像処理装置は、前記画像を符号化した符号化ストリームと共に前記形状判定情報を伝送する伝送手段、をさらに備える、請求項１に記載の画像処理装置。
【請求項１１】
前記画像処理装置は、前記画像を符号化した符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに前記形状判定情報を多重化する符号化部、をさらに備える、請求項１０に記載の画像処理装置。
【請求項１２】
画像を処理するための画像処理方法であって、
サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状を判定するステップと、
判定された形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定するステップと、
を含む画像処理方法。
【請求項１３】
サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定する形状判定部と、
前記形状判定部により判定される各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する予測単位判定部と、
前記予測単位判定部により判定される予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画素値を生成する予測部と、
を備える画像処理装置。
【請求項１４】
前記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む、請求項１３に記載の画像処理装置。
【請求項１５】
画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形である、請求項１４に記載の画像処理装置。
【請求項１６】
画像内の各ブロックの形状は、正方形又は長方形であり、
前記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む、
請求項１３に記載の画像処理装置。
【請求項１７】
前記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、
前記比率情報は、前記レイヤごとに前記比率を定義する情報である、
請求項１６に記載の画像処理装置。
【請求項１８】
前記画像処理装置は、前記画像が符号化されている符号化ストリームに多重化されたシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダから前記形状判定情報を取得する復号化部、をさらに備える、請求項１３に記載の画像処理装置。
【請求項１９】
前記画像処理装置は、各ブロックのサイズを判定するための情報を符号化ストリームに含まれるブロックヘッダから取得する復号化部、をさらに備える、請求項１３に記載の画像処理装置。
【請求項２０】
画像内の各ブロックの形状は、正方形又は長方形であり、
正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる、
請求項１３に記載の画像処理装置。
【請求項２１】
前記形状判定情報は、画像を符号化した装置においてユーザ入力に基づいて取得された情報である、請求項１３に記載の画像処理装置。
【請求項２２】
前記画像処理装置は、前記画像が符号化されている符号化ストリームと共に前記形状判定情報を受信する伝送手段、をさらに備える、請求項１３に記載の画像処理装置。
【請求項２３】
画像を処理するための画像処理方法であって、
サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定するステップと、
判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定するステップと、
判定された予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画素値を生成するステップと、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、デジタル画像を効率的に伝送し又は蓄積することを目的とし、画像に特有の冗長性を利用して、例えば離散コサイン変換などの直交変換と動き補償とにより画像の情報量を圧縮する圧縮技術が普及している。例えば、ＩＴＵ−Ｔの策定したＨ．２６ｘ標準又はＭＰＥＧ（Moving  Picture  Experts  Group）の策定したＭＰＥＧ−ｙ標準などの標準技術に準拠した画像符号化装置及び画像復号化装置は、放送局による画像の蓄積及び配信、並びに一般ユーザによる画像の受信及び蓄積など、様々な場面で広く利用されている。
【０００３】
ＭＰＥＧ２（ISO/IEC  13818-2）は、汎用画像符号化方式として定義されたＭＰＥＧ−ｙ標準の１つである。ＭＰＥＧ２は、飛び越し走査（インターレース）画像及び順次走査（ノン・インターレース）画像の双方を扱うことが可能であり、標準解像度のデジタル画像に加えて、高精細画像をも対象としている。ＭＰＥＧ２は、現在、プロフェッショナル用途及びコンシューマー用途を含む広範なアプリケーションに広く用いられている。ＭＰＥＧ２によれば、例えば、７２０×４８０画素を持つ標準解像度の飛び越し走査画像には４〜８Ｍｂｐｓの符号量（ビットレート）、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像には１８〜２２Ｍｂｐｓの符号量を割り当てることで、高い圧縮率及び良好な画質を共に実現することができる。
【０００４】
ＭＰＥＧ２は、主として、放送の用途に適合する高画質符号化を目的としており、ＭＰＥＧ１よりも低い符号量（ビットレート）、即ちより高い圧縮率には対応するものではなかった。しかし、近年の携帯端末の普及により、高い圧縮率を可能とする符号化方式のニーズは高まっている。そこで、新たにＭＰＥＧ４符号化方式の標準化が進められた。ＭＰＥＧ４符号化方式の一部である画像符号化方式に関しては、１９９８年１２月に、その規格が国際標準（ISO/IEC  14496-2）として承認された。
【０００５】
Ｈ．２６ｘ標準（ITU-T  Q6/16  VCEG）は、当初、テレビ電話又はテレビ会議などの通信の用途に適合する符号化を目的として策定された標準規格である。Ｈ．２６ｘ標準は、ＭＰＥＧ−ｙ標準と比較して、符号化及び復号化により多くの演算量を要する一方、より高い圧縮率を実現できることが知られている。また、ＭＰＥＧ４の活動の一環としてのJoint  Model  of  Enhanced-Compression  Video  Codingでは、Ｈ．２６ｘ標準をベースとしながら新たな機能をも取り入れることで、より高い圧縮率を実現可能な標準規格が策定された。この標準規格は、２００３年３月に、Ｈ．２６４及びＭＰＥＧ−４  Ｐａｒｔ１０（Advanced  Video  Coding；ＡＶＣ）という名称で国際標準となった。
【０００６】
また、昨今、例えば、４０００×２０００画素といったサイズの大きい画像の圧縮、又はインターネットのような伝送容量に制限のある環境におけるハイビジョン画像の配信などを目的とする、圧縮率をさらに向上させた符号化方式についてのニーズも認識されている。そこで、非特許文献１は、マクロブロックのサイズをＭＰＥＧ２又はＨ．２６４／ＡＶＣよりも大きいサイズ（例えば３２×３２画素）に設定してイントラ予測を行うことを提案している。また、非特許文献２は、マクロブロックのサイズをＭＰＥＧ２又はＨ．２６４／ＡＶＣよりも大きいサイズ（例えば３２×３２画素）に設定してインター予測を行うことを提案している。より大きいサイズを有するマクロブロックを用いて動き予測を行うことで、動き予測によるデータ量の圧縮の効果が高められるため、画像の圧縮率はさらに向上し得る。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Sung-Chang  Lim,  Hahyun  Lee,  Jinho  Lee,  Jongho  Kim,  Haechul  Choi,  Seyoon  Jeong,  Jin  Soo  Choi、“Intra  coding  using  extended  block  size”、  （ITU−Telecommunications  Standardization  Sector,  Study  Group16  Question6,  Video  Coding  Experts  Group,  38th  Meeting:  London,  UK/Geneva,  CH,  1-8  July,2009,D）
【非特許文献２】Qualcomm  Inc、  “Video  Coding  Using  Extended  Block1  Sizes”  （STUDY  GROUP16-CONTRIBUTION  123,  ITU−Telecommunications  Standardization  Sector  2009年1月）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、マクロブロックの最大サイズが拡張されるということは、画像の符号化又は復号化のために要するラインメモリのサイズも大きくなることを意味する。例えば、Ｈ．２６４／ＡＶＣでは、１６×１６画素の最大マクロブロック（ＬＭＢ：Largest  Macro  Block）が使用され得ることから、符号化又は復号化のために要するラインメモリのサイズは１６画素である。これに対し、上記非特許文献１又は２により提案された手法では、３２×３２画素の最大マクロブロックが使用され得ることから、３２画素のサイズのラインメモリが必要である。しかし、ラインメモリのサイズを徒に冗長化することは、ハードウェアのコストの観点において不利である。また、メモリリソースに制約のあるハードウェアにとっては、ラインメモリを可能な限り拡張することなく、高い圧縮率で符号化された画像を再生できることがより望ましい。
【０００９】
そこで、本発明は、ラインメモリの冗長化を抑制しながら、より大きいブロックを扱うことを可能とする、画像処理装置及び画像処理方法を提供しようとするものである。
【課題を解決するための手段】
【００１０】
本発明のある実施形態によれば、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状を判定する形状判定部と、上記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定する動きベクトル設定部と、を備える画像処理装置が提供される。
【００１１】
上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
【００１２】
また、上記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含んでもよい。
【００１３】
また、上記形状判定部は、上記境界値よりも大きいサイズを有するブロックの形状は非正方形であり、上記境界値よりも小さいサイズを有するブロックの形状は正方形であると判定してもよい。
【００１４】
また、画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形であってもよい。
【００１５】
また、画像内の各ブロックの形状は、正方形又は長方形であり、上記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含んでもよい。
【００１６】
また、上記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、上記比率情報は、上記レイヤごとに上記比率を定義する情報であってもよい。
【００１７】
また、上記動きベクトル設定部は、画像内に設定した各ブロックのサイズを示す情報と当該ブロックにおける予測単位の配置のパターンを指定する予測モード情報とをブロックごとに出力してもよい。
【００１８】
また、画像内の各ブロックの形状は、正方形又は長方形であり、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なってもよい。
【００１９】
また、上記形状判定情報は、ユーザにより入力可能であってもよい。
【００２０】
また、上記画像処理装置は、上記画像を符号化した符号化ストリームと共に上記形状判定情報を伝送する伝送手段、をさらに備えてもよい。
【００２１】
また、上記画像処理装置は、上記画像を符号化した符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに上記形状判定情報を多重化する符号化部、をさらに備えてもよい。
【００２２】
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法であって、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状を判定するステップと、判定された形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定するステップと、を含む画像処理方法が提供される。
【００２３】
また、本発明の別の実施形態によれば、サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定する形状判定部と、上記形状判定部により判定される各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する予測単位判定部と、上記予測単位判定部により判定される予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画素値を生成する予測部と、を備える画像処理装置が提供される。
【００２４】
上記画像処理装置は、典型的には、画像を復号化する画像復号化装置として実現され得る。
【００２５】
また、上記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含んでもよい。
【００２６】
また、画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形であってもよい。
【００２７】
また、画像内の各ブロックの形状は、正方形又は長方形であり、上記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含んでもよい。
【００２８】
また、上記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、上記比率情報は、上記レイヤごとに上記比率を定義する情報であってもよい。
【００２９】
また、上記画像処理装置は、上記画像が符号化されている符号化ストリームに多重化されたシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダから上記形状判定情報を取得する復号化部、をさらに備えてもよい。
【００３０】
また、上記画像処理装置は、各ブロックのサイズを判定するための情報を符号化ストリームに含まれるブロックヘッダから取得する復号化部、をさらに備えてもよい。
【００３１】
また、画像内の各ブロックの形状は、正方形又は長方形であり、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なってもよい。
【００３２】
また、上記形状判定情報は、画像を符号化した装置においてユーザ入力に基づいて取得された情報であってもよい。
【００３３】
また、上記画像処理装置は、上記画像が符号化されている符号化ストリームと共に上記形状判定情報を受信する伝送手段、をさらに備えてもよい。
【００３４】
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法であって、サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定するステップと、判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定するステップと、判定された予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画素値を生成するステップと、を含む画像処理方法が提供される。
【発明の効果】
【００３５】
以上説明したように、本発明に係る画像処理装置及び画像処理方法によれば、ラインメモリの冗長化を抑制しながら、より大きいブロックを扱うことが可能となる。
【図面の簡単な説明】
【００３６】
【図１】一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図２】一実施形態に係る画像符号化装置の動き探索部の詳細な構成の一例を示すブロック図である。
【図３】形状判定情報の第１の実施例について説明するための説明図である。
【図４】形状判定情報の第１の実施例により定義され得る符号化ブロックの階層構造の第１の例を示す説明図である。
【図５】形状判定情報の第１の実施例により定義され得る符号化ブロックの階層構造の第２の例を示す説明図である。
【図６】形状判定情報の第１の実施例により定義され得る符号化ブロックの階層構造の第３の例を示す説明図である。
【図７】正方形のブロックにおける予測単位の配置について説明するための説明図である。
【図８】２Ｎ×Ｎの形状を有するブロックにおける予測単位の配置について説明するための説明図である。
【図９】形状判定情報の第１の実施例における動きベクトルの探索範囲について説明するための説明図である。
【図１０】２Ｎ×Ｎの形状を有するブロックにおける変換単位の配置について説明するための説明図である。
【図１１】２Ｎ×Ｎの形状を有する変換単位についての符号化ブロックパターンの一例を示す説明図である。
【図１２】形状判定情報の第２の実施例について説明するための説明図である。
【図１３】形状判定情報の第２の実施例により定義され得る符号化ブロックの階層構造の一例を示す説明図である。
【図１４】４Ｎ×Ｎの形状を有するブロックにおける予測単位の配置について説明するための説明図である。
【図１５】４Ｎ×Ｎの形状を有するブロックに設定され得る変換単位について説明するための説明図である。
【図１６】４Ｎ×Ｎの形状を有するブロックの符号化ブロックパターンの一例を示す説明図である。
【図１７】形状判定情報の第３の実施例について説明するための説明図である。
【図１８】形状判定情報の第３の実施例により定義され得る符号化ブロックの階層構造の第１の例を示す説明図である。
【図１９】形状判定情報の第３の実施例により定義され得る符号化ブロックの階層構造の第２の例を示す説明図である。
【図２０】形状判定情報の第３の実施例により定義され得る符号化ブロックの階層構造の第３の例を示す説明図である。
【図２１】形状判定情報の第３の実施例により定義され得る符号化ブロックの階層構造の第４の例を示す説明図である。
【図２２】一実施形態に係る動き探索処理の流れの一例を示すフローチャートの前半部である。
【図２３】一実施形態に係る動き探索処理の流れの一例を示すフローチャートの後半部である。
【図２４】一実施形態に係る画像復号化装置の構成の一例を示すブロック図である。
【図２５】一実施形態に係る画像復号化装置の動き補償部の詳細な構成の一例を示すブロック図である。
【図２６】一実施形態に係る動き補償処理の流れの一例を示すフローチャートである。
【図２７】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図２８】携帯電話機の概略的な構成の一例を示すブロック図である。
【図２９】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３０】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００３８】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
１．一実施形態に係る画像符号化装置の構成例
２．形状判定情報の例
３．一実施形態に係る符号化時の処理の流れ
４．一実施形態に係る画像復号化装置の構成例
５．一実施形態に係る復号化時の処理の流れ
６．応用例
７．まとめ
【００３９】
＜１．一実施形態に係る画像符号化装置の構成例＞
まず、図１及び図２を用いて、本発明の一実施形態に係る画像符号化装置の構成例について説明する。
【００４０】
［１−１．全体的な構成例］
図１は、本発明の一実施形態に係る画像符号化装置１０の構成の一例を示すブロック図である。図１を参照すると、画像符号化装置１０は、Ａ／Ｄ（Analogue  to  Digital）変換部１１、並べ替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、デブロックフィルタ２４、フレームメモリ２５、セレクタ２６、イントラ予測部３０、動き探索部４０、及びモード選択部５０を備える。
【００４１】
Ａ／Ｄ変換部１１は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを画面並べ替えバッファ１２へ出力する。
【００４２】
並べ替えバッファ１２は、Ａ／Ｄ変換部１１から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group  of  Pictures）構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部１３、イントラ予測部３０及び動き探索部４０へ出力する。
【００４３】
減算部１３には、並べ替えバッファ１２から入力される画像データ、及び後に説明するモード選択部５０により選択される予測画像データが供給される。減算部１３は、並べ替えバッファ１２から入力される画像データとモード選択部５０から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部１４へ出力する。
【００４４】
直交変換部１４は、減算部１３から入力される予測誤差データについて、後に説明する変換単位（Transform  Unit：ＴＵ）ごとに直交変換を行う。直交変換部１４により実行される直交変換は、例えば、離散コサイン変換（Discrete  Cosine  Transform：ＤＣＴ）又はカルーネン・レーベ変換などであってよい。直交変換部１４は、直交変換処理により取得される変換係数データを量子化部１５へ出力する。
【００４５】
量子化部１５には、直交変換部１４から入力される変換係数データ、及び後に説明するレート制御部１８からのレート制御信号が供給される。量子化部１５は、変換係数データを量子化し、量子化後の変換係数データ（以下、量子化データという）を可逆符号化部１６及び逆量子化部２１へ出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づいて量子化パラメータ（量子化スケール）を切り替えることにより、可逆符号化部１６に入力される量子化データのビットレートを変化させる。
【００４６】
可逆符号化部１６には、量子化部１５から入力される量子化データ、及び、後に説明するイントラ予測部３０又は動き探索部４０により生成されモード選択部５０により選択されるイントラ予測又はインター予測に関する情報が供給される。さらに、可逆符号化部１６には、動き探索部４０から出力されるブロックの形状に関する定義情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、後により詳細に説明するように、インター予測に関する情報は、例えば、画像内に設定されるブロックのサイズを指定するサイズ指定情報、各ブロック内の予測単位の配置を指定する予測モード情報、動きベクトル情報及び参照画像情報を含み得る。また、ブロックの形状に関する定義情報は、例えば、最大サイズ情報、最小サイズ情報、及び後述する形状判定情報を含み得る。
【００４７】
可逆符号化部１６は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部１６による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部１６は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ（例えばブロックヘッダ又はスライスヘッダなど）内に多重化する。さらに、可逆符号化部１６は、動き探索部４０から供給される定義情報を、符号化ストリームの例えばシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に多重化する。そして、可逆符号化部１６は、生成した符号化ストリームを蓄積バッファ１７へ出力する。
【００４８】
蓄積バッファ１７は、可逆符号化部１６から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ１７は、蓄積した符号化ストリームを、伝送路（又は画像符号化装置１０からの出力線）の帯域に応じたレートで出力する。
【００４９】
レート制御部１８は、蓄積バッファ１７の空き容量を監視する。そして、レート制御部１８は、蓄積バッファ１７の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部１５へ出力する。例えば、レート制御部１８は、蓄積バッファ１７の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部１８は、蓄積バッファ１７の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【００５０】
逆量子化部２１は、量子化部１５から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部２１は、逆量子化処理により取得される変換係数データを、逆直交変換部２２へ出力する。
【００５１】
逆直交変換部２２は、逆量子化部２１から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部２２は、復元した予測誤差データを加算部２３へ出力する。
【００５２】
加算部２３は、逆直交変換部２２から入力される復元された予測誤差データとモード選択部５０から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部２３は、生成した復号化画像データをデブロックフィルタ２４及びフレームメモリ２５へ出力する。
【００５３】
デブロックフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ２４は、加算部２３から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データをフレームメモリ２５へ出力する。
【００５４】
フレームメモリ２５は、加算部２３から入力される復号化画像データ、及びデブロックフィルタ２４から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
【００５５】
セレクタ２６は、イントラ予測のために使用されるフィルタリング前の復号化画像データをフレームメモリ２５から読み出し、読み出した復号化画像データを参照画像データとしてイントラ予測部３０に供給する。また、セレクタ２６は、インター予測のために使用されるフィルタリング後の復号化画像データをフレームメモリ２５から読み出し、読み出した復号化画像データを参照画像データとして動き探索部４０に供給する。
【００５６】
イントラ予測部３０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号化画像データに基づいて、Ｈ．２６４／ＡＶＣにより規定されている各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部３０は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部３０は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率（符号化効率）が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部３０は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部５０へ出力する。さらに、イントラ予測部３０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号化画像データに基づいて、Ｈ．２６４／ＡＶＣにより規定されている各イントラ予測モードよりもサイズの大きいブロックでイントラ予測処理を行ってもよい。その場合にも、イントラ予測部３０は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価し、最適なイントラ予測モードについてのイントラ予測に関する情報をモード選択部５０へ出力する。
【００５７】
動き探索部４０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号化画像データに基づいて、Ｈ．２６４／ＡＶＣにより規定されているマクロブロックよりも大きい最大のブロックサイズを用いた動き探索処理を行う。動き探索部４０は、例えば、設定可能な最大のブロック及び当該最大のブロックを分割した各ブロックに、それぞれ複数の予測モードで予測単位を配置する。また、動き探索部４０は、各予測モードにより配置される予測単位ごとに動きベクトルを決定する。次に、動き探索部４０は、各予測モードを所定のコスト関数を用いて評価する。そして、動き探索部４０は、コスト関数値が最小となるブロックサイズ及び予測モード、即ち圧縮率（符号化効率）が最も高くなるブロックサイズ及び予測モードを、最適なブロックサイズ及び最適な予測モードとして選択する。動き探索部４０による動き探索処理については、後により詳細に説明する。動き探索部４０は、コスト関数値が最小となるブロックサイズを指定するサイズ指定情報、予測単位の配置を指定する予測モード情報、動きベクトル情報、参照画像情報、予測画像データ、及びコスト関数値などのインター予測に関する情報を、モード選択部５０へ出力する。
【００５８】
モード選択部５０は、イントラ予測部３０から入力されるイントラ予測に関するコスト関数値と動き探索部４０から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部５０は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部５０は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３へ出力する。また、モード選択部５０は、インター予測を選択した場合には、インター予測に関するサイズ指定情報、予測モード情報、動きベクトル情報及び参照画像情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３へ出力する。
【００５９】
［１−２．動き探索部の構成例］
図２は、図１に示した画像符号化装置１０の動き探索部４０の詳細な構成の一例を示すブロック図である。図２を参照すると、動き探索部４０は、情報保持部４１、形状判定部４２、動きベクトル設定部４３、及び動き補償部４４を有する。
【００６０】
情報保持部４１は、半導体メモリなどの記憶媒体を用いて、最大サイズ情報、最小サイズ情報、及び形状判定情報を予め保持する。最大サイズ情報は、画像内に設定可能な最大のブロックのサイズを定義する情報である。例えば、Ｈ２６４／ＡＶＣにおいて画像内に設定可能な最大のブロックのサイズは１６×１６画素である。一方、より拡張された規格においては、最大サイズ情報は、１６を超える値（例えば、３２、６４又は１２８など）を示し得る。最小サイズ情報は、画像内に設定可能な最小のブロックのサイズを定義する情報である。
【００６１】
形状判定情報は、サイズに応じたブロックの形状を判定するために定義される情報である。即ち、形状判定情報は、あるブロックについてサイズが指定された場合に、形状判定情報とその指定されたサイズとに応じてブロックの形状を定めることのできる情報である。形状判定情報の具体的な例については、後に３つの例を挙げて詳細に説明する。
【００６２】
なお、本実施形態において、画像の符号化のために使用されるブロックのサイズは、最大のブロックからの分割回数により表され得る。例えば、分割回数がゼロであれば、当該ブロックのサイズは最大のブロックのサイズに等しい。最大のブロックからの分割回数が１以上であれば、当該ブロックのサイズは最大のブロックのサイズよりも小さい。本明細書では、各ブロックについての最大のブロックからの分割回数を、ブロック（あるいはレイヤ）の「深さ（depth）」という。
【００６３】
形状判定部４２は、情報保持部４１により保持されている上述した形状判定情報を用いて、画像内に設定可能なブロックの形状を判定する。本実施形態において、画像内の各ブロックの形状は、正方形又は長方形のいずれかである。従って、形状判定部４２は、形状判定情報を参照し、例えば、あるサイズを有するブロックについてはその形状は長方形であり、他のサイズを有するブロックについてはその形状は正方形である、などと判定する。
【００６４】
なお、図２に示しているように、情報保持部４１により保持される情報は、画像符号化装置１０を利用するユーザ（例えば、画像符号化装置１０をエンコーダとして電子機器に組み込む開発者など）により入力され又は更新され得る。即ち、画像符号化装置１０を利用するユーザは、画像符号化装置１０の用途に応じて、画像符号化処理の際に使用すべき最大サイズ情報、最小サイズ情報、及び形状判定情報を指定することができる。
【００６５】
例えば、ユーザは、最大のサイズを有するブロックの形状が長方形となるように、形状判定情報を指定してもよい。それにより、例えば、Ｈ．２６４／ＡＶＣにおいて規定されている最大マクロブロックサイズ（１６×１６画素）を超えるサイズを有するブロックとして、例えば３２×１６画素のブロックを使用することが可能となる。この場合、ブロックの短辺の長さが変わらないことから、従来方式と同等の規模（１６画素）のラインメモリを使用することができる一方、ブロックサイズが拡張されるため、画像の圧縮率をより向上させることができる。また、例えば、ユーザは、規模の大きいラインメモリを確保し得る機器に画像符号化装置１０を組み込む場合には、最大のサイズを有するブロックの形状も正方形となるように、形状判定情報を指定してもよい。ユーザにより指定され、情報保持部４１により保持されるこれら定義情報は、図１に示した可逆符号化部１６へ出力される。
【００６６】
動きベクトル設定部４３は、形状判定部４２により判定される上述したブロックの形状に応じて、画像内の各ブロックに予測単位を配置する予測単位配置手段を含む。そして、動きベクトル設定部４３は、例えば、ブロックの形状に応じて配置した予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルを設定する。
【００６７】
より具体的には、例えば、動きベクトル設定部４３は、まず、深さがゼロであるブロック（最大のブロック）に複数の予測モード（予測単位の配置パターン）で予測単位を配置し、予測単位ごとの動きベクトルを決定する。また、動きベクトル設定部４３は、深さが１であるブロックに複数の予測モードで予測単位を配置し、予測単位ごとの動きベクトルを決定する。同様に、動きベクトル設定部４３は、最小のブロックのサイズに至るまでの各深さについて、対応するブロックに複数の予測モードで予測単位を配置し、予測単位ごとの動きベクトルを決定する。その結果、深さと予測モードとの組合せにそれぞれ対応する、複数の動きベクトルのセットが決定される。なお、予測単位ごとの動きベクトルの決定に際しては、予測単位内の原画像の画素値、及びフレームメモリ２５から入力される参照画像の画素値が使用される。次に、動きベクトル設定部４３は、所定のコスト関数を用いて、コスト関数値が最小となる深さと予測モードとの最適な組合せを選択する。そして、動きベクトル設定部４３は、選択した組合せに係るブロックサイズを指定するサイズ指定情報（深さに相当する情報）、予測モード情報、動きベクトル情報、参照画像情報、及びコスト関数値を、動き補償部４４へ出力する。
【００６８】
ここで、本実施形態において、上述したように、各ブロックは、当該ブロックのサイズに応じて正方形又は長方形のいずれかの形状を有する。そのため、動きベクトル設定部４３における正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる。かかる予測単位の配置の候補については、後にさらに説明する。
【００６９】
動き補償部４４は、動きベクトル設定部４３により設定された最適な動きベクトル、及びフレームメモリ２５から入力される参照画像データ（フィルタリング後の復号化画像データ）を用いて、予測画像データを生成する。そして、動き補償部４４は、生成した予測画像データ、並びに、サイズ指定情報、予測モード情報、動きベクトル情報及び参照画像情報などのインター予測に関する情報を、モード選択部５０へ出力する。
【００７０】
＜２．形状判定情報の例＞
次に、図３〜図２１を用いて、形状判定情報の典型的な３つの実施例について説明する。
【００７１】
［２−１．第１の実施例］
（データの説明）
図３は、形状判定情報の第１の実施例について説明するための説明図である。図３を参照すると、第１の実施例において情報保持部４１により保持され得る定義情報４１ａが示されている。定義情報４１ａは、最大サイズ情報「high_layer」、最小サイズ情報「low_layer」及び形状判定情報「high_square_layer」を含む。なお、ここに示す個々のパラメータ名は一例に過ぎず、他のパラメータ名もまた使用され得る。
【００７２】
最大サイズ情報「high_layer」は、画像内に設定可能な最大のブロックのサイズを表す。最大サイズ情報の値は、例えば、６４、３２、１６、８又は４である。最小サイズ情報「low_layer」は、画像内に設定可能な最小のブロックのサイズを表す。最小サイズ情報の値は、例えば、６４、３２、１６、８又は４である。これら最大サイズ情報及び最小サイズ情報は、例えばＨ２６４／ＡＶＣにおいても利用可能な情報である。
【００７３】
本実施例に係る形状判定情報である「high_square_layer」は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値を表す。「high_square_layer」は、「high_layer」及び「low_layer」により規定される範囲内のブロックサイズの値（図３の例では、６４、３２、１６、８又は４）をとり得る。境界値「high_square_layer」は、ブロックサイズがその値を超える場合には当該ブロックが非正方形であり、ブロックサイズがその値以下である場合には当該ブロックが正方形であることを意味する。従って、「high_square_layer」＝「high_layer」である場合には、全ての深さ（全てのサイズ）のブロックは正方形である。一方、「high_square_layer」＜「low_layer」である場合には、全ての深さ（全てのサイズ）のブロックは非正方形である。
【００７４】
本実施例において、非正方形のブロックの形状は、固定的な長辺と短辺との比率を有する長方形である。以下の説明では、長辺と短辺との比率が２対１である場合について説明する。しかしながら、かかる例に限定されず、非正方形のブロックの長辺と短辺との比率として他の比率が用いられてもよい。
【００７５】
なお、「high_layer」、「low_layer」及び「high_square_layer」のサイズ値は、例えば、図３の下部のテーブルに示した各ブロックサイズに対応する。即ち、サイズ値（Ｎ）が６４である場合、正方形のブロックのサイズは１２８×１２８画素、長方形のブロックのサイズは１２８×６４画素である。サイズ値（Ｎ）が３２である場合、正方形のブロックのサイズは６４×６４画素、長方形のブロックのサイズは６４×３２画素である。サイズ値（Ｎ）が１６である場合、正方形のブロックのサイズは３２×３２画素、長方形のブロックのサイズは３２×１６画素である。サイズ値（Ｎ）が８である場合、正方形のブロックのサイズは１６×１６画素、長方形のブロックのサイズは１６×８画素である。サイズ値（Ｎ）が４である場合、正方形のブロックのサイズは８×８画素であり、長方形のブロックは存在しない。但し、このようなサイズ値の定義は一例に過ぎず、他のサイズ値の定義が用いられてもよい。
【００７６】
定義情報４１ａについてのセマンティクスを以下に示す。なお、以下のセマンティクスにおいて、「HighSQsize」及び「LowSQsize」は、形状が正方形であるブロックのサイズの上限及び下限をそれぞれ示す変数である。また、「HighNSsize」及び「LowNSsize」は、形状が非正方形であるブロックのサイズの上限及び下限をそれぞれ示す変数である：
【００７７】
【数１】
2012019490.tif 000003
【００７８】
（符号化ブロックの階層構造）
図４は、第１の実施例により定義され得る符号化ブロックの階層構造の第１の例を示す説明図である。図４の例において、定義情報４１ａは、「high_layer」＝６４、「low_layer」＝４、「high_square_layer」＝６４を示す。この場合、「high_square_layer」＝「high_layer」であるため、全ての深さ（全てのサイズ）のブロックは正方形である。即ち、図４に示しているように、深さがゼロである最大サイズ（１２８×１２８）のブロック、深さが１である２番目のサイズ（６４×６４）のブロック、及び深さが４である最小サイズ（８×８）のブロックは、全て正方形である。
【００７９】
図５は、第１の実施例により定義され得る符号化ブロックの階層構造の第２の例を示す説明図である。図５の例において、定義情報４１ａは、「high_layer」＝６４、「low_layer」＝８、「high_square_layer」＝−１を示す。この場合、「high_square_layer」＜「low_layer」であるため、全ての深さ（全てのサイズ）のブロックは非正方形である。即ち、図５に示しているように、深さ（分割回数）がゼロである最大サイズ（１２８×６４）のブロック、深さが１である２番目のサイズ（６４×３２）のブロック、及び深さが３である最小サイズ（１６×８）のブロックは、全て非正方形である。
【００８０】
図６は、第１の実施例により定義され得る符号化ブロックの階層構造の第３の例を示す説明図である。図６の例において、定義情報４１ａは、「high_layer」＝３２、「low_layer」＝４、「high_square_layer」＝８を示す。この場合、ブロックサイズに応じて、非正方形のブロックと正方形のブロックの双方が設定され得る。即ち、図６に示しているように、深さがゼロである最大サイズ（６４×３２）のブロック及び深さが１である２番目のサイズ（３２×１６）のブロックは非正方形である。また、深さが２である３番目のサイズ（１６×１６）のブロック及び深さが３である最小サイズ（８×８）のブロックは正方形である。
【００８１】
なお、図４〜図６から理解されるように、ブロックの形状を変えずにブロックを分割する場合（例えば、分割前後のブロックの形状が共に長方形又は共に正方形である場合）には、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして４つに分割され得る。一方、「high_square_layer」により表される境界値をまたいで長方形のブロックが正方形のブロックへと分割される場合には、ブロックは、例えば縦方向の線を区切りとして２つ（長辺と短辺との比率が４対１である場合には４つ）に分割され得る。
【００８２】
（予測単位：正方形ブロック）
図７は、２Ｎ×２Ｎの形状を有するブロック、即ち正方形のブロックにおける予測単位の配置について説明するための説明図である。図７を参照すると、Ｍｏｄｅ０からＭｏｄｅ８までの９種類の予測モードが例示されている。
【００８３】
このうち、Ｍｏｄｅ０は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Ｍｏｄｅ０においては、２Ｎ×２Ｎのサイズの１つの予測単位がブロック内に配置される。Ｍｏｄｅ１は、２Ｎ×２Ｎのサイズの１つの予測単位をブロック内に配置する予測モードである。Ｍｏｄｅ２は、２Ｎ×Ｎのサイズの２つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Ｍｏｄｅ３は、Ｎ×２Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ４は、Ｎ×Ｎのサイズの４つの予測単位をブロック内に縦方向及び横方向に２つずつ並べて配置する予測モードである。これらＭｏｄｅ０〜Ｍｏｄｅ４は、Ｈ２６４／ＡＶＣにおいて採用されている予測モードである。
【００８４】
Ｍｏｄｅ５は、２Ｎ×ｎＵ（Ｎ／２、３Ｎ／２）のサイズの２つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Ｍｏｄｅ６は、Ｍｏｄｅ５の予測単位の配置を上下反転させた予測モードである。Ｍｏｄｅ７は、ｎＬ（Ｎ／２、３Ｎ／２）×２Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ８は、Ｍｏｄｅ７の予測単位の配置を左右反転させた予測モードである。これらＭｏｄｅ５〜Ｍｏｄｅ８もまた、正方形のブロックについての予測モードの候補として使用されてよい。
【００８５】
（予測単位：２対１長方形ブロック）
図８は、長辺と短辺との比率が２対１である長方形の形状を有するブロックにおける予測単位の配置について説明するための説明図である。図８を参照すると、Ｍｏｄｅ０からＭｏｄｅ８までの９種類の予測モードが例示されている。また、Ｍｏｄｅ９として、パーティションモードが示されている。
【００８６】
このうち、Ｍｏｄｅ０は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Ｍｏｄｅ０においては、２Ｎ×Ｎのサイズの１つの予測単位がブロック内に配置される。Ｍｏｄｅ１は、２Ｎ×Ｎのサイズの１つの予測単位をブロック内に配置する予測モードである。Ｍｏｄｅ２は、２Ｎ×Ｎ／２のサイズの２つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Ｍｏｄｅ３は、Ｎ×Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ４は、Ｎ×Ｎ／２のサイズの４つの予測単位をブロック内に縦方向及び横方向に２つずつ並べて配置する予測モードである。Ｍｏｄｅ５は、Ｎ／２×Ｎ及び３Ｎ／２×Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ６は、Ｍｏｄｅ５の予測単位の配置を左右反転させた予測モードである。Ｍｏｄｅ７及びＭｏｄｅ８は、ブロックの対角線により区切られる三角形の２つの予測単位をブロック内に配置する予測モードである。
【００８７】
Ｍｏｄｅ９は、当該ブロックがさらに分割されることを示すパーティションモードである。ある深さのブロックにおける予測モードとしてパーティションモードが示された場合には、当該ブロックはより小さいブロックに分割される。従って、ある最大サイズのブロックについて指定されるパーティションモードの数は、その最大サイズのブロックからの分割回数を表す。これは、パーティションモードの数が、画像内に設定されたブロックのサイズを指定するサイズ指定情報としての役割を有することを意味する。なお、本明細書の説明では、サイズ指定情報と予測モード情報とを区別しているが、サイズ指定情報もまた予測モード情報の一部として扱われてもよい。なお、上述したように、ブロックの形状を変えずにブロックが分割される場合には、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして４つに分割され得る。一方、「high_square_layer」により表される境界値をまたいで長方形のブロックが正方形のブロックへと分割される場合には、ブロックは、例えば縦方向の線を区切りとして分割され得る。
【００８８】
（動きベクトルの探索範囲）
図９は、形状判定情報の第１の実施例における動きベクトルの探索範囲について説明するための説明図である。
【００８９】
図９を参照すると、「high_layer」＝６４、「low_layer」＝４、「high_square_layer」＝８である場合の、動きベクトルの探索範囲を表すツリー構造が示されている。ツリー構造の最上位の第１のレイヤは、１２８×６４画素の最大サイズを有する非正方形ブロックに適用され得る、Ｍｏｄｅ０からＭｏｄｅ８までの９つの予測モードを含む。また、第１のレイヤに続く第２のレイヤは、６４×３２画素のサイズを有する非正方形ブロックに適用され得る、Ｍｏｄｅ０からＭｏｄｅ８までの９つの予測モードを含む。また、第２のレイヤに続く第３のレイヤは、３２×１６画素のサイズを有する非正方形ブロックに適用され得る、Ｍｏｄｅ０からＭｏｄｅ８までの９つの予測モードを含む。第３のレイヤに続く第４のレイヤは、１６×１６画素のサイズを有する正方形ブロックに適用され得る、Ｍｏｄｅ０からＭｏｄｅＭまでの予測モードを含む。第４のレイヤに続く第５のレイヤは、８×８画素の最小サイズを有する正方形ブロックに適用され得る、Ｍｏｄｅ０からＭｏｄｅＭまでの予測モードを含む。
【００９０】
図２に示した動き探索部４０の動きベクトル設定部４３は、例えば、形状判定部４２により判定されるブロックサイズごとのブロックの形状に応じて、このようなツリー構造に含まれる第１のレイヤから第５のレイヤまでの全ての予測モードを対象として、動きベクトルを探索する。そして、動きベクトル設定部４３は、探索範囲内でコスト関数値を最小にする予測モードを、符号化に使用すべき予測単位の配置を特定する予測モードとして選択する。かかる最適な予測モードは、図７又は図８に例示した予測モードの番号とレイヤの深さとにより一意に特定される。深さ（Depth）は、最大サイズのブロックからの分割回数を表し、分割後のブロックのサイズを指定する情報である。これら予測モードの番号及び深さは、予測モード情報及びサイズ指定情報として、例えば符号化ストリームのブロックヘッダ内に多重化される。また、最大サイズ情報及び形状判定情報は、例えば符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に多重化される。従って、符号化された画像を復号化する装置は、これら多重化された情報を符号化ストリームから取得することにより、符号化時に使用されたブロックのサイズ、形状及び予測単位の配置を認識することができる。
【００９１】
（変換単位：２対１長方形ブロック）
図１０は、２Ｎ×Ｎの形状を有するブロックにおける直交変換処理の単位である変換単位（ＴＵ）の配置について説明するための説明図である。
【００９２】
図１０を参照すると、タイプＴ０からＴ４までの５つの変換単位の配置のパターンが例示されている。このうち、タイプＴ０は、２Ｎ×Ｎのサイズの１つの変換単位を２Ｎ×Ｎの形状を有するブロック内に配置するパターンである。タイプＴ１は、Ｎ×Ｎのサイズの２つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプＴ２は、Ｎ×Ｎ／２のサイズの４つの変換単位をブロック内に縦方向及び横方向に２つずつ並べて配置するパターンである。タイプＴ３は、Ｎ／２×Ｎのサイズの４つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプＴ４は、Ｎ／２×Ｎ／２のサイズの８つの変換単位を縦方向に２つずつ及び横方向に４つずつ並べて配置するパターンである。直交変換部１４は、例えば、これら５つのタイプのいずれかの変換単位ごとに直交変換を実行し、変換係数データを出力する。
【００９３】
表１は、図８に例示した予測単位（ＰＵ）と図１０に例示した変換単位（ＴＵ）とのマッピングを示している。表１における「○」は、左端の列の予測単位が選択された場合に、対応する各変換単位を使用し得ることを示している。「×」は、左端の列の予測単位が選択された場合に、対応する各変換単位を使用し得ないことを示している。
【００９４】
【表１】
2012019490.tif 000004
【００９５】
なお、直交変換の単位は、一般的に最大で３２×３２画素の単位で実行され得る。従って、表１において「○」が付与されている場合であっても、ブロックサイズに応じて使用することのできない変換単位が存在する可能性があることに留意すべきである。
【００９６】
図１１は、２Ｎ×Ｎの形状を有する変換単位についての符号化ブロックパターン（Coded  Block  Pattern：ＣＢＰ）の一例を示す説明図である。２Ｎ×Ｎの形状を有する変換単位で直交変換を行う場合、例えば、輝度信号（Ｙ）から２Ｎ×Ｎの変換係数が生成されるのに対して、色差信号（Ｃｂ、Ｃｒ）からはそれぞれＮ×Ｎ／２の変換係数が生成される。この場合、符号化ビットパターンとして、例えば、輝度信号（Ｙ）についての変換係数を４つのグループ（Ｙ０、Ｙ１、Ｙ２及びＹ３）にグループ化し、各グループに４つのビット（ｂ０、ｂ１、ｂ２及びｂ３）を割り当てる。また、色差信号（Ｃｂ、Ｃｒ）についての変換係数には、それぞれ１つのビット（ｂ４及びｂ５）を割り当てる。このようにして、直流値以外の有意な変換係数が生成されたか否かを各ビットの値により示すことができる。
【００９７】
（第１の実施例のまとめ）
以上説明したような第１の実施例によれば、形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む。そして、形状判定部４２は、当該境界値よりも大きいサイズを有するブロックの形状は非正方形であり、当該境界値よりも小さいサイズを有するブロックの形状は正方形であると判定する。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが１６×１６画素の正方形であるＨ．２６４／ＡＶＣ方式をサポートしながら、３２×１６画素、又は６４×３２画素及び３２×１６画素などのより大きいサイズを扱う方式をもカバーすることができる。
【００９８】
また、サイズのより大きいこれらブロックの形状は長方形である。従って、画像処理に要するラインメモリのサイズを短辺のサイズと同等とすることにより、ブロックサイズの拡張に伴うラインメモリの冗長化が回避される。
【００９９】
また、上述した最大サイズ情報及び最小サイズ情報はＨ．２６４／ＡＶＣ方式などにおいて既に利用可能であり、第１の実施例において新たに定義すべき情報は形状判定情報である「high_square_layer」のみである。従って、このような新たなブロックサイズの枠組みの導入は容易であり、ヘッダ情報の増加を原因として圧縮率が低下する可能性も小さい。
【０１００】
［２−２．第２の実施例］
（データの説明）
図１２は、形状判定情報の第２の実施例について説明するための説明図である。図１２を参照すると、第２の実施例において情報保持部４１により保持され得る定義情報４１ｂが示されている。定義情報４１ｂは、最大サイズ情報「high_layer」、最小サイズ情報「low_layer」及び形状判定情報「width_to_height_ratio」を含む。
【０１０１】
本実施例に係る形状判定情報である「width_to_height_ratio」は、最大サイズのブロックの長辺と短辺との比率を表す。「width_to_height_ratio」の値は、例えば、１、２又は４などであってよい。「width_to_height_ratio」の値として１が指定された場合には、画像内に正方形のブロックのみが設定可能となる。一方、「width_to_height_ratio」の値として１以外の値が指定された場合には、最大サイズのブロックの形状は長方形となる。
【０１０２】
本実施例において、最大サイズのブロックの形状は正方形又は長方形であり、より小さいサイズのブロックの形状は正方形であるものとする。定義情報４１ｂについてのセマンティクスを以下に示す：
【０１０３】
【数２】
2012019490.tif 000005
【０１０４】
（符号化ブロックの階層構造）
図１３は、第２の実施例により定義され得る符号化ブロックの階層構造の一例を示す説明図である。図１３の例において、定義情報４１ｂは、「high_layer」＝１６、「low_layer」＝４、「width_to_height_ratio」＝４を示す。この場合、ブロックサイズに応じて、非正方形のブロックと正方形のブロックの双方が設定され得る。即ち、図１３に示しているように、深さがゼロである最大サイズ（６４×１６）のブロックは、長辺と短辺との比率が４（４対１）である長方形である。また、深さが１以上のサイズの各ブロックは正方形である。
【０１０５】
（予測単位：４対１長方形ブロック）
図１４は、長辺と短辺との比率が４対１である長方形の形状を有するブロックにおける予測単位の配置について説明するための説明図である。図１４を参照すると、Ｍｏｄｅ０からＭｏｄｅ８までの９種類の予測モードが例示されている。また、Ｍｏｄｅ９として、パーティションモードが示されている。
【０１０６】
このうち、Ｍｏｄｅ０は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Ｍｏｄｅ０においては、４Ｎ×Ｎのサイズの１つの予測単位がブロック内に配置される。Ｍｏｄｅ１は、４Ｎ×Ｎのサイズの１つの予測単位をブロック内に配置する予測モードである。Ｍｏｄｅ２は、４Ｎ×Ｎ／２のサイズの２つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Ｍｏｄｅ３は、２Ｎ×Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ４は、Ｎ×Ｎのサイズの４つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ５は、Ｎ×Ｎ及び３Ｎ×Ｎのサイズの２つの予測単位をブロック内に横方向に並べて配置する予測モードである。Ｍｏｄｅ６は、Ｍｏｄｅ５の予測単位の配置を左右反転させた予測モードである。Ｍｏｄｅ７及びＭｏｄｅ８は、ブロックの対角線により区切られる三角形の２つの予測単位をブロック内に配置する予測モードである。
【０１０７】
Ｍｏｄｅ９は、当該ブロックがさらに分割されることを示すパーティションモードである。図１３の例では、４対１の長方形ブロックは、例えば縦方向の４等分線を区切りとして４つの正方形ブロックに分割される。また、長方形ブロックが複数のレイヤにわたって設定可能である場合には、４対１の長方形ブロックは、例えば縦方向及び横方向の中央の線を区切りとして４つに分割され得る。
【０１０８】
本実施例においても、動き探索部４０の動きベクトル設定部４３は、例えば図１３に例示したような階層構造に含まれる全てのレイヤの全ての予測モードを対象として、動きベクトルを探索し得る。
【０１０９】
（変換単位：４対１長方形ブロック）
図１５は、４Ｎ×Ｎの形状を有するブロックにおける直交変換処理の単位である変換単位（ＴＵ）の配置について説明するための説明図である。
【０１１０】
図１５を参照すると、タイプＴ０からＴ４までの５つの変換単位の配置のパターンが例示されている。このうち、タイプＴ０は、４Ｎ×Ｎのサイズの１つの変換単位を４Ｎ×Ｎの形状を有するブロック内に配置するパターンである。タイプＴ１は、２Ｎ×Ｎのサイズの２つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプＴ２は、２Ｎ×Ｎ／２のサイズの４つの変換単位をブロック内に縦方向及び横方向に２つずつ並べて配置するパターンである。タイプＴ３は、Ｎ×Ｎのサイズの４つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプＴ４は、Ｎ×Ｎ／２のサイズの８つの変換単位を縦方向に２つずつ及び横方向に４つずつ並べて配置するパターンである。直交変換部１４は、例えば、これら５つのタイプのいずれかの変換単位ごとに直交変換を実行し、変換係数データを出力する。
【０１１１】
表２は、図１４に例示した予測単位（ＰＵ）と図１５に例示した変換単位（ＴＵ）とのマッピングを示している。
【０１１２】
【表２】
2012019490.tif 000006
【０１１３】
なお、２対１長方形ブロックの場合と同様、表２において「○」が付与されている場合であっても、ブロックサイズに応じて使用することのできない変換単位が存在する可能性があることに留意すべきである。
【０１１４】
図１６は、４Ｎ×Ｎの形状を有する変換単位についての符号化ブロックパターン（ＣＢＰ）の一例を示す説明図である。４Ｎ×Ｎの形状を有する変換単位で直交変換を行う場合、例えば、輝度信号（Ｙ）から４Ｎ×Ｎの変換係数が生成されるのに対して、色差信号（Ｃｂ、Ｃｒ）からはそれぞれ２Ｎ×Ｎ／２の変換係数が生成される。この場合、符号化ビットパターンとして、例えば、輝度信号（Ｙ）についての変換係数を４つのグループ（Ｙ０、Ｙ１、Ｙ２及びＹ３）にグループ化し、各グループに４つのビット（ｂ０、ｂ１、ｂ２及びｂ３）を割り当てる。また、色差信号（Ｃｂ、Ｃｒ）についての変換係数には、それぞれ１つのビット（ｂ４及びｂ５）を割り当てる。このようにして、直流値以外の有意な変換係数が生成されたか否かを各ビットの値により示すことができる。
【０１１５】
（第２の実施例のまとめ）
以上説明したような第２の実施例によれば、画像内の各ブロックの形状は正方形又は長方形であり、形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む。そして、最大サイズを有するブロックの形状は、上記比率情報から判定され得る。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが１６×１６画素の正方形であるＨ．２６４／ＡＶＣ方式をサポートしながら、３２×１６画素、又は６４×１６画素など、よりサイズの大きい様々な形状のブロックを扱うことができる。
【０１１６】
また、第２の実施例によれば、長方形のブロックについての長辺と短辺との比率をユーザが指定することが可能であるため、ラインメモリのサイズ、圧縮率及び画質についてのユーザの多様なニーズに柔軟に応えることができる。
【０１１７】
また、第２の実施例においても、新たに定義すべき情報は形状判定情報である「width_to_height_ratio」のみである。従って、このような新たなブロックサイズの枠組みの導入は容易であり、ヘッダ情報の増加を原因とする圧縮率の低下も回避され得る。
【０１１８】
なお、形状判定情報として第１の実施例に係る「high_square_layer」及び第２の実施例に係る「width_to_height_ratio」の双方が使用されてもよい。その場合には、例えば、長方形のブロックのレイヤ数とその長方形のブロックの形状とをユーザが柔軟に指定することができる。
【０１１９】
［２−３．第３の実施例］
（データの説明）
図１７は、形状判定情報の第３の実施例について説明するための説明図である。図１７を参照すると、第３の実施例において情報保持部４１により保持され得る定義情報４１ｃが示されている。定義情報４１ｃは、最大サイズ情報「max_high_level」に加えて、形状判定情報として「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」という３つのデータ項目を含む。
【０１２０】
最大サイズ情報「max_high_level」は、画像内に設定可能な最大のブロックのサイズを表す。最大サイズ情報の値は、例えば、１２８、６４、３２、１６又は８である。
【０１２１】
「number_of_layers」は、符号化ブロックの階層構造に含まれる長辺と短辺との比率が異なるレイヤの数を表す。例えば、符号化ブロックの階層構造において、全てのレイヤのブロックの形状が同一であれば、「number_of_layers」の値は１である。また、図１３に例示した階層構造のように、長辺と短辺との比率が４（４対１）であるレイヤ及び長辺と短辺との比率が１であるレイヤが存在する場合には、「number_of_layers」の値は２である。
【０１２２】
「width_to_height_ratio[]」は、ブロックの長辺と短辺との比率が互いに異なるレイヤごとの当該比率を表すデータ配列である。配列の要素数は、「number_of_layers」の値に等しい。例えば、図１３に例示した階層構造のように、第１のレイヤにおける比率が４、第２のレイヤにおける比率が１である場合には、「width_to_height_ratio[]」の配列の内容は（４，１）、即ち、width_to_height_ratio[１]＝４、width_to_height_ratio[２]＝１である。
【０１２３】
「low_level[]」は、「width_to_height_ratio[]」により定義される各比率が適用される最小のブロックサイズを表すデータ配列である。配列の要素数は、「number_of_layers」の値に等しい。
【０１２４】
定義情報４１ｃについてのセマンティクスを以下に示す。なお、以下のセマンティクスにおいて、High_level[k]及びlow_level[k]は、比率が互いに異なるｋ番目のレイヤ群のうちの、サイズの最も大きいレイヤのレベル及びサイズの最も小さいレイヤのレベルをそれぞれ示す変数である：
【０１２５】
【数３】
2012019490.tif 000007
【０１２６】
（符号化ブロックの階層構造）
図１８は、第３の実施例により定義され得る符号化ブロックの階層構造の第１の例を示す説明図である。図１８の例において、定義情報４１ｃは、「max_high_level」＝１６、「number_of_layers」＝２、「width_to_height_ratio[]」＝（２，１）、「low_level[]」＝（１６，８）を示す。この場合、ブロックサイズに応じて、比率の互いに異なる２つのレイヤ群が設定され得る。即ち、図１８に示しているように、深さがゼロである最大サイズ（３２×１６）のブロックは、長辺と短辺との比率が２の長方形である。また、深さが１以上のサイズの各ブロックは正方形である。
【０１２７】
図１９は、第３の実施例により定義され得る符号化ブロックの階層構造の第２の例を示す説明図である。図１９の例において、定義情報４１ｃは、「max_high_level」＝１６、「number_of_layers」＝２、「width_to_height_ratio[]」＝（４，１）、「low_level[]」＝（１６，８）を示す。この場合、ブロックサイズに応じて、比率の互いに異なる２つのレイヤ群が設定され得る。即ち、図１９に示しているように、深さがゼロである最大サイズ（６４×１６）のブロックは、長辺と短辺との比率が４の長方形である。また、深さが１以上のサイズの各ブロックは正方形である。
【０１２８】
図２０は、第３の実施例により定義され得る符号化ブロックの階層構造の第３の例を示す説明図である。図２０の例において、定義情報４１ｃは、「max_high_level」＝３２、「number_of_layers」＝２、「width_to_height_ratio[]」＝（４，１）、「low_level[]」＝（１６，８）を示す。この場合、ブロックサイズに応じて、比率の互いに異なる２つのレイヤ群が設定され得る。即ち、図２０に示しているように、深さがゼロである最大サイズ（１２８×３２）のブロック及び深さが１である２番目のサイズ（６４×１６）のブロックは、長辺と短辺との比率が４の長方形である。また、深さが２以上のサイズの各ブロックは正方形である。
【０１２９】
図２１は、第３の実施例により定義され得る符号化ブロックの階層構造の第４の例を示す説明図である。図２１の例において、定義情報４１ｃは、「max_high_level」＝１６、「number_of_layers」＝３、「width_to_height_ratio[]」＝（４，２，１）、「low_level[]」＝（１６，１６，８）を示す。この場合、ブロックサイズに応じて、比率の互いに異なる３つのレイヤ群が設定され得る。即ち、図２１に示しているように、深さがゼロである最大サイズ（６４×１６）のブロックは、長辺と短辺との比率が４の長方形である。深さが１である２番目のサイズ（３２×１６）のブロックは、長辺と短辺との比率が２の長方形である。また、深さが２以上のサイズの各ブロックは正方形である。
【０１３０】
なお、図１８〜図２１から理解されるように、ブロックの形状を変えずにブロックを分割する場合には、第１の実施例と同様、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして４つに分割され得る。一方、あるレイヤ群から比率の異なる他のレイヤ群へ遷移するようにブロックが分割される場合には、ブロックは、例えば縦方向の線を区切りとして２つ又は４つに分割され得る。
【０１３１】
本実施例においても、動き探索部４０の動きベクトル設定部４３は、このような階層構造に含まれる全てのレイヤの全ての予測モードを対象として、動きベクトルを探索し得る。
【０１３２】
（第３の実施例のまとめ）
以上説明したような第３の実施例によれば、画像内の各ブロックの形状は正方形又は長方形であり、形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報と、レイヤごとに上記比率を定義する情報とを含む。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが１６×１６画素の正方形であるＨ．２６４／ＡＶＣ方式をサポートしながら、様々な長辺と短辺との比率を有する多様なサイズのブロックを扱うことができる。
【０１３３】
また、第３の実施例によれば、長方形のブロックについての長辺と短辺との比率を複数指定することが可能であるため、ラインメモリのサイズ、圧縮率及び画質などを考慮に入れた画像処理装置の設計に際しての柔軟性はさらに向上する。
【０１３４】
＜３．一実施形態に係る符号化時の処理の流れ＞
次に、図２２及び図２３を用いて、符号化時の処理の流れを説明する。図２２及び図２３は、本実施形態に係る画像符号化装置１０の動き探索部４０による動き探索処理の流れの一例を示すフローチャートである。
【０１３５】
図２２を参照すると、まず、形状判定部４２は、情報保持部４１から形状判定情報を取得する（ステップＳ１０２）。ここで取得される形状判定情報は、例えば、図３に例示した「high_square_layer」、図１２に例示した「width_to_height_ratio」、又は図１７に例示した「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」であってよい。さらに、形状判定部４２は、情報保持部４１から最大サイズ情報及び最小サイズ情報などの情報を取得する。
【０１３６】
次に、形状判定部４２は、設定可能な最大のサイズを有するブロックを画像内に設定する（ステップＳ１０４）。
【０１３７】
次に、形状判定部４２は、取得した形状判定情報と現在設定されているブロックのサイズとに応じて、当該ブロックの形状が正方形であるか否かを判定する（ステップＳ１０６）。例えば、図４に例示した定義情報４１ａが定義されており、当該ブロックのサイズが１２８×１２８画素（Ｎ＝６４）である場合には、当該ブロックの形状は正方形であると判定される。また、例えば、図６に例示した定義情報４１ａが定義されており、当該ブロックのサイズが６４×３２画素（Ｎ＝３２）である場合には、当該ブロックの形状は正方形ではないと判定される。当該ブロックの形状が正方形でないと判定されると、処理はステップＳ１０８へ進む。一方、当該ブロックの形状が正方形であると判定されると、処理はステップＳ１１２へ進む。
【０１３８】
ステップＳ１０８では、動きベクトル設定部４３は、非正方形ブロックの各予測モードで当該ブロックに予測単位を配置し、配置した予測単位ごとに動きベクトルを決定する（ステップＳ１０８）。ここで使用される予測モードは、例えば、ブロックの形状が２対１の長方形である場合には図８に例示した９種類の予測モード、ブロックの形状が４対１の長方形である場合には図１４に例示した９種類の予測モードであってよい。次に、動きベクトル設定部４３は、各予測モードについてのコスト関数値を算出する（ステップＳ１１０）。なお、ステップＳ１０８において決定される動きベクトルは、当該ブロックの予測画素値の生成のために設定すべき予測単位の配置（即ち、最適な予測モード）を選択するための暫定的な動きベクトルである。
【０１３９】
ステップＳ１１２では、動きベクトル設定部４３は、正方形ブロックの各予測モードで当該ブロックに予測単位を配置し、配置した予測単位ごとに動きベクトルを決定する（ステップＳ１１２）。ここで使用される予測モードは、例えば、図７に例示した９種類の予測モードであってよい。次に、動きベクトル設定部４３は、各予測モードについてのコスト関数値を算出する（ステップＳ１１４）。なお、ステップＳ１１２において決定される動きベクトルもまた、最適な予測モードを選択するための暫定的な動きベクトルである。
【０１４０】
次に、動きベクトル設定部４３は、当該ブロックのサイズが設定可能な最小のサイズであるか否かを判定する（ステップＳ１１６）。ここで、当該ブロックのサイズが最小のサイズでない場合には、処理はステップＳ１１８へ進む。一方、当該ブロックのサイズが最小のサイズである場合には、処理は図２３のステップＳ１２０へ進む
【０１４１】
ステップＳ１１８では、動きベクトル設定部４３は、当該ブロックをより小さいサイズの複数のブロックに分割する（ステップＳ１１８）。この場合、分割前のレイヤについての予測モードとして、パーティションモードが選択され得る。そして、分割後のブロックに対して上述したステップＳ１０６からステップＳ１１６までの処理が繰り替えされる。
【０１４２】
図２３のステップＳ１２０では、動きベクトル設定部４３は、各予測モードについて算出されたコスト関数値を比較し、コスト関数値の最も小さい最適な予測モードを選択する（ステップＳ１２０）。そして、動きベクトル設定部４３は、選択した最適な予測モードを表す予測モード情報、サイズ指定情報（例えば、ブロックの分割回数を意味するパーティションモードの選択回数）、対応する動きベクトル情報及び参照画像情報を、動き補償部４４へ出力する。
【０１４３】
次に、動き補償部４４は、動きベクトル設定部４３により選択された最適な予測モードによる予測画素値を生成する（ステップＳ１２２）。そして、動き補償部４４は、生成した予測画素値を含む予測画像データをモード選択部５０へ出力すると共に、予測モード情報、サイズ指定情報、動きベクトル情報及び参照画像情報を、インター予測に関する情報としてモード選択部５０へ出力する（ステップＳ１２４）。
【０１４４】
＜４．一実施形態に係る画像復号化装置の構成例＞
本節では、図２４及び図２５を用いて、本発明の一実施形態に係る画像復号化装置の構成例について説明する。
【０１４５】
［４−１．全体的な構成例］
図２４は、本発明の一実施形態に係る画像復号化装置６０の構成の一例を示すブロック図である。図２４を参照すると、画像復号化装置６０は、蓄積バッファ６１、可逆復号化部６２、逆量子化部６３、逆直交変換部６４、加算部６５、デブロックフィルタ６６、並べ替えバッファ６７、Ｄ／Ａ（Digital  to  Analogue）変換部６８、フレームメモリ６９、セレクタ７０及び７１、イントラ予測部８０、並びに動き補償部９０を備える。
【０１４６】
蓄積バッファ６１は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
【０１４７】
可逆復号化部６２は、蓄積バッファ６１から入力される符号化ストリームを、符号化時に使用された符号化方式に従って復号化する。また、可逆復号化部６２は、符号化ストリームのヘッダ領域に多重化されている情報を復号化する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、シーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内の形状判定情報を含み得る。また、符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号化部６２は、イントラ予測に関する情報をイントラ予測部８０へ出力する。また、可逆復号化部６２は、形状判定情報及びインター予測に関する情報を動き補償部９０へ出力する。
【０１４８】
逆量子化部６３は、可逆復号化部６２による復号化後の量子化データを逆量子化する。逆直交変換部６４は、符号化時に使用された直交変換方式に従い、逆量子化部６３から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部６４は、生成した予測誤差データを加算部６５へ出力する。
【０１４９】
加算部６５は、逆直交変換部６４から入力される予測誤差データと、セレクタ７１から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部６５は、生成した復号化画像データをデブロックフィルタ６６及びフレームメモリ６９へ出力する。
【０１５０】
デブロックフィルタ６６は、加算部６５から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データを並べ替えバッファ６７及びフレームメモリ６９へ出力する。
【０１５１】
並べ替えバッファ６７は、デブロックフィルタ６６から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ６７は、生成した画像データをＤ／Ａ変換部６８へ出力する。
【０１５２】
Ｄ／Ａ変換部６８は、並べ替えバッファ６７から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、Ｄ／Ａ変換部６８は、例えば、画像復号化装置６０と接続されるディスプレイ（図示せず）にアナログ画像信号を出力することにより、画像を表示させる。
【０１５３】
フレームメモリ６９は、加算部６５から入力されるフィルタリング前の復号化画像データ、及びデブロックフィルタ６６から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
【０１５４】
セレクタ７０は、可逆復号化部６２により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ７０からの画像データの出力先をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７０は、イントラ予測モードが指定された場合には、フレームメモリ７０から供給されるフィルタリング前の復号化画像データを参照画像データとしてイントラ予測部８０へ出力する。また、セレクタ７０は、インター予測モードが指定された場合には、フレームメモリ７０から供給されるフィルタリング後の復号化画像データを参照画像データとして動き補償部９０へ出力する。
【０１５５】
セレクタ７１は、可逆復号化部６２により取得されるモード情報に応じて、画像内のブロックごとに、可算部６５へ供給すべき予測画像データの出力元をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７１は、イントラ予測モードが指定された場合には、イントラ予測部８０から出力される予測画像データを可算部６５へ供給する。セレクタ７１は、インター予測モードが指定された場合には、動き補償部９０から出力される予測画像データを可算部６５へ供給する。
【０１５６】
イントラ予測部８０は、可逆復号化部６２から入力されるイントラ予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部８０は、生成した予測画像データをセレクタ７１へ出力する。
【０１５７】
動き補償部９０は、可逆復号化部６２から入力されるインター予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部９０は、生成した予測画像データをセレクタ７１へ出力する。
【０１５８】
［４−２．動き補償部の構成例］
図２５は、図２４に示した画像復号化装置６０の動き補償部９０の詳細な構成の一例を示すブロック図である。図２５を参照すると、動き補償部９０は、形状判定部９１、予測単位判定部９２及び予測部９３を有する。
【０１５９】
形状判定部９１は、可逆符号化部６２から入力されるインター予測に関する情報に含まれる形状判定情報及びサイズ指定情報を用いて、画像の符号化時に画像内に設定された各ブロックの形状を判定する。形状判定部９１により取得される形状判定情報は、例えば、上述した第１、第２又は第３の実施例において説明した情報であってよい。例えば、第１の実施例において、形状判定情報として「high_square_layer」＝８が定義されており、サイズ指定情報により指定されるブロックのサイズが１６である場合には、形状判定部９１は、当該ブロックの形状は長辺と短辺との比率が２対１の長方形であると判定し得る。また、例えば、第２の実施例において、形状判定情報として「width_to_height_ratio」＝４が定義されており、サイズ指定情報により指定されるブロックのサイズが最大サイズに等しい場合には、形状判定部９１は、当該ブロックの形状は長辺と短辺との比率が４対１の長方形であると判定し得る。また、例えば、第３の実施例において、図２１に例示したような形状判定情報が定義されており、サイズ指定情報により指定されるブロックのサイズが最小サイズに等しい場合には、形状判定部９１は、当該ブロックの形状は正方形であると判定し得る。なお、上述したように、サイズ指定情報は、最大のブロックからのブロックの分割回数により表され得る。
【０１６０】
予測単位判定部９２は、可逆符号化部６２から入力される予測モード情報を用いて、各ブロックにおける予測単位の配置を判定する。ここで、図７、図８及び図１４に例示したように、本実施形態において、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる。また、長方形のブロックについての予測単位の配置の候補は、長方形の長辺と短辺との比率によっても異なる。そこで、予測単位判定部９２は、形状判定部９１により判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する。例えば、ブロックの形状が正方形であって、予測モード情報がＭｏｄｅ２を示している場合には、予測単位の配置は図７のＭｏｄｅ２（２Ｎ×Ｎ）であると判定され得る。また、例えば、ブロックの形状が２対１の長方形であって、予測モード情報がＭｏｄｅ４を示している場合には、予測単位の配置は図８のＭｏｄｅ４（Ｎ×Ｎ／２）であると判定され得る。また、例えば、ブロックの形状が４対１の長方形であって、予測モード情報がＭｏｄｅ３を示している場合には、予測単位の配置は図１４のＭｏｄｅ３（２Ｎ×Ｎ）であると判定され得る。
【０１６１】
予測部９３は、予測単位判定部９２により判定された予測単位の配置、可逆符号化部６２から入力される予測単位ごとの動きベクトル及び参照画像情報、並びにフレームメモリから入力される参照画像データを用いて、各ブロックについての予測画素値を生成する。そして、予測部９３は、生成した予測画素値を含む予測画像データをセレクタ７１へ出力する。
【０１６２】
＜５．一実施形態に係る復号化時の処理の流れ＞
次に、図２６を用いて、復号化時の処理の流れを説明する。図２６は、本実施形態に係る画像復号化装置６０の動き補償部９０による動き補償処理の流れの一例を示すフローチャートである。
【０１６３】
図２６を参照すると、まず、形状判定部９１は、可逆復号化部６２から入力されるインター予測に関する情報に含まれる形状判定情報及びサイズ指定情報を取得する（ステップＳ２０２）。ここで取得される形状判定情報は、例えば、図３に例示した「high_square_layer」、図１２に例示した「width_to_height_ratio」、又は図１７に例示した「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」であってよい。
【０１６４】
次に、形状判定部９１は、取得したサイズ指定情報を用いて、画像の符号化時に設定されたブロックのサイズを判定する（ステップＳ２０４）。サイズ指定情報は、例えば、最大のブロックからのブロックの分割回数を表すパーティションモードとして取得され得る。かかるパーティションモードは、予測モード情報の一部であってもよい。この場合には、最大のブロックサイズとブロックの分割回数とに基づいて、画像の符号化時に設定されたブロックのサイズを判定することができる。
【０１６５】
次に、形状判定部９１は、取得した形状判定情報とブロックサイズとに応じて、画像の符号化時に設定されたブロックの形状が正方形であるか否かを判定する（ステップＳ２０６）。形状判定部９１による形状の判定の例は、図２２のステップ１０６に関連して上述した例と同様である。ここで、ブロックの形状が非正方形である場合には、処理はステップＳ２０８へ進む。一方、ブロックの形状が正方形である場合には、処理はステップＳ２１０へ進む。
【０１６６】
ステップＳ２０８では、予測単位判定部９２は、可逆符号化部６２から入力される予測モード情報が示す予測モードを非正方形ブロックの予測モードとして認識し、注目しているブロックについての予測単位の配置を判定する（ステップＳ２０８）。また、ステップＳ２１０では、予測単位判定部９２は、可逆符号化部６２から入力される予測モード情報が示す予測モードを正方形ブロックの予測モードとして認識し、注目しているブロックについての予測単位の配置を判定する（ステップＳ２１０）。
【０１６７】
次に、予測部９３は、予測単位判定部９２により判定された予測単位の配置に基づき、予測単位ごとの動きベクトル及び参照画像データを用いて、各ブロック内の画素についての予測画素値を生成する（ステップＳ２１２）。そして、予測部９３は、生成した予測画素値を含む予測画像データをセレクタ７１へ出力する（ステップＳ２１４）。
【０１６８】
＜６．応用例＞
上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０１６９】
［６−１．第１の応用例］
図２７は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０１７０】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームと共に上述した形状判定情報を受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１７１】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからＥＰＧ（Electronic  Program  Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０１７２】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号化する。そして、デコーダ９０４は、復号化処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号化処理により生成される音声データを音声信号処理部９０７へ出力する。
【０１７３】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのＧＵＩ（Graphical  User  Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０１７４】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はＯＬＥＤなど）の映像面上に映像又は画像を表示する。
【０１７５】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてＤ／Ａ変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０１７６】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号化されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームと共に上述した形状判定情報を受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１７７】
制御部９１０は、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、並びにＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）などのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、プログラムデータ、ＥＰＧデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０１７８】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０１７９】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０１８０】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号化装置６０の機能を有する。それにより、テレビジョン装置９００において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
【０１８１】
［６−２．第２の応用例］
図２８は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０１８２】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０１８３】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０１８４】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをＡ／Ｄ変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号化して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１８５】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号化して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０１８６】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０１８７】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０１８８】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームと共に、上述した形状判定情報が含まれ得る。そして、通信部９２２は、受信信号を復調及び復号化してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号化し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１８９】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０の機能を有する。それにより、携帯電話機９２０において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
【０１９０】
［６−３．第３の応用例］
図２９は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号化する。
【０１９１】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、ＨＤＤ（Hard  Disk  Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen  Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０１９２】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０１９３】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース、ＵＳＢインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０１９４】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０１９５】
ＨＤＤ９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、ＨＤＤ９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０１９６】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）又はＢｌｕ−ｒａｙ（登録商標）ディスクなどであってよい。
【０１９７】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをＨＤＤ９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、ＨＤＤ９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０１９８】
デコーダ９４７は、符号化ビットストリームを復号化し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをＯＳＤ９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０１９９】
ＯＳＤ９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、ＯＳＤ９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を重畳してもよい。
【０２００】
制御部９４９は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０２０１】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０２０２】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置１０の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号化装置６０の機能を有する。それにより、記録再生装置９４０において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
【０２０３】
［６−４．第４の応用例］
図３０は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０２０４】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０２０５】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、及び制御部９７０を相互に接続する。
【０２０６】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤ又はＣＭＯＳなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０２０７】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０２０８】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号化し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、ＯＳＤ９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０２０９】
ＯＳＤ９６９は、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０２１０】
外部インタフェース９６６は、例えばＵＳＢ入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、ＬＡＮ又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０２１１】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はＳＳＤ（Solid  State  Drive）のような非可搬性の記憶部が構成されてもよい。
【０２１２】
制御部９７０は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０２１３】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０２１４】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０の機能を有する。それにより、撮像装置９６０において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
【０２１５】
＜７．まとめ＞
ここまで、図１〜図３０を用いて、本発明の一実施形態に係る画像符号化装置１０及び画像復号化装置６０について説明した。本実施形態によれば、画像の符号化の際には、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定可能なブロックの形状が判定され、その形状に応じて配置される予測単位ごとに当該予測単位内の画素値の予測に使用される動きベクトルが設定される。また、画像の復号化の際には、上記形状判定情報とブロックサイズとを用いて、画像内の各ブロックの形状が判定され、その形状に応じた予測単位の配置と動きベクトルとに基づいて、各ブロックについての予測画素値が生成される。従って、正方形以外の形状を有するブロックを、動き予測のために使用することが可能となる。それにより、例えば、圧縮率の向上のために動き予測のためのブロックサイズを拡張する場合にも、ラインメモリの冗長化を抑制することができる。
【０２１６】
また、本実施形態によれば、画像内に設定可能な最大のブロックの形状を非正方形とする共に、より小さいブロックの形状を正方形とすることができる。それにより、最大のブロックが正方形である既存の符号化方式との互換性を維持しながら、本明細書で提案した符号化方式を実現することができる。
【０２１７】
また、本実施形態によれば、形状判定情報は、ユーザにより入力可能である。そして、ユーザにより入力された形状判定情報は、符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに多重化され、符号化側から復号化側へ伝達される。それにより、本明細書で提案した符号化方式を採用するユーザが、ラインメモリのサイズ、圧縮率及び画質についての様々なニーズに応じて、ブロックの形状を柔軟に定義し、その定義を符号化側及び復号化側の双方で利用することができる。
【０２１８】
また、本実施形態によれば、非正方形のブロックについても多様な予測モード（予測単位の配置の候補）が提供される。それにより、正方形以外の形状を有するブロックを使用する場合にも、画像の内容に応じて効果的に動き予測をすることができる。
【０２１９】
なお、本明細書では、符号化ストリームの例えばシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に形状判定情報が多重化され、符号化ストリームが符号化側から復号化側へ伝送される例について主に説明した。しかしながら、形状判定情報を伝送する手法はかかる例に限定されない。例えば、形状判定情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号化時にリンクさせ得るようにすることを意味する。即ち、形状判定情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、形状判定情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、形状判定情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０２２０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０２２１】
１０      画像符号化装置（画像処理装置）
１６      符号化部
４２      形状判定部
４３      動きベクトル設定部
６０      画像復号化装置（画像処理装置）
６２      復号化部
９１      形状判定部
９２      予測単位判定部
９３      予測部
【図１】
2012019490.tif 000008
【図２】
2012019490.tif 000009
【図３】
2012019490.tif 000010
【図４】
2012019490.tif 000011
【図５】
2012019490.tif 000012
【図６】
2012019490.tif 000013
【図７】
2012019490.tif 000014
【図８】
2012019490.tif 000015
【図９】
2012019490.tif 000016
【図１０】
2012019490.tif 000017
【図１１】
2012019490.tif 000018
【図１２】
2012019490.tif 000019
【図１３】
2012019490.tif 000020
【図１４】
2012019490.tif 000021
【図１５】
2012019490.tif 000022
【図１６】
2012019490.tif 000023
【図１７】
2012019490.tif 000024
【図１８】
2012019490.tif 000025
【図１９】
2012019490.tif 000026
【図２０】
2012019490.tif 000027
【図２１】
2012019490.tif 000028
【図２２】
2012019490.tif 000029
【図２３】
2012019490.tif 000030
【図２４】
2012019490.tif 000031
【図２５】
2012019490.tif 000032
【図２６】
2012019490.tif 000033
【図２７】
2012019490.tif 000034
【図２８】
2012019490.tif 000035
【図２９】
2012019490.tif 000036
【図３０】
2012019490.tif 000037