(57)【要約】【課題】  動画像の可逆符号化におけるメモリ帯域の使用を抑制して、消費電力の抑制を可能にする。【解決手段】  第１の入力画像を予測符号化して符号化画像を生成する予測符号化手段と、前記予測符号化手段によって生成された前記符号化画像を局所復号化して局所復号画像を生成する局所復号化手段と、前記入力画像を分割したブロック単位で当該第１の入力画像をメモリに記録する記録制御手段とを有し、前記予測符号化手段は、第２の入力画像が入力された場合に、前記局所復号化手段によって生成された前記局所復号画像を参照画像として前記第２の入力画像を予測符号化する第１のモードと、前記記録制御手段によってメモリに記録された前記第１の入力画像を参照画像として前記第２の入力画像を予測符号化する第２のモードとを有することを特徴とする。【選択図】  図１
2015002371.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力画像を予測符号化して符号化画像を生成する予測符号化手段と、
前記予測符号化手段によって生成された前記符号化画像を局所復号化して局所復号画像を生成する局所復号化手段と、
前記入力画像を分割したブロック単位で当該第１の入力画像をメモリに記録する記録制御手段と
を有し、
前記予測符号化手段は、第２の入力画像が入力された場合に、前記局所復号化手段によって生成された前記局所復号画像を参照画像として前記第２の入力画像を予測符号化する第１のモードと、前記記録制御手段によってメモリに記録された前記第１の入力画像を参照画像として前記第２の入力画像を予測符号化する第２のモードとを有することを特徴とする画像符号化装置。
【請求項２】
前記予測符号化手段は、前記第１の入力画像を非可逆符号化の方式を用いて予測符号化した場合に、前記第２の入力画像を前記第１のモードを用いて予測符号化し、前記第１の入力画像を可逆符号化の方式を用いて予測符号化した場合に、前記第２の入力画像を前記第２のモードを用いて予測符号化することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記予測符号化手段は、前記入力画像と前記参照画像とから予測誤差を算出し、当該予測誤差に周波数変換、及び、量子化を施し、前記符号化画像を生成することを特徴とする請求項１乃至請求項２のいずれか一項に記載の画像符号化装置。
【請求項４】
前記局所復号化手段は、前記符号化画像に逆量子化、及び、逆変換を施して画素を再構成し、再構成された画素から前記局所復号画像を生成することを特徴とする請求項１乃至請求項３のいずれか一項に記載の画像符号化装置。
【請求項５】
前記ブロックは、前記予測符号化手段による予測符号化のブロックを分割したサブブロックであり、
前記予測符号化手段は、当該サブブロック毎に動きベクトル探索を行うことを特徴とする請求項１乃至請求項４のいずれか一項に記載の画像符号化装置。
【請求項６】
さらに、前記予測符号化手段において前記画像を予測符号化するために用いる予測モードとしてイントラ予測符号化及びインター予測符号化を用いた場合の予想符号量に関する評価値をそれぞれ取得する取得手段を有し、
前記予測符号化手段は、前記取得手段によって取得された前記評価値に基づき、前記予想符号量がより小さい予測モードを用いて前記画像を予測符号化することを特徴とする請求項１乃至請求項５のいずれか一項に記載の画像符号化装置。
【請求項７】
前記インター予測符号化を用いて前記画像を予測符号化する場合の予想符号量に関する評価値は、当該画像を非可逆符号化の方式を用いて符号化する場合に第１の重み係数を用いて算出され、当該画像を可逆符号化の方式を用いて符号化する場合に前記第１の重み係数とは異なる第２の重み係数を用いて算出される値であることを特徴とする請求項６に記載の画像符号化装置。
【請求項８】
さらに、前記画像に基づく第１の特徴量と、当該画像をインター予測符号化するために用いる参照画像に基づく第２の特徴量とを比較する比較手段を有し、
前記予測符号化手段は、前記比較手段によって、前記第１の特徴量と前記第２の特徴量とが一致していると判定された場合に符号化対象の画像に対してインター予測符号化を行わず、前記第１の特徴量と前記第２の特徴量とが一致していないと判定された場合に符号化対象の画像に対してインター予測符号化を行うことを特徴とする請求項７に記載の画像符号化装置。
【請求項９】
前記第１の特徴量及び前記第２の特徴量は、ハッシュ値であることを特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
第１の入力画像を予測符号化して符号化画像を生成する予測符号化工程と、
前記予測符号化工程で生成された前記符号化画像を局所復号化して局所復号画像を生成する局所復号化工程と
前記入力画像を分割したブロック単位で当該第１の入力画像をメモリに記録する記録制御工程と
を有し、
前記予測符号化工程は、第２の入力画像が入力された場合に、前記局所復号化工程で生成された前記局所復号画像を参照画像として前記第２の入力画像を予測符号化する第１のモードと、前記記録制御手段によってメモリに記録された前記第１の入力画像を参照画像として前記第２の入力画像を予測符号化する第２のモードとを有することを特徴とする画像符号化方法。
【請求項１１】
コンピュータを、請求項１に記載の画像符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を可逆符号化方式を用いて符号化する画像符号化装置、画像符号化方法及びプログラムに関する。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。
【０００３】
さらに、近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始され、ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。このＪＣＴ−ＶＣでは、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣ）の標準化が進められている（非特許文献１）。
【０００４】
Ｈ．２６４やＨＥＶＣにおいては、符号化効率を向上させるために、画面内予測符号化（以下、イントラ予測）と画面間予測符号化（以下、インター予測）とを利用可能である。イントラ予測は、画面内における画素間の相関を利用する予測符号化である。また、インター予測は、動きベクトルを伴って画面間における画素間の相関を利用する予測符号化である。インター予測においては、符号化のブロック単位で参照する画像から符号化対象の画像への動きの大きさを示す、動きベクトルが探索される。探索された動きベクトルは、対象画像の予測残差と同様に符号化が行われ、画像符号化装置の出力である符号化ストリームの一部として多重化される。
【０００５】
また、Ｈ．２６４のベースプロファイルでは、非可逆符号化方式（ロッシー符号化）が採用されている。そして、Ｈ．２６４のハイプロファイルの一部では可逆符号化方式（ロスレス符号化）も採用されており、非可逆符号化方式と可逆符号化方式の両方が１つのスライス内で共存するように符号化することも可能である。
【０００６】
また、ＨＥＶＣでは、メインプロファイルで、可逆符号化方式及び非可逆符号化方式の採用が見込まれている。
【０００７】
上述した従来の画像符号化は、インター予測において、入力フレームと参照フレームとを用いて動きベクトルを算出する。非可逆符号化方式を用いて符号化を行う場合、参照フレームを復号時の参照フレームと一致させるため、画像符号化装置は、当該装置内部で局所復号化したフレーム（局所復号フレーム）を生成し、当該局所復号フレームを参照フレームとして用いる。一方、可逆符号化方式を用いて符号化を行う場合、入力フレームの画素データと局所復号フレームの画素データとが一致するため、画像符号化装置は、入力フレームを参照フレームとして用いることが考えられる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｉ１００３＿ｄ４．ｄｏｃ  インターネット＜ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９＿Ｇｅｎｅｖａ／ｗｇ１１／＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した画像符号化装置は、可逆符号化方式を用いて符号化を行う場合、入力フレームを符号化する順序に合わせて、フレームメモリに記録する。即ち、画像符号化装置は、当該入力フレームをマクロブロック又は符号化ブロックに分割し、分割されたブロック毎に当該分割されたブロック内の各画素をラスター順序でフレームメモリに記録する。
【００１０】
一方、参照フレームは、符号化対象ブロック毎に読み込む画素が変化する、動きベクトル探索に用いられる。このため、従来の画像符号化装置は、参照フレームをマクロブロック又は符号化ブロックに分割し、当該分割されたブロックをさらにサブブロックに分割し、当該サブブロック内の各画素をラスター順序でフレームメモリに記録する。
【００１１】
上記のように、入力フレームと参照フレームとでは、記録される画素データの記録順序が異なる。このため、入力フレームの画素データと参照フレームの画素データとが一致していても、所望の順序の並び替えた参照フレームを新たにフレームメモリに書きこむ必要がある。即ち、可逆符号化方式においてもメモリ帯域は非可逆符号化と同じだけ必要とされ、動画符号化の消費電力は殆ど変わりがない。
【００１２】
本発明は上記課題を鑑みて提案されたものであり、特に、可逆符号化におけるメモリ帯域の使用の抑制を目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明の画像符号化装置は下記の構成を有する。即ち、第１の入力画像を予測符号化して符号化画像を生成する予測符号化手段と、前記予測符号化手段によって生成された前記符号化画像を局所復号化して局所復号画像を生成する局所復号化手段と、前記入力画像を分割したブロック単位で当該第１の入力画像をメモリに記録する記録制御手段とを有し、前記予測符号化手段は、第２の入力画像が入力された場合に、前記局所復号化手段によって生成された前記局所復号画像を参照画像として前記第２の入力画像を予測符号化する第１のモードと、前記記録制御手段によってメモリに記録された前記第１の入力画像を参照画像として前記第２の入力画像を予測符号化する第２のモードとを有することを特徴する。
【発明の効果】
【００１４】
本発明により、可逆符号化におけるメモリ帯域の増加を抑制することを可能にする。
【図面の簡単な説明】
【００１５】
【図１】実施形態１における符号化部２０８の構成を示す図
【図２】撮像装置２０１の構成を示す図
【図３】実施形態２における符号化部２０８の構成を示す図
【図４】入力フレームの記録順序を示す図
【図５】実施形態３における符号化部２０８の構成を示す図
【図６】動きベクトル探索部５０７の構成を示す図
【図７】入力フレーム及び参照フレームの一例を示す図
【図８】動きベクトル探索範囲を示す図
【発明を実施するための形態】
【００１６】
＜実施形態１＞
本実施形態が産業上利用され得る形態として、画像を符号化する機能を有する画像処理装置について説明する。本実施形態において、デジタルカメラやデジタルカムコーダ等の撮像装置が有する撮像素子から読み出された画像、及び、ネットワークを介して受信した画像を符号化対象の画像とする。
【００１７】
以下、図２を用いて、本実施形態に係る撮像装置２０１を構成する各処理部の概要を説明する。
【００１８】
まず、撮像装置２０１の各処理部が、被写体を撮像した画像を取得するための動作手順を説明する。
【００１９】
ＣＰＵ２０２は、中央処理装置（ＣＰＵ）であり、以下に述べる各処理部を統括的に制御する。ＣＰＵ２０２は、予めユーザが設定したフォーカス、絞り等の撮影情報を光学素子部２０３へ送信する。そして、ユーザから撮影開始指示を受けると、ＣＰＵ２０２は、光学素子部２０３に受光指示を送信し、撮像部２０４に画像取得指示を送信する。
【００２０】
光学素子部２０３は、ＣＰＵ２０２から受信した撮影情報と受光指示に従い、撮影系を制御する。光学素子部２０３は、ＣＰＵ２０２によって指定されたフレームレートで被写体の光情報をセンサ（撮像素子）で受光し、受光した信号を撮像部２０４へ転送する。
【００２１】
撮像部２０４は、光学素子部２０３から転送された信号をＡ／Ｄ変換し、複数のカラー画像（以下、デジタルデータ）を取得する。さらに、撮像部２０４は、取得したデジタルデータを、バス２０５を介してメモリ２０６に送信する。
【００２２】
バス２０５は、各種データの転送経路となるバスである。
【００２３】
上述した一連の撮像処理により、撮像装置２０１は、被写体を撮像した画像を取得することができる。また、上述の処理は、ＣＰＵ２０２がユーザから撮影終了指示を受信するまで継続される。
【００２４】
次に、撮像装置２０１の各処理部が、撮影した画像を符号化したファイルを撮像装置２０１内の記憶媒体２０９に記録するための動作手順を説明する。
【００２５】
まず、ＣＰＵ２０２は、光学素子部２０３の受光、及び、撮像部２０４の画像送信完了を確認した後、画像処理部２０７に画像処理開始の指示を送信する。
【００２６】
画像処理部２０７は、ＣＰＵ２０２から画像処理開始の指示を受信すると、バス２０５を介してメモリ２０６に保持されたデジタルデータを読み出し、現像処理、ホワイトバランス処理、ガンマ処理、ノイズ低減処理等の各種画像処理を施す。さらに、画像処理部２０７は、ブロック変換を施し、ブロック変換処理をされたデジタルデータを再びバス２０５を介してメモリ２０６に送信する。そして、メモリ２０６は、画像処理部２０７から出力されたブロック変換処理後のデジタルデータを記憶保持する。尚、画像処理部２０７におけるブロック変換処理の詳細については、符号化部２０８の詳細と共に後述する。さらに、ＣＰＵ２０２は、符号化部２０８に符号化処理開始指示を送信する。
【００２７】
符号化部２０８は、ＣＰＵ２０２から符号化処理開始指示を受信すると、バス２０５を介してメモリ２０６から画像処理済みのデジタルデータを読み出し、ＨＥＶＣ方式を用いて符号化し、ＨＥＶＣファイルフォーマットに変換する処理を行う。本実施形態における画像符号化装置は、入力された動画像をＨＥＶＣ方式で符号化するが、本発明はこれに限定されず、可逆符号化を行ういかなる画像符号化方式も適用することが可能である。例えば、Ｈ．２６４を用いてももちろん構わない。尚、符号化部２０８の詳細については後述する。次に、符号化部２０８は符号化処理後のファイルを、バス２０５を介して記憶媒体２０９へ送信する。
【００２８】
記憶媒体２０９は、符号化部２０８で符号化されたファイルを記憶する取り外し可能な記憶媒体である。本実施形態において記憶媒体には、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ等を用いることができる。
【００２９】
最後に、通信部２１０は、ＣＰＵ２０２から通信開始の指示を受信すると、バス２０５を介して記憶媒体２０９に記憶されたファイルを読み出し、当該ファイルを外部機器や記憶メディアに送信する。本実施形態における通信部２１０は、記憶媒体２０９に記憶されたファイルをパーソナルコンピュータ（以下、ＰＣ）、プリンター、データ蓄積サーバー等に送信する、又は、外部機器からファイルやプログラムを受信することが可能なインターフェースである。例えば、通信部２１０として、ＵＳＢや無線等のインターフェースが挙げられる。尚、本実施形態における通信部２１０は、記憶媒体２０９からファイルを読み出して送信したが、本発明はこれに限定されるものではない。例えば、符号化部２０８が符号化したファイルをメモリ２０６に記憶保持して、通信部２１０はメモリ２０６から当該ファイルを読み出して送信しても構わない。また、本実施形態において、ＣＰＵ２０２（記録制御手段）がメモリ２０６及び記憶媒体２０９へファイルを記録するための制御を行うが、本発明はこれに限定されない。例えば、撮像装置２０１の外部の処理部（不図示）が記録制御をおこなってもよい。
【００３０】
尚、撮像装置２０１の構成要素は上記以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【００３１】
次に、画像処理部２０７によって処理されたデジタルデータをメモリ２０６で記録する場合における、当該デジタルデータの記録順序について説明する。尚、当該デジタルデータは、符号化部２０８へ入力する入力フレームとなるデータである。従来の画像符号化装置は、入力フレームを、当該入力フレームを符号化する順序に合わせてフレームメモリに記録していた。即ち、入力フレームをマクロブロック又は符号化ブロックに分割した、分割画像内でのラスター順序で、当該入力フレームはフレームメモリに記録されていた。これに対し、本実施形態における画像符号化装置は、入力フレームを参照フレームとして使用可能とするために、当該入力フレームを処理対象ブロック毎に読み込む画素が変化する動きベクトル探索に適した順序でメモリ２０６に記録する。即ち、入力フレームをマクロブロック又は符号化ブロックに分割した、分割画像をさらにサブブロック毎に分割し、サブブロックラスター順序でメモリ２０６に記録する。
【００３２】
以下、図４を用いて、画像処理部２０７によって処理されたデジタルデータのメモリ２０６への記録順序について説明する。
【００３３】
画像処理部２０７によって画像処理を施されたフレームは、図４（Ａ）に示すように符号化ブロック（第１のブロック）毎に分割される。本実施形態において、第１のブロックのサイズ（第１のブロックサイズ）は水平方向６４画素×垂直方向６４画素（本発明の各実施形態では以下、６４×６４画素と表記する。画素数が変化しても同様である。）である。そして、メモリ２０６は、図４（Ａ）の矢印で示すようにフレームの左上から右下にむけて、６４×６４画素の各第１のブロックをラスター順序で記憶する。
【００３４】
さらに、６４×６４画素の各第１のブロックは、図４（Ｂ）に示すように、第２のブロック毎（サブブロック毎）にそれぞれ分割される。本実施形態において、第２のブロックのサイズ（第２のブロックサイズ）は１６×１６画素である。尚、第２のブロックに分割された第１のブロックは、図４（Ｂ）の矢印で示すように第２のブロックのブロックラスター順序で記憶されてもよく、図４（Ｄ）の矢印で示すようにブロック階層順序で記憶されてもよい。また、図４（Ｄ）において、ブロック階層順序は横方向の順序であるが、図４（Ｅ）の矢印で示すようにブロック階層順序を縦方向に変形しても構わない。即ち、本発明において、第１のブロック内のデータは、ブロック単位でメモリ２０６に記憶されればよく、その順序を限定するものではない。さらに、第２のブロック内のデータは、図４（Ｃ）の矢印で示すようにサンプルのラスターの順序で記憶されていればよい。
【００３５】
尚、本実施形態では説明を簡単にするために、第１のブロックサイズを６４×６４画素、第２のブロックサイズを１６×１６画素とした。しかし、第１のブロックは２つ以上の第２のブロックで構成される矩形であればよく、ブロックのサイズはこれらに限定されるものではない。
【００３６】
また、本実施形態において、２つの異なるブロックに段階的に分割したが、本発明はこれに限定されず、３段階以上にブロック分割をしてもよい。即ち、第１のブロックを第２のブロック毎に分割し、さらに第２のブロックを第３のブロックに分割してもよい。
【００３７】
以上、説明したように本実施形態では、符号化モードが可逆符号化の場合、入力フレームの複数のブロックを、予め、動きベクトル探索に適した順序で配置することにより、入力フレームを参照フレームとして使用可能になる。これにより、可逆符号化では、参照フレームとして用いるための局所復号されたフレームを生成し、メモリ２０６に記録する必要がなくなる。
【００３８】
次に、図１を用いて、本実施形態の符号化部２０８の構成について説明する。
【００３９】
符号化部２０８は、クロック供給部１１４、可逆符号化部１１５、予測補償部１１６を備える。
【００４０】
クロック供給部１１４は、撮像装置２０１から入力されたクロックを受信し、可逆符号化部１１５及び予測補償部１１６へのクロックの供給を制御する。例えば、図２のＣＰＵ２０２から取得した符号化モードが可逆符号化である場合、クロック供給部１１４は、可逆符号化部１１５へクロックを供給し、予測補償部１１６へのクロック供給を停止する。一方、ＣＰＵ２０２から取得した符号化モードが非可逆符号化である場合、クロック供給部１１４は、可逆符号化部１１５と予測補償部１１６との両方にクロックを供給する。
【００４１】
可逆符号化部１１５は、メモリ２０６に記憶保持された入力フレームを受信し、当該入力フレームをブロック分割した、符号化対象ブロックを予測符号化し、予測符号化により算出された予測誤差又は周波数係数を算術符号化したビットストリームを出力する。
【００４２】
予測補償部１１６は、可逆符号化部１１５で予測符号化された予測誤差を周波数変換、及び、量子化をすることにより周波数係数（符号化画像）を算出し、当該周波数係数を可逆符号化部１１５へ出力する。さらに、予測補償部１１６は、算出した周波数係数を逆量子化、逆変換することにより再構成画像（局所復号画像）を算出し、当該再構成画像を出力する。
【００４３】
まず、可逆符号化部１１５内の各処理部についての概要を説明する。
【００４４】
イントラ予測部１０１は、入力フレームに対してイントラ予測を行い、イントラ予測の方向（以下、イントラ予測モード）及び予測誤差を出力する。さらに、イントラ予測モード符号化部１０５は、イントラ予測部１０１から出力されたイントラ予測モードを入力し、当該イントラ予測モードを可変長符号化する。
【００４５】
動き探索部１０７は、入力フレームと１つ以上の参照フレームから動きベクトルを取得する。さらに、インター予測部１０６は、動き探索部１０７によって取得された動きベクトルのうち発生する符号量が最も少なくなると推測される動きベクトルを決定し、決定された当該動きベクトルを用いた動き予測により予測誤差を算出し、当該予測誤差を出力する。そして、動きベクトル符号化部１０８は、インター予測部１０６で決定された動きベクトルを符号化し、符号化した動きベクトルを出力する。
【００４６】
予測モード決定部１０２は、イントラ予測部１０１及びインター予測部１０６から入力された各予測誤差に基づいて、符号化対象ブロックの予測モードとしてイントラ予測符号化又はインター予測符号化のいずれを用いるかを決定する。そして、予測モード決定部１０２は、決定した予測モードの予測誤差を出力する。
【００４７】
予測誤差選択部１１７は、ＣＰＵ２０２から取得した符号化モードに基づいて、可逆符号化部１１５の予測モード決定部１０２で算出された予測誤差、又は予測補償部１１６の変換量子化部１０３で算出された周波数係数のいずれかを選択する。そして、予測誤差選択部１１７は、選択された予測誤差又は周波数係数のいずれかを算術符号化部１０４へ出力する。
【００４８】
算術符号化部１０４は、予測誤差選択部１１７から入力された予測誤差又は周波数係数を算術符号化する。さらに、算術符号化部１０４は、予測モード決定部１０２で決定された符号化モードに対応して、イントラ予測モード符号化部１０５から符号化された予測モードを受信する。また、算術符号化部１０４は、予測モードがインター予測の場合は、動きベクトル符号化部１０８から符号化された動きベクトルを受信する。そして、算術符号化部１０４は、予測モード決定部１０２から出力された予測誤差又は周波数係数のいずれかとそれに付随する予測情報とを結合し、ビットストリームとして出力する。尚、符号化モードに付随する予測情報とは、例えば、イントラ予測モード符号化部１０５で符号化されたイントラ予測モードや、動きベクトル符号化部１０８で符号化された動きベクトルである。
【００４９】
次に、予測補償部１１６内の各処理部について概要を説明する。
【００５０】
変換量子化部１０３は、予測モード決定部１０２から受信した予測誤差を周波数変換及び量子化することにより周波数係数を算出し、当該周波数係数（符号化画像）を出力する。尚、本実施形態において、変換量子化部１０３は、離散コサイン変換（ＤＣＴ；Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）等により周波数変換を行うが、本発明は変換技術に限定されない。即ち、周波数変換として、離散ウェーブレット変換（ＤＷＴ；Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）、離散フーリエ変換（ＤＦＴ；Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を含む技術等、他の変換技術を用いても構わない。
【００５１】
予測モード決定部１０２で決定された予測モードがイントラ予測である場合、イントラ補償部１１２は、変換量子化部１０３から出力された周波数係数にイントラ補償（逆量子化及び逆変換）を施すことにより、予測誤差を再構成（局所復号化）する。さらに、イントラ補償部１１２は、再構成した予測誤差（以下、再構成画素）をイントラ予測部１０１へ参照画素として出力する。尚、本実施形態において当該再構成画素群を、再構成画像（局所復号画像）と呼ぶ。
【００５２】
一方、予測モード決定部１０２で決定された予測モードがインター予測である場合、動き補償部１１０は、予測モード決定部１０２から入力した動きベクトルと、変換量子化部１０３から入力した周波数係数とから再構成画素を算出する。尚、本実施形態において動き補償部１１０は予測モード決定部１０２から動きベクトルを入力したが、本発明はこれに限定されない。例えば、予測モード決定部１０２が、変換量子化部１０３へ送信する予測誤差に、ヘッダ情報として動きベクトルを含めることにより、動き補償部１１０が変換量子化部１０３から当該動きベクトルを受信しても構わない。
【００５３】
さらに、ループ内フィルタ部１１１は、ブロック歪みを低減するために、動き補償部１１０で算出された再構成画素をフィルタ処理し、復号フレーム（局所復号画像）を算出する。このようにして、再構成された復号フレームは、参照フレーム（参照画像）として、図２のメモリ２０６へ出力される。上述したように、本実施形態において、変換量子化部１０３から出力された符号化画像から、局所復号画像を生成するまでの一連の処理を局所復号化という。
【００５４】
次に、ＣＰＵ２０２から取得した符号化モードが可逆符号化である場合の可逆符号化部１１５の詳細な動作について説明する。
【００５５】
尚、前述したように、ＣＰＵ２０２から符号化部２０８の符号化モードとして可逆符号化を指示されると、クロック供給部１１４は、可逆符号化部１１５へクロックを供給し、予測補償部１１６へのクロック供給を停止する。このため、符号化モードが可逆符号化の場合、予測補償部１１６にはクロック供給部１１４からクロックが供給されず、予測補償部１１６内の各処理部は駆動しない。即ち、この場合、イントラ補償部１１２、変換量子化部１０３、及び、ループ内フィルタ部１１１からデータが出力されず、予測補償部１１６からメモリ２０６への復号フレームの書き込み処理も行われない。また、メモリ２０６に記録された入力フレームは、符号化ブロック単位である第１のブロックの単位で、ラスター順序で配置されている（図４参照）。また、可逆符号化部１１５は、当該入力フレームのデータをブロック単位でメモリ２０６から受信し、当該入力フレームをブロック単位で符号化する。即ち、可逆符号化部１１５のイントラ予測部１０１、インター予測部１０６、及び、動き探索部１０７はブロック単位で符号化対象ブロックを処理する。
【００５６】
符号化対象のフレームである入力フレーム（入力画像）がＩフレームの場合、可逆符号化部１１５は当該入力フレームに対してイントラ予測を行う。まず、イントラ予測部１０１は、符号化対象ブロックの左、上、左上、及び、右上に隣接する隣接ブロックの画素を用いてイントラ予測を行い、イントラ予測の方向（以下、イントラ予測モード）と予測誤差を出力する。次に、イントラ予測モード符号化部１０５は、イントラ予測部１０１から出力されたイントラ予測モードを入力し、当該イントラ予測モードを可変長符号化する。
【００５７】
一方、入力フレームがＰフレーム又はＢフレームの場合、可逆符号化部１１５は当該入力フレームに対してインター予測を行う。まず、動き探索部１０７は、入力フレームと１つ以上の参照フレームから動きベクトルを取得する。また、動き探索部１０７は、参照フレームの動き探索範囲のデータをメモリ２０６から読み出す。尚、動き探索部１０７によるメモリ２０６からの参照フレームの読み出し順序は後述する。次に、インター予測部１０６は、動き探索部１０７によって取得された動きベクトルのうち、発生する符号量が最も少なくなると推測される動きベクトルを符号化で使用する動きベクトルとして決定する。さらに、インター予測部１０６は、決定された動きベクトルを用いて動き予測を行うことにより予測誤差を算出し、当該予測誤差を出力する。
【００５８】
さらに、予測モード決定部１０２は、イントラ予測部１０１及びインター予測部１０６から入力された予測誤差に基づいて、符号化対象ブロックの符号化モードとしてイントラ予測符号化又はインター予測符号化のいずれかを決定する。そして、予測モード決定部１０２は、決定した符号化モードの予測誤差を出力する。
【００５９】
尚、予測モード決定部１０２は、イントラ予測及びインター予測に対応する評価値をそれぞれ用いて、予測モードとしてイントラ予測又はインター予測のどちらを用いるかを選択してもよい。ここで、各評価値は、各予測モードを用いて予測符号化した場合の予想測させる符号量（予想符号量）に関する情報を示す。そして、予測モード決定部１０２は、各評価値に基づいて、より予想符号量の小さい予測モードを決定する。例えば、各評価値が、イントラ予測を用いて予測符号化した場合の予想符号量より、インター予測を用いて予測符号化した場合の予想符号量が小さいことを示す場合、予測モード決定部１０２は予測モードとしてインター予測を用いることを決定する。
【００６０】
また、一般的に、ＣＰＵ２０２から取得した符号化モードが非可逆符号化の場合、参照フレームを用いたインター予測において符号化歪みが生じるため、イントラ予測ブロックによって、インター予測による符号化歪みをリフレッシュする必要がある。一方、ＣＰＵ２０２から取得した符号化モードが可逆符号化の場合、参照フレームは入力フレームと同一であるため、参照フレームは変換量子化による符号化歪みを含んでいない。このため、参照フレームを用いた動き探索の精度は上がり、イントラ予測ブロックによって、インター予測による符号化歪みのリフレッシュを行う必要性が低下する。以上の理由から、予測モード決定部１０２は、符号化モードが可逆符号化である場合において、イントラ予測又はインター予測のいずれかを選択するために用いる評価値に対し、インター予測がイントラ予測より選択されやすいように重み付けを調整してもよい。
【００６１】
例えば、イントラ予測の評価値を予測誤差の絶対値和（以下、イントラＳＡＤ）とする。そして、インター予測の評価値を式（１）のような予測誤差の絶対値和（以下、インターＳＡＤ）と、動きベクトルとから算出する。
インター予測の評価値＝インターＳＡＤ＋Ｆ（Ｑｐ）ｘ動きベクトル…（１）
式（１）において、Ｑｐは量子化パラメータを示し、Ｆ（Ｑｐ）は量子化パラメータから決定される予想符号量の重みづけ係数とする。
【００６２】
可逆符号化の場合、参照フレームに符号化歪みを含まないため、動きベクトル探索精度が上がる。このため、符号化モードが可逆符号化であって、イントラＳＡＤとインターＳＡＤが近い値である場合、Ｑｐをゼロとし、インター予測の動きベクトルの重みづけ係数Ｆ（Ｑｐ）が小さくなるように設定する。
【００６３】
このように、符号化モードが可逆符号化の場合に、評価値の重みづけ係数を調整することで、予測モードとしてインター予測が決定される確率が向上する。そして、予測モードとしてインター予測を用いることにより、イントラ予測を用いた場合の、フレーム間の動きに起因するちらつきを抑制し、イントラ予測を用いた場合より画質の劣化を抑制することができる。
【００６４】
予測誤差選択部１１７は、ＣＰＵ２０２から取得した符号化モードが可逆符号化であるため、予測モード決定部１０２から入力された予測誤差を算術符号化部１０４へ出力する。
【００６５】
算術符号化部１０４は、予測誤差選択部１１７から入力された予測誤差を算術符号化する。さらに、算術符号化部１０４は、予測モード決定部１０２で決定された符号化モードに対応して、イントラ予測モード符号化部１０５から符号化された予測モードを受信する。また、算術符号化部１０４は、予測モードがインター予測の場合は、動きベクトル符号化部１０８から符号化された動きベクトルを受信する。そして、算術符号化部１０４は、予測モード決定部１０２から出力された予測誤差とそれに付随する予測情報とを結合し、ビットストリームとして出力する。
【００６６】
次に、動き探索部１０７の参照フレームの読み出し順序について説明する。
【００６７】
図７（Ａ）は符号化対象となる入力フレームを示し、図７（Ｂ）が参照フレームを示した図である。
【００６８】
図７（Ａ）に示す入力フレームにおいて、太枠で囲んだ範囲のブロックを符号化対象ブロックとする。このとき、参照フレームにおいて、入力フレームの符号化対象ブロックの位置に対応する位置を基準として、当該対応する位置から上下左右に一定の矩形領域が動きベクトルの探索範囲となる。例えば、図７（Ｂ）において、点線枠で囲まれた範囲が、図７（Ａ）で示した符号化対象ブロックの範囲と同位置になる。そして、図７（Ｂ）の太枠で囲まれた範囲が動きベクトル探索範囲である。
【００６９】
さらに、図８は、参照フレームを符号化する符号化ブロックサイズで、ブロックＡ〜Ｈ、及びＸに分割した場合の動きベクトル探索範囲を示した図である。入力フレームにおける符号化対象ブロックと同位置のブロックＸとし、隣接する上下左右のブロックは図で示すようにブロックＡ〜Ｈとしている。例えば、符号化ブロックサイズを６４×６４画素、動きベクトル探索範囲を３２×３２画素とした場合、符号化対象ブロックに対応する動きベクトル探索範囲はモノトーンで塗りつぶした範囲であり、１２８×１２８画素となる。尚、図８に示すように、ブロックＸを符号化対象ブロックとする場合、各ブロックＡ〜Ｈのそれぞれ一部の画素が動きベクトル探索範囲となる。
【００７０】
前述したように、動き探索部１０７に入力され、参照フレームとして用いられるデータは、図４（Ａ）に示す順序でメモリ２０６に配置される。そこで、例えば、図８において、動きベクトル探索範囲に含まれるブロックＨ（第１のブロック）内の、左上の３２×３２画素のブロック（第２のブロック、斜線領域）を参照するために、動き探索部１０７は当該ブロックをメモリ２０６から読み出す必要がある。
【００７１】
例えば、符号化ブロック（第１のブロック）内の第２のブロックが図４（Ｂ）に示すようにラスター順序で配置されている場合、参照するブロックは、ブロック１、ブロック２、ブロック５、及び、ブロック６となる。そこで、動き探索部１０７は、メモリ２０６に連続して配置されているブロック１〜６の６つブロックを読み出せばよい。また、第１のブロック内の第２のブロックが図４（Ｄ）又は図４（Ｅ）に示すように階層順序で配置されている場合、動き探索部１０７は、ブロック１、ブロック２、ブロック３、及び、ブロック４の４つのブロックをメモリ２０６から読みだせばよい。
【００７２】
動きベクトル探索範囲に含まれるブロックＨ以外のブロックについても、同様の考え方で、参照される第２のブロックを読み出せばよいため、説明を省略する。
【００７３】
次に、ＣＰＵ２０２から取得した符号化モードが非可逆符号化である場合の可逆符号化部１１５と予測補償部１１６の動作について説明する。
【００７４】
前述したように、ＣＰＵ２０２から符号化部２０８の符号化モードとして非可逆符号化を指示されると、クロック供給部１１４は、可逆符号化部１１５と予測補償部１１６の両方へクロックを供給する。そして、符号化部２０８は、可逆符号化部１１５と予測補償部１１６とを共に駆動させ、入力された画像の非可逆符号化ストリームを生成する。符号化部２０８における各処理部の詳細な動作については以下に説明する。
【００７５】
可逆符号化部１１５の予測モード決定部１０２は、可逆符号化の場合と同様に、予測誤差を出力する。
【００７６】
予測補償部１１６の変換量子化部１０３は、予測モード決定部１０２から予測誤差を受信し、符号化対象ブロックを符号化に最適な変換ブロックサイズに分割し、色空間から周波数空間へ変換し、周波数係数を算出する。さらに、変換量子化部１０３は、周波数係数を逆量子化、及び、逆変換を施し、予測誤差を復号する。
【００７７】
イントラ補償部１１２は、変換量子化部１０３で復号された予測誤差を用いて画素を再構成し、再構成された当該画素を後続ブロックの参照画素として可逆符号化部１１５のイントラ予測部１０１に出力する。
【００７８】
符号化モードが非可逆符号化の場合の可逆符号化部１１５の各処理部の動作は、可逆符号化の場合と基本的に同じであるため、説明を省略する。但し、符号化モードが非可逆符号化の場合、可逆符号化部１１５の予測誤差選択部１１７は、予測補償部１１６の変換量子化部１０３から入力された周波数係数を選択し、算術符号化部１０４に出力する点が、可逆符号化の場合と異なる。
【００７９】
以上、説明したように本実施形態では、符号化モードが可逆符号化の場合、入力フレームの複数のブロックを動きベクトル探索に適した順序予め配置することにより、入力フレームの記録順序を変更参照フレームとして使用可能になる。これにより、可逆符号化では、参照フレームとして用いるために符号化部２０８からメモリ２０６へ符号化データを書き込む必要がなくなり、メモリ帯域を削減できる。このため、撮像装置２０１の符号化部２０８における消費電力を抑制することが可能になる。さらに、符号化部２０８の内部を符号化モードに応じてクロック供給及び駆動制御することで、符号化部２０８の消費電力を抑制することが可能になる。
【００８０】
＜実施形態２＞
実施形態１では、符号化部２０８のクロック供給部１１４によって、符号化モードが可逆符号化の場合に予測補償部１１６へのクロックの供給を停止させる画像符号化装置について説明した。本実施形態では、再構成されたフレーム（復号フレーム）のメモリ２０６への書き込みを制御する画像符号化装置について説明する。
【００８１】
図３は本実施形態における符号化部２０８の構成を示した図である。尚、図３において、実施形態１の図１と差異がない部分には同一の符号を付し、説明を省略する。
【００８２】
復号フレーム選択部３０９は、可逆符号化又は非可逆符号化のいずれかを符号化モードとしてＣＰＵ２０２から取得する。符号化モードが非可逆符号化である場合、復号フレーム選択部３０９は、ループ内フィルタ部１１１でフィルタ処理が施された復号フレームをメモリ２０６へ書き込む。一方、符号化モードが可逆符号化である場合、参照フレームとして入力フレームを用いることができるため、復号フレーム選択部３０９は、復号フレームをメモリ２０６へ書き込む必要はない。
【００８３】
以上、説明したように本実施形態では、符号化モードが可逆符号化の場合、符号化部２０８は、参照フレームとして使うための復号フレームのメモリ２０６への書き込みを行わない。即ち、可逆符号化の場合、符号化部２０８からメモリ２０６へのアクセスは参照フレームの読み出しに限定される。この構成により、メモリ２０６のメモリ帯域の使用を抑制し、撮像装置２０１及び符号化部２０８の消費電力を抑制することが可能になる。
【００８４】
＜実施形態３＞
上記実施形態１及び実施形態２において、符号化モードが可逆符号化又は非可逆符号化のどちらの場合でも利用可能な画像符号化装置について説明した。本実施形態では、符号化モードが可逆符号化の場合に利用可能な画像符号化装置について説明する。
【００８５】
本実施形態において、ＣＰＵ２０２が符号化部２０８に符号化開始の指示を送ると、符号化部２０８は、バス２０５を介してメモリ２０６から入力フレームを読みだし、内部処理を施して符号化ストリームを生成する。
【００８６】
以下、本実施形態における符号化部２０８の動作について、図５を用いて説明する。図５に示すように、本実施形態における符号化部２０８は、非可逆符号化を用いず、可逆符号化のみで動画符号化ストリームを生成する構成である。尚、図５において、実施形態１及び実施形態２と同一名称の構成部は、実施形態１及び実施形態２と機能も同一であるため、説明を省略する。
【００８７】
符号化部２０８に入力フレームが入力されると、イントラ予測部５０１、インター予測部５０６、及び、動き探索部５０７がブロック単位で各処理を行う。
【００８８】
入力フレームがＩフレームの場合、イントラ予測部５０１は、入力フレームに対してイントラ予測を行い、イントラ予測モードと予測誤差を算出する。そして、イントラ予測モード符号化部５０５は、イントラ予測部５０１で算出されたイントラ予測モードを可変長符号化し、予測モードの符号を算出する。
【００８９】
一方、入力フレームがＰフレーム又はＢフレームの場合、動き探索部５０７は、入力フレームと１つ以上の参照フレームから動きベクトルを求める。動き探索部１０７は、参照フレームの動きベクトル探索範囲のデータを図２のメモリ２０６から読み出す。尚、動き探索部５０７の詳細については、後述する。
【００９０】
インター予測部５０６は、動き探索部５０７で算出された動きベクトルと探索画像とを用いてインター予測の単位を決定し、予測誤差を算出する。次に、予測モード決定部５０２は、符号化対象ブロックの予測モードとしてイントラ予測又はインター予測のいずれかを選択し、選択された予測モードの予測誤差を出力する。予測モード決定部５０２における予測モードの選択方法については、実施形態１に記載したため、説明を省略する。
【００９１】
算術符号化部５０４は、予測モード決定部５０２から出力された予測誤差を算術符号化する。さらに、算術符号化部５０４は、イントラ予測モード符号化部５０５から出力された予測モードの符号、又は、動きベクトル符号化部５０８から出力された動きベクトルの符号のいずれか一方と、算術符号化した予測誤差とを重畳する。即ち、予測モード決定部５０２で決定された予測モードがイントラ予測の場合、イントラ予測モード符号化部１０５から出力されたイントラ予測の予測モードの符号と、予測モード決定部１０２から出力された予測誤差の算術符号化とを重畳する。一方、インター予測の場合、イントラ予測モード符号化部１０５から出力されたインター予測の予測誤差の算術符号と、動きベクトル符号化部１０８から出力された動きベクトルの符号とを重畳する。
【００９２】
以上の動作により、符号化ストリームが生成される。
【００９３】
尚、本実施形態の符号化部２０８は可逆符号化のみに対応しているため、実施形態１の図１に示す可逆符号化部１１５の予測誤差選択部１１７は不要である。
【００９４】
次に、本実施形態の動き探索部５０７の動作について、図６を用いて説明する。図６は、本実施形態における動き探索部５０７の構成を示す図である。また、本実施形態において動き探索部５０７は、ハッシュ算出部６０１、ハッシュ記憶部６０２、及び、ハッシュ値比較部６０３、動きベクトル探索部６０４を備える。
【００９５】
ハッシュ算出部６０１は入力フレームを受信し、ハッシュ値を算出する。ハッシュ値とは、元のデータから固定長の疑似乱数を生成する、ハッシュ関数や要約関数等の演算手法によって生成され、元データ代表値や特徴量を表すものである。本実施形態においてハッシュ値は、入力フレームの符号化ブロックの画素から、予め定められたメッセージ長で算出された一意な値である。また、本実施形態におけるメッセージ長は、例えば、１６バイトのビット列にする。
【００９６】
ハッシュ記憶部６０２は、ハッシュ算出部６０１で算出されたハッシュ値を記憶保持する。尚、ハッシュ記憶部６０２は、１フレーム内の全符号化ブロックのハッシュ値を保持する。しかしながら、ハッシュ値は前述のように１符号化ブロックにつき１６バイトのみであるため、ハッシュ記憶部６０２が記憶するサイズは１フレームの全符号化ブロックのサイズより小さなサイズである。ハッシュ記憶部６０２に記憶されたハッシュ値は、参照フレームのハッシュ値として後続するフレームの符号化処理で使用する。
【００９７】
ハッシュ値比較部６０３は、ハッシュ記憶部６０２に記憶された参照フレームの、符号化ブロックに対応する位置のブロックのハッシュ値を読み出す。そして、ハッシュ値比較部６０３は、ハッシュ算出部６０１で算出された符号化ブロックのハッシュ値と、ハッシュ記憶部６０２から読みだしたハッシュ値とが一致するか否かを判定する。
【００９８】
ハッシュ値比較部６０３において各ハッシュ値が一致していると判定された場合、符号化ブロックと参照フレームのブロックとが一致することを意味している。このため、動きベクトル探索部６０４は、符号化対象ブロックの予測残差を０、動きベクトルを水平０画素、垂直０画素とする。即ち、ハッシュ値比較部６０３の比較結果が一致の場合、動きベクトル探索部６０４は動きベクトル探索を行わず、メモリ２０６から参照フレームの読み出しも行わない。
【００９９】
一方、ハッシュ値比較部６０３においてハッシュ値が不一致であると判定された場合、動きベクトル探索部６０４は、メモリ２０６から参照フレームを読み出し、動きベクトル探索を行う。
【０１００】
尚、本実施形態において一例として、ハッシュ値を用いた動きベクトル探索の制御方法を説明したが、本発明はこれに限定されない。即ち、予め、予測残差及び動きベクトルが０となるか否かを判定することで、動きベクトル探索の有無を判定できればよく、ハッシュ値を用いた判定に限定されるものではない。例えばハッシュ値の代わりに、符号化対象ブロックの特性情報であるアクティビティ（予測誤差の分散）や人物認識情報等を用いても構わない。また、一般的に使用されているハッシュ関数であるＳＨＡ−２アルゴリズムをはじめとして、いかなるハッシュ値生成アルゴリズムもハッシュ算出部６０１で使用することが可能である。
【０１０１】
また、本実施形態において、一例としてハッシュ値のメッセージ長を１６ビットのビット列にしたが、本発明はこれに限定されずメッセージ長としていかなる長さを使用することも可能である。
【０１０２】
また、動き探索部５０７の構成は、実施形態１及び実施形態２にも適用できる。
【０１０３】
以上、説明したような本実施形態における符号化部２０８の構成では、メモリ２０６への参照フレームの書き込みが発生しない。さらには、ハッシュ値等を用いて予測残差及び動きベクトルが０となるか否かを予め判定することにより、参照フレームの読み出し回数も削減することができる。フレーム間において動きの少ない動画像や定点撮影等、予測残差及び動きベクトルが０となる入力映像では、参照フレームの読み出しをメモリ２０６の読み出し回数を抑制することが可能である。即ち、本実施形態では、メモリ２０６のメモリ帯域の使用を抑制し、撮像装置２０１及び符号化部２０８の消費電力の抑制を可能にする。
【０１０４】
＜その他の実施形態＞
上述した各実施形態において、撮像装置２０１における符号化部２０８が符号化処理を行うものとして説明した。しかしながら、本発明はこれに限定されず、符号化部２０８で行う各処理を画像符号化装置でもって構成してもよい。
【０１０５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015002371.tif 000003
【図２】
2015002371.tif 000004
【図３】
2015002371.tif 000005
【図４】
2015002371.tif 000006
【図５】
2015002371.tif 000007
【図６】
2015002371.tif 000008
【図７】
2015002371.tif 000009
【図８】
2015002371.tif 000010