JP5808868B2 - ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化 - Google Patents

ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化 Download PDF

Info

Publication number
JP5808868B2
JP5808868B2 JP2014537105A JP2014537105A JP5808868B2 JP 5808868 B2 JP5808868 B2 JP 5808868B2 JP 2014537105 A JP2014537105 A JP 2014537105A JP 2014537105 A JP2014537105 A JP 2014537105A JP 5808868 B2 JP5808868 B2 JP 5808868B2
Authority
JP
Japan
Prior art keywords
video
input video
vdl
encoding
bit rate
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
JP2014537105A
Other languages
English (en)
Other versions
JP2014530587A5 (ja
JP2014530587A (ja
Inventor
ヤン、レイ
ムケルジー、デバルガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2014530587A publication Critical patent/JP2014530587A/ja
Publication of JP2014530587A5 publication Critical patent/JP2014530587A5/ja
Application granted granted Critical
Publication of JP5808868B2 publication Critical patent/JP5808868B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/1887Methods 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 a variable length codeword
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes

Landscapes

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

Description

本発明は、一般に、ビデオ・ホスト・システムに関し、より詳細には、符号化の時間およびビットレートの制約の下で最適化された視覚的品質でビデオをコード変換するためのビデオ符号化システムに関する。
YOUTUBE(登録商標)などのビデオ・ホスティング・サービスは、ユーザがビデオを投稿することを可能にする。ほとんどのビデオ・ホスティング・サービスは、元のソース・ビデオをそのソース・ビデオのネイティブの符号化フォーマット(例えば、MOV)から1つまたは複数の出力フォーマット(例えば、ADOBE FLASHまたはWINDOWS(登録商標) Media Video(WMV))にコード変換する。コード変換は、ネイティブのフォーマットの映像コーデックを使用してソース・ビデオをネイティブのフォーマットから符号化されていない表現に復号することと、次いで、符号化されていない表現を出力フォーマットの映像コーデックによって符号化することとを含む。コード変換は、ストレージの必要量を削減し、さらに、ビデオをクライアントに提供するための帯域幅の必要量を削減するために使用される可能性がある。
非常に多くのビデオを有するビデオ・ホスティング・サービスのためのビデオ符号化システムを設計する際の1つの課題は、許容できる視覚的品質および適度な計算コストでビデオをコード変換し、記憶することである。特に問題なのは、ソース・ビデオの最適化されたレート−歪み(R−D:rate−distortion)および計算時間を達成するために符号化ビットおよび計算を効率的に割り当てることである。概して、目標の解像度およびフレーム・レートが与えられると、ビデオの視覚的品質は、レート制御アルゴリズムを使用して計算されるそのビデオの符号化ビットレートによって決定される。これまでのビデオ符号化システムは、1パスおよびマルチパスの平均ビットレート符号化(ABR:Average Bitrate Encoding)、固定ビットレート符号化(CBR:Constant Bitrate Encoding)、固定量子化因子符号化(CQP:Constant Quantizer Encoding)、および固定レート因子符号化(CRF:Constant Rate Factor Encoding)を含め、ソース・ビデオの最適化されたレート−歪みを得るためのさまざまな符号化ストラテジを用いる。
これまでの符号化ストラテジは、ビデオに関連するビットレートの制約を満たしながら一定の視覚的品質を有する符号化されたビデオを提供することができず、ビットレート、歪み、および複雑性を一緒に最適化しない。例えば、ABR符号化ストラテジは、目標のビットレートを実現し、ネットワーク帯域幅の制約を満たすためにスケーリング因子、ならびに長期および短期の補償を使用する。しかし、ABR符号化の視覚的品質は、ビデオのシーンが代わるときに揺らぐ可能性がある。CBR符号化ストラテジは、固定のサイズのストレージ・バッファによって制御される、固定ビットレートのリアルタイム・ストリーミング用に設計されている。CBRは、上述のこれまでの符号化ストラテジの中で符号加速度が最も速いが、R−D性能は最も低い。CQP符号化ストラテジは、固定の量子化因子を保有し、あらゆるフレームを同じ量子化パラメータ(QP)を使用して圧縮する。CQPは、特に、シーンの変化が激しいビデオに対して大きな量子化因子を使用するとき、符号化されるビデオの時間的な知覚の揺らぎを生じる可能性がある。CRF符号化ストラテジは、固定レート因子を用いて一定の視覚的品質を実現することを狙っている。CRFは、名目的な量子化因子(nominal quantizer)を用いてビデオを符
号化するが、シーンが多くの動作および動きを有するときはQPを大きくし、その逆も同様である。CRF符号化の欠点は、ビデオの内容(ビデオコンテンツ)の変動するシーンが原因で出力ビデオ・ファイルのサイズが予測できないことである。したがって、ネットワークまたはストレージ・システムの必要とされるビットレートの制約を満たすように適切な固定レート因子の値を選択することが難しい。
方法、システム、およびコンピュータ・プログラム製品が、ビデオ・ホスティング・サービスのための、ビデオ記述長によって導かれる、一定品質で、ビットレートの制約があるビデオの最適化されたコード変換を提供する。
1実施形態において、方法は、入力ビデオに関して、全体的な複雑性、時間的な複雑性、および空間的な複雑性の測定値を取得し、全体的な複雑性、時間的な複雑性、および空間的な複雑性の測定値を基準の複雑性、時間的な複雑性、および空間的な複雑性の測定値と比較する。入力ビデオの(全体的な、時間的な、および空間的な)複雑性の測定値は、入力ビデオの特定のビデオ記述長(VDL)によって表される。VDLは、特定の視覚的品質でビデオを符号化するために必要とされるビットレートである。全体VDL(overall VDL)は、入力ビデオの全体的なコンテンツ複雑性を示す。入力ビデオの時間VDL(temporal VDL)は、ビデオの時間的な複雑性を反映する。入力ビデオの空間VDL(spatial VDL)は、ビデオの空間的な複雑性を反映する。
比較に基づいて、方法は、入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性を調整し、入力ビデオの調整された全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性によって入力ビデオを符号化する。
入力ビデオの調整された全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性によって入力ビデオを符号化することは、訓練されたCRF基準ビットレート・モデル(CRF reference bitrate model)および改訂されたCRFビットレート・モデルを使用することによってさらに改良される。CRF基準ビットレート・モデルは、CRF符号化のCRF値と平均ビットレートとの間の関係をモデル化するためにビデオの大規模なコーパスで訓練される。改訂されたCRFビットレート・モデルは、最適化しながら入力ビデオを符号化するために適合される。
別の実施形態は、入力ビデオの符号化ビットレート、歪み、および複雑性を最適化するためのビデオ記述長モジュールおよびコード変換モジュールからなるコンピュータ・システムを含む。さらなる実施形態は、上述のようにして画像を圧縮するための実行可能なコンピュータ・プログラム命令を記憶する非一時的コンピュータ可読媒体を含む。
本明細書において説明される特徴および利点は、すべてを包含している訳ではなく、特に、多くの追加の特徴および利点が、図面、明細書、および特許請求の範囲に照らして当業者に明らかになる。さらに、本明細書において使用される言い回しは、主として、読み易くし、教示を与えることを目的として選択されており、開示される対象を正確に説明するか、または厳密に定めるように選択されていない可能性があることに留意されたい。
レート−歪み−複雑性(RDC)の最適化を用いるビデオ符号化システムを有するビデオ・ホスティング・サービスのシステムの図を示すブロック図。 RDC最適化を用いる、ビットレートの制約の下での、ビデオ記述長に導かれる一定品質のビデオ符号化ストラテジを示すフロー図。 RDC最適化を用いる、ビットレートの制約の下での、入力ビデオのビデオ記述長に導かれる一定品質のビデオ符号化の流れ図。 ビットレートの制約の下でのマルチパスの一定品質のビデオ符号化ストラテジの符号化工程の流れ図。 例示的なビデオに関する改訂されたCRFビットレート・モデルの調整因子、目標のビットレート、実際のビットレートの例示的なデータを示す図。 RDC最適化のために符号化計算プロファイル(ECP:encoding computation profile)マッピング・モジュールをオフラインで訓練する流れ図。 CRF基準ビットレート・モデルの訓練に関する、固定レート因子(CRF)および空間解像度(spatial resolution)に対する平均ビットレートの例示的なデータを示す図。
図面は、本発明のさまざまな実施形態を例示のみを目的として示し、本発明は、これらの例示された実施形態に限定されない。当業者は、以下の検討から、本明細書において例示される構造および方法の代替的な実施形態が本明細書において説明される本発明の原理を逸脱することなく使用される可能性があることをすぐに認識するであろう。
I.システムの概要
図1は、レート−歪み−複雑性(RDC)に基づくビデオ符号化システム102を有するビデオ・ホスティング・サービス100のシステムの図を示すブロック図である。複数のユーザ/視聴者が、クライアント110A〜Nを使用して、ビデオ・ホスティング・ウェブサイトにビデオをアップロードするなど、ビデオ・ホスティング・サービス100にビデオ・ホスティングの要求を送信し、要求されたサービスをビデオ・ホスティング・サービス100から受け取る。ビデオ・ホスティング・サービス100は、ネットワーク130を介して1つまたは複数のクライアント100A〜Nと通信する。ビデオ・ホスティング・サービス100は、クライアント100A〜Nからビデオ・ホスティング・サービスの要求を受信し、RDCに基づくビデオ符号化システム102によってソース・ビデオをコード変換し、コード変換されたビデオをクライアント110A〜Nに返す。ビデオ・ホスティング・サービス100は、クラウド・コンピューティング・ネットワーク内に存在する可能性がある。
図1に示された個々のエンティティに目を向けると、各クライアント110は、ビデオ・ホスティング・サービスを要求するためにユーザによって使用される。例えば、ユーザは、クライアント110を使用して、共有するためのビデオをアップロードする要求、またはビデオを再生する要求を送信する。クライアント110は、パーソナル・コンピュータ(例えば、デスクトップ、ノートブック、ラップトップ)コンピュータなどの任意の種類のコンピュータ・デバイス、および携帯電話、携帯情報端末、IP対応ビデオ・プレーヤーなどのデバイスである可能性がある。クライアント110は、概して、プロセッサと、ディスプレイ・デバイス(またはディスプレイ・デバイスへの出力)と、タスクを実行する際にユーザによって使用されるデータをクライアント110が記憶するハード・ドライバまたはフラッシュ・メモリ・デバイスなどのローカル・ストレージと、ネットワーク130を介してビデオ・ホスティング・サービス100に接続するためのネットワーク・インターフェースとを含む。
クライアント110は、ビデオ・ストリームを再生するためのビデオ・プレーヤー120(例えば、アドビ・システムズ・インコーポレイティッド社(Adobe Systems,Inc)のFlash(商標)プレーヤーなど)も有する。ビデオ・プレーヤー120は、スタンドアロンのアプリケーションであるか、またはネットワーク・ブラウザな
どの別のアプリケーションのプラグインである可能性がある。プレーヤー120は、ハードウェア、またはハードウェアとソフトウェアとの組み合わせで実装される可能性がある。これらの実装のすべては、本発明に関しては機能的に等価である。プレーヤー120は、ビデオ・フィードを選択し、ビデオ・フィードを開始し、停止し、巻き戻すためのユーザ・インターフェース・コントロール(および対応するアプリケーション・プログラミング・インターフェース)を含む。また、プレーヤー120は、そのプレーヤー120のユーザ・インターフェースに、どのビデオ・ディスプレイ・フォーマットか(例えば、標準画質TVまたは高精細度TV)を示すように構成されたビデオ・ディスプレイ・フォーマット選択を含み可能性がある。その他の種類のユーザ・インターフェース・コントロール(例えば、ボタン、キーボード・コントロール)も、プレーヤー120の再生およびビデオ・フォーマット選択機能を制御するために使用される可能性がある。
ネットワーク130は、クライアント110とビデオ・ホスティング・サービス100との間の通信を可能にする。1実施形態において、ネットワーク130は、インターネットであり、クライアント110がビデオ・ホスティング・サービス100と通信することを可能にする、現在知られているか、または今後開発される標準化された網間接続通信技術を使用する。
ビデオ・ホスティング・サービス100は、RDCに基づくビデオ符号化システム102、ビデオ・サーバ104、収集サーバ(ingest server)106、およびビデオ・データベース108を含む。収集サーバ106は、ユーザがアップロードしたビデオを受信し、ビデオをビデオ・データベース108に記憶する。ビデオ・サーバ104は、ユーザのビデオ・ホスティング・サービスの要求に応答してビデオ・データベース108からビデオを提供する。ビデオ・データベース108は、ユーザがアップロードしたビデオ、およびRDCに基づくビデオ符号化システム102によってコード変換されたビデオを記憶する。1実施形態において、ビデオ・データベース108は、RDCに基づくビデオ符号化システム102がレート−歪み−複雑性の最適化モデルを訓練するための大規模なビデオ・コーパス(例えば、20,000本のユーザがアップロードしたビデオ)を記憶する。
RDCに基づくビデオ符号化システム102は、RDC訓練モジュール200およびRDCに基づくビデオ・コード変換モジュール400を含む。RDC訓練モジュール200は、ビデオ・データベース108に記憶されたビデオからオフラインで固定レート因子(CRF)ビットレート・モデルおよび符号化計算プロファイル(ECP)マッピング・モジュールを訓練する。以下でさらに説明されるように、RDCに基づくビデオ・コード変換モジュール400は、所与のソース・ビデオを、RDC最適化によるビットレートの制約の下で、ビデオ記述長(VDL)に導かれる一定品質のビデオ符号化ストラテジを用いてコード変換する。RDC最適化は、CRFビットレート・モデルおよびECPマッピング・モジュールによってパレート最適集合を用いてそれぞれの符号化の複雑性のレベルに関してRDC最適な符号化ストラテジを見つけることによって実現される。有益な結果として、ソース・ビデオが、ソース・ビデオの目標の出力ビデオ・フォーマットに関連するビットレートの制約の下で最適化された視覚的品質を有する出力ビデオにコード変換される。
ビデオ・ホスティング・サービス100のシステムの動作をさらに示すために、図2は、ビデオ・ホスティング・サービス100内のRDCに基づくビデオ符号化システム102のフロー図である。ユーザは、ソース・ビデオ150をアップロードするためにビデオ・ホスティング・サービス100に要求を送信する。RDCに基づくビデオ符号化システム102は、ソース・ビデオ150をそのソース・ビデオ150のネイティブのフォーマットで受信し、ソース・ビデオ150をRDCに基づくビデオ・コード変換モジュール4
00によって処理する。そのネイティブのフォーマットのソース・ビデオ150は、例えば、フレーム・レート、空間解像度、およびビットレートを含む複数のビデオ符号化パラメータおよびビデオ・ソース情報を有する。
ソース・ビデオ150は、さらに、ビデオ・データベース(例えば、図1のビデオ・データベース108)に記憶される可能性があり、ビデオ・データベースに記憶されたビデオ・コーパス160の一部になる。ビデオ・コーパス160は、RDC訓練モジュール200によって処理される。1実施形態において、RDC訓練モジュール200は、ビデオ・エンコーダ210、CRF基準ビットレート・モデル220、およびECPマッピング・モジュール230を含む。RDC訓練モジュール200は、CRF符号化を使用してビデオ・コーパス160内のビデオを符号化し、オフラインで、ビデオ・コーパス160でCRF基準ビットレート・モデル220およびECPマッピング・モジュール230を訓練する。CRF基準ビットレート・モデル220は、CRF符号化の固定レート因子とビットレートとの間の関係をモデル化する。ECPマッピング・モジュール230は、CRF符号化の計算複雑性レベルを符号化計算プロファイルおよび符号化パスの数にマッピングする。
RDCに基づくビデオ・コード変換モジュール400は、RDC訓練モジュール200のCRF基準ビットレート・モデル220およびECPモジュール230によって導かれながらソース・ビデオ150をコード変換する。1実施形態において、RDCに基づくビデオ・コード変換モジュール400は、改訂されたCRFビットレート・モデル410、ビデオ記述長モジュール420、およびRDCに基づくトランスコーダ430を含む。改訂されたCRFビットレート・モデル410は、固定レート因子と、ソース・ビデオ150を符号化するための実際のビットレートとの間の関係を記述する。改訂されたCRFビットレート・モデル410は、入力ビデオを符号化するためにCRF基準ビットレート・モデル220に基づいて改訂される。ビデオ記述長モデル420は、ソース・ビデオ150の符号化の全体的な、時間的な、および空間的な中身の複雑性を含む計算の複雑性を記述する。RDCに基づくビデオ・コード変換モジュール400は、固定レート因子と実際のビットレートとの間の関係、およびソース・ビデオ150のビデオ記述長によって示される計算の複雑性に基づいてソース・ビデオ150をコード変換する。
II.ビデオのビットレート−品質の関係をモデル化する:CRF基準ビットレート・モデル
CRF符号化ストラテジは、固定レート因子を用いてビデオの符号化の一定の視覚的品質を実現することを狙っている。概して、ビデオのために選択されたCRFは、1符号化パスでビデオを符号化するための所望の視覚的品質のレベルを示す。ビデオを符号化するための大きなCRF値は、大きな量子化パラメータ(「QP」)、高い圧縮比、およびひいては低い視覚的品質をもたらす。小さなCRFは、小さなQP、低い圧縮比、およびひいては高い視覚的品質をもたらす。CRF値ゼロは、可逆圧縮、およびひいては最高の視覚的品質を意味する。CRF符号化は、ビデオ・フレームにおける動きの量にしたがってQPを動的に調整することによってビデオの異なるフレームを異なるように圧縮する。
CRF符号化を使用するビデオ圧縮の性能は、CRF基準ビットレート・モデル(例えば、図2のCRF基準ビットレート・モデル220)によってモデル化される可能性があり、ビデオ圧縮の品質が、好適なCRF値によって示される可能性がある。訓練されたCRF基準ビットレート・モデルを使用して、RDCに基づくビデオ符号化システム102は、ソース・ビデオの符号化で使用される実際のビットレートがソース・ビデオの目標の出力ビデオ・フォーマットに関連する目標のビットレートに近くなることを可能にするソース・ビデオのための適切なCRF値を選択する。さらに、訓練されたCRF基準ビットレート・モデルは、CRF符号化ストラテジを用いてビデオを符号化するためにどれぐら
いの平均ビットレートが必要とされるかに関するインジケーションを与える。訓練されたCRF基準ビットレートから得られたCRFを用いてソース・ビデオを符号化するための実際のビットレートは、ソース・ビデオの目標の出力ビデオ・フォーマットに関連するビットレートの制約の範囲内で一定の視覚的品質を実現するために、所与のソース・ビデオを符号化するときにCRFビットレート・モデルを改訂するために使用される可能性がある。
例として図2のRDC訓練モジュール200を使用すると、RDC訓練モジュール200は、ビデオ・コーパス160内のビデオでCRF基準ビットレート・モデル220を訓練する。ビデオ・コーパス160は、複数の空間解像度、フレーム・レート、およびビットレートの多数の複数シーンのビデオ・シーケンスを記憶する。RDC訓練モジュール200のビデオ・エンコーダ210は、ビデオ・コーパス160から選択されたそれぞれのビデオを、CRF符号化を用いて予め選択されたCRF値で符号化し、符号化から実際のビットレートを得る。当業者に知られている任意の既存のビデオ符号化方式が、ビデオを符号化するためにビデオ・エンコーダ210によって使用される可能性がある。1実施形態において、ビデオ・エンコーダ210は、選択されたビデオをH.264/MPEG−4 AVCフォーマットに符号化するx.264ビデオ・エンコーダである。ビデオ・エンコーダ210のその他の実施形態は、VP8エンコーダまたはその他の利用可能なビデオ・エンコーダを使用する可能性がある。
CRF基準ビットレート・モデル220は、ビデオ・コーパス160内のビデオの符号化による(crf、ビットレート)のペアを訓練サンプルとして使用して、CRF符号化のCRFとビットレートとの間の関係をモデル化する。ビデオ・コーパスのビデオのCRFと平均ビットレートとの間の関係は、ビデオの空間解像度、時間解像度(temporal resolution)、およびx.264CRF符号化では初期設定で決まっている符号化アルゴリズムに依存する。平均ビットレートと、空間解像度、時間解像度、およびCRFとの間の関係は、以下のように記述される。
B=f(crf,M,T) (1)
ここで、Bは、平均ビットレート、Mは、ビデオのフレームの輝度成分(luminance component)の画素数、すなわち、空間解像であり、Tは、1秒あたりのフレーム数、すなわち、時間解像度である。パラメータcrf、M、およびTは互いにほぼ独立であるので、式(1)に示された平均ビットレート、以下のように表される可能性がある。
B=f(crf)×f(M)×f(T) (2)
CRF基準ビットレート・モデル220は、当てはまるサンプルを、最小自乗法によって発見される4つ組み(crf,M,T,B)として表す。
単一シーンおよび複数シーンのビデオを符号化するビデオ符号化の平均の性能に関して、CRF基準ビットレート・モデル220は、ビデオの符号化による結果として得られるビットレートをビデオのシーン数によって重み付けし、ビットレートを、以下のように、選択された数の訓練ビデオのシーンの総数によって正規化する。
ここで、Bは、平均ビットレートであり、Bは、第iのビデオを符号化する実際のビットレートであり、Sは、第iのビデオのシーン数である。モデルの残差は、r=B−f(crf,M,T)である。CRF基準ビットレート・モデル220の適合性は、以下のように、二乗誤差の総和(SSE:Sum of Square Error)および平均二乗誤差の根(Root of Mean Square Error)によって評価される。
は、残差であり、nは、当てはめるサンプルの数である。
概して、時間解像度は、フレーム/秒(fps)を単位とするフレーム・レートによって評価される。CRF基準ビットレート・モデル220に対する時間解像度の影響を調べるために、CRF基準ビットレート・モデル220を訓練するために選択されたビデオが、時間軸に沿ってダウンサンプリングされ、ダウンサンプリングされたビデオが、ビデオの元のフレーム・レートの半分で符号化される。このようにして、元のビデオおよびそのダウンサンプリングされたバージョンは、同じ表示時間を有する。CRF基準ビットレート・モデル220は、各空間解像度、例えば、fps=12.5およびfps=25、fps=15およびfps=30に対してビデオの平均ビットレートを得るように訓練される。
訓練の結果は、ビットレートが、符号化フレーム・レート(fps)に対してほぼ線形に増加すること、言い換えると、
であることを示す。式6に示された線形の関係に基づいて、平均ビットレートとフレーム・レートとの間の関係は、以下のように記述され得る。
y=a×T (7)
ここで、パラメータaは、空間分解能およびCRFからの影響を含む。
図7は、固定のフレーム・レート(すなわち、fps=25)でのCRF基準ビットレート・モデル220の例示的な訓練結果を示す。図7に示された訓練結果は、平均ビットレートが、CRF値および平均ビットレートを固定するとき、空間解像度の近似的なべき関数であり、空間解像度を固定するとき、CRFの近似的な指数関数であることをさらに示す。フレーム・レートがfps=25以外であるとき、モデルは、fps/25倍に増減される可能性がある。CRF基準ビットレート・モデル220を訓練する1つの実施形態は、フレーム・レートfps=25を使用することである。
式(4)で示された平均ビットレートと空間解像度Mとの間の関係を探るために、CRF基準ビットレート・モデル220は、元のビデオに対する低域通過フィルタリングおよびダウンサンプリングによって得られた階層的な空間解像度を有するシミュレートされた/導出されたビデオで訓練される。例えば、ビデオ・エンコーダ210が、アンチエイリアシングのために、空間解像度704x576の元のビデオに低域通過フィルタを適用する。ビデオ・エンコーダ210は、これらのビデオをダウンサンプリングして、サイズ352x288および176x144を有するビデオの低解像度のバージョンを得る。ビデオ・エンコーダ210は、各CRF値に対するビットレートと空間解像度との間の関係を決定するために、元の704x576のビデオおよびそれらのダウンサンプリングされた低解像度のバージョンを同じCRF値で符号化する。訓練結果は、異なるCRF値に対応するビットレート−空間解像度の折れ線(polyline)がほぼ平行であることを示す。CRF値を下げるときのビットレートの増加率は、空間解像度の増加とともに次第に減少していく。CRF基準ビットレート・モデル220は、さまざまな空間解像度を有するビデオでさらに訓練され、訓練結果は、シミュレートされたビデオに対するビットレートと、空間解像度と、CRF値との間の関係と同様のビットレートと、空間解像度と、CRF値との間の関係を示す。
訓練結果に基づいて、CRF基準ビットレート・モデル220は、平均ビットレートと空間解像度との間の関係を以下のようにモデル化する。
y=b×x (8)
ここで、各CRF値に対して0<c<1である。機能y=b×xは、座標系の原点を通り、このことは、空間解像度をゼロにすると、ビットレートがゼロになることを示唆する。0<c<1は、ビットレートと空間解像度との間の単調増加関係を示し、平均ビットレートは、空間解像度の高いビデオほど動き推定の効果の高いイントラ予測およびインター予測を有するので、空間解像度よりも増加率が低い。1実施形態において、パラメータcは、トレーニング・サンプルに当てはめるとき、平均が0.65になる。各CRF値に対するパラメータbは、式(8)に示されたべき関数を使用して平均ビットレートと空間解像度との間のマッピングをモデル化することにより得られる可能性がある。
CRF値は、浮動小数点値をとる可能性がある。1実施形態において、CRF値は、x.264CRF符号化に関して[0,51]の範囲内にある。CRF=0は、可逆符号化のためのものであり、CRF=51は、ファイルサイズが最も小さく、ピーク信号対雑音比が最も小さい不可逆圧縮のためのものである。浮動小数点CRF値を使用してCRF基準ビットレート・モデル220を訓練すると、CRF値のみが変更され、その他の符号化パラメータ(例えば、フレーム・レート)は、ビデオを特定の目標の空間および時間解像度に符号化するために初期設定で固定されている。サンプルのCRF値12、14、・・・、および34は、ビデオを、視覚的に許容でき、十分な圧縮品質のPSNR28〜55dBに符号化するために使用される。
特定の空間および時間解像度の下での平均レートとCRFとの間の関係は、以下の式(9)で記述され得る。
y=m×enx (9)
式(9)をモデル化するために、パラメータmは、1380に設定され、パラメータnは、−0.20に設定される。当てはめ誤差(fitting error)は、SSE=540.3およびRMSE=7.351によって評価される。式(4)で示された平均ビットレートBおよびCRFの関係(crf,M,T,B)は、以下の式(10)によって表され得る。
ビデオはデフォルトのフレーム・レートで符号化されることが多いことを考慮すると、パラメータTを無視することにより、以下のような修正された式(10)を得る。
B=f(crf)×f(M)=m×en・crf×M (11)
したがって、CRFは、以下の式(12)を使用してビットレートBから得られる可能性がある。
相対的な当てはめ誤差は、以下の式によって空間解像度毎に評価される。
ここで、
Mは、空間解像度であり、
は、空間解像度MのビデオのCRFに対して平均された実際のビットレートであり、Ωは、空間解像度Mのビデオの集合であり、|Ω|は、Ωの濃度である。Eは、相対誤差を表し、
は、平均の実際のビットレートを表し、
は、式(10)から推定されたビットレートを表す。
III.改訂されたCRFビットレート・モデルを使用したビデオ符号化
入力ビデオを訓練されたCRF基準ビットレート・モデル220から得られたCRFによって符号化するために、入力ビデオを符号化することによる実際のビットレートは、入力ビデオに関連する目標のビットレートからずれる可能性がある。CRFと実際のビットレートとの間の改訂されたCRFビットレート・モデルが、入力ビデオを符号化するための目標のビットレートに向かって実際のビットレートを調整するために必要とされる。1実施形態において、RDCに基づくビデオ・コード変換モジュール400は、改訂されたCRFビットレート・モデル410を使用して、入力ビデオを符号化するためのCRF値を適合させる。改訂されたCRFビットレート・モデル410は、以下の式(15)を使
用して改訂され得る。
B=k×f(crf)×f(M)=k×m×en・crf×M (15)
ここで、kは、符号化されるべき入力ビデオに関連する改訂因子(revising factor)である。
改訂をさらに示すために、改訂されたCRFビットレート・モデル410は、初めに、パラメータBに、入力ビデオに関連する目標のビットレートを代入することによって、式(12)で示されたCRFと平均ビットレートとの間のマッピングからCRFを得る。入力ビデオの符号化の結果として得られる実際のビットレートと、その対応するCRF、すなわち(実際のビットレート、CRF)とが、以下のように式(15)の改訂因子kを決定するために使用される。
図5は、例示的なビデオ・シーケンスに関する調整因子k、目標のビットレートB、実際のビットレートBの例示的なデータであり、ここで、パラメータMは、ビデオ・シーケンスの空間解像度を表す。
訓練されたCRF基準ビットレート・モデル220および改訂されたCRFビットレート・モデル410を使用して、RDCに基づくビデオ・コード変換モジュール400は、入力ビデオを、入力ビデオに関連するビットレートの制約の範囲内で一定の視覚的品質で符号化することができる。以下のアルゴリズムは、入力ビデオを、入力ビデオに関連するビットレートの制約の範囲内で一定の視覚的品質で符号化する1実施形態を表す。
//*入力:未圧縮のビデオおよびその目標のビットレートB
//*出力:ビデオの目標のビットレートの範囲内で一定の視覚的品質を持つ圧縮されたビデオ
1:パラメータBにBを代入することによって式(12)のCRF基準ビットレート・モデル220からcrfを見つける
2:crfを用いてビデオを符号化し、実際のビットレートBを得る
3:(crf、B)のペアによって式(15)の改訂されたCRFビットレート・モデル410を得る
4:BにBを代入することによって式(15)の改訂されたCRFビットレート・モデルからcrfを見つける
5:crfを用いてビデオを符号化し、改訂された実際のビットレート
を得る
6:
がBに近くない場合、収束するまで工程3を繰り返す
ここに記載したアルゴリズムは、訓練され、改訂されたCRFビットレート・モデルから評価されたCRF値を用いるマルチパスCRF符号化の1種である。工程6の収束の基準は、実際のビットレート
と目標のビットレートBとの間の差が目標のビットレートの±10%以内になることである。
図4は、入力ビデオを、目標のビットレートの範囲内で一定の視覚的品質を有する出力ビデオに符号化する流れ図である。最初に、RDCに基づくビデオ・コード変換モジュール400が、入力ビデオを受信し(401)、入力ビデオは、入力ビデオを符号化するためのビットレートの制約として目標のビットレートを有する。1実施形態において、入力ビデオの目標のビットレートは、入力ビデオの目標の出力ビデオ・フォーマットに関連する。別の実施形態において、入力ビデオの目標のビットレートは、以下で説明されるビデオ記述長(VDL)の分析に基づいて改訂される。ビデオ・コード変換モジュール400が、(例えば、目標のビットレートが平均ビットレートパラメータBに代入されるようにして式(12)を用いて)入力ビデオの目標のビットレートに対する固定レート因子を見つける(403)。コード変換モジュール400が、得られたCRFを用いて入力ビデオを符号化し(405)、入力ビデオを符号化するための実際のビットレートを得る(407)。ビデオ・コード変換モジュール400が、(例えば、式(15)を用いて)実際のビットレートにより改訂因子を計算し(409)、改訂因子により修正された固定レート因子を見つける(411)。ビデオ・コード変換モジュール400が、修正された固定レート因子を用いて入力ビデオを符号化し(413)、符号化(413)による実際のビットレートが目標のビットレートの範囲内にあるかどうかを判定する(415)。実際のビットレートが目標のビットレートの範囲内にあることに応じて、ビデオ・コード変換モジュール400が、符号化されたビデオを出力する(417)。実際のビットレートが目標のビットレートの範囲内にないことに応じて、ビデオ・コード変換モジュール400が、動作工程409から417を繰り返す。
入力ビデオに関連する目標のビットレートに向かって入力ビデオを符号化すると、試験の結果は、符号化パスの数が平均で1.8であることを示す。入力ビデオが平均に近いコンテンツ複雑性を有するとき、CRF基準ビットレート・モデル220によって見つけられたCRF値を用いる1パスのCRF符号化は、ビデオを目標ビットレートに向けて符号化する。入力ビデオが平均から外れたコンテンツ複雑性を有する場合、適応的に改訂されたCRFビットレート・モデル410によって見つけられたCRF値を用いるマルチパスCRF符号化が必要とされる。
IV.符号化計算プロファイル(ECP)
ビデオ・シーケンスによって取り込まれたシーンの多様なコンテンツは、ビデオ・シーケンスに含まれる情報の多様な量につながる。ビデオ・ホスティング・サービスの大規模
なビデオ・コーパスを考慮すると、異なるビデオコンテンツに同じ符号化ビットレートを適用することは、異なるビデオ品質をもたらす。さらに、ビデオ・ホスティング・サービス100は、ビデオ・ホスティング・サービス100にアップロードされるそれぞれのビデオのためにさまざまなビデオ出力フォーマットを提供する。異なる出力フォーマットは、目標の再生プラットフォーム(例えば、携帯電話および高精細度TV)、配信の制約(例えば、リアルタイム・ビデオ・ストリーミングおよびビデオ・オン・デマンド)、ならびにユーザの期待の点で異なるビデオ処理の目的を有する。
さまざまなビデオ・フォーマットおよびコンテンツ複雑性を有するビデオをコード変換する1つの解決策は、異なるビデオに異なるビットレート制御ストラテジを適用することである。1実施形態において、RDCに基づくビデオ符号化システム102は、所与のビデオ出力フォーマットのために以下の3つの異なるビットレート制御ストラテジおよび符号化パラメータのうちの少なくとも1つを選択する。
control_bitrate
control_quality
control_quality_bounded_bitrate
control_bitrateストラテジは、ビデオの目標のビットレートに可能な限り近くビデオを符号化する実際のビットレートを実現することである。このビットレート制御ストラテジは、モバイル・ビデオ・ストリーミング、およびダイヤルアップ・インターネット接続を用いるビデオ・ストリーミングに好適である。
control_qualityストラテジは、一定の目標の視覚的品質を達成するために必要とされるビットレートを問わず一定の目標の視覚的品質を実現することである。control_qualityストラテジは、変動する実際のビットレート、例えば、複雑なビデオを符号化するための高ビットレートおよび単純なビデオのための低ビットレートを使用して多様な複雑性を有するビデオを符号化するために使用される。ビットレート制御ストラテジは、分散型のビデオ処理環境におけるビデオ処理およびストリーミング、ならびに高い視覚的な符号化品質のコード変換(例えば、可逆符号化品質)に好適である。
control_quality_bounded_bitrateストラテジは、ビットレートの上限を守りながらできるだけ一定の目標の視覚的品質を実現することである。したがって、視覚的品質は、許容される最大限のビットレートの制約の範囲内で目標の品質が実現できない場合、複雑なビデオに関してのみ目標の品質レベルよりも下がることが許容される。より単純なビデオに関しては、ビットレートは、所望の目標の品質レベルが実現される限り、最大のビットレート未満である可能性がある。
ビデオ・コード変換の性能をさらに高めるために、RDCに基づくビデオ符号化システム102は、所与のビットレート制御ストラテジを使用してトランスコーダに関する段階的な計算レベルをサポートする。特に、ビットレート制御ストラテジ(例えば、control_quality_bounded_bitrateストラテジ)に対して、例えば、RDCに基づくビデオ符号化システム102によってサポートされる以下の5つの異なる符号化計算レベルが存在する可能性がある。
最速:最も速いコード変換時間を提供するが、必ずしも、最も小さくまとまった出力ビット・ストリーム、または同じビットレートに対する最高の視覚的品質をもたらすとは限らない。ほとんどのビットレート制御ストラテジおよび出力フォーマットに関して、1パス符号化が行われる。
速:適度に速い符号化を提供する。ほとんどのビットレート制御ストラテジおよび出力フォーマットに関して、1パス符号化が行われる。
中:ほとんどのビットレート制御ストラテジおよび出力フォーマットに好適である符号化時間対符号化効率の釣り合いを提供する。
低:より高い符号化効率、つまり、同じビットレートでより高い視覚的品質でコード変換されたビデオを生成するために、符号化により計算コストのかかるツールを使用する。例えば、映像コーデックx.264は、ビデオを高い視覚的品質で符号化するために、圧縮効率制御パラメータを「preset=slower」または「preset=placebo」と設定する。
最低:最も小さくまとまった出力ビット・ストリーム、および映画スタジオの品質のビデオなどの最も高い知覚品質のビデオを生成するために、符号化に、計算量が多く、洗練されたツールを使用する。PSNRの観点で測られるとき、この符号化計算レベルの視覚的品質は、低モードによって実現される視覚的品質以下である可能性がある。
トランスコーダが利用可能であるいくつかの符号化計算レベルによって、RDCに基づくビデオ符号化システム102は、ネットワーク(例えば、クラウド・コンピューティング・ネットワーク)内のサーバに対する現在のシステム負荷、ライブ・ストリーミングの需要、または許容可能なコード変換のレイテンシーなどの要因に応じて符号化計算レベルを適合させるためのさまざまなコード変換ポリシーを実装する。例えば、複数の最初のストリーミングのコード変換は、ライブ・ビデオ・ストリーミングのためにレイテンシーを削減するために低い計算レベルで行われる可能性がある。一方、再放送されるビデオ・ストリーミングは、再放送がビデオの高まった人気に対応すべきである場合、許容可能なレイテンシーを有するより高い計算レベルで行われる可能性がある。
さまざまなビットレート制御ストラテジを最適化し、それぞれのビットレート制御ストラテジに関して段階的な符号化計算レベルをサポートするために、RDCに基づくビデオ符号化システム102は、異なるビットレート制御ストラテジを実装する複数の方法を評価するだけでなく、それぞれのビットレート制御ストラテジに対する計算の最適な割り当ても考慮する体系的な手順にしたがう。1実施形態において、RDCに基づくビデオ符号化システム102は、計算効率のトレードオフをきめ細かくモデル化するように符号化計算プロファイル(ECP)マッピング・モジュール230を訓練する。
ECPは、x.264符号化に容易に統合され得る計算の複雑性の割り当て制御パラメータである。ECPパラメータは、0と1との間の浮動小数点値をとり、ビットレートと、歪みと、計算の複雑性との間のトレードオフを細かく調整するために使用され得る。既存のビットレート制御ストラテジは、ビデオの符号化のレートと歪みとの間のトレードオフに焦点を当てる。しかし、符号化の計算が符号化効率を評価するための基準と考えられるときは、レートと歪みとの間のトレードオフが、符号化の計算と一緒に調整される必要がある。
例えば、2パス符号化方式においては、第1の符号化パスがビデオの何らかの統計情報を得るために使用されるので、概して、第1の符号化パスは、第2の符号化パスよりも高速に実行される。2パス符号化全体は、概して、1パス符号化方式よりも多くの計算を消費する。しかし、計算がかなり複雑な1パス符号化が比較的計算が複雑でない2パス符号化よりも効率的であるか、またはより効率が低いかは、明らかでない。RDCに基づくビデオ符号化システム102のECPマッピング・モジュール230は、マルチパスに基づくビデオ・コード変換(例えば、x.264に基づくマルチパス・コード変換)のための計算と、所与の符号化計算レベルに関する符号化パスの数との最適な割り当てを見つける
ように設計される。
ここで図2に目を向けると、RDC訓練モジュール200のECPマッピング・モジュール230が、ビデオ・コーパス160に記憶されたビデオで訓練される。それぞれの符号化ストラテジに関して、ECPマッピング・モジュール230は、生のレート−歪み−複雑性データを得るために、マルチパス・コード変換のさまざまなあり得る実装およびさまざまなあり得る計算レベルにわたって訓練される。ECPマッピング・モジュール230は、例えば、複数の等しい間隔の符号化計算レベルで(例えば、1実施形態においては、5つの符号化計算レベル、すなわち、最速、速、中、低、および最低計算レベルが存在する可能性がある)ビットレート制御ストラテジのそれぞれに関して最良のコード変換の実装および計算の割り当てを導出するために生のレート−歪み−複雑性データに対する複数の基準のパレート最適集合分析を使用してさらに最適化される。
マルチパスx.264コード変換を例にとると、ECPマッピング・モジュール230は、2パス符号化のための計算の割り当てをペア{ecp、ecp}によって表す。ecpは、1パス・ビットレート符号化または2パス・ビットレート符号化の第1のパスの計算の複雑性を表す。ecpは、2パス・ビットレート符号化の第2のパスの計算の複雑性を表す。例えば、{0.07、NULL}は、1パス・ビットレート符号化の実装の計算の複雑性を表し、{0.07、0.71}は、2パス・ビットレート符号化の実装の例示的な計算の複雑性である。
それぞれのビットレート制御ストラテジに関して、ECPマッピング・モジュール230は、ビデオ・コーパス160からのビデオの集合でオフラインで訓練される。各訓練サンプルは、レート−歪み−複雑性の性能、3つ組み{R、D、C}に関連付けられ、実際の符号化ビットレート(R)は、訓練から得られ、歪み(D)は、ビデオ・フレームの輝度成分の平均二乗誤差によって測られ、複雑性(C)は、1フレーム当たりの符号化時間によって表される。以下は、マルチパスx.264コード変換方式を用いて、control_bitrateビットレート制御ストラテジに関してECPマッピング・モジュール230を訓練するためのアルゴリズムである。
1:すべてのあり得る{ecp、ecp}ペアおよび異なる目標のビットレートで、control_bitrateストラテジを使用して訓練ビデオを符号化する。
2:訓練から{R、D、C}性能サンプルを得る。
3:訓練ビデオの各{ecp、ecp}ペアに関してR上で歪みDおよび計算時間Cを滑らかに補完する。
4:{R、D、C}サンプルの中のパレート最適集合を見つけ、パレート集合を補間して区分的に連続な{R、D、C}面を得る。
5:計算時間Cを5つの一様な間隔の継続レベル(continuation level)に分割する。
6:レート値を選択し、選択されたビットレート値で5つの計算レベルのそれぞれに関してパレート最適な面上の{ecp、ecp}ペアを選択する。
7:ビデオに対する回帰試験によって最適化されたストラテジの効果を検証する。
control_bitrate制御ストラテジによる5つの計算レベルに関する最適化された計算の割り当てが、以下のテーブル1に示される。
テーブル1に示されたように、それぞれの計算レベルに関して、ECPマッピング・モジュール230は、符号化パスの数および必要とされる計算の複雑性の割り当て制御パラメータ値を示すECP値の{ecp、ecp}のペアを提供する。例えば、control_bitrate制御ストラテジを使用する中位の計算の複雑性を有するビデオの符号化に関しては、最適化されたレート−歪み−複雑性の釣り合いを達成するために2符号化パスが使用される可能性があり、第1の符号化パスに関して、ECP値は0.07であり、第2の符号化パスに関しては0.50である。リアルタイム・ストリーミングのためにビデオを符号化するためには、符号化時間が、許容できない遅延なしに高速であることが必要である。RDCに基づくビデオ符号化システム102は、レート−歪み−複雑性の釣り合いをとるためにECP値0.35の1パス符号化を選択する可能性がある。
別の実施形態においては、ECPマッピング・モジュール230は、別のビデオ符号化方式、VP8(WebMとも呼ばれる)を使用して訓練される。符号化の計算プロファイル・パラメータ(すなわち、ecp、ecp)を使用する代わりに、VP8は、レートと、歪みと、計算の複雑性との間のトレードオフを管理するために符号加速度制御(ES)パラメータを使用する。テーブル2は、VP8符号化方式を使用したcontrol_bitrate制御ストラテジによる5つの計算レベルに関する計算の割り当ての例を示す。
ECPマッピング・モジュール230は、control_qualityストラテジ
およびcontrol_quality_bounded_bitrateストラテジなどのその他のビットレート制御ストラテジのためにビデオ・コーパス160からのビデオで同様に訓練される。テーブル3は、x.264符号化方式を用いたcontrol_quality制御ストラテジによる5つの計算レベルに関する最適化された計算の割り当てと、VP8符号化方式に関する対応する計算の割り当てとを示す。一定の目標の品質を実現するために、ECPマッピング・モジュール230によってRDCに基づくビデオ・コード変換に1パス符号化のみが提案される。テーブル4は、x.264符号化方式を用いたcontrol_quality_bounded_bitrate制御ストラテジによる5つの符号化計算レベルに関する最適化された計算の割り当てと、VP8符号化方式に関する対応する計算の割り当てとを示す。
図6は、レート−歪み−複雑性の最適化のためにオフラインでECPマッピング・モジュール230を訓練する流れ図である。初めに、RDC訓練モジュール200が、ビデオ・コーパス160からビデオを受信する(610)。RDC訓練モジュール200のビデオ・エンコーダ210は、選択されたビデオの集合を符号化し(620)、訓練から{R、D、C}サンプルを取得する(630)。ECPマッピング・モジュール230は、取
得された{R、D、C}サンプルから最適な{R、D、C}サンプルを見つける(640)。例えば、ECPマッピング・モジュール230は、{R、D、C}サンプルの中のパレート最適集合を見つけ、パレート集合を補間して区分的に連続な{R、D、C}面を得る。ECPマッピング・モジュール230は、最適な{R、D、C}サンプル空間を複数の計算複雑性レベル(例えば、上述の5つの計算レベル)に分割する(650)。ECPマッピング・モジュール230は、それぞれの計算レベルに関してRDC最適な符号化ストラテジ(例えば、control_quality_bounded_bitrateストラテジ)を選択し(660)、それぞれの計算レベルに関するECPパラメータおよび符号化パスの数を得る(670)。
RDCに基づくビデオ符号化システム102は、前の符号化パスに基づいてその後の符号化パスの符号化パラメータを調整することによってマルチパス符号化の性能を最適化することができる。例えば、入力ビデオを符号化する2パス符号化方式においては、RDCに基づくビデオ符号化システム102は、第1の符号化パスの符号化パラメータに基づいて第2の符号化パスの符号化パラメータ(例えば、ビットレート、動き推定方法、および動きベクトルの探索範囲)を適合させることができる。第1の符号化パスの実際のビットレートが同じECP値で符号化された平均ビットレート未満である場合、それは、入力ビデオが平均のビデオよりも単純なビデオコンテンツを有し、第2の符号化パスのECP値が、同じレート−歪みの性能を維持しながら入力ビデオを符号化するための計算を節約するために小さくされ得ることを示す。第1の符号化パスの実際のビットレートが同じECP値で符号化された平均ビットレートよりも大きい場合、第2の符号化パスのECP値は、入力ビデオを符号化するためのより大きなレート−歪みの性能の利得を実現するために増やされる可能性がある。
V.ビデオ記述長(VDL)を用いた符号化
最小限のコストで、許容可能な視覚的品質でソース・ビデオをコード変換することは、ソース・ビデオのビデオ符号化の複雑性を効果的に評価することを必要とする。ビデオのコード変換に与えるビデオコンテンツ複雑性の影響を無視することは、コード変換されたビデオの視覚的品質およびユーザ・エクスペリエンスを損なう。入力ビデオを符号化するためのビットレート情報はソース・ビデオのビデオコンテンツ複雑性を反映するので、特定の視覚的品質でビデオを符号化するためにどれだけのビットレートが必要とされるかについての情報は、ビデオ符号化の効率の最適化のために有用である。
1実施形態において、RDCに基づくビデオ符号化システム102は、ビデオについてビデオコンテンツ複雑性を表すためにビデオ記述長を使用する。VDLは、特定の視覚的品質でビデオを符号化するために必要とされるビットレートである。異なるビデオは、異なるVDLを有する。動きが遅く、滑らかな画像を有するビデオは、ビデオが、小さなビットレートだが高い視覚的品質で符号化することが容易であることを示す短いVDLを有する。一方、動きが激しく、複雑な見た目のコンテンツを有するビデオは、ビデオが符号化することが難しいことを示す長いVDLを有する。
ビデオ記述長は、適応的なビデオ符号化および復号のような多くの応用で非常に有用である。ビデオ・コード変換に関しては、VDLは、ビデオをそのビデオの出力ビデオ・フォーマットに効率的に符号化するための目標のビットレートまたは目標の固定レート因子を選択するようにRDCに基づくビデオ・トランスコーダを導く。RDCに基づくビデオ・トランスコーダは、入力ビデオの複雑性を基準ビデオと、それらのビデオの関連するVDLの観点で比較し、基準ビデオの既存の妥当な符号化パラメータを参照することによって入力ビデオのための適切な符号化パラメータを決定する。
ビデオのVDL情報は、以下の少なくとも3つの形態を有する可能性がある。
全体VDL、
時間VDL、および
空間VDL
全体VDLは、ビデオが「CRF=26、複雑性=最速」で符号化されるときのビデオの実際のビットレートである。CRF値は、構成可能なパラメータであり、実験データは、ビデオがCRF符号化によりCRF=26で符号化されるときに良好な視覚的品質であることを示す。
時間VDLは、ビデオが2つの異なる複雑性、例えば、「CRF=26、複雑性=速」および「CRF=26、複雑性=最速」で符号化されるときのビデオの実際のビットレートの差である。ビデオの時間VDLは、ビデオの時間的な複雑性を反映する。異なる時間的な複雑性を有するビデオは、大抵、ビデオ内で検出された動きをどれだけ高速に処理すべきかとは異なる。ビデオ内の検出された動きがどれだけ高速に処理されるべきかは、動き推定方法、および動き推定のために使用される基準フレームの数などの1つまたは複数の要因に依存する。時間VDLを表す1つの実施形態は、異なる複雑性のレベルでビデオを符号化するときのビデオのビットレートの差を使用することである。
空間VDLは、ビデオが2つの異なるCRF、例えば、「CRF=26、複雑性=最速」および「CRF=28、複雑性=最速」で符号化されるときのビデオの実際のビットレートの差である。概して、動き推定アルゴリズムによって予測される残差信号の複雑性は、ビデオ・フレームの複雑性を反映し、残差信号の変換係数は、CRF値によって表される量子化を経る。したがって、異なるCRF値を用いて、ただし、同じ複雑性のレベルで符号化されるビデオのビットレートの差は、時間的要因の影響を減らし、ビデオの空間的な複雑性を反映する。より大きな空間VDLを有するビデオは、ビデオ内により複雑な空間的コンテンツを有する。
ビデオの全体VDL、時間VDL、および空間VDLは、RDCに基づくビデオ・コード変換を導くために使用され得る。例えば、図4を参照すると、RDCに基づくビデオ・コード変換モジュール400のビデオ記述長モジュール420が、入力ビデオを符号化することにより入力ビデオの全体VDL、時間VDL、および空間VDLを得る。入力ビデオの得られたVDLデータは、動的なVDLデータベースに、入力ビデオに関する基準VDLとして記憶される。例えば、ビデオ記述長モジュール420は、全体VDLに関する動的な参照テーブルを保有し、各テーブルのエントリは、入力ビデオの識別情報、入力ビデオの全体VDL、入力ビデオの時間解像度および空間解像度を記憶する。ビデオをコード変換した後、ビデオ記述長モジュール420は、入力ビデオのVDLの基準を削除する。ビデオ記述長モジュール420は、同様に、時間VDLおよび空間VDLに関する動的な参照テーブルをそれぞれ保有する。入力ビデオの1つのビデオ出力フォーマットに関して得られた全体VDLは、その他のビデオ出力フォーマットに関する入力ビデオの符号化を導くために使用され得る。入力ビデオの1つのビデオ出力フォーマットに関して得られた時間および空間VDLは、入力ビデオのその他のビデオ出力フォーマットのために同様
に使用され得る。
別の実施形態においては、RDCに基づくビデオ符号化システム102は、動的なVDL参照テーブルに記憶されたVDLデータに基づいて、ビデオ・コーパス160のビデオの全体VDL、時間VDL、および空間VDLに関する静的なVDL参照テーブルを生成する。例えば、全体VDLに関する静的なVDL参照テーブルは、選択された時間解像度に対するそれぞれの個々の入力データの平均された全体VDLデータと、選択された空間解像度に対する全体VDLの別の静的なVDL参照テーブルとを記憶する。選択された時間解像度または空間解像度に対する時間VDLおよび空間VDLの静的なVDL参照テーブルが、同様に生成され得る。静的なVDL参照テーブルは、動的なVDL参照テーブル内のレコードが生成または更新される度に更新される可能性がある。
所与の入力ビデオに関して、ビデオ記述長モジュール420は、上述のように入力ビデオの全体VDL、時間VDL、および空間VDLを計算し、レート−歪み−複雑性の最適化のためにRDCに基づくトランスコーダ430と通信する。例えば、入力ビデオの目標のビットレート未満の入力ビデオの全体VDLに応答して、ビデオ記述長モジュール420は、入力ビデオの全体VDLを目標のビットレートとして設定する。全体VDLを入力ビデオの目標のビットレートとして設定することは、良好な視覚的品質を得るのに役立つ。基準ビデオの空間VDLよりも大きい入力ビデオの空間VDLに応答して、ビデオ記述長モジュール420は、空間処理に関する符号化の複雑性のレベルを上げる(例えば、複雑性のレベルを、例えば、「中」から「速」に変更する)ようにRDCに基づくトランスコーダ430に指示する。同様に、ビデオ記述長モジュール420は、入力ビデオの時間VDLと基準ビデオの時間VDLとの間の比較に基づいて入力ビデオの時間処理に関する符号化の複雑性のレベルを調整するようにRDCに基づくトランスコーダ430に指示する。
図3は、上述のVDLに導かれるビデオ・コード符号化をさらに示す。最初に、RDCに基づくビデオ・コード符号化モジュール400が、入力ビデオを受信し(310)、改訂されたCRFビットレート・モデル410を介して入力ビデオを符号化する。ビデオ記述長モジュール420は、入力ビデオの全体VDL、時間VDL、および空間VDLを得る(320)。ビデオ記述長モジュール420は、改訂されたCRFビットレート・モデル410によって符号化することから入力ビデオのVDL情報を得るか、またはそのビデオ記述長モジュール420自体によって入力ビデオのVDL情報を計算する。
ビデオ記述長モジュール420は、入力ビデオの全体VDLを入力ビデオの目標のビットレートと比較し(330)、比較に基づいて入力ビデオの目標のビットレートを調整する(例えば、目標のビットレート未満の全体VDLに応じて入力ビデオの全体VDLを入力ビデオの目標のビットレートとして設定する。)(340)。ビデオ記述長モジュール420は、入力ビデオの時間VDLを基準時間VDLと比較し(350)、比較に基づいてビデオ符号化の複雑性を時間的に調整する(360)。ビデオ記述長モジュール420は、入力ビデオの空間VDLを基準空間VDLと比較し(370)、比較に基づいてビデオ符号化の複雑性を空間的に調整する(380)。RDCに基づくトランスコーダ430は、図4に示されるように、調整された目標のビットレート、時間符号化複雑性、および空間符号化複雑性で入力ビデオを符号化する(390)。調整された目標のビットレート、時間的または空間符号化複雑性は、目標のビットレートおよび符号化の複雑性の更新を反映するために異なるECP値および符号化パスの数が必要とされることを示す。
上の説明は、好ましい実施形態の動作を例示するために含められており、本発明の範囲を限定するように意図されていない。本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。上の検討から、本発明の精神および範囲にやはり包含される多くの変更形態が、当業者に明らかになる。
本発明は、1つのあり得る実施形態に関して特に詳細に説明された。当業者は、本発明がその他の実施形態で実施され得ることを理解するであろう。第1に、コンポーネントの特定の命名、用語の大文字の使用、属性、データ構造、または任意のその他のプログラミングもしくは構造の態様は、必須ではないか、または重要でなく、本発明またはその特徴を実装するメカニズムは、異なる名前、フォーマット、またはプロトコルを有する可能性がある。さらに、システムは、説明されたように、ハードウェアおよびソフトウェアの組み合わせにより実装されるか、またはすべてハードウェア要素で実装される可能性がある。また、本明細書に記載のさまざまなシステムの構成要素の間での機能の特定の分割は、
例示的であるに過ぎず、必須ではなく、単一のシステムの構成要素によって実行される機能が、その代わりに複数の構成要素によって実行される可能性があり、複数の構成要素によって実行される機能が、その代わりに単一の構成要素によって実行される可能性がある。
上の説明の一部は、情報に対する動作のアルゴリズムおよび記号表現によって本発明の特徴を示す。これらのアルゴリズムの記述および表現は、データ処理技術に精通している者によって、その者の成果の内容を当該技術分野に精通しているその他の者に最も効果的に伝えるために使用される手段である。これらの動作は、機能的または論理的に説明されているが、コンピュータ・プログラムによって実装されると理解される。さらに、一般性を失うことなく動作のこれらの構成をモジュールと呼ぶか、または機能の名前で呼ぶことが便利であることがあることも分かっている。
別途具体的に述べられない限り、上の検討から明らかなように、説明全体を通じて、「処理」または「計算」または「算出」または「決定」または「表示」などの用語を使用する検討は、コンピュータ・システムのメモリもしくはレジスタ、またはその他のそのような情報ストレージ、送信、もしくはディスプレイ・デバイス内で物理的(電子的)量として表されるデータを操作および変換するコンピュータ・システムまたは同様の電子的なコンピューティング・デバイスの行為および方法を指すことが理解される。
本発明の特定の態様は、本明細書に記載の方法の工程および命令をアルゴリズムの形態で含む。本発明の方法の工程および命令は、ソフトウェア、ファームウェア、またはハードウェアで具現化される可能性があり、ソフトウェアで具現化されるときは、リアルタイム・ネットワーク・オペレーティング・システムによって使用されるさまざまなプラットフォームに存在するようにダウンロードされ、そのようなプラットフォームから操作される可能性があることに留意されたい。
本発明は、本明細書に記載の動作を実行するための装置にも関する。この装置は、必要とされる目的のために特別に構築される可能性があり、またはコンピュータによってアクセスされ得るコンピュータ可読媒体に記憶されたコンピュータ・プログラムによって選択的に有効化または再構成される多目的コンピュータを含む可能性がある。そのようなコンピュータ・プログラムは、フロッピー(登録商標)・ディスク、光ディスク、CD−ROM、光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気式もしくは光学式カード、特定用途向け集積回路(ASIC)、または電子的な命令を記憶するのに好適であり、それぞれがコンピュータ・システムのバスに結合される任意の種類の媒体などであるがこれらに限定されないコンピュータ可読記憶媒体に記憶される可能性がある。さらに、本明細書において言及されるコンピュータは、単一のプロセッサを含む可能性があり、または計算能力を高めるためにマルチ・プロセッサ設計を使用するアーキテクチャである可能性がある。
本明細書において示されたアルゴリズムおよび動作は、いかなる特定のコンピュータまたはその他の装置にも分かちがたく関連していない。さまざまな汎用システムが、本明細書の教示によるプログラムとともに使用される可能性もあり、または方法の工程を実行するためのより特化した装置を構築することが便利であると判明する可能性がある。さまざまなこれらのシステムに関する構造は、等価な変更形態とともに当業者に明らかになる。加えて、本発明は、いかなる特定のプログラミング言語も特に対象にして説明されていない。さまざまなプログラミング言語が、本明細書において説明された本発明の教示を実装するために使用される可能性があり、本発明の実施および最良の形態の開示に関して、特定の言語が任意に参照されることが理解される。
本発明は、多くのトポロジー上の多種多様なコンピュータ・ネットワーク・システムによく適している。この分野で、大規模なネットワークの構成および管理は、インターネットなどのネットワークで異種のコンピュータおよびストレージ・デバイスに通信可能なように結合されるストレージ・デバイスおよびコンピュータを含む。
最後に、本明細書において使用された言い回しは、主として、読み易くし、教示を与えることを目的として選択されており、本発明の対象を正確に説明するか、または厳密に定めるように選択されていない可能性があることに留意されたい。したがって、本発明の開示は、添付の特許請求の範囲に記載された本発明の範囲を例示するように意図されており、限定するように意図されていない。

Claims (27)

  1. 入力ビデオのビットレート、歪み、および複雑性を最適化するためのコンピュータ・システムであって、
    ビデオ記述長(VDL)モジュールであって、
    該入力ビデオの全体VDL、時間VDL、および空間VDLを取得し、
    該入力ビデオの該全体VDL、該時間VDL、および該空間VDLを、対応する基準全体VDL、基準時間VDL、および基準空間VDLと比較し、
    該比較に基づいて該入力ビデオを符号化するビットレート、該入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性を調整する
    ように構成されたビデオ記述長モジュールと、
    該ビデオ記述長モジュールに結合されたビデオ・トランスコーダであって、該入力ビデオの調整されたビットレート、該全体符号化複雑性、該時間符号化複雑性、および該空間符号化複雑性によって該入力ビデオを符号化するように構成されたビデオ・トランスコーダと、を備え、
    該入力ビデオの全体VDLは該入力ビデオの全体的な符号化複雑性を示し、該入力ビデオの時間VDLは該入力ビデオの時間的な符号化複雑性を示し、該入力ビデオの空間VDLは該入力ビデオの空間的な符号化複雑性を示す、システム。
  2. 前記入力ビデオの前記全体VDLが、所定の固定レート因子と計算複雑性レベルとにより符号化された前記入力ビデオの実際のビットレートによって表される、請求項1に記載のシステム。
  3. 前記入力ビデオの前記時間VDLが、同じ所定の固定レート因子と異なる計算複雑性レベルとによって符号化された前記入力ビデオの複数の実際のビットレートの間の差によって表される、請求項1に記載のシステム。
  4. 前記入力ビデオの前記空間VDLが、異なる所定の固定レート因子と同じ計算複雑性レベルによって符号化された前記入力ビデオの複数の実際のビットレートの間の差によって表される、請求項1に記載のシステム。
  5. 前記基準全体VDL、前記基準時間VDL、および前記基準空間VDLが、動的な複雑性の参照テーブルまたは静的な複雑性の参照テーブルの少なくとも1つの行に由来する請求項1に記載のシステム。
  6. 前記動的なVDL参照テーブルが、前記入力ビデオを符号化することにより生成された前記基準全体VDL、前記基準時間VDL、および前記基準空間VDLを保有する請求項5に記載のシステム。
  7. 前記静的なVDL参照テーブルが、ビデオ・コーパスに記憶されたビデオの平均の全体VDL、平均の時間VDL、および平均の空間VDLを保有する請求項5に記載のシステム。
  8. 前記ビデオ・トランスコーダが、
    前記入力ビデオに関連する目標のビットレートに基づいてCRF基準ビットレート・モデルから得られた固定レート因子(CRF)によって前記入力ビデオを符号化し、
    該符号化から改訂因子を計算し、
    該改訂因子によって該CRF基準ビットレート・モデルを修正し、
    修正されたCRF基準ビットレート・モデルから得られた該固定レート因子によって前記入力ビデオを符号化するようにさらに構成される、請求項1に記載のシステム。
  9. 前記ビデオ・トランスコーダが、
    修正された固定レート因子によって前記入力ビデオを符号化する実際のビットレートが、前記入力ビデオの前記目標のビットレートの所定の範囲内にあるかどうかを検証するようにさらに構成される、請求項8に記載のシステム。
  10. 前記CRF基準ビットレート・モデルが、
    複数のビデオに対するビデオ符号化の前記固定レート因子とレート−歪みの性能との間の関係をモデル化し、
    該モデル化からビデオ符号化の固定レート因子と平均ビットレートとの間の1つまたは複数の関係を得るように構成される請求項8に記載のシステム。
  11. ビデオ符号化の前記固定レート因子と前記レート−歪みの性能との間の前記関係によって、複数のビデオの符号化の固定レート因子と平均ビットレートとの間の前記関係をモデル化する請求項10に記載のシステム。
  12. 入力ビデオのビットレート、歪み、および複雑性を最適化するための方法であって、
    該入力ビデオの全体ビデオ記述長(VDL)、時間VDL、および空間VDLを取得する工程と、
    該入力ビデオの該全体VDL、該時間VDL、および該空間VDLを、対応する基準全体VDL、基準時間VDL、および基準空間VDLと比較する工程と、
    該比較に基づいて該入力ビデオを符号化するビットレート、該入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性を調整する工程と、
    該入力ビデオの調整されたビットレート、該全体符号化複雑性、該時間符号化複雑性、および該空間符号化複雑性によって該入力ビデオを符号化する工程とを備え、
    該入力ビデオの全体VDLは該入力ビデオの全体的な符号化複雑性を示し、該入力ビデオの時間VDLは該入力ビデオの時間的な符号化複雑性を示し、該入力ビデオの空間VDLは該入力ビデオの空間的な符号化複雑性を示す、方法。
  13. 前記入力ビデオの前記全体VDLが、所定の固定レート因子および計算複雑性レベルにより符号化された前記入力ビデオの実際のビットレートによって表される請求項12に記
    載の方法。
  14. 前記入力ビデオの前記時間VDLが、同じ所定の固定レート因子および異なる計算複雑性レベルによって符号化された前記入力ビデオの実際のビットレートの間の差によって表される請求項12に記載の方法。
  15. 前記入力ビデオの前記空間VDLが、異なる所定の固定レート因子および同じ計算複雑性レベルによって符号化された前記入力ビデオの実際のビットレートの間の差によって表される請求項12に記載の方法。
  16. 前記基準全体VDL、前記基準時間VDL、および前記基準空間VDLが、動的な複雑性の参照テーブルまたは静的な複雑性の参照テーブルの少なくとも1つの行に由来する請求項12に記載の方法。
  17. 前記入力ビデオの調整された全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化する工程が、
    前記入力ビデオに関連する目標のビットレートに基づいてCRF基準ビットレート・モデルから得られた固定レート因子(CRF)によって前記入力ビデオを符号化する工程と、
    符号化する該工程から改訂因子を計算する工程と、
    該改訂因子によって該CRF基準ビットレート・モデルを修正する工程と、
    修正されたCRF基準ビットレート・モデルから得られた該固定レート因子によって前記入力ビデオを符号化する工程とをさらに含む請求項12に記載の方法。
  18. 修正された固定レート因子によって前記入力ビデオを符号化する実際のビットレートが前記入力ビデオの前記目標のビットレートの所定の範囲内にあるかどうかを検証する工程をさらに含む請求項17に記載の方法。
  19. 複数のビデオに対するビデオ符号化の前記固定レート因子とレート−歪みの性能との間の関係をモデル化する工程と、
    モデル化する該工程からビデオ符号化の固定レート因子と平均ビットレートとの間の1つまたは複数の関係を得る工程とをさらに含む請求項17に記載の方法。
  20. ビデオ符号化の前記固定レート因子と前記レート−歪みの性能との間の前記関係が、複数のビデオの符号化の固定レート因子と平均ビットレートとの間の前記関係をモデル化する請求項19に記載の方法。
  21. 入力ビデオのビットレート、歪み、および複雑性を最適化するための実行可能なコンピュータ・プログラム命令を記録する非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ・プログラム命令が、
    該入力ビデオの全体ビデオ記述長(VDL)、時間VDL、および空間VDLを取得するための命令と、
    該入力ビデオの該全体VDL、該時間VDL、および該空間VDLを、対応する基準全体VDL、基準時間VDL、および基準空間VDLと比較するための命令と、
    該比較に基づいて該入力ビデオを符号化するビットレート、該入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性を調整するための命令と、
    該入力ビデオの調整されたビットレート、該全体符号化複雑性、該時間符号化複雑性、および該空間符号化複雑性によって該入力ビデオを符号化するための命令とを含み、
    該入力ビデオの全体VDLは該入力ビデオの全体的な符号化複雑性を示し、該入力ビデオの時間VDLは該入力ビデオの時間的な符号化複雑性を示し、該入力ビデオの空間VD
    Lは該入力ビデオの空間的な符号化複雑性を示す、コンピュータ可読記憶媒体。
  22. 前記入力ビデオの前記全体VDLが、所定の固定レート因子および計算複雑性レベルにより符号化された前記入力ビデオの実際のビットレートによって表される請求項21に記載のコンピュータ可読記憶媒体。
  23. 前記入力ビデオの前記時間VDLが、同じ所定の固定レート因子および異なる計算複雑性レベルによって符号化された前記入力ビデオの実際のビットレートの間の差によって表される請求項21に記載のコンピュータ可読記憶媒体。
  24. 前記入力ビデオの前記空間VDLが、異なる所定の固定レート因子および同じ計算複雑性レベルによって符号化された前記入力ビデオの実際のビットレートの間の差によって表される請求項21に記載のコンピュータ可読記憶媒体。
  25. 前記入力ビデオの調整された全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化するための前記コンピュータ・プログラム命令が、
    前記入力ビデオに関連する目標のビットレートに基づいてCRF基準ビットレート・モデルから得られた固定レート因子(CRF)によって前記入力ビデオを符号化するための命令と、
    該符号化から改訂因子を計算するための命令と、
    該改訂因子によって該CRF基準ビットレート・モデルを修正するための命令と、
    修正されたCRF基準ビットレート・モデルから得られた該固定レート因子によって前記入力ビデオを符号化するための命令とをさらに含む請求項21に記載のコンピュータ可読記憶媒体。
  26. 複数のビデオに対するビデオ符号化の固定レート因子とレート−歪みの性能との間の関係をモデル化するためのコンピュータ命令と、
    該モデル化からビデオ符号化の前記固定レート因子と平均ビットレートとの間の1つまたは複数の関係を得るためのコンピュータ命令とをさらに含む請求項25に記載のコンピュータ可読記憶媒体。
  27. ビデオ符号化の前記固定レート因子と前記レート−歪みの性能との間の前記関係が、複数のビデオの符号化の固定レート因子と平均ビットレートとの間の前記関係をモデル化する請求項26に記載のコンピュータ可読記憶媒体。
JP2014537105A 2011-10-17 2012-10-08 ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化 Active JP5808868B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/275,090 US8885702B2 (en) 2011-10-17 2011-10-17 Rate-distortion-complexity optimization of video encoding guided by video description length
US13/275,090 2011-10-17
PCT/US2012/059194 WO2013059015A1 (en) 2011-10-17 2012-10-08 Rate-distortion-complexity optimization of video encoding guided by video description length

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015177595A Division JP6019189B2 (ja) 2011-10-17 2015-09-09 ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化

Publications (3)

Publication Number Publication Date
JP2014530587A JP2014530587A (ja) 2014-11-17
JP2014530587A5 JP2014530587A5 (ja) 2015-02-19
JP5808868B2 true JP5808868B2 (ja) 2015-11-10

Family

ID=48085984

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014537105A Active JP5808868B2 (ja) 2011-10-17 2012-10-08 ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化
JP2015177595A Active JP6019189B2 (ja) 2011-10-17 2015-09-09 ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015177595A Active JP6019189B2 (ja) 2011-10-17 2015-09-09 ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化

Country Status (5)

Country Link
US (2) US8885702B2 (ja)
EP (1) EP2769552A4 (ja)
JP (2) JP5808868B2 (ja)
CN (2) CN103999471B (ja)
WO (1) WO2013059015A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
WO2010080911A1 (en) 2009-01-07 2010-07-15 Divx, Inc. Singular, collective and automated creation of a media guide for online content
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
WO2013082750A1 (zh) * 2011-12-06 2013-06-13 华为技术有限公司 实时转码方法及设备
KR101984825B1 (ko) * 2012-10-05 2019-05-31 삼성전자주식회사 Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9313510B2 (en) * 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10313675B1 (en) 2015-01-30 2019-06-04 Google Llc Adaptive multi-pass video encoder control
US9860535B2 (en) * 2015-05-20 2018-01-02 Integrated Device Technology, Inc. Method for time-dependent visual quality encoding for broadcast services
US11076153B2 (en) * 2015-07-31 2021-07-27 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
CN106856571B (zh) * 2015-12-09 2019-12-06 阿里巴巴集团控股有限公司 一种转码方法及装置
US10834406B2 (en) 2016-12-12 2020-11-10 Netflix, Inc. Device-consistent techniques for predicting absolute perceptual video quality
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN109151481B (zh) * 2017-06-28 2022-03-15 腾讯科技(深圳)有限公司 图片的传输和接收的方法、装置、系统、设备和介质
CN108063944B (zh) * 2017-12-14 2021-07-13 西北工业大学 一种基于视觉显著性的感知码率控制方法
TW201942870A (zh) 2018-04-03 2019-11-01 香港商科科串流股份有限公司 位元率優化系統及方法
US10616590B1 (en) * 2018-05-16 2020-04-07 Amazon Technologies, Inc. Optimizing streaming video encoding profiles
US20190373040A1 (en) * 2018-05-30 2019-12-05 Infiniscene, Inc. Systems and methods game streaming
CN112468816B (zh) * 2019-09-06 2022-07-19 上海哔哩哔哩科技有限公司 固定码率系数预测模型建立及视频编码的方法
US10897654B1 (en) 2019-09-30 2021-01-19 Amazon Technologies, Inc. Content delivery of live streams with event-adaptive encoding
CN111193924B (zh) * 2019-12-26 2022-01-25 腾讯科技(深圳)有限公司 视频码率的确定方法、装置、计算机设备及存储介质
US10958947B1 (en) 2020-03-12 2021-03-23 Amazon Technologies, Inc. Content delivery of live streams with playback-conditions-adaptive encoding
CN112422967B (zh) * 2020-09-24 2024-01-19 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
US11902599B2 (en) * 2020-12-09 2024-02-13 Hulu, LLC Multiple protocol prediction and in-session adaptation in video streaming
US11729438B1 (en) * 2021-01-28 2023-08-15 Amazon Technologies, Inc. Optimizing streaming video encoding profiles
US11700376B1 (en) 2021-09-28 2023-07-11 Amazon Technologies, Inc. Optimizing and assigning video encoding ladders
CN116132717A (zh) * 2021-11-12 2023-05-16 中兴通讯股份有限公司 入向码流码率获取方法、收流处理方法、电子设备、介质
CN117596425A (zh) * 2023-10-24 2024-02-23 书行科技(北京)有限公司 编码帧率的确定方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
JP2001145102A (ja) * 1999-11-17 2001-05-25 Media Glue Corp 動画像圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data
EP2369842B1 (en) * 2000-03-13 2015-08-19 Sony Corporation Supplying, generating, converting and reading video content
US6628300B2 (en) * 2001-11-30 2003-09-30 International Business Machines Corporation Transcoding proxy and method for transcoding encoded streams
US6700935B2 (en) 2002-02-08 2004-03-02 Sony Electronics, Inc. Stream based bitrate transcoder for MPEG coded video
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
EP1615447B1 (en) 2004-07-09 2016-03-09 STMicroelectronics Srl Method and system for delivery of coded information streams, related network and computer program product therefor
TWI301953B (en) 2005-03-14 2008-10-11 Qisda Corp Methods and apparatuses for video encoding
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8213498B2 (en) 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
JP4790669B2 (ja) * 2007-07-05 2011-10-12 株式会社メガチップス トランスコーダ
US20100118982A1 (en) 2008-10-24 2010-05-13 Chanchal Chatterjee Method and apparatus for transrating compressed digital video
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8588296B2 (en) 2009-07-02 2013-11-19 Dialogic Corporation Bitrate control algorithm for video transcoding systems

Also Published As

Publication number Publication date
EP2769552A1 (en) 2014-08-27
EP2769552A4 (en) 2015-06-17
CN103999471A (zh) 2014-08-20
US9225983B2 (en) 2015-12-29
JP6019189B2 (ja) 2016-11-02
JP2015222997A (ja) 2015-12-10
JP2014530587A (ja) 2014-11-17
WO2013059015A1 (en) 2013-04-25
CN103999471B (zh) 2016-06-15
CN105847807A (zh) 2016-08-10
US20150036740A1 (en) 2015-02-05
US8885702B2 (en) 2014-11-11
CN105847807B (zh) 2019-05-28
US20130094565A1 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
JP6019189B2 (ja) ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化
US8934538B2 (en) Rate-distortion-complexity optimization of video encoding
KR101744654B1 (ko) 모션 기반 동적 해상도 다중 비트 레이트 비디오 인코딩
US10645449B2 (en) Method and apparatus of content-based self-adaptive video transcoding
US8290038B1 (en) Video coding complexity estimation
CN111405315B (zh) 用于编码和交付视频内容的分布式体系结构
US9615098B1 (en) Adaptive resolution transcoding for optimal visual quality
US20160156948A1 (en) Adaptive Video Transcoding Based on Parallel Chunked Log Analysis
AU2016250476A1 (en) Adaptive bit rate control based on scenes
WO2007143271A2 (en) Scalable rate control system for a video encoder
JP2005525011A (ja) ユーティリティ関数記述にもとづく最適なビデオ・トランスコーディング用の方法及びシステム
CN102714725A (zh) 用于多层视频编码应用的高性能码率控制
US20090074075A1 (en) Efficient real-time rate control for video compression processes
CN104125460A (zh) 用于控制视频比特率的方法和设备
Wu et al. Adaptive initial quantization parameter determination for H. 264/AVC video transcoding
RU2587412C2 (ru) Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования
US11582462B1 (en) Constraint-modified selection of video encoding configurations
KR20040097028A (ko) 다차원 비트율 조절에 따른 비디오 트랜스코딩 방법 및 그장치
CN117714729A (zh) 直播视频编码方法、装置、计算机设备及存储介质
KR20060101899A (ko) 엠펙비디오 인코더의 인트라 프레임 양자화 시스템 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141225

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150717

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: 20150811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150909

R150 Certificate of patent or registration of utility model

Ref document number: 5808868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

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