(57)【要約】【課題】映像データのフォーマット変換処理において全体的な処理時間を短縮して処理効率を向上させる。【解決手段】サーバ１は、各トランスコーディングノード２２のトランスコーディング速度とデータ転送速度により、映像データの割当に関するスケジュールデータを生成し、映像データの分割及び転送指示をソースノード２１に送信する。ソースノード２１は、サーバ１からの指示に従って映像データをセグメントに分割して転送する。トランスコーディングノード２２は、受信したセグメントについて順次トランスコーディングを行い、一のセグメントの処理中に画質の劣化を検出すると、所定の通知をサーバ１に送信する。サーバ１は、画質劣化検出セグメントの分割及び転送の指示をソースノード２１に送信し、画質劣化検出セグメントの再エンコードに使用するエンコードパラメータを各トランスコーディングノード２２に送信する。【選択図】  図１
2004357002.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、映像データを複数のセグメントに分割する第１のコンピュータと、分割されたセグメントをトランスコーディングする複数の第２のコンピュータと、トランスコーディングされた各セグメントを結合する第３のコンピュータと、を備え、映像データのフォーマット変換を分散処理を用いて行う映像データフォーマット変換システムであって、
前記サーバは、
各前記第２のコンピュータのトランスコーディング速度とデータ転送速度に基づいて、各前記第２のコンピュータに対する映像データの割当に関するスケジュールを示すスケジュールデータを生成するスケジュール生成手段と、
前記割当スケジュールに基づく映像データの分割及び転送指示を前記第１のコンピュータに送信する分割転送指示手段と、を備え、
前記第１のコンピュータは、前記サーバからの指示に従って映像データを分割し、各前記第２のコンピュータに順次転送する手段を備え、
各前記第２のコンピュータは、
前記第１のコンピュータからセグメントを順次受信する手段と、
前記受信したセグメントのトランスコーディングを順次行う手段と、
セグメントのトランスコーディングにおいて所定の基準により画質の劣化を検出する画質劣化検出手段と、
一のセグメントのトランスコーディング処理中において、前記画質劣化検出手段により画質の劣化が検出されたとき、当該セグメントを特定する情報を含む画質劣化検出通知を前記サーバに送信する手段と、を備え、
前記サーバは、前記画質劣化検出通知の受信に応答して、画質の劣化が検出されたセグメントの分割及び転送の指示を前記第１のコンピュータに送信する再分割指示手段と、前記画質の劣化が検出されたセグメントの再エンコードに使用するエンコードパラメータを各トランスコーディングノードに送信する手段と、をさらに備える、
ことを特徴とする映像データフォーマット変換システム。
【請求項２】
前記サーバのスケジュール生成手段により作成されるスケジュールデータは、少なくとも、各前記第２のコンピュータにそれぞれ割り当てられる各セグメントの転送開始時刻とトランスコーディング開始予定時刻を示し、
前記サーバの再分割指示手段は、前記スケジュールデータを参照して、一のセグメントのトランスコーディング処理中に画質の劣化を検出した前記第２のコンピュータに対して、次のセグメントのトランスコーディング開始予定時刻までに処理可能なデータ長だけ前記一のセグメントを分割して再度転送することを前記第１のコンピュータに指示する手段と、前記一のセグメントの分割された残りの部分を全ての前記第２のコンピュータに再分配する処理を前記分割転送指示手段により指示された映像データの分割及び転送の処理の後に行う旨の指示を前記第１のコンピュータに送信する手段と、を備える、
ことを特徴とする請求項１に記載の映像データフォーマット変換システム。
【請求項３】
前記スケジュール作成手段は、
複数の第２のコンピュータに対する１巡目のデータ転送におけるスケジュールを作成するために、複数の第２のコンピュータのうちデータ転送の順番が最後のコンピュータに所定長のセグメントを割り当て、該セグメントのトランスコーディング時間と転送時間を算出し、前記算出したトランスコーディング時間と転送時間を加算した時間をデータ転送の順番が一つ前のコンピュータのトランスコーディング時間として決定し、前記決定されたトランスコーディング時間内にトランスコード可能なデータ長のデータの転送時間を算出し、前記決定されたトランスコーディング時間と該トランスコーディング時間に基づいて算出された前記転送時間を加算した時間をデータ転送の順番がさらに一つ前のコンピュータのトランスコーディング時間として決定する処理を繰り返すことにより、１巡目のデータ転送におけるデータ長とデータ転送時間と転送データのトランスコーディング時間を決定する手段と、
複数の第２のコンピュータに対するＮ巡目（Ｎは２以上の正数）のデータ転送におけるスケジュールを作成するために、（Ｎ−１）巡目のデータ転送において転送の順番が最後のコンピュータに転送されるセグメントのトランスコーディング時間を第２のコンピュータの総数で等分した時間をＮ巡目のデータ転送における各第２のコンピュータのデータ転送時間として決定し、決定した転送時間で送信可能なデータ長を第２のコンピュータのデータ転送速度から算出し、算出したデータ長と第２のコンピュータのトランスコーディング速度からＮ巡目のデータ転送における各第２のコンピュータのトランスコーディング時間を決定することにより、Ｎ巡目のデータ転送のデータ長とデータ転送時間と転送データのトランスコーディング時間を決定する手段と、を備える、
ことを特徴とする請求項１又は２に記載の映像データフォーマット変換システム。
【請求項４】
第１のコンピュータが映像データを複数のセグメントに分割し、複数の第２のコンピュータが前記分割されたセグメントのトランスコーディングを行い、第３のコンピュータが前記トランスコーディングされたセグメントを結合することにより、映像データのフォーマット変換を分散処理を用いて行う映像データフォーマット変換方法であって、
サーバが、各前記第２のコンピュータのトランスコーディング速度とデータ転送速度に基づいて、各前記第２のコンピュータに対する映像データの割当に関するスケジュールを示すスケジュールデータを生成するスケジュール生成ステップと、
前記サーバが、前記割当スケジュールに基づく映像データの分割及び転送指示を前記第１のコンピュータに送信する分割転送指示ステップと、
前記第１のコンピュータが、前記サーバからの指示に従って前記映像データを分割し、各前記第２のコンピュータに順次転送するステップと、
前記第２のコンピュータが、前記第１のコンピュータからセグメントを受信し、前記受信したセグメントのトランスコーディングを順次行うステップと、
前記第２のコンピュータが、一のセグメントのトランスコーディング処理中において、所定の基準により画質の劣化を検出した場合、当該セグメントを特定する情報を含む画質劣化検出通知を前記サーバに送信するステップと、
前記サーバが、前記画質劣化検出通知の受信に応答して、画質の劣化が検出されたセグメントの分割及び転送の指示を前記第１のコンピュータに送信する再分割指示ステップと、
前記サーバが、前記画質の劣化が検出されたセグメントの再エンコードに使用するエンコードパラメータを各トランスコーディングノードに送信するステップと、
を備えることを特徴とする映像データフォーマット変換方法。
【請求項５】
前記スケジュール生成ステップにより作成されるスケジュールデータは、少なくとも、各前記第２のコンピュータにそれぞれに割り当てられる各セグメントの転送開始時刻とトランスコーディング開始予定時刻を示し、
前記再分割指示ステップは、前記スケジュールデータを参照して、一のセグメントのトランスコーディング処理中に画質の劣化を検出した前記第２のコンピュータに対して、次のセグメントのトランスコーディング開始予定時刻までに処理可能なデータ長だけ前記一のセグメントを分割して再度転送することを前記第１のコンピュータに指示するステップと、前記一のセグメントの分割された残りの部分を全ての前記第２のコンピュータに再分配する処理を前記分割転送指示ステップにより指示された映像データの分割及び転送の処理の後に行う旨の指示を前記第１のコンピュータに送信するステップと、を備える、
ことを特徴とする請求項４に記載の映像データフォーマット変換方法。
【請求項６】
前記スケジュール作成ステップは、
複数の第２のコンピュータに対する１巡目のデータ転送におけるスケジュールを作成するために、複数の第２のコンピュータのうちデータ転送の順番が最後のコンピュータに所定長のセグメントを割り当て、該セグメントのトランスコーディング時間と転送時間を算出し、前記算出したトランスコーディング時間と転送時間を加算した時間をデータ転送の順番が一つ前のコンピュータのトランスコーディング時間として決定し、前記決定されたトランスコーディング時間内にトランスコード可能なデータ長のデータの転送時間を算出し、前記決定されたトランスコーディング時間と該トランスコーディング時間に基づいて算出された前記転送時間を加算した時間をデータ転送の順番がさらに一つ前のコンピュータのトランスコーディング時間として決定する処理を繰り返すことにより、１巡目のデータ転送におけるデータ長とデータ転送時間と転送データのトランスコーディング時間を決定するステップと、
複数の第２のコンピュータに対するＮ巡目（Ｎは２以上の正数）のデータ転送におけるスケジュールを作成するために、（Ｎ−１）巡目のデータ転送において転送の順番が最後のコンピュータに転送されるセグメントのトランスコーディング時間を第２のコンピュータの総数で等分した時間をＮ巡目のデータ転送における各第２のコンピュータのデータ転送時間として決定し、決定した転送時間で送信可能なデータ長を第２のコンピュータのデータ転送速度から算出し、算出したデータ長と第２のコンピュータのトランスコーディング速度からＮ巡目のデータ転送における各第２のコンピュータのトランスコーディング時間を決定することにより、Ｎ巡目のデータ転送のデータ長とデータ転送時間と転送データのトランスコーディング時間を決定するステップと、を備える、
ことを特徴とする請求項４又は５に記載の映像データフォーマット変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ある形式で符号化された映像データを別の形式で再符号化する映像データフォーマット変換システムに関する。
【０００２】
【従来の技術】
近年、元になる映像データを分割して複数のコンピュータ（ノード）に割り当て、並行してフォーマット変換（トランスコーディング）を行い、トランスコーディングされたデータを最後に結合することにより処理の高速化を図ることができる分散トランスコーディングが研究されている。
また、複数の計算機を有するシステムにおいて、ジョブを複数の計算機に割り当て、分散して処理させるようなシステムもある。（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２００１−１６６９５６号公報（第３頁、第１図）
【０００４】
【発明が解決しようとする課題】
しかし、従来の映像データを処理する分散トランスコーディングシステムでは、フォーマット変換が完了し、それを結合した後に映像の画質をチェックしていた。このため、変換後の映像に画質の劣化が生じていた場合には、元の映像全体を再度トランスコーディングする必要があり、処理効率が良いとは言えなかった。
【０００５】
この発明は、上記実状に鑑みてなされたものであり、映像データのフォーマット変換の処理効率をより向上させることができる映像データフォーマット変換システム及び方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、この発明の第１の観点に係る映像データフォーマット変換システムは、
サーバと、映像データを複数のセグメントに分割する第１のコンピュータと、分割されたセグメントをトランスコーディングする複数の第２のコンピュータと、トランスコーディングされた各セグメントを結合する第３のコンピュータと、を備え、映像データのフォーマット変換を分散処理を用いて行う映像データフォーマット変換システムであって、
前記サーバは、
各前記第２のコンピュータのトランスコーディング速度とデータ転送速度に基づいて、各前記第２のコンピュータに対する映像データの割当に関するスケジュールを示すスケジュールデータを生成するスケジュール生成手段と、
前記割当スケジュールに基づく映像データの分割及び転送指示を前記第１のコンピュータに送信する分割転送指示手段と、を備え、
前記第１のコンピュータは、前記サーバからの指示に従って映像データを分割し、各前記第２のコンピュータに順次転送する手段を備え、
各前記第２のコンピュータは、
前記第１のコンピュータからセグメントを順次受信する手段と、
前記受信したセグメントのトランスコーディングを順次行う手段と、
セグメントのトランスコーディングにおいて所定の基準により画質の劣化を検出する画質劣化検出手段と、
一のセグメントのトランスコーディング処理中において、前記画質劣化検出手段により画質の劣化が検出されたとき、当該セグメントを特定する情報を含む画質劣化検出通知を前記サーバに送信する手段と、を備え、
前記サーバは、前記画質劣化検出通知の受信に応答して、画質の劣化が検出されたセグメントの分割及び転送の指示を前記第１のコンピュータに送信する再分割指示手段と、前記画質の劣化が検出されたセグメントの再エンコードに使用するエンコードパラメータを各トランスコーディングノードに送信する手段と、をさらに備える、
ことを特徴とする。
【０００７】
このような構成によれば、セグメント単位で画質の劣化を検出し、そのセグメントについてのみトランスコーディング処理を再試行するため、全体的な処理時間を短縮して処理効率を向上させることができる。
【０００８】
前記サーバのスケジュール作成手段により作成されるスケジュールデータは、少なくとも、各前記第２のコンピュータにそれぞれ割り当てられる各セグメントの転送開始時刻とトランスコーディング開始予定時刻を示してもよく、
前記サーバの再分割指示手段は、前記スケジュールデータを参照して、一のセグメントのトランスコーディング処理中に画質の劣化を検出した前記第２のコンピュータに対して、次のセグメントのトランスコーディング開始予定時刻までに処理可能なデータ長だけ前記一のセグメントを分割して再度転送することを前記第１のコンピュータに指示する手段と、前記一のセグメントの分割された残りの部分を全ての前記第２のコンピュータに再分配する処理を前記分割転送指示手段により指示された映像データの分割及び転送の処理の後に行う旨の指示を前記第１のコンピュータに送信する手段と、を備えてもよい。
【０００９】
これにより、一のセグメントにおいて画質の劣化が検出された場合に、そのセグメントの再割り当てを、当初のスケジュールに殆ど影響を与えることなく指示することができる。
【００１０】
前記スケジュール作成手段は、
複数の第２のコンピュータに対する１巡目のデータ転送におけるスケジュールを作成するために、複数の第２のコンピュータのうちデータ転送の順番が最後のコンピュータに所定長のセグメントを割り当て、該セグメントのトランスコーディング時間と転送時間を算出し、前記算出したトランスコーディング時間と転送時間を加算した時間をデータ転送の順番が一つ前のコンピュータのトランスコーディング時間として決定し、前記決定されたトランスコーディング時間内にトランスコード可能なデータ長のデータの転送時間を算出し、前記決定されたトランスコーディング時間と該トランスコーディング時間に基づいて算出された前記転送時間を加算した時間をデータ転送の順番がさらに一つ前のコンピュータのトランスコーディング時間として決定する処理を繰り返すことにより、１巡目のデータ転送におけるデータ長とデータ転送時間と転送データのトランスコーディング時間を決定する手段と、
複数の第２のコンピュータに対するＮ巡目（Ｎは２以上の正数）のデータ転送におけるスケジュールを作成するために、（Ｎ−１）巡目のデータ転送において転送の順番が最後のコンピュータに転送されるセグメントのトランスコーディング時間を第２のコンピュータの総数で等分した時間をＮ巡目のデータ転送における各第２のコンピュータのデータ転送時間として決定し、決定した転送時間で送信可能なデータ長を第２のコンピュータのデータ転送速度から算出し、算出したデータ長と第２のコンピュータのトランスコーディング速度からＮ巡目のデータ転送における各第２のコンピュータのトランスコーディング時間を決定することにより、Ｎ巡目のデータ転送のデータ長とデータ転送時間と転送データのトランスコーディング時間を決定する手段と、を備えてもよい。
【００１１】
これにより、例えば、第２のコンピュータがトランスコーディング中にバックグラウンドで転送処理を行い、第２のコンピュータのデータ転送速度がトランスコーディング速度よりも十分早い場合には、各第２のコンピュータへの映像データの割当に関するスケジュールを作成するに際し、処理時間と転送データの画質の双方の観点から最適なスケジュールを作成することができる。
【００１２】
また、この発明の第２の観点に係る映像データフォーマット変換方法は、
第１のコンピュータが映像データを複数のセグメントに分割し、複数の第２のコンピュータが前記分割されたセグメントのトランスコーディングを行い、第３のコンピュータが前記トランスコーディングされたセグメントを結合することにより、映像データのフォーマット変換を分散処理を用いて行う映像データフォーマット変換方法であって、
サーバが、各前記第２のコンピュータのトランスコーディング速度とデータ転送速度に基づいて、各前記第２のコンピュータに対する映像データの割当に関するスケジュールを示すスケジュールデータを生成するスケジュール生成ステップと、
前記サーバが、前記割当スケジュールに基づく映像データの分割及び転送指示を前記第１のコンピュータに送信する分割転送指示ステップと、
前記第１のコンピュータが、前記サーバからの指示に従って前記映像データを分割し、各前記第２のコンピュータに順次転送するステップと、
前記第２のコンピュータが、前記第１のコンピュータからセグメントを受信し、前記受信したセグメントのトランスコーディングを順次行うステップと、
前記第２のコンピュータが、一のセグメントのトランスコーディング処理中において、所定の基準により画質の劣化を検出した場合、当該セグメントを特定する情報を含む画質劣化検出通知を前記サーバに送信するステップと、
前記サーバが、前記画質劣化検出通知の受信に応答して、画質の劣化が検出されたセグメントの分割及び転送の指示を前記第１のコンピュータに送信する再分割指示ステップと、
前記サーバが、前記画質の劣化が検出されたセグメントの再エンコードに使用するエンコードパラメータを各トランスコーディングノードに送信するステップと、
を備えることを特徴とする。
【００１３】
このような構成によれば、セグメント単位で画質の劣化を検出し、そのセグメントについてのみトランスコーディング処理を再試行するため、全体的な処理時間を短縮して処理効率を向上させることができる。
【００１４】
前記スケジュール生成ステップにより作成されるスケジュールデータは、少なくとも、各前記第２のコンピュータにそれぞれに割り当てられる各セグメントの転送開始時刻とトランスコーディング開始予定時刻を示してもよく、
前記再分割指示ステップは、前記スケジュールデータを参照して、一のセグメントのトランスコーディング処理中に画質の劣化を検出した前記第２のコンピュータに対して、次のセグメントのトランスコーディング開始予定時刻までに処理可能なデータ長だけ前記一のセグメントを分割して再度転送することを前記第１のコンピュータに指示するステップと、前記一のセグメントの分割された残りの部分を全ての前記第２のコンピュータに再分配する処理を前記分割転送指示ステップにより指示された映像データの分割及び転送の処理の後に行う旨の指示を前記第１のコンピュータに送信するステップと、を備えてもよい。
【００１５】
これにより、一のセグメントにおいて画質の劣化が検出された場合に、そのセグメントの再割り当てを、当初のスケジュールに殆ど影響を与えることなく指示することができる。
【００１６】
前記スケジュール作成ステップは、
複数の第２のコンピュータに対する１巡目のデータ転送におけるスケジュールを作成するために、複数の第２のコンピュータのうちデータ転送の順番が最後のコンピュータに所定長のセグメントを割り当て、該セグメントのトランスコーディング時間と転送時間を算出し、前記算出したトランスコーディング時間と転送時間を加算した時間をデータ転送の順番が一つ前のコンピュータのトランスコーディング時間として決定し、前記決定されたトランスコーディング時間内にトランスコード可能なデータ長のデータの転送時間を算出し、前記決定されたトランスコーディング時間と該トランスコーディング時間に基づいて算出された前記転送時間を加算した時間をデータ転送の順番がさらに一つ前のコンピュータのトランスコーディング時間として決定する処理を繰り返すことにより、１巡目のデータ転送におけるデータ長とデータ転送時間と転送データのトランスコーディング時間を決定するステップと、
複数の第２のコンピュータに対するＮ巡目（Ｎは２以上の正数）のデータ転送におけるスケジュールを作成するために、（Ｎ−１）巡目のデータ転送において転送の順番が最後のコンピュータに転送されるセグメントのトランスコーディング時間を第２のコンピュータの総数で等分した時間をＮ巡目のデータ転送における各第２のコンピュータのデータ転送時間として決定し、決定した転送時間で送信可能なデータ長を第２のコンピュータのデータ転送速度から算出し、算出したデータ長と第２のコンピュータのトランスコーディング速度からＮ巡目のデータ転送における各第２のコンピュータのトランスコーディング時間を決定することにより、Ｎ巡目のデータ転送のデータ長とデータ転送時間と転送データのトランスコーディング時間を決定するステップと、を備えてもよい。
【００１７】
このような構成によれば、セグメント単位で画質の劣化を検出し、そのセグメントについてのみトランスコーディング処理を再試行するため、全体的な処理時間を短縮して処理効率を向上させることができる。
【００１８】
【発明の実施の形態】
以下、本発明に係る実施の形態を、所定の形式でエンコードされている映像データを他の形式にフォーマット変換するためのフォーマット変換システムを図面を参照して説明する。
【００１９】
図１はこの発明の実施形態に係るフォーマット変換システムの構成を示す図である。
図１に示すように、このフォーマット変換システムは、サーバコンピュータ（以下、サーバ）１と、複数のコンピュータ（ノード）と、を備え、これらはネットワーク１０を介して相互に接続されている。また、ノードは、ソースノード２１と、複数のトランスコーディングノード２２と、ディスティネーションノード２３と、から構成される。
【００２０】
サーバ１は、制御部、記憶部、通信制御部を備えるコンピュータから構成される。記憶部は、制御部により実行される動作プログラムや処理に必要な各種のデータ（各トランスコーディングノード２２のデータ転送速度、トランスコーディング速度等）を記憶しており、制御部が記憶部に記憶される動作プログラム等を実行することにより、スケジューリング部１ａ、ノード制御部１ｂ、等を論理的に実現する。
【００２１】
スケジューリング部１ａは、処理対象の映像データを各トランスコーディングノード２２に割り当てるための初期スケジューリング処理を行う。
この初期スケジューリング処理では、各トランスコーディングノード２２のセグメント転送速度とトランスコーディング速度等に基づいて、処理対象のソース（映像データ）を分割した各セグメントを各トランスコーディングノード２２に割り当て方を決定し、各トランスコーディングノード２２に対する各セグメントの転送開始予定時刻や、各トランスコーディングノード２２における各セグメントのトランスコーディング開始予定時刻等を示すスケジュールデータを作成する。なお、本システムにおける各トランスコーディングノード２２はセグメントのトランスコーディング中にバックグラウンドで次のセグメントを受信するようにし、ここで作成されるスケジュールもこれを前提する。
【００２２】
初期スケジューリング処理を図２を参照して具体的に説明する。スケジューリング部１ａは、まず１巡目のデータ転送において、複数のトランスコーディングノード２２（図の例では、ノード１〜４）に順次セグメントを転送する際に最後にセグメントが転送されるノード（図の例では、ノード４）に対して最小分割可能セグメント長のデータを割り当てる。そして、その割り当てたデータのトランスコーディング時間をトランスコーディングノード２２のトランスコーディング速度を用いて算出し、そのトランスコーディング時間にその最小分割可能セグメント長のデータのデータ転送時間を加えた時間を求め、その時間を、転送順序が一つ前のノード（図の例では、ノード３）のトランスコーディング時間とし、その時間において転送可能なセグメント長のデータをトランスコーディングノード２２のデータ転送速度から求めて、そのノード（ノード３）に割り当てる処理を順次各ノード（ノード２、ノード１）について行う。例えば、ノード２については、ノード３に割り当てたデータの転送時間をデータ転送速度から算出し、算出したノード３のデータ転送時間とノード３のトランスコーディング時間を加算した時間をノード２のトランスコーディング時間として、その時間内にトランスコーディングが可能なデータ長のセグメントを割り当てる。ノード１については、ノード２に割り当てたデータの転送時間をデータ転送速度から算出し、算出したノード２のデータ転送時間とノード２のトランスコーディング時間を加算した時間をノード１のトランスコーディング時間として、その時間内にトランスコーディング可能なデータ長のセグメントを割り当てる。これにより、データ転送の１巡目に各ノードに割り当てるセグメントのデータ長、転送時間、トランスコーディング時間等が決定される。
【００２３】
次に、Ｎ巡目（２巡目以降）のデータ転送については、（Ｎ−１）巡目のデータ転送において、転送の順番が最後のノード（図２では、ノード４）に割り当てたデータのトランスコーディング時間をトランスコーディングノード２２の総数で等分し、等分した時間で転送可能なデータ長をトランスコーディングノード２２のデータ転送速度を用いて求め、Ｎ巡目のデータ転送において各ノードに割り当てるデータ長とする。また、このデータ長とノードのトランスコーディング速度からデータのトランスコーディング時間を算出する。そして、データ転送の最後の回において（図の例では、フェーズＭ）、決定したデータ長のセグメントを各ノードに割り当てるだけソースが残っていない場合には、例えば、残ったソース部分を等分することにより、各ノードに割り当てるセグメント長を決定する。これにより、データ転送のＮ巡目に各ノードに割り当てるセグメントのデータ長、転送時間、トランスコーディング時間等が決定される。
【００２４】
そして、スケジューリング部１ａは、例えば、所定の転送開始予定時刻を基準として、セグメントの初回の転送時間と以後の各セグメントのトランスコーディング時間を順次加算することにより、各ノードに順次転送される各セグメントについて、その転送開始時刻やトランスコーディング開始予定時刻等を求め、これらをスケジュールデータとして記憶部に記憶する。
なお、一般にトランスコーディングノード２２のデータ転送速度がトランスコーディング速度よりも十分に早いことから、上記のようにして各ノードに割り当てられるセグメントのデータ長は徐々に長くなる。これにより、ビットレートの制御が効きやすくなり、画質のばらつきを抑え、結合時の画質を向上させることができる。
【００２５】
また、スケジューリング部１ａは、トランスコーディングノード２２からの画質の劣化を検出した旨の通知（画質劣化検出通知）に応答して、該当するセグメントを再度各トランスコーディングノード２２に割り当てるための再スケジューリング処理を行う。トランスコーディングノード２２からの画質劣化検出通知は、例えば、画質劣化が検出されたセグメント（画質劣化検出セグメント）を特定する情報、そのセグメントのエンコーディングに使用された量子化ステップの情報等を含む。
【００２６】
再スケジューリング処理を図３を参照して説明する。まず、スケジューリング部１ａは、画質の劣化を検出したノード（画質劣化検出ノード）において画質劣化の検出時から次のセグメントのトランスコーディングが開始されるまでの時間Ｔａを求める。具体的には、画質劣化が検出された時刻をｔｃ［ｓ］、画質劣化の生じたセグメントの後続セグメントのトランスコード開始予定時刻をｔｎ［ｓ］とすると、時間Ｔａ［ｓ］は数１に示す式により求められる。
【００２７】
【数１】
Ｔａ［ｓ］＝ｔｎ−ｔｃ
【００２８】
なお、画質劣化が検出された時刻ｔｃ［ｓ］の情報は、例えば、画質劣化検出ノードがサーバ１への画質劣化検出通知に含めるようにしてもよく、また、サーバ１がノードから画質劣化検出通知を受信した時刻を内部タイマから取得し、その時刻を画質劣化が検出された時刻と擬制してもよい。
【００２９】
次に、スケジューリング部１ａは、ノードのトランスコーディング速度をＶ［ｂｉｔ／ｓ］として、時間Ｔａの間にトランスコードできるデータ長Ｌｃを数２に示す式により求める。そして、このデータ長Ｌｃを、画質劣化検出セグメントにおいて、その画質劣化を検出したノードに再度割り当てる部分の長さとする。
【００３０】
【数２】
Ｌｃ［ｂｉｔ］＝Ｔａ／Ｖ
【００３１】
また、スケジューリング部１ａは、画質劣化検出セグメントの総長をＬ［ｂｉｔ］として、画質劣化が検出されたセグメントのうち、時間Ｔａにおいてトランスコードしない残り部分のデータ長Ｌｒを数３に示す式により求める。
【００３２】
【数３】
Ｌｒ［ｂｉｔ］＝Ｌ−Ｌｃ
【００３３】
この残り部分のデータ長Ｌｒ［ｂｉｔ］を例えば全トランスコーディングノード２２で等分する等して、各ノードに割り当てるデータ長を決定する。
そして、例えば、各トランスコーディングノード２２に再配分されるデータについて、例えば、トランスコーディング時間等を求め、当初のスケジュールデータの末尾に追加する。
【００３４】
ノード制御部１ｂは、各ノード（ソースノード２１、トランスコーディングノード２２、ディスティネーションノード２３）に各種指示を送信する処理を行う。
例えば、ノード制御部１ｂは、ソースノード２１に対して、ソースを所定長のセグメントに分割して各ノードに転送することを指示する分割・転送指示を送信する。処理対象のソースは予め送信していてもよく、また、分割・転送指示と一緒に送信してもよい。この分割・転送指示は、初期スケジューリング処理により生成されたスケジュールデータに基づいて、ソースを所定のセグメント長のセグメントに分割して各トランスコーディングノード２２に転送することを指示するものであり、例えば、１巡目における各ノードへの転送セグメントのデータ長、２巡目における各ノードへの転送セグメントのデータ長、・・・・、Ｍ巡目の各ノードへの転送セグメントデータ長等の情報を含む。また、各セグメントについての転送開始予定時刻やトランスコーディング開始予定時刻の情報も含んでも良い。
【００３５】
また、ノード制御部１ｂは、ソースノード２１に対して、画質劣化検出セグメントについてトランスコーディングを再試行させるための再分割・転送指示を送信する。この再分割・転送指示は、画質検出セグメントを所定長の部分に分割して画質劣化検出ノードに即時に転送することの指示と、分割された残りの部分を各トランスコーディングノード２２に再配分する処理を分割・転送指示により指示されたソースの分割及び各セグメントの転送の処理の後に行うことの指示と、を含む。先の指示は、例えば、再スケジューリング処理による算出結果等に基づいて、画質劣化検出ノードを特定する情報（例えば、ノードＩＤ、アドレス等）、画質劣化検出セグメントを特定する情報（例えば、セグメントナンバ等）、画質劣化検出ノードに即時に再度割り当てるセグメント部分の長さＬｃ等の情報を含む。また、後の指示は、例えば、画質劣化検出セグメントから長さＬｃの部分を分割したときの残りの部分のデータ長Ｌｒについてノード総数で分割した長さ等の情報を含む。
【００３６】
また、ノード制御部１ｂは、トランスコーディングノード２２に対して、転送されたセグメントについてのトランスコーディング指示を送信する。
また、ノード制御部１ｂは、画質劣化検出セグメントの分割データを再エンコードする際に使用するエンコードパラメータの情報を、画質劣化検出セグメントを特定する情報（セグメントナンバ等）とともに、各トランスコーディングノード２２に送信する。なお、このエンコードパラメータは、各トランスコーディングノード２２において画質劣化セグメントについて画質を向上させる処理に使用されるパラメータである。画質を向上させる処理の内容については任意であり、例えば、再割り当てされたデータについてノイズ除去もしくは平滑化フィルタを前処理として適用することにより画質の向上を図る場合には、エンコードパラメータはこれらの前処理で使用するパラメータ等を示す。また、対象セグメントについてビットレートを上げてエンコードすることにより画質の向上を図る場合には、エンコードパラメータは、そのビットレートの値を示す。
【００３７】
また、ノード制御部１ｂは、例えば全トランスコーディングノード２２からセグメントのトランスコーディングが完了した旨の通知の受信等に応答して、ディスティネーションノード２３に対して、集積されたセグメントの結合指示を送信する。
【００３８】
ソースノード２１は、制御部、記憶部、通信制御部を備えるコンピュータから構成される。記憶部は制御部が実行する動作プログラムや処理に必要な各種のデータを記憶しており、制御部が記憶部に記憶される動作プログラム等を実行することにより、分割部２１ａ等を論理的に実現する。
分割部２１ａは、サーバ１からの分割・転送指示に従って、映像データを所定のセグメント長の複数のセグメントに分割し、分割したセグメントを各トランスコーディングノード２２に順次転送する処理を行う。
また、分割部２１ａは、サーバ１からの再分割・転送指示に従って、画質劣化の生じたセグメントについて、データ長Ｌｃとデータ長Ｌｒのデータに分割し、データ長Ｌｃのデータを画質の劣化を検出したノードに即時に転送する。そして、残りのデータ長Ｌｒをノード数で分割したデータ長のデータを各ノードへの転送スケジュールの末尾に追加する。
【００３９】
トランスコーディングノード２２は、制御部、記憶部、通信制御部を備えるコンピュータから構成される。記憶部は制御部が実行する動作プログラムや処理に必要な各種のデータを記憶しており、制御部が記憶部に記憶される動作プログラム等を実行することにより、変換制御部２２ａ、エンコード・デコード部２２ｂ、画質劣化検出部２２ｃ等を論理的に実現する。
【００４０】
変換制御部２２ａは、サーバ１からの指示等に従って、トランスコーディングノード２２全体を制御する。変換制御部２２ａは、ソースノード２１から順次受信したセグメントを記憶部へ記憶する処理、サーバ１からのトランスコーディング指示をエンコード・デコード部２２ｂに通知する処理、エンコード・デコード部２２ｂによりエンコードされたデータ（エンコードデータ）をディスティネーションノード２３に転送する処理、エンコード・デコード部２２ｂにより画質の劣化が検出され、エンコード処理が中止された場合にその旨をサーバ１に通知する処理、画質劣化セグメントの分割データについて使用するエンコードパラメータをサーバ１から受信して記憶する処理、割り当てられたセグメントのトランスコーディングが完了した旨をサーバ１に通知する処理等を行う。
【００４１】
エンコード・デコード部２２ｂは、サーバ１からの指示に従って、記憶部に記憶されている所定のセグメントのデータを読み出してデコードし、他の所定の形式でエンコードする処理を行う。また、エンコード・デコード部２２ｂは、画質劣化検出部２２ｃから画質の劣化の発生の通知を受けるとエンコード処理を中止する。
また、エンコード・デコード部２２ｂは、画質劣化セグメントについて再割り当てされたデータをエンコードする際に、画質を向上させるための所定の処理（例えば、ノイズ除去、平滑化フィルタによるフィルタリング、ビットレートを上げたエンコーディング等）を行う。この所定の処理において、サーバ１から受信したエンコードパラメータを用いる。
【００４２】
画質劣化検出部２２ｃは、エンコード・デコード部２２ｂによるエンコード処理において画質の劣化が発生したことを検出する画質劣化検出処理を行う。この画質劣化検出処理では、例えば、エンコード・デコード部２２ｂによるエンコード処理で用いられている量子化ステップの値をログから監視し、所定の制限値を超えた場合に画質の劣化が起こったとみなす。また、画質劣化検出部２２ｃは、画質の劣化を検出すると、エンコード・デコード部２２ｂにその旨を通知する。
【００４３】
ディスティネーションノード２３は、制御部、記憶部、通信制御部を備えるコンピュータから構成される。記憶部は制御部が実行する動作プログラムや処理に必要な各種のデータを記憶しており、制御部が記憶部に記憶される動作プログラム等を実行することにより、結合部２３ａを論理的に実現する。
結合部２３ａは、各トランスコーディングノード２２から変換処理後の各セグメントを受信して記憶部に蓄積記憶し、サーバ１からの結合指示に従って、集積されたセグメントを所定の結合順序に従って順次結合し、結合処理の完了後に結合完了信号をサーバ１に送信する。
【００４４】
次に、本発明のフォーマット変換システムにおける全体的な処理の流れを図４を参照して説明する。
まず、サーバ１は、初期スケジューリング処理を行って、ソースを各トランスコーディングノード２２に割り当てるためのスケジュールデータを作成し（ステップＳ１）、分割・転送指示をソースノード２１に送信する（ステップＳ２）。ソースノード２１は、サーバ１からの分割・転送指示に従って、ソースを指定されたセグメント長のセグメントに分割し、各トランスコーディングノード２２にセグメントを転送する（ステップＳ３）。
また、サーバ１は、各トランスコーディングノード２２に対して、転送されたセグメントについてのトランスコーディング指示を送信する（ステップＳ４）。
【００４５】
各トランスコーディングノード２２は、ソースノード２１から転送されるセグメントを受信して記憶部に記憶する。また、サーバ１からのトランスコーディング指示に従って、セグメントのトランスコーディングを実行する（ステップＳ５）。トランスコーディングノード２２は、セグメントのトランスコーディングを実行しながら、バックグラウンドで次のセグメントを受信して記憶する。また、トランスコーディングノード２２は、トランスコーディング処理においてログにおける量子化ステップを監視等して、画質の劣化を検出するための処理も行う（ステップＳ６）。なお、トランスコーディングが完了したセグメントについては順次ディスティネーションノード２３に送信する（又は、一括送信でもよい）。
【００４６】
そして、いずれのトランスコーディングノード２２においてもトランスコーディング処理中に画質の劣化が検出されなかった場合には（ステップＳ７：Ｎｏ）、各トランスコーディングノード２２はトランスコーディングの終了をサーバ１に通知する（ステップＳ１１）。
サーバ１は、全トランスコーディングノード２２からトランスコーディングが終了した旨の通知を受信すると、ディスティネーションノード２３にセグメントの結合指示を送信する（ステップＳ１２）。
これに応じて、ディスティネーションノード２３は、集積されたセグメントを結合し、結合完了信号をサーバ１に送信する（ステップＳ１３、Ｓ１４）。
【００４７】
また、ステップＳ７において、例えば、いずれかのトランスコーディングノード２２において画質の劣化が検出された場合には、そのトランスコーディングノード２２はトランスコーディング処理を中止し（ステップＳ８）、画質劣化検出通知をサーバ１に送信する（ステップＳ９）。
画質劣化検出通知を受信したサーバ１は、再スケジューリング処理を行って、画質劣化検出ノードにおいて、後続のセグメントのトランスコーディングのスケジュールに影響を与えないようなデータの長さ、即ち、後続のセグメントのトランスコーディング開始予定時刻までにトランスコーディング処理が可能なデータ長Ｌｃを求める。また、このデータ長Ｌｃに基づいて、残りの部分のデータＬｒを求め、ノード数で等分する等して各ノードに割り当てるデータ長を決定する（ステップＳ１０）。
【００４８】
そして、サーバ１は、画質劣化検出セグメントについて再分割と転送を指示するための指示（再分割・転送指示）をソースノード２１に送信する（ステップＳ２）。また、サーバ１は、画質劣化を検出したセグメントの再割当データをエンコード処理の際に使用するエンコードパラメータを画質劣化セグメントを特定する情報とともに各トランスコーディングノード２２に送信する。
【００４９】
再分割・転送指示を受信したソースノード２１は、指定されたセグメント（画質劣化セグメント）を指定されたデータ長Ｌｃと残りの部分に分割する。そして、画質劣化セグメントについてデータ長Ｌｃのデータを画質劣化検出ノードに転送するとともに、残りの部分を、指定された長さに分割し、各ノードについての転送スケジュールの末尾にその転送予定を追加する（ステップＳ３）。
また、サーバ１は、各トランスコーディングノード２２に対して、再転送されたセグメントについてのトランスコーディング指示を送信する（ステップＳ４）。
【００５０】
そして、各トランスコーディングノード２２は、ノードから転送された全セグメント（当初の転送スケジュール分のセグメント及び画質劣化の検出により再割り当てされたセグメント）について全て無事にトランスコーディングを終えると、その旨の通知をサーバ１に送信する（ステップＳ５〜８，１１）。
これに応じて、サーバ１がセグメントの結合指示をディスティネーションノード２３に送信し（ステップＳ１２）、ディスティネーションノード２３が集積されたセグメントを結合して、結合完了信号をサーバ１に送信する（ステップＳ１３、Ｓ１４）。
【００５１】
以上説明したように、本発明によれば、セグメント単位で画質の劣化を検出し、そのセグメントについてのみトランスコーディング処理を再試行するため、全体的な処理時間を短縮して処理効率を向上させることができる。
また、画質劣化検出セグメントについては、当初予定されていた処理時間内で処理可能な長さに当該セグメントを分割して再割り当てし、残りの部分を各ノードに追加で再配分することにより、当初の作業スケジュールに殆ど影響を与えずに済むことができる。
【００５２】
なお、上記説明では、画質劣化検出部２２ｃは、量子化ステップの異常を検出することで画質の劣化を検出するようにしているが、これに限定されず他の種々の方法を採りうる。例えば、エンコード・デコード部２２ｂの出力するＳ／Ｎ比（信号対雑音比）が閾値を下回っていないかをチェックすることにより、画質の劣化を検出するようにしてもよい。
【００５３】
また、上記のシステム構成は一例であり、例えば、１台のコンピュータの機能を複数台のコンピュータにより実現してもよく、また、複数台のコンピュータの機能を１台のコンピュータにより実現してもよい。
例えば、ソースノード２１は複数でもよく、複数のソースノード２１で上述のソースの分割・転送に関する処理を分担してもよい。
また、ソースノード２１とディスティネーションノード２３の少なくとも一方が、トランスコーディングノード２２を兼ねるようにしてもよい。
【００５４】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体（ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等）に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するサーバ１、ソースノード２１と、複数のトランスコーディングノード２２と、ディスティネーションノード２３等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば搬送波に重畳してコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、ＯＳが分担又はＯＳとアプリケーションの共同により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、搬送波に重畳してコンピュータにダウンロード等してもよい。
【００５５】
【発明の効果】
このような構成によれば、映像データのフォーマット変換処理において全体的な処理時間を短縮して処理効率を向上させることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係るフォーマット変換システムの構成を示す図である。
【図２】初期スケジューリング処理を説明するための図である。
【図３】再スケジューリング処理を説明するための図である。
【図４】図１のフォーマット変換システムにおける全体的な処理の流れを説明するための図である。
【符号の説明】
１            サーバ
１ａ          スケジューリング部
１ｂ          ノード制御部
２            ノード
１０          ネットワーク
２１          ソースノード
２１ａ        分割部
２２          トランスコーディングノード
２２ａ        変換制御部
２２ｂ        エンコード・デコード部
２２ｃ        画質劣化検出部
２３          ディスティネーションノード
２３ａ        結合部
【図１】
2004357002.tif 000003
【図２】
2004357002.tif 000004
【図３】
2004357002.tif 000005
【図４】
2004357002.tif 000006