(57)【要約】  量子化パラメータ値毎にピクチャ系列のプレコーディングを行う工程と、系列のピクチャ毎に、スライディング時間ウィンドウにおける隣接ピクチャの量子化パラメータ値及びビットレート動作点に応じて複数の量子化パラメータ値のうちの１つを系列のピクチャ毎に選択する工程と、そのピクチャに選択される量子化パラメータ値を用いて系列の各ピクチャを符号化する工程とを含む、ネットワーク・トラフィック・モデル制限を満たすようビデオレート制御を行う符号器（１００）及び相当する方法（２００）を開示する。
2007525063.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・トラフィック・モデル制限を満たすよう、ピクチャ系列を複数のブロック変換係数として符号化する符号器であって、
ピクチャ毎に複数の量子化パラメータ値のうちの１つを選択する繰り返しループを備えることを特徴とする符号器。
【請求項２】
請求項１記載の符号器であって、前記繰り返しループは、
複数の量子化パラメータ値毎に前記ピクチャ系列のプレコーディングを行うプレコーディング手段と、
前記系列のピクチャ毎に、前記複数の量子化パラメータ値のうちの１つを、スライディング時間ウィンドウにおける隣接ピクチャの量子化パラメータ値とビット動作点とに応じて選択する選択手段と、
前記系列の各ピクチャを、該ピクチャについて選択される量子化パラメータ値を用いて符号化するプレコーディング手段とを備えることを特徴とする符号器。
【請求項３】
請求項２記載の符号器であって、
スライディング・ウィンドウに選択される量子化パラメータ値が、目標ピクチャレート近くでウィンドウ分のピクチャを符号化することを特徴とする符号器。
【請求項４】
請求項２記載の符号器であって、
スライディング・ウィンドウに選択される前記量子化パラメータ値が、目標ビットレート近くでウィンドウ分のピクチャを符号化することを特徴とする符号器。
【請求項５】
請求項２記載の符号器であって、
ビデオ系列におけるピクチャ毎に選択され、特定のピクチャと同じ時間ウィンドウにおける隣接ピクチャについて選択される量子化パラメータ値は、目標ビット数内で符号化するよう予め設定される持続時間の時間ウィンドウ内に送信する対象のピクチャを符号化するよう選ばれることを特徴とする符号器。
【請求項６】
請求項２記載の符号器であって、
ビデオピクチャ系列は、ピクチャ群を備えることを特徴とする符号器。
【請求項７】
請求項２記載の符号器であって、
ビデオピクチャ系列は、予め記憶されるビデオ・コンテンツを備えることを特徴とする符号器。
【請求項８】
請求項２記載の符号器であって、
予め設定される持続時間内で送信される対象のビデオピクチャ系列部分は、前記予め設定される持続時間内に送信される対象のビット数を制限するネットワーク・トラフィック・モデルを満たすことを特徴とする符号器。
【請求項９】
請求項２記載の符号器であって、
ビデオ系列のピクチャ毎に前記複数の量子化パラメータ値のうちの１つを選択する選択手段は、各ピクチャを符号化するよう選択される前記量子化パラメータ値を最適化するようマルチパス符号化手段を備えることを特徴とする符号器。
【請求項１０】
請求項２記載の符号器であって、
前記複数の量子化パラメータ値毎に前記ピクチャ系列のプレコーディングを行うプレコーディング手段は、動きベクトル値を再使用する手段を備えることを特徴とする符号器。
【請求項１１】
ネットワーク・トラフィック・モデル制限を満たす符号化ブロック変換係数を復号化して再構築画素データを供給する復号器との組み合わせでの、請求項１記載の符号器であって、
前記復号器は、ネットワーク・トラフィック・モデルによって、予め設定される持続時間の時間ウィンドウに相当するビデオ・データを復号化する可変長復号器を備えることを特徴とする符号器。
【請求項１２】
請求項１記載の符号器と、ネットワーク・トラフィック・モデル制限を満たす符号化ブロック変換係数を復号化して再構築画素データを供給する復号器とを備えるコデックであって、
前記復号器が、ネットワーク・トラフィック・モデルによって、予め設定される持続時間の時間ウィンドウに相当するビデオ・データを復号化する可変長復号器を備えることを特徴とするコデック。
【請求項１３】
マシンによって判読可能な、ネットワーク・トラフィック・モデル制限を満たすようビデオ制御レート制御を行うプログラム工程を行う対象の、前記マシンによって実行可能な命令プログラムを有形的に実施するプログラム記憶装置であって、
複数の量子化パラメータ値毎にピクチャ系列のプレコーディングを行う工程と、
前記系列のピクチャ毎に、前記複数の量子化パラメータ値のうちの１つを、スライディング時間ウィンドウにおける隣接ピクチャの量子化パラメータ値とビット動作点とに応じて選択する工程と、
前記系列の各ピクチャを、該ピクチャについて選択される量子化パラメータ値を用いて符号化する工程とを備えることを特徴とするプログラム記憶装置。
【請求項１４】
ネットワーク・トラフィック・モデル制限を満たすようピクチャ系列に対してビデオレート制御を行う方法であって、
複数の量子化パラメータ値毎に前記ピクチャ系列のプレコーディングを行う工程と、
前記系列のピクチャ毎に、前記複数の量子化パラメータ値のうちの１つを、スライディング時間ウィンドウにおける隣接ピクチャの量子化パラメータ値とビット動作点とに応じて選択する工程と、
前記系列の各ピクチャを、該ピクチャについて選択される量子化パラメータ値を用いて符号化する工程とを備えることを特徴とする方法。
【請求項１５】
請求項１４記載の方法であって、
前記ピクチャ系列は、ビデオ・フレームの系列を備えることを特徴とする方法。
【請求項１６】
請求項１４記載の方法であって、
スライディング・ウィンドウに選択される量子化パラメータ値は、目標ビットレート近くでウィンドウ分のピクチャを符号化することを特徴とする方法。
【請求項１７】
請求項１４記載の方法であって、
ビデオ系列におけるピクチャ毎に選択され、特定のピクチャと同じ時間ウィンドウにおける隣接ピクチャについて選択される量子化パラメータ値は、目標ビット数内で符号化するよう予め設定される持続時間の時間ウィンドウ内に送信する対象のピクチャを符号化するよう選ばれることを特徴とする方法。
【請求項１８】
請求項１４記載の方法であって、
ビデオピクチャ系列は、ピクチャ群を備えることを特徴とする方法。
【請求項１９】
請求項１４記載の方法であって、
ビデオピクチャ系列は、予め記憶されるビデオ・コンテンツを備えることを特徴とする方法。
【請求項２０】
請求項１４記載の方法であって、
予め設定される持続時間内で送信される対象のビデオピクチャ系列部分は、前記予め設定される持続時間内に送信される対象のビット数を制限するネットワーク・トラフィック・モデルを満たすことを特徴とする方法。
【請求項２１】
請求項１４記載の方法であって、
ビデオ系列のピクチャ毎に前記複数の量子化パラメータ値のうちの１つを選択する工程は、各ピクチャを符号化するよう選択される量子化パラメータ値を最適化するようマルチパス符号化手法を用いる工程を備えることを特徴とする方法。
【請求項２２】
請求項１４記載の方法であって、
前記複数の量子化パラメータ値毎に前記ピクチャ系列のプレコーディングを行うプレコーディング工程は、動きベクトル値を再使用する工程を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、（併せて「コデック」と呼ぶ）ビデオ符号器及びビデオ復号器の分野に関し、特に、ビデオレート制御を備えるＣＯＤＥＣに関する。
【背景技術】
【０００２】
ビデオ・データは一般的に、ビット・ストリームの形式で処理され、転送される。可変ビットレート（「ＶＢＲ」）ビデオ符号器は、例えば、番組長全体にわたる長さなどの比較的長い時間間隔にわたって測定される平均ビットレートと同じ平均ビットレートの場合、固定ビットレート（「ＣＢＲ」）ビデオ符号器よりも良好な品質のビデオ圧縮を達成することができる。ＶＢＲ符号化ビデオは、固定品質ビデオと呼ばれる場合がある。このことは、ビデオの複雑度がビデオ系列にわたって変動するため、可変ビットレート符号化ビデオを作成して固定品質を維持するということによる。ＣＢＲビデオ符号器は通常、ネットワーク・トラフィック・モデルの帯域要件を満たすのに用いられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＶＢＲビデオは一般的に、固定帯域チャネルを用いないアプリケーションに用いられる。ＶＢＲビデオは、例えばＤＶＤに用い得る。残念ながら、通信ネットワークは通常、ＣＢＲビデオにより適する固定帯域リンクを有する。ＣＢＲビデオでは、符号化ビットレートは一定に維持され、それによって、認識されるビデオ品質は変動してしまう。このことは、ＶＢＲビデオよりも劣悪なユーザ体験につながるが、それは、ＣＢＲの最悪の場合のビデオ品質が一般的に、ＶＢＲの固定品質レベルよりも悪く、ユーザ認識が、より悪い場合の品質によって大きく影響を受けるからである。
【課題を解決するための手段】
【０００４】
これらや他の、従来技術の欠点や短所は、ネットワーク・トラフィック・モデルの制限を超えない一方で、マルチパス符号化手法を用いて、予め記憶されているビデオ・コンテンツのビデオレート制御を行うシステム及び方法によって解決される。
【０００５】
ネットワーク・トラフィック・モデルの制限を満たすようビデオレート制御を行う符号器、復号器および、相当する方法を開示する。該方法は、複数の量子化パラメータ値毎にビデオピクチャ系列の、プレコーディングを行う（予め符号化する）工程と、ビデオ系列のピクチャ毎に、複数の量子化パラメータ値のうちの１つを選択する工程と、そのピクチャに選択される量子化パラメータ値を用いてビデオ系列の各ピクチャを符号化する工程とを含む。
【０００６】
本発明のこれらや他の局面、特徴及び効果は、添付図面に関して検討されるものである、例示的な実施例の以下の説明から明らかになる。
【発明を実施するための最良の形態】
【０００７】
本発明は、ネットワーク・トラフィック・モデルの制限を越えない一方で、マルチパス符号化手法を用いて、予め記憶されているビデオ・コンテンツのビデオレート制御を行うシステム及び方法である。
【０００８】
以下の記載は、本発明の原理を示す。よって、本明細書及び特許請求の範囲に明示的に、説明していないか示していないが、本発明の原理を実施し、その技術思想及び範囲に含まれる種々の装置を考え出すことを当業者ができるということが分かるものである。更に、本明細書及び特許請求の範囲記載の例及び条件付言語は全て、主に、当該技術分野を助成するよう本願の発明者が寄与する、本発明の原理と概念との理解を手助けする教育上の目的のみに特に意図されており、特に記載したような例及び条件への限定なしで解されることとする。更に、本発明の原理、局面及び実施例、並びにその特定の例は、その構造上の均等物も機能上の均等物も包含することが意図されている。更に、そのような均等物が、現在知られている均等物と、将来開発される均等物、すなわち、構造にかかわらず、同様な機能を行う、開発される何れかの構成要素、を含むということが意図されている。
【０００９】
よって、例えば、本明細書中に含まれている構成図が本発明の原理を実施する例証的な回路の概念的な表示を表しているということを当業者は分かるものである。同様に、何れかのフローチャート、フロー図、状態遷移図、擬似コードなどは、コンピュータ判読媒体によって実質的に表し得るものであり、コンピュータやプロセッサによって、そのようなコンピュータやプロセッサを明示しているか否かにかかわらず、実行される種々の処理を表すということが分かるものである。
【００１０】
添付図面に示す種々の構成要素の機能は、専用ハードウェアを用いることによって備えてもよく、適切なソフトウェアと連動してソフトウェアを実行することができるハードウェアを用いることによって備えてもよい。プロセッサが備える場合、上記機能は、単一の専用プロセッサが備えてよく、単一の共有プロセッサが備えてもよく、一部は共有されていてもよい、複数の個々のプロセッサが備えてもよい。更に、「プロセッサ」や「コントローラ」の語を明示的に用いていることは、ソフトウェアを実行することができるハードウェアを専ら表すものとして解されないこととし、限定無しで、ディジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを記憶する読み取り専用メモリ（「ＲＯＭ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）及び非揮発性記憶機構を暗黙的に含み得る。汎用及び／又はカスタムの他のハードウェアも含み得る。同様に、添付図面に示す何れかのスイッチは、概念的なものに過ぎない。この機能は、プログラム・ロジックの動作によって行ってよく、専用ロジックによって行ってもよく、プログラム制御と専用ロジックとの相互作用によって行ってもよく、手作業で行ってもよく、特定の手法は、当該状況から特に分かる実施者によって選択可能である。
【００１１】
本特許請求の範囲では、規定される機能を行う手段として表す何れかの構成要素は、例えば、ａ）その機能を行う回路構成要素の組み合わせや、ｂ）何れかの、よって、ファームウェア、マイクロコードなどを含む、形態、におけるソフトウェアと、そのソフトウェアを実行してその機能を行ううえで適切な回路との組み合わせを含む、その機能を行う何れかの手段を包含することが意図されている。本願の請求項が規定する本発明は、種々の記載手段によって備えられる機能が組み合わせられ、請求項が要請する方法でまとめられるということにある。本願の出願人はよって、これらの機能を備えることができる何れかの手段を本明細書及び特許請求の範囲に示すものと均等であるとみなす。
【実施例】
【００１２】
図１に示すように、ビデオ符号器は、参照数字１００によって概括的に示す。符号器１００への入力は、信号通信するよう、加算接続部１１０の非反転入力と接続される。加算接続部１１０の出力は、信号通信するよう、変換機能ブロック１２０に接続される。変換器１２０は、信号通信するよう、量子化器１３０に接続される。量子化器１３０の出力は、信号通信するよう、可変長符号器（「ＶＬＣ」）１４０に接続され、ＶＬＣ１４０の出力は、符号器１００の、外部で利用可能な出力である。
【００１３】
量子化器１３０の出力は、信号通信するよう、逆量子化器１５０と更に接続される。逆量子化器１５０は、信号通信するよう、逆ブロック変換機能１６０と接続され、同様に、逆ブロック変換機能１６０は、信号通信するよう、参照ピクチャ記憶機構１７０と接続される。参照ピクチャ記憶機構１７０の第１の出力は、信号通信するよう、動き推定器１８０の第１の入力と接続される。符号器１００への入力は、信号通信するよう、動き推定器１８０の第２の入力に更に接続される。動き推定器１８０の出力は、信号通信するよう、動き補償器１９０の第１の入力に接続される。参照ピクチャ記憶機構１７０の第２の出力は、信号通信するよう、動き補償器１９０の第２の入力に接続される。動き補償器１９０の出力は、信号通信するよう、加算接続部１１０の反転入力に接続される。
【００１４】
次に、図２Ａ及び図２Ｂに移れば、各々に固有の動き推定（「ＭＥ」）を備えるものと、各々に共有のＭＥを備えるものとの複数の当初パスを示し、それらに続く判定処理及び最終パスを示す。図２Ａは、動きベクトル（「ＭＶ」）がＱＰ符号化毎に計算される、符号器のバージョンを示す。図２Ｂは、ＭＶ値がＱＰパスの全てに再使用される別のバージョンを示す。
【００１５】
図２Ａでは、複数の当初パス毎に固有の動き推定（「ＭＥ」）を備えるピクチャブロックについてビデオ信号データを符号化する例示的な処理を、参照数字２１０によって概括的に示す。処理２１０は、機能ブロック２１４につながる開始ブロック２１２を含む。機能ブロック２１４は、検査する対象のＱＰ値群を選択し、機能ブロック２１６につながる。ブロック２１６は、値「ｑ」を低限度から高限度に増やすループを開始し、動きベクトル補償を備える符号化手順の第１のサブプログラム・ブロック２１８につながる。サブプログラム・ブロック２１８は表４１０として規定する。ブロック２１８は同様に、ループ終了ブロック２２０につながる。ループ２１６乃至２２０に続いて、ブロック２２２は、値「ｉ」をフレーム０からフレーム数まで増やすループを開始し、動きベクトル補償を備える符号化手順の第２のサブプログラム・ブロック２２４につながる。サブプログラム・ブロック２２４は、例えば、以下に規定するように、本願の開示の擬似コードによって規定される。ブロック２２４は同様に、ループ終了ブロック２２６につながる。ブロック２２６は、最終パス符号化系列の第３のサブプログラム２２８につながり、同様に、終了ブロック２３０につながる。
【００１６】
表４１０は、動きベクトル補償を備える符号化手順のサブプログラム・ブロック２１８を規定する。開始ブロック４１２は、機能ブロック４１４につながる。ブロック４１４は、値「ｉ」をフレーム０からフレーム数に増やすループを開始し、更に、関数ブロック４１６に進んでフレームｉの動きベクトルを計算する。ブロック４１８からブロック４２０に進んで予測値を入力値から減算してフレームｉの差異を生成する。同様に、ブロック４２０から、機能ブロック４２２に進んで、フレームｉについて量子化パラメータｑを用いて差異を符号化する。ブロック４２２から機能ブロック４２４に進んで、ビット数をＦ〔ｉ〕として記憶する。ブロック４２４はループ終了ブロック４２６につながり、よって、終了ブロック４２８につながる。
【００１７】
表５１０は、最終パス符号化手順を実行するサブプログラム・ブロック２２８を規定する。ここでは、開始ブロック５１２は機能ブロック５１４につながる。ブロック５１４は、ループ・カウント値「ｉ」をフレーム０からフレーム数に増やすループを開始し、更に、関数ブロック５１６に進んでフレームｉについて動きベクトルを計算する。ブロック５１８はブロック５２０に進んで、予測値を入力値から減算して、フレームｉについて差異を生成する。ブロック５２０は同様に、機能ブロック５２２に進んで、フレームｉについて量子化パラメータＱＰ〔ｉ〕を用いて差異を符号化する。ブロック５２２はループ終了ブロック５２４につながり、よって終了ブロック５２６につながる。
【００１８】
図２Ｂを参照すれば、複数の当初パス毎に共有の動き補償（「ＭＥ」）を備えるピクチャブロックについてビデオ信号データを符号化する例示的な処理を、参照数字６１０によって概括的に示す。ここでは、開始ブロック６１２は、ループ・カウンタｉをフレーム０からフレーム数に増やすループ・カウンタ・ブロック６１４につながる。ブロック６１４は、機能ブロック６１６に進んで、フレームｉについて動きベクトルを計算し、ループ終了ブロック６１８につながる。ブロック６１８は、検査する対象のＱＰ値群を選択する機能ブロック６２０につながる。ブロック６２０は、値「ｑ」を低限度から高限度に増やすループを開始し、ＭＶ再使用を備える符号化手順の第４のサブプログラム・ブロック６２４につながる。サブプログラム・ブロック６２４は表７１０として規定する。ブロック６２４は、ｑループ終了ブロック６２６につながる。ブロック６２６は、カウンタｉをフレーム０からフレーム数に増やすループ・カウンタ・ブロック６２８につながる。ブロック６２８は、第２サブプログラム・ブロック６３０に進んで当該フレームについてＱｐを見つける。第２サブプログラム・ブロックは、例えば、本願の開示の擬似コードによって先行して規定されている。ブロック６３０はｉループ終了ブロック６３２につながる。ブロック６３２から同様に、表５１０によって先行して規定したように、第３のサブプログラム・ブロック６３４に進んで最終パス符号化手順を実行する。ブロック６３４は終了ブロック６３６につながる。
【００１９】
表７１０は、動きベクトル再使用を備える符号化手順のサブプログラム・ブロック６２４を規定する。開始ブロック７１２は、ループ・カウンタｉをフレーム０からフレーム数に増やすループ・カウンタ・ブロック７１４につながる。ブロック７１４から機能ブロック７１６に進んで、動き補償を行ってフレームｉについての予測子を生成する。ブロック７１６から機能ブロック７１８に進んで、予測値を入力値から減算してフレームｉについて差異を生成する。ブロック７１８は同様に、ブロック７２０に進んで、フレームｉについてＱＰ〔ｉ〕を用いて差異を符号化する。ブロック７２０から機能ブロック７２２に進んで、ビット数をＦ〔ｉ〕として記憶し、更に、ｉループ終了ブロック７２４につながる。ブロック７２４は終了ブロック７２６につながる。
【００２０】
図３に示すように、ビデオ復号器は、参照数字３００によって概括的に示す。ビデオ復号器３００は、信号通信するよう、逆量子化器３２０と接続される可変長復号器（「ＶＬＤ」）３１０を含む。逆量子化器３２０は、信号通信するよう、逆変換器３３０に接続される。逆変換器３３０は、信号通信するよう、加算器すなわち加算接続部３４０の第１の入力端子と接続され、加算接続部３４０の出力は、ビデオ復号器３００の出力を供給する。加算接続部３４０の出力は、信号通信するよう、参照ピクチャ記憶機構３５０に接続される。参照ピクチャ記憶機構３５０は、信号通信するよう、動き補償器３６０に接続され、動き補償器３６０は、信号通信するよう、加算接続部３４０の第２入力端子に接続される。
【００２１】
動作上、本発明の実施例は、マルチパス符号化手法を用いてネットワーク・トラフィック・モデルの制限を満たすことによって予め記憶されているビデオ・コンテンツのビデオレート制御を行う方法を備える。ビデオ符号器は、ネットワーク・スライディング・ウィンドウの固定ビットレート制限を満たす一方で最善の品質を達成するよう予め記憶されているビデオ・コンテンツに対してレート制御を行う。プレコーディング工程では、ビデオ系列は、いくつかの異なる量子化パラメータ（「ＱＰ」）値を用いて別個に符号化される。次に、量子化パラメータ選択処理では、プレコーディング工程中に収集される符号化フレームレート・カウントを用いて、進んでいる時間ウィンドウ又は遅れている時間ウィンドウにわたるネットワーク帯域制限を超えないことが推定されるＱＰ値をフレーム毎に選択する。更に、最終パス符号化が、選択されたＱＰ値を用いて行われる。
【００２２】
いわゆる固定帯域パケット・ネットワークでも、トラフィックのバースト性がネットワーク・トラフィック・モデルの制限を超えない限り、ある程度のバースト性を有するトラフィックを受け入れることが可能である。固定ビットレート（「ＣＢＲ」）ビデオは、各圧縮ビデオ・フレームが同数のビットを用いて符号化されるということを必要とするものでない。
【００２３】
ビットレート制御は、ＣＢＲビデオの場合、実現可能である。Ｉフレーム、ＰフレームやＢフレームなどの種々のフレーム・タイプを含む、ＭＰＥＧビデオやＭＰＥＧ−２ビデオなどの標準を用いて、レート制御は一般的に、フレーム毎に目標フレームレートを、フレーム・タイプに基づいて求めることが当初、関係した（例えば、Ｗ．Ｄｉｎｇ及びＢ．Ｌｉｕによる「Ｒａｔｅ  ｃｏｎｔｒｏｌ  ｏｆ  ＭＰＥＧ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ａｎｄ  ｒｅｃｏｒｄｉｎｇ  ｂｙ  ｒａｔｅ−ｑｕａｎｔｉｚａｔｉｏｎ  ｍｏｄｅｌｉｎｇ」  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ，  ｖｏｌ．  ６，  ｎｏ．  １，  ｐｐ．  １２−２０，  Ｆｅｂ．  １９９６参照。）。目標フレームレートは、系列全体について選んでよく、公知のようにピクチャ群（ＧＯＰ）について選んでもよい。フレームレート目標は、現在のバッファの充填度によっても変わってくることがあり得る。目標フレームレートが特定のフレームについて判定されると、おおよそ目標フレームレートでフレームを符号化するよう予測される量子化パラメータ（「ＱＰ」）が選ばれる。ＭＰＥＧ−４検証モデルでは、空間計算量尺度が、フレームについて計算され、目標フレームレートをもたらすＱＰを推定するよう符号化フレーム毎に更新されるモデルと比較される。
【００２４】
空間計算量尺度は、特定のＱＰについてフレームを符号化するのに必要なビットレートとの相関を有する。しかし、例えば、ＭＰＥＧ−４、Ｈ．２６３やＨ．２６Ｌのビデオ標準におけるアドバンスト・イントラ予測などのアドバンストビデオ符号化手法が理由で、符号化手法を補償する計算量尺度を形成することは困難であり、それによって、計算量尺度と、フレームを符号化するのに必要なビット数との間の相関は低減する。このことによって同様に、レート制御の精度が低減する。
【００２５】
マルチパス符号化を用いて、精度を向上させたレート制御を達成することができるが、計算量は増加する。ここでは、目標ビットレートは特定のフレームについて選ばれる。フレームは特定のＱＰ値を用いて符号化される。結果として生じるビット数は目標値と比較され、ＱＰ値はその差異に基づいて調節される。フレームは、結果として生じる符号化ビット数が目標値に十分近くなるまで調節ＱＰ値を用いて再符号化される。
【００２６】
より大きなフレーム範囲についてではなく個々のフレームについてビットレート目標を設定するレート制御手法によって、認識されるビデオ品質は低下してしまうが、それは、計算量が高いフレームは、目標レートを満たすには、低いＱＰ値で符号化されなければならず、このことによって、これらのフレームの視覚品質が劣悪になってしまう。
【００２７】
統計的多重化は、複数でかつ異なるビデオ系列が単一の固定レート帯域チャネルを共有し、それによって瞬時の、個々の系列の帯域における変動の増大が可能になる。このことは、共有衛星チャンネルを介して複数のテレビ番組を送ることなどの放送アプリケーションに有用である。
【００２８】
本発明の好ましい実施例では、ビデオ符号器は、予め記憶されているビデオ系列を符号化する。ビデオ・サーバは、パケット・ネットワークを介して圧縮ビット・ストリームをストリーミングする。ビデオ復号器は、ビデオ系列を受信し、復号化し、再生する。
【００２９】
パケット・ネットワークは、固定レート帯域を有する。パケット・ネットワークは、所定のスライディング時間ウィンドウにわたって制限固定レート帯域を超えない限り、可変レートでデータを受け入れることができる。パケット・ネットワークにおけるルータは、ネットワーク・トラフィックをシェーピングするようバッファを含む。ビデオ符号器／ビデオ・サーバからネットワークに施されるトラフィック負荷が時間ウィンドウにわたって固定レート帯域を超える場合、ルータのバッファにオーバフローが生じる場合があり、一部のデータが廃棄される場合がある。
【００３０】
本発明の実施例では、ビデオ符号器のレート制御は、所定の時間ウィンドウにわたってネットワークの帯域制限を満たす。符号器は、時間ウィンドウにわたって一定の品質を維持し、ビデオ系列全体にわたって品質における変動ができる限り小さくなるようにすることを達成しようとするものである。
【００３１】
よって、プレコーディング工程では、ビデオ系列は、種々のＱＰ値の群について別々の時点で数回別個に符号化される。動き推定は、全ての場合に同じ動きベクトルを用いて事前に行うことができ、別個の符号化毎に行うこともできる。いくつかの符号化を、同じプロセッサ上で順次行うことができ、別個の符号化ランの各々を別個のプロセッサに分散させることによって並列に行うこともできる。ＱＰラン毎の各フレームを符号化するのに用いるビット数は記録される。
【００３２】
プレコーディング工程がＱＰ毎に行われた後、ビデオ符号器は、量子化器パラメータ選択処理を行う。この処理では、ビデオ符号器は、プレコーディング工程からの記録値を用いて、各時間ウィンドウにわたってネットワーク帯域制限を満たす一方で、ビデオ品質を最大にし、ビデオ品質の変動を最小にするよう、フレーム毎に最善のＱＰ値を選択する。最終符号化の場合、ＱＰ値は個々のフレーム毎に変動し得るが、プレコーディング工程では、特定の符号化ランについて、単一のＱＰが全体系列毎に用いられている。これらの実施例では、単一のＱＰ符号化ランの間にフレームを符号化するのに用いるビット数が、系列における先行フレームに選択されたＱＰにかかわらず、最終符号化におけるそのＱＰでそのフレームについて符号化するうえでのビット数の推定として用いられる。動作上、実際のビット数は、種々のＱＰ値が用いられる場合にわずかに変動することになる。
【００３３】
例えば、系列には、１８、１９及び２０のＱＰ値を用いてプレコーディングが行われる。ＱＰ選択工程では、ＱＰ０＝１８がフレーム０について選択されており、ＱＰ１＝１９がフレーム１について選択されている。フレーム２についての選択処理の間には、フレーム２をＱＰ２＝２０によって符号化するうえでのビット数が、ＱＰが２０のプレコーディング・ランにおけるフレーム２の符号化に用いるビット数に等しい。ＱＰが２０の符号化ランの場合のプレコーディング工程では、フレーム０及び１も、ＱＰ０＝ＱＰ１＝２０によって符号化されている。最終符号化工程におけるフレーム２を予測するのに用いる、フレーム０及び１における実際の画素は、ＱＰ＝２０のプレコーディング工程のランにおける画素とは異なる。よって、最終符号化においてＱＰ２＝２０によってフレーム２について符号化するうえでの実際のビット数は、ＱＰ＝２０のプレコーディング工程ランにおいて用いられたことが判明した数からわずかに変動し得る。
【００３４】
時間ウィンドウはＮのビデオ・フレームに相当する。例えば、３秒の時間ウィンドウ及び３０ｆｐｓのビデオの場合、Ｎは９０フレームである。時間ウィンドウにわたる最大ビットレートは、Ｔであり、例えば、１Ｍｂｐｓチャネル及び３秒のウィンドウの場合、３Ｍビットであり得る。
【００３５】
系列におけるフレーム毎に、符号器は、系列における、先行するＮ−１個のフレームと、現在のフレームと、後続するＮ−１個のフレームとを考慮に入れる。符号器は、選択されたＱＰについてのプレコーディング工程からの推定を用いてか、この処理を用いて既に選択されたＱＰによって既に符号化されたフレームから実際に生じたフレーム・サイズを用いて、先行するＮ−１個のフレームを符号化するのに用いるビット数のカウントＷＢ’を保持する。符号器は、ビット数のカウントＷＮを推定して、最低ＱＰから始めて、現在のフレームを含む、後続するＮ個のフレームを符号化し、ＷＮが目標レートＴに最も近いレートに達するがこのレートを超えず、現在のフレームを含む、先行するＮフレームについてもＴを超えないＱＰを選ぶ。先行するフレームを考慮に入れる場合、先行するフレーム全てのＱＰ値は既に選択されており、それらの値が用いられ、現在のフレームは、検討されている現行ＱＰ値を用いる。この処理は系列におけるフレーム毎に繰り替えされる。この処理は、以下に記載する擬似コードに表す。系列の始点及び終点については、Ｎのフレームが現在のフレームの前後で利用可能でない場合、系列において存在するフレームのみが算出において考慮に入れられる。
【００３６】
【表１】
2007525063.tif 000003
ＱＰがフレーム毎に、先行する工程を用いて選択された後、最終符号化パスのランが行われる。最終のパスでは、選択されるＱＰがフレーム毎に用いられる。任意的には、動き推定をこのランの間に再計算することができ、先行して計算された動きベクトルを用いることもできる。動き推定を再計算することによって、動きベクトル推定及びモード選択において行う対象のレート歪み最適化の精度向上が可能になる。
【００３７】
推定モデルは厳密ではないので、各Ｎフレーム中に生成される実際のビット数がＴを超えないということを確認する別の工程を最終符号化パス後に追加することができる。現在のフレーム及びＮ個の先行フレームからのビットが目標を超えるほど多すぎるビットを生成する場合、フレームを、より高いＱＰ値によって再符号化することができる。あるいは、本発明の別の実施例では、目標ウィンドウ・レートＴを、選択処理前に、Ｔ’＜Ｔのとき、より低いＴ’に調節して、レート制御推定誤りがＴ−Ｔ’を超えないことになる可能性を削減することができる。
【００３８】
計算量を削減するよう、プレコーディング工程は、考えられるＱＰ値全てについて行わなくてよい。そのかわりに、考えられるＱＰ値の部分集合をプレコーディング工程に用いることができる。更に、用いられる部分集合間での線形補間又は線形回帰分析を用いることによって、用いられない中間ＱＰ値について各フレームのビット・カウントの値を推定することができる。例えば、１８及び２０のＱＰ値がプレコーディング工程において用いられる場合、１９のＱＰの場合のフレーム毎のビット・カウントを、ＱＰ１８及びＱＰ２０に相当するビット・カウントの平均をとることによって推定することができる。プレコーディング工程を行ううえでのＱＰ値の範囲は、特定のタイプの複雑度尺度とチャネル・ビットレートとを用いて制限することができる。
【００３９】
擬似コードは例示的なものに過ぎない。当初パス毎に、同じピクチャタイプのピクチャ全てが同じ量子化パラメータ（「ＱＰ」）を有することのみは必要であるが、異なるピクチャタイプのピクチャ全てが同じＱＰを有することは必要でない。よって、別の手順が、系列をＱＰＩによってＩフレームについて符号化し、別のＱＰＰによってＰフレームについて符号化し、別のＱＰＢによってＢフレームについて符号化し得る。
【００４０】
本発明の教示をピクチャ又はフィールドにもビデオ・フレームにも適用し得るということが当業者によって分かるものである。本発明の別の実施例を、例えば、Ｈ．２６１、Ｈ．２６３、Ｈ．２６Ｌ、ＭＰＥＧ−１、ＭＰＥＧ−２及びＭＰＥＧ−４などの、調節可能な量子化パラメータを有する多くの種々のビデオ圧縮標準とともに用いることができる。
【００４１】
本発明のこれらや他の特徴及び効果は、本明細書及び特許請求の範囲記載の教示に基づいて当該技術分野における当業者によって容易に確かめ得る。本発明を、ハードウェア、ソフトウェア、ファームウェア、特殊用途向プロセッサやそれらの組み合わせの種々の形態で実施し得ることとする。
【００４２】
最も好ましくは、本発明の教示は、ハードウェア及びソフトウェアの組み合わせとして実施される。更に、ソフトウェアは好ましくは、プログラム記憶装置上に有形に実施されるアプリケーション・プログラムとして実施される。アプリケーション・プログラムは、何れかの適切なアーキテクチャを備えるマシンにアップロードし、このマシンによって実行し得る。好ましくは、マシンは、１つ又は複数の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）及び入出力（「Ｉ／Ｏ」）インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上に実施される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、ＣＰＵによって実行し得る、マイクロ命令コードの一部、アプリケーション・プログラムの一部又はそれらの何れかの組み合わせであり得る。更に、別のデータ記憶装置や印刷装置などの種々の別の周辺装置をコンピュータ・プラットフォームに接続し得る。
【００４３】
添付図面に表す、構成システム部分及び構成工程の一部は好ましくはソフトウェアで実施されるので、システム構成部分間又は処理機能ブロック間の実際の接続は、本発明の実施例がプログラムされる方法によって変わってくることがあり得る。本明細書及び特許請求の範囲記載の教示を前提とすれば、当該技術分野における当業者は、本発明のこれらや同様な実施や構成を考え出すことができるものである。
【００４４】
本願の例示的実施例は、添付図面を参照しながら説明したが、本発明はこれらの特定の実施例に限定されるものでなく、種々の変更及び修正をそれらの実施例に、当該技術分野における当業者によって、本発明の範囲又は技術思想から逸脱することなく施し得ることとする。そのような変更及び修正は全て、特許請求の範囲記載の本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【００４５】
【図１】本発明の原理による、ビデオレート制御を備えるビデオ符号器の構成図を示す図である。
【図２Ａ】本発明の原理による符号化処理についてのフロー図である。
【図２Ｂ】本発明の原理による符号化処理についての別のフロー図である。
【図３】本発明の原理による、ビデオレート制御を備えるビデオ復号器の構成図である。
【図１】
2007525063.tif 000004
【図２Ａ】
2007525063.tif 000005
【図２Ｂ】
2007525063.tif 000006
【図３】
2007525063.tif 000007