(57)【要約】【課題】符号化された音声信号の基本周波数を効率よく算出する。【解決手段】ピッチ抽出装置は、符号化データ分割部と、ビット列生成部と、ピッチ算出部とを備える。符号化データ分割部は、音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割する。ビット列生成部は、第１のビット列の区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、第１のビット列を第１の値及び第２の値により再符号化した第２のビット列を生成する。ピッチ算出部は、第２のビット列の自己相関に基づいて、音声信号の基本周波数を算出する。【選択図】図１
2018072566.tif 000002
【特許請求の範囲】
【請求項１】
音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割する符号化データ分割部と、
前記第１のビット列の前記区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、前記第１のビット列を前記第１の値及び前記第２の値により再符号化した第２のビット列を生成するビット列生成部と、
前記第２のビット列の自己相関に基づいて、前記音声信号の基本周波数を算出するピッチ算出部と、
を備えることを特徴とするピッチ抽出装置。
【請求項２】
前記第１のビット列は、前記ビット値が０と１との２通りであり、
前記ビット列生成部は、前記第１のビット列の前記複数の区間のうち前記０の数が閾値以上である前記区間に前記第１の値を割り当て、他の区間に前記第２の値を割り当てる、
ことを特徴とする請求項１に記載のピッチ抽出装置。
【請求項３】
前記符号化データ分割部は、前記符号化データにおける１フレーム分のビット列を前記第１のビット列とし、前記符号化データにおける符号化データ長を原音のサンプル長で除した値を前記区間長として、前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする請求項１に記載のピッチ抽出装置。
【請求項４】
前記ピッチ抽出装置は、前記第２のビット列と、前記第２のビット列をシフトさせた第３のビット列とに基づいて、前記第２のビット列についての自己相関列を算出する自己相関列算出部、を更に備え、
前記ピッチ算出部は、前記自己相関列における極大値の位置に基づいて、前記音声信号の前記基本周波数を算出する、
ことを特徴とする請求項１に記載のピッチ抽出装置。
【請求項５】
前記ピッチ算出部は、前記自己相関列における複数の前記極大値のうちの閾値を超える極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする請求項４に記載のピッチ抽出装置。
【請求項６】
前記ピッチ算出部は、前記自己相関列を平滑化し、当該平滑化した前記自己相関列における前記極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする請求項４に記載のピッチ抽出装置。
【請求項７】
前記符号化データ分割部は、Ｕｎａｒｙ符号化、ガンマ符号化、デルタ符号化、ゴロム-ライス符号化、及びハフマン符号化のいずれかにより前記残差信号をエントロピー符号化した前記符号化データにおける前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする請求項１に記載のピッチ抽出装置。
【請求項８】
コンピュータが、
音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割し、
前記第１のビット列の前記区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、
前記第１のビット列を前記第１の値及び前記第２の値により再符号化した第２のビット列を生成し、
前記第２のビット列についての自己相関列を算出し、
前記第２のビット列の前記自己相関列に基づいて、前記音声信号の基本周波数を算出する、
処理を実行するピッチ抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピッチ抽出装置及びピッチ抽出方法に関する。
【背景技術】
【０００２】
音声信号や動画像データについての符号化データの検索方法の１つとして、音声のピッチ（基本周波数）を含む検索条件に従って符号化データを検索する方法がある。ここで、音声信号の符号化データは、音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化したものである。この種の検索方法では、符号化データを音声信号に復号化して該音声信号のピッチを算出し、検索条件を満たしているか否かを判定する（例えば、特許文献１及び非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１６０４３９号公報
【非特許文献】
【０００４】
【非特許文献１】古井貞煕 著，「ディジタル音声処理（ディジタルテクノロジーシリーズ；６）」，東海大学出版会，1985年9月25日出版，P.57-59, p.69-73。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワーク上のデータベース等に登録されている多数の符号化データが検索対象である場合、上記の検索方法では、当該多数の符号化データのそれぞれを音声信号に復号化してピッチを算出することとなる。このため、所望のピッチの音声信号についての符号化データを検索する処理における演算量が膨大となり、検索時間の長時間化、検索を行う装置における電力消費量の増大等を招来する。
【０００６】
１つの側面において、本発明は、符号化された音声信号の基本周波数を効率よく算出することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様のピッチ抽出装置は、符号化データ分割部と、ビット列生成部と、ピッチ算出部とを備える。符号化データ分割部は、音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割する。ビット列生成部は、第１のビット列の区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、第１のビット列を第１の値及び第２の値により再符号化した第２のビット列を生成する。ピッチ算出部は、第２のビット列の自己相関に基づいて、音声信号の基本周波数を算出する。
【発明の効果】
【０００８】
上述の態様によれば、符号化された音声信号の基本周波数を効率よく算出することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るピッチ抽出装置の機能的構成を示す図である。
【図２】第１の実施形態に係るピッチ抽出装置が行う処理を説明するフローチャートである。
【図３】符号化データを再符号化する処理の内容を説明するフローチャートである。
【図４】ピッチの推定値を算出する処理の内容を説明するフローチャートである。
【図５】Ｕｎａｒｙ符号化を説明する図である。
【図６】符号化データと再符号化後のビット列との例を示す図である。
【図７】ＬＰＣ残差信号と再符号化後のビット列との関係を説明するグラフ図である。
【図８】第２の実施形態に係るピッチ抽出装置における再符号化部の機能的構成を示す図である。
【図９】第２の実施形態に係る符号化データを再符号化する処理の内容を説明するフローチャートである。
【図１０】第３の実施形態に係る検索システムのシステム構成を示す図である。
【図１１】第３の実施形態に係る検索システムの機能的構成を示す図である。
【図１２】第３の実施形態に係る検索システムにおける検索処理を説明するシーケンス図である。
【図１３】第４の実施形態に係る検索システムの機能的構成を示す図である。
【図１４】第４の実施形態に係る検索システムにおける検索処理を説明するシーケンス図である。
【図１５】第４の実施形態に係る検索装置が行うデータ選別処理の内容を説明するフローチャートである。
【図１６】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
図１は、第１の実施形態に係るピッチ抽出装置の機能的構成を示す図である。
【００１１】
図１に示すように、本実施形態に係るピッチ抽出装置１は、符号化データ取得部１１０と、再符号化部１２０と、自己相関列算出部１３０と、ピッチ算出部１４０と、出力部１５０と、を備える。
【００１２】
符号化データ取得部１１０は、外部装置２の符号化データ記憶部２１０に記憶させている符号化データを取得する。符号化データ取得部１１０が取得する符号化データは、音声信号についての線形予測分析により算出した残差信号をエントロピー符号化したデータであり、「０」と、「１」とが残差信号に応じた順序で並んでいる。外部装置２は、例えば、音声信号を符号化する符号化装置、或いは複数の符号化データを蓄積する記憶装置である。
【００１３】
再符号化部１２０は、取得した符号化データにおけるビット列（第１のビット列）を所定の区間長（桁数）で複数の区間に分割し、当該ビット列の各区間を第１の値又は第２の値で表す第２のビット列に再符号化する。言い換えると、再符号化部１２０は、ビット列を複数の区間に分割したときの各区間を第１の値又は第２の値で表す符号化により、第１のビット列を再符号化した第２のビット列を生成する。本実施形態に係る再符号化部１２０は、複数の区間のうちの、符号化データを復号化した音声信号におけるパルス位置に相当する区間に第１の値を割り当て、他の区間に第２の値を割り当てる。ここで、複数の区間のうちのパルス位置に相当する区間は、「０」が所定の個数以上含まれる区間とする。第２のビット列における第１の値と、第２の値とは、異なる値であればよく、例えば、第１の値を「１」とし、第２の値を「０」とする。第１の値を「１」とし、第２の値を「０」とした場合、第１のビット列における各区間には１ビットの値が割り当てられることとなる。
【００１４】
再符号化部１２０は、符号化データ分割部１２１と、ビット列生成部１２２と、を含む。符号化データ分割部１２１は、符号化データにおける１フレーム分のビット列（第１のビット列）を所定の区間長で複数の区間に分割する。ビット列生成部１２２は、第１のビット列における各区間に「１」又は「０」を割り当て、第１のビット列を再符号化した第２のビット列を生成する。
【００１５】
自己相関列算出部１３０は、第２のビット列についての自己相関列を算出する。
ピッチ算出部１４０は、算出した自己相関列に基づいて、第１のビット列を復号化した音声信号におけるピッチ（基本周波数）の推定値を算出する。
【００１６】
出力部１５０は、算出したピッチの推定値を含む各種情報を出力する。例えば、出力部１５０は、ピッチの推定値を算出した符号化データの識別情報、算出したピッチの推定値等を示す文字列を表示する。
【００１７】
本実施形態に係るピッチ抽出装置１は、図示しない入力装置（或いはピッチ抽出装置１の入力部）からピッチの推定値を算出する符号化データを指定する情報が入力されると、図２に示す処理を行う。
【００１８】
図２は、第１の実施形態に係るピッチ抽出装置が行う処理を説明するフローチャートである。
【００１９】
図２に示すように、本実施形態のピッチ抽出装置１は、まず、外部装置２から処理対象の符号化データを取得する（ステップＳ１）。ステップＳ１の処理は、符号化データ取得部１１０が行う。符号化データ取得部１１０は、例えば、ピッチ抽出装置１のオペレータ（利用者）が図示しない入力装置等を操作して指定した符号化データを外部装置２から取得する。
【００２０】
次に、ピッチ抽出装置１は、取得した符号化データを再符号化する処理を行う（ステップＳ２）。ステップＳ２の処理は、再符号化部１２０が行う。再符号化部１２０は、符号化データにおける１フレーム分のビット列（第１のビット列）を所定の区間長で複数の区間に分割する。また、再符号化部１２０は、第１のビット列における複数の区間のうちの、当該第１のビット列を復号化した音声信号におけるパルス位置に相当する区間に「１」を割り当て、他の区間に「０」を割り当てた第２のビット列を生成する。
【００２１】
次に、ピッチ抽出装置１は、再符号化後のビット列（第２のビット列）についての自己相関列を算出する（ステップＳ３）。ステップＳ３の処理は、自己相関列算出部１３０が行う。自己相関列算出部１３０は、例えば、下記式（１）により、第２のビット列におけるＮ通りのビット列ｂ（ｉ）｛ｉ＝０，１，・・・，Ｎ−１｝についての自己相関列Ｒｉを算出する。
【００２２】
【数１】
2018072566.tif 000003
【００２３】
式（１）における記号「％」は、剰余演算子である。すなわち、式（１）における「（ｊ＋ｉ）％Ｎ」の値は、値（ｊ＋ｉ）を値Ｎで除算したときの余りとなる。
【００２４】
次に、ピッチ抽出装置１は、算出した自己相関列Ｒｉに基づいて、第１のビット列を復号化した音声信号におけるピッチの推定値を算出する（ステップＳ４）。ステップＳ４の処理は、ピッチ算出部１４０が行う。ピッチ算出部１４０は、ピッチの推定値として、自己相関列Ｒｉ｛ｉ＝０，１，・・・，Ｎ−１｝の極大値を算出する。
【００２５】
次に、ピッチ抽出装置１は、算出したピッチの推定値を出力する（ステップＳ５）。ステップＳ５の処理は、出力部１５０が行う。出力部１５０は、例えば、ピッチの推定値を算出した符号化データの識別情報、算出したピッチの推定値等を示す文字列を表示する。
【００２６】
出力部１５０がステップＳ５の処理を終えると、ピッチ抽出装置１は、指定された符号化データにおけるピッチの推定値を算出する処理を終了する。
【００２７】
このように、本実施形態に係るピッチ抽出装置１は、音声信号の符号化データを音声信号に復号化する代わりに、符号化データのビット列（第１のビット列）を第２のビット列に再符号化して、音声信号のピッチの推定値を算出する。符号化データを第２のビット列に再符号化する処理（ステップＳ２）は、ピッチ抽出装置１の再符号化部１２０が行う。再符号化部１２０は、例えば、図３に示す処理を行い、符号化データにおける１フレーム分のビット列（第１のビット列）を第２のビット列に再符号化する。
【００２８】
図３は、符号化データを再符号化する処理の内容を説明するフローチャートである。なお、図３には、符号化データのビット列のうちの、符号化データを復号化した音声信号におけるパルス位置に相当する区間にビット値「０」が連続している場合のフローチャートを示している。
【００２９】
符号化データを再符号化する処理において、再符号化部１２０は、まず、符号化データのビット列（第１のビット列）を複数の区間に分割する際の区間長（桁数）を決定する（ステップＳ２０１）。ステップＳ２０１の処理は、再符号化部１２０の符号化データ分割部１２１が行う。符号化データ分割部１２１は、区間長として、処理対象である符号化データのデータ長を原音のサンプル長で除した値を算出する。
【００３０】
次に、再符号化部１２０は、符号化データにおける１フレーム分のビット列（第１のビット列）を、ステップＳ２０１で算出した区間長で分割する（ステップＳ２０２）。ステップＳ２０２の処理は、再符号化部１２０の符号化データ分割部１２１が行う。符号化データ分割部１２１は、符号化データにおける１フレーム分のビット列を抽出し、当該ビット列を、ステップＳ２０１で算出した区間長（桁数）毎の区間に分割する。
【００３１】
次に、再符号化部１２０は、第１のビット列から区間を１個選択し、当該区間内の「０」を計数する（ステップＳ２０３）。ステップＳ２０３の処理は、再符号化部１２０のビット列生成部１２２が行う。ビット列生成部１２２は、所定の選択規則に従って区間を１個選択し、当該区間における「０」の個数を数える。
【００３２】
次に、再符号化部１２０は、選択した区間における「０」の数が閾値以上であるか否かを判定する（ステップＳ２０４）。ステップＳ２０４の処理は、再符号化部１２０のビット列生成部１２２が行う。ステップＳ２０４の判定における閾値は、例えば、区間長であってもよいし、区間長の９０％程度の値であってもよい。
【００３３】
「０」の数が閾値以上である場合（ステップＳ２０４；ＹＥＳ）、再符号化部１２０は、選択した区間に「１」を割り当てる（ステップＳ２０５）。一方、「０」の数が閾値よりも少ない場合（ステップＳ２０４；ＮＯ）、再符号化部１２０は、選択した区間に「０」を割り当てる（ステップＳ２０６）。ステップＳ２０５及びＳ２０６の処理は、再符号化部１２０のビット列生成部１２２が行う。ステップＳ２０５及びＳ２０６において、ビット列生成部１２２は、例えば、第１のビット列における選択した区間の位置と、当該選択した区間に割り当てた値（「１」又は「０」）とを対応付けて保持する。
【００３４】
ステップＳ２０５又はＳ２０６の処理を終えると、再符号化部１２０は、次に、未選択の区間があるか否かを判定する（ステップＳ２０７）。ステップＳ２０７の判定は、再符号化部１２０のビット列生成部１２２が行う。未選択の区間がある場合（ステップＳ２０７；ＹＥＳ）、再符号化部１２０（ビット列生成部１２２）は、ステップＳ２０３〜Ｓ２０６の処理を繰り返す。
【００３５】
一方、全ての区間が選択済みである場合（ステップＳ２０７；ＮＯ）、再符号化部１２０は、次に、第１のビット列の各区間に割り当てた値を結合した第２のビット列を生成する（ステップＳ２０８）。ステップＳ２０８の処理は、ビット列生成部１２２が行う。ビット列生成部１２２は、第１のビット列内における各区間の並び順に従って、第１のビット列の各区間に割り当てた値を並べた第２のビット列を生成する。
【００３６】
ステップＳ２０８の処理を終えると、再符号化部１２０は、再符号化する処理を続けるか否かを判定する（ステップＳ２０９）。ステップＳ２０９の判定は、符号化データ分割部１２１及びビット列生成部１２２のいずれかで行う。取得した符号化データに第２のビット列を生成していないフレーム（第１のビット列）があり、かつ当該第１のビット列を第２のビット列に再符号化する場合、再符号化部１２０は、再符号化する処理を続けると判定する。再符号化する処理を続ける場合（ステップＳ２０９；ＹＥＳ）、再符号化部１２０は、ステップＳ２０２〜Ｓ２０８の処理を繰り返す。再符号化する処理を終了する場合（ステップＳ２０９；ＮＯ）、再符号化部１２０は、符号化データを再符号化する処理を終了する。
【００３７】
符号化データを再符号化する処理を終えると、ピッチ抽出装置１は、次に、再符号化後のビット列（第２のビット列）についての自己相関列を算出する処理（ステップＳ３）を行う。自己相関列を算出する処理は、自己相関列算出部１３０が行う。自己相関列算出部１３０は、上記式（１）により、第２のビット列におけるＮ通りのビット列ｂ（ｉ）｛ｉ＝０，１，・・・，Ｎ−１｝についての自己相関列Ｒｉを算出する。
【００３８】
再符号化後の第２のビット列についての自己相関列を算出すると、ピッチ抽出装置１は、次に、自己相関列に基づいてピッチの推定値を算出する処理（ステップＳ４）を行う。ステップＳ４の処理は、ピッチ算出部１４０が行う。例えば、図４に示す処理を行い、符号化データにおける第１のビット列を復号化した音声信号のピッチの推定値を算出する。
【００３９】
図４は、ピッチの推定値を算出する処理の内容を説明するフローチャートである。
ピッチの推定値を算出する処理において、ピッチ算出部１４０は、まず、自己相関列を平滑化する（ステップＳ４０１）。ステップＳ４０１において、ピッチ算出部１４０は、移動平均やメディアンフィルタ、或いは忘却係数方式等の、既知の平滑化方法に従い、ステップＳ３で算出した自己相関列Ｒｉを平滑化する。例えば、ピッチ算出部１４０は、下記式（２）で与えられる移動平均により、平滑化した自己相関列ＲＳｉを算出する。
【００４０】
【数２】
2018072566.tif 000004
【００４１】
式（２）における値Ｔは任意の値であり、例えば、Ｔ＝３とする。
【００４２】
次に、ピッチ算出部１４０は、自己相関列の極大値を検出する（ステップＳ４０２）。ステップＳ４０２において、ピッチ算出部１４０は、自己相関列の平均値を閾値Ｈとし、閾値Ｈ以上であり、かつ隣り合う自己相関列ＲＳｋ−１，ＲＳｋ＋１よりも大きい自己相関列ＲＳｋを検出する。すなわち、ステップＳ４０２において、ピッチ算出部１４０は、ＲＳｋ＞Ｈ，ＲＳｋ＞ＲＳｋ−１，及びＲＳｋ＞ＲＳｋ＋１を満たす自己相関列ＲＳｋを検出する。ここで、ピッチ算出部１４０は、例えば、下記式（３）により閾値Ｈを算出する。
【００４３】
【数３】
2018072566.tif 000005
【００４４】
次に、ピッチ算出部１４０は、ステップＳ４０２で検出した極大値の間隔に基づいて、ピッチの推定値を算出する（ステップＳ４０３）。ステップＳ４０３において、ピッチ算出部１４０は、例えば、第２のビット列の自己相関列における隣り合う極大値と極大値との間隔を順次算出し、それら間隔の平均値と対応する周波数をピッチの推定値とする。隣り合う自己相関列の極大値を極大値ＲＳｋ及びＲＳｍとしたときのピッチＦ０は、下記式（４）により算出することが可能である。
【００４５】
【数４】
2018072566.tif 000006
【００４６】
式（４）におけるＦｓは、符号化データのサンプリング周波数である。
【００４７】
ステップＳ４０３の処理を終えると、ピッチ算出部１４０は、ピッチの推定値を算出する処理を終了する。
【００４８】
このように、本実施形態に係るピッチ抽出装置１は、第１のビット列を復号化する代わりに、第１のビット列を第２のビット列に再符号化し、第２のビット列についての自己相関列に基づいて、第１のビット列を復号化した音声信号のピッチの推定値を算出する。本実施形態では、上記のように、第１のビット列を第２のビット列に再符号化する処理において、第１のビット列を複数の区間に分割し、区間内の「０」の個数に基づいて各区間に「１」又は「０」の値を割り当てる。復号化した音声信号におけるパルス位置に相当する区間にビット値「０」が連続している符号化データの場合、ピッチ抽出装置１は、第１のビット列における複数の区間のうちの「０」の数が閾値以上である区間に「１」を割り当て、他の区間に「０」を割り当てる。このため、再符号化により生成した第２のビット列において隣り合う「１」の間隔と、第１のビット列を復号化した音声信号におけるピッチ（基本周波数）とには相関がある。この相関を利用して第１のビット列を復号化した音声信号におけるピッチの推定値を算出することで、第１のビット列（符号化データ）を復号化してピッチを算出する場合に比べて、演算量を大幅に低減することが可能となる。よって、本実施形態によれば、符号化データのピッチを短時間で算出することが可能となり、更に演算処理にかかる電力使用量を低減することが可能となる。すなわち、本実施形態によれば、時間及び電力消費量の両面において、符号化された音声信号のピッチを効率よく算出する（推定する）ことが可能となる。
【００４９】
本実施形態に係るピッチ抽出装置１によりピッチを算出可能な符号化データは、例えば、音声信号についての線形予測分析により算出した残差信号（ＬＰＣ残差信号）をエントロピー符号化したデータである。符号化データは、特定の符号化方式によりエントロピー符号化されたデータに限らず、信号の出現頻度の確率分布が幾何分布や指数分布となる場合に圧縮効率が高い種々のエントロピー符号化により符号化されたデータのいずれかであればよい。例えば、符号化データは、Ｕｎａｒｙ符号化（アルファ符号化）、ガンマ符号化、デルタ符号化、ゴロム-ライス符号化、及びハフマン符号化のいずれかによりエントロピー符号化されたデータであればよい。これらの符号化方式によりエントロピー符号化された符号化データは、いずれも、出現頻度の低い値が「０」又は「１」の連続したビット列で表現される。よって、信号対雑音比が高く（例えば３ｄＢ以上）、かつノイズ成分が定常的な音声信号のＬＰＣ残差信号をエントロピー符号化した符号化データにおいては、音声信号におけるパルス位置と対応する区間が、「０」又は「１」の連続したビット列で表現される。
【００５０】
以下、Ｕｎａｒｙ符号化によりＬＰＣ残差信号をエントロピー符号化した符号化データを例に挙げ、本実施形態に係るピッチ抽出装置１によるピッチの推定値の算出方法を具体的に説明する。
【００５１】
図５は、Ｕｎａｒｙ符号化を説明する図である。
図５の（ａ）には、Ｕｎａｒｙ符号化における、１０進数の値と、割り当てる符号との対応関係を示す対応テーブル３０１を示している。Ｕｎａｒｙ符号化では、１０進数で表される値ｎを、例えば、ｎ個の連続する「０」の末尾に「１」を付加したｎ＋１個（桁）のビット列に変換する。例えば、図５の（ｂ）のテーブル３０２に示すように、１０進数での値が「１，２，５，３，１，・・・」である元の信号に対しＵｎａｒｙ符号化を行うと、符号化データは「０１００１０００００１０００１０１・・・」となる。このように、Ｕｎａｒｙ符号化では、符号化する値が大きいほど、「０」の連続する数（桁数）が大きくなる。なお、Ｕｎａｒｙ符号化では、対応テーブル３０１とは逆に、１０進数で表される値ｎを、ｎ個の連続する「１」の末尾に「０」を付加したｎ＋１個（桁）のビット列に変換することもある。この場合、符号化する値が大きいほど、「１」の連続する数が大きくなる。
【００５２】
図６は、符号化データと再符号化後のビット列との例を示す図である。
図６に示したテーブル３０３の上段には、Ｕｎａｒｙ符号化により符号化した符号化データにおける第１のビット列の例を示している。テーブル３０３に例示した第１のビット列は、１０進数により「２，５，６，６，１２，３，２，３，・・・」と表される数列を図５の（ａ）に示した対応テーブル３０１に従って符号化したビット列である。
【００５３】
本実施形態に係る符号化データを再符号化する処理（ステップＳ２）では、まず、第１のビット列を所定の区間長（桁数）で複数の区間に分割する（ステップＳ２０１，Ｓ２０２）。例えば、第１のビット列を分割する際の区間長を８桁とすると、ピッチ抽出装置１（再符号化部１２０）は、テーブル３０３の中段に示すように、第１のビット列を８桁毎の区間（ビット列）に分割する。
【００５４】
更に、再符号化部１２０は、第１のビット列の各区間における「０」の個数に基づいて、各区間に「１」又は「０」を割り当てる（ステップＳ２０３〜Ｓ２０６）。本実施形態では、上記のように、区間内の「０」の数が閾値以上である区間に「１」を割り当て、他の区間には「０」を割り当てる。ここで、閾値を区間長（すなわち８）とすると、テーブル３０３に示した６個の区間のうちの、先頭から４番目の区間には「１」が割り当てられ、他の区間には「０」が割り当てられる。これにより、再符号化後のビット列（第２のビット列）は、テーブル３０３の下段に示すように「０００１００・・・」となる。このように、Ｕｎａｒｙ符号化された符号化データを再符号化部１２０で再符号化すると、符号化データにおいて同じ値（テーブル３０３では「０」）が多数連続する部分と対応する区間に「１」が割り当てられ、他の区間に「０」が割り当てられる。
【００５５】
図７は、ＬＰＣ残差信号と再符号化後のビット列との関係を説明するグラフ図である。
図７に示した３個のグラフ図のうちの上段のグラフ図は、パルス信号（音声信号）における１フレーム期間分のＬＰＣ残差信号を示している。１フレーム期間分のパルス信号についてのＬＰＣ残差信号では、音声信号のピッチ（基本周波数）と対応する周期で、ＬＰＣ残差が大きくなるピークＰ１〜Ｐ６が出現する。すなわち、ＬＰＣ残差信号において隣り合うピーク同士の時間間隔Ｂ１１〜Ｂ１４は、それぞれピッチと対応する周期と略一致する。
【００５６】
１フレーム期間分のＬＰＣ残差信号をＵｎａｒｙ符号化する場合、符号化装置では、１フレーム期間内の各時刻におけるＬＰＣ残差の値を、図５の（ａ）に示した対応テーブル３０１に従って符号に変換する。上記のように、ＬＰＣ残差信号において隣り合うピーク同士の時間間隔Ｂ１１〜Ｂ１４は、音声信号のピッチと対応する周期と略一致する。すなわち、ＬＰＣ残差信号における隣り合うピーク同士の時間間隔Ｂ１１〜Ｂ１４は、略同一の値となる。更に、信号対雑音比が高く、かつノイズ成分が定常的な音声信号についてのＬＰＣ残差信号では、隣り合うピークの間におけるＬＰＣ残差の時間変化のパターンは、大局的にみると略一致している。例えば、第１のピークＰ１と第２のピークＰ２との間でのＬＰＣ残差の時間変化のパターンと、第２のピークＰ２と第３のピークＰ３との間でのＬＰＣ残差の時間変化のパターンとは、大局的にみると、０から２０までの間で小刻みに変動しており、略一致している。したがって、ＬＰＣ残差信号をＵｎａｒｙ符号化した符号化データでは、隣り合うピーク間のビット列の桁数が略一致する。例えば、ＬＰＣ残差信号における第１のピークＰ１から第２のピークＰ２までの区間をＵｎａｒｙ符号化したときのビット列の桁数と、第２のピークＰ２から第３のピークＰ３までの区間をＵｎａｒｙ符号化したときのビット列の桁数とは、略一致する。
【００５７】
更に、ＬＰＣ残差信号におけるピークＰ１〜Ｐ６のＬＰＣ残差の値に割り当てられる符号は、他の時刻のＬＰＣ残差の値に比べて非常に桁数が多くなる。よって、ＬＰＣ残差信号をＵｎａｒｙ符号化した符号化データ（第１のビット列）は、図７の中段のグラフ図に示したように、ＬＰＣ残差信号におけるピークの時間間隔と略一致する間隔比で、ビット値「０」が多数連続する区間が生じる。なお、図７の中段のグラフ図には、符号化データ（第１のビット列）において隣接する桁のビット値同士を直線で結んだ折れ線を示している。また、図７の中段のグラフ図は、横軸（すなわち１フレーム期間分の符号化データのデータ長（桁数））を、図７の上段のグラフ図の１フレーム期間と一致させている。
【００５８】
すなわち、パルス信号（音声信号）についてのＬＰＣ残差信号をＵｎａｒｙ符号化した場合、符号化データにおいて隣接するピーク同士の間隔を表す桁数の比Ｂ２１：Ｂ２２：Ｂ２３：Ｂ２４が、略１：１：１：１となる。更に、Ｕｎａｒｙ符号化した場合、符号化データにおける桁数の比Ｂ２０／Ｂ２１と、ＬＰＣ残差信号における時間間隔の比Ｂ１０／Ｂ１１とが略一致する。ここで、値Ｂ２０は符号化データにおける１フレーム期間の先頭から１番目のピークまでのビット列の桁数であり、値Ｂ１０はＬＰＣ残差信号における１フレーム期間の先頭から１番目のピークＰ１までの時間間隔である。
【００５９】
したがって、本実施形態に係る再符号化により符号化データにおける１フレーム分のビット列（第１のビット列）を再符号化すると、再符号化後のビット列（第２のビット列）におけるビット値は、図７の下段に示したグラフ図のようになる。第２のビット列では、第１のビット列において「０」の連続する区間のみが「１」となり、他の区間は全て「０」となる。なお、図７の下段のグラフ図には、第２のビット列において隣接する桁のビット値同士を直線で結んだ折れ線を示している。また、図７の下段のグラフ図は、横軸（すなわち第２のビット列のデータ長（桁数））を、図７の上段及び中段のグラフ図の１フレーム期間と一致させている。
【００６０】
本実施形態に係る再符号化により第１のビット列を第２のビット列に再符号化した場合、第２のビット列において隣接する「１」同士の間隔を表す区間数の比Ｂ３１：Ｂ３２：Ｂ３３：Ｂ３４が、略１：１：１：１となる。更に、本実施形態に係る再符号化により第１のビット列を第２のビット列に再符号化した場合、第２のビット列における桁数の比Ｂ３０／Ｂ３１と、第１のビット列における桁数の比Ｂ２０／Ｂ２１とが略一致する。ここで、値Ｂ３０は第２のビット列における１フレーム期間の先頭から１番目のピークまでのビット列の桁数である。
【００６１】
すなわち、１フレーム期間分のＬＰＣ残差信号に対する第２のビット列においてパルス位置を示す値「１」が出現する桁の位置は、それぞれ、ＬＰＣ残差信号におけるピークＰ１〜Ｐ６の出現時刻と略一致する。よって、第２のビット列のデータ長（桁数）と、パルス位置を示す値「１」が出現する桁の位置とに基づいて、符号化データ（第１のビット列）を復号化した音声信号（パルス信号）のピッチを推定することが可能である。
【００６２】
ただし、符号化データにおいて隣接するピーク同士の間隔を表す桁数の比Ｂ２１：Ｂ２２：Ｂ２３：Ｂ２４は、１：１：１：１とはならないことがある。同様に、第２のビット列において隣接する「１」同士の間隔を表す区間数の比Ｂ３１：Ｂ３２：Ｂ３３：Ｂ３４は、１：１：１：１とはならないことがある。このため、本実施形態では、図２及び図４に示したように、第２のビット列についての自己相関列に基づいて、符号化データを復号化した音声信号におけるピッチの推定値を算出する。本願発明者が、いくつかの音源（音声信号）の符号化データを用い、本実施形態に係る処理により算出したピッチの推定値と、符号化データを復号化した音声信号から算出したピッチとを比較したところ、誤差は２５Ｈｚ以下であった。よって、本実施形態によれば、演算量を大幅に低減しつつ、ピッチの抽出精度の低下を抑制することが可能となる。
【００６３】
なお、上記のように、ＬＰＣ残差信号をエントロピー符号化する際の符号化方式は、Ｕｎａｒｙ符号化に限らず、ＬＰＣ残差信号におけるパルス位置と対応したピーク値（出現頻度の低い値）が「０」又は「１」の連続したビット列で表現される方式であればよい。言い換えると、ＬＰＣ残差信号をエントロピー符号化する際の符号化方式は、信号の出現頻度の確率分布が幾何分布や指数分布となる場合に圧縮効率が高くなる符号化方式であればよい。MPEG-4 Audio Lossless Coding（MPEG-ALS）やＦＬＡＣ等のロスレス符号化では、ＬＰＣ残差信号に幾何分布性があると仮定し、エントロピー符号化の符号化方式としてＵｎａｒｙ符号化やゴロム-ライス符号化を適用している。よって、符号化データは、ゴロム-ライス符号化によりＬＰＣ残差信号をエントロピー符号化したデータであってもよい。更に、符号化データは、例えば、ガンマ符号化、デルタ符号化、及びハフマン符号化のいずれかによりＬＰＣ残差信号をエントロピー符号化したデータであってもよい。
【００６４】
また、図３のフローチャートは、符号化データ（第１のビット列）を第２のビット列に再符号化する処理の一例に過ぎない。符号化データ（第１のビット列）を第２のビット列に再符号化する処理は、図３の処理に限らず、適宜変更可能である。例えば、符号化データにおける「０」と「１」との割り当て、及び第２のビット列における「０」と「１」との割り当てが、図３のフローチャートとは逆になっていてもよい。他にも、例えば、第１のビット列の各区間に「１」或いは「０」を割り当てる処理は、区間内の全てのビット値によるＯＲ演算で得た値に対しＮＯＴ演算を行い、ＮＯＴ演算により得られる値を当該区間に割り当てる処理であってもよい。また、第１のビット列の各区間に「１」或いは「０」を割り当てる処理は、例えば、区間内の全てのビット値によるＡＮＤ演算で得られる値を当該区間に割り当てる処理であってもよい。
【００６５】
また、第２のビット列についての自己相関列は、式（１）を用いた算出方法に限らず、他の算出方法で算出してもよい。例えば、自己相関列は、第２のビット列と、第２のビット列をシフトさせた第３のビット列とにおける同一桁のビット値同士の論理積を演算し、第２のビット列の桁数と、論理積が「１」となる桁の個数とに基づいて算出してもよい。また、例えば、第２のビット列と、第２のビット列をシフトさせた第３のビット列とについてのハミング距離を算出し、当該ハミング距離を自己相関列としてもよい。すなわち、自己相関列は、第２のビット列と、第３のビット列とにおける同一桁のビット値同士を比較し、第２のビット列の桁数と、ビット値が異なる桁の個数とに基づいて、算出してもよい。
【００６６】
更に、図４のフローチャートは、自己相関列に基づいてピッチの推定値を算出する処理の一例に過ぎない。ピッチの推定値を算出する処理は、図４の処理に限らず、適宜変更可能である。例えば、ピッチの推定値は、自己相関列における、所定の閾値を超える極大値の位置に基づいて算出してもよい。
【００６７】
［第２の実施形態］
本実施形態では、符号化データを再符号化する処理の別の例を説明する。本実施形態に係るピッチ抽出装置１は、図１に示したように、符号化データ取得部１１０と、再符号化部１２０と、自己相関列算出部１３０と、ピッチ算出部１４０と、出力部１５０とを備える。本実施形態に係るピッチ抽出装置１におけるこれらの機能ブロックのうち、符号化データ取得部１１０、自己相関列算出部１３０、ピッチ算出部１４０、及び出力部１５０は、それぞれ、第１の実施形態で説明した機能を持つ。
【００６８】
図８は、第２の実施形態に係るピッチ抽出装置における再符号化部の機能的構成を示す図である。
【００６９】
図８に示すように、本実施形態に係る再符号化部１２０は、符号化データ分割部１２１と、ビット列生成部１２２とを含む。符号化データ分割部１２１は、符号化データにおける１フレーム分のビット列（第１のビット列）を所定の区間長（桁数）で複数の区間に分割する。ビット列生成部１２２は、第１のビット列における各区間に「１」又は「０」を割り当て、第１のビット列を再符号化した第２のビット列を生成する。ビット列生成部１２２は、ビット値決定部１２５と、ビット値結合部１２６とを含む。
【００７０】
ビット値決定部１２５は、第１のビット列における複数の区間のそれぞれに割り当てる「１」又は「０」のビット値を決定する。ビット値決定部１２５は、Ｎ個の決定部（第１の決定部１２５−１、第２の決定部１２５−２、第Ｎの決定部１２５−Ｎ）を含み、Ｎ個の区間に「１」又は「０」を割り当てる処理を並列に行う。ビット値決定部１２５の決定部１２５−１，１２５−２，・・・，１２５−Ｎの数は、第１のビット列を複数の区間に分割したときの区間数に応じて動的に変更もよいし、予め定めた個数に固定されていてもよい。
【００７１】
ビット値結合部１２６は、ビット値決定部１２５におけるＮ個の決定部のそれぞれで決定したビット値を、第１のビット列における区間の並び順で結合した第２のビット列を生成する。
【００７２】
本実施形態に係るピッチ抽出装置１は、図２に示したステップＳ１〜Ｓ５の処理を行う。ただし、本実施形態に係るピッチ抽出装置１は、ステップＳ２の符号化データを再符号化する処理として、図９に示した処理を行う。
【００７３】
図９は、第２の実施形態に係る符号化データを再符号化する処理の内容を説明するフローチャートである。
【００７４】
図９に示した符号化データを再符号化する処理は、ピッチ抽出装置１の再符号化部１２０が行う。再符号化部１２０は、まず、符号化データのビット列（第１のビット列）を複数の区間に分割する際の区間長（桁数）を決定する（ステップＳ２０１）。ステップＳ２０１の処理は、再符号化部１２０の符号化データ分割部１２１が行う。符号化データ分割部１２１は、区間長として、処理対象である符号化データのデータ長を原音のサンプル長で除した値を算出する。
【００７５】
次に、再符号化部１２０は、符号化データにおける１フレーム分のビット列（第１のビット列）を、ステップＳ２０１で算出した区間長で分割する（ステップＳ２０２）。ステップＳ２０２の処理は、再符号化部１２０の符号化データ分割部１２１が行う。符号化データ分割部１２１は、符号化データにおける１フレーム分のビット列を抽出し、当該ビット列を、ステップＳ２０１で算出した区間長（桁数）でＮ個の区間に分割する。
【００７６】
次に、再符号化部１２０は、第１のビット列におけるＮ個の区間のそれぞれに割り当てるビット値を決定する処理を並列に行う（ステップＳ２２０−１，Ｓ２２０−２，・・・，Ｓ２２０−Ｎ）。ここで、図９に示した二重線の組は、当該二重線の組で挟まれた複数の処理（ステップＳ２０２−１，Ｓ２０２−２，・・・，Ｓ２０２−Ｎ）を並列に行うことを意味する。ステップＳ２０１−ｎ（ｎ＝１，２，・・・，Ｎ）の処理は、それぞれ、ビット値決定部１２５の第ｎの決定部１２５−ｎが行う。第ｎの決定部１２５−ｎは、それぞれ、ステップＳ２０１−ｎの処理として、図３のステップＳ２０３〜Ｓ２０６の処理を行う。なお、第ｎの決定部１２５−ｎは、ステップＳ２０３の処理として、第ｎの区間内における「０」を計数する処理を行う。また、第ｎの決定部１２５−ｎは、ステップＳ２０４の判定処理として、第ｎの区間における「０」の数が閾値以上であるか否かを判定する。更に、第ｎの決定部１２５−ｎは、ステップＳ２０５及びＳ２０６の処理として、それぞれ、第ｎの区間に「１」を割り当てる処理、及び第ｎの区間に「０」を割り当てる処理を行う。
【００７７】
ステップＳ２２０−１，Ｓ２２０−２，・・・，Ｓ２２０−Ｎの並列処理を終えると、再符号化部１２０は、次に、各区間に割り当てた値を結合して第２のビット列を生成する（ステップＳ２０８）。ステップＳ２０８の処理は、ビット値結合部１２６が行う。ビット値結合部１２６は、各区間に割り当てた値（「１」又は「０」）を、第１のビット列における各区間の並び順で結合して第２のビット列を生成する。
【００７８】
ステップＳ２０８の処理を終えると、再符号化部１２０は、再符号化する処理を続けるか否かを判定する（ステップＳ２０９）。ステップＳ２０９の判定は、符号化データ分割部１２１及びビット列生成部１２２のいずれかで行う。取得した符号化データに第２のビット列を生成していないフレーム（第１のビット列）があり、かつ当該第１のビット列を第２のビット列に再符号化する場合、再符号化部１２０は、再符号化する処理を続けると判定する。再符号化する処理を続ける場合（ステップＳ２０９；ＹＥＳ）、再符号化部１２０は、ステップＳ２０２〜Ｓ２０８の処理を繰り返す。再符号化する処理を終了する場合（ステップＳ２０９；ＮＯ）、再符号化部１２０は、符号化データを再符号化する処理を終了する。
【００７９】
符号化データを再符号化する処理を終えると、ピッチ抽出装置１は、次に、図２のステップＳ３〜Ｓ５の処理を行う。本実施形態に係るピッチ抽出装置１は、ステップＳ３〜Ｓ５の処理として、それぞれ、第１の実施形態で説明した処理を行う。
【００８０】
このように、本実施形態に係る符号化データを再符号化する処理では、第１のビット列における複数の区間に「１」又は「０」を割り当てる処理を並列に行う。このため、第１の実施形態のように一区間毎に「１」又は「０」を割り当てる処理を逐次行う場合に比べて、再符号化する処理の処理時間を更に短縮することが可能となる。
【００８１】
なお、本実施形態に係るビット値決定部１２５の決定部１２５−１，１２５−２，・・・，１２５−Ｎの数Ｎは、固定されていてもよい。決定部１２５−１，１２５−２，・・・，１２５−Ｎの数Ｎを固定した場合、第１のビット列を分割して得られるＭ（＞Ｎ）個の区間にビット値を割り当てる処理は、Ｎ個の区間にビット値を割り当てる並列処理を複数回繰り返す。
【００８２】
［第３の実施形態］
図１０は、第３の実施形態に係る検索システムのシステム構成を示す図である。
【００８３】
図１０に示すように、本実施形態に係る検索システム４は、ピッチ抽出装置１と、ストレージ装置５と、検索装置６と、を含む。
【００８４】
ピッチ抽出装置１は、第１の実施形態又は第２の実施形態で説明した装置であり、ストレージ装置５の符号化データ記憶部５０１に蓄積された符号化データを復号化した音声信号におけるピッチの推定値を算出する。ストレージ装置５に蓄積された符号化データは、例えば、音楽や、動画像に含まれる音声等についてのＬＰＣ残差信号をエントロピー符号化したデータである。また、ストレージ装置５に蓄積された符号化データは、例えば、定点観測を行っているカメラ或いは収音装置から取得した音声信号についてのＬＰＣ残差信号をエントロピー符号化したデータであってもよい。
【００８５】
検索装置６は、ストレージ装置５の符号化データ記憶部５０１に蓄積された符号化データを検索し、所望のピッチの符号化データを取得する装置である。なお、本実施形態に係る検索システム４における検索装置６は、ピッチ抽出装置１に対してピッチ情報等の検索条件を送信し、ピッチ抽出装置１に符号化データを検索させる。ピッチ抽出装置１は、検索装置６から受信した検索条件に基づく検索結果や、検索条件を満たす符号化データを、検索装置６に返信する。
【００８６】
本実施形態に係る検索システム４は、例えば、ストレージ装置５の符号化データ記憶部５０１に蓄積された音楽や動画像等の符号化データを、インターネット等のネットワーク７を介して配信する配信システムに適用される。また、検索システム４は、例えば、警備等の定点観測における異常の有無のチェック等に適用される。検索装置６は、例えば、ストレージ装置５に蓄積された符号化データの中から所望のピッチの音声信号についての符号化データを取得するため、ネットワーク７を介してピッチ抽出装置１にアクセスし、ピッチ情報を含む検索条件をピッチ抽出装置１に送信する。
【００８７】
図１１は、第３の実施形態に係る検索システムの機能的構成を示す図である。
図１１に示すように、本実施形態に係る検索システム４のピッチ抽出装置１は、符号化データ取得部１１０と、再符号化部１２０と、自己相関列算出部１３０と、ピッチ算出部１４０と、出力部１６０とを備える。
【００８８】
本実施形態のピッチ抽出装置１における符号化データ取得部１１０は、検索装置６からピッチ情報を含む検索条件（抽出指示）を受信すると、ストレージ装置５の符号化データ記憶部５０１に蓄積された符号化データを順次取得する。また、本実施形態の符号化データ取得部１１０は、検索装置６から受信した検索条件を出力部１６０に送信する。
【００８９】
本実施形態のピッチ抽出装置１における再符号化部１２０は、例えば、第１の実施形態で説明した符号化データ分割部１２１と、ビット列生成部１２２とを含む（図２を参照）。また、本実施形態のピッチ抽出装置１における再符号化部１２０は、例えば、第２の実施形態で説明した符号化データ分割部１２１と、ビット値生成部１２５と、ビット値結合部１２６とを含む（図８を参照）。
【００９０】
本実施形態のピッチ抽出装置１における自己相関列算出部１３０、及びピッチ算出部１４０は、それぞれ、第１の実施形態で説明した機能を持つ。
【００９１】
本実施形態のピッチ抽出装置１における出力部１６０は、ピッチ算出部１４０で算出したピッチの推定値のうちの検索条件を満たす推定値と、当該推定値を算出した符号化データのファイル名等の情報とを含む検索結果を、検索装置６に出力する。
【００９２】
また、図１１に示すように、本実施形態に係る検索システム４の検索装置６は、検索条件入力部６１０と、ピッチ情報取得部６２０と、符号化データ取得部６３０と、検索結果出力部６４０とを備える。
【００９３】
検索条件入力部６１０は、ストレージ装置５の符号化データ記憶部５１０に記憶された符号化データに対する検索条件を入力する。検索条件は、音声信号のピッチ（基本周波数）を含む。検索条件に含める音声信号のピッチは、ピッチを表す数値或いは数値範囲に限らず、例えば、性別や楽器名等の音源の種類により指定することも可能である。また、検索条件は、例えば、符号化データ（音声信号）の作成日時等を含んでもよい。
【００９４】
ピッチ情報取得部６２０は、ピッチ抽出装置１に対し検索条件を含む抽出指示を送信し、ピッチ抽出装置１から検索結果（検索条件を満たす符号化データについての情報）を取得する。
【００９５】
符号化データ取得部６３０は、ピッチ抽出装置１から取得した検索結果に基づいて、ストレージ装置５の符号化データ記憶部５１０に記憶された符号化データを取得する。
【００９６】
検索結果出力部６４０は、ピッチ抽出装置１を介して行った符号化データの検索結果や、符号化データ取得部６３０で取得した符号化データについての情報を出力する。
【００９７】
図１２は、第３の実施形態に係る検索システムにおける検索処理を説明するシーケンス図である。
【００９８】
本実施形態に係る検索システム４により符号化データを検索する際には、図１２に示すように、まず、検索装置６において所望の符号化データのピッチを含む検索条件の入力を受け付ける（ステップＳ８０１）。ここで、検索条件には、ストレージ装置５の符号化データ記憶部５１０に記憶させた全ての符号化データのうちの、検索する符号化データを指定する情報（例えば、符号化データの作成日時等）が含まれていてもよい。検索条件の入力を受け付けた検索装置６は、検索条件を含む抽出指示をピッチ抽出装置１に送信する（ステップＳ８０２）。ステップＳ８０２の送信処理を終えると、検索装置６は、ピッチ抽出装置１から処理結果（抽出結果）を受信するまで待機状態となる。
【００９９】
検索装置６から抽出指示を受信したピッチ抽出装置１は、ステップＳ８１１〜Ｓ８１５の処理を繰り返す。
【０１００】
ステップＳ８１１の処理は、ストレージ装置５から符号化データを取得する処理である。ステップＳ８１１の処理は、ピッチ抽出装置１の符号化データ取得部１１０が行う。
【０１０１】
ステップＳ８１２の処理は、取得した符号化データを再符号化する処理である。ステップＳ８１２の処理は、ピッチ抽出装置１の再符号化部１２０が行う。再符号化部１２０は、第１の実施形態で説明した処理（図３を参照）、又は第２の実施形態で説明した処理（図９を参照）を行い、符号化データにおける１フレーム分のビット列（第１のビット列）を第２のビット列に再符号化する。
【０１０２】
ステップＳ８１３の処理は、第２のビット列についての自己相関列を算出する処理である。ステップＳ８１３の処理は、ピッチ抽出装置１の自己相関列算出部１３０が行う。自己相関列算出部１３０は、第１の実施形態で説明したように、式（１）により第２のビット列におけるＮ通りのビット列ｂ（ｉ）｛ｉ＝０，１，・・・，Ｎ−１｝についての自己相関列Ｒｉを算出する。
【０１０３】
ステップＳ８１４の処理は、自己相関列Ｒｉに基づいてピッチの推定値を算出する処理である。ステップＳ８１４の処理は、ピッチ抽出装置１のピッチ算出部１４０が行う。ピッチ算出部１４０は、第１の実施形態で説明した処理（図４を参照）を行い、符号化データ（第１のビット列）を復号化した音声信号におけるピッチの推定値を算出する。
【０１０４】
ステップＳ８１５の判定処理は、ストレージ装置５の符号化データ記憶部５１０に記憶させた全ての符号化データのうちの所定の符号化データに対する処理を終了したか否かを判定する処理である。ステップＳ８１５の判定処理は、例えば、ピッチ抽出装置１の符号化データ取得部１１０が行う。符号化データ取得部１１０は、例えば、検索装置６から受信した検索条件において指定されている全ての符号化データからピッチの推定値を算出したか否かを判定する。ピッチの推定値を算出していない符号化データがある場合（ステップＳ８１５；ＮＯ）、符号化データ取得部１１０は、ピッチの推定値を算出していない符号化データを取得する（ステップＳ８１１）。処理対象である全ての符号化データについてのピッチの推定値を算出した場合（ステップＳ８１５；ＹＥＳ）、ピッチ抽出装置１は、次に、算出したピッチの推定値を含む処理結果を検索装置６に返信する（ステップＳ８１６）。ステップＳ８１６の処理は、出力部１６０が行う。出力部１６０は、例えば、検索装置６から受信した検索条件を満たす符号化データのファイル名やピッチの推定値等の情報を含む処理結果を、検索装置６に返信する。なお、検索条件を満たす符号化データがストレージ装置５の符号化データ記憶部５１０に存在しない場合、出力部１６０は、検索条件を満たす符号化データがないことを示す情報を含む処理結果を、検索装置６に返信する。
【０１０５】
検索装置６は、ピッチ抽出装置１から処理結果を受信すると、当該処理結果に基づいて、ストレージ装置５の符号化データ記憶部５１０に検索条件を満たす符号化データがあるか否かを判定する（ステップＳ８０３）。ステップＳ８０３の判定処理は、検索装置６のピッチ情報取得部６２０が行う。検索条件を満たす符号化データがある場合（ステップＳ８０３；ＹＥＳ）、検索装置６は、ストレージ装置５から、検索条件を満たす符号化データを取得し（ステップＳ８０４）、検索結果を表示する（ステップＳ８０５）。ステップＳ８０４の処理は、検索装置６の符号化データ取得部６３０が行う。ステップＳ８０５の処理は、検索結果出力部６４０が行う。一方、検索条件を満たす符号化データがない場合（ステップＳ８０３；ＮＯ）、検索装置６は、ステップＳ８０４の処理をスキップし、検索結果を表示する（ステップＳ８０５）。
【０１０６】
このように、本実施形態に係る検索システム４では、検索装置６でピッチを含む検索条件の入力を受け付けた後、ピッチ抽出装置１に符号化データのピッチの推定値を算出させ検索条件を満たす符号化データの有無を検索させる。そして、検索装置６は、ピッチ抽出装置１からの検索結果に基づいて、検索条件を満たす符号化データをストレージ装置５から取得する。すなわち、本実施形態に係る検索システム４では、検索装置６において、符号化データを復号化してピッチを算出する処理や、符号化データのピッチの推定値を算出する処理を行わなくてよい。このため、本実施形態に係る検索システム４では、検索装置６における演算量や電力消費量を低減させることが可能となり、例えば、スマートフォン等の携帯型電子機器を検索装置６として利用可能となる。
【０１０７】
また、ピッチ抽出装置１は、第１の実施形態で説明したように符号化データを再符号化した第２のビット列に基づいて、符号化データを復号化した音声信号におけるピッチの推定値を算出する。このため、ビット抽出装置１は、短時間で符号化データのピッチの推定値を算出することが可能である。したがって、本実施形態に係る検索システム４では、検索装置６のオペレータが検索を開始する操作を行ってから検索結果を出力するまでの待ち時間を短縮することが可能となる。
【０１０８】
更に、図１０の検索システム４のように、検索装置６と符号化データを蓄積したストレージ装置５とがネットワーク７を介して接続される場合、ストレージ装置５から検索装置６に送信する符号化データの数を低減することが可能となる。このため、ストレージ装置５から検索装置６に符号化データを送信することによるネットワーク７のトラヒックの増大を抑制することが可能となる。
【０１０９】
なお、図１０の検索システム４は、第１の実施形態及び第２の実施形態で説明したピッチ抽出装置１を適用した検索システムの一例に過ぎない。本実施形態に係る検索システム４のシステム構成は、図１０に示した例に限らず、適宜変更可能である。例えば、検索システム４におけるピッチ抽出装置１とストレージ装置５とは、別個の装置を所定のケーブルで接続する代わりに、１台のサーバ装置に内蔵されたものであってもよい。また、ピッチ抽出装置１は、検索装置６に内蔵させてもよい。また、検索システム４は、例えば、複数のストレージ装置５を備えたシステムであってもよい。
【０１１０】
［第４の実施形態］
本実施形態では、図１０の検索システム４における検索装置６についての別の例を説明する。
【０１１１】
図１３は、第４の実施形態に係る検索システムの機能的構成を示す図である。なお、図１３では、ピッチ抽出装置１の機能的構成を省略している。
【０１１２】
図１３に示すように、本実施形態に係る検索システム４の検索装置６は、検索条件入力部６１０と、ピッチ情報取得部６２０と、データ選別部６５０と、検索結果出力部６４０と、を備える。
【０１１３】
本実施形態の検索装置６における検索条件入力部６１０、ピッチ情報取得部６２０、及び検索結果出力部６４０は、それぞれ、第３の実施形態で説明した機能を持つ。
【０１１４】
本実施形態の検索装置６におけるデータ選別部６５０は、ピッチ抽出装置１で算出したピッチの推定値が検索条件を満たしている符号化データのなかから、復号化した音声信号におけるピッチが検索条件を満たす符号化データを選出する。データ選別部６５０は、符号化データ取得部６３０と、復号化部６５１と、ピッチ算出部６５２と、判定部６５３と、を含む。
【０１１５】
符号化データ取得部６３０は、ストレージ装置５の符号化データ記憶部５１０から符号化データを取得する。復号化部６５０は、ストレージ装置５から取得した符号化データを復号化する。ピッチ算出部６６０は、復号化したデータ（音声信号）におけるピッチを算出する。判定部６７０は、算出したピッチが検索条件に含まれるピッチの条件を満たしているか否かを判定する。
【０１１６】
また、本実施形態に係る検索システム４のピッチ抽出装置１は、符号化データ取得部１１０と、再符号化部１２０と、自己相関列算出部１３０と、ピッチ算出部１４０と、出力部１６０とを備える（図１１を参照）。
【０１１７】
図１４は、第４の実施形態に係る検索システムにおける検索処理を説明するシーケンス図である。
【０１１８】
本実施形態に係る検索システム４により符号化データを検索する際には、図１４に示すように、まず、検索装置６において所望の符号化データのピッチを含む検索条件の入力を受け付ける（ステップＳ８０１）。ここで、検索条件には、ストレージ装置５の符号化データ記憶部５１０に記憶させた全ての符号化データのうちの、検索対象とする符号化データを指定する情報（例えば、符号化データの作成日時等）が含まれていてもよい。検索条件の入力を受け付けた検索装置６は、検索条件を含む抽出指示をピッチ抽出装置１に送信する（ステップＳ８０２）。ステップＳ８０２の送信処理を終えると、検索装置６は、ピッチ抽出装置１から処理結果（抽出結果）を受信するまで待機状態となる。
【０１１９】
検索装置６から抽出指示を受信したピッチ抽出装置１は、ステップＳ８１１〜Ｓ８１５の処理を繰り返す。
【０１２０】
ステップＳ８１１の処理は、ストレージ装置５から符号化データを取得する処理である。ステップＳ８１１の処理は、ピッチ抽出装置１の符号化データ取得部１１０が行う。
【０１２１】
ステップＳ８１２の処理は、取得した符号化データを再符号化する処理である。ステップＳ８１２の処理は、ピッチ抽出装置１の再符号化部１２０が行う。再符号化部１２０は、第１の実施形態で説明した処理（図３を参照）、又は第２の実施形態で説明した処理（図９を参照）を行い、符号化データ（第１のビット列）を第２のビット列に再符号化する。
【０１２２】
ステップＳ８１３の処理は、第２のビット列についての自己相関列を算出する処理である。ステップＳ８１３の処理は、ピッチ抽出装置１の自己相関列算出部１３０が行う。自己相関列算出部１３０は、第１の実施形態で説明したように、式（１）により第２のビット列におけるＮ通りのビット列ｂ（ｉ）｛ｉ＝０，１，・・・，Ｎ−１｝についての自己相関列Ｒｉを算出する。
【０１２３】
ステップＳ８１４の処理は、自己相関列Ｒｉに基づいてピッチの推定値を算出する処理である。ステップＳ８１４の処理は、ピッチ抽出装置１のピッチ算出部１４０が行う。ピッチ算出部１４０は、第１の実施形態で説明した処理（図４を参照）を行い、符号化データ（第１のビット列）を復号化した音声信号におけるピッチの推定値を算出する。
【０１２４】
ステップＳ８１５の判定処理は、ストレージ装置５の符号化データ記憶部５１０に記憶させた全ての符号化データのうちの所定の符号化データに対する処理を終了したか否かを判定する処理である。ステップＳ８１５の判定処理は、例えば、ピッチ抽出装置１の符号化データ取得部１１０が行う。符号化データ取得部１１０は、例えば、検索装置６から受信した検索条件において指定されている全ての符号化データからピッチの推定値を算出したか否かを判定する。ピッチの推定値を算出していない符号化データがある場合（ステップＳ８１５；ＮＯ）、符号化データ取得部１１０は、ピッチの推定値を算出していない符号化データを取得する（ステップＳ８１１）。処理対象である全ての符号化データについてのピッチの推定値を算出した場合（ステップＳ８１５；ＹＥＳ）、ピッチ抽出装置１は、次に、算出したピッチの推定値を含む処理結果を検索装置６に返信する（ステップＳ８１６）。ステップＳ８１６の処理は、出力部１６０が行う。出力部１６０は、例えば、検索装置６から受信した検索条件を満たす符号化データのファイル名やピッチの推定値等の情報を含む処理結果を、検索装置６に返信する。なお、検索条件を満たす符号化データがストレージ装置５の符号化データ記憶部５１０に存在しない場合、出力部１６０は、検索条件を満たす符号化データがないことを示す情報を含む処理結果を、検索装置６に返信する。
【０１２５】
検索装置６は、ピッチ抽出装置１から処理結果を受信すると、当該処理結果に基づいて、検索条件を満たす符号化データがあるか否かを判定する（ステップＳ８０３）。ステップＳ８０３の判定処理は、検索装置６のピッチ情報取得部６２０が行う。検索条件を満たす符号化データがある場合（ステップＳ８０３；ＹＥＳ）、検索装置６は、次に、検索条件を満たす符号化データを選別するデータ選別処理（ステップＳ８０６）を行い、検索結果を表示する（ステップＳ８０５）。ステップＳ８０６の処理は、検索装置６のデータ選別部６５０が行う。データ選別部６５０は、ピッチ抽出装置１の処理結果において検索条件を満たしている符号化データのなかから、復号化した音声信号におけるピッチが検索条件を満たしている符号化データを選出する。ステップＳ８０５の処理は、検索結果出力部６４０が行う。一方、検索条件を満たす符号化データがない場合（ステップＳ８０３；ＮＯ）、検索装置６は、ステップＳ８０６のデータ選別処理をスキップし、検索結果を表示する（ステップＳ８０５）。
【０１２６】
このように、本実施形態に係る検索システム４では、検索装置６でピッチを含む検索条件の入力を受け付けた後、ピッチ抽出装置１に符号化データのピッチの推定値を算出させ検索条件を満たす符号化データの有無を検索させる。そして、検索装置６は、ピッチ抽出装置１の処理結果において検索条件を満たしている符号化データのなかから、復号化した音声信号におけるピッチが検索条件を満たしている符号化データを選出する。符号化データを選出するデータ選別処理（ステップＳ８０６）は、検索装置６のデータ選別部６０５が行う。データ選別部６５０は、データ選別処理として、図１５に示す処理を行う。
【０１２７】
図１５は、第４の実施形態に係る検索装置が行うデータ選別処理の内容を説明するフローチャートである。
【０１２８】
データ選別処理において、データ選別部６５０は、まず、検索条件を満たす符号化データのリストから符号化データを１個選択し（ステップＳ８０６０１）、選択した符号化データを取得する（ステップＳ８０６０２）。ステップＳ８０６０１及びＳ８０６０２の処理は、データ選別部６５０の符号化データ取得部１３０が行う。データ選別処理を開始した時点における検索条件を満たす符号化データのリストには、ピッチ抽出装置１において算出したピッチの推定値が検索条件を満たしている符号化データのファイル名やＵＲＬ等が登録されている。符号化データ取得部１３０は、所定の選択規則に従って、リストから符号化データを選択し、選択した符号化データをストレージ装置５から取得する。選択規則は、例えば、未選択であり、かつリストの登録順位が最も早い符号化データを選択する、という規則にする。
【０１２９】
次に、データ選別部６５０は、取得した符号化データを復号化する（ステップＳ８０６０３）。ステップＳ８０６０３の処理は、復号化部６５１が行う。復号化部６５１は、取得した符号化データの符号化規格における復号方法に従い、符号化データを復号化する。
【０１３０】
次に、データ選別部６５０は、復号化したデータのピッチを算出する（ステップＳ８０６０４）。ステップＳ８０６０４の処理は、ピッチ算出部６５２が行う。ピッチ算出部６５２は、既知の算出方法に従い、復号化したデータ（音声信号）のピッチを算出する。
【０１３１】
次に、データ選別部６５０は、復号化したデータのピッチが検索条件を満たすか否かを判定する（ステップＳ８０６０５）。ステップＳ８０６０５の判定は、判定部６５３が行う。復号化したデータのピッチが検索条件を満たす場合（ステップＳ８０６０５；ＹＥＳ）、判定部６５３は、次に、リストに未選択の符号化データがあるか否かを判定する（ステップＳ８０６０７）。
【０１３２】
一方、復号化したデータのピッチが検索条件を満たしていない場合（ステップＳ８０６０５；ＮＯ）、判定部６５３は、次に、選択した符号化データを、検索条件を満たす符号化データのリストから除外する（ステップＳ８０６０６）。その後、判定部６５３は、ステップＳ８０６０７の判定を行う。
【０１３３】
ステップＳ８０６０７では、検索条件を満たす符号化データのリストに登録された符号化データのなかに、まだステップＳ８０６０１で選択していない符号化データがあるか否かを判定する。未選択の符号化データがある場合（ステップＳ８０６０７；ＹＥＳ）、判定部６５３は、符号化データ取得部１３０、復号化部６５１、及びピッチ算出部６５２に、ステップＳ８０６０１〜Ｓ８０６０４の処理を行わせる。リストに登録された全ての符号化データが選択済みである場合（ステップＳ８０６０７；ＮＯ）、判定部６５３は、検索条件を満たす符号化データのリストを検索結果出力部６４０に出力する（ステップＳ８０６０８）。ステップＳ８０６０８の処理を終えると、データ選別部６５０は、データ選別処理を終了する。
【０１３４】
このように、本実施形態に係る検索システム４では、検索装置６において、ピッチ抽出装置１で算出したピッチの推定値が検索条件を満たしている符号化データを復号化し、復号化したデータのピッチを算出する。すなわち、検索装置６は、ストレージ装置５の符号化データ記憶部５１０に記憶させた全ての符号化データのうちの、ピッチの推定値が検索条件を満たしている符号化データのみを取得してピッチを算出する。符号化データを復号化したデータ（音声信号）からピッチを算出する方法では、ピッチ抽出装置１で算出したピッチの推定値と比べて、より高精度でピッチを算出することが可能である。そのため、本実施形態に係る検索システム４では、検索装置６における演算量の増大を抑制し、検索条件を満たす符号化データを高精度で効率よく抽出することが可能となる。また、検索装置６における演算処理の増大を抑制することが可能であるため、本実施形態に係る検索システム４では、例えば、スマートフォン等の携帯型電子機器を検索装置６として利用可能となる。
【０１３５】
また、ピッチ抽出装置１は、第１の実施形態で説明したように符号化データを再符号化した第２のビット列に基づいて、符号化データを復号化した音声信号におけるピッチの推定値を算出する。このため、ピッチ抽出装置１は、短時間で符号化データのピッチの推定値を算出することが可能である。したがって、本実施形態に係る検索システム４では、検索装置６のオペレータが検索を開始する操作を行ってから検索結果を出力するまでの待ち時間を短縮することが可能となる。
【０１３６】
更に、図１０の検索システム４のように、検索装置６と符号化データを蓄積したストレージ装置５とがネットワーク７を介して接続される場合、ストレージ装置５から検索装置６に送信する符号化データの数を低減することが可能となる。このため、ストレージ装置５から検索装置６に符号化データを送信することによるネットワーク７のトラヒックの増大を抑制することが可能となる。
【０１３７】
なお、本実施形態に係る検索システム４は、第３の実施形態で説明した検索システム４と同様、図１０に示したシステム構成に限らず、適宜変更可能である。例えば、検索システム４におけるピッチ抽出装置１とストレージ装置５とは、別個の装置を所定のケーブルで接続する代わりに、１台のサーバ装置に内蔵されたものであってもよい。また、ピッチ抽出装置１は、検索装置６に内蔵させてもよい。また、検索システム４は、例えば、複数のストレージ装置５を備えたシステムであってもよい。
【０１３８】
加えて、上記の各実施形態に係るピッチ抽出装置１は、コンピュータと、当該コンピュータに実行させるプログラムプログラムとにより実現可能である。以下、図１６を参照して、コンピュータとプログラムとにより実現されるピッチ抽出装置１について説明する。
【０１３９】
図１６は、コンピュータのハードウェア構成を示す図である。
図１６に示すように、コンピュータ９は、プロセッサ９０１と、主記憶装置９０２と、補助記憶装置９０３と、入力装置９０４と、出力装置９０５と、入出力インタフェース９０６と、通信制御装置９０７と、媒体駆動装置９０８と、を備える。コンピュータ９におけるこれらの要素９０１〜９０８は、バス９１０により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【０１４０】
プロセッサ９０１は、Central Processing Unit（ＣＰＵ）やMicro Processing Unit（ＭＰＵ）等である。プロセッサ９０１は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ９の全体の動作を制御する。また、プロセッサ９０１は、例えば、図２〜図４に示したピッチの推定値を算出する処理、或いは図２、図９、及び図４に示したピッチの推定値を算出する処理、を含むピッチ抽出プログラムを実行する。
【０１４１】
主記憶装置９０２は、図示しないRead Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む。主記憶装置９０２のＲＯＭには、例えば、コンピュータ９の起動時にプロセッサ９０１が読み出す所定の基本制御プログラム等が予め記録されている。一方、主記憶装置９０２のＲＡＭは、プロセッサ９０１が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置９０２のＲＡＭは、例えば、取得した符号化データ、再符号化後のビット列、算出した自己相関列、及び算出したピッチの推定値等を保持するピッチ抽出装置１の記憶部（図示せず）として利用可能である。
【０１４２】
補助記憶装置９０３は、主記憶装置９０２のＲＡＭと比べて容量の大きい記憶装置であり、例えば、Hard Disk Drive（ＨＤＤ）や、フラッシュメモリのような不揮発性メモリ（Solid State Drive（ＳＳＤ）を含む）等である。補助記憶装置９０３は、プロセッサ９０１によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置９０３は、例えば、図２〜図４に示したピッチの推定値を算出する処理、或いは図２、図９、及び図４に示したピッチの推定値を算出する処理、を含むピッチ抽出プログラムの記憶に利用可能である。また、補助記憶装置９０３は、例えば、取得した符号化データ、再符号化後のビット列、算出した自己相関列、及び算出したピッチの推定値等を保持するピッチ抽出装置１の記憶部（図示せず）として利用可能である。
【０１４３】
入力装置９０４は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ９のオペレータ（利用者）が入力装置９０４に対して所定の操作を行うと、入力装置９０４は、その操作内容に対応付けられている入力情報をプロセッサ９０１に送信する。入力装置９０４は、例えば、ピッチの推定値の算出処理を開始させる命令、コンピュータ９が実行可能な他の処理に関する命令等の入力や、各種設定値の入力等に利用可能である。
【０１４４】
出力装置９０５は、例えば、液晶表示装置等の表示装置やレシーバ等の音声出力装置である。
【０１４５】
入出力インタフェース９０６は、コンピュータ９と、他の電子機器とを接続する。入出力インタフェース９０６は、例えば、Universal Serial Bus（ＵＳＢ）規格のコネクタ等を備える。入出力インタフェース９０６は、例えば、コンピュータ９とストレージ装置５（外部装置２）との接続に利用可能である。
【０１４６】
通信制御装置９０７は、コンピュータ９をインターネット等のネットワークに接続し、ネットワークを介したコンピュータ９と他の通信機器との各種通信を制御する装置である。通信制御装置９０７は、例えば、コンピュータ９と、検索装置６との通信に利用可能である。
【０１４７】
媒体駆動装置９０８は、可搬型記憶媒体１０に記録されているプログラムやデータの読み出し、補助記憶装置９０３に記憶されたデータ等の可搬型記憶媒体１０への書き込みを行う。媒体駆動装置９０８には、例えば、１種類又は複数種類の規格に対応したメモリカード用リーダ／ライタが利用可能である。媒体駆動装置９０８としてメモリカード用リーダ／ライタを用いる場合、可搬型記憶媒体１０としては、メモリカード用リーダ／ライタが対応している規格、例えば、Secure  Digital（ＳＤ）規格のメモリカード（フラッシュメモリ）等を利用可能である。また、可搬型記録媒体１０としては、例えば、ＵＳＢ規格のコネクタを備えたフラッシュメモリが利用可能である。更に、コンピュータ９が媒体駆動装置９０８として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体１０として利用可能である。可搬型記録媒体１０として利用可能な光ディスクには、例えば、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray Disc（Blu-rayは登録商標）等がある。可搬型記録媒体１０は、例えば、図２〜図４に示したピッチの推定値を算出する処理、或いは図２、図９、及び図４に示したピッチの推定値を算出する処理、を含むピッチ抽出プログラムの記憶に利用可能である。また、補助記憶装置９０３は、例えば、取得した符号化データ、再符号化後のビット列、算出した自己相関列、及び算出したピッチの推定値等を保持するピッチ抽出装置１の記憶部（図示せず）として利用可能である。
【０１４８】
例えば、オペレータが入力装置９０４等を利用してピッチの推定値の算出処理を開始する命令をコンピュータ９に入力すると、プロセッサ９０１が、補助記憶装置９０３等の非一時的な記録媒体に記憶させたピッチ抽出プログラムを読み出して実行する。この処理において、プロセッサ９０１は、ピッチ抽出装置１における符号化データ取得部１１０、再符号化部１２０、自己相関列算出部１３０、ピッチ算出部１４０、及び出力部１５０として機能する（動作する）。また、プロセッサ９０１がピッチ抽出プログラムを実行している間、主記憶装置９０２のＲＡＭや補助記憶装置９０３等は、取得した符号化データ、再符号化後のビット列、及び算出したピッチの推定値等を保持するピッチ抽出装置１の記憶部として機能する。
【０１４９】
なお、ピッチ抽出装置１として動作させるコンピュータ９は、図１６に示した全ての要素９０１〜９０８を含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ９は、通信制御装置９０７や媒体駆動装置９０８が省略されたものであってもよい。
【０１５０】
また、コンピュータ９をピッチ抽出装置１として動作させる場合、例えば、補助記憶装置９０３や、可搬型記録媒体１０を、ストレージ装置５の符号化データ記憶部５１０として利用することも可能である。
【０１５１】
更に、コンピュータ９は、ピッチ抽出装置１として動作させるだけでなく、検索システム４における検索装置６として動作させることも可能である。
【０１５２】
以上記載した各実施形態に関し、更に以下の付記を開示する。
（付記１）
音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割する符号化データ分割部と、
前記第１のビット列の前記区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、前記第１のビット列を前記第１の値及び前記第２の値により再符号化した第２のビット列を生成するビット列生成部と、
前記第２のビット列の自己相関に基づいて、前記音声信号の基本周波数を算出するピッチ算出部と、
を備えることを特徴とするピッチ抽出装置。
（付記２）
前記第１のビット列は、前記ビット値が０と１との２通りであり、
前記ビット列生成部は、前記第１のビット列の前記複数の区間のうち前記０の数が閾値以上である前記区間に前記第１の値を割り当て、他の区間に前記第２の値を割り当てる、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記３）
前記第１のビット列は、前記ビット値が０と１との２通りであり、
前記ビット列生成部は、前記第１のビット列の前記複数の区間のうち全ての前記ビット値が０である前記区間に前記第１の値を割り当て、他の区間に前記第２の値を割り当てる、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記４）
前記第１のビット列は、前記ビット値が０と１との２通りであり、
前記ビット列生成部は、前記第１のビット列の前記複数の区間のうち全ての前記ビット値が１である前記区間に前記第１の値を割り当て、他の区間に前記第２の値を割り当てる、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記５）
前記符号化データ分割部は、前記符号化データにおける１フレーム分のビット列を前記第１のビット列とし、前記符号化データにおける符号化データ長を原音のサンプル長で除した値を前記区間長として、前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記６）
前記ピッチ抽出装置は、前記第２のビット列と、前記第２のビット列をシフトさせた第３のビット列とに基づいて、前記第２のビット列についての自己相関列を算出する自己相関列算出部、を更に備え、
前記ピッチ算出部は、前記自己相関列における極大値の位置に基づいて、前記音声信号の前記基本周波数を算出する、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記７）
前記ビット列生成部は、前記第１の値を１とし、前記第２の値を０として前記第２のビット列を生成し、
前記自己相関列算出部は、前記第２のビット列と、前記第３のビット列とにおける同一桁の前記ビット値同士の論理積を演算し、前記論理積が１となる桁の個数に基づいて、前記自己相関列を算出する、
ことを特徴とする付記６に記載のピッチ抽出装置。
（付記８）
前記自己相関列算出部は、前記第２のビット列と、前記第３のビット列とにおける同一桁の前記ビット値同士を比較し、前記ビット値が異なる桁の個数に基づいて、前記自己相関列を算出する、
ことを特徴とする付記６に記載のピッチ抽出装置。
（付記９）
前記ピッチ算出部は、前記自己相関列における複数の前記極大値のうちの閾値を超える極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする付記６に記載のピッチ抽出装置。
（付記１０）
前記ピッチ算出部は、前記自己相関列を平滑化し、当該平滑化した前記自己相関列における前記極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする付記６に記載のピッチ抽出装置。
（付記１１）
前記符号化データ分割部は、Ｕｎａｒｙ符号化、ガンマ符号化、デルタ符号化、ゴロム-ライス符号化、及びハフマン符号化のいずれかにより前記残差信号をエントロピー符号化した前記符号化データにおける前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする付記１に記載のピッチ抽出装置。
（付記１２）
コンピュータが、
音声信号に対する線形予測分析により算出された残差信号をエントロピー符号化した符号化データにおける第１のビット列を、所定の区間長で複数の区間に分割し、
前記第１のビット列の前記区間毎に、該区間内のビット値に基づいて第１の値又は第２の値を割り当て、
前記第１のビット列を前記第１の値及び前記第２の値により再符号化した第２のビット列を生成し、
前記第２のビット列についての自己相関列を算出し、
前記第２のビット列の前記自己相関列に基づいて、前記音声信号の基本周波数を算出する、
処理を実行するピッチ抽出方法。
（付記１３）
前記第１のビット列は、前記ビット値が０と１との２通りであり、
前記第１のビット列の各区間に前記第１の値又は前記第２の値を割り当てる処理において、前記コンピュータは、前記第１のビット列の前記複数の区間のうち前記０の数が閾値以上である前記区間に前記第１の値を割り当て、他の区間に前記第２の値を割り当てる、
ことを特徴とする付記１２に記載のピッチ抽出方法。
（付記１４）
前記第１のビット列を前記複数の区間に分割する処理において、前記コンピュータは、前記符号化データにおける１フレーム分のビット列を前記第１のビット列とし、前記符号化データにおける符号化データ長を原音のサンプル長で除した値を前記区間長として、前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする付記１２に記載のピッチ抽出方法。
（付記１５）
前記自己相関列を算出する処理において、前記コンピュータは、前記第２のビット列と、前記第２のビット列をシフトした第３のビット列とに基づいて、前記自己相関列を算出し、
前記基本周波数を算出する処理において、前記コンピュータは、前記自己相関列における極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする付記１２に記載のピッチ抽出方法。
（付記１６）
前記基本周波数を算出する処理において、前記コンピュータは、前記自己相関列における複数の前記極大値のうちの閾値を超える極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする付記１５に記載のピッチ抽出方法。
（付記１７）
前記基本周波数を算出する処理において、前記コンピュータは、前記自己相関列を平滑化し、当該平滑化した前記自己相関列における前記極大値の位置に基づいて、前記基本周波数を算出する、
ことを特徴とする付記１５に記載のピッチ抽出方法。
（付記１８）
前記第１のビット列を前記複数の区間に分割する処理において、前記コンピュータは、Ｕｎａｒｙ符号化、ガンマ符号化、デルタ符号化、ゴロム-ライス符号化、及びハフマン符号化のいずれかにより前記残差信号をエントロピー符号化した前記符号化データにおける前記第１のビット列を前記複数の区間に分割する、
ことを特徴とする付記１２に記載のピッチ抽出方法。
【符号の説明】
【０１５３】
１  ピッチ抽出装置
２  外部装置
４  検索システム
５  ストレージ装置
６  検索装置
７  ネットワーク
９  コンピュータ
１０  可搬型記録媒体
１１０，６３０  符号化データ取得部
１２０  再符号化部
１２１  符号化データ分割部
１２２  ビット列生成部
１２５  ビット値決定部
１２６  ビット値結合部
１３０  自己相関列算出部
１４０，６５２  ピッチ算出部
１５０，１６０  出力部
２１０，５１０  符号化データ記憶部
６１０  検索条件入力部
６２０  ピッチ情報取得部
６４０  検索結果出力部
６５０  データ選別部
６５１  復号化部
６５３  判定部
９０１  プロセッサ
９０２  主記憶装置
９０３  補助記憶装置
９０４  入力装置
９０５  出力装置
９０６  入出力インタフェース
９０７  通信制御装置
９０８  媒体駆動装置
９１０  バス
【図１】
2018072566.tif 000007
【図２】
2018072566.tif 000008
【図３】
2018072566.tif 000009
【図４】
2018072566.tif 000010
【図５】
2018072566.tif 000011
【図６】
2018072566.tif 000012
【図７】
2018072566.tif 000013
【図８】
2018072566.tif 000014
【図９】
2018072566.tif 000015
【図１０】
2018072566.tif 000016
【図１１】
2018072566.tif 000017
【図１２】
2018072566.tif 000018
【図１３】
2018072566.tif 000019
【図１４】
2018072566.tif 000020
【図１５】
2018072566.tif 000021
【図１６】
2018072566.tif 000022