(57)【要約】【課題】イントラ予測に要する処理時間を低減すること。【解決手段】画像内のマクロブロックに含まれる第１サブブロックの第１画素の画素値及び上記マクロブロックに含まれる第２サブブロックの第２画素の画素値が連続し、並びに上記第１サブブロックの第３画素の画素値及び上記第２サブブロックの第４画素の画素値が連続するように、上記画像に含まれる画素値を並び替える並び替え部と、上記並び替え部により並び替えられた画素値を用いて、上記第１画素及び上記第２画素の予測画素値を生成する第１予測部と、上記並び替え部により並び替えられた画素値を用いて、上記第１予測部の処理と並列的に、上記第３画素及び上記第４画素の予測画素値を生成する第２予測部と、を備える画像処理装置を提供する。【選択図】図２
2012028858.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”（VCEG-AL28，2009年7月）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、一般的に、イントラ予測においては、あるブロックについて予測処理が終了した後でなければ、そのブロックの画素値を参照する他のブロックについての予測処理を開始できない。そのため、従来の画像符号化方式では、イントラ予測処理がボトルネックとなり、画像の符号化及び復号化を高速で又はリアルタイムで実行することが困難であった。
【００１０】
そこで、本発明は、イントラ予測に要する処理時間を低減することのできる、画像処理装置及び画像処理方法を提供しようとするものである。
【課題を解決するための手段】
【００１１】
本発明のある実施形態によれば、画像内のマクロブロックに含まれる第１サブブロックの第１画素の画素値及び上記マクロブロックに含まれる第２サブブロックの第２画素の画素値が連続し、並びに上記第１サブブロックの第３画素の画素値及び上記第２サブブロックの第４画素の画素値が連続するように、上記画像に含まれる画素値を並び替える並び替え部と、上記並び替え部により並び替えられた画素値を用いて、上記第１画素及び上記第２画素の予測画素値を生成する第１予測部と、上記並び替え部により並び替えられた画素値を用いて、上記第１予測部の処理と並列的に、上記第３画素及び上記第４画素の予測画素値を生成する第２予測部と、を備える画像処理装置が提供される。
【００１２】
上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
【００１３】
また、上記並び替え部は、上記第１画素に隣接する第１参照画素の画素値及び上記第２画素に隣接する第２参照画素の画素値が連続し、並びに上記第３画素に隣接する第３参照画素の画素値及び上記第４画素に隣接する第４参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値をさらに並び替えてもよい。
【００１４】
また、上記第１サブブロック内での上記第１画素の画素位置と上記第２サブブロック内での上記第２画素の画素位置とは同じ位置であり、上記第１サブブロック内での上記第３画素の画素位置と上記第２サブブロック内での上記第４画素の画素位置とは同じ位置であってもよい。
【００１５】
また、上記第１画素、上記第２画素、上記第３画素、及び上記第４画素は、上記画像内の同じラインに属する画素であってもよい。
【００１６】
また、上記並び替え部は、上記第１サブブロックの第５画素の画素値及び上記第２サブブロックの第６画素の画素値が連続するように、上記画像に含まれる画素値をさらに並び替え、上記第１予測部は、上記第１画素及び上記第２画素について生成した予測画素値に基づいて、上記第５画素及び上記第６画素の予測画素値をさらに生成してもよい。
【００１７】
また、上記第５画素及び上記第６画素は、上記画像内の上記第１画素及び上記第２画素とは異なるラインに属する画素であってもよい。
【００１８】
また、上記第１予測部又は上記第２予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、上記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定してもよい。
【００１９】
また、上記第１予測部及び上記第２予測部は、各画素の予測画素値の生成を、イントラ４×４予測モードで実行してもよい。
【００２０】
また、上記画像処理装置は、上記第１サブブロックについての直交変換と上記第２サブブロックについての直交変換とを並列的に実行する直交変換部、をさらに備えてもよい。
【００２１】
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法において、画像内のマクロブロックに含まれる第１サブブロックの第１画素の画素値及び上記マクロブロックに含まれる第２サブブロックの第２画素の画素値が連続し、並びに上記第１サブブロックの第３画素の画素値及び上記第２サブブロックの第４画素の画素値が連続するように、上記画像に含まれる画素値を並び替えるステップと、並び替えられた画素値を用いて、上記第１画素及び上記第２画素の予測画素値を生成するステップと、並び替えられた画素値を用いて、上記第１画素及び上記第２画素の予測画素値の生成と並列的に、上記第３画素及び上記第４画素の予測画素値を生成するステップと、を含む画像処理方法が提供される。
【００２２】
また、本発明の別の実施形態によれば、画像内のマクロブロックに含まれる第１サブブロックの第１画素に隣接する第１参照画素の画素値及び上記マクロブロックに含まれる第２サブブロックの第２画素に隣接する第２参照画素の画素値が連続し、並びに上記第１サブブロックの第３画素に隣接する第３参照画素の画素値及び上記第２サブブロックの第４画素に隣接する第４参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値を並び替える並び替え部と、上記並び替え部により並び替えられた参照画素の画素値を用いて、上記第１画素及び上記第２画素の予測画素値を生成する第１予測部と、上記並び替え部により並び替えられた参照画素の画素値を用いて、上記第１予測部の処理と並列的に、上記第３画素及び上記第４画素の予測画素値を生成する第２予測部と、を備える画像処理装置が提供される。
【００２３】
上記画像処理装置は、典型的には、画像を復号化する画像復号化装置として実現され得る。
【００２４】
また、上記第１サブブロック内での上記第１画素の画素位置と上記第２サブブロック内での上記第２画素の画素位置とは同じ位置であり、上記第１サブブロック内での上記第３画素の画素位置と上記第２サブブロック内での上記第４画素の画素位置とは同じ位置であってもよい。
【００２５】
また、上記第１画素、上記第２画素、上記第３画素、及び上記第４画素は、上記画像内の同じラインに属する画素であってもよい。
【００２６】
また、上記第１予測部は、上記第１画素及び上記第２画素について生成した予測画素値に基づいて、上記第１サブブロックの第５画素及び上記第２サブブロックの第６画素の予測画素値をさらに生成してもよい。
【００２７】
また、上記第５画素及び上記第６画素は、上記画像内の上記第１画素及び上記第２画素とは異なるラインに属する画素であってもよい。
【００２８】
また、上記第１予測部又は上記第２予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、上記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定してもよい。
【００２９】
また、上記第１予測部及び上記第２予測部は、各画素の予測画素値の生成を、イントラ４×４予測モードで実行してもよい。
【００３０】
また、上記画像処理装置は、上記第１サブブロックについての逆直交変換と上記第２サブブロックについての逆直交変換とを並列的に実行する逆直交変換部、をさらに備えてもよい。
【００３１】
また、本発明の別の実施形態によれば、画像を処理するための画像処理方法において、画像内のマクロブロックに含まれる第１サブブロックの第１画素に隣接する第１参照画素の画素値及び上記マクロブロックに含まれる第２サブブロックの第２画素に隣接する第２参照画素の画素値が連続し、並びに上記第１サブブロックの第３画素に隣接する第３参照画素の画素値及び上記第２サブブロックの第４画素に隣接する第４参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値を並び替えるステップと、並び替えられた参照画素の画素値を用いて、上記第１画素及び上記第２画素の予測画素値を生成するステップと、並び替えられた参照画素の画素値を用いて、上記第１画素及び上記第２画素の予測画素値の生成と並列的に、上記第３画素及び上記第４画素の予測画素値を生成するステップと、を含む画像処理方法が提供される。
【発明の効果】
【００３２】
以上説明したように、本発明に係る画像処理装置及び画像処理方法によれば、イントラ予測に要する処理時間を低減することができる。
【図面の簡単な説明】
【００３３】
【図１】一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図２】一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図３】イントラ４×４予測モードについて説明するための第１の説明図である。
【図４】イントラ４×４予測モードについて説明するための第２の説明図である。
【図５】イントラ４×４予測モードについて説明するための第３の説明図である。
【図６】イントラ８×８予測モードについて説明するための説明図である。
【図７】イントラ１６×１６予測モードについて説明するための説明図である。
【図８】マクロブロック内の画素及び参照画素について説明するための説明図である。
【図９】符号化対象の画素値の並び替えについて説明するための説明図である。
【図１０】参照画素値の並び替えについて説明するための説明図である。
【図１１Ａ】４並列処理について説明するための第１の説明図である。
【図１１Ｂ】４並列処理について説明するための第２の説明図である。
【図１２】直交変換処理の並列化について説明するための説明図である。
【図１３】予測方向の推定について説明するための説明図である。
【図１４】４並列処理による処理時間の低減について説明するための説明図である。
【図１５Ａ】２並列処理について説明するための第１の説明図である。
【図１５Ｂ】２並列処理について説明するための第２の説明図である。
【図１６Ａ】８並列処理について説明するための第１の説明図である。
【図１６Ｂ】８並列処理について説明するための第２の説明図である。
【図１７】一実施形態に係る符号化時のイントラ予測処理の流れの一例を示すフローチャートである。
【図１８】一実施形態に係る画像復号化装置の構成の一例を示すブロック図である。
【図１９】一実施形態に係る画像復号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図２０】一実施形態に係る復号化時のイントラ予測処理の流れの一例を示すフローチャートである。
【図２１】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図２２】携帯電話機の概略的な構成の一例を示すブロック図である。
【図２３】記録再生装置の概略的な構成の一例を示すブロック図である。
【図２４】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００３５】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
１．一実施形態に係る画像符号化装置の構成例
２．一実施形態に係る符号化時の処理の流れ
３．一実施形態に係る画像復号化装置の構成例
４．一実施形態に係る復号化時の処理の流れ
５．応用例
６．まとめ
【００３６】
＜１．一実施形態に係る画像符号化装置の構成例＞
［１−１．全体的な構成例］
図１は、本発明の一実施形態に係る画像符号化装置１０の構成の一例を示すブロック図である。図１を参照すると、画像符号化装置１０は、Ａ／Ｄ（Analogue  to  Digital）変換部１１、並べ替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、デブロックフィルタ２４、フレームメモリ２５、セレクタ２６及び２７、動き探索部３０、及びイントラ予測部４０を備える。
【００３７】
Ａ／Ｄ変換部１１は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ１２へ出力する。
【００３８】
並べ替えバッファ１２は、Ａ／Ｄ変換部１１から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group  of  Pictures）構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部１３、動き探索部３０及びイントラ予測部４０へ出力する。
【００３９】
減算部１３には、並べ替えバッファ１２から入力される画像データ、及び後に説明する動き探索部３０又はイントラ予測部４０から入力される予測画像データが供給される。減算部１３は、並べ替えバッファ１２から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部１４へ出力する。
【００４０】
直交変換部１４は、減算部１３から入力される予測誤差データについて直交変換を行う。直交変換部１４により実行される直交変換は、例えば、離散コサイン変換（Discrete  Cosine  Transform：ＤＣＴ）又はカルーネン・レーベ変換などであってよい。直交変換部１４は、直交変換処理により取得される変換係数データを量子化部１５へ出力する。
【００４１】
量子化部１５には、直交変換部１４から入力される変換係数データ、及び後に説明するレート制御部１８からのレート制御信号が供給される。量子化部１５は、変換係数データを量子化し、量子化後の変換係数データ（以下、量子化データという）を可逆符号化部１６及び逆量子化部２１へ出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づいて量子化パラメータ（量子化スケール）を切り替えることにより、可逆符号化部１６に入力される量子化データのビットレートを変化させる。
【００４２】
可逆符号化部１６には、量子化部１５から入力される量子化データ、及び、後に説明する動き探索部３０又はイントラ予測部４０から入力されるインター予測又はイントラ予測に関する情報が供給される。インター予測に関する情報は、例えば、予測モード情報、動きベクトル情報、及び参照画像情報などを含み得る。また、イントラ予測に関する情報は、例えば、イントラ予測の処理単位であるサブブロックのサイズとサブブロックごとの最適な予測方向（予測モード）とを表す予測モード情報を含み得る。
【００４３】
可逆符号化部１６は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部１６による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部１６は、上述したインター予測に関する情報又はイントラ予測に関する情報を、符号化ストリームのヘッダ（例えばブロックヘッダ又はスライスヘッダなど）内に多重化する。そして、可逆符号化部１６は、生成した符号化ストリームを蓄積バッファ１７へ出力する。
【００４４】
蓄積バッファ１７は、可逆符号化部１６から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ１７は、蓄積した符号化ストリームを、伝送路（又は画像符号化装置１０からの出力線）の帯域に応じたレートで出力する。
【００４５】
レート制御部１８は、蓄積バッファ１７の空き容量を監視する。そして、レート制御部１８は、蓄積バッファ１７の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部１５へ出力する。例えば、レート制御部１８は、蓄積バッファ１７の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部１８は、蓄積バッファ１７の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【００４６】
逆量子化部２１は、量子化部１５から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部２１は、逆量子化処理により取得される変換係数データを、逆直交変換部２２へ出力する。
【００４７】
逆直交変換部２２は、逆量子化部２１から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部２２は、復元した予測誤差データを加算部２３へ出力する。
【００４８】
加算部２３は、逆直交変換部２２から入力される復元された予測誤差データと動き探索部３０又はイントラ予測部４０から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部２３は、生成した復号化画像データをデブロックフィルタ２４及びフレームメモリ２５へ出力する。
【００４９】
デブロックフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ２４は、加算部２３から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データをフレームメモリ２５へ出力する。
【００５０】
フレームメモリ２５は、加算部２３から入力される復号化画像データ、及びデブロックフィルタ２４から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
【００５１】
セレクタ２６は、インター予測のために使用されるフィルタリング後の復号化画像データをフレームメモリ２５から読み出し、読み出した復号化画像データを参照画像データとして動き探索部３０に供給する。また、セレクタ２６は、イントラ予測のために使用されるフィルタリング前の復号化画像データをフレームメモリ２５から読み出し、読み出した復号化画像データを参照画像データとしてイントラ予測部４０に供給する。
【００５２】
セレクタ２７は、インター予測モードにおいて、動き探索部３０から出力されるインター予測の結果としての予測画像データを減算部１３へ出力すると共に、インター予測に関する情報を可逆符号化部１６へ出力する。また、セレクタ２７は、イントラ予測モードにおいて、イントラ予測部４０から出力されるイントラ予測の結果としての予測画像データを減算部１３へ出力すると共に、イントラ予測に関する情報を可逆符号化部１６へ出力する。
【００５３】
動き探索部３０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号化画像データに基づいて、Ｈ．２６４／ＡＶＣにより規定されているインター予測処理（フレーム間予測処理）を行う。例えば、動き探索部３０は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部３０は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部３０は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部３０は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、及び予測画像データを、セレクタ２７へ出力する。
【００５４】
イントラ予測部４０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びフレームメモリ２５から供給される参照画像データとしての復号化画像データに基づいて、画像内に設定されるマクロブロックごとにイントラ予測処理を行う。本実施形態において、イントラ予測部４０によるイントラ予測処理は、複数の処理分岐により並列化される。イントラ予測部４０による並列的なイントラ予測処理については、後により詳細に説明する。
【００５５】
イントラ予測部４０によるイントラ予測処理の並列化に応じて、イントラ予測モードについての、上述した減算部１３、直交変換部１４、量子化部１５、逆量子化部２１、逆直交変換部２２、及び加算部２３による処理もまた並列化され得る。この場合、図１に示しているように、減算部１３、直交変換部１４、量子化部１５、逆量子化部２１、逆直交変換部２２、加算部２３及びイントラ予測部４０は、並列処理セグメント２８を形成する。そして、並列処理セグメント２８内の各部は、複数の処理分岐を有する。並列処理セグメント２８内の各部は、イントラ予測モードにおいては複数の処理分岐を使用して並列処理を実行する一方、インター予測モードにおいては１つの処理分岐のみを使用してよい。
【００５６】
［１−２．イントラ予測部の構成例］
図２は、図１に示した画像符号化装置１０のイントラ予測部４０の詳細な構成の一例を示すブロック図である。図２を参照すると、イントラ予測部４０は、並び替え部４１、４つの予測部４２ａ〜４２ｄ、及びモードバッファ４５を有する。即ち、図２の例では、イントラ予測部４０は、並列的に配置された４つの処理分岐を含む。しかしながら、イントラ予測部４０が有する処理分岐の数は、かかる例に限定されない。後に説明するように、イントラ予測部４０は、例えば２つ又は８つの処理分岐を有していてもよい。
【００５７】
並び替え部４１は、画像（原画像）内のマクロブロックに含まれる画素値を例えばラインごとに読み込み、所定の規則に従って画素値を並び替える。そして、並び替え部４１は、並び替え後の一連の画素値のうち第１の部分を第１予測部４２ａへ、第２の部分を第２予測部４２ｂへ、第３の部分を第３予測部４２ｃへ、及び第４の部分を第４予測部４２ｄへ出力する。
【００５８】
また、並び替え部４１は、フレームメモリ２５から供給される参照画像データに含まれる参照画素値を、所定の規則に従って並び替える。フレームメモリ２５からイントラ予測部４０に供給される参照画像データは、符号化対象の画像と同じ画像内の符号化済みの部分についてのデータである。そして、並び替え部４１は、並び替え後の一連の参照画素値のうち第１の部分を第１予測部４２ａへ、第２の部分を第２予測部４２ｂへ、第３の部分を第３予測部４２ｃへ、及び第４の部分を第４予測部４２ｄへ出力する。
【００５９】
従って、本実施形態において、並び替え部４１は、原画像の画素値及び参照画素値を並び替える並び替え手段としての役割を有する。並び替え部４１による画素値の並び替えの規則については、後に例を挙げて説明する。また、並び替え部４１は、並び替えた画素値を各処理分岐に分配する逆多重化手段としての役割をも有する。
【００６０】
予測部４２ａ〜４２ｄは、並び替え部４１により並び替えられた原画像の画素値及び参照画素値を用いて、符号化対象のマクロブロックについての予測画素値を生成する。
【００６１】
より具体的には、第１予測部４２ａは、第１予測計算部４３ａ及び第１モード判定部４４ａを含む。第１予測計算部４３ａは、並び替え部４１により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。予測モードは、主に、予測に用いる参照画素から符号化対象の画素への方向（予測方向という）を特定する。１つの予測モードを指定することにより、符号化対象の画素について、予測画素値の計算に用いるべき参照画素と、予測画素値の計算式とが特定され得る。本実施形態に係るイントラ予測の際に使用され得る予測モードの例について、後に例を挙げて説明する。第１モード判定部４４ａは、並び替え部４１により並び替えられた原画像の画素値、第１予測計算部４３ａにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第１モード判定部４４ａは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。第１予測部４２ａは、このような処理の後、第１モード判定部４４ａにより選択された最適な予測モードを表す予測モード情報をモードバッファ４５へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ２７へ出力する。
【００６２】
第２予測部４２ｂは、第２予測計算部４３ｂ及び第２モード判定部４４ｂを含む。第２予測計算部４３ｂは、並び替え部４１により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第２モード判定部４４ｂは、並び替え部４１により並び替えられた原画像の画素値、第２予測計算部４３ｂにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第２モード判定部４４ｂは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第２予測部４２ｂは、このような処理の後、第２モード判定部４４ｂにより選択された最適な予測モードを表す予測モード情報をモードバッファ４５へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ２７へ出力する。
【００６３】
第３予測部４２ｃは、第３予測計算部４３ｃ及び第３モード判定部４４ｃを含む。第３予測計算部４３ｃは、並び替え部４１により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第３モード判定部４４ｃは、並び替え部４１により並び替えられた原画像の画素値、第３予測計算部４３ｃにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第３モード判定部４４ｃは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第３予測部４２ｃは、このような処理の後、第３モード判定部４４ｃにより選択された最適な予測モードを表す予測モード情報をモードバッファ４５へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ２７へ出力する。
【００６４】
第４予測部４２ｄは、第４予測計算部４３ｄ及び第４モード判定部４４ｄを含む。第４予測計算部４３ｄは、並び替え部４１により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第４モード判定部４４ｄは、並び替え部４１により並び替えられた原画像の画素値、第４予測計算部４３ｄにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第４モード判定部４４ｄは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第４予測部４２ｄは、このような処理の後、第４モード判定部４４ｄにより選択された最適な予測モードを表す予測モード情報をモードバッファ４５へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ２７へ出力する。
【００６５】
モードバッファ４５は、各予測部４２ａ〜４２ｄから入力される予測モード情報を、記憶媒体を用いて一時的に記憶する。モードバッファ４５により記憶される予測モード情報は、各予測部４２ａ〜４２ｄが予測方向の推定をする際に、参照予測モードとして参照され得る。予測方向の推定とは、隣接するブロック間で最適な予測方向（最適な予測モード）が共通している可能性が高いことに着目し、参照ブロックに設定された予測モードから符号化対象のブロックの予測モードを推定する技術である。予測方向を推定することにより適切な予測方向を決定できるブロックについては、当該ブロックの予測モード番号が符号化されないことにより、符号化に要する符号量が削減され得る。本実施形態における予測方向の推定について、後にさらに説明する。
【００６６】
［１−３．予測モードの例］
次に、図３〜図７を用いて、予測モードの例を説明する。
【００６７】
（１）イントラ４×４予測モード
図３〜図５は、イントラ４×４予測モードにおける予測モードの候補について説明するための説明図である。
【００６８】
図３を参照すると、イントラ４×４予測モードにおいて使用され得る９種類の予測モード（モード０〜モード８）が示されている。また、図４には、各モード番号にそれぞれ対応する予測方向が概略的に示されている。
【００６９】
図５において、小文字のアルファベットａ〜ｐは、４×４画素の符号化対象のサブブロック内の各画素値を表す。符号化対象のサブブロックの周囲のＲｚ（ｚ＝ａ，ｂ，…，ｍ）は、符号化済みの参照画素値を表す。以下、これら符号化対象の画素値ａ〜ｐ及び参照画素値Ｒａ〜Ｒｍを用いて、図３に例示した各予測モードにおける予測画素値の計算について説明する。
【００７０】
（１−１）モード０：垂直（Vertical）
モード０における予測方向は、垂直方向である。モード０は、参照画素値Ｒａ、Ｒｂ、Ｒｃ及びＲｄが利用可能（“available”）である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝ｅ＝ｉ＝ｍ＝Ｒａ
ｂ＝ｆ＝ｊ＝ｎ＝Ｒｂ
ｃ＝ｇ＝ｋ＝ｏ＝Ｒｃ
ｄ＝ｈ＝ｌ＝ｐ＝Ｒｄ
【００７１】
（１−２）モード１：水平（Horizontal）
モード１における予測方向は、水平方向である。モード１は、参照画素値Ｒｉ、Ｒｊ、Ｒｋ及びＲｌが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝ｂ＝ｃ＝ｄ＝Ｒｉ
ｅ＝ｆ＝ｇ＝ｈ＝Ｒｊ
ｉ＝ｊ＝ｋ＝ｌ＝Ｒｋ
ｍ＝ｎ＝ｏ＝ｐ＝Ｒｌ
【００７２】
（１−３）モード２：ＤＣ（DC）
モード２は、ＤＣ予測（平均値予測）を表す。参照画素値Ｒａ〜Ｒｄ、Ｒｉ〜Ｒｌが全て利用可能である場合には、各予測画素値は、次のように計算される：
各予測画素値＝（Ｒａ＋Ｒｂ＋Ｒｃ＋Ｒｄ＋Ｒｉ＋Ｒｊ＋Ｒｋ＋Ｒｌ＋４）＞＞３
【００７３】
参照画素値Ｒｉ〜Ｒｌが全て利用可能でない場合には、各予測画素値は、次のように計算される：
各予測画素値＝（Ｒａ＋Ｒｂ＋Ｒｃ＋Ｒｄ＋２）＞＞２
【００７４】
参照画素値Ｒａ〜Ｒｄが全て利用可能でない場合には、各予測画素値は、次のように計算される：
各予測画素値＝（Ｒｉ＋Ｒｊ＋Ｒｋ＋Ｒｌ＋２）＞＞２
【００７５】
参照画素値Ｒａ〜Ｒｄ、Ｒｉ〜Ｒが全て利用可能でない場合には、各予測画素値は、次のように計算される：
各予測画素値＝１２８
【００７６】
（１−４）モード３：斜め左下（Diagonal_Down_Left）
モード３における予測方向は、斜め左下である。モード３は、参照画素値Ｒａ〜Ｒｈが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝（Ｒａ＋２Ｒｂ＋Ｒｃ＋２）＞＞２
ｂ＝ｅ＝（Ｒｂ＋２Ｒｃ＋Ｒｄ＋２）＞＞２
ｃ＝ｆ＝ｉ＝（Ｒｃ＋２Ｒｄ＋Ｒｅ＋２）＞＞２
ｄ＝ｇ＝ｊ＝ｍ＝（Ｒｄ＋２Ｒｅ＋Ｒｆ＋２）＞＞２
ｈ＝ｋ＝ｎ＝（Ｒｅ＋２Ｒｆ＋Ｒｇ＋２）＞＞２
ｌ＝ｏ＝（Ｒｆ＋２Ｒｇ＋Ｒｈ＋２）＞＞２
ｐ＝（Ｒｇ＋３Ｒｈ＋２）＞＞２
【００７７】
（１−５）モード４：斜め右下（Diagonal_Down_Right）
モード４における予測方向は、斜め右下である。モード４は、参照画素値Ｒａ〜Ｒｄ、Ｒｉ〜Ｒｍが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ｍ＝（Ｒｊ＋２Ｒｋ＋Ｒｌ＋２）＞＞２
ｉ＝ｎ＝（Ｒｉ＋２Ｒｊ＋Ｒｋ＋２）＞＞２
ｅ＝ｊ＝ｏ＝（Ｒｍ＋２Ｒｉ＋Ｒｊ＋２）＞＞２
ａ＝ｆ＝ｋ＝ｐ＝（Ｒａ＋２Ｒｍ＋Ｒｉ＋２）＞＞２
ｂ＝ｇ＝ｌ＝（Ｒｍ＋２Ｒａ＋Ｒｂ＋２）＞＞２
ｃ＝ｈ＝（Ｒａ＋２Ｒｂ＋Ｒｃ＋２）＞＞２
ｄ＝（Ｒｂ＋２Ｒｃ＋Ｒｄ＋２）＞＞２
【００７８】
（１−６）モード５：垂直右（Vertical_Right）
モード５における予測方向は、垂直右である。モード５は、参照画素値Ｒａ〜Ｒｄ、Ｒｉ〜Ｒｍが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝ｊ＝（Ｒｍ＋Ｒａ＋１）＞＞１
ｂ＝ｋ＝（Ｒａ＋Ｒｂ＋１）＞＞１
ｃ＝ｌ＝（Ｒｂ＋Ｒｃ＋１）＞＞１
ｄ＝（Ｒｃ＋Ｒｄ＋１）＞＞１
ｅ＝ｎ＝（Ｒｉ＋２Ｒｍ＋Ｒａ＋２）＞＞２
ｆ＝ｏ＝（Ｒｍ＋２Ｒａ＋Ｒｂ＋２）＞＞２
ｇ＝ｐ＝（Ｒａ＋２Ｒｂ＋Ｒｃ＋２）＞＞２
ｈ＝（Ｒｂ＋２Ｒｃ＋Ｒｄ＋２）＞＞２
ｉ＝（Ｒｍ＋２Ｒｉ＋Ｒｊ＋２）＞＞２
ｍ＝（Ｒｉ＋２Ｒｊ＋Ｒｋ＋２）＞＞２
【００７９】
（１−７）モード６：水平下（Horizontal_Down）
モード６における予測方向は、水平下である。モード６は、参照画素値Ｒａ〜Ｒｄ、Ｒｉ〜Ｒｍが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝ｇ＝（Ｒｍ＋Ｒｉ＋１）＞＞１
ｂ＝ｈ＝（Ｒｉ＋２Ｒｍ＋Ｒａ＋２）＞＞２
ｃ＝（Ｒｍ＋２Ｒａ＋Ｒｂ＋２）＞＞２
ｄ＝（Ｒａ＋２Ｒｂ＋Ｒｃ＋２）＞＞２
ｅ＝ｋ＝（Ｒｉ＋Ｒｊ＋１）＞＞１
ｆ＝ｌ＝（Ｒｍ＋２Ｒｉ＋Ｒｊ＋２）＞＞２
ｉ＝ｏ＝（Ｒｊ＋Ｒｋ＋１）＞＞１
ｊ＝ｐ＝（Ｒｉ＋２Ｒｊ＋Ｒｋ＋２）＞＞２
ｍ＝（Ｒｋ＋Ｒｌ＋１）＞＞１
ｎ＝（Ｒｊ＋２Ｒｋ＋Ｒｌ＋２）＞＞２
【００８０】
（１−８）モード７：垂直左（Vertical_Left）
モード７における予測方向は、垂直左である。モード７は、参照画素値Ｒａ〜Ｒｇが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝（Ｒａ＋Ｒｂ＋１）＞＞１
ｂ＝ｉ＝（Ｒｂ＋Ｒｃ＋１）＞＞１
ｃ＝ｊ＝（Ｒｃ＋Ｒｄ＋１）＞＞１
ｄ＝ｋ＝（Ｒｄ＋Ｒｅ＋１）＞＞１
ｌ＝（Ｒｅ＋Ｒｆ＋１）＞＞１
ｅ＝（Ｒａ＋２Ｒｂ＋Ｒｃ＋２）＞＞２
ｆ＝ｍ＝（Ｒｂ＋２Ｒｃ＋Ｒｄ＋２）＞＞２
ｇ＝ｎ＝（Ｒｃ＋２Ｒｄ＋Ｒｅ＋２）＞＞２
ｈ＝ｏ＝（Ｒｄ＋２Ｒｅ＋Ｒｆ＋２）＞＞２
ｐ＝（Ｒｅ＋２Ｒｆ＋Ｒｇ＋２）＞＞２
【００８１】
（１−９）モード８：水平上（Horizontal_Up）
モード８における予測方向は、水平上である。モード８は、参照画素値Ｒｉ〜Ｒｌが利用可能である場合に使用され得る。各予測画素値は、次のように計算される：
ａ＝（Ｒｉ＋Ｒｊ＋１）＞＞１
ｂ＝（Ｒｉ＋２Ｒｊ＋Ｒｋ＋２）＞＞２
ｃ＝ｅ＝（Ｒｊ＋Ｒｋ＋１）＞＞１
ｄ＝ｆ＝（Ｒｊ＋２Ｒｋ＋Ｒｌ＋２）＞＞２
ｇ＝ｉ＝（Ｒｋ＋Ｒｌ＋１）＞＞１
ｈ＝ｊ＝（Ｒｋ＋３Ｒｌ＋２）＞＞２
ｋ＝ｌ＝ｍ＝ｎ＝ｏ＝ｐ＝Ｒｌ
【００８２】
これら９つの予測モードにおける予測画素値の計算式は、Ｈ．２６４／ＡＶＣにおいて規定されているイントラ４×４予測モードにおける計算式と同様である。上述したイントラ予測部４０の予測部４２ａ〜４２ｄの予測計算部４３ａ〜４３ｄは、これら９つの予測モードを候補として、並び替え部４１により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算し得る。
【００８３】
（２）イントラ８×８予測モード
図６は、イントラ８×８予測モードにおける予測モードの候補について説明するための説明図である。図６を参照すると、イントラ８×８予測モードにおいて使用され得る９種類の予測モード（モード０〜モード８）が示されている。
【００８４】
モード０における予測方向は、垂直方向である。モード１における予測方向は、水平方向である。モード２は、ＤＣ予測（平均値予測）を表す。モード３における予測方向は、斜め左下である。モード４における予測方向は、斜め右下である。モード５における予測方向は、垂直右である。モード６における予測方向は、水平下である。モード７における予測方向は、垂直左である。モード８における予測方向は、水平上である。
【００８５】
イントラ８×８予測モードでは、予測画素値の計算の前に、参照画素値に対してローパスフィルタリングが行われる。そして、ローパスフィルタリング後の参照画素値に基づいて、各予測モードに従って予測画素値が計算される。イントラ８×８予測モードの９つの予測モードにおける予測画素値の計算式もまた、Ｈ．２６４／ＡＶＣにおいて規定されている計算式と同様であってよい。上述したイントラ予測部４０の予測部４２ａ〜４２ｄの予測計算部４３ａ〜４３ｄは、イントラ８×８予測モードの９つの予測モードを候補として、並び替え部４１により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算してもよい。
【００８６】
（３）イントラ１６×１６予測モード
図７は、イントラ１６×１６予測モードにおける予測モードの候補について説明するための説明図である。図７を参照すると、イントラ１６×１６予測モードにおいて使用され得る４種類の予測モード（モード０〜モード３）が示されている。
【００８７】
モード０における予測方向は、垂直方向である。モード１における予測方向は、水平方向である。モード２は、ＤＣ予測（平均値予測）を表す。モード３は、平面予測を表す。イントラ１６×１６予測モードの４つの予測モードにおける予測画素値の計算式もまた、Ｈ．２６４／ＡＶＣにおいて規定されている計算式と同様であってよい。上述したイントラ予測部４０の予測部４２ａ〜４２ｄの予測計算部４３ａ〜４３ｄは、イントラ１６×１６予測モードの４つの予測モードを候補として、並び替え部４１により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算してもよい。
【００８８】
（４）色差信号のイントラ予測
色差信号についての予測モードは、輝度信号についての予測モードとは独立して設定され得る。色差信号についての予測モードは、上述した輝度信号についてのイントラ１６×１６予測モードと同様、４種類の予測モードを含み得る。Ｈ．２６４／ＡＶＣにおいては、色差信号についての予測モードのモード０はＤＣ予測、モード１は水平予測、モード２は垂直予測、モード３は平面予測である。
【００８９】
［１−４．並列処理の説明］
次に、図８〜図１６Ｂを用いて、図２に示したイントラ予測部４０による並列的なイントラ予測処理について詳細に説明する。
【００９０】
（１）並び替え処理
図８は、イントラ予測部４０の並び替え部４１による並び替え前の、マクロブロック内の符号化対象画素、及び当該マクロブロックの周囲の参照画素を示している。
【００９１】
図８を参照すると、１６×１６画素のマクロブロックＭＢは、それぞれ４×４画素である１６個のサブブロックＳＢを含む。１つのサブブロックＳＢは、それぞれ小文字のアルファベットａ〜ｐにより表される１６個の画素を含む。マクロブロックＭＢの第１ラインＬ１は、４つのサブブロックの計１６個の画素ａ、ｂ、ｃ及びｄを含む。第１ラインＬ１の画素の順序は、ａ、ｂ、ｃ、ｄ、ａ、ｂ、ｃ、ｄ、…である。マクロブロックＭＢの第２ラインＬ２は、４つのサブブロックの計１６個の画素ｅ、ｆ、ｇ及びｈを含む。第２ラインＬ２の画素の順序は、ｅ、ｆ、ｇ、ｈ、ｅ、ｆ、ｇ、ｈ、…である。マクロブロックＭＢの第３ラインＬ３は、４つのサブブロックの計１６個の画素ｉ、ｊ、ｋ及びｌを含む。第３ラインＬ３の画素の順序は、ｉ、ｊ、ｋ、ｌ、ｉ、ｊ、ｋ、ｌ、…である。マクロブロックＭＢの第４ラインＬ４は、４つのサブブロックの計１６個の画素ｍ、ｎ、ｏ及びｐを含む。第４ラインＬ４の画素の順序は、ｍ、ｎ、ｏ、ｐ、ｍ、ｎ、ｏ、ｐ、…である。
【００９２】
マクロブロックＭＢの周囲には、それぞれ大文字のアルファベットＡ〜Ｄ、Ａ´、Ｅ、Ｉ、Ｍ及びＸにより表される参照画素が示されている。マクロブロックＭＢの第１ラインＬ１の上の参照画素の順序は、Ａ、Ｂ、Ｃ、Ｄ、Ａ、Ｂ、Ｃ、Ｄ、…である。
【００９３】
図９は、図８に示した符号化対象画素の、並び替え部４１による並び替えについて説明するための説明図である。
【００９４】
並び替え部４１による画素値の並び替え規則は、例えば、次のような規則である。即ち、並び替え部４１は、マクロブロックＭＢに含まれるサブブロックＳＢ１の第１画素の画素値及びサブブロックＳＢ２の第２画素の画素値を連続させる。これら第１画素及び第２画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第１画素はサブブロックＳＢ１の画素ａ、第２画素はサブブロックＳＢ２の画素ａである。並び替え部４１は、４並列の場合には、サブブロックＳＢ３の画素ａの画素値及びサブブロックＳＢ４の画素ａの画素値を、第１画素及び第２画素の画素値にさらに連続させる。並び替え部４１は、これらサブブロックＳＢ１〜ＳＢ４の画素ａの画素値を、第１予測部４２ａへ連続的に出力する（図９の分岐＃１）。
【００９５】
同様に、並び替え部４１は、マクロブロックＭＢに含まれるサブブロックＳＢ１の第３画素の画素値及びサブブロックＳＢ２の第４画素の画素値を連続させる。これら第３画素及び第４画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第３画素はサブブロックＳＢ１の画素ｂ、第４画素はサブブロックＳＢ２の画素ｂである。並び替え部４１は、４並列の場合には、サブブロックＳＢ３の画素ｂの画素値及びサブブロックＳＢ４の画素ｂの画素値を、第３画素及び第４画素の画素値にさらに連続させる。並び替え部４１は、これらサブブロックＳＢ１〜ＳＢ４の画素ｂの画素値を、第２予測部４２ｂへ連続的に出力する（図９の分岐＃２）。
【００９６】
同様に、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｃの画素値を、第３予測部４２ｃへ連続的に出力する（図９の分岐＃３）。また、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｄの画素値を、第４予測部４２ｄへ連続的に出力する（図９の分岐＃４）。
【００９７】
なお、図９に示しているように、第１画素、第２画素、第３画素、及び第４画素は、画像内の同じラインに属する画素であることが望ましい。それにより、並び替え部４１は、並び替え処理に際して、１つのラインの画素値のみを保持すればよいため、並び替え処理に要するメモリリソースの増加が回避される。
【００９８】
並び替え部４１による並び替え処理は、マクロブロックＭＢの第２ラインＬ２に対しても同様に行われる。即ち、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｅの画素値を、第１予測部４２ａへ連続的に出力する。また、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｆの画素値を、第２予測部４２ｂへ連続的に出力する。また、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｇの画素値を、第３予測部４２ｃへ連続的に出力する。また、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｈの画素値を、第４予測部４２ｄへ連続的に出力する。
【００９９】
図１０は、図８に示した参照画素の、並び替え部４１による並び替えについて説明するための説明図である。
【０１００】
並び替え部４１は、第１画素に隣接する第１参照画素の画素値及び第２画素に隣接する第２参照画素の画素値が連続し、並びに第３画素に隣接する第３参照画素の画素値及び第４画素に隣接する第４参照画素の画素値が連続するように、参照画素値を並び替える。
【０１０１】
上述したように、例えば、第１画素とは、サブブロックＳＢ１の画素ａである。第２画素とは、サブブロックＳＢ２の画素ａである。図１０の例では、サブブロックＳＢ１〜ＳＢ４の画素ａの上の参照画素Ａの画素値が、並び替え部４１による並び替え後に連続している。並び替え部４１は、これら参照画素値を、例えば第１予測部４２ａへ連続的に出力する（図１０の分岐＃１）。
【０１０２】
同様に、第３画素とは、サブブロックＳＢ１の画素ｂである。第４画素とは、サブブロックＳＢ２の画素ｂである。図１０の例では、サブブロックＳＢ１〜ＳＢ４の画素ｂの上の参照画素Ｂの画素値が、並び替え部４１による並び替え後に連続している。並び替え部４１は、これら参照画素値を、例えば第２予測部４２ｂへ連続的に出力する（図１０の分岐＃２）。
【０１０３】
さらに、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｃの上の参照画素Ｃの画素値を、例えば第３予測部４２ｃへ連続的に出力する（図１０の分岐＃３）。また、並び替え部４１は、サブブロックＳＢ１〜ＳＢ４の画素ｄの上の参照画素Ｄの画素値を、例えば第４予測部４２ｄへ連続的に出力する（図１０の分岐＃４）。
【０１０４】
なお、並び替え部４１は、マクロブロックＭＢの左の参照画素Ａ´、Ｅ、Ｉ及びＭの画素値については、これらを並び替えることなく第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄへ出力する。
【０１０５】
（２）４並列予測処理
図１１Ａ及び図１１Ｂは、イントラ予測部４０の予測部４２ａ〜４２ｄによる４並列処理について説明するための説明図である。図１１Ａ及び図１１Ｂを参照すると、図８に示したマクロブロックＭＢ内の画素についての予測画素値の生成処理が、第１、第２、第３及び第４のグループにグループ分けされている。
【０１０６】
第１グループは、第１予測部４２ａによる画素ａの予測画素値の生成、第２予測部４２ｂによる画素ｂの予測画素値の生成、第３予測部４２ｃによる画素ｃの予測画素値の生成、及び第４予測部４２ｄによる画素ｄの予測画素値の生成を含む。１つのラインごとに、これら４つの画素の予測画素値の生成が並列的に実行される。第１予測部４２ａは、上及び右上の参照画素として画素Ａ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第２予測部４２ｂは、上及び右上の参照画素として画素Ｂ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第３予測部４２ｃは、上及び右上の参照画素として画素Ｃ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第４予測部４２ｄは、上及び右上の参照画素として画素Ｄ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。
【０１０７】
第２グループは、第１予測部４２ａによる画素ｅの予測画素値の生成、第２予測部４２ｂによる画素ｆの予測画素値の生成、第３予測部４２ｃによる画素ｇの予測画素値の生成、及び第４予測部４２ｄによる画素ｈの予測画素値の生成を含む。１つのラインごとに、これら４つの画素の予測画素値の生成が並列的に実行される。第１予測部４２ａは、上の参照画素として画素ａ、右上の参照画素として画素Ａ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。第２予測部４２ｂは、上の参照画素として画素ｂ、右上の参照画素として画素Ｂ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。第３予測部４２ｃは、上の参照画素として画素ｃ、右上の参照画素として画素Ｃ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。第４予測部４２ｄは、上の参照画素として画素ｄ、右上の参照画素として画素Ｄ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。
【０１０８】
第３グループは、第１予測部４２ａによる画素ｉの予測画素値の生成、第２予測部４２ｂによる画素ｊの予測画素値の生成、第３予測部４２ｃによる画素ｋの予測画素値の生成、及び第４予測部４２ｄによる画素ｌの予測画素値の生成を含む。１つのラインごとに、これら４つの画素の予測画素値の生成が並列的に実行される。第１予測部４２ａは、上の参照画素として画素ｅ、右上の参照画素として画素Ａ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第２予測部４２ｂは、上の参照画素として画素ｆ、右上の参照画素として画素Ｂ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第３予測部４２ｃは、上の参照画素として画素ｇ、右上の参照画素として画素Ｃ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第４予測部４２ｄは、上の参照画素として画素ｈ、右上の参照画素として画素Ｄ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。
【０１０９】
第４グループは、第１予測部４２ａによる画素ｍの予測画素値の生成、第２予測部４２ｂによる画素ｎの予測画素値の生成、第３予測部４２ｃによる画素ｏの予測画素値の生成、及び第４予測部４２ｄによる画素ｐの予測画素値の生成を含む。１つのラインごとに、これら４つの画素の予測画素値の生成が並列的に実行される。第１予測部４２ａは、上の参照画素として画素ｉ、右上の参照画素として画素Ａ、左上の参照画素として画素Ｉ、左の参照画素として画素Ｍを使用する。第２予測部４２ｂは、上の参照画素として画素ｊ、右上の参照画素として画素Ｂ、左上の参照画素として画素Ｉ、左の参照画素として画素Ｍを使用する。第３予測部４２ｃは、上の参照画素として画素ｋ、右上の参照画素として画素Ｃ、左上の参照画素として画素Ｉ、左の参照画素として画素Ｍを使用する。第４予測部４２ｄは、上の参照画素として画素ｌ、右上の参照画素として画素Ｄ、左上の参照画素として画素Ｉ、左の参照画素として画素Ｍを使用する。
【０１１０】
このような第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ及び第４予測部４２ｄによる４並列処理により、イントラ予測部４０は、サブブロックごとにイントラ予測処理の完了を待つことなく、４つのサブブロックを対象とするイントラ予測処理を並列的に実行することができる。
【０１１１】
ここでは、イントラ予測部４０において主にイントラ４×４予測モードでのイントラ予測処理を４並列で実行する例について説明した。なお、イントラ予測部４０は、上述したイントラ８×８予測モード又はイントラ１６×１６予測モードでイントラ予測処理を実行してもよい。例えば、マクロブロックのサイズが１６×１６画素である場合には、イントラ８×８予測モードでのイントラ予測処理を２並列で実行することができる。また、例えば、マクロブロックのサイズが３２×３２画素である場合には、イントラ８×８予測モードでのイントラ予測処理を４並列で実行し、及びイントラ１６×１６予測モードでのイントラ予測処理を２並列で実行することができる。イントラ予測部４０は、これら３種類のサブブロックサイズの全ての使用可能な予測モードでイントラ予測処理を実行し、最適な１つのサブブロックサイズ、及び各サブブロックについての最適な１つの予測モードを選択してもよい。
【０１１２】
また、イントラ予測部４０は、イントラ４×４予測モードのみで並列的なイントラ予測処理を実行してもよい。本実施形態では、画素値を並び替える結果として、イントラ予測の処理単位であるサブブロックサイズが大きいほど、符号化対象の画素から参照画素までの距離が遠くなり、これら画素間の相関が小さくなる。そのため、多くの場合、イントラ予測の処理単位がより小さいイントラ４×４予測モードでイントラ予測を実行する方が、より原画像に近い予測結果が得られる可能性が高い。
【０１１３】
（３）直交変換処理の並列化
イントラ予測モードにおいては、上述したイントラ予測処理の並列化に合わせて、図１に示した画像符号化装置１０の並列処理セグメント２８に含まれる各部の処理も並列化することが望ましい。図１２は、直交変換部１４による直交変換の並列化について説明するための説明図である。
【０１１４】
図１２の上部には、イントラ予測部４０から並列的に出力される画素値が示されている。画素値の出力順は、図中で上から下に向かって早いものとする。例えば、第１予測部４２ａからは、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ａ、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｅの予測画素値が順に出力される。第２予測部４２ｂからは、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｂ、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｆの予測画素値が順に出力される。第３予測部４２ｃからは、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｃ、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｇの予測画素値が順に出力される。第４予測部４２ｄからは、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｄ、サブブロックＳＢ１、ＳＢ２、ＳＢ３、ＳＢ４の画素ｈの予測画素値が順に出力される。
【０１１５】
図１２の下部には、直交変換部１４に並列的に入力される画素値（差分画素値）が示されている。直交変換部１４は、４つの処理分岐を有し、第１の処理分岐には、サブブロックＳＢ１の１６個の画素ａ〜画素ｐが入力される。第２の処理分岐には、サブブロックＳＢ２の１６個の画素ａ〜画素ｐが入力される。第３の処理分岐には、サブブロックＳＢ３の１６個の画素ａ〜画素ｐが入力される。第４の処理分岐には、サブブロックＳＢ４の１６個の画素ａ〜画素ｐが入力される。そして、直交変換部１４は、これら４つのサブブロックＳＢ１〜ＳＢ４についての直交変換処理を並列的に実行する。
【０１１６】
同様に、減算部１３、量子化部１５、逆量子化部２１、逆直交変換部２２及び加算部２３もまた、イントラ予測モードにおいて、各部の処理を４並列で並列的に実行する。
【０１１７】
（４）予測方向の推定
イントラ予測部４０の第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ及び第４予測部４２ｄは、予測モード情報を符号化することによる符号量の増加を抑制するために、参照画素が属するブロックに設定された予測モード（予測方向）から、符号化対象のブロックの最適な予測モード（予測方向）を推定してもよい。この場合、推定される予測モード（以下、推定予測モードという）とコスト関数値を用いて選択される最適な予測モードとが等しいときは、予測モードを推定可能であることを示す情報のみが予測モード情報として符号化され得る。予測モードを推定可能であることを示す情報とは、例えば、Ｈ．２６４／ＡＶＣにおける「MostProbableMode」に相当する。
【０１１８】
図１３は、予測方向の推定について説明するための説明図である。図１３を参照すると、符号化対象のサブブロックＳＢｃ、並びに、サブブロックＳＢｃの左の参照ブロックＳＢａ及びサブブロックＳＢｃの上の参照ブロックＳＢｂが示されている。参照ブロックＳＢａについて設定された参照予測モードはＭａ、参照ブロックＳＢｂについて設定された参照予測モードはＭｂである。また、符号化対象のサブブロックＳＢｃについての推定予測モードはＭｃである。
【０１１９】
Ｈ．２６４／ＡＶＣにおいて、推定予測モードＭｃは、次式により決定される：
Ｍｃ＝ｍｉｎ（Ｍａ，Ｍｂ）
即ち、参照予測モードＭａ及びＭｂのうち予測モード番号の小さい方が、符号化対象のサブブロックについての推定予測モードとなる。
【０１２０】
本実施形態に係るイントラ予測部４０の第１予測部４２ａは、イントラ予測処理を実行する時点で左のサブブロックが符号化済みであるため、Ｈ．２６４／ＡＶＣと同様に予測モードを推定し得る：
Ｍｃ＝ｍｉｎ（Ｍａ，Ｍｂ）
【０１２１】
一方、第２予測部４２ｂ、第３予測部４２ｃ及び第４予測部４２ｄは、イントラ予測処理を並列化したためにイントラ予測処理を実行する時点で左のサブブロックが符号化済みでないことから、例えば、次式により予測モードを推定する：
Ｍｃ＝Ｍｂ
【０１２２】
このように予測モード（予測方向）を推定することで、イントラ予測処理を並列的に実行する場合にも、予測モード情報を符号化することによる符号量の増加を抑制することができる。
【０１２３】
（５）処理時間の低減
図１４は、４並列処理による処理時間の低減について説明するための説明図である。図１４の上部には、本実施形態に係る並列処理を実装しない場合の、直列的な画像符号化処理の流れが概略的に示されている。直列的な画像符号化処理においては、例えば、サブブロックＳＢ０についての参照画素値の生成が終了した後、サブブロックＳＢ０に隣接するサブブロックＳＢ１についてのイントラ予測が開始される。その後、サブブロックＳＢ１についての直交変換、量子化、逆量子化、逆量子化、逆直交変換、及びイントラ補償（差分画素値と予測画素値との加算）が直列的に実行され、サブブロックＳＢ１についての参照画素値が生成される。また、サブブロックＳＢ１についての参照画素値の生成が終了した後、サブブロックＳＢ１に隣接するサブブロックＳＢ２についてのイントラ予測が開始される。その後、サブブロックＳＢ２についての直交変換等の処理が直列的に実行される。
【０１２４】
これに対し、本実施形態に係る４並列処理では、例えば、サブブロックＳＢ０についての参照画素値の生成が終了した後、４つのサブブロックＳＢ１、ＳＢ２、ＳＢ３及びＳＢ４についてのイントラ予測が並列的に開始される。その後、サブブロックＳＢ１、ＳＢ２、ＳＢ３及びＳＢ４についての直交変換、量子化、逆量子化、逆量子化、逆直交変換、及びイントラ補償が並列的に実行され、サブブロックＳＢ１、ＳＢ２、ＳＢ３及びＳＢ４についての参照画素値が生成される。そして、続けてサブブロックＳＢ５、ＳＢ６等のイントラ予測が並列的に開始される。このような４並列処理により、イントラ予測処理のボトルネックが解消され、画像符号化処理の処理速度が向上する。その結果、例えばリアルタイムでの画像符号化処理を実現することもより容易となる。
【０１２５】
（６）２並列予測処理
イントラ予測処理を並列化する際の処理分岐の数は、上述した４つに限定されない。即ち、本明細書に記載した技術の利点は、２並列処理又は８並列処理などによっても享受され得る。図１５Ａ及び図１５Ｂは、イントラ４×４予測モードでの２並列処理について説明するための説明図である。図１５Ａ及び図１５Ｂを参照すると、図８に示したマクロブロックＭＢ内の画素についての予測画素値の生成処理が、第１、第２、第３、第４、第５、第６、第７及び第８のグループにグループ分けされている。
【０１２６】
第１グループは、第１処理分岐による画素ａの予測画素値の生成、及び第２処理分岐による画素ｃの予測画素値の生成を含む。第１処理分岐は、上及び右上の参照画素として画素Ａ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第２処理分岐は、上及び右上の参照画素として画素Ｃ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。
【０１２７】
第２グループは、第１処理分岐による画素ｂの予測画素値の生成、及び第２処理分岐による画素ｄの予測画素値の生成を含む。第１処理分岐は、上及び右上の参照画素として画素Ｂ、左上の参照画素として画素Ｘ、左の参照画素として画素ａを使用する。第２処理分岐は、上及び右上の参照画素として画素Ｄ、左上の参照画素として画素Ｘ、左の参照画素として画素ｃを使用する。
【０１２８】
第３グループは、第１処理分岐による画素ｅの予測画素値の生成、及び第２処理分岐による画素ｇの予測画素値の生成を含む。第１処理分岐は、上の参照画素として画素ａ、右上の参照画素として画素Ａ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。第２処理分岐は、上の参照画素として画素ｃ、右上の参照画素として画素Ｃ、左上の参照画素として画素Ａ´、左の参照画素として画素Ｅを使用する。
【０１２９】
第４グループは、第１処理分岐による画素ｆの予測画素値の生成、及び第２処理分岐による画素ｈの予測画素値の生成を含む。第１処理分岐は、上の参照画素として画素ｂ、右上の参照画素として画素Ｂ、左上の参照画素として画素Ａ´、左の参照画素として画素ｅを使用する。第２処理分岐は、上の参照画素として画素ｄ、右上の参照画素として画素Ｄ、左上の参照画素として画素Ａ´、左の参照画素として画素ｇを使用する。
【０１３０】
同様に、図１５Ｂに示した内容に従って、第５グループから第８グループまでの処理も行われ得る。
【０１３１】
（７）８並列予測処理
図１６Ａ及び図１６Ｂは、イントラ４×４予測モードでの８並列処理について説明するための説明図である。図１６Ａ及び図１６Ｂを参照すると、図８に示したマクロブロックＭＢ内の画素についての予測画素値の生成処理が、第１及び第２のグループにグループ分けされている。
【０１３２】
第１グループは、第１処理分岐による画素ａの予測画素値の生成、第２処理分岐による画素ｂの予測画素値の生成、第３処理分岐による画素ｃの予測画素値の生成、第４処理分岐による画素ｄの予測画素値の生成、第５処理分岐による画素ｉの予測画素値の生成、第６処理分岐による画素ｊの予測画素値の生成、第７処理分岐による画素ｋの予測画素値の生成、及び第８処理分岐による画素ｌの予測画素値の生成を含む。第１処理分岐は、上及び右上の参照画素として画素Ａ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第２処理分岐は、上及び右上の参照画素として画素Ｂ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第３処理分岐は、上及び右上の参照画素として画素Ｃ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第４処理分岐は、上及び右上の参照画素として画素Ｄ、左上の参照画素として画素Ｘ、左の参照画素として画素Ａ´を使用する。第５処理分岐は、上及び右上の参照画素として画素Ａ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第６処理分岐は、上及び右上の参照画素として画素Ｂ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第７処理分岐は、上及び右上の参照画素として画素Ｃ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。第８処理分岐は、上及び右上の参照画素として画素Ｄ、左上の参照画素として画素Ｅ、左の参照画素として画素Ｉを使用する。
【０１３３】
同様に、図１６Ｂに示した内容に従って、第２グループの処理も行われ得る。
【０１３４】
なお、並列処理の処理分岐の数とイントラ予測の予測精度とはトレードオフの関係にある。並列処理の処理分岐の数を過度に増加させると、符号化対象の画素から参照画素までの距離が遠くなり、イントラ予測の予測精度が損なわれる可能性が生じる。そのため、並列処理の処理分岐の数は、処理速度に対するニーズと圧縮率又は画質に対するニーズとを考慮し、これらニーズに適合するように選択されることが望ましい。
【０１３５】
＜２．一実施形態に係る符号化時の処理の流れ＞
次に、図１７を用いて、符号化時の処理の流れを説明する。図１７は、本実施形態に係るイントラ予測部４０による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。
【０１３６】
図１７を参照すると、まず、並び替え部４１は、フレームメモリ２５から供給される参照画像データに含まれる参照画素値を、図１０に例示した規則に従って並び替える（ステップＳ１００）。そして、並び替え部４１は、並び替え後の一連の参照画素値のうち第１の部分を第１予測部４２ａへ、第２の部分を第２予測部４２ｂへ、第３の部分を第３予測部４２ｃへ、及び第４の部分を第４予測部４２ｄへ出力する。
【０１３７】
次に、並び替え部４１は、原画像内のマクロブロックに含まれる画素値を、図９に例示した規則に従って並び替える（ステップＳ１１０）。そして、並び替え部４１は、並び替え後の一連の画素値のうち第１の部分を第１予測部４２ａへ、第２の部分を第２予測部４２ｂへ、第３の部分を第３予測部４２ｃへ、及び第４の部分を第４予測部４２ｄへ出力する。
【０１３８】
次に、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、例えばマクロブロック内の第１〜第４ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ１２０）。そして、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、それぞれ、各ブロックの最適な予測モードを選択する（ステップＳ１２５）。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部４０から可逆符号化部１６へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部４０から減算部１３へ出力される。
【０１３９】
次に、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、例えばマクロブロック内の第５〜第８ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ１３０）。そして、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、それぞれ、各ブロックの最適な予測モードを選択する（ステップＳ１３５）。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部４０から可逆符号化部１６へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部４０から減算部１３へ出力される。
【０１４０】
次に、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、例えばマクロブロック内の第９〜第１２ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ１４０）。そして、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、それぞれ、各ブロックの最適な予測モードを選択する（ステップＳ１４５）。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部４０から可逆符号化部１６へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部４０から減算部１３へ出力される。
【０１４１】
次に、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、例えばマクロブロック内の第１３〜第１６ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ１５０）。そして、第１予測部４２ａ、第２予測部４２ｂ、第３予測部４２ｃ、及び第４予測部４２ｄは、それぞれ、各ブロックの最適な予測モードを選択する（ステップＳ１５５）。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部４０から可逆符号化部１６へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部４０から減算部１３へ出力される。
【０１４２】
＜３．一実施形態に係る画像復号化装置の構成例＞
本節では、図１８及び図１９を用いて、本発明の一実施形態に係る画像復号化装置の構成例について説明する。
【０１４３】
［３−１．全体的な構成例］
図１８は、本発明の一実施形態に係る画像復号化装置６０の構成の一例を示すブロック図である。図１８を参照すると、画像復号化装置６０は、蓄積バッファ６１、可逆復号化部６２、逆量子化部６３、逆直交変換部６４、加算部６５、デブロックフィルタ６６、並べ替えバッファ６７、Ｄ／Ａ（Digital  to  Analogue）変換部６８、フレームメモリ６９、セレクタ７０及び７１、動き補償部８０、並びにイントラ予測部９０を備える。
【０１４４】
蓄積バッファ６１は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
【０１４５】
可逆復号化部６２は、蓄積バッファ６１から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号化する。また、可逆復号化部６２は、符号化ストリームのヘッダ領域に多重化されている情報を復号化する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のインター予測に関する情報及びイントラ予測に関する情報を含み得る。可逆復号化部６２は、インター予測に関する情報を動き補償部８０へ出力する。また、可逆復号化部６２は、イントラ予測に関する情報をイントラ予測部９０へ出力する。
【０１４６】
逆量子化部６３は、可逆復号化部６２による復号化後の量子化データを逆量子化する。逆直交変換部６４は、符号化の際に使用された直交変換方式に従い、逆量子化部６３から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部６４は、生成した予測誤差データを加算部６５へ出力する。
【０１４７】
加算部６５は、逆直交変換部６４から入力される予測誤差データと、セレクタ７１から入力される予測画像データとを加算することにより、復号化画像データを生成する。そして、加算部６５は、生成した復号化画像データをデブロックフィルタ６６及びフレームメモリ６９へ出力する。
【０１４８】
デブロックフィルタ６６は、加算部６５から入力される復号化画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号化画像データを並べ替えバッファ６７及びフレームメモリ６９へ出力する。
【０１４９】
並べ替えバッファ６７は、デブロックフィルタ６６から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ６７は、生成した画像データをＤ／Ａ変換部６８へ出力する。
【０１５０】
Ｄ／Ａ変換部６８は、並べ替えバッファ６７から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、Ｄ／Ａ変換部６８は、例えば、画像復号化装置６０と接続されるディスプレイ（図示せず）にアナログ画像信号を出力することにより、画像を表示させる。
【０１５１】
フレームメモリ６９は、加算部６５から入力されるフィルタリング前の復号化画像データ、及びデブロックフィルタ６６から入力されるフィルタリング後の復号化画像データを記憶媒体を用いて記憶する。
【０１５２】
セレクタ７０は、可逆復号化部６２により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ７０からの画像データの出力先を動き補償部８０とイントラ予測部９０との間で切り替える。例えば、セレクタ７０は、インター予測モードが指定された場合には、フレームメモリ７０から供給されるフィルタリング後の復号化画像データを参照画像データとして動き補償部８０へ出力する。また、セレクタ７０は、イントラ予測モードが指定された場合には、フレームメモリ７０から供給されるフィルタリング前の復号化画像データを参照画像データとしてイントラ予測部９０へ出力する。
【０１５３】
セレクタ７１は、可逆復号化部６２により取得されるモード情報に応じて、加算部６５へ供給すべき予測画像データの出力元を動き補償部８０とイントラ予測部９０との間で切り替える。例えば、セレクタ７１は、インター予測モードが指定された場合には、動き補償部８０から出力される予測画像データを加算部６５へ供給する。また、セレクタ７１は、イントラ予測モードが指定された場合には、イントラ予測部９０から出力される予測画像データを加算部６５へ供給する。
【０１５４】
動き補償部８０は、可逆復号化部６２から入力されるインター予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部８０は、生成した予測画像データをセレクタ７１へ出力する。
【０１５５】
イントラ予測部９０は、可逆復号化部６２から入力されるイントラ予測に関する情報とフレームメモリ６９からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部９０は、生成した予測画像データをセレクタ７１へ出力する。本実施形態において、イントラ予測部９０によるイントラ予測処理は、複数の処理分岐により並列化される。イントラ予測部９０による並列的なイントラ予測処理については、後により詳細に説明する。
【０１５６】
イントラ予測部９０によるイントラ予測処理の並列化に応じて、イントラ予測モードについての、上述した逆量子化部６３、逆直交変換部６４、及び加算部６５による処理もまた並列化され得る。この場合、図１８に示しているように、逆量子化部６３、逆直交変換部６４、加算部６５及びイントラ予測部９０は、並列処理セグメント７２を形成する。そして、並列処理セグメント７２内の各部は、複数の処理分岐を有する。並列処理セグメント７２内の各部は、イントラ予測モードにおいては複数の処理分岐を使用して並列処理を実行する一方、インター予測モードにおいては１つの処理分岐のみを使用してよい。
【０１５７】
［３−２．イントラ予測部の構成例］
図１９は、図１８に示した画像復号化装置６０のイントラ予測部９０の詳細な構成の一例を示すブロック図である。図１９を参照すると、イントラ予測部９０は、並び替え部９１、及び４つの予測部９２ａ〜９２ｄを有する。即ち、図１９の例では、イントラ予測部９０は、並列的に配置された４つの処理分岐を含む。しかしながら、イントラ予測部９０が有する処理分岐の数は、かかる例に限定されない。イントラ予測部９０は、例えば２つ又は８つの処理分岐を有していてもよい。
【０１５８】
並び替え部９１は、フレームメモリ６９から供給される参照画像データに含まれる参照画素値を、所定の規則に従って並び替える。フレームメモリ６９からイントラ予測部９０に供給される参照画像データは、復号化対象の画像と同じ画像内の復号化済みの部分についてのデータである。そして、並び替え部９１は、並び替え後の一連の参照画素値のうち第１の部分を第１予測部９２ａへ、第２の部分を第２予測部９２ｂへ、第３の部分を第３予測部９２ｃへ、及び第４の部分を第４予測部９２ｄへ出力する。
【０１５９】
並び替え部９１による参照画素の画素値の並び替えの規則とは、例えば、図１０を用いて説明したような規則であってよい。即ち、並び替え部９１は、画像内のマクロブロックＭＢに含まれる第１サブブロックの第１画素に隣接する第１参照画素の画素値及びマクロブロックＭＢに含まれる第２サブブロックの第２画素に隣接する第２参照画素の画素値を連続させる。これら第１画素及び第２画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第１画素はサブブロックＳＢ１の画素ａ、第２画素はサブブロックＳＢ２の画素ａ、第１参照画素はサブブロックＳＢ１の画素ａの上の参照画素Ａ、第２参照画素は第２サブブロックＳＢ２の画素ａの上の参照画素Ａである（図８〜図１０参照）。並び替え部４１は、４並列の場合には、サブブロックＳＢ３の画素ａの上の参照画素Ａ及びサブブロックＳＢ４の画素ａの上の参照画素Ａの画素値、並びにさらに右の４つの参照画素Ａの画素値を、第１参照画素及び第２参照画素の画素値に連続させる。並び替え部４１は、これら８つの参照画素Ａの画素値を、第１予測部９２ａへ連続的に出力する（図１０の分岐＃１）。
【０１６０】
同様に、並び替え部９１は、画像内のマクロブロックＭＢに含まれる第１サブブロックの第３画素に隣接する第３参照画素の画素値及びマクロブロックＭＢに含まれる第２サブブロックの第４画素に隣接する第４参照画素の画素値を連続させる。これら第３画素及び第４画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第３画素はサブブロックＳＢ１の画素ｂ、第４画素はサブブロックＳＢ２の画素ｂ、第３参照画素はサブブロックＳＢ１の画素ｂの上の参照画素Ｂ、第２参照画素は第２サブブロックＳＢ２の画素ｂの上の参照画素Ｂである（図８〜図１０参照）。並び替え部４１は、４並列の場合には、サブブロックＳＢ３の画素ｂの上の参照画素Ｂ及びサブブロックＳＢ４の画素ｂの上の参照画素Ｂの画素値、並びにさらに右の４つの参照画素Ｂの画素値を、第３参照画素及び第４参照画素の画素値に連続させる。並び替え部４１は、これら８つの参照画素Ｂの画素値を、第１予測部９２ａへ連続的に出力する（図１０の分岐＃２）。
【０１６１】
同様に、並び替え部９１は、サブブロックＳＢ１〜ＳＢ４の画素ｃの上の参照画素Ｃの画素値を、第３予測部９２ｃへ連続的に出力する（図１０の分岐＃３）。また、並び替え部９１は、サブブロックＳＢ１〜ＳＢ４の画素ｄの上の参照画素Ｄの画素値を、第４予測部９２ｄへ連続的に出力する（図１０の分岐＃４）。
【０１６２】
予測部９２ａ〜９２ｄは、並び替え部９１により並び替えられた参照画素の画素値を用いて、復号化対象のマクロブロックについての予測画素値を生成する。
【０１６３】
より具体的には、第１予測部９２ａは、第１モードバッファ９３ａ及び第１予測計算部９４ａを含む。第１モードバッファ９３ａは、可逆復号化部６２から入力されるイントラ予測に関する情報に含まれる予測モード情報を取得し、取得した予測モード情報を記憶媒体を用いて一時的に記憶する。予測モード情報は、例えば、イントラ予測の処理単位であるサブブロックのサイズを表す情報（例えば、イントラ４×４予測モード又はイントラ８×８予測モードなど）を含む。また、予測モード情報は、例えば、複数の予測方向のうち画像の符号化の際に最適であるとして選択された予測方向を表す情報（例えば、モード０〜モード８のいずれか）を含む。また、予測モード情報は、推定予測モードを使用すべきことを指定する情報を含み得るが、この場合には、予測モード情報は予測方向を表す予測モード番号を含まない。
【０１６４】
第１予測計算部９４ａは、第１モードバッファ９３ａに記憶されている予測モード情報に従って、並び替え部９１により並び替えられた参照画素値から予測画素値を計算する。例えば、予測モード情報がイントラ４×４予測モードにおけるモード０を示している場合には、第１予測計算部９４ａは、復号化対象の画素の予測画素値を、当該画素の上の参照画素値に等しい値に設定する（図３のモード０参照）。第１予測部９２ａは、このような処理の後、第１予測計算部９４ａにより計算された予測画素値を含む予測画像データを、セレクタ７１へ出力する。
【０１６５】
第２予測部９２ｂは、第２モードバッファ９３ｂ及び第２予測計算部９４ｂを含む。第３予測部９２ｃは、第３モードバッファ９３ｃ及び第３予測計算部９４ｃを含む。第４予測部９２ｄは、第４モードバッファ９３ｄ及び第４予測計算部９４ｄを含む。第２予測部９２ｂ、第３予測部９２ｃ及び第４予測部９２ｄは、第１予測部９２ａと同様に、イントラ予測に関する情報に含まれる予測モード情報に従って、並び替え部９１により並び替えられた参照画素の画素値から予測画素値をそれぞれ生成する。そして、第２予測部９２ｂ、第３予測部９２ｃ及び第４予測部９２ｄは、生成した予測画素値を含む予測画像データを、それぞれ並列的にセレクタ７１へ出力する。
【０１６６】
＜４．一実施形態に係る復号化時の処理の流れ＞
次に、図２０を用いて、復号化時の処理の流れを説明する。図２０は、本実施形態に係るイントラ予測部９０による復号化時のイントラ予測処理の流れの一例を示すフローチャートである。
【０１６７】
図２０を参照すると、まず、並び替え部９１は、フレームメモリ６９から供給される参照画像データに含まれる参照画素値を、図１０に例示した規則に従って並び替える（ステップＳ２１０）。そして、並び替え部９１は、並び替えた参照画素値を第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄへ出力する。
【０１６８】
次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ、可逆復号化部６２から入力される予測モード情報を取得する（ステップＳ２２０）。次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、例えばマクロブロック内の第１〜第４ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ２２５）。そして、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部６５へ出力する。
【０１６９】
次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ、可逆復号化部６２から入力される予測モード情報を再び取得する（ステップＳ２３０）。次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、例えばマクロブロック内の第５〜第８ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ２３５）。そして、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部６５へ出力する。
【０１７０】
次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ、可逆復号化部６２から入力される予測モード情報を再び取得する（ステップＳ２４０）。次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、例えばマクロブロック内の第９〜第１２ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ２４５）。そして、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部６５へ出力する。
【０１７１】
次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ、可逆復号化部６２から入力される予測モード情報を再び取得する（ステップＳ２５０）。次に、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、例えばマクロブロック内の第１３〜第１６ラインの画素値を対象として、並列的にイントラ予測処理を実行する（ステップＳ２５５）。そして、第１予測部９２ａ、第２予測部９２ｂ、第３予測部９２ｃ、及び第４予測部９２ｄは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部６５へ出力する。
【０１７２】
＜５．応用例＞
上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０１７３】
［５−１．第１の応用例］
図２１は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０１７４】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１７５】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからＥＰＧ（Electronic  Program  Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０１７６】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号化する。そして、デコーダ９０４は、復号化処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号化処理により生成される音声データを音声信号処理部９０７へ出力する。
【０１７７】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのＧＵＩ（Graphical  User  Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０１７８】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はＯＬＥＤなど）の映像面上に映像又は画像を表示する。
【０１７９】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてＤ／Ａ変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０１８０】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号化されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１８１】
制御部９１０は、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、並びにＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）などのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、プログラムデータ、ＥＰＧデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０１８２】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０１８３】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０１８４】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号化装置６０の機能を有する。それにより、テレビジョン装置９００において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
【０１８５】
［５−２．第２の応用例］
図２２は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０１８６】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０１８７】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０１８８】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをＡ／Ｄ変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号化して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１８９】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号化して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０１９０】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０１９１】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０１９２】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号化してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号化し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１９３】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０の機能を有する。それにより、携帯電話機９２０において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
【０１９４】
［５−３．第３の応用例］
図２３は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号化する。
【０１９５】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、ＨＤＤ（Hard  Disk  Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen  Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０１９６】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０１９７】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース、ＵＳＢインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０１９８】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０１９９】
ＨＤＤ９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、ＨＤＤ９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０２００】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）又はＢｌｕ−ｒａｙ（登録商標）ディスクなどであってよい。
【０２０１】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをＨＤＤ９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、ＨＤＤ９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０２０２】
デコーダ９４７は、符号化ビットストリームを復号化し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをＯＳＤ９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０２０３】
ＯＳＤ９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、ＯＳＤ９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を重畳してもよい。
【０２０４】
制御部９４９は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０２０５】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０２０６】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置１０の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号化装置６０の機能を有する。それにより、記録再生装置９４０において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
【０２０７】
［５−４．第４の応用例］
図２４は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０２０８】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０２０９】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、及び制御部９７０を相互に接続する。
【０２１０】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤ又はＣＭＯＳなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０２１１】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０２１２】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号化し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、ＯＳＤ９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０２１３】
ＯＳＤ９６９は、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０２１４】
外部インタフェース９６６は、例えばＵＳＢ入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、ＬＡＮ又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０２１５】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はＳＳＤ（Solid  State  Drive）のような非可搬性の記憶部が構成されてもよい。
【０２１６】
制御部９７０は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０２１７】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０２１８】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置１０及び画像復号化装置６０の機能を有する。それにより、撮像装置９６０において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
【０２１９】
＜６．まとめ＞
ここまで、図１〜図２４を用いて、本発明の一実施形態に係る画像符号化装置１０及び画像復号化装置６０について説明した。本実施形態によれば、イントラ予測モードにおいて、画像の符号化の際には、原画像に含まれる画素値及び参照画像に含まれる画素値が所定の規則に従って並び替えられた後、複数の予測部により予測画素値の生成及び最適な予測モードの判定が並列的に実行される。また、画像の復号化の際には、参照画像に含まれる画素値が所定の規則に従って並び替えられた後、複数の予測部により、画像の符号化の際に選択された予測モードに従って予測画素値が並列的に生成される。それにより、イントラ予測処理のボトルネックが解消され、画像符号化処理及び画像復号化処理の処理速度が向上する。その結果、例えばリアルタイムでの処理を実現することもより容易となる。
【０２２０】
また、本実施形態によれば、異なるサブブロック内で互いに同じ位置にある画素の画素値が連続するように並び替えられ、１つの予測部に入力される。それにより、例えば図１１Ａ及び図１１Ｂに示したように、各予測部は、１組の共通する参照画素値を使用して、連続して入力される画素値についての予測画素値の計算をそれぞれ実行することができる。
【０２２１】
また、本実施形態によれば、複数の予測部により並列的に処理される画素は、画像内の同じラインに属する画素である。従って、並列処理の前の並び替え処理に要するメモリリソースの増加が回避される。
【０２２２】
また、本実施形態における並び替えの規則によれば、各予測部は、あるラインに属する画素について生成した予測画素値に基づいて、次のラインに属する画素の予測画素値を生成することができる。従って、イントラ予測処理を並列化した場合にも、Ｈ．２６４／ＡＶＣにより規定されているような予測モードの候補を応用することができる。
【０２２３】
また、本実施形態によれば、イントラ予測処理を並列化した場合にも、各予測部は、予測方向（予測モード）を推定することにより、予測モード情報の符号量を削減することができる。
【０２２４】
また、本実施形態によれば、イントラ予測のみならず、直交変換、量子化、逆量子化及び逆直交変換などの処理も並列化され得る。それにより、イントラ予測モードにおける画像符号化処理及び画像復号化処理の処理速度を一層高めることができる。
【０２２５】
なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号化側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号化時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０２２６】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０２２７】
１０      画像符号化装置（画像処理装置）
１４      直交変換部
４１      並び替え部
４２ａ    第１予測部
４２ｂ    第２予測部
６０      画像復号化装置（画像処理装置）
６４      逆直交変換部
９１      並び替え部
９２ａ    第１予測部
９２ｂ    第２予測部
【図１】
2012028858.tif 000003
【図２】
2012028858.tif 000004
【図３】
2012028858.tif 000005
【図４】
2012028858.tif 000006
【図５】
2012028858.tif 000007
【図６】
2012028858.tif 000008
【図７】
2012028858.tif 000009
【図８】
2012028858.tif 000010
【図９】
2012028858.tif 000011
【図１０】
2012028858.tif 000012
【図１１Ａ】
2012028858.tif 000013
【図１１Ｂ】
2012028858.tif 000014
【図１２】
2012028858.tif 000015
【図１３】
2012028858.tif 000016
【図１４】
2012028858.tif 000017
【図１５Ａ】
2012028858.tif 000018
【図１５Ｂ】
2012028858.tif 000019
【図１６Ａ】
2012028858.tif 000020
【図１６Ｂ】
2012028858.tif 000021
【図１７】
2012028858.tif 000022
【図１８】
2012028858.tif 000023
【図１９】
2012028858.tif 000024
【図２０】
2012028858.tif 000025
【図２１】
2012028858.tif 000026
【図２２】
2012028858.tif 000027
【図２３】
2012028858.tif 000028
【図２４】
2012028858.tif 000029