(57)【要約】  第１のビデオストリーム内の第１のフレームと、第２のビデオストリーム内の第２のフレームとを結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出部と、結合フレームのデータサイズの情報を用いて、結合ビデオストリームを含む多重化ストリームのヘッダを生成するヘッダ生成部と、結合ビデオストリームを生成する結合ビデオストリーム生成部と、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う多重化ストリーム出力部とを備える。
2015020069.tif 000002
【特許請求の範囲】
【請求項１】
第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、前記第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出部と、
前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである、多重化ストリームのヘッダを生成するヘッダ生成部と、
前記結合ビデオストリームを生成する結合ビデオストリーム生成部と、
前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行う多重化ストリーム出力部とを備えた
データ処理装置。
【請求項２】
前記多重化ストリーム出力部は、前記多重化ストリームのヘッダが前記多重化ストリームのメディアデータ部分より前に配置されるファイルフォーマットを用いて、前記多重化を行う
請求項１に記載のデータ処理装置。
【請求項３】
前記ヘッダ生成部は、前記結合フレームのデータサイズの情報を用いて前記多重化ストリームのヘッダを構造体として生成することで、前記多重化ストリームのヘッダのサイズを算出する
請求項２に記載のデータ処理装置。
【請求項４】
前記多重化ストリーム出力部は、前記複数の結合フレームを１つのデータ単位として多重化して前記多重化ストリームを生成し、
前記データサイズ算出部は、前記多重化される各データ単位の先頭位置の、前記多重化ストリームの前記メディアデータ部分内での位置を表す第１の位置を、前記結合フレームのデータサイズの情報より算出し、
前記ヘッダ生成部は、前記データサイズ算出部で算出された前記第１の位置の情報を、前記構造体として生成される前記多重化ストリームのヘッダ内の、所定の構成要素に記述することで、前記ヘッダのサイズを確定させ、前記ヘッダのサイズの確定後に、前記ヘッダ内の所定の構成要素に記述された前記第１の位置を、前記多重化される各データ単位の先頭位置の、前記ヘッダを含む前記多重化ストリーム全体における位置を表す第２の位置に書き換える
請求項３に記載のデータ処理装置。
【請求項５】
前記多重化ストリーム出力部は、前記多重化ストリームの出力に先立って、前記多重化ストリームのヘッダの出力処理を行う
請求項４に記載のデータ処理装置。
【請求項６】
前記多重化ストリーム出力部が前記多重化を行う際に用いる前記ファイルフォーマットとは、ＭＰ４ファイルフォーマットであり、前記多重化ストリームのヘッダ内の所定の構成要素とは、ｓｔｃｏボックスである
請求項４に記載のデータ処理装置。
【請求項７】
前記データサイズ算出部で算出された前記結合フレームのデータサイズの情報を、前記第１のビデオストリーム又は前記第２のビデオストリームのメタデータとして記憶する、ビデオストリームメタデータデータベースをさらに備え、
前記結合ビデオストリーム生成部及び前記多重化ストリーム出力部は、前記ビデオストリームメタデータデータベースに記憶された前記メタデータの情報を用いて、前記結合ビデオストリームの生成処理、又は前記結合ビデオストリームの多重化処理を行う
請求項４に記載のデータ処理装置。
【請求項８】
第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、前記第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
前記結合ビデオストリームを生成することと、
前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととを含む
データ処理方法。
【請求項９】
第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、前記第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
前記結合ビデオストリームを生成することと、
前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととをコンピュータに実行させるための
プログラム。
【請求項１０】
第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、前記第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
前記結合ビデオストリームを生成することと、
前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な
記録媒体。
【請求項１１】
第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、前記第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出装置と、
前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成するヘッダ生成装置と、
前記結合ビデオストリームを生成する結合ビデオストリーム生成装置と、
前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行う多重化ストリーム出力装置とを備えた
データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システムに関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）−４をはじめとする動画像符号化技術の革新や、通信技術の発展に伴って、高精細な映像を携帯端末等のクライアント端末に伝送することが可能となった。例えば、複数の映像符号化ビットストリーム（以下「ビデオストリーム」と称する）を結合して単一のストリームとしたもの（以下、「結合ストリーム」と称する）を、オーディオストリームや同期再生情報等の制御情報、伝送用ヘッダ情報等と多重化した上で、サーバからクライアント端末に送信することも行われている。【０００３】
サーバ側で複数のビデオストリームを結合して結合ストリームを生成し、その結合ストリームを多重化ストリームとして送信することで、受信装置側で、複数のビデオストリームの受信時にサーバ側と同期をとる必要がなくなる。また、表示画面の分割領域のそれぞれの位置に、複数の画像を同時に表示させたい場合にも、復号処理と表示処理とを同時に行ったり、複数の画像間で表示の同期を取り合ったりする必要がなくなる。したがって、処理能力の高いコンピュータだけでなく、携帯端末や組み込み機器等、様々な種類の受信装置で、ビデオストリームの復号及び表示を容易に行うことが可能となる。【０００４】
例えば特許文献１には、複数のビデオストリームを結合して得た単一のストリームを、サーバからクライアント端末に送信することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２４０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ビデオストリームは、上述したように多重化ストリームとして伝送されるのが一般的である。多重化ストリームのファイルフォーマットとしては、放送・通信用にはＭＰＥＧ−２  ＴＳ（Transport Stream）が、蓄積用にはＭＰＥＧ−２  ＰＳ（Program Stream）やＭＰ４ファイルフォーマットが広く使用されている。近年盛んに行われるようになった、インターネットを経由した動画配信サービスにおいては、ＭＰ４ファイルフォーマットが使用されることが一般的である。【０００７】
ＭＰ４ファイルフォーマットは、元々ビデオストリームやオーディオストリームをファイルに格納するために規定されたファイルフォーマットであり、ファイルの先頭にヘッダが配置されるのが通常である。ヘッダ内には、ビデオストリームを構成する各ピクチャのファイル内における位置情報や、各ピクチャのデータサイズ（符号量）の情報等が含まれる。【０００８】
したがって、特許文献１に記載の技術のように複数のビデオストリームを結合して単一のストリームとそのヘッダを生成する場合には、多重化処理を行う前に、一旦複数のビデオストリームを結合することにより結合ビデオストリームを生成する必要がある。なぜなら、実際に結合ビデオストリームを生成してみないと、ビデオストリームを構成する各ピクチャのファイル内における位置の情報や各ピクチャの符号量等の、ヘッダに含むべき情報が、判明しないからである。【０００９】
結合ビデオストリームの生成処理では、まず、複数のビデオストリームから、結合の対象となるピクチャのピクチャデータ部分を抜き出す処理を行う。ところが、ビデオストリームの中のどの位置にピクチャデータが存在するかは、ビデオストリームをその先頭から終端まで解析してみないと分からない。したがって、まずはビデオストリームの解析を行い、その後ピクチャデータを抽出する処理を行う。その後、抜き出した複数のピクチャデータ部分を結合して一枚の結合ピクチャを生成する処理を、必要な結合ピクチャの枚数分だけ行う。このような処理を経るために、結合ビデオストリームの生成処理には、非常に長い時間を要する。【００１０】
従来の手法では、このように長い処理時間を要する結合ビデオストリームの生成処理が終わってからでないと、多重化ストリームのヘッダを生成することができなかった。すなわち、多重化ストリームの生成が要求されてから、多重化ストリームのヘッダの生成が開始されるまでの時間が、非常に長くなっていた。ビデオストリーム自体のデータ量、又は結合ビデオストリームのデータ量が多い場合には、この遅延はより顕著なものとなる。【００１１】
本発明はかかる点に鑑みてなされたものであり、多重化ストリームのヘッダの生成をより早期に開始できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明のデータ処理装置は、データサイズ算出部と、ヘッダ生成部と、結合ビデオストリーム生成部と、多重化ストリーム出力部とを備える構成とし、各部の構成及び機能を次のようにする。すなわち、データサイズ算出部は、第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合するものと想定する。そして、その場合に最終的に生成される結合フレームのデータサイズを算出する。ヘッダ生成部は、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。結合ビデオストリーム生成部は、結合ビデオストリームを生成する。多重化ストリーム出力部は、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。【００１３】
また、本発明のデータ処理方法は、まず、第１の映像信号が結合対象の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、第１のビデオストリームとは異なる第２のビデオストリーム内の所定のフレームである第２のフレームと、を結合するものと想定する。そして、その場合に生成される結合フレームのデータサイズを算出する。次いで、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。次いで、結合ビデオストリームを生成する。次いで、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。【００１４】
また、本発明のプログラムは、以下の処理手順（ａ）〜（ｄ）をコンピュータに実現させるプログラムである。
（ａ）第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出する手順。
（ｂ）結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する手順。
（ｃ）結合ビデオストリームを生成する手順。
（ｄ）多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う手順。
また、本発明の記録媒体には、（ａ）〜（ｄ）の処理手順をコンピュータに実現させるためのプログラムが記録される。【００１５】
また、本発明のデータ処理システムは、データサイズ算出装置と、ヘッダ生成装置と、結合ビデオストリーム生成装置と、多重化ストリーム出力装置とを備える構成とし、各装置の構成及び機能を次のようにする。データサイズ算出装置は、第１の映像信号が所定の符号化方式で符号化されてなる第１のビデオストリーム内の結合対象のフレームである第１のフレームと、第１のビデオストリームとは異なる第２のビデオストリーム内の結合対象のフレームである第２のフレームと、を結合するものと想定する。そして、その場合に生成される結合フレームのデータサイズを算出する。ヘッダ生成装置は、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。結合ビデオストリーム生成装置は、結合ビデオストリームを生成する。多重化ストリーム出力装置は、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。
【発明の効果】
【００１６】
本発明によれば、複数のビデオストリームを実際に結合するのではなく、それらを結合した場合に得られる結合フレームのデータサイズを算出し、算出して得られた結合フレームのデータサイズの情報を用いて、多重化ストリームのヘッダが生成される。したがって、実際に結合フレームを生成してから多重化ストリームのヘッダを生成する従来の方式と比較して、多重化ストリームのヘッダの生成をより早期に開始することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係るデータ処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る結合ビデオストリームの構成例を示す説明図である。
【図３】本発明の第１の実施形態に係る結合対象のビデオストリームの構成例、及び結合ビデオストリームの構成例を示す説明図である。
【図４】本発明の第１の実施形態に係るビデオストリームの構成例を示す説明図である。
【図５】本発明の第１の実施形態に係る多重化ストリームの構成例を示す説明図である。
【図６】本発明の第１の実施形態に係る多重化ストリームのデータ構造の例を示す説明図である。
【図７】本発明の第１の実施形態に係る多重化ストリームのヘッダ内のｓｔｓｚボックスの構成例を示す説明図である。
【図８】本発明の第１の実施形態に係る多重化ストリームのヘッダ内のｓｔｃｏボックスの構成例を示す説明図である。
【図９】本発明の第１の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。
【図１０】図１０Ａは、本発明の第１の実施形態に係る多重化ストリームの生成処理を示すフローチャートであり、図１０Ｂは、本発明の第１の実施形態に係る多重化ストリーム用ヘッダの生成処理の一例を示すフローチャートである。
【図１１】本発明の第２の実施形態に係るデータ処理装置の構成例を示すブロック図である。
【図１２】本発明の第２の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。
【図１３】本発明の第２の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。
【図１４】本発明の第３の実施形態に係るデータ処理システムの構成例を示すブロック図である。
【図１５】本発明の第３の実施形態に係るデータ処理システムの処理の一例を示すフローチャートである。
【図１６】本発明の第３の実施形態に係るデータ処理システムの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明は、複数のビデオストリーム（ビデオ信号）から結合ビデオストリームを作成し、結合ビデオストリームをヘッダ情報とともに多重化する場合において、最も処理量が多いビデオストリームの結合処理に先駆けて、予めヘッダを作成する。これにより、ストリーミング（伝送）開始時刻の低遅延化が実現される。また、本発明では、一時的に結合したビデオストリームをメモリ等に保管する必要がない。そのため、本発明は、信号処理遅延の最もボトルネックとなるメモリやディスク等への書き込み処理が不要となる。
ここで、ビデオストリームの結合処理に先駆けて「ヘッダ」を作成することは、原理的には、多重化対象となる「複数のビデオストリームからなる結合ビデオストリーム」が無いと不可能である。なぜならば、ヘッダの中には、「複数のビデオストリームからなる結合ビデオストリーム」の中に含まれる結合ピクチャ毎の符号量情報（例えば、ＭＰ４形式におけるｓｔｓｚボックス）や、その結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかの情報（例えば、ＭＰ４形式におけるｓｔｃｏボックス）が含まれ、これらを「先（結合前）」に知る必要があるためである。
【００１９】
従来であれば、そもそも「複数のビデオストリームからなる結合ビデオストリーム」という概念（要求）がなかった。なぜならば、既に、「単一ビデオストリーム」が配信サーバ内の手元（ローカル）に存在しており、上記のヘッダを構成する情報は手元にあるからである。また、そもそも多重化したビデオストリームを伝送する目的でファイルを用意するのであれば、事前に、多重化したビデオストリームを格納したＭＰ４形式等のファイルを作成しておくのが一般的（ＹｏｕＴｕｂｅ（登録商標）等）である。それゆえ、動的にそのような形式のストリームを作成する必要がなかった。
しかし、本発明で対象とする「複数のビデオストリームからなる結合ビデオストリーム」は、動的にユーザ（視聴者）等からの視聴要求があって、はじめて結合対象となるビデオストリームが決定される。そのため、事前に、多重化対象となる「複数のビデオストリームからなる結合ビデオストリーム」は存在せず、その結果、上記のヘッダを構成する情報（素材情報）は手元に存在しない。
【００２０】
故に、存在しないヘッダを構成する「素材情報」を、「複数のビデオストリームからなる結合ビデオストリーム」を得る前にどのようにして取得するかが最大の課題となる。この課題に対し、本発明では、そのヘッダのサイズなどを、「結合アルゴリズム（符号化方式）」に依存して、予め見積もり（予測）算出することを可能とする。
結合アルゴリズムでは、圧縮された符号の修正や追加、修正マクロブロック符号の挿入など、様々な処理が「圧縮空間」内あるいは「非圧縮空間」で行われる。結合アルゴリズムが明確な場合には「複数のビデオストリームからなる結合ビデオストリーム」の各結合ピクチャの符号量を「事前に」見積もることが可能となる。ここで、「事前」とは、あくまで結合する対象となる複数のビデオストリームが決定した後でという意味である。
【００２１】
なお、この「結合アルゴリズム」については、本発明者らによる特許第５０８９６５８号、特開２０１３−９３６５６号公報、特開２０１３−９８５９６号公報で既に公開されている。これらの「結合アルゴリズム」や他のアルゴリズムを適用して、ヘッダのサイズなどを見積もることが可能となる。本発明では、結合アルゴリズムや他のアルゴリズムの種類に関しては規定しない。
これにより、結合ビデオストリームの各結合ピクチャの符号量が判明するので、ヘッダ内の一つ目の情報である符号量情報（例えばｓｔｓｚボックス）が「事前に」作成可能となる。
【００２２】
一方、結合ピクチャが、最終の「多重化ストリーム内」のどこに位置するかを示す情報（例えばｓｔｃｏボックス）をどのように作成するかも課題となる。この「どこに位置するかを示す情報」として、最終の多重化ストリームの先頭からのオフセット位置を記述する必要がある。しかし、ＭＰ４形式等の「ヘッダパート＋メディアパート」から構成される多重化ストリームにおいて、ヘッダパートのサイズ（長さ）が判明しないと、先のオフセット位置が最終的に決定しないという問題がある。
ここで、結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかを示す情報のサイズが、ＭＰ４形式のように「全結合ピクチャフレーム数×固定長バイト」で構成される場合を想定する。本発明のポイントは、まずは、結合ピクチャの先頭位置に関して、ヘッダを除外したメディアパート先頭からの「相対位置」を決定し、仮の結合ピクチャの先頭位置の情報を作成する。そして、それらを含む他の全ての情報（ヘッダ群）を含めて、仮のヘッダパート全体を作成しておく。この時点では、まだヘッダパートは受信側へ送信できない。
【００２３】
仮のヘッダパートの最後尾までの作成が完了した段階で、ヘッダパート全体のサイズ（長さ）が判明する。そして、ヘッダパート全体のサイズ情報をもとに、ヘッダ内における「結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかを示す情報」に対する「修正処理」が開始される。具体的には、先の「相対位置」情報を「絶対位置」情報に修正する処理が行われる。
この処理が終了した段階で、ヘッダパートも最終的に「作成完了」となる。そして、その後に、ヘッダパートを受信側へ送信することが可能となる。なお、この段階で、まだ最終的な「複数のビデオストリームからなる結合ビデオストリーム」は作成されていない。そのため、ここまでの処理は非常に簡易に実施することが可能であり、かつ従来方式では必要であった結合ビデオストリームの生成を行っていないため、結合ビデオストリームをメモリ等に保管する必要がなく、メモリやディスク等への書き込み処理を行う必要がない。
【００２４】
本発明では、ヘッダパートの送信が完了次第、「複数のビデオストリームからなる結合ビデオストリーム」の作成処理がようやく開始される。そして、複数のビデオストリームの対応するピクチャ毎の結合処理が完了次第、メディアパートとして多重化され、結合ピクチャ毎に送信される。
そして、最後の結合ピクチャが送信された段階で、多重化ストリームの送信が完了する。
以下、本発明の各種実施形態に係るデータ処理装置及びデータ処理方法の例を、図面を参照しながら説明する。
【００２５】
〔第１の実施形態〕
＜データ処理装置の構成例＞
まず、図１を参照して、第１の実施形態に係るデータ処理装置１００の構成例について説明する。データ処理装置１００は、記憶部１と、制御部２と、ビデオストリーム解析部３と、多重化ストリーム用ヘッダ用情報算出部４と、ヘッダ生成部としての多重化ストリーム用ヘッダ生成部５と、結合ビデオストリーム生成部６と、多重化ストリーム出力部７とを備える。
【００２６】
記憶部１は、ＨＤＤ（Hard Disk Drive）等よりなり、この記憶部１に、ビデオストリームＶｓと、オーディオストリームＡｓと、多重化設定情報Ｃｆとが記憶される。ビデオストリームＶｓとは、カメラ１０で撮影された映像信号が、映像信号符号化部１１によって符号化された、映像のビットストリームである。符号化の方式は、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣ等、どのような方式であってもよい。
【００２７】
オーディオストリームＡｓとは、マイクロフォン１２で生成された音声信号が、音声信号符号化部１３によって符号化されてなる、音声のビットストリームである。
【００２８】
多重化設定情報Ｃｆとは、複数のビデオストリームＶｓ同士を結合して結合ビデオストリームを生成する場合の設定ファイル、すなわち、結合ビデオストリームの設計情報等が記載された設定ファイルである。多重化設定情報Ｃｆは、ユーザが手動で生成するようにしてもよいし、ユーザによって所望のビデオストリームＶｓが結合する対象として選択された場合等に、自動的に生成されるようにしてもよい。結合ビデオストリームの詳細については図２及び図３を参照して後述する。また、多重化設定情報Ｃｆの詳細についても後述する。
【００２９】
制御部２は、ＣＰＵ（Central Processing Unit）等よりなり、データ処理装置１００を構成する各ブロックを制御する。具体的には、結合対象として選択されたビデオストリームＶｓを記憶部１より読み出す処理、各ブロック間でのデータの受け渡し処理、及び各ブロックに対して各種処理の実行を指令する処理等を行う。
【００３０】
ビデオストリーム解析部３は、制御部２からの指令に基づいて、結合対象として抽出された各ビデオストリームＶｓを解析する。その後、ビデオストリーム解析部３は、解析の結果を制御部２に出力する。ビデオストリーム解析部３の処理の詳細については、図４を参照して後述する。
【００３１】
多重化ストリーム用ヘッダ用情報算出部４は、ビデオストリーム解析部３による解析によって得られた情報に基づいて、多重化ストリームのヘッダ生成に必要な情報を算出する。多重化ストリームとは、複数のビデオストリームＶｓが結合された結合ビデオストリームと、オーディオストリームＡｓとが、多重化されたストリームを指す。このような結合ビデオストリームを含んだ多重化ストリームは、複数のビデオストリームＶｓが多重化された状態である。本実施形態では、結合ビデオストリームとオーディオストリームＡｓとの多重化は、例えばＭＰ４フォーマット規格に準拠した方式で行われる。多重化ストリーム用ヘッダ用情報算出部４の処理の詳細については、図５を参照して後述する。なお、少なくとも結合ビデオストリームを含んだストリームは、広義の多重化ストリームに含まれる。すなわち、多重化ストリームは、結合ビデオストリームのみを含むストリームであってもよい。
【００３２】
多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダ用情報算出部４で算出された、多重化ストリームのヘッダ生成に必要な情報を用いて、多重化ストリームのヘッダを生成する。なお、多重化ストリーム用ヘッダ生成部５の処理の詳細については、図６〜図８を参照して後述する。
【００３３】
結合ビデオストリーム生成部６は、制御部２の制御に基づいて、結合対象として抽出された各ビデオストリームＶｓを実際に結合して、結合ビデオストリームを生成する処理を行う。
【００３４】
多重化ストリーム出力部７は、制御部２の制御に基づいて、多重化ストリーム用ヘッダ生成部５で生成されたヘッダを出力する。また、多重化ストリーム出力部７は、結合ビデオストリーム生成部６で生成された結合ビデオストリームとオーディオストリームＡｓを多重化して、多重化ストリームとして出力する。なお、本実施形態では、ビデオストリームＶｓ及びオーディオストリームＡｓを多重化する例を挙げたが、本発明はこれに限定されない。上述したように、ビデオストリームＶｓのみを結合した結合ビデオストリームを多重化ストリームとして出力する構成としてもよい。
【００３５】
［結合ビデオストリームについて］
次に、図２及び図３を参照して、結合ビデオストリームについて説明する。図２の（２−１）として示すように、結合ビデオストリームＭｓは、Ｎ個の結合ピクチャ（結合フレーム）Ｐｃｍよりなる。（２−１）では、Ｎ個の結合ピクチャを、結合ピクチャＰｃｍ１〜結合ピクチャＰｃｍＮで示している。以降の説明において、結合ピクチャＰｃｍ１〜結合ピクチャＰｃｍＮを特に区別しない場合には、結合ピクチャＰｃｍと表記する。結合ピクチャＰｃｍのそれぞれは、図２の（２−２）に示す複数のビデオストリームＶｓ内の相互に対応するピクチャＰｃ同士が結合されることにより生成される。例えば、（２−１）に示す結合ビデオストリームＭｓ内の結合ピクチャＰｃｍｎは、（２−２）に示すビデオストリームＶｓ１〜ビデオストリームＶｓＭ内の各ピクチャＰｃｎ同士が結合されることにより生成される。結合ピクチャＰｃｍｎにより表示される画面は、結合対象の複数のビデオストリームに対応して複数の小画面に分割された画面である。複数のビデオストリームＶｓ内の結合されるピクチャＰｃの対応づけは、各ビデオストリームＶｓの先頭位置等により自動的に、又はユーザ等により選択的に決定される。
【００３６】
図２の（２−３）に示すように、ビデオストリームＶｓは、例えば各々異なる内容（コンテンツ）のビデオストリーム（旅行、スポーツ、料理等）である。図２の（２−１）では、旅行のビデオストリームが９分割された画面の１段目左端の小画面に表示され、同様にスポーツのビデオストリームが１段目中央の小画面に、料理のビデオストリームが３段目左端の小画面に表示されている。このように、本実施形態では、複数の動画を一つの動画（映像）に結合し、必要に応じて適宜配信する。したがって、複数の動画が一つの動画（映像）として配信されるので、この映像を受信した受信側では、一般的なＰＣ搭載のビデオプレイヤーやＴＶセットボックス、スマートフォン、Ｗｅｂブラウザ等を用いて各動画を同時に再生することができる。
【００３７】
図３は、結合対象として抽出された複数のビデオストリームＶｓ、及び結合ビデオストリームＭｓの構成の詳細を示す図である。図３の（３−１），（３−２）には、結合対象として抽出されたビデオストリームＶｓ１とビデオストリームＶｓ２の構成例を示す。なお、図３の（３−１），（３−２）には、ビデオストリームＶｓ１とビデオストリームＶｓ２を構成するピクチャＰｃのうち、ピクチャＰｃ１〜ピクチャＰｃ９のみを図示している。
【００３８】
図３の（３−３）は、ビデオストリームＶｓ１（第１のビデオストリーム）のピクチャＰｃ３（第１のフレーム）と、ビデオストリームＶｓ２（第２のビデオストリーム）のピクチャＰｃ３（第２のフレーム）とを結合させる場合の結合処理のイメージを示したものである。図３の（３−３）の左図には、ビデオストリームＶｓ１のピクチャＰｃ３＿Ｖｓ１を示し、中央図には、ビデオストリームＶｓ２のピクチャＰｃ３＿Ｖｓ２を示す。
【００３９】
本実施形態では、ピクチャＰｃ同士の結合を、マクロブロック（ＭＢ＿０，ＭＢ＿１，・・・）が配列されたマクロブロックラインＬｎの１ライン単位で行う。（３−３）において、左図のピクチャＰｃ３＿Ｖｓ１の１ライン目のマクロブロックラインＬｎ１の右端には、中央図のビデオストリームＶｓ２のピクチャＰｃ３＿Ｖｓ２の１ライン目のマクロブロックラインＬｎ１の左端が接続される。同様に、中央図のピクチャＰｃ３＿Ｖｓ２の１ライン目のマクロブロックラインＬｎ１の右端には、右図のビデオストリームＶｓ３のピクチャＰｃ３＿Ｖｓ３の１ライン目のマクロブロックラインＬｎ１の左端が接続される。
【００４０】
なお、ピクチャＰｃ同士の結合の単位はこの例に限定されるものではなく、複数のマクロブロック単位や、複数のマクロブロックラインＬｎの単位、ピクチャＰｃ全体等、他の単位で行うようにしてもよい。
【００４１】
このようにして、複数のビデオストリームＶｓのピクチャＰｃ３同士が結合されることにより、図３の（３−４）に示すように、結合ビデオストリームＭｓの結合ピクチャＰｃｍ３（結合フレーム）が生成される。図３の（３−４）では、結合ピクチャＰｃｍ３が、９枚のピクチャ（ピクチャＰｃ３＿Ｖｓ１〜ピクチャＰｃ３＿Ｖｓ９）より構成される例を示している。
【００４２】
他の結合ピクチャＰｃｍも同様に生成されることにより、最終的に、図３の（３−５）に示すような、複数の結合ピクチャＰｃｍ（図３の（３−５）に示した例では結合ピクチャＰｃｍ１〜結合ピクチャＰｃｍ９）よりなる、結合ビデオストリームＭｓが生成される。
【００４３】
なお、結合対象として抽出されたビデオストリームＶｓが、Ｈ．２６４／ＡＶＣ等の、画面内予測符号化を採用している規格によって符号化されたものである場合には、画面内予測符号化で参照されるブロックも含めて結合する必要がある。画面内予測符号化とは、符号化済みの隣接ブロックの画素値から予測画像を生成し、その予測画像との差分を符号化する方式である。また、画面内予測符号化を採用した規格で符号化されたビデオストリームＶｓ同士を結合させる場合に生じうる画質劣化を抑える目的で、特別の工夫がなされた符号化方式を採用する場合があるが、そのような場合には、画質劣化抑制の実現のため必要となる付加的な符号化情報も、併せて結合するようにする。
【００４４】
また、図３には、ピクチャＰｃが複数のスライス（マクロブロックラインＬｎ）で構成され、スライスを構成する各マクロブロック（ＭＢ＿０，ＭＢ＿１，・・・）が、左から右、上から下の順に連続的に配置されている例を示した。このような構造を有するピクチャＰｃ同士を結合して結合ピクチャＰｃｍを生成することで、結合ピクチャＰｃｍの生成後は、符号化の単位は結合ピクチャＰｃｍ単位となる。しかし、このような構造以外の構造を有するピクチャＰｃを結合の対象としてもよい。例えば、Ｈ．２６５におけるタイル構造を有するピクチャＰｃや、Ｈ．２６４における“Flexible Macroblock ordering”というモードで符号化されたピクチャＰｃ同士を結合する場合には、結合前の各ピクチャＰｃが持っていた構造が、結合後にもそのまま受け継がれる。すなわち、このような構造を有するピクチャＰｃ同士を結合させる場合には、ピクチャＰｃ全体を単位として結合を行うようにすればよい。
【００４５】
図２及び図３を参照して説明した結合ビデオストリームＶｓの生成処理は、結合ビデオストリーム生成部６によって、多重化ストリーム用ヘッダ生成部５による多重化ストリームのヘッダ生成処理の完了後に行われる。
【００４６】
［多重化設定情報の詳細］
多重化設定情報Ｃｆには、最終的に生成される多重化ストリームの生成に必要な情報、又は多重化ストリームのヘッダの生成に必要な情報が記述される。より詳細には、多重化設定情報Ｃｆは、例えば以下のような項目で構成される。
【００４７】
（１）結合対象のビデオストリームＶｓとして抽出された各ビデオストリームＶｓのフレームレート情報
（２）各ビデオストリームＶｓのイントラピクチャレート（例えば、ビデオストリームＶｓがＨ．２６４／ＡＶＣの規格で符号化されたものであれば、「ＩＤＲ（Instantaneous Decoding Refresh）フレームレート」が相当）
（３）各ビデオストリームＶｓの解像度（横方向のピクセル数，縦方向のピクセル数）
（４）結合ビデオストリームＭｓ内での、各ビデオストリームＶｓの座標位置（横方向の座標位置，縦方向の座標位置）
（５）結合ビデオストリームＭｓを構成する各ビデオストリームＶｓのパス（保存場所）
（６）結合ビデオストリームＭｓの横方向におけるビデオストリームＶｓのピクチャＰｃの数
（７）結合ビデオストリームＭｓの縦方向におけるビデオストリームＶｓのピクチャＰｃの数
（８）結合ビデオストリームＭｓの総フレーム数
（９）最終的に生成される多重化ストリームの出力先（保存場所へのパス又はネットワークアドレス）
【００４８】
多重化設定情報Ｃｆに含まれる項目のうち、（１）は、多重化ストリームのヘッダに書き込まれる情報である。この情報は、多重化ストリームのメディアデータ（実データ部分）を構成する各チャンクを、どのような単位で生成するかを規定するためにも使用される。チャンクとは、複数のピクチャ（又はオーディオデータ）をひとまとまりとする、データの論理的な単位である。例えば、１つのチャンクの長さが０．５秒に設定されており、（１）に記述されたフレームレートが３０ｆｐｓであるとする。この場合、１つのチャンクを構成するピクチャの数は１５となる。すなわち、１５枚分のピクチャをひとまとまりとして、１つのチャンクを生成すればよいことになる。
【００４９】
多重化設定情報Ｃｆに含まれる項目のうち、（２）は、多重化ストリームのヘッダに書き込まれる情報である。（２）に記載された各ビデオストリームＶｓのイントラピクチャレートの情報は、多重化ストリームを受信した受信装置側で、ランダムアクセスの実行時に参照される。
【００５０】
なお、上述した（１）及び（２）は、多重化設定情報Ｃｆとして記述しないで、ビデオストリーム解析部３が結合対象のビデオストリームＶｓを解析することによって、その都度取得するようにしてもよい。
【００５１】
多重化設定情報Ｃｆに含まれる項目のうち、（３）〜（８）は、結合ビデオストリーム生成部６が結合ビデオストリームＭｓを生成する際に参照する情報である。（３）〜（５）は、どのビデオストリームＶｓのどの部分をどこから抽出して、結合ビデオストリームＭｓのどの位置に配置するかを規定する情報である。（６）〜（８）は、結合ビデオストリームＭｓの横方向、縦方向、及び時間方向のサイズを規定する情報である。
【００５２】
多重化設定情報Ｃｆの（３）も、予め多重化設定情報Ｃｆとして記述しておかずに、ビデオストリーム解析部３が結合対象のビデオストリームＶｓを解析することによって、その都度取得するようにしてもよい。ただし、（３）の情報を予め多重化設定情報Ｃｆに記述しておけば、異常が含まれるビデオストリームＶｓが入力された際に、（３）の情報を参照して異常を検知することが可能となる。
【００５３】
多重化設定情報Ｃｆに含まれる項目のうち、（９）は、最終的に生成される多重化ストリームの出力先の場所を示す情報である。多重化ストリームを記憶装置や記憶媒体に保存する場合には、保存場所へのパスが記載される。また、多重化ストリームがネットワークを介して所定の受信装置に送信される場合には、受信装置のネットワークアドレスが記載される。
【００５４】
なお、多重化設定情報Ｃｆに記述する情報は（１）〜（８）に限定されるものではなく、その他の情報を追加してもよい。例えば、結合対象として抽出するビデオストリームＶｓのピクチャＰｃの範囲を指定する情報を記載してもよい。例えば、結合ビデオストリームＭｓの生成用に抽出するピクチャ群における、抽出開始フレーム番号、及び抽出ピクチャ数を記載することで、ビデオストリームＶｓの任意の位置のピクチャＰｃ同士を抽出して、結合ビデオストリームＭｓを生成することも可能となる。
【００５５】
［ビデオストリーム解析部の処理の詳細］
ビデオストリーム解析部３は、結合対象として抽出された各ビデオストリームＶｓを解析して、ビデオストリームＶｓを構成する各ピクチャのピクチャタイプ（Ｉピクチャ、Ｐピクチャ、Ｂピクチャ等のピクチャの種別）を取得する。また、ビデオストリーム解析部３は、ビデオストリームＶｓを構成する各ピクチャ（フレーム）の符号量（データサイズ）を算出する。すなわち、つまり、ビデオストリーム解析部３は、データサイズ算出部として機能する。
【００５６】
図４に、ビデオストリームＶｓの構成例を示す。ビデオストリームＶｓは、複数のピクチャＰｃ（ピクチャＰｃ１〜ピクチャＰｃＮ）よりなり、各ピクチャＰｃは、ピクチャヘッダＨｐ（ピクチャヘッダＨｐ１〜ピクチャヘッダＨｐＮ）及びピクチャデータＤｐ（ピクチャデータＤｐ１〜ピクチャデータＤｐＮ）で構成される。
【００５７】
ビデオストリーム解析部３は、各ビデオストリームＶｓを対象として、ファイルの先頭から１バイトずつ移動しながらピクチャヘッダＨｐを探索する。ピクチャヘッダＨｐの探索を行うことにより、例えば、ビデオストリームＶｓ１のピクチャＰｃ２のピクチャヘッダＨｐ２を検出した時点で、ビデオストリームＶｓ１のピクチャＰｃ１の符号量ｂ（図１及び図２参照）が判明する。
【００５８】
ビデオストリーム解析部３は、このヘッダ探索の処理をビデオストリームＶｓの先頭から終端まで行うことにより、ビデオストリームＶｓを構成するすべてのピクチャＰｃの符号量ｂを取得する。
【００５９】
［多重化ストリーム用ヘッダ用情報算出部の処理の詳細］
多重化ストリーム用ヘッダ用情報算出部４は、ビデオストリーム解析部３による解析の結果得られた情報を用いて、多重化ストリームのヘッダ生成に必要な情報を算出する。多重化ストリームのヘッダ生成に必要な情報とは、異なるビデオストリームＶｓのピクチャＰｃ同士を結合したと想定した場合に得られる結合ピクチャＰｃｍの符号量Ｂと、最終的に生成される多重化ストリームのメディアデータ部分における、各チャンクの位置の情報である。
【００６０】
図５に、多重化ストリームＳの構成例を示す。多重化ストリームＳは、ヘッダＨ及びメディアデータＤで構成される。メディアデータＤは、複数のチャンクＣｋ（図５の例ではチャンクＣｋ１〜チャンクＣｋ３）よりなる。各チャンクＣｋは、複数の結合ピクチャＰｃｍで構成される。なお、図５には、説明を簡略化するため、オーディオストリームＡｓを含まない、結合ビデオストリームＭｓの結合ピクチャＰｃｍのみで、各チャンクＣｋが構成される例を示している。
【００６１】
多重化ストリーム用ヘッダ用情報算出部４は、ビデオストリーム解析部３で算出された各ピクチャＰｃの符号量ｂを合計することで、各チャンクＣｋを構成する各結合ピクチャＰｃｍの符号量Ｂ（図２参照）を算出する。すなわち、多重化ストリーム用ヘッダ用情報算出部４も、データサイズ算出部として機能する。例えば、図２の（２−１）に示した結合ビデオストリームＭｓにおける結合ピクチャＰｃｍｎは、図２の（２−２）に示すビデオストリームＶｓ１〜ビデオストリームＶｓＭの各ピクチャＰｃｎが結合されることにより生成される。したがって、図２の（２−２）に示すビデオストリームＶｓ１〜ビデオストリームＶｓＭの各ピクチャＰｃｎの符号量ｂを合計した値が、すなわち図２の（２−１）に示す結合ピクチャＰｃｍｎの符号量Ｂとなる。
【００６２】
なお、ピクチャＰｃｎ同士を結合させる際に付加的な符号化情報も追加する符号化方式を用いる場合には、ピクチャＰｃｎの符号量ｂに付加的な符号化情報の符号量を追加した符号量が、符号量Ｂとなる。すなわち、符号量Ｂは、結合前のビデオストリームのピクチャＰｃｎの符号量に加えて，符号結合時の映像符号修正や符号追加処理により増加する符号量を考慮して算出される。例えばＨ．２６４／ＡＶＣは、数百から１０００以上のユーザからの視聴要求に対応するため、１コアのＣＰＵにより、リアルタイムに超高速に圧縮された映像符号を結合する処理を目標の一つとしている。Ｈ．２６４／ＡＶＣでは、様々な符号化モード制御や（ビット単位ではなく）バイト単位ストリームとなるような可変長符号制御などにより、特殊な映像符号（結合前のビデオストリームに相当）が作成される。そして、上記目標を達成するため、Ｈ．２６４／ＡＶＣでは、生成した映像符号に対して、ユーザ要求に応じて、動的に、圧縮した状態で符号を修正あるいは新しい符号を追加することにより、ビット操作することなく、Ｈ．２６４／ＡＶＣに準拠した結合映像符号ストリーム（結合ストリームに相当）を作成する。
【００６３】
結合ビデオストリームＭｓを構成する各結合ピクチャＰｃｍの符号量Ｂが判明すれば、結合ビデオストリームＭｓのメディアデータＤにおける各結合ピクチャＰｃｍの先頭位置も判明する。また、上述したように、多重化設定情報Ｃｆに記載のフレームレート情報を参照することで、多重化ストリームＳを構成する各チャンクＣｋを、何枚の結合ピクチャＰｃｍをひとまとまりとして形成すべきかの情報も求まる。すなわち、結合ビデオストリームＭｓを構成する各結合ピクチャＰｃｍの符号量Ｂが算出されることで、ヘッダＨを含まない多重ストリームＳのメディアデータＤにおける、各チャンクＣｋの先頭位置も算出することができる。
【００６４】
本実施形態では、メディアデータＤにおける各チャンクＣｋの先頭位置は、メディアデータＤの先頭位置との差分（オフセット量）を示すオフセット位置（第１の位置）で表される。図５には、一例として、チャンクＣｋ２の先頭位置の、メディアデータＤの先頭位置からのオフセット位置Ｒｐ＿Ｃｋ２を記載している。
【００６５】
つまり、本実施形態によれば、複数のビデオストリームＶｓのピクチャＰｃ同士を実際に結合して結合ビデオストリームＭｓを生成することなく、多重化ストリームＳのヘッダＨの生成に必要な情報、すなわち、各結合ピクチャＰｃｍの符号量Ｂと各チャンクＣｋの先頭位置に関する情報を算出することができる。
【００６６】
［多重化ストリーム用ヘッダ生成部の処理の詳細］
続いて、図６〜図８を参照して、多重化ストリーム用ヘッダ生成部５の処理の詳細について説明する。多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダ用情報算出部４で算出された情報を用いて、多重化ストリームＳのヘッダＨの構成情報（構造体）を生成する。
【００６７】
図６は、多重化ストリームＳのデータ構造の例を示す図である。多重化ストリームＳは、上述のように、ＭＰ４ファイルフォーマットに準拠したファイルとして生成される。多重化ストリームＳは、多くのＢＯＸ（ボックス）情報（構成要素）の集合体として構成される。各ボックス情報は、カテゴリーごとに階層化されている。
【００６８】
一番上にあるｆｔｙｐボックスＢｘ１には、ファイルの互換性を示す情報が格納される。その下のｍｏｏｖボックスＢｘ２に、多重化ストリームＳのヘッダ情報が格納される。ｍｄａｔボックスＢｘ３には、メディアデータＤ、すなわち、結合ビデオストリームＭｓ及びオーディオストリームＡｓが格納される。
【００６９】
ｍｏｏｖボックスＢｘ２内のｓｔｓｚボックスＢｘ４には、メディアデータＤ内の各チャンクを構成する各ピクチャＰｃｍのサイズ情報が格納される。図７に、ｓｔｓｚボックスＢｘ４のデータ構造の例を示す。図７に示すように、ｓｔｓｚボックスＢｘ４には、各チャンクを構成する各ピクチャＰｃｍのサイズが、entry_size（エントリーサイズ）Ｅ２として、sample_count（サンプルカウント）Ｅ１として記述されるピクチャＰｃｍの数の分だけ記述される。
【００７０】
図６に戻って説明を続ける。ｍｏｏｖボックスＢｘ２内のｓｔｃｏボックスＢｘ５には、ｍｄａｔボックスＢｘ３に格納されたメディアデータＤを構成する各チャンクの先頭位置情報が格納される。図８に、ｓｔｃｏボックスＢｘ５のデータ構造の例を示す。図８に示すように、ｓｔｃｏボックスＢｘ５には、メディアデータＤを構成する各チャンクの先頭位置情報が、chunk_offset（チャンクオフセット）Ｅ４として、entry_count（エントリーカウント）Ｅ３の分だけ記述される。
【００７１】
各チャンクＣｋの先頭位置は、多重化ストリームＳのヘッダＨを含むファイル全体の先頭位置からのオフセット位置で記述される。しかし、各チャンクＣｋの先頭位置は、ヘッダＨのデータサイズが判明してからでないと算出することができない。また、ヘッダＨのデータサイズは、ヘッダＨを構成する各構成要素が記述されてからでないと判明しない。
【００７２】
したがって、従来は、ビデオストリームＶｓを実際に結合して結合ビデオストリームＭｓを生成し、生成された結合ビデオストリームＭｓを解析することによって、ヘッダＨの生成に必要な情報を取得してから、ヘッダＨを生成することを行っていた。
【００７３】
これに対して本実施形態では、多重化ストリーム用ヘッダ用情報算出部４で算出された、各チャンクＣｋを構成する各結合ピクチャＰｃｍの符号量Ｂを用いて、多重化ストリーム用ヘッダ生成部５が、多重化ストリームＳのヘッダＨの構成情報を生成する。このとき、上述したｍｏｏｖボックスＢｘ２内のｓｔｃｏボックスＢｘ５には、各チャンクの先頭位置として、ヘッダＨを含まないメディアデータＤの先頭位置からのオフセット位置（第１の位置）を仮に代入しておく。そして、ヘッダＨの構成情報が生成されることによって、ヘッダＨのデータサイズが求まった時点で、多重化ストリームにおける各チャンクの本当の先頭位置（絶対位置）が決定される。すなわち、ｓｔｃｏボックスＢｘ５に仮に代入しておいた各チャンクの先頭位置、すなわちヘッダＨを含まないメディアデータＤの先頭位置からのオフセット位置（第１の位置）を、ヘッダＨを含むファイル全体の先頭位置からの絶対位置（第２の位置）に書き替えることを行う。図５には、ヘッダＨを含むファイル全体の先頭位置からチャンクＣｋ２の先頭位置までの絶対位置を、位置Ａｐ＿Ｃｋ２として示している。
【００７４】
＜データ処理の例＞
続いて、第１の実施形態によるデータ処理の例について、図９のフローチャートを参照しながら説明する。まず、制御部２が、記憶部１から多重化設定情報Ｃｆを取得する（ステップＳ１）。その後、同じく制御部２が、取得した多重化設定情報Ｃｆに記載の情報に基づいて、結合対象とされた複数のビデオストリームＶｓを取得する（ステップＳ２）。次いで、制御部２は、ビデオストリーム解析部３に対して、ビデオストリームＶｓの解析依頼を送信する（ステップＳ３）。このとき、制御部２は、結合対象ビデオストリームの解析依頼とともに、複数のビデオストリームＶｓも送信する。なお、複数のビデオストリームＶｓの送信は、データそのものを送信してもよいが、ビデオストリームＶｓの保存場所のパスの情報のみを送信してもよい。
【００７５】
ビデオストリーム解析部３は、制御部２から送信された結合対象ビデオストリームの解析依頼を受信すると、結合対象として抽出された各ビデオストリームＶｓの解析を行う（ステップＳ４）。ビデオストリーム解析部３は、結合対象として抽出された各ビデオストリームＶｓを解析することで、各ビデオストリームＶｓを構成する各ピクチャＰｃのピクチャタイプを取得するとともに、各ビデオストリームＶｓを構成する各ピクチャＰｃの符号量ｂを算出する。
【００７６】
各ビデオストリームＶｓを構成する各ピクチャＰｃのピクチャタイプ、及び符号量ｂを取得した後は、ビデオストリーム解析部３は、これらの情報を、結合対象ビデオストリームの解析結果として制御部２に送信する（ステップＳ５）。
【００７７】
次いで、制御部２から多重化ストリーム用ヘッダ用情報算出部４に対して、多重化ストリーム用ヘッダ用情報の算出依頼が送信される（ステップＳ６）。多重化ストリーム用ヘッダ用情報の算出依頼には、ビデオストリーム解析部３の解析結果（各ビデオストリームＶｓを構成する各ピクチャＰｃの符号量ｂ等）、及び多重化設定情報Ｃｆの（１），（２），（６），（７），（８）が含まれる。
【００７８】
多重化ストリーム用ヘッダ用情報算出部４は、制御部２から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する（ステップＳ７）。多重化ストリーム用ヘッダ用情報算出部４は、多重化ストリーム用ヘッダ用情報として、多重化ストリームＳを構成する各結合ピクチャＰｃｍの符号量Ｂ、及び、多重化ストリームＳのメディアデータＤにおける各チャンクＣｋの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部４は、生成した多重化ストリーム用ヘッダ用情報を、制御部２に送信する（ステップＳ８）。
【００７９】
次いで、制御部２から多重化ストリーム用ヘッダ生成部５に対して、多重化ストリーム用ヘッダの生成依頼が送信される（ステップＳ９）。制御部２は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部４で算出された多重化ストリーム用ヘッダ用情報も送信する。
【００８０】
多重化ストリーム用ヘッダ生成部５は、制御部２から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームＳ用のヘッダＨの生成処理を行う（ステップＳ１０）。多重化ストリーム用ヘッダの生成処理については、図１０Ｂを参照して後述する。
【００８１】
多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームＳ用のヘッダＨを、制御部２に送信する（ステップＳ１１）。
【００８２】
次いで、制御部２から多重化ストリーム出力部７に対して、多重化ストリーム用ヘッダの出力依頼が送信される（ステップＳ１２）。このとき、制御部２は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部５で生成された多重化ストリームＳ用のヘッダＨも送信する。
【００８３】
多重化ストリーム出力部７は、制御部２から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームＳ用のヘッダＨを出力する（ステップＳ１３）。多重化ストリーム出力部７から出力された多重化ストリームＳ用のヘッダＨは、受信装置等に送信される。多重化ストリーム出力部７は、多重化ストリームＳ用のヘッダＨの出力を終えると、制御部２に対して、多重化ストリーム用ヘッダの出力完了を通知する（ステップＳ１４）。
【００８４】
次いで、制御部２から結合ビデオストリーム生成部６に対して、ビデオストリームＶｓの結合依頼が送信される（ステップＳ１５）。ビデオストリームＶｓの結合依頼には、ビデオストリームＶｓ、及び多重化設定情報Ｃｆの（４），（６）〜（８）が含まれる。
【００８５】
結合ビデオストリーム生成部６は、制御部２から送信されたビデオストリームＶｓの結合依頼を受信すると、複数のビデオストリームＶｓをピクチャＰｃの単位で結合することにより、結合ビデオストリームＭｓを生成する（ステップＳ１６）。その後、結合ビデオストリーム生成部６は、生成した結合ビデオストリームＭｓを、制御部２に送信する（ステップＳ１７）。なお、ステップＳ１５の結合依頼の送信処理、及びステップＳ１６の結合ビデオストリームＭｓの生成処理は、結合の対象となっているすべてのピクチャＰｃの結合が完了するまでの間、繰り返し行われる。
【００８６】
次いで、制御部２から多重化ストリーム出力部７に対して、多重化ストリームＳの出力依頼が送信される（ステップＳ１８）。多重化ストリーム出力部７は、制御部２から送信された多重化ストリームＳの出力依頼を受信すると、結合ビデオストリームＭｓ及びオーディオストリームＡｓの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームＭｓ及びオーディオストリームＡｓを多重化ストリームＳとして出力する（ステップＳ１９）。多重化ストリーム出力部７は、多重化ストリームＳの出力が終わると、制御部２に対して、多重化ストリームＳの出力完了を通知する（ステップＳ２０）。
【００８７】
［多重化ストリームの生成処理］
ここで、図１０Ａ及び図１０Ｂを参照して、多重化ストリームの生成処理について説明する。図１０Ａは、多重化ストリームの全体的な処理手順を示すフローチャートである。図１０Ｂは、図１０Ａの多重化ストリーム用ヘッダの生成処理（ステップＳ３１）の一例を示すフローチャートである。
図１０Ａにおいて、まず多重化ストリーム用ヘッダ生成部５は、多重化用ストリーム用ヘッダの生成及び挿入（多重化）処理を行う（ステップＳ３１）。次に、結合ビデオストリーム生成部６は、多重化ストリーム用ヘッダ生成部５により生成された多重化用ストリーム用ヘッダに基づいて、複数のビデオストリームを結合する処理を行う（ステップＳ３２）。そして、多重化ストリーム出力部７は、結合ビデオストリームの挿入（多重化）処理を行う（ステップＳ３３）。すなわち、本実施形態では、多重化ストリーム用ヘッダの生成処理（ステップＳ３１）の後で、複数のビデオストリームの結合処理（ステップＳ３２）を行う。
【００８８】
なお、上述の挿入（多重化）処理とは、生成したヘッダ又は結合ビデオストリームを最終的に出力する多重化ストリームとして、あるいは多重化ストリームに多重化することを指す。多重化ストリームは、ヘッダやメディアデータがある順序に従って順々に構成されているものであり、その多重化ストリームの後ろにヘッダや結合ビデオストリームが次から次へと追加されていくことになる。そして、ストリーミング中は、このような追加が行われながら、多重化ストリームに先に追加されたヘッダや結合ビデオストリームから順次、ネットワークへ送信されていく。ただし、ヘッダの生成初期には挿入（多重化）の対象となる多重化ストリームが存在しないため、最初のヘッダの先頭（１バイト目）の後に、順次、ヘッダやメディアデータ（結合ビデオストリーム）が追加されていく。
【００８９】
［多重化ストリーム用ヘッダの生成処理の詳細］
次に、図１０Ｂを参照して、多重化ストリーム用ヘッダ生成部５による多重化ストリーム用ヘッダの生成処理（図１０ＡのステップＳ３１）について説明する。
まず、多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダ用情報として算出された、結合ビデオストリームＭｓを構成する各結合ピクチャＰｃｍの符号量Ｂを用いて、多重化ストリームＳのヘッダＨ内のｓｔｓｚボックスＢｘ４（図６参照）を生成する（ステップＳ３１１）。つまり、図７に示したｓｔｓｚボックスＢｘ４のエントリーサイズＥ２に、各結合ピクチャＰｃｍの符号量Ｂを書き込む処理を行う。
【００９０】
次いで、多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダ用情報として算出された、多重化ストリームＳのメディアデータＤの先頭位置から各チャンクＣｋまでのオフセット位置の情報を用いて、多重化ストリームＳのヘッダＨ内のｓｔｃｏボックスＢｘ５を生成する（ステップＳ３１２）。すなわち、図８に示したｓｔｃｏボックスＢｘ５のチャンクオフセットＥ４に、各チャンクＣｋの先頭位置における、多重化ストリームＳのメディアデータＤの先頭位置からのオフセット位置を書き込む処理を行う。
【００９１】
続いて、多重化ストリーム用ヘッダ生成部５は、ヘッダＨを構成する他の各ボックスの生成も行うことで、多重化ストリームＳ用のヘッダＨの構成情報を生成する（ステップＳ３１３）。この時点で、多重化ストリームＳのヘッダＨのサイズが確定する。
【００９２】
次いで、多重化ストリーム用ヘッダ生成部５は、多重化ストリームＳ用のヘッダＨのサイズの情報を用いて、ヘッダ構成情報内のｓｔｃｏボックスＢｘ５のチャンクオフセットＥ４（図８参照）の値を書き替える処理を行う。より詳細には、チャンクオフセットＥ４として記述された、各チャンクＣｋにおけるメディアデータＤの先頭位置からのオフセット位置を、ヘッダＨを含む多重化ストリームＳ全体の先頭位置からの絶対位置に書き替える処理を行う（ステップＳ３１４）。
【００９３】
その後、多重化ストリーム用ヘッダ生成部５は、多重化ストリームＳ用のヘッダＨを生成する（ステップＳ３１５）。すなわち、ヘッダＨをバイナリデータ化する処理を行う。
【００９４】
上記第１の実施形態によれば、ビデオストリームＶｓ同士を実際に結合させて結合ビデオストリームＭｓを生成する処理を行うことなく、多重化ストリームＳのヘッダＨを生成及び出力することが可能となる。すなわち、多重ストリームＳのメディアデータＤの部分を構成する結合ビデオストリームＭｓが生成されていなくても、ヘッダＨのみを先に受信装置側に送信することができる。これにより、受信装置側で、復号処理の準備を早期に行うことが可能となり、受信装置側において、映像の再生を早い段階で開始できるようになる。
【００９５】
また、上記第１の実施形態によれば、多重化ストリームＳのヘッダＨを作成するにあたって、先に結合ビデオストリームＭｓを生成しておく必要がなくなる。したがって、ヘッダＨの生成用に作成した結合ビデオストリームＭｓを、ヘッダＨが生成されるまでの間、記憶媒体又は記憶装置等に一時的に記憶させる処理も、行わなくて済む。
【００９６】
これにより、結合ビデオストリームＭｓを記憶媒体又は記憶装置等に読み書きする場合にかかるＣＰＵへの負担自体が、発生しなくなる。また、結合ビデオストリームＭｓを記憶媒体又は記憶装置等に読み書きする時間も発生しなくなるため、処理の時間を大幅に短縮することができる。さらに、多重化ストリームＳを記憶部１等に記憶させずに、ネットワークに出力する実施形態においては、多重化処理が行われる前の結合ビデオストリームＭｓを記憶部１に記憶させておく必要がないため、記憶部１の容量を大幅に節減できる。したがって、データ処理装置１００の低コスト化も図ることができる。
【００９７】
［第２の実施形態］
上記第１の実施形態では、ビデオストリーム解析部３によるビデオストリームＶｓの解析を、多重化処理を行う毎に実施する例を挙げたが、本発明はこれに限定されない。ビデオストリーム解析部３によるビデオストリームＶｓの解析結果を、ビデオストリームＶｓのメタデータとして、テキストファイルやデータベース等に蓄積しておくようにしてもよい。
【００９８】
図１１は、第２の実施形態に係るデータ処理装置１００αの構成例を示すブロック図である。図１１において、図１と対応する箇所には同一の符号を付してあり、重複する説明は省略する。図１１に示す構成は、図１に示した構成に、ビデオストリームメタデータＤＢ（データベース）８を追加したものである。ビデオストリームメタデータＤＢ８は、ビデオストリーム解析部３による解析結果を、ビデオストリームＶｓのメタデータとして蓄積するデータベースである。
【００９９】
図１２は、データ処理装置１００αによるデータ処理の例を示すフローチャートである。まず、図１１に示した映像信号符号化部１１等よりビデオストリームＶｓが送信され、記憶部１に入力されると（ステップＳ４１）、記憶部１から制御部２に対して、ビデオストリームＶｓの入力通知が行われる（ステップＳ４２）。つまり、記憶部１は、今後結合ビデオストリームＭｓとして結合される可能性のある新しいビデオストリームＶｓが入力されたことを、制御部２に通知する。このとき、記憶部１は、ビデオストリームＶｓの入力通知とともに、新たに入力されたビデオストリームＶｓの位置情報も併せて送信する。ビデオストリームＶｓの位置情報とは、例えば、ビデオストリームＶｓの保存場所へのパス、ビデオストリームＶｓの識別子等を指す。
【０１００】
次いで、制御部２からビデオストリーム解析部３に対して、ビデオストリームＶｓの解析依頼が送信される（ステップＳ４３）。制御部２は、ビデオストリームＶｓの解析依頼として、ビデオストリーム解析部３に、ビデオストリームＶｓを構成する各ピクチャＰｃのピクチャタイプ、及び各ピクチャＰｃの符号量ｂの算出を依頼する。このとき、制御部２は、ビデオストリームＶｓの識別子も一緒に送信する。
【０１０１】
ビデオストリーム解析部３は、制御部２から送信されたビデオストリームＶｓの解析依頼を受信すると、ビデオストリームＶｓの解析を行う（ステップＳ４４）。ビデオストリーム解析部３は、ビデオストリームＶｓを解析することにより、ビデオストリームＶｓを構成する各ピクチャＰｃのピクチャタイプ、及び各ピクチャＰｃの符号量を取得する。
【０１０２】
続いて、ビデオストリーム解析部３は、ビデオストリームＶｓの解析結果を、ビデオストリームＶｓのメタデータとして、ビデオストリームメタデータＤＢ８に登録する（ステップＳ４５）。ビデオストリームメタデータＤＢ８は、ビデオストリームＶｓのデータベースへの登録が完了すると、ビデオストリーム解析部３に対して登録完了の通知を行う（ステップＳ４６）。ビデオストリーム解析部３は、ビデオストリームメタデータＤＢ８から送信された登録完了通知を受信すると、制御部２に対して、ビデオストリームＶｓの解析の完了を通知する（ステップＳ４７）。
【０１０３】
ここまで説明したステップ図１２のＳ４１〜ステップＳ４７までの処理は、記憶部１に新しいビデオストリームＶｓが入力される都度、新たに入力されたすべてのビデオストリームＶｓを対象として行われる。
【０１０４】
図１３は、データ処理装置１００αによる多重化処理の例を示すフローチャートである。図１３に示す処理は、ユーザ等より多重化処理の実施依頼が行われたタイミングで行われる処理であり、図１２を参照して説明したメタデータの登録処理とは非同期に行われる。
【０１０５】
まず、制御部２が、記憶部１から多重化設定情報Ｃｆを取得する（ステップＳ５１）。その後、同じく制御部２が、取得した多重化設定情報Ｃｆに記載の情報に基づいて、結合対象とされた複数のビデオストリームＶｓを取得する（ステップＳ５２）。制御部２は、さらに、ビデオストリームメタデータＤＢ８より、結合対象のビデオストリームＶｓのメタデータも取得する（ステップＳ５３）。
【０１０６】
次いで、制御部２は、多重化ストリーム用ヘッダ用情報算出部４に対して、多重化ストリーム用ヘッダ用情報の算出依頼を送信する（ステップＳ５４）。このとき、制御部２は、多重化ストリーム用ヘッダ用情報の算出依頼とともに、結合対象のビデオストリームＶｓのメタデータも送信する。
【０１０７】
多重化ストリーム用ヘッダ用情報算出部４は、制御部２から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する（ステップＳ５５）。多重化ストリーム用ヘッダ用情報算出部４は、多重化ストリーム用ヘッダ用情報として、多重化ストリームＳを構成する各結合ピクチャＰｃｍの符号量Ｂ、及び、多重化ストリームＳのメディアデータＤにおける各チャンクＣｋの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部４は、生成した多重化ストリーム用ヘッダ用情報を、制御部２に送信する（ステップＳ５６）。
【０１０８】
次いで、制御部２から多重化ストリーム用ヘッダ生成部５に対して、多重化ストリーム用ヘッダの生成依頼が送信される（ステップＳ５７）。制御部２は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部４で算出された多重化ストリーム用ヘッダ用情報も送信する。
【０１０９】
多重化ストリーム用ヘッダ生成部５は、制御部２から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームＳ用ヘッダＨの生成処理を行う（ステップＳ５８）。多重化ストリーム用ヘッダの生成処理については、図１０Ｂを参照して説明した通りであるから、ここでは説明を省略する。
【０１１０】
多重化ストリーム用ヘッダ生成部５は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームＳ用のヘッダＨを、制御部２に送信する（ステップＳ５９）。次いで、制御部２から多重化ストリーム出力部７に対して、多重化ストリーム用ヘッダの出力依頼が送信される（ステップＳ６０）。このとき、制御部２は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部５で生成された多重化ストリームＳ用のヘッダＨも送信する。
【０１１１】
多重化ストリーム出力部７は、制御部２から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームＳ用のヘッダＨを出力する（ステップＳ６１）。多重化ストリーム出力部７から出力された多重化ストリームＳ用のヘッダＨは、受信装置等に送信される。多重化ストリーム出力部７は、多重化ストリームＳ用のヘッダＨの出力を終えると、制御部２に対して、多重化ストリーム用ヘッダの出力完了を通知する（ステップＳ６２）。
【０１１２】
次いで、制御部２から結合ビデオストリーム生成部６に対して、ビデオストリームＶｓの結合依頼が送信される（ステップＳ６３）。ビデオストリームＶｓの結合依頼には、ビデオストリームＶｓ、及び、ビデオストリームＶｓの位置情報、結合ビデオストリームＭｓの構成情報（各ビデオストリームＶｓの結合予定位置等）も含まれる。
【０１１３】
結合ビデオストリーム生成部６は、制御部２から送信されたビデオストリームＶｓの結合依頼を受信すると、複数のビデオストリームＶｓのピクチャＰｃ同士を結合することにより、結合ビデオストリームＭｓを生成する（ステップＳ６４）。その後、結合ビデオストリーム生成部６は、生成した結合ビデオストリームＭｓを、制御部２に送信する（ステップＳ６５）。
【０１１４】
次いで、制御部２から多重化ストリーム出力部７に対して、多重化ストリームＳの出力依頼が送信される（ステップＳ６６）。多重化ストリーム出力部７は、制御部２から送信された多重化ストリームＳの出力依頼を受信すると、結合ビデオストリームＭｓ及びオーディオストリームＡｓの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームＭｓ及びオーディオストリームＡｓを、多重化ストリームＳとして出力する（ステップＳ６７）。多重化ストリーム出力部７は、多重化ストリームＳの出力が終わると、制御部２に対して、多重化ストリームＳの出力完了を通知する（ステップＳ６８）。
【０１１５】
上記第２の実施形態によれば、前述した第１の実施形態によって得られる効果と同様の効果を得ることができる。また、上記第２の実施形態によれば、多重化処理を行う毎に、結合対象となったビデオストリームＶｓの解析を毎回行う必要がなくなる。したがって、２回目以降にビデオストリームＶｓの解析を行う時間を削減することができる。
【０１１６】
〔第３の実施形態〕
上述した各実施形態では、ひとつのデータ処理装置１００（１００α）が結合ビデオストリームＭｓの生成も多重化処理も行う例を挙げたが、本発明はこれに限定されない。例えば、複数のサーバに処理を分散して行わせてもよい。
【０１１７】
図１４は、結合ビデオストリームＭｓの生成を行う結合サーバ２００と、多重化処理を行う多重化制御サーバ３００と、多重化ストリーム出力部４０とを有するデータ処理システム５０の構成例を示すブロック図である。結合サーバ２００は、ビデオストリーム記憶部２１と、結合制御部２２と、ビデオストリーム解析部２３と、ビデオストリームメタデータＤＢ２４と、結合ビデオストリーム生成部２５とを備える。なお、図１４に示すデータ処理システム５０は、説明を簡略化するため、ビデオストリームＶｓのみを結合及び多重化する構成を例にあげている。
【０１１８】
ビデオストリーム記憶部２１は、ＨＤＤ等よりなり、外部より入力されたビデオストリームＶｓが記憶される。結合制御部２２は、ＣＰＵ等よりなり、結合サーバ２００を構成する各部の制御を行う。ビデオストリーム解析部２３は、上述した各実施形態におけるビデオストリーム解析部３と同様に、ビデオストリームＶｓの解析を行い、ビデオストリームＶｓを構成する各ピクチャのピクチャタイプを取得するとともに、各ピクチャの符号量ｂを算出する。
【０１１９】
ビデオストリームメタデータＤＢ２４は、図１１に示したビデオストリームメタデータＤＢ８と同一のものであり、ビデオストリームＶｓの解析結果がビデオストリームＶｓのメタデータとして登録される。結合ビデオストリーム生成部２５は、上述した各実施形態における結合ビデオストリーム生成部６と同一であり、複数のビデオストリームＶｓを結合することにより結合ビデオストリームＭｓを生成する。
【０１２０】
多重化制御サーバ３００は、多重化設定情報記憶部３１と、ビデオストリームメタデータアクセス情報ＤＢ３２と、多重化制御部３３と、多重化ストリーム用ヘッダ用情報算出部３４と、多重化ストリーム用ヘッダ生成部３５とを備える。
【０１２１】
多重化設定情報記憶部３１は、ＨＤＤ等よりなり、多重化設定情報Ｃｆが記憶される。ビデオストリームメタデータアクセス情報ＤＢ３２は、ビデオストリームメタデータＤＢ２４にアクセスするためのアクセス情報が登録されるデータベースである。アクセス情報としては、例えば、ビデオストリームメタデータＤＢ２４のアドレス、ビデオストリームメタデータＤＢ２４を構成する各テーブルに付与されたテーブル識別子、ビデオストリームＶｓの識別子等の情報が登録される。
【０１２２】
多重化制御部３３は、ＣＰＵ等よりなり、多重化制御サーバ３００を構成する各部の制御を行う。多重化ストリーム用ヘッダ用情報算出部３４は、上述した各実施形態における多重化ストリーム用ヘッダ用情報算出部４と同一であり、多重化ストリームＳ用のヘッダＨの生成に必要な情報を算出する。多重化ストリーム用ヘッダ生成部３５は、上述した各実施形態における多重化ストリーム用ヘッダ生成部５と同一であり、多重化ストリームＳ用のヘッダＨを生成する。
【０１２３】
多重化ストリーム出力部４０は、上述した各実施形態における多重化ストリーム出力部７と同一であり、多重化ストリームＳ用のヘッダＨ、又は多重化ストリームＳを出力する。
【０１２４】
なお、図１４に示した例では、結合サーバ２００が１つのみである例を挙げたが、本発明はこれに限定されない。結合サーバ２００を複数設け、複数の結合サーバ２００から出力された各結合ビデオストリームＭｓを、多重化ストリーム出力部４０で多重化して出力する構成としてもよい。
【０１２５】
また、図１４に示した例では、多重化ストリーム出力部４０を、結合サーバ２００及び多重化制御サーバ３００の外に設けた例を挙げたが、本発明はこれに限定されない。多重化ストリーム出力部４０を、結合サーバ２００の中や、多重化制御サーバ３００の中に設けてもよい。
【０１２６】
また、図１４に示した例では、ビデオストリーム記憶部２１及びビデオストリームメタデータＤＢ２４を結合サーバ２００の中に設け、ビデオストリームメタデータアクセス情報ＤＢ３２を多重化制御サーバ３００の中に設けた例を挙げたが、本発明はこれに限定されない。これらの各データベースは、いずれのサーバ内に設けてもよく、結合サーバ２００又は多重化制御サーバ３００とは独立した他のサーバ内に設けてもよい。
【０１２７】
次に、第３の実施形態に係るデータ処理システム５０の処理の例について、図１５及び図１６のフローチャートを参照して説明する。図１５は、結合サーバ２００による処理の例を示すフローチャートであり、図１６は、多重化制御サーバ３００の処理、及び結合サーバ２００による結合ビデオストリームＭｓの生成処理の例を示すフローチャートである。
【０１２８】
まず、図１５を参照して、結合サーバ２００による処理の例を説明する。まず、図１又は図１１に示した映像信号符号化部１１等よりビデオストリームＶｓが送信され、ビデオストリーム記憶部２１に入力されると（ステップＳ７１）、ビデオストリーム記憶部２１から結合制御部２２に対して、ビデオストリームＶｓの入力通知が行われる（ステップＳ７２）。このとき、ビデオストリーム記憶部２１は、ビデオストリームＶｓの入力通知とともに、新たに入力されたビデオストリームＶｓの位置情報も併せて送信する。ビデオストリームＶｓの位置情報とは、例えば、ビデオストリームＶｓの保存場所へのパス、ビデオストリームＶｓの識別子等を指す。
【０１２９】
次いで、結合制御部２２からビデオストリーム解析部２３に対して、ビデオストリームＶｓの解析依頼が送信される（ステップＳ７３）。結合制御部２２は、ビデオストリームＶｓの解析依頼として、ビデオストリーム解析部２３に、ビデオストリームＶｓを構成する各ピクチャＰｃのピクチャタイプ、及び各ピクチャＰｃの符号量ｂの算出を依頼する。このとき、結合制御部２２は、ビデオストリームＶｓの識別子、及びビデオストリームＶｓの位置情報も一緒に送信する。
【０１３０】
ビデオストリーム解析部２３は、結合制御部２２から送信されたビデオストリームＶｓの解析依頼を受信すると、ビデオストリームＶｓの解析を行う（ステップＳ７４）。ビデオストリーム解析部２３は、ビデオストリームＶｓを解析することにより、ビデオストリームＶｓを構成する各ピクチャのピクチャタイプ、及び各ピクチャの符号量ｂを取得する。
【０１３１】
続いて、ビデオストリーム解析部２３は、ビデオストリームＶｓの解析結果を、ビデオストリームＶｓのメタデータとして、ビデオストリームメタデータＤＢ２４に登録する（ステップＳ７５）。ビデオストリームメタデータＤＢ２４は、ビデオストリームＶｓのデータベースへの登録が完了すると、ビデオストリーム解析部２３に対して登録完了の通知を行う（ステップＳ７６）。ビデオストリーム解析部２３は、ビデオストリームメタデータＤＢ２４から送信された登録完了通知を受信すると、結合制御部２２に対して、ビデオストリームＶｓの解析の完了を通知する（ステップＳ７７）。
【０１３２】
結合制御部２２は、ビデオストリーム解析部２３から送信されたビデオストリームＶｓの解析完了通知を受信すると、多重化制御サーバ３００内のビデオストリームメタデータアクセス情報ＤＢ３２に、ビデオストリームメタデータＤＢ２４にアクセスするためのアクセス情報を登録する（ステップＳ７８）。
【０１３３】
ビデオストリームメタデータアクセス情報ＤＢ３２は、アクセス情報のデータベースへの登録が完了すると、結合制御部２２に対して、ビデオストリームメタデータのアクセス情報の登録完了を通知する（ステップＳ７９）。
【０１３４】
以上説明した図１５のステップＳ７１〜ステップＳ７９までの処理は、記憶部１に新しいビデオストリームＶｓが入力される都度、新たに入力されたすべてのビデオストリームＶｓを対象として行われる。
【０１３５】
図１６は、データ処理システム５０による、ヘッダ生成処理及び多重化処理の例を示すフローチャートである。図１６に示す処理は、ユーザ等より多重化処理の実施依頼が行われたタイミングで行われる処理であり、図１５を参照して説明したビデオストリームＶｓのメタデータの登録処理とは非同期に行われる。
【０１３６】
まず、多重化制御サーバ３００の多重化制御部３３が、多重化設定情報記憶部３１から多重化設定情報Ｃｆを取得する（ステップＳ９１）。その後、同じく多重化制御部３３が、多重化設定情報Ｃｆ内において結合対象とされた複数のビデオストリームＶｓの、メタデータへのアクセス情報を、ビデオストリームメタデータアクセス情報ＤＢ３２より取得する（ステップＳ９２）。多重化制御部３３は、さらに、取得したアクセス情報に基づいて、ビデオストリームメタデータＤＢ２４より、結合対象のビデオストリームＶｓのメタデータを取得する（ステップＳ９３）。
【０１３７】
次いで、多重化制御部３３は、多重化ストリーム用ヘッダ用情報算出部３４に対して、多重化ストリーム用ヘッダ用情報の算出依頼を送信する（ステップＳ９４）。多重化制御部３３は、多重化ストリーム用ヘッダ用情報の算出依頼とともに、結合対象のビデオストリームＶｓのメタデータも送信する。
【０１３８】
多重化ストリーム用ヘッダ用情報算出部３４は、多重化制御部３３から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する（ステップＳ９５）。多重化ストリーム用ヘッダ用情報算出部３４は、多重化ストリーム用ヘッダ用情報として、多重化ストリームＳを構成する各結合ピクチャＰｃｍの符号量Ｂ、及び、多重化ストリームＳのメディアデータＤにおける各チャンクＣｋの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部３４は、生成した多重化ストリーム用ヘッダ用情報を、多重化制御部３３に送信する（ステップＳ９６）。
【０１３９】
次いで、多重化制御部３３から多重化ストリーム用ヘッダ生成部３５に対して、多重化ストリーム用ヘッダの生成依頼が送信される（ステップＳ９７）。多重化制御部３３は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部３４で算出された多重化ストリーム用ヘッダ用情報も送信する。
【０１４０】
多重化ストリーム用ヘッダ生成部３５は、多重化制御部３３から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームＳ用ヘッダＨの生成処理を行う（ステップＳ９８）。多重化ストリーム用ヘッダの生成処理については、図１０Ｂを参照して説明した通りであるから、ここでは説明を省略する。
【０１４１】
多重化ストリーム用ヘッダ生成部３５は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームＳ用のヘッダＨを、多重化制御部３３に送信する（ステップＳ５９）。次いで、多重化制御部３３から多重化ストリーム出力部４０に対して、多重化ストリーム用ヘッダの出力依頼が送信される（ステップＳ１００）。このとき、多重化制御部３３は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部３５で生成された多重化ストリームＳ用のヘッダＨも送信する。
【０１４２】
多重化ストリーム出力部４０は、多重化制御部３３から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームＳ用のヘッダＨを出力する（ステップＳ１０１）。多重化ストリーム出力部４０から出力された多重化ストリームＳ用のヘッダＨは、受信装置等に送信される。多重化ストリーム出力部４０は、多重化ストリームＳ用のヘッダＨの出力を終えると、多重化制御部３３に対して、多重化ストリーム用ヘッダの出力完了を通知する（ステップＳ１０２）。
【０１４３】
次いで、多重化制御部３３から、結合サーバ２００内の結合制御部２２に対して、ビデオストリームＶｓの結合及び出力依頼が送信される（ステップＳ１０３）。ビデオストリームＶｓの結合及び出力依頼には、ビデオストリームＶｓ、及び、ビデオストリームＶｓの位置情報、結合ビデオストリームＭｓの構成情報（各ビデオストリームＶｓの結合予定位置等）も含まれる。
【０１４４】
結合制御部２２は、多重化制御部３３から送信されたビデオストリームＶｓの結合依頼を受信すると、ビデオストリームＶｓの位置情報に基づいて、ビデオストリーム記憶部２１より、結合対象となったビデオストリームＶｓを取得する（ステップＳ１０４）。続いて、結合制御部２２は、結合ビデオストリーム生成部２５に対して、ビデオストリームの結合依頼を送信する（ステップＳ１０５）。このとき、結合制御部２２は、結合ビデオストリーム生成部２５に対して、ビデオストリームＶｓの位置情報、及び結合ビデオストリームＭｓの構成情報（各ビデオストリームＶｓの結合予定位置等）も送信する。
【０１４５】
結合ビデオストリーム生成部２５は、結合制御部２２から送信されたビデオストリームの結合依頼を受信すると、複数のビデオストリームＶｓを、ビデオストリーム記憶部２１より取得する（ステップＳ１０６）。続いて、結合ビデオストリーム生成部２５は、複数のビデオストリームＶｓ同士をピクチャＰｃの単位で結合することにより、結合ビデオストリームＭｓを生成する（ステップＳ１０７）。その後、結合ビデオストリーム生成部２５は、生成した結合ビデオストリームＭｓを、結合制御部２２に送信する（ステップＳ１０８）。
【０１４６】
次いで、結合制御部２２から多重化ストリーム出力部４０に対して、多重化ストリームＳの出力依頼が送信される（ステップＳ１０９）。多重化ストリーム出力部４０は、結合制御部２２から送信された重化ストリームＳの出力依頼を受信すると、結合ビデオストリームＭｓの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームＭｓを多重化ストリームＳとして出力する（ステップＳ１１０）。多重化ストリーム出力部４０は、多重化ストリームＳの出力が終わると、結合制御部２２に対して、多重化ストリームＳの出力完了を通知する（ステップＳ１１１）。
【０１４７】
上記第３の実施形態によれば、前述した第１の実施形態によって得られる効果と同様の効果を得ることができる。また、上記第３の実施形態によれば、複数のサーバに処理を分散させることができるため、処理時間の短縮を図ることができる。
【０１４８】
なお、前述したように、データ処理システム５０内に、結合サーバ２００を複数設けてもよい。例えば、結合ビデオストリームＭｓが、縦方向２ピクチャ×横方向２ピクチャ＝４ピクチャで構成されるとする。また、結合ビデオストリームＭｓを構成する４つのピクチャＰｃｍのうち、上半分の領域に配置される結合ビデオストリームＭｓを結合サーバ２００Ａが生成し、下半分の領域に配置される結合ビデオストリームＭｓを結合サーバ２００Ｂが生成するとする。
【０１４９】
このような場合には、上記ステップＳ１００において、多重化制御部３３から多重化ストリーム出力部４０に対して多重化ストリーム用ヘッダの出力依頼を送信する際に、結合ビデオストリームＭｓの構成情報（各ビデオストリームＶｓの結合予定位置等）も送信するようにする。すなわち、４つの結合ビデオストリームＭｓのうち、上半分の領域に配置される結合ビデオストリームＭｓは、結合サーバ２００Ａから出力されるものであり、下半分の領域に配置される結合ビデオストリームＭｓは、結合サーバ２００Ｂから出力されるものであることを示す情報を送信する。
【０１５０】
ステップＳ１０３において、結合制御部２２から結合サーバ２００Ａ（結合サーバ２００Ｂ）内の結合制御部２２に対して、ビデオストリームＶｓの結合及び出力依頼を送信する際に送信する、結合ビデオストリームＭｓの構成情報にも、同様の情報を記述しておく。
【０１５１】
このような処理を行うことにより、結合サーバ２００が複数存在する形態においても、ビデオストリームＶｓの結合処理及び多重化処理を行うことが可能となる。また、結合サーバ２００を複数設けることで、結合ビデオストリームＭｓの生成処理が、複数の結合サーバ２００間で並行して行われるようになる。すなわち、全体の処理時間を短縮することが可能となる。
【０１５２】
また、結合サーバ２００だけでなく、多重化ストリーム出力部４０も、複数設けてもよい。この場合は、結合制御部２２から結合サーバ２００Ａ（結合サーバ２００Ｂ）内の結合制御部２２に対して送信するビデオストリームＶｓの結合及び出力依頼の中に、多重化ストリーム出力部４０の識別子も含めて送信すればよい。
【０１５３】
また、上記第３の実施形態における結合サーバ２００及び多重化制御サーバ３００は、サーバ装置として構成されるものに限定されない。例えば、撮像部を備えたデジタルスチルカメラ又はビデオカメラ、ネットワークを介して送信された撮影画像Ｐｏを加工して現像したり、フォトブック等に加工したりする画像処理サービスで使用されるデータ画像処理装置等に適用してもよい。
【０１５４】
また、上記第３の実施形態においては、結合サーバ２００が、結合制御部２２、ビデオストリーム解析部２３及び結合ビデオストリーム生成部２５を有し、多重化制御サーバ３００が、多重化制御部３３、多重化ストリーム用ヘッダ用情報算出部３４及び多重化ストリーム用ヘッダ生成部３５を有する構成を例に挙げたが、本発明はこれに限定されない。これらの各部はいずれのサーバ内に設けてもよく、また、これらの各部をそれぞれ独立した装置（ビデオストリーム解析装置（データサイズ算出装置）、結合ビデオストリーム生成装置、多重化ストリーム用ヘッダ用情報算出装置、多重化ストリーム用ヘッダ生成装置（ヘッダ生成装置）、多重化ストリーム出力装置）として設けてもよい。
【０１５５】
上述した各種実施形態では、ＭＰＥＧ−４等の標準的なフォーマットで符号化されたビデオストリームＶｓを、結合及び多重化する例を挙げたが、本発明はこれに限定されない。多重化ストリームＳ用のヘッダＨの生成処理をより高速化する目的で、標準的なフォーマットで符号化されたビデオストリームＶｓの構成を、予め変更しておく等の処理を行ってもよい。例えば、ヘッダＨの生成に必要な情報（各ピクチャの符号量ｂ等）をファイルの先頭に配置しておけば、ヘッダＨの生成時にはその位置の情報を読み込む処理を行うだけで済む。すなわち、ビデオストリーム解析部３がファイル全体を解析する処理を行う必要が無くなるため、ヘッダＨの生成処理をより高速化することができる。なお、ヘッダＨの生成に必要な情報は、ビデオストリームＶｓの中に記述するのではなく、ビデオストリームＶｓとは異なる他のファイルに記述したり、データベースで管理したりしてもよい。
【０１５６】
また、上述した各種実施形態では、上述したように、少なくとも複数のビデオストリームＶｓを結合した結合ビデオストリームを多重化ストリームとして出力する構成を有する。したがって、例えば結合ビデオストリームのみをヘッダ情報と多重化して、多重化ストリームとして出力するようにしてもよい。また、図２の（２−１）では、１画面を９個の小画面に分割する例を示したが、その他の分割数でもよい。また、１画面を均等に分割するのではなく、例えばあるビデオストリームに対応する小画面の大きさが、他のビデオストリームに対応する小画面の大きさより大きい又は小さくてもよい。
【０１５７】
また、上述した実施の形態例における一連の処理は、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種の機能を実行するためのプログラムをインストールしたコンピュータにより実行可能である。例えば汎用のパーソナルコンピュータ等に所望のソフトウェアを構成するプログラムをインストールして実行させればよい。また、ネットワークに接続されたサーバ上や、クラウドコンピューティング環境下に置かれるソフトウェアに適用してもよい。
【０１５８】
また、上述した実施の形態例の機能を実現するソフトウェアのプログラムコードを記憶させた記録媒体を、システムあるいは装置に供給してもよい。また、そのシステムあるいは装置のコンピュータ（又はＣＰＵ等の制御装置）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、機能が実現されることは言うまでもない。
【符号の説明】
【０１５９】
１…記憶部、２…制御部、３…ビデオストリーム解析部、４…多重化ストリーム用ヘッダ用情報算出部、５…多重化ストリーム用ヘッダ生成部、６…結合ビデオストリーム生成部、７…多重化ストリーム出力部、８…ビデオストリームメタデータＤＢ、２１…ビデオストリーム記憶部、２２…結合制御部、２３…ビデオストリーム解析部、２４…ビデオストリームメタデータＤＢ、２５…結合ビデオストリーム生成部、３１…多重化設定情報記憶部、３２…ビデオストリームメタデータアクセス情報ＤＢ、３３…多重化制御部、３４…多重化ストリーム用ヘッダ用情報算出部、３５…多重化ストリーム用ヘッダ生成部、４０…多重化ストリーム出力部、５０…データ処理システム、１００…データ処理装置、２００…結合サーバ、３００…多重化制御サーバ
【図１】
2015020069.tif 000003
【図２】
2015020069.tif 000004
【図３】
2015020069.tif 000005
【図４】
2015020069.tif 000006
【図５】
2015020069.tif 000007
【図６】
2015020069.tif 000008
【図７】
2015020069.tif 000009
【図８】
2015020069.tif 000010
【図９】
2015020069.tif 000011
【図１０】
2015020069.tif 000012
【図１１】
2015020069.tif 000013
【図１２】
2015020069.tif 000014
【図１３】
2015020069.tif 000015
【図１４】
2015020069.tif 000016
【図１５】
2015020069.tif 000017
【図１６】
2015020069.tif 000018
【国際調査報告】
2015020069.tif 000019
2015020069.tif 000020