(57)【要約】本明細書に説明される技法は、エンコーディングビットレート（および随意に、他のプロファイル設定）が特定のコンテンツのために最適化されるメディア（ビデオ）ストリーミングのための１つ以上の「動的プロファイル」を作成することを対象とする。より具体的には、技法は、特定のコンテンツの１つ以上の「プローブ」エンコーディングを実施し、標的品質値の十分に近傍（閾値内）の品質値を有するエンコーディングをもたらすエンコーディングビットレート（および随意に、他のプロファイル設定）を決定することを伴う。
2020502898.tif 000002
【特許請求の範囲】
【請求項１】
ソースコンテンツをエンコードすることにおける最適化の方法であって、前記方法は、
コンピュータシステムによって、前記ソースコンテンツを取得することであって、前記ソースコンテンツは、第１の電子フォーマットにおけるビデオを備えている、ことと、
少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定することと、
前記少なくとも１つのプローブエンコーディングを行うことと、
少なくとも部分的に、前記少なくとも１つのプローブエンコーディングからの結果に基づいて、最終エンコーディングのためのエンコーディングパラメータを決定することと、
前記コンピュータシステムを用いて、前記ソースコンテンツをエンコードするためのプロファイルを生成することと
を含み、
前記ソースコンテンツをエンコードするための前記プロファイルは、
前記ソースコンテンツが第２の電子フォーマットにエンコードされる方法を示し、
前記最終エンコーディングのための前記エンコーディングパラメータを示す情報を含む、ソースコンテンツをエンコードすることにおける最適化の方法。
【請求項２】
前記少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることを決定することと、
前記第１のプローブエンコーディングの前記品質値と前記標的品質値との間の前記差異が前記ある閾値を超えることの前記決定に応答して、少なくとも部分的に、前記第１のプローブエンコーディングのためのビットレートに基づいて、前記少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングのためのビットレートを決定することと
をさらに含む、請求項１に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項３】
前記標的品質値は、知覚的に加重された標的品質値を備えている、請求項２に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項４】
前記標的品質値に基づいて、ビデオ解像度を決定することをさらに含む、請求項２に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項５】
前記最終エンコーディングのための前記エンコーディングパラメータを決定することは、品質モデルを前記少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値および前記少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングの品質値に適合させることを含む、請求項１に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項６】
少なくとも部分的に、前記第１のプローブエンコーディングの前記品質値に基づいて、前記品質モデルの利得および形状を決定することをさらに含む、請求項５に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項７】
前記ソースコンテンツをエンコードするための前記プロファイルを生成することは、ある性能指数関数のための最適化問題を解決し、前記最終エンコーディングのための前記エンコーディングパラメータのうちの１つ以上のものを決定することを含む、請求項５に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項８】
前記プロファイルは、前記最終エンコーディングが複数のエンコーディングのうちの１つを備えているエンコーディングラダーを備え、前記方法は、前記性能指数関数を使用して、前記複数のエンコーディングのうちの少なくとも１つの追加のエンコーディングのビデオ解像度およびビットレートを決定することをさらに含む、請求項７に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項９】
前記ソースコンテンツをエンコードするための前記プロファイルに従って、前記ソースコンテンツを前記第２の電子フォーマットにエンコードすることと、
前記第２の電子フォーマットにエンコードされた前記ソースコンテンツを記憶することと
をさらに含む、請求項１に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項１０】
前記少なくとも１つのプローブエンコーディングのため前記のエンコーディングパラメータを決定することは、標的ビデオ解像度にさらに基づく、請求項１に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項１１】
前記最終エンコーディングのための前記エンコーディングパラメータを決定することは、構造的類似性指標メトリック（ＳＳＩＭ）を示す標的品質値にさらに基づく、請求項１に記載のソースコンテンツをエンコードすることにおける最適化の方法。
【請求項１２】
サーバであって、前記サーバは、
通信インターフェースと、
メモリと、
前記通信インターフェースおよび前記メモリと通信可能に結合された処理ユニットと、
を備え、
前記処理ユニットは、
第１の電子フォーマットにおけるビデオを備えているソースコンテンツを取得することと、
少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定することと、
前記少なくとも１つのプローブエンコーディングを行うことと、
少なくとも部分的に、前記少なくとも１つのプローブエンコーディングからの結果に基づいて、最終エンコーディングのためのエンコーディングパラメータを決定することと、
前記ソースコンテンツをエンコードするためのプロファイルを生成することと
を前記サーバに行わせるように構成され、
前記ソースコンテンツをエンコードするための前記プロファイルは、
前記ソースコンテンツが第２の電子フォーマットにエンコードされる方法を示し、
前記最終エンコーディングのためのエンコーディングパラメータを示す情報を含む、
サーバ。
【請求項１３】
前記処理ユニットは、
前記少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることを決定することと、
前記第１のプローブエンコーディングの前記品質値と前記標的品質値との間の前記差異が前記ある閾値を超えることの決定に応答して、少なくとも部分的に、前記第１のプローブエンコーディングのためのビットレートに基づいて、前記少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングのためのビットレートを決定することと
を前記サーバに行わせるようにさらに構成されている、請求項１２に記載のサーバ。
【請求項１４】
前記標的品質値は、知覚的に加重された標的品質値を備えている、請求項１３に記載のサーバ。
【請求項１５】
前記処理ユニットは、前記標的品質値に基づいて、ビデオ解像度を決定することを前記サーバに行わせるように構成されている、請求項１３に記載のサーバ。
【請求項１６】
前記処理ユニットは、品質モデルを前記少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値および前記少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングの品質値に適合させることによって、前記最終エンコーディングのための前記エンコーディングパラメータを決定することを前記サーバに行わせるように構成されている、請求項１２に記載のサーバ。
【請求項１７】
前記処理ユニットは、少なくとも部分的に、前記第１のプローブエンコーディングの前記品質値に基づいて、前記品質モデルの利得および形状を決定することを前記サーバに行わせるように構成されている、請求項１６に記載のサーバ。
【請求項１８】
前記処理ユニットは、
前記ソースコンテンツをエンコードするための前記プロファイルに従って、前記ソースコンテンツを前記第２の電子フォーマットにエンコードすることと、
前記第２の電子フォーマットにエンコードされた前記ソースコンテンツを前記メモリ内に記憶することと
を前記サーバに行わせるように構成されている、請求項１２に記載のサーバ。
【請求項１９】
前記処理ユニットは、標的ビデオ解像度にさらに基づいて、前記少なくとも１つのプローブエンコーディングのための前記エンコーディングパラメータを決定することを前記サーバに行わせるように構成されている、請求項１２に記載のサーバ。
【請求項２０】
前記処理ユニットは、構造的類似性指標メトリック（ＳＳＩＭ）を示す標的品質値にさらに基づいて、前記最終エンコーディングのための前記エンコーディングパラメータを決定することを前記サーバに行わせるように構成されている、請求項１２に記載のサーバ。
【請求項２１】
ソースコンテンツをトランスコードする方法であって、前記方法は、
要求側エンティティから、前記ソースコンテンツの場所を含むトランスコーディングジョブ作成要求を受信することと、
前記ソースコンテンツの前記場所を含むプロファイル生成要求を生成することと、
前記プロファイル生成要求をプロファイル生成工程に送信することと、
前記プロファイル生成要求を送信することに応答して、１つ以上のエンコーディングプロファイルを前記プロファイル生成工程から受信することと、
前記ソースコンテンツの前記場所と前記１つ以上のエンコーディングプロファイルを示す情報とを含むトランスコーディング要求を生成することと、
前記トランスコーディング要求をトランスコーディング工程に送信することと、
前記トランスコーディングの少なくとも一部が完了したことの指示を受信することと、
前記トランスコーディングの少なくとも一部が完了したことの前記指示を受信することに応答して、前記要求側エンティティに、前記トランスコーディングの前記少なくとも一部が完了したことのメッセージを送信することと
を含む、ソースコンテンツをトランスコードする方法。
【請求項２２】
前記トランスコーディングジョブ作成要求は、アプリケーションプログラミングインターフェース（ＡＰＩ）を介して受信される、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２３】
前記トランスコーディングジョブ作成要求は、ビデオエンコーディングの最終標的パラメータが自動的に選択されるべきことの指示を含む、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２４】
前記１つ以上のエンコーディングプロファイルは、複数のエンコーディングプロファイルを備え、前記トランスコーディング要求を生成することは、前記複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのための別個のトランスコーディング要求を生成することを含む、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２５】
前記トランスコーディング要求を前記トランスコーディング工程に送信することは、前記複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、前記別個のトランスコーディング要求をそれぞれのトランスコーディング工程に送信することを含む、請求項２４に記載のソースコンテンツをトランスコードする方法。
【請求項２６】
前記トランスコーディング要求は、前記トランスコーディング工程がトランスコードされたコンテンツを置くための場所に関する情報をさらに含む、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２７】
前記トランスコーディングジョブ作成要求は、前記ソースコンテンツがトランスコードされると、前記トランスコードされたコンテンツが位置すべき場所に関する情報をさらに含む、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２８】
前記トランスコーディング要求は、第１のサーバから送信され、前記トランスコーディング工程は、前記第１のサーバと異なる第２のサーバによって実行される、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項２９】
前記プロファイル生成要求は、第１のサーバから送信され、前記プロファイル生成工程は、前記第１のサーバと異なる第２のサーバによって実行される、請求項２１に記載のソースコンテンツをトランスコードする方法。
【請求項３０】
サーバであって、
通信インターフェースと、
メモリと、
前記通信インターフェースおよび前記メモリと通信可能に結合された処理ユニットと
を備え、
前記処理ユニットは、
前記通信インターフェースを介して、要求側エンティティから前記ソースコンテンツの場所を含むトランスコーディングジョブ作成要求を受信することと、
前記ソースコンテンツの前記場所を含むプロファイル生成要求を生成することと、
前記プロファイル生成要求をプロファイル生成工程に送信することと、
前記プロファイル生成要求を送信することに応答して、１つ以上のエンコーディングプロファイルを前記プロファイル生成工程から受信することと、
前記ソースコンテンツの前記場所と前記１つ以上のエンコーディングプロファイルを示す情報とを含むトランスコーディング要求を生成することと、
前記トランスコーディング要求をトランスコーディング工程に送信することと、
前記トランスコーディングの少なくとも一部が完了したことの指示を受信することと、
前記トランスコーディングの少なくとも一部が完了したことの前記指示を受信することに応答して、前記通信インターフェースを介して、前記要求側エンティティに前記トランスコーディングの前記少なくとも一部が完了したことのメッセージを送信することと
を前記サーバに行わせるように構成されている、サーバ。
【請求項３１】
前記サーバは、アプリケーションプログラミングインターフェース（ＡＰＩ）を提供するように構成され、前記トランスコーディングジョブ作成要求は、前記ＡＰＩを介して受信される、請求項３０に記載のサーバ。
【請求項３２】
前記１つ以上のエンコーディングプロファイルが複数のエンコーディングプロファイルを備えている場合、前記処理ユニットは、前記複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのための別個のトランスコーディング要求を生成することによって、前記トランスコーディング要求を生成することを前記サーバに行わせるようにさらに構成されている、請求項３０に記載のサーバ。
【請求項３３】
前記処理は、前記複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、前記別個のトランスコーディング要求をそれぞれのトランスコーディング工程に送信することによって、前記トランスコーディング要求を前記トランスコーディング工程に送信することを前記サーバに行わせるようにさらに構成されている、請求項３２に記載のサーバ。
【請求項３４】
前記処理は、前記トランスコーディング工程がトランスコードされたコンテンツを置くための場所に関する情報を前記トランスコーディング要求内に含むことを前記サーバに行わせるように構成されている、請求項３０に記載のサーバ。
【請求項３５】
前記処理は、前記トランスコーディング要求を前記トランスコーディング工程を実行する第２のサーバに送信することによって、前記トランスコーディング要求を送信することを前記サーバに行わせるようにさらに構成されている、請求項３０に記載のサーバ。
【請求項３６】
前記処理は、前記プロファイル生成要求を前記プロファイル生成工程を実行する第２のサーバに送信することによって、前記プロファイル生成要求を送信することを前記サーバに行わせるようにさらに構成されている、請求項３０に記載のサーバ。
【発明の詳細な説明】
【背景技術】
【０００１】
（関連出願）
本願は、米国仮出願第６２／４２８，９４６号（２０１６年１２月１日出願、名称「Ｏｐｔｉｍｉｚａｔｉｏｎ  ｏｆ  Ｅｎｃｏｄｉｎｇ  Ｐｒｏｆｉｌｅｓ  ｆｏｒ  ＡＢＲ  Ｓｔｒｅａｍｉｎｇ」）の利益を主張し、上記出願は、本願の譲受人に譲渡されており、その全体が参照により本明細書に組み込まれる。
【０００２】
（背景）
従来、適応ビット−レート（ＡＢＲ）ストリーミングエンコーダは、いくつかの生成されるべきストリーム（本明細書では、「描出」または「エンコーディング」とも称される）の数およびエンコードされたストリーム毎に使用されるための特定のパラメータ（標的解像度、フレームレート、ビットレート、コーデック、コーデック関連制約、ファイルフォーマット等）を規定する、プロファイル（またはプロファイルの組）を使用して動作する。大部分の場合、そのようなプロファイルは、静的に定義される。すなわち、それらは、コンテンツ、その意図される地理的範囲、デバイスの分布、およびそれをプルし、再生するために使用されるネットワーク等の要因に基づいて変化しない。しかしながら、ビデオコンテンツは、その複雑性が変動し、したがって、エンコーディングビットレートに関する異なる要件を課し得るため、そのような設計は、準最適である。
【０００３】
例えば、ＨＤ解像度における動きの多い映画またはスポーツコンテンツは、容認可能に見えるために、６〜１０メガビット／秒（Ｍｂｐｓ）のビットレート（本明細書では、単に、「レート」とも称される）を必要とし得る一方、いくつかの動きの少ない場面または漫画は、１Ｍｂｐｓ未満で容認可能に見え得る。同様に、コンテンツの地理的範囲は、ネットワークの選択ならびにデバイスタイプおよびその能力に大きく影響を及ぼし得る。例えば、韓国（ネットワークが比較的に高帯域幅および信頼性を有する）における配布のために意図されるコンテンツは、超高レートおよび／または高解像度ストリームを含むことから利点を享受し得る一方、ソマリア（ネットワークが比較的に低帯域幅および信頼性を有する）における配布のために生産されたものは、ローカルネットワークの能力を反映させる、１００キロビット／秒（ｋｂｐｓ）〜１Ｍｂｐｓ範囲内のより多くのエンコーディングによってより良好にサービス提供され得る。
【０００４】
エンコーディングプロファイルの最良選択に影響を及ぼし得る、追加の要因は、品質の標的レベル（例えば、エンコーディング毎に、最小容認可能平均オピニオン評点（ＭＯＳ）、構造的類似性指標メトリック（ＳＳＩＭ）、または画質評価ランキング（ＰＱＲ））、コンテンツ使用統計、エンコードされたコンテンツの意図される寿命（例えば、瞬時：ライブ／ニュースコンテンツ、短時間：広告等、長時間：ビデオオンデマンド（ＶＯＤ）有料コンテンツ等）、異なるデバイスタイプ（接続されたＴＶ対ＰＣおよびモバイルデバイス）に到達するための発行元の優先順位等を含む。
【０００５】
最適ＡＢＲエンコーディングプロファイルを作成するための市場の従来のソリューションは、そのような要因の組み合わせを考慮できず、準最適エンコーディングビットレートをもたらす。
【発明の概要】
【課題を解決するための手段】
【０００６】
（要約）
本明細書に説明される技法は、エンコーディングビットレート（および随意に、ビデオ解像度、フレームレート、コーデックプロファイル、レベル、エンコードされたストリームの数等の他のエンコーディングパラメータ）の選択が、特定のコンテンツおよび配信コンテキストのために最適化される、メディア（ビデオ）ストリーミングのための「動的プロファイル」を作成することを対象とする。より具体的には、本技法は、特定のコンテンツの１つ以上の「プローブ」エンコーディングを実施し、本特定のコンテンツのための品質−レートモデルを決定し、次いで、最適化プロセスにおいて、本モデルを使用して、ある最適化基準に従って最良性能を達成するエンコーディングプロファイルをもたらす、エンコーディングビットレート（および随意に、他のプロファイルパラメータ）を決定することを伴う。例えば、そのような基準は、配信品質がある標的品質レベルを上回りながらの帯域幅使用の最小限化であり得る。
【０００７】
本説明による、例示的ソースコンテンツをエンコードすることにおける最適化の方法は、コンピュータシステムによって、ソースコンテンツを取得することであって、ソースコンテンツは、第１の電子フォーマットにおけるビデオを備えている、ことと、少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定することと、少なくとも１つのプローブエンコーディングを行うこととを含む。例示的方法はさらに、少なくとも部分的に、少なくとも１つのプローブエンコーディングからの結果に基づいて、最終エンコーディングのためのエンコーディングパラメータを決定することと、コンピュータシステムを用いて、ソースコンテンツをエンコードするためのプロファイルを生成することとを含む。ソースコンテンツをエンコードするためのプロファイルは、ソースコンテンツが第２の電子フォーマットにエンコードされる方法を示し、最終エンコーディングのためのエンコーディングパラメータを示す情報を含む。
【０００８】
方法の実施形態は、１つ以上の以下の特徴を含み得る。方法はさらに、少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることを決定することと、第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることの決定に応答して、少なくとも部分的に、第１のプローブエンコーディングのためのビットレートに基づいて、少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングのためのビットレートを決定することとを含み得る。標的品質値は、知覚的に加重された標的品質値を備えている。方法はさらに、標的品質値に基づいて、ビデオ解像度を決定することを含み得る。最終エンコーディングのためのエンコーディングパラメータを決定することは、品質モデルを少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値および少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングの品質値に適合させることを含み得る。方法はさらに、少なくとも部分的に、第１のプローブエンコーディングの品質値に基づいて、品質モデルの利得および形状を決定することを含み得る。ソースコンテンツをエンコードするためのプロファイルを生成することは、ある性能指数関数のための最適化問題を解決し、最終エンコーディングのためのエンコーディングパラメータのうちの１つ以上のものを決定することを含み得る。プロファイルは、最終エンコーディングが複数のエンコーディングのうちの１つを備えているエンコーディングラダーを備え得、方法はさらに、性能指数関数を使用して、複数のエンコーディングのうちの少なくとも１つの追加のエンコーディングのビデオ解像度およびビットレートを決定することを含む。方法は、ソースコンテンツをエンコードするためのプロファイルに従って、ソースコンテンツを第２の電子フォーマットにエンコードすることと、第２の電子フォーマットにエンコードされたソースコンテンツを記憶することとを含み得る。少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定することはさらに、標的ビデオ解像度に基づき得る。最終エンコーディングのためのエンコーディングパラメータを決定することはさらに、構造的類似性指標メトリックを示す標的品質値に基づき得る。
【０００９】
本説明による、例示的サーバは、通信インターフェースと、メモリと、通信インターフェースおよびメモリと通信可能に結合される、処理ユニットとを備えている。処理ユニットは、サーバに、第１の電子フォーマットにおけるビデオを備えているソースコンテンツを取得させ、少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定させ、少なくとも１つのプローブエンコーディングを行わせるように構成される。処理ユニットはさらに、少なくとも部分的に、少なくとも１つのプローブエンコーディングからの結果に基づいて、最終エンコーディングのためのエンコーディングパラメータを決定させ、ソースコンテンツをエンコードするためのプロファイルを生成させるように構成される。ソースコンテンツをエンコードするためのプロファイルは、ソースコンテンツが第２の電子フォーマットにエンコードされる方法を示し、最終エンコーディングのためのエンコーディングパラメータを示す情報を含む。
【００１０】
サーバの実施形態は、１つ以上の以下の特徴を含み得る。処理ユニットは、サーバに、少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることを決定させ、第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることの決定に応答して、少なくとも部分的に、第１のプローブエンコーディングのためのビットレートに基づいて、少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングのためのビットレートを決定させるように構成され得る。標的品質値は、知覚的に加重された標的品質値を備え得る。処理ユニットは、サーバに、標的品質値に基づいて、ビデオ解像度を決定させるように構成され得る。処理ユニットは、サーバに、品質モデルを少なくとも１つのプローブエンコーディングのうちの第１のプローブエンコーディングの品質値および少なくとも１つのプローブエンコーディングのうちの第２のプローブエンコーディングの品質値に適合することによって、最終エンコーディングのためのエンコーディングパラメータを決定させるように構成され得る。処理ユニットは、サーバに、少なくとも部分的に、第１のプローブエンコーディングの品質値に基づいて、品質モデルの利得および形状を決定させるように構成され得る。処理ユニットは、サーバに、ソースコンテンツをエンコードするためのプロファイルに従って、ソースコンテンツを第２の電子フォーマットにエンコードさせ、メモリ内に、第２の電子フォーマットにエンコードされたソースコンテンツを記憶させるように構成され得る。処理ユニットは、サーバに、標的ビデオ解像度にさらに基づいて、少なくとも１つのプローブエンコーディングのためのエンコーディングパラメータを決定させるように構成され得る。処理ユニットは、サーバに、さらに構造的類似性指標メトリック（ＳＳＩＭ）を示す標的品質値に基づいて、最終エンコーディングのためのエンコーディングパラメータを決定させるように構成され得る。
【００１１】
本説明による、例示的ソースコンテンツをトランスコードする方法は、要求側エンティティから、ソースコンテンツの場所を含むトランスコーディングジョブ作成要求を受信することと、ソースコンテンツの場所を含むプロファイル生成要求を生成することと、プロファイル生成要求をプロファイル生成工程に送信することと、プロファイル生成要求を送信することに応答して、１つ以上のエンコーディングプロファイルをプロファイル生成工程から受信することとを含む。方法はさらに、ソースコンテンツの場所および１つ以上のエンコーディングプロファイルを示す情報を含むトランスコーディング要求を生成することと、トランスコーディング要求をトランスコーディング工程に送信させ、トランスコーディングの少なくとも一部が完了したことの指示を受信することと、トランスコーディングの少なくとも一部が完了したことの指示を受信することに応答して、要求側エンティティに、トランスコーディングの少なくとも一部が完了したことのメッセージを送信することとを含む。
【００１２】
方法の実施形態はさらに、以下の特徴のうちの１つ以上のものを含み得る。トランスコーディングジョブ作成要求は、アプリケーションプログラミングインターフェース（ＡＰＩ）を介して受信され得る。トランスコーディングジョブ作成要求は、ビデオエンコーディングの最終標的パラメータが自動的に選択されるべきことの指示を含み得る。１つ以上のエンコーディングプロファイルは、複数のエンコーディングプロファイルを備え得、トランスコーディング要求を生成することは、複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、別個のトランスコーディング要求を生成することを含み得る。トランスコーディング要求をトランスコーディング工程に送信することは、複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、別個のトランスコーディング要求をそれぞれのトランスコーディング工程に送信することを含み得る。トランスコーディング要求はさらに、トランスコーディング工程がトランスコードされたコンテンツを置くための場所に関する情報を含み得る。トランスコーディングジョブ作成要求はさらに、ソースコンテンツがトランスコードされると、トランスコードされたコンテンツが位置すべき場所に関する情報を含み得る。トランスコーディング要求は、第１のサーバから送信され得、トランスコーディング工程は、第１のサーバと異なる第２のサーバによって実行される。プロファイル生成要求は、第１のサーバから送信され得、プロファイル生成工程は、第１のサーバと異なる第２のサーバによって実行され得る。
【００１３】
本説明による、例示的サーバは、通信インターフェースと、メモリと、通信インターフェースおよびメモリと通信可能に結合される、処理ユニットとを備えている。処理ユニットは、サーバに、通信インターフェースを介して、要求側エンティティから、ソースコンテンツの場所を含むトランスコーディングジョブ作成要求を受信させ、ソースコンテンツの場所を含む、プロファイル生成要求を生成させ、プロファイル生成要求をプロファイル生成工程に送信させ、プロファイル生成要求を送信することに応答して、１つ以上のエンコーディングプロファイルをプロファイル生成工程から受信させるように構成される。処理ユニットはさらに、サーバに、ソースコンテンツの場所および１つ以上のエンコーディングプロファイルを示す情報を含むトランスコーディング要求を生成させ、トランスコーディング要求をトランスコーディング工程に送信させ、トランスコーディングの少なくとも一部が完了したことの指示を受信させ、トランスコーディングの少なくとも一部が完了したことの指示を受信することに応答して、通信インターフェースを介して、要求側エンティティに、トランスコーディングの少なくとも一部が完了したことのメッセージを送信させるように構成される。
【００１４】
サーバの実施形態は、以下の特徴のうちの１つ以上のものを含み得る。サーバは、アプリケーションプログラミングインターフェース（ＡＰＩ）を提供するように構成され得、トランスコーディングジョブ作成要求は、ＡＰＩを介して受信される。１つ以上のエンコーディングプロファイルが、複数のエンコーディングプロファイルを備えている場合、処理ユニットはさらに、複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、サーバに、別個のトランスコーディング要求を生成することによって、トランスコーディング要求を生成するように構成され得る。処理はさらに、サーバに、複数のエンコーディングプロファイルのうちの各エンコーディングプロファイルのために、別個のトランスコーディング要求をそれぞれのトランスコーディング工程に送信することによって、トランスコーディング要求をトランスコーディング工程に送信するように構成され得る。処理は、サーバに、トランスコーディング要求内に、トランスコーディング工程がトランスコードされたコンテンツを置くための場所に関する情報を含ませるように構成され得る。処理はさらに、サーバに、トランスコーディング要求をトランスコーディング工程を実行する第２のサーバに送信することによって、トランスコーディング要求を送信させるように構成され得る。処理はさらに、サーバに、プロファイル生成要求をプロファイル生成工程を実行する第２のサーバに送信することによって、プロファイル生成要求を送信させるように構成され得る。
【００１５】
非限定的かつ非包括的側面が、以下の図を参照して説明されるが、同様の参照番号は、別様に規定されない限り、種々の図全体を通して同様の部分を指す。
【図面の簡単な説明】
【００１６】
【図１】図１は、ある実施形態による、メディアサービス提供システムを図示するブロック図である。
【図２】図２は、ある実施形態による、図１のメディアサービス提供システムのエンティティ等の１つ以上のエンティティによって実施され得る種々の機能の簡略化されたブロック図である。
【図３】図３は、例示的Ｑ（Ｒ）モデルによる、ビットレートの関数としての品質を示す略図である。
【図４】図４は、ＱＳＳＩＭ（Ｒ）モデルが異なるコーディング複雑性の程度の５つの異なるシーケンスの特性に適合するように使用されるグラフである。
【図５】図５は、一定レート係数（ＣＲＦ）の関数としての構造的類似性指標メトリック（ＳＳＩＭ）の実験データおよびモデルをプロットする例示的グラフである。
【図６】図６は、実験データ点およびモデルがビットレートおよびＣＲＦの関数として品質値（ＳＳＩＭ）をプロットする、例示的グラフを示す。
【図７】図７は、実験データ点の値およびＣＲＦのモデル値がＳＳＩＭの関数として示される例示的グラフの例証である。
【図８】図８は、第１のプローブエンコーディングの（レート、品質）値および第２のプローブエンコーディングの（レート、品質）値に適合されたモデルをプロットする例示的グラフである。
【図９】図９は、ある実施形態による、上で議論されるようなエンコーディングのためのビットレートを見出す方法を図示するフローチャートである。
【図１０】図１０は、ある実施例による、種々のタイプのデバイスに関する帯域幅確率密度関数（ＰＤＦ）をプロットする、略図である。
【図１１】図１１は、ある実施形態による、知覚的に加重されたＳＳＩＭが算出され得る方法を図示する、略図である。
【図１２】図１２は、ある実施形態による、本明細書の上で説明される技法を使用して最適エンコーディングラダーを生成する方法を図示するフロー図である。
【図１３】図１３は、ある実施形態による、プロセスのフローチャートであり、エンコーディングラダー生成は、ネットワークおよび使用統計等の追加の情報に基づく。
【図１４】図１４は、ある実施形態による、ソースコンテンツエンコーディングの最適化の方法を図示するフロー図である。
【図１５】図１５は、コンピュータシステムの実施形態のブロック図である。
【発明を実施するための形態】
【００１７】
（詳細な説明）
いくつかの例証的実施形態が、ここで、本明細書の一部を形成する、付随の図面に関して説明されるであろう。続く説明は、実施形態のみを提供し、本開示の範囲、可用性、または構成を限定することを意図するものではない。むしろ、実施形態の続く説明は、当業者に実施形態を実装するための実行可能説明を提供するであろう。種々の変更が、本開示の精神および範囲から逸脱することなく、要素の機能および配列に行われ得ることを理解されたい。
【００１８】
本明細書に説明される実施形態は、概して、メディア（特に、ビデオ）を第１の電子フォーマットから第２の電子フォーマットにトランスコードするための最適化されたプロファイルを作成することを対象とする。プロファイルは、ソースコンテンツ（第１の電子フォーマットにおける）が第２の電子フォーマットにエンコードされるべき方法を示す。特に、プロファイルは、トランスコーディングプロセスにおいて使用するためのパラメータの組（ビットレート、解像度、コーデック等）を定義する。トランスコードされるべきソースコンテンツは、デジタルマスタ、メザニンファイル、入力ストリーム、分離ビデオエレメンタリストリーム、または同等物を備え得ることを理解されたい。さらに、本明細書で使用されるように、用語「描出」、「ストリーム」、および「エンコーディング」は、トランスコーディングメディアを指すために同義的に使用され得る。加えて、用語「エンコード」および「エンコーディング」（動詞として使用されるとき）は、「トランスコード」および「トランスコーディング」と同義的に使用され得、それぞれ、ソースコンテンツを１つの電子フォーマットから別のものに変換するプロセスを説明する。
【００１９】
消費のためのトランスコーディングデジタルメディアは、種々の異なる環境において生じることができる。例えば、コンピュータシステム上でローカルで生じることができる。インターネット帯域幅が、ビデオ消費に適応するために絶え間なく増加するにつれて、そのようなトランスコーディングは、ますます、インターネットおよび／または他の分散型通信ネットワークを経由して生じ得る。
【００２０】
図１は、ある実施形態による、トランスコーディングサービスがインターネット１７０を経由して提供され得る、メディアサービス提供システム１００を図示する、ブロック図である。本システムは、メディアコンテンツを、メディア再生をエンドユーザに提供するエンドユーザデバイス１４０によって実行される、クライアント１４５に配信し得る。クライアント１４５は、例えば、メディアファイルを要求および／または再生するように適合される、メディアプレーヤ、ブラウザ、または他のアプリケーションであることができる。メディアコンテンツは、インターネット１７０等のネットワークおよび／またはテレビコンテンツのための配布ネットワーク等の他のデータ通信ネットワークを介して、提供されることができる。エンドユーザデバイス１４０は、携帯電話、タブレット、パーソナルコンピュータ、ポータブルメディアデバイス、セットトップボックス、ビデオゲームシステム、頭部搭載型ディスプレイ等、メディアをインターネット１７０を経由して受信するように構成される、任意の数のデバイスのうちの１つであることができる。１つのみのクライアント１４５および１つのエンドユーザデバイス１４０が、図１に示されるが、メディアサービス提供システム１００は、メディアを多く（数百、数千、数百万等）のエンドユーザデバイス１４０上の多く（数百、数千、数百万等）のクライアント１４５に提供することができることを理解されたい。
【００２１】
オンデマンドコンテンツ（例えば、その全体として記憶される、要求されるメディア）に関して、１つ以上のメディアプロバイダ１３０によって提供されるメディアファイルは、ソースコンテンツを取り込み、それを種々のプロファイルに従ってトランスコードし得る、１つ以上のコンピュータサーバを備え得る、トランスコーディングサービス１１０によってトランスコードされることができる。いくつかの実施形態では、トランスコーディングサービスは、本明細書に説明される、プロファイル最適化を実施し得る。いくつかの実施形態では、トランスコーディングサービスは、インデックス化および／または他のサービスを提供し得る。トランスコーディングサービス１１０は、トランスコードされたメディアをメディアプロバイダ１３０（例えば、そこからソースコンテンツが取得された）に逆提供する、および／またはトランスコードされたメディア（例えば、メディアファイル）をコンテンツ配信ネットワーク（ＣＤＮ）、メディアストリーミングサービスプロバイダ、クラウドデータサービスプロバイダ、または他の第三者メディアファイル配信サービスプロバイダ等のメディアファイル配信サービスプロバイダ（ＭＦＤＳＰ）１５０に提供することができる。加えて、または代替として、トランスコーディングサービス１１０はまた、メディアファイルを記憶する、および／またはクライアント１４５にストリーミングするように適合され得る。オンデマンドコンテンツは、例えば、段階的ダウンロードおよび／またはストリーミングを介して、クライアント１４５に提供されることができる。
【００２２】
ライブコンテンツ（例えば、メディアプロバイダ１３０から受信されるにつれて、すなわち、処理時間および／または他のバッファ時間に応じて、リアルタイムまたは近リアルタイムで、１つ以上のエンドユーザデバイス１４０に送信される、要求されるコンテンツ）に関して、類似プロセスが、生じ得る。例えば、メディアプロバイダ１３０は、メディアストリーム（例えば、ライブビデオ）を提供することができ、これは、トランスコーディングサービス１１０によってトランスコードされる。メディアストリームのエンコードされたセグメントは、ファイル（すなわち、「チャンク」）として、ＭＦＤＳＰ１５０および／またはトランスコーディングサービス１１０上に記憶されることができる。
【００２３】
コンテンツ所有者１２０は、１つ以上のメディアプロバイダ１３０を利用して、コンテンツ所有者１２０によって所有されるメディアコンテンツを配布することができる。例えば、コンテンツ所有者１２０は、テレビネットワーク、インターネットメディアをストリーミングするウェブサイトおよび他のオンデマンドメディアプロバイダ、メディア複合企業、ならびに同等物等の種々のコンテンツプロバイダ１３０を通して、あるメディアの配布の許諾を受けている、映画制作会社であり得る。いくつかの構成では、コンテンツ所有者１２０はまた、メディアプロバイダ１３０としても運営することができる。
【００２４】
コンテンツ所有者１２０および／またはメディアプロバイダ１３０は、１つ以上の広告ネットワーク１６０と契約し、広告を多数のエンドユーザデバイス１４０上の多数のクライアント１４５に提供することができる。このように、広告ネットワーク１６０は、企業が、広告をメディアコンテンツをメディアプロバイダ１３０から視聴するエンドユーザに示すことを可能にする。広告ネットワーク１６０は、広告および／または広告データをメディアコンテンツと別個に維持することができるため、広告は、同一メディアコンテンツを異なる時間および／または異なる場所で視聴する２人のユーザが異なる広告を見得るように、更新され、事業ルールに従い得る。
【００２５】
前述のように、図１におけるメディアサービス提供システム１００は、本明細書に提供されるメディアストリーミングのためのエンコーディングプロファイルを最適化するための技法が使用され得る、一実施例にすぎない。さらに、いくつかの実施形態では、メディアプロバイダ１３０、トランスコーディングサービス１１０、および／または可能性として、ＭＦＤＳＰ１５０等の図１に図示されるエンティティのうちのいくつかは全て、単一事業エンティティまたはサービスの一部であることができることに留意されたい。そのような統合されたサービスは、通常、オンラインビデオプラットフォーム（ＯＶＰ）と呼ばれる。例えば、Ｂｒｉｇｈｔｃｏｖｅ（登録商標）  ＶｉｄｅｏＣｌｏｕｄＴＭサービスは、ＯＶＰである。
【００２６】
図２は、ある実施形態による、図１のメディアサービス提供システム１００のエンティティ等の１つ以上のエンティティによって実施され得る、種々の機能の簡略化されたブロック図である。例えば、ユーザ／高レベルサービス２１０は、コンテンツ所有者１２０、メディアプロバイダ１３０、トランスコーディングサービス１１０、および／またはＯＶＰ等の要求側エンティティに対応し得る（標識内の「／」境界線は、実施形態に応じて実装され得る、代替特徴を示す）。トランスコーディングアプリケーション／サービス２２０、プロファイル生成工程２３０、および／またはトランスコーディング工程２４０は、トランスコーディングサービス１１０によって実施され得る。したがって、当業者は、図２に図示される機能のうちの１つ以上のものが、いくつかの実施形態では、異なる地理的場所に位置し得る、単一デバイスまたは種々の通信可能に接続されるデバイスによって実施され得ることを理解されるであろう。いくつかの実施形態では、例えば、ユーザ／高レベルサービス２１０は、コンテンツ所有者またはメディアプロバイダのコンピュータを備え得、トランスコーディングアプリケーション／サービス２２０、プロファイル生成工程２３０、および／またはトランスコーディング工程２４０のうちの１つ以上のものは、「クラウド」内で実行される（例えば、インターネット等のデータ通信ネットワークを介して接続される、１つ以上の遠隔コンピュータシステム／サーバによって）。異なる機能が異なるアプリケーションによって実施される（単一デバイスまたは複数のデバイスによって実行され得る）実施形態では、１つ以上のアプリケーションプログラミングインターフェース（ＡＰＩ）が、種々の異なるアプリケーション間で通信するために使用され得る（例えば、そのようなＡＰＩは、場合によって、ローカルソフトウェアＡＰＩまたは分散型コンピューティングＡＰＩ（ウェブＡＰＩまたは使用されている任意の特定の言語またはクラウドプラットフォームに特有のＡＰＩを含む）であり得る）。また、実装または展開シナリオの具体性に応じて、プロファイル生成工程２３０は、同一スレッド／プロセス内でローカルで呼び出される機能、別のスレッドによって実行される機能またはローカルコンピューティングプラットフォーム上のプロセス、もしくはユーザ／高レベルサービス２１０を実行するコンピュータの遠隔の１つ以上のコンピュータ上で実行される遠隔機能／スレッド／プロセスを備え得る。当業者は、多くの他の変形例を認識するであろう。
【００２７】
プロセスを開始するために、トランスコーディングジョブ作成要求２４５が、ユーザ／高レベルサービス２１０からトランスコーディングアプリケーション／サービス２２０に送信されることができる。この要求は、入力シーケンス（ソースコンテンツ）の場所、トランスコードされたコンテンツが設置されるべき場所、標的解像度、フレームレート、グループオブピクチャ（ＧＯＰ）サイズ、コーデック／プロファイル、ファイルフォーマット等の選択を生産するための圧縮表現のパラメータ等の多くの標準トランスコーディングジョブパラメータを含み得る。ここでは、下でさらに詳細に説明されるように、要求はまた、ビデオエンコーディングの最終標的パラメータが自動的に選択されるべきことの指示を含み得る。
【００２８】
この指示が存在する場合、トランスコーディングアプリケーション／サービス２２０は、次いで、プロファイル生成要求２５５をプロファイル生成工程２３０に送信することができる。このプロファイル生成要求２５５は、トランスコーディングジョブ作成要求２４５において渡されたパラメータの一部に加え、トランスコーディングアプリケーション／サービス２２０によって取り込まれ、および／または処理されたソースコンテンツのローカル場所等のいくつかの追加のパラメータを含み得る。
【００２９】
プロファイル生成要求２５５を受信すると、プロファイル生成工程２３０は、本明細書に説明される技法を使用して、１つ以上のエンコーディングプロファイルを生成し、エンコーディングプロファイルをトランスコーディングアプリケーション／サービス２２０にプロファイル生成応答２６５内で逆提供する。トランスコーディングアプリケーション／サービス２２０は、次いで、プロファイル生成工程２３０から取得されたエンコーディングプロファイルをトランスコーディング工程２４０にトランスコーディング要求２７５内で渡すことができる。トランスコーディング工程２４０が、トランスコーディングを完了すると、トランスコードされたコンテンツをトランスコーディングアプリケーション／サービス２２０にトランスコーディング応答２８５内で提供し、トランスコーディングアプリケーション／サービスは、コンテンツの少なくとも一部がトランスコードされたことの指示を提供し、および／またはトランスコードされたコンテンツ自体（所望の機能性に応じて）をトランスコーディングジョブ応答２９５内で提供することができる。（プロファイル生成器からの応答２６５内で生成されたエンコーディングプロファイルが、複数の標的および／または出力を含む場合、これらの標的に従うメディアのトランスコーディングは、並行して行われることができる。これは、いくつかの実施形態によると、別個のトランスコーディング工程によって実施され得る。図２に図示される実施形態では、トランスコーディング工程２４０は、複数回、実行されることができ、トランスコーディングアプリケーション／サービス２２０は、全ての結果が応答２８５によって収集された後、結果をユーザ／高レベルサービス２１０に返すことができる。
【００３０】
実施例として、本明細書の技法による自動プロファイル生成をサポートする、Ｂｒｉｇｈｔｃｏｖｅ（登録商標）  ＺｅｎｃｏｄｅｒＴＭにおける例示的ジョブ作成要求２４５は、「ｈｔｔｐｓ：／／ａｐｐ．ｚｅｎｃｏｄｅｒ．ｃｏｍ／ａｐｉ／ｖ２／ｊｏｂｓ」に対するＨＴＴＰ  ＰＯＳＴ要求を備え得る。ＰＯＳＴボディは、処理するためのビデオのユニフォームリソースロケータ（ＵＲＬ）、ＡＰＩキー、出力宛先、および通知設定を規定する、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）ファイルを備え得る。さらに、動的プロファイルが生成されることになることを示し、該当する場合、適用可能なプロファイル制約（例えば、最小／最大ビットレート、コーデックタイプ、許容解像度のリスト、標的品質値等）を設定し得る。
【００３１】
以下は、例示的ＪＳＯＮファイルである。
【表１０】
2020502898.tif 000003
【００３２】
上記の実施例は、プロファイル生成要求２５５がトリガされ得る方法（例えば、ブール値「ｇｅｎｅｒａｔｅ＿ｄｙａｎｍｉｃ＿ｐｒｏｆｉｌｅ」を「真」として設定する）と、種々の制約がプロファイル生成要求２５５内に含まれ得る方法とを図示する。特に、実施例は、オブジェクト「ｄｙａｎｍｉｃ＿ｐｒｏｆｉｌｅ＿ｏｐｔｉｏｎｓ」を使用して、標的品質値（この場合、ＳＳＩＭ）０．９５を伴う、３つの所与の解像度（１２８０ｘ７２０、９６０ｘ５４０、および６４０ｘ３６０）のいずれかを使用して、２〜７つの描出を生産するようにプロファイル生成工程２３０を制限する。
【００３３】
プロファイル生成要求２５５内に含まれるプロファイル生成工程２３０に関する制限は、所望の機能性に応じて変動し得る。ＺｅｎｃｏｄｅｒＴＭの場合、これらの制限を定義する種々のパラメータは、下記の表１に説明される。
【表１−１】
2020502898.tif 000004
【表１−２】
2020502898.tif 000005
【００３４】
上記の例示的パラメータでは、「ｖｉｄｅｏ＿ｃｏｎｆｉｇｕｒａｔｉｏｎ」パラメータは、下記の表２内のイベントを含み得る、構造のアレイである。
【表２】
2020502898.tif 000006
【００３５】
最後に、上記の例示的ＪＳＯＮファイルでは、「出力」アレイは、全ての通常の必要条件を含み、加えて、最終プロファイル内の描出数を示す、プロファイル生成工程２３０によって許容される描出の最大数を定義する。プロファイル生成工程２３０が、ＪＳＯＮファイルに示される７つより少ない、例えば、５つの描出を生産する場合、１〜５に設定される「ｄｙｎａｍｉｃ＿ｐｒｏｆｉｌｅ＿ｒｅｎｄｉｔｉｏｎ」変数を伴う描出のみが、生成されるであろう。
【００３６】
いくつかの実施形態では、ソースコンテンツをトランスコードした後にトランスコーディング工程２４０によって生成されたトランスコーディング応答２８５は、プロファイル関連統計を通信するために必要とされる、追加のエラーコードおよびコンポーネントを備え得る。いくつかの実施形態では、これは、ＪＳＯＮ通知ブロックとして含まれてもよい。例えば、以下のＪＳＯＮブロックは、追加のパラメータ（品質−レートモデル）が通知ブロック内でシグナリングされ得る方法を示す。
【表２０】
2020502898.tif 000007
【００３７】
本実施例では、ＪＳＯＮブロック内の種々の利用可能な要素は、下記の表３に説明される。
【表３】
2020502898.tif 000008
【００３８】
種々の実施形態によると、２つのタイプ技法、すなわち、（１）所与のコンテンツ、解像度、および品質標的のために十分な最小ビットレートを見出すこと、または（２）所与の制約の組（例えば、使用され得る解像度の組、最小／最大ビットレート等）を前提として、最適エンコーディングラダーを生産することが、エンコーディングプロファイルを生成するときに利用され得、最適化基準技法（１）は、タスクが、正確に事前に規定された解像度およびフレームレートを用いて、１つまたは複数のエンコーディングを生産すべきであって、そのようなエンコーディングの数もまた、固定される（ｍｉｎ＿ｒｅｎｄｉｔｉｏｎｓ＝ｍａｘ＿ｒｅｎｄｉｔｉｏｎｓ＝ビデオ構成の数およびｓｅｌｅｃｔ＿ｄｉｓｔｉｎｃｔ＿ｃｏｎｆｉｇｕｒａｔｉｏｎｓ＝真を設定することによって遂行され得るように）状況で呼び出され得る。そのような状況では、ビットレートのみが、割り当てられる必要があり、これは、技法（１）の内容である。技法（２）は、ビットレートだけではなく、また、解像度、フレームレート、および他のコーデック関連パラメータ、ならびにエンコーディングの数も、動的に選定され得るとき、タスクが１つまたは複数の描出を生産すべき状況において呼び出され得る。故に、技法（２）は、より一般的であって、技法（１）を内部ツールとして使用し得る。これらの２つの技法は、下でより詳細に説明される。
（所与のコンテンツ、解像度、および品質標的のために十分な最小ビットレートを見出す）
【００３９】
いくつかの実施形態によると、所与のコンテンツ、解像度、および品質標的のために十分な最小ビットレートを見出すための技法は、以下のように説明され得る。ソースコンテンツの入力、標的解像度（および随意に、標的フレームレート）、およびビデオコーデック（他の制約を含み得る）を前提として、エンコードされたビデオが所与の標的品質値を有するであろう、最低標的ビットレートを見出す。
【００４０】
最も単純な数学的解釈では、所与の入力シーケンスのためにコーデックによって達成可能な品質メトリックＱ、品質標的Ｑ＊、および品質−レート関数Ｑ（Ｒ）と仮定して、問題は、基本的に、以下となる。
【数１】
2020502898.tif 000009
式中、Ｒ＊は、見出すべき標的ビットレートを示す。
【００４１】
Ｑ（Ｒ）が単調関数である場合、標的ビットレートＲ＊は、方程式の直接解となる。
【数２】
2020502898.tif 000010
【００４２】
いくつかの実施形態では、ＳＳＩＭは、品質メトリックとして使用されることができる。ＳＳＩＭは、事実上、スケーリングされ、［０，１］範囲にマッピングされたコーデック雑音エネルギーの推定値であって、１は、理想的品質（０雑音）を含意し、０は、最悪品質を含意する。下でさらに詳細に議論されるように、ＳＳＩＭ算出の前に、解像度スケーリングおよび知覚フィルタリングを組み込む、ＳＳＩＭの変形例もまた、異なる再現デバイスを横断した品質差を理解するために使用されることができる。したがって、他の実施形態は、所望の機能性またはユーザ／オペレータ選好に応じて、他の品質メトリック（ピーク信号対雑音比（ＰＳＮＲ）、ＭＯＳ、ＰＱＲ、ビデオマルチメソッド査定融合（ＶＭＡＦ）等）を利用し得る。さらに、そのようなメトリックの時間的集約におけるある変形例もまた、採用され、オペレータの選好にカスタマイズされ得る。例えば、あるシーケンスのための組み合わせられた品質メトリックは、（ａ）フレームレベル推定値の平均、または（ｂ）最悪の場合のフレームレベル値、または（ｃ）いくつかの有限（例えば、３００ｍｓ）観察窓内で求められた移動平均値間の最悪値、または（ｄ）品質が該値を下回って低下する時間のパーセンテージが、所与の定数（例えば、１％）によって限定されることを確実にする値等であることができる。
【００４３】
標的品質値はまた、オペレータ選好に応じて変動し得る。例えば、ＳＳＩＭ≧０．９５でエンコードされたビデオは、十分に良好な品質であると仮定され得る一方、より低いＳＳＩＭレベルでは、ユーザがアーチファクトに気づき得るリスクが存在する。一般的に述べると、本説明の目的のために、ある品質標的Ｑ＊＝Ｑ＊ＳＳＩＭを前提として、アルゴリズムの目的は、それに合致するレートＲ＊を見出すことであると仮定する。
【００４４】
品質−レートＱ（Ｒ）関数の挙動を特性評価するために、以下の組み合わせが、使用され得る。
・異なるタイプのビデオシーケンスのための観察される品質−レート関数のパラメータモデルが、いくつかのモデルパラメータによって、観察される形状の変動性を捕捉することを目的として定義される。
・１つ以上のプローブエンコーディングが、各（レート、品質）点が終着するであろう場所を確認するために実行され得、結果が、モデルを特定のビデオシーケンスのための観察された挙動に適合させるために使用され得る。
【００４５】
モデルは、設計プロセスの一部として定義され得る一方、プローブエンコーディングは、モデルが各特定のシーケンスに適合されるランタイム時に実行されることができる。
【００４６】
下でさらに詳細に説明されるように、プローブエンコーディングは、あるビットレートにおけるソースコンテンツの一部のエンコーディングであって、標的品質値（閾値変動量内）を満たすことを確実にすることに役立てるために、ソースコンテンツをエンコードするための最終ビットレートを決定することに役立つ。故に、これらのプローブエンコーディングは、ソースコンテンツ全体の最終エンコーディングよりはるかに高速であり得、実際、完全エンコーディングプロセスの一部のみを表し得る。したがって、プローブ段階において、実際のビット−ストリームを生成する必要がない場合がある。各プローブから所望されるものは、完全エンコーディングプロセスを起動することによって到達され得る、（レート、品質）点の場所の推定値である。
【００４７】
プローブ点の場所に基づいて、Ｑ（Ｒ）モデルが、取得されたプローブ点に適合され、標的品質値を満たすための最終ビットレートを見出すために使用される。これの実施例は、図３に図示される。
【００４８】
図３は、特定のＱ（Ｒ）モデル３１０による、ビットレートの関数としての品質を示す、略図３００である。しかしながら、Ｑ（Ｒ）モデル３１０が、プロットされる前に、プローブエンコーディングが、（レート、品質）点３２０を生成するために実施される。第１の（レート、品質）点３２０−１は、ビットレートが、選択され（下で説明されるもの等の技法を使用して）、ソースコンテンツの一部が、選択されたビットレートを使用してエンコードされ、ソースコンテンツのエンコードされた部分の品質が、決定される、第１のプローブエンコーディングの結果であり得る。
【００４９】
第１のプローブエンコーディングは、標的品質値３３０より低い（かつ標的品質値３３０の閾値変動３４０外の）品質をもたらしたため、より高いビットレートを有する、第２のプローブエンコーディングが、実施され得る。本第２のプローブエンコーディングは、第２の（レート、品質）点３２０−２をもたらす（いくつかの実施形態では、標的品質値３３０は、最小品質値を表し得ることに留意されたい。そのような場合、閾値変動３４０は、標的品質値３３０を上回る値のみを表し得る。当業者は、そのような閾値に関する他の変動も認識するであろう）。
【００５０】
第２のプローブエンコーディングは、標的品質値３３０より高い（かつ標的品質値３３０の閾値変動３４０外の）品質をもたらしたため、エンコーディングのための別のビットレートが、推定され得る。しかしながら、ここでは、Ｑ（Ｒ）モデル３１０が、使用され得る。すなわち、第１および第２のプローブエンコーディングから生成された（レート、品質）点３２０を使用して、Ｑ（Ｒ）モデル３１０は、次いで、これらの（レート、品質）点３２０に適合されることができる。これは、モデルベースのレート推定値３５０が、Ｑ（Ｒ）モデル３１０および標的品質値３３０を使用して決定されることを可能にする。別のプローブエンコーディングが、結果として生じるエンコードされたコンテンツが標的品質値３３０の閾値変動３４０内にあることを確実にするために実施され得る。
【００５１】
このプロセスは、モデルベースのレート推定値３５０が標的品質値３３０の閾値変動３４０内にない場合、反復され、モデルベースのレート推定値３５０を精緻化し得る。しかしながら、プローブエンコーディングの数を最小限にすることは、エンコーディングプロセスの効率を確実にすることに役立つ。各そのようなプローブは、総エンコーディング時間、その結果、サービスの遅延およびコストに寄与する。
【００５２】
Ｑ（Ｒ）モデル３１０は、プローブ点に基づく補間または外挿と見なされ得る。種々のモデルおよび／またはモデルタイプが、所望の機能性に応じて使用され得る。
【００５３】
ｘ２６４エンコーダおよびＳＳＩＭメトリックを使用した一実施形態では、以下のパラメータモデルが、使用される。
【数３】
2020502898.tif 000011
式中、αおよびβは、モデルパラメータであって、品質−レート関係の利得および形状を制御する。より一般的には、他の機能モデルもまた、採用され得るが、１つのみまたは２つのパラメータを伴うモデルの使用は、単に、１つまたは２つのエンコーディング点に基づいて、そのようなパラメータの算出を可能にするため、好ましい。
【００５４】
図４は、上記のＱＳＳＩＭ（Ｒ）モデルが、異なるコーディング複雑性の程度の５つの異なるシーケンスの特性に適合するように使用される、グラフ４００である。具体的には、「低複雑性モデル」４１５は、「低」複雑性４１０を有するコーディングの実験データ点に適合するように作成され、「低複雑性−中複雑性モデル」４２５は、「低−中」複雑性４２０を有するコーディングの実験データ点に適合するように作成され、「中複雑性モデル」４３５は、「中」複雑性４３０を有するコーディングの実験データ点に適合するように作成され、「中複雑性−高複雑性モデル」４４５は、「中−高」複雑性４４０を有するコーディングの実験データ点に適合するように作成され、「高複雑性モデル」４５５は、「高」複雑性４５０を有するコーディングの実験データ点に適合するように作成された（煩雑を回避するために、実験データのいくつかの点のみが、図４に標識されている）。全ての場合において、ＱＳＳＩＭ（Ｒ）モデルは、実験データを非常に良好に適合することが観察され得る。
【００５５】
実験結果は、パラメータαの値が異なるシーケンスに関して非常に若干だけ変化していることを示す。いくつかの結果では、観察されたα範囲は、０．９７９〜０．９９２であって、中央値点は、α０＝０．９８４３６８１０８６であった。故に、上記のＱＳＳＩＭ（Ｒ）モデルは、主に、形状パラメータβによって制御される。
【００５６】
２つの（レート、品質）点：（Ｒ１，Ｑ１）および（Ｒ２，Ｑ２）の値を前提として、モデルパラメータαおよびβは、以下のように算出され得る。
【数４】
2020502898.tif 000012
【数５】
2020502898.tif 000013
【００５７】
１つのみの点が、既知であって、αの値が、α＝α０であると推測される場合、第２のパラメータは、以下のように算出され得る。
【数６】
2020502898.tif 000014
パラメータβ＝β０のみが算出され、パラメータα＝α０が固定される、ＳＳＩＭ−レートモデル（３）の本バージョンは、１パラメータモデルと称されるであろう。
【００５８】
理解およびモデル化するために重要であり得る、別の関係は、コーデック特有の品質制御パラメータとシステムによって採用されるＳＳＩＭまたは他の最終品質メトリックとの間の関係である。ｘ２６４およびｘ２６５ビデオコーデックの場合、対応する品質制御パラメータは、一定レート係数（ＣＲＦ）と呼ばれる。
【００５９】
ＳＳＩＭ−ＣＲＦ品質曲線に関して合理的に機能することが見出されている、モデルは、以下である。
【数７】
2020502898.tif 000015
式中、Ｃは、ＣＲＦパラメータの値を示し、ρおよびσは、本モデルの値幅ならびに減衰の形状および速度を制御する、モデルパラメータである。より一般的には、他の関数モデルもまた、採用され得るが、１つのみまたは２つのパラメータを伴うモデルの使用は、単に、１つまたは２つのエンコーディング点に基づいて、そのようなパラメータの算出を可能にするため、好ましい。
【００６０】
実験データの本モデルへの例示的適合は、図５に示され、これは、ＣＲＦの関数としてのＳＳＩＭの実験データおよびモデルをプロットする、グラフ５００である。具体的には、「低複雑性モデル」５１５は、「低」複雑性５１０を有するコーティングの実験データ点に適合するように作成され、「低複雑性−中複雑性モデル」５２５は、「低−中」複雑性５２０を有するコーティングの実験データ点に適合するように作成され、「中複雑性モデル」５３５は、「中」複雑性５３０を有するコーティングの実験データ点に適合するように作成され、「中複雑性−高複雑性モデル」５４５は、「中−高」複雑性５４０を有するコーティングの実験データ点に適合するように作成され、「高複雑性モデル」５５５は、「高」複雑性５５０を有するコーティングの実験データ点に適合するように作成された（煩雑を回避するために、実験データのいくつかの点のみが、図５において標識されている）。
【００６１】
２つの（ＣＲＦ、品質）点：（Ｃ１，Ｑ１）および（Ｃ２，Ｑ２）の値を前提として、モデルパラメータρおよびσは、以下のように算出され得る。
【数８】
2020502898.tif 000016
【数９】
2020502898.tif 000017
【００６２】
１つの点のみが、既知であって、σの値がσ＝σ０、であると推測される場合、パラメータρは、以下となる。
【数１０】
2020502898.tif 000018
パラメータρ＝ρ０のみが算出された一方、パラメータσ＝σ０が固定される、ＳＳＩＭ−ＣＲＦモデル（７）の本バージョンは、１パラメータモデルと称されるであろう。パラメータσ０の好適な固定値が、例えば、異なる複雑性を伴う試験シーケンスの組にわたって算出されたパラメータσの平均値を見出すことによって、確立されることができる。前述で使用されたシーケンスセットに基づいて、そのような平均値は、約σ０≒２．２ということになる。
【００６３】
第１のプローブエンコーディングのためのレートの決定に関して、これは、所望の機能性に応じて、任意の数のアプローチを使用して行われることができる。プローブエンコーディングの数を最小限にするために、標的品質値（例えば、標的ＳＳＩＭ）に到達するために必要とされるレート（または他のコーデックパラメータ）についての最良裏付け推測を使用することが望ましい。加えて、または代替として、コーデック特有の品質値（ｘ２６４の場合のＣＲＦ等）が、標的品質値に到達するために、プローブエンコーディングにおいて設定され得る。
【００６４】
図６は、実験データ点およびモデルが、それぞれ、ビットレートおよびＣＲＦの関数として、品質値（ＳＳＩＭ）をプロットする、グラフ６００−Ａおよび６００−Ｂを示す。図４および６におけるグラフと同様に、グラフ６００−Ａおよび６００−Ｂは、「低複雑性モデル」６１５および「低」複雑性６１０を有するコーディングの対応する実験データ点と、「低複雑性−中複雑性モデル」６２５および「低−中」複雑性６２０を有するコーディングの対応する実験データ点と、「中複雑性モデル」６３５および「中」複雑性６３０を有するコーディングの対応する実験データ点と、「中複雑性−高複雑性モデル」６４５および「中−高」複雑性６４０を有するコーディングの対応する実験データ点と、「高複雑性モデル」６５５および「高」複雑性６５０を有するコーディングの対応する実験データ点とを示す（再び、煩雑を回避するために、実験データのいくつかの点のみが、図６において標識されている）。ここでは、標的品質値６７０は、ＳＳＩＭ＝０．９５である。
【００６５】
図６から明白であるように、標的ビットレートが、使用される場合、結果は、ＳＳＩＭ範囲内で大幅に変動し得る。例えば、レート＝３００Ｋｂｐｓを使用することによって、「低複雑性」シーケンス（この場合、７２０ｐシーケンス）に関して、ＳＳＩＭ約０．９７３を生産するであろう一方、高複雑性シーケンスに関して、ＳＳＩＭ約０．９２６を生産するであろう。これは、約０．０５ＳＳＩＭ値幅をもたらす。他方では、標的ＣＲＦが、使用される場合、はるかに小さい値幅が存在する。例えば、ＣＲＦを２６に設定することによって、最低複雑性シーケンスは、ＳＳＩＭ約０．９６３をもたらし、最高複雑性シーケンスは、ＳＳＩＭ約０．９３８をもたらす。これは、ＳＳＩＭ値幅０．０２５であって、これは、標的ビットレートの使用の約半分の値幅である。故に、いくつかの実施形態では、コーデック特有の品質値が、プローブエンコーディングのために使用され得る。
【００６６】
より具体的には、ｘ２６４コーデックを利用したエンコーディングに関して、デフォルト標的レートまたはＣＲＦ値が、第１のプローブエンコーディングのために使用され得る。いくつかの実施形態では、例えば、解像度７２０ｐおよび０．９５ＳＳＩＩＭレート標的を前提として、デフォルトレート３０００ｋｂｐｓまたはデフォルトＣＲＦ値２６が、使用され得る。
【００６７】
より一般的には、解像度、フレームレート、ＧＯＰ長、コーデックタイプ、コーデックプロファイル、およびコーデック速度／事前設定パラメータ等の係数もまた、標的レートまたはＣＲＦ値を規定することによって、初期プローブエンコーディング点の場所を決定するために使用され得る。そのようなデフォルト選択は、そのようなパラメータのいくつかの組み合わせに関して事前に算出され、記憶されるか、または適切に選定された機能／モデルを使用して動的に算出されるかのいずれかであり得る。
【００６８】
第１のプローブエンコーディングが実施された後（例えば、コーデック特有の品質値または標的ビットレートに基づいたかどうかにかかわらず）、第１のプローブエンコーディングの結果として生じる品質値が、決定されることができる。いくつかの実施形態では、第１のプローブエンコーディング後に取得された品質値は、チェックされることができ、本値が標的品質値（例えば、閾値内品質変動）に十分に近い場合、さらなるプローブエンコーディングは、実施されず、標的レートは、第１のプローブ点を交差する単一パラメータモデル適合を使用して決定される。いくつかの他の実施形態では、第２のプローブエンコーディングが、実施され、標的レートは、両プローブ点を交差する２パラメータモデル適合を使用して決定される。
【００６９】
閾値品質変動に関する値は、変動し、複雑性（すなわち、実行されるプローブの数）と品質標的に合致する正確度との間のトレードオフを定義し得る。いくつかの実施形態では、最小ＳＳＩＭ変動閾値は、０．００５ＳＳＩＭであり得る。他の実施形態は、より大きいまたはより小さい閾値を有し得る、もしくは閾値比較を使用せず、直接、第２のプローブに進む。
【００７０】
ＳＳＩＭ標的品質値の場合、そのような近接近合致が、検出されると、標的レートは、（１）単一パラメータモデルＱＳＳＩＭ（Ｒ）を第１の点を通して求め、次いで、（２）ＱＳＳＩＭ（Ｒ＊）＝Ｑ＊ＳＳＩＭ方程式を解決することによって決定されることができる。これは、以下をもたらす。
【数１１】
2020502898.tif 000019
式中、
【数１２】
2020502898.tif 000020
【数１３】
2020502898.tif 000021
（Ｒ１，Ｑ１）は、第１のプローブの座標であって、Ｑ＊ＳＳＩＭ＝０．９５である。
【００７１】
第２のプローブエンコーディングに関する標的ビットレートまたはコーデック特有の品質値を見出すことは、単一パラメータモデルを第１のプローブエンコーディングの品質値に適合させ、次いで、品質標的に合致するために必要とされる新しい標的ビットレートまたはＣＲＦを予測することを含む、いくつかの考慮点または技法を使用することによって、行われることができる。
【００７２】
例えば、標的ＳＳＩＭ値に到達することを対象とするプローブエンコーディングに関するＣＲＦ値を使用する場合、新しいＣＲＦ値は、ＳＳＩＭ−ＣＲＦモデルを第１のプローブ点を通して求めることによって見出される。この場合、ＣＲＦモデルパラメータρは、以下のように算出され得る。
【数１４】
2020502898.tif 000022
式中、σ０≒２．２である。
【００７３】
図７は、実験データ点の値およびＣＲＦのモデル値がＳＳＩＭの関数として示される、グラフ７００の例証である。前述のグラフと同様に、グラフ７００は、「低複雑性モデル」７１５および「低」複雑性７１０を有するコーディングの対応する実験データ点と、「低複雑性−中複雑性モデル」７２５および「低−中」複雑性７２０を有するコーディングの対応する実験データ点と、「中複雑性モデル」７３５および「中」複雑性７３０を有するコーディングの対応する実験データ点と、「中複雑性−高複雑性モデル」７４５および「中−高」複雑性７４０を有するコーディングの対応する実験データ点と、「高複雑性モデル」７５５および「高」複雑性を有するコーディングの対応する実験データ点７５０とを示す（再び、煩雑を回避するために、実験データのいくつかの点のみが、図７において標識されている）。標的品質値７７０もまた、示される。
【００７４】
ここでは、ＣＲＦ値２６を用いて実施される第１のエンコーディングは、エンコードされたコンテンツのタイプに応じて、種々のＳＳＩＭ値の「プローブ点」７８０をもたらす。「プローブ点」の値（第１のプローブエンコーディングの品質値）に応じて、モデルが、選定されることができ、第２のプローブエンコーディングが、実施されることができる（選択されたモデルが標的品質値と交差する場所に基づいて選定される、ＣＲＦ値またはビットレート、この場合、ＳＳＩＭ＝０．９５を用いて）。例えば、ＣＲＦ＝２６における第１のプローブエンコーディングが、ＳＳＩＭ値約０．９３７をもたらす場合、「高複雑性」モデルが、選定されることができ、ＣＲＦ値２３．４８６が、「高複雑性」モデルが標的ＳＳＩＭ値０．９５と交差する場所に基づいて、第２のプローブエンコーディングのために選択されることができる。
【００７５】
第１および第２のプローブエンコーディングが、算出されると、結果として生じる対の（レート、品質）値（それぞれ、（Ｒ１，Ｑ１）および（Ｒ２，Ｑ２））が、決定されることができ、それぞれ、それぞれのプローブエンコーディングのビットレートおよび対応する品質値を有する。品質−レートモデルは、次いで、これらの点に適合され、標的品質値に該当するレートを算出するために使用されることができる。そのような動作の実施例は、図８に提供される。
【００７６】
図８は、第１のプローブエンコーディング８２０の（レート、品質）値および第２のプローブエンコーディング８３０の（レート、品質）値に適合されるモデル８４０をプロットする、グラフ８００である。本モデル８４０は、品質値（ＳＳＩＭ）とビットレートとの間の正確な関係を提供し、標的品質値（ＳＳＩＭ＝０．９５）に対応するビットレートが決定されることを可能にする。
【００７７】
図８に図示されるグラフ８００は、第１のプローブエンコーディングがＣＲＦ＝２６を用いて実施され、「高複雑性」モデルが選択され、第２のプローブエンコーディングがＣＲＦ＝２３．４８６を用いて実施された、実験結果を図示する。他の実験データ点８１０および他のビットレートは、種々のビットレートを横断した実験データ８１０に対するモデル８４０の正確度を図示する。
【００７８】
我々のレート−品質モデルの逆数を使用して算出された最終標的レート値は、以下である。
【数１５】
2020502898.tif 000023
【００７９】
式中、Ｑ＊ＳＳＩＭ＝０．９５であって、パラメータαおよびβは、ＱＳＳＩＭ（Ｒ）モデル曲線を所与の２つのプローブ点を通して求めることによって識別される（第２．３．４節参照）。最終標的レート値は、標識８５０に示される。
【００８０】
このように、ビットレートと品質値との間の関係の正確なモデルが、決定されることができ、規定された品質値を達成するために十分に最小のビットレートが、取得されることができる。
【００８１】
図９は、ある実施形態による、上で議論されるようなエンコーディングのためのビットレートを見出す方法を図示する、フローチャート９００である。フローチャート９００に提供されるステップは、実施例として提供されることを理解されたい。代替実施形態は、示されるような機能を追加する、省略する、組み合わせる、分離する、および別様に改変し得る。図９に図示されるブロックのうちの１つ以上のものの機能は、例えば、下でより詳細に説明される、図１６に図示されるコンピュータシステム等のコンピュータシステムのソフトウェアおよび／またはハードウェア手段によって実施され得る。
【００８２】
図９に提供される変数は、以下の通りである。
Ｒ  ビットレートを示す
Ｑ  品質メトリック（例えば、ＰＳＮＲまたはＳＳＩＭもしくは任意の他の客観的メトリック）を示す
Ｑ＊  満たされなければならない品質標的を示す
ΔＱ  品質距離閾値を示す
Ｑ（Ｒ）  所与のシーケンスに関して達成される品質−レート関係のモデルを示す
Ｒ＊  我々の方法によって算出された最終レート標的を示す
【００８３】
方法は、ブロック９１０から開始することができ、第１のプローブエンコーディングのためのコーデックパラメータが、設定され、第１のプローブエンコーディングが、ブロック９２０において起動され、レートおよび品質値（Ｒ１，Ｑ１）をもたらす。上で説明されるように、第１のプローブエンコーディングのためのパラメータは、シーケンスが標的品質値に到達するためにエンコードされるべき方法についての「最良裏付け推測」を表し得る。
【００８４】
ブロック９３０および９４０の機能性は、随意であって（破線によって示されるように）、速度最適化のために実装され得る。ブロック９３０では、第１のプローブエンコーディングの結果が、評価される。結果として生じる品質値Ｑ１が標的品質値Ｑ＊のある閾値相違ΔＱ内である場合、モデルは、ブロック９４０において、第１のエンコーディングの本（Ｒ１，Ｑ１）値を交差するように定義され得、ブロック９８０における機能性は、最終エンコーディングのためのビットレートを見出すために使用されることができる。
【００８５】
ステップ９３０が、省略される場合、または結果として生じる第１のプローブエンコーディングの品質値Ｑ１が、標的品質値Ｑ＊の閾値相違ΔＱを超えるとき、第２のプローブエンコーディングが、最初に、ブロック９５０において、第２のプローブエンコーディングのためのコーデックパラメータを設定し、次いで、ブロック９６０において、第２のプローブエンコーディングを実施することによって実施される。今回は、第２のプローブエンコーディングのためのコーデックパラメータの選択は、第１のプローブエンコーディングの結果によって影響され得、新しい標的が、標的品質値により近い結果を得るように設定されることができる。第２のプローブエンコーディングは、レートおよび品質値（Ｒ２，Ｑ２）
【００８６】
第２のプローブエンコーディングが、行われた後、第１および第２の点の両方が、ブロック９７０において、（Ｒ１，Ｑ１）および（Ｒ２，Ｑ２）に適合する品質−レートＱ（Ｒ）モデルを定義するために使用されることができる。本Ｑ（Ｒ）モデルは、次いで、ブロック９８０において、ソースコンテンツの最終エンコーディングのためのビットレートＲ＊を決定するために使用されることができる。
（制約の組および最適化基準を前提として、最適エンコーディングラダーを生産する）
【００８７】
いくつかの実施形態によると、最適エンコーディングラダーを生産するための技法は、以下のように説明され得る。
以下を前提とする。
・ソースコンテンツＺ
・以下等のプロファイル制約の組
ｏプロファイル内に含まれるべきエンコーディング／描出の数に関する限界
・ｎ∈Ｎ＝［ｎｍｉｎ，ｎｍａｘ］
ｏプロファイルにおいて使用され得るビデオ解像度に関する制約
・  Ｓ＝｛Ｓα，α＝１，２、・・・｝（使用され得る解像度の組であって、各解像度は、フレーム幅、高さ、およびビデオフレームレートパラメータを含む、記録Ｓα＝｛ｗα，ｈα，ｆα，｝である）
【数１５−１】
2020502898.tif 000024
（解像度Ｓαのサンプリングレート（ピクセル／秒単位））
【数１５−２】
2020502898.tif 000025
（サンプリングレートに従って順序付けられたｎ個の解像度の組）
ｏプロファイルにおいて使用され得るビットレートに関する制約
・Ｒ＝［Ｒｍｉｎ，Ｒｍａｘ］（使用され得るビットレートの全体的範囲
・Ｒｎ＝｛Ｒ１，・・・Ｒｎ∈Ｒ：Ｒ１＜・・・＜Ｒｎ，Ｒ１≦Ｒ１，ｍａｘ｝（順序制約と、また、第１のレートに課される上限Ｒ１，ｍａｘ（典型的には、最悪の場合のバッファリング時間を限定するために行われる）とを伴う、ｎ個のビットレートの組）
ｏ可能性として、解像度、ＧＯＰ長等毎に許容される、ビデオコーデック、コーデックプロファイル、およびレベルに関する制約等の追加の制約
・性能指数関数
ｏＦ（ｎ，Ｒ，Ｓ）（あるスコア（または性能指数値）をレートＲ＝｛Ｒ１，・・・，Ｒｎ｝および解像度Ｓｎ＝｛Ｓ１，・・・，Ｓｎ｝を伴うｎ−点ラダーに割り当てる）
以下を見出す。
・エンコーディングの数ｎ＊∈Ｎ
・ビットレートの組：Ｒ＊＝｛Ｒ＊１，・・・，Ｒ＊ｎ＊｝
・解像度の組Ｓ＊＝｛Ｓ＊１，・・・，Ｓ＊ｎ＊｝∈Ｓｎ＊
上記の全ての制約を満たし、性能指数関数Ｆ（ｎ，Ｒ，Ｓ）の最大値に到達する。
【００８８】
言い換えると、数学的に、最適プロファイル生成問題は、以下のように定義され得る。
【数１６】
2020502898.tif 000026
【００８９】
性能指数関数Ｆ（ｎ，Ｒ，Ｓ）ならびに追加のパラメータおよび制約の選択は、上記の問題の変形例を作成し得る。そのような変形例のいくつかの単純実施例が、下で列挙される。
【００９０】
総記憶コストの最小限化は、以下によって決定され得る。
【数１７】
2020502898.tif 000027
この場合、性能指数関数は、プロファイルにおける全てのエンコーディングのビットレートの和：Ｆ（ｎ，Ｒ，Ｓ）＝Ｒ１＋・・・＋Ｒｎである。本問題を適切に設定するために、全ての描出のための最小エンコーディング品質値に関する制約もまた、課される。式（１７）では、値ｑＳｉ，１，・・・，ｎは、エンコーディング品質値を示し、ｑｍｉｎは、ある所与の最小品質限界を示す。先に議論されるように、そのような品質値は、ＳＳＩＭ、ＰＳＮＲ、ＰＱＲ、ＶＭＡＦ、または任意の他の一般的メトリックにおいて測定されることができる。
【００９１】
総達成解像度の最大限化は、以下によって決定され得る。
【数１８】
2020502898.tif 000028
この場合、性能指数関数は、プロファイルにおける全てのエンコーディングの解像度の和：Ｆ（ｎ，Ｒ，Ｓ）＝Ｓ１＋・・・＋Ｓｎである。本問題を適切に設定するために、全ての描出のための最小エンコーディング品質値関する制約もまた、課される。
【００９２】
「ビットあたり送信されるピクセル」の最大限化は、以下によって決定され得る。
【数１９】
2020502898.tif 000029
この場合、性能指数関数は、プロファイルにおける全てのエンコーディングによって使用されるビットレートに対する解像度の和の比率：
【数１９−１】
2020502898.tif 000030
【００９３】
性能指数関数および最適化問題（１６）の追加の変形例は、ネットワークのあるパラメータおよび種々のネットワークまたはユーザデバイスを横断した使用量が既知であるときに提示され得る。例えば、プロファイル生成器は、いくつかの異なるユーザデバイス（ｉＰｈｏｎｅ（登録商標）、Ａｎｄｒｏｉｄフォン、ｉＰａｄ（登録商標）、Ａｎｄｒｏｉｄタブレット、ＰＣ、ＴＶ等）に関して測定されたネットワーク帯域幅のヒストグラムならびにそれらのデバイス間の再生時間の分布を使用し得る。これの実施例は、図１０に図示され、これは、種々のデバイスに関する帯域幅にわたってＰＤＦをプロットする。図１０では、グラフに示されるデバイス間の使用量の関連付けられた分布は、５２．２％ＰＣ、１７．３％Ａｐｐｌｅ（登録商標）ｉＰｈｏｎｅ（登録商標）、１４．４％ＡｎｄｒｏｉｄＴＭフォン、１０．０％Ａｐｐｌｅ（登録商標）ｉＰａｄ（登録商標）、３．５４％ＡｎｄｒｏｉｄＴＭタブレット、および２．５６％ＴＶである。
【００９４】
以下と仮定する。
・Ｄは、そのようなデバイスまたはネットワークのカテゴリの組を示す
・ｗｄ，ｄ∈Ｄ，（Σｄｗｄ＝１）は、各種類のデバイスまたはネットワークと関連付けられた相対的使用量値（または加重）を示す
【数１９−２】
2020502898.tif 000031
は、各種類のデバイスまたはネットワークのために定義されたネットワーク帯域幅確率分布を示し、
【数１９−３】
2020502898.tif 000032
は、ｄ番目のデバイス／ネットワークに配信されるときのｉ番目の描出が使用されるであろう確率を示す
性能指数関数および最適化問題の以下の追加の変形例が、定義され得る。平均ネットワーク帯域幅使用量の最小限化は、以下によって決定され得る。
【数２０】
2020502898.tif 000033
この場合、性能指数関数は、ストリーミングクライアントが全てのデバイスまたはネットワークを横断して推定される確率を伴ってプロファイルエンコーディングをプルするときに使用される、平均帯域幅の推定値：
【数２０−１】
2020502898.tif 000034
である。
【００９５】
平均解像度の最大限化は、以下によって決定され得る。
【数２１】
2020502898.tif 000035
この場合、性能指数関数は、ストリーミングクライアントが全てのデバイスまたはネットワークを横断して推定される確率を伴ってプロファイルエンコーディングをプルするときにもたらされる、平均解像度の推定値：
【数２１−１】
2020502898.tif 000036
である。
【００９６】
追加のパラメータおよび制約が、加えて、または代替として、実践的設定に導入され得る。これらは、例えば、正確度制約を含むことができる。例えば、全てのレート点Ｒ１，・・・，Ｒｎは、ある正確度限界を伴って規定／列挙されることができる。例えば、それらは全て、最近傍Ｋｂｐｓまたは１０Ｋｂｐｓの最近傍係数に丸められることができる。そのような丸めの導入は、最適化アルゴリズムのための実践的利便性ならびに速度制御に重要であり得る。より高い精度が必要とされるほど、概して、より多くの時間がそれを算出するために必要とされ得る。
【００９７】
いくつかの実施形態では、粒度制約が、導入され得る。実際は、多くの場合、１つのレート点から別のレート点への変化の大きさ（「ステップ」）を限定することが望ましい。数学的に、これは、以下の限界を導入することにおって行われ得る。
【数２２】
2020502898.tif 000037
式中、γｍｉｎ，γｍａｘは、粒度定数（例えば、２５％および５０％）である。そのような粒度制約を使用することによって、許容レート点の空間が、以下まで絞られる。
【数２３】
2020502898.tif 000038
【００９８】
いくつかの実施形態は、品質関連パラメータ、標的、および制約を伴ってもよい。ビデオ再現の品質の理解は、複雑な話題である。これは、複数の次元、層を有し、それをモデル化する試みにおいて採用され得る、異なる精巧度が存在する。いくつかの実施形態では、２つのカテゴリ／レベルの品質査定技法は、以下である。
ａ．第１のカテゴリは、コーデック雑音レベルメトリックを備えている。いくつかの実施例は、ＰＳＮＲ、ＳＳＩＭ、特徴類似性インデックスメトリック（ＦＳＩＭ）、および同等物を含む。これらのメトリックは、解像度毎に測定されることができ、コーデック雑音のみを測定することに限定され得る。
ｂ．第２のカテゴリは、較正されたビデオ品質メトリックを備えている。これらのメトリックは、コーデック誘発雑音に加え、ディスプレイデバイスの特性、視聴環境、および／または他の要因を考慮することができる。較正されたメトリックのいくつかの実施例は、視覚的差異予測器（ＶＤＰ）、Ｓａｒｎｏｆｆ／Ｔｅｃｔｒｏｎｉｘ画質評価（ＰＱＲ）、ＳＳＩＭｗａｖｅ  ＳＱＭ、および同等物を含む。
【００９９】
ある実施例では、コーデック−雑音−レベルメトリックが、ＳＳＩＭであることができる。全ての解像度および描出のために導入されるＳＳＩＭ品質制約が、次いで、以下のように説明され得る。
【数２４】
2020502898.tif 000039
式中、ｑｍｉｎ，ｑｍａｘは、上界および下界ＳＳＩＭを示し、ｑｉ，ｉ＝１，・・・，ｎは、全ての描出のために達成されるＳＳＩＭ値を示す。
【０１００】
具体的再現設定に適合されるビデオ品質を測定するために、図１０に図示されるように算出される、知覚的に加重されたＳＳＩＭが、使用されることができる。
【０１０１】
図１１は、ある実施形態による、知覚的に加重されたＳＳＩＭが算出され得る方法を図示する、略図である。示されるように、異なる解像度を考慮するために、全てのビデオは、再現ディスプレイの解像度にスケーリングされ得る。追加のフィルタリングが、次いで、ディスプレイから眼の網膜までの経路内のビデオの光学変換をシミュレートするために適用され得る。この変換は、「ヒトの眼の光学ＭＴＦ」として知られる。眼ＭＴＦフィルタのパラメータ（視聴距離、視野の全体的輝度等）は、ビデオを異なるタイプのデバイス（ＴＶ、ＰＣ、タブレット等）上で鑑賞するときの典型的視聴条件を反映させるように設定されることができる。
【０１０２】
言い換えると、知覚的に加重されたＳＳＩＭを算出後、以下の組値が、決定される。
【数２５】
2020502898.tif 000040
式中、Ｄは、標的デバイス（例えば、ＴＶ、ＰＣ、タブレット、スマートフォン等）および関連付けられた視聴条件の組であって、ｉは、各エンコーディングのインデックスである（同一インデックスはまた、エンコーディング解像度ＳｉおよびレートＲｉを読み出すために使用される）。
【０１０３】
いくつかの実施形態によると、各デバイスタイプと関連付けられた典型的視聴条件の値は、以下の表に示される通りであり得る。
【表４】
2020502898.tif 000041
本表内の値Ｈは、ディスプレイ高さの単位で測定されるような視聴距離を示す。
【０１０４】
知覚（眼光学ＭＴＦ）フィルタが、以下のように、ＭＴＦモデルに基づいて、これらの条件に合致するように開発された。
【数２６】
2020502898.tif 000042
式中、ｄは、視野内の予期される平均輝度Ｌに基づいて算出された瞳孔直径：ｄ＝５−３ｔａｎｈ（０．４ｌｏｇＬ）である。本モデルは、“Ｊ．Ｇ．Ｂａｒｔｅｎ，Ｃｏｎｔｒａｓｔ  Ｓｅｎｓｉｔｉｖｉｔｙ  ｏｆ  ｔｈｅ  Ｈｕｍａｎ  Ｅｙｅ  ａｎｄ  Ｉｔｓ  Ｅｆｆｅｃｔｓ  ｏｎ  Ｉｍａｇｅ  Ｑｕａｌｉｔｙ，”ＳＰＩＥ  Ｐｒｅｓｓ，１９９９，（ｈｔｔｐ：／／ｓｐｉｅ．ｏｒｇ／Ｐｕｂｌｉｃａｔｉｏｎｓ／Ｂｏｏｋ／３５３２５４）（参照することによって本明細書に組み込まれる）に説明される。
【０１０５】
知覚的に加重されたＳＳＩＭ値Ｑｄ，ｉならびに使用値ｗｄおよび各描出ｐｄ，ｉにアクセスする確率推定値の組を前提として、最良の可能性として考えられる全体的品質をもたらすプロファイルを見出す問題は、以下のように定義され得る。
【数２７】
2020502898.tif 000043
この場合、見出された品質値
【数２７−１】
2020502898.tif 000044
の最良セットは、プロファイル内の全てのエンコーディングのために行われたレートＲ＊ｉおよび解像度Ｓ＊ｉの最良選択を反射させる。性能指数関数は、ストリーミングクライアントが全てのデバイスまたはネットワークを横断して推定された確率を用いてプロファイルエンコーディングをプルするときにもたらされる、平均品質：
【数２７−２】
2020502898.tif 000045
である。
【０１０６】
図１２は、ある実施形態による、本明細書に上で説明される技法を使用して最適エンコーディングラダーを生成する方法を図示する、フロー図１２００である。フロー図１２００に提供されるステップは、実施例として提供されることを理解されたい。代替実施形態は、示されるような機能を追加する、省略する、組み合わせる、分離する、および別様に改変し得る。図１２に図示されるブロックのうちの１つ以上のものの機能は、例えば、下でより詳細に説明される、図１５に図示されるコンピュータシステム等のコンピュータシステムのソフトウェアおよび／またはハードウェア手段によって実施され得る。
【０１０７】
ここでは、方法は、ブロック１２１０から開始することができ、入力要求が、分析される。そのような要求は、前述で説明されるように、トランスコードされるべきメディアへのＵＬＲと、生成されたプロファイルに課されるべきあるパラメータ／制約とを含み得る。要求は、トランスコーディング工程（図２に図示されるプロファイル生成工程２３０等）を実行するデバイスおよび／またはアプリケーションにおいて受信されることができる。
【０１０８】
ブロック１２２０では、許容ビデオ解像度Ｓの組が、定義される。そのような解像度は、部分的に、入力メディアの解像度、アスペクト比、およびフレームレートに基づいて定義され得る。解像度または許容解像度のリストに関するある制約もまた、入力要求の一部として提供されることができる。
【０１０９】
解像度の組に基づいて、プローブエンコーディングが、ブロック１２３０において、本明細書に上で説明される技法を（例えば、解像度あたり１〜２プローブエンコーディングを使用する、図９００に示される方法）使用して実施されることができる。品質−レートモデルが、次いで、ブロック１２４０において、プローブエンコーディングに基づいて定義されることができる。そのようなモデルは、概して、プロファイルを生成するために使用され得る、全ての許容解像度のために定義されるべきである。
【０１１０】
レート制約Ｒが、ブロック１２５０において定義される。解像度の組と同様に、いくつかのレート制約が、ブロック１２１０において分析された入力要求によって提供され得る。上で説明されるように、これらの初期レート制約は、種々のアルゴリズムに従って精緻化され得る。例えば、入力要求がまた、品質レベルに関する制約を含む場合、ブロック１２４０に定義される品質−レートモデルを使用することによって、それらは、レートドメイン内の対応する制約にマッピングされることができる。追加のレート制約が、使用されているコーデックプロファイルおよびレベルに関連するコーデック特有の限界に基づいて課され得る。全ての許容解像度のためのそのような様式で取得された制約の上位セットは、次いで、最適化プロセス１２７０への入力として使用される。
【０１１１】
ブロック１２６０では、性能指数関数を算出するために必要とされる全ての残りのパラメータが、定義される。そのようなパラメータは、ネットワークおよび使用量統計、デバイスの異なるカテゴリに割り当てられるべき重要性加重等を含み得る。
【０１１２】
ブロック１２７０では、数値最適化プロセスが、生じ、レートおよび解像度のための許容空間が、走査され、性能指数の最大値を達成する組み合わせが、選別される。
【０１１３】
最後に、ブロック１２８０では、生成されたエンコーディングラダー（エンコーディングプロファイル）が、記憶される、または出力に送信される。
【０１１４】
性能指数関数の性質および入力パラメータの可用性に基づいて、いくつかの追加のステップが、導入され得る。図１３は、例えば、ある実施形態による、エンコーディングラダー生成がネットワークおよび使用量統計等の追加の情報に基づく、はるかに複雑なプロセスのフローチャートを図示する。図１３に示されるプロセスでは、ネットワーク情報だけではなく、コンテンツの地理的範囲、異なる配信デバイスの重要性（サービスの質（ＱｏＳ）加重）、および同等物も、使用される。この例示的プロセスは、性能指数をシステムによって達成される全体的平均品質として公式化する。
【０１１５】
本明細書に提供される技法を使用した性能利得は、有意であり得、コンテンツおよび他の要因に応じて変動し得る。種々の種類の２００時間を超えるメディアコンテンツを使用して生産された実験結果に従って、ある７２０ｐおよび１０８０ｐシーケンスのためのマルチ描出プロファイル（完全エンコーディングラダー）が、本明細書の技法（例えば、「動的プロファイル」を作成する）を使用して作成され、従来の静的プロファイルと比較して、記憶／帯域幅占有面積の平均５３％の低減および要求される描出カウントの平均３８％の低減をもたらした。種々のファイルのための解像度１０８０ｐ、７２０ｐ、７６８ｘ４３２、および７６８ｘ５７６における単一描出エンコーディングに関する実験結果も、類似利点を有していた。すなわち、本明細書に説明される技法によって生成された動的プロファイルを使用した単一描出エンコーディングは、従来の静的プロファイルと比較して、要求される記憶／帯域幅占有面積を平均３６％低減させた。最後に、種々のファイルのための低解像度（６４０ｘ３６０）における単一描出エンコーディングに関する実験結果は、従来の静的プロファイルと比較して、要求される記憶／帯域幅占有面積の４４％の低減をもたらした。
【０１１６】
図１４は、ある実施形態による、ソースコンテンツをエンコードすることにおける最適化の方法の方法を図示する、フロー図１４００であって、これは、上で説明される最適化技法のうちの１つ以上のものを使用することができる。図１４に提供されるステップは、実施例として提供されることを理解されたい。代替実施形態は、示されるような機能を追加する、省略する、組み合わせる、分離する、および別様に改変し得る。図１４に図示されるブロックのうちの１つ以上のものの機能は、例えば、下でより詳細に説明される、図１５に図示されるコンピュータシステム等のコンピュータシステムのソフトウェアおよび／またはハードウェア手段によって実施され得る。
【０１１７】
ブロック１４１０では、方法１４００は、ソースコンテンツを取得することによって開始することができる。ここでは、ソースコンテンツは、第１の電子フォーマットにおけるビデオを備えている。前述のように、ソースコンテンツは、デジタルマスタ、メザニンファイル、入力ストリーム、分離ビデオエレメンタリストリーム、または同等物を含む、種々のフォーマットのいずれかで提供され得る。
【０１１８】
ブロック１４２０では、エンコーディングパラメータが、少なくとも１つのプローブエンコーディングのために決定される。上で提供される技法に議論されるように、いくつかの実施形態では、プローブエンコーディングを行うために設定されるエンコーディングパラメータは、品質限界を使用し得る。いくつかの実施形態では、少なくとも１つのプローブエンコーディングのためのビットレートまたはＣＲＦ値を決定するステップはさらに、標的ビデオ解像度に基づき得る。そのようなパラメータは、エンコーディングの数、解像度、ビットレート、コーデック特有の制約等を含み得る。
【０１１９】
ブロック１４３０では、少なくとも１つのプローブエンコーディングが、行われる。いくつかの実施形態では、第１のプローブエンコーディングは、コンテンツ全体を分析し得る。１つ以上の後続プローブエンコーディングは、第１のプローブエンコーディングのためのビットレートを使用して、ソースコンテンツの一部をエンコードすることによって行われることができる。エンコードされたソースコンテンツの量は、所望の機能性に応じて変動し得る。比較的に大量のコンテンツが、コンテンツタイプのより正確な表現を提供するためにエンコードされ得る一方、比較的により少量のコンテンツは、方法１４００がより迅速に実行されることを確実にすることに役立つようにエンコードされ得る。
【０１２０】
いくつかの実施形態では、プローブエンコーディングのレートおよび品質値が、決定され得る。品質値の決定は、使用される品質値に応じて変動し得る。上で議論されるように、品質値は、ＳＳＩＭ、ＭＯＳ、ＰＱＲ、ＶＭＡＦ、および同等物の値を備え得る。
【０１２１】
いくつかの実施形態では、第１のプローブエンコーディングの品質値と標的品質値との間の差異がある閾値を超えることが決定され得る。図９のブロック９３０に議論され、図３に図示されるように、ある閾値は、標的品質値からの最小容認可能変動を反映させてもよい。
【０１２２】
いくつかの実施形態では、第２のプローブエンコーディングのためのエンコーディングパラメータが、少なくとも部分的に、第１のプローブエンコーディングのビットレートまたは品質に基づいて決定され得、第２のプローブエンコーディングは、第２のプローブエンコーディングのためのエンコーディングパラメータを使用して行われることができる。前述の（かつ図７および８に関連して説明される）ように、第１のプローブエンコーディングの結果は、第２のプローブエンコーディングのためのエンコーディングパラメータの選択を知らせることができる。
【０１２３】
いくつかの実施形態では、第２のプローブエンコーディングのレートおよび品質値が、決定され得る。さらに、品質値の決定は、所望の機能性に応じて変動し得る。
【０１２４】
ブロック１４４０では、最終エンコーディング（または複数の最終エンコーディング）のエンコーディングパラメータが、決定される。そのようなパラメータは、エンコーディングの数、解像度、ビットレート、コーデック特有の制約等を含み得る。いくつかの実施形態では、ビットレートが、少なくとも部分的に、少なくとも１つのプローブエンコーディングに基づいて、最終エンコーディングのために決定される。第１および第２のプローブエンコーディングを含む、上で説明される実施形態等のいくつかの実施形態では、最終エンコーディングのためのビットレートは、第１のプローブエンコーディングの品質値および第２のプローブエンコーディングの品質値に基づき得る。前述のように、最終エンコーディングのためのビットレートの決定（例えば、エンコーディングプロファイル内に含むために）は、図８に関連して説明されるように、品質モデルを第１のプローブエンコーディングの品質値および第２のプローブエンコーディングの品質値に適合させるステップを含み得る。前述のように、モデルのパラメータは、少なくとも部分的に、第１のプローブエンコーディングの品質値に基づき得る。したがって、品質モデルの利得および形状を決定するステップは、第１のプローブエンコーディングの品質値に基づき得る。最終エンコーディングのためのビデオ解像度および／またはビットレートは、上で議論されるように、性能指数関数を利用する最適化問題を解決することによって決定され得る。
【０１２５】
ブロック１４５０では、ソースコンテンツをエンコードするためのプロファイルが、生成され、ソースコンテンツをエンコードするためのプロファイルは、ソースコンテンツが第２の電子フォーマットにエンコードされる方法を示し、最終エンコーディングのためのエンコーディングパラメータを示す情報を含む。前述のように、プロファイルは、最終エンコーディングが複数のエンコーディングのうちの１つを備えているエンコーディングラダーを含み得る。そのような場合、性能指数関数が、エンコーディングの数ならびにエンコーディング毎に使用されるべきビデオ解像度およびビットレート等のエンコーディングパラメータを決定するために使用され得る（他のエンコーディングパラメータは、表１に示される）。いくつかの実施形態はさらに、ソースコンテンツをエンコードするためのプロファイルに従って、第２の電子フォーマットへのソースコンテンツのエンコーディングを実施することと、第２の電子フォーマットにエンコードされたソースコンテンツを記憶することとを含み得る。
【０１２６】
図１５は、コンピュータシステム１５００の実施形態を図示し、これは、全体または部分的に、図９、１３、および１４に示される方法を含む、本明細書に説明される方法の機能のうちの１つ以上のものを実施するために使用され得る。コンピュータシステムは、トランスコーディングサービス１１０を含む、メディアサービス提供システム（例えば、図１のメディアサービス提供システム１００）のエンティティのうちの１つ以上のものの中に組み込まれ得る。図１５は、種々のコンポーネントの一般化された例証のみを提供することを意味し、そのいずれかまたは全てが、必要に応じて利用され得ることに留意されたい。図１５は、したがって、広義には、個々のシステム要素が比較的に分離または比較的により統合された様式において実装され得る方法を図示する。加えて、図１５によって図示されるコンポーネントは、単一デバイスに局所化される、および／または異なる地理的場所に配置され得る、種々のネットワーク化されたデバイス間に分散されることができることに留意されたい。
【０１２７】
コンピュータシステム１５００は、バス１５０５を介して電気的に結合され得る（または別様に、必要に応じて通信し得る）、ハードウェア要素を備えているように示される。ハードウェア要素は、処理ユニット１５１０を含んでもよく、これは、限定ではないが、１つ以上の汎用プロセッサ、１つ以上の特殊目的プロセッサ（デジタル信号処理チップ、グラフィック加速プロセッサ、および／または同等物等）、および／または他の処理構造を備え得、本明細書に説明される方法のうちの１つ以上のものを実施するように構成されることができる。コンピュータシステム１５００はまた、限定ではないが、マウス、キーボード、カメラ、マイクロホン、および／または同等物を備え得る、１つ以上の入力デバイス１５１５と、限定ではないが、ディスプレイデバイス、プリンタ、および／または同等物を備え得る、１つ以上の出力デバイス１５２０とを備え得る。
【０１２８】
コンピュータシステム１５００はさらに、１つ以上の非一過性記憶デバイス１５２５を含んでもよく（および／またはそれと通信する）、これは、限定ではないが、ローカルおよび／またはネットワークアクセス可能記憶装置を備えていることができ、および／または限定ではないが、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ソリッドステート記憶デバイス、例えば、ランダムアクセスメモリ（「ＲＡＭ」）、および／または読み取り専用メモリ（「ＲＯＭ」）を備え得、これは、プログラム可能、フラッシュ更新可能、および／または同等物であることができる。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および／または同等物を含む、任意の適切なデータ記憶を実装するように構成され得る。そのようなデータ記憶は、本明細書に説明されるように、１つ以上のデバイスに送信されるためのメッセージおよび／または他の情報を記憶および管理するために使用される、データベースおよび／または他のデータ構造を含み得る。
【０１２９】
コンピュータシステム１５００はまた、無線通信インターフェースによって管理および制御される、無線通信技術、ならびに有線技術（Ｅｔｈｅｒｎｅｔ（登録商標）、同軸通信、ユニバーサルシリアルバス（ＵＳＢ）、および同等物等）を備え得る、通信サブシステム１５３０を含み得る。したがって、通信サブシステム１５３０は、モデム、ネットワークカード（無線または有線）、赤外線通信デバイス、無線通信デバイス、および／またはチップセット、ならびに／もしくは同等物を備え得、これは、コンピュータシステム１５００が、１つ以上の通信ネットワーク上で、本明細書に説明される他のコンピュータシステムおよび／または任意の他の電子デバイスを含む（その上で実行される動作および／またはアプリケーションを含む）、それぞれのネットワーク上の任意のデバイスと通信することを可能にし得る。故に、通信サブシステム１５３０は、本明細書の実施形態に説明されるように、データを受信および送信するために使用され得る。
【０１３０】
多くの実施形態では、コンピュータシステム１５００はさらに、作業メモリ１５３５を備え、これは、上で説明されるように、ＲＡＭまたはＲＯＭデバイスを備え得る。作業メモリ１５３５内に位置するように示される、ソフトウェア要素は、オペレーティングシステム１５４０、デバイスドライバ、実行可能ライブラリ、および／または他のコード、例えば、１つ以上のアプリケーション１５４５を備え得、これは、種々の実施形態によって提供されるコンピュータプログラムを備え得、および／または本明細書に説明されるように、他の実施形態によって提供される方法を実装する、および／またはシステムを構成するように設計され得る。単に、一例として、上で議論される方法に関して説明される１つ以上のプロシージャは、コンピュータ（および／またはコンピュータ内の処理ユニット）によって実行可能なコードおよび／または命令として実装され得る。ある側面では、次いで、そのようなコードおよび／または命令は、説明される方法に従って、１つ以上の動作を実施するように、汎用コンピュータ（または他のデバイス）を構成および／または適合するために使用されることができる。
【０１３１】
これらの命令および／またはコードの組は、上で説明される記憶デバイス１５２５等の非一過性コンピュータ読み取り可能な記憶媒体上に記憶され得る。ある場合には、記憶媒体は、コンピュータシステム１５００等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、記憶媒体が、その上に記憶される命令／コードを用いて、汎用コンピュータをプログラム、構成、および／または適合するために使用され得るように、コンピュータシステムと別個（例えば、光学ディスク等の可撤性媒体）であって、および／またはインストールパッケージで提供され得る。これらの命令は、コンピュータシステム１５００によって実行可能な実行可能コードの形態をとり得、および／またはコンピュータシステム１５００上へのコンパイルならびに／もしくはインストールに応じて、（例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用して）、実行可能コードの形態をとる、ソースおよび／またはインストール可能コードの形態をとり得る。
【０１３２】
実質的変動が具体的要件に従って行われ得ることが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得、および／または特定の要素が、ハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、または両方内に実装され得る。さらに、ネットワーク入力／出力デバイス等の他のコンピューティングデバイスへの接続が、採用され得る。
【０１３３】
添付の図を参照すると、メモリを備え得る、コンポーネントは、非一過性機械読み取り可能な媒体を備え得る。用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書で使用されるように、機械を具体的方式で動作させるデータを提供することに関わる、任意の記憶媒体を指す。本明細書に上で提供される実施形態では、種々の機械読み取り可能な媒体は、実行のために、命令／コードを処理ユニットおよび／または他のデバイスに提供することに関わり得る。加えて、または代替として、機械読み取り可能な媒体は、そのような命令／コードを記憶および／または搬送するために使用され得る。多くの実装では、コンピュータ読み取り可能な媒体は、物理的および／または有形記憶媒体である。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとり得る。一般的形態のコンピュータ読み取り可能な媒体は、例えば、磁気および／または光学媒体、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、本明細書に後述されるような搬送波、またはそこからコンピュータが命令および／またはコードを読み取り得る、任意の他の媒体を含む。
【０１３４】
本明細書で議論される方法、システム、およびデバイスは、実施例である。種々の実施形態は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加し得る。例えば、ある実施形態に関して説明される特徴は、種々の他の実施形態において組み合わせられ得る。実施形態の異なる側面および要素は、類似様式において組み合わせられ得る。本明細書に提供される図の種々のコンポーネントは、ハードウェアおよび／またはソフトウェア内に具現化されることができる。また、技術が進化するため、したがって、要素の多くは、本開示の範囲をそれらの具体的実施例に限定しない、実施例である。
【０１３５】
本明細書全体を通して、「一実施例」、「実施例」、「ある実施例」、または「例示的実装」の言及は、特徴および／または実施例に関連して説明される特定の特徴、構造、または特性が、請求される主題の少なくとも１つの特徴および／または実施例内に含まれてもよいことを意味する。したがって、語句「一実施例では」、「実施例では」、「ある実施例では」、または「ある実装では」、もしくは本明細書全体を通して種々の場所における他の同様の語句の表出は、必ずしも全て、同一特徴、実施例、および／または限定を参照するわけではない。さらに、特定の特徴、構造、または特性は、１つ以上の実施例および／または特徴において組み合わせられ得る。
【０１３６】
本明細書に含まれる詳細な説明の一部は、具体的装置または特殊目的コンピューティングデバイスもしくはプラットフォームのメモリ内に記憶されるバイナリデジタル信号上の動作のアルゴリズムまたは象徴的表現の観点から提示される。本特定の明細書の文脈では、用語「具体的装置」または同等物は、プログラムされると、プログラムソフトウェアからの命令に従って特定の動作を実施するための汎用コンピュータを含む。アルゴリズム記述または象徴的表現は、その研究の要旨を他の当業者に伝達するために信号処理または関連技術における当業者によって使用される、技法の実施例である。アルゴリズムは、ここでは、概して、所望の結果につながる、動作または類似信号処理のセルフコンシステントシーケンスと見なされる。本文脈では、動作または処理は、物理的量の物理的操作を伴う。典型的には、必ずしもではないが、そのような量は、記憶される、転送される、組み合わせられる、比較される、または別様に操作されることが可能な電気または磁気信号の形態をとってもよい。これは、折に触れて、主に、一般的使用の理由から、ビット、データ、値、要素、シンボル、文字、項、数字、数値、または同等物として、そのような信号を参照するために便宜的であると証明されている。しかしながら、これらまたは類似用語の全てが、適切な物理的量と関連付けられるわけではなく、単に、便宜的標識であることを理解されたい。別様に具体的に述べられない限り、本明細書の議論から明白であるように、本明細書全体を通して、「処理」、「算出」、「計算」、「決定」、または同等物等の用語を利用する議論は、特殊目的コンピュータ、特殊目的コンピューティング装置、または類似特殊目的電子コンピューティングデバイス等の具体的装置のアクションまたは処理を指すことを理解されたい。本明細書の文脈では、したがって、特殊目的コンピュータまたは類似特殊目的電子コンピューティングデバイスは、典型的には、メモリ、レジスタ、または他の情報記憶デバイス、伝送デバイス、または特殊目的コンピュータまたは類似特殊目的電子コンピューティングデバイスのディスプレイデバイス内の物理的電子または磁気量として表される、信号を操作または変換することが可能である。
【０１３７】
用語「および」、「または」、および「および／または」は、本明細書で使用されるように、少なくとも部分的に、そのような用語が使用される文脈にもまた依存することが予期される、種々の意味を含み得る。典型的には、「または」は、Ａ、Ｂ、またはＣ等のリストを関連付けるために使用される場合、ここでは包含的意味で使用される、Ａ、Ｂ、およびＣ、ならびにここでは排他的意味で使用される、Ａ、Ｂ、またはＣを意味するように意図される。加えて、用語「１つ以上の」は、本明細書で使用されるように、単数形における任意の特徴、構造、または特性を説明するために使用され得る、または複数のまたはある他の組み合わせの特徴、構造、または特性を説明するために使用され得る。但し、これは、単に、例証的実施例であって、請求される主題は、本実施例に限定されないことに留意されたい。
【０１３８】
例示的特徴であると現在みなされるものが、図示および説明されたが、当業者によって、請求される主題から逸脱することなく、種々の他の修正が、行われてもよく、均等物が、代用され得ることが理解されるであろう。加えて、多くの修正が、本明細書に説明される中心概念から逸脱することなく、特定の状況を請求される主題の教示に適合するように行われ得る。
【０１３９】
したがって、請求される主題は、開示される特定の実施例に限定されず、そのような請求される主題はまた、添付の請求項およびその均等物の範囲内である全ての側面を含み得ることが意図される。
【図１】
2020502898.tif 000046
【図２】
2020502898.tif 000047
【図３】
2020502898.tif 000048
【図４】
2020502898.tif 000049
【図５】
2020502898.tif 000050
【図６】
2020502898.tif 000051
【図７】
2020502898.tif 000052
【図８】
2020502898.tif 000053
【図９】
2020502898.tif 000054
【図１０】
2020502898.tif 000055
【図１１】
2020502898.tif 000056
【図１２】
2020502898.tif 000057
【図１３】
2020502898.tif 000058
【図１４】
2020502898.tif 000059
【図１５】
2020502898.tif 000060
【国際調査報告】
2020502898.tif 000061
2020502898.tif 000062
2020502898.tif 000063
2020502898.tif 000064
2020502898.tif 000065