(57)【特許請求の範囲】
【請求項１】
ビデオ符号化方法であって、
ビデオ符号化装置のレート制御ユニットが、ビデオ系列のビデオフレームに関連した動き情報に少なくとも部分的に基づいてフレームスキップに関する前記ビデオ系列の１つまたは複数の候補ビデオフレームを特定することを具備し、ここにおいて、前記レート制御ユニットが、前記フレームスキップに関する１又は複数の候補ビデオフレームを特定することは、
前記レート制御ユニットが、前記ビデオフレームのビデオブロックの平均動きベクトル長に少なくとも一部分基づいて前記ビデオ系列の前記ビデオフレームを序列化することと、
前記レート制御ユニットが、ビデオフレーム毎に、前記ビデオフレームに関連した量子化パラメータにより定義される空間品質および利用可能な帯域幅に基づいて前記ビデオフレームに関するしきい値を特定することと、ここにおいて前記レート制御ユニットが、前記ビデオフレームの少なくともいくつかに関して異なるしきい値を定義する、
前記レート制御ユニットが、前記序列化および前記ビデオフレームの各々に関する閾値に基づいて前記１または複数の候補ビデオフレームを選択することと、
前記レート制御ユニットが、前記ビデオ系列の符号化の期間に、前記ビデオ符号化装置のエンコーダに、前記１つまたは複数の候補ビデオフレームをスキップさせることと、
を具備する方法。
【請求項２】
前記レート制御ユニットが、フレームスキップに関する前記１つまたは複数の候補ビデオフレームを特定することは、
前記レート制御ユニットが、１つ又は複数の下位に序列化されたビデオフレームを前記１つまたは複数の候補ビデオフレームとして選択すること
を具備する、請求項１の方法。
【請求項３】
前記ビデオブロックはマクロブロックを具備し、前記動き情報は前記ビデオフレームの前記マクロブロックの平均動きベクトル長を具備する、請求項２の方法。
【請求項４】
前記ビデオブロックはマクロブロックを具備し、前記レート制御ユニットが、フレームスキップのために前記１又は複数の候補ビデオフレームを特定することは、前記レート制御ユニットが、前記１又は複数の候補ビデオフレームに関連付けられる前記マクロブロックの平均動きベクトル長に少なくとも部分的に基づいて前記１又は複数の候補ビデオフレームを特定することを具備する、請求項１の方法。
【請求項５】
前記ビデオブロックはマクロブロックを具備し、前記レート制御ユニットが、フレームスキップのために前記１又は複数の候補ビデオフレームを特定することは、前記レート制御ユニットが、前記ビデオ系列中の前記１又は複数の候補ビデオフレームに先行するビデオフレームと関連付けられる前記マクロブロックの平均動きベクトル長に少なくとも部分的に基づいて前記１又は複数の候補ビデオフレームを特定することを具備する、請求項１の方法。
【請求項６】
前記レート制御ユニットが、前記ビデオ系列の先行ビデオフレームに基づいてそれぞれの所与のビデオフレームと関係付けられる所与の平均動きベクトル長を決定することを更に具備する、請求項１の方法。
【請求項７】
前記レート制御ユニットが、前記所与のビデオフレームに基づいてそれぞれの所与のビデオフレームと関係付けられる所与の平均動きベクトル長を決定することを更に具備する、請求項１の方法。
【請求項８】
前記レート制御ユニットが、ビデオ符号化の符号化レートに影響する前記量子化パラメータを動的に選択することを更に具備する、請求項１の方法。
【請求項９】
ビデオ系列のフレームを符号化する符号器、及び
フレームスキップのために前記ビデオ系列の１又は複数の候補ビデオフレームを、前記ビデオ系列の前記ビデオフレームに関連付けられる動き情報に少なくとも部分的に基づいて特定し、且つ、前記符号器に前記ビデオ系列の符号化の過程で前記１又は複数の候補ビデオフレームをスキップさせる、レート制御ユニット
を具備し、
前記レート制御ユニットは、
前記ビデオフレームのビデオブロックの平均動きベクトル長に少なくとも一部分基づいて前記ビデオ系列の前記ビデオフレームを序列化することと、
ビデオフレーム毎に、前記ビデオフレームに関連した量子化パラメータより定義された空間品質と利用可能な帯域幅に基づいて前記ビデオフレームに関する閾値を特定することと、ここにおいて、前記レート制御ユニットは、前記ビデオフレームの少なくともいくつかに関して異なる域値を定義する、
前記序列化および前記ビデオフレームの各々に関する閾値に基づいて前記１または複数の候補ビデオフレームを選択することと、
によりフレームのスキップに関して前記１または複数の候補ビデオフレームを特定する、ビデオ符号化デバイス。
【請求項１０】
前記レート制御ユニットは、
１又は複数の低優先順位のビデオフレームを前記１又は複数の候補ビデオフレームとして選択することにより、フレームスキップに関して前記１又は複数の候補ビデオフレームを特定する、請求項９のビデオ符号化デバイス。
【請求項１１】
前記ビデオブロックはマクロブロックを具備し、前記動き情報は前記ビデオフレームのマクロブロックの平均動きベクトル長を具備する、請求項１０のビデオ符号化デバイス。
【請求項１２】
前記ビデオブロックはマクロブロックを具備し、前記レート制御ユニットは、前記１又は複数の候補ビデオフレームに関連付けられるマクロブロックの平均動きベクトル長に少なくとも部分的に基づいてフレームスキップのために前記１又は複数の候補ビデオフレームを特定する、請求項９のビデオ符号化デバイス。
【請求項１３】
前記ビデオブロックはマクロブロックを具備し、前記レート制御ユニットは、前記ビデオ系列中の前記１又は複数の候補ビデオフレームに先行するビデオフレームと関連付けられるマクロブロックの平均動きベクトル長に少なくとも部分的に基づいてフレームスキップのために前記１又は複数の候補ビデオフレームを特定する、請求項９のビデオ符号化デバイス。
【請求項１４】
前記ビデオフレームのそれぞれと関連付けられる所与の平均動きベクトル長は、前記ビデオ系列の先行ビデオフレームに基づいて所与のビデオフレームに対して決定される、請求項９のビデオ符号化デバイス。
【請求項１５】
前記ビデオフレームのそれぞれと関連付けられる所与の平均動きベクトル長は、前記所与のビデオフレームに基づいて所与のビデオフレームに対して決定される、請求項９のビデオ符号化デバイス。
【請求項１６】
前記符号器は、前記ビデオ符号化の符号化レートに影響する前記量子化パラメータを動的に選択する、請求項９のビデオ符号化デバイス。
【請求項１７】
前記デバイスは電気通信送受器を具備する、請求項９のビデオ符号化デバイス。
【請求項１８】
コンピュータ読み取り可能記録媒体であって、ビデオ符号化に際してコンピュータに、
フレームスキップのためにビデオ系列の１又は複数の候補ビデオフレームを、前記ビデオ系列の前記ビデオフレームに関連付けられる動き情報に少なくとも部分的に基づいて、特定させる実行可能な命令を具備し、前記命令は、実行されると、前記コンピュータに、
前記ビデオフレームのビデオブロックの平均動きベクトル長に少なくとも一部分基づいて前記ビデオ系列の前記ビデオフレームを序列化させることと、
ビデオフレーム毎に、前記ビデオフレームに関連した量子化パラメータにより定義された空間品質および利用可能な帯域幅に基づいて前記ビデオフレームに関する閾値を特定させることと、ここにおいて、前記ビデオフレームの少なくともいくつかに関して異なる閾値が定義される、
前記序列化および前記ビデオフレームの各々に関する閾値に基づいて前記１または複数の候補ビデオフレームを選択させることと、
によりフレームスキップのための１または複数の候補ビデオフレームを特定させ、
前記ビデオ系列の符号化の過程で前記１又は複数の候補ビデオフレームをスキップさせる、コンピュータ読み取り可能記録媒体。
【請求項１９】
実行に際して前記命令は、前記コンピュータに、
前記１又は複数の候補ビデオフレームとして１又は複数の低優先順位のビデオフレームを選択させることにより、フレームスキップのために前記１又は複数の候補ビデオフレームを特定させる、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２０】
前記ビデオブロックはマクロブロックを具備し、前記動き情報は、前記ビデオフレームの前記マクロブロックの平均動きベクトル長を具備する、請求項１９のコンピュータ読み取り可能記録媒体。
【請求項２１】
前記ビデオブロックはマクロブロックを具備し、実行に際して前記命令は、前記コンピュータに、前記１又は複数の候補ビデオフレームに関連付けられる前記マクロブロックの平均動きベクトル長に少なくとも部分的に基づいて前記１又は複数の候補ビデオフレームを特定させる、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２２】
前記ビデオブロックはマクロブロックを具備し、実行に際して前記命令は、前記コンピュータに、前記ビデオ系列中の前記１又は複数の候補ビデオフレームに先行するビデオフレームと関連付けられる前記マクロブロックの平均動きベクトル長に少なくとも部分的に基づいて前記１又は複数の候補ビデオフレームを特定させる、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２３】
前記ビデオフレームのそれぞれと関連付けられる所与の平均動きベクトル長は、前記ビデオ系列の先行ビデオフレームに基づいて所与のビデオフレームに対して決定される、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２４】
前記ビデオフレームのそれぞれと関連付けられる所与の平均動きベクトル長は、当前記所与のビデオフレームに基づいて所与のビデオフレームに対して決定される、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２５】
実行に際して前記命令は、前記コンピュータに、前記ビデオ符号化の符号化レートに影響する前記量子化パラメータを動的に選択させる、請求項１８のコンピュータ読み取り可能記録媒体。
【請求項２６】
ビデオ符号化装置の動き推定器が、ビデオ系列内のビデオフレームに関する動きベクトル長値を発生することと、
前記ビデオ符号化装置のレート制御ユニットが、前記ビデオフレームの平均動きベクトル長値に関して前記ビデオフレームを序列化することと、
ビデオフレーム毎に、前記ビデオ符号化装置の前記レート制御ユニットが、前記ビデオフレームに関連した量子化パラメータにより定義された空間品質および利用可能な帯域幅に基づいて前記ビデオフレームに関する序列化百分率閾値を発生することと、ここにおいて、前記レート制御ユニットが、前記ビデオフレームの少なくともいくつかに関して異なる閾値を定義する、
ビデオフレーム毎に、前記ビデオ符号化装置の符号器が、前記ビデオフレームが前記ビデオフレームに関する前記序列化百分率閾値以下に序列化されるなら、前記ビデオフレームの符号化をスキップすることと、
を具備する方法。
【請求項２７】
コンピュータに、請求項１乃至８および請求項２６の内の１つの請求項に従う方法を実行させるプログラム。
【請求項２８】
記録されたプログラムを有するコンピユータ読み取り可能な記録デバイス、ここにおいて、前記プログラムは、コンピユータに請求項１乃至８および請求項２６の内の１の請求項に従う方法を実行させるためのプログラムである。
【発明の詳細な説明】
【関連文献】
【０００１】
本特許出願は、２００５年３月１日に提出され、そして、その全内容は本出願における参照によりここに組み込まれた、米国特許仮出願番号第６０／６５７，９５６号に優先権を主張する。
【技術分野】
【０００２】
本開示は、ビデオ符号化に係わり、そして更に特に、ビデオ符号化において使用されるフレーム・スキップ技術に関する。
【背景技術】
【０００３】
多数の様々なビデオ符号化規格がディジタル・ビデオ系列を符号化するために制定されてきている。例えば、映画エキスパート・グループ（Moving Picture Experts Group）（ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２及びＭＰＥＧ−４を含む多数の規格を開発してきた。他の例には、国際電気通信連合（International Telecommunication Union）（ＩＴＵ）Ｈ．２６３規格、及び、発展途上のＩＴＵ Ｈ．２６４規格がある。これ等のビデオ符号化規格は、一般に圧縮方式でデータを符号化することによってビデオ系列の伝送効率の向上をサポートする。圧縮は、ビデオ・フレームの効率的な伝送のために、伝送されるために必要なデータの全体量を低減する。
【０００４】
ＭＰＥＧ−４規格並びにＩＴＵ Ｈ．２６３及びＩＴＵ Ｈ．２６４規格は、例えば、フレーム間（inter-frame）圧縮を行うために、時間的もしくはフレーム間相関と呼ばれる、連続ビデオ・フレーム間の類似性を利用するビデオ符号化技術をサポートする。フレーム間圧縮技術は、ビデオ・フレームの画素に基づく表現を動き表現に変換することによってフレーム全体にわたるデータ冗長性を利用する。動き推定及び動き圧縮と呼ばれる処理は、一般にはビデオ・フレームの画素に基づく表現を動き表現に変換し、そして、それによってフレーム間圧縮を実現するために行われる。
【０００５】
多数のレート制御技術がビデオ符号化のために開発されてきている。レート制御技術は、特に演算能力が制限されている場合、ビデオ系列の実時間伝送を容易にするために有用である。例えば、レート制御された符号化を達成する一方法は、ビデオ符号化処理の過程で量子化パラメータ（quantization parameter）（ＱＰ）の調整を可能にすることである。ＱＰは、ビデオ符号化の過程で生じる量子化のレベルを規定し、そして、符号化において使用されるビット数に直接影響を与える。ＱＰに基づくレート制御の１つの変形は、ρ−ドメイン・レート制御と呼ばれる。パラメータρは、量子化後のビデオ・フレームのビデオ・ブロックの非ゼロ係数の数を表すために使用される。選択されたＱＰを使用するρ−ドメイン・レート制御を実現するために、ρ値はρの異なる値を与えるＱＰ値に写像されることが出来る。
【０００６】
何れにしても、ＱＰの動的選択は、秒当たりに符号化されるビット数を制御するために使用されることが出来る。ＱＰが増加するにつれて、より少ないデータしか維持されず、そしてビデオ符号化の品質は劣化する。ＱＰが減少するにつれて、より多くのデータが維持され、そしてビデオ符号化の品質は向上する。不運なことに、レート制御に対するＱＰの選択は、限られた帯域幅要求に合わせるには必ずしも十分ではない。従って、テレビ電話技術あるいはビデオ・ストリーミングのような、幾つかのビデオ・アプリケーションは、フレーム・スキップ技術を使用してビット・レートを更に低減することができる。フレーム・スキップ技術に関しては、帯域幅要求が満たされることを保証するために、１又は複数のビデオ・フレームが、ビデオ符号化において一斉にスキップされることができる。特に、スキップされるフレームに割り当てられるはずのビットは、ビデオ系列内の他のフレームへのアプリケーションのために取っておかれる。従来のフレーム・スキップは、一般的には、帯域幅要求が満たされることを保証するために、固定された基準で行われる、或いは、必要に応じて行われる。
【発明の概要】
【０００７】
本開示はビデオ系列のレート制御されたビデオ符号化のための適応フレーム・スキップ技術に対して向けられる。開示される技術に従えば、符号器は、符号化される系列のビデオ品質を従来のフレーム・スキップを使用して符号化することに比べて改善することが出来る高度な方法でフレーム・スキップを実行する。特に、開示されるフレーム・スキップ方式は、適応性があり、そして重要なビデオ品質を犠牲にすることなくスキップされることが出来るある種のフレームを特定するためにビデオ・フレームの動きの活発さを考慮する。
【０００８】
説明されるフレーム・スキップ技術は、様々なビデオ・フレームの空間的品質と時間的品質との間のトレードオフを考慮に入れることが出来る。この様にして、本技術は、ビデオ系列の視覚的外観を改良することが出来る方法で、空間的品質と時間的品質との間に限られた帯域幅を割り当てることが出来る。人間の視覚は、動きが速い場合には時間的品質により敏感であるが、動きが遅い場合には空間的品質により敏感である。本開示に従えば、重要なビデオ品質を犠牲にすることなくスキップされることが出来るフレームを特定するために、フレームは、動きの活発さに基づいて序列をつけられ、そして空間的品質に基づいて個々に分析される。
【０００９】
１つの実施形態では、本開示は、ビデオ系列のビデオ・フレームに関連付けられる動き情報に少なくとも部分的に基づいて、フレーム・スキップのためにビデオ系列の１又は複数の候補ビデオ・フレームを特定すること、及び、ビデオ系列の符号化の過程で該１又は複数の候補ビデオ・フレームをスキップすること、を具備するビデオ符号化方法を説明する。
【００１０】
別の実施形態では、本開示は、ビデオ系列のフレームを符号化する符号器、及び、ビデオ系列のビデオ・フレームに関連付けられる動き情報に少なくとも部分的に基づいて、フレーム・スキップのためにビデオ系列の１又は複数の候補ビデオ・フレームを特定し、且つ、該符号器にビデオ系列の符号化の過程で該１又は複数の候補ビデオ・フレームをスキップさせるレート制御ユニット、を具備するビデオ符号化デバイスを説明する。
【００１１】
本明細書に記載される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せでビデオ符号化デバイス中に導入されることができる。ソフトウェアで導入される場合、該ソフトウェアは、ディジタル信号プロセッサ（digital signal processor）（ＤＳＰ）のような、プログラム可能なプロセッサにおいて実行されることができる。その場合には、本技術を実行するソフトウェアは、コンピュータ可読媒体に初めに記憶され、そしてディジタル・ビデオ・デバイスにおける効率的レート制御符号化のためにプログラム可能なプロセッサにロードされ、そして実行される。従って、本開示は、同様に、ビデオ符号化デバイスにおける実行に際して該デバイスに、ビデオ系列のビデオ・フレームに関連付けられる動き情報に少なくとも部分的に基づいて、フレーム・スキップのためにビデオ系列の１又は複数の候補ビデオ・フレームを特定させ、且つ、ビデオ系列の符号化の過程で該１又は複数の候補ビデオ・フレームをスキップさせる、実行可能命令を具備するコンピュータ可読媒体も想定する。
【００１２】
様々な実施形態の更なる詳細は、下に付随の図面及び記述において説明される。他の特徴、目的及び利点は、その説明及び図面から、そして特許請求の範囲から明白になるであろう。
【図面の簡単な説明】
【００１３】
【図１】図１は、信号源ディジタル・ビデオ・デバイスが受信ディジタル・ビデオ・デバイスにビデオ・データの符号化された系列を伝送する具体例のシステムを図示するブロック図である。
【図２】図２は、本開示の実施形態に従うビデオ符号化デバイスの具体例のブロック図である。
【図３】図３は、ビデオ・フレームの序列化された集合を記憶するデータ構造を説明する概念図である。
【図４】図４は、本開示の実施形態に従う適応フレーム・スキップ技術を説明する流れ図である。
【図５】図５は、本開示の実施形態に従う適応フレーム・スキップ技術を説明する流れ図である。
【図６】図６は、本開示の実施形態に従う適応フレーム・スキップ技術を説明する流れ図である。
【図７】図７は、本開示の実施形態に従いあるビデオ・フレームをスキップするかどうかを決定するための１つの技術を説明する具体例の流れ図である。
【発明を実施するための形態】
【００１４】
本開示は、ビデオ系列のレート制御されたビデオ符号化のためのフレーム・スキップ技術に向けられる。開示されるフレーム・スキップ方式は、適応性があり、そして重要なビデオ品質を犠牲にすることなくスキップされることが出来るある種のフレームを特定するためにビデオ・フレームの動きの活発さを考慮する。例えば、ビデオ・フレームと関連付けられる動き情報は、重要なビデオ品質を犠牲にすることなくスキップされることが出来る１又は複数の候補ビデオ・フレームを特定するために、フレームを序列化するために使用されることが出来る。フレーム・スキップ技術は、量子化パラメータ（ＱＰ）が動的方法で選択されるが、そのようなレート制御がなくても単独で使用されることも出来る、レート制御技術と連係して使用されることが出来る。
【００１５】
１つの例では、候補ビデオ・フレームを序列化するために使用される動き情報は、該候補ビデオ・フレームのビデオ・ブロックの動きベクトル長の平均値を具備する。別の例では、候補ビデオ・フレームと関連付けられる動き情報は、ビデオ系列中の候補ビデオ・フレームに先行するフレームにおけるビデオ・ブロックの動きベクトル長の平均値を具備する。もし先行フレームの動きベクトル長が候補ビデオ・フレームと関連付けられる動き情報を規定するために使用される場合、該情報は動きの近似である、しかし、符号化方式において追加の動き予測ループを必要とせずに利用可能である。ビデオ・ブロックは、本明細書中でマクロブロック（macroblock）（ＭＢ）とも呼ばれるが、何かの特定の大きさやフォーマットに限定される必要はない。
【００１６】
本技術は、ビデオ・フレームのマクロブロックの平均動きベクトル長（即ち、現在の候補フレームの平均動きベクトル長、又は過去のフレームの平均動きベクトル長）に少なくとも部分的に基づいて、ビデオ系列のビデオ・フレームを序列化すること、及び、該ビデオ・フレームと関連付けられる量子化パラメータ（ＱＰ）によって規定されるような、空間品質に基づいてそれぞれのビデオ・フレームに対する閾値を特定すること、を含むことが出来る。該閾値は、該ＱＰが異なる限り異なるビデオ・フレームに対しては異なることが出来る。この様にして、より高い空間分解能を有し、より低いＱＰを用いて符号化されるビデオ・フレームは、より高いＱＰ従ってより低い空間分解能を有するフレームよりも優先権を与えられることが出来る。動きに基づく序列、及び空間分解能の関数として規定される閾値の双方を使用することによって、本技術は、スキップのためのよい候補を特定するために異なるビデオ・フレームの空間的及び時間的品質を調和させることが出来る。他の多くの条件も、同様に、例えば、帯域幅が潤沢な場合にフレーム・スキップを抑止するために、或いは、動きが極端に速い場合にスキップを抑止するために、フレーム・スキップ方式に適用されることも可能である。
【００１７】
本技術は、ビデオ系列の視覚的外観を改良することが出来る方法で、様々なビデオ・フレームの空間的品質及び時間的品質に基づいて、限られたリソースを割り当てることが出来る。人間の視覚は、動きが速い場合には時間的品質により敏感である。しかしながら、人間の視覚は、動きが遅い場合には空間的品質により敏感である。本開示に従えば、フレームは、動きの活発さに基づいて序列化され、そして、重要なビデオ品質を犠牲にすることなくスキップされることが出来るフレームを特定するために、空間的品質に基づいて評価されることができる。
【００１８】
図１は、情報源デバイス１２が通信回線１５経由で受信デバイス１４にビデオ・データの符号化された系列を伝送するシステム例１０を図示するブロック図である。情報源デバイス１２は、ＭＰＥＧ−４規格、ＩＴＵ Ｈ．２６３規格、ＩＴＵ Ｈ．２６４規格、またはレート制御されたビデオ符号化に使用させることができる多種多様な規格のうちの任意のもののような、ビデオ規格に整合するビデオ・データを符号化する。システム１０の一つ若しくは両デバイス１２、１４は、ビデオ符号化処理を改善するために、下記でさらに詳細に説明されるように、適応フレーム・スキップを使用するレート制御技術を実行する。適応フレーム・スキップを使用するそのようなレート制御技術は、限られた帯域幅の通信回線１５を介する、テレビ電話通信技術あるいはビデオ・ストリーミングのような、ビデオ系列の実時間伝送にとって特に有用である。レート制御技術は、例えば無線通信回線を介した、移動テレビ電話通信技術あるいは移動ビデオ・ストリーミングにおいては殊に望ましいといえる。
【００１９】
一般に、通信回線１５は、無線回線、物理的伝送線、光ファイバ、構内情報通信網のようなパケットに基づくネットワーク、広域ネットワーク、またはインターネットのような全地球的ネットワーク、公衆交換電話網（public switched telephone network）（ＰＳＴＮ）、またはデータを伝達可能な他のいずれかの通信回線を含むことが出来る。このように、通信回線１５は、情報源デバイス１２から受信デバイス１４にビデオ・データを伝送するための任意の適切な通信媒体、または恐らくは様々なネットワークと回線の集合を表す。しかしながら、上記のように、通信回線１５は、制限された帯域幅を有することがあり、回線１５を経由したビデオ系列の実時間伝送のためのレート制御を非常に望ましくさせている。制限された帯域幅は、通信回線１５の物理的制約による、若しくは、通信回線１５のプロバイダーによって課される恐らくはサービス品質（quality-of-service）（ＱｏＳ）の制限又は帯域幅割当の制約のためであり得る。
【００２０】
情報源デバイス１２は、ビデオ・データを符号化し、且つ伝送することが可能な任意のディジタル・ビデオ・デバイスを含むことが出来る。情報源デバイス１２は、ディジタル・ビデオ系列を記憶するビデオ・メモリ１６、該系列を符号化するビデオ符号器１８、及び通信回線１５を介して受信デバイス１４に該符号化された系列を伝送する送信機２０を含む。ビデオ符号器１８は、例えば、本明細書中で説明されるように、種々のハードウェア、ソフトウェア或いはファームウェア、またはビデオ符号化技術を制御するプログラム可能なソフトウェア・モジュールを実行する１又は複数のディジタル信号プロセッサ（ＤＳＰ）を含むことが出来る。関連するメモリ及び論理回路は、ビデオ符号化技術を制御する際にＤＳＰをサポートするために提供されることが出来る。
【００２１】
情報源デバイス１２は、しかもビデオ系列を取り込み、そして該取り込まれた系列をメモリ１６に記憶するために、ビデオ・カメラのようなビデオ取込みデバイス２３も含むことが出来る。特に、ビデオ取込みデバイス２３は、電荷結合デバイス（charge coupled device）（ＣＣＤ）、電荷注入デバイス、フォトダイオード・アレイ、相補型金属酸化膜半導体（ＣＭＯＳ）デバイス、またはビデオ画像またはディジタル・ビデオ系列を取り込むことが可能な他の任意の光電デバイスを含むことが出来る。
【００２２】
更なる例として、ビデオ取込みデバイス２３は、例えば、テレビジョン、ビデオ・カセット・レコーダ、カムコーダ、または別のビデオ・デバイスからの、アナログ・ビデオ・データをディジタル・ビデオ・データに変換するビデオ変換器を含むことが出来る。いくつかの実施例では、情報源デバイス１２は、実時間ビデオ系列を通信回線１５上で伝送するように構成されることが出来る。そのような場合には、受信デバイス１４は、実時間ビデオ系列を受信し、そして利用者に該ビデオ系列を表示することが出来る。代りに、情報源デバイス１２は、受信デバイス１４にビデオ・データ・ファイルとして、即ち、実時間でなく送られるビデオ系列を取り込み、そして符号化することが出来る。このように、情報源デバイス１２及び受信デバイス１４は、例えば移動無線ネットワークにおいて、例えばビデオ遠距離通信、ビデオ・クリップ再生、ビデオ・メール、またはテレビ会議のような、アプリケーションをサポートすることが出来る。デバイス１２及び１４は、図１に具体的には図示されない様々な他の要素を含むことが出来る。
【００２３】
受信デバイス１４は、ビデオ・データを受信しそして復号することが可能な任意のディジタル・ビデオ・デバイスの形をとることが出来る。例えば、受信デバイス１４は、例えば、中間回線、ルータ、他のネットワーク設備などを経由して、送信機２０から符号化されたディジタル・ビデオ系列を受信する受信機２２を含むことが出来る。受信デバイス１４は、また該系列を復号するためのビデオ復号器２４、及び利用者に該系列を表示する表示デバイス２６も含むことが出来る。いくつかの実施形態では、しかしながら、受信デバイス１４は、統合された表示デバイス１４を含まないことがある。そのような場合には、受信デバイス１４は、例えば、テレビまたはモニタのような、個別表示デバイスを駆動するために受信ビデオ・データを復号する受信機としての役をすることが出来る。
【００２４】
情報源デバイス１２及び受信デバイス１４のデバイス例は、コンピュータ・ネットワーク上に置かれるサーバ、ワークステーションまたは他のデスクトップ型計算デバイス、及びラップトップ・コンピュータまたは個人ディジタル補助装置（personal digital assistant）（ＰＤＡ）といった携帯式計算デバイス、を含む。他の例は、ディジタル・テレビ放送衛星及び受信デバイス、例えばディジタル・テレビ、ディジタル・カメラ、ディジタル・ビデオ・カメラ又は他のディジタル記録デバイス、ビデオ機能を有する携帯電話または送受話器のようなディジタル・ビデオ電話機、ビデオ機能を持つ直接双方向通信デバイス、他の無線ビデオ・デバイス、等々、を含む。
【００２５】
いくつかの場合には、情報源デバイス１２及び受信デバイス１４は、ディジタル・ビデオ・データを符号化し且つ復号するための符号器／復号器（ＣＯＤＥＣ）をそれぞれ含む。情報源デバイス１２及び受信デバイス１４の両者は、送信機及び受信機、同様にメモリ及び表示機器を含むことができる。下記で概説される多くの符号化技術は、符号器を含むディジタル・ビデオ・デバイスに関連して説明される。しかしながら、該符号器がＣＯＤＥＣの一部を形成することがあり得ることは理解される。その場合には、該ＣＯＤＥＣは、ハードウェア、ソフトウェア、ファームウェア、ＤＳＰ、マイクロプロセッサ、特定用途向け集積回路（application specific integrated circuit）（ＡＳＩＣ）、フィールド・プログラム可能ゲート・アレイ（field programmable gate array）（ＦＰＧＡ）、個別のハードウェア構成素子、またはそれ等の様々な組合せの内部に搭載される。
【００２６】
情報源デバイス１２内のビデオ符号器１８は、ビデオ・データを符号化するためにビデオ・フレームの系列内の画素のブロック上で動作する。例えば、ビデオ符号器１８は、動き推定技術及び動き補償技術を実行することが出来て、その中で伝送されるべきビデオ・フレームが画素のブロック（ビデオ・ブロックと呼ばれる）に分割される。ビデオ・ブロックは、説明の目的のために、任意のサイズのブロックを含むことが出来、そして所与のビデオ系列の中で変化することが出来る。例として、ＩＴＵ Ｈ．２６４規格は、１６×１６ビデオ・ブロック、１６×８ビデオ・ブロック、８×１６ビデオ・ブロック、８×８ビデオ・ブロック、８×４ビデオ・ブロック、４×８ビデオ・ブロック、及び４×４ビデオ・ブロックをサポートする。ビデオ符号化における更に小さなビデオ・ブロックの使用は、符号化において更に良い分解能を実現することが出来、高レベルの細部を含むビデオ・フレームの領域（関心のある領域）に対して特に使用される。その上、ビデオ符号器１８は、４×４ビデオ・ブロック上で動作するように、必要に応じて、４×４ビデオ・ブロックからより大きなビデオ・ブロックを再構成するように設計されことが出来る。ＭＰＥＧ−４のような規格に関しては、ビデオ・ブロックは、しばしば“マクロブロック”と呼ばれる１６×１６ビデオ・ブロックを含むことが出来る。本明細書で説明される技術は、しかしながら、ビデオ・ブロック若しくはマクロブロックのいずれかのサイズやフォーマットに一般には限定されない。
【００２７】
一例として、ビデオ・ブロック中の各画素は、色及び強度といった画素の視覚的特性を色度値及び明度値で規定する、様々なｎ−ビット値、例えば８ビット、により表されることが出来る。各画素は、色度と明度の双方について１又は複数の８ビット値を有することが出来る。繰り返すが、しかしながら、本開示の技術は、画素のフォーマットに制限されず、そして、さらに単純なより少ないビット画素フォーマット、またはさらに複雑なより多くのビット画素フォーマットを用いて拡張されることが出来る。画素は、また他の色座標系に従って定義されることも可能である。更に、ビデオ・ブロックは、離散コサイン変換（discrete cosine transform）（ＤＣＴ）係数によって表されることが出来、画素値によって表示されるビデオ・ブロックのＤＣＴが続く。その代わり、ビデオ・ブロックは、非零ウェーブレット値によって表されることが出来、画素値のウェーブレット変換が続く。本明細書で説明されるように、適応フレーム・スキップを使用するレート制御技術は、広範な様々な符号化規格、画素フォーマット、及びビデオ・ブロックの大きさと形、に適用されることが可能である。
【００２８】
図２は、ビデオ符号化デバイス３０の具体例のブロック図であって、それは情報源デバイス１２に対応することが出来る。一般に、デバイス３０は、本明細書で説明されるような適応フレーム・スキップ技術を実行することが可能なディジタル・ビデオ・デバイスを含む。デバイス３０は、例えば、ＭＰＥＧ−４、ＩＴＵ Ｈ．２６３、ＩＴＵ Ｈ．２６４、或いは、本明細書で説明される適応フレーム・スキップ技術から利益を得ることが出来る別のビデオ符号化規格のような、ビデオ符号化規格に準拠することが出来る。
【００２９】
図２に示されるように、デバイス３０は、ビデオ系列を符号化するためのビデオ符号化装置３２、及び符号化の前後のビデオ系列を記憶するためのビデオ・メモリ３４を含む。デバイス３０は、しかも、符号化された系列を別のデバイスに伝送するための送信機３６、及び恐らくは、ビデオ系列を取り込み、且つ該取り込まれた系列をメモリ３４に記憶する、ビデオ・カメラのようなビデオ取込みデバイス３８、も含むことが出来る。デバイス３０の様々な要素は、通信バス３５を介して通信的に接続されることが出来る。フレーム内符号器要素、様々なフィルタ、または他の要素といった様々な他の要素も、またデバイス３０中に含まれることが出来るが、簡単にするために具体的には図示されない。
【００３０】
ビデオ・メモリ３４は、一般的には比較的大きなメモリ空間を含む。ビデオ・メモリ３４は、例えば、ダイナミック・ランダム・アクセス・メモリ（dynamic random access memory）（ＤＲＡＭ）またはフラッシュ（ＦＬＡＳＨ）メモリを含むことが出来る。他の例では、ビデオ・メモリ３４は、不揮発性メモリまたは他の任意のデータ記憶デバイスを含むことが出来る。
【００３１】
ビデオ符号化装置３２は、ハードウェア、ソフトウェア、ファームウェア、及び／又はプロセッサ若しくはディジタル信号プロセッサ（ＤＳＰ）の任意の組合せを含め、携帯無線電話機のためのチップ・セットを含むことが出来る。ビデオ符号化装置３２は、ローカル・メモリ３７に接続されたビデオ符号器２８を一般に含む。ローカル・メモリ３７は、ビデオ・メモリ３４と比較して更に小さく且つ更に速いメモリ空間を含むことが出来る。一例として、ローカル・メモリ３７は、シンクロナス（synchronous）・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）を含むことが出来る。ローカル・メモリ３７は、プロセッサ集中的符号化処理の間にデータへの極めて速いアクセスを可能にするためにビデオ符号化装置３２の他の構成要素と共に集積化された“オンチップ”メモリを含むことが出来る。所与のビデオ・フレームの符号化の間、符号化されるべき現在のビデオ・ブロックは、ビデオ・メモリ３４からローカル・メモリ３７へ読み込まれることが出来る。最良予測の場所を探索する際に使用される探査空間も、またビデオ・メモリ３４からローカル・メモリ３７へ読み込まれることが出来る。しかしながら、本明細書で説明される技術の実行にとって、様々なメモリが必要であるとは限らない。換言すれば、ビデオ符号器２８は、ビデオ・ブロックと探査空間を得るために、オンチップ又はオフチップ・メモリをアクセスすることが出来る。
【００３２】
本開示に従えば、ビデオ符号器２８は、ビデオ系列が限られた帯域幅を介する伝送にとって有効に符号化されることが出来ることを保証するために、適応フレーム・スキップ技術を実行するレート制御ユニット４６を含む。図２の例では、レート制御ユニットは、量子化パラメータの選択に基づくレート制御を実行するためのＱＰレート制御モジュール４５、及び、適応フレーム・スキップを実行するためのフレーム・スキップ・モジュール４７、を含む。しかしながら、ある複数の実施形態では、フレーム・スキップ技術は、ＱＰの選択に基づく動的レート制御を用いずに、単独で使用されることが出来る。
【００３３】
所与のビデオ・フレーム（即ち、スキップされないフレーム）を符号化するために、動き推定器４０及び動き補償器４２は、ローカル・メモリ３７にロードされる探査空間にアクセスすることによりビデオ・フレーム上で、それぞれ、動き推定及び動き補償を実行する。例えば、ローカル・メモリ３７は、符号化されるべき現在のビデオ・ブロック及び探査空間をロードすることが出来、その検索空間はフレーム間符号化で使用される１又は複数のビデオ・フレームのいくつか又は全てを含む。動き推定器４０は、最良予測を特定するために現在のビデオ・ブロックを探査空間内の様々なビデオ・ブロックと比較する。いくつかの例では、しかしながら、全ての可能性のある候補を具体的に検査しなくても、符号化に対する適切な合致が、更に迅速に特定されることが出来る。その場合には、該適切な合致は、効率的なビデオ符号化に適切であっても、実際には“最良の”予測ではないかもしれない。一般に、用語“予測ビデオ・ブロック”は、適切な合致を云い、それが最良の予測であるとして差し支えない。
【００３４】
動き推定器４０は、符号化されるべき現在のビデオ・ブロックとメモリ３７の探査空間内の候補ビデオ・ブロックとの間で比較を行う。一例として、動き推定器４０は、候補ビデオ・ブロックに対する差分値を定義するために、絶対差分和（sum of absolute difference）（ＳＡＤ）技術、２乗差分和（sum of squared difference）（ＳＳＤ）技術、または他の比較技術、を実行することが出来る。より低い差分値は一般に、候補ビデオ・ブロックがより良い合致であり、従って、より高い差分値をもたらす他の候補ビデオ・ブロックよりも動き推定符号化における使用にとってより良い候補であること、を示す。
【００３５】
結局、動き推定器４０は、“最良予測”を特定し、それは符号化されるべきビデオ・ブロックに最も密接に合致する候補ビデオ・ブロックである。しかしながら、多くの場合、適切な合致が最良の予測より前に場所を探索されることが出来ること、そしてそれらの場合には、該適切な合致が符号化のために使用されることができること、が理解される。繰り返すが、予測ビデオ・ブロックは、適切な合致を参照し、それは最良の予測であるとして差し支えない。
【００３６】
一旦、予測ビデオ・ブロックが、符号化されるべきビデオ・ブロックに対して動き推定器４０によって特定されると、動き補償器４２は、現在のビデオ・ブロックと最良予測との間の差分を示す差分ブロックを作成する。差分ブロック符号器４４は、差分ブロックを圧縮するために差分ブロックを更に符号化することが出来る、そして、探査空間から何れの候補ビデオ・ブロックが符号化のために使用されたかを識別するために、符号化された差分ブロックは、動きベクトル（すなわち、動きベクトルと動きベクトル予測子との間の差分）とともに別のデバイスへの伝送のために転送されることができる。簡単にするため、動き補償の後で符号化を行うために使用される付加的な構成要素は、差分ブロック符号器４４として一般化される、というのは具体的な構成要素がサポートされる具体的な規格に応じて変るからである。換言すれば、差分ブロック符号器４４は、例えば、８×８離散型コサイン変換、スカラー量子化、ラスタ・ジグザグ再配列、ラン−レングス符号化、ハフマン符号化、或いは他の符号化又は圧縮技術のような、差分ブロックに対する多数の従来の符号化技術を実行することができる。
【００３７】
符号化処理の間、レート制御は、所与の系列を符号化するために使用されるビット数が送信機３６と関連付けられる通信チャネルの帯域幅制限を超えないことを保証することに役立つことが出来る。しかしながら、上述のように、ＱＰ選択に基づくレート制御単独では、制限された帯域幅要求を満たすのに必ずしも十分ではない。これ等の場合、フレーム・スキップは、ある種のビデオ・フレームをビデオ符号化の過程でスキップすることによって帯域幅要求が満たされることを、更に適切に保証するために適用されることが出来る。フレーム・スキップを用いれば、スキップされるフレームに割り当てられる筈であったビットは、代わってビデオ系列中の他のフレームへの配分のために再び取り込まれる。本明細書で説明されるように、適応フレーム・スキップ技術は、従来のフレーム・スキップと比べてビデオ系列の品質を改良する。
【００３８】
レート制御を行うために、ビデオ符号器２８はレート制御ユニット４６を含む。レート制御ユニット４６は、ＱＰの動的選択に基づいてレート制御を実行するＱＰレート制御モジュール４５、及び、適応フレーム・スキップを実行するフレーム・スキップ・モジュール４７、を含む。ある複数の場合には、ＱＰレート制御ユニット４５は、フレーム毎に符号化されるビット数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のビデオ・ブロックの非ゼロ係数の数を表すρの値は、フレーム毎に符号化されるビット数（従って、一定のフレーム・レートにおいて１秒毎に符号化されるビット数）に一般に比例する。従って、ＱＰレート制御ユニット４５は、レート制御されたビデオ符号化を実現するためにρとＱＰとの間の関係を利用することができる。
【００３９】
何れにせよ、ＱＰレート制御モジュール４５は、ビデオ符号化のための望ましいレートに対応するＱＰを選択する。ＱＰは、フレーム毎に、或いはビデオ・ブロック毎に選択されることが出来る。このＱＰに基づくレート制御は、ビデオ・フレーム毎の符号化に対する符号化ループの一部を形成することが出来る。
【００４０】
繰り返すが、ＱＰに基づくレート制御は、制限された帯域幅要求を満たすのに必ずしも十分ではない。この理由のために、レート制御ユニット４６は、しかもフレーム・スキップ・モジュール４７も含む。フレーム・スキップ・モジュール４７は、スキップされることが可能な良い候補を特定することによって適応フレーム・スキップを実行する。該候補は、動き情報、空間品質、或いは動き情報と空間品質の双方、に基づいて選択されることが出来る。人間の視覚は、動きが速い場合には時間的品質により敏感であるが、しかし人間の視覚は、動きが遅い場合には空間的品質により敏感である。本開示に従えば、フレームは、動きの活発さに基づいて序列化され、そして重要なビデオ品質を損なわずにスキップされることが出来るフレームを特定するために、空間的品質に基づいて個々に評価されることが出来る。
【００４１】
フレーム・スキップ・モジュール４７は、所与のビデオ・フレームに関連付けられる動き情報を、該ビデオ・フレームがスキップするための良い候補であるかどうかを決定するために、識別することが出来る。例えば、動き情報は、候補ビデオ・フレームを構成するビデオ・ブロックの平均動きベクトル長を含むことが出来る。この場合、しかしながら、動き推定は、一般的にはフレーム・スキップに先行して要求される、その理由は動き推定が平均動きベクトル長を決定するからである。もしそのフレームがスキップされると、その動き推定計算は、符号化において使用されない、そしてそれ故空費される。この理由のために、別の例では、所与のビデオ・フレームに関連付けられる動き情報は、系列中の該所与のビデオ・フレームに先行するビデオ・フレームを構成するビデオ・ブロックに関連付けられる平均動きベクトル長を含むことが出来る。この場合、動き推定は、符号化に対する先行ビデオ・フレームに関して既に実行された筈であり、従って、スキップされるフレームに関する不要な動き推定が避けられることが出来る。先行するフレームは、直前のものであることが出来る、しかし本技術はこの点に関しては必ずしも限定される必要はない。
【００４２】
フレーム・スキップ・モジュール４７は、ビデオ・フレームのマクロブロック（即ち、現在の候補フレームのマクロブロック又は過去のフレームのマクロブロック）の平均動きベクトル長に少なくとも部分的に基づいてビデオ系列のビデオ・フレームを序列化し、そして、該ビデオ・フレームに関連付けられる量子化パラメータ（ＱＰ）により規定されるように、空間的品質に基づいて各ビデオ・フレームに対する閾値を特定することが出来る。該閾値は、ＱＰが異なる限り、異なるビデオ・フレームに対しては異なることが出来る。このようにして、より低いＱＰで符号化されるビデオ・フレーム、それはより高い空間分解能を有する、は、より低い空間分解能を有するフレームに対して優先権を与えられることが出来る。動きに基づく序列と空間分解能の関数として定義される閾値の双方を使用することによって、フレーム・スキップ・モジュール４７は、スキップするための良い候補を特定するために様々なビデオ・フレームの空間的品質と時間的性質を調和させることが出来る。
【００４３】
図３は、ビデオ系列中の序列化されたビデオ・フレームの集合の概念図である。フレーム・スキップ・モジュール４７は、フレーム・スキップの決定を行うためにローカル・メモリ３７中にそのようなデータ構造を生成することが出来る。特に、データ構造５０は、 “高”から“低”へ区分けされたビデオ・フレームの系列を含む。“高”及び“低”は、様々なビデオ・フレームと関連付けられる動きベクトル長に基づく相対的量である。動きベクトル長は、現在の候補フレームを構成するビデオ・ブロック、或いは該候補に先行するフレームのビデオ・ブロック、の平均動きベクトル長であることができる。このようにして、データ構造５０は、一般に様々なフレームと関連付けられる動きの活発さに基づいてビデオ系列のビデオ・フレームを序列化する。データ構造５０は、序列化された仕方で、フレームのスライディング・ウィンドウを保持することが出来る、そして、新しいフレームが考慮され且つ序列化されると、より古いフレームを廃棄することが出来る。
【００４４】
ある複数の場合には、フレーム・スキップ・モジュール４７は、スキップするためにデータ構造５０中の最下位の候補を単純に選択することが出来る。例えば、カットオフが定義されることが出来て、該カットオフ未満の動きベクトル長を有する任意のフレームがフレーム・スキップの候補としてフラグを立てられることが出来る。フラグを立てられたフレームは、スキップするための候補であるが、必ずしもスキップされる必要はない。例えば、フレーム・スキップ・モジュール４７は、例え連続するフレームが共に非常に“低”であるとしても、連続するフレームをスキップすることを避けるように構成されることが出来る。
【００４５】
しかしながら、動きは、望ましいフレーム・スキップ決定に影響する唯一のビデオ・フレーム特性ではない。例えば、上述のように、人間の視覚は、動きが速い場合には時間的品質により敏感であるが、人間の視覚は、動きが遅い場合には空間的品質により敏感である。従って、候補を特定するために或いはある種のフレームをスキップから除外するために、動きに加えて、空間品質もまた使用されることが出来る。
【００４６】
レート制御の一部としてフレーム又はビデオ・ブロックに対して選択されるＱＰは、異なるビデオ・フレームの空間品質を評価するために使用されることが出来る。例えば、閾値は、ビデオ・フレームに関連付けられる量子化パラメータ（ＱＰ）により規定されるように、空間品質に基づいてそれぞれのビデオ・フレームに対して規定されることが出来る。より低いＱＰは、一般に該ビデオ・フレームがより高い空間品質を有することを意味する、というのは、より低いＱＰは結果として符号化に使用されるより多くのビット数に帰着するからである。ＱＰに基づく閾値は、ＱＰが異なるフレームに対しては異なる限り、異なるビデオ・フレームに対しては異なることがあり得る。図３におけるＡＦＳ（“適応フレーム・スキップ”“adaptive frame skipping”）閾値は、動きベクトル長目盛の“高”端と“低”端との間の百分率として設定されることが出来る。
【００４７】
下記の、表１は、序列化されたビデオ・フレームの動きベクトル長に加えて空間分解能を明らかにするフレーム・スキップ・モジュール４７によって使用されることが出来る表の一例を提供する。フレームに関連付けられるＱＰは、フレームに対して規定されることが出来る、或いは、もしＱＰがビデオ・ブロック毎に変化することを許されているならば、該フレームに対する平均ＱＰであり得る。繰り返すが、より低いＱＰは、結果としてより高い空間分解能、即ち、より良いビデオ・フレーム品質をもたらす。
【表１】
0005415599.tif 000002
【００４８】
表１に示されるように、ＭＰＥＧ−４の例に関しては、もしフレームに関連付けられるＱＰが２２より大であれば、その場合には百分率閾値は９０％である。これは、２２より大きいＱＰを有するビデオ・フレームは、もしそれが図３のデータ構造５０で定義される９０％（90th）の動き百分位数の範囲内にあるならば、スキップされることが出来る、即ち、それが上位１０％の高い序列を持たない限りスキップされる、ということを意味する。もしＱＰが２１−２２であれば、その場合には百分率閾値は８０％であり、これは該ビデオ・フレームが、もしそれが８０％の動き百分位数の範囲内にあるならば、スキップされることが出来ることを意味する。もしＱＰが５−２０であれば、その場合には百分率閾値は５０％であり、これは該ビデオ・フレームが、もしそれが５０％の動き百分位数の範囲内にあるならば、スキップされることが出来ることを意味する。５より小さいＱＰを有するビデオ・フレームは極めて良好な空間分解能を明示するので、５より小さいＱＰに対しては、スキップは、動きと無関係に避けられることが出来る。勿論、閾値は別な様に定義されることが可能であり、そして、ＱＰは、規格次第でより高い或いはより低い分解能レベルを規定することが出来る。
【００４９】
動きベクトル長に従う一連のフレーム中のフレームの序列、及び、該フレームに適用されるＱＰと関連付けられる百分位数閾値を使用して、フレーム・スキップ・モジュール４７は、該フレームの符号化をスキップするかどうかを決定する。もし該フレームの動きベクトル長序列が百分位数閾値未満であるならば、該フレームはスキップされる。閾値は、また利用可能な帯域幅に依存して適応性がある。例えば、スキップを必要に応じてもっと起こり易く若しくはもっと起こり難くするために、異なる表が、利用可能な帯域幅の関数として使用されることが出来る。重要なことは、動きに基づく序列と空間分解能の関数として定義される閾値の双方を利用することによって、本技術は、スキップするための良い候補を特定するために様々なビデオ・フレームの空間的品質及び時間的品質を調和させることが出来る、ということである。
【００５０】
ある複数の場合には、もしあるフレームがスキップされる場合、後続フレームの動き推定は、該スキップされるフレームに先行するフレームに基づかれ、このことは当然スキップの後に続くいかなるフレームに対してもより高速の動きをもたらす。従って、２つの連続するフレームがスキップされることは全くありそうにもない。それでもなお、フレーム・スキップ・モジュール４７は、もし望まれるならば、連続フレームをスキップすることを避けるために追加の措置を取ることが出来る。又、フレーム・スキップ・モジュール４７は、極めて高速の動きに対する評価基準を定義することが出来て、その場合、フレーム・スキップは、いかなる犠牲を払っても避けられるはずである。表１の例に準じると、例えば、１０より大きい関連付けられた平均動きベクトル長を有するビデオ・フレームは、ＱＰと無関係に決してスキップされない。
【００５１】
更に、フレーム・スキップ・モジュール４７は、バンド幅が潤沢な場合、フレーム・スキップを完全に防ぐために他の検査またはパラメータを定義することが出来る。その上、ある複数の場合には、フレーム・スキップ・モジュール４７は、階層的手法をとるようにプログラムされることが出来て、そこでは、より積極的なフレーム・スキップ或いはより消極的なフレーム・スキップが利用可能な帯域幅の関数として実行される。これ等の方法或いは他の方法において、フレーム・スキップは、動きの活発さ、空間分解能、及び、利用可能な帯域幅に基づいて実行されることが出来る。重要なことは、最終的なスキップの決定は、少なくとも部分的に動きの活発さに基づくことであり、その結果、適用されるスキップの積極性とは無関係に、スキップの候補として選択されるフレームは、スキップがビデオ系列の外観を過剰に劣化させないようなものである。
【００５２】
図４は、適応フレーム・スキップがＱＰに基づくレート制御と連係して使用される実施形態を説明する流れ図である。図４の例では、フレーム・スキップの決定を行うために用いられる動き情報は、問題とするビデオ・フレームに関連付けられる平均動きベクトル長である。これは、動き推定がフレーム・スキップの決定が行われる前に問題とするビデオ・フレームに対して実行されなければならないことを意味する。
【００５３】
図４に示されるように、レート制御ユニット４６のＱＰレート制御モジュール４５は、問題とするビデオ・フレームに対するＱＰを計算し、レート制御を実行する（６１）。ある複数の場合には、ＱＰは、フレームの異なる様々なビデオ・ブロックに対して調整されることが出来る。その場合、平均ＱＰが、フレーム・スキップの決定に使用されることが出来る。簡単にするために、しかしながら、ＱＰは、所与のフレームに対して一定であると仮定する。
【００５４】
ある複数の場合には、モジュール４５は、ローカル・メモリ３７からρ−ＱＰ表をアクセスすることが出来る、或いは、異なるρの値を異なるＱＰに写像する方程式を適用することが出来る。何れにせよ、一旦ＱＰが選択されてしまうと、動き推定器４０は、問題とするビデオ・フレームに対する動き推定を実行する（６２）。動き推定は、フレーム・スキップの決定を行うために必要な動き情報を生成する。
【００５５】
フレーム・スキップ・モジュール４７は、フレームがフレーム・スキップのための良い候補であるかどうかを決定するために、フレームに対する動き情報と選択されたＱＰを使用する。より具体的には、フレーム・スキップ・モジュールは、他の最近のフレームに対する現在のフレームをその動きに基づいて序列化するためにビデオ系列の最近の履歴中に他の多くのフレームを含む、序列化されたデータ構造５０中へと該フレームをロードすることが出来る。ＱＰは、次に百分率閾値を決定するために使用されることが出来る。フレーム・スキップ・モジュール４７は、フレーム・スキップが行われるべきかどうかを決定するために、データ構造５０内部のビデオ・フレームの序列を考慮して表１を適用する（６３）。もし該フレームがスキップされるならば（６３のＹＥＳ分枝）、プロセスは、系列内の次のフレームに対して繰り返す（６５）。もしそうでなければ（６３のＮＯ分枝）、該フレームは、例えば、該フレームに動き推定と動き補償を適用することによって符号化される（６４）。より効率的な実行のために、ステップ６２で実行される動き推定の結果は、記憶されることが出来て、その結果、動き推定は、符号化ステップ６４で繰り返される必要がない。しかしながら、もし該フレームがスキップされるならば、ステップ６２で実行される動き推定は、どの符号化に対しても使用されない。該プロセスは、ビデオ系列の全てのフレームに対して繰り返されることが出来る（６５）。
【００５６】
図５は、適応フレーム・スキップがＱＰに基づくレート制御と連係して使用される実施形態を説明する別の流れ図である。図５の例では、しかしながら、フレーム・スキップ決定を行うために使用される動き情報は、問題とするビデオ・フレームに先行するフレームと関連付けられる平均動きベクトル長である。これは、フレーム・スキップの決定を行うために、問題とする現在のビデオ・フレームに関して動き推定が実行される必要がないことを意味する。その代わりに、過去のフレームの符号化の過程で実行された過去の動き推定が、動きの活発さを規定することが出来、それは近似として現在のフレームと関連付けられることが出来る。
【００５７】
図５に示されるように、レート制御ユニット４６のＱＰレート制御モジュール４５は、レート制御を実行し（７１）、そのレート制御は問題とするビデオ・フレームに対するＱＰを計算する。繰り返すが、ある複数の場合には、ＱＰレート制御モジュール４５は、ローカル・メモリ３７からρ−ＱＰ表をアクセスすることが出来る、或いは、異なるρの値を異なるＱＰに写像する方程式を適用することが出来る。フレーム・スキップ・モジュール４７は、現在のフレームがフレーム・スキップのための良い候補であるかどうかを決定するために、現在のフレームに対する動き情報（この場合には先行ビデオ・フレームの平均動きベクトル長）及び選択されたＱＰを使用する。フレーム・スキップ・モジュールは、ビデオ系列の最近の履歴中に他のフレームを含む、序列化されたデータ構造５０の中に該フレームをロードすることが出来る。これは、現在のフレームと関連付けられる動き情報に基づいて複数のフレームの最近の履歴に関し現在のフレームの序列を位置づける。繰り返すが、図５で説明される例では、現在のフレームと関連付けられる動き情報は、先行フレームの平均動きベクトル長であることが出来る。この例では、先行フレームは、直前のものであることが出来るが、しかし本技術はそれに限定されない。もし先行フレームが直前のフレームである場合、フレーム・スキップに続いて、同じ先行フレームが次のフレームに対する動き情報を規定するために使用されることが出来る（この時点では、現在のフレームと先行フレームを２フレーム離れさせる）。
【００５８】
いずれにせよ、ＱＰは、次に百分率閾値を決定するために使用されることが出来る。フレーム・スキップ・モジュール４７は、フレーム・スキップが行われるべきかどうかを決定するために、データ構造５０内部のビデオ・フレームの序列を考慮して、例えば表１の様な、百分位数表を適用する（７２）。もし該フレームがスキップされるならば（７２のＹＥＳ分枝）、プロセスは、系列内の次のフレームに対して繰り返す（７４）。もしそうでなければ（７２のＮＯ分枝）、該フレームは、例えば、該フレームに動き推定と動き補償を適用することによって、符号化される（７３）。明らかに、図５では、もしフレームがスキップされるならば、該フレームに対する動き推定は、全て避けられることが出来、その理由は、動き情報が過去のフレームの平均動きベクトル長に基づいて導出される（推定される）からである。一旦現在のフレームが符号化されると、プロセスは、ビデオ系列の全てのフレームに対して繰り返すことが出来る（７４）。
【００５９】
図６は、適応フレーム・スキップがＱＰに基づくレート制御と連係して使用される別の実施形態を説明する別の流れ図である。図６の例では、図５の例と同様に、フレーム・スキップ決定を行うために使用される動き情報は、問題とするビデオ・フレームに先行するフレームと関連付けられる平均動きベクトル長である。しかしながら、図５の技術と異なり、図６では、フレームがスキップされる場合、次のフレームに対してフレーム・スキップ決定を行うためにスキップされるフレームと関連付けられる動き情報を使用するために、動き推定は、スキップされるフレームに対して実行される。この様にして、フレーム・スキップ決定のために使用される動き情報は、例えスキップが後に続くとしても、常に直前のフレームの平均動きベクトル長であることが出来る。
【００６０】
図６で示されるように、レート制御ユニット４６のＱＰレート制御モジュール４５は、問題とするビデオ・フレームに対するＱＰを計算するレート制御を実行する（７５）。フレーム・スキップ・モジュール４７は、現在のフレームがフレーム・スキップのための良い候補であるかどうかを決定するために、現在のフレームに対する動き情報（この場合には直前のビデオ・フレームの平均動きベクトル長）及び選択されたＱＰを使用する。フレーム・スキップ・モジュール４７は、ビデオ系列の最近の履歴中に他のフレームを含む、序列化されたデータ構造５０の中に該フレームをロードすることが出来る。これは、現在のフレームと関連付けられる動き情報に基づいて複数のフレームの最近の履歴を考慮してフレームを序列化する。繰り返すが、図６で説明される例では、現在のフレームと関連付けられる動き情報は、直前のフレームの平均動きベクトル長であることが出来る。
【００６１】
ＱＰは、次に百分率閾値を決定するために使用されることが出来る。フレーム・スキップ・モジュール４７は、フレーム・スキップが行われるべきかどうかを決定するために、データ構造５０内部のビデオ・フレームの序列を考慮して、例えば表１の様な、百分位数表を適用する（７６）。もし該フレームがスキップされないならば（７６のＮＯ分枝）、該フレームは、例えば、該フレームに対して動き推定、動き補償及び他の符号化技術を適用することによって符号化される（７７）。明らかに、図６では、例えフレームがスキップされても、該スキップされたフレームの平均動きベクトル長を使用して次のフレームのスキップの決定を可能にするために、該フレームに対する動き推定は実行される（７９）。しかしながら、もし該フレームがスキップされると、例えば動き補償、テクスチャ符号化、デブロック・フィルタリング、或いはその他の符号化ステップのような、他の符号化ステップは、そのフレームに対して避けられることが出来る。プロセスは、ビデオ系列の全てのフレームに対して繰り返すことが出来る（７８）。
【００６２】
図７は、あるフレームをスキップすべきかどうかを決定するための１つの具体例の技術を説明する別の流れ図である。図７の技術は、一般に、例えば、図４の項目６３、或いは図５の項目７２、或いは図６の項目７６に対応するといえる。図７に示されるように、フレーム・スキップ・モジュール４７は、ビデオ・フレームを平均動きベクトル長に基づいて（所与のフレームに対して或いは過去のフレームの動きベクトル長に基づいて）序列化する（８１）。該序列は、表１に類似の表に記憶されることが出来て、そして新しいフレームが考慮され且つ序列化されると最も古いフレームは廃棄される、序列化されたフレームのスライディング・ウィンドウを含むことが出来る。
【００６３】
それぞれの所与のフレームに対して、レート制御モジュール４７は、空間品質に基づいて百分率閾値を特定する（８２）。該フレームに対するＱＰは、例えば、空間品質を評価するために使用されることが可能である、尤も空間品質を評価するための他の技術が代わりに使用されることが可能である。百分率閾値は、序列化されたフレームに関する百分率を定義する。もし考慮中の現在のフレームが閾値未満の百分位数に序列化されるならば（８３のＹＥＳ分枝）、その場合には該フレームはスキップされる（８４）。しかしながら、もし考慮中の現在のフレームが閾値を超える百分位数に序列化されるならば（８３のＮＯ分枝）、その場合には該フレームは符号化される（８５）。下位に序列化されるビデオ・フレームが上位に序列化されるフレームに相対的に低速の動きを有するという動き情報に序列が基づく限り、該序列は、時間品質を考慮する。閾値は、空間品質を考慮する。その上、序列は最近のフレームに関係しているので、フレーム・スキップの判断もまた、直近の符号化された複数のフレームに関係する所与のフレームの時間的品質及び空間的品質に基づく相対的な判断である。
【００６４】
種々の実施形態が説明されてきた。殊に、適応フレーム・スキップを使用する種々のレート制御技術が、提案されてきた。本技術は、フレームの動き、量子化、及び利用可能なリソースを検査することにより、適応的方法で、何時フレームをスキップするかを決定することが出来る。本技術は、時間的品質と空間的品質との間でトレードオフするために、利用可能なビット量を動的に配分することが出来る。本技術は、フレーム・スキップを有さない技術と比較される場合、時間品質を損なうことなく優れた空間品質を提供することが出来る。更に、本技術は、動きの滑らかさと時間品質を保つ上で、特に高速ビデオ系列において、固定されたフレーム・スキップより性能が優れていると言える。
【００６５】
本説明された技術は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで導入されることが出来る。ソフトウェア中に導入される場合、本技術は、ビデオ系列を符号化するデバイスにおいて実行される時に１又は複数の上述の方法を行う、プログラム・コードを含むコンピュータ可読媒体に向けられることが出来る。その場合には、該コンピュータ可読媒体は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）の様なランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的消去書き込み可能読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ（ＦＬＡＳＨ）メモリ、等々を含むことが出来る。
【００６６】
プログラム・コードは、コンピュータ可読命令の形式でメモリに記憶されることが出来る。その場合には、ＤＳＰのようなプロセッサは、本明細書で説明された１又は複数の技術を遂行するためにメモリに記憶された諸命令を実行することが出来る。いくつかの場合には、本技術は、符号化処理を加速するために様々なハードウェア構成要素を呼び出すＤＳＰによって実行されることが出来る。他の場合では、ビデオ符号器は、マイクロプロセッサ、１又は複数の特定用途向け集積回路（ＡＳＩＣ）、１又は複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、または他のいくつかのハードウェア−ソフトウェアの組合せとして導入されることができる。
【００６７】
それにもかかわらず、本開示の精神及び範囲を逸脱することなく、種々の変更が本技術に対して行われ得る。例えば、他の型の動き情報がビデオ・フレーム序列化の目的でビデオ・フレームと関連付けられる動きを定量化するために使用されることが出来る。更に、閾値は、利用可能な帯域幅に応じて、異なって定義されることが可能であり、又は適応的であることが可能である。その上、様々な閾値が、スキップを必要に応じてもっと起こり易く若しくはもっと起こり難くするために、利用可能な帯域幅の関数として使用されることが可能である。これ等や他の実施形態は、特許請求の範囲内である。
【図１】
0005415599.tif 000003
【図２】
0005415599.tif 000004
【図３】
0005415599.tif 000005
【図４】
0005415599.tif 000006
【図５】
0005415599.tif 000007
【図６】
0005415599.tif 000008
【図７】
0005415599.tif 000009