(57)【特許請求の範囲】
【請求項１】
フレーム内符号化、フレーム間前方向予測符号化、フレーム間双方向予測符号化を各フレーム符号化に適用するフレーム間動き補償予測を行う動画像符号化装置において、
フレーム内符号化した符号化結果から得られた絵柄の複雑さとフレーム間前方向予測符号化した符号化結果から得られる予測誤差量とに基づいて絵柄の複雑さを考慮したフレーム間予測の予測性能を計算するフレーム間予測性能計算部と、
前記フレーム間予測性能が高ければ、前方向予測をするフレームの予測フレーム間隔を大きくし、前記フレーム間予測性能が低ければ、前方向予測をするフレームの予測フレーム間隔を小さくするように前記フレーム間予測性能から前方向予測をするフレームの予測フレーム間隔を定める予測フレーム間隔決定部とを備えることにより、予測性能に応じて予測フレーム間隔を適応的に変化させて、動画像を符号化する動画像符号化装置。
【請求項２】
前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの発生符号量の値とフレーム内符号化したフレームの発生符号量の値とを用い、前記フレーム間前方向予測符号化したフレームの発生符号量が大きいほど値が小さくなるように、前記フレーム内符号化したフレームの発生符号量が大きいほど値が大きくなるようにフレーム間前方向予測符号化したフレームの予測性能を計算することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの発生符号量の値とフレーム内符号化したフレームの発生符号量の値との差分を用いることを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの発生符号量の値とフレーム内符号化したフレームの発生符号量の値との比を用いることを特徴とする請求項２記載の動画像符号化装置。
【請求項５】
前記フレーム間動き補償予測を行う動画像符号化装置において、
前記フレーム間予測性能として、フレーム間双方向予測符号化したフレームの発生符号量の値とフレーム内符号化したフレームの発生符号量の値とをさらに用い、
前記フレーム間双方向予測符号化したフレームの発生符号量の値と、前記フレーム内符号化したフレームの発生符号量の値とから、前記フレーム間双方向予測符号化したフレームの発生符号量が大きいほど値が小さくなるように、前記フレーム内符号化したフレームの発生符号量が大きいほど値が大きくなるようにフレーム間双方向予測符号化したフレームの予測性能を計算し、フレーム間前方向予測するフレームのフレーム間予測性能、および、フレーム間双方向予測するフレームのフレーム間予測性能が高ければ、前方向予測をするフレームの予測フレーム間隔を大きくし、フレーム間前方向予測するフレームのフレーム間予測性能、および、フレーム間双方向予測するフレームのフレーム間予測性能が低ければ、前方向予測をするフレームの予測フレーム間隔を小さくするように前方向予測をするフレームの予測フレーム間隔を決定することを特徴とする請求項２から４のいずれかに記載の動画像符号化装置。
【請求項６】
前記請求項１記載の動画像符号化装置の動き補償フレーム間予測誤差符号化において量子化処理を伴ない、フレームあたりの発生符号量と、前記量子化処理に用いた量子化スケールのフレーム当りの平均値との積で定義される当該フレームの符号化複雑度を計算し、前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの符号化複雑度の大きさとフレーム内符号化したフレームの符号化複雑度の大きさとを用い、
前記フレーム間前方向予測符号化したフレームの符号化複雑度が大きいほど値が小さくなるように、前記フレーム内符号化したフレームの符号化複雑度が大きいほど値が大きくなるようにフレーム間前方向予測符号化したフレームの予測性能を計算することを特徴とする請求項１記載の動画像符号化装置。
【請求項７】
前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの符号化複雑度の値とフレーム内符号化したフレームの符号化複雑度の値との差分を用いることを特徴とする請求項６記載の動画像符号化装置。
【請求項８】
前記フレーム間予測性能として、フレーム間前方向予測符号化したフレームの符号化複雑度の値とフレーム内符号化したフレームの符号化複雑度の値との比を用いることを特徴とする請求項６記載の動画像符号化装置。
【請求項９】
前記フレーム間動き補償予測を行う動画像符号化装置において、
前記フレーム間予測性能として、フレーム間双方向予測符号化したフレームの符号化複雑度の値とフレーム内符号化したフレームの符号化複雑度の値とをさらに用い、
前記フレーム間双方向予測符号化したフレームの符号化複雑度の値と、前記フレーム内符号化したフレームの符号化複雑度の値とから、前記フレーム間前方向予測符号化したフレームの符号化複雑度が大きいほど値が小さくなるように、前記フレーム内符号化したフレームの符号化複雑度が大きいほど値が大きくなるようにフレーム間双方向予測符号化したフレームの予測性能を計算し、フレーム間前方向予測するフレームのフレーム間予測性能、および、フレーム間双方向予測するフレームのフレーム間予測性能が高ければ、前方向予測をするフレームの予測フレーム間隔を大きくし、フレーム間前方向予測するフレームのフレーム間予測性能、および、フレーム間双方向予測するフレームのフレーム間予測性能が低ければ、前方向予測をするフレームの予測フレーム間隔を小さくするように前方向予測をするフレームの予測フレーム間隔の決定することを特徴とする請求項６に記載の動画像符号化装置。
【請求項１０】
フレーム内符号化、フレーム間前方向予測符号化、フレーム間双方向予測符号化を各フレーム符号化に適用するフレーム間動き補償予測を行う動画像符号化方法において、
フレーム内符号化した符号化結果から得られた絵柄の複雑さとフレーム間前方向予測符号化した符号化結果から得られる予測誤差量とに基づいて絵柄の複雑さを考慮したフレーム間予測の予測性能を計算するフレーム間予測性能計算工程と、
前記フレーム間予測性能が高ければ、前方向予測をするフレームの予測フレーム間隔を大きくし、前記フレーム間予測性能が低ければ、前方向予測をするフレームの予測フレーム間隔を小さくするように前記フレーム間予測性能から前方向予測をするフレームの予測フレーム間隔を定める予測フレーム間隔決定工程とを備えることにより、予測性能に応じて予測フレーム間隔を適応的に変化させて、動画像を符号化する動画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化例えばＩＳＯ／ＩＥＣ  １３８１８−２（ＭＰＥＧ−２）などの規格で定義される動画像符号化を実現する装置に関し、特に高画質符号化制御方式に関する。
【０００２】
【従来の技術】
従来ＩＳＯ／ＩＥＣ  １３８１８−２（ＭＰＥＧ−２）等の規格で定義される動き補償フレーム間予測符号化を実施するにあたり、フレーム内符号化されるピクチャ（Ｉピクチャ）、フレーム間前方向予測符号化されるピクチャ（Ｐピクチャ）、フレーム間双方向予測符号化されるピクチャ（Ｂピクチャ）、の３種類のピクチャの配置については、これらを周期的な配置とし、かつ定常的にその配置状況を変化させずに、継続的に符号化するのが一般的である。
【０００３】
この周期について、特にＩピクチャの間隔については、アルファベットＮで表記し、ＩピクチャとＰピクチャとの間隔または隣接するＰピクチャ同志の間隔については、アルファベットＭで表記することが、本願発明が属する技術分野にて慣例としてなされている。これらのＮやＭの値は通常は固定であり、動的には変更されないように制御されるのが一般的である。
【０００４】
［Ｍ値の説明］
例えば、図９(a)のように、Ｍ＝１としたときは、ＩピクチャとＰピクチャの間隔、隣接Ｐピクチャ間の間隔が１となり、Ｂピクチャは使われない。このＭ＝１の場合ではＰピクチャは、１ピクチャ前の画像を参照して、フレーム間前方向予測が行われる。
【０００５】
また、図９(b)のように、Ｍ＝２としたときは、ＩピクチャとＰピクチャの間隔、隣接Ｐピクチャ間の間隔が２となり、これらのあいだにＢピクチャが１枚使われる。このＭ＝２の場合、Ｐピクチャは、２ピクチャ前のＩピクチャまたはＰピクチャを参照して、フレーム間予測が行われる。また、Ｂピクチャは、前後のＩピクチャまたはＰピクチャを参照して、双方向のフレーム間予測が行われる。そのため、Ｂピクチャを使う場合の符号化順序は、画像の入力順序とは異なり、両側の参照フレームの符号化が終了したあとで、符号化が行われる。
【０００６】
また、図９(c)のように、Ｍ＝３としたときは、ＩピクチャとＰピクチャの間隔、隣接Ｐピクチャ間の間隔が３となり、間にＢピクチャが２枚配置される。このＭ＝３の場合では、Ｐピクチャでは、３ピクチャ前のＩピクチャまたはＰピクチャを参照して、フレーム間予測が行われる。また、Ｂピクチャでは、Ｍ＝２の場合と同様に、前後のＩピクチャまたはＰピクチャを参照して、双方向のフレーム間予測が行われる。
【０００７】
Ｍの値が大きくなっても、以上と同様であり、ＩピクチャまたはＰピクチャの間隔はＭとなり、そのあいだにＢピクチャが（Ｍ−１）枚使われる。Ｐピクチャは、Ｍピクチャ前の画像を参照して、フレーム間予測が行われる。
【０００８】
Ｂピクチャを用いる理由としては、一般には双方向予測符号化による予測効率の向上があげられる。フレーム間予測の冗長度の削減は、同一の量子化ステップを使用したときの符号量削減につながり、ひいては同一圧縮率(符号化レート)の場合の画質向上につながる。
【０００９】
Ｂピクチャを用いる別な理由としては、前方向予測符号化が連続することによる誤差蓄積の改善があげられる。前方向予測符号化されるフレームが連続すると、参照される予測画像自体が、フレーム間予測符号化されたフレームとなる。予測符号化における参照画像がＩピクチャであるとき、その符号化画像の世代を１とし、以下、世代ｎの画像を参照画像とする符号化画像の世代をｎ＋１とすると、双方向予測を用いる場合に比べ、前方向予測のみの場合は時間経過に伴う世代数の増加が早くなる。その結果、符号化による量子化誤差が蓄積されて見えやすくなり、画質劣化の原因となる。双方向予測によりこの問題は緩和される。
【００１０】
以上のような利点が双方向予測にはある一方、ＩピクチャまたはＰピクチャの周期（フレーム間距離）Ｍを大きくすることは、フレーム間予測符号化をするにおいて不利になる。すなわち、一般にフレーム間予測のために参照する参照フレームとフレーム間予測対象の符号化フレームのフレーム間隔が広がるにつれて、フレーム間の相関は低くなり、フレーム間予測性能が低下してしまうからである。
【００１１】
したがって、Ｍ値で示されるＩピクチャまたはＰピクチャのフレーム間隔については入力画像に応じた最適点が存在する。そのため、同一圧縮率(符号化ビットレート)における画質向上を目的とするために、Ｍ値を最適化して符号化する必要がある。
【００１２】
このような課題を解決するための方式として、Ｍ値を符号化中に動的に変更しながら実行する方法がある。例えば、図１０はＭの値を小さくして行く場合の例である。ここで図中の文字はピクチャタイプと入力順のピクチャ番号を示している。図１０では、はじめはＭ＝３で符号化しており、次にＭ＝２に切り替わり、さらに、Ｍ＝１へと切り替わる場合を示している。
【００１３】
このように最適なＭ値で符号化するように、Ｍ値を変更しながら符号化する。Ｍ値の変更の仕方としては、図のように、入力順ではＩピクチャまたはＰピクチャの入力後、符号化順ではＩピクチャまたはＰピクチャの符号化前を境にしてＭ値を切り換えることで連続的に符号化することが可能である。
【００１４】
また、図１１は、Ｍの値を大きくして行く場合の例である。図１１は、はじめはＭ＝１で符号化し、次にＭ＝２に切り替わり、さらに、Ｍ＝３へと切り替わる場合を示している。ここで、大きなＭ値での符号化する場合には、Ｂピクチャの符号化の順序を並べかえる必要があることから、画像信号の入力から符号化までの間にフレーム遅延がある。そのため小さなＭ値で符号化を開始したとしても、符号化装置が扱える最大のＭ値で符号化した場合の遅延が許容できる以上のフレーム遅延をもって符号化を開始する必要がある。
【００１５】
さらに図１２は、Ｍの値を連続的に変化させるのではなく、Ｍ＝３からＭ＝１へ、あるいはＭ＝１からＭ＝３へと切り替わる場合の例である。この図に示すように、連続的でないＭの値相互でも切り替えが可能である。
【００１６】
従来、このように、Ｍ値を符号化中に動的に変更しながら実行する方法としては、特開平９−２９４２６６号公報に記載の技術（以下、「第１の従来技術」）がある。この公報には、動きベクトルの探索範囲に基づいて、フレーム間予測のフレーム間距離を変更する方式の一例が開示されている。この公報記載の技術では、動きベクトルの分布の割合に応じてフレーム間距離を増加させ、また、フレーム間差分値によってフレーム間距離を短縮させている。
【００１７】
例えば、図１３に示すように、Xl3〜Xu3の動きベクトルの探索範囲を持ち、現画面に対してＭ＝２で符号化している場合を考える。この時、探索範囲を2/3にした、Xl2〜Xu2の範囲の内側に、検出された動きベクトルが多く分布している場合には、Ｍ＝３にしても同じ探索範囲のもとで十分動きベクトルが探索できるのもと見なしＭ＝３にＭを増加させ、次にＰピクチャとして符号化するピクチャをP3にする。さもなくば、Ｍは２のまま次にＰピクチャとして符号化するピクチャをP2にする。またフレーム間差分が一定値を越えるたときには、逆にＭ＝１にＭを減少させ、次にＰピクチャとして符号化するピクチャをＰ１にする。
【００１８】
別な従来例として、Ｍ値を符号化中に動的に変更する技術としては、特開平１０−３０４３７４号公報に記載の技術（以下、「第２の従来技術」）がある。この公報には、予測効率の値に応じて、フレーム間予測のフレーム間距離を増減する方式の一例が開示されている。ここで予測効率としては、予測誤差の値とアクティビティの値を用いて計算している。
【００１９】
【発明が解決しようとする課題】
上記第１の従来技術の問題点は、検出された動きベクトルの分布だけでは、Ｍ値の最適化が必ずしもできないことである。その理由は、予測性能は単に探索範囲の大きさだけに依存しているわけではなく、動きベクトルが探索範囲に収まっていても、Ｍ値がより小さい方が良い場合があるからである。上記第１の従来の方法を用いた画像符号化装置の第２の問題点は、フレーム間差分の値だけでは、Ｍ値の最適化ができないことである。その理由は、予測性能は単にフレーム間差分の値だけに依存しているわけではなく、動き補償フレーム間予測によって、Ｍ値がより大きくても予測が当る場合には、Ｍを大きくしても良い場合があるからである。
【００２０】
上記第２の従来技術の問題点は、予測誤差の値とアクティビティの値を用いてもＭ値の最適化ができない可能性があるからである。その理由は予測の効率を基準にしているため、予測誤差の知覚される程度は考慮されていないからである。また、画像劣化の度合はフレーム間予測誤差を符号化した結果得られる画像に対して観測されるものであるが、量子化による影響が考慮されていないからである。
【００２１】
そこで本発明の課題は、予測誤差の知覚される程度を考慮してＭ値を最適化することである。
【００２２】
【課題を解決するための手段】
本発明は、フレーム内符号化、フレーム間前方向予測符号化、およびフレーム間双方向予測符号化を各フレーム符号化に適用するフレーム間動き補償予測を行う動画像を符号化する際に、フレーム間予測の予測性能を計算し、このフレーム間予測性能から前方向予測をするフレームの予測フレーム間隔を定めることにより、予測性能に応じて予測フレーム間隔を適応的に変化させて、動画像を符号化することを特徴とする。
【００２３】
【発明の実施の形態】
次に、本発明の第１の実施の形態について、図面を参照して詳細に説明する。
【００２４】
（構成）
図１は、本発明の第１の実施の形態を示す図である。図１によれば、本発明の動画像符号化装置は、入力画像蓄積部１０１、局所復号画像蓄積部１０２、動きベクトル探索部１０３、動き補償フレーム間予測部１０４、差分器１０５、予測誤差符号化部１０６、予測誤差復号化部１０７、加算器１０８、ビットストリーム変換部１０９、予測性能計算部１１０、予測フレーム間隔決定部１１１から構成される。
【００２５】
入力画像蓄積部１０１は、少なくとも入力画像を必要なフレーム遅延で符号化できる枚数だけ蓄積し、予測フレーム間隔決定部１１１で決定された予測構造にしたがって、符号化処理を行う順序で、記録している入力画像信号を出力する。以後入力画像は予め複数の領域に分割され、分割された領域ごとに符号化処理される。
【００２６】
局所復号画像蓄積部１０２は、既に符号化処理の済んだ画像を復号（局所復号）した結果の画像を蓄積する。蓄積された画像データは、予測フレーム間隔決定部１１１で決定された予測構造にしたがって、入力画像の動きベクトル探索および動き補償フレーム間予測の際に参照される画像データとして読みだされる。
【００２７】
動きベクトル探索部１０３では、入力画像蓄積部１０１から出力される画像に対して、局所復号画像蓄積部１０２に記録されている画像を参照画像とし、予測フレーム間隔決定部１１１で決定された予測構造にしたがって、選択された符号化対象の入力画像と、選択された参照画像とから動きベクトルの探索を行い、分割領域ごとの動きベクトルを検出し、予測のために使われる動きベクトル情報を出力する。
【００２８】
動き補償フレーム間予測部１０４では、予測フレーム間隔決定部１１１で決定された予測構造にしたがって、局所復号画像蓄積部１０２に記録されている画像を参照画像とし、動きベクトル探索部１０３で求めた動きベクトルおよび予測の方法にしたがって、動き補償フレーム間予測を行い、動き補償フレーム間予測画像を出力する。
【００２９】
差分器１０５では、符号化する入力画像と、予測された画像信号との差分を計算し、予測誤差信号を出力する。予測誤差符号化部１０６は、予測誤差信号を符号化処理し、符号化データを出力する。予測誤差復号化部１０７は、符号化データから予測誤差信号を復号し、復号化された予測誤信号を出力する。
【００３０】
加算器１０８は、前記復号化された予測誤信号と、前記動き補償フレーム間予測信号とを加算し、局所復号画像信号を出力する。この局所復号画像信号は局所復号画像蓄積部１０２に記録される。
【００３１】
ビットストリーム変換部１０９は、動きベクトル探索部１０３において求められた前記分割領域ごとの動きベクトルおよび予測の方法と、前記予測誤差符号化部１０６において処理された符号化データとをビット列に変換し出力する。また、符号化フレームごとに、生成した符号の量を計数する。
【００３２】
予測性能計算部１１０は、フレームの符号量計数結果からフレーム毎の予測性能を計算する。
【００３３】
予測フレーム間隔決定部１１１は、予測性能計算部１１０で計算したフレーム毎の予測性能にもとづいて、前方向予測を行うピクチャのフレーム間隔を決定し、図１０、１１、１２に示したように、次に切り替え可能な符号化位置からのＭ値を変更し、入力画像の符号化順序とピクチャタイプ、および、参照画像の指定を行う。
【００３４】
（動作）
図２は本発明の装置の動作を説明する流れ図である。図２はある１ピクチャの符号化の手順を示している。
【００３５】
まず、各フレームの画像は、予測フレーム間隔決定部１１１で定めた予測フレーム間隔と符号化ピクチャタイプにしたがって符号化される（ステップ２０１）。
【００３６】
ピクチャの符号化処理終了後、ステップ２０２では、当該ピクチャがＩピクチャでもＰピクチャでもなければ、そのまま次のピクチャ符号化処理に進む。当該ピクチャがＩピクチャあるいはＰピクチャの場合は、装置の動作は、ステップ２０３に進み、当該ピクチャの予測性能を計算する。
【００３７】
次に、ステップ２０４では、ステップ２０３で計算されたフレーム間予測性能が第１の閾値より小さいか否かを判定する。計算されたフレーム間予測性能が第１の閾値より小さい場合には、処理は、ステップ２０５に進み、そうでない場合には、ステップ２０７に進む。ステップ２０４では、Ｍ値が１より大きい否かが判定される。Ｍ値が１より大きければステップ２０８で，Ｍを減少させる。Ｍの値が１以下のときは、ステップ２０５の判定結果にかかわらず、Ｍの値は維持される。
【００３８】
ステップ２０７では、計算されたフレーム間予測性能が第２の閾値より大きいか否かが判定される。計算されたフレーム間予測性能が第２の閾値以下の場合には、次のピクチャ符号化処理に進む。計算されたフレーム間予測性能が第２の閾値より大きい場合には、装置の処理は、次のステップ２０８に進む。
【００３９】
ステップ２０８では、Ｍ値が符号化装置が扱える最大のＭ値より小さいか否かが判定される。Ｍ値が符号化装置が扱える最大のＭ値より小さい場合には、ステップ２０９で、Ｍを増加させる。そうでない場合には、次のピクチャ符号化処理に進む。
【００４０】
なお、Ｍ値の更新タイミングは、図１０、１１、１２に示したように、符号化順では次のIピクチャまたはＰピクチャからの符号化から更新されたＭ値での符号化する。
【００４１】
なお、このようにＭ値を可変にする制御を取り入れた場合、IピクチャはＰピクチャの代わりに任意のフレーム位置で符号化される。例えば、Ｉピクチャのフレーム間隔が予め定められた一定枚数を越えたときには、以上の論理にかかわらず、そのときのフレームを強制的にＩピクチャとすればよい。
【００４２】
ここで、通常Ｉピクチャのフレーム間隔Ｎは一定値になるように符号化されるが、Ｍ値の変更の組み合せによっては、ＩピクチャあるいはＰピクチャとして符号化されるピクチャが、常に固定の間隔で現れるわけではないので、Ｉピクチャのフレーム間隔Ｎも、結果として、可変になることがある。
【００４３】
（予測性能を測る尺度）
ここで予測性能を測る尺度としては、フレーム間前方予測符号化したフレームの発生符号量Spの値と、フレーム内符号化したフレームの発生符号量Siの値とを用いることができる。
【００４４】
あるいは、フレーム間前方予測符号化したフレームの符号化複雑度Xpの値と、フレーム内符号化したフレームの符号化複雑度Xiの値とを用いることができる。ここで符号化複雑度は、フレーム内予測誤差やフレーム間予測誤差に量子化を施す際に使用される量子化スケールに関連して定義される。即ち、そのフレームのフレーム内予測誤差やフレーム間予測誤差の符号化に用いられた量子化スケールのフレーム当りの平均値（ＭＱＳ）と、そのフレームの発生符号量（Ｓ）との積（ＭＱＳ）・（Ｓ）で定義される。即ち、この符号化複雑度は、全てのフレームで、同一大きさの量子化スケールを用いたと仮定した場合の、発生符号量を推定した値と考えることができる。量子化スケールの大きさは、画像内容に従って大きく変化し、また、量子化スケールの大きさにより、発生符号量は大きく変化するので、この符号化複雑度を予測性能を測る尺度として使用することにより、より適切なＭ値の算出が可能となる。また、この符号化複雑度は、各ピクチャの符号化の際に必然的に発生する情報である発生符号量や量子化スケールの大きさのみを用いて計算されるため、第２の従来方法のアクティビィティのような、各ピクチャの符号化動作自体には、必ずしも必要とされない情報を算出する必要はない。このことは、ハードウェアの規模増加の抑制や、符号化装置をソフトウェアで実現した場合のプロセッサの処理能力の低下の抑制という効果をもたらす。
【００４５】
通常、予測性能としては、予測の正確さを測るためにフレーム間予測誤差量が使われるが、同じ量の予測誤差であっても、絵柄の複雑さにによって感知される度合いが異なる。絵柄の複雑さについてはフレーム内符号化したフレームの発生符号量（すなわち、Ｉピクチャの発生符号量）や符号化複雑度に反映され、フレーム間予測誤差量については、フレーム間予測符号化したフレームの発生符号量や符号化複雑度に反映されることから、ピクチャタイプ別の発生符号量や符号化複雑度を利用することで、絵柄の複雑さを考慮した予測性能を測る尺度が得られる。
【００４６】
予測性能の尺度としては、絵柄の複雑なほど予測誤差が感知しにくくなることから、フレーム間前方予測符号化したフレームの発生符号量あるいは符号化複雑度の値が大きいほど、尺度が小さくなるようにし、フレーム内符号化したフレームの発生符号量あるいは符号化複雑度の値が大きいほど、尺度が大きくなるような関数とすればよい。
【００４７】
（閾値設定）
図３を参照し、本発明の閾値設定の考え方を説明する。図３に示したとおり、本発明は、予測性能が低く符号化ノイズが目立つ場合には、予測フレーム間隔を小さくして、予測性能が向上させる。逆に予測性能が十分大きければ、予測フレーム間隔を大きくして符号化効率をあげるようにする。このような、閾値処理により、Ｍ値を切り替えることにより、動画像が最適なＭ値で符号化されるように制御する。
【００４８】
［第２の実施形態］
本発明の第２の実施形態として、MPEG-2 (ISO-13818-2)規格を用いて、動画像を符号化する場合を説明する。図４は本発明の第２の実施形態を示す図である。
【００４９】
図４によれば、本実施形態の動画像符号化装置は、入力画像用フレームメモリ１２１、局所復号画像用フレームメモリ１２２、動きベクトル探索部１２３、動き補償フレーム間予測部１２４、差分器１２５、離散コサイン変換（ＤＣＴ）部１２６、量子化部１２７、可変長符号化（ＶＬＣ）部１２８、逆量子化部１２９、逆ＤＣＴ部１３０、加算器１３１、予測性能計算部１３２、予測フレーム間隔決定部１３３を有して構成される。
【００５０】
入力画像用フレームメモリ１２１は、少なくとも入力画像を必要なフレーム遅延で符号化できる枚数だけ蓄積し、予測フレーム間隔決定部１３３で決定された予測構造にしたがって、符号化処理を行う順序に応じて、記録している入力画像信号を出力する。ここで、入力画像は１６画素×１６ラインからなるマクロブロックに分割され、マクロブロックごとに符号化処理される。
【００５１】
局所復号画像用フレームメモリ１２２では、既に符号化処理の済んだ画像を局所復号した結果である局所復号画像を蓄積し、予測フレーム間隔決定部１３３で決定された予測構造にしたがって、入力画像の動きベクトル探索および動き補償フレーム間予測の際に、必要な局所復号画像信号を出力する。
【００５２】
動きベクトル探索部１２３では、フレーム間予測符号化を行うピクチャにおいて、入力画像蓄積部１２１から出力される画像に対して、局所復号画像蓄積部１２２に記録されている画像を参照画像として、予測フレーム間隔決定部１３３で決定された予測構造にしたがって、選択された符号化対象の入力画像と、選択された参照画像とから動きベクトルの探索を行い、分割領域ごとの動きベクトルを検出し、予測のために使われる動きベクトル情報を出力する。
【００５３】
動き補償フレーム間予測部１２４では、フレーム間予測符号化を行うピクチャにおいて、予測構造決定部１３２で決定された予測構造にしたがって、局所復号画像蓄積部１２２に記録されている画像を参照画像とし、動きベクトル探索部１２３で求めた動きベクトルおよび予測の方法にしたがって、動き補償フレーム間予測を行い、動き補償フレーム間予測画像を出力する。なお、フレーム内符号化を行うピクチャあるいは、フレーム内符号化を行うマクロブロックでは、動き補償フレーム間予測信号としては固定値０を出力する。
【００５４】
差分器１２５では、符号化対象の入力画像と、動き補償フレーム間予測部から供給される動き補償フレーム間予測画像との差分を計算し、予測誤差信号を出力する。なお、フレーム内符号化を行うピクチャあるいは、フレーム内符号化を行うマクロブロックでは、動き補償フレーム間予測信号としては、固定値０が差分器１２５に供給されているので、フレームメモリ１２１出力と同じ信号が出力される。
【００５５】
ＤＣＴ部１２６は、予測誤差信号をＤＣＴ変換し、変換係数を出力する。量子化部１２７は、前記変換係数を量子化し、量子化変換係数を出力する。量子化には量子化ステップが使われるが、量子化ステップは図示されない符号量制御部により、所望の符号量を得るために量子化ステップが調整される。
【００５６】
ＶＬＣ部１２８は、動きベクトル探索部１２３において求められた分割領域ごとの動きベクトルおよび予測の方法と、量子化部１２７において量子化処理された符号化データとを可変長符号化し、ビット列に変換して符号化データとして出力する。また、可変長符号化部１２８は、符号化フレームごとには生成した符号の量を計数する。
【００５７】
逆量子化部１２９は、前記量子化変換係数を逆量子化し、復号化変換係数を出力する。逆ＤＣＴ部１３０は、前記復号化変換係数を逆ＤＣＴ変換し、復号化予測誤信号を出力する。
【００５８】
加算器１３１は、前記復号化された予測誤信号と、前記動き補償フレーム間予測信号とを加算し、局所復号画像信号を生成出力する。この局所復号画像信号は局所復号画像蓄積部１０２に記録される。
【００５９】
予測性能計算部１３２は、フレームの符号化結果からフレーム毎の予測性能を計算する。
【００６０】
予測フレーム間隔決定部１３３は、予測性能計算部１３２が計算したフレーム毎の予測性能にもとづいて、前方向予測を行うピクチャのフレーム間隔を決定し、図１０、１１、１２に示したように、次に切り替え可能な符号化位置からのＭ値を変更し、入力画像の符号化順序とピクチャタイプ、および、参照画像の指定を行う。
【００６１】
（動作）
ここでは、Ｍ＝３とＭ＝１との間の切替を行う場合について説明する。図５は本発明の実施例の動作を説明する流れ図であり、ある１ピクチャの符号化の手順を示している。
【００６２】
まず、ステップ５０１で、各フレームの画像は、予測フレーム間隔決定部１３３で定めた予測フレーム間隔と符号化ピクチャタイプにしたがって符号化される。
【００６３】
ピクチャの符号化処理終了後、ステップ５０２では、ピクチャタイプの判定が行われ、当該ピクチャがＩピクチャでもＰピクチャでもなければ、そのまま次のピクチャ符号化処理に進む。当該ピクチャがＩピクチャあるいはＰピクチャの場合は、当該ピクチャの予測性能がステップ７０３で計算される。
【００６４】
続いて、ステップ５０４，５０６，５０７，５０９の処理が実行される。Ｍ＝３の場合には、計算されたフレーム間予測性能が第１の閾値より小さい場合には、Ｍ＝１にＭ値が変更される。さもなくば、Ｍ値は維持され、そのままＭ＝３で符号化をが続けられる。逆に、Ｍ＝１の場合には、計算されたフレーム間予測性能が第２の閾値より大きい場合には、Ｍ値は３に変更される。さもなくば、Ｍ値は1に維持されて、符号化が続けられる。
【００６５】
なお、Ｍ値の更新タイミングは、図１２に示したように、符号化順では次のIピクチャまたはＰピクチャからの符号化から切り替えたＭ値で、符号化される。
【００６６】
（閾値の設定）
図６に実施例での閾値設定を示す。まずＭ＝３で符号化している場合には、図６(a)に示すとおり、計算した予測性能と第１の閾値と比べてＭ＝１にするかＭ＝３のままにするかを決定する。またＭ＝１で符号化している場合には、図６(b)に示すとおり、計算した予測性能と第２の閾値と比べてＭ＝３にするかＭ＝１のままにするかを決定する。ここで予測性能の値は符号化したＭ値によって異なるので、符号化するＭ値に応じて第１の閾値と第２の閾値との組を複数組だけ予め定めておく。
【００６７】
（予測性能）
ここで予測性能の値 Pred は、下記(1)、(2)式に例示されるように、フレーム間前方予測符号化したフレームの発生符号量をSpとし、フレーム内符号化したフレームの発生符号量をSiとしたとき、それらの線形和あるいは比として計算できる。
Pred = Si - a * Sp  ...(1)
Pred = Si / Sp  ...(2)
【００６８】
あるいは、予測性能の値Pred は、フレーム間前方予測符号化したフレームの符号化複雑度をXpとし、フレーム内符号化したフレームの符号化複雑度をXiとし、それらの線形和あるいは比として計算できる。
Pred = Xi - b * Xp  ...(3)
Pred = Xi / Xp  ...(4)
なお、a、bは、定数である。
【００６９】
[第３の実施形態]  (Bピクチャ利用)
さらに他の実施形態として、Ｍ＞１で、Bピクチャを用いている場合には、Bピクチャの符号化情報を利用してもよい。例えばシーンチェンジやフラッシュ画像などがあると、Ｐピクチャにおいては、予測性能が瞬間的に低下してしまい、必ずしも適切ではない値にＭ値が変化をしてしまう場合がある。この問題を解決するためには、Bピクチャの予測性能をも用いるのが好ましい。この場合の処理手順を図７の流れ図に示す。
【００７０】
図７はある１ピクチャの符号化の手順を示している。
【００７１】
まず、各フレームの画像は予測フレーム間隔決定部１１１で定めた予測フレーム間隔と符号化ピクチャタイプにしたがって符号化される（ステップ７０１）。
【００７２】
ステップ７０１のピクチャの符号化処理終了後、本実施例の処理は、ステップ７０２に進む。ステップ７０２で、当該ピクチャがＩピクチャあるいはＰピクチャであると判定された場合には、ステップ７０３で当該ピクチャの第１の予測性能（Pred1）が計算される。そうでない場合には、第１の予測性能（Pred1）は計算されない。
【００７３】
ステップ７０４で、当該ピクチャがＩピクチャあるいはBピクチャと判定された場合は、ステップ７０５で当該ピクチャの第２の予測性能が計算される。そうでない場合には、第２の予測性能（Pred2）は計算されない。ここで、第１の予測性能はフレーム間前方向予測をするフレームの予測性能を、第２の予測性能はフレーム間双方向予測をするフレームの予測性能を示す。
【００７４】
次に、ステップ７０６で、計算された第１のフレーム間予測性能が第１の閾値より小さくかつ計算された第２のフレーム間予測性能が第３の閾値より小さいと判定された場合には、ステップ７０７で、Ｍ値が１より大きい否かが判定される。Ｍ値が１より大きければ、ステップ７０８で、Ｍ値は減少させられる。
【００７５】
逆に、ステップ７０６の判定条件が満足されないときは、ステップ７０９で、計算された第１のフレーム間予測性能が第２の閾値より大きく、かつ、計算された第２のフレーム間予測性能が第４の閾値より大きい場合には、ステップ７１０で、Ｍ値が符号化装置が扱える最大のＭ値より小さいか否かが判定される。そして、Ｍ値が符号化装置が扱える最大のＭ値より小さい場合には、ステップ７２０で、Ｍを増加させる。
【００７６】
なお、Ｍ値の更新タイミングは、図１０、１１、１２に示したように、符号化順では次のI ピクチャまたはＰピクチャからの符号化から切り替えたＭ値での符号化する。また、Ｍ＝１で符号化している場合には、Bピクチャは使用されないので、第２のフレーム間予測性能は使わずに、第１のフレーム間予測性能だけで判断する。
【００７７】
図８に本実施形態での閾値設定を示す。図８に示すとおり、本実施形態では、第１の予測性能と第２の予測性能がともに低い場合には、予測フレーム間隔を小さくする。逆に第１の予測性能と第２の予測性能がともに高い場合には、予測フレーム間隔を大きくして符号化効率をあげるようにする。なお、Ｍ値の増減の方法は、図８に示した４つ閾値による分類だけでなく、２つの予測性能で示される空間を任意な領域形状で分類してもよい。
【００７８】
また、第１の予測性能の尺度としては、前記の式(1)から(4)のように、フレーム間前方予測符号化したフレームの発生符号量Spとフレーム内符号化したフレームの発生符号量Siとから、あるいは、フレーム間前方予測符号化したフレームの符号化複雑度Xpとフレーム内符号化したフレームの符号化複雑度をXiとから計算できる。
【００７９】
また、第２の予測性能の尺度 Pred2 としても同様に、フレーム間双方向予測符号化したフレームの発生符号量Sbとフレーム内符号化したフレームの発生符号量Siとから、あるいは、フレーム間双方向予測符号化したフレームの符号化複雑度Xbとフレーム内符号化したフレームの符号化複雑度をXiとからつぎのように計算できる。
【００８０】
Pred2 = Si - c * Sb  ...(5)
Pred2 = Si / Sb  ...(6)
Pred2 = Xi - d * Xb  ...(7)
Pred2 = Xi / Xb  ...(8)
なお、c,dは、定数である。
【００８１】
[第４の実施形態]  (M直接計算 M=f(Pred) )
さらに他の実施形態として、予測性能尺度 Pred に対して閾値処理により、Ｍ値の増減をする方法ではなく、予測性能尺度 Pred の値から、Ｍ値を直接計算してもよい。例えば式(9)のように決める。
M = A + B * Pred  ...(9)
なお、Ａ，Ｂ は定数である。なお、（９）式の計算の結果、（９）式右辺が自然数とならないときは、計算された値にもっとも近い自然数が、新しいＭ値となる。
【００８２】
Ｍ値の計算方法は、ここに記載したのもだけではなく、予測性能尺度 Pred が大きいほど大きなＭ値を、予測性能尺度 Pred が小さいほど小さなＭ値をとるものであれば、別な型式の式でもよい。
【００８３】
あるいは計算式を用いて直接計算する代わりに、Predの値から表引きでＭ値を求めるようにしてもよいことは勿論である。
【００８４】
さらに、第２の予測性能尺度 Pred2 を含む形式としてもよい。
【００８５】
【発明の効果】
本発明は、適切なＭ値の切替えを実行でき、符号化画質が改善できる。その理由は、符号化による画質劣化が検知される度合を基準にしているからである。
【図面の簡単な説明】
【図１】本発明の動画像符号化装置の実施の形態を説明するブロック図である。
【図２】本発明の動画像符号化装置の実施の形態の動作を説明するための流れ図である。
【図３】本発明の動画像符号化装置で用いる、閾値設定について説明する図である。
【図４】本発明の動画像符号化装置の実施例を説明するブロック図である。
【図５】本発明の動画像符号化装置の実施例の動作を説明する流れ図である。
【図６】本発明の動画像符号化装置の実施例で用いる、閾値設定について説明する図である。
【図７】本発明の動画像符号化装置の別な実施例の動作を説明する流れ図である。
【図８】本発明の動画像符号化装置の別な実施例で用いる、閾値設定について説明する図である。
【図９】Ｍ＝１、２、３の時それぞれにおいて前方向予測符号化を行う画像との参照画像とのフレーム間隔について説明する図である。
【図１０】本発明の動画像符号化装置に対する入力画像の順序と符号化処理の順序の関係を示す図である。
【図１１】本発明の動画像符号化装置に対する入力画像の順序と符号化処理の順序の関係を示す図である。
【図１２】本発明の動画像符号化装置に対する入力画像の順序と符号化処理の順序の関係を示す図である。
【図１３】従来の動画像符号化装置の動作を説明するための図である。
【符号の説明】
１０１  入力画像蓄積部
１０２  局所復号画像蓄積部
１０３、１２３  動きベクトル探索部
１０４  動き補償フレーム間予測部
１０５、１２５  減算器
１０６  予測誤差符号化部
１０７  予測誤差復号化部
１０８  加算器
１０９  ビットストリーム変換部
１１０、１３２  予測性能計算部
１１１、１３３  予測フレーム間隔決定部
１２１、１２２  フレームメモリ
１２６  離散コサイン変換（ＤＣＴ）部
１２７  量子化部
１２８  可変長符号化（ＶＬＣ）部
１２９  逆量子化部
１３０  逆ＤＣＴ部
【図１】
0003757088.tif 000002
【図２】
0003757088.tif 000003
【図３】
0003757088.tif 000004
【図４】
0003757088.tif 000005
【図５】
0003757088.tif 000006
【図６】
0003757088.tif 000007
【図７】
0003757088.tif 000008
【図８】
0003757088.tif 000009
【図９】
0003757088.tif 000010
【図１０】
0003757088.tif 000011
【図１１】
0003757088.tif 000012
【図１２】
0003757088.tif 000013
【図１３】
0003757088.tif 000014