JP4838191B2 - File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program - Google Patents
File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program Download PDFInfo
- Publication number
- JP4838191B2 JP4838191B2 JP2007122999A JP2007122999A JP4838191B2 JP 4838191 B2 JP4838191 B2 JP 4838191B2 JP 2007122999 A JP2007122999 A JP 2007122999A JP 2007122999 A JP2007122999 A JP 2007122999A JP 4838191 B2 JP4838191 B2 JP 4838191B2
- Authority
- JP
- Japan
- Prior art keywords
- management information
- track
- file
- storage means
- reproduction
- 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.)
- Active
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
本発明は、MP4ファイルフォーマット等により動画像等を再生するファイル再生装置に関し、特に、複数のメディアデータ(画像データ、音声データ、テキストデータ等)を再生する場合に、効率的にメモリ管理して少ないメモリ容量で再生が可能となるファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体に関する。 The present invention relates to a file playback apparatus that plays back moving images and the like using an MP4 file format and the like, and in particular, efficiently manages memory when playing back a plurality of media data (image data, audio data, text data, etc.). The present invention relates to a file playback apparatus, a file playback method, a program for executing file playback, and a recording medium on which the program is recorded.
近年、テレビ放送番組等の動画像をテレビジョン装置のみならず、携帯電話や携帯端末等でも表示するようになっている。動画像データには、再生表示するための規格が定められている。その一つに、ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)が規定するISO Base Media File Format(ISO/IEC 14496 part12)のMP4拡張であるMP4ファイルフォーマット(ISO/IEC 14496 part14)がある。ISO Base Media File Format並びにその拡張のMP4ファイルフォーマットは、Apple社のQuick Timeフォーマットを基にした圧縮動画データを格納するファイルフォーマットであり、様々な形式の動画像(例えば、MPEG−4、MPEG−4 AVC/H.264)や、それに多重して様々な形式の音声(例えば、AAC、HE−AAC、AMR、PCM)、静止画(例えば、PNG、JPEG、GIF、Bitmap)、テロップテキストなどを多重して格納することが可能である。以下、説明の為、MP4ファイルフォーマット形式で作成されたファイルをMP4ファイルと呼ぶ。また、以下ではMP4ファイルフォーマットを引き合いに出して説明を行うが、ISO Base Media File Format、3GPP(Third Generation Partnership Project)ファイルフォーマット、3GPP2(Third Generation Partnership Project 2)ファイルフォーマットなどに代表される派生フォーマットや、類似フォーマットについても本特許で述べる技術が当てはまることは言うまでもない。
In recent years, moving images such as television broadcast programs have been displayed not only on television devices but also on mobile phones and mobile terminals. A standard for reproduction and display is defined for moving image data. One of them is the ISO Base Media File Format (MP / MP 14 ISO 14 IEC 496
MP4ファイルフォーマットの特徴として、オブジェクト指向のデータ構造をもち、各オブジェクトはボックス(box)と呼ばれる。また、ボックスは自身内にさらに子要素としてボックスを持つといった入れ子構造にもなる。 The MP4 file format has an object-oriented data structure, and each object is called a box. In addition, the box has a nested structure in which the box further has a box as a child element.
図8に示すように、一番シンプルなMP4ファイル100では、圧縮された動画像や音声のデータが格納されているムービーデータボックス(mdat102)と、それらデータのサイズや再生時間、ランダムアクセスする為のファイルオフセット位置情報等のメタデータを管理するムービーボックス(moov101)から成る。
なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル100にはftyp等のボックスが存在することは言うまでもない。
また、図8では、moov101とmdat102が同一のファイル中に存在する様を示したが、MP4ファイルフォーマットではこれら2つのボックスが別々のファイルに存在することも許されている。
As shown in FIG. 8, in the
For simplicity, the boxes other than the boxes necessary for the description are omitted, but it is needless to say that the
FIG. 8 shows that the
moov101は、ヘッダーに配された全体的な宣言部のボックス(mvhd103)、Videoトラックの管理情報のボックス(trak104)、Audioトラックの管理情報のボックス(trak105)から構成される。trak104,105には、様々な管理情報がボックス単位で格納されている。
The
前述した、moov101とmdat102のみを用いたMP4ファイル100では、moov101とmdat102の両方が揃ってからでないと、再生を行うことができなかった。これは、例えばネットワーク上に存在するMP4ファイルを再生するには、ファイルダウンロード完了まで待ってから再生しなければならず、ストリーミング等の用途には向かない構造であった。また、基本的にムービーの総再生時間が長くなればなるほど、管理情報moov101のサイズは大きくなるので、使用できるメモリ量が制限される組み込み機器などでは、長時間ムービーの管理情報を全て実メモリ上に展開できないという問題点があった。
The
これらの問題を解決するものとして、ムービーフラグメントが用いられることがある。ISO/IEC 14496 part12には、メディアデータと管理情報をフラグメント化し、moovで一括記録していた管理情報を複数のmoof(Movie Fragment Box)に分散させる技術が開示されている。しかし、管理情報を分散した為に、管理情報をmoovのみに記録する場合に比べて管理情報を参照するための処理が煩雑になる場合があった。後述する特許文献1には、フラグメント化された管理情報であるmoofを全てmoovに展開し直すことでmoovのみのファイルと同等のアクセスを可能とする方法が開示されているが、これは前述した使用メモリ量が制限される機器での問題を解決できるものではなかった。
Movie fragments are sometimes used to solve these problems. ISO / IEC 14496
図9に示すように、フラグメント化されたファイル110においては、一塊になっていたデータ部を任意の大きさに分割してmdat112,114,116とし、それらに対応する管理情報部についても分割を行ってmoov111とmoof113,115とし、対応する管理情報部とデータ部を交互に配置させることで、ムービー全体を取得完了する前に再生が可能になるようにする。分割する基準としては、管理情報部やデータ部のファイル上でのサイズを基準とする場合や、管理情報部が管理するデータの再生時間等が考えられる。
As shown in FIG. 9, in the fragmented
MP4ファイルフォーマットでは、moof113,115の中には、この分割された管理情報であるmfhd121,traf122,123が格納されている。mfhd121はフラグメント単位での宣言部のボックス、traf122はVideoトラックの管理情報のボックス、traf123はAudioトラックの管理情報のボックスである。
In the MP4 file format, mofh121, traf122, and 123, which are the divided management information, are stored in the
moov111とmoof113,115とに格納されている管理情報により、対応するデータ部(mdat112,114,116)が管理される。
以後、説明の為に、対になる管理情報部(moov、moof)とデータ部(mdat)のセットをフラグメントと呼ぶことにする。例えば、図9に示すように、moof115とmdat116の組み合わせをフラグメント117とする。
Corresponding data parts (
Hereinafter, for the sake of explanation, a set of a management information part (moov, moof) and a data part (mdat) to be paired will be called a fragment. For example, as shown in FIG. 9, a combination of
ここで、MP4ファイルフォーマットの略語について、以下に説明する。
・ftyp:File Type Box
・moov:Movie Box
・mdat:Movie Data Box
・mvhd:Movie Header Box
・trak:Track Box
・moof:Movie Fragment Box
・mfhd:Movie Fragment Header Box
・traf:Track Fragment Box
Here, abbreviations of the MP4 file format will be described below.
・ Ftyp: File Type Box
・ Moov: Movie Box
・ Mdat: Movie Data Box
・ Mvhd: Movie Header Box
・ Trak: Track Box
・ Moof: Movie Fragment Box
・ Mfhd: Movie Fragment Header Box
・ Traf: Track Fragment Box
MP4ファイルフォーマットでは、ビデオ(画像)データ、オーディオ(音声)データ、テキスト(文字)データ、静止画データ等の複数種類のメディアデータを多重化する際、これらの各メディアデータをトラックという単位で管理する。従って、トラックは、単一種類のメディアデータからなるデータストリームである。データストリーム各々はサンプルの集合である。ここで、サンプルとは、データを構築する情報の最小単位をいう。そして、管理情報のボックス、例えば、moov内ではtrak、moof内ではtrafがこのトラックを管理する管理情報(トラック管理情報)のボックスに該当する。一つのフラグメント内では、1メディアデータに対し1トラック管理情報を割り当てるのが基本であるが、1メディアに対し複数トラック管理情報を割り当てて管理することもある。 In the MP4 file format, when multiple types of media data such as video (image) data, audio (voice) data, text (character) data, still image data, etc. are multiplexed, each of these media data is managed in units of tracks. To do. Accordingly, a track is a data stream composed of a single type of media data. Each data stream is a collection of samples. Here, the sample refers to the minimum unit of information for constructing data. A management information box, for example, trak in moov and traf in moof corresponds to a management information (track management information) box for managing this track. In one fragment, one track management information is basically assigned to one media data, but a plurality of track management information may be assigned to one medium for management.
図10はtrafのメディア管理方法を示す説明図であり、(a)は一つのtrafでデータ部を管理する場合であり、(b)は複数のtrafでデータ部を管理する場合を示す。今、mdat132及び144で管理されているデータである133、134、135、145、146、147は同じメディア(例えばオーディオ)のデータであるとする。図10(a)では、moof130の管理情報でmdat132のメディアデータを管理する。すなわち、moof130内のtraf131の管理情報により、0〜8秒のデータ133、8〜10秒のデータ134、10〜15秒データ135の合計15秒分のデータを管理する。図10(b)では、moof140のtraf141が0〜8秒データ145を、traf142が8〜10秒データ146を、traf143が10〜15秒データ147を管理するというように、同一のメディアのデータ145、146、147を3つのtrafで管理する。
FIG. 10 is an explanatory diagram showing a media management method for traf. FIG. 10A shows a case where the data part is managed by one traf, and FIG. 10B shows a case where the data part is managed by a plurality of traf. Assume that
次に、moofを使用した、フラグメント化されたファイルへのアクセスの一般的な例を示す。例えば、図11に示すように、moof内に再生時刻順にサンプルA〜Dが存在し、サンプルAの再生開始時刻がNであるとすると、時刻(N+40)のサンプル管理情報が欲しいという要求があった場合、「何番目のmoofの何番目の管理情報が時刻(N+40)のサンプル管理情報に当たる」と直ぐに示すことはできない。moofで管理されている各サンプルの情報自体は絶対時刻を持たないので、時刻(N+40)に該当するサンプルがどのサンプルであるのかは、各サンプル(サンプルA〜D)の連続表示時間(duration)を積算して計算するしかないためである。この問題を解決する為に、「どのmoofの何番目の管理情報が時刻Xである」というランダムアクセスを補助するような情報を記録したmfra box(movie fragment random access box)も規格では規定されているが、mfra boxはオプションであり、全てのファイルに存在するわけではない。更にmfra boxが存在したとしても、全てのサンプルについての情報を記録しているわけではないので、ほとんどの場合、mfra boxに登録されているランダムアクセス可能な情報を基準として、シーケンシャルなアクセスを行い、目的のサンプルの情報を取得することになる。 The following is a general example of accessing a fragmented file using moof. For example, as shown in FIG. 11, if samples A to D exist in the order of playback time in the moof and the playback start time of sample A is N, there is a request for sample management information at time (N + 40). In this case, it cannot be immediately indicated that “the management information of which number of moof corresponds to the sample management information at time (N + 40)”. Since the information itself of each sample managed by the moof does not have an absolute time, the sample corresponding to the time (N + 40) is the continuous display time (duration) of each sample (samples A to D). This is because there is no choice but to multiply and calculate. In order to solve this problem, an mfra box (movie fragment random access box) in which information that assists random access such as “what management information of which moof is at time X” is recorded in the standard. However, the mfra box is optional and not present in all files. In addition, even if an mfra box exists, information about all samples is not recorded, so in most cases, sequential access is performed based on randomly accessible information registered in the mfra box. You will get the information of the target sample.
図11では、上から順にサンプルA〜Dのアクセスを行なって、表示時間を積算していくと、サンプルA〜Cの表示時刻の積算が30で、サンプルA〜Dの表示時刻の積算が60であるので、時刻(N+40)の該当サンプルはサンプルDであることが分かる。 In FIG. 11, when the samples A to D are accessed in order from the top and the display times are integrated, the display time of the samples A to C is 30 and the display time of the samples A to D is 60. Therefore, it can be seen that the corresponding sample at time (N + 40) is sample D.
従って、目的のサンプルの情報を得る為には、絶対時刻情報が既知である、基準となるサンプルからシーケンシャルアクセスを行なって、目的のサンプル管理情報に到達するまでは全てのサンプルを参照する必要が有る。
実際のMP4ファイル解析ライブラリ(以下、ライブラリと呼ぶ)でのメモリ管理を以下に説明する。
ライブラリにはmoov管理用メモリとmoof管理用メモリを各々1つずつ用意する。ここで、ファイルによってはmoofが複数存在するが、この場合は必要となったデータを管理する適切なmoofのみをメモリ上に展開するものとし、ライブラリが複数のmoof格納用メモリをもつことは無い。
この手法を用いることで、フラグメントが莫大な数となっても、メモリ使用量を抑えることができる為、メモリ量が制限される組み込み向けなどの用途にも対応が可能である。
Memory management in an actual MP4 file analysis library (hereinafter referred to as a library) will be described below.
In the library, one moov management memory and one moof management memory are prepared. Here, there are a plurality of moofs depending on the file. In this case, only an appropriate moof for managing the necessary data is expanded on the memory, and the library does not have a plurality of moof storage memories. .
By using this method, even if the number of fragments becomes enormous, the amount of memory used can be suppressed. Therefore, it is possible to deal with applications such as for embedded use in which the amount of memory is limited.
前述のとおり、moofは適切なものを適時展開しながら参照するとしたが、複数のメディアが多重化されたファイルでは、現在メモリ上に展開されているmoofの情報を全て次のmoofの情報に置き換えてしまうと、多大なオーバーヘッドがかかる場合がある。 As described above, it is assumed that moof is referred to while appropriate expansion is performed in a timely manner. However, in a file in which a plurality of media are multiplexed, all of the moof information currently expanded on the memory is replaced with the next moof information. If this happens, a large overhead may be required.
図12を用いて詳しく説明を行う。
なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル250にはftyp等のボックスが存在することは言うまでもない。
ファイル250は、moov251、moof253,255…、mdat252,254,256…、とから構成されている。管理情報からMP4ファイルの解析ライブラリ260として、moov格納用メモリ261とmoof格納用メモリ262がある。
This will be described in detail with reference to FIG.
For simplicity, the boxes other than those necessary for the description are omitted, but it goes without saying that the
The
moov格納用メモリ261には、moov251の管理情報が格納される。moof格納用メモリ262には、必要に応じてmoof253,255のいずれか1つの管理情報が格納される。なお、図12では明示的に図示していないが、各moof内部には、図9の120に示すように、mfhd121や、VideoトラックやAudioトラックの管理情報traf122、123などが内包されており、それらはmoof格納用メモリ262内に展開される。
例えば、今moof253内のVideoトラック管理情報、Audioトラック管理情報がメモリ262上に展開されていたとする。ここで、moof253のVideoトラック管理情報、Audioトラック管理情報はどちらも時刻Tから時刻T+αまでに再生するサンプルの情報を管理しているものとする。この際、Videoデータの管理情報とAudioデータの管理情報が時刻Tに再生するサンプルから数えて各々10サンプル分ずつ順番に要求されるものとする。
ここで、各moof253内の各トラック情報には各々8サンプル分の管理情報しか存在しないものとし、管理情報が現在メモリ262に展開しているmoof253に目的の管理情報が存在しなければ、次のmoof255をメモリ262上に展開するものとする。
In the
For example, it is assumed that the video track management information and the audio track management information in the
Here, it is assumed that each track information in each
この時、動画再生のために必要なデータトラック10サンプル分の管理情報を出力する為に、ライブラリ260は、以下の手順を踏むことになる。
1.ビデオデータの管理情報が、10サンプル分要求される。
2.メモリ262に展開されているmoof253のビデオ用trafから、ビデオデータの管理情報8サンプル分を得る。
3.要求の10サンプル分には2サンプル分の管理情報が足りないので、次の管理情報moof255をメモリ262に展開する。
4.残り2サンプル分のビデオデータの管理情報を得て、10サンプル分の管理情報を得ることができる。
5.オーディオデータの管理情報が10サンプル分要求される。
6.現在メモリ262に展開されているのは、moof255なので、moof253をメモリ262に再度展開する。
7.メモリ262に展開されているmoof253のオーディオ用trafから、オーディオデータの管理情報8サンプル分を得る。
8.要求の10サンプル分には2サンプル分の管理情報が足りないので、次の管理情報moof255をメモリ262に展開する。
9.残り2サンプル分のビデオデータの管理情報を得て、10サンプル分の管理情報を得ることができる。
At this time, the
1. Management information for video data is requested for 10 samples.
2. Eight samples of video data management information are obtained from the video traf of the
3. Since the management information for two samples is insufficient for the requested 10 samples, the next management information moof 255 is expanded in the
4). Management information for the remaining two samples of video data can be obtained, and management information for ten samples can be obtained.
5). 10 samples of audio data management information are requested.
6). Since it is moof255 currently expanded in the
7). 8 samples of audio data management information are obtained from the audio traf of the
8). Since the management information for two samples is insufficient for the requested 10 samples, the next management information moof 255 is expanded in the
9. Management information for the remaining two samples of video data can be obtained, and management information for ten samples can be obtained.
ここで示したように、次のmoofをメモリ262に展開する際、moof全てを展開してしまうと、まだ参照していない(これから必要になる)管理情報まで上書きしてしまうので、結果多くのメモリ展開動作を必要とすることになる(上記の例では3、6、8でメモリ展開)。
As shown here, when the next moof is expanded in the
また、映像がMPEG(Moving Picture Experts Group)方式のようなフレーム間予測符号化方式によって圧縮されていた場合、各サンプルをデコードする際に、サンプル1つでデコードが可能なもの(一般的にキーサンプルと呼ばれる)と、他のサンプルの情報に依存して(他のサンプルの情報を利用して)初めてデコード可能なサンプルが存在する。このため、指定時刻のサンプルがそれ単体でデコードできるとは限らず、このような映像を再生するには、指定時刻に一番近いキーサンプルからデコードを始める必要がある。 In addition, when video is compressed by an inter-frame predictive encoding method such as the MPEG (Moving Picture Experts Group) method, each sample can be decoded by one sample (generally a key). Depending on the information of other samples (called samples), there are samples that can be decoded for the first time. For this reason, it is not always possible to decode a sample at a specified time alone, and it is necessary to start decoding from a key sample closest to the specified time in order to reproduce such a video.
この指定時刻に一番近いキーサンプルは、一般的に指定時刻の直前、直後どちらかに存在するキーサンプルであり、どちらのサンプルが一番近いかを知る為には、両方の情報を取得し比較する必要がある。
フラグメント化されたMP4ファイルにおいて、指定時刻の直前、直後のキーサンプルの情報を得る為には、前述したようにシーケンシャルなアクセスを行う必要があり、また、適時管理情報の載せ代えが必要となる。
The key sample that is closest to the specified time is generally a key sample that exists immediately before or after the specified time, and in order to know which sample is the closest, obtain both pieces of information. It is necessary to compare.
In order to obtain key sample information immediately before and after the specified time in a fragmented MP4 file, it is necessary to perform sequential access as described above, and it is necessary to replace management information in a timely manner. .
ところが、指定時刻の直前のキーサンプルが必要な場合であって、尚且つ現在メモリ上に展開している管理情報に直前のキーサンプルの情報がない場合は、前のmoofに戻って全てのサンプルについての情報をシーケンシャルアクセスして指定時刻の直前のキーサンプル管理情報を取得する必要があった。 However, if the key sample immediately before the specified time is required, and there is no information on the previous key sample in the management information currently expanded in the memory, all samples are returned to the previous moof. It was necessary to sequentially access the information about and acquire key sample management information immediately before the specified time.
本発明は、斯かる実情に鑑み、複数のメディアデータ(画像データ、音声データ、テキストデータ、静止画データ等)からなる画像情報を再生する場合に、効率的にメモリ管理してファイル読み込み等に起因するオーバーヘッドを押さえ、且つ少ないメモリ容量で再生が可能となるファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体を提供しようとするものである。 In view of such circumstances, the present invention efficiently manages memory for file reading and the like when reproducing image information consisting of a plurality of media data (image data, audio data, text data, still image data, etc.). An object of the present invention is to provide a file reproducing apparatus, a file reproducing method, a program for executing file reproduction, and a recording medium on which the program is recorded, which can suppress reproduction overhead and can be reproduced with a small memory capacity.
本発明は、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生装置において、
トラックごとに必要な管理情報を含む一つのトラック管理情報だけを格納する管理情報記憶手段と、実データを再生する再生手段と、再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含む一つのトラック管理情報だけを前記管理情報記憶手段に格納し、再生に必要な管理情報を、前記管理情報記憶手段に格納された前記トラック管理情報より取得し、取得した管理情報に従って前記実データを前記再生手段に再生させる制御手段と、を備えることを特徴とする。
ここで、例えば、MP4ファイルフォーマットでは、実データ群は「mdat」のボックスに該当し、トラック管理情報は「trak」や「traf」のボックスに該当し、管理情報群は「moov」や「moof」のボックスに該当する。また、トラック管理情報は、ある一つのフラグメントにおいて、図10(b)のように、一つのメディア(トラック)の情報を複数のトラック管理情報に対応させる場合と、図10(a)のように、一つのメディア(トラック)に一つのトラック管理情報を対応させる場合がある。
The present invention comprises a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track. In a file playback device for playing back a file,
If there is no management information storage means for storing only one track management information including management information necessary for each track, reproduction means for reproducing actual data, and management information necessary for reproduction is not in the management information storage means, Only one track management information including management information is stored in the management information storage means , management information necessary for reproduction is acquired from the track management information stored in the management information storage means, and according to the acquired management information Control means for causing the reproduction means to reproduce the actual data.
Here, for example, in the MP4 file format, the actual data group corresponds to the “mdat” box, the track management information corresponds to the “trak” or “traf” box, and the management information group corresponds to “moov” or “moof”. Corresponds to the box. The track management information includes a case where information of one medium (track) is associated with a plurality of pieces of track management information as shown in FIG. 10B in one fragment, and as shown in FIG. In some cases, one track management information is associated with one medium (track).
また、本発明は、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生装置において、
前記トラック管理情報を格納する管理情報記憶手段と、実データを再生する再生手段と、キーサンプル管理情報を保持しておくキーサンプル管理情報記憶手段と、前記トラック管理情報を格納する管理情報記憶手段に再生に必要な管理情報がなければ、前記管理情報を前記管理情報記憶手段に格納し、再生に必要な管理情報を前記管理情報記憶手段に格納された前記トラック管理情報より取得し、取得した管理情報に従って前記実データを再生させ、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報をキーサンプル管理情報記憶手段に格納し保持しておく制御手段と、を備えることを特徴とする。
The present invention also provides a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track. In a file playback device for playing a file with
Management information storage means for storing the track management information, reproduction means for reproducing actual data, key sample management information storage means for holding key sample management information, and management information storage means for storing the track management information If there is no management information necessary for reproduction, the management information is stored in the management information storage means , and the management information necessary for reproduction is obtained from the track management information stored in the management information storage means. The actual data is reproduced according to the management information, and the key sample management information at the end of the reproduction time in the track management information is keyed in case the management information of the key sample immediately before the designated time is necessary for reproduction at the designated time. And control means for storing and holding in the sample management information storage means.
ここで、前記ファイルは、MP4ファイルファーマット形式のフォーマットであってもよい。Here, the file may be in an MP4 file format format.
また、本発明は、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを、トラックごとに必要な管理情報を含む一つのトラック管理情報だけを格納する管理情報記憶手段と、実データを再生する再生手段とにより再生するファイル再生方法において、
再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含む一つのトラック管理情報だけを前記管理情報記憶手段に格納するステップと、再生に必要な管理情報を、前記管理情報記憶手段に格納された前記トラック管理情報より取得するステップと、取得した管理情報に従って前記実データを前記再生手段に再生させるステップと、を備えることを特徴とする。
The present invention also provides a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track. In a file reproduction method for reproducing a file comprising: management information storage means for storing only one track management information including management information necessary for each track; and reproduction means for reproducing actual data,
If the management information required for reproduction is not in the management information storage means , the step of storing only one track management information including the management information in the management information storage means; A step of obtaining from the track management information stored in a storage means; and a step of causing the reproduction means to reproduce the actual data in accordance with the obtained management information.
また、本発明は、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを、前記トラック管理情報を格納する管理情報記憶手段と、実データを再生する再生手段と、キーサンプル管理情報を保持しておくキーサンプル管理情報記憶手段とにより再生するファイル再生方法において、
再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含むトラック管理情報を前記管理情報記憶手段に格納するステップと、前記トラック管理情報を格納する管理情報記憶手段に再生に必要な管理情報がなければ、前記管理情報を前記管理情報記憶手段に格納するステップと、再生に必要な管理情報を前記管理情報記憶手段に格納された前記トラック管理情報より取得するステップと、取得した管理情報に従って前記実データを再生させるステップと、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報をキーサンプル管理情報記憶手段に格納し保持しておくステップと、を備えることを特徴とする。
The present invention also provides a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track. A file reproduction method for reproducing a file comprising: management information storage means for storing the track management information, reproduction means for reproducing actual data, and key sample management information storage means for holding key sample management information In
If the management information storage unit management information necessary for reproducing and storing the track management information including the management information in the management information storage means, the playback management information storage means for storing the track management information without necessary management information and storing the management information into the management information storage means, and obtaining from the track management information stored in the management information storage unit management information necessary for reproducing, acquires The key data management of the last reproduction time in the track management information is prepared in case the management information of the key sample immediately before the designated time is necessary for reproducing the actual data according to the management information and the reproduction at the designated time. Storing the information in the key sample management information storage means and holding the information.
また、本発明は、コンピュータに、前記ファイル再生方法を実行させるプログラムであっても良いし、更にこのプログラムを記録した記録媒体であっても良い。 The present invention may be a program for causing a computer to execute the file reproduction method, or may be a recording medium on which the program is recorded.
本発明によれば、トラック管理情報を管理情報記憶手段に格納することにより再生に必要な管理情報を取得し、取得した管理情報に従って実データを再生手段により再生させるので、管理情報全てをメモリ上に展開する手段に比較して、管理情報記憶手段の記憶容量が少なくて済み、またフラグメント単位の管理情報群を管理情報記憶手段に入れ換えるのに比較して、管理情報記憶手段へのデータ書き込み量も少なくて済むため、処理の負荷を少なくすることができる。 According to the present invention, the management information necessary for reproduction is acquired by storing the track management information in the management information storage means, and the actual data is reproduced by the reproduction means in accordance with the acquired management information. The storage capacity of the management information storage means can be reduced compared to the means for expanding the management information, and the amount of data written to the management information storage means compared to replacing the management information group in fragment units with the management information storage means Therefore, the processing load can be reduced.
また、図10(b)を用いて説明したように、一つのトラックが複数のトラック管理情報で管理されている場合に、一つのトラック管理情報のみを管理情報記憶手段に格納するようにすると、さらに管理情報記憶手段の容量が少なくて済むという利点もある。 Also, as described with reference to FIG. 10B, when one track is managed by a plurality of track management information, only one track management information is stored in the management information storage means. Further, there is an advantage that the capacity of the management information storage means can be reduced.
さらに、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報を情報保持手段に保持しておくので、次の再生処理のために管理情報記憶手段から削除されてしまっても、指定時刻の直前のキーサンプルを得るために、再びトラック管理情報を前記管理情報記憶手段に格納する処理が不要で、前記情報保持手段から読み出すだけでよく、処理の負荷を軽減できる。 Furthermore, the information holding means holds the key sample management information at the end of the playback time in the track management information in preparation for the case where the management information of the key sample immediately before the specified time is required for playback at the specified time. Even if it is deleted from the management information storage means for the next reproduction process, in order to obtain a key sample immediately before the designated time, there is no need to store the track management information in the management information storage means again, It is only necessary to read from the information holding means, and the processing load can be reduced.
以下、本発明の実施の形態を添付図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the accompanying drawings.
図1は、本発明に係るファイル再生装置の一例である動画記録再生装置を示すブロック図である。この動画像記録再生装置は、記録メディア11、メディアアクセス部12、操作部13、システム制御マイコン14、管理情報用のメモリコントローラ15、管理情報用メモリ部16、データ用のメモリコントローラ17、データ用メモリ部18、デマルチプレクサ19、ビデオ復号部20、オーディオ復号部21から構成される。記録メディア11に記憶されているメディアデータのファイルを再生処理する再生手段の部分は、データ用のメモリコントローラ17、データ用メモリ部18、デマルチプレクサ19、ビデオ復号部20、オーディオ復号部21である。
この動画像記録再生装置は、メディアデータとして、ビデオデータとオーディオデータを扱うこととしているが、テキストデータや静止画等の他のメディアデータを扱うことも可能である。
FIG. 1 is a block diagram showing a moving image recording / reproducing apparatus which is an example of a file reproducing apparatus according to the present invention. This moving image recording / reproducing apparatus includes a
This moving image recording / playback apparatus handles video data and audio data as media data, but can also handle other media data such as text data and still images.
記録メディア11は、MP4ファイルフォーマット等により動画像を格納した記録媒体であり、DVD、HD―DVD(High Definition DVD)、BD(Blue−ray Disk)等の書き込み可能なディスクあるいはSDカード、メモリスティック等のフラッシュメモリやHD(Hard Disk)等である。
メディアアクセス部12は、記録メディア11にデータを書き込んだり、読み出したりする装置である。
この動画像記録再生装置は、記録メディアの動画像ファイルを読み出して再生処理するのであるが、インターネット等のネット配信により動画像データのファイルを取得して再生処理してもよい。
The
The
This moving image recording / reproducing apparatus reads out and reproduces a moving image file on a recording medium. However, the moving image data file may be obtained and reproduced by net distribution such as the Internet.
操作部13は、ユーザの操作(再生、停止、シーク等)を受け付けるもので、リモコンや本体に配置しているスイッチボタンのことである。
システム制御マイコン14は、この装置全体の動作を制御するマイコンであり、ユーザによる操作に応じ各部の動作を制御する。システム制御マイコン14は、記録メディア11に記録した動画像を再生してユーザに提供する。システム制御マイコン14には、キャッシュメモリ23が内蔵されており、処理に必要なデータ(情報)を記憶する。キャッシュメモリ23は、データ格納領域であるキャッシュA23a、キャッシュB23b、キャッシュC23c、キャッシュD23dからなる。ここでは、システム制御マイコン14に内蔵するキャッシュメモリであるが、システム制御マイコン14の外に設けても構わない。
The
The
メモリコントローラ15は、再生時、メディアアクセス部12によって記録メディア11から読み出された管理情報を、利用し易い形でメモリ部16に展開し、保持する。メモリ部16に展開された管理情報はシステム制御マイコン14での制御時に参照される。
メモリコントローラ17は、システム制御マイコン14の指示に基づき、メディアアクセス部12により記録メディア11からデータ部の情報を読み取り、メモリ部18に展開し、保持する。
The
Based on an instruction from the
デマルチプレクサ19は、メモリコントローラ17から出力された複数のメディアが多重化されたデータを各エレメンタリストリームに分割する。但し、MP4ファイルフォーマットにおいては、サンプルの管理情報が取得できれば、システム制御マイコン14で目的のサンプルを直接指定することが可能であり、複数のメディアが多重された状態のデータを読み出すことはない。よって、読み出したサンプルがどのメディアのサンプルかで出力先を切り替える、単なるスイッチの役割を行う。
ビデオ復号部20/オーディオ復号部21は、デマルチプレクサ19で送信先を切換えられたビデオ/オーディオの各エレメンタリストリームを再生可能な状態に復号し、各復号データを出力する。
The
The
次に、この動画像記録再生装置を用いて、図2に示したようなフラグメント化されたMP4ファイルを再生する場合を説明する。
記録メディア11に記憶されているMP4ファイルの画像データのファイル30は、図2のように、ファイルヘッダ情報を格納するファイルタイプボックス(ftyp31)と、フラグメント単位でサンプル管理情報を格納する管理情報群であるmoov32とmoof35,39,43、それに対応するフラグメント単位のメディアデータを格納する実データ群であるmdat34,38,42,44とからなる。フラグメント45はmoov32とmdat34からなり、フラグメント46はmoof35とmdat38からなり、フラグメント47はmoof39とmdat42からなり、フラグメント48はmoof43とmdat44からなる。
Next, a case where a fragmented MP4 file as shown in FIG. 2 is reproduced using this moving image recording / reproducing apparatus will be described.
As shown in FIG. 2, the
moov32には、mvex(movie extends box)33が存在する。mvex33は、MP4ファイルがフラグメント化されたMP4ファイルであることを通知し、その内部には各フラグメントで使用される持続時間、サイズ情報等のサンプル管理情報のデフォルト値やファイル全体の再生時間が格納される。moof35,39,43には、それぞれビデオ管理情報を格納するトラック管理情報ボックスであるtraf36,40…、オーディオ管理情報を格納するトラック管理情報ボックスであるtraf37,41…が存在する。今回の例では、各trafには、ビデオデータトラックやオーディオデータトラックの8サンプル分の管理情報が格納されているものとする。
In moov32, mvex (movie extends box) 33 exists. The
なお、メディアデータとしてビデオデータとオーディオデータを扱っているが、テキストデータや静止画などのその他メディアデータを含めても構わないことは言うまでもない。また、説明の簡単の為、必要以外のボックスを省略して図示しているが、MP4ファイル30にはmvhd、mfhd、trakなどの必須ボックスが存在することは言うまでもない。
Although video data and audio data are handled as media data, it goes without saying that other media data such as text data and still images may be included. For the sake of simplicity, boxes other than those necessary are omitted in the drawing, but it is needless to say that the
<第1実施形態>
次に、前記動画像記録再生装置のファイル再生動作について説明する
図3,4は、ファイルフォーマットを再生する場合の第1実施形態を示すフローチャートである。
<First Embodiment>
Next, the file playback operation of the moving image recording / playback apparatus will be described. FIGS. 3 and 4 are flowcharts showing the first embodiment when playing back a file format.
まず、再生処理を行なう場合に、ビデオトラックとオーディオトラックの管理情報がそれぞれ複数サンプル分ずつ交互に要求されるとする。システム制御マイコン14は、所定の再生に必要なサンプル管理情報取得要求(例えば、moof35のtraf36)を出す(ステップS1)。そして、メモリコントローラ15を介して、管理情報用メモリ部16にmoof35のtraf36のトラック管理情報が格納されているかを確認する(ステップS2)。再生に必要な管理情報が管理情報用メモリ部16に格納されていなければ、ステップS3に進み、管理情報用メモリ部16の格納している情報を更新しなければならない。
今、ビデオトラックのトラック管理情報格納領域53にはtraf36、オーディオトラックのトラック管理情報格納領域54にはtraf37が格納されているものとし、ビデオトラックとオーディオトラックの管理情報が10サンプルずつ交互に要求されるものとする。
First, it is assumed that management information of a video track and an audio track is alternately requested for each of a plurality of samples when performing reproduction processing. The
Now, it is assumed that
まず、ビデオトラックのサンプル管理情報を取得する。
このとき前述したように、管理情報用メモリ部16内、moof格納用メモリ52のtraf格納領域53に格納されているのは、再生に必要なtraf36の管理情報である。traf36に格納されている管理情報は、ビデオデータトラック8サンプル分である。システム制御マイコン14は、メモリコントローラ15を介して管理情報用メモリ部16のtraf格納領域53から管理情報を読み出してキャッシュメモリ23のキャッシュA23aに格納する(ステップS4)。さらに、システム制御マイコン14は、必要な管理情報が全て取得できたかを確認し(ステップS5)、要求された10サンプルには2サンプル分のサンプル管理情報が足りないので、ステップS1に戻って、moof39のビデオトラック管理情報traf40を要求する。管理用メモリ部16のmoof格納用メモリ52のtraf格納領域53にはtraf40が有るかを確認し(ステップS2)、存在しないことを確認した場合、ステップS3で管理情報の更新処理を行なう。
First, sample management information for a video track is acquired.
At this time, as described above, what is stored in the
次に図4を用いて、管理情報用メモリにおける管理情報の更新処理について説明する。
ここでは、traf36の管理情報からtraf40の管理情報に更新する場合を説明するが、他の管理情報でも同様の処理を行なう。
Next, management information update processing in the management information memory will be described with reference to FIG.
Here, a case where the management information of the
まず、システム制御マイコン14は、メディアアクセス部12により、記憶メディア11に記憶されている目的のmoof39の先頭位置にシークする(ステップS11)。
First, the
ここで、目的のmoofとは更新処理が必要になった時点で参照していたサンプル管理情報の次に参照されるべきサンプル管理情報を管理しているtrafを含むmoofを指す。
今、説明に使用している図2に示すように、1フラグメントにおいて、1つのトラックの情報を1つのトラック管理情報(traf)で管理するようになっている場合を考える。このとき、サンプル管理情報は表示順に、...、traf36、traf40、...に格納されていくとする。
Here, the target moof refers to a moof including a traf that manages sample management information to be referred to next to the sample management information that was referred to when the update process is required.
Consider a case where, as shown in FIG. 2 used for explanation, information of one track is managed by one track management information (traf) in one fragment. At this time, sample management information is displayed in the order of display. . . , Traf36, traf40,. . . Is stored.
更新処理が必要になった時点で、traf格納領域53にtraf36が展開されていた場合は、次に参照すべきサンプル管理情報を管理するtrafはtraf40であり、目的のmoofはtraf40を含むmoof39となる。
When the
一方、図10(b)に示すように、1フラグメントにおいて、1つのトラックの情報を複数のトラック管理情報で管理するようになっている場合を考える。このとき、サンプル管理情報は表示順に、...traf141、traf142、traf143...に格納されていくとする。 On the other hand, as shown in FIG. 10B, a case is considered in which information of one track is managed by a plurality of track management information in one fragment. At this time, sample management information is displayed in the order of display. . . traf141, traf142, traf143. . . Is stored.
更新処理が必要になった時点で、traf格納領域53にtraf141が展開されていた場合は、次に参照すべきサンプル管理情報を管理するtrafはtraf142であり、目的のmoofはtraf142を含むmoof140である(これはtraf141を格納する際に目的のmoofとしたものと同一であり、更にはtraf143を格納する際に目的のmoofとするものと同一である)。
When the traf 141 is expanded in the
次に、moof39内に含まれる複数のトラック管理情報をひとつずつ検査する(ステップS12)。そして、目的のトラック管理情報であるtraf40の有無を確認する(ステップS13)。目的のトラック管理情報が無ければ、全ての管理情報を検査したかを確認し(ステップS14)、moof39に含まれる全てのトラック管理情報を検査している場合には、処理は終了する。また、全てを検査していなければ、ステップS12に戻って検査を続行する。
Next, the plurality of track management information included in the
ステップS13にて、traf40のトラック管理情報が存在していることが確認されれば、traf40のトラック管理情報を読み出す(ステップS15)。そして、メモリコントローラ15を介して管理情報用メモリ部16のtraf格納領域53に格納する(ステップS16)。こうして管理情報用メモリ部16のmoof格納用メモリ52のtraf格納領域53を新たなトラック管理情報traf40で更新する。
If it is confirmed in step S13 that the track management information of traf40 exists, the track management information of traf40 is read (step S15). Then, it is stored in the
システム制御マイコン14は、管理情報用メモリ部16に格納された新たな管理情報から再生に必要な残り2サンプル分の管理情報を取得して、キャッシュメモリ23のキャッシュA23aに格納する(ステップS4)。
The
次に、ステップS5でオーディオデータの10サンプル分の管理情報をまだ取得していないので、ステップS1に戻り、システム制御マイコン14は、所定の再生に必要なサンプル管理情報取得要求を出す(ステップS1)。そして、メモリコントローラ15を介して、管理情報用メモリ部16moof格納用メモリ52のtraf格納領域54にmoof36のオーディオトラック管理情報traf37が格納されているかを確認する(ステップS2)。再生に必要な管理情報が管理情報用メモリ部16に格納されていなければ、ステップS3に進み、管理情報用メモリ部16の格納情報を更新しなければならない。
Next, since management information for 10 samples of audio data has not yet been acquired in step S5, the process returns to step S1, and the
このとき格納されていたのが、再生に必要なtraf37の管理情報であったとする。traf37に格納されている管理情報は、8サンプル分の管理情報である。システム制御マイコン14は、メモリコントローラ15を介して管理情報用メモリ部16のtraf格納領域54から管理情報を読み出してキャッシュメモリ23のキャッシュB23bに格納する(ステップS4)。さらに、システム制御マイコン14は、必要な管理情報が全て取得できたかを確認し(ステップS5)、2サンプル分のオーディオトラック管理情報が足りないので、ステップS1に戻って、moof39のオーディオトラック管理情報であるtraf41を要求する。管理用メモリ部16のmoof格納用メモリ52のtraf格納領域54にはtraf41が有るかを確認し(ステップS2)、存在しないことを確認し、ステップS3で管理情報の更新処理を行なう。
It is assumed that the
次に図4を用いて、管理情報用メモリにおける管理情報の更新処理について説明する。
ここでは、オーディオtraf37の管理情報からオーディオtraf41の管理情報に更新する場合を説明するが、他の管理情報でも同様の処理を行なう。
Next, management information update processing in the management information memory will be described with reference to FIG.
Here, a case where the management information of the
まず、システム制御マイコン14は、メディアアクセス部12により、記憶メディア11に記憶されている目的のmoof39の先頭位置にシークする(ステップS11)。その後、moof39のトラック管理情報をひとつずつ検査し(ステップS12)、そして、目的のトラック管理情報traf40の有無を確認する(ステップS13)。目的のトラック管理情報が無ければ、全ての管理情報を検査したかを確認し(ステップS14)、moof39の全ての管理情報を検査している場合には、処理は終了する。また、全てを検査していなければ、ステップS12に戻って検査を続行する。
First, the
ステップS13にて、traf41のオーディオトラック管理情報が存在していることが確認されれば、トラック管理情報traf41を読み出す(ステップS15)。そして、メモリコントローラ15を介して管理情報用メモリ部16のtraf格納領域53に格納する(ステップS16)。こうして管理情報用メモリ部16の管理情報を新たなトラック管理情報で更新する。
If it is confirmed in step S13 that the audio track management information of traf41 exists, the track management information traf41 is read (step S15). Then, it is stored in the
システム制御マイコン14は、管理情報用メモリ部16に格納された新たな管理情報から再生に必要な残り2サンプル分のトラック管理情報を取得して、キャッシュメモリ23のキャッシュB23bに格納する(ステップS4)。
The
こうして、キャッシュ23には、トラック10サンプル分の管理情報が格納され、この情報に基づいて、システム制御マイコン14は、記録メディア11からメディアアクセス部12を介してデータを読み出し、サンプルデータを取得する(ステップS6)。この場合は、mdat38,42のデータである。次に、システム制御マイコン14は、取得したサンプルデータを、メモリコントローラ17を介してデータ用メモリ部18に展開する(ステップS7)。
In this way, management information for 10 samples of the track is stored in the
メモリコントローラ17は、システム制御マイコン14の制御信号によって、mdat38,42のデータを読み出し、デマルチプレクサ19により、ビデオデータはビデオ復号部20へ、オーディオデータはオーディオ復号部21へ送り出され、各復号部20,21により復号される(ステップS9)。
The
第1実施形態では、テキストデータや静止画などは存在しないものとして記載したが、それらのデータがあっても、同様の処理を行なう。 In the first embodiment, it is described that there is no text data, still image, or the like, but the same processing is performed even if there is such data.
こうして、システム制御マイコン14は、管理情報用メモリ部16に各メディアデータのトラック管理情報を格納したtrafを一つずつ展開することにより、再生に必要な管理情報を得るので、従来のように、フラグメント化されたメディアデータ全体の管理情報が格納されたmoofをmoovへ展開するよりも、メモリ容量が小さくて済む。また、トラック管理情報で処理することができるため、moof単位で処理するよりも、メモリの更新回数が減り、管理情報用メモリ部16へのデータ出し入れ量も少なくて済むので、再生処理に過大な負荷がかかるのを防ぐことができる。
In this manner, the
<第2実施形態>
次に、第2実施形態としてキーサンプルの取得処理について説明する。
図5は、キーサンプル処理に関するデータ構成を示す説明図である。なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル60にはftyp、moov等のボックスが存在することは言うまでもない。図6は、キーサンプル処理に関するフローチャート、図7は、さらに指定時刻直前キー取得処理に関するフローチャートである。
Second Embodiment
Next, a key sample acquisition process will be described as a second embodiment.
FIG. 5 is an explanatory diagram showing a data structure related to key sample processing. For the sake of simplicity, the boxes other than those necessary for the description are omitted, but it goes without saying that the
図5に示すMP4ファイルは、moof61,63と、それに対応するmdat62,64からなる。フラグメント65はmoof61とmdat62の組み合わせであり、フラグメント66はmoof63とmdat64の組み合わせである。moof61,63には図示していないが、mdat62,64のトラックの管理情報であるtrafが存在し、動画像記録再生装置は、前述のように、管理情報用メモリ部16にtrafのトラック管理情報を展開して、再生に必要な管理情報を取得する。
The MP4 file shown in FIG. 5 includes
また、図5に示すmdatには、上から下に時間順にサンプルが格納されているとする。例えば、mdat64に2つのキーサンプル67,68が存在し、時刻Aはキーサンプル67,68の間にあり、時刻Bはキーサンプル67以前(図ではキーサンプル67の上側)にある。
Further, in mdat shown in FIG. 5, it is assumed that samples are stored in order from the top to the bottom. For example, two
例えば、時刻Aと時刻Bにシークする場合の処理を考えてみる。但し、管理情報用メモリ部16上には、moof63の管理情報が展開されているものとする。
For example, consider processing when seeking at time A and time B. However, it is assumed that the management information of the
時刻Aにシークする場合は、前後にキーサンプル67,68が存在する為、前後共にキーサンプル67,68に関する情報は現在メモリ部16上に展開されているmoof63内の管理情報から取得することが可能である。一方時刻Bにシークする場合は、指定時刻直後のキーサンプル67は存在するものの、直前のキーサンプルは現在のフラグメント66には存在しない。時刻B以前のキーサンプル管理情報を取得する為には、moof61を管理情報用メモリ部16上に展開しなおし、その中の最後のキーサンプルを探すことが必要になる。
When seeking at time A, since the
ここで、直前のフラグメント65の最後のキーサンプル管理情報を予めキャッシュしておけば、今回の時刻Bでの前後のキーサンプル取得時のように、現在のフラグメント66に直前のキーサンプルが無い場合でも、直前のフラグメント65に戻って探しなおす必要は無い。
Here, if the last key sample management information of the immediately preceding
図1に示す動画像記録再生装置におけるキーサンプルを用いた再生処理を図6及び図7を用いて説明する。
まず、システム制御マイコン14は、キーサンプル管理情報を取得する要求を出す(ステップS21)。つまり、再生時刻を指定して、その前後のキーサンプルの管理情報を取得する要求を出す。システム制御マイコン14は、メモリコントローラ15を介して、管理情報用メモリ部16に展開されているビデオデータから目的のキーサンプルの情報をサーチする為に、サンプル管理情報をシーケンシャルに参照していく。まず、参照しているサンプル管理情報が、指定時刻直後のキーサンプルのものであるかを確認する(ステップS22)。もし、指定時刻直後のキーサンプルのサンプル管理情報でなければ(ステップS22;No)、それがキーサンプル管理情報であるかを確認する(ステップS23)。現在参照中のサンプル管理情報がキーサンプルのもので有れば(ステップS23;Yes)、指定時刻直前のキーサンプルの情報になる可能性のあるものとして、サンプル管理情報をキャッシュC23cに記憶し(ステップS24)、ステップS25に進む。もしキーサンプル管理情報でなければ(ステップS23;No)、ステップS25に進む。
A reproduction process using key samples in the moving image recording / reproducing apparatus shown in FIG. 1 will be described with reference to FIGS.
First, the
ステップS25において、システム制御マイコン14は、次のサンプル管理情報が管理情報用メモリ部16に展開されているかを確認する。次のサンプル管理情報が管理情報用メモリ部16に展開されていれば(ステップS25;Yes)、次のサンプル管理情報を参照し(ステップS26)、ステップS22に戻る。次のサンプル管理情報が管理情報用メモリ部16に展開されていなければ(ステップS25;No)、キャッシュC23cのキーサンプル管理情報をキャッシュD23dに移す(ステップS27)。
In step S <b> 25, the
そして、次のフラグメントの管理情報をmoofのtrafから読み出して管理情報用メモリ部16の更新を行ない(ステップS28)、ステップS26に進む。 Then, the management information of the next fragment is read from the moof traf to update the management information memory unit 16 (step S28), and the process proceeds to step S26.
参照したキーサンプル管理情報が指定時刻直後のキーサンプル管理情報であれば(ステップS22;Yes)、指定時刻直後のキーサンプル管理情報を取得し(ステップS29)、指定時刻直前のキーサンプル管理情報も取得する(ステップS30) If the referenced key sample management information is the key sample management information immediately after the specified time (step S22; Yes), the key sample management information immediately after the specified time is acquired (step S29), and the key sample management information immediately before the specified time is also obtained. Obtain (Step S30)
ステップS30のキーサンプル管理情報取得処理については、図7に示すように、まず、システム制御マイコン14はキャッシュC23cが有効か否かを確認し(ステップS31)、有効であれば(ステップS31;Yes)、直前のキーサンプル管理情報としてキャッシュC23cの情報を設定し(ステップS32)、ステップS36へ進む。
Regarding the key sample management information acquisition process in step S30, as shown in FIG. 7, first, the
また、キャッシュC23cが有効でなければ(ステップS31;No)、システム制御マイコン14はキャッシュD23dが有効か否かを確認し(ステップS33)、有効であれば(ステップS33;Yes)、直前のキーサンプル管理情報としてキャッシュD23dの情報を設定し(ステップS34)、ステップS36へ進む。
If the cache C23c is not valid (step S31; No), the
ステップS36では、指定時刻直前のキーサンプル管理情報の取得は完了する。キャッシュD23dが有効でなければ(ステップS33;No)、指定時刻直前のキーサンプル管理情報は取得できないことになる(ステップS35)。 In step S36, acquisition of key sample management information immediately before the specified time is completed. If the cache D23d is not valid (step S33; No), the key sample management information immediately before the specified time cannot be acquired (step S35).
このように管理情報用メモリ部16上に展開された管理情報の中で最後のキーサンプル管理情報をキャッシュメモリ23に記憶する。従って、再生処理を進めて行く中で、次の管理情報を管理情報用メモリ部16上に展開して、前の管理情報を管理情報用メモリ部16から削除してしまっても、キャッシュメモリ部16には削除した管理情報の最後のキーサンプル管理情報が残っている。このため、管理情報用メモリ部16に展開した管理情報に指定時刻直前のキーサンプル管理情報が無くとも、キャッシュメモリ23の中に直前のキーサンプルがあるので、再び直前のキーサンプル管理情報が存在するtrafを管理情報用メモリ部16に展開する必要がなく、処理の負荷が軽減される。
In this way, the last key sample management information among the management information developed on the management
なお、本発明は、上記実施形態に述べたファイル再生処理をプログラムとしてコンピュータに実行させることもできるし、さらに記録媒体にこのプログラムを記録し、それをコンピュータに読み込ませてファイル再生を実行させることもできる。 In the present invention, the file reproduction processing described in the above embodiment can be executed by a computer as a program, and further, the program is recorded on a recording medium and read by the computer to execute file reproduction. You can also.
11 記録メディア
12 メディアアクセス部
13 操作部
14 システム制御マイコン
15 メモリコントローラ
16 管理情報用メモリ部
17 メモリコントローラ
18 データ用メモリ
19 デマルチプレクサ
20 ビデオ復号部
21 オーディオ復号部
23 キャッシュメモリ
30 ファイル
32 moov
34,38,42,44 mdat
35,39,43 moof
45,46,47,48 フラグメント
51 moov格納用メモリ
52 moof格納用メモリ
DESCRIPTION OF
34, 38, 42, 44 mdat
35, 39, 43 moof
45, 46, 47, 48
Claims (7)
トラックごとに必要な管理情報を含む一つのトラック管理情報だけを格納する管理情報記憶手段と、
実データを再生する再生手段と、
再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含む一つのトラック管理情報だけを前記管理情報記憶手段に格納し、再生に必要な管理情報を、前記管理情報記憶手段に格納された前記トラック管理情報より取得し、取得した管理情報に従って前記実データを前記再生手段に再生させる制御手段と、
を備えることを特徴とするファイル再生装置。 Plays a file with a fragment-unit actual data group composed of tracks that are data streams of a single type of media data and a fragment-unit management information group composed of track management information for managing one track In the file playback device to
Management information storage means for storing only one track management information including necessary management information for each track;
Playback means for playing back actual data;
If there is no management information necessary for reproduction in the management information storage means, only one track management information including the management information is stored in the management information storage means , and management information necessary for reproduction is stored in the management information storage means. Control means for acquiring from the track management information stored in, and causing the reproduction means to reproduce the actual data according to the acquired management information;
A file playback apparatus comprising:
前記トラック管理情報を格納する管理情報記憶手段と、
実データを再生する再生手段と、
キーサンプル管理情報を保持しておくキーサンプル管理情報記憶手段と、
前記トラック管理情報を格納する管理情報記憶手段に再生に必要な管理情報がなければ、前記管理情報を前記管理情報記憶手段に格納し、再生に必要な管理情報を前記管理情報記憶手段に格納された前記トラック管理情報より取得し、取得した管理情報に従って前記実データを再生させ、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報をキーサンプル管理情報記憶手段に格納し保持しておく制御手段と、
を備えることを特徴とするファイル再生装置。 Plays a file with a fragment-unit actual data group composed of tracks that are data streams of a single type of media data and a fragment-unit management information group composed of track management information for managing one track In the file playback device to
Management information storage means for storing the track management information;
Playback means for playing back actual data;
Key sample management information storage means for storing key sample management information;
Without management information necessary for reproducing the management information storage means for storing the track management information, stores the management information into the management information storage means, stores management information necessary for reproducing the management information storage means The track management information is obtained from the track management information, the actual data is reproduced according to the obtained management information, and the management information of the key sample immediately before the designated time is necessary for reproduction at the designated time. Control means for storing and holding key sample management information at the end of the reproduction time in the key sample management information storage means;
A file playback apparatus comprising:
再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含む一つのトラック管理情報だけを前記管理情報記憶手段に格納するステップと、
再生に必要な管理情報を、前記管理情報記憶手段に格納された前記トラック管理情報より取得するステップと、
取得した管理情報に従って前記実データを前記再生手段に再生させるステップと、
を備えることを特徴とするファイル再生方法。 A file comprising a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track, In a file reproduction method for reproduction by management information storage means for storing only one track management information including necessary management information for each track and reproduction means for reproducing actual data,
If there is no management information necessary for reproduction in the management information storage means , storing only one track management information including the management information in the management information storage means ;
Obtaining management information necessary for reproduction from the track management information stored in the management information storage means;
Causing the reproducing means to reproduce the actual data according to the acquired management information;
A file playback method comprising:
再生に必要な管理情報が前記管理情報記憶手段になければ、該管理情報を含むトラック管理情報を前記管理情報記憶手段に格納するステップと、
前記トラック管理情報を格納する管理情報記憶手段に再生に必要な管理情報がなければ、前記管理情報を前記管理情報記憶手段に格納するステップと、
再生に必要な管理情報を前記管理情報記憶手段に格納された前記トラック管理情報より取得するステップと、
取得した管理情報に従って前記実データを再生させるステップと、
指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報をキーサンプル管理情報記憶手段に格納し保持しておくステップと、
を備えることを特徴とするファイル再生方法。 A file comprising a fragment-unit actual data group composed of tracks that are data streams of a single type of media data, and a fragment-unit management information group composed of track management information for managing one track, In a file reproduction method for reproduction by management information storage means for storing the track management information, reproduction means for reproducing actual data, and key sample management information storage means for holding key sample management information,
If there is no management information necessary for reproduction in the management information storage means, track management information including the management information is stored in the management information storage means ;
Without management information necessary for reproducing the management information storage means for storing the track management information, storing said management information in said management information storage means,
Obtaining management information necessary for reproduction from the track management information stored in the management information storage means;
Reproducing the actual data according to the acquired management information;
Store and hold key sample management information at the end of the playback time in the track management information in the key sample management information storage means in case the management information of the key sample immediately before the specified time is required for playback at the specified time. Steps to keep
A file playback method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007122999A JP4838191B2 (en) | 2007-05-08 | 2007-05-08 | File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007122999A JP4838191B2 (en) | 2007-05-08 | 2007-05-08 | File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008283232A JP2008283232A (en) | 2008-11-20 |
| JP4838191B2 true JP4838191B2 (en) | 2011-12-14 |
Family
ID=40143722
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007122999A Active JP4838191B2 (en) | 2007-05-08 | 2007-05-08 | File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4838191B2 (en) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
| US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
| EP2357732B1 (en) | 2002-10-05 | 2022-04-06 | QUALCOMM Incorporated | Systematic encoding and decoding of chain reaction codes |
| EP2722995B1 (en) | 2003-10-06 | 2023-04-19 | QUALCOMM Incorporated | Soft-Decision Decoding of Multi-Stage Chain Reaction Codes |
| US7418651B2 (en) | 2004-05-07 | 2008-08-26 | Digital Fountain, Inc. | File download and streaming system |
| KR101292851B1 (en) | 2006-02-13 | 2013-08-02 | 디지털 파운튼, 인크. | Streaming and buffering using variable fec overhead and protection periods |
| US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
| US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| KR100958176B1 (en) * | 2008-11-26 | 2010-05-14 | 주식회사 코아로직 | Multimedia data processing device, multimedia system, and recording method of multimedia data |
| US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
| US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
| US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
| US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
| JP6066712B2 (en) * | 2012-12-19 | 2017-01-25 | キヤノン株式会社 | Recording apparatus, recording method, and program |
| WO2015166817A1 (en) * | 2014-04-30 | 2015-11-05 | ソニー株式会社 | Information processing device, information recording medium, and information processing method and program |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4062230B2 (en) * | 2003-10-10 | 2008-03-19 | ソニー株式会社 | File recording / reproducing apparatus, file recording / reproducing method, file recording / reproducing method program, and recording medium recording the file recording / reproducing method program |
| JP4417272B2 (en) * | 2005-02-04 | 2010-02-17 | シャープ株式会社 | Recording apparatus, reproducing apparatus, recording method, reproducing method, and recording / reproducing apparatus |
-
2007
- 2007-05-08 JP JP2007122999A patent/JP4838191B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008283232A (en) | 2008-11-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4838191B2 (en) | File reproduction device, file reproduction method, program for executing file reproduction, and recording medium recording the program | |
| CN100571356C (en) | Stream generation apparatus, stream generation method, stream regeneration apparatus, stream regeneration method | |
| JP4575780B2 (en) | Interactive recording medium playback method and interactive recording medium playback apparatus | |
| KR20060136399A (en) | Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof | |
| JP4481889B2 (en) | Data recording apparatus and method, program, and recording medium | |
| JPWO2007102260A1 (en) | COMPRESSED ENCODED DATA REPRODUCING DEVICE, AND METHOD FOR DECODING / REPRODUCING COMPRESSED ENCODED DATA IN THE DEVICE | |
| KR100620332B1 (en) | Method and apparatus for recording a multi-component stream and a high-density recording medium having a multi-component stream recorded theron and reproducing method and apparatus of said recording medium | |
| WO2005036876A1 (en) | File reproduction device, file reproduction method, file reproduction method program, and recording medium containing the file reproduction method program | |
| JP4264833B2 (en) | Recording apparatus and method, program, and recording medium | |
| JP2008005437A (en) | VIDEO REPRODUCTION / RECORDING DEVICE, ITS CONTROL METHOD, COMPUTER PROGRAM, AND COMPUTER-READABLE STORAGE MEDIUM | |
| CN101094368B (en) | Reproduction apparatus and reproduction method | |
| JP5917123B2 (en) | Recording device | |
| US8086089B2 (en) | Recording apparatus | |
| JP2010170592A (en) | Information reproducing device and information reproducing method | |
| JP4176043B2 (en) | Data recording method and data recording apparatus | |
| JP2013125563A (en) | Recording apparatus | |
| KR100657703B1 (en) | How to play DivX files in internal hard disk media player | |
| JP4229092B2 (en) | Recording apparatus and method, reproducing apparatus and method | |
| KR100737118B1 (en) | Selective file download method in multimedia player | |
| JP2007073111A (en) | Material management system and material management method | |
| KR20070005918A (en) | Optical discs, players for optical discs, and playback methods thereof | |
| JP2011101425A (en) | Video playback apparatus, control method thereof, computer program and computer-readable storage medium | |
| JP2004234847A5 (en) | ||
| JP2004234843A5 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090805 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110317 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110527 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110621 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110811 |
|
| 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: 20110906 |
|
| 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: 20110929 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141007 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4838191 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |