(57)【要約】   【課題】  ＯＬＡ方式を用いて簡易な構成で実現でき、かつ、フレーム接合点での不連続性などに伴う音質劣化を解決する。  【解決手段】  入力フレームデータ生成部２６は、入力バッファ２５のデータに基づき、第１のフレームサイズおよびオーバーラップ比にしたがった第１のホップサイズを有する所定数のサブフレームからなる、入力フレーム２７を生成する。フレーム間演算部３０は、入力フレーム２７に窓関数を施した上で、第２のホップサイズだけずらして重ねあわせて、出力フレーム２９に格納する。中間バッファデータ生成部２８は、出力フレーム２９から、第２のホップサイズを有する所定数のサブフレームからなる中間バッファ３１にデータを格納する。フィルタ処理部３２は、中間バッファ３１のデータに、くし型フィルタの逆フィルタを施して出力バッファ３３に格納する。【選択図】  図２
2011043655.tif 000002
【特許請求の範囲】
【請求項１】
入力データを複数のフレームに分割し、かつ、その分割されたフレームを部分的に重ね合わせることで、出力データを生成するデータ変換装置であって、
所定の第１のフレームサイズの入力データを格納する第１のバッファと、
前記入力データに対する前記出力データの再生速度の比を示す再生速度比にしたがった所定の第２のフレームサイズの出力データを格納する第２のバッファと、
再生速度比を受け入れ、前記第１のフレームサイズおよびオーバーラップ比を決定する制御手段と、
前記第１のバッファの入力データに基づき、前記第２のフレームサイズの出力データを生成するデータ変換手段であって、
前記第１のバッファの入力データから、それぞれが、前記第１のフレームサイズおよびオーバーラップ比にしたがった第１のホップサイズを有する、前記オーバーラップ比に相当する所定数のサブフレームからなる、第１のフレームサイズを有する入力フレームを生成する入力フレームデータ生成手段、
前記入力フレームに窓関数を施す窓関数適用手段、
前記窓関数の施された入力フレームを、前記第１のホップサイズおよび前記再生速度比に基づく第２のホップサイズだけずらして重ねあわせ、かつ、その重ねあわされたデータを、前記第２のホップサイズのサブフレームを有する出力フレームに格納するフレーム間演算手段、
前記出力フレームに格納されたデータを、それぞれが、前記第２のホップサイズを有する前記所定数のサブフレームからなる前記第２のバッファに格納するバッファデータ生成手段、並びに、
再生速度比が「１」より小さいスロー再生であって、再生速度比が「１」に近接する所定の第１の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタの逆フィルタを施すフィルタ手段と、を有するデータ変換手段と、を備えたことを特徴とするデータ変換装置。
【請求項２】
前記制御手段が、前記再生速度比に基づいて、前記逆フィルタの伝達関数
Ｈ（ｚ）＝１／（１＋βｚ−Ｋ）
（βは乗数、Ｋは遅延サンプル数）
における乗数βを決定し、決定された乗数βを、前記フィルタ手段に伝達するように構成されたことを特徴とする請求項１に記載のデータ変換装置。
【請求項３】
前記制御手段が、前記再生速度比が小さくなるのにしたがって、前記逆フィルタの伝達関数の乗数βが小さくなるように、前記乗数βを決定することを特徴とする請求項２に記載のデータ変換装置。
【請求項４】
前記フィルタ手段が、前記再生速度比が、前記第１の範囲より小さい値からなる所定の第２の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタである第２のフィルタを施すように構成されたことを特徴とする請求項１ないし３の何れか一項に記載のデータ変換装置。
【請求項５】
前記第２のフィルタが、前記第２のバッファにおいて、第２のホップサイズのサブフレームの接合点で零点を持つことを特徴とする請求項４に記載のデータ変換装置。
【請求項６】
前記制御手段が、前記再生速度比に基づいて、前記第２のフィルタの伝達関数
Ｈ（ｚ）＝１＋γｚ−Ｋ
（γは乗数、Ｋは遅延サンプル数）
における乗数γを決定し、決定された乗数γを、前記フィルタ手段に伝達するように構成されたことを特徴とする請求項４または５に記載のデータ変換装置。
【請求項７】
前記制御手段が、前記再生速度比が小さくなるのにしたがって、前記第２のフィルタの伝達関数の乗数γが大きくなるように、前記乗数γを決定することを特徴とする請求項６に記載のデータ変換装置。
【請求項８】
入力データを複数のフレームに分割し、かつ、その分割されたフレームを部分的に重ね合わせることで、出力データを生成するデータプログラムであって、
所定の第１のフレームサイズの入力データを格納する第１のバッファと、前記入力データに対する前記出力データの再生速度の比を示す再生速度比にしたがった所定の第２のフレームサイズの出力データを格納する第２のバッファとを備えたコンピュータに、
再生速度比を受け入れ、前記第１のフレームサイズおよびオーバーラップ比を決定する制御ステップと、
前記第１のバッファの入力データに基づき、前記第２のフレームサイズの出力データを生成するデータ変換ステップであって、
前記第１のバッファの入力データから、それぞれが、前記第１のフレームサイズおよびオーバーラップ比にしたがった第１のホップサイズを有する、前記オーバーラップ比に相当する所定数のサブフレームからなる、第１のフレームサイズを有する入力フレームを生成する入力フレームデータ生成ステップ、
前記入力フレームに窓関数を施す窓関数適用ステップ、
前記窓関数の施された入力フレームを、前記第１のホップサイズおよび前記再生速度比に基づく第２のホップサイズだけずらして重ねあわせ、かつ、その重ねあわされたデータを、前記第２のホップサイズのサブフレームを有する出力フレームに格納するフレーム間演算ステップ、
前記出力フレームに格納されたデータを、それぞれが、前記第２のホップサイズを有する前記所定数のサブフレームからなる前記第２のバッファに格納するバッファデータ生成ステップ、並びに、
再生速度比が「１」より小さいスロー再生であって、再生速度比が「１」に近接する所定の第１の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタの逆フィルタを施すフィルタ処理ステップ、を有するデータ変換ステップと、を実行させることを特徴とするデータ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した音声信号の速度を変換して出力するデータ変換装置およびデータ変換プログラムに関する。
【背景技術】
【０００２】
音声信号の音高を変化させず、その時間長を変化させて再生する技術が実用化され、カラオケにおける音声効果の付与や、ＣＤ、ビデオ、ＤＶＤなどの再生時の早送り再生・スロー再生に適用されている。この技術には、時間軸上の操作に基づくものと、周波数軸上での操作に基づくものとに大別できる。前者の代表例として、ＯＬＡ（ＯｖｅｒＬａｐ  ａｎｄ  Ａｄｄ）方式、および、その発展形であるＰＳＯＬＡ（Ｐｉｔｃｈ  Ｓｙｎｃｈｒｏｎｏｕｓ  ＯＬＡ）方式が知られている。また、後者の代表例として、フェーズ・ヴォコーダーが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６６５７１号公報
【特許文献２】特開平１０−１２４０８２号公報
【特許文献３】特開２００５−２０８６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＯＬＡ方式はたとえば特許文献１に記載されている。ＯＬＡ方式においては、音声データをフレーム単位に分割し、フレームに窓関数を施した後、それぞれのフレームの一部が相互に重なり合うように順次配置し、重なり合う部分のデータ値を加算して出力する。この重なり合う幅を変化させることにより、音声データを伸張・短縮する。ＯＬＡ方式は、その処理が単純であり、簡易な構成で実現することができる。その一方、フレームの重なり合う部分の周辺を含むフレーム接合点での不連続性が生じ、ノイズが発生する場合がある。
【０００５】
ＰＳＯＬＡ方式はたとえば特許文献２に記載されている。ＰＳＯＬＡ方式は、ＯＬＡ方式で生じるフレーム接合点でのノイズを軽減するために、音声データのピッチを抽出し、フレームサイズを抽出されたピッチに基づくサイズに設定する。ＰＳＯＬＡ方式では、抽出可能なピッチを有する音声データ、つまり、単音の楽器などの音声データにしか適用できないという問題点があった。
【０００６】
周波数軸上の操作を伴う技術が、たとえば特許文献３に記載されている。フェーズ・ヴォコーダーなど、周波数軸上の操作を伴う技術においては、音声データをフーリエ変換して、周波数軸上で位相を操作して、逆フーリエ変換を施し、再度時間軸上のデータに戻すことにより、音声データの伸張・短縮を実現している。この方式は、ＯＬＡやＰＳＯＬＡのような単に時間軸上の操作に較べて良好な変換結果を得ることができる。しかしながら、フーリエ変換や複素数の演算を伴うため、処理が非常に複雑化するという問題点がある。
【０００７】
本発明は、ＯＬＡ方式を用いて簡易な構成で実現でき、特に、スロー再生における音質劣化を解決したデータ変換装置およびデータ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的は、  入力データを複数のフレームに分割し、かつ、その分割されたフレームを部分的に重ね合わせることで、出力データを生成するデータ変換装置であって、
所定の第１のフレームサイズの入力データを格納する第１のバッファと、
前記入力データに対する前記出力データの再生速度の比を示す再生速度比にしたがった所定の第２のフレームサイズの出力データを格納する第２のバッファと、
再生速度比を受け入れ、前記第１のフレームサイズおよびオーバーラップ比を決定する制御手段と、
前記第１のバッファの入力データに基づき、前記第２のフレームサイズの出力データを生成するデータ変換手段であって、
前記第１のバッファの入力データから、それぞれが、前記第１のフレームサイズおよびオーバーラップ比にしたがった第１のホップサイズを有する、前記オーバーラップ比に相当する所定数のサブフレームからなる、第１のフレームサイズを有する入力フレームを生成する入力フレームデータ生成手段、
前記入力フレームに窓関数を施す窓関数適用手段、
前記窓関数の施された入力フレームを、前記第１のホップサイズおよび前記再生速度比に基づく第２のホップサイズだけずらして重ねあわせ、かつ、その重ねあわされたデータを、前記第２のホップサイズのサブフレームを有する出力フレームに格納するフレーム間演算手段、
前記出力フレームに格納されたデータを、それぞれが、前記第２のホップサイズを有する前記所定数のサブフレームからなる前記第２のバッファに格納するバッファデータ生成手段、並びに、
再生速度比が「１」より小さいスロー再生であって、再生速度比が「１」に近接する所定の第１の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタの逆フィルタを施すフィルタ手段と、を有するデータ変換手段と、を備えたことを特徴とするデータ変換装置により達成される。
【０００９】
好ましい実施態様においては、前記制御手段が、前記再生速度比に基づいて、前記逆フィルタの伝達関数
Ｈ（ｚ）＝１／（１＋βｚ−Ｋ）
（βは乗数、Ｋは遅延サンプル数）
における乗数βを決定し、決定された乗数βを、前記フィルタ手段に伝達する。
【００１０】
より好ましい実施態様においては、前記制御手段が、前記再生速度比が小さくなるのにしたがって、前記逆フィルタの伝達関数の乗数βが小さくなるように、前記乗数βを決定する。
【００１１】
また、別の好ましい実施態様においては、前記フィルタ手段が、前記再生速度比が、前記第１の範囲より小さい値からなる所定の第２の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタである第２のフィルタを施す。
【００１２】
より好ましい実施態様においては、前記第２のフィルタが、前記第２のバッファにおいて、第２のホップサイズのサブフレームの接合点で零点を持つ。
【００１３】
また、好ましい実施態様においては、前記制御手段が、前記再生速度比に基づいて、前記第２のフィルタの伝達関数
Ｈ（ｚ）＝１＋γｚ−Ｋ
（γは乗数、Ｋは遅延サンプル数）
における乗数γを決定し、決定された乗数γを、前記フィルタ手段に伝達する。
【００１４】
より好ましい実施態様においては、前記制御手段が、前記再生速度比が小さくなるのにしたがって、前記第２のフィルタの伝達関数の乗数γが大きくなるように、前記乗数γを決定する。
【００１５】
また、本発明の目的は、入力データを複数のフレームに分割し、かつ、その分割されたフレームを部分的に重ね合わせることで、出力データを生成するデータプログラムであって、
所定の第１のフレームサイズの入力データを格納する第１のバッファと、前記入力データに対する前記出力データの再生速度の比を示す再生速度比にしたがった所定の第２のフレームサイズの出力データを格納する第２のバッファとを備えたコンピュータに、
再生速度比を受け入れ、前記第１のフレームサイズおよびオーバーラップ比を決定する制御ステップと、
前記第１のバッファの入力データに基づき、前記第２のフレームサイズの出力データを生成するデータ変換ステップであって、
前記第１のバッファの入力データから、それぞれが、前記第１のフレームサイズおよびオーバーラップ比にしたがった第１のホップサイズを有する、前記オーバーラップ比に相当する所定数のサブフレームからなる、第１のフレームサイズを有する入力フレームを生成する入力フレームデータ生成ステップ、
前記入力フレームに窓関数を施す窓関数適用ステップ、
前記窓関数の施された入力フレームを、前記第１のホップサイズおよび前記再生速度比に基づく第２のホップサイズだけずらして重ねあわせ、かつ、その重ねあわされたデータを、前記第２のホップサイズのサブフレームを有する出力フレームに格納するフレーム間演算ステップ、
前記出力フレームに格納されたデータを、それぞれが、前記第２のホップサイズを有する前記所定数のサブフレームからなる前記第２のバッファに格納するバッファデータ生成ステップ、並びに、
再生速度比が「１」より小さいスロー再生であって、再生速度比が「１」に近接する所定の第１の範囲であるときに、前記第２のバッファの出力データに、くし型フィルタの逆フィルタを施すフィルタ処理ステップ、を有するデータ変換ステップと、を実行させることを特徴とするデータ変換プログラムにより達成される。
【発明の効果】
【００１６】
本発明によれば、ＯＬＡ方式を用いて簡易な構成で実現でき、特に、スロー再生における音質劣化を解決したデータ変換装置およびデータ変換プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態にかかるデータ変換装置の概略を示す図である。
【図２】図２は、本実施の形態にかかる信号変換部および使用する記憶部の構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかるデータ変換装置において実行されるメインフローの例を示すフローチャートである。
【図４】図４は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。
【図５】図５は、ＯＬＡ方式におけるフレーム加算の概略を示す図である。
【図６】図６は、スロー再生の際のフレーム加算の概略を示す図である。
【図７】図７は、スロー再生の際のフレーム加算の概略を示す図である。
【図８】図８は、本実施の形態にかかる入力バッファ、入力フレーム、出力フレームおよび出力バッファの例を示す図である。
【図９】図９は、本実施の形態にかかる入力バッファ、入力フレーム、出力フレームおよび出力バッファの他の例を示す図である。
【図１０】図１０は、本実施の形態にかかるデータ変換処理の例を示すフローチャートである。
【図１１】図１１（ａ）は、ｉ＝１のとき、図１１（ｂ）は、ｉ＝２のときのステップ１００３における、入力フレームのサブフレームへのデータ配置を説明する図、図１１（ｃ）は、処理を繰り返すことにより得られる入力フレームの例を示す図である。
【図１２】図１２（ａ）〜（ｃ）は、ステップ１００５〜１００８により生成される入力フレーム、出力フレームの例を示す図である。
【図１３】図１３は、本実施の形態にかかるフィルタ処理の例を示す図である。
【図１４】図１４は、本実施の形態にかかる、再生速度比およびフィルタの乗数を格納したテーブルの例を示す図である。
【図１５】図１５は、本実施の形態にかかるフィルタ処理の例を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかるデータ変換装置の概略を示す図である。図１に示すように、本実施の形態にかかるデータ変換装置１０は、ＣＰＵ１１、入力部１２、表示部１３、ＲＡＭ１４、ＲＯＭ１５、大規模記憶装置１６、入力インタフェース（Ｉ／Ｆ）１７、信号変換部１８、オーディオ回路１９を有する。
【００１９】
入力部１２は、再生速度設定スイッチ、テンキーなどキー、スイッチを有する。表示部１３は、たとえば、液晶表示装置を含む。ＣＰＵ１１は、入力部１２のスイッチ操作の検出、スイッチ操作に基づく再生速度比の決定、スイッチ操作に基づく変換処理の起動、変換処理に用いるパラメータの算出、フィルタ種別およびフィルタ処理用のパラメータの決定、パラメータの信号変換部１８への伝達、入力Ｉ／Ｆ１７の制御など種々の処理を実行する。
【００２０】
ＲＯＭ１４は、ＣＰＵ１１により実行される種々の処理、たとえば、入力部１２のスイッチ操作の検出、スイッチ操作に基づく再生速度比の決定、スイッチ操作に基づく変換処理の起動、変換処理に用いるパラメータの算出、フィルタ種別およびフィルタ処理用のパラメータの決定、パラメータの信号変換部１８への伝達、入力Ｉ／Ｆ１７の制御などの処理プログラムを格納する。ＲＡＭ１５は、入力Ｉ／Ｆ１７により取得された入力データを格納する入力バッファ、オーディオ回路１９により読み出される出力バッファ、処理中のデータを一時的に記憶する入力フレームおよび出力フレームなどのためのデータ記憶領域を提供する。また、ＲＡＭ１５には処理で用いられる各種のパラメータが格納される。大規模記憶装置１６は、ハードディスク装置やカード型の記憶装置を含み、入力Ｉ／Ｆ１７を介して入力されたデータや、信号変換部１８により変換されたデータおよびフィルタ処理が施されたデータを記憶することができる。
【００２１】
入力Ｉ／Ｆ１７は、マイク２０と接続され、また、入力端子２１を有する。マイク２０から入力された音声信号は、ＣＰＵ１１の指示に従って、入力Ｉ／Ｆ１７においてディジタル変換され、ディジタルの入力データとしてＲＡＭ１４や大規模記憶装置１６に格納される。また、本実施の形態においては、入力端子２１を介して、オーディオ機器からの音声信号を入力して、ディジタルの入力データをＲＡＭ１４や大規模記憶装置１６に格納することもできる。
【００２２】
信号変換部１８は、入力データに基づいて、時間伸張処理或いは時間短縮処理を実行し、時間伸張処理が施されたデータについてはさらにフィルタ処理を施して、その再生速度が変換された出力データを生成する。信号変換部１８の構成および信号変換部１８において実行される処理については後述する。オーディオ回路１９は、Ｄ／Ａ変換器および増幅回路（ともに図示せず）を有し、出力データを、アナログの音声信号に変換して増幅し、スピーカ３２から音響信号を出力する。
【００２３】
図２は、本実施の形態にかかる信号変換部および使用する記憶部の構成を示すブロックダイヤグラムである。図２に示すように、本実施の形態にかかる信号変換部１８は、入力フレームデータ生成部２６と、フレーム間演算部３０と、中間バッファデータ生成部２８と、フィルタ処理部３２と、を有する。入力フレームデータ生成部２６は、入力バッファ２５に格納された入力データを読み出して、読み出された入力データを、入力フレーム２７中の所定の位置に格納する。また、中間バッファデータ生成部２８は、出力フレーム２９から所定のデータを取り出して、中間バッファ３１中に格納する。中間バッファ３１のデータは、フィルタ処理部３２により読み出され、ＣＰＵ１１からの指示にしたがったフィルタ種別およびパラメータに基づくフィルタ処理が実行され、フィルタ処理が施された出力データが、出力バッファ３３に格納される。出力バッファ３３に格納された出力データは、オーディオ回路１９によりアナログの音声信号に変換され、スピーカ３２から出力される。
【００２４】
フレーム間演算部３０は、入力フレーム２７や出力フレーム２９におけるデータシフトなどのデータ操作、入力フレーム２７に窓関数を施すこと、入力フレームのデータ値を、対応する出力フレーム２９のデータ値に加算することなど、フレームに関する処理、および、フレーム間に関する種々の処理を実行する。
【００２５】
図３は、本実施の形態にかかるデータ変換装置において実行されるメインフローの例を示すフローチャートである。図３に示すように、電源の投入とともに、メインフローは起動し、ＣＰＵ１１は、ＲＡＭ１４中の入力バッファ２５のクリア、入力フレーム２７のクリア、出力フレーム２９のクリア、出力バッファ３１のクリア、各種パラメータのクリアを含むイニシャライズ処理を実行する（ステップ３０１）
イニシャライズ処理が終了すると、ステップ３０２以降の処理が繰り返し実行される。ステップ３０２のスイッチ処理において、入力部１２を構成するスイッチの操作があったかが判断され、スイッチ操作があった場合には、操作にしたがった処理が実行される。図４は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。
【００２６】
図４に示すように、ＣＰＵ１１は、スイッチ１２を構成するスイッチのうち、再生速度設定スイッチがオンされたかを判断する（ステップ４０１）。ステップ４０１でＹｅｓと判断された場合には、ＣＰＵ１１は、テンキーの操作或いは「＋（プラス）」キー或いは「−（マイナス）」キーの操作に基づいて、入力された再生速度比を取得する（ステップ４０２）。
【００２７】
再生速度比とは、入力データの速度を「１」としたときの、変換された出力データの再生速度を示す。再生速度比が「２」であるとは、出力データが、入力データの２倍の速度で再生されることを示す。また、再生速度比が「０．５」であることは、出力でデータが、入力データの半分の速度で再生されることを示す。また、後述するデータ変換処理における、「伸縮比」は、再生速度比の逆数、つまり、「１／再生速度比」と等価である。
【００２８】
次いで、ＣＰＵ１１は、再生速度比に基づいて、入力バッファ２５および入力フレーム２７のサイズ、オーバーラップ比、出力フレーム２９のサイズ、中間バッファ３１のサイズ、および出力バッファ３３のサイズを決定する（ステップ４０３）。本実施の形態においては、再生速度比が０．５〜２の範囲で、入力データを指定された再生速度比で変換し、変換により得られた出力データを出力している。また、本実施の形態においては、ＯＬＡ方式を採用し、複雑な演算を経ることなく、入力データを変換して出力データを取得する。
【００２９】
ＯＬＡ方式においては、入力データを、まず、所定サイズの入力フレームに分割する。また、各フレームは部分的に重なり合うように抽出され、かつ、出力データにおいても、各フレームが部分的に重なったようなデータ値となっている。上記フレームの重なり具合を示すパラメータとしてオーバーラップ比が用いられる。オーバーラップ比は、フレームが、フレームサイズ全体に対して、どのくらいずらされるかを示す。たとえば、オーバーラップ比が「４」であれば、フレームは、フレームサイズの１／４だけずらされることを意味する。また、このときの、フレームのずれの量をホップサイズと称する。
【００３０】
フレームを重ね合わせて加算する際には、フレームに窓関数を施して、窓関数が施されたデータが加算される。たとえば、窓関数としてハニング窓を使用することができる。入力データに関するホップサイズと、出力データに関するホップサイズとが等しければ、重ねあわされた分だけ振幅は増加するが、もとの波形の形状が維持される。また、出力データに関するホップサイズが、入力データに関するホップサイズより大きければ、時間伸張処理が施されることになり、その結果、再生速度が遅くなるいわゆるスロー再生となる。その一方、出力データに関するホップサイズが、入力データに関するホップサイズより小さければ、時間短縮処理が実行されることになり、その結果、再生速度が速くなるいわゆるファスト再生となる。
【００３１】
図５は、ＯＬＡ方式におけるフレーム加算の概略を示す図、また、図６は、スロー再生の際における、フレーム加算の概略を示す図である。図６において、入力データに関するホップサイズ（図６において「ＨＯＰＳＩＺＥ」と示す）より、出力データに関するホップサイズ（図６において、「ＨＯＰＳＩＺＥ’」と示す）が大きいため、出力フレームのサイズも入力フレームより大きくなる。また、重ね合わせの際に、出力データに関するホップサイズ「ＨＯＰＳＩＺＥ’」にしたがって、矢印方向に重ねあわせるべきフレームが移動する。
【００３２】
フレームの重ね合わせの際に、フレームサイズとオーバーラップ比を適切に設定しないと、スロー再生、ファスト再生の何れにおいても音質が劣化する。たとえば、図７に示すように、オーバーラップ比を最小値である「２」として、時間伸張処理を行なった上でスロー再生を行なうと、フレーム加算によってデータ値のレベルを一定に保持することができず、振幅が揺らいでしまうという問題点がある（図７の破線参照）。また、オーバーラップ比が小さいことは、接合点における不連続性、つまり、複数の波形が重ねあわされている部分のデータの不連続性を、オーバーラップにより解決することができないという問題点があった。
【００３３】
その一方、オーバーラップ比を大きくすることにより、上記接合点における不連続性は軽減されるが、以下に述べるような別の問題が生じる。オーバーラップ比を大きくすることにしたがって、重なり合うフレーム数が増大する。したがって、くし型フィルタの効果が多重にかかり、その結果、音質が大きく変化してしまう。フレームサイズを大きくした場合にも、重なり合う部分が大きくなるため、同様にくし型フィルタの効果が過剰となる。
【００３４】
本出願人は、ＯＬＡ方式によるスロー再生、ファスト再生の双方において、オーバーラップ比は「２」以上であり、かつ、できるだけ小さい値が望ましいことを知見した。また、オーバーラップ比を「２」とすると、時間伸張処理によるスロー再生においては、振幅が揺らぐ問題や不連続性の問題が生じるが、時間短縮処理によるファスト再生である限り、オーバーラップ比が、最小値である「２」であっても問題がないこと知見した。
【００３５】
スロー再生においては、上述したように不連続性の問題が生じないように、オーバーラップ比は「２」より大きいのが望ましい。また、くし形フィルタ効果の影響を考慮すると、オーバーラップ比は、「３」または「４」が望ましいことが見出されている。なお、処理のしやすさを考慮して、本実施の形態においては、スロー再生におけるオーバーラップ比は「４」としている。
【００３６】
また、フレームサイズも、くし型フィルタ効果の影響を考慮して決定されるのが望ましい。本出願人は、オーバーラップ比が「２」であるときには、サンプリング周波数に相当するサンプル数の１／５程度、オーバーラップ比が「４」であるときには、サンプリング周波数に相当するサンプル数の１／１０程度が適切であることを知見した。図８は、本実施の形態にかかる入力バッファ、入力フレーム、出力フレームおよび中間バッファの例を示す図である。なお、出力バッファのサイズは、中間バッファと同様である。図８に示す例は、再生速度比Ｒが「１」より小さいスロー再生のときの例を示す。
【００３７】
本実施の形態においては、サンプリング周波数が４４．１ＫＨｚ（４４，１００Ｈｚ）であり、入力バッファ８０１と入力フレーム８０２のサイズ（フレームサイズ）は、ともに「４０９６」である。また、オーバーラップ比は「４」であり、フレーサイズをオーバーラップ比で割った値に相当するサブフレームのサイズは「１０２４」である（符号８１１参照）。なお、フレームサイズは、サンプリング周波数の１／１０と厳密には相違するが、処理の簡便さから２のべき乗のうち、サンプリング周波数の１／１０である「４４１０」に最も近い値を採用した。
【００３８】
また、本実施の形態にかかる出力フレーム８０３は、その先頭に、入力バッファ８０１および入力フレーム８０２のサブフレームのサイズを再生速度比で割ったサイズ（１０２４／Ｒ）のサブフレーム８３１を有する。また、先頭のサブフレーム８３１の後ろには、入力バッファ８０１や入力フレーム８０２のサブフレームと、同様のサイズの４つのサブフレーム（たとえば、符号８３２参照）が配置される。
【００３９】
本実施の形態にかかる中間バッファ８０４は、そのサイズが出力フレームの先頭のサブフレーム８３１と同一（つまり、１０２４／Ｒ）の、４つのサブフレーム（たとえば符号８４１参照）から構成される。
【００４０】
図９は、本実施の形態にかかる入力バッファ、入力フレーム、出力フレームおよび中間バッファの他の例を示す図である。図９に示す例は、再生速度比Ｒが「１」より大きいファスト再生のときの例を示す。ファスト再生のときの入力バッファ９０１および入力フレーム９０２のサイズは、そもに「８１９２」である。また、オーバーラップ比は「２」であり、サブフレームのサイズは「４０９６」である。
【００４１】
出力フレーム９０３の先頭のサブフレーム９３１のサイズは、入力バッファ９０１および入力フレーム９０２のサブフレームのサイズを再生速度比で割ったサイズ（４０９６／Ｒ）である。また、先頭のサブフレーム９３１の後ろには、入力バッファ９０１や入力フレーム９０２のサブフレームと、同様のサイズの２つのサブフレーム（たとえば、符号９３２参照）が配置される。また、本実施の形態にかかる中間バッファ９０４は、そのサイズが出力フレームの先頭のサブフレーム９３１と同一（つまり、４０９６／Ｒ）の、２つのサブフレーム（たとえば符号９４１参照）から構成される。
【００４２】
本実施の形態においては、再生速度比が「１」より大きい場合の入力バッファおよび入力フレームのサイズ、並びに、オーバーラップ比の組と、再生速度比が「１」より小さい場合の、入力バッファおよび入力フレームのサイズ、並びに、オーバーラップ比の組とがＲＡＭ１４に格納されている。したがって、スイッチ処理のステップ４０２において、再生速度比が取得され、また、ステップ４０３において、再生速度比に応じた、入力バッファおよび入力フレームのサイズ、並びに、オーバーラップ比の組が取得される。
【００４３】
再生速度比が「１」より小さい場合、つまり、スロー再生の場合には、図８に示すようなサイズの入力バッファ、入力フレーム、出力フレーム、中間バッファおよび出力バッファのためのデータ領域がＲＡＭ１４中に確保される（ステップ４０４）。たとえば、再生速度比が「０．８」であれば、出力フレーム８０３の先頭のサブフレーム（符号８３１参照）や、出力バッファ８０４のサブフレーム（符号８４１参照）のサイズは「１２８０」となり、出力バッファ８０４のフレームサイズは「５１２０」となる。その一方、再生速度比が「１」より大きい場合、つまり、ファスト再生の場合には、図９に示すようなサイズの入力バッファ、入力フレーム、出力フレームおよび出力バッファのためのデータ領域をＲＡＭ１４中に確保される（ステップ４０４）。
【００４４】
次いで、ＣＰＵ１１は、再生速度比に基づく、フィルタ種別およびフィルタ処理用のパラメータ（たとえばフィルタ係数）を決定する（ステップ４０５）。以下、本実施の形態にかかるフィルタ処理部３２によるフィルタ処理の意義について説明する。
【００４５】
再生速度比が「１」に近接する範囲（１＞再生速度比≧０．８程度）の場合、つまり、スロー再生における時間伸張の比率（伸張率）が比較的小さい場合には、後述するフレーム間のオーバーラップを伴う加算において、数十ないし数百サンプル程度、サンプルが遅延されて原波形のサンプルに加算される。遅延されて原波形に加算されることにより、（１）式に示すようなフィルタが構成される。
【００４６】
Ｈ（ｚ）＝１＋αｚ−Ｋ        ・・・（１）
ただし、αは窓関数によって決まる乗数、Ｋは遅延サンプル数
上記（１）式に示すフィルタは、くし型フィルタとして原波形に作用する。このくし型フィルタの効果により、データ変換後の波形に基づく音質が変化してしまう。
【００４７】
その一方、再生速度比がより小さい範囲の場合（０．６≧再生速度比≧０．５程度）、つまり、時間伸張の伸張率が比較的大きい場合には、くし型フィルタの効果は無視できる程度に軽減されるが、時間伸張を大きくしたことにより、上述した接合点における不連続性の問題が顕著となり、データ変換後の波形は、耳障りなノイズを相当量含むものとなる。
【００４８】
そこで、本実施の形態においてはスロー再生のための時間伸張処理において、再生速度比が「１」に近い所定の範囲では、くし型フィルタの効果を打ち消す逆フィルタを、データ変換後のデータに施す。逆フィルタの伝達関数は（２）式に示すようなものとなる。
【００４９】
Ｈ（ｚ）＝１／（１＋βｚ−Ｋ）      ・・・（２）
ただし、βは所定の乗数、Ｋは遅延サンプル数
乗数βは、たとえば、再生速度比に基づいて、ＣＰＵ１１により決定される。
【００５０】
次に、再生速度比がより小さい他の所定の範囲に含まれる場合、たとえば、再生速度比が「０．５」の場合を考える。本実施の形態では、再生速度比が「０．５」の場合には、ホップサイズが２０４８となるため、２０４８サンプルごとに、不連続点が生じ、この不連続性によりノイズが生じ得る。生じるノイズの基本周波数は、４４，１００Ｈｚ／２０４８≒２１．５Ｈｚであり、この基本周波数が基音となり、さらに、倍音が付加される。
【００５１】
このようなノイズを打ち消すために、本実施の形態においては、（３）式に示すような伝達関数のフィルタを、データ変換後のデータに施す。
【００５２】
Ｈ（ｚ）＝１＋γｚ−Ｋ        ・・・（３）
ただし、γは所定の乗数、Ｋは遅延サンプル数
たとえば、γ＝０．５と固定としても良いし、再生速度比に基づいてＣＰＵ１１により決定されても良い。（３）式に示すフィルタは、遅延サンプルが１０２４のとき、約２１０４Ｈｚごとに零点をもつくし型フィルタである。このようなフィルタをデータに施すことで、前記不連続点により生じるノイズを打ち消すことが可能となる。すなわち、本実施の形態においては、中間バッファおよび出力バッファにおいて、サブフレームの接合点（これが、サンプルの不連続点となる）で、零点を持つようなくし型フィルタをデータに施すことにより、不連続点により生じるノイズを打ち消している。
【００５３】
スイッチ処理の後、ＣＰＵ１１および入力Ｉ／Ｆ２１は、データ入力処理を実行する（ステップ３０３）。データ入力処理においては、ＣＰＵ１１は、タイマ（図示せず）を参照して、データの入力タイミングとなっているかを判断し、入力タイミングが到来している場合には、ＣＰＵ１１は、入力Ｉ／Ｆ１７に対して、入力されたデータを入力データバッファ２５に格納するように指示する。入力Ｉ／Ｆ１７は、入力されたデータを順次入力データバッファに格納していく。入力Ｉ／Ｆ１７に一時的に記憶されていたデータが全て入力データバッファに格納されると、データ入力処理は終了する。
【００５４】
データ入力処理の後、ＣＰＵ１１の指示により信号変換部１８が、データ変換処理を実行する（ステップ３０４）。図１０は、本実施の形態にかかるデータ変換処理の例を示すフローチャートである。図１０に示すように、信号変換部１８は、サブフレームを特定するパラメータｉを初期化する（ステップ１００１）。
【００５５】
次いで、信号変換部１８は、パラメータｉがオーバーラップ比より大きいかを判断する（ステップ１００２）。ステップ１００２でＮｏと判断された場合には、信号変換部１８（入力フレームデータ生成部２６）は、入力バッファの第ｉ番のサブフレームを、入力フレームの最後尾のサブフレームにコピーする（ステップ１００３）。図１１（ａ）は、ｉ＝１のとき、図１１（ｂ）は、ｉ＝２のときのステップ１００３における、入力フレームのサブフレームへのデータ配置を説明する図である。入力フレーム１１００に、先頭のサブフレームからＩｎ（Ｔ）、Ｉｎ（Ｔ＋１）、Ｉｎ（Ｔ＋２）およびＩｎ（Ｔ＋３）というデータが格納されていた場合に、図１１（ａ）、（ｂ）に示すように、第１番、第２番のサブフレームのデータが、入力フレーム１１１０の末尾のサブフレームに格納される。
【００５６】
後述するように、ステップ１００７で入力フレームのサブフレームがそれぞれシフトされる。したがって、ステップ１００２を繰り返すことにより、入力フレームにおいて、先頭からサブフレームＩｎ（ｔ−３）、Ｉｎ（ｔ−２）、Ｉｎ（ｔ−１）、Ｉｎ（ｔ）が格納されることになる。
【００５７】
次いで、信号変換部１８（中間バッファデータ生成部２８）は、出力フレームの先頭のサブフレームを、中間バッファの第ｉ番のサブフレームにコピーする（ステップ１００４）。後述するようにステップ１００８において、出力フレームのサブフレームがそれぞれシフトされるため、ステップ１００４において、先頭のサブフレームには、第ｉ番の中間バッファのサブフレームに相当するデータが配置されている。
【００５８】
ステップ１００４の後、信号変換部１８（フレーム間演算部３０）は、入力フレームにハニング窓を施す（ステップ１００５）。次いで、信号処理部１８は、ハニング窓が施された入力フレームのデータ値と、出力フレームの第２番のサブフレーム以降の対応するデータ値とを加算する（ステップ１００６）。図１２（ａ）に示すように、ステップ１００５においては、入力フレーム１２００にハニング窓１２０２に施され、ハニング窓が施されたデータ値が格納された入力フレーム１２０３が得られる。また、図１２（ｂ）に示すように、ステップ１００６においては、ハニング窓が施されたデータ値が格納された入力フレーム１２０３の第ｋ番サブフレーム（ｋ＝１〜４）と、出力フレーム１２０４の第（ｋ＋１）番サブフレームとが重なるように、対応するデータ値が加算される。
【００５９】
ステップ１００６の後、信号変換部１８（入力フレームデータ生成部２６）は、入力フレームのデータ値を、サブフレーム１つ分だけ左側（先頭側）にシフトする（ステップ１００７）。これにより、ステップ１００６における第ｋ番サブフレーム（ｋ＝２〜４）は、それぞれ、ステップ１００７の後に第（ｋ−１）番のサブフレームとなる。ステップ１００６における第１番サブフレームは破棄される。また、入力フレームの第４番サブフレームには、次回のステップ１００３において、入力バッファのサブフレームがコピーされるが、ステップ１００６では、たとえば、データ値「０」を格納しておけば良い。
【００６０】
また、信号変換部１８（中間データバッファデータ生成部２８）は、出力フレームのデータ値を、出力フレームの第１番サブフレーム分だけ左側（先頭側）にシフトする（ステップ１００８）。図１２（ｃ）に示すように、ステップ１００８の処理後の出力フレーム１２０５においては、その先頭から、ステップ１００８の処理前における出力フレーム１２０４の第２番サブフレーム〜第４番サブフレームが順次格納される。また、ステップ１００８において、信号変換部１８は、末尾の所定量のデータ値（出力フレームの第１番サブフレームのサイズに相当するデータ値：符号１２０６参照）に「０」を格納する。
【００６１】
ステップ１００９の後、信号変換部１８は、パラメータｉをインクリメントして（ステップ１００９）、ステップ１００２に戻る。
【００６２】
図１０に示すデータ変換処理により、複数のサブフレーム（スロー再生では４つのサブフレーム）を含む中間バッファが生成される。中間バッファに格納されたデータにおいては、入力フレームのデータ値がサブフレームの数（オーバーラップ比：スロー再生では「４」）に基づいて重ねあわされている。また、再生速度比を「０．８」とすると、中間バッファのホップサイズは、入力フレームのホップサイズより、１／０．８＝１．２倍となっており、再生速度が０．８倍となった時間伸張処理が実現される。
【００６３】
なお、図１１、図１２を参照して、データ変換処理において、スロー再生のため、時間伸張処理による中間バッファのデータを生成する例を説明しているが、ファスト再生のための時間短縮処理による場合も、オーバーラップ比、入力バッファのサイズ、入力フレームのサイズ、出力フレームのサイズ、中間バッファのサイズ、出力バッファのサイズ、および、それぞれのサブフレームのサイズが異なることを除けば、同様に実現できることは言うまでも無い。
【００６４】
データ変換処理（図３のステップ３０４）の後、ＣＰＵ１１は、フィルタ処理を実行する（ステップ３０５）。図１３は、本実施の形態にかかるフィルタ処理の例を示す図である。図１３に示すように、フィルタ処理において、ＣＰＵ１１は、再生速度比が「１」より大きいファスト再生か、再生速度比が「１」より小さいスロー再生かを判断する（ステップ１３０１）。スロー再生である場合に（ステップ１３０１でＹｅｓ）、ＣＰＵ１１は、ＲＯＭ１５に格納されたテーブルを参照して、フィルタ処理において、（２）式に基づく第１のフィルタ、（３）式に基づく第２のフィルタの何れを適用すべきかを判断する（ステップ１３０２）。また、ＣＰＵ１１は、テーブルを参照してフィルタの乗数を取得する（ステップ１３０３）。図１４は、本実施の形態にかかる、再生速度比およびフィルタの乗数を格納したテーブルの例を示す図である。なお、フィルタ乗数が「０」であることは、そのフィルタは適用しないことを示している。その後、ＣＰＵ１１は、適用すべきフィルタ種別およびフィルタの乗数を、フィルタ処理部３２に通知し、フィルタ処理の実行を指示する（ステップ１３０４）。
【００６５】
図１４に示すように、本実施の形態においては、再生速度比Ｒが、「１」に近接する所定の範囲、つまり、「１＞Ｒ≧０．６５」の範囲（符号１４０１参照）では、ＣＰＵ１１は、フィルタ処理部３２に第１のフィルタを適用するよう指示するとともに、第１のフィルタのフィルタ乗数βをフィルタ処理部３２に与える。その一方、再生速度比Ｒが、「０．６５＞Ｒ≧０．５」の範囲（符号１４０２参照）では、ＣＰＵ１１は、フィルタ処理部３２に第２のフィルタを適用するように指示するとともに、第２のフィルタのフィルタ乗数γをフィルタ処理部３２に与える。
【００６６】
フィルタ処理部３２は、図１５に示すように、ＣＰＵ１１からフィルタ処理の指示を受け入れた場合には（ステップ１５０１）、ＣＰＵ１１から与えられたフィルタ種別を参照して、第１のフィルタ或いは第２のフィルタの何れを適用すべきかを判断する（ステップ１５０２）。第１のフィルタを適用すべき場合には（ステップ１５０２でＹｅｓ）、フィルタ処理部３２は、中間バッファ３１のデータ値を読み出して（ステップ１５０２）、読み出されたデータ値に、ＣＰＵ１１から受け入れたフィルタ乗数を用いた、（２）式にしたがったくし型フィルタの逆関数に相当するフィルタを施す（ステップ１５０４）。次いで、フィルタ処理部３２は、フィルタが施されたデータ値を、出力バッファ３３に格納する（ステップ１５０５）。
【００６７】
第２のフィルタを適用すべき場合には（ステップ１５０２でＮｏ）、フィルタ処理部３２は、中間バッファ３１のデータ値を読み出して（ステップ１５０６）、読み出されたデータ値に、ＣＰＵ１１から受け入れたフィルタ乗数を用いた、（３）式にしたがったくし型フィルタに相当するフィルタを施す（ステップ１５０７）。その後、フィルタ処理部３２は、フィルタが施されたデータ値を、出力バッファ３３に格納する（ステップ１５０５）。
【００６８】
ステップ１５０１でＮｏと判断された場合には、ファスト再生であることを意味している。したがって、フィルタ処理部３２は、フィルタ処理を行なうことなく、中間バッファ３１のデータを、そのまま、出力バッファ３３に格納する（ステップ１５０８）。
【００６９】
フィルタ処理（ステップ３０５）の後、ＣＰＵ１１は、データ出力処理を実行する（ステップ３０６）。データ出力処理においては、ＣＰＵ１１は、タイマ（図示せず）を参照して、データの出力タイミングとなっているかを判断し、出力タイミングが到来している場合には、ＣＰＵ１１は、ＲＡＭ１４の出力データバッファから所定のデータを読み出して、オーディオ回路１９に出力する。オーディオ回路１９は、受け入れたデータをアナログ信号に変換して、増幅し、スピーカ２２に出力する。その後、ＣＰＵ１１は、他の処理、たとえば、表示部１３への表示処理などを実行して（ステップ３０７）、ステップ３０２に戻る。
【００７０】
本実施の形態によれば、時間伸張処理を実行すべき場合、つまり、スロー再生の場合に、再生速度比が「１」に近接する所定の第１の範囲であるとき、つまり、時間伸張処理の伸張率が比較的小さいときに、フィルタ処理部３２が、くし型フィルタの逆フィルタをデータに施すことにより、時間伸張処理により出力データに生じるくし型フィルタ効果を打ち消す。これにより、処理の簡易さを確保しつつ、音質の劣化を抑制したスロー再生を実現することができる。
【００７１】
また、本実施の形態においては、ＣＰＵ１１は、再生速度比に基づいて、逆フィルタの伝達関数Ｈ（ｚ）＝１／（１＋βｚ−Ｋ）（βは乗数、Ｋは遅延サンプル数）における乗数βを決定し、決定された乗数βを、フィルタ処理部３２に伝達する。これにより、設定された再生速度比に応じて逆フィルタのかけ具合を調整することが可能となる。
【００７２】
特に、本実施の形態においては、ＣＰＵ１１は、再生速度比が小さくなるのにしたがって、逆フィルタの伝達関数の乗数βが小さくなるように、乗数βを決定する。再生速度比が小さくなるのにしたがって、つまり、時間伸張処理における伸張率が大きくなるのにしたがって、出力データにおけるくし型フィルタ効果の影響は小さくなる。したがって、くし型フィルタの影響の大きさに応じて、出力データに逆フィルタをかけることが可能となる。
【００７３】
また、本実施の形態においては、フィルタ処理部３２は、再生速度比が、上記第１の範囲より小さい値からなる所定の第２の範囲であるときに、出力データに、くし型フィルタである第２のフィルタを施す。時間伸張処理の伸張率が比較的大きい場合には、フレーム接合点の不連続性によるノイズを打ち消すために、フィルタ処理部３２は、出力データにくし型フィルタをかける。したがって、再生速度比が小さい（伸張率が大きい）場合にも、ノイズの抑制された出力データを得ることが可能となる。
【００７４】
また、本実施の形態においては、上記くし型フィルタは、中間バッファや出力バッファにおける、ホップサイズを有するサブフレームの接合点で零点を持つ。したがって、接合点でのノイズを適切に打ち消すことが可能となる。
【００７５】
また、本実施の形態においては、ＣＰＵ１１は、再生速度比に基づいて、上記くし型フィルタの伝達関数Ｈ（ｚ）＝１＋γｚ−Ｋ（γは乗数、Ｋは遅延サンプル数）における乗数γを決定し、決定された乗数γを、フィルタ処理部３２に伝達する。これにより、設定された再生速度比に応じてくし型フィルタのかけ具合を調整することが可能となる。
【００７６】
特に、本実施の形態において、ＣＰＵ１１は、再生速度比が小さくなるのにしたがって、くし型フィルタの伝達関数の乗数γが大きくなるように、乗数γを決定する。再生速度比が小さくなるのにしたがって、つまり、時間伸張処理における伸張率が大きくなるのにしたがって、フレーム接合点におけるノイズが大きくなる。したがって、ノイズの大きさに応じて、出力データにくし型フィルタをかけることが可能となる。
【００７７】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【００７８】
１０        データ変換装置
１１        ＣＰＵ
１２        入力部
１３        表示部
１４        ＲＡＭ
１５        ＲＯＭ
１６        大規模記憶装置
１７        入力Ｉ／Ｆ
１８        信号変換部
１９        オーディオ回路
２５        入力バッファ
２６        入力フレームデータ生成部
２７        入力フレーム
２８        中間バッファデータ生成部
２９        出力フレーム
３０        フレーム間演算部
３１        中間バッファ
３２        フィルタ処理部
３３        出力バッファ
【図１】
2011043655.tif 000003
【図２】
2011043655.tif 000004
【図３】
2011043655.tif 000005
【図４】
2011043655.tif 000006
【図５】
2011043655.tif 000007
【図６】
2011043655.tif 000008
【図７】
2011043655.tif 000009
【図８】
2011043655.tif 000010
【図９】
2011043655.tif 000011
【図１０】
2011043655.tif 000012
【図１１】
2011043655.tif 000013
【図１２】
2011043655.tif 000014
【図１３】
2011043655.tif 000015
【図１４】
2011043655.tif 000016
【図１５】
2011043655.tif 000017