(57)【要約】  本発明は、圧縮情報の増大を抑制し、かつ、予測精度を向上することができるようにする画像処理装置および方法に関する。  SDM残差エネルギ算出部９１およびTDM残差エネルギ算出部９２は、それぞれ、空間ダイレクトモードおよび時間ダイレクトモードの動きベクトル情報と、対象ブロックの既に符号化済みの周辺画素群を用いて残差エネルギを算出する。比較部９３は、空間ダイレクトモードの残差エネルギと時間ダイレクトモードの残差エネルギを比較する。ダイレクトモード決定部９４は、残差エネルギが小さい方を、対象ブロックの最適なダイレクトモードに選択する。本発明は、例えば、H．264/AVC方式で符号化する画像符号化装置に適用することができる。
2010095559.tif 000002
【特許請求の範囲】
【請求項１】
対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出する空間モード残差エネルギ算出手段と、
前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出する時間モード残差エネルギ算出手段と、
前記空間モード残差エネルギ算出手段により算出された前記空間モード残差エネルギが前記時間モード残差エネルギ算出手段により算出された前記時間モード残差エネルギ以下である場合、前記対象ブロックの符号化を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの符号化を前記時間ダイレクトモードで行うことを決定するダイレクトモード決定手段と
を備える画像処理装置。
【請求項２】
前記ダイレクトモード決定手段により決定された前記空間ダイレクトモードまたは前記時間ダイレクトモードに従って、前記対象ブロックを符号化する符号化手段
をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記空間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記時間モード残差エネルギを算出し、
前記ダイレクトモード決定手段は、前記Y信号成分、Cb信号成分、およびCr信号成分毎に前記空間モード残差エネルギと前記時間モード残差エネルギとの大小関係を比較し、前記対象ブロックを前記空間ダイレクトモードで符号化するか、前記対象ブロックを前記時間ダイレクトモードで符号化するかを決定する
請求項１に記載の画像処理装置。
【請求項４】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記時間モード残差エネルギを算出する
請求項１に記載の画像処理装置。
【請求項５】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記時間モード残差エネルギを算出する
請求項１に記載の画像処理装置。
【請求項６】
前記空間ダイレクトモードによる動きベクトル情報を算出する空間モード動きベクトル算出手段と、
前記時間ダイレクトモードによる動きベクトル情報を算出する時間モード動きベクトル算出手段と
をさらに備える請求項１に記載の画像処理装置。
【請求項７】
画像処理装置が、
対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出し、
前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出し、
前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの符号化を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの符号化を前記時間ダイレクトモードで行うことを決定するステップ
を含む画像処理方法。
【請求項８】
ダイレクトモードで符号化されている対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出する空間モード残差エネルギ算出手段と、
前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出する時間モード残差エネルギ算出手段と、
前記空間モード残差エネルギ算出手段により算出された前記空間モード残差エネルギが、前期時間モード残差エネルギ算出手段により算出された前記時間モード残差エネルギ以下である場合、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うことを決定するダイレクトモード決定手段と
を備える画像処理装置。
【請求項９】
前記ダイレクトモード決定手段により決定された前記空間ダイレクトモードまたは前記時間ダイレクトモードに従って、前記対象ブロックの予測画像を生成する動き補償手段
をさらに備える請求項８に記載の画像処理装置
【請求項１０】
前記空間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記時間モード残差エネルギを算出し、
前記ダイレクトモード決定手段は、前記Y信号成分、Cb信号成分、およびCr信号成分毎に前記空間モード残差エネルギと前記時間モード残差エネルギとの大小関係を比較し、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うか、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うかを決定する
請求項８に記載の画像処理装置。
【請求項１１】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記時間モード残差エネルギを算出する
請求項８に記載の画像処理装置。
【請求項１２】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記空間モード残差エネルギを算出し、
前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記時間モード残差エネルギを算出する
請求項８に記載の画像処理装置。
【請求項１３】
前記空間ダイレクトモードによる動きベクトル情報を算出する空間モード動きベクトル算出手段と、
前記時間ダイレクトモードによる動きベクトル情報を算出する時間モード動きベクトル算出手段と
をさらに備える請求項８に記載の画像処理装置。
【請求項１４】
画像処理装置が、
ダイレクトモードで符号化されている対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出し、
前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出し、
前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うことを決定するステップ
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、圧縮情報の増大を抑制するとともに、予測精度を向上するようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H．26L (ITU-T Q6/16 VCEG）という標準の規格化が進んでいる。H．26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH．26Lをベースに、H．26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。【０００６】
ところで、MPEG2方式においては、線形内挿処理により１／２画素精度の動き予測・補償処理が行われている。これに対して、H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。【０００７】
また、MPEG2方式においては、フレーム動き補償モードの場合には、１６×１６画素を単位として動き予測・補償処理が行われている。フィールド動き補償モードの場合には、第１フィールドと第２フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行われている。【０００８】
これに対して、H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、H．264/AVC方式においては、１６×１６画素で構成される１つのマクロブロックを、１６×１６、１６×８、８×１６、あるいは８×８のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８パーティションに関しては、８×８、８×４、４×８、あるいは４×４のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。【０００９】
しかしながら、H．264/AVC方式においては、上述した１／４画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。【００１０】
そこで、これから符号化されようとしている対象ブロックの予測動きベクトル情報を、既に符号化済の、隣接するブロックの動きベクトル情報を用いてメディアンオペレーションにより生成する方法などにより、符号化効率の低下を抑えることが提案されている。【００１１】
さらに、Ｂピクチャにおける動きベクトル情報における情報量が膨大であるため、H．264/AVC方式においては、ダイレクトモードと呼ばれる符号化モードが設けられている。このダイレクトモードは、動き情報を符号化済みブロックの動き情報から予測生成する符号化モードであり、動き情報の符号化に必要なビット数が不要なため、圧縮効率を向上させることができる。【００１２】
ダイレクトモードには、空間ダイレクトモード（Spatial Direct Mode）と、時間ダイレクトモード（Temporal Direct Mode）の２種類が存在する。空間ダイレクトモードは、主として空間方向（ピクチャ内の水平、垂直の２次元空間）の動き情報の相関を利用するモードであり、時間ダイレクトモードは、主として時間方向の動き情報の相関を利用するモードである。【００１３】
これらの空間ダイレクトモードと時間ダイレクトモードのうち、どちらを用いるかは、スライス毎に切り替えることができる。すなわち、非特許文献１の"7.3.3 Slice header syntax"には、「direct_spatial_mv_pred_flag」が、対象スライスにおいて、空間ダイレクトモードと時間ダイレクトモードのどちらを用いるかを指定していることが記載されている。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】"ITU-T Recommendation H.264 Advanced video coding for generic audiovisual", November 2007
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ところで、上述した空間ダイレクトモードと時間ダイレクトモードのどちらがよりよい符号化効率を与えるかについては、同一スライス内であっても、マクロブロックまたはブロック毎に異なる。【００１６】
しかしながら、H．264/AVC方式においては、これらの切り替えをスライス毎にしか行われていなかった。また、仮に、符号化対象のマクロブロックまたはブロック毎に最適なダイレクトモードを選択し、どちらのダイレクトモードを用いるかを示す情報を、画像復号装置に送るとすると、符号化効率の低下につながってしまう。【００１７】
本発明は、このような状況に鑑みてなされたものであり、圧縮情報の増大を抑制するとともに、予測精度を向上するものである。
【課題を解決するための手段】
【００１８】
本発明の第１の側面の画像処理装置は、対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出する空間モード残差エネルギ算出手段と、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出する時間モード残差エネルギ算出手段と、前記空間モード残差エネルギ算出手段により算出された前記空間モード残差エネルギが前記時間モード残差エネルギ算出手段により算出された前記時間モード残差エネルギ以下である場合、前記対象ブロックの符号化を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの符号化を前記時間ダイレクトモードで行うことを決定するダイレクトモード決定手段とを備える。【００１９】
前記ダイレクトモード決定手段により決定された前記空間ダイレクトモードまたは前記時間ダイレクトモードに従って、前記対象ブロックを符号化する符号化手段をさらに備えることができる。【００２０】
前記空間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記時間モード残差エネルギを算出し、前記ダイレクトモード決定手段は、前記Y信号成分、Cb信号成分、およびCr信号成分毎に前記空間モード残差エネルギと前記時間モード残差エネルギとの大小関係を比較し、前記対象ブロックを前記空間ダイレクトモードで符号化するか、前記対象ブロックを前記時間ダイレクトモードで符号化するかを決定することができる。【００２１】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記時間モード残差エネルギを算出することができる。【００２２】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記時間モード残差エネルギを算出することができる。【００２３】
前記空間ダイレクトモードによる動きベクトル情報を算出する空間モード動きベクトル算出手段と、前記時間ダイレクトモードによる動きベクトル情報を算出する時間モード動きベクトル算出手段とをさらに備えることができる。【００２４】
本発明の第１の側面の画像処理方法は、画像処理装置が、対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出し、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出し、前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの符号化を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの符号化を前記時間ダイレクトモードで行うことを決定するステップを含む。【００２５】
本発明の第２の側面の画像処理装置は、ダイレクトモードで符号化されている対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出する空間モード残差エネルギ算出手段と、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出する時間モード残差エネルギ算出手段と、前記空間モード残差エネルギ算出手段により算出された前記空間モード残差エネルギが、前期時間モード残差エネルギ算出手段により算出された前記時間モード残差エネルギ以下である場合、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うことを決定するダイレクトモード決定手段とを備える。【００２６】
前記ダイレクトモード決定手段により決定された前記空間ダイレクトモードまたは前記時間ダイレクトモードに従って、前記対象ブロックの予測画像を生成する動き補償手段をさらに備えることができる。【００２７】
前記空間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、Y信号成分、Cb信号成分、およびCr信号成分から、前記時間モード残差エネルギを算出し、前記ダイレクトモード決定手段は、前記Y信号成分、Cb信号成分、およびCr信号成分毎に前記空間モード残差エネルギと前記時間モード残差エネルギとの大小関係を比較し、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うか、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うかを決定することができる。【００２８】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分から、前記時間モード残差エネルギを算出することができる。【００２９】
前記空間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記空間モード残差エネルギを算出し、前記時間モード残差エネルギ算出手段は、前記対象ブロックの輝度信号成分および色差信号成分から、前記時間モード残差エネルギを算出することができる。【００３０】
本発明の第２の側面の画像処理方法は、画像処理装置が、ダイレクトモードで符号化されている対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギを算出し、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギを算出し、前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うことを決定し、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うことを決定するステップを含む。【００３１】
本発明の第１の側面においては、対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギが算出され、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギが算出される。そして、前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの符号化を前記空間ダイレクトモードで行うことが決定され、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの符号化を前記時間ダイレクトモードで行うことが決定される。【００３２】
本発明の第２の側面においては、ダイレクトモードで符号化されている対象ブロックの空間ダイレクトモードによる動きベクトル情報を用いて、前記対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素を用いた空間モード残差エネルギが算出され、前記対象ブロックの時間ダイレクトモードによる動きベクトル情報を用いて、前記周辺画素を用いた時間モード残差エネルギが算出される。そして、前記空間モード残差エネルギが前記時間モード残差エネルギ以下である場合、前記対象ブロックの予測画像の生成を前記空間ダイレクトモードで行うことが決定され、前記空間モード残差エネルギが前記時間モード残差エネルギより大きい場合、前記対象ブロックの予測画像の生成を前記時間ダイレクトモードで行うことが決定される。【００３３】
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００３４】
本発明の第１の側面によれば、対象ブロックの符号化を行うダイレクトモードを決定することができる。また、本発明の第１の側面によれば、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。【００３５】
本発明の第２の側面によれば、対象ブロックの予測画像の生成を行うダイレクトモードを決定することができる。また、本発明の第２の側面によれば、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図２】可変ブロックサイズ動き予測・補償処理を説明する図である。
【図３】１／４画素精度の動き予測・補償処理を説明する図である。
【図４】マルチ参照フレームの動き予測・補償方式について説明する図である。
【図５】動きベクトル情報の生成方法の例を説明する図である。
【図６】ダイレクトモード選択部の構成例を示すブロック図である。
【図７】図１の画像符号化装置の符号化処理を説明するフローチャートである。
【図８】図７のステップＳ２１の予測処理を説明するフローチャートである。
【図９】図８のステップＳ３１のイントラ予測処理を説明するフローチャートである。
【図１０】図８のステップＳ３２のインター動き予測処理を説明するフローチャートである。
【図１１】図８のステップＳ３３のダイレクトモード予測処理を説明するフローチャートである。
【図１２】時間ダイレクトモードについて説明する図である。
【図１３】残差エネルギ算出の例を説明する図である。
【図１４】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図１５】図１４の画像復号装置の復号処理を説明するフローチャートである。
【図１６】図１５のステップＳ１３８の予測処理を説明するフローチャートである。
【図１７】図１６のステップＳ１７５のインターテンプレート動き予測処理を説明するフローチャートである。
【図１８】拡張されたブロックサイズの例を示す図である。
【図１９】コンピュータのハードウエアの構成例を示すブロック図である。
【図２０】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図２１】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図２２】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図２３】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００３７】
以下、図を参照して本発明の実施の形態について説明する。
【００３８】
［画像符号化装置の構成例］
図１は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００３９】
この画像符号化装置５１は、例えば、H．264及びMPEG-4 Part10（Advanced Video Coding）（以下H．264/AVCと記す）方式で画像を圧縮符号化する。なお、画像符号化装置５１における符号化は、ブロックまたはマクロブロック単位で行われる。以下、符号化対象の対象ブロックとした場合、対象ブロックには、ブロックまたはマクロブロックが含まれるものとして説明する。
【００４０】
図１の例において、画像符号化装置５１は、Ａ／Ｄ変換部６１、画面並べ替えバッファ６２、演算部６３、直交変換部６４、量子化部６５、可逆符号化部６６、蓄積バッファ６７、逆量子化部６８、逆直交変換部６９、演算部７０、デブロックフィルタ７１、フレームメモリ７２、スイッチ７３、イントラ予測部７４、動き予測・補償部７５、ダイレクトモード選択部７６、予測画像選択部７７、およびレート制御部７８により構成されている。
【００４１】
Ａ／Ｄ変換部６１は、入力された画像をＡ／Ｄ変換し、画面並べ替えバッファ６２に出力し、記憶させる。画面並べ替えバッファ６２は、記憶した表示の順番のフレームの画像を、ＧＯＰ（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【００４２】
演算部６３は、画面並べ替えバッファ６２から読み出された画像から、予測画像選択部７７により選択されたイントラ予測部７４からの予測画像または動き予測・補償部７５からの予測画像を減算し、その差分情報を直交変換部６４に出力する。直交変換部６４は、演算部６３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部６５は直交変換部６４が出力する変換係数を量子化する。
【００４３】
量子化部６５の出力となる、量子化された変換係数は、可逆符号化部６６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００４４】
可逆符号化部６６は、イントラ予測を示す情報をイントラ予測部７４から取得し、インター予測やダイレクトモードを示す情報などを動き予測・補償部７５から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報およびダイレクトモードを示す情報は、以下、それぞれ、インター予測モード情報およびダイレクトモード情報とも称する。
【００４５】
可逆符号化部６６は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測やダイレクトモードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部６６は、符号化したデータを蓄積バッファ６７に供給して蓄積させる。
【００４６】
例えば、可逆符号化部６６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００４７】
蓄積バッファ６７は、可逆符号化部６６から供給されたデータを、H．264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００４８】
また、量子化部６５より出力された、量子化された変換係数は、逆量子化部６８にも入力され、逆量子化された後、さらに逆直交変換部６９において逆直交変換される。逆直交変換された出力は演算部７０により予測画像選択部７７から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ７１は、復号された画像のブロック歪を除去した後、フレームメモリ７２に供給し、蓄積させる。フレームメモリ７２には、デブロックフィルタ７１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００４９】
スイッチ７３はフレームメモリ７２に蓄積された参照画像を動き予測・補償部７５またはイントラ予測部７４に出力する。
【００５０】
この画像符号化装置５１においては、例えば、画面並べ替えバッファ６２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部７４に供給される。また、画面並べ替えバッファ６２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部７５に供給される。
【００５１】
イントラ予測部７４は、画面並べ替えバッファ６２から読み出されたイントラ予測する画像とフレームメモリ７２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００５２】
その際、イントラ予測部７４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
【００５３】
イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。イントラ予測部７４は、予測画像選択部７７により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部６６に供給する。可逆符号化部６６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００５４】
動き予測・補償部７５は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部７５には、画面並べ替えバッファ６２から読み出されたインター処理する画像と、スイッチ７３を介してフレームメモリ７２から参照画像が供給される。動き予測・補償部７５は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【００５５】
なお、動き予測・補償部７５は、Ｂピクチャについては、さらに、インター処理する画像と参照画像に基づいて、ダイレクトモードに基づき、動き予測と補償処理を施し、予測画像を生成する。
【００５６】
ダイレクトモードにおいては、動きベクトル情報は、圧縮画像中には格納されない。すなわち、復号側においては、対象ブロックの周辺の動きベクトル情報、または参照ピクチャにおいて、対象ブロックと座標が同じブロックであるco-locatedブロックの動きベクトル情報から、対象ブロックの動きベクトル情報が抽出される。したがって、動きベクトル情報を復号側に送る必要がない。
【００５７】
このダイレクトモードには、空間ダイレクトモード（Spatial Direct Mode）と、時間ダイレクトモード（Temporal Direct Mode）の２種類が存在する。空間ダイレクトモードは、主として空間方向（ピクチャ内の水平、垂直の２次元空間）の動き情報の相関を利用するモードであり、一般的に、同じような動きが含まれる画像で、動きの速度が変化する画像で効果がある。一方、時間ダイレクトモードは、主として時間方向の動き情報の相関を利用するモードであり、一般的に、異なる動きが含まれる画像で、動きの速度が一定の画像で効果がある。
【００５８】
すなわち、同一スライス内であっても、対象ブロック毎に、最適なダイレクトモードが空間ダイレクトモードであるか、時間ダイレクトモードであるかは異なる。そこで、動き予測・補償部７５により、空間および時間ダイレクトモードによる各動きベクトル情報が算出され、これらの動きベクトル情報が用いられて、ダイレクトモード選択部７６により、符号化対象の対象ブロックに最適なダイレクトモードが選択される。
【００５９】
動き予測・補償部７５は、空間ダイレクトモードおよび時間ダイレクトモードによる動きベクトル情報を算出し、算出した動きベクトル情報を用いて補償処理を行い、予測画像を生成する。動き予測・補償部７５は、このとき、算出された空間ダイレクトモードによる動きベクトル情報および時間ダイレクトモードによる動きベクトル情報を、ダイレクトモード選択部７６に出力する。
【００６０】
また、動き予測・補償部７５は、候補となる全てのインター予測モード、およびダイレクトモード選択部７６により選択されたダイレクトモードに対してコスト関数値を算出する。動き予測・補償部７５は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
【００６１】
動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。動き予測・補償部７５は、予測画像選択部７７により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報またはダイレクトモード情報）を可逆符号化部６６に出力する。
【００６２】
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部６６に出力される。可逆符号化部６６は、動き予測・補償部７５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００６３】
ダイレクトモード選択部７６は、動き予測・補償部７５からの空間ダイレクトモードおよび時間ダイレクトモードによる動きベクトル情報を用いて、残差エネルギ（予測誤差）をそれぞれ算出する。このとき、動きベクトル情報とともに、符号化対象の対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素が用いられて、残差エネルギが算出される。
【００６４】
ダイレクトモード選択部７６は、空間ダイレクトモードおよび時間ダイレクトモードによる２種類の残差エネルギを比較し、残差エネルギの小さい方を最適なダイレクトモードに選択して、選択したダイレクトモードの種類を示す情報を、動き予測・補償部７５に出力する。
【００６５】
予測画像選択部７７は、イントラ予測部７４または動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部７７は、決定された最適予測モードの予測画像を選択し、演算部６３，７０に供給する。このとき、予測画像選択部７７は、予測画像の選択情報を、イントラ予測部７４または動き予測・補償部７５に供給する。
【００６６】
レート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【００６７】
［H．264/AVC方式の説明］
図２は、H．264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H．264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
【００６８】
図２の上段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のパーティションに分割された１６×１６画素で構成されるマクロブロックが順に示されている。また、図２の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のサブパーティションに分割された８×８画素のパーティションが順に示されている。
【００６９】
すなわち、H．264/AVC方式においては、１つのマクロブロックを、１６×１６画素、１６×８画素、８×１６画素、あるいは８×８画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、８×８画素のパーティションに関しては、８×８画素、８×４画素、４×８画素、あるいは４×４画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００７０】
図３は、H．264/AVC方式における１／４画素精度の予測・補償処理を説明する図である。H．264/AVC方式においては、６タップのFIR (Finite Impulse Response Filter)フィルタを用いた１／４画素精度の予測・補償処理が行われている。
【００７１】
図３の例において、位置Ａは、整数精度画素の位置、位置ｂ，ｃ，ｄは、１／２画素精度の位置、位置ｅ１，ｅ２，ｅ３は、１／４画素精度の位置を示している。まず、以下においては、Clip()を次の式（１）のように定義する。
【００７２】
【数１】
2010095559.tif 000003
なお、入力画像が８ビット精度である場合、max_pixの値は255となる。
【００７３】
位置ｂおよびｄにおける画素値は、６タップのFIRフィルタを用いて、次の式（２）のように生成される。
【数２】
2010095559.tif 000004
【００７４】
位置ｃにおける画素値は、水平方向および垂直方向に６タップのFIRフィルタを適用し、次の式（３）のように生成される。
【数３】
2010095559.tif 000005
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に１度のみ実行される。
【００７５】
位置ｅ１乃至ｅ３は、次の式（４）のように線形内挿により生成される。
【数４】
2010095559.tif 000006
【００７６】
図４は、H．264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H．264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
【００７７】
図４の例においては、いまから符号化される対象フレームＦnと、符号化済みのフレームＦn-5,…,Ｆn-1が示されている。フレームＦn-1は、時間軸上、対象フレームＦnの１つ前のフレームであり、フレームＦn-2は、対象フレームＦnの２つ前のフレームであり、フレームＦn-3は、対象フレームＦnの３つ前のフレームである。また、フレームＦn-4は、対象フレームＦnの４つ前のフレームであり、フレームＦn-5は、対象フレームＦnの５つ前のフレームである。一般的には、対象フレームＦnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号（ref_id）が付加される。すなわち、フレームＦn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Ｆn-5の順に参照ピクチャ番号が小さい。
【００７８】
対象フレームＦnには、ブロックＡ1とブロックＡ2が示されており、ブロックＡ1は、２つ前のフレームＦn-2のブロックＡ1’と相関があるとされて、動きベクトルＶ1が探索されている。また、ブロックＡ2は、４つ前のフレームＦn-4のブロックＡ1’と相関があるとされて、動きベクトルＶ2が探索されている。
【００７９】
以上のように、H．264/AVC方式においては、複数の参照フレームをメモリに格納しておき、１枚のフレーム（ピクチャ）において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックＡ1がフレームＦn-2を参照し、ブロックＡ2がフレームＦn-4を参照しているというように、１枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報（参照ピクチャ番号（ref_id））を持つことができる。
【００８０】
H．264/AVC方式においては、図２乃至図４を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H．264/AVC方式においては、図５に示す方法により、動きベクトルの符号化情報の低減が実現されている。
【００８１】
図５は、H．264/AVC方式による動きベクトル情報の生成方法について説明する図である。
【００８２】
図５の例において、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。
【００８３】
すなわち、ブロックＤは、対象ブロックＥの左上に隣接しており、ブロックＢは、対象ブロックＥの上に隣接しており、ブロックＣは、対象ブロックＥの右上に隣接しており、ブロックＡは、対象ブロックＥの左に隣接している。なお、ブロックＡ乃至Ｄが区切られていないのは、それぞれ、図２で上述した１６×１６画素乃至４×４画素のうちのいずれかの構成のブロックであることを表している。
【００８４】
例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報を、mvXで表す。まず、対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により次の式（５）のように生成される。
【００８５】
pmvE = med(mvA,mvB,mvC)                                ・・・（５）
ブロックＣに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない（unavailableである）場合がある。この場合には、ブロックＣに関する動きベクトル情報は、ブロックＤに関する動きベクトル情報で代用される。
【００８６】
対象ブロックＥに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式（６）のように生成される。
mvdE = mvE - pmvE                                      ・・・（６）
【００８７】
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
【００８８】
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
【００８９】
［ダイレクトモード選択部の構成例］
図６は、ダイレクトモード選択部の詳細な構成例を示すブロック図である。なお、図６の例においては、動き予測・補償部７５のうち、後述する図１１のダイレクトモード予測処理の一部を行う各部も示されている。
【００９０】
図６の例の場合、動き予測・補償部７５は、 Spatial Direct Mode(以下、SDMと称する)動きベクトル算出部８１およびTemporal Direct Mode (以下、TDMと称する)動きベクトル算出部８２を含むように構成される。
【００９１】
ダイレクトモード選択部７６は、SDM残差エネルギ算出部９１、TDM残差エネルギ算出部９２、比較部９３、およびダイレクトモード決定部９４により構成される。
【００９２】
SDM動きベクトル算出部８１は、Ｂピクチャについて、空間ダイレクトモードに基づき動き予測と補償処理を行い、予測画像を生成する。なお、Ｂピクチャであるので、List0（Ｌ０）およびList1（Ｌ１）の双方の参照フレームに対して、動き予測と補償処理が行われる。
【００９３】
このとき、SDM動きベクトル算出部８１においては、空間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Spatial）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Spatial）が算出される。算出されたこれらの動きベクトルdirectmvL0（Spatial）および動きベクトルdirectmvL1（Spatial）は、SDM残差エネルギ算出部９１に出力される。
【００９４】
TDM動きベクトル算出部８２は、Ｂピクチャについて、時間ダイレクトモードに基づき動き予測と補償処理を行い、予測画像を生成する。
【００９５】
このとき、TDM動きベクトル算出部８２においては、時間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Temporal）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Temporal）が算出される。算出されたこれらの動きベクトルdirectmvL0（Temporal）および動きベクトルdirectmvL1（Temporal）は、TDM残差エネルギ算出部９２に出力される。
【００９６】
SDM残差エネルギ算出部９１は、動きベクトルdirectmvL0（Spatial）およびdirectmvL1（Spatial）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。この周辺画素群NCURは、例えば、対象ブロックの周辺の、既に符号化済みの画素群である。なお、周辺画素群NCURの詳細については、図１３を参照して後述される。
【００９７】
SDM残差エネルギ算出部９１は、対象ブロックの周辺画素群NCURの画素値と、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SAD(Sum of Absolute Difference)により算出する。
【００９８】
さらに、SDM残差エネルギ算出部９１は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Spatial)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Spatial)を用いて、残差エネルギSAD(Spatial)を算出する。残差エネルギSAD(Spatial)は、次の式（７）により算出される。算出された残差エネルギSAD(Spatial)は比較部９３に出力される。
SAD(Spatial) = SAD(NL0;Spatial) + SAD(NL1;Spatial)      ・・・（７）
【００９９】
TDM残差エネルギ算出部９２は、動きベクトルdirectmvL0（Temporal）およびdirectmvL1（Temporal）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。TDM残差エネルギ算出部９２は、対象ブロックの周辺画素群NCURと、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SADにより算出する。
【０１００】
さらに、TDM残差エネルギ算出部９２は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Temporal)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Temporal)を用いて残差エネルギSAD(Temporal)を算出する。残差エネルギSAD(Temporal)は、次の式（８）により算出される。算出された残差エネルギSAD(Temporal)は比較部９３に出力される。
SAD(Temporal) = SAD(NL0;Temporal) + SAD(NL1;Temporal)  ・・・（８）
【０１０１】
比較部９３は、空間ダイレクトモードに基づく残差エネルギSAD(Spatial)と、時間ダイレクトモードに基づく残差エネルギSAD(Temporal)の比較を行い、その結果を、ダイレクトモード決定部９４に出力する。
【０１０２】
ダイレクトモード決定部９４は、次の式（９）に基づいて、対象ブロックを、空間ダイレクトモードで符号化するか、空間ダイレクトモードで符号化するかを決定する。すなわち、対象ブロックに対して、最適なダイレクトモードの選択が決定される。
SAD(Spatial) ≦  SAD(Temporal)                       ・・・（９）
【０１０３】
具体的には、ダイレクトモード決定部９４は、式（９）が成り立ち、残差エネルギSAD(Spatial)が残差エネルギSAD(Temporal)以下である場合、対象ブロックの最適なダイレクトモードとして、空間ダイレクトモードの選択を決定する。一方、ダイレクトモード決定部９４は、式（９）が成り立たたず、残差エネルギSAD(Spatial)が残差エネルギSAD(Temporal)より大きい場合、対象ブロックの最適なダイレクトモードとして、時間ダイレクトモードの選択を決定する。選択されたダイレクトモードの種類を示す情報は、動き予測・補償部７５に出力される。
【０１０４】
なお、上記説明においては、SADを用いて残差エネルギを求める例を説明したが、これに限らず、例えば、SSD(Sum of Squared Difference)を用いることもできる。SADを用いることにより、SSDの場合より少ない演算量によって、最適なダイレクトモードの選択を決定することができる。これに対して、SSDを用いることにより、SADの場合より高い精度で、最適なダイレクトモードの選択を決定することができる。
【０１０５】
また、上述したSAD算出処理は、輝度信号のみを用いてもよいし、輝度信号に加えて、色差信号をも用いてもよい。さらに、また、Y/Cb/Cr信号成分ごとにSAD算出処理を行い、Y/Cb/Cr信号成分ごとにSADの比較を行うようにしてもよい。
【０１０６】
輝度信号のみを用いたSAD算出処理を行うことにより、より少ない演算量によりダイレクトモードの決定を実現することが可能であるが、これに色差信号を加えることで、より高精度に、最適なダイレクトモードの選択を決定することができる。また、最適なダイレクトモードが、Y/Cb/Crのそれぞれに対して異なる場合もあるため、上述した演算処理を、それぞれの成分ごとに別途算出し、それぞれの成分ごとに最適なダイレクトモードを決定することで、さらなる高精度な判定を行うことができる。
【０１０７】
［画像符号化装置の符号化処理の説明］
次に、図７のフローチャートを参照して、図１の画像符号化装置５１の符号化処理について説明する。
【０１０８】
ステップＳ１１において、Ａ／Ｄ変換部６１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ６２は、Ａ／Ｄ変換部６１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１０９】
ステップＳ１３において、演算部６３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部７５から、イントラ予測する場合はイントラ予測部７４から、それぞれ予測画像選択部７７を介して演算部６３に供給される。
【０１１０】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１１１】
ステップＳ１４において、直交変換部６４は演算部６３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１５において、量子化部６５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２５の処理で説明されるように、レートが制御される。
【０１１２】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部６８は量子化部６５により量子化された変換係数を量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部６９は逆量子化部６８により逆量子化された変換係数を直交変換部６４の特性に対応する特性で逆直交変換する。
【０１１３】
ステップＳ１８において、演算部７０は、予測画像選択部７７を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部６３への入力に対応する画像）を生成する。ステップＳ１９においてデブロックフィルタ７１は、演算部７０より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ２０においてフレームメモリ７２は、フィルタリングされた画像を記憶する。なお、フレームメモリ７２にはデブロックフィルタ７１によりフィルタ処理されていない画像も演算部７０から供給され、記憶される。
【０１１４】
ステップＳ２１において、イントラ予測部７４および動き予測・補償部７５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ２１において、イントラ予測部７４は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部７５は、インター予測モードの動き予測・補償処理を行い、Ｂピクチャについては、さらに、空間および時間ダイレクトモードの動き予測・補償処理を行う。このとき、ダイレクトモード選択部７６は、動き予測・補償部７５により算出された空間ダイレクトモードおよび時間ダイレクトモードの動きベクトル情報を用いて、最適なダイレクトモードを選択する。
【０１１５】
ステップＳ２１における予測処理の詳細は、図８を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０１１６】
また、Ｐピクチャについては、算出されたコスト関数値に基づいて、インター予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７７に供給される。
【０１１７】
一方、Ｂピクチャについては、算出されたコスト関数値に基づいて、インター予測モードと、ダイレクトモード選択部７６により選択されたダイレクトモードの中から、最適インター予測モードが決定される。そして、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部７７に供給される。
【０１１８】
ステップＳ２２において、予測画像選択部７７は、イントラ予測部７４および動き予測・補償部７５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部７７は、決定した最適予測モードの予測画像を選択し、演算部６３，７０に供給する。この予測画像が、上述したように、ステップＳ１３，Ｓ１８の演算に利用される。
【０１１９】
なお、この予測画像の選択情報は、イントラ予測部７４または動き予測・補償部７５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部７４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部６６に供給する。
【０１２０】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部７５は、最適インター予測モード（ダイレクトモードを含む）を示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部６６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。さらに具体的には、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部７５は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部６６に出力する。
【０１２１】
一方、最適インター予測モードとして、ダイレクトモードによる予測画像が選択されているときには、動き予測・補償部７５は、スライス毎のダイレクトモードを示す情報のみを可逆符号化部６６に出力する。すなわち、ダイレクトモードによる符号化の場合には、動きベクトル情報などは、復号側に送る必要がないので、可逆符号化部６６に出力されない。さらに、ブロック毎のダイレクトモードの種類を示す情報も復号側に送られない。したがって、圧縮画像中における動きベクトル情報を低減することができる。
【０１２２】
ステップＳ２３において、可逆符号化部６６は量子化部６５より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップＳ２２において可逆符号化部６６に入力された、イントラ予測部７４からのイントラ予測モード情報、または、動き予測・補償部７５からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
【０１２３】
ステップＳ２４において蓄積バッファ６７は差分画像を圧縮画像として蓄積する。蓄積バッファ６７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０１２４】
ステップＳ２５においてレート制御部７８は、蓄積バッファ６７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部６５の量子化動作のレートを制御する。
【０１２５】
［画像符号化装置の予測処理の説明］
次に、図８のフローチャートを参照して、図７のステップＳ２１における予測処理を説明する。
【０１２６】
画面並べ替えバッファ６２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ７２から読み出され、スイッチ７３を介してイントラ予測部７４に供給される。これらの画像に基づいて、ステップＳ３１において、イントラ予測部７４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１２７】
ステップＳ３１におけるイントラ予測処理の詳細は、図９を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部７７に供給される。
【０１２８】
画面並べ替えバッファ６２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ７２から読み出され、スイッチ７３を介して動き予測・補償部７５に供給される。これらの画像に基づいて、ステップＳ３２において、動き予測・補償部７５はインター動き予測処理を行う。すなわち、動き予測・補償部７５は、フレームメモリ７２から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
【０１２９】
ステップＳ３２におけるインター動き予測処理の詳細は、図１０を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
【０１３０】
さらに、処理対象の画像がＢピクチャである場合、動き予測・補償部７５およびダイレクトモード選択部７６は、ステップＳ３３において、ダイレクトモード予測処理を行う。
【０１３１】
ステップＳ３３におけるダイレクトモード予測処理の詳細は、図１１を参照して後述する。この処理により、空間および時間ダイレクトモードに基づく動き予測と補償処理が行われる。そして、このとき算出された空間および時間ダイレクトモードによる動きベクトル値が用いられて、空間および時間ダイレクトモードのどちらから、最適なダイレクトモードが選択される。さらに、選択されたダイレクトモードに対してコスト関数値が算出される。
【０１３２】
ステップＳ３４において、動き予測・補償部７５は、ステップＳ３２において算出されたインター予測モードに対してのコスト関数値と、ステップＳ３３において算出されたダイレクトモードに対してのコスト関数値を比較する。そして、動き予測・補償部７５は、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部７５は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部７７に供給する。
【０１３３】
なお、処理対象の画像がＰピクチャである場合、ステップＳ３３の処理はスキップされ、ステップＳ３４においては、ステップＳ３２において予測画像が生成された各インター予測モードの中から、最適インター予測モードが決定される。
【０１３４】
［画像符号化装置のイントラ予測処理の説明］
次に、図９のフローチャートを参照して、図８のステップＳ３１におけるイントラ予測処理を説明する。なお、図９の例においては、輝度信号の場合を例として説明する。
【０１３５】
イントラ予測部７４は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０１３６】
輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０１３７】
具体的には、イントラ予測部７４は、処理対象のブロックの画素を、フレームメモリ７２から読み出され、スイッチ７３を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ７１によりデブロックフィルタリングされていない画素が用いられる。
【０１３８】
イントラ予測部７４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H．264/AVC方式における参照ソフトウエアであるＪＭ(Joint Model)で定められている。
【０１３９】
すなわち、High Complexity モードにおいては、ステップＳ４１の処理として、候補となる全ての予測モードに対して、仮に符号化処理までが行われる。そして、次の式（１０）で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
【０１４０】
Cost(Mode) = D + λ・R                            ・・・（１０）
Dは、原画像と復号画像の差分（歪）、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
【０１４１】
一方、Low Complexity モードにおいては、ステップＳ４１の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでが算出される。そして、次の式（１１）で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
【０１４２】
Cost(Mode) = D + QPtoQuant(QP)・Header_Bit        ・・・（１１）
Dは、原画像と復号画像の差分（歪）、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
【０１４３】
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
【０１４４】
イントラ予測部７４は、ステップＳ４３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、イントラ予測部７４は、ステップＳ４２において算出されたコスト関数値に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０１４５】
イントラ予測部７４は、ステップＳ４４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部７４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部７７に供給する。
【０１４６】
［画像符号化装置のインター動き予測処理の説明］
次に、図１０のフローチャートを参照して、図８のステップＳ３２のインター動き予測処理について説明する。
【０１４７】
動き予測・補償部７５は、ステップＳ５１において、図２を参照して上述した１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０１４８】
動き予測・補償部７５は、ステップＳ５２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ５１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０１４９】
動き予測・補償部７５は、ステップＳ５３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図５を参照して上述した動きベクトルの生成方法が用いられて、動きベクトル情報が生成される。
【０１５０】
生成された動きベクトル情報は、次のステップＳ５４におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部７７により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部６６へ出力される。
【０１５１】
動き予測・補償部７５は、ステップＳ５４において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（１０）または式（１１）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図８のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０１５２】
［画像符号化装置のダイレクトモード予測処理の説明］
次に、図１１のフローチャートを参照して、図８のステップＳ３３のダイレクトモード予測処理について説明する。なお、この処理は、対象画像がＢピクチャの場合のみ行われる。
【０１５３】
SDM動きベクトル算出部８１は、ステップＳ７１において、空間ダイレクトモードの動きベクトル値を算出する。
【０１５４】
すなわち、SDM動きベクトル算出部８１は、空間ダイレクトモードに基づき動き予測と補償処理を行い、予測画像を生成する。このとき、SDM動きベクトル算出部８１においては、空間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Spatial）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Spatial）が算出される。
【０１５５】
再び、図５を参照して、H．264/AVC方式による空間ダイレクトモードについて説明する。図５の例においては、上述したように、これから符号化される対象ブロックＥ（例えば、１６×１６画素）と、既に符号化済みであり、対象ブロックＥに隣接するブロックＡ乃至Ｄが示されている。そして、例えば、Ｘ（＝Ａ，Ｂ，Ｃ，Ｄ，Ｅ）に対する動きベクトル情報は、mvXで表わされる。
【０１５６】
対象ブロックＥに対する予測動きベクトル情報pmvEは、ブロックＡ，Ｂ，Ｃに関する動きベクトル情報を用いて、メディアン予測により上述した式（５）のように生成される。そして、空間ダイレクトモードにおける対象ブロックＥに対する動きベクトル情報mvEは、次の式（１２）で表される。
mvE = pmvE                                        ・・・（１２）
【０１５７】
すなわち、空間ダイレクトモードにおいては、メディアン予測により生成された予測動きベクトル情報が、対象ブロックの動きベクトル情報とされる。すなわち、対象ブロックの動きベクトル情報は、符号化済みブロックの動きベクトル情報で生成される。したがって、空間ダイレクトモードによる動きベクトルは、復号側でも生成することができるので、動きベクトル情報を送る必要がない。
【０１５８】
算出されたこれらの動きベクトルdirectmvL0（Spatial）および動きベクトルdirectmvL1（Spatial）は、SDM残差エネルギ算出部９１に出力される。
【０１５９】
TDM動きベクトル算出部８２は、ステップＳ７２において、時間ダイレクトモードの動きベクトル値を算出する。
【０１６０】
すなわち、TDM動きベクトル算出部８２は、Ｂピクチャについて、時間ダイレクトモードに基づき動き予測と補償処理を行い、予測画像を生成する。
【０１６１】
このとき、TDM動きベクトル算出部８２においては、時間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Temporal）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Temporal）が算出される。なお、時間ダイレクトモードに基づく動きベクトルの算出処理は、図１２を参照して後述される。
【０１６２】
算出されたこれらの動きベクトルdirectmvL0（Temporal）および動きベクトルdirectmvL1（Temporal）は、TDM残差エネルギ算出部９２に出力される。
【０１６３】
なお、H．264/AVC方式においては、これらのダイレクトモード（空間ダイレクトモードおよび時間ダイレクトモード）は、ともに、１６×１６画素マクロブロックまたは８×８画素ブロック単位で定義することが可能である。したがって、SDM動きベクトル算出部８１およびTDM動きベクトル算出部８２においては、１６×１６画素マクロブロックまたは８×８画素ブロック単位での処理が行われる。
【０１６４】
SDM残差エネルギ算出部９１は、ステップＳ７３において、空間ダイレクトモードによる動きベクトルを用いて、残差エネルギSAD(Spatial)を算出し、算出した残差エネルギSAD(Spatial)を、比較部９３に出力する。
【０１６５】
具体的には、SDM残差エネルギ算出部９１は、動きベクトルdirectmvL0（Spatial）およびdirectmvL1（Spatial）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。SDM残差エネルギ算出部９１は、対象ブロックの周辺画素群NCURの画素値と、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SADにより算出する。
【０１６６】
さらに、SDM残差エネルギ算出部９１は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Spatial)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Spatial)を用いて、残差エネルギSAD(Spatial)を算出する。このとき、上述した式（７）が用いられる。
【０１６７】
TDM残差エネルギ算出部９２は、ステップＳ７４において、時間ダイレクトモードによる動きベクトルを用いて、残差エネルギSAD（Temporal）を算出し、算出した残差エネルギSAD（Temporal）を、比較部９３に出力する。
【０１６８】
具体的には、TDM残差エネルギ算出部９２は、動きベクトルdirectmvL0（Temporal）およびdirectmvL1（Temporal）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。TDM残差エネルギ算出部９２は、対象ブロックの周辺画素群NCURと、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SADにより算出する。
【０１６９】
さらに、TDM残差エネルギ算出部９２は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Temporal)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Temporal)を用いて、残差エネルギSAD(Temporal)を算出する。このとき、上述した式（８）が用いられる。
【０１７０】
比較部９３は、ステップＳ７５において、空間ダイレクトモードに基づく残差エネルギSAD(Spatial)と、時間ダイレクトモードに基づく残差エネルギSAD(Temporal)の比較を行い、その結果を、ダイレクトモード決定部９４に出力する。
【０１７１】
ステップＳ７５において、SAD(Spatial)がSAD(Temporal)以下であると判定された場合、処理は、ステップＳ７６に進む。ダイレクトモード決定部９４は、ステップＳ７６において、対象ブロックに対する最適ダイレクトモードとして、空間ダイレクトモードを選択することを決定する。対象ブロックに対して空間ダイレクトモードが選択されたことは、ダイレクトモードの種類を示す情報として、動き予測・補償部７５に出力される。
【０１７２】
一方、ステップＳ７５において、SAD(Spatial)がSAD(Temporal)より大きいと判定された場合、処理は、ステップＳ７７に進む。ダイレクトモード決定部９４は、ステップＳ７７において、対象ブロックに対する最適ダイレクトモードとして、時間ダイレクトモードを選択することを決定する。対象ブロックに対して時間ダイレクトモードが選択されたことは、ダイレクトモードの種類を示す情報として、動き予測・補償部７５に出力される。
【０１７３】
動き予測・補償部７５は、ステップＳ７８において、ダイレクトモード決定部９４からのダイレクトモードの種類を示す情報に基づいて、選択されたダイレクトモードに対して、上述した式（１０）または式（１１）で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図８のステップＳ３４で最適インター予測モードを決定する際に用いられる。
【０１７４】
［時間ダイレクトモードの説明］
図１２は、H．264/AVC方式における時間ダイレクトモードについて説明する図である。
【０１７５】
図１２の例においては、時間軸tが時間の経過を表しており、左から順に、Ｌ０(List0)参照ピクチャ、いまから符号化される対象ピクチャ、Ｌ１(List1)参照ピクチャが示されている。なお、Ｌ０参照ピクチャ、対象ピクチャ、Ｌ１参照ピクチャの並びは、H．264/AVC方式においては、この順に限らない。
【０１７６】
対象ピクチャの対象ブロックは、例えば、Ｂスライスに含まれており、TDM動きベクトル算出部８２は、Ｌ０参照ピクチャとＬ１参照ピクチャに対して、時間ダイレクトモードに基づく動きベクトル情報を算出する。
【０１７７】
Ｌ０参照ピクチャにおいて、いまから符号化される対象ブロックと同じ空間上のアドレス（座標）にあるブロックであるco-locatedブロックにおける動きベクトル情報mvcolは、Ｌ０参照ピクチャとＬ１参照ピクチャに基づいて算出されている。
【０１７８】
ここで、対象ピクチャとＬ０参照ピクチャの時間軸上の距離をTDBとし、Ｌ０参照ピクチャとＬ１参照ピクチャの時間軸上の距離をTDDとする。この場合、対象ピクチャにおけるＬ０動きベクトル情報mvL0と、対象ピクチャにおけるＬ１動きベクトル情報mvL1は、次の式（１３）で算出することができる。
【０１７９】
【数５】
2010095559.tif 000007
【０１８０】
なお、H．264/AVC方式においては、圧縮画像中には、対象ピクチャに対する時間軸t上の距離TDB、TDDに相当する情報が存在しない。したがって、距離TDB、TDDの実際の値としては、ピクチャの出力順序を示す情報であるPOC(Picture Order Count)が用いられる。
【０１８１】
［残差エネルギ算出の例］
図１３は、SDM残差エネルギ算出部９１およびTDM残差エネルギ算出部９２における残差エネルギ算出を説明する図である。なお、図１３の例においては、空間ダイレクト動きベクトルおよび時間ダイレクト動きベクトルを総称して、ダイレクト動きベクトルと称する。すなわち、空間ダイレクト動きベクトルについても、時間ダイレクト動きベクトルについても、以下のように実行される。
【０１８２】
図１３の例の場合、左から順に、Ｌ０(List0)参照ピクチャ、いまから符号化される対象ピクチャ、Ｌ１(List1)参照ピクチャが示されている。これらは、表示順に並んでいるが、Ｌ０(List0)参照ピクチャ、いまから符号化される対象ピクチャ、Ｌ１(List1)参照ピクチャの並びは、H．264/AVC方式においては、この例に限らない。
【０１８３】
対象ピクチャにおいて、これから符号化される対象ブロック（または、マクロブロック）が示されている。対象ブロックには、さらに、対象ブロックとＬ０参照ピクチャ間で算出されたダイレクト動きベクトルDirectmvL0と、対象ブロックとＬ１参照ピクチャ間で算出されたダイレクト動きベクトルDirectmvL1が示されている。
【０１８４】
ここで、周辺画素群Ncurは、対象ブロックの周辺の、既に符号化済みの画素群である。すなわち、周辺画素群Ncurは、対象ブロックに対して隣接するとともに、すでに符号化済みの画素で構成される画素群である。さらに、具体的には、周辺画素群Ncurは、符号化処理をラスタスキャン順に行う場合には、図１３に示されるように、対象ブロックの左および上側に位置する領域の画素群であり、フレームメモリ７２に復号画像が蓄積されている画素群である。
【０１８５】
また、画素群NL0およびNL1は、動きベクトルDirectmvL0と動きベクトルDirectmvL1によって指し示される周辺画素群Ncurに対応する、Ｌ０およびＬ１参照ピクチャ上での画素群である。
【０１８６】
SDM残差エネルギ算出部９１およびTDM残差エネルギ算出部９２は、この周辺画素群Ncurと、画素群NL0およびNL1との各間で、SADにより残差エネルギSAD(NL0;Spatial), SAD(NL1;Spatial), SAD(NL0;Temporal),SAD(NL1;Temporal)をそれぞれ算出する。そして、SDM残差エネルギ算出部９１およびTDM残差エネルギ算出部９２は、それぞれ、上述した式（７）および式（８）により、残差エネルギSAD(Spatial)およびSAD(Temporal)を算出する。
【０１８７】
このように、残差エネルギ算出処理は、入力となる原画像情報ではなく、符号化済みの画像（すなわち、復号画像）情報を用いての算出になるため、復号側でも同一の動作が可能である。また、上述した空間ダイレクトモードに基づく動きベクトル情報および時間ダイレクトモードに基づく動きベクトル情報の算出も、同様に、復号画像を用いての算出になるため、図１４の画像復号装置１０１でも同一の動作が可能である。
【０１８８】
したがって、従来のように、スライス毎のダイレクトモードであることを示す情報を送る必要はあるが、符号化対象のブロック（または、マクロブロック）毎に、空間と時間のどちらのダイレクトモードを用いるか、その情報を復号側に送る必要がない。
【０１８９】
これにより、出力となる圧縮画像情報における情報量を増大させることなく、対象ブロック（またはマクロブロック）毎に最適なダイレクトモードを選択することが可能になり、予測精度を向上させることができる。その結果、符号化効率を向上させることが可能になる。
【０１９０】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０１９１】
［画像復号装置の構成例］
図１４は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０１９２】
画像復号装置１０１は、蓄積バッファ１１１、可逆復号部１１２、逆量子化部１１３、逆直交変換部１１４、演算部１１５、デブロックフィルタ１１６、画面並べ替えバッファ１１７、Ｄ／Ａ変換部１１８、フレームメモリ１１９、スイッチ１２０、イントラ予測部１２１、動き予測・補償部１２２、ダイレクトモード選択部１２３、およびスイッチ１２４により構成されている。
【０１９３】
蓄積バッファ１１１は伝送されてきた圧縮画像を蓄積する。可逆復号部１１２は、蓄積バッファ１１１より供給された、図１の可逆符号化部６６により符号化された情報を、可逆符号化部６６の符号化方式に対応する方式で復号する。逆量子化部１１３は可逆復号部１１２により復号された画像を、図１の量子化部６５の量子化方式に対応する方式で逆量子化する。逆直交変換部１１４は、図１の直交変換部６４の直交変換方式に対応する方式で逆量子化部１１３の出力を逆直交変換する。
【０１９４】
逆直交変換された出力は演算部１１５によりスイッチ１２４から供給される予測画像と加算されて復号される。デブロックフィルタ１１６は、復号された画像のブロック歪を除去した後、フレームメモリ１１９に供給し、蓄積させるとともに、画面並べ替えバッファ１１７に出力する。
【０１９５】
画面並べ替えバッファ１１７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ６２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７から供給された画像をＤ／Ａ変換し、図示せぬディスプレイに出力し、表示させる。
【０１９６】
スイッチ１２０は、インター処理される画像と参照される画像をフレームメモリ１１９から読み出し、動き予測・補償部１２２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ１１９から読み出し、イントラ予測部１２１に供給する。
【０１９７】
イントラ予測部１２１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部１１２から供給される。イントラ予測部１２１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ１２４に出力する。
【０１９８】
動き予測・補償部１２２には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）が可逆復号部１１２から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部１２２は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。
【０１９９】
ダイレクトモードを示す情報が供給された場合、動き予測・補償部１２２は、空間ダイレクトモードおよび時間ダイレクトモードの動きベクトル情報を算出し、算出した動きベクトル情報を、ダイレクトモード選択部１２３に出力する。また、動き予測・補償部１２２は、ダイレクトモード選択部１２３により選択されたダイレクトモードで、補償処理を行い、予測画像を生成する。
【０２００】
なお、ダイレクトモードによる動き予測および補償処理を行う場合、動き予測・補償部１２２は、図６の動き予測・補償部７５と同様に、少なくともSDM動きベクトル算出部８１およびTDM動きベクトル算出部８２を含むように構成される。
【０２０１】
そして、動き予測・補償部１２２は、予測モード情報に応じて、インター予測モードにより生成された予測画像、または、ダイレクトモードにより生成された予測画像のどちらか一方をスイッチ１２４に出力する。
【０２０２】
ダイレクトモード選択部１２３は、動き予測・補償部１２２からの空間および時間ダイレクトモードによる動きベクトル情報を用いて、残差エネルギをそれぞれ算出する。このとき、残差エネルギの算出には、符号化対象の対象ブロックに対して所定の位置関係で隣接するとともに復号画像に含まれる周辺画素が用いられる。
【０２０３】
ダイレクトモード選択部１２３は、空間ダイレクトモードおよび時間ダイレクトモードによる２種類の残差エネルギを比較し、残差エネルギの小さい方のダイレクトモードの選択を決定して、選択したダイレクトモードの種類を示す情報を、動き予測・補償部１２２に出力する。
【０２０４】
なお、ダイレクトモード選択部１２３は、基本的にダイレクトモード選択部７６と同様に構成されるので、ダイレクトモード選択部１２３の説明にも上述した図６を用いる。すなわち、ダイレクトモード選択部１２３は、図６のダイレクトモード選択部７６と同様に、SDM残差エネルギ算出部９１、TDM残差エネルギ算出部９２、比較部９３、およびダイレクトモード決定部９４により構成される。
【０２０５】
スイッチ１２４は、動き予測・補償部１２２またはイントラ予測部１２１により生成された予測画像を選択し、演算部１１５に供給する。
【０２０６】
［画像復号装置の復号処理の説明］
次に、図１５のフローチャートを参照して、画像復号装置１０１が実行する復号処理について説明する。
【０２０７】
ステップＳ１３１において、蓄積バッファ１１１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部１１２は、蓄積バッファ１１１から供給される圧縮画像を復号する。すなわち、図１の可逆符号化部６６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０２０８】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、インター予測モード、またはダイレクトモードを示す情報）、フラグ情報も復号される。
【０２０９】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部１２１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部１２２に供給される。予測モード情報がダイレクトモード情報である場合、予測モード情報は、動き予測・補償部１２２に供給される。
【０２１０】
ステップＳ１３３において、逆量子化部１１３は可逆復号部１１２により復号された変換係数を、図１の量子化部６５の特性に対応する特性で逆量子化する。ステップＳ１３４において逆直交変換部１１４は逆量子化部１１３により逆量子化された変換係数を、図１の直交変換部６４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部６４の入力（演算部６３の出力）に対応する差分情報が復号されたことになる。
【０２１１】
ステップＳ１３５において、演算部１１５は、後述するステップＳ１４１の処理で選択され、スイッチ１２４を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ１１６は、演算部１１５より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１３７においてフレームメモリ１１９は、フィルタリングされた画像を記憶する。
【０２１２】
ステップＳ１３８において、イントラ予測部１２１、動き予測・補償部１２２、またはダイレクトモード選択部１２３は、可逆復号部１１２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０２１３】
すなわち、可逆復号部１１２からイントラ予測モード情報が供給された場合、イントラ予測部１２１は、イントラ予測モードのイントラ予測処理を行う。可逆復号部１１２からインター予測モード情報が供給された場合、動き予測・補償部１２２は、インター予測モードの動き予測・補償処理を行う。また、可逆復号部１１２からダイレクトモード情報が供給された場合、動き予測・補償部１２２は、空間および時間ダイレクトモードの動き予測を行い、ダイレクトモード選択部１２３により選択されたダイレクトモードを用いて補償処理を行う。
【０２１４】
ステップＳ１３８における予測処理の詳細は、図１６を参照して後述するが、この処理により、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像がスイッチ１２４に供給される。
【０２１５】
ステップＳ１３９において、スイッチ１２４は予測画像を選択する。すなわち、イントラ予測部１２１により生成された予測画像、または動き予測・補償部１２２により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部１１５に供給され、上述したように、ステップＳ１３４において逆直交変換部１１４の出力と加算される。
【０２１６】
ステップＳ１４０において、画面並べ替えバッファ１１７は並べ替えを行う。すなわち画像符号化装置５１の画面並べ替えバッファ６２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２１７】
ステップＳ１４１において、Ｄ／Ａ変換部１１８は、画面並べ替えバッファ１１７からの画像をＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２１８】
［画像復号装置の予測処理の説明］
次に、図１６のフローチャートを参照して、図１５のステップＳ１３８の予測処理を説明する。
【０２１９】
イントラ予測部１２１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部１１２からイントラ予測モード情報がイントラ予測部１２１に供給されると、イントラ予測部１２１は、ステップ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０２２０】
イントラ予測部１２１は、ステップＳ１７２において、イントラ予測モード情報を取得し、ステップＳ１７３において、イントラ予測を行う。
【０２２１】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介してイントラ予測部１２１に供給される。ステップＳ１７３において、イントラ予測部１２１は、ステップＳ１７２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ１２４に出力される。
【０２２２】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７４に進む。
【０２２３】
ステップＳ１７４において、動き予測・補償部１２２は、可逆復号部１１２からの予測モード情報などを取得する。
【０２２４】
処理対象の画像がインター処理される画像である場合、可逆復号部１１２からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部１２２に供給される。この場合、ステップＳ１７４において、動き予測・補償部１２２は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
【０２２５】
そして、動き予測・補償部１２２は、ステップＳ１７５において、可逆復号部１１２からの予測モード情報が、ダイレクトモード情報であるか否かを判定する。ステップＳ１７５において、ダイレクトモード情報ではない、すなわち、インター予測モード情報であると判定された場合、処理は、ステップＳ１７６に進む。
【０２２６】
動き予測・補償部１２２は、ステップＳ１７６において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ１１９から読み出され、スイッチ１２０を介して動き予測・補償部１２２に供給される。ステップＳ１７６において動き予測・補償部１２２は、ステップＳ１７４で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ１２４に出力される。
【０２２７】
一方、処理対象の画像がダイレクトモードで処理される画像である場合、可逆復号部１１２からダイレクトモード情報が動き予測・補償部１２２に供給される。この場合、ステップＳ１７４において、動き予測・補償部１２２は、ダイレクトモード情報を取得し、ステップＳ１７５において、ダイレクトモード情報であると判定され、処理は、ステップＳ１７７に進む。
【０２２８】
ステップＳ１７７において、動き予測・補償部１２２およびダイレクトモード選択部１２３は、ダイレクトモード予測処理を行う。このステップＳ１７５のダイレクトモード予測処理について、図１７を参照して説明する。
【０２２９】
［画像復号装置のダイレクトモード予測処理の説明］
図１７は、ダイレクトモード予測処理を説明するフローチャートである。なお、図１７のステップＳ１９３乃至Ｓ１９７の処理は、図１１のステップＳ７３乃至Ｓ７７の処理と基本的に同様の処理を行うため、繰り返しになるのでその詳細な説明は省略する。
【０２３０】
動き予測・補償部１２２のSDM動きベクトル算出部８１は、ステップＳ１９１において、空間ダイレクトモードの動きベクトルを算出する。すなわち、SDM動きベクトル算出部８１は、空間ダイレクトモードに基づき動き予測を行う。
【０２３１】
このとき、SDM動きベクトル算出部８１においては、空間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Spatial）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Spatial）が算出される。算出されたこれらの動きベクトルdirectmvL0（Spatial）および動きベクトルdirectmvL1（Spatial）は、SDM残差エネルギ算出部９１に出力される。
【０２３２】
動き予測・補償部１２２のTDM動きベクトル算出部８２は、ステップＳ１９２において、時間ダイレクトモードの動きベクトルを算出する。すなわち、TDM動きベクトル算出部８２は、時間ダイレクトモードに基づき動き予測を行う。
【０２３３】
このとき、TDM動きベクトル算出部８２においては、時間ダイレクトモードに基づいて、対象フレームとＬ０参照フレームとの動き予測で動きベクトルdirectmvL0（Temporal）が算出される。同様に、対象フレームとＬ１参照フレームとの動き予測で動きベクトルdirectmvL1（Temporal）が算出される。算出されたこれらの動きベクトルdirectmvL0（Temporal）および動きベクトルdirectmvL1（Temporal）は、TDM残差エネルギ算出部９２に出力される。
【０２３４】
ダイレクトモード選択部１２３のSDM残差エネルギ算出部９１は、ステップＳ１９３において、空間ダイレクトモードによる動きベクトルを用いて、残差エネルギSAD(Spatial)を算出する。そして、SDM残差エネルギ算出部９１は、算出した残差エネルギSAD(Spatial)を、比較部９３に出力する。
【０２３５】
具体的には、SDM残差エネルギ算出部９１は、動きベクトルdirectmvL0（Spatial）およびdirectmvL1（Spatial）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。SDM残差エネルギ算出部９１は、対象ブロックの周辺画素群NCURの画素値と、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SADにより算出する。
【０２３６】
さらに、SDM残差エネルギ算出部９１は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Spatial)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Spatial)を用いて、残差エネルギSAD(Spatial)を算出する。このとき、上述した式（７）が用いられる。
【０２３７】
ダイレクトモード選択部１２３のTDM残差エネルギ算出部９２は、ステップＳ１９４において、時間ダイレクトモードによる動きベクトルを用いて、残差エネルギSAD（Temporal）を算出し、算出した残差エネルギSAD（Temporal）を、比較部９３に出力する。
【０２３８】
具体的には、DM残差エネルギ算出部９２は、動きベクトルdirectmvL0（Temporal）およびdirectmvL1（Temporal）によって指し示される、符号化対象の対象ブロックの周辺画素群NCURに対応する各参照フレーム上での画素群NL0,NL1を求める。TDM残差エネルギ算出部９２は、対象ブロックの周辺画素群NCURと、求めた各参照フレーム上での画素群NL0,NL1の画素値を用いて、それぞれの残差エネルギを、SADにより算出する。
【０２３９】
さらに、TDM残差エネルギ算出部９２は、Ｌ０参照フレーム上の画素群NL0との残差エネルギSAD(NL0;Temporal)と、Ｌ１参照フレーム上の画素群NL1との残差エネルギSAD(NL1;Temporal)を用いて、残差エネルギSAD(Temporal)を算出する。このとき、上述した式（８）が用いられる。
【０２４０】
ダイレクトモード選択部１２３の比較部９３は、ステップＳ１９５において、空間ダイレクトモードに基づく残差エネルギSAD(Spatial)と、時間ダイレクトモードに基づく残差エネルギSAD(Temporal)の比較を行う。そして、比較部９３は、その結果を、ダイレクトモード選択部１２３のダイレクトモード決定部９４に出力する。
【０２４１】
ステップＳ１９５において、SAD(Spatial)がSAD(Temporal)以下であると判定された場合、処理は、ステップＳ１９６に進む。ダイレクトモード決定部９４は、ステップＳ１９６において、対象ブロックに対する最適ダイレクトモードとして、空間ダイレクトモードを選択することを決定する。対象ブロックに対して空間ダイレクトモードが選択されたことは、ダイレクトモードの種類を示す情報として、動き予測・補償部１２２に出力される。
【０２４２】
一方、ステップＳ１９５において、SAD(Spatial)がSAD(Temporal)より大きいと判定された場合、処理は、ステップＳ１９７に進む。ダイレクトモード決定部９４は、ステップＳ１９７において、対象ブロックに対する最適ダイレクトモードとして、時間ダイレクトモードを選択することを決定する。対象ブロックに対して時間ダイレクトモードが決定されたことは、ダイレクトモードの種類を示す情報として、動き予測・補償部１２２に出力される。
【０２４３】
動き予測・補償部１２２は、ステップＳ１９８において、ダイレクトモード決定部９４からのダイレクトモードの種類を示す情報に基づいて、選択されたダイレクトモードで予測画像を生成する。すなわち、動き予測・補償部１２２は、選択されたダイレクトモードの動きベクトル情報を用いて補償処理を行い、予測画像を生成する。生成された予測画像は、スイッチ１２４に供給される。
【０２４４】
以上のように、対象ブロック（またはマクロブロック）毎に最適なダイレクトモードの選択を、復号画像を用いて、画像符号化装置および画像復号装置の両方で行うようにした。これにより、対象ブロック（またはマクロブロック）毎にダイレクトモードの種類を示す情報などを送らずに、良質な画質を表示することができる。
【０２４５】
すなわち、圧縮情報の増大を招くことなく、対象ブロック毎のダイレクトモードの種類の切り替えができるので、予測精度を向上することができる。
【０２４６】
なお、上記説明においては、マクロブロックの大きさが、１６×１６画素の場合について説明してきたが、本発明は、”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
【０２４７】
図１８は、拡張されたマクロブロックサイズの例を示す図である。上記記載では、マクロブロックサイズが３２×３２画素に拡張されている。
【０２４８】
図１８の上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。図１８の中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。また、図１８の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０２４９】
すなわち、３２×３２画素のマクロブロックは、図１８の上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０２５０】
また、上段の右側に示される１６×１６画素のブロックは、Ｈ．２６４／ＡＶＣ方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０２５１】
さらに、中段の右側に示される８×８画素のブロックは、Ｈ．２６４／ＡＶＣ方式と同様に、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックでの処理が可能である。
【０２５２】
このような階層構造を採用することにより、拡張されたマクロブロックサイズにおいては、１６×１６画素のブロック以下に関してＨ．２６４／ＡＶＣ方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
【０２５３】
以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
【０２５４】
以上においては、符号化方式としてH．264/AVC方式を用いるようにしたが、その他の符号化方式／復号方式を用いることもできる。
【０２５５】
なお、本発明は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０２５６】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０２５７】
図１９は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２５８】
コンピュータにおいて、CPU(Central Processing Unit)２０１、ROM(Read Only Memory)２０２、RAM(Random Access Memory)２０３は、バス２０４により相互に接続されている。
【０２５９】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、入力部２０６、出力部２０７、記憶部２０８、通信部２０９、およびドライブ２１０が接続されている。
【０２６０】
入力部２０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部２０７は、ディスプレイ、スピーカなどよりなる。記憶部２０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部２０９は、ネットワークインタフェースなどよりなる。ドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア２１１を駆動する。
【０２６１】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを入出力インタフェース２０５及びバス２０４を介してRAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【０２６２】
コンピュータ（CPU２０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア２１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２６３】
コンピュータでは、プログラムは、リムーバブルメディア２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、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デコーダ３１７は、画像復号装置１０１の場合と同様に、対象ブロック（またはマクロブロック）毎に最適なダイレクトモードの選択を復号画像を用いて行う。これにより、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
【０２８４】
MPEGデコーダ３１７から供給された映像データは、ビデオデコーダ３１５から供給された映像データの場合と同様に、映像信号処理回路３１８において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路３１９において、生成された映像データ等が適宜重畳され、パネル駆動回路３２０を介して表示パネル３２１に供給され、その画像が表示される。
【０２８５】
MPEGデコーダ３１７から供給された音声データは、音声A/D変換回路３１４から供給された音声データの場合と同様に、音声信号処理回路３２２において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル／音声合成回路３２３を介して音声増幅回路３２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ３２５から出力される。
【０２８６】
また、テレビジョン受像機３００は、マイクロホン３２６、およびA/D変換回路３２７も有する。
【０２８７】
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変換処理を施し、得られたデジタルの音声データを音声コーデック３２８に供給する。
【０２９１】
音声コーデック３２８は、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を有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部４５４を介して、画像エンコーダ４５３で、例えばMPEG２やMPEG４等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
【０３１７】
携帯電話機４００は、このような処理を行う画像エンコーダ４５３として、上述した画像符号化装置５１を用いる。したがって、画像エンコーダ４５３は、画像符号化装置５１の場合と同様に、対象ブロック（またはマクロブロック）毎に最適なダイレクトモードの選択を復号画像を用いて行う。これにより、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
【０３１８】
なお、携帯電話機４００は、このとき同時に、CCDカメラ４１６で撮像中にマイクロホン（マイク）４２１で集音した音声を、音声コーデック４５９においてアナログデジタル変換し、さらに符号化する。
【０３１９】
携帯電話機４００は、多重分離部４５７において、画像エンコーダ４５３から供給された符号化画像データと、音声コーデック４５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機４００は、その結果得られる多重化データを、変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０３２０】
なお、画像データを送信しない場合、携帯電話機４００は、CCDカメラ４１６で生成した画像データを、画像エンコーダ４５３を介さずに、LCD制御部４５５を介して液晶ディスプレイ４１８に表示させることもできる。
【０３２１】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機４００は、基地局から送信された信号を、アンテナ４１４を介して送受信回路部４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機４００は、その受信信号を変復調回路部４５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機４００は、多重分離部４５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０３２２】
携帯電話機４００は、画像デコーダ４５６において、符号化画像データを、MPEG２やMPEG４等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、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データに分離し、それぞれ、オーディオデコーダ５２４、ビデオデコーダ５２５、またはレコーダ制御部５２６に出力する。
【０３４３】
オーディオデコーダ５２４は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部５３３に出力する。ビデオデコーダ５２５は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ５３０に出力する。レコーダ制御部５２６は、入力されたEPGデータをEPGデータメモリ５２７に供給し、記憶させる。
【０３４４】
ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されたビデオデータを、ビデオエンコーダ５４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部５３３に出力する。また、ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されるビデオデータの画面のサイズを、モニタ５６０のサイズに対応するサイズに変換する。ディスプレイコンバータ５３０は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ５４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部５３２に出力する。
【０３４５】
ディスプレイ制御部５３２は、レコーダ制御部５２６の制御のもと、OSD（On Screen Display）制御部５３１が出力したOSD信号を、ディスプレイコンバータ５３０より入力されたビデオ信号に重畳し、モニタ５６０のディスプレイに出力し、表示させる。
【０３４６】
モニタ５６０にはまた、オーディオデコーダ５２４が出力したオーディオデータが、D/Aコンバータ５３４によりアナログ信号に変換されて供給されている。モニタ５６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０３４７】
記録再生部５３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０３４８】
記録再生部５３３は、例えば、オーディオデコーダ５２４より供給されるオーディオデータを、エンコーダ５５１によりMPEG方式でエンコードする。また、記録再生部５３３は、ディスプレイコンバータ５３０のビデオエンコーダ５４１より供給されるビデオデータを、エンコーダ５５１によりMPEG方式でエンコードする。記録再生部５３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部５３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０３４９】
記録再生部５３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部５３３は、デコーダ５５２によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部５３３は、復号したオーディオデータを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６１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部６１４に供給する。画像信号処理部６１４は、コントローラ６２１の制御の下、カメラ信号処理部６１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ６４１で例えばMPEG方式により符号化したりする。画像信号処理部６１４は、画像信号を符号化して生成した符号化データを、デコーダ６１５に供給する。さらに、画像信号処理部６１４は、オンスクリーンディスプレイ（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６１８または記録メディア６３３から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD６１６に表示させることができる。
【０３７８】
また、カメラ６００は、エンコーダ６４１として画像符号化装置５１を用いる。したがって、エンコーダ６４１は、画像符号化装置５１の場合と同様に、対象ブロック（またはマクロブロック）毎に最適なダイレクトモードの選択を復号画像を用いて行う。これにより、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
【０３７９】
したがって、カメラ６００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ６００は、DRAM６１８や記録メディア６３３の記憶領域をより効率よく使用することができる。
【０３８０】
なお、コントローラ６２１が行う復号処理に画像復号装置１０１の復号方法を適用するようにしてもよい。同様に、コントローラ６２１が行う符号化処理に画像符号化装置５１の符号化方法を適用するようにしてもよい。
【０３８１】
また、カメラ６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０３８２】
もちろん、画像符号化装置５１および画像復号装置１０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０３８３】
５１  画像符号化装置，  ６６  可逆符号化部，  ７４  イントラ予測部，  ７５  動き予測・補償部，  ７６  ダイレクトモード選択部，  ７７  予測画像選択部，  ８１  SDM動きベクトル算出部，  ８２  TDM動きベクトル算出部，  ９１  SDM残差エネルギ算出部，  ９２  TDM残差エネルギ算出部，  ９３  比較部，  ９４  ダイレクトモード決定部，  １１２  可逆復号部，  １２１  イントラ予測部，  １２２  動き予測・補償部，  １２３  ダイレクトモード選択部，  １２４  スイッチ
【図１】
2010095559.tif 000008
【図２】
2010095559.tif 000009
【図３】
2010095559.tif 000010
【図４】
2010095559.tif 000011
【図５】
2010095559.tif 000012
【図６】
2010095559.tif 000013
【図７】
2010095559.tif 000014
【図８】
2010095559.tif 000015
【図９】
2010095559.tif 000016
【図１０】
2010095559.tif 000017
【図１１】
2010095559.tif 000018
【図１２】
2010095559.tif 000019
【図１３】
2010095559.tif 000020
【図１４】
2010095559.tif 000021
【図１５】
2010095559.tif 000022
【図１６】
2010095559.tif 000023
【図１７】
2010095559.tif 000024
【図１８】
2010095559.tif 000025
【図１９】
2010095559.tif 000026
【図２０】
2010095559.tif 000027
【図２１】
2010095559.tif 000028
【図２２】
2010095559.tif 000029
【図２３】
2010095559.tif 000030
【国際調査報告】
2010095559.tif 000031
2010095559.tif 000032
2010095559.tif 000033
2010095559.tif 000034