(57)【要約】本開示は、時間最適化されたエンコードのためのシステム（１０）および方法（１００）に向けられる。時間最適化されたエンコードは、時間集約的なエンコードを、エンコード品質の犠牲を最小限または全くなしにして並列化することによって複数のエンコード・ノード（２８〜３２）またはクラスター（２２〜２６）の使用を最大化する。それにより、時間集約的なエンコードを達成するために必要とされる時間を短縮し、システム（１０）を通じた複数のエンコードの効率的なスループットを高める。
2010529809.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・コンテンツをエンコードする方法であって：
ビデオ・コンテンツを受領する段階と；
前記ビデオ・コンテンツを複数のシーンにセグメント分割する段階と；
あるシーンが第一の限界を超える長さをもつかどうかを検出する段階と；
前記シーンの長さが前記第一の限界を超えていれば前記シーンをシーン・セグメントに分割する段階と；
分割されたシーンを並列にエンコードする段階とを有する、
方法。
【請求項２】
前記シーンを分割する段階がさらに：
前記シーン中のピクチャー・グループ特性に基づいて前記シーンを分割する段階を有する、
請求項１記載の方法。
【請求項３】
前記ピクチャー・グループ特性がピクチャー・グループ型である、請求項２記載の方法。
【請求項４】
前記ピクチャー・グループ特性がピクチャー・グループ・サイズである、請求項２記載の方法。
【請求項５】
前記検出する段階がさらに：
シーンが短い長さ、平均長さおよび長い長さのうちのいずれを有するかを検出する段階を有する、
請求項１記載の方法。
【請求項６】
前記シーンを分割する段階がさらに：
長い長さをもつシーンを平均長さをもつ第一のシーン・セグメントおよび平均長さを超えない第二のシーン・セグメントに分割する段階を有する、
請求項５記載の方法。
【請求項７】
前記エンコードする段階がさらに：
前記第二のシーン・セグメントを短い長さをもつシーンとともにグループ化する段階と；
前記グループ化された第二のシーン・セグメントおよび短い長さのシーンを、前記第一のシーン・セグメントと並列にエンコードする段階とを有する、
請求項６記載の方法。
【請求項８】
前記エンコードする段階がさらに：
前記グループ化された第二のシーン・セグメントおよび短い長さのシーンを、前記第一のシーン・セグメントと並列にかつ平均長さのシーンと並列に、エンコードする段階を有する、
請求項７記載の方法。
【請求項９】
前記検出する段階がさらに：
シーンがフェード効果およびディゾルブ効果の一つを含んでいるかどうかを検出する段階を有する、
請求項１記載の方法。
【請求項１０】
前記エンコードする段階がさらに：
フェード効果およびディゾルブ効果の一つを含んでいるシーンのエンコードを、分割されたシーンを並列してエンコードするのに先立って開始する段階を有する、
請求項９記載の方法。
【請求項１１】
ビデオ・コンテンツをエンコードする装置であって：
ビデオ・コンテンツを受領する手段と；
前記ビデオ・コンテンツを複数のシーンにセグメント分割する手段と；
あるシーンが第一の限界を超える長さをもつかどうかを検出する手段と；
前記シーンの長さが前記第一の限界を超えていれば前記シーンをシーン・セグメントに分割する手段と；
分割されたシーンを並列にエンコードする手段とを有する、
装置。
【請求項１２】
前記シーンを分割する手段がさらに：
前記シーン中のピクチャー・グループ特性に基づいて前記シーンを分割する手段を有する、
請求項１１記載の装置。
【請求項１３】
前記ピクチャー・グループ特性がピクチャー・グループ型である、請求項１２記載の装置。
【請求項１４】
前記ピクチャー・グループ特性がピクチャー・グループ・サイズである、請求項１２記載の装置。
【請求項１５】
前記検出する手段がさらに：
シーンが短い長さ、平均長さおよび長い長さのうちのいずれを有するかを検出する手段を有する、
請求項１１記載の装置。
【請求項１６】
前記シーンを分割する手段がさらに：
長い長さをもつシーンを平均長さをもつ第一のシーン・セグメントおよび平均長さを超えない第二のシーン・セグメントに分割する手段を有する、
請求項１５記載の装置。
【請求項１７】
前記エンコードする手段がさらに：
前記第二のシーン・セグメントを短い長さをもつシーンとともにグループ化する手段と；
前記グループ化された第二のシーン・セグメントおよび短い長さのシーンを、前記第一のシーン・セグメントと並列にエンコードする手段とを有する、
請求項１６記載の装置。
【請求項１８】
前記エンコードする手段がさらに：
前記グループ化された第二のシーン・セグメントおよび短い長さのシーンを、前記第一のシーン・セグメントと並列にかつ平均長さのシーンと並列に、エンコードする手段を有する、
請求項１７記載の装置。
【請求項１９】
前記検出する手段がさらに：
シーンがフェード効果およびディゾルブ効果の一つを含んでいるかどうかを検出する手段を有する、
請求項１１記載の装置。
【請求項２０】
前記エンコードする手段がさらに：
フェード効果およびディゾルブ効果の一つを含んでいるシーンのエンコードを、分割されたシーンを並列してエンコードするのに先立って開始する手段を有する、
請求項１９記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的にはビデオ・コンテンツのエンコードに、より詳細にはビデオ・コンテンツの時間最適化されたエンコードに関する。
【背景技術】
【０００２】
このセクションは、下記で記載および／または特許請求される本発明のさまざまな側面に関係しうる当技術分野のさまざまな側面を読者に紹介することを意図している。この議論は、本発明のさまざまな側面のよりよい理解を助けるための背景情報を読者に提供する助けとなるものと思われる。よって、これらの陳述がこの観点で読まれるべきであり、従来技術の自認として読まれるべきでないことは理解しておくべきである。
【０００３】
過去において、ビデオ・エンコード工程は、単一のエンコード・ハードウェアによって扱われるリニアなプロセスであった。エンコード・ハードウェアにおいて使用されるコーデックが単純であり、合理的な時間内にエンコードを完了したので、この実装は十分であった。ビデオをより効果的に圧縮してビットレート効率を改善し、より優れたビデオ品質を与えるために先進ビデオ・コーデック（AVC）のような新しい世代のビデオ・コーデックが開発されるに至っている。しかしながら、新しいビデオ・コーデックには、数学的に計算量集約的であり、したがって望ましくないほどビデオ・エンコードに必要とされる時間を増大させるという欠点がある。
【０００４】
さらに、コーデックに複数のエンコード・パスに従事させることによってエンコードの品質を改善しようとする進行中の努力もある。より具体的には、コーデックに、複数のエンコード・パスを通じてコンテンツを通させ、コンテンツを解析させるのである。それらのパスが互いに依存し合う場合、各パスは前のパスが完了するのを待つ必要がある。これは、マルチパス・エンコードを完了させるのに必要とされる時間を増し、結果として、望ましくないほどビデオ・エンコードに必要とされる時間を増すという欠点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、これらの欠点を克服することに向けられたものである。
【課題を解決するための手段】
【０００６】
本開示は、時間最適化されたエンコードのためのシステムおよび方法に向けられる。時間最適化されたエンコードは、時間集約的なエンコードを、エンコード品質の犠牲を最小限または全くなしにして並列化することによって複数のエンコード・ノードまたはクラスターの使用を最大化する。それにより、時間集約的なエンコードを達成するために必要とされる時間を短縮し、システムを通じた複数のエンコードの効率的なスループットを高める。
【０００７】
本開示の一つの側面は、ビデオ・コンテンツをエンコードする方法であって、ビデオ・コンテンツを受領し、ビデオ・コンテンツを複数のシーンにセグメント分割し、あるシーンが第一の限界を超える長さをもつかどうかを検出し、前記シーンの長さが前記第一の限界を超えていれば前記シーンをシーン・セグメントに分割し、分割されたシーンを並列にエンコードすることを含む方法に向けられる。
【０００８】
本開示のもう一つの側面は、ビデオ・コンテンツをエンコードするための装置またはシステムに向けられ、該装置は、ビデオ・コンテンツを受領する手段と、ビデオ・コンテンツを複数のシーンにセグメント分割する手段と、あるシーンが第一の限界を超える長さをもつかどうかを検出する手段と、前記シーンの長さが前記第一の限界を超えていれば前記シーンをシーン・セグメントに分割する手段と、分割されたシーンを並列にエンコードする手段とを含む。
【０００９】
本発明のこれらおよびその他の側面、特徴および利点は、付属の図面との関連で読まれるべき好ましい実施形態の以下の詳細な記述から説明され、明白となるであろう。
【００１０】
図面において、同様の参照符号は諸図面を通じて類似の要素を表す。
【００１１】
図面は本発明の概念を例解する目的のためであり、必ずしも本発明を例解するための唯一の可能な構成ではないことは理解しておくべきである。
【図面の簡単な説明】
【００１２】
【図１】本開示に基づくエンコーダを使った例示的なシステムを図示するブロック図である。
【図２】本開示に基づく例示的なエンコーダ装置のブロック図である。
【図３】従来式のエンコード作業フローを示す図である。
【図４】本開示に基づくエンコード作業フローを示す図である。
【図５】本開示に基づく映画コンテンツのシーンを示す図である。
【図６】本開示に基づくあるシーン内のピクチャー・グループ（GOP）のサイズおよび型を示す図である。
【図７】本開示に基づくエンコード・プロセスを示すフローチャートである。
【発明を実施するための形態】
【００１３】
図面に示されている要素はハードウェア、ソフトウェアまたはそれらの組み合わせのさまざまな形で実装されうることは理解しておくべきである。好ましくは、これらの要素は、プロセッサ、メモリおよび入出力インターフェースを含みうる一つまたは複数の適切にプログラムされた汎用装置上でのハードウェアおよびソフトウェアの組み合わせにおいて実装される。
【００１４】
本記述は、本発明の原理を例解する。よって、本稿に明示的には記述や図示されていないけれども本発明の原理を具現するものでありその精神および範囲内に含まれるさまざまな構成を当業者が考案できるであろうことは理解されるであろう。
【００１５】
本稿に記載されるあらゆる例および条件付きの言辞は、本発明の原理および発明者によって当該技術を進歩させるために寄与される概念の理解において読者を助ける教育的な目的のために意図されたものであり、そのような個別的に記載される例および条件に限定することなく解釈されるものとする。
【００１６】
さらに、本発明の原理、側面および実施形態ならびにその個別的な例を記載する本稿におけるあらゆる陳述は、その構造的および機能的な等価物の両方を包含することが意図されている。さらに、そのような等価物は現在知られている等価物および将来開発される等価物、すなわち構造にかかわりなく同じ機能を実行する任意の開発された要素の両方を含むことが意図されている。
【００１７】
よって、たとえば、当業者は、本稿に呈示されるブロック図が本発明の原理を具現する例示的な回路の概念図を表すものであることを理解するであろう。同様に、フローチャート、流れ図、状態遷移図、擬似コードなどはいずれも、コンピュータ可読媒体において実質的に表現され、コンピュータまたはプロセッサによって実行されうるさまざまなプロセスを表すことが理解されるであろう。これはそのようなコンピュータまたはプロセッサが明示的に示されているかどうかにはよらない。
【００１８】
図面に示されるさまざまな要素の機能は、専用ハードウェアの使用を通じて提供されても、適切なソフトウェアとの関連でソフトウェアを実行することのできるハードウェアの使用を通じて提供されてもよい。プロセッサによって提供されるとき、機能は単一の専用プロセッサによって、単一の共有されるプロセッサによって、あるいは一部が共有されていてもよい複数の個別プロセッサによって提供されうる。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行することのできるハードウェアのみを指すものと解釈されるべきではなく、暗黙的に、限定なしに、デジタル信号プロセッサ（「DSP」）ハードウェア、ソフトウェアを記憶するための読み出し専用メモリ（「ROM」）、ランダム・アクセス・メモリ（「RAM」）および不揮発性記憶装置を含みうる。
【００１９】
通常のものおよび／またはカスタムのものを含め他のハードウェアも含まれてもよい。同様に、図面に示されるスイッチがあったとしても、それは単に概念的なものである。その機能はプログラム論理の動作を通じて、専用論理を通じて、プログラム制御と専用論理の相互作用を通じて、あるいはさらに手動で実行されてもよい。特定の技法は、コンテキストからより個別に理解されるように実装者によって選択可能である。
【００２０】
本願の請求項では、特定の機能を実行する手段として表現されたいかなる要素も、その機能を実行するいかなる仕方をも、たとえばａ）その機能を実行する回路素子の組み合わせまたはｂ）任意の形の、したがってファームウェア、マイクロコードなどを含む、当該機能を実行するソフトウェアを実行するための適切な回路と組み合わされたソフトウェアを包含することが意図されている。そのような請求項によって定義される本発明は、前記さまざまな記載される手段によって提供される機能性が請求項が記載する仕方で組み合わされ、一緒にされるという事実にある。よって、これらの機能性を提供できる任意の手段が本稿で示されている手段と等価であると見なされる。
【００２１】
ここで図１を参照すると、エンコード装置またはシステム１０において使用される本開示のある実施形態を示すブロック図が示されている。エンコード装置１０は、たとえばノード（図示せず）上にホストされ、前処理器１４と動作的に接続されたグラフィカル・ユーザー・インターフェース（GUI）１２および今度は下流の処理モジュール１８に動作的に接続された先進ビデオ符号化（AVC）エンコーダのようなエンコーダ１６を含む。一連のスチール画像フレームを含む未圧縮のモーション・ピクチャー・ビデオ・コンテンツのデータストリームがGUI  １２の入力において受領される。
【００２２】
動作について説明すると、GUI  １２は未圧縮のモーション・ピクチャー・ビデオ・コンテンツ・データストリームへのアクセスを前処理器１４に提供する。前処理器１４は、統合シーン検出モジュール（図示せず）を使って受領された未圧縮のモーション・ピクチャー・ビデオ・コンテンツ・データストリーム中の新しいシーンを検出し、新しいピクチャー・グループ（GOP:  group  of  pictures）をエンコードする必要があることを示すシーン検出信号をGUI  １２に送信する。シーン検出信号は、その新しいGOPがいつどこで生じるはずかを示すタイムスタンプ、ポインタ、同期データなどを含みうる。GUI  １２は未圧縮のモーション・ピクチャー・ビデオ・コンテンツおよび制御データ（たとえば上で論じたシーン検出信号および／または以下で論じる追加的な制御データ）をエンコーダ１６に渡す。GUI  １２から受信された制御データを使って、エンコーダ１６は、たとえば動画像専門家グループ（MPEG:  Moving  Pictures  Experts  Group）によって開発された規格に従って動作して、未圧縮データストリームを圧縮データストリームに変換する。圧縮データストリームは、エンコードされたビデオ・コンテンツ・データがもとの未圧縮のスチール画像の視覚的属性（たとえば輝度、クロミナンス）に対応するイントラ符号化されたフレーム（Iフレーム）で始まるGOPを含む。予測符号化フレーム（Pフレーム）および双方向符号化フレーム（Bフレーム）のようなGOP中のその後のフレームは、グループ内の前のフレームからの変化に基づいてエンコードされる。従来技術では、新しいフレームのグループは、よって新しいIフレームは、ビデオ・コンテンツ・データ変化が大きいシーンの変わり目において始められる。隣り合うスチール画像間の大きな変化を記述するよりも新しいスチール画像を記述するほうが要求されるデータが少なくてすむからである。のちに論じるように、本開示は、新しいフレームのグループが開始される時を変更しうる時間最適化された（time  optimized）エンコード技法に向けられる。
【００２３】
未圧縮データストリームがエンコーダ１６によって圧縮されたのち、圧縮されたデータストリームは下流の処理モジュール１８に渡される。下流の処理モジュール１８は、圧縮されたデータが記憶されたり（たとえばハードディスク・ドライブ（HDD）、デジタル・ビデオ・ディスク（DVD）、高精細度デジタル・ビデオ・ディスク（HD-DVD）などに）、媒体を通じて送信されたり（たとえば無線で、インターネットを通じて、広域ネットワーク（WAN）またはローカル・エリア・ネットワーク（LAN）などを通じて）、あるいは表示されたり（たとえばシアターにおいて、デジタル・ディスプレイ（たとえばプラズマ・ディスプレイ、LCDディスプレイ、LCOSディスプレイ、DLPディスプレイ、CRTディスプレイ）上などで）できるよう、圧縮されたデータに対して追加的な処理を実行する。
【００２４】
ここで図２を参照すると、本開示に基づく例示的なエンコーダ装置１６のブロック図が示されている。エンコーダ装置１６は、複数のクラスター２２〜２６に動作的に接続されたクラスター・マネージャ２０を含む。各クラスター２２〜２６は複数のノード２８〜３２を含み、それらのノードは今度は複数の中央処理ユニット（CPU）を含む。動作について説明すると、クラスター・マネージャ２０は未圧縮のモーション・ピクチャー・ビデオ・コンテンツおよび制御データをGUI  １２から受領し、また、クラスター２２〜２６中のノード２８〜３２からフィードバック・データをも受領してもよい。制御データおよびもしあれば与えられるフィードバック・データに基づいて、クラスター・マネージャ２０は未圧縮モーション・ビデオ・コンテンツをフレームの諸グループにセグメント分割し、フレームの諸グループをクラスター２２〜２６のノード２８〜３２に渡す。これについてはのちにさらに詳細に論じる。
【００２５】
ここで図３を参照すると、従来式のエンコードの作業フロー４０が示されている。従来式のエンコード作業フローは、クラスター・マネージャ２０が未圧縮のモーション・ビデオ・コンテンツを受領し、前処理器１４によって生成されるシーン検出信号のような制御データに基づいて未圧縮のビデオ・コンテンツをシーン（ａ〜ｉ）にセグメント分割４１することを含む。セグメント分割後、クラスター・マネージャ２０はシーン（ａ〜ｉ）をクラスター２２〜２６に提供しうる。クラスター２２〜２６は複数のエンコード・パス４２をシーン（ａ〜ｉ）に対して実行しうる。たとえば、第一のエンコード・パス４３は、各シーンをクラスター２２〜２６の異なるノード２８〜３２に提供して、各ノード２８〜３２が割り当てられたシーン（ａ〜ｉ）の複雑さ（シーン・フレーム間の動き、フレーム間の色変化など）を解析できるようにすることを含みうる。中間処理４４は、第一のエンコード・パス４３の結果を単一のログ・ファイルまたはメタデータ・ファイルに総合するクラスター２２の一つのノード２８を含みうる。中間処理４４はまた、これに限られないが、クラスター・マネージャ２０からノード２８によって受領された指示に基づいてフォーマット調整のような追加的な処理をも含んでいてもよい。その後、第二のエンコード・パス４６の間に、クラスター・マネージャは各シーン（ａ〜ｉ）を、メタデータ・ファイルおよびもしあれば追加的な指示とともに、クラスター２２〜２４の異なるノード２８〜３２に提供して、各ノード２８〜３２が割り当てられたシーンをメタデータ・ファイルおよびもしあれば追加的な指示に従って処理して割り当てられたシーンについてのAVCファイルを生成できるようにする。AVCファイルは次いで、圧縮されたモーション・ビデオ・コンテンツを含むエンコードされたファイル４８に総合されてもよく、これが上で論じたようなさらなる処理のために下流の処理モジュール１８に渡されることができる。
【００２６】
ビデオ・コンテンツのランダムな性質のため、諸シーンは可変のシーン長またはサイズをもつ可能性が高いことは理解されるはずである。より長いシーンは、より短いシーンよりもエンコード・パスを通過するのにより長い時間がかかる可能性が高い。さらに、より長いシーンは、より短いシーンを処理しているノードに、より長いシーンについてのエンコード・パスが完了してすべてのシーンが次のエンコード・パスに進めるようになるまで待ち、待機モードにはいるよう要求し、それにより貴重な処理資源を浪費し、処理効率を低下させることがありうる。結果として、従来式の並列シーン処理のアプローチは、現行の最先端エンコード・プロセスのスループットを遅くする。
【００２７】
ここで図３に戻り、従来式の並列シーン処理アプローチの欠点をさらに例解する。シーン（ａ〜ｉ）は可変長をもちうる。たとえば、シーン（ｉ）はシーン（ｃ）より長い、すなわちより多くのフレームをもつ。さらに、図のように、中間処理４４が単一のノードによって実行される場合、第一のエンコード・パス４３は、中間処理４４が開始できる前に完了されなければならない。結果として、シーン（ｉ）の長さがエンコード作業フロー４０のスループットを遅くする。
【００２８】
ここで図４を参照すると、本開示に基づくエンコード作業フロー５０が示されている。エンコード作業フロー５０は、クラスター・マネージャ２０が未圧縮のモーション・ビデオ・コンテンツを受領し、これに限られないが前処理器１４によって生成されるシーン検出信号のような制御データに基づいて未圧縮のモーション・ビデオ・コンテンツをシーン（ａ〜ｉ）にセグメント分割５２することを含む。未圧縮のモーション・ビデオ・コンテンツをシーンにセグメント分割した後、クラスター・マネージャ２０は、エンコード・パス５６を開始する前に、のちにさらに詳細に論じるように、たとえばGOP型およびGOPサイズに基づいてシーン（ａ〜ｉ）をさらに分割５４する。シーンのいくつかは、エンコード・パス５６を通じたシーン（ａ〜ｉ）のすべてのスループットを改善するためにさらに分割されるのが好ましい。
【００２９】
図４に示されるように、シーン（ａ、ｂおよびｅ）は「平均的な」長さをもつと考えられ、シーン（ｃ、ｆおよびｈ）は「短い」長さをもつと考えられ、シーン（ｄ、ｇおよびｉ）は「長い」長さをもつと考えられる。上で論じたように、より長いシーン（ｄ、ｇおよびｉ）はエンコード・パス５６を通じたすべてのシーン（ａ〜ｉ）のスループットを遅くする可能性が高い。したがって、スループットを改善するため、クラスター・マネージャ２０またはGUI  １２はさらに、より長いシーン（ｄ、ｇおよびｉ）を分割５４しうる。たとえば、シーン（ｄ、ｇおよびｉ）は二つのセグメント（ｄ1、ｄ2；ｇ1、ｇ2；およびｉ1、ｉ2）に分割されてもよい。ここで、一方のセグメントはほぼ平均的な長さをもち（すなわちｄ2、ｇ2およびｉ2）、他方のセグメントは、好ましくは平均長さを超えない可変の長さである（ｄ1、ｇ1およびｉ1）。平均的な長さを超えるシーン・セグメントがより小さなシーン・セグメントにさらに分割されてもよいことを注意しておくべきであろう。シーン５４を分割したのち、クラスター・マネージャは、シーンをクラスター２２〜２６に与える前に、残余セグメント（すなわちｄ1、ｇ1およびｉ1）をより短い長さのシーン（ｃ、ｆおよびｈ）とグループ化してもよい。シーンの分割およびグループ化（ａ、ｂ、ｄ1およびｃ、ｄ2、ｅ、ｇ1およびｆ、ｇ2、ｉ1およびｈならびにｉ2）は、エンコード・パス４２を通じたシーンのスループットを高める。というのも、クラスター２２〜２６のノード２８〜３２は、割り当てられたシーン（すなわちａ、ｂおよびｅ）、分割されたシーン・セグメント（ｄ2、ｇ2およびｉ2）またはグループ化されたシーンおよび分割されたシーン・セグメント（ｄ1およびｃ、ｇ1およびｆならびにｉ1およびｈ）に対するエンコード・パスをほぼ同時に完了するはずだからである。
【００３０】
たとえば、第一のエンコード・パス５８は、各シーン（すなわちａ、ｂおよびｅ）、分割されたシーン・セグメント（ｄ2、ｇ2およびｉ2）またはグループ化されたシーンおよび分割されたシーン・セグメント（ｄ1およびｃ、ｇ1およびｆならびにｉ1およびｈ）をクラスター２２〜２６の異なるノード２８〜３２に並列に提供することを含みうる。それにより、各ノード２８〜３２は、割り当てられたシーン（すなわちａ、ｂおよびｅ）、分割されたシーン・セグメント（ｄ2、ｇ2およびｉ2）またはグループ化されたシーンおよび分割されたシーン・セグメント（ｄ1およびｃ、ｇ1およびｆならびにｉ1およびｈ）の複雑さ（たとえばシーン・フレーム間の動き、フレーム間の色変化など）を解析できる。中間処理６０は、クラスター２２の一つのノード２８が第一のエンコード・パス５８の諸結果を単一のログ・ファイルまたはメタデータ・ファイルに総合することを含みうる。中間処理６０はまた、これに限られないが、クラスター・マネージャ２０からノード２８によって受領された指示に基づいてフォーマット調整のような追加的な処理をも含んでいてもよい。その後、第二のエンコード・パス６２の間に、クラスター・マネージャ２０は各シーン（すなわちａ、ｂおよびｅ）、分割されたシーン・セグメント（ｄ2、ｇ2およびｉ2）またはグループ化されたシーンおよび分割されたシーン・セグメント（ｄ1およびｃ、ｇ1およびｆならびにｉ1およびｈ）を、メタデータ・ファイルおよびもしあれば追加的な指示とともに、クラスター２２〜２４の異なるノード２８〜３２に並列に提供して、各ノード２８〜３２が割り当てられたシーンをメタデータ・ファイルおよびもしあれば追加的な指示に従って処理して割り当てられたシーンについてのAVCファイルを生成できるようにする。AVCファイルは次いで、圧縮されたモーション・ビデオ・コンテンツを含むエンコードされたファイル６４に総合されてもよく、これが上で論じたようなさらなる処理のために下流の処理モジュール１８に渡されることができる。
【００３１】
シーンの分割およびグループ化が、そうしなければ可変なシーン長またはサイズをもつシーンをもつビデオ・コンテンツをエンコードするときに遭遇される欠点を克服することが理解されるはずである。シーンを分割し、グループ化することによって、長いシーンのエンコードによって引き起こされていた遅延が大幅に軽減される。この遅延の軽減はエンコード過程の効率およびスループットを高める。
【００３２】
ここで図５を参照すると、例示的な映画コンテンツ７０が示されている。映画コンテンツ７０は、任意の数のシーン７２〜７８を含みうる。各シーンは今度は可変数のフレーム（図示せず）を含みうる。
【００３３】
ここで図６を参照すると、圧縮されたまたはエンコードされたシーン８０が示されている。圧縮されたシーン８０はIフレーム８２、Bフレーム８４およびPフレーム８６を含む。Iフレーム８２は、フレームをその全体において示すために要求される全データを含む。Bフレーム８４およびPフレーム８６はグループ内の前のフレームからの変化に基づいてエンコードされている。従来技術では、エンコーダは、映画コンテンツ７０を、所定のピクチャー・グループ・サイズ９０に達するまで所定のGOP型またはパターン８８に基づいてエンコードする。所定のピクチャー・グループ・サイズ９０に達した時点で、エンコーダは別のIフレームを生成し、所定のGOPパターンおよびサイズに従ってエンコード過程を続ける。たとえば、一つの所定のGOPパターンは、IフレームのあとにBフレーム、Pフレーム、Bフレームのパターンの繰り返しが続くというものであってもよい。所定のGOPサイズは24フレームであってもよい。その場合、24フレームごとのフレームがIフレームになる。他のGOPパターンおよびサイズが当業者には知られており、本開示の範囲内と考えられる。
【００３４】
ここで図２に戻ると、クラスター２２〜２６のノード２８〜３２を最大限に利用してそれにより必要とされるエンコード時間を最小化するために、映画中のすべてのシーンのフレームがクラスター２２〜２６のノード２８〜３２の間で等しく分配されることができる。しかしながら、任意の仕方でフレームを分配することは、エンコード・パフォーマンスに害をもたらしうる。というのも、任意の位置でのシーンの細分を増すことは、最適に必要とされるより多くのIフレームを導入するからである。Iフレームは、エンコード情報のリサイクルの量を最小にしてすべてのピクチャー情報を保持し、記憶することを要求する。したがって、不必要なIフレームの導入は、ビットレートを増加させ、よって生成されるビデオ・ストリームのファイル・サイズをも増加させる。結果として、エンコードされたファイルは最適なファイル・サイズではなくなる。
【００３５】
ここで図６を参照すると、GOP型８８およびGOPサイズ９０が既知であり、エンコード過程を通じて一定のままであるので、諸シーンを自動的に分割する理想的な位置となるであろう特定の諸フレームが予測できる。このアプローチを使って、最良のエンコード・パフォーマンスおよび最適なファイル・サイズをもつエンコードされたファイルが生成できる。
【００３６】
上で論じたように、長いシーンは、従来技術では、そのシーン全体をエンコードするために割り当てられたノードを必要としていた。しかしながら、本開示によれば、長いシーンは、該シーン内の既知の諸Iフレーム位置においてさらに分割されることができる。分割されたセグメントは次いで異なるノードに並列に提供されることができる。それにより、シーンはより短い時間でエンコードできる。
【００３７】
本開示に従い、並列化を最適化するための最適なシーンの切れ目を予想または判別する方法は以下のステップを含みうる。エンコードの間に、圧縮者またはユーザーがGOPサイズ９０およびGOP型８８を選択する。GOPサイズ９０および型８８は、シーン境界識別情報とともに、どのシーンを分割すべきか、どこで分割が生じるべきかを決定するために用いられうる。これに限られないが、シーンの長さ、各シーン内でのGOPの数および利用可能なクラスター２２〜２６および／またはノード２８〜３２の数を含む統計的なデータに基づいて、アルゴリズムまたはプロセスによって正規化された分布が生成できる。換言すれば、すべてのノードは好ましくは、処理すべき実質的に同数のGOPをもつことになる。
【００３８】
シーンをどこで分割または切るかを決定するための一つの例示的なアルゴリズムまたはプロセスは次のステップを含みうる：
１．受領されたビデオ・コンテンツ（たとえばフィーチャーまたはフィルム）における、フェードやディゾルブを含まないもとのシーン数を取得する。
２．受領されたビデオ・コンテンツ内の、エンコードされるべきフレーム数を取得する。
３．各シーンについて、上記のフレームをエンコードするために必要とされるGOP数（Go）を計算する。
４．所与のクラス長さおよびシーン数について必要とされるGOP数に基づいてヒストグラム分布を生成する。
５．前記ヒストグラムを取り、該ヒストグラムについての密度曲線を生成する。
６．密度曲線についての平均、メジアン、最大、最小および標準偏差を求める。換言すれば、クラスターからのバランスの取れた最適なエンコード・スループットのために、各ノードが含むべき平均GOP数。
７．密度曲線が正規曲線である、すなわち曲線が種々のシーン・サイズについての正規曲線の族にフィットすると想定して、68-95-99.7%則（別名正規分布則）を適用して１標準偏差68%の外側に存在する全シーンを割り出して、クラスによって指定されるGOP数のところでより小さなシーンに分割することができる。曲線の高さ（または標準偏差）は利用可能なノード数に依存することができる。利用可能なノード数が多いほど標準偏差は小さくなりえ、よってシーンが含むことになるGOP数が小さくなりうる。
【００３９】
フェードおよびディゾルブは、エンコードするコンテンツに依存して追加的なIフレームを要求し、それにより通常よりも小さいまたは通常とは異なるGOPサイズをもつことがありうることを注意しておくべきであろう。これは、フェードおよびディゾルブは、可能性としては遷移フレーム間の類似性が限られている、より複雑なシーンであるという事実のためである。より小さいまたは異なるGOPサイズの使用は、最適に必要とされるより多くのIフレームを導入することになる。したがって、特にフェードおよび／またはディゾルブ・シーンが関わるときにエンコード時間を最適化するための追加的なアプローチは、シーンを、含まれるフレーム数の長さが増えていく順に配列することによる。換言すれば、より長いシーンまたはディゾルブおよび／またはフェードを含む複雑なシーンは、より短いシーンより前にクラスターまたはノードに与えられる。これは、より長いシーンがエンコード過程を早期に開始し、より短いシーンについては他のノードが利用可能になるにつれて並列化を利用させることを許容する。
【００４０】
ここで図７を参照すると、本開示に基づくエンコード過程１００を示すフローチャートが示されている。最初、ステップ１０２において、エンコード装置１０は、これに限られないがフィーチャー・フィルム・コンテンツのようなビデオ・コンテンツをインポートまたは受領する。次に、ステップ１０４において、エンコード装置１０は、インポートされたビデオ・コンテンツに基づいてビデオ・コンテンツ・データを生成する。例示的なビデオ・コンテンツ・データは、これに限られないがシーンおよび／またはショット検出、フェードおよび／またはディゾルブ検出、ヒストグラム生成、シーン色に基づく分類（たとえば、暗いおよび／または赤い色のシーンは伝統的に処理するのがより複雑である）、類似シーンの識別、フレーム分類（たとえば、葉がゆらいでいる木のような多くの動いているオブジェクトをもつノイズ様のフレーム）、サムネイル生成などを含みうる。ビデオ・コンテンツ・データは、前処理器１４によって、あるいはユーザーによってGUI  １２を介して生成されうる。その後、ステップ１０６において、エンコーダ装置１０はユーザーに、ユーザーがビデオ・コンテンツが時間最適化されたエンコードを使って圧縮またはエンコードされることを望んでいるかどうかを問い合わせる。もしそうでない場合には、エンコード装置１０はステップ１１６において、当業者に知られている従来式のクラスター・エンコード・プロセスを開始する。時間最適化されたエンコードが望まれる場合には、エンコード装置１０は、ステップ１０８において、シーンおよび／またはショット検出ならびにフェードおよび／またはディゾルブ検出に基づいて統計的データを計算および収集する。次に、ステップ１１０において、エンコード装置１０は統計データを処理して、ビデオ・コンテンツ中の所与のシーンがフェードおよび／またはディゾルブを含むかどうかを判定する。そのシーンがフェードやディゾルブを含まない場合、エンコード装置はステップ１１２においてさらに、そのシーンが短い、平均的または長いシーンであるかを判定し、そのシーンをGOPサイズおよびGOP型に基づいて適宜分割する。シーンがフェードまたはディゾルブを含んでいる場合、エンコード装置はステップ１１４において、フェードまたはディゾルブを含んでいるシーンをその長さに従って整理する。その後、エンコード装置１０は、フェードおよび／またはディゾルブを有するシーン、分割されたシーンおよび分割されていないシーンを上で論じたようにグループ化し、ステップ１１６でシーンをクラスター２２〜２６のノード２８〜３２に本開示に基づく時間最適化されたエンコードのために分配する。
【００４１】
本発明の教示を組み込む実施形態について図示し、本稿で詳細に記述してきたが、当業者は、数多くの他の変形された、それでいてこれらの教示を組み込む実施形態を容易に考案できる。エッセンス・ファイル、メタデータ・ファイルおよびサービス・データ・ファイルを知的なエッジ・デバイスを使ってパッケージングおよび輸送するシステムおよび方法についての好ましい諸実施形態を記載してきたが、上記の教示に照らして当業者によって修正および変形がなされうることを注意しておく。したがって、開示される本発明の個別的な実施形態に、付属の請求項によって述べられる本発明の範囲内である変更がなされてもよいことは理解されるものとする。
【図１】
2010529809.tif 000003
【図２】
2010529809.tif 000004
【図３】
2010529809.tif 000005
【図４】
2010529809.tif 000006
【図５】
2010529809.tif 000007
【図６】
2010529809.tif 000008
【図７】
2010529809.tif 000009
【国際調査報告】
2010529809.tif 000010
2010529809.tif 000011
2010529809.tif 000012
2010529809.tif 000013
2010529809.tif 000014
2010529809.tif 000015