(57)【要約】本開示は、符号化装置の符号化変数を調整するための技術を説明する。データ区分をサイズ変更するための要求に応答して、符号化モジュールは、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで、その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する。ある時点で、符号化モジュールは、所望の符号化結果を達成するためにその後に続くデータ区分が符号化されるように、データ区分を符号化するために使用される符号化変数を再調整する。例えば、符号化モジュールは、時間の一期間の後で符号化変数を再調整してもよく、または、符号化変数が所望の符号化結果をもたらすまで、符号化変数を漸増的に調整してもよい。
2009525706.tif 000002
【特許請求の範囲】
【請求項１】
デジタルマルチメディアデータのストリームを符号化するための方法であって、
前記デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信することと、
前記要求に応答して、前記データ区分をサイズ変更することと、
サイズ変更要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで、前記その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整することと、
を備える方法。
【請求項２】
前記その後に続くデータ区分が所望の符号化結果で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、をさらに備える請求項１に記載の方法。
【請求項３】
前記符号化変数を再調整することは、前記その後に続くデータ区分が所望の品質レベルで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、を備える、請求項２に記載の方法。
【請求項４】
前記符号化変数を再調整することは、前記その後に続くデータ区分が所望のビットレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、を備える、請求項２に記載の方法。
【請求項５】
前記符号化変数を再調整することは、前記その後に続くデータ区分が所望のフレームレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、を備える、請求項２に記載の方法。
【請求項６】
前記符号化変数を再調整することは、前記その後に続くデータ区分が所望の量子化パラメータ（ＱＰ）で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、を備える、請求項２に記載の方法。
【請求項７】
前記符号化変数を再調整することは、時間の一期間にわたってサイズ変更要求が受信されないとき、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整すること、を備える、請求項２に記載の方法。
【請求項８】
前記符号化変数を再調整することは、前記その後に続くデータ区分が所望の符号化結果で符号化されるまで、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を漸増的に調整すること、を備える、請求項２に記載の方法。
【請求項９】
前記符号化変数を漸増的に調整することは、前記その後に続くデータ区分のためにサイズ変更要求が受信されず、前記その後に続くデータ区分が前記所望の符号化結果で符号化されないとき、インクレメント値によって前記符号化変数を漸増的に調整すること、を備える、請求項８に記載の方法。
【請求項１０】
前記その後に続くデータ区分のためにサイズ変更要求を受信することと、
前記その後に続くデータ区分のために前記サイズ変更要求を受信すると、デクレメント値によって、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を調整することと、
をさらに備える請求項８に記載の方法。
【請求項１１】
前記その後に続くデータ区分のためにサイズ変更要求を受信することと、
前記その後に続くデータ区分のために受信されたサイズ変更要求の中で指定された、減少されたビットレートを達成するために、前記符号化変数を調整することと、
をさらに備える請求項８に記載の方法。
【請求項１２】
１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を調整することは、１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を、前記データ区分をサイズ変更するために使用される前記符号化変数に等しく設定すること、を備える、請求項１に記載の方法。
【請求項１３】
１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整することは、複数の連続したデータ区分のためにサイズ変更要求を受信すると、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整すること、を備える、請求項１に記載の方法。
【請求項１４】
前記データ区分は、リアルタイムデータの区分を備える、請求項１に記載の方法。
【請求項１５】
デジタルマルチメディアデータのストリームを符号化するための装置であって、
前記デジタルマルチメディアデータのストリームに関連した現在のデータ区分をサイズ変更するための要求を受信し、前記要求に応答して前記データ区分をサイズ変更する、サイズ変更モジュールと、
サイズ変更のための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで前記その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整するレート制御モジュールと、
を備える装置。
【請求項１６】
前記レート制御モジュールは、前記その後に続くデータ区分が所望の符号化結果で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１５に記載の装置。
【請求項１７】
前記レート制御モジュールは、前記その後に続くデータ区分が所望の品質レベルで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１６に記載の装置。
【請求項１８】
前記レート制御モジュールは、その後に続くデータ区分が所望のビットレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１６に記載の装置。
【請求項１９】
前記レート制御モジュールは、前記その後に続くデータ区分が所望のフレームレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１６に記載の装置。
【請求項２０】
前記レート制御モジュールは、前記その後に続くデータ区分が所望の量子化パラメータ（ＱＰ）で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１６に記載の装置。
【請求項２１】
前記レート制御モジュールは、時間の一期間にわたってサイズ変更要求が受信されないとき、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１６に記載の装置。
【請求項２２】
前記レート制御モジュールは、前記その後に続くデータ区分が所望の符号化結果で符号化されるまで、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を漸増的に調整する、請求項１６に記載の装置。
【請求項２３】
前記レート制御モジュールは、前記その後に続くデータ区分のためにサイズ変更要求が受信されず、前記その後に続くデータ区分が前記所望の符号化結果で符号化されないとき、インクレメント値によって前記符号化変数を漸増的に再調整する、請求項２２に記載の装置。
【請求項２４】
前記サイズ変更モジュールが、前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記レート制御モジュールが、前記その後に続くデータ区分のために前記サイズ変更要求を受信すると、デクレメント値によって、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を調整する、
請求項２２に記載の装置。
【請求項２５】
前記サイズ変更モジュールが、前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記調整モジュールが、前記その後に続くデータ区分のために受信された前記サイズ変更要求の中で指定された減少されたビットレートを達成するために、前記符号化変数を調整する、
請求項２２に記載の装置。
【請求項２６】
前記レート制御モジュールは、１つまたは複数のデータ区分を符号化するために使用されるべき前記符号化変数を、前記データ区分をサイズ変更するために使用される前記符号化変数と等しく設定する、請求項１５に記載の装置。
【請求項２７】
前記レート制御モジュールは、複数の連続したデータ区分のためにサイズ変更要求を受信すると、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項１５に記載の装置。
【請求項２８】
前記データ区分は、リアルタイムデータの区分を備える、請求項１５に記載の装置。
【請求項２９】
デジタルマルチメディアデータのストリームを符号化するための装置であって、
前記デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信するための手段と、
前記要求に応答して、前記データ区分をサイズ変更するための手段と、
サイズを変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで前記その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整するための手段と、
を備える装置。
【請求項３０】
前記調整手段は、前記データ区分が所望の符号化結果で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項２９に記載の装置。
【請求項３１】
前記調整手段は、前記その後に続くデータ区分が所望の品質レベルで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項３０に記載の装置。
【請求項３２】
前記調整手段は、前記その後に続くデータ区分が所望のビットレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項３０に記載の装置。
【請求項３３】
前記調整手段は、前記その後に続くデータ区分が所望のフレームレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項３０に記載の装置。
【請求項３４】
前記調整手段は、前記その後に続くデータ区分が所望の量子化パラメータ（ＱＰ）で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項３０に記載の装置。
【請求項３５】
前記調整手段は、時間の一期間にわたってサイズ変更要求が受信されていないとき、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整する、請求項３０に記載の装置。
【請求項３６】
前記調整手段は、前記その後に続くデータ区分が所望の符号化結果で符号化されるまで、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を漸増的に調整する、請求項３０に記載の装置。
【請求項３７】
前記調整手段は、前記その後に続くデータ区分のためにサイズ変更要求が受信されず、前記その後に続くデータ区分が前記所望の符号化結果で符号化されないとき、インクレメント値によって前記符号化変数を漸増的に調整する、請求項３６に記載の装置。
【請求項３８】
前記受信手段は、前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記調整手段は、前記その後に続くデータ区分のために前記サイズ変更要求を受信すると、デクレメント値によって、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を調整する、
請求項３６に記載の装置。
【請求項３９】
前記受信手段は、前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記調整手段は、前記その後に続くデータ区分のために受信された前記サイズ変更要求の中で指定された減少されたビットレートを達成するために、前記符号化変数を調整する、
請求項３６に記載の装置。
【請求項４０】
前記調整手段は、１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を、前記データ区分をサイズ変更するために使用される前記符号化変数に等しく設定する、請求項２９に記載の装置。
【請求項４１】
前記調整手段は、複数の連続したデータ区分のためにサイズ変更要求を受信すると、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整する、請求項２９に記載の装置。
【請求項４２】
前記データ区分は、リアルタイムデータの区分を備える、請求項２９に記載の装置。
【請求項４３】
デジタル画像データを処理するためのプロセッサであって、
デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信し、
前記要求に応答して、前記データ区分をサイズ変更し、
サイズ変更要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで前記その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する、
ように構成されているプロセッサ。
【請求項４４】
前記プロセッサは、前記その後に続くデータ区分が所望の符号化結果で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４３に記載のプロセッサ。
【請求項４５】
前記プロセッサは、前記その後に続くデータ区分が所望の品質レベルで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項４６】
前記プロセッサは、前記その後に続くデータ区分が所望のビットレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項４７】
前記プロセッサは、前記その後に続くデータ区分が所望のフレームレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項４８】
前記プロセッサは、前記その後に続くデータ区分が所望の量子化パラメータ（ＱＰ）で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項４９】
前記プロセッサは、時間の一期間にわたってサイズ変更要求が受信されないとき、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項５０】
前記プロセッサは、前記その後に続くデータ区分が所望の符号結果で符号化されるまで、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を漸増的に調整するように構成されている、請求項４４に記載のプロセッサ。
【請求項５１】
前記プロセッサは、前記その後に続くデータ区分のためにサイズ変更要求が受信されず、前記その後に続くデータ区分が前記所望の符号化結果で符号化されないとき、インクレメント値によって前記符号化変数を漸増的に調整するように構成されている、請求項５０に記載のプロセッサ。
【請求項５２】
前記プロセッサは
前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記その後に続くデータ区分のために前記サイズ変更要求を受信すると、デクレメント値によって、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を調整する、
ように構成されている、
請求項５０に記載のプロセッサ。
【請求項５３】
前記プロセッサは、
前記その後に続くデータ区分のためにサイズ変更要求を受信し、
前記その後に続くデータ区分のために受信された前記サイズ変更要求の中で指定された減少されたビットレートを達成するために、前記符号化変数を調整する、
ように構成されている、
請求項５０に記載のプロセッサ。
【請求項５４】
前記プロセッサは、１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を、前記データ区分をサイズ変更するために使用される前記符号化変数に等しく設定するように構成されている、請求項４３に記載のプロセッサ。
【請求項５５】
前記プロセッサは、複数の連続したデータ区分のためにサイズ変更要求を受信すると、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整するように構成されている、請求項４３に記載のプロセッサ。
【請求項５６】
少なくとも１つのコンピュータに、
デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信させ、
前記要求に応答して、前記データ区分をサイズ変更させ、
サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで前記その後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整させる、
命令を備えるコンピュータ可読媒体、
を備える、デジタル画像データを処理するためのコンピュータプログラム製品。
【請求項５７】
前記コンピュータ可読媒体は、前記コンピュータに、前記その後に続くデータ区分が所望の符号化結果で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、をさらに備える、請求項５６に記載のコンピュータプログラム製品。
【請求項５８】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分が所望の品質レベルで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項５９】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分が所望のビットレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項６０】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分が所望のフレームレートで符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項６１】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分が所望の量子化パラメータ（ＱＰ）で符号化されるように、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項６２】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、時間の一期間にわたってサイズ変更要求が受信されていないとき、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を再調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項６３】
前記コンピュータに前記符号化変数を再調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分が所望の符号化結果で符号化されるまで、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を漸増的に調整させる命令、を備える、請求項５７に記載のコンピュータプログラム製品。
【請求項６４】
前記コンピュータに前記符号化変数を漸増的に調整させる前記命令は、前記コンピュータに、前記その後に続くデータ区分のためにサイズ変更要求が受信されず、前記その後に続くデータ区分が前記所望の符号化結果で符号化されないとき、インクレメント値によって前記符号化変数を漸増的に調整させる命令、を備える、請求項６３に記載のコンピュータプログラム製品。
【請求項６５】
前記コンピュータ可読媒体は、
前記コンピュータに、
前記その後に続くデータ区分のためにサイズ変更要求を受信させ、
前記その後に続くデータ区分のために前記サイズ変更要求を受信すると、デクレメント値によって、前記その後に続くデータ区分を符号化するために使用される前記符号化変数を調整させる、
命令、をさらに備える、
請求項６３に記載のコンピュータプログラム製品。
【請求項６６】
前記コンピュータ可読媒体は、
前記コンピュータに、
前記その後に続くデータ区分のためにサイズ変更要求を受信させ、
前記その後に続くデータ区分のために受信された前記サイズ変更要求の中で指定された、減少されたビットレートを達成するために、前記符号化変数を調整させる、
命令、をさらに備える、
請求項６３に記載のコンピュータプログラム製品。
【請求項６７】
前記コンピュータに、１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を調整させる前記命令は、前記コンピュータに、１つまたは複数のその後に続くデータ区分を符号化するために使用されるべき前記符号化変数を、前記データ区分をサイズ変更するために使用される前記符号化変数に等しく設定させる命令、を備える、請求項５６に記載のコンピュータプログラム製品。
【請求項６８】
前記コンピュータに、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整させる命令は、前記コンピュータに、複数の連続したデータ区分のためにサイズ変更要求を受信すると、１つまたは複数のその後に続くデータ区分を符号化するために使用される前記符号化変数を調整させる命令、を備える、請求項５６に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【利益の主張】
【０００１】
本願は、その各々の全内容が参照によりここに組み込まれている、２００６年１月３１日に出願され、「マルチメディアコンテンツ  リ／エンコーディング  および統計的多重化(MULTIMEDIA CONTENT RE/ENCODING AND STATISTICAL MULTIPLEXING)」と題された米国仮出願第６０／７６３，９９５号（アトーニードケット番号０６０４０４Ｐ１）、の利益を主張する。
【技術分野】
【０００２】
本開示はマルチメディア符号化および復号に関し、より詳細には、効率的な統計的多重化のためのマルチメディアのサイズ変更(multimedia resizing)に関する。
【背景】
【０００３】
無線通信ネットワークなどのデータネットワークは、単一の端末のためにカスタマイズされたサービスと、多数の端末に提供されるサービスと、の間でトレードオフを行わなければならない。例えば、多数のリソースの限られた携帯装置（加入者）へマルチメディアを分配することは、難しい問題である。したがってネットワーク管理者にとっては、コンテンツ小売業者(content retailers)およびサービスプロバイダ(service providers)が、ネットワーク化された装置上で表示するために、高速の効率的な方法でコンテンツおよび／またはその他のネットワークサービスを分配する方法を有することが非常に重要である。
【０００４】
コンテンツ配信／メディア分配のシステムは、リアルタイムおよび非リアルタイムのサービスを送信フレームの中にパックし、そのフレームをネットワーク上の装置に届けることができる。例えば、通信ネットワークは、ネットワークサーバと１つまたは複数の移動装置との間で通信を提供するために、直交周波数分割多重方式（ＯＦＤＭ）を利用してもよい。この技術は、届けられるべきサービスとともにパックされ、分配ネットワークを介して送信されるデータスロットを有する送信フレームを提供する。
【発明の開示】
【発明の概要】
【０００５】
一般に、本開示は、符号化装置内でのレートまたは品質の制御のための技術を説明する。より詳細には、マルチメディアデータの区分(segment)をサイズ変更する(resize)ための要求に応答して、符号化モジュール(encoding module)は、データ区分のビットレートを減少させるために、データ区分をサイズ変更する。ここで使用されるような、「ビットレート(bit rate)」という用語は、マルチメディアデータの区分(segment)を表すために、時間単位ごとに使用されるビットの数を指す。しばしば、ビットレートは秒当たりのキロビット（ｋｂｉｔｓ／ｓ）で明記される。したがって、データ区分のビットレートは、データ区分のサイズに対応する。
【０００６】
符号化モジュールは、１つまたは複数の符号化変数を調整することによって、データ区分のビットレートを減少させるために、データ区分をサイズ変更してもよい。一例として、符号化モジュールは、データ区分を符号化するために使用される量子化パラメータ（ＱＰ）を増加させることによって、データ区分をサイズ変更してもよい。別の例として、符号化モジュールは、フレームレートを減少させること、すなわちより多くのフレームをドロップすることによって、データ区分をサイズ変更してもよい。符号化モジュールはまた、別の符号化変数を調整することによって、データ区分のビットレートを減少させてもよく、したがってサイズを減少させてもよい。
【０００７】
さらに、符号化モジュールは、以前のデータ区分のために受信された再符号化要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する。例えば、符号化モジュールはその後に続くデータ区分を符号化するためのビットレートを、以前のデータ区分のために受信されたサイズ変更要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートよりも小さいビットレートに調整してもよい。この方法で、符号化モジュールは、区分がその後に続くデータ区分のためのサイズ変更要求を受信することなく、対応する送信フレームの中に効率的にフィットすることを可能にするビットレートで、１つまたは複数のその後に続くデータ区分を符号化することを試みる。
【０００８】
ある時点で、符号化モジュールは、その後に続くデータ区分が所望の符号化結果(desired encoding result)で符号化されるように、その後に続くデータ区分を符号化するために使用される符号化変数を再調整する。換言すれば、符号化モジュールが、まるで以前のデータ区分のためにサイズ変更要求が受信されなかったかのように、その後に続くデータ区分を符号化するように、符号化モジュールは符号化変数を再調整する。例えば、符号化モジュールは、所望のビットレート、所望の品質レベル(desired quality level)、所望のフレームレート等でその後に続くデータ区分を符号化するために、符号化変数を再調整してもよい。本開示の別の態様においては、符号化モジュールは、時間の一期間にわたって(for a period of time)サイズ変更要求が受信されなかったときに、符号化変数を再調整してもよい。代替として、符号化モジュールは、その後に続くデータ区分が所望の符号化結果で符号化されるまで、その後に続くデータ区分を符号化するために使用される符号化変数を漸増的に(incrementally)調整してもよいが、しかしながら、その後に続くデータ区分のうちの１つのためにサイズ変更要求が受信されるとき、符号化モジュールは、その後に続くデータ区分を符号化するために使用される１つまたは複数の符号化変数を再度調整してもよい。
【０００９】
１つの態様においては、マルチメディアデータのストリーム(streams)を符号化するための方法が、デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信すること(receiving)と、要求に応答してデータ区分をサイズ変更すること(resizing)と、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整すること(adjusting)と、を備える。
【００１０】
別の態様においては、デジタルマルチメディアデータのストリームを符号化するための装置が、デジタルマルチメディアデータのストリームに関連した現在のデータ区分をサイズ変更するための要求を受信し、要求に応答してデータ区分をサイズ変更するサイズ変更モジュール(resizing module)と、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整するレート制御モジュール(rate control module)と、を備える。
【００１１】
さらなる態様においては、デジタルマルチメディアデータのストリームを符号化するための装置が、デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信するための手段と、要求に応答してデータ区分をサイズ変更するための手段と、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整するための手段と、を備える。
【００１２】
別の態様においては、デジタル画像データを処理するためのプロセッサが、デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信し、要求に応答してデータ区分をサイズ変更し、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整するように、構成されている(adapted)。
【００１３】
ここに説明されている技術は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組み合わせの中でインプリメントされ(implemented)てもよい。ソフトウェアでインプリメントされるのであれば、本技術は、プロセッサによって実行されるときに、ここに説明されている１つまたは複数の方法を行う命令を備えるコンピュータ可読媒体によって全体的に、または部分的に実現されることができる。したがって本開示はまた、少なくとも１つのコンピュータに、デジタルマルチメディアデータのストリームに関連したデータ区分をサイズ変更するための要求を受信させ、要求に応答してデータ区分をサイズ変更させ、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後に続くデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整させる命令、を備えるコンピュータ可読媒体を備える、デジタル画像データを処理するためのコンピュータプログラム製品についても意図している(contemplates)。
【００１４】
添付の図面および以下の説明において、１つまたは複数の態様の詳細が示される。本開示のその他の特徴、目的および利点は、説明および図面、ならびに特許請求の範囲から明らかであろう。
【詳細な説明】
【００１５】
一般に、本開示は、符号化装置内でのレートまたは品質の制御のための技術を説明する。より詳細には、マルチメディアデータ区分をサイズ変更するための要求に応答して、符号化モジュールはデータ区分のビットレートを減少させるために、データ区分をサイズ変更する。ここで使用される際、「ビットレート」という用語は、マルチメディアデータを表すための時間単位ごとに使用されるビットの数を指す。しばしば、ビットレートは秒当たりのキロビット（ｋｂｉｔｓ／ｓ）で明記される。したがって、データ区分のビットレートは、データ区分のサイズに対応する。
【００１６】
符号化モジュールは、１つまたは複数の符号化変数を調整することによって、データ区分のビットレートを減少させるために、データ区分をサイズ変更してもよい。一例として、符号化モジュールは、データ区分を符号化するために使用される量子化パラメータ（ＱＰ）を増加させることによって、データ区分をサイズ変更してもよい。別の例として、符号化モジュールは、フレームレートを減少させること、すなわちより多くのフレームをドロップすることによって、データ区分をサイズ変更してもよい。符号化モジュールはまた、別の符号化変数を調整することによって、データ区分のビットレートを減少させてもよく、したがってサイズを減少させてもよい。
【００１７】
さらに、符号化モジュールは、以前のデータ区分のために受信された再符号化要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のその後のデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する。例えば、符号化モジュールはその後に続くデータ区分を符号化するためのビットレートを、以前のデータ区分のために受信されたサイズ変更要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートよりも小さいビットレートに調整してもよい。この方法で、符号化モジュールは、区分がその後のデータ区分のためのサイズ変更要求を受信することなく、対応する送信フレームの中に効率的にフィットすることを可能にするビットレートで、１つまたは複数のその後に続くデータ区分を符号化することを試みる。
【００１８】
ある時点で、符号化モジュールは、その後に続くデータ区分が所望の符号化結果で符号化されるように、その後に続くデータ区分を符号化するために使用される符号化変数を再調整する。換言すれば、符号化モジュールが、まるで以前のデータ区分のためにサイズ変更要求が受信されなかったかのように、その後に続くデータ区分を符号化するように、符号化モジュールは符号化変数を再調整する。例えば、符号化モジュールは、所望のビットレート、所望の品質レベル、所望のフレームレート等でその後に続くデータ区分を符号化するために、符号化変数を再調整してもよい。本開示の１つの態様では、符号化モジュールは、時間の一期間にわたってサイズ変更要求が受信されなかったときに、符号化変数を再調整してもよい。代替として、符号化モジュールは、その後に続くデータ区分が所望の符号化結果で符号化されるまで、その後に続くデータ区分を符号化するために使用される符号化変数を漸増的に調整してもよい。しかしながら、その後に続くデータ区分のうちの１つのためにサイズ変更要求が受信される場合、符号化モジュールは、その後に続くデータ区分を符号化するために使用される１つまたは複数の符号化変数を再度調整してもよい。
【００１９】
図１は、例示的な符号化および復号システム(encoding and decoding system)１０を示すブロック図である。符号化および復号システム１０は、マルチメディア符号化装置(multimedia encoding device)１２およびマルチメディア復号装置(multimedia decoding device)１４を含む。マルチメディア符号化装置１２はマルチメディアデータを符号化し、符号化されたデータを結合して、結合されたデータを、送信チャネル１６を介してマルチメディア復号装置１４に送信する。マルチメディア符号化装置１２は、マルチメディアデータの１つまたは複数のチャネルをブロードキャストするために使用されるブロードキャストネットワーク構成要素の一部を形成してもよい。例えばマルチメディア符号化装置１２は、符号化されたマルチメディアデータの１つまたは複数のチャネルを、マルチメディア復号装置１４などの１つまたは複数の無線装置にブロードキャストするために使用される無線基地局、サーバ、または任意の基盤ノードの一部を形成してもよい。
【００２０】
マルチメディア符号化装置１２は、マルチメディアデータの１つまたは複数の流れ(flows)を含む複数のサービスを符号化し、符号化された流れを結合して、結合された流れを、送信チャネル１６を介してマルチメディア復号装置に送信してもよい。このサービスは、ニュース、スポーツ、天気、金融情報、映画および／またはアプリケーション、プログラム、スクリプト、または任意のその他の種類の適切なコンテンツまたはサービスなどのマルチメディアコンテンツまたはサービスを含んでもよい。本開示の１つの態様で、マルチメディア符号化装置１２は、時間の一期間にわたり受信されたデータの流れの部分を符号化、結合、および送信する。例えば、マルチメディア符号化装置１２は、秒ごとの基準で、流れの上で動作してもよい。換言すれば、マルチメディア符号化装置１２は、複数の流れのうちの１秒のデータ区分を符号化し、データのスーパーフレームを形成するために１秒のデータ区分を結合し、送信機２２を介して送信チャネル１６上でスーパーフレームを送信する。ここで使用される際、「スーパーフレーム(superframe)」という用語は、１秒の期間あるいはウィンドウ(window)などの、時間の一期間(a time period)あるいはウィンドウにわたって収集されたデータ区分のグループ(a group of segments of data)を指す。データ区分は、１つまたは複数のデータフレームを含んでもよい。しかしながら本開示の技術は１秒のデータ区分の局面で説明されており、例えば固定されていても、固定されていなくてもよい異なる期間にわたり受信されたデータ区分のため、またはデータの個々のフレームまたはフレームのセットのためなど、その他のデータ区分を結合し、送信するために本技術が利用されてもよい。換言すれば、スーパーフレームは、１秒間よりも大きい、または小さい時間間隔をカバーするために、または可変の時間間隔でさえもカバーするために定義されることが可能である。
【００２１】
マルチメディア復号装置１４は、マルチメディア符号化装置１２によって送信された符号化されたマルチメディアデータを受信するユーザ装置を備えてもよい。一例として、復号装置１４はデジタルテレビ、無線通信装置、携帯情報端末（ＰＤＡ）、ラップトップもしくはデスクトップコンピュータ、「ｉＰｏｄ」の商標で販売されているデジタル音楽映像装置、または携帯電話などの無線電話、衛星もしくは地上ベースの無線電話の一部としてインプリメントされ(implemented)てもよい。明快であるために、図１には単一のマルチメディア復号装置１４だけが示されているが、マルチメディア符号化装置１２は、１つまたは複数のマルチメディア復号装置に結合されたデータの流れを送信してもよい。
【００２２】
送信チャネル１６は、任意の有線もしくは無線媒体か、またはそれらの組み合わせを備えてもよい。１つの態様で、送信チャネル１６は固定された帯域幅のチャネルである。換言すれば、結合されたデータの流れを送信するために利用可能な送信チャネルリソースの量は制限される。無線の局面では、送信チャネルリソースは、エアリンクまたはエアインタフェースリソースを備えてもよい。したがって、送信チャネル１６を介してマルチメディア符号化装置１２が送信してもよいデータのビット数は、送信のために利用可能な送信チャネルリソースの量によって制限される。送信チャネル１６は、移動通信のためのグローバル・システム（ＧＳＭ）、符号分割多元接続（ＣＤＭＡ）、ＣＤＭＡ２０００、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）、ＣＤＭＡ１ｘエボリューションデータオプティマイズド（Evolution-Data Optimized）（ＥＶ−ＤＯ）、周波数分割多元接続（ＦＤＭＡ）、時間分割多元接続（ＴＤＭＡ）、または様々なＩＥＥＥ８０１．１１ｘ規格によって定義された無線ネットワーキングを促進するために開発された幅広い系統の規格など、１つまたは複数の無線アクセス技術を備えてもよい。
【００２３】
マルチメディア符号化装置１２は、一定の品質レベルまたは一定のビットレートで、データの流れの各々の出力を試みてもよい。ここで説明されている技術は、いずれの局面にも適用可能である。例えば一定品質を維持しようとする場合、マルチメディア符号化装置１２は、目標の品質レベルに基づいて、データの流れのためにビットレートを選択する。ビットレートを判定するために使用される目標品質レベルは事前に選択されることが可能であり、ユーザによって選択されるか、自動プロセスまたはユーザからの入力もしくは別のプロセスからの入力を必要とする半自動プロセスを通じて選択されるか、または所定の基準に基づく符号化装置もしくはシステムによって動的に選択される。目標品質レベルは、例えば符号化アプリケーションの種類に基づいて、またはマルチメディアデータを受信するクライアント装置の種類に基づいて選択されることが可能である。目標品質レベルでデータの流れの各々を出力するために必要なビット数が、送信チャネル１６上での送信のために利用可能な送信チャネルが存在するビット量を上回る場合、マルチメディア符号化装置１２は、複数の流れのために最高の全体的品質を保持しようとする中で、流れの間でのビット割当てを管理する。
【００２４】
図１に示されているように、マルチメディア符号化装置１２は、符号器モジュール(encoder modules)１８Ａ〜１８Ｎ（まとめて「符号器モジュール(multimedia encoding device)１８」）、マルチプレックスモジュール(multiplex module)２０および送信機(transmitter)２２を含む。符号器モジュール１８は、１つまたは複数のソースからデジタルマルチメディアデータの流れを受信する。符号器モジュール１８は、例えば符号器１８に結合されたメモリまたは画像取り込み装置からマルチメディアデータの流れを受信してもよい。マルチメディアデータの流れはライブのリアルタイム画像、音声、またはブロードキャストもしくはオンデマンドとして符号化され送信される画像および音声を備えてもよく、または事前に記録され記憶された画像、音声、またはブロードキャストもしくはオンデマンドとして符号化され送信される画像および音声を備えてもよい。本開示のこの技術は、非リアルタイムのサービスに適用されてもよく、またはリアルタイムサービスと非リアルタイムサービスとの組み合わせに適用されてもよい。しかしながら、本開示は例示を目的として、リアルタイムサービスでの符号化技術の使用について説明する。
【００２５】
符号器モジュール１８は、データ区分に関連した配信要件をマルチプレックスモジュール２０へ送信する。符号器モジュール１８は、例えば、リアルタイムサービスに関連した品質およびレート情報を、１つまたは複数の制御チャネルを介してマルチプレックスモジュール２０へ送信する。さらに、符号器モジュール１８は、非リアルタイムサービスに関連した優先および潜時要件を送信してもよい。マルチプレックスモジュール２０と符号器モジュール１８とは、複数の異なる通信プロトコルを使用して、制御チャネルを介して通信してもよい。１つの態様で、マルチプレックスモジュール２０は、基礎的な輸送メカニズムとしてメッセージ輸送層（ＭＴＬ）を利用するプロトコルを使用して、通信を行ってもよい。
【００２６】
マルチプレックスモジュール２０は、符号器モジュール１８が現在のスーパーフレーム１６の中に含めることを希望する、データ区分を送信するために十分な送信チャネルリソースが存在するかどうかを判定するために、例えば品質およびレート情報、優先要件および潜時要件などの配信要件を分析する。例えばマルチプレックスモジュール２０は、品質レベルのうちの選択されたものに対応するサイズおよび／またはビットレートで、データ区分の各々を送信するために必要な送信チャネルリソースの量を判定し、データ区分を送信するために必要な送信チャネルリソースの量を合計し、データ区分を送信するために十分な送信チャネルリソースが存在するかどうかを判定するために、すべてのデータ区分によって必要とされる送信チャネルリソースの総計を利用可能な送信チャネルリソースの量と比較してもよい。
【００２７】
マルチプレックスモジュール２０が、例えば必要な送信チャネルリソースの総計が利用可能な送信チャネルリソースを上回るなど、複数のデータ区分が利用可能な帯域幅内にフィットしないと判定する場合、マルチプレックスモジュール２０は、１つまたは複数のサイズ変更されるべき区分を選択する。マルチプレックスモジュール２０は、対応する減少サイズで、品質における最小量の影響を有するサイズ変更されるべきデータ区分を選択することを試みてもよい。マルチプレックスモジュール２０は、減少されたビット割当てまたは減少されたビットレートに従って、デジタルマルチメディアデータをサイズ変更するために、選択されたデータ区分に関連した符号器モジュール１８に要求を送信する。サイズ変更要求は、選択されたデータ区分、またはデータ区分のために減少されたビットレートのために、例えばビットにおける最大サイズを指定してもよい。
【００２８】
選択されたデータ区分に関連した符号器モジュール１８は、それらの各々のデータ区分に関連したサイズ変更再要求を受信して、マルチメディアデータの区分をサイズ変更する。符号器モジュール１８は、複数の異なる方法で、データ区分のビットレートを減少させてもよい。特に、選択されたデータ区分に関連した符号器モジュール１８は、データ区分のサイズを減少させるために、１つまたは複数の符号化変数を調整してもよい。例えば、選択されたデータ区分に関連した符号化モジュール１８は、より高いＱＰでデータ区分を再符号化して、フレームレートを減少させる、すなわち符号化されるべき、さらなるデータフレームをドロップすることによって、またはいくつかのその他の符号化変数を調整することによって、データ区分のビットレートを減少させてもよい。上述のように、選択されたデータ区分に関連した符号化モジュール１８は、ビットレートをサイズ変更再要求の中で指定された減少されたビットレートまたはサイズに減少させることによって、データ区分をサイズ変更してもよい。代替として、符号器モジュール１８は、データ区分を再符号化するための減少されたビットレートまたはサイズを判定してもよい。代替として、またはさらに、選択されたデータ区分に関連した符号器モジュール１８は、符号化されるべき情報の量を減少させてもよく、したがってデータ区分のサイズを減少させてもよい。この方法で、選択されたデータ区分に関連した符号器モジュール１８は、サイズ変更要求の中で指定されたサイズまたはビットレート要件を満たすために、データ区分をサイズ変更する。
【００２９】
マルチプレックスモジュール２０は、現在のスーパーフレームを生成する準備ができてきる場合に、符号化されたデータ区分を収集する。例えば、マルチプレックスモジュール２０は制御チャネルを介して、転送要求を符号器モジュール１８へ送信する。この要求に応答して、符号器モジュール１８は、マルチプレックスモジュール２０に符号化されたマルチメディアデータの区分を送信する。マルチプレックスモジュール２０は、スーパーフレームを形成するためにマルチメディアデータの流れを結合し、送信チャネル１６を介した１つまたは複数の復号装置への送信のために、スーパーフレームを送信機２２へ送信する。この方法で、マルチプレックスモジュール２０は、複数のデータの流れの最高の全体的品質を保持しながら、すべてのデータ区分を固定された帯域幅チャネル１６にフィットさせるために、流れの間でのビット割当てを管理する。
【００３０】
ここで詳細に説明されるように、選択されたデータ区分に関連した符号器モジュール１８は、以前のデータ区分のために受信された再符号化要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、例えば隣のデータ区分などの１つまたは複数のその後に続くデータ区分を符号化するために使用される１つまたは複数の符号化変数を調整してもよい。例えば符号器モジュール１８は、異なるビットレートを達成するために、ＱＰ、フレームレートまたはその他を調整してもよい。１つの態様で、選択されたデータ区分に関連した符号器モジュール１８は、選択されたデータ区分をサイズ変更するために使用される減少されたビットレートを達成するために、１つまたは複数の符号化変数を調整してもよい。符号器モジュール１８は、単一のサイズ変更要求を受信した後、その後に続くデータ区分を符号化するために使用されるべきビットレートを減少させるために、符号化変数を調整してもよい。代替として、符号器モジュール１８は、複数の連続したデータ区分のためにサイズ変更要求を受信した後、その後に続くデータ区分のためのビットレートを減少させるために符号化変数を調整してもよい。
【００３１】
上述のように、符号器モジュール１８は、一定の品質レベルまたは一定のビットレートで、データの流れの各々を出力することを試みてもよい。一定のビットレートで符号化を試みる符号器モジュール１８のうちの１つのために、符号器モジュール１８は、目標ビットレートより下にビットレートを減少させるために、符号化変数を調整してもよい。同様に、一定の品質レベルで符号化を試みる符号器モジュール１８のうちの１つのために、符号器モジュール１８は、目標品質レベルを達成するために必要とされるビットレートよりも下にビットレートを減少させるために、符号化変数を調整してもよい。この方法で、符号器モジュールは、その後のデータ区分のためにサイズ変更要求を受信することなく、異なるビットレートで符号化されたその後に続くデータ区分が対応する送信フレーム内にフィットすることを確実にすることを試みる。
【００３２】
ある時点で、符号器モジュール１８は、その後に続くデータ区分が所望の符号化結果（例えば品質レベル、ビットレート、フレームレート、フレームサイズ、アスペクト比、ＱＰ、ＳＮＲ、ＰＳＮＲ、構造的類似性、平均オピニオン評点、ならびにその他の客観的および主観的な変数およびパラメータ）で符号化されるように、その後に続くデータ区分を符号化するために使用される符号化変数を再調整する。換言すれば、符号器モジュール１８は、まるで以前のデータ区分のためにサイズ変更要求が受信されなかったかのように、符号器モジュール１８がその後に続くデータ区分を符号化するように、符号化変数を再調整する。本開示の１つの態様で、符号器モジュール１８は、時間の一期間にわたってサイズ変更要求が受信されていないときに、符号化変数を再調整してもよい。換言すれば、符号器モジュール１８は期間が過ぎた後、調整された符号化変数を所望の値に戻す。代替として、符号化モジュールは、その後に続くデータ区分が所望の符号化結果で符号化されるまで、その後に続くデータ区分を符号化するために使用される符号化変数を漸増的に調整してもよい。その後に続くデータ区分のうちの１つのためにサイズ変更要求が受信される場合、符号器モジュール１８はその後に続く区分のために再度ビットレートを減少させ、はじめから再度プロセスを開始してもよい。
【００３３】
マルチメディア符号化装置１２の中の構成要素は、ここで説明されている技術をインプリメントする(implement)ために適用可能な例示的な構成要素である。しかしながら、マルチメディア符号化装置１２は、必要に応じて多くのその他の構成要素を含んでもよい。さらに本開示の技術は、図１のようなシステムか、またはブロードキャストシステムの中での使用に必ずしも限定されるわけではない。本技術は、符号化技術が、限られた帯域幅の送信チャネルを介した送信のために、複数のマルチメディアデータの流れを符号化するために使用される任意のマルチメディア符号化環境の中で適用例を見出してもよい。示されているマルチメディア符号化装置１２の構成要素は、符号器／複合機（ＣＯＤＥＣ）の一部として組み込まれてもよい。
【００３４】
マルチメディア符号化装置１２の中の構成要素は、１つまたは複数のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、独立した論理回路、ソフトウェア、ハードウェア、ファームウェア、または任意のそれらの組み合わせとしてインプリメントされてもよい。さらに、マルチメディア符号化装置１２は、動画像専門家グループ（ＭＰＥＧ−４）などのマルチメディア符号化規格、例えばＨ．２６３もしくはＨ．２６４もしくはその他の符号化規格などの国際電気通信連合規格化部門（ＩＴＵ−Ｔ）によって開発された１つまたは複数の規格、またはそれらの組み合わせに対応してもよい。モジュールとしての異なる機能の説明は、マルチメディア符号化装置１２の異なる機能的側面を強調することを目的としており、前述のようなモジュールが、別々のハードウェアまたはソフトウェア構成要素によって実現されなければならないということを必ずしも意味するわけではない。むしろ、１つまたは複数のモジュールに関連した機能は、共通または別々のハードウェアまたはソフトウェア構成要素の中に組み込まれてもよい。したがって、本開示はマルチメディア符号化装置１２の例に限定されるべきではない。
【００３５】
図２は、別の例示的な符号化および復号システム３０を示すブロック図である。符号化および復号システム３０は、実質的に図１の符号化および復号システム１０と一致するが、選択されたマルチメディアデータ区分のサイズ変更は、選択されたデータ区分に関連したサイズ変更モジュール３２Ａ〜３２Ｎ（まとめて「サイズ変更モジュール３２」）によって実行される。したがって、図１の符号器モジュール１８の機能は、符号器モジュール３４Ａ〜３４Ｎ（まとめて「符号器モジュール３４」）とサイズ変更モジュール３２との間で分割されている。換言すれば、符号器モジュール３４は、データ区分への利用可能な帯域幅の割当て、および割当てが失敗した場合のサイズ変更されるべき１つまたは複数のデータ区分の選択の際に使用するために、データ区分の各々に関連した品質およびレート情報、優先要件、潜時要件およびその他などの配信要件をマルチプレックスモジュール２０に提供する。
【００３６】
サイズ変更モジュール３２は、データ区分をサイズ変更するためにマルチプレックスモジュール２０から要求を受信し、サイズ変更要求の中でマルチプレックスモジュール２０によって指定された要件に従って、データ区分をサイズ変更する。さらにサイズ変更モジュール３２は、符号器モジュール３４が、その後に続くデータ区分のためのビットレートを、選択されたデータ区分を再符号化するために使用される減少されたビットレートに設定することを可能にするために、データ区分が再符号化されたビットレートを符号器モジュール３４に与えてもよい。本開示の技術によって、符号器モジュール３４は、時間の一期間にわたって、減少されたビットレートで、すなわち調整された符号化変数を使用して、その後に続くデータ区分を符号化し続け、その後符号化変数の本来の値に戻るか、または符号化変数の値が所望の値に達するまで、その後に続くデータ区分を符号化するために使用される符号化変数の値を徐々に増やしてもよい。
【００３７】
図３は、図１のマルチメディア符号化装置１２などのマルチメディア符号化装置内で使用するための例示的な符号器モジュール４０を示すブロック図である。例えば、符号器モジュール４０は、図１の符号化装置１２の符号器モジュール１８のうちの任意の１つを表す。符号器モジュール４０は、多重化モジュールインタフェース(multiplex module interface)４２、コンテンツ分類モジュール４４(content classification module)、品質レート情報生成モジュール(quality-rate information generation module)４６および符号化モジュール(encoding module)４８を含む。符号化モジュール４８はさらに、サイズ変更のために選択されたデータ区分をサイズ変更するサイズ変更モジュール(resizing module)５０を含む。さらに符号化モジュール４８は、本開示の技術によって、符号器モジュール４０のビットレートを制御するレート制御モジュール(rate control module)５２を含む。
【００３８】
符号器モジュール４０は、ソースから、１つまたは複数のマルチメディアデータの流れを受信する。例えば符号器モジュール４０は、符号器モジュール４０に結合されたメモリまたは画像取り込み装置から、マルチメディアデータの流れを受信する。マルチメディアデータの流れは、ライブのリアルタイム画像、音声、またはブロードキャストとして符号化され送信される画像および音声の流れを備えてもよく、または事前に記録され記憶された画像、音声、またはブロードキャストもしくはオンデマンドとして符号化され送信される画像および音声の流れを備えてもよい。この本開示の技術はまた、非リアルタイムのサービスに適用されてもよく、またはリアルタイムサービスと非リアルタイムサービスとの組み合わせに適用されてもよい。
【００３９】
符号器モジュール４０は、一定のビットレートまたは品質レベルで動作するように構成されてもよい。例えば、符号器モジュール４０は、データのコンテンツに関わらず、データの流れのために、一定の認められた品質基準を維持しようとしてもよい。換言すれば、符号器モジュール４０は、目標品質レベルで各々のデータの流れを出力することを試みてもよい。一定または同様の認められた品質レベルを維持するために、符号器モジュール４０は、異なるコンテンツを備えたデータ区分のために、異なるビットレートを選択してもよい。このために、コンテンツ分類モジュール４４は、データ区分をそれらのコンテンツに基づいて分類する。コンテンツ分類モジュール４４は、データ区分を、その区分のデータの複雑性（例えば空間的複雑性および／または時間的複雑性）に基づいて分類してもよい。１つの例示的なコンテンツ分類方法は、その全体の内容が参照によりここに組み込まれている、２００６年３月１０日に出願され、「マルチメディアプロセッシングについてのコンテンツ分類(CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING)」と題された、同一の譲受人に譲渡された同時係属の米国特許出願第１１／３７３，５７７号の中で、説明されている。例えば、コンテンツ分類モジュール４４は運動ベクトルなどの運動情報を（ｘ軸上の）「高」、「中」および「低」の範疇に分類し、コントラスト比の値などのテクスチャ情報を（ｙ軸上の）「高」、「中」および「低」の範疇に分類してもよく、コンテンツ分類は交点のところに示される。この分類は、例えば特定の品質レート曲線と関連していてもよい。
【００４０】
コンテンツ分類モジュール４４は、分類に基づいて、データ区分を品質およびレート情報、またはその他の配信要件と結び付ける。例えば、コンテンツ分類モジュール４４は、データ区分を各々の品質レート曲線と結び付ける。品質レート曲線は、ピークＳＮ比（ＰＳＮＲ）などの品質基準をビットレートの関数として形成する。符号器モジュール４０は、オフラインで計算された品質レート曲線で構成されてもよい。代替として、品質レート情報生成モジュール４６は、例えばその形状の対数関数を使用して品質レート曲線を形成することによって、品質レート曲線を生成してもよい。
【００４１】
Ｑ ＝ ａ * ln(ｒ) ＋ ｂ      
この式でＱは品質基準であり、ｒはビットレートであり、ａおよびｂはいくつかのサンプルデータ点を使用して計算される定数である。品質レート情報生成モジュール４６は、異なるコンテンツのデータの流れについての品質レート特性を表す、複数の品質レート曲線を維持してもよい。例えば、品質レート情報生成モジュール４６は、流れのコンテンツの中の異なった運動およびテクスチャレベルに関連した８つの異なるクラスのために、品質レート曲線を維持してもよい。一定のＰＳＮＲが一定の認められた品質を必ずしも意味するわけではないという事実を説明するために、品質レート情報生成モジュール４６は、平均オピニオン評点（ＭＯＳ）などのＰＳＮＲ以外の品質基準を使用する品質レート曲線を維持してもよい。代替として、品質レート情報生成モジュール４６は、一定のＰＳＮＲが一定の認められた品質を必ずしも意味するわけではないという事実を説明するために、品質レート曲線を調整してもよい。例えば、品質レート情報生成モジュール４６は、その全体の内容が参照によりここに組み込まれている、２００６年３月１０日に出願され、「マルチメディアプロセッシングについてのコンテンツ分類(CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING)」と題された、同一の譲受人に譲渡された同時係属の米国特許出願第１１／３７３，５７７号の中で、詳細に説明されているように、オフセットによって従来の品質レート曲線を調整してもよい。
【００４２】
代替として、品質レート情報生成モジュール４６は、オフセットによって、コンテンツ曲線の各々に関連した目標品質レベルを調整してもよい。例えば、高運動、高テクスチャのコンテンツを含むデータ区分は、目標品質レベルに関して僅かに低い品質で符号化され、一方で低運動、低テクスチャのコンテンツを含むデータ区分は、目標品質レベルに関して僅かに高い品質で符号化されてもよい。各々のコンテンツクラスは、全体的な目標品質レベルに対して、それ自体の調整された品質レベルを有しているので、符号器モジュール４０は、符号器モジュール４０での現在の品質レベルを測定するために、各コンテンツクラスのために品質レベルを標準化してもよい。符号器モジュール４０は、以下の線型方程式によって、この標準化を達成してもよい。
【００４３】
Ｑｎｏｒｍ＝Ｑｒ−Ｑｋ 
この式で、Ｑｎｏｒｍは標準化された品質レベルであり、Ｑｒは記録された品質レベルであり、Ｑｋは曲線ｋのための品質レベルの中の調整オフセットである。品質標準化が線形関数ではない場合、ランク判定は品質標準化の後に実行されてもよい。
【００４４】
別の例では、コンテンツ分類モジュール４４は、区分に関連した１つまたは複数の品質レベルおよび各品質レベルでの区分のサイズを示す事前に計算された品質レート表を、データ区分と関連させてもよい。そのために、コンテンツ分類モジュール４４は、品質レート表のうちの特定のものに対応する品質レート曲線をデータ区分と関連させてもよい。品質レート情報生成モジュール４６は、品質レート曲線、調整された品質レート曲線または品質レート表を事前に計算し、事前に計算された品質およびレート情報をメモリ（不図示）内に記憶してもよい。コンテンツ分類モジュール４４は、必要に応じて、事前に計算された品質およびレート情報にアクセスしてもよい。代替として、品質レート情報生成モジュール４６は、リアルタイムのデータ区分のために、品質およびレート情報を生成してもよい。例えば、品質レート情報生成モジュール４６は、データ区分に関連した品質レート曲線に基づいて、品質レート表を生成してもよい。
【００４５】
符号器モジュール４０は、現在のスーパーフレーム内に含まれるべきデータ区分の各々に関連した品質およびレート情報を、マルチプレックスモジュールインタフェース４２を介してマルチプレックスモジュール２０（図１）に送信する。品質およびレート情報は、現在のスーパーフレームのサイズを監視し、現在のスーパーフレーム内にデータ区分をフィットさせるためにサイズ変更が必要とされる場合、どのデータ区分をサイズ変更するのかを判定する際に、マルチプレックスモジュール２０を援助する。符号器モジュール４０は、マルチプレックスモジュール２０からの要求に応答して、品質およびレート情報をマルチプレックスモジュール２０に送信してもよい。上述のように、品質およびレート情報は、データ区分に関連した品質レート曲線または品質レート表を備えてもよい。
【００４６】
符号器モジュール４０に関連したデータ区分のいずれかのものがサイズ変更されなければならない場合、マルチプレックスモジュール２０は、符号器モジュール４０にサイズ変更要求を送信する。サイズ変更要求に応答して、サイズ変更モジュール５０は、データ区分のサイズを減少させるために、マルチメディアデータの区分をサイズ変更する。特に、サイズ変更モジュール５０は、選択されたデータ区分のビットレート、したがってサイズを減少させるために、１つまたは複数の符号化変数を調整する。例えば、サイズ変更モジュール５０は量子化値を増加させ、符号化レートを減少させ、データ区分が符号化されるフレームレートを低下させるか、またはデータ区分のビットレートまたはサイズに影響を与える別の符号化変数を調整してもよい。一部の場合では、減少されたビットレートは、リサイズ要求の中で指定されてもよい。代替として、レート制御モジュール５２は、サイズ変更要求の中で指定された最大サイズなどの別の情報に基づいて、減少されたビットレートを選択してもよい。
【００４７】
一部の場合では、データ区分のサイズ変更は、データ区分の品質レベルが目標品質レベルを下回るようにしてもよい。しかしながら上述のように、マルチプレックスモジュール２０は、すべてのデータ区分の全体的品質が保たれるように、再符号化されるべき区分を選択する。サイズ変更されたデータ区分の品質レベルが、符号器モジュール４０に関連した最低の品質レベルを下回る場合、サイズ変更モジュール５０は、サイズ変更されたデータ区分の品質レベルが最低品質レベルよりも大きいか、またはそれと等しくなるように、データ区分をサイズ変更してもよい。例えば、サイズ変更要求の中に含まれたビットレートが、符号器モジュール４０に関連した最低品質レベルより下の品質レベルで符号化されたデータ区分になる場合、レート制御モジュール５２は、最低品質レベル符号化されたデータ区分になる、より高いビットレートを選択してもよい。
【００４８】
符号器モジュール４０は、現在のスーパーフレーム内に含まれるべき符号化されたデータ区分を送信するための要求をマルチプレックスモジュール２０から受信する。マルチプレックスモジュール２０からの要求に応答して、符号化モジュール４０は、符号化されたデータ区分をマルチプレックスモジュール２０に送信する。上述のように、符号器モジュール４０は、本来のビットレートでサイズ変更するために選択されていないデータ区分を送信し、減少されたビットレートでサイズ変更するために選択されたデータ区分を送信する。
【００４９】
レート制御モジュール５２は、以前のデータ区分のために受信された再符号化要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、その後に続くデータ区分を符号化するために使用される１つまたは複数の符号化変数を調整してもよい。例えば、レート制御モジュール５２は、その後に続くデータ区分が符号化されるビットレートを減少させてもよい。別の例として、レート制御モジュール５２は、例えばＱＰ値またはフレームレートなど、その後に続くデータ区分が符号化されるビットレートに影響を与える別の符号化変数を調整してもよい。レート制御モジュール５２は、符号化モジュール４８の符号化変数を、以前のデータ区分を再符号化するために使用された符号化変数に等しくなるように調整してもよい。１つの例で、レート制御モジュール５２は、符号化モジュール４８のビットレートを、以前のデータ区分のために受信されたサイズ変更要求の中で指定された減少されたビットレートに等しく設定してもよい。
【００５０】
上述のように、符号化モジュール４８は、まるで以前のデータ区分のために受信されたサイズ変更要求がなかったかのように、その後に続くデータ区分を符号化するために、符号化変数をある時点でのそれらの通常の値に戻す。本開示の１つの態様で、符号化モジュール４８は、時間の一期間にわたって、調整された符号化変数を使用してその後に続くデータ区分を符号化し続け、その後符号化変数を、例えば目標品質レベルまたは目標ビットレートなどの所望の符号化結果で、データ区分を符号化するために必要な値に再調整してもよい。例えば、符号化モジュール４８は、時間符号化モジュール４８が、例えば目標品質レベルなどの所望の符号化結果でデータ区分を符号化するために符号化変数を再調整するタイマの終了時まで、調整された符号化変数を使用して、その後に続くデータ区分を符号化し続けてもよい。別の例では、符号化モジュール４８は、サイズ変更要求を受信することなく送信された、その後に続くデータ区分の数を追跡するカウンタがしきい値を超えるまで、調整された符号化変数を使用して、その後に続くデータ区分の符号化を継続してもよい。符号化モジュール４８が、タイマの終了前か、またはカウンタがしきい値を超える前に、その後に続くデータ区分の１つをサイズ変更するための要求を受信する場合、符号化モジュール４８はタイマまたはカウンタを再設定し、したがって、符号化モジュール４８が調整された符号化変数を使用して、その後に続くデータ区分を符号化する期間を再開する。
【００５１】
代替として、レート制御モジュール５２は、符号器モジュール４０が、例えば所望のレートまたは品質などの所望の符号化結果に達するまで、その後に続くデータ区分を符号化するために、符号化モジュール４８によって使用される符号化変数を漸増的に調整してもよい。一定した品質で符号化を行う符号器のために、レート制御モジュール５２は、目標品質が達せられるまで、符号化変数を徐々に増やして(gradually increase)もよい。このために、レート制御モジュール５２は、時間のある特定の期間にわたって、サイズ変更要求が受信されない場合、インクレメント値(increment value)によって符号化変数を増やして(increment)もよい。例えば、レート制御モジュール５２は、サイズ変更要求が受信されていない各スーパーフレームのために、インクレメント値によって符号化変数を増やして(increment)もよい。しかしながら、もしその後に続くデータ区分のうちの１つのためにサイズ変更要求が受信される場合は、符号器モジュール１８は、その後に続く区分を符号化するために使用される符号化変数を再度調整し、符号化変数の調整を漸増的に開始してもよい。所望の符号化結果を達成するために、ビットレートまたはその他の符号化変数を漸増的に調整することは、１つのスーパーフレームから別のスーパーフレームへの流れの中で品質が急激に変化することを回避し、したがってエンドユーザの視覚体験を向上させる。
【００５２】
符号器モジュール４０の中の構成要素は、ここで説明されている技術をインプリメントするために適用可能な例示的な構成要素である。しかしながら符号器モジュール４０は、必要に応じて、多くのその他の構成要素を含んでもよい。符号器モジュール４０の中の構成要素は、１つまたは複数のプロセッサ、デジタル信号プロセッサ、ＡＳＩＣ、ＦＰＧＡ、独立した論理回路、ソフトウェア、ハードウェア、ファームウェア、または任意のそれらの組み合わせとしてインプリメントされてもよい。さらに符号器モジュール４０は、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４、またはその他の符号化規格などのマルチメディア符号化規格に対応してもよい。モジュールとしての異なる機能の説明は、符号器モジュール４０の異なる機能的側面を強調することを目的としており、前述のようなモジュールが、別々のハードウェアまたはソフトウェア構成要素によって実現されなければならないということを必ずしも意味するわけではない。むしろ、１つまたは複数のモジュールに関連した機能は、共通または別々のハードウェアまたはソフトウェア構成要素の中に組み込まれてもよい。したがって、本開示は符号器モジュール４０の例に限定されるべきではない。
【００５３】
図４は、本開示の技術によってマルチメディアデータを符号化する、図３の符号化モジュール４０などの符号化モジュールの例示的な動作を示す流れ図である。符号器モジュール４０は、１つまたは複数のマルチメディアデータの流れをソースから受信する（６０）。例えば符号器モジュール４０は、符号器モジュール４０に結合されたメモリまたは画像取り込み装置から、マルチメディアデータの流れを受信する。マルチメディアデータの流れは、ライブのリアルタイムコンテンツ、非リアルタイムコンテンツ、またはリアルタイムコンテンツと非リアルタイムコンテンツとの組み合わせを備えてもよい。
【００５４】
符号器モジュール４０は、それらのコンテンツに基づいて、データ区分を分類する（６２）。例えばコンテンツ分類モジュール４４（図３）は、その区分のデータの複雑性（例えば空間的複雑性および／または時間的複雑性）に基づいて分類してもよい。コンテンツ分類モジュール４４はさらに、その分類に基づいて、データ区分を品質およびレート情報と関連させる（６４）。例えば、コンテンツ分類モジュール４４は、データ区分を複数の品質レート曲線のうちの１つと関連させてもよい。上述のように、品質レート曲線は、事前に計算されてメモリの中に記憶されてもよい。別の例として、コンテンツ分類モジュール４４は、データ区分を複数の事前に計算された品質レート表のうちの１つと関連させてもよい。
【００５５】
符号器モジュール４０は、データ区分のために、さらなる品質およびレート情報を生成してもよい（６６）。例えば、品質およびレート情報生成モジュール４６は、データ区分の各々のために品質レート表を生成してもよい。上述のように、品質レート表は、１つまたは複数のデータ区分に関連した品質レベル、および各々の品質レベルでのデータ区分のサイズを示す。
【００５６】
符号器モジュール４０は、データ区分に関連した品質およびレート情報をマルチプレックスモジュール２０に送信する（６８）。例えば符号器モジュール４０は、マルチプレックスモジュールからの要求に応答して、データ区分に関連した品質およびレート情報を送信してもよい。例えば符号器モジュール４０は、データ区分に関連した品質レート曲線および／または品質レート表を送信してもよい。上で詳細に説明されているように、マルチプレックスモジュールは現在のスーパーフレームのサイズを監視して、どのデータ区分がサイズ変更されなければならないのかを判定する際にマルチプレックスモジュールを援助するために、品質およびレート情報を使用する。
【００５７】
符号器モジュール４０に関連したデータ区分のうちの任意のものがサイズ変更されなければならない場合、符号器モジュール４０はマルチプレックスモジュール２０からサイズ変更要求を受信する（７０）。マルチプレックスモジュール２０からのサイズ変更要求は、データ区分のために、減少されたビットレート、または例えばビットにおける最大サイズなどを含んでもよい。サイズ変更要求に応答して、サイズ変更モジュール５０は、データ区分のサイズを減少させるために、符号化されたデータ区分をサイズ変更する（７２）。例えば、サイズ変更モジュール５０は、データ区分のサイズを減少させるために、１つまたは複数の符号化変数を調整してもよい。例えばサイズ変更モジュール５０は、レート制御モジュール５２によって指定された減少されたビットレートで、データ区分を再符号化してもよい。レート制御モジュール５２は、サイズ変更要求内に含まれた減少されたビットレートを識別するか、またはそれ自体で減少されたビットレートを判定してもよい。代替として、またはさらに、サイズ変更モジュール５０は、データ区分のサイズを減少させるために、調整された、例えばより高い量子化パラメータを使用して、データ区分を再符号化してもよい。さらに、サイズ変更モジュール５０は、符号化されるべき情報の量を調整してもよい。例えば、サイズ変更モジュール５０は、データ区分のサイズを減少させるために、１つまたは複数の運動ベクトルを統合することによって、符号化運動情報のために使用されるビット数を減少させてもよい。
【００５８】
符号器モジュール４０は、現在のスーパーフレーム内に含まれるべきデータ区分の符号化されたコンテンツを送信するために、マルチプレックスモジュール２０から要求を受信する（７４）。マルチプレックスモジュールからの要求に応答して、符号器モジュール２６００は、データ区分の符号化されたコンテンツをマルチプレックスモジュール２０に送信する（７６）。上述のように、符号器モジュール４０は、本来のサイズでサイズ変更されるために選択されていないデータ区分を送信し、減少されたサイズでサイズ変更するために選択されたデータ区分を送信する。
【００５９】
符号器モジュール４０は、以前のデータ区分のために受信された再符号化要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートで符号化されたその後に続くデータ区分となる、調整された符号化変数を使用して、１つまたは複数のその後に続くデータ区分を符号化する（７８）。例として、ビットレートを使用して、レート制御モジュール５２は符号化モジュール４８のビットレートを、選択されたデータ区分を再符号化するために使用されるビットレートに、すなわち減少されたビットレートに設定してもよい。本開示の１つの態様で、符号化モジュール４８は、時間の一期間にわたって、減少されたビットレートでその後に続くデータ区分を符号化し続け、その後ビットレートを、目標品質レベルか、またはそれを上回るレベルでデータ区分を符号化するために十分なビットレートに変更してもよい。代替として、レート制御モジュール５２は、ビットレートが目標品質を達成するか、またはそれを上回るために十分なビットレートに達するまで、符号化モジュール４８がその後に続くデータ区分を符号化するビットレートを徐々に増やしてもよい。いずれの場合でも、その後に続くデータ区分のうちの１つのためにサイズ変更要求が受信される場合、レート制御モジュール５２は、その後に続く区分のために再度ビットデートを減少させ、はじめから再度プロセスを開始してもよい。ビットレートの調整に関して説明されているが、符号化モジュール４８は符号化のために使用されるＱＰ、フレームレート、品質およびその他のものなどの別の符号化変数を調整してもよい。
【００６０】
図５は、サイズ変更要求に応答して符号化変数を調整する、符号器モジュール４０（図３）などの符号器モジュールの例示的な動作を示す流れ図である。最初に、サイズ変更モジュール５０は、符号器モジュール４０が現在のスーパーフレームの中で送信することを希望するデータ区分を変更するようにサイズ変更モジュール５０を指示するマルチプレックスモジュール２０（図１）から、サイズ変更要求を受信する（８０）。マルチプレックスモジュール２０からの要求に応答して、サイズ変更モジュール５０は現在のデータ区分をサイズ変更する（８２）。上述のように、サイズ変更モジュール５０は、データ区分のビットレートをレート制御モジュール５２によって指定されたビットレートに減少させるために、１つまたは複数の符号化変数を調整することによって、データ区分をサイズ変更してもよい。例えば、レート制御モジュール５２は、サイズ変更要求内で指定されたビットレートでデータ区分をサイズ変更するために、１つまたは複数の符号化変数を調整してもよい。代替として、レート制御モジュール５２は、サイズ変更要求の中で指定された最大サイズに基づいて、データ区分をサイズ変更するための減少されたビットレートを判定してもよい。
【００６１】
現在のデータ区分をサイズ変更した後、レート制御モジュール５２は、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する（８４）。例えば、レート制御モジュール５２は、以前のデータ区分を再符号化するために使用されたビットレートでその後に続くデータ区分を符号化するために、符号化変数を調整してもよい。
【００６２】
符号器モジュール４０は、例えばその後のデータ区分に関連した品質およびレート情報などの配信要件をマルチプレックスモジュールに送信する（８５）。符号器モジュール４０は、その後に続くデータ区分のためのサイズ変更要求がマルチプレックスモジュール２０から受信されたかどうかを判定する（８６）。サイズ変更要求がマルチプレックスモジュール２０から受信される場合、レート制御モジュール５２は、ビットレートを減少させるために、デクレメント値(decrement value)によって、符号化変数を漸増的に(incrementally)調整してもよい（８７）。デクレメント値によって符号化変数のビットレートを減少させること(decrementing)は、符号化変数を、マルチプレックスモジュール２０がサイズ変更を要求することなく認めた最高のビットレートで符号化されるその後に続くデータ区分になる値に戻す。別の例では、レート制御モジュール５２は、ビットレートを減少させるために符号化変数を漸増的に調整する代わりに、その後に続くデータ区分のために受信されるサイズ変更要求の中で指定される減少されたビットレートを達成するために、符号化変数を調整してもよい。
【００６３】
その後に続くデータ区分のためにサイズ変更要求が受信されない場合、符号化モジュール４８は、レート制御モジュール５２によって設定された調整された符号化変数を使用して、その後に続くデータ区分を符号化する（８８）。レート制御モジュール５２は、その後に続くデータ区分が所望の符号化結果で符号化されるかどうかを判定する（９０）。換言すれば、レート制御モジュール５２は、符号化変数を使用する符号化が、例えば所望の品質レベル、ビットレート、ＱＰ値、フレームレートまたはその他などの所望の符号化結果で、またはそれを上回る結果で、その後に続くデータ区分を符号化するために十分なビットレートになるかどうかを判定する。その後に続くデータ区分が所望の符号化結果か、またはそれを上回る結果で符号化される場合、レート制御モジュール５２は、まるでサイズ変更要求が受信されなかったかのように動作し始める（９２）。換言すれば、レート制御モジュール５２は、所望の符号化結果を達成するために、その後に続くデータ区分を符号化するのに必要な符号化変数を選択する。例えば、レート制御モジュール５２は、その後に続くデータに関連した品質レート曲線を分析して、目標品質レベルと関連した品質レート曲線との交点に対応するビットレートを選択してもよい。
【００６４】
所望の符号化結果を達成するためにその後に続くデータ区分が符号化されない場合、レート制御モジュール５２は、ビットレートを増加させるためにインクレメント値によって、符号化変数を漸増的に(incrementally)調整する（９４）。例えば、レート制御モジュールは、インクレメント値によってフレームレートを増加させ、インクレメント値またはその他によってＱＰを減少させ(decrease)てもよい。符号器モジュール４０は、その後に続くデータ区分か、または所望の符号化結果を達成するために十分なビットレートになる符号化変数のうちの１つのためにサイズ変更要求が受信されるまで、その後に続くデータ区分のために、例えば品質およびレート情報などの配信要件を送信し、その後に続くデータ区分の符号化変数を増やす(increment)ことを続ける。この方法で、レート制御モジュール５２は、１つのスーパーフレームから別のスーパーフレームへの流れの中で品質が急激に変化することを回避するために、符号化変数を、減少ビットレート(reduce bit rate)から目標品質レベルに十分に達成するかまたはそれを上回るビットレートに、徐々に増やし(gradually increments)、したがって、エンドユーザの視覚体験を向上させる。
【００６５】
図６は、サイズ変更要求に応答して符号化変数を調整する、符号器モジュール４０（図１）などの符号器モジュールの別の例示的な動作を示す流れ図である。最初に、サイズ変更モジュール５０は、サイズ変更モジュール５０に、現在のデータ区分をサイズ変更するように要求するマルチプレックスモジュール２０（図１）から、要求を受信する（１００）。マルチプレックスモジュール２０からの要求に応答して、サイズ変更モジュール５０は現在のデータ区分をサイズ変更する（１０２）。上述のように、サイズ変更モジュール５０は、データ区分のビットレートをレート制御モジュール５２によって指定されたビットレートに減少させるために１つまたは複数の符号化変数を調整することによって、データ区分をサイズ変更してもよい。
【００６６】
現在のデータ区分をサイズ変更した後、１つまたは複数の符号化変数を調整するレート制御モジュール５２は、サイズ変更するための要求が存在していなければその後に続くデータ区分が符号化されたであろうビットレートとは異なるビットレートでその後に続くデータ区分が符号化されるように、１つまたは複数のデータ区分を符号化するために使用される少なくとも１つの符号化変数を調整する（１０４）。例えば、レート制御モジュール５２は、符号化モジュール４８がその後に続くデータ区分を符号化するビットレートを調整するために、ＱＰまたはフレームレートを調整してもよい。レート制御モジュール５２は、以前のデータ区分のうちの１つのためにサイズ変更要求が受信してから経過した時間の量を追跡するタイマを設定する（１０６）。例えば、このタイマは３秒に設定されて、カウントダウンを行ってもよい。代替として、レート制御モジュール５２はタイマの代わりにカウンタを使用して、サイズ変更要求を受信することなく、マルチプレックスモジュール２０に転送されるその後に続くデータ区分の数を追跡してもよい。
【００６７】
符号器モジュール４０は、例えば品質およびレート情報などの、その後に続くデータ区分に関連した配信要件をマルチプレックスモジュール２０に送信する（１０８）。符号器モジュール４０は、その後に続くデータ区分のためのサイズ変更要求がマルチプレックスモジュール２０から受信されたかどうかを判定する（１１０）。サイズ変更要求がマルチプレックスモジュール２０から受信される場合、レート制御モジュール５２は減少されたビットレートでその後に続くデータ区分を再符号化し、減少されたビットレート、すなわちサイズ変更要求の中で指定されたビットレートに等しい、符号化モジュール４８がその後に続くデータ区分を符号化するビットレートを設定する。さらに、レート制御モジュール５２はタイマを再設定する。
【００６８】
サイズ変更要求がその後に続くデータ区分のために受信されない場合、レート制御モジュール５２は、タイマが終了したかどうかを判定する（１１２）。代替として、レート制御モジュールが、サイズ変更要求を受信することなく転送されたその後に続くデータ区分の数を追跡するカウンタを維持する場合、レート制御モジュール５２は、カウンタがしきい値を上回るかどうかを見るために、確認を行ってもよい。タイマが終了している（またはカウンタがしきい値を上回る）場合、符号化モジュール４８は、レート制御モジュール５２によって設定された調整された符号化変数を使用して、その後に続くデータ区分を符号化する（１１３）。符号化モジュール４０は、次のその後に続くデータ区分に関連した品質およびレート情報をマルチプレックスモジュール２０に送信し、次のその後に続くデータ区分のためのサイズ変更要求がマルチプレックスモジュール２０から受信されたかどうかを判定する。
【００６９】
タイマが終了している（またはカウンタがしきい値を上回る）場合、レート制御モジュール５２は、所望の符号化結果を達成するために、その後に続くデータ区分が符号化されるように、その後に続くデータ区分を符号化するために使用される符号化変数を再調整する（１１４）。例えば、レート制御モジュール５２は、所望の目標品質または所望の目標ビットレートを達成するために、符号化変数を再調整する。この方法で、符号器モジュール４８は時間の一期間にわたって、減少されたビットレートでその後に続くデータ区分を符号化し続け、その後、目標品質レベルか、またはそれを上回るレベルでデータ区分を符号化するために必要なビットレートに変化してもよい。
【００７０】
ここで説明されている教示に基づいて、ここで開示されている態様は、任意のその他の態様から独立してインプリメントされて(implemented)もよいということ、およびこれらの態様のうちの２つ以上は様々な方法で組み合わせられてもよいということが、当業者には明らかであろう。ここで説明されている技術は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組み合わせの中でインプリメントされてもよい。ハードウェアでインプリメントされる場合、この技術はデジタルハードウェア、アナログハードウェアまたはそれらの組み合わせを使用して、実現されてもよい。ソフトウェアでインプリメントされる場合、この技術はコンピュータ可読媒体上の１つまたは複数の記憶されている、もしくは送信される命令またはコードによって、少なくとも部分的に実現されてもよい。コンピュータ可読媒体はコンピュータ記憶媒体、通信媒体またはその両方を含んでもよく、また１つの場所から他の場所へのコンピュータプログラムの転送を促進する任意の媒体を含んでもよい。記憶媒体は、コンピュータによってアクセスされることが可能な任意の入手可能な媒体であってもよい。
【００７１】
限定ではなく、一例として、そのようなコンピュータ可読媒体は同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、ＲＯＭ、電気的に消去可能なプログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭまたはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の記憶装置、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶することが可能であり、コンピュータによってアクセスされることが可能な任意のその他の有形媒体を備えることが可能である。
【００７２】
また、どんな接続(connection)も、適切にコンピュータ可読媒体(computer-readable medium)と呼ばれる。例えばソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線およびマイクロ波などの無線技術を使用してウェブサイト、サーバ、またはその他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線無線およびマイクロ波などの無線技術は、媒体の定義の中に含まれる。ここで使用されるようなディスク(disk)およびディスク(disc)は、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含む、なお、ディスク(disks)は、通常、磁気によってデータを再生し、その一方でディスク(discs)は、例えばレーザなどの光によってデータを再生する。また、上述のものの組み合わせも、同様に、コンピュータ可読媒体の範囲内に含まれるべきである。
【００７３】
ここに使用されるようなコンピュータプログラム製品は、コンピュータ可読媒体、そしてもちろん、コンピュータ可読媒体がパッケージされているパッケージ材を含む、コンピュータ可読媒体に関連した任意の材料も含む。コンピュータプログラム製品のコンピュータ可読媒体に関連したコードは、例えば１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはその他の同等の一体型もしくは独立型の論理回路などのコンピュータによって実行されてもよい。一部の態様で、ここで説明されている機能は、符号化および復号のための専用のソフトウェアモジュールまたはハードウェアモジュールの中に提供されるか、または結合されたＣＯＤＥＣの中に組み込まれてもよい。
【００７４】
様々な態様が説明されてきた。これらおよび他の態様は、添付の特許請求の範囲の範囲内にある。
【図面の簡単な説明】
【００７５】
【図１】例示的な符号化および復号システムを示すブロック図。
【図２】別の例示的な符号化および復号システムを示すブロック図。
【図３】マルチメディア符号化装置の内部で使用するための例示的な符号器モジュールを示すブロック図。
【図４】本開示の技術に従いマルチメディアデータを符号化する符号器モジュールの例示的な動作を示す流れ図。
【図５】サイズ変更要求に応答して符号化変数を調整する符号器モジュールの例示的な動作を示す流れ図。
【図６】サイズ変更要求に応答して符号化変数を調整する符号器モジュールの別の例示的な動作を示す流れ図。
【図１】
2009525706.tif 000003
【図２】
2009525706.tif 000004
【図３】
2009525706.tif 000005
【図４】
2009525706.tif 000006
【図５】
2009525706.tif 000007
【図６】
2009525706.tif 000008
【国際調査報告】
2009525706.tif 000009
2009525706.tif 000010
2009525706.tif 000011