(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される、ソースデータを符号化するためのビットレートラダーを選択する方法であって、
量子化パラメータについて、１組のパラメータ値を選択する工程と、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成する工程と、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定する工程と、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出する工程と、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定する工程と、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する工程と
を含むことを特徴とする方法。
【請求項２】
前記量子化パラメータを所与のパラメータ値に保ちつつ、前記ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、請求項１記載のコンピュータによって実施される方法。
【請求項３】
前記１組のパラメータ値を選択する前記工程が、精度の制約および複雑性の制約の両方を満たす信号のディテールの量を選択することを含む、請求項１記載のコンピュータによって実施される方法。
【請求項４】
前記ビデオ品質指標の値を決定する前記工程が、ピークＳ／Ｎ比を識別することを含む、請求項１記載のコンピュータによって実施される方法。
【請求項５】
前記ビデオ品質指標の値を決定する前記工程が、画質評定を算出することを含む、請求項１記載のコンピュータによって実施される方法。
【請求項６】
前記１組の符合化データについて、前記対応するビットレートを決定する前記工程が、前記１組の符合化データと関連づけられたサイズおよび前記１組の符合化データのプレイアウト継続時間と関連づけられた時間の量に基づく除算演算を行うことを含む、請求項１記載のコンピュータによって実施される方法。
【請求項７】
前記ビットレートラダーを選択する前記工程が、前記バケット化ビットレートが複雑性バケットのビットレート範囲内であることを決定することと、前記複雑性バケットと関連づけられたビットレートラダーを識別することとを含む、請求項１記載のコンピュータによって実施される方法。
【請求項８】
前記関係が曲線であり、前記関係を導出する前記工程が、前記１組の符合化データに１以上の曲線近似処理を適用することを含む、請求項１記載のコンピュータによって実施される方法。
【請求項９】
前記エンコーダを構成する前記工程の前に、前記ソースデータから複数のサンプルを抽出する工程を更に含み、前記エンコーダが、前記複数のサンプルと関連づけられた信号のディテールに基づいて、複数の組の前記符号化データを生成する、請求項１記載のコンピュータによって実施される方法。
【請求項１０】
ソースデータを符号化するためのビットレートラダーを選択させる指示であって、処理装置によって実行された際に、前記処理装置に、
量子化パラメータについて、１組のパラメータ値を選択する工程と、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成する工程と、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定する工程と、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出する工程と、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定する工程と、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する工程と
を行わせることによって、ソースデータを符号化するためのビットレートラダーを選択させる指示を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１１】
前記量子化パラメータを所与のパラメータ値に保ちつつ、ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１２】
前記エンコーダを構成する前記工程の前に、歪みの最大許容量に対応するよう前記所定の閾値を設定する工程を更に含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１３】
前記ビデオ品質指標の値を決定する前記工程が、ピークＳ／Ｎ比を識別することを含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１４】
前記ビデオ品質指標の値を決定する前記工程が、前記エンコーダによって生成されたログファイルに対して１以上の読み出し処理を行うことを含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１５】
前記１組の符合化データについて、前記対応するビットレートを決定する前記工程が、前記エンコーダによって生成されたログファイルに対して１以上の読み出し処理を行うことを含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１６】
前記ビットレートラダーを選択する前記工程が、前記バケット化ビットレートが複雑性バケットのビットレート範囲内であることを決定することと、前記複雑性バケットと関連づけられたビットレートラダーを識別することとを含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１７】
前記関係が方程式で表現される、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１８】
前記エンコーダを構成する前記工程の前に、前記ソースデータから複数のクリップを抽出する工程を更に含み、前記エンコーダが、前記複数のクリップと関連づけられた信号のディテールに基づいて、複数の組の前記符号化データを生成し、各前記クリップが所定の長さの時間を表す、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１９】
ソースデータを符号化するためのビットレートラダーを選択するよう構成されたシステムにおいて、
検証ジェネレータであって、
量子化パラメータについて、１組のパラメータ値を選択し、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成し、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定し、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出し、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定し、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する
よう構成された検証ジェネレータと、
前記ビットレートラダーを実装するよう構成された符号化エンジンと
を含むことを特徴とするシステム。
【請求項２０】
前記量子化パラメータを所与のパラメータ値に保ちつつ、ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、請求項１９記載のシステム。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
本願は、２０１５年３月３０日に出願された米国特許出願第１４／６７３，６２１号による利益を主張するものであり、これを参照して本明細書に組み込む。
【技術分野】
【０００２】
本発明の実施形態は、一般的に、コンピュータサイエンスに関し、より具体的には、符号化中にビットレートおよび解像度を最適化する技術に関する。
【背景技術】
【０００３】
ソースデータを効率的且つ正確に符号化することは、ビデオコンテンツのリアルタイムの配信のために不可欠である。動作において、符号化されたデータがエンドポイントマシンにおいて受信された後、符号化されたデータは復号化され、視聴または別様で更に処理される。符号化されたデータの圧縮率を高めるため、および／または、サイズを小さくするために、多くの符号化処理は、選択された情報を消去して、典型的にはソースデータのおおよその再構築のみを可能にする、損失の多いデータ圧縮技術を利用している。特に、エンコーダは情報を取り除くので、符号化されたデータの解像度は減少し、その結果、おおよその再構築が、視聴者が期待し所望する視覚的品質を有する可能性も低くなる。
【０００４】
動作において、エンコーダは、しばしば、符号化／復号化処理中に消費されるリソース（例えば、処理時間、帯域幅、ストレージ等）と視覚的品質との間のトレードオフを行う固定的なビットレートラダーを実装するよう構成される。ビットレートラダーの各「横木」は、異なるビットレートおよび解像度を表す。一般的に、使用可能なビットレートを所与として、エンコーダは、ビットレートラダーに基づいて符号化ビットレートおよび解像度を選択し、次に、決定されたビットレートおよび解像度において符号化データを生成する。
【０００５】
実際には、ビットレートラダーは、「典型的な」ソースデータに対して必要な品質レベルを有する符号化データを生成するよう調整される。しかし、ソースデータが「典型的な」ソースデータとは顕著に異なる状況では、ビットレートラダーによって表されているトレードオフは適切ではない場合がある。例えば、ビットレートラダーが単純なアニメーションについてトレードオフを最適化するよう設計されており、ソースデータが詳細なアクション映画である場合には、符号化中にビットレートラダーが課すトレードオフは、許容できない悪い視覚的品質を生じ得る。逆に、ビットレートラダーが詳細なアクション映画についてトレードオフを最適化するよう設計されており、ソースデータが単純なアニメーションである場合には、符号化中にビットレートラダーが課すトレードオフは、視覚的品質を顕著に高めることなく、リソースの負荷（例えば、ストレージおよび帯域幅の使用率等）を劇的に増加させ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記で示したように、当該技術分野においては、ソースデータを符号化する際にビットレートおよび解像度を選択するためのより効果的な技術が必要である。
【課題を解決するための手段】
【０００７】
本発明の一実施形態は、コンピュータによって実施される、ソースデータを符号化するためのビットレートラダーを選択する方法を述べる。本方法は、量子化パラメータについて、１組のパラメータ値を選択する工程と、各パラメータ値について、量子化パラメータをこれらのパラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成する工程と、各１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定する工程と、ビデオ品質指標と対応するビットレートとの間の関係を導出する工程と、この関係に基づいて、ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定する工程と、このバケット化ビットレートに基づいて、ソースデータを符号化するためのビットレートラダーを選択する工程とを含む。
【発明の効果】
【０００８】
本開示のビットレートラダーを選択する技術の１つの長所は、これらの技術が、ソースデータを符号化する際に、複雑性に合わせたビットレートおよび解像度を選択することを可能にすることである。特に、本開示の技術は、ソースデータの複雑性を反映するようビットレートラダーを調整するので、ソースデータの複雑性に関係なく一定のビットレートラダーを実装する従来の技術と比較して、符号化品質と符号化リソースとの間のトレードオフが最適化される。
【図面の簡単な説明】
【０００９】
【図１】本発明の１以上の態様を実装するよう構成されたシステムの概念図
【図２】本発明の一実施形態による、図１の符号化ビットレートラダー選択器を示すブロック図
【図３】本発明の一実施形態による、図２の符号化ビットレートラダー選択器によって実装される複雑性バケットおよびビットレートラダーの概念図
【図４】本発明の一実施形態による、図２の複雑性解析器によって構築された、単純なソースについてのピークＳ／Ｎ比（ＰＳＮＲ）曲線の概念図
【図５】本発明の一実施形態による、図２の複雑性解析器によって構築された、複雑なソースについてのピークＳ／Ｎ比（ＰＳＮＲ）曲線の概念図
【図６】本発明の一実施形態による、ビデオソースデータを符号化しつつ、ビットレートラダーを選択および実装する方法のステップのフロー図
【発明を実施するための形態】
【００１０】
本発明の上記の特徴を詳細に理解できるように、上記で簡潔に要約した本発明を、実施形態を参照してより具体的に説明する。実施形態の幾つかが、添付の図面に示されている。しかし、添付の図面は、本発明の典型的な実施形態のみを示すものであり、本発明の範囲を限定するものとは見なされず、本発明は、他の等しく効果的な実施形態を認め得ることを留意されたい。
【００１１】
以下の説明において、本発明のより完全な理解を提供するために、多くの具体的な詳細が述べられる。しかし、当業者には、これらの具体的な詳細の１以上を含まずとも本発明が実施され得ることが自明である。
【００１２】
システムの概観
図１は、本発明の１以上の態様を実装するよう構成されたシステム１００の概念図である。図示されるように、システム１００は、入力データの送信機能および／またはビデオの表示機能がある様々な装置に接続された仮想プライベートクラウド（即ち、カプセル化された共有リソース、ソフトウェア、データ等）１０２を含む。そのような装置は、デスクトップコンピュータ１０２、スマートフォン１０４、およびラップトップ１０６を含むが、それらに限定されない。別の実施形態では、システム１００は、任意の数および／またはタイプの入力装置、出力装置、および／または入出力装置を任意の組合せで含み得る。
【００１３】
仮想プライベートクラウド（ＶＰＣ）１０２は、任意の数およびタイプのコンピュートインスタンス１１０を含むが、それらに限定されない。ＶＰＣ１０２は、入力装置（例えば、ラップトップ１０６）からの入力ユーザ情報を受信し、１以上のコンピュータインスタンス１１０は、ユーザ情報に対する操作を行い、ＶＰＣ１０２は、処理された情報をユーザに送信する。ＶＰＣ１０２は、任意の数の装置（例えば、従来のＣＲＴ、液晶ディスプレイ、発光ダイオード等）の表示機能を介して、出力情報をユーザに伝達する。
【００１４】
別の実施形態では、ＶＰＣ１０２は、任意のタイプのクラウドコンピューティング環境（例えば、パブリッククラウドまたはハイブリッドクラウド等）と置き換えられ得る。他の実施形態では、システム１００は、ＶＰＣ１０２の代わりに、任意の分散型コンピュータシステムを含み得る。更に別の実施形態では、システム１００はＶＰＣ１０２を含まず、その代わりに、システム１００は、単一の処理装置またはマルチプロセッシング装置を含む。
【００１５】
コンピュートインスタンス１１００について図示されているように、各コンピュートインスタンス１１０は、中央処理装置（ＣＰＵ）１１２、グラフィック処理装置（ＧＰＵ）１１４、およびメモリ１１６を含む。動作において、ＣＰＵ１１２はコンピュートインスタンス１１０のマスタープロセッサであり、コンピュートインスタンス１１０に含まれる他の構成要素の動作を制御し調和させる。具体的には、ＣＰＵ１１２は、ＧＰＵ１１４の動作を制御するコマンドを発行する。ＧＰＵ１１４には、グラフィックおよびビデオ処理のために最適化された回路（例えば、ビデオ出力回路を含む）が組み込まれている。様々な実施形態において、ＧＰＵ１１４には、コンピュートインスタンス１１０の他の要素の１以上が統合され得る。メモリ１１６は、コンピュートインスタンス１１０のＣＰＵ１１２およびＧＰＵ１１４が用いるためのコンテンツ（例えばソフトウェアアプリケーションおよびデータ等）を格納する。
【００１６】
一般的に、ＶＰＣ１０２に含まれるコンピュートインスタンス１１０は、１以上のアプリケーションを実装するよう構成される。より具体的には、ＶＰＣ１０２に含まれるコンピュートインスタンス１１０は、例えばビデオファイル等のソースデータ１０５を符号化するよう構成される。図示されるように、コンピュートインスタンス１１００はソースインスペクタ１１０として構成され、コンピュートインスタンス１１０１〜１１０Ｎはエンコーダ１４０として構成される。別の実施形態では、ソースインスペクタ１１０は、より多くのコンピュートインスタンス１１０を含んでもよく、エンコーダ１４０は、単一のコンピュートインスタンス１１０のみを含んでもよい。
【００１７】
ソースインスペクタ１１０は、ソースデータ１０５を受信して、エンコーダ１４０を構成することを含む任意の数の符号化前処理を行う。例えば、一部の実施形態では、エンコーダ１４０は並列チャンクエンコーダである。そのような実施形態では、ソースインスペクタ１１０はソースを複数のソースチャンクに分割してから、それらのソースチャンクを、並列チャンクエンコーダに含まれる複数のコンピュートインスタンス１４０にルーティングする。
【００１８】
一般的に、エンコーダ１４０は、符号化処理のカスタマイズを可能にする複数のモードおよび設定（例えば、圧縮アルゴリズム）を含む。具体的には、エンコーダ１４０は、一定ビットレートモードおよび一定品質符号化モードの両方を実装するが、それらに限定されない。一定ビットレートモードでは、エンコーダ１４０は、符号化処理を通して目標ビットレートを保つよう試みる。エンコーダ１４０が、符号化ビットレートが目標ビットレートよりも高いことを検出した場合には、エンコーダ１４０は、符号化データ１４５の品質を下げる。エンコーダ１４０が、符号化ビットレートが目標ビットレートよりも低いことを検出した場合には、エンコーダ１４０は符号化データ１４５の品質を上げる。それとは対照的に、一定品質符号化モードでは、エンコーダ１４０は、符号化処理を通して一定の品質を保つよう試みる。エンコーダ１４０は、符号化データ１４５の品質を測定し、符号化品質を目標品質に保つために、符号化データ１４５に含める信号のディテールの量を定める量子化パラメータ（ＱＰ）を変化させる。或いは、エンコーダ１４０は、符号化処理を通して、ＱＰを一定の値に設定する。
【００１９】
エンコーダ１４０の構成は、必要なリソース（例えば、帯域幅およびストレージ等）および符号化データ１４５の品質に劇的に影響することが、当業者には認識されよう。異なるタイプのソースデータ１０５にわたって、必要なリソースを無駄にすることなく、許容可能な知覚される視覚的品質を満たすために符号化データ１４５を最適化するようエンコーダ１４０を構成することは、困難である。例えば、一定のビットレートラダーを利用して、目標ビットレートで符号化する手法等の従来の手法は、一部のタイプのソースデータ１０５については品質／リソースのトレードオフを最適化するが、他のタイプのソースデータ１０５については悪い結果を生じる。
【００２０】
この理由から、ソースインスペクタ１１０は、符号化ビットレートラダー選択器１３０を含む。動作において、符号化ビットレートラダー選択器１３０は、エンコーダ１４０を利用して、ソースデータ１０５の複雑性を推定し、次に、ソースデータ１０５を複雑性バケット１３２に割り当てる。次に、符号化ビットレートラダー選択器１３０は、選択された複雑性バケット１３２と関連づけられたビットレートラダー１３４を、ソースに合わせたビットレートラダー１３５として識別する。このようにして、符号化ビットレートラダー選択器１３０は、品質／リソースのトレードオフが、ソースデータ１０５の複雑性を反映するよう最適化されるのを可能にする。
【００２１】
一般的に、符号化ビットレートラダー選択器１３０は、任意の数の複雑性バケット１３２（各複雑性バケット１３２は、ソースデータ１０５についてのそれぞれ異なる範囲の複雑性を表す）を含み得る。例えば、一部の実施形態では、「単純」な複雑性バケット１３２は、最も低い範囲の複雑性（例えば、基本的なアニメーションのソースデータ１０５等）を表す。各複雑性バケット１３２は、複雑性バケット１３２によって表される複雑性を有するソースデータ１０５について符号化のトレードオフを最適化するよう調整されたビットレートラダー１３４のうちの特定の１つと関連づけられている。
【００２２】
符号化ビットレートラダー選択器１３０は、任意の技術的に実行可能な方法で、複雑性バケット１３２およびビットレートラダー１３４を実装し得る。一部の実施形態では、符号化ビットレートラダー選択器１３０は、ソースデータ１０５を含む何らかのソースデータを処理する前に、複雑性バケット１３２およびビットレートラダー１３４を設定する初期化部を含む。別の実施形態では、初期化部は符号化ビットレートラダー選択器１３０には含まれず、システム１００に含まれる１つのユニットである。更に別の実施形態では、初期化部はシステム１００に含まれない。
【００２３】
一実施形態では、初期化部は、最適化された複雑性バケット１３２およびビットレートラダー１３４を生成するために、手作業で評価される符号化品質フィードバック情報を提供する。まず、初期化部は、「典型的な」ビットレートラダーを受信する。次に、初期化部は、典型的なビットレートラダーに含まれるビットレートにわたる、（ソースデータ１０５の予期される複雑性の範囲にわたる）様々なテストデータを解析する。得られる符号化テストデータは、ラダーの横木およびテストデータの両方の範囲にわたるものである。
【００２４】
符号化テストデータを生成した後、初期化部は、各符号化テストデータの品質を評価する。より具体的には、初期化部は、符号化テストデータに、Tektronix（登録商標）画質解析器（ＰＱＡ：Picture Quality Analyzer）ツールを適用する。ＰＱＡツールは、符号化テストデータに、「人間による主観的な視覚的評価に近い」画質評定（ＰＱＲ：Picture Quality Rating）スコアを割り当てる。次に、初期化部は、ビットレートとＰＱＲスコアによる品質とを対比させたグラフ（ここで、品質はＰＱＲスコアである）を作成する。ＰＱＲグラフに基づいて、ソースデータ１０５の予期される複雑性にわたってリソースと品質との間の許容可能なトレードオフを生じるための、最適化された複雑性バケット１３２およびビットレートラダー１３４が選択される。とりわけ、最適化された複雑性バケット１３２およびビットレートラダー１３４は、以下の目的を満たすために作成され得る：
・解像度を最適化することによって、同じビットレートを所与としたビデオ品質を改善する。 
・ストレージおよび帯域幅を節約する。単純なソースについては、高いビットレートのストリームは不必要であり（明らかな品質の利得がない）、その結果、ストレージおよび帯域幅が無駄になる。
・複雑なソースについては、より高いビットレートのストリームを使って、より良好な品質を達成する。複雑なテストデータに対応する複雑性バケット１３２については、許容可能な品質を達成するために、更なるビットレートが追加され得る。
【００２５】
複雑性バケット１３２およびビットレートラダー１３４は、ＰＱＲグラフに基づいて、任意の技術的に実行可能な方法（例えば、手作業により評価等）で生成され得る。別の実施形態では、ＰＱＲスコアは、任意の品質測定と置き換えられ得る。一般的に、複雑性バケット１３２およびビットレートラダー１３４は、様々な複雑性およびビットレートにわたってテストデータを評価する任意の技術的に実行可能な方法で生成され得る。
【００２６】
初期化部の完了後、得られた複雑性バケット１３２およびビットレートラダー１３４は、符号化ビットレートラダー選択器１３０に組み込まれるか、または通信される。様々な実施形態では、複雑性バケット１３２およびビットレートラダー１３４は、当該技術分野において知られている任意の通信方法を介してシステム１００に転送され得る。
【００２７】
ソースの複雑性を推定する
図２は、本発明の一実施形態による、図１の符号化ビットレートラダー選択器１３０を示すブロック図である。符号化ビットレートラダー選択器１３０は、ソースデータ１０５を受信し、ソースデータ１０５の複雑性を推定し、ビットレートラダー１３４から、対応するソースに合わせたビットレートラダー１３５を選択する。ソースデータ１０５に対する最適なリソース／品質のトレードオフを表すビットレートラダー１３４を識別することの一部として、符号化ビットレートラダー選択器１３０は、エンコーダ１４０および複雑性バケット１３２を利用する。
【００２８】
図示されるように、符号化ビットレートラダー選択器１３０は、サンプル抽出器２１０、複雑性解析器２２０、およびバケット化部２６０を含むが、これらに限定されない。ソースデータ１０５を受信すると、サンプル抽出器２１０は、ソースデータ１０５を４つの等しい長さのセグメントに分割する。各セグメントについて、サンプル抽出器２１０は、セグメントの中点に中心合わせされた１分間のサンプル２１５を選択する。このようにして、サンプルエンコーダは、ソースデータ１０５にわたって均等に分散された４つの１分間のサンプル２１５を識別する。これらのサンプル２１５は共に、ソースデータ１０５の代理としての役割をする。サンプル２１５が含む情報はソースデータ１０５よりも少ないので、サンプル２１５の複雑性を評価するのに要する時間は、ソースデータ１０５の複雑性を評価するのに要する時間よりも少ない。
【００２９】
別の実施形態では、サンプル抽出器２１０は、ソースデータ１０５を任意の数のセグメントに分割して、ソースデータ１０５の代表的な代理を生成する任意の方法で、セグメントからサンプルを抽出し得る。更に、サンプル抽出器２１０は、任意の方法で（例えば、最大処理時間の制約を満たす）、任意の数および長さのサンプル２１５を生成するよう構成され得る。更に別の実施形態では、サンプル抽出器２１０は省略され、ソースデータ１０５は単一の完全な長さのサンプル２１５として処理される。
【００３０】
複雑性解析器２２０は、４つのサンプル２１５を受信し、１０８０ｐの解像度で４つの異なるＱＰ２２５にわたって４つのサンプル２１５の固定的ＱＰ符号化を行うためのエンコーダ１４０を構成する。動作において、複雑性解析器２２０は、１６個の符号化タスク２３３を実行するためのエンコーダ１４０を構成することにより、１６個の一定ＱＰ符号化２３５を生成する。ＱＰ２２５の値は実験によっておよび／または発見的に決定され、任意の数の複雑性について、許容できない品質の劣化を生じることなくリソースの使用率を効果的に低減することが見込まれるＱＰ２２５の範囲を良好にカバーするよう吟味される。別の実施形態では、複雑性解析器２２０は、任意の数のＱＰ２２５および任意の数のサンプル２１５にわたる任意の数の符号化タスク２３３を任意の組合せで行うために、エンコーダ１４０をカスタマイズし得る。更に、複雑性解析器２２０は、任意の数および値の解像度について、固定的ＱＰ符号化を行い得る。
【００３１】
システム１００の複雑性解析処理の精度を高めるために、複雑性解析器２２０は、ソースデータ１０５に対する符号化処理の一部として含まれるエンコーダ１４０を利用する。しかし、別の実施形態では、複雑性解析器２２０は、一定ＱＰ符号化２３５を生成するために、任意の利用可能な数およびタイプのエンコーダを構成し得る。
【００３２】
次に、各一定ＱＰ符号化２３５について、複雑性解析器２２０は、ピークＳ／Ｎ比（ＰＳＮＲ）（二乗平均誤差に基づく目標品質指標）の値を決定し、ビットレートを算出する。一部の実施形態では、複雑性解析器２２０は、一定ＱＰ符号化２３５のＰＳＮＲ値を測定するようエンコーダ１４０を構成する。別の実施形態では、複雑性解析器２２０は、各一定ＱＰ符号化２３５のＰＳＮＲ値を測定するために、複雑性解析器２２０の一部であってもよく、または一部でなくてもよいＰＳＮＲ測定ツールを用いる。
【００３３】
複雑性解析器２２０は、任意の技術的に実行可能な方法で、各一定ＱＰ符号化２３５のビットレートを決定する。一部の実施形態では、複雑性解析器２２０は、ビットレートを識別するために、（符号化処理中にエンコーダ１４０によって生成された）ログファイルに対して読み出し処理を行う。別の実施形態では、複雑性解析器２２０は、一定ＱＰ符号化２３５のサイズ（即ち、ファイルサイズ）を一定ＱＰ符号化２３５の持続時間で除算することにより（即ち、フレーム数／１秒当たりのフレーム数）、ビットレートを算出する。
【００３４】
ＰＳＮＲ値および対応するビットレートを取得した後、複雑性解析器２２０は、ＰＳＮＲ値と対応するビットレートとを相関させる。一部の実施形態では、相関処理を行う前に、複雑性解析器２２０は、各ＱＰ２５５についてのＰＳＮＲ値および／または対応するビットレートの平均値を求める。より具体的には、ＱＰ２５５０について、複雑性解析器２２０は、ＱＰ２５５０での一定ＱＰ符号化２３５の符号化中に４つのサンプル２１５について取得された４つのＰＳＮＲ値にわたる平均値および４つのビットレートにわたる平均値を求める。
【００３５】
図示されるように、複雑性解析器２２０は、決定された相関を反映するＰＳＮＲグラフ２５５を生成する。動作において、複雑性解析器２２０は、一定ＱＰ符号化２３５についてのビットレートに対してＰＳＮＲ値をプロットし、次に、曲線近似処理を行って曲線方程式を生成する。別の実施形態では、ＰＳＮＲグラフ２５５の代わりに、複雑性解析器２２０は、一定ＱＰ符号化２３５と関連づけられた統計に基づいて、ＰＳＮＲ変数およびビットレート変数を含む方程式を生成する。一般的に、本発明の実施形態は、一定ＱＰ符号化２５５の品質とビットレートとの間の推定される関係を決定するために、ＰＳＮＲの代わりに、任意の技術的に実行可能な技術および／または任意の品質測定を用いてよい。
【００３６】
ソースに合わせたビットレートラダーを割り当てる
バケット化部２６０は、ソースに合わせたビットレートラダー１３５を生成するために、複雑性バケット１３２およびビットレートラダー１３４に関して、ＰＳＮＲグラフ２５５を評価する。より具体的には、バケット化部２６０は、ＰＳＮＲグラフ２５５に基づいて、複雑性バケット化ビットレートを決定する。複雑性バケット化ビットレートとは、ＰＳＮＲグラフ２５５のＰＳＮＲ値が、所定の低歪み閾値に等しくなるビットレートである。その結果、複雑性バケット化ビットレートは、ソースデータ１０５と比較した符号化データ１４５の歪みが所定の低歪み閾値に一致する、推定されたビットレートである。所定の低歪み閾値は、複雑性バケット１３２およびビットレートラダー１３４と調和する様々な発見的および実験による技術のうちの任意のものを用いて割り当てられ得る。
【００３７】
一般的に、バケット化部２６０は、任意の技術的に実行可能な方法で、複雑性バケット化ビットレートを決定してよい。例えば、バケット化部２６０は、ＰＳＮＲグラフ２５５の曲線と所定の低歪み閾値の一定のＰＳＮＲ値に対応する線との交点を識別し得る。別の実施形態では、バケット化部２６０は、ＰＳＮＲ／ビットレート方程式のＰＳＮＲ変数を所定の低歪み閾値に設定して、ビットレート変数のその値について、ＰＳＮＲ／ビットレート方程式を解いてもよい。
【００３８】
次に、バケット化部２６０は、複雑性バケット化ビットレートを複雑性バケット１３２のビットレート範囲と比較して、包含的な複雑性バケット１３２を選択する。次に、バケット化部２６０は、ソースに合わせたビットレートラダー１３５を、選択された複雑性バケット１３２に対応するビットレートラダー１３４に設定する。このようにして、ソースに合わせたビットレートラダー１３５は、ソース１０５の推定された複雑性に基づいて変化する。単一のビットレートラダーに依拠する従来の技術とは異なり、このカテゴリー化処理は、ソース１０５のそれぞれ異なる複雑性にわたってリソース／品質のトレードオフを最適化するので有利である。
【００３９】
図３は、本発明の一実施形態による、図２の符号化ビットレートラダー選択器１３０によって実装される複雑性バケット１３２およびビットレートラダー１３４の概念図である。図示されるように、複雑性バケット１３２は、４１デシベル（ｄＢ）に等しいＰＳＮＲ値の低相関閾値におけるビットレートに基づく３つの異なる分類を含む。ＰＳＮＲ値が４０ｄＢより大きい場合には、符号化データ１４５は、一般的に、ソースデータ１０５と比較して非常に低い歪みであると見なされることが、当業者には認識されよう。別の実施形態は、任意の数の分類および任意の低相関閾値を含み得る。
【００４０】
ＰＳＮＲグラフ２５５に基づいて、バケット化部２６０は、複雑性バケット化ビットレート（Ｒ）（４１ｄＢのＰＳＮＲ値に対応する曲線のビットレート値）を決定する。図示されるように、複雑性バケット１３２は、低複雑性バケット１３２１、中複雑性バケット１３２２、および高複雑性バケット１３２３を含む。複雑性バケット化ビットレートが１７５０キロビット／秒（ｋｂｐｓ）未満である場合には、バケット化部２６０は、ソースデータ１３５を低複雑性バケット１３２１に割り当てる。複雑性バケット化ビットレートが１７５０ｋｂｐｓ〜４３００ｋｂｐｓである場合には、バケット化部２６０は、ソースデータ１３５を中複雑性バケット１３２２に割り当てる。複雑性バケット化ビットレートが少なくとも４３００ｋｂｐｓである場合には、バケット化部２６０は、ソースデータ１３５を高複雑性バケット１３２３に割り当てる。
【００４１】
図示されるように、各複雑性バケット１３２は、ビットレートラダー１３４のうちのそれぞれ異なる１つと関連づけられている。ビットレート／解像度の対は、各ビットレートラダー１３４の横木を定める。更に、各横木は、符号化処理中にエンコーダ１４０が用いるアルゴリズムの複雑性を特定するプロファイルを含む。各横木の値および横木の数は、各複雑性バケット１３２について調整される。複雑性バケット１３２およびビットレートラダー１３４は共に、リソースの改善と品質の改善とのトレードオフを最適化するよう設計される。例えば、低複雑性ソースについては、最大の知覚可能な視覚的品質は、３０００ｋｂｐｓ前後のビットレートにおいて達成される。より高いビットレートでの符号化は、視覚的品質を顕著に高めることなく、リソースの無駄となるので、低複雑性ビットレートラダー１３４１の最も高い横木は３０００ｋｂｐｓにあり、その結果、エンコーダ１４０は、３０００ｋｂｐｓの最大ビットレートを有する符号化データ１４５を生成する。
【００４２】
図４は、本発明の一実施形態による、図２の複雑性解析器２２０によって構築された、単純なソースについてのピークＳ／Ｎ比（ＰＳＮＲ）曲線４００の概念図である。図示されるように、複雑性バケット化ビットレート４１０（即ち、４１ｄＢに等しいＰＳＮＲ値である低相関閾値における曲線のビットレート）は６００ｋｂｐｓである。より具体的には、水平方向の点線は、４１ｄＢに等しいＰＳＮＲ値を有する一定の線を示している。水平方向の点線は、「ｘ」として示されている複雑性バケット化ビットレート４１０において、単純なソースについてのＰＳＮＲ曲線４００と交差する。複雑性バケット化ビットレート４１０から（垂直方向の点線に沿って）垂直方向に下に辿ると、複雑性バケット化ビットレート４１０が６００ｋｂｐｓにおいてビットレート軸と交差することが示されている。
【００４３】
再び図３を参照すると、６００ｋｂｐｓのビットレートに基づいて、バケット化部２６０は、ソースデータ１０５を低複雑性バケット１３２１に割り当て、ソースに合わせたビットレートラダー１３５を、それに対応する低複雑性ビットレートラダー１３４１に設定する。特に、ビットレートラダー１３４１を実装することは、最も高い符号化解像度およびビットレートがそれぞれ１０８０ｐおよび３０００ｋｂｐｓ（低複雑性ビットレートラダー１３４１の最も高い横木）であることを確実にする。中複雑性ビットレートラダー１３４２のより高い符号化解像度およびビットレート（例えば、１０８０ｐの解像度および４３００ｋｂｐｓのビットレート等）の横木は、単純なソースデータ１０５については更なる品質の利得を提供しないので、符号化解像度およびビットレートを制限することは、品質に影響することなくリソースを節約するので有利である。
【００４４】
図５は、本発明の一実施形態による、図２の複雑性解析器によって構築された、複雑なソースについてのピークＳ／Ｎ比（ＰＳＮＲ）曲線の概念図である。図示されるように、複雑性バケット化ビットレート４１０（即ち、４１ｄＢに等しいＰＳＮＲ値である低相関閾値における曲線のビットレート）は６０００ｋｂｐｓである。より具体的には、水平方向の点線は、４１ｄＢに等しいＰＳＮＲ値を有する一定の線を示している。この水平方向の点線は、「ｘ」として示されている複雑性バケット化ビットレート４１０において、複雑なソースについてのＰＳＮＲ曲線５００と交差する。複雑性バケット化ビットレート４１０から（垂直方向の点線に沿って）垂直方向に下に辿ると、複雑性バケット化ビットレート４１０は、６０００ｋｂｐｓにおいてビットレート軸と交差することが示されている。
【００４５】
再び図３を参照すると、６０００ｋｂｐｓのビットレートに基づいて、バケット化部２６０は、ソースデータ１０５を高複雑性バケット１３２３に割り当て、ソースに合わせたビットレートラダー１３５を、それに対応する高複雑性ビットレートラダー１３４３に設定する。特に、ビットレートラダー１３４３を実装することは、最大解像度１０８０ｐおよび最大ビットレート７５００ｍｂｐｓでソースデータ１０５を符号化するようエンコーダ１４０を構成する。ソースデータ１０５は比較的複雑なので、そのようなトレードオフは、利用可能なリソースを用いた顕著な品質の改善を可能にする。それとは対照的に、ソースに合わせたビットレートラダー１３５を中複雑性ビットレートラダー１３４２にした場合には、符号化ビットレートは、５８００ｍｂｐｓまでに不必要に制限されることになる。
【００４６】
図６は、本発明の一実施形態による、ビデオソースデータを符号化しつつ、ビットレートラダーを選択および実装する方法のステップのフロー図である。この方法のステップは、図１〜図５のシステムを参照して説明されるが、この方法のステップを任意の順序で実装するよう構成された任意のシステムが本発明の範囲に含まれることが、当業者には理解されよう。単に議論を進める目的で、この図６の説明では、低歪み閾値、ＱＰ２２５、ビットレートラダー１３４、および複雑性バケット１３２は、任意の技術的に実行可能な方法で予め決定されているものとする。
【００４７】
図示されるように、方法６００は、ステップ６０４において開始し、ここで、符号化ビットレートラダー選択器１３０はソースデータ１０５を受信し、サンプル抽出器２１０はソースデータ１０５をＮ個のセグメントに分割する（ここで、Ｎは任意の正の整数である）。ステップ６０６において、Ｎ個のセグメントの各々について、サンプル抽出器２１０は、セグメントの中点に中心合わせされた固定的な長さのサンプル２１５を選択する。得られたＮ個のサンプル２１５は、ソースデータ１０５に対する代理としての役割をし、ソースデータ１０５の複雑性を分類するために評価されるデータの合計量を制限することによって、解析時間を低減するので有利である。
【００４８】
複雑性解析器２２０は、サンプル２１５を受信して、Ｍ個の所定の一定のＱＰ２２５にわたって固定的な解像度でサンプル２１５の固定的ＱＰ符号化を行うようエンコーダ１４０を構成する。ステップ６０８において、複雑性解析器２２０は、（Ｎ＊Ｍ）個の各一定ＱＰ符号化２３５について、ＰＳＮＲ値を決定する。一部の実施形態では、複雑性解析器２２０は、一定ＱＰ符号化２３５のＰＳＮＲ値を測定するようエンコーダ１４０を構成する。一般的に、本発明の実施形態は、ＰＳＮＲを任意の品質指標と置き換えてもよく、この場合、測定および算出は、それに従って変更される。
【００４９】
ステップ６１０において、複雑性解析器２２０は、各一定ＱＰ符号化２３５について、対応するビットレート値を決定する。複雑性解析器２２０は、任意の技術的に実行可能な方法で、各一定ＱＰ符号化２３５のビットレートを決定する。一部の実施形態では、複雑性解析器２２０は、一定ＱＰ符号化２３５のサイズ（即ち、ファイルサイズ）を一定ＱＰ符号化２３５の持続時間によって除算することにより（即ち、フレーム数／１秒間当たりのフレーム数）、ビットレートを算出する。
【００５０】
ステップ６１４において、複雑性解析器２２０は、ＰＳＮＲ値とそれに対応するビットレートとを関係づける最良の近似曲線を含むＰＳＮＲグラフ２５５を生成する。別の実施形態では、ＰＳＮＲグラフ２５５の代わりに、複雑性解析器２２０は、一定ＱＰ符号化２３５と関連づけられた統計に基づいて、ＰＳＮＲ変数およびビットレート変数を含む方程式を生成する。一般的に、本発明の実施形態は、技術的に実現可能な任意の技術を用いて、一定ＱＰ符号化２５５の品質とビットレートとの間の推定された関係を決定し得る。
【００５１】
ステップ６１６において、バケット化部２６０は、ＰＳＮＲグラフ２５５を評価して、複雑性バケット化ビットレート４１０を決定する。なお、バケット化部２６０は、複雑性バケット化ビットレート４１０を、ＰＳＮＲグラフ２５５中の、ＰＳＮＲ値が所定の低歪み閾値に等しくなるビットレートの値に設定する。次に、バケット化部２６０は、複雑性バケット化ビットレート４１０を含むビットレートの範囲に対応する複雑性バケット１３２を選択する。ステップ６１８において、バケット化部２６０は、選択された複雑性バケット１３２に対応するビットレートラダー１３４を選択する。ステップ６２０において、バケット化部２６０は、ソースに合わせたビットレートラダー１３５を、選択されたビットレートラダー１３４に設定し、方法６００は終了する。
【００５２】
特に、ソースに合わせたビットレートラダー１３５は、ソースデータ１０５と同等の複雑性のソースデータについて、符号化ビットレートおよび解像度を最適化するよう調整される。例えば、再び図３を参照すると、比較的単純なソースデータ１０５については、ソースに合わせたビットレートラダー１３５は、顕著な品質の改善を提供しない３０００ｋｂｐｓより高いビットレートの横木を含まない。それとは対照的に、比較的複雑なソースデータ１０５については、ソースに合わせたビットレートラダー１３５は、リソース（例えば、メモリおよび帯域幅等）を使うことで品質の向上を提供する７５００ｋｂｐｓのビットレートの横木を含む。
【００５３】
要約すると、本開示の技術は、ソースデータを符号化するために最適化されたビットレートラダー（即ち、ビットレートと解像度との対）を効率的に選択するために用いられ得る。動作において、ソースインスペクタは、ソースデータから「Ｎ」個の分散したサンプルセグメントを抽出する。各サンプルセグメントについて、複雑性解析器は、量子化パラメータの「Ｍ」個の異なる値にわたって固定的量子化パラメータ符号化を行うようエンコーダを構成する。次に、複雑性解析器は、（Ｎ＊Ｍ）個の符号化データセグメントについて、ＰＳＮＲとビットレートとの間の関係を反映するピークＳ／Ｎ比（ＰＳＮＲ）曲線の方程式を生成する。
【００５４】
次に、バケット化部は、この方程式のＰＳＮＲ変数を、許容可能な歪みのレベルを表す所定の値に設定し、この方程式を解いてバケット化ビットレートを取得する。バケット化ビットレートに基づいて、バケット化部は、ソースデータを、複数の複雑性バケット（各複雑性バケットは、特定の複雑性のソースデータについて許容可能な歪みのレベルを達成するビットレート範囲にわたる）のうちの１つに割り当てる。例えば、１つのバケットは単純なソースデータ（例えば、アニメーション等）を表し、別のバケットは複雑なソースデータ（例えば、詳細なアクション映画等）を表し得る。特に、各複雑性バケットは、対応する複雑性のソースデータの符号化を最適化するよう経験的に決定されたビットレートラダーと関連づけられている。
【００５５】
複雑性バケットを鋭敏に生成して、適切な複雑性バケットのビットレートラダーを用いて各ソースデータを符号化することは、異なる複雑性のソースデータについての符号化を最適化するので有利である。より具体的には、本開示の技術は、ソースの複雑性に合わせてビットレートラダーを調整するので、バケット化は、符号化品質と符号化リソース（例えば、帯域幅およびストレージ等）との間の賢明なトレードオフを可能にする。それとは対照的に、単一のビットレートラダーに依拠する従来の符号化処理は、しばしば、許容できない低品質の符号化を生じるか、または、思慮深く推定された知覚可能な品質の違いに基づいて符号化リソースの使用を増減する機会を効果的に利用しない。
【００５６】
説明の目的で、様々な実施形態の説明を示したが、これらは網羅的であることを意図したものではなく、開示された実施形態に限定することは意図しない。当業者には、記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が自明である。
【００５７】
本実施形態の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。従って、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウエア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとり得るものであり、それらの全てを、本明細書においては一般的に「回路」、「モジュール」、または「システム」と称する。更に、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する１以上のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態をとり得る。
【００５８】
１以上のコンピュータ可読媒体の任意の組合せが用いられ得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、またはそれらの任意の適切な組合せであり得るが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例（網羅的ではないリスト）としては、１以上のワイヤを有する電気的接続、ポータブルコンピュータのディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭもしくはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光ストレージ装置、磁気ストレージ装置、またはそれらの任意の適切な組合せが挙げられる。本明細書の文脈において、コンピュータ可読記憶媒体は、指示を実行するシステム、装置、またはデバイスによって用いられる、またはそれらに関連して用いられるプログラムを収容または格納可能な、任意の有体の媒体であり得る。
【００５９】
上記において、本開示の態様を、本開示の実施形態による方法、装置（システム）およびコンピュータプログラム製品のフローチャートおよび／またはブロック図を参照して説明した。フローチャートおよび／またはブロック図の各ブロック、並びに、フローチャートおよび／またはブロック図のブロックの組合せは、コンピュータプログラムの指示によって実装され得ることが理解されよう。これらのコンピュータプログラム指示は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに供給されてマシンを生成し得るものであり、そのコンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される指示が、フローチャートおよび／またはブロック図の１または複数のブロックにおいて指定されている機能／動作の実装を可能にするようになっている。そのようなプロセッサは、汎用プロセッサ、専用プロセッサ、特定用途向けプロセッサ、またはフィールドプログラマブルプロセッサであり得るが、それらに限定されない。
【００６０】
図面中のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および処理を示すものである。この点に関して、フローチャートまたはブロック図の各ブロックは、指定されている論理的機能を実装するための１以上の実行可能な指示を含むモジュール、セグメント、またはコードの一部を表し得る。なお、幾つかの別の実装例においては、ブロック内に記されている機能が、図面に記されている順序から外れて生じ得る。例えば、続けて示されている２つのブロックが、含まれる機能に応じて、実際には略並列に実行される場合もあり、または、それらのブロックが逆の順序で実行される場合もある。また、ブロック図および／またはフローチャートの各ブロック、並びに、ブロック図および／またはフローチャートのブロックの組合せは、指定されている機能もしくは動作を行う専用ハードウェアに基づくシステムによって、または、専用ハードウェアとコンピュータ指示との組合せによって実装され得る。
【００６１】
上記は本開示の実施形態に向けられているが、本開示の基本的な範囲から逸脱することなく、本開示の他のおよび更なる実施形態も考案され得るものであり、本開示の範囲は添付の特許請求の範囲によって決定される。
以下、本発明の好ましい実施形態を項分け記載する。
実施形態１  
コンピュータによって実施される、ソースデータを符号化するためのビットレートラダーを選択する方法であって、
量子化パラメータについて、１組のパラメータ値を選択する工程と、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成する工程と、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定する工程と、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出する工程と、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定する工程と、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する工程と
を含むことを特徴とする方法。
実施形態２  
前記量子化パラメータを所与のパラメータ値に保ちつつ、前記ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態３  
前記１組のパラメータ値を選択する前記工程が、精度の制約および複雑性の制約の両方を満たす信号のディテールの量を選択することを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態４  
前記ビデオ品質指標の値を決定する前記工程が、ピークＳ／Ｎ比を識別することを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態５  
前記ビデオ品質指標の値を決定する前記工程が、画質評定を算出することを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態６  
前記１組の符合化データについて、前記対応するビットレートを決定する前記工程が、前記１組の符合化データと関連づけられたサイズおよび前記１組の符合化データのプレイアウト継続時間と関連づけられた時間の量に基づく除算演算を行うことを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態７  
前記ビットレートラダーを選択する前記工程が、前記バケット化ビットレートが複雑性バケットのビットレート範囲内であることを決定することと、前記複雑性バケットと関連づけられたビットレートラダーを識別することとを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態８  
前記関係が曲線であり、前記関係を導出する前記工程が、前記１組の符合化データに１以上の曲線近似処理を適用することを含む、実施形態１記載のコンピュータによって実施される方法。
実施形態９  
前記エンコーダを構成する前記工程の前に、前記ソースデータから複数のサンプルを抽出する工程を更に含み、前記エンコーダが、前記複数のサンプルと関連づけられた信号のディテールに基づいて、複数の組の前記符号化データを生成する、実施形態１記載のコンピュータによって実施される方法。
実施形態１０  
ソースデータを符号化するためのビットレートラダーを選択させる指示であって、処理装置によって実行された際に、前記処理装置に、
量子化パラメータについて、１組のパラメータ値を選択する工程と、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成する工程と、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定する工程と、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出する工程と、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定する工程と、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する工程と
を行わせることによって、ソースデータを符号化するためのビットレートラダーを選択させる指示を含むことを特徴とするコンピュータ可読記憶媒体。
実施形態１１  
前記量子化パラメータを所与のパラメータ値に保ちつつ、ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１２  
前記エンコーダを構成する前記工程の前に、歪みの最大許容量に対応するよう前記所定の閾値を設定する工程を更に含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１３  
前記ビデオ品質指標の値を決定する前記工程が、ピークＳ／Ｎ比を識別することを含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１４  
前記ビデオ品質指標の値を決定する前記工程が、前記エンコーダによって生成されたログファイルに対して１以上の読み出し処理を行うことを含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１５  
前記１組の符合化データについて、前記対応するビットレートを決定する前記工程が、前記エンコーダによって生成されたログファイルに対して１以上の読み出し処理を行うことを含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１６  
前記ビットレートラダーを選択する前記工程が、前記バケット化ビットレートが複雑性バケットのビットレート範囲内であることを決定することと、前記複雑性バケットと関連づけられたビットレートラダーを識別することとを含む、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１７  
前記関係が方程式である、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１８  
前記エンコーダを構成する前記工程の前に、前記ソースデータから複数のクリップを抽出する工程を更に含み、前記エンコーダが、前記複数のクリップと関連づけられた信号のディテールに基づいて、複数の組の前記符号化データを生成し、各前記クリップが所定の長さの時間を表す、実施形態１０記載のコンピュータ可読記憶媒体。
実施形態１９  
ソースデータを符号化するためのビットレートラダーを選択するよう構成されたシステムにおいて、
検証ジェネレータであって、
量子化パラメータについて、１組のパラメータ値を選択し、
各前記パラメータ値について、前記量子化パラメータを前記パラメータ値に保ちつつ、ソースデータを符合化して１組の符合化データを生成するためのエンコーダを構成し、
各前記１組の符合化データについて、ビデオ品質指標の値およびそれに対応するビットレートを決定し、
前記ビデオ品質指標と前記対応するビットレートとの間の関係を導出し、
前記関係に基づいて、前記ビデオ品質指標が所定の閾値に等しくなるバケット化ビットレートを決定し、
前記バケット化ビットレートに基づいて、前記ソースデータを符号化するためのビットレートラダーを選択する
よう構成された検証ジェネレータと、
前記ビットレートラダーを実装するよう構成された符号化エンジンと
を含むことを特徴とするシステム。
実施形態２０  
前記量子化パラメータを所与のパラメータ値に保ちつつ、ソースデータを符合化するための前記エンコーダを構成する前記工程が、前記符号化データに含める信号のディテールの量を設定することを含む、実施形態１９記載のシステム。
【符号の説明】
【００６２】
１００  システム
１０５  ソースデータ
１１０  ソースインスペクタ
１３０  符号化ビットレートラダー選択器
１３２  複雑性バケット
１３４  ビットレートラダー
１３５  ソースに合わせたビットレートラダー
１４０  エンコーダ
１４５  符号化データ
２１０  サンプル抽出器
２１５  サンプル
２２０  複雑性解析器
２２５  量子化パラメータ（ＱＰ）
２３５  一定ＱＰ符号化
２５５  ピークＳ／Ｎ比（ＰＳＮＲ）グラフ
２６０  バケット化部
４１０  複雑性バケット化ビットレート
【図１】
0006706269.tif 000002
【図２】
0006706269.tif 000003
【図３】
0006706269.tif 000004
【図４】
0006706269.tif 000005
【図５】
0006706269.tif 000006
【図６】
0006706269.tif 000007