JP2009139531A - 音声再生時間算出方法 - Google Patents

音声再生時間算出方法 Download PDF

Info

Publication number
JP2009139531A
JP2009139531A JP2007314501A JP2007314501A JP2009139531A JP 2009139531 A JP2009139531 A JP 2009139531A JP 2007314501 A JP2007314501 A JP 2007314501A JP 2007314501 A JP2007314501 A JP 2007314501A JP 2009139531 A JP2009139531 A JP 2009139531A
Authority
JP
Japan
Prior art keywords
data
audio
reproduction
amount
compressed
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
Application number
JP2007314501A
Other languages
English (en)
Inventor
Takahiro Urushi
貴弘 漆
Yoshiki Suzuki
義材 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2007314501A priority Critical patent/JP2009139531A/ja
Publication of JP2009139531A publication Critical patent/JP2009139531A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】伸長したデータ数を取得する手段のない音声再生装置において、圧縮音声データの再生開始からの経過時間を比較的正確に算出する。
【解決手段】圧縮ファイルのデータ先頭位置Aから音声出力開始時間Dに対応する再生開始時のデータ位置Bまでのデータ量をオフセットCとし、再生中のデータ位置EからオフセットCを差し引いたデータ量に基づいて、一定の更新間隔で再生中の表示時間Fを計算して表示する。圧縮ファイルのデータ末尾位置Gに達した後は、実際の音声出力終了時間Hまでの間、圧縮ファイルの読み出しは行わず、このデータ末尾位置GからオフセットCを差し引き、その後の経過時間に応じた補正値Kを加算したデータ量に基づいて、一定の更新間隔で再生中の表示時間Fを計算して表示する。
【選択図】図1

Description

本発明は、固定ビットレート形式で圧縮されたMP3等の圧縮音声データを再生する装置において、音声出力開始からの経過時間を表示するための音声再生時間算出方法に関するものである。
図2は、MP3(MPEG audio layer 3)による圧縮データの形式を示す構成図である。
MP3形式の圧縮データファイルは、フレームに区分された構成になっており、各フレームは、ヘッダ情報と圧縮データ本体とで構成されている。ヘッダ情報は、同期符号、ビットレート(データ転送速度)、サンプリングレート、チャネル数等を含む32ビットの情報である。圧縮データ本体は、MP3形式で圧縮された音声データで、1500バイト程度のサイズとなっている。
図3は、MP3再生装置の一例を示す構成図である。
このMP3再生装置は、記憶装置10、マイクロコントローラ(以下、「マイコン」という)20、音声再生IC30、音声出力装置40及び表示装置50等で構成されている。記憶装置10は、MP3形式の圧縮データを記憶するもので、ハードディスクやフラッシュメモリ等が用いられる。マイコン20は、記憶装置10から圧縮データを順番に読み出して音声再生IC30に与えると共に、表示装置50に対して音声出力開始からの経過時間等を表示するものである。音声再生IC30は、マイコン20から与えられる圧縮データを伸長し、アナログの音声信号に変換してスピーカやヘッドホン等の音声出力装置40に与えるものである。
音声再生IC30は、入力バッファ31、デコーダ32、出力バッファ33、デジタル・アナログ変換器(以下、「DAC」という)34及びデータ検出部35で構成されている。
入力バッファ31は、マイコン20から与えられる圧縮データをデコーダ32による伸長処理までの間、一時的に保持するFIFO(first in first out)型のバッファである。デコーダ32は、入力バッファ31から圧縮データを順番に読み出し、PCM(Pulse Code Modulation)データに伸長するものである。出力バッファ33は、デコーダ32で生成されたPCMデータをDAC34による音声出力処理までの間、一時的に保持するFIFO型のバッファである。DAC34は、サンプリングレートに従って出力バッファ33からPCMデータを順次読み出し、アナログの音声信号に変換するものである。データ検出部35は、出力バッファ33にPCMデータが存在するか否かを検出し、その検出結果の検出信号DETをマイコン20に出力するものである。
このMP3再生装置では、図示しない操作部からの指示に従い、マイコン20は記憶装置10から圧縮データを読み出し、入力バッファ31へ転送する。なお、入力バッファ31の状態はマイコン20に出力され、満杯になるとマイコン20は圧縮データの転送を中止する。
デコーダ32は、入力バッファ31から圧縮データを順番に読み出してPCMデータを生成し、その生成したPCMデータを出力バッファ33に書き込む。DAC34は、出力バッファ33からPCMデータを読み出し、アナログの音声信号に変換する。アナログの音声信号は音声出力装置40に与えられ、可聴音に変換されて出力される。
一方、データ検出部35は、出力バッファ33にPCMデータが存在するか否かを検出し、その検出信号DETをマイコン20に出力する。入力バッファ31にMP3データが無くなった旨の信号がマイコン20に出力されると、マイコン20は、記憶装置10から圧縮データを読み出し、入力バッファ31へ転送する。マイコン20は、指定されたすべての圧縮データを入力バッファ31へ転送すると、出力バッファ33が空になることを監視し、空になった時点で再生を完了する。
なお、音声信号の再生中、マイコン20は、入力バッファ31へ転送したデータ量(バイト)とビットレート(bps)から、次式に従って再生時間(音声出力開始からの経過時間)を算出し、表示装置50に出力する。
再生時間(s)=データ量/(ビットレート/8)
特開2002−74920号公報
しかしながら、前記MP3再生装置では、出力バッファ33から出力されるPCMデータの数をマイコン20で取得する手段が無いため、マイコン20から入力バッファ31へ転送した圧縮データのデータ量に基づいて再生時間を算出している。このため、圧縮データやPCMデータが入力バッファ31や出力バッファ34に蓄積されている時間が無視されており、実際に音声出力装置40から出力されるタイミングが異なり、表示される再生時間の誤差が大きいという課題が有った。
本発明は、音声再生IC30で生成されるPCMデータの数をマイコン20で取得する手段が無い場合であっても、比較的正確に再生時間を算出することを目的としている。
本発明は、与えられた圧縮音声データを伸長して音声信号に変換する音声再生回路と、記憶装置から前記圧縮音声データを読み出して前記音声再生回路に転送する制御回路とを備えた音声再生装置において音声出力開始からの経過時間を表示するための音声再生時間算出方法であって、前記音声再生回路から前記音声信号が出力されるまでの間に、前記制御回路から該音声再生回路に転送した前記圧縮音声データの量を第1データ量として算出する処理と、前記制御回路から前記音声再生回路に転送した前記圧縮音声データの量の累計を第2データ量として求める処理と、前記記憶装置に読み出し対象の圧縮音声データが存在する間、前記第2データ量から前記第1データ量を差し引いたデータ量に基づいて音声再生時間を算出する処理と、前記記憶装置から読み出し対象の圧縮音声データをすべて読み出して前記音声再生回路に転送した後、その時点からの経過時間に再生されるべき圧縮音声データの量に対応する第3データ量を計算し、前記第2データ量から前記第1データ量を差し引いて該第3データ量を加算したデータ量に基づいて音声再生時間を算出する処理とを行うことを特徴としている。
本発明では、音声出力開始までに制御回路から音声再生回路に転送した圧縮音声データのデータ量(第1データ量)と、制御回路から音声再生回路に転送した圧縮音声データのデータ量(第2データ量)に加えて、データ転送完了後の経過時間に再生されるべき圧縮音声データのデータ量(第3データ量)を使って再生時間を算出するようにしている。これにより、音声再生回路で伸長された音声データの数を制御回路で取得する手段が無い場合であっても、比較的正確に再生時間を算出することができるという利点がある。
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
図1は、本発明の実施例を示す再生時間表示動作の説明図である。この動作は、図3のMP3再生装置において、音声再生IC30のデータ検出部35から出力される検出信号DETに従って、マイコン20によって行われるものである。以下、この図1に基づいて、マイコン20による再生時間算出処理に必要なパラメータを説明する。
A:データ先頭位置=MP3ファイルの先頭データ位置(単位:バイト)
B:再生開始時のデータ位置=データ検出部35からPCMデータが存在する旨の検出信号DETが出力されたときに、マイコン20から音声再生IC30へ転送しているMP3ファイルのデータ位置(単位:バイト)
C:オフセット=データ先頭位置Aから再生開始時のデータ位置Bまでに、音声再生IC30へ転送したMP3データ数(単位:バイト)
D:音声出力開始時間=PCMデータが存在する旨の検出信号DETが出力された時間(単位:秒)
E:再生中のデータ位置=再生中にマイコン20から音声再生IC30へ転送しているMP3ファイルのデータ位置(単位:バイト)
F:再生中の表示時間=再生中のデータ位置EからオフセットCを減算したMP3データ位置に基づいて算出した再生時間(単位:秒)、なお、再生中の表示時間Fは、一定の更新間隔(例えば300ms)で更新される。
G:データ末尾位置=MP3ファイルの終端位置(単位:バイト)
H:音声出力終了時間=PCMデータが無くなった旨の検出信号DETが出力された時間(単位:秒)
I:補正バイト数=表示時間の更新間隔(例えば300ms)で消費されるMP3データのバイト数
J:補正開始位置=音声再生IC30へ転送するMP3ファイルのデータが無くなった状態で、初めて表示時間の更新間隔が経過した位置(単位:バイト)
K:補正値=補正開始位置J以後の補正バイト数Iを更新間隔毎に加算した値
図4は、本発明の実施例を示す再生時間算出方法のフローチャートである。以下、この図4に基づき、図1のパラメータを使用して再生時間算出方法を説明する。
操作部からMP3ファイルの再生指示が与えられると、ステップS1において、マイコン20は指定された圧縮データを記憶装置10から読み出し、そのヘッダ情報からビットレート、サンプリングレート等のデータを取得して記憶する。
ステップS2において、記憶装置10から読み出したMP3データを音声再生IC30へ転送する。転送されたMP3データは、音声再生IC30の入力バッファ31に一時的に保持される。なお、入力バッファ31に保持されたMP3データは、デコーダ32によって読み出され、PCMデータに変換されて出力バッファ33に書き込まれる。
ステップS3において、音声再生IC30のデータ検出部35から出力される検出信号DETをチェックし、出力バッファ33にPCMデータが存在するか否かを判定する。PCMデータが存在しなければ、ステップS2へ戻り、PCMデータが存在すれば、ステップS4へ進む。
ステップS4において、補正バイト数Iを次式によって算出する。
補正バイト数I=(ビットレート/8)×表示時間の更新間隔
例えば、ビットレートが8kbpsで、表示時間の更新間隔が300msの場合、補正バイト数Iは300バイトとなる。この補正バイト数Iは、データ末尾位置GのMP3データを音声再生IC30中の入力バッファ31に転送した後、その時点からの表示時間の更新間隔毎に再生されるべきMP3データの量に対応するものである。
ステップS5において、変数“前回データ位置”を0にする。以上のステップS1〜S5により、音声の再生が開始されると共に、次のステップS6以降の再生時間表示処理が開始される。
ステップS6において、表示時間の更新間隔が経過したか否が判定され、経過していればステップS7へ進む。
ステップS7において、再生中のデータ位置Eを取得する。
ステップS8において、記憶装置10から読み出すべきMP3データがまだ存在するか否かを判定する。読み出すべきMP3データがまだ存在する場合は、ステップS9へ進む。読み出すべきMP3データが無くなった場合は、補正処理を行うためのステップS10へ進む。
ステップS9では、読み出すべきMP3データがまだ存在し、継続して記憶装置10からMP3データを読み出している状態であるので、補正値Kに0を代入し、ステップS11へ進む。一方、ステップS10では、読み出すべきMP3データが無くなって、音声再生IC30中の入力バッファ31や出力バッファ33に残存する音声データを再生している状態であるので、補正値Kに補正バイト数Iを加算する。従って、補正値Kは、補正バイト数IをステップS10の実行回数だけ加算した値となり、これは、読み出すべきMP3データが終了した時点からの経過時間に(ビットレート/8)を掛けたものに相当する。ステップS10の後、ステップS11へ進む。
ステップS11において、変数“前回データ位置”に開始時点から現在までの間に、音声再生IC30へ転送したデータ量(バイト数)を代入する。
ステップS12において、再生時間(単位:秒)を次式によって算出する。
再生時間=(データ転送数−オフセットC+補正値K)/(ビットレート/8)
なお、データ転送数は、開始時点から現在までの間に、音声再生IC30へ転送したデータ量(単位:バイト)の累計である。
上記算出式によれば、読み出すべきMP3データがまだ存在する時点では、補正値Kは0であるので、データ転送数からオフセットCを差し引いたデータ量を、データ転送速度で割り算した値が再生時間となる。また、読み出すべきMP3データが終了した時点では、データ転送数からオフセットCを差し引いた値に、音声再生IC30中のバッファから出力される音声データの量を補正バイト数として加算し、これをデータ転送速度で割り算した値が再生時間となる。
ステップS13において、表示装置50に表示している再生時間をステップ12で算出した値に更新する。
ステップS14において、データ検出部35から出力される検出信号DETをチェックし、出力バッファ33にPCMデータが存在するか否かを判定する。PCMデータが存在すれば、ステップS6に戻り、PCMデータが存在しなければ、再生時間表示処理は終了する。
以上のように、本実施例の再生時間算出方法は、マイコン20から音声再生IC30に転送したMP3データ量に加えて、再生開始までのオフセットと、データ転送完了後の補正値を使って再生時間を算出するようにしている。これにより、音声再生IC30で生成されたPCMデータの数をマイコン20で取得する手段が無い場合であっても、比較的正確に再生時間を算出することができるという利点がある。
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
(a) 圧縮音声データとしてMP3ファイルを例に説明したが、固定ビットレートの圧縮音声データであれば、WMA(Windows Media Audio)形式等にも同様に適用可能である。
(b) 図4のフローチャートは一例である。例えば、ステップS6では、表示時間の更新間隔が経過したか否かを判定しているが、タイマーを用いて更新間隔毎にステップS7を起動するようにしても良い。
(c) ステップS12における再生時間の算出式中の補正値Kは、読み出すべきMP3データが終了した時点からの経過時間に(ビットレート/8)を掛けたものであり、再生時間は補正値Kを(ビットレート/8)で割り算している。即ち、この算出式で計算される再生時間は、データ末尾位置Gに対応する再生時間に、それ以後の経過時間を加算したものである。従って、ステップS12における再生時間の計算方法をそのように変更しても良い。
(d) 通常の実時間再生の場合は、音声再生IC30に実際に転送したデータ量に応じて再生時間を計算するが、早送りや早戻しの場合には、MP3ファイルのデータ読み出し位置に基づいて再生時間を計算することにより、早送りや早戻しでの再生時間表示も可能である。
本発明の実施例を示す再生時間表示動作の説明図である。 MP3による圧縮データの形式を示す構成図である。 MP3再生装置の一例を示す構成図である。 本発明の実施例を示す再生時間算出方法のフローチャートである。
符号の説明
10 記憶装置
20 マイクロコントローラ
30 音声再生IC
31 入力バッファ
32 デコーダ
33 出力バッファ
34 DAC
35 データ検出部
40 音声出力装置
50 表示装置

Claims (1)

  1. 与えられた圧縮音声データを伸長して音声信号に変換する音声再生回路と、記憶装置から前記圧縮音声データを読み出して前記音声再生回路に転送する制御回路とを備えた音声再生装置において音声出力開始からの経過時間を表示するための音声再生時間算出方法であって、
    前記音声再生回路から前記音声信号が出力されるまでの間に、前記制御回路から該音声再生回路に転送した前記圧縮音声データの量を第1データ量として算出する処理と、
    前記制御回路から前記音声再生回路に転送した前記圧縮音声データの量の累計を第2データ量として求める処理と、
    前記記憶装置に読み出し対象の圧縮音声データが存在する間、前記第2データ量から前記第1データ量を差し引いたデータ量に基づいて音声再生時間を算出する処理と、
    前記記憶装置から読み出し対象の圧縮音声データをすべて読み出して前記音声再生回路に転送した後、その時点からの経過時間に再生されるべき圧縮音声データの量に対応する第3データ量を計算し、前記第2データ量から前記第1データ量を差し引いて該第3データ量を加算したデータ量に基づいて音声再生時間を算出する処理とを、
    行うことを特徴とする音声再生時間算出方法。
JP2007314501A 2007-12-05 2007-12-05 音声再生時間算出方法 Pending JP2009139531A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007314501A JP2009139531A (ja) 2007-12-05 2007-12-05 音声再生時間算出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007314501A JP2009139531A (ja) 2007-12-05 2007-12-05 音声再生時間算出方法

Publications (1)

Publication Number Publication Date
JP2009139531A true JP2009139531A (ja) 2009-06-25

Family

ID=40870217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007314501A Pending JP2009139531A (ja) 2007-12-05 2007-12-05 音声再生時間算出方法

Country Status (1)

Country Link
JP (1) JP2009139531A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179598A (ja) * 1995-12-26 1997-07-11 Olympus Optical Co Ltd 音声記録装置
JP2005502921A (ja) * 2001-09-06 2005-01-27 トムソン ライセンシング ソシエテ アノニム 可変ビット・レートのディジタル符号化オーディオ・データ・ファイルの経過再生時間を計時する方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179598A (ja) * 1995-12-26 1997-07-11 Olympus Optical Co Ltd 音声記録装置
JP2005502921A (ja) * 2001-09-06 2005-01-27 トムソン ライセンシング ソシエテ アノニム 可変ビット・レートのディジタル符号化オーディオ・データ・ファイルの経過再生時間を計時する方法および装置

Similar Documents

Publication Publication Date Title
WO2006006714A1 (ja) 映像再生同期信号生成方法、映像再生同期信号生成プログラム、タイミング制御装置、映像音声同期再生方法、映像音声同期再生プログラム及び映像音声同期再生装置
WO2008035164A8 (en) Method and apparatus for reproducing an audio video sequence
EP1071294A2 (en) System, method and recording medium for audio-video synchronous playback
JP2002351466A5 (ja)
US20100189130A1 (en) Data processing apparatus and method and encoding device
JP2009139531A (ja) 音声再生時間算出方法
WO2003096691A1 (fr) Dispositif et procede de traitement des signaux, programme et support d'enregistrement
JP2004341430A (ja) 再生装置および再生方法、記録媒体、並びにプログラム
JP2004072217A5 (ja)
JP2006114181A (ja) 再生装置および再生方法
JP4619131B2 (ja) オーディオ符号化方法、オーディオ復号化方法、オーディオ符号器及びオーディオ復号器
JP2008011328A (ja) Spdifデータ受信装置
JP4784597B2 (ja) 記録再生装置、およびプログラム
JP4264814B2 (ja) 情報処理装置
JP2008084382A (ja) 圧縮データ再生方法
JP2005276273A (ja) デジタル記録再生装置及びそれにおける記録可能時間演算方法
JP2006155817A (ja) 信号出力装置及び信号出力方法
JP5002968B2 (ja) 記録装置
JP2003316390A (ja) 移動平均値算出方法及び移動平均値算出装置及びデータ再生装置
JP2007293973A (ja) 圧縮データ再生方法
JP2000261764A (ja) 映像信号再生装置
JP4739898B2 (ja) エンコードデータの再生時刻表示方法及びそれを用いた再生装置
JPH11341059A (ja) 圧縮符号復号装置
JP2002150666A (ja) 光ディスク再生装置
JP2004118948A (ja) 再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090316

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927