(57)【要約】【課題】予測画像の品質劣化を少なくして圧縮効率の低下を抑制する。【解決手段】動き予測・補償部３２において、動き検出によって検出した動きベクトルに基づき、参照画像データを用いて動き補償を行い予測画像データを生成する際に、動きベクトルの大きさによって、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタのフィルタ特性が切り替えられる。このため、例えば動き量が大きい場合はノイズ除去を行う特性、動きベクトルが整数画素精度で動き量が小さく動きぼけが少ない場合等のように参照画像に高域成分が多く含まれている場合はフィルタ処理を施さない特性とすることで、予測画像の品質が劣化して圧縮効率が低下してしまうことを抑制できる。【選択図】        図４
2012104945.tif 000002
【特許請求の範囲】
【請求項１】
対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ部と、
前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ部のフィルタ特性を切り替えるフィルタ制御部と、
前記動きベクトルに基づき、前記補間フィルタ部で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理部と
を備える画像処理装置。
【請求項２】
前記フィルタ制御部は、前記動きベクトルの大きさが設定した閾値よりも大きい場合と前記閾値以下である場合とで、前記フィルタ特性を切り替える請求項１記載の画像処理装置。
【請求項３】
前記フィルタ制御部は、前記動きベクトルが整数画素精度であり、前記動きベクトルの大きさが設定した閾値よりも大きい場合は前記参照画像データのノイズを除去する特性として、前記動きベクトルの大きさが前記閾値以下である場合はフィルタ処理を施さない特性とする請求項２記載の画像処理装置。
【請求項４】
前記フィルタ制御部は、前記予測画像データを生成するフレームと前記動き補償に用いる参照画像データのフレームとの時間方向の間隔に応じて、前記閾値を切り替える請求項２記載の画像処理装置。
【請求項５】
前記フィルタ制御部は、前記間隔が広くなるに伴い前記閾値を大きくする請求項３記載の画像処理装置。
【請求項６】
前記フィルタ制御部は、前記閾値をゼロとする請求項２記載の画像処理装置。
【請求項７】
前記フィルタ制御部は、前記画像圧縮情報から取得した閾値または前記画像圧縮情報から取得した閾値生成情報に基づいて生成した閾値を用いる請求項２記載の画像処理装置。
【請求項８】
対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ工程と、
前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ工程のフィルタ特性を切り替えるフィルタ制御工程と、
前記動きベクトルに基づき、前記補間フィルタ工程で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理工程と
を含む画像処理方法。
【請求項９】
対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ手順と、
前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ手順のフィルタ特性を切り替えるフィルタ制御手順と、
前記動きベクトルに基づき、前記補間フィルタ手順で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理手順と
をコンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置と画像処理方法およびプログラムに関する。詳しくは、予測画像の品質劣化を少なくして圧縮効率の低下を抑制する。
【背景技術】
【０００２】
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を行う装置、例えば離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧ等の方式に準拠した装置が、放送局や一般家庭において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ１３８１８−２）は、汎用画像符号化方式として定義されており、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。ＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。また、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
また、ＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われて、Ｈ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０（以下「Ｈ．２６４／ＡＶＣ（Advanced Video Coding)」と記す）という名の下に国際標準となった。
【０００５】
Ｈ．２６４／ＡＶＣにおいては、図１に示すように、１６×１６画素により構成される１つのマクロブロックを、１６×１６、１６×８、８×１６若しくは８×８のいずれかの画素領域に分割して、それぞれ独立した動きベクトルを持つことが可能である。さらに、８×８画素領域に関しては、図１に示されるとおり、８×８画素、８×４画素、４×８画素、４×４画素のいずれかのサブ領域に分割して、それぞれ独立した動きベクトルを持つことが可能である。なお、ＭＰＥＧ−２においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合は１６×１６画素、フィールド動き補償モードの場合は第一フィールド、第二フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行われる。
【０００６】
さらに、Ｈ．２６４／ＡＶＣでは、特許文献１に記載されているように、小数画素精度例えば１／４画素精度の動き予測・補償処理が行われている。図２は、１／４画素精度の動き予測・補償処理を説明するための図である。図２において位置「Ａ」は、フレームメモリに格納されている整数精度画素の位置、位置「ｂ」，「ｃ」，「ｄ」は１／２画素精度の位置、位置「ｅ1」，「ｅ2」，「ｅ3」は１／４画素精度の位置である。
【０００７】
以下では、Clip1()を式（１）のように定義する。
【数１】
2012104945.tif 000003
式（１）において、入力画像が８ビット精度である場合、ｍａｘ＿ｐｉｘの値は２５５となる。
【０００８】
位置「ｂ」「ｄ」における画素値は、６タップのＦＩＲフィルタを用いて、式（２）（３）のように生成される。
Ｆ＝Ａ−２−５・Ａ−１＋２０・Ａ０＋２０・Ａ１−５・Ａ２＋Ａ３  ・・・（２）
ｂ，ｄ＝Ｃｌｉｐ１((Ｆ＋１６)＞＞５）                   ・・・（３）
【０００９】
位置「ｃ」における画素値は、６タップのＦＩＲフィルタを用いて、式（４）または式（５）のいずれかと式（６）のように生成される。
Ｆ＝ｂ−２−５・ｂ−１＋２０・ｂ０＋２０・ｂ１−５・ｂ２＋ｂ３・・・（４）
Ｆ＝ｄ−２−５・ｄ−１＋２０・ｄ０＋２０・ｄ１−５・ｄ２＋ｄ３・・・（５）
ｃ＝Ｃｌｉｐ１((Ｆ＋５１２)＞＞１０）                ・・・（６）
なお、Ｃｌｉｐ１処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に一度のみ行う。
【００１０】
位置「ｅ1」〜「ｅ3」における画素値は、線形内挿により式（７）〜（９）のように生成される。
ｅ1＝（Ａ＋ｂ＋１）＞＞１      ・・・（７）
ｅ2＝（ｂ＋ｄ＋１）＞＞１      ・・・（８）
ｅ3＝（ｂ＋ｃ＋１）＞＞１      ・・・（９）
【００１１】
画像圧縮技術では、Ｈ．２６４／ＡＶＣ方式よりもさらに高い符号化効率を実現するＨＥＶＣ（High Efficiency Video Coding）の規格化も検討されている。このＨＥＶＣでは、マクロブロックの概念を拡張したコーディングユニット（ＣＵ：Coding Unit）と呼ばれる基本単位が定義されている。また、非特許文献１では、１６×１６画素のマクロブロックよりも拡張されたブロックサイズで画像圧縮を可能とすることが提案されている。なお、ＨＥＶＣでは、コーディングユニットを分割して予測用の基本単位である予測ユニット（ＰＵ：Prediction Unit）も定義されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−０１６４５３号公報
【非特許文献】
【００１３】
【非特許文献１】“Video Coding Using Extended Block Sizes”(Study Group16, Contribution 123, ITU,COM16-C123-E 2009年1月)
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ところで、動き予測で検出した動きベクトルに基づき、参照画像データを用いて動き補償を行って予測画像データを生成する場合、ノイズを除去する目的でフィルタ処理が行われる。しかし、参照画像データに高域成分が多く含まれている場合、例えば動き量が小さく動きぼけが少ないような場合、フィルタ処理によって高域成分が失われて予測画像の品質劣化を招き、圧縮効率が低下するおそれがある。
【００１５】
そこで、この発明では予測画像の品質劣化を少なくして圧縮効率の低下を抑制できる画像処理装置と画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
この発明の第１の側面は、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ部と、前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ部のフィルタ特性を切り替えるフィルタ制御部と、前記動きベクトルに基づき、前記補間フィルタ部で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理部とを備える画像処理装置にある。
【００１７】
この発明は、画像処理装置、例えば入力画像データを複数の画素ブロックに分割し、参照画像データを用いて各画素ブロックの予測処理を行い、入力画像データと予測画像データとの差分を符号化する画像符号化装置、または画像符号化装置で生成された圧縮画像情報の復号化処理を行う画像復号化装置において、参照画像データを用いて符号化や復号化の対象ブロックの動き検出を行うことにより得られた動きベクトルの大きさによって、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ部のフィルタ特性を切り替える。また、動きベクトルが整数画素精度で閾値よりも大きい場合はフィルタ特性を参照画像データのノイズを除去する特性とする。さらに、動きベクトルが整数画素精度で閾値以下である場合はフィルタ処理を施さない特性とする。例えば動き量がゼロである参照画像データについては、フィルタ処理が施されないように閾値をゼロとする。また、予測画像データを生成するフレームと動き補償に用いる参照画像データのフレームとの時間方向の間隔に応じて、閾値を適応的に切り替えるようにしてもよい。
【００１８】
この発明の第２の側面は、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ工程と、前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ工程のフィルタ特性を切り替えるフィルタ制御工程と、前記動きベクトルに基づき、前記補間フィルタ工程で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理工程とを含む画像処理方法にある。
【００１９】
この発明の第３の側面は、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ手順と、前記対象ブロックの動きベクトルの大きさによって、前記補間フィルタ手順のフィルタ特性を切り替えるフィルタ制御手順と、前記動きベクトルに基づき、前記補間フィルタ手順で求めた画像データを用いて動き補償を行い予測画像データを生成する動き補償処理手順とをコンピュータで実行させるプログラムにある。
【００２０】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００２１】
この発明によれば、対象ブロックの参照画像データにおける小数画素精度である画像データが補間フィルタ部で求められる。また補間フィルタ部のフィルタ特性は、対象ブロックの動きベクトルの大きさによって切り替えられる。さらに、動きベクトルに基づき、補間フィルタ部で求められた画像データを用いて動き補償を行い予測画像データが生成される。このため、参照画像データに高域成分が多く含まれている場合、例えば動き量が小さく動きぼけが少ないような場合、フィルタ処理を施さない特性に切り替えられて、予測画像の品質が劣化による圧縮効率の低下を抑制できる。
【図面の簡単な説明】
【００２２】
【図１】Ｈ．２６４／ＡＶＣにおけるブロックサイズを示す図である。
【図２】１／４画素精度の動き予測・補償処理を説明するための図である。
【図３】画像符号化装置の構成を示す図である。
【図４】動き予測・補償部の構成を示す図である。
【図５】補償制御部においてフィルタ制御を行う部分の構成を示す図である。
【図６】第１のフィルタ係数と第２のフィルタ係数をそれぞれ用いた場合のフィルタ特性を例示した図である。
【図７】マクロブロックのサイズを拡張した場合の階層構造を示している。
【図８】画像符号化装置の動作を示すフローチャートである。
【図９】予測処理を示すフローチャートである。
【図１０】イントラ予測処理を示すフローチャートである。
【図１１】インター予測処理を示すフローチャートである。
【図１２】動き補償処理を示すフローチャートである。
【図１３】画像復号化装置の構成を示す図である。
【図１４】動き補償部の構成を示す図である。
【図１５】画像復号化装置の動作を示すフローチャートである。
【図１６】予測画像生成処理を示すフローチャートである。
【図１７】インター予測画像生成処理を示すフローチャートである。
【図１８】コンピュータ装置の概略構成を例示した図である。
【図１９】テレビジョン装置の概略構成を例示した図である。
【図２０】携帯電話機の概略構成を例示した図である。
【図２１】記録再生装置の概略構成を例示した図である。
【図２２】撮像装置の概略構成を例示した図である。
【発明を実施するための形態】
【００２３】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．画像符号化装置の構成
２．画像符号化装置の動作
３．画像復号化装置の構成
４．画像復号化装置の動作
５．ソフトウェア処理の場合
６．電子機器に適用した場合
【００２４】
＜１．画像符号化装置の構成＞
図３は、画像処理装置を画像符号化装置に適用した場合の構成を示している。画像符号化装置１０は、アナログ／ディジタル変換部（Ａ／Ｄ変換部）１１、画面並び替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８を備えている。さらに、画像符号化装置１０は、逆量子化部２１、逆直交変換部２２、加算部２３、デブロッキングフィルタ２４、フレームメモリ２６、イントラ予測部３１、動き予測・補償部３２、予測画像・最適モード選択部３３を備えている。
【００２５】
Ａ／Ｄ変換部１１は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ１２に出力する。
【００２６】
画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group of Pictures）構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部１３とイントラ予測部３１と動き予測・補償部３２に出力する。
【００２７】
減算部１３には、画面並べ替えバッファ１２から出力された画像データと、後述する予測画像・最適モード選択部３３で選択された予測画像データが供給される。減算部１３は、画面並べ替えバッファ１２から出力された画像データと予測画像・最適モード選択部３３から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部１４に出力する。
【００２８】
直交変換部１４は、減算部１３から出力された予測誤差データに対して、離散コサイン変換（DCT；Discrete Cosine Transform）、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部１４は、直交変換処理を行うことにより得られた変換係数データを量子化部１５に出力する。
【００２９】
量子化部１５には、直交変換部１４から出力された変換係数データと、後述するレート制御部１８からレート制御信号が供給されている。量子化部１５は変換係数データの量子化を行い、量子化データを可逆符号化部１６と逆量子化部２１に出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づき量子化パラメータ（量子化スケール）を切り替えて、量子化データのビットレートを変化させる。
【００３０】
可逆符号化部１６には、量子化部１５から出力された量子化データと、後述するイントラ予測部３１から予測モード情報や動き予測・補償部３２から予測モード情報と差分動きベクトル等が供給される。また、予測画像・最適モード選択部３３から最適モードがイントラ予測であるかインター予測であるかを示す情報が供給される。なお、予測モード情報には、イントラ予測またはインター予測に応じて、予測モードや動き予測ユニットのブロックサイズ情報等が含まれる。可逆符号化部１６は、量子化データに対して例えば可変長符号化または算術符号化等により可逆符号化処理を行い、画像圧縮情報を生成して蓄積バッファ１７に出力する。また、可逆符号化部１６は、最適モードがイントラ予測である場合、イントラ予測部３１から供給された予測モード情報の可逆符号化を行う。また、可逆符号化部１６は、最適モードがインター予測である場合、動き予測・補償部３２から供給された予測モード情報や差分動きベクトル等の可逆符号化を行う。さらに、可逆符号化部１６は、可逆符号化が行われた情報を画像圧縮情報に含める。例えば可逆符号化部１６は、画像圧縮情報である符号化ストリームのヘッダ情報に付加する。
【００３１】
蓄積バッファ１７は、可逆符号化部１６からの画像圧縮情報を蓄積する。また、蓄積バッファ１７は、蓄積した画像圧縮情報を伝送路に応じた伝送速度で出力する。
【００３２】
レート制御部１８は、蓄積バッファ１７の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部１５に出力する。レート制御部１８は、例えば蓄積バッファ１７から空き容量を示す情報を取得する。レート制御部１８は空き容量が少なくなっている場合、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部１８は蓄積バッファ１７の空き容量が十分大きい場合、レート制御信号によって量子化データのビットレートを高くする。
【００３３】
逆量子化部２１は、量子化部１５から供給された量子化データの逆量子化処理を行う。逆量子化部２１は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部２２に出力する。
【００３４】
逆直交変換部２２は、逆量子化部２１から供給された変換係数データの逆直交変換処理を行い、得られたデータを加算部２３に出力する。
【００３５】
加算部２３は、逆直交変換部２２から供給されたデータと予測画像・最適モード選択部３３から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ２４とイントラ予測部３１に出力する。なお、復号画像データは参照画像の画像データとして用いられる。
【００３６】
デブロッキングフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の復号画像データをフレームメモリ２６に出力する。
【００３７】
フレームメモリ２６は、デブロッキングフィルタ２４から供給されたフィルタ処理後の復号画像データを保持する。フレームメモリ２６に保持された復号画像データは、動き予測・補償部３２に参照画像データとして供給される。
【００３８】
イントラ予測部３１は、画面並べ替えバッファ１２から供給された符号化対象画像の入力画像データと加算部２３から供給された参照画像データを用いて、候補となる全てのイントラ予測モードで予測を行い、最適イントラ予測モードを決定する。イントラ予測部３１は、例えば各イントラ予測モードでコスト関数値を算出して、算出したコスト関数値に基づき符号化効率が最良となるイントラ予測モードを最適イントラ予測モードとする。イントラ予測部３１は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。さらに、イントラ予測部３１は、最適イントラ予測モードを示す予測モード情報を可逆符号化部１６に出力する。
【００３９】
動き予測・補償部３２は、画面並べ替えバッファ１２から供給された符号化対象画像の入力画像データとフレームメモリ２６から供給された参照画像データを用いて、候補となる全てのインター予測モードで予測を行い、最適インター予測モードを決定する。動き予測・補償部３２は、例えば各インター予測モードでコスト関数値を算出して、算出したコスト関数値に基づき符号化効率が最良となるインター予測モードを最適インター予測モードとする。動き予測・補償部３２は、最適インター予測モードで生成された予測画像データと最適インター予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。さらに、動き予測・補償部３２は、最適インター予測モードに関する予測モード情報を可逆符号化部１６に出力する。
【００４０】
図４は、動き予測・補償部３２の構成を示している。動き予測・補償部３２は、動き検出部３２１、モード判定部３２２、動き補償処理部３２３、動きベクトルバッファ３２４を有している。
【００４１】
動き検出部３２１には、画面並べ替えバッファ１２から供給された並べ替え後の入力画像データと、フレームメモリ２６から読み出された参照画像データが供給される。動き検出部３２１は、候補となる全てのインター予測モードで動き探索を行い動きベクトルを検出する。動き検出部３２１は、検出した動きベクトルを示す動きベクトルを、動きベクトルを検出した場合の入力画像データと参照画像データと共にモード判定部３２２に出力する。
【００４２】
モード判定部３２２には、動き検出部３２１から動きベクトルと入力画像データ、動き補償処理部３２３から予測画像データ、および動きベクトルバッファ３２４から隣接予測ユニットの動きベクトルが供給されている。モード判定部３２２は、隣接予測ユニットの動きベクトルを用いてメディアン予測等を行い予測動きベクトルを設定して、動き検出部３２１で検出された動きベクトルと予測動きベクトルの差を示す差分動きベクトルを算出する。モード判定部３２２は、入力画像データと予測画像データおよび差分動きベクトルを用いて、候補となる全てのインター予測モードでコスト関数値を算出する。モード判定部３２２は、算出したコスト関数値が最小となるモードを最適インター予測モードと決定する。さらに、モード判定部３２２は、決定した最適インター予測モードを示す予測モード情報とコスト関数値を、当該最適インター予測モードに関わる動きベクトルと差分動きベクトル等とともに、動き補償処理部３２３に出力する。また、モード判定部３２２は、候補となる全てのインター予測モードでコスト関数値を算出するため、インター予測モードに関わる予測モード情報と動きベクトルを、動き補償処理部３２３に出力する。
【００４３】
コスト関数値の算出は、例えばＨ．２６４／ＡＶＣ方式における参照ソフトウェアであるＪＭ（Joint Model）で定められているように、High Complexityモードか、Low Complexityモードのいずれかの手法に基づいて行う。
【００４４】
すなわち、High Complexityモードにおいては、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、次の式（１０）で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=Ｄ+λ・Ｒ            ・・・（１０）
【００４５】
Ωは、当該予測ユニットの画像を符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の予測画像と入力画像との差分エネルギー（歪み）を示している。Ｒは、直交変換係数や予測モード情報等を含んだ発生符号量、λは、量子化パラメータＱＰの関数として与えられるラグランジュ乗数である。
【００４６】
つまり、High Complexityモードでの符号化を行うには、上記パラメータＤおよびＲを算出するため、候補となる全ての予測モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【００４７】
一方、Low Complexityモードにおいては、候補となる全ての予測モードで、予測画像の生成、および差分動きベクトルや予測モード情報などを含むヘッダビットの生成等を行い、次の式（１１）で表されるコスト関数値を算出する。
Cost(Mode∈Ω)=Ｄ+QP2Quant(QP)・Header＿Bit      ・・・（１１）
【００４８】
Ωは、当該予測ユニットの画像を符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の予測画像と入力画像との差分エネルギー（歪み）を示している。Header＿Bitは、予測モードに対するヘッダビット、QP2Quantは、量子化パラメータＱＰの関数として与えられる関数である。
【００４９】
すなわち、Low Complexityモードにおいては、それぞれの予測モードに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、High Complexityモードより低い演算量での実現が可能である。
【００５０】
動き補償処理部３２３は、補償制御部３２３１と係数テーブル３２３２とフィルタ部３２３３を有している。補償制御部３２３１は、モード判定部３２２から供給された予測ユニットのブロックサイズ（形状も含む）と動きベクトルおよび参照インデックスに基づいて、フレームメモリ２６からの参照画像データの読み出し制御を行う。フィルタ部３２３３は、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ処理を行う。また、動きベクトルに基づき、補間フィルタ処理で求めた画像データを用いて動き補償を行い予測画像データを生成する。さらに、補償制御部３２３１は、モード判定部３２２から供給された動きベクトルの大きさに応じて、フィルタ部３２３３のフィルタ特性を切り替える。例えば動き補償処理部３２３は、動きベクトルの大きさが設定した閾値よりも大きい場合と閾値以下である場合とで、フィルタ特性を切り替える。補償制御部３２３１は、動きベクトルの大きさに応じて、係数テーブル３２３２でフィルタ係数を選択させて、選択したフィルタ係数をフィルタ部３２３３に供給させることでフィルタ特性の切り替えを行う。なお、図４では、係数テーブル３２３２からフィルタ部３２３３にフィルタ係数を供給する構成を示しているが、補償制御部３２３１からフィルタ係数をフィルタ部３２３３に供給する構成であってもよい。
【００５１】
図５は、補償制御部３２３１においてフィルタ制御を行う部分の構成を示している。補償制御部３２３１は閾値設定部３２３１ａと閾値判定部３２３１ｂを有している。
【００５２】
補償制御部３２３１は、ブロックサイズ、動きベクトルの整数部および参照インデックスに基づき、フレームメモリ２６から参照画像データの読み出しを行う。
【００５３】
閾値設定部３２３１ａは、動きベクトルが整数画素精度である場合、動きベクトルの大きさによって、フィルタ部３２３３のフィルタ特性を切り替えるための閾値ＭＶthを設定する。閾値設定部３２３１ａは、設定した閾値ＭＶthを閾値判定部３２３１ｂに出力する。閾値設定部３２３１ａは、閾値ＭＶthとして予め設定された固定値を用いる。また、閾値設定部３２３１ａは、予測画像データを生成するフレームと参照画像データのフレームとの時間方向の間隔に応じて閾値を適応的に切り替えるようにしてもよい。例えば動きが一定である場合、予測画像データを生成するフレームと参照画像データのフレームとの時間方向の間隔が狭いと動きベクトルの大きさは小さく、時間方向の間隔が広いと動きベクトルの大きさは大きくなる。したがって、時間方向の間隔に応じて閾値を適応的に切り替えれば、所望の動きに対応した閾値を設定できる。
【００５４】
式（１２）は、時間方向の間隔に応じて適応的に切り替えられる閾値ＭＶthを示している。
ＭＶth＝ｋ＊｜ＰＯＣ０−ＰＯＣ１｜    ・・・（１２）
なお、式（１２）において、係数ｋは、時間方向の間隔に応じた閾値ＭＶthを算出するために予め設定されている値である。ＰＯＣ０は、生成する予測画像データのフレームである当該フレームのＰＯＣ（Picture Order Count）を示している。また、ＰＯＣ１は、参照画像データのフレームのＰＯＣを示している。なお、ＰＯＣ０，ＰＯＣ１は、最適インター予測モードにおける参照インデックスから判別できる。
【００５５】
閾値判定部３２３１ｂは、動きベクトルの整数部が閾値ＭＶth以下であるか判定して、判定結果を係数テーブル３２３２に出力する。
【００５６】
係数テーブル３２３２には、動きベクトルの小数部と、閾値判定部３２３１ｂで生成された判定結果が供給されている。また、係数テーブル３２３２は、ノイズを除去するフィルタ特性を設定するためのフィルタ係数や、小数画素精度の動きベクトルに基づいて補間フィルタ処理を行い小数画素精度の像データを生成するためのフィルタ係数等が記憶されている。
【００５７】
係数テーブル３２３２は、動きベクトルの小数部がゼロすなわち動きベクトルが整数画素精度である場合、動きベクトルの大きさ（長さ）に応じたフィルタ係数の出力を行う。例えば、係数テーブル３２３２は、動きベクトルの小数部がゼロであり、整数部が閾値ＭＶth以下であることを判定結果が示している場合、フィルタ処理を施さない特性とする第１のフィルタ係数をフィルタ部３２３３に出力する。また、係数テーブル３２３２は、動きベクトルの小数部がゼロであり、整数部が閾値ＭＶthよりも大きいことを判定結果が示している場合、参照画像データのノイズを除去するフィルタ特性の第２のフィルタ係数をフィルタ部３２３３に出力する。ここで、閾値ＭＶthをゼロした場合、静止している画像の領域については、フィルタ処理を施さないようにして、動きを生じている画像の領域についてのみノイズ除去を行うことができる。
【００５８】
係数テーブル３２３２は、動きベクトルの小数部がゼロでない場合、小数画素精度の動きベクトルに基づいて予測画像データの生成、または予測画像データの生成とノイズ除去を行う第３のフィルタ係数をフィルタ部３２３３に出力する。
【００５９】
図６は、第１のフィルタ係数を用いたときのフィルタ特性と、第２のフィルタ係数を用いたときのフィルタ特性を例示している。なお、フィルタ特性は、第１のフィルタ係数を用いたときのフィルタ特性はフィルタ処理を施さない特性、第２のフィルタ係数を用いたときのフィルタ特性はノイズを除去するフィルタ特性となればよく、図６に示す特性に限られない。例えば、図６に示す特性とは異なる減衰特性であってもよい。
【００６０】
フィルタ部３２３３は、係数テーブル３２３２から供給されたフィルタ係数を用いて参照画像データのフィルタ処理を行い予測画像データを生成する。フィルタ部３２３３は、最適インター予測モードを判定するため、モード判定部３２２でコスト関数値を算出する場合、生成した予測画像データをモード判定部３２２に出力する。また、フィルタ部３２３３は、最適インター予測モードで生成した予測画像データを予測画像・最適モード選択部３３に出力する。
【００６１】
なお、図示せずも、動き補償処理部３２３は、最適インター予測モードで検出した動きベクトルを動きベクトルバッファ３２４、最適インター予測の予測モード情報と当該モードにおける差分動きベクトル等を可逆符号化部１６にそれぞれ出力する。さらに、動き補償処理部３２３は、最適インター予測におけるコスト関数値を、図３に示す予測画像・最適モード選択部３３に出力する。
【００６２】
予測画像・最適モード選択部３３は、イントラ予測部３１から供給されたコスト関数値と動き予測・補償部３２から供給されたコスト関数値を比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部３３は、最適モードで生成した予測画像データを減算部１３と加算部２３に出力する。さらに、予測画像・最適モード選択部３３は、最適モードがイントラ予測モードであるかインター予測モードであるかを示す情報を可逆符号化部１６に出力する。なお、予測画像・最適モード選択部３３は、スライス単位でイントラ予測またはインター予測の切り替えを行う。
【００６３】
＜２．画像符号化装置の動作＞
画像符号化装置では、例えばＨ．２６４／ＡＶＣ方式よりもマクロブロックの大きさを拡張して符号化処理を行う。図７は、マクロブロックのサイズを拡張した場合の階層構造を例示している。図７において、図７の（Ｃ）（Ｄ）は、コーディングユニットがＨ．２６４／ＡＶＣ方式で規定されている１６×１６画素のマクロブロックと８×８画素のサブマクロブロックのサイズである場合を示している。また、図７の（Ａ）はコーディングユニットのブロックサイズが６４×６４画素、図７の（Ｂ）はコーディングユニットのブロックサイズが３２×３２画素である場合を示している。なお、図７において、「Ｓｋｉｐ／ｄｉｒｅｃｔ」は、スキップドマクロブロックやダイレクトモードを選択した場合のブロックサイズであることを示している。
【００６４】
また、１つの階層では、コーディングユニットを分割したサイズを含めて複数の予測ユニットが設定されている。例えば、図７の（Ａ）に示す６４×６４画素のマクロブロックの階層では、６４×６４画素，６４×３２画素，３２×６４画素，３２×３２画素のサイズが同一階層の予測ユニットのブロックサイズと設定されている。また、図示せずも、コーディングユニットを非対称のブロックサイズで２分割した予測ユニットを設けることも可能とされている。なお、「ＭＥ」は予測ユニットのブロックサイズを示している。また、「Ｐ８×８」は、ブロックサイズを小さくした下位の階層でさらに分割できることを示している。
【００６５】
次に、画像符号化装置の動作について、図８に示すフローチャートを用いて説明する。ステップＳＴ１１において、Ａ／Ｄ変換部１１は入力された画像信号をＡ／Ｄ変換する。
【００６６】
ステップＳＴ１２において画面並べ替えバッファ１２は、画像並べ替えを行う。画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００６７】
ステップＳＴ１３において減算部１３は、予測誤差データの生成を行う。減算部１３は、ステップＳＴ１２で並び替えられた画像の画像データと予測画像・最適モード選択部３３で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【００６８】
ステップＳＴ１４において直交変換部１４は、直交変換処理を行う。直交変換部１４は、減算部１３から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
【００６９】
ステップＳＴ１５において量子化部１５は、量子化処理を行う。量子化部１５は、変換係数データを量子化する。量子化に際しては、後述するステップＳＴ２５の処理で説明されるように、レート制御が行われる。
【００７０】
ステップＳＴ１６において逆量子化部２１は、逆量子化処理を行う。逆量子化部２１は、量子化部１５により量子化された変換係数データを量子化部１５の特性に対応する特性で逆量子化する。
【００７１】
ステップＳＴ１７において逆直交変換部２２は、逆直交変換処理を行う。逆直交変換部２２は、逆量子化部２１により逆量子化された変換係数データを直交変換部１４の特性に対応する特性で逆直交変換する。
【００７２】
ステップＳＴ１８において加算部２３は、参照画像データの生成を行う。加算部２３は、予測画像・最適モード選択部３３から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号化データ（参照画像データ）を生成する。
【００７３】
ステップＳＴ１９においてデブロッキングフィルタ２４は、フィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３より出力された復号画像データをフィルタリングしてブロック歪みを除去する。
【００７４】
ステップＳＴ２０においてフレームメモリ２６は、参照画像データを記憶する。フレームメモリ２６はフィルタ処理後の復号化データ（参照画像データ）を記憶する。
【００７５】
ステップＳＴ２１においてイントラ予測部３１と動き予測・補償部３２は、それぞれ予測処理を行う。すなわち、イントラ予測部３１は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部３２は、インター予測モードの動き予測・補償処理を行う。予測処理の詳細は、図９を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部３３に供給される。
【００７６】
ステップＳＴ２２において予測画像・最適モード選択部３３は、予測画像データの選択を行う。予測画像・最適モード選択部３３は、イントラ予測部３１および動き予測・補償部３２より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードを決定する。すなわち、予測画像・最適モード選択部３３では、例えば図７に示す各階層から符号化効率が最良となるコーディングユニットと該コーディングユニットにおける予測ユニットのブロックサイズおよびイントラ予測とインター予測のいずれかを行うか決定する。さらに、予測画像・最適モード選択部３３は、決定した最適モードの予測画像データを、減算部１３と加算部２３に出力する。この予測画像データが、上述したように、ステップＳＴ１３，ＳＴ１８の演算に利用される。
【００７７】
ステップＳＴ２３において可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、量子化部１５より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。また、可逆符号化部１６は、ステップＳＴ２２で選択された予測画像データに対応する予測モード情報等の可逆符号化を行い、量子化データを可逆符号化して生成された画像圧縮情報に、予測モード情報等の可逆符号化データが含められる。
【００７８】
ステップＳＴ２４において蓄積バッファ１７は、蓄積処理を行う。蓄積バッファ１７は、可逆符号化部１６から出力される画像圧縮情報を蓄積する。この蓄積バッファ１７に蓄積された画像圧縮情報は、適宜読み出されて伝送路を介して復号側に伝送される。
【００７９】
ステップＳＴ２５においてレート制御部１８は、レート制御を行う。レート制御部１８は、蓄積バッファ１７で画像圧縮情報を蓄積する場合、オーバーフローまたはアンダーフローが蓄積バッファ１７で発生しないように、量子化部１５の量子化動作のレートを制御する。
【００８０】
次に、図９のフローチャートを参照して、図８のステップＳＴ２１における予測処理を説明する。
【００８１】
ステップＳＴ３１において、イントラ予測部３１はイントラ予測処理を行う。イントラ予測部３１は符号化対象の予測ユニットの画像を、候補となる全てのイントラ予測モードでイントラ予測する。なお、イントラ予測において参照される復号画像の画像データは、デブロッキングフィルタ２４でブロッキングフィルタ処理が行われる前の復号画像データが用いられる。このイントラ予測処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、符号化効率が最良となる１つのイントラ予測モードが選択される。
【００８２】
ステップＳＴ３２において、動き予測・補償部３２はインター予測処理を行う。動き予測・補償部３２は、フレームメモリ２６に記憶されているデブロッキングフィルタ処理後の復号画像データを用いて、候補となるインター予測モードのインター予測処理を行う。このインター予測処理により、候補となる全てのインター予測モードで予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのインター予測モードの中から、符号化効率が最良となる１つのインター予測モードが選択される。
【００８３】
次に、図１０のフローチャートを参照して、図９におけるステップＳＴ３１のイントラ予測処理について説明する。
【００８４】
ステップＳＴ４１でイントラ予測部３１は、各予測モードのイントラ予測を行う。イントラ予測部３１は、ブロッキングフィルタ処理前の復号画像データを用いて、イントラ予測モード毎に予測画像データを生成する。
【００８５】
ステップＳＴ４２でイントラ予測部３１は、各予測モードでのコスト関数値を算出する。コスト関数値の算出は、上述のように例えばＨ．２６４／ＡＶＣ方式における参照ソフトウェアであるＪＭ（Joint Model）で定められているように、High Complexityモードか、Low Complexityモードのいずれかの手法に基づいて行う。すなわち、High Complexityモードにおいては、ステップＳＴ４２の処理として、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、上述の式（１０）で表されるコスト関数値を各予測モードに対して算出する。また、Low Complexityモードにおいては、ステップＳＴ４２の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトルや予測モード情報などのヘッダビットまでを算出し、上述の式（１１）で表されるコスト関数値を各予測モードに対して算出する。
【００８６】
ステップＳＴ４３でイントラ予測部３１は、最適イントラ予測モードを決定する。イントラ予測部３１は、ステップＳＴ４２において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である１つのイントラ予測モードを選択して最適イントラ予測モードに決定する。
【００８７】
次に、図１１のフローチャートを参照して、図９におけるステップＳＴ３２のインター予測処理について説明する。
【００８８】
ステップＳＴ５１で動き予測・補償部３２は、動き検出処理を行う。動き予測・補償部３２は、動きベクトルを検出してステップＳＴ５２に進む。
【００８９】
ステップＳＴ５２で動き予測・補償部３２は、動き補償処理を行う。動き予測・補償部３２は、ステップＳＴ５１で検出した動きベクトルに基づき参照画像データを用いて動き補償を行い予測画像データを生成する。
【００９０】
図１２は、動き補償処理を示すフローチャートである。ステップＳＴ６１で動き予測・補償部３２は、参照画像データの読み出しを行う。動き予測・補償部３２は、動き補償を行う予測ユニットのブロックサイズ、動き補償を行う予測ユニットに対して検出した動きベクトル、動きベクトルの検出に用いた参照画像を示す参照インデックスに基づき、参照画像データの読み出し領域を決定する。さらに、動き予測・補償部３２は、決定した読み出し領域の画像データをフレームメモリ２６から読み出してステップＳＴ６２に進む。
【００９１】
ステップＳＴ６２で動き予測・補償部３２は、動きベクトルの小数部がゼロであるか判別する。動き予測・補償部３２は、動き補償を行う予測ユニットに対して検出した動きベクトルにおいて、動きベクトルの小数部がゼロであるときはステップＳＴ６３に進み、動きベクトルの小数部がゼロでないときはステップＳＴ６７に進む。
【００９２】
ステップＳＴ６３で動き予測・補償部３２は、閾値の設定を行う。動き予測・補償部３２は、予め設定されている固定値、または上述の式（１２）に基づいて閾値ＭＶthを設定してステップＳＴ６４に進む。
【００９３】
ステップＳＴ６４で動き予測・補償部３２は、整数部が閾値以下であるか判別する。動き予測・補償部３２は、動き補償を行う予測ユニットで検出した動きベクトルの整数部が閾値ＭＶth以下である場合はステップＳＴ６５に進み、閾値ＭＶthよりも大きい場合はステップＳＴ６６に進む。
【００９４】
ステップＳＴ６５で動き予測・補償部３２は、第１のフィルタ係数の選択を行う。動き予測・補償部３２は、参照画像データを用いて動き補償を行い予測画像データを生成する場合のフィルタ処理で用いるフィルタ係数を第１のフィルタ係数としてステップＳＴ６８に進む。この第１のフィルタ係数は、フィルタ処理を施さない特性として、予測画像データを生成する場合にフィルタ部３２３３でノイズ除去を行うことなく参照画像データを通過させるフィルタ係数である。
【００９５】
ステップＳＴ６６で動き予測・補償部３２は、第２のフィルタ係数の選択を行う。動き予測・補償部３２は、フィルタ処理で用いるフィルタ係数を第２のフィルタ係数としてステップＳＴ６８に進む。この第２のフィルタ係数は、予測画像データを生成する場合にフィルタ部３２３３でノイズを除去する特性のフィルタ係数であり、例えば低域通過フィルタ動作を行い、ノイズ除去を行う。
【００９６】
ステップＳＴ６２からステップＳＴ６７に進むと、動き予測・補償部３２は、小数部に応じた第３のフィルタ係数の選択を行う。動き予測・補償部３２は、参照画像データを用いて動き補償を行い予測画像データを生成する場合のフィルタ処理で用いるフィルタ係数を、動きベクトルの小数部に応じた第３のフィルタ係数としてステップＳＴ６８に進む。この第３のフィルタ係数は、従来の画像符号化装置と同様に、小数画素精度の動きベクトルに基づいて予測画像データの生成、または予測画像データの生成とノイズ除去を行う特性のフィルタ係数である。
【００９７】
ステップＳＴ６８で動き予測・補償部３２は、予測画像データの生成を行う。動き予測・補償部３２は、第１〜第３のフィルタ係数のいずれかか選択されたフィルタ係数を用いてフィルタ処理を行い予測画像データの生成を行う。
【００９８】
このように、図１１のステップＳＴ５２の動き補償処理では、上述のように予測画像データを生成してステップＳＴ５３に進む。
【００９９】
ステップＳＴ５３で動き予測・補償部３２は、コスト関数値の算出を行う。動き予測・補償部３２は、符号化対象である予測ユニットの入力画像データと、ステップＳＴ５２で生成した予測画像データ等を用いて、上述のようにコスト関数値を算出してステップＳＴ５４に進む。
【０１００】
ステップＳＴ５４で動き予測・補償部３２は、最適インター予測モードを決定する。動き予測・補償部３２は、ステップＳＴ５１からステップＳＴ５３までの処理を全てのインター予測モード毎に行い、算出されたコスト関数値が最小値となる参照インデックス、コーディングユニットのブロックサイズ、当該コーディングユニットにおける予測ユニットのブロックサイズを判別して、最適インター予測モードとする。なお、コスト関数が最小となるモードの決定では、スキップモードでインター予測を行った場合のコスト関数値も用いる。
【０１０１】
また、動き予測・補償部３２は、予測画像・最適モード選択部３３で最適インター予測モードが最適予測モードとして選択された場合、最適インター予測モードの予測画像データを減算部１３と加算部２３に供給できるように、予測画像データの生成を行う。
【０１０２】
このように、画像符号化装置１０では、インター予測において、動きベクトルが整数画素精度で整数部が閾値以下である場合、第１のフィルタ係数が選択されて、参照画像データに対するノイズ除去が行われないようになる。このため、例えば動き量がゼロである場合のように、動き量が小さく動きぼけが少ないため参照画像データに高域成分が多く含まれている場合、フィルタ処理によって高域成分が失われてしまうことがないので、予測画像の品質を劣化させてしまうことを防止できる。
【０１０３】
また、動きベクトルが整数画素精度で整数部が閾値よりも大きい場合、第２のフィルタ係数が選択されて、参照画像データのノイズ除去が行われる。このため、動き量が大きく動きぼけが多くなるような場合等、ノイズの少ない予測画像データが生成されるので、効率の高い符号化処理を行うことができる。また、動き量が大きい場合は、動き量が小さい場合に比べて高域成分が少ないことが多く、ノイズ除去を行っても高域成分の減少による予測画像の品質の劣化が少ない。
【０１０４】
さらに、動きベクトルが小数画素精度、例えば１／２画素精度や１／４画素精度等である場合、第３のフィルタ係数が選択されて、補間フィルタ処理による予測画像データやノイズ除去のフィルタ処理が行われる。このため、従来と同様に、小数画素精度の動きベクトルに基づく少ない予測画像データを用いて効率の高い符号化処理を行うことができる。
【０１０５】
また、画像符号化装置１０は、閾値ＭＶthまたは設定した閾値ＭＶthを復号化時に生成するための閾値生成情報である係数ｋを、例えば可逆符号化して、Sequence Parameter Set(SPS), Picture Parameter Set(PPS), slice header, macro block header，cording unit header情報等の少なくともいずれかに含める。このようにすれば、後述する画像復号化装置５０で、これらの情報に含まれている閾値ＭＶthや閾値生成情報を用いることで、画像符号化装置１０と同様なフィルタ特性の切り替えを正しく行うことができる。
【０１０６】
＜３．画像復号化装置の構成＞
次に、画像処理装置を画像復号化装置に適用した場合について説明する。入力画像を符号化して生成された画像圧縮情報は、所定の伝送路や記録媒体等を介して画像復号化装置に供給されて復号される。
【０１０７】
図１３は、画像圧縮情報の復号化処理を行う画像復号化装置の構成を示している。画像復号化装置５０は、蓄積バッファ５１、可逆復号化部５２、逆量子化部５３、逆直交変換部５４、加算部５５、デブロッキングフィルタ５６、画面並べ替えバッファ５７、ディジタル／アナログ変換部（Ｄ／Ａ変換部）５８を備えている。さらに、画像復号化装置５０は、フレームメモリ６１、イントラ予測部７１、動き補償部７２、セレクタ７３を備えている。
【０１０８】
蓄積バッファ５１は、伝送されてきた画像圧縮情報を蓄積する。可逆復号化部５２は、蓄積バッファ５１より供給された画像圧縮情報を、図３の可逆符号化部１６の符号化方式に対応する方式で復号化する。
【０１０９】
可逆復号化部５２は、画像圧縮情報を復号して得られた予測モード情報をイントラ予測部７１や動き補償部７２に出力する。また、可逆復号化部５２は、画像圧縮情報を復号して得られた差分動きベクトルや閾値または閾値生成情報を動き補償部７２に出力する。
【０１１０】
逆量子化部５３は、可逆復号化部５２で復号された量子化データを、図３の量子化部１５の量子化方式に対応する方式で逆量子化する。逆直交変換部５４は、図３の直交変換部１４の直交変換方式に対応する方式で逆量子化部５３の出力を逆直交変換して加算部５５に出力する。
【０１１１】
加算部５５は、逆直交変換後のデータとセレクタ７３から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ５６とイントラ予測部７１に出力する。
【０１１２】
デブロッキングフィルタ５６は、加算部５５から供給された復号画像データに対してデブロッキングフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ６１に供給し蓄積させるとともに、画面並べ替えバッファ５７に出力する。
【０１１３】
画面並べ替えバッファ５７は、画像の並べ替えを行う。すなわち、図３の画面並べ替えバッファ１２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、Ｄ／Ａ変換部５８に出力される。
【０１１４】
Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７から供給された画像データをＤ／Ａ変換し、図示せぬディスプレイに出力することで画像を表示させる。
【０１１５】
フレームメモリ６１は、デブロッキングフィルタ２４でフィルタ処理が行われた後の復号画像データを参照画像データとして記憶する。
【０１１６】
イントラ予測部７１は、可逆復号化部５２から供給された予測モード情報と加算部５５から供給された復号画像データに基づいて予測画像データの生成を行い、生成した予測画像データをセレクタ７３に出力する。
【０１１７】
動き補償部７２は、可逆復号化部５２から供給された予測モード情報や差分動きベクトルに基づきフレームメモリ６１から参照画像データを読み出して動き補償を行い予測画像データを生成する。動き補償部７２は、生成した予測画像データをセレクタ７３に出力する。また、動き補償部７２は、動きベクトルの大きさに応じて、フィルタ特性を切り替えて予測画像データの生成を行う。
【０１１８】
セレクタ７３は、可逆復号化部５２から供給された予測モード情報に基づき、イントラ予測である場合はイントラ予測部７１、インター予測である場合は動き補償部７２を選択する。セレクタ７３は、選択されたイントラ予測部７１または動き補償部７２で生成された予測画像データを加算部５５に出力する。
【０１１９】
図１４は、動き補償部７２の構成を示している。動き補償部７２は、動きベクトル合成部７２１、動き補償処理部７２２、動きベクトルバッファ７２３を有している。
【０１２０】
動きベクトル合成部７２１は、可逆復号化部５２から供給された復号化対象の予測ユニットの差分動きベクトルと予測動きベクトルを加算して、予測ユニットの動きベクトルを算出して動き補償処理部７２２に出力する。なお、動きベクトル合成部７２１は、動きベクトルバッファ７２３に記憶されている隣接予測ユニットの動きベクトルを用いて予測動きベクトルを生成する。
【０１２１】
動き補償処理部７２２は、補償制御部７２２１と係数テーブル７２２２とフィルタ部７２２３を有している。補償制御部７２２１は、可逆復号化部５２から供給された予測モード情報と動きベクトル合成部７２１から供給された動きベクトルに基づき、フレームメモリ６１から参照画像データの読み出し制御を行う。フィルタ部７２２３は、対象ブロックの参照画像データにおける小数画素精度である画像データを求める補間フィルタ処理を行う。また、動きベクトルに基づき、補間フィルタ処理で求めた画像データを用いて動き補償を行い予測画像データを生成する。さらに、補償制御部７２２１は、動きベクトル合成部７２１から供給された動きベクトルの大きさに応じて、フィルタ部７２２３のフィルタ特性を切り替える。補償制御部７２２１は、動きベクトルの大きさに応じて、係数テーブル７２２２でフィルタ係数を選択させて、選択したフィルタ係数をフィルタ部７２２３に供給させることでフィルタ特性の切り替えを行う。また、補償制御部７２２１は、可逆復号化部５２から供給された閾値、または可逆復号化部５２から供給された閾値生成情報を用いて式（１２）から算出した閾値を用いることで、図４に示す補償制御部３２３１と同様なフィルタ特性の切り替えを行う。このため、補償制御部３２３１で例えば閾値がゼロとされている場合、画像復号化装置５０においても、静止している画像の領域については、フィルタ処理を施さないようにして、動きを生じている画像の領域についてのみノイズ除去を行うことができる。
【０１２２】
係数テーブル７２２２は、係数テーブル３２３２と同様に、整数画素精度の動きベクトルに基づいて予測画像データの生成を行う場合、動きベクトルの大きさに応じてノイズ除去を行うフィルタ係数の出力を行う。例えば、係数テーブル７２２２は、動きベクトルの小数部がゼロであり、整数部が閾値ＭＶth以下であることを判定結果が示している場合、予測画像データに対してノイズ除去を行わないフィルタ係数をフィルタ部７２２３に出力する。また、係数テーブル７２２２は、動きベクトルの小数部がゼロであり、整数部が閾値ＭＶthよりも大きいことを判定結果が示している場合、予測画像データのノイズ除去を行うフィルタ係数をフィルタ部７２２３に出力する。
【０１２３】
さらに、係数テーブル７２２２は、係数テーブル３２３２と同様に、小数画素精度の動きベクトルに基づいて予測画像データの生成を行う場合、予測画像データの生成または予測画像データの生成とノイズ除去を行うフィルタ係数をフィルタ部７２２３に出力する。すなわち、係数テーブル７２２２は、動きベクトルの小数部がゼロでない場合、動きベクトルの小数部に応じて、予測画像データの生成または予測画像データの生成とノイズ除去を行うフィルタ係数をフィルタ部７２２３に出力する。
【０１２４】
フィルタ部７２２３は、係数テーブル７２２２から供給されたフィルタ係数を用いて参照画像データのフィルタ処理を行い予測画像データを生成して図１３に示すセレクタ７３に出力する。
【０１２５】
セレクタ７３は、可逆復号化部５２から供給された予測モード情報に基づき、イントラ予測である場合はイントラ予測部７１、インター予測である場合は動き補償部７２を選択する。セレクタ７３は、選択されたイントラ予測部７１または動き補償部７２で生成された予測画像データを加算部５５に出力する。
【０１２６】
＜４．画像復号化装置の動作＞
次に、図１５のフローチャートを参照して、画像復号化装置５０で行われる画像復号処理動作について説明する。
【０１２７】
ステップＳＴ８１で蓄積バッファ５１は、供給された画像圧縮情報を蓄積する。ステップＳＴ８２で可逆復号化部５２は、可逆復号化処理を行う。可逆復号化部５２は、蓄積バッファ５１から供給される画像圧縮情報を復号化する。すなわち、図３の可逆符号化部１６により符号化された各ピクチャの量子化データが得られる。また、可逆復号化部５２、画像圧縮情報に含まれている予測モード情報等の可逆復号化を行い、得られた予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部７１に出力する。また、可逆復号化部５２は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き補償部７２に出力する。さらに、可逆復号化部５２は、画像圧縮情報を復号して得られた差分動きベクトルや閾値または閾値生成情報を動き補償部７２に出力する。
【０１２８】
ステップＳＴ８３において逆量子化部５３は、逆量子化処理を行う。逆量子化部５３は、可逆復号化部５２により復号された量子化データを、図３の量子化部１５の特性に対応する特性で逆量子化する。
【０１２９】
ステップＳＴ８４において逆直交変換部５４は、逆直交変換処理を行う。逆直交変換部５４は、逆量子化部５３により逆量子化された変換係数データを、図３の直交変換部１４の特性に対応する特性で逆直交変換する。
【０１３０】
ステップＳＴ８５において加算部５５は、復号画像データの生成を行う。加算部５５は、逆直交変換処理を行うことにより得られたデータと、後述するステップＳＴ８９で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
【０１３１】
ステップＳＴ８６においてデブロッキングフィルタ５６は、フィルタ処理を行う。デブロッキングフィルタ５６は、加算部５５より出力された復号画像データのデブロッキングフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
【０１３２】
ステップＳＴ８７においてフレームメモリ６１は、復号画像データの記憶処理を行う。なお、フレームメモリ６１に記憶された復号画像データや加算部５５から出力される復号画像データは、参照画像データとして予測画像データの生成で用いられる。
【０１３３】
ステップＳＴ８８においてイントラ予測部７１と動き補償部７２は、予測画像生成処理を行う。イントラ予測部７１と動き補償部７２は、可逆復号化部５２から供給される予測モード情報に対応してそれぞれ予測画像生成処理を行う。
【０１３４】
すなわち、可逆復号化部５２からイントラ予測の予測モード情報が供給された場合、イントラ予測部７１は、予測モード情報に基づいて予測画像データを生成する。また、可逆復号化部５２からインター予測の予測モード情報が供給された場合、動き補償部７２は、予測モード情報に基づき動き補償を行い予測画像データを生成する。
【０１３５】
ステップＳＴ８９において、セレクタ７３は予測画像データの選択を行う。セレクタ７３は、イントラ予測部７１から供給された予測画像と動き補償部７２から供給された予測画像データの選択を行い、選択した予測画像データを加算部５５に供給して、上述したように、ステップＳＴ８５において逆直交変換部５４の出力と加算させる。
【０１３６】
ステップＳＴ９０において画面並べ替えバッファ５７は、画像並べ替えを行う。すなわち画面並べ替えバッファ５７は、図３の画像符号化装置１０の画面並べ替えバッファ１２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１３７】
ステップＳＴ９１において、Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７からの画像データをＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１３８】
次に、図１６のフローチャートを参照して、図１５のステップＳＴ８８の予測画像生成処理について説明する。
【０１３９】
ステップＳＴ１０１で可逆復号化部５２は、復号化対象の予測ユニットのブロックがイントラ符号化されているか否かを判定する。可逆復号化部５２は、可逆復号化を行うことにより得られた予測モード情報がイントラ予測の予測モード情報である場合、予測モード情報をイントラ予測部７１に供給してステップＳＴ１０２に進む。また、可逆復号化部５２は、予測モード情報がインター予測の予測モード情報である場合、予測モード情報を動き補償部７２に供給してステップＳＴ１０３に進む。
【０１４０】
ステップＳＴ１０２でイントラ予測部７１は、イントラ予測画像生成処理を行う。イントラ予測部７１は、加算部５５から供給されたデブロックフィルタ処理前の復号画像データと予測モード情報を用いてイントラ予測を行い、予測画像データを生成する。
【０１４１】
ステップＳＴ１０３で動き補償部７２は、インター予測画像生成処理を行う。動き補償部７２は、可逆復号化部５２から供給された予測モード情報等の情報に基づいて、フレームメモリ６１から参照画像データを読み出して予測画像データの生成を行う。
【０１４２】
図１７は、ステップＳＴ１０３のインター予測画像生成処理を示すフローチャートである。ステップＳＴ１１１で動き補償部７２は、予測モード情報と閾値を取得する。動き補償部７２は、予測モード情報と閾値または閾値生成情報を可逆復号化部５２から取得してステップＳＴ１１２に進む。
【０１４３】
ステップＳＴ１１２で動き補償部７２は、動きベクトルを再構築する。動き補償部７２は、例えば隣接予測ユニットの動きベクトルを用いたメディアン予測によって生成した予測動きベクトルと、可逆復号化部５２から供給された差分動きベクトルを加算する。動き補償部７２は、予測動きベクトルと差分動きベクトルを加算することで、予測ユニットの動きベクトルを再構築してステップＳＴ１１３に進む。
【０１４４】
ステップＳＴ１１３で動き補償部７２は、動き補償処理を行う。動き補償部７２はステップＳＴ１１１で取得した予測モード情報や、ステップＳＴ１１２で再構築した動きベクトルに基づき、フレームメモリ６１から参照画像データを読み出す。また、動き補償部７２は、図１１に示す動き補償処理と同様に、読み出した参照画像データに対して動きベクトルの大きさに応じてフィルタ特性を切り替えて予測画像データの生成を行う。
【０１４５】
このように、画像復号化装置５０では、画像符号化装置１０と同様に、インター予測において、動きベクトルが整数画素精度で整数部が閾値以下である場合、第１のフィルタ係数が選択されて、参照画像データに対するフィルタ処理が行われないようになる。このため、例えば動き量がゼロである場合のように、動き量が小さく動きぼけが少ないため参照画像データに高域成分が多く含まれている場合、フィルタ処理によって高域成分が失われてしまうことがないので、予測画像の品質を劣化させてしまうことを防止できる。
【０１４６】
また、動きベクトルが整数画素精度で整数部が閾値よりも大きい場合、第２のフィルタ係数が選択されて、参照画像データのノイズ除去が行われる。このため、動き量が大きく動きぼけが多くなるような場合等、ノイズの少ない予測画像データが生成されるので、効率の高い符号化処理を行うことができる。また、動き量が大きい場合は、動き量が小さい場合に比べて高域成分が少ないことが多く、ノイズ除去を行っても高域成分の減少による予測画像の品質の劣化が少ない。
【０１４７】
さらに、動きベクトルが小数画素精度、例えば１／２画素精度や１／４画素精度等である場合、第３のフィルタ係数が選択されて、補間フィルタ処理による予測画像データやノイズ除去のフィルタ処理が行われる。このため、従来と同様に、小数画素精度の動きベクトルに基づく少ない予測画像データを用いて効率の高い符号化処理を行うことができる。
【０１４８】
また、画像復号化装置５０は、例えばSequence Parameter Set(SPS), Picture Parameter Set(PPS), slice header, macro block header，cording unit header情報から得られた閾値ＭＶthまたは閾値設定情報に基づいて、フィルタ特性の切り替えが行われるので、画像符号化装置１０と同様なフィルタ特性の切り替えを正しく行うことができる。
【０１４９】
なお、画像符号化装置１０と画像復号化装置５０では、動きベクトルの大きさが設定した閾値よりも大きい場合は参照画像データのノイズを除去する特性、動きベクトルの大きさが閾値以下である場合はフィルタ処理を施さない特性に、フィルタ特性を切り替える場合について説明した。しかし、フィルタ特性の切り替えは、動きベクトルの大きさが小数画素精度である場合にも、動きベクトルの大きさに応じてフィルタ特性を切り替えるようにしてもよい。また、閾値を複数設けて、フィルタ特性の切り替えをさらに子細に行うようにしてもよい。
【０１５０】
＜５．ソフトウェア処理の場合＞
上述の一連の処理は、ハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【０１５１】
図１８は、上述した一連の処理をプログラムにより実行するコンピュータ装置の構成を例示した図である。コンピュータ装置８０のＣＰＵ８０１は、ＲＯＭ８０２、または記録部８０８に記録されているコンピュータ・プログラムにしたがって各種の処理を実行する。
【０１５２】
ＲＡＭ８０３には、ＣＰＵ８０１が実行するコンピュータ・プログラムやデータなどが適宜記憶される。これらのＣＰＵ８０１、ＲＯＭ８０２、およびＲＡＭ８０３は、バス８０４により相互に接続されている。
【０１５３】
ＣＰＵ８０１にはまた、バス８０４を介して入出力インタフェース８０５が接続されている。入出力インタフェース８０５には、タッチパネルやキーボード、マウス、マイクロホンなどの入力部８０６、ディスプレイなどよりなる出力部８０７が接続されている。ＣＰＵ８０１は、入力部８０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ８０１は、処理の結果を出力部８０７に出力する。
【０１５４】
入出力インタフェース８０５に接続されている記録部８０８は、例えばハードディスクからなり、ＣＰＵ８０１が実行するコンピュータ・プログラムや各種のデータを記録する。通信部８０９は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。また、コンピュータ装置８０は、通信部８０９を介してコンピュータ・プログラムを取得し、ＲＯＭ８０２や記録部８０８に記録してもよい。
【０１５５】
ドライブ８１０は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８５が装着された場合、それらを駆動して、記録されているコンピュータ・プログラムやデータなどを取得する。取得されたコンピュータ・プログラムやデータは、必要に応じてＲＯＭ８０２やＲＡＭ８０３または記録部８０８に転送される。
【０１５６】
ＣＰＵ８０１は、上述した一連の処理を行うコンピュータ・プログラムを読み出して実行して、記録部８０８やリムーバブルメディア８５に記録されている画像信号や、通信部８０９を介して供給された画像信号に対する符号化処理や画像圧縮情報の復号化処理を行う。
【０１５７】
＜６．電子機器に適用した場合＞
また、以上においては、符号化方式／復号方式としてＨ．２６４／ＡＶＣ方式が用いられたが、本発明は、その他の動き予測・補償処理を行う符号化方式／復号方式を用いる画像符号化装置／画像復号装置に適用することもできる。
【０１５８】
さらに、本発明は、例えば、ＭＰＥＧ，Ｈ．２６ｘ等のように、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ（テレビジョン）、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、または、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
【０１５９】
次に、上述した画像符号化装置１０や画像復号化装置５０が適用された電子機器について説明する。
【０１６０】
図１９は、本発明を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置９０は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース部９０９を有している。さらに、テレビジョン装置９０は、制御部９１０、ユーザインタフェース部９１１等を有している。
【０１６１】
チューナ９０２は、アンテナ９０１で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られたストリームをデマルチプレクサ９０３に出力する。
【０１６２】
デマルチプレクサ９０３は、ストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ９０４に出力する。また、デマルチプレクサ９０３は、ＥＰＧ（Electronic Program Guide）等のデータのパケットを制御部９１０に出力する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
【０１６３】
デコーダ９０４は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部９０５、音声データを音声信号処理部９０７に出力する。
【０１６４】
映像信号処理部９０５は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部９０５は、表示部９０６に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部９０５は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部９０５は、このようにして生成した映像データに基づいて駆動信号を生成して表示部９０６を駆動する。
【０１６５】
表示部９０６は、映像信号処理部９０５からの駆動信号に基づき表示デバイス（例えば液晶表示素子等）を駆動して、番組の映像などを表示させる。
【０１６６】
音声信号処理部９０７は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのＤ／Ａ変換処理や増幅処理を行い、スピーカ９０８に供給することで音声出力を行う。
【０１６７】
外部インタフェース部９０９は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
【０１６８】
制御部９１０にはユーザインタフェース部９１１が接続されている。ユーザインタフェース部９１１は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部９１０に供給する。
【０１６９】
制御部９１０は、ＣＰＵ（Central Processing Unit）やメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータ、ＥＰＧデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置９０の起動時などの所定タイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、テレビジョン装置９０がユーザ操作に応じた動作となるように各部を制御する。
【０１７０】
なお、テレビジョン装置９０では、チューナ９０２、デマルチプレクサ９０３、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９等と制御部９１０を接続するためバス９１２が設けられている。
【０１７１】
このように構成されたテレビジョン装置では、デコーダ９０４に本願の画像復号化装置（画像復号化方法）の機能が設けられる。このため、放送局側の画像符号化処理において、動きベクトルに応じてフィルタ特性の切り替えを行って予測画像データの生成が行われている場合、放送局側と同様にフィルタ特性の切り替えを行って予測画像データを生成できる。したがって、予測画像の品質劣化して圧縮効率の低下を招いてしまうことを防止しても、テレビジョン装置で正しく復号化処理を行うことができる。
【０１７２】
図２０は、本発明を適用した携帯電話機の概略構成を例示している。携帯電話機９２は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１を有している。これらは、バス９３３を介して互いに接続されている。
【０１７３】
また、通信部９２２にはアンテナ９２１が接続されており、音声コーデック９２３には、スピーカ９２４とマイクロホン９２５が接続されている。さらに制御部９３１には、操作部９３２が接続されている。
【０１７４】
携帯電話機９２は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０１７５】
音声通話モードにおいて、マイクロホン９２５で生成された音声信号は、音声コーデック９２３で音声データへの変換やデータ圧縮が行われて通信部９２２に供給される。通信部９２２は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部９２２は、送信信号をアンテナ９２１に供給して図示しない基地局へ送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック９２３に供給する。音声コーデック９２３は、音声データのデータ伸張やアナログ音声信号への変換を行い、スピーカ９２４に出力する。
【０１７６】
また、データ通信モードにおいて、メール送信を行う場合、制御部９３１は、操作部９３２の操作によって入力された文字データを受け付けて、入力された文字を表示部９３０に表示する。また、制御部９３１は、操作部９３２におけるユーザ指示等に基づいてメールデータを生成して通信部９２２に供給する。通信部９２２は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ９２１から送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部９３０に供給して、メール内容の表示を行う。
【０１７７】
なお、携帯電話機９２は、受信したメールデータを、記録再生部９２９で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、ＲＡＭや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、またはメモリカード等のリムーバブルメディアである。
【０１７８】
データ通信モードにおいて画像データを送信する場合、カメラ部９２６で生成された画像データを、画像処理部９２７に供給する。画像処理部９２７は、画像データの符号化処理を行い、画像圧縮情報を生成する。
【０１７９】
多重分離部９２８は、画像処理部９２７で生成された画像圧縮情報と、音声コーデック９２３から供給された音声データを所定の方式で多重化して、通信部９２２に供給する。通信部９２２は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ９２１から送信する。また、通信部９２２は、アンテナ９２１で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部９２８に供給する。多重分離部９２８は、多重化データの分離を行い、画像圧縮情報を画像処理部９２７、音声データを音声コーデック９２３に供給する。
【０１８０】
画像処理部９２７は、画像圧縮情報の復号化処理を行い、画像データを生成する。この画像データを表示部９３０に供給して、受信した画像の表示を行う。音声コーデック９２３は、音声データをアナログ音声信号に変換してスピーカ９２４に供給して、受信した音声を出力する。
【０１８１】
このように構成された携帯電話装置では、画像処理部９２７に本願の画像処理装置（画像処理方法）の機能が設けられる。したがって、例えば送信する画像の符号化処理において、動きベクトルの大きさに応じてフィルタ特性の切り替えを行うことで、予測画像の品質劣化が生じて圧縮効率の低下を招いてしまうことを抑制できる。また、受信した画像の復号化処理において、符号化処理と同様にフィルタ特性の切り替えを行って予測画像データを生成できることから、正しく復号化処理を行うことができる。
【０１８２】
図２１は、本発明を適用した記録再生装置の概略構成を例示している。記録再生装置９４は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置９４は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置９４は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
【０１８３】
記録再生装置９４は、チューナ９４１、外部インタフェース部９４２、エンコーダ９４３、ＨＤＤ（Hard Disk Drive）部９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen Display）部９４８、制御部９４９、ユーザインタフェース部９５０を有している。
【０１８４】
チューナ９４１は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ９４１は、所望のチャンネルの受信信号を復調して得られた画像圧縮情報をセレクタ９４６に出力する。
【０１８５】
外部インタフェース部９４２は、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース部、ＵＳＢインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部９４２は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
【０１８６】
エンコーダ９４３は、外部インタフェース部９４２から供給された映像データや音声データが符号化されていない場合所定の方式で符号化処理を行い、画像圧縮情報をセレクタ９４６に出力する。
【０１８７】
ＨＤＤ部９４４は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
【０１８８】
ディスクドライブ９４５は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）やＢｌｕ−ｒａｙディスク等である。
【０１８９】
セレクタ９４６は、映像や音声の記録時には、チューナ９４１またはエンコーダ９４３からのいずれかのストリームを選択して、ＨＤＤ部９４４やディスクドライブ９４５のいずれかに供給する。また、セレクタ９４６は、映像や音声の再生時に、ＨＤＤ部９４４またはディスクドライブ９４５から出力されたストリームをデコーダ９４７に供給する。
【０１９０】
デコーダ９４７は、ストリームの復号化処理を行う。デコーダ９４７は、復号処理化を行うことにより生成された映像データをＯＳＤ部９４８に供給する。また、デコーダ９４７は、復号処理化を行うことにより生成された音声データを出力する。
【０１９１】
ＯＳＤ部９４８は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ９４７から出力された映像データに重畳して出力する。
【０１９２】
制御部９４９には、ユーザインタフェース部９５０が接続されている。ユーザインタフェース部９５０は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部９４９に供給する。
【０１９３】
制御部９４９は、ＣＰＵやメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置９４の起動時などの所定タイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、記録再生装置９４がユーザ操作に応じた動作となるように各部を制御する。
【０１９４】
このように構成された記録再生装置では、エンコーダ９４３に本願の画像処理装置（画像処理方法）の機能が設けられる。したがって、例えば画像記録時の符号化処理において、動きベクトルの大きさに応じてフィルタ特性の切り替えを行うことで、予測画像の品質劣化が生じて圧縮効率の低下を招いてしまうことを抑制できる。また、記録された画像の復号化処理において、符号化処理と同様にフィルタ特性の切り替えを行って予測画像データを生成できることから、正しく復号化処理を行うことができる。
【０１９５】
図２２は、本発明を適用した撮像装置の概略構成を例示している。撮像装置９６は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
【０１９６】
撮像装置９６は、光学ブロック９６１、撮像部９６２、カメラ信号処理部９６３、画像データ処理部９６４、表示部９６５、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、ＯＳＤ部９６９、制御部９７０を有している。また、制御部９７０には、ユーザインタフェース部９７１が接続されている。さらに、画像データ処理部９６４や外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、ＯＳＤ部９６９、制御部９７０等は、バス９７２を介して接続されている。
【０１９７】
光学ブロック９６１は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤまたはＣＭＯＳイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部９６３に供給する。
【０１９８】
カメラ信号処理部９６３は、撮像部９６２から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部９６３は、カメラ信号処理後の画像データを画像データ処理部９６４に供給する。
【０１９９】
画像データ処理部９６４は、カメラ信号処理部９６３から供給された画像データの符号化処理を行う。画像データ処理部９６４は、符号化処理を行うことにより生成された画像圧縮情報を外部インタフェース部９６６やメディアドライブ９６８に供給する。また、画像データ処理部９６４は、外部インタフェース部９６６やメディアドライブ９６８から供給された画像圧縮情報の復号化処理を行う。画像データ処理部９６４は、復号化処理を行うことにより生成された画像データを表示部９６５に供給する。また、画像データ処理部９６４は、カメラ信号処理部９６３から供給された画像データを表示部９６５に供給する処理や、ＯＳＤ部９６９から取得した表示用データを、画像データに重畳させて表示部９６５に供給する。
【０２００】
ＯＳＤ部９６９は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部９６４に出力する。
【０２０１】
外部インタフェース部９６６は、例えば、ＵＳＢ入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部９６６には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部９６６は、ＬＡＮやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部９７０は、例えば、ユーザインタフェース部９７１からの指示にしたがって、メモリ部９６７から画像圧縮情報を読み出し、それを外部インタフェース部９６６から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部９７０は、ネットワークを介して他の装置から供給される画像圧縮情報や画像データを、外部インタフェース部９６６を介して取得し、それを画像データ処理部９６４に供給したりすることができる。
【０２０２】
メディアドライブ９６８で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ＩＣカード等であってもよい。
【０２０３】
また、メディアドライブ９６８と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやＳＳＤ（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０２０４】
制御部９７０は、ＣＰＵやメモリ等を用いて構成されている。メモリは、ＣＰＵにより実行されるプログラムやＣＰＵが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置９６の起動時などの所定タイミングでＣＰＵにより読み出されて実行される。ＣＰＵは、プログラムを実行することで、撮像装置９６がユーザ操作に応じた動作となるように各部を制御する。
【０２０５】
このように構成された撮像装置では、画像データ処理部９６４に本願の画像処理装置（画像処理方法）の機能が設けられる。したがって、撮像画像をメモリ部９６７や記録メディア等に記録する際の符号化処理において、動きベクトルの大きさに応じてフィルタ特性の切り替えを行うことで、予測画像の品質劣化が生じて圧縮効率の低下を招いてしまうことを抑制できる。また、記録された画像の復号化処理において、符号化処理と同様にフィルタ特性の切り替えを行って予測画像データを生成できることから、正しく復号化処理を行うことができる。
【０２０６】
さらに、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０２０７】
この発明の画像処理装置と画像処理方法およびプログラムでは、対象ブロックの参照画像データにおける小数画素精度である画像データが補間フィルタ部で求められる。また補間フィルタ部のフィルタ特性は、対象ブロックの動きベクトルの大きさによって切り替えられる。さらに、動きベクトルに基づき、補間フィルタ部で求めた画像データを用いて動き補償を行い予測画像データが生成される。このため、参照画像データに高域成分が多く含まれている場合、例えば動き量が小さく動きぼけが少ないような場合、フィルタ処理を施さない特性に切り替えられて、予測画像の品質が劣化による圧縮効率の低下を抑制できる。したがって、ブロック単位で符号化を行うことにより得られた画像圧縮情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、または光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号化装置等に適している。
【符号の説明】
【０２０８】
１０・・・画像符号化装置、１１・・・Ａ／Ｄ変換部、１２，５７・・・画面並べ替えバッファ、１３・・・減算部、１４・・・直交変換部、１５・・・量子化部、１６・・・可逆量子化部、１７，５１・・・蓄積バッファ、１８・・・レート制御部、２１，５３・・・逆量子化部、２２，５４・・・逆直交変換部、２３，５５・・・加算部、２４，５６・・・デブロッキングフィルタ、２６，６１・・・フレームメモリ、３１，７１・・・イントラ予測部、３２・・・動き予測・補償部、３３・・・予測画像・最適モード選択部、５０・・・画像復号化装置、５２・・・可逆復号化部、５８・・・Ｄ／Ａ変換部、６２，７３・・・セレクタ、７２・・・動き補償部、８０・・・コンピュータ装置、９０・・・テレビジョン装置、９２・・・携帯電話機、９４・・・記録再生装置、９６・・・撮像装置、３２１・・・動き検出部、３２２・・・モード判定部、３２３，７２２・・・動き補償処理部、３２３１，７２２１・・・補償制御部、３２３１ａ・・・閾値設定部、３２３１ｂ・・・閾値判定部、３２３２，７２２２・・・係数テーブル、３２３３，７２２３・・・フィルタ部、３２４，７２３・・・動きベクトルバッファ、７２１・・・動きベクトル合成部
【図１】
2012104945.tif 000004
【図２】
2012104945.tif 000005
【図３】
2012104945.tif 000006
【図４】
2012104945.tif 000007
【図５】
2012104945.tif 000008
【図６】
2012104945.tif 000009
【図７】
2012104945.tif 000010
【図８】
2012104945.tif 000011
【図９】
2012104945.tif 000012
【図１０】
2012104945.tif 000013
【図１１】
2012104945.tif 000014
【図１２】
2012104945.tif 000015
【図１３】
2012104945.tif 000016
【図１４】
2012104945.tif 000017
【図１５】
2012104945.tif 000018
【図１６】
2012104945.tif 000019
【図１７】
2012104945.tif 000020
【図１８】
2012104945.tif 000021
【図１９】
2012104945.tif 000022
【図２０】
2012104945.tif 000023
【図２１】
2012104945.tif 000024
【図２２】
2012104945.tif 000025