(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される、符号化中に生じた誤差を識別する方法であって、
ソースデータから得られるフレーム間差分データを生成する工程であって、前記ソースデータの複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することによりフレーム間差分データを生成する工程と、
前記ソースデータから得られた符号化データ集合体を復号化して、復号化されたデータ集合体を生成する工程と、
前記復号化されたデータ集合体から得られたフレーム間差分データを生成する工程であって、前記復号化されたデータ集合体の複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することにより、フレーム間差分データを生成し、前記ソースデータの複数のフレームは前記復号化されたデータ集合体の複数のフレームに対応する工程と、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相相関処理を行い、位相相関値を生成する工程と、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出する工程と、
前記復号化されたデータ集合体に含まれる低位相相関誤差に基づいて、誤差の結果を発すること、および１またはそれ以上の誤差識別処理を実行することの少なくとも１つを実行する工程と
を含むことを特徴とする、コンピュータによって実施される方法。
【請求項２】
前記低位相相関誤差を検出する前記工程が、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定する工程を含む、請求項１記載のコンピュータによって実施される方法。
【請求項３】
前記少なくとも１の位相相関処理を行う前記工程が、
前記ソースデータから得られた前記フレーム間差分データおよび前記復号化された符号化データ集合体から得られた前記フレーム間差分データを複数のブロックに分割する工程であって、前記複数のブロックの各ブロックが、前記ソースデータから得られたフレーム間差分データのサブセットおよびそれに対応する前記復号化された符号化データ集合体から得られたフレーム間差分データのサブセットを含む、工程と、
各前記ブロックについて、前記ソースデータから得られた前記フレーム間差分データを前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、前記ブロックについての位相相関値を決定する工程と
を含む、請求項１記載のコンピュータによって実施される方法。
【請求項４】
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項３記載のコンピュータによって実施される方法。
【請求項５】
前記低位相相関誤差を検出する前記工程が、
第１のブロックについて、前記ソースデータから得られた前記フレーム間差分データに対して位相シフト処理を行う工程と、
前記第１のブロックについて、前記ソースデータから得られた前記シフト後のフレーム間差分データをそれに対応する前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、シフト後位相相関値を決定する工程と、
前記シフト後位相相関値が前記第１のブロックについての位相相関値より少なくとも第１の所定の量だけ大きいことを決定する工程と
を含む、請求項３記載のコンピュータによって実施される方法。
【請求項６】
前記低位相相関誤差を検出する前記工程が、
前記位相相関値に基づき、シーンのカットを識別する工程と、
各ブロックが前記シーンのカットの直前になく、第１の所定の閾値より低い位相相関値を各ブロックが有する、第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項３記載のコンピュータによって実施される方法。
【請求項７】
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を有する第１のブロックを識別する工程と、
前記符号化データ集合体の符号化ビットレートが第２の所定の閾値より高いことを決定する工程と
を含む、請求項３記載のコンピュータによって実施される方法。
【請求項８】
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を各ブロックが有する１組の低相関ブロックを識別する工程と、
前記１組の低相関ブロックについての位相相関値に基づく分布を決定する工程と、
前記分布に基づく信頼区間を計算する工程と、
前記１組の低相関ブロックに各ブロックが含まれ、前記信頼区間の外にある位相相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項３記載のコンピュータによって実施される方法。
【請求項９】
前記信頼区間の外にある位相相関値を有する第１のブロックを識別する前記工程が、前記分布にグラブス検定を適用する工程を含む、請求項８記載のコンピュータによって実施される方法。
【請求項１０】
処理装置によって実行された際に、該処理装置に、符号化中に生じた誤差を識別させる指示を含むコンピュータ可読記憶媒体であって、前記処理装置に、
ソースデータから得られるフレーム間差分データを生成する工程であって、前記ソースデータの複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することによりフレーム間差分データを生成する工程と、
前記ソースデータから得られた符号化データ集合体を復号化して、復号化されたデータ集合体を生成する工程と、
前記復号化されたデータ集合体から得られたフレーム間差分データを生成する工程であって、前記復号化されたデータ集合体の複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することにより、フレーム間差分データを生成し、前記ソースデータの複数のフレームは前記復号化されたデータ集合体の複数のフレームに対応する工程と、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相相関処理を行い、位相相関値を生成する工程と、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出する工程と、
前記復号化されたデータ集合体に含まれる低位相相関誤差に基づいて、誤差の結果を発すること、および１またはそれ以上の誤差識別処理を実行することの少なくとも１つを実行する工程と
を行うことによって、符号化中に生じた誤差を識別させる指示を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１１】
前記低位相相関誤差を検出する前記工程が、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定する工程を含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１２】
前記少なくとも１の位相相関処理を行う前記工程が、
前記ソースデータから得られた前記フレーム間差分データおよび前記復号化された符号化データ集合体から得られた前記フレーム間差分データを複数のブロックに分割する工程であって、前記複数のブロックの各ブロックが、前記ソースデータから得られたフレーム間差分データのサブセットおよびそれに対応する前記復号化された符号化データ集合体から得られたフレーム間差分データのサブセットを含む、工程と、
各前記ブロックについて、前記ソースデータから得られた前記フレーム間差分データを前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、前記ブロックについての相互相関値を決定する工程と
を含む、請求項１０記載のコンピュータ可読記憶媒体。
【請求項１３】
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い相互相関値を各ブロックが有する第１の数の一続きのブロックを識別する工程と、
前記第１の数の一続きのブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項１２記載のコンピュータ可読記憶媒体。
【請求項１４】
前記低位相相関誤差を検出する前記工程が、
前記符号化データ集合体の符号化ビットレートが第２の所定の閾値より高いことを決定する工程と、
第１の所定の閾値より低い相互相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項１２記載のコンピュータ可読記憶媒体。
【請求項１５】
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い相互相関値を各ブロックが有する１組の低相互相関ブロックを識別する工程と、
前記１組の低相互相関ブロックにグラブス検定を適用して、第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、請求項１２記載のコンピュータ可読記憶媒体。
【請求項１６】
前記低位相相関誤差を検出する前記工程が、
第１のブロックについて、前記ソースデータから得られた前記フレーム間差分データに対して位相シフト処理を行う工程と、
前記第１のブロックについて、前記ソースデータから得られた前記シフト後のフレーム間差分データをそれに対応する前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、シフト後相互相関値を決定する工程と、
前記シフト後相互相関値が前記第１のブロックについての相互相関値より少なくとも第１の所定の量だけ大きいことを決定する工程と
を含む、請求項１２記載のコンピュータ可読記憶媒体。
【請求項１７】
前記低位相相関誤差を検出する前記工程が、
前記相互相関値に基づき、シーンのカットを識別する工程と、
前記シーンのカットの直前になく、第１の所定の閾値より低い相互相関値を有する第１のブロックを識別する工程と
を含む、請求項１２記載のコンピュータ可読記憶媒体。
【請求項１８】
前記シーンのカットを識別する前記工程が、
前記ソースデータから得られたフレーム間差分データが第１の閾値を超える第１のフレームを検出する工程と、
前記第１のフレームの直前にある第２のフレームが、前記第１のフレームについての前記ソースデータから得られた前記フレーム間差分データと少なくとも第２の閾値だけ異なる前記ソースデータから得られたフレーム間差分データを有することを決定する工程と
を含む、請求項１７記載のコンピュータ可読記憶媒体。
【請求項１９】
符号化中に生じた誤差を識別するよう構成されたシステムであって、
ソースフレーム間差分データジェネレータであって、
ソースデータの複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することによりフレーム間差分データを生成するよう構成されたソースフレーム間差分データジェネレータと、
ソースデータから符号化データ集合体を得るよう構成された並列符号化エンジンと、
検証ジェネレータであって、
前記ソースデータから得られた前記符号化データ集合体を復号化して、復号化されたデータ集合体を生成し、
前記復号化されたデータ集合体の複数のフレームであって、前記ソースデータの複数のフレームに対応する前記復号化されたデータ集合体の複数のフレームに含まれる各フレームについて、前記フレームの特性と前記フレームに隣接するフレームの特性との間の差分を決定することにより、前記復号化されたデータ集合体から得られたフレーム間差分データを生成し、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相処理を行って、位相相関値を生成し、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出し、前記復号化されたデータ集合体に含まれる低位相相関誤差に基づいて、誤差の結果を発すること、および１またはそれ以上の誤差識別処理を実行することの少なくとも１つを実行するよう構成された検証ジェネレータと
を含むことを特徴とするシステム。
【請求項２０】
前記低位相相関誤差を検出することが、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定することを含む、請求項１９記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、２０１５年２月１３日に出願された米国特許出願第１４／６２２，７７１号による利益を主張するものであり、これを参照して本明細書に組み込む。
【技術分野】
【０００２】
本発明の実施形態は、一般的に、コンピュータサイエンスに関し、より具体的には、符号化中に生じた誤差を識別する技術に関する。
【背景技術】
【０００３】
ソースビデオを効率的且つ正確に符号化することは、ビデオコンテンツのリアルタイムの配信のために不可欠である。符号化されたビデオコンテンツの受信後、ソースビデオは復号化され、視聴または別様で操作される。幾つかの符号化処理は、ソースの正確な複製を可能にするために、例えばハフマン符号化等の無損失圧縮アルゴリズムを用いている。一方、符号化されたビデオコンテンツの圧縮率を高めるため、および／または、サイズを小さくするために、他の符号化処理は、選択された情報を消去して、典型的にはソースのおおよその再構築のみを可能にする、損失の多いデータ圧縮技術を利用している。
【０００４】
符号化の時間を最適化するために、幾つかの符号化処理は、符号化の作業を、複数のコンピュートインスタンスにわたって並列化する。並列符号化の１つの手法において、符号化エンジンは、ソースビデオを個々のチャンクに分解し、チャンク毎の符号化を複数のコンピュートインスタンスに分配し、複数の符号化されたチャンクを１つの符号化集合体にアセンブルするための最終コンピュートインスタンスを構成する。
【０００５】
符号化の作業を並列化すると、全体的な復号化時間を従来の技術と比較して大きく低減できるが、この「分割して乗り越える」手法につきものの複雑さは、誤差が生じる機会を増やす。例えば、符号化エンジンが符号化されたチャンクを正しくアセンブルしない場合には、同期誤差が生じる場合があり、それにより、得られたビデオの品質が劣化する。特に、同期誤差は、視聴者によって、動画のビデオ成分と音声成分との間の許容できない不快な遅延として経験され得る。残念ながら、ソースビデオは、典型的には、符号化エンジンがソースビデオをチャンクに分けた後は利用できないので、ソースビデオを符号化後のビデオと比較する従来の検証技術は、上述の並列符号化パラダイムにおいては適用が限られるか、または適用できない。その結果、並列符号化エンジンは、典型的には、符号化されたビデオの品質を確実にせず、または、効率的なシステマティックな方法では確実にしない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記で示したように、当該技術分野においては、符号化処理中に生じた誤差を識別するためのより効果的な技術が必要である。
【課題を解決するための手段】
【０００７】
本発明の一実施形態は、コンピュータによって実施される、符号化中に生じた誤差を識別する方法を述べる。この方法は、ソースデータから得られるフレーム間差分データを生成する工程であって、ソースデータの複数のフレームに含まれる各フレームについて、フレームの特性とフレームに隣接するフレームの特性との間の差分を決定することによりフレーム間差分データを生成する工程と、ソースデータから得られた符号化データ集合体を復号化して、復号化されたデータ集合体を生成する工程と、復号化されたデータ集合体から得られたフレーム間差分データを生成する工程であって、復号化されたデータ集合体の複数のフレームに含まれる各フレームについて、フレームの特性とフレームに隣接するフレームの特性との間の差分を決定することにより、フレーム間差分データを生成し、ソースデータの複数のフレームは復号化されたデータ集合体の複数のフレームに対応する工程と、ソースデータから得られたフレーム間差分データおよび復号化されたデータ集合体から得られたフレーム間差分データに対して少なくとも１の位相相関処理を行い、位相相関値を生成する工程と、位相相関値に基づき、符号化データ集合体に含まれる低位相相関誤差を検出する工程と、復号化されたデータ集合体に含まれる低位相相関誤差に基づいて、誤差の結果を発すること、および１またはそれ以上の誤差識別処理を実行することの少なくとも１つを実行する工程とを含む。
【発明の効果】
【０００８】
本開示の誤差識別技術の１つの長所は、これらの技術が、ソースデータの利用可能性に関係なく、ソースデータから得られた符号化データの検証を可能にすることである。更に、本開示の技術は、ソースデータではなく、ソースデータから得られたフレーム間差分データに対して操作を行うので、並列符号化システムが、符号化データ集合体において識別された誤差に導かれて、効果的にデバッグされ得る。
【図面の簡単な説明】
【０００９】
【図１】本発明の１以上の態様を実装するよう構成されたシステムの概念図
【図２】本発明の一実施形態による、図１の符号化バリデータを示すブロック図
【図３】本発明の一実施形態による、ビデオソースの検証された符号化集合体を生成する方法のステップのフロー図
【図４Ａ】本発明の一実施形態による、ビデオソースを符号化しつつ、誤差を識別して分類する方法のステップのフロー図
【図４Ｂ】本発明の一実施形態による、ビデオソースを符号化しつつ、誤差を識別して分類する方法のステップのフロー図
【発明を実施するための形態】
【００１０】
本発明の上記の特徴を詳細に理解できるように、上記で簡潔に要約した本発明を、実施形態を参照してより具体的に説明する。実施形態の幾つかが、添付の図面に示されている。しかし、添付の図面は、本発明の典型的な実施形態のみを示すものであり、本発明の範囲を限定するものとは見なされず、本発明は、他の等しく効果的な実施形態を認め得ることを留意されたい。
【００１１】
以下の説明において、本発明のより完全な理解を提供するために、多くの具体的な詳細が述べられる。しかし、当業者には、これらの具体的な詳細の１以上を含まずとも本発明が実施され得ることが自明である。
【００１２】
システムの概観
図１は、本発明の１以上の態様を実装するよう構成されたシステム１００の概念図である。図示されるように、システム１００は、入力データの送信機能および／またはビデオの表示機能がある様々な装置に接続された仮想プライベートクラウド（即ち、カプセル化された共有リソース、ソフトウェア、データ等）１０２を含む。そのような装置は、デスクトップコンピュータ１０２、スマートフォン１０４、およびラップトップ１０６を含むが、それらに限定されない。別の実施形態では、システム１００は、任意の数および／またはタイプの入力装置、出力装置、および／または入出力装置を任意の組合せで含み得る。
【００１３】
仮想プライベートクラウド（ＶＰＣ）１００は、任意の数およびタイプのコンピュートインスタンス１１０を含むが、それらに限定されない。ＶＰＣ１００は、入力装置（例えば、ラップトップ１０６）からの入力ユーザ情報を受信し、１以上のコンピュータインスタンス１１０は、ユーザ情報に対する操作を行い、ＶＰＣ１００は、処理された情報をユーザに送信する。ＶＰＣ１００は、任意の数の装置（例えば、従来のＣＲＴ、液晶ディスプレイ、発光ダイオード等）の表示機能を介して、出力情報をユーザに伝達する。
【００１４】
別の実施形態では、ＶＰＣ１００は、任意のタイプのクラウドコンピューティング環境（例えば、パブリッククラウドまたはハイブリッドクラウド等）と置き換えられ得る。他の実施形態では、システム１００は、ＶＰＣ１００の代わりに、任意の分散型コンピュータシステムを含み得る。更に別の実施形態では、システム１００はＶＰＣ１００を含まず、その代わりに、システム１００は、複数の処理装置（例えば、任意の組合せの中央処理装置および／またはグラフィック処理装置）を実装する単一のコンピューティング装置を含む。
【００１５】
コンピュートインスタンス１１００について図示されているように、各コンピュートインスタンス１１０は、中央処理装置（ＣＰＵ）１１２、グラフィック処理装置（ＧＰＵ）１１４、およびメモリ１１６を含む。動作において、ＣＰＵ１１２は、コンピュートインスタンス１１０のマスタープロセッサであり、コンピュートインスタンス１１０に含まれる他の構成要素の動作を制御し調和させる。具体的には、ＣＰＵ１１２は、ＧＰＵ１１４の動作を制御するコマンドを発行する。ＧＰＵ１１４には、グラフィックおよびビデオ処理のために最適化された回路（例えば、ビデオ出力回路を含む）が組み込まれている。様々な実施形態において、ＧＰＵ１１４には、コンピュートインスタンス１１０の他の要素の１以上が統合され得る。メモリ１１６は、コンピュートインスタンス１１０のＣＰＵ１１２およびＧＰＵ１１４が用いるためのコンテンツ（例えばソフトウェアアプリケーションおよびデータ等）を格納する。
【００１６】
一般的に、ＶＰＣ１００に含まれるコンピュートインスタンス１１０は、１以上のアプリケーションを実装するよう構成される。より具体的には、ＶＰＣ１００に含まれるコンピュートインスタンス１１０は、例えばビデオファイル等のソース１０５を符号化するよう構成される。図示されるように、コンピュートインスタンス１１００はソースインスペクタ１１０およびソースチャンカー１１２として構成され、コンピュートインスタンス１１０１〜１１０Ｎは並列チャンクエンコーダ１２０として構成され、コンピュートインスタンス１１０Ｎ＋１はマルチチャンクアセンブラ１３０および符号化バリデータ１４０として構成される。
【００１７】
ソースチャンカー１１２は、ソース１０５を受信して、ソースをＮ個の異なるソースチャンク１１５に分割する（Ｎは、並列チャンクエンコーダ１２０に含まれるコンピュートインスタンス１１０の数に対応する）。次に、ソースチャンカー１１２は、ソースチャンク１１５１〜１１５Ｎをコンピュートインスタンス１１０１〜１１０Ｎのうちのそれぞれ異なる１つに転送し、各コンピュートインスタンス１１０は符号化処理を行って、対応する符号化チャンク１２５１〜１２５Ｎを生成する。次に、マルチチャンクアセンブラ１３０は、符号化チャンク１２５１〜１２５Ｎを組み合わせて１つの符号化集合体１３５にする。
【００１８】
並列符号化処理は、ソース１０５を符号化するのに要する時間を短縮するだけでなく、符号化処理を複数のコンピュートインスタンス１１０に分配することは、符号化処理に対する任意の単一のコンピュートインスタンス１１０の影響を小さくする。例えば、コンピュートインスタンス１１０Ｎに不具合が生じた場合、並列チャンクエンコーダ１２０は、単一の符号化チャンク１２５Ｎのみを再処理する。しかし、ソース１０５の分割、ソースチャンク１１５の分配、ソースチャンク１１５の符号化、符号化チャンク１２５を符号化集合体１３５にする再アセンブリの各処理は、誤差の影響を受けやすい。例えば、符号化チャンク１２５の再アセンブリに誤差があると、符号化集合体１３５においてソース１０５の１以上のフレームが欠落して、符号化集合体１３５が復号化された際に目立つ同期誤差を生じる可能性がある。
【００１９】
この理由から、コンピュートインスタンス１１０Ｎ＋１は、符号化バリデータ１４０としても構成される。当業者には認識されるように、並列チャンクエンコーダ１２０、マルチチャンクアセンブラ１３０、および符号化バリデータ１４０は、完全なソース１０５を利用できない。その結果、符号化バリデータ１４０は、ソース１０５および符号化集合体１３５の両方についての数値指標（例えばピークＳ／Ｎ比（ＰＳＮＲ）等）を算出して比較する従来の検証技術は実装しない。その代わりに、ソースインスペクタ１１０および符号化バリデータ１４０が協働して、ソース１０５と符号化集合体１３５とを間接的に比較する。別の実施形態では、コンピュートインスタンス１１０Ｎ＋１はマルチチャンクアセンブラ１３０として構成されるが、符号化バリデータ１４０としては構成されない。そのような実施形態では、コンピュートインスタンス１１０のうちの異なる１つ（例えば、コンピュートインスタンス１１０Ｎ＋２）が、符号化バリデータ１４０として構成される。
【００２０】
ソース１０５の処理の一部として、ソースインスペクタ１１０は、各対の隣接するフレーム間の平均輝度差を算出し、フレーム間差分値をソースフレーム間差分データ１３７として格納する。小さいフレーム間差分値は、２つの隣接するフレームが比較的類似している（静的なシーンまたは動きが少ないシーンを反映している）ことを示す。一方、大きいフレーム間差分値は、２つの隣接するフレーム間の急な変化（典型的には、大きな動きまたはシーンのカット（即ち、シーンの変化）を反映している）を示す。ソースインスペクタ１１０は、任意の技術的に実行可能な方法で、ソースフレーム間差分データ１３７を生成し得る。
【００２１】
それと対応して、符号化バリデータ１４０は、符号化集合体１３５を復号化して、各対の隣接するフレーム間の平均輝度差を算出し、「符号化フレーム間差分データ」を生成する。次に、符号化バリデータ１４０は、ソース１０５にアクセスすることなく、ソースフレーム間差分データ１３７および符号化フレーム間差分データを利用して、符号化集合体１３５を検証する。より具体的には、符号化バリデータ１４０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データとの間の位相相関処理を行う。これらの位相相関処理は、符号化バリデータ１４０が、符号化集合体１３５における、フレーム損失および符号化不正に帰せられる予期せぬ低位相相関誤差を検出するのを可能にする。
【００２２】
特に、符号化バリデータ１４０は、位相相関処理を用いて、「偽の」誤差を排除する。より具体的には、符号化バリデータ１４０は、符号化処理の一部として、許容される孤立した誤差を示す様々な状況を識別して、これらの誤差を取り除く。これらの偽の誤差は、並列チャンクエンコーダ１２０において実装される損失の多いデータ圧縮技術および／または不良なエンコーダレート制御に帰せられるアーチファクトを有する孤立したフレームのブロックを含む。符号化処理によって生じた真の（即ち、意図的でない）誤差と偽の（即ち、予期される）誤差とを区別することは、符号化バリデータ１４０が、符号化集合体１３５のトリアージ、並びに、ソースチャンカー１１２、並列チャンクエンコーダ１２０、およびマルチチャンクアセンブラ１３０のデバッグを最適に誘導するのを可能にするので、有利である。
【００２３】
「真の」誤差の識別
図２は、本発明の一実施形態による、図１の符号化バリデータ１４０を示すブロック図である。図示されるように、符号化バリデータ１４０は、デコーダ兼フレーム間差分ジェネレータ２１０、および誤差識別エンジン２２０を含むが、それらに限定されない。
【００２４】
符号化集合体１３５を受信したら、デコーダ兼フレーム間差分ジェネレータ２１０は、符号化集合体１３５を復号化して、符号化フレーム間差分データ２３７を生成する。本明細書において先に開示したように、符号化フレーム間差分データ２３７は、復号化された符号化集合体１３５における各対の隣接するフレーム間の平均輝度差である。デコーダ兼フレーム間差分ジェネレータ２１０は、任意の技術的に実行可能な方法で、符号化フレーム間差分データ２３７を生成し得る。一部の実施形態では、ソースフレーム間差分データ１３７および符号化フレーム間差分データ２３７の両方は、同じアルゴリズムを用いて生成され得る。
【００２５】
図示されるように、誤差識別エンジン２２０は、符号化フレーム間差分データ２３７およびソースフレーム間差分データ１３７の両方を受信する。特に、誤差識別エンジン２２０は、ソース１０５も符号化集合体１３５も受信しない。誤差識別エンジン２２０は、直接的な比較に依拠するのではなく、符号化フレーム間差分データ２３７とソースフレーム間差分データ１３７との比較に間接的に基づいて、符号化集合体１３５における誤差を識別する。
【００２６】
一般的に、誤差識別エンジン２２０は、符号化集合体１３５における誤差を間接的に識別し、偽の誤差があれば取り除き、残りの（即ち、真の）誤差の数および／またはタイプを反映する検証結果２９５（例えば「良好な符号化」または「不良な符号化」等）を生成するよう設計される。誤差識別エンジン２２０は、フレームレンジチェッカー２３０、低相互相関ブロック検出器２４０、拡張相互相関解析器２５０、シーンカット整合解析器２６０、低相互相関持続性解析器２７０、孤立低相互相関解析器２８０、および低ビットレート符号化解析器２９０を含むが、それらに限定されない。
【００２７】
別の実施形態では、誤差識別エンジン２２０は、符号化フレーム間差分データ２３７およびソースフレーム間差分データ１３７に基づいて、技術的に実行可能な任意の方法で誤差を識別し得る。更に、誤差識別エンジン２２０は、任意の数の検証技術を任意の順序で組み合わせて、検証結果２９５を決定し得る。例えば、一部の実施形態では、シーンカット整合解析器２６０およびそれに関連づけられた機能は省略される。検証機能は、任意の数の個々の構成要素に組み合わせられても、または分けられてよく、例えば、低相互相関持続性解析器２７０および孤立低相互相関解析器２８０は、単一の「低相互相関解析器」として組み合わされてもよい。
【００２８】
一般的に、誤差識別エンジン２２０は、任意のタイプおよび数の位相相関処理を行うことによって誤差を識別し得る。例えば、別の実施形態では、符号化バリデータ１４０の構成要素は、相互相関処理を、更なるタイプの位相相関処理で置き換えるまたは増強するよう修正されてもよい。
【００２９】
他の実施形態では、ソースインスペクタ１１０は、ソースフレーム間差分データ１３７に、例えば彩度情報等の更なる情報を含ませるよう修正される。同様に、デコーダ兼フレーム間差分ジェネレータ２１０は、符号化フレーム間差分データ２３７に彩度情報を含ませる。そのような実施形態では、誤差識別エンジン２２０は、彩度情報に基づく誤差解析を含むよう拡張される。例えば、誤差識別エンジン２２０は、輝度情報および彩度情報の両方に基づいて色のヒストグラムを生成してもよく、この場合、色のヒストグラムを解析して、色のシフトおよび彩度の符号化アーチファクトに帰せられる誤差を識別してもよい。
【００３０】
誤差識別エンジン２２０は、複数の異なる構成要素において実装される複数の異なるアルゴリズムを用いて、誤差を検出して取り除く処理を誘導する。誤差識別エンジン２２０は、符号化集合体１３５における「真の」誤差の存在に関する結論に達したら、評価処理を短絡して、計算リソースを不必要に用いることを回避するよう構成されるのが有利である。
【００３１】
まず、誤差識別エンジン２２０は、フレームレンジチェッカー２３０を実行する。フレームレンジチェッカー２３０は、ソースフレーム間差分データ１３７のフレームカウントと符号化フレーム間差分データ２３０のフレームカウントとの間の差を算出する。このフレームカウント差が、設定可能な閾値を超える場合には、誤差識別エンジン２２０は、真の誤差が存在すると判断し、誤差識別エンジン２２０は「不良な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。そのような状況では、誤差識別エンジン２２０は、評価処理を短絡し、低相互相関ブロック検出器２４０、拡張相互相関解析器２５０、シーンカット整合解析器２６０、低相互相関持続性解析器２７０、孤立低相互相関解析器２８０、および低ビットレート符号化解析器２９０のいずれも呼び出さない。
【００３２】
フレームレンジチェッカー２３０は、任意の設定可能な閾値を実装し得る。例えば、しばしば、符号化集合体２３５の最後において幾分のフレーム損失が生じる（即ち、最後の黒いフレーム）。そのようなフレーム損失は、符号化集合体２３５の品質に知覚可能なほどの影響は与えないので、一部の実施形態では、設定可能な閾値は１０フレームに設定される。
【００３３】
フレームカウント差が、設定可能な閾値を超えない場合には、誤差識別エンジン２２０は解析を継続し、低相互相関ブロック検出器２４０を呼び出す。低相互相関ブロック検出器２４０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３７との間のブロック毎の相互相関を計算する。各ブロックに含まれるフレームの数は、それらのブロックにわたって一致しており、任意の技術的に実行可能な方法で決定され得る。一部の実施形態では、局所的なビデオの内容のばらつきに対応することと、シーンのカットを検出することとのトレードオフとして、ブロックサイズは１０００フレームに設定される。
【００３４】
当業者には認識されるように、相互相関は、２つの信号ソース間の位相シフトを検出するためのロバストで効果的なツールである。一般的に、所与のブロック（フレームのセット）について、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３０とが比較的類似している場合には、ビデオの内容は比較的類似している可能性が高く、２つのブロック間の相互相関が高い。一方、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３０とが劇的に異なる場合には、符号化集合体１３５のビデオの内容はソース１０５のビデオの内容と同期していない可能性が高い。そのような状況では、２つのブロック間の相互相関は比較的低く、これはしばしば、符号化処理中のフレームの欠落を反映している。
【００３５】
相互相関データを計算した後、低相互相関ブロック検出器２４０は、相互相関が比較的低いブロックのリストを生成する。各ブロックについて、低相互相関ブロック検出器２４０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３０との間の相互相関を評価する。そのブロックの相互相関が所定の閾値より低い場合には、低相互相関ブロック検出器２４０は、そのブロックを低相互相関ブロックのリストに加える。閾値は、任意の経験則に基づく任意の値に設定され得る。一部の実施形態では、閾値は０．７８に設定される。他の実施形態では、閾値はより高い値またはより低い値に設定される。
【００３６】
次の評価フェーズに進む前に、誤差識別エンジン２２０は、低相互相関ブロックのリストが空である（即ち、低相互相関ブロック検出器２４０が低相互相関ブロックを識別していない）か否かを決定する。誤差識別エンジン２２０が、低相互相関ブロックが存在しないと決定した場合には、誤差識別エンジン２２０は「良好な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。そのような状況では、誤差識別エンジン２２０は、評価処理を短絡し、拡張相互相関解析器２５０、シーンカット整合解析器２６０、低相互相関持続性解析器２７０、孤立低相互相関解析器２８０、および低ビットレート符号化解析器２９０のいずれも呼び出さない。
【００３７】
そうでない場合には、低相互相関ブロックのリストが、拡張相互相関解析器２５０によって、同期誤差の識別の一部として評価される。各低相互相関ブロックについて、拡張相互相関解析器２５０は、低相互相関ブロックの周囲のフレームのセットについて、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３７との間に小さい位相シフトをかける。次に、拡張相互相関解析器２５０は、対応するシフト後相互相関を計算し、ソース１０５および符号化集合体１３５についてのブロック間の一致が、位相シフトがかけられた状態の方が位相シフトのない状態よりも良好か否かを決定する。
【００３８】
拡張相互相関解析器２５０が、シフト後相互相関が相互相関よりも有意に良好であると決定した場合には、拡張相互相関解析器２５０は、そのブロックにおいて符号化集合体１３５が同期していないと決定する。そのような同期していないブロックが識別されたら、拡張相互相関解析器２５０は、符号化集合体２３５を真の誤差を含むものと見なし、誤差識別エンジン２２０は「不良な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。
【００３９】
一方、拡張相互相関解析器２５０が、元の相互相関がシフト後相互相関よりも有意に良好であると決定した場合には、拡張相互相関解析器２５０は、そのブロックにおいて符号化集合体１３５が同期していると決定し、そのブロックを低相互相関リストから除去する。
【００４０】
拡張相互相関解析器２５０は、このシフト後相互相関の比較を、任意の技術的に実行可能な方法で実装し得る。一実施形態において、拡張相互相関解析器２５０は、以下のアルゴリズムを実装する。
【００４１】
ソースフレーム間差分データ１３７内の所与の低相互相関ブロックについて、拡張相互相関解析器２５０は、そのブロックを、対応する符号化フレーム間差分データ２３７に対して、プリセットされた位相窓（例えば、［−５、＋５］）内においてシフトする。次に、拡張相互相関解析器２５０は、位相シフト毎の相互相関について、以下の解析を行う。
１）符号化フレーム間差分データ２３７内において、ブロックのシフトによって見出された最大値が元の位置から離れており、最大値が他の全ての相互相関値より有意に大きい場合には、現在のブロックは「同期していない」として識別される。解析は終了し、「不良な符号化」という検証結果２９５が発行される。
２）そうでない場合、最大値が依然として元の位置に対応し（即ち、シフトせず）、シフトによって生じた他の全ての値が最大値より有意に低いままである場合には、拡張相互相関解析器２５０は、そのブロックを「同期している」と見なし、そのブロックを低相互相関ブロックのリストから除去する。
なお、統計的な視点から、相関値がデータ中心から標準偏差の２倍を超えて離れた位置にある場合に、その相関値を他の相関値から「有意に」区別できるものとする。
【００４２】
拡張相互相関解析器２５０が各低相互相関ブロックについての拡張相互相関解析を完了した後、誤差識別エンジン２２０は、低相互相関ブロックリスト内に低相互相関ブロックが残っているか否かを決定する。誤差識別エンジン２２０が、低相互相関ブロックが残っていないと決定した場合には、誤差識別エンジン２２０は「良好な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。そのような状況では、誤差識別エンジン２２０、評価処理を短絡し、シーンカット整合解析器２６０、低相互相関持続性解析器２７０、孤立低相互相関解析器２８０、および低ビットレート符号化解析器２９０のいずれも呼び出さない。
【００４３】
一方、低相互相関ブロックのリストが依然として低相互相関ブロックを含む場合には、シーンカット整合解析器２６０は、シーンのカットによって実質的に知覚できないものとなる誤差があれば識別する。一般的に、シーン変化およびシーンのカットは、ビデオシーケンス中の重要な位相情報を表す。当業者には認識されるように、符号化集合体１３５におけるシーン変化／カットが、ソース１０５におけるシーン変化／カットと良好に整合している場合には、そのシーン変化／カットの直前の画像は、典型的には同期している。一般的に、シーンカット整合解析器２６０は、ソースフレーム間差分データ１３７および符号化フレーム間差分データ２３７を調べて、シーンのカットの整合を決定する。次に、シーンカット整合解析器２６０は、シーンのカットの直前の低相関ブロックがあれば、それを低相関ブロックのリストから除去して、偽の誤差を取り除く。一実施形態において、シーンカット整合解析器２６０は、以下のアルゴリズムを実装する。
１）ソース１０５および符号化集合体１３５における「著しい」シーンの変化／カットのみが、整合解析のために間接的に識別される。シーンのカット／変化は、（１）対応するフレーム間差分データが大きい値（例えば１５以上）であり、（２）現在のフレームについてのフレーム間差分データが、現在のフレームの直前のフレームについてのフレーム間差分データより有意に大きい（例えば、大きさが５以上大きい）場合に、「有意」であると見なされる。
２）或る有意なシーンのカット／変化が、ソース１０５と符号化集合体１３５との間で整合すると間接的に決定された場合には、その整合するシーンのカット／変化の直前の低相関ブロックのみは「同期している」と見なされ、低相互相関ブロックのリストから除去される。
【００４４】
低相互相関ブロックのリストが空になったら、誤差識別エンジン２２０は「良好な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は、評価処理を効率的に短絡して、良好に終了する。残っている低相互相関ブロック（あれば）は、しばしば、ソース１０５と符号化集合体１３５との間の有意な量の低い視覚的類似性を表し、これは、以下のうちの１つに帰せられる。
１）ビデオシーケンス中に急なシーンの変化または時間的なパターンが存在せず、ブロック毎の相互相関が時間的なシフトの影響を受けにくくなり、シーンカット整合チェックの有効性が低くなる。
２）符号化集合体１３５にわたって目立つ符号化アーチファクトが存在し、これが或る時間にわたって継続すると、ソース１０５と符号化集合体１３５との間の構造の相関がかなり低くなり、従って、拡張相互相関およびシーンカット整合解析の両方の信頼性が低くなる。
【００４５】
低相互相関持続性解析器２７０は、これらの２つの状況についての誤差検出を可能にする。低相互相関持続性解析器２７０は、以下の２つの経験的所見に基づき、経験則を実装する。
１）低相互相関ブロックが同期していない（即ち、フレーム損失に起因して）場合には、この同期していない状態は、しばしば、シーケンス中の次の同期しているチャンクに到達するまで、或る数のブロックにわたって続く。
２）低相互相関ブロックに符号化の深刻な劣化が生じている場合には、そのような劣化は、しばしば、現在のチャンクの最後まで広がっている。
【００４６】
動作において、低相互相関持続性解析器２７０は、低相互相関ブロックのリスト内に残っているブロックを通してスキャンし、隣接する低相互相関ブロックのシーケンスを識別する。隣接する低相互相関ブロックのシーケンスのいずれかが、所定の閾値より多いブロック（例えば、４）を含む場合には、低相互相関持続性解析器２７０は、符号化集合体２３５に欠陥が生じていると決定する。次に、誤差識別エンジン２２０は「不良な符号化」という検証結果２９５を返し、いかなる更なる誤差解析も行わずに、良好に終了する。
【００４７】
孤立低相互相関解析器２８０は、以下の状況を含む様々な複雑な状況に対応する誤差を確定的に識別するよう構成される。
１）符号化チャンクの途中またはビデオシーケンスの最後においてフレームが失われた。
２）シーンのディゾルブ／フェードイン／フェードアウト中のフレームが失われた。
３）カメラのパンおよび／またはズーム中に、目立つ符号化アーチファクトが生じた。
４）不良なエンコーダレート制御の結果として、時間的なビデオ品質の劣化が生じた。
【００４８】
動作において、孤立低相互相関解析器１７０は、統計的仮説検定に基づき、偽の誤差と真の誤差とを区別する。具体的には、孤立低相互相関解析器１７０は、低相互相関ブロックのリストにグラブス検定を適用し、相互相関データの分布に基づいて、外れ値を識別する。一実施形態において、孤立相互相関解析器１７０は、９５％信頼区間の外にある相関値を有する低相互相関ブロックを「外れ値」と見なす。孤立相互相関解析器１７０が、外れ値の合計数が所定の最大値（例えば、３）より小さいと決定した場合には、孤立相互相関解析器１７０は、符号化集合体１３５を、符号の僅かなアーチファクトを有する正常／良好なビデオであると見なす。動作において、孤立相互相関解析器１７０が、符号化集合体１３５が「正常」であると決定した場合には、誤差識別エンジン２２０は「良好な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。そのような状況では、誤差識別エンジン２２０は、評価処理を短絡し、低ビットレート符号化解析器２９０を呼び出さない。
【００４９】
低ビットレート符号化解析器２９０は、ビットレート評価を行って、低相互相関ブロックのリストに残っているブロックが、低い符号化ビットレートに帰せられる可能性が高いか否かを決定する。具体的には、符号化ビットレートが比較的低い（例えば、５００ｋｂｐｓ以下（これは低いレートのＨ２６３符号化、Ｈ２６４符号化、およびＶＣ１符号化の大半を含む））場合には、低ビットレート符号化解析器２９０は、符号化集合体１３５を、低い符号化ビットレートのアーチファクトを有する「正常」なものであると見なす。そうでない場合には、低ビットレート符号化解析器２９０は、符号化集合体１３５を、欠陥が生じていると見なす。
【００５０】
低ビットレート符号化解析器２９０が、符号化集合体１３５が「正常」であると決定した場合には、誤差識別エンジン２２０は「良好な符号化」という検証結果２９５を発する。低ビットレート符号化解析器２９０が、符号化集合体１３５に欠陥が生じていると決定した場合には、誤差識別エンジン２２０は「不良な符号化」という検証結果２９５を発する。低ビットレート符号化解析器２９０から得られた結果に関係なく、誤差識別エンジン２２０は良好に終了する。
【００５１】
図３は、本発明の一実施形態による、ビデオソースの検証された符号化集合体を生成する方法のステップのフロー図である。この方法のステップは、図１〜図２のシステムを参照して説明されるが、この方法のステップを任意の順序で実装するよう構成された任意のシステムも本発明の範囲内であることが、当業者には理解されよう。
【００５２】
図示されるように、方法３００はステップ３０４で開始し、ここで、ソースインスペクタ１１０およびソースチャンカー１１２がソース１０５を受信する。ソースインスペクタ１１０はソースフレーム間差分データ１３７を生成し、ソースチャンカー１１２はソース１０５をソースチャンク１１５に分解する。ステップ３０６において、並列チャンクエンコーダ１２０は、各ソースチャンク１１５を、並列チャンクエンコーダ１２０に含まれる別個のコンピュートインスタンス１１０に分配する。次に、これらのコンピュートインスタンス１１０の各々は、対応する符号化チャンク１２５を生成する。別の実施形態では、並列チャンクエンコーダ１２０は、少なくとも２つのソースチャンク１１５の並列処理を可能にする任意の技術的に実行可能な方法で、ソースチャンク１１５を分配し得る。例えば、並列チャンクエンコーダ１２０は、並列チャンクエンコーダ１２０に含まれる２つのコンピュートインスタンス１１０にソースチャンク１１５を分配し得る。
【００５３】
ステップ３０８において、マルチチャンクアセンブラ１３０は、符号化チャンク１２５を符号化集合体１３５にアセンブルする。次に、符号化バリデータ１４０は、符号化集合体１３５を復号化して、符号化フレーム間差分データ２３７（即ち、復号化された符号化集合体についてのフレーム間差分データ）を生成する。
【００５４】
ステップ３１０において、符号化バリデータ１４０に含まれる誤差識別エンジン２２０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３７との間における様々な相互相関処理を行う。これらの相互相関処理は、損失の多い圧縮アルゴリズムの予期されるアーチファクトである「偽の」誤差にフラグをつけずに、符号化処理における欠陥に帰せられる「真の」誤差を識別するよう設計される。識別された誤差に基づき、符号化バリデータ１４０は、符号化集合体１３５についての検証結果２９５を生成する。一般的に、符号化バリデータ１４０および誤差識別エンジン２２０は、任意の数およびタイプの相互相関処理を、他の処理に加えて、任意の組合せで、任意の順序で、任意の技術的に実行可能な方法で行い得る。例えば、一部の実施形態では、符号化バリデータ１４０（誤差識別エンジン２２０を含む）は、図４Ａ〜図４Ｂに関して以下に概要を述べる方法のステップを行う。
【００５５】
ステップ３１２においえ、符号化バリデータ１４０は、検証結果２９５が「良好な符号化」を反映しているか否かを決定する。ステップ３１２において、符号化バリデータ１４０が、検証結果２９５が「良好な符号化」を反映していると決定した場合には、次に、この方法はステップ３１４に進む。ステップ３１４において、符号化バリデータ１４０を含む仮想プライベートクラウド（ＶＰＣ）１０２は、符号化集合体１３５を、指定されているユーザが消費（例えば、視聴）するために指定されているユーザに配信するよう構成され、方法３００は終了する。
【００５６】
ステップ３１２において、符号化バリデータ１４０が、検証結果２９５が「不良な符号化」を反映すると決定した場合には、次に、この方法はステップ３１６に進む。ステップ３１６において、符号化バリデータ１４０は、符号化集合体１３５が「真の」誤差を含むことを示す誤差メッセージを発行し、方法３００は終了する。ステップ３１６の一部として、符号化バリデータ１４０は、必要に応じて、符号化処理（即ち、ソースチャンカー１１２、並列チャンクエンコーダ１２０、およびマルチチャンクアセンブラ１３０）における欠陥を識別するためのトリアージのために符号化集合体１３５を提出する。符号化バリデータ１４０が、検証結果２９５を決定する前に偽の誤差を取り除くので、デバッグ作業を、実装された圧縮アルゴリズムに帰せられる予期されるアーチファクトを非生産的に突き止めるのではなく、真の欠陥の根本原因の解析に最適に集中させることができ、有利である。
【００５７】
図４Ａ〜図４Ｂは、本発明の一実施形態による、ビデオソースの符号化中の誤差を識別して分類する方法のステップのフロー図を示している。この方法のステップは、図１〜図２のシステムを参照して説明されるが、この方法のステップを任意の順序で実装するよう構成された任意のシステムも本発明の範囲内であることが、当業者には理解されよう。
【００５８】
図示されるように、方法４００はステップ４０６で開始し、ここで、符号化バリデータ１４０が、ソースフレーム間差分データ１３７および符号化フレーム間差分データ２３７を受信する。ソースフレーム間差分データ１３７は、ソース１０５における各対の隣接するフレーム間の平均輝度差であり、符号化フレーム間差分データ２３７は、復号化された符号化集合体における各対の隣接するフレーム間の平均輝度差である。
【００５９】
ステップ４０８において、フレームレンジチェッカー２３０は、ソースフレーム間差分データ１３７のフレームカウントと符号化フレーム間差分データ２３０のフレームカウントとの間の差を算出する。ステップ４１０において、フレームレンジチェッカー２３０は、算出されたフレームカウント差が、設定可能な閾値を超えるか否かを決定する。ステップ４１０において、フレームレンジチェッカー２３０が、算出されたフレームカウント差が設定可能な閾値を超えると決定した場合には、フレームレンジチェッカー２３０は、フレームカウント差が許容できないものであると判断し、方法４００はステップ４１２に進む。ステップ４１２において、誤差識別エンジン２２０は「フレームの欠落を検出、不良な符号化」という検証結果２９５を発し、方法４００は終了する。
【００６０】
ステップ４１０において、フレームレンジチェッカー２３０が、算出されたフレームカウント差が設定可能な閾値を超えないと決定した場合には、フレームレンジチェッカー２３０は、フレームカウント差が許容可能であると判断し、方法４００はステップ４１４に進む。ステップ４１４において、低相互相関ブロック検出器２４０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３７との間のブロック毎の相互相関を計算し、相互相関が比較的低いブロックのリストを生成する。より具体的には、各ブロックについて、低相互相関ブロック検出器２４０は、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３０との間の相互相関を比較する。ブロックの相互相関が所定の閾値より低い場合には、低相互相関ブロック検出器２４０は、そのブロックを低相互相関ブロックのリストに加える。
【００６１】
ステップ４１６において、誤差識別エンジン２２０は、低相互相関ブロックの数（即ち、そのときに低相互相関ブロックのリストに含まれているブロックの数）を、低相互相関ブロックの許容可能な数と比較する。ステップ４１６において、誤差識別エンジン２２０が、低相互相関ブロックの数が低相互相関ブロックの許容可能な数を超えないと決定した場合には、方法４００はステップ４１８に進む。ステップ４１８において、誤差識別エンジン２２０は「良好な符号化、フレームの欠落無し」という検証結果２９５を発し、方法４００は終了する。
【００６２】
ステップ４１６において、誤差識別エンジン２２０が、低相互相関ブロックの数が低相互相関ブロックの許容可能な数を超えると決定した場合には、方法４００はステップ４２０に進む。ステップ４２０において、拡張相互相関解析器２５０は、同期誤差の識別の一部として、各低相互相関ブロックを評価する。各低相互相関ブロックについて、拡張相互相関解析器２５０は、低相互相関ブロックの周囲のフレームのセットについて、ソースフレーム間差分データ１３７と符号化フレーム間差分データ２３７との間に小さい位相シフトをかける。
【００６３】
各低相互相関ブロックについて、拡張相互相関解析器２５０が、シフト後相互相関が相互相関よりも有意に良好であると決定した場合には、拡張相互相関解析器２５０は、符号化集合体１３５を、そのブロックにおいて同期していないと見なす。ステップ４２２において、拡張相互相関解析器は、低相互相関ブロックのいずれかにおいて符号化集合体１３５が同期していないか否かを決定する。ステップ４２２において、拡張相互相関解析器が、低相互相関ブロックのいずれかにおいて符号化集合体１３５が同期していないと決定した場合には、方法４００はステップ４２４に進む。ステップ４２４において、誤差識別エンジン２２０は「フレームの欠落を検出、不良な符号化」という検証結果２９５を発し、誤差識別エンジン２２０は良好に終了する。
【００６４】
ステップ４２２において、拡張相互相関解析器２５０が、シフト処理のいずれも、有意に改善した相互相関を生じなかったと決定した場合には、方法４００はステップ４２６に進む。別の実施形態では、検証処理の効率を高めるために、拡張相互相関解析器２５０は、シフト後の相互相関解析に基づき、低相互相関ブロックのリストから不要なものを取り除いてもよい。拡張相互相関解析器２５０は、この除去を、例えば図２に関して詳細に説明したアルゴリズム等の任意の技術的に実行可能な方法で実装し得る。
【００６５】
ステップ４２６において、シーンカット整合解析器２６０は、シーンのカットによって実質的に知覚できなくなる誤差（あれば）を識別し、関連づけられたブロックを低相互相関ブロックのリストから除去する。より具体的には、シーンカット整合解析器２６０は、ソースフレーム間差分データ１３７および符号化フレーム間差分データ２３７に基づき、シーンのカットを識別する。次に、シーンカット整合解析器２６０は、時間的にシーンのカットの直前に位置する低相関ブロック（あれば）を識別し、識別されたブロックを低相関ブロックのリストから除去する。
【００６６】
ステップ４２８において、誤差識別エンジン２２０は「残っている」低相互相関ブロックの数（即ち、そのときに依然として低相互相関ブロックのリストに含まれているブロックの数）を低相互相関ブロックの許容可能な数と比較する。ステップ４２８において、誤差識別エンジン２２０が、残っている低相互相関ブロックの数が低相互相関ブロックの許容可能な数を超えないと決定した場合には、方法４００はステップ４３０に進む。ステップ４３０において、誤差識別エンジン２２０は「良好な符号化、フレームの欠落無し」という検証結果２９５を発し、方法４００は終了する。
【００６７】
ステップ４２８において、誤差識別エンジン２２０が、残っている低相互相関ブロックの数が低相互相関ブロックの許容可能な数を超えると決定した場合には、方法４００はステップ４３２に進む。ステップ４３２において、低相互相関持続性解析器２７０は、低相互相関ブロックのリストに残っているブロックを通してスキャンし、隣接する低相互相関ブロックのシーケンスを識別する。ステップ４３４において、低相互相関持続性解析器２７０は、識別された隣接する低相互相関ブロックのシーケンスのいずれかが、所定の閾値より多いブロックを含むか否かを決定する。
【００６８】
ステップ４３４において、低相互相関持続性解析器２７０が、識別された隣接する低相互相関ブロックのシーケンスのいずれかが、所定の閾値より多いブロックを含むと決定した場合には、低相互相関持続性解析器２７０は、符号化集合体２３５に欠陥が生じていると判断し、方法４００はステップ４３５に進む。ステップ４３５において、誤差識別エンジン２２０は「不良な符号化チャンクを発見」という検証結果２９５を返し、方法４００は終了する。
【００６９】
ステップ４３４において、低相互相関持続性解析器２７０が、識別された隣接する低相互相関ブロックのシーケンスが、所定の閾値より多いブロックを含まないと決定した場合には、方法４００はステップ４３６に進む。ステップ４３６において、孤立低相互相関解析器１７０は、統計的仮説検定に基づき、偽の誤差と真の誤差とを区別する。具体的には、孤立低相互相関解析器１７０は、低相互相関ブロックのリストにグラブス検定を適用し、相互相関データの分布に基づいて、外れ値を識別する。ステップ４３８において、低相互相関持続性解析器２７０は、外れ値の合計数に基づき、低相互相関ブロックの範囲を決定する。ステップ４３８において、低相互相関持続性解析器２７０が、低相互相関ブロックの範囲が限られていると決定した場合には、方法４００はステップ４４０に進む。ステップ４４０において、誤差識別エンジン２２０は「良好な符号化、符号化アーチファクトを有する」という検証結果２９５を発し、方法４００は終了する。
【００７０】
ステップ４３８において、低相互相関持続性解析器２７０が、低相互相関ブロックの範囲が十分に限られていないと決定した場合には、方法４００はステップ４４２に進む。ステップ４４２において、低ビットレート符号化解析器２９０は、符号化ビットレートを所定の閾値と比較する。ステップ４４２において、低ビットレート符号化解析器２９０が、符号化ビットレートが所定の閾値より低いと決定した場合には、方法４００はステップ４４４に進む。ステップ４４４において、誤差識別エンジン２２０は「良好な符号化、低い符号化ビットレート」という検証結果２９５を発し、方法４００は終了する。
【００７１】
ステップ４４２において、低ビットレート符号化解析器２９０が、符号化ビットレートが所定の閾値より低くないと決定した場合には、方法４００はステップ４４４に進む。ステップ４４４において、低相互相関ブロックのリストは空ではないので、誤差識別エンジン２２０は「不良な符号化」という検証結果２９５を発し、方法４００は終了する。
【００７２】
要約すれば、本開示の技術は、符号化中に生じた意図的でない誤差を効率的に正しく識別するために用いられ得る。動作において、ソースを符号化する前に、ソースインスペクタは、そのソースについてのフレーム間差分データを生成し、ソースチャンカーは、ソースをチャンクに分解する。次に、並列チャンクエンコーダは、複数のコンピュートインスタンスにおいてチャンクを略並列に処理し、マルチチャンクアセンブラは、符号化されたチャンクから符号化集合体をアセンブルする。符号化バリデータは、符号化集合体と、ソースについてのフレーム間差分データとの両方を受信する。符号化集合体を復号化した後、符号化バリデータは、その符号化集合体についてのフレーム間差分データ（即ち、復号化された符号化集合体についてのフレーム間差分データ）を生成する。
【００７３】
次に、符号化バリデータは、ソースについてのフレーム間差分データと符号化集合体についてのフレーム間差分データとの間の相互相関処理を行う。符号化バリデータは、符号化の予期されるアーチファクト（例えば、低ビットレート符号化に起因する劣った変換等）である誤差を抑制しつつ、符号化処理における欠陥に帰せられる誤差を識別するよう設計された様々なアルゴリズムを実装する。一般的に、符号化バリデータは、任意の数の誤差検出アルゴリズムおよび／または偽の誤差抑制アルゴリズムを任意の順序で実装し得る。この区別する誤差検出の一部として、符号化バリデータは、低相互相関ブロックのリストを識別し、次に、知覚可能な同期誤差に有意に寄与しない低相互相関ブロックを除去して、リストから不要なものを取り除く。例えば、シーンのカットの直前のブロックは、持続的な同期問題につながらないので、結果として、符号化バリデータは、これらを「偽の」誤差と見なす。
【００７４】
従来の符号化検証技術とは異なり、本明細書において開示されるフレーム間差分に基づく技術は、元のソースファイルにアクセスすることなく、符号化集合体の検証を可能にするので有利である。しばしば、並列エンコーダは、幾つかのコンピュートインスタンスにわたって実装され、異なるコンピュートインスタンスがそれぞれ独立して各チャンクを符号化し、最終コンピュートインスタンスがチャンクをアセンブルして、符号化を検証する。この「分割して乗り越える」手法で符号化を行うと、符号化の時間が短縮されるが、最終的な符号化集合体が予期せぬ誤差を含み得る可能性が、ソースを分割しない従来の技術と比較して高まる。本明細書において概要を述べた技術は、符号化処理における欠陥に帰せられる誤差（例えば、符号化されたチャンクを符号化集合体にする際の正しくないアセンブリ）の効率的な検出を可能にする。更に、符号化バリデータは、更なるデバッグのために、「予期される」誤差にフラグをつけずに誤差を識別するための様々な洗練された比較アルゴリズムを実装するので、符号化バリデータは、符号化集合体のトリアージ、並びに、ソースチャンカー、並列チャンクエンコーダ、およびマルチチャンクアセンブラのデバッグに要する作業を低減する。
【００７５】
説明の目的で、様々な実施形態の説明を示したが、これらは網羅的であることを意図したものではなく、開示された実施形態に限定することは意図しない。当業者には、記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が自明である。
【００７６】
本実施形態の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。従って、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウエア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとり得るものであり、それらの全てを、本明細書においては一般的に「回路」、「モジュール」、または「システム」と称する。更に、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する１以上のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態をとり得る。
【００７７】
１以上のコンピュータ可読媒体の任意の組合せが用いられ得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、またはそれらの任意の適切な組合せであり得るが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例（網羅的ではないリスト）としては、１以上のワイヤを有する電気的接続、ポータブルコンピュータのディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光ストレージ装置、磁気ストレージ装置、またはそれらの任意の適切な組合せが挙げられる。本明細書の文脈において、コンピュータ可読記憶媒体は、指示を実行するシステム、装置、またはデバイスによって用いられる、またはそれらに関連して用いられるためのプログラムを収容または格納可能な、任意の有体の媒体であり得る。
【００７８】
上記において、本開示の態様を、本開示の実施形態による方法、装置（システム）およびコンピュータプログラム製品のフローチャートおよび／またはブロック図を参照して説明した。フローチャートおよび／またはブロック図の各ブロック、並びに、フローチャートおよび／またはブロック図のブロックの組合せは、コンピュータプログラムの指示によって実装され得ることが理解されよう。これらのコンピュータプログラム指示は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに供給されてマシンを生成し得るものであり、そのコンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される指示が、フローチャートおよび／またはブロック図の１または複数のブロックにおいて指定されている機能／動作の実装を可能にするようになっている。そのようなプロセッサは、汎用プロセッサ、専用プロセッサ、特定用途向けプロセッサ、またはフィールドプログラマブルであり得るが、それらに限定されない。
【００７９】
図面中のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および処理を示すものである。この点に関して、フローチャートまたはブロック図の各ブロックは、指定されている論理的機能を実装するための１以上の実行可能な指示を含むモジュール、セグメント、またはコードの一部を表し得る。なお、幾つかの別の実装例においては、ブロック内に記されている機能が、図面に記されている順序から外れて生じ得る。例えば、続けて示されている２つのブロックが、含まれる機能に応じて、実際には略並列に実行される場合もあり、または、それらのブロックが逆の順序で実行される場合もある。また、ブロック図および／またはフローチャートの各ブロック、並びに、ブロック図および／またはフローチャートのブロックの組合せは、指定された機能もしくは動作を行う専用ハードウェアに基づくシステムによって、または、専用ハードウェアとコンピュータ指示との組合せによって実装され得る。
【００８０】
上記は本開示の実施形態に向けられているが、本開示の基本的な範囲から逸脱することなく、本開示の他のおよび更なる実施形態も考案され得るものであり、本開示の範囲は添付の特許請求によって決定される。
【００８１】
以下、本発明の好ましい実施形態を項分け記載する。
【００８２】
実施形態１
コンピュータによって実施される、符号化中に生じた誤差を識別する方法であって、
ソースデータから得られた符号化データ集合体を復号化して、復号化されたデータ集合体を生成する工程と、
前記復号化されたデータ集合体から得られたフレーム間差分データを生成する工程と、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相相関処理を行い、位相相関値を生成する工程と、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出する工程と
を含むことを特徴とする、コンピュータによって実施される方法。
【００８３】
実施形態２
前記低位相相関誤差を検出する前記工程が、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定する工程を含む、実施形態１記載のコンピュータによって実施される方法。
【００８４】
実施形態３
前記少なくとも１の位相相関処理を行う前記工程が、
前記ソースデータから得られた前記フレーム間差分データおよび前記復号化された符号化データ集合体から得られた前記フレーム間差分データを複数のブロックに分割する工程であって、前記複数のブロックの各ブロックが、前記ソースデータから得られたフレーム間差分データのサブセットおよびそれに対応する前記復号化された符号化データ集合体から得られたフレーム間差分データのサブセットを含む、工程と、
各前記ブロックについて、前記ソースデータから得られた前記フレーム間差分データを前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、前記ブロックについての位相相関値を決定する工程と
を含む、実施形態１記載のコンピュータによって実施される方法。
【００８５】
実施形態４
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態３記載のコンピュータによって実施される方法。
【００８６】
実施形態５
前記低位相相関誤差を検出する前記工程が、
第１のブロックについて、前記ソースデータから得られた前記フレーム間差分データに対して位相シフト処理を行う工程と、
前記第１のブロックについて、前記ソースデータから得られた前記シフト後のフレーム間差分データをそれに対応する前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、シフト後位相相関値を決定する工程と、
前記シフト後位相相関値が前記第１のブロックについての位相相関値より少なくとも第１の所定の量だけ大きいことを決定する工程と
を含む、実施形態３記載のコンピュータによって実施される方法。
【００８７】
実施形態６
前記低位相相関誤差を検出する前記工程が、
前記位相相関値に基づき、シーンのカットを識別する工程と、
各ブロックが前記シーンのカットの直前になく、第１の所定の閾値より低い位相相関値を各ブロックが有する、第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態３記載のコンピュータによって実施される方法。
【００８８】
実施形態７
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を有する第１のブロックを識別する工程と、
前記符号化データ集合体の符号化ビットレートが第２の所定の閾値より高いことを決定する工程と
を含む、実施形態３記載のコンピュータによって実施される方法。
【００８９】
実施形態８
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い位相相関値を各ブロックが有する１組の低相関ブロックを識別する工程と、
前記１組の低相関ブロックについての位相相関値に基づく分布を決定する工程と、
前記分布に基づく信頼区間を計算する工程と、
前記１組の低相関ブロックに各ブロックが含まれ、前記信頼区間の外にある位相相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態３記載のコンピュータによって実施される方法。
【００９０】
実施形態９
前記信頼区間の外にある位相相関値を有する第１のブロックを識別する前記工程が、前記分布にグラブス検定を適用する工程を含む、実施形態８記載のコンピュータによって実施される方法。
【００９１】
実施形態１０
処理装置によって実行された際に、該処理装置に、符号化中に生じた誤差を識別させる指示を含むコンピュータ可読記憶媒体であって、前記処理装置に、
ソースデータから得られた符号化データ集合体を復号化して、復号化されたデータ集合体を生成する工程と、
前記復号化されたデータ集合体から得られたフレーム間差分データを生成する工程と、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相相関処理を行い、位相相関値を生成する工程と、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出する工程と
を行うことによって、符号化中に生じた誤差を識別させる指示を含むことを特徴とするコンピュータ可読記憶媒体。
【００９２】
実施形態１１
前記低位相相関誤差を検出する前記工程が、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定する工程を含む、実施形態１０記載のコンピュータ可読記憶媒体。
【００９３】
実施形態１２
前記少なくとも１の位相相関処理を行う前記工程が、
前記ソースデータから得られた前記フレーム間差分データおよび前記復号化された符号化データ集合体から得られた前記フレーム間差分データを複数のブロックに分割する工程であって、前記複数のブロックの各ブロックが、前記ソースデータから得られたフレーム間差分データのサブセットおよびそれに対応する前記復号化された符号化データ集合体から得られたフレーム間差分データのサブセットを含む、工程と、
各前記ブロックについて、前記ソースデータから得られた前記フレーム間差分データを前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、前記ブロックについての相互相関値を決定する工程と
を含む、実施形態１０記載のコンピュータ可読記憶媒体。
【００９４】
実施形態１３
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い相互相関値を各ブロックが有する第１の数の一続きのブロックを識別する工程と、
前記第１の数の一続きのブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態１２記載のコンピュータ可読記憶媒体。
【００９５】
実施形態１４
前記低位相相関誤差を検出する前記工程が、
前記符号化データ集合体の符号化ビットレートが第２の所定の閾値より高いことを決定する工程と、
第１の所定の閾値より低い相互相関値を各ブロックが有する第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態１２記載のコンピュータ可読記憶媒体。
【００９６】
実施形態１５
前記低位相相関誤差を検出する前記工程が、
第１の所定の閾値より低い相互相関値を各ブロックが有する１組の低相互相関ブロックを識別する工程と、
前記１組の低相互相関ブロックにグラブス検定を適用して、第１の数のブロックを識別する工程と、
前記第１の数のブロックが第２の所定の閾値より多いことを決定する工程と
を含む、実施形態１２記載のコンピュータ可読記憶媒体。
【００９７】
実施形態１６
前記低位相相関誤差を検出する前記工程が、
第１のブロックについて、前記ソースデータから得られた前記フレーム間差分データに対して位相シフト処理を行う工程と、
前記第１のブロックについて、前記ソースデータから得られた前記シフト後のフレーム間差分データをそれに対応する前記復号化された符号化データ集合体から得られた前記フレーム間差分データと比較して、シフト後相互相関値を決定する工程と、
前記シフト後相互相関値が前記第１のブロックについての相互相関値より少なくとも第１の所定の量だけ大きいことを決定する工程と
を含む、実施形態１２記載のコンピュータ可読記憶媒体。
【００９８】
実施形態１７
前記低位相相関誤差を検出する前記工程が、
前記相互相関値に基づき、シーンのカットを識別する工程と、
前記シーンのカットの直前になく、第１の所定の閾値より低い相互相関値を有する第１のブロックを識別する工程と
を含む、実施形態１２記載のコンピュータ可読記憶媒体。
【００９９】
実施形態１８
前記シーンのカットを識別する前記工程が、
前記ソースデータから得られたフレーム間差分データが第１の閾値を超える第１のフレームを検出する工程と、
前記第１のフレームの直前にある第２のフレームが、前記第１のフレームについての前記ソースデータから得られた前記フレーム間差分データと少なくとも第２の閾値だけ異なる前記ソースデータから得られたフレーム間差分データを有することを決定する工程と
を含む、実施形態１７記載のコンピュータ可読記憶媒体。
【０１００】
実施形態１９
符号化中に生じた誤差を識別するよう構成されたシステムであって、
ソースデータから符号化データ集合体を得るよう構成された並列符号化エンジンと、
検証ジェネレータであって、
前記ソースデータから得られた前記符号化データ集合体を復号化して、復号化されたデータ集合体を生成し、
前記復号化されたデータ集合体から得られたフレーム間差分データを生成し、
前記ソースデータから得られたフレーム間差分データおよび前記復号化されたデータ集合体から得られた前記フレーム間差分データに対して少なくとも１の位相処理を行って、位相相関値を生成し、
前記位相相関値に基づき、前記符号化データ集合体に含まれる低位相相関誤差を検出する
よう構成された検証ジェネレータと
を含むことを特徴とするシステム。
【０１０１】
実施形態２０
前記低位相相関誤差を検出することが、前記ソースデータから得られた前記フレーム間差分データと関連づけられたフレームカウントが、前記復号化されたデータ集合体から得られた前記フレーム間差分データと関連づけられたフレームカウントから、所定の閾値を超えて異なることを決定することを含む、実施形態１９記載のシステム。
【符号の説明】
【０１０２】
１００  システム
１０２  仮想プライベートクラウド
１０５  ソース
１１０  ソースインスペクタ（コンピュートインスタンス）
１１２  ソースチャンカー
１１５  ソースチャンク
１２０  並列チャンクエンコーダ
１２５  符号化チャンク
１３０  マルチチャンクアセンブラ
１３５  符号化集合体
１３７  ソースフレーム間差分データ
１４０  符号化バリデータ
２１０  デコーダ兼フレーム間差分ジェネレータ
２２０  誤差識別エンジン
２３０  フレームレンジチェッカー
２３７  符号化フレーム間差分データ
２４０  低相互相関ブロック検出器
２５０  拡張相互相関解析器
２６０  シーンカット整合解析器
２７０  低相互相関持続性解析器
２８０  孤立低相互相関解析器
２９０  低ビットレート符号化解析器
【図１】
0006578009.tif 000002
【図２】
0006578009.tif 000003
【図３】
0006578009.tif 000004
【図４Ａ】
0006578009.tif 000005
【図４Ｂ】
0006578009.tif 000006