以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
[本技術の概要について]
まず、本技術の概要について説明する。
本技術は、オーディオデータの符号化,復号に関するものである。例えば、MPEG-2 AACやMPEG-4 AAC規格のマルチチャンネル符号化では、水平面および垂直方向でのチャンネル拡張のための情報を持つことができない。
また、これらのマルチチャンネル符号化では、チャンネル拡張したコンテンツのダウンミックス情報も持たず、各チャンネルの適切な混合比が分からないため、再生チャンネル数が少ない携帯機器での再生音が聞きづらいものとなってしまう。
そこで、本技術では、以下の特徴(1)乃至(4)により、より臨場感のある高品質な音声を得ることができるようにする。
(1) 既存のAAC規格で規定されているPCE(Program_config_element)内のコメント領域に垂直方向のスピーカ配置情報を記録する。
(2) 特徴(1)の場合において、一般コメントと垂直方向のスピーカ配置情報を識別するために、符号化装置側で同期ワードとCRCチェックコードの2つの識別情報を符号化し、復号装置では、2つの識別情報の照合を行い、合致した場合にスピーカ配置情報を取得する。
(3) オーディオデータのダウンミックス情報をアンシラリデータ領域(DSE(data_stream_element))に記録する。
(4) 6.1チャンネルまたは7.1チャンネルから2チャンネルへのダウンミックスは、6.1チャンネルまたは7.1チャンネルから5.1チャンネルへのダウンミックスと、その後に行なわれる5.1チャンネルから2チャンネルへのダウンミックスとの2段階の処理とする。
このように垂直方向のスピーカ配置情報を用いることで、平面だけでなく、垂直方向の音像再現が可能になり、従来の平面マルチチャンネルでの再生よりも、より臨場感の高い再生が可能となる。
また、6.1チャンネルや7.1チャンネルから、5.1チャンネルや2チャンネルへのダウンミックス情報を伝送することで、ひとつの符号化データを用いても各々の再生環境に最適なチャンネル数でオーディオ再生が可能となる。なお、本技術に対応していない従来の復号装置では、垂直方向の情報は一般コメントとして無視されてオーディオデータの復号が行なわれるので、互換性が損なわれることはない。
[スピーカの配置について]
次にオーディオデータが再生されるときの各スピーカの配置について説明する。
例えば、図1に示すようにユーザがテレビジョン受像機などの表示装置の表示画面TVSを正面から観察するものとする。つまり、表示画面TVSの図中、手前側にユーザが位置しているものとする。
そのような場合、ユーザを囲むように13個のスピーカLvh,Rvh,Lrs,Ls,L,Lc,C,Rc,R,Rs,Rrs,Cs,LFEが配置されているものとする。
以下では、これらのスピーカLvh,Rvh,Lrs,Ls,L,Lc,C,Rc,R,Rs,Rrs,Cs,LFEで再生されるオーディオデータ(音声)のチャンネルを、それぞれLvh,Rvh,Lrs,Ls,L,Lc,C,Rc,R,Rs,Rrs,Cs,LFEと称する。
図2に示すようにチャンネルLは「Front Left」であり、チャンネルRは「Front Right」であり、チャンネルCは「Front Center」である。
また、チャンネルLsは「Left Surround」であり、チャンネルRsは「Right Surround」であり、チャンネルLrsは「Left Rear」であり、チャンネルRrsは「Right Rear」であり、チャンネルCsは「Center Back」である。
さらに、チャンネルLvhは「Left High Front」であり、チャンネルRvhは「Right High Front」であり、チャンネルLFEは「Low-Frequency-Effect」である。
図1の説明に戻り、スピーカLvhおよびスピーカRvhは、それぞれユーザの前方上側の左右に配置されており、これらのスピーカRvh,Lvhが配置されるレイヤが「Top layer」である。
また、スピーカL,C,Rは、それぞれユーザの前方の左側,中央,右側に配置されており、スピーカLc,Rcが、それぞれスピーカLとCの間、およびスピーカRとCの間に配置されている。さらに、スピーカLs,Rsは、それぞれユーザの左右に配置されており、スピーカLrs,Rrs,Csは、それぞれユーザの後方左側、後方右側、および後方に配置されている。
これらのスピーカLrs,Ls,L,Lc,C,Rc,R,Rs,Rrs,Csは、およそユーザの耳の高さに位置する平面上で、ユーザを囲むように配置されており、これらのスピーカが配置されるレイヤが「Middle layer」である。
さらに、スピーカLFEは、ユーザの前方下側に配置されており、スピーカLFEが配置されるレイヤが「LFE layer」である。
[符号化ビットストリームについて]
これらの各チャンネルのオーディオデータを符号化すると、例えば図3に示す符号化ビットストリームが得られる。すなわち、図3は、AACフレームの符号化ビットストリームのシンタックスを示している。
図3の符号化ビットストリームは、「Header/sideinfo」、「PCE」、「SCE」、「CPE」、「LFE」、「DSE」、「FIL(DRC)」、および「FIL(END)」から構成されており、この例では符号化ビットストリームには、3つの「CPE」が含まれている。
例えば、「PCE」にはオーディオデータの各チャンネルに関する情報が含まれており、この例では、オーディオデータのミックスダウンに関する情報である「Matrix-mixdown」と、スピーカ配置(高さ情報)に関する情報である「Height Infomation」が含まれている。「PCE」には自由なコメントを格納できるコメント領域(コメントフィールド)である「comment_field_data」が含まれており、「comment_field_data」には拡張領域である「height_extension_element」が含まれている。コメント領域は、一般コメントなど、任意のデータを格納可能な領域である。この「height_extension_element」内に、スピーカ配置の高さに関する情報である「Height Infomation」が含まれている。
「SCE」には、シングルチャンネルのオーディオデータが含まれており、「CPE」にはチャンネルペア、つまり2つのチャンネルのオーディオデータが含まれており、「LFE」には、LFEチャンネルのオーディオデータが含まれている。例えば、「SCE」にはCやCsなどのチャンネルのオーディオデータが格納され、「CPE」にはLやR、LvhやRvhなどのチャンネルのオーディオデータが格納される。
また、「DSE」はアンシラリデータ領域であり、「DSE」には、自由なデータが格納される。この例では、「DSE」にはオーディオデータのダウンミックスに関する情報として「Downmix 5.1ch to 2ch」、「Dynamic Range Control」、「DRC Presentation Mode」、「Downmix 6.1ch and 7.1ch to 5.1ch」、「global gain downmixing」、および「LFE downmixing」が含まれている。
さらに「FIL(DRC)」には音声のダイナミックレンジ制御に関する情報が含まれており、例えば「FIL(DRC)」には「Program Reference Level」および「Dynamic Range Control」が含まれている。
[コメントフィールドについて]
上述したように「PCE」の「comment_field_data」には「height_extension_element」が含まれており、これにより垂直方向のスピーカ配置情報によるマルチチャンネル再生が実現される。つまり、「Top layer」や「Middle layer」など各高さのレイヤに配置されたスピーカにより、より臨場感のある高品質な音声再生ができるようになる。
このような「height_extension_element」には、例えば図4に示すように他の一般コメントとの識別を行なうための同期ワードなどが含まれている。すなわち、図4は「height_extension_element」のシンタックスを示す図である。
図4では、「PCE_HEIGHT_EXTENSION_SYNC」は同期ワードを示している。
また、「front_element_height_info[i]」、「side_element_height_info[i]」、および「back_element_height_info[i]」は、それぞれ視聴者からみて前方、側方、および後方に位置する各スピーカの高さ、つまりレイヤを示している。
さらに「byte_alignment()」はバイトアラインメントを行なうことを示しており、「height_info_crc_check」は識別情報として用いられるCRCチェックコードを示している。また、「PCE_HEIGHT_EXTENSION_SYNC」から「byte_alignment()」までの間に読み込まれた情報、つまり同期ワード、各スピーカの配置情報(各チャンネルの情報)、バイトアラインメントに基づいて、CRCチェックコードが算出される。そして、算出されたCRCチェックコードと、「height_info_crc_check」により示されるCRCチェックコードとが一致するか否かが判定され、それらが一致する場合、各スピーカの配置に関する情報が正しく読み込めたとされる。「crc_cal()!=height_info_crc_check」は上述したCRCチェックコードの照合を行なうことを示している。
なお、音源の位置、つまりスピーカの配置(高さ)に関する情報である「front_element_height_info[i]」、「side_element_height_info[i]」、および「back_element_height_info[i]」は、例えば図5に示すように定められる。
すなわち、「front_element_height_info[i]」、「side_element_height_info[i]」、および「back_element_height_info[i]」の各情報が「0」、「1」、「2」であれば、そのスピーカの高さは「Normal height」、「Top speaker」、「Bottom Speaker」とされる。つまり、「Middle layer」、「Top layer」、および「LFE layer」である。
[DSEについて]
次に、「DSE」、つまり「data_stream_element()」の「data_stream_byte[]」に含まれるアンシラリデータ領域である「MPEG4 ancillary data」について説明する。この「MPEG4 ancillary data」によって、オーディオデータの6.1チャンネルまたは7.1チャンネルから、5.1チャンネルや2チャンネルへのダウンミックスDRC制御が可能となる。
図6は、「MPEG4 ancillary data」のシンタックスを示す図である。「MPEG4 ancillary data」には、「bs_info()」、「ancillary_data_status()」、「downmixing_levels_MPEG4()」、「audio_coding_mode()」、「Compression_value」、および「MPEG4_ext_ancillary_data()」が含まれている。
ここで、「Compression_value」は、図3の「Dynamic Range Control」に対応している。また、「bs_info()」、「ancillary_data_status()」、「downmixing_levels_MPEG4()」、「audio_coding_mode()」、および「MPEG4_ext_ancillary_data()」のシンタックスは、それぞれ図7乃至図11に示すようになっている。
例えば、「bs_info()」には図7に示すように、「mpeg_audio_type」、「dolby_surround_mode」、「drc_presentation_mode」、および「pseudo_surround_enable」が含まれている。
「drc_presentation_mode」は、図3に示した「DRC Presentation Mode」に対応する。
また、「pseudo_surround_enable」には、5.1チャンネルから2チャンネルへのダウンミックスの処理手順を示す情報、つまり複数のダウンミックス処理手法のうちの何れの手法によりダウンミックスを行なうかを示す情報が含まれている。
さらに例えば図8に示す「ancillary_data_status()」に含まれている「ancillary_data_extension_status」が0であるかまたは1であるかに応じて、異なる処理が行なわれる。「ancillary_data_extension_status」が1である場合には、図6の「MPEG4 ancillary data」における「MPEG4_ext_ancillary_data()」へのアクセスが行なわれて、ダウンミックスDRC制御が行なわれる。これに対して、「ancillary_data_extension_status」が0である場合には、従来通りの処理が行なわれる。これにより、既存の規格との互換性を確保することができる。
図8の「ancillary_data_status()」に含まれている「downmixing_levels_MPEG4_status」は、5.1チャンネルから2チャンネルへのダウンミックスに用いられる係数(混合比)を指定するための情報である。すなわち、「downmixing_levels_MPEG4_status」が1である場合には、図9に示す「downmixing_levels_MPEG4()」に格納されている情報により定まる係数が用いられて、ダウンミックスが行なわれる。
図9の「downmixing_levels_MPEG4()」には、ダウンミックスの係数を特定するための情報として、「center_mix_level_value」と「surround_mix_level_value」が含まれている。これらの「center_mix_level_value」と「surround_mix_level_value」に対応する係数の値は、例えば後述する図19のテーブルにより定められる。
なお、図9の「downmixing_levels_MPEG4()」は、図3の「Downmix 5.1ch to 2ch」に対応している。
また、図11の「MPEG4_ext_ancillary_data()」には、「ext_ancillary_data_status()」、「ext_downmixing_levels()」、「ext_downmixing_global_gains()」、および「ext_downmixing_lfe_level()」が含まれている。
「MPEG4_ext_ancillary_data()」には、これまで5.1チャンネルのオーディオデータを扱っていたのを、7.1または6.1チャンネルのオーディオデータまで扱えるようにチャンネル数を拡張する場合に必要となる情報が格納されている。
具体的には、「ext_ancillary_data_status()」には、5.1チャンネルより多いチャンネルから5.1チャンネルへのダウンミックスを行なうか否かを示す情報(フラグ)、ダウンミックスの際にゲイン制御を行なうかを示す情報、ダウンミックスにLFEチャンネルを利用するかを示す情報が含まれている。
「ext_downmixing_levels()」には、ダウンミックスを行なう場合に用いられる係数(混合比)を特定するための情報が格納されており、「ext_downmixing_global_gains()」には、ゲイン調整時のゲインに関する情報が含まれている。また、「ext_downmixing_lfe_level()」には、ダウンミックスを行なう場合に用いられるLEFチャンネルの係数(混合比)を特定するための情報が格納されている。
より詳細には例えば「ext_ancillary_data_status()」のシンタックスは、図12に示すようになっている。「ext_ancillary_data_status()」において「ext_downmixing_levels_status」は、6.1チャンネルや7.1チャンネルから5.1チャンネルにダウンミックスするか否かを示している。すなわち、「ext_downmixing_levels()」があるか否かを示している。この「ext_downmixing_levels_status」は、図3の「Downmix 6.1ch and 7.1ch to 5.1ch」に対応する。
また、「ext_downmixing_global_gains_status」は、グローバルゲイン制御をするか否かを示しており、図3の「global gain downmixing」に対応している。すなわち、「ext_downmixing_global_gains()」があるか否かを示している。「ext_downmixing_lfe_level_status」は、5.1チャンネルから2チャンネルにダウンミックスするときに、LFEチャンネルを用いるか否かを示しており、図3の「LFE downmixing」に対応している。
さらに、図11の「MPEG4_ext_ancillary_data()」における「ext_downmixing_levels()」のシンタックスは図13に示すようになっており、図13に示す「dmix_a_idx」および「dmix_b_idx」は、ダウンミックス時の混合比(係数)を示す情報である。
また、「ext_downmixing_levels()」で定まる「dmix_a_idx」および「dmix_b_idx」と、7.1チャンネルのオーディオデータをダウンミックスするときに、それらの「dmix_a_idx」および「dmix_b_idx」が適用される成分との対応は、図14に示すようになっている。
図11の「MPEG4_ext_ancillary_data()」における「ext_downmixing_global_gains()」、および「ext_downmixing_lfe_level()」のシンタックスは図15および図16に示すようになっている。
例えば、図15の「ext_downmixing_global_gains()」には、5.1チャンネルへのダウンミックスを行なうときのゲインの符号を示す「dmx_gain_5_sign」と、そのゲイン「dmx_gain_5_idx」、2チャンネルへのダウンミックスを行なうときのゲインの符号を示す「dmx_gain_2_sign」と、そのゲイン「dmx_gain_2_idx」が含まれている。
さらに、図16の「ext_downmixing_lfe_level()」には、「dmix_lfe_idx」が含まれており、この「dmix_lfe_idx」は、ダウンミックス時のLFEチャンネルの混合比(係数)を示す情報である。
[ダウンミックスについて]
また、図7に示した「bs_info()」のシンタックスにおける「pseudo_surround_enable」は、ダウンミックスの処理手順を示しており、その処理手順は図17に示す通りである。ここでは、「pseudo_surround_enable」が0である場合と1である場合の2通りの処理手順が示されている。
ここで、オーディオデータのダウンミックス処理について説明する。
まず、5.1チャンネルから2チャンネルへのダウンミックスについて説明する。この場合、ダウンミックス後のLチャンネルおよびRチャンネルを、それぞれL’チャンネルおよびR’チャンネルとすると、次の処理が行なわれる。
すなわち、「pseudo_surround_enable」が0である場合、次式(1)の計算が行なわれて、L’チャンネルおよびR’チャンネルのオーディオデータが求められる。
L’=L+C×b+Ls×a+LFE×c
R’=R+C×b+Rs×a+LFE×c ・・・(1)
これに対して、「pseudo_surround_enable」が1である場合、次式(2)の計算が行なわれて、L’チャンネルおよびR’チャンネルのオーディオデータが求められる。
L’=L+C×b−a×(Ls+Rs)+LFE×c
R’=R+C×b+a×(Ls+Rs)+LFE×c ・・・(2)
なお、式(1)および式(2)においてL、R、C、Ls、Rs、およびLFEは、5.1チャンネルを構成する各チャンネルであり、それぞれ図1および図2を参照して説明したL、R、C、Ls、Rs、およびLFEの各チャンネルを示している。
また、式(1)および式(2)において、cは図16で示した「ext_downmixing_lfe_level()」に含まれている「dmix_lfe_idx」の値により定まる定数であり、例えば「dmix_lfe_idx」の各値に対する定数cの値は、図18に示す通りである。なお、より詳細には図12の「ext_ancillary_data_status()」における「ext_downmixing_lfe_level_status」が0である場合、LFEチャンネルは、式(1)および式(2)の計算には用いられない。一方、「ext_downmixing_lfe_level_status」が1である場合には、LFEチャンネルに乗算される定数cの値が図18に示すテーブルに基づいて定められる。
さらに、式(1)および式(2)において、aおよびbは図13で示した「ext_downmixing_levels()」に含まれている「dmix_a_idx」および「dmix_b_idx」の値により定まる定数である。なお、式(1)および式(2)におけるaおよびbが、図9に示した「downmixing_levels_MPEG4()」における「center_mix_level_value」および「surround_mix_level_value」の値により定まる定数とされてもよい。
例えば「dmix_a_idx」および「dmix_b_idx」、または「center_mix_level_value」および「surround_mix_level_value」の各値に対する定数aおよびbの値は、図19に示す通りである。この例では、「dmix_a_idx」および「dmix_b_idx」と、「center_mix_level_value」および「surround_mix_level_value」とで、同じテーブルが参照されるので、ダウンミックスのための定数(係数)であるaおよびbの値は同じとなる。
続いて、7.1チャンネルまたは6.1チャンネルから、5.1チャンネルへのダウンミックスについて説明する。
ユーザからみて後方にあるスピーカLrs,Rrsのチャンネルを含む、チャンネルC,L,R,Ls,Rs,Lrs,Rrs,LFEのオーディオデータが、C’,L’,R’,Ls’,Rs’,LFE’からなる5.1チャンネルのオーディオデータに変換される場合、次式(3)の計算が行なわれる。ここで、チャンネルC’,L’,R’,Ls’,Rs’,LFE’は、ダウンミックス後のチャンネルC,L,R,Ls,Rs,LFEを示している。また、式(3)において、C,L,R,Ls,Rs,Lrs,Rrs,LFEは、チャンネルC,L,R,Ls,Rs,Lrs,Rrs,LFEのオーディオデータを示している。
C’=C
L’=L
R’=R
Ls’=Ls×d1+ Lrs×d2
Rs’=Rs×d1+ Rrs×d2
LFE’=LFE ・・・(3)
なお、式(3)において、d1およびd2は定数であり、これらの定数d1およびd2は、例えば図19に示した、「dmix_a_idx」および「dmix_b_idx」の各値に対して定まる定数などとされる。
また、ユーザからみて前方にあるスピーカLc,Rcのチャンネルを含む、チャンネルC,L,R,Lc,Rc,Ls,Rs,LFEのオーディオデータが、C’,L’,R’,Ls’,Rs’,LFE’からなる5.1チャンネルのオーディオデータに変換される場合、次式(4)の計算が行なわれる。ここで、チャンネルC’,L’,R’,Ls’,Rs’,LFE’は、ダウンミックス後のチャンネルC,L,R,Ls,Rs,LFEを示している。また、式(4)において、C,L,R,Lc,Rc,Ls,Rs,LFEは、チャンネルC,L,R,Lc,Rc,Ls,Rs,LFEのオーディオデータを示している。
C’=C+e1×(Lc+Rc)
L’=L+Lc×e2
R’=R+Rc×e2
Ls’=Ls
Rs’=Rs
LFE’=LFE ・・・(4)
なお、式(4)において、e1およびe2は定数であり、これらの定数e1およびe2は、例えば図19に示した、「dmix_a_idx」および「dmix_b_idx」の各値に対して定まる定数などとされる。
さらに、ユーザからみて前方上側にあるスピーカRvh,Lvhのチャンネルを含む、チャンネルC,L,R,Lvh,Rvh,Ls,Rs,LFEのオーディオデータが、C’,L’,R’,Ls’,Rs’,LFE’からなる5.1チャンネルのオーディオデータに変換される場合、次式(5)の計算が行なわれる。ここで、チャンネルC’,L’,R’,Ls’,Rs’,LFE’は、ダウンミックス後のチャンネルC,L,R,Ls,Rs,LFEを示している。また、式(5)において、C,L,R,Lvh,Rvh,Ls,Rs,LFEは、チャンネルC,L,R,Lvh,Rvh,Ls,Rs,LFEのオーディオデータを示している。
C’=C
L’=L×f1+Lvh×f2
R’=R×f1+Rvh×f2
Ls’=Ls
Rs’=Rs
LFE’=LFE ・・・(5)
なお、式(5)において、f1およびf2は定数であり、これらの定数f1およびf2は、例えば図19に示した、「dmix_a_idx」および「dmix_b_idx」の各値に対して定まる定数などとされる。
また、6.1チャンネルから5.1チャンネルへのダウンミックスを行なう場合には、次のようになる。すなわち、チャンネルC,L,R,Ls,Rs,Cs,LFEのオーディオデータから、C’,L’,R’,Ls’,Rs’,LFE’からなる5.1チャンネルのオーディオデータに変換される場合、次式(6)の計算が行なわれる。ここで、チャンネルC’,L’,R’,Ls’,Rs’,LFE’は、ダウンミックス後のチャンネルC,L,R,Ls,Rs,LFEを示している。また、式(6)において、C,L,R,Ls,Rs,Cs,LFEは、チャンネルC,L,R,Ls,Rs,Cs,LFEのオーディオデータを示している。
C’=C
L’=L
R’=R
Ls’=Ls×g1+Cs×g2
Rs’=Rs×g1+Cs×g2
LFE’=LFE ・・・(6)
なお、式(6)において、g1およびg2は定数であり、これらの定数g1およびg2は、例えば図19に示した、「dmix_a_idx」および「dmix_b_idx」の各値に対して定まる定数などとされる。
さらに、ダウンミックスの音量補正に対するグローバルゲインについて説明する。
グローバルダウンミックスゲインは、ダウンミックスによって、大きくなったり小さくなったりしてしまった音声の音量を補正するために用いられる。dmx_gain5は、7.1チャンネルや6.1チャンネルから5.1チャンネルへのダウンミックスの補正値を示しており、dmx_gain2は、5.1チャンネルから2チャンネルへのダウンミックスの補正値を示している。また、dmx_gain2は7.1チャンネルに対応していない復号装置やビットストリームもサポートするものである。
さらに、そのアプリケーションと動作は、DRC heavy compressionと類似している。また、符号化装置が、適宜、オーディオフレームの長い期間またはごく短い期間について選択的に評価し、グローバルダウンミックスゲインを定めることができる。
7.1チャンネルから2チャンネルへのダウンミックスの場合、ゲインは結合されたもの、つまり(dmx_gain5+dmx_gain2)が適用される。dmx_gain5とdmx_gain2は、6ビットの符号なしの整数が用いられて、0.25dBきざみで量子化される。
したがって、dmx_gain5とdmx_gain2を結合したものは、±15.75dBの範囲の値となる。
これらは、復号された現フレームのオーディオデータのサンプルに対して適用されるゲイン値である。
具体的には、5.1チャンネルへのダウンミックスを行なう場合には、次のようになる。
すなわち、ダウンミックスにより得られたチャンネルC’,L’,R’,Ls’,Rs’,LFE’のオーディオデータに対してゲイン補正を行なって、C’’,L’’,R’’,Ls’’,Rs’’,LFE’’の各チャンネルのオーディオデータとする場合、次式(7)の計算が行なわれる。
L’’=L’×dmx_gain5
R’’=R’×dmx_gain5
C’’=C’×dmx_gain5
Ls’’=Ls’×dmx_gain5
Rs’’=Rs’×dmx_gain5
LFE’’=LFE’×dmx_gain5 ・・・(7)
ここで、dmx_gain5はスカラ値であり、図15に示した「dmx_gain_5_sign」と「dmx_gain_5_idx」から、次式(8)により求まるゲイン値である。
dmx_gain5=10(dmx_gain_5_idx/20) if dmx_gain_5_sign==1
dmx_gain5=10(-dmx_gain_5_idx/20) if dmx_gain_5_sign==0 ・・・(8)
同様に、2チャンネルへのダウンミックスを行なう場合には、次のようになる。すなわち、ダウンミックスにより得られたチャンネルL’,R’のオーディオデータに対してゲイン補正を行なって、L’’,R’’の各チャンネルのオーディオデータとする場合、次式(9)の計算が行なわれる。
L’’=L’×dmx_gain2
R’’=R’×dmx_gain2 ・・・(9)
ここで、dmx_gain2はスカラ値であり、図15に示した「dmx_gain_2_sign」と「dmx_gain_2_idx」から、次式(10)により求まるゲイン値である。
dmx_gain2=10(dmx_gain_2_idx/20) if dmx_gain_2_sign==1
dmx_gain2=10(-dmx_gain_2_idx/20) if dmx_gain_2_sign==0 ・・・(10)
なお、7.1チャンネルから2チャンネルにダウンミックスする場合には、7.1チャンネルから5.1チャンネル、5.1チャンネルから2チャンネルへのダウンミックスが行なわれた後に、得られた信号(データ)に対してゲイン調整が行なわれてもよい。そのような場合、オーディオデータに適用されるゲイン値dmx_gain_7to2は、次式(11)に示すように、dmx_gain5とdmx_gain2を結合することにより得ることができる。
dmx_gain_7to2=dmx_gain_2×dmx_gain_5 ・・・(11)
また、6.1チャンネルから2チャンネルにダウンミックスする場合においても、7.1チャンネルから2チャンネルにダウンミックスする場合と同様である。
さらに、例えば7.1チャンネルから2チャンネルにダウンミックスする場合に、式(7)や式(9)の計算を行って、2段階でゲイン補正を行なう場合には、5.1チャンネルのオーディオデータと、2チャンネルのオーディオデータの出力が可能になる。
[DRC Presentation modeについて]
また、図7に示した「bs_info()」に含まれている「drc_presentation_mode」は図20に示すようになっている。すなわち、図20は、「drc_presentation_mode」のシンタックスを示す図である。
「drc_presentation_mode」が「01」である場合には、「DRC presentation mode 1」とされ、「drc_presentation_mode」が「10」である場合には、「DRC presentation mode 2」とされる。そして、「DRC presentation mode 1」および「DRC presentation mode 2」では、図21に示すようにゲインコントロールが行なわれる。
[符号化装置の構成例]
次に、本技術を適用した具体的な実施の形態について説明する。
図22は、本技術を適用した符号化装置の一実施の形態の構成例を示す図である。符号化装置11は、入力部21、符号化部22、およびパッキング部23から構成される。
入力部21は、外部から、オーディオデータと、そのオーディオデータに関する情報を取得して符号化部22に供給する。例えば、オーディオデータに関する情報として、スピーカの配置(配置高さ)に関する情報などが取得される。
符号化部22は、入力部21から供給されたオーディオデータと、オーディオデータに関する情報とを符号化してパッキング部23に供給する。パッキング部23は、符号化部22から供給されたオーディオデータやオーディオデータに関する情報をパッキングして、図3に示した符号化ビットストリームを生成し、出力する。
[符号化処理の説明]
さらに、図23のフローチャートを参照して、符号化装置11による符号化処理について説明する。
ステップS11において、入力部21は、オーディオデータと、そのオーディオデータに関する情報を取得して符号化部22に供給する。例えば、7.1チャンネルの各チャンネルのオーディオデータと、図4に示した「height_extension_element」に格納されるスピーカの配置に関する情報(以下、スピーカ配置情報と称する)などが取得される。
ステップS12において、符号化部22は、入力部21から供給された各チャンネルのオーディオデータを符号化する。
ステップS13において、符号化部22は、入力部21から供給されたスピーカ配置情報を符号化する。このとき、符号化部22は、図4の「height_extension_element」に含まれる「PCE_HEIGHT_EXTENSION_SYNC」に格納される同期ワードを生成したり、「height_info_crc_check」に格納される識別情報であるCRCチェックコードを生成したりして、これらの同期ワードやCRCチェックコードを、符号化したスピーカ配置情報とともにパッキング部23に供給する。
また、符号化部22は、符号化ビットストリームの生成に必要な情報を生成し、符号化されたオーディオデータやスピーカ配置情報とともにパッキング部23に供給する。
ステップS14において、パッキング部23は、符号化部22から供給されたオーディオデータやスピーカ配置情報をビットパッキングして図3の符号化ビットストリームを生成し、出力する。このときパッキング部23は、スピーカ配置情報や同期ワード、CRCチェックコードなどを「PCE」に格納し、オーディオデータを「SCE」や「CPE」に格納する。
符号化ビットストリームが出力されると、符号化処理は終了する。
以上のようにして、符号化装置11は、各レイヤにおけるスピーカ配置に関する情報であるスピーカ配置情報を符号化ビットストリームに含めて、符号化されたオーディオデータを出力する。このように垂直方向のスピーカ配置情報を用いることで、平面だけでなく、垂直方向の音像再現が可能になり、より臨場感の高い音声再生が可能となる。
[復号装置の構成例]
次に、符号化装置11から出力された符号化ビットストリームを受信して復号する復号装置について説明する。
図24は、そのような復号装置の構成例を示す図である。復号装置51は、分離部61、復号部62、および出力部63から構成される。
分離部61は、符号化装置11から送信されてきた符号化ビットストリームを受信するとともに、符号化ビットストリームをビットアンパッキングして復号部62に供給する。
復号部62は、分離部61から供給された符号化ビットストリーム、つまり各チャンネルのオーディオデータやスピーカ配置情報などを復号し、それらの復号により得られたオーディオデータを出力部63に供給する。復号部62は、必要に応じてオーディオデータのダウンミックスなども行なう。
出力部63は、復号部62から供給されたオーディオデータを、復号部62により指示されたスピーカ配置(スピーカマッピング)に応じて出力する。出力部63から出力された各チャンネルのオーディオデータは、各チャンネルのスピーカに供給されて再生される。
[復号処理の説明]
続いて、図25のフローチャートを参照して、復号装置51により行なわれる復号処理について説明する。
ステップS41において、復号部62は、オーディオデータを復号する。
すなわち、分離部61は、符号化装置11から送信されてきた符号化ビットストリームを受信するとともに、符号化ビットストリームをビットアンパッキングする。そして、分離部61は、ビットアンパッキングにより得られたオーディオデータと、スピーカ配置情報などの各種の情報とを復号部62に供給する。復号部62は、分離部61から供給されたオーディオデータを復号し、出力部63に供給する。
ステップS42において、復号部62は、分離部61から供給された情報から、同期ワードを検出する。具体的には、図4の「height_extension_element」から同期ワードが検出される。
ステップS43において、復号部62は同期ワードが検出されたか否かを判定する。ステップS43において、同期ワードが検出されたと判定された場合、ステップS44において、復号部62はスピーカ配置情報を復号する。
すなわち、復号部62は、図4に示した「height_extension_element」から、「front_element_height_info[i]」、「side_element_height_info[i]」、「back_element_height_info[i]」などの情報を読み込んでいく。これにより、各オーディオデータを、どの位置(チャンネル)のスピーカで再生すればよいかが分かる。
ステップS45において、復号部62は識別情報を生成する。すなわち、復号部62は、「height_extension_element」の「PCE_HEIGHT_EXTENSION_SYNC」から「byte_alignment()」までの間に読み込まれた情報、つまり同期ワード、スピーカ配置情報、およびバイトアラインメントに基づいて、CRCチェックコードを算出し、識別情報とする。
ステップS46において、復号部62はステップS45で生成した識別情報と、図4に示した「height_extension_element」の「height_info_crc_check」に含まれている識別情報とを比較して、それらの識別情報が一致したか否かを判定する。
ステップS46において識別情報が一致したと判定された場合、復号部62は、復号により得られたオーディオデータを出力部63に供給するとともに、得られたスピーカ配置情報に基づいて、オーディオデータの出力を指示し、処理はステップS47に進む。
ステップS47において、出力部63は、復号部62から供給されたオーディオデータを、復号部62により指示されたスピーカ配置(スピーカマッピング)に応じて出力し、復号処理は終了する。
これに対して、ステップS43において同期ワードが検出されなかったと判定されたか、またはステップS46において識別情報が一致しないと判定された場合、ステップS48において、出力部63は、予め定めたスピーカ配置でオーディオデータを出力する。
すなわち、ステップS48の処理が行なわれるのは、「height_extension_element」から正しくスピーカ配置情報が読み出せなかった場合である。このような場合、復号部62は、オーディオデータを出力部63に供給するとともに、各チャンネルのオーディオデータが、予め定められた各チャンネルのスピーカで再生されるように、オーディオデータの出力を指示する。すると、出力部63は、復号部62の指示にしたがってオーディオデータを出力し、復号処理は終了する。
以上のようにして、復号装置51は、符号化ビットストリームに含まれるオーディオデータやスピーカ配置情報を復号し、スピーカ配置情報に基づいてオーディオデータを出力する。スピーカ配置情報には、垂直方向のスピーカの配置に関する情報が含まれているので、平面だけでなく、垂直方向の音像再現が可能になり、より臨場感の高い音声再生が可能となる。
なお、より詳細には、オーディオデータの復号時には、必要に応じてオーディオデータのダウンミックスなどの処理も行なわれる。
この場合、例えば復号部62は、図6に示した「MPEG4 ancillary data」における「ancillary_data_status()」内の「ancillary_data_extension_status」が「1」であれば、「MPEG4_ext_ancillary_data()」を読み込む。そして、復号部62は、図11に示した「MPEG4_ext_ancillary_data()」に含まれている各情報を読み込んで、オーディオデータのダウンミックスやゲイン補正を行なう。
例えば、復号部62は、7.1チャンネルや6.1チャンネルのオーディオデータを、5.1チャンネルのオーディオデータにダウンミックスしたり、さらに5.1チャンネルのオーディオデータを2チャンネルのオーディオデータにダウンミックスしたりする。
また、このとき、復号部62は必要に応じてLFEチャンネルのオーディオデータを、ダウンミックスに用いる。なお、各チャンネルに乗算される係数は、図13に示した「ext_downmixing_levels()」や図16に示した「ext_downmixing_lfe_level()」が参照されて定められる。さらに、ダウンミックス時のゲイン補正には、図15に示した「ext_downmixing_global_gains()」が参照される。
[符号化装置の構成例]
次に、以上において説明した符号化装置と復号装置のより詳細な構成例と、それらの装置のより詳細な動作について説明する。
図26は、符号化装置のより詳細な構成例を示す図である。
符号化装置91は、入力部21、符号化部22、およびパッキング部23から構成される。なお、図26において、図22における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
符号化部22は、PCE符号化部101、DSE符号化部102、およびオーディオエレメント符号化部103を備えている。
PCE符号化部101は、入力部21から供給された情報に基づいてPCEの符号化を行なう。すなわち、PCE符号化部101は、必要に応じて各情報の符号化を行いながら、PCEに格納される各情報を生成する。PCE符号化部101は、同期ワード符号化部111、配置情報符号化部112、および識別情報符号化部113を備えている。
同期ワード符号化部111は同期ワードを符号化し、符号化された同期ワードをPCEのコメント領域に含まれる拡張領域に格納される情報とする。配置情報符号化部112は、入力部21から供給された、各オーディオデータについてのスピーカの高さ(レイヤ)を示すスピーカ配置情報を符号化し、コメント領域内の拡張領域に格納される情報とする。
識別情報符号化部113は、識別情報の符号化を行なう。例えば、識別情報符号化部113は、必要に応じて同期ワードおよびスピーカ配置情報に基づいて識別情報としてCRCチェックコードを生成し、コメント領域内の拡張領域に格納される情報とする。
DSE符号化部102は、入力部21から供給された情報に基づいてDSEの符号化を行なう。すなわち、DSE符号化部102は、必要に応じて各情報の符号化を行いながら、DSEに格納される各情報を生成する。DSE符号化部102は、拡張情報符号化部114およびダウンミックス情報符号化部115を備えている。
拡張情報符号化部114は、DSEの拡張領域である「MPEG4_ext_ancillary_data()」に拡張情報が含まれているか否かを示す情報(フラグ)を符号化する。ダウンミックス情報符号化部115は、オーディオデータのダウンミックスに関する情報を符号化する。オーディオエレメント符号化部103は、入力部21から供給されたオーディオデータを符号化する。
符号化部22は、各種のデータの符号化により得られた、各エレメントに格納される情報をパッキング部23に供給する。
[符号化処理の説明]
ここで、図27のフローチャートを参照して、符号化装置91により行なわれる符号化処理について説明する。なお、この符号化処理は、図23のフローチャートを参照して説明した処理のより詳細な処理である。
ステップS71において、入力部21は、オーディオデータと、そのオーディオデータの符号化に必要な情報を取得して符号化部22に供給する。
例えば、入力部21は、オーディオデータとして各チャンネルのPCM(Pulse Code Modulation)データ、各チャンネルのスピーカ配置を示す情報、ダウンミックス係数を特定するための情報、および符号化ビットストリームのビットレートを示す情報を取得する。ここで、ダウンミックス係数を特定するための情報とは、7.1または6.1チャンネルから5.1チャンネルへのダウンミックス、および5.1チャンネルから2チャンネルへのダウンミックスを行なうときに各チャンネルのオーディオデータに乗算される係数を示す情報である。
また、入力部21は、これから得ようとする符号化ビットストリームのファイル名を取得する。このファイル名は適宜、符号化側の装置で用いられる。
ステップS72において、オーディオエレメント符号化部103は、入力部21から供給されたオーディオデータを符号化し、SCE、CPE、およびLFEの各エレメントに格納されるデータとする。このとき、オーディオデータは、入力部21から符号化部22に供給されたビットレートと、オーディオデータ以外の他の情報の符号量とから定まるビットレートで符号化される。
また、例えばCチャンネルやCsチャンネルのオーディオデータが符号化され、SCEに格納されるデータとされ、LチャンネルやRチャンネルのオーディオデータが符号化され、CPEに格納されるデータとされる。さらに、LFEチャンネルのオーディオデータが符号化され、LFEに格納されるデータとされる。
ステップS73において、同期ワード符号化部111は入力部21から供給された情報に基づいて同期ワードを符号化し、符号化された同期ワードを図4に示した「height_extension_element」に含まれる「PCE_HEIGHT_EXTENSION_SYNC」に格納される情報とする。
ステップS74において、配置情報符号化部112は、入力部21から供給された、各オーディオデータのスピーカ配置情報を符号化する。
符号化されたスピーカ配置情報は、パッキング部23において音源位置、つまりスピーカ配置に応じた順番で「height_extension_element」内に格納される。すなわち、ユーザからみて前方に配置されるスピーカで再生される各チャンネルのスピーカ高さ(音源の高さ)を示すスピーカ配置情報は、「front_element_height_info[i]」として「height_extension_element」内に格納される。
「front_element_height_info[i]」に続いて、ユーザからみて側方に配置されるスピーカで再生される各チャンネルのスピーカ高さを示すスピーカ配置情報が、「side_element_height_info[i]」として「height_extension_element」内に格納される。さらに、その後には、ユーザからみて後方に配置されるスピーカで再生される各チャンネルのスピーカ高さを示すスピーカ配置情報が、「back_element_height_info[i]」として「height_extension_element」内に格納される。
ステップS75において、識別情報符号化部113は、識別情報の符号化を行なう。例えば、識別情報符号化部113は、必要に応じて同期ワードおよびスピーカ配置情報に基づいて識別情報としてCRCチェックコードを生成し、「height_extension_element」の「height_info_crc_check」に格納される情報とする。同期ワードとCRCチェックコードは、符号化ビットストリームにおけるスピーカ配置情報の有無を識別するための情報である。
また、識別情報符号化部113は、バイトアラインメントの実行を指示する情報を「height_extension_element」の「byte_alignment()」に格納される情報として生成する。さらに、識別情報符号化部113は、識別情報の照合を指示する情報を「height_extension_element」における「if(crc_cal()!=height_info_crc_check)」に格納される情報として生成する。
以上のステップS73乃至ステップS75の処理によって、PCEのコメント領域に含まれる拡張領域、つまり「height_extension_element」に格納すべき情報が生成される。
ステップS76において、PCE符号化部101は、入力部21から供給された情報や、これまでに生成された拡張領域の情報などに基づいてPCEの符号化を行なう。
例えば、PCE符号化部101は、前方、側方、および後方のそれぞれに配置されるスピーカで再生される各チャンネルの数や、各オーディオデータがC,L,Rなどのチャンネルのうちの何れのチャンネルのデータであるかを示す情報などを、PCEに格納される情報として生成する。
ステップS77において、拡張情報符号化部114は、入力部21から供給された情報に基づいて、DSEの拡張領域に拡張情報が含まれているか否かを示す情報を符号化し、図8の「ancillary_data_status()」の「ancillary_data_extension_status」に格納される情報とする。例えば、「ancillary_data_extension_status」には、拡張情報が含まれているか否かを示す情報、つまり拡張情報の有無を示す情報として「0」または「1」が格納される。
ステップS78において、ダウンミックス情報符号化部115は、入力部21から供給された情報に基づいて、オーディオデータのダウンミックスに関する情報を符号化する。
例えば、ダウンミックス情報符号化部115は、入力部21から供給されたダウンミックス係数を特定するための情報の符号化を行なう。具体的には、ダウンミックス情報符号化部115は、5.1チャンネルから2チャンネルへのダウンミックスを行なうときに各チャンネルのオーディオデータに乗算される係数を示す情報を符号化し、図9の「downmixing_levels_MPEG4()」に格納される「center_mix_level_value」および「surround_mix_level_value」とする。
また、ダウンミックス情報符号化部115は、5.1チャンネルから2チャンネルへのダウンミックスを行なうときにLFEチャンネルのオーディオデータに乗算される係数を示す情報を符号化し、図16の「ext_downmixing_lfe_level()」に格納される「dmix_lfe_idx」とする。同時に、ダウンミックス情報符号化部115は、入力部21から供給された、2チャンネルへのダウンミックスの処理手順を示す情報を符号化し、図7の「bs_info()」に格納される「pseudo_surround_enable」とする。
さらに、ダウンミックス情報符号化部115は、7.1または6.1チャンネルから5.1チャンネルへのダウンミックスを行なうときに各チャンネルのオーディオデータに乗算される係数を示す情報を符号化し、図13の「ext_downmixing_levels」に格納される「dmix_a_idx」および「dmix_b_idx」とする。
また、ダウンミックス情報符号化部115は、5.1チャンネルから2チャンネルへのダウンミックスでLFEチャンネルを用いるかを示す情報を符号化し、拡張領域である図11の「ext_ancillary_data_status()」内にある、図12の「ext_downmixing_lfe_level_status」に格納される情報とする。
さらに、ダウンミックス情報符号化部115は、ダウンミックス時のゲイン調整を行なうのに必要な情報を符号化して図11の「MPEG4_ext_ancillary_data()」内の「ext_downmixing_global_gains」に格納される情報とする。
ステップS79において、DSE符号化部102は、入力部21から供給された情報や、これまでに生成されたダウンミックスに関する情報などに基づいてDSEの符号化を行なう。
以上の処理により、PCE、SCE、CPE、LFE、およびDSEの各エレメントに格納すべき情報が得られる。符号化部22は、これらの各エレメントに格納すべき情報をパッキング部23に供給する。また、符号化部22は、必要に応じて「Header/Sideinfo」や「FIL(DRC)」、「FIL(END)」などのエレメントを生成し、パッキング部23に供給する。
ステップS80において、パッキング部23は、符号化部22から供給されたオーディオデータやスピーカ配置情報などをビットパッキングして図3の符号化ビットストリームを生成し、出力する。例えばパッキング部23は、PCEやDSEに符号化部22から供給された情報を格納することで、符号化ビットストリームを生成する。符号化ビットストリームが出力されると、符号化処理は終了する。
以上のようにして符号化装置91は、スピーカ配置情報や、ダウンミックスに関する情報、拡張領域に拡張情報が含まれているかを示す情報などを符号化ビットストリームに含めて、符号化されたオーディオデータを出力する。このようにスピーカ配置情報や、ダウンミックスに関する情報などを符号化ビットストリームに格納することで、符号化ビットストリームの復号側では、より臨場感のある高品質な音声を得ることができるようになる。
例えば、符号化ビットストリームに垂直方向のスピーカ配置情報を格納することで、復号側では、平面だけでなく、垂直方向の音像再現が可能になり、より臨場感の高い音声再生が可能となる。
しかも、符号化ビットストリームには、コメント領域内の拡張領域に格納されている情報が、スピーカ配置情報であるか、他のコメント等のテキスト情報であるかを識別するために、スピーカ配置情報を識別する複数の識別情報(識別コード)が含まれている。ここでは、識別情報として、スピーカ配置情報の直前に配置される同期ワードと、スピーカ配置情報などの格納された情報内容により定まるCRCチェックコードとが符号化ビットストリームに含まれている。
これらの2つの識別情報を符号化ビットストリームに含めることで、符号化ビットストリームに含まれている情報がスピーカ配置情報であるかをより確実に特定することができるようになる。その結果、得られたスピーカ配置情報を用いて、より臨場感のある高品質な音声を得ることができる。
また、符号化ビットストリームには、オーディオデータのダウンミックスのための情報として、DSEに「pseudo_surround_enable」が含まれている。この情報によれば、5.1チャンネルから2チャンネルへのダウンミックス処理の方法として、複数の方法のうちの何れかを指定することが可能となるので、オーディオデータの復号側の自由度をより高めることができる。
具体的には、この実施の形態では、5.1チャンネルから2チャンネルへのダウンミックス処理の方法として、上述した式(1)を計算する方法と、式(2)を計算する方法がある。例えば、復号側において、ダウンミックスにより得られた2チャンネルのオーディオデータが、さらに再生装置に転送され、再生装置において2チャンネルのオーディオデータが、5.1チャンネルのオーディオデータへと変換されて再生されるとする。
そのような場合、式(1)による方法と式(2)による方法とでは、何れかの方法で得られたオーディオデータについては、最終的に得られる5.1チャンネルのオーディオデータを再生したときに予め想定した適切な音響効果が得られなくなってしまう可能性もある。
しかし、符号化装置91で得られる符号化ビットストリームでは、復号側で想定した音響効果を得ることができるダウンミックス方法を「pseudo_surround_enable」により指定することができるので、復号側ではより臨場感のある高品質な音声を得ることができる。
さらに、符号化ビットストリームには、拡張情報が含まれているかを示す情報(フラグ)が「ancillary_data_extension_status」に格納されている。したがって、この情報を参照すれば、拡張領域である「MPEG4_ext_ancillary_data()」に拡張情報が含まれているかを特定することができる。
例えば、この例では拡張情報として、「ext_ancillary_data_status()」、「ext_downmixing_levels()」、「ext_downmixing_global_gains」、および「ext_downmixing_lfe_level()」が必要に応じて拡張領域に格納されている。
このような拡張情報を得ることができれば、より高い自由度でオーディオデータをダウンミックスすることができ、多様なオーディオデータを復号側で得ることができる。その結果、より臨場感のある高品質な音声を得ることができるようになる。
[復号装置の構成例]
続いて、復号装置のより詳細な構成について説明する。
図28は、復号装置のより詳細な構成例を示す図である。なお、図28において、図24における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
復号装置141は、分離部61、復号部62、切替部151、ダウンミックス処理部152、および出力部63から構成される。
分離部61は、符号化装置91から出力された符号化ビットストリームを受信してアンパッキングし、復号部62に供給するとともに、ダウンミックス形式パラメータとオーディオデータのファイル名を取得する。
ここで、ダウンミックス形式パラメータは、復号装置141において、符号化ビットストリームに含まれているオーディオデータのダウンミックスの形式を示す情報である。例えば、ダウンミックス形式パラメータとして、7.1チャンネル若しくは6.1チャンネルから5.1チャンネルへのダウンミックスを行なう旨の情報、7.1チャンネル若しくは6.1チャンネルから2チャンネルへのダウンミックスを行なう旨の情報、5.1チャンネルから2チャンネルへのダウンミックスを行なう旨の情報、またはダウンミックスを行なわない旨の情報が含まれている。
分離部61により取得されたダウンミックス形式パラメータは、切替部151およびダウンミックス処理部152に供給される。また、分離部61により取得されたファイル名は、適宜、復号装置141において使用される。
復号部62は、分離部61から供給された符号化ビットストリームの復号を行なう。復号部62は、PCE復号部161、DSE復号部162、およびオーディオエレメント復号部163から構成される。
PCE復号部161は、符号化ビットストリームに含まれるPCEを復号し、その結果得られた情報をダウンミックス処理部152および出力部63に供給する。PCE復号部161には、同期ワード検出部171と識別情報算出部172が設けられている。
同期ワード検出部171は、PCEのコメント領域内にある拡張領域から同期ワードを検出し、同期ワードを読み出す。また、識別情報算出部172は、PCEのコメント領域内にある拡張領域から読み出された情報に基づいて識別情報を算出する。
DSE復号部162は、符号化ビットストリームに含まれるDSEを復号し、その結果得られた情報をダウンミックス処理部152に供給する。DSE復号部162には、拡張検出部173とダウンミックス情報復号部174が設けられている。
拡張検出部173は、DSEの「MPEG4_ancillary_data()」に、拡張情報が含まれているか否かを検出する。ダウンミックス情報復号部174は、DSEに含まれているダウンミックスに関する情報の復号を行なう。
オーディオエレメント復号部163は、符号化ビットストリームに含まれているオーディオデータを復号し、切替部151に供給する。
切替部151は、分離部61から供給されたダウンミックス形式パラメータに基づいて、復号部62から供給されたオーディオデータの出力先を、ダウンミックス処理部152または出力部63の何れかに切り替える。
ダウンミックス処理部152は、分離部61からのダウンミックス形式パラメータ、および復号部62からの情報に基づいて、切替部151から供給されたオーディオデータをダウンミックスし、その結果得られたオーディオデータを出力部63に供給する。
出力部63は、復号部62から供給された情報に基づいて、切替部151またはダウンミックス処理部152から供給されたオーディオデータを、出力する。出力部63は、並び替え処理部181を備えている。並び替え処理部181は、PCE復号部161から供給された情報に基づいて、切替部151から供給されたオーディオデータを並び替えて、出力する。
[ダウンミックス処理部の構成例]
また、図28のダウンミックス処理部152は、より詳細には図29に示すように構成される。すなわち、ダウンミックス処理部152は、切替部211、切替部212、ダウンミックス部213−1乃至ダウンミックス部213−4、切替部214、ゲイン調整部215、切替部216、ダウンミックス部217−1、ダウンミックス部217−2、およびゲイン調整部218から構成される。
切替部211は、切替部151から供給されたオーディオデータを、切替部212または切替部216の何れかに供給する。例えば、オーディオデータの出力先は、オーディオデータが7.1チャンネルまたは6.1チャンネルのデータである場合、切替部212とされ、オーディオデータが5.1チャンネルのデータである場合、切替部216とされる。
切替部212は、切替部211から供給されたオーディオデータを、ダウンミックス部213−1乃至ダウンミックス部213−4の何れかに供給する。例えば、切替部212によるオーディオデータの出力先は、オーディオデータが6.1チャンネルのデータである場合、ダウンミックス部213−1とされる。
また、オーディオデータが、L,Lc,C,Rc,R,Ls,Rs,LFEの各チャンネルのデータである場合、切替部212は切替部211からのオーディオデータをダウンミックス部213−2に供給する。オーディオデータが、L,R,C,Ls,Rs,Lrs,Rrs,LFEの各チャンネルのデータである場合、切替部212は切替部211からのオーディオデータをダウンミックス部213−3に供給する。
さらに、オーディオデータが、L,R,C,Ls,Rs,Lvh,Rvh,LFEの各チャンネルのデータである場合、切替部212は切替部211からのオーディオデータをダウンミックス部213−4に供給する。
ダウンミックス部213−1乃至ダウンミックス部213−4は、切替部212から供給されたオーディオデータを5.1チャンネルのオーディオデータにダウンミックスし、切替部214に供給する。なお、以下、ダウンミックス部213−1乃至ダウンミックス部213−4を特に区別する必要のない場合、単にダウンミックス部213とも称する。
切替部214は、ダウンミックス部213から供給されたオーディオデータを、ゲイン調整部215または切替部216の何れかに供給する。例えば、符号化ビットストリームに含まれているオーディオデータが、5.1チャンネルにダウンミックスされる場合には、切替部214はゲイン調整部215にオーディオデータを供給する。これに対して、符号化ビットストリームに含まれているオーディオデータが、2チャンネルにダウンミックスされる場合には、切替部214は切替部216にオーディオデータを供給する。
ゲイン調整部215は、切替部214から供給されたオーディオデータのゲインを調整し、出力部63に供給する。
切替部216は、切替部211または切替部214から供給されたオーディオデータを、ダウンミックス部217−1またはダウンミックス部217−2に供給する。例えば、符号化ビットストリームのDSEに含まれる「pseudo_surround_enable」の値に応じて、切替部216によるオーディオデータの出力先が切り替えられる。
ダウンミックス部217−1およびダウンミックス部217−2は、切替部216から供給されたオーディオデータを2チャンネルのデータにダウンミックスし、ゲイン調整部218に供給する。なお、以下、ダウンミックス部217−1およびダウンミックス部217−2を特に区別する必要のない場合、単にダウンミックス部217とも称する。
ゲイン調整部218は、ダウンミックス部217から供給されたオーディオデータのゲインを調整し、出力部63に供給する。
[ダウンミックス部の構成例]
さらに、図29のダウンミックス部213およびダウンミックス部217のより詳細な構成例について説明する。
図30は、図29のダウンミックス部213−1の構成例を示す図である。
ダウンミックス部213−1は、入力端子241−1乃至入力端子241−7、乗算部242乃至乗算部244、加算部245、加算部246、および出力端子247−1乃至出力端子247−6から構成される。
入力端子241−1乃至入力端子241−7には、それぞれ切替部212から、L,R,C,Ls,Rs,Cs,LFEの各チャンネルのオーディオデータが供給される。
入力端子241−1乃至入力端子241−3は、切替部212から供給されたオーディオデータを、出力端子247−1乃至出力端子247−3を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−1に供給されたL,R,Cの各チャンネルのオーディオデータは、そのままダウンミックス後のL,R,Cの各チャンネルのオーディオデータとして後段に出力される。
入力端子241−4乃至入力端子241−6は、切替部212から供給されたオーディオデータを乗算部242乃至乗算部244に供給する。乗算部242は、入力端子241−4から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部245に供給する。
乗算部243は、入力端子241−5から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部246に供給する。乗算部244は、入力端子241−6から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部245および加算部246に供給する。
加算部245は、乗算部242から供給されたオーディオデータと、乗算部244から供給されたオーディオデータとを加算して、出力端子247−4に供給する。出力端子247−4は、加算部245から供給されたオーディオデータを、ダウンミックス後のLsチャンネルのオーディオデータとして切替部214に供給する。
加算部246は、乗算部243から供給されたオーディオデータと、乗算部244から供給されたオーディオデータとを加算して、出力端子247−5に供給する。出力端子247−5は、加算部246から供給されたオーディオデータを、ダウンミックス後のRsチャンネルのオーディオデータとして切替部214に供給する。
入力端子241−7は、切替部212から供給されたオーディオデータを、出力端子247−6を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−1に供給されたLFEチャンネルのオーディオデータは、そのままダウンミックス後のLFEチャンネルのオーディオデータとして後段に出力される。
なお、以下、入力端子241−1乃至入力端子241−7を特に区別する必要のない場合、単に入力端子241とも称し、出力端子247−1乃至出力端子247−6を特に区別する必要のない場合、単に出力端子247とも称することとする。
このように、ダウンミックス部213−1では、上述した式(6)の計算に相当する処理が行なわれる。
図31は、図29のダウンミックス部213−2の構成例を示す図である。
ダウンミックス部213−2は、入力端子271−1乃至入力端子271−8、乗算部272乃至乗算部275、加算部276、加算部277、加算部278、および出力端子279−1乃至出力端子279−6から構成される。
入力端子271−1乃至入力端子271−8には、それぞれ切替部212から、L,Lc,C,Rc,R,Ls,Rs,LFEの各チャンネルのオーディオデータが供給される。
入力端子271−1乃至入力端子271−5は、切替部212から供給されたオーディオデータを、それぞれ加算部276、乗算部272および乗算部273、加算部277、乗算部274および乗算部275、並びに加算部278に供給する。
乗算部272および乗算部273は、入力端子271−2から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部276および加算部277に供給する。また、乗算部274および乗算部275は、入力端子271−4から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部277および加算部278に供給する。
加算部276は、入力端子271−1から供給されたオーディオデータと、乗算部272から供給されたオーディオデータとを加算して、出力端子279−1に供給する。出力端子279−1は、加算部276から供給されたオーディオデータを、ダウンミックス後のLチャンネルのオーディオデータとして切替部214に供給する。
加算部277は、入力端子271−3から供給されたオーディオデータ、乗算部273から供給されたオーディオデータ、および乗算部274から供給されたオーディオデータを加算して、出力端子279−2に供給する。出力端子279−2は、加算部277から供給されたオーディオデータを、ダウンミックス後のCチャンネルのオーディオデータとして切替部214に供給する。
加算部278は、入力端子271−5から供給されたオーディオデータと、乗算部275から供給されたオーディオデータとを加算して、出力端子279−3に供給する。出力端子279−3は、加算部278から供給されたオーディオデータを、ダウンミックス後のRチャンネルのオーディオデータとして切替部214に供給する。
入力端子271−6乃至入力端子271−8は、切替部212から供給されたオーディオデータを、出力端子279−4乃至出力端子279−6を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−2に供給されたLs,Rs,LFEの各チャンネルのオーディオデータは、そのままダウンミックス後のLs,Rs,LFEの各チャンネルのオーディオデータとして後段に出力される。
なお、以下、入力端子271−1乃至入力端子271−8を特に区別する必要のない場合、単に入力端子271とも称し、出力端子279−1乃至出力端子279−6を特に区別する必要のない場合、単に出力端子279とも称することとする。
このように、ダウンミックス部213−2では、上述した式(4)の計算に相当する処理が行なわれる。
さらに、図32は、図29のダウンミックス部213−3の構成例を示す図である。
ダウンミックス部213−3は、入力端子301−1乃至入力端子301−8、乗算部302乃至乗算部305、加算部306、加算部307、および出力端子308−1乃至出力端子308−6から構成される。
入力端子301−1乃至入力端子301−8には、それぞれ切替部212から、L,R,C,Ls,Rs,Lrs,Rrs,LFEの各チャンネルのオーディオデータが供給される。
入力端子301−1乃至入力端子301−3は、切替部212から供給されたオーディオデータを、出力端子308−1乃至出力端子308−3を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−3に供給されたL,R,Cの各チャンネルのオーディオデータは、そのままダウンミックス後のL,R,Cの各チャンネルのオーディオデータとして後段に出力される。
入力端子301−4乃至入力端子301−7は、切替部212から供給されたオーディオデータを乗算部302乃至乗算部305に供給する。乗算部302乃至乗算部305は、入力端子301−4乃至入力端子301−7から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部306、加算部307、加算部306、および加算部307に供給する。
加算部306は、乗算部302から供給されたオーディオデータと、乗算部304から供給されたオーディオデータとを加算して、出力端子308−4に供給する。出力端子308−4は、加算部306から供給されたオーディオデータを、ダウンミックス後のLsチャンネルのオーディオデータとして切替部214に供給する。
加算部307は、乗算部303から供給されたオーディオデータと、乗算部305から供給されたオーディオデータとを加算して、出力端子308−5に供給する。出力端子308−5は、加算部307から供給されたオーディオデータを、ダウンミックス後のRsチャンネルのオーディオデータとして切替部214に供給する。
入力端子301−8は、切替部212から供給されたオーディオデータを、出力端子308−6を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−3に供給されたLFEチャンネルのオーディオデータは、そのままダウンミックス後のLFEチャンネルのオーディオデータとして後段に出力される。
なお、以下、入力端子301−1乃至入力端子301−8を特に区別する必要のない場合、単に入力端子301とも称し、出力端子308−1乃至出力端子308−6を特に区別する必要のない場合、単に出力端子308とも称することとする。
このように、ダウンミックス部213−3では、上述した式(3)の計算に相当する処理が行なわれる。
図33は、図29のダウンミックス部213−4の構成例を示す図である。
ダウンミックス部213−4は、入力端子331−1乃至入力端子331−8、乗算部332乃至乗算部335、加算部336、加算部337、および出力端子338−1乃至出力端子338−6から構成される。
入力端子331−1乃至入力端子331−8には、それぞれ切替部212から、L,R,C,Ls,Rs,Lvh,Rvh,LFEの各チャンネルのオーディオデータが供給される。
入力端子331−1および入力端子331−2は、切替部212から供給されたオーディオデータを、それぞれ乗算部332および乗算部333に供給する。また、入力端子331−6および入力端子331−7は、切替部212から供給されたオーディオデータを、それぞれ乗算部334および乗算部335に供給する。
乗算部332乃至乗算部335は、入力端子331−1、入力端子331−2、入力端子331−6、および入力端子331−7から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部336、加算部337、加算部336、および加算部337に供給する。
加算部336は、乗算部332から供給されたオーディオデータと、乗算部334から供給されたオーディオデータとを加算して、出力端子338−1に供給する。出力端子338−1は、加算部336から供給されたオーディオデータを、ダウンミックス後のLチャンネルのオーディオデータとして切替部214に供給する。
加算部337は、乗算部333から供給されたオーディオデータと、乗算部335から供給されたオーディオデータとを加算して、出力端子338−2に供給する。出力端子338−2は、加算部337から供給されたオーディオデータを、ダウンミックス後のRチャンネルのオーディオデータとして切替部214に供給する。
入力端子331−3乃至入力端子331−5、および入力端子331−8は、切替部212から供給されたオーディオデータを、出力端子338−3乃至出力端子338−5、および出力端子338−6を介して、そのまま切替部214に供給する。すなわち、ダウンミックス部213−4に供給されたC,Ls,Rs,LFEの各チャンネルのオーディオデータは、そのままダウンミックス後のC,Ls,Rs,LFEの各チャンネルのオーディオデータとして後段に出力される。
なお、以下、入力端子331−1乃至入力端子331−8を特に区別する必要のない場合、単に入力端子331とも称し、出力端子338−1乃至出力端子338−6を特に区別する必要のない場合、単に出力端子338とも称することとする。
このように、ダウンミックス部213−4では、上述した式(5)の計算に相当する処理が行なわれる。
続いて、図29のダウンミックス部217のより詳細な構成例について説明する。
図34は、図29のダウンミックス部217−1の構成例を示す図である。
ダウンミックス部217−1は、入力端子361−1乃至入力端子361−6、乗算部362乃至乗算部365、加算部366乃至加算部371、出力端子372−1、および出力端子372−2から構成される。
入力端子361−1乃至入力端子361−6には、それぞれ切替部216から、L,R,C,Ls,Rs,LFEの各チャンネルのオーディオデータが供給される。
入力端子361−1乃至入力端子361−6は、それぞれ切替部216から供給されたオーディオデータを、加算部366、加算部369、および乗算部362乃至乗算部365に供給する。
乗算部362乃至乗算部365は、入力端子361−3乃至入力端子361−6から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部366および加算部369、加算部367、加算部370、並びに加算部368および加算部371に供給する。
加算部366は、入力端子361−1から供給されたオーディオデータと、乗算部362から供給されたオーディオデータとを加算して、加算部367に供給する。加算部367は、加算部366から供給されたオーディオデータと、乗算部363から供給されたオーディオデータとを加算して、加算部368に供給する。
加算部368は、加算部367から供給されたオーディオデータと、乗算部365から供給されたオーディオデータとを加算して、出力端子372−1に供給する。出力端子372−1は、加算部368から供給されたオーディオデータを、ダウンミックス後のLチャンネルのオーディオデータとしてゲイン調整部218に供給する。
加算部369は、入力端子361−2から供給されたオーディオデータと、乗算部362から供給されたオーディオデータとを加算して、加算部370に供給する。加算部370は、加算部369から供給されたオーディオデータと、乗算部364から供給されたオーディオデータとを加算して、加算部371に供給する。
加算部371は、加算部370から供給されたオーディオデータと、乗算部365から供給されたオーディオデータとを加算して、出力端子372−2に供給する。出力端子372−2は、加算部371から供給されたオーディオデータを、ダウンミックス後のRチャンネルのオーディオデータとしてゲイン調整部218に供給する。
なお、以下、入力端子361−1乃至入力端子361−6を特に区別する必要のない場合、単に入力端子361とも称し、出力端子372−1および出力端子372−2を特に区別する必要のない場合、単に出力端子372とも称することとする。
このように、ダウンミックス部217−1では、上述した式(1)の計算に相当する処理が行なわれる。
また、図35は、図29のダウンミックス部217−2の構成例を示す図である。
ダウンミックス部217−2は、入力端子401−1乃至入力端子401−6、乗算部402乃至乗算部405、加算部406、減算部407、減算部408、加算部409乃至加算部413、出力端子414−1、および出力端子414−2から構成される。
入力端子401−1乃至入力端子401−6には、それぞれ切替部216から、L,R,C,Ls,Rs,LFEの各チャンネルのオーディオデータが供給される。
入力端子401−1乃至入力端子401−6は、それぞれ切替部216から供給されたオーディオデータを、加算部406、加算部410、および乗算部402乃至乗算部405に供給する。
乗算部402乃至乗算部405は、入力端子401−3乃至入力端子401−6から供給されたオーディオデータに、ダウンミックスのための係数を乗算し、加算部406および加算部410、減算部407および加算部411、減算部408および加算部412、並びに加算部409および加算部413に供給する。
加算部406は、入力端子401−1から供給されたオーディオデータと、乗算部402から供給されたオーディオデータとを加算して、減算部407に供給する。減算部407は、加算部406から供給されたオーディオデータから、乗算部403から供給されたオーディオデータを減算して、減算部408に供給する。
減算部408は、減算部407から供給されたオーディオデータから、乗算部404から供給されたオーディオデータを減算して、加算部409に供給する。加算部409は、減算部408から供給されたオーディオデータと、乗算部405から供給されたオーディオデータとを加算して、出力端子414−1に供給する。出力端子414−1は、加算部409から供給されたオーディオデータを、ダウンミックス後のLチャンネルのオーディオデータとしてゲイン調整部218に供給する。
加算部410は、入力端子401−2から供給されたオーディオデータと、乗算部402から供給されたオーディオデータとを加算して、加算部411に供給する。加算部411は、加算部410から供給されたオーディオデータと、乗算部403から供給されたオーディオデータとを加算して、加算部412に供給する。
加算部412は、加算部411から供給されたオーディオデータと、乗算部404から供給されたオーディオデータとを加算して、加算部413に供給する。加算部413は、加算部412から供給されたオーディオデータと、乗算部405から供給されたオーディオデータとを加算して、出力端子414−2に供給する。出力端子414−2は、加算部413から供給されたオーディオデータを、ダウンミックス後のRチャンネルのオーディオデータとしてゲイン調整部218に供給する。
なお、以下、入力端子401−1乃至入力端子401−6を特に区別する必要のない場合、単に入力端子401とも称し、出力端子414−1および出力端子414−2を特に区別する必要のない場合、単に出力端子414とも称することとする。
このように、ダウンミックス部217−2では、上述した式(2)の計算に相当する処理が行なわれる。
[復号処理の説明]
次に、図36のフローチャートを参照して、復号装置141により行なわれる復号処理について説明する。
ステップS111において、分離部61は、符号化装置91から出力された符号化ビットストリームと、ダウンミックス形式パラメータを取得する。例えば、ダウンミックス形式パラメータは、復号装置が設けられている情報処理装置から取得される。
また、分離部61は、取得したダウンミックス形式パラメータを切替部151およびダウンミックス処理部152に供給するとともに、必要に応じてオーディオデータの出力ファイル名を取得して適宜使用する。
ステップS112において、分離部61は、符号化ビットストリームをアンパッキングし、その結果得られた各エレメントを復号部62に供給する。
ステップS113において、PCE復号部161は、分離部61から供給されたPCEを復号する。例えばPCE復号部161は、PCEのコメント領域から拡張領域である「height_extension_element」を読み出したり、PCEからスピーカ配置に関する情報を読み出したりする。ここで、スピーカ配置に関する情報として、例えばユーザの前方、側方、および後方のそれぞれに配置されるスピーカで再生される各チャンネルの数や、各オーディオデータがC,L,Rなどの何れのチャンネルのデータであるかを示す情報が読み出される。
ステップS114において、DSE復号部162は、分離部61から供給されたDSEを復号する。例えばDSE復号部162は、DSEから「MPEG4 ancillary data」を読み出したり、さらに「MPEG4 ancillary data」から必要な情報を読み出したりする。
具体的には、例えば、DSE復号部162のダウンミックス情報復号部174は、図9に示した「downmixing_levels_MPEG4()」から、ダウンミックスに用いる係数を特定する情報として「center_mix_level_value」や「surround_mix_level_value」を読み出して、ダウンミックス処理部152に供給する。
ステップS115において、オーディオエレメント復号部163は、分離部61から供給されたSCE、CPE、およびLFEの各エレメントに格納されているオーディオデータの復号を行なう。これにより、各チャンネルのPCMデータがオーディオデータとして得られる。
復号されたオーディオデータのチャンネル、つまり水平面上の配置位置などは、そのオーディオデータが格納されていたSCEなどのエレメントや、DSEの復号により得られたスピーカ配置に関する情報によって、特定することができる。但し、この時点では、スピーカ配置の高さに関する情報であるスピーカ配置情報が読み出されていないので、各チャンネルの高さ(レイヤ)については特定されていない状態となっている。
オーディオエレメント復号部163は、復号により得られたオーディオデータを切替部151に供給する。
ステップS116において、切替部151は、分離部61から供給されたダウンミックス形式パラメータに基づいて、オーディオデータのダウンミックスを行なうか否かを判定する。例えばダウンミックス形式パラメータが、ダウンミックスを行なわないことを示している場合、ダウンミックスを行なわないと判定される。
ステップS116において、ダウンミックスを行なわないと判定された場合、切替部151は、復号部62から供給されたオーディオデータを並び替え処理部181に供給し、処理はステップS117に進む。
ステップS117において、復号装置141は並び替え処理を行なって、各オーディオデータをスピーカ配置にしたがって並び替え、出力する。そして、オーディオデータが出力されると、復号処理は終了する。なお、並び替え処理の詳細は後述する。
これに対して、ステップS116においてダウンミックスを行なうと判定された場合、切替部151は、復号部62から供給されたオーディオデータをダウンミックス処理部152の切替部211に供給し、処理はステップS118に進む。
ステップS118において、復号装置141はダウンミックス処理を行なって、各オーディオデータを、ダウンミックス形式パラメータにより示されるチャンネル数のオーディオデータにダウンミックスし、出力する。そして、オーディオデータが出力されると、復号処理は終了する。なお、ダウンミックス処理の詳細は後述する。
以上のようにして、復号装置141は符号化ビットストリームを復号し、オーディオデータを出力する。
[並び替え処理の説明]
続いて、図37および図38のフローチャートを参照して、図36のステップS117の処理に対応する並び替え処理について説明する。
ステップS141において、同期ワード検出部171は、PCEのコメント領域(拡張領域)から同期ワードを読み出すためのパラメータcmt_byteを、cmt_byte=PCEのコメント領域のバイト数とする。すなわち、パラメータcmt_byteの値としてコメント領域のバイト数がセットされる。
ステップS142において、同期ワード検出部171はPCEのコメント領域から、予め定められた同期ワードのデータ量分だけデータの読み出しを行なう。例えば図4の例では、同期ワードである「PCE_HEIGHT_EXTENSION_SYNC」は8ビット、つまり1バイトであるので、PCEのコメント領域の先頭から1バイト分のデータが読み出される。
ステップS143において、PCE復号部161は、ステップS142で読み出したデータが同期ワードと一致したか否かを判定する。つまり、読み出されたデータが同期ワードであるか否かが判定される。
ステップS143において、同期ワードと一致しないと判定された場合、ステップS144において、同期ワード検出部171は、パラメータcmt_byteの値を、読み出したデータ量分だけ減少させる。この場合、パラメータcmt_byteの値が1バイトだけ減少する。
ステップS145において、同期ワード検出部171は、パラメータcmt_byte>0であるか否かを判定する。すなわち、パラメータcmt_byteが0よりも大きいか否か、換言すればコメント領域のデータが全て読み出されたか否かが判定される。
ステップS145においてパラメータcmt_byte>0であると判定された場合、まだコメント領域から全てのデータが読み出されていないので、処理はステップS142に戻り、上述した処理が繰り返される。すなわち、コメント領域のこれまで読み出されたデータに続く、同期ワードのデータ量分のデータが読み出され、同期ワードとの照合が行なわれる。
これに対して、ステップS145において、パラメータcmt_byte>0でないと判定された場合、処理はステップS146へと進む。このようにステップS146へと処理が進むのは、コメント領域の全てのデータが読み出されたが、コメント領域からは同期ワードが検出されなかった場合である。
ステップS146において、PCE復号部161は、スピーカ配置情報はないとして、その旨の情報を並び替え処理部181に供給し、処理はステップS164へと進む。このように、「height_extension_element」において、同期ワードをスピーカ配置情報の直前に配置することで、コメント領域に含まれる情報が、スピーカ配置情報であるか否かをより簡単かつ確実に特定することができるようになる。
また、ステップS143において、コメント領域から読み出したデータが同期ワードと一致したと判定された場合、同期ワードが検出されたので、同期ワードの直後に続くスピーカ配置情報を読み出すために、処理はステップS147に進む。
ステップS147において、PCE復号部161は、ユーザから見て前方に配置されるスピーカで再生されるオーディオデータのスピーカ配置情報を読み出すためのパラメータnum_fr_elemの値を、前方に属すエレメント数とする。
ここで、前方に属すエレメント数とは、ユーザの前方に配置されるスピーカで再生されるオーディオデータの数(チャンネル数)であり、このエレメント数はPCEに格納されている。したがって、パラメータnum_fr_elemの値は、「height_extension_element」から読み出されるべき、前方に配置されたスピーカで再生されるオーディオデータのスピーカ配置情報の数となる。
ステップS148において、PCE復号部161はパラメータnum_fr_elem>0であるか否かを判定する。
ステップS148において、パラメータnum_fr_elemが0より大きいと判定された場合、まだ読み出すべきスピーカ配置情報があるので、処理はステップS149へと進む。
ステップS149において、PCE復号部161は、コメント領域の同期ワードに続いて配置されている、1エレメント分のスピーカ配置情報を読み出す。図4の例では、1つのスピーカ配置情報は2ビットとなっているので、コメント領域のこれまで読み出されたデータの直後に配置されている2ビットのデータが、1つのスピーカ配置情報として読み出される。
なお、「height_extension_element」におけるスピーカ配置情報の配置位置や、オーディオデータがSCE等のどのエレメントに格納されているかなどから、各スピーカ配置情報がどのオーディオデータについての情報であるかが特定できるようになされている。
ステップS150において、PCE復号部161は、スピーカ配置情報を1つ読み出したので、パラメータnum_fr_elemの値を1デクリメントする。パラメータnum_fr_elemが更新されると、その後、処理はステップS148に戻り、上述した処理が繰り返される。すなわち、次のスピーカ配置情報が読み出される。
また、ステップS148において、パラメータnum_fr_elem>0でないと判定された場合、前方のエレメントのスピーカ配置情報は全て読み出されたので、処理はステップS151に進む。
ステップS151において、PCE復号部161は、ユーザから見て側方に配置されるスピーカで再生されるオーディオデータのスピーカ配置情報を読み出すためのパラメータnum_side_elemの値を、側方に属すエレメント数とする。
ここで、側方に属すエレメント数とは、ユーザ側方に配置されるスピーカで再生されるオーディオデータの数であり、このエレメント数はPCEに格納されている。
ステップS152において、PCE復号部161はパラメータnum_side_elem>0であるか否かを判定する。
ステップS152において、パラメータnum_side_elemが0より大きいと判定された場合、ステップS153において、PCE復号部161は、コメント領域のこれまで読み出したデータに続いて配置されている、1エレメント分のスピーカ配置情報を読み出す。ステップS153で読み出されたスピーカ配置情報は、ユーザ側方のチャンネルのスピーカ配置情報、つまり「side_element_height_info[i]」である。
ステップS154において、PCE復号部161は、パラメータnum_side_elemの値を1デクリメントする。パラメータnum_side_elemが更新されると、その後、処理はステップS152に戻り、上述した処理が繰り返される。
また、ステップS152において、パラメータnum_side_elem>0でないと判定された場合、側方のエレメントのスピーカ配置情報は全て読み出されたので、処理はステップS155に進む。
ステップS155において、PCE復号部161は、ユーザから見て後方に配置されるスピーカで再生されるオーディオデータのスピーカ配置情報を読み出すためのパラメータnum_back_elemの値を、後方に属すエレメント数とする。
ここで、後方に属すエレメント数とは、ユーザ後方に配置されるスピーカで再生されるオーディオデータの数であり、このエレメント数はPCEに格納されている。
ステップS156において、PCE復号部161はパラメータnum_back_elem>0であるか否かを判定する。
ステップS156において、パラメータnum_back_elemが0より大きいと判定された場合、ステップS157において、PCE復号部161は、コメント領域のこれまで読み出したデータに続いて配置されている、1エレメント分のスピーカ配置情報を読み出す。ステップS157で読み出されたスピーカ配置情報は、ユーザ後方のチャンネルのスピーカ配置情報、つまり「back_element_height_info[i]」である。
ステップS158において、PCE復号部161は、パラメータnum_back_elemの値を1デクリメントする。パラメータnum_back_elemが更新されると、その後、処理はステップS156に戻り、上述した処理が繰り返される。
また、ステップS156において、パラメータnum_back_elem>0でないと判定された場合、後方のエレメントのスピーカ配置情報は全て読み出されたので、処理はステップS159に進む。
ステップS159において、識別情報算出部172は、バイトアラインメントを行なう。
例えば、図4の「height_extension_element」では、スピーカ配置情報に続いて、バイトアラインメントの実行を指示する情報「byte_alignment()」が格納されているので、識別情報算出部172は、この情報を読み出すと、バイトアラインメントを実行する。
具体的には、識別情報算出部172は「height_extension_element」における「PCE_HEIGHT_EXTENSION_SYNC」から「byte_alignment()」の直前までの間に読み込まれた情報のデータ量が、8ビットの整数倍のデータ量となるように、それらの情報の直後に所定のデータを付加する。つまり、読み出された同期ワード、スピーカ配置情報、および付加されたデータの合計のデータ量が8ビットの整数倍となるように、バイトアラインメントが行なわれる。
この例では、オーディオデータのチャンネル数、つまり符号化ビットストリームに含まれるスピーカ配置情報の数は、予め定められた所定範囲内の数となる。そのため、バイトアラインメントにより得られたデータ、つまり同期ワード、スピーカ配置情報、および付加されたデータからなる1つのデータ(以下、アラインメントデータとも称する)が必ず所定のデータ量のデータとなるようになされている。
換言すれば、アラインメントデータのデータ量が、「height_extension_element」に含まれているスピーカ配置情報の数、つまりオーディオデータのチャンネル数によらず、必ず所定のデータ量となるようになっている。そのため、PCE復号部161は、アラインメントデータが生成された時点で、アラインメントデータが所定のデータ量となっていない場合には、これまでに読み出したスピーカ配置情報は、正しいスピーカ配置情報ではない、つまり無効であるとする。
ステップS160において、識別情報算出部172は、「height_extension_element」において、ステップS159で読み出した「byte_alignment()」に続く識別情報、すなわち「height_info_crc_check」に格納されている情報を読み出す。ここでは、例えば識別情報としてCRCチェックコードが読み出される。
ステップS161において、識別情報算出部172は、ステップS159で求めたアラインメントデータに基づいて識別情報を算出する。例えば、識別情報としてCRCチェックコードが算出される。
ステップS162において、PCE復号部161は、ステップS160で読み出した識別情報と、ステップS161で算出した識別情報とが一致するか否かを判定する。
なお、PCE復号部161は、アラインメントデータが所定のデータ量となっていない場合には、ステップS160およびステップS161の処理を行なわずに、ステップS162において、識別情報が一致しないと判定する。
ステップS162において、識別情報が一致しないと判定された場合、ステップS163において、PCE復号部161は、読み出したスピーカ配置情報を無効とし、その旨の情報を並び替え処理部181およびダウンミックス処理部152に供給する。そして、その後、処理はステップS164へと進む。
ステップS163の処理が行なわれるか、またはステップS146の処理が行なわれると、ステップS164において、並び替え処理部181は、予め定めたスピーカ配置で、切替部151から供給されたオーディオデータを出力する。
このとき、例えば並び替え処理部181は、PCE復号部161から供給された、PCEから読み出されたスピーカ配置に関する情報などに基づいて、各オーディオデータのスピーカ配置を定める。なお、スピーカ配置を定める際に並び替え処理部181が利用する情報の参照先は、オーディオデータを利用するサービスやアプリケーションに依存し、オーディオデータのチャンネル数等に応じて事前に定められているものとする。
ステップS164の処理が行なわれると並び替え処理は終了し、これにより図36のステップS117の処理も終了するので、復号処理は終了する。
一方、ステップS162において、識別情報が一致したと判定された場合、ステップS165において、PCE復号部161は、読み出したスピーカ配置情報を有効とし、スピーカ配置情報を並び替え処理部181およびダウンミックス処理部152に供給する。また、このとき、PCE復号部161は、PCEから読み出されたスピーカ配置に関する情報も並び替え処理部181およびダウンミックス処理部152に供給する。
ステップS166において、並び替え処理部181は、PCE復号部161から供給されたスピーカ配置情報などから定まるスピーカ配置で、切替部151から供給されたオーディオデータを出力する。すなわち、各チャンネルのオーディオデータが、スピーカ配置情報などにより定まる順番に並び替えられて、後段に出力される。ステップS166の処理が行なわれると並び替え処理は終了し、これにより図36のステップS117の処理も終了するので、復号処理は終了する。
以上のようにして、復号装置141は、PCEのコメント領域から同期ワードやCRCチェックコードの照合を行なってスピーカ配置情報を読み出して、スピーカ配置情報に応じた配置で、復号されたオーディオデータを出力する。
このように、スピーカ配置情報を読み出してスピーカ配置(音源位置)を定めることで、垂直方向の音像再現が可能となり、より臨場感のある高品質な音声を得ることができる。
また、同期ワードとCRCチェックコードを用いてスピーカ配置情報を読み出すことで、他のテキスト情報などが格納されている可能性のあるコメント領域から、より確実にスピーカ配置情報を読み出すことができる。つまり、スピーカ配置情報とその他の情報とをより確実に識別することができる。
特に、復号装置141では、同期ワードの一致、CRCチェックコードの一致、およびアラインメントデータのデータ量の一致という3つの要素によりスピーカ配置情報と他の情報との識別が行なわれるので、スピーカ配置情報の誤検出を抑制することができる。このようにスピーカ配置情報の誤検出を抑制することで、正しいスピーカ配置でオーディオデータを再生することができるようになり、より臨場感のある高品質な音声を得ることができる。
[ダウンミックス処理の説明]
さらに、図39のフローチャートを参照して、図36のステップS118の処理に対応するダウンミックス処理について説明する。この場合、切替部151からダウンミックス処理部152の切替部211に各チャンネルのオーディオデータが供給される。
ステップS191において、DSE復号部162の拡張検出部173は、DSEの「MPEG4_ancillary_data()」内にある「ancillary_data_status()」から「ancillary_data_extension_status」を読み出す。
ステップS192において、拡張検出部173は、読み出した「ancillary_data_extension_status」が1であるか否かを判定する。
ステップS192において、「ancillary_data_extension_status」が1でない場合、つまり0であると判定された場合、ステップS193において、ダウンミックス処理部152は、予め定められた方法により、オーディオデータのダウンミックスを行なう。
例えばダウンミックス処理部152は、ダウンミックス情報復号部174から供給された「center_mix_level_value」や「surround_mix_level_value」により定まる係数を用いて、切替部151からのオーディオデータをダウンミックスし、出力部63に供給する。
なお、「ancillary_data_extension_status」が0である場合、どのようにしてダウンミックス処理が行なわれるようにしてもよい。
ステップS194において、出力部63は、ダウンミックス処理部152から供給されたオーディオデータを、そのまま後段に出力し、ダウンミックス処理は終了する。これにより、図36のステップS118の処理が終了するので、復号処理も終了する。
これに対して、ステップS192において、「ancillary_data_extension_status」が1であると判定された場合、処理はステップS195へと進む。
ステップS195において、ダウンミックス情報復号部174は、図11に示した「MPEG4_ext_ancillary_data()」の「ext_downmixing_levels()」内の情報を読み出して、ダウンミックス処理部152に供給する。これにより、例えば図13の「dmix_a_idx」および「dmix_b_idx」が読み出される。
なお、「MPEG4_ext_ancillary_data()」に含まれている、図12に示した「ext_downmixing_levels_status」が0である場合には、「dmix_a_idx」および「dmix_b_idx」の読み出しは行なわれない。
ステップS196において、ダウンミックス情報復号部174は、「MPEG4_ext_ancillary_data()」の「ext_downmixing_global_gains()」内の情報を読み出して、ダウンミックス処理部152に供給する。これにより、例えば図15に示した情報、つまり「dmx_gain_5_sign」、「dmx_gain_5_idx」、「dmx_gain_2_sign」、および「dmx_gain_2_idx」が読み出される。
なお、これらの情報の読み出しは、「MPEG4_ext_ancillary_data()」に含まれている、図12に示した「ext_downmixing_global_gains_status」が0である場合には行なわれない。
ステップS197において、ダウンミックス情報復号部174は、「MPEG4_ext_ancillary_data()」の「ext_downmixing_lfe_level()」内の情報を読み出して、ダウンミックス処理部152に供給する。これにより、例えば図16に示した「dmix_lfe_idx」が読み出される。
なお、より詳細には、ダウンミックス情報復号部174は、図12に示した「ext_downmixing_lfe_level_status」を読み出し、「ext_downmixing_lfe_level_status」の値に応じて「dmix_lfe_idx」の読み出しを行なう。
すなわち、「dmix_lfe_idx」の読み出しは、「MPEG4_ext_ancillary_data()」に含まれている、「ext_downmixing_lfe_level_status」が0である場合には行なわれない。この場合、以下において説明するオーディオデータの5.1チャンネルから2チャンネルへのダウンミックスにおいて、LFEチャンネルのオーディオデータは用いられない。つまり、LFEチャンネルのオーディオデータに乗算される係数は0とされる。
ステップS198において、ダウンミックス情報復号部174は、図7に示した「MPEG4 ancillary data」の「bs_info()」から、「pseudo_surround_enable」内に格納されている情報を読み出してダウンミックス処理部152に供給する。
ステップS199において、ダウンミックス処理部152は、分離部61から供給されたダウンミックス形式パラメータに基づいて、オーディオデータは2チャンネルの出力であるか否かを判定する。
例えば、ダウンミックス形式パラメータが、7.1チャンネル若しくは6.1チャンネルから2チャンネルへのダウンミックス、または5.1チャンネルから2チャンネルへのダウンミックスを行なうことを示している場合、2チャンネルの出力であると判定される。
ステップS199において、2チャンネルの出力であると判定された場合、処理はステップS200に進む。この場合、切替部214の出力先は、切替部216へと切り替えられる。
ステップS200において、ダウンミックス処理部152は、分離部61からのダウンミックス形式パラメータに基づいて、オーディオデータの入力は5.1チャンネルであるか否かを判定する。例えば、ダウンミックス形式パラメータが、5.1チャンネルから2チャンネルへのダウンミックスを行なうことを示している場合、入力は5.1チャンネルであると判定される。
ステップS200において、入力は5.1チャンネルではないと判定された場合、処理はステップS201へと進み、7.1チャンネルまたは6.1チャンネルから2チャンネルへのダウンミックスが行なわれる。
この場合、切替部211は、切替部151から供給されたオーディオデータを、切替部212に供給する。また、切替部212は、PCE復号部161から供給されたスピーカ配置に関する情報に基づいて、切替部211から供給されたオーディオデータを、ダウンミックス部213−1乃至ダウンミックス部213−4の何れかに供給する。例えば、オーディオデータが、6.1チャンネルのデータである場合には、各チャンネルのオーディオデータは、ダウンミックス部213−1に供給される。
ステップS201において、ダウンミックス部213は、ダウンミックス情報復号部174から供給された、「ext_downmixing_levels()」から読み出された「dmix_a_idx」および「dmix_b_idx」に基づいて、5.1チャンネルへのダウンミックス処理を行なう。
例えば、オーディオデータがダウンミックス部213−1に供給された場合、ダウンミックス部213−1は、図19に示したテーブルを参照して、「dmix_a_idx」および「dmix_b_idx」の値に対して定まる定数を、それぞれ定数g1およびg2とする。そして、ダウンミックス部213−1は定数g1およびg2を、それぞれ乗算部242と乗算部243、および乗算部244において用いられる係数とすることで、式(6)の演算を行い、5.1チャンネルのオーディオデータを生成し、切替部214に供給する。
同様に、オーディオデータがダウンミックス部213−2に供給された場合、ダウンミックス部213−2は、「dmix_a_idx」および「dmix_b_idx」の値に対して定まる定数を、それぞれ定数e1およびe2とする。そして、ダウンミックス部213−2は定数e1およびe2を、それぞれ乗算部273と乗算部274、および乗算部272と乗算部275において用いられる係数とすることで式(4)の演算を行い、得られた5.1チャンネルのオーディオデータを切替部214に供給する。
また、オーディオデータがダウンミックス部213−3に供給された場合、ダウンミックス部213−3は、「dmix_a_idx」および「dmix_b_idx」の値に対して定まる定数を、それぞれ定数d1およびd2とする。そして、ダウンミックス部213−3は定数d1およびd2を、それぞれ乗算部302と乗算部303、および乗算部304と乗算部305において用いられる係数とすることで式(3)の演算を行い、得られたオーディオデータを切替部214に供給する。
さらに、オーディオデータがダウンミックス部213−4に供給された場合、ダウンミックス部213−4は、「dmix_a_idx」および「dmix_b_idx」の値に対して定まる定数を、それぞれ定数f1およびf2とする。そして、ダウンミックス部213−4は定数f1およびf2を、それぞれ乗算部332と乗算部333、および乗算部334と乗算部335において用いられる係数とすることで式(5)の演算を行い、得られたオーディオデータを切替部214に供給する。
5.1チャンネルのオーディオデータが切替部214に供給されると、切替部214は、ダウンミックス部213からのオーディオデータを、切替部216に供給する。さらに、切替部216は、ダウンミックス情報復号部174から供給された「pseudo_surround_enable」の値に応じて、切替部214からのオーディオデータを、ダウンミックス部217−1またはダウンミックス部217−2に供給する。
例えば、「pseudo_surround_enable」の値が0である場合、オーディオデータはダウンミックス部217−1に供給され、「pseudo_surround_enable」の値が1である場合、オーディオデータはダウンミックス部217−2に供給される。
ステップS202において、ダウンミックス部217は、ダウンミックス情報復号部174から供給されたダウンミックスに関する情報に基づいて、切替部216から供給されたオーディオデータの2チャンネルへのダウンミックス処理を行なう。すなわち、「downmixing_levels_MPEG4()」内の情報と、「ext_ downmixing_lfe_level()」内の情報とに基づいて、2チャンネルへのダウンミックス処理が行なわれる。
例えば、オーディオデータがダウンミックス部217−1に供給された場合、ダウンミックス部217−1は、図19のテーブルを参照し、「center_mix_level_value」および「surround_mix_level_value」の値に対して定まる定数を、それぞれ定数aおよびbとする。また、ダウンミックス部217−1は、図18に示したテーブルを参照して、「dmix_lfe_idx」の値に対して定まる定数を定数cとする。
そしてダウンミックス部217−1は定数a、b、およびcを乗算部363と乗算部364、乗算部362、および乗算部365で用いられる係数とすることで式(1)の演算を行い、得られた2チャンネルのオーディオデータをゲイン調整部218に供給する。
また、オーディオデータがダウンミックス部217−2に供給された場合、ダウンミックス部217−2は、ダウンミックス部217−1における場合と同様にして定数a、b、およびcを定める。そしてダウンミックス部217−2は定数a、b、およびcを乗算部403と乗算部404、乗算部402、および乗算部405で用いられる係数とすることで式(2)の演算を行い、得られたオーディオデータをゲイン調整部218に供給する。
ステップS203において、ゲイン調整部218は、ダウンミックス情報復号部174から供給された、「ext_downmixing_global_gains()」から読み出された情報に基づいて、ダウンミックス部217からのオーディオデータのゲイン調整を行なう。
具体的には、ゲイン調整部218は「ext_downmixing_global_gains()」から読み出された「dmx_gain_5_sign」、「dmx_gain_5_idx」、「dmx_gain_2_sign」、および「dmx_gain_2_idx」に基づいて式(11)を計算し、ゲイン値dmx_gain_7to2を算出する。そして、ゲイン調整部218は、各チャンネルのオーディオデータにゲイン値dmx_gain_7to2を乗算し、出力部63に供給する。
ステップS204において、出力部63は、ゲイン調整部218から供給されたオーディオデータをそのまま後段に出力し、ダウンミックス処理は終了する。これにより、図36のステップS118の処理が終了するので、復号処理も終了する。
なお、出力部63からオーディオデータが出力される場合には、並び替え処理部181からオーディオデータが出力される場合と、ダウンミックス処理部152からのオーディオデータがそのまま出力される場合とがある。出力部63の後段では、これらのオーディオデータの2通りの出力のうちの何れを用いるかを予め定めておくことができる。
また、ステップS200において、入力が5.1チャンネルであると判定された場合、処理はステップS205へと進み、5.1チャンネルから2チャンネルへのダウンミックスが行なわれる。
この場合、切替部211は、切替部151から供給されたオーディオデータを、切替部216に供給する。また、切替部216は、ダウンミックス情報復号部174から供給された「pseudo_surround_enable」の値に応じて、切替部211からのオーディオデータを、ダウンミックス部217−1またはダウンミックス部217−2に供給する。
ステップS205において、ダウンミックス部217は、ダウンミックス情報復号部174から供給されたダウンミックスに関する情報に基づいて、切替部216から供給されたオーディオデータの2チャンネルへのダウンミックス処理を行なう。なお、ステップS205では、ステップS202と同様の処理が行なわれる。
ステップS206において、ゲイン調整部218は、ダウンミックス情報復号部174から供給された、「ext_downmixing_global_gains()」から読み出された情報に基づいて、ダウンミックス部217からのオーディオデータのゲイン調整を行なう。
具体的には、ゲイン調整部218は「ext_downmixing_global_gains()」から読み出された「dmx_gain_2_sign」および「dmx_gain_2_idx」に基づいて式(9)を計算し、その結果得られたオーディオデータを出力部63に供給する。
ステップS207において、出力部63は、ゲイン調整部218から供給されたオーディオデータをそのまま後段に出力し、ダウンミックス処理は終了する。これにより、図36のステップS118の処理が終了するので、復号処理も終了する。
さらに、ステップS199において、2チャンネルの出力でない、つまり5.1チャンネルの出力であると判定された場合、処理はステップS208へと進み、7.1チャンネルまたは6.1チャンネルから5.1チャンネルへのダウンミックスが行なわれる。
この場合、切替部211は、切替部151から供給されたオーディオデータを、切替部212に供給する。また、切替部212は、PCE復号部161から供給されたスピーカ配置に関する情報に基づいて、切替部211から供給されたオーディオデータを、ダウンミックス部213−1乃至ダウンミックス部213−4の何れかに供給する。さらに、切替部214の出力先は、ゲイン調整部215とされる。
ステップS208において、ダウンミックス部213は、ダウンミックス情報復号部174から供給された、「ext_downmixing_levels()」から読み出された「dmix_a_idx」および「dmix_b_idx」に基づいて、5.1チャンネルへのダウンミックス処理を行なう。なお、ステップS208では、ステップS201と同様の処理が行なわれる。
5.1チャンネルへのダウンミックス処理が行なわれて、オーディオデータがダウンミックス部213から切替部214へと供給されると、切替部214は、供給されたオーディオデータを、ゲイン調整部215に供給する。
ステップS209において、ゲイン調整部215は、ダウンミックス情報復号部174から供給された、「ext_downmixing_global_gains()」から読み出された情報に基づいて、切替部214からのオーディオデータのゲイン調整を行なう。
具体的には、ゲイン調整部215は「ext_downmixing_global_gains()」から読み出された「dmx_gain_5_sign」および「dmx_gain_5_idx」に基づいて式(7)を計算し、その結果得られたオーディオデータを出力部63に供給する。
ステップS210において、出力部63は、ゲイン調整部215から供給されたオーディオデータをそのまま後段に出力し、ダウンミックス処理は終了する。これにより、図36のステップS118の処理が終了するので、復号処理も終了する。
以上のようにして、復号装置141は、符号化ビットストリームから読み出した情報に基づいて、オーディオデータのダウンミックスを行なう。
例えば、符号化ビットストリームでは、DSEに「pseudo_surround_enable」が含まれているので、複数の方法のうち、オーディオデータに最適な方法で5.1チャンネルから2チャンネルへのダウンミックス処理を行なうことができる。これにより、復号側において、より臨場感のある高品質な音声を得ることができるようになる。
また、符号化ビットストリームには、拡張情報が含まれているかを示す情報が「ancillary_data_extension_status」に格納されている。したがって、この情報を参照すれば、拡張領域に拡張情報が含まれているかを特定することができる。このような拡張情報を得ることができれば、より高い自由度でオーディオデータをダウンミックスすることができるので、より臨場感のある高品質な音声を得ることができる。
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図40は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、本技術は、以下の構成とすることも可能である。
[1]
符号化ビットストリームに含まれているオーディオデータを復号する復号部と、
前記符号化ビットストリームに含まれる拡張情報の有無を示す情報を、前記符号化ビットストリームから読み出すとともに、読み出した前記情報に応じて前記拡張情報を読み出す読み出し部と、
前記拡張情報に基づいて、復号された前記オーディオデータに対する処理を実行する処理部と
を備える復号装置。
[2]
前記拡張情報は、ダウンミックスに関する情報であり、
前記処理部は、前記拡張情報に基づいて、復号された複数チャンネルの前記オーディオデータをダウンミックスする
[1]に記載の復号装置。
[3]
前記処理部は、前記拡張情報に基づいてダウンミックスされた前記オーディオデータを、前記符号化ビットストリームに含まれる前記拡張情報とは異なる情報に基づいて、さらにダウンミックスする
[2]に記載の復号装置。
[4]
前記拡張情報は、前記オーディオデータのダウンミックスに用いる係数を得るための情報である
[2]または[3]に記載の復号装置。
[5]
前記拡張情報は、ダウンミックスされた前記オーディオデータのゲイン調整に用いるゲイン値を得るための情報であり、
前記処理部は、前記ゲイン値に基づいて、ダウンミックスされた前記オーディオデータのゲイン調整を行なう
[2]乃至[4]の何れかに記載の復号装置。
[6]
前記拡張情報は、特定チャンネルの前記オーディオデータをダウンミックスに用いるか否かを示す情報である
[2]乃至[5]の何れかに記載の復号装置。
[7]
符号化ビットストリームに含まれているオーディオデータを復号し、
前記符号化ビットストリームに含まれる拡張情報の有無を示す情報を、前記符号化ビットストリームから読み出すとともに、読み出した前記情報に応じて前記拡張情報を読み出し、
前記拡張情報に基づいて、復号された前記オーディオデータに対する処理を実行する
ステップを含む復号方法。
[8]
符号化ビットストリームに含まれているオーディオデータを復号し、
前記符号化ビットストリームに含まれる拡張情報の有無を示す情報を、前記符号化ビットストリームから読み出すとともに、読み出した前記情報に応じて前記拡張情報を読み出し、
前記拡張情報に基づいて、復号された前記オーディオデータに対する処理を実行する
ステップを含む処理をコンピュータに実行させるプログラム。
[9]
オーディオデータ、拡張情報の有無を示す情報、および前記拡張情報を符号化する符号化部と、
符号化された前記オーディオデータ、前記拡張情報の有無を示す情報、および前記拡張情報を所定の領域に格納して符号化ビットストリームを生成するパッキング部と
を備える符号化装置。
[10]
前記拡張情報は、ダウンミックスに関する情報であり、前記拡張情報に基づいて、復号された複数チャンネルの前記オーディオデータがダウンミックスされる
[9]に記載の符号化装置。
[11]
前記拡張情報に基づいてダウンミックスされた前記オーディオデータが、前記符号化ビットストリームに含まれる前記拡張情報とは異なる情報に基づいて、さらにダウンミックスされる
[10]に記載の符号化装置。
[12]
前記拡張情報は、前記オーディオデータのダウンミックスに用いる係数を得るための情報である
[10]または[11]に記載の符号化装置。
[13]
前記拡張情報は、ダウンミックスされた前記オーディオデータのゲイン調整に用いるゲイン値を得るための情報であり、前記ゲイン値に基づいて、ダウンミックスされた前記オーディオデータのゲイン調整が行なわれる
[10]乃至[12]の何れかに記載の符号化装置。
[14]
前記拡張情報は、特定チャンネルの前記オーディオデータをダウンミックスに用いるか否かを示す情報である
[10]乃至[13]の何れかに記載の符号化装置。
[15]
オーディオデータ、拡張情報の有無を示す情報、および前記拡張情報を符号化し、
符号化された前記オーディオデータ、前記拡張情報の有無を示す情報、および前記拡張情報を所定の領域に格納して符号化ビットストリームを生成する
ステップを含む符号化方法。
[16]
オーディオデータ、拡張情報の有無を示す情報、および前記拡張情報を符号化し、
符号化された前記オーディオデータ、前記拡張情報の有無を示す情報、および前記拡張情報を所定の領域に格納して符号化ビットストリームを生成する
ステップを含む処理をコンピュータに実行させるプログラム。