[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5180294B2 - ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御 - Google Patents

ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御 Download PDF

Info

Publication number
JP5180294B2
JP5180294B2 JP2010512473A JP2010512473A JP5180294B2 JP 5180294 B2 JP5180294 B2 JP 5180294B2 JP 2010512473 A JP2010512473 A JP 2010512473A JP 2010512473 A JP2010512473 A JP 2010512473A JP 5180294 B2 JP5180294 B2 JP 5180294B2
Authority
JP
Japan
Prior art keywords
frame
video
target
size
intra
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010512473A
Other languages
English (en)
Other versions
JP2010530673A (ja
Inventor
ステファン・コロンブ
フランシス・ラボンテ
Original Assignee
ヴァントリックス コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヴァントリックス コーポレーション filed Critical ヴァントリックス コーポレーション
Publication of JP2010530673A publication Critical patent/JP2010530673A/ja
Application granted granted Critical
Publication of JP5180294B2 publication Critical patent/JP5180294B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、一般に、ビデオ符号化におけるレート制御に関する。より詳細には、これだけに限らないが、本発明は、ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御に関する。
この数年、デジタルおよびオンラインビデオとそのアプリケーションは非常な高まりを見せている。高速通信技術およびマルチメディアアプリケーションが出現すると共に、デジタルビデオコーデックが、MPEG-2(Moving Picture Experts Group-2)フォーマットを使用するDVD(Digital Video Disc)、MPEG-1(Moving Picture Experts Group-1)フォーマットを使用するVCD(Video Compact Disc)、新しい衛星放送/地上波放送システム、およびインターネットなどにおける多くの領域およびシステムで使用されている。
より具体的には、ビデオアプリケーションのこの広がりは、ビデオデータを圧縮/伸張するビデオコーデックの興味深い開発に結びついている。ビデオデータの圧縮においては、ビデオ品質と圧縮比の間のバランス、すなわち、データの必要な送信品質、言い換えると、ビデオを表現するのに必要なビットレートが保たれる。
更に、符号化および復号アルゴリズムの複雑さ、データ損失およびエラーに対するロバスト性、圧縮アルゴリズム設計技術の状態、テレビ会議アプリケーションにおけるエンドツーエンド遅延(端末相互間の遅延)などもまた考慮される。
複数のビデオ符号化規格が存在し、そのそれぞれが、特定タイプのアプリケーションに対して専用に設計されている。例えば、ITU(国際電気通信連合)により公開されたH.263規格は、20〜30kbps(キロビット毎秒)の範囲など、低ビットレートに対するビデオ符号化および圧縮規格である。より具体的には、この規格は、テレビ会議およびテレビ電話アプリケーションにおけるビデオ符号化をサポートする。
H.263規格は、データの符号化されたストリームのフォーマットとコンテンツの明細を指定する。したがって、それは、符号器および復号器それ自体の設計または構造を具体的に指定せずに、符号器および復号器が満たすべき要件を設定する。
ビデオ圧縮において、各ピクチャは、一般に、フレーム、すなわち、イントラフレームおよびインターフレームと呼ばれる、通常、2種類のピクチャにより表される。更に、インターフレームは、2つの種類に、すなわち、Pフレーム(予測フレーム)、およびBフレーム(両予測または双方向フレーム)に分けられる。イントラフレームは、他のいずれのピクチャからも独立して符号化されるピクチャ全体を表し、したがって、ピクチャ全体のコンテンツを符号化する必要があるので、帯域幅を消費する。圧縮して帯域幅を節約するために、ピクチャ全体(またはイントラフレーム)間の差分だけが符号化され、次いで、送信される。これらの差分は、PフレームおよびBフレームにより表される。例えば、2つの連続するピクチャ間の背景は、通常、変化することなく、したがって、このような背景は、再度符号化する必要がない。Bフレームは、双方向であり、したがって、双方向予測、すなわち、前のピクチャと次のピクチャから予測を行う点で、Pフレームとは区別される。
更に、ビデオを圧縮するとき、ピクチャは、処理のために、マクロブロック(MB)へと分割される。実際、処理は、マクロブロックごとに1つずつ実施される。各マクロブロックは、一般に、16×16画素のブロックを表す。
ビデオ符号器は、一般に、動き推定モジュール、動き補償モジュール、DCT(離散コサイン変換)モジュール、および量子化モジュールを含む。
動き推定モジュールは、前フレームのどの領域が現在のフレーム中に移動しているかを予測することができ、したがって、これらの領域を再度符号化する必要がなくなる。
動き補償モジュールは、前フレームから現在のフレーム中への領域の移動を補償することができる。
DCTは、一般に、1つのブロックの画素を「空間周波数係数」に変換するために使用される。それは、マクロブロックなどの画素の2次元ブロックに対して演算を行う。DCTは、ピクチャを小型化するのに有効であるため、概して、元のピクチャを再現するためには、少数のDCT係数で十分である。
量子化モジュールは、DCT係数を量子化するために提供される。例えば、量子化モジュールは、ゼロに近いDCT係数をゼロに設定し、残りの非ゼロのDCT係数を量子化する。
ビデオ符号化における制限の1つは、通信チャネルの容量から生ずる。実際、通信チャネルは、1秒間に送信できるビット数により制限される。ISDN(統合デジタル通信サービス網)、POTS(Plain Old Telephone Service:従来の電話サービス網)中など、多くのチャネルにおいてビットレートは一定である。
しかし、ビデオを圧縮するために使用されるアルゴリズムの効率性、およびこれらのビデオの動きの複雑さに応じて、符号化およびその符号化されたビデオの送信に必要なビット予算(budget)およびビットレートは変化し、特に増加する可能性がある。したがって、様々な複雑性のあるビデオを符号化するために必要なビットレートを、これらの符号化されたビデオを送信するために使用される通信チャネルのビットレートに合わせて調整するために、レート制御が必要となる。
H.263規格で使用される現在のレート制御アルゴリズムは、TMN8(Test Model Near-Term version 8)と呼ばれる。一般的に言って、このレート制御アルゴリズムは、平均ビットレートだけが満たされることを保証する。このアルゴリズムは、平均の目標ビットレート、および最大ビットレートを共に制御することはできない。
以降で参考文献1と呼ばれる1999年、Jordi Ribas-Corberaによる「Rate Control in DCT Video Coding for Low-Delay Communications」と題する論文は、目標のフレームサイズに関係する目標の平均ビットレートが、各フレームにより満たされることを保証するために、レート制御TMN8により使用されるアルゴリズムを開示する。より具体的には、TMN8レート制御アルゴリズムは、いくつかの画像統計量を計算して、いくつかの適正なQP(量子化パラメータ)値を決定し、目標のフレームサイズを満たすように、各イントラフレームに対してQP値を更新する。残念ながら、この制御は非常に近似的なものであり、得られたフレームサイズが、目標のフレームサイズよりも著しく大きく、または小さくなることがしばしばありうる。
更に、TMN8レート制御アルゴリズムでは、所与の目標ビットレートが超過したとき、符号器は、オーバーフローを補償するために、一定数のフレームをスキップすることになる。当然であるが、そのようにすることにより、通信およびビデオ品質が変化する。
最大ビットレートベースのレート制御など、他のレート制御法は、TMN8レート制御を超える改善を示している。その方法は、以降で参考文献2と呼ばれる2007年、Stephane Coulombeによる「An improved video rate control for video coding standards」と題するPCT/CA2007/002242に記載されている。この最大ビットレートベースのレート制御法は、平均ビットレートと最大ビットレートを共に満たすように構成されている。しかし、この最大ビットレートベースのレート制御法は、最大ビットレートの特定の定義から導かれる。より具体的には、最大ビットレートは、1秒以内に送信できるビットの最大量として定義される。ビデオストリーミングなどのアプリケーションはこの定義に従わない。
ビデオストリーミングなどのアプリケーションでは、基本的なバッファベースのレート制御を使用することができ、TMN8レート制御を超える改善を示している。このようなバッファベースのレート制御法は、参考文献2で示されている。基本的なバッファベースレートコントローラは、大量のビットをイントラフレームに割り振り、次いで、ビデオバッファリング検証器のサイズを、一定数のフレームにわたって最適化するために、イントラフレームの符号化で未使用のビットを、後続するインターフレームに対して分配する。しかし、基本的なバッファベースのレートコントローラが、いくつかのビデオシーケンスに対して良好に動作することが示されてはいるが、映画およびビデオの予告編などで見出されるものなど、多くの動きおよびシーン変化を含むシーケンスの場合、いくつかの問題が提示される。これらのシーケンスでは、大量のビットを、イントラフレームに、またはその周囲に割り振り、かつほぼ一定量のビットを残りのフレームに割り振ることはよい戦略ではなかった。ビデオバッファ検証器(Video Buffer Verifier:VBV)とは、適合するビデオビットストリームが与えられたときに、オーバーフローまたはアンダーフローすべきではない仮想的な復号器バッファのモデルのことである。本発明では、ビデオバッファ検証器とは、MPEG-4符号化(MPEG-4ビデオ符号化規格のAnnex Dを参照のこと)の場合のVBV、H.263の仮想参照復号器(Hypothetical Reference Decoder:HRD)(H.263規格のAnnex Bを参照のこと)、または仮想復号器の他の任意のバッファモデルを指すものとする。
IEEE Transactions on Circuits and Systems for Video Technology、第16巻、56〜71頁、2006年における「A sequence-based rate control framework for consistent quality real-time video」と題するBo XieおよびWenjun Zengの論文では、XieおよびZengは、バッファベースのビデオレートコントローラ中で、フレームの複雑さメトリック、平均絶対偏差(mean absolute difference:MAD)を利用している。彼等の新しいレート制御フレームワークは、複数のビデオシーケンスにわたって、より一貫した品質を達成している。その方法は、ビデオソース中の非静止特性を追跡するための(GOP(Group of Pictures)ベースとは反対の)シーケンスベースのビット割振りモデルである。彼等は、その提案するレート制御解決策が、MPEG-4 Annex Lフレームレベルレート制御よりも、(平均値と、複数のシーンにわたる一貫性の両方の点で)大幅に優れたPSNR(ピーク信号対雑音比)性能を示すことができ、ならびに品質の揺らぎおよびギクシャクした動きの少ない、時間的に滑らかなビデオを生成できることを示した。XieおよびZengは、その提案するレート制御解決策が、様々なシーケンス、ビットレート、およびフレームレートに対してロバスト性があり、市販の製品で使用されてきたと主張する。しかし、彼等は、バッファのオーバーフローおよびアンダーフローに対する典型的な検査以外は、その方法でバッファレベルを考慮していない。実際のバッファレベルに基づいて動作させないと多数の欠落フレームを生ずるおそれがある。例えば、バッファレベルが高い場合、実際の符号化されたフレームは、オーバーフローを引き起こし、したがって、欠落フレームを生ずる可能性が非常に高い。XieおよびZengは、そのレート制御法において、イントラフレーム(それらが一定の間隔で到来するとき)の位置を使用せず、または最大ビットレートならびに平均ビットレートを考慮していない。彼等は、平均ビットレートに等しい最大ビットレートを考慮しているに過ぎない。
したがって、多くの動きおよびシーン変化を含むビデオシーケンスにおいて、レート制御に関係する上記で論じた問題を克服するための必要性がなお存在する。したがって、レート制御を改善することのできるバッファベースの装置および方法が求められている。
PCT/CA2007/002242
1999年、Jordi Ribas-Corberaによる論文「Rate Control in DCT Video Coding for Low-Delay Communications」 IEEE Transactions on Circuits and Systems for Video Technology、第16巻、56〜71頁、2006年、Bo XieおよびWenjun Zengの論文「A sequence-based rate control framework for consistent quality real-time video」
したがって、本発明の目的は、上記で論じた諸問題を克服することのできるバッファベースのレート制御を提供することである。例えば、このようなバッファベースの制御は、平均ならびに最大ビットレート仕様を満たすために、ビデオ符号化におけるフレームの複雑さ、バッファレベル、イントラフレームの位置を利用することになる。
より具体的には、本発明の第1の態様によれば、イントラフレームにより分離された一連のインターフレームを含むフレームのシーケンスのビデオ符号化において、ビットレートを制御する方法が提供される。符号化されたフレームは、その符号化フレームの送信前に、ビデオバッファリング装置で妥当性が検査される。本方法は、フレームのシーケンスにおけるフレームの複雑さを測定するステップと、各インターフレームに対して、インターフレームと次のイントラフレームの間の距離との関係で、ビデオバッファリング装置の目標バッファレベルを計算するステップと、各インターフレームに対して、インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング装置の現在のバッファレベル、およびビデオバッファリング装置の計算された目標バッファレベルとの関係で、目標フレームサイズを計算するステップと、計算された目標フレームサイズを用いて、フレームのシーケンスのビデオ符号化におけるビットレートを制御するステップとを含む。
本発明の第2の態様によれば、ビデオバッファリング検証器の最大のサイズ制限を超えることなく平均ビットレートを満たすように、イントラフレームにより分離された一連のインターフレームを含むフレームシーケンスのビデオ符号化におけるビットレートを制御するための方法が提供される。ビデオ符号化は、符号化されたフレームを送信する前に、ビデオバッファリング検証器中で符号化されたフレームの妥当性を検査するステップを含む。本方法は、フレームのシーケンスにおけるフレームの複雑さを測定するステップと、各インターフレームに対して、インターフレームと次のイントラフレームの間の距離との関係で、ビデオバッファリング検証器の目標バッファレベルを計算するステップと、各インターフレームに対して、インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング検証器の現在のバッファレベル、およびビデオバッファリング検証器の計算された目標バッファレベルとの関係で、目標フレームサイズを計算するステップと、フレームのシーケンスのビデオ符号化におけるビデオバッファリング検証器の最大のサイズ制限を超えることなく平均ビットレートを満たすように、計算された目標フレームサイズを用いるステップとを含む。
本発明の第3の態様によれば、イントラフレームにより分離された一連のインターフレームを含むフレームのシーケンスのビデオ符号化におけるビットレートを制御するための装置が提供される。符号化されたフレームは、符号化フレームの送信前に、ビデオバッファリング装置で妥当性が検査される。装置は、フレームのシーケンスにおけるフレームの複雑さの検出器と、各インターフレームに対する、インターフレームと次のイントラフレームの間の距離との関係による、ビデオバッファリング装置の目標バッファレベルの第1の計算器と、各インターフレームに対する、インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング装置の現在のバッファレベル、およびビデオバッファリング装置の計算された目標バッファレベルとの関係による、目標フレームサイズの第2の計算器と、計算された目標フレームサイズに応じた、フレームのシーケンスのビデオ符号化におけるビットレートの制御装置とを備える。
本発明の第4の態様によれば、ビデオバッファリング検証器の最大のサイズを超えることなく平均ビットレートを満たすように、イントラフレームにより分離された一連のインターフレームを含むフレームのシーケンスのビデオ符号化におけるビットレートを制御するための装置が提供される。ビデオ符号化は、符号化されたフレームを送信する前に、ビデオバッファリング検証器中で符号化されたフレームの妥当性を検査するステップを含む。装置は、フレームのシーケンスにおけるフレームの複雑さの検出器と、各インターフレームに対する、インターフレームと次のイントラフレームの間の距離との関係による、ビデオバッファリング検証器の目標バッファレベルの第1の計算器と、各インターフレームに対する、インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング検証器の現在のバッファレベル、およびビデオバッファリング検証器の計算された目標バッファレベルとの関係による、目標フレームサイズの第2の計算器と、フレームのシーケンスのビデオ符号化におけるビデオバッファリング検証器の最大サイズを超えることなく平均ビットレートを満たすように、計算された目標フレームサイズに応じた、フレームのシーケンスのビデオ符号化におけるビットレートの制御装置とを備える。
本発明の前述の目的および他の目的、その利点および特徴は、添付の図面を参照し、例として示されただけの、本発明の例示的な諸実施形態の以下の非限定的な説明を読めば、更に明らかとなろう。
添付図では、以下のようになる。
ビデオ通信システムの一例の概略図である。 図1の通信システムにおけるビデオ符号化のための符号器の一例の概略のブロック図である。 本発明の非限定的な例示の実施形態によるビデオ符号化におけるレート制御のための装置の概略のブロック図である。 本発明の非限定的な例示の実施形態によるビデオ符号化におけるレート制御のための方法を示す流れ図である。 図4のレート制御法におけるイントラフレームの目標サイズを計算する方法を示す流れ図である。 図4のレート制御法におけるインターフレームの目標サイズを計算する方法を示す流れ図である。
概略的に言って、本発明の非限定的な例示の実施形態によるビデオ符号化におけるレート(ビットレート)制御のための装置および方法は、許容される最大ビットレート(またはビデオバッファ検証器の最大のサイズ制限)を超えることなく、平均ビットレートを満たすことを保証する。より具体的には、レート(ビットレート)制御は、バッファベースであり、インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング検証器の現在のバッファレベル、およびビデオバッファリング検証器の計算された目標バッファレベルを考慮する。この方法では、遠隔監視、速い動きの映画などの様々なビデオアプリケーションで、視覚的な品質が高められる。
本発明の非限定的な例示の実施形態によるレート制御の移植性が改善され、そして非限定的な例として、H.263、MPEG-4、およびH.264などの符号化スキームを用いる複数のビデオ符号器への、それの統合を容易にすることに留意するべきである。
本発明の非限定的な例示の実施形態によるビデオ符号化におけるレート制御のための装置および方法は、概して、以下の諸側面を考慮することにより、ビデオ品質およびビデオ符号化性能を改善する。
1)XieおよびZengにより提案されるように、目標フレームサイズを計算するとき、フレームの複雑さを利用する。例えば、符号化すべき画像と前の画像の差分(または後者が含む細部)が大きければ大きいほど、割り振るべきビットの点で、その画像を符号化するのがより複雑になる。その場合、一定の品質を得るために、その画像の符号化には、より多量のビットが割り振られるべきである。フレームの複雑さを評価するために、平均絶対偏差(MAD)または他の同様のメトリックなど、フレームの複雑さメトリックを使用することができる。
2)例えば、フレームの複雑さメトリックの計算により、ビデオシーケンス中のシーンカットを検出することができる。ビデオシーケンス中に存在する様々なシーンカットを知ることにより、バッファベースのレート制御装置および方法は、ビデオシーケンスのより優れた品質を取得するために、より適切にイントラフレームを選択することができる。この場合、フレームモード決定の前に、動き推定を動作させる。
3)各イントラフレームは、前フレームと同じ品質で符号化される。そのために、イントラフレームに対する目標フレームサイズは、固定であるとは見なされず、変化する可能性がある。更に、2つのイントラフレーム符号化モードを考えることができる。第1のモードは、フレームの持続期間全体に対して固定された量子化パラメータ(QP)を使用し、したがって、概して、より一様な品質であるが、正確さに劣るフレームサイズとなる。第2の符号化モードは、フレームのマクロブロック(MB)列ごとに更新されるQPを使用する。
4)本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置および方法は、ビデオバッファリング検証器が、平均ビットレートを維持するために余分のビットもしくは未使用のビットを使用するのではなく、目標フレームサイズを適正に縮小拡大することにより、アンダーフローまたはオーバーフローしないことを保証する。
5)インターフレームと次のイントラフレームの間の距離、測定されたフレームの複雑さ、ビデオバッファリング検証器の現在のバッファレベル、およびビデオバッファリング検証器の計算された目標バッファレベルなどの様々なパラメータに依存する目標フレームサイズが計算される。したがって、計算される目標フレームサイズは動的な値である。計算された目標フレームサイズは、更に、目標フレームサイズをよりよく制御するための因子によって更に縮小拡大することができる。
I.ビデオ通信システム
最初に、ビデオ符号化が行われるビデオ通信システムの例を説明する。
図1を次に参照すると、ビデオ通信システム10は、ビデオを捕捉するためのビデオカメラ、またはウェブカメラなどのビデオソース12を備える。これらのビデオは、次いで、ビデオ符号器14に供給される。ビデオ符号器14はネットワーク16に接続される。ネットワーク16は、符号化されたビデオを符号器14から復号器18に送信するための通信リンクまたはチャネルを確立する。最後に、復号器18は、ビデオ再生装置20に接続される。ビデオ再生装置20は、コンピュータ、テレビジョンセット、またはビデオを表示するための任意の装置とすることができる。
例えば、第1と2の当事者間における通信セッション中に、第1の当事者のビデオソース12により捕捉されたビデオは、圧縮し、かつ符号化するために符号器14により受け取れられる。符号器14が、ビデオデータの符号化を終了した後、符号化されたビデオは、ネットワーク16により確立された通信リンクまたはチャネルを介して、第2の当事者に送信される。第2の当事者の端部で、復号器18は、符号化されたビデオを受信し、その復号を開始する。符号化されたビデオが復号されると、復号器18は、復号されたビデオデータをビデオ再生装置20に送り、ビデオ再生装置20は、次いで、第1の当事者から符号化形式で受信されたビデオの再生を開始することができる。
次に、図2を参照して、符号器14がより詳細に説明される。
符号器14は、ビデオ符号化に関係する1つまたは複数のプロセス321から327を行う。これらのプロセスは、従来のプロセス、または従来にないプロセスのいずれかであるが、本開示で簡単に説明されるもの、あるいはオリジナルでありかつ以下で完全に説明されるものがある。
上記プロセス321から327の少なくとも一部を実施するために、符号器14は、動き推定モジュール32、動き補償モジュール34、H.263およびMPEG-4符号化の場合、概してDCTである変換モジュール36、量子化モジュール38、レート制御装置42、係数フィルタ処理モジュール37、およびビデオバッファリング検証器40を含む。レート制御装置42は、平均ならびに最大ビットレート仕様を満たすために、符号化プロセスのいくつかの側面を制御する。符号器14は、様々のプラットフォーム、例えば、Vantrix社(Vantrix Corporation)が提供するSPOT xde(登録商標)サーバを用いて実装することができる。当然であるが、他の適切なプラットフォームも企図されうる。ビデオソース12は、非限定的な例として、MPEG-4、H.263、およびH.264など、様々な規格を用いるビデオファイル、またはビデオカメラを含む、任意の供給源とすることができる。
符号器14の要素321から327を含む動き推定モジュール32は、現在のフレームへと移動した、前のフレームの1つまたは複数の領域を予測し、したがって、この領域またはこれらの領域を再度符号化する必要がなくなるようにする。
次いで、動き補償モジュール34は、動き推定モジュール32で検出された、一般に、前フレームである参照フレームから現在のフレームへの上記で予測された領域(複数可)の動きを補償する。こうすることにより、符号器14は、前フレームと現在のフレームの間の差分だけを符号化し、かつ送信することにより圧縮し、かつ帯域幅を節約することが可能になり、それによりインターフレームを生成することができる。
変換モジュール36は、連続するフレームの画素ブロックに対して変換を行う。その変換は、ビデオ符号化規格技術に依存する。H.263およびMPEG-4の場合、それは、連続するフレームの画素ブロックのDCT変換である。H.264の場合、変換は、DCTベースの変換、またはアダマール変換である。変換は、フレーム全体(イントラフレーム)に対して、またはフレーム間(インターフレーム)の差分に対して行うことができる。DCTは、一般に、画素ブロックを「空間周波数係数」(DCT係数)に変換するために使用される。DCTは、マクロブロック(MB)など、画素の2次元ブロックに対して演算する。DCTは、ピクチャを小型化するのに効率的であるため、一般に、元のピクチャを再現するためには、少数のDCT係数で十分である。
変換された係数は、次いで、フィルタ係数モジュール37に供給され、そこで、変換された係数がフィルタ処理される。例えば、フィルタ係数モジュール37は、例えば高周波数情報に対応するいくつかの係数をゼロに設定する。フィルタ係数モジュール37は、小さい目標フレームサイズの場合に、レート制御装置42の性能を改善する。
フィルタ処理され、変換された係数は、次いで、量子化モジュール38に供給され、そこで、量子化される。例えば、量子化モジュール38は、ゼロに近いフィルタ処理されたDCT係数をゼロに設定し、残りの非ゼロのフィルタ処理されたDCT係数を量子化する。
再配列モジュール39は、次いで、ゼロの長い列を作成するために、量子化された係数を特有の順序で配置する。
エントロピー符号化モジュール33は、例えば、ハフマン符号化または任意の他の適切な符号化スキームを用いて、再配列された量子化DCT係数を符号化する。このようにして、エントロピー符号化モジュール33は、符号化されたイントラフレームまたはインターフレームを生成し、出力する。
次いで、ビデオバッファリング検証器(VBV)40が使用されて、復号器18に送信されるフレームが、この復号器の受信バッファのオーバーフローを引き起こさないことを検査する。あるフレームがオーバーフローを引き起こすことのない場合、レート制御装置42は、スイッチ35を介して、そのフレームの送信を可能にする。しかし、フレームがオーバーフローを引き起こすことになる場合、レート制御装置42は、そのフレームの送信を許可しない。
上記の動き推定モジュール32、動き補償モジュール34、変換モジュール36、量子化モジュール38、再配列モジュール39、エントロピー符号化モジュール33、およびビデオバッファリング検証器40は、普通であれば、当業者に知られているものであり、したがって、本開示でこれ以上の説明はしないものとする。
更に、レート制御装置42は、ビデオ符号化におけるビットレートを制御することができる。このレート制御装置42は、許容された最大ビットレートを超えることなく、可能な限り平均ビットレートが満たされることを保証する。このようにすると、遠隔監視、速い動きの映画など、様々なアプリケーションにおける視覚的品質を高めることができる。
本発明によるレート制御装置42、および対応する方法100の非限定的な例示の実施形態を説明する前に、参考文献2で説明された、すでに存在する基本的なバッファベースのレートコントローラを、このような基本的なバッファベースのレートコントローラに基づくレート制御装置42および方法100をよく理解するために説明することとする。
II.基本的なバッファベースのレートコントローラ
基本的なバッファベースのレート制御装置は、ビデオストリーミングアプリケーションで特に有用である。それは、後続するフレームに対して未使用ビットを分配することにより、また一定数のフレームに対してビデオバッファリング検証器40のレベルを最大化することにより、イントラおよびインターフレームを符号化するための目標フレームサイズを計算する。
ビデオストリーミングでは、ビデオパケットは、容量が制限されたチャネルを介して送られる。したがって、ビットレートが制限される。図1の再生装置20が最初に受信したイントラフレームの再生を開始する前に、1秒の遅延が許容可能であると見なされる場合、イントラフレームの目標サイズは、しかし、本明細書の以下で説明される最大ビットレートであるRMAXよりも低くするべきである。
上記の状況では、復号器18は、再生装置20が最初に受信したイントラフレームの再生を開始する前に1秒間待つ。しかし、これは、さらなるフレームを、この1秒の遅延の間に送信できないことを意味していない。BI=RMAXであり、BIはイントラフレームの目標フレームサイズであると仮定する。更に、最大ビットレートRMAXを超えないことは、ビデオバッファリング検証器40が、RMAXを超えないという条件と等価であると仮定する。
・その場合、時間t=0では、サイズがRMAXのフレームがちょうど記憶されたので、図2のビデオバッファリング検証器40はフル(full:満ちた状態)である。
・フレームレートF=10fpsであり、かつRMAX=48000bpsである場合、t=0.1sで、ビデオバッファリング検証器40は、RMAX/F=4800ビットだけ空きができるが、それは、これらのビットが、通信リンクまたはチャネルを介して送信されてしまったからである。したがって、所与の時間t=0.1sで、ビデオバッファリング検証器40をオーバーフローさせることなく、符号化されたフレームを受信するために、4800ビットのスペースが、ビデオバッファリング検証器40中で利用可能になる。
・同様の手法が、後続するフレームに対しても適用される。したがって、イントラフレームに続く各フレームに対して、4800ビットのさらなる量を送信することができる。このように、この手法を用いると、例えば、TMN8または最大ビットレート制御装置を用いて、48000ビットではなく、合計48000+(10-1)(4800)=91200ビットを送信することが可能である。
追加の利用可能なビットが、イントラフレームに続くフレームを符号化するために割り振られるビット数を高めるために使用できるので、イントラフレームに続くフレームの品質を改善することを可能にする。
しかし、前に計算された91200ビットは、1秒間に送信されるのではなく、送信されたイントラフレームを受信するためにアプリケーションにより生じた遅延のため、これらのビットをカバーする時間は1.9秒であることに留意するべきである。すなわち、1秒の遅延と、時間1.1sから1.9sの9フレームとであり、それにより、最大ビットレートRMAXに対応する、(91200ビット/1.9s)=48000ビット/sが得られる。
本開示を通して、ビデオバッファリング検証器40の最大サイズは、最大ビットレートRMAXに相当することになると考えられる。次に、次のイントラフレームが到来する場合を検討する。次のイントラフレームが到来するので、ビデオバッファリング検証器40は、そのスケジュールされた時間にやがて到来するイントラフレームを記憶するための十分なスペースを有するために、徐々に空きを作る必要がある。
イントラフレームに対する目標サイズはBIであり、したがって、サイズBIのフレームを収容できる空きバッファでは十分ではないが、実用的には、イントラフレームに続くフレームに対して、その品質を改善するためにより多くの利用可能なビットを割り振るように、ビデオバッファリング検証器40に空きを作ることが望ましい。したがって、実用的なアプリケーションでは、BI<RMAXである。
したがって、ビデオバッファリング検証器40の空きを作ることを開始する前に、イントラフレームに続くフレームに割り振られるビット数を、これらのフレームの改善された品質を取得するために増加させることができる。
t=0をイントラフレームの到来時間とする。次いで、Nは、イントラフレームに続くフレームの数として定義され、それに対して、イントラフレームの符号化に使用されないビットが分配される。Lは、インターフレームの数として定義され、それに対して、ビデオバッファリング検証器40のバッファレベルが最適化される。t=Lで、0≦N≦Lに対して、ビデオバッファリング検証器40はフルであることに留意するべきである。
概略的に説明すると、このレート制御により使用される戦略は以下のようになる。
すべての時間で、ビデオバッファリング検証器のバッファレベルは、最大ビットレートRMAXを超えることはない。これは、オーバーフローを生成することになる符号化されたフレームが除外されることを意味する。イントラフレームの符号化で未使用のビットは、バッファレベルを最大化するために、かつビデオの全体品質を高めるために、後続するインターフレームの符号化で使用されるが、それは、通常、ビデオの品質は、イントラフレームの後に悪くなるからである。フレーム数Lまで、ビデオバッファリング検証器40は、RMAX/Fの目標サイズでフレームを符号化することにより、フル状態が維持される。ただし、Fはフレームレートである。更に、前のフレームの符号化で計算されているが、使用されていないビットは、後続するフレームに対して再分配される。しかし、目標フレームサイズは、時間におけるフレームインデックスにそれ自体が依存する、目標バッファレベルに依存する特定の値を超えるべきではない。目標バッファレベルは、イントラフレームの後の最初のフレームに対してRMAXであり、次のイントラフレームが来るまでに徐々にゼロへと減少することに留意するべきである。
フレームLの後、ビデオバッファリング検証器40は実質的にフルになるという条件で、イントラフレームの符号化の結果から生じる未使用のビットを、後続するインターフレームに分配するためには、多くの方法が存在する。したがって、2つのイントラフレーム間の期間Tの間、フレームのタイプおよびインデックスごとに、目標フレームサイズBp(f)が、以下により与えられる。
Figure 0005180294
ただし、BIは、イントラフレームの目標フレームサイズであり、
Figure 0005180294
は、任意のインターフレームの目標サイズであるが、ビデオバッファリング検証器40がオーバーフローしない、すなわち、バッファレベル≦RMAXであり、かつt=Lでほぼフルになるという条件を有する。
例えば、未使用のビットは、イントラフレームに続くN個のインターフレームの目標フレームサイズBp(t)に対して等しく分配することができる。この場合、時間tにおける各インターフレームに対する目標フレームサイズは、以下により与えられる。
Figure 0005180294
L=Nのとき、項
Figure 0005180294
は存在しなくなることに留意するべきである。更に、ビデオバッファリング検証器40が、2つのイントラフレーム間で、それ自体を空にするための十分な時間を有するように、T>F+Lであることが必要である。
フレームごとに、最大のバッファレベルは、次のイントラフレームを記憶するために、ビデオバッファリング検証器40中に十分なスペースを確保するように計算されるべきである。イントラフレームに対しては、最大バッファレベルは、RMaxを超えることができない。したがって、T-1におけるフレームの場合、最大バッファレベルは、RMax-BI+RMax/Fを超えることができず、したがって、次のイントラフレームの開始時には最大バッファレベルは、RMax-BIを超えない。
しかし、実用上の理由で、本明細書の上記で言及されたように、最大バッファレベルは、RMax-BI+RMax/Fではなく、RMax/Fとすべきである。これは、実際には、符号化されたイントラフレームの実際のサイズを正確に予測することが難しいためである。現在、既存のアルゴリズムは、十分なロバスト性を有していない。したがって、より多くのビットが利用可能で、かつイントラフレームに続くフレームを送信するために使用できるように、ビデオバッファリング検証器40をフレームT-1で空にすることが安全である。
したがって、ビデオバッファリング検証器の最大バッファレベルは、以下のように計算される。
Figure 0005180294
最大バッファレベルに加えて、ビデオバッファリング検証器40が、異なるサイズのフレームを受け取ると、インターフレームごとにバッファレベルは更新され、かつ計算される。送信の開始時には、ビデオバッファリング検証器40は空である。次いで、順次、計算されたサイズBIおよびBp(t)のフレームが挿入され、ビデオバッファリング検証器40に記憶される。したがって、ビデオバッファリング検証器40のバッファレベルは、以下により与えられる。
Figure 0005180294
したがって、フレームを符号化するためのマージンΔ(t)は、以下のように与えられ得る。
Figure 0005180294
概して、符号器14がフレームを符号化するとき、符号化されたフレームサイズは、目標フレームサイズとはわずかに異なる。目標フレームサイズが、符号化されたフレームサイズよりも大きい場合、未使用のビットは、符号化のために、次のフレームに対して再分配される。最大バッファレベルを超えない限り、次のフレームに対して未使用ビットを分配するために、様々な方法を使用することができる。次のフレームを符号化するために利用できる可能な追加のビット数E(t)は、以下のように定義される。
E(t)=BufferLevel(t)-BufferLevelactual(t)=
BufferLevelMAX(t)-BufferLevelactual(t)-Δ(t)
ただし、BufferLevelactual(t)は、フレームを実際に符号化した後のバッファレベルである。
一般に、最大バッファレベルを超過しないことを保証するために、少量の追加の未使用ビットが使用されることに留意するべきである。この少量の追加のビットを指定し、決定することは、当業者の知識に含まれるものであると考えられる。
しかし、符号化されたフレームが、目標フレームサイズよりも大きくなってしまう可能性がある。この場合、E(t)は負に、または特定の所与の閾値より低くなる。したがって、妥当性検査プロセスが、符号化されたフレームに対して実施される。符号化されたフレームが目標フレームサイズを超えていた場合、この符号化されたフレームは除外される。
上記で説明された基本的なバッファベースのレート制御は、ビデオ監視および個人用ビデオクリップなどのアプリケーションで良好な性能を示す。しかし、それは、例えば、ビデオの予告編でしばしば存在する大量の動きおよびシーン変化を有するシーケンスで、いくつかの問題を提示する。したがって、後者のアプリケーションに対しては、図2の装置42および対応する方法など、改善されたバッファベースのレート制御装置および方法が必要である。装置42は、上記で説明された基本的なバッファベースのレート制御装置上に構築される。したがって、装置42の新しい側面だけを、以下の説明で論ずることとする。
III.バッファベースのレート制御装置42
本発明の非限定的な実施形態による装置42は、指定された最大ビットレートを超えることなく指定された平均ビットレートを満たすように、フレームの複雑さと、インターフレームと次のイントラフレームの間の距離と、ビデオバッファリング検証器の現在のバッファレベルと、ビデオバッファリング検証器の計算された目標バッファレベルとを利用する改善されたバッファベースのレート制御法を実施する。より具体的には、装置42は、H.263、H.264、MPEG-4、およびその他などのビデオ符号化規格におけるビットレートを制御するための方法100を実施する。装置42および方法100が、本明細書の以下で説明される。
図3で示す装置42は、フレームの複雑さを測定するためのフレームの複雑さ検出器44、および符号化すべきイントラフレームのQP(量子化パラメータ)を計算するためのQP計算器46を含む。更に、装置42は、ビデオバッファリング検証器40の目標バッファレベルを計算するためのバッファレベル計算器47を含む。装置42は、フレームを符号化するために目標フレームサイズを計算するための目標フレームサイズ計算器48を更に含む。目標フレームサイズは、フレームの複雑さ検出器44からのフレームの複雑さ測定値と、計算器46からのビデオバッファリング検証器40の目標バッファレベルとの関係で計算される。装置42はまた、計算器48からの計算された目標フレームサイズが有効であることを判定し、かつ保証するための妥当性検査器50を含む。
本明細書の上記で説明されたように、基本的なバッファベースのレートコントローラは、ビデオバッファリング検証器が、最大ビットレートを決して超えないことを保証するために、追加のビットを使用する。本明細書の以下で説明されるように、装置42では、ビデオバッファリング検証器40のアンダーフローまたはオーバーフローを回避するために、計算された目標フレームサイズに対して適用されるスケーリング因子により、この条件が満足される。
IV.バッファベースのレート制御法100
次に、図4を参照すると、装置42を用いるバッファベースのレート制御のための、本発明の非限定的な例示の実施形態による方法100が説明される。
方法100を説明する前に、いくつかの表記法をまず導入する。
・W(t)は、時間tにおけるビデオバッファリング検証器40のバッファレベルに相当し、また基本的なバッファベースのコントローラの場合のBufferLevelactual(t)に相当する。
・Wmaxは、ビデオバッファリング検証器40の最大バッファサイズであり、また基本的なバッファベースのレートコントローラの場合のBufferLevelMAX(t)に相当する。
・Whighは、高レベルであると考えられる、すなわち、ビデオバッファリング検証器40がオーバーフローする危険性があると考えられるビデオバッファリング検証器40のバッファレベルである。
・Wlowは、低レベルであると考えられる、すなわち、ビデオバッファリング検証器40がアンダーフローする危険性があると考えられるビデオバッファリング検証器40のバッファレベルである。
・WAtLastIntraは、最後のイントラフレームを符号化した後のビデオバッファリング検証器40のバッファレベルである。
・Wtarget(t)は、時間tにおけるビデオバッファリング検証器40の目標バッファレベルであり、それは、基本的なバッファベースのレートコントローラの場合のBufferLevel(t)に相当する。
・RMAXは、指定された最大ビットレートである。
・RAVGは、指定された平均ビットレートである。
・B(t)は、目標フレームサイズを表しており、フレームがイントラフレームである場合はB(t)=BI(t)であり、フレームがインターフレームである場合はB(t)=BP(t)である。
・Tは、2つのイントラフレーム間の期間である。
オペレーション102
方法100のオペレーション102で、最大ビットレートRMAXおよび平均ビットレートRAVGが指定される。これらの2つの値を決定することは、当業者の知識に含まれるものと考えられる。
オペレーション104
オペレーション104で、ビデオバッファリング検証器40の最大バッファサイズWmaxが設定される。例えば、Wmaxは、最大ビットレートRMAXと等しく、すなわち、Wmax=RMAXに設定される。Wmaxが設定された後、次いで、Whighを、例えば、Whigh=0.8Wmaxなどと決定することができる。更に、Wlowを、Wlow=0.05 Wmaxなどと決定することができる。当然であるが、ビデオバッファリング検証器40のバッファレベルの上限および下限をそれぞれ定義するWhighおよびWlowに対する他の値を、ビデオバッファリング検証器40のオーバーフローおよびアンダーフローを、それぞれ、回避するように決めることもできる。
バッファレベル計算器47(図3)は、時間tにおける目標バッファレベルWtarget(t)を計算する。この計算を実行するために、いくつかの戦略を使用することができる。例えば、Wtarget(t)は、イントラフレームを符号化した後に得られた最初のバッファレベルで開始することができ、次いで、Wtarget(t)は、次のイントラフレームに先行するフレームで、すなわち、時間t=T-1におけるフレームでRAVG/Fの目標バッファレベルに達するまで直線的に減少する。このような場合、目標バッファレベルWtarget(t)は次式で与えられる。
Figure 0005180294
代替的には、目標バッファレベルWtarget(t)はまた、以下の式により計算することもできる。
Figure 0005180294
式(1)と(2)の両方、および結果的に他の関係であっても、次のイントラフレームが開始する前に空のビデオバッファリング検証器40を生ずる限り、使用することができる。
オペレーション106
オペレーション106では、目標フレームサイズ計算器48が、符号化すべきフレームごとに目標フレームサイズを計算する。フレームごとに目標フレームサイズを計算するために、まずフレームのタイプが決定される。フレームがイントラフレームである場合、イントラフレームに割り当てられる目標フレームサイズを計算するために、方法200を使用することになる。フレームがインターフレームである場合、インターフレームに関する目標フレームサイズを計算するために、方法250が使用される。
オペレーション108
目標フレームサイズが計算された後、妥当性検査器50(図3)は、ビデオバッファリング検証器40のオーバーフローおよび/またはアンダーフローを回避するために、オペレーション108で、計算された目標フレームサイズの妥当性を検査する。
オペレーション110
大量のフレームが除外される可能性のあることが理解され得る。除外されるフレームの数を低減するために、フィルタ係数モジュール37(図2)は、オペレーション110で、変換された係数(通常、DCT係数)に対して、フィルタ処理を適用する。
オペレーション112
妥当性検査プロセス112は、実際に符号化されたフレームの妥当性を検査する。実際に符号化されたフレームサイズが、ビデオバッファ検証器40のオーバーフローを引き起こす場合、すなわち、符号化されたフレームサイズが、ビデオバッファリング検証器40のオーバーフローを回避するために許容される最大値を超える場合、その符号化されたフレームは除外される。符号器14の状態変数は、次いで、除外されたフレームの符号化の前に設定された値に復元される。オーバーフローは、VBV40の最大サイズを超えることなく、フレームをVBV40に追加できない場合に、すなわち、バッファレベルとフレームサイズの合計が、VBV40の最大のサイズ制限よりも大きい場合に生ずる。
図4のバッファベースのレート制御法100のオペレーション106、108、および110を次に、より詳細に説明するものとする。
オペレーション106(方法200)
符号化すべきフレームがイントラフレームである場合、イントラフレームの目標フレームサイズを計算するために、図5の方法200が使用される。
次に、図5を参照して方法200を説明する。
オペレーション202(図5)
イントラフレームが、ビデオフレームのシーケンスの最初のイントラフレームに相当する場合、目標フレームサイズ計算器48は、オペレーション202で、以下の関係を用いてイントラフレーム目標サイズBI(t)を計算する。
BI(t)=ξWmax (3)
ただし、例えば、ξ=0.6であり、Wmaxは、方法100のオペレーション102で指定されたものである。
スケーリング項ξは、場合によっては、他の値を取りうることに留意するべきである。
ビデオシーケンスの他のイントラフレームの場合には、目標フレームサイズ計算器は、QPavg(t)がある時間期間にわたるQPの平均である場合、QP≦QPavg(t)を満足するBIの最小値を決定することにより、イントラフレーム目標サイズBI(t)を計算する。
オペレーション204
QP(量子化パラメータ)の計算および予測は当業者にはすでに知られている。QPを計算する2つのモードを実施することができる。第1のモードは、フレーム全体に対して固定されるQPを計算することからなる。第2のモードは、所与の目標フレームサイズに、より近くかつ正確に従うように、フレームの各マクロブロックに関するQPを計算し、更新することからなる。
固定されたQPを使用することは、フレーム間で、より一様な品質を達成するが、正確さに劣るフレームサイズを生ずることに留意するべきである。
オペレーション204では、QP計算器46(図3)が、以下の関係を用いてイントラフレームのQP値を計算する。
Figure 0005180294
ただし、
Figure 0005180294
であり、F(u,v)は、サイズN×Mの画像のすべての画素ブロックの8×8のDCT係数を含み、またBIは、(ビットで表される)所与のイントラフレーム目標サイズである。
項MAVDCTは、DCT係数の平均絶対値を表し、画像の複雑さの尺度を示す。項ABS()は、絶対値関数である。
オペレーション206
オペレーション206で、目標フレームサイズ計算器48(図3)は、以下の関係を用いて、イントラフレーム目標サイズを計算する。
BI(t)=“QP<=QPavg(t)”となる最小のBI (5)
QP≦QPavg(t)である条件を満足するイントラフレーム目標サイズBIを計算するために、反復法を使用できることに留意するべきである。より具体的には、2分法を繰り返して使用することができる。
オペレーション106(方法250)
フレームがインターフレームである場合、図4の方法100の方法250が、インターフレームの目標フレームサイズを計算するために使用される。
次に、図6を参照して、インターフレーム目標サイズを計算するための方法250を説明する。
オペレーション252
オペレーション252で、フレームの複雑さ検出器44は、様々なメトリックを用いて、フレームの複雑さを評価する。
フレームの複雑さを評価する場合、平均絶対偏差(MAD)、イントラフレームに対する平均絶対偏差(MADI)、およびアクティビティに対する平均絶対偏差(MADA)など、様々なメトリックを測定し、計算することができる。
より具体的には、時間tにおけるM×Nのサイズもしくは解像度の画像に対して、MADは、以下のように定義される。
Figure 0005180294
ただし、Y()は、元の画像の輝度成分であり、U()およびV()は、元の画像のクロミナンス成分であり、
Figure 0005180294
は、復号器18(図1)における再構成された解像度M×Nの前画像の輝度であり、
Figure 0005180294
および
Figure 0005180294
は、復号器18(図1)における再構成された解像度M'×N'の前画像のクロミナンス成分であり、また(mx,my)は、画像の座標xおよびyに沿った輝度に関する最適な動きベクトルである。
符号化すべき現在のフレームと、再構成された前フレームとの間の不一致が大きければ大きいほど、一定レベルの品質に達するために、現在のフレームを符号化するのに必要なビットが多くなることを理解するべきである。したがって、MADの高い値を有するフレームの場合、符号化するために、これらのフレームにより多くのビットを割り当てるべきである。
MADAメトリックが使用される場合、時間tにおける解像度M×Nの画像に対するMADAは、以下のように定義される。
Figure 0005180294
更に、フレームの複雑さ検出器44は、イントラフレームに対して複雑さの尺度を計算することができる。この場合、MADIが使用され、また式(6)および(7)で使用された再構成画像は、イントラフレームの符号化中に使用されないので、ゼロに設定される。したがって、フレームの複雑さ検出器44は、以下のようにMADIを計算することができる。
Figure 0005180294
オペレーション254
オペレーション254で、他の統計量を計算することができる。これらの他の統計量は、ある時間期間にわたりQP計算器46(図3)により計算された平均のQPであるQPavg(t)と、ある時間期間にわたりフレームの複雑さモジュール44(図3)により計算された平均のMADであるMADavg(t)とを含むことができる。
オペレーション256
オペレーション256で、目標フレームサイズ計算器48(図3)は、以下の式を用いて、インターフレーム目標サイズBp(t)を計算する。
Figure 0005180294
ただし、
Figure 0005180294
および
Figure 0005180294
ただし、γは、例えば4などの一定値であるが、他の値を使用することもでき、またWtarget(t)は、方法100(図4)のオペレーション104で計算される。
式(9)は、他の変数に関するインターフレーム目標サイズの動的性質を示している。例えば、インターフレーム目標サイズBp(t)は、大まかにいって、
Figure 0005180294
に比例していることに留意するべきである。MAD(t)の値は通常大きいので、式(9)の分母に1を加えることは、式中で顕著な数値的影響を有しない。更に、1を加えることにより、ゼロによる除算が生ずるのを回避することができる。ビットレートが非常に高いいくつかの特殊な場合、精度の問題を回避するためには、1より小さい小数値がより適切である。
更に、式(9)における項
Figure 0005180294
は、(大きさにおける)MAD(t)/MADavg(t-1)の比によって与えられるゲインを制限するために、γ=4のとき4α(t)で飽和する。この方法では、ゲイン制限は、ビデオバッファリング検証器40のバッファレベルが増加するにつれて低下する。例えば、ビデオバッファリング検証器40が空である場合、その時間におけるインターフレーム目標サイズBp(t)は、平均ビットレートの4倍に制限され、すなわち、
Figure 0005180294
であり、Fはフレームレートである。しかし、W(t)≧Whighである場合、インターフレーム目標サイズBp(t)は、この場合、α(t)=0であるのでゼロに設定され、ビデオバッファリング検証器40のオーバーフローを回避することができる。
大きなWhighを有することは、しばしば、平均PSNR(ピーク信号対雑音比)を改善することができるが、符号化されたフレームを欠落させる危険性が高くなることに留意するべきである。
更に、式(9)における因子β(t)は、W(t)>Wtarget(t)である場合、インターフレーム目標サイズBp(t)を低減することができる。バッファ目標レベルWtarget(t)と比較してバッファレベルW(t)が大きくなると、インターフレーム目標サイズBp(t)に対して因子β(t)により導かれる低減は大きくなる。更に、現在のフレームが、到来するイントラフレームに近づくにつれて、すなわち、時間tがTに近づくとき、低減因子β(t)を、より積極的に働かせることもできる。この方法では、W(t)およびWtarget(t)の間の大きな偏差は、次のイントラフレームの到来が間近になったとき、より効率的に回避される。
更に、低減因子β(t)は、次のイントラフレームを符号化する前に、ビデオバッファリング検証器40を空にさせることができるので、例えば、式(1)および(2)を用いて、最初のバッファ目標レベルWtarget(t)の計算に使用したいくつかの戦略を使用することができる。
目標フレームサイズ計算器48(図3)はまた、イントラフレームに対する平均絶対偏差(MADI)、およびアクティビティのための平均絶対偏差(MADA)を用いて、インターフレーム目標サイズBp(t)を計算することができる。
オペレーション108
図4に戻って参照すると、目標フレームサイズB(t)が、オペレーション106で計算された後、妥当性検査器50(図3)は、考慮すべき一定のマージン内に含まれるように、その計算された目標フレームサイズに対して妥当性検査プロセスを適用する。
まず、妥当性検査プロセスでは、妥当性検査器50は、オーバーフローを検査する。オーバーフローを回避するためには、以下の条件を満足すべきである。
Figure 0005180294
式(12)から、計算された目標フレームサイズが超えるべきではない上限の、すなわち最大の閾値Bmax(t)を次のように計算することができる。
Figure 0005180294
次いで、妥当性検査器50(図3)は、アンダーフローを検査する。アンダーフローを回避するために、以下の条件が満たされるべきである。
Figure 0005180294
次いで、式(14)から、計算された目標フレームサイズに対して、下側の、すなわち最小の閾値Bmin(t)を設定することができる。下側の閾値Bmin(t)は以下により与えられる。
Figure 0005180294
符号化されたフレームのサイズは、必ずしも、計算された目標フレームサイズのサイズに一致しないことに留意するべきである。したがって、現在のフレームの実際の符号化の後、妥当性検査のさらなる演算が行われる。実際に、符号化されたフレームサイズが、ビデオバッファリング検証器40のオーバーフローを回避するために許容される最大値よりも大きい場合、符号化されたフレームは除外され、かつ除外されたフレームを符号化する前の値に対応する符号器14の状態変数が復元される。状態変数の復元は、符号器14を復号器18と再同期させる。符号器14の状態変数は、フレームを符号化する前に記憶される。
オペレーション110
ビデオシーケンスが、大量の動きを含む場合、多くのフレームが、符号器14で除外され、またはスキップされることが分かっている。これは、小さな目標フレームサイズが計算されたとき、概して、それが容易に満たされないことによる。
したがって、図2のフィルタ係数モジュール37は、小さな目標フレームサイズに対して、変換された係数(通常、DCT)の何らかの高周波数を除外し、かつフィルタ処理するために使用される。より具体的には、除外されたフレームの量が、例えば、最後の1秒など、特定の時間期間内に一定の閾値に達した場合、フィルタ係数モジュール37が適用される。変換された係数のフィルタ処理が活性化されると、それは、通常、特定の時間にわたって、例えば、4秒間、すなわち、F=10fpsの場合40フレームの間、有効であり続ける。DCT係数のフィルタ処理は、除外されたフレームの量が、再度所与の閾値に達したとき、再度活性化されることになる。したがって、変換された係数のフィルタ処理は、適応型の方法である。
時間期間当たりの除外されるフレーム量に対する所与の閾値を選択することは、当業者の範囲および知識に含まれることに留意するべきである。
より具体的には、オペレーション110で、フィルタ係数モジュール37(図2)は、まず、DCT係数の場合、max_DCT_coeffとして示される最大係数フィルタ処理インデックスを識別する。この最大DCTフィルタ処理インデックスmax_DCT_coeffは、例えば、表中に記憶されたインデックスから選択される。この最大DCTフィルタ処理インデックスmax_DCT_coeffは、目標フレームサイズB(t)に基づくことができる。例えば、目標フレームサイズB(t)が小さくなればなるほど、最大DCTフィルタ処理インデックスmax_DCT_coeffは小さくなる。以下の表は、目標フレームサイズB(t)に応じた最大DCTフィルタ処理インデックスmax_DCT_coeffを示す。
Figure 0005180294
次いで、フィルタ係数モジュール37(図2)は、以下のように、符号化されたフレームに対してDCTフィルタ処理を実施する。
DCTfiltering[i][j]=DCT[i][j]、i≦max_DCT_coeffかつj≦max_DCT_coeffである場合(16)
またDCTfiltering[i][j]=0、その他の場合 (17)
式(16)および(17)を用いることにより、DCTフィルタ処理は適応型になる。実際に、大部分のビデオシーケンスは、DCTフィルタ処理を必要とせず、DCTフィルタ処理がこれらのビデオシーケンスに対して適用された場合は、その品質は劣化することになろう。しかし、DCTフィルタ処理を必要とするビデオシーケンスに、DCTフィルタ処理が適用された場合、このようなビデオシーケンスの品質において、大きな性能改善が観察されるはずである。例えば、必要な時間と場所でDCTフィルタ処理が適用された場合、除外されるフレームの量は、50%から6%に減少することが観察されている。
V.性能結果
バッファベースのレート制御装置42および方法100の性能を評価するために、いくつかのビデオテストシーケンスが、ビデオ符号化の品質、および保持される(除外されない)フレームのパーセンテージをテストするために使用された。最初の12個のビデオシーケンスは、よく知られたビデオシーケンスであり、ビデオ符号化を公開するときに広く使用される。これらのビデオテストシーケンスは、比較のために、他のレート制御装置にも同様に適用された。他のレート制御装置は、TMN8規格、および参考文献2で開示された「最大ビットレート」ベースのレートコントローラを含む。簡単化のために、条件RAVG=RMAXが考慮された。通常、RMAX>RAVGを有することは、平均PSNRに大きく影響することはないが、欠落したフレームを有する可能性を低下させる。
更に、以下の用語がテスト結果において使用され、それを以下のように定義する。
・PSNRavg:シーケンスの平均ピーク信号対雑音比。フレームが除外された場合、そのフレームのPSNRは、復号器18のメモリに含まれた、前に再構成されたフレームを用いて計算される。
・PSNRkept:シーケンス中に保持されたフレーム(除外したフレームは考慮しない)の平均PSNR。
・PSNRmin:シーケンス中で最も低いPSNRを有するフレームのPSNR。
・StdDev:平均に対する各フレームのPSNR値の標準偏差。これは、品質の一貫性の尺度である(StdDevのより小さな値は、PSNRavgからのより小さな変動を意味する)。
・Kbps:1秒当たりのキロビットで表した実際に符号化されたシーケンスの平均ビットレート。
・Total frms:保持されたフレームの合計部分(すなわち、1-percent_dropped(1から、除外されたパーセンテージを引き算する))、「1」は、すべてのフレームが維持されたことを意味し、0.6は、40%のフレームが除外されたことを意味することになる。
テストケース1
第1のテストケースでは、RMAX=44kbps、F=10fpsおよびT=8sである。
Figure 0005180294
Figure 0005180294
Figure 0005180294
テストケース1の結果の分析
3タイプのレートコントローラに対応する上記の3つの表における結果を比較することにより、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、ビデオ品質における重要な改善を生じていることが認められる。実際に、バッファベースのレート制御装置42および方法100により得られた平均PSNRは、36.26dBであり、それは、それぞれ、35.75dBおよび34.67dBであるTMN8および「最大ビットレート」コントローラの平均PSNRよりも高い。
ビデオシーケンス中で最悪のフレームの品質に関しては、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100からの最悪のフレームは、「最大ビットレート」ベースのレートコントローラからの結果よりも、なお良好である(30.1dB対27.8dB)ことが分かる。しかし、バッファベースのレート制御装置42および方法100の性能は、最悪のフレームの点で、TMN8規格レートコントローラの結果(30.3dBが得られる)よりも低い。これは、TMN8規格レートコントローラが、満たすべき厳格なビットレート制約を有していないことによる。それは、例えば、最大ビットレートを満たしていない。
標準偏差(StdDev)の点では、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、他の2つのものと比較して、最小の偏差を生じており、したがって、ビデオ品質における良好な一貫性を示している。
最後に、除外されない残りのフレームのパーセンテージに関しては、装置42および方法100は、TMN8規格レートコントローラからの93.3%、および「最大ビットレート」ベースのレートコントローラからの93.4%と比較して、99.7%の最高のパーセンテージを示している。これは、ビデオシーケンス中の大部分のフレームを維持することに関して、装置42および方法100の高い性能を示す結果である。この特性は、シーケンス20(「Balancoire」)で最もよく示されており、それは、残りのフレームについて以下のパーセンテージを生ずる。
・TMN8: 46.9%
・「最大ビットレート」: 46.1%
・フレームアクティビティを用いたバッファベース: 95.7%
テストケース2
第2のテストケースでは、シーケンスは、入力および出力に対して、RMAX=44kbps、F=30fpsで、また2つのイントラフレームの間の期間T=8sで符号化された。
その結果を以下の表で示す。
Figure 0005180294
Figure 0005180294
Figure 0005180294
テストケース2の結果の分析
3つのレートコントローラに対するPSNRを調べると、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100の性能は、TMN8および「最大ビットレート」レートコントローラよりも高いことが分かる。
・TMN8: 30.25dB
・「最大ビットレート」: 0.37dB
・フレームアクティビティを用いたバッファベース: 31.52dB
残りの(除外されない)フレームのパーセンテージに関して、結果は次のようになる。
・TMN8: 83.5%
・「最大ビットレート」: 84.3%
・フレームアクティビティを用いたバッファベース: 96.2%
これらの結果は、大部分のフレームを維持する能力の点で、他の2つのレートコントローラと比較して、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100の高い性能を再度示している。これらの結果は、シーケンス20の例で最もよく示されており、その場合、残りのフレームは、次のように得られる。
・TMN8: 10.9%
・「最大ビットレート」: 18.8%
・フレームアクティビティを用いたバッファベース: 72.7%
ビットレートが低い場合は、よい品質の少数のフレームを有することと、低品質の多数のフレームを有することとの間で妥協を設定すべきであることに留意するべきである。この妥協は、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100において実施され、調整されることができる。
テストケース3
第3のケースでは、ビデオシーケンスは、RMAX=96kbpsのビットレート、F=10fps(符号器14の入力および出力)で、およびT=8s(2つのイントラフレーム間)で符号化された。テスト結果は、以下のように与えられる。
Figure 0005180294
Figure 0005180294
Figure 0005180294
テストケース3の結果の分析
全体のPSNRの点では、3つのタイプのレートコントローラは、良好に動作していることが分かるが、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100で、多少改善されていることが認められる。実際に、その結果は以下のようになる。
・TMN8: 39.39dB
・「最大ビットレート」: 38.98dB
・フレームアクティビティを用いたバッファベース: 39.68dB
残りのフレーム(すなわち、除外されていないフレーム)のパーセンテージに関しては、フレームアクティビティを用いたバッファベースのレートコントローラが、改善された性能を示すことが分かる。
・TMN8: 98.7%
・「最大ビットレート」: 98.0%
・フレームアクティビティを用いたバッファベース: 99.9%
テスト結果から、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、他の2つのレートコントローラに対して改善を示していることが明確に分かる。
VI.ソフトウェア構造
本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、コンピュータの記憶媒体中に配置されたコンピュータプログラムで実施されている。
符号器14は、レート制御オペレーションをモジュラー化するために変更されており、それにより、レート制御の実施およびテストのための新しいフレームワークが作成される。
より具体的には、レート制御フレームワークに対して複数の機能が追加された。例えば、製品開発およびデバッグのために以下の機能が使用された。
・元のフレームと符号化されたフレームの間のPSNRの計算“1)フレームがスキップされた場合、最後に再構成された画像が計算で使用され、そして2)再構成された画像に対するファイルが、YUV(輝度とクロミナンスを有する色空間)で生成される。” 、及び
・QP、PSNR、MADなどの統計量の計算、およびそのファイルへの書込み。
更に、本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、シーンカットを検出することができる。そのために、動き推定の計算は、フレームタイプの決定前に実施される。シーンカットの検出は、MADを、固定された閾値と比較することにより、または平均MAD(適応型閾値)と比較することにより行うことができる。MADが、固定された閾値または適応型閾値を超える場合、シーンカットが検出されて、フレームはイントラフレームとして符号化される。
更に、イントラフレーム目標サイズの計算に対しては、2つの選択肢が可能である。すなわち、1)フレーム全体の持続期間に対して一定のQPを決定すること、または2)MB列ごとに変化しうるQPを決定し、かつ更新することである。フレーム全体を通して一定であるQPは、品質の一貫性を、そのフレーム全体を通じて維持することを助ける。
QPや符号化されたフレームサイズなどに関する多くの統計量を収集することができ、次いで、それらを、さらなる改善または処理のために分析することができる。
本明細書の上記で言及されたように、フレームの複雑さメトリックMADおよびMADAを、レート制御装置42および方法100で使用することができる。デフォルトで、コンピュータプログラムはMADを使用するが、それは、MADAと比較してより少ない計算になるからである。しかし、必要に応じて、MADAを使用することも可能である。そのようにするためには、コンパイルする前に、コンピュータプログラム中でMADAを定義することで十分である。
更に、GOB(Group Of Blocks)をサポートする機能が追加されている。
1秒当たりのフレーム数が1未満である場合は、驚くべき結果を最初に生ずる可能性のあることに留意するべきである。実際に、平均ビットレートRAVGに等しい最大ビットレートRMAXを有することは、RMAXよりもはるかに少ないビットレートを生ずることになる。例えば、F=0.1fpsであり、かつ最大バッファサイズがRMAXである場合、最大のフレームサイズがRMAXとなりうる。10秒ごとに1フレームが送信されるだけなので、有効ビットレートは、ほぼ0.1RMAXとなる。より高いビットレートを望む場合には、最大ビットレートをより高いビットレートに設定すべきである。
本発明の非限定的な例示の実施形態によるバッファベースのレート制御装置42および方法100は、コンピュータプログラム中に実装されているので、プログラムの速度は、最適化により改善できることが分かる。多くの統計量を、フレームの複雑さを利用する実装されたバッファベースのレート制御装置中で計算する必要があるが、プログラムの様々なモジュール中で実施される最適化により、バッファベースのレート制御法100の速度を速くすることが可能になる。更に、速度に関して何らかのさらなる改良が必要である場合、特定の計算プラットフォームに対して、計算用にIntel(登録商標)のIPP(Integrated Performance Primitives)の使用を検討することもできる。
本発明を、非限定的な例示の実施形態を用いて前述の明細書中で説明してきたが、この例示の実施形態は、本発明の趣旨および本質から逸脱することなく、添付の請求項の範囲内で、自由に変更することができる。
10 ビデオ通信システム
12 ビデオソース
14 ビデオ符号器
16 ネットワーク
18 復号器
20 ビデオ再生装置
32 動き推定モジュール
321 プロセス、要素
322 プロセス、要素
323 プロセス、要素
324 プロセス、要素
325 プロセス、要素
326 プロセス、要素
327 プロセス、要素
33 エントロピー符号化モジュール
34 動き補償モジュール
35 スイッチ
36 変換モジュール
37 係数フィルタ処理モジュール、フィルタ係数モジュール
38 量子化モジュール
39 再配列モジュール
40 ビデオバッファリング検証器、ビデオバッファ検証器
42 レート制御装置
44 フレームの複雑さ検出器、フレームの複雑さモジュール
46 QP計算器
47 バッファレベル計算器
48 目標フレームサイズ計算器
50 妥当性検査器

Claims (17)

  1. 一連の符号化されたフレームを含み、インターフレームがイントラフレームにより分離された、画像のシーケンスのビデオ符号化におけるビットレートを制御する方法であって、前記方法が、各ステップを実行するようにプログラムされたハードウェアプロセッサを使用すると共に、
    (a)画像の前記シーケンスにおけるフレームの複雑さを測定するステップと、
    (b)各インターフレームに対して、
    (i)前記インターフレームと次のイントラフレームの間の距離との関係で、ビデオバッファリング装置の目標バッファレベルを計算するステップと、
    (ii)前記測定されたフレームの複雑さ、前記インターフレームと前記次のイントラフレームの間の前記距離、現在のバッファレベル、及び前記計算された目標バッファレベルとの関係で、目標フレームサイズを計算するステップであって、前記現在のバッファレベルが前記計算された目標バッファレベルを越えるならば、前記目標フレームサイズを減少させることを含むステップと、
    (c)前記インターフレームの前記計算された目標フレームサイズを用いて画像の前記シーケンスのビデオ符号化におけるビットレートを制御するステップと
    を含む方法。
  2. 前記ステップ(ii)が、
    前記測定されたフレームの複雑さの関数と、
    前記ビデオバッファリング装置をオーバーフローさせる可能性のある前記ビデオバッファリング装置の所定の高バッファレベルと関連する前記現在のバッファレベルの関数と
    のうちのより小さい方として、前記目標フレームサイズを計算するステップを更に含む、請求項1に記載の方法。
  3. (d)前記ステップ(c)が、前記ビデオバッファリング装置の最大のサイズ制限を超えることなく平均ビットレートを満たすように、前記インターフレームの前記目標フレームサイズを使用するステップを含むか、あるいは
    (e)前記方法が、前記ビデオバッファリング装置の最大のサイズ制限との関係で、前記イントラフレームの目標フレームサイズを決定するステップを更に含むか、あるいは
    (f)前記ステップ(a)が、現在の画像と画像の前記シーケンス中で前に再構成された画像との間の差分を表すメトリックを決定するステップを含んでいる、前記インターフレームのフレームの複雑さを測定するステップを含むか、あるいは
    (g)前記ステップ(a)が、前記イントラフレームの画素ブロックの離散コサイン変換係数を表すメトリックを決定するステップを含んでいる、前記イントラフレームのフレームの複雑さを測定するステップを含む、請求項1または2に記載の方法。
  4. (h)前記ステップ(e)が、量子化パラメータを決定し、かつ前記量子化パラメータを用いて、前記イントラフレームの前記目標フレームサイズを決定するステップを含むか、あるいは
    (j)前記ステップ(e)が、符号化されたフレームのサイズが、前記ビデオバッファリング装置のオーバーフローを回避するために許容される最大値を超える場合、前記符号化されたフレームを除外するステップを含むか、あるいは
    (k)前記ステップ(d)が、
    (k1)前記平均ビットレート、および最後のイントラフレームを符号化した後の前記ビデオバッファリング装置のバッファレベルとの関係で、もしくは
    (k2)前記平均ビットレート、および前記ビデオバッファリング装置の最大バッファレベルとの関係で、
    の内の1つにより、前記ビデオバッファリング装置の前記目標バッファレベルを決定するステップを含むか、あるいは
    (l)前記ステップ(f)が、前記インターフレームに対する前記メトリックを、平均絶対偏差として決定するステップを含むか、あるいは
    (m)前記ステップ(g)が、前記イントラフレームに対する前記メトリックを、前記イントラフレームの画素ブロックの離散コサイン変換係数の平均絶対値として決定するステップを含む、請求項3に記載の方法。
  5. (n)前記ステップ(h)が、所与の時間期間にわたり、前記量子化パラメータが、前に符号化されたフレームの量子化パラメータの平均以下となる最小のフレームサイズを決定するステップを含んでいる、前記イントラフレームの前記目標フレームサイズを決定するステップを含むか、あるいは
    (p)前記ステップ(g)が、前記前に再構成された画像をゼロに設定するステップを含むか、あるいは
    (r)前記ステップ(e)が、符号化されたフレームを除外するステップの後、前記ビデオ符号化を実施する符号器の状態変数を復元するステップを含む、請求項4に記載の方法。
  6. 除外された符号化フレームの数が、所与の時間期間内に所与の閾値に達した場合、フレームの前記シーケンスの前記符号化されたフレームに対して実施された離散コサイン変換(DCT)係数をフィルタ処理するステップを更に含む、請求項1から5のいずれか一項に記載の方法。
  7. 係数をフィルタ処理する前記ステップが、
    (t1)前記DCT係数の高周波数を除去するステップ、
    (t2)特定の数のフレームに対して、前記DCTフィルタリングを活性化するステップ、
    の内の1つまたは複数のものを含む、請求項6に記載の方法。
  8. 前記ビデオバッファリング装置のオーバーフローを回避し、かつ前記ビデオバッファリング装置のアンダーフローを回避するために、インターおよびイントラフレームに対する前記決定された目標フレームサイズの妥当性を判定するステップを含んでいる、前記符号化されたフレームを送信する前に前記ビデオバッファリング装置中で符号化されたフレームのサイズの妥当性を判定するステップを更に含む、請求項2から7のいずれか一項に記載の方法。
  9. 一連の符号化されたフレームを含み、インターフレームがイントラフレームにより分離された、画像のシーケンスのビデオ符号化におけるビットレートを制御するための装置であって、各符号化されたフレームのサイズの妥当性が、前記符号化されたフレームを送信する前にビデオバッファリング装置で判定され、前記装置が、
    (a)画像の前記シーケンスにおけるフレームの複雑さを決定するためのフレームの複雑さモジュールと、
    (b)各インターフレームに対する、前記インターフレームと次のイントラフレームの間の距離との関係、前記ビデオバッファリング装置の目標バッファレベルを計算するための第1の計算器と、
    (c)前記測定されたフレームの複雑さ、前記インターフレームと前記次のイントラフレームの間の前記距離、現在のバッファレベル、及び前記計算された目標バッファレベルとの関係で、目標フレームサイズを計算するための第2の計算器であって、前記現在のバッファレベルが前記計算された目標バッファレベルを越えるならば、前記目標フレームサイズを減少させることを含む第2の計算器と、
    (d)前記計算された目標フレームサイズに応じて、画像の前記シーケンスのビデオ符号化における前記ビットレートを制御するための制御手段と、
    を形成する、プロセッサで実行するための、コンピュータで実行可能なプログラムコードがその上に記憶されているコンピュータ可読記憶媒体
    を備える装置。
  10. 前記第2の計算器が、
    前記測定されたフレームの複雑さの関数と、
    前記ビデオバッファリング装置をオーバーフローさせる可能性のある前記ビデオバッファリング装置の所定の高バッファレベルと関連する前記現在のバッファレベルの関数と
    のうちのより小さい方として、前記目標フレームサイズを決定するように構成される、請求項9に記載の装置。
  11. (e)前記第1の計算器が、平均ビットレート、および最後のイントラフレームが符号化された後の前記ビデオバッファリング装置のバッファレベルとの関係で、前記ビデオバッファリング装置の前記目標バッファレベルを決定するための手段を更に備えるか、あるいは
    (f)前記第1の計算器が、前記平均ビットレート、および前記ビデオバッファリング装置の最大バッファレベルとの関係で、前記ビデオバッファリング装置の前記目標バッファレベルを決定するための手段を更に備えるか、あるいは
    (g)前記第2の計算器が、前記ビデオバッファリング装置の最大のサイズ制限との関係で、イントラフレームの目標フレームサイズを決定するための手段を更に備えるか、あるいは
    (h)前記制御手段が、前記インターフレームに対する前記計算された目標フレームサイズの妥当性検査器を備える、請求項9または10に記載の装置。
  12. (j)前記フレームの複雑さモジュール(a)が、前記イントラフレームの画素ブロックの離散コサイン変換係数を表すメトリックを決定するための手段を備えるか、あるいは
    (k)前記制御手段(d)が、前記ビデオバッファリング装置の最大のサイズ制限を超えることなく平均ビットレートを満たすように、前記インターフレームの前記目標フレームサイズ、または前記インターフレームおよび前記イントラフレームの前記目標サイズを使用するための妥当性検査器を備えるか、あるいは
    (l)前記制御手段(d)が、
    (l1)前記ビデオバッファリング装置のオーバーフローを回避するための手段、
    (l2)前記ビデオバッファリング装置のアンダーフローを回避するための手段、
    (l3)符号化されたフレームのサイズが、前記ビデオバッファリング装置のオーバーフローを回避するために許容される最大値を超える場合、前記符号化されたフレームを除外するための手段、
    の内の1つまたは複数のものを含む妥当性検査器を備える、請求項9から11のいずれか一項に記載の装置。
  13. 前記イントラフレームの前記目標フレームサイズを決定するための前記手段が、量子化パラメータを決定し、かつ前記量子化パラメータを使用して、前記イントラフレームの前記目標フレームサイズを決定するための手段を備える、請求項11または12に記載の装置。
  14. 前記インターフレームに対して、前記メトリックが平均絶対偏差であるか、あるいは前記イントラフレームに対して、前記メトリックが平均絶対偏差であり、かつ前記前に再構成された画像がゼロに設定される、請求項12に記載の装置。
  15. 前記符号化されたフレームに対して離散コサイン変換(DCT)演算を実施するための手段を更に備える、請求項9から14のいずれか一項に記載の装置。
  16. 前記離散コサイン変換のための前記手段が、除外された符号化されたフレームの数が、所与の時間期間内に所与の閾値に達した場合、前記DCTの係数をフィルタ処理する手段を含む、請求項15に記載の装置。
  17. ビデオ符号化のための符号器であって、
    プロセッサと、
    請求項9から16のいずれか一項に記載の装置と
    を備える、符号器。
JP2010512473A 2007-06-19 2008-06-19 ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御 Active JP5180294B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US92925507P 2007-06-19 2007-06-19
US60/929,255 2007-06-19
PCT/CA2008/001168 WO2008154742A1 (en) 2007-06-19 2008-06-19 A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding

Publications (2)

Publication Number Publication Date
JP2010530673A JP2010530673A (ja) 2010-09-09
JP5180294B2 true JP5180294B2 (ja) 2013-04-10

Family

ID=40155845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010512473A Active JP5180294B2 (ja) 2007-06-19 2008-06-19 ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御

Country Status (8)

Country Link
US (1) US8824546B2 (ja)
EP (1) EP2160903B1 (ja)
JP (1) JP5180294B2 (ja)
KR (1) KR101518358B1 (ja)
CN (1) CN101743753B (ja)
CA (1) CA2688249C (ja)
IL (1) IL202279A (ja)
WO (1) WO2008154742A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665281B2 (en) * 2008-02-07 2014-03-04 Microsoft Corporation Buffer management for real-time streaming
WO2009157827A1 (en) * 2008-06-25 2009-12-30 Telefonaktiebolaget L M Ericsson (Publ) Row evaluation rate control
US8804508B1 (en) * 2009-07-16 2014-08-12 Teradici Corporation Method and apparatus for using a network appliance to manage media communications
BR112012008605B1 (pt) * 2009-10-22 2021-09-08 Nippon Telegraph And Telephone Corporation Aparelho e método de estimação de qualidade de vídeo
US9369772B1 (en) * 2010-04-21 2016-06-14 Marvell International Ltd. Dual PID controller based bit allocation and rate control for video coding
CN101931799A (zh) * 2010-09-14 2010-12-29 中兴通讯股份有限公司 一种视频码流的平滑方法及装置
TWI514324B (zh) * 2010-11-30 2015-12-21 Ind Tech Res Inst 影像目標區域追蹤系統與方法及電腦程式產品
KR102163151B1 (ko) 2011-08-30 2020-10-08 디빅스, 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US20130083852A1 (en) * 2011-09-30 2013-04-04 Broadcom Corporation Two-dimensional motion compensation filter operation and processing
US9888244B2 (en) * 2011-10-05 2018-02-06 Texas Instruments Incorporated Methods and systems for encoding of multimedia pictures
US8874634B2 (en) * 2012-03-01 2014-10-28 Motorola Mobility Llc Managing adaptive streaming of data via a communication connection
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
CN102724502B (zh) * 2012-06-11 2015-08-19 华为技术有限公司 一种视频编码中码率的控制方法及装置
US9813732B2 (en) * 2012-06-28 2017-11-07 Axis Ab System and method for encoding video content using virtual intra-frames
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US9350990B2 (en) 2013-02-28 2016-05-24 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
US9538190B2 (en) * 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
US20140321533A1 (en) * 2013-04-29 2014-10-30 Ati Technologies Ulc Single-path variable bit rate video compression
EP3005689A4 (en) * 2013-05-24 2017-01-11 Sonic IP, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
CN105208390B (zh) * 2014-06-30 2018-07-20 杭州海康威视数字技术股份有限公司 视频编码的码率控制方法及其系统
CN104469367B (zh) * 2014-12-16 2017-11-14 北京金山云网络技术有限公司 基于丢帧和量化参数调整的视频码率控制方法
GB201502915D0 (en) * 2015-02-22 2015-04-08 Compton Matthew P And Riovideo Ltd Method and apparatus for rate control subjective optimisation
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
KR102437698B1 (ko) * 2015-08-11 2022-08-30 삼성전자주식회사 전자 장치 및 전자 장치의 이미지 인코딩 방법
CN105430401A (zh) * 2015-11-06 2016-03-23 济南草履虫电子科技有限公司 一种食品车间环境监测系统
CN105407354A (zh) * 2015-11-06 2016-03-16 济南草履虫电子科技有限公司 一种计算机控制视频闪烁抑制方法
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN106776696B (zh) * 2016-11-11 2022-05-06 浙江宇视科技有限公司 一种基于分类模型的热度图数据处理方法及装置
US10904591B2 (en) * 2016-12-28 2021-01-26 Google Llc Scheme for zero-copy adaptive bitrate video streaming
CN109218748B (zh) * 2017-06-30 2020-11-27 京东方科技集团股份有限公司 视频传输方法、装置及计算机可读存储介质
KR20190065792A (ko) 2017-12-04 2019-06-12 삼성전자주식회사 전자 장치 및 전자 장치의 영상 데이터 전송 방법
US10623788B2 (en) 2018-03-23 2020-04-14 At&T Intellectual Property I, L.P. Methods to estimate video playback buffer
CN110166780B (zh) * 2018-06-06 2023-06-30 腾讯科技(深圳)有限公司 视频的码率控制方法、转码处理方法、装置和机器设备
US10728180B2 (en) * 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings
CN110351595B (zh) * 2019-07-17 2023-08-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
US11178261B1 (en) * 2019-08-23 2021-11-16 Fitbit, Inc. Device communication techniques
US11955067B2 (en) * 2021-03-17 2024-04-09 Samsung Display Co., Ltd. Simplified rate control for an additive iterative compression system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1357758A3 (en) * 1995-08-02 2004-10-27 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
US5717464A (en) 1995-12-18 1998-02-10 Divicom, Inc. Rate control for a video encoder
CA2264834C (en) 1997-07-08 2006-11-07 Sony Corporation Video data encoder, video data encoding method, video data transmitter, and video data recording medium
US6141380A (en) * 1998-09-18 2000-10-31 Sarnoff Corporation Frame-level rate control for video compression
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
US6330286B1 (en) * 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6731685B1 (en) * 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
JP4390112B2 (ja) 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
US7864840B2 (en) * 2005-04-15 2011-01-04 Inlet Technologies, Inc. Scene-by-scene digital video processing
US20090225829A2 (en) * 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
CN102638687A (zh) 2006-12-12 2012-08-15 梵提克斯公司 用于视频编码标准的改进的视频速率控制

Also Published As

Publication number Publication date
CA2688249C (en) 2015-07-07
US20100195713A1 (en) 2010-08-05
CN101743753B (zh) 2014-05-21
KR101518358B1 (ko) 2015-05-08
JP2010530673A (ja) 2010-09-09
IL202279A (en) 2015-03-31
IL202279A0 (en) 2010-06-16
EP2160903A1 (en) 2010-03-10
EP2160903A4 (en) 2011-04-27
US8824546B2 (en) 2014-09-02
WO2008154742A1 (en) 2008-12-24
CN101743753A (zh) 2010-06-16
CA2688249A1 (en) 2008-12-24
KR20100021597A (ko) 2010-02-25
EP2160903B1 (en) 2016-03-02

Similar Documents

Publication Publication Date Title
JP5180294B2 (ja) ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
JP5351040B2 (ja) 映像符号化規格に対応した映像レート制御の改善
CN103402099B (zh) 视频编码的图片级速率控制的方法和系统
US7301999B2 (en) Quantization method and system for video MPEG applications and computer program product therefor
US8374236B2 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
Wang Rate control for MPEG video coding
EP3989560A1 (en) Method and systems for optimized content encoding
Chen et al. Distortion variation minimization in real-time video coding
JP3858520B2 (ja) 動画像符号化装置及びその方法
Chen et al. Encoder control enhancement in HEVC based on R-Lambda coefficient distribution
Overmeire et al. Constant quality video coding using video content analysis
Jiang Adaptive rate control for advanced video coding
Huang et al. MMC02-2: H. 264 Bit-rate Control Using the 3-D Perceptual Quantization Modeling
Hu Bit rate control for real-time multipoint video conferencing
JP2004072144A (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JP2001148855A (ja) 画像情報変換装置及び画像情報変換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5180294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250