(57)【特許請求の範囲】
【請求項１】
エンコードデータに対するデコードデータの平均サイズを予め算出し、
前記エンコードデータのシーク後においては、
前記エンコードデータの先頭から前記シーク後の再生再開位置までのサイズと、前記平均サイズから、前記デコードデータの先頭から前記再生再開位置までの第１のサイズを予測し、
前記第１のサイズを前記デコードデータの時間あたりのサイズで除算して、前記再生再開位置における第１の予測時刻を算出して表示し、
前記エンコードデータの前記シーク後における、前記エンコードデータの再生再開後においては、
前記デコードデータの前記再生再開位置から現在再生中の再生位置までの第２のサイズを、前記デコードデータの時間あたりのサイズで除算した後に前記第１の予測時刻に加算して、前記再生位置の第２の予測時刻を算出し、
前記第２の予測時刻を再生時刻として表示することを特徴とするエンコードデータの再生時刻表示方法。
【請求項２】
複数のフレームによって構成されたエンコードデータにおける前記フレームの平均再生時間を予め算出し、
前記エンコードデータのシーク後においては、
前記エンコードデータの先頭から前記シーク後の再生再開位置までのフレーム数と、前記平均再生時間から、前記再生再開位置における第１の予測時刻を算出して表示し、
前記エンコードデータの前記シーク後における、前記エンコードデータの再生再開後においては、
前記再生再開位置から現在再生中の再生位置までのフレーム数を前記平均再生時間で除算した後、前記第１の予測時刻に加算して、前記再生位置の第２の予測時刻を算出し、
前記第２の予測時刻を再生時刻として表示することを特徴とするエンコードデータの再生時刻表示方法。
【請求項３】
前記エンコードデータは、前記フレームに係る再生時刻を算出できるデータを有するヘッダデータを備えた前記複数のフレームによって構成され、
前記エンコードデータの前記シーク後における、前記エンコードデータの前記再生再開後においては、
前記現在再生中の前記フレームが備えている前記ヘッダデータから算出した前記再生時刻が、前記第２の予測時刻を超えるまで前記第２の予測時刻を表示し、前記ヘッダデータから算出した前記再生時刻が、前記第２の予測時刻を超えた後には前記ヘッダデータから算出した前記再生時刻を表示することを特徴とする請求項２に記載のエンコードデータの再生時刻表示方法。
【請求項４】
前記エンコードデータの前記シーク後における、前記エンコードデータの前記再生再開後においては、
前記現在再生中の前記フレームが備えている前記ヘッダデータから算出した前記再生時刻が、前記第２の予測時刻よりも１秒以上大きい場合には、１秒以内に、表示されている前記第２の予測時刻を前記ヘッダデータから算出した前記再生時刻に更新することを特徴とする請求項３に記載のエンコードデータの再生時刻表示方法。
【請求項５】
エンコードデータの再生及び早送り／巻き戻しを行う再生手段と、
前記エンコードデータにおける再生再開位置及び早送り／巻き戻し位置の時刻を表示する表示手段と、
請求項１〜４のいずれか１項に記載のエンコードデータの再生時刻表示方法をプログラムにより実行する制御手段と、
を有することを特徴とする再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、MP3(MPEG-1Audio Layer 3)形式、WMA(Windows（登録商標） Media Audio)形式等の圧縮された音楽や映像等を記録したエンコードデータにおけるデータシーク(早送り/巻き戻し)後の再生再開時刻を算出してこの再生再開時刻を表示するエンコードデータの再生時刻表示方法と、これを用いたオーディオ、ビデオ等の再生装置に関するものである。
【背景技術】
【０００２】
従来、MP3形式等の圧縮された音楽や映像を記録したエンコードデータの再生時刻を表示する機能を有する再生装置において、音楽のエンコードデータを再生するオーディオ装置に関する技術として、例えば、次のような文献に記載されるものがあった。
【０００３】
【特許文献１】特開２００４−４５５９０号公報
【０００４】
従来のこの種のオーディオ装置では、特許文献１に記載されているように、オーディオデータがMP3等の所定の音声圧縮方法に従って符号化されたエンコードデータを、曲毎にファイル化して記憶媒体（例えば、DVD(Digital Versatile Disc)、ハードディスク等）に記憶しておき、連続的に、あるいは所望の曲を指定して再生する機能や、曲毎の演奏時間及び再生時刻を表示する機能等を有している。
【０００５】
再生機能は、例えば、個別回路（ハードウェア）により実現したり、あるいは、中央処理装置（以下「CPU」という。）を用いたソフトウェアコーデック等により実現している。装置を小型化する場合、ハードウェアで実現すると装置が大型化するので、ソフトウェアコーデック等で実現する方法が採用されている。
【０００６】
例えば、ソフトウェアコーデックで再生機能を実現する場合、エンコードデータにおけるデータシーク（早送り／巻き戻し）後の再生再開時刻を表示するためには、再生再開時刻を算出することが必要になる。従来のエンコードデータにおけるデータシーク後の再生再開時刻の算出方法としては、例えば、図６や図７に示すような方法が知られている。
【０００７】
図６は、従来のエンコードデータにおける再生時刻算出方法を示す図、図７は、従来の他のエンコードデータにおける再生時刻算出方法を示す図である。
【０００８】
図６に示すエンコードデータの再生時刻算出方法では、１曲分のエンコードデータ１において、先頭２−１から、データシーク後の再生再開位置２−２までのエンコードデータ１ａを、デコーダ３でデコード（復号化）し、このデコード後のデコードデータ４のサイズを求め、このサイズから再生再開位置２−２の再生時刻を計算している。
【０００９】
図７に示す他のエンコードデータの再生時刻算出方法では、例えば、リアルタイム再生用のストリーミング形式のエンコードデータを使用している。ストリーミング形式のエンコードデータの場合、特許文献１等に記載されているように、１曲分のエンコードデータ５が、複数のフレーム(デコード単位)FR0,FR1,FR2,FR3,FR4,FR5,・・・により構成されている。各フレームFR0，・・・には、それぞれヘッダデータFHがあり、このヘッダデータFHの中にフレームFR0，FR1,・・・が再生される時刻を算出できるデータが存在している。データシーク後の再生再開位置６の再生再開時刻を求める場合は、その再生再開位置６におけるフレーム（例えば、FR3）のヘッダデータFHを利用して再生再開時刻を計算している。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来の図６や図７のようなエンコードデータの再生時刻算出方法では、次の（ａ）〜（ｃ）のような課題があった。
【００１１】
（ａ）  図６の再生時刻算出方法
例えば、ソフトウェアコーデックを用いてエンコードデータを再生するオーディオ装置において、図６のように、データシーク等の操作によってエンコードデータ１の途中から再生再開する場合、現在（再生再開位置２−２）の再生再開時刻を計算するために、エンコードデータ１の最初（先頭２−１）から再生再開位置２−２までをデコードし、このデコードデータ４のサイズを求めて再生再開時刻を計算しているが、このような方法だと、演算処理に時間が掛かり、再生開始のレスポンス（応答）が悪くなる。
【００１２】
（ｂ）  図７の再生時刻算出方法
ストリーミング形式のエンコードデータの場合、図７のような再生時刻算出方法では、再生開始位置６のフレーム（例えば、ＦＲ３）を取得するまでの時間が掛かり、やはり再生開始のレスポンスが悪くなる。
【００１３】
（ｃ）  レスポンス向上の方法
前記（ａ）、（ｂ）におけるレスポンス向上の方法として、例えば、デコードデータ１又はフレームＦＲ０，ＦＲ１，・・・の時間情報を予めテーブル（記憶媒体）として確保しておき、再生再開時刻の計算処理を短縮させる方法も考えられるが、装置の小型化のために、テーブルを作成するための十分なメモリ領域を用意できないオーディオ装置では、実装が困難である。
【００１４】
このような（ａ）〜（ｃ）の課題は、オーディオ装置以外のビデオ装置等の再生装置についても言えることである。
【課題を解決するための手段】
【００１５】
従来の課題を解決するために、本発明におけるエンコードデータの再生時刻表示方法では、エンコードデータに対するデコードデータの平均サイズを予め算出し、前記エンコードデータのシーク後においては、前記エンコードデータの先頭から前記シーク後の再生再開位置までのサイズと、前記平均サイズから、前記デコードデータの先頭から前記再生再開位置までの第１のサイズを予測し、前記第１のサイズを前記デコードデータの時間あたりのサイズで除算して、前記再生再開位置における第１の予測時刻を算出して表示し、前記エンコードデータの前記シーク後における、前記エンコードデータの再生再開後においては、前記デコードデータの前記再生再開位置から現在再生中の再生位置までの第２のサイズを、前記デコードデータの時間あたりのサイズで除算した後に前記第１の予測時刻に加算して、前記再生位置の第２の予測時刻を算出し、前記第２の予測時刻を再生時刻として表示する。
【００１６】
本発明における他のエンコードデータの再生時刻表示方法では、複数のフレームによって構成されたエンコードデータにおける前記フレームの平均再生時間を予め算出し、前記エンコードデータのシーク後においては、前記エンコードデータの先頭から前記シーク後の再生再開位置までのフレーム数と、前記平均再生時間から、前記再生再開位置における第１の予測時刻を算出して表示し、前記エンコードデータの前記シーク後における、前記エンコードデータの再生再開後においては、前記再生再開位置から現在再生中の再生位置までのフレーム数を前記平均再生時間で除算した後、前記第１の予測時刻に加算して、前記再生位置の第２の予測時刻を算出し、前記第２の予測時刻を再生時刻として表示する。
【００１７】
本発明における再生装置では、エンコードデータの再生及び早送り／巻き戻しを行う再生手段と、前記エンコードデータにおける再生再開位置及び早送り／巻き戻し位置の時刻を表示する表示手段と、前記発明におけるエンコードデータの再生時刻表示方法をプログラムにより実行する制御手段とを有している。
【発明の効果】
【００１８】
本発明のエンコーダデータの再生時刻表示方法及びそれを用いた再生装置によれば、早送り／巻き戻し後、再生再開時の時刻を予測し算出するようにしているので、従来のように再生再開位置までのデコードデータ又はストリーミングデータ取得を行ってから時刻を算出する方法よりも、処理時間を短縮出来、従来のような大きなメモリ領域を必要とするテーブルを作成しなくとも、再生再開時のレスポンスを向上させることが可能となる。更に、表示時刻と実際の再生位置の時刻とに誤差が生じている場合でも、表示時刻が調整されるので、正確な時刻を表示することが出来る。
【発明を実施するための最良の形態】
【００１９】
発明を実施するための最良の形態として、以下、本発明の実施例を説明する。
【実施例１】
【００２０】
（実施例１の構成）
図２は、本発明の実施例１におけるエンコードデータの再生装置を示す概略の構成図である。
【００２１】
このエンコードデータの再生装置は、従来の図６のようなエンコードデータ１、あるいは、従来の図７のようなストリーミング形式のエンコードデータ５をソフトウェアコーデックを用いて再生する装置である。ストリーミング形式のエンコードデータ５としては、例えば、オーディオデータがMP3形式、WMA形式等の圧縮符号化方式により符号化された種々のデータが適用出来る。
【００２２】
図２の再生装置は、信号伝送用の内部バス１０を有し、この内部バス１０には、装置全体をプログラム制御する制御手段（例えば、CPUで構成された制御部）１１、ワークデータ等を格納する随時読み書き可能なメモリ（RAM）で構成されたデータメモリ１２、ソフトウェアコーデック等のプログラムを格納する読み出し専用メモリ（ROM）で構成されたプログラムメモリ１３、及び、符号化されたエンコードデータ（図６のエンコードデータ１又は図７のエンコードデータ５）が曲毎にファイル化されて格納されるフラッシュメモリ等の記憶媒体で構成されたデータ格納部１４が接続されている。なお、制御部１１は、再生手段としての機能も有している。
【００２３】
内部バス１０には、更に、再生開始、再生終了、早送り／巻き戻し等を操作するためのボタン等を有する操作部１５、音声を出力するためのヘッドホン端子等の音声出力部１６、データを表示するための表示手段（例えば、液晶ディスプレイ（LCD)等で構成された表示部）１７、及び、信号の入／出力（以下「I/O」という。）を行うI/Oポート１８等が接続されている。
【００２４】
（エンコードデータの再生方法）
図６又は図７のような１曲分のエンコードデータ１又は５が複数曲、曲毎にファイル化されて図２のデータ格納部１４に格納されているとする。
【００２５】
図２の操作部１５から、再生するための曲名のデータを入力すると、制御部１１は、プログラムメモリ１３に格納された再生プログラムに従い、入力された曲名のデータに対応する１曲分のエンコードデータ１又は５をデータ格納部１４から読み出し、データメモリ１２に格納する。制御部１１は、プログラムメモリ１３に格納されたソフトウェアコーデックのプログラムに従い、データメモリ１２に格納されたエンコードデータ１又は５をデコードし、１曲分の再生時間を表示部１７に表示し、再生時刻を表示部１７に表示させつつ、再生した音声を音声出力部１６から出力させる。再生が終了すると、制御部１１の制御により、音声出力部１６及び表示部１７の動作が停止する。
【００２６】
（図１のエンコードデータの再生時刻表示方法の概要）
図１は、本発明の実施例１におけるエンコードデータの再生時刻表示方法を示すフローチャートである。
【００２７】
図２の操作部１５により、早送り／巻き戻しの操作入力があると（ステップＳ１０）、制御部１１の制御により、エンコードデータ１又は５におけるデータシークが行われ、例えば、図６の再生再開位置２−２又は図７の再生再開位置６で停止する。
【００２８】
次に、制御部１１は、プログラムに従い、現在位置（図６の再生再開位置２−２又は図７の再生再開位置６）を演算（計算）し（ステップＳ２０）、この計算結果に基づき、現在位置の予測時刻を計算し（ステップＳ３０）、この予測時刻を表示部１７に表示させる（ステップＳ４０）。
【００２９】
ここで、図６のエンコードデータ１を使用する場合は、予め、エンコードデータ１のフォーマット、ビットレート、及びサンプリング周波数を基に、このエンコードデータ１に対するデコードデータの平均サイズが、制御部１１により算出されてデータメモリ１２等に格納されている。制御部１１では、その平均サイズと現在位置（再生再開位置２−２）までのエンコードデータ１ａのサイズを求め、このエンコードデータ１ａに対するデコードデータ４のサイズを予測し、現在位置の予測時刻を算出して表示部１７に表示させる。制御部１１は、再生再開後、予測した再生時刻に、デコードデータ４から求めた再生時間を加算して、再生時刻を表示部１７に表示させる。
【００３０】
同様に、図７のストリーミング形式のエンコードデータ５を使用する場合も、予め制御部１１により、フレームFR0,FR1,・・・の平均再生時間が算出されてデータメモリ１２等に格納されている。制御部１１では、その平均再生時間に基づき、現在位置（再生再開位置６）の予測時刻を算出して表示部１７に表示させる。制御部１１は、再生再開後、フレームヘッダFHの時間情報から現在位置の時刻を算出して表示部１７に表示させる。
【００３１】
但し、上記の方法によって算出した予測時刻は、平均値から求めた時刻であるため、再生再開時の予測時刻と、実際に再生される位置の時刻に誤差が生じてしまう。この誤差を補正するため、制御部１１によって表示調整を行い（ステップＳ５０）、処理を終了する（ステップＳ６０）。
【００３２】
早送り/巻き戻しが実行し続けられた場合は、図１のステップＳ２０〜Ｓ５０の処理を繰り返し実行する。
【００３３】
（図１中のデコードデータの平均サイズの求め方）
図１中のデコードデータの平均サイズ（例えば、PCM(Pulse Code Modulation)データのサイズ）は、（１）式から算出出来る。
PCMデータのサイズ＝サンプリング周波数×サンプリングサイズ
×チャンネル数・・・（１）
但し、サンプリング周波数；アナログ信号からディジタル信号への変換を１秒間
に行う回数（例、３２KHz、４４．１KHz)
サンプリングサイズ；アナログ信号からディジタル信号へ変換する時、サ
ンプリングした波形の高さを表現するビット数
（例、８ビット、１６ビット）
チャンネル数；モノラル（１個）、ステレオ（２個）
【００３４】
例えば、サンプリング周波数を４４．１KHz、サンプリングサイズを１６ビット、チャンネル数をステレオ（２個）とした時の（１）式を計算すると、次のようになる。
PCMデータのサイズ＝４４１００（４４．１KHz)×１６×２
＝１４１１２００ビット＝１７６４００バイト（毎秒）
【００３５】
（図１中のフレームの平均再生時間の求め方）
（ａ）  WMA形式の場合
フレームの平均再生時間は、（２）式から算出出来る。
1フレーム当たりの平均再生時間＝1曲の再生時間 ÷ 1曲のフレーム数・・・(２)
但し、1曲の再生時間 = Duration（再生時間）−Preroll(曲が再生されるまで
の無音時間)
1曲のフレーム数 = Packets
(Duration、Preroll、Packetsは、WMA形式の仕様上、エンコードデータ
内に存在するデータである。)
【００３６】
例えば、１曲の再生時間＝１分、フレーム数＝６０個の場合、フレームの平均再生時間は１秒となる。
【００３７】
（ｂ）  MP3形式の場合
仕様上、１フレームに１１５２個のオーディオデータが含まれているので、サンプリング周波数４４．１KHzのデータの場合、フレームの平均再生時間は、次のようになる。
１１５２÷４４１００＝０．０２６１秒  （１秒：ｘ＝４４１００：１１５２）
【００３８】
（図１中の現在位置計算、予測時刻計算例）
図３は、図１中の現在位置計算（Ｓ２０）、及び予測時刻計算（Ｓ３０）の例を示すフローチャートである。
【００３９】
ステップＳ１０において、操作部１５により、早送りが５回入力されると、ステップＳ２０において、現在位置が計算される。例えば、入力前のフレーム番号が１００とすると、フレーム番号を＋５加算して１０５となる。次に、ステップＳ３０において、早送り／巻き戻し中に表示する時刻は、（３）式によってエンコードデータ５中をシークした後のフレーム位置の予測時刻が計算される。
予測時刻＝１フレーム当たりの平均再生時間×フレーム位置（＝フレーム番号）
・・・（３）
例えば、フレームの平均再生時間が１秒、フレームの位置が６０番目である場合は、
１×６０＝６０秒
となる。
【００４０】
なお、予測時刻をデコードデータの平均サイズから計算する場合、例えば、ファイルの先頭から１Mバイトの位置である時は、
１０４８５７６（１Ｍバイト）÷１７６４００＝５．９秒
（１０４８５７６：１７６４００＝ｘ：１）
となる。
【００４１】
このようにして求められた予測時刻は、図１のステップＳ４０で表示される。再生再開時は、再生を再開するフレームから、そのフレームの位置時刻（＝Presentation Time、この時刻はWMA形式の仕様上、エンコードデータ内に存在するデータである。)を取得して再生時刻を再計算（＝Presentation Time−Preroll）する。この時、再計算した時刻と表示中の時刻に誤差が生じている場合は、図１のステップＳ５０で表示調整が行われる。
【００４２】
（図１の表示調整例）
図４は、図１中の表示調整例を示すフローチャートである。
図２の制御部１１に再生時刻通知要求があると（ステップＳ５１）、制御部１１では、再計算した時刻が表示時刻より大きいか否かを判定する（ステップＳ５２）。判定結果が「再計算した時刻＜表示時刻」の時には、再生再開直前の表示時刻を表示部１７に表示させ（ステップＳ５３）、表示調整処理を終了する（ステップＳ６０）。判定結果が「再計算した時刻≧表示時刻＋１ｓ（秒）」の時には、（再生再開直前の表示時刻＋１ｓ）を表示部１７に表示させ（ステップＳ５４）、表示調整処理を終了する（ステップＳ６０）。又、判定結果が「再計算した時刻≧表示時刻、且つ、再計算した時刻＜表示時刻＋１ｓ」の時には、再計算した時刻を表示部１７に表示させ（ステップＳ５５）、表示調整処理を終了する（ステップＳ６０）。
【００４３】
図５（ａ）、（ｂ）は、図４の表示調整例を示す図である。
図５（ａ）は、再生再開時にフレームヘッダFHから算出した時刻（例えば、“００：５９”）が表示中の時刻（例えば、“１：００”）より小さい場合の表示調整例を示す図である。
【００４４】
この場合、表示時刻の巻き戻りを防ぐために、再生時刻が表示中の時刻を越えるまで表示中の時刻を表示し続ける。再生位置の時刻が表示中の時刻を越えると、その後は再生位置の時刻に合わせて表示時刻を更新する。
【００４５】
図５（ｂ）は、再生再開時にフレームヘッダFHから算出した時刻（例えば、“１：０１”）が表示中の時刻（例えば、“１：００”）より秒桁以上大きい場合の表示調整例を示す図である。
【００４６】
この場合、表示時刻の時刻飛び（“１：０１”から再生したように見える）を防ぐために、１秒以内（図中例：３００ms後）に表示時刻を更新する。その後は、再生位置の時間に合わせて表示時刻を更新する。
【００４７】
（実施例１の効果）
本実施例１によれば、早送り／巻き戻し後、再生再開時の時刻を予測し算出するようにしているので、従来のように再生再開位置までのデコードデータ又はストリーミングデータ取得を行ってから時刻を算出する方法よりも、処理時間を短縮出来、従来のような大きなメモリ領域を必要とするテーブルを作成しなくとも、再生再開時のレスポンスを向上させることが可能となる。更に、表示時刻と実際の再生位置の時刻とに誤差が生じている場合でも、表示時刻が調整されるので、正確な時刻を表示することが出来る。
【００４８】
なお、本発明は、上記実施例１に限定されず、種々の変形や利用形態が可能である。この変形や利用形態としては、例えば、次の（Ａ）、（Ｂ）のようなものがある。
（Ａ）  図６、図７のエンコードデータ１，５の形式、図２の再生装置の構成、及び、図３、図４の処理内容は、図示以外のものに変更出来る。
（Ｂ）  実施例１では、音楽のエンコードデータを再生するオーディオ装置について説明したが、音楽及び映像のエンコードデータを再生するビデオ装置といった、エンコードされた音楽や映像等を記録したデータの再生及び早送り／巻き戻しを行う機能を持ち、且つ、再生位置及び早送り／巻き戻し位置の時刻を表示する機能を持つ種々の再生装置に適用出来る。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施例１における再生時刻表示方法を示すフローチャートである。
【図２】本発明の実施例１における再生装置を示す構成図である。
【図３】図１中の現在位置計算、及び予測時刻計算の例を示すフローチャートである。
【図４】図１中の表示調整例を示すフローチャートである。
【図５】図４の表示調整例を示す図である。
【図６】従来のエンコードデータの再生時刻算出方法を示す図である。
【図７】従来の他のエンコードデータの再生時刻算出方法を示す図である。
【符号の説明】
【００５０】
１１      制御部
１２      データメモリ
１３      プログラムメモリ
１４      データ格納部
１５      操作部
１６      音声出力部
１７      表示部
【図１】
0004739898.tif 000002
【図２】
0004739898.tif 000003
【図３】
0004739898.tif 000004
【図４】
0004739898.tif 000005
【図５】
0004739898.tif 000006
【図６】
0004739898.tif 000007
【図７】
0004739898.tif 000008