本発明は、動画像、音声などの符号化ストリームの多重化データを分離、復号して再生するデータ再生装置に関する。
近年、蓄積メディアや通信ネットワークの大容量化、あるいは伝送技術の進歩にともない、動画や音声などの符号化マルチメディアデータを扱う機器や、サービスが普及してきた。例えば、放送分野においては、従来のアナログ放送に代わり、デジタル符号化されたメディアデータの放送が開始された。現在のデジタル放送は、固定受信のみを対象としているが、携帯電話などの移動体向けの放送も予定されている。また、通信分野においても、第3世代の携帯電話向けの動画配信サービスが立ち上がるなど、固定端末と携帯端末の双方でマルチメディアデータを扱う環境が整ってきている。これらの背景を鑑みると、SD(Secure Digital)カードなどのメモリカード、あるいはDVD−RAM(Digital Versatile Disk−Rewritable)などの光ディスクに、放送や、インターネット経由で受信したコンテンツデータを記録し、機器間でコンテンツデータを共有するといった使用方法の普及が見込まれる。
ここで、オーディオデータの符号化方式の代表例としては、MPEG(Moving Picture Expert Group)で規格化されたAAC(Advanced Audio Coding)規格があり、デジタル放送、あるいは第三世代の携帯端末における動画サービスなどで幅広く使用されている。
オーディオデータの符号化においては、一般に、圧縮率が高くなるほど再生帯域の上限周波数が低下し、音質が劣化する。これは、高周波数成分の符号化に十分なビットが割り当てられないためである。そこで、このような高周波数成分の欠落を補うため、SBR(Spectral Band Replication)と呼ばれる、擬似的に帯域を拡張して高周波数成分を生成する技術が開発されている。具体的には、低周波数成分から高周波数成分を予測するための補助情報をストリーム内に格納することにより、圧縮率を上げて低ビットレート化した符号化データにおいても、帯域拡張処理を施すことにより高音質に再生することができる。ここで、1フレームのデータに含まれるAACの符号化データを基本データと呼ぶことにすると、フレームデータは基本データとSBRデータとから構成される。一般的に、SBRにより基本データの2倍の帯域まで再現することができるため、例えば、16kHzの基本データからは32kHzの出力データが得られる。なお、従来のAACに加えて、SBRを追加した符号化方式は、AAC−plusと呼ばれる。ここで、AAC−plusのフレームにSBRデータが含まれないときには、AACデータとして復号する。AAC−plusは、AACと互換性があるため、AAC−plusの復号部では、AACの符号化データを復号することができる。また、AACの復号部においても、AAC−plusのSBRデータを読み飛ばすことにより、基本データのみを復号することができる。以下では、AAC−plusと記述した際にはMPEG−2とMPEG−4の両方を包含して扱うこととし、両者を区別する際にはMPEG−2 AAC、MPEG−4 AACのように記述する。
上記のように、AAC−plusは、低ビットレートにおいて特に有効であるため、モバイル向けのサービスへの展開が見込まれており、第三世代携帯端末、あるいは、モバイル向けの地上デジタル放送などにおいて使用される。なお、モバイル向けの地上デジタル放送においては、MPEG−2 AACが使用される。図1は、モバイル向けの地上デジタル放送の概要を示す図である。放送局からは、MPEG−2のTS(Transport Stream)に多重化されたオーディオデータ、およびビデオデータが送信される。TSは、TSパケットと呼ばれる188バイト固定長のパケットのパケット列であり、携帯電話や車載端末などにおいては、このTSパケットを受信する。ここで、TSにおいては、オーディオデータ、ビデオデータの他に、番組情報を格納するセクションと呼ばれるデータ単位が送信され、受信側では、セクション内の番組情報を解析してから、オーディオデータ、ビデオデータを格納したTSパケットの受信を開始する。番組情報を示すセクションは、PMT(Program Map Table)と呼ばれる。
AAC、あるいはAAC−plusの符号化データをTSパケットにより伝送する際には、符号化データのフレームは、MPEG−2のADTS(Audio Data Transport Stream)フレームに変換してから伝送される。図2は、ADTSフレームのデータ構造を示す。ADTSフレームのヘッダ部には、ペイロードに格納されるオーディオデータのサンプリング周波数、チャネル数などの情報が格納され、ADTSフレームのペイロード部には、AAC、あるいはAAC−plusの1フレームのデータが格納される。AAC−plusの場合、ADTSヘッダのサンプリング周波数は基本データのサンプリング周波数を示すため、帯域拡張後のサンプリング周波数をADTSヘッダから取得することはできない。
次に、携帯端末で受信したモバイル向けの地上デジタル放送の記録について説明する。携帯端末向けのデジタル放送の開始に伴い、放送の記録が見込まれるが、記録時の多重化フォーマットとしては、第3世代携帯端末との相互接続性を確保する観点から、MP4ファイルフォーマット(以降、MP4と呼ぶ)の使用が想定される。ここで、MP4とは、ISO/IEC JTC1/SC29/WG 11で標準化されたファイルフォーマットであり、第3世代の移動体通信システムの規格化を目的とする国際標準化団体である3GPP(Third Generation Partnership Project)で、無線による動画配信規格として定められたTS26.234(Transparent end−to−end packet switched streaming service)において採用されている。3GPP規格では、AACとしてMPEG−4 AACが使用されるが、MPEG−4 AACはMPEG−2 AACに対して後方互換性を有するため、MPEG−4 AACに対応した端末であれば、MPEG−2 AACの符号化データを正しく復号、再生できる。また、MPEG−4 AAC固有の機能を使用していないMPEG−4 AACの符号化データであれば、MPEG−2 AACにのみ対応した端末であっても正しく復号、再生することが可能である。
以下に、MP4におけるAUデータの多重化方法について説明する。ここで、AUとはビデオの1ピクチャ、あるいはオーディオの1フレームに相当する。MP4では、サンプルと呼ばれる単位でメディアデータを扱い、1サンプルは1AUに相当し、各サンプルには復号時刻順で1ずつ増加するサンプル番号が振られる。さらに、サンプル単位のヘッダ情報やメディアデータは、Boxと呼ばれるオブジェクト単位で管理される。図3(a)はBoxの構造を示し、以下のフィールドから構成される。
size:sizeフィールドも含めたBox全体のサイズ
type:Boxの識別子であり、通常はアルファベット4文字で表される。フィールド長は4バイトであり、MP4ファイル内でBoxを検索する際には、連続する4バイト分のデータがtypeフィールドの識別子と一致するかどうかを判定することにより行う。
version:Boxのバージョン番号
flags:Box毎に設定されるフラグ情報
データ:ヘッダ情報やメディアデータが格納される。
なお、versionとflagsは必須でないため、Boxによってはこれらのフィールドは存在しない。以後、Boxの参照にはtypeフィールドの識別子を使用することとし、例えばtypeが‘moov’であるBoxは、moovと呼ぶ。MP4ファイルにおけるBox構造を図3(b)に示す。MP4ファイルは、ftyp、moov、mdat、あるいはmoofから構成され、ftypがファイルの先頭に配置される。ftypは、MP4ファイルを識別するための情報を含み、mdatには、メディアデータが格納される。mdatに含まれる各メディアデータはトラックと呼ばれ、各トラックはトラックIDにより識別される。次に、moovにはmdatの各トラックに含まれるサンプルについてのヘッダ情報が格納される。moov内では、図4(a)に示すように、Boxが階層的に配置され、オーディオ、ビデオなどの各メディアトラックにヘッダ情報は、それぞれ別々のtrakに格納される。trak内においても、Boxが階層的に配置され、サンプルのサイズや復号時刻、表示開始時間、あるいはランダムアクセス可能なサンプルの情報などがstbl内の各Boxに格納される(図4(b))。ランダムアクセス可能なサンプルはシンクサンプルと呼ばれ、シンクサンプルのサンプル番号の一覧は、stbl内のstssにより示される。上記では、トラック内の全サンプルのヘッダ情報をmoovに格納していたが、トラックを分割してフラグメント化し、フラグメント単位でヘッダ情報を格納することもできる。トラックを分割した単位に対するヘッダ情報は、moofにより示され、図5はフラグメント化したMP4ファイルの例であり、mdat#1に格納されるサンプルのヘッダ情報は、moof#1に格納される。
図6は、放送データを記録した従来のMP4ファイルの構造例を示す図である。従来のMP4ファイルでは、受信したAACをMPEG−2 AACとして記録する。従って、moov内には、MP4ファイルにおいて記録されるオーディオのトラックが、MPEG−2 AACであることを示す識別情報が格納される。また、AACの符号化データがMPEG−4 AACとは異なるため、MP4ファイル内に格納される符号化データの種類が3GPP規格準拠とはならない。さらに、MPEG−2 AACを格納するMP4ファイルのヘッダにおいては、SBR機能が有効であるかどうかを示す識別情報は存在せず、AAC−plusにおける基本データの周波数のみが示される。
また、SDなどの運用規格毎に定められた従来のブランドを使用するため、ftypに格納されたブランドからは、MP4ファイルに地上デジタル放送のデータが記録されているかどうかを判別できない。
図7は、従来のMP4ファイルを再生する従来のデータ再生装置1000の構成を示すブロック図である。データ再生装置1000は、ヘッダ分離部1001、入力周波数取得部1002、復号部1003、および出力部1004を備え、入力されたMP4ファイルからオーディオとビデオの符号化データを分離して、復号し、再生する(例えば、特許文献1参照。)。以下では、AAC再生時の動作について説明し、ビデオの再生動作については説明を省略する。なお、オーディオの符号化方式はAACあるいはAAC−plusに限定されるものではなく、AC3やMP3、あるいはそれら符号化方式に帯域拡張機能を付加した方式などであってもよい。
ヘッダ分離部1001は、MP4ファイルのヘッダを分離して、オーディオのサンプルリング周波数を示す情報を少なくとも含むヘッダ情報Hdrを入力周波数取得部1002へ出力し、mdatから分離したサンプルデータを復号部1003へ出力する。ここで、AAC−plusでは、サンプリング周波数として基本データの周波数が示される。入力周波数取得部1002は、ヘッダ情報Hdrを解析して、基本データの周波数である入力周波数FSinを取得し、復号部1003へ出力する。復号部1003は、入力周波数FSinに基づいてサンプルデータSplDatを復号し、復号結果である復号フレームFdataと、復号フレームFdataのサンプリング周波数である出力周波数FSoを出力部1004へ出力する。出力部1004は、出力周波数FSoに従って復号フレームFdataを出力する。
特開2003−114845公報
しかしながら、従来のデータ再生装置1000では、出力部1004は、サンプルデータSplDatを復号した後に復号フレームFdataの出力周波数FSoを取得することになるため、以下の課題がある。
図8は、従来のデータ再生装置1000でMP4ファイルを再生する際の課題を示す図である。図8の上段は、MP4ファイルに格納されたAAC−plusストリームの構造の一例を示している。この例の場合、基本データのサンプリング周波数は24kHzであり、0秒から10秒までと20秒から30秒までの区間ではSBR機能が有効であり、10秒から20秒までの区間ではSBR機能が無効である。このとき、復号部1003における復号結果である復号フレームFdataのサンプリング周波数は図8の下段のようになり、0秒から10秒までと20秒から30秒までの区間では帯域拡張処理により48kHzにアップサンプリングされ、10秒から20秒までの間は入力周波数である24kHzのまま出力される。
このとき、再生時刻が10秒と20秒の位置において、それぞれ復号フレームFdataのサンプリング周波数が切替わるため、出力部1004では出力周波数FSoの切替え処理が必要となる。出力周波数FSoの切替えには一定の時間がかかるため、結果として、切替わり部分1100において再生が途切れるという課題がある。
そこで、本発明は上記の事情に鑑みてなされたものであり、ストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができるデータ再生装置を提供することを目的とする。
上記目的を達成するため、本発明に係るデータ再生装置は、オーディオデータが符号化されたフレームデータと前記フレームデータの一部の再生帯域を拡張するための帯域拡張情報とを含む符号化ストリームを再生するデータ再生装置であって、前記符号化ストリームから前記フレームデータの基本サンプリング周波数を取得する取得手段と、前記フレームデータを再生する際の出力サンプリング周波数を、前記基本サンプリング周波数に基づいて、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定する決定手段と、前記基本サンプリング周波数で前記フレームデータを復号するとともに、前記一部のフレームデータについては、前記帯域拡張情報を用いて前記フレームデータの再生帯域を拡張し、前記一部以外のフレームデータについては、前記出力サンプリング周波数が前記基本サンプリング周波数と異なる場合に、前記基本サンプリング周波数から前記出力サンプリング周波数にアップサンプリングする復号手段とを備えることを特徴とする。これによって、複数のフレームデータで構成されるストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、出力サンプリング周波数を一定にすることができ、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができる。
また、前記決定手段は、前記基本サンプリング周波数が所定の値以下である場合に、前記出力サンプリング周波数を、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定してもよい。
また、前記決定手段は、前記基本サンプリング周波数が特定の値である場合にのみ、前記出力サンプリング周波数を、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定してもよい。
また、前記取得手段は、前記帯域拡張情報を有する前記フレームデータと有さない前記フレームデータとが混在する可能性があることを示す識別情報を前記符号化ストリームから取得し、前記決定手段は、前記基本サンプリング周波数および前記識別情報に基づいて、前記出力サンプリング周波数を決定してもよい。これによって、例えば、第1のフレームデータの中で対応する第2のフレームデータを有する部分と有さない部分とが混在する可能性がない場合、出力サンプリング周波数を簡単に決定することができる。
なお、本発明は、このようなデータ再生装置として実現することができるだけでなく、このようなデータ再生装置が備える特徴的な手段をステップとするデータ再生方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
本発明に係るデータ再生装置によれば、ストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、出力サンプリング周波数を一定にすることができ、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができる。
図1は、1セグ放送のサービス概要を示す図である。
図2は、従来のADTSフレームのデータ構造を示す図である。
図3(a)(b)は、MP4のBox構造を示す図である。
図4(a)(b)は、MP4におけるmoovの階層構造を示す図である。
図5は、MP4におけるmoofの使用方法を示す図である。
図6は、放送データ中のAACストリームを記録した従来のMP4ファイルの構造例を示す図である。
図7は、従来のデータ再生装置の構成を示すブロック図である。
図8は、従来のデータ再生装置の課題を示す図である。
図9は、本発明の実施の形態1に係るデータ再生装置の構成を示すブロック図である。
図10は、本発明の実施の形態1に係るデータ再生装置の動作概要を示すフローチャートである。
図11は、本発明の実施の形態1に係るデータ再生装置において出力フレームのサンプリング周波数を決定する動作を示すフローチャートである。
図12は、本発明の実施の形態1に係るデータ再生装置におけるMP4ファイルの再生例を示す図である。
図13は、本発明の実施の形態1に係るデータ再生装置において、サンプリング周波数以外のヘッダ情報に基づいて出力フレームのサンプリング周波数を決定する動作を示すフローチャートである。
図14は、本発明の実施の形態1に係るデータ再生装置に入力されるMP4ファイルの構造例を示す図である。
図15は、本発明の実施の形態1に係るデータ再生装置において、トラックに含まれるフレームのサンプリング周波数およびチャネル数の最大値に基づいて、出力フレームのサンプリング周波数およびチャネル数を決定する動作を示すフローチャートである。
図16は、本発明の実施の形態1に係るデータ再生装置を使用したサービス例を示す図である。
図17(a)〜(c)は、各実施の形態のデータ再生装置におけるデータ再生方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
符号の説明
1001 ヘッダ分離部
2001 入力周波数取得部
2002 出力周波数決定部
2003 復号部
2004 出力部
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図9は、本発明の実施の形態1に係るデータ再生装置2000の構成を示すブロック図である。データ再生装置2000は、入力されたAAC−plusのトラックを含むMP4ファイルからAAC−plusのサンプルデータを分離、復号して再生する装置であり、ヘッダ分離部1001、入力周波数取得部2001、出力周波数決定部2002、復号部2003、および出力部2004を備えている。なお、オーディオの符号化方式はAACあるいはAAC−plusに限定されるものではなく、AC3やMP3、あるいはそれら符号化方式に帯域拡張機能を付加した方式などであってもよいし、オーディオトラックが複数あってもよい。以下では、オーディオトラックの再生処理についてのみ説明し、ビデオトラックの再生処理については説明を省略するが、ビデオトラックの符号化方式としては、モバイル向けの地上デジタル放送で使用されるMPEG−4 AVC、あるいは、MPEG−4 Visual、H.263、VC−1(SMPTEで規格化された符号化方式)など他の符号化方式であってもよい。また、多重化の方式についても、AACあるいはAAC−plusなどの符号化データを格納できるフォーマットであればよく、例えば、ASF(Advanced Systems Format、マイクロソフト社の開発したフォーマット)やQuick Time(アップル社の開発したフォーマット)、あるいはTSのまま記録してもよい。TSにより記録する際には、TS再生時、あるいは記録したTSをIEEE1394などの規格に従って外部機器に転送する際に参照するヘッダ情報などを合わせて記録してもよい。ここで、TS再生時に参照する情報とは、ランダムアクセス可能なフレームのアドレス位置、再生時刻などを含む。
従来のデータ再生装置1000との違いは、SBRの有効/無効の切替わり位置においても復号フレームFdataのサンプリング周波数が一定となるようにサンプルデータSplDatを復号する点である。以下、従来のデータ再生装置と処理が異なる点について主に説明する。
入力周波数取得部2001は、ヘッダ情報Hdrを解析して、基本データの周波数である入力周波数(基本サンプリング周波数)FSinを取得し、出力周波数決定部2002へ出力する。出力周波数決定部2002は、入力周波数FSinに基づいて所定の処理を行い、復号フレームFdataのサンプリング周波数である出力周波数(出力サンプリング周波数)FSoutを決定し、復号部2003と出力部2004とへ出力する。復号部2003は、サンプルデータSplDatを復号し、復号フレームFdataのサンプリング周波数がFSoutとなるように、SplDatの復号結果を必要に応じてアップサンプリングする。また、復号部2003は、復号処理を行うフレームにおいてSBR機能が有効であれば、SBRデータ(帯域拡張情報)を取得し、入力周波数FSinで復号した基本データの復号結果に対してSBR処理によりサンプリング周波数を出力周波数FSoutにまで帯域拡張を行う。出力部2004は、出力周波数FSoutと同一の周波数で復号フレームFdataを出力する。ここで、出力部2004は、復号フレームFdataの入力に先立って、出力周波数FSoutを取得できる。
図10は、データ再生装置2000の動作を示すフローチャートである。まず、ステップ1001において、ヘッダ分離部1001は、入力されたMP4ファイルのデータからヘッダ部とペイロード部とを分離して、ステップ1002に進む。ここで、ヘッダ部とはftyp、moov、あるいはmoofなどを指し、ペイロード部とは、mdatを指す。ステップ1002では、入力周波数取得部2001は、ヘッダを解析して入力周波数FSinを取得する。次に、ステップ1003では、出力周波数決定部2002は、入力周波数取得部2001によって取得された入力周波数FSinに基づいて出力周波数FSoutを決定する。続いて、ステップ1004では、入力周波数FSinと出力周波数FSoutが等しいかどうか判定し、等しければステップ1008に進み、異なる場合にはステップ1005に進む。ステップ1005では、復号部2003は、復号処理を行うフレームにおいてSBR機能が有効であるかどうか判定し、有効であればステップ1007に進み、有効でなければステップ1006に進む。ステップ1006では、復号部2003は、入力周波数FSinでサンプルデータを復号し、復号結果を出力周波数FSoutにアップサンプリングして、ステップ1009に進む。
ここで、ステップ1003において出力周波数FSoutを決定する処理は、再生開始時にのみ行ってもよい。
さらに、ステップ1002とステップ1004の処理についても、必要に応じて行ってもよい。例えば、MP4ではサンプルエントリ単位で入力周波数FSinを変更できるが、トラック内に含まれるサンプルエントリが1つであれば、トラックにおいて入力周波数FSinは一定である。従って、ステップ1002とステップ1004はトラックの再生開始時においてのみ行えばよい。一方、ADTSフレームに格納されたAAC−plusのストリームがTSにより伝送されるなど、AAC−plusのフレーム毎に入力周波数FSinが付加されるようなケースでは、ステップ1002とステップ1004をフレーム単位で行ってもよい。このとき、ADTSフレームのヘッダとペイロードを分離する処理がステップ1001に相当する。また、TSパケット化されたAAC、あるいは、AAC−plusのデータを再生する際にも、別途取得した情報により、入力周波数FSinの切替わり単位が指定される際には、指定された単位毎にステップ1002とステップ1004を行ってもよい。
なお、サンプルにおいてSBR機能が有効であるかどうかは、入力周波数取得部2001あるいは出力周波数2002においてヘッダ情報Hdrを解析し、決定してもよいし、復号部2003においてサンプルデータを解析して決定してもよい。ヘッダ情報Hdrから取得する際には、AAC−plusの符号化データが格納されたトラック内のサンプルエントリの情報を使用できる。また、MP4ファイルのブランドなどにより、AAC−plusの符号化データにおいてSBRが有効であるかどうかを示される際には、それらの情報を使用してもよい。
ステップ1007では、復号部2003は、入力周波数FSinにおいて復号した基本データの復号結果に対してSBR処理によりサンプリング周波数を出力周波数FSoutにまで帯域拡張し、ステップ1009に進む。ステップ1008では、復号部2003は、入力周波数FSinでサンプルデータを復号して、ステップ1009に進む。最後に、ステップ1009において、出力部2004は、ステップ1006、ステップ1007、およびステップ1008の各ステップにおいて得られた復号部からの出力結果を再生する。
なお、規格あるいは実際の運用などにおいて基本データの周波数が固定とする際には、ステップ1004およびステップ1008の処理を省略してもよい。
次に、図11を参照して、ステップ1003における出力周波数FSoutの決定動作を説明する。まず、ステップ1101では、出力周波数決定部2002は、入力周波数FSinが所定の値以下であるかどうか判定し、所定の値以下であればステップ1102に進み、所定の値を超える場合にはステップ1103に進む。ステップ1103では、出力周波数決定部2002は、出力周波数FSoutは入力周波数FSinと同一であると決定する。ステップ1102では、出力周波数決定部2002は、出力周波数FSoutを入力周波数FSinの2倍にすると決定する。ここで、入力周波数の2倍というのは、SBRによる帯域拡張処理では、帯域が2倍に拡張されるためである。なお、本実施の形態のデータ再生装置2000では、ステップ1101における前記所定の値を24kHzに設定する。これは以下の理由による。ARIB(Association of Radio Industries andBusinesses,電波産業界)において規格化され、日本で実施されるモバイル向けの地上デジタル放送(以下、1セグ放送と呼ぶ。)においては、AACのサンプリング周波数は24kHzか48kHzの2通りである。従って、サンプリング周波数が24kHzである場合に48kHzにアップサンプリングして出力すれば、出力周波数を常に48kHzに保つことができるためである。1セグ放送では、SBR機能が有効である場合には、基本データのサンプリング周波数は24kHz固定である。
なお、ステップ1101では、入力周波数が所定の値であるかどうかに基づいて処理を切替えてもよい。また、ステップ1103では、出力周波数FSoutを入力周波数FSinの2倍とは異なる値に設定してもよいし、予め定めた所定の値に設定してもよい。さらに、ステップ1101における所定の値は、サービスに依存して24kHz以外の値としてもよい。
図12は、データ再生装置2000によって、図8と同一のMP4ファイルを再生する際の再生状態を示す図である。図12の下段は、図12の上段に示すMP4ファイルを再生する際に復号部2003から出力される復号フレームFdataのサンプリング周波数を示している。0秒か30秒までの全区間に渡って、基本データのサンプリング周波数である入力周波数FSinは24kHzであるため、ステップ1103において、出力周波数FSoutが24kHzの2倍である48kHzに設定に設定される。このため、出力周波数FSoutは48kHzで一定となることから、図8の下段に示される従来のデータ再生装置1000の再生動作とは異なり、再生時刻が10秒と20秒の位置においてもサンプリング周波数の切替わりは発生せず、途切れのない再生が実現できる。
以下では、上記で説明したデータ再生装置2000の動作の応用例について説明する。
MP4は、各種の運用規格によって採用されているが、運用規格によっては、MP4ファイルに格納されるAAC−plusのトラックにおいて、SBRを有効とできるかどうかを固定としている。つまり、SBRを有効とできる場合には、SBRの有効/無効をトラック内で切替えてもよいが、SBRが無効である際には、トラック内の全フレームにおいてSBR機能が無効である。図13は、トラック内の全フレームにおいてSBRを有効とできるかどうかに基づいて出力周波数FSoutの決定処理を切替える動作例を示すフローチャートである。ステップ1201では、MP4ファイル内のトラックにおいてSBRの有効/無効が切替わる可能性があることを示す識別子が存在するかどうか判定し、識別子が存在する際にはステップ1101に進み、識別子が存在しなければステップ1103に進む。ステップ1201で使用する識別子としては、MP4ファイルに記録されたAACあるいはAAC−plusのトラックが、1セグ放送を記録したものであることを示す情報を用いることが可能である。1セグ放送を記録したデータであることが示されればステップ1101に進むことになる。なお、識別情報は、ftypに示されるブランドであってもよいし、moovあるいはmoof内に存在する他のBoxに格納してもよい。例えば、SD規格であればsdvpと呼ばれるBoxを独自定義しているため、当該Boxにおいて1セグ放送を記録したデータであることを示してもよい。また、ftyp内のブランドは、compatible−brandあるいはmajor−brandのいずれであってもよい。compatible−brandには、MP4ファイルが互換性をもつブランドの一覧が示され、major−brandは、MP4ファイルと最も互換性が高いブランドを示す。あるいは、MP4ファイルとは別の情報により、通知してもよい。
なお、ブランドなどMP4ファイルの属性情報を示す識別子に基づいて、ステップ1003における出力周波数FSoutの決定処理を切替えてもよい。
図14は、1セグ放送のデータを記録したMP4ファイルの例を示す図である。ftypのcompatible−brandには‘1seg’ブランドが含まれ、‘1seg’ブランドを検出することにより、MP4ファイルには1セグ放送のデータが含まれると判定できる。さらに、図14のMP4ファイルでは、MP4ファイル内のトラックの符号化方式を3GPPなどの第3世代向けの運用規格準拠とするために、1セグ放送のMPEG−2 AACのデータをMPEG−4 AACのデータとして記録している。これにより、AACの符号化方式としてMPEG−2 AACにのみ対応した端末においても、ftypに‘1seg’ブランドが含まれていれば、符号化データ自体はMPEG−2 AAC準拠であると判定し、再生することができる。また、符号化方式が第3世代携帯向けの運用規格に準拠しているため、1セグ放送規格におけるオーディオとビデオの符号化条件を満たすデータを復号できる第3世代携帯端末においてもMP4ファイルが再生できる。ここで、前記符号化条件とは、オーディオであればサンプリング周波数、チャネル数、ビットレートなど、ビデオであれば画像サイズやビットレートなどである。MPEG−4 AACのデータとして記録する際に必要となる項目を以下に示す。
まず、moov内のオーディオトラックの符号化方式を示す情報において、MPEG−4 AACであることを示す。さらに、MP4ファイルにMPEG−4 AACのトラックを格納する際には、トラックにおいてSBR機能が有効であるサンプルが存在する可能性があるかどうかを示すことができるため、当該フィールドにおいて、SBR機能が有効であるサンプルが存在する可能性があることを示す。具体的には、stsd内のサンプルエントリにおいて、MPEG−4 AACの符号化データ内にSBRデータが含まれるかどうかを示すフラグであるsbrPresentFlagを‘1’あるいは‘−1’に設定する。sbrPresentFlagが‘1’であれば、SBRデータが含まれる可能性があることが明示的に示され、‘−1’であれば、SBRデータが含まれるかどうかは符号化データの外部からは明示的には示されないことになる。従って、ステップ1201においては、compatible−brandに‘1seg’ブランドが存在すればステップ1101に進むことにしてもよいし、‘1seg’ブランドが存在し、かつsbrPresentFlagが‘1’あるいは‘−1’である場合にのみステップ1101に進むことにしてもよい。また、sbrPresentFlagが‘1’あるいは‘−1’であればステップ1101に進んでもよい。なお、sbrPresentFlagが‘1’であれば、SBRが必ず有効であるとして運用することもできる。
図15は、復号データFdataのサンプリング周波数を一定にする他の動作例を示すフローチャートである。上記の動作では、AAC−plusにおける基本データのサンプリング周波数、およびAACにおけるサンプルのサンプリング周波数はFSinで示される既知の値であった。図15の例では、これら入力サンプルデータのサンプリング周波数が既知ではなく、代わりに最大値が示される点において上記動作と異なり、例えばAACの符号化データの周波数が24kHzと48kHzの間で切替わるケースなどに対応できる。
以下では、復号データFdataにおけるチャネル数についても一定にするとするが、サンプリング周波数、あるいはチャネル数のどちらか一方についてのみ復号部2003の出力を一定にする処理を行ってもよい。
入力のMP4ファイルにおいては、オーディオトラック内のサンプルにおけるサンプリング周波数の最大値FSmaxと、チャネル数の最大値CHmaxが示される。ここでは、オーディオトラックのサンプルエントリに格納されるサンプリング周波数とチャネル数が、それぞれサンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxを示すことにする。
まず、ステップ1301では、オーディオのサンプルエントリを解析して、サンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxを取得し、復号部2003に入力する。ステップ1302では、復号部2003は、サンプリング周波数の最大値FSmaxとサンプルのサンプリング周波数FSsplとが異なるかどうかを判定し、異なる場合にはステップ1303に進み、同一であればステップ1306に進む。ここで、サンプルにおいてSBR機能が有効である際には、サンプリング周波数FSsplは、帯域拡張後のサンプリング周波数を示すものとする。ステップ1303では、復号部2003は、チャネル数の最大値CHmaxとサンプルのチャネル数CHsplとが異なるかどうかを判定し、異なる場合にはステップ1304に進み、同一であればステップ1305に進む。ステップ1304では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数の最大値FSmaxにアップサンプリングし、チャネル数をチャネル数の最大値FSmaxに変換して出力する。ここで、例えばモノラルをステレオに変換する際には、2チャネルとも同一のデータから構成されるステレオデータにするなどして、チャネル数を変換する。一方、ステップ1305では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数の最大値FSmaxにアップサンプリングし、チャネル数はチャネル数CHsplのままで出力する。
また、ステップ1306では、ステップ1303と同様に復号部2003は、チャネル数の最大値CHmaxとサンプルのチャネル数CHsplとが異なるかどうかを判定し、異なる場合にはステップ1307に進み、同一であればステップ1308に進む。ステップ1307では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数はサンプリング周波数FSsplのままで、チャネル数をチャネル数の最大値FSmaxに変換して出力する。一方、ステップ1308では、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号し、出力する。つまり、出力周波数FSoutとサンプルのサンプリング周波数FSspl、出力チャネル数CHoutとサンプルのチャネル数CHsplとがそれぞれ同一となる。
なお、サンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxは、特別のBoxを設けるなどして、サンプルエントリとは別の場所に格納してもよい。
なお、上記では1セグ放送について述べたが、受信するAACあるいはAAC−plusの符号化データは1セグ放送に限定されるものではなく、さらに、インターネット経由で受信したデータであってもよい。さらに、放送やインターネット経由で受信したパケットデータを再生してから記録する際にも、上記の方法が適用できる。
また、記録メディアについても、SDカードに限定されるものではなく、他の不揮発メモリやハードディスクなどであってもよい。
ここまでは、出力のサンプリング周波数あるいはチャネル数を揃えることにより、これらパラメータの切替わりに伴う再生の途切れやノイズの発生など再生品質の低下を防ぐ方法について説明した。以下では、再生品質の低下を防ぐ他の方法について説明する。
第1に、パラメータの切替わり位置において特殊効果を使うことにより、聴覚上の違和感を低減できる。例えば、切替わり位置の前では除々に音量を下げていき、切替わり位置の後では除々に音量を上げていくことにより、パラメータの切替わり位置では音量が下がり、再生の途切れやノイズが低減できる。本方法では、予め切替わり位置を特定できる必要がある。ファイル再生時には、例えば、ファイルのヘッダ情報を解析して予め切替わり位置を特定できる。また、ファイルのヘッダ情報から切替わり位置を特定できない場合や、データを受信しながら再生する際などには、所定のフレーム数のデータを予めバッファリングしながら再生して、バッファリングされたフレーム内に切替わり位置が存在するかどうか判定できる。さらに、予め切替わり位置が特定できなくても、復号部においてフレームを復号する際にパラメータの切替わりを検出した際には、当該フレームの音量を落とすとともに、以降のフレームについても音量を除々に上げてもよい。
第2に、チャネル数の切替わり位置など特定の条件においてのみサンプリング周波数が切替わる際には、サンプリング周波数などの切替わり位置においても当該パラメータに基づいて再生してもよい。例えば、放送ではコマーシャルの部分のみ2チャンネルとなり、他の部分はモノラルとすることがあるが、本編とコマーシャルではコンテンツの内容が不連続であり、パラメータの切替わりに伴う再生品質の低下が聴覚上目立たないとみなせるケースがあるためである。
なお、本実施の形態では、データ再生装置2000に、AAC−plusのトラックを含むMP4ファイルが入力される場合を例にして説明を行っているが、これに限られるものではない。例えば、1セグ放送のMPEG−2のTSを受信し、再生する場合にも適用することが可能である。この場合、入力周波数取得部2001は、図2に示すようなADTSフレームのヘッダから、ペイロードに格納されているオーディオデータのサンプリング周波数、チャネル数等を取得すればよい。AAC−plusの場合、ADTSヘッダのサンプリング周波数は基本データのサンプリング周波数である。また、受信したMPEG−2のTSを記録した後、記録したMPEG−2のTSを再生する場合にも同様に適用することが可能である。
(実施の形態2)
ここで、上記実施の形態1で示したデータ再生装置を用いたシステムを説明する。
図16は、放送、および通信によるコンテンツ配信サービスを実現するシステムの全体構成を示すブロック図である。まず、放送データを受信するケースについて述べる。携帯電話ex105、あるいはDVDレコーダなどのディスクレコーダex104は、デジタル化された符号化メディアデータが多重化されたTSパケット列を受信する。携帯電話ex105では、受信したTSパケット列を、MP4に変換してからSDカードex106に記録する。記録したMP4ファイルは、本発明に係るデータ再生装置を備えた携帯電話ex105、ディスクレコーダex104、あるいは図示しないパーソナルコンピュータなどで視聴することができる。また、MP4ファイルを電子メールに添付して、携帯電話ex105から無線基地局ex107を経由して、本発明に係るデータ再生装置を備えた別の携帯電話ex108に送信し、携帯電話ex108においてMP4ファイルを視聴することもできる。さらに、電子メール添付ではなく、HTTP(Hyper Text Transport Protocol)およびTCP(Transmission Control Protocol)などのプロトコルを使用して、携帯電話ex105から携帯電話ex108にダウンロード、あるいは擬似ストリーミング配信してもよい。
ディスクレコーダex104においても、受信したTSパケット列をMP4に変換し、SDカード、DVDなどの光ディスク、あるいはハードディスクに記録することができる。また、記録したMP4ファイルを、携帯電話や図示しないパーソナルコンピュータに対してダウンロード、あるいは擬似ストリーミング配信してもよい。
コンテンツサーバex102からインターネット経由で配信されたTSパケット列を携帯電話ex105、あるいはディスクレコーダex104において受信する際にも、上記放送データを受信した際と同様にMP4ファイルを使用することができる。
また、TSに関わらず、インターネット上のストリーミング配信などで使用されるRTP(Real−time Transport Protocol)などのプロトコルにより送信されたデータをMP4で記録する際にも、本発明に係るデータ再生装置が適用できる。
(実施の形態3)
上記各実施の形態で示したデータ再生装置におけるデータ再生方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図17は、上記各実施の形態のデータ再生装置におけるデータ再生方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図17(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図17(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図17(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。データ再生装置におけるデータ再生方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記各実施の形態のデータ再生装置におけるデータ再生方法を実現するデータ再生方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
また、図9に示したブロック図の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
本発明に係るデータ再生装置は、途中で帯域拡張機能の有無、あるいはサンプリング周波数やチャネル数などの属性情報がストリーム途中で切替わるオーディオデータを格納したストリームを再生する際に、属性情報の切替わり位置においても途切れることのない再生を実現できるため、例えばデジタル放送を受信する携帯端末、カーナビ等の機器において特に有効である。
本発明は、動画像、音声などの符号化ストリームの多重化データを分離、復号して再生するデータ再生装置に関する。
近年、蓄積メディアや通信ネットワークの大容量化、あるいは伝送技術の進歩にともない、動画や音声などの符号化マルチメディアデータを扱う機器や、サービスが普及してきた。例えば、放送分野においては、従来のアナログ放送に代わり、デジタル符号化されたメディアデータの放送が開始された。現在のデジタル放送は、固定受信のみを対象としているが、携帯電話などの移動体向けの放送も予定されている。また、通信分野においても、第3世代の携帯電話向けの動画配信サービスが立ち上がるなど、固定端末と携帯端末の双方でマルチメディアデータを扱う環境が整ってきている。これらの背景を鑑みると、SD(Secure Digital)カードなどのメモリカード、あるいはDVD−RAM(Digital Versatile Disk-Rewritable)などの光ディスクに、放送や、インターネット経由で受信したコンテンツデータを記録し、機器間でコンテンツデータを共有するといった使用方法の普及が見込まれる。
ここで、オーディオデータの符号化方式の代表例としては、MPEG(Moving Picture Expert Group)で規格化されたAAC(Advanced Audio Coding)規格があり、デジタル放送、あるいは第三世代の携帯端末における動画サービスなどで幅広く使用されている。
オーディオデータの符号化においては、一般に、圧縮率が高くなるほど再生帯域の上限周波数が低下し、音質が劣化する。これは、高周波数成分の符号化に十分なビットが割り当てられないためである。そこで、このような高周波数成分の欠落を補うため、SBR(Spectral Band Replication)と呼ばれる、擬似的に帯域を拡張して高周波数成分を生成する技術が開発されている。具体的には、低周波数成分から高周波数成分を予測するための補助情報をストリーム内に格納することにより、圧縮率を上げて低ビットレート化した符号化データにおいても、帯域拡張処理を施すことにより高音質に再生することができる。ここで、1フレームのデータに含まれるAACの符号化データを基本データと呼ぶことにすると、フレームデータは基本データとSBRデータとから構成される。一般的に、SBRにより基本データの2倍の帯域まで再現することができるため、例えば、16kHzの基本データからは32kHzの出力データが得られる。なお、従来のAACに加えて、SBRを追加した符号化方式は、AAC−plusと呼ばれる。ここで、AAC−plusのフレームにSBRデータが含まれないときには、AACデータとして復号する。AAC−plusは、AACと互換性があるため、AAC−plusの復号部では、AACの符号化データを復号することができる。また、AACの復号部においても、AAC−plusのSBRデータを読み飛ばすことにより、基本データのみを復号することができる。以下では、AAC−plusと記述した際にはMPEG−2とMPEG−4の両方を包含して扱うこととし、両者を区別する際にはMPEG−2 AAC、MPEG−4 AACのように記述する。
上記のように、AAC−plusは、低ビットレートにおいて特に有効であるため、モバイル向けのサービスへの展開が見込まれており、第三世代携帯端末、あるいは、モバイル向けの地上デジタル放送などにおいて使用される。なお、モバイル向けの地上デジタル放送においては、MPEG−2 AACが使用される。図1は、モバイル向けの地上デジタル放送の概要を示す図である。放送局からは、MPEG−2のTS(Transport Stream)に多重化されたオーディオデータ、およびビデオデータが送信される。TSは、TSパケットと呼ばれる188バイト固定長のパケットのパケット列であり、携帯電話や車載端末などにおいては、このTSパケットを受信する。ここで、TSにおいては、オーディオデータ、ビデオデータの他に、番組情報を格納するセクションと呼ばれるデータ単位が送信され、受信側では、セクション内の番組情報を解析してから、オーディオデータ、ビデオデータを格納したTSパケットの受信を開始する。番組情報を示すセクションは、PMT(Program Map Table)と呼ばれる。
AAC、あるいはAAC−plusの符号化データをTSパケットにより伝送する際には、符号化データのフレームは、MPEG−2のADTS(Audio Data Transport Stream)フレームに変換してから伝送される。図2は、ADTSフレームのデータ構造を示す。ADTSフレームのヘッダ部には、ペイロードに格納されるオーディオデータのサンプリング周波数、チャネル数などの情報が格納され、ADTSフレームのペイロード部には、AAC、あるいはAAC−plusの1フレームのデータが格納される。AAC−plusの場合、ADTSヘッダのサンプリング周波数は基本データのサンプリング周波数を示すため、帯域拡張後のサンプリング周波数をADTSヘッダから取得することはできない。
次に、携帯端末で受信したモバイル向けの地上デジタル放送の記録について説明する。携帯端末向けのデジタル放送の開始に伴い、放送の記録が見込まれるが、記録時の多重化フォーマットとしては、第3世代携帯端末との相互接続性を確保する観点から、MP4ファイルフォーマット(以降、MP4と呼ぶ)の使用が想定される。ここで、MP4とは、ISO/IEC JTC1/SC29/WG 11で標準化されたファイルフォーマットであり、第3世代の移動体通信システムの規格化を目的とする国際標準化団体である3GPP(Third Generation Partnership Project)で、無線による動画配信規格として定められたTS26.234(Transparent end-to-end packet switched streaming service)において採用されている。3GPP規格では、AACとしてMPEG−4 AACが使用されるが、MPEG−4 AACはMPEG−2 AACに対して後方互換性を有するため、MPEG−4 AACに対応した端末であれば、MPEG−2 AACの符号化データを正しく復号、再生できる。また、MPEG−4 AAC固有の機能を使用していないMPEG−4 AACの符号化データであれば、MPEG−2 AACにのみ対応した端末であっても正しく復号、再生することが可能である。
以下に、MP4におけるAUデータの多重化方法について説明する。ここで、AUとはビデオの1ピクチャ、あるいはオーディオの1フレームに相当する。MP4では、サンプルと呼ばれる単位でメディアデータを扱い、1サンプルは1AUに相当し、各サンプルには復号時刻順で1ずつ増加するサンプル番号が振られる。さらに、サンプル単位のヘッダ情報やメディアデータは、Boxと呼ばれるオブジェクト単位で管理される。図3(a)はBoxの構造を示し、以下のフィールドから構成される。
size:sizeフィールドも含めたBox全体のサイズ
type:Boxの識別子であり、通常はアルファベット4文字で表される。フィールド長は4バイトであり、MP4ファイル内でBoxを検索する際には、連続する4バイト分のデータがtypeフィールドの識別子と一致するかどうかを判定することにより行う。
version:Boxのバージョン番号
flags:Box毎に設定されるフラグ情報
データ:ヘッダ情報やメディアデータが格納される。
なお、versionとflagsは必須でないため、Boxによってはこれらのフィールドは存在しない。以後、Boxの参照にはtypeフィールドの識別子を使用することとし、例えばtypeが'moov'であるBoxは、moovと呼ぶ。MP4ファイルにおけるBox構造を図3(b)に示す。MP4ファイルは、ftyp、moov、mdat、あるいはmoofから構成され、ftypがファイルの先頭に配置される。ftypは、MP4ファイルを識別するための情報を含み、mdatには、メディアデータが格納される。mdatに含まれる各メディアデータはトラックと呼ばれ、各トラックはトラックIDにより識別される。次に、moovにはmdatの各トラックに含まれるサンプルについてのヘッダ情報が格納される。moov内では、図4(a)に示すように、Boxが階層的に配置され、オーディオ、ビデオなどの各メディアトラックにヘッダ情報は、それぞれ別々のtrakに格納される。trak内においても、Boxが階層的に配置され、サンプルのサイズや復号時刻、表示開始時間、あるいはランダムアクセス可能なサンプルの情報などがstbl内の各Boxに格納される(図4(b))。ランダムアクセス可能なサンプルはシンクサンプルと呼ばれ、シンクサンプルのサンプル番号の一覧は、stbl内のstssにより示される。上記では、トラック内の全サンプルのヘッダ情報をmoovに格納していたが、トラックを分割してフラグメント化し、フラグメント単位でヘッダ情報を格納することもできる。トラックを分割した単位に対するヘッダ情報は、moofにより示され、図5はフラグメント化したMP4ファイルの例であり、mdat#1に格納されるサンプルのヘッダ情報は、moof#1に格納される。
図6は、放送データを記録した従来のMP4ファイルの構造例を示す図である。従来のMP4ファイルでは、受信したAACをMPEG−2 AACとして記録する。従って、moov内には、MP4ファイルにおいて記録されるオーディオのトラックが、MPEG−2 AACであることを示す識別情報が格納される。また、AACの符号化データがMPEG−4 AACとは異なるため、MP4ファイル内に格納される符号化データの種類が3GPP規格準拠とはならない。さらに、MPEG−2 AACを格納するMP4ファイルのヘッダにおいては、SBR機能が有効であるかどうかを示す識別情報は存在せず、AAC−plusにおける基本データの周波数のみが示される。
また、SDなどの運用規格毎に定められた従来のブランドを使用するため、ftypに格納されたブランドからは、MP4ファイルに地上デジタル放送のデータが記録されているかどうかを判別できない。
図7は、従来のMP4ファイルを再生する従来のデータ再生装置1000の構成を示すブロック図である。データ再生装置1000は、ヘッダ分離部1001、入力周波数取得部1002、復号部1003、および出力部1004を備え、入力されたMP4ファイルからオーディオとビデオの符号化データを分離して、復号し、再生する(例えば、特許文献1参照。)。以下では、AAC再生時の動作について説明し、ビデオの再生動作については説明を省略する。なお、オーディオの符号化方式はAACあるいはAAC−plusに限定されるものではなく、AC3やMP3、あるいはそれら符号化方式に帯域拡張機能を付加した方式などであってもよい。
ヘッダ分離部1001は、MP4ファイルのヘッダを分離して、オーディオのサンプルリング周波数を示す情報を少なくとも含むヘッダ情報Hdrを入力周波数取得部1002へ出力し、mdatから分離したサンプルデータを復号部1003へ出力する。ここで、AAC−plusでは、サンプリング周波数として基本データの周波数が示される。入力周波数取得部1002は、ヘッダ情報Hdrを解析して、基本データの周波数である入力周波数FSinを取得し、復号部1003へ出力する。復号部1003は、入力周波数FSinに基づいてサンプルデータSplDatを復号し、復号結果である復号フレームFdataと、復号フレームFdataのサンプリング周波数である出力周波数FSoを出力部1004へ出力する。出力部1004は、出力周波数FSoに従って復号フレームFdataを出力する。
特開2003―114845公報
しかしながら、従来のデータ再生装置1000では、出力部1004は、サンプルデータSplDatを復号した後に復号フレームFdataの出力周波数FSoを取得することになるため、以下の課題がある。
図8は、従来のデータ再生装置1000でMP4ファイルを再生する際の課題を示す図である。図8の上段は、MP4ファイルに格納されたAAC−plusストリームの構造の一例を示している。この例の場合、基本データのサンプリング周波数は24kHzであり、0秒から10秒までと20秒から30秒までの区間ではSBR機能が有効であり、10秒から20秒までの区間ではSBR機能が無効である。このとき、復号部1003における復号結果である復号フレームFdataのサンプリング周波数は図8の下段のようになり、0秒から10秒までと20秒から30秒までの区間では帯域拡張処理により48kHzにアップサンプリングされ、10秒から20秒までの間は入力周波数である24kHzのまま出力される。
このとき、再生時刻が10秒と20秒の位置において、それぞれ復号フレームFdataのサンプリング周波数が切替わるため、出力部1004では出力周波数FSoの切替え処理が必要となる。出力周波数FSoの切替えには一定の時間がかかるため、結果として、切替わり部分1100において再生が途切れるという課題がある。
そこで、本発明は上記の事情に鑑みてなされたものであり、ストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができるデータ再生装置を提供することを目的とする。
上記目的を達成するため、本発明に係るデータ再生装置は、オーディオデータが符号化されたフレームデータと前記フレームデータの一部の再生帯域を拡張するための帯域拡張情報とを含む符号化ストリームを再生するデータ再生装置であって、前記符号化ストリームから前記フレームデータの基本サンプリング周波数を取得する取得手段と、前記フレームデータを再生する際の出力サンプリング周波数を、前記基本サンプリング周波数に基づいて、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定する決定手段と、前記基本サンプリング周波数で前記フレームデータを復号するとともに、前記一部のフレームデータについては、前記帯域拡張情報を用いて前記フレームデータの再生帯域を拡張し、前記一部以外のフレームデータについては、前記出力サンプリング周波数が前記基本サンプリング周波数と異なる場合に、前記基本サンプリング周波数から前記出力サンプリング周波数にアップサンプリングする復号手段とを備えることを特徴とする。これによって、複数のフレームデータで構成されるストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、出力サンプリング周波数を一定にすることができ、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができる。
また、前記決定手段は、前記基本サンプリング周波数が所定の値以下である場合に、前記出力サンプリング周波数を、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定してもよい。
また、前記決定手段は、前記基本サンプリング周波数が特定の値である場合にのみ、前記出力サンプリング周波数を、前記帯域拡張情報を用いて前記フレームデータの再生帯域が拡張される場合のサンプリング周波数に決定してもよい。
また、前記取得手段は、前記帯域拡張情報を有する前記フレームデータと有さない前記フレームデータとが混在する可能性があることを示す識別情報を前記符号化ストリームから取得し、前記決定手段は、前記基本サンプリング周波数および前記識別情報に基づいて、前記出力サンプリング周波数を決定してもよい。これによって、例えば、第1のフレームデータの中で対応する第2のフレームデータを有する部分と有さない部分とが混在する可能性がない場合、出力サンプリング周波数を簡単に決定することができる。
なお、本発明は、このようなデータ再生装置として実現することができるだけでなく、このようなデータ再生装置が備える特徴的な手段をステップとするデータ再生方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
本発明に係るデータ再生装置によれば、ストリーム内において帯域拡張機能の有効/無効が切替わる場合であっても、出力サンプリング周波数を一定にすることができ、この帯域拡張機能の有効/無効の切替わり位置において途切れのない再生を実現することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図9は、本発明の実施の形態1に係るデータ再生装置2000の構成を示すブロック図である。データ再生装置2000は、入力されたAAC−plusのトラックを含むMP4ファイルからAAC−plusのサンプルデータを分離、復号して再生する装置であり、ヘッダ分離部1001、入力周波数取得部2001、出力周波数決定部2002、復号部2003、および出力部2004を備えている。なお、オーディオの符号化方式はAACあるいはAAC−plusに限定されるものではなく、AC3やMP3、あるいはそれら符号化方式に帯域拡張機能を付加した方式などであってもよいし、オーディオトラックが複数あってもよい。以下では、オーディオトラックの再生処理についてのみ説明し、ビデオトラックの再生処理については説明を省略するが、ビデオトラックの符号化方式としては、モバイル向けの地上デジタル放送で使用されるMPEG−4 AVC、あるいは、MPEG−4 Visual、H.263、VC−1(SMPTEで規格化された符号化方式)など他の符号化方式であってもよい。また、多重化の方式についても、AACあるいはAAC−plusなどの符号化データを格納できるフォーマットであればよく、例えば、ASF(Advanced Systems Format、マイクロソフト社の開発したフォーマット)やQuick Time(アップル社の開発したフォーマット)、あるいはTSのまま記録してもよい。TSにより記録する際には、TS再生時、あるいは記録したTSをIEEE1394などの規格に従って外部機器に転送する際に参照するヘッダ情報などを合わせて記録してもよい。ここで、TS再生時に参照する情報とは、ランダムアクセス可能なフレームのアドレス位置、再生時刻などを含む。
従来のデータ再生装置1000との違いは、SBRの有効/無効の切替わり位置においても復号フレームFdataのサンプリング周波数が一定となるようにサンプルデータSplDatを復号する点である。以下、従来のデータ再生装置と処理が異なる点について主に説明する。
入力周波数取得部2001は、ヘッダ情報Hdrを解析して、基本データの周波数である入力周波数(基本サンプリング周波数)FSinを取得し、出力周波数決定部2002へ出力する。出力周波数決定部2002は、入力周波数FSinに基づいて所定の処理を行い、復号フレームFdataのサンプリング周波数である出力周波数(出力サンプリング周波数)FSoutを決定し、復号部2003と出力部2004とへ出力する。復号部2003は、サンプルデータSplDatを復号し、復号フレームFdataのサンプリング周波数がFSoutとなるように、SplDatの復号結果を必要に応じてアップサンプリングする。また、復号部2003は、復号処理を行うフレームにおいてSBR機能が有効であれば、SBRデータ(帯域拡張情報)を取得し、入力周波数FSinで復号した基本データの復号結果に対してSBR処理によりサンプリング周波数を出力周波数FSoutにまで帯域拡張を行う。出力部2004は、出力周波数FSoutと同一の周波数で復号フレームFdataを出力する。ここで、出力部2004は、復号フレームFdataの入力に先立って、出力周波数FSoutを取得できる。
図10は、データ再生装置2000の動作を示すフローチャートである。まず、ステップ1001において、ヘッダ分離部1001は、入力されたMP4ファイルのデータからヘッダ部とペイロード部とを分離して、ステップ1002に進む。ここで、ヘッダ部とはftyp、moov、あるいはmoofなどを指し、ペイロード部とは、mdatを指す。ステップ1002では、入力周波数取得部2001は、ヘッダを解析して入力周波数FSinを取得する。次に、ステップ1003では、出力周波数決定部2002は、入力周波数取得部2001によって取得された入力周波数FSinに基づいて出力周波数FSoutを決定する。続いて、ステップ1004では、入力周波数FSinと出力周波数FSoutが等しいかどうか判定し、等しければステップ1008に進み、異なる場合にはステップ1005に進む。ステップ1005では、復号部2003は、復号処理を行うフレームにおいてSBR機能が有効であるかどうか判定し、有効であればステップ1007に進み、有効でなければステップ1006に進む。ステップ1006では、復号部2003は、入力周波数FSinでサンプルデータを復号し、復号結果を出力周波数FSoutにアップサンプリングして、ステップ1009に進む。
ここで、ステップ1003において出力周波数FSoutを決定する処理は、再生開始時にのみ行ってもよい。
さらに、ステップ1002とステップ1004の処理についても、必要に応じて行ってもよい。例えば、MP4ではサンプルエントリ単位で入力周波数FSinを変更できるが、トラック内に含まれるサンプルエントリが1つであれば、トラックにおいて入力周波数FSinは一定である。従って、ステップ1002とステップ1004はトラックの再生開始時においてのみ行えばよい。一方、ADTSフレームに格納されたAAC−plusのストリームがTSにより伝送されるなど、AAC−plusのフレーム毎に入力周波数FSinが付加されるようなケースでは、ステップ1002とステップ1004をフレーム単位で行ってもよい。このとき、ADTSフレームのヘッダとペイロードを分離する処理がステップ1001に相当する。また、TSパケット化されたAAC、あるいは、AAC−plusのデータを再生する際にも、別途取得した情報により、入力周波数FSinの切替わり単位が指定される際には、指定された単位毎にステップ1002とステップ1004を行ってもよい。
なお、サンプルにおいてSBR機能が有効であるかどうかは、入力周波数取得部2001あるいは出力周波数2002においてヘッダ情報Hdrを解析し、決定してもよいし、復号部2003においてサンプルデータを解析して決定してもよい。ヘッダ情報Hdrから取得する際には、AAC−plusの符号化データが格納されたトラック内のサンプルエントリの情報を使用できる。また、MP4ファイルのブランドなどにより、AAC−plusの符号化データにおいてSBRが有効であるかどうかを示される際には、それらの情報を使用してもよい。
ステップ1007では、復号部2003は、入力周波数FSinにおいて復号した基本データの復号結果に対してSBR処理によりサンプリング周波数を出力周波数FSoutにまで帯域拡張し、ステップ1009に進む。ステップ1008では、復号部2003は、入力周波数FSinでサンプルデータを復号して、ステップ1009に進む。最後に、ステップ1009において、出力部2004は、ステップ1006、ステップ1007、およびステップ1008の各ステップにおいて得られた復号部からの出力結果を再生する。
なお、規格あるいは実際の運用などにおいて基本データの周波数が固定とする際には、ステップ1004およびステップ1008の処理を省略してもよい。
次に、図11を参照して、ステップ1003における出力周波数FSoutの決定動作を説明する。まず、ステップ1101では、出力周波数決定部2002は、入力周波数FSinが所定の値以下であるかどうか判定し、所定の値以下であればステップ1102に進み、所定の値を超える場合にはステップ1103に進む。ステップ1103では、出力周波数決定部2002は、出力周波数FSoutは入力周波数FSinと同一であると決定する。ステップ1102では、出力周波数決定部2002は、出力周波数FSoutを入力周波数FSinの2倍にすると決定する。ここで、入力周波数の2倍というのは、SBRによる帯域拡張処理では、帯域が2倍に拡張されるためである。なお、本実施の形態のデータ再生装置2000では、ステップ1101における前記所定の値を24kHzに設定する。これは以下の理由による。ARIB(Association of Radio Industries andBusinesses,電波産業界)において規格化され、日本で実施されるモバイル向けの地上デジタル放送(以下、1セグ放送と呼ぶ。)においては、AACのサンプリング周波数は24kHzか48kHzの2通りである。従って、サンプリング周波数が24kHzである場合に48kHzにアップサンプリングして出力すれば、出力周波数を常に48kHzに保つことができるためである。1セグ放送では、SBR機能が有効である場合には、基本データのサンプリング周波数は24kHz固定である。
なお、ステップ1101では、入力周波数が所定の値であるかどうかに基づいて処理を切替えてもよい。また、ステップ1103では、出力周波数FSoutを入力周波数FSinの2倍とは異なる値に設定してもよいし、予め定めた所定の値に設定してもよい。さらに、ステップ1101における所定の値は、サービスに依存して24kHz以外の値としてもよい。
図12は、データ再生装置2000によって、図8と同一のMP4ファイルを再生する際の再生状態を示す図である。図12の下段は、図12の上段に示すMP4ファイルを再生する際に復号部2003から出力される復号フレームFdataのサンプリング周波数を示している。0秒か30秒までの全区間に渡って、基本データのサンプリング周波数である入力周波数FSinは24kHzであるため、ステップ1103において、出力周波数FSoutが24kHzの2倍である48kHzに設定に設定される。このため、出力周波数FSoutは48kHzで一定となることから、図8の下段に示される従来のデータ再生装置1000の再生動作とは異なり、再生時刻が10秒と20秒の位置においてもサンプリング周波数の切替わりは発生せず、途切れのない再生が実現できる。
以下では、上記で説明したデータ再生装置2000の動作の応用例について説明する。
MP4は、各種の運用規格によって採用されているが、運用規格によっては、MP4ファイルに格納されるAAC−plusのトラックにおいて、SBRを有効とできるかどうかを固定としている。つまり、SBRを有効とできる場合には、SBRの有効/無効をトラック内で切替えてもよいが、SBRが無効である際には、トラック内の全フレームにおいてSBR機能が無効である。図13は、トラック内の全フレームにおいてSBRを有効とできるかどうかに基づいて出力周波数FSoutの決定処理を切替える動作例を示すフローチャートである。ステップ1201では、MP4ファイル内のトラックにおいてSBRの有効/無効が切替わる可能性があることを示す識別子が存在するかどうか判定し、識別子が存在する際にはステップ1101に進み、識別子が存在しなければステップ1103に進む。ステップ1201で使用する識別子としては、MP4ファイルに記録されたAACあるいはAAC−plusのトラックが、1セグ放送を記録したものであることを示す情報を用いることが可能である。1セグ放送を記録したデータであることが示されればステップ1101に進むことになる。なお、識別情報は、ftypに示されるブランドであってもよいし、moovあるいはmoof内に存在する他のBoxに格納してもよい。例えば、SD規格であればsdvpと呼ばれるBoxを独自定義しているため、当該Boxにおいて1セグ放送を記録したデータであることを示してもよい。また、ftyp内のブランドは、compatible−brandあるいはmajor−brandのいずれであってもよい。compatible−brandには、MP4ファイルが互換性をもつブランドの一覧が示され、major−brandは、MP4ファイルと最も互換性が高いブランドを示す。あるいは、MP4ファイルとは別の情報により、通知してもよい。
なお、ブランドなどMP4ファイルの属性情報を示す識別子に基づいて、ステップ1003における出力周波数FSoutの決定処理を切替えてもよい。
図14は、1セグ放送のデータを記録したMP4ファイルの例を示す図である。ftypのcompatible−brandには'1seg'ブランドが含まれ、'1seg'ブランドを検出することにより、MP4ファイルには1セグ放送のデータが含まれると判定できる。さらに、図14のMP4ファイルでは、MP4ファイル内のトラックの符号化方式を3GPPなどの第3世代向けの運用規格準拠とするために、1セグ放送のMPEG−2 AACのデータをMPEG−4 AACのデータとして記録している。これにより、AACの符号化方式としてMPEG−2 AACにのみ対応した端末においても、ftypに'1seg'ブランドが含まれていれば、符号化データ自体はMPEG−2 AAC準拠であると判定し、再生することができる。また、符号化方式が第3世代携帯向けの運用規格に準拠しているため、1セグ放送規格におけるオーディオとビデオの符号化条件を満たすデータを復号できる第3世代携帯端末においてもMP4ファイルが再生できる。ここで、前記符号化条件とは、オーディオであればサンプリング周波数、チャネル数、ビットレートなど、ビデオであれば画像サイズやビットレートなどである。MPEG−4 AACのデータとして記録する際に必要となる項目を以下に示す。
まず、moov内のオーディオトラックの符号化方式を示す情報において、MPEG−4 AACであることを示す。さらに、MP4ファイルにMPEG−4 AACのトラックを格納する際には、トラックにおいてSBR機能が有効であるサンプルが存在する可能性があるかどうかを示すことができるため、当該フィールドにおいて、SBR機能が有効であるサンプルが存在する可能性があることを示す。具体的には、stsd内のサンプルエントリにおいて、MPEG−4 AACの符号化データ内にSBRデータが含まれるかどうかを示すフラグであるsbrPresentFlagを'1'あるいは'−1'に設定する。sbrPresentFlagが'1'であれば、SBRデータが含まれる可能性があることが明示的に示され、'−1'であれば、SBRデータが含まれるかどうかは符号化データの外部からは明示的には示されないことになる。従って、ステップ1201においては、compatible−brandに'1seg'ブランドが存在すればステップ1101に進むことにしてもよいし、'1seg'ブランドが存在し、かつsbrPresentFlagが'1'あるいは'−1'である場合にのみステップ1101に進むことにしてもよい。また、sbrPresentFlagが'1'あるいは'−1'であればステップ1101に進んでもよい。なお、sbrPresentFlagが'1'であれば、SBRが必ず有効であるとして運用することもできる。
図15は、復号データFdataのサンプリング周波数を一定にする他の動作例を示すフローチャートである。上記の動作では、AAC−plusにおける基本データのサンプリング周波数、およびAACにおけるサンプルのサンプリング周波数はFSinで示される既知の値であった。図15の例では、これら入力サンプルデータのサンプリング周波数が既知ではなく、代わりに最大値が示される点において上記動作と異なり、例えばAACの符号化データの周波数が24kHzと48kHzの間で切替わるケースなどに対応できる。
以下では、復号データFdataにおけるチャネル数についても一定にするとするが、サンプリング周波数、あるいはチャネル数のどちらか一方についてのみ復号部2003の出力を一定にする処理を行ってもよい。
入力のMP4ファイルにおいては、オーディオトラック内のサンプルにおけるサンプリング周波数の最大値FSmaxと、チャネル数の最大値CHmaxが示される。ここでは、オーディオトラックのサンプルエントリに格納されるサンプリング周波数とチャネル数が、それぞれサンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxを示すことにする。
まず、ステップ1301では、オーディオのサンプルエントリを解析して、サンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxを取得し、復号部2003に入力する。ステップ1302では、復号部2003は、サンプリング周波数の最大値FSmaxとサンプルのサンプリング周波数FSsplとが異なるかどうかを判定し、異なる場合にはステップ1303に進み、同一であればステップ1306に進む。ここで、サンプルにおいてSBR機能が有効である際には、サンプリング周波数FSsplは、帯域拡張後のサンプリング周波数を示すものとする。ステップ1303では、復号部2003は、チャネル数の最大値CHmaxとサンプルのチャネル数CHsplとが異なるかどうかを判定し、異なる場合にはステップ1304に進み、同一であればステップ1305に進む。ステップ1304では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数の最大値FSmaxにアップサンプリングし、チャネル数をチャネル数の最大値FSmaxに変換して出力する。ここで、例えばモノラルをステレオに変換する際には、2チャネルとも同一のデータから構成されるステレオデータにするなどして、チャネル数を変換する。一方、ステップ1305では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数の最大値FSmaxにアップサンプリングし、チャネル数はチャネル数CHsplのままで出力する。
また、ステップ1306では、ステップ1303と同様に復号部2003は、チャネル数の最大値CHmaxとサンプルのチャネル数CHsplとが異なるかどうかを判定し、異なる場合にはステップ1307に進み、同一であればステップ1308に進む。ステップ1307では、まず、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号する。そして、復号結果をサンプリング周波数はサンプリング周波数FSsplのままで、チャネル数をチャネル数の最大値FSmaxに変換して出力する。一方、ステップ1308では、サンプリング周波数をFSspl、チャネル数をCHsplとしてサンプルデータを復号し、出力する。つまり、出力周波数FSoutとサンプルのサンプリング周波数FSspl、出力チャネル数CHoutとサンプルのチャネル数CHsplとがそれぞれ同一となる。
なお、サンプリング周波数の最大値FSmaxとチャネル数の最大値CHmaxは、特別のBoxを設けるなどして、サンプルエントリとは別の場所に格納してもよい。
なお、上記では1セグ放送について述べたが、受信するAACあるいはAAC−plusの符号化データは1セグ放送に限定されるものではなく、さらに、インターネット経由で受信したデータであってもよい。さらに、放送やインターネット経由で受信したパケットデータを再生してから記録する際にも、上記の方法が適用できる。
また、記録メディアについても、SDカードに限定されるものではなく、他の不揮発メモリやハードディスクなどであってもよい。
ここまでは、出力のサンプリング周波数あるいはチャネル数を揃えることにより、これらパラメータの切替わりに伴う再生の途切れやノイズの発生など再生品質の低下を防ぐ方法について説明した。以下では、再生品質の低下を防ぐ他の方法について説明する。
第1に、パラメータの切替わり位置において特殊効果を使うことにより、聴覚上の違和感を低減できる。例えば、切替わり位置の前では除々に音量を下げていき、切替わり位置の後では除々に音量を上げていくことにより、パラメータの切替わり位置では音量が下がり、再生の途切れやノイズが低減できる。本方法では、予め切替わり位置を特定できる必要がある。ファイル再生時には、例えば、ファイルのヘッダ情報を解析して予め切替わり位置を特定できる。また、ファイルのヘッダ情報から切替わり位置を特定できない場合や、データを受信しながら再生する際などには、所定のフレーム数のデータを予めバッファリングしながら再生して、バッファリングされたフレーム内に切替わり位置が存在するかどうか判定できる。さらに、予め切替わり位置が特定できなくても、復号部においてフレームを復号する際にパラメータの切替わりを検出した際には、当該フレームの音量を落とすとともに、以降のフレームについても音量を除々に上げてもよい。
第2に、チャネル数の切替わり位置など特定の条件においてのみサンプリング周波数が切替わる際には、サンプリング周波数などの切替わり位置においても当該パラメータに基づいて再生してもよい。例えば、放送ではコマーシャルの部分のみ2チャンネルとなり、他の部分はモノラルとすることがあるが、本編とコマーシャルではコンテンツの内容が不連続であり、パラメータの切替わりに伴う再生品質の低下が聴覚上目立たないとみなせるケースがあるためである。
なお、本実施の形態では、データ再生装置2000に、AAC−plusのトラックを含むMP4ファイルが入力される場合を例にして説明を行っているが、これに限られるものではない。例えば、1セグ放送のMPEG−2のTSを受信し、再生する場合にも適用することが可能である。この場合、入力周波数取得部2001は、図2に示すようなADTSフレームのヘッダから、ペイロードに格納されているオーディオデータのサンプリング周波数、チャネル数等を取得すればよい。AAC−plusの場合、ADTSヘッダのサンプリング周波数は基本データのサンプリング周波数である。また、受信したMPEG−2のTSを記録した後、記録したMPEG−2のTSを再生する場合にも同様に適用することが可能である。
(実施の形態2)
ここで、上記実施の形態1で示したデータ再生装置を用いたシステムを説明する。
図16は、放送、および通信によるコンテンツ配信サービスを実現するシステムの全体構成を示すブロック図である。まず、放送データを受信するケースについて述べる。携帯電話ex105、あるいはDVDレコーダなどのディスクレコーダex104は、デジタル化された符号化メディアデータが多重化されたTSパケット列を受信する。携帯電話ex105では、受信したTSパケット列を、MP4に変換してからSDカードex106に記録する。記録したMP4ファイルは、本発明に係るデータ再生装置を備えた携帯電話ex105、ディスクレコーダex104、あるいは図示しないパーソナルコンピュータなどで視聴することができる。また、MP4ファイルを電子メールに添付して、携帯電話ex105から無線基地局ex107を経由して、本発明に係るデータ再生装置を備えた別の携帯電話ex108に送信し、携帯電話ex108においてMP4ファイルを視聴することもできる。さらに、電子メール添付ではなく、HTTP(Hyper Text Transport Protocol)およびTCP(Transmission Control Protocol)などのプロトコルを使用して、携帯電話ex105から携帯電話ex108にダウンロード、あるいは擬似ストリーミング配信してもよい。
ディスクレコーダex104においても、受信したTSパケット列をMP4に変換し、SDカード、DVDなどの光ディスク、あるいはハードディスクに記録することができる。また、記録したMP4ファイルを、携帯電話や図示しないパーソナルコンピュータに対してダウンロード、あるいは擬似ストリーミング配信してもよい。
コンテンツサーバex102からインターネット経由で配信されたTSパケット列を携帯電話ex105、あるいはディスクレコーダex104において受信する際にも、上記放送データを受信した際と同様にMP4ファイルを使用することができる。
また、TSに関わらず、インターネット上のストリーミング配信などで使用されるRTP(Real−time Transport Protocol)などのプロトコルにより送信されたデータをMP4で記録する際にも、本発明に係るデータ再生装置が適用できる。
(実施の形態3)
上記各実施の形態で示したデータ再生装置におけるデータ再生方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図17は、上記各実施の形態のデータ再生装置におけるデータ再生方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図17(b) は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図17(a) は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図17(c) は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。データ再生装置におけるデータ再生方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記各実施の形態のデータ再生装置におけるデータ再生方法を実現するデータ再生方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
また、図9に示したブロック図の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサー を利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
本発明に係るデータ再生装置は、途中で帯域拡張機能の有無、あるいはサンプリング周波数やチャネル数などの属性情報がストリーム途中で切替わるオーディオデータを格納したストリームを再生する際に、属性情報の切替わり位置においても途切れることのない再生を実現できるため、例えばデジタル放送を受信する携帯端末、カーナビ等の機器において特に有効である。
図1は、1セグ放送のサービス概要を示す図である。
図2は、従来のADTSフレームのデータ構造を示す図である。
図3(a)(b)は、MP4のBox構造を示す図である。
図4(a)(b)は、MP4におけるmoovの階層構造を示す図である。
図5は、MP4におけるmoofの使用方法を示す図である。
図6は、放送データ中のAACストリームを記録した従来のMP4ファイルの構造例を示す図である。
図7は、従来のデータ再生装置の構成を示すブロック図である。
図8は、従来のデータ再生装置の課題を示す図である。
図9は、本発明の実施の形態1に係るデータ再生装置の構成を示すブロック図である。
図10は、本発明の実施の形態1に係るデータ再生装置の動作概要を示すフローチャートである。
図11は、本発明の実施の形態1に係るデータ再生装置において出力フレームのサンプリング周波数を決定する動作を示すフローチャートである。
図12は、本発明の実施の形態1に係るデータ再生装置におけるMP4ファイルの再生例を示す図である。
図13は、本発明の実施の形態1に係るデータ再生装置において、サンプリング周波数以外のヘッダ情報に基づいて出力フレームのサンプリング周波数を決定する動作を示すフローチャートである。
図14は、本発明の実施の形態1に係るデータ再生装置に入力されるMP4ファイルの構造例を示す図である。
図15は、本発明の実施の形態1に係るデータ再生装置において、トラックに含まれるフレームのサンプリング周波数およびチャネル数の最大値に基づいて、出力フレームのサンプリング周波数およびチャネル数を決定する動作を示すフローチャートである。
図16は、本発明の実施の形態1に係るデータ再生装置を使用したサービス例を示す図である。
図17(a)〜(c)は、各実施の形態のデータ再生装置におけるデータ再生方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
符号の説明
1001 ヘッダ分離部
2001 入力周波数取得部
2002 出力周波数決定部
2003 復号部
2004 出力部