(57)【要約】本発明は、音声を表す複数のビットと、前記音声に対して正しいように意図されたメタデータと、メタデータ確認情報とからなり、前記メタデータの全部または一部が前記音声に対して正しくないことがありうるような場合の、デジタル・ビットストリームを与える。メタデータ確認情報を使うことによって、メタデータが前記音声に対して正しいか否かを検知することができ、もし正しくなければ、メタデータ確認情報を用いてメタデータを変更して正しいものにすることができる。メタデータを検知し変更することができる前記メタデータ確認情報には、正しいバージョンのメタデータのコピーまたはデータ圧縮したコピーが含まれる。
2008536193.tif 000002
【特許請求の範囲】
【請求項１】
音声を表すデータ・ビットと、
音声に対して適正であると意図されたメタデータと、
メタデータ確認情報と
を含むデジタル・ビットストリームであって、
メタデータの全部または一部が前記音声に対して適正ではない可能性があり、前記メタデータが前記音声に対して適正であるか否かを検出するために前記メタデータ確認情報を使用することができ、適正でない場合には、それを正しいものに変えるために使用することができるデジタル・ビットストリーム。
【請求項２】
メタデータを検出し変更するために使用できる前記メタデータ確認情報が正しいバージョンのメタデータのコピーまたはデータ圧縮されたコピーを含む、請求項1に記載のデジタル・ビットストリーム。
【請求項３】
音声を表す複数のデータ・ビットと、
前記音声のためのメタデータと、
メタデータ確認情報と
を含むデジタル・ビットストリームであって、
前記メタデータ確認情報は前記メタデータのコピーまたはデータ圧縮されたコピーを含み、前記確認情報は前記メタデータと前記コピーのそれぞれの差が閾値の範囲内であるか否かを検出するために使うことができ、もしこれが否定されれば前記メタデータを前記コピーで置き換えるデジタル・ビットストリーム。
【請求項４】
請求項１ないし３のいずれか１項に記載のデジタル・ビットストリームであって、前記メタデータ確認情報が暗号化されているデジタル・ビットストリーム。
【請求項５】
請求項１ないし４のいずれか１項に記載のデジタル・ビットストリームであって、前記メタデータ確認情報を表す複数のビットが前記ビットストリーム中の通常は情報を持たない複数のビットの全部または一部を置き換えるデジタル・ビットストリーム。
【請求項６】
請求項１ないし４のいずれか１項に記載のデジタル・ビットストリームであって、前記メタデータ確認情報が前記ビットストリーム中に電子迷彩技術を用いてコード化されているデジタル・ビットストリーム。
【請求項７】
請求項１ないし６のいずれか１項に記載のデジタル・ビットストリームであって、前記音声がデータ圧縮されているデジタル・ビットストリーム。
【請求項８】
請求項１ないし７のいずれか１項に記載のデジタル・ビットストリームに合致するデジタル・ビットストリームを生成するエンコーダー。
【請求項９】
請求項１ないし７のいずれか１項に記載のデジタル・ビットストリームを受け取るデコーダーであって、前記メタデータおよび前記メタデータ確認情報を使用して音声を表す複数の前記データ・ビットをデコードするデコーダー。
【請求項１０】
請求項９に記載のデコーダーであって、音声を表す前記データ・ビットをデコードする際に前記メタデータ確認情報を使用してメタデータを変更し、前記音声をデコードする際に前記変更されたメタデータを使用するデコーダー。
【請求項１１】
音声に対応するデジタル・ビットストリームを生成する方法であって、
前記音声に対して適正なメタデータを生成する方法と、
前記音声に対するメタデータが適正であるか否かを検出し、適正でない場合にはそれを適正なものに変更するために使用することができるメタデータ確認情報を生成する方法と、
前記音声を表すデータ・ビット、前記メタデータおよび前記メタデータ確認情報をふくむデジタル・ビットストリームを組み立てる方法と
を含む方法。
【請求項１２】
音声に対応するデジタル・ビットストリームを生成する方法であって、
前記音声に対応するメタデータを生成する方法と、
メタデータ確認情報を生成する機能であって、前記メタデータ確認情報は前記メタデータのコピーまたはデータ圧縮されたコピーを含み、前記メタデータ確認情報は前記メタデータと前記コピーの相互の差が閾値の範囲内にあるかどうかを検出でき、範囲内でない場合には前記メタデータを前記コピーで置き換える方法と、
前記音声を表すデータ・ビットおよび前記メタデータおよび前記メタデータ確認情報を含むデジタル・ビットストリームを組み立てる方法と
を含む方法。
【請求項１３】
請求項１１または１２の１項に記載の方法であって、前記メタデータを生成する方法が、前記音声の計測結果に基づいてメタデータを生成する方法。
【請求項１４】
請求項１３に記載の方法であって、前記音声の計測は前記音声の音量の計測である方法。
【請求項１５】
請求項１１ないし１４のいずれか１項に記載の方法であって、前記メタデータ確認情報をメタデータの正しいバージョンのコピーまたはデータ圧縮されたコピーを含むメタデータを検出し変更するために使用することができる方法。
【請求項１６】
請求項１１ないし１５のいずれか１項に記載の、前記確認情報が暗号化されている方法。
【請求項１７】
請求項１１ないし１６のいずれか１項に記載の方法であって、前記メタデータ確認情報を表す複数のビットが前記ビットストリーム中の通常は情報を持たない複数のビットの全部又は一部を置き換える方法。
【請求項１８】
請求項１１ないし１６のいずれか１項に記載の方法であって、前記確認情報を、電子迷彩技術を用いて前記ビットストリームにコード化する方法。
【請求項１９】
デジタル音声ビットストリームを取り扱う方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたメタデータを含み、ここで、メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、メタデータが前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにメタデータを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリーム中に存在するかどうかを決定する方法と、
メタデータ確認情報が存在する場合、それがメタデータの少なくとも一部が適正であることを確認する方法と、
前記メタデータ確認情報が前記メタデータの前記の少なくとも一部分の適正があると確認する場合、ビットストリームに変更を加えない方法と、
前記メタデータ確認情報が前記メタデータの前記の少なくとも一部分の適正であると確認しない場合、それを用いてメタデータを訂正する方法と
を含む方法。
【請求項２０】
デジタル音声ビットストリームを取り扱う方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたメタデータを含み、ここで、メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、メタデータが前記音声に対して適正であるか否かを検出するために使うことができるメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリーム中に存在するかどうかを決定する方法と、
メタデータ確認情報が存在しない場合、前記メタデータの少なくとも一部の適正であるか否かを決定する方法と、
前記メタデータの前記の少なくとも一部分が適正である場合、メタデータ確認情報を前記メタデータの前記の少なくとも一部分にかえて前記ビットストリームに挿入する方法と、
前記メタデータの前記の少なくとも一部分が適正でない場合、上記の前記メタデータの前記の少なくとも一部分にデフォルトの値を設定する方法と
を含む方法。
【請求項２１】
デジタル音声ビットストリームを取り扱う方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたメタデータを含み、ここで、メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、メタデータが前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにメタデータを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリーム中に存在するかどうかを決定する方法と、
メタデータ確認情報が存在する場合、それがメタデータの少なくとも一部が適正であることを確認する方法と、
前記メタデータ確認情報が適正であると確認する場合、ビットストリームに変更を加えない方法と、
前記メタデータ確認情報が適正であると確認しない場合、前記メタデータの前記の少なくとも一部分を訂正する方法と、
前記メタデータ確認情報が存在しない場合、前記メタデータの少なくとも一部分が適正か否かを決定する方法と、
前記メタデータの前記のすくなとも一部分が適正である場合、前記ビットストリームに変更を加えない方法と、
前記メタデータの前記のすくなとも一部分が適正でない場合、前記メタデータの前記の一部分にデフォルトの値を設定する方法と
を含む方法。
【請求項２２】
デジタル音声ビットストリームを取り扱う方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたDIALNORMメタデータおよび関連するダイナミック・レンジ圧縮メタデータを含み、ここで、メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、前記DIALNORMメタデータの値が前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにメタデータを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリーム中に存在するかどうかを決定する方法と、
前記メタデータ確認情報が存在する場合、それが前記DIALNORMメタデータの値が適正であることを確認するか否かを決定する方法と、
前記メタデータ確認情報が適正であると確認する場合、前記ビットストリームに変更を加えない方法と、
前記メタデータ確認情報が適正であると確認しない場合、前記DIALNORMメタデータの値を前記音声に対して適正となるように変更する方法と、
前記メタデータ確認情報が存在しない場合、前記DIALNORMメタデータの値および関連するダイナミック・レンジ圧縮メタデータを使用せずに前記ビットストリームをデコードし、デコードされた音声の音量を計測して計測されたDIALNORMの値を決定し、前記ビットストリームのDIALNORMメタデータの値と前記計測されたDIALNORMの値を比較することによって、前記音声に対して前記DIALNORMメタデータの値が適正であるか否かを決定する方法と、
前記ビットストリーム中の前記DIALNORMメタデータの値と前記計測されたDIALNORMメタデータの値の差が閾値の範囲内である場合、前記ビットストリームに変更を加えない方法と、
前記DIALNORMメタデータが閾値の範囲内でない場合、前記計測されたDIALNORMメタデータの値が有効なDIALNORMの値の範囲内であるか否かを決定する方法と、
前記計測された音量が有効なDIALNORMメタデータの値の範囲内である場合、新たなダイナミック・レンジ圧縮メタデータを決定し、前記計測されたDIALNORMメタデータの値と関連するダイナミック・レンジ圧縮メタデータ、および前記計測されたDIALNORMの値に対して適正なメタデータ確認情報を使用して前記ビットストリームをリパックする方法と、
前記計測された音量が有効なDIALNORMメタデータの値の範囲内でない場合、前記デコードされた音声の利得をかえて前記音量を有効なDIALNORMの値の範囲内になるようにして、新たなダイナミック・レンジ圧縮メタデータを決定し、前記利得が調整された音声、前記計測されたDIALNORMメタデータの値、および新たに決定されたダイナミック・レンジ圧縮メタデータを用いて前記ビットストリームを再エンコードする方法と
を含む方法。
【請求項２３】
デジタル音声ビットストリームを取り扱う方法であって、前記デジタル音声ビットストリームは、音声を表す複数のデータ・ビット、音声メタデータ、音声メタデータ確認情報を含み、前記音声メタデータ確認情報は前記音声メタデータのコピーまたはデータ圧縮されたコピーを含み、前記確認情報を前記メタデータおよびそのコピーの相互の差が閾値の範囲内であるかを検出するために使用することができ、範囲内になければ前記メタデータを前記コピーで置き換えるために使用することができ、
前記メタデータを変更する方法と、
前記メタデータと、前記メタデータの前記コピーまたはデータ圧縮されたコピーの相互の差が前記閾値の範囲内であるよう前記確認情報を変更する方法と
を含む方法。
【請求項２４】
デジタル音声ビットストリームをデコードする方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたメタデータを含み、ここで、前記メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、メタデータが前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにメタデータを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリームに存在するか否かを決定する方法と、
メタデータ確認情報が存在する場合、それが前記メタデータの少なくとも一部分が適正であることを確認する方法と、
前記情報が適正であると確認する場合、前記メタデータを用いて前記ビットストリームをデコードする方法と、
前記メタデータ確認情報が前記メタデータの前記のすくなとも一部分が適正であると確認しない場合、それを用いて前記メタデータを訂正し、前記訂正されたメタデータを用いて前記ビットストリームをデコードする方法と、
メタデータ確認情報が前記ビットストリームに存在しない場合、前記ビットストリーム中の前記メタデータを用いて前記ビットストリームをデコードし、またはメタデータの規定値を用いて前記ビットストリームをデコードする方法と
を含む方法。
【請求項２５】
デジタル音声ビットストリームをデコードする方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたメタデータを含み、ここで、前記メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、メタデータが前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにメタデータを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリームに存在するか否かを決定する方法と、
メタデータ確認情報が存在する場合、それが前記メタデータの少なくとも一部分が適正であることを確認するか否かを決定する方法と、
前記情報が適正であると確認する場合、前記メタデータを用いて前記ビットストリームをデコードする方法と、
前記メタデータ確認情報が前記メタデータの前記すくなくとも一部分が適正である確認しない場合、それを用いて前記メタデータを訂正し、前記訂正されたメタデータを用いて前記ビットストリームをデコードする方法と、
メタデータ確認情報が前記ビットストリームに存在しない場合、前記メタデータの前記の少なくとも一部が適正であるか否かを決定する方法と、
前記メタデータの前記の少なくとも一部が適正である場合、前記ビットストリームを前記のメタデータを用いてデコードする方法と、
前記メタデータの前記の少なくとも一部が適正でない場合、前記ビットストリームの前記の少なくとも一部分にデフォルトの値を設定してデコードする方法と
を含む方法。
【請求項２６】
デジタル音声ビットストリームをデコードする方法であって、前記音声ビットストリームは音声を表す複数のデータ・ビットおよび前記音声に対して適正であるように意図されたDIALNORMメタデータおよび関連するダイナミック・レンジ・メタデータを含み、ここで、前記メタデータの一部または全部が前記音声に対して適正ではなくてもよく、さらに前記音声ビットストリームは、前記DIALNORMメタデータが前記音声に対して適正であるか否かを検出するために使うことができ、適正でない場合には適正になるようにそれを変更するメタデータ確認情報を表す複数のデータ・ビットを含むことがあり、
前記メタデータ確認情報が前記ビットストリーム中に存在するかどうかを決定する方法と、
メタデータ確認情報が存在する場合、それが前記DIALNORMメタデータが適正であることを確認するか否かを決定する方法と、
前記情報が適正であると確認する場合、前記DIALNORMメタデータを用いてビットストリームをデコードする方法と、
前記メタデータ確認情報が前記DIALNORMメタデータを適正であると確認しない場合、前記メタデータ確認情報を用いて前記DIALNORMメタデータを訂正し、前記修正されたDIALNORMメタデータを用いて前記ビットストリームをデコードする方法と、
前記メタデータ確認情報が存在しない場合、前記DIALNORMメタデータの値および関連するダイナミック・レンジ圧縮メタデータを使用せずに前記ビットストリームをデコードし、前記デコードされた音声を計測し、計測されたDIALNORMの値を決定し、前記ビットストリームのDIALNORMメタデータの値と前記計測されたDIALNORMの値を比較することによって、前記DIALNORMメタデータの値が前記音声に対して適正であるか否かを決定する方法と、
前記ビットストリーム中の前記DIALNORMの値と前記計測されたDIALNORMの値の差が閾値の範囲内である場合、前記ビットストリーム中の前記DIALNORMメタデータと関連するダイナミック・レンジ圧縮メタデータを用いて前記ビットストリームをデコードする方法と、
前記ビットストリーム中の前記DIALNORMの値と前記計測されたDIALNORMの値の差が閾値の範囲内でない場合、前記DIALNORMメタデータの値を前記計測されたDIALNORMメタデータの値で訂正し、新たなダイナミック・レンジ圧縮メタデータを決定し、前記修正されたDIALNORMメタデータおよび前記新たなダイナミック・レンジ圧縮メタデータを用いて前記ビットストリームをデコードする方法と
を含む方法。
【請求項２７】
請求項１２ないし２６のいずれか１項に記載の方法を実行できるように設定された装置。
【請求項２８】
請求項１１ないし２６のいずれか１項に記載の方法を、コンピューターが実行できるようにコンピューターが読むことができる媒体に保存された、コンピューター・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声信号処理、特に、そのようなシステムに使用されるメタデータの確認および訂正に関連する。本発明は、Dolby  Digital(AC-3)、Dolby  Digital  Plus、Dolby  Eとして知られる音声符号化システムに対して特に有用である。Dolby  Digital(AC-3)、Dolby  Digital  Plus、Dolby  EはDolby  Laboratories  Licensing  Corporationの商標である。本発明の実施態様によっては、他の種類の音声符号化技術、例えばMPEG-4  AACに対しても使用することができる。
【背景技術】
【０００２】
Dolby  Digitalコード化技術の詳細は、
「ATSC  Standard  A52/A:  Digital  Audio  Compression  Standard(AC-3),  Revision  A」,  Advanced  Television  Systems  Committee,  20  Aug.  2001（A/52A  に関する文献はワールド・ワイド・ウェブ上のhttp://www.atsc.org/standards.htmlから入手できる。）、
Craig  C.  Todd他著「Flexible  Perceptual  Coding  for  Audio  Transmission  and  Storage」、96th  Convention  of  the  Audio  Engineering  Society  February
26,1994,  Preprint  3796、
Steve  Vernon著「Design  and  Implementation  of  AC-3  Coders」,  IEEE  Trans,  Consumer  Electronics,  Vol.41,  No.3,  August  1995、
Mark  Davis著「The  AC-3  Multichannel  Coder」,  Audio  Engineering  Society  Preprint  3774,  95th,  AES  Convention,  October,  1993、
Bosi他著「High  Quality,  Low-Rate  Audio  Transform  Coding  for  Transmission  and  Multimedia  Applications」,  Audio  Engineering  Society  Preprint  3365,  93rd  AES  Convention,  October,  1992、
米国特許第5,583,962号明細書、米国特許第5,632,005号明細書、米国特許第5,633,981号明細書、米国特許第5,727,119号明細書、米国特許第6,021,386号明細書に説明されている。
【０００３】
Dolby  Digital  Plusコード化の詳細は、「Introduction  to  Dolby  Digital  Plus,  an  Enhancement  to  the  Dolby  Digital  Coding  System」、AES  Convention  Paper  6196,  117th  AES  Convention,  October  28,  2004に説明されている。
【０００４】
Dolby  E符号化の詳細は、「Efficient  Bit  Allocation,  Quantization,  and  Coding  in  an  Audio  Distribution  System」,  AES  Preprint  5068,  107th  AES  Conference,  August  1999  及び「Professional  Audio  Coder  Optimized  for  Use  with  Video」,  AES  Preprint  5033,  107th  AES  Conference  August  1999に説明されている。
【０００５】
MPEG-2  AACコード化の詳細はISO/IEC  13818-7:1997(E)  「Information  Technology  −  Generic  coding  of  moving  pictures  and  associated  audio  information  −,  Part  7:  Advanced  Audio  Coding(AAC)」、International  Standard  Organization(April  1997)、Karlheinz  Brandenburg著「MP3  and  AAC  Explained」,  AES  107th  International  Conference  on  High  Quality  Audio  Coding,  August  1999、Bosi他著「ISO/IEC  MPEG-2  Advanced  Audio  Coding」,  AES  preprint  4382,  101st  AES  Convention,  October  1996に説明されている。
【０００６】
Dolby  エンコーダー、MPEG  エンコーダーなどを含む様々な知覚的コーダーの概説は、Karlheinz  Brandenburg、Marina  Bosi著「Overview  of  MPEG  Audio:  Current  and  Future  Standards  for  Low-Bit-Rate  Audio  Coding」,  J.Audio  Eng  Soc.,  Vol.  45,  No1/2,  Januarry/Feburary  1997に説明されている。
【０００７】
上記のすべての参考文献は、その全文をここに参照によって援用する。
【０００８】
本発明はAC-3において使用されることに限定されないが、便宜上AC-3システムの環境における場合について記述する。AC-3は、デジタルテレビ、DVDビデオ、DVDオーディオを含む適用事例での音声配信に使用されるデジタル音声データ圧縮システムである。AC-3のビットストリームは、音声コンテンツとメタデータという二つの主要な要素からなる。１ないし６のチャンネルの音声コンテンツは、知覚的音声コード化技術を用いて圧縮される。AC-3の様々なタイプのメタデータの中には、特にリスニング環境に配信された音響プログラムを変更するために設けられた音声メタデータ・パラメーターがいくつか存在している。これらを以下に述べる。
【０００９】
AC-3システムは、圧縮された音声データをバイナリ情報としてフレーム単位に分割してビットストリーム形式で配信する。各フレームにはデジタル音声の1536のサンプリング音に対応する音声情報とメタデータが含まれる。サンプリング・レートが48kHzであれば、これは32ミリ秒相当のデジタル音声を表し、また、音声1秒あたり32.25フレームに相当することを表す。各フレームに含まれるビット数は、配信されるチャンネル数、およびそれらのチャネルに適用されたデータ圧縮の総量に依存する。例えば、DVDビデオディスクでは、典型的には、6チャネルの音声が1秒あたり448,000ビット、あるいは1792バイト（バイトは8ビットである）のフレームで配信される。
【００１０】
各AC-3フレームは複数の部分に分けることができる。すなわち、
（１）同期情報(SI)：同期ワード（SW）、およびエラー訂正用の2ワード中の最初のワード(CRC1)を含む
（２）ビットストリーム情報(BSI)：メタデータの大半を含む
（３）６つの音声ブロック(AB0からAB5)：データ圧縮された音声コンテンツを含む
（４）空ビット(W)：音声コンテンツが圧縮された後に残された、使用されていない複数のビットの全てを含む
（５）予備(AUX)情報：その他のメタデータを含む
（６）エラー訂正用の２ワードの２番目のワード(CRC2)
である。これらは図９に示し、さらに以下に記述する。知覚的音声データ圧縮及び付属するメタデータを含むAC-3フレームは、前記のAC-3に関する参考文献と以下の図９の説明に詳細が記述されている。
【００１１】
すでに述べたように、AC-3には複数の音声メタデータ・パラメーターがあって、音声メタデータは、特に、リスニング環境に配信された音響プログラムを変化させるように意図されている。これらのメタデータのうちの３つ、すなわち、DIALNORM、COMPRとDYNRNGは、再生信号レベルとダイナミック・レンジに関連するものである。DIALNORMパラメーターは音声再生信号レベルに影響を与え、一方、関連するCOMPRとDYNRNGパラメーターは音声再生信号のダイナミック・レンジに影響を与えるものであって、これより後は時として「ダイナミック・レンジ圧縮」パラメーターとして参照される。デコードのモードによってはCOMPR及びDYNRNGパラメーターのいずれか一方がデコードの際に使用されることがあるが、いずれも使用されないこともあり、その一方で両者が同時に使用されることはない。DIALNORMは通常はユーザーによって設定され自動的に生成されることはないが、DIALNORMパラメーターがユーザーによって値が設定されない場合に備えてデフォルトの値がある。例えば、ユーザー、あるいは「コンテンツ・クリエーター」は、AC-3エンコーダー外部のプロセスまたは装置を用いて音量を測定して、その結果をエンコーダーに渡す。従って、DIALNORMパラメーターの値を適正に設定するのはユーザーに任されている。COMPRパラメーターとDYNRNGパラメーターは、DIALNORMパラメーターと関連するものの、通常は、ユーザーが設定したDIALNORMパラメーターの値とダイナミック・レンジ圧縮プロフィールの一つ（プロフィールがない場合もあり、その結果、DIALNORMが適用されて、完全なダイナミック・レンジが再生されるわけではない）からエンコーディング中に自動的に計算される。各プロフィールには、アタック・タイムとリリース・タイムの定数と、圧縮率を含む標準音声ダイナミック・レンジ圧縮パラメーター情報とを含む。リスニング環境における音に影響を与える他のメタデータ・パラメーターには、次のような複数の「ダウンミキシング」パラメーターが含まれる。すなわち、CLEV、CMIXLEV、SLEV、SURMIXLEV、MIXLEVEL、MIXLEVEL2である。このダウンミキシング・メタデータの情報によって、デコーダーはオリジナルの5.1チャンネルをより少ないチャンネル数、例えば１または２チャンネルに再構成することができる。
【００１２】
DIALNORMパラメーターを使用すれば、任意のAC-3ビットストリームをデコードするにあたって、音声による会話を均一に再生することができる。通常の会話の主観的な音量が参照として利用される。従って、再生システムの利得は、リスナーが望む会話のための再生音量レベルと、DIALNORMの値の関数で得られる。原理的には、DIALNORMの値は、（デジタル領域かあるいはアナログ領域での）デコード処理に続く時間領域で適用されて再生利得が調整されるのではあるが、通常は、AC-3デコーダーはデコーダー中のデジタル領域でDIALNORMの値を使用して利得を測定し、再生時の利得を調整する。
【００１３】
簡便に音声コンテンツ中の会話の音量を測定するツールは存在し（例えば、Dolby  LM100音量メーター）、AC-3は会話の音量を保持するメタデータを提供する（DIALNORMパラメーターを使用する）が、圧縮された音声のすべてをPCMにデコードした上で承認された測定技術を用いて音量を測定することなく、AC-3ビットストリームの中のDIALNORMが正しく設定され、真の会話の音量に合致しているか否かを確認する手段はない。このようなすべてをデコードするアプローチは、米国特許出願第10/884,177号明細書（2004年7月1日出願、Smithers他による「Method  for  Correcting  the  Playback  Loudness  and  Dynamic  Range  of  AC-3(Dolby  Digital)  Compressed  Audio  Information」）に記述されている。この出願の内容全体を参照によってここに援用する。
【００１４】
AC-3のDIALNORMパラメーターが適正ではなくなる理由は、異なるものが複数存在する。第１に、すでに述べたように、各AC-3エンコーダーはDIALNROMパラメーターのデフォルト値を持っていて、ビットストリーム作成の過程でコンテンツ・クリエーターよってDIALNORMパラメーターの値が与えられなかった場合には、そのデフォルト値が使用されることが挙げられる。このデフォルト値は、一般的には-27dBが選択され、実質上実際の音声の会話の音量とは異なっている。第2に、仮にコンテンツ・クリエーターが音量を測定しそれに従ってDIALNORMの値を設定したとしても、使われた音量測定アルゴリズムまたはメーターが推奨されるAC-3音量測定方式には準拠していなかったため、適正でないDIALNORMの値を使用してしまうことが挙げられる。第3に、AC-3ビットストリームのDIALNORMの値がコンテンツ・クリエーターによって適正に計測され設定されたとしても、そのビットストリームが転送されあるいは保存される過程で不適正な値に変更されてしまう場合が挙げられる。例えば、テレビ放送に対する適用事例では、AC-3ビットストリームをデコードし、変更し、不適正なDIALNORMメタデータ情報を用いて再エンコードすることは決して珍しくない。従って、AC-3ビットストリームには必ずDIALNORMの値が含まれているのであるが、その値が不適正あるいは不正確である可能性があり、リスニング経験の質に否定的な影響を与える可能性がある。
【００１５】
従って、AC-3ビットストリーム中のDIALNORM値がコンテンツ・クリエーターによって正しく設定され、配信及び転送の過程で変更されていないことを確認する手段が必要である。好ましくは、この確認のためにAC-3ビットストリームの標準的な構文を変更することなく、このビットストリームが既存のAC-3デコーダーと互換性を維持しなければならない（すなわち、下位互換性が維持されなければならない）。
【００１６】
追加的な背景技術
AC-3ビット・アロケーションおよび未使用のデータ・ビット
図９ｅに、簡略化されたAC-3エンコーダーのブロック・ダイアグラムを示す。PCM音声のサンプリング音は周波数領域変換機能902に入力される。50%のオーバーラップを持つ512点の修正離散コサイン変換(MDCT)が一般的に使用されるのは、入力データに窓かけをしてブロック・プロセス、エッヂ・アーティファクトを避けるためである。過渡信号の場合、時間的性能を改善する（トランジエント・プリノイズを減少する）ためには、512点での変換を行うのではなく、2つの256点変換で計算されるブロック・スイッチング技術を使用する。機能902からの変換係数は、各変換係数を指数部と仮数部の組に分割するブロック浮動小数点処理904に渡される。変換係数の仮数部は、ビット割当機能908によって割り当てられた可変長のビットとともに量子化される。このビット割当機能908はブロック浮動小数点指数部に対応するパラメーターによるビット割当モデルに基づいて動作する。
【００１７】
AC-3ビット割り当てモデルでは、心理音響的マスク原理を用いて、与えられた周波数帯域での各仮数部に割り当てられたビットの数を選択する。マスキングの程度によっては、指数部に必要なビット数はきわめて少ないか、全く不要である。このことによって、付加された（しかし聞き取れない）ノイズの代償の上で、原音を表すために必要なビット数を削減する。
【００１８】
他のコード化システムと異なり、AC-3はビット割り当ての結果を、圧縮された音声ビットストリーム中でデコーダーに対して渡さない。その代わりに、パラメーターによる手段がとられ、そこでは、音声エンコーダーは変換係数の指数部およびいくつかのキーとなる信号に依存しないパラメーターに基づいてマスキングモデルを構築する。これらのパラメーターはビット割り当て機能908からビット・パック機能910に渡され、さらにビットストリームを経由してデコーダーに渡される。これは、生のビット割り当ての値を転送する場合に比較して遙かに少ないビット数しか要求しない。コード化された音声ビットストリームを生成するビットストリーム・パック機能910は、指数部と量子化された仮数部を受け取って、ビットストリームに格納する。デコーダーでは、受け取った指数部とビット割り当てパラメーターに基づいてビット割り当てを再構築する。この処理はハイブリッド前方向／後方向適用ビット割当を構成する。
【００１９】
ソース・チャンネル数の増加に伴うAC-3のコード化の効率は、次の二つの主要な特徴によって改善される。すなわち、グローバル・ビット・プールおよび高周波数カップリングである。グローバル・ビット・プール技術によって、ビット・アロケーターが必要に応じて音声チャンネルに使用可能なビットを配分することができるようになる。ある特定の時刻において一つまたは複数のチャンネルが動作停止中の場合、そのほかのチャンネルは、そうでない場合に比べてより多いビット数の割当を受ける。
【００２０】
AC-3音声圧縮システムではビット割当プロセスは有限検索をする。検索の各反復では、信号対雑音（SNR）パラメーターは変化してビットの割当をコントロールする。このことは、他のパラメーターの値にも影響を及ぼす。検索が終了するとき、使用されているビットが割り当てられたビット数を上回っていれば、最後の適正な割当が使用される。しばしば、この割当はすべての使用可能なビットを使用することができる訳ではないのであるから、未使用または空のビットが残される。
【００２１】
すでに述べたように、AC-3シリアル・コード化音声ビットストリームは、図9ａに一般的に示したように構成されたフレームの連続体として作られる。各AC-3フレームは、すべてのコード化されたチャンネルの1536PCMサンプリング音にあたる一定の時間間隔を表し、６のコード化音声ブロック（AB0からAB5）を収容していて、各ブロックは256の新たなサンプリング音を表している。各AC-3フレームは固定長（64から1920ビットの範囲のビット数から選択される）であって、これは、PCMサンプリング・レート（32kHz、44.1kHz、または48kHz）およびコード化された音声のビットレート（32kbpsから640kbpsの間の不連続な値）に依存する。各フレームの先頭にある同期情報（SI）ヘッダーには同期をとりそれを維持するために必要な情報が含まれている。SIフィールドの次にビットストリーム情報（BSI）ヘッダーがあり、コード化音声サービスを記述するパラメーターが格納されている。SIおよびBSIフィールドはビットストリームの設定を記述するものであって、サンプリング・レートと、データ・レートと、コード化音声のチャンネル数と、そのほかのシステム・レベルの要素とを含む。コード化音声ブロック（AB0からAB5）に続いて、予備データ（AUX）フィールドがある。各フレームの終端部にはエラー・チェック・フィールドがあって、エラー検出のためのCRCワード（周期的冗長検査コード・ワード）を含む。さらに、他のもう一つのCRCワードがSIヘッダーにおかれている。
【００２２】
図９ａのビットストリームの要素の幅は、各要素の典型的なビット数を一般的には表しているが、図は縮尺通りではない。音声ブロックとAUXフィールドで割り当てられて使用されているビットの数は変化する。ブロックAB0が他のブロックに比較して広く表示されているのは、各フレームは原則として他のフレームから独立していて、AB1からAB5のブロックはAB0が持つ情報を共有して同じ情報を重複して持つことを避け、AB1からAB5のブロックがもつビット数を減らすことができるからである。共有の可能性はさておき、音声ブロックが可変長であるのは、各ブロックの量子化された仮数部に割り当てられるビット数が可変であるからである。
【００２３】
後に引用する米国特許第6,807,528号明細書で説明されているとおり、エンコーダーのビット割当機能が音声信号をエンコードするためにすべての使用可能なビットを利用するわけではない場合には、フレームには未使用のビットが存在する。このことが生じるのは、最終的なビット割当時に使用可能なビットの全てを使用したわけではない場合、または入力された音声が使用可能なビット全てを必要とするわけではない場合に生じる。これらの未使用のビットは、フレームが固定長になることが必要であるためにフレームの中の一定の場所におかれるのであるから、フレーム全体を満たすように、エンコーダーはダミーないし空のビットをビットストリームに挿入する。これらの空ビットは一または複数の音声ブロック（図９ｄに示す）のスキップ・フィールドないしAUXフィールドに挿入される。各スキップ・フィールドの空ビットは８ビットの長さのバイト形式で書き込まれるが、auxフィールドには最大7ビットまで書き込むことができ、フレーム長の微調整をして、フレームの最後の16ビットが最後のCRCワードとなることを保証する。現実には、空ビットの内容はランダムである。このような空ビットは役に立たないビットであって、有用な情報は含まれていない。本発明の実施態様では、ビットストリームに含まれるAC-3パラメーターのいくつかの情報を持つ空ビットの一部または全部の値を使用することである（特に図９ｃに示すDIALNORMパラメーター）。
【００２４】
デコーダーは、スキップ・フィールドおよびAUXフィールドの空ビットを読み飛ばし、または無視する。AC-3デコーダーは空ビットを認識しそれを無視することができるのであるが、ビットストリーム中の空ビットの数およびその位置はア・プリオリにはわからない（その数および位置はフレームによって変化する。すなわち、スキップ・フィールドの長さは可変長であって、AB1ないしAB5での開始点も変わり、同様にAUXフィールドもまた、可変長であって開始点も変わる）上に、その数および位置はAC-3ビットストリームの検査だけでは識別できない（空ビットの内容はランダムであって、ビットストリーム中の他のデータとは区別ができない）。
【００２５】
各音声ブロック（AB0ないしAB5）はビットストリームの複数の要素から作られる「固定データ」によって開始し、そのワードの大きさ（ビット長）はア・プリオリにわかる（すなわち、固定データ要素はあらかじめ与えられたビット数であって、ビット割当に従って与えられたものではない）。固定データはパラメーターおよびフラグを集めたものであって、ブロック・スイッチ・フラグと、カップリング情報と、指数部と、ビット割当パラメーターとが含まれる。固定データの次に「スキップ・フィールド」データがあり、スキップ・フィールドの大きさは、スキップ・フィールドに空ビットがない場合には最小の大きさである１ビットとなり、空ビットがある場合には最大で５２２ビットとなる。スキップ・フィールドの最小の内容である１ビットのワードは、スキップ・フィールドに空ビットが含まれているかどうかを表す。もし含むのであれば、次に、９ビットのワードが空ビットのバイト数を表す。これに続いて空バイトがおかれる。スキップの次に指数部データがおかれる。指数部データの大きさは可変であって、ビット割当によって決定される。
【００２６】
空ビットを有するスキップ・フィールドが、ある特定の音声ブロックに存在するか否かは次のルールに従って決定される。１）SYNCINFOフィールド（すなわち、SYNCWORD、はじめのCRCワード、サンプリング周波数コード化ワード、およびフレーム長コード化ワード）、BSIフィールド、音声ブロック０（AB0）、および音声ブロック１（AB1）の合計の大きさが、フレームの８分の５を上回らない。２）音声ブロック５（AB5）の仮数部データ、AUXデータ・フィールド、およびエラー・チェック・フィールドがの合計の大きさが、そのフレームの最後の８分の３を上回らない。この5/8および3/8の配置は、レイテンシーを減少させるために用いられる（はじめのCRCワードは、そのフレームのはじめの８分の５に適用されて、デコードを高速化する）。原理上は、5/8および3/8の配置がなければ、１または複数のスキップ・フィールドを使う必要はなく、全ての空ビットをAUXフィールドに挿入することができる。
【００２７】
AUXデータ・フィールドには２種の機能がある。AUXデータ・フィールド機能の１は、すでに述べたように、フレーム長を微調整して、そのフレームの最後の16ビットが第二のCRCワードとして使われることを保証することである。最大で7ビットの空ビットがAUXフィールドに挿入される。AUXフィールドの第2の機能は任意的であって第一の機能と独立であるが、この機能がなければ音声ブロックの指数部に割り当てられるべき付加的な情報（「予備データ」）を、複数のビットを使用して運ぶことである。AUXデータ・フィールドの最後のビットは任意的な予備的データが存在するか否かを示している。そのビットが任意的なデータが存在すると示している場合、先行する14bit長のワードは予備的データの長さを表し、次に先行する複数のビットが予備的データである。空ビットがあるとすれば、AUXフィールドの予備的データに次々に先行する。予備的フィールドに予備的データがない場合、空ビットがあれば、AUXデータ・フィールドの終端部の１のビットに先行しておかれ、予備的データが存在するか否かを示す。従って、予備的データの有無に拘らず、AUXフィールドに空ビットがある場合もあり得るし、ない場合もあり得る。未使用ビットがない場合（未使用ビットが与えられたフレームに存在していない可能性があるが、連続するフレームを通じてこのことが発生する可能性はきわめて少ない）、または空ビットの数が８で整除でき、その結果として全ての空ビットが１または複数のスキップ・フィールドに格納できる場合、AUXフィールドには空ビットは存在しない。
【００２８】
標準的なAC-3コード化の配置では、AUXフィールドないしAUXフィールドおよび１または複数のスキップ・フィールドの空ビットは、使われていないか、捨てビットである（すなわち、何ら有用な情報を格納していない）。本発明の実施態様に従えば、すでに述べたように、この未使用のビットの一部または全部は情報を持つメタデータ確認ビットに置き換えられ、同時に、既存のAC-3エンコーダーおよびデコーダーとの互換性を完全に維持し、音声信号の劣化をもたらさない。
【００２９】
新たな情報を持つビットは、好ましくは、既知のまたは予め決定されたフォーマットまたは文法に準拠していて、メタデータ・パラメーター（たとえば、DIALNORM）確認デコーダー・プロセスによって正常な状態に回復することができる。捨てビットをメタデータ（DIALNORM）確認ビットで置き換えるのは、任意の適正なAC-3エンコーダーがAC-3ビットストリームを作成した後に行われる。たとえば、伝統的で修正を受けていないAC-3エンコーダーを用いて、標準的なAC-3ビットストリームを生成することができる。生成されたビットストリームは、分析をうけて各フレーム内の未使用のビットの一部または全部の位置が識別される。識別された未使用のビットの一部または全部は、元は未使用のビットがあった場所に情報を持つビット（DIALNORM確認データ・ビット）を埋め込むことによって置き換えられる。データの一部は変更を受けている（空ビットの一部または全部が変更を受けている）のであるから、そのフレーム全体に対するチェックサムは再計算され、そのフレーム全体に適用されるCRCワードは新たなCRCワードに置き換えられる。フレームのはじめの3/8が変更された場合、そのフレームのその部分に適用されるチェックサムが再計算され、そのフレームのはじめの3/8に適用されるはじめのCRCワードが新たなCRCワードで置き換えられる。
【００３０】
あるいは、標準的なエンコードを行った上でAC-3ビットストリーム中の未使用のビットの一部または全部を情報をもつビットに置き換える方法にかえて、付加的な分析およびメタデータ確認能力を有する修正されたAC-3エンコーダーを用いて、エンコード処理中に、ランダムなビットではなく、情報を持つビットをフレームの未使用のビットの領域の一部または全部の挿入することもできる。
【００３１】
AC-3ビットストリームの修正がエンコード処理の前であっても後であったとしても、結果として生成される修正されたビットストリームは、伝統的なAC-3デコーダーにとっては同じである。修正されたビットストリームを受け取った修正を受けていないAC-3デコーダーは情報を持つビットを無視するのであって、これは、修正を受けていないAC-3デコーダーが同じ領域にある空ビットを無視しあるいはスキップするのと同様である。未使用のビットに置き換えられた情報伝達ビットは、修正されたAC-3デコーダー、または、フレーム中の未使用のビットの位置を識別し、未使用のビットの位置のデータを検出し、AC-3ビットストリーム上で行われたメタデータ確認分析の結果を報告する特別なAC-3メタデータ分析プロセスのいずれかの過程で、修復されうる。いずれの場合でも、AC-3ビットストリームの未使用のビットを置き換えた確認データの修復および分析は、ビットストリームの残部を攪乱しない。従って、本発明の実施態様は音声の品質を次の２の手段によって維持する。すなわち、他の方法によって音声のために使用されているビットを使用しないという点と、ビットストリームのデコードと再エンコードをする必要を避けている（すでに述べたように、このことは必要かつ有用である）という点である。
【００３２】
AC-3会話音量および圧縮メタデータ・パラメーター
すでに述べたように、AC-3フレームに含まれているメタデータの中に、圧縮された音声に含まれているスピーチまたは会話の音量を表すパラメーターがある。このパラメーターはDIALNORMと呼ばれ、このパラメーターの目的は、ある音声アイテムがエンコードされ、ないしデータ圧縮される前に、そのアイテムの会話ないしスピーチの主たる音量を測定することである。この測定結果は、圧縮された音声アイテムを含むビットストリームの各フレームのDIALNORMパラメーターとしてセットされる。ビットストリームの再生中、AC-3デコーダーはDIALNORMパラメーターを使用して、再生音量またはそのアイテムの音量を変更し、会話の音量の知覚レベルを一定に保つ。
【００３３】
図１０ａは、３の異なる音声アイテムを含む例を示している。「デジタル・レベル」はデジタル・フルスケール・サイン波（0dB  FS）に比較した、圧縮された音声コンテンツのデータの音量である。図中に各アイテムの音量の最大値と最小値を、会話の主たる音量とともに示す。各アイテムのDIALNORMパラメーターは、会話の音量であって、1dB単位に丸められている。図１０ｂは、再生時に、デコーダーがどのように各アイテムの音量を縮小あるいは拡大させ、各アイテムの会話の音量または音の強さを同じか、きわめて近いものにするかを示している。このAC-3システムでは、各アイテムの縮小あるは拡大するための基準音量は-31dB  FSである。この基準デジタル音量は、希望する音圧レベルになるように再生システム中で調整することもできる。
【００３４】
AC-3中のDIALNORMパラメーターを使用することによって、異なったリスニング環境で異なった目的のために異なった人々が作成した異なった音声アイテムの間に存在する、劇的な音量の差を減少させて、リスナーがより一定で予測可能な状態で聞くことができるようにできる。しかしながら、DIALNORMパラメーターはすでに述べたような理由によって、正しくない可能性がある。
【００３５】
ダイナミック・レンジ圧縮
AC-3フレームにも含まれているメタデータの中に、再生中に音声に適用された場合、音声コンテンツのダイナミック・レンジを減少させる役割を担うパラメーターもある。これは、音声の音量の大きい部分を静かに変え、静かな部分をより大きく変えるものでる。これらのダイナミック・レンジ圧縮パラメーターはCOMPRおよびDYNRNGと呼ばれ、AC-3ビットストリームをエンコードする過程で、自動的に計算される。図９を参照のこと。
【００３６】
音声のダイナミック・レンジを減少させる能力は、様々な場面で有用である。たとえば、夜に映画を見るときには、寝ている家族や近隣の居住者の睡眠を妨害しないために、小さな音量で聞く必要があることがしばしばある。映画ではきわめて大きいダイナミック・レンジが使われる傾向にあるから、小さな音量で再生すると、映画の大部分は音量が小さすぎて聞き取れないことになる。ダイナミック・レンジ圧縮を使用すれば、静かな部分の音量を上げて聞き取れるようにし、音量の大きい部分の音量を下げてはた迷惑にならないようにできる。
【００３７】
ダイナミック・レンジ圧縮パラメーターは、DIALNORMパラメーターで示す会話の音量に基づいて計算される。このとき、会話の音量の平均レベルは変化させずに、音声アイテムの音量の多い部分と小さい部分のみを変化させる。
【００３８】
図１２は、３の異なった音声アイテムが含まれた例を示している。図１２ａは、処理されていない音声アイテムの、会話の音量の平均値とダイナミック・レンジを示している。図１２ｂは、再生中にダイナミック・レンジ圧縮とDIALNORMパラメーターを適用して、３のアイテム全てにわたって、会話の音量の平均を一定にし、出力信号のダイナミック・レンジを減少させた様子を示している。
【００３９】
ダイナミック・レンジ圧縮パラメーター会話音量に関して計算されるのであるから、コンテンツ・クリエーターがDIALNORMパラメーターを正しく計測し設定していることを信頼することになる。DIALNORMパラメーターで示された会話の音量と、音声コンテンツ中の会話の真の音量の間に誤差があれば、圧縮することによって、会話は希望されないが聞くことができる動的利得の変化を示す。
【００４０】
DIALNORM2、COMPR2、およびDYNRNG2
大半の環境では、AC-3システムは全てのチャンネルに対して、単独の会話音量と、ダイナミック・レンジ情報パラメーターの単独のセットのみを使用する。しかしながら、AC-3には２のチャンネルに対して独立に操作できるモードが含まれている。すなわち、各チャンネルは独立した会話の音量とダイナミック・レンジの情報を持っているのである。このモードでは、２のチャンネルの2番目はDIALNORM2、COMPR2、およびDYNRNG2パラメーターを使用する（図９参照）。DIALNORM2、COMPR2、およびDYNRNG2はDIALNORM、COMPR、およびDYNRNGと全く同じ方法で解釈され使用されるのであるから、後者の働きについてはこの文書で記述されている。
【発明の開示】
【００４１】
本発明は多くの実施態様を持ち、それらは全て音声メタデータ確認情報を含む。これらの実施態様の一部は、
（１）正しいメタデータおよび前記メタデータの少なくとも一部の正確さを確認するための情報をもつ、コード化された音声ビットストリーム、
（２）正しいメタデータおよび前記メタデータの少なくとも一部の正確さを確認するための情報をもつ、コード化された音声ビットストリームを生成する方法または装置、
（３）正しいメタデータおよび前記メタデータの少なくとも一部分の正確さを確認するための情報を、コード化された音声ビットストリームが有することを保証する方法または装置、
（４）メタデータの全体が正しいか否かにかかわらず、コード化された音声ビットストリームをデコードし、正しいメタデータを生成して置き換え、もし前記メタデータの少なくとも一部の正確さを確認する情報が存在すれば、それを考慮に入れる方法または装置
を含む。
【００４２】
本発明の他の実施態様は、特許請求の範囲および発明の詳細な説明、図に記述されている。
【００４３】
音声メタデータ確認情報は、ビット・エラー検出もしくは訂正の機能を有しないことに注意しなければならない。確認情報を持つビットストリームは、通常何らかの種類のビット・エラー検出もしくは訂正情報、例えばCRCコード・ワードのような情報が、AC-3ビットストリーム中にある。本発明の実施態様では、メタデータが正しくないことがあり、これは、例えば、メタデータが当初から適切に設定されていない、または、仮に当初は適切に設定されていたとしても、人間の介入その他の事情によって、転送中あるいは保存中にメタデータが変更されるからであって、転送中あるいは保存中にビット・エラーが生じるからではない。実際の所、音声メタデータ確認情報はビット・エラーの検出や訂正の目的で使用されるのではなく、メタデータが正しくない場合にそれを正しい値に変更する目的に使用される。ビット・エラー訂正機能は単にメタデータ中のビット・エラーを訂正するだけであって、ビット・エラーが無い場合には情報を不適正なままに放置する。言い換えれば、音声メタデータ確認情報はメタデータを表すビットの基礎となる情報の正確さに関連するものであって、ビット自体の正確さに関連するものではない。
【００４４】
ここで記述される本発明の実施態様の例では、コード化された音声ビットストリームはDolby  Digital(AC-3)コード化ビットストリームであり、メタデータの組はDIALNORMおよびそれに関連するダイナミック・レンジ・コントロール・メタデータであり、確認情報は正しいDIALNORMメタデータに関連するのであるが、本発明の実施態様は、他の音声コード化システム及びそれらのコード化システムのビットストリーム中の他のメタデータに適用することができる。本発明の実施態様が有用である他の音声コード化システムとしては、例えば、Dolby  Eシステム及びMPEG-4  AACシステムがある。Dolby  Digitalでは、メタデータはDIALNORMおよび関連するダイナミック・レンジ・コントロール・メタデータに加え、ないしこれらにかえて、ダウンミキシング・メタデータであってもよい（これらの場合、確認情報は、前記ダウンミキシング・メタデータにもまた関連し、ないし、かわりに前記ダウンミキシング・メタデータに関連する）。
【００４５】
確認情報は、既存のあるいはレガシーな方法及びデバイスに対してビットストリームが下位互換を保ったままコード化された音声ビットストリームの中で伝達されうる。ここで記述される本発明の実施態様の例では、確認情報はすでに述べたAC-3の空ビットの中で伝達される。この空ビットは、他に有用な情報を伝達することはなく、通常は標準的なAC-3デコーダーによって無視されるものである。他の音声コード化システムも使うことのできる「空」ビットまたは同様のビットを有することがあって（「ヌル」ビット、あるいは「フィル」ビットなどと呼ばれる事もある）、通常は標準的なデコーダーによって無視される。例えば、MPEG-4  AACのData  Stream  Elementやユーザーが定義するデータ・セクションのような付加的なデータ・フィールドである。しかしながら、ある種のコード化システムではこれらのビットは、コード／デコードの操作によっては破壊されず、これは、本発明がAC-3コード化システムに具体化された時には有用な特徴となる。コード化されたビットストリームの「空」ビットあるいはそれに類似するビットによってデータを伝達する技術は、米国特許第6,807,528(B1)号明細書（Truman他による「Adding  Data  to  a  Compressed  Data  Frame」）によって開示され、その特許はその全てを参照によってここに援用する。
【００４６】
確認情報は「隠された」形でコード化音声ビットストリームの中にいれて伝達することもできる。例えば、空ビット中の確認情報を暗号化して伝達することもできる。確認情報を隠すことによって、誰かがコード化ビットストリームのDIALNORMの値を故意的に変更しようとしても、確認情報を変更することが難しくなり、あるいは、変更することができなくなるという利点がある。
【００４７】
全てのAC-3フレームに付加的な情報を入れるのに十分な未使用のデータ・ビットがあるわけではないが、DIALNORMの値がプログラム全体を通して一定であれば、このことは問題ではない。少なくともいくつかのAC-3フレームに確認データを入れるのに十分な未使用のデータ・ビットがあれば十分である。
【００４８】
他の手段として、確認情報を空ビットに埋め込んでコード化するのではなく、電子迷彩技術を用いてビットストリームにコード化することもできる。この電子迷彩技術は、例えば、米国特許出願第10/344,388号明細書（2001年8月15日出願(PCT)、Watson他による「Modulating  One  or  More  Parameters  of  an  Audio  or  Video  Perceptual  Coding  System  in  Response  to  Supplemental  Information」、米国特許出願公開第2004/0024588（A1）号として2004年2月5日に公開されたもの）に記載されている。その出願はその全てを参照によってここに援用する。電子迷彩技術によるコード化は、下位互換性を維持したままデータを隠す事ができるという利点がある。しかしながら、そのビットストリームをデコードして再エンコードした場合には、確認情報を消さずあるいは初期化しない可能性があるという点が不都合な点である。
【００４９】
確認データは、最も単純な形態では、正しいDIALNORMの値を（適切なフレーミングもしくは同期データ及び識別データと同時に）コピーしたものである。AC-3ビットストリームの未使用のビットは通常はnullまたは任意の値に設定されているから、AC-3ビットストリームの未使用ビットがDIALNORM確認データのフォーマットに合致する可能性はほとんどない。同様に、よくあることであるが、コード化されたAC-3プログラム毎にただ一つの定数のDIALNORMの値が使用されれば、未使用のデータ・ビットに格納されているDIALNORM確認情報は、同様に定数であって固定の値である。そのような場合、一連の複数のAC-3フレームのDIALNORM確認データを調べることによって、未使用のデータ・ビットを確認データ用のビットと誤認する可能性を減少させることができる。
【００５０】
DIALNORM測定、メタデータ生成、及び確認データ挿入が、AC-3ビットストリームに対して、リアルタイムかつ連続的に行われれば、プログラム全体を通じて一定のDIALNORMの値とはならない可能性がある。この場合、一連のAC-3フレーム（様々なDIALNORMメタデータの値を持っている可能性がある）を解析し、未使用のデータ・ビットに置かれているDIALNORM確認フィールド（もしあれば）が前記DIALNORMの値と合致するかを調べることによって、確認を行うことができる。未使用のデータ・フィールドのランダムなデータがDIALNORMパラメーターの値と合致する可能性を減少させるためには、合致するDIALNORMとDIALNORM確認データ・フィールドが最低限度いくつか必要である。
【００５１】
本発明の別の実施態様では、好ましくは、認証された方法、もしくは装置のみが、DIALNORM確認データをAC-3ビットストリームに書き込むことを許容される。こうすることによって確認データの正しさを確保することができる。したがって、すでに述べた理由によってDIALNORMメタデータ・パラメーターの値の適正が保証されないとしても、DIALNORM確認データが正確であるとして使用することができる。
【００５２】
さらに、適正なDIALNORMパラメーターが破損していくという問題点は、DIALNORM確認データがAC-3ビットストリームの他の未使用データ・ビットに置かれることによって、防止できる。適正な確認データを持つAC-3ビットストリームがデコードされて再エンコードされた場合、仮に同じAC-3  DIALNORMメタデータの値が使われたとしても、再エンコードの結果、DIALNORM確認データを書き換えた未使用のデータ・ビットが正しいままであることはほとんどあり得ない。すなわち、確認データをもつAC-3ビットストリームを再び処理すれば、確認データを「初期化」することを意味する（ただし、以下に述べるように、音量測定機能および確認機能をもつ認証されたAC-3エンコーダーを再処理に使用しない場合である）。
【００５３】
本発明のこれらの実施態様および他の実施態様は、以下に示す本発明を実施する態様を読んで理解すれば、さらによく理解できる。
【発明を実施するための最良の形態】
【００５４】
正しいDIALNORMを持ち、合致する確認データをもつAC-3ビットストリームの生成
本発明のこの実施態様は、正しいDIALNORMパラメーターの値をもち、かつ、合致するDIALNORM確認データをもつAC-3ビットストリームを生成することに関連する。
【００５５】
図１は、二つの要素、すなわち、修正されたAC-3エンコード機能ないし修正されたAC-3エンコーダー（「修正されたAC-3エンコード」）102、および会話音量測定機能ないし会話音量測定器（「会話音量測定」）104を持つ処理100を示している。PCM音声101は修正されたAC-3エンコード102および会話音量測定104の双方に適用される。修正されたAC-3エンコードは、DIALNORM確認データを受け取り、AC-3ビットストリームの中にすでに述べた適切な方法で挿入する機能を有している点を除いて、標準的なAC-3エンコーダーないしエンコード機能であってもよい。修正されたAC-3エンコードは、DIALNORM確認データを有する下位互換性のあるAC-3ビットストリームを出力する機能を有している。会話音量測定104は入力されたPCMを分析し、正しいDIALNORMの値を計算し、（103を経由して）修正されたAC-3エンコード102に送る。
【００５６】
通常のAC-3エンコードでは、使用することのできる未使用データ・ビットの数は、音声の複雑さに直接関連する（すなわち、目的のビットレートで音声をエンコードする際に音声がどの程度複雑かということ）。AC-3音声フレーム毎に使用できるビット数は固定されているため、コード化するに際して音声が複雑であればあるほど、音質のレベルを維持するのに多くのビットが必要となり、従って、コード化プロセスで使用されず、DIALNORM確認データを保持するために使うことのできるビットの数が減るのである。音声信号がコード化にあたってより単純であれば、DIALNORM確認データを格納できる未使用のデータ・ビットの数が増える。従って、修正されたAC-3エンコーダーに対する、任意的ではあるが有用な修正は、エンコードの過程でエンコードプロセスが使用しないデータ・ビットの最小限の数を指定できる機能を付加することである。DIALNORM確認データを伝達するのに必要な少数のビット数が与えられれば（以下に述べるように）、意図的に未使用データ・ビットを留保していても、コード化された音声信号の音質に対する影響は極めて小さいか、あるいは全くない。
【００５７】
会話音量測定104
会話の音量の測定は、主として会話が含まれている音声コンテンツのセグメントを分離するはじめの処理によって行われる。この方法は、米国特許出願第10/233,073号明細書（Vinton他による「Controlling  Loudness  of  Speech  in  Signals  That  Contain  Speech  and  Other  Type  of  Audio  Information」、米国特許出願公開第2004/0044525（A1）号として3月4日に公開されたもの）に記述されており、この特許出願はその全てを参照して援用する。しかしながら、他の方法を使用することもできる。主として会話である音声セグメントは、続いて音量測定アルゴリズムに渡される。AC-3では、このアルゴリズムは標準的なA特性周波数重み付け音量測定方式である。標準的なＢないしＣ特性周波数重み付けによる音量測定方式または心理音響的なモデルに基づく音量測定方式であってもよい。音量測定は音響デジタル・フルスケール正弦波（0dBフルスケール）と比較することによって計算される。
【００５８】
会話セグメントを分離することは不可欠ではないが、そのことによって測定の精度が向上し、リスナーの立場から見て満足できる結果をもたらす。全ての音響コンテンツが会話を含むわけではないから、音響コンテンツ全体の音量を測定すれば、仮に会話があったとした場合の会話音量の十分な概算を得ることができる。
【００５９】
仮に、この方法が有限の長さのビットストームではなく、連続的なビットストリームに対して適用された場合、この測定は連続的に更新され、たとえば最後の数秒間のみの会話の音量を表す。もし、この方法が予め保存されていて、有限の長さのビットストリームに対して行われた場合（例えば、ハードディスクに保存された音声ファイルである場合）、プログラム全体が分析されて、単一のDIALNORMの値が計算される。
【００６０】
修正されたAC-3エンコード102
入力音声PCMは、算出されたDIALNORMの値を使用する修正されたAC-3エンコードを用いてエンコードされ、ビットストリームにDIALNORM及び関連するダイナミック・レンジ圧縮メタデータ・パラメーターがセットされる。すでに述べたように、付加的な音量測定機能またはデバイス104がDIALNORMパラメーターの値を明確かつ適正に測定し、エンコーダーにその値を渡してビットストリームに挿入させる点をのぞいて、修正されたAC-3エンコードは通常のAC-3エンコードと同じであってもよい。同時に、修正されたエンコーダーはDIALNORM確認データを生成して、AC-3の他の未使用のデータ・ビットに挿入する。なぜなら、この例では、認証されたDIALNORM測定プロセスが客観的な測定を行ったからである。好ましくは、修正されたAC-3エンコード102によって生成されたAC-3ビットストリームは、前述の文書A/52Aに定義されたAC-3ビットストリームの規格に適合し、既存のAC-3デコーダーと後方互換性がある。
【００６１】
修正されたAC-3エンコードが未使用データ・ビットの最小限の数を指定できる能力も有しているのであれば、音声コーディングに使用できるAC-3のフレームあたりのビットの総数の値を変更するように実装することによって、このことは達成できる。例えば、AC-3エンコーディング・プロセスで使用できるAC-3フレームあたりのビット数が通常はN_TOTLAL_ENCODE_BITSであって、少なくともN_TOTAL_VERIFICATION_BITSあることが期待されている場合、新たな使用可能なエンコーディング・ビット総数は(N_TOTLAL_ENCODE_BITS  −  N_TOTAL_VERIFICATION_BITS)であり、音響コード化プロセスは通常通り処理を続ける。
【００６２】
DIALNORM確認データのフォーマット
DIALNORM確認データを簡単に識別でき、デコードすることなくAC-3ビットストリームから読み取ることができるように、データのフォーマットが予め定義されていることが有用である。図２が示しているのは、DIALNORM確認データを格納するのに適切な形式をバイト単位に並べて表したフォーマットであって、このフォーマットによってデコードされていないAC-3ビットストリームからデータを発見し読み出すことが簡単になる（リアルタイムAC-3ビットストリームであっても、デジタル・ファイルの形式で格納されたAC-3ビットストリームであっても同じである）。このフォーマットが重要な意味を持つわけではなく、他のフォーマットであっても構わない。図２に示すとおり、DIALNORM確認データのフォーマットの例は複数の連続したバイトを含む。はじめのバイトは、予め定義されたDIALNORM確認ヘッダー・バイトである。このヘッダー・バイトは任意の値で構わないが、他のAC-3ビットストリームでは未使用データ・ビットはゼロに初期化されている事があるので、ゼロ以外の値であることが好ましい(全く同じというわけではないが、AC-3  SYNCWORDも同様である)。この例で、DIALNORM確認ヘッダーに続いて、複数のデータ・バイトがDIALNORM確認データおよび付加的かつ任意的なデータ用に使用される。標準的なAC-3  DIALNORMの値は5ビットから構成されるので、1バイトのデータには3ビットの付加的なビットがあり、2バイトのデータには11ビットの付加的なビットがある。図２の例では２バイトのDIALNORM確認データが使用されている様子を示している。これらのバイトは、使用された音量アルゴリズムのタイプやバージョン、ないし他の情報を格納することができる。図２で示される最後のバイトは巡回冗長検査(CRC)用のデータ・バイトであって、DIALNORM確認ヘッダー及びデータ・バイトを用いて計算される。このバイトを使うことによって、AC-3ビットストリーム（適正なDIALNORM確認ヘッダー・バイト、２の中間にあるデータ・バイト、およびCRCバイトからなるバイトの連続体から構成される）中の未使用のデータ・ビットが４バイトごとのCRCチェックをパスする可能性を大幅に減少させることができる。
【００６３】
すでに述べたように、修正されたAC-3エンコーダーが十分な未使用のデータ・ビットを予定していてDAILNORM確認データを格納することができる場合、図２に示された構造体を前提として、各1792バイトのAC-3データフレーム毎に4バイトないし32ビットが必要になるだけであり、全データの0.2%に相当するに過ぎない。
【００６４】
AC-3ビットストリームが適正なDIALNORMと適合的な確認データをもつことの保証
本発明の他の実施態様は、AC-3ビットストリーム中のDIALNORMの値が適正で、ビットストリームが適合的なDIALNORM確認情報を持つことを保証するものである。本発明のこの実施態様は、図4の典型的なフローチャートの形式で説明されている。以下に説明するように、図4の処理の全体を使用してもよいし、図4の処理の一部を使用してもよい。この処理の手続を使用する処理又は装置は、例えば、コンテンツ・クリエーターによってビットストリームが作成された後、ビットストリームをリスナーに対して最終的にデコードする前の、ビットストリームを転送又は保存する過程で使用される場合に有用である。図4の各処理またはその一部は、一つ又は複数のプロセスの一部をあらわし、又は一つ又は複数の装置の中で実行される機能であると理解されなければならない。
【００６５】
図４の各処理は、有限の長さの音響アイテムを表すビットストリームに対して実行されることもある。例えば、デジタルの形式でファイル・サーバー又はその他に格納されたテレビの番組または広告の一部を構成する音響アイテムなどである。ここで使われた「音響アイテム」とは、音響情報の連続的な構成要素であって、例えば、30秒間のテレビ広告や映画全体などである。しかしながら、図4の各処理は、例えばテレビ放送局やテレビ・チャンネルの音響を表す連続的なAC-3ビットストリームのような、連続的でリアルタイムのAC-3フレームのビットストリームを計測し更新する場合にも使用することができる。
【００６６】
既存のDIALNORM確認データのテスト（図４のステップ401および図3）
図４で、はじめに実行されるステップ(ステップ401)は、エンコードされたAC-3ビットストリーム中にAC-3  DIALNORM確認データが存在するか否かを決定するステップである。図3が示すのは、このチェックを行う場合を典型的なフローチャートの形式で示したものである。図3に示すとおり、入力はAC-3音響ビットストリームであり、フレームごとに順次処理される。AC-3フレームの中の未使用のデータ・ビットの位置は分かっているので、フレームまたはビットストリーム全体の網羅的な検索を行う必要はなく、未使用のビットの領域の先頭から検索を始めればよい。DIALNORM確認データは連続したデータのバイトから構成されるのであるが、このデータは他のAC-3フレーム・データと適合的であってもよいし、そうでなくてもよい。従って、図3の処理のはじめのステップ（ステップ301）「ビットストリームからデータを読む」は、データをビットずつ読み込み、読み込んだ各ビットから連続したバイトを組み立てる必要がある。
【００６７】
図3の例のステップ303で、AC-3フレームから読み込んだデータの各バイトを予め定義されたDIALNORM確認ヘッダー・バイトと比較する。もしバイトが合致しなければ、さらにデータを読み込んで、バイトの比較を行う。もし、バイトの値がヘッダーの値と合致すれば、合致したバイトに続くデータの連続したバイトを読み込む。ステップ302で判断された結果、確認ヘッダー・バイトに合致するバイトがAC-3フレームの終端に近づけば、それに続く3バイトのデータは有効ではなく、データの検索は終了する。ステップ304で、その（図2に示した合致する確認ヘッダーデータを含む）4バイトを用いて、CRCチェックを計算する。CRCチェックをパスすれば（ステップ305）、DIALNORM確認データが存在し、以下の記述するように、DIALNORM確認情報がデータ・バイトから読み出される。
【００６８】
DIALNORM確認データがAC-3  DIALNORMデータに合致するか否かのテスト（402）
図４のステップ４０１に示すように、DIALNORM確認データがある場合には（ステップ401のYES側の出力）、次のステップであるステップ402は、確認データがAC-3  DIALNORMの値に合致するか否かを決定する。ずっと後方で述べるが、図９に示すように、DIALNORMデータの位置とフォーマットは分かっていて、AC-3ビットストリームから簡単に読み出すことができる。通常のDIALNORMと確認用のDIALNORMの値が合致するか否かを決定するテストは単純な数値比較である。もしその値が合致すれば、通常のDIALNORMの値は正しく、さらに分析や処理をする必要でない。十分に「合致」したと考えることのできる値は、その二つの値の差の絶対値が閾値未満である場合である。必要であれば、この閾値はゼロとすることもできるが、より好ましい実装では、閾値は、メタデータ・パラメーターの正確性と、本発明を実装するために必要なコンピューターの資源と、DIALNORMの値と確認用の値の差が再生時の音響情報の品質を悪化させる可能性との間の得失評価によって決定される。多くの応用プログラムでは、閾値は3（3dB）が適切である。AC-3ビットストリームの出力は、格納され、又は送信され、またはデコードされうる。
【００６９】
DIALNORM確認データによる通常のAC-3  DIALNORMデータの訂正
DIALNORM確認データがAC-3ビットストリームから取り出され、通常のAC-3  DIALNORMメタデータに合致しなかった場合（ステップ402のNO側の出力）、DIALNORMメタデータは確認用のDIALNORMの値によって更新される（いいかえれば、確認用のDIALNORMの値にセットされ、あるいは変えられる）（403）。通常のDIALNORMの値が正しくなく更新されなければならないとわかったのであるから、関連するAC-3ダイナミック・レンジ圧縮メタデータもまた正しくない可能性がある。従って、ダイナミック・レンジ圧縮情報を分析しなければならず、もしそれが正しければ、DIALNORMメタデータ・パラメーターのみが更新される。もし、ダイナミック・レンジ圧縮情報が正しくなければ、それもまた更新しなければならない。これらの分析および更新の詳細は、図4のステップ409ないし413、及び図6a、6b、9cで説明する。
【００７０】
確認データがAC-3ビットストリームにない場合
DIALNORMメタデータが正しい場合（ステップ404ないし407）
図4の例に示すとおり、DIALNORM確認データがAC-3ビットストリームに含まれていない場合（ステップ401のNO側の出力）、AC-3ビットストリームはDIALNORMパラメーター及び関連するダインミック・レンジ・コントロール・パラメーターを適用することなくPCMにデコードされ（これらのメタデータは正しくない可能性があるから）、デコードされた音響コンテンツの音量は、ビットストリームを生成したエンコーダーに入力されたものと同じとなる(ステップ404)。その後に会話の音量が測定され、正しいDIALNORMレベルを決定する（ステップ405）。この測定は、すでに述べた会話音量測定104の装置又は機能を用いてもよい。ステップ405の会話音量測定に続いて、ステップ406で測定された値がAC-3  DIALNORMメタデータと比較される(この比較の詳細は後に述べる)。DIALNORMメタデータが正しい場合、ステップ406のYES側に出力された後に必要な処理は、DIALNORM確認データのフォーマットを整えてAC-3ビットストリームに格納するだけである（ステップ407）。
【００７１】
すでに述べたように、使用可能な未使用のデータ・ビットの数は音響の複雑さに依存し、AC-3フレームによっては、フレーム中にDIALNORM確認データを格納する十分な未使用のデータ・ビットがない場合もある。選択肢は二つある。確認用のデータを十分な未使用のデータ・ビットがあるAC-3フレームにのみ格納する（この場合、DIALNORM確認データは、ステップ404でデコードされたAC-3ビットストリームを再エンコードした結果のAC-3ビットストリームではなく、入力されたオリジナルのAC-3ビットストリームに挿入される）か、あるいは、確認データが各フレームに収納されうるように十分な量の未使用のデータ・ビットを確保しながら、ステップ404のデコードした結果の音響を再エンコードすることである。
【００７２】
ステップ404のAC-3のコード、およびステップ405の音量の測定の代替手段は、AC-3ビットストリームを完全にはデコードしない技術を用いて音量の近似値を得ることである。この技術は、AC-3ビットストリームのようなビットストリームを部分的にデコードして、サブバンドの指数部の大きさをもとにしてコード化された音響スペクトルの粗い見積もりを得るものであって、Brett  Graham  Crockett、Michael  John  Smithers、Alan  Jeffrey  Seefeldt、弁護士整理番号DOL157、本発明の出願と同日に出願された米国特許仮出願明細書に開示されている。前記Crockett他によるDOL157の出願は、ここにその全てを参照して援用する。
【００７３】
図５は、図４のステップ404ないし413の一部を実行する処理500の一例である。図5で示すとおり、AC-3フレーム501は、修正されたAC-3デコード機能又は装置（「AC-3デコーダー」）502によってデコードされデジタル音声503になる。AC-3デコード502によってAC-3フレームのデコードを行っている間、DIALNORMパラメーターおよびダイナミック・レンジ圧縮情報が、後に述べるように、他の潜在的な使用方法のために回復されたとしても、音響デコードの目的としては無視され、デコードされた音声503は、ビットストリームを生成したエンコーダーへの入力と同じ音量と同じダイナミック・レンジをもつ。会話音量測定機能または会話レベル測定機（「会話音量測定」）504はデコードされた音声503を受け取り、会話音量505を計算する。会話測定504は、図１に関連して述べた会話測定104と同じ機能または装置であってもよい。AC-3デコーダー502はすでに述べたステップ404を実行してもよく、会話音量測定504はすでに述べたステップ405を実行してもよい。ビットストリーム更新機能または更新装置（「ビットストリーム更新」）506は会話の音量を各フレームにあるDIALNORMパラメーターと比較する。比較に関してさらなる詳細は、以下に与える。加えて、ステップ406と408の判断によっては、ステップ407、あるいは、ステップ408-410（下の図６ａ及びその説明参照）、ステップ408及び411-413（下の図６ｂ及びその説明参照）が実行される。ステップ407が実行される場合、DIALNORM確認データをAC-3ビットストリームに挿入し、オリジナルのDIALNORMと関連するダイナミック・レンジ・コントロール情報はそのままにしておく。ステップ407を実行する際、ビットストリーム更新506はAC-3の中の未使用のデータ・ビットの検索も行う。十分な量の未使用のデータ・ビットを持つAC-3フレームは修正を受けて、未使用のビットにDIALNORM確認データが格納されるよう更新される。別の方法として、AC-3デコード502によって生成されたデコードされた音声は再エンコードされるが、各フレームに確認データを格納するのに十分な量の未使用データ・ビットを確保しておくこともできる（この場合、ビットストリーム更新506は、図１の修正されたAC-3エンコード102と同様に、修正されたAC-3エンコーダーを含む）。
【００７４】
より具体的に言えば、ステップ406を実行する過程で、ビットストリーム更新506は、会話の計測された音量と、DIALNORMパラメーターで示された会話の音量を比較する。DIALNORMパラメーターの値は-31dBから1dBの間で(両端を含む)、1dBごとの値である。もし、会話の測定された音量がこの範囲にあって、ビットストリームから得たDIALNORMの値とは異なっていた場合には、DIALNORMパラメーターは、1dBごとに丸められた値の計測された値に、条件附で（確認情報を格納できる十分な未使用のデータ・ビットがあることが「条件」である）更新される。測定された会話の音量は、ビットストリームの中のDIALNORMの値との差の絶対値が閾値未満である場合は、この二つの値は異なっていると考える。必要であれば、この閾値はゼロとすることもできるが、好ましい実装では、閾値は、メタデータ・パラメーターの正確性と、本発明を実装するために必要なコンピューターの資源と、DIALNORMの値と測定された会話の音量の値の差が再生時の音響情報の品質を悪化させる可能性との間の得失評価によって決定される。多くの応用プログラムでは、閾値は3（3dB）が適切である。ビットストリームを更新して正しいDIALNORMパラメーターを格納する事に加えて、ビットストリーム更新506は、各AC-3フレーム中の未使用のデータを検索する。もし、フレームに十分な量の未使用のデータ・ビットがあるのであれば、正確で認証された音量測定処理が行われ、AC-3ビットストリームに置かれたDAILNORMの値が正しいことを示すDIALNORM確認データに、この未使用のデータ・ビットは置き換えられる。
【００７５】
確認データがAC-3ビットストリームにない場合
DIALNORMメタデータが適正ではなく、音量がDIALNORMパラメーターの範囲にある場合(ステップ408-410)
図4の例に示すとおり、もし、確認データが存在しておらず（ステップ401のNO側の出力）、かつ既存のAC-3  DIALNORMの値が適正ではない場合（ステップ406のNO側の出力）は、測定された音量レベルがDIALNORMパラメーターの有効な範囲内にあるのか否かを決定する（ステップ408）。会話の計測されたレベル（505）がAC-3ビットストリームとして許されたDIALNORMパラメーターの適正な範囲をはずれる場合、DIALNORMは音量を伝達するのに十分なレンジを持っていない。これは、計測されたレベルが-31dB未満である場合、または-1dBを越える場合である。DIALNORMパラメーターが音量を伝えるのに十分なレンジを持っている場合（ステップ408のYES側の出力）、ステップ409と410が次のとおりに実行される。詳細については図６ａと図７に関連して示す。
【００７６】
図6ａは、DIALNORMの値が変更され、DIALNORM確認データが挿入される時に、どのようにして新たなダイナミック・レンジ圧縮情報が決定され（ステップ409）、どのようにビットストリームが更新されて再び詰め込まれるかを示している。上で述べたとおり、図６ａの例は、図5のビットストリーム更新507のバリエーションであって、ステップ408-410を実行するのに有用である。図６ａの要素については以下に記述する。
【００７７】
DIALNORM抽出602
DIALNORMパラメーターの値は、図５および６ａに示されたように、AC-3  ビットストリームから抽出される。すなわち、デコードされていないビットストリーム501は、DIALNORM抽出装置または機能602（「DIALNORM抽出」602）に適用される。
【００７８】
ダイナミック・レンジ圧縮プロフィール決定604
図６ａに示すように、ダイナミック・レンジ圧縮プロフィール決定装置または機能（「ダイナミック・レンジ圧縮プロフィール決定」604）は、デコードされていないビットストリームから抽出されたDIALNORMパラメーターの値とAC-3デコード(図５の502)の出力を受け取り、ダイナミック・レンジ圧縮プロフィールを決定する。AC-3フレームの中のダイナミック・レンジ圧縮メタデータは、音声コンテンツをデコードする際に適用されうる利得の変化を表す。そのメタデータは二つの異なった部分に存在する。ビットストリーム情報(BSI)にあるCOMPRパラメーターは、-48.14dBから+47.88dBの範囲の値であって、音響の全てのフレームに適用される拡大縮小比である。個々の音声ブロック(AB)にあるDYNRNGパラメーターは-24.06dBから+23.94dBの範囲の値であって、個々のブロックの拡大縮小を独立して行う手段を提供する。デコードのモードによっては、これらのうち一つがデコーダーで使われるか、あるいは使われないが、両者が同時に使われる事はない。
【００７９】
すでに述べたように、COMPR及びDYNRNGパラメーターは、DIALNORMパラメーターおよび複数のダイナミック・レンジ圧縮プロフィールのうち一つが使われ、あるいはDIALNORMパラメーターのみを使ってエンコードする過程で計算される。個々のプロフィールには、アタック・タイムとリリース・タイムの定数、および圧縮率を含む標準的な音響ダイナミック・レンジ圧縮パラメーター情報を含む。
【００８０】
DIALNORMパラメーターに変更が加えられたため、ビットストリーム中のCOMPRとDYNRNGの値は正しくない可能性がある。ビットストリーム中のCOMPRとDNYRNGパラメーターは変更されないままであるかもしれないが、再生時の音声は重度かつ気に障る変動が生じ、ないしはデコーダーの過負荷あるいはデジタル・クリッピングが生じうる。COMPR及びDYNRNGパラメーターを更新することがよりよいやり方である。これは、その本来の値を計算するために使用されるダイナミック・レンジ圧縮プロフィールを知った上で行った場合に最もよい結果を得ることができる。プロフィールに関する情報がビットストリーム中にないのであるから、任意のプロフィールを選択することができ（同時にダイナミック・レンジ圧縮を無効にしてもよい）、ないしビットストリーム中の元のCOMPR及びDYNRNGから推測されるプロフィールでもよい。ダイナミック・レンジ圧縮に関しては、プロフィールを推測した場合、よりコンテンツ・クリエーターの本来の意図に近いといえる。
【００８１】
「ダイナミック・レンジ圧縮プロフィール決定」604で、デコードされた音声503と元のDIALNORMの値603の両者を用いて、COMPRとDYNRNGの複数の組が計算される。AC-3エンコーダー中に存在することがわかっている各プロフィールに一つの組が対応する。元のビットストリーム中のDOMPR及びDYNRNGの値に最も近い値であるCOMPR及びDYNGNGの値の組のプロフィールのインデックス番号が606として出力される。
【００８２】
もしこの方法が、連続的なフレームの流れで実行された場合、プロフィール・インデックスは連続的に更新される。例えば、それは直前の数秒間のフレームを表している可能性が高い。
【００８３】
推定されたダイナミック・レンジ圧縮プロフィールは、本来使われていたプロフィールと同じでなくてもかまわない。従って、DIALNORMとダイナミック・レンジ圧縮情報を更新することが望ましいのは、すでに述べたように、計測された会話の音量とDIALNORMの値の差の絶対値が閾値を越える場合のみである。
【００８４】
「新たなダイナミック・レンジ情報の計算」607
（「新たなダイナミック・レンジ情報の計算」の）機能または装置607は、新たなダイナミック・レンジ情報を計算する。会話の真の音量の測定結果505(図５)は、丸められて新たなDIALNORMの値となる。1dB単位に丸めることは有用であるが、重要な意味を持つわけではない。プロフィール・インデックス606を用いて、デコードされた音声503（古いDIALNORM及びダイナミック・レンジは適用されていない）、および新たなDIALNORMの値(丸められたもの505)、COMR及びDYNRNGの値の新たな組608が計算される。
【００８５】
「ビットストリームのリパック」609
ビットストリームのリパッカー、ないしリパック機能（「ビットストリームのリパック」）609は、デコードされていないAC-3ビットストリーム501と、COMPRとDYNRNGの値608と、計測された会話の音量505とを受け取る。すでに述べたように、計測された会話の真の音量505は、例えば1dB単位に丸められて（これは重要ではない）、新たなDIALNORMの値となる。デコードされていないAC-3ビットストリーム501中で、新たなDIALNORMの値、および新たなCOMPRとDYNRNGの値は更新される。さらに、十分な未使用のデータ・ビットが存在するとビットスリームのリパック609が決定すれば、DIALNORM確認データが未使用のデータ・ビットの全てあるいは一部と置き換えられる。新たな更新されたAC-3ビットストリームは、新たなビットストリーム610として出力される。
【００８６】
ビットストリームのリパック609の詳細は図７の例に示され、以下、さらに説明する。
【００８７】
「使用可能な領域の決定」701
「使用可能な領域の決定」701の機能または装置は、COMPRとDYNRNGの値を更新するため、および新たなDIALNORM確認データを含ませるために使用可能な全ての未使用のデータ・ビットを識別する。AC-3ビットストリーム中のCOMPRとDYNRNGパラメーターはそれぞれ8ビット必要である。これらのパラメーターにはそれぞれ「存在」を表すフラグがある。COMPRパラメーターにはCOMPREフラグがあって、1にセットされれば、ビットストリーム中でそれに続いてCOMPRパラメーターがあることを示している。同様に、DYNRNGパラメーターにはDYNRNGフラグがあって、1にセットされれば、ビットストリーム中でそれに続いてDYNRNGパラメーターがあることを示している。任意のフレームのはじめのブロックのDYNRNGフラグが0にセットされている場合、デコーダーはDYNRNGの初期値を0dBであると想定する。任意のフレームの任意のブロック１ないし５のDYNRNGフラグの値が０にセットされている場合、デコーダーは直前のブロックのDYNRNGの値を再使用する。各フレームのCOMPRおよびDYNRNGパラメーターが条件附で存在することは、COMPRおよびDYNRNGに使用されるビットの総数が変わりうる事を意味している。
【００８８】
新たなCOMPRおよびDYNRNGの値に必要な総ビット数は、古いCOMPRおよびDYNRNGの値に使用された総ビット数より大きくなりうるのであるから（COMPRおよびDYNRNGの存在および値はDIALNORMの値に依存するのであるから）、フレーム中に未使用のデータ・ビットがあるのか否かを決定する必要がある。これらの未使用のビットを新たなDIALNORM確認データに使用することもできるし、AC-3フレーム中の情報を移動させて、新たなCOMPRとDYNRNGの値によって必要となったビットのための領域を作り出すこともできる。
【００８９】
「ダイナミック・レンジ圧縮情報の減少」703
（「ダイナミック・レンジ圧縮(D.R.C.)情報の減少」）703の機能ないし装置は、未使用のデータ・ビットの識別結果702を受け取り、新たなCOMPRおよびDYNRNGの総ビット数が未使用のビット数に古いCOMPRおよびDYNRNGの値に使用されている総ビット数を加えたものよりも大きい場合、新たなCOMORおよびDYNRNGの値のために必要な総ビット数を減少させるために、新たなダイナミック・レンジ情報608を計算する。機能または装置703の出力は、新たなCOMPRおよびDYNRNGの値であって、前記のようなビット数の要求を考慮して調整されたものである。
【００９０】
AC-3フレームごとに制限が存在する。図９ａは二つのフレームの境界、フレーム８分の５の境界、および音声ブロック１と音声ブロック２の間の境界（AB1-AB2）を示している。前記の制限とは、フレームがエンコードされた場合、AB1-AB2境界は、このフレーム８分の５境界を越えてビットストリームの後ろ側にくることはできないという点である。音声ブロック０と音声ブロック１の新たなDYNRNGの値に必要なビット数が、音声ブロック０と音声ブロック１の未使用のスキップ・データのビット数と音声ブロック０と音声ブロック１の古いDYNRNGの値に使用されるビット数の合計を越える場合、新たな付加的なビットのための余地を作成することによって、AB1-AB2境界をフレーム８分の５境界の後方に押しやることになる。このことが発生すれば、ブロック０とブロック１の新たなDYNRNGに必要なビット数を減少させなければならない。そのためには様々な手段があり得る。
【００９１】
適した方法として、始めに音声ブロック０と音声ブロック１の新たなDYNRNGの値とDYNRNGフラグを分析する方法である。ブロック０の新たなDYNRNGフラグの値だけが１にセットされていれば、このフラグを０にセットしてブロック０とブロック１のDYNRNGの値をゼロにセットする。ブロック１の新たなDYNRNGフラグだけが１にセットされていれば、このフラグを０にセットして、ブロック１の新たなDYNRNGをブロック０のそれと同じ値にセットする。ブロック０とブロック１の新たなDYNRNGフラグが１にセットされていれば、比較を２回行う。ブロック０の新たなDYNRNGと0dBの差の絶対値が、ブロック０と１の新たなDYNRNGの差の絶対値未満であれば、ブロック０の新たなDYNRNGフラグを０にセットして、ブロック０の新たなDYNRNGの値を０にセットする。それ以外の場合は、ブロック１の新たなDYNRNGフラグの値を０にセットし、ブロック０と１の新たなDYNRNGの値をブロック０とブロック１のDYNRNGの小さい方の値にセットする。このことによって、新たなDYNRNGワードに必要なビット数を８ビット減少させることができる。ブロック０またはブロック１のいずれかのDYNRNGフラグが１にセットされ、さらに減少が必要である場合、上記の手順を繰り返す。ビットの減少が終了した後、ブロック１の新たなDYNRNGの値をブロック２の新たなDYNRNGの値と比較する。もしこれらの値が等しければ、ブロック２の新たなDYNRNGフラグを０にセットする。もし新たなDYNRNGの値が等しくなければ、ブロック２の新たなDYNRNGフラグは１にセットされる。
【００９２】
６つのブロックのフレーム全体について考える。新たなCOMPRおよびDYNRNGの値のために必要な全ビット数が、未使用のビット数と古いCOMPRおよびDYNRNGの値に使われている全ビット数の和より大きければ、新たなパラメーターに必要なビット数を減少させる必要がある。そのためには様々な手段があり得る。
【００９３】
適切な方法は、フレーム中の６つの音声ブロック全体にわたって新たなDYNRNGの値とDYNRNGフラグを見た上で、DYNRNGフラグが１にセットされている単独のブロックを表す領域、ブロック０のDYNRNGフラグが０にセットされている場合のはじめのブロックとそれに続くDYNRNGフラグが０にセットされている任意の複数のブロックを表す領域にグループ化することである。その結果、全てのブロックのDYNRNGフラグが１ではないか、はじめのブロックのみフラグが１である場合には領域の数は１になることもあり、各ブロックでDYNRNGフラグの値が１にセットされていれば領域の数は６になることもある。各領域のDYNRNGの値は、隣接する領域のDYNRNGの値と比較される。その後、隣接する領域の組であってDYNRNGの値が最も近いものは一つの領域に結合される。その際、まず始めに、両方の領域のDYNRNGの値をそれぞれの領域の小さい方の値にセットし、ついで、第二の領域のDYNRNGフラグを０にセットする。こうすることによって、新たなCMPRとDYNRNGの情報のビット数を８ビット減少させることができる。新たなCOMPRおよびDYNRNGの値に必要な全ビット数が、未使用のビットの総数と古いCOMPR及びDYNRNGの値に必要とされた全ビット数の和より少なくなるか等しくなるまで、この手順は繰り返される。
【００９４】
上に示したように、AC-3フレームの全ての未使用のデータ・ビットは更新されたDYNRNGおよびCOMPRパラメーターのために使うことができるのであるから、DIALNORM確認データのための未使用ビットは残らない。すでに述べたように、このことは予想されたことであるし、十分な未使用のデータ・ビットが存在する場合のフレームにDIALNORM確認データを挿入する実用性を減少させない。
【００９５】
DIALNORM、ダイナミック・レンジ圧縮、およびDIALNORM確認情報の更新705
装置又は機能「DIALNORM、ダイナミック・レンジ圧縮、およびDIALNORM確認情報の更新」705は、デコードされていないAC-3ビットストリーム501、新たなCOMPRおよびDYNRNGの値704（これは、ビット数の要求に従って調整されているかもしれない）、計測された会話の音量505を受け取り、ビットストリームのDIALNORMパラメーターとダイナミックレンジパラメーターを更新し、ビットストリームにDIALNORM確認情報を挿入する。
【００９６】
フレームには必ずDIALNORMパラメーターがあるのであるから、新たなDIALNORMの値は、BSI中の予め定められた場所に書き込むことができる。しかしながら、COMPRおよびDYNRNGパラメーターの更新をするためには、AC-3フレームの複数の部分を移動させて新たな値のための場所を作る必要がある可能性がある。新たなCOMPRおよびDYNRNGの値に必要な全ビット数が、古い値のために使用されていた全ビット数より大きい場合は、いくつかのSKIPDフィールドの長さおよび、場合によっては空ビット（W）を減少させる。しかしながら、必要な総ビット数が少なければ、空ビット(W)の長さが増やされる。これらのパラメーターが更新された後も未使用のデータ・ビットの数が十分であれば、DIALNORM確認データは未使用のデータ・ビットの位置に置かれる。
【００９７】
古いCOMPREフラグが１にセットされていた場合、COMPRパラメーターを更新するために、古いCOMPRの値が新たなCOMPRの値で上書きされうる。しかしながら、古いCOMPREフラグが０にセットされていて、新たに計算されたCOMPREの値が１であれば、COMPREパラメーターに続く全てのバイナリー・データは８ビット、シフトして新たなCOMPRの値のために余地が作られる。その後、フレーム中のCOMPREフラグは１にセットされ、新たなCOMPRの値は新たに作られた８ビットの領域に書き込まれる。古いCOMPREフラグが１にセットされ、新たなCOMPREフラグが０にセットされた場合、そのフレームのCOMPREは０にセットされ、COMPRパラメーターに続く全てのバイナリー・データは８ビット、シフトされる。COMPRパラメーターはそのフレームにもはや存在しないからである。
【００９８】
各音声ブロックのDYNRNGパラメーターを更新するために、もし、古いDYNRNGフラグが１にセットされていれば、古いDYNRNGの値は新たなDYNRNGの値で置き換えることができる。しかしながら、古いDYNRNGフラグが０にセットされ、新たなDYNRNGフラグが１にセットされる場合、DYNRNGパラメーターに続く全てのバイナリー・データを新たなDYNRNGの値のための余地を作るためにシフトしなければならない。そして、そのフレームのDYNRNGフラグは１にセットされ、新たなDYNRNGの値を新たに作られた８ビットの領域に書き込むことができる。もし、古いDYNRNGフラグが１にセットされ、新たなDYNRNGフラグが０にセットされるのであれば、そのフレーム中のDYNRNGフラグは０にセットされ、DYNRNGパラメーターに続くすべてのバイナリー・データは８ビット、シフトされる。これは、DYNRNGパラメーターはもはやそのビットストリームには存在しないからである。
【００９９】
SKIPLパラメーターは、バイト数で表したSKIPDフィールドの長さを表す。SKIPDフィールドの長さを減らすためには、SKIPDフィールドの右側にあるバイナリー・データを8ビット単位でシフトしなければならない。その後で、SKIPLパラメーターはSKIPDフィールドの新たな長さを反映するように更新される。場合によっては、SKIPDフィールドには公式にはAC3規格には定義されていない任意的な情報（例えば、上記のA52/Aの文献を参照せよ）を含むことがある。SKIPDフィールドの始めのビットが１に等しい場合、データを運ぶ情報がSKIPDに続き、そうでなければ、SKIPDフィールドの中のすべてのビットには０がセットされている。もし、情報があって、SKIPDフィールドを短くする必要があれば、この情報の長さにまで短くすることができる。このことによって、AC-3フレームの中に情報を維持することができる。
【０１００】
未使用のデータ・ビットの変更及び更新をすれば、DIALNORM確認データを未使用のビットに挿入することができる。すでに述べたように、このデータはいくつかの形式をとることができて、十分な同期および識別データ情報をもつDIALNORMのフレームを複製してもよい。このことによって、DIALNORM確認デコード処理が未使用のデータ・ビットを探し、DIALNORM確認データがあるかどうかを確認して、AC-3ビットストリームに埋め込まれた標準のDIALNORMパラメーターと比較することができる。
【０１０１】
CRCの更新  707
DIALNORM確認データを含む、更新されたAC-3ビットストリームは、エラー訂正ワード生成装置または機能（「CRC更新」）707に渡される。AC-3フレームのデータが変化していた場合、二つのエラー検出ワードCRC1とCRC2は再計算されなければならない。８分の５フレーム境界より前の部分のデータのみが変更を受けていた場合、CRC1のみが再計算を要する。同様に、８分の５フレーム境界より後のデータのみが変更を受けていた場合、CRC2のみの再計算を要する。
【０１０２】
確認データがAC-3ビットストリームにない場合
DIALNORMメタデータが適正でなく、DIALNORMレンジが音量伝達に不十分な場合
図４に示すように、確認情報が存在せず（ステップ401の出力がNO側である）、かつ存在するAC-3  DIALNORMの値が正しくない(ステップ406の出力がNO側である)場合、計測された音量がDIALNORMの適正な値の範囲にあるかを決定しなければならない（ステップ408）。すでに述べたように、計測された会話の音量505が、AC-3ビットストリームとして許容されるDIALNORMパラメーターの有効な範囲の外にある場合、DIALNORMパラメーターは音量を伝達するのに十分な範囲を持っていない。換言すれば、計測された音量が-31dB未満であるか、-1dBより大きい場合である。この場合、ステップ408の出力はNOである。この状態を修正する一つの方法として、すでに述べたように、最も近い有効な値でそのフレームのDIALNORMパラメーターを更新することが挙げられる。しかしながら、この方法によっては、DIALNORMの値と計測された会話の音量の間に一定の誤差が生じることになる。この種の誤差を極小化する適切な選択肢は、以下に図６ｂの例として参照しながら記述する、ステップ411、412、および413を実行することである。すでに述べたように、図６ｂは、図５の「ビットストリームの更新」507のバリエーションであって、ステップ411、412、および413を実行するにあたって有用である。図６ａとは異なる図６ｂの要素は以下に示す。図６ａと図６ｂに共通の要素は、それぞれ共通の参照番号で示されている。
【０１０３】
「ゲイン調整」611
デコードされた音声503は調整可能なゲイン変更装置あるいは変更機能（「ゲイン調整」）611に適用される。適切なゲイン変更が音声に適用されることによって、計測された会話音量とDIALNORMの値の間の誤差を減少させることができる（ステップ411）。例えば、計測された会話の音量が-36dBであって、DIALNORMが最も近い適正な値、すなわち、-31dBに設定されていた場合、音声を5dB引き上げて、-36dBから-31dBにする。
【０１０４】
「変更されたAC-3のエンコード」629
ゲイン調整のされた音声は、修正されたAC-3音声エンコードを用いて再エンコードされ、同時に、新たなDIALNORMとダイナミック・レンジ圧縮情報608（ステップ412）が修正されたAC-3エンコーダー又はエンコード機能（「修正されたAC-3エンコード」）629に適用される。修正されたAC-3エンコードは「修正された」とされるのは、それがDIALNORM確認データの機能に対応していて、エンコードの手順の後、最終的なビットストリームのパックの前に、そのデータを未使用のデータ・ビットに挿入するからである。この再エンコードの過程では（DIALNORM、ダイナミック・レンジ圧縮情報、およびDIALNORM確認を除く）オリジナルのBSI、およびオリジナルのビットストリーム501フレームのAUXメタデータが維持され、算出された新たなエラー検出ワードを含む。
【０１０５】
図６ｂの他の機能または装置は、すでに述べた図６ａの対応する機能又は装置と同じであってもよい。
【０１０６】
ステップ411、412、および413を実行すると、音声コンテンツをデコードし再エンコードすることになるため、音質は一定程度悪化する。したがって、計測された会話の音量の値と最も近いDIALNORMの値との間の誤差が、閾値よりも大きい場合に限ってコンテンツの再圧縮が行われることが望ましい。多くの実装では、閾値の値は３（3dB）が適切である。
【０１０７】
図4のサブセット
すでに述べたように、図４のプロセス全てか、あるいは図４のプロセスまたは前記プロセスのステップを使用する装置のサブセットを使用することができる。
【０１０８】
図４の手順の有用で安価なサブセットは、ステップ401から403を採用することである。確認情報がビットストリームにあった場合（401がYESの場合）、ステップ402と403は、すでに述べたように、AC-3ビットストリームに変更を加えないか、またはDIALNORMの値を確認用の値にセットする。ビットストリームの中に確認情報が存在しない場合（401の出力がNOの場合）、DILANORMの値は変更されないか、または、デフォルトの値にセットされる。
【０１０９】
図4の手順の、他の有用なサブセットは、ステップ401および404から407を採用することである。これは、確認情報が存在していない場合に有用であって、既存のDIALNORMが正しい場合には確認情報を付加する事が好ましい。確認情報がビットストリームの中に存在する場合（401がYESの場合）、ビットストリームには変更は加えられない。確認情報が存在しない場合（401の出力がNOの場合）、ステップ404、405、及び406が既存のDIALNORMの値が正しいか（406の出力がYES）、正しくないか（406の出力がNO）を決定する。既存のDIALNORMが正しい場合、確認情報がビットストリームに付加される。既存のDIALNORMが正しくない場合、DIALNORMにはデフォルトの値がセットされる。
【０１１０】
別の有用ではあるが、やや高価な、図4の手順または装置のサブセットとして、ステップ401から406を使用することが挙げられる。確認情報が存在する場合（401の出力がYESである場合）は、手順はすでに述べたとおりであるが、確認情報が存在しない場合（401の出力がNOである場合）は、ステップ404、405、および406が、既存のDIALNORMが正しいか（406の出力がYESの場合）、そうでないか（406の出力がNOの場合）を決定する。既存のDIALNORMが正しい場合、ビットストリームは変更されない。既存のDIALNORMが正しくない場合、DILANORMはデフォルトの値に設定される。
【０１１１】
確認データ対応デコード
本発明の他の実施態様として、正しいDIALNORMおよび適合する確認データの有無に関わらず、しかし、そのような確認データが存在するならばそれを使用して、AC-3ビットストリームを適切にデコードすることに関連する。これは「確認データ対応デコード」と呼ばれる。本発明のこの実施態様は、図8に典型的なフローチャートの形式で説明される。下に説明するように、図８の手順のすべてか、あるいは図8の手順のサブセットが使用される。この手順のステップを使用するように設定された手順又は装置は、例えば、ビットストリームのデコードの過程において有用である。図4の各ステップに実質的に対応する図８の各ステップは、対応する参照番号を採用している（例えば、「801」と「401」）。図８の各ステップまたはそのサブセットは、一つ又は複数の手順の一部分を表し、または、複数の装置で実行される機能であると理解されなければならない。
【０１１２】
DIALNORM確認データの存在のテスト（ステップ801）
図８に示すように、はじめに実行されるステップ（ステップ801）は、AC-3ビットストリーム中にAC-3  DIALNORM確認データが存在するか否かを決定するステップである。このステップは、すでに述べた図4のステップ401（図3に示された詳細を含む）と同じ動作を行う。
【０１１３】
DIALNORM確認データとAC-3  DIALNORMデータが合致するか否かの確認（802）
図8のステップ801に示したように、DIALNORM確認データが存在する場合（ステップ801の出力がYESの場合）、次のステップであるステップ802は、確認データがAC-3  DIALNORMの値に合致するかを決定する。このステップは、すでに述べた図4のステップ402と同様の動作を行う。値が合致する場合は通常のDIALNORMの値は正しく、手順に処理に適用されたAC-3ビットストリーム（ステップ801の入力）は、ステップ814に示すように、既存のDIALNORMと関連するダイナミック・レンジ・メタデータを使用してデコードされ、デコードされたAC-3ビットストリームが作られる。値が合致するか否かは、ステップ402に関連してすでに説明したように、これらの値が閾値の間にあるか否かで決定される。
【０１１４】
DIALNORM確認データを用いた通常のAC-3  DIALNORMデータの修正(803)
DIALNORM確認データがAC-3ビットストリームから抽出され、かつ通常のAC-3  DIALNROMメタデータと合致しない（ステップ802の出力がNOである）場合、DIALNORMメタデータは確認DIALNORMメタデータによって更新される(803)。通常のDIALNORMの値が正しくないと決定され、更新する必要があるのであるから、関連するAC-3ダイナミック・レンジ圧縮メタデータもまた正しくない可能性がある。従って、ダイナミック・レンジ圧縮情報を分析して、それが正しければ、DIALNORMメタデータ・パラメーターのみが更新される。ダイナミック・レンジ圧縮情報が正しくなければ、それもまた更新しなければならない。この分析および更新の詳細は、図４のステップ409ないし413および図６ｂに関連して説明する。
【０１１５】
確認データがAC-3ビットストリームにない場合
DIALNORMメタデータが正しい場合
図８の例で示したとおり、DIALNORM確認データがAC-3ビットストリームに含まれていない（ステップ801の出力がNOである）場合、AC-3ビットストリームは、DIALNORMパラメーターおよび関連するダイナミック・レンジ・コントロール・パラメーターを適用することなく（これらのメタデータ・パラメーターは正しくない可能性があるのであるから）音声に（たとえば、PCMにコード化された音声）デコードされ（ステップ804）、デコードされた音声のコンテンツの音量は、ビットストリームを作成したエンコーダーに入力された音量と同じになる。次に、デコードされた音声のDIALNORMレベルが計測される（ステップ805）。このDIALNORMの計測は、すでに述べた会話音量測定104と同じ手順でよい。ステップ805の会話の音量の測定に続いて、ステップ806で、測定された値は入力されたAC-3ビットストリームのAC-3  DIALNORMメタデータの値と比較される。ステップ806のYESの出力に続いて示されるように、DIALNORMの値が適正である（ステップ806の出力がYESである）場合、入力されたAC-3ビットストリーム中のオリジナルのDIALNORMの値と関連するオリジナルのダイナミック・レンジ圧縮情報は、ステップ804のAC-3デコードによって生成されたデコードされた音声に適用され、適正なDIALNORMおよびダイナミック・レンジ圧縮パラメーターの値が適用された、デコードされたAC-3音声ビットストリームを得ることができる。
【０１１６】
確認データがAC-3ビットストリームにない場合
DIALNORMメタデータが正しくない場合
既存のDIALNORMメタデータが正しくない（ステップ806でNO側に出力された）場合、DIALNORMの値にステップ805で計測されたDIALNORMの値をセットし、計測されたDIALNORMパラメーターの値から新たなダイナミック・レンジ圧縮情報を決定する必要がある。これはステップ815で行われ、ステップ412と同じ手順でよい。ステップ815で決定された計測されたDIALNORMの値とダイナミック・レンジ圧縮情報は、ステップ816で、ステップ804で生成されたデコードされたデジタルまたはアナログの音声に適用される。
【０１１７】
図８のサブセット
すでに述べたように、図8のプロセスまたは、このプロセスの使用した図8のプロセスもしくは装置のサブセットのいずれもが使用されうる。
【０１１８】
図8のプロセスの有用で安価なサブセットとして、ステップ801ないし803および804を使用することが挙げられる。確認情報がビットストリームにある（801がYESである）場合、ステップ802、803および804はすでに述べた手順でAC-3ビットストリームをデコードする。ビットストリーム中に確認情報がない（801の出力がNOである）場合、ビットストリームはその既存のDIALNORMの値と関連するダイナミック・レンジ圧縮パラメーターの値を用いてデコードされるか、またはデフォルトのDIALNORMの値と関連するダイナミック・レンジ圧縮パラメーターの値を用いてデコードされる。
【０１１９】
別の有用ではあるがある程度高価な図8の処理のサブセットとして、ステップ815を除くすべてのステップを採用することが挙げられる。この方法では、計測されたDIALNORMに関連してダイナミック・レンジ圧縮情報の決定における演算を避けることができる。演算方法は図８に関連してすでに述べたものと同じであるが、ステップ806が既存のDIALNORMの値は正しくないと判断した場合、入力されたAC-3ビットストリームがDIALNORMおよび関連するダイナミック・レンジ圧縮パラメーターの値をデフォルトの値に設定した上でデコードされる点で異なっている。
【０１２０】
実装
本発明は、ハードウェアまたはソフトウェア、あるいはその両者の組み合わせ（たとえば、プログラマブル・ロジック・アレー）として実装することができる。特に指定がなければ、本発明の一部として含まれるアルゴリズムまたは手順は、特定のコンピューターまたはそのほかの装置に本来的に関係づけられている訳ではない。特に、ここに記述した指導に従ったプログラムを用いて様々な汎用の機械を使用してもよいし、より専門化した装置（たとえば、集積回路）を作成して必要な方法のステップを実行することはより便利であるともいいうる。従って、本発明は、一つまたは複数のプログラム可能なコンピューター・システム上で動作する一つまたは複数のコンピューター・プログラムとして実装することができる。前記コンピューター・システムはそれぞれ、少なくとも１のプロセッサーをもち、少なくとも１のデータ・ストレージ・システム（揮発性および不揮発性のメモリーないし記憶素子を含む）をもち、少なくとも１の入力装置ないし入力ポートをもち、少なくとも１の出力装置または出力ポートを持つものである。プログラム・コードは入力データに適用されて、ここに記述した機能を実行し、出力情報を生成する。出力情報は、周知の形式で1または複数の装置に適用される。
【０１２１】
この各プログラムは、コンピューターに指示を与えるに当たって、希望のコンピューター言語（機械語、アセンブリ言語、または高水準の手続き型言語、論理型言語、ないしオブジェクト指向プログラミング言語を含む）を用いて実装してよい。いずれの場合でも、言語はコンパイラ型言語またはインタープリター型言語のいずれであってもよい。
【０１２２】
典型的な図の形式で示されたある複数のステップまたは機能は、複数のサブステップを実行し、同様に一つのステップまたは機能ではなく複数のステップまたは機能として表示されることがある。同様に、ここに様々な例として説明した、複数の装置、機能、ステップ、および処理は、複数の図に示されたものとは異なって、一体として、あるいは別個のものとして示されることがある。例えば、コンピューター・ソフトウェアの命令シーケンスとして実施する場合、典型的な図の形式で示した複数の機能またはステップは、適切なデジタル信号処理ハードウェア上で動作するマルチスレッド・ソフトウェアの命令シーケンスとして実装することもでき、この場合、図に示した例の複数の装置または機能は、前記ソフトウェアの命令の一部分に対応する。
【０１２３】
これらの各コンピューター・プログラムは、好ましくは、汎用または専用プログラマブル・コンピューターが読むことができる記憶メディアまたは装置（例えば、個体メモリーまたはメディア、ないし磁気または光メディア）上に保存されまたはダウンロードされ、記憶メディアまたは装置がコンピューター・システムによって読み込まれ、ここに説明した手順を実行する場合、前記コンピューターを設定し稼働させる。さらに、本発明によるシステムは、コンピューターが読むことができる記憶メディアとして実施され、プログラムとして構成されることもある。ここで、前記記憶メディアは、ここに記述された機能を実行する、明確かつ予め定義された方法でコンピューターが動作するように設定されたものである。
【０１２４】
本発明の多くの実施態様を記述した。
【０１２５】
それでもなお、本発明の精神と範囲を逸脱しない限り、様々な変形を作ることができると理解されなければならない。例えば、ここに記述したあるステップは順序に依存しないのであって、記述されたものとは異なった順序で実行することができる。
【図面の簡単な説明】
【０１２６】
【図１】本発明の態様に従ったビットストリームを生成する装置の機能のブロック・ダイアグラムの概略図を示す。
【図２】ビットストリーム中のメタデータ確認用のフォーマットの一例の概念図を示す。
【図３】図4のフローチャートの分岐ステップの詳細を、分岐型フローチャートの形式の図として示す。
【図４】ビットストリームのメタデータが適正で、かつメタデータ確認データと適合することの保証に関する本発明の態様を理解するのに有用な図を、フローチャートの形式で示す。
【図５】図4のステップ404から413の複数のサブセットを実施する装置の機能のブロック・ダイアグラムの機能図を示す。
【図６ａ】図4のステップ408から410のサブセットを実施する装置の機能のブロック・ダイアグラムの機能図を示す。
【図６ｂ】図4のステップ408及び411から413のサブセットを実施する装置の機能のブロック・ダイアグラムの機能図を示す。
【図７】図６aビットストリーム再圧縮機能又はデバイスを実施する装置の機能のブロック・ダイアグラムの機能図を示す。
【図８】確認データ対応デコード処理に関係する本発明の実施態様を理解するのに有用な分岐型フローチャートの概念図を示す。
【図９ａ】縮尺通りではない、AC-3の連続的にコード化されたビットストリームのフレームを表す機能的ダイアグラムを示す。
【図９ｂ】縮尺通りではない、AC-3の連続的にコード化されたビットストリームのSI部の詳細を表す機能的ダイアグラムを示す。
【図９ｃ】縮尺通りではない、AC-3の連続的にコード化されたビットストリームのビットストリーム・ヘッダー情報（BSI）の詳細を表す機能的ダイアグラムを示す。
【図９ｄ】縮尺通りではない、AC-3の連続的にコード化されたビットストリームの音声ブロック部の詳細を表す機能的ダイアグラムを示す。
【図９ｅ】AC-3エンコーダーまたはエンコード機能の機能的ブロック・ダイアグラムを示す。
【図１０ａ】３の典型的な音声アイテムのDIALNORMレベルとダイナミック・レンジを仮定に基づいて表したグラフを示す。
【図１０ｂ】３の再生中の典型的な音声アイテムのDIALNORMレベルとダイナミック・レンジを仮定に基づいて表したグラフを示す。
【図１１ａ】３の典型的な音声アイテムのダイナミック・レンジ・コントロール・パラメーターの効果を仮定に基づいて表したグラフを示す。
【図１１ｂ】３の典型的な音声アイテムのDIALNORMとダイナミック・レンジ・コントロール・パラメーターの効果を仮定に基づいて表したグラフを示す。
【図１】
2008536193.tif 000003
【図２】
2008536193.tif 000004
【図３】
2008536193.tif 000005
【図４】
2008536193.tif 000006
【図５】
2008536193.tif 000007
【図６ａ】
2008536193.tif 000008
【図６ｂ】
2008536193.tif 000009
【図７】
2008536193.tif 000010
【図８】
2008536193.tif 000011
【図９ａ】
2008536193.tif 000012
【図９ｂ】
2008536193.tif 000013
【図９ｃ】
2008536193.tif 000014
【図９ｄ】
2008536193.tif 000015
【図９ｅ】
2008536193.tif 000016
【図１０ａ】
2008536193.tif 000017
【図１０ｂ】
2008536193.tif 000018
【図１１ａ】
2008536193.tif 000019
【図１１ｂ】
2008536193.tif 000020
【国際調査報告】
2008536193.tif 000021
2008536193.tif 000022
2008536193.tif 000023