(57)【要約】【課題】　リアルタイムＶＢＲビデオ符号化システムを提供することによって高い圧縮率を得ながら符号化ビデオ・シーケンスのピクチャ品質を向上させる。【解決手段】　ビデオ・フレームのシーケンスをハードウエア、ソフトウエア、又はそれらの組合せによりリアルタイムで適応的に符号化するための方法、システム、及びコンピュータ・プログラム製品が提供される。第１符号化サブシステムがビデオ・フレームのシーケンスを分析して、動き統計量、非動き統計量、シーン変化統計量、又はシーン・フェーディング統計量のような、その少なくとも１つの特性に関する情報を導出する。収集された情報はフレーム内特性又はフレーム間特性であってもよい。制御プロセッサが第１符号化サブシステムに結合されてその収集された情報をリアルタイムで自動的に分析し、制御パラメータのセットを動的に生じさせる。制御プロセッサに結合された第２符号化サブシステムが、制御パラメータの対応するセットを使用してビデオ・フレームのシーケンスの各フレームを符号化する。【選択図】　図５
2004120786.tif 000002
【特許請求の範囲】
【請求項１】
　ビデオ・フレームのシーケンスを符号化するための方法にして、
　（ａ）第１符号化サブシステムを使用して、ビデオ・フレームのシーケンスを分析し、シーン変化、符号化されたピクチャの品質、及びピクチャ・タイプのうちの少なくとも１つの特性に関する情報を導出するステップと、
　（ｂ）前記少なくとも１つの特性を自動的に処理して、ビデオ・フレームのシーケンスの符号化で使用される少なくとも１つの制御可能なパラメータの値を生成するステップと、
　（ｃ）第２符号化サブシステムで前記少なくとも１つの制御可能なパラメータの値を使用して、前記ビデオ・フレームのシーケンスを符号化する符号化ステップと、
　を含む方法。
【請求項２】
　前記少なくとも１つの特性はシーン変化を含み、
　前記ステップ（ｂ）はシーン変化に対して各フレームを自動的に評価し、シーン変化の検出時には、前記少なくとも１つの制御可能なパラメータの値を決定する場合、前記ビデオ・フレームのシーケンスにおける先行フレームからの情報を無視する
　ことを特徴とする請求項１に記載の方法。
【請求項３】
　前記ステップ（ｂ）は、シーン変化が検出されなかった各フレームについて、前記符号化されたピクチャの品質を事前定義の閾値と自動的に比較する
　ことを特徴とする請求項２に記載の方法。
【請求項４】
　前記ステップ（ｂ）は、更に、前記ステップ（ｃ）で各フレームを符号化するためのビットの数を前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合には増加し、前記符号化されたピクチャの品質が前記事前定義の閾値よりも高い場合には減少するように、前記少なくとも１つの制御可能なパラメータの値を設定するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
　前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合、前記量子化パラメータは、前記ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして定義され、
　前記新しい平均量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記符号化されたピクチャの品質が前記閾値よりも高い場合、前記量子化パラメータは前記先行量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの間の差との和として定義される
　ことを特徴とする請求項４に記載の方法。
【請求項６】
　前記少なくとも１つの制御可能なパラメータの値をバッファするステップと、
　現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値が前記第２符号化サブシステムに同時に供給されるように、前記バッファするステップに同期して前記ビデオ・フレームのシーケンスを遅延させるステップと、
　を更に含むことを特徴とする請求項４に記載の方法。
【請求項７】
　ビデオ・フレームのシーケンスを符号化するためのシステムにして、
　ビデオ・フレームのシーケンスを分析し、シーン変化、符号化されたピクチャの品質、及びピクチャ・タイプのうちの少なくとも１つの特性に関する情報を導出する第１符号化サブシステムと、
　前記第１符号化サブシステムに接続され、前記少なくとも１つの特性に関する情報を処理してビデオ・フレームのシーケンスの符号化において使用される少なくとも１つの制御可能なパラメータの値を生成する制御プロセッサと、
　前記制御プロセッサに接続され、前記少なくとも１つの制御可能なパラメータの値を受け取り、該値を使用して前記ビデオ・フレームのシーケンスを符号化し、符号化ビデオ・データのビットストリームを発生する第２符号化サブシステムと、
　を含むシステム。
【請求項８】
　前記符号化ビデオ・データのビットストリームは可変ビット・レート又は固定ビット・レートのビットストリームを含むことを特徴とする請求項７に記載のシステム。
【請求項９】
　前記少なくとも１つの特性はシーン変化を含み、
　前記制御プロセッサは前記ビデオ・フレームのシーケンスの各フレームを前記シーン変化について自動的に監視し、シーン変化の検出時に、前記ビデオ・フレームのシーケンスにおける１つ又は複数の先行フレームからの情報を無視して、前記少なくとも１つの制御可能なパラメータの値を決定する手段を含むことを特徴とする請求項７に記載のシステム。
【請求項１０】
　前記制御プロセッサは、シーン変化が検出されなかった各フレームについて、前記符号化されたピクチャの品質を事前定義の閾値と自動的に比較するための手段を含む
　ことを特徴とする請求項９に記載のシステム。
【請求項１１】
　前記制御プロセッサは、更に、前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合、各フレームの符号化において前記第２符号化サブシステムによって使用されるビットの数が増加されるように、及び前記符号化されたピクチャの品質が前記事前定義の閾値よりも高い場合、前記ビットの数が減少されるように、前記少なくとも１つの制御可能なパラメータの値を自動的に設定するための手段を含むことを特徴とする請求項１０に記載のシステム。
【請求項１２】
　前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合、前記制御プロセッサは、前記量子化パラメータを、ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして定義するための手段を含み、
　前記新しい平均量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記符号化されたピクチャの品質が前記閾値よりも高い場合、前記制御プロセッサは前記量子化パラメータを、前記先行量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの間の差との和として定義するための手段を含む
　ことを特徴とする請求項１１に記載のシステム。
【請求項１３】
　前記少なくとも１つの制御可能なパラメータの値をバッファするための手段と、
　現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値が前記第２符号化サブシステムに同時に供給されるように、前記値のバッファリングと同期して前記ビデオ・フレームのシーケンスを遅延させるための手段と
　を更に含むことを特徴とする請求項１１に記載のシステム。
【請求項１４】
　コンピュータ読み取り可能なプログラム・コードを有するコンピュータが読取可能な記録媒体であって、ビデオ・フレームのシーケンスを符号化する場合に使用するための前記記録媒体において、前記プログラム・コードは、
　コンピュータに、前記ビデオ・フレームのシーケンスを分析させて、シーン変化、符号化されたピクチャの品質、及びピクチャ・タイプのうちの少なくとも１つの特性に関する情報を導出するための第１のプログラム・コードと、
　コンピュータに、前記少なくとも１つの特性を自動的に処理させてビデオ・フレームのシーケンスの符号化で使用される少なくとも１つの制御可能なパラメータの値を生成するための第２のプログラム・コードと、
　前記少なくとも１つの制御可能なパラメータの値を使用して、コンピュータに、前記ビデオ・フレームのシーケンスを符号化させる第３のプログラム・コードと、
　を含むことを特徴とする前記記録媒体。
【請求項１５】
　前記少なくとも１つの特性はシーン変化を含み、
　前記第２のプログラム・コード手段はコンピュータに、各フレームをシーン変化について自動的に監視させ、シーン変化の検出時に、ビデオ・フレームのシーケンスにおける先行フレームからの情報を無視して前記少なくとも１つの制御可能なパラメータの値を決定するためのプログラム・コードを含むことを特徴とする請求項１４に記載の記録媒体。
【請求項１６】
　前記第２のプログラム・コードは、シーン変化が検出されない各フレームに対してコンピュータに、当該フレームの前記符号化されたピクチャの品質を事前定義の閾値と自動的に比較させるためのプログラム・コードを含む
　ことを特徴とする請求項１５に記載の記録媒体。
【請求項１７】
　前記第２のプログラム・コード手段は、更に、前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合、各フレームの符号化において使用されるビットの数が増加されるように、及び前記符号化されたピクチャの品質が前記事前定義の閾値よりも高い場合、前記ビットの数が減少されるように、コンピュータに、前記少なくとも１つの制御可能なパラメータの値を自動的に設定させるためのプログラム・コードを含むことを特徴とする請求項１６に記載の記録媒体。
【請求項１８】
　前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記符号化されたピクチャの品質が前記事前定義の閾値よりも低い場合、前記量子化パラメータは、ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして前記第２のプログラム・コード手段によって定義され、
　前記新しい平均量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記符号化されたピクチャの品質が前記閾値よりも高い場合、前記量子化パラメータは、前記先行量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの間の差との和として定義される
　ことを特徴とする請求項１７に記載の記録媒体。
【請求項１９】
　前記少なくとも１つの制御可能なパラメータの値をバッファし、現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値の同時利用可能性を保証するために、コンピュータに、前記値のバッファリングと同期して前記ビデオ・フレームのシーケンスを遅延させるためのプログラム・コードを更に含むことを特徴とする請求項１７に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、概して云えば、ディジタル・ビジュアル・イメージの圧縮に関するものであり、更に詳しく云えば、１つ又は複数の制御可能な符号化パラメータをフレーム毎に又はフレーム内で動的に変更するためにビデオ・シーケンスから導出されたイメージ統計を使用してそのビデオ・シーケンスをリアルタイムで符号化するための技法に関するものである。
【背景技術】
【０００２】
　過去の１０年において、世界的な電子通信システムの出現は、人々が情報を送信及び受信できる手段を強化させている。特に、リアルタイム・ビデオ及びオーディオ・システムの機能は最近の数年間で非常に改良されている。ビデオ・オン・デマンド及びテレビ会議のようなサービスを加入者に提供するためには、莫大な量のネットワーク帯域幅が必要とされる。事実、ネットワーク帯域幅はそのようなシステムの実効性において主な阻害要因となることが多い。
【０００３】
　ネットワークによって課せられた制約を克服するために、圧縮方式が出現している。これらの方式は、ピクチャ・シーケンスの中の冗長性を取り除くことによって、送信を要するビデオ及びオーディオ・データの量を減少させるものである。受信エンドにおいて、ピクチャ・シーケンスが圧縮解除され、リアルタイムで表示可能である。
【０００４】
　最近出現したビデオ圧縮標準の一例は、動画エキスパート・グループ（ＭＰＥＧ）標準である。そのＭＰＥＧ標準では、所与のピクチャ内及びピクチャ相互間の両方におけるビデオ圧縮が定義されている。ピクチャ内のビデオ圧縮は、離散コサイン変換、量子化、及び可変長符号化により、時間ドメインから周波数ドメインにディジタル・イメージを変換することによって達成される。ピクチャ相互間のビデオ圧縮は、動き推定及び補償と呼ばれるプロセスを介して達成される。そのプロセスでは、１つのピクチャから他のピクチャへの一組の画素（ペル）の変換を記述するために、動きベクトル及び差分データが使用される。
【０００５】
　ＩＳＯ　ＭＰＥＧ−２標準は、ビット・ストリームのシンタックス及び復号プロセスのセマンティックスだけを指定する。符号化パラメータの選択及び性能対複雑性におけるトレードオフがエンコーダ開発者に残されている。
【０００６】
　符号化プロセスの１つの局面は、ビデオのディテール及び品質を維持しながらディジタル・イメージをできるだけ小さいビットストリームに圧縮することである。ＭＰＥＧ標準はビットストリームのサイズに関する制限を設け、エンコーダが符号化プロセスを遂行することができることを必要とする。従って、所望のピクチャ品質及びディテールを維持するためにビット・レートを単純に最適化することは困難であることがある。
【０００７】
　例えば、ビット・レートはビット／秒で定義される。符号化されるピクチャのフレーム・レート及びタイプに基づいて、１ピクチャ当たり、複数のビットが割り振られる。６,０００,０００ビット／秒（６Ｍｂｐｓ）及び３０ピクチャ・フレーム／秒の時、ビットが一様に割り振られるものと仮定すると、各ピクチャには２００,０００ビットを割り振られることになる。１３５０個のマクロブロックを有する７２０×４８０ピクチャの場合、これはマクロブロック当たり１４８ビットの割り振りとなる。従って、シーン変化及びアクション・ビデオの場合、ビット・レートは、マクロブロック相互間又はフレーム相互間の激しい変化によってビット・レートを急速に使い果たしてしまうことがある。その結果、ピクチャの品質及びディテールが損なわれることがある。
【０００８】
　所望のピクチャ品質を得ながら最高の圧縮量を得るためには、ビデオ圧縮は先進技術を必要とする。可変ビット・レート（ＶＢＲ）符号化はビデオ圧縮におけるオプションであり、これは各圧縮されたピクチャがピクチャ内及びピクチャ間の特性の複雑度に基づいて異なるビット量を持つことを可能にする。例えば、所望のピクチャ品質を得るためには、簡単なピクチャ内容（カラー・テスト・パターンのような）を持ったシーンは、符号化のためには、複雑なピクチャ内容（混雑した街路のような）を持ったシーンよりもかなり少ないビットしか必要としないであろう。ビデオを特徴付けるために必要とされる情報の量のために、及び情報を解釈して符号化プロセスを効果的に強化させるために必要とされるアルゴリズムの複雑性のために、ＶＢＲ符号化は、２つ以上のパスの非リアルタイム符号化プロセスによって行われるのが一般的である。第１のパスでは、統計が収集及び分析され、第２パスでは、符号化プロセスを制御するために、その分析の結果が使用される。これは高品質の符号化を生じさせるけれども、リアルタイム・オペレーションを可能にするものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
　本発明は、リアルタイムＶＢＲビデオ符号化システムを提供することによって高い圧縮率を得ながら符号化ビデオ・シーケンスのピクチャ品質を向上させようとするものである。
【課題を解決するための手段】
【００１０】
　要約すれば、本発明は、１つの局面では、フレーム・シーケンスを符号化するための方法より成る。その方法は、ビデオ・フレームのシーケンスを分析し、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプの少なくとも１つである少なくとも１つの特性に関する情報を導出するために第１符号化サブシステムを使用するステップ、ビデオ・フレームのシーケンスの符号化において使用される少なくとも１つの制御可能なパラメータに対する値を生じさせるために前記少なくとも１つの特性をリアルタイムで自動的に処理するステップと、第２符号化サブシステムを使用してビデオ・フレームのシーケンスを符号化し、前記少なくとも１つの制御可能なパラメータの値を使用して符号化ビデオ・データのビットストリームを生じさせるステップとを含む。
【００１１】
　もう１つの局面では、本発明は、一連のビデオ・フレームを符号化するためのシステムを含む。そのシステムは第１符号化サブシステム、制御プロセッサ、及び第２符号化サブシステムを含む。第１符号化サブシステムは、ビデオ・フレームのシーケンスを分析してそれの少なくとも１つの特性に関する情報を導出するために使用される。その少なくとも１つの特性は、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプのうちの少なくとも１つを含む。制御プロセッサは、少なくとも１つの特性に関する情報をリアルタイムで自動的に処理するために第１符号化サブシステムに結合され、ビデオ・フレームのシーケンスを符号化する場合に使用される少なくとも１つの制御可能なパラメータに対する値を生じさせる。第２符号化サブシステムは、少なくとも１つの制御可能なパラメータの値を受け取るために制御プロセッサに結合される。第２符号化サブシステムは、少なくとも１つの制御可能なパラメータの対応する値を使用してビデオ・フレームのシーケンスの各フレームを符号化し、それによって、符号化ビデオ・データのビットストリームを生じさせる。
【００１２】
　更なる局面では、本発明は、ビデオ・フレームのシーケンスを符号化する場合に使用するためのコンピュータ読取り可能なプログラム・コード手段を有するコンピュータで使用可能な媒体を含むコンピュータ・プログラム製品より成る。そのコンピュータ・プログラム製品におけるコンピュータ読取り可能なプログラム・コード手段は、次のようなことをコンピュータに実行させるためのコンピュータ読取り可能プログラム・コード手段を含む。そのプログラム・コード手段は、ビデオ・フレームのシーケンスを分析させ、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプのうちの少なくとも１つを含む少なくとも１つの特性に関する情報を導出させ、ビデオ・フレームのシーケンスを符号化する場合に使用される少なくとも１つの制御可能パラメータに対する値を生じさせるために少なくとも１つの特性を自動的に処理させ、符号化されたビデオ・データのビットストリームを生じさせるために少なくとも１つの制御可能なパラメータの値を使用してビデオ・フレームのシーケンスを符号化させる。
【００１３】
　一般的に云って、本発明の原理による符号化は、特に低いビット・レートでは、非適応性のエンコーダ・システムに比べて改良されたピクチャ品質を生じる。これは、例えば、フレーム間及びフレーム内の適応ビット割振りを使用することが低いビット・レート符号化では高いビット・レート符号化に比べてよりクリティカルであるためである。本発明は、２つのエンコーダ及びリアルタイム統計処理を使用するリアルタイム・ビデオ・データ符号化方法を提供する。統計処理は、第１エンコーダと第２エンコーダとの間に結合されたプロセッサにおいて達成され、第１エンコーダによって発生された統計を分析して第２エンコーダのための符号化パラメータを発生させる。次に、第２エンコーダが、その符号化パラメータを使用して高品質の、高度に圧縮されたビデオ・ストリームを供給する。ＭＰＥＧ−２標準が仮定されるが、本願に示される概念は、他の標準にも適用し得るものである。本発明の符号化技法は、固定ビット・レート（ＣＢＲ）モードにおけるデコード・ビデオ・シーケンスの半固定ピクチャ品質、或いは可変ビット・レート（ＶＢＲ）符号化モードにおける固定ピクチャ品質を保証し得るものである。
【発明を実施するための最良の形態】
【００１４】
　本発明は、例えば、「情報テクノロジ − 動画及び関連のオーディオ情報に関する汎用符号化：ビデオ（InformationTechnology-Generic coding of moving pictures and associated audio information:Video）」と題した　Ｈ.２６２、ＩＳＯ／ＩＥＣ　１３８１８−２、ドラフト国際標準、１９９４の勧告ＩＴＵ−Ｔに記述されているようなＭＰＥＧ準拠エンコーダ及び符号化プロセスに関するものである。そのエンコーダによって遂行される符号化機能は、データ入力、空間圧縮、動き推定、マクロブロック・タイプ発生、データ再構成、エントロピ符号化、及びデータ出力を含む。空間圧縮は、離散コサイン変換（ＤＣＴ）、量子化、及びエントロピ符号化を含む。時間圧縮は、逆離散コサイン変換、逆量子化、及び動き補償のような集中的再構成処理を含む。動き推定及び補償は時間圧縮機能のために使用される。空間圧縮及び時間圧縮は高度の計算要件を持った反復機能である。
【００１５】
　更に詳しく云えば、本発明は、例えば、離散コサイン変換、量子化、エントロピ符号化、動き推定、動き補償、及び予測を含む空間及び時間圧縮を遂行するためのプロセスに関するものであり、特に、空間及び時間圧縮を達成するためのシステムに関するものである。
【００１６】
　第１圧縮ステップは、空間冗長性の除去、例えば、「Ｉ」フレーム・ピクチャの静止画における空間冗長性の除去である。空間冗長性はピクチャ内の冗長性である。ＭＰＥＧ−２ドラフト標準は、空間冗長性を減少させるブロック・ベースの方法を使用しようとするものである。選択の方法は、離散コサイン変換及びピクチャの離散コサイン変換符号化である。離散コサイン変換符号化は加重スカラ量子化及びランレングス符号化と結合され、望ましい圧縮を達成する。
【００１７】
　離散コサイン変換は直交変換である。直交変換は、周波数ドメインの解釈を有するため、フィルタ・バンク指向である。離散コサイン変換も局所化される。即ち、符号化プロセスは、６４個の変換係数又はサブ・バンドを計算するに十分な８×８空間ウインドウでサンプルする。
【００１８】
　離散コサイン変換のもう１つの利点は、速い符号化及び復号アルゴリズムが使用可能であることである。更に、離散コサイン変換のサブバンド分解は、心理的な視覚特性の効果的な使用を可能にしている。
【００１９】
　変換後、周波数係数の多く、特に、高い空間周波数に対する係数はゼロである。これらの係数はジグザグ状に又は交互走査パターン状に編成され、ラン−振幅（ラン−レベル）の対に変換される。各対はゼロ係数の数及び非ゼロ係数の振幅を表す。これは可変長符号で符号化される。
【００２０】
　動き補償は、ピクチャ間の冗長性を減少させるために或いは除去するために使用される。動き補償は、現在のピクチャをブロックに、例えば、マクロブロックに分けること、しかる後、同様な内容を持った近くのブロックを求めて以前に伝送されたピクチャを探索することによって時間冗長性を利用する。現在のブロック・ペルと参照ピクチャから抽出された予測ブロック・ペルとの間の差分だけが伝送のために実際に圧縮され、しかる後、伝送される。
【００２１】
　動き補償及び予測の最も簡単な方法は、「Ｉ」ピクチャにおけるすべてのペルの輝度及び色差を記録し、しかる後、後続のピクチャにおける各ピクセルに対する輝度及び色差の変化を記録することである。しかし、これは、オブジェクトがピクチャ間で動くため、即ち、ピクセル内容が１つのピクチャにおける１つのロケーションから後続のピクチャにおける異なるロケーションに動くため、伝送媒体帯域幅、メモリ、プロセッサ能力、及び処理時間の面で不経済である。更に進んだ考えは先行ピクチャ又は後続ピクチャを使用して、ピクセルのブロックが、後続のピクチャ又は先行のピクチャの何処にあるかを、例えば、動きベクトルを使って予測し、その結果を「予測ピクチャ」、又は「Ｐ」ピクチャとして書くということである。更に詳しく云えば、これは、ｉ番目のピクチャのピクセル又はピクセルのマクロブロックがｉ−１番目のピクチャ又はｉ＋１番目のピクチャ内の何処にあるかに関して最良の推定又は予測を行うことを伴う。後続及び先行のピクチャの両方を使用して、ピクセルのブロックが中間ピクチャ又は「Ｂ」ピクチャ内の何処にあるかを予測することも行われる。
【００２２】
　ピクチャ符号化順序及びピクチャ伝送順序が必ずしもピクチャ表示順序に一致しないことは注意すべきことである（図２参照）。Ｉ−Ｐ−Ｂシステムの場合、入力ピクチャ伝送順序は符号化順序とは異なっており、入力ピクチャは符号化のために使用されるまで一時的に記憶されなければならない。バッファはこの入力を、それが使用されるまで記憶する。
【００２３】
　図１には、ＭＰＥＧ準拠符号化の一般化したフローチャートが示される。そのフローチャートにおいて、ｉ番目のピクチャ及びｉ＋１番目のピクチャのイメージが動きベクトルを発生するために処理される。動きベクトルは、ピクセルのマクロブロックが先行又は後続のピクチャ内の何処にあるかを予測する。動きベクトルの使用は、ＭＰＥＧ標準における時間圧縮の必須の要件である。図１に示されるように、動きベクトルは、一旦発生されると、ｉ番目のピクチャからｉ＋１番目のピクチャへのピクセルのマクロブロックの変換に使用される。
【００２４】
　図１に示されるように、符号化プロセスでは、ｉ番目のピクチャ及びｉ＋１番目のピクチャのイメージがエンコーダ１１において処理され、例えば、ｉ＋１番目のピクチャ及びそれに後続するピクチャが符号化されそして伝送される形式である動きベクトルを発生する。後続ピクチャの入力イメージ１１１はエンコーダの動き推定ユニット４３に進む。動きベクトル１１３は動き推定ユニット４３の出力として形成される。これらのベクトルは動き補償ユニット４１によって使用され、このユニットによる出力のために、「参照」データと呼ばれるマクロブロック・データを先行ピクチャ又は後続ピクチャから検索する。動き補償ユニット４１の１つの出力は、動き推定ユニット４３からの出力と負の和をとられ、離散コサイン変換器２１に進む。離散コサイン変換器２１の出力は量子化器２３において量子化される。量子化器２３の出力は２つの出力１２１及び１３１に分けられる。一方の出力１２１は、伝送前の更なる圧縮及び処理のために、ラン・レングス・エンコーダのような下流エレメント２５に進む。他方の出力１３１は、フレーム・メモリ４２に記憶するためにピクセルの符号化されたマクロブロックの再構成に進む。例示のエンコーダでは、この第２出力１３１は、差分マクロブロック（ＭＢ）を非可逆的に再構成するために、逆量子化器２９及び逆離散コサイン変換器３１を通過する。このデータは動き補償ユニット４１の出力との和をとられ、再構成された現マクロブロック・データをフレーム・メモリ４２に戻す。
【００２５】
　図２に示されるように、３つのタイプのピクチャがある。全体を符号化されて伝送され、動きベクトルが定義される必要のない「イントラ符号化ピクチャ」又は「Ｉ」ピクチャがある。これらの「Ｉ」ピクチャは動き推定のための参照イメージとして働く。先行ピクチャからの動きベクトルによって形成され、更なるピクチャに対する動き推定のための参照イメージとして働き得る「予測符号化ピクチャ」又は「Ｐ」ピクチャがある。最後に、他の２つのピクチャ、即ち、１つの過去のピクチャ及び１つの将来のピクチャからの動きベクトルを使用して形成され、動き推定のための参照イメージとして働き得ない「双方向予測符号化ピクチャ」又は「Ｂ」ピクチャがある。動きベクトルは「Ｉ」ピクチャ及び「Ｐ」ピクチャから発生され、「Ｐ」ピクチャ及び「Ｂ」ピクチャを形成するために使用される。
【００２６】
　図３に示される動き推定を行う１つの方法は、最良一致マクロブロック２１３を見つけるために、ｉ番目のピクチャのマクロブロック２１１から次のピクチャの領域を探索することによるものである。この方法でマクロブロックを変換すると、図４に示されるように、ｉ＋１番目のピクチャに対するマクロブロックのパターンを生じる。この方法では、ｉ番目のピクチャが、ｉ＋１番目のピクチャを発生するために、例えば、動きベクトル及び差分データによって少し変化させられる。符号化されるものは、動きベクトル及び差分データであって、ｉ＋１番目のピクチャそのものではない。動きベクトルはピクチャ間でのイメージの位置変化を示し、一方、差分データは色差、輝度、及び彩度の変化、即ち、陰影及び照度の変化を示す。
【００２７】
　図３に戻ると、良好な一致を見つけるための探索は、ｉ番目及びｉ＋１番目のピクチャの同じ位置から開始する。探索ウインドウがｉ番目のピクチャ内に作られる。この探索ウインドウ内での最良一致を求めて探索が行われる。それが見つかると、そのマクロブロックに対する最良一致動きベクトルが符号化される。最良一致マクロブロックの符号化は、次のピクチャにおいてｘ方向及びｙ方向に何ピクセル変位すると最良一致になるかを示す動きベクトルを含む。「予測誤差」とも呼ばれる差分データも符号化される。差分データは、現マクロブロックと最良一致参照マクロブロックとの間の色差及び輝度の差である。
【００２８】
　ＭＰＥＧ−２エンコーダの操作機能は、１９９７年４月１日に出願された米国特許出願第０８／８３１１５７号に詳しく説明されている。
【００２９】
　前述のように、エンコーダの性能やピクチャ品質は、本発明の原理によるリアルタイム適応ビデオ符号化によって向上する。ビデオ・エンコーダは、フレームのシーケンスとして受信されたビデオ・データに適応するように構成される。本発明の一実施例によれば、２つの符号化サブシステムが使用される。２つの符号化サブシステムを使用する重要な利点は、リアルタイム符号化の前にビデオ・シーケンスを分析できることである。ビデオ・シーケンスの分析は、ビデオ・データから導出可能な１つ又は複数の統計量を計算することを含む。
【００３０】
　統計的手法は、例えば、フレームの複雑度、イメージ・フレーム間の動き、シーン変化、又はフェーディング等の、イメージ・フレームの種々な特性を説明することができる。計算された統計量を使用して、リアルタイム符号化プロセスの１つ又は複数の符号化パラメータを制御することにより、ビデオ・シーケンスの適応符号化が行われる。例えば、ビット割振り、量子化パラメータ、符号化モード等は、特定のフレームの特性（例えば、シーン内容）の導出された統計に従ってフレーム毎に又は所与のフレーム内のマクロブロック毎に変更可能である。
【００３１】
　図５には、全体的に３００として表された本発明の原理による符号化システムの一実施例が示される。ここでも、説明の便宜上、ＭＰＥＧ標準を仮定することにする。しかし、他の実現方法及び標準が本発明の適応符号化の概念を使用し得ることは当業者には明らかであろう。システム３００は、２つの符号化サブシステム（Ｅ１）３３０及び（Ｅ２）３６０を含む。１つの実現方法では、後述のように、符号化サブシステムＥ１及びＥ２は同じハードウエアを持つが、ソフトウエアは異なっている。Ｅ１は、フレーム間／フレーム内の非動き統計量、動き統計量等のような所望の統計量、即ち、符号化サブシステム（Ｅ２）の特定のビット・レート制御アルゴリズムにとって重要である統計量を発生するようにプログラムされる。Ｅ２は、符号化サブシステムＥ１によって発生された統計量に基づいて符号化フレームを発生する。
【００３２】
　動作的には、先ず、一連のビデオ・フレーム３１０がフレーム記憶装置３２０によって受信される。フレーム記憶装置３２０では、符号化の仕様（例えば、Ｉ、ＩＰ、ＩＢＢＰ符号化）に応じて、１つ又は複数のフレームがバッファされる。これは、フレーム記憶装置３２０を適当な数のピクチャ・バッファ（ピクチャ・グループ（ＧＯＰ）構造によって決定される）に区分することによって達せられる。これらの区分は遅延制御ロジック３５０によって管理される。設計によって決まる十分な遅延の後、ビデオ・フレーム情報が符号化サブシステム（Ｅ１）３３０に送られる。Ｅ１はイメージ統計に関する情報を導出し、この情報を統計量バッファ３４０にフレーム毎に記憶する。遅延制御ロジック３５０は、着信ビデオ・データ及びイメージ統計量のバッファリングを管理し、フレーム記憶装置３２０からのビデオ・フレーム及び統計量バッファ３４０からの導出された統計量を符号化サブシステム（Ｅ２）３６０に符号化順に給送する。これらの統計量を使用して、サブシステムＥ２は、後述するように、フレームを適応的に符号化し、そして受信されたビデオ入力３１０の１つ又は複数の特性に関する統計量を発生することを可能にするに十分なフレーム時間だけしか遅延されずにその符号化されたビットストリーム３７０を出力する。
【００３３】
　図６には、汎用の符号化サブシステム４００が示される。このサブシステム４００は、受信したビデオ・データに関する非動き統計量を計算するためのハードウエア／ソフトウエア４２０、及び実際のビデオ圧縮、即ち、動き推定、動き圧縮、量子化、可変長符号化等を遂行するためのハードウエア／ソフトウエアより成る符号化エンジン４１０を含む。符号化サブシステム（Ｅ１）３３０（図５）は統計量収集ロジック４２０及び符号化エンジン４１０の両方を使用し、一方、符号化サブシステム（Ｅ２）３６０（図５）は符号化エンジン４１０だけを使用する。従って、サブシステムＥ１における符号化の第１パスの間、動きベクトルに基づく動き統計量が符号化エンジン４１０により計算される。次いで、符号化サブシステムＥ２は、符号化エンジン４１０を通る第２パスを使用して符号化ビットストリームを出力する。
【００３４】
　本発明によるシステムのリアルタイム・オペレーション及び関連のフレーム遅延が表１のＭＰＥＧ−２の例において示される。この例では、１つのＢピクチャが２つのアンカ・ピクチャの間にある（ＩＢＰＢＰＢＰ．．．）と想定され、非動き統計量が収集されている。ビデオ・データの１つのフレームだけが統計量計算の前にバッファされ、フレームの入力及び出力の間の遅延は、この例では、最大４フレーム分である。
【表１】
2004120786.tif 000003
【００３５】
　本発明の原理を使用した他の実現方法も当業者には明らかであろう。例えば、ビデオ・データは、それがＢピクチャを持たず、しかも統計量がフレーム内である場合、第１符号化サブシステムＥ１及びフレーム記憶装置に並列に入力可能である。
【００３６】
　符号化サブシステムＥ１において計算される統計量の例を次に説明することにする。
【００３７】
　前述のように、符号化サブシステムＥ１はイメージ・データから統計量を計算する。これらの統計量に基づいて、サブシステムは、シーン変化又はフェーディング検出を識別するというような事前処理ステップを実行することもできる。サブシステムＥ１によって計算される特定の統計量は、サブシステムＥ２における速度制御アルゴリズムの実現方法に依存する。ＭＰＥＧ−２符号化の場合、フレームのための或いはフレーム内の量子化を決定するために使用可能な広範囲のピクチャ統計量が存在する。以下で開示される統計量は単に例として与えられるだけであり、別のＥ２ビデオ圧縮アルゴリズムが異なった統計量を使用することも可能である。
【００３８】
　一般に、フレーム統計量は２つのグループ、即ち、フレーム内統計量及びフレーム間統計量に分けられる。フレーム内統計量はフレーム内のピクセル・データのみを使用して計算され、一方、フレーム間統計量はイメージ・シーケンスからの幾つかの連続したイメージ（一般には、２つの連続したイメージ）を使用して得られる。フレーム内統計量及びフレーム間統計量は更にグローバル量及びローカル量に分けられる。グローバル量はイメージ・フレーム全体の特性を記述し、ローカル統計値はフレームの各区画に対して、例えば、フレームの各マクロブロックに対して計算される。ここで示される統計量は輝度データから計算可能である。しかし、色差データからも更なる統計量を導出することが可能である。
【００３９】
Ａ．フレーム内統計量
（ａ）グローバル量：
　＊　フレームの平均ピクセル間差分（ＡＩＤ）−
　　　　ＡＩＤは、フレームのイメージ・ラインにおける２つの連続したピクセ
　　　　ル間の絶対差分の平均である。ＡＩＤが高ければ高いほど、フレームに
　　　　おけるディテールも高い。この量は、フレームのピクセルが通過する時
　　　　、ピクセル・インターフェースのハードウエアによって計算される。
　＊　フレームの平均アクティビティ（ＡＶＡＣＴ）−
　　　　ＡＶＡＣＴは、フレーム中のマクロブロック変動の平均として算定され
　　　　る。マクロブロック変動は、マクロブロックのピクセル値から統計的平
均として算定可能である。平均アクティビティはピクチャの複雑度に関
　　　　する情報を与える。
【００４０】
（ｂ）ローカル量：
　上記グローバル量の計算中、ローカル量も得られる。従って、各区画、例えば、マクロブロック（ＭＢ）に対して、ＭＢ−ＡＩＤ及びＭＢ−ＡＶＡＣＴ統計量が記憶され、しかる後、フレームのローカル適応符号化のためにサブシステムＥ２によって使用可能である。
【００４１】
Ｂ．フレーム間統計量
　これらの統計量は、イメージ・シーケンスの連続したフレーム間の関係、例えば、動きの発生、シーン変化、フェーディング、又はマクロブロックにおけるノイズの識別を記述する。
【００４２】
（ａ）グローバル量：
　＊　フレームの平均フレーム差分（ＡＦＤ）−
　　　　ＡＦＤは、現ピクチャの輝度ピクセル値と先行フレームの同じ位置にお
けるピクセル値との間の絶対差分の平均である。
　＊　ＤＦＤ（変位フレーム差分）の変動　−
　　　　ピクセルにおけるＤＦＤを得るためには、２つの連続したフレームを使
　　　　用して各マクロブロックに対する動きベクトルが計算されなければなら
　　　　ない。ＤＦＤは、現フレームにおけるピクセル値と先行又は後続フレー
　　　　ムにおける対応する（推定された動きベクトルによって変位された）ピ
　　　　クセル値との間の差分である。変動は、フレーム全体の各ピクセルに対
　　　　して計算されたＤＦＤの統計的平均として算定可能である。
【００４３】
（ｂ）ローカル量：
　＊　マクロブロックに対するＤＦＤの変動　−
　　　　グローバル量と同じであるが、変動はマクロブロックに対して算定され
　　　　る。
　＊　動きベクトルの変動（隣接する動きベクトル間の差分）
【００４４】
Ｃ．シーン変化検出
　２つの連続したフレーム考察する。上記の統計量（グローバル及びローカル）はフレーム毎に得ることができる。シーン変化を検出するための種々の可能性が存在する。例えば、
（ａ）（ＡＶＡＣＴ（ｉ）−ＡＶＡＣＴ（ｉ−１））＞閾値１　である場合、フレームｉは新しいシーンに属する。閾値１は経験的に決定される。
（ｂ）（ＡＩＤ（ｉ）−ＡＩＤ（ｉ−１））＞閾値２　である場合、フレームｉは新しいシーンに属する。閾値２は経験的に決定される。
（ｃ）条件（ａ）及び（ｂ）の組合せ。
（ｄ）（ＡＦＤ）＞閾値３　である場合、フレームｉは新しいシーンに属する。閾値３は経験的に決定される。
（ｅ）シーン変化検出　−　フレーム間統計量。
　ＤＦＤ変動＞閾値４　である場合、及び（ＡＩＤ（ｉ）−ＡＩＤ（ｉ−１））＞閾値２　である場合、フレームｉは新しいシーンに属する。それらの閾値は経験的に決定される。１つの動きベクトルしかマクロブロック（ＭＢ）にとって利用可能でなく、しかもそれが必ずしもそのＭＢの各ピクセルにとって真の動きベクトルではないので、閾値４は慎重に選択されなければならない。
【００４５】
　シーン変化が検出される場合、これはサブシステムＥ２に知らされる。サブシステムＥ２は、それに応答して、先行のシーンに属する先行のピクチャからの如何なる情報も無視することが可能である。Ｅ２は、ピクチャの符号化モードを再構成することもできる。例えば、新しいシーンに属する最初のピクチャはＩピクチャとして符号化可能である。
【００４６】
Ｄ．フェーディング検出
　フェーディングは、基本的には、変化が急である真のシーン・カットとは対照的にフレームが徐々に変化する遅いシーン変化である。フェーディングは次のような２つの方向を有する。即ち、
（１）第１シーンが徐々に消える。
（２）第２シーンが徐々に現れる。
【００４７】
　フェーディングの存在及びその方向は先行フレームに対するピクセル間の合計値の差分のパーセンテージによって決定可能である。即ち、フレームＮ＋１のピクセルの合計値が経験的に決定されたパーセンテージだけフレームＮとは異なる場合、フェーディングが生じている。その方向は、大きさの符号によって、即ち、ゼロよりも大きいか小さいかによって決定される。フェーディングが検出される場合、これはＥ２に知らされる。
【００４８】
　前述のように、符号化サブシステムＥ２は、符号化サブシステムＥ１と同じ符号化エンジン・アーキテクチャを持つことができるが、統計量収集ハードウエア／ソフトウエアは使用しない。フレーム・シーケンスの適応符号化は、符号化エンジンのレート制御アルゴリズムによって、即ち、上記の発生された統計量を使用することによって実行される。これは２ステップ・プロセスである。
【００４９】
　先ず、ビット・レート、符号化モード、及びフレーム相互の相対的特性に従って、ピクチャ毎にビット割振りが定義される。次に、対応する量子化パラメータ（ＱＵＡＮＴ）が定義される。ＭＰＥＧ−２互換のビットストリームでは、ＱＵＡＮＴ値はマクロブロック毎に変化可能であり、フレーム内のローカル適応量子化を可能にする。本発明によれば、前述のグローバル量を使用して、ピクチャ毎に第１グローバルＱＵＡＮＴ値が定義される。次に、特定のマクロブロックに対するＱＵＡＮＴ値が、そのマクロブロックのローカル統計量に基づいてグローバルＱＵＡＮＴ値を調整することにより得られる。
【００５０】
　符号化サブシステムＥ１内でシーン変化を検出することによって、及びピクチャ統計量を事前に知ることによって、シーン変化の検出後、先行シーンに属する先行ピクチャからの情報を放棄することが可能である。例えば、新しいピクチャ・グループ（ＧＯＰ）を新しいシーンから開始することができる。古いシーンからのパラメータを使用する代わりに、事前定義された初期レート制御パラメータを使用して、新しいＧＯＰのフレームに対するグローバルＱＵＡＮＴ値を計算することが可能である。
【００５１】
　フェーディングがサブシステムＥ１によって検出された場合、サブシステムＥ２は、それに応答して、動き推定／補償のための適正な参照フレームを使用するか、或いはフレームの符号化モードを変更することができる。これの一例は、Ｉピクチャを強制すること、或いはＰ又はＢピクチャにおけるすべてのマクロブロックをイントラ・マクロブロックとして符号化することであってもよい。
【００５２】
　ローカル適応量子化も可能である。この方法の目的は、割り振られたビットをシーン内容に基づいてマクロブロック間で分配することであろう。１つの可能な方法は、符号化されるべき現ピクチャのＡＶＡＣＴを使用することである。各マクロブロックに対するＭＢ−ＡＶＡＣＴも統計量バッファに記憶される。ＭＢのＱＵＡＮＴ値は、ＡＶＡＣＴ及びＭＢ−ＡＶＡＣＴの比によってグローバルＱＵＡＮＴ値を調整することにより得られる。例えば、マクロブロック・アクティビティがピクチャＡＶＡＣＴに関して高い場合、この特定のマクロブロックのＱＵＡＮＴはグローバルＱＵＡＮＴに関して増加され、アクティビティが低い場合は減少される。
【００５３】
　本発明の適応符号化システムに従って、ローカル統計量は、ピクチャ内のノイズのあるマクロブロックを識別するためにも使用可能である。マクロブロックが高いＤＦＤ値を持ち、アクティビティも高い場合、そのマクロブロックはノイズのあるものと宣言可能である。ノイズのあるマクロブロックは高いＱＵＡＮＴ値によって符号化可能であり、その結果、ビット節約が生じる。余ったビットは、フレーム内のノイズのないマクロブロックを符号化するために使用可能である。従って、ピクチャの全体的品質が改良される。
【００５４】
　本発明の符号化システムがローカル適応量子化の機能を遂行する方法の一例を次に示す。各マクロブロックに対する量子化値を決定するために、符号化サブシステムはマクロブロックのＭＢ−ＡＶＡＣＴ及びＤＦＤを統計量バッファ３４０（図５）から受け取る。次に、サブシステムＥ２は、それらの値を使用して、そのマクロブロックに対する最も効率的なＱＵＡＮＴ値を決定する。
【００５５】
　本発明の原理による符号化システム／方法の更なる局面を、図７乃至図９を参照して次に説明することにする。この機能強化された実施例では、本発明は、２つのエンコーダ及び１つの制御プロセッサを使用してビデオ・データのリアルタイム符号化を行う。図７に示されるように、第１エンコーダ即ち符号化サブシステム（Ｅ１）５１０は入力ビデオ・データ５０１を受信し、制御プロセッサ（ＣＰ）５２０に送るための統計量をそこから発生する。更に詳しく云えば、符号化サブシステムＥ１は未圧縮のビデオ・データを受信し、現ピクチャとビデオ・データのシーケンスにおける他のピクチャに対するそれの関係とを記述した統計量を導出する。
【００５６】
　次に、制御プロセッサ５２０は、統計技法（後述する）を使用してそれらの発生された統計量を分析し、第２エンコーダ即ち符号化サブシステム（Ｅ２）５４０による使用のために１つ又は複数の符号化パラメータを発生する。符号化サブシステムＥ２は、そのような機能強化された符号化パラメータを使用して高品質の高度に圧縮されたビデオ・ストリーム５４１をリアルタイムで生じさせる。符号化サブシステムＥ２は、遅延ユニット５３０でデルタＴ（１乃至Ｘフレーム）だけ遅延された入力ビデオ・データ５０１も受け取る。遅延ユニット５３０からの入力データは、サブシステムＥ２が制御プロセッサからの対応する機能強化された符号化パラメータを使用して各フレームを符号化できるように、制御プロセッサ５２０からの機能強化された符号化パラメータに同期させられる。
【００５７】
　符号化サブシステムＥ１によって発生される統計量は、前述のように、ピクチャを伴う情報（フレーム内）又は複数のピクチャ間の差分に基づいて収集された情報（フレーム間）に基づくものである。フレーム内統計量の例は次のものである。
（１）ピクチャの複雑性
（２）ビット・カウント
（３）信号対雑音比（ＳＮＲ）
フレーム間統計量の例は次のものを含む。
（１）動きベクトル
（２）動き検出
（３）反復フィールド
（４）予測誤差
（５）シーン変化
これらの統計量を決定するために使用可能な技法は当業者には明らかであろう。
【００５８】
　制御プロセッサは符号化サブシステムＥ１からの統計量を使用して統計分析ルーチンを遂行し、第２符号化サブシステムＥ２の符号化プロセスを制御するための１つ又は複数のパラメータを発生する。制御可能なパラメータの例は、１ピクチャ当たりのビット数、ピクチャ・タイプ、反復フィールドの通知、フィールド又はフレーム符号化、フレーム間の動きの最大量（探索ウインドウ）、及び量子化パラメータ（Ｍｑｕａｎｔ）を含む。
【００５９】
　図８は、シーン変化が生じたかどうかを決定するために及びピクチャ品質の測定を行うために、ビデオ・データのシーケンスが符号化サブシステム（Ｅ１）５１０において分析されるという処理ルーチンの一実施例を示す。これらの統計量は（使用されるビット、ピクチャ・タイプ、及び目標ビット・レートと共に）制御プロセッサ（ＣＰ）５２０に供給される。制御プロセッサは、この例では、受け取った統計量から、第２符号化サブシステム（Ｅ２）５４０に供給される量子化パラメータ（Ｍｑｕａｎｔ）を発生する。符号化サブシステムＥ２は、符号化サブシステムＥ１によって使用されたビデオ・データのシーケンスの遅延バージョンを受け、符号化ビデオ・ビットストリームをそこから発生する。
【００６０】
　図９は、制御プロセッサ５２０内に実装される統計処理ルーチンの一例を示す。この例における制御プロセッサの主要な機能は、最後に符号化されたピクチャの統計量及び所与のシーン内の前に符号化されたピクチャのヒストリに基づいて新しいピクチャに対するエンコーダ・パラメータの新しいセットを決定することである。エンコーダ・パラメータの新しいセットは、第２符号化サブシステムが可変出力ビット・レートを持った一定品質のピクチャを生じることを可能にする。
【００６１】
　符号化サブシステムＥ２への入力ビデオ・データは、遅延５３０を除けば、符号化サブシステムＥ１へのそれと同じである。遅延は、符号化サブシステムＥ１が、例えば、２つのピクチャを処理して、それらのピクチャの１つ又は複数の特性に対する平均値を発生することを可能にする。この遅延は、制御プロセッサが符号化サブシステムＥ１からの統計量を分析して、符号化サブシステムＥ２において処理されるべき現ピクチャに対する新しいパラメータのセットを発生することも可能にする。
【００６２】
　制御プロセッサが、符号化プロセッサＥ１において処理されるすべてのピクチャに関する統計量を収集することが望ましい。この統計量の収集（ブロック６００）は、一実施例では、シーン変化及びピクチャ品質の統計量を含む。考えられる別の統計量は、使用されるビット、ピクチャ・タイプ、目標ビット・レート、平均ピクチャＭｑｕａｎｔ等を含む。図９のルーチンでは、制御プロセッサは、先ず、所与のピクチャが最後のピクチャと同様な内容を有するかどうか、即ち現ピクチャが新しいシーンに属するかどうかを識別する（ブロック６１０）。現ピクチャが同じシーンに属さない場合、符号化パラメータは現ピクチャのピクチャ複雑性に基づいてリセットされる（ブロック６２０）。これらのリセットされた符号化パラメータはバッファに供給され（ブロック６６０）、前述のように、第２符号化サブシステム５４０への出力及び第２符号化サブシステム５４０による使用を待つ。
【００６３】
　現ピクチャの内容が先行ピクチャの内容と同様である場合、即ち、シーン変化がない場合、符号化パラメータは、そのシーンにおける同じタイプの先行ピクチャからの情報に基づくものでもよい。例えば、図９のルーチンは、１つ又は複数のパラメータを定義するために「ピクチャ品質」を使用する。ピクチャ品質は、現ピクチャを符号化するために第１符号化サブシステムによって過剰なビットが使用されたかどうかを表す。（サブシステムＥ１によって使用される符号化パラメータは、先行フレームを符号化するためにサブシステムＥ２によって使用されるものであってもよく、或いは基準パラメータ・セットを構成するものであってもよい）。
【００６４】
　ピクチャ品質閾値は事前定義され、当業者によって経験的に導出可能である。例えば、その閾値は、所望のビット・レート及びピクチャ内容に基づいて定義可能である。ピクチャ品質を測定する方法は信号対雑音比を決定するものであってもよい。代表的な適度の信号対雑音比は３０乃至４０ｄｂの範囲にある。１つの実施例では、「ピクチャ品質」は、符号化及び復号後のフレームを、第１符号化サブシステムＥ１に入力されたオリジナルのフレームと比較することによって決定可能である。制御プロセッサは、先ず、現ピクチャ品質（即ち、Ｅ１からの出力品質）が事前定義の閾値を超えるかどうかを決定する（ブロック６３０）。それが閾値を超える場合、現ピクチャで使用したビットを、ビデオ・データのシーケンスにおける更に複雑なピクチャのために取っておくことができる。
【００６５】
　例えば、制御プロセッサは、所与のシーンのピクチャによって使用される平均Ｍｑｕａｎｔ、平均品質、及び平均ビットのようなピクチャ統計量を収集及び累積する。新たにＥ１で符号化された現シーンのピクチャに関するこれらの統計量は、現ピクチャの符号化パラメータをリファインすべき方法を決定するために平均シーン統計量と比較される。従って、制御プロセッサは、第２符号化サブシステムＥ２による使用のために現ピクチャの制御パラメータをシーンのヒストリから学習し、それを調節する。
【００６６】
　調節の量は、この例では、最新のＭｑｕａｎｔ（「先行Ｍｑ」）及び同じピクチャ・タイプの平均Ｍｑｕａｎｔ（「Ａｖ　Ｍｑ」）に関連する。品質が目標の品質閾値よりも高い時、Ｍｑｕａｎｔはビット消費を少なくするために増加されなければならない。品質が目標の品質閾値よりも低い時、それとは逆にＭｑｕａｎｔを減少する必要がある。その増加又は減少の量は、更新された平均Ｍｑｕａｎｔと先行の平均Ｍｑｕａｎｔとの差である。この調節により、目標の品質閾値への収斂が可能になる。
【００６７】
　従って、ピクチャ品質がその事前定義された閾値を超える時、第２符号化サブシステムによって使用されるべき現Ｍｑｕａｎｔ（即ち、「次のＭｑ」）は、新しい平均Ｍｑｕａｎｔと先行の平均Ｍｑｕａｎｔとの差と、最新のＭｑｕａｎｔ（先行Ｍｑ）との和として定義される。新しい平均Ｍｑｕａｎｔは、第２符号化サブシステムによって符号化されるべき現ピクチャまでの且つその現ピクチャを含む、現シーンにおける同じピクチャ・タイプのピクチャのヒストリにわたって平均化されたものである。先行の平均Ｍｑｕａｎｔは、現ピクチャの前までの同様な平均である。第１符号化サブシステムからの出力品質が事前定義の閾値よりも小さい場合、同じ差分値がオフセットとして使用される。この場合、第２符号化サブシステムによって使用されるべきＭｑｕａｎｔを小さくし、それによってピクチャ品質を高めるために、その差分値が先行のＭｑｕａｎｔから減じられる（ブロック６５０）。図９に示されるように、次の又は現在のＭｑｕａｎｔは第２符号化サブシステムＥ２による使用のためにバッファされる（ブロック６６０）。
【００６８】
　現ピクチャが新しいシーンの開始である時、古いヒストリは適用不可能である。従って、現ピクチャの複雑性に基づいて制御パラメータの新しいセットが確認されなければならない。次いで、この制御パラメータの新しいセットが、出力品質に基づいて収集及びリファイン化される統計量を発生するために、第１符号化サブシステムＥ１に与えられる。従って、符号化サブシステムＥ１内のシーンの第１ピクチャの出力に従って、そのシーンの第２ピクチャに対する制御パラメータが上方又は下方に調節される。ピクチャ１及び２の出力統計量が新しいシーンに対する開始ヒストリを形成するように重量平均され、ピクチャ１の制御パラメータが、前述のように、第２符号化サブシステムＥ２のために導出される。
【００６９】
　シーン変化に続く各ピクチャ・タイプのＭｑｕａｎｔは、そのシーン変化に続くＩピクチャのＭｑｕａｎｔに基づく。例えば、Ｐピクチャに対する初期Ｍｑｕａｎｔは１.２ Ｍｑｕａｎｔ（Ｉ）として定義可能であり、Ｂピクチャに対する初期Ｍｑｕａｎｔは２ Ｍｑｕａｎｔ（Ｉ）として定義可能である。一旦ピクチャ・タイプ当たりのＭｑｕａｎｔ値が初期設定されると、その後のＭｑｕａｎｔ値は同じピクチャ・タイプの先行Ｍｑｕａｎｔの平均及び現ピクチャの複雑性に基づく。Ｍｑｕａｎｔのヒストリはピクチャ・タイプ毎に収集され、シーン変化が生じるまでリファインされ、シーン変化が生じると、Ｍｑｕａｎｔは再初期設定される。
【００７０】
　前述のように、実際の符号化が行われる第２符号化サブシステムＥ２に、同期的に遅延したビデオ符号化シーケンス（入力データ）が供給される。その遅延は、１フレームというわずかなものから、システムがメモリに記憶し得る数のフレームまで変化可能である。多数のフレームに跨る統計分析が望ましいアプリケーションの場合、多くのビデオ・フレームをバッファすることが非実用的なものになることがある。しかし、２つのビデオ・ソースを使用すること及びソースによる第２符号化サブシステムＥ２への供給の開始を遅らせることによって、大量のメモリを追加することなく、より大きなフレーム遅延が実現可能である。これらの技法により、遅延した入力データ及び統計量の適切な調整によって、リアルタイム・データが符号化可能である。最終ステップにおいて、第２符号化サブシステムＥ２は制御プロセッサからの符号化パラメータを受け入れ、それらを現ピクチャに適用して、高品質、低ビット・レートのＭＰＥＧ−２可変ビット・レート（ＶＢＲ）圧縮ビデオ・ストリームを生じさせる。本発明をＶＢＲアプリケーションに関して説明したけれども、開示された技法が固定ビット・レート（ＣＢＲ）符号化の品質を改良するように拡張可能であることは当業者には明らかであろう。ＣＢＲ適用のために統計分析及び符号化パラメータをチューニングすることによって、これを行うことが可能である。
【００７１】
　本発明の原理に従った符号化の結果、非適応エンコーダ・システムに比べて、特に、低ビット・レートの場合、ピクチャ品質が改善されるということは上記の説明から当業者には明らかであろう。これは、フレーム間及びフレーム内の適応ビット割振りを使用することが、低いビット・レート符号化では、より高いビット・レート符号化に比べてよりクリティカルであるためである。更に、本発明の符号化技法は、固定ビット・レート（ＣＢＲ）モードにおける符号化／復号ビデオ・シーケンスの半固定ピクチャ品質、又は可変ビット・レート（ＶＢＲ）符号化モードにおける固定ピクチャ品質を保証することが可能である。
【００７２】
　更に、本発明は、例えば、コンピュータ使用可能な媒体を有する製造物（例えば、１つ又は複数のコンピュータ・プログラム製品）に含まれることも可能である。その媒体は、例えば、本発明の機能を提供及び促進するためのコンピュータ読取り可能プログラム・コード手段を組み込んだものである。それらの製造物は、コンピュータ・システムの一部として含まれるか或いは別個に販売可能である。
【００７３】
　本願において示された流れ図は例として与えられたものである。本発明の精神から逸脱することなく、これらの流れ図、或いは、本願に開示されたステップ又はオペレーションを変更することができる。例えば、場合によっては、ステップは別の順序で遂行可能であり、ステップが追加、削除、又は修正されてもよい。これらの変更はすべて、請求の範囲に記載されている本発明の一部を構成するものと考えられる。
【００７４】
　まとめとして、本発明の構成に関して以下の事項を開示する。
【００７５】
（１）ビデオ・フレームのシーケンスを符号化するための方法にして、
　（ａ）第１符号化サブシステムを使用して、ビデオ・フレームのシーケンスを分析し、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプのうちの少なくとも１つを含む少なくとも１つの特性に関する情報を導出するステップと、
　（ｂ）前記少なくとも１つの特性を自動的に処理して、ビデオ・フレームのシーケンスの符号化で使用される少なくとも１つの制御可能なパラメータの値を生成するステップと、
　（ｃ）第２符号化サブシステムで前記少なくとも１つの制御可能なパラメータの値を使用して前記ビデオ・フレームのシーケンスを符号化する符号化ステップと、
　を含む方法。
（２）前記少なくとも１つの特性はシーン変化を含み、
　前記ステップ（ｂ）はシーン変化に対して各フレームを自動的に評価し、シーン変化の検出時には、前記少なくとも１つの制御可能なパラメータの値を決定する場合、前記ビデオ・フレームのシーケンスにおける先行フレームからの情報を無視する
　ことを特徴とする上記（１）に記載の方法。
（３）前記少なくとも１つの特性は更にピクチャ品質を含み、
　前記ステップ（ｂ）は、シーン変化が検出されなかった各フレームについて、前記ピクチャ品質を事前定義の閾値と自動的に比較する
　ことを特徴とする上記（２）に記載の方法。
（４）前記ステップ（ｂ）は、更に、前記ステップ（ｃ）で各フレームを符号化するためのビットの数を前記ピクチャ品質が前記事前定義の閾値よりも低い場合には増加し、前記ピクチャ品質が前記事前定義の閾値よりも高い場合には減少するように、前記少なくとも１つの制御可能なパラメータの値を設定するステップを含むことを特徴とする上記（３）に記載の方法。
（５）前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記ピクチャ品質が前記事前定義の閾値よりも低い場合、前記量子化パラメータは、前記ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして定義され、
　前記新しい量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記ピクチャ品質が前記閾値よりも高い場合、前記量子化パラメータは前記先行平均量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの差との和として定義される
　ことを特徴とする上記（４）に記載の方法。
（６）前記少なくとも１つの制御可能なパラメータの値をバッファするステップと、　現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値が前記第２符号化サブシステムに同時に供給されるように、前記バッファするステップに同期して前記ビデオ・フレームのシーケンスを遅延させるステップと、
　を更に含むことを特徴とする上記（４）に記載の方法。
（７）ビデオ・フレームのシーケンスを符号化するためのシステムにして、
　ビデオ・フレームのシーケンスを分析し、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプのうちの少なくとも１つを含む少なくとも１つの特性に関する情報を導出する第１符号化サブシステムと、
　前記第１符号化サブシステムに接続され、前記少なくとも１つの特性に関する情報を処理してビデオ・フレームのシーケンスの符号化において使用される少なくとも１つの制御可能なパラメータの値を生成する制御プロセッサと、
　前記制御プロセッサに接続され、前記少なくとも１つの制御可能なパラメータの値を受け取り、該値を使用して前記ビデオ・フレームのシーケンスを符号化し、符号化ビデオ・データのビットストリームを発生する第２符号化サブシステムと、
　を含むシステム。
（８）前記符号化ビデオ・データのビットストリームは可変ビット・レート又は固定ビット・レートのビットストリームを含むことを特徴とする上記（７）に記載のシステム。
（９）前記少なくとも１つの特性はシーン変化を含み、
　前記制御プロセッサは前記ビデオ・フレームのシーケンスの各フレームを前記シーン変化について自動的に監視し、シーン変化の検出時に、前記ビデオ・フレームのシーケンスにおける１つ又は複数の先行フレームからの情報を無視して、前記少なくとも１つの制御可能なパラメータの値を決定する手段を含むことを特徴とする上記（７）に記載のシステム。
（１０）前記少なくとも１つの特性は更にピクチャ品質を含み、
　前記制御プロセッサは、シーン変化が検出されなかった各フレームについて、そのピクチャ品質を事前定義の閾値と自動的に比較するための手段を含む
　ことを特徴とする上記（９）に記載のシステム。
（１１）前記制御プロセッサは、更に、前記ピクチャ品質が前記事前定義の閾値よりも低い場合、各フレームの符号化において前記第２符号化サブシステムによって使用されるビットの数が増加されるように、及び前記ピクチャ品質が前記事前定義の閾値よりも高い場合、前記ビットの数が減少されるように、前記少なくとも１つの制御可能なパラメータの値を自動的に設定するための手段を含むことを特徴とする上記（１０）に記載のシステム。
（１２）前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記ピクチャ品質が前記事前定義の閾値よりも低い場合、前記制御プロセッサは、前記量子化パラメータを、ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして定義するための手段を含み、
　前記新しい平均量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記ピクチャ品質が前記閾値よりも高い場合、前記制御プロセッサは前記量子化パラメータを、前記先行量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの間の差との和として定義するための手段を含む
　ことを特徴とする上記（１１）に記載のシステム。
（１３）前記少なくとも１つの制御可能なパラメータの値をバッファするための手段と、
　現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値が前記第２符号化サブシステムに同時に供給されるように、前記値のバッファリングと同期して前記ビデオ・フレームのシーケンスを遅延させるための手段と
　を更に含むことを特徴とする上記（１１）に記載のシステム。
（１４）コンピュータ読み取り可能なプログラム・コード手段を有するコンピュータ使用可能媒体を含み、ビデオ・フレームのシーケンスを符号化する場合に使用するためのコンピュータ・プログラム製品にして、前記コンピュータ読み取り可能なプログラム・コード手段は、
　コンピュータに、前記ビデオ・フレームのシーケンスを分析させて、シーン変化、ピクチャ品質、使用ビット、目標ビット・レート、及びピクチャ・タイプのうちの少なくとも１つを含む少なくとも１つの特性に関する情報を導出するための第１のコンピュータ読み取り可能なプログラム・コード手段と、
　コンピュータに、前記少なくとも１つの特性を自動的に処理させてビデオ・フレームのシーケンスの符号化で使用される少なくとも１つの制御可能なパラメータの値を生成するための第２のコンピュータ読み取り可能なプログラム・コード手段と、
　前記少なくとも１つの制御可能なパラメータの値を使用して、コンピュータに、前記ビデオ・フレームのシーケンスを符号化させる第３のコンピュータ読み取り可能なプログラム・コード手段と、
　を含むことを特徴とするコンピュータ・プログラム製品。
（１５）前記少なくとも１つの特性はシーン変化を含み、
　前記第２のコンピュータ読み取り可能なプログラム・コード手段はコンピュータに、各フレームをシーン変化について自動的に監視させ、シーン変化の検出時に、ビデオ・フレームのシーケンスにおける先行フレームからの情報を無視して前記少なくとも１つの制御可能なパラメータの値を決定するための手段を含むことを特徴とする上記（１４）に記載のコンピュータ・プログラム製品。
（１６）前記少なくとも１つの特性は更にピクチャ品質を含み、
　前記第２のコンピュータ読み取り可能なプログラム・コード手段は、シーン変化が検出されない各フレームに対してコンピュータに、当該フレームのピクチャ品質を事前定義の閾値と自動的に比較させるためのコンピュータ読み取り可能なプログラム・コード手段を含む
　ことを特徴とする上記（１５）に記載のコンピュータ・プログラム製品。
（１７）前記第２のコンピュータ読み取り可能なプログラム・コード手段は、更に、前記ピクチャ品質が前記事前定義の閾値よりも低い場合、各フレームの符号化において使用されるビットの数が増加されるように、及び前記ピクチャ品質が前記事前定義の閾値よりも高い場合、前記ビットの数が減少されるように、コンピュータに、前記少なくとも１つの制御可能なパラメータの値を自動的に設定させるためのコンピュータ読み取り可能なプログラム・コード手段を含むことを特徴とする上記（１６）に記載のコンピュータ・プログラム製品。
（１８）前記少なくとも１つの制御可能なパラメータは量子化パラメータを含み、
　各フレームに対して、前記ピクチャ品質が前記事前定義の閾値よりも低い場合、前記量子化パラメータは、ビデオ・フレームのシーケンスにおける先行フレームの先行量子化パラメータから、新しい平均量子化パラメータ及び先行平均量子化パラメータの間の差を減じたものとして前記第２のコンピュータ読み取り可能なプログラム・コード手段によって定義され、
　前記新しい平均量子化パラメータは現フレームを含む現シーンのすべてのフレームに対する平均量子化パラメータを含み、前記先行平均量子化パラメータは現フレームの前までの現シーンのすべてのフレームに対する平均量子化パラメータを含み、
　前記ピクチャ品質が前記閾値よりも高い場合、前記量子化パラメータは、前記先行量子化パラメータと前記新しい平均量子化パラメータ及び前記先行平均量子化パラメータの間の差との和として定義される
　ことを特徴とする上記（１７）に記載のコンピュータ・プログラム製品。
（１９）前記少なくとも１つの制御可能なパラメータの値をバッファし、現フレーム及びそれに対応する少なくとも１つの制御可能なパラメータの値の同時利用可能性を保証するために、コンピュータに、前記値のバッファリングと同期して前記ビデオ・フレームのシーケンスを遅延させるためのコンピュータ読み取り可能なプログラム・コード手段を更に含むことを特徴とする上記（１７）に記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【００７６】
【図１】汎用のＭＰＥＧ−２コンプライアント・エンコーダ１１の流れ図を示す。エンコーダ１１は、離散コサイン変換器２１、量子化器２３、可変長符号化器２５、逆量子化器２９、逆離散コサイン変換器３１、動き補償器４１、フレーム・メモリ４２、及び動き推定器４３を含む。データ・パスは、ｉ番目のピクチャ入力１１１、差分データ１１２、動きベクトル１１３（動き補償器４１及び可変長符号化器２５に対するものである）、ピクチャ出力１２１、動き推定及び補償に対するフィードバック・ピクチャ１３１、及び動き補償されたピクチャ１０１を含む。この図は、ｉ番目のピクチャがフレーム・メモリ又はフレーム記憶装置４２に存在すること及びｉ＋１番目のピクチャが動き推定器によって符号化されようとしているという仮定を有する。
【図２】Ｉ、Ｐ、及びＢピクチャ、それらの表示及び伝送順序の例、並びに、順方向及び逆方向の動き予測を示す。
【図３】現フレーム又はピクチャにおける動き推定ブロックから後続又は先行フレーク又はピクチャにおける最良一致ブロックまでの探索を示す。エレメント２１１及び２１１' は両方のピクチャにおける同じロケーションを表す。
【図４】先行ピクチャにおける位置から新しいピクチャまで動きベクトルに従ったブロックの移動、及び動きベクトルを使用した後に調節された先行ピクチャのブロックを示す。
【図５】本発明の原理に従って第１符号化サブシステムＥ１及び第２符号化サブシステムＥ２を使用する符号化サブシステム３００の流れ図を示す。サブシステムＥ１は、符号化されるべきフレームのシーケンスの１つ又は複数の特性に関する統計量を導出するように構成される。これらの特性はサブシステムＥ２によって使用され、ピクチャ品質又は符号化パフォーマンスを最適化するようにそのフレームのシーケンスを適応的に符号化させる。
【図６】本発明による符号化サブシステムの一般化した図である。サブシステムＥ１は、例えば、非動き統計量収集４２０及び符号化エンジン４１０を使用して、それぞれ、非動き統計量及び動き間／動き内統計量を発生するために使用され、一方、サブシステムＥ２は符号化エンジン４１０を使用して符号化ビットストリームを発生する。
【図７】本発明の原理による符号化システム５００の別の実施例のブロック図である。システム５００は制御プロセッサ５２０を介して接続された第１符号化サブシステム（Ｅ１）５１０及び第２符号化サブシステム（Ｅ２）５４０を使用する。サブシステムＥ１は、符号化されるべきフレームのシーケンスの１つ又は複数の特性に関する統計量を導出するように構成される。これらの特性は制御プロセッサ５２０によって統計的に分析され、フレームのシーケンスのうちの現フレームを符号化する場合にサブシステムＥ２によって使用されるべき１つ又は複数の制御可能なパラメータに対する値を動的に発生させ、それによって、ピクチャ品質又は符号化パフォーマンスを最適化する。
【図８】本発明に基づく汎用の流れ図である。ここでは、一連のビデオ・データがサブシステムＥ１に入力される。サブシステムＥ１は、シーン変化、ピクチャ品質、使用されるビット、ピクチャ・タイプ、又は目標ビット・レートに関する情報を発生する。この情報は制御プロセッサ（ＣＰ）５２０に送られ、その制御プロセッサは、この例では、量子化パラメータ（Ｍｑｕａｎｔ）を第２符号化サブシステム（Ｅ２）５４０に供給する。又、サブシステム５４０はビデオ・データのシーケンスの同期した遅延バージョンを入力として受け取る。
【図９】第２符号化サブシステムＥ２によるビデオ・データのシーケンスの符号化の制御において使用するために、１つ又は複数のパラメータを発生する場合に制御プロセッサ（ＣＰ）により遂行される統計処理の一実施例のフローチャートである。
【図１】
2004120786.tif 000004
【図２】
2004120786.tif 000005
【図３】
2004120786.tif 000006
【図４】
2004120786.tif 000007
【図５】
2004120786.tif 000008
【図６】
2004120786.tif 000009
【図７】
2004120786.tif 000010
【図８】
2004120786.tif 000011
【図９】
2004120786.tif 000012