(57)【要約】【課題】大きなメモリリソースを必要とせずにデコードを実行することが可能な情報処理装置、情報処理システム、プログラム及び情報処理方法を提供すること。【解決手段】本技術に係る情報処理装置は、デコード部を具備する。上記デコード部は、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする。【選択図】図４
2020004027.tif 000002
【特許請求の範囲】
【請求項１】
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、前記複数のチャンネルのデータを前記先頭位置から所定サイズのブロック毎にデコードするデコード部
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
前記デコード部は、前記第１のチャンネルにおいて先頭位置から第１のブロックをデコードし、前記第２のチャンネルにおいて先頭位置から第２のブロックをデコードし、前記第１のチャンネルにおいて前記第１のブロックの終端位置から第３のブロックをデコードし、前記第２のチャンネルにおいて前記第２のブロックの終端位置から第４のブロックをデコードする
情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記先頭位置を特定するパーサ部
をさらに具備する情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記パーサ部は、前記圧縮音声データをデコードし、前記先頭位置を特定する
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
前記パーサ部は、前記第１のチャンネルのデータをデコードし、前記第１のチャンネルのデータの終端位置を前記第２のチャンネルのデータの先頭位置として特定する
情報処理装置。
【請求項６】
請求項３に記載の情報処理装置であって、
前記パーサ部は、前記圧縮音声データのメタ情報から前記先頭位置を特定する
情報処理装置。
【請求項７】
請求項４に記載の情報処理装置であって、
前記パーサ部は、前記先頭位置を特定し、前記先頭位置を含む前記圧縮音声データのメタ情報を生成し、
前記デコード部は、前記メタ情報に含まれる前記先頭位置を用いて前記複数のチャンネルのデータを前記先頭位置から所定サイズのブロック毎にデコードする
情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記パーサ部は、前記メタ情報を含む圧縮音声データを生成する
情報処理装置。
【請求項９】
請求項７に記載の情報処理装置であって、
前記パーサ部は、前記メタ情報を含むメタ情報ファイルを生成する
情報処理装置。
【請求項１０】
請求項２に記載の情報処理装置であって、
前記デコード部によって前記第１のブロックと前記第２のブロックがデコードされると、前記第１のブロックと前記第２のブロックの音声データをレンダリングするレンダリング部
をさらに具備する情報処理装置
【請求項１１】
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、前記複数のチャンネルのデータを前記先頭位置から所定サイズのブロック毎にデコードするデコード部を備える第１の情報処理装置と、
前記先頭位置を特定するパーサ部を備える第２の情報処理装置と
を具備する情報処理システム。
【請求項１２】
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、前記複数のチャンネルのデータを前記先頭位置から所定サイズのブロック毎にデコードするデコード部
として情報処理装置を動作させるプログラム。
【請求項１３】
デコード部が、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、前記複数のチャンネルのデータを前記先頭位置から所定サイズのブロック毎にデコードする
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、圧縮音声データのデコードに係る情報処理装置、情報処理システム、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
音声の圧縮コーデックには、ＦＬＡＣ（Free Lossless Audio Codec）のようにフレーム長の大きなものがある。このようなフレーム長の大きな圧縮コーデックにより圧縮されたデータをデコードする場合、圧縮データ（Elementary stream）を格納するメモリのサイズ及びＰＣＭ（pulse code modulation）を格納するメモリのサイズを共に大きく確保する必要がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５００６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、フレーム長の大きな圧縮コーデックを利用する場合、デバイスに求められる電力、サイズ及びコストの観点から、大きなメモリリソースを確保することが困難な場合がある。【０００５】
特に、ウェアラブル端末やＩｏＴ（Internet of Things）、メッシュネットワークを介するＭ２Ｍ（Machine to Machine)等ではデバイスの条件が限定されるため、メモリリソースの確保が容易ではない。一方で、これらの用途でも、ＦＬＡＣのような高音質（ハイレゾリューション）かつロスレスな圧縮コーデックを利用したいという要求がある。【０００６】
以上のような事情に鑑み、本技術の目的は、大きなメモリリソースを必要とせずにデコードを実行することが可能な情報処理装置、情報処理システム、プログラム及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本技術に係る情報処理装置は、デコード部を具備する。
上記デコード部は、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする。【０００８】
この構成によれば、デコード部は圧縮音声データをブロック毎にデコードするため、デコードに要するメモリリソースを抑制することが可能である。特にＦＬＡＣのような圧縮コーデックではフレームのサイズが大きいため、通常はメモリリソースが小さいデバイスではデコードの実行が困難である。これに対し、デコードをブロック単位で実行することにより、メモリリソースが小さいデバイスでもデコードの実行が可能となる。【０００９】
上記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
上記デコード部は、上記第１のチャンネルにおいて先頭位置から第１のブロックをデコードし、上記第２のチャンネルにおいて先頭位置から第２のブロックをデコードし、上記第１のチャンネルにおいて上記第１のブロックの終端位置から第３のブロックをデコードし、上記第２のチャンネルにおいて上記第２のブロックの終端位置から第４のブロックをデコードしてもよい。【００１０】
上記情報処理装置は、上記先頭位置を特定するパーサ部をさらに具備してもよい。【００１１】
上記パーサ部は、上記圧縮音声データをデコードし、上記先頭位置を特定してもよい。【００１２】
上記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
上記パーサ部は、上記第１のチャンネルのデータをデコードし、上記第１のチャンネルのデータの終端位置を上記第２のチャンネルのデータの先頭位置として特定してもよい。【００１３】
上記パーサ部は、上記圧縮音声データのメタ情報から上記先頭位置を特定してもよい。【００１４】
上記パーサ部は、上記先頭位置を特定し、上記先頭位置を含む上記圧縮音声データのメタ情報を生成し、
上記デコード部は、上記メタ情報に含まれる上記先頭位置を用いて上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードしてもよい。【００１５】
上記パーサ部は、上記メタ情報を含む圧縮音声データを生成してもよい。【００１６】
上記パーサ部は、上記メタ情報を含むメタ情報ファイルを生成してもよい。
情報処理装置。【００１７】
上記情報処理装置は、
上記デコード部によって上記第１のブロックと上記第２のブロックがデコードされると、上記第１のブロックと上記第２のブロックの音声データをレンダリングするレンダリング部をさらに具備してもよい。【００１８】
上記目的を達成するため、本技術に係る情報処理システムは、第１の情報処理装置と、第２の情報処理装置とを具備する。
上記第１の情報処理装置は、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードするデコード部を備える。
上記第２の情報処理装置は、上記先頭位置を特定するパーサ部を備える。【００１９】
上記目的を達成するため、本技術に係るプログラムは、デコード部として情報処理装置を動作させる。
上記デコード部は、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする。【００２０】
上記目的を達成するため、本技術に係る情報処理方法は、デコード部が、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする。
【発明の効果】
【００２１】
以上のように、本技術によれば、大きなメモリリソースを必要とせずにデコードを実行することが可能な情報処理装置、情報処理システム、プログラム及び情報処理方法を提供することができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２２】
【図１】一般的なデコード処理でのメモリリソースの使用態様を示す模式図である。
【図２】上記デコード処理での圧縮音声データのデコード手法を示す模式図である。
【図３】上記デコード処理によって生成される音声データのデータ構造を示す模式図である。
【図４】本技術の第１の実施形態に係る情報処理装置の機能的構成を示すブロック図である。
【図５】圧縮音声データにおけるチャンネル先頭位置を示す模式図である。
【図６】上記情報処理装置が備えるパーサ部によるデコード（チャンネル先頭位置の特定）の態様を示す模式図である。
【図７】上記情報処理装置が備えるデコード部によるデコードの態様を示す模式図である。
【図８】上記情報処理装置が備えるデコード部によって生成される音声データのデータ構造を示す模式図である。
【図９】上記情報処理装置が備えるデコード部によるデコードの順序を示す模式図である。
【図１０】上記情報処理装置が備えるデコード部によって生成される音声データのデータ構造を示す模式図である。
【図１１】上記情報処理装置のハードウェア構成を示すブロック図である。
【図１２】本技術の第２の実施形態に係る情報処理装置の機能的構成を示すブロック図である。
【図１３】上記情報処理装置が備えるパーサ部によって生成されるメタ情報ファイルの例である。
【図１４】上記情報処理装置が備えるパーサ部によって生成されるメタ情報付き圧縮音声データのメタ情報埋め込み箇所の例である。
【発明を実施するための形態】
【００２３】
（一般的なデコードにおけるメモリリソースについて）
本技術の実施形態について説明する前に、圧縮音声データの一般的なデコード処理でのメモリリソースの使用態様について説明する。
【００２４】
図１は、一般的なデコード処理でのメモリリソースの使用態様を示す模式図である。ここでは、ＦＬＡＣ（Free Lossless Audio Codec）によって圧縮された圧縮音声データ（ＥＳ：Elementary stream）をデコードし、ＰＣＭ（pulse code modulation）を生成する処理について説明する。
【００２５】
デコード部３０１は、ストレージ３０２からＥＳを読み込み、ＥＳバッファ１に格納する。さらに、デコード部３０１は、ＥＳバッファ１の圧縮音声データをデコードし、デコードによって生成したＰＣＭをＰＣＭバッファ１に格納する。
【００２６】
図２は、ステレオ音声のＥＳデータのデータ構造を示す模式図である。同図に示すように、ＥＳにはストリームヘッダ(Stream Header)、フレームヘッダ(Frame Header)、左チャンネルデータ(Left Date)、右チャンネルデータ(Right Date)が含まれている。ＥＳは複数のフレームＦによって構成され、各フレームＦにはフレームヘッダ、左チャンネルデータ及び右チャンネルデータが含まれている。
【００２７】
デコード部３０１は、１フレーム分のＥＳをＥＳバッファ１に格納し、デコードを行う。また、デコード中に次のフレームのＥＳをストレージ３０２から読み込んでおく必要があり、読み込んだＥＳをＥＳバッファ２に格納する。
【００２８】
図３は、ＰＣＭのデータ構造を示す模式図である。同図に示すように、一つのフレームＦには左チャンネルデータ(Left Date)及び右チャンネルデータ(Right Date)が含まれている。レンダリング部３０３は、ＰＣＭをレンダリングして音声信号を生成し、スピーカ３０４から発音させる。
【００２９】
レンダリング部３０３がＰＣＭバッファ２のＰＣＭをレンダリングしている間に、デコード部３０１は、次のフレームのＥＳをＰＣＭにデコードし、ＰＣＭバッファ１に格納しておく。
【００３０】
このように、一般的なデコード処理では少なくともＥＳバッファ１、ＥＳバッファ２、ＰＣＭバッファ１及びＰＣＭバッファ２の４つのメモリバッファを同時に必要とする。
【００３１】
ここで、ＦＬＡＣのような一部の音声コーデックでは、１フレームのサイズが大きく、メモリバッファの必要量も大きくなる。例えば、１フレームのサイズが５００ＫＢ程度である場合、４つのメモリバッファで２ＭＢ程度が必要となる。このようなメモリバッファは、ＩｏＴ（Internet of Things）やＭ２Ｍ（Machine to Machine)等のメモリリソースが限られるデバイスでは確保が困難である。
【００３２】
（分割デコードについて）
上記のようにフレーム単位でデコードを実行する場合、大きなメモリリソースが必要となる。ここで、フレーム単位以下でのデコード（分割デコード）を実行することができれば、デコードに要するメモリリソースを抑制することが可能である。
【００３３】
通常の音声圧縮では、フレーム時間の標本周波数にサンプリングがなされる。このように周波数ドメインの特徴量の集まりに変換したうえで、人間の聴覚モデルアルゴリズムなどに基づいてデータを圧縮する。
【００３４】
このようなケースの場合、圧縮された音声を伸張する上でフレーム単位での処理を行う必要があり、フレーム単位でのメモリリソース確保が必須になる。しかしながら、ＦＬＡＣのような標本周波数にサンプリングを行わない音声圧縮の場合、フレーム単位での処理を行う必要がなく、本質的にはフレーム単位以下での分割デコードが可能である。
【００３５】
また、標本周波数にサンプリングする音声圧縮であっても、サンプリングを行う音声データ単位がフレームサイズより小さい場合、フレーム単位以下（周波数変換単位）での分割デコートが可能である。
【００３６】
しかしながら、音声圧縮フォーマットは通常、フレーム単位でのデコードが前提となっている。このため、分割デコードを実行しようとしても、右チャンネルデータ(図２中、Right Date) の先頭位置がわからず、分割デコードを実行することができない。本技術では、以下に示すように、右チャンネルデータの先頭位置を特定することにより、分割デコードの実行を可能とする。
【００３７】
（第１の実施形態）
本技術の第１の実施形態に係る情報処理装置について説明する。
【００３８】
図４は、本実施形態に係る情報処理装置１００の機能的構成を示すブロック図である。同図に示すように、情報処理装置１００は、ストレージ１０１、パーサ部１０２、デコード部１０３、レンダリング部１０４及び出力部１０５を備える。
【００３９】
なお、ストレージ１０１及び出力部１０５は情報処理装置１００とは別に設けられ、情報処理装置１００に接続されたものであってもよい。
【００４０】
ストレージ１０１は、ｅＭＭＣ（embedded Multi Media Card）やＳＤカードのような記憶装置であり、情報処理装置１００のデコード対象である圧縮音声データＤを格納する。圧縮音声データＤは、ＦＬＡＣのような圧縮コーデックにより圧縮された音声データである。
【００４１】
なお、本技術の手法によってデコード可能なコーデックはＦＬＡＣに限定されず、標本周波数にサンプリングを行わない圧縮コーデック又は標本周波数にサンプリング行うが、サンプリングを行う音声データ単位がフレームサイズより小さい圧縮コーデックである。具体的には、Ｖｏｒｂｉｓは本技術の手法によってデコードが可能である。
【００４２】
パーサ部１０２は、ストレージ１０１から圧縮音声データＤを取得し、ストリームヘッダ及びフレームヘッダに記述されている構文を解析する。パーサ部１０２は、構文解析結果であるSyntax情報をデコード部１０３に供給する。
【００４３】
さらに、パーサ部１０２は、圧縮音声データＤの各フレームに含まれる各チャンネルの先頭位置（以下、チャンネル先頭位置）を特定する。図５は、圧縮音声データＤにおけるチャンネル先頭位置を示す模式図である。パーサ部１０２は、同図に示すように、左チャンネルデータ（Left Date：以下、ＤＬ)の先頭位置ＳＬと右チャンネルデータ（Right Date：以下、ＤＲ）の先頭位置ＳＲを特定する。
【００４４】
ここで、先頭位置ＳＬはフレームヘッダの直後であるので、パーサ部１０２はフレームヘッダの終端位置を先頭位置ＳＬとすることができる。一方、先頭位置ＳＲは左チャンネルデータＤＬの後ろに配置されているため、そのままでは先頭位置ＳＲを特定することができない。
【００４５】
ここでパーサ部１０２は、デコードによって先頭位置ＳＲを特定することができる。図６は、パーサ部１０２によるデコードの態様を示す模式図である。同図に白矢印で示すように、パーサ部１０２は、左チャンネルデータＤＬの先頭からデコードを実行する。
【００４６】
パーサ部１０２が左チャンネルデータＤＬのデコードを完了すると、右チャンネルデータＤＲの先頭位置ＳＲが判明するため、パーサ部１０２は先頭位置ＳＲを特定することができる。
【００４７】
このため、パーサ部１０２は、左チャンネルデータＤＬのみをデコードすればよい。なお、このデコードによって生成されるデータは使用しないため、削除される。したがって、この処理ではメモリリソースは不要である。
【００４８】
パーサ部１０２は、チャンネル先頭位置をSyntax情報と共にデコード部１０３に供給する。
【００４９】
デコード部１０３は、チャンネル先頭位置及びSyntax情報を用いて圧縮音声データをデコードする。図７は、デコード部１０３によるデコードの態様を示す模式図である。同図に示すように、デコード部１０３は、左チャンネルデータＤＬにおいて先頭位置ＳＬから所定サイズのブロックであるブロックＢＬ１をストレージ１０１から読み出し、デコードする。
【００５０】
ブロックＢＬ１のサイズは特に限定されず、情報処理装置１００が利用可能なメモリリソースを最大限利用できるサイズが好適である。典型的には、ブロックＢＬ１のサイズは左チャンネルデータＤＬのサイズの３〜１０％程度である。
【００５１】
続いて、デコード部１０３は、右チャンネルデータＤＲにおいて先頭位置ＳＲから所定サイズのブロックであるブロックＢＲ１をストレージ１０１から読み出し、デコードする。ブロックＢＲ１のサイズはブロックＢＬ１と同程度であり、右チャンネルデータＤＲのサイズの３〜１０％程度とすることができる。
【００５２】
図８は、デコード部１０３によって生成される音声データ（ＰＣＭ）のデータ構造を示す模式図である。同図に示すように、ブロックＢＬ１のデコード結果である音声データＰＬ１とブロックＢＲ１のデコード結果である音声データＰＲ１が生成される。
【００５３】
レンダリング部１０４は、音声データＰＬ１と音声データＰＲ１をインターリーブしてレンダリングし、生成した音声信号を出力部１０５に供給する。出力部１０５は、スピーカ等の出力デバイスに音声信号を供給し、発音させる。
【００５４】
音声データＰＬ１及び音声データＰＲ１は、ブロックＢＬ１及びブロックＢＲ１から生成されるため、左チャンネルデータＤＬ及び右チャンネルデータＤＲから生成される１フレーム分の音声データに対して小さいサイズを有する（図３及び図８参照）。
【００５５】
以降、デコード部１０３は、左チャンネルデータＤＬ及び右チャンネルデータＤＲをブロック毎にデコードし、レンダリング部１０４は、生成された音声データをレンダリングする。
【００５６】
図９は、デコード部１０３のデコード部１０３によるデコードの順序を示す模式図であり、図１０はデコード部１０３によって生成される音声データ（ＰＣＭ）のデータ構造を示す模式図である。
【００５７】
図９に示すように、デコード部１０３は、ブロックＢＲ１のデコード後、ブロックＢＬ１の終端位置から所定サイズのブロックＢＬ２を読み出してデコードし、音声データＰＬ２を生成する。続いて、ブロックＢＲ１の終端位置から所定サイズのブロックＢＲ２を読み出してデコードし、音声データＰＲ２を生成する。
【００５８】
レンダリング部１０４は、音声データＰＬ２及び音声データＰＲ２が生成されると、インターリーブしてレンダリングし、生成した音声信号を出力部１０５に供給する。
【００５９】
以下、同様にデコード部１０３は、ブロックＢＬ３及びブロックＢＲ３以降の左チャンネルデータＤＬ及び右チャンネルデータＤＲをそれぞれの終端位置までブロック毎にデコードし、音声データを生成する。レンダリング部１０４は、音声データを順次レンダリングする。
【００６０】
次のフレーム以降についても、情報処理装置１００は同様の処理でデコードを実行する。即ち、パーサ部１０２は、圧縮音声データＤの各フレームについて先頭位置ＳＬ及び先頭位置ＳＲを特定し、デコード部１０３は、ブロック毎にデコードを行う。レンダリング部１０４は、ブロック毎に生成された音声データをレンダリングして発音させる。
【００６１】
上記のように、パーサ部１０２によってチャンネル先頭位置が特定されているため、デコード部１０３は、ブロック毎に圧縮音声データＤをデコードすることが可能となり、その結果、レンダリング部１０４は、サイズが小さい音声データを出力することができる。
【００６２】
このため、ＥＳバッファ１及び２並びにＰＣＭバッファ１及び２（図１参照）のそれぞれ格納されるデータサイズはブロック２つ分（左右２チャンネル分）程度となり、フレーム毎にデコードされる場合（図２及び図３参照）に比べて大幅に小さくなる。このため、デコードに必要なメモリリソースの量を低減させることが可能である。
【００６３】
また、パーサ部は、通常のデコード処理においても用いられるため、本技術に係るデコード処理は特別な処理エンジンを必要とせずに実現可能である。
【００６４】
［変形例］
上記説明では、ストレージ１０１に圧縮音声データＤが格納されているとしたが、圧縮音声データＤは別の情報処理装置やネットワーク上に格納され、パーサ部１０２及びデコード部１０３は通信によって圧縮音声データを取得してもよい。
【００６５】
また、上記説明では、フレームヘッダの次に左チャンネルデータＤＬが配置され、その次に右チャンネルデータＤＲが配置されるものとしたが、左チャンネルデータＤＬと右チャンネルデータＤＲの順序は逆でもよい。この場合、パーサ部１０２はデコードによって左チャンネルデータＤＬの先頭位置Ｓｌを特定することができる。
【００６６】
また、圧縮音声データは、左右２チャンネルに限られず、５．１チャンネルや８チャンネル等のより多チャンネルであってもよい。この場合であってもパーサ部１０２が各チャンネルについてチャンネル先頭位置を特定することで、デコード部１０３がブロック毎にデコードを実行することが可能である。
【００６７】
さらに、パーサ部１０２は、デコードによってチャンネル先頭位置を特定するものとしたが、予め圧縮音声データＤにチャンネル先頭位置を示す情報が含まれている場合、この情報を利用することでデコードをせずにチャンネル先頭位置を特定することも可能である。
【００６８】
［ハードウェア構成について］
上述した情報処理装置１００の機能的構成は、ハードウェアとプログラムの協働によって実現することが可能である。
【００６９】
図１１は、情報処理装置１００のハードウェア構成を示す模式図である。同図に示すように情報処理装置１００はハードウェア構成として、ＣＰＵ１００１、メモリ１００２、ストレージ１００３及び入出力部（Ｉ／Ｏ）１００４を有する。これらはバス１００５によって互いに接続されている。
【００７０】
ＣＰＵ（Central Processing Unit）１００１は、メモリ１００２に格納されたプログラムに従って他の構成を制御すると共に、プログラムに従ってデータ処理を行い、処理結果をメモリ１００２に格納する。ＣＰＵ１００１はマイクロプロセッサとすることができる。
【００７１】
メモリ１００２はＣＰＵ１００１によって実行されるプログラム及びデータを格納する。メモリ１００２はＲＡＭ（Random Access Memory）とすることができる。
【００７２】
ストレージ１００３は、プログラムやデータを格納する。ストレージ１００３はＨＤＤ（hard disk drive）又はＳＳＤ（solid state drive）とすることができる。
【００７３】
入出力部１００４は情報処理装置１００に対する入力を受け付け、また情報処理装置１００の出力を外部に供給する。入出力部１００４は、タッチパネルやキーボード等の入力機器やディスプレイ等の出力機器、ネットワーク等の接続インターフェースを含む。
【００７４】
情報処理装置１００のハードウェア構成はここに示すものに限られず、情報処理装置１００の機能的構成を実現できるものであればよい。また、上記ハードウェア構成の一部又は全部はネットワーク上に存在していてもよい。
【００７５】
（第２の実施形態）
本技術の第２の実施形態に係る情報処理装置について説明する。
【００７６】
図１２は、本実施形態に係る情報処理装置２００の機能的構成を示すブロック図である。同図に示すように、情報処理装置２００は、ストレージ２０１、パーサ部２０２、デコード部２０３、レンダリング部２０４及び出力部２０５を備える。
【００７７】
なお、ストレージ２０１及び出力部２０５は情報処理装置２００とは別に設けられ、情報処理装置２００に接続されたものであってもよい。また、パーサ部２０２も情報処理装置２００とは異なる情報処理装置に設けられ、ストレージ２０１に接続されたものであってもよい。
【００７８】
ストレージ２０１は、ｅＭＭＣやＳＤカードのような記憶装置であり、情報処理装置２００のデコード対象である圧縮音声データＤを記憶する。圧縮音声データＤは、上記のようにＦＬＡＣのような圧縮コーデックにより圧縮された音声データである。
【００７９】
第１の実施形態と同様に情報処理装置２００がデコード可能なコーデックはＦＬＡＣに限定されず、標本周波数にサンプリングを行わない圧縮コーデック又は標本周波数にサンプリング行うが、サンプリングを行う音声データ単位がフレームサイズより小さい圧縮コーデックである。
【００８０】
さらに、ストレージ２０１は、メタ情報付き圧縮音声データＥを記憶する。メタ情報付き圧縮音声データＥは、メタ情報が付与された圧縮音声データＤであり、詳細は後述する。
【００８１】
パーサ部２０２は、ストレージ２０１から圧縮音声データＤを取得し、ストリームヘッダ及びフレームヘッダに記述されている構文を解析してSyntax情報を生成する。
【００８２】
さらに、パーサ部２０２は、圧縮音声データＤの各フレームに含まれる各チャンネルの先頭位置（チャンネル先頭位置）を特定する。チャンネル先頭位置には、左チャンネルデータＤＬの先頭位置ＳＬと右チャンネルデータＤＲの先頭位置ＳＲ(図５参照）が含まれる。
【００８３】
先頭位置ＳＬはフレームヘッダの直後であるので、パーサ部２０２はフレームヘッダの終端位置を先頭位置ＳＬとすることができる。また、パーサ部２０２は、第１の実施形態と同様に左チャンネルデータＤＬの先頭からデコードを実行し（図６参照）、先頭位置ＳＲを取得することができる。
【００８４】
パーサ部２０２は、チャンネルの先頭位置とSyntax情報を含むメタ情報を圧縮音声データＤに追加してメタ情報付き圧縮音声データＥを生成し、メタ情報付き圧縮音声データＥをストレージ２０１に格納する。メタ情報の具体例については後述するが、少なくともフレーム毎の各チャンネルの先頭位置を含むものであればよい。
【００８５】
パーサ部２０２によるメタ情報付き圧縮音声データＥの生成は、デコード部２０３がデコードを実行する前の任意のタイミングで実行することができる。
【００８６】
デコード部２０３は、チャンネル先頭位置及びSyntax情報を用いて圧縮音声データをデコードする。デコード部２０３は、ストレージ２０１からメタ情報付き圧縮音声データＥを読み出し、メタ情報付き圧縮音声データＥに含まれるチャンネル先頭位置を取得することができる。
【００８７】
デコード部２０３は、このチャンネル先頭位置を用いて第１の実施形態と同様に圧縮音声データＤをデコードする。即ち、デコード部２０３は先頭位置ＳＬから左チャンネルデータＤＬの一部であるブロックＢＬ１を読み出してデコードし、先頭位置ＳＲから右チャンネルデータＤＲの一部であるブロックＢＲ１を読み出してデコードする(図７参照）。
【００８８】
これにより、ブロックＢＬ１のデコード結果である音声データＰＬ１とロックＢＲ１のデコード結果である音声データＰＲ１が生成される（図８参照）。
【００８９】
レンダリング部２０４は、音声データＰＬ１と音声データＰＲ１をインターリーブしてレンダリングし、生成した音声信号を出力部２０５に供給する。出力部２０５は、スピーカ等の出力デバイスに音声信号を供給し、発音させる。
【００９０】
以降、デコード部２０３は、第１の実施形態と同様に左チャンネルデータＤＬ及び右チャンネルデータＤＲをブロック毎に読み出してデコードし、レンダリング部２０４は、生成された音声データをレンダリングする(図９参照）。
【００９１】
次のフレーム以降についても、情報処理装置２００は同様の処理でデコードを実行する。即ち、デコード部２０３は、メタ情報付き圧縮音声データＥから、各フレームのチャンネル先頭位置を取得し、圧縮音声データＤをブロック毎にデコードする。レンダリング部２０４は、ブロック毎に生成された音声データをレンダリングして発音させる。
【００９２】
上記のように、パーサ部２０２によってチャンネル先頭位置が特定されているため、デコード部２０３は、ブロック毎に圧縮音声データＤをデコードすることが可能となり、その結果、レンダリング部２０４は、サイズが小さい音声データを出力することができる。
【００９３】
このため、ＥＳバッファ１及び２並びにＰＣＭバッファ１及び２（図１参照）のそれぞれ格納されるデータサイズはブロック２つ分（左右２チャンネル分）程度となり、フレーム毎にデコードされる場合（図２及び図３参照）に比べて大幅に小さくなる。このため、デコードに必要なメモリリソースの量を低減させることが可能である。
【００９４】
また、本実施形態では、メタ情報付き圧縮音声データＥを用いることで、パーサ部２０２とデコード部２０３の同期動作を要さずにデコードが実行できる。このため、パーサ部２０２とデコード部２０３の間での処理量の揺らぎ等の影響を受けにくくすることが可能である。
【００９５】
また、実際のデコード要求を受ける前に事前にパーサ部２０２がパース処理（構文解析及びチャンネル先頭位置の特定）を行うことができるため、実際のデコード時にはパース処理を行う必要がなく、音声再生処理でのプロセッサパワーやストレージへのアクセス負荷を低減することも可能である。
【００９６】
また、メタ情報を所定のフォーマットで定義しておくことで、ウェアラブル端末やＩｏＴデバイスのようなエッジ端末ではなく、例えばＰＣ、サーバ及びクラウド等で作成しておくことにより、エッジ端末でパース処理を行わずに、本実施形態に係るデコードを実現することが可能である。
【００９７】
さらに、メタ情報を圧縮音声データ内に保持しておくことで、本実施形態の手法でのデコードと、通常のデコードを音声再生端末で選択することが可能であり、再生環境によらない圧縮音声データの再生が可能となる。
【００９８】
［変形例］
パーサ部２０２は、パース処理を実行した際、メタ情報付き圧縮音声データＥを生成する代わりに、圧縮音声データを含まないメタ情報ファイルを生成してもよい。
【００９９】
図１３は、メタ情報ファイルの例である。同図に示すようにメタ情報ファイルは、ストリーム情報と各フレームのチャンネルデータ毎のサイズ情報を格納したファイルとすることができる。デコード部２０３は、このメタ情報を参照し、チャンネル先頭位置からブロック毎にデコードを実行することが可能である。
【０１００】
また、パーサ部２０２は、メタ情報を音楽生成機等が保持するデータベース（プレイリストデータ等）に格納することも可能である。
【０１０１】
なお、上記説明では、ストレージ２０１に圧縮音声データＤ及びメタ情報付き圧縮音声データＥが格納されているとしたが、これらのデータは別の情報処理装置やネットワーク上に格納され、パーサ部２０２及びデコード部２０３は通信によってこれらのデータを取得してもよい。
【０１０２】
また、上記説明では、フレームヘッダの次に左チャンネルデータＤＬが配置され、その次に右チャンネルデータＤＲが配置されるものとしたが、左チャンネルデータＤＬと右チャンネルデータＤＲの順序は逆でもよい。この場合、パーサ部２０２は、デコードによって左チャンネルデータＤＬの先頭位置ＳＬを取得することができる。
【０１０３】
さらに、圧縮音声データは、左右２チャンネルに限られず、５．１チャンネルや８チャンネル等のより多チャンネルであってもよい。この場合であってもパーサ部２０２が各チャンネルについてチャンネル先頭位置を特定することで、デコード部２０３がブロック毎にデコードを実行することが可能である。
【０１０４】
［ＦＬＡＣでのメタ情報埋め込み例について］
図１４は、ＦＬＡＣによる圧縮音声データのSyntaxの例である。同図に示すようMETA  DATA BLOCK内にMETA DATA BLOCKヘッダのタイプを新設し（例えばBLOCK TYPE7でCHANNEL_SIZEとして使用等）、このMETA DATA BLOCKの実態に図１３示すチャンネル情報のデータフォーマットを書き込むことでメタ情報付き圧縮音声データＥを実現することができる。
【０１０５】
［ハードウェア構成について］
上述した情報処理装置２００の機能的構成は、ハードウェアとプログラムの協働によって実現することが可能である。情報処理装置２００のハードウェア構成は、第１の実施形態に係るハードウェア構成(図１１参照）と同様とすることができる。
【０１０６】
また、上述のようにパーサ部２０２は、デコード部２０３及びレンダリング部２０４が搭載された情報処理装置とは別の情報処理装置によって実現されていてもよく、即ち複数の情報処理装置によって構成される情報処理システムによって本実施形態が実施されてもよい。
【０１０７】
なお、本技術は以下のような構成もとることができる。
【０１０８】
（１）
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードするデコード部
を具備する情報処理装置。
【０１０９】
（２）
上記（１）に記載の情報処理装置であって、
上記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
上記デコード部は、上記第１のチャンネルにおいて先頭位置から第１のブロックをデコードし、上記第２のチャンネルにおいて先頭位置から第２のブロックをデコードし、上記第１のチャンネルにおいて上記第１のブロックの終端位置から第３のブロックをデコードし、上記第２のチャンネルにおいて上記第２のブロックの終端位置から第４のブロックをデコードする
情報処理装置。
【０１１０】
（３）
上記（１）又は（２）に記載の情報処理装置であって、
上記先頭位置を特定するパーサ部
をさらに具備する情報処理装置。
【０１１１】
（４）
上記（３）に記載の情報処理装置であって、
上記パーサ部は、上記圧縮音声データをデコードし、上記先頭位置を特定する
情報処理装置。
【０１１２】
（５）
上記（４）に記載の情報処理装置であって、
上記圧縮音声データの各フレームには、フレーム先頭から順に第１のチャンネルのデータと第２のチャンネルのデータが含まれ、
上記パーサ部は、上記第１のチャンネルのデータをデコードし、上記第１のチャンネルのデータの終端位置を上記第２のチャンネルのデータの先頭位置として特定する
情報処理装置。
【０１１３】
（６）
上記（３）に記載の情報処理装置であって、
上記パーサ部は、上記圧縮音声データのメタ情報から上記先頭位置を特定する
情報処理装置。
【０１１４】
（７）
上記（４）又は（５）に記載の情報処理装置であって、
上記パーサ部は、上記先頭位置を特定し、上記先頭位置を含む上記圧縮音声データのメタ情報を生成し、
上記デコード部は、上記メタ情報に含まれる上記先頭位置を用いて上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする
情報処理装置。
【０１１５】
（８）
上記（７）に記載の情報処理装置であって、
上記パーサ部は、上記メタ情報を含む圧縮音声データを生成する
情報処理装置。
【０１１６】
（９）
上記（７）に記載の情報処理装置であって、
上記パーサ部は、上記メタ情報を含むメタ情報ファイルを生成する
情報処理装置。
【０１１７】
（１０）
上記（２）から（９）のうちいずれか一つに記載の情報処理装置であって、
上記デコード部によって上記第１のブロックと上記第２のブロックがデコードされると、上記第１のブロックと上記第２のブロックの音声データをレンダリングするレンダリング部
をさらに具備する情報処理装置
【０１１８】
（１１）
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードするデコード部を備える第１の情報処理装置と、
上記先頭位置を特定するパーサ部を備える第２の情報処理装置と
を具備する情報処理システム。
【０１１９】
（１２）
圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードするデコード部
として情報処理装置を動作させるプログラム。
【０１２０】
（１３）
デコード部が、圧縮音声データの各フレームに含まれる複数のチャンネルのデータのそれぞれの先頭位置を取得し、上記複数のチャンネルのデータを上記先頭位置から所定サイズのブロック毎にデコードする
情報処理方法。
【符号の説明】
【０１２１】
１００…情報処理装置
１０１…ストレージ
１０２…パーサ部
１０３…デコード部
１０４…レンダリング部
１０５…出力部
２００…情報処理装置
２０１…ストレージ
２０２…パーサ部
２０３…デコード部
２０４…レンダリング部
２０５…出力部
【図１】
2020004027.tif 000003
【図２】
2020004027.tif 000004
【図３】
2020004027.tif 000005
【図４】
2020004027.tif 000006
【図５】
2020004027.tif 000007
【図６】
2020004027.tif 000008
【図７】
2020004027.tif 000009
【図８】
2020004027.tif 000010
【図９】
2020004027.tif 000011
【図１０】
2020004027.tif 000012
【図１１】
2020004027.tif 000013
【図１２】
2020004027.tif 000014
【図１３】
2020004027.tif 000015
【図１４】
2020004027.tif 000016
【国際調査報告】
2020004027.tif 000017
2020004027.tif 000018
2020004027.tif 000019
2020004027.tif 000020