JP2004350250A - 多重化装置および逆多重化装置 - Google Patents
多重化装置および逆多重化装置 Download PDFInfo
- Publication number
- JP2004350250A JP2004350250A JP2003168432A JP2003168432A JP2004350250A JP 2004350250 A JP2004350250 A JP 2004350250A JP 2003168432 A JP2003168432 A JP 2003168432A JP 2003168432 A JP2003168432 A JP 2003168432A JP 2004350250 A JP2004350250 A JP 2004350250A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- unit
- sample
- video
- 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.)
- Granted
Links
Images
Landscapes
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【解決手段】ビデオデータを取得する第1入力部101と、オーディオデータを取得する第2入力部104と、ビデオデータを解析してビデオサンプルヘッダ情報を取得する第1解析部103と、オーディオデータを解析してオーディオサンプルヘッダ情報を取得する第2解析部106と、ビデオサンプルヘッダ情報に基づいてビデオデータのパケット化単位を決定した後に、ビデオデータのパケット化単位の先頭に配置されるビデオサンプルの再生開始時間と揃えてオーディオデータのパケット化単位を決定するパケット単位決定部107とを備える。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、動画像データや音声データ等のメディアデータを多重化する多重化装置、および動画像データや音声データ等のメディアデータが多重化されたビット列を読み込んで逆多重化する逆多重化装置に関する。
【0002】
【従来の技術】
近年、通信ネットワークの大容量化および伝送技術の進歩により、インターネット上で、動画、音声、テキスト、あるいは、静止画等のマルチメディアコンテンツを含む動画像ファイルをパーソナルコンピュータに配信する動画配信サービスの普及が著しい。また、携帯端末等のいわゆる第3世代の移動体通信システムの規格の標準化を図ることを目的とする国際標準化団体3GPP(Third Generation Partnership Project)で、無線による動画配信に関する規格としてTS26.234(Transparent end−to−end packet switched streaming service)が定められる等の動きも見られ、動画配信サービスは、携帯電話機やPDA等の移動体通信端末への提供の拡大も見込まれている。
【0003】
動画配信サービスにおいて、動画像ファイルを配信する際には、まず、多重化装置において、動画、静止画、音声およびテキスト等のメディアデータを取り込んで、メディアデータの再生に必要なヘッダ情報とメディアデータの実体データとを多重化して動画像ファイルデータを作成することが必要となるが、この動画像ファイルデータの多重化ファイルフォーマットとして、MP4ファイルフォーマットが注目されている。
【0004】
このMP4ファイルフォーマットは、国際標準化団体であるISO/IEC(International Standardization Organization/International Engineering Consortium) JTC1/SC29/WG 11 において標準化が進められている多重化ファイルフォーマットであり、上記3GPPのTS26.234でも採用されていることから、広く普及するものと予想されている。
【0005】
ここで、MP4ファイルのデータ構造について説明する。なお、このMP4ファイルのデータ構造については、非特許文献1に開示されている。
MP4ファイルは、ボックスと呼ばれるオブジェクト単位でヘッダ情報やメディアデータの実体データが格納されており、複数のボックスを階層的に配列することによって構成される。
【0006】
図18は、従来のMP4ファイルを構成するボックスの構造を説明するための図である。
ボックス901は、ボックス901のヘッダ情報が格納されるボックスヘッダ部902と、ボックス901に含まれるデータ(例えば、そのボックスの下の階層のボックスや情報を記述するためのフィールド等)が格納されるボックスデータ格納部903とから構成される。
【0007】
このボックスヘッダ部902は、ボックスサイズ904、ボックスタイプ905、バージョン906、フラグ907のフィールドを有している。
ボックスサイズ904は、このフィールドに割り当てられたバイトサイズも含めてボックス901全体のサイズ情報が記述されるフィールドである。
【0008】
ボックスタイプ905は、ボックス901の種別を識別するための識別子が記述されるフィールドである。この識別子は、通常4つのアルファベット文字列によって表される。なお、以下、本明細書中において、この識別子によって各ボックスを示す場合がある。
【0009】
バージョン906は、ボックス901のバージョンを示すバージョン番号が記述されるフィールドであり、フラグ907は、ボックス901毎に設定されるフラグ情報が記述されるフィールドである。このバージョン906とフラグ907は、全てのボックス901に必須のフィールドではないので、これらのフィールドを有しないボックス901も存在しうる。
【0010】
このような構造のボックス901が複数連なって構成されるMP4ファイルは、ファイルの構成に不可欠な基本部と、必要に応じて使用される拡張部とに大別することができる。まず、MP4ファイルの基本部について説明する。
図19は、従来のMP4ファイルの基本部を説明するための図である。
【0011】
MP4ファイル910の基本部911は、ファイルヘッダ部912とファイルデータ部913とから構成される。
ファイルヘッダ部912は、ファイル全体のヘッダ情報、例えば、動画像(ビデオ)データの圧縮符号化方式等の情報が格納される部分であり、ファイルタイプボックス914とムービーボックス915とから構成される。
【0012】
ファイルタイプボックス914は、“ftyp”の識別子で識別されるボックスであり、MP4ファイルを識別するための情報が格納される。MP4ファイルにどのようなメディアデータを格納するかについて、また、どのような圧縮符号化方式を用いた動画像(ビデオ)データや音声(オーディオ)データ等を格納するかについては、標準化団体やサービス事業者が独自に規定することができるため、MP4ファイルがどの規定に従って作成されたものであるかを識別するための情報を、このファイルタイプボックス914に格納する。
【0013】
ムービーボックス915は、“moov”の識別子で識別されるボックスであり、ファイルデータ部913に格納される実体データのヘッダ情報、例えば、表示時間長等の情報が格納される。
ファイルデータ部913は、“mdat”の識別子で識別されるムービーデータボックス916によって構成される。なお、このファイルデータ部913の代わりに、このMP4ファイル910とは異なる外部のファイルを参照することもできる。このように、外部のファイルを参照する場合には、MP4ファイル910の基本部911は、ファイルヘッダ部912のみから構成されることになる。本明細書では、この外部ファイルの参照をする場合ではなく、MP4ファイル910内に実体データを含む場合について説明する。
【0014】
ムービーデータボックス916は、サンプルと称される単位でメディアデータの実体データを格納するボックスである。このサンプルとは、MP4ファイルにおける最小のアクセス単位であり、MPEG(Moving Picture Experts Group)−4 Visualの圧縮符号化方式によって符号化したビデオデータのVOP(Video Object Plane)やオーディオデータのフレームに相当するものである。
【0015】
ここで、従来におけるMP4ファイルの基本部の構造について階層を掘り下げて、ムービーボックス915の構造を説明することとする。
図20は、従来のMP4ファイルにおけるムービーボックスの構造を説明するための図である。
【0016】
図20(a)に示すように、ムービーボックス915は、先に説明したボックスヘッダ部902とボックスデータ格納部903とから構成されている。そして、ボックスヘッダ部902を構成するボックスサイズ904のフィールドには、ムービーボックス915のサイズ情報が記述され(図20(a)では、“xxxx”とする。)、ボックスタイプ905のフィールドには、ムービーボックス915の識別子“moov”が記述される。
【0017】
また、ムービーボックス915のボックスデータ格納部903には、MP4ファイル910の基本部911のヘッダ情報が格納されるムービーヘッダボックス917や、ビデオトラックやオーディオトラック等、トラック毎のヘッダ情報が格納されるトラックボックス918等が格納されている。なお、ここにいうトラックとは、MP4ファイル910に含まれる各メディアのサンプルデータ全体を意味し、動画像や音声やテキスト等のトラックは、それぞれビデオトラック、オーディオトラックやテキストトラック等と称される。また、MP4ファイル910内に同一メディアのデータが複数存在する場合は、同一メディアに対して複数のトラックが存在することになる。具体的に説明すると、例えば、MP4ファイル910内に2種類の動画像データが含まれている場合、2つのビデオトラックが存在することになる。
【0018】
ムービーヘッダボックス917も、先に説明したボックスヘッダ部902とボックスデータ格納部903とから構成されており、ボックスヘッダ部902を構成するボックスサイズ904のフィールドには、ムービーヘッダボックス917のサイズ情報が記述され(図20(a)では、“xxx”とする。)、ボックスタイプ905のフィールドには、ムービーヘッダボックス917の識別子“mvhd”が記述される。そして、ムービーヘッダボックス917のボックスデータ格納部903には、MP4ファイル910の基本部911に含まれるコンテンツの再生に要する時間長に関する情報等が格納される。
【0019】
また、トラックボックス918のボックスヘッダ部902を構成するボックスサイズ904のフィールドには、トラックボックス918のサイズ情報が記述され(図20(a)では、“xx”とする。)、ボックスタイプ905のフィールドには、トラックボックス918の識別子“trak”が記述される。そして、トラックボックス918のボックスデータ格納部903には、トラックヘッダボックス919が格納されている。
【0020】
トラックヘッダボックス919は、トラック毎のヘッダ情報を記述するためのフィールドを有するボックスであり、“tkhd”の識別子によって識別される。このトラックヘッダボックス919のボックスデータ格納部903には、トラックの種類を識別するためのトラックIDを記述するフィールドや、トラックの再生に要する時間長に関する情報等が記述される。
【0021】
このように、ムービーボックス915には、ボックス901が階層的に配列されており、“trak”で識別されるトラックボックス918にビデオやオーディオ等のトラック毎のヘッダ情報が格納されている。そして、このトラックボックス918に含まれる下位のボックスにおいて、トラックのサンプル単位のヘッダ情報が格納されている。
【0022】
図20(a)に示すムービーボックス915の構造をツリー状に示すと、図20(b)のような図が得られる。
すなわち、ムービーボックス915の下位のボックス群としてムービーヘッダボックス917、トラックボックス918が配列され、トラックボックス918の下位のボックス群としてトラックヘッダボックス919が配列されており、ボックス901が階層的に配置されていることがわかる。
【0023】
MP4ファイルフォーマットの標準化当初、MP4ファイル910は、上記基本部911のみから構成されていた。しかし、メディアデータの情報量が多くなると、サイズが大きくなってしまうので、ストリーミング再生への適用が難しい等の種々の問題があり、ヘッダボックスとデータボックスとの組が複数連なる拡張部の使用を加える改良がなされている。
【0024】
図21は、従来における拡張部を含むMP4ファイルの構造を示す図である。
図21に示すように、上記改良が加えられたMP4ファイル920は、基本部911と拡張部921とから構成される。この拡張部921を含むMP4ファイル920では、全てのメディアデータを拡張部921に格納することができるので、MP4ファイル基本部911のムービーデータボックス916を省略することとしてもよい。
【0025】
拡張部921は、所定の単位で区切られたパケット922が複数連なって構成される。
このパケット922は、ムービーフラグメントボックス923とムービーデータボックス916とが一対となって構成され、ムービーフラグメントとも称される。
【0026】
ムービーデータボックス916は、上記区切られた所定の単位でトラック毎のサンプルを格納し、ムービーフラグメントボックス923は、このムービーデータボックス916に対応してヘッダ情報を格納するボックスであり、“moof”という識別子によって識別される。このムービーフラグメントボックス923の構造について、さらに詳しく説明する。
【0027】
図22は、従来におけるムービーフラグメントボックスの構造を説明するための図である。
図22に示すように、ムービーフラグメントボックス923のボックスデータ格納部903には、ムービーフラグメントヘッダボックス924と複数のトラックフラグメントボックス925が格納されている。
【0028】
ムービーフラグメントヘッダボックス924は、“mfhd”の識別子で識別されるボックスであり、ムービーフラグメントボックス923全体のヘッダ情報が格納される。
トラックフラグメントボックス925は、“traf”の識別子で識別されるボックスであり、トラック毎のヘッダ情報が格納される。
【0029】
なお、通常1つのトラックのヘッダ情報に対して、1つのトラックフラグメントボックス925が用意されるが、1つのトラックのヘッダ情報に対して、複数のトラックフラグメントボックス925が用意されるとしてもよい。このように、1つのトラックのヘッダ情報を複数のトラックフラグメントボックス925に分割して格納する際には、トラックフラグメントボックス925の先頭サンプルの復号時間が昇順となるように配列される。
【0030】
そして、このトラックフラグメントボックス925のボックスデータ格納部903には、トラックフラグメントヘッダボックス926と1つ以上のトラックフラグメントランボックス927が格納されている。
トラックフラグメントヘッダボックス926は、“tfhd”の識別子で識別されるボックスであり、トラックの種類を識別するためのトラックIDを記述するフィールドや、サンプルの再生時間長等のデフォルト値に関する情報等を格納する。
【0031】
トラックフラグメントランボックス927は、“trun”の識別子で識別されるボックスであり、サンプル単位のヘッダ情報を格納する。図23を用いて、このトラックフラグメントランボックス927について詳しく説明する。
図23は、従来におけるトラックフラグメントランボックス927の構造を説明するための図である。
【0032】
フラグ907は、ボックス901毎に設定されるフラグ情報が記述されるフィールドであるが、ここでは、フラグ907に続いてデータオフセット929からサンプルコンポジションタイムオフセット936までの各フィールドがトラックフラグメントランボックス927に存在するか否かを示すフラグ情報が記述される。
【0033】
サンプルカウント928は、トラックフラグメントランボックス927にどれだけの数のサンプルに関するヘッダ情報が格納されるかを示す情報が記述されるフィールドである。
データオフセット929は、トラックフラグメントランボックス927にヘッダ情報が格納されているサンプルのうちトラックフラグメントランボックス927の先頭に位置するサンプルの実体データが、組となっているムービーデータボックス916のどこに格納されているかを示すポインタ情報が記述されるフィールドである。
【0034】
先頭サンプルフラグ930は、トラックフラグメントランボックス927の先頭サンプルがランダムアクセス可能なサンプルである場合に、後述するサンプルフラグ935のフィールドの値を上書きすることができるフィールドである。ここで、ランダムアクセスとは、例えば、MP4ファイルの再生装置において、再生の途中でデータの再生位置を10秒後に移動させたり、データの途中から再生を開始したりする処理動作を意味する。そして、ランダムアクセス可能なサンプルとは、ビデオサンプルのうち、MP4ファイルの再生装置において、他のフレームのデータを参照することなく単独で復号化できるフレーム、すなわち画面内符号化フレーム(いわゆるイントラフレーム)を構成するサンプルを意味する。なお、オーディオサンプルでは、いずれのサンプルも単独で復号化することができるので、全てのオーディオサンプルがランダムアクセス可能なサンプルといえる。
【0035】
テーブル931は、サンプル毎のヘッダ情報を示すエントリ932が、サンプルカウント928において示される個数分集積されたものである。
エントリ932は、サンプル毎のヘッダ情報を示すフィールドの集まりであり、いずれのフィールドが含まれるかは、上記フラグ907によって示される。エントリ932に含まれるフィールドには、サンプルの再生時間長が記述されるサンプルデュレーション933、サンプルのサイズが記述されるサンプルサイズ934、サンプルがランダムアクセス可能であるか否かを示すフラグ情報が記述されるサンプルフラグ935、そして、双方向予測を用いたサンプルを扱うために、サンプルの復号時間と表示時間との差分値が記述されるサンプルコンポジションタイムオフセット936がある。
【0036】
なお、これらのフィールドがエントリ932に含まれない場合は、各サンプルのヘッダ情報は、トラックフラグメントヘッダボックス926や、ムービーフラグメントボックス915内のムービーエクステンドボックス(識別子“mvex”)に、これらのフィールドのデフォルト値が記述されているので、これらのデフォルト値が使用される。
【0037】
また、トラックフラグメントランボックス927には、復号時間の早いサンプルから順にヘッダ情報が記述される。従って、MP4ファイルを再生する装置がサンプルのヘッダ情報を検索する際には、ファイル中の先頭のトラックフラグメントボックス925から順にトラックフラグメントヘッダボックス926内のトラックIDを参照することで、取得するトラックのヘッダ情報を含むトラックフラグメントボックス925を検索し、トラックフラグメントボックス925内においても、先頭のトラックフラグメントランボックス927から順にサンプルのヘッダ情報を検索することになる。
【0038】
なお、この拡張部921を含むMP4ファイル920の場合であっても、復号化時の初期化情報等、トラック全体に必要な情報は、ムービーボックス915に格納される。
続いて、このような構造を有する拡張部921を含むMP4ファイルの構成例について説明する。
【0039】
図24は、従来における拡張部を含むMP4ファイルの拡張部の構成例を示す図である。
図24では、コンテンツの格納方法について2通りの例を示して説明することとし、コンテンツの再生時間長は、60秒であるとする。
【0040】
図24(a)に示すMP4ファイル940は、基本部941および拡張部942の両方にメディアデータを格納する構成になっている。すなわち、基本部941のmdat_1(符号945)に0〜30秒までのメディアデータが格納され、拡張部942のmdat_2(符号947)に30〜45秒までのメディアデータが格納され、mdat_3(符号949)に45〜60秒までのメディアデータが格納されている。そして、mdat_1(符号945)のヘッダ情報はmoov944に格納され、mdat_2(符号947)のヘッダ情報はmoof_1(符号946)に格納され、mdat_3(符号949)のヘッダ情報はmoof_2(符号948)に格納されている。
【0041】
これに対して、図24(b)に示すMP4ファイル950は、拡張部952だけにメディアデータを格納する構成になっている。すなわち、基本部951は、ftyp953とmoov954とから構成されてmdatを含まず、拡張部952のmdat_1(符号956)に0〜30秒までのメディアデータが格納され、mdat_2(符号958)に30〜60秒までのメディアデータが格納されている。そして、mdat_1(符号956)のヘッダ情報はmoof_1(符号955)に格納され、mdat_2(符号958)のヘッダ情報はmoof_2(符号957)に格納されている。
【0042】
ここで、上記MP4ファイルの拡張部がどのように作成されるかを図25〜図27を用いて説明する。
図25は、従来の多重化装置の構成を示すブロック図である。
多重化装置960は、メディアデータを多重化してMP4ファイルの拡張部データを作成する装置である。ここでは、ビデオデータとオーディオデータとを多重化してMP4ファイルの拡張部データを作成するものとする。
【0043】
第1入力部961はビデオデータを多重化装置960に取り込み、第1データ蓄積部962に蓄積させ、また、第2入力部964はオーディオデータを多重化装置960に取り込み、第2データ蓄積部965に蓄積させる。
第1解析部963は、第1データ蓄積部962から1サンプルずつビデオデータを読み出して解析し、ビデオサンプルのヘッダ情報をパケット単位決定部967に出力する。また、第2階席部966は、第2データ蓄積部965から1サンプルずつオーディオデータを読み出して解析し、オーディオサンプルのヘッダ情報をパケット単位決定部967に出力する。このビデオサンプルヘッダ情報およびオーディオサンプルヘッダ情報には、サンプルのサイズや再生時間長を示す情報が含まれており、ビデオサンプルヘッダ情報には、ビデオサンプルがイントラフレームであるか否かを示す情報も含まれている。
【0044】
パケット単位決定部967は、パケットに含まれるサンプル数が一定となるように、ビデオデータおよびオーディオデータのパケット単位を決定し、取得したサンプルヘッダ情報に基づいて各パケットのヘッダ情報を作成する。
図26に、従来におけるパケット単位決定部の処理動作フローを示す。ここで、1つのパケットに格納されるサンプルの数をNとし、この値は予め定められて、多重化装置960のメモリ等に保持されている。
【0045】
まず、第1解析部963が1つのビデオサンプルを取得して(S901)、ビデオサンプルヘッダ情報をパケット単位決定部967に出力すると、パケット単位決定部967は、ビデオサンプルヘッダ情報をパケット作成テーブルに追加する(S902)。
次に、パケット単位決定部967は、パケットに含まれるビデオサンプルの数を更新し(S903)、パケットに含まれるビデオサンプルの数がNになったかどうかを判定する(S904)。
【0046】
ここで、パケットに含まれるビデオサンプルの数がNに満たない場合(S904のNo)、上記S901〜S903までの処理が繰り返され、パケットに含まれるビデオサンプルの数がNになった場合(S904のYes)、パケット単位決定部967は、N個のビデオサンプルをパケット化して処理動作を終了する(S905)。
【0047】
パケット単位決定部967は、同様に、オーディオについても上記S901〜S905までの処理動作によって、オーディオサンプルのパケット化を行なう。
そして、全てのサンプルのパケット化が完了するまで、パケット単位決定部967は、このフローの処理動作を繰り返す。
【0048】
図27に、従来におけるビデオサンプルのヘッダ情報を格納するパケット作成テーブルの一例を示す。このパケット作成テーブル968aには、ビデオサンプル毎に、サンプルのサイズ、サンプルの再生時間長や、そのビデオサンプルがイントラフレームであるか否かを示す画面内符号化フレームフラグに関する情報が記述される。ここでは、パケットに格納される先頭のビデオサンプルは、サイズが300バイト、再生時間長が30ms、画面内符号化フレームでないことが示されており、2番目のビデオサンプルは、画面内符号化フレームであることが示されている。そして、このパケット作成テーブル968aは、パケット単位決定部967においてこれらの情報が順次追加され、1パケットに含まれる最後のサンプルとなるN番目まで作成されると、パケット作成テーブル蓄積部968に出力される。
【0049】
再び図25を参照すると、続いて、パケット単位決定部967は、パケット作成テーブル968aにN個分のサンプルのヘッダ情報を記述した後、パケット作成テーブル968aをパケット作成テーブル蓄積部968に出力するとともに、パケットヘッダ作成部969にパケット作成信号を出力する。
【0050】
パケットヘッダ作成部969は、パケット作成信号を取得すると、パケット作成テーブル蓄積部968に保持されているパケット作成テーブル968aからパケットサンプルヘッダ情報を読み出してmoofデータを作成する。また、パケットヘッダ作成部969は、作成したmoofデータをパケット結合部971に出力するとともに、パケットに含まれるサンプルの実体データが第1データ蓄積部962および第2データ蓄積部965のどこに格納されているかを示すポインタ情報と、サンプルのサイズ情報とを含むmdat情報をパケットデータ作成部970に出力する。
【0051】
パケットデータ作成部970は、取得したmdat情報に基づいて第1データ蓄積部962および第2データ蓄積部965からサンプルの実体データを読み出してmdatデータを作成し、mdatデータをパケット結合部971に出力する。
【0052】
そして、パケット結合部971は、moofデータとmdatデータとを結合させて、1パケット分のmp4拡張部データを出力する。
最終的には、出力された1パケット分のmp4拡張部データは、MP4ファイルを作成する装置に取り込まれ、順次作成されるmp4拡張部データが順番に並べられることによって、MP4ファイルの拡張部が作成される。その後、このファイル作成装置で、MP4ファイルの基本部と拡張部とが結合されることによって、MP4ファイルが作成されることになる。
【0053】
【非特許文献1】
ISO/IEC JTC1/SC29/WG11 MPEG、N4854「Proposed Revised Common Text Multimedia File Format Specification」、2002年3月21日
【0054】
【発明が解決しようとする課題】
しかしながら、このような従来の多重化装置によって多重化されたMP4ファイルの拡張部を再生する際には、以下のような問題がある。
その1つとして、まず、従来の多重化装置では、パケットに含まれるサンプルの再生開始時間を考慮することなく多重化が行なわれるので、例えば、ある再生開始時間のビデオサンプルと同期が図られているオーディオサンプルが、ビデオサンプルと異なるパケットに格納される場合がある。そのため、MP4ファイルの再生装置側で、再生時のデータアクセスの効率が悪化するという問題がある。
【0055】
また、従来の多重化装置では、パケットに含まれるサンプルの数を基準として多重化を行なうので、ランダムアクセス可能なサンプル、すなわちイントラフレームに相当するビデオサンプルをパケット内のどこに格納するかは、パケット毎にまちまちとなることが多い。そのため、MP4ファイルの再生装置側で、ランダムアクセス可能なサンプルを検索する際に、パケットに含まれる全てのビデオサンプルを検索しなければならず、サンプルの検索に要する計算量が膨大となってしまうという問題もある。
【0056】
これらの問題について、図28を用いてさらに詳しく説明する。
図28は、従来における多重化装置の問題点を説明するための図である。
図28(a)では、再生時のデータアクセスの効率が悪化するという第1の問題を明らかにする。
【0057】
各mdatに含まれるサンプルのヘッダ情報は、直前のmoofに格納されており、mdat_1に格納されている再生開始時間20sのビデオサンプルに関するヘッダ情報は、moof_1に先頭サンプルとして格納されており、mdat_10に格納されている再生開始時間20sのオーディオサンプルに関するヘッダ情報は、moof_10に最終サンプルとして格納されている。
【0058】
従って、MP4ファイルの再生装置が、コンテンツの再生時間20sの部分を再生しようとすれば、moof_1に格納されているビデオサンプルのヘッダ情報を取得してからオーディオサンプルのヘッダ情報を取得するまでにmoof_10まで検索しなければならず、データアクセスの効率が悪くなってしまう。
【0059】
図28(b)では、ランダムアクセス可能なサンプルの検索に要する計算量が膨大となってしまうという第2の問題を明らかにする。
mdat_1の最後に格納されているi番目のランダムアクセス可能なビデオサンプルに関するヘッダ情報は、moof_1に最終サンプルとして格納されており、mdat_3の最後に格納されているi+1番目のランダムアクセス可能なビデオサンプルに関するヘッダ情報は、moof_3に最終サンプルとして格納されている。
【0060】
従って、MP4ファイルの再生装置が、ランダムアクセスを行なおうとすれば、moofの最終サンプルまで検索しなければならず、検索に必要な計算量が膨大となってしまう。
さらに、これら第1および第2の問題に加えて、従来の多重化装置で作成されるMP4ファイルの拡張部の構成では、サンプルデータを取得するためのシークの回数が多くなるため、光ディスク再生機器等のシーク速度が遅い機器におけるランダムアクセス再生に適さないという問題もある。
【0061】
この問題について、再び図28(b)を用いて説明する。moof_1のi番目のランダムアクセス可能なビデオサンプルにランダムアクセスしようとする場合、再生装置は、まず、i番目のランダムアクセス可能なビデオサンプルのヘッダ情報を取得するために、moof_1の先頭位置まで読み出しポインタを移動させ、moof_1内を順に解析する。このとき、1回目のシークが必要となる。
【0062】
その後、再生装置は、mdat_1のどこにi番目のランダムアクセス可能なビデオサンプルの実体データが格納されているかを取得し、実体データの開始位置へ読み出しポインタを移動させる。このとき、i番目のランダムアクセス可能なビデオサンプルの実体データがmdat_1の終端に格納されているため、moof_1の先頭位置から連続的に読み出しポインタを移動させてサンプルの実体データを取得できず、2回目のシークが必要となる。
【0063】
すなわち、moof_1の先頭位置と実体データの開始位置に読み出しポインタを移動させる時にそれぞれシーク動作を行なうことになるので、再生装置がシーク速度の遅い機器である場合は、ランダムアクセス再生に時間がかかってしまう。特に、このi番目のランダムアクセス可能なビデオサンプルと同期が図られているオーディオサンプル等の実体データが異なるパケット等、ビデオサンプルの実体データと離れて格納されている場合には、さらにシーク動作が必要となり、ランダムアクセス再生を迅速に行なうことが困難となる。
【0064】
そこで、本発明は、これらの問題点に鑑みてなされたものであり、メディアデータの多重化ファイルが再生時のデータアクセスの効率に優れ、サンプルの検索に要する計算量が少なくなるようにメディアデータを多重化することができる多重化装置を提供することを目的とする。
【0065】
また、多重化ファイルがシーク速度の遅い機器におけるランダムアクセス再生に適するようにメディアデータを多重化することができる多重化装置を提供することを目的とする。
さらに、このような多重化装置で多重化されたファイルを取得して、多重化分離することができる逆多重化装置を提供することを目的とする。
【0066】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る多重化装置は、画像データと、音声データおよびテキストデータのうち少なくとも1つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置であって、前記メディアデータを取得するメディアデータ取得手段と、前記メディアデータ取得手段が取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析手段と、前記解析手段が取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定手段と、前記パケット単位決定手段が決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成手段と、前記パケット単位決定手段が決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成手段と、前記パケットヘッダ部作成手段が作成したパケットヘッダ部と、前記パケットデータ部作成手段が作成したパケットデータ部とを結合してパケットを作成するパケット化手段とを備えることを特徴とする。
【0067】
これによって、メディアデータに含まれる画像データと、音声データおよびテキストデータの再生開始時間が揃えられてパケットに格納されることとなるので、再生装置側で再生時におけるデータアクセスの効率を向上させることができる。
【0068】
また、本発明に係る多重化装置は、前記画像データは、動画データであり、前記解析手段は、さらに、前記メディアデータ取得手段が取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを1つ以上含む場合に、前記イントラフレーム情報を取得し、前記パケット単位決定手段は、前記解析手段が前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定し、前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置するのが好ましい。
【0069】
これによって、パケットに含まれる先頭のビデオサンプルは、イントラフレームのビデオサンプルとなるので、再生装置側でランダムアクセス時におけるサンプルの検索に要する計算量を大幅に削減することができる。
さらに、本発明に係る多重化装置は、前記パケットデータ部作成手段は、前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成するのがより好ましい。
【0070】
これによって、ビデオサンプルとオーディオサンプルとが再生開始時間が昇順となってmdatに格納されるので、再生装置側でのランダムアクセス時におけるシーク動作の回数を少なくすることができ、シーク速度の遅い再生装置でも迅速なランダムアクセス再生を実現することができる。
【0071】
なお、本発明は、このような多重化装置として実現することができるだけでなく、このような多重化装置が備える特徴的な手段をステップとする多重化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【0072】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態におけるビデオデータとして、MPEG−4 Visualの符号化データを用いることとし、本実施の形態におけるオーディオデータとして、MPEG−4 Audioの符号化データを用いることとする。そして、本実施の形態では、主に、ビデオデータとオーディオデータとを多重化する装置について説明するが、テキストデータ等のその他のメディアデータの多重化について排除することを意図するものではない。
【0073】
(実施の形態1)
まず、本発明の実施の形態1に係る多重化装置について、図1から図5を参照しながら説明する。
図1は、本発明の実施の形態1に係る多重化装置の機能的な構成を示すブロック図である。
この多重化装置100は、ビデオデータやオーディオデータを多重化してMP4ファイルの拡張部データを作成する装置であり、第1入力部101、第1データ蓄積部102、第1解析部103、第2入力部104、第2データ蓄積部105、第2データ解析部106、パケット単位決定部107、パケット作成テーブル蓄積部111、パケットヘッダ作成部112、パケットデータ作成部113およびパケット結合部114を備える。
【0074】
第1入力部101は、符号化されたビデオデータを画像符号化装置等から多重化装置100内に取り込むインターフェースであり、取得したビデオ入力データを順次、第1データ蓄積部102に蓄積させる。
第1データ蓄積部102は、ビデオ入力データを一時的に保持するキャッシュメモリやRAM(Random Access Memory)等である。
【0075】
第1解析部103は、第1データ蓄積部102に保持されているビデオ入力データのうちビデオサンプル1つ分のデータであるビデオサンプルデータを読み出して解析し、ビデオサンプルのヘッダ情報を出力する処理部であり、CPUやメモリによって実現される。なお、この第1解析部103において出力されるビデオサンプルヘッダ情報には、ビデオサンプルのサイズ、再生時間長およびイントラフレームであるか否かを示す情報が含まれる。さらに、このビデオサンプルヘッダ情報には、双方向予測を用いたサンプルの場合、復号時間と表示時間の差分情報も含まれる。
【0076】
第2入力部104は、符号化されたオーディオデータを音声符号化装置等から多重化装置100内に取り込むインターフェースであり、取得したオーディオ入力データを順次、第2データ蓄積部105に蓄積させる。
第2データ蓄積部105は、オーディオ入力データを一時的に保持するキャッシュメモリやRAM等である。
【0077】
第2解析部106は、第2データ蓄積部105に保持されているオーディオ入力データのうちオーディオサンプル1つ分のデータであるオーディオサンプルデータを読み出して解析し、オーディオサンプルのヘッダ情報を出力する処理部であり、CPUやメモリによって実現される。なお、この第2解析部106において出力されるオーディオサンプルヘッダ情報には、オーディオサンプルのサイズおよび再生時間長を示す情報が含まれている。
【0078】
パケット単位決定部107は、パケットに含まれるビデオサンプルおよびオーディオサンプルのヘッダ情報を集積させて、パケットに含まれるビデオサンプルの再生開始時間とオーディオサンプルの再生開始時間とが揃うように、ビデオデータおよびオーディオデータのパケット単位を決定する処理部であり、CPUやメモリによって実現される。また、パケット単位決定部107は、決定したパケット単位分のサンプルヘッダ情報の集まりをパケット作成テーブルとしてパケット作成テーブル蓄積部111に出力するとともに、パケット単位の決定後にパケットヘッダの作成を指示するパケット作成信号をパケットヘッダ作成部112に出力する。そして、このパケット単位決定部107は、パケット単位を時間単位で調整する時間調整部108と、ビデオデータのパケット単位を決定するビデオパケット単位決定部109と、オーディオデータのパケット単位を決定するオーディオパケット単位決定部110とを備える。
【0079】
時間調整部108は、パケットが定められた時間単位内に納まるように、パケットの終了時間を調整する処理部である。この時間調整部108は、まず、予め定められた時間(ターゲットタイム)をビデオパケット単位決定部109に出力する。なお、このターゲットタイムは、ユーザが指定することとしてもよい。この場合、多重化装置100は、キーボード等の入力装置を介してターゲットタイムの指定を取得し、入力装置から指定されたターゲットタイムを示すターゲットタイム入力信号が時間調整部108に出力されることとなる。
【0080】
ビデオパケット単位決定部109は、第1解析部103からビデオサンプルヘッダ情報を取得してビデオデータのパケット単位を決定する処理部である。
このビデオパケット単位決定部109は、時間調整部108からターゲットタイムを、また、第1解析部103からビデオサンプルヘッダ情報を取得して、ビデオデータがターゲットタイム内のパケットに納まるように、各ビデオサンプルヘッダ情報に含まれる各ビデオサンプルの再生時間長をカウントしながら、パケットに含まれる最後のビデオサンプルのヘッダ情報まで順次ビデオパケット作成テーブルに追加していく。ビデオパケット単位決定部109は、パケットに含まれる最後のビデオサンプルのヘッダ情報をビデオパケット作成テーブルに追加すると、そのパケットに含まれる最初のビデオサンプルの再生開始時間とそのパケットに含まれるビデオサンプルの再生時間長の総和とを示すビデオサンプル再生時間情報をオーディオパケット単位決定部110に出力する。
【0081】
オーディオパケット単位決定部110は、第2解析部106から取得したオーディオサンプルヘッダ情報を取得してオーディオデータのパケット単位を決定する処理部である。
このオーディオパケット単位決定部110は、ビデオパケット単位決定部109からビデオサンプル再生時間情報を、また、第2解析部106からオーディオサンプルヘッダ情報を取得して、パケットの先頭に、そのパケットに含まれる先頭のビデオサンプルの再生開始時間と同一または近似する再生開始時間のオーディオサンプルを配置し、各オーディオサンプルヘッダ情報に含まれる各オーディオサンプルの再生時間長をカウントしながら、そのパケットに含まれるオーディオサンプルの再生時間長の総和が、そのパケットに含まれるビデオサンプルの再生時間長の総和と同一または近似するように、そのパケットに含まれる最後のオーディオサンプルを配置する。
【0082】
なお、ここで、ビデオサンプルの再生開始時間と近似する再生開始時間のオーディオサンプルとは、ビデオサンプルの再生開始時間以降であって、最も早い再生開始時間のオーディオサンプル、または、ビデオサンプルの再生開始時間以前であって、最も遅い再生開始時間のオーディオサンプルを意味する。
【0083】
その後、オーディオパケット単位決定部110は、パケットに含まれる先頭のオーディオサンプルから最後のオーディオサンプルまでのオーディオサンプルヘッダ情報を順次オーディオパケット作成テーブルに追加する。
パケット作成テーブル蓄積部111は、パケット単位決定部107から出力されるビデオパケット作成テーブルおよびオーディオパケット作成テーブルを一時的に保持するキャッシュメモリやRAM等である。
【0084】
パケットヘッダ作成部112は、パケットのヘッダ情報が格納されるパケットヘッダ部(moof)を作成する処理部であり、CPUやメモリによって実現される。
このパケットヘッダ作成部112は、パケット単位決定部107からパケット作成信号を取得すると、パケット作成テーブル蓄積部111からパケット作成テーブルを参照してパケットサンプルヘッダ情報を読み出してmoofデータを作成し、パケット結合部114に出力する。
【0085】
また、パケットヘッダ作成部112は、パケットに含まれるビデオサンプルおよびオーディオサンプルの実体データが、第1データ蓄積部102および第2データ蓄積部105のどこに格納されているかを示すポインタ情報や、サンプルのサイズを示すサンプルサイズ情報や、パケットデータ部(mdat)の作成を指示する信号が含まれるmdat情報をパケットデータ作成部113に出力する。
【0086】
なお、このパケットヘッダ作成部112は、moofを作成する際に、例えば、AMR(Advanced Multi Rate CODEC)のような、データの途中で符号化レートの切替が発生する符号化方式によって符号化されたメディアデータについて、符号化レートに応じてヘッダ情報を異なるtrafに格納することもできる。
【0087】
パケットデータ作成部113は、パケットの実体データが格納されるパケットデータ部(mdat)を作成する処理部であり、CPUやメモリによって実現される。
このパケットデータ作成部113は、パケットヘッダ作成部112からmdat情報を取得すると、mdat情報に含まれるポインタ情報とサンプルサイズ情報とに基づいて、第1データ蓄積部102からパケットに含まれるビデオサンプルのビデオ実体データを読み出し、第2データ蓄積部105からパケットに含まれるオーディオサンプルのオーディオ実体データを読み出してmdatデータを作成し、パケット結合部114に出力する。
【0088】
パケット結合部114は、moofデータとmdatデータとを結合させて、1パケット分のmp4拡張部データを作成する処理部であり、CPUやメモリによって実現される。このパケット結合部114は、パケットヘッダ作成部112からmoofデータを取得し、パケットデータ作成部113からmdatデータを取得して、moofデータとmdatデータとを結合させて1パケット分のmp4拡張部データを作成し、順次作成したmp4拡張部データをMP4ファイルを作成する装置に出力する。
【0089】
このように構成される多重化装置100において、MP4ファイルの拡張部が作成される処理手順について図2を用いて説明する。
図2は、多重化装置100の処理動作を示すフロー図である。
まず、第1入力部101および第2入力部104は、多重化装置100内にそれぞれビデオデータおよびオーディオデータを取り込むと(S100)、第1入力部101はビデオ入力データを第1データ蓄積部102に蓄積させ、第2入力部104はオーディオ入力データを第2データ蓄積部105に蓄積させる。
【0090】
次に、第1解析部103は、第1データ蓄積部102からビデオサンプルデータを読み出して解析し、ビデオサンプルヘッダ情報をパケット単位決定部107のビデオパケット単位決定部109に出力する。そして、ビデオパケット単位決定部109は、第1解析部103から取得したビデオサンプルヘッダ情報と時間調整部108から取得したターゲットタイムとに基づいてビデオデータのパケット単位を決定する(S110)。なお、ビデオパケット単位決定部109がビデオデータのパケット単位を決定する処理動作については、詳しく後述する。
【0091】
その後、ビデオパケット単位決定部109は、パケット単位が決定されたパケットに含まれるビデオサンプルの再生時間情報をオーディオパケット単位決定部110に出力する(S120)。
そして、オーディオパケット単位決定部110は、ビデオパケット単位決定部109から取得したビデオサンプルの再生時間情報に基づいて、オーディオデータのパケット単位を決定する(S130)。このとき、オーディオパケット単位決定部110は、パケットに含まれる先頭のオーディオサンプルの再生開始時間が、パケットに含まれる先頭のビデオサンプルの再生開始時間と同一またはこれに近似するように、パケット単位を決定する。
【0092】
オーディオパケット単位決定部110がオーディオデータのパケット単位を決定すると、パケット単位決定部107は、パケット作成テーブルをパケット作成テーブル蓄積部111に出力し、パケット作成信号をパケットヘッダ作成部112に出力する。
【0093】
その後、パケットヘッダ作成部112は、決定された単位でmoofデータを作成してパケット結合部114に出力し、また、パケットデータ作成部113は、決定された単位でmdatデータを作成してパケット結合部114に出力し、パケット結合部114がmoofデータとmdatデータとを結合させて、決定された単位で1パケットを作成し(S140)、1パケット分のmp4拡張部データとして出力する。
【0094】
1パケットを作成し終えると、多重化装置100は、第1入力部101および第2入力部104から、まだ入力されるデータがあるか否かを判断する(S150)。ここで、入力データがある場合(S150のNo)、多重化装置100は、バッファメモリ、すなわち第1データ蓄積部102、第2データ蓄積部105およびパケット作成テーブル蓄積部111に保持されているデータのうち、既にパケット化が終了したデータをクリアして(S160)、上記S110からS150までの処理動作を繰り返す。
【0095】
一方、入力データがない場合(S150のYes)、多重化装置100は、MP4ファイルの拡張部の作成処理を終了する。
このように、多重化装置100は、まずビデオデータのパケット単位を決定した後にオーディオデータのパケット単位を決定して、メディアデータの多重化を行なうことによって、MP4ファイルの拡張部を作成する。
【0096】
ここで、図2のステップS110において、ビデオパケット単位決定部109がビデオデータのパケット単位を決定する処理動作について詳しく説明する。
図3は、ビデオパケット単位決定部109の処理動作を示すフロー図である。
このフローに先立ってビデオパケット単位決定部109は、時間調整部108からターゲットタイムを取得しておく。
【0097】
そして、ビデオパケット単位決定部109は、第1解析部103からビデオサンプルヘッダ情報を取得すると(S111)、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する(S112)。
このとき、ビデオパケット単位決定部109は、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長の合計、すなわちパケットに含まれるビデオデータの総再生時間が、先に取得したターゲットタイムになったか、あるいは、ターゲットタイムを超えたか否かを判定する(S113)。
【0098】
パケットに含まれるビデオデータの総再生時間がターゲットタイムに至っていない場合(S113のNo)、ビデオパケット単位決定部109は、次のビデオサンプルヘッダ情報を取得して(S111)、S112とS113の処理動作を繰り返す。
【0099】
パケットに含まれるビデオデータの総再生時間がターゲットタイムに至っている場合(S113のYes)、ビデオパケット単位決定部109は、ビデオパケット作成テーブルに最後に追加したビデオサンプルヘッダ情報が指し示すビデオサンプルを、パケットに含まれる最後のビデオサンプルに決定し(S114)、パケット単位を決定する処理動作を終了する。
【0100】
続いて、図2のステップS130において、オーディオパケット単位決定部110がオーディオデータのパケット単位を決定する処理動作について詳しく説明する。
図4は、オーディオパケット単位決定部110の処理動作を示すフロー図である。
【0101】
このフローに先立って、オーディオパケット単位決定部110は、ビデオパケット単位決定部109からビデオサンプル再生時間情報を取得しておく。
そして、オーディオパケット単位決定部110は、第2解析部106からオーディオサンプルヘッダ情報を取得すると(S131)、先に取得したビデオサンプル再生時間情報を参照して(S132)、パケットに含まれる先頭のビデオサンプルの再生開始時間を読み出し、パケットに含まれる先頭のビデオサンプルの再生開始時間と同一または近似する再生開始時間のオーディオサンプルを、そのパケットのオーディオ先頭サンプルに決定する(S133)。
【0102】
オーディオパケット単位決定部110は、パケットに含まれるオーディオ先頭サンプルを決定すると、オーディオサンプルヘッダ情報を順次取得して(S134)、オーディオサンプルヘッダ情報をオーディオパケット作成テーブルに追加していく(S135)。
【0103】
その後、オーディオパケット単位決定部110は、ビデオサンプル再生時間情報を参照して、パケットに含まれるビデオサンプルの再生時間長の総和を読み出し(S136)、パケットに含まれるオーディオサンプルの再生時間長の総和が、パケットに含まれるビデオサンプルの再生時間長の総和と同一または近似する値となるように、そのパケットに含まれる最後のオーディオサンプルを決定し(S137)、パケット単位を決定する処理動作を終了する。
【0104】
このような多重化装置100による処理動作を経て作成されるMP4ファイルの拡張部は、再生装置側におけるデータアクセスの効率に優れている。その理由について、図5に多重化装置100が作成するMP4ファイル拡張部のデータ構造の例を示して説明する。
【0105】
図5(a)に示すMP4ファイル拡張部200は、複数のパケットから構成され、MP4ファイルの基本部に結合されている。
MP4ファイル拡張部200を構成する各パケットは、パケットヘッダ部のmoofと、パケットデータ部のmdatから構成されている。ここで、パケット_1は、MP4ファイル拡張部200の1番目のパケットであることを意味し、パケット_1に含まれるmoofは、moof_1、パケット_1に含まれるmdatは、mdat_1と示す。また、図5(a)の各mdat中に示す“V”は、ビデオサンプルであることを指し示すものであり、図5(a)の各mdat中に示す“A”は、オーディオサンプルであることを指し示すものである(以下、他の図においても同様とする。)。
【0106】
MP4ファイル拡張部200のmdat_1には、再生開始時間が20秒のビデオサンプルがビデオ先頭サンプルとして格納されており、同じく再生開始時間が20秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。また、mdat_2にも、再生開始時間が30秒のビデオサンプルがビデオ先頭サンプルとして格納されており、同じく再生開始時間が30秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。
【0107】
このように、1つのパケットにビデオサンプルとオーディオサンプルとを、各々の再生開始時間を揃えて格納することによって、再生装置側で、MP4ファイル拡張部200を再生する時に、データアクセスに要する計算量を大幅に削減することができる。
【0108】
また、各メディアデータの再生開始時間が揃えられてパケットに格納されているので、任意の数のパケットでデータを分割して、MP4ファイルデータのサイズを所望のサイズに調整することもできる。
ここで、多重化装置100が作成するMP4ファイル拡張部は、図5(b)に示すデータ構造としてもよい。
【0109】
図5(b)は、多重化装置100が作成するMP4ファイル拡張部のデータ構造の第2例を示す図である。
図5(b)に示すMP4ファイル拡張部210のmdat_1には、再生開始時間が20秒のビデオサンプルがビデオ先頭サンプルとして格納されており、mdat_2には、再生開始時間が20秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。また、mdat_3には、再生開始時間が30秒のビデオサンプルがビデオ先頭サンプルとして格納されており、mdat_4には、再生開始時間が30秒のオーディオサンプルがオーディオ先頭サンプルとして格納されている。
【0110】
このように、1つのパケットにビデオまたはオーディオのいずれか一方のデータを格納して、ビデオデータを格納するパケットと、再生開始時間が揃えられたオーディオデータを格納するパケットを交互に配列することによっても、再生装置側で、MP4ファイル拡張部200を再生する時に、データアクセスに要する計算量を大幅に削減することができる。
【0111】
以上説明したように、本実施の形態1に係る多重化装置100によれば、各メディアデータの再生開始時間を揃えて、各メディアデータをパケット化するので、再生装置側におけるデータアクセスの効率化を図ることができる。
【0112】
(実施の形態2)
次に、本発明の実施の形態2に係る多重化装置について、図6から図9を参照しながら説明する。
本実施の形態2に係る多重化装置は、主な構成要素において、上記実施の形態1に係る多重化装置100と共通するが、パケット単位決定部において特徴的な構成を備えており、この点において上記実施の形態1に係る多重化装置100と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態1と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【0113】
図6は、本実施の形態2に係る多重化装置のパケット単位決定部の機能的な構成を示すブロック図である。
このパケット単位決定部117は、パケットに含まれるビデオサンプルおよびオーディオサンプルのヘッダ情報を集積させて、各々の再生開始時間が揃うように、かつ、パケットに含まれる先頭のビデオサンプルがイントラフレームとなるように、ビデオデータおよびオーディオデータのパケット単位を決定する処理部であり、時間調整部108と、ビデオパケット単位決定部119と、オーディオパケット単位決定部110とを備える。
【0114】
ビデオパケット単位決定部119は、第1解析部103からビデオサンプルヘッダ情報を取得してビデオデータのパケット単位を、時間またはイントラフレームのいずれかを基準に決定する処理部であり、時間基準単位調整部120と、Iフレーム基準単位調整部121とを備える。
【0115】
時間基準単位調整部120は、時間調整部108から出力されるターゲットタイムに基づいてビデオデータのパケット単位を調整する処理部であり、各ビデオサンプルヘッダ情報の再生時間長をカウントして、パケットが定められた時間単位となるようにパケット単位を調整する。
【0116】
Iフレーム基準単位調整部121は、第1解析部103から出力されるビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かに基づいてビデオデータのパケット単位を調整する処理部であり、イントラフレームであることを示す情報が含まれているビデオサンプルヘッダ情報を取得すると、イントラフレームのビデオサンプルでパケット単位を切り替えて、次のパケットのビデオ先頭サンプルがイントラフレームのビデオサンプルとなるようにパケット単位を調整する。
【0117】
このように構成されるパケット単位決定部117を備えた本実施の形態2に係る多重化装置において、ビデオパケット単位決定部119がビデオデータのパケット単位を決定する処理動作について詳しく説明する。
図7は、ビデオパケット単位決定部119の処理動作を示すフロー図である。
【0118】
このフローに先立って、ビデオパケット単位決定部119は、時間調整部108からターゲットタイムを取得して、時間基準単位調整部120に保持する。
そして、上記実施の形態1と同様に、ビデオパケット単位決定部119は、第1解析部103からビデオサンプルヘッダ情報を取得すると(S201)、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する(S202)。
【0119】
このとき、ビデオパケット単位決定部119は、Iフレーム基準単位調整部121において、取得したビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かを判定する(S203)。
イントラフレームであることを示す情報が含まれている場合(S203のYes)、ビデオパケット単位決定部119は、時間基準単位調整部120において、パケットに含まれる全ビデオサンプルの総再生時間が、先に取得したターゲットタイムを超えているか否かを判定する(S205)。
【0120】
ここで、イントラフレームであることを示す情報が含まれていない場合(S203のNo)またはターゲットタイムを超えていない場合(S205のNo)、ビデオパケット単位決定部119は、時間基準単位調整部120において、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長を加算することによって、パケットに含まれるビデオサンプルの再生時間長の総和を更新し(S204)、次のビデオサンプルヘッダ情報を取得して(S201)上記処理動作を繰り返す。
【0121】
一方、ターゲットタイムを超えている場合(S205のYes)、ビデオパケット単位決定部119は、パケットに含まれる最後のビデオサンプルを、Iフレーム基準単位調整部121においてイントラフレームであると判定されたビデオサンプルの1つ前のビデオサンプルに決定し(S206)、ビデオデータのパケット単位決定の処理動作を終了する。
【0122】
このようなビデオパケット単位決定部119の処理動作を経て作成されるMP4ファイルの拡張部は、パケットの先頭に格納されるビデオサンプルが必ずイントラフレームのビデオサンプルとなるので、再生装置側でランダムアクセス時にパケットの先頭のビデオサンプルから再生を開始することができるようになり、ランダムアクセス可能なビデオサンプルの検索に要する計算量を大幅に削減することができる。
【0123】
また、パケットの先頭に格納されるビデオサンプルが必ずイントラフレームのビデオサンプルとなることによって、パケットヘッダ部(moof)では、ビデオトラックのヘッダ情報を格納するtrafの先頭に位置するtrunの先頭サンプルフラグフィールドにのみ、ランダムアクセス可能であることを示す情報を記述すればよく、各trunのサンプルフラグフィールドは、デフォルト値を使用することにより省略できるので、moofデータ作成時の負荷が軽減されるとともに、MP4ファイル全体のファイルサイズの削減を図ることもできる。
【0124】
なお、この処理動作によると、ビデオデータに含まれるイントラフレーム同士の間隔が大きくなると、1パケットあたりの再生時間長が長くなる場合がある。そのため、パケット単位決定部117は、以下に述べるような処理動作としてもよい。
【0125】
図8は、ビデオパケット単位決定部119の第2の処理動作を示すフロー図である。
上記第1の処理動作と同様に、このフローに先立って、ビデオパケット単位決定部119は、時間調整部108からターゲットタイムを取得して、時間基準単位調整部120に保持する。
【0126】
そして、ビデオパケット単位決定部119は、第1解析部103からビデオサンプルヘッダ情報を取得すると(S211)、ビデオサンプルヘッダ情報をビデオパケット作成テーブルに追加する(S212)。
このとき、ビデオパケット単位決定部119は、時間基準単位調整部120において、パケットに含まれる全ビデオサンプルの総再生時間が、先に取得したターゲットタイムを超えているか否かを判定する(S213)。
【0127】
ターゲットタイムを超えている場合(S213のYes)、ビデオパケット単位決定部119は、パケットに含まれる最後のビデオサンプルを、今回取得したビデオサンプルヘッダ情報の1つ前のビデオサンプルヘッダ情報が指し示すビデオサンプルに決定し(S214)、ビデオデータのパケット単位決定の処理動作を終了する。
【0128】
一方、ターゲットタイムを超えていない場合(S213のNo)、ビデオパケット単位決定部119は、Iフレーム基準単位調整部121において、取得したビデオサンプルヘッダ情報にイントラフレームであることを示す情報が含まれているか否かを判定する(S215)。
【0129】
ここで、イントラフレームであることを示す情報が含まれている場合(S215のYes)、ビデオパケット単位決定部119は、パケットに含まれる最後のビデオサンプルを、Iフレーム基準単位調整部121においてイントラフレームであると判定されたビデオサンプルの1つ前のビデオサンプルに決定し(S214)、ビデオデータのパケット単位決定の処理動作を終了する。
【0130】
他方、イントラフレームであることを示す情報が含まれていない場合(S215のNo)、ビデオパケット単位決定部119は、時間基準単位調整部120において、ビデオサンプルヘッダ情報に含まれるビデオサンプルの再生時間長を加算することによって、パケットに含まれるビデオサンプルの再生時間長の総和を更新し(S216)、次のビデオサンプルヘッダ情報を取得して(S211)上記処理動作を繰り返す。
【0131】
このようなビデオパケット単位決定部119の第2の処理動作を経て作成されるMP4ファイルの拡張部は、所定の時間制限を設定してパケットを作成してパケットサイズを所望のサイズ以下に保ちつつ、イントラフレームのビデオサンプルが存在すれば、パケットの先頭に格納することができるので、再生装置側でランダムアクセス時にパケットの先頭のビデオサンプルについてのみランダムアクセス可能なビデオサンプルであるか否かを判定すればよくなり、ランダムアクセス可能なビデオサンプルの検索に要する計算量を削減することができる。
【0132】
なお、ビデオパケット単位決定部119は、ビデオデータのパケット単位決定の処理動作を終了すると、ビデオサンプル再生時間情報をオーディオパケット単位決定部110に出力し、オーディオパケット単位110でオーディオデータのパケット単位決定の処理動作が行なわれるのは、上記実施の形態1の場合と同様である。
【0133】
このようなパケット単位決定部117による処理動作を経て作成されるMP4ファイルの拡張部は、再生装置側におけるランダムアクセス時の検索負荷を軽減させる。その理由について、図9に本実施の形態2に係る多重化装置が作成するMP4ファイル拡張部のデータ構造の例を示して説明する。
【0134】
図9(a)に示すMP4ファイル拡張部220のmdat_1には、イントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されており、mdat_2にも同じくイントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されている。
【0135】
このように、イントラフレームのビデオサンプルを先頭のビデオサンプルとしてパケットに格納することによって、再生装置側でランダムアクセス時において、ランダムアクセス可能なビデオサンプルを取得するためにパケットの先頭のビデオサンプルのみを検索すれば足りるため、パケットに含まれる全てのビデオサンプルを検索する必要がなくなり、ランダムアクセス時のサンプル検索負荷を大幅に軽減することができる。
【0136】
また、このとき、MP4ファイル拡張部220のmoof_1およびmoof_2においても、ビデオトラックのヘッダ情報を格納するtrafの先頭に位置するtrunの先頭サンプルフラグフィールドにのみ、ランダムアクセス可能であることを示す情報を記述することによって、moof_1およびmoof_2のサイズを削減することもできる。
【0137】
ここで、本実施の形態2に係る多重化装置が作成するMP4ファイル拡張部は、図9(b)に示すデータ構造としてもよい。
図9(b)に示すMP4ファイル拡張部230のmdat_1には、イントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されており、mdat_3にも同じくイントラフレームのビデオサンプルがビデオ先頭サンプルとして格納されている。また、mdat_2およびmdat_4には、オーディオサンプルが格納されている。
【0138】
このように、1つのパケットにビデオまたはオーディオのいずれか一方のデータを格納して、ビデオデータを格納するパケットには、イントラフレームのビデオサンプルを先頭のビデオサンプルとして格納することによっても、再生装置側でランダムアクセス時におけるサンプル検索負荷を大幅に軽減することができる。
【0139】
なお、これらMP4ファイル拡張部のデータ構造例のいずれにおいても、パケットに格納される先頭のビデオサンプルの再生開始時間と先頭のオーディオサンプルの再生開始時間とを揃えることによって、再生装置側でのデータアクセスに要する計算量を大幅に削減することができる。
【0140】
以上説明したように、本実施の形態2に係る多重化装置によれば、ランダムアクセス可能なビデオサンプルを先頭のビデオサンプルとして、パケットを作成するので、再生装置におけるランダムアクセス時のサンプル検索に要する計算量を削減することができる。
【0141】
(実施の形態3)
さらに、本発明の実施の形態3に係る多重化装置について、図10から図14を参照しながら説明する。
本実施の形態3に係る多重化装置は、主な構成要素において、上記実施の形態1および2に係る多重化装置と共通するが、パケットデータ作成部において特徴的な構成を備えており、この点において上記実施の形態1および2に係る多重化装置と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態1および2と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【0142】
図10は、本実施の形態3に係る多重化装置のパケットデータ作成部の機能的な構成を示すブロック図である。
このパケットデータ作成部130は、パケットデータ部(mdat)を、ビデオサンプルの実体データとオーディオサンプルの実体データとをインタリーブして格納することによって作成する処理部であり、mdat情報取得部131と、ビデオ実体データ読出部132と、オーディオ実体データ読出部133と、インタリーブ配列部134とを備える。
【0143】
mdat情報取得部131は、パケットヘッダ作成部112からmdat情報を取得して、パケットデータ作成部130を構成する他の各部に実体データの読出指示や再生時間情報を出力する処理部である。
このmdat情報取得部131は、パケットヘッダ作成部112からmdat情報を取得するとmdat情報を解析して、ビデオサンプルおよびオーディオサンプルの再生開始時間と再生終了時間とを示す再生時間情報を取得し、この再生時間情報に基づいて、パケットに含まれる全てのビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるように並び替える。
【0144】
そして、mdat情報取得部131は、並び替えた順番に従って再生開始時間の若いサンプルから順に、ビデオ実体データ読出部132にビデオサンプルの実体データの読み出しを指示するビデオ読出指示を出力する、または、オーディオ実体データ読出部133にオーディオサンプルの実体データの読み出しを指示するオーディオ読出指示を出力する。このビデオ読出指示には、ビデオサンプルの実体データが第1データ蓄積部102のどこに格納されているかを示すポインタ情報とビデオサンプルのサイズ情報とが含まれており、オーディオ読出指示には、オーディオサンプルの実体データが第2データ蓄積部105のどこに格納されているかを示すポインタ情報とオーディオサンプルのサイズ情報とが含まれている。
【0145】
ビデオ実体データ読出部132は、mdat情報取得部131からビデオ読出指示を取得して、第1データ蓄積部102からビデオ実体データを読み出す処理部である。このビデオ実体データ読出部132は、ビデオ読出指示に含まれるポインタ情報とサイズ情報とを参照して第1データ蓄積部102からビデオ実体データを読み出して、読み出したビデオ実体データをインタリーブ配列部134に出力する。
【0146】
オーディオ実体データ読出部133は、mdat情報取得部131からオーディオ読出指示を取得して、第2データ蓄積部105からオーディオ実体データを読み出す処理部である。このオーディオ実体データ読出部133は、オーディオ読出指示に含まれるポインタ情報とサイズ情報とを参照して第2データ蓄積部105からオーディオ実体データを読み出して、読み出したオーディオ実体データをインタリーブ配列部134に出力する。
【0147】
インタリーブ配列部134は、ビデオ実体データ読出部132およびオーディオ実体データ読出部133から出力される読出ビデオデータおよび読出オーディオデータを出力される順に逐次取得し、インタリーブして配列することによってmdatデータを作成し、パケット結合部114に出力する処理部である。
【0148】
このように構成されるパケットデータ作成部130を備えた本実施の形態3に係る多重化装置において、パケットデータ作成部130がmdatを作成する処理動作について詳しく説明する。
図11は、パケットデータ作成部130の処理動作を示すフロー図である。
【0149】
まず、パケットデータ作成部130は、mdat情報取得部131において、パケットヘッダ作成部112からmdat情報を取得する(S301)。mdat情報取得部131は、取得したmdat情報を解析して、サンプルのポインタ情報とサイズ情報と再生時間情報とを抽出する。そして、mdat情報取得部131は、抽出したサンプルの再生時間情報に基づいて、パケットに含まれる全てのビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるように並び替える。続いて、mdat情報取得部131は、並び替えた順番に従って再生開始時間の若いサンプルから順に、抽出したビデオサンプルのポインタ情報とサイズ情報とを含むビデオ読出指示をビデオ実体データ読出部132に出力する、または、抽出したオーディオサンプルのポインタ情報とサイズ情報とを含むオーディオ読出指示をオーディオ実体データ読出部133に出力する。
【0150】
ビデオ実体データ読出部132は、ビデオ読出指示を取得すると、ポインタ情報とサイズ情報とを参照して第1データ蓄積部102からビデオ実体データを読み出してインタリーブ配列部134に出力し、オーディオ実体データ読出部133は、オーディオ読出指示を取得すると、ポインタ情報とサイズ情報とを参照して第2データ蓄積部105からオーディオ実体データを読み出してインタリーブ配列部134に出力する(S302)。
【0151】
インタリーブ配列部134は、読み出した実体データをビデオ実体データ読出部132およびオーディオ実体データ読出部133から受け取ると、受け取った順に逐次配列する(S303)。
ここで、インタリーブ配列部134は、ビデオ実体データとオーディオ実体データの全て、すなわち、1パケットに格納される実体データの全ての配列が完了するまで、実体データの配列を続行する(S304のNo、S303)。
【0152】
そして、1パケットに格納される実体データの全ての配列が完了すると(S304のYes)、インタリーブ配列部134は、配列した実体データをmdatデータとして、パケット結合部114に出力して(S305)、mdatの作成の処理動作を終了する。
【0153】
このようなパケットデータ作成部130の処理動作を経て作成されるMP4ファイルの拡張部は、シークに時間がかかる光ディスク機器等におけるランダムアクセス再生に適している。その理由について図12に本実施の形態3に係る多重化装置が作成するMP4ファイル拡張部のデータ構造の概略を示して説明する。
【0154】
図12に示すMP4ファイル拡張部240は、4〜8秒までのコンテンツデータを格納するパケット1、8〜12秒までのコンテンツデータを格納するパケット2、12〜16秒までのコンテンツデータを格納するパケット3というように、複数のパケットが配列されることで構成されている。
【0155】
各パケットは、moof241とmdat242とから構成されており、moof241には、ビデオトラックに関するtfhd(V)およびtraf(V−1、V−2)と、オーディオトラックに関するtfhd(A)およびtraf(A−1、A−2)とが格納されている。また、traf(V−1)とtraf(A−1)に格納されるヘッダ情報が指し示すサンプルの実体データは、mdat_1に格納され、traf(V−2)とtraf(A−2)に格納されるヘッダ情報が指し示すサンプルの実体データは、mdat_2に格納されている。そして、mdat242には、ビデオサンプルの実体データとオーディオサンプルの実体データとが交互にインタリーブして格納されている。
【0156】
このとき、再生装置側で、再生時間が4秒の位置から再生を開始するランダムアクセス処理に際して、moof_1の先頭位置に読み出しポインタを移動させれば、後はmoof_1を解析して、読み出しポインタを連続的に移動させることによりmoof_1に連続するmdat_1から再生に必要な実体データを取得することができる。
【0157】
すなわち、このMP4ファイル拡張部240によれば、再生装置は、moof_1の先頭位置に読み出しポインタを移動させる1回のシーク動作だけで、ランダムアクセス再生を実現することができるので、シークに時間がかかる光ディスク機器等に有効といえる。
【0158】
ここで、mdat242において、ビデオサンプルの実体データの直後に格納されるオーディオサンプルの実体データは、直前のビデオサンプルの再生開始時間と揃えられているので、ビデオデータとオーディオデータの同期再生は担保されている。図13に、MP4ファイル拡張部240のmdat_1に実体データが格納されている様子を示す。
【0159】
図13に示すように、mdat_1の先頭に格納されているビデオサンプル1の再生開始時間は4000msであり、ビデオサンプル1の直後に格納されているオーディオサンプル1の再生開始時間は、4000msであり、ビデオサンプル1とオーディオサンプル1の再生開始時間は同一に揃えられている。
【0160】
通常、ビデオサンプルとオーディオサンプルのサンプルレートは異なることが多いので、ここでは、ビデオサンプルの再生時間長は500msとし、オーディオサンプルの再生時間長は100msとする。
従って、MP4ファイル拡張部240のmdat_1には、ビデオサンプル1の直後にオーディオサンプル1〜5がインタリーブして格納され、その後に、ビデオサンプル2、オーディオサンプル6〜10、ビデオサンプル3・・・の順に格納されることになる。
【0161】
このとき、ビデオサンプル2の再生開始時間は、4500msであり、ビデオサンプル2の直後に格納されているオーディオサンプル6の再生開始時間も4500msであり、ビデオサンプルとそのビデオサンプル直後のオーディオサンプルの再生開始時間は、常に同一となるように揃えられている。
【0162】
また、ビデオサンプルとオーディオサンプルのサンプルレートは異なるため、ビデオサンプルの再生開始時間とその直後のオーディオサンプルの再生開始時間とが同一とならない場合も生じうる。このような場合でも、ビデオサンプル直後のオーディオサンプルを、ビデオサンプルの再生開始時間と近似する再生開始時間を有するオーディオサンプルとすることによって、ビデオデータとオーディオデータの同期再生を担保することができる。
【0163】
図14は、MP4ファイル拡張部のmdat_1に実体データが格納されている様子を示す第2のデータ構造を示す図である。
図14に示すように、MP4ファイル拡張部250のmdat_1の先頭に格納されているビデオサンプル1の再生開始時間は、4000msであり、ビデオサンプル1の直後に格納されているオーディオサンプル1の再生開始時間は、4050msであり、ビデオサンプル1の直後に格納されるオーディオサンプルとして、ビデオサンプル1の再生開始時間以降であって最も早い再生開始時間を有するオーディオサンプル1が格納されている。
【0164】
ここで、先に説明した場合と同様に、ビデオサンプルの再生時間長は500msとし、オーディオサンプルの再生時間長は100msとする。
従って、MP4ファイル拡張部250のmdat_1には、ビデオサンプル1の直後に、オーディオサンプル1〜5がインタリーブして格納され、その後に、ビデオサンプル2、オーディオサンプル6〜10、ビデオサンプル3・・・の順に格納されることになる。
【0165】
このとき、ビデオサンプル2の再生開始時間は、4500msであり、ビデオサンプル2の直後に格納されているオーディオサンプル6の再生開始時間は、4550msであり、ビデオサンプルとそのビデオサンプル直後のオーディオサンプルの再生開始時間は、常に近似するように揃えられている。
【0166】
なお、ここで、ビデオサンプルの直後に格納されるオーディオサンプルとして、ビデオサンプルの再生開始時間以前であって最も遅い再生開始時間を有するオーディオサンプルを格納することとしてもよい。この場合、ビデオサンプル1の直後に格納されるオーディオサンプル1は、3950msの再生時間を有することになる。
【0167】
以上説明したように、本実施の形態3に係る多重化装置によれば、ビデオサンプルの直後に、ビデオサンプルの再生開始時間と同一または近似する再生開始時間を有するオーディオサンプルを配置し、ビデオサンプルとオーディオサンプルとを再生開始時間が昇順となるようにインタリーブしてmdatに格納するので、シーク速度の遅い再生装置においても、迅速にランダムアクセス可能なデータ構造のMP4ファイル拡張部を作成することができる。
【0168】
(実施の形態4)
続いて、本発明の実施の形態4に係る逆多重化装置について、図15および図16を参照しながら説明する。
図15は、本実施の形態4に係る逆多重化装置の機能的な構成を示すブロック図である。
逆多重化装置300は、上記実施の形態1、2および3に係る多重化装置で作成されたMP4ファイル拡張部を含むMP4ファイルデータを取得して解析し、メディアデータを逆多重化して再生データを出力する装置であり、ファイル入力部301、ファイルデータ蓄積部302、ヘッダ分離解析部303、moov解析部304、moof解析部305、traf解析部306、trun解析部307、RA検索部308およびサンプル取得部309を備えている。
【0169】
ファイル入力部301は、MP4ファイルデータを取得するインターフェースであり、取得したMP4ファイルの入力データを順次、ファイルデータ蓄積部302に蓄積させる。
ファイルデータ蓄積部302は、MP4入力データを一時的に保持するキャッシュメモリやRAM等である。
【0170】
ヘッダ分離解析部303は、ファイルデータ蓄積部302に保持されているMP4入力データのうちMP4ファイルのヘッダデータを読み出して解析し、MP4ファイルの基本部ヘッダのmoovデータと、拡張部ヘッダのmoofデータとに分離して、それぞれmoov解析部304およびmoof解析部305に出力する処理部であり、CPUやメモリによって実現される。
【0171】
moov解析部304は、MP4ファイルのmoovを解析して、メディアデータの符号化レートやコンテンツの再生時間長等、メディアデータの解析に必要なメディア情報を取得する処理部であり、CPUやメモリによって実現される。このmoov解析部は、取得したメディア情報をmoof解析部305に出力する。
【0172】
moof解析部305は、MP4ファイルのmoofを、moov解析部304から取得したメディア情報に基づいて解析し、トラック毎のヘッダデータであるtrafデータをtraf解析部306に出力する処理部であり、CPUやメモリによって実現される。
【0173】
traf解析部306は、MP4ファイルのtrafを解析して、trafに含まれるサンプル毎のヘッダデータであるtrunデータをtrun解析部307に出力する処理部であり、CPUやメモリによって実現される。
trun解析部307は、MP4ファイルのtrunを解析して、trun内の各フィールドに記述されている情報を取得して、サンプル取得部309にtrun解析情報を出力する処理部であり、CPUやメモリによって実現される。このtrun解析情報には、例えば、そのサンプルのサイズや、そのサンプルがファイルデータ蓄積部302のどこに格納されているかを示すデータオフセット情報や、さらにビデオサンプルの場合にはイントラフレームであることか否かを示すフラグ情報等が含まれている。
【0174】
また、このtrun解析部307は、次に述べるRA検索部308から、ランダムアクセス後の再生開始位置を示し、再生の開始を指示する出力信号である再生開始指示を取得すると、再生開始指示によって示されるtrunから順に解析して、サンプル取得部309にtrun解析情報を出力する。
【0175】
RA検索部308は、ランダムアクセス後の再生開始時間を示す目標再生時間情報を取得して、ビデオトラックに関するヘッダ情報を格納する先頭のtraf内の先頭のtrunに含まれる先頭サンプルについての再生開始時間、およびイントラフレームであるかを示す情報である先頭サンプル情報を読み出して、ランダムアクセス後の再生開始位置となるビデオサンプルを検索する処理部であり、CPUやメモリによって実現される。このRA検索部308は、ユーザからのランダムアクセス指示を受け付ける逆多重化装置300の入力装置から目標再生時間情報を取得すると、trun解析部307から先頭サンプル情報のみを順次取得して、目標再生時間情報と同一または近似する再生開始時間を有するビデオサンプルを検索し、再生開始指示をtrun解析部307に出力する。
【0176】
サンプル取得部309は、trun解析情報に基づいて、サンプルの実体データを読み出して復号化し、再生データをディスプレイ等の表示装置に出力する処理部である。このサンプル取得部309は、trun解析部307からtrun解析情報を取得すると、これに含まれるデータオフセット情報を参照して、ファイルデータ蓄積部302からサンプルの実体データを読み出す。ここで、trun解析情報の取得開始をもって、再生開始が指示されたものとする。
【0177】
このように構成される逆多重化装置300におけるランダムアクセス処理動作について図16を用いて説明する。
図16は、逆多重化装置300のランダムアクセス処理動作を示すフロー図である。なお、このフローに先立って、逆多重化装置300は、入力装置を介してユーザからのランダムアクセス指示を受け付けているものとする。
【0178】
まず、逆多重化装置300は、ファイル入力部301において、上記実施の形態1、2または3に係る多重化装置において作成されたMP4ファイルのデータを取得すると(S400)、順次ファイルデータ蓄積部302に蓄積させていく。
【0179】
次に、逆多重化装置300は、ヘッダ分離解析部303において、MP4ファイルのファイルヘッダ部のみを分離して解析し(S410)、さらに、基本部ヘッダと拡張部ヘッダとに分離して、moov解析部304において基本部ヘッダを解析し、moof解析部305において拡張部ヘッダを解析する(S420)。
【0180】
続いて、逆多重化装置300は、moof解析部305において、拡張部ヘッダをさらに、トラック毎のヘッダに分離して、traf解析部306において、トラックフラグメント、すなわち、trafを解析する(S430)。このとき、逆多重化装置300は、traf解析部306において、トラックフラグメントをさらに分離して、trun解析部307において、trunを解析する。
【0181】
ここで、逆多重化装置300は、RA検索部308において目標再生時間情報の入力があると、trun解析部307から先頭サンプル情報をRA検索部308に出力し、RA検索部308において、目標再生時間情報と同一または近似する再生開始時間が示されている先頭サンプル情報であるか否かを判定する(S440)。
【0182】
このとき、対象サンプルが見つからなければ(S450のNo)、逆多重化装置300は、RA検索部308において、ファイル内における格納順で次に配置された拡張部ヘッダにおける先頭サンプル情報を取得して、先に取得している目標再生時間情報と同一または近似する再生開始時間が示されている先頭サンプル情報であるか否かを判定する(S440)。
【0183】
一方、対象サンプルが見つかれば(S450のYes)、逆多重化装置300は、RA検索部308において、再生開始指示を生成し、trun解析部307に出力する。trun解析部307は、RA検索部308から再生開始指示を受けると、再生開始指示を受けたtrunから順に、trun解析情報をサンプル取得部309に出力する。ここで、再生開始指示を受けたtrunとは、RA検索部308において再生開始を指示されたサンプルを含むtrunを指す。
【0184】
その後、逆多重化装置300は、サンプル取得部309において、trun解析情報に含まれるデータオフセット情報を参照して、ファイルデータ蓄積部302から対象サンプルの実体データを取得し(S460)、復号化して再生データを出力してランダムアクセス処理動作を終了する。
【0185】
以上説明したように、本実施の形態4に係る逆多重化装置300によれば、上記実施の形態1、2または3に係る多重化装置が作成するMP4ファイル拡張部を含むMP4ファイルについてランダムアクセス再生を行なう際に、各パケットの先頭に格納されているビデオサンプルのみを検索することによって、ランダムアクセス後の再生開始位置とすべきビデオサンプルを判定することができるので、ランダムアクセス時のサンプル検索負荷が大幅に軽減されることになる。
【0186】
(適用例)
ここで、本発明に係る多重化装置の適用例について図17を用いて説明する。
図17は、本発明に係る多重化装置の適用例を示す図である。
本発明に係る多重化装置は、ビデオデータやオーディオデータ等のメディアデータを取得して多重化し、MP4ファイルデータを作成する録画機能付き携帯電話機403やパーソナルコンピュータ404に適用されうる。また、本発明に係る逆多重化装置は、作成されたMP4ファイルデータを読み込んで再生する携帯電話機407に適用されうる。
【0187】
ここで、録画機能付き携帯電話機403およびパーソナルコンピュータ404において作成されたMP4ファイルデータは、SDメモリカード405やDVD−RAM406等の記録媒体に格納されたり、通信ネットワーク402を介して画像配信サーバ401に送信されて、画像配信サーバ401から他の携帯電話機407等に配信されたりする。
【0188】
このように、本発明に係る多重化装置および逆多重化装置は、画像配信システム等におけるMP4ファイルの作成装置または再生装置として利用されるものである。
以上、本発明に係る多重化装置および逆多重化装置について、各実施の形態等に基づいて説明したが、本発明は、これらの実施の形態等に限定されるものではない。
【0189】
例えば、上記各実施の形態では、ビデオデータとして、MPEG−4 Visualの符号化データを用いることとしたが、ビデオデータとして、MPEG−4 AVC(Advanced Video Coding)やH.263等のその他の動画像圧縮符号化方式による符号化データを用いてもよい。なお、MPEG−4 AVC(Advanced Video Coding)やH.263の符号化データでは、1ピクチャが1サンプルに相当することになる。
【0190】
同様に、オーディオデータとして、MPEG−4 Audioの符号化データを用いることとしたが、オーディオデータとして、G.726等のその他の音声圧縮符号化方式による符号化データを用いてもよい。
また、上記各実施の形態では、ビデオデータとオーディオデータとを用いて説明しているが、テキストデータ等が含まれている場合でも、オーディオデータのパケット化と同じように処理することによって、本発明の効果を得ることができる。
【0191】
さらに、上記実施の形態2において、イントラフレーム毎にパケット化を行なうとする場合には、パケット単位決定部117の構成要素から時間基準単位調整部120を省略し、図7のステップS205の処理を省略することとしてもよい。
【0192】
またさらに、上記実施の形態3において、MP4ファイルの再生装置側で予め設定されているバッファモデルに従ってMP4ファイルが再生されることとなっている場合には、そのバッファモデルを満たすようにビデオサンプルのデータとオーディオサンプルのデータとをインタリーブしてmdatに格納することとしてもよい。ここで、バッファモデルとは、規格で定められた条件に従って符号化データが入力される場合に、その規格で定められたサイズのバッファを再生装置に持たせることで、バッファが空になる(アンダーフロー)、または、バッファから溢れる(オーバーフロー)ことなく、再生装置が復号化を行なうことができることを保証するためのモデルである。
【0193】
また、上記実施の形態1、2および3において、作成されるMP4ファイルの拡張部のmoofに格納するtrafの個数について言及していないが、moofに格納するtrafは、1つのトラックにつき1つのtrafを格納するのが好ましい。このようにすることで、トラック毎に、moof内の先頭trafのみを解析すれば、moofに格納されるトラックの全てのサンプルについてのヘッダ情報を取得することができるので、ヘッダ情報取得時の効率がさらに向上することとなる。
【0194】
さらに、上記実施の形態1、2および3において、作成されるMP4ファイルの拡張部のmoofにヘッダ情報が格納されるサンプルの実体データは、moofに連続する1つのmdatに格納するとしているが、moofに連続する複数のmdatに分割して格納することとしてもよい。具体的に説明すると、moof_1にヘッダ情報が格納されるサンプルの実体データを、mdat_1、mdat_2、mdat_3の順に格納し、moof_2にヘッダ情報が格納されるサンプルの実体データを、mdat_4、mdat_5、mdat_6の順に格納するとしてもよい。
【0195】
そして、上記実施の形態2および3では、パケット内に動画像データのイントラフレームが含まれる場合には、パケットの先頭に配置することとしているが、ランダムアクセスが可能であれば、P(Predictive)フレームやB(Bidirectionally predictive)フレーム等、イントラフレーム以外のビデオサンプルをパケットの先頭に配置することとしてもよい。以下、これについて、ビデオデータとしてMPEG−4 AVCの符号化データを用いた場合を例に挙げて説明する。
【0196】
MPEG−4 AVCでは、イントラピクチャから復号化しても正しい復号結果を得られない場合がある。より詳しく説明すると、MPEG−4 AVCのイントラピクチャには、IDR(Instantaneous Decoder Refresh)ピクチャと、それ以外のピクチャ(以下、non−IDRイントラピクチャと称する。)の2種類があり、IDRピクチャから復号化を開始すると、必ず正しい復号結果を得ることができるが、non−IDRイントラピクチャから復号化を開始すると、non−IDRイントラピクチャおよび表示順でnon−IDRイントラピクチャ以降の複数枚のピクチャについて、正しい復号結果を得られないことがある。
【0197】
そのため、MPEG−4 AVCでは、non−IDRイントラピクチャから正しい復号結果を得るためには、どのピクチャから復号化を開始すればよいかを示す補助情報(Recovery Point Supplemental Enhancement Information 以下、“Recovery Point SEI” と称する。)を付加することができる。
【0198】
例えば、Pic_1、Pic_2、Pic_3、Pic_4、Pic_5で示される5枚のピクチャが、この順序でビデオデータに含まれ、Pic_5がnon−IDRイントラピクチャで、表示順でPic_5およびPic_5以降のピクチャを正しく復号化しようとすると、Pic_1から復号化を開始しなければならない場合、Pic_1の直前に、Recovery Point SEIを配置することによって、ビデオデータ内における格納順で4枚後のピクチャであるPic_5、および、表示順でそれ以降のピクチャを正しく復号化するためには、Pic_1から復号化を開始する必要があることを示すことができる。
【0199】
すなわち、この場合に、Pic_1は、ランダムアクセス可能なサンプルであるといえるので、MPEG−4 AVCの符号化データの場合、IDRピクチャまたはRecovery Point SEIが付加されたピクチャのサンプルを、ランダムアクセス可能なサンプルとして、パケットの先頭に配置することとしてもよい。なお、Recovery Point SEIはイントラピクチャ以外のピクチャに付加することもできる。
【0200】
このとき、Recovery Point SEIが付加されたピクチャのサンプルと、Recovery Point SEIが付加されたピクチャから復号化を開始することで正しい復号結果を得られるようになるピクチャのサンプルとを同一パケットに格納することによって、サンプルデータ取得時の処理量を削減することができる。
【0201】
さらに、IDRピクチャと、Recovery Point SEIが付加されたピクチャのサンプルとは、先頭サンプルフラグ930、あるいはサンプルフラグ935における特定のフラグ値(以降、ノンシンクサンプルフラグと呼ぶ。)により識別することができる。MP4においては、ランダムアクセス可能なサンプルのうち、ランダムアクセスするサンプルと正しい復号結果が得られるサンプルとが一致するサンプルについてのみ、ノンシンクサンプルフラグを0にセットすることができる。このため、IDRピクチャのサンプルではノンシンクサンプルフラグを0とし、Recovery Point SEIが付加されたピクチャのサンプルではノンシンクサンプルフラグを1とすることにより、両者を識別することができる。
【0202】
以上のような識別方法を用いることにより、IDRピクチャとRecovery Point SEIが付加されたピクチャに限らず、互いに異なる性質をもつランダムアクセス可能なサンプルを識別することができる。実際には、以下のように使用することができる。
【0203】
まず1つ目は、特定のサンプルのみを再生していくことにより、早送り再生を行う場合である。このときは、復号したサンプルをただちに表示できることが望ましいので、ノンシンクサンプルフラグが0であるサンプルのみを復号化し、再生することとする。
【0204】
2つ目は、コンテンツの途中から再生を開始する、あるいは特定区間をスキップして次区間の再生を開始するような場合である。このとき、復号を開始するサンプルと正しい復号結果が得られるサンプルとが異なる可能性があるのは、再生開始時のみである。そこで、ノンシンクサンプルフラグが0であるサンプル、あるいはノンシンクサンプルフラグが1であるランダムアクセス可能なサンプルのどちらからでも再生を開始できることとする。
【0205】
なお、このような格納方法は、MPEG−4 AVCのRecovery Point SEIの場合に限られず、復号化を開始するサンプルと、正しい復号結果が得られるサンプルとが異なる場合に適用することができ、例えば、MPEG2−VideoにおけるOpen GOP(Group Of Pictures)のような構造に適用することができる。
【0206】
さらに、サンプルがランダムアクセス可能であることを示す識別情報が付加されている際には、その識別情報によってランダムアクセス可能であることが示されているサンプルをパケットの先頭に配置することとしてもよい。
【0207】
【発明の効果】
以上の説明から明らかなように、本発明に係る多重化装置によれば、メディアデータに含まれる画像データと、音声データおよびテキストデータの再生開始時間が揃えられてパケットに格納されるので、再生装置側における再生時のデータアクセスの効率化を実現することができる。
【0208】
また、パケットに含まれる先頭のビデオサンプルをイントラフレームのビデオサンプルとすることで、再生装置側におけるランダムアクセス時のサンプル検索に要する計算量を大幅に削減することが可能になるという効果が奏される。
さらに、パケットに含まれるビデオサンプルとオーディオサンプルとが再生開始時間が昇順となって格納されるので、再生装置側におけるランダムアクセス時のシーク動作の回数を少なくすることができ、シーク速度の遅い再生装置でも迅速なランダムアクセス再生を可能とする多重化を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る多重化装置の機能的な構成を示すブロック図である。
【図2】多重化装置の処理動作を示すフロー図である。
【図3】ビデオパケット単位決定部の処理動作を示すフロー図である。
【図4】オーディオパケット単位決定部の処理動作を示すフロー図である。
【図5】(a)は、多重化装置が作成するMP4ファイル拡張部のデータ構造の第1例を示す図であり、(b)は、多重化装置が作成するMP4ファイル拡張部のデータ構造の第2例を示す図である。
【図6】本実施の形態2に係る多重化装置のパケット単位決定部の機能的な構成を示すブロック図である。
【図7】ビデオパケット単位決定部の第1の処理動作を示すフロー図である。
【図8】ビデオパケット単位決定部の第2の処理動作を示すフロー図である。
【図9】(a)は、多重化装置が作成するMP4ファイル拡張部のデータ構造の第1例を示す図であり、(b)は、多重化装置が作成するMP4ファイル拡張部のデータ構造の第2例を示す図である。
【図10】本実施の形態3に係る多重化装置のパケットデータ作成部の機能的な構成を示すブロック図である。
【図11】パケットデータ作成部の処理動作を示すフロー図である。
【図12】多重化装置が作成するMP4ファイル拡張部のデータ構造の概略を示す図である。
【図13】多重化装置が作成するMP4ファイル拡張部のデータ構造の第1例を示す図である。
【図14】多重化装置が作成するMP4ファイル拡張部のデータ構造の第2例を示す図である。
【図15】本実施の形態4に係る逆多重化装置の機能的な構成を示すブロック図である。
【図16】逆多重化装置の処理動作を示すフロー図である。
【図17】本発明に係る多重化装置の適用例を示す図である。
【図18】従来のMP4ファイルを構成するボックスの構造を説明するための図である。
【図19】従来のMP4ファイルの基本部を説明するための図である。
【図20】(a)は、従来のMP4ファイルにおけるムービーボックスの構造を説明するための図であり、(b)は、従来のMP4ファイルにおけるムービーボックスの構造をツリー状に示す図である。
【図21】従来における拡張部を含むMP4ファイルの構造を示す図である。
【図22】従来におけるムービーフラグメントボックスの構造を説明するための図である。
【図23】従来におけるトラックフラグメントランボックスの構造を説明するための図である。
【図24】(a)従来における拡張部を含むMP4ファイルの第1の構成例を示す図であり、(b)は、従来における拡張部を含むMP4ファイルの第2の構成例を示す図である。
【図25】従来の多重化装置の構成を示すブロック図である。
【図26】従来におけるパケット単位決定部の処理動作を示すフロー図である。
【図27】従来におけるビデオサンプルのヘッダ情報を格納するパケット作成テーブルの一例を示す図である。
【図28】(a)は、従来における多重化装置の第1の問題点を説明するための図であり、(b)は、従来における多重化装置の第2の問題点を説明するための図である。
【符号の説明】
100、960 多重化装置
101、961 第1入力部
102、962 第1データ蓄積部
103、963 第1解析部
104、964 第2入力部
105、965 第2データ蓄積部
106、966 第2解析部
107、117、967 パケット単位決定部
108 時間調整部
109、119 ビデオパケット単位決定部
110 オーディオパケット単位決定部
111、968 パケット作成テーブル蓄積部
112、969 パケットヘッダ作成部
113、130、970 パケットデータ作成部
114、971 パケット結合部
120 時間基準単位調整部
121 Iフレーム基準単位調整部
131 mdat情報取得部
132 ビデオ実体データ読出部
133 オーディオ実体データ読出部
134 インタリーブ配列部
200、210、220、230、240、250 MP4ファイル拡張部
241、923、946、948、955、957 ムービーフラグメントボックス
242、916、945、947、949、956、958 ムービーデータボックス
300 逆多重化装置
301 ファイル入力部
302 ファイルデータ蓄積部
303 ヘッダ分離解析部
304 moov解析部
305 moof解析部
306 traf解析部
307 trun解析部
308 RA検索部
309 サンプル取得部
401 画像配信サーバ
402 通信ネットワーク
403 録画機能付き携帯電話機
404 パーソナルコンピュータ
405 SDメモリカード
406 DVD−RAM
407 携帯電話機
901 ボックス
902 ボックスヘッダ部
903 ボックスデータ格納部
904 ボックスサイズ
905 ボックスタイプ
906 バージョン
907 フラグ
910、920、940、950 MP4ファイル
911、941、951 基本部
912 ファイルヘッダ部
913 ファイルデータ部
914、943、953 ファイルタイプボックス
915、944、954 ムービーボックス
917 ムービーヘッダボックス
918 トラックボックス
919 トラックヘッダボックス
921、942、952 拡張部
922 パケット
924 ムービーフラグメントヘッダボックス
925 トラックフラグメントボックス
926 トラックフラグメントヘッダボックス
927 トラックフラグメントランボックス
928 サンプルカウント
929 データオフセット
930 先頭サンプルフラグ
931 テーブル
932 エントリ
933 サンプルデュレーション
934 サンプルサイズ
935 サンプルフラグ
936 サンプルコンポジションタイムオフセット
968a パケット作成テーブル
Claims (17)
- 画像データと、音声データおよびテキストデータのうち少なくとも1つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置であって、
前記メディアデータを取得するメディアデータ取得手段と、
前記メディアデータ取得手段が取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析手段と、
前記解析手段が取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定手段と、
前記パケット単位決定手段が決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成手段と、
前記パケット単位決定手段が決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成手段と、
前記パケットヘッダ部作成手段が作成したパケットヘッダ部と、前記パケットデータ部作成手段が作成したパケットデータ部とを結合してパケットを作成するパケット化手段とを備える
ことを特徴とする多重化装置。 - 前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項1記載の多重化装置。 - 前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルを、前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間以後であって、前記画像データのサンプルの再生開始時間に最も近い再生開始時間のサンプルとする
ことを特徴とする請求項2記載の多重化装置。 - 前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルを、前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間以前であって、前記画像データのサンプルの再生開始時間に最も近い再生開始時間のサンプルとする
ことを特徴とする請求項2記載の多重化装置。 - 前記画像データは、動画データであり、
前記解析手段は、さらに、
前記メディアデータ取得手段が取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを1つ以上含む場合に、前記イントラフレーム情報を取得し、
前記パケット単位決定手段は、
前記解析手段が前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定する
ことを特徴とする請求項1記載の多重化装置。 - 前記パケット単位決定手段は、
前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置する
ことを特徴とする請求項5記載の多重化装置。 - 前記パケット単位決定手段は、
前記パケット化単位の先頭に配置される前記イントラフレーム情報を含む前記動画データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項6記載の多重化装置。 - 前記パケットデータ部作成手段は、
前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項1記載の多重化装置。 - 前記パケットデータ部作成手段は、
前記パケット化単位に含まれる前記メディアデータのサンプルを、予め設定されている規定を満たすようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項8記載の多重化装置。 - 画像データと、音声データおよびテキストデータのうち少なくとも1つとを含むメディアデータをパケット多重化して多重化データを作成する多重化方法であって、
前記メディアデータを取得するメディアデータ取得ステップと、
前記メディアデータ取得ステップにおいて取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析ステップと、
前記解析ステップにおいて取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定ステップと、
前記パケット単位決定手ステップにおいて決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成ステップと、
前記パケット単位決定ステップにおいて決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成ステップと、
前記パケットヘッダ部作成ステップにおいて作成したパケットヘッダ部と、前記パケットデータ部作成ステップにおいて作成したパケットデータ部とを結合してパケットを作成するパケット化ステップとを含む
ことを特徴とする多重化方法。 - 前記パケット単位決定ステップにおいて、
前記パケット化単位の先頭に配置される前記画像データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃える
ことを特徴とする請求項10記載の多重化方法。 - 前記画像データは、動画データであり、
前記解析ステップにおいて、さらに、
前記メディアデータ取得ステップにおいて取得した前記動画データを解析して、前記動画データが、画面内符号化サンプルであることを示すイントラフレーム情報が含まれているサンプルを1つ以上含む場合に、前記イントラフレーム情報を取得し、
前記パケット単位決定ステップにおいて、
前記解析ステップにおいて前記イントラフレーム情報を取得した場合に、前記イントラフレーム情報と前記再生開始時間情報とに基づいて、前記メディアデータをパケット化する単位を決定する
ことを特徴とする請求項10記載の多重化方法。 - 前記パケット単位決定ステップにおいて、
前記イントラフレーム情報を含む前記動画データのサンプルを、前記パケット化単位の先頭に配置する
ことを特徴とする請求項12記載の多重化方法。 - 前記パケット単位決定ステップにおいて、
前記パケット化単位の先頭に配置される前記イントラフレーム情報を含む前記動画データのサンプルの再生開始時間に、前記パケット化単位の先頭に配置される前記音声データおよび前記テキストデータのサンプルの再生開始時間を揃えることを特徴とする請求項13記載の多重化方法。 - 前記パケットデータ部作成ステップにおいて、
前記パケット化単位に含まれる前記メディアデータのサンプルについて、サンプルの再生開始時間が昇順となるようにインタリーブして格納する前記パケットデータ部を作成する
ことを特徴とする請求項10記載の多重化方法。 - 画像データと、音声データおよびテキストデータのうち少なくとも1つとを含むメディアデータをパケット多重化して多重化データを作成する多重化装置のためのプログラムであって、
前記メディアデータを取得するメディアデータ取得ステップと、
前記メディアデータ取得ステップにおいて取得した前記メディアデータを解析して、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの最小のアクセス単位であるサンプルについて、サンプルの再生開始時間を示す再生開始時間情報を取得する解析ステップと、
前記解析ステップにおいて取得した前記再生開始時間情報に基づいて、前記メディアデータに含まれる前記画像データ、音声データおよびテキストデータの各サンプルの再生開始時間を揃えて前記メディアデータをパケット化する単位を決定するパケット単位決定ステップと、
前記パケット単位決定手ステップにおいて決定したパケット化単位で前記メディアデータのヘッダを格納するパケットヘッダ部を作成するパケットヘッダ部作成ステップと、
前記パケット単位決定ステップにおいて決定したパケット化単位で前記メディアデータの実体データを格納するパケットデータ部を作成するパケットデータ部作成ステップと、
前記パケットヘッダ部作成ステップにおいて作成したパケットヘッダ部と、前記パケットデータ部作成ステップにおいて作成したパケットデータ部とを結合してパケットを作成するパケット化ステップとを含む多重化方法における各ステップをコンピュータに実行させる
ことを特徴とするプログラム。 - 画像データと、音声データおよびテキストデータのうち少なくとも1つとを含むメディアデータが所定のパケットの単位で多重化されている多重化データを取得して逆多重化する逆多重化装置であって、
前記多重化データを取得する多重化データ取得手段と、
前記多重化データ取得手段が取得した前記多重化データを解析して、前記パケットのヘッダ部を前記多重化データから分離して取得する解析分離手段と、
前記多重化データの逆多重化の開始位置を変更する、あるいは前記多重化データの途中から逆多重化を開始する処理であるランダムアクセスを実行する際に、前記解析分離手段が分離したパケットヘッダ部の先頭に配置されている前記画像データのサンプルのヘッダのみを検索して、前記パケットに含まれる前記画像データのサンプルが画面内符号化サンプルであることを示すイントラフレーム情報が含まれているか否かを判定するランダムアクセス検索手段とを備える
ことを特徴とする逆多重化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003168432A JP4114868B2 (ja) | 2002-06-26 | 2003-06-12 | 多重化装置および多重化方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002185758 | 2002-06-26 | ||
JP2003081133 | 2003-03-24 | ||
JP2003168432A JP4114868B2 (ja) | 2002-06-26 | 2003-06-12 | 多重化装置および多重化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004350250A true JP2004350250A (ja) | 2004-12-09 |
JP4114868B2 JP4114868B2 (ja) | 2008-07-09 |
Family
ID=33545018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003168432A Expired - Fee Related JP4114868B2 (ja) | 2002-06-26 | 2003-06-12 | 多重化装置および多重化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4114868B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012161102A (ja) * | 2012-05-16 | 2012-08-23 | Toshiba Corp | 録画装置およびファイル分割方法 |
JP2019176503A (ja) * | 2013-07-19 | 2019-10-10 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
-
2003
- 2003-06-12 JP JP2003168432A patent/JP4114868B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012161102A (ja) * | 2012-05-16 | 2012-08-23 | Toshiba Corp | 録画装置およびファイル分割方法 |
JP2019176503A (ja) * | 2013-07-19 | 2019-10-10 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
JP2021119697A (ja) * | 2013-07-19 | 2021-08-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法及び送信装置 |
JP7100175B2 (ja) | 2013-07-19 | 2022-07-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法及び送信装置 |
JP2022121617A (ja) * | 2013-07-19 | 2022-08-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法及び送信装置 |
JP7307239B2 (ja) | 2013-07-19 | 2023-07-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法及び送信装置 |
JP7538295B2 (ja) | 2013-07-19 | 2024-08-21 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法及び送信装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4114868B2 (ja) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7139470B2 (en) | Navigation for MPEG streams | |
KR101703179B1 (ko) | 미디어 스트리밍 동안 적응 세트들 간의 스위칭 | |
US7725593B2 (en) | Scalable video coding (SVC) file format | |
US7558296B2 (en) | Multiplexer and demultiplexer | |
KR101542310B1 (ko) | 코딩된 비디오 데이터의 네트워크 스트리밍을 위한 비디오 표현 그룹들 | |
EP3445053B1 (en) | Transmission method and reception method | |
KR101073777B1 (ko) | 다중화 방식 변환 장치 | |
US8930562B2 (en) | Arranging sub-track fragments for streaming video data | |
US9049497B2 (en) | Signaling random access points for streaming video data | |
KR101620151B1 (ko) | 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법 | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
JP4541962B2 (ja) | 多重化装置、再生装置 | |
US20050160177A1 (en) | Storage medium storing multimedia data, and method and apparatus for reproducing multimedia data | |
JP2006505024A (ja) | データ処理方法及び装置 | |
JP2005229587A (ja) | 多重化方式変換装置 | |
US20050193138A1 (en) | Storage medium storing multimedia data, and method and apparatus for reproducing the multimedia data | |
KR20050013050A (ko) | 동화상 데이터 재생 장치 | |
CN118400537A (zh) | 用于分段流动性的代码转换器调节 | |
KR20060011937A (ko) | 데이터 송신 장치 | |
CN105916011A (zh) | 视频实时播放方法及装置 | |
JP2004282703A (ja) | データ処理装置 | |
JP4114868B2 (ja) | 多重化装置および多重化方法 | |
JP2004201266A (ja) | 画像データ再生装置 | |
JP2005176094A (ja) | データ処理装置及びデータ処理方法、並びにプログラム、記憶媒体 | |
JP2004312713A (ja) | データ送信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080206 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080411 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4114868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |