JP4436617B2 - Demultiplexer - Google Patents

Demultiplexer Download PDF

Info

Publication number
JP4436617B2
JP4436617B2 JP2003118603A JP2003118603A JP4436617B2 JP 4436617 B2 JP4436617 B2 JP 4436617B2 JP 2003118603 A JP2003118603 A JP 2003118603A JP 2003118603 A JP2003118603 A JP 2003118603A JP 4436617 B2 JP4436617 B2 JP 4436617B2
Authority
JP
Japan
Prior art keywords
time length
data
content
unit
information
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.)
Expired - Fee Related
Application number
JP2003118603A
Other languages
Japanese (ja)
Other versions
JP2004007610A (en
JP2004007610A5 (en
Inventor
陽司 能登屋
義徳 松井
正真 遠間
康治 井村
直人 大岳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003118603A priority Critical patent/JP4436617B2/en
Publication of JP2004007610A publication Critical patent/JP2004007610A/en
Publication of JP2004007610A5 publication Critical patent/JP2004007610A5/ja
Application granted granted Critical
Publication of JP4436617B2 publication Critical patent/JP4436617B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像データや音楽データ等のマルチメディアデータが多重化された多重化データを逆多重化する逆多重化装置、及びマルチメディアデータを多重化する多重化装置に関する。
【0002】
【従来の技術】
近年、マルチメディアデータ(動画像、音声、テキスト、あるいは、静止画等のコンテンツ)を多重化して格納するファイルフォーマットとしてMP4が注目されている。
【0003】
MP4は、動画像の圧縮符号化方式であるMPEG−4や、自然画像の圧縮符号化方式であるJPEGの次世代バージョンJPEG2000のファイルフォーマットとして採用されるなど、その応用範囲が広がっている。
【0004】
当初、このMP4のファイルフォーマットは、多重化されたコンテンツが格納される1つのデータボックスと、そのデータ領域のコンテンツに関連する情報が格納される1つのヘッダボックスとから構成されていた。
【0005】
したがって、マルチメディアデータからMP4ファイルデータを生成する多重化装置は、マルチメディアデータを取得して符号化及び多重化処理を行い、全てのマルチメディアデータに対する処理が終了した後に、そのヘッダボックスを作成し、MP4ファイルデータを完成させていた。
【0006】
このような多重化装置では、マルチメディアデータの情報量が多い場合には、マルチメディアデータの取得及びこれに対する処理の終了後、そのヘッダボックスの作成のためにしばらくの時間を要する。
【0007】
例えば、録画機能付き携帯電話として構成された多重化装置では、録画中に着信があったときには、これまで録画したコンテンツの全体に関連する情報を含めたヘッダボックスを作成するために、着信にタイムラグが生じる。また、着信を優先するような場合には、ヘッダボックスの作成が途中で中断され、MP4ファイルデータを完成することができないといった問題があった。
【0008】
そこで、MP4のファイルフォーマットは、データボックスとヘッダボックスとの組が複数連なるように改良された(例えば、非特許文献1参照。)。
【0009】
図21は、上述のように改良された従来のMP4ファイルデータの基本的なファイルフォーマットを示すデータ構成図である。
【0010】
このMP4ファイルデータ900は、基本領域900aと拡張領域900bから構成される。
【0011】
基本領域900aは、上記ヘッダボックスたるムービーボックス(以下、「moov」と称す)910と、上記データボックスたるメディアデータボックス(以下、「mdat」と称す)920とからなる。
【0012】
moov910は、さらに、1つのムービーヘッダーボックス(以下「mvhd」と称す)911と、複数のトラックボックス(以下「trak」と称す)912と、1つのムービーエクステンドボックス(以下「mvex」と称す)913とから構成される。
【0013】
拡張領域900bは、上記ヘッダボックスたる1つのムービーフラグメントボックス(以下「moof」と称す)930と、上記データボックスたる1つのメディアデータボックス(以下、「mdat」と称す)940との組が複数連なるように組み合わされて構成される。
【0014】
moof930は、さらに、1つのムービーフラグメントヘッダーボックス(以下「mfhd」と称す)931と、複数のトラックフラグメントボックス(以下「traf」と称す)932とから構成される。
【0015】
図22は、moov910の詳細な構成を示すデータ構成図である。
mvhd911には、基本領域900aに含まれるコンテンツの再生に要する時間長(基本コンテンツ時間長)を示す基本コンテンツ時間長情報を格納するムービー時間長フィールド911aが含まれている。
【0016】
trak912には、さらに、トラックヘッダーボックス(以下「tkhd」と称す)914が含まれ、このtkhd914には、トラックを識別するためのトラック識別情報を格納するトラックIDフィールド916と、トラック時間長フィールド917とが含まれている。また、このトラック時間長フィールド917には、上記トラック識別情報により示される基本領域900aに含まれたトラックの再生に要する時間長(基本トラック時間長)を示す基本トラック時間長情報が格納される。
【0017】
ここでトラックとは、コンテンツの一種であって、動画像や音声やテキストなどを意味する。
【0018】
mvex913には、拡張領域900bに含まれるトラックの数に応じた数のトラックエクステンドボックス(以下「trex」と称す)915が含まれる。
【0019】
このtrex915には、トラックを識別するためのトラック識別情報を格納するトラックIDフィールド918と、そのトラック識別情報により特定される拡張領域900bのトラックのサンプルに対し、デフォルトで設定された時間長を示すデフォルトサンプル時間長情報が格納される第1デフォルト時間長フィールド919とが含まれている。
【0020】
ここで、サンプルとは、MP4のファイルフォーマットの最小単位であって、トラックが動画像であれば1フレームやピクチャを意味し、トラックが音声ならば例えば20(msec)分の音情報を意味する。
【0021】
図23は、moof930の詳細な構成を示すデータ構成図である。
moof930に含まれるtraf932には、さらに、1つのトラックフラグメントヘッダーボックス(以下「tfhd」と称す)933と、複数のトラックフラグメントランボックス(以下「trun」と称す)936とが含まれている。
【0022】
このtfhd933には、トラックを識別するためのトラック識別情報を格納するトラックIDフィールド934と、そのトラック識別情報により特定される拡張領域900bのトラックのサンプルのなかで、tfhd933を格納しているtraf932に関連づけられたサンプルに対し、デフォルトで設定された時間長を示すデフォルトサンプル時間長情報が格納される第2デフォルト時間長フィールド935とが含まれている。ここで、第2デフォルト時間長フィールド935は省略することも可能であり、この場合は、第1デフォルト時間長フィールド919が参照される。
【0023】
trun936には、上記トラック識別情報により特定される拡張領域900bのトラックに含まれる各サンプルの時間長(サンプル時間長)を示すサンプル時間長情報を格納するサンプル時間長フィールド937が含まれている。
【0024】
このように、MP4のファイルフォーマットが、mdat920及びmoov910を一組含み、さらにmdat940及びmoof930を複数組含むように、つまり、多重化されたコンテンツを格納するボックスと、そのボックスに含まれる内容に関連する情報を格納するボックスとの組が複数連なるように構成されたことで、従来の多重化装置は、マルチメディアデータを逐次取得して処理するごとにMP4ファイルデータ900を完成させ、リアルタイム記録において効力を発揮している。そして、録画機能付き携帯電話として構成された従来の多重化装置では、録画中でも着信のタイムラグの発生を防ぐことができる。
【0025】
図24は、上記MP4ファイルデータ900を生成する従来の多重化装置の構成を示す構成図である。
【0026】
この多重化装置700は、画像データ解析部701と、音声データ解析部702と、第1切換スイッチ703と、第2切換スイッチ704と、制御部708と、moof生成部705と、moov生成部706と、ファイル生成部707とを備えている。
【0027】
画像データ解析部701は、画像データを取得してこれを解析することで、その画像データのタイムスタンプやサイズなどを示す内容の画像特定情報を生成する。そして、画像データ解析部701は、画像データを符号化して画像符号化データを作成し、その画像符号化データと画像特定情報とを出力する。
【0028】
音声データ解析部702は、音声データを取得してこれを解析することで、その音声データのタイムスタンプやサイズなどを示す内容の音声特定情報を生成する。そして、音声データ解析部702は、音声データを符号化して音声符号化データを作成し、その音声符号化データと音声特定情報とを出力する。
【0029】
moov生成部706は、制御部708からの制御に応じて、moov910に格納されるデータ(moovデータ)を生成して出力する。
【0030】
moof出力部705は、制御部708からの制御に応じて、moof930に格納されるデータ(moofデータ)を生成して出力する。
【0031】
制御部708は、画像データ解析部701から画像特定情報を取得するとともに、音声データ解析部702から音声特定情報を取得し、その画像特定情報及び音声特定情報に基づいて、第1切換スイッチ703及び第2切換スイッチ704を切り換えることで、第2切換スイッチ704からまずmoovデータを含む基本領域900aに格納されるべきデータを出力させ、次にmoofデータを含む拡張領域900bに格納されるべきデータを出力させる。
【0032】
ファイル生成部707は、第2切換スイッチ704から出力される各データに対して多重化処理を行ってMP4ファイルデータ900を生成し、これを出力する。
【0033】
図25は、従来の多重化装置700のmoovデータ及びmoofデータの生成に関する動作を示すフロー図である。
【0034】
まず、多重化装置700は、moovデータを生成する(ステップS100)。
次に、多重化装置700は、moofデータを作成する(ステップS102)。
【0035】
そして、多重化装置700は、入力された画像データや音声データの符号化及び多重化に対して未処理のデータがあるか否かを判別する(ステップS104)。ここで、未処理のデータがあると判別したときには(ステップS104のY)、ステップS102からの動作を繰り返し実行し、未処理のデータがないと判別したときには(ステップS104のN)、処理を終了する。
【0036】
このように、MP4ファイルデータ900を用いた従来の多重化装置700では、順次moofデータを作成するため、リアルタイム記録に有効である。
【0037】
ところで、上記MP4ファイルデータ900は、図21〜図23に示すように、データボックスとヘッダボックスとの組が複数連なるように構成されていることにより、ストリーミングに適している。つまり、MP4ファイルデータ900を取得して逆多重化処理を行うことによりコンテンツを再生する逆多重化装置は、ストリームとして配信されるMP4ファイルデータ900の全てのダウンロードを完了する前から順次再生(ダウンロード再生)することができる。
【0038】
図26は、上記MP4ファイルデータ900に基づいてコンテンツの再生を行う従来の逆多重化装置の構成を示す構成図である。
【0039】
この逆多重化装置800は、MP4ファイルデータ900を取得して再生するものであって、MP4ファイルデータ900を取得するデータ取得部810と、そのデータ取得部810で取得されたMP4ファイルデータ900を逆多重化して復号化する復号部813と、取得されたMP4ファイルデータ900に基づいて時間的な処理を行う時間処理部811と、取得されたMP4ファイルデータ900に対してランダムアクセスするための処理を行うランダムアクセス処理部812と、復号部813から出力されたデータに基づいて画像や音声を出力する再生部814とを備えている。
【0040】
また時間処理部811は、MP4ファイルデータ900に含まれる一部のコンテンツの再生に要する時間長を特定する時間長特定部811aと、再生時間を特定する再生時間特定部811bとを備えている。ここで、再生時間とは、コンテンツを最初から再生したときに、その再生開始時点から現時点に至るまでの再生にかかった時間をいう。
【0041】
図27は、時間長特定部811aの内部構成を示すブロック図である。
時間長特定部811aは、第1分離部821と、第2分離部822と、第3分離部823と、第1解析部824と、第2解析部825とを備えている。
【0042】
第1分離部821は、MP4ファイルデータ900を取得すると、そのMP4ファイルデータ900からmoovデータを分離して出力する。
【0043】
第2分離部822は、moovデータを取得すると、そのmoovデータから、mvhd911に格納されているデータ(mvhdデータ)と、trak912に格納されているデータ(trakデータ)とを分離して出力する。
【0044】
第3分離部823は、trakデータを取得すると、そのtrakデータから、tkhd914に格納されているデータ(tkhdデータ)を分離して出力する。
【0045】
第1解析部824は、第2分離部822からmvhdデータを取得すると、そのmvhdデータを解析して、そのムービー時間長フィールド911aに格納されている基本コンテンツ時間長情報を出力する。
【0046】
第2解析部825は、第3分離部823からtkhdデータを取得すると、そのtkhdデータを解析して、トラックIDフィールド916に格納されているトラック識別情報を出力するとともに、そのトラック識別情報に対応してトラック時間長フィールド917に格納されている基本トラック時間長情報を出力する。
【0047】
このような時間長特定部811aは、基本コンテンツ時間長情報を再生部814に出力するとともに、トラック識別情報と、そのトラック識別情報により示される基本領域900aのトラックに対応する基本トラック時間長情報とを、再生部814に出力する。
【0048】
そして、再生部814は、基本コンテンツ時間長情報及びトラック時間長情報並びにトラック識別情報を取得すると、必要に応じて、基本コンテンツ時間長を表示したり、基本トラック時間長をトラックごとに表示したりする。また、再生部814は、再生時間特定部811bによる特定結果に基づいて、画像や音声の再生を行いながらその再生時間を表示する。
【0049】
図28は、ランダムアクセス処理部812の構成を示す構成図である。
ランダムアクセス処理部812は、外部から目標時間を示す内容の目標時間情報を取得すると、蓄積されたMP4ファイルデータ900の中から、その目標時間に対応するサンプルを目的サンプルとして検索するものであって、データ蓄積部830aと、第1分離部830と、第2分離部831と、第3分離部832と、第4分離部835と、第5分離部834と、第1解析部836と、第2解析部837と、第3解析部838と、トラック制御部833と、決定部839と、制御部840とを備えている。ここで、目標時間とは、ユーザがコンテンツを途中から再生しようとするときの途中再生開始時間をいう。例えば、ユーザが総時間長10分のコンテンツをその先頭の2分間を見ずに再生しようとする場合には、目標時間は2分である。 データ蓄積部830aは、データ取得部810で取得されたMP4ファイルデータ900を蓄積している。
【0050】
第1分離部830は、データ蓄積部830aからMP4ファイルデータ900を取得すると、そのMP4ファイルデータ900から、moovデータとmoofデータとを分離して出力する。
【0051】
第3分離部832は、moovデータを取得すると、そのmoovデータから、mvex913に格納されているデータ(mvexデータ)を分離して出力する。
【0052】
トラック制御部833は、第1分離部830からmoovデータを取得すると、そのmoovデータに基づいて、トラック識別情報を出力する。
【0053】
第2分離部831は、第1分離部830からmoofデータを取得し、トラック制御部833からトラック識別情報を取得すると、そのmoofデータから、トラック識別情報により特定されるトラックに対応するtraf932に格納されているデータ(trafデータ)を分離して出力する。
【0054】
第4分離部835は、第2分離部831からtrafデータを取得すると、そのtrafデータから、tfhd933に格納されているデータ(tfhdデータ)と、trun936に格納されているデータ(trunデータ)とを分離して出力する。
【0055】
第5分離部834は、第3分離部832からmvexデータを取得し、トラック制御部833からトラック識別情報を取得すると、そのmvexデータから、トラック識別情報により特定されるトラックに対応するtrex915に格納されているデータ(trexデータ)を分離して出力する。
【0056】
第1解析部836は、第5分離部834からtrexデータを取得すると、そのtrexデータを解析して、trexデータに含まれるデフォルトサンプル時間長情報を、第1時間長情報として出力する。
【0057】
第2解析部837は、第4分離部835からtfhdデータを取得すると、そのtfhdデータを解析して、tfhdデータに含まれるサンプル時間長情報を、第2時間長情報として出力する。
【0058】
第3解析部838は、第4分離部835からtrunデータを取得すると、そのtrunデータを解析して、trunデータに含まれるサンプル時間長情報を、第3時間長情報として出力する。
【0059】
決定部839は、第1解析部836から取得した第1時間長情報と、第2解析部837から取得した第2時間長情報と、第3解析部838から取得した第3時間長情報とから、何れか1つを選択決定して、これを時間長情報として出力する。ここで決定部839は、まず、第3時間長情報を優先し、第3時間長情報が省略されていて得られない場合には、第2時間長情報を優先し、第2時間長情報が省略されていて得られない場合には、第1時間長情報を選択して出力する。
【0060】
また、決定部839は、時間長情報を出力するときには、その時間長情報に対応したサンプルを識別するためのサンプル識別情報も出力する。
【0061】
制御部840は、目標時間を示す目標時間情報を取得すると、決定部839から逐次出力される時間長情報に示される時間長を順次加算する。そして制御部840は、加算結果が目標時間情報に示される目標時間に達するまで上記加算を行い、目標時間に達したときに決定部839から取得されたサンプル識別情報を、目的サンプル識別情報として出力する。
【0062】
図29は、トラック制御部833の内部構成を示すブロック図である。
トラック制御部833は、moovデータを取得してそこからtrakデータを分離する第6分離部841と、そのtrakデータを取得してそこからさらにtkhdデータを分離する第7分離部842と、そのtkhdデータを解析することでトラック識別情報を特定してこれを出力する解析部843とを備えている。
【0063】
図30は、ランダムアクセス処理部812の概略的な動作を説明するための説明図である。
【0064】
この図30に示すように、従来のランダムアクセス処理部812は、サンプル時間長を順次加算していくことで目標時間に対応する目的サンプルを特定する。
【0065】
そして、ランダムアクセス処理部812は、MP4ファイルデータ900と目的サンプル識別情報とを復号部813に出力して、その目的サンプル識別情報により示される目的サンプルからのコンテンツの再生を復号部813及び再生部814に実行させる。
【0066】
このような従来の逆多重化装置800は、ストリームとして配信されるMP4ファイルデータ900を取得すると、これに基づいてダウンロード再生することができるとともに、ランダムアクセス処理部812を備えることにより、蓄積された全てのMP4ファイルデータ900に対してランダムアクセスを可能としている。
【0067】
【非特許文献1】
「INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO」,ISO/IEC JTC1/SC29/WG11,MPEG01/N4270-1, 2001.1.20
【0068】
【発明が解決しようとする課題】
しかしながら、上記従来の逆多重化装置800では、MP4ファイルデータ900をダウンロード再生するときには、基本領域900aに含まれるコンテンツの再生に要する時間長を表示することができても、拡張領域900bを含む全体のコンテンツの総時間長を表示することができず、使い勝手が悪いという問題があった。
【0069】
図31は、従来の逆多重化装置800での問題点を説明するための説明図である。
【0070】
携帯電話として構成された逆多重化装置800は、基地局990を介してストリームとして配信されるMP4ファイルデータ900をダウンロードし、そのダウンロードされたMP4ファイルデータ900を順次再生する。このとき、逆多重化装置800は、再生時間を表示するものの、全てのMP4ファイルデータ900を取得した後でなければ、全てのコンテンツを再生に要する時間長を特定することができず、その結果、ダウンロード中又は再生中にコンテンツの総時間長を表示することができない。例えば、利用時間に応じて課金される料金体系では、逆多重化装置800のユーザは、利用料金の目安がわからないといった不安や、バッテリーの残り容量が少ない場合などには、途中で電源が切れてしまうかもしれないといった不安などを感じることがある。このように、従来の逆多重化装置800では、ユーザがコンテンツの総時間長を知ることができず、利便性に欠けるのである。
【0071】
そこで、本発明は、かかる問題点に鑑み、ダウンロード再生及びリアルタイム記録の有効性を保持しつつコンテンツのダウンロード再生時の利便性を向上した逆多重化装置及び多重化装置を提供することを目的とする。
【0072】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る逆多重化装置は、デジタル著作物であるコンテンツが多重化された多重化データを、その先頭部から取得して逆多重化する逆多重化装置であって、前記多重化データは、多重化されたコンテンツの一部を格納するコンテンツ格納ボックスと前記一部のコンテンツに関連する関連情報を格納する関連情報格納ボックスとの組が複数連なるとともに、前記全てのコンテンツの再生に要する総時間長を特定するための総時間長情報が前記先頭部に含まれるように構成されており、前記逆多重化装置は、前記多重化データを取得する取得手段と、前記取得手段により取得された前記多重化データを前記各組ごとに逆多重化処理する処理手段と、前記取得手段により取得された前記多重化データの先頭部に含まれる総時間長情報に基づいて、前記総時間長を特定する総時間長特定手段と、前記総時間長特定手段により特定された総時間長を表示する表示手段とを備える。ここで、前記多重化データは、前記組をそれぞれ有する第1及び第2の領域から構成され、前記総時間長情報は、前記第1の領域に含まれるコンテンツの再生に要する時間長を示す内容の第1の時間長情報と、前記第2の領域に含まれるコンテンツの再生に要する時間長を示す内容の第2の時間長情報とから構成されており、前記総時間長特定手段は、前記第1の時間長情報により示される時間長と、前記第2の時間長情報により示される時間長とを足し合わせることで、前記総時間長を特定することを特徴としても良い。
【0073】
これにより、処理手段で多重化データが各組ごとに逆多重化処理されるため、ストリームとして配信される多重化データからコンテンツをダウンロード再生することができるとともに、多重化データの先端部に含まれる総時間長情報に基づいて総時間長が総時間長特定手段で特定されてその総時間長が表示手段により表示されるため、ダウンロード再生中にでも総時間長をユーザに知らせることができ、コンテンツのダウンロード再生時の利便性を向上することができる。
【0074】
また、前記多重化データは、そこに含まれる前記コンテンツに応じて、第1の領域、又は前記組をそれぞれ有する第1及び第2の領域から構成され、前記多重化データが第1の領域から構成されるときには、前記総時間長情報は、前記第1の領域に含まれるコンテンツの再生に要する時間長を示し、前記多重化データが第1及び第2の領域から構成されるときには、前記総時間長情報は、前記第1の領域に含まれるコンテンツの再生に要する時間長を示す内容の第1の時間長情報と、前記第2の領域に含まれるコンテンツの再生に要する時間長、又は前記時間長が不明であることを示す内容の第2の時間長情報とから構成されており、前記総時間長特定手段は、前記取得手段で取得された前記多重化データが、第1の領域から構成されているか、第1及び第2の領域から構成されているかを判別し、第1の領域から構成されていると判別したときには、前記総時間長情報により示される時間長を前記総時間長として特定し、第1及び第2の領域から構成されていると判別したときには、さらに、前記第2の時間長情報に基づいて、前記第2の領域に含まれるコンテンツの再生に要する時間長が不明であるか否かを判別し、不明でないと判別したときには、前記第1の時間長情報により示される時間長と、前記第2の時間長情報により示される時間長とを足し合わせることで、前記総時間長を特定し、不明であると判別したときには、前記総時間長を特定することができないと判別し、前記表示手段は、前記総時間長特定手段で前記総時間長が特定できないと判別されたときには、前記総時間長が不明であることを報知することを特徴としても良い。
【0075】
これにより、多重化データに第2の領域がなければ、第1の領域に含まれるコンテンツの再生に要する時間長が、総時間長として特定され、多重化データが第1及び第2の領域から構成されているときには、第1及び第2の領域に含まれるコンテンツの再生に要する時間長が加算されて、その加算結果が総時間長として特定されるために、総時間長を的確に特定することができるとともに、多重化データに含まれる第2の時間長情報に基づいて、第2の領域に含まれるコンテンツの再生に要する時間長が不明であるか否かが判別され、不明であるときにはその旨が報知されるため、信頼性のある総時間長のみをユーザに知らせることができる。
【0076】
また、前記逆多重化装置は、さらに、前記処理手段により逆多重化処理されたコンテンツを再生する再生手段と、前記再生手段により前記コンテンツが再生されている再生時間を特定する再生時間特定手段とを備え、前記表示手段は、前記総時間長特定手段により特定された前記総時間長に対する、前記再生時間特定手段により特定された再生時間の割合を算出し、所定の図形を前記割合に応じて移動させて表示することを特徴としても良い。
【0077】
これにより、総時間長に対する再生時間の割合に応じて上記図形が移動するため、ユーザはコンテンツの再生状況を容易に把握することができる。
【0078】
なお、本発明は、上記逆多重化装置が取り扱う多重化データのデータ構造や、その多重化データを格納する記憶媒体や、その多重化データを生成する多重化装置や、上記逆多重化装置及び多重化装置が行う逆多重化方法及び多重化方法や、その方法をコンピュータに実行させるプログラムとしても実現することができる。
【0079】
【発明の実施の形態】
以下、本発明の実施の形態における逆多重化装置及び多重化装置について図面を参照しながら説明する。
【0080】
図1は、本実施の形態における逆多重化装置及び多重化装置が扱うMP4ファイルデータのファイルフォーマットを示すデータ構成図である。
【0081】
このMP4ファイルデータ100は、基本領域100aと拡張領域100bから構成され、そのデータ100に含まれるコンテンツの総時間長を示す内容の情報が基本領域100aに格納されている点に特徴がある。この情報があることで、逆多重化装置においてユーザは総時間長を知ることができ、利便性が向上する。また、リアルタイムに記録する多重化装置などで、この情報を付与するのが困難な装置は、その情報の付与を省略可能としてもよい。
【0082】
基本領域100aは、多重化されたコンテンツが格納されるメディアデータボックス(以下、「mdat」と称す)120と、そのmdat120のコンテンツに関連する情報が格納されるムービーボックス(以下、「moov」と称す)110とからなる。
【0083】
moov110は、さらに、1つのムービーヘッダーボックス(以下「mvhd」と称す)111と、複数のトラックボックス(以下「trak」と称す)112と、1つのムービーエクステンドボックス(以下「mvex」と称す)113とから構成される。
【0084】
拡張領域100bは、多重化されたコンテンツが格納される1つのメディアデータボックス(以下、「mdat」と称す)140と、そのmdat140のコンテンツに関連する情報が格納される1つのムービーフラグメントボックス(以下「moof」と称す)130との組が複数連なるように組み合わされて構成される。ここで、moof130は従来例と同様、さらに、1つのムービーフラグメントヘッダーボックス(以下「mfhd」と称す)と、複数のトラックフラグメントボックス(以下「traf」と称す)とから構成される。つまり、このような拡張領域100bは、従来の拡張領域900bと同様の構造を有する。
【0085】
基本領域100aのmoov110におけるmvhd111には、基本領域100aに含まれるコンテンツの再生に要する時間長(基本コンテンツ時間長)を示す内容の基本コンテンツ時間長情報を格納するムービー時間長フィールド111aが含まれている。
【0086】
trak112には、トラックヘッダーボックス(以下「tkhd」と称す)114が含まれている。ここで、このtkhd114には、トラックを識別するためのトラック識別情報を格納するトラックIDフィールド116と、そのトラック識別情報により示される基本領域100aのトラックを再生するのに要する時間長(基本トラック時間長)を示す基本トラック時間長情報を格納するトラック時間長フィールド117とが含まれている。
【0087】
そして、mvex113には、拡張領域100bに含まれるトラックの数に応じた数のトラックエクステンドボックス(以下「trex」と称す)115が含まれるとともに、さらに、1つのムービーエクステンドヘッダーボックス(以下「mhex」と称す)113aが含まれている。
【0088】
mhex113aには、拡張領域100bに含まれるコンテンツの再生に要する時間長(拡張コンテンツ時間長)を示す内容の拡張コンテンツ時間長情報を格納するムービー時間長フィールド113bが含まれている。ここで、拡張コンテンツ時間長情報は、「0」を示す場合があり、この場合、その拡張コンテンツ時間長情報は、拡張コンテンツ時間長が不明であることを示している。
【0089】
trex115には、拡張領域100bのトラックを識別するためのトラック識別情報を格納するトラックIDフィールド118と、そのトラック識別情報により特定される拡張領域100bのトラックのサンプルに対し、デフォルトで設定された時間長を示すデフォルトサンプル時間長情報が格納される第1デフォルト時間長フィールド119と、そのトラック識別情報により特定される拡張領域100bのトラックの再生に要する時間長(拡張トラック時間長)を示す内容の拡張トラック時間長情報が格納されるトラック時間長フィールド115aとが含まれている。
【0090】
つまり、本実施の形態のMP4ファイルデータ100では、従来例と比べて、mvex113に、拡張コンテンツ時間長情報が格納されるmhex113aが含められ、さらに、mvex113のtrex115に、拡張トラック時間長情報が格納されるトラック時間長フィールド115aが含められている点に特徴がある。
【0091】
なお、MP4ファイルデータ100は、そこに含まれるコンテンツの情報量が少ないときには、基本領域100aのみから構成されることがあり、この場合には、moov110のmvex113が省かれた構成となる。 図2は、上記MP4ファイルデータ100に基づいてコンテンツの再生を行う本実施の形態の逆多重化装置200の構成を示す構成図である。
【0092】
この逆多重化装置200は、MP4ファイルデータ100を取得して再生するものであって、MP4ファイルデータ100を基本領域100aから順次取得するデータ取得部210と、そのデータ取得部210で取得されたMP4ファイルデータ100を、一組のmoov110及びmdat120や一組のmoof130及びmdat140ごとに順次逆多重化して復号化する復号部213と、データ取得部210で取得されたMP4ファイルデータ100に基づいて時間的な処理を行う時間処理部211と、取得されたMP4ファイルデータ100に対してランダムアクセスするための処理を行うランダムアクセス処理部212と、復号部213から出力されたデータに基づいて画像や音声を出力する再生部214とを備えている。
【0093】
ランダムアクセス処理部212は、データ取得部210で取得されたMP4ファイルデータ100を全て蓄積しており、外部から目標時間を示す内容の目標時間情報を取得すると、その蓄積されたMP4ファイルデータ100の中から、その目標時間に対応するサンプルを目的サンプルとして検索し、その目的サンプルからのコンテンツの再生を復号部213及び再生部214に実行させる。
【0094】
また、時間処理部211は、MP4ファイルデータ100に基づいてそこに含まれる全てのコンテンツの再生に要する総時間長を特定するコンテンツ時間長特定部211aと、MP4ファイルデータ100に含まれる全てのトラックの再生に要する時間長をトラック毎に特定するトラック時間長特定部211bと、再生時間を特定する再生時間特定部211cとを備えている。
【0095】
図3は、時間処理部211のコンテンツ時間長特定部211aの内部構成を示すブロック図である。
【0096】
コンテンツ時間長特定部211aは、第1分離部221と、第2分離部222と、第3分離部224と、第1解析部223と、第2解析部225と、加算部226とを備えている。
【0097】
第1分離部221は、MP4ファイルデータ100を取得して、そのMP4ファイルデータ100からmoov110に格納されているデータ(moovデータ)を分離して出力する。
【0098】
第2分離部222は、moovデータを取得すると、そのmoovデータから、mvhd111に格納されているデータ(mvhdデータ)と、mvex113に格納されているデータ(mvexデータ)とを分離して出力する。
【0099】
第3分離部224は、mvexデータを取得すると、そのmvexデータから、mhex113aに格納されているデータ(mhexデータ)を分離して出力する。
【0100】
第1解析部223は、第2分離部222からmvhdデータを取得すると、そのmvhdデータを解析して、そのムービー時間長フィールド111aに格納されている基本コンテンツ時間長情報を出力する。
【0101】
第2解析部225は、第3分離部224からmhexデータを取得すると、そのmhexデータを解析して、そのムービー時間長フィールド113bに格納されている拡張コンテンツ時間長情報を出力する。
【0102】
加算部226は、第1解析部223及び第2解析部225から、基本コンテンツ時間長情報及び拡張コンテンツ時間長情報を取得すると、基本コンテンツ時間長情報により示される基本コンテンツ時間長と、拡張コンテンツ時間長情報により示される拡張コンテンツ時間長とを加算し、その加算された時間長(コンテンツ総時間長)を示すコンテンツ総時間長情報を出力する。また、加算部226は、拡張コンテンツ時間長情報が「0」を示しているときには、基本コンテンツ時間長情報をコンテンツ総時間長情報として出力する。
【0103】
このように、本実施の形態のコンテンツ時間長特定部211aは、MP4ファイルデータ100の基本領域100a及び拡張領域100bに含まれるコンテンツの総時間長を特定して、そのコンテンツ総時間長を示す内容のコンテンツ総時間長情報を出力する。
【0104】
図4は、時間処理部211のトラック時間長特定部211bの内部構成を示すブロック図である。
【0105】
トラック時間長特定部211bは、第1分離部231と、第2分離部232と、第3分離部233と、第4分離部235と、第1解析部234と、第2解析部236と、加算部237とを備えている。
【0106】
第1分離部231は、MP4ファイルデータ100を取得して、そのMP4ファイルデータ100からmoovデータを分離して出力する。
【0107】
第2分離部232は、moovデータを取得すると、そのmoovデータからtrak112に格納されているデータ(trakデータ)と、mvexデータとを分離して出力する。
【0108】
第3分離部233は、trakデータを取得すると、そのtrakデータから、tkhd114に格納されているデータ(tkhdデータ)を分離して出力する。
【0109】
第1解析部234は、第3分離部233からtkhdデータを取得すると、そのtkhdデータを解析して、tkhd114のトラックIDフィールド116に格納されているトラック識別情報を出力する。さらに、第1解析部234は、そのトラック識別情報により特定されるトラックに対応する基本トラック時間長情報を、tkhd114のトラック時間長フィールド117から抽出して、これを出力する。
【0110】
第4分離部235は、第2分離部232からmvexデータを取得し、第1解析部234からトラック識別情報を取得すると、そのmvexデータから、そのトラック識別情報により特定されるトラックに対応するtrex115に格納されているデータ(trexデータ)を分離して出力する。
【0111】
第2解析部236は、第4分離部235からtrexデータを取得すると、そのtrexデータを解析して、トラック時間長フィールド115aに格納されている拡張トラック時間長情報を出力する。
【0112】
加算部237は、第1解析部234から基本トラック時間長情報を取得し、第2解析部236から拡張トラック時間長情報を取得すると、基本トラック時間長情報に示される時間長と、拡張トラック時間長情報に示される時間長とを加算し、その加算された時間長(トラック総時間長)を示すトラック総時間長情報を出力する。
【0113】
このように、本実施の形態のトラック時間長特定部211bは、MP4ファイルデータ100の基本領域100a及び拡張領域100bに含まれるトラックの総時間長を、トラックごとに特定し、そのトラックを示すトラック識別情報と、そのトラックのトラック総時間長を示すトラック総時間長情報とを出力する。
【0114】
図5は、本実施の形態における逆多重化装置200のコンテンツ時間長特定部211aの特徴的な動作を示すフロー図である。
【0115】
まず、コンテンツ時間長特定部211aは、MP4ファイルデータ100を取得し(ステップS200)、そのデータ100のmvhd111を解析して、基本コンテンツ時間長T1を特定する(ステップS202)。
【0116】
次に、コンテンツ時間長特定部211aは、ステップS200で取得したデータ100のmoov110にmvex113が含まれているか否かを判別する(ステップS204)。
【0117】
ここで、コンテンツ時間長特定部211aは、mvex113を検出すると(ステップS204のY)、MP4ファイルデータ100は基本領域100aと拡張領域100bとから構成されていると判断し、さらに、そのmvex113に含まれるmhex113aを解析することで(ステップS206)、そのムービー時間長フィールド113bに格納されている拡張コンテンツ時間長情報が「0」を示すか否かを判別する(ステップS208)。
【0118】
コンテンツ時間長特定部211aは、拡張コンテンツ時間長情報が「0」を示していないと判別すると(ステップS208のN)、その拡張コンテンツ時間長情報から拡張コンテンツ時間長T2を特定する(ステップS210)。
【0119】
そして、コンテンツ時間長特定部211aは、基本コンテンツ時間長T1と拡張コンテンツ時間長T2とを加算して、コンテンツ総時間長Tを算出し(ステップS212)、そのコンテンツ総時間長Tを示す内容のコンテンツ総時間長情報を出力する(ステップS214)。
【0120】
一方、ステップS204でmvex113を検出しなかったときには(ステップS204のN)、コンテンツ時間長特定部211aは、MP4ファイルデータ100は基本領域100aから構成されると判断し、基本コンテンツ時間長T1をコンテンツ総時間長Tとして扱って(ステップS220)、コンテンツ総時間長情報を出力する(ステップS214)。
【0121】
そして、ステップS208で拡張コンテンツ時間長情報が「0」を示していると判別したときには(ステップS208のY)、コンテンツ時間長特定部211aは、コンテンツ総時間長Tを算出することができないと判断し(ステップS216)、コンテンツ総時間長Tが不明であることを知らせる内容の総時間長不明情報を出力する(ステップS218)。
【0122】
ここで、本実施の形態における逆多重化装置200の再生部214は、復号部213からのデータに基づいて画像や音声を出力し、再生時間特定部211cにより特定された再生時間を表示するとともに、コンテンツ時間長特定部211aからコンテンツ総時間長情報が出力されたときには、そのコンテンツ総時間長情報により示されるコンテンツ総時間長を表示し、コンテンツ時間長特定部211aから総時間長不明情報が出力されたときには、コンテンツ総時間長が不明であることを報知する。
【0123】
図6は、コンテンツ総時間長情報が出力されたときの再生部214により表示される画像を示す画像表示図である。
再生部214は、再生画像を表示するための画面P1を表示し、その画面P1上に、再生画像が表示される再生画像表示部P2と、スライダーバーP3と、操作ボタンP4と、時間表示部P5を表示する。
【0124】
時間表示部P5には、図中右側にコンテンツ総時間長が、例えば「00:02:30」のように表示され、図中左側に再生時間が、例えば「00:00:30」のように表示される。
【0125】
スライダーバーP3は、コンテンツ総時間長に対する再生時間の割合に応じて、ラインLn1上を図中左側から右側にスライドする。
【0126】
図7は、総時間長不明情報が出力されたときの再生部214により表示される画像を示す画像表示図である。
【0127】
再生部214は、上述と同様、再生画像表示部P2とスライダーバーP3と操作ボタンP4と時間表示部P5とを含む画面P1を表示するが、時間表示部P5の図中右側には、コンテンツ総時間長が不明であることを示す文字又は記号を、例えば「−−:−−:−−」のように表示する。また、再生部214は時間表示部P5の図中右側に、再生時間を、例えば「00:00:30」のように表示する。
【0128】
スライダーバーP3は、例えば所定の時間に対する再生時間の割合に応じて、ラインLn1上を図中左端から右側にスライドし、再生時間が上記所定の時間を越えれば、再び図中左端から右側へのスライドを繰り返し実行する。
【0129】
また、再生部214は、トラック時間長特定部211bからトラック識別情報及びトラック総時間長情報を取得したときには、必要に応じて、そのトラック識別情報に示されるトラック毎に、トラック総時間長情報により示されるトラック総時間長を表示する。
【0130】
このように本実施の形態における逆多重化装置200は、MP4ファイルデータ100のダウンロードを開始したときには、ダウンロード再生を行うことができるとともに、MP4ファイルデータ100の全てのダウンロードが完了するまでもなく、そのMP4ファイルデータ100のmoov110に格納されたコンテンツ総時長情報に基づいて、コンテンツ総時間長を表示することができ、利便性を向上することができる。
【0131】
次に、本実施の形態におけるMP4ファイルデータ100を作成する多重化装置300について説明する。
【0132】
図8は、本実施の形態における多重化装置300の構成を示す構成図である。この本実施の形態における多重化装置300は、画像データ解析部301と、音声データ解析部302と、第1切換スイッチ303と、第2切換スイッチ304と、制御部308と、moof生成部305と、moov生成部306と、ファイル生成部307とを備えている。 画像データ解析部301は、画像データを取得してこれを解析することで、その画像データのタイムスタンプやサイズなどを示す内容の画像特定情報を生成する。そして、画像データ解析部301は、画像データを符号化して画像符号化データを作成し、その画像符号化データと画像特定情報とを出力する。
【0133】
音声データ解析部302は、音声データを取得してこれを解析することで、その音声データのタイムスタンプやサイズなどを示す内容の音声特定情報を生成する。そして、音声データ解析部302は、音声データを符号化して音声符号化データを作成し、その音声符号化データと音声特定情報とを出力する。
【0134】
moov生成部306は、制御部308からの制御に応じて、moovデータを生成して出力する。ここで本実施の形態におけるmoov生成部306は、moovデータのmvex113にmhex113aを作成する。
【0135】
moof生成部305は、制御部308からの制御に応じて、moofデータを生成して出力する。
【0136】
制御部308は、画像データ解析部301から画像特定情報を取得するとともに、音声データ解析部302から音声特定情報を取得し、その画像特定情報及び音声特定情報に基づいて、第1切換スイッチ303及び第2切換スイッチ304を切り換えることで、第2切換スイッチ304からまずmoovデータを含む基本領域100aに格納されるべきデータを出力させ、次にmoofデータを含む拡張領域100bに格納されるべきデータを出力させる。
【0137】
ここで本実施の形態における制御部308は、moov生成部306からmoovデータを出力させるときには、まず、mhex113aのムービー時間長フィールド113bに格納される拡張コンテンツ時間長情報が「0」を示すようなmoovデータをmoov生成部306に生成させて、これを出力させる。
【0138】
そして、制御部308は、画像特定情報及び音声特定情報に基づいて、画像符号化データ及び音声符号化データの拡張領域100bに納められる各サンプルの時間長を順次加算する。
【0139】
次に制御部308は、入力された音声データや画像データの全てに対してmoofデータをmoof生成部305から出力させると、上述のように加算した時間長を、拡張コンテンツ時間長として、その時間長を示す拡張コンテンツ時間長情報をmoov生成部306に出力する。
【0140】
そして、制御部308から拡張コンテンツ時間長情報を取得したmoov出力部306は、その拡張コンテンツ時間長情報と、その情報が格納されるmhex113aのムービー時間長フィールド113bの位置を示す内容の位置特定情報とをファイル生成部307に出力する。
【0141】
ファイル出力部307は、moov生成部306から拡張コンテンツ時間長情報と位置特定情報とを取得すると、その位置特定情報により示されるmhex113aのムービー時間長フィールド113bに、その取得した拡張コンテンツ時間長情報を上書きする。つまり、ファイル生成部307は、「0」を示す拡張コンテンツ時間長情報を、後に取得した拡張コンテンツ時間長情報に変更して、MP4ファイルデータ100を完成する。
【0142】
図9は、本実施の形態における多重化装置300の動作を示すフロー図である。
まず、多重化装置300は、「0」を示す拡張コンテンツ時間長情報を含むmoovデータを生成する(ステップS300)。つまり、多重化装置300は、最初に仮のmoovデータを生成しておく。
【0143】
次に、多重化装置300は、moofデータを作成する(ステップS302)。
【0144】
そして、多重化装置300は、入力された画像データや音声データの符号化及び多重化に対して未処理のデータがあるか否かを判別する(ステップS304)。ここで、未処理のデータがあると判別したときには(ステップS304のY)、ステップS302からの動作を繰り返し実行し、未処理のデータがないと判別したときには(ステップS302のN)、サンプルの時間長の加算結果に基づく拡張コンテンツ時間長情報をmoovデータに上書きして(ステップS306)、処理を終了する。
【0145】
このような本実施の形態における多重化装置300は、コンテンツの情報量に応じて一組のmoov110及びmdat120と、少なくとも一組のmoof130及びmdat140とが連なるように構成されるMP4ファイルデータ100を生成するため、リアルタイム記録に有効であるとともに、逆多重化装置200の利便性向上のために要する拡張コンテンツ時間長情報をmoov110に格納することができる。
【0146】
図10は、trexのシンタックスを示す表示図である。
trex115のトラック時間長フィールド115aには、バージョンによって、32ビットや64ビットが割り当てられ、第1デフォルト時間長フィールド119には32ビットが割り当てられる。また、タイムスケールはmvhd111により示される。
【0147】
なお、本実施の形態では、MP4ファイルデータ100のmvex113に、拡張コンテンツ時間長情報を含むmhex113aを格納したが、このmhex113aの代わりに、コンテンツ総時間長情報を含むボックス(以下「mehd」と称す)を格納しても良い。
【0148】
図11は、mehdを含むMP4ファイルデータに基づいてコンテンツ総時間長を特定するコンテンツ時間長特定部の内部構成を示すブロック図である。
【0149】
このコンテンツ時間長特定部211a’は、第1分離部211’と、第2分離部222’と、第3分離部224’と、解析部225’とを備えている。第1分離部221’は、MP4ファイルデータを取得して、そのMP4ファイルデータからmoovデータを分離して出力する。第2分離部222’は、moovデータを取得すると、そのmoovデータからmvexデータを分離して出力する。第3分離部224’は、mvexデータを取得すると、そのmvexデータから、上述のmehdに格納されているmehdデータを分離して出力する。解析部225’は、第3分離部224’からmehdデータを取得すると、そのmehdデータを解析してコンテンツ総時間長情報を出力する。
【0150】
図12は、上述のコンテンツ時間長特定部211a’の特徴的な動作を示すフロー図である。
【0151】
まず、コンテンツ時間長特定部211a’は、上述のMP4ファイルデータを取得して(ステップS260)、そのデータにmehdが含まれているか否かを判別する(ステップS262)。
【0152】
ここで、コンテンツ時間長特定部211a’は、mehdを検出すると(ステップS262のY)、そのmehdを解析して(ステップS264)、mehdに格納されているコンテンツ総時間長情報が「0」を示しているか否かを判別する(ステップS266)。
【0153】
そして、コンテンツ時間長特定部211a’は、ステップS266でコンテンツ総時間長情報が「0」を示していないと判別したときには(ステップS266のN)、そのコンテンツ総時間長情報を出力する(ステップS268)。一方、コンテンツ時間長特定部211a’は、ステップS262でデータにmehdが含まれていないと判別したとき(ステップS262のN)、又はステップS266でコンテンツ総時間長情報が「0」を示していると判別したときには(ステップS266のY)、コンテンツ総時間長を特定することができないと判別し(ステップS270)、コンテンツ総時間長が不明であることを知らせる内容の総時間長不明情報を出力する(ステップS272)。
【0154】
このように、mhex113aの代わりにmehdをMP4ファイルデータに格納することにより、コンテンツ時間長特定部211a’は、コンテンツ総時間長を特定するために、基本領域100aのコンテンツの時間長と拡張領域100bのコンテンツの時間長とを加算することなく、mehdデータを解析することで、容易にコンテンツ総時間長を特定することができる。
【0155】
一方、多重化装置300の制御部308は、moov生成部306にmoovデータを生成させるときには、まず、mehdに格納されるコンテンツ総時間長情報が「0」を示すようなmoovデータをmoov生成部306に生成させるとともに、画像特定情報及び音声特定情報に基づいて、画像符号化データ及び音声符号化データの基本領域100a及び拡張領域100bに納められる各サンプルの時間長を順次加算する。そして、制御部308は、入力された音声データや画像データの全てに対してmoofデータをmoof生成部305から出力させると、上述のように加算した時間長をコンテンツ総時間長として、その時間長を示すコンテンツ総時間長情報をmoov生成部306に出力する。これにより多重化装置300のファイル生成部307は、上述のmehdを格納するMP4ファイルデータ100を生成する。
【0156】
図13は、mehdのシンタックスを示す表示図である。
mehdのコンテンツ総時間長情報を格納するムービー時間長フィールドには、バージョンに応じて、32ビットや64ビットが割り当てられる。例えば、バージョンが0を示すときには32ビットが割り当てられ、バージョンが1を示すときには64ビットが割り当てられる。また、タイムスケールはmvhdにより示される。
【0157】
なお、mhex113aが図13に示すようなシンタックスを有していても良い。
【0158】
また、上記実施の形態では、拡張コンテンツ時間長情報が「0」を示す場合に、拡張コンテンツ時間長が不明であるとしたが、その値は「0」以外の例えば負数などであっても良い。
【0159】
(変形例) 次に、上記本実施の形態における逆多重化装置200の変形例について説明する。
【0160】
上述の逆多重化装置200は、従来のファイルフォーマットと基本領域の構造が異なるMP4ファイルデータを取り扱ったが、本変形例に係る逆多重化装置はさらに、従来のファイルフォーマットと拡張領域の構造も異なるMP4ファイルデータを取り扱う。
【0161】
図14は、本変形例に係る逆多重化装置が取り扱うMP4ファイルデータのmoofのファイルフォーマットを示すデータ構成図である。
【0162】
moof130’は、1つのmfhd131と複数のtraf132とから構成されている。
【0163】
mfhd131は、エントリカウンタフィールド131aと、複数の時間長エントリフィールド131bとから構成され、時間長エントリフィールド131bには、さらに、トラックを識別するためのトラック識別情報を格納するトラックIDフィールド131cと、当該moof130’と対になるmdat140において、そのトラック識別情報により特定されるトラックの時間長(moof時間長)を示すmoof時間長情報を格納するmoof時間長フィールド131dとが形成されている。
【0164】
traf132は、1つのトラックフラグメントヘッダーボックス(以下、「tfhd」と称す)133と、複数のトラックフラグメントランボックス(以下「trun」と称す)136とから構成され、tfhd133には、traf時間長情報が格納されるtraf時間長フィールド135と、デフォルトサンプル時間長情報が格納される第2デフォルト時間長フィールド134とが含まれている。
【0165】
traf時間長フィールド135に格納されるtraf時間長情報は、traf132のtrun136に含まれるサンプル時間長情報により示されるサンプルの時間長の総和(traf時間長)を示し、第2デフォルト時間長フィールド134に格納されるデフォルトサンプル時間長情報は、そのtraf時間長に対してデフォルトで設定された時間長を示す。
【0166】
図15は、本変形例に係る逆多重化装置のランダムアクセス処理部の内部構成を示すブロック図である。
【0167】
ランダムアクセス処理部400は、従来のランダムアクセス処理部812と比べて計算量を少なくして迅速に目的サンプルを探し出すことができるものであって、図14に示すmoof130’を有するMP4ファイルデータ100’を蓄積するデータ蓄積部401と、moof時間長を特定するmoof時間長処理部420と、traf時間長を特定するtraf時間長処理部430と、サンプル時間長を特定するサンプル時間長処理部440と、これらの処理部を制御する主制御部410とから構成される。
【0168】
主制御部410は、MP4ファイルデータ100’と、目標時間を示す目標時間情報を取得すると、そのMP4ファイルデータ100’の構成を解析して、moof時間長処理部420とtraf時間長処理部430とサンプル時間長処理部440とを制御し、これらの各処理部により特定されるmoof時間長及びtraf時間長並びにサンプル時間長を積算処理することで、上記目標時間に応じた目的サンプルを示す目的サンプル識別情報を出力する。
【0169】
図16は、moof時間長処理部420の内部構成を示すブロック図である。moof時間長処理部420は、第1分離部421と、第2分離部423と、トラック制御部422と、解析部424とを備えている。
【0170】
第1分離部421は、図14のmoof130’を有するMP4ファイルデータ100’を取得すると、そのMP4ファイルデータ100’から、moovデータとmoofデータとを分離して出力する。
【0171】
第2分離部423は、第1分離部421からmoofデータを取得すると、そのmoofデータから、mfhd131に格納されているデータ(mfhdデータ)を分離して出力する。
【0172】
トラック制御部422は、第1分離部421からmoovデータを取得すると、そのmoovデータに基づいて、トラック識別情報を出力する。
【0173】
解析部424は、第2分離部423からmfhdデータを取得するとともに、トラック制御部422からトラック識別情報を取得すると、mfhdデータを解析してそのmfhdデータから、トラック識別情報により特定されるトラックのmoof時間長情報を抽出して、これを出力する。
【0174】
図17は、traf時間長処理部430の内部構成を示すブロック図である。
traf時間長処理部430は、第1分離部431と、第2分離部433と、第3分離部434と、トラック制御部432と、解析部435とを備えている。
【0175】
第1分離部431は、MP4ファイルデータ100’を取得すると、そのMP4ファイルデータ100’から、moovデータとmoofデータとを分離して出力する。
【0176】
トラック制御部432は、第1分離部431からmoovデータを取得すると、そのmoovデータに基づいて、トラック識別情報を出力する。
【0177】
第2分離部433は、第1分離部431からmoofデータを取得するとともに、トラック制御部432からトラック識別情報を取得すると、moofデータを解析してそのmoofデータから、トラック識別情報により特定されるトラックに対応するtrafデータを分離して出力する。
【0178】
第3分離部434は、第2分離部433からtrafデータを取得すると、そのtrafデータからtfhdデータを分離して出力する。
【0179】
解析部435は、第3分離部434からtfhdデータを取得すると、そのtfhdデータを解析して、そのtfhdデータからtraf時間長情報を抽出して出力する。
【0180】
また、サンプル時間長処理部440は、MP4ファイルデータ100’から所定の分離処理を行うことでトラック毎にtrunデータを分離し、そのtrunデータからサンプル時間長情報を抽出して出力する。
【0181】
図18は、ランダムアクセス処理部400の概略的な動作を説明するための説明図である。
【0182】
図18の(a)は、MP4ファイルデータ100’のストリームを示すデータ構成図である。このようなストリームは、サンプル単位で構成され、そのサンプルにはシーク可能(最初に読み出し可能)であることを示すフラグが含められている。
【0183】
図18の(b)は、MP4ファイルデータ100’のセグメント構造を示すデータ構成図である。
【0184】
MP4ファイルデータ100’のファイルフォーマットには、上述のように、moov110とmoof130’とが含まれ、そのmoof130’にはtraf132が含まれている。
【0185】
MP4ファイルデータ100’に含まれるコンテンツ総時間長は、基本コンテンツ時間長Aと、拡張コンテンツ時間長Bとの和で表される。
【0186】
さらに、拡張コンテンツ時間長Bは、拡張領域の各moof130’により示されるmoof時間長C,C,…の総和で表され、moof時間長C,C,…は、それぞれのmoof130’内の各traf132により示されるtraf時間長D,D,…の総和で表される。
【0187】
図18の(c)は、ランダムアクセス処理部400のシーク動作を説明するための説明図である。
【0188】
ランダムアクセス処理部400は、目標時間を示す目標時間情報を取得すると、まず、基本コンテンツ時間長Aに拡張コンテンツ時間長Bを加算する。その加算結果が目標時間と等しくなれば、ランダムアクセス処理部400は、MP4ファイルデータ100’の最後に取得したサンプルを目的サンプルとして特定し、その目的サンプルを示す目的サンプル識別情報を出力する。
【0189】
一方、加算結果が目標時間を越えていれば、ランダムアクセス処理部400は、基本コンテンツ時間長Aに対するmoof時間長C,C,…の加算を時系列に沿って順次行う。その加算結果が目標時間と等しくなったときには、ランダムアクセス処理部400は、最後に加算したmoof時間長に対応する最後のサンプルを目的サンプルとして特定し、その目的サンプルを示す目的サンプル識別情報を出力する。
【0190】
また、その加算結果が目標時間を越えたときには、ランダムアクセス処理部400は、目標時間を越える直前の加算結果に対して、traf時間長D,D,…の加算を時系列に沿って順次行う。その加算結果が目標時間と等しくなったときには、ランダムアクセス処理部400は、最後に加算したtraf時間長に対応する最後のサンプルを目的サンプルとして特定し、そのサンプルを示す目的サンプル識別情報を出力する。
【0191】
そしてさらに、その加算結果が目標時間を越えたときには、ランダムアクセス処理部400は、目標時間を越える直前の加算結果に対して、サンプル時間長E,E,…の加算を時系列に沿って順次行う。ここで、その加算結果が目標時間と等しくなったときには、ランダムアクセス処理部は、最後に加算したサンプル時間長に対応するサンプルを目的サンプルとして特定し、その目的サンプルを示す目的サンプル識別情報を出力する。
【0192】
図19は、ランダムアクセス処理部400の動作を示すフロー図である。
まず、ランダムアクセス処理部400は、基本コンテンツ時間長Aに拡張コンテンツ時間長Bを加算して、その加算結果が目標時間Xと等しくなるか否かを判別する(ステップS400)。
【0193】
その判別の結果、等しいと判別したときには(ステップS400のY)、ランダムアクセス処理部400は、目的サンプルはMP4ファイルデータの最後にあるサンプルであると判別する(ステップS402)。
【0194】
また、等しくないと判別したときには(ステップS400のN)、ランダムアクセス処理部400は、まず変数NをN=1として(ステップS404)、基本コンテンツ時間長A及びmoof時間長Cを用いて時間長aを下記数式により算出する(ステップS406)。
【数1】

Figure 0004436617
【0195】
ここで、ランダムアクセス処理部400は、時間長aが目標時間Xと等しいか否かを判別し(ステップS408)、等しいと判別したときには(ステップS408のY)、目的サンプルはmoof時間長Cに対応する最後のサンプルであると判別する(ステップS410)。
【0196】
また、ランダムアクセス処理部400は、時間長aが目標時間Xと等しくないと判別したときには(ステップS408のN)、さらに、時間長aが目標時間Xよりも大きいか否かを判別する(ステップS412)。
【0197】
ランダムアクセス処理部400は、時間長aが目標時間Xよりも大きくないと判別したときには(ステップS412のN)、N=N+1として(ステップS414)、さらにステップS406からの動作を繰り返し実行する。なお、上記数式は、基本コンテンツ時間長Aとmoof時間長C〜Cとの総和を表しているが、ランダムアクセス処理部400は、Nの増加の度に上記数式の加算処理を全て実行することはなく、加算処理結果を一時保存しておき、Nが1増加する度に、前記Nに相当するCを上記保存された加算処理結果にさらに加算することで上記数式の解を求める。
【0198】
そして、時間長aが目標時間Xよりも大きいと判別したときには(ステップS412のY)、ランダムアクセス処理部400は、まず変数MをM=1として(ステップS416)、基本コンテンツ時間長A及びmoof時間長C並びにtraf時間長Dを用いて時間長bを下記数式により算出する(ステップS417)。
【数2】
Figure 0004436617
【0199】
ここで、ランダムアクセス処理部400は、時間長bが目標時間Xと等しいか否かを判別し(ステップS418)、等しいと判別したときには(ステップS418のY)、目的サンプルはtraf時間長Dに対応する最後のサンプルであると判別する(ステップS420)。
【0200】
また、ランダムアクセス処理部400は、時間長bが目標時間Xと等しくないと判別したときには(ステップS418のN)、さらに、時間長bが目標時間Xよりも大きいか否かを判別する(ステップS422)。
【0201】
ランダムアクセス処理部400は、時間長bが目標時間Xよりも大きくないと判別したときには(ステップS422のN)、M=M+1として(ステップS424)、さらにステップS417からの動作を繰り返し実行する。そして、時間長bが目標時間Xよりも大きいと判別したときには(ステップS422のY)、ランダムアクセス処理部400は、まず変数LをL=1として(ステップS426)、基本コンテンツ時間長A、moof時間長C、traf時間長D、サンプル時間Eを用いて時間長cを下記数式により算出する(ステップS428)。
【数3】
Figure 0004436617
【0202】
ここで、ランダムアクセス処理部400は、時間長cが目標時間Xと等しいか否かを判別し(ステップS430)、等しいと判別したときには(ステップS430のY)、目的サンプルはサンプル時間長Eに対応するサンプルであると判別する(ステップS432)。
【0203】
また、ランダムアクセス処理部400は、時間長cが目標時間Xと等しくないと判別したときには(ステップS430のN)、さらに、時間長cが目標時間Xよりも大きいか否かを判別する(ステップS434)。
【0204】
ランダムアクセス処理部400は、時間長cが目標時間Xよりも大きくないと判別したときには(ステップS434のN)、L=L+1として(ステップS436)、さらにステップS428からの動作を繰り返し実行する。そして、時間長cが目標時間Xよりも大きいと判別したときには(ステップSのY)、ランダムアクセス処理部400は、エラーが発生したものと判断する(ステップS438)。
【0205】
そして、ステップS402、ステップS410、ステップS420、又はステップS432で目的サンプルが特定された後、ランダムアクセス処理部400は、その目的サンプルを示す目的サンプル識別情報を出力する(ステップS440)。
【0206】
このように本変形例では、拡張領域のmoof130’のmfhd131に、moof時間長情報を格納するmoof時間長フィールド131dを設け、さらに、tfhd133に、traf時間長情報を格納するtraf時間長フィールド135を設けるとともに、ランダムアクセス時において目標時間から目的サンプルを探すときには、まず拡張コンテンツ時間長を用い、次に、拡張コンテンツ時間長よりも短いmoof時間長を用い、さらに次に、moof時間長よりも短いtraf時間長を用い、そして最後に、traf時間長よりも短いサンプル時間長を用いるため、図28に示す従来のランダムアクセス処理部812の動作と比べて、計算量を少なくし、迅速に目的サンプルを探し出すことができる。
【0207】
そして、ランダムアクセス処理部400は、MP4ファイルデータ100’と目的サンプル識別情報とを復号部213に出力して、その目的サンプル識別情報により示される目的サンプルからのコンテンツの再生を復号部213及び再生部214に実行させる。
【0208】
図20は、tfhd133のシンタックスを示す表示図である。
この図20に示すように、traf132のtraf時間長フィールド135には、例えば32ビットが割り当てられる。
【0209】
なお、ランダムアクセス処理部400の主制御部410は、moof時間長処理部420からのmoof時間長情報の出力状況や、moof時間長情報により示されるmoof時間長の有効性を判別しており、moof時間長を用いようとする場合に、moof時間長情報が出力されなかったとき、又はmoof時間長が有効でないと判別したときには、traf時間長処理部430にmoof130’に格納されている全てのtraf時間長情報を出力させて、これらtraf時間長の和をmoof時間長の代わりに用いても良い。さらに、ランダムアクセス処理部400の主制御部410は、traf時間長処理部430からのtraf時間長情報の出力状況や、traf時間長情報により示されるtraf時間長の有効性を判別しており、traf時間長を用いようとする場合に、traf時間長情報が出力されなかったとき、又はtraf時間長が有効でないと判別したときには、サンプル時間長処理部440にtraf132に格納されている全てのサンプル時間長情報を出力させて、これらサンプル時間長の和をtraf時間長の代わりに用いても良い。
【0210】
また、上記変形例では、各サンプルにシーク可能か否かを示すフラグを含めたが、moof130に対応する複数のサンプルに対して1つのフラグを含めたり、traf132に対応する複数のサンプルに対して1つのフラグを含めたりしても良い。これにより、各サンプル毎にフラグをチェックする処理を省くことができる。
【0211】
【発明の効果】
以上の説明から明らかなように、本発明に係る逆多重化装置によれば、処理手段で多重化データが各組ごとに逆多重化処理されるため、ストリームとして配信される多重化データからコンテンツをダウンロード再生することができるとともに、多重化データの先端部に含まれる総時間長情報に基づいて総時間長が総時間長特定手段で特定されてその総時間長が表示手段により表示されるため、ダウンロード再生中にでも総時間長をユーザに知らせることができ、コンテンツのダウンロード再生時の利便性を向上することができる。また、本発明に係る逆多重化装置は、MP4ファイルデータをダウンロードして再生するパーソナルコンピュータや携帯電話などに用いるのに適し、本発明に係る多重化装置は、画像や音声などのマルチメディアデータを取得してMP4ファイルデータを作成して記録するデジタルビデオカメラや録画機能付き携帯電話などに用いるのに適している。
【図面の簡単な説明】
【図1】実施の形態における逆多重化装置及び多重化装置が扱うMP4ファイルデータのファイルフォーマットを示すデータ構成図である。
【図2】同上のMP4ファイルデータに基づいて再生を行う逆多重化装置の構成を示す構成図である。
【図3】同上の時間処理部のコンテンツ時間長特定部の内部構成を示すブロック図である。
【図4】同上の時間処理部のトラック時間長特定部の内部構成を示すブロック図である。
【図5】同上の逆多重化装置のコンテンツ時間長特定部の特徴的な動作を示すフロー図である。
【図6】同上の逆多重化装置の再生部により表示される画像を示す画像表示図である。
【図7】同上の逆多重化装置の再生部により表示される他の画像を示す画像表示図である。
【図8】同上の多重化装置の構成を示す構成図である。
【図9】同上の多重化装置の動作を示すフロー図である。
【図10】同上のtrexのシンタックスを示す表示図である。
【図11】同上のmehdを含むMP4ファイルデータを扱うコンテンツ時間長特定部の内部構成を示すブロック図である。
【図12】同上のコンテンツ時間長特定部の特徴的な動作を示すフロー図である。
【図13】同上のmehdのシンタックスを示す表示図である。
【図14】同上の変形例に係る逆多重化装置が取り扱うMP4ファイルデータのmoofのファイルフォーマットを示すデータ構成図である。
【図15】同上の変形例に係る逆多重化装置のランダムアクセス処理部の内部構成を示すブロック図である。
【図16】同上の変形例に係るmoof時間長処理部の内部構成を示すブロック図である。
【図17】同上の変形例に係るtraf時間長処理部の内部構成を示すブロック図である。
【図18】同上の変形例に係るランダムアクセス処理部の概略的な動作を説明するための説明図である。
【図19】同上の変形例に係るランダムアクセス処理部の動作を示すフロー図である。
【図20】同上の変形例に係るtfhdのシンタックスを示す表示図である。
【図21】従来例におけるMP4ファイルデータの基本的なファイルフォーマットを示すデータ構成図である。
【図22】同上のmoovの詳細な構成を示すデータ構成図である。
【図23】同上のmoofの詳細な構成を示すデータ構成図である。
【図24】同上のMP4ファイルデータを生成する従来の多重化装置の構成を示す構成図である。
【図25】同上の多重化装置のmoovデータ及びmoofデータの生成に関する動作を示すフロー図である。
【図26】同上のMP4ファイルデータに基づいて再生を行う従来の逆多重化装置の構成を示す構成図である。
【図27】同上の時間長特定部の内部構成を示すブロック図である。
【図28】同上のランダムアクセス処理部の構成を示す構成図である。
【図29】同上のトラック制御部の内部構成を示すブロック図である。
【図30】同上のランダムアクセス処理部の概略的な動作を説明するための説明図である。
【図31】同上の従来の逆多重化装置での問題点を説明するための説明図である。
【符号の説明】
100 MP4ファイルデータ
100a 基本領域
100b 拡張領域
110 moov
113a mhex
113b ムービー時間長フィールド
120 mdat
130 moof
140 mdat
200 逆多重化装置
210 データ取得部
211 時間処理部
211a コンテンツ時間長特定部
211b トラック時間長特定部
211c 再生時間特定部
212 ランダムアクセス処理部
213 復号部
214 再生部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a demultiplexer that demultiplexes multiplexed data obtained by multiplexing multimedia data such as image data and music data, and a multiplexer that multiplexes multimedia data.
[0002]
[Prior art]
In recent years, MP4 has attracted attention as a file format for multiplexing and storing multimedia data (content such as moving images, audio, text, or still images).
[0003]
MP4 is used as a file format of MPEG-4, which is a compression encoding method for moving images, and JPEG 2000, the next generation version of JPEG, which is a compression encoding method for natural images.
[0004]
Initially, the MP4 file format was composed of one data box for storing multiplexed contents and one header box for storing information related to the contents of the data area.
[0005]
Therefore, a multiplexing device that generates MP4 file data from multimedia data acquires the multimedia data, performs encoding and multiplexing processing, and creates the header box after all the multimedia data has been processed. The MP4 file data was completed.
[0006]
In such a multiplexing apparatus, when the amount of information of multimedia data is large, it takes some time to create the header box after the acquisition of multimedia data and the processing for the multimedia data are completed.
[0007]
For example, in a multiplexing device configured as a mobile phone with a recording function, when an incoming call is received during recording, a time lag is added to the incoming call in order to create a header box that includes information related to the entire recorded content. Occurs. In addition, when priority is given to incoming calls, the creation of the header box is interrupted and the MP4 file data cannot be completed.
[0008]
Therefore, the MP4 file format has been improved so that a plurality of sets of data boxes and header boxes are connected (see, for example, Non-Patent Document 1).
[0009]
FIG. 21 is a data structure diagram showing a basic file format of conventional MP4 file data improved as described above.
[0010]
The MP4 file data 900 is composed of a basic area 900a and an extended area 900b.
[0011]
The basic area 900a includes a movie box (hereinafter referred to as “moov”) 910 as a header box and a media data box (hereinafter referred to as “mdat”) 920 as a data box.
[0012]
The moov 910 further includes a movie header box (hereinafter referred to as “mvhd”) 911, a plurality of track boxes (hereinafter referred to as “trak”) 912, and a movie extend box (hereinafter referred to as “mvex”) 913. It consists of.
[0013]
The extension area 900b includes a plurality of sets of a movie fragment box (hereinafter referred to as “moof”) 930 serving as the header box and a media data box (hereinafter referred to as “mdat”) 940 serving as the data box. It is configured as a combination.
[0014]
The moof 930 further includes one movie fragment header box (hereinafter referred to as “mfhd”) 931 and a plurality of track fragment boxes (hereinafter referred to as “traf”) 932.
[0015]
FIG. 22 is a data configuration diagram showing a detailed configuration of the moov 910.
The mvhd 911 includes a movie time length field 911a that stores basic content time length information indicating a time length (basic content time length) required for reproduction of the content included in the basic area 900a.
[0016]
The track 912 further includes a track header box (hereinafter referred to as “tkhd”) 914. The tkhd 914 includes a track ID field 916 for storing track identification information for identifying a track, and a track time length field 917. And are included. The track time length field 917 stores basic track time length information indicating the time length (basic track time length) required for playback of the track included in the basic area 900a indicated by the track identification information.
[0017]
Here, the track is a kind of content and means a moving image, sound, text, or the like.
[0018]
The mvex 913 includes a number of track extend boxes (hereinafter referred to as “trex”) 915 corresponding to the number of tracks included in the extension area 900b.
[0019]
The trex 915 indicates a track ID field 918 for storing track identification information for identifying a track, and a time length set by default for a sample of a track in the extension area 900b specified by the track identification information. A first default time length field 919 in which default sample time length information is stored is included.
[0020]
Here, the sample is the minimum unit of the MP4 file format, and means one frame or picture if the track is a moving image, and means sound information for 20 (msec) if the track is sound. .
[0021]
FIG. 23 is a data configuration diagram showing a detailed configuration of the moof 930.
The traf 932 included in the moof 930 further includes one track fragment header box (hereinafter referred to as “tfhd”) 933 and a plurality of track fragment run boxes (hereinafter referred to as “trun”) 936.
[0022]
In the tfhd 933, the track ID field 934 that stores the track identification information for identifying the track, and the traf 932 that stores the tfhd 933 among the samples of the track in the extension area 900b specified by the track identification information. A second default time length field 935 in which default sample time length information indicating a time length set by default is stored for the associated sample is included. Here, the second default time length field 935 may be omitted, and in this case, the first default time length field 919 is referred to.
[0023]
The run 936 includes a sample time length field 937 for storing sample time length information indicating the time length (sample time length) of each sample included in the track of the extension area 900b specified by the track identification information.
[0024]
As described above, the MP4 file format includes one set of mdat 920 and moov 910, and further includes a plurality of sets of mdat 940 and moof 930, that is, a box for storing multiplexed contents and the contents included in the box. The conventional multiplexing apparatus completes the MP4 file data 900 each time it sequentially acquires and processes multimedia data, and in real-time recording. It is effective. The conventional multiplexing device configured as a mobile phone with a recording function can prevent an incoming time lag even during recording.
[0025]
FIG. 24 is a configuration diagram showing a configuration of a conventional multiplexing device that generates the MP4 file data 900. As shown in FIG.
[0026]
The multiplexing apparatus 700 includes an image data analysis unit 701, an audio data analysis unit 702, a first changeover switch 703, a second changeover switch 704, a control unit 708, a moof generation unit 705, and a moov generation unit 706. And a file generation unit 707.
[0027]
The image data analysis unit 701 obtains image data and analyzes the image data, thereby generating image specifying information having contents indicating a time stamp and a size of the image data. Then, the image data analysis unit 701 generates image encoded data by encoding the image data, and outputs the image encoded data and image specifying information.
[0028]
The voice data analysis unit 702 acquires voice data and analyzes the voice data, thereby generating voice specifying information having contents indicating a time stamp, a size, and the like of the voice data. Then, the voice data analysis unit 702 generates voice encoded data by encoding the voice data, and outputs the voice encoded data and the voice specifying information.
[0029]
The moov generation unit 706 generates and outputs data (moov data) stored in the moov 910 according to control from the control unit 708.
[0030]
The moof output unit 705 generates and outputs data (moof data) stored in the moof 930 in accordance with control from the control unit 708.
[0031]
The control unit 708 acquires the image specifying information from the image data analyzing unit 701, acquires the sound specifying information from the sound data analyzing unit 702, and based on the image specifying information and the sound specifying information, the first changeover switch 703 and By switching the second changeover switch 704, the data to be stored in the basic area 900a including the moov data is first output from the second changeover switch 704, and then the data to be stored in the extension area 900b including the moof data is output. Output.
[0032]
The file generation unit 707 performs multiplexing processing on each data output from the second changeover switch 704 to generate MP4 file data 900, and outputs this.
[0033]
FIG. 25 is a flowchart showing operations related to generation of moov data and moof data in the conventional multiplexing apparatus 700.
[0034]
First, the multiplexing apparatus 700 generates moov data (step S100).
Next, the multiplexing apparatus 700 creates moof data (step S102).
[0035]
Then, the multiplexing apparatus 700 determines whether there is unprocessed data for encoding and multiplexing of the input image data and audio data (step S104). Here, when it is determined that there is unprocessed data (Y in step S104), the operation from step S102 is repeatedly executed, and when it is determined that there is no unprocessed data (N in step S104), the process ends. To do.
[0036]
As described above, the conventional multiplexing apparatus 700 using the MP4 file data 900 is effective for real-time recording because it sequentially creates moof data.
[0037]
By the way, the MP4 file data 900 is suitable for streaming because it is configured such that a plurality of sets of data boxes and header boxes are connected as shown in FIGS. In other words, the demultiplexer that reproduces the content by acquiring the MP4 file data 900 and performing the demultiplexing process sequentially reproduces (downloads) all the MP4 file data 900 distributed as a stream before the download is completed. Play).
[0038]
FIG. 26 is a block diagram showing the configuration of a conventional demultiplexer that reproduces content based on the MP4 file data 900.
[0039]
The demultiplexer 800 acquires and reproduces MP4 file data 900. The data acquisition unit 810 that acquires the MP4 file data 900 and the MP4 file data 900 acquired by the data acquisition unit 810 are reproduced. A decoding unit 813 that performs demultiplexing and decoding, a time processing unit 811 that performs temporal processing based on the acquired MP4 file data 900, and a process for randomly accessing the acquired MP4 file data 900 A random access processing unit 812 that performs the above and a reproduction unit 814 that outputs an image and sound based on the data output from the decoding unit 813.
[0040]
The time processing unit 811 includes a time length specifying unit 811a that specifies the time length required to play a part of content included in the MP4 file data 900, and a playback time specifying unit 811b that specifies the playback time. Here, the reproduction time refers to the time taken for reproduction from the reproduction start time to the present time when the content is reproduced from the beginning.
[0041]
FIG. 27 is a block diagram showing an internal configuration of the time length specifying unit 811a.
The time length specifying unit 811 a includes a first separation unit 821, a second separation unit 822, a third separation unit 823, a first analysis unit 824, and a second analysis unit 825.
[0042]
Upon obtaining the MP4 file data 900, the first separation unit 821 separates and outputs moov data from the MP4 file data 900.
[0043]
When obtaining the moov data, the second separation unit 822 separates and outputs the data (mvhd data) stored in the mvhd 911 and the data (trak data) stored in the trak 912 from the moov data.
[0044]
When the third separation unit 823 acquires the trak data, the third separation unit 823 separates and outputs the data (tkhd data) stored in the tkhd 914 from the trak data.
[0045]
When the first analysis unit 824 acquires mvhd data from the second separation unit 822, the first analysis unit 824 analyzes the mvhd data and outputs basic content time length information stored in the movie time length field 911a.
[0046]
When the second analysis unit 825 acquires the tkhd data from the third separation unit 823, the second analysis unit 825 analyzes the tkhd data, outputs the track identification information stored in the track ID field 916, and corresponds to the track identification information. Then, the basic track time length information stored in the track time length field 917 is output.
[0047]
The time length specifying unit 811a outputs basic content time length information to the playback unit 814, and also includes track identification information and basic track time length information corresponding to the track in the basic area 900a indicated by the track identification information. Is output to the playback unit 814.
[0048]
When the playback unit 814 acquires the basic content time length information, the track time length information, and the track identification information, the playback unit 814 displays the basic content time length or displays the basic track time length for each track as necessary. To do. Further, the playback unit 814 displays the playback time while playing back an image or sound based on the result of specification by the playback time specifying unit 811b.
[0049]
FIG. 28 is a configuration diagram showing the configuration of the random access processing unit 812.
When the random access processing unit 812 acquires target time information indicating the target time from the outside, the random access processing unit 812 searches the accumulated MP4 file data 900 for a sample corresponding to the target time as a target sample. The data storage unit 830a, the first separation unit 830, the second separation unit 831, the third separation unit 832, the fourth separation unit 835, the fifth separation unit 834, the first analysis unit 836, A second analysis unit 837, a third analysis unit 838, a track control unit 833, a determination unit 839, and a control unit 840. Here, the target time refers to a halfway playback start time when the user tries to play the content halfway. For example, when the user tries to reproduce the content with a total time length of 10 minutes without looking at the top 2 minutes, the target time is 2 minutes. The data storage unit 830a stores the MP4 file data 900 acquired by the data acquisition unit 810.
[0050]
When acquiring the MP4 file data 900 from the data storage unit 830a, the first separation unit 830 separates and outputs moov data and moof data from the MP4 file data 900.
[0051]
When acquiring the moov data, the third separation unit 832 separates and outputs the data (mvex data) stored in the mvex 913 from the moov data.
[0052]
When acquiring the moov data from the first separation unit 830, the track control unit 833 outputs track identification information based on the moov data.
[0053]
When the second separation unit 831 obtains the moof data from the first separation unit 830 and obtains the track identification information from the track control unit 833, the second separation unit 831 stores in the traf 932 corresponding to the track specified by the track identification information from the moof data. Separated data (traf data) is output.
[0054]
When the fourth separation unit 835 obtains the traf data from the second separation unit 831, the data stored in the tfhd 933 (tfhd data) and the data (trun data) stored in the run 936 are obtained from the traf data. Separate and output.
[0055]
When the fifth separation unit 834 obtains the mvex data from the third separation unit 832 and obtains the track identification information from the track control unit 833, the fifth separation unit 834 stores the mvex data in the trex 915 corresponding to the track specified by the track identification information. Separated data (trex data) is output.
[0056]
When acquiring the trex data from the fifth separation unit 834, the first analysis unit 836 analyzes the trex data and outputs the default sample time length information included in the trex data as the first time length information.
[0057]
When the second analysis unit 837 acquires the tfhd data from the fourth separation unit 835, the second analysis unit 837 analyzes the tfhd data and outputs the sample time length information included in the tfhd data as the second time length information.
[0058]
When the third analysis unit 838 acquires the run data from the fourth separation unit 835, the third analysis unit 838 analyzes the run data and outputs the sample time length information included in the run data as the third time length information.
[0059]
The determination unit 839 includes the first time length information acquired from the first analysis unit 836, the second time length information acquired from the second analysis unit 837, and the third time length information acquired from the third analysis unit 838. , Select one of them, and output it as time length information. Here, the determination unit 839 first gives priority to the third time length information. When the third time length information is omitted and cannot be obtained, the second time length information is given priority and the second time length information is given. If it is omitted and cannot be obtained, the first time length information is selected and output.
[0060]
Further, when outputting the time length information, the determination unit 839 also outputs sample identification information for identifying a sample corresponding to the time length information.
[0061]
When acquiring the target time information indicating the target time, the control unit 840 sequentially adds the time lengths indicated in the time length information sequentially output from the determination unit 839. The control unit 840 performs the addition until the addition result reaches the target time indicated by the target time information, and outputs the sample identification information acquired from the determination unit 839 when the target time is reached as the target sample identification information. To do.
[0062]
FIG. 29 is a block diagram showing the internal configuration of the track control unit 833.
The track control unit 833 acquires the moov data and separates the trak data therefrom, the sixth separation unit 841 acquires the trak data and further separates the tkhd data therefrom, and the tkhd And an analysis unit 843 that identifies the track identification information by analyzing the data and outputs the track identification information.
[0063]
FIG. 30 is an explanatory diagram for explaining a schematic operation of the random access processing unit 812.
[0064]
As shown in FIG. 30, the conventional random access processing unit 812 specifies a target sample corresponding to the target time by sequentially adding the sample time lengths.
[0065]
Then, the random access processing unit 812 outputs the MP4 file data 900 and the target sample identification information to the decoding unit 813, and reproduces the content from the target sample indicated by the target sample identification information by using the decoding unit 813 and the reproduction unit. 814.
[0066]
When the conventional demultiplexing apparatus 800 obtains the MP4 file data 900 distributed as a stream, the MP4 file data 900 can be downloaded and reproduced based on the acquired MP4 file data 900, and is stored by being provided with the random access processing unit 812. Random access to all the MP4 file data 900 is possible.
[0067]
[Non-Patent Document 1]
`` INTERNATIONAL ORGANIZATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO / IEC JTC1 / SC29 / WG11 CODING OF MOVING PICTURES AND AUDIO '', ISO / IEC JTC1 / SC29 / WG11, MPEG01 / N4270-1, 2001.1.20
[0068]
[Problems to be solved by the invention]
However, in the conventional demultiplexing apparatus 800, when the MP4 file data 900 is downloaded and played back, the entire length including the extended area 900b can be displayed even though the time length required for playing back the content contained in the basic area 900a can be displayed. There was a problem that the total time length of the contents of could not be displayed and it was not easy to use.
[0069]
FIG. 31 is an explanatory diagram for explaining a problem in the conventional demultiplexer 800.
[0070]
The demultiplexer 800 configured as a mobile phone downloads the MP4 file data 900 distributed as a stream via the base station 990, and sequentially plays back the downloaded MP4 file data 900. At this time, although the demultiplexer 800 displays the playback time, the time length required to play back all the contents cannot be specified unless all the MP4 file data 900 is acquired. The total time length of the content cannot be displayed during downloading or playback. For example, in the charge system charged according to the usage time, the user of the demultiplexing apparatus 800 is worried that the guide of the usage charge is not known, or when the remaining capacity of the battery is low, the power is cut off halfway. You may feel anxiety that you might end up. As described above, in the conventional demultiplexing apparatus 800, the user cannot know the total time length of the content and lacks convenience.
[0071]
Therefore, in view of such problems, the present invention has an object to provide a demultiplexing apparatus and a multiplexing apparatus that improve the convenience of content download and playback while maintaining the effectiveness of download playback and real-time recording. To do.
[0072]
[Means for Solving the Problems]
In order to achieve the above object, a demultiplexing apparatus according to the present invention is a demultiplexing apparatus that obtains demultiplexed data obtained by multiplexing content that is a digital work from its head and demultiplexes the multiplexed data. The multiplexed data includes a plurality of sets of a content storage box that stores a part of the multiplexed content and a related information storage box that stores related information related to the part of the content. Total time length information for specifying the total time length required for reproduction of all contents is configured to be included in the head portion, and the demultiplexer includes an acquisition unit that acquires the multiplexed data, A demultiplexing unit for each set of the multiplexed data acquired by the acquiring unit, and included in a head portion of the multiplexed data acquired by the acquiring unit. Based on the total time length information that comprises the a total time length specifying means for specifying the total length of time, and display means for displaying the total time length specified by the total time length specifying means. Here, the multiplexed data is composed of first and second areas each having the set, and the total time length information is a content indicating a time length required for reproducing the content included in the first area. The first time length information and second time length information indicating the time length required for playing the content included in the second region, and the total time length specifying means includes the The total time length may be specified by adding the time length indicated by the first time length information and the time length indicated by the second time length information.
[0073]
As a result, the multiplexed data is demultiplexed for each set by the processing means, so that the content can be downloaded and reproduced from the multiplexed data distributed as a stream, and included in the leading end of the multiplexed data. Since the total time length is specified by the total time length specifying means based on the total time length information and the total time length is displayed by the display means, it is possible to inform the user of the total time length even during download playback. Convenience at the time of download reproduction of can be improved.
[0074]
Further, the multiplexed data is composed of a first area or a second area having the set, respectively, according to the content included therein, and the multiplexed data is from the first area. When configured, the total time length information indicates a time length required for reproduction of the content included in the first area, and when the multiplexed data is composed of the first and second areas, the total time length information The time length information includes the first time length information indicating the time length required for reproducing the content included in the first area and the time length required for reproducing the content included in the second area, or Second time length information indicating that the time length is unknown, and the total time length specifying means is configured such that the multiplexed data acquired by the acquiring means is from the first area. It is configured Determining whether it is composed of the first and second areas, and when determining that it is composed of the first area, specify the time length indicated by the total time length information as the total time length, When it is determined that the first area is composed of the first and second areas, whether the time length required for reproducing the content included in the second area is unknown based on the second time length information. If it is determined that it is not unknown, the total time length is obtained by adding the time length indicated by the first time length information and the time length indicated by the second time length information. When it is determined that the total time length cannot be specified, the display means determines that the total time length cannot be specified by the total time length specifying means. ,in front It may be characterized in that the total length of time is to inform that it is the unknown.
[0075]
Thereby, if there is no second area in the multiplexed data, the time length required to play the content included in the first area is specified as the total time length, and the multiplexed data is identified from the first and second areas. When configured, the time length required for reproduction of the contents included in the first and second areas is added, and the addition result is specified as the total time length, so that the total time length is accurately specified. It is possible to determine whether or not the time length required for reproducing the content included in the second area is unknown based on the second time length information included in the multiplexed data. Since this is notified, only the reliable total time length can be notified to the user.
[0076]
The demultiplexing apparatus further includes a reproducing unit that reproduces the content that has been demultiplexed by the processing unit, and a reproduction time specifying unit that specifies a reproduction time during which the content is being reproduced by the reproducing unit. The display means calculates a ratio of the playback time specified by the playback time specifying means to the total time length specified by the total time length specifying means, and determines a predetermined figure according to the ratio It is good also as moving and displaying.
[0077]
As a result, the graphic moves in accordance with the ratio of the playback time to the total time length, so that the user can easily grasp the playback status of the content.
[0078]
The present invention relates to a data structure of multiplexed data handled by the demultiplexer, a storage medium for storing the multiplexed data, a multiplexer for generating the multiplexed data, the demultiplexer, The present invention can also be realized as a demultiplexing method and a multiplexing method performed by the multiplexing apparatus, and a program for causing a computer to execute the method.
[0079]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a demultiplexing apparatus and a multiplexing apparatus according to embodiments of the present invention will be described with reference to the drawings.
[0080]
FIG. 1 is a data configuration diagram showing a file format of MP4 file data handled by the demultiplexer and the multiplexer in the present embodiment.
[0081]
The MP4 file data 100 is composed of a basic area 100a and an extended area 100b, and is characterized in that content information indicating the total time length of contents included in the data 100 is stored in the basic area 100a. With this information, the user can know the total time length in the demultiplexer, and convenience is improved. In addition, a device that is difficult to give this information, such as a multiplexing device that records in real time, may be able to omit the information.
[0082]
The basic area 100a includes a media data box (hereinafter referred to as “mdat”) 120 in which multiplexed content is stored, and a movie box (hereinafter referred to as “moov”) in which information related to the content of the mdat 120 is stored. 110).
[0083]
The moov 110 further includes a movie header box (hereinafter referred to as “mvhd”) 111, a plurality of track boxes (hereinafter referred to as “trak”) 112, and a movie extend box (hereinafter referred to as “mvex”) 113. It consists of.
[0084]
The extension area 100b includes one media data box (hereinafter referred to as “mdat”) 140 that stores multiplexed content and one movie fragment box (hereinafter referred to as “mdat 140”) that stores information related to the content of the mdat 140. The group is composed of a combination of a plurality of pairs with each other (referred to as “moof”) 130. Here, like the conventional example, the moof 130 further includes one movie fragment header box (hereinafter referred to as “mfhd”) and a plurality of track fragment boxes (hereinafter referred to as “traf”). That is, such an extension region 100b has a structure similar to that of the conventional extension region 900b.
[0085]
The mvhd 111 in the moov 110 of the basic area 100a includes a movie time length field 111a for storing basic content time length information indicating the time length required to reproduce the content included in the basic area 100a (basic content time length). Yes.
[0086]
The trak 112 includes a track header box (hereinafter referred to as “tkhd”) 114. Here, the tkhd 114 includes a track ID field 116 for storing track identification information for identifying a track, and a time length (basic track time) required for reproducing a track in the basic area 100a indicated by the track identification information. And a track time length field 117 for storing basic track time length information indicating (length).
[0087]
The mvex 113 includes a number of track extend boxes (hereinafter referred to as “trex”) 115 corresponding to the number of tracks included in the extended area 100b, and further includes one movie extend header box (hereinafter “mhex”). 113a) is included.
[0088]
The mhex 113a includes a movie time length field 113b for storing extended content time length information indicating a time length (extended content time length) required for reproduction of the content included in the extended area 100b. Here, the extended content time length information may indicate “0”. In this case, the extended content time length information indicates that the extended content time length is unknown.
[0089]
The trex 115 includes a track ID field 118 for storing track identification information for identifying a track in the extension area 100b, and a time set by default for a sample of the track in the extension area 100b specified by the track identification information. A first default time length field 119 in which default sample time length information indicating the length is stored, and a content indicating a time length (extended track time length) required for reproduction of the track in the extended area 100b specified by the track identification information And a track time length field 115a in which extended track time length information is stored.
[0090]
That is, in the MP4 file data 100 of the present embodiment, the mvex 113a in which the extended content time length information is stored is included in the mvex 113, and the extended track time length information is stored in the trex 115 of the mvex 113, compared to the conventional example. The track time length field 115a is included.
[0091]
Note that the MP4 file data 100 may be composed of only the basic area 100a when the information amount of the content included therein is small. In this case, the move 110 movex 113 is omitted. FIG. 2 is a configuration diagram showing the configuration of the demultiplexing apparatus 200 according to the present embodiment that reproduces content based on the MP4 file data 100.
[0092]
The demultiplexer 200 acquires and reproduces the MP4 file data 100. The data acquisition unit 210 that sequentially acquires the MP4 file data 100 from the basic area 100a and the data acquisition unit 210 acquire the MP4 file data 100. Based on the MP4 file data 100 acquired by the data acquisition unit 210, a decoding unit 213 that sequentially demultiplexes and decodes the MP4 file data 100 for each set of moov 110 and mdat 120 and a set of moof 130 and mdat 140. Based on the data output from the decoding unit 213, the random access processing unit 212 that performs random access processing on the acquired MP4 file data 100, and the time processing unit 211 that performs general processing Is provided.
[0093]
The random access processing unit 212 stores all the MP4 file data 100 acquired by the data acquisition unit 210. When the target time information having the content indicating the target time is acquired from the outside, the random access processing unit 212 stores the MP4 file data 100 stored therein. A sample corresponding to the target time is searched as a target sample, and the playback of the content from the target sample is executed by the decoding unit 213 and the playback unit 214.
[0094]
In addition, the time processing unit 211 is based on the MP4 file data 100, a content time length specifying unit 211a that specifies the total time length required for reproduction of all the contents included therein, and all the tracks included in the MP4 file data 100. A track time length specifying unit 211b for specifying the time length required for playback for each track, and a playback time specifying unit 211c for specifying the playback time.
[0095]
FIG. 3 is a block diagram illustrating an internal configuration of the content time length specifying unit 211 a of the time processing unit 211.
[0096]
The content time length specifying unit 211a includes a first separation unit 221, a second separation unit 222, a third separation unit 224, a first analysis unit 223, a second analysis unit 225, and an addition unit 226. Yes.
[0097]
The first separation unit 221 acquires the MP4 file data 100, separates the data (moov data) stored in the moov 110 from the MP4 file data 100, and outputs the data.
[0098]
When obtaining the moov data, the second separation unit 222 separates and outputs the data (mvhd data) stored in the mvhd 111 and the data (mvex data) stored in the mvex 113 from the moov data.
[0099]
When the third separation unit 224 acquires the mvex data, the third separation unit 224 separates and outputs the data (mhex data) stored in the mhex 113a from the mvex data.
[0100]
When the first analysis unit 223 acquires the mvhd data from the second separation unit 222, the first analysis unit 223 analyzes the mvhd data and outputs basic content time length information stored in the movie time length field 111a.
[0101]
When the second analysis unit 225 acquires the mhex data from the third separation unit 224, the second analysis unit 225 analyzes the mhex data and outputs the extended content time length information stored in the movie time length field 113b.
[0102]
When the addition unit 226 acquires the basic content time length information and the extended content time length information from the first analysis unit 223 and the second analysis unit 225, the addition unit 226 and the basic content time length information indicated by the basic content time length information and the extended content time The extended content time length indicated by the length information is added, and content total time length information indicating the added time length (content total time length) is output. Further, when the extended content time length information indicates “0”, the adding unit 226 outputs the basic content time length information as the total content time length information.
[0103]
As described above, the content time length specifying unit 211a according to the present embodiment specifies the total time length of the content included in the basic area 100a and the extended area 100b of the MP4 file data 100 and indicates the total content time length. The total content time length information is output.
[0104]
FIG. 4 is a block diagram showing an internal configuration of the track time length specifying unit 211b of the time processing unit 211.
[0105]
The track time length specifying unit 211b includes a first separation unit 231, a second separation unit 232, a third separation unit 233, a fourth separation unit 235, a first analysis unit 234, a second analysis unit 236, And an adder 237.
[0106]
The first separation unit 231 acquires the MP4 file data 100, separates the moov data from the MP4 file data 100, and outputs it.
[0107]
When obtaining the moov data, the second separation unit 232 separates and outputs the data (trak data) stored in the trak 112 from the moov data and the mvex data.
[0108]
When the third separation unit 233 acquires the trak data, the third separation unit 233 separates and outputs the data (tkhd data) stored in the tkhd 114 from the trak data.
[0109]
When the first analysis unit 234 acquires the tkhd data from the third separation unit 233, the first analysis unit 234 analyzes the tkhd data and outputs the track identification information stored in the track ID field 116 of the tkhd 114. Further, the first analysis unit 234 extracts basic track time length information corresponding to the track specified by the track identification information from the track time length field 117 of the tkhd 114, and outputs this.
[0110]
When the fourth separation unit 235 acquires the mvex data from the second separation unit 232 and acquires the track identification information from the first analysis unit 234, the trex 115 corresponding to the track specified by the track identification information from the mvex data. The data (trex data) stored in is separated and output.
[0111]
When the second analysis unit 236 acquires the trex data from the fourth separation unit 235, the second analysis unit 236 analyzes the trex data and outputs the extended track time length information stored in the track time length field 115a.
[0112]
When the addition unit 237 acquires the basic track time length information from the first analysis unit 234 and acquires the extended track time length information from the second analysis unit 236, the time length indicated by the basic track time length information and the extended track time The time length indicated by the length information is added, and track total time length information indicating the added time length (track total time length) is output.
[0113]
As described above, the track time length specifying unit 211b according to the present embodiment specifies the total time length of tracks included in the basic area 100a and the extended area 100b of the MP4 file data 100 for each track, and indicates the track. The identification information and track total time length information indicating the total track time length of the track are output.
[0114]
FIG. 5 is a flowchart showing a characteristic operation of the content time length specifying unit 211a of the demultiplexing apparatus 200 in the present embodiment.
[0115]
First, the content time length specifying unit 211a acquires the MP4 file data 100 (step S200), analyzes the mvhd 111 of the data 100, and specifies the basic content time length T1 (step S202).
[0116]
Next, the content time length specifying unit 211a determines whether or not the mvex 113 is included in the moov 110 of the data 100 acquired in step S200 (step S204).
[0117]
Here, when the content time length specifying unit 211a detects the mvex 113 (Y in step S204), the content time length specifying unit 211a determines that the MP4 file data 100 includes the basic area 100a and the extended area 100b, and further includes the mvex 113. By analyzing the mhex 113a (step S206), it is determined whether or not the extended content time length information stored in the movie time length field 113b indicates “0” (step S208).
[0118]
When the content time length specifying unit 211a determines that the extended content time length information does not indicate “0” (N in Step S208), the content time length specifying unit 211a specifies the extended content time length T2 from the extended content time length information (Step S210). .
[0119]
Then, the content time length specifying unit 211a calculates the total content time length T by adding the basic content time length T1 and the extended content time length T2 (step S212), and displays the content total time length T. Content total time length information is output (step S214).
[0120]
On the other hand, when mvex 113 is not detected in step S204 (N in step S204), the content time length specifying unit 211a determines that the MP4 file data 100 is composed of the basic area 100a, and sets the basic content time length T1 as the content. Treated as the total time length T (step S220), the content total time length information is output (step S214).
[0121]
When it is determined in step S208 that the extended content time length information indicates “0” (Y in step S208), the content time length specifying unit 211a determines that the total content time length T cannot be calculated. Then, the total time length unknown information indicating that the total content time length T is unknown is output (step S218).
[0122]
Here, the playback unit 214 of the demultiplexing apparatus 200 according to the present embodiment outputs an image and audio based on the data from the decoding unit 213, and displays the playback time specified by the playback time specifying unit 211c. When the content total time length information is output from the content time length specifying unit 211a, the total content time length indicated by the total content time length information is displayed, and the total time length unknown information is output from the content time length specifying unit 211a. When it is done, it is notified that the total content time length is unknown.
[0123]
FIG. 6 is an image display diagram showing an image displayed by the reproduction unit 214 when the total content time length information is output.
The reproduction unit 214 displays a screen P1 for displaying a reproduction image. On the screen P1, a reproduction image display unit P2 that displays the reproduction image, a slider bar P3, an operation button P4, and a time display unit. P5 is displayed.
[0124]
In the time display part P5, the total content time length is displayed on the right side in the figure as “00:02:00”, for example, and the playback time is displayed on the left side in the figure as “00:00:30”, for example. Is displayed.
[0125]
The slider bar P3 slides on the line Ln1 from the left side to the right side in the drawing according to the ratio of the playback time to the total content time length.
[0126]
FIG. 7 is an image display diagram showing an image displayed by the playback unit 214 when the total time length unknown information is output.
[0127]
As described above, the playback unit 214 displays a screen P1 including a playback image display unit P2, a slider bar P3, an operation button P4, and a time display unit P5. On the right side of the time display unit P5 in FIG. A character or symbol indicating that the time length is unknown is displayed as, for example, “-:-:-”. In addition, the playback unit 214 displays the playback time on the right side of the time display unit P5 in the drawing, for example, “00:00:30”.
[0128]
For example, the slider bar P3 slides on the line Ln1 from the left end to the right side in the figure in accordance with the ratio of the playback time to a predetermined time. Repeat the slide.
[0129]
Further, when acquiring the track identification information and the track total time length information from the track time length specifying unit 211b, the playback unit 214 uses the track total time length information for each track indicated in the track identification information as necessary. Displays the total track length shown.
[0130]
As described above, the demultiplexing apparatus 200 according to the present embodiment can perform the download reproduction when the download of the MP4 file data 100 is started, and it is not necessary to complete the download of the MP4 file data 100. The total content time length can be displayed based on the total content time length information stored in the moov 110 of the MP4 file data 100, and convenience can be improved.
[0131]
Next, the multiplexing apparatus 300 that creates the MP4 file data 100 in this embodiment will be described.
[0132]
FIG. 8 is a configuration diagram showing a configuration of multiplexing apparatus 300 in the present embodiment. The multiplexing apparatus 300 according to the present embodiment includes an image data analysis unit 301, an audio data analysis unit 302, a first changeover switch 303, a second changeover switch 304, a control unit 308, and a moof generation unit 305. , A moov generation unit 306 and a file generation unit 307. The image data analysis unit 301 acquires image data and analyzes it to generate image specifying information having contents indicating a time stamp, a size, and the like of the image data. The image data analysis unit 301 then encodes the image data to create encoded image data, and outputs the encoded image data and image specifying information.
[0133]
The voice data analysis unit 302 acquires voice data and analyzes the voice data, thereby generating voice specifying information having contents indicating a time stamp, a size, and the like of the voice data. Then, the audio data analysis unit 302 generates audio encoded data by encoding the audio data, and outputs the audio encoded data and the audio specifying information.
[0134]
The moov generation unit 306 generates and outputs moov data in accordance with control from the control unit 308. Here, the moov generation unit 306 in the present embodiment creates the mhex 113a in the movex 113 of the moov data.
[0135]
The moof generation unit 305 generates and outputs moof data in accordance with the control from the control unit 308.
[0136]
The control unit 308 acquires the image specifying information from the image data analyzing unit 301 and the sound specifying information from the sound data analyzing unit 302. Based on the image specifying information and the sound specifying information, the control unit 308 By switching the second changeover switch 304, the data to be stored in the basic area 100a including the moov data is first output from the second changeover switch 304, and then the data to be stored in the extension area 100b including the moof data is output. Output.
[0137]
Here, when outputting the moov data from the moov generation unit 306, the control unit 308 in the present embodiment, first, the extended content time length information stored in the movie time length field 113b of the mhex 113a indicates “0”. The moov data is generated by the moov generation unit 306 and output.
[0138]
Then, the control unit 308 sequentially adds the time lengths of the samples stored in the extended area 100b of the encoded image data and the encoded audio data based on the image specifying information and the audio specifying information.
[0139]
Next, when the control unit 308 causes the moof data to be output from the moof generation unit 305 with respect to all of the input audio data and image data, the time length added as described above is set as the extended content time length. The extended content time length information indicating the length is output to the moov generation unit 306.
[0140]
Then, the moov output unit 306 that has acquired the extended content time length information from the control unit 308 determines the position information of the extended content time length information and the content indicating the position of the movie time length field 113b of the mhex 113a in which the information is stored. Are output to the file generation unit 307.
[0141]
When the file output unit 307 acquires the extended content time length information and the position specifying information from the moov generation unit 306, the file output unit 307 stores the acquired extended content time length information in the movie time length field 113b of the mhex 113a indicated by the position specifying information. Overwrite. That is, the file generation unit 307 changes the extended content time length information indicating “0” to the extended content time length information acquired later to complete the MP4 file data 100.
[0142]
FIG. 9 is a flowchart showing the operation of multiplexing apparatus 300 in the present embodiment.
First, the multiplexing apparatus 300 generates moov data including extended content time length information indicating “0” (step S300). That is, the multiplexing apparatus 300 first generates temporary moov data.
[0143]
Next, the multiplexing apparatus 300 creates moof data (step S302).
[0144]
Then, the multiplexing apparatus 300 determines whether or not there is unprocessed data for encoding and multiplexing of the input image data and audio data (step S304). Here, when it is determined that there is unprocessed data (Y in step S304), the operation from step S302 is repeatedly executed, and when it is determined that there is no unprocessed data (N in step S302), the sample time The extended content time length information based on the length addition result is overwritten on the moov data (step S306), and the process is terminated.
[0145]
The multiplexing apparatus 300 according to the present embodiment generates MP4 file data 100 configured such that a set of moov 110 and mdat 120 and at least a set of moof 130 and mdat 140 are connected in accordance with the amount of content information. Therefore, it is effective for real-time recording, and the extended content time length information required for improving the convenience of the demultiplexer 200 can be stored in the moov 110.
[0146]
FIG. 10 is a display diagram showing the syntax of trex.
Depending on the version, 32 bits or 64 bits are assigned to the track time length field 115a of trex 115, and 32 bits are assigned to the first default time length field 119. The time scale is indicated by mvhd111.
[0147]
In this embodiment, mhex 113a including the extended content time length information is stored in mvex 113 of MP4 file data 100. Instead of this mhex 113a, a box including the total content time length information (hereinafter referred to as “mehd”). ) May be stored.
[0148]
FIG. 11 is a block diagram illustrating an internal configuration of a content time length specifying unit that specifies the total content time length based on MP4 file data including mehd.
[0149]
The content time length specifying unit 211a ′ includes a first separation unit 211 ′, a second separation unit 222 ′, a third separation unit 224 ′, and an analysis unit 225 ′. The first separation unit 221 ′ acquires the MP4 file data, separates the moov data from the MP4 file data, and outputs it. When obtaining the moov data, the second separation unit 222 ′ separates and outputs the mvex data from the moov data. When acquiring the mvex data, the third separation unit 224 ′ separates and outputs the mehd data stored in the above-described mehd from the mvex data. When the analysis unit 225 ′ acquires the mehd data from the third separation unit 224 ′, the analysis unit 225 ′ analyzes the mehd data and outputs content total time length information.
[0150]
FIG. 12 is a flowchart showing a characteristic operation of the above-described content time length specifying unit 211a ′.
[0151]
First, the content time length specifying unit 211a ′ acquires the above-described MP4 file data (step S260), and determines whether or not mehd is included in the data (step S262).
[0152]
When the content time length specifying unit 211a ′ detects mehd (Y in step S262), the content time length specifying unit 211a ′ analyzes the mehd (step S264), and the content total time length information stored in mehd is “0”. Whether or not it is shown is determined (step S266).
[0153]
Then, when it is determined in step S266 that the total content time length information does not indicate “0” (N in step S266), the content time length specifying unit 211a ′ outputs the total content time length information (step S268). ). On the other hand, the content time length specifying unit 211a ′ determines that the data does not contain mehd in step S262 (N in step S262), or the content total time length information indicates “0” in step S266. Is determined (Y in step S266), it is determined that the total content time length cannot be specified (step S270), and the total time length unknown information indicating that the total content time length is unknown is output. (Step S272).
[0154]
In this way, by storing mehd in the MP4 file data instead of mhex 113a, the content time length specifying unit 211a ′ allows the content time length of the basic area 100a and the extended area 100b to specify the total content time length. By analyzing the mehd data without adding the time length of the content, it is possible to easily specify the total content time length.
[0155]
On the other hand, when the control unit 308 of the multiplexing apparatus 300 causes the moov generation unit 306 to generate moov data, first, the moov generation unit generates moov data whose total time length information stored in mehd indicates “0”. The time length of each sample stored in the basic area 100a and the extended area 100b of the image encoded data and the audio encoded data is sequentially added based on the image specifying information and the audio specifying information. When the control unit 308 causes the moof data to be output from the moof generation unit 305 for all of the input audio data and image data, the time length added as described above is set as the total content time length, and the time length Is output to the moov generation unit 306. As a result, the file generation unit 307 of the multiplexing apparatus 300 generates the MP4 file data 100 that stores the above-mentioned mehd.
[0156]
FIG. 13 is a display diagram showing the syntax of mehd.
Depending on the version, 32 bits or 64 bits are assigned to the movie time length field storing the total content time length information of mehd. For example, 32 bits are assigned when the version indicates 0, and 64 bits are assigned when the version indicates 1. The time scale is indicated by mvhd.
[0157]
The mhex 113a may have a syntax as shown in FIG.
[0158]
In the above embodiment, when the extended content time length information indicates “0”, the extended content time length is unknown, but the value may be, for example, a negative number other than “0”. .
[0159]
(Modification) Next, a modification of the demultiplexer 200 in the present embodiment will be described.
[0160]
The demultiplexing apparatus 200 described above handled MP4 file data having a basic area structure different from that of the conventional file format. However, the demultiplexing apparatus according to the present modification also has a conventional file format and an extended area structure. Handle different MP4 file data.
[0161]
FIG. 14 is a data configuration diagram showing a moof file format of MP4 file data handled by the demultiplexer according to the present modification.
[0162]
The moof 130 ′ is composed of one mfhd 131 and a plurality of trafs 132.
[0163]
The mfhd 131 includes an entry counter field 131a and a plurality of time length entry fields 131b. The time length entry field 131b further includes a track ID field 131c for storing track identification information for identifying a track, In the mdat 140 paired with the moof 130 ′, a moof time length field 131d for storing moof time length information indicating the time length (moof time length) of the track specified by the track identification information is formed.
[0164]
The traf 132 includes a single track fragment header box (hereinafter referred to as “tfhd”) 133 and a plurality of track fragment run boxes (hereinafter referred to as “trun”) 136, and the traf time length information is stored in tfhd 133. A stored traf time length field 135 and a second default time length field 134 in which default sample time length information is stored are included.
[0165]
The traf time length information stored in the traf time length field 135 indicates the sum of the time lengths of the samples (traf time length) indicated by the sample time length information included in the trun 136 of the traf 132, and the second default time length field 134 The stored default sample time length information indicates a time length set by default for the traf time length.
[0166]
FIG. 15 is a block diagram illustrating an internal configuration of a random access processing unit of the demultiplexing apparatus according to the present modification.
[0167]
The random access processing unit 400 can quickly search for a target sample with a smaller calculation amount than the conventional random access processing unit 812, and the MP4 file data 100 ′ having the moof 130 ′ shown in FIG. A data storage unit 401 for storing the data, a moof time length processing unit 420 for specifying the moof time length, a traf time length processing unit 430 for specifying the traf time length, a sample time length processing unit 440 for specifying the sample time length, The main control unit 410 controls these processing units.
[0168]
When the main control unit 410 acquires the MP4 file data 100 ′ and the target time information indicating the target time, the main control unit 410 analyzes the configuration of the MP4 file data 100 ′, and the moof time length processing unit 420 and the traf time length processing unit 430. And the sample time length processing unit 440, and the objective time sample according to the target time is obtained by integrating the moof time length, the traf time length, and the sample time length specified by each processing unit. Output sample identification information.
[0169]
FIG. 16 is a block diagram showing an internal configuration of the moof time length processing unit 420. The moof time length processing unit 420 includes a first separation unit 421, a second separation unit 423, a track control unit 422, and an analysis unit 424.
[0170]
When obtaining the MP4 file data 100 ′ having the moof 130 ′ in FIG. 14, the first separation unit 421 separates and outputs the moov data and the moof data from the MP4 file data 100 ′.
[0171]
When obtaining the moof data from the first separation unit 421, the second separation unit 423 separates the data (mfhd data) stored in the mfhd 131 from the moof data and outputs the separated data.
[0172]
When acquiring the moov data from the first separation unit 421, the track control unit 422 outputs track identification information based on the moov data.
[0173]
When the analysis unit 424 acquires the mfhd data from the second separation unit 423 and acquires the track identification information from the track control unit 422, the analysis unit 424 analyzes the mfhd data and uses the mfhd data to identify the track specified by the track identification information. The moof time length information is extracted and output.
[0174]
FIG. 17 is a block diagram illustrating an internal configuration of the traf time length processing unit 430.
The traf time length processing unit 430 includes a first separation unit 431, a second separation unit 433, a third separation unit 434, a track control unit 432, and an analysis unit 435.
[0175]
When acquiring the MP4 file data 100 ′, the first separation unit 431 separates and outputs moov data and moof data from the MP4 file data 100 ′.
[0176]
When the track control unit 432 obtains moov data from the first separation unit 431, the track control unit 432 outputs track identification information based on the moov data.
[0177]
When the second separation unit 433 obtains the moof data from the first separation unit 431 and obtains the track identification information from the track control unit 432, the second separation unit 433 analyzes the moof data and is specified by the track identification information from the moof data. The traf data corresponding to the track is separated and output.
[0178]
When the third separation unit 434 acquires the traf data from the second separation unit 433, the third separation unit 434 separates and outputs the tfhd data from the traf data.
[0179]
When the analysis unit 435 acquires the tfhd data from the third separation unit 434, the analysis unit 435 analyzes the tfhd data, extracts the traf time length information from the tfhd data, and outputs it.
[0180]
The sample time length processing unit 440 separates the run data for each track by performing a predetermined separation process from the MP4 file data 100 ′, and extracts and outputs the sample time length information from the run data.
[0181]
FIG. 18 is an explanatory diagram for explaining a schematic operation of the random access processing unit 400.
[0182]
FIG. 18A is a data configuration diagram showing a stream of MP4 file data 100 ′. Such a stream is configured in units of samples, and a flag indicating that seeking is possible (reading first) is included in the samples.
[0183]
FIG. 18B is a data configuration diagram showing the segment structure of the MP4 file data 100 ′.
[0184]
As described above, the file format of the MP4 file data 100 ′ includes the moov 110 and the moof 130 ′, and the moof 130 ′ includes the traf 132.
[0185]
The total content time length included in the MP4 file data 100 ′ is represented by the sum of the basic content time length A and the extended content time length B.
[0186]
Further, the extended content time length B is the moof time length C indicated by each moof 130 ′ of the extended area. 1 , C 2 , ..., expressed as the sum of moof time length C 1 , C 2 ,... Are the traf time length D indicated by each traf 132 in the respective moof 130 ′. 1 , D 2 It is expressed as the sum of.
[0187]
FIG. 18C is an explanatory diagram for explaining a seek operation of the random access processing unit 400.
[0188]
When the random access processing unit 400 acquires the target time information indicating the target time, first, the random content processing unit 400 adds the extended content time length B to the basic content time length A. If the addition result is equal to the target time, the random access processing unit 400 identifies the sample acquired at the end of the MP4 file data 100 ′ as the target sample, and outputs target sample identification information indicating the target sample.
[0189]
On the other hand, if the addition result exceeds the target time, the random access processing unit 400 determines the moof time length C for the basic content time length A. 1 , C 2 , ... are sequentially added along the time series. When the addition result becomes equal to the target time, the random access processing unit 400 specifies the last sample corresponding to the last added moof time length as the target sample, and outputs target sample identification information indicating the target sample. To do.
[0190]
When the addition result exceeds the target time, the random access processing unit 400 adds the traf time length D to the addition result immediately before the target time is exceeded. 1 , D 2 , ... are sequentially added along the time series. When the addition result becomes equal to the target time, the random access processing unit 400 identifies the last sample corresponding to the last added traf time length as the target sample, and outputs target sample identification information indicating the sample. .
[0191]
Further, when the addition result exceeds the target time, the random access processing unit 400 adds the sample time length E to the addition result immediately before the target time is exceeded. 1 , E 2 , ... are sequentially added along the time series. Here, when the addition result becomes equal to the target time, the random access processing unit identifies the sample corresponding to the last added sample time length as the target sample, and outputs target sample identification information indicating the target sample. To do.
[0192]
FIG. 19 is a flowchart showing the operation of the random access processing unit 400.
First, the random access processing unit 400 adds the extended content time length B to the basic content time length A, and determines whether or not the addition result is equal to the target time X (step S400).
[0193]
As a result of the determination, when it is determined that they are equal (Y in step S400), the random access processing unit 400 determines that the target sample is a sample at the end of the MP4 file data (step S402).
[0194]
When it is determined that they are not equal (N in step S400), the random access processing unit 400 first sets the variable N to N = 1 (step S404), and then sets the basic content time length A and the moof time length C. n Is used to calculate the time length a by the following formula (step S406).
[Expression 1]
Figure 0004436617
[0195]
Here, the random access processing unit 400 determines whether or not the time length a is equal to the target time X (step S408). If it is determined that the time length is equal (Y in step S408), the target sample is the moof time length C. N It is determined that it is the last sample corresponding to (step S410).
[0196]
When the random access processing unit 400 determines that the time length a is not equal to the target time X (N in step S408), the random access processing unit 400 further determines whether the time length a is larger than the target time X (step S408). S412).
[0197]
When it is determined that the time length a is not greater than the target time X (N in Step S412), the random access processing unit 400 sets N = N + 1 (Step S414) and repeats the operation from Step S406. Note that the above formulas are the basic content time length A and moof time length C. 1 ~ C N The random access processing unit 400 does not execute all the addition processing of the above formulas every time N increases, temporarily stores the addition processing result, and N increases by 1. C corresponding to N N Is further added to the stored addition processing result to find the solution of the above formula.
[0198]
When it is determined that the time length a is larger than the target time X (Y in step S412), the random access processing unit 400 first sets the variable M to M = 1 (step S416), and sets the basic content time length A and moof. Time length C n And traf time length D m Is used to calculate the time length b by the following formula (step S417).
[Expression 2]
Figure 0004436617
[0199]
Here, the random access processing unit 400 determines whether or not the time length b is equal to the target time X (step S418). When it is determined that they are equal (Y in step S418), the target sample is the traf time length D. M It is determined that it is the last sample corresponding to (step S420).
[0200]
When the random access processing unit 400 determines that the time length b is not equal to the target time X (N in step S418), the random access processing unit 400 further determines whether the time length b is greater than the target time X (step S418). S422).
[0201]
When it is determined that the time length b is not greater than the target time X (N in Step S422), the random access processing unit 400 sets M = M + 1 (Step S424) and repeats the operations from Step S417. When it is determined that the time length b is greater than the target time X (Y in step S422), the random access processing unit 400 first sets the variable L to L = 1 (step S426), and sets the basic content time length A, moof. Time length C n , Traf time length D m , Sample time E l Is used to calculate the time length c according to the following equation (step S428).
[Equation 3]
Figure 0004436617
[0202]
Here, the random access processing unit 400 determines whether or not the time length c is equal to the target time X (step S430). When it is determined that the time length c is equal (Y in step S430), the target sample is the sample time length E. L It is determined that the sample corresponds to (step S432).
[0203]
When the random access processing unit 400 determines that the time length c is not equal to the target time X (N in step S430), the random access processing unit 400 further determines whether the time length c is larger than the target time X (step S430). S434).
[0204]
When it is determined that the time length c is not greater than the target time X (N in Step S434), the random access processing unit 400 sets L = L + 1 (Step S436) and repeats the operations from Step S428. When it is determined that the time length c is larger than the target time X (Y in step S), the random access processing unit 400 determines that an error has occurred (step S438).
[0205]
Then, after the target sample is identified in step S402, step S410, step S420, or step S432, the random access processing unit 400 outputs target sample identification information indicating the target sample (step S440).
[0206]
As described above, in the present modification, the mof time length field 131d for storing the moof time length information is provided in the mfhd 131 of the moof 130 ′ of the extension area, and the traf time length field 135 for storing the traf time length information is further provided in the tfhd 133. In addition, when searching for a target sample from the target time during random access, first, the extended content time length is used, then the moof time length shorter than the extended content time length is used, and then the moof time length is shorter. Since the traf time length is used and, finally, a sample time length shorter than the traf time length is used, the amount of calculation is reduced compared with the operation of the conventional random access processing unit 812 shown in FIG. Can find out.
[0207]
Then, the random access processing unit 400 outputs the MP4 file data 100 ′ and the target sample identification information to the decoding unit 213, and reproduces the content from the target sample indicated by the target sample identification information. This is executed by the unit 214.
[0208]
FIG. 20 is a display diagram illustrating the syntax of tfhd133.
As shown in FIG. 20, for example, 32 bits are assigned to the traf time length field 135 of the traf 132.
[0209]
The main control unit 410 of the random access processing unit 400 determines the output status of the moof time length information from the moof time length processing unit 420 and the validity of the moof time length indicated by the moof time length information. When trying to use the moof time length, if the moof time length information is not output, or if it is determined that the moof time length is not valid, all the time stored in the trof time length processing unit 430 in the moof 130 ′ It is also possible to output the traf time length information and use the sum of these traf time lengths instead of the moof time length. Further, the main control unit 410 of the random access processing unit 400 determines the output status of the traf time length information from the traf time length processing unit 430 and the validity of the traf time length indicated by the traf time length information. When trying to use the traf time length, when the traf time length information is not output or when it is determined that the traf time length is not valid, all the samples stored in the traf 132 in the sample time length processing unit 440 Time length information may be output, and the sum of these sample time lengths may be used instead of the traf time length.
[0210]
In the above modification, each sample includes a flag indicating whether or not seek is possible. However, one flag is included for a plurality of samples corresponding to moof130, or a plurality of samples corresponding to traf132 is included. One flag may be included. Thereby, the process of checking the flag for each sample can be omitted.
[0211]
【The invention's effect】
As is clear from the above description, according to the demultiplexing apparatus according to the present invention, since the multiplexed data is demultiplexed for each set by the processing means, the content is obtained from the multiplexed data distributed as a stream. Can be downloaded and reproduced, and the total time length is specified by the total time length specifying means based on the total time length information included in the front end of the multiplexed data, and the total time length is displayed by the display means. Thus, the user can be notified of the total length of time even during download reproduction, and the convenience during content download reproduction can be improved. The demultiplexer according to the present invention is suitable for use in a personal computer or mobile phone that downloads and plays back MP4 file data, and the multiplexer according to the present invention is a multimedia data such as an image or sound. Is suitable for use in a digital video camera, a mobile phone with a recording function, or the like that creates and records MP4 file data.
[Brief description of the drawings]
FIG. 1 is a data configuration diagram showing a file format of MP4 file data handled by a demultiplexer and a multiplexer in an embodiment.
FIG. 2 is a configuration diagram showing a configuration of a demultiplexing device that performs playback based on MP4 file data as described above.
FIG. 3 is a block diagram showing an internal configuration of a content time length specifying unit of the time processing unit same as above.
FIG. 4 is a block diagram showing an internal configuration of a track time length specifying unit of the time processing unit same as above.
FIG. 5 is a flowchart showing a characteristic operation of a content time length specifying unit of the demultiplexing apparatus according to the above.
FIG. 6 is an image display diagram showing an image displayed by the reproduction unit of the demultiplexing device.
FIG. 7 is an image display diagram showing another image displayed by the reproduction unit of the demultiplexing device same as above.
FIG. 8 is a configuration diagram showing the configuration of the multiplexing device of the above.
FIG. 9 is a flowchart showing the operation of the multiplexing device of the above.
FIG. 10 is a display diagram showing the trex syntax of the above.
FIG. 11 is a block diagram showing an internal configuration of a content time length specifying unit that handles MP4 file data including mehd.
FIG. 12 is a flowchart showing the characteristic operation of the content time length specifying unit.
FIG. 13 is a display diagram showing the syntax of mehd.
FIG. 14 is a data configuration diagram showing a moof file format of MP4 file data handled by the demultiplexing apparatus according to the modified example;
FIG. 15 is a block diagram showing an internal configuration of a random access processing unit of a demultiplexer according to a modification of the above.
FIG. 16 is a block diagram showing an internal configuration of a moof time length processing unit according to a modification example;
FIG. 17 is a block diagram showing an internal configuration of a traf time length processing unit according to a modification example;
FIG. 18 is an explanatory diagram for explaining a schematic operation of a random access processing unit according to the modification example;
FIG. 19 is a flowchart showing an operation of a random access processing unit according to the modification.
FIG. 20 is a display diagram showing the syntax of tfhd according to the modified example.
FIG. 21 is a data configuration diagram showing a basic file format of MP4 file data in a conventional example.
FIG. 22 is a data configuration diagram showing a detailed configuration of moov.
FIG. 23 is a data configuration diagram showing a detailed configuration of a moof.
FIG. 24 is a block diagram showing a configuration of a conventional multiplexing apparatus that generates MP4 file data according to the above.
FIG. 25 is a flowchart showing an operation related to generation of moov data and moof data in the multiplexing apparatus of the above.
FIG. 26 is a configuration diagram showing a configuration of a conventional demultiplexer that performs playback based on MP4 file data.
FIG. 27 is a block diagram showing the internal configuration of the time length specifying unit.
FIG. 28 is a block diagram showing the configuration of the random access processing unit of the above.
FIG. 29 is a block diagram showing the internal configuration of the track control unit of the above.
FIG. 30 is an explanatory diagram for explaining a schematic operation of the random access processing unit same as above.
FIG. 31 is an explanatory diagram for explaining a problem in the conventional demultiplexing apparatus same as above.
[Explanation of symbols]
100 MP4 file data
100a Basic area
100b Extended area
110 moov
113a mhex
113b Movie duration field
120 mdat
130 moof
140 mdat
200 Demultiplexer
210 Data acquisition unit
211 Time processing section
211a Content time length specifying part
211b Track time length specifying part
211c Playback time specifying part
212 Random access processor
213 Decryption unit
214 Playback unit

Claims (7)

デジタル著作物であるコンテンツが多重化された多重化データを、その先頭部から取得して逆多重化する逆多重化装置であって、
前記多重化データは、多重化されたコンテンツの一部を格納するコンテンツ格納ボックスと前記一部のコンテンツに関連する関連情報を格納する関連情報格納ボックスとの組が複数連なるとともに、前記全てのコンテンツの再生に要する総時間長を特定するための総時間長情報が前記先頭部に含まれるように構成され、さらに、前記多重化データは、そこに含まれる前記コンテンツに応じて、第1の領域、又は前記組をそれぞれ有する第1及び第2の領域から構成されており、
前記多重化データが第1の領域から構成されるときには、前記総時間長情報は、前記第1の領域に含まれるコンテンツの再生に要する時間長を示し、
前記多重化データが第1及び第2の領域から構成されるときには、前記総時間長情報は、前記第1の領域に含まれるコンテンツの再生に要する時間長を示す内容の第1の時間長情報と、前記第1の領域および前記第2の領域に含まれる全てのコンテンツの再生に要する時間長、又は前記時間長が不明であることを示す内容の第2の時間長情報とから構成されており、
前記逆多重化装置は、
前記多重化データを取得する取得手段と、
前記取得手段により取得された前記多重化データを前記各組ごとに逆多重化処理する処理手段と、
前記取得手段により取得された前記多重化データの先頭部に含まれる総時間長情報に基づいて、前記総時間長を特定する総時間長特定手段と、
前記総時間長特定手段により特定された総時間長を表示する表示手段とを備え、
前記総時間長特定手段は、
前記取得手段で取得された前記多重化データが、第1の領域から構成されているか、第1及び第2の領域から構成されているかを判別し、
第1の領域から構成されていると判別したときには、前記総時間長情報により示される時間長を前記総時間長として特定し、
第1及び第2の領域から構成されていると判別したときには、さらに、前記第2の時間長情報に基づいて、前記第1の領域および前記第2の領域に含まれる全てのコンテンツの再生に要する時間長が不明であるか否かを判別し、
不明でないと判別したときには、
前記第2の時間長情報により示される時間長前記総時間長として特定し、
不明であると判別したときには、
前記総時間長を特定することができないと判別し、
前記表示手段は、
前記総時間長特定手段で前記総時間長が特定できないと判別されたときには、前記総時間長が不明であることを報知する
ことを特徴とする逆多重化装置。
A demultiplexer that demultiplexes the multiplexed data obtained by multiplexing the content that is a digital work from its head,
The multiplexed data includes a plurality of sets of a content storage box that stores a part of the multiplexed content and a related information storage box that stores related information related to the part of the content. The total time length information for specifying the total time length required for playback of the video is configured to be included in the head portion, and the multiplexed data includes the first area according to the content included therein. Or composed of first and second regions each having the set,
When the multiplexed data is composed of a first area, the total time length information indicates a time length required for reproduction of content included in the first area,
When the multiplexed data is composed of the first and second areas, the total time length information includes first time length information having a content indicating a time length required for reproducing the content included in the first area. And a time length required for reproduction of all contents included in the first area and the second area, or second time length information indicating that the time length is unknown. And
The demultiplexer is:
Obtaining means for obtaining the multiplexed data;
Processing means for demultiplexing the multiplexed data acquired by the acquiring means for each set;
Total time length specifying means for specifying the total time length based on total time length information included in the head of the multiplexed data acquired by the acquisition means;
Display means for displaying the total time length specified by the total time length specifying means,
The total time length specifying means is:
Determining whether the multiplexed data acquired by the acquisition means is composed of a first area or a first area and a second area;
When it is determined that the first area is configured, the time length indicated by the total time length information is specified as the total time length,
When it is determined that the content is composed of the first and second regions, the reproduction of all the contents included in the first region and the second region is further performed based on the second time length information. Determine if the length of time it takes is unknown,
When it is determined that it is not unknown,
Identifying a time length indicated by said second time length information as the total time length,
When it is determined that it is unknown,
It is determined that the total time length cannot be specified,
The display means includes
When the total time length is determined not to be specified by the total time length specifying means, it is notified that the total time length is unknown.
前記多重化データの先頭部には、前記多重化データが第1及び第2の領域から構成されているか否かを示す領域特定情報が含められており、
前記総時間長特定手段は、前記領域特定情報に基づいて、前記取得手段で取得された前記多重化データが、第1の領域から構成されているか、第1及び第2の領域から構成されているかを判別する
ことを特徴とする請求項1記載の逆多重化装置。
In the head portion of the multiplexed data, area specifying information indicating whether or not the multiplexed data is composed of first and second areas is included,
The total time length specifying unit is configured such that the multiplexed data acquired by the acquiring unit is configured from a first region or from first and second regions based on the region specifying information. The demultiplexing apparatus according to claim 1, further comprising:
前記多重化データには、前記多重化されたコンテンツが複数の構成要素に分けて含まれるとともに、前記各構成要素の再生に要する要素時間長を示す内容の要素時間長情報と、複数の構成要素からなる構成単位の再生に要する単位時間長を示す単位時間長情報とが含められており、  The multiplexed data includes the multiplexed content divided into a plurality of components, element time length information indicating the element time length required for reproduction of each component, and a plurality of components Unit time length information indicating the unit time length required for playback of the constituent unit consisting of:
前記逆多重化装置は、さらに、  The demultiplexer further comprises:
所定の目標時間を示す目標時間情報を取得すると、前記要素時間長情報により示される要素時間長よりも、前記単位時間長情報により示される単位時間長を優先して用いることで、前記取得手段により取得された前記多重化データの中から、前記目標時間情報により示される目標時間に応じた構成要素を特定するランダムアクセス処理手段と、  When the target time information indicating a predetermined target time is acquired, the acquisition unit uses the unit time length indicated by the unit time length information in preference to the element time length indicated by the element time length information. Random access processing means for identifying a component corresponding to the target time indicated by the target time information from the acquired multiplexed data;
前記ランダムアクセス処理手段により特定された前記構成要素からコンテンツを再生する再生手段と  Playback means for playing back content from the component specified by the random access processing means;
を備えることを特徴とする請求項1または2記載の逆多重化装置。  The demultiplexing apparatus according to claim 1, further comprising:
前記ランダムアクセス処理手段は、  The random access processing means includes:
先に前記各構成単位の単位時間長を加算することで、前記目標時間に応じた構成要素を検索し、  By first adding the unit time length of each structural unit, the structural element corresponding to the target time is searched,
前記目標時間に応じた構成要素がなければ、前記目標時間に最も近い前記加算結果に対して、前記各構成要素の要素時間長をさらに加算することで、前記目標時間に応じた構成要素を特定する  If there is no component corresponding to the target time, the component time corresponding to the target time is specified by further adding the element time length of each component to the addition result closest to the target time. Do
ことを特徴とする請求項3記載の逆多重化装置。  The demultiplexer according to claim 3.
前記ランダムアクセス処理手段は、  The random access processing means includes:
前記単位時間長情報により示される内容が有効な単位時間長であるか否かを判別し、  Determining whether or not the content indicated by the unit time length information is a valid unit time length;
有効な単位時間長ではないと判別したときには、前記要素時間長情報により示される要素時間長を用いて、前記目標時間に応じた構成要素を特定する  When it is determined that the unit time length is not valid, the constituent element corresponding to the target time is specified using the element time length indicated by the element time length information.
ことを特徴とする請求項4記載の逆多重化装置。  5. The demultiplexer according to claim 4, wherein
デジタル著作物であるコンテンツを多重化して多重化データを生成する多重化装置であって、
前記コンテンツを取得する取得手段と、
前記コンテンツを多重化する多重化手段と、
前記取得手段により取得されたコンテンツに基づき、前記コンテンツの再生に要する総時間長を特定するための総時間長情報を生成する時間長情報生成手段と、
前記多重化手段により多重化されたコンテンツの一部を格納するコンテンツ格納ボックスと前記一部のコンテンツに関連する関連情報を格納する関連情報格納ボックスとの組が複数連なるように、さらに、前記時間長情報生成手段により生成された総時間長情報が先頭部に含められるように、前記多重化データを生成するデータ生成手段とを備え、
前記データ生成手段は、
前記多重化データを、前記多重化データに含まれる前記コンテンツに応じて、第1の領域、又は前記組をそれぞれ有する第1及び第2の領域から構成し、
前記時間長情報生成手段は、
前記多重化データが第1の領域から構成されるときには、前記総時間長情報を、前記第1の領域に含まれるコンテンツの再生に要する時間長を示す内容として生成し、
前記多重化データが第1及び第2の領域から構成されるときには、前記総時間長情報を、前記第1の領域に含まれるコンテンツの再生に要する時間長を示す内容の第1の時間長情報と、前記第1の領域および前記第2の領域に含まれる全てのコンテンツの再生に要する時間長、又は前記時間長が不明であることを示す内容の第2の時間長情報とから構成する
ことを特徴とする多重化装置。
A multiplexing device that multiplexes content that is a digital work and generates multiplexed data,
Obtaining means for obtaining the content;
Multiplexing means for multiplexing the content;
Time length information generating means for generating total time length information for specifying the total time length required for reproduction of the content based on the content acquired by the acquiring means;
The time further so that a plurality of sets of a content storage box for storing a part of the content multiplexed by the multiplexing means and a related information storage box for storing related information related to the part of content are connected. Data generation means for generating the multiplexed data so that the total time length information generated by the length information generation means is included in the head part,
The data generation means includes
According to the content included in the multiplexed data, the multiplexed data is composed of a first area or a first area and a second area respectively having the set,
The time length information generating means includes
When the multiplexed data is composed of a first area, the total time length information is generated as content indicating a time length required for reproduction of content included in the first area,
When the multiplexed data is composed of first and second areas, the total time length information includes first time length information that indicates the length of time required to reproduce the content included in the first area. And a time length required to reproduce all contents included in the first area and the second area, or second time length information indicating that the time length is unknown. A multiplexing device characterized by the above.
前記データ生成手段は、
前記多重化データが第1及び第2の領域から構成されているか否かを示す領域特定情報を先頭部に含めて前記多重化データを生成する
ことを特徴とする請求項6記載の多重化装置。
The data generation means includes
7. The multiplexing apparatus according to claim 6, wherein the multiplexed data is generated by including area specifying information indicating whether or not the multiplexed data is composed of first and second areas at the head. .
JP2003118603A 2002-04-26 2003-04-23 Demultiplexer Expired - Fee Related JP4436617B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003118603A JP4436617B2 (en) 2002-04-26 2003-04-23 Demultiplexer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002126028 2002-04-26
US37864402P 2002-05-09 2002-05-09
JP2003118603A JP4436617B2 (en) 2002-04-26 2003-04-23 Demultiplexer

Publications (3)

Publication Number Publication Date
JP2004007610A JP2004007610A (en) 2004-01-08
JP2004007610A5 JP2004007610A5 (en) 2006-03-30
JP4436617B2 true JP4436617B2 (en) 2010-03-24

Family

ID=30449172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003118603A Expired - Fee Related JP4436617B2 (en) 2002-04-26 2003-04-23 Demultiplexer

Country Status (1)

Country Link
JP (1) JP4436617B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
JP4991034B2 (en) * 2005-11-04 2012-08-01 エルジー エレクトロニクス インコーポレイティド Mobile communication terminal and method of calculating media playback time of mobile communication terminal
JP4743547B2 (en) * 2007-11-19 2011-08-10 京セラ株式会社 mobile phone
BR112014013976A2 (en) * 2011-12-16 2017-06-13 Sony Corp receiving and dispensing devices, program, method for dispensing by a dispensing device, and dispensing system
WO2015083354A1 (en) * 2013-12-03 2015-06-11 パナソニックIpマネジメント株式会社 File generation method, playback method, file generation device, playback device, and recording medium
TWI736542B (en) * 2015-08-06 2021-08-21 日商新力股份有限公司 Information processing device, data distribution server, information processing method, and non-temporary computer-readable recording medium

Also Published As

Publication number Publication date
JP2004007610A (en) 2004-01-08

Similar Documents

Publication Publication Date Title
CN105612753B (en) Switching method and apparatus during media flow transmission between adaptation is gathered
CN103959802B (en) Image provides method, dispensing device and reception device
US7139470B2 (en) Navigation for MPEG streams
KR101516325B1 (en) Storage/playback method and apparatus for mpeg-2 transport stream based on iso base media file format
CN105103540B (en) Document generating method, file creating apparatus and recording medium
KR100952547B1 (en) Recording device, reproducing device, recording medium for recording program, and recording medium for reproducing program
US9674502B2 (en) Method for providing fragment-based multimedia streaming service and device for same, and method for receiving fragment-based multimedia streaming service and device for same
US7558296B2 (en) Multiplexer and demultiplexer
US20050021805A1 (en) System and method for transmitting multimedia information streams, for instance for remote teaching
US9197908B2 (en) Method for file formation according to freeview AV service
JP2012015990A (en) Video processing apparatus and control method thereof
KR20050013050A (en) Moving picture data reproducing device
CN112369016A (en) Information processing apparatus, information processing method, and program
KR20130118820A (en) Method and apparatus of processing media file for augmented reality services
JP2005094145A (en) Image recorder and image reproducer
JP4436617B2 (en) Demultiplexer
EP1501301B1 (en) Demultiplexing device
KR102069897B1 (en) Method for generating user video and Apparatus therefor
KR20120019872A (en) A apparatus generating interpolated frames
WO2014048576A2 (en) System for video clips
KR20080064399A (en) Mp4 demultiplexer and operating method thereof
JP2008166895A (en) Video display device, its control method, program and recording medium
KR100918537B1 (en) Demultiplexing apparatus
JP2004166160A (en) Generator, reproduction device, generation method, reproduction method of image data, recording medium in which image data or image processing program is recorded and image data recording method
JP4383721B2 (en) Demultiplexer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20030509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20030604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20030609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090319

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: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091228

R150 Certificate of patent or registration of utility model

Ref document number: 4436617

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: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees