(57)【要約】【課題】負荷の増大を抑制しながら、符号化効率をより向上させることができるようにする。【解決手段】特徴量抽出部１２１は、抽出した特徴量をマクロブロック設定部１２２に供給する。マクロブロック設定部１２２は、特徴量抽出部１２１から供給される画像の特徴量や、動き予測補償部１１５により検出された画像の動きの大きさに従って、マクロブロックの垂直方向のサイズを固定したまま、水平方向のサイズを設定する。また、マクロブロック設定部１２２は、マクロブロックの分割数も設定する。動き予測補償部１１５は、マクロブロック設定部１２２により設定されたマクロブロックサイズや分割数で動き予測補償を行う。本発明は、例えば、画像処理装置に適用することができる。【選択図】図５
2011223357.tif 000002
【特許請求の範囲】
【請求項１】
画像を符号化する際の処理単位となる前記画像の部分領域の垂直方向のサイズを固定値として所定の値に設定し、水平方向のサイズを、前記画像に関するパラメータの値に応じて設定する領域設定手段と、
前記領域設定手段により設定された前記部分領域を処理単位として画面間予測および動き補償を行い、予測画像を生成する動き予測補償手段と
を備える画像処理装置。
【請求項２】
前記画像に関するパラメータは前記画像のサイズであり、
前記領域設定手段は、前記画像のサイズが大きいほど、前記部分領域の水平方向のサイズを大きく設定する
請求項１に記載の画像処理装置。
【請求項３】
前記画像に関するパラメータは前記画像を符号化する際のビットレートであり、
前記領域設定手段は、前記ビットレートが低いほど、前記部分領域の水平方向のサイズを大きく設定する
請求項１に記載の画像処理装置。
【請求項４】
前記画像に関するパラメータは画像の動きであり、
前記領域設定手段は、前記画像の動きが小さいほど、前記部分領域の水平方向のサイズを大きく設定する
請求項１に記載の画像処理装置。
【請求項５】
前記画像に関するパラメータは前記画像における同一テクスチャの範囲であり、
前記領域設定手段は、前記画像において同一テクスチャの範囲が広いほど、前記部分領域の水平方向のサイズを大きく設定する
請求項１に記載の画像処理装置。
【請求項６】
前記領域設定手段は、符号化規格で規定されているサイズを前記固定値として設定する
請求項１に記載の画像処理装置。
【請求項７】
前記符号化規格は、AVC（Advanced Video Coding）/H.264規格であり、
前記領域設定手段は、前記パラメータの値によらず、前記部分領域の垂直方向のサイズを１６画素に設定する
請求項６に記載の画像処理装置。
【請求項８】
前記領域設定手段により前記水平方向のサイズが設定された前記部分領域の分割数を設定する分割数設定手段をさらに備える
請求項１に記載の画像処理装置。
【請求項９】
前記画像から特徴量を抽出する特徴量抽出手段をさらに備え、
前記領域設定手段は、前記特徴量抽出手段により抽出された前記画像の特徴量に含まれる前記パラメータの値に応じて前記部分領域の水平方向のサイズを設定する
請求項１に記載の画像処理装置。
【請求項１０】
前記領域設定手段により大きさが設定された前記部分領域を処理単位として、前記画像と、前記動き予測補償手段により生成された前記予測画像との差分値を符号化し、ビットストリームを生成する符号化手段をさらに備える
請求項１に記載の画像処理装置。
【請求項１１】
前記符号化手段は、前記ビットストリームと、前記領域設定手段により設定された前記部分領域の水平方向のサイズを示す情報とを伝送する
請求項１０に記載の画像処理装置。
【請求項１２】
前記領域設定手段により設定された、水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが、前記部分領域ラインの１つ上の部分領域ラインの各部分領域の水平方向のサイズと同一であるかを示す繰り返しフラグを生成する繰り返しフラグ生成手段をさらに備え、
前記符号化手段は、前記ビットストリームと、前記繰り返しフラグ生成手段により生成された前記繰り返しフラグとを伝送する
請求項１０に記載の画像処理装置。
【請求項１３】
前記領域設定手段により設定された、水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが互いに同一であるかを示す固定フラグを生成する固定フラグ生成手段をさらに備え、
前記符号化手段は、前記ビットストリームと、前記固定フラグ生成手段により生成された前記固定フラグとを伝送する
請求項１０に記載の画像処理装置。
【請求項１４】
前記領域設定手段によりサイズが設定された前記部分領域を処理単位として、前記画像が符号化されたビットストリームを復号する復号手段をさらに備える
請求項１に記載の画像処理装置。
【請求項１５】
前記復号手段は、前記ビットストリームと、前記部分領域の水平方向のサイズを示す情報とを受け取り、
前記領域設定手段は、前記復号手段により受け取られた前記部分領域の水平方向のサイズを示す情報に基づいて前記部分領域の水平方向のサイズを設定する
請求項１４に記載の画像処理装置。
【請求項１６】
前記復号手段は、前記ビットストリームと、前記画像において水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが、前記部分領域ラインの１つ上の部分領域ラインの各部分領域の水平方向のサイズと同一であるかを示す繰り返しフラグを受け取り、
前記領域設定手段は、前記復号手段により受け取られた前記繰り返しフラグに基づいて前記部分領域の水平方向のサイズを設定する
請求項１４に記載の画像処理装置。
【請求項１７】
前記復号手段は、前記ビットストリームと、前記画像において水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが互いに同一であるかを示す固定フラグを受け取り、
前記領域設定手段は、前記復号手段により受け取られた前記固定フラグに基づいて前記部分領域の水平方向のサイズを設定する
請求項１４に記載の画像処理装置。
【請求項１８】
画像処理装置の画像処理方法であって、
領域設定手段が、画像を符号化する際の処理単位となる前記画像の部分領域の垂直方向のサイズを固定値として所定の値に設定し、水平方向のサイズを、前記画像に関するパラメータの値に応じて設定し、
動き予測補償手段が、設定された前記部分領域を処理単位として画面間予測および動き補償を行い、予測画像を生成する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、負荷の増大を抑制しながら、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L （ITU-T（International Telecommunication Union Telecommunication Standardization Sector） Q6/16 VCEG（Video Coding Expert Group））という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
【０００６】
標準化のスケジュールとしては、２００３年３月にはH.264及びMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）という名の元に国際標準となった。
【０００７】
更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG2で規定されていた８×８DCTや量子化マトリクスをも含んだFRExt（Fidelity Range Extension）の標準化が２００５年２月に完了し、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
【０００８】
しかしながら、昨今、ハイビジョン画像の４倍の、４０９６×２０４８画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEGにおいて、符号化効率の改善に関する検討が継続され行なわれている。
【０００９】
ところで、これまでの画像符号化方式である、MPEG1、MPEG2、およびITU-T H.264、MPEG4-AVCにおける画像符号化の際の画像の分割単位であるマクロブロックの画素サイズはすべて１６×１６画素であった。一方、非特許文献１文献によると、次世代の画像符号化規格の要素技術として、マクロブロックの水平および垂直方向の画素数を拡張する提案がなされている。この提案によるとMPEG1、MPEG2、およびITU-T H.264、MPEG4-AVC等で規定されている１６×１６画素のマクロブロックの画素サイズのほかに、３２×３２画素、６４×６４画素からなるマクロブロックを使用することも提案されている。これは、将来的に符号化する画像の水平・垂直方向の画素サイズが増大することが予想されるが、その場合に、動きの似通った領域において、より大きな領域を単位として動き補償および直交変換を行うことで符号化効率を向上させることを目的としている。
【００１０】
図１は３２×３２画素からなるマクロブロックの動き補償処理を行うブロックの画素サイズを示したものである。マクロブロックの画素サイズで動き補償処理を行うか、もしくは水平・垂直方向に２分割して、それぞれ別の動きベクトルで動き補償処理を行うか、もしくはブロックを４つの１６×１６画素からなる領域に分割して異なる動きベクトルで動き補償処理を行うかを選択することができる。
【００１１】
また、１６×１６画素の内部をさらにAVCと同様の分割方法で細かい領域に分割して異なる動きベクトルで動き補償を行うこともできる。上記提案によると、マクロブロックの分割方法を動きの領域に合わせて適応的に変化させることが出来るようになっている。
【００１２】
図２はMPEG1、MPEG2、およびITU-T H.264、MPEG4-AVCなどでの順次走査画像(プログレッシブ画像)における１６×１６画素からなるマクロブロックの処理順を示したものである。これらの符号化方式の場合、１６×１６画素を単位として画面内をラスタースキャン順に処理が進められる。
【００１３】
これに対して非特許文献１で提案されている３２×３２画素もしくは６４×６４画素のマクロブロックサイズを使用する場合、逆量子化や逆変換処理の単位となる変換係数の１６×１６画素のブロックのスキャン順は変化する。
【００１４】
図３は３２×３２画素のマクロブロックサイズを選択した場合の１６×１６画素のブロックのスキャン順である。また、６４×６４画素のマクロブロックの画素サイズを選択した場合は図４に示されるスキャン順となる。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Peisong Chenn,Yan Ye,Marta Karczewicz,”Video Coding Using Extended Block Sizes”, COM16-C123-E, Qualcomm Inc
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、この非特許文献１に記載の提案の場合、マクロブロックの水平垂直方向の画素数を両方とも増大させることをが原因となり、マクロブロック処理の複雑さや、処理に必要なメモリ領域やバッファサイズが増大してしまう恐れがあった。
【００１７】
例えば６４×６４画素のマクロブロックサイズを選択した場合、１マクロブロック分の画素データもしくは変換係数データをバッファリングするメモリ領域は１６×１６画素の場合の１６倍必要となる。たとえば８ビットビデオ信号の色差フォーマット4:2:0の場合においてはマクロブロックサイズが１６×１６画素の場合、画素データ１マクロブロック分のバッファのサイズは３８４バイトとなるが、６４×６４画素の場合、６１４４バイトとなる。
【００１８】
他にもMPEG4-AVCにおける画面内予測（イントラ予測）では後続のマクロブロックにおける画面内予測処理のために、現在のマクロブロックの画素のうち右端１画素列と最下１画素行を、デブロッキングフィルタ処理を行う前の状態の画素値で保存しておく必要がある。
【００１９】
マクロブロックの最下１画素行については、マクロブロックの水平方向サイズに関わらず画面全体の水平方向画素サイズ分のバッファが必要となるが、マクロブロックの右端１画素列分を保持するレジスタもしくはメモリ領域はマクロブロックの垂直方向の画素サイズに比例する。
【００２０】
つまり、マクロブロックサイズが１６×１６画素の場合に比較して６４×６４画素では４倍のレジスタもしくはメモリ領域が必要となる。
【００２１】
また、MPEG4-AVCにおけるデブロッキングフィルタ処理をマクロブロック単位で実行することを考えると、マクロブロックをまたがったフィルタ処理が存在するため、現在のマクロブロックの画素のうち右端４画素列と最下４画素行を保存しておく必要がある。
【００２２】
画面内予測（イントラ予測）と同様にマクロブロック内の最下４画素行分のデータの保持については画面全体の水平方向画素サイズ分のバッファが必要となるが、マクロブロックの右端４画素列分を保持するレジスタ若しくはメモリ領域は、マクロブロックの垂直方向の画素サイズに比例する。
【００２３】
つまりマクロブロックサイズが１６×１６画素の場合に比較して６４×６４画素では４倍のレジスタもしくはメモリ領域が必要となる。
【００２４】
別な観点の問題点として、MPEG1、MPEG2、ITU-T H.264/MPEG4-AVCなどにおいて、インター予測（画面間予測）においてマクロブロックサイズを拡張する場合、画像の復号処理単位が１６×１６画素単位ではなくなるため実装が複雑化する恐れがあった。
【００２５】
例えば、MPEG1、MPEG2、ITU-T H.264/MPEG4-AVCなどにおいて１６×１６画素単位の変換係数の場合、スキャン順はラスタースキャン順であったが、マクロブロックの水平・垂直方向の画素サイズを拡張すると、スキャン順は、図３や図４に示されるようにジグザグスキャン順序になるので、マクロブロックサイズに応じてスキャン順を変更する等の、複雑な制御が必要になる恐れがあった。
【００２６】
本発明は、このような状況に鑑みてなされたものであり、マクロブロックサイズによって処理順が変化しないようにして、より容易に符号化効率を向上させることができるようにすることを目的とする。
【課題を解決するための手段】
【００２７】
本発明の一側面は、画像を符号化する際の処理単位となる前記画像の部分領域の垂直方向のサイズを固定値として所定の値に設定し、水平方向のサイズを、前記画像に関するパラメータの値に応じて設定する領域設定手段と、前記領域設定手段により設定された前記部分領域を処理単位として画面間予測および動き補償を行い、予測画像を生成する動き予測補償手段とを備える画像処理装置である。
【００２８】
前記画像に関するパラメータは前記画像のサイズであり、前記領域設定手段は、前記画像のサイズが大きいほど、前記部分領域の水平方向のサイズを大きく設定することができる。
【００２９】
前記画像に関するパラメータは前記画像を符号化する際のビットレートであり、前記領域設定手段は、前記ビットレートが低いほど、前記部分領域の水平方向のサイズを大きく設定することができる。
【００３０】
前記画像に関するパラメータは画像の動きであり、前記領域設定手段は、前記画像の動きが小さいほど、前記部分領域の水平方向のサイズを大きく設定することができる。
【００３１】
前記画像に関するパラメータは前記画像における同一テクスチャの範囲であり、前記領域設定手段は、前記画像において同一テクスチャの範囲が広いほど、前記部分領域の水平方向のサイズを大きく設定することができる。
【００３２】
前記領域設定手段は、符号化規格で規定されているサイズを前記固定値として設定することができる。
【００３３】
前記符号化規格は、AVC（Advanced Video Coding）/H.264規格であり、前記領域設定手段は、前記パラメータの値によらず、前記部分領域の垂直方向のサイズを１６画素に設定することができる。
【００３４】
前記領域設定手段により前記水平方向のサイズが設定された前記部分領域の分割数を設定する分割数設定手段をさらに備えることができる。
【００３５】
前記画像から特徴量を抽出する特徴量抽出手段をさらに備え、前記領域設定手段は、前記特徴量抽出手段により抽出された前記画像の特徴量に含まれる前記パラメータの値に応じて前記部分領域の水平方向のサイズを設定することができる。
【００３６】
前記領域設定手段により大きさが設定された前記部分領域を処理単位として、前記画像と、前記動き予測補償手段により生成された前記予測画像との差分値を符号化し、ビットストリームを生成する符号化手段をさらに備えることができる。
【００３７】
前記符号化手段は、前記ビットストリームと、前記領域設定手段により設定された前記部分領域の水平方向のサイズを示す情報とを伝送することができる。
【００３８】
前記領域設定手段により設定された、水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが、前記部分領域ラインの１つ上の部分領域ラインの各部分領域の水平方向のサイズと同一であるかを示す繰り返しフラグを生成する繰り返しフラグ生成手段をさらに備え、前記符号化手段は、前記ビットストリームに、前記繰り返しフラグ生成手段により生成された前記繰り返しフラグとを伝送することができる。
【００３９】
前記領域設定手段により設定された、水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが互いに同一であるかを示す固定フラグを生成する固定フラグ生成手段をさらに備え、前記符号化手段は、前記ビットストリームと、前記固定フラグ生成手段により生成された前記固定フラグとを伝送することができる。
【００４０】
前記領域設定手段によりサイズが設定された前記部分領域を処理単位として、前記画像が符号化されたビットストリームを復号する復号手段をさらに備えることができる。
【００４１】
前記復号手段は、前記ビットストリームと、前記部分領域の水平方向のサイズを示す情報とを受け取り、前記領域設定手段は、前記復号手段により受け取られた前記部分領域の水平方向のサイズを示す情報に基づいて前記部分領域の水平方向のサイズを設定することができる。
【００４２】
前記復号手段は、前記ビットストリームと、前記画像において水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが、前記部分領域ラインの１つ上の部分領域ラインの各部分領域の水平方向のサイズと同一であるかを示す繰り返しフラグを受け取り、前記領域設定手段は、前記復号手段により受け取られた前記繰り返しフラグに基づいて前記部分領域の水平方向のサイズを設定することができる。
【００４３】
前記復号手段は、前記ビットストリームと、前記画像において水平方向に並ぶ前記部分領域の集合である部分領域ラインの各部分領域の水平方向のサイズが互いに同一であるかを示す固定フラグを受け取り、前記領域設定手段は、前記復号手段により受け取られた前記固定フラグに基づいて前記部分領域の水平方向のサイズを設定することができる。
【００４４】
本発明の一側面は、また、画像処理装置の画像処理方法であって、領域設定手段が、画像を符号化する際の処理単位となる前記画像の部分領域の垂直方向のサイズを固定値として所定の値に設定し、水平方向のサイズを、前記画像に関するパラメータの値に応じて設定し、動き予測補償手段が、サイズが設定された前記部分領域を処理単位として画面間予測および動き補償を行い、予測画像を生成する画像処理方法である。
【００４５】
本発明の一側面においては、画像を符号化する際の処理単位となる画像の部分領域の垂直方向のサイズが固定値として所定の値に設定され、水平方向のサイズが、画像に関するパラメータの値に応じて設定され、そのサイズが設定された部分領域を処理単位として画面間予測および動き補償が行われ、予測画像が生成される。
【発明の効果】
【００４６】
本発明によれば、画像データの符号化、若しくは、符号化された画像データの復号を行うことができる。特に、負荷の増大を抑制しながら、符号化効率を向上させることができる。
【図面の簡単な説明】
【００４７】
【図１】マクロブロックの例を説明する図である。
【図２】１６×１６画素のマクロブロックの処理順の例を説明する図である。
【図３】３２×３２画素のマクロブロックの処理順の例を説明する図である。
【図４】６４×６４画素のマクロブロックの処理順の例を説明する図である。
【図５】本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【図６】マクロブロックの例を示す図である。
【図７】マクロブロックの分割例を示す図である。
【図８】マクロブロックのサイズ変更例を示す図である。
【図９】マクロブロック内の処理順の例を示す図である。
【図１０】マクロブロック内の処理順のより詳細な例を示す図である。
【図１１】画像符号化装置１００の詳細な構成例を示すブロック図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】予測処理の流れの例を説明するフローチャートである。
【図１４】インター動き予測処理の流れの例を説明するフローチャートである。
【図１５】マクロブロック設定処理の流れの例を説明するフローチャートである。
【図１６】フラグ生成処理の流れの例を説明するフローチャートである。
【図１７】本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【図１８】画像復号装置２００の詳細な構成例を示すブロック図である。
【図１９】復号処理の流れの例を説明するフローチャートである。
【図２０】予測処理の流れの例を説明するフローチャートである。
【図２１】インター動き予測処理の流れの例を説明するフローチャートである。
【図２２】マクロブロック設定処理の流れの例を説明するフローチャートである。
【図２３】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【図２４】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図２５】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図２６】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図２７】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００４８】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（パーソナルコンピュータ）
４．第４の実施の形態（テレビジョン受像機）
５．第５の実施の形態（携帯電話機）
６．第６の実施の形態（ハードディスクレコーダ）
７．第７の実施の形態（カメラ）
【００４９】
＜１．第１の実施の形態＞
［画像符号化装置］
図５は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００５０】
図５に示される画像符号化装置１００は、例えば、H．264及びMPEG（Moving Picture Experts Group）４ Part１０（AVC（Advanced Video Coding））（以下H．264/AVCと称する）方式で画像を圧縮符号化する符号化装置である。ただし、画像符号化装置１００は、インター符号化を行う際に、マクロブロックの水平方向のサイズを変更することにより、マクロブロックサイズを変更することができる。マクロブロックの垂直方向のサイズは固定とする。
【００５１】
図５の例において、画像符号化装置１００は、A/D（Analog / Digital）変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、および演算部１１０を有する。さらに、画像符号化装置１００は、デブロックフィルタ１１１、およびフレームメモリ１１２を有する。また、画像符号化装置１００は、選択部１１３、イントラ予測部１１４、動き予測補償部１１５、および選択部１１６を有する。さらに、画像符号化装置１００は、レート制御部１１７を有する。また、画像符号化装置１００は、特徴量抽出部１２１、マクロブロック設定部１２２、およびフラグ生成部１２３を有する。
【００５２】
A/D変換部１０１は、入力された画像データをA/D変換し、画面並べ替えバッファ１０２に出力し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、演算部１０３、イントラ予測部１１４、および動き予測補償部１１５に供給する。
【００５３】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、選択部１１６から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。例えば、イントラ符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像にイントラ予測部１１４から供給される予測画像を加算する。また、例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像に動き予測補償部１１５から供給される予測画像を加算する。
【００５４】
直交変換部１０４は、演算部１０３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部１０５に供給する。量子化部１０５は、直交変換部１０４が出力する変換係数を量子化する。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００５５】
可逆符号化部１０６は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
【００５６】
可逆符号化部１０６は、イントラ予測を示す情報などをイントラ予測部１１４から取得し、インター予測モードを示す情報などを動き予測補償部１１５から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測（画面間予測）を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
【００５７】
可逆符号化部１０６は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどを、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００５８】
例えば、可逆符号化部１０６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００５９】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H．264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００６０】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化し、得られた変換係数を、逆直交変換部１０９に供給する。
【００６１】
逆直交変換部１０９は、供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力は、演算部１１０に供給される。
【００６２】
演算部１１０は、逆直交変換部１０９より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部１１６から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部１１０は、その差分情報にイントラ予測部１１４から供給される予測画像を加算する。また、たとえば、差分情報が、インター符号化が行われる画像に対応する場合、演算部１１０は、その差分情報に動き予測補償部１１５から供給される予測画像を加算する。
【００６３】
その加算結果は、デブロックフィルタ１１１またはフレームメモリ１１２に供給される。
【００６４】
デブロックフィルタ１１１は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ（Wiener Filter）を用いて適宜ループフィルタ処理を行うことにより画質改善を行う。デブロックフィルタ１１１は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ１１１は、そのフィルタ処理結果をフレームメモリ１１２に供給する。
【００６５】
フレームメモリ１１２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部１１３を介してイントラ予測部１１４または動き予測補償部１１５に出力する。
【００６６】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介してイントラ予測部１１４に供給する。また、例えば、インター符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介して動き予測補償部１１５に供給する。
【００６７】
画像符号化装置１００においては、例えば、画面並べ替えバッファ１０２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部１１４に供給される。また、画面並べ替えバッファ１０２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測補償部１１５に供給される。
【００６８】
選択部１１３は、フレームメモリ１１２から供給される参照画像を、イントラ符号化を行う画像の場合、イントラ予測部１１４に供給し、インター符号化を行う画像の場合、動き予測補償部１１５に供給する。
【００６９】
イントラ予測部１１４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。
【００７０】
イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部１１６を介して演算部１０３に供給する。
【００７１】
また、上述したように、イントラ予測部１１４は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部１０６に供給する。
【００７２】
動き予測補償部１１５は、インター符号化が行われる画像について、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照フレームとなる復号画像とを用いて、動きベクトルを算出する。動き予測補償部１１５は、算出した動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００７３】
このとき動き予測補償部１１５は、マクロブロック設定部１２２によりサイズが設定されたマクロブロックを用いてインター予測を行う。
【００７４】
動き予測補償部１１５は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測補償部１１５は、生成された予測画像を、選択部１１６を介して演算部１０３に供給する。
【００７５】
また、動き予測補償部１１５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部１０６に供給する。
【００７６】
選択部１１６は、イントラ符号化を行う画像の場合、イントラ予測部１１４の出力を演算部１０３に供給し、インター符号化を行う画像の場合、動き予測補償部１１５の出力を演算部１０３に供給する。
【００７７】
レート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００７８】
特徴量抽出部１２１は、A/D変換部１０１から出力される、デジタル化された画像データから画像の特徴量を抽出する。画像の特徴量としては、例えば、同一テクスチャの広さ、画像サイズ、およびビットレート等があげられる。もちろん、特徴量抽出部１２１が、これらのパラメータ以外のパラメータを特徴量として抽出するようにしてもよいし、上述したパラメータのうちの一部のみを特徴量として抽出するようにしてもよい。
【００７９】
特徴量抽出部１２１は、抽出した特徴量をマクロブロック設定部１２２に供給する。
【００８０】
マクロブロック設定部１２２は、特徴量抽出部１２１から供給される画像の特徴量に基づいて、マクロブロックサイズを設定する。また、マクロブロック設定部１２２は、動き予測補償部１１５から供給される、動き予測補償部１１５が検出した画像の動きの大きさに従ってマクロブロックサイズを設定することもできる。
【００８１】
マクロブロック設定部１２２は、設定したマクロブロックサイズを動き予測補償部１１５およびフラグ生成部１２３に通知する。動き予測補償部１１５は、マクロブロック設定部１２２により設定されたマクロブロックサイズで動き予測補償を行う。
【００８２】
フラグ生成部１２３は、マクロブロック設定部１２２から供給されるマクロブロックサイズを示す情報に基づいて、現在の処理対象のマクロブロックライン（マクロブロックの画像水平方向の並び）についてのフラグ情報を生成する。例えば、フラグ生成部１２３は、繰り返しフラグや固定フラグの設定を行う。
【００８３】
繰り返しフラグとは、現在の処理対象のマクロブロックラインにおける各マクロブロックのサイズが、その１つ上のマクロブロックラインにおける各マクロブロックのサイズと同一であることを示すフラグ情報である。また、固定フラグとは、現在の処理対象のマクロブロックラインの各マクロブロックのサイズが全て同一であることを示すフラグ情報である。
【００８４】
もちろんフラグ生成部１２３は、任意の内容のフラグ情報を生成することができる。つまり、フラグ生成部１２３が、これら以外のフラグ情報を生成するようにしてもよい。フラグ生成部１２３は、生成したフラグ情報を可逆符号化部１０６に供給し、コードストリームに付加させる。
【００８５】
［マクロブロック］
マクロブロック設定部１２２が設定可能なマクロブロックのサイズの例を図６に示す。図６に示されるマクロブロック１３１のサイズは１６×１６画素である。また、マクロブロック１３２のサイズは、水平方向を長手方向とする３２×１６画素である。さらに、マクロブロック１３３のサイズは、水平方向を長手方向とする６４×１６画素である。また、マクロブロック１３４のサイズは、水平方向を長手方向とする１２８×１６画素である。さらに、マクロブロック１３５のサイズは、水平方向を長手方向とする２５６×１６画素である。
【００８６】
マクロブロック設定部１２２は、動き予測補償部１１５において行われるインター予測の処理対象マクロブロックのサイズとして、例えば、これらのサイズの中から最適なサイズを１つ選択する。もちろん、マクロブロック設定部１２２が設定するマクロブロックのサイズは任意であり、図６に示される以外のサイズであってもよい。
【００８７】
ただし、マクロブロック設定部１２２は、図６に示されるように、マクロブロックの垂直方向のサイズは変更しない（所定のサイズに固定する）。つまり、マクロブロックサイズを大きくする場合、マクロブロック設定部１２２は、水平方向のサイズを長くする。
【００８８】
このようにマクロブロック設定部１２２が、マクロブロックの垂直方向のサイズを固定値とすることにより、以下に説明するような効果がえられる。
【００８９】
まず、マクロブロックサイズの変更が可能であるので、画像の内容（同一テクスチャの範囲やエッジの位置等）、画像のサイズ、画像の動きの大きさ、またはビットレート等の各種パラメータに応じて適切なサイズを選択することができ、マクロブロックのサイズが固定の場合と比べて、符号化効率を向上させることができる。
【００９０】
次に、マクロブロック設定部１２２がマクロブロックサイズを大きくしても、イントラ予測において隣接画素として保持しなければならないデータ量の増大を抑制することができる。例えば、イントラ予測においては、隣接画素として、マクロブロックの右端の１画素列が記憶されなければならないが、この場合、マクロブロックサイズが変更されても、マクロブロックの垂直方向のサイズは不変であるので、マクロブロックの右端の１画素列の画素数は不変であり、そのデータ量は略変化しない。
【００９１】
また、マクロブロックの分割が複雑になるのを抑制することができる。図６に示されるようなマクロブロックの分割方法を図７に示す。マクロブロックの水平方向の画素サイズが３２画素以上の場合、それぞれの画素サイズのマクロブロックにおいて、マクロブロックと同じ画素サイズで動き補償処理を行うか、もしくは水平画素サイズを２等分に分割したサイズで動き補償処理を行うかを選択することができる。分割された動き補償処理のブロックサイズが３２画素以上の場合はそれぞれのブロックにおいてさらに水平画素サイズを２等分に分割したサイズで動き補償処理を行うことが出来る。マクロブロックの水平方向の画素サイズ、もしくは分割されたブロックの水平方向のサイズが１６画素の場合、それ以降の分割については図７に示されるようにITU-T H.264、 MPEG4-AVCで規定されている分割方法と同じとする。
【００９２】
このように、マクロブロックサイズが１６×１６画素以下の場合は、従来通りの方法でマクロブロックを分割することができ、マクロブロックサイズが１６×１６画素よりも大きい場合、左右に２等分するのみとすることができる。つまり、従来の拡張マクロブロックの場合と比べて、マクロブロックの分割が容易になる。
【００９３】
さらに、例えば、図８に示されるように、画面内で水平方向のマクロブロックサイズを１６画素、３２画素、６４画素、１２８画素、２５６画素の中から適応的に切り替えるようにすることができる。マクロブロックの垂直方向のサイズは固定されているので、図８に示されるマクロブロック１４１乃至マクロブロック１４５のように、同一マクロブロックライン上で、任意にマクロブロックの（水平方向の）サイズを変更することが可能になる。したがって、従来の拡張マクロブロックの場合よりも符号化効率をより向上させることができる。
【００９４】
このようにマクロブロックサイズを任意に変更することができるので、各マクロブロックの分割を省略することもできる。この場合、マクロブロックに対して１つの動きベクトルが割り当てられる。なお、マクロブロック１４１のように、水平方向のサイズが１６画素のマクロブロックについては、ITU-T H.264, MPEG4-AVCで規定されている分割方法と同様に分割が行われるようにしてもよい。
【００９５】
なお、人間の視覚には、垂直方向の変化の感度は高く、水平方向の変化の感度は低いという特性がある。したがって、図８の例のように、マクロブロックの垂直方向のサイズは全て同一とし、水平方向のサイズのみを変化させることにより、画面内におけるマクロブロックサイズの変化が与える視覚的影響を低減させることができる。
【００９６】
また、垂直方向のサイズが固定であるので、マクロブロックサイズによってスキャン順を変更する必要がなく、制御が容易である。図６の各マクロブロックサイズのスキャン順の例を図９に示す。
【００９７】
図９に示されるように、マクロブロック１３１乃至マクロブロック１３５のいずれのサイズであっても、１６×１６画素を単位としてラスタスキャン順に処理が進む。図９に示される四角は１６×１６画素を示しており、その内部の番号は処理順を示している。
【００９８】
このように、マクロブロックサイズが大きくなっても、１６×１６画素を単位として、左から右に処理が進められるだけであるので、処理順は、隣のマクロブロックに処理が移動した場合と同様である。つまり、マクロブロックサイズによらず処理手順が同一であるので、制御が容易になる。
【００９９】
なお、１６×１６画素内の変換係数のブロック分割および復号化順序は、ITU-T H.264、 MPEG4-AVCで規定されている通りとなる。図１０は色差フォーマット4:2:0の時のITU-T H．264、 MPEG4-AVCで規定されている１６×１６画素内の変換係数のブロック分割およびその分割された各領域の処理順序を示したものである。
【０１００】
例えば、輝度成分が４×４画素単位で符号化される場合、輝度成分Ｙのマクロブロック１５１の４×４の領域、色差成分Ｃｂのマクロブロック１５２の２×２の領域、並びに、色差成分Ｃｒのマクロブロック１５３の２×２の領域は、図１０Ａに示されるような番号順に処理される。
【０１０１】
また例えば、輝度成分が８×８画素単位で符号化される場合、輝度成分Ｙのマクロブロック１５１の２×２の領域、色差成分Ｃｂのマクロブロック１５２の２×２の領域、並びに、色差成分Ｃｒのマクロブロック１５３の２×２の領域は、図１０Ｂに示されるような番号順に処理される。
【０１０２】
なお、マクロブロックの垂直方向についてはサイズが固定されていればよく、その大きさは任意である。ただし、上述したように、マクロブロックの垂直方向のサイズを１６画素とすることにより、既存の符号化規格（例えば、ITU-T H.264、 MPEG4-AVC、若しくはMPEG2等）との親和性を向上させることができる。
【０１０３】
例えば、ITU-T H.264、MPEG4-AVC、若しくはMPEG2等の符号化規格においては、ブロックサイズとして１６×１６画素が規定されている。マクロブロックの垂直方向のサイズとして、このような既存の符号化規格に規定されるブロックサイズの垂直方向のサイズ（例えば１６画素）を用いることにより、例えば、上述したように、１６×１６画素以下の処理については、その符号化規格の規定通りに行うようにすることができる。このように既存の符号化規格との親和性を高めることにより、その符号化規格との互換性を向上させることができるだけでなく、開発を容易にすることができる。
【０１０４】
［画像符号化装置の詳細］
図１１は、図５の画像符号化装置１００の内部の、動き予測補償部１１５、マクロブロック設定部１２２、およびフラグ生成部１２３の構成例を示すブロック図である。
【０１０５】
図１１に示されるように、動き予測補償部１１５は、動き予測部１６１および動き補償部１６２を有する。
【０１０６】
動き予測部１６１は、画面並べ替えバッファ１０２から供給される入力画像とフレームメモリ１１２から供給される参照画像とを用いて、マクロブロック設定部１２２により設定されたマクロブロックサイズおよび分割数で動き検出を行う。動き予測部１６１は、動きベクトル等のパラメータをフィードバックさせる。マクロブロック設定部１２２は、そのフィードバックされたパラメータや、特徴量抽出部１２１から供給されるパラメータ等に基づいて、マクロブロックサイズおよび分割数を設定し、動き予測部１６１および動き補償部１６２に通知する。動き予測部１６１は、その設定の下、動き検出を行い、動きベクトル情報を生成する。動き予測部１６１は、その動きベクトル情報を、動き補償部１６２や可逆符号化部１０６に供給する。
【０１０７】
動き補償部１６２は、動き予測部１６１から供給される動きベクトル情報、および、フレームメモリ１１２から供給される参照画像を用いて、マクロブロック設定部１２２により設定されたマクロブロックサイズおよび分割数で動き補償を行い、予測画像を生成する。
【０１０８】
動き補償部１６２は、その予測画像を選択部１１６を介して演算部１０３および演算部１１０に供給する。また、動き補償部１６２は、インター予測モード情報を可逆符号化部１０６に供給する。
【０１０９】
マクロブロック設定部１２２は、パラメータ判定部１７１、サイズ決定部１７２、および分割数決定部１７３を有する。
【０１１０】
パラメータ判定部１７１は、特徴量抽出部１２１や動き予測部１６１等から供給されるパラメータを判定する。サイズ決定部１７２は、パラメータ判定部１７１によるパラメータの判定結果に基づいて、マクロブロックの水平方向のサイズを決定する（垂直方向のサイズは固定値である）。分割数決定部１７３は、パラメータ判定部１７１によるパラメータの判定結果や、マクロブロックサイズに応じて、マクロブロックの分割数を決定する。
【０１１１】
マクロブロック設定部１２２は、このように決定されたマクロブロックサイズを示すマクロブロックサイズ情報や、分割数を示すマクロブロック分割情報を、動き予測部１６１に供給する。また、マクロブロック設定部１２２は、このマクロブロックサイズ情報やマクロブロック分割情報をフラグ生成部１２３にも供給する。
【０１１２】
フラグ生成部１２３は、繰り返しフラグ生成部１８１および固定フラグ生成部１８２を有する。繰り返しフラグ生成部１８１は、マクロブロック設定部１２２から供給されたマクロブロックサイズ情報やマクロブロック分割情報を用いて、必要に応じて繰り返しフラグをセットする。つまり、繰り返しフラグ生成部１８１は、現在処理対象のマクロブロックラインと、その１つ上のマクロブロックラインとで、マクロブロックサイズ（分割数も含めてもよい）の構成が互いに同一である場合、繰り返しフラグを立てる。
【０１１３】
固定フラグ生成部１８２は、マクロブロック設定部１２２から供給されたマクロブロックサイズ情報やマクロブロック分割情報を用いて、必要に応じて固定フラグをセットする。つまり、固定フラグ生成部１８２は、現在処理対象のマクロブロックラインの全マクロブロックのサイズ（分割数も含めてもよい）が互いに同一である場合、固定フラグを立てる。
【０１１４】
フラグ生成部１２３はこれらのフラグ情報を生成すると、マクロブロックサイズ情報やマクロブロック分割情報とともに、可逆符号化部１０６に供給する。可逆符号化部１０６は、マクロブロックサイズ情報やマクロブロック分割情報とともに、これらのフラグ情報をコードストリームに付加する。つまり、これらのフラグ情報は、復号側に供給される。
【０１１５】
［符号化処理］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図１２のフローチャートを参照して、符号化処理の流れの例を説明する。
【０１１６】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、特徴量抽出部１２１は、A/D変換された入力画像から特徴量を抽出する。ステップＳ１０３において、画面並べ替えバッファ１０２は、A/D変換部１０１から供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１１７】
ステップＳ１０４において、イントラ予測部１１４および動き予測補償部１１５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ１０４において、イントラ予測部１１４は、イントラ予測モードのイントラ予測処理を行う。動き予測補償部１１５は、インター予測モードの動き予測補償処理を行う。
【０１１８】
ステップＳ１０５において、選択部１１６は、イントラ予測部１１４および動き予測補償部１１５から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部１１６は、イントラ予測部１１４により生成された予測画像と、動き予測補償部１１５により生成された予測画像のいずれか一方を選択する。
【０１１９】
また、この予測画像の選択情報は、イントラ予測部１１４または動き予測補償部１１５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部１１４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部１０６に供給する。
【０１２０】
最適インター予測モードの予測画像が選択された場合、動き予測補償部１１５は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部１０６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
【０１２１】
また、この場合、フラグ生成部１２３は、フラグ情報、マクロブロックサイズ情報、およびマクロブロック分割情報等を適宜可逆符号化部１０６に供給する。
【０１２２】
ステップＳ１０６において、演算部１０３は、ステップＳ１０３で並び替えられた画像と、ステップＳ１０４の予測処理により得られた予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測補償部１１５から、イントラ予測する場合はイントラ予測部１１４から、それぞれ選択部１１６を介して演算部１０３に供給される。
【０１２３】
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１２４】
ステップＳ１０７において、直交変換部１０４は演算部１０３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１０８において、量子化部１０５は変換係数を量子化する。
【０１２５】
ステップＳ１０９において、可逆符号化部１０６は量子化部１０５から出力された量子化された変換係数を符号化する。すなわち、差分画像（インターの場合、２次差分画像）に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０１２６】
なお、可逆符号化部１０６は、ステップＳ１０５の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データのヘッダ情報に付加する。
【０１２７】
つまり、可逆符号化部１０６は、イントラ予測部１１４から供給されるイントラ予測モード情報、または、動き予測補償部１１５から供給される最適インター予測モードに応じた情報なども符号化し、ヘッダ情報に付加する。また、可逆符号化部１０６は、フラグ生成部１２３から供給される各種情報も、符号化データのヘッダ情報等に付加する。
【０１２８】
ステップＳ１１０において蓄積バッファ１０７は、可逆符号化部１０６から出力される符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
【０１２９】
ステップＳ１１１においてレート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０１３０】
また、ステップＳ１０８の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１１２において、逆量子化部１０８は量子化部１０５により量子化された変換係数を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１１３において、逆直交変換部１０９は、逆量子化部１０８により逆量子化された変換係数を直交変換部１０４の特性に対応する特性で逆直交変換する。
【０１３１】
ステップＳ１１４において、演算部１１０は、選択部１１６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。ステップＳ１１５においてデブロックフィルタ１１１は、演算部１１０から出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１１６においてフレームメモリ１１２は、フィルタリングされた画像を記憶する。なお、フレームメモリ１１２にはデブロックフィルタ１１１によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０１３２】
［予測処理］
次に、図１３のフローチャートを参照して、図１２のステップＳ１０４において実行される予測処理の流れの例を説明する。
【０１３３】
ステップＳ１３１において、イントラ予測部１１４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。
【０１３４】
画面並べ替えバッファ１０２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ１１２から読み出され、選択部１１３を介して動き予測補償部１１５に供給される。これらの画像に基づいて、ステップＳ１３２において、動き予測補償部１１５はインター動き予測処理を行う。すなわち、動き予測補償部１１５は、フレームメモリ１１２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１３５】
ステップＳ１３３において、動き予測補償部１１５は、ステップＳ１３２において算出されたインター予測モードに対してのコスト関数値の中から、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測補償部１１５は、インター処理する画像と最適インター予測モードで生成された２次差分情報との差分、および最適インター予測モードのコスト関数値を、選択部１１６に供給する。
【０１３６】
［インター動き予測処理］
図１４は、図１３のステップＳ１３２において実行されるインター動き予測処理の流れの例を説明するフローチャートである。
【０１３７】
インター動き予測処理が開始されると、ステップＳ１５１において、マクロブロック設定部１２２は、マクロブロックの水平方向のサイズや分割数等を設定する。ステップＳ１５２において、動き予測補償部１１５は、動きベクトルと参照画像を決定する。ステップＳ１５３において、動き予測補償部１１５は、動き補償を行う。ステップＳ１５４において、フラグ生成部１２３は、フラグを生成する。ステップＳ１５４の処理が終了すると、画像符号化装置１００は、処理を図１３のステップＳ１３２に戻し、ステップＳ１３３に処理を進める。
【０１３８】
［マクロブロック設定処理］
次に、図１５のフローチャートを参照して、図１４のステップＳ１５１において実行されるマクロブロック設定処理の流れの例を説明する。
【０１３９】
マクロブロック設定処理が開始されると、マクロブロック設定部１２２は、ステップＳ１７１において、入力画像の画像サイズを取得する。ステップＳ１７２において、パラメータ判定部１７１は、その画像サイズを判定する。
【０１４０】
ステップＳ１７３において、サイズ決定部１７２は、判定された画像サイズに応じてマクロブロックの水平方向のサイズを決定する。また、分割数決定部１７３は、ステップＳ１７４において、マクロブロックの分割数を決定する。
【０１４１】
ステップＳ１７４の処理を終了すると、マクロブロック設定部１２２は、処理を図１４のステップＳ１５１に戻し、ステップＳ１５２に処理を進める。
【０１４２】
なお、以上においては、マクロブロックの水平方向のサイズや分割数を決定するためのパラメータとして入力画像の画像サイズを用いるように説明したが、このパラメータは任意であり、例えば、上述したように、画像の内容、動きの大きさ、またはビットレート等であってもよいし、これら以外であってもよい。また、複数のパラメータを用いて決定するようにしてもよい。
【０１４３】
［フラグ生成処理］
次に、図１６のフローチャートを参照して、図１４のステップＳ１５４において実行されるフラグ生成処理の流れの例を説明する。
【０１４４】
フラグ生成処理が開始されると、繰り返しフラグ生成部１８１は、ステップＳ１９１において、１つ上のマクロブロックラインとマクロブロックサイズのパターンが同一であるか否かを判定する。
【０１４５】
同一であると判定すると、繰り返しフラグ生成部１８１は、処理をステップＳ１９２に進め、繰り返しフラグを立て、処理をステップＳ１９３に進める。ステップＳ１９１において、同一でないと判定された場合、繰り返しフラグ生成部１８１は、処理をステップＳ１９３に進める。
【０１４６】
ステップＳ１９３において、固定フラグ生成部１８２は、当該マクロブロックラインのマクロブロックサイズが全て同一であるか否かを判定する。
【０１４７】
同一であると判定された場合、固定フラグ生成部１８２は、処理をステップＳ１９４に進め、固定フラグを立て、フラグ生成処理を終了し、処理を図１４のステップＳ１５４に戻し、さらにインター動き予測処理を終了させ、処理を図１３のステップＳ１３２に戻し、ステップＳ１３３に処理を進める。
【０１４８】
また、ステップＳ１９３において、同一でないと判定された場合、固定フラグ生成部１８２は、フラグ生成処理を終了し、処理を図１４のステップＳ１５４に戻し、さらにインター動き予測処理を終了させ、処理を図１３のステップＳ１３２に戻し、ステップＳ１３３に処理を進める。
【０１４９】
以上のように、マクロブロックの水平方向のみサイズを可変とすることにより、画像符号化装置１００は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０１５０】
また、以上のように、マクロブロックサイズについてのフラグ情報を伝送することにより、後述するように、復号側において、マクロブロックサイズの設定をより容易に行うことができるようにすることができる。
【０１５１】
なお、以上に説明した各ブロックのサイズは一例であり、上述した以外のサイズであってもよい。また、以上においては、マクロブロックサイズ情報、マクロブロック分割情報、およびフラグ情報等を復号側に伝送する方法として、可逆符号化部１０６が符号化データのヘッダ情報にこれらの情報を多重化するように説明したが、これらの情報の格納場所は任意である。例えば、可逆符号化部１０６が、これらの情報を、ビットストリームにシンタックスとして記述するようにしてもよい。また、可逆符号化部１０６が、これらの情報を、補助情報として所定の領域に格納して伝送するようにしてもよい。例えば、これらの情報が、SEI（Suplemental Enhancement Information）等のパラメータセット（例えばシーケンスやピクチャのヘッダ等）に格納されるようにしてもよい。
【０１５２】
また、可逆符号化部１０６が、これらの情報を、符号化データとは別に（別のファイルとして）、画像符号化装置から画像復号装置に伝送させるようにしてもよい。その場合、これらの情報と符号化データとの対応関係を明確にする（復号側で把握することができるようにする）必要があるが、その方法は任意である。例えば、別途、対応関係を示すテーブル情報を作成してもよいし、対応先のデータを示すリンク情報を互いのデータに埋め込むなどしてもよい。
【０１５３】
＜２．第２の実施の形態＞
［画像復号装置］
第１の実施の形態において説明した画像符号化装置１００により符号化された符号化データは、所定の伝送路を介して、画像符号化装置１００に対応する画像復号装置に伝送され、復号される。
【０１５４】
以下に、その画像復号装置について説明する。図１７は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【０１５５】
図１７に示されるように、画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測補償部２１２、および選択部２１３を有する。さらに、画像復号装置２００は、マクロブロック設定部２２１を有する。
【０１５６】
蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１００により符号化されたものである。可逆復号部２０２は、蓄積バッファ２０１から所定のタイミングで読み出された符号化データを、図５の可逆符号化部１０６の符号化方式に対応する方式で復号する。
【０１５７】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた係数データを、図５の量子化部１０５の量子化方式に対応する方式で逆量子化する。逆量子化部２０３は、逆量子化された係数データを、逆直交変換部２０４に供給する。逆直交変換部２０４は、図５の直交変換部１０４の直交変換方式に対応する方式で、その係数データを逆直交変換し、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０１５８】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測補償部２１２から予測画像が供給される。
【０１５９】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０１６０】
デブロックフィルタ２０６は、復号された画像のブロック歪を除去した後、フレームメモリ２０９に供給し、蓄積させるとともに、画面並べ替えバッファ２０７にも供給する。
【０１６１】
画面並べ替えバッファ２０７は、画像の並べ替えを行う。すなわち、図５の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０１６２】
選択部２１０は、インター処理される画像と参照される画像をフレームメモリ２０９から読み出し、動き予測補償部２１２に供給する。また、選択部２１０は、イントラ予測に用いられる画像をフレームメモリ２０９から読み出し、イントラ予測部２１１に供給する。
【０１６３】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、この情報に基づいて、予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０１６４】
動き予測補償部２１２は、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）を可逆復号部２０２から取得する。また、動き予測補償部２１２は、マクロブロック設定部２２１からマクロブロックサイズや分割数の指定を受ける。動き予測補償部２１２は、インター予測モードを示す情報が供給された場合、可逆復号部２０２やマクロブロック設定部２２１から供給される情報に基づいて、予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０１６５】
選択部２１３は、動き予測補償部２１２またはイントラ予測部２１１により生成された予測画像を選択し、演算部２０５に供給する。
【０１６６】
可逆復号部２０２は、コードストリームに付加されているフラグ情報、マクロブロックサイズ情報、およびマクロブロック分割情報等の各種情報をマクロブロック設定部２２１に供給する。
【０１６７】
マクロブロック設定部２２１には、可逆復号部２０２から供給される、画像符号化装置１００から供給された情報に基づいて、マクロブロックサイズやその分割数を設定し、動き予測補償部２１２にその設定を供給する。
【０１６８】
［画像復号装置の詳細］
図１８は、図１７の画像復号装置２００の内部の、動き予測補償部２１２およびマクロブロック設定部２２１の構成例を示すブロック図である。
【０１６９】
図１８に示されるように、動き予測補償部２１２は、動き予測部２６１および動き補償部２６２を有する。
【０１７０】
動き予測部２６１は、画像符号化装置１００の動き予測部１６１（図１１）と基本的に同様の構成を有し、同様の処理を行う。動き補償部２６２は、画像符号化装置１００の動き補償部１６２と基本的に同様の構成を有し、同様の処理を行う。
【０１７１】
また、マクロブロック設定部２２１は、フラグ判定部２７１、サイズ決定部２７２、および分割数決定部２７３を有する。
【０１７２】
サイズ決定部２７２は、画像符号化装置１００のサイズ決定部１７２（図１１）と基本的に同様の構成を有し、同様の処理を行う。分割数決定部２７３は、画像符号化装置１００の分割数決定部２７３（図１１）と基本的に同様の構成を有し、同様の処理を行う。
【０１７３】
つまり、動き予測補償部２１２は、動き予測補償部１１５（図１１）と基本的に同様の処理を行い、マクロブロック設定部２２１は、マクロブロック設定部１２２（図１１）と基本的に同様の処理を行う。
【０１７４】
ただし、マクロブロック設定部２２１は、可逆復号部２０２から供給される、フラグ情報、マクロブロックサイズ情報、およびマクロブロック分割情報等に基づいて、マクロブロックの水平方向のサイズや分割数の設定を行う。
【０１７５】
そのため、マクロブロック設定部２２１は、パラメータ判定部１７１の代わりにフラグ判定部２７１を有する。フラグ判定部２７１は、可逆復号部２０２から供給される繰り返しフラグや固定フラグ等のフラグ情報を判定する。
【０１７６】
サイズ決定部２７２は、可逆復号部２０２から供給されるマクロブロックサイズ情報やマクロブロック分割情報、並びに、フラグ判定部２７１による判定結果に基づいて、マクロブロックの水平方向のブロックサイズを決定する。
【０１７７】
例えば、フラグ判定部２７１により繰り返しフラグが立てられていると判定された場合、サイズ決定部２７２は、処理対象マクロブロックラインの各マクロブロックの水平方向のサイズを、処理対象マクロブロックラインの1つ上のマクロブロックラインの各マクロブロックの水平方向のサイズと同一に設定する。
【０１７８】
また、例えば、フラグ判定部２７１により固定フラグが立てられていると判定された場合、サイズ決定部２７２は、処理対象マクロブロックラインの各マクロブロックの水平方向のサイズを、全て同一に設定する。つまり、サイズ決定部２７２は、処理対象マクロブロックラインの左端のマクロブロックについてのみ、マクロブロックサイズ情報から、水平方向のサイズを決定し、処理対象マクロブロックラインの左から２番目以降のマクロブロックについては、全てのその左端のマクロブロックサイズに統一する。
【０１７９】
これらのフラグが立っていない場合、サイズ決定部２７２は、各マクロブロックのサイズを、マクロブロックサイズ情報に基づいて１つずつ決定する。つまり、サイズ決定部２７２は、画像符号化装置１００における各マクロブロックのサイズを１つずつ確認し、処理対象のマクロブロックのサイズを、そのサイズに合わせる。
【０１８０】
これに対して、フラグが立っている場合、上述したように、マクロブロックライン単位で、各マクロブロックの水平方向のサイズを一気に決定することができる。つまり、画像符号化装置１００から供給されるフラグ情報を用いることにより、マクロブロック設定部２２１は、容易にマクロブロックサイズを決定することができる。
【０１８１】
分割数決定部２７３は、画像符号化装置１００から供給されるマクロブロック分割情報に基づいて、各マクロブロックの分割数を、画像符号化装置１００の場合と同様にする。なお、マクロブロックサイズの場合と同様に、分割数決定部２７３が、フラグ情報に基づいて、マクロブロックライン単位で、各マクロブロックの分割数を一気に決定するようにしてもよい。
【０１８２】
ところで、画像復号装置２００においては、繰り返しフラグや固定フラグの生成は行われない。
【０１８３】
また、動き予測補償部２１２は、動き予測補償部１１５と同様に、マクロブロック設定部２２１により設定されたマクロブロックサイズで動き予測や動き補償を行うが、インター予測モード情報や動きベクトル情報を出力しない。
【０１８４】
［復号処理］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図１９のフローチャートを参照して、復号処理の流れの例を説明する。
【０１８５】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は伝送されてきた符号化データを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給される符号化データを復号する。すなわち、図５の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０１８６】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）、マクロブロックサイズ情報、マクロブロック分割情報、およびフラグ情報等も復号される。
【０１８７】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部２１１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測補償部２１２に供給される。
【０１８８】
また、マクロブロックサイズ情報、マクロブロック分割情報、およびフラグ情報等が存在する場合、それらの情報はマクロブロック設定部２２１に供給される。
【０１８９】
ステップＳ２０３において、逆量子化部２０３は可逆復号部２０２により復号された変換係数を、図５の量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ２０４において逆直交変換部２０４は逆量子化部２０３により逆量子化された変換係数を、図５の直交変換部１０４の特性に対応する特性で逆直交変換する。これにより図５の直交変換部１０４の入力（演算部１０３の出力）に対応する差分情報が復号されたことになる。
【０１９０】
ステップＳ２０５において、イントラ予測部２１１、または動き予測補償部２１２は、可逆復号部２０２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０１９１】
すなわち、可逆復号部２０２からイントラ予測モード情報が供給された場合、イントラ予測部２１１は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部２０２からインター予測モード情報が供給された場合、動き予測補償部２１２は、インター予測モードの動き予測処理を行う。
【０１９２】
ステップＳ２０６において、選択部２１３は予測画像を選択する。すなわち、選択部２１３には、イントラ予測部２１１により生成された予測画像、若しくは、動き予測補償部２１２により生成された予測画像が供給される。選択部２１３は、そのいずれか一方を選択する。選択された予測画像は、演算部２０５に供給される。
【０１９３】
ステップＳ２０７において、演算部２０５は、ステップＳ２０４の処理により得られた差分情報に、ステップＳ２０６の処理により選択された予測画像を加算する。これにより元の画像データが復号される。
【０１９４】
ステップＳ２０８において、デブロックフィルタ２０６は、演算部２０５から供給された復号画像データをフィルタリングする。これによりブロック歪みが除去される。
【０１９５】
ステップＳ２０９において、フレームメモリ２０９は、フィルタリングされた復号画像データを記憶する。
【０１９６】
ステップＳ２１０において、画面並べ替えバッファ２０７は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置１００の画面並べ替えバッファ１０２（図５）により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１９７】
ステップＳ２１１において、D/A変換部２０８は、画面並べ替えバッファ２０７においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
【０１９８】
［予測処理］
次に図２０のフローチャートを参照して、図１９のステップＳ２０５において実行される予測処理の流れの例を説明する。
【０１９９】
予測処理が開始されると、可逆復号部２０２は、イントラ予測モード情報に基づいて、イントラ符号化されているか否かを判定する。イントラ符号化されていると判定した場合、可逆復号部２０２は、イントラ予測モード情報をイントラ予測部２１１に供給し、処理をステップＳ２３２に進める。
【０２００】
ステップＳ２３２において、イントラ予測部２１１は、イントラ予測処理を行う。イントラ予測処理が終了すると、画像復号装置２００は、処理を図１９に戻し、ステップＳ２０６以降の処理を実行させる。
【０２０１】
また、ステップＳ２３１において、インター符号化されていると判定された場合、可逆復号部２０２は、インター予測モード情報を動き予測補償部２１２に供給し、マクロブロックサイズ情報、マクロブロック分割情報、およびフラグ情報等をマクロブロック設定部２２１に供給し、処理をステップＳ２３３に進める。
【０２０２】
ステップＳ２３３において、動き予測補償部２１２は、インター動き予測補償処理を行う。インター動き予測補償処理が終了すると、画像復号装置２００は、処理を図１９に戻し、ステップＳ２０６以降の処理を実行させる。
【０２０３】
［イントラ予測処理］
次に、図２１のフローチャートを参照して、図２０のステップＳ２３３において実行されるインター動き予測処理の流れの例を説明する。
【０２０４】
インター動き予測処理が開始されると、マクロブロック設定部２２１は、ステップＳ２５１において、マクロブロックを設定する。ステップＳ２５２において、動き予測部２６１は、動きベクトル情報に基づいて参照画像の位置（領域）を決定する。ステップＳ２５６において、動き補償部２６２は、予測画像を生成する。予測画像が生成されると、インター動き予測処理が終了される。動き予測補償部２１２は、処理を図２０のステップＳ２３３に戻し、予測処理を終了させ、さらに、処理を図１９のステップＳ２０５に戻し、それ以降の処理を実行させる。
【０２０５】
次に、図２２のフローチャートを参照して、図２１のステップＳ２５１において実行されるマクロブロック設定処理の流れを説明する。
【０２０６】
マクロブロック設定処理が開始されると、フラグ判定部２７１は、ステップＳ２７１において、繰り返しフラグが立てられているか否かを判定する。繰り返しフラグが立てられていると判定された場合、フラグ判定部２７１は、処理をステップＳ２７２に進める。
【０２０７】
ステップＳ２７２において、サイズ決定部２７２は、マクロブロックサイズおよび分割数を１つ上のマクロブロックラインと同一にする。なお、分割数は別途設定することができるようにしてもよい。ステップＳ２７２の処理が終了すると、マクロブロック設定部２２１は、マクロブロック設定処理を終了し、処理を図２１のステップＳ２５１に戻し、ステップＳ２５２に処理を進める。
【０２０８】
ステップＳ２７１において、繰り返しフラグが立てられていないと判定された場合、フラグ判定部２７１は、処理をステップＳ２７３に進める。
【０２０９】
ステップＳ２７３において、フラグ判定部２７１は、固定フラグが立てられているか否かを判定する。固定フラグが立てられていると判定された場合、フラグ判定部２７１は、処理をステップＳ２７４に進める。
【０２１０】
ステップＳ２７４において、サイズ決定部２７２は、マクロブロックサイズおよび分割数を、マクロブロックライン共通とする。なお、分割数は別途設定することができるようにしてもよい。ステップＳ２７４の処理が終了すると、マクロブロック設定部２２１は、マクロブロック設定処理を終了し、処理を図２１のステップＳ２５１に戻し、ステップＳ２５２に処理を進める。
【０２１１】
ステップＳ２７３において、固定フラグが立てられていないと判定された場合、フラグ判定部２７１は、処理をステップＳ２７５に進める。
【０２１２】
ステップＳ２７５において、サイズ決定部２７２は、マクロブロックサイズ情報に基づいてマクロブロックサイズを決定する。ステップＳ２７６において、分割数決定部２７３は、マクロブロック分割情報に基づいて、分割数を決定する。
【０２１３】
ステップＳ２７６の処理が終了すると、マクロブロック設定部２２１は、マクロブロック設定処理を終了し、処理を図２１のステップＳ２５１に戻し、ステップＳ２５２に処理を進める。
【０２１４】
以上のように、画像復号装置２００は、画像符号化装置１００から供給されるマクロブロックサイズ情報やマクロブロック分割情報等に基づいて、画像符号化装置１００の場合と同様に、マクロブロックの垂直方向のサイズを固定し、水平方向のサイズのみを変更させることができる。このようにすることにより、画像復号装置２００は、画像符号化装置１００の場合と同様に、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０２１５】
また、画像復号装置２００は、画像符号化装置１００から供給される繰り返しフラグや固定フラグ等のフラグ情報に基づいて、複数のマクロブロックのサイズを一度に設定することができる。このようにフラグ情報を利用することにより、画像復号装置２００は、より容易に符号化効率を向上させることができる。
【０２１６】
＜３．第３の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図２３に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２１７】
図２３において、パーソナルコンピュータ５００のCPU５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５１３からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２１８】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５１０も接続されている。
【０２１９】
入出力インタフェース５１０には、キーボード、マウスなどよりなる入力部５１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部５１２、ハードディスクなどより構成される記憶部５１３、モデムなどより構成される通信部５１４が接続されている。通信部５１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２２０】
入出力インタフェース５１０にはまた、必要に応じてドライブ５１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５１３にインストールされる。
【０２２１】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２２２】
この記録媒体は、例えば、図２３に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア５２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５１３に含まれるハードディスクなどで構成される。
【０２２３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２２４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２２５】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２２６】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２２７】
例えば、上述した画像符号化装置１００や画像復号装置２００は、任意の電子機器に適用することができる。以下にその例について説明する。
【０２２８】
＜４．第４の実施の形態＞
［テレビジョン受像機］
図２４は、本発明を適用した画像復号装置２００を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０２２９】
図２４に示されるテレビジョン受像機１０００は、地上波チューナ１０１３、ビデオデコーダ１０１５、映像信号処理回路１０１８、グラフィック生成回路１０１９、パネル駆動回路１０２０、および表示パネル１０２１を有する。
【０２３０】
地上波チューナ１０１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ１０１５に供給する。ビデオデコーダ１０１５は、地上波チューナ１０１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路１０１８に供給する。
【０２３１】
映像信号処理回路１０１８は、ビデオデコーダ１０１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路１０１９に供給する。
【０２３２】
グラフィック生成回路１０１９は、表示パネル１０２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路１０２０に供給する。また、グラフィック生成回路１０１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路１０２０に供給するといった処理も適宜行う。
【０２３３】
パネル駆動回路１０２０は、グラフィック生成回路１０１９から供給されたデータに基づいて表示パネル１０２１を駆動し、番組の映像や上述した各種の画面を表示パネル１０２１に表示させる。
【０２３４】
表示パネル１０２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路１０２０による制御に従って番組の映像などを表示させる。
【０２３５】
また、テレビジョン受像機１０００は、音声A/D（Analog/Digital)変換回路１０１４、音声信号処理回路１０２２、エコーキャンセル／音声合成回路１０２３、音声増幅回路１０２４、およびスピーカ１０２５も有する。
【０２３６】
地上波チューナ１０１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ１０１３は、取得した音声信号を音声A/D変換回路１０１４に供給する。
【０２３７】
音声A/D変換回路１０１４は、地上波チューナ１０１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路１０２２に供給する。
【０２３８】
音声信号処理回路１０２２は、音声A/D変換回路１０１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０２３９】
エコーキャンセル／音声合成回路１０２３は、音声信号処理回路１０２２から供給された音声データを音声増幅回路１０２４に供給する。
【０２４０】
音声増幅回路１０２４は、エコーキャンセル／音声合成回路１０２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ１０２５から出力させる。
【０２４１】
さらに、テレビジョン受像機１０００は、デジタルチューナ１０１６およびMPEGデコーダ１０１７も有する。
【０２４２】
デジタルチューナ１０１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ１０１７に供給する。
【０２４３】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ１０１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路１０２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路１０１８に供給する。また、MPEGデコーダ１０１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU１０３２に供給する。
【０２４４】
テレビジョン受像機１０００は、このように映像パケットをデコードするMPEGデコーダ１０１７として、上述した画像復号装置２００を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置１００によって符号化されている。
【０２４５】
MPEGデコーダ１０１７は、画像復号装置２００の場合と同様に、放送局（画像符号化装置１００）より供給される符号化データから抽出されたマクロブロックサイズ情報またはフラグ情報等を用いてマクロブロックの水平方向のサイズを決定し、その設定を用いてインター符号化を行う。したがって、MPEGデコーダ１０１７は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０２４６】
MPEGデコーダ１０１７から供給された映像データは、ビデオデコーダ１０１５から供給された映像データの場合と同様に、映像信号処理回路１０１８において所定の処理が施され、グラフィック生成回路１０１９において、生成された映像データ等が適宜重畳され、パネル駆動回路１０２０を介して表示パネル１０２１に供給され、その画像が表示される。
【０２４７】
MPEGデコーダ１０１７から供給された音声データは、音声A/D変換回路１０１４から供給された音声データの場合と同様に、音声信号処理回路１０２２において所定の処理が施され、エコーキャンセル／音声合成回路１０２３を介して音声増幅回路１０２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ１０２５から出力される。
【０２４８】
また、テレビジョン受像機１０００は、マイクロホン１０２６、およびA/D変換回路１０２７も有する。
【０２４９】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０２５０】
エコーキャンセル／音声合成回路１０２３は、テレビジョン受像機１０００のユーザ（ユーザＡ）の音声のデータがA/D変換回路１０２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０２５１】
さらに、テレビジョン受像機１０００は、音声コーデック１０２８、内部バス１０２９、SDRAM（Synchronous Dynamic Random Access Memory)１０３０、フラッシュメモリ１０３１、CPU１０３２、USB（Universal Serial Bus) I/F１０３３、およびネットワークI/F１０３４も有する。
【０２５２】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック１０２８に供給する。
【０２５３】
音声コーデック１０２８は、A/D変換回路１０２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス１０２９を介してネットワークI/F１０３４に供給する。
【０２５４】
ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F１０３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック１０２８から供給された音声データを送信する。また、ネットワークI/F１０３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子１０３５を介して受信し、それを、内部バス１０２９を介して音声コーデック１０２８に供給する。
【０２５５】
音声コーデック１０２８は、ネットワークI/F１０３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路１０２３に供給する。
【０２５６】
エコーキャンセル／音声合成回路１０２３は、音声コーデック１０２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０２５７】
SDRAM１０３０は、CPU１０３２が処理を行う上で必要な各種のデータを記憶する。
【０２５８】
フラッシュメモリ１０３１は、CPU１０３２により実行されるプログラムを記憶する。フラッシュメモリ１０３１に記憶されているプログラムは、テレビジョン受像機１０００の起動時などの所定のタイミングでCPU１０３２により読み出される。フラッシュメモリ１０３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０２５９】
例えば、フラッシュメモリ１０３１には、CPU１０３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ１０３１は、例えばCPU１０３２の制御により、そのMPEG-TSを、内部バス１０２９を介してMPEGデコーダ１０１７に供給する。
【０２６０】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機１０００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ１０１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０２６１】
また、テレビジョン受像機１０００は、リモートコントローラ１０５１から送信される赤外線信号を受光する受光部１０３７も有する。
【０２６２】
受光部１０３７は、リモートコントローラ１０５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU１０３２に出力する。
【０２６３】
CPU１０３２は、フラッシュメモリ１０３１に記憶されているプログラムを実行し、受光部１０３７から供給される制御コードなどに応じてテレビジョン受像機１０００の全体の動作を制御する。CPU１０３２とテレビジョン受像機１０００の各部は、図示せぬ経路を介して接続されている。
【０２６４】
USB I/F１０３３は、USB端子１０３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機１０００の外部の機器との間でデータの送受信を行う。ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０２６５】
テレビジョン受像機１０００は、MPEGデコーダ１０１７として画像復号装置２００を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０２６６】
＜５．第５の実施の形態＞
［携帯電話機］
図２５は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いる携帯電話機の主な構成例を示すブロック図である。
【０２６７】
図２５に示される携帯電話機１１００は、各部を統括的に制御するようになされた主制御部１１５０、電源回路部１１５１、操作入力制御部１１５２、画像エンコーダ１１５３、カメラI/F部１１５４、LCD制御部１１５５、画像デコーダ１１５６、多重分離部１１５７、記録再生部１１６２、変復調回路部１１５８、および音声コーデック１１５９を有する。これらは、バス１１６０を介して互いに接続されている。
【０２６８】
また、携帯電話機１１００は、操作キー１１１９、CCD（Charge Coupled Devices）カメラ１１１６、液晶ディスプレイ１１１８、記憶部１１２３、送受信回路部１１６３、アンテナ１１１４、マイクロホン（マイク）１１２１、およびスピーカ１１１７を有する。
【０２６９】
電源回路部１１５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機１１００を動作可能な状態に起動する。
【０２７０】
携帯電話機１１００は、CPU、ROMおよびRAM等でなる主制御部１１５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０２７１】
例えば、音声通話モードにおいて、携帯電話機１１００は、マイクロホン（マイク）１１２１で集音した音声信号を、音声コーデック１１５９によってデジタル音声データに変換し、これを変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０２７２】
また、例えば、音声通話モードにおいて、携帯電話機１１００は、アンテナ１１１４で受信した受信信号を送受信回路部１１６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部１１５８でスペクトラム逆拡散処理し、音声コーデック１１５９によってアナログ音声信号に変換する。携帯電話機１１００は、その変換して得られたアナログ音声信号をスピーカ１１１７から出力する。
【０２７３】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機１１００は、操作キー１１１９の操作によって入力された電子メールのテキストデータを、操作入力制御部１１５２において受け付ける。携帯電話機１１００は、そのテキストデータを主制御部１１５０において処理し、LCD制御部１１５５を介して、画像として液晶ディスプレイ１１１８に表示させる。
【０２７４】
また、携帯電話機１１００は、主制御部１１５０において、操作入力制御部１１５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機１１００は、その電子メールデータを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０２７５】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機１１００は、復元された電子メールデータを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示する。
【０２７６】
なお、携帯電話機１１００は、受信した電子メールデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０２７７】
この記憶部１１２３は、書き換え可能な任意の記憶媒体である。記憶部１１２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０２７８】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機１１００は、撮像によりCCDカメラ１１１６で画像データを生成する。CCDカメラ１１１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ１１１６は、その画像データを、カメラI/F部１１５４を介して、画像エンコーダ１１５３で符号化し、符号化画像データに変換する。
【０２７９】
携帯電話機１１００は、このような処理を行う画像エンコーダ１１５３として、上述した画像符号化装置１００を用いる。画像エンコーダ１１５３は、画像符号化装置１００の場合と同様に、マクロブロックの垂直方向のサイズは固定したまま、水平方向のサイズを、各種パラメータに応じて設定する。このように設定されたマクロブロックを用いて生成された予測画像を用いて画像データを符号化することにより、画像エンコーダ１１５３は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０２８０】
なお、携帯電話機１１００は、このとき同時に、CCDカメラ１１１６で撮像中にマイクロホン（マイク）１１２１で集音した音声を、音声コーデック１１５９においてアナログデジタル変換し、さらに符号化する。
【０２８１】
携帯電話機１１００は、多重分離部１１５７において、画像エンコーダ１１５３から供給された符号化画像データと、音声コーデック１１５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機１１００は、その結果得られる多重化データを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０２８２】
なお、画像データを送信しない場合、携帯電話機１１００は、CCDカメラ１１１６で生成した画像データを、画像エンコーダ１１５３を介さずに、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させることもできる。
【０２８３】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機１１００は、多重分離部１１５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０２８４】
携帯電話機１１００は、画像デコーダ１１５６において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ１１１８に表示される。
【０２８５】
携帯電話機１１００は、このような処理を行う画像デコーダ１１５６として、上述した画像復号装置２００を用いる。つまり、画像デコーダ１１５６は、画像復号装置２００の場合と同様に、他の装置の画像エンコーダ１１５３より供給される符号化データから抽出されたマクロブロックサイズ情報またはフラグ情報等を用いてマクロブロックの水平方向のサイズを決定し、その設定を用いてインター符号化を行う。したがって、画像デコーダ１１５６は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０２８６】
このとき、携帯電話機１１００は、同時に、音声コーデック１１５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ１１１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０２８７】
なお、電子メールの場合と同様に、携帯電話機１１００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０２８８】
また、携帯電話機１１００は、主制御部１１５０において、撮像されてCCDカメラ１１１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０２８９】
さらに、携帯電話機１１００は、赤外線通信部１１８１で赤外線により外部の機器と通信することができる。
【０２９０】
携帯電話機１１００は、画像エンコーダ１１５３として画像符号化装置１００を用いることにより、例えばCCDカメラ１１１６において生成された画像データを符号化して伝送する際の符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０２９１】
また、携帯電話機１１００は、画像デコーダ１１５６として画像復号装置２００を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ（符号化データ）の符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０２９２】
なお、以上において、携帯電話機１１００が、CCDカメラ１１１６を用いるように説明したが、このCCDカメラ１１１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機１１００は、CCDカメラ１１１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０２９３】
また、以上においては携帯電話機１１００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機１１００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機１１００の場合と同様に、画像符号化装置１００および画像復号装置２００を適用することができる。
【０２９４】
＜６．第６の実施の形態＞
［ハードディスクレコーダ］
図２６は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０２９５】
図２６に示されるハードディスクレコーダ（HDDレコーダ）１２００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０２９６】
ハードディスクレコーダ１２００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ１２００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０２９７】
さらに、ハードディスクレコーダ１２００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ１２００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることもできる。
【０２９８】
もちろん、この他の動作も可能である。
【０２９９】
図２６に示されるように、ハードディスクレコーダ１２００は、受信部１２２１、復調部１２２２、デマルチプレクサ１２２３、オーディオデコーダ１２２４、ビデオデコーダ１２２５、およびレコーダ制御部１２２６を有する。ハードディスクレコーダ１２００は、さらに、EPGデータメモリ１２２７、プログラムメモリ１２２８、ワークメモリ１２２９、ディスプレイコンバータ１２３０、OSD（On Screen Display）制御部１２３１、ディスプレイ制御部１２３２、記録再生部１２３３、D/Aコンバータ１２３４、および通信部１２３５を有する。
【０３００】
また、ディスプレイコンバータ１２３０は、ビデオエンコーダ１２４１を有する。記録再生部１２３３は、エンコーダ１２５１およびデコーダ１２５２を有する。
【０３０１】
受信部１２２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部１２２６に出力する。レコーダ制御部１２２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ１２２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部１２２６は、このとき、ワークメモリ１２２９を必要に応じて使用する。
【０３０２】
通信部１２３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部１２３５は、レコーダ制御部１２２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０３０３】
復調部１２２２は、チューナより供給された信号を、復調し、デマルチプレクサ１２２３に出力する。デマルチプレクサ１２２３は、復調部１２２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ１２２４、ビデオデコーダ１２２５、またはレコーダ制御部１２２６に出力する。
【０３０４】
オーディオデコーダ１２２４は、入力されたオーディオデータをデコードし、記録再生部１２３３に出力する。ビデオデコーダ１２２５は、入力されたビデオデータをデコードし、ディスプレイコンバータ１２３０に出力する。レコーダ制御部１２２６は、入力されたEPGデータをEPGデータメモリ１２２７に供給し、記憶させる。
【０３０５】
ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されたビデオデータを、ビデオエンコーダ１２４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部１２３３に出力する。また、ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されるビデオデータの画面のサイズを、モニタ１２６０のサイズに対応するサイズに変換し、ビデオエンコーダ１２４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部１２３２に出力する。
【０３０６】
ディスプレイ制御部１２３２は、レコーダ制御部１２２６の制御のもと、OSD（On Screen Display）制御部１２３１が出力したOSD信号を、ディスプレイコンバータ１２３０より入力されたビデオ信号に重畳し、モニタ１２６０のディスプレイに出力し、表示させる。
【０３０７】
モニタ１２６０にはまた、オーディオデコーダ１２２４が出力したオーディオデータが、D/Aコンバータ１２３４によりアナログ信号に変換されて供給されている。モニタ１２６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０３０８】
記録再生部１２３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０３０９】
記録再生部１２３３は、例えば、オーディオデコーダ１２２４より供給されるオーディオデータを、エンコーダ１２５１によりエンコードする。また、記録再生部１２３３は、ディスプレイコンバータ１２３０のビデオエンコーダ１２４１より供給されるビデオデータを、エンコーダ１２５１によりエンコードする。記録再生部１２３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部１２３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０３１０】
記録再生部１２３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部１２３３は、デコーダ１２５２によりオーディオデータおよびビデオデータをデコードする。記録再生部１２３３は、復号したオーディオデータをD/A変換し、モニタ１２６０のスピーカに出力する。また、記録再生部１２３３は、復号したビデオデータをD/A変換し、モニタ１２６０のディスプレイに出力する。
【０３１１】
レコーダ制御部１２２６は、受信部１２２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ１２２７から最新のEPGデータを読み出し、それをOSD制御部１２３１に供給する。OSD制御部１２３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部１２３２に出力する。ディスプレイ制御部１２３２は、OSD制御部１２３１より入力されたビデオデータをモニタ１２６０のディスプレイに出力し、表示させる。これにより、モニタ１２６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０３１２】
また、ハードディスクレコーダ１２００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０３１３】
通信部１２３５は、レコーダ制御部１２２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部１２２６に供給する。レコーダ制御部１２２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部１２３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部１２２６および記録再生部１２３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０３１４】
また、レコーダ制御部１２２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ１２３０に供給する。ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５から供給されるビデオデータと同様に、レコーダ制御部１２２６から供給されるビデオデータを処理し、ディスプレイ制御部１２３２を介してモニタ１２６０に供給し、その画像を表示させる。
【０３１５】
また、この画像表示に合わせて、レコーダ制御部１２２６が、復号したオーディオデータを、D/Aコンバータ１２３４を介してモニタ１２６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０３１６】
さらに、レコーダ制御部１２２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ１２２７に供給する。
【０３１７】
以上のようなハードディスクレコーダ１２００は、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダとして画像復号装置２００を用いる。つまり、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データから抽出されたマクロブロックサイズ情報またはフラグ情報等を用いてマクロブロックの水平方向のサイズを決定し、その設定を用いてインター符号化を行う。したがって、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０３１８】
したがって、ハードディスクレコーダ１２００は、例えば、チューナや通信部１２３５が受信するビデオデータ（符号化データ）や、記録再生部１２３３が再生するビデオデータ（符号化データ）の符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０３１９】
また、ハードディスクレコーダ１２００は、エンコーダ１２５１として画像符号化装置１００を用いる。したがって、エンコーダ１２５１は、画像符号化装置１００の場合と同様に、マクロブロックの垂直方向のサイズは固定したまま、水平方向のサイズを、各種パラメータに応じて設定する。このように設定されたマクロブロックを用いて生成された予測画像を用いて画像データを符号化することにより、エンコーダ１２５１は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０３２０】
したがって、ハードディスクレコーダ１２００は、例えば、ハードディスクに記録する符号化データの符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０３２１】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ１２００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ１２００の場合と同様に、画像符号化装置１００および画像復号装置２００を適用することができる。
【０３２２】
＜７．第７の実施の形態＞
［カメラ］
図２５は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いるカメラの主な構成例を示すブロック図である。
【０３２３】
図２５に示されるカメラ１３００は、被写体を撮像し、被写体の画像をLCD１３１６に表示させたり、それを画像データとして、記録メディア１３３３に記録したりする。
【０３２４】
レンズブロック１３１１は、光（すなわち、被写体の映像）を、CCD/CMOS１３１２に入射させる。CCD/CMOS１３１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部１３１３に供給する。
【０３２５】
カメラ信号処理部１３１３は、CCD/CMOS１３１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部１３１４に供給する。画像信号処理部１３１４は、コントローラ１３２１の制御の下、カメラ信号処理部１３１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ１３４１で符号化したりする。画像信号処理部１３１４は、画像信号を符号化して生成した符号化データを、デコーダ１３１５に供給する。さらに、画像信号処理部１３１４は、オンスクリーンディスプレイ（OSD）１３２０において生成された表示用データを取得し、それをデコーダ１３１５に供給する。
【０３２６】
以上の処理において、カメラ信号処理部１３１３は、バス１３１７を介して接続されるDRAM（Dynamic Random Access Memory）１３１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM１３１８に保持させる。
【０３２７】
デコーダ１３１５は、画像信号処理部１３１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD１３１６に供給する。また、デコーダ１３１５は、画像信号処理部１３１４から供給された表示用データをLCD１３１６に供給する。LCD１３１６は、デコーダ１３１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０３２８】
オンスクリーンディスプレイ１３２０は、コントローラ１３２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス１３１７を介して画像信号処理部１３１４に出力する。
【０３２９】
コントローラ１３２１は、ユーザが操作部１３２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス１３１７を介して、画像信号処理部１３１４、DRAM１３１８、外部インタフェース１３１９、オンスクリーンディスプレイ１３２０、およびメディアドライブ１３２３等を制御する。FLASH ROM１３２４には、コントローラ１３２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０３３０】
例えば、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５に代わって、DRAM１３１８に記憶されている画像データを符号化したり、DRAM１３１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部１３１４やデコーダ１３１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０３３１】
また、例えば、操作部１３２２から画像印刷の開始が指示された場合、コントローラ１３２１は、DRAM１３１８から画像データを読み出し、それを、バス１３１７を介して外部インタフェース１３１９に接続されるプリンタ１３３４に供給して印刷させる。
【０３３２】
さらに、例えば、操作部１３２２から画像記録が指示された場合、コントローラ１３２１は、DRAM１３１８から符号化データを読み出し、それを、バス１３１７を介してメディアドライブ１３２３に装着される記録メディア１３３３に供給して記憶させる。
【０３３３】
記録メディア１３３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア１３３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０３３４】
また、メディアドライブ１３２３と記録メディア１３３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０３３５】
外部インタフェース１３１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ１３３４と接続される。また、外部インタフェース１３１９には、必要に応じてドライブ１３３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア１３３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM１３２４にインストールされる。
【０３３６】
さらに、外部インタフェース１３１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ１３２１は、例えば、操作部１３２２からの指示に従って、DRAM１３１８から符号化データを読み出し、それを外部インタフェース１３１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ１３２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース１３１９を介して取得し、それをDRAM１３１８に保持させたり、画像信号処理部１３１４に供給したりすることができる。
【０３３７】
以上のようなカメラ１３００は、デコーダ１３１５として画像復号装置２００を用いる。つまり、デコーダ１３１５は、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データから抽出されたマクロブロックサイズ情報またはフラグ情報等を用いてマクロブロックの水平方向のサイズを決定し、その設定を用いてインター符号化を行う。したがって、デコーダ１３１５は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０３３８】
したがって、カメラ１３００は、例えば、CCD/CMOS１３１２において生成される画像データや、DRAM１３１８または記録メディア１３３３から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データの符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０３３９】
また、カメラ１３００は、エンコーダ１３４１として画像符号化装置１００を用いる。エンコーダ１３４１は、画像符号化装置１００の場合と同様に、マクロブロックの垂直方向のサイズは固定したまま、水平方向のサイズを、各種パラメータに応じて設定する。このように設定されたマクロブロックを用いて生成された予測画像を用いて画像データを符号化することにより、エンコーダ１３４１は、負荷の増大を抑制しながら、符号化効率をより向上させることができる。
【０３４０】
したがって、カメラ１３００は、例えば、DRAM１３１８や記録メディア１３３３に記録する符号化データや、他の装置に提供する符号化データの符号化効率を、負荷の増大を抑制しながら向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０３４１】
なお、コントローラ１３２１が行う復号処理に画像復号装置２００の復号方法を適用するようにしてもよい。同様に、コントローラ１３２１が行う符号化処理に画像符号化装置１００の符号化方法を適用するようにしてもよい。
【０３４２】
また、カメラ１３００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０３４３】
もちろん、画像符号化装置１００および画像復号装置２００は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０３４４】
１００  画像符号化装置，  １１５  動き予測補償部，  １２１  特徴量抽出部，  １２２  マクロブロック設定部，  １２３  フラグ生成部，  １６１  動き予測部，  １６２  動き補償部，  １７１  パラメータ判定部，  １７２  サイズ決定部，  １７３  分割数決定部，  １８１  繰り返しフラグ生成部，  １８２  固定フラグ生成部，  ２００  画像復号装置，  ２０２  可逆復号部，  ２１２  動き予測補償部，  ２２１  マクロブロック設定部，  ２６１  動き予測部，  ２６２  動き補償部，  ２７１  フラグ判定部，  ２７２  サイズ決定部，  ２７３  分割数決定部
【図１】
2011223357.tif 000003
【図２】
2011223357.tif 000004
【図３】
2011223357.tif 000005
【図４】
2011223357.tif 000006
【図５】
2011223357.tif 000007
【図６】
2011223357.tif 000008
【図７】
2011223357.tif 000009
【図８】
2011223357.tif 000010
【図９】
2011223357.tif 000011
【図１０】
2011223357.tif 000012
【図１１】
2011223357.tif 000013
【図１２】
2011223357.tif 000014
【図１３】
2011223357.tif 000015
【図１４】
2011223357.tif 000016
【図１５】
2011223357.tif 000017
【図１６】
2011223357.tif 000018
【図１７】
2011223357.tif 000019
【図１８】
2011223357.tif 000020
【図１９】
2011223357.tif 000021
【図２０】
2011223357.tif 000022
【図２１】
2011223357.tif 000023
【図２２】
2011223357.tif 000024
【図２３】
2011223357.tif 000025
【図２４】
2011223357.tif 000026
【図２５】
2011223357.tif 000027
【図２６】
2011223357.tif 000028
【図２７】
2011223357.tif 000029