(57)【要約】開示されるのは、トランスコーディング方法及び装置である。この方法は、複数のレベルの精細度から第一精細度及び第二精細度を選択し、第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定し、第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードし、トランスコーディングプロセスにおいて第一リアルタイム量子化パラメータ（ＱＰ）値及び第二リアルタイムＱＰ値を記録し、第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定し、この判定結果が検出ルールを満たさない場合に、第一解像度を調整し、及び／または第二解像度を調整し、調整された第一解像度及び／または第二解像度に従いメディアファイルにおいてトランスコードされていない部分をトランスコードすることを含む。本開示の例示的な実施形態により提供されるトランスコーディング方法及び装置は、メディアファイルのトランスコーディング速度を増加させることができる。
2019503124.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるレベルの精細度と解像度との間の対応を事前に確立し、
前記複数のレベルの精細度から第一精細度及び第二精細度を選択し、前記第一精細度及び前記第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定し、
前記第一解像度及び前記第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードし、トランスコーディングプロセスにおいて前記第一精細度及び前記第二精細度にそれぞれ対応する、第一リアルタイム量子化パラメータ（ＱＰ）値、及び第二リアルタイムＱＰ値を記録し、
前記第一リアルタイムＱＰ値及び前記第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定し、
前記第一リアルタイムＱＰ値が前記所定の検出ルールを満たさない場合に、前記第一精細度に対応する前記第一解像度を調整し、及び／または前記第二リアルタイムＱＰ値が前記所定の検出ルールを満たさない場合に、前記第二精細度に対応する前記第二解像度を調整し、
調整された第一解像度、及び／または調整された第二解像度に従い前記メディアファイル内のトランスコードされていない部分をトランスコードする、
ことを含む、トランスコーディング方法。
【請求項２】
前記所定のトランスコーディングルールは、コンスタントレートファクタ（ＣＲＦ）値または一定のＱＰ値に従い符号化することを含む、請求項１に記載の前記トランスコーディング方法。
【請求項３】
第一閾値は、前記ＣＲＦ値、または前記ＣＲＦ値に対応するＱＰ値である、請求項２に記載の前記トランスコーディング方法。
【請求項４】
前記所定のトランスコーディングルールが前記ＣＲＦ値に従い符号化しているときに、前記ＱＰ値は、前記ＣＲＦ値に５を加算した値に等しい、請求項３に記載の前記トランスコーディング方法。
【請求項５】
前記所定の検出ルールは、
解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数は３０から７０の範囲の、前記解像度に基づきトランスコードすることにより取得される前記リアルタイムＱＰ値の総数のａ％より少ない、
ことを含む、請求項１に記載の前記トランスコーディング方法。
【請求項６】
前記第一解像度を前記調整することは、前記第一解像度の値に第一係数を乗算することを含み、前記第一係数が０より大きく、１より小さい、請求項１に記載の前記トランスコーディング方法。
【請求項７】
前記第二解像度を前記調整することは、前記第二解像度の値に第一係数を乗算することを含み、前記第一係数が０より大きく、１より小さい、請求項１に記載の前記トランスコーディング方法。
【請求項８】
前記メディアファイルの前記コンテンツの前記第一部分をトランスコードすることにより取得される第一ビットレート及び第二ビットレートを記録し、前記第一ビットレート及び前記第二ビットレートが前記第一精細度及び前記第二精細度にそれぞれ対応し、
前記第一精細度及び前記第二精細度、ならびに前記第一解像度及び前記第二解像度にそれぞれ対応する前記第一ビットレート及び前記第二ビットレートに従い線形モデルを確立する、
ことをさらに備える、請求項１に記載の前記トランスコーディング方法。
【請求項９】
前記複数のレベルの精細度が少なくとも３つのレベルの精細度を有するときに、前記方法は、
他のレベルの精細度に対応する前記線形モデル及び解像度に従い、前記複数のレベルの精細度内の前記第一精細度及び前記第二精細度を除く前記他のレベルの精細度に対応するビットレート値を決定する、
ことをさらに備える、請求項８に記載の前記トランスコーディング方法。
【請求項１０】
それぞれのレベルの精細度に対応するビットレート値が前記それぞれのレベルの精細度に対応する所定の上限ビットレート閾値以下であるかどうかを判定し、
前記判定結果が前記上限ビットレート閾値以下ではない場合に、前記複数のレベルの精細度内の前記上限ビットレート閾値より大きいビットレート値の標的レベルの精細度を決定し、
前記線形モデルを使用することにより、前記標的レベルの精細度に対応する前記上限ビットレート閾値に従い、前記標的レベルの精細度に対応する調整された解像度を決定し、
前記調整された解像度に従い前記メディアファイル内の前記トランスコードされていない部分をトランスコードする、
ことをさらに備える、請求項８または請求項９に記載の前記トランスコーディング方法。
【請求項１１】
前記複数のレベルの精細度は、少なくとも３つのレベルの精細度を有するときに、前記複数のレベルの精細度から前記第一精細度及び前記第二精細度を前記選択することは、前記複数のレベルの精細度から最高レベルの精細度を除くいずれか２つのレベルの精細度を前記第一精細度及び前記第二精細度として選択することを含む、請求項１に記載の前記トランスコーディング方法。
【請求項１２】
前記複数のレベルの精細度が４つ以上のレベルの精細度を有するときに、前記複数のレベルの精細度から前記第一精細度及び前記第二精細度を前記選択することは、２つの隣接しないレベルの精細度を前記第一精細度及び前記第二精細度として選択することを含む、請求項１１に記載の前記トランスコーディング方法。
【請求項１３】
前記メディアファイルの前記コンテンツの前記第一部分は、前記メディアファイル内に第一持続時間に持続するコンテンツを含み、前記第一持続時間が前記メディアファイルの総再生持続時間より短い、請求項１に記載の前記トランスコーディング方法。
【請求項１４】
対応確立モジュール、精細度及び解像度決定モジュール、トランスコーディングモジュール、第一判定モジュール、ならびに第一解像度調整モジュールを備え、
前記対応確立モジュールは複数の異なるレベルの精細度と解像度との間の対応を確立するように構成され、
前記精細度及び解像度決定モジュールは前記複数のレベルの精細度から第一精細度及び第二精細度を選択するように、ならびに前記第一精細度及び前記第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定するように構成され、
前記トランスコーディングモジュールは前記第一解像度及び前記第二解像度に基づき、所定のトランスコーディングルールに従い、メディアファイルのコンテンツの第一部分をトランスコードするように、ならびに前記トランスコーディングプロセスにおいて前記第一精細度及び前記第二精細度にそれぞれ対応する第一リアルタイム量子化パラメータ（ＱＰ）値及び第二リアルタイムＱＰ値を記録するように構成され、
前記第一判定モジュールは前記第一リアルタイムＱＰ値及び前記第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定するように構成され、前記所定の検出ルールが３０から７０の範囲の、前記解像度に基づきトランスコードすることにより取得される前記リアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数を含み、
前記第一解像度調整モジュールは前記第一リアルタイムＱＰ値が前記所定の検出ルールを満たさないことが前記第一判定モジュールの前記判定結果である場合に前記第一精細度に対応する第一解像度を調整するように、及び／または前記第二リアルタイムＱＰ値が前記所定の検出ルールを満たさないことが前記第一判定モジュールの前記判定結果である場合に前記第二精細度に対応する第二解像度を調整するように構成され、
前記トランスコーディングモジュールは前記第一解像度調整モジュールにより調整される前記第一解像度及び／または前記第二解像度に従い前記メディアファイル内のトランスコードされていない部分をトランスコードするようにさらに構成される、
トランスコーディング装置。
【請求項１５】
前記トランスコーディング装置は、ビットレート記録モジュール及び線形モデル確立モジュールをさらに備え、
前記ビットレート記録モジュールは、前記トランスコーディングモジュールが前記メディアファイルの前記コンテンツの前記第一部分をトランスコードした後に取得される第一ビットレート及び第二ビットレートを記録するように構成され、前記第一ビットレート及び前記第二ビットレートが前記第一精細度及び前記第二精細度にそれぞれ対応し、
前記線形モデル確立モジュールは、前記第一精細度及び前記第二精細度にそれぞれ対応する前記第一ビットレート及び前記第二ビットレートに従い、ならびに前記第一解像度及び前記第二解像度に従い、線形モデルを確立するように構成される、
請求項１４に記載の前記トランスコーディング装置。
【請求項１６】
他のレベルの精細度に対応する前記線形モデル及び前記解像度に従い前記複数のレベルの精細度内の前記第一精細度及び前記第二精細度を除く前記他のレベルの精細度に対応するビットレート値を決定するように構成される他のビットレートを決定するためのモジュールをさらに備える、請求項１５に記載の前記トランスコーディング装置。
【請求項１７】
それぞれのレベルの精細度に対応するビットレート値が前記それぞれのレベルの精細度に対応する所定の上限ビットレート閾値以下であるかどうかを判定するように構成される第二判定モジュールをさらに備える、請求項１５に記載の前記トランスコーディング装置。
【請求項１８】
前記第二判定モジュールの前記判定結果が前記上限ビットレート閾値以下ではないときに、前記トランスコーディング装置は標的レベルの精細度を決定するためのモジュール、及び第二解像度調整モジュールをさらに備え、
標的レベルの精細度を決定するための前記モジュールは前記複数のレベルの精細度内の対応する所定の上限ビットレート閾値より大きいビットレート値の標的レベルの精細度を決定するように構成され、
前記第二解像度調整モジュールは前記線形モデルを使用することにより、及び前記標的レベルの精細度に対応する前記上限ビットレート閾値に従い、前記標的レベルの精細度に対応する調整された解像度を決定するように構成され、
対応して、前記トランスコーディングモジュールは前記第二解像度調整モジュールにより調整される前記解像度に従い前記メディアファイル内の前記トランスコードされていない部分をトランスコードするようにさらに構成される、
請求項１７に記載の前記トランスコーディング装置。
【請求項１９】
複数のレベルの精細度から第一精細度及び第二精細度を選択し、前記第一精細度及び前記第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定し、
前記第一解像度及び前記第二解像度に基づき、所定のトランスコーディングルールに従い、メディアファイルのコンテンツの第一部分をトランスコードし、前記トランスコーディングプロセスにおいて前記第一精細度及び前記第二精細度にそれぞれ対応する第一リアルタイム量子化パラメータ（ＱＰ）値及び第二リアルタイムＱＰ値を記録し、
前記第一リアルタイムＱＰ値及び前記第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定し、
前記第一リアルタイムＱＰ値が前記所定の検出ルールを満たさない場合に、前記第一精細度に対応する第一解像度を調整し、及び／または前記第二リアルタイムＱＰ値が前記所定の検出ルールを満たさない場合に、前記第二精細度に対応する第二解像度を調整し、
前記調整された第一解像度及び／または第二解像度に従い前記メディアファイル内のトランスコードされていない部分をトランスコードする、
ことを含む、トランスコーディング方法。
【請求項２０】
精細度及び解像度決定モジュール、トランスコーディングモジュール、第一判定モジュール、及び第一解像度調整モジュールを備え、
前記精細度及び解像度決定モジュールは複数のレベルの精細度から第一精細度及び第二精細度を選択するように、ならびに前記第一精細度及び前記第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定するように構成され、
前記トランスコーディングモジュールは前記第一解像度及び前記第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードするように、ならびに前記トランスコーディングプロセスにおいて前記第一精細度及び前記第二精細度にそれぞれ対応する第一リアルタイム量子化パラメータ（ＱＰ）値及び第二リアルタイムＱＰ値を記録するように構成され、
前記第一判定モジュールは前記第一リアルタイムＱＰ値及び前記第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定するように構成され、前記所定の検出ルールが３０から７０の範囲の、前記解像度に基づきトランスコードすることにより取得される前記リアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値における第一閾値より大きいＱＰ値の数を含み、
前記第一解像度調整モジュールは前記第一リアルタイムＱＰ値が前記所定の検出ルールを満たさないことが前記第一判定モジュールの前記判定結果である場合に、前記第一精細度に対応する第一解像度を調整するように、及び／または前記第二リアルタイムＱＰ値が前記所定の検出ルールを満たさないことが前記第一判定モジュールの前記判定結果である場合に、前記第二精細度に対応する第二解像度を調整するように構成され、
前記トランスコーディングモジュールは前記第一解像度調整モジュールにより調整される前記第一解像度及び／または前記第二解像度に従い前記メディアファイル内の前記トランスコードされていない部分をトランスコードするようにさらに構成される、
トランスコーディング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１５年１２月９日に出願され、「ＴＲＡＮＳＣＯＤＩＮＧ  ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ」と題する、中国特許出願第２０１５１０９０３８８９．９号に優先権を主張し、その全体が参照により本明細書に援用される。
【０００２】
本開示は、情報処理技術分野に関し、さらに特にトランスコーディング方法及び装置に関する。
【背景技術】
【０００３】
モバイル通信技術の継続的な発展、ネットワークアクセス速度における急速な増加、インテリジェントモバイル端末の開発、及び増え続けるデジタル圧縮技術の最適化にともない、モバイル端末は、簡単なコミュニケーション及びコンタクトツールからインテリジェントマルチメディアプラットフォームへ進化している。モバイルストリーミングメディアは、モバイル通信及びストリーミングメディア伝送の組み合わせである。ストリーミングメディア技術を使用してモバイルネットワークを介してモバイル端末上にデータを伝送することにより、ビデオオンデマンド、モバイルビデオチャット、及びモバイルビデオサーベイランスを含むサービスをユーザへ提供する。
【０００４】
トランスコーディングは、いくつかのネットワークシナリオ（たとえば、ファイバネットワーク、Ｗｉ−Ｆｉネットワーク、３Ｇネットワーク、及び同様のもの）内で、またはいくつかの端末（たとえば、テレビ、ＰＣ、携帯電話、ＰＡＤ、及び同様のもの）上で、再生されるために適切であるファイル／フロー内へ高精細度超大規模メディアファイル（たとえば、ビデオファイル）を圧縮するプロセスである。一般的に、より小さく圧縮されたメディアファイルは、帯域幅の限定された環境内に伝送されるためにさらに適切であるが、より乏しい画像表示品質を有する。
【０００５】
既存のトランスコーディング方法は、一般的に、精細度が次の４つのレベル、スムース、標準精細度、高精細度、及び超高精細度を有することができるように、ならびに次にこれら４つのレベルの精細度に対応する解像度及びビットレートがそれぞれ設定されることできるように、異なるレベルの精細度に対応するトランスコーディングパラメータを予め設定することと、異なるレベルの精細度に基づき、設定された解像度及びビットレートに従いメディアファイルをプリコードし、トランスコードすることと、各レベルの精細度に基づきトランスコードすることを完了した後に、この精細度に対応するメディアファイルを出力することとを含む。
【０００６】
本開示の実施中に、本発明者らは、従来の技術が少なくとも次の問題、既存のトランスコーディング方法において、解像度及びビットレートなどの適切なトランスコーディングパラメータを決定するために、トランスコーディング前にメディアファイルのトランスコーディングパラメータが分析される必要があることを含むことがわかる。次に、メディアファイルは、分析後に取得されるパラメータに従いトランスコードされ、トランスコードされたメディアファイルは、出力される。一般的に、パラメータを分析するプロセスは、一定期間を必要とする。異なるレベルの精細度において複数のメディアファイル内の１つのメディアファイルをトランスコードする必要があるときに、各レベルの精細度についてのパラメータを分析することが必要とされることにより、多くの時間を浪費し、トランスコーディング速度を低下させる。
【発明の概要】
【０００７】
本開示の例示的な実施形態の目的は、メディアファイルのトランスコーディング速度を増加させる、トランスコーディング方法及び装置を提供することである。
【０００８】
前述の技術的な問題を解決するために、本開示の例示的な実施形態により提供されるトランスコーディング方法及び装置は、以下のように実施される。
【０００９】
トランスコーディング方法を提供し、トランスコーディング方法は、
複数の異なるレベルの精細度と解像度との間の対応を事前に確立し、
複数のレベルの精細度から第一精細度及び第二精細度を選択し、第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定し、
第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードし、トランスコーディングプロセスにおいて第一精細度及び第二精細度にそれぞれ対応する第一リアルタイム量子化パラメータ（ＱＰ）値及び第二リアルタイムＱＰ値を記録し、
第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定し、
第一リアルタイムＱＰ値が所定の検出ルールを満たさない場合に、第一精細度に対応する第一解像度を調整し、及び／または第二リアルタイムＱＰ値が所定の検出ルールを満たさない場合に、第二精細度に対応する第二解像度を調整し、
調整された第一解像度及び／または第二解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードする、
ことを含む。
【００１０】
トランスコーディング方法を提供し、このトランスコーディング方法は、
複数のレベルの精細度から第一精細度及び第二精細度を選択し、第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定し、
第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードし、トランスコーディングプロセスにおいて第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値を記録し、
第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定し、
第一リアルタイムＱＰ値が所定の検出ルールを満たさない場合に、第一精細度に対応する第一解像度を調整し、及び／または第二リアルタイムＱＰ値が所定の検出ルールを満たさない場合に、第二精細度に対応する第二解像度を調整し、
調整された第一解像度及び／または第二解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードする、
ことを含む。
【００１１】
トランスコーディング装置を提供し、このトランスコーディング装置は、
対応確立モジュール、精細度及び解像度決定モジュール、トランスコーディングモジュール、第一判定モジュール、及び第一解像度調整モジュールを備え、
対応確立モジュールは複数の異なるレベルの精細度と解像度との間の対応を事前に確立するように構成され、
精細度及び解像度決定モジュールは複数のレベルの精細度から第一精細度及び第二精細度を選択するように、ならびに第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定するように構成され、
トランスコーディングモジュールは第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従い、メディアファイルのコンテンツの第一部分をトランスコードするように、ならびにトランスコーディングプロセスにおいて第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値を記録するように構成され、
第一判定モジュールは、第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定するように構成され、所定の検出ルールは３０から７０の範囲の、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数を含み、
第一解像度調整モジュールは第一リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュールの判定結果である場合に、第一精細度に対応する第一解像度を調整するように、及び／または第二リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュールの判定結果である場合に、第二精細度に対応する第二解像度を調整するように構成され、
トランスコーディングモジュールは第一解像度調整モジュールにより調整される第一解像度及び／または第二解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードするようにさらに構成される。
【００１２】
トランスコーディング装置を提供し、このトランスコーディング装置は、
精細度及び解像度決定モジュール、トランスコーディングモジュール、第一判定モジュール、及び第一解像度調整モジュールを備え、
精細度及び解像度決定モジュールは複数のレベルの精細度から第一精細度及び第二精細度を選択するように、ならびに第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定するように構成され、
トランスコーディングモジュールは第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従い、メディアファイルのコンテンツの第一部分をトランスコードするように、ならびにトランスコーディングプロセスにおいて第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値を記録するように構成され、
第一判定モジュールは第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定するように構成され、所定の検出ルールは３０から７０の範囲の、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数を含み、
第一解像度調整モジュールは第一リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュールの判定結果である場合に、第一精細度に対応する第一解像度を調整するように、及び／または第二リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュールの判定結果である場合に、第二精細度に対応する第二解像度を調整するように構成され、
トランスコーディングモジュールは第一解像度調整モジュールにより調整される第一解像度及び／または第二解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードするようにさらに構成される。
【００１３】
本開示の例示的な実施形態により提供される前述の技術的な解決策から示されるように、本開示の例示的な実施形態により提供されるトランスコーディング方法及び装置において、メディアファイルのコンテンツの部分は、精細度に対応する所定の解像度に従いトランスコードされ、トランスコーディング前に各レベルの精細度についてトランスコーディングパラメータを分析することは、不要であるため、トランスコーディング時間を削減し、トランスコーディング速度を増加させる。さらに、ＱＰ値における変動は、トランスコーディングプロセスにおいて記録される。ＱＰ値が過度に大きいときに、解像度は、時宜を得た調整をされ、メディアファイル内のトランスコードされていない部分は、調整された解像度に従いトランスコードされ、トランスコードされたメディアファイルは、明瞭かつスムースに再生される。
【００１４】
本開示の例示的な実施形態における、またはより明確に従来の技術における技術的な解決策を説明するために、下記に、例示的な実施形態、または従来の技術を説明するために添付の図面を簡単に取り入れる。明らかに、以下の図面の簡単な説明において添付の図面は、本開示のいくつかの例示的な実施形態を単に示すが、当業者は、創造的な努力なしでこれらの添付の図面から他の図面をさらに導くことができる。
【図面の簡単な説明】
【００１５】
【図１】本開示の例示的な実施形態に従うトランスコーディング方法のフローチャートである。
【図２】本開示の例示的な実施形態に従うトランスコーディング方法において線形モデルを使用することにより解像度を調整する概略図である。
【図３】本開示の例示的な実施形態に従うトランスコーディング装置のモジュール図である。
【発明を実施するための形態】
【００１６】
本開示の例示的な実施形態は、トランスコーディング方法及び装置を提供する。
【００１７】
当業者が本開示の技術的な解決策をより良く理解することを可能にするために、本開示の例示的な実施形態における技術的な解決策は、本開示の例示的な実施形態において添付の図面を参照して以下に明確かつ完全に記述される。明らかに記述される例示的な実施形態は、本開示のすべての例示的な実施形態ではなく、いくつかの例示的な実施形態を表現する。本開示の例示的な実施形態に基づき、創造的な努力なしで当業者により取得される他の例示的な実施形態は、本開示の保護範囲にすべて帰属する。
【００１８】
図１は、本開示の例示的な実施形態に従うトランスコーディング方法のフローチャートである。図１に示されるように、トランスコーディング方法は、次のステップを備えることができる。
【００１９】
Ｓ１０１：第一精細度及び第二精細度を複数のレベルの精細度から選択し、第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定する。
【００２０】
複数のレベルの精細度は、少なくとも２つのレベルの精細度であることができる。複数のレベルの精細度と解像度との間の対応を設定することができる。
【００２１】
たとえば、異なるレベルの精細度と解像度との間の対応は、表１に示されることができる。複数のレベルの精細度は、４つのレベルの精細度であることができ、これら４つの精細度は、次の超高精細度、高精細度、標準精細度、及びスムースの、最高から最低へのように連続することができる。
【００２２】
【表１】
2019503124.tif 000003
【００２３】
第一精細度及び第二精細度は、複数のレベルの精細度から選択されることができる。
【００２４】
複数のレベルの精細度が２つのレベルの精細度であるときに、第一精細度は、２つのレベルの精細度のうちのいずれか一方の精細度であることができ、第二精細度は、他方の精細度であることができる。
【００２５】
複数のレベルの精細度が３つ以上のレベルの精細度であるときに、第一精細度及び第二精細度は、複数のレベルの精細度内の最高レベルの精細度を除く、いずれかの２つのレベルの精細度であることができる。たとえば、最高から最低の複数のレベルの精細度は、次の、超高精細度、高精細度、標準精細度、及びスムースのように連続していることができる。次に第一精細度及び第二精細度は、「高精細度」、「標準精細度」、及び「スムース」の間のいずれかの２つであることができる。
【００２６】
さらに、複数のレベルの精細度が４つ以上のレベルの精細度であるときに、２つの隣接していないレベルの精細度は、第一精細度及び第二精細度として選択されることができる。たとえば、レベル「高精細度」、及び「スムース」は、選択されることができる。
【００２７】
第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度は、異なるレベルの精細度と解像度との間の事前に確立された対応に従い決定されることができる。
【００２８】
Ｓ１０２：メディアファイルのコンテンツの第一部分は、第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いトランスコードされ、第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値は、トランスコーディングプロセスにおいて記録される。
【００２９】
メディアファイルのコンテンツの第一部分は、第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いトランスコードされることができる。
【００３０】
メディアファイルのコンテンツの第一部分は、メディアファイル内に第一持続時間に持続するコンテンツを含むことができ、第一持続時間は、メディアファイルの総再生持続時間より短いことができる。たとえば、３０分のビデオファイルについて、第一持続時間に持続するコンテンツは、現在の時間から開始して２分内のコンテンツであることができる。
【００３１】
所定のトランスコーディングルールは、コンスタントレートファクタ（ＣＲＦ）値または一定のＱＰ値に従い符号化することを含むことができる。一般的な事例において、１８のＣＲＦ値は、メディアファイルが基本的にロスレスな品質を有することを示し、１９から２１．５の範囲に及ぶＣＲＦ値は、メディアファイルが高品質を有することを示し、２２から２６の範囲に及ぶＣＲＦ値は、メディアファイルが中間品質を有することを示す。
【００３２】
所定のレートファクタは、実際の実験状況に従い選択されることができる。たとえば、ＣＲＦ値は、２５であることができる。
【００３３】
ＱＰ値は、トランスコードされたメディアファイルの歪度／圧縮率を測定するために使用されることができる。より大きなＱＰ値は、トランスコードされたメディアファイルの、より高い歪度、及びより高い圧縮率を示す。より小さなＱＰ値は、トランスコードされたメディアファイルの、より低い歪度、及びより低い圧縮率を示す。
【００３４】
一般に、ＱＰ値は、０から５１の範囲に及ぶ。一般的なインターネットビデオファイルは、ＱＰ＞３５の場合に相対的に乏しい品質を有する。
【００３５】
第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値をトランスコーディングプロセスにおいて記録することができる。
【００３６】
Ｓ１０３：第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定する。
【００３７】
第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定することができる。
【００３８】
所定の検出ルールは、３０から７０の範囲の、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数を含むことができる。
【００３９】
それは、リアルタイムＱＰ値が第一閾値より大きいかどうかを比較することにより、瞬時ビットレート値がトランスコーディングプロセスにおいて過度に高いかどうかを判定することができる。
【００４０】
第一閾値は、一定のＱＰ値、またはＣＲＦ値に対応するＱＰ値であることができる。具体的に、所定のトランスコーディングルールがＣＲＦ値に従い符号化しているときに、第一閾値は、所定のレートファクタ値に５を加算した値であることができる。一般的な事例において、トランスコーディング後に取得されるＱＰ値が第一閾値より大きいときに、それは、瞬時ビットレート値がメディアファイルを現在の解像度においてスムースに再生することができる最大ビットレート値より大きいことを示すことができる。一定の数より多い数の瞬時ビットレート値が最大ビットレート値より大きい場合に、メディアファイルは、現在の解像度においてスムースに再生されることがほぼ不可能である。
【００４１】
Ｓ１０４：第一精細度に対応する第一解像度は、第一リアルタイムＱＰ値が所定の検出ルールを満たさない場合に調整される、及び／または第二精細度に対応する第二解像度は、第二リアルタイムＱＰ値が所定の検出ルールを満たさない場合に調整される。
【００４２】
第一閾値より大きい複数のＱＰ値があるときに、それは、所定のトランスコーディングルールに従いトランスコーディングを現在の解像度において実行するときに、メディアファイルの複数のクリップの瞬時ビットレートが解像度において最大ビットレートをおそらく超え、メディアファイルがスムースに再生されることがほぼ不可能であることを示す。したがって、現在の精細度に対応する解像度を低下させる必要がある。
【００４３】
第一解像度を調整するステップは、第一解像度の値に第一係数を乗算することを含むことができる。第二解像度を調整するステップは、第二解像度の値に第一係数を乗算することを含むことができる。第一係数の値は、０より大きく、１より小さくてもよい。たとえば、第一係数は、０．８に等しくてもよい。
【００４４】
Ｓ１０５：メディアファイル内のトランスコードされていない部分を調整された第一解像度及び／または第二解像度に従いトランスコードする。
【００４５】
調整された第一解像度及び／または第二解像度に基づき、メディアファイル内のトランスコードされていない部分は、所定のトランスコーディングルールに従いトランスコードされ、第一精細度及び第二精細度にそれぞれ対応する新規の第一ビットレート、及び新規の第二ビットレートを取得することができる。
【００４６】
別の実施態様において、方法は、第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値の両方が所定の検出ルールを満たす場合に、メディアファイル内のトランスコードされていない部分は、第一解像度及び第二解像度に従いトランスコードされることをさらに備えることができる。第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値の両方が所定の検出ルールを満たすときに、それは、第一閾値より大きいＱＰ値の数が０である、または相対的に小さいことを示すことができる。このようなものとして、現在の解像度において所定のトランスコーディングルールに従いトランスコーディングを実行するときに、メディアファイルは、メディアファイルのスムースな再生を確保する、解像度において最大ビットレート値を超える瞬時ビットレート値の、クリップを含まない、または数個のクリップを含む。したがって、メディアファイル内のトランスコードされていない部分は、第一解像度及び第二解像度に従いトランスコードされることができる。
【００４７】
別の実施態様において、方法は、メディアファイルのコンテンツの第一部分をトランスコードすることにより取得される第一ビットレート及び第二ビットレートを記録し、第一ビットレート及び第二ビットレートが第一精細度及び第二精細度にそれぞれ対応することと、第一精細度及び第二精細度にそれぞれ対応する第一ビットレート及び第二ビットレートに従い、ならびに第一解像度及び第二解像度に従い線形モデルを確立することとをさらに備えることができる。
【００４８】
さらに、複数のレベルの精細度が少なくとも３つのレベルの精細度であるときに、複数のレベルの精細度において第一精細度及び第二精細度を除く他のレベルの精細度に対応するビットレート値は、他のレベルの精細度に対応する線形モデル及び解像度に従い決定される。
【００４９】
具体的に、解像度とビットレートとの間の線形関係は、第一及び第二解像度、ならびに第一及び第二ビットレートに従い計算されることができる。次に、他のレベルの精細度に対応する解像度に対応するビットレート値は、線形関係に従い計算されることができる。他のレベルの精細度に対応するビットレートは、線形モデルを使用することにより直接かつ迅速に決定されることができるため、対応するビットレート値は、異なるレベルの精細度に対応する解像度に従いメディアファイルをトランスコードする必要なしで取得されることができ、処理効率を向上させる。
【００５０】
さらに、各レベルの精細度に対応するビットレート値がこのレベルの精細度に対応する所定の上限ビットレート閾値以下であるかどうかを判定することができる。判定結果が上限ビットレート閾値以下ではない場合に、上限ビットレート閾値より大きいビットレート値についての標的レベルの精細度は、複数のレベルの精細度内で決定されることができる。標的レベルの精細度に対応する調整された解像度は、線形モデルを使用することにより、及び標的レベルの精細度に対応する上限ビットレート閾値に従い決定されることができる。メディアファイル内のトランスコードされていない部分は、調整された解像度に従いトランスコードされることができる。メディアファイルのスムースな再生は、上限ビットレート閾値を超えないようにトランスコーディングプロセスにおいてビットレート値を制御することにより確保されることができる。さらに、各レベルの精細度においてメディアファイルをスムースに再生するビットレート値に合致する解像度は、線形モデルを使用することにより取得されることができるため、トランスコードされたメディアファイルは、明瞭かつスムースに再生されることができる。
【００５１】
図２は、本開示の例示的な実施形態に従うトランスコーディング方法において線形モデルを使用することにより解像度を調整する概略図である。図２に示されるように、Ｂ及びＥは、「高精細度」、及び「スムース」にそれぞれ対応し、表１に従い取得される第一解像度及び第二解像度をそれぞれ表現する。図２において、Ａは、「超高精細度」に対応し、表１に従い取得される解像度を表現し、Ｄは、「標準精細度」に対応し、表１に従い取得される解像度を表現し、ｂは、トランスコーディングプロセスにおいて取得される第一ビットレート値を表現し、ｅは、トランスコーディングプロセスにおいて取得される第二ビットレート値を表現する。
【００５２】
このようなものとして、線形モデルは、Ｂ、Ｅ、ｂ及びｅに従い確立され、図３内の線ｍにより示される、解像度とビットレートとの間に線形関係を得ることができる。解像度Ａに対応するビットレート値ａ、及び解像度Ｄに対応するビットレート値ｄは、線形モデルを使用することにより取得されることができる。ａ’、ｂ’、ｄ’及びｅ’が「超高精細度」、「高精細度」、「標準精細度」、及び「スムース」にそれぞれ対応する所定のビットレート閾値であると想定する。次に、それは、ｄ＞ｄ’の場合にのみ、解像度Ｄにおいてメディアファイルが「標準精細度」において再生を実施するようにトランスコードされるときに、メディアファイルがスムースに再生されることが不可能である決定を介して理解されることができる。この事例において、「標準精細度」に対応する上限ビットレート値ｄ’に対応する解像度Ｄ’は、ｄ’に従い、線形モデルを使用することにより取得されることができる。Ｄ’は、「標準精細度」に対応する調整された解像度として使用される。メディアファイル内のトランスコードされていない部分が調整されたＤ’に従いトランスコードされるときに、メディアファイルが明瞭かつスムースに再生されることを確保することができる。
【００５３】
前述の例示的な実施形態により提供されるトランスコーディング方法において、メディアファイルのコンテンツの部分を精細度に対応する所定の解像度に従いトランスコードすると、トランスコーディング前に各レベルの精細度についてのトランスコーディングパラメータを分析することは不要であるため、トランスコーディング時間を削減し、トランスコーディング速度を増加させる。さらに、ＱＰ値における変動は、トランスコーディングプロセスにおいて記録される。ＱＰ値が過度に大きいときに、解像度を適時に調整することができると、メディアファイル内のトランスコードされていない部分を調整された解像度に従いトランスコードするため、トランスコードされたメディアファイルを明瞭かつスムースに再生することができる。
【００５４】
図３は、本開示の例示的な実施形態に従うトランスコーディング装置のモジュール図である。図３に示されるように、トランスコーディング装置は、精細度及び解像度決定モジュール３０１、トランスコーディングモジュール３０２、第一判定モジュール３０３、及び第一解像度調整モジュール３０４を備えることができる。
【００５５】
精細度及び解像度決定モジュール３０１は、複数のレベルの精細度から第一精細度及び第二精細度を選択するように、ならびに第一精細度及び第二精細度にそれぞれ対応する第一解像度及び第二解像度を決定するように構成されることができる。複数のレベルの精細度は、少なくとも２つのレベルの精細度であることができる。対応確立モジュールは、複数のレベルの精細度と解像度との間の対応を設定するために使用されることができる。
【００５６】
トランスコーディングモジュール３０２は、第一解像度及び第二解像度に基づき、所定のトランスコーディングルールに従いメディアファイルのコンテンツの第一部分をトランスコードするように、ならびにトランスコーディングプロセスにおいて第一精細度及び第二精細度にそれぞれ対応する第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値を記録するように構成されることができる。
【００５７】
第一判定モジュール３０３は、第一リアルタイムＱＰ値及び第二リアルタイムＱＰ値が所定の検出ルールを満たすかどうかを判定するように構成されることができ、所定の検出ルールは、３０から７０の範囲の、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値の総数のａ％より少ない、解像度に基づきトランスコードすることにより取得されるリアルタイムＱＰ値内の第一閾値より大きいＱＰ値の数を含む。
【００５８】
第一解像度調整モジュール３０４は、第一リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュール３０３の判定結果である場合に、第一精細度に対応する第一解像度を調整するように、及び／または第二リアルタイムＱＰ値が所定の検出ルールを満たさないことが第一判定モジュール３０３の判定結果である場合に、第二精細度に対応する第二解像度を調整するように構成されることができる。
【００５９】
トランスコーディングモジュール３０２は、第一解像度調整モジュール３０４により調整される第一解像度及び／または第二解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードするようにさらに構成されることができる。
【００６０】
別の実施態様において、トランスコーディング装置は、ビットレート記録モジュール及び線形モデル確立モジュールをさらに備えることができる。ビットレート記録モジュールは、トランスコーディングモジュールがメディアファイルのコンテンツの第一部分をトランスコードした後に取得される第一ビットレート及び第二ビットレートを記録するように構成されることができ、第一ビットレート及び第二ビットレートは、第一精細度及び第二精細度にそれぞれ対応する。線形モデル確立モジュールは、第一精細度及び第二精細度にそれぞれ対応する第一ビットレート及び第二ビットレートに従い、ならびに第一解像度及び第二解像度に従い線形モデルを確立するように構成されることができる。
【００６１】
さらに、トランスコーディング装置は、他のビットレートを決定するためのモジュールをさらに備えることができ、このモジュールは、他のレベルの精細度に対応する線形モデル及び解像度に従い複数のレベルの精細度内の第一精細度及び第二精細度を除く他のレベルの精細度に対応するビットレート値を決定するように構成されることができる。
【００６２】
別の実施態様において、トランスコーディング装置は、第二判定モジュールをさらに備えることができ、第二判定モジュールは、各レベルの精細度に対応するビットレート値がこのレベルの精細度に対応する所定の上限ビットレート閾値以下であるかどうかを判定するように構成されることができる。
【００６３】
さらに、第二判定モジュールの判定結果が上限ビットレート閾値以下ではないときに、トランスコーディング装置は、標的レベルの精細度を決定するためのモジュール、及び第二解像度調整モジュールをさらに備えることができる。
【００６４】
標的レベルの精細度を決定するためのモジュールは、複数のレベルの精細度において対応する所定の上限ビットレート閾値より大きいビットレート値について標的レベルの精細度を決定するように構成されることができる。
【００６５】
第二解像度調整モジュールは、線形モデルを使用することにより、標的レベルの精細度に対応する上限ビットレート閾値に従い、標的レベルの精細度に対応する調整された解像度を決定するように構成されることができる。
【００６６】
対応して、トランスコーディングモジュール３０２は、第二解像度調整モジュールにより調整される解像度に従いメディアファイル内のトランスコードされていない部分をトランスコードするようにさらに構成されることができる。
【００６７】
前述の例示的な実施形態に開示されるトランスコーディング装置は、本開示のトランスコーディング方法の例示的な実施形態に対応しており、本開示の方法の例示的な実施形態を実装し、この方法の例示的な実施形態の技術的な効果を達成することができる。
【００６８】
１９９０年代に、技術における改良は、ハードウェアにおける改良（たとえば、ダイオード、トランジスタ、及びスイッチなどの回路構造における改良）、またはソフトウェアにおける改良（メソッドプロシージャにおける改良）として明らかに区別されることができる。しかしながら、技術の発展にともない、現在における多くのメソッドプロシージャの改良は、ハードウェア回路構造における直接改良とみなされることができる。ほぼすべての設計者は、ハードウェア回路内に改良されたメソッドプロシージャのプログラミングを行い、対応するハードウェア回路構造を取得する。したがって、メソッドプロシージャの改良がハードウェアエンティティモジュールを使用することにより実装されることが不可能であるとみなすことは、不適切である。たとえば、プログラマブルロジックデバイス（ＰＬＤ）（たとえば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ））は、ユーザがプログラミングを行うデバイスにより論理関数を決定するような集積回路である。設計者は、チップメーカーに専用集積回路チップ２を設計し、製造するように依頼する必要なく、デジタルシステムをＰＬＤに「集積する」ように設計者自身によりプログラミングを行う。さらに、現在、プログラミングは、集積回路チップを手動で製造する代替に、ロジックコンパイラソフトウェアを使用することによりほとんど実施される。ロジックコンパイラソフトウェアは、プログラムを開発し、書き込むために使用されるソフトウェアコンパイラに類似し、コンパイルする前に元のコードは、ハードウェア記述言語（ＨＤＬ）と称される特定のプログラミング言語を使用することにより書き込まれる必要もある。アドバンストブール演算式言語（ＡＢＥＬ）、Ａｌｔｅｒａハードウェア記述言語（ＡＨＤＬ）、Ｃｏｎｆｌｕｅｎｃｅ、Ｃｏｒｎｅｌｌ  Ｕｎｉｖｅｒｓｉｔｙプログラミング言語（ＣＵＰＬ）、ＨＤＣａｌ、Ｊａｖａハードウェア記述言語（ＪＨＤＬ）、Ｌａｖａ、Ｌｏｌａ、ＭｖＨＤＬ、ＰＡＬＡＳＭ、及びＲｕｂｙハードウェア記述言語（ＲＨＤＬ）などの、多くの種類のＨＤＬがあり、これらの中でも、超高速集積回路ハードウェア記述言語（ＶＨＤＬ）及びＶｅｒｉｌｏｇ２は、現在最も一般的に使用される。また当業者は、ロジックメソッドプロシージャを実装するためのハードウェア回路が上記のいくつかのハードウェア記述言語を使用して少しだけ論理的にメソッドプロシージャのプログラミングを行うことにより、及び集積回路内にそれのプログラミングを行うことにより容易に取得されることができることを理解するであろう。
【００６９】
コントローラは、いずれかの適切な方式において実装されることができる。たとえば、コントローラは、たとえば、マイクロプロセッサまたはプロセッサ、及び（マイクロ）プロセッサにより実行可能なコンピュータ可読プログラムコード（たとえば、ソフトウェアまたはファームウェア）を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックコントローラ、ならびに埋め込み型マイクロコントローラの形式にあることができる。コントローラの実施例は、限定されないが、次のマイクロコントローラ、ＡＲＣ  ６２５Ｄ、Ａｔｍｅｌ  ＡＴ９１ＳＡＭ、Ｍｉｃｒｏｃｈｉｐ  ＰＩＣ１８Ｆ２６Ｋ２０、及びＳｉｌｉｃｏｎｅ  Ｌａｂｓ  Ｃ８０５１Ｆ３２０を含む。またメモリコントローラは、メモリの制御ロジックの一部として実装されることができる。
【００７０】
また当業者は、コントローラが純粋なコンピュータ可読プログラムコードを使用することにより実装されることができることと、加えて、方法ステップが論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ及び埋め込み型マイクロコントローラの形式で同一の機能をコントローラが実装することを可能にするように論理的にプログラミングを行われることができることとを理解する。したがって、このタイプのコントローラは、ハードウェアコンポーネントとみなされることができ、さまざまな機能を実施するためにその中に含まれる装置は、ハードウェアコンポーネント内側の構造とみなされることもできる。または、さまざまな機能を実施するために使用される装置は、方法を実装するためのソフトウェアモジュール、及びハードウェアコンポーネント内側の構造の両方ともみなされることができる。
【００７１】
上記の例示的な実施形態において図示されるシステム、装置、モジュールまたはユニットは、具体的には、コンピュータチップ、またはエンティティ、または特定の機能を有する製品を使用することにより特に実装されることができる。
【００７２】
説明を簡単にするために、装置を説明するときに、装置は、それぞれの説明についての機能の観点からさまざまなユニットに分割される。確かに、本開示を実施するときに、ユニットの機能は、同一の、または複数のソフトウェア及び／またはハードウェアの部分において実施されることができる。
【００７３】
ソフトウェアに必要な汎用ハードウェアプラットフォームを加えることにより本開示を実装することができることを当業者が明らかに理解することができることは、前述の実施態様の説明からわかることができる。このような理解に基づき、根本的な本開示の技術的な解決策、または従来の技術に寄与する部分は、ソフトウェア製品の形態で具現化されることができる。一般的な構成において、コンピューティングデバイスは、１つ以上のプロセッサ（ＣＰＵ）、入力／出力インタフェース、ネットワークインタフェース、及びメモリを含む。コンピュータソフトウェア製品は、さまざまな例示的な実施形態に記述される方法、または本開示の例示的な実施形態のいくつかの部分を実行するようにコンピュータデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであることができる）に指令するためのインストラクションを含むことができる。コンピュータソフトウェア製品は、メモリ内に格納されることができる。メモリは、コンピュータ可読媒体、たとえば、読み出し専用メモリ（ＲＯＭ）またはフラッシュメモリ（フラッシュＲＡＭ）内に、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／または不揮発性メモリ、または同様のものを含むことができる。メモリは、コンピュータ可読媒体の実施例である。コンピュータ可読媒体は、不揮発性媒体及び揮発性媒体、ならびにムーバブルメディア及び非ムーバブルメディアを含み、いずれかの方法または技術により情報ストレージを実装することができる。情報は、コンピュータ可読インストラクション、データ構造、及びプログラムまたは他のデータのモジュールであることができる。コンピュータ記憶媒体は、たとえば、限定されないが、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのＲＡＭ、ＲＯＭ、電気的に消去プログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）若しくは他の光学ストレージ、カセットテープ、磁気テープ／磁気ディスクストレージ若しくは他の磁気ストレージデバイス、または任意の他の非伝送媒体を含み、コンピューティングデバイスによりアクセスされる情報を格納するために使用されることができる。このテキストの定義に従い、コンピュータ可読媒体は、変調されたデータ信号、及び搬送波などの一時的な媒体を含まない。
【００７４】
本明細書における例示的な実施形態は、漸次に説明され、例示的な実施形態の同一の、または同様の部分は、相互に参照して得られることができ、各例示的な実施形態は、他の例示的な実施形態と異なる一部を強調する。特に、システムの例示的な実施形態は、方法の例示的な実施形態に基本的に類似するため、システムの例示的な実施形態は、簡単に説明され、関連部分について、方法の例示的な実施形態における部分の説明を参照することができる。
【００７５】
本開示は、複数の汎用または専用コンピュータシステム環境または構成、たとえば、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド若しくはポータブルデバイス、タブレット型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、または上記のシステム若しくはデバイスのうちのいずれかを含む分散コンピューティング環境において適用されることができる。
【００７６】
本開示は、コンピュータ、たとえば、プログラムモジュールにより実行されるコンピュータ実行可能インストラクションの共通コンテキスト内に記述されることができる。一般に、プログラムモジュールは、特定のタスクを実行するために、または特定の抽象データ型を実装するために、ルーチン、プログラム、オブジェクト、アセンブリ、データ構造、及び同様のものを含む。また本開示は、分散コンピューティング環境において実施されることができ、分散コンピュータ環境において、タスクは、通信ネットワークを介して接続される遠隔処理デバイスを使用することにより実行される。分散コンピュータ環境において、プログラムモジュールは、ストレージデバイスを含むローカル及びリモートコンピュータ記憶媒体内に設置されることができる。
【００７７】
本開示は、例示的な実施形態を介して説明されるが、当業者は、本出願の趣旨から逸脱することなく、本開示に多くの変形形態及び変更形態があることを理解するであろう。添付の特許請求の範囲が本開示の趣旨から逸脱することなく、これらのような変形形態及び変更形態を含むことを意図する。
【図１】
2019503124.tif 000004
【図２】
2019503124.tif 000005
【図３】
2019503124.tif 000006
【国際調査報告】
2019503124.tif 000007
2019503124.tif 000008
2019503124.tif 000009
2019503124.tif 000010