(57)【特許請求の範囲】
【請求項１】
入力ビデオの符号化の最適化を行うためのコンピュータ・システムであって、
コンピュータ・プログラム命令を実行するためのコンピュータ・プロセッサと、
コンピュータ・プログラム命令を記憶する非一時的なコンピュータ可読記憶媒体と、を備え、該コンピュータ・プログラム命令は、
前記入力ビデオの全体ビデオ記述長（ＶＤＬ）、時間ＶＤＬ、および空間ＶＤＬを取得し、
前記入力ビデオの前記全体ＶＤＬ、前記時間ＶＤＬ、および前記空間ＶＤＬを、対応する基準全体ＶＤＬ、基準時間ＶＤＬ、および基準空間ＶＤＬと比較し、
前記比較に基づいて、前記入力ビデオを符号化するビットレートと、前記入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性とを調整するように実行可能であり、
前記入力ビデオの全体ＶＤＬは前記入力ビデオの全体的なコンテンツ複雑性を示し、前記入力ビデオの時間ＶＤＬは前記入力ビデオの時間的な符号化複雑性を示し、前記入力ビデオの空間ＶＤＬは前記入力ビデオの空間的な符号化複雑性を示す、システム。
【請求項２】
前記入力ビデオの前記全体ＶＤＬが、所定の固定レート因子と計算複雑性レベルとにより符号化された前記入力ビデオの実際のビットレートによって表される、請求項１に記載のシステム。
【請求項３】
前記入力ビデオの前記時間ＶＤＬが、所定の固定レート因子と計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートと、同じ所定の固定レート因子と異なる計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートとの間の差によって表される、請求項１に記載のシステム。
【請求項４】
前記入力ビデオの前記空間ＶＤＬが、所定の固定レート因子と計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートと、異なる所定の固定レート因子と同じ計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートとの間の差によって表される、請求項１に記載のシステム。
【請求項５】
前記基準全体ＶＤＬ、前記基準時間ＶＤＬ、および前記基準空間ＶＤＬが、動的な複雑性の参照テーブルまたは静的な複雑性の参照テーブルの少なくとも１つの行に由来する請求項１に記載のシステム。
【請求項６】
前記入力ビデオの調整された符号化ビットレート、前記全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化するための命令をさらに含む、請求項１に記載のシステム。
【請求項７】
前記入力ビデオに関連する目標のビットレートに基づいて固定レート因子（ＣＲＦ）基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化し、
前記ＣＲＦによる前記入力ビデオの符号化から改訂因子を計算し、
前記改訂因子によって前記ＣＲＦ基準ビットレート・モデルを修正し、
修正されたＣＲＦ基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化するための命令をさらに含む、請求項６に記載のシステム。
【請求項８】
前記ＣＲＦ基準ビットレート・モデルが、複数のビデオに対するビデオ符号化の前記固定レート因子とレート−歪みの性能との間の関係をモデル化し、ビデオ符号化の前記レート−歪みの性能は、前記複数のビデオの符号化の平均ビットレートによって表され、
前記システムは、前記モデル化からビデオ符号化の固定レート因子と平均ビットレートとの間の１つまたは複数の関係を得るための命令をさらに含む、請求項７に記載のシステム。
【請求項９】
入力ビデオの符号化の最適化を行うための方法であって、
前記入力ビデオの全体ビデオ記述長（ＶＤＬ）、時間ＶＤＬ、および空間ＶＤＬを取得する工程であって、前記入力ビデオの全体ＶＤＬは前記入力ビデオの全体的なコンテンツ複雑性を示し、前記入力ビデオの時間ＶＤＬは前記入力ビデオの時間的な符号化複雑性を示し、前記入力ビデオの空間ＶＤＬは前記入力ビデオの空間的な符号化複雑性を示す、工程と、
前記入力ビデオの前記全体ＶＤＬ、前記時間ＶＤＬ、および前記空間ＶＤＬを、対応する基準全体ＶＤＬ、基準時間ＶＤＬ、および基準空間ＶＤＬと比較する工程と、
前記比較に基づいて、前記入力ビデオを符号化するビットレートと、前記入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性とを調整する工程と、を備える方法。
【請求項１０】
前記入力ビデオの前記全体ＶＤＬが、所定の固定レート因子と計算複雑性レベルとにより符号化された前記入力ビデオの実際のビットレートによって表される、請求項９に記載の方法。
【請求項１１】
前記入力ビデオの前記時間ＶＤＬが、所定の固定レート因子と計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートと、同じ所定の固定レート因子と異なる計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートとの間の差によって表される、請求項９に記載の方法。
【請求項１２】
前記入力ビデオの前記空間ＶＤＬが、所定の固定レート因子と計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートと、異なる所定の固定レート因子と同じ計算複雑性レベルとによって符号化された前記入力ビデオの実際のビットレートとの間の差によって表される、請求項９に記載の方法。
【請求項１３】
前記基準全体ＶＤＬ、前記基準時間ＶＤＬ、および前記基準空間ＶＤＬが、動的な複雑性の参照テーブルまたは静的な複雑性の参照テーブルの少なくとも１つの行に由来する請求項９に記載の方法。
【請求項１４】
前記入力ビデオの調整された符号化ビットレート、前記全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化する工程をさらに備える、請求項９に記載の方法。
【請求項１５】
前記入力ビデオを符号化する工程は、
前記入力ビデオに関連する目標のビットレートに基づいて固定レート因子（ＣＲＦ）基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化することと、
前記ＣＲＦによる前記入力ビデオの符号化から改訂因子を計算することと、
前記改訂因子によって前記ＣＲＦ基準ビットレート・モデルを修正することと、
修正されたＣＲＦ基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化することとを含む、請求項１４に記載の方法。
【請求項１６】
前記ＣＲＦ基準ビットレート・モデルが、複数のビデオに対するビデオ符号化の前記固定レート因子とレート−歪みの性能との間の関係をモデル化し、ビデオ符号化の前記レート−歪みの性能は、前記複数のビデオの符号化の平均ビットレートによって表され、
前記方法は、前記モデル化からビデオ符号化の固定レート因子と平均ビットレートとの間の１つまたは複数の関係を得る工程をさらに備える、請求項１５に記載の方法。
【請求項１７】
入力ビデオの符号化の最適化を行うための実行可能なコンピュータ・プログラム命令が記録されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ・プログラム命令が、
前記入力ビデオの全体ビデオ記述長（ＶＤＬ）、時間ＶＤＬ、および空間ＶＤＬを取得するための命令と、
前記入力ビデオの前記全体ＶＤＬ、前記時間ＶＤＬ、および前記空間ＶＤＬを、対応する基準全体ＶＤＬ、基準時間ＶＤＬ、および基準空間ＶＤＬと比較するための命令と、
前記比較に基づいて、前記入力ビデオを符号化するビットレートと、前記入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性とを調整するための命令と、を含み、
前記入力ビデオの全体ＶＤＬは前記入力ビデオの全体的なコンテンツ複雑性を示し、前記入力ビデオの時間ＶＤＬは前記入力ビデオの時間的な符号化複雑性を示し、前記入力ビデオの空間ＶＤＬは前記入力ビデオの空間的な符号化複雑性を示す、媒体。
【請求項１８】
前記入力ビデオの調整された符号化ビットレート、前記全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化するための命令をさらに含む、請求項１７に記載の媒体。
【請求項１９】
前記入力ビデオの調整された符号化ビットレート、前記全体符号化複雑性、前記時間符号化複雑性、および前記空間符号化複雑性によって前記入力ビデオを符号化するための前記命令は、
前記入力ビデオに関連する目標のビットレートに基づいて固定レート因子（ＣＲＦ）基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化するための命令と、
前記ＣＲＦによる前記入力ビデオの符号化から改訂因子を計算するための命令と、
前記改訂因子によって前記ＣＲＦ基準ビットレート・モデルを修正するための命令と、
修正されたＣＲＦ基準ビットレート・モデルから得られたＣＲＦによって前記入力ビデオを符号化するための命令と、を含む請求項１８に記載の媒体。
【請求項２０】
複数のビデオに対するビデオ符号化の前記固定レート因子とレート−歪みの性能との間の関係をモデル化するための命令であって、ビデオ符号化の前記レート−歪みの性能は、前記複数のビデオの符号化の平均ビットレートによって表される、命令と、
前記モデル化からビデオ符号化の固定レート因子と平均ビットレートとの間の１つまたは複数の関係を得るための命令とをさらに含む、請求項１９に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ビデオ・ホスト・システムに関し、より詳細には、符号化の時間およびビットレートの制約の下で最適化された視覚的品質でビデオをコード変換するためのビデオ符号化システムに関する。
【背景技術】
【０００２】
ＹＯＵＴＵＢＥ（登録商標）などのビデオ・ホスティング・サービスは、ユーザがビデオを投稿することを可能にする。ほとんどのビデオ・ホスティング・サービスは、元のソース・ビデオをそのソース・ビデオのネイティブの符号化フォーマット（例えば、ＭＯＶ）から１つまたは複数の出力フォーマット（例えば、ＡＤＯＢＥ  ＦＬＡＳＨまたはＷＩＮＤＯＷＳ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏ（ＷＭＶ））にコード変換する。コード変換は、ネイティブのフォーマットの映像コーデックを使用してソース・ビデオをネイティブのフォーマットから符号化されていない表現に復号することと、次いで、符号化されていない表現を出力フォーマットの映像コーデックによって符号化することとを含む。コード変換は、ストレージの必要量を削減し、さらに、ビデオをクライアントに提供するための帯域幅の必要量を削減するために使用される可能性がある。
【０００３】
非常に多くのビデオを有するビデオ・ホスティング・サービスのためのビデオ符号化システムを設計する際の１つの課題は、許容できる視覚的品質および適度な計算コストでビデオをコード変換し、記憶することである。特に問題なのは、ソース・ビデオの最適化されたレート−歪み（Ｒ−Ｄ：ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ）および計算時間を達成するために符号化ビットおよび計算を効率的に割り当てることである。概して、目標の解像度およびフレーム・レートが与えられると、ビデオの視覚的品質は、レート制御アルゴリズムを使用して計算されるそのビデオの符号化ビットレートによって決定される。これまでのビデオ符号化システムは、１パスおよびマルチパスの平均ビットレート符号化（ＡＢＲ：Ａｖｅｒａｇｅ  Ｂｉｔｒａｔｅ  Ｅｎｃｏｄｉｎｇ）、固定ビットレート符号化（ＣＢＲ：Ｃｏｎｓｔａｎｔ  Ｂｉｔｒａｔｅ  Ｅｎｃｏｄｉｎｇ）、固定量子化因子符号化（ＣＱＰ：Ｃｏｎｓｔａｎｔ  Ｑｕａｎｔｉｚｅｒ  Ｅｎｃｏｄｉｎｇ）、および固定レート因子符号化（ＣＲＦ：Ｃｏｎｓｔａｎｔ  Ｒａｔｅ  Ｆａｃｔｏｒ  Ｅｎｃｏｄｉｎｇ）を含め、ソース・ビデオの最適化されたレート−歪みを得るためのさまざまな符号化ストラテジを用いる。
【０００４】
これまでの符号化ストラテジは、ビデオに関連するビットレートの制約を満たしながら一定の視覚的品質を有する符号化されたビデオを提供することができず、ビットレート、歪み、および複雑性を一緒に最適化しない。例えば、ＡＢＲ符号化ストラテジは、目標のビットレートを実現し、ネットワーク帯域幅の制約を満たすためにスケーリング因子、ならびに長期および短期の補償を使用する。しかし、ＡＢＲ符号化の視覚的品質は、ビデオのシーンが代わるときに揺らぐ可能性がある。ＣＢＲ符号化ストラテジは、固定のサイズのストレージ・バッファによって制御される、固定ビットレートのリアルタイム・ストリーミング用に設計されている。ＣＢＲは、上述のこれまでの符号化ストラテジの中で符号加速度が最も速いが、Ｒ−Ｄ性能は最も低い。ＣＱＰ符号化ストラテジは、固定の量子化因子を保有し、あらゆるフレームを同じ量子化パラメータ（ＱＰ）を使用して圧縮する。ＣＱＰは、特に、シーンの変化が激しいビデオに対して大きな量子化因子を使用するとき、符号化されるビデオの時間的な知覚の揺らぎを生じる可能性がある。ＣＲＦ符号化ストラテジは、固定レート因子を用いて一定の視覚的品質を実現することを狙っている。ＣＲＦは、名目的な量子化因子（ｎｏｍｉｎａｌ  ｑｕａｎｔｉｚｅｒ）を用いてビデオを符号化するが、シーンが多くの動作および動きを有するときはＱＰを大きくし、その逆も同様である。ＣＲＦ符号化の欠点は、ビデオの内容（ビデオコンテンツ）の変動するシーンが原因で出力ビデオ・ファイルのサイズが予測できないことである。したがって、ネットワークまたはストレージ・システムの必要とされるビットレートの制約を満たすように適切な固定レート因子の値を選択することが難しい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
方法、システム、およびコンピュータ・プログラム製品が、ビデオ・ホスティング・サービスのための、ビデオ記述長によって導かれる、一定品質で、ビットレートの制約があるビデオの最適化されたコード変換を提供する。
【課題を解決するための手段】
【０００６】
１実施形態において、方法は、入力ビデオに関して、全体的な複雑性、時間的な複雑性、および空間的な複雑性の測定値を取得し、全体的な複雑性、時間的な複雑性、および空間的な複雑性の測定値を基準の複雑性、時間的な複雑性、および空間的な複雑性の測定値と比較する。入力ビデオの（全体的な、時間的な、および空間的な）複雑性の測定値は、入力ビデオの特定のビデオ記述長（ＶＤＬ）によって表される。ＶＤＬは、特定の視覚的品質でビデオを符号化するために必要とされるビットレートである。全体ＶＤＬ（ｏｖｅｒａｌｌ  ＶＤＬ）は、入力ビデオの全体的なコンテンツ複雑性を示す。入力ビデオの時間ＶＤＬ（ｔｅｍｐｏｒａｌ  ＶＤＬ）は、ビデオの時間的な複雑性を反映する。入力ビデオの空間ＶＤＬ（ｓｐａｔｉａｌ  ＶＤＬ）は、ビデオの空間的な複雑性を反映する。比較に基づいて、方法は、入力ビデオの全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性を調整し、入力ビデオの調整された全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性によって入力ビデオを符号化する。
【０００７】
入力ビデオの調整された全体符号化複雑性、時間符号化複雑性、および空間符号化複雑性によって入力ビデオを符号化することは、訓練されたＣＲＦ基準ビットレート・モデル（ＣＲＦ  ｒｅｆｅｒｅｎｃｅ  ｂｉｔｒａｔｅ  ｍｏｄｅｌ）および改訂されたＣＲＦビットレート・モデルを使用することによってさらに改良される。ＣＲＦ基準ビットレート・モデルは、ＣＲＦ符号化のＣＲＦ値と平均ビットレートとの間の関係をモデル化するためにビデオの大規模なコーパスで訓練される。改訂されたＣＲＦビットレート・モデルは、最適化しながら入力ビデオを符号化するために適合される。
【０００８】
別の実施形態は、入力ビデオの符号化ビットレート、歪み、および複雑性を最適化するためのビデオ記述長モジュールおよびコード変換モジュールからなるコンピュータ・システムを含む。さらなる実施形態は、上述のようにして画像を圧縮するための実行可能なコンピュータ・プログラム命令を記憶する非一時的コンピュータ可読媒体を含む。
【０００９】
本明細書において説明される特徴および利点は、すべてを包含している訳ではなく、特に、多くの追加の特徴および利点が、図面、明細書、および特許請求の範囲に照らして当業者に明らかになる。さらに、本明細書において使用される言い回しは、主として、読み易くし、教示を与えることを目的として選択されており、開示される対象を正確に説明するか、または厳密に定めるように選択されていない可能性があることに留意されたい。
【図面の簡単な説明】
【００１０】
【図１】レート−歪み−複雑性（ＲＤＣ）の最適化を用いるビデオ符号化システムを有するビデオ・ホスティング・サービスのシステムの図を示すブロック図。
【図２】ＲＤＣ最適化を用いる、ビットレートの制約の下での、ビデオ記述長に導かれる一定品質のビデオ符号化ストラテジを示すフロー図。
【図３】ＲＤＣ最適化を用いる、ビットレートの制約の下での、入力ビデオのビデオ記述長に導かれる一定品質のビデオ符号化の流れ図。
【図４】ビットレートの制約の下でのマルチパスの一定品質のビデオ符号化ストラテジの符号化工程の流れ図。
【図５】例示的なビデオに関する改訂されたＣＲＦビットレート・モデルの調整因子、目標のビットレート、実際のビットレートの例示的なデータを示す図。
【図６】ＲＤＣ最適化のために符号化計算プロファイル（ＥＣＰ：ｅｎｃｏｄｉｎｇ  ｃｏｍｐｕｔａｔｉｏｎ  ｐｒｏｆｉｌｅ）マッピング・モジュールをオフラインで訓練する流れ図。
【図７】ＣＲＦ基準ビットレート・モデルの訓練に関する、固定レート因子（ＣＲＦ）および空間解像度（ｓｐａｔｉａｌ  ｒｅｓｏｌｕｔｉｏｎ）に対する平均ビットレートの例示的なデータを示す図。
【発明を実施するための形態】
【００１１】
図面は、本発明のさまざまな実施形態を例示のみを目的として示し、本発明は、これらの例示された実施形態に限定されない。当業者は、以下の検討から、本明細書において例示される構造および方法の代替的な実施形態が本明細書において説明される本発明の原理を逸脱することなく使用される可能性があることをすぐに認識するであろう。
【００１２】
Ｉ．システムの概要
図１は、レート−歪み−複雑性（ＲＤＣ）に基づくビデオ符号化システム１０２を有するビデオ・ホスティング・サービス１００のシステムの図を示すブロック図である。複数のユーザ／視聴者が、クライアント１１０Ａ〜Ｎを使用して、ビデオ・ホスティング・ウェブサイトにビデオをアップロードするなど、ビデオ・ホスティング・サービス１００にビデオ・ホスティングの要求を送信し、要求されたサービスをビデオ・ホスティング・サービス１００から受け取る。ビデオ・ホスティング・サービス１００は、ネットワーク１３０を介して１つまたは複数のクライアント１００Ａ〜Ｎと通信する。ビデオ・ホスティング・サービス１００は、クライアント１００Ａ〜Ｎからビデオ・ホスティング・サービスの要求を受信し、ＲＤＣに基づくビデオ符号化システム１０２によってソース・ビデオをコード変換し、コード変換されたビデオをクライアント１１０Ａ〜Ｎに返す。ビデオ・ホスティング・サービス１００は、クラウド・コンピューティング・ネットワーク内に存在する可能性がある。
【００１３】
図１に示された個々のエンティティに目を向けると、各クライアント１１０は、ビデオ・ホスティング・サービスを要求するためにユーザによって使用される。例えば、ユーザは、クライアント１１０を使用して、共有するためのビデオをアップロードする要求、またはビデオを再生する要求を送信する。クライアント１１０は、パーソナル・コンピュータ（例えば、デスクトップ、ノートブック、ラップトップ）コンピュータなどの任意の種類のコンピュータ・デバイス、および携帯電話、携帯情報端末、ＩＰ対応ビデオ・プレーヤーなどのデバイスである可能性がある。クライアント１１０は、概して、プロセッサと、ディスプレイ・デバイス（またはディスプレイ・デバイスへの出力）と、タスクを実行する際にユーザによって使用されるデータをクライアント１１０が記憶するハード・ドライバまたはフラッシュ・メモリ・デバイスなどのローカル・ストレージと、ネットワーク１３０を介してビデオ・ホスティング・サービス１００に接続するためのネットワーク・インターフェースとを含む。
【００１４】
クライアント１１０は、ビデオ・ストリームを再生するためのビデオ・プレーヤー１２０（例えば、アドビ・システムズ・インコーポレイティッド社（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ，Ｉｎｃ）のＦｌａｓｈ（商標）プレーヤーなど）も有する。ビデオ・プレーヤー１２０は、スタンドアロンのアプリケーションであるか、またはネットワーク・ブラウザなどの別のアプリケーションのプラグインである可能性がある。プレーヤー１２０は、ハードウェア、またはハードウェアとソフトウェアとの組み合わせで実装される可能性がある。これらの実装のすべては、本発明に関しては機能的に等価である。プレーヤー１２０は、ビデオ・フィードを選択し、ビデオ・フィードを開始し、停止し、巻き戻すためのユーザ・インターフェース・コントロール（および対応するアプリケーション・プログラミング・インターフェース）を含む。また、プレーヤー１２０は、そのプレーヤー１２０のユーザ・インターフェースに、どのビデオ・ディスプレイ・フォーマットか（例えば、標準画質ＴＶまたは高精細度ＴＶ）を示すように構成されたビデオ・ディスプレイ・フォーマット選択を含み可能性がある。その他の種類のユーザ・インターフェース・コントロール（例えば、ボタン、キーボード・コントロール）も、プレーヤー１２０の再生およびビデオ・フォーマット選択機能を制御するために使用される可能性がある。
【００１５】
ネットワーク１３０は、クライアント１１０とビデオ・ホスティング・サービス１００との間の通信を可能にする。１実施形態において、ネットワーク１３０は、インターネットであり、クライアント１１０がビデオ・ホスティング・サービス１００と通信することを可能にする、現在知られているか、または今後開発される標準化された網間接続通信技術を使用する。
【００１６】
ビデオ・ホスティング・サービス１００は、ＲＤＣに基づくビデオ符号化システム１０２、ビデオ・サーバ１０４、収集サーバ（ｉｎｇｅｓｔ  ｓｅｒｖｅｒ）１０６、およびビデオ・データベース１０８を含む。収集サーバ１０６は、ユーザがアップロードしたビデオを受信し、ビデオをビデオ・データベース１０８に記憶する。ビデオ・サーバ１０４は、ユーザのビデオ・ホスティング・サービスの要求に応答してビデオ・データベース１０８からビデオを提供する。ビデオ・データベース１０８は、ユーザがアップロードしたビデオ、およびＲＤＣに基づくビデオ符号化システム１０２によってコード変換されたビデオを記憶する。１実施形態において、ビデオ・データベース１０８は、ＲＤＣに基づくビデオ符号化システム１０２がレート−歪み−複雑性の最適化モデルを訓練するための大規模なビデオ・コーパス（例えば、２０，０００本のユーザがアップロードしたビデオ）を記憶する。
【００１７】
ＲＤＣに基づくビデオ符号化システム１０２は、ＲＤＣ訓練モジュール２００およびＲＤＣに基づくビデオ・コード変換モジュール４００を含む。ＲＤＣ訓練モジュール２００は、ビデオ・データベース１０８に記憶されたビデオからオフラインで固定レート因子（ＣＲＦ）ビットレート・モデルおよび符号化計算プロファイル（ＥＣＰ）マッピング・モジュールを訓練する。以下でさらに説明されるように、ＲＤＣに基づくビデオ・コード変換モジュール４００は、所与のソース・ビデオを、ＲＤＣ最適化によるビットレートの制約の下で、ビデオ記述長（ＶＤＬ）に導かれる一定品質のビデオ符号化ストラテジを用いてコード変換する。ＲＤＣ最適化は、ＣＲＦビットレート・モデルおよびＥＣＰマッピング・モジュールによってパレート最適集合を用いてそれぞれの符号化の複雑性のレベルに関してＲＤＣ最適な符号化ストラテジを見つけることによって実現される。有益な結果として、ソース・ビデオが、ソース・ビデオの目標の出力ビデオ・フォーマットに関連するビットレートの制約の下で最適化された視覚的品質を有する出力ビデオにコード変換される。
【００１８】
ビデオ・ホスティング・サービス１００のシステムの動作をさらに示すために、図２は、ビデオ・ホスティング・サービス１００内のＲＤＣに基づくビデオ符号化システム１０２のフロー図である。ユーザは、ソース・ビデオ１５０をアップロードするためにビデオ・ホスティング・サービス１００に要求を送信する。ＲＤＣに基づくビデオ符号化システム１０２は、ソース・ビデオ１５０をそのソース・ビデオ１５０のネイティブのフォーマットで受信し、ソース・ビデオ１５０をＲＤＣに基づくビデオ・コード変換モジュール４００によって処理する。そのネイティブのフォーマットのソース・ビデオ１５０は、例えば、フレーム・レート、空間解像度、およびビットレートを含む複数のビデオ符号化パラメータおよびビデオ・ソース情報を有する。
【００１９】
ソース・ビデオ１５０は、さらに、ビデオ・データベース（例えば、図１のビデオ・データベース１０８）に記憶される可能性があり、ビデオ・データベースに記憶されたビデオ・コーパス１６０の一部になる。ビデオ・コーパス１６０は、ＲＤＣ訓練モジュール２００によって処理される。１実施形態において、ＲＤＣ訓練モジュール２００は、ビデオ・エンコーダ２１０、ＣＲＦ基準ビットレート・モデル２２０、およびＥＣＰマッピング・モジュール２３０を含む。ＲＤＣ訓練モジュール２００は、ＣＲＦ符号化を使用してビデオ・コーパス１６０内のビデオを符号化し、オフラインで、ビデオ・コーパス１６０でＣＲＦ基準ビットレート・モデル２２０およびＥＣＰマッピング・モジュール２３０を訓練する。ＣＲＦ基準ビットレート・モデル２２０は、ＣＲＦ符号化の固定レート因子とビットレートとの間の関係をモデル化する。ＥＣＰマッピング・モジュール２３０は、ＣＲＦ符号化の計算複雑性レベルを符号化計算プロファイルおよび符号化パスの数にマッピングする。
【００２０】
ＲＤＣに基づくビデオ・コード変換モジュール４００は、ＲＤＣ訓練モジュール２００のＣＲＦ基準ビットレート・モデル２２０およびＥＣＰモジュール２３０によって導かれながらソース・ビデオ１５０をコード変換する。１実施形態において、ＲＤＣに基づくビデオ・コード変換モジュール４００は、改訂されたＣＲＦビットレート・モデル４１０、ビデオ記述長モジュール４２０、およびＲＤＣに基づくトランスコーダ４３０を含む。改訂されたＣＲＦビットレート・モデル４１０は、固定レート因子と、ソース・ビデオ１５０を符号化するための実際のビットレートとの間の関係を記述する。改訂されたＣＲＦビットレート・モデル４１０は、入力ビデオを符号化するためにＣＲＦ基準ビットレート・モデル２２０に基づいて改訂される。ビデオ記述長モデル４２０は、ソース・ビデオ１５０の符号化の全体的な、時間的な、および空間的な中身の複雑性を含む計算の複雑性を記述する。ＲＤＣに基づくビデオ・コード変換モジュール４００は、固定レート因子と実際のビットレートとの間の関係、およびソース・ビデオ１５０のビデオ記述長によって示される計算の複雑性に基づいてソース・ビデオ１５０をコード変換する。
【００２１】
ＩＩ．ビデオのビットレート−品質の関係をモデル化する：ＣＲＦ基準ビットレート・モデル
ＣＲＦ符号化ストラテジは、固定レート因子を用いてビデオの符号化の一定の視覚的品質を実現することを狙っている。概して、ビデオのために選択されたＣＲＦは、１符号化パスでビデオを符号化するための所望の視覚的品質のレベルを示す。ビデオを符号化するための大きなＣＲＦ値は、大きな量子化パラメータ（「ＱＰ」）、高い圧縮比、およびひいては低い視覚的品質をもたらす。小さなＣＲＦは、小さなＱＰ、低い圧縮比、およびひいては高い視覚的品質をもたらす。ＣＲＦ値ゼロは、可逆圧縮、およびひいては最高の視覚的品質を意味する。ＣＲＦ符号化は、ビデオ・フレームにおける動きの量にしたがってＱＰを動的に調整することによってビデオの異なるフレームを異なるように圧縮する。
【００２２】
ＣＲＦ符号化を使用するビデオ圧縮の性能は、ＣＲＦ基準ビットレート・モデル（例えば、図２のＣＲＦ基準ビットレート・モデル２２０）によってモデル化される可能性があり、ビデオ圧縮の品質が、好適なＣＲＦ値によって示される可能性がある。訓練されたＣＲＦ基準ビットレート・モデルを使用して、ＲＤＣに基づくビデオ符号化システム１０２は、ソース・ビデオの符号化で使用される実際のビットレートがソース・ビデオの目標の出力ビデオ・フォーマットに関連する目標のビットレートに近くなることを可能にするソース・ビデオのための適切なＣＲＦ値を選択する。さらに、訓練されたＣＲＦ基準ビットレート・モデルは、ＣＲＦ符号化ストラテジを用いてビデオを符号化するためにどれぐらいの平均ビットレートが必要とされるかに関するインジケーションを与える。訓練されたＣＲＦ基準ビットレートから得られたＣＲＦを用いてソース・ビデオを符号化するための実際のビットレートは、ソース・ビデオの目標の出力ビデオ・フォーマットに関連するビットレートの制約の範囲内で一定の視覚的品質を実現するために、所与のソース・ビデオを符号化するときにＣＲＦビットレート・モデルを改訂するために使用される可能性がある。
【００２３】
例として図２のＲＤＣ訓練モジュール２００を使用すると、ＲＤＣ訓練モジュール２００は、ビデオ・コーパス１６０内のビデオでＣＲＦ基準ビットレート・モデル２２０を訓練する。ビデオ・コーパス１６０は、複数の空間解像度、フレーム・レート、およびビットレートの多数の複数シーンのビデオ・シーケンスを記憶する。ＲＤＣ訓練モジュール２００のビデオ・エンコーダ２１０は、ビデオ・コーパス１６０から選択されたそれぞれのビデオを、ＣＲＦ符号化を用いて予め選択されたＣＲＦ値で符号化し、符号化から実際のビットレートを得る。当業者に知られている任意の既存のビデオ符号化方式が、ビデオを符号化するためにビデオ・エンコーダ２１０によって使用される可能性がある。１実施形態において、ビデオ・エンコーダ２１０は、選択されたビデオをＨ．２６４／ＭＰＥＧ−４  ＡＶＣフォーマットに符号化するｘ．２６４ビデオ・エンコーダである。ビデオ・エンコーダ２１０のその他の実施形態は、ＶＰ８エンコーダまたはその他の利用可能なビデオ・エンコーダを使用する可能性がある。
【００２４】
ＣＲＦ基準ビットレート・モデル２２０は、ビデオ・コーパス１６０内のビデオの符号化による（ｃｒｆ、ビットレート）のペアを訓練サンプルとして使用して、ＣＲＦ符号化のＣＲＦとビットレートとの間の関係をモデル化する。ビデオ・コーパスのビデオのＣＲＦと平均ビットレートとの間の関係は、ビデオの空間解像度、時間解像度（ｔｅｍｐｏｒａｌ  ｒｅｓｏｌｕｔｉｏｎ）、およびｘ．２６４ＣＲＦ符号化では初期設定で決まっている符号化アルゴリズムに依存する。平均ビットレートと、空間解像度、時間解像度、およびＣＲＦとの間の関係は、以下のように記述される。
【００２５】
Ｂ＝ｆ（ｃｒｆ，Ｍ，Ｔ）      （１）
ここで、Ｂは、平均ビットレート、Ｍは、ビデオのフレームの輝度成分（ｌｕｍｉｎａｎｃｅ  ｃｏｍｐｏｎｅｎｔ）の画素数、すなわち、空間解像であり、Ｔは、１秒あたりのフレーム数、すなわち、時間解像度である。パラメータｃｒｆ、Ｍ、およびＴは互いにほぼ独立であるので、式（１）に示された平均ビットレート、以下のように表される可能性がある。
【００２６】
Ｂ＝ｆ１（ｃｒｆ）×ｆ２（Ｍ）×ｆ３（Ｔ）      （２）
ＣＲＦ基準ビットレート・モデル２２０は、当てはまるサンプルを、最小自乗法によって発見される４つ組み（ｃｒｆ，Ｍ，Ｔ，Ｂ）として表す。
【００２７】
単一シーンおよび複数シーンのビデオを符号化するビデオ符号化の平均の性能に関して、ＣＲＦ基準ビットレート・モデル２２０は、ビデオの符号化による結果として得られるビットレートをビデオのシーン数によって重み付けし、ビットレートを、以下のように、選択された数の訓練ビデオのシーンの総数によって正規化する。
【００２８】
【数１】
0006019189.tif 000002
ここで、Ｂは、平均ビットレートであり、Ｂｉは、第ｉのビデオを符号化する実際のビットレートであり、Ｓｉは、第ｉのビデオのシーン数である。モデルの残差は、ｒｉ＝Ｂｉ−ｆ（ｃｒｆｉ，Ｍｉ，Ｔｉ）である。ＣＲＦ基準ビットレート・モデル２２０の適合性は、以下のように、二乗誤差の総和（ＳＳＥ：Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）および平均二乗誤差の根（Ｒｏｏｔ  ｏｆ  Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）によって評価される。
【００２９】
【数２】
0006019189.tif 000003
ｒｉは、残差であり、ｎは、当てはめるサンプルの数である。
【００３０】
概して、時間解像度は、フレーム／秒（ｆｐｓ）を単位とするフレーム・レートによって評価される。ＣＲＦ基準ビットレート・モデル２２０に対する時間解像度の影響を調べるために、ＣＲＦ基準ビットレート・モデル２２０を訓練するために選択されたビデオが、時間軸に沿ってダウンサンプリングされ、ダウンサンプリングされたビデオが、ビデオの元のフレーム・レートの半分で符号化される。このようにして、元のビデオおよびそのダウンサンプリングされたバージョンは、同じ表示時間を有する。ＣＲＦ基準ビットレート・モデル２２０は、各空間解像度、例えば、ｆｐｓ＝１２．５およびｆｐｓ＝２５、ｆｐｓ＝１５およびｆｐｓ＝３０に対してビデオの平均ビットレートを得るように訓練される。
【００３１】
訓練の結果は、ビットレートが、符号化フレーム・レート（ｆｐｓ）に対してほぼ線形に増加すること、言い換えると、
【００３２】
【数３】
0006019189.tif 000004
であることを示す。式６に示された線形の関係に基づいて、平均ビットレートとフレーム・レートとの間の関係は、以下のように記述され得る。
【００３３】
ｙ＝ａ×Ｔ      （７）
ここで、パラメータａは、空間分解能およびＣＲＦからの影響を含む。
図７は、固定のフレーム・レート（すなわち、ｆｐｓ＝２５）でのＣＲＦ基準ビットレート・モデル２２０の例示的な訓練結果を示す。図７に示された訓練結果は、平均ビットレートが、ＣＲＦ値および平均ビットレートを固定するとき、空間解像度の近似的なべき関数であり、空間解像度を固定するとき、ＣＲＦの近似的な指数関数であることをさらに示す。フレーム・レートがｆｐｓ＝２５以外であるとき、モデルは、ｆｐｓ／２５倍に増減される可能性がある。ＣＲＦ基準ビットレート・モデル２２０を訓練する１つの実施形態は、フレーム・レートｆｐｓ＝２５を使用することである。
【００３４】
式（４）で示された平均ビットレートと空間解像度Ｍとの間の関係を探るために、ＣＲＦ基準ビットレート・モデル２２０は、元のビデオに対する低域通過フィルタリングおよびダウンサンプリングによって得られた階層的な空間解像度を有するシミュレートされた／導出されたビデオで訓練される。例えば、ビデオ・エンコーダ２１０が、アンチエイリアシングのために、空間解像度７０４ｘ５７６の元のビデオに低域通過フィルタを適用する。ビデオ・エンコーダ２１０は、これらのビデオをダウンサンプリングして、サイズ３５２ｘ２８８および１７６ｘ１４４を有するビデオの低解像度のバージョンを得る。ビデオ・エンコーダ２１０は、各ＣＲＦ値に対するビットレートと空間解像度との間の関係を決定するために、元の７０４ｘ５７６のビデオおよびそれらのダウンサンプリングされた低解像度のバージョンを同じＣＲＦ値で符号化する。訓練結果は、異なるＣＲＦ値に対応するビットレート−空間解像度の折れ線（ｐｏｌｙｌｉｎｅ）がほぼ平行であることを示す。ＣＲＦ値を下げるときのビットレートの増加率は、空間解像度の増加とともに次第に減少していく。ＣＲＦ基準ビットレート・モデル２２０は、さまざまな空間解像度を有するビデオでさらに訓練され、訓練結果は、シミュレートされたビデオに対するビットレートと、空間解像度と、ＣＲＦ値との間の関係と同様のビットレートと、空間解像度と、ＣＲＦ値との間の関係を示す。
【００３５】
訓練結果に基づいて、ＣＲＦ基準ビットレート・モデル２２０は、平均ビットレートと空間解像度との間の関係を以下のようにモデル化する。
ｙ＝ｂ×ｘｃ      （８）
ここで、各ＣＲＦ値に対して０＜ｃ＜１である。機能ｙ＝ｂ×ｘｃは、座標系の原点を通り、このことは、空間解像度をゼロにすると、ビットレートがゼロになることを示唆する。０＜ｃ＜１は、ビットレートと空間解像度との間の単調増加関係を示し、平均ビットレートは、空間解像度の高いビデオほど動き推定の効果の高いイントラ予測およびインター予測を有するので、空間解像度よりも増加率が低い。１実施形態において、パラメータｃは、トレーニング・サンプルに当てはめるとき、平均が０．６５になる。各ＣＲＦ値に対するパラメータｂは、式（８）に示されたべき関数を使用して平均ビットレートと空間解像度との間のマッピングをモデル化することにより得られる可能性がある。
【００３６】
ＣＲＦ値は、浮動小数点値をとる可能性がある。１実施形態において、ＣＲＦ値は、ｘ．２６４ＣＲＦ符号化に関して［０，５１］の範囲内にある。ＣＲＦ＝０は、可逆符号化のためのものであり、ＣＲＦ＝５１は、ファイルサイズが最も小さく、ピーク信号対雑音比が最も小さい不可逆圧縮のためのものである。浮動小数点ＣＲＦ値を使用してＣＲＦ基準ビットレート・モデル２２０を訓練すると、ＣＲＦ値のみが変更され、その他の符号化パラメータ（例えば、フレーム・レート）は、ビデオを特定の目標の空間および時間解像度に符号化するために初期設定で固定されている。サンプルのＣＲＦ値１２、１４、・・・、および３４は、ビデオを、視覚的に許容でき、十分な圧縮品質のＰＳＮＲ２８〜５５ｄＢに符号化するために使用される。
【００３７】
特定の空間および時間解像度の下での平均レートとＣＲＦとの間の関係は、以下の式（９）で記述され得る。
ｙ＝ｍ×ｅｎｘ      （９）
式（９）をモデル化するために、パラメータｍは、１３８０に設定され、パラメータｎは、−０．２０に設定される。当てはめ誤差（ｆｉｔｔｉｎｇ  ｅｒｒｏｒ）は、ＳＳＥ＝５４０．３およびＲＭＳＥ＝７．３５１によって評価される。式（４）で示された平均ビットレートＢおよびＣＲＦの関係（ｃｒｆ，Ｍ，Ｔ，Ｂ）は、以下の式（１０）によって表され得る。
【００３８】
【数４】
0006019189.tif 000005
ビデオはデフォルトのフレーム・レートで符号化されることが多いことを考慮すると、パラメータＴを無視することにより、以下のような修正された式（１０）を得る。
【００３９】
Ｂ＝ｆ１（ｃｒｆ）×ｆ２（Ｍ）＝ｍ×ｅｎ・ｃｒｆ×Ｍｃ      （１１）
したがって、ＣＲＦは、以下の式（１２）を使用してビットレートＢから得られる可能性がある。
【００４０】
【数５】
0006019189.tif 000006
相対的な当てはめ誤差は、以下の式によって空間解像度毎に評価される。
【００４１】
【数６】
0006019189.tif 000007
ここで、
【００４２】
【数７】
0006019189.tif 000008
Ｍは、空間解像度であり、
【００４３】
【数８】
0006019189.tif 000009
は、空間解像度ＭのビデオのＣＲＦに対して平均された実際のビットレートであり、ΩＭは、空間解像度Ｍのビデオの集合であり、｜ΩＭ｜は、ΩＭの濃度である。Ｅｒは、相対誤差を表し、
【００４４】
【数９】
0006019189.tif 000010
は、平均の実際のビットレートを表し、
【００４５】
【数１０】
0006019189.tif 000011
は、式（１０）から推定されたビットレートを表す。
【００４６】
ＩＩＩ．改訂されたＣＲＦビットレート・モデルを使用したビデオ符号化
入力ビデオを訓練されたＣＲＦ基準ビットレート・モデル２２０から得られたＣＲＦによって符号化するために、入力ビデオを符号化することによる実際のビットレートは、入力ビデオに関連する目標のビットレートからずれる可能性がある。ＣＲＦと実際のビットレートとの間の改訂されたＣＲＦビットレート・モデルが、入力ビデオを符号化するための目標のビットレートに向かって実際のビットレートを調整するために必要とされる。１実施形態において、ＲＤＣに基づくビデオ・コード変換モジュール４００は、改訂されたＣＲＦビットレート・モデル４１０を使用して、入力ビデオを符号化するためのＣＲＦ値を適合させる。改訂されたＣＲＦビットレート・モデル４１０は、以下の式（１５）を使用して改訂され得る。
【００４７】
Ｂ＝ｋ×ｆ１（ｃｒｆ）×ｆ２（Ｍ）＝ｋ×ｍ×ｅｎ・ｃｒｆ×Ｍｃ      （１５）
ここで、ｋは、符号化されるべき入力ビデオに関連する改訂因子（ｒｅｖｉｓｉｎｇ  ｆａｃｔｏｒ）である。
【００４８】
改訂をさらに示すために、改訂されたＣＲＦビットレート・モデル４１０は、初めに、パラメータＢに、入力ビデオに関連する目標のビットレートを代入することによって、式（１２）で示されたＣＲＦと平均ビットレートとの間のマッピングからＣＲＦを得る。入力ビデオの符号化の結果として得られる実際のビットレートと、その対応するＣＲＦ、すなわち（実際のビットレート、ＣＲＦ）とが、以下のように式（１５）の改訂因子ｋを決定するために使用される。
【００４９】
【数１１】
0006019189.tif 000012
図５は、例示的なビデオ・シーケンスに関する調整因子ｋ、目標のビットレートＢｔ、実際のビットレートＢａの例示的なデータであり、ここで、パラメータＭは、ビデオ・シーケンスの空間解像度を表す。
【００５０】
訓練されたＣＲＦ基準ビットレート・モデル２２０および改訂されたＣＲＦビットレート・モデル４１０を使用して、ＲＤＣに基づくビデオ・コード変換モジュール４００は、入力ビデオを、入力ビデオに関連するビットレートの制約の範囲内で一定の視覚的品質で符号化することができる。以下のアルゴリズムは、入力ビデオを、入力ビデオに関連するビットレートの制約の範囲内で一定の視覚的品質で符号化する１実施形態を表す。
／／＊入力：未圧縮のビデオおよびその目標のビットレートＢｔ
／／＊出力：ビデオの目標のビットレートの範囲内で一定の視覚的品質を持つ圧縮されたビデオ
１：パラメータＢにＢｔを代入することによって式（１２）のＣＲＦ基準ビットレート・モデル２２０からｃｒｆｔを見つける
２：ｃｒｆｔを用いてビデオを符号化し、実際のビットレートＢａを得る
３：（ｃｒｆｔ、Ｂａ）のペアによって式（１５）の改訂されたＣＲＦビットレート・モデル４１０を得る
４：ＢにＢｔを代入することによって式（１５）の改訂されたＣＲＦビットレート・モデルからｃｒｆａを見つける
５：ｃｒｆａを用いてビデオを符号化し、改訂された実際のビットレート
【００５１】
【数１２】
0006019189.tif 000013
を得る
６：
【００５２】
【数１３】
0006019189.tif 000014
がＢｔに近くない場合、収束するまで工程３を繰り返す
ここに記載したアルゴリズムは、訓練され、改訂されたＣＲＦビットレート・モデルから評価されたＣＲＦ値を用いるマルチパスＣＲＦ符号化の１種である。工程６の収束の基準は、実際のビットレート
【００５３】
【数１４】
0006019189.tif 000015
と目標のビットレートＢｔとの間の差が目標のビットレートの±１０％以内になることである。
【００５４】
図４は、入力ビデオを、目標のビットレートの範囲内で一定の視覚的品質を有する出力ビデオに符号化する流れ図である。最初に、ＲＤＣに基づくビデオ・コード変換モジュール４００が、入力ビデオを受信し（４０１）、入力ビデオは、入力ビデオを符号化するためのビットレートの制約として目標のビットレートを有する。１実施形態において、入力ビデオの目標のビットレートは、入力ビデオの目標の出力ビデオ・フォーマットに関連する。別の実施形態において、入力ビデオの目標のビットレートは、以下で説明されるビデオ記述長（ＶＤＬ）の分析に基づいて改訂される。ビデオ・コード変換モジュール４００が、（例えば、目標のビットレートが平均ビットレートパラメータＢに代入されるようにして式（１２）を用いて）入力ビデオの目標のビットレートに対する固定レート因子を見つける（４０３）。コード変換モジュール４００が、得られたＣＲＦを用いて入力ビデオを符号化し（４０５）、入力ビデオを符号化するための実際のビットレートを得る（４０７）。ビデオ・コード変換モジュール４００が、（例えば、式（１５）を用いて）実際のビットレートにより改訂因子を計算し（４０９）、改訂因子により修正された固定レート因子を見つける（４１１）。ビデオ・コード変換モジュール４００が、修正された固定レート因子を用いて入力ビデオを符号化し（４１３）、符号化（４１３）による実際のビットレートが目標のビットレートの範囲内にあるかどうかを判定する（４１５）。実際のビットレートが目標のビットレートの範囲内にあることに応じて、ビデオ・コード変換モジュール４００が、符号化されたビデオを出力する（４１７）。実際のビットレートが目標のビットレートの範囲内にないことに応じて、ビデオ・コード変換モジュール４００が、動作工程４０９から４１７を繰り返す。
【００５５】
入力ビデオに関連する目標のビットレートに向かって入力ビデオを符号化すると、試験の結果は、符号化パスの数が平均で１．８であることを示す。入力ビデオが平均に近いコンテンツ複雑性を有するとき、ＣＲＦ基準ビットレート・モデル２２０によって見つけられたＣＲＦ値を用いる１パスのＣＲＦ符号化は、ビデオを目標ビットレートに向けて符号化する。入力ビデオが平均から外れたコンテンツ複雑性を有する場合、適応的に改訂されたＣＲＦビットレート・モデル４１０によって見つけられたＣＲＦ値を用いるマルチパスＣＲＦ符号化が必要とされる。
【００５６】
ＩＶ．符号化計算プロファイル（ＥＣＰ）
ビデオ・シーケンスによって取り込まれたシーンの多様なコンテンツは、ビデオ・シーケンスに含まれる情報の多様な量につながる。ビデオ・ホスティング・サービスの大規模なビデオ・コーパスを考慮すると、異なるビデオコンテンツに同じ符号化ビットレートを適用することは、異なるビデオ品質をもたらす。さらに、ビデオ・ホスティング・サービス１００は、ビデオ・ホスティング・サービス１００にアップロードされるそれぞれのビデオのためにさまざまなビデオ出力フォーマットを提供する。異なる出力フォーマットは、目標の再生プラットフォーム（例えば、携帯電話および高精細度ＴＶ）、配信の制約（例えば、リアルタイム・ビデオ・ストリーミングおよびビデオ・オン・デマンド）、ならびにユーザの期待の点で異なるビデオ処理の目的を有する。
【００５７】
さまざまなビデオ・フォーマットおよびコンテンツ複雑性を有するビデオをコード変換する１つの解決策は、異なるビデオに異なるビットレート制御ストラテジを適用することである。１実施形態において、ＲＤＣに基づくビデオ符号化システム１０２は、所与のビデオ出力フォーマットのために以下の３つの異なるビットレート制御ストラテジおよび符号化パラメータのうちの少なくとも１つを選択する。
【００５８】
ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅ
ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ
ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅ
ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅストラテジは、ビデオの目標のビットレートに可能な限り近くビデオを符号化する実際のビットレートを実現することである。このビットレート制御ストラテジは、モバイル・ビデオ・ストリーミング、およびダイヤルアップ・インターネット接続を用いるビデオ・ストリーミングに好適である。
【００５９】
ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙストラテジは、一定の目標の視覚的品質を達成するために必要とされるビットレートを問わず一定の目標の視覚的品質を実現することである。ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙストラテジは、変動する実際のビットレート、例えば、複雑なビデオを符号化するための高ビットレートおよび単純なビデオのための低ビットレートを使用して多様な複雑性を有するビデオを符号化するために使用される。ビットレート制御ストラテジは、分散型のビデオ処理環境におけるビデオ処理およびストリーミング、ならびに高い視覚的な符号化品質のコード変換（例えば、可逆符号化品質）に好適である。
【００６０】
ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅストラテジは、ビットレートの上限を守りながらできるだけ一定の目標の視覚的品質を実現することである。したがって、視覚的品質は、許容される最大限のビットレートの制約の範囲内で目標の品質が実現できない場合、複雑なビデオに関してのみ目標の品質レベルよりも下がることが許容される。より単純なビデオに関しては、ビットレートは、所望の目標の品質レベルが実現される限り、最大のビットレート未満である可能性がある。
【００６１】
ビデオ・コード変換の性能をさらに高めるために、ＲＤＣに基づくビデオ符号化システム１０２は、所与のビットレート制御ストラテジを使用してトランスコーダに関する段階的な計算レベルをサポートする。特に、ビットレート制御ストラテジ（例えば、ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅストラテジ）に対して、例えば、ＲＤＣに基づくビデオ符号化システム１０２によってサポートされる以下の５つの異なる符号化計算レベルが存在する可能性がある。
【００６２】
最速：最も速いコード変換時間を提供するが、必ずしも、最も小さくまとまった出力ビット・ストリーム、または同じビットレートに対する最高の視覚的品質をもたらすとは限らない。ほとんどのビットレート制御ストラテジおよび出力フォーマットに関して、１パス符号化が行われる。
【００６３】
速：適度に速い符号化を提供する。ほとんどのビットレート制御ストラテジおよび出力フォーマットに関して、１パス符号化が行われる。
中：ほとんどのビットレート制御ストラテジおよび出力フォーマットに好適である符号化時間対符号化効率の釣り合いを提供する。
【００６４】
低：より高い符号化効率、つまり、同じビットレートでより高い視覚的品質でコード変換されたビデオを生成するために、符号化により計算コストのかかるツールを使用する。例えば、映像コーデックｘ．２６４は、ビデオを高い視覚的品質で符号化するために、圧縮効率制御パラメータを「ｐｒｅｓｅｔ＝ｓｌｏｗｅｒ」または「ｐｒｅｓｅｔ＝ｐｌａｃｅｂｏ」と設定する。
【００６５】
最低：最も小さくまとまった出力ビット・ストリーム、および映画スタジオの品質のビデオなどの最も高い知覚品質のビデオを生成するために、符号化に、計算量が多く、洗練されたツールを使用する。ＰＳＮＲの観点で測られるとき、この符号化計算レベルの視覚的品質は、低モードによって実現される視覚的品質以下である可能性がある。
【００６６】
トランスコーダが利用可能であるいくつかの符号化計算レベルによって、ＲＤＣに基づくビデオ符号化システム１０２は、ネットワーク（例えば、クラウド・コンピューティング・ネットワーク）内のサーバに対する現在のシステム負荷、ライブ・ストリーミングの需要、または許容可能なコード変換のレイテンシーなどの要因に応じて符号化計算レベルを適合させるためのさまざまなコード変換ポリシーを実装する。例えば、複数の最初のストリーミングのコード変換は、ライブ・ビデオ・ストリーミングのためにレイテンシーを削減するために低い計算レベルで行われる可能性がある。一方、再放送されるビデオ・ストリーミングは、再放送がビデオの高まった人気に対応すべきである場合、許容可能なレイテンシーを有するより高い計算レベルで行われる可能性がある。
【００６７】
さまざまなビットレート制御ストラテジを最適化し、それぞれのビットレート制御ストラテジに関して段階的な符号化計算レベルをサポートするために、ＲＤＣに基づくビデオ符号化システム１０２は、異なるビットレート制御ストラテジを実装する複数の方法を評価するだけでなく、それぞれのビットレート制御ストラテジに対する計算の最適な割り当ても考慮する体系的な手順にしたがう。１実施形態において、ＲＤＣに基づくビデオ符号化システム１０２は、計算効率のトレードオフをきめ細かくモデル化するように符号化計算プロファイル（ＥＣＰ）マッピング・モジュール２３０を訓練する。
【００６８】
ＥＣＰは、ｘ．２６４符号化に容易に統合され得る計算の複雑性の割り当て制御パラメータである。ＥＣＰパラメータは、０と１との間の浮動小数点値をとり、ビットレートと、歪みと、計算の複雑性との間のトレードオフを細かく調整するために使用され得る。既存のビットレート制御ストラテジは、ビデオの符号化のレートと歪みとの間のトレードオフに焦点を当てる。しかし、符号化の計算が符号化効率を評価するための基準と考えられるときは、レートと歪みとの間のトレードオフが、符号化の計算と一緒に調整される必要がある。
【００６９】
例えば、２パス符号化方式においては、第１の符号化パスがビデオの何らかの統計情報を得るために使用されるので、概して、第１の符号化パスは、第２の符号化パスよりも高速に実行される。２パス符号化全体は、概して、１パス符号化方式よりも多くの計算を消費する。しかし、計算がかなり複雑な１パス符号化が比較的計算が複雑でない２パス符号化よりも効率的であるか、またはより効率が低いかは、明らかでない。ＲＤＣに基づくビデオ符号化システム１０２のＥＣＰマッピング・モジュール２３０は、マルチパスに基づくビデオ・コード変換（例えば、ｘ．２６４に基づくマルチパス・コード変換）のための計算と、所与の符号化計算レベルに関する符号化パスの数との最適な割り当てを見つけるように設計される。
【００７０】
ここで図２に目を向けると、ＲＤＣ訓練モジュール２００のＥＣＰマッピング・モジュール２３０が、ビデオ・コーパス１６０に記憶されたビデオで訓練される。それぞれの符号化ストラテジに関して、ＥＣＰマッピング・モジュール２３０は、生のレート−歪み−複雑性データを得るために、マルチパス・コード変換のさまざまなあり得る実装およびさまざまなあり得る計算レベルにわたって訓練される。ＥＣＰマッピング・モジュール２３０は、例えば、複数の等しい間隔の符号化計算レベルで（例えば、１実施形態においては、５つの符号化計算レベル、すなわち、最速、速、中、低、および最低計算レベルが存在する可能性がある）ビットレート制御ストラテジのそれぞれに関して最良のコード変換の実装および計算の割り当てを導出するために生のレート−歪み−複雑性データに対する複数の基準のパレート最適集合分析を使用してさらに最適化される。
【００７１】
マルチパスｘ．２６４コード変換を例にとると、ＥＣＰマッピング・モジュール２３０は、２パス符号化のための計算の割り当てをペア｛ｅｃｐ０、ｅｃｐ１｝によって表す。ｅｃｐ０は、１パス・ビットレート符号化または２パス・ビットレート符号化の第１のパスの計算の複雑性を表す。ｅｃｐ１は、２パス・ビットレート符号化の第２のパスの計算の複雑性を表す。例えば、｛０．０７、ＮＵＬＬ｝は、１パス・ビットレート符号化の実装の計算の複雑性を表し、｛０．０７、０．７１｝は、２パス・ビットレート符号化の実装の例示的な計算の複雑性である。
【００７２】
それぞれのビットレート制御ストラテジに関して、ＥＣＰマッピング・モジュール２３０は、ビデオ・コーパス１６０からのビデオの集合でオフラインで訓練される。各訓練サンプルは、レート−歪み−複雑性の性能、３つ組み｛Ｒ、Ｄ、Ｃ｝に関連付けられ、実際の符号化ビットレート（Ｒ）は、訓練から得られ、歪み（Ｄ）は、ビデオ・フレームの輝度成分の平均二乗誤差によって測られ、複雑性（Ｃ）は、１フレーム当たりの符号化時間によって表される。以下は、マルチパスｘ．２６４コード変換方式を用いて、ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅビットレート制御ストラテジに関してＥＣＰマッピング・モジュール２３０を訓練するためのアルゴリズムである。
１：すべてのあり得る｛ｅｃｐ０、ｅｃｐ１｝ペアおよび異なる目標のビットレートで、ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅストラテジを使用して訓練ビデオを符号化する。
２：訓練から｛Ｒ、Ｄ、Ｃ｝性能サンプルを得る。
３：訓練ビデオの各｛ｅｃｐ０、ｅｃｐ１｝ペアに関してＲ上で歪みＤおよび計算時間Ｃを滑らかに補完する。
４：｛Ｒ、Ｄ、Ｃ｝サンプルの中のパレート最適集合を見つけ、パレート集合を補間して区分的に連続な｛Ｒ、Ｄ、Ｃ｝面を得る。
５：計算時間Ｃを５つの一様な間隔の継続レベル（ｃｏｎｔｉｎｕａｔｉｏｎ  ｌｅｖｅｌ）に分割する。
６：レート値を選択し、選択されたビットレート値で５つの計算レベルのそれぞれに関してパレート最適な面上の｛ｅｃｐ０、ｅｃｐ１｝ペアを選択する。
７：ビデオに対する回帰試験によって最適化されたストラテジの効果を検証する。
【００７３】
ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅ制御ストラテジによる５つの計算レベルに関する最適化された計算の割り当てが、以下のテーブル１に示される。
【００７４】
【表１】
0006019189.tif 000016
テーブル１に示されたように、それぞれの計算レベルに関して、ＥＣＰマッピング・モジュール２３０は、符号化パスの数および必要とされる計算の複雑性の割り当て制御パラメータ値を示すＥＣＰ値の｛ｅｃｐ０、ｅｃｐ１｝のペアを提供する。例えば、ｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅ制御ストラテジを使用する中位の計算の複雑性を有するビデオの符号化に関しては、最適化されたレート−歪み−複雑性の釣り合いを達成するために２符号化パスが使用される可能性があり、第１の符号化パスに関して、ＥＣＰ値は０．０７であり、第２の符号化パスに関しては０．５０である。リアルタイム・ストリーミングのためにビデオを符号化するためには、符号化時間が、許容できない遅延なしに高速であることが必要である。ＲＤＣに基づくビデオ符号化システム１０２は、レート−歪み−複雑性の釣り合いをとるためにＥＣＰ値０．３５の１パス符号化を選択する可能性がある。
【００７５】
別の実施形態においては、ＥＣＰマッピング・モジュール２３０は、別のビデオ符号化方式、ＶＰ８（ＷｅｂＭとも呼ばれる）を使用して訓練される。符号化の計算プロファイル・パラメータ（すなわち、ｅｃｐ０、ｅｃｐ１）を使用する代わりに、ＶＰ８は、レートと、歪みと、計算の複雑性との間のトレードオフを管理するために符号加速度制御（ＥＳ）パラメータを使用する。テーブル２は、ＶＰ８符号化方式を使用したｃｏｎｔｒｏｌ＿ｂｉｔｒａｔｅ制御ストラテジによる５つの計算レベルに関する計算の割り当ての例を示す。
【００７６】
【表２】
0006019189.tif 000017
ＥＣＰマッピング・モジュール２３０は、ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙストラテジおよびｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅストラテジなどのその他のビットレート制御ストラテジのためにビデオ・コーパス１６０からのビデオで同様に訓練される。テーブル３は、ｘ．２６４符号化方式を用いたｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ制御ストラテジによる５つの計算レベルに関する最適化された計算の割り当てと、ＶＰ８符号化方式に関する対応する計算の割り当てとを示す。一定の目標の品質を実現するために、ＥＣＰマッピング・モジュール２３０によってＲＤＣに基づくビデオ・コード変換に１パス符号化のみが提案される。テーブル４は、ｘ．２６４符号化方式を用いたｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅ制御ストラテジによる５つの符号化計算レベルに関する最適化された計算の割り当てと、ＶＰ８符号化方式に関する対応する計算の割り当てとを示す。
【００７７】
【表３】
0006019189.tif 000018
【００７８】
【表４】
0006019189.tif 000019
図６は、レート−歪み−複雑性の最適化のためにオフラインでＥＣＰマッピング・モジュール２３０を訓練する流れ図である。初めに、ＲＤＣ訓練モジュール２００が、ビデオ・コーパス１６０からビデオを受信する（６１０）。ＲＤＣ訓練モジュール２００のビデオ・エンコーダ２１０は、選択されたビデオの集合を符号化し（６２０）、訓練から｛Ｒ、Ｄ、Ｃ｝サンプルを取得する（６３０）。ＥＣＰマッピング・モジュール２３０は、取得された｛Ｒ、Ｄ、Ｃ｝サンプルから最適な｛Ｒ、Ｄ、Ｃ｝サンプルを見つける（６４０）。例えば、ＥＣＰマッピング・モジュール２３０は、｛Ｒ、Ｄ、Ｃ｝サンプルの中のパレート最適集合を見つけ、パレート集合を補間して区分的に連続な｛Ｒ、Ｄ、Ｃ｝面を得る。ＥＣＰマッピング・モジュール２３０は、最適な｛Ｒ、Ｄ、Ｃ｝サンプル空間を複数の計算複雑性レベル（例えば、上述の５つの計算レベル）に分割する（６５０）。ＥＣＰマッピング・モジュール２３０は、それぞれの計算レベルに関してＲＤＣ最適な符号化ストラテジ（例えば、ｃｏｎｔｒｏｌ＿ｑｕａｌｉｔｙ＿ｂｏｕｎｄｅｄ＿ｂｉｔｒａｔｅストラテジ）を選択し（６６０）、それぞれの計算レベルに関するＥＣＰパラメータおよび符号化パスの数を得る（６７０）。
【００７９】
ＲＤＣに基づくビデオ符号化システム１０２は、前の符号化パスに基づいてその後の符号化パスの符号化パラメータを調整することによってマルチパス符号化の性能を最適化することができる。例えば、入力ビデオを符号化する２パス符号化方式においては、ＲＤＣに基づくビデオ符号化システム１０２は、第１の符号化パスの符号化パラメータに基づいて第２の符号化パスの符号化パラメータ（例えば、ビットレート、動き推定方法、および動きベクトルの探索範囲）を適合させることができる。第１の符号化パスの実際のビットレートが同じＥＣＰ値で符号化された平均ビットレート未満である場合、それは、入力ビデオが平均のビデオよりも単純なビデオコンテンツを有し、第２の符号化パスのＥＣＰ値が、同じレート−歪みの性能を維持しながら入力ビデオを符号化するための計算を節約するために小さくされ得ることを示す。第１の符号化パスの実際のビットレートが同じＥＣＰ値で符号化された平均ビットレートよりも大きい場合、第２の符号化パスのＥＣＰ値は、入力ビデオを符号化するためのより大きなレート−歪みの性能の利得を実現するために増やされる可能性がある。
【００８０】
Ｖ．ビデオ記述長（ＶＤＬ）を用いた符号化
最小限のコストで、許容可能な視覚的品質でソース・ビデオをコード変換することは、ソース・ビデオのビデオ符号化の複雑性を効果的に評価することを必要とする。ビデオのコード変換に与えるビデオコンテンツ複雑性の影響を無視することは、コード変換されたビデオの視覚的品質およびユーザ・エクスペリエンスを損なう。入力ビデオを符号化するためのビットレート情報はソース・ビデオのビデオコンテンツ複雑性を反映するので、特定の視覚的品質でビデオを符号化するためにどれだけのビットレートが必要とされるかについての情報は、ビデオ符号化の効率の最適化のために有用である。
【００８１】
１実施形態において、ＲＤＣに基づくビデオ符号化システム１０２は、ビデオについてビデオコンテンツ複雑性を表すためにビデオ記述長を使用する。ＶＤＬは、特定の視覚的品質でビデオを符号化するために必要とされるビットレートである。異なるビデオは、異なるＶＤＬを有する。動きが遅く、滑らかな画像を有するビデオは、ビデオが、小さなビットレートだが高い視覚的品質で符号化することが容易であることを示す短いＶＤＬを有する。一方、動きが激しく、複雑な見た目のコンテンツを有するビデオは、ビデオが符号化することが難しいことを示す長いＶＤＬを有する。
【００８２】
ビデオ記述長は、適応的なビデオ符号化および復号のような多くの応用で非常に有用である。ビデオ・コード変換に関しては、ＶＤＬは、ビデオをそのビデオの出力ビデオ・フォーマットに効率的に符号化するための目標のビットレートまたは目標の固定レート因子を選択するようにＲＤＣに基づくビデオ・トランスコーダを導く。ＲＤＣに基づくビデオ・トランスコーダは、入力ビデオの複雑性を基準ビデオと、それらのビデオの関連するＶＤＬの観点で比較し、基準ビデオの既存の妥当な符号化パラメータを参照することによって入力ビデオのための適切な符号化パラメータを決定する。
【００８３】
ビデオのＶＤＬ情報は、以下の少なくとも３つの形態を有する可能性がある。
全体ＶＤＬ、
時間ＶＤＬ、および
空間ＶＤＬ
全体ＶＤＬは、ビデオが「ＣＲＦ＝２６、複雑性＝最速」で符号化されるときのビデオの実際のビットレートである。ＣＲＦ値は、構成可能なパラメータであり、実験データは、ビデオがＣＲＦ符号化によりＣＲＦ＝２６で符号化されるときに良好な視覚的品質であることを示す。
【００８４】
時間ＶＤＬは、ビデオが２つの異なる複雑性、例えば、「ＣＲＦ＝２６、複雑性＝速」および「ＣＲＦ＝２６、複雑性＝最速」で符号化されるときのビデオの実際のビットレートの差である。ビデオの時間ＶＤＬは、ビデオの時間的な複雑性を反映する。異なる時間的な複雑性を有するビデオは、大抵、ビデオ内で検出された動きをどれだけ高速に処理すべきかとは異なる。ビデオ内の検出された動きがどれだけ高速に処理されるべきかは、動き推定方法、および動き推定のために使用される基準フレームの数などの１つまたは複数の要因に依存する。時間ＶＤＬを表す１つの実施形態は、異なる複雑性のレベルでビデオを符号化するときのビデオのビットレートの差を使用することである。
【００８５】
空間ＶＤＬは、ビデオが２つの異なるＣＲＦ、例えば、「ＣＲＦ＝２６、複雑性＝最速」および「ＣＲＦ＝２８、複雑性＝最速」で符号化されるときのビデオの実際のビットレートの差である。概して、動き推定アルゴリズムによって予測される残差信号の複雑性は、ビデオ・フレームの複雑性を反映し、残差信号の変換係数は、ＣＲＦ値によって表される量子化を経る。したがって、異なるＣＲＦ値を用いて、ただし、同じ複雑性のレベルで符号化されるビデオのビットレートの差は、時間的要因の影響を減らし、ビデオの空間的な複雑性を反映する。より大きな空間ＶＤＬを有するビデオは、ビデオ内により複雑な空間的コンテンツを有する。
【００８６】
ビデオの全体ＶＤＬ、時間ＶＤＬ、および空間ＶＤＬは、ＲＤＣに基づくビデオ・コード変換を導くために使用され得る。例えば、図４を参照すると、ＲＤＣに基づくビデオ・コード変換モジュール４００のビデオ記述長モジュール４２０が、入力ビデオを符号化することにより入力ビデオの全体ＶＤＬ、時間ＶＤＬ、および空間ＶＤＬを得る。入力ビデオの得られたＶＤＬデータは、動的なＶＤＬデータベースに、入力ビデオに関する基準ＶＤＬとして記憶される。例えば、ビデオ記述長モジュール４２０は、全体ＶＤＬに関する動的な参照テーブルを保有し、各テーブルのエントリは、入力ビデオの識別情報、入力ビデオの全体ＶＤＬ、入力ビデオの時間解像度および空間解像度を記憶する。ビデオをコード変換した後、ビデオ記述長モジュール４２０は、入力ビデオのＶＤＬの基準を削除する。ビデオ記述長モジュール４２０は、同様に、時間ＶＤＬおよび空間ＶＤＬに関する動的な参照テーブルをそれぞれ保有する。入力ビデオの１つのビデオ出力フォーマットに関して得られた全体ＶＤＬは、その他のビデオ出力フォーマットに関する入力ビデオの符号化を導くために使用され得る。入力ビデオの１つのビデオ出力フォーマットに関して得られた時間および空間ＶＤＬは、入力ビデオのその他のビデオ出力フォーマットのために同様に使用され得る。
【００８７】
別の実施形態においては、ＲＤＣに基づくビデオ符号化システム１０２は、動的なＶＤＬ参照テーブルに記憶されたＶＤＬデータに基づいて、ビデオ・コーパス１６０のビデオの全体ＶＤＬ、時間ＶＤＬ、および空間ＶＤＬに関する静的なＶＤＬ参照テーブルを生成する。例えば、全体ＶＤＬに関する静的なＶＤＬ参照テーブルは、選択された時間解像度に対するそれぞれの個々の入力データの平均された全体ＶＤＬデータと、選択された空間解像度に対する全体ＶＤＬの別の静的なＶＤＬ参照テーブルとを記憶する。選択された時間解像度または空間解像度に対する時間ＶＤＬおよび空間ＶＤＬの静的なＶＤＬ参照テーブルが、同様に生成され得る。静的なＶＤＬ参照テーブルは、動的なＶＤＬ参照テーブル内のレコードが生成または更新される度に更新される可能性がある。
【００８８】
所与の入力ビデオに関して、ビデオ記述長モジュール４２０は、上述のように入力ビデオの全体ＶＤＬ、時間ＶＤＬ、および空間ＶＤＬを計算し、レート−歪み−複雑性の最適化のためにＲＤＣに基づくトランスコーダ４３０と通信する。例えば、入力ビデオの目標のビットレート未満の入力ビデオの全体ＶＤＬに応答して、ビデオ記述長モジュール４２０は、入力ビデオの全体ＶＤＬを目標のビットレートとして設定する。全体ＶＤＬを入力ビデオの目標のビットレートとして設定することは、良好な視覚的品質を得るのに役立つ。基準ビデオの空間ＶＤＬよりも大きい入力ビデオの空間ＶＤＬに応答して、ビデオ記述長モジュール４２０は、空間処理に関する符号化の複雑性のレベルを上げる（例えば、複雑性のレベルを、例えば、「中」から「速」に変更する）ようにＲＤＣに基づくトランスコーダ４３０に指示する。同様に、ビデオ記述長モジュール４２０は、入力ビデオの時間ＶＤＬと基準ビデオの時間ＶＤＬとの間の比較に基づいて入力ビデオの時間処理に関する符号化の複雑性のレベルを調整するようにＲＤＣに基づくトランスコーダ４３０に指示する。
【００８９】
図３は、上述のＶＤＬに導かれるビデオ・コード符号化をさらに示す。最初に、ＲＤＣに基づくビデオ・コード符号化モジュール４００が、入力ビデオを受信し（３１０）、改訂されたＣＲＦビットレート・モデル４１０を介して入力ビデオを符号化する。ビデオ記述長モジュール４２０は、入力ビデオの全体ＶＤＬ、時間ＶＤＬ、および空間ＶＤＬを得る（３２０）。ビデオ記述長モジュール４２０は、改訂されたＣＲＦビットレート・モデル４１０によって符号化することから入力ビデオのＶＤＬ情報を得るか、またはそのビデオ記述長モジュール４２０自体によって入力ビデオのＶＤＬ情報を計算する。
【００９０】
ビデオ記述長モジュール４２０は、入力ビデオの全体ＶＤＬを入力ビデオの目標のビットレートと比較し（３３０）、比較に基づいて入力ビデオの目標のビットレートを調整する（例えば、目標のビットレート未満の全体ＶＤＬに応じて入力ビデオの全体ＶＤＬを入力ビデオの目標のビットレートとして設定する。）（３４０）。ビデオ記述長モジュール４２０は、入力ビデオの時間ＶＤＬを基準時間ＶＤＬと比較し（３５０）、比較に基づいてビデオ符号化の複雑性を時間的に調整する（３６０）。ビデオ記述長モジュール４２０は、入力ビデオの空間ＶＤＬを基準空間ＶＤＬと比較し（３７０）、比較に基づいてビデオ符号化の複雑性を空間的に調整する（３８０）。ＲＤＣに基づくトランスコーダ４３０は、図４に示されるように、調整された目標のビットレート、時間符号化複雑性、および空間符号化複雑性で入力ビデオを符号化する（３９０）。調整された目標のビットレート、時間的または空間符号化複雑性は、目標のビットレートおよび符号化の複雑性の更新を反映するために異なるＥＣＰ値および符号化パスの数が必要とされることを示す。
【００９１】
上の説明は、好ましい実施形態の動作を例示するために含められており、本発明の範囲を限定するように意図されていない。本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。上の検討から、本発明の精神および範囲にやはり包含される多くの変更形態が、当業者に明らかになる。
【００９２】
本発明は、１つのあり得る実施形態に関して特に詳細に説明された。当業者は、本発明がその他の実施形態で実施され得ることを理解するであろう。第１に、コンポーネントの特定の命名、用語の大文字の使用、属性、データ構造、または任意のその他のプログラミングもしくは構造の態様は、必須ではないか、または重要でなく、本発明またはその特徴を実装するメカニズムは、異なる名前、フォーマット、またはプロトコルを有する可能性がある。さらに、システムは、説明されたように、ハードウェアおよびソフトウェアの組み合わせにより実装されるか、またはすべてハードウェア要素で実装される可能性がある。また、本明細書に記載のさまざまなシステムの構成要素の間での機能の特定の分割は、
例示的であるに過ぎず、必須ではなく、単一のシステムの構成要素によって実行される機能が、その代わりに複数の構成要素によって実行される可能性があり、複数の構成要素によって実行される機能が、その代わりに単一の構成要素によって実行される可能性がある。
【００９３】
上の説明の一部は、情報に対する動作のアルゴリズムおよび記号表現によって本発明の特徴を示す。これらのアルゴリズムの記述および表現は、データ処理技術に精通している者によって、その者の成果の内容を当該技術分野に精通しているその他の者に最も効果的に伝えるために使用される手段である。これらの動作は、機能的または論理的に説明されているが、コンピュータ・プログラムによって実装されると理解される。さらに、一般性を失うことなく動作のこれらの構成をモジュールと呼ぶか、または機能の名前で呼ぶことが便利であることがあることも分かっている。
【００９４】
別途具体的に述べられない限り、上の検討から明らかなように、説明全体を通じて、「処理」または「計算」または「算出」または「決定」または「表示」などの用語を使用する検討は、コンピュータ・システムのメモリもしくはレジスタ、またはその他のそのような情報ストレージ、送信、もしくはディスプレイ・デバイス内で物理的（電子的）量として表されるデータを操作および変換するコンピュータ・システムまたは同様の電子的なコンピューティング・デバイスの行為および方法を指すことが理解される。
【００９５】
本発明の特定の態様は、本明細書に記載の方法の工程および命令をアルゴリズムの形態で含む。本発明の方法の工程および命令は、ソフトウェア、ファームウェア、またはハードウェアで具現化される可能性があり、ソフトウェアで具現化されるときは、リアルタイム・ネットワーク・オペレーティング・システムによって使用されるさまざまなプラットフォームに存在するようにダウンロードされ、そのようなプラットフォームから操作される可能性があることに留意されたい。
【００９６】
本発明は、本明細書に記載の動作を実行するための装置にも関する。この装置は、必要とされる目的のために特別に構築される可能性があり、またはコンピュータによってアクセスされ得るコンピュータ可読媒体に記憶されたコンピュータ・プログラムによって選択的に有効化または再構成される多目的コンピュータを含む可能性がある。そのようなコンピュータ・プログラムは、フロッピー（登録商標）・ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気式もしくは光学式カード、特定用途向け集積回路（ＡＳＩＣ）、または電子的な命令を記憶するのに好適であり、それぞれがコンピュータ・システムのバスに結合される任意の種類の媒体などであるがこれらに限定されないコンピュータ可読記憶媒体に記憶される可能性がある。さらに、本明細書において言及されるコンピュータは、単一のプロセッサを含む可能性があり、または計算能力を高めるためにマルチ・プロセッサ設計を使用するアーキテクチャである可能性がある。
【００９７】
本明細書において示されたアルゴリズムおよび動作は、いかなる特定のコンピュータまたはその他の装置にも分かちがたく関連していない。さまざまな汎用システムが、本明細書の教示によるプログラムとともに使用される可能性もあり、または方法の工程を実行するためのより特化した装置を構築することが便利であると判明する可能性がある。さまざまなこれらのシステムに関する構造は、等価な変更形態とともに当業者に明らかになる。加えて、本発明は、いかなる特定のプログラミング言語も特に対象にして説明されていない。さまざまなプログラミング言語が、本明細書において説明された本発明の教示を実装するために使用される可能性があり、本発明の実施および最良の形態の開示に関して、特定の言語が任意に参照されることが理解される。
【００９８】
本発明は、多くのトポロジー上の多種多様なコンピュータ・ネットワーク・システムによく適している。この分野で、大規模なネットワークの構成および管理は、インターネットなどのネットワークで異種のコンピュータおよびストレージ・デバイスに通信可能なように結合されるストレージ・デバイスおよびコンピュータを含む。
【００９９】
最後に、本明細書において使用された言い回しは、主として、読み易くし、教示を与えることを目的として選択されており、本発明の対象を正確に説明するか、または厳密に定めるように選択されていない可能性があることに留意されたい。したがって、本発明の開示は、添付の特許請求の範囲に記載された本発明の範囲を例示するように意図されており、限定するように意図されていない。
【図１】
0006019189.tif 000020
【図２】
0006019189.tif 000021
【図３】
0006019189.tif 000022
【図４】
0006019189.tif 000023
【図５】
0006019189.tif 000024
【図６】
0006019189.tif 000025
【図７】
0006019189.tif 000026