JP2017201791A - ビデオエンコードシステムおよび方法 - Google Patents

ビデオエンコードシステムおよび方法 Download PDF

Info

Publication number
JP2017201791A
JP2017201791A JP2017112675A JP2017112675A JP2017201791A JP 2017201791 A JP2017201791 A JP 2017201791A JP 2017112675 A JP2017112675 A JP 2017112675A JP 2017112675 A JP2017112675 A JP 2017112675A JP 2017201791 A JP2017201791 A JP 2017201791A
Authority
JP
Japan
Prior art keywords
video file
computer
worker
computer resources
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017112675A
Other languages
English (en)
Inventor
ラトナー エドワード
Ratner Edward
ラトナー エドワード
ケスウィム ジェフリー
Keswin Jeffrey
ケスウィム ジェフリー
グリフィス オースティン
Griffith Austin
グリフィス オースティン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lyrical Labs LLC
Original Assignee
Lyrical Labs LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lyrical Labs LLC filed Critical Lyrical Labs LLC
Publication of JP2017201791A publication Critical patent/JP2017201791A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria

Abstract

【課題】ビデオファイルを1以上の所望のフォーマットに処理する並列ビデオエンコードシステムを提供する。【解決手段】並列ビデオエンコードシステムは、ビデオファイルを受信するステップ252と、ビデオファイルを処理して処理済みビデオファイルを生成することに関連する負荷を決定するステップ254と、決定された負荷と、複数のワーカーコンピューター資源の各々の負荷容量とに応じて、ビデオファイルが分割される分割部分の数を決定するステップ256と、ビデオファイルを、数の複数の分割部分に分割するステップ262と、複数のワーカーコンピューター資源を用いて並列にビデオファイルの複数の分割部分を処理して、複数の処理済み分割部分を生成するステップと、複数の処理済み分割部分に基づいて、処理済みビデオファイルを提供するステップから構成される。【選択図】図11

Description

関連出願の相互参照
この出願は、2011年5月19日に出願され、米国仮特許出願第61/468,872号、発明の名称「ビデオエンコードシステムおよび方法」、明細書LYR−P0001は、ここに援用され、利益を主張する。
本発明は、ビデオエンコードシステムおよび方法に関する。
ワールド・ワイド・ウェブ上でビデオの視聴が増加するのに従って、ウェッブサイトでは、ますますフレキシブルなエンコードのためのソリューションが求められている。ビデオは、頻繁に多重解像度でかつ複数のビットレートでエンコードすることが必要とされる。加えて、複数のウェッブサイトは複数のエンコードフォーマットをサポートしている。ウェッブサイトは、オリジナルのソースコンテンツを多くのビデオフォーマットで取得し、コンテンツを頻繁にランダムに獲得し、回数を予測することができない。つまり、ウェッブサイトは、提供する新しいビデオをある日には100本受け取り、他の日には10000本受信するかもしれない。ビデオコンテンツは、頻繁にタイムリーに反映される(例えば、新しいコンテンツを即座に、多くの場合同日に、潜在的な試聴者が利用できるようにするという強い誘因がある)。従来、自社の設備内にひと揃いのエンコーダーを所有するコンテンツプロバイダーによって、ビデオのエンコードが行われてきた。各エンコーダーは、所定の日にビデオコンテンツの一定量しか処理することができないため、適時性の要因を考えると、コンテンツプロバイダーはピーク時の利用に合わせてそのシステムを提供しなければならない。これにより、大抵の時間は動いていない状態の沢山の列のエンコーダーの設置が必要になる。さらに、ひと揃いのエンコーダーの設置は、重要な先行投資のための資本支出と、後に長い使用期間にわたる償却が要求される。
本開示の典型的な実施形態は、ビデオファイルを処理する方法である。本発明の方法は、ビデオファイルを受信するステップ、複数のワーカーコンピューター(作業者コンピューター)資源を用いて並列にビデオファイルの複数の分割部分を処理するステップ、処理済みのビデオファイルを提供するステップで構成される。その一例では、前記方法は、ビデオファイルに対する所望のエンコードフォーマットを受信するステップをさらに備え、処理済みビデオファイルは、所望のエンコードフォーマットでエンコードされたものである。別の例では、前記方法は、ビデオファイルの処理に関連する負荷を判断するステップをさらに備え、複数の分割部分の数は負荷に基づくものである。他の方法では、処理済みビデオファイルの所望の解像度と処理済みビデオファイルの所望のビットレートの少なくとも1つを受信するステップをさらに備え、負荷は処理済みビデオファイルの所望の解像度と処理済みビデオファイルの所望のビットレートの少なくとも1つに基づくものである。また、一例では、複数のワーカーコンピューター資源の数は拡張可能である。さらに、他の一例では、複数のワーカーコンピューター資源はクラウドコンピューターのプラットフォームの一部である。
本開示の他の典型的な実施形態では、ビデオファイルをエンコードするためのシステムが提供される。前記システムは、ビデオエンコード管理コンピューターシステムと、ビデオエンコード管理コンピューターシステムによって動的にアクティブおよび非アクティブにする複数のワーカーコンピューター資源を備えた拡張可能なコンピュータープラットフォームとを備える。ビデオエンコード管理コンピューターシステムが、所望のエンコードフォーマットでビデオファイルをエンコードする指示を受信し、ビデオファイルをエンコードするために必要な、複数のワーカーコンピューター資源のうちのワーカーコンピューター資源の第1の数を決定する。ビデオエンコード管理コンピューターシステムが、複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源に指示して、所望のエンコードフォーマットでビデオファイルをエンコードする。一例として、複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源それぞれが、所望のエンコードフォーマットでビデオファイルの分割部分のそれぞれを並列にエンコードする。他の例では、複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源のうちの第1のワーカーコンピューター資源が、ビデオファイルを複数の分割部分に分割し、並列で前記所望のフォーマットにエンコードするために各分割部分を、前記複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源のそれぞれに割り当てる。変形例では、複数の分割部分は、複数の分けられたビデオクリップである。別の変形例では、複数の分割部分は、複数の時間間隔のビデオファイルである。また、別の変形例では、複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源のうちの第1のワーカーコンピューター資源が、前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源の残りから、複数の処理済みビデオファイルを受信する。さらに別の変形例では、複数のワーカーコンピューター資源のうちの第1の数のワーカーコンピューター資源のうちの第1のワーカーコンピューター資源が、複数の処理済みビデオの分割部分に基づいて、所望のエンコードフォーマットで処理済みビデオファイルを生成する。
本開示のさらなる他の典型的な実施形態では、ビデオファイルをエンコードするためのシステムが提供される。そのシステムは、ビデオファイルに基づいて処理シーケンスを実行するビデオエンコード管理制御部を備える。この処理シーケンスは、ビデオファイルと所望のエンコードフォーマットに基づいて、処理済みビデオファイルを生成する負荷を決定するステップと、処理済みビデオファイルの生成に必要なコンピューター資源の第1の数を決定するステップと、第1の数のコンピューター資源のうちの第1のコンピューター資源をマスターコンピューター資源として割り当てるステップと、第1の数のコンピューター資源で並列にエンコードするために、ビデオファイルを複数の分割部分に分割するようにマスターコンピューター資源に指示するステップとを含む。その一例として、処理シーケンスが、さらに第1の数のコンピューター資源を起動するステップを備えるようにしてもよい。その変形例として、第1の数のコンピューター資源は、拡張可能なコンピューターシステムの一部であり、プログラムによって起動される。
本開示のさらなる他の典型的な実施形態では、ビデオファイルを処理するための方法が提供される。本発明の方法は、ビデオファイルを受信するステップ、ビデオファイルの所望のエンコードフォーマットの受信するステップ、ビデオファイルおよび所望のエンコードフォーマットに基づいて処理済みビデオファイルを生成する負荷を決定するステップ、処理済みビデオファイルの生成に必要なコンピューター資源の第1の数を決定するステップ、第1の数のコンピューター資源のうちの第1のコンピューター資源をマスターコンピューター資源として割り当てるステップ、および、第1の数のコンピューター資源を用いて並列にエンコードするためにビデオファイルを複数の分割部分に分割するようにマスターコンピューター資源に指示するステップを備える。また、一例では、前記方法は、第1の数のコンピューター資源を起動するステップをさらに備える。その変形例では、第1の数のコンピューター資源は、拡張可能なコンピューターシステムの一部であり、プログラによって起動されるものであってもよい。その別の例では、前記方法は、マスターコンピューター資源からの処理済みビデオファイルが完成した通知を受信するステップをさらに備える。その変化例では、前記方法は、処理済みビデオファイルが完成した通告を提供するステップをさらに備える。
本開示のさらなる典型的な実施形態では、所望のエンコードフォーマットに基づいて行われるビデオファイルの処理がコンピューター資源によって実行される複数の命令を備えた非一時的なコンピューター読み取り可能な媒体が提供される。前記複数の命令は、ビデオファイルおよび所望のエンコードフォーマットに基づいて処理済みビデオファイルを生成する負荷を決定する命令、処理済みビデオファイルの生成に必要なコンピューター資源の第1の数を決定する命令、第1の数のコンピューター資源のうち第1のコンピューター資源をマスターコンピューター資源として割り当てる命令、および、第1の数のコンピューター資源を用いて並列にエンコードするためにビデオファイルを複数の分割部分に分割するようにマスターコンピューター資源に指示する命令である。
また、本開示のさらなる典型的な実施形態では、ビデオファイルを処理するための方法が提供される。本発明の方法は、ビデオファイルを受信するステップ、ビデオファイルの処理に関する負荷を決定するステップと、複数のワーカーコンピューターシステムでビデオファイルの分割部分を並列に処理するステップと、処理済みビデオファイルを提供するステップとを備える。一例では、前記方法は、ビデオファイルの所望のエンコードフォーマットを受信するステップをさらに備え、処理済みビデオファイルは所望のエンコードフォーマットでエンコードされたものである。その他の例では、前記方法は、処理済みビデオファイルの所望の解像度および処理済みデオファイルの所望のビットレートの少なくとも1つを受信するステップをさらに備え、負荷は、処理済みビデオファイルの所望の解像度の処理済みビデオファイルの所望のビットレートの少なくとも1つに基づく。さらに別の例では、複数のワーカーインスタンスの数は拡張可能である。さらなる他の一例では、複数のワーカーインスタンスはクラウドコンピューターのプラットフォームの一部である。
本開示の更なる典型的な実施形態では、ビデオファイルをエンコードするためのシステムが提供される。システムは、ビデオ符号化管理コンピューターシステムと、ビデオエンコード管理コンピューターシステムによって動的にアクティブおよび非アクティブにすることが可能な複数のワーカーコンピューターシステムを備えたクラウドコンピューターのプラットフォームで構成される。ビデオエンコード管理システムは、所望のエンコードフォーマットでビデオファイルをエンコードする命令を受信し、ビデオファイルをエンコードするために必要なワーカーコンピューターシステムの数を決定し、その数のワーカーコンピューターシステムをビデオエンコード管理コンピューターシステムがビデオファイルをエンコードするためにアクティブにする。
本開示の上記の特徴および他の特徴は、単独でまたは任意に組み合わせて特許性がある対象を構成し、以下の詳細な説明および図面により明白になるであろう。
添付の図面と併せて以下の発明の実施形態の記載を参照することにより、この開示の上記の特徴および他の特徴とこの開示の効果、それを達成する方法が、より明白になり、発明それ自体がより理解されるであろう。
複数のクライントと通信するビデオエンコードシステムの一例を示す。 クライアントコンピューターシステムの一例を示す。 図1のビデオエンコードシステムのエンコード管理コンピューターシステムの一例を示す。 図1のビデオエンコードシステムのマスターワーカーコンピューターシステムの一例を示す。 図1のビデオエンコードシステムのワーカーコンピューターシステムの一例を示す。 図1のビデオエンコードシステムの一例の実施形態を示す。 メッセージシステムを介した複数のクライアントコンピューターとビデオエンコードシステムのコンピューターシステム間のやり取り(インタラクト)の様子を示す図 複数のクライアントとビデオエンコードシステムのファイル転送システム間のやり取りの様子を示す図 ビデオエンコードシステムのマスターワーカーコンピューターとビデオエンコードシステムのファイル転送システム間のやり取りの様子を示す図 図6のビデオエンコードシステムのファイル転送システムとクライアントの1つの出力ディレクトリー間のやり取りの様子を示す図 図1のビデオエンコードシステムの処理の流れの一例を示す。 図1のビデオエンコードシステムの処理の一例を示す。
対応する参照される特徴は、複数の見方を通じて対応する部分を示す。ここに記載される例示は発明の典型的な実施形態を説明し、このような例示はいかなる方法において発明の範囲を限定するものとして解釈されるべきではない。
ここに開示された実施形態は、以下に詳細に説明された詳細な形態に、発明が網羅されたものではなく、あるいは発明を限定することを意図するものでもない。むしろ、実施形態は他の当業者がこの発明を利用できるように説明するために選ばれて記述されている。
図1に、ビデオエンコードシステム100を示す。ビデオエンコードシステム100は、1つ以上のネットワーク104を通して複数の顧客102に対して情報の送受信を行う。ネットワーク104には、プライベートネットワーク、インターネットのような公衆回線、ローカルエリア・ネットワーク、広域ネットワーク、携帯電話通信網、有線ネットワーク、無線ネットワーク、およびこれらの組合せが含まれる。
ビデオエンコードシステム100がクライアントコンピューターシステム106から受信する代表的な情報は、ビデオファイル110およびビデオファイル110の処理に関する情報である。一実施形態では、クライアントコンピューターシステム106がビデオエンコードシステム100にビデオファイル110を送信する、あるいは、ビデオエンコードシステム100にビデオファイル110を送信するように別のコンピューターシステムに命令する。一実施形態では、クライアントコンピューターシステム106は、ビデオファイル110の取り出し方法の指示をビデオエンコードシステム100に提供する。
ビデオエンコードシステム100がクライアントコンピューターシステム106に送信する代表的な情報には、ビデオファイル110およびビデオファイル110の処理に関する情報に基づいて生成される少なくとも1つの処理済みビデオファイル112が含まれる。一実施形態では、ビデオエンコードシステム100は、クライアントコンピューターシステム106に処理済みビデオファイル112を送信する、あるいは、クライアントンコピューターシステム106に処理済みビデオファイル112を送信するように別のコンピューターシステムに命令する。一実施形態では、クライアントコンピューターシステム106によって指定された送信先に処理済みビデオファイル112を送信する、または、クライアントコンピューターシステム106によって指定された送信先に処理済みビデオファイル112を送信するように他のコンピューターシステムに命令する。一実施形態では、ビデオエンコードシステム100が、処理済みビデオファイル112の取り出し方法の指示をクライアントコンピューターシステム106に提供する。
図に示された実施形態では、ビデオファイル110の処理に関する情報には、所望のビデオエンコードフォーマットに関連する情報が含まれる。ビデオファイル110のフォーマットに関連する代表的な情報には、ビデオエンコードのフォーマット、ビットレート、解像度、および、他の適切な情報が含まれる。ビデオファイル110の処理に関連する更なる代表的な情報として、キーポイントの位置および他のメタデータが含まれるようにしてもよい。一実施形態では、情報はビデオファイル110の複数のエンコードフォーマットに関連し、複数の処理済みビデオファイルが、ビデオエンコードシステム100によって生成される。
図2に、代表的なクライアントコンピューターシステム106を示す。クライアントコンピューターシステム106は制御部120を備える。制御部120は、記憶部122へアクセスすることができる。記憶部122は制御部120によって実行され、クライアントコンピューターシステム106がネットワーク104上の他のコンピューター装置と通信するための通信ソフトウェア124が設けられる。通信ソフトウェア124は、ソフトウェアとして図に示しているが、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。クライアントコンピューターシステム106は、さらに記憶部122に格納される少なくとも1つのビデオファイル110を有する。また、情報ファイル116が記憶部122に格納されている様子が示されている。一実施形態では、情報ファイル116には、ビデオファイル110の処理に関する情報が含まれる。一実施形態では、ビデオファイル110の処理に関する情報は、ビデオファイル110の一部として格納される。
クライアントコンピューターシステム106は、さらにユーザ・インタフェース130を備える。ユーザ・インタフェース130には、1つ以上の入力装置132および1つ以上の出力装置と、図に示すディスプレイ134が含まれる。代表な入力装置には、キーボード、マウス、ポインター装置、トラックボール、ボタン、スイッチ、タッチスクリーン、およびオペレータにクライアントコンピューターシステム106の入力を提供するのに適した他の装置が含まれる。代表的な出力装置には、ディスプレイ、タッチスクリーン、プリンター、スピーカー、およびクライアントコンピューターシステム106のオペレータに情報を提供するのに適した他の装置が含まれる。
一実施形態では、クライアントコンピューターシステム106は、さらにビデオ・カメラ136および付属のマイクロフォン138を備える。ビデオファイル110を撮影するためにビデオ・カメラ136を用いるようにしてもよい。一実施形態では、クライアントコンピューターシステム106は別のコンピューター装置からビデオファイル110を受信する。代表的なクライアントコンピューターシステム106には、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、携帯電話、スマートフォン、ビデオ・カメラ、および他の適切なコンピューター装置が含まれる。
図に示された実施形態では、クライアントコンピューターシステム106は単一システムである。別の実施形態では、クライアントコンピューターシステム106は互いに通信する2つ以上のシステムで構成する。図に示す実施形態では、クライアントコンピューターシステム106は、制御部120と記憶部122を備え、制御部120は同時に作動する一以上のプロセッサーであってもよく、記憶部122が制御部120からアクセス可能な複数の記憶部であってもよい。制御部120の1つ以上のプロセッサーに対する記憶部122として、ソフトウェアの実行に関連する記憶部およびデータの格納に関連する記憶部が設けられるが、これに限定するものではない。記憶部122には、コンピューター読み取り可能な媒体が含まれる。コンピューター読み取り可能な媒体には、制御部120の1つ以上のプロセッサーからアクセス可能なあらゆる媒体が含まれ、揮発性の媒体および不揮発性の媒体が含まれる。さらに、コンピューター読み取り可能な媒体は取り外し可能であっても、取外し不可能な媒体であっても、それらのいずれかまたは両方であってもよい。一例として、コンピューター読み取り可能な媒体には、これに限定するものではないが、RAM、ROM、EEPROM、フラッシュ・メモリ、または他の記憶技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学磁気ディスク装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置が含まれ、あるいは、所望の情報を格納するのに使用され、かつ、制御部120がアクセス可能な他のあらゆる非一時的な媒体であってもよい。
図1に戻って、ビデオエンコードシステム100は、ビデオエンコード管理コンピューターシステム200および複数のワーカーコンピューターシステム202を備える。一実施形態では、ワーカーコンピューターシステム202の数は固定されている。一実施形態では、ワーカーコンピューターシステム202の数は動的に決められ、拡張可能なオンデマンドシステムを提供する。
一実施形態では、ビデオエンコードシステム100はクラウドコンピューターのプラットフォームに置かれる。一実施形態では、クラウドコンピューターは、相当に大きなオンデマンドコンピューターのコンピューター資源が利用可能なサードパティーが提供するサービスである。クラウドコンピューターの実施形態において、コンピューター資源はワーカーコンピューターシステム202またはインスタンスという用語を用いる。「インスタンス」は、特定CPUと所定のメモリと所定のハードディスクのスペースを備えたコンピューター資源である。インスタンスは、プログラムによって起動され、シャットダウンされるものであってもよい。一実施形態では、コンピューター資源の数は固定である。一実施形態では、コンピューター資源の数は動的に決められ、拡張可能なオンデマンドシステムで提供される。
図3に、代表的なビデオエンコード管理コンピューターシステム200を示す。ビデオエンコード管理コンピューターシステム200は、制御部220を備える。制御部220は、記憶部222にアクセスすることができる。記憶部222は制御部220によって実行され、ビデオエンコード管理コンピューターシステム200がネットワーク104または他のネットワーク上の他のコンピューター装置と通信を行う通信ソフトウェア224が設けられる。通信ソフトウェア224は、ソフトウェアとして図に示しているが、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。ビデオエンコード管理コンピューターシステム200は、さらに、クライアントコンピューターシステム106から受信して、記憶部222に格納するビデオファイル110および情報ファイル116を有する。代表的なビデオエンコード管理コンピューターシステム200には、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、携帯電話、スマートフォン、および他の適切なコンピューターが含まれる。
ビデオエンコード管理コンピューターシステム200は、さらにユーザ・インタフェース230を備える。ユーザ・インタフェース230には、1つ以上の入力装置232および1つ以上の出力装置、図に示すディスプレイ234が含まれる。代表的な入力装置には、キーボード、マウス、ポインター装置、トラックボール、ボタン、スイッチ、タッチスクリーン、および、オペレータにビデオエンコード管理コンピューターシステム200の入力を提供するのに適した他の装置が含まれる。代表的な出力装置には、ディスプレイ、タッチスクリーン、プリンター、および、ビデオエンコード管理コンピューターシステム200のオペレータに情報を提供するのに適した他の装置が含まれる。
図に示す実施形態では、ビデオエンコード管理コンピューターシステム200は単一システムである。別の実施形態では、ビデオエンコード管理コンピューターシステム200は、互い送受信する2つ以上のシステムで構成する。図に示す実施形態では、ビデオエンコード管理コンピューターシステム200は、制御部220と記憶部222を備え、制御部220が同時に作動する1つ以上のプロセッサーであってもよく、記憶部222が制御部220からアクセス可能な複数の記憶部であってもよい。制御部220の1つ以上のプロセッサーに対する記憶部222は、ソフトウェアの実行に関連する記憶部およびデータの格納に関連する記憶部が設けられるが、これに限定するものではない。記憶部222には、コンピューター読み取り可能な媒体が含まれる。コンピューター読み取り可能な媒体には、制御部220の1つ以上のプロセッサーがアクセス可能なあらゆる媒体が含まれ、揮発性および不揮発性の媒体が含まれる。さらに、コンピューター読み取り可能な媒体は、取り外し可能であっても、取外し不可能な媒体であっても、それらのいずれかまたは両方であってもよい。一例として、コンピューター読み取り可能な媒体には、これに限定されるものではないが、RAM、ROM、EEPROM、フラッシュ・メモリ、または他の記憶技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学磁気ディスク装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置が含まれ、あるいは、所望の情報を格納するのに使用され、制御部220がアクセス可能な他のあらゆる非一時的な媒体であってもよい。
記憶部222は、さらに、ビデオエンコード管理ソフトウェア210を備える。ビデオエンコード管理ソフトウェア210は、ビデオファイル110の処理に関するものである。クラウドコンピューターまたは他の分散型のコンピューターの実施形態では、制御部220はビデオファイル110を処理するためのビデオエンコード管理ソフトウェア210を実行する。例えば、ビデオファイル110のサイズおよびビデオファイル110の所望の処理に応じて、制御部220はビデオファイル110を処理するために使用するワーカーコンピューターシステム202の数を決定し、マスターワーカーコンピューターシステム206として機能する各ワーカーコンピューターシステム202を割り当てる。ビデオエンコード管理ソフトウェア210は、ソフトウェアとして図に示されているが、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。
図11を参照して、ビデオエンコード管理コンピューターシステム200の代表的な処理シーケンス250を説明する。ブロック252に示すように、ビデオファイル110は、ビデオエンコード管理コンピューターシステム200で受信される。ビデオエンコード管理コンピューターシステム200は、ビデオファイル110およびビデオファイル110の所望の処理を定める情報ファイル116を分析する。一実施形態では、情報ファイル116には、ビデオファイル110の所望のエンコードフォーマット、その所望のエンコードフォーマット解像度、およびその所望のエンコードフォーマットのビットレートが含まれる。
図11へ戻って、ブロック254に示されるように、ビデオエンコード管理コンピューターシステム200はビデオエンコードシステム100の推定負荷を決定する。一実施形態では、推定負荷は式(1)に基づいて決定される。
式中、LOAD=ビデオエンコードシステム100の推定負荷;(A)=所望のエンコードの所望のフレームレート;(T)=ビデオファイル110の持続時間;(H)=所望のエンコードにおける列の数;(W)=所望のエンコードにおける行の数;nはワーカーコンピューターシステム202のエンコードソフトウェアの速度に基づく。一実施形態では、エンコードソフトウェアは、NY10022 、ニューヨーク、パークアベニュー405にあるLyrical Labsから提供されるH.2644エンコーダーが利用可能である。この場合、nの値は1.5である。一実施形態では、nの値は、約1.2から約2.5の間である。他の代表的なビデオエンコーダーは、http://www.videolan.org.からオンラインで提供されるVideoLANのx264が利用可能である。
ビデオエンコード管理コンピューターシステム200は、ブロック256によって表されるように、決定されたLOADに基づいて、ワーカーコンピューターシステム202の数を定める。一実施形態では、推定負荷は式(2)に基づいて決定する。
式中、NUM=起動するワーカーコンピューターシステム202の数;LOAD=ビデオエンコードシステム100の推定負荷;SINGLE_WORKER_LOAD=代表的なワーカーコンピューターシステム202の負荷容量;CEILING関数は次の最も小さい整数になるようにNUMを増やす。ブロック258に示すように、ビデオエンコード管理コンピューターシステム200は、ビデオファイル110を処理するのに必要なワーカーコンピューターシステム202を決められた数起動する。ブロック260に示すように、ビデオエンコード管理コンピューターシステム200は、さらに、ビデオファイル110の処理を管理するワーカーコンピューターシステム202の1つをマスターワーカーコンピューターシステム206として指定する。ブロック262に示すように、ビデオエンコード管理コンピューターシステム200は、マスターワーカーコンピューターシステム206にビデオファイル110を送信し、マスターワーカーコンピューターシステム206に指示して、起動されたワーカーコンピューターシステム202の数と等しい数の分割部分にビデオファイル110を分割する。この場合、マスターワーカーコンピューターシステム206も、ビデオファイル110の1つの分割部分をエンコードする。
図4に、代表的なマスターワーカーコンピューターシステム206を示す。マスターワーカーコンピューターシステム206は制御部320を備える。制御部320は、記憶部322へアクセスすることができる。記憶部322は制御部320によって実行され、マスターワーカーコンピューターシステム206がネットワーク104または他のネットワーク上の他のコンピューター装置と通信を行う通信ソフトウェア324が設けられる。通信ソフトウェア324は、ソフトウェアとして図に示しているが、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。マスターワーカーコンピューターシステム206は、さらに、ビデオエンコード管理コンピューターシステム200から受信し、記憶部322に格納されるビデオファイル110および情報ファイル116を有する。代表的なマスターワーカーコンピューターシステム206には、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、携帯電話、スマートフォン、および他の適したコンピューター装置が含まれる。
マスターワーカーコンピューターシステム206は、さらに、ユーザ・インタフェース330を備える。ユーザ・インタフェース330には、1つ以上の入力装置332および1つ以上の出力装置、図に示すディスプレイ334が含まれる。代表的な入力装置には、キーボード、マウス、ポインター装置、トラックボール、ボタン、スイッチ、タッチスクリーン、およびオペレータにマスターワーカーコンピューターシステム206の入力を提供するのに適した他の装置が含まれる。代表的な出力装置には、ディスプレイ、タッチスクリーン、プリンターをおよびマスターワーカーコンピューターシステム206のオペレータに情報を提供するのに適した他の装置が含まれる。
図に示す実施形態では、マスターワーカーコンピューターシステム206は単一システムである。別の実施形態では、マスターワーカーコンピューターシステム206は、互い送受信する2つ以上のシステムで構成する。図に示す実施形態では、マスターワーカーコンピューターシステム206は、制御部320および記憶部322を備え、制御部320が同時に作動する1つ以上のプロセッサーであってもよく、記憶部322は制御部320がアクセス可能な複数の記憶部であってもよい。制御部320の1つ以上のプロセッサーに対する記憶部322は、ソフトウェアの実行に関連する記憶部およびデータの格納に関連する記憶部が設けられるが、これに限られるものではない。記憶部322には、コンピューター読み取り可能な媒体が含まれる。コンピューター読み取り可能な媒体は、制御部320の1つ以上のプロセッサーからアクセス可能な媒体であり、揮発性および不揮発性の媒体が含まれる。さらに、コンピューター読み取り可能な媒体は、取り外し可能であっても、取外し不可能な媒体であっても、それらのいずれかまたは両方であってもよい。一例として、コンピューター読み取り可能な媒体は、これに限定するものではないが、RAM、ROM、EEPROM、フラッシュ・メモリ、または他の記憶技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学磁気ディスク装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用され、制御部320がアクセス可能な他のあらゆる非一時的な媒体も含む。
記憶部322には、さらに、ビデオ分割ソフトウェア302、ビデオ連結ソフトウェア304、ビデオエンコードソフトウェア310、分割部分の数308、およびワーカーコンピューターシステムの割り当てインデックス300が設けられる。ビデオ分割ソフトウェア302は、マスターワーカーコンピューターシステム206と残りのワーカーコンピューターシステム202で処理するために、通常は、等しい時間間隔でビデオファイル110を分割する。一実施形態では、ビデオ分割ソフトウェア302は、ある特定の分割部分に対応してそれぞれ別のビデオクリップを生成する。一例では、ビデオ管理システムは、各分割部分に対する時間窓(クリップの2分と4分の間の間隔)を決定し、分割したビデオクリップを生成するビデオ分割ソフトウェア302にこれらの時間間隔を与える。代表的なビデオ分割ソフトウェア302は、http://www.ffmpeg.orgにオンラインでFFmpeg.orgから提供されるFfmpegが利用可能である。ビデオ連結ソフトウェア304は、ビデオファイルにビデオ部分を連結する。代表的なビデオ連結ソフトウェア304は、http://www.flvsoft.comにオンラインでFLSoftから提供されるFlvbindが利用可能である。ビデオエンコードソフトウェア310は、ビデオファイル110の処理に関するものである。制御部320は、情報ファイル116で指定された目標のエンコードフォーマットに、ビデオファイル110の少なくとも1つの分割部分をエンコードする。代表的なビデオエンコードソフトウェア310は、http://www.videolan.orgにオンラインでVideoLANから提供されるx264が利用可能である。ビデオ分割ソフトウェア302、ビデオ連結ソフトウェア304、およびビデオエンコードソフトウェア310が、別のソフトウエアモジュールとして示されているが、ビデオ分割ソフトウェア302、ビデオ連結ソフトウェア304、およびビデオエンコードソフトウェア310の1つ以上が、一緒のソフトウエアモジュールとして結合されていてもよい。ビデオ分割ソフトウェア302、ビデオ連結ソフトウェア304、およびビデオエンコードソフトウェア310が、ソフトウェアとして説明するが、ビデオ分割ソフトウェア302、ビデオ連結ソフトウェア304、およびビデオエンコードソフトウェア310の1つ以上を、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。
ビデオファイル110を分割するビデオエンコード管理コンピューターシステム200が起動するワーカーコンピューターシステム202の数は、分割部分の数308が対応する。マスターワーカーコンピューターシステム206は、分割部分の数308に基づいて、ビデオ分割ソフトウェア302でビデオファイル110を分割部分306に分割する。一実施形態では、分割部分306はビデオクリップであり、ビデオクリップのそれぞれが個々の時間間隔に対応する。この実施形態では、マスターコンピューターシステム206が、ワーカーコンピューターシステム202のそれぞれが各分割部分306を取り出して、ビデオファイル110の各分割部分306を処理するように指示する。マスターワーカーコンピューターシステム206は、各分割部分と各ワーカーコンピューターシステム202のインデックス300を格納する(図12参照)。このようにして、マスターワーカーコンピューターシステム206は、処理済みビデオファイル112を生成するように命令したワーカーコンピューターシステム202から送り返された処理済み分割部分316を受信することができる。
図5に、代表的なワーカーコンピューターシステム202を示す。ワーカーコンピューターシステム202は、制御部350を備える。制御部350は、記憶部352へアクセスすることができる。記憶部352は制御部350によって実行され、ワーカーコンピューターシステム202がネットワーク104または他のネットワーク上の他のコンピューター装置と通信を行う通信ソフトウェア354を備えている。通信ソフトウェア354は、図にソフトウェアとして示されているが、ソフトウェア、ハードウェア、またはそれらの組合せとして組み込まれてもよい。ワーカーコンピューターシステム202は、さらに、マスターワーカーコンピューターシステム206から受信して記憶部352に格納する1つの分割部分306を有する。代表的なワーカーコンピューターシステム202には、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、携帯電話、スマートフォン、および他の適切なコンピューター装置が含まれる。
ワーカーコンピューターシステム202には、さらにユーザ・インタフェース360が設けられる。ユーザ・インタフェース360には、1つ以上の入力装置362および1つ以上の出力装置、図に示すディスプレイ364が含まれる。代表的な入力装置には、キーボード、マウス、ポインター装置、トラックボール、ボタン、スイッチ、タッチスクリーン、およびオペレータにワーカーコンピューターシステム202の入力を提供することが可能な他の適切な装置が含まれる。代表的な出力装置には、ディスプレイ、タッチスクリーン、プリンターを、およびワーカーコンピューターシステム202のオペレータに情報を提供する他の適切な装置が含まれる。
図に示めす実施形態において、ワーカーコンピューターシステム202は、単一のシステムである。別の実施形態では、ワーカーコンピューターシステム202には互いに通信する1つ以上のシステムで構成する。図に示す実施形態では、ワーカーコンピューターシステム202は、制御部350と記憶部352を備え、制御部350が同時に動作する1以上のプロセッサーであってもよく、記憶部352が制御部350からのアクセス可能な複数の記憶部であってもよい。制御部350の1以上のプロセッサーに対する記憶部352として、ソフトウェアの実行に関連する記憶部およびデータの格納に関連する記憶部が設けられるが、これに限定するものではない。記憶部352には、コンピューター読み取り可能な媒体が含まれる。コンピューター読み取り可能な媒体には、制御部350の1つ以上のプロセッサーからアクセス可能なあらゆる媒体が含まれ、揮発性の媒体および不揮発性の媒体が含まれる。さらに、コンピューター読み取り可能な媒体は、取り外し可能であっても、取外し不可能な媒体であっても、それらのいずれかまたは両方であってもよい。一例として、コンピューター読み取り可能な媒体には、これに限定するものではないが、RAM、ROM、EEPROM、フラッシュ・メモリ、または他の記憶技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学磁気ディスク装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置が含まれ、あるいは、所望の情報を格納するのに使用され、かつ、制御部120がアクセス可能な他のあらゆる非一時的な媒体であってもよい。
記憶部352には、さらにビデオエンコードソフトウェア310が設けられる。ビデオエンコードソフトウェア310は、割り当てられた分割部分306の処理に関するものである。制御部350は、目標のエンコードフォーマットに、ビデオファイル110の割り当てられた分割部分306をエンコードして、処理済み分割部分316を生成する。
処理済み分割部分316の全てが、マスターワーカーコンピューターシステム206で受信されると、マスターワーカーコンピューターシステム206は処理された分割部分316を連結して処理済みビデオファイル112を生成する(図12を参照)。処理済みビデオファイル112は、要求したクライアントコンピューターシステム106に送り返すか、または、クライアントコンピューターシステム106から指示された別のコンピューター装置に送信する。
図6〜10に、ビデオエンコードシステム100の典型的な実施形態が示されている。図に示された実施形態では、オンデマンドのエンコードシステムとして、コンピューター資源を提供するために、アマゾンウェッブサービスが提供するオンライン上のhttp://aws.amazon.comに置かれるAmazon Elastic Compute Cloud(「Amazon EC2」)サービスが利用可能である。説明された実施形態の総合システム400が、図6に示される。
また、メッセージシステム402は、クライアントコンピューターシステム106とビデオエンコードシステム100間の通信のために使用される。図に示された実施形態では、Amazon’s Simple Queuing Service (「Amazon SQS」)が、メッセージングに用いられる。待ち行列システムは、クライアントコンピューターシステム106とビデオエンコードシステム100のクラウド内のコンピューターシステムの間でメッセージを通信できるようにする。例えば、インスタンスとワーカーコンピューターシステム202とマスターワーカーコンピューターシステム206との間、および、クラウド内のシステムとクライアントコンピューターシステム106との間でファイルを共有するファイルホスティングシステム404が提供される。図に示された実施形態では、アマゾンのS3ファイルシステム(「アマゾンS3」)がファイルを転送するために使用される。
エンコード処理は、コンテンツホスト(以下、「出版業者」という)が、自分のサーバー(クライアントコンピューターシステム106)の指定されたディレクトリー408にビデオファイル410をコピーすることから開始される。出版業者は、ビデオファイル410に加えて、所望のエンコードを行うときの解像度およびビットレートを指定している情報ファイル416を提供する。複数の目的とする解像度およびビットレートが1つの情報ファイル416の内で指定されるようにしてもよい。
次に、出版業者のサーバー(クライアントコンピューターシステム106)で稼動するローカルサービス(ファイルホスティングシステム404)によって、ファイル(ビデオファイル410および情報ファイル416の両方)がクラウドベースのファイルシステムに転送される。図に示された実施形態では、アマゾンS3が使用されている。
出版業者のローカルサービス(ファイルホスティングシステム404)は、特定のファイルがアップロードされていることを示すメッセージをメッセージシステム402のメッセージ待ち行列に置く。図に示された実施形態では、アマゾンSQSが用いられる。アマゾンSQSは、双方向でいつでも利用できるサービスであり、同時に多くのクライアントコンピューターシステム106からアクセス可能である。クリップマネージャーまたはビデオエンコード管理ソフトウェア210(ビデオエンコード管理コンピューターシステム200)、これはクラウドベースのインスタンス上で動くサービスであり、待ち行列にアクセスして、エンコードするファイに関する特定のメッセージを読み込む。図7に示すように、ビデオエンコード管理コンピューターシステム200は、メッセージシステム402を介して多数のクライアントコンピューターシステム106と通信することができる。通信ベースのアマゾンSQSは、クリップマネージャーに利用可能な資源があれば、クリップマネージャーがアマゾンSQSに単にアクセスすれば、クリップマネージャーはコンピューターの負荷が重いためにメッセージを逃すことはないことが保証される。ビデオファイル410および関連する情報ファイル416は、アクセスの準備ができたファイルホスティングシステム404上に存在する。
クリップマネージャーは、エンコードする新しいファイルがあることを示すメッセージ待ち行列内のメッセージにアクセスすると、ファイルホスティングシステム404のビデオファイル410および情報ファイル416にアクセスして、エンコードを完了するために必要な資源を決定する。クリップマネージャーは、ビデオクリップを1つのインスタンスを用いて処理してもよいし、多数のインスタンスの間でその仕事を分けてもよい。図に示された実施形態では、1つのインスタンスに、一定の計算負荷(すなわち、特定の長さの時間に対して特定の解像度のビデオクリップ)が与えられる。解像度に応じて、ビデオファイルは固定の長さのパートごとに処理される。この部分の長さが、エンコードする目標の解像度の1つの処理(function)になる。例えば、2時間のビデオクリップは、2分のパートに分割され、60個のインスタンスで並行して処理するようにしてもよい。但し、90秒のクリップは、1つのインスタンスで処理されるであろう。インスタンスは、オンデマンドでプロクラから起動される。クラウドベースのシステムは、要求された資源を供給し、使用されないインスタンスはプログラムからシャットダウンされる。
ワーカーコンピューターシステム202およびマスターワーカーコンピューターシステム206等のある特定のビデオクリップをエンコードするために起動されるインスタンスに対して、「ワーカー」インスタンスという用語を用いる。ワーカーインスタンスは、ファイルホスティングシステム404内のファイルのポインターが与えられ、アマゾンS3は、目標の解像度とビットレートとファイルのパートに関する情報に従ってエンコードしなければならない(例えば、2分から4分間の間隔のクリップ)。ワーカーは、ファイルホスティングシステム404(アマゾンS3)のビデオファイル410にアクセスする。既知の可用性が高いファイルホスティングシステム404(アマゾンS3)は、通信回線が混雑しているために性能が低下することなく多くのワーカーが同じファイルに同時にアクセスすることができる。ワーカーは、指定された時間間隔で標準的なフォーマットにデコードする。図に示された実施形態では、フォーマットは、圧縮されていない.yuvファイルである。多くのパブリックドメインプログラムで、広範囲の標準的なフォーマットにデコードすることができる。続いて、.yuvファイルは、エンコードする所望の解像度にサイズ調整される。そして、エンコーダーが、所望のフォーマットにファイルをエンコードする。一実施形態では、NY 10022、ニューヨーク、パークアベニュー405 にあるLyrical Labsから提供される H.264のエンコーダーは、.flvファイルを入力してエンコードし、.flv(フラッシュビデオファイル)ファイルまたは.mp4(MPEGオーディオストリーム)ファイルのいずれかのフォーマットまたは両方のフォーマットで出力する。エンコーダーは商業的に関心がもたれる解像度とビットレートの全範囲に対応する機能がある。結果として、エンコード済みファイルは図9に示すようにアマゾンS3の待ち行列に再び置かれる。もう一つの代表的なビデオエンコーダーはhttp://www.videolan.orgにオンラインで置かれるVideoLANから提供されるx264が利用可能である。
エンコードプロセスが複数パートまたは分割部分に分けられると、1つのワーカー(マスターワーカーコンピューターシステム206)は、S3からエンコードされた部分を集めて、それらを連結して1つのエンコード済みファイル(処理済みビデオファイル112)にする。パブリックドメインの多くのプログラムで、このビットストリームを連結することができる。特定の実施形態では、FLVBindが用いられる。
エンコード済みファイルがアマゾンS3に置かれれば、ワーカー(マスターワーカーコンピューターシステム206)は、仕事が完了したことを、クリップマネージャー(ビデオエンコード管理コンピューターシステム200)に通知する。それ以上の仕事がなければクリップマネージャー(ビデオエンコード管理コンピューターシステム200)は、仕事がなくなったワーカーに、新しい仕事を割り当てる、またはインスタンスを終了する。
クリップマネージャー(ビデオエンコード管理コンピューターシステム200)は、特定のエンコードジョブが完了したことを示すメッセージをメッセージシステム402のメッセージ待ち行列に置くとともに、エンコード済みファイルへのポインターをファイルホスティングシステム404(アマゾンS3)上に置く。出版業者のサーバーで動いているローカルサービスは、メッセージ待ち行列にアクセスして、エンコード済みファイル(処理済みビデオファイル112)をダウンロードする。多数あるエンコード済みファイルは、一つの入力ファイルから作られた結果である。このプロセスは図10に示される。
図に示す実施形態では、出版業者は、ピーク時の利用をターゲットにして、広いエンコーダー用の場所(farm)を用意する必要はない。顧客の需要へ対応してクラウドベースのシステムのスケールを決めるので、顧客の費用は、実際に使用されたコンピューター資源に関するだけである。前もってコストがかかることがほとんどないため、出版業者のコストはビジネスに対応したものとなり、経済的な強みを提供する。
この発明では、代表的な設計について説明を行ったが、本発明は、この開示された意図とその範囲内でさらに変更されたものであってもよい。従ってこの出願は、一般的な原則に応じて発明を変形させ、利用し、または適応したあらゆる範囲に及ぶものである。さらに、この出願は、この発明の分野の当業者に知られまたは通常の行われている範囲から生じる現在の開示の範囲から離れることがない範囲に及ぶものである。

Claims (20)

  1. 複数のワーカーコンピューター資源を使って、ビデオファイルを処理する方法であって、
    前記ビデオファイルを受信するステップと、
    前記ビデオファイルのための所望の目標のエンコードフォーマットを受信するステップと、
    前記ビデオファイルを処理して処理済みビデオファイルを生成することに関連する負荷を決定するステップであって、当該負荷が、前記ビデオファイル、前記処理済みビデオファイルの前記受信した所望の目標のエンコードフオーマットにおける所望のフレームレート、前記ビデオファイルの持続時間、及び、前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットにおける列の数と前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットにおける行の数との積に前記複数のワーカーコンピューター資源の速度に基づいて決定される冪数を乗じたもの、に基づいて、決定されるものであるステップと、
    前記決定された負荷と、前記複数のワーカーコンピューター資源の各々のワーカーコンピューター資源の負荷容量とに応じて、前記ビデオファイルが分割される分割部分の数を決定するステップと、
    前記ビデオファイルを、前記数の複数の分割部分に分割するステップであって、前記複数の分割部分の各々が、前記ビデオファイルの時間間隔に対応するものであるステップ、
    前記複数のワーカーコンピューター資源を用いて並列に前記ビデオファイルの前記複数の分割部分を処理して、複数の処理済み分割部分を生成するステップと、
    前記複数の処理済み分割部分に基づいて、前記処理済みビデオファイルを提供するステップであって、当該処理済みビデオファイルが前記所望の目標のエンコードフォーマットでエンコードされているものであるステップと、
    を備える方法。
  2. 前記複数の分割部分が、複数の分けられたビデオクリップであることを特徴とする請求項1記載の方法。
  3. 前記複数のワーカーコンピューター資源の数は、拡張可能であることを特徴とする請求項1記載の方法。
  4. 前記複数のワーカーコンピューター資源は、クラウドコンピューターのプラットフォームの一部であることを特徴とする請求項1記載の方法。
  5. ビデオエンコード管理コンピューターシステムと、
    前記ビデオエンコード管理コンピューターシステムによって、動的にアクティブおよび非アクティブにされる複数のワーカーコンピューター資源と、
    を備えた拡張可能なコンピュータープラットフォームを備えた、ビデオファイルをエンコードするシステムであって、
    前記ビデオエンコード管理コンピューターシステムが、
    (1) 所望のエンコードフォーマットで前記ビデオファイルをエンコードして処理済みビデオファイルを生成する指示を受信し、
    (2) 前記ビデオファイルの処理に関連する負荷および複数のワーカーコンピューターシステムの各々のワーカーコンピューターシステムの負荷容量に基づいて、前記ビデオファイルをエンコードするために必要な、前記複数のワーカーコンピューター資源のうちのワーカーコンピューター資源の第1の数を決定し、
    (3) 前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源に指示して、前記所望のエンコードフォーマットで前記ビデオファイルをエンコードする、
    システムであって、前記負荷が、前記ビデオファイル、前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットにおける所望のフレームレート、前記ビデオファイルの持続時間、前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットにおける列の数と前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットの行の数との積に前記複数のワーカーコンピューター資源の速度に基づいて決定される冪数を乗じたもの、に基づいて決定されるものであり、
    前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源のうちの第1のワーカーコンピューター資源が、(1)前記ワーカーコンピューター資源の前記第1の数に等しい数の分割部分に前記ビデオファイルを分割し、(2)前記所望のフォーマットに並列にエンコードするために、前記複数の分割部分の各々を、対応する、前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源の各々に割り当てること、および、
    前記複数の分割部分の各々の分割部分が、前記ビデオファイルの時間間隔に対応していること、
    を特徴とするシステム。
  6. 前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源の各々が、前記所望のエンコードフォーマットで前記ビデオファイルの分割部分の各々を並列にエンコードすることを特徴とする請求項5記載のシステム。
  7. 前記複数の分割部分は、複数の分けられたビデオクリップであることを特徴とする請求項5記載のシステム。
  8. 前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源のうちの前記第1のワーカーコンピューター資源が、前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源の残りから、複数の処理済みビデオファイルを受信することを特徴とする請求項5記載のシステム。
  9. 前記複数のワーカーコンピューター資源のうちの前記第1の数のワーカーコンピューター資源のうちの前記第1のワーカーコンピューター資源が、前記複数の処理済みビデオの分割部分に基づいて、前記所望のエンコードフォーマットで前記処理済みビデオファイルを生成することを特徴とする請求項8記載のシステム。
  10. ビデオファイルをエンコードするためのシステムにおいて、
    前記ビデオファイルに基づいて処理シーケンスを実行するビデオエンコード管理制御部、
    を備え、
    前記処理シーケンスが、
    前記ビデオファイルの所望のエンコードフォーマットを受信するステップと、
    処理済みビデオファイルを生成するための負荷を決定するステップであって、当該負荷が、前記ビデオファイル、前記処理済みビデオファイルの前記所望の目標のエンコードフオーマットにおける所望のフレームレート、及び、前記所望のエンコードフオーマットにおける列の数と前記所望のエンコードフオーマットにおける行の数との積に第1の数のコンピューター資源の速度に基づいて決定される冪数を乗じたもの、に基づいて決定するステップと、
    前記負荷とコンピューター資源の各々の負荷容量に基づいて、前記処理済みビデオファイルの生成に必要なコンピューター資源の前記第1の数を決定するステップと、
    前記第1の数のコンピューター資源のうちの第1のコンピューター資源をマスターコンピューター資源として割り当てるステップと、
    前記第1の数のコンピューター資源で並列にエンコードするために、ビデオファイルを複数の分割部分に分割するように前記マスターコンピューター資源に指示するステップであって、前記分割部分の数が前記コンピューター資源の第1の数と等しく、前記複数の分割部分の各々の分割部分が、前記ビデオファイルの時間間隔に対応するものである、ステップと、
    を含むことを特徴とするシステム。
  11. 前記処理シーケンスが、前記第1の数のコンピューター資源を起動するステップをさらに備えることを特徴とする請求項10記載のシステム。
  12. 前記第1の数のコンピューター資源は、拡張可能なコンピューターシステムの一部であり、プログラムによって起動されることを特徴とする請求項11記載のシステム。
  13. ビデオファイルを処理する方法であって、
    前記ビデオファイルを受信するステップと、
    前記ビデオファイルの所望のエンコードフォーマットを受信するステップと、
    前記ビデオファイルおよび前記所望のエンコードフォーマットに基づいて、処理済みビデオファイルを生成する負荷を決定するステップであって、当該負荷が、前記ビデオファイル、前記処理済みビデオファイルの前記所望のエンコードフオーマットの所望のフレームレート、前記ビデオファイルの持続時間、前記処理済みビデオファイルの前記所望のエンコードフオーマットの列の数と前記処理済みビデオファイルの前記所望のエンコードフオーマットの行の数との積に第1の数のコンピューター資源の速度に基づいて決定される冪数を乗じたもの、に基づいて判断されるものであるステップ、
    前記負荷とコンピューター資源の各々の負荷容量に基づいて、前記処理済みビデオファイルの生成に必要なコンピューター資源の前記第1の数を決定するステップ、
    前記第1の数のコンピューター資源のうちの第1のコンピューター資源をマスターコンピューター資源として割り当てるステップと、
    前記第1の数のコンピューター資源で並列にエンコードするために、前記ビデオファイルを複数の分割部分に分割するようにマスターコンピューター資源に指示するステップであって、前記分割部分の数が前記第1の数と等しく、前記複数の分割部分の各々の分割部分が、前記ビデオファイルの時間間隔に対応するものである、ステップ、を備えることを特徴とする方法。
  14. 前記第1の数のコンピューター資源を起動するステップをさらに備えることを特徴とする請求項13記載の方法。
  15. 前記第1の数のコンピューター資源は、拡張可能なコンピューターシステムの一部であり、プログラによって起動されることを特徴とする請求項14記載の方法。
  16. 前記マスターコンピューター資源からの前記処理済みビデオファイルが完成した通知を受信するステップをさらに備えることを特徴とする請求項13記載の方法。
  17. 前記冪数が、1.2以上2.5以下であることを特徴とする請求項13記載の方法。
  18. 所望の目標エンコードフォーマットに基づいてビデオファイルの処理においてコンピューター資源によって実行される複数の命令を含む非一時的なコンピューター読み取り可能な媒体であって、前記複数の命令が、
    前記ビデオファイルと処理済みビデオファイルの所望のエンコードフォーマットに基づいて、当該処理済みビデオファイルを生成する負荷を決定する命令であって、当該負荷が、前記処理済みビデオファイルの前記所望の目標エンコードフオーマットの所望のフレームレート、及び、前記処理済みビデオファイルの前記所望の目標エンコードフオーマットにおける列の数と前記処理済みビデオファイルの前記所望のエンコードフオーマットにおける行の数との積に第1の数のコンピューター資源の速度に基づいて決定される冪数を乗じたもの、に基づいて判断されるものである命令、と、
    前記負荷とコンピューター資源の各々の負荷容量に基づいて、前記処理済みビデオファイルの生成に必要なコンピューター資源の前記第1の数を決定する命令と、
    前記第1の数のコンピューター資源のうちの第1のコンピューター資源をマスターコンピューター資源として割り当てる命令と、
    前記第1の数のコンピューター資源で並列にエンコードするために、ビデオファイルを複数の分割部分に分割するように前記マスターコンピューター資源に指示する命令であって、前記分割部分の数が前記第1の数と等しく、前記複数の分割部分の各々の分割部分が、前記ビデオファイルの時間間隔に対応するものである、ことを特徴とするシステム。
  19. 前記コンピューター資源が、クラウドコンピューターの一部であることを特徴とする請求項18記載のシステム。
  20. ビデオファイルをエンコードするためのシステムであって、当該システムが、
    ビデオエンコード管理コンピューターシステムと、前記ビデオエンコード管理コンピューターシステムによって動的にアクティブおよび非アクティブにされるように構成された複数のワーカーコンピューターシステムと、
    を有するクラウドコンピューターのプラットフォームを備え、
    前記ビデオエンコード管理コンピューターシステムは、
    (1)所望のエンコードフォーマットで前記ビデオファイルをエンコードして処理済みビデオファイルを生成する命令を受信し、
    (2)前記処理済みビデオファイルの前記所望の目標のエンコードフォーマットで前記ビデオファイルをエンコードすることに関連した負荷を決定し、
    (3)前記負荷と前記ワーカーコンピューターシステムの各々の負荷容量に基づいて、前記ビデオファイルをエンコードするために必要なワーカーコンピューターシステムの数を決定し、
    (4)前記ビデオファイルをエンコードするために前記数のワーカーコンピューターシステムをアクティブにし、
    (5)前記数のアクティブにされたワーカーコンピューターシステムのうちの1台に指示して、前記アクティブにされたワーカーコンピューターシステムの前記数に従って、前記ビデオファイルを複数の分割部分に分割する、システムであって、
    前記複数の分割部分の各々は、前記ビデオファイルの時間間隔に対応しており、
    前記ビデオエンコード管理システムが、前記負荷が、 前記処理済みビデオファイルの前記所望の目標のエンコードフォーマット、前記ビデオファイルの持続時間、及び、前記処理済みビデオファイルの前記所望の目標のエンコードフォーマットの列の数と前記処理済みビデオファイルの前記所望の目標のエンコードフォーマットの行の数との積に前記複数のワーカーコンピューターシステムの速度に基づいて決定される冪数を乗じたもの、に基づいて決定する、ことを特徴とするシステム。
JP2017112675A 2011-03-29 2017-06-07 ビデオエンコードシステムおよび方法 Pending JP2017201791A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161468872P 2011-03-29 2011-03-29
US61/468,872 2011-03-29

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014502643A Division JP2014515895A (ja) 2011-03-29 2012-03-23 ビデオエンコードシステムおよび方法

Publications (1)

Publication Number Publication Date
JP2017201791A true JP2017201791A (ja) 2017-11-09

Family

ID=46927244

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014502643A Pending JP2014515895A (ja) 2011-03-29 2012-03-23 ビデオエンコードシステムおよび方法
JP2017112675A Pending JP2017201791A (ja) 2011-03-29 2017-06-07 ビデオエンコードシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014502643A Pending JP2014515895A (ja) 2011-03-29 2012-03-23 ビデオエンコードシステムおよび方法

Country Status (4)

Country Link
US (1) US9712835B2 (ja)
EP (1) EP2692131A4 (ja)
JP (2) JP2014515895A (ja)
WO (1) WO2012135019A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650880A (zh) * 2020-11-30 2021-04-13 重庆紫光华山智安科技有限公司 视频分析方法、装置、计算机设备及存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103389986B (zh) * 2012-05-09 2016-08-24 阿里巴巴集团控股有限公司 存储、查找会话Session信息的方法、装置及系统
CN103581698B (zh) * 2012-07-31 2017-05-24 联想(北京)有限公司 终端设备以及视频数据发布方法
US9965021B2 (en) * 2014-06-23 2018-05-08 Mediatek, Inc. Method and system providing power management for multimedia processing
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10506235B2 (en) * 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US9860569B1 (en) * 2015-10-05 2018-01-02 Amazon Technologies, Inc. Video file processing
CN110225371B (zh) * 2016-01-27 2020-11-06 上海交通大学 一种基于媒体自身属性以支持空间分块的存储与传输方法
JP2017143475A (ja) * 2016-02-12 2017-08-17 日本放送協会 配信管理装置、受信装置、分散処理システム、及びプログラム
US10555035B2 (en) * 2017-06-09 2020-02-04 Disney Enterprises, Inc. High-speed parallel engine for processing file-based high-resolution images
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
CN109828776B (zh) * 2018-12-06 2022-05-20 珠海西山居互动娱乐科技有限公司 一种查找缺失资源并补充的方法及系统
FR3098672B1 (fr) * 2019-07-09 2022-01-21 Quortex système de distribution d’un contenu audiovisuel

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022768A (ja) * 2006-07-20 2008-02-07 Toyobo Co Ltd ウリカーゼの安定性を向上させる方法、および安定性の向上した改変型ウリカーゼ
US20080140990A1 (en) * 2006-12-06 2008-06-12 Kabushiki Kaisha Toshiba Accelerator, Information Processing Apparatus and Information Processing Method
JP2008165746A (ja) * 2006-12-06 2008-07-17 Toshiba Corp アクセラレータ、情報処理装置及び情報処理方法
WO2008153525A1 (en) * 2007-06-14 2008-12-18 Thomson Licensing A system and method for time optimized encoding

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115799A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd 並列処理システム
US6675189B2 (en) * 1998-05-28 2004-01-06 Hewlett-Packard Development Company, L.P. System for learning and applying integrated task and data parallel strategies in dynamic applications
JP4427827B2 (ja) 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US6873877B1 (en) * 1999-02-11 2005-03-29 Loudeye Corp. Distributed production system for digitally encoding information
AU2988800A (en) * 1999-02-11 2000-08-29 Loudeye Technologies, Inc. Distributed production system for digitally encoding information
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
JP4196640B2 (ja) * 2002-10-21 2008-12-17 株式会社日立製作所 データ変換方法
JP3969649B2 (ja) * 2002-11-06 2007-09-05 株式会社エヌ・ティ・ティ・データ 映像データ処理システム
US7593580B2 (en) * 2003-07-14 2009-09-22 Texas Instruments Incorporated Video encoding using parallel processors
US7324592B2 (en) * 2003-08-13 2008-01-29 Mitsubishi Electric Research Laboratories, Inc. Resource-constrained encoding of multiple videos
JP2006067483A (ja) * 2004-08-30 2006-03-09 Sanyo Electric Co Ltd 映像通信方法及び映像通信装置
US20060188014A1 (en) * 2005-02-23 2006-08-24 Civanlar M R Video coding and adaptation by semantics-driven resolution control for transport and storage
US20070067485A1 (en) * 2005-09-20 2007-03-22 Leonid Stotland Method and system for managing video networks
JP2008067316A (ja) * 2006-09-11 2008-03-21 Olympus Corp 画像配信システム、サーバ及びクライアント端末
US8184692B2 (en) * 2006-09-25 2012-05-22 Framecaster, Inc. Distributed and automated video encoding and delivery system
US7743161B2 (en) * 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
DE112008004279A5 (de) * 2007-02-16 2015-04-23 Autonetworks Technologies, Ltd. In ein Fahrzeug eingebautes Videokommunikationssystem und in ein Fahrzeug eingebautes Bildaufnahmesystem
JP4839331B2 (ja) * 2008-03-18 2011-12-21 富士通株式会社 符号化処理装置、符号化処理プログラム、符号化処理方法および符号化処理分散システム
JP5088215B2 (ja) * 2008-04-11 2012-12-05 ソニー株式会社 情報処理システム及び情報処理方法、並びにプログラム
US8711154B2 (en) * 2008-06-09 2014-04-29 Freescale Semiconductor, Inc. System and method for parallel video processing in multicore devices
US8446452B2 (en) * 2008-11-07 2013-05-21 Magor Communications Corporation Video rate adaptation for congestion control
US20100223649A1 (en) * 2009-03-02 2010-09-02 Jason Robert Suitts Automated Assessment of Digital Video Encodings
JP2012525076A (ja) * 2009-04-24 2012-10-18 デルタ・ヴィディオ・インコーポレイテッド デジタルビデオ配信システムにおける即時マルチチャネルビデオコンテンツブラウジングのためのシステム、方法、およびコンピュータ可読媒体
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
KR101276340B1 (ko) * 2009-09-22 2013-06-18 한국전자통신연구원 병렬 처리 시스템 및 그 방법
US8499088B1 (en) * 2010-01-15 2013-07-30 Sprint Communications Company L.P. Parallel multiple format downloads
US9762898B2 (en) * 2010-02-01 2017-09-12 Kelly Y Kishore Method and system for parallelizing video compression
US8918820B2 (en) * 2010-05-27 2014-12-23 Istreamplanet Co. Video workflow automation platform
US8705616B2 (en) * 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
WO2012018786A1 (en) * 2010-08-02 2012-02-09 Ncomputing Inc. System and method for efficiently streaming digital video
US8837601B2 (en) * 2010-12-10 2014-09-16 Netflix, Inc. Parallel video encoding based on complexity analysis
US20120246158A1 (en) * 2011-03-25 2012-09-27 Microsoft Corporation Co-range partition for query plan optimization and data-parallel programming model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022768A (ja) * 2006-07-20 2008-02-07 Toyobo Co Ltd ウリカーゼの安定性を向上させる方法、および安定性の向上した改変型ウリカーゼ
US20080140990A1 (en) * 2006-12-06 2008-06-12 Kabushiki Kaisha Toshiba Accelerator, Information Processing Apparatus and Information Processing Method
JP2008165746A (ja) * 2006-12-06 2008-07-17 Toshiba Corp アクセラレータ、情報処理装置及び情報処理方法
WO2008153525A1 (en) * 2007-06-14 2008-12-18 Thomson Licensing A system and method for time optimized encoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三部 靖夫 他3名: "分散処理による高速ビデオトランスコーディングの検討", 映像情報メディア学会技術報告 2002年11月開催分, vol. Vol. 26 No.76, JPN6018029501, 21 November 2002 (2002-11-21), pages pp. 13-18 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650880A (zh) * 2020-11-30 2021-04-13 重庆紫光华山智安科技有限公司 视频分析方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2012135019A8 (en) 2014-03-13
WO2012135019A3 (en) 2014-05-01
US20120250755A1 (en) 2012-10-04
JP2014515895A (ja) 2014-07-03
EP2692131A4 (en) 2015-10-07
US9712835B2 (en) 2017-07-18
EP2692131A2 (en) 2014-02-05
WO2012135019A2 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
JP2017201791A (ja) ビデオエンコードシステムおよび方法
JP7127010B2 (ja) リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム
US10042663B2 (en) Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
US9407944B1 (en) Resource allocation optimization for cloud-based video processing
US11329928B2 (en) Dynamic allocation of network resources using external inputs
EP2863306A2 (en) Predictive auto scaling engine
KR102232900B1 (ko) 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10531153B2 (en) Cognitive image obstruction
TW201445985A (zh) 用於對一內容遞送網路中之推動及拉動內容請求指派頻寬之方法、設備及電腦程式產品
US20180039516A1 (en) Heterogeneous auto-scaling using homogeneous auto-scaling groups
CN110008050B (zh) 用于处理信息的方法和装置
US9929983B2 (en) Autonomous agent system
US11122332B2 (en) Selective video watching by analyzing user behavior and video content
US10375437B2 (en) Signal strength bookmarking for media content
JP2014534485A (ja) ネットワーク通信とコスト意識
CN104349177A (zh) 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统
US11934649B2 (en) Scrollable real-time presentation document twin
US20170264923A1 (en) Dynamic manifest for content programming
US11528516B2 (en) Distributed transcoding method and distributed transcoding system
Panarello et al. A big video data transcoding service for social media over federated clouds
US10237364B2 (en) Resource usage anonymization
JP6385474B2 (ja) クラウドストリーミング基盤放送連動型サービスシステム、放送連動型サービスクライアント装置、トリガーコンテンツ提供サーバー及びこれを利用した方法
US10666954B2 (en) Audio and video multimedia modification and presentation
US11240570B1 (en) Object-based video loading
US11552914B2 (en) Filtering group messages

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190403