(57)【特許請求の範囲】
【請求項１】
画像を圧縮して量子化ステップ幅及び量子化された画像データを含む符号化ストリームを送信する符号化装置であって、
参照画像を探索して動きベクトルを検出する動きベクトル検出部と、
原画像から前記動きベクトルに基づく予測画像を差し引いた差分画像を、所定の量子化ステップ幅を用いて圧縮する画像圧縮部と、
前記動きベクトルの参照領域内の量子化ステップ幅を更新する量子化ステップ幅決定部と、を備え、
前記量子化ステップ幅決定部は、所定の条件を満たすまで、前記動きベクトルの参照領域の量子化ステップ幅を更新し、
前記画像圧縮部は、前記原画像を圧縮した後に、前記量子化ステップ幅決定部によって量子化ステップ幅が更新される度に、該更新された量子化ステップ幅を用いて前記参照画像を圧縮し、
前記動きベクトル検出部は、前記画像圧縮部によって前記参照画像が圧縮される度に、該圧縮された参照画像を復号した画像を参照して動きベクトルを検出する
ことを特徴とする符号化装置。
【請求項２】
前記所定の条件は、前記動きベクトルの検出回数が所定回数以上であるという条件か、又は前記反復して検出された動きベクトルの参照領域が直前に検出された動きベクトルの参照領域に含まれるという条件であることを特徴とする、請求項１に記載の符号化装置。
【請求項３】
前記量子化ステップ幅決定部は、前記動きベクトルの参照領域の量子化ステップ幅を元の値よりも小さな値に更新することを特徴とする、請求項１又は２に記載の符号化装置。
【請求項４】
量子化ステップ幅及び量子化された画像データを含む符号化ストリームを受信して画像を復号する復号装置であって、
前記符号化ストリームから量子化ステップ幅を取得し、該量子化ステップ幅を用いて、前記量子化された画像データから画像を復号する画像復号部と、
前記量子化ステップ幅の大きさを判定し、該判定結果に基づいて動きベクトル探索範囲を決定する量子化ステップ幅判定部と、
参照画像における前記動きベクトル探索範囲内を探索して動きベクトルを検出する動きベクトル検出部と、
を備えることを特徴とする復号装置。
【請求項５】
前記量子化ステップ幅判定部は、量子化ステップ幅が所定の閾値より小さいか否かを判定し、量子化ステップ幅が所定の閾値より小さい領域を前記動きベクトル探索範囲と決定することを特徴とする、請求項４に記載の復号装置。
【請求項６】
前記量子化ステップ幅判定部は、前記動きベクトル探索範囲のフレーム全体に締める割合が所定の閾値を超えるまで、前記量子化ステップ幅の小さい領域から順に前記動きベクトル探索範囲と決定することを特徴とする、請求項４に記載の復号装置。
【請求項７】
画像を圧縮して量子化ステップ幅及び量子化された画像データを含む符号化ストリームを送信する符号化装置として機能するコンピュータに、
（ａ）参照画像を探索して動きベクトルを検出するステップと、
（ｂ）原画像から前記動きベクトルに基づく予測画像を差し引いた差分画像を、所定の量子化ステップ幅を用いて圧縮するステップと、
（ｃ）所定の条件を満たすまで、前記動きベクトルの参照領域内の量子化ステップ幅を更新するステップと、
（ｄ）前記ステップ（ａ）の後に、前記ステップ（ｃ）によって量子化ステップ幅が更新される度に、該更新された量子化ステップ幅を用いて前記参照画像を圧縮するステップと、
（ｅ）前記ステップ（ｄ）によって前記参照画像が圧縮される度に、該圧縮された参照画像を復号した画像を参照して動きベクトルを検出するステップと、
を実行させるためのプログラム。
【請求項８】
量子化ステップ幅及び量子化された画像データを含む符号化ストリームを受信して画像を復号する復号装置として機能するコンピュータに、
（ａ）前記符号化ストリームから量子化ステップ幅を取得し、該量子化ステップ幅を用いて、前記量子化された画像データから画像を復号するステップと、
（ｂ）前記量子化ステップ幅の大きさを判定し、該判定結果に基づいて動きベクトル探索範囲を決定するステップと、
（ｃ）参照画像における前記動きベクトル探索範囲内を探索して動きベクトルを検出するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル探索範囲を適応的に制限する、符号化装置、復号装置及びプログラムに関する。
【背景技術】
【０００２】
動きベクトル検出は、映像の符号化や動き補償内挿による高フレームレート化処理などで用いられる要素技術の１つであり、符号化対象ブロックと類似する（相関の高い）ブロックを、符号化対象ブロックの属するフレーム（符号化対象フレーム）と異なるフレームを参照して検出する技術である。また、フラクタル符号化等では、符号化対象ブロックと類似するブロックを符号化対象フレームと同一又は異なるフレームを参照して検出する。一般的には、符号化対象ブロックと類似したブロックを符号化対象フレームと異なるフレームを参照して検出することを動きベクトル検出と称し、符号化対象フレームを参照して検出する場合には、テンプレートマッチングやパターンマッチングという用語が用いられることが多い。本明細書では、参照するフレームが符号化対象フレームと同一である場合も異なる場合も、動きベクトル検出という用語を用いる。
【０００３】
また、動きベクトル検出は演算コストの大きい処理であるため、動きベクトル探索範囲をなるべく制限することにより処理を軽減することが望ましい。しかし、動きベクトル探索範囲を一律固定的に制限すると、正しい動きベクトルが探索範囲内に含まれない場合が生じる。そこで、例えば、過去に検出した動きベクトルの大きさを判定し、大きな動きでは動きベクトル探索範囲を広くし、小さな動きでは動きベクトル探索範囲を狭くする動きベクトル検出装置が知られている（特許文献１参照）。また、フレーム間動きベクトル検出において、同位置の相関が高くなるに従って動きベクトル探索範囲を縮小する動きベクトル検出装置が知られている（特許文献２参照）。また、前フレームの動きベクトルの絶対値の合計値と前フレームの予測誤差の合計値とに基づいて、次フレームの動きベクトル探索範囲を決定する動画像符号化装置が知られている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４５５４号公報
【特許文献２】特開平８−３２９６９号公報
【特許文献３】特開２００５−２４４５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１から３に記載の動きベクトル探索範囲を適応的に制限する従来の動きベクトル検出方法では、動きベクトルの時間的な相関を利用するため、符号化対象フレームを参照して動きベクトル検出を行う符号化方式には適用できないという問題があった。
【０００６】
また、特許文献１に記載の技法では、過去の動きベクトルに誤検出や、物体の動く速度が変化すると、正しい動きベクトル探索範囲を設定できないという問題があり、特許文献２に記載の技法では、同位置の相関の大きさはノイズの影響や物体境界の影響を受けるため、正しい動きベクトル探索範囲が求まらない場合があるという問題があった。
【０００７】
本発明の目的は、上記問題を解決するため、符号化対象フレームを参照して動きベクトル検出を行う符号化方式にも適用でき、かつ、動きベクトル探索範囲を適応的に制限する、符号化装置、復号装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
画像符号化、映像符号化ではブロック毎に量子化ステップ幅を変更することが可能である。また、動きベクトルはフレーム内の全ての領域を指し示すものではない。このことを利用して上記課題を解決すべく、符号化装置では、動きベクトルが参照する領域の量子化ステップ幅を変更する。復号装置では量子化ステップ幅の変更された領域のみを動きベクトル探索範囲に制限する。
【０００９】
すなわち、上記課題を解決するため、本発明に係る符号化装置は、画像を圧縮して量子化ステップ幅及び量子化された画像データを含む符号化ストリームを送信する符号化装置であって、参照画像を探索して動きベクトルを検出する動きベクトル検出部と、原画像から前記動きベクトルに基づく予測画像を差し引いた差分画像を、所定の量子化ステップ幅を用いて圧縮する画像圧縮部と、前記動きベクトルの参照領域内の量子化ステップ幅を更新する量子化ステップ幅決定部と、を備え、前記量子化ステップ幅決定部は、所定の条件を満たすまで、前記動きベクトルの参照領域の量子化ステップ幅を更新し、前記画像圧縮部は、前記原画像を圧縮した後に、前記量子化ステップ幅決定部によって量子化ステップ幅が更新される度に、該更新された量子化ステップ幅を用いて前記参照画像を圧縮し、前記動きベクトル検出部は、前記画像圧縮部によって前記参照画像が圧縮される度に、該圧縮された参照画像を復号した画像を参照して動きベクトルを検出する。
【００１０】
さらに、本発明に係る符号化装置において、前記所定の条件は、前記動きベクトルの検出回数が所定回数以上であるという条件か、又は前記反復して検出された動きベクトルの参照領域が直前に検出された動きベクトルの参照領域に含まれるという条件であることを特徴とする。
【００１１】
さらに、本発明に係る符号化装置において、前記量子化ステップ幅決定部は、前記更新された動きベクトルの参照領域の量子化ステップ幅を元の値よりも小さな値に更新することを特徴とする。
【００１２】
また、上記課題を解決するため、本発明に係る復号装置は、量子化ステップ幅及び量子化された画像データを含む符号化ストリームを受信して画像を復号する復号装置であって、前記符号化ストリームから量子化ステップ幅を取得し、該量子化ステップ幅を用いて、前記量子化された画像データから画像を復号する画像復号部と、前記量子化ステップ幅の大きさを判定し、該判定結果に基づいて動きベクトル探索範囲を決定する量子化ステップ幅判定部と、参照画像における前記動きベクトル探索範囲内を探索して動きベクトルを検出する動きベクトル検出部とを備え、量子化ステップ幅が変更された領域のみを動きベクトル探索範囲とすることを特徴とする。
【００１３】
さらに、本発明に係る復号装置において、前記量子化ステップ幅判定部は、量子化ステップ幅が所定の閾値より小さいか否かを判定し、量子化ステップ幅が所定の閾値より小さい領域を前記動きベクトル探索範囲と決定することを特徴とする。
【００１４】
さらに、本発明に係る復号装置において、前記量子化ステップ幅判定部は、前記動きベクトル探索範囲のフレーム全体に締める割合が所定の閾値を超えるまで、前記量子化ステップ幅の小さい領域から順に前記動きベクトル探索範囲と決定することを特徴とする。
【００１５】
また、本発明は、画像を圧縮して量子化ステップ幅及び量子化された画像データを含む符号化ストリームを送信する符号化装置として機能するコンピュータに、（ａ）参照画像を探索して動きベクトルを検出するステップと、（ｂ）原画像から前記動きベクトルに基づく予測画像を差し引いた差分画像を、所定の量子化ステップ幅を用いて圧縮するステップと、（ｃ）所定の条件を満たすまで、前記動きベクトルの参照領域内の量子化ステップ幅を更新するステップと、（ｄ）前記ステップ（ａ）の後に、前記ステップ（ｃ）によって量子化ステップ幅が更新される度に、該更新された量子化ステップ幅を用いて前記参照画像を圧縮するステップと、（ｅ）前記ステップ（ｄ）によって前記参照画像が圧縮される度に、該圧縮された参照画像を復号した画像を参照して動きベクトルを検出するステップと、を実行させるためのプログラムとしても特徴付けられる。
【００１６】
また、本発明は、量子化ステップ幅及び量子化された画像データを含む符号化ストリームを受信して画像を復号する復号装置として機能するコンピュータに、（ａ）前記符号化ストリームから量子化ステップ幅を取得し、該量子化ステップ幅を用いて、前記量子化された画像データから画像を復号するステップと、（ｂ）前記量子化ステップ幅の大きさを判定し、該判定結果に基づいて動きベクトル探索範囲を決定するステップと、（ｃ）参照画像における前記動きベクトル探索範囲内を探索して動きベクトルを検出するステップと、を実行させるためのプログラムとしても特徴付けられる。
【発明の効果】
【００１７】
本発明によれば、符号化装置は、動きベクトルによって参照された領域の量子化ステップ幅を変更することで、復号装置に対して動きベクトル探索範囲を指示することが可能となる。量子化ステップ幅は全てのフレームの各ブロックに設定されるものであるため、フレーム毎に適切な動きベクトル探索範囲を適応的に指示することができる。
【００１８】
本発明によれば、復号装置は、量子化ステップ幅が変更された領域のみを動きベクトル探索範囲とすればよいため、動きベクトル検出の演算コストを小さくすることができる。
【００１９】
本発明によれば、動きベクトル探索範囲の指示に量子化ステップ幅のみを利用するため、符号化対象フレームを参照して動きベクトルを検出する符号化方式にも適用することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明による一実施例の符号化装置の構成を示すブロック図である。
【図２】本発明による一実施例の符号化装置の動作を示すフローチャートである。
【図３】本発明による一実施例の符号化装置の量子化ステップ幅を説明する図である。
【図４】本発明による一実施例の符号化装置の動作を説明する図である。
【図５】本発明による一実施例の復号装置の構成を示すブロック図である。
【図６】本発明による一実施例の復号装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００２２】
[符号化装置]
図１は、本発明による一実施例の符号化装置の構成を示すブロック図である。符号化装置１は、減算部１０と、画像圧縮部１１と、画像復号部１２と、加算部１３と、復号画像記憶部１４と、動きベクトル検出部１５と、動き補償部１６と、量子化ステップ幅決定部１７と、探索範囲記憶部１８と、可変長符号化部１９とを備える。
【００２３】
減算部１０は、入力される原画像と、動き補償部１６から入力される予測画像との差分画像を生成して画像圧縮部１１に出力する。
【００２４】
画像圧縮部１１は、減算部１０から入力される差分画像に対して所定のサイズ（例えば、１６×１６画素や８×８画素）のブロックごとに直交変換（例えば、ＤＣＴ；Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理を施し、直交変換係数を生成する。そして、直交変換係数に対して、量子化ステップ幅決定部１７から入力される量子化ステップ幅を用いて量子化処理を施し、差分画像の圧縮情報（量子化された直交変換係数）を生成し、画像復号部１２及び可変長符号化部１９に出力する。
【００２５】
画像復号部１２は、画像圧縮部１１から入力される量子化された直交変換係数に対して逆量子化処理を施す。そして、逆量子化された直交変換係数に対して逆直交変換（例えば、ＩＤＣＴ；Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を施して差分画像の復号画像を生成し、加算部１３に出力する。
【００２６】
加算部１３は、画像復号部１２から入力される差分画像の復号画像と、動き補償部１６から入力される予測画像とを加算して原画像の復号画像を生成し、復号画像記憶部１４に出力する。
【００２７】
復号画像記憶部１４は、加算部１３から入力される復号画像を記憶する。
【００２８】
動きベクトル検出部１５は、復号画像記憶部１４に記憶された参照画像（復号画像）を動きベクトル検出対象として、探索範囲記憶部１８に記憶された動きベクトル探索範囲内を探索して、各符号化対象ブロックの動きベクトルを検出する。
【００２９】
動き補償部１６は、復号画像記憶部１４から入力される参照画像に対して、動きベクトル検出部１５から入力される動きベクトルを用いて動き補償を行い、その結果得られた予測画像を、減算部１０及び加算部１３に出力する。
【００３０】
量子化ステップ幅決定部１７は、動きベクトル検出部１５から入力される動きベクトルに基づいて、量子化ステップ幅を更新し、更新した量子化ステップ幅を画像圧縮部１１に出力する。また、量子化ステップ幅決定部１７は、動きベクトル検出部１５から入力される動きベクトルに基づいて、動きベクトル探索範囲も更新するようにしてもよい。この場合には、更新した動きベクトル探索範囲を探索範囲記憶部１８に出力する。動きベクトル探索範囲を更新し、動きベクトル探索範囲をフレーム全体よりも狭くすることにより、動きベクトル検出部１５の処理スピードを向上させることができる。
【００３１】
探索範囲記憶部１８は、量子化ステップ幅決定部１７から入力される動きベクトル探索範囲を記憶する。なお、量子化ステップ幅決定部１７が動きベクトル探索範囲を更新せず、例えば、常にフレーム全体を動きベクトル探索範囲とする場合には、探索範囲記憶部１８を備える必要はない。
【００３２】
可変長符号化部１９は、画像圧縮部１１から入力される差分画像の圧縮情報（量子化された直交変換係数）及び量子化ステップ幅決定部１７によって更新された量子化ステップ幅について、可変長符号化処理を施して符号化ストリームを生成し、外部に出力する。なお、本実施例の符号化装置１は、後述するように復号装置側でも動きベクトルを検出することを想定しているため、動きベクトル検出部１５で検出した動きベクトルを伝送する必要はなく、これにより、伝送量を削減して符号化効率を向上させることができる。
【００３３】
次に、このように構成される符号化装置１の動作について、図２を参照して説明する。図２は、符号化装置１の動作を示すフローチャートである。
【００３４】
ステップＳ１０１にて、量子化ステップ幅決定部１７により、量子化ステップ幅及び動きベクトル探索範囲を決定する。量子化ステップ幅の初期値は、フレーム内で一様な値であり、動きベクトルの探索範囲の初期値はフレーム全体である。なお、上述したように、動きベクトルの探索範囲は常にフレーム全体としてもよい。
【００３５】
ステップＳ１０２にて、動きベクトル検出部１５により、復号画像記憶部１４から参照画像を読み出し、参照画像に対して、探索範囲記憶部１８に記憶された動きベクトル探索範囲を設定し、動きベクトルを検出する。
【００３６】
ステップＳ１０３にて、動き補償部１６により、ステップＳ１０５にて検出された動きベクトルを用いて動き補償を行い、予測画像を生成する。
【００３７】
ステップＳ１０４にて、減算部１０により、入力される原画像と、動き補償部１６から入力される予測画像との差分画像を生成する。
【００３８】
ステップＳ１０５にて、画像圧縮部１１により、ステップＳ１０１にて生成された差分画像に対して直交変換処理及び量子化処理を施し、差分画像の圧縮情報（量子化された直交変換係数）を生成する。
【００３９】
ステップＳ１０６にて、画像復号部１２により、ステップＳ１０２にて生成された量子化された直交変換係数に対して逆量子化処理及び逆直交変換処理を施し、差分画像の復号画像を生成する。
【００４０】
ステップＳ１０７にて、加算部１３により、ステップＳ１０３にて生成された予測画像と、ステップＳ１０６にて生成された差分画像の復号画像とを加算して、原画像の復号画像を生成する。
【００４１】
ステップＳ１０８にて、量子化ステップ幅決定部１７又は制御部（図示せず）により、反復処理の回数が予め定めた回数に達しているか否か、又は動きベクトル検出時に参照された領域（以下、動きベクトル参照領域という）が収束したか否かを判定する。判定結果がＹｅｓであった場合には処理をステップＳ１０９に進め、判定結果がＮｏであった場合にはステップＳ１０１からステップＳ１０７の処理を反復して行う。
【００４２】
反復処理を行う場合、量子化ステップ幅決定部１７は、動きベクトル参照領域を新たな動きベクトル探索範囲とし、探索範囲記憶部１８に出力する。また、量子化ステップ幅決定部１７は、復号側で、動きベクトル参照領域を動きベクトルによって参照されなかった領域と識別可能なように、各ブロックの量子化ステップ幅の値を更新する。そして、符号化装置１は、量子化ステップ幅決定部１７によって更新された量子化ステップ幅を用いて、参照画像を圧縮する処理を反復して行う。量子化ステップ幅決定部１７は、所定の条件を満たすまで、量子化ステップ幅を更新する。ここで、所定の条件とは、例えば、反復処理の回数が所定回数以上であるという条件か、又は前記反復して検出された動きベクトルの参照領域が直前に検出された動きベクトルの参照領域に含まれる（動きベクトルの参照領域が収束する）という条件である。
【００４３】
ステップＳ１０９にて、可変長符号化部１９により、ステップＳ１０５にて生成された圧縮情報を符号化して符号化ストリームを生成する。
【００４４】
図３は、符号化装置１の量子化ステップ幅を説明する図である。符号化装置１は所定サイズ（例えば、１６×１６画素や８×８画素）のブロック単位で処理を行う。図３は、複数のブロックに分割されたフレームを示している。図３（ａ）に示すように、量子化ステップ幅決定部１７は、初期値として１フレームの領域Ａ内の全てのブロックに対して同一の量子化ステップ幅を決定する。図３（ａ）では、量子化ステップ幅の初期値は５０である。なお、符号化方式によっては、量子化処理を行うブロックと、動き補償処理を行うブロックのサイズが異なる場合があるが、本発明における量子化ステップ幅を変更するブロックは、量子化処理を行うブロックのことを指す。
【００４５】
なお、量子化ステップ幅決定部１７が決定する値は、量子化ステップ幅そのものに限定されるものではなく、量子化ステップ幅を表現可能な情報であればよい。例えば、予め複数種類の量子化ステップ幅を規定しておき、その中のいずれの種類の量子化ステップ幅であるかを示す情報としてもよい。
【００４６】
符号化装置１は、入力される１フレームの原画像に対して、初期値の量子化ステップ幅を用いて１回目の圧縮処理を行う。動きベクトル検出部１５は、１回目の動きベクトル検出を行い、量子化ステップ幅決定部１７は、１回目の動きベクトル検出時に参照された動きベクトル参照領域Ｂを決定する。そして、量子化ステップ幅決定部１７は、復号側で、動きベクトル参照領域を動きベクトルによって参照されなかった領域と識別可能なように、各ブロックの量子化ステップ幅を更新する。図３（ｂ）では、動きベクトル参照領域Ｂは太枠で示されており、動きベクトル参照領域Ｂ内の各ブロックの量子化ステップ幅が５０から４０に変更された様子を示している。
【００４７】
復号画像を参照して動きベクトル検出を行う場合には、復号画像の符号化劣化が小さい方が動きベクトルの検出精度は向上する。符号化劣化は、量子化ステップ幅が小さい程低減する。そのため、量子化ステップ幅決定部１７は、新たな動きベクトル探索範囲内の量子化ステップ幅を元の値よりも小さな値に変更するのが好適である。
【００４８】
符号化装置１は、同一の１フレームの参照画像に対して、図３（ｂ）に示す更新された量子化ステップ幅を用いて、２回目の圧縮処理を行う。動きベクトル検出部１５は、２回目の動きベクトル検出を行い、量子化ステップ幅決定部１７は、２回目の動きベクトル検出時に参照された動きベクトル参照領域Ｃを決定する。図３（ｃ）（ｄ）では、動きベクトル参照領域Ｃは斜線で示されている。図３（ｃ）の例では、動きベクトル参照領域Ｃは動きベクトル参照領域Ｂに含まれる領域であるため、動きベクトル参照領域は収束したものとし、量子化ステップ幅決定部１７は、動きベクトルの参照領域の量子化ステップ幅の更新を終了する。
【００４９】
一方、図３（ｄ）の例では、動きベクトル参照領域Ｃは動きベクトル参照領域Ｂに含まれない領域であるため、量子化ステップ幅決定部１７は、動きベクトルの参照領域の量子化ステップ幅を更新する。図３（ｄ）では、動きベクトル参照領域Ｃ内の各ブロックの量子化ステップ幅が３０に変更された様子を示している。なお、量子化ステップ幅を初期値から大きく変動させるとビットレートに与える影響が大きくなる。そのため、図３（ｅ）に示すように、新たに更新した動きベクトル参照領域Ｃ内の量子化ステップ幅のみ４０とし、他を初期値と同じ５０としてもよい。
【００５０】
なお、図３（ｂ）〜（ｅ）には、動きベクトル参照領域Ｂ，Ｃは単一の領域として示されているが、動きベクトル参照領域は複数の領域であってもよく、また、間欠部分が存在する領域であってもよい。また、動きベクトル検出部１５は、最初は動きベクトル探索範囲内を粗く探索し、動きベクトル探索範囲が狭くなるにつれて細かく探索するようにしてもよい。
【００５１】
符号化装置１は、符号化対象フレームを参照して動き補償を行うことも、符号化対象フレームと異なるフレームを参照して動き補償を行うこともできる。図４（ａ）は、符号化対象フレームを参照して動き補償を行う場合の符号化装置１の動作を説明する図であり、図４（ｂ）は、符号化対象フレームと異なるフレームを参照して動き補償を行う場合の符号化装置１の動作を説明する図である。
【００５２】
図４（ａ）に示すように、符号化対象フレーム１を参照して動き補償を行う場合、まず、符号化対象フレーム１について、検出部１５により、符号化対象フレーム１全体を動きベクトルの探索範囲として動きベクトルａを検出し、画像圧縮部１１により、符号化対象フレーム１全体で同一の値（図３の例では５０）を用いて符号化対象フレーム１を圧縮する。次に、画像圧縮部１１により、動きベクトルａ検出時に参照された動きベクトル参照領域Ｂの量子化ステップを変更して（図３の例では４０）、参照画像である符号化対象フレーム１に対して再度圧縮を行う。
【００５３】
ここで、動きベクトル参照領域Ｂの量子化ステップ幅を変更して圧縮したことにより、画像復号部１２による復号画像は当初の復号画像に比べて変化している。よって、この場合の動きベクトル参照領域が動きベクトル参照領域Ｂ内に含まれる領域となるかを確認するために、動きベクトル検出部１５により、符号化対象フレーム１全体を動きベクトルの探索範囲として、画像復号部１２による復号画像に対し、動きベクトルｂの検出を行う。ただし、復号画像が変化していない領域を参照しているブロックについては、動きベクトルを検出し直す必要はない。
【００５４】
動きベクトルｂの検出時に参照された動きベクトル参照領域Ｃが、動きベクトル参照領域Ｂに含まれる場合には、符号化対象フレーム１の圧縮符号化処理を終了する。一方、動きベクトル参照領域Ｃが動きベクトル参照領域Ｂに含まれない場合には、動きベクトル参照領域Ｃの量子化ステップを変更して、符号化対象フレーム１に対して再度圧縮を行い、その後、同様に動きベクトル検出部１５により、符号化対象フレーム１全体を動きベクトルの探索範囲として、画像復号部１２による復号画像に対し、動きベクトルｃの検出を行う。このようにして、反復処理の数が予め定めた回数に達しているか、又は動きベクトル探索範囲が収束するまで、当該処理を繰り返し行う。
【００５５】
図４（ｂ）に示すように、符号化対象フレーム１と異なる復号済みフレームを参照して動き補償を行う場合、まず、符号化対象フレーム１について、検出部１５により、復号済みフレーム２全体を動きベクトルの探索範囲として動きベクトルａを検出し、画像圧縮部１１により、符号化対象フレーム１全体で同一の値（図３の例では５０）を用いて符号化対象フレーム１を圧縮する。次に、画像圧縮部１１により、動きベクトルａ検出時に参照された動きベクトル参照領域Ｂの量子化ステップを変更して（図３の例では４０）、参照画像である復号済みフレーム２に対して圧縮を行う。
【００５６】
ここで、動きベクトル参照領域Ｂの量子化ステップ幅を変更して圧縮したことにより、画像復号部１２による復号画像は当初の復号画像に比べて変化している。よって、この場合の動きベクトル参照領域が動きベクトル参照領域Ｂ内に含まれる領域となるかを確認するために、動きベクトル検出部１５により、復号済みフレーム２全体を動きベクトルの探索範囲として、画像復号部１２による復号画像に対し、動きベクトルｂの検出を行う。ただし、復号画像が変化していない領域を参照しているブロックについては、動きベクトルを検出し直す必要はない。
【００５７】
動きベクトルｂの検出時に参照された動きベクトル参照領域Ｃが、動きベクトル参照領域Ｂに含まれる場合には、復号済みフレーム２の圧縮符号化処理を終了する。一方、動きベクトル参照領域Ｃが動きベクトル参照領域Ｂに含まれない場合には、動きベクトル参照領域Ｃの量子化ステップを変更して、復号済みフレーム２に対して再度圧縮を行い、その後、同様に動きベクトル検出部１５により、復号済みフレーム２全体を動きベクトルの探索範囲として、画像復号部１２による復号画像に対し、動きベクトルｃの検出を行う。このようにして、反復処理の数が予め定めた回数に達しているか、又は動きベクトル探索範囲が収束するまで、当該処理を繰り返し行う。
【００５８】
符号化装置１は、このようにして、２回以上の圧縮処理を行い、量子化ステップ幅を更新することにより、復号側における動きベクトル探索範囲を制限する。なお、可能性は非常に低いが、仮に動きベクトルの参照先が参照画像のフレームの全領域を埋め尽した場合には、フレーム全体を探索対象としなければ適切な動きベクトルが見付からないため、動きベクトル探索範囲を制限することができない。よって、このような場合には、例外的に、量子化ステップ幅をフレーム内の全領域で一定とする。
【００５９】
また、本発明は、他の動きベクトル探索範囲の制限方法との組合せも容易である。例えば、他の方法で設定された動きベクトル探索範囲を動きベクトル探索範囲の初期値として上記反復処理を行う、あるいは、他の動きベクトル探索範囲の制限方法と本発明による動きベクトル参照領域を求め、両方に含まれる領域を復号側における最終的な動きベクトル探索範囲と決定することも可能である。
【００６０】
一般に、動きベクトルの参照先はフレーム内の全ての領域を指し示すことはなく、参照されない領域が存在する。よって、符号化装置１は、復号側における動きベクトル探索範囲を、符号化装置１の動きベクトル参照領域内に適応的に制限することができる。
【００６１】
[復号装置]
次に、本発明による一実施例の復号装置について説明する。図５は、本発明による一実施例の復号装置の構成を示すブロック図である。復号装置２は、可変長復号部２１と、画像復号部２２と、加算部２３と、復号画像記憶部２４と、動きベクトル検出部２５と、動き補償部２６と、量子化ステップ幅判定部２７と、探索範囲記憶部２８とを備える。
【００６２】
可変長復号部２１は、符号化装置１から符号化ストリームを受信する。符号化装置１から入力される符号化ストリームには、差分画像の圧縮情報（量子化された直交変換係数）、及び量子化ステップ幅が含まれる。可変長復号部２１は、入力される符号化ビットストリームに可変長復号処理を施し、差分画像の圧縮情報、及び量子化ステップ幅を取得する。そして、差分画像の圧縮情報を画像復号部２２に出力し、量子化ステップ幅を画像復号部２２及び量子化ステップ幅判定部２７に出力する。
【００６３】
画像復号部２２は、可変長復号部２１から入力される量子化ステップ幅を用いて、可変長復号部２１から入力される差分画像の圧縮情報に対して逆量子化処理を施す。そして、逆量子化処理された直交変換係数に対して逆直交変換処理を施し、差分画像の復号画像を生成し、加算部２３に出力する。
【００６４】
加算部２３は、画像復号部２２から入力される差分画像の復号画像と、動き補償部２６から入力される予測画像とを加算して原画像の復号画像を生成し、復号画像記憶部２４及び外部に出力する。
【００６５】
復号画像記憶部２４は、加算部２３から入力される復号画像を記憶する。
【００６６】
動きベクトル検出部２５は、復号画像記憶部２４に記憶された参照画像（復号画像）を動きベクトル検出対象として、探索範囲記憶部２８に記憶された動きベクトル探索範囲を探索して動きベクトルを検出する。なお、動きベクトル検出方法には、ブロックマッチング法、勾配法、位相相関法、これらの高速化手法など数多くの方法があるが、符号化側と同じ動きベクトルを得るために、符号化側で用いる動きベクトル検出方法と同じ検出方法を用いる。
【００６７】
動き補償部２６は、復号画像記憶部２４から入力される参照画像に対して、動きベクトル検出部２５から入力される動きベクトルを用いて動き補償を行い、その結果得られた予測画像を加算部２３に出力する。
【００６８】
量子化ステップ幅判定部２７は、可変長復号部２１から入力される量子化ステップ幅の大きさを判定し、量子化ステップ幅から動きベクトル探索範囲を決定する。
【００６９】
探索範囲記憶部２８は、量子化ステップ幅判定部２７から入力される動きベクトル探索範囲を記憶する。
【００７０】
次に、このように構成される復号装置２の動作について、図６を参照して説明する。図６は、復号装置２の動作を示すフローチャートである。
【００７１】
ステップＳ２０１にて、可変長復号部２１により、入力される符号化ビットストリームに可変長復号処理を施し、量子化ステップ幅を取得する。
【００７２】
ステップＳ２０２にて、可変長復号部２１により、入力される符号化ビットストリームに可変長復号処理を施し、差分画像の圧縮情報を取得する。
【００７３】
ステップＳ２０３にて、画像復号部２２により、可変長復号部２１にて取得した差分画像の圧縮画像を伸張して復号画像を生成する。
【００７４】
ステップＳ２０４にて、量子化ステップ幅判定部２７により、ステップＳ２０１にて取得された量子化ステップ幅を判定し、量子化ステップ幅が変更された領域を動きベクトル探索範囲と決定する。上述したように、符号化装置１は新たな動きベクトル探索範囲内の量子化ステップ幅を元の値よりも小さな値に変更するのが好適であり、復号装置２がかかる好適な形態の符号化装置１から符号化ストリームを受信した場合には、量子化ステップ幅が小さい領域を動きベクトル探索範囲と決定する。
【００７５】
量子化ステップ幅の大きさの判定は、所定の閾値を超えるか否かで判定したり、復号中のフレームの量子化ステップ幅の最小値に対する比率が所定の閾値を超えるか否かで判定したり、量子化ステップ幅の小さい順に動きベクトル探索範囲としたときに動きベクトル探索範囲のフレーム全体に締める割合が所定の閾値を超えるか否かで判定する、など様々な方法で判定することが可能である。また、判定方法や判定に用いる閾値は、予め決めておいても良いし、フレーム毎又はシーケンス毎に伝送してもよい。
【００７６】
ステップＳ２０５にて、動きベクトル検出部２５により、復号画像記憶部２４から参照画像を読み出し、参照画像に対して、探索範囲記憶部２８に記憶された動きベクトル探索範囲を設定し、動きベクトルを検出する。
【００７７】
ステップＳ２０６にて、動き補償部２６により、ステップＳ２０４にて検出された動きベクトルを用いて動き補償を行い、予測画像を生成する。
【００７８】
ステップＳ２０７にて、加算部２３により、ステップＳ２０５にて生成された差分画像の復号画像と、動き補償部２６から入力される予測画像とを加算して復号画像を生成する。
【００７９】
復号画像を参照して動きベクトル検出を行うとき、復号画像の符号化劣化が少ない方が動きベクトルの検出精度は向上する。符号化劣化は、量子化ステップ幅が小さい程低減する。復号装置２は、量子化ステップ幅が小さい領域のみを動きベクトル探索範囲とするため、動きベクトルの検出精度を向上させることができる。さらに本発明によれば、動きベクトルが参照する領域は、量子化ステップ幅が小さく符号化劣化が少ないため、復号画像の画質を向上させることができる。
【００８０】
ここで、符号化装置１として機能させるために、コンピュータを好適に用いることができ、コンピュータに、ＣＰＵによって所定のプログラムを実行させることにより、減算部１０と、画像圧縮部１１と、画像復号部１２と、加算部１３と、復号画像記憶部１４と、動きベクトル検出部１５と、動き補償部１６と、量子化ステップ幅決定部１７と、探索範囲記憶部１８と、可変長符号化部１９の有する機能を実現させることができる。
【００８１】
同様に、復号装置２として機能させるために、コンピュータを好適に用いることができ、コンピュータに、ＣＰＵによって所定のプログラムを実行させることにより、可変長復号部２１と、画像復号部２２と、加算部２３と、復号画像記憶部２４と、動きベクトル検出部２５と、動き補償部２６と、量子化ステップ幅判定部２７と、探索範囲記憶部２８の有する各機能を実現させることができる。
【００８２】
上述の実施例は、代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。従って、本発明は、上述の実施例によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【産業上の利用可能性】
【００８３】
このように、本発明によれば、動きベクトル探索範囲を適応的に制限することができるので、画像や映像を効率良く符号化、復号する任意の用途に有用である。
【符号の説明】
【００８４】
１      符号化装置
２      復号装置
１０    減算部
１１    画像圧縮部
１２    画像復号部
１３    加算部
１４    復号画像記憶部
１５    動きベクトル検出部
１６    動き補償部
１７    量子化ステップ幅決定部
１８    探索範囲記憶部
１９    可変長符号化部
２１    可変長復号部
２２    画像復号部
２３    加算部
２４    復号画像記憶部
２５    動きベクトル検出部
２６    動き補償部
２７    量子化ステップ幅判定部
２８    探索範囲記憶部
【図１】
0005498972.tif 000002
【図２】
0005498972.tif 000003
【図３】
0005498972.tif 000004
【図４】
0005498972.tif 000005
【図５】
0005498972.tif 000006
【図６】
0005498972.tif 000007