JP2013258655A - 情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 - Google Patents
情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 Download PDFInfo
- Publication number
- JP2013258655A JP2013258655A JP2012135126A JP2012135126A JP2013258655A JP 2013258655 A JP2013258655 A JP 2013258655A JP 2012135126 A JP2012135126 A JP 2012135126A JP 2012135126 A JP2012135126 A JP 2012135126A JP 2013258655 A JP2013258655 A JP 2013258655A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- encoded data
- moving image
- length
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Abstract
【課題】可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成する。
【解決手段】第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得する。また第1のチャンクと第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する。そして情報処理装置は、第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析する。また第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する。そして、解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成し、動画ファイルに含めて出力する。
【選択図】図5
【解決手段】第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得する。また第1のチャンクと第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する。そして情報処理装置は、第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析する。また第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する。そして、解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成し、動画ファイルに含めて出力する。
【選択図】図5
Description
本発明は、情報処理装置、動画生成装置、制御方法、及びプログラムに関し、特に可変長符号化データを含む動画ファイルの再生技術に関する。
従来、動画ファイルのビデオ符号化データ及びオーディオ符号化データの多重化方式には様々なものがあった。
例えば、多重化方式の1つであるMPEG−2では、トランスポート・ストリーム(TS:Transport Stream)及びプログラム・ストリーム(PS:Program Stream)が用いられる。このうちPSでは、各符号化データはPESパケットに含められ、複数のPESパケットで構成されたPackペイロードを有する、Packと呼ばれる固定データ長のパケット単位が採用されている。PESパケットでは、各符号化データであるPESペイロードに加え、PESパケットの先頭を検出可能にするためのスタートコードと、PESサイズ等の情報が含まれる。またパック内のPackヘッダには、Packペイロード内のPESパケットの開始位置検出用の情報や、含まれている符号化データの種類が含まれる。ランダムアクセスを含むPSの再生においては、PackヘッダやPESヘッダの参照により、再生する符号化データの特定がなされる。即ち、PackヘッダやPESヘッダには、動画ファイルの再生に必要な管理情報が含まれる。
このため、動画ファイルの編集や動画作成中の中断等により、PackヘッダやPESヘッダの管理情報データと各符号化データとの間に不整合が生じると、動画ファイルの再生をすることができなくなってしまう。
特許文献1には、動画ファイルにおいて管理情報データと各符号化データとの間の不整合を検出した場合に、PESヘッダやPackヘッダを探索して解析することで管理情報データの修復を行う技術が開示されている。
一方、動画ファイルの多重化形式の1つにMP4がある。
MP4形式の動画ファイルでは、例えばビデオ符号化データにはH.264/MPEG4−AVC符号化形式が、オーディオ符号化データにはAAC(Advanced Audio Coding)符号化形式が採用される。該動画ファイルには、符号化データが格納されるMedia Data Box(mdat)に加え、各符号化データへのアクセスに必要な管理情報が格納されるMovie Box(moov)が含まれる。また、ファイル形式識別情報等、データ互換性に関する情報を格納するFile Type Box(ftyp)が含まれる。MP4形式の動画ファイルの再生においては、まずftypの参照によるデータ互換性の確認がなされた後、moovから取得された各符号化データの先頭情報に基づいて、mdat内の各符号化データが再生される。
MP4形式の動画ファイルでは、PS形式を用いるMPEG−2形式の動画ファイルとは異なり、mdat内の各符号化データの管理情報はmoov内に一括して格納される。即ち、MP4形式の動画ファイルの生成において、moovの作成はmdatが完成した後の最終工程で行われる。
このため、動画ファイルの生成中に、機械トラブル等の何らかの事情により生成処理が中断された場合、動画ファイルにはmoovが含まれていないことがある。即ち、符号化データは存在するにもかかわらずmoovが存在しないために、該動画ファイルを再生することができなかった。
PSとは異なり、MP4形式の動画ファイルでは各符号化データのオフセット値やデータ長の情報はパケットのヘッダに含まれていない。また各符号化データは可変長符号化されたデータであるため、特許文献1のような技術でMP4形式の動画ファイルの管理情報であるmoovの修復あるいは作成を行うことはできなかった。
本発明は、上述の問題点に鑑みてなされたものであり、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成する情報処理装置、動画生成装置、制御方法、及びプログラムを提供することを目的とする。
前述の目的を達成するために、本発明の情報処理装置は、以下の構成を備える。
第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得するデータ取得手段と、第1のチャンクと第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得手段と、第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析手段と、解析手段により解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成する生成手段と、生成手段により生成された管理情報を動画ファイルに含めて出力する出力手段と、を有することを特徴とする。
第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得するデータ取得手段と、第1のチャンクと第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得手段と、第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析手段と、解析手段により解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成する生成手段と、生成手段により生成された管理情報を動画ファイルに含めて出力する出力手段と、を有することを特徴とする。
このような構成により本発明によれば、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成することが可能となる。
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置及び動画生成装置の一例としての、MP4形式の動画ファイルを生成可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、可変長符号化データを含む動画ファイルに対して、該動画ファイルの再生に必要な、少なくとも各符号化データのオフセット値及びデータ長を一括して管理する管理情報を生成して付加することが可能な任意の機器に適用可能である。
《デジタルカメラ100の構成》
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
制御部101は、例えばCPUであり、デジタルカメラ100が有する各ブロックの動作を制御する。具体的には制御部101は、ROM102に記憶されている後述の修復処理のプログラムを読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリであり、デジタルカメラ100が有する各ブロックの動作プログラムに加え、各ブロックの動作に必要となるパラメータ等の情報を記憶する。
RAM103は、書き換え可能な揮発性メモリであり、デジタルカメラ100が有する各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等が記憶される格納領域としても用いられる。本実施形態ではRAM103には、後述する記録媒体200に記録する前段階の符号化データ等が記憶される。
ビデオ符号化部104は、不図示の撮像部によって連続的に撮影されたビデオフレームに対して映像符号化処理を行い、H.264/MPEG−4AVC符号化形式のビデオ符号化データ(第1の種別の可変長符号化データ、動画データ)を生成する。ビデオ符号化部104は、生成したビデオ符号化データをRAM103に出力して記憶させる。
なお、ビデオ符号化データのフレームには、所定の周期で1フレーム内のデータのみで復号可能な、即ち画面内符号化ピクチャを示すIDR(Instantaneous Decoder Refresh)データが存在する。通常、動画ファイルでは、ビデオ符号化データ内のIDRデータの位置を特定する情報が管理情報に含まれており、これにより動画ファイルのランダムアクセスが可能になる。
オーディオ符号化部105は、不図示のマイクにより集音された音声信号に対して音声符号化処理を行い、AAC符号化形式のオーディオ符号化データ(Rawブロックデータ:第2の種別の可変長符号化データ、音声データ)を生成する。オーディオ符号化部105は、生成したオーディオ符号化データをRAM103に出力して記憶させる。
多重化部106は、ビデオ符号化部104により生成されたビデオ符号化データ、及びオーディオ符号化部105により生成されたオーディオ符号化データをRAM103において多重化し、MP4ファイルにおけるmdatのデータを生成する。
なお、本実施形態では、デジタルカメラ100はMP4形式の動画ファイルを生成するものとして説明するが、本発明の適用は該形式の動画ファイルに限られるものではない。例えば、MOV形式(QuickTime(登録商標) File Format)や3GPP形式(Third Generation Partnership Project)等の、MP4形式に類似する多重化方式にも本発明は適用可能である。即ち、上述したように、動画ファイルの再生に必要な、少なくとも各符号化データのオフセット値及びデータ長を一括して管理する管理情報を含む多重化形式であれば、本発明は適用可能である。
記録制御部107は、デジタルカメラ100に接続された記録媒体200に対するデータの読み書きを制御する。記録制御部107は、RAM103に一時的に生成された動画ファイルを構成するデータを順次記録媒体200に出力し、記録する。なお、記録媒体200は例えばデジタルカメラ100が有する内蔵メモリであってもよいし、メモリカードやHDD等のデジタルカメラ100に着脱可能に接続される記録装置であってもよい。
解析部108は、再生対象の動画ファイルを解析する。具体的には解析部108は、多重化方式に従って動画ファイルの管理情報を解析し、動画ファイル内の各符号化データの位置を特定する情報(オフセット値)やデータ長の情報を取得する。本実施形態では解析部108は、MP4形式の動画ファイルのmdatを解析することで、mdat内の各符号化データのオフセット値及びデータ長を解析する。このように解析部108による管理情報の解析により、動画ファイルは再生あるいはランダムアクセスが可能となる。
デマックス部109は、解析部108により解析された再生対象の動画ファイルのファイル構造に基づき、ビデオ符号化データとオーディオ符号化データとを分離し、それぞれビデオ復号部110あるいはオーディオ復号部111に伝送する。
ビデオ復号部110は、再生対象の動画ファイルのビデオ符号化データを復号し、映像信号を出力する。出力された映像信号は、後述の表示部112に表示される。
オーディオ復号部111は、再生対象の動画ファイルのオーディオ符号化データを復号し、音声信号を出力する。出力された音声信号は、表示部112への映像信号の表示と同期して、不図示のスピーカにより音声出力される。
表示部112は、例えばLCD等のデジタルカメラ100が有する表示装置である。表示部112の表示部には、ビデオ復号部110により出力された再生対象の動画ファイルのビデオフレームや、不図示の撮像部により出力されたライブビュー用フレーム画像が表示される。
なお、本実施形態ではハードウェアとしてデジタルカメラ100が備える各ブロックにおいて処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は該各ブロックと同様の処理を行うプログラムで実現されてもよい。また、図1の各ブロックが独立のハードウェアで構成されていても良いし、複数のブロックの一部またはすべての機能を1または複数のハードウェアにより構成されてもよい。また、図1の各ブロックの一部またはすべての機能を制御部101がROM102より読み出し、RAM103に展開したプログラムにより実行してもよい。
《動画ファイルの生成》
ここで、本実施形態のデジタルカメラ100におけるMP4形式の動画ファイルの生成について、図2を用いて概要を説明する。図2は、動画撮影時における、RAM103に一時記憶されるデータと記録媒体200に記録される動画ファイルの流れを示している。
ここで、本実施形態のデジタルカメラ100におけるMP4形式の動画ファイルの生成について、図2を用いて概要を説明する。図2は、動画撮影時における、RAM103に一時記憶されるデータと記録媒体200に記録される動画ファイルの流れを示している。
まず制御部101は、不図示の操作入力部より動画撮影指示がなされたことを検出すると、生成する動画ファイルがMP4形式であることを示す情報を含むftypを生成し、RAM103に記憶させる。また制御部101は、生成する動画ファイルに対して一時的に付与するダミーのmoov(ダミーmoov)を生成(第1の生成)し、ステータス201のようにRAM103のftypに連結させて記憶させる。なお、このダミーmoovは、生成する動画ファイルを再生可能にするための管理情報ではなく、正式なmoov(正式moov)が生成されなかった場合に正式moovではないことを再生時に判別するために付与される。なお、ダミーmoovには、後述の通り正式moovの生成に必要な情報が含まれる。
〈ダミーmoov〉
ここで、本実施形態のデジタルカメラ100の動画ファイル生成時に一時的に付与されるダミーmoovについて、図3を参照して正式moovとの違いを説明する。
ここで、本実施形態のデジタルカメラ100の動画ファイル生成時に一時的に付与されるダミーmoovについて、図3を参照して正式moovとの違いを説明する。
moovには、動画ファイルに含まれるmdatの生成が完了した後にのみ生成可能な情報とは別に、mdatの生成前に取得可能な情報が含まれる。mdatの生成前に取得可能な情報には、例えば動画ファイルのビデオデータを再生する際の表示解像度やフレームレート、あるいは動画ファイルのオーディオデータのサンプリング周波数等、符号化データの生成において予め決定されている情報が含まれる。
本実施形態のダミーmoovは、図3にハッチングで示される情報のみが正式moovと異なる。ハッチングで示される情報のうち、ダミーmoovのmoovレイヤに含まれる情報は、動画ファイルに含まれるmdatの生成が完了した後にのみ生成可能な情報である。またmoovレイヤに含まれる情報のうち、ハッチングで示されていない情報は、mdatの生成前に取得可能な情報である。具体的にはダミーmoovのmoovレイヤは、動画ファイルが格納している符号化データの数が0個であることを示し、各サブレイヤのdurationは0に設定されている。
また図3には、ダミーmoovにはmoovレイヤの他にfreeレイヤが含まれ、該レイヤにmdatの生成に用いられる生成ルールに関する情報(生成情報)が含められる。mdatは、ビデオ符号化データで構成されるビデオチャンクと、オーディオ符号化データで構成されるオーディオチャンクとが交互に配置された繰り返し構造となっている。このため生成ルールに関する情報には、
1)単位チャンクあたりに含まれる各符号化データの数の情報(ビデオチャンク、オーディオチャンクの各々について)
2)ビデオチャンクとオーディオチャンクの配置順序の情報(ビデオチャンクとオーディオチャンクのどちらが先頭にくるか)
が含まれる。
1)単位チャンクあたりに含まれる各符号化データの数の情報(ビデオチャンク、オーディオチャンクの各々について)
2)ビデオチャンクとオーディオチャンクの配置順序の情報(ビデオチャンクとオーディオチャンクのどちらが先頭にくるか)
が含まれる。
また、ビデオ符号化データの生成については、さらに
3)1つのビデオ符号化データに含まれるNALユニット(アクセスユニットの先頭に付され、該アクセスユニットのデータ長情報を格納する)の数の情報
4)ビデオ符号化データにおけるIDRデータの発生周期の情報
が生成ルールに関する情報に含まれる。
3)1つのビデオ符号化データに含まれるNALユニット(アクセスユニットの先頭に付され、該アクセスユニットのデータ長情報を格納する)の数の情報
4)ビデオ符号化データにおけるIDRデータの発生周期の情報
が生成ルールに関する情報に含まれる。
このように生成ルールに関する情報は、動画ファイルのmdatの構成や生成方法を規定する情報であり、例えばデジタルカメラ100に予め定められた情報である。ビデオ符号化部104、オーディオ符号化部105、及び多重化部106は、該生成ルールに関する情報に従って順次生成した符号化データを順次結合して、ビデオ符号化データ及びオーディオ符号化データが多重化されたmdatをRAM103に生成する(第2の生成)。
また後述するように、該生成ルールに関する情報は、生成する動画ファイルのmdatが完成した際に、正式moovの作成のためにも参照される。即ち、本実施形態のデジタルカメラ100では、動画ファイルの生成時に、mdatが完成するよりも前に該生成ルールに関する情報を含んだダミーmoovを予め動画ファイルに含める。このようにすることでデジタルカメラ100は、正式moovの生成前に動画ファイルの生成が中断されてしまった場合であっても、残されたmdatを解析することで正式moovを復元することができる。
このように、動画ファイルの生成に用いられる生成ルールに関する情報を含むダミーmoovを生成した後、制御部101は動画撮影処理を開始し、ビデオ符号化部104及びオーディオ符号化部105にビデオ符号化データ及びオーディオ符号化データを順次生成させる。
ビデオ符号化部104及びオーディオ符号化部105により符号化データが生成されてRAM103に格納される(ステータス202)と、制御部101は、生成ルールに関する情報に従って多重化部106に多重化処理を行わせる。制御部101は、多重化部106によりビデオチャンク及びオーディオチャンクで構成される動画データ(mdatの一部)が生成されると、該データをftypとmoovとが連結されたデータに順次結合させて動画ファイルを生成する(ステータス203)。また制御部101は、予め定められたファイルサイズの動画ファイルが生成されると、該データを記録制御部107に伝送し、記録媒体200に記録させる(ステータス204)。
制御部101は、動画撮影停止指示がなされたことを検出すると、動画撮影処理を停止してビデオ符号化部104及びオーディオ符号化部105の符号化処理を停止する。そして制御部101は、全てのmdatを生成して記録制御部107に伝送し、記録媒体200に動画ファイルのmdatに記録させる(ステータス205)。
その後、制御部101は、符号化時に得られた各符号化データや各チャンクのデータ長の情報等を参照し、生成ルールに関する情報に従って正式moovを生成する。そして制御部101は、該正式moovを記録制御部107に伝送して、記録媒体200に記録されている動画ファイルのダミーmoovを正式moovで更新し、動画ファイルを完成させる(ステータス206:終了処理)。
なお、正式moovの生成は、ダミーmoovと同一のデータに対して、以下の手順で情報を追加することで行われる。
A)sttsに、各符号化データ1つあたりのdurationを入力
B)tkhd/mdhdのdurationに、mdatに登録した各符号化データの数に、1つの符号化データあたりのdurationを乗算した値を入力
C)stssに、生成ルール4とmdatに登録したビデオ符号化データの数とから生成した値を入力(例えば、IDRデータが15ビデオ符号化データごとに発生し、登録したビデオ符号化データの数が100である場合、1+15×n≦100(n=0、1、2…)を満たす数値、1、16、31、46、61、76、91が順にstssに登録される。)
D)stszに、ビデオ符号化部104及びオーディオ符号化部105から出力された各符号化データのデータ長を入力
E)stcoに、生成ルール1及び2に従い、各符号化データのデータ長を加算し、各符号化データの動画ファイルにおける位置を特定する値(オフセット値)を入力
F)freeレイヤの生成ルール領域を破棄(0x00でpadding)
A)sttsに、各符号化データ1つあたりのdurationを入力
B)tkhd/mdhdのdurationに、mdatに登録した各符号化データの数に、1つの符号化データあたりのdurationを乗算した値を入力
C)stssに、生成ルール4とmdatに登録したビデオ符号化データの数とから生成した値を入力(例えば、IDRデータが15ビデオ符号化データごとに発生し、登録したビデオ符号化データの数が100である場合、1+15×n≦100(n=0、1、2…)を満たす数値、1、16、31、46、61、76、91が順にstssに登録される。)
D)stszに、ビデオ符号化部104及びオーディオ符号化部105から出力された各符号化データのデータ長を入力
E)stcoに、生成ルール1及び2に従い、各符号化データのデータ長を加算し、各符号化データの動画ファイルにおける位置を特定する値(オフセット値)を入力
F)freeレイヤの生成ルール領域を破棄(0x00でpadding)
《再生処理(正式moovが存在する場合)》
このように生成された動画ファイルを再生する場合は、制御部101は再生処理において次のように処理する。
このように生成された動画ファイルを再生する場合は、制御部101は再生処理において次のように処理する。
制御部101は、再生指示がなされた動画ファイルのftypを記録制御部107に記録媒体200から読み出させ、該情報を参照して動画ファイルがMP4形式であることを認識すると、続いてmoovを読み出させてRAM103に格納する。
制御部101は、RAM103に格納されたmoovを構造解析(パース)し、moov内のstsdを参照してビデオの解像度及びフレームレートやオーディオのサンプリング周波数等の情報を取得する。そして制御部101は、取得した情報をビデオ復号部110及びオーディオ復号部111に設定する。
次に制御部101は、moov内のstco及びstszを参照し、各符号化データのオフセット値及びデータ長の情報を取得する。制御部101は、該情報に基づいて記録制御部107に記録媒体200からmdatのデータをRAM103に読み出させ、デマックス部109によりビデオ符号化データとオーディオ符号化データとに分離させる。そして制御部101は、各々の符号化データをビデオ復号部110及びオーディオ復号部111に伝送して復号させる。制御部101は、ビデオ復号部110における復号処理により得られた映像信号を表示部112に出力し、表示させる。また制御部101は、オーディオ復号部111における復号処理により得られた音声信号を不図示のスピーカに出力し、再生させる。
制御部101は、このような処理を、再生指示がなされた動画ファイルのmdatに含まれる全ての符号化データを復号して再生するまで、あるいは再生停止指示がなされたことを検出するまで繰り返し行うことで、動画ファイルの再生を行う。
《再生処理(正式moovが存在しない場合)》
一方、動画ファイルの生成処理中、mdatの記録媒体200への記録が開始してから、mdat生成完了後の正式moovによる更新がなされる前までに、例えばデジタルカメラ100の電源OFF操作等の要因によって処理が中断された場合について考える。
一方、動画ファイルの生成処理中、mdatの記録媒体200への記録が開始してから、mdat生成完了後の正式moovによる更新がなされる前までに、例えばデジタルカメラ100の電源OFF操作等の要因によって処理が中断された場合について考える。
このとき、記録媒体200には、ダミーmoovとmdatを有し、mdatに少なくとも1チャンク以上の符号化データ(ビデオチャンク、オーディオチャンク)を含む動画ファイルが存在する。上述したように、このような動画ファイルの再生指示がなされた場合、制御部101はダミーmoovをパースしたとしても、動画ファイルの各符号化データのオフセット値やデータ長の情報を取得することができない。即ち、制御部101は動画ファイルのmdatに含まれる各符号化データの情報を取得することができないため、動画ファイルの再生を行うことができない。
本実施形態では、このような正式moovの存在しない動画ファイルから、ダミーmoov及びmdatの解析により正式moovを含む動画ファイルを生成する。
〈修復処理〉
以下、本実施形態のデジタルカメラ100において正式moovの存在しない動画ファイルを修復して、正式moovを有する動画ファイルを生成する、デジタルカメラ100の修復処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本修復処理は、例えば記録媒体200に記録されている動画ファイルの再生指示がなされた際に開始されるものとして説明する。
以下、本実施形態のデジタルカメラ100において正式moovの存在しない動画ファイルを修復して、正式moovを有する動画ファイルを生成する、デジタルカメラ100の修復処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本修復処理は、例えば記録媒体200に記録されている動画ファイルの再生指示がなされた際に開始されるものとして説明する。
S401で、制御部101は、再生指示がなされた動画ファイル(対象動画ファイル)のmoovがダミーmoovであるか否かを判断する。具体的には制御部101は、記録媒体200に記録されている対象動画ファイルのmoovを記録制御部107に読み出させて、RAM103に記録させる(情報取得)。そして制御部101は、例えば該moovのmvhdのdurationが0であるか否かによって、moovがダミーmoovであるか否かを判断する。制御部101は、対象動画ファイルのmoovがダミーmoovであると判断した場合は処理をS402に移し、ダミーmoovではないと判断した場合は本修復処理を完了する。
S402で、制御部101は、対象動画ファイルのmdatを解析する解析処理を実行する。
(解析処理)
ここで、本実施形態のデジタルカメラ100で実行される解析処理について、図5を用いて詳細を説明する。
ここで、本実施形態のデジタルカメラ100で実行される解析処理について、図5を用いて詳細を説明する。
S501で、制御部101は、対象動画ファイルにおける解析対象の符号化データ(解析符号化データ)の先頭位置のオフセット値を取得する。具体的には制御部101はまず、ftypの規定データ長に、RAM103に読み出されたダミーmoovのデータ長を加算し、mdatの先頭位置のオフセット値を算出する。さらに制御部101は、既に解析された符号化データの合計データ長の情報を加算することで、解析符号化データの先頭位置のオフセット値を取得する。
S502で、制御部101は、ダミーmoovに含まれる生成ルール1及び2を参照し、解析符号化データがビデオ符号化データであるか否かを判断する。制御部101は、mdatの先頭からのビデオチャンクとオーディオチャンクの配置順序の情報と各チャンクに含まれる対応する符号化データの数の情報を参照し、本解析処理の過程で選択された解析符号化データが、いずれの符号化データであるかを順次判断する。制御部101は、解析符号化データがビデオ符号化データであると判断した場合は処理をS503に移し、ビデオ符号化データではない、即ちオーディオ符号化データであると判断した場合は処理をS505に移す。
S503で、制御部101は、解析部108に解析符号化データであるビデオ符号化データのデータ長を解析させる。具体的には解析部108は、解析符号化データの先頭からNALユニットを読み出し(データ取得)、NALユニットに対応するアクセスユニットのデータ長を取得する。さらに解析部108は、さらに取得したアクセスユニットのデータ長分だけシフトした位置に存在する次のNALユニットを読み出し、該次のNALユニットに対応するアクセスユニットのデータ長を取得する。解析部108は、ダミーmoovに含まれる生成ルール3に従い、解析符号化データに含まれる全てのNALユニットについて対応するアクセスユニットのデータ長を取得して加算することで、解析符号化データであるビデオ符号化データのデータ長を解析する(第2の取得)。
S504で、制御部101は、取得した解析符号化データのデータ長分の符号化データがmdatに存在するか否かを判断する。対象動画ファイルが、mdatに含まれる符号化データの記録媒体200への書き込み中に動画生成処理が中断されたファイルである場合、中断時に書き込みを行なっていた符号化データについては、中断前までに書き込まれたデータの後端にEOFが存在する。即ち、制御部101は、解析部108に解析させた解析符号化データのデータ長分の符号化データを記録媒体200のmdatから読み出すまでの間に、対象動画ファイルの後端であるEOFが現れたか否かを判断する。制御部101は、解析符号化データのデータ長分の符号化データがmdatに存在すると判断した場合は処理をS507に移し、存在しないと判断した場合は処理をS509に移す。
一方、S502において解析符号化データがオーディオ符号化データであると判断された場合、制御部101はS505で、解析部108に解析符号化データであるオーディオ符号化データのデータ長を解析させる。オーディオ符号化データは、ビデオ符号化データのようにデータ長情報を有するNALユニットを含まない。このため、本実施形態では解析部108は、オーディオ符号化データに対してはオーディオ復号部111で行われるオーディオ復号処理の一部である簡易復号処理(完全に復号しない)を適用することで、オーディオ符号化データの終端の情報を検出する。そして解析部108は、終端の情報に基づいてオーディオ符号化データのデータ長を取得する(第1の取得)。
オーディオ復号部111で行われるオーディオ復号処理は、例えば図6に示されるような工程で行われる。オーディオ復号部111は、入力されたAAC形式のオーディオ符号化データに対し、S601及びS602の処理で、データのシンタックス解析を行って構成要素を読み出す。読み出した構成要素に対して、オーディオ復号部111は逆量子化(S603)、スケールファクタ(S604)、M/S処理(S605)、I/S処理(S606)、TNS処理(S607)、及びIMDCT(逆修正離散コサイン変換)処理(S608)を適用し、音声信号を生成する。なお、S608の処理は、IDCT(逆離散コサイン変換)処理であっても良い。
オーディオ符号化データであるRawブロックデータ(raw_block_data())は、図7Aのシンタックスに示されるように、
・L/Rチャネルの可変長符号化データを含むchannel_pair_elements()
・raw_block_data()の終端情報を示すend()
・raw_block_data()をバイトアライメントに調整するbyte_alignment()
で構成される。
・L/Rチャネルの可変長符号化データを含むchannel_pair_elements()
・raw_block_data()の終端情報を示すend()
・raw_block_data()をバイトアライメントに調整するbyte_alignment()
で構成される。
図7Bに示されるように、channel_pair_element()のシンタックスは、L/Rチャネルの音声信号の符号化データの各々を示す
individual_channel_stream(common_window);
と、その他の情報とに分けられる。channel_pair_element()のうち、その他の情報については、図7B及びCに示されるようにビット数は既知である。
individual_channel_stream(common_window);
と、その他の情報とに分けられる。channel_pair_element()のうち、その他の情報については、図7B及びCに示されるようにビット数は既知である。
またindividual_channel_stream(common_window)は、さらに図7Dに示されるようなシンタックスとなっている。図7Dに示される個々のオーディオ符号化データを構成する要素は、図7E乃至Jのようなシンタックスで記述される。図示されるように、オーディオ符号化データを構成する要素のうち、scale_factor_data()及びspectral_data()にはハフマン符号化により圧縮される構成要素が含まれる。このため、該要素のビット数の算出のためには、ハフマン復号処理が必要となる。
このため解析部108はS505において、オーディオ復号処理のうち、データのシンタックス解析をオーディオ復号部111に行なわせる。そして解析部108は、オーディオ復号部111に解析対象のオーディオ符号化データの構成要素を読み出させながら、読み出されたデータのビット数を計数することで、解析対象のオーディオ符号化データのデータ長を取得する。具体的には解析部108は、オーディオ復号部111にオーディオ復号処理のうちS601及びS602のみの処理を行う簡易復号処理を、シンタックス解析によりbyte_alignment()を検出するまで行わせる。そして解析部108は、該要素までに読み出させたデータの総ビット数を解析符号化データのデータ長として取得する。なお、本ステップにおいて簡易復号処理のために記録媒体200から読み出されるmdatのデータは、解析符号化データの先頭位置から1つのオーディオ符号化データのデータ長よりは大きくなるように予め設定されたデータ長分のデータであってよい。
S506で、制御部101は、S505において解析符号化データのデータ長の解析が成功したか否かを判断する。上述したように対象動画ファイルが、mdatに含まれる符号化データの記録媒体200への書き込み中に動画生成処理が中断されたファイルである場合、中断時に書き込みを行なっていた符号化データの全てが書き込まれていない可能性がある。即ち、対象動画ファイルがこのようなファイルである場合、S505における簡易復号処理を用いた解析符号化データのデータ長の解析において、オーディオ復号部111はbyte_alignment()を検出することができない。このため解析部108は、解析符号化データのデータ長の解析に失敗する。制御部101は、解析符号化データのデータ長の解析が成功したと判断した場合は処理をS507に移し、失敗したと判断した場合は処理をS509に移す。
S507で、制御部101は、RAM103に格納されている動画ファイルのmdatに含まれる対応する符号化データの有効符号化データ数を1つ増加させる。また制御部101は、解析符号化データのデータ長の情報を、有効符号化データ数(先頭からの何番目の符号化データであるかを示す情報)に関連付けてRAM103に格納する。
S508で、制御部101は、対象動画ファイルのmdatに含まれる全ての符号化データの読み出しが完了したか否かを判断する。具体的には制御部101は、解析符号化データの先頭位置から解析された該解析符号化データのデータ長分だけシフトした位置にEOFが存在するか否かを判断する。制御部101は、mdatに含まれる全ての符号化データの読み出しが完了したと判断した場合は本解析処理を完了し、完了していないと判断した場合は処理をS501に戻す。
また解析符号化データが破損している場合、制御部101はS509で、該解析符号化データを、記録媒体200に記録されている対象動画ファイルのmdatから削除して本解析処理を完了する。即ち、制御部101は、記録媒体200に記録されている対象動画ファイルのmdatのデータのうち、解析符号化データの先頭位置以降に存在するデータを削除する。
このように解析処理を行うことで制御部101は、対象動画ファイルについて、
・mdatに含まれる符号化データの数(チャンクの数)の情報
・mdatに含まれる各符号化データの位置を特定する情報
・mdatに含まれる各符号化データのデータ長の情報
をRAM103に出力することができる。
・mdatに含まれる符号化データの数(チャンクの数)の情報
・mdatに含まれる各符号化データの位置を特定する情報
・mdatに含まれる各符号化データのデータ長の情報
をRAM103に出力することができる。
そしてS403で、制御部101は、解析処理により得られた情報をもとに、RAM103に読み出したダミーmoovに対して必要な情報を入力し、正式moovを生成する。なお、このとき制御部101は、ダミーmoovに含まれる生成ルールに関する情報を削除する。
S404で、制御部101は、生成した正式moovを記録制御部107に伝送し、該データで記録媒体200に記録されている対象動画ファイルのダミーmoovを更新し、本修復処理を完了する。
このようにすることで、動画ファイルが正式moovを有していない場合であっても、該動画ファイルに含まれるmdatを解析することで、正式moovを有する動画ファイルを生成することができる。また正式moovを生成することで、該動画ファイルを再生可能にすることができる。
《適用例》
以下、上述した解析処理を適用した例について、図を用いて説明する。
以下、上述した解析処理を適用した例について、図を用いて説明する。
mdatが図8に示されるような構成であり、生成ルールが以下の場合を考える。
1)1ビデオチャンクあたりのビデオ符号化データの数は2
1オーディオチャンク当たりのオーディオ符号化データの数は2
2)ビデオチャンク→オーディオチャンクの順でmdatは構成
3)1ビデオ符号化データあたりのNALユニットの数は2
1)1ビデオチャンクあたりのビデオ符号化データの数は2
1オーディオチャンク当たりのオーディオ符号化データの数は2
2)ビデオチャンク→オーディオチャンクの順でmdatは構成
3)1ビデオ符号化データあたりのNALユニットの数は2
まず、生成ルール2からmdatの先頭に位置する符号化データはビデオ符号化データであることが判明するため、制御部101は、mdatのペイロード部の先頭位置を、ビデオ符号化データ[0]のオフセット値とする。
次に解析部108は、ビデオ符号化データ[0]の先頭に位置するNALユニットのデータ長情報を読み出し、該情報により示されるデータ長分だけシフトした位置に存在する次のデータ長情報を読み出す。生成ルール3から1ビデオ符号化データあたりに2つのNALユニットが含まれていることが判明するため、解析部108は2つのデータ長情報で示されるデータ長を加算し、ビデオ符号化データ[0]のデータ長を取得する。
ビデオ符号化データ[0]のオフセット値に該データのデータ長を加算した値は、次の符号化データのオフセット値となる。生成ルール1により、次の符号化データはビデオ符号化データであることが判明するため、該オフセット値はビデオ符号化データ[1]のオフセット値となる。
解析部108は、ビデオ符号化データ[1]についても同様に解析し、データ長を取得する。このとき制御部101は、ビデオ符号化データの有効符号化データ数を1だけインクリメントする。
生成ルール1により、次の符号化データはオーディオ符号化データであることが判明するため、制御部101は、ビデオ符号化データ[1]のオフセット値に該データのデータ長を加算した値を、次のオーディオ符号化データ[0]のオフセット値とする。
解析部108は、オーディオ符号化データ[0]の開始位置から予め定められた2048バイト(LPCM-Streo 16bit/1024sample)のデータを読み出し、オーディオ復号部111に簡易復号処理を実行させる。簡易復号処理によりオーディオ符号化データ[0]のbyte_alignment()が検出されてデータ長が得られるため、解析部108は該データ長をオーディオ符号化データ[0]のデータ長とする。
このように順に処理することで、mdatに含まれる各符号化データの情報を解析することができる。なお、mdatの末尾に位置し、破損しているオーディオ符号化データ[3]については、解析部108が簡易復号処理によりデータ長を取得することができない。このため、制御部101はオーディオ符号化データ[3]の開始位置以降のデータを記録媒体200に記録されているmdatから削除する。そして制御部101は、オーディオ符号化データ[2]の末尾までをmdatの有効符号化データとし、解析処理を完了する。
以上説明したように、本実施形態の情報処理装置は、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成することができる。具体的には情報処理装置は、第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得する。また第1のチャンクと第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する。そして情報処理装置は、第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析する。また第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する。そして、解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成し、動画ファイルに含めて出力する。
なお、本実施形態では動画ファイルの生成時に、mdatの生成に係る生成ルールに関する情報を含むダミーmoovが生成された後にmdatのデータが順次結合されるものとして説明した。しかしながら、本発明は生成ルールに関する情報をダミーmoovとして含めた動画ファイル以外にも適用可能である。mdatの生成に係る生成ルールに関する情報は動画生成装置に予め定められた情報であるため、動画ファイルを生成した装置内で上述した修復処理が行われる場合は、生成ルールに関する情報は動画ファイルに含められている必要はない。また、例えば修復処理を行う動画閲覧アプリケーションでは、動画ファイルを生成した機器の情報に基づいて、予め用意された生成ルールのパターンから適用された生成ルールを特定し、用いる構成であってもよい。また、本実施例では、生成ルールに関する情報をダミーmoovに格納するものとしたが、このようにしなくても良い。すなわち例えば可変長符号化データの先頭のオフセット位置(mdatの先頭位置)が、ファイルの先頭から所定のバイト数後になるように動画ファイルを生成するものであれば、ダミーmoovにこの情報を格納しなくて修復が可能である。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (20)
- 第1の種別の可変長符号化データで構成される第1のチャンクと、第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得するデータ取得手段と、
前記第1のチャンクと前記第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得手段と、
前記第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、前記第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析手段と、
前記解析手段により解析された各可変長符号化データのデータ長を用いて、前記動画ファイルの再生に必要な管理情報を生成する生成手段と、
前記生成手段により生成された前記管理情報を前記動画ファイルに含めて出力する出力手段と、を有する
ことを特徴とする情報処理装置。 - 前記生成情報はさらに、前記第1の種別の可変長符号化データに含まれるデータ長情報の数の情報を含み、
前記解析手段は、前記第1の種別の可変長符号化データから前記第1の種別の可変長符号化データに含まれるデータ長情報の数だけデータ長情報を読み出して加算することで該可変長符号化データのデータ長を解析する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記管理情報は、少なくとも各可変長符号化データの前記動画ファイル内における位置を特定する情報、及び該可変長符号化データのデータ長を含むことを特徴とする請求項1または2に記載の情報処理装置。
- 前記解析手段により解析された前記第1の種別の可変長符号化データのデータ長と、前記動画ファイルにおける該可変長符号化データのデータ長とが異なる場合は、該可変長符号化データを前記動画ファイルから削除する削除手段をさらに有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記解析手段による前記簡易復号処理において前記第2の種別の可変長符号化データの終端が検出されない場合、該可変長符号化データを前記動画ファイルから削除する削除手段をさらに有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記情報取得手段は、前記動画ファイルに含まれるダミーの管理情報から前記生成情報を取得することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記第1の種別の可変長符号化データはビデオ符号化データであり、前記第2の種別の可変長符号化データはオーディオ符号化データであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 動画ファイルの生成に用いる生成情報であって、第1の種別の可変長符号化データで構成される第1のチャンクと第2の種別の可変長符号化データで構成される第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を有するダミーの管理情報を生成する第1の生成手段と、
可変長符号化により順次生成された前記第1及び第2の種別の可変長符号化データを、前記生成情報に従って前記第1及び第2のチャンクを生成し、前記第1の生成手段により生成された前記ダミーの管理情報に、生成した該第1及び第2のチャンクを交互に配置して順次結合することで1つの動画ファイルを生成する第2の生成手段と、
前記第2の生成手段による前記第1及び第2の種別の可変長符号化データの生成が終了した後に、前記1つの動画ファイルに含まれる各可変長符号化データのデータ長の情報を用いて、該動画ファイルの再生に必要な管理情報を生成し、該必要な管理情報で前記ダミーの管理情報を更新する終了処理手段と、を有し、
前記第1の種別の可変長符号化データは、該可変長符号化データについてのデータ長情報を含み、
前記第2の種別の可変長符号化データは、復号することで得られる該可変長符号化データの終端を示す情報を含む
ことを特徴とする動画生成装置。 - 情報処理装置のデータ取得手段が、1以上の第1の種別の可変長符号化データで構成される第1のチャンクと、1以上の第2の種別の可変長符号化データで構成される第2のチャンクとが交互に配置された動画ファイルを取得するデータ取得工程と、
前記情報処理装置の情報取得手段が、前記動画ファイルの生成に用いられた生成情報であって、前記第1のチャンクと前記第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得工程と、
前記情報処理装置の解析手段が、各可変長符号化データのデータ長を解析する解析工程であって、前記第1の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、前記第2の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析工程と、
前記情報処理装置の生成手段が、前記解析工程において解析された各可変長符号化データのデータ長を用いて、前記動画ファイルの再生に必要な管理情報を生成する生成工程と、
前記情報処理装置の出力手段が、前記生成工程において生成された前記管理情報を前記動画ファイルに含めて出力する出力工程と、を有する
ことを特徴とする情報処理装置の制御方法。 - 動画生成装置の第1の生成手段が、動画ファイルの生成に用いる生成情報であって、第1の種別の可変長符号化データで構成される第1のチャンクと第2の種別の可変長符号化データで構成される第2のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を有するダミーの管理情報を生成する第1の生成工程と、
前記動画生成装置の第2の生成手段が、可変長符号化により順次生成された前記第1及び第2の種別の可変長符号化データを、前記生成情報に従って前記第1及び第2のチャンクを生成し、前記第1の生成工程において生成された前記ダミーの管理情報に、生成した該第1及び第2のチャンクを交互に配置して順次結合することで1つの動画ファイルを生成する第2の生成工程と、
前記動画生成装置の終了処理手段が、前記第2の生成工程における前記第1及び第2の種別の可変長符号化データの生成が終了した後に、前記1つの動画ファイルに含まれる各可変長符号化データのデータ長の情報を用いて、該動画ファイルの再生に必要な管理情報を生成し、該必要な管理情報で前記ダミーの管理情報を更新する終了処理工程と、を有し、
前記第1の種別の可変長符号化データは、該可変長符号化データについてのデータ長情報を含み、
前記第2の種別の可変長符号化データは、復号することで得られる該可変長符号化データの終端を示す情報を含む
ことを特徴とする動画生成装置の制御方法。 - コンピュータを、請求項1乃至7のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
- コンピュータを、請求項8に記載の動画生成装置の各手段として機能させるためのプログラム。
- 動画データと音声データとが所定の周期で記録される動画ファイルの管理情報を修復する方法であって、
方法を実行する装置の読み出し手段が、前記動画ファイルを記録媒体から読み出す読み出し工程と、
前記装置の第1の取得手段が、前記動画ファイルに含まれる前記音声データを完全に復号せずに、前記音声データのデータ長を取得できるまで復号し、前記音声データのデータ長を取得する第1の取得工程と、
前記装置の修復手段が、前記第1の取得工程で得られた前記音声データのデータ長に基づいて前記管理情報を修復する修復工程と、を有する
ことを特徴とする修復方法。 - 前記装置の第2の取得手段が、前記動画ファイルに含まれる前記動画データのオフセット値とデータ長とを前記動画データより取得する第2の取得工程をさらに有し、
前記修復手段は前記修復工程において、前記第1の取得工程で得られた前記音声データのデータ長および、前記第2の取得工程で得られた前記動画データのオフセット値とデータ長に基づいて前記管理情報を修復する
ことを特徴とする請求項13に記載の修復方法。 - 前記第2の取得手段は前記第2の取得工程において、前記読み出し工程で読み出された、管理情報が修復される前の動画ファイルに含まれる情報に基づいて、前記動画データまたは前記音声データの先頭位置のオフセット値を算出することを特徴とする請求項14に記載の修復方法。
- 前記第1の取得手段は前記第1の取得工程において、前記動画ファイルに含まれる前記音声データを逆量子化せずに、前記音声データのデータ長を取得できるまで復号することで前記音声データのデータ長を取得することを特徴とする請求項13から15のいずれか1項に記載の修復方法。
- 前記第1の取得手段は前記第1の取得工程において、前記動画ファイルに含まれる前記音声データを逆離散コサイン変換せずに、前記音声データのデータ長を取得できるまで復号することで前記音声データのデータ長を取得することを特徴とする請求項13から16のいずれか1項に記載の修復方法。
- 前記音声データは、可変長符号化された音声データであることを特徴とする請求項13から17のいずれか1項に記載の修復方法。
- 動画データと音声データとが所定の周期で記録される動画ファイルを処理する情報処理装置であって、
前記動画ファイルを記録媒体から読み出す読み出し手段と、
前記動画ファイルに含まれる前記音声データを完全に復号せずに、前記音声データのデータ長を取得できるまで復号し、前記音声データのデータ長を取得する取得手段と、
前記取得手段で得られた前記音声データのデータ長に基づいて、前記動画ファイルの管理情報を修復する修復手段と、を有する
ことを特徴とする情報処理装置。 - 前記取得手段は、前記動画ファイルに含まれる前記動画データのオフセット値とデータ長とを前記動画データより取得し、
前記修復手段は、前記取得手段で得られた前記音声データのデータ長および、前記動画データのオフセット値とデータ長に基づいて前記管理情報を修復する
ことを特徴とする請求項19に記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012135126A JP2013258655A (ja) | 2012-06-14 | 2012-06-14 | 情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 |
US13/905,838 US20130336408A1 (en) | 2012-06-14 | 2013-05-30 | Information processing apparatus, information processing method and non-transitory storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012135126A JP2013258655A (ja) | 2012-06-14 | 2012-06-14 | 情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013258655A true JP2013258655A (ja) | 2013-12-26 |
Family
ID=49755898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012135126A Pending JP2013258655A (ja) | 2012-06-14 | 2012-06-14 | 情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130336408A1 (ja) |
JP (1) | JP2013258655A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023005843A (ja) * | 2021-06-29 | 2023-01-18 | キヤノン株式会社 | 処理装置およびその制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG71709A1 (en) * | 1996-05-08 | 2000-04-18 | Matsushita Electric Ind Co Ltd | Multiplex transmission method and system and audio jitter absorbing method used therein |
US6636896B1 (en) * | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
US9088296B2 (en) * | 2011-12-29 | 2015-07-21 | Microsoft Technology Licensing, Llc | Variable length coding and decoding using counters |
-
2012
- 2012-06-14 JP JP2012135126A patent/JP2013258655A/ja active Pending
-
2013
- 2013-05-30 US US13/905,838 patent/US20130336408A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130336408A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4481889B2 (ja) | データ記録装置及びその方法、プログラム、記録媒体 | |
DE60102831T2 (de) | System und verfahren zur verarbeitung von mpeg-stroemen fuer die einfuegung von dateiindex | |
KR101316579B1 (ko) | Mp4 파일 구성 장치 및 복구 장치, mp4 파일 구성 방법 및 복구 방법 | |
JP4450021B2 (ja) | 記録再生装置、記録装置、再生装置、記録方法、再生方法およびコンピュータプログラム | |
JP2013093755A (ja) | 映像記録装置及び映像記録方法 | |
JP4704972B2 (ja) | ストリーム編集方法及びストリーム編集装置 | |
JP4552802B2 (ja) | 記録装置、記録方法、記録方法のプログラム及び記録方法のプログラムを記録した記録媒体 | |
KR20140007893A (ko) | 비디오 스트림을 최적화하기 위한 방법 | |
RU2522040C2 (ru) | Устройство и способ воспроизведения, структура данных, носитель записи, устройство записи и способ записи и программа | |
JP2012170054A (ja) | 映像記録装置、映像再生装置および映像復旧装置 | |
JP2013258655A (ja) | 情報処理装置、動画生成装置、制御方法、プログラム、及び修復方法、 | |
KR101544365B1 (ko) | 기록장치 | |
JP2004007610A (ja) | 逆多重化装置 | |
US20140133838A1 (en) | Image processing apparatus, image processing method, and program | |
JP2007159058A (ja) | 記録装置及び記録方法、並びに再生装置及び再生方法 | |
JP6806577B2 (ja) | 記録装置及びその制御方法及びプログラム | |
JP2004096474A (ja) | 動画データの再生方法及び再生装置 | |
JP5191294B2 (ja) | 情報処理装置及びプログラム | |
JP2012060297A (ja) | プログレッシブダウンロード再生方法及び再生用プログラム | |
WO2020170659A1 (ja) | 編集システム | |
JP2009077110A (ja) | メディアファイル復旧装置及びメディアファイル復旧方法 | |
JP2003219362A (ja) | 映像記録再生装置、映像記録再生方法および監視システム | |
JP2005348078A (ja) | 録画装置 | |
JP6049369B2 (ja) | 画像処理装置及び画像処理装置の制御方法 | |
JP6071399B2 (ja) | 画像処理装置及び画像処理装置の制御方法 |