(57)【特許請求の範囲】
【請求項１】
複数の映像それぞれをMMTで伝送するMMTPパケットを受信するトランスコード装置であって、
同時に配信される複数の映像それぞれのMMTPパケットを受信する受信手段と、
前記パケットをデコードして映像毎にフレームを取得するデコード手段と、
MMTのタイムスタンプに従い、ストリーム間の対応フレームをタイムスタンプによって特定し元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように予め設計されたシステム補正値を用いて前記フレームのタイムスタンプを補正する補正手段と、
前記複数の映像をフレーム単位で切り替えて新規映像を生成する生成手段と、
前記新規映像をエンコードして前記新規映像のパケットを送出する送出手段と、
を有することを特徴とするトランスコード装置。
【請求項２】
前記生成手段は、前記複数の映像内の所定のオブジェクトに注目した映像を生成するための編集情報に基づいて前記新規映像を生成することを特徴とする請求項１に記載のトランスコード装置。
【請求項３】
遅延補正装置とトランスコード装置を備え、複数の映像から新規映像を生成して配信する映像配信システムであって、
前記遅延補正装置は、
複数の映像それぞれをMMTで伝送するパケットを受信し、当該パケットに付与された提示時刻を前記トランスコード装置の処理遅延時間を元に補正する補正手段と、
前記パケットを前記トランスコード装置へ送信する送信手段と、を有し、
前記トランスコード装置は、
同時に配信される複数の映像それぞれのMMTPパケットを受信する受信手段と、
前記パケットをデコードして映像毎にフレームを取得するデコード手段と、
MMTのタイムスタンプに従い、ストリーム間の対応フレームをタイムスタンプによって特定し元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように予め設計されたシステム補正値を用いて前記フレームのタイムスタンプを補正する補正手段と、
前記複数の映像内の所定のオブジェクトに注目した映像を生成するための編集情報に基づいて前記複数の映像をフレーム単位で切り替えて新規映像を生成する生成手段と、
前記新規映像をエンコードして前記新規映像のパケットを送出する送出手段と、
を有することを特徴とする映像配信システム。
【請求項４】
コンピュータによる、複数の映像それぞれをMMTで伝送するパケットを受信するトランスコード方法であって、
同時に配信される複数の映像それぞれのMMTPパケットを受信するステップと、
前記パケットをデコードして映像毎にフレームを取得するステップと、
MMTのタイムスタンプに従い、ストリーム間の対応フレームをタイムスタンプによって特定し元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように予め設計されたシステム補正値を用いて前記フレームのタイムスタンプを補正するステップと、
前記複数の映像をフレーム単位で切り替えて新規映像を生成するステップと、
前記新規映像をエンコードして前記新規映像のパケットを送出するステップと、
を有することを特徴とするトランスコード方法。
【請求項５】
遅延補正装置とトランスコード装置による、複数の映像から新規映像を生成して配信する映像配信方法であって、
前記遅延補正装置による、
複数の映像それぞれを伝送するMMTでパケットを受信し、当該パケットに付与された提示時刻を前記トランスコード装置の処理遅延時間を元に補正するステップと、
前記パケットを前記トランスコード装置へ送信するステップと、を有し、
前記トランスコード装置による、
同時に配信される複数の映像それぞれのMMTPパケットを受信するステップと、
前記パケットをデコードして映像毎にフレームを取得するステップと、
MMTのタイムスタンプに従い、ストリーム間の対応フレームをタイムスタンプによって特定し元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように予め設計されたシステム補正値を用いて前記フレームのタイムスタンプを補正するステップと、
前記複数の映像内の所定のオブジェクトに注目した映像を生成するための編集情報に基づいて前記複数の映像をフレーム単位で切り替えて新規映像を生成するステップと、
前記新規映像をエンコードして前記新規映像のパケットを送出するステップと、
を有することを特徴とする映像配信方法。
【請求項６】
請求項１又は２に記載のトランスコード装置の各手段としてコンピュータを動作させることを特徴とするトランスコードプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を配信する技術に関する。
【背景技術】
【０００２】
ＭＭＴ（ＭＰＥＧ  Ｍｅｄｉａ  Ｔｒａｎｓｐｏｒｔ）は、国際標準化された新しいメディア伝送技術である（非特許文献１）。ＭＭＴでは、メディアの提示時刻をＵＴＣ（Ｃｏｏｒｄｉｎａｔｅｄ  Ｕｎｉｖｅｒｓａｌ  Ｔｉｍｅ）で指定できるため、放送と通信のように別々の伝送経路でコンテンツが配信された場合でも、端末側でコンテンツを同期して再生することが可能である。
【０００３】
非特許文献２には、画面内のレイアウトを制御するＣＩ（Ｃｏｍｐｏｓｉｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ）が規定されている。ＣＩにより、画面内の表示位置や表示時刻をアセット単位（映像や音声などの１メディアの単位）で制御することができる。また、テレビとタブレット端末など別々の端末でコンテンツを同期して再生することが可能である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 1: MPEG media transport (MMT)”, ISO/IEC 23008-1
【非特許文献２】“Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 11: MPEG media transport composition information”, ISO/IEC 23008-11
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スポーツイベント中継などでは、多様なアングルから撮影された映像を配信側でスイッチング（編集）した万人向けの映像が配信される。タブレット端末などの普及によりマルチスクリーン環境が容易に確保できる状況の中、別画面で興味のある情報を随時取得することが可能となっている。ユーザの嗜好は多様化しつつあり、万人向けの映像だけでなく、多くの映像の中から注目するイベントやオブジェクト（人物など）単位で自分の思い通りに映像を選択して視聴したいという要望がある。
【０００６】
非特許文献１，２の技術を利用し、表示する映像、表示位置、あるいは表示時刻を制御することでユーザが視聴したい映像を提供するマルチコンテンツサービスが可能となる。
【０００７】
しかしながら、非力な端末では、複数映像のデコードおよび表示サイズの変更、高頻度で映像を切り替える処理は負荷が高いという問題があった。また、配信側で編集する映像は、ユーザの意図を反映することが難しいという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであり、複数の映像から所望の映像を生成して配信することを目的とする。
【課題を解決するための手段】
【０００９】
第１の本発明に係るトランスコード装置は、複数の映像それぞれを伝送するパケットを受信するトランスコード装置であって、同時に配信される複数の映像それぞれのパケットを受信する受信手段と、前記パケットをデコードして映像毎にフレームを取得するデコード手段と、基準となるタイムスタンプに従い、対応フレームが存在する場合は元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように前記フレームのタイムスタンプを補正する補正手段と、前記複数の映像をフレーム単位で切り替えて新規映像を生成する生成手段と、前記新規映像をエンコードして前記新規映像のパケットを送出する送出手段と、を有することを特徴とする。
【００１１】
第２の本発明に係る映像配信システムは、遅延補正装置とトランスコード装置を備え、複数の映像から新規映像を生成して配信する映像配信システムであって、前記遅延補正装置は、複数の映像それぞれを伝送するパケットを受信し、当該パケットに付与された提示時刻を前記トランスコード装置の処理遅延時間を元に補正する補正手段と、前記パケットを前記トランスコード装置へ送信する送信手段と、を有し、前記トランスコード装置は、同時に配信される複数の映像それぞれのパケットを受信する受信手段と、前記パケットをデコードして映像毎にフレームを取得するデコード手段と、基準となるタイムスタンプに従い、対応フレームが存在する場合は元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように前記フレームのタイムスタンプを補正する補正手段と、前記複数の映像内の所定のオブジェクトに注目した映像を生成するための編集情報に基づいて前記複数の映像をフレーム単位で切り替えて新規映像を生成する生成手段と、前記新規映像をエンコードして前記新規映像のパケットを送出する送出手段と、を有することを特徴とする。
【００１２】
第３の本発明に係るトランスコード方法は、コンピュータによる、複数の映像それぞれを伝送するパケットを受信するトランスコード方法であって、同時に配信される複数の映像それぞれのパケットを受信するステップと、前記パケットをデコードして映像毎にフレームを取得するステップと、基準となるタイムスタンプに従い、対応フレームが存在する場合は元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように前記フレームのタイムスタンプを補正するステップと、前記複数の映像をフレーム単位で切り替えて新規映像を生成するステップと、前記新規映像をエンコードして前記新規映像のパケットを送出するステップと、を有することを特徴とする。
【００１４】
第４の本発明に係る映像配信方法は、遅延補正装置とトランスコード装置による、複数の映像から新規映像を生成して配信する映像配信方法であって、前記遅延補正装置による、複数の映像それぞれを伝送するパケットを受信し、当該パケットに付与された提示時刻を前記トランスコード装置の処理遅延時間を元に補正するステップと、前記パケットを前記トランスコード装置へ送信するステップと、を有し、前記トランスコード装置による、同時に配信される複数の映像それぞれのパケットを受信するステップと、前記パケットをデコードして映像毎にフレームを取得するステップと、基準となるタイムスタンプに従い、対応フレームが存在する場合は元のタイムスタンプから最小のオフセットを付与することで、前記複数の映像間のフレームが同じタイムスタンプを持つように前記フレームのタイムスタンプを補正するステップと、前記複数の映像内の所定のオブジェクトに注目した映像を生成するための編集情報に基づいて前記複数の映像をフレーム単位で切り替えて新規映像を生成するステップと、前記新規映像をエンコードして前記新規映像のパケットを送出するステップと、を有することを特徴とする。
【００１５】
第５の本発明に係るトランスコードプログラムは、上記トランスコード装置の各手段としてコンピュータを動作させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、複数の映像から所望の映像を生成して配信することができる。また、複数の映像のフレームを同期させることで、複数の映像をフレーム単位でシームレスに切り替えることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態における映像配信システムの構成を示す図である。
【図２】本実施の形態における映像配信システムの処理の流れを示すフローチャートである。
【図３】フレームタイムスタンプを補正する様子を示す図である。
【図４】編集情報を元に新規映像を生成する処理の流れを示すフローチャートである。
【図５】新規映像のフレームを切り出す処理の流れを示すフローチャートである。
【図６】切り出した画像を縮小して配置した例を示す図である。
【図７】切り出した画像を中央に配置した例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を用いて説明する。
【００１９】
図１は、本実施の形態における映像配信システム１の構成を示す図である。本映像配信システム１は、遅延補正装置１０、トランスコード装置２０、編集情報生成装置３０、及びパケット整流装置４０を備える。本映像配信システム１は、ＭＭＴで配信される複数の映像を受信し、複数の映像から、ユーザの意図を反映した新規映像を生成して配信する。
【００２０】
カメラで撮影された映像はＭＭＴ化伝送装置によってそれぞれＭＭＴＰ（ＭＰＥＧ  Ｍｅｄｉａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）パケット化されて送信される。ＭＭＴＰパケット化された各映像はアセットと呼ばれ、各映像にアセットＩＤが付与される。
【００２１】
遅延補正装置１０は、複数のアセットのＭＭＴＰパケットを入力し、ＭＭＴＰパケットに含まれるＭＰＵ（Ｍｅｄｉａ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）タイムスタンプ及びＭＭＴＰタイムスタンプに、トランスコード装置２０での処理遅延時間に相当する固定のオフセット時間を加算した後、ＭＭＴＰパケットをトランスコード装置２０、編集情報生成装置３０、及びパケット整流装置４０へ送信する。ＭＰＵタイムスタンプは、ＵＴＣに基づいたＭＰＵの提示時刻である。ＭＰＵは、映像や音声の復号処理の単位である。ＭＰＵ単位で提示時刻が与えられる。ＭＰＵはＭＭＴＰパケットで伝送される。ＭＭＴＰタイムスタンプはＭＭＴＰパケットを送出する時刻である。
【００２２】
トランスコード装置２０は、デコード部２１、同期部２２、生成部２３、及びエンコード部２４を備える。デコード部２１は、ＭＭＴＰパケットをデコードして映像のフレームを取り出し、記述子の情報を利用して各フレームのフレームタイムスタンプを取得する。同期部２２は、複数の映像間でフレームが同期するように、各映像のフレームのフレームタイムスタンプを補正する。生成部２３は、編集情報生成装置３０から受信した編集情報を元に、複数の映像から指定のフレームを切り出して新規映像を生成する。編集情報は、新規映像を生成するための情報であり、切り出し元のフレームを特定する情報、切り出す範囲の情報などを含む。エンコード部２４は、生成部２３が生成した新規映像をエンコードしてＭＭＴＰパケットをパケット整流装置４０へ送信する。
【００２３】
編集情報生成装置３０は、デコード部３１、同期部３２、及び編集情報生成部３３を備える。デコード部３１及び同期部３２は、トランスコード装置２０のデコード部２１及び同期部２２と同様に、ＭＭＴＰパケットをデコードし、フレームタイムスタンプを補正する。編集情報生成部３３は、ユーザの意図が反映されるように、デコードした各映像を解析して編集情報を生成する。
【００２４】
パケット整流装置４０は、遅延補正装置１０及びトランスコード装置２０から受信したＭＭＴＰパケットをＭＭＴＰパケットに付与されたＭＭＴＰタイムスタンプの時刻に従って送出する。
【００２５】
遅延補正装置１０、トランスコード装置２０、編集情報生成装置３０、及びパケット整流装置４０を演算処理装置、記憶装置等を備えたコンピュータにより構成して、各装置の処理がプログラムによって実行されるものとしてもよい。このプログラムは各装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。なお、遅延補正装置１０、トランスコード装置２０、編集情報生成装置３０、及びパケット整流装置４０を１台の装置で構成してもよいし、数台の装置で構成してもよい。また、各装置を複数台の装置で構成してもよい。
【００２６】
次に、本実施の形態における映像配信システムの処理の流れについて説明する。
【００２７】
図２は、本実施の形態における映像配信システムの処理の流れを示すフローチャートである。
【００２８】
遅延補正装置１０は、ＭＭＴＰパケットを入力し、ＭＰＵタイムスタンプ及びＭＭＴＰタイムスタンプにオフセット時間を加算して、ＭＭＴＰパケットをトランスコード装置２０、編集情報生成装置３０、及びパケット整流装置４０へ送信する（ステップＳ１１）。
【００２９】
遅延補正装置１０がＭＰＵタイムスタンプ及びＭＭＴＰタイムスタンプにオフセット時間を加算することで、本映像配信システム１での処理遅延により、クライアント端末にＭＭＴＰパケットが到着したときにＭＰＵに付与された提示時刻を過ぎてしまうことを防止する。例えば、本映像配信システム１での処理遅延により、ＭＰＵタイムスタンプが１２：００：００のＭＰＵがクライアント端末に１２：００：００を過ぎて到着した場合、クライアント端末はそのＭＰＵを再生できない。そこで、遅延補正装置１０は、ＭＰＵタイムスタンプ（１２：００：００）にオフセット時間（例えば５秒）を加算し、ＭＰＵタイムスタンプを１２：００：０５に付け替える。ＭＭＴＰタイムスタンプに関しては、例えばＭＰＵタイムスタンプの２秒前にそのＭＰＵを伝送するＭＭＴＰパケットを送出する場合、遅延補正装置１０は、ＭＭＴＰタイムスタンプを１２：００：０３に付け替える。
【００３０】
遅延補正装置１０は、入力した複数のアセットのＭＭＴＰパケットのうち、トランスコード装置２０が新規映像の生成に利用しないアセットのＭＭＴＰパケットを、トランスコード装置２０及び編集情報生成装置３０へ送信せずに、パケット整流装置４０のみに送信してもよい。例えば音声メディアのＭＭＴＰパケットをパケット整流装置４０のみに送信してもよい。トランスコード処理を行わない元映像を再生可能とするために、トランスコード装置２０が新規映像の生成に利用するアセットのＭＭＴＰパケットをパケット整流装置４０へ送信してもよい。
【００３１】
トランスコード装置２０は、ＭＭＴＰパケットをデコードしてフレームを取り出す（ステップＳ１２）。トランスコード装置２０は、ＭＭＴＰパケットをＭＰＵ単位で復号して映像のフレームを取り出す。取り出したフレームは、映像毎に対応する画像処理用バッファに格納される。ＭＰＵに付与されたアセットＩＤに応じてデコードしたフレームを格納する画像処理用バッファが決められる。フレームのデコード時には、記述子の情報を利用して、フレームのフレームタイムスタンプも取得されて、対応する画像処理用バッファに格納される。
【００３２】
トランスコード装置２０は、各映像のフレームタイムスタンプを補正し、映像間でフレームの同期を取る（ステップＳ１３）。映像間でフレームの同期をとることで、フレーム単位で映像の切り替えが可能となる。また、ステップＳ１３において、トランスコード装置２０は、フレームの同期を取った後、各フレームにフレームシーケンス番号を割り当てる。フレームシーケンス番号はデコードされたフレームに付与される連番である。補正されたフレームタイムスタンプと割り当てられたフレームシーケンス番号は画像処理用バッファに格納される。フレームタイムスタンプを補正する処理の詳細は後述する。
【００３３】
編集情報生成装置３０も、トランスコード装置２０と同様に、ステップＳ１２，Ｓ１３の処理を行い、フレームを取得し、フレームタイムスタンプを補正するとともに、各フレームにフレームシーケンス番号を割り当てる。
【００３４】
編集情報生成装置３０は、各映像を解析して編集情報を生成する（ステップＳ１４）。編集情報生成装置３０は、ユーザの意図を元に編集情報を生成する。例えば、野球中継の場合、ユーザが注目する選手の情報を編集情報生成装置３０に入力しておく。編集情報生成装置３０は、一般的な画像認識により、その選手が写っている映像、フレーム、領域を特定し、当該選手に注目した映像を生成可能な編集情報を生成する。編集情報は、アセットＩＤ、フレームシーケンス番号、切り出し情報を含む。アセットＩＤで切り出し元の映像を特定し、フレームシーケンス番号で切り出し元のフレームを特定する。切り出し情報は切り出し元のフレームから切り出す領域を示す情報である。編集情報は、生成する新規映像のアセットＩＤである出力アセットＩＤを含んでもよい。編集情報は、切り出し元のフレームを特定する情報として、フレームタイムスタンプを含んでもよい。
【００３５】
トランスコード装置２０は、編集情報生成装置３０から編集情報を受信し、受信した編集情報を元に、複数の映像からフレーム単位でフレームを切り出して新規映像を生成する（ステップＳ１５）。新規映像を生成する処理の詳細は後述する。
【００３６】
トランスコード装置２０は、生成された新規映像をエンコードしてＭＭＴＰパケット化し、パケット整流装置４０へ送信する（ステップＳ１６）。
【００３７】
パケット整流装置４０は、受信したＭＭＴＰパケットをＭＭＴＰタイムスタンプの時刻に送出する（ステップＳ１７）。
【００３８】
以上の処理によって生成された新規映像のＭＭＴＰパケットをクライアント端末が受信して再生することで、ユーザは、所望の映像を視聴できる。
【００３９】
次に、フレームタイムスタンプの補正及びフレームシーケンス番号の割り当てについて説明する。
【００４０】
トランスコード装置２０が入力する複数の映像間でフレームの同期が取られていない場合、映像間でフレームタイミングが異なり、新規映像を生成するときにフレーム単位で映像を切り替えることができない。そこで、本実施の形態では、同期部２２，３２がフレームタイムスタンプを補正し、映像間のフレームのフレームタイムスタンプを同期させる。
【００４１】
図３は、フレームタイムスタンプを補正する様子を示す図である。図３（ａ）はフレームタイムスタンプを補正する前のフレームを示し、図３（ｂ）はフレームタイムスタンプを補正した後のフレームを示す。図中の実線の四角形はデコードしたフレーム、点線の四角形は未受信または欠落したフレームを示す。図中のフレーム内には映像番号とフレームの順番（＃映像番号＿フレームの順番）、フレームタイムスタンプ（ＦＴＳ）、及びフレームシーケンス番号（ＦＳＱ）を図示している。
【００４２】
図３（ａ）に示す例では、映像１の各フレーム＃１＿１，＃１＿２，＃１＿３の補正前のフレームタイムスタンプは、１，１８，３４である。映像２の各フレーム＃２＿１，＃２＿２，＃２＿３，＃２＿４の補正前のフレームタイムスタンプは、３０，４６，６３，７９である。映像２はフレーム＃２＿２，＃２＿３が欠落した。映像１，２のいずれもフレームレートは６０ｆｐｓとする。なお、映像間でフレームレートが異なる場合は、フレームシンクロナイザでフレームレートを同期させてもよい。
【００４３】
同期部２２，３２は、提示開始時刻を基準として各映像のフレームタイムスタンプを補正する。提示開始時刻は、同期部２２，３２が保持する情報である。提示開始時刻は初期設定として保持してもよいし、データベースに保持してもよい。図３の例では、提示開始時刻を１とする。
【００４４】
同期部２２，３２は、各映像１，２について、提示開始時刻と先頭フレームのフレームタイムスタンプの差とフレームレートから補正値を求める。先頭フレームは、提示開始時刻以降で、提示開始時刻に最も近いフレームタイムスタンプを持つフレームである。図３の例では、映像１はフレーム＃１＿１（フレームタイムスタンプは１）、映像２はフレーム＃２＿１（フレームタイムスタンプは３０）が先頭フレームである。補正値は次式で求める。
【００４５】
補正値（ｍｓ）＝（先頭フレームのフレームタイムスタンプ（ｍｓ）−提示開始時刻（ｍｓ））％（１０００（ｍｓ）÷フレームレート）
【００４６】
なお、補正値は小数点以下四捨五入する。％は剰余を求める演算子である。
【００４７】
各フレームのフレームタイムスタンプ（ＦＴＳ）は次式で求める。
【００４８】
ＦＴＳ（ｍｓ）＝補正前のＦＴＳ（ｍｓ）−補正値（ｍｓ）
【００４９】
映像１の補正値及び各フレームのフレームタイムスタンプは以下のように求められる。
【００５０】
映像１の補正値＝（１−１）％（１０００÷６０）＝０
フレーム＃１＿１のＦＴＳ＝１−０＝１
フレーム＃１＿２のＦＴＳ＝１８−０＝１８
フレーム＃１＿３のＦＴＳ＝３４−０＝３４
【００５１】
映像２の補正値及び各フレームのフレームタイムスタンプは以下のように求められる。
【００５２】
映像２の補正値＝（３０−１）％（１０００÷６０）＝１２
フレーム＃２＿１のＦＴＳ＝３０−１２＝１８
フレーム＃２＿４のＦＴＳ＝７９−１２＝６７
【００５３】
フレームタイムスタンプを補正した後、同期部２２，３２は、提示開始時刻を基準として各フレームにフレームシーケンス番号を割り当てる。フレームシーケンス番号は、フレームを特定する情報として用いられる。同期部２２，３２それぞれが同じフレームに同じフレームシーケンス番号を割り当てて、編集情報生成装置３０が編集情報にフレームシーケンス番号を記載することで、トランスコード装置２０は切り出し元のフレームが特定可能になる。
【００５４】
提示開始時刻と同じフレームタイムスタンプを持つフレームのフレームシーケンス番号を０とし、それ以降のフレームシーケンス番号は連番とする。同期部２２，３２は、先頭フレームのフレームシーケンス番号を求めて以降のフレームのフレームシーケンス番号を連番とする。フレームシーケンス番号（ＦＳＱ）は次式で求める。
【００５５】
ＦＳＱ＝（補正後の先頭フレームのフレームタイムスタンプ（ｍｓ）−提示開始時刻（ｍｓ））÷（１０００（ｍｓ）÷フレームレート）
【００５６】
なお、フレームシーケンス番号は小数点以下四捨五入する。
【００５７】
映像１のフレームシーケンス番号は以下のように求められる。
【００５８】
フレーム＃１＿１のＦＳＱ＝（１−１）÷（１０００÷６０）＝０
フレーム＃１＿２のＦＳＱ＝１
フレーム＃１＿３のＦＳＱ＝２
【００５９】
映像２のフレームシーケンス番号は以下のように求められる。
【００６０】
フレーム＃２＿１のＦＳＱ＝（１８−１）÷（１０００÷６０）＝１
フレーム＃２＿４のＦＳＱ＝（６７−１）÷（１０００÷６０）＝４
【００６１】
映像２はフレーム＃２＿２，＃２＿３が欠落しているので、フレーム＃２＿４のフレームシーケンス番号を計算で求めた。ＭＰＵが欠落した直後のフレームも、先頭フレームと同様に、計算によりフレームシーケンス番号を求める。前回処理したフレームと今回処理するフレームのＭＰＵシーケンス番号が同じ又は連番でない場合にＭＰＵ欠落と判定する。
【００６２】
同期部２２，３２の処理により、図３（ａ）に示した映像１，２のフレームは、図３（ｂ）に示すように、映像２の各フレームのフレームタイムスタンプは提示開始時刻の方向に１２ｍｓ分シフトされて、映像１のフレームと同期が取られている。また、映像１，２の同じフレームタイムスタンプを持つ各フレームには、同じフレームシーケンス番号が割り当てられている。
【００６３】
次に、新規映像の生成について説明する。
【００６４】
生成部２３は、編集情報生成装置３０から受信した編集情報を元に、複数の映像のフレームの中から出力フレームとする画像を切り出して新規映像を生成する。
【００６５】
図４は、編集情報を元に新規映像を生成する処理の流れを示すフローチャートである。
【００６６】
生成部２３は、画像処理用バッファからデコードフレーム情報を受信する（ステップＳ２１）。デコードフレーム情報は、デコードしたフレーム、フレームタイムスタンプ、及びフレームシーケンス番号を含む。
【００６７】
生成部２３は、編集情報を受信する（ステップＳ２２）。編集情報が受信できない場合は、待機せずに後続の処理を行う。
【００６８】
生成部２３は、デコードフレーム情報及び編集情報を受信したか否か判定する（ステップＳ２３）。生成部２３は、編集情報に記載されたアセットＩＤ、フレームシーケンス番号と一致するデコードフレーム情報を取得した場合は、デコードフレーム情報と編集情報の両方を取得したと判定する。編集情報を受信していない場合は、デコードフレーム情報のみを取得したと判定する。編集情報に記載されたアセットＩＤに対応する画像処理用バッファからデコードフレーム情報を取得できなかった場合は、編集情報のみを取得したと判定する。
【００６９】
生成部２３は、編集情報のみを取得したと判定した場合（ステップＳ２４のＹＥＳ）、処理を終了する。デコードフレーム情報を取得したと判定した場合（ステップＳ２４のＮＯ）、以下の処理を行う。
【００７０】
生成部２３は、デコードフレーム情報のみを取得したと判定した場合（ステップＳ２５のＹＥＳ）、生成部２３は、前回使用した編集情報を利用してデコードフレーム情報のフレームから新規映像のフレームを切り出す（ステップＳ２６）。編集情報を一度も受信していない場合は、複数の映像から任意の映像を選択し、選択した映像のアセットＩＤに対応する画像処理用バッファからデコードフレーム情報を取得し、新規映像のフレームを切り出す。
【００７１】
生成部２３は、デコードフレーム情報と編集情報の両方を取得したと判定した場合（ステップＳ２５のＮＯ）、取得した編集情報を利用してデコードフレーム情報のフレームから新規映像のフレームを切り出す（ステップＳ２７）。
【００７２】
図５は、図４のステップＳ２６，Ｓ２７において新規映像のフレームを切り出す処理の流れを示すフローチャートである。
【００７３】
生成部２３は、処理中のフレームは間引き対象のフレームであるか否か判定する（ステップＳ３１）。新規映像のフレームレートが入力した映像のフレームレートの半分の場合、２フレーム中の１フレーム（例えばフレームシーケンス番号が奇数のフレーム）を間引くと判定する。新規映像のフレームレートやフレームのサイズは任意に設定可能である。
【００７４】
フレームを間引く場合（ステップＳ３１のＹＥＳ）、生成部２３は、間引き対象のフレームを破棄する（ステップＳ３２）。
【００７５】
フレームを間引かない場合（ステップＳ３１のＮＯ）、生成部２３は、フレームの切り出し・縮小を行う（ステップＳ３３）。生成部２３は、編集情報に記載されたアセットＩＤに対応する画像処理用バッファから、編集情報に記載されたフレームシーケンス番号を持つフレームを取得し、編集情報に記載された切り出し情報に基づいて、取得したフレームから画像を切り出して出力フレームの画像を生成する。切り出し情報は、切り出し元の左上の座標、切り出し幅と高さを含む。切り出した画像は、出力フレームのサイズに合わせてサイズを補正する。切り出した画像の幅または高さが出力フレームの幅または高さより大きい場合は、図６に示すように、縦横比を保ったまま縮小し、縮小した画像を出力フレームの中央に配置する。切り出した画像の幅及び高さが出力フレームの幅及び高さより小さい場合は、図７に示すように、出力フレームの中央に切り出した画像を配置する。出力フレームの余白部分は、黒又は他の色、あるいは模様等で埋める。
【００７６】
生成部２３は、ステップＳ３３で生成した出力フレームをエンコード用バッファに書き込む（ステップＳ３４）。編集情報が出力アセットＩＤを含む場合、生成部２３は、出力アセットＩＤに対応するエンコード用バッファに出力フレームを書き込む。
【００７７】
エンコード用バッファに書き込まれた出力フレームは、エンコード部２４によってエンコードされてＭＭＴＰパケット化されて、パケット整流装置４０に送信される。
【００７８】
以上説明したように、本実施の形態によれば、トランスコード装置２０が複数の映像のＭＭＴＰパケットをデコードして映像毎にフレームを取得し、複数の映像間のフレームが同期するように各フレームのタイムスタンプを提示開始時刻を基準として補正し、編集情報生成装置３０から受信した編集情報を元に、複数の映像の中から出力フレームの画像を切り出すフレームを特定して新規映像を生成する。これにより、複数の映像間でフレームが同期するので、複数の映像をフレーム単位で切り替えることが可能となり、複数の映像から編集情報に基づいた所望の新規映像を生成することが可能となる。その結果、非力な端末においても所望の映像を視聴できる。
【００７９】
本実施の形態によれば、遅延補正装置１０がトランスコード装置２０での処理遅延時間に相当する固定のオフセット時間をＭＰＵタイムスタンプ及びＭＭＴＰタイムスタンプに加算することにより、クライアント端末にＭＭＴＰパケットが到着したときにＭＰＵの提示時刻を過ぎてしまうことを抑制できる。
【符号の説明】
【００８０】
１…映像配信システム
１０…遅延補正装置
２０…トランスコード装置
２１…デコード部
２２…同期部
２３…生成部
２４…エンコード部
３０…編集情報生成装置
３１…デコード部
３２…同期部
３３…編集情報生成部
４０…パケット整流装置
【図１】
0006368335.tif 000002
【図２】
0006368335.tif 000003
【図３】
0006368335.tif 000004
【図４】
0006368335.tif 000005
【図５】
0006368335.tif 000006
【図６】
0006368335.tif 000007
【図７】
0006368335.tif 000008