(57)【要約】【課題】  可変ビットレートのデータの正確な再生時間を、迅速に算出できるようにする。【解決手段】  ステップＳ１３の処理において、音声データは８乃至３２のいずれかの数のブロックに分割される。ステップＳ１５の処理において、分割されたブロックのそれぞれから、４Ｋバイト乃至８Ｋバイトのいずれかのデータ量の部分が抽出される。そして、ステップＳ１７の処理において、抽出された部分のそれぞれのヘッダから、ビットレートを示すビットレートインデックスが読み出される。ステップＳ１９の処理において、ビットレートインデックスで示されるビットレートの平均と、音声データ全体のデータ量とから音声データの再生時間が算出される。本発明は、可変ビットレートで圧縮符号化されている音声データの再生時間を算出するPDAに適用できる。【選択図】  図２
2005037743.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化されているデータの再生時間を算出する情報処理装置において、
前記データを複数のブロックに分割する分割手段と、
複数の前記ブロックのそれぞれから、所定のデータ量の部分を抽出する抽出手段と、
抽出された前記部分のそれぞれから、ビットレートを示す情報を読み出す読み出し手段と、
前記情報で示される前記ビットレートの平均と、前記データ全体のデータ量とから前記データの前記再生時間を算出する算出手段と
を含むことを特徴とする情報処理装置。
【請求項２】
前記分割手段は、前記データを、８乃至３２のいずれかの数の前記ブロックに分割する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記抽出手段は、前記ブロックの内の、前記データの先頭の前記ブロック以外の前記ブロックのそれぞれから、前記部分を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記抽出手段は、複数の前記ブロックのそれぞれから、４Ｋバイト乃至８Ｋバイトのいずれかのデータ量の前記部分を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
圧縮符号化されているデータの再生時間を算出する情報処理方法において、
前記データを複数のブロックに分割する分割ステップと、
複数の前記ブロックのそれぞれから、所定のデータ量の部分を抽出する抽出ステップと、
抽出された前記部分のそれぞれから、ビットレートを示す情報を読み出す読み出しステップと、
前記情報で示される前記ビットレートの平均と、前記データ全体のデータ量とから前記データの前記再生時間を算出する算出ステップと
を含むことを特徴とする情報処理方法。
【請求項６】
圧縮符号化されているデータの再生時間を算出する処理を、コンピュータに行わせるプログラムにおいて、
前記データを複数のブロックに分割する分割ステップと、
複数の前記ブロックのそれぞれから、所定のデータ量の部分を抽出する抽出ステップと、
抽出された前記部分のそれぞれから、ビットレートを示す情報を読み出す読み出しステップと、
前記情報で示される前記ビットレートの平均と、前記データ全体のデータ量とから前記データの前記再生時間を算出する算出ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、圧縮符号化されているデータの再生時間を算出する情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
圧縮符号化されている音声データが広く用いられるようになっている。
【０００３】
音声データの圧縮符号化の方式は、大きく分けて、固定ビットレートと可変ビットレートの２種類がある。可変ビットレートの圧縮符号化においては、その時点での音声信号の変化や、その前後での音声信号の変化などを基に、ビットレートを変更するものである。
【０００４】
このような、可変ビットレートの音声データの再生時間を表示する場合、全ての音声データを読み取って、フレーム数を取得し、フレームに格納されるサンプル数と、フレーム数と、サンプリング周波数とから再生時間を求めることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、再生前に、可変ビットレートの音声データの再生時間を表示する場合、正確な再生時間を表示させようとするとき、音声データの全体から音声データに含まれるフレーム数を求める必要があり、表示までに時間がかかるという問題があった。この場合、再生開始までに、時間がかかってしまうことになる。
【０００６】
一方、迅速に再生時間を表示させようとする場合、実際の再生時間とは大きく異なる、誤差の大きい再生時間を表示してしまうという問題があった。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、データを複数のブロックに分割する分割手段と、複数のブロックのそれぞれから、所定のデータ量の部分を抽出する抽出手段と、抽出された部分のそれぞれから、ビットレートを示す情報を読み出す読み出し手段と、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間を算出する算出手段とを含むことを特徴とする。
【０００８】
分割手段は、データを、８乃至３２のいずれかの数のブロックに分割するようにすることができる。
【０００９】
抽出手段は、ブロックの内の、データの先頭のブロック以外のブロックのそれぞれから、部分を抽出するようにすることができる。
【００１０】
抽出手段は、複数のブロックのそれぞれから、４Ｋバイト乃至８Ｋバイトのいずれかのデータ量の部分を抽出するようにすることができる。
【００１１】
本発明の情報処理方法は、データを複数のブロックに分割する分割ステップと、複数のブロックのそれぞれから、所定のデータ量の部分を抽出する抽出ステップと、抽出された部分のそれぞれから、ビットレートを示す情報を読み出す読み出しステップと、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間を算出する算出ステップとを含むことを特徴とする。
【００１２】
本発明のプログラムは、コンピュータに、データを複数のブロックに分割する分割ステップと、複数のブロックのそれぞれから、所定のデータ量の部分を抽出する抽出ステップと、抽出された部分のそれぞれから、ビットレートを示す情報を読み出す読み出しステップと、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間を算出する算出ステップとを実行させることを特徴とする。
【００１３】
情報処理装置は、独立した装置であっても良いし、例えば、オーディオプレーヤーの情報処理処理を行うブロックであっても良い。
【００１４】
本発明の情報処理装置および方法、並びにプログラムにおいては、データが複数のブロックに分割され、複数のブロックのそれぞれから、所定のデータ量の部分が抽出され、抽出された部分のそれぞれから、ビットレートを示す情報が読み出され、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間が算出される。
【発明の効果】
【００１５】
可変ビットレートのデータの正確な再生時間を、迅速に算出できる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００１７】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００１８】
請求項１に記載の情報処理装置は、データを複数のブロックに分割する分割手段（例えば、図２のステップＳ１３の処理を実行する図１のCPU１１）と、複数のブロックのそれぞれから、所定のデータ量の部分を抽出する抽出手段（例えば、図２のステップＳ１５の処理を実行する図１のCPU１１）と、抽出された部分のそれぞれから、ビットレートを示す情報を読み出す読み出し手段（例えば、図２のステップＳ１６の処理を実行する図１のCPU１１）と、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間を算出する算出手段（例えば、図２のステップＳ１９の処理を実行する図１のCPU１１）とを含むことを特徴とする。
【００１９】
図１は、本発明に係るPDA１の一実施の形態の構成を示すブロック図である。CPU（Central Processing Unit）１１は、SDRAM（Synchronous Random Access Memory）１２またはフラッシュメモリ１３に格納されているオペレーティングシステム、またはアプリケーションプログラム、クラスライブラリなどの各種のプログラムを実行する。
【００２０】
SDRAM１２は、CPU１１が実行するプログラムや、その実行において適宜変化するパラメータを格納する。フラッシュメモリ１３は、EEPROM（Electrically Erasable Programmable Read Only Memory）の一種であり、一般的には、CPU１１が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。
【００２１】
CPU１１には、フラッシュメモリ１３と共通のバスを介して、バッファ１４が接続されている。無線LANインターフェース１５は、バッファ１４を介して、CPU１１に接続さている。無線LANインターフェース１５は、IEEE（Institute of Electrical and Electronic Engineers）802.11a、IEEE802.11b、またはIEEE802.11gなどの規格に基づき、他の装置またはアクセスポイントなどと無線通信し、データまたは指令などを送受信する。バッファ１４は、CPU１１から供給され無線LANインターフェース１５が送信するデータを一時的に記憶するか、または無線LANインターフェース１５が受信しCPU１１に供給するデータを一時的に記憶する。
【００２２】
ブルートゥースインターフェース１６は、ブルートゥース（Bluetooth）規格に基づき、他の装置と無線通信し、データまたは指令などを送受信する。
【００２３】
表示部１７は、LCD（液晶表示装置）４１およびタッチパッド４２から構成されている。LCD４１は、CPU１１から供給されたデータを基に、アイコン、サムネイル、またはテキストなどの画像を表示する。タッチパッド４２は、LCD４１に積層して設けられている。
【００２４】
例えば、表示部１７は、CPU１１を介して、SDRAM１２上の特定のアドレスに割り当てられたビデオメモリ領域のデータを所定のタイミングで読み込み、読み込んだデータを基に、LCD４１に画像を表示させる。
【００２５】
なお、表示部１７は、LCD４１に限らず、有機EL（Electro Luminescence）表示装置など、薄型の表示装置を設けるようにしてもよい。
【００２６】
タッチパッド４２は、押圧による位置の指示の操作に対応したデータ（例えば、指示された位置を示す座標のデータ）をCPU１１に供給する。使用者は、LCD４１に積層されているタッチパッド４２を指またはペンなどで押圧することにより、PDA１に所定のデータまたは動作指示を入力する。
【００２７】
表示部１７は、押圧による圧力を感知するタッチパッド４２に限らず、デジタイザやタブレットなど、電磁気的に位置を検出する入力装置を設けるようにしてもよい。また、USB（Universal Serial Bus）インターフェース２２を介して、PDA１にマウスを接続し、PDA１は、マウスによって、位置の指示を取得するようにしてもよい。
【００２８】
カメラ部１８は、CCD（Charge Coupled Device）またはCMOS（Complementary Metal-Oxide Semiconductor）センサを受光素子とするカメラであり、CPU１１の制御の基に、静止画像または動画像を撮像して、撮像の結果得られた画像データをCPU１１に供給する。
【００２９】
オーディオ符号化／復号部１９は、CPU１１の制御の基に、CPU１１から供給された、符号化されている音声データを復号して、アナログの音声信号に変換し、音声信号をスピーカまたはヘッドフォンに供給する。また、オーディオ符号化／復号部１９は、CPU１１の制御の基に、マイクロフォンから供給されたアナログの音声信号をデジタルデータに変換して、符号化し、その結果得られた音声データをCPU１１に供給する。
【００３０】
キーボードコントローラ２０は、キーボードを制御すると共に、キーボードから供給された信号に対するデータをCPU１１に供給する。電源制御部２１は、図示せぬ装着されているバッテリまたは接続されているAC（Alternating current）アダプタなどから供給される電源の電圧などを監視して、必要な電源のCPU１１乃至赤外線通信部２５への供給を制御する。
【００３１】
USB（Universal Serial Bus）インターフェース２２は、USB規格に基づく、USB機器に接続するためのインターフェースである。例えば、USBインターフェース２２には、必要に応じて、USB機器であるドライブ５１が接続され、接続されているドライブ５１からデータまたはプログラムを入力するとともに、CPU１１から供給されたデータをドライブ５１に供給する。
【００３２】
ドライブ５１は、必要に応じて装着される磁気ディスク６１、光ディスク６２、光磁気ディスク６３、または、半導体メモリ６４に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、USBインターフェース２２を介して、CPU１１またはSDRAM１２に供給する。また、ドライブ５１は、装着されている磁気ディスク６１、光ディスク６２、光磁気ディスク６３、または半導体メモリ６４に、データまたはプログラムを記録させる。
【００３３】
メモリカードインターフェース２３は、図示せぬメモリカードスロットに装着されているメモリカードから供給されるプログラムまたはデータを取得するとともに、CPU１１から供給される各種データを、装着されているメモリカードに供給する。
【００３４】
ジョグダイヤル２４は、使用者による回転操作または押圧操作に応じた信号をCPU１１に供給する。例えば、ジョグダイヤル２４は、表示部１７に表示されたアイコン、サムネイルまたはテキストなどが使用者によって選択されるとき、回転操作を受けるか、または、本体側への押圧操作を受ける。例えば、表示部１７に複数のアイコンが表示されている状態で、ジョグダイヤル２４が回転操作を受けた場合、複数のアイコンの中から、所望のアイコンが選択され、ジョグダイヤル２４が本体側に押圧されたとき、選択されているアイコンが確定される。そして、確定されたアイコンがアプリケーションプログラムに対応している場合、そのアプリケーションプログラムが起動される。
【００３５】
赤外線通信部２５は、CPU１１から供給されたデータを赤外線信号として、他の機器に送信するとともに、他の機器から送信された赤外線信号を受信して、受信した赤外線信号に対するデータをCPU１１に供給する。
【００３６】
次に、例えば、MP3（Moving Pictures Experts Group 1 Audio Layer 3）再生プログラムを実行するPDA１における、MP3再生プログラムのモジュールである算出プログラムによる、MP3方式で圧縮符号化されている音声データの再生時間の算出の処理について説明する。
【００３７】
図２は、算出プログラムを実行するPDA１による、MP3方式で圧縮符号化されている音声データの演奏時間（再生時間）を算出する処理を説明するフローチャートである。ステップＳ１１において、算出プログラムは、音声ファイルを読み出す。例えば、算出プログラムは、フラッシュメモリ１３から、MP3方式で圧縮符号化されている音声データを格納する音声ファイルを読み出す。
【００３８】
図３は、MP3方式の音声ファイルの構成を示す図である。音声ファイルにおいて、音声データ１０１の前に、タグ１１２が付され、音声データ１０１の後ろに、タグ１１３が付されている。
【００３９】
ステップＳ１２において、算出プログラムは、音声ファイルからタグを除去する。例えば、算出プログラムは、音声ファイルから音声データを抽出するために、読み出した音声ファイルから、音声データの前または後ろに付加されている、付加データであるタグ１１２およびタグ１１３を除去する。
【００４０】
ステップＳ１３において、算出プログラムは、音声データ１０１を分割して、分割ブロックとする。例えば、図３で示されるように、算出プログラムは、タグ１１２およびタグ１１３が除去されて得られた音声データ１０１を、均等に１６分割して、分割ブロック１１１−１乃至１１１−１６を得る。
【００４１】
なお、音声データ１０１を分割する数は、実際の使用環境に応じて適正な値を任意に採用することができる。この場合、分割する数が少なすぎると、正確性に欠け、分割する数が多すぎると、迅速性に欠けることになるので、特に、８乃至３２のいずれかの数に分割するようにした場合、迅速に正確な再生時間を求めることができる。
【００４２】
ステップＳ１４において、算出プログラムは、最初の分割ブロックを捨てる。すなわち、算出プログラムは、分割して得られた分割ブロックのうち、音声データ１０１の先頭に位置する分割ブロック１１１を捨てる。
【００４３】
これは、音楽の音声データには、通常、演奏を開始するまでに無音部分が存在する。可変ビットレートの符号化においては、無音部分は、より少ないデータに圧縮符号化されるので、無音部分のビットレートは、小さい。この無音部分のビットレートを含めて再生時間を算出すると、正確な再生時間を算出することができなくなる。そこで、このような全体のビットレートに対して明らかに小さいビットレートの部分を除くことにより、より正確に、再生時間を算出するようにしたものである。
【００４４】
例えば、図３の分割ブロック１１１−１が捨てられ、分割ブロック１１１−２乃至分割ブロック１１１−１６が、ステップＳ１５以降の処理の対象となる。
【００４５】
ステップＳ１５において、算出プログラムは、各分割ブロックからヘッダ読みだしブロックを抽出する。例えば、算出プログラムは、分割ブロック１１１−２乃至分割ブロック１１１−１６のそれぞれから、所定のデータ量の部分をヘッダ読みだしブロック１１４−１乃至ヘッダ読みだしブロック１１４−１５として抽出する。より詳細には、例えば、図３で示されるように、算出プログラムは、分割ブロック１１１−２乃至分割ブロック１１１−１６のそれぞれの先頭から、８Ｋバイトのデータ量の部分をヘッダ読みだしブロック１１４−１乃至ヘッダ読みだしブロック１１４−１５として抽出する。
【００４６】
なお、分割ブロック１１１−２乃至分割ブロック１１１−１６のそれぞれから抽出される部分のデータ量は、８Ｋバイトに限らず、実際の使用環境に応じて適正な値を任意に採用することができる。データ量が少なすぎると、正確性に欠け、データ量が多すぎると、迅速性に欠けることになるので、特に、４Ｋバイト乃至８Ｋバイトのいずれかのデータ量の部分を抽出するようにした場合、迅速に正確な再生時間を求めることができる。
【００４７】
以下、ヘッダ読みだしブロック１１４−１乃至ヘッダ読みだしブロック１１４−１５を個々に区別する必要がないとき、単に、ヘッダ読みだしブロック１１４と称する。
【００４８】
ステップＳ１６において、算出プログラムは、各ヘッダ読みだしブロック１１４からヘッダを読み出す。
【００４９】
図４は、MP3方式で圧縮符号化されている音声データのヘッダの構造を示す図である。ヘッダの先頭には、１２ビットの”１”により構成される同期ワードが配置され、同期ワードに続いて、１ビットの”１”であるIDが配置される。ヘッダには、さらに、レイヤ、プロテクションビット、ビットレートインデックス、サンプリング周波数、パディングビット、プライベートビット、モード、モード拡張、コピーライト、オリジナル／コピー、およびエンファシスなどのデータが格納される。
【００５０】
ヘッダの先頭から１７ビット目乃至２０ビット目には、そのヘッダが付されたAAU（Audio Access Unit）のビットレートを示すビットレートインデックスが格納される。AAUは、フレームの一例である。図５に示されるように、４ビットのビットレートインディスクが、１（２進数の”０００１”）であるとき、AAUのビットレートは、３２Kbpsであり、２（２進数の”００１０”）であるとき、AAUのビットレートは、４０Kbpsであり、３（２進数の”００１１”）であるとき、AAUのビットレートは、４８Kbpsであり、４（２進数の”０１００”）であるとき、AAUのビットレートは、５６Kbpsであり、５（２進数の”０１０１”）であるとき、AAUのビットレートは、６４Kbpsである。
【００５１】
同様に、４ビットのビットレートインディスクが、６（２進数の”０１１０”）であるとき、AAUのビットレートは、８０Kbpsであり、７（２進数の”０１１１”）であるとき、AAUのビットレートは、９６Kbpsであり、８（２進数の”１０００”）であるとき、AAUのビットレートは、１１２Kbpsであり、９（２進数の”１００１”）であるとき、AAUのビットレートは、１２８Kbpsであり、１０（２進数の”１０１０”）であるとき、AAUのビットレートは、１６０Kbpsである。
【００５２】
さらに、４ビットのビットレートインディスクが、１１（２進数の”１０１１”）であるとき、AAUのビットレートは、１９２Kbpsであり、１２（２進数の”１１００”）であるとき、AAUのビットレートは、２２４Kbpsであり、１３（２進数の”１１０１”）であるとき、AAUのビットレートは、２５６Kbpsであり、１４（２進数の”１１１０”）であるとき、AAUのビットレートは、３２０Kbpsである。
【００５３】
このように、ステップＳ１６において、算出プログラムは、各ヘッダ読みだしブロック１１４からビットレートを示す情報を含むヘッダを読み出す。例えば、図３で示されるように、算出プログラムは、ヘッダ読みだしブロック１１４−１から、Ｎ個のヘッダ１１５−１−１乃至ヘッダ１１５−１−Ｎを読み出す。同様に、算出プログラムは、ヘッダ読みだしブロック１１４−２乃至ヘッダ読みだしブロック１１４−１５のそれぞれから、配置されているヘッダの全てを読み出す。算出プログラムは、ヘッダ読みだしブロック１１４−１５から、Ｍ個のヘッダ１１５−１５−１乃至ヘッダ１１５−１５−Ｍを読み出す。
【００５４】
この場合、例えば、算出プログラムは、１２ビットの”１”により構成される同期ワードを検出することにより、３２ビットのヘッダを検出して、検出したヘッダを読み出す。
【００５５】
図２に戻り、ステップＳ１７において、算出プログラムは、各ヘッダから、ビットレートを示す情報の一例であるビットレートインデックスを取得する。すなわち、例えば、上述したように、ビットレートインデックスは、ヘッダの先頭から１７ビット目乃至２０ビット目に配置されているので、算出プログラムは、ヘッダの先頭から１７ビット目乃至２０ビット目のデータを抽出することにより、ビットレートインデックスを取得する。
【００５６】
ステップＳ１８において、算出プログラムは、ビットレートの平均を求める。例えば、算出プログラムは、ステップＳ１７の処理で取得したビットレートインデックスのそれぞれに対して、図５で示される、ビットレートインデックスとビットレートとの対応を基に、ビットレートを求めて、求めたビットレートの平均を算出する。
【００５７】
より具体的には、例えば、算出プログラムは、ヘッダ１１５−１１−１乃至ヘッダ１１５−１５−Ｍのそれぞれから取得した、０乃至１５の値を有するビットレートインデックスのそれぞれを、３２Kbps，４０Kbps，４８Kbps，５６Kbps，６４Kbps，８０Kbps，９６Kbps，１１２Kbps，１２８Kbps，１６０Kbps，１９２Kbps，２２４Kbps，２５６Kbps、または３２０Kbpsのいずれかのビットレートに変換し、変換により求められたビットレートの全てを加算して、その結果をヘッダの数で割り算することにより、ビットレートの平均を算出する。
【００５８】
ステップＳ１９において、算出プログラムは、ステップＳ１８の処理で求められた平均のビットレートおよび音声データ１０１のデータ量から演奏時間（再生時間）を求める。
【００５９】
例えば、算出プログラムは、式（１）を基に、演奏時間（再生時間）を算出する。
演奏時間（秒）=データ量（バイト）×８／平均ビットレート（Kbps）      （１）
【００６０】
ステップＳ２０において、算出プログラムは、ステップＳ１９の処理で求められた演奏時間を表示部１７のLCD４１に表示させて、処理は終了する。
【００６１】
このように、PDA１は、可変ビットレートで圧縮符号化されている音声データの再生時間を、音声データの一部分から算出することができるので、迅速に再生時間を求めることができる。
【００６２】
次に、３つの音声データの例について、本発明によって算出された演奏時間（再生時間）と、実際の演奏時間（以下、実演奏時間と称する）との比較した結果を示す。以下に示す例において、音声データのサンプリング周波数は、44.1KHzである。
【００６３】
以下に示す結果において、実演奏時間は、式（２）により算出した。
実演奏時間（秒）=総フレーム数×1152／44100            （２）
式（２）において、フレーム数は、AUUの数に相当し、1152は、１フレーム当たりのサンプル数を示す。式（２）において、44100は、サンプリング周波数を示す。
【００６４】
第１の音声データのデータ量は、4484110バイトで、総フレーム数が10832であった。第１の音声データの実演奏時間は、式（２）より、282.958秒であった。
【００６５】
これに対して、本発明によって算出された演奏時間（再生時間）は、平均ビットレートが127Kbpsであったので、式（１）より、282.466秒と算出された。これを、実演奏時間と比較すると、(282.958 - 282.466) / 282.958 = 0.00173から、本発明によって算出された演奏時間の誤差は、0.17%であることがわかる。
【００６６】
第２の音声データのデータ量は、5168491バイトで、総フレーム数が10845であった。第２の音声データの実演奏時間は、式（２）より、283.298秒であった。
【００６７】
これに対して、本発明によって算出された演奏時間（再生時間）は、平均ビットレートが148Kbpsであったので、式（１）より、279.377秒と算出された。これを、実演奏時間と比較すると、(283.298 - 279.377) / 283.298 = 0.01384から、本発明によって算出された演奏時間の誤差は、1.38%であることがわかる。
【００６８】
第３の音声データのデータ量は、5063074バイトで、総フレーム数が10671であった。第３の音声データの実演奏時間は、式（２）より、278.753秒であった。
【００６９】
これに対して、本発明によって算出された演奏時間（再生時間）は、平均ビットレートが147Kbpsであったので、式（１）より、275.541秒と算出された。これを、実演奏時間と比較すると、(278.753 - 275.541) / 278.753 = 0.01152から、本発明によって算出された演奏時間の誤差は、1.15%であることがわかる。
【００７０】
このように、本発明においては、可変ビットレートのデータの再生時間を、正確かつ迅速に求めることができる。
【００７１】
なお、音声データは、MP3方式により圧縮符号化されていると説明したが、MP3方式に限らず、所定の単位（例えば、フレーム）毎に所定のビットレートで圧縮符号化され、単位毎にビットレートを示すデータが付される方式の音声データであれば、本発明により再生時間を算出することができる。
【００７２】
また、PDA１を情報処理装置の一例として説明したが、PDAに限らず、ポータブルプレーヤ、パーソナルコンピュータ、携帯電話機など音声を取り扱う他の種類の装置であってもよい。
【００７３】
なお、音声データに限らず、動画像データの再生時間を算出するようにしてもよい。
【００７４】
このように、ビットレートと、データ全体のデータ量とからデータの再生時間を算出するようにした場合には、データの再生時間を算出することができる。また、データを複数のブロックに分割し、複数のブロックのそれぞれから、所定のデータ量の部分を抽出し、抽出された部分のそれぞれから、ビットレートを示す情報を読み出し、情報で示されるビットレートの平均と、データ全体のデータ量とからデータの再生時間を算出するようにした場合には、可変ビットレートのデータの正確な再生時間を、迅速に算出することができる。
【００７５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【００７６】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク６３（ＭＤ(Mini-Disc)（商標）を含む）、若しくは半導体メモリ６４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスクなどで構成される。
【００７７】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【００７８】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【００７９】
【図１】本発明に係るPDAの一実施の形態の構成を示すブロック図である。
【図２】演奏時間を算出する処理を説明するフローチャートである。
【図３】算出プログラムが読み出すヘッダを説明する図である。
【図４】音声データのヘッダの構造を示す図である。
【図５】ビットレートインデックスとビットレートとの対応を説明する図である。
【符号の説明】
【００８０】
１  PDA，  １１  ＣＰＵ，  １２  ＳＤＲＡＭ，  １３  フラッシュメモリ，  １５  無線LANインターフェース，  １７  表示部，  １９  オーディオ符号化／復号部，  ６１  磁気ディスク，  ６２  光ディスク，  ６３  光磁気ディスク，  ６４  半導体メモリ，  １０１  音声データ，  １１１−１乃至１１１−１６  分割ブロック，  １１４−１乃至１１４−１５  ヘッダ読みだしブロック，  １１５−１−１乃至１１５−１５−Ｍ  ヘッダ
【図１】
2005037743.tif 000003
【図２】
2005037743.tif 000004
【図３】
2005037743.tif 000005
【図４】
2005037743.tif 000006
【図５】
2005037743.tif 000007