(57)【特許請求の範囲】
【請求項１】
画像を小ブロックに分割して符号化を行い，さらに少なくともそのブロック毎に量子化の度合いを選択して符号化する映像符号化方法であって，
映像を撮影した際のカメラワークを推定するカメラワーク推定ステップと，
小ブロック毎に，そのブロックに映っている映像の動きを推定する動き探索ステップと，
推定したカメラワークと小ブロック毎の動きから，各小ブロックが，その小ブロックの映像の変化がカメラワークに依存する背景ブロックであるか，映像の変化がカメラワーク以外に被写体の動きを含む動きオブジェクトブロックであるかを判定する背景ブロック判定ステップと，
背景ブロックに含まれる小ブロックであって，次の時刻のフレームにおいて一部でもフレームアウトするブロックを抽出するフレームアウト背景ブロック判定ステップと，
動きオブジェクトブロック，フレームアウト背景ブロックでない背景ブロック，フレームアウト背景ブロックの順に相対的に多い符号量が割り当てられるように量子化の度合いを設定する量子化の度合い設定ステップとを有し，
前記量子化の度合い設定ステップでは，フレームアウト背景ブロックに含まれる小ブロック内の画素毎に，前記カメラワーク推定ステップで推定したカメラワークを用いて，次フレームにおける推定位置を求め，その推定位置がフレーム端から離れた距離を，符号化対象ブロック毎に合計し，その合計値が大きいほど，相対的に少ない符号量が割り当てられるように量子化の度合いを設定する，
ことを特徴とする映像符号化方法。
【請求項２】
請求項１に記載の映像符号化方法において，さらに小ブロック毎にフレーム間動き補償を用いて符号化を行う映像符号化方法であって，
前記量子化の度合い設定ステップにおいて，動き補償における参照フレームとして利用可能なフレームを符号化する際には，フレームアウト背景ブロックでない背景ブロックと，フレームアウト背景ブロックとで同程度の量子化の度合いを設定する，
ことを特徴とする映像符号化方法。
【請求項３】
画像を小ブロックに分割して符号化を行い，さらに少なくともそのブロック毎に量子化の度合いを選択して符号化する映像符号化方法であって，
映像を撮影した際のカメラワークを推定するカメラワーク推定ステップと，
小ブロック毎に，そのブロックに映っている映像の動きを推定する動き探索ステップと，
推定したカメラワークと小ブロック毎の動きから，各小ブロックが，その小ブロックの映像の変化がカメラワークに依存する背景ブロックであるか，映像の変化がカメラワーク以外に被写体の動きを含む動きオブジェクトブロックであるかを判定する背景ブロック判定ステップと，
背景ブロックに含まれる小ブロックであって，次の時刻のフレームにおいて一部でもフレームアウトするブロックを抽出するフレームアウト背景ブロック判定ステップと，
動きオブジェクトブロック，フレームアウト背景ブロックでない背景ブロック，フレームアウト背景ブロックの順に相対的に多い符号量が割り当てられるように量子化の度合いを設定する量子化の度合い設定ステップとを有し，
動き補償における参照フレームとして利用可能なフレームを符号化する際に，まず，前記量子化の度合い設定ステップにおいて，フレームアウト背景ブロックでない背景ブロックと，フレームアウト背景ブロックとで同程度の量子化の度合いを設定して符号化を行い，次にそのフレームが参照フレームの候補から外される際に，フレームアウト背景ブロックに含まれる小ブロックであって，一度も他のフレームから参照されなかった小ブロックに対して，フレームアウト背景ブロックでない背景ブロックよりも相対的に少ない符号量が割り当てられるように量子化の度合いを新たに設定して再度符号化をする，
ことを特徴とする映像符号化方法。
【請求項４】
請求項１，請求項２または請求項３に記載の映像符号化方法において，さらに小ブロック毎にフレーム間動き補償を用いて符号化を行う映像符号化方法であって，
前記量子化の度合い設定ステップで設定された量子化の度合いを用いて，フレームアウト背景ブロックを符号化する際に，その量子化の度合いがある閾値を超えた場合，前記カメラワーク推定ステップで推定されたカメラワークに基づいた動きベクトルを用いてフレーム間動き補償を行って符号化する
ことを特徴とする映像符号化方法。
【請求項５】
画像を小ブロックに分割して符号化を行い，さらに少なくともそのブロック毎に量子化の度合いを選択して符号化する映像符号化装置であって，
映像をフレーム毎に入力する画像入力手段と，
入力したフレームを蓄積する入力画像記憶手段と，
前記入力画像記憶手段に蓄積されたフレームから，映像を撮影した際のカメラワークを推定するカメラワーク推定手段と，
前記入力画像記憶手段に蓄積されたフレームの小ブロック毎に，そのブロックに映っている映像の動きを推定する動き探索手段と，
推定したカメラワークと小ブロック毎の動きから，各小ブロックを，映像の変化がカメラワーク以外に被写体の動きを含む動きオブジェクトブロックと，それ以外のブロックである背景ブロックのうち，次の時刻のフレームにおいて一部でもフレームアウトするフレームアウト背景ブロックと，フレームアウト背景ブロックでない背景ブロックとに分類するブロック判定手段と，
動きオブジェクトブロック，フレームアウト背景ブロックでない背景ブロック，フレームアウト背景ブロックの順に相対的に多い符号量が割り当てられるように量子化の度合いを設定し，映像を符号化する符号化手段とを備え，
前記符号化手段は，フレームアウト背景ブロックに含まれる小ブロック内の画素毎に，前記カメラワーク推定ステップで推定したカメラワークを用いて，次フレームにおける推定位置を求め，その推定位置がフレーム端から離れた距離を，符号化対象ブロック毎に合計し，その合計値が大きいほど，相対的に少ない符号量が割り当てられるように量子化の度合いを設定する，
ことを特徴とする映像符号化装置。
【請求項６】
画像を小ブロックに分割して符号化を行い，さらに少なくともそのブロック毎に量子化の度合いを選択して符号化する映像符号化装置であって，
映像をフレーム毎に入力する画像入力手段と，
入力したフレームを蓄積する入力画像記憶手段と，
前記入力画像記憶手段に蓄積されたフレームから，映像を撮影した際のカメラワークを推定するカメラワーク推定手段と，
前記入力画像記憶手段に蓄積されたフレームの小ブロック毎に，そのブロックに映っている映像の動きを推定する動き探索手段と，
推定したカメラワークと小ブロック毎の動きから，各小ブロックを，映像の変化がカメラワーク以外に被写体の動きを含む動きオブジェクトブロックと，それ以外のブロックである背景ブロックのうち，次の時刻のフレームにおいて一部でもフレームアウトするフレームアウト背景ブロックと，フレームアウト背景ブロックでない背景ブロックとに分類するブロック判定手段と，
動きオブジェクトブロック，フレームアウト背景ブロックでない背景ブロック，フレームアウト背景ブロックの順に相対的に多い符号量が割り当てられるように量子化の度合いを設定し，映像を符号化する符号化手段とを備え，
前記符号化手段は，動き補償における参照フレームとして利用可能なフレームを符号化する際に，まず，フレームアウト背景ブロックでない背景ブロックと，フレームアウト背景ブロックとで同程度の量子化の度合いを設定して符号化を行い，次にそのフレームが参照フレームの候補から外される際に，フレームアウト背景ブロックに含まれる小ブロックであって，一度も他のフレームから参照されなかった小ブロックに対して，フレームアウト背景ブロックでない背景ブロックよりも相対的に少ない符号量が割り当てられるように量子化の度合いを新たに設定して再度符号化をする，
ことを特徴とする映像符号化装置。
【請求項７】
請求項１から請求項４までのいずれか１項に記載の映像符号化方法を，コンピュータに実行させるせための映像符号化プログラム。
【請求項８】
請求項１から請求項４までのいずれか１項に記載の映像符号化方法を，コンピュータに実行させるせための映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，人間の主観的な品質を考慮して効率的に符号化するための映像符号化技術に関するものである。
【背景技術】
【０００２】
映像を符号化する主な目的は，映像の品質をできるだけ劣化させずにデータ量を少なくすることである。その際に，実際に映像を見るという観点から考えると，信号としての品質（ＰＳＮＲ：Peak to Signal Noise Ratio）ではなく，映像を見る人間の主観的な品質を向上させることが重要である。
【０００３】
主観品質を向上させる方法として，観測者が注目する領域を元の映像に対して忠実に符号化し，一方，観測者が注目しない領域はそれほど忠実に符号化しないという手法が存在する。映像の符号化において，映像の品質はその領域を符号化するのに利用する符号量で制御することが可能である。したがって，映像全体で均一に符号量を割り当てるよりも，観測者の注目する領域により多くの符号量を割り当てることで，全体としては同じ符号量でも主観品質を向上させることができる。
【０００４】
例えば非特許文献１などがこれに当たる。この手法では時間的に動きのある領域（以下では動き領域，動きオブジェクトと呼ぶ）を注視領域であると考えて，その領域には他の領域より多くの符号量を割り当てることで主観品質の向上を実現している。これは動いている物体に注目するという人間の特性を利用しているため，同じ符号量の符号化映像でも，映像全体の画質の向上を図って符号化したものより，主観的な品質が向上することになる。
【０００５】
しかしながら，動き領域の少ない映像を符号化する場合，非特許文献１のような動き領域とそれ以外の領域とで符号量の割り当てを変える方式では，符号量を保ったまま主観品質を十分に向上させることができない。例えば，風景を撮影した映像の場合，映像の変化の大部分がカメラワーク（映像を撮影した際のカメラの動き）に依存したものとなるため，大半の領域が動き領域以外の領域（以下，背景領域と呼ぶ）と判定され，主観品質を向上させるための符号量の割り当てを行うことができない。
【０００６】
なお，下記の非特許文献２には，本発明の実施例で利用するカメラワークを推定する方法の一例が記載されている。また，下記の非特許文献３には，本発明の実施例で利用するピクセル毎のオプティカルフローを求める方法の一例が記載されている。非特許文献４には，Ｈ．２６４動画像符号化方式の詳細が示されている。
【非特許文献１】安藤輝，半谷精一郎，杉山賢二，“汎用動画像からの動きオブジェクト検出と符号化への応用”，画像符号化シンポジウム２００４（PCSJ2004），pp.41-42.
【非特許文献２】M.Pollefeys ，R.Koch and L.Van Gool,“Self-Calibration and Metric Reconstruction in spite of Varying and Unknown Internal Camera Parameters ”，International Journal of Computer Vision，32(1) ，7-25，1999.
【非特許文献３】Jean-Yves Bouguet ，“Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm ”，Ｉntel Corporation，Microprocess or Research Labs ，Open CV Documents ，1999.
【非特許文献４】ITU-T H.264 ITU-T Rec. H.264，“Advanced video coding for generic audiovisual services”，2003.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
非特許文献１に記載されているような従来の技術では，背景領域に対して主観品質を向上させるための適切な符号量の割り当てを行うことができない。このため，背景領域内でも主観品質を向上できるように符号量の割り当てを変化させることができるようにする必要がある。
【０００８】
背景領域内で主観品質への影響を考慮して符号量の割り当てを変化させる方法として，画面の中心に多くの符号量を割り当て，画面の端に少ない符号量を割り当てるという方法が考えられる。この方法は映像を見る際に映像の中央に注目している人が多いという性質を利用している。
【０００９】
しかしながら，このように空間情報のみを考慮した方法では，致命的な画質劣化を招く可能性がある。例えば，特徴的な風景が映像の端に現れている場合や，そのような風景が映像の中央から端へとゆっくりと移動していくような場合，この方法では主観品質を向上させるどころか，悪化させてしまうことになってしまう。
【００１０】
また，カメラワークが比較的大きな場合，前フレームには存在しなかったものが多く映像に表れることになる。この領域は非特許文献１ではアンカバード領域と呼ばれ，より多くの符号量の割り当てが必要な領域であるとされている。そのため，映像の大部分で多くの符号量が必要とされ，十分な符号量の制御をすることができない。
【００１１】
本発明は，かかる事情に鑑みてなされたものであって，カメラワークの存在する映像において，符号量を抑えつつ，観測者の主観的な品質を向上させることが可能な映像符号化手法の設計法を確立することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために，第１の発明においては，画像を小ブロックに分割して符号化を行い，さらに少なくともそのブロック毎に量子化の度合い（以後，量子化ステップサイズの例で説明する）を自由に選択して符号化する映像符号化方法であって，映像を撮影した際のカメラの動き（以後，カメラワークと呼ぶ）カメラワークを推定するカメラワーク推定ステップと，小ブロック毎にそのブロックに映っている映像の動きを推定する動き探索ステップと，推定したカメラワークと小ブロック毎の動きから，各小ブロックを，その小ブロックの映像の変化がカメラワークに依存する背景ブロックと，カメラワーク以外の動きを含む動きオブジェクトブロックに分類する背景ブロック判定ステップと，背景ブロックに含まれる小ブロックであって次の時刻のフレームにおいて一部でもフレームアウトするブロックを抽出するフレームアウト背景ブロック判定ステップと，動きオブジェクトブロック・フレームアウト背景ブロックでない背景ブロック・フレームアウト背景ブロックの順に相対的に多い符号量を割り当てるように，その小ブロックを符号化するための量子化ステップサイズを設定する量子化ステップサイズ設定ステップを持つような映像符号化方法を考案した。
【００１３】
これによれば，動き領域が少ない映像において，同じ背景領域に含まれる領域であっても，映像の時間的な変化を考慮して設定される重要度に従って，符号量を割り当てることにより，主観品質の向上が可能となる。
【００１４】
この方法では，最初に符号化対象フレームとそのフレームの直後のフレームとの間でカメラワークを求める。ここでいうカメラワークは，符号化対象フレームから直後のフレームへのピクセル単位の写像を表すもののことを指す。つまり，単純なパン（横移動）・チルド（縦移動）・ロール（回転）・ズーム（拡大縮小）だけでなく，被写体の構造による移動距離の違いも含まれ，ピクセルごとのオプティカルフローと同じものである。
【００１５】
次に，符号化対象フレームを小ブロックに分割して，ブロック毎にフレーム間動き予測を行い，ブロックごとの動きベクトルを得る。ピクセルごとのオプティカルフローと各ブロックの動きベクトルから，そのブロックがカメラワーク以外の被写体の動きによって生じる映像の変化を含んだブロック（以後，動きオブジェクトブロックと呼ぶ）と，主にカメラワークによって生じる映像の変化のみをもつブロック（以後，背景ブロックと呼ぶ）に分類する。
【００１６】
さらに，背景ブロックを次フレームで一部でもフレームアウトしてしまうブロック（以後，フレームアウト背景ブロックと呼ぶ）と，次フレームにおいても全てがフレーム内に残るブロック（以後，フレームステイ背景ブロックと呼ぶ）に分類する。そして，このブロックの種類に従って設定される量子化ステップサイズを用いて符号化を行う。
【００１７】
背景ブロックの中でも次のフレームにおいて画面から見えなくなってしまう領域は，次のフレームにおいても画面内に残る領域よりも，観測者の目に映る時間が短いため，主観品質への寄与は少ないと言える。すなわち，フレームアウト背景ブロックよりもフレームステイ背景ブロックに多くの符号量を割り当てることで主観品質を向上させたり，フレームアウト背景ブロックに割り当てる符号量を削減することで主観品質を保ちつつ映像全体に必要な符号量を削減させたりすることができる。
【００１８】
さらに，この第１の発明は，量子化ステップサイズ設定ステップが，フレームアウト背景ブロックに含まれるブロックの画素毎に，次フレームにおいてフレームアウトする距離を求め，ブロック毎にブロック内の全画素の距離の合計値を求め，その値が大きいほど，大きな量子化ステップサイズを割り当てる処理を有することを特徴とする。
【００１９】
量子化ステップサイズが隣り合うブロックで大きく異なると，その部分で信号的な画質の違いが明確になるため，主観品質を低下させてしまう。つまり，主観品質を低下させずに符号量を削減するためには，隣り合うブロックにおける量子化ステップサイズの差を小さくする必要がある。そのため，フレームアウト背景ブロックの量子化ステップサイズとしては，他のブロックで使用される量しかステップサイズと大きな差のない値を使用することになり，フレームアウト背景ブロックが多くなったとしても削減できる符号量はそれほど大きくならない。
【００２０】
一方，第１の発明によると，次の時刻のフレームにおいても存在する映像が表示される領域から離れるにつれて，より少ない符号量を割り当てるように量子化ステップサイズを徐々に変化させて設定することになるため，均一の量子化ステップサイズを用いるより多くの符号量を削減することが可能となる。
【００２１】
第２の発明は，上記発明において，フレーム間動き補償技術を用いて映像を符号化する場合に，他のフレームを符号化するときに参照される可能性のあるフレームに対しては，量子化ステップサイズ設定ステップが，フレームアウト背景ブロックとフレームステイ背景ブロックに同程度の量子化ステップサイズを設定することを特徴とする映像符号化方法である。
【００２２】
他のフレームを符号化するときに参照されるフレームにおいても，フレームアウト背景ブロックを大きな量子化ステップサイズを用いて符号化すると，そのブロックを参照した際の予測残差が大きくなることにより，そのフレームを符号化するときの符号量が増してしまい，映像全体の符号化に必要な符号量を十分に削減することができない。
【００２３】
一方，第２の発明によると，参照される可能性のあるフレームを符号化するときには，量子化ステップサイズを大きくしないようにするため，フレームアウト背景ブロックが参照されたとしても予測残差が大きくなることはなく，映像全体としても符号量を削減することが可能となる。
【００２４】
第３の発明は，フレーム間動き補償技術を用いて映像を符号化する場合に，他のフレームを符号化するときに参照される可能性のあるフレームに対しては，最初に，フレームアウト背景ブロックとフレームステイ背景ブロックに対して同程度の量子化ステップサイズを設定して符号化を行い，次に，そのフレームが他のフレームから今後参照されないことが確定した後で，フレームアウト背景ブロックに含まれる小ブロックであって，一度も他のフレームから参照されなかった小ブロックに対して，フレームステイ背景ブロックよりも相対的に大きな量子化ステップサイズを新たに設定して再度符号化をすることを特徴とする映像符号化方法である。
【００２５】
参照に一度も使われないフレームアウト背景ブロックは，動き補償による予測残差の量に影響を与えないため，大きな量子化ステップサイズで符号化を行うことによって，符号量を削減することができる。したがって，第３の発明によると，フレーム間動き予測の効率を考慮して，符号量の制御ができるため，主観品質を保ちつつ，映像全体を符号化するのに必要な符号量をより多く削減することが可能となる。
【００２６】
第４の発明は，上記発明において，フレーム間動き補償技術を用いて符号化を行い，さらに，ある閾値以上の量子化ステップサイズを用いて，フレームアウト背景ブロックを符号化する際に，カメラワーク推定ステップで推定されたカメラワークに基づいた動きベクトルを用いてフレーム間動き補償を行って符号化することを特徴とする映像符号化方法である。
【００２７】
フレーム間動き補償をするときの動きベクトルは，一般的にそのベクトルを表現するのに必要な符号量と，動き補償をした後の残差信号を符号化するのに必要な符号量の合計値が小さくなるように決定される。このとき，残差信号を符号化するときの量子化ステップサイズが大きな場合，どのような動きベクトルでも，動き補償後の残差信号の符号化に必要な符号量が大きく変わらなくなる。そのため，表現するのに少ない符号量で済む動きベクトルが選択されることになる。しかし，残差信号の符号化に必要な符号量が大きく変わらなくても，実際の動きと大きく異なる動きベクトルを用いたブロックの映像は，オリジナルの映像と大きく異なる映像となり，主観品質を著しく悪化させてしまう。
【００２８】
一方，第４の発明によると，他のブロックより比較的大きな量子化ステップサイズの設定されるフレームアウト背景ブロックにおいて，実際の映像に対応する動きを利用することになるため，細かい部分の正確性は失われるものの映像の大まかな変化を保ち，自然な変化を再現でき，同じ符号量でも主観品質を向上させることが可能となる。
【発明の効果】
【００２９】
本発明によれば，直後のフレームにおいて画面に残らない領域という人間が主観的に映像を評価する際に比較的影響を与えない部分を特定して，その部分に割り当てる符号量を他の部分に割り当てる符号量よりも相対的に少なくすることで，風景のような動きのある被写体がないような映像においても，主観品質を保ったまま映像全体の符号量を削減することや，映像全体で同じ符号量でも主観品質の良くなるような映像符号化を実現することができる。
【発明を実施するための最良の形態】
【００３０】
本発明の具体的な実施例を以下に示す。図１に，本実施例において利用する映像符号化装置の構成を示す。
【００３１】
映像符号化装置１０は，映像を時間軸に沿った順序でフレーム毎に入力する画像入力部１１と，自身の時刻より前の時刻のフレームが全て符号化されるまでフレームを蓄積する入力画像メモリ１２と，時間的に連続する２つのフレーム間の動きをブロック毎に探索するブロック単位動き探索部１３と，時間的に連続する２つのフレーム間のカメラワークを推定するカメラワーク推定部１４と，小ブロック毎に動きオブジェクトブロック，フレームステイ背景ブロック，フレームアウト背景ブロックのいずれであるかを判定するブロック判定部１５と，画像を小ブロックに分割してフレーム間動き予測を用いながら符号化する画像符号化部１６と，符号化結果である映像の符号を出力する符号出力部１７とを備える。
【００３２】
図２は，入力映像の例を示す。以下の実施例の説明では，図２に示した映像を符号化する場合を例にして説明する。この映像をフレーム１，フレーム３，フレーム２の順序で，先に符号化されたフレームを用いてフレーム間動き予測を行いながら符号化を行うこととする。
【００３３】
図３は，映像符号化装置１０における画像符号化部１６の構成の詳細を示す図である。画像符号化部１６は，カメラワーク情報を蓄積するカメラワークメモリ１６１と，ブロックの種類の情報を蓄積するブロックプロパティマップメモリ１６２と，カメラワークとブロックの種類と他のフレームからの参照の有無に関する情報からブロック毎に符号化する際の量子化ステップを決定する量子化ステップ設定部１６３と，量子化ステップ設定部１６３で設定された量子化ステップを用いて，画像を小ブロックに分割して，フレーム間動き予測が利用可能な符号化方法で動画像符号化を行う動画像符号化部１６４と，フレーム間動き予測によってブロックが参照されたかどうかを示す情報を蓄積する被参照マップメモリ１６５と，符号化結果である映像の符号をバッファリングする出力符号メモリ１６６とを備える。
【００３４】
図４に，映像符号化装置１０の処理フローを示す。この実施例では，図２で示したフレームが，フレーム１，フレーム２，フレーム３の順番で，次々と画像入力部１１に入力される［ステップＡ１］。入力された画像は符号化対象フレームとその時間的に直後のフレームが入力されるか，最後のフレームが入力されるまで入力画像メモリ１２に蓄積される［ステップＡ２，Ａ３］。つまり，この実施例の場合，フレーム１の符号化を開始するのはフレーム２の入力が終了した後であり，フレーム２の符号化を開始するのはフレーム３の入力が終了した後であり，フレーム３の符号化を開始するのはフレーム３の入力が終了した後となる。また，画像メモリからある画像が削除される条件は，自身と自身より前の時刻のフレームが全て符号化済みとなったときである。つまり，本実施例の場合，入力画像メモリ１２には少なくとも２フレーム分のメモリがあることになる。
【００３５】
次に，符号化対象フレームが最終フレームであれば，符号化対象フレームを画像符号化部１６で符号化する［ステップＡ４，Ａ５］。一方，符号化対象フレームが最終フレームでなければ，符号化対象フレームとその直後のフレームを用いて，ブロック単位動き探索部１３において，符号化対象フレームをある単位で分割した小ブロック毎に，そのブロックが直後のフレームにおいて存在する位置を推定する［ステップＡ４，Ａ６］。
【００３６】
また，符号化対象フレームとその直後のフレームにおけるカメラワークをカメラワーク推定部１４で推定する［ステップＡ７］。カメラワークを推定する方法として，例えば非特許文献２にあるような既知の手法を用いることができる。なお本手法では，ある点が次の時刻においてカメラワークによってどの点に移動したかを知ることができれば十分であり，カメラワークの種類を特定する必要はない。つまり，以下の式で表されるような，符号化対象フレームの座標Ｘからその直後のフレームのある座標Ｘ* への射影Ｐを求めることが，このステップで行われる処理である。また，このことはカメラワークの推定プロセスはピクセル毎のオプティカルフローが求まればよいことを示しているため，例えば非特許文献３にあるようなピクセルごとのオプティカルフローを求める技術を利用することもできる。
【００３７】
Ｘ* ＝Ｐ（Ｘ）
次に，求められたブロック単位の動きとカメラワークを用いて，ブロック判定部１５で，各ブロックを動きオブジェクトブロック，フレームステイ背景ブロック，フレームアウト背景ブロックのいずれかに分類する［ステップＡ８］。そして，ブロック情報とカメラワークを用いて，画像符号化部１６が符号化対象フレームを符号化する［ステップＡ５］。符号化されたフレームは，符号出力部１７から符号化された順，つまりフレーム１，フレーム３，フレーム２の順で出力される［ステップＡ９］。全フレームの符号化が終了すると，処理を終了する［ステップＡ１０］。
【００３８】
図５に，ブロック判定部１５で行われるブロック判別の詳細フローを示す。まず，ブロック単位動き探索部１３によって求められたブロック単位の動きベクトルの信頼度を，ブロック毎に以下の式で求める［ステップＢ０，Ｂ１］。
【００３９】
信頼度＝−Σp ｜Ｙs （ｐ）−Ｙd （ｐ−ＭＶk ）｜
ここで，Σp は，ｐ∈Ｓk についての総和を表す。ｐはピクセル座標，Ｓk は符号化対象フレームにおけるブロックｋに含まれるピクセル座標の集合を表し，ＭＶk はブロック単位動き探索で求まったブロックｋの動きベクトルを表す。符号化対象フレームにおけるピクセル座標ｐの画素値はＹs （ｐ）と表し，符号化対象フレームの次の時刻のフレームにおけるピクセル座標ｐの画素値はＹd （ｐ）と表している。
【００４０】
次に，この信頼度がある一定の閾値以上かどうかを調べる［ステップＢ２］。信頼度がある一定の閾値を超えなかった場合，カメラワーク推定部１４で推定したカメラワークによる射影Ｐを用いて，ブロック内の各ピクセルが次時刻のフレームにおいてフレーム内に含まれるかどうかを調べる［ステップＢ３］。そして，フレームアウトするピクセルの数が一定数を超えるかどうかを調べる［ステップＢ４］。
【００４１】
一定数のピクセルが次時刻のフレームにおいてフレーム内に含まれる場合，そのブロックをフレームステイ背景ブロックと判定する［ステップＢ５］。一方，一定数以上のピクセルがフレームアウトする場合には，そのブロックをフレームアウト背景ブロックと判定する［ステップＢ６］。
【００４２】
ステップＢ２の判定において，上記の信頼度がある一定の閾値以上であった場合，カメラワーク推定部１４で推定したカメラワークによる射影Ｐより，そのブロックのカメラワークによる動きベクトルＣＭＶk を次の式により求める［ステップＢ７］。Ｎはそのブロックに含まれるピクセル数を表す。
【００４３】
ＣＭＶk ＝Σq （Ｐ（ｑ）−ｑ）／Ｎ
ここで，Σq は，ｑ∈Ｓk についての総和を表す。
【００４４】
その後，ＣＭＶk とＭＶk の差分ベクトルの大きさについてチェックを行う［ステップＢ８］。その大きさが一定の閾値以上ならばそのブロックを動きオブジェクトブロックと判定する［ステップＢ９］。一方，差分ベクトルの大きさが閾値を超えなかった場合，ブロック内の各ピクセルが次時刻のフレームにおいてフレーム内に含まれるかどうかを調べ［ステップＢ３］，一定数のピクセルが次時刻のフレームにおいてフレーム内に含まれるならば，そのブロックをフレームステイ背景ブロックと判定し［ステップＢ４，Ｂ５］，そうでなければフレームアウト背景ブロックと判定する［ステップＢ４，Ｂ６］。
【００４５】
図６に，画像符号化部１６で行われる画像の符号化処理の詳細フローを示す。まず，カメラワーク推定部１４で推定されたカメラワークと，ブロック判定部１５で決定された符号化対象フレームの各ブロックの種類を表す情報（以後，ブロックプロパティマップと呼ぶ）と，入力画像メモリ１２に蓄えられていた符号化対象の画像が入力される［ステップＣ１］。カメラワークはカメラワークメモリ１６１に蓄えられ，ブロックプロパティマップはブロックプロパティマップメモリ１６２に蓄えられる［ステップＣ２］。メモリからは対応するフレーム及びそのフレームより前の時刻のフレームの符号化が終了して，それらの符号が画像符号化部１６から出力された段階で削除される。つまり，本実施例の場合，２組のカメラワークとブロックプロパティマップを格納できることが必要となる。
【００４６】
符号化対象フレームに対応するカメラワークとブロックプロパティマップの入力が完了すると，カメラワークとブロックプロパティマップを用いて，量子化ステップ設定部１６３で，ブロック毎に最初の量子化ステップが決定される［ステップＣ３］。
【００４７】
決定された量子化ステップとカメラワークを用いて動画像符号化部１６４が実際に画像を符号化する［ステップＣ４］。ここで用いられる動画像符号化手法は，Ｈ．２６４（例えば，非特許文献４参照）に代表されるような，画像を小ブロックに分割してブロック単位で符号化を行う手法であり，さらにブロック毎のフレーム間動き予測を用いて符号化を行う手法であり，さらに量子化ステップを変更することで符号量と画質を調節できるような方法であれば，どのような方法でも用いることが可能である。ただし，ある閾値以上の量子化ステップが設定されているフレームアウト背景ブロックを動き予測を用いて符号化する場合，その動きベクトルはカメラワークから求まるＣＭＶk を使うこととする。また，符号化の際にフレーム間動き予測を用いた場合，参照フレーム毎にどのピクセルを参照したかを記録して，その情報（以後，被参照マップと呼ぶ）を被参照マップメモリ１６５に格納する［ステップＣ５］。
【００４８】
動画像符号化部１６４から出力される符号は出力符号メモリ１６６に蓄えられる［ステップＣ６］。そして，出力符号メモリ１６６は，メモリに格納されている符号の中で最も早くメモリに格納されたフレームの符号が，被参照フレームの候補リストに載っているかどうかをチェックする［ステップＣ７］。被参照フレームの候補リストとは，フレーム間動き予測をする際に，参照フレームとして利用する可能性が一度でもあるフレームのリストとする。この候補リストの管理は，符号化する際のパラメータとして与えられる参照構造によって決められる。例えば，再生時刻順に５フレームさかのぼって参照を可能とするようなパラメータが与えられた場合，Ｎ番目の被参照フレームはそのフレーム自身の符号化が終了した後に候補リストに追加され，Ｎ＋５番目のフレームの符号化が終了した時点で候補リストから削除される。候補リストに載っている場合には，何も出力しないで終了する。
【００４９】
一方，候補リストに載っていない場合，そのフレームに対応する被参照マップを用いて量子化ステップ設定部１６３で量子化ステップを再計算し［ステップＣ８］，動画像符号化部１６４で新たな量子化ステップを用いて再度符号化を行い［ステップＣ９］，その結果を出力する［ステップＣ１０］。その後，対応する符号が出力されたら出力符号メモリ１６６からその符号を削除する［ステップＣ１１］。つまり本実施例の場合，出力符号メモリ１６６には，少なくとも被参照フレームの候補数＋１フレーム分の符号を蓄えられる必要がある。また，符号の出力が行われた場合，出力に関する処理［ステップＣ７−Ｃ１１］を再度繰り返す。なお，ステップＣ８における量子化ステップの再計算の結果，以前にステップＣ３で決定した量子化ステップと変わらなかった場合には，次のステップＣ９の符号化処理を省略してもよい。
【００５０】
図７に量子化ステップ設定部１６３で行われる処理の詳細なフローを示す。まず，量子化ステップ決定対象のフレームが始めて量子化ステップを決定するフレームかどうかを調べる［ステップＤ１］。初めて量子化ステップを決定するフレームの場合，他のフレームを符号化するときに被参照フレームとして利用可能なフレームかどうかを調べる［ステップＤ２］。被参照フレームとして利用不可能なフレームの場合，フレームアウト背景ブロックごとに以下の式を用いて評価値を計算する［ステップＤ３］。
【００５１】
Σq Ｄｉｓｔａｎｃｅ（Ｐ（ｑ））        ・・・式（１）
Ｄｉｓｔａｎｃｅ（ｘ）はｘとフレームの端までの最短距離を与える関数を表す。ただし，Ｄｉｓｔａｎｃｅ（ｘ）＞０ならばｘはフレームの外側にあり，Ｄｉｓｔａｎｃｅ（ｘ）＝０ならばｘはフレームの枠上にあり，Ｄｉｓｔａｎｃｅ（ｘ）＜０ならばｘはフレームの内側にあるとする。
【００５２】
そして，動きオブジェクトブロック，フレームステイ背景ブロック，フレームアウト背景ブロックの順に小さな量子化ステップを設定する［ステップＤ４］。このとき，フレームアウト背景ブロックは前もって求めた評価値が小さいほど小さな量子化ステップを設定する。ただし，ここで量子化ステップは小さいほど，相対的により多くの符号量を割り当てるようなものとする。
【００５３】
一方，被参照フレームとして利用可能なフレームの場合，フレームステイ背景ブロックとフレームアウト背景ブロックには同等の量子化ステップを設定し，動きオブジェクトブロックにはそれより小さな量子化ステップを設定する［ステップＤ５］。また，量子化ステップ決定対象のフレームが初めて量子化ステップを決定するフレームではない場合，被参照マップメモリ１６５に蓄えられている情報から，フレームアウト背景ブロックであり，かつそのブロック内のいずれかのピクセルが少なくとも一度は参照されたブロックを求め，そのブロックに対して式（１）で求まる評価値を計算する［ステップＤ６］。そして，以下の分類で順序が若い順に小さな量子化ステップを設定する［ステップＤ７］。
【００５４】
１．動きオブジェクトブロック
２．フレームステイ背景ブロック，もしくは，フレームアウト背景ブロックかつそのブロック内のいずれかのピクセルが少なくとも一度は参照されたブロック
３．フレームアウト背景ブロックかつそのブロック内の全てのピクセルが一度も参照されなかったブロック
ただし，３に含まれるブロックの量子化ステップは上記の式（１）で求まる値が小さいほど，小さな量子化ステップを設定する。
【００５５】
以上の実施例において，図３の動画像符号化部１６４では，量子化ステップ設定部１６３で設定された量子化ステップサイズを用いてフレームアウト背景ブロックを符号化する際に，その量子化ステップサイズがある閾値を超えた場合，カメラワーク推定部１４で推定されたカメラワークに基づいた動きベクトルを用いてフレーム間動き補償を行って符号化する。この処理も，限られた符号量で主観品質を向上させるうえで好適である。
【００５６】
符号量の割り当てを制御する代表例として量子化ステップサイズの例を説明したが，量子化の度合いを制御することができるものであれば，これに限らず他の符号化のパラメータを用いることもできる。
【００５７】
以上の映像符号化の処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００５８】
【図１】映像符号化装置の構成を示す図である。
【図２】入力される映像の具体例を示す図である。
【図３】画像符号化部の構成を示す図である。
【図４】映像符号化装置の処理フローを示す図である。
【図５】ブロックの種類を判定するプロセスの詳細処理フローを示す図である。
【図６】画像符号化を行うプロセスの詳細処理フローを示す図である。
【図７】量子化ステップの決定プロセスの詳細処理フローを示す図である。
【符号の説明】
【００５９】
１０  映像符号化装置
１１  画像入力部
１２  入力画像メモリ
１３  ブロック単位動き探索部
１４  カメラワーク推定部
１５  ブロック判定部
１６  画像符号化部
１７  符号出力部
【図１】
0004451833.tif 000002
【図２】
0004451833.tif 000003
【図３】
0004451833.tif 000004
【図４】
0004451833.tif 000005
【図５】
0004451833.tif 000006
【図６】
0004451833.tif 000007
【図７】
0004451833.tif 000008