(57)【特許請求の範囲】
【請求項１】
ビットストリームのビットレートbrの推定値brestを決定する方法であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、それらの抜粋は一定の時間的長さをもち、前記フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有し、フレームのwait_framesパラメータは、対応するフレームが多重化装置によっておよび／またはデコード装置によって、該多重化装置および／または該デコード装置によるそのフレームの処理に先立って遅延されるフレーム数を示し、当該方法は、プロセッサが：
・前記ビットストリームからのフレームのサブシーケンスのN個フレームについて全ビット数STotを決定する段階と；
・フレーム数Nに基づきかつ前記サブシーケンスの第一のフレームおよび第二のフレームのwait_framesパラメータの間の差に基づいて、補正されたフレーム数N'を決定する段階であって、前記第一のフレームは前記サブシーケンスの先頭のフレームに対応し、前記第二のフレームは前記サブシーケンスの末尾のフレームに対応する、段階と；
・全ビット数STotに基づき、補正されたフレーム数N'に基づき、かつ前記ビットストリームのフレーム・レートfframeに基づいて、ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを決定する段階とを実行することを含む、
方法。
【請求項２】
・前記ビットレート下限brminは補正された数N'に1を加えたものに基づいて決定され；
・前記ビットレート上限brmaxは補正された数N'から1を引いたものに基づいて決定される、
請求項１記載の方法。
【請求項３】
フレームの前記サブシーケンスはN＋1個のフレームnを含み、n＝0,…,Nであり、
・前記サブシーケンスの先頭のフレームn＝0は、wait_frames(0)と称されるwait_framesパラメータを含み；
・前記サブシーケンスの末尾のフレームn＝Nは、wait_frames(N)と称されるwait_framesパラメータを含み；
・前記補正されたフレーム数N'は、wait_frames(0)とwait_frames(N)の間の差を使ってNをオフセットすることによって決定される、
請求項１または２記載の方法。
【請求項４】
・フレームのwait_framesパラメータは、対応するフレームの末尾に対する処理遅延を示し；
・前記全ビット数STotは
【数２１】
0006271756.tif 000032
として決定され；
・Snは前記サブシーケンスのフレームnのビット数である、
請求項３記載の方法。
【請求項５】
・前記ビットレート下限が
【数２２】
0006271756.tif 000033
によって与えられる、および／または
・前記ビットレート上限が
【数２３】
0006271756.tif 000034
によって与えられる、
請求項１ないし４のうちいずれか一項記載の方法。
【請求項６】
・前記フレームのシーケンスの少なくともいくつかのフレームは、ビットレート・コード・パラメータを含み；
・前記ビットレート・コード・パラメータの値は、開始コードおよび／または停止コードに対応し；
・前記サブシーケンスは、前記フレームのシーケンスから、前記開始コードおよび／または前記停止コードに基づいて、前記プロセッサによって決定される、
請求項１ないし５のうちいずれか一項記載の方法。
【請求項７】
前記サブシーケンスは、
・前記サブシーケンスの先頭のフレームが前記開始コードに対応するビットレート・コード・パラメータを有し；
・前記サブシーケンスの末尾のフレームが前記停止コードに対応するビットレート・コード・パラメータを有し；
・サブシーケンスの他のどのフレームも前記開始コードまたは前記停止コードに対応するビットレート・コード・パラメータを有さないように決定される、
請求項６記載の方法。
【請求項８】
前記開始コードが前記停止コードに等しい、および／または、wait_framesパラメータを有するフレームのみがビットレート・コード・パラメータを有する、請求項６または７記載の方法。
【請求項９】
・前記ビットストリームのビットレートbrの推定値brestが、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり；
・指数kは、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて、前記プロセッサによって決定され；
・仮数fbrCorrは、前記サブシーケンスの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて、前記プロセッサによって決定される、
請求項６ないし８のうちいずれか一項記載の方法。
【請求項１０】
前記ビットレート・コード・パラメータが二ビットを有する、請求項６ないし９のうちいずれか一項記載の方法。
【請求項１１】
・前記ビットストリームは、ABRと称される平均ビットレートを示す；および／または
・前記ビットストリームは、バッファ・モデルに従い、そのバッファ・モデルの状態を信号伝達するためにwait_framesパラメータを使う；および／または
・前記ビットストリームのフレーム・レートfframeが一定である、
請求項１ないし１０のうちいずれか一項記載の方法。
【請求項１２】
ビットストリームのビットレートbrの推定値brestを決定するよう構成されている、プロセッサを有するビットレート推定器であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、それらの抜粋は一定の時間的長さをもち、前記フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有し、フレームのwait_framesパラメータは、対応するフレームが多重化装置によっておよび／またはデコード装置によって、該多重化装置および／または該デコード装置によるそのフレームの処理に先立って遅延されるフレーム数を示し、前記プロセッサは、
・前記ビットストリームからのフレームのサブシーケンスのN個フレームについて全ビット数STotを決定し；
・フレーム数Nに基づいてかつ前記サブシーケンスの第一のフレームおよび第二のフレームのwait_framesパラメータの間の差に基づいて、補正されたフレーム数N'を決定するよう構成されており、前記第一のフレームは前記サブシーケンスの先頭のフレームに対応し、前記第二のフレームは前記サブシーケンスの末尾のフレームに対応し；
前記プロセッサはさらに、
・全ビット数STotに基づいて、補正されたフレーム数N'に基づいて、かつ前記ビットストリームのフレーム・レートfframeに基づいて、ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを決定するよう構成されている、
ビットレート推定器。
【請求項１３】
ビットレートbrをもつビットストリームを提供する方法であって、プロセッサが：
・オーディオおよび／またはビデオ信号からフレームのシーケンスを生成する段階であって、前記フレームのシーケンスの諸フレームは、前記オーディオおよび／またはビデオ信号の抜粋に対応し、それらの抜粋は一定の時間的長さをもち、前記フレームのシーケンスの諸フレームは、変動する数のビットを含む、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入する段階であって、フレームのwait_framesパラメータは、対応するフレームが多重化装置によっておよび／またはデコード装置によって、該多重化装置および／または該デコード装置によるそのフレームの処理に先立って遅延されるフレーム数を示す、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入する段階とを実行することを含み、前記ビットレート・コード・パラメータは、種々のビットレート・コード値を取り、挿入されるビットレート・コード・パラメータのビットレート・コード値は前記ビットストリームのビットレートbrに依存し、前記ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり、ビットレートbrの初期推定値は、多重化装置および／またはデコード装置によって、前記ビットストリーム内に含まれるwait_framesパラメータに基づいて決定され、前記初期推定値はビットレートbrのビットレート下限brminおよびビットレート上限brmaxを定義し、推定値brestの指数kは、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて決定され、仮数fbrCorrは、前記多重化装置および／または前記デコード装置によって、前記ビットレート・コード・パラメータに基づいて決定される、
方法。
【請求項１４】
ビットレートbrを有するビットストリームを生成するよう構成されたエンコード・システムであって、当該エンコード・システムは、
・オーディオおよび／またはビデオ信号からフレームのシーケンスを生成する段階であって、前記フレームのシーケンスの諸フレームは、前記オーディオおよび／またはビデオ信号の抜粋に対応し、それらの抜粋は一定の時間的長さをもち、前記フレームのシーケンスの諸フレームは、変動する数のビットを含む、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入する段階であって、フレームのwait_framesパラメータは、対応するフレームが多重化装置によっておよび／またはデコード装置によって、該多重化装置および／または該デコード装置によるそのフレームの処理に先立って遅延されるフレーム数を示す、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入する段階とを実行するよう構成されており、前記ビットレート・コード・パラメータは種々のビットレート・コード値を取り、挿入されるビットレート・コード・パラメータのビットレート・コード値は前記ビットストリームのビットレートbrに依存し、前記ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり、ビットレートbrの初期推定値の精度は、多重化装置および／またはデコード装置によって、前記ビットストリーム内に含まれるwait_framesパラメータに基づいて決定され、前記初期推定値はビットレートbrの下限brminおよび上限brmaxを定義し、推定値brestの指数kは、前記多重化装置および／または前記デコード装置によって、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて決定され、仮数fbrCorrは、前記多重化装置および／または前記デコード装置によって、前記ビットレート・コード・パラメータに基づいて決定される、
方法。
【請求項１５】
ビットストリームのビットレートbrの推定値brestを決定する方法であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、前記ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり、前記フレームのシーケンスのうち少なくとも一つのフレームがビットレート・コード・パラメータを有し、当該方法はプロセッサが：
・ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを提供する段階と；
・指数kを、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて決定する段階と；
・仮数fbrCorrを、前記フレームのシーケンスの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて決定する段階とを実行することを含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は2013年12月2日に出願された欧州特許出願第13195368.9号および2014年4月30日に出願された米国仮特許出願第61/986,351号の優先権の利益を主張するものである。両出願の内容はここに参照によって組み込まれる。
【０００２】
技術分野
本稿はエンコードされたビットストリームに関係したビットレートの判別に関する。
【背景技術】
【０００３】
低ビットレート・チャネルを通じたエンコードされたビットストリームの伝送を容易にするために、送信装置は典型的には、前記ビットストリームをエンコードするときに適用されたビットレートについての情報を必要とする。さらに、エンコードされたビットストリームのビットレートに関する情報は、複数のエンコードされたビットストリームをジョイント・ビットストリームに多重化するよう構成されている多重化装置において必要とされることがある。そのような多重化装置のための例はMPEG-2トランスポート・ストリーム・マルチプレクサである。デコード装置も、前記ビットストリームをエンコードするときに適用されたビットレートについての情報を必要とすることがある。
【０００４】
適用されたビットレートの（いくぶん）粗い推定は、たとえば、エンコードされたビットストリームの受領されたフレームの実際のサイズから推定されうる。しかしながら、そのような推定の品質は、ビットストリームの型に依存する。ビットストリームの可能な型は、たとえば、一定ビットレート（CBR:  constant  bitrate）、可変ビットレート（VBR:  variable  bitrate）または平均ビットレート（ABR:  average  bitrate）ビットストリームである。CBRビットストリームは典型的には、ビットストリームのフレームが実質的に一定のサイズをもつので、ビットレートの明示的な信号伝達を要求しない。他方、VBRビットストリームの場合、瞬時ビットレートは実質的に変動することがあり、フレーム・サイズに基づくビットレートの推定の品質は典型的には比較的低い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ABRビットストリームは、当該ビットストリームによって「平均的に」達成されるべきビットストリームを示す。ABRビットストリームの多重化装置および／またはデコード装置は、当該ビットレートの瞬間的な変動を扱うことができるために、典型的には所定のサイズの（たとえば、あらかじめ決められたフレーム数のおよび／または固定されたビットサイズの）バッファを有する。そのようなビットストリームは「バッファ・モデル」に従うと呼ばれる。本稿は、効率的かつ精密な仕方でそのようなビットストリームのビットレートを決定することの技術的問題に取り組むものである。このコンテキストにおいて、特にビットレート推定の正確さを高めるためにおよび／またはビットレート情報をエンコードするために必要とされるビット数を低減するために、ビットレートに関する情報を信号伝達するための効率的な方式を提供することが望ましいことがありうる。
【０００６】
記載される方法は、他の型のビットストリームにも適用されうる。例として、記載される方法は、VBRビットストリームの目標または平均ビットレートの指標を決定するためにVBRビットストリームに適用されてもよい。
【課題を解決するための手段】
【０００７】
ある側面によれば、ビットストリームのビットレートbrの推定値brestを決定するための方法が記述される。ビットストリームはフレームのシーケンスを含む。該フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応する。特に、フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、それらの抜粋（たとえばすべての抜粋）は一定の時間的長さをもつ。他方、フレームのシーケンスの諸フレームは、変動する数のビットを含んでいてもよい。つまり、ビットストリームの瞬時ビットレートは変動しうる。同時に、ビットストリームは、平均では一定だがバッファ・モデルに従うビットレートを示してもよい。そのようなビットレートをもつビットストリームは、平均ビットレート（ABR）ビットストリームと称されてもよい。ビットストリームはAC-4ビットストリームであってもよい。
【０００８】
フレームのシーケンスのうち少なくとも二つのフレームがwait_frames〔待ちフレーム数〕パラメータを有していてもよい。フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示しうる。特に、フレームのwait_framesパラメータは、対応するフレームが処理に先立って遅延されるフレーム数を示してもよい。よって、wait_framesパラメータは、当該ビットストリームを処理する多重化装置および／またはデコード装置にバッファリング命令を提供しうる。wait_framesパラメータは、バッファ・モデルの状態を信号伝達する一つの方法である。他の方法はたとえば、FIFOタイミングのbuffer_fullness〔バッファ充填度〕値を使うことである。
【０００９】
本方法は、ビットストリームからのフレームのサブシーケンスについて全ビット数または全サイズSTotを決定することを含む。特に、該サブシーケンスからのN個のフレームの全ビット数STotが決定されてもよい。サブシーケンスは、ビットストリームのフレームのいくつかの中に含まれる情報に基づいてビットストリームから選択されてもよい。特に、サブシーケンスは、フレームのシーケンスのうちの少なくとも二つのフレーム内に含まれるビットレート・コード・パラメータに基づいて選択されてもよい。
【００１０】
上記のように、フレームのビット数（サイズとも称される）は変動しうる。よって、全ビット数STotは、（当該サブシーケンスが相対的により大きなサイズまたは相対的により小さなサイズのどちらをもつフレームを含むかに依存して）フレーム毎の平均ビット数のN倍より多いまたは少ないことがありうる。フレームの平均サイズに対するサブシーケンスのフレームのサイズに関する情報は、バッファリング情報から、すなわちwait_framesパラメータから導出されてもよい。したがって、本方法は、サブシーケンス内に含まれるフレーム数に基づき（特に、全ビット数STotを決定するために使われたフレーム数Nに基づき）かつサブシーケンスの少なくとも二つのフレームのwait_framesパラメータに基づく補正されたフレーム数N'を決定することを含む。よって、フレームが変動するサイズをもつことの効果は、少なくとも部分的には補償されうる。
【００１１】
さらに、本方法は、全ビット数STotに基づき、補正されたフレーム数N'に基づき、かつビットストリームのフレーム・レートfframeに基づいて、ビットレートbrの下限brminおよび上限brmaxを決定することを含む。ビットストリームのフレーム・レートfframeは（少なくともその解析されるサブシーケンスについては）一定であってもよい。ビットレートが区間[brmin,brmax]内にあることは確証されうるので、下限brminおよび上限brmaxはビットレートbrについての推定値brestを提供する。
【００１２】
wait_framesパラメータを考慮に入れることによって、すなわちバッファリング情報を考慮に入れることによって、推定値brestの精度は、ビットレート情報を信号伝達するためのビットストリームの追加的なオーバーヘッドを使うことなく、改善されうる。AC-4ビットストリームの場合、wait_framesパラメータを考慮するとき、推定値brestの精度は因子1/6だけ改善されうることが示されることができる。典型的には、精度の可能な改善は、ビットストリームのフレームの平均フレーム・サイズおよび／またはバッファの最大サイズに依存する。
【００１３】
補正されたフレーム数N'は、当該サブシーケンスからの第一のフレームおよび第二のフレームのwait_framesパラメータの間の差に基づいて決定されてもよい。具体的には、第一のフレームはサブシーケンスの先頭のフレームに対応してもよく、および／または第二のフレームはサブシーケンスの末尾のフレームに対応してもよい。よって、サブシーケンスの伝送の間のバッファの「発展」が決定でき、ビットレート推定値brestの精度を高めるために考慮に入れられることができる。
【００１４】
典型的には、バッファリング情報、すなわちwait_framesパラメータは、ある数のフレームに対応するあらかじめ決定された分解能をもつ。結果として、補正された数N'は典型的には、1フレームの精度までしか補正され得ない。したがって、下限brminは補正された数N'に1を加えたものに基づいて決定されてもよく、上限brmaxは補正された数N'から1を引いたものに基づいて決定されてもよい。
【００１５】
フレームのサブシーケンスはN＋1個のフレームnを含んでいてもよい。n＝0,…,Nである。サブシーケンスの先頭のフレームn＝0はwait_frames(0)と称されるwait_framesパラメータを含んでいてもよく、サブシーケンスの末尾のフレームn＝Nはwait_frames(N)と称されるwait_framesパラメータを含んでいてもよい。全ビット数STotは、サブシーケンスのN個のフレームについて決定されうる（サブシーケンスの最初または最後のフレームはSTotを決定するときに考慮に入れられなくてもよい）。例として、フレームのwait_framesパラメータは、対応するフレームの末尾に対する処理遅延を示してもよい。そのような場合、全ビット数STotは
【数１】
0006271756.tif 000002
として決定されうる。ここで、Snはサブシーケンスのフレームnのビット数（またはサイズ）である。
【００１６】
補正されたフレーム数N'は次いで、wait_frames(0)とwait_frames(N)の間の差を使ってNをオフセットすることによって決定されてもよい。具体的には、補正されたフレーム数N'は
N'＝N＋wait_frames(0)−wait_frames(N)
として決定されてもよい。
【００１７】
全体として、下限は
【数２】
0006271756.tif 000003
によって与えられてもよく、および／または上限は
【数３】
0006271756.tif 000004
によって与えられてもよい。
【００１８】
フレームのシーケンスの少なくともいくつかのフレームは、ビットレート・コード・パラメータを含んでいてもよい。ビットレート・コード・パラメータの値（たとえば、ビットレート・コード・パラメータの特定のビット組み合わせ）は、開始コードおよび／または停止コードに対応してもよい。上限および下限を決定するために使われるビットストリームのサブシーケンスは、フレームのシーケンスから、開始コードおよび／または停止コードに基づいて決定されてもよい（たとえば、選択されてもよい）。具体的には、サブシーケンスは、サブシーケンスの先頭のフレームが開始コードに対応するビットレート・コード・パラメータを有し、サブシーケンスの末尾のフレームが停止コードに対応するビットレート・コード・パラメータを有し、サブシーケンスの他のどのフレームも開始コードまたは停止コードに対応するビットレート・コード・パラメータを有さないように決定されてもよい。
【００１９】
よって、ビットレート・コード・パラメータは、新しいビットレートbrが推定されるべきであるという事実を信号伝達するための効率的な手段を提供しうる。例として、開始コードおよび／または停止コードは、多重化装置および／またはデコード装置に、ビットストリームのビットレート（たとえばABRビットレート）が変化したことを通知するために、エンコード装置によって使用されてもよい。開始コードは停止コードに等しくてもよく、それにより新しいビットレートが推定されるべきであるという事実を信号伝達するために必要とされるオーバーヘッドをさらに低減しうる。
【００２０】
wait_framesパラメータがビットレートの（大まかな）推定値を決定するために使われるという事実に鑑み、wait_framesパラメータを有するフレームのみがビットレート・コード・パラメータを有していてもよい。結果として、ビットレート・コード・パラメータによって引き起こされるオーバーヘッドはさらに低減されうる。
【００２１】
よって、本方法は、ビットストリーム内に含まれるwait_framesパラメータに基づいて、ビットレートbrの（いくぶん）粗い推定値brest（特に、上限および下限brmin、brmaxを）を決定するための段階を含んでいてもよい。代替的または追加的に、本方法は、ビットレートのそのような初期の（たとえば粗い）推定値を提供する前記段階と、ビットストリーム内に含まれる追加的なビットレート情報を使って前記初期推定値の精度を高めるさらなる段階とを含んでいてもよい。具体的には、本方法は、ビットストリームの一つまたは複数のフレーム内に含まれるビットレート・コード・パラメータの値を使って初期の推定値の精度を高める段階を含んでいてもよい。よって、ビットレートの初期の推定値の精度を高めることに向けられる方法が記述される。そのような方法については、上述した方法段階は、ビットレートbrの初期の推定値brestを提供する（たとえば、ビットストリームのビットレートbrの上限および下限brmin、brmaxを提供する）全体的な段階によって要約されうる。
【００２２】
ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であってもよい。指数kは、ビットレートの下限brminおよび／または上限brmaxに基づいて決定されてもよい。仮数fbrCorrは、サブシーケンスの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて決定されてもよい。具体的には、浮動小数点表現は、brest＝fbrCorr×2kとなるような二進浮動小数点表現であってもよい。そのような場合、仮数fbrCorrは1から2までの間の値を取ってもよい。よって、仮数（本稿ではビットレート補正因子とも称される）fbrCorrは指数kによって与えられる初期推定値の精度を高めるために使用されうる。
【００２３】
本方法は、
【数４】
0006271756.tif 000005
となるよう少なくとも二つの潜在的な指数K1およびK2を決定することを含んでいてもよい。さらに、本方法は、x∈{1;2}として、brx＝fbrCorr×2Kxとなるよう、少なくとも二つの中間推定値brxを決定することを含んでいてもよい。x∈{1;2}について、brmin≦brx＜brmaxについて、前記少なくとも二つの中間的な推定値brxの一方が、ビットレートbrの推定値brestとして選択されてもよい。少なくとも二つの潜在的な指数K1およびK2の使用は、特にビットレートbrが数2kに近いまたは等しい場合に、ビットレート推定値brestの一意性を保証するために、有益である。
【００２４】
前記少なくとも二つの中間的な推定値brxのいずれも条件brmin≦brx＜brmaxを満たさない場合には、ビットレートbrの推定値brestは区間[brmin,brmax]内に含まれるある値として決定されてもよい。そのような事例は、[brmin,brmax]によって与えられるビットレート推定値がすでに十分精密である場合に起こりうる。区間[brmin,brmax]内に含まれる前記値は、下限brminおよび上限brmaxの平均値であってもよい。代替的または追加的に、区間[brmin,brmax]の他の値に比べてビットレートbrである増大した確率をもつ値が選択されてもよい（たとえば、2kによって与えられるビットレートのような、ビットレートbrについての典型的な値）。
【００２５】
フレームのビットレート・コード・パラメータは、Lが1より大きな整数であるとして、L通りの異なるビットレート・コード値を取り得る。L個のビットレート・コード値は典型的には開始コードおよび／または停止コードとは異なる。よって、ビットレート・コード・パラメータは、L個の異なるビットレート・コード値のほか開始コードおよび／または停止コードに対応する値を取り得る。仮数fbrCorrは、サブシーケンスの一つまたは複数のフレームのビットレート・コード値に依存してもよい。換言すれば、一つまたは複数のフレームのビットレート・コード・パラメータのビットレート・コード値は、（区間[brmin,brmax]によって与えられる）初期推定値の精度を増すために、仮数fbrCorrの値を信号伝達するために使われてもよい。
【００２６】
仮数は、一つまたは複数のフレームのビットレート・コード・パラメータのビットレート・コード値から、仮数fbrCorrの精度が、ビットレート・コード値に対応するビットレート・コード・パラメータを含む当該サブシーケンスのフレームの数とともに増大するよう、決定されてもよい。特に、仮数fbrCorrの精度は、ビットレート・コード値に対応するビットレート・コード・パラメータを含む当該サブシーケンスの各フレームとともに因子Lだけ増大しうる。よって、ビットレート推定値の所望される精度と信号伝達レイテンシーおよび／またはオーバーヘッドとの間の直接的なリンクが提供されうる。こうすることにより、ビットレート信号伝達のための高度の柔軟性が与えられる。
【００２７】
サブシーケンスは、ビットレート・コード値に対応するビットレート・コード・パラメータを有するQ個のフレームqを有していてもよい。ここで、q＝1,…,Qであり、Qは0より大きい整数である。パラメータQは本稿ではbr_digitsとも称される。パラメータcqはフレームqのビットレート・コード値であってもよい。ここで、cq∈{0;1;…;L−1}である。パラメータbr_corrは
【数５】
0006271756.tif 000006
として決定される累積されたビットレート・コードであってもよい。すると、仮数fbrCorrは
【数６】
0006271756.tif 000007
によって与えられてもよい。Qが増大するにつれ、仮数fbrCorrの精度が増すことが見て取れる。
【００２８】
ある好ましい例では、Q＝3、L＝3、N＝4である。さらに、ビットレート・コード・パラメータは二ビットのみを有していてもよく、それにより比較的少ない量のビットレート信号伝達オーバーヘッドを提供する。
【００２９】
上記のように、あるさらなる側面によれば、ビットレートの初期推定値の精度を高める方法が記述される。換言すれば、ビットストリームのビットレートbrの推定値brestを決定するためまたはビットレートbrの推定値brestの精度を高めるための方法が記述される。さらに、対応するビットレート推定器が記述される。ビットレートは、フレームのシーケンスを含む。ここで、該フレームのシーケンスの諸フレームは、変動する数のビットを含んでいてもよい。該フレームのシーケンスの諸フレームは、オーディオ信号および／またはビデオ信号の抜粋に対応する。本稿で概説されるように、ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを含む浮動小数点表現で表現可能であってもよい。フレームのシーケンスのうち少なくとも一つのフレームがビットレート・コード・パラメータを含んでいてもよい。本方法は、（ビットレートの初期推定値として）ビットレートbrの下限brminおよび上限brmaxを提供することを含む。さらに、本方法は、ビットレートbrの下限brminに基づきおよび／または上限brmaxに基づき、指数kを決定することを含む。さらに、本方法は、フレームのシーケンスのうちの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて仮数fbrCorrを決定することを含む。
【００３０】
あるさらなる側面によれば、たとえばプロセッサを有するビットレート推定器が記述される。ビットレート推定器は、ビットストリームのビットレートbrの推定値brestを決定するよう構成されている。ビットストリームはフレームのシーケンスを含み、該フレームのシーケンスの諸フレームは、変動する数のビットを含んでいてもよい。該フレームのシーケンスの諸フレームは、オーディオ信号および／またはビデオ信号の抜粋に対応する。フレームのシーケンスのうち少なくとも二つのフレームがwait_frames〔待ちフレーム数〕パラメータを有する。フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示しうる。ビットレート推定器、特にプロセッサは、ビットストリームからのフレームのサブシーケンスについて全ビット数STotを決定するよう構成されていてもよい。さらに、ビットレート推定器、特にプロセッサは、サブシーケンス内に含まれるフレーム数に基づきかつサブシーケンスの少なくとも二つのフレームのwait_framesパラメータに基づく補正されたフレーム数N'を決定するよう構成されていてもよい。加えて、ビットレート推定器、特にプロセッサは、全ビット数STotに基づき、補正されたフレーム数N'に基づき、かつビットストリームのフレーム・レートfframeに基づいて、ビットレートbrの下限brminおよび上限brmaxを決定するよう構成されていてもよい。
【００３１】
もう一つの側面によれば、一つまたは複数の個々のビットストリームから組み合わされたビットストリームを決定するよう構成された多重化装置が記述される。多重化装置は、前記一つまたは複数の個々のビットストリームのビットレートの推定値を決定するよう構成されている、本稿において記述されるビットレート推定器を有する。多重化装置は、前記一つまたは複数の個々のビットストリームのビットレートの推定値に基づいて前記組み合わされたビットストリームを決定するよう構成されていてもよい。多重化される前記一つまたは複数の個々のビットストリームは、エレメンタリー・ストリームであってもよく、前記組み合わされたビットストリームはMPEG-2トランスポート・ストリームであってもよい。
【００３２】
もう一つの側面によれば、ビットレートbrをもつビットストリームを提供する方法が記述される。本方法は、オーディオ信号からおよび／またはビデオ信号からフレームのシーケンスを生成することを含んでいてもよい。フレームのシーケンスの諸フレームは、オーディオ信号および／またはビデオ信号の抜粋に対応してもよく、あるいは該抜粋を示していてもよい。特に、フレームのシーケンスの諸フレームは、オーディオ信号および／またはビデオ信号の抜粋から導出されたエンコードされたデータを含んでいてもよい。
【００３３】
本方法はさらに、フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入することを含んでいてもよい。フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示しうる。上記で概説したように、wait_framesパラメータは、ビットレートbrの初期推定値を提供するために使われてもよい。
【００３４】
本方法は、フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入することを含む。ビットレート・コード・パラメータは、種々のビットレート・コード値を取りうる。挿入されるビットレート・コード・パラメータのビットレート・コード値は典型的にはビットストリームのビットレートbrに依存する。本稿で概説されているように、ビットレート・コード・パラメータのビットレート・コード値は、ビットレートbrの初期推定値の精度を高めるために使用されてもよい。よって、本方法は、比較的低い信号伝達オーバーヘッドでビットレートbrの精密な推定値の決定を許容するビットストリームを提供する。
【００３５】
ビットレート・コード・パラメータは、wait_framesパラメータをも含むフレームに中に挿入されるだけであってもよい。具体的には、wait_framesパラメータがフレームのシーケンスの諸フレームが変動する数のビットを含むことおよび／またはビットストリームが一定ビットレート（CBR）ビットストリームではないことを示す場合にのみ、ビットレート・コード・パラメータが挿入されてもよい。こうすることにより、信号伝達オーバーヘッドがさらに低減されうる。
【００３６】
すでに上記で概説したように、ビットレート・コード・パラメータは二つのビットのみを含んでいてもよい。代替的または追加的に、ビットレート・コード・パラメータは、二つ以上のビットレート・コード値に加えて、開始コードおよび／または停止コードを含んでいてもよい。よって、ビットレート信号伝達は、柔軟で、オーバーヘッド効率のよい仕方でなされうる。
【００３７】
もう一つの側面によれば、ビットレートbrを有するビットストリームが記述される。ビットストリームはフレームのシーケンスを含み、フレームのシーケンスの諸フレームはオーディオ信号および／またはビデオ信号の抜粋に対応してもよい。フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有していてもよい。ここで、フレームのwait_framesパラメータは対応するフレームについての処理遅延を示す。さらに、フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを含んでいてもよい。ビットレート・コード・パラメータは、種々のビットレート・コード値を取り、挿入されたビットレート・コード・パラメータのビットレート・コード値はビットストリームのビットレートbrに依存する。
【００３８】
あるさらなる側面によれば、ビットレートbrを有するビットストリームを生成するよう構成されたエンコード・システムが記述される。エンコード・システム（たとえば該エンコード・システムのプロセッサ）は、オーディオ信号からおよび／またはビデオ信号からフレームのシーケンスを生成するよう構成されている。ここで、フレームのシーケンスの諸フレームは、オーディオ信号および／またはビデオ信号の抜粋に対応する。加えて、エンコード・システム（たとえば該エンコード・システムのプロセッサ）は、フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入するよう構成されており、フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示す。さらに、エンコード・システム（たとえば該エンコード・システムのプロセッサ）は、フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入するよう構成されている。ビットレート・コード・パラメータは、種々のビットレート・コード値を取りうる。挿入されるビットレート・コード・パラメータの実際のビットレート・コード値はビットストリームのビットレートbrに依存する。
【００３９】
あるさらなる側面によれば、ソフトウェア・プログラムが記述される。ソフトウェア・プログラムはプロセッサ上での実行のためおよびプロセッサ上で実行されたときに本稿で概説される方法段階を実行するために適応されていてもよい。
【００４０】
もう一つの側面によれば、記憶媒体が記述される。本記憶媒体は、プロセッサ上での実行のために、該プロセッサ上で実行されたときに本稿で概説される方法段階を実行するために適応されているソフトウェア・プログラムを有していてもよい。
【００４１】
あるさらなる側面によれば、コンピュータ・プログラム・プロダクトが記述される。本コンピュータ・プログラムは、コンピュータ上で実行されたときに本稿で概説される方法段階を実行するための実行可能命令を含んでいてもよい。
【００４２】
本特許出願において概説される好ましい実施形態を含む方法およびシステムは、単独で、あるいは本稿に開示される他の方法およびシステムとの組み合わせで使われてもよいことを注意しておくべきである。さらに、本特許出願において概説される方法およびシステムのすべての側面は、任意に組み合わされうる。特に、請求項の特徴は、任意の仕方で互いに組み合わされうる。
【図面の簡単な説明】
【００４３】
本発明は、付属の図面を参照して例示的な仕方で下記に説明される。
【図１】例示的な符号化および／または伝送システムのブロック図である。
【図２】例示的な状態機械を示す図である。
【発明を実施するための形態】
【００４４】
上記で概説したように、本稿は、ビットストリームのビットレートの判別に関する。ビットレートは、たとえば、ビットストリームを一つまたは複数の他のビットストリームとマージするために多重化装置によって、判別される必要があることがある。そのような多重化装置の例はMPEG-2トランスポート・ストリーム（TS）マルチプレクサである。代替的または追加的に、デコード装置が、ビットストリームのデコードの準備において、受領されたビットストリームのビットレートを決定する必要があることがある。
【００４５】
図１は、例示的な符号化および／または伝送システム１００のブロック図を示している。システム１００は、それぞれの一つまたは複数のビットストリーム１１１を生成するよう構成されている一つまたは複数のエンコード装置またはエンコーダ１０１を有する。ビットストリーム１１１は、たとえばエンコードされたオーディオ信号を含んでいてもよい。ビットストリーム１１１は、フレームのシーケンスとして構成されていてもよい。ここで、各フレームはエンコードされたオーディオ信号の抜粋を表わしていてもよい。ビットストリーム１１１の各フレームはオーディオ信号のあらかじめ決定された（時間的）長さの抜粋を表わしていてもよい（たとえば、オーディオ信号のうちの20ms）。
【００４６】
ビットストリーム１１１は、多重化装置またはマルチプレクサ１０３に与えられる。多重化装置１０３は典型的には、多重化タスクの準備においてビットストリーム１１１の一つまたは複数のフレームを記憶するよう構成されているバッファ１０２を有する。多重化装置１０３は、複数のビットストリーム１１１を組み合わされたビットストリーム１１３にマージするよう構成されていてもよい。個々のビットストリーム１１１は、エレメンタリー・ストリーム（ES）であってもよく、組み合わされたビットストリーム１１３はトランスポート・ストリーム（TS）、たとえばMPEG-2規格（MPEG-2パート１）に基づくトランスポート・ストリームであってもよい。
【００４７】
組み合わされたビットストリーム１１３は、多重分離装置またはデマルチプレクサ１０４によって多重分離されてもよく、個々のビットストリーム１１１のうちの一つまたは複数はそれぞれの一つまたは複数のデコード装置またはデコーダ１０５に与えられてもよい。デコード装置１０５は、エンコードされたビットストリーム１１１からオーディオ信号を再構成するよう構成されていてもよい。この目的のために、デコード装置１０５はバッファ１０６を利用してもよい。
【００４８】
多重化装置１０３および／またはデコード装置１０５は、個別のビットストリーム１１１のビットレートを決定するよう構成されていてもよい。この目的のために、多重化装置１０３および／またはデコード装置１０５はビットレート推定器またはビットレート推定ユニットを有していてもよい。ビットレート推定器は、（ビットストリーム１１１内に含まれる追加的なオーバーヘッド情報の必要なしに）ビットストリーム１１１のビットレートを推定するために以下の情報の一つまたは複数を利用してもよい：
・n＝0,…,Nとして、ビットストリーム１１１内に含まれる一つまたは複数のフレームnのフレーム・サイズSn（たとえばビット数）（N＋1がビットレートを推定するために考慮されるフレームの数である）；および／または
・たとえばあらかじめ決定された時間区間毎の（たとえば毎秒の）フレーム数を示すフレーム・レートfframe；および／または
・バッファ１０６の状態および／または前記一つまたは複数のフレームnがバッファ１０６によってバッファリングされる必要のある時間の量に関する指示。具体的には、バッファ１０６の充填状態（たとえば、バッファ１０６内に記憶されているフレームの数）が考慮されてもよい。代替的または追加的に、処理に先立ってフレームnがバッファリングされる必要のある時間区間の指示が考慮されてもよい。バッファ１０６の充填状態および／またはバッファリングのための時間区間の指示はいわゆるwait_framesパラメータである。このwait_framesパラメータは、特定のフレームが、処理されるのに先立ってバッファ１０６内で待たなければならない時間区間またはフレーム数を示す。wait_framesパラメータは典型的には、ビットストリーム１１１のフレームと一緒に情報として含まれる。
【００４９】
上述したパラメータの一つまたは複数が、ビットストリーム１１１のビットレートの推定値を決定するために、ビットレート推定器において使用されてもよい。典型的には、推定値の品質は、（特にABRビットストリーム１１１の場合）ビットレート推定器によって考慮されるフレームの数Nが増すにつれて高まる。
【００５０】
ビットレートの推定値brEstは、以下の方法を使って得られてもよい。推定値brEstを決定するために、実際のビットレートbrの上限brmaxおよび下限brminが複数のフレームのフレーム・サイズSnに基づき、フレーム・レートfframeに基づき、かつ前記複数のフレームの少なくともいくつかについてのwait_framesパラメータの値に基づいて決定されてもよい。限界値brminおよびbrmaxを使って、実際のビットレートbrの値についての可能なベース範囲VBase(k)（たとえば二つのベース範囲）が決定されてもよい。限界値brminおよびbrmaxおよび／またはベース範囲VBase(k)は、実際のビットレートbrの（いくぶん）粗い指示を与える。この指示は、ビットストリーム１１１内で伝送されるビットレート情報（ビットレート・コード）を使ってさらに洗練されてもよい。具体的には、ビットレート補正因子が、ビットストリーム１１１の一つまたは複数のフレーム内で伝送されるビットレート・コードから計算されてもよい。ビットストリーム補正因子は、ベース範囲VBase(k)との関連で使われて、複数の中間ビットレート推定値brx（たとえば、二つのベース範囲VBase(k)に基づく二つのビットレート推定値）を決定してもよい。その後、前記複数の中間的なビットレート推定値brxから、限界値brminおよびbrmaxを使って、ビットレートの正しい推定値brEstが選択されてもよい。
【００５１】
ビットレートの下限および上限brminおよびbrmaxは、n＝0,…,NとしてN＋1個のフレームnのシーケンスの諸フレーム・サイズを評価することによって決定されてもよい。具体的には、二つの隣り合う開始コードの間のN＋1個のフレームが解析されてもよい。下記でさらに詳細に概説されるように、ビットストリーム１１１の少なくともいくつかのフレームはビットレート・コード（本稿においてbr_codeパラメータと称される）を含んでいてもよい。ビットレート・コードは、二ビットの長さを有していてもよい。ビットレート・コードのビット組み合わせの意味の例は表１に与えてある。ビットレート・コードが開始コードに対応してもよいことが見て取れる（ビット組み合わせ11b）。
【００５２】
【表１】
0006271756.tif 000008
ビットレートの下限および上限brmin、brmaxを決定するために考慮されるN＋1個のフレームは、ビットストリーム１１１のフレームのシーケンスからのサブシーケンスに対応してもよい。ここで、該サブシーケンスの最初と最後のフレームだけが開始コードを含む。よって、N＋1個のフレームのこのサブシーケンスにおける最初のフレーム（すなわちn＝0）は第一の開始コードを担持する。開始コード以外のビットレート・コードを担持する（またはビットレート・コードを全く担持しない）N−1個のフレームがそれに続く。サブシーケンスのN番目のフレームは第二の開始コードを含む。
【００５３】
【表２】
0006271756.tif 000009
0006271756.tif 000010
表２は、ビットストリーム１１１のフレームの例示的シンタックスを示している。フレームはwait_framesパラメータに関する情報を含んでいることが見て取れる。wait_framesパラメータは、対応するフレームを待ち行列に入れるためにバッファ１０６によって使用されてもよい。具体的には、wait_framesパラメータは、対応するフレームがその後の装置によって（たとえばデコード装置１０５によって）処理されるのに先立ってバッファリングされる必要のあるフレーム数をバッファ１０６に示してもよい。多重化装置１０３も、多重化されたビットストリーム１１３中にフレームを挿入する前にバッファリングされるべきフレーム数を決定するために、wait_framesパラメータを利用してもよい。しかしながら、送信装置における（たとえば多重化装置１０３における）使用のためには、wait_framesパラメータは変換される必要があることがある。これは、送信装置１０３におけるバッファ１０２が、変動するフレーム・サイズをならすために、典型的には受信装置１０５におけるバッファ１０６と逆に動作するという事実のためである。
【００５４】
（フレームの平均サイズに比べて）相対的に大きなサイズをもつフレームの場合、フレームが処理されるのが遅すぎないことを保証するために、wait_framesパラメータは低減されてもよい。他方、（フレームの平均サイズに比べて）相対的に短いサイズをもつフレームの場合、フレームが処理されるのが早すぎないことを保証するために、wait_framesパラメータは増大されてもよい。
【００５５】
限界値brmin、brmaxを決定するために、N＋1個のフレームのサブシーケンス内のフレームnのサイズSnが累計されて、全サイズ
【数７】
0006271756.tif 000011
を決定してもよい。特にフレームのwait_framesパラメータが対応するフレームの終わりが受領される時点を指す場合、サブシーケンスにおける最初のフレーム（すなわちn＝0）のサイズSnは典型的には無視される。あるいはまた、たとえば対応するフレームのwait_framesパラメータが当該フレームの先頭が受領される時点を指す場合、サブシーケンスにおける最後のフレーム（すなわちn＝N）のサイズSnが無視されてもよい。
【００５６】
さらに、フレームのサブシーケンスの諸フレームの少なくともいくつかのフレームのwait_framesパラメータを評価することによって、補正されたフレーム数N'が決定されてもよい。補正されたフレーム数N'は、
N'＝N＋wait_frames(0)−wait_frames(N)
によって与えられてもよい。ここで、wait_frames(0)はサブシーケンスの最初のフレーム（n＝0）のwait_framesパラメータの値であり、wait_frames(N)はサブシーケンスの最後のフレーム（n＝N）のwait_framesパラメータの値である。上記で概説されたように、フレームnのサイズSnが（実際のビットレートbrに対応する）平均フレーム・サイズbr/fframeより大きい場合、フレームnのwait_frames(n)パラメータは（直前のフレームn−1のwait_frames(n)パラメータに比べて）低減する傾向がある。逆もまたしかりである。よって、差[wait_frames(0)−wait_frames(N)]＞0ということはサブシーケンスのフレームの平均サイズが平均フレーム・サイズbr/fframeより大きかったこと（よって（平均で）より大きなフレーム数に対応すること）を示す。同様に、差[wait_frames(0)−wait_frames(N)]＜0ということはサブシーケンスのフレームの平均サイズが平均フレーム・サイズbr/fframeより小さかったこと（よって（平均で）より少ないフレーム数に対応すること）を示す。差[wait_frames(0)−wait_frames(N)]の大きさは、サブシーケンスのフレームの平均サイズが平均フレーム・サイズbr/fframeよりどのくらい多かったまたは少なかったか示す。よって、補正されたフレーム数N'は、n＝1,…,Nとして各フレームnが平均フレーム・サイズbr/fframeをもっていたとした場合に、フレームのサブシーケンスの決定された全サイズSTotが対応するであろうフレーム数の指示を与える。
【００５７】
wait_frames(n)パラメータは、典型的にはあからじめ決定された分解能をもつ。表２の例において示されるように、フレームのwait_frames(n)パラメータは全部で3ビットを含み、よって8通りの異なる値を取ることができる。典型的には、wait_frames(n)パラメータは、フレームの整数倍として、フレームの処理についての遅延を指示する。よって、n＝1,…,Nとして各フレームnが平均フレーム・サイズbr/fframeをもっていたとした場合に、補正されたフレーム数N'は1フレームだけ、フレームのサブシーケンスの決定された全サイズSTotが対応するであろうフレーム数から異なっていてもよい（すなわち、N'−1またはN'＋1）。よって、実際のビットレートbrの下限および上限が、STot、N'およびフレーム・レートfframeを使って、次の公式を使って決定されてもよい。
【００５８】
【数８】
0006271756.tif 000012
実際のビットレートbr、すなわちABRビットストリーム１１１の平均ビットレートは、下の境界と上の境界の間にある。すなわち、brmin＜br＜brmaxである。
【００５９】
ビットレート情報を含むフレーム、特にビットレート・コードを含むフレームは、ビットストリーム内で必ず連続して現われる必要はないことを注意しておくべきである。表２に示されるように、ビットストリーム・フォーマットは、フレームごとにwait_framesパラメータを、よってbr_codeパラメータを送ることを許容する。br_codeパラメータの伝送によって引き起こされるオーバーヘッドが注意を要する因子であれば、ビットストリーム情報は2フレーム毎または3フレーム毎に送られるだけであってもよい。にもかかわらず、上記で概説したように、二つの隣り合う開始コードの間のサブシーケンス内のすべてのフレームが、実際のビットレートbrの上限および下限を決定するために使われてもよい。
【００６０】
よって、実際のビットレートbrが区間[brmin,brmax]内にあることが判定されてもよい。この区間は、実際のビットレートbrの（いくぶん）粗い推定値brestを与える。下記で概説されるように、br_codeパラメータは、実際のビットレートbrのこの（いくぶん粗い）推定値brestを洗練するために使われてもよい。具体的には、br_codeパラメータは、フレームごとに推定値brestを洗練するために使われてもよい。この目的のために、実際のビットレートbrの浮動小数点表現が使用されてもよい。そのような浮動小数点表現は指数k（たとえば2を底とする指数）および仮数fbrCorrを含む。指数は限界値brmin、brmaxに基づいて決定されてもよく、および／または仮数fbrCorrは、ビットストリーム１１１の一つまたは複数のフレーム内に含まれるbr_codeパラメータを使って決定されてもよい。
【００６１】
仮数fbrCorr（本稿ではビットレート補正因子とも称される）は、区間[1,2)内の値を取るよう定義されてもよく、指数kは2を底とする指数であってもよく、実際のビットレートの推定値は
brest＝fbrCorr×2k
によって与えられてもよい。
【００６２】
以下では、指数kを決定するためおよび仮数fbrCorrを決定するための方法が記述される。
【００６３】
実際のビットレートは以下の値brmin＜br＜brmaxを取り得る。下限と上限についての公式から見て取れるように、区間[brmin,brmax]の幅は典型的には考慮されるフレーム数Nの増大とともに減少する。具体的には、差Δ＝(brmax−brmin)は次式によって与えられる。
【００６４】
【数９】
0006271756.tif 000013
最悪ケースでは（たとえばN＝2または3フレームについて）、区間[brmin,brmax]は、kの二つの隣り合う整数値（ここではK1およびK2と称され、K2＝K1＋1）についての次のベース範囲の二つを含むことが示せる。
【００６５】
【数１０】
0006271756.tif 000014
よって、二つのベース範囲VBase(K1)およびVBase(K2)は、限界値brmin、brmaxの少なくとも一方に基づいて決定されてもよい。特に、二つのベース範囲は、次の条件が満たされるように決定されてもよい：
【数１１】
0006271756.tif 000015
K1およびK2を決定する代替的な方法は次によって与えられる：
【数１２】
0006271756.tif 000016
どちらの方法も、同じベース範囲、すなわち同じ指数K1およびK2を与える。
【００６６】
仮数またはビットレート補正因子fbrCorrは、ビットストリーム１１１の一つまたは複数のフレーム内に含まれる一つまたは複数のビットレート・コード（すなわち、br_codeパラメータ）を使って決定されてもよい。表１に示されるように、フレームのbr_codeパラメータは三つの異なる値、すなわち0,1,2を取ってもよい。一つまたは複数のフレームのサブシーケンスのbr_codeパラメータの値から、いわゆるbr_corr値が決定されてもよい。次いで、一つまたは複数のフレームのサブシーケンスのbr_corr値に基づいて、ビットレート補正因子fbrCorrが計算されてもよい。
【００６７】
具体的には、br_corr値は、上述したサブシーケンスのフレーム内に含まれるbr_codeパラメータの値に基づいて決定されてもよい。ここで、サブシーケンスの最初と最後のフレームは開始コードに対応するbr_codeパラメータを含み、最初と最後のフレームのほかはサブシーケンスは開始コードをもつさらなるフレームを含まない。
【００６８】
そのようなサブシーケンスのbr_corr値は、単一のフレームのbr_codeパラメータの値をMSBが先頭になっている三進数の数字として解釈することによって決定されてもよい。例として、フレームのサブシーケンスはbr_codeパラメータについて次の値のシーケンスを有していてもよい：11  01  10  00  11。これは二つの開始コードの間に囲まれたコード01  10  00を表わす。このコードは1*3^2＋2*3^1＋0*3^0＝15というbr_corr値を表わす。
【００６９】
ビットレート補正因子は次の公式に従って計算されてもよい。
【００７０】
【数１３】
0006271756.tif 000017
ここで、br_digitsは、二つの隣り合うビットレート開始コードの間に送られたbr_codeパラメータの数を表わす。
【００７１】
上記の例について、この結果は次のようになる。
【００７２】
【数１４】
0006271756.tif 000018
代替的または追加的に、ビットレート補正因子fbrCorrは逐次反復式に、たとえばフレームごとに決定されてもよい。第一の開始コードを含むフレームn（たとえばn＝0）の受領後、開始コードとは異なる値をもつbr_codeパラメータを有するフレームi（たとえばi＝1）が同定されてもよい。パラメータiは、開始コードと異なる値をもつbr_codeパラメータを有するフレームの数を数える。よって、パラメータiは1で始まり、br_digitsまで進む。フレームiのbr_codeパラメータを使って、中間的なビットレート補正因子fbrCorr(i)が次のようにして再帰的に決定されてもよい。
【００７３】
【数１５】
0006271756.tif 000019
ここで、fbrCorr(0)＝1であり、br_code(i)はフレームiのbr_codeパラメータの値を表わす。上記の漸化式を使って、中間的なビットレート補正因子fbrCorr(i)は、開始コードとは異なる値をもつbr_codeパラメータを有するフレーム一つごとに洗練されうる。第二の開始コードを有するフレームが受領されるとすぐ、中間的なビットレート補正因子fbrCorr(i)はビットレート補正因子fbrCorrに設定されうる。よって、ビットレート補正因子fbrCorrはフレームごとに洗練されうる。
【００７４】
図２の状態図２００は、br_corrおよびbr_digits値がどのように逐次反復式に累計されうるかを示している。状態図または状態機械２００は初期状態２０１を有する。初期状態内では、開始コードに対応するbr_codeパラメータ（すなわち、図示した例では値11bを有するbr_codeパラメータ）を有するフレームの存在がモニタリングされる。開始コード以外のbr_codeパラメータをもつフレームが検出されたら（遷移２１２）、状態機械２００は初期状態２０１内に留まる。他方、開始コードに対応するbr_codeパラメータをもつフレーム（遷移２１１）が検出されたら、状態機械２００は初期化状態２０２に移る。初期化状態２０２内では、パラメータbr_digitsおよびbr_corrは0に設定されうる。
【００７５】
開始コードに対応するbr_codeパラメータをもつその後のフレームの検出に際して（遷移２１１）、ットレートの現在の推定値がリセットされてもよい。開始コード以外の値に対応するbr_codeパラメータをもつその後のフレームの検出に際しては（遷移２１２）、パラメータbr_digitsおよびbr_corrの累積が累積状態２０３において起こりうる。パラメータbr_digitsおよびbr_corrの累積／決定は、開始コード以外の値に対応するbr_codeパラメータをもつフレーム（遷移２１２）が受領される限り、進行しうる。よって、パラメータbr_digitsおよびbr_corrはフレームごとに更新されることができ、それにより、（上記の公式を使って）ビットレート補正因子fbrCorrについてのより精密な値を与える。
【００７６】
新たな開始コードの検出（遷移２１１）は、新たなビットレート値が決定されるべきであることを示しうる。次いでパラメータbr_digitsおよびbr_corrは初期化状態２０２においてリセットされてもよい。
【００７７】
図２に示されるように、二つ以上の連続するビットレート開始コードが受領される場合には、ビットレート計算はリセットされてもよい。連続するビットレート開始コードは、ビットストリーム１１１のエンコーダ１０１がビットレート（たとえばABRビットレート）を修正することを明示的に信号伝達するために使われてもよい。
【００７８】
ビットストリーム１１１内に担持される（たとえばオーディオ信号の）プログラムの変化が、累積状態２０３における累積プロセスのリセットおよび状態２０１もしくは状態２０２へのリセットを引き起こしてもよいことを注意しておくべきである。
【００７９】
上記で概説したように、ビットレート補正因子fbrCorrは、フレームおよび／またはbr_codeパラメータの値が受領されるにつれて逐次的にデコードされてもよい。追加的な数字、すなわちbr_codeパラメータの追加的な値は、ビットレート補正因子fbrCorrはの精度を因子3だけ改善する。
【００８０】
推定値brEstはビットレート補正因子fbrCorrに基づき（すなわち、仮数に基づき）かつ指数K1およびK2の少なくとも一方に基づいて決定されてもよい。具体的には、K1およびK2についてビットレートの二つの中間的な推定値br1およびbr2がそれぞれ次式を使って計算されてもよい。
【００８１】
【数１６】
0006271756.tif 000020
正しい推定値（すなわちbr1またはbr2）は、推定値br1およびbr2を下限および上限brminおよびbrmaxとそれぞれ比較することによって決定されてもよい。次の条件：
brmin＜brx＜brmax        x∈{1,2}
を満たすビットレート推定値が推定されたビットレートbrEst＝brxに対応する。
【００８２】
上記の条件を満たすbrxがなければ、それは区間[brmin,brmax]によって与えられるビットレート推定が、ビットレート補正因子に基づいて決定できる推定値より正確であることを意味する。そのような場合、実際のビットレートbrは範囲[brmin,brmax]内にある。範囲[brmin,brmax]から典型的なビットレート値（たとえば丸められたビットレート値）が、推定されたビットレートbrEstとして選択されてもよい。あるいはまた、ビットレートの推定値はbrminおよびbrmaxの幾何平均として決定されてもよい。あるいは、ビットレートの上限の推定値が必要とされる場合には、brmaxが推定されたビットレートbrEstとして取られてもよい。
【００８３】
ある好ましい実施形態では、ビットレートを指定するために（特に、ビットレート補正因子fbrCorrを指定するために）三つのbr_digits（すなわち三つのフレーム）が使われてもよい。よって、開始コードをもつフレームを含めて、ビットレート計算は合計5個のフレームに基づくのであってもよい。第一の段階では、上限および下限が決定される。ビットレート・ベース範囲の選択は典型的には、限界が次の条件：brmax＜2*brmin→brmax/brmin≦2を満たす場合にのみ一意的となる。上記の公式から、次のようになる。
【００８４】
【数１７】
0006271756.tif 000021
N＝5については、上記は、平均で、3/2となる（これは2より小さく、[1,2]の範囲内にある）。3個の数字を使うことは、各ビットレート・ベース範囲内の27個の「ステップ」を与える。単一のステップは2^(1/27)＝1.027に対応する。よって、（五つのフレームについて）本稿において記述される方法を使うビットレート推定値の正確さは、3%程度であると期待される。
【００８５】
上記で概説したように、（少なくとも）二つのベース範囲VBase(k)が、限界値brminおよびbrmaxに基づいて決定されてもよい。それらのベース範囲の一つのベース範囲の限界、すなわち2kkbit/s、たとえば128kbpsに対応する、あるいは該限界に近い実際のビットレートbrについては特に、限界値brminおよびbrmaxは変動するベース範囲につながりうる。あるフレームでは、限界値brminおよびbrmaxは[64,128[のベース範囲および次のフレームでは[128,256[のベース範囲を結果として与えることがある。フレームの各サブシーケンスについて（少なくとも）二つのベース範囲VBase(k)を決定することによって、正しいビットレート推定値を与える少なくとも一つのベース範囲が決定されることが保証される。さらに、これは、ビットレート補正因子が時間を追って安定したままであることを許容する（上記の例において理想的にはfbrCorr＝0）。その際、[128,256[ベース範囲のみがビットレートを上限および下限brminおよびbrmaxの間にする。そのような論理を使うことで、エンコーダ１０１は、使用された実際のフレーム・サイズを参照しない一定の補正因子fbrCorrを送ることができる。
【００８６】
表２のシンタックスにおいて示されるビットレート・コード（すなわちbr_codeパラメータ）はVBRビットストリーム１１１について使用されてもよい。上記で概説したように、br_corrパラメータは、一つまたは複数のフレームのbr_codeパラメータの一つまたは複数の値から決定されてもよい。次いで、br_corrパラメータは、表３との関連で、VBRビットストリーム１１１のビットレートを決定するために使われてもよい。よって、VBRビットストリーム１１１の場合でも、記載されるbr_codeパラメータは、ビットストリーム１１１のビットレートの推定値を与えるために使用されうる。
【００８７】
【表３】
0006271756.tif 000022
このように、本稿では、ABRビットストリームの初期ビットレート範囲を推定するためにフレームのシーケンスの諸フレーム・サイズおよびwait_framesパラメータを使うことが提案される。計算は、追加的な二つのビットを（ビットレート・コード・パラメータとして）送ることによってさらに洗練されてもよい。ビットレート・コード・パラメータは、ビットレートに関するより精密な情報を信号伝達するために、wait_framesパラメータを含むフレームにアペンドされてもよい。一定ビットレート（CBR、典型的にはwait_frames＝0）ビットストリームについては、追加的な信号伝達は典型的には必要とされない。すべてのフレームが同じサイズ（±1バイト）をもつからである。可変ビットレート（VBR、典型的にはwait_frames＝7）ビットストリームについては、ビットレート・コード・パラメータの二つのビットは、（表３のコンテキストにおいて概説されたように）情報提供目的のために絶対的な目標または平均ビットレートを信号伝達するために使われてもよい。
【００８８】
よって、本稿では、ビットストリームのビットレートを信号伝達するおよび／または推定するための方法が記述された。記述された方法は、ビットストリーム内のほんの限られた量のオーバーヘッド・データを使ってビットレートの精密な決定を許容する。さらに、記載された方法は、逐次反復的または逐次的な仕方でのビットレートの推定を許容する。特に、ビットレート推定値の正確さは、柔軟な仕方で（たとえばフレームごとに）向上させられうる。
【００８９】
本稿で記載された方法およびシステムは、ソフトウェア、ファームウェアおよび／またはハードウェアとして実装されてもよい。ある種のコンポーネントは、たとえばデジタル信号プロセッサまたはマイクロプロセッサ上で走るソフトウェアとして実装されてもよい。他のコンポーネントはたとえば、ハードウェアおよびまたは特定用途向け集積回路として実装されてもよい。記載される方法およびシステムにおいて遭遇される信号は、ランダム・アクセス・メモリまたは光学式記憶媒体のような媒体上に記憶されてもよい。そうした信号は、電波ネットワーク、衛星ネットワーク、無線ネットワークもしくは有線ネットワーク、たとえばインターネットのようなネットワークを介して転送されてもよい。本稿で記載される方法およびシステムを利用する典型的な装置は、オーディオ信号を記憶および／またはレンダリングするために使用されるポータブル電子装置または他の消費者装置である。
【００９０】
本稿のさらなる側面について以下で述べる。
【００９１】
本稿では、ビットレート情報を信号伝達するためにビットストリームにおいて所定数のビットをリザーブすることが提案される。そうしたリザーブされたビットは典型的にはメタデータ負荷を増すので、その数は比較的小さいように、たとえば[2,8]の範囲内に、好ましくは[2,4]、最も好ましくは2に選ばれるべきである。
【００９２】
少数の前記リザーブされたビットは、そのような限られた数の（少数の）ビットがエンコードできる数値範囲の不足のため、適用されるビットレートをエンコードできないことがありうる。よって、本稿は、ビットレート信号伝達をいくつかのその後のフレームにわたって分散させることを提案する。
【００９３】
さらに、本稿は、前記いくつかのその後のフレームにわたる前記所定数のビットの値が、前記いくつかのその後のフレーム内のある現在フレームの位置に依存して、前記ビットの意義〔表わす数〕にデコードされるような、ビットレートの間接的な符号化の備えもする。これは、ビットレートをエンコード／信号伝達するためのビット需要をさらに低減する。加えて、本稿は、ビットレートの推定値を決定するための測定および信号伝達の組み合わせの使用を記述する。こうすることにより、測定可能な正確さを超える精度をもつビットレートを信号伝達するために必要とされるビット数が低減できる。
【００９４】
前記その後のフレームの数は、たとえば、先行フレームであって該先行フレームの前記所定数のビットにおいてエンコードされた開始信号をもつものが検出されたのち、閉じフレームであって該閉じフレームの前記所定数のビットにおいてエンコードされた停止信号をもつものが検出される前に受領されるフレームの数である。前記先行および終結フレームはこのように前記いくつかのフレームのためのくくり〔ブラケット〕を提供する。
【００９５】
ある側面によれば、ビットストリームにおいてビットレートを信号伝達する方法が提案される。前記ビットストリームは複数のフレームと、ビットレート信号伝達を容易にするための所定数のビットとを含む。本方法は：
・第一のフレームにおいて、前記所定数のビットを介してビットレート開始コードを送信する段階と；
・その後の諸フレームを受領し、各その後のフレームの前記所定数のビットの値をバッファリングする段階と；
・前記その後の諸フレームに続く第二のフレームにおいて、前記所定数のビットを介してビットレート停止コードを送信する段階と；
・前記その後の諸フレームに含められた前記所定数のビットのバッファリングされた値を使って前記ビットレートの推定値を計算する段階とを含む。
【００９６】
ある好ましい例では、前記ビットレート開始コードおよび前記ビットレート停止コードは同一であり、たとえば二ビット形式で「11」である。
【００９７】
前記ビットレート推定値を直接エンコードして、該エンコードされたビットレートを前記いくつかのその後のフレームにわたって分配する代わりに、すべてのその後のフレームの前記所定数のビットの前記値は、離散的なビットレート値のあらかじめ決定されたテーブルにおいてエンコードされた離散的なビットレート値の位置を表わすことができる。この例では、すべてのその後の値にわたる前記所定数のビットの値は、あらかじめ決定されたテーブルにおいてエンコードされるある固定された離散的なビットレートの位置をエンコードする。これはビット要求について節約となる。
【００９８】
この例では、ほぼ対数的なスケール、たとえばbr〜2^(x/k)*br_min――ここで、kは2倍のビットレートの間のステップ数を定義する定数――が、たとえばビットレートを符号化するために提案される。xはビットストリームにおいて（前記あらかじめ定義された数のビットを介して）伝送されるコードの数値的な値である。理想的には、ビットレートは（利用可能な分解能に応じた）次の利用可能なステップに丸められる。これは、たとえばk＝4について合理的な結果を与え、たとえばテーブルにおいて離散的な位置を割り当てられることのできる離散的なあらかじめ決定されたビットレート値：16,20,24,28,32,40,48,56,64,80,96,112,128,160,192などを提供する。たとえば、「16」はそのようなテーブルにおいて位置「0」を割り当てられることができ；「20」はそのようなテーブルにおいて位置「1」を割り当てられることができ；「24」はそのようなテーブルにおいて位置「2」を割り当てられることができ；「28はそのようなテーブルにおいて位置「3」を割り当てられることができる、などとなる。
【００９９】
ビットレートを直接符号化する代わりに、離散的なビットレート値の位置を符号化し、それにより要求されるビットを節約することができる。
【０１００】
さまざまな例において、ビットレートを信号伝達するためにリザーブされるビットの数は、ビットレート推定値をデコードするために必要なその後のフレームの数を決定する。ビットレート信号伝達のために二ビットを使うことで良好な結果が達成されている。ここで、ビットレートをデコードするためには5個のフレームが使われる。
【０１０１】
上記の例示的なテーブルを使うと、たとえばテーブル中で位置13である160kbpsを信号伝達するために、13（テーブル中の160kbpsの位置を示す！）＝1*9＋1*3＋1*1→11  01  01  01  11を伝送する必要があることがある。ここで、「11」は開始および停止コードである。開始および停止コードの中間で三つの「シンボル」：「01」→「01」→「01」が伝送される。結果として、（開始および停止コード・フレームを含めて）5フレーム後に、完全な結果を得る。ここで、実際のビットレート位置は、開始および停止コードをもつフレームの中間に伝送されるフレームにおいてエンコードされる。
【０１０２】
あるいはまた、先に概説したあらかじめ定義された符号化テーブルのアプローチを使う代わりに、ビットレートの推定値の計算は、受領されたフレームの実際のサイズを使って第一のビットレート推定値を計算し、すべてのその後のフレームの前記所定数のビットの前記値に基づいてビットレート補正因子を計算することを含むことができる。ここで、前記ビットレート補正因子は、前記第一のビットレート推定値に適用されて、ビットレートの推定値を与えてもよい。この例では、前記所定数のビットはビットレートを直接または間接にエンコードする代わりに、――前記いくつかのその後のフレームにわたって分散されて――補正因子をエンコードする。ここで、ビットレートは、受領された諸フレームの実際のサイズから第一段階においておおまかに推定され、第二段階において、その後の諸フレームの前記所定数のビットにおいてエンコードされた補正因子を適用する。
【０１０３】
前記ビットレート補正因子はたとえば、次式に従って計算されてもよい。
【０１０４】
【数１８】
0006271756.tif 000023
ここで、brcorrは、すべてのその後のフレームの前記所定数のビットの前記値から導出され、brdigitsは受領されたその後のフレームの数を表わし、ビットの前記所定数は2である。
【０１０５】
提案されるビットレート補正因子の指数における底の分母は「3」とは異なるように選ばれることもできる。ここで、それは、ビットレート補正因子が[1,2]の範囲内の値を与えるように選ばれる。
【０１０６】
より一般には、前記ビットレート補正因子はたとえば、次式に従って計算されてもよい。
【０１０７】
【数１９】
0006271756.tif 000024
ここで、br_corrは、すべてのその後のフレームの前記所定数のビットの前記値から導出され、brdigitsは受領されたその後のフレームの数を表わし、br_bitsはビットの前記所定数である。
【０１０８】
また、提案されるビットレート補正因子の指数における底の分母は「(2br_bits−1)br_digits」（上記参照）とは異なるように選ばれることもできる。ここで、それは、信号伝達のために二ビットが使われ（br_bits＝2）、ビットレート補正因子が[1,2]の範囲内の値を与えるように選ばれる。
【０１０９】
この例では、第一のビットレート推定値の計算は、前記実際のフレーム・サイズに基づいて前記第一のビットレート推定値についての上限および下限を計算することを含んでいてもよく、前記上限および下限の計算は、受領されたフレームに関係するフレーム・レートおよびフレーム・バッファ充填レベルを表わす受領された値を使ってさらに洗練されることができる。
【０１１０】
上記の例のさらなる改善において、第一および第二のベース範囲が次式を使って前記第一のビットレート推定値について決定される：
VBase(k)＝[2kkbit/s,  2(k+1)kbit/s[
ここで、第一および第二のベース範囲（VBase(K1)およびVBase(K2)）は次の条件：brmin∈VBase(K1)およびK2＝K1＋1を満たすものである。ここで、brminは前記下限を表わし、前記ビットレートの推定値の計算は好ましくは：
・前記第一のベース範囲に前記ビットレート補正因子を適用する第一段階；
・前記第二のベース範囲に前記ビットレート補正因子を適用する第二段階；および
・前記ビットレートの推定値を与えるべき前記第一段階の結果または前記第二段階の結果を決定する段階
をも含む。
【０１１１】
そのような例では、前記第一のベース範囲に適用された前記ビットレート補正因子が前記上限と下限の間にあれば、第一段階の結果が前記ビットレートの推定値を与えてもよく、前記第二のベース範囲に適用された前記ビットレート補正因子が前記上限と下限の間にあれば、第二段階の結果が前記ビットレートの推定値を与えてもよい。
【０１１２】
本稿に記載される何らかの方法を容易にするために、ビットストリーム・フォーマットが記述される。ここで、前記ビットストリーム・フォーマットは、前記ビットストリームに関係したビットレートをエンコードするための所定数のビットを含み、前記所定数のビットは前記ビットレートを部分的に反映し、それによりある数のその後のフレームの前記所定数のビットのすべての値が前記ビットレートを与える。
【０１１３】
好ましくは、前記いくつかのその後のフレームは、前記いくつかのその後のフレームの前記所定数のビットにおいてエンコードされている開始ビットレート・コードおよび停止ビットレート・コードから決定される。
【０１１４】
記数法（number  system）においてある数の数字をもつ数値をエンコードするのと同様に、前記その後のフレームのシーケンスにおけるフレームの位置が、前記フレームに含まれる前記所定数のビットの意義〔表わす数〕に関係していてもよい。
【０１１５】
あるさらなる例は二つの直接連続するフレームの前記所定数のビットにおいて「開始コード」および「停止コード」（「11」→「11」）を送ることをも含んでいてもよい。たとえば、たとえば異なるビットストリーム（たとえば、「広告挿入」またはプログラム変化に関係する）が受領されたあとに異なるビットレートが決定されるときに、ビットレート・デコードを明示的にリセットするためである。
いくつかの態様を記載しておく。
〔態様１〕
ビットストリームのビットレートbrの推定値brestを決定する方法であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、前記フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有し、フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示し、当該方法は：
・前記ビットストリームからのフレームのサブシーケンスについて全ビット数STotを決定する段階と；
・前記サブシーケンス内に含まれるフレーム数に基づきかつ前記サブシーケンスの少なくとも二つのフレームのwait_framesパラメータに基づいて、補正されたフレーム数N'を決定する段階と；
・全ビット数STotに基づき、補正されたフレーム数N'に基づき、かつ前記ビットストリームのフレーム・レートfframeに基づいて、ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを決定する段階とを含む、
方法。
〔態様２〕
・フレームのwait_framesパラメータは、対応するフレームが処理に先立って遅延されるフレーム数を示し；
・前記補正されたフレーム数N'は、前記サブシーケンスからの第一のフレームおよび第二のフレームのwait_framesパラメータの間の差に基づいて決定される、
態様１記載の方法。
〔態様３〕
・前記第一のフレームは前記サブシーケンスの先頭のフレームに対応し、
・前記第二のフレームは前記サブシーケンスの末尾のフレームに対応する、
態様２記載の方法。
〔態様４〕
・前記ビットレート下限brminは補正された数N'に1を加えたものに基づいて決定され；
・前記ビットレート上限brmaxは補正された数N'から1を引いたものに基づいて決定される、
態様１ないし３のうちいずれか一項記載の方法。
〔態様５〕
フレームの前記サブシーケンスはN＋1個のフレームnを含み、n＝0,…,Nであり、
・前記サブシーケンスの先頭のフレームn＝0は、wait_frames(0)と称されるwait_framesパラメータを含み；
・前記サブシーケンスの末尾のフレームn＝Nは、wait_frames(N)と称されるwait_framesパラメータを含み；
・前記全ビット数STotは、前記サブシーケンスのN個のフレームについて決定され；
・前記補正されたフレーム数N'は、wait_frames(0)とwait_frames(N)の間の差を使ってNをオフセットすることによって決定される、
態様１ないし４のうちいずれか一項記載の方法。
〔態様６〕
前記補正されたフレーム数N'は
N'＝N＋wait_frames(0)−wait_frames(N)
として決定される、態様５記載の方法。
〔態様７〕
・フレームのwait_framesパラメータは、対応するフレームの末尾に対する処理遅延を示し；
・前記全ビット数STotは
【数２１】
0006271756.tif 000025
として決定され；
・Snは前記サブシーケンスのフレームnのビット数である、
態様５または６記載の方法。
〔態様８〕
・前記ビットレート下限が
【数２２】
0006271756.tif 000026
によって与えられる、および／または
・前記ビットレート上限が
【数２３】
0006271756.tif 000027
によって与えられる、
態様１ないし７のうちいずれか一項記載の方法。
〔態様９〕
・前記フレームのシーケンスの少なくともいくつかのフレームは、ビットレート・コード・パラメータを含み；
・前記ビットレート・コード・パラメータの値は、開始コードおよび／または停止コードに対応し；
・前記サブシーケンスは、前記フレームのシーケンスから、前記開始コードおよび／または前記停止コードに基づいて決定される、
態様１ないし８のうちいずれか一項記載の方法。
〔態様１０〕
前記サブシーケンスは、
・前記サブシーケンスの先頭のフレームが前記開始コードに対応するビットレート・コード・パラメータを有し；
・前記サブシーケンスの末尾のフレームが前記停止コードに対応するビットレート・コード・パラメータを有し；
・サブシーケンスの他のどのフレームも前記開始コードまたは前記停止コードに対応するビットレート・コード・パラメータを有さないように決定される、
態様９記載の方法。
〔態様１１〕
前記開始コードが前記停止コードに等しい、態様９または１０記載の方法。
〔態様１２〕
wait_framesパラメータを有するフレームのみがビットレート・コード・パラメータを有する、態様９ないし１１のうちいずれか一項記載の方法。
〔態様１３〕
・前記ビットストリームのビットレートbrの推定値brestが、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり；
・指数kは、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて決定され；
・仮数fbrCorrは、前記サブシーケンスの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて決定される、
態様９ないし１２のうちいずれか一項記載の方法。
〔態様１４〕
・前記浮動小数点表現は、brest＝fbrCorr×2kとなるような二進浮動小数点表現であり；
・仮数fbrCorrは1から2までの間の値を取る、
態様１３記載の方法。
〔態様１５〕
当該方法は、
・少なくとも二つの潜在的な指数K1およびK2を
【数２４】
0006271756.tif 000028
となるよう決定する段階と；
・少なくとも二つの中間推定値brxを、x∈{1;2}として、brx＝fbrCorr×2Kxとなるよう、決定する段階と；
・x∈{1;2}についてbrmin≦brx＜brmaxとなるよう、前記少なくとも二つの中間的な推定値brxの一方を、ビットレートbrの推定値brestとして選択する段階とを含む、
態様１４記載の方法。
〔態様１６〕
前記少なくとも二つの中間的な推定値brxのいずれも条件brmin≦brx＜brmaxを満たさない場合には、ビットレートbrの推定値brestを区間[brmin,brmax]内に含まれるある値として決定する、態様１５記載の方法。
〔態様１７〕
区間[brmin,brmax]内に含まれる前記値は、
・ビットレート下限brminおよびビットレート上限brmaxの平均値である；および／または
・区間[brmin,brmax]の他の値に比べてビットレートbrである増大した確率をもつ値である；および／または
・安全な推定値としてのbrmaxに等しい、
態様１６記載の方法。
〔態様１８〕
・フレームの前記ビットレート・コード・パラメータは、Lが1より大きな整数であるとして、L通りの異なるビットレート・コード値を取り；
・L個の前記ビットレート・コード値は前記開始コードおよび／または停止コードとは異なり；
・仮数fbrCorrは、前記サブシーケンスの一つまたは複数のフレームのビットレート・コード値に依存する、
態様１４ないし１７のうちいずれか一項記載の方法。
〔態様１９〕
仮数fbrCorrの精度が、ビットレート・コード値に対応するビットレート・コード・パラメータを含む前記サブシーケンスのフレームの数とともに増大する、態様１８記載の方法。
〔態様２０〕
仮数fbrCorrの精度が、ビットレート・コード値に対応するビットレート・コード・パラメータを含む前記サブシーケンスの各フレームとともに因子Lだけ増大する、態様１９記載の方法。
〔態様２１〕
・前記サブシーケンスは、ビットレート・コード値に対応するビットレート・コード・パラメータを有するQ個のフレームqを有し、ここで、q＝1,…,Qであり、Qは0より大きい整数であり；
・cqはフレームqのビットレート・コード値であり、cq∈{0;1;…;L−1}であり、
・br_corrは
【数２５】
0006271756.tif 000029
として決定される累積されたビットレート・コードであり、
・仮数fbrCorrは
【数２６】
0006271756.tif 000030
によって与えられる、
態様１８ないし２０のうちいずれか一項記載の方法。
〔態様２２〕
・Q＝3、
・L＝3、
・N＝4である、
態様２１記載の方法。
〔態様２３〕
前記ビットレート・コード・パラメータが二ビットを有する、態様９ないし２２のうちいずれか一項記載の方法。
〔態様２４〕
・前記ビットストリームは、ABRと称される平均ビットレートを示す；および／または
・前記ビットストリームは、バッファ・モデルに従い、そのバッファ・モデルの状態を信号伝達するためにwait_framesパラメータを使う；および／または
・前記フレームのシーケンスの諸フレームが、一定の時間的長さをもつオーディオおよび／またはビデオ信号の抜粋に対応する；および／または
・前記ビットストリームのフレーム・レートfframeが一定である、
態様１ないし２３のうちいずれか一項記載の方法。
〔態様２５〕
ビットストリームのビットレートbrの推定値brestを決定するよう構成されている、プロセッサを有するビットレート推定器であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、前記フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有し、フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示し、前記プロセッサは、
・前記ビットストリームからのフレームのサブシーケンスについて全ビット数STotを決定し；
・前記サブシーケンス内に含まれるフレーム数に基づいてかつ前記サブシーケンスの少なくとも二つのフレームのwait_framesパラメータに基づいて、補正されたフレーム数N'を決定し；
・全ビット数STotに基づいて、補正されたフレーム数N'に基づいて、かつ前記ビットストリームのフレーム・レートfframeに基づいて、ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを決定するよう構成されている、
ビットレート推定器。
〔態様２６〕
一つまたは複数の個々のビットストリームから組み合わされたビットストリームを決定するよう構成された多重化装置であって、当該多重化装置は、前記一つまたは複数の個々のビットストリームのビットレートの推定値を決定するよう構成されている態様２５記載のビットレート推定器を有し、当該多重化装置は、前記一つまたは複数の個々のビットストリームのビットレートの推定値に基づいて前記組み合わされたビットストリームを決定するよう構成されている、多重化装置。
〔態様２７〕
・前記一つまたは複数の個々のビットストリームは、エレメンタリー・ストリームであり；
・前記組み合わされたビットストリームはMPEG-2トランスポート・ストリームである、
態様２６記載の多重化装置。
〔態様２８〕
ビットレートbrをもつビットストリームを提供する方法であって、
・オーディオおよび／またはビデオ信号からフレームのシーケンスを生成する段階であって、前記フレームのシーケンスの諸フレームは、前記オーディオおよび／またはビデオ信号の抜粋に対応する、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入する段階であって、フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示す、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入する段階とを含み、前記ビットレート・コード・パラメータは、種々のビットレート・コード値を取り、挿入されるビットレート・コード・パラメータのビットレート・コード値は前記ビットストリームのビットレートbrに依存する、
方法。
〔態様２９〕
ビットレート・コード・パラメータは、wait_framesパラメータをも含むフレームに中にのみ挿入される、態様２８記載の方法。
〔態様３０〕
wait_framesパラメータが前記フレームのシーケンスの諸フレームが変動する数のビットを含むことを示す場合のみビットレート・コード・パラメータが挿入される、態様２９記載の方法。
〔態様３１〕
前記ビットレート・コード・パラメータは二つのビットを有する、態様２８ないし３０のうちいずれか一項記載の方法。
〔態様３２〕
前記ビットレート・コード・パラメータは、二つ以上のビットレート・コード値に加えて、開始コードおよび／または停止コードを含む、態様２８ないし３１のうちいずれか一項記載の方法。
〔態様３３〕
ビットレートbrを有するビットストリームであって、当該ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームはオーディオおよび／またはビデオ信号の抜粋に対応し、前記フレームのシーケンスのうち少なくとも二つのフレームがwait_framesパラメータを有し、フレームのwait_framesパラメータは対応するフレームについての処理遅延を示し、前記フレームのシーケンスのうち少なくとも二つのフレームがビットレート・コード・パラメータを含み、前記ビットレート・コード・パラメータは、種々のビットレート・コード値を取り、挿入されたビットレート・コード・パラメータのビットレート・コード値は当該ビットストリームのビットレートbrに依存する、ビットストリーム。
〔態様３４〕
ビットレートbrを有するビットストリームを生成するよう構成されたエンコード・システムであって、当該エンコード・システムは、
・オーディオおよび／またはビデオ信号からフレームのシーケンスを生成する段階であって、前記フレームのシーケンスの諸フレームは、前記オーディオおよび／またはビデオ信号の抜粋に対応する、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にwait_framesパラメータを挿入する段階であって、フレームのwait_framesパラメータは、対応するフレームについての処理遅延を示す、段階と；
・前記フレームのシーケンスのうち少なくとも二つのフレーム中にビットレート・コード・パラメータを挿入する段階とを含み、前記ビットレート・コード・パラメータは種々のビットレート・コード値を取り、挿入されるビットレート・コード・パラメータのビットレート・コード値は前記ビットストリームのビットレートbrに依存する、
方法。
〔態様３５〕
ビットストリームのビットレートbrの推定値brestを決定する方法であって、前記ビットストリームはフレームのシーケンスを含み、前記フレームのシーケンスの諸フレームは、変動する数のビットを含み、前記フレームのシーケンスの諸フレームは、オーディオおよび／またはビデオ信号の抜粋に対応し、前記ビットストリームのビットレートbrの推定値brestは、仮数fbrCorrおよび指数kを有する浮動小数点表現において表現可能であり、前記フレームのシーケンスのうち少なくとも一つのフレームがビットレート・コード・パラメータを有し、当該方法は：
・ビットレートbrのビットレート下限brminおよびビットレート上限brmaxを提供する段階と；
・指数kを、ビットレートbrのビットレート下限brminに基づいておよび／またはビットレート上限brmaxに基づいて決定する段階と；
・仮数fbrCorrを、前記フレームのシーケンスの一つまたは複数のフレームのビットレート・コード・パラメータに基づいて決定する段階とを含む、
方法。
【０１１６】
本稿の具体的な付番側面は次のとおり。
〔側面１〕ビットストリームにおいてビットレートを信号伝達する方法であって、前記ビットストリームは複数のフレームと、ビットレート信号伝達を容易にするための所定数のビットとを含み、当該方法は：
・第一のフレームにおいて、前記所定数のビットを介してビットレート開始コードを送信する段階と；
・その後の諸フレームを受領し、各その後のフレームの前記所定数のビットの値をバッファリングする段階と；
・前記その後の諸フレームに続く第二のフレームにおいて、前記所定数のビットを介してビットレート停止コードを送信する段階と；
・前記その後の諸フレームに含められた前記所定数のビットのバッファリングされた値を使って前記ビットレートの推定値を計算する段階とを含む、
方法。
〔側面２〕前記ビットレート開始コードおよび前記ビットレート停止コードが同一である、側面１記載の方法。
〔側面３〕すべてのその後のフレームの前記所定数のビットの前記値が、離散的なビットレート値のあらかじめ決定されたテーブルにおいてエンコードされた離散的なビットレート値の位置を表わす、側面１記載の方法。
〔側面４〕前記ビットレートの推定値の計算は：
受領されたフレームの実際のサイズを使って第一のビットレート推定値を計算し、
すべてのその後のフレームの前記所定数のビットの前記値に基づいてビットレート補正因子を計算することを含み、前記ビットレート補正因子は、前記第一のビットレート推定値に適用されて、ビットレートの推定値を与える、
方法。
〔側面５〕前記第一のビットレート推定値の計算は、前記実際のフレーム・サイズに基づいて前記第一のビットレート推定値についての上限および下限を計算することを含む、側面４記載の方法。
〔側面６〕前記上限および下限の計算は、フレーム・レートおよびフレーム・バッファ充填レベルを表わす受領された値にさらに基づく、側面５記載の方法。
〔側面７〕前記第一のビットレート推定値について第一および第二のベース範囲を、次式：
VBase(k)＝[2kkbit/s,  2(k+1)kbit/s[
を使って決定する段階をさらに含み、ここで、前記第一および第二のベース範囲（VBase(K1)およびVBase(K2)）は次の条件：
brmin∈VBase(K1)および
K2＝K1＋1
を満たすものであり、brminは前記下限を表わす、
側面５記載の方法。
〔側面８〕前記ビットレートの推定値は：
・前記第一のベース範囲に前記ビットレート補正因子を適用する第一段階；
・前記第二のベース範囲に前記ビットレート補正因子を適用する第二段階；および
・前記ビットレートの推定値を与えるべき前記第一段階の結果または前記第二段階の結果を決定する段階
を含む、側面７記載の方法。
〔側面９〕前記第一のベース範囲に適用された前記ビットレート補正因子が前記上限と下限の間にあれば、前記第一段階の結果が前記ビットレートの推定値を与える、側面８記載の方法。
〔側面１０〕前記第二のベース範囲に適用された前記ビットレート補正因子が前記上限と下限の間にあれば、前記第二段階の結果が前記ビットレートの推定値を与える、側面８記載の方法。
〔側面１１〕前記ビットレート補正因子は：
【数２０】
0006271756.tif 000031
に従って計算され、
brcorrは、すべてのその後のフレームの前記所定数のビットの前記値から導出され、brdigitsは受領されたその後のフレームの数を表わし、
ビットの前記所定数は2である、
側面４記載の方法。
〔側面１２〕
ビットの前記所定数は2であり、前記ビットレート開始コードおよび前記ビットレート停止コードは「11」である、側面２記載の方法。
〔側面１３〕ビットストリームに関係したビットレートをエンコードするための所定数のビットを含むビットストリーム・フォーマットであって、前記所定数のビットは前記ビットレートを部分的に反映し、ある数のその後のフレームの前記所定数のビットのすべての値が前記ビットレートを与える、ビットストリーム・フォーマット。
〔側面１４〕前記いくつかのその後のフレームは、前記所定数のビットにおいてエンコードされている開始ビットレート・コードおよび停止ビットレート・コードから決定される、側面１３記載のビットストリーム・フォーマット。
〔側面１５〕前記その後のフレームのシーケンスにおけるフレームの位置が前記フレームに含まれる前記所定数のビットの意義に関係する、側面１３記載のビットストリーム・フォーマット。
【図１】
0006271756.tif 000035
【図２】
0006271756.tif 000036