(57)【要約】マルチメディアシステム［１００］は、マルチメディアストリームの符号化中に、様々な量子化パラメータ（ＱＰ）に対する品質メトリック及びビット使用量に基づいて、フレーム［１０２］の部分にビットを割り当てる。マルチメディアシステムのエンコーダ［１１０］は、第１のパスにおいて第１のＱＰを用いてフレームを符号化し、第２のパスにおいて第２のＱＰを用いてフレームを符号化する。マルチメディアシステムの比較器［４２０］は、第１のＱＰ及び第２のＱＰを用いて符号化されたフレームの各部分について、平均二乗誤差等の品質メトリックを測定して比較する。比較器は、各ＱＰを用いて符号化された各部分の品質メトリック間の差を閾値と比較する。ある部分の品質メトリックの差が閾値を超える場合、比較器は、その部分を選択して、第２のＱＰを用いて符号化される部分のサブセットに含める。【選択図】図１
2021535664.tif 000002
【特許請求の範囲】
【請求項１】
第１の量子化パラメータを用いて符号化された第１のフレームの各部分について、第１の測定方法を使用して第１の品質メトリックを計算することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された前記第１のフレームの各部分について、前記第１の測定方法を使用して第２の品質メトリックを計算することと、
前記第１の品質メトリックと前記第２の品質メトリックとの比較に基づいて、前記第２の量子化パラメータを用いて符号化される前記第１のフレームの部分の第１のサブセットを選択することと、
前記第１のフレームの部分の選択された第１のサブセットを、ネットワークを介して送信するために、前記第２の量子化パラメータを用いて符号化することと、を含む、
方法。
【請求項２】
前記第１のサブセットを選択することは、前記第１の品質メトリックと前記第２の品質メトリックとの差が閾値よりも大きい前記第１のフレームの部分を選択することを含む、
請求項１の方法。
【請求項３】
前記比較に基づいて、前記第１のフレームの部分の第２のサブセットを、前記第１の量子化パラメータを用いて符号化することであって、前記第２のサブセットが前記第１のサブセットと異なる、ことをさらに含む、
請求項１の方法。
【請求項４】
前記部分の第１のサブセットを選択することは、前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている、
請求項１の方法。
【請求項５】
前記第１の測定方法は、前記第１のフレームと、前記第１の量子化パラメータ又は前記第２の量子化パラメータの何れかを用いて符号化された前記第１のフレームと、の差の二乗平均に基づいている、
請求項１の方法。
【請求項６】
前記第１の量子化パラメータは、前記第１のフレームに先行する第２のフレームに基づいて選択される、
請求項１の方法。
【請求項７】
前記第１の量子化パラメータよりも大きい第３の量子化パラメータを用いて符号化された前記第１のフレームの各部分について、前記第１の測定方法を使用して第３の品質メトリックを計算することと、
前記第１の品質メトリックと前記第３の品質メトリックとの比較に基づいて、前記第３の量子化パラメータを用いて符号化される前記第１のフレームの部分の第２のサブセットを選択することと、
前記第３の量子化パラメータを用いて前記第１のフレームの部分の前記第２のサブセットを符号化することと、をさらに含む、
請求項１の方法。
【請求項８】
第１の量子化パラメータを用いて第１のフレームの部分の第１のサブセットを符号化することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化される前記第１のフレームの部分の第２のサブセットを選択することであって、前記第２のサブセットが前記第１のサブセットと異なり、前記第２の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックが、前記第１の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックよりも閾値を超えて大きいことを予測したことに応じて、前記部分の第２のサブセットを選択することと、
前記第２の量子化パラメータを用いて前記第１のフレームの前記部分の第２のサブセットを符号化することと、を含む、
方法。
【請求項９】
前記部分の第２のサブセットを選択することは、前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている、
請求項８の方法。
【請求項１０】
前記品質メトリックは、前記第１のフレームと、前記第１の量子化パラメータ又は前記第２の量子化パラメータの何れかを用いて符号化された前記第１のフレームと、の差の二乗平均に基づいている、
請求項８の方法。
【請求項１１】
前記第１の量子化パラメータは、前記第１のフレームに先行する第２のフレームに基づいて選択される、
請求項８の方法。
【請求項１２】
前記第１の量子化パラメータよりも大きい第３の量子化パラメータを用いて符号化された前記第１のフレームの各部分について品質メトリックを計算することと、
前記各部分について、前記第１の量子化パラメータを用いて符号化された前記部分の品質メトリックを、前記第３の量子化パラメータを用いて符号化された前記部分の品質メトリックと比較することと、
前記比較に基づいて、前記第３の量子化パラメータを用いて符号化される前記第１のフレームの部分の第３のサブセットを選択することと、
前記第３の量子化パラメータを用いて前記第１のフレームの部分の前記第３のサブセットを符号化することと、をさらに含む、
請求項８の方法。
【請求項１３】
前記部分の第２のサブセットの画素使用率のレベルに基づいて、前記第２の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックが、前記第１の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックよりも閾値を超えて大きくなるかどうかを予測することをさらに含む、
請求項８の方法。
【請求項１４】
前記画素使用率のレベルは、部分内の濃度共起行列、空間勾配、ウェーブレット変換、離散コサイン関数、又は、平均値のうち何れかに基づいている、
請求項１３の方法。
【請求項１５】
比較器と、エンコーダと、を備えるデバイスであって、
前記比較器は、
第１の量子化パラメータを用いて符号化された場合の第１のフレームの部分について、第１の測定方法に基づいて、第１の品質メトリックを識別することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された場合の前記第１のフレームの部分について、前記第１の測定方法に基づいて、第２の品質メトリックを識別することと、
前記第１の品質メトリックと前記第２の品質メトリックとの差が所定の閾値を超える前記第１のフレームの部分の第１のサブセットを選択することと、
を行うように構成されており、
前記エンコーダは、
前記部分の選択された第１のサブセットを、前記第２の量子化パラメータを用いて符号化するように構成されている、
デバイス。
【請求項１６】
前記比較器は、
前記第１の量子化パラメータを使用して、前記第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、
前記第２の量子化パラメータを使用して、前記第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、
前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいて、前記部分の第１のサブセットを選択することと、
を行うように構成されている、
請求項１５のデバイス。
【請求項１７】
前記第１の測定方法は、前記第１のフレームと、前記第１の量子化パラメータ又は前記第２の量子化パラメータの何れかを用いて符号化された前記第１のフレームと、の差の二乗平均に基づいている、
請求項１５のデバイス。
【請求項１８】
前記第１の量子化パラメータは、前記第１のフレームに先行する第２のフレームに基づいて選択される、
請求項１５のデバイス。
【請求項１９】
前記比較器は、
前記部分の第１のサブセットの画素使用率のレベルに基づいて、前記第２の量子化パラメータを用いて符号化された場合の前記部分の第１のサブセットの品質メトリックが、前記第１の量子化パラメータを用いて符号化された場合の前記部分の第１のサブセットの品質メトリックよりも閾値を超えて大きくなるかどうかを予測することと、
前記予測に基づいて、前記部分の第１のサブセットを選択することと、
を行うように構成されている、
請求項１５のデバイス。
【請求項２０】
前記画素使用率のレベルは、部分内の濃度共起行列、空間勾配、ウェーブレット変換、離散コサイン関数、又は、平均値のうち何れかに基づいている、
請求項１９のデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
マルチメディアサーバは、マルチメディアストリーム（例えば、ユーザによって要求されたマルチメディアストリーム）内のピクチャを表すデータを生成する。マルチメディアサーバのエンコーダは、各ピクチャのデータを符号化してビットストリームを形成し、このビットストリームを、ネットワークを介してデコーダに送信する。デコーダは、ビットストリームを復号し、復号したビデオ情報を、マルチメディアアプリケーション又は他の任意のアプリケーションに提供してユーザに表示する。このようなマルチメディアエンコーダ及びデコーダは、圧縮した形式でのマルチメディアストリームの記憶及び転送を容易にするために、幅広い種類のアプリケーションで使用されている。
【０００２】
マルチメディアストリームを圧縮するために、従来のエンコーダは、圧縮の程度が部分的に量子化パラメータに依存するビデオ圧縮アルゴリズムを実装する。量子化パラメータが大きくなると、多くの場合、ピクチャのビット使用量が少なくなるのに対して、量子化パラメータが小さくなると、多くの場合、ピクチャのビット使用量が多くなる。圧縮アルゴリズムは、ピクチャのタイトル、フレーム、スライス及びブロックにビットを割り当てる様々な量子化パラメータを使用する。ただし、低すぎるか高すぎる量子化パラメータの適用に起因して、ビットは、圧縮アルゴリズムによって、ピクチャ内に非効率的に割り当てられることが多い。量子化パラメータが小さすぎる場合、ピクチャの符号化、伝送及び復号に必要なコンピューティングリソース及び帯域幅を不必要に消費する結果となり、相応の利益が全く得られない。量子化パラメータが大きすぎる場合、符号化されたピクチャの品質が不必要に低下する。
【０００３】
本開示は、添付の図面を参照することによって、より良く理解することができ、その多くの特徴及び利点が当業者に明らかになる。異なる図面で同じ符号を使用する場合、類似又は同一の要素を示す。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態による、品質メトリック及びビット使用量に基づいて、ピクチャのマクロブロックに符号化ビットを割り当てるように構成されたマルチメディアシステムのブロック図である。
【図２】第１の量子化パラメータを用いて符号化されたフレームのマクロブロックについての品質メトリックを説明する図である。
【図３】第２の量子化パラメータを用いて符号化されたフレームのマクロブロックについての品質メトリックを説明する図である。
【図４】いくつかの実施形態による、第２の量子化パラメータを用いて符号化するために、フレームのマクロブロックのサブセットを、品質メトリック及びビット使用量に基づいて選択するように構成された図１のマルチメディアシステムの比較器のブロック図である。
【図５】いくつかの実施形態による、第２の量子化パラメータを用いて符号化されたフレームのマクロブロックのサブセットと、第１の量子化パラメータを用いて符号化された当該フレームの残りのマクロブロックと、を説明する図である。
【図６】いくつかの実施形態による、第２の量子化パラメータを用いて符号化するために、フレームのマクロブロックのサブセットを、マクロブロックの画素使用率に基づいて選択するように構成された図１のマルチメディアシステムの比較器のブロック図である。
【図７】いくつかの実施形態による、第２の量子化パラメータを用いて符号化するために、フレームのマクロブロックのサブセットを、品質メトリック及びビット使用量に基づいて選択する方法を説明するフロー図である。
【図８】いくつかの実施形態による、第２の量子化パラメータを用いて符号化するために、フレームのマクロブロックのサブセットを、マクロブロックの画素使用率に基づいて選択する方法を説明するフロー図である。
【発明を実施するための形態】
【０００５】
図１〜図８は、マルチメディアストリームの符号化中に、異なる量子化パラメータ（ＱＰ）の品質メトリック及びビット使用量に基づいて、フレームの一部にビットを割り当てるためのシステム及び技術を示す。ビットが割り当てられるフレームの一部は、マクロブロック、符号化ツリーブロック（ＣＴＢ）、タイトル及びスライスなどのフレームの一部又は全てを含む。参照を容易にするために、本明細書では、フレームの一部を、部分又はマクロブロックと呼ぶ。マルチメディアシステムのエンコーダは、第１のパスでは、第１のＱＰを用いてフレームを符号化し、第２のパスでは、第２のＱＰを用いてフレームを符号化する。以下の説明では、第２のＱＰは、より多くのビットとより良い品質とをもたらすとみなされる。マルチメディアシステムの比較器は、第１のＱＰ及び第２のＱＰを用いて符号化されたフレームの部分毎に、平均二乗誤差等の品質メトリックを測定して比較する。比較器は、各ＱＰを用いて符号化された各部分の品質メトリック間の差（向上）を閾値と比較する。ある部分の品質メトリックの差が閾値を超える場合、比較器は、その部分を選択して、第２のＱＰを用いて符号化される部分のサブセットに含める。
【０００６】
いくつかの実施形態では、比較器は、第１のＱＰ及び第２のＱＰを用いて符号化された各部分のビット使用量を測定して、第１のＱＰを用いた場合に対し、第２のＱＰを用いてその部分を符号化するために使用される追加のビット数を決定する。比較器は、品質メトリックの差及びビット使用量の差の少なくとも一方に基づいて、第２のＱＰを用いて符号化される部分のサブセットに含める部分を選択する。
【０００７】
いくつかの実施形態では、マルチメディアシステムは、部分間の画素使用率（pixel activities）の差に基づいて、画像の部分にビットを割り当てる。テクスチャ解析に使用されるような多くのビデオ処理アルゴリズムは、フレームの部分内の画素使用率等のメトリックを計算する。例えば、ある部分内の画素強度の変動等の画素使用率を使用して、画像内のエッジ、繰り返しパターン、他の構造又はオブジェクトを検出することができる。画素使用率は、例えば、部分内の濃度共起行列（gray-level co-occurrence matrix）、２次元空間平均勾配（two-dimensional spatial mean gradient）、ウェーブレット変換若しくは他の変換、離散コサイン関数、又は、平均値等の様々なメトリックを使用して測定することができる。比較器は、部分内の画素使用率に基づいて、その部分が、第２のＱＰを用いて符号化することによって利益を得るかどうかを予測する。いくつかの実施形態では、比較器は、以下により詳細に説明するように、画素使用率に少なくとも部分的に基づいて、第２のＱＰを用いて符号化される部分のサブセットに含める部分を選択する。
【０００８】
比較器は、第２のＱＰを用いて符号化される部分のサブセットに含める部分の識別をエンコーダに提供する。エンコーダは、識別に基づいて、フレームの各部分を、第１のＱＰ（その部分がサブセットに含まれるように選択されなかった場合）又は第２のＱＰ（その部分がサブセットに含まれるように選択された場合）を用いて符号化する。エンコーダは、符号化したフレームを、ネットワークを介してデコーダに送信する。デコーダは、ビットストリームを復号し、復号したビデオ情報をマルチメディアアプリケーションに提供してユーザに表示する。
【０００９】
図１は、いくつかの実施形態による、品質メトリック及びビット使用量のうち１つ以上に基づいて、ピクチャのブロックに符号化ビットを割り当てるように構成された比較器１２０を含むマルチメディアシステム１００のブロック図である。マルチメディアシステム１００は、エンコーダ１１０と、比較器１２０と、デコーダ１５０と、ディスプレイ１６０と、を含む。いくつかの実施形態では、マルチメディアシステム１００は、サーバ、パーソナルコンピュータ、タブレット、セットトップボックス、ゲームシステム、携帯電話等の様々な電子デバイスに分散されている。比較器１２０は、例えば、ソフトウェア、プログラマブルロジック、ハードコードされたロジック、又は、これらの組み合わせを実行するプロセッサとして実装される。比較器１２０は、画像を提供してディスプレイデバイス１６０で表示するために、送信先デバイス（図示省略）と通信する送信元デバイス（図示省略）と共に実装され、又は、他の方法で送信元デバイスと関連付けられる。
【００１０】
エンコーダ１１０は、マルチメディアストリーム内のフレーム１０２等の画像フレームのストリーム又はシーケンスを表すデジタル情報を受信するように構成されている。「マルチメディア」という用語は、ビデオのみ、又は、ビデオ及びオーディオの組み合わせを意味する。エンコーダ１１０は、広域ネットワーク（ＷＡＮ）、イントラネット、インターネット、無線ネットワーク等の通信チャネルを介して送信するために、デジタル情報を符号化する。例えば、いくつかの実施形態では、エンコーダ１１０は、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ（ＭＰＥＧ）−２、ＭＰＥＧ−４、アドバンストビデオコーディング（ＡＶＣ）等の符号化標準に従ってデジタル情報を符号化するために使用される。いくつかの実施形態では、エンコーダ１１０は、１つ以上のプロセッサによって実行されるハードウェアエンコーダ又はソフトウェアである。
【００１１】
エンコーダ１１０は、１つ以上のＱＰを適用して、フレーム又はフレームの一部を符号化するように構成されている。ＱＰは、スケーリング行列を導出するために使用されるインデックスであり、画像の空間的細部がどの程度保持されるかを調整する。例えば、Ｈ．２６４エンコーダでは、ＱＰの範囲は、０〜５１である。ＱＰが小さいほど、より細かい細部が符号化中に保持される。ＱＰが増加すると、一部の細部が集約され、符号化ビットレートが低下するため、品質が低下する。
【００１２】
図示した例では、エンコーダ１１０は、複数のパスにおいてフレーム１０２を符号化し、第１のパスの間に第１のＱＰ１１２を使用してフレーム１０２を符号化して、第１のＱＰ１１２を用いて符号化されたフレーム１２２を生成し、第１のＱＰ１１２よりも小さい第２のＱＰ１１４を使用して、第２のパスの間に、第２のＱＰ１１４を用いて符号化されたフレーム１２４を生成する。したがって、第２のＱＰ１１４を用いて符号化されたフレーム１２４は、第１のＱＰ１１２を用いて符号化されたフレーム１２２よりも多くのビットを使用し、画像のより細かな空間的細部を保持する。
【００１３】
比較器１２０は、品質メトリック計算機１２５と、閾値１３０と、ビット使用量計算機１３５と、マクロブロックサブセット識別子１４０と、を含む。比較器１２０は、第１のＱＰ１１２を用いて符号化されたフレーム１２２と、第２のＱＰ１１４を用いて符号化された対応するフレーム１２４と、を受信するように構成されている。品質メトリック計算機１２５は、第１のＱＰ１１２を用いて符号化されたフレーム１２２の品質メトリックと、第２のＱＰ１１４を用いて符号化されたフレーム１２４の各マクロブロックの品質メトリックと、を測定するように構成されている。いくつかの実施形態では、品質メトリック計算機１２５が、品質メトリックを測定するために使用する方法は、第１のＱＰ１１２を用いて符号化されたフレーム１２２の平均二乗誤差（ＭＳＥ）と、第２のＱＰ１１４を用いて符号化されたフレーム１２４の各マクロブロックの平均二乗誤差（ＭＳＥ）と、に基づいている。ＭＳＥは、符号化されたフレーム１２２，１２４と画像フレーム１０２との差の二乗平均の測定値である。ＭＳＥが大きいほど、符号化されたフレームが、画像フレーム１０２に対してより多くの誤差を含むことを示す。いくつかの実施形態では、品質メトリック計算機１２５は、視聴者がビデオの品質をどのように知覚するかに基づいて、品質メトリックを測定する方法を使用する。品質メトリック計算機１２５は、品質メトリックを測定する同じ方法（例えば、ＭＳＥ又は他の品質の尺度に基づく）を、フレーム１２２及びフレーム１２４の各々に適用する。
【００１４】
品質メトリック計算機１２５は、符号化フレーム１２２，１２４を部分（例えば、マクロブロック、スライス又はタイトル等の画素のブロック）に分割し、例えば、第１のＱＰ１１２を用いて符号化されたフレーム１２２の各マクロブロックの品質メトリックと、第２のＱＰ１１４を用いて符号化されたフレーム１２４の各マクロブロックの品質メトリックと、を測定するように構成されている。したがって、品質メトリック計算機１２５は、フレーム１０２の部分毎に、（第１のＱＰ１１２より小さい）第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合の品質の差を、プログラム可能な粒度で（つまり、フレーム毎に、スライス毎に、タイトル毎に、又は、マクロブロック毎に）測定する。
【００１５】
マクロブロックサブセットセレクタ１４０は、フレーム１２２の各マクロブロックの測定された品質メトリックを、フレーム１２４の対応する各マクロブロックと比較して、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合の品質の差をマクロブロック毎に決定するように構成されている。マクロブロックサブセットセレクタ１４０は、ＱＰ毎及びマクロブロック毎に、品質の差を閾値１３０と比較する。いくつかの実施形態では、閾値１３０が予め設定されている。いくつかの実施形態では、閾値１３０が動的に調整される。動的調整は、例えば、局所領域の時空間的な測定又はモデルに基づいて行われる。一例として、人間の知覚又は人間の視覚系等に対する領域の重要性を予測するメトリック又はモデルが挙げられる。いくつかの実施形態では、現在のビット使用量又は予測されたビット使用量が、調整の要因となる。マクロブロックサブセットセレクタ１４０が、所定のマクロブロックについて、第１のＱＰ１１２を用いた場合に対し、第２のＱＰ１１４を用いて符号化された場合の品質の差が、閾値１３０を超えると判別した場合、マクロブロックサブセットセレクタ１４０は、そのマクロブロックを選択して、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含める。サブセットは、フレーム１２２の一部を含むが、全てを含むわけではない。
【００１６】
比較器１２０は、第１のＱＰ１１２を用いて符号化されたフレーム１２２と、第２のＱＰ１１４を用いて符号化されたフレーム１２４との間の各マクロブロックのビット使用量の差を決定するように構成されたビット使用量計算機１３５を含む。いくつかのマクロブロックに小さいＱＰ（つまり、多くのビット）が割り当てられると、他のマクロブロックよりもＭＳＥが大幅に向上する可能性がある。ビット使用量計算機１３５は、第１のＱＰ１１２を用いた場合に対して、第２のＱＰ１１４を用いて符号化された場合のビット使用量の増加と比較して、ＭＳＥが最も向上したマクロブロックを識別する。マクロブロックサブセットセレクタ１４０は、第１のＱＰ１１２を用いた場合に対して、第２のＱＰ１１４を用いて符号化された場合のビット使用量の増加と比較して、ＭＳＥ（又は、他の品質メトリック）が最も向上したマクロブロックのビット使用量計算機１３５による識別に部分的に基づいて、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを選択する。マクロブロックサブセットセレクタ１４０は、フレーム１２２の各マクロブロックとフレーム１２４の対応するマクロブロックとのビット使用量の差を閾値（図示省略）と比較して、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを決定する。
【００１７】
比較器１２０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセット１４２の識別をエンコーダ１１０に提供する。エンコーダ１１０は、マクロブロックのサブセット１４２を、第２のＱＰ１１４を用いて符号化し、フレームの残りのマクロブロックを、第１のＱＰ１１２を用いて符号化して、符号化フレーム１４０を生成する。符号化フレーム１４０は、第２のＱＰを用いて符号化されたマクロブロックのサブセット１４４を含む。エンコーダ１１０は、符号化フレーム１４０を、ネットワーク（図示省略）を介してデコーダ１５０に送信する。いくつかの実施形態では、デコーダ１５０は、ハードウェアデコーダとして実装され、又は、ソフトウェアデコーダ（例えば、実行可能命令のセット）として実装される。デコーダ１５０は、符号化フレーム１４０を復号し、復号したビデオ情報をマルチメディアアプリケーション又は他の任意のアプリケーションに提供して、ディスプレイ１６０でユーザに表示するように構成されている。
【００１８】
任意の数のＱＰを使用することができることに留意されたい。つまり、選択可能なＱＰの数は、２つより多くてもよい。選択肢が２つしかない場合でも、考慮される２つのＱＰは、メトリック、モデル、及び／又は、現在の／予測されるビット使用量に基づいて、ピクチャ内で変更される可能性がある。
【００１９】
例えば、動作中、エンコーダ１１０は、マルチメディアアプリケーション（図示省略）からフレーム１０２を受信する。エンコーダ１１０は、第１のパスにおいて、フレーム１０２を、第１のＱＰ１１２を用いて符号化し、第２のパスにおいて、フレーム１０２を、第２のＱＰ１１４を用いて符号化して、第１のＱＰ１１２を用いて符号化された符号化フレーム１２２と、第２のＱＰ１１４を用いて符号化された符号化フレーム１２４と、を生成する。エンコーダ１１０は、符号化フレーム１２２及び符号化フレーム１２４を比較器１２０に提供する。
【００２０】
比較器１２０の品質メトリック計算機１２５は、符号化フレーム１２２及び符号化フレーム１２４の各マクロブロック（又は、スライス若しくは他の部分）の品質メトリックを測定する。品質メトリック計算機１２５は、符号化フレーム１２２及び符号化フレーム１２４の各マクロブロックの品質メトリックを比較して、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合の品質メトリックの差をマクロブロック毎に決定する。いくつかの実施形態では、ビット使用量計算機１３５は、符号化フレーム１２２及び符号化フレーム１２４の各マクロブロックのビット使用量を計算して、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合のビット使用量の差をマクロブロック毎に決定する。
【００２１】
マクロブロックサブセットセレクタ１４０は、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合のマクロブロック毎の品質メトリックの差を閾値１３０と比較する。マクロブロックサブセットセレクタ１４０は、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合のマクロブロック毎の品質メトリックの差が閾値１３０を超えるかどうかに基づいて、第２のＱＰを用いて符号化されるマクロブロックのサブセット１４２に含めるマクロブロックを選択する。いくつかの実施形態では、マクロブロックサブセットセレクタ１４０は、第２のＱＰ１１４を用いた場合に対し、第１のＱＰ１１２を用いて符号化された場合のマクロブロック毎のビット使用量の差が、第２の閾値（図示省略）を超えるかどうかに少なくとも部分的に基づいて、第２のＱＰを用いて符号化されるマクロブロックのサブセット１４２に含めるマクロブロックを選択する。
【００２２】
マクロブロックサブセットセレクタ１４０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセット１４２をエンコーダ１１０に識別させる。エンコーダ１１０は、第２のＱＰ１１４を用いてマクロブロックのサブセット１４２を符号化して、第２のＱＰ１１４を用いて符号化されたマクロブロックのサブセット１４４を生成することと、第１のＱＰ１１２を用いてフレーム１０２の残りのマクロブロックを符号化して、符号化フレーム１４０を生成することと、によって、サブセット１４２の識別に基づいてフレーム１０２を符号化する。エンコーダ１１０は、符号化フレーム１４０を、ネットワーク（図示省略）を介してデコーダ１５０に送信する。デコーダ１５０は、符号化フレーム１４０を復号し、復号されたビデオ情報をマルチメディアアプリケーションに提供して、ディスプレイ１６０又は他の任意のアプリケーションにおいてユーザに表示する。
【００２３】
上記の例は、２つのＱＰに関して説明されているが、いくつかの実施形態では、エンコーダ１１０は、各ＱＰが他のＱＰと異なる３つ以上のＱＰを使用してフレーム１０２を符号化することを理解されたい。さらに、いくつかの実施形態では、第１のＱＰ１１２は、フレーム１０２に先行する１つ以上のフレームを符号化するために使用されたＱＰの履歴に基づいて選択される。いくつかの実施形態では、比較器１２０は、数学的モデル、経験的モデル又は機械学習モデルを使用して、考慮される両方のＱＰを用いてモデルを計算しないようにする。モデル又は機械学習システムは、入力データを使用して、効果的である可能性が最も高いＱＰを予測する。トレーニング／回帰のための入力データは、例えば、ピクセルデータ、計算された画素使用率、局所画素サンプル上の計算されたメトリック（要約統計量、数学的変換等を含む）、複数のＱＰで計算された品質、動き情報、動き情報の品質等を含む。
【００２４】
図２は、いくつかの実施形態による、第１のＱＰ１１２を用いて符号化されたフレーム２００のマクロブロックの品質メトリックを説明する図である。フレーム２００は、マクロブロック２０１〜２１６を含み、マクロブロックの座標は、ＭＢ（ｘ，ｙ）として示され、ｘは、フレーム２００内のマクロブロックの行を示し、ｙは、フレーム２００内のマクロブロックの列を示す。図示した例では、第１のＱＰ１１２を用いて符号化された場合、マクロブロック２０１，２０７，２０８，２１０，２１５は低品質メトリックを有し、マクロブロック２０２，２０９，２１２，２１４は中品質メトリックを有し、マクロブロック２０３，２０４，２０６，２１１，２１３，２１６は高品質メトリックを有する。
【００２５】
図３は、第２のＱＰ１１４を用いて符号化されたフレーム３００のブロックの品質メトリックを説明する図である。図２と同様に、フレーム３００は、マクロブロック３０１〜３１６を含み、マクロブロックの座標は、ＭＢ（ｘ，ｙ）として示され、ｘは、フレーム３００内のマクロブロックの行を示し、ｙは、フレーム３００内のマクロブロックの列を示す。図示した例では、第２のＱＰ１１４を用いて符号化された場合、マクロブロック３０２，３０４，３０９，３１１，３１４は中品質メトリックを有し、マクロブロック３０１，３０３，３０５，３０６，３０７，３０８，３１０，３１２，３１３，３１５，３１６は高品質メトリックを有する。
【００２６】
図４は、いくつかの実施形態による、第２のＱＰ１１４を用いて符号化されるフレームのマクロブロックのサブセットを、品質メトリック及びビット使用量に基づいて選択するように構成された図１のマルチメディアシステム１００の比較器４２０のブロック図である。比較器４２０は、第１のＱＰ１１２を用いて符号化されたマクロブロック４０２と、第２のＱＰ１１４を用いて符号化された対応するマクロブロック４０４であって、マクロブロック４０２と同じフレームの同じ座標を有するマクロブロック４０４と、を解析するように構成されている。品質メトリック計算機４２５は、マクロブロック４０２，４０４の各々についてＭＳＥ等の品質メトリックを測定して、マクロブロック４０２の品質メトリック４１２と、マクロブロック４０４の品質メトリック４１４と、を決定する。品質メトリック計算機４２５は、品質メトリック４１２を品質メトリック４１４と比較して、マクロブロック４０２，４０４の品質メトリックの差を決定する。ビット使用量計算機４３５は、第１のＱＰ１１２を用いてマクロブロック４０２を符号化するために使用されたビット数と、第２のＱＰ１１４を用いてマクロブロック４０４を符号化するために使用されたビット数と、を決定するように構成されている。ビット使用量計算機４３５は、ビット使用量を比較して、マクロブロック４０２を符号化するためのビット使用量と、マクロブロック４０４を符号化するためのビット使用量と、の差を決定する。
【００２７】
マクロブロックサブセットセレクタ４４０は、マクロブロック４０２，４０４の品質メトリック４１２，４１４の差を閾値４３０と比較して、品質メトリックの差が閾値４３０を超えるかどうかを識別する。品質メトリックの差が閾値４３０を超える場合、マクロブロックサブセットセレクタ４４０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロック４０４を識別する。さらに、マクロブロックサブセットセレクタ４４０は、マクロブロック４０２を符号化するためのビット使用量と、マクロブロック４０４を符号化するためのビット使用量と、の差が第２の閾値（図示省略）を超えるかどうかを判別する。第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロック４０４のマクロブロックサブセットセレクタ４４０による識別は、マクロブロック４０２を符号化するためのビット使用量と、マクロブロック４０４を符号化するためのビット使用量と、の差が第２の閾値を超えるかどうかに少なくとも部分的に基づいている。
【００２８】
例えば、マクロブロックサブセットセレクタ４４０が、品質メトリック４１２，４１４の差が閾値４３０を超えていると判別し、マクロブロック４０２を符号化するためのビット使用量と、マクロブロック４０４を符号化するためのビット使用量と、の差が第２の閾値を超えていると判別する場合、いくつかの実施形態では、マクロブロックサブセットセレクタ４４０は、コストが高すぎるため、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロック４０４を識別しない。逆に、マクロブロックサブセットセレクタ４４０が、品質メトリック４１２，４１４の差が閾値４３０を超えていないと判別し、マクロブロック４０２を符号化するためのビット使用量と、マクロブロック４０４を符号化するためのビット使用量と、の差が第２の閾値を超えていないと判別する場合、いくつかの実施形態では、マクロブロックサブセットセレクタ４４０は、コストが低いため、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロック４０４を識別する。
【００２９】
図５は、いくつかの実施形態による、第２のＱＰ１１４を用いて符号化されるように選択されたフレーム５００のブロックのサブセットと、第１のＱＰ１１２を用いて符号化されるように選択されたフレームの残りのブロックと、を示す図である。図５のマクロブロックは、関連する品質メトリックを示す図２及び図３のマクロブロックに対応する。図示した例では、マクロブロック５０１，５０７，５０８，５１０，５１５は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含まれるように、マクロブロックサブセットセレクタ４４０によって選択されている。図２に示すように、フレーム２００のマクロブロック２０１，２０７，２０８，２１０，２１５の各々は、第１のＱＰ１１２を用いて符号化された場合、品質メトリック測定を通じて低品質であった。図３に示すように、フレーム３００の対応するマクロブロック３０１，３０７，３０８，３１０，３１５の各々は、第２のＱＰ１１４を用いて符号化された場合、品質メトリック測定を通じて高品質であった。このように、これらのマクロブロックの各々は、第１のＱＰ１１２を用いた場合に対し、第２のＱＰ１１４を用いて符号化された場合に、品質メトリックの比較的高い向上を示した。したがって、マクロブロックサブセットセレクタ４４０は、第２のＱＰ１１４を用いて符号化されるように、これらのマクロブロックを選択する。
【００３０】
図６は、いくつかの実施形態による、第２のＱＰ１１４を用いて符号化されるフレームのマクロブロックのサブセットを、ブロックの画素使用率に基づいて選択するように構成された図１のマルチメディアシステム１００の比較器６２０のブロック図である。図１〜図５に示す例の各々では、エンコーダ１１０は、パス毎に異なるＱＰを使用して、複数のパスにおいてフレームを符号化する。対照的に、いくつかの実施形態では、比較器６２０は、複数のパスにおいて異なるＱＰを使用してフレームを符号化するようにエンコーダ１１０に最初に要求することなく、より大きなＱＰを用いて符号化された場合に品質が最も向上するマクロブロックの予測に基づいて、その大きなＱＰを用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを識別する。
【００３１】
図６に示す実施形態では、比較器６２０は、各マクロブロックの画素使用率に基づいて、より大きなＱＰを用いて符号化された場合に、何れのマクロブロックが最大の品質向上を示すかを予測する。テクスチャ解析に使用されるような多くのビデオ処理アルゴリズムは、ブロック内の画素使用率等のメトリックを計算する。例えば、ブロック内の画素強度の変化分等の画素使用率を使用して、画像内のエッジ、繰り返しパターン及び他の構造又はオブジェクトを検出することができる。画素使用率は、例えば、ブロック内の濃度共起行列、２次元空間平均勾配、ウェーブレット変換若しくは他の変換、離散コサイン関数、又は、平均値等の様々なメトリックを使用して測定することができる。
【００３２】
比較器６２０は、第１のＱＰ１１２を用いて符号化されたマクロブロック６０２を解析するように構成されている。比較器６２０は、画素使用率計算機６４５と、閾値６３０と、マクロブロックサブセットセレクタ６４０と、を含む。画素使用率計算機６４５は、マクロブロック６０２の画素使用率６１２のレベルを計算する。マクロブロックサブセットセレクタ６４０は、画素使用率６１２のレベルを閾値６３０と比較する。画素使用率６１２のレベルが閾値６３０を超える場合、マクロブロックサブセットセレクタ６４０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含まれるマクロブロック６０２を識別する。画素使用率６１２のレベルが閾値６３０よりも小さい場合、マクロブロックサブセットセレクタ６４０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットにマクロブロック６０２を含めない。したがって、画素使用率が低いマクロブロックは、小さいＱＰを用いて符号化される。いくつかの実施形態では、マクロブロックサブセットセレクタ６４０は、画素使用率６１２のレベルが閾値６３０を超えなくても（すなわち、穏やかな又は平坦な領域であっても）、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを識別する。いくつかの実施形態では、画素使用率６１２のレベルに基づいて、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットにマクロブロックを含めるかどうかの判別は、マクロブロックサブセットセレクタ６４０のデフォルト設定に基づいているが、他の実施形態では、この判別は、マクロブロック毎に適用可能であり、行われる。
【００３３】
図７は、いくつかの実施形態による、品質メトリック及びビット使用量に基づいて、第２のＱＰ１１４を用いて符号化されるフレームのブロックのサブセットを選択する図１のマルチメディアシステム１００によって実施される方法７００を説明するフロー図である。ブロック７０４において、エンコーダ１１０は、第１のＱＰ１１２を使用してフレーム１０２を符号化して、符号化フレーム１２２を生成する。ブロック７０６において、エンコーダ１１０は、第２のＱＰ１１４を使用してフレーム１０２を符号化して、符号化フレーム１２４を生成する。ブロック７０８において、品質メトリック計算機１２５は、符号化フレーム１２２及び符号化フレーム１２４のマクロブロック毎にＭＳＥ等の品質メトリックを測定し、測定された品質メトリックを比較して、符号化フレーム１２２，１２４のマクロブロック毎に品質メトリックの差を決定する。ブロック７１０において、マクロブロックサブセットセレクタ１４０は、符号化フレーム１２２，１２４のマクロブロック毎に品質メトリックの差を閾値１３０と比較して、品質メトリックの差が閾値１３０を超えるかどうかを判別する。所定のマクロブロックについての品質メトリックの差が閾値１３０を超えない場合、方法フローはブロック７１６に進む。ブロック７１６において、マクロブロックサブセットセレクタ１４０は、第１のＱＰ１１２を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを選択する。
【００３４】
ブロック７１０において、マクロブロックサブセットセレクタ１４０が、所定のマクロブロックについての品質メトリックの差が閾値１３０を超えると判別した場合、方法フローはブロック７１２に進む。ブロック７１２において、ビット使用量計算機１３５は、第１のＱＰ１１２を用いた場合に対し、第２のＱＰ１１４を用いて符号化された場合のマクロブロックのビット使用量の差を計算する。ブロック７１４において、マクロブロックサブセットセレクタ１４０は、第１のＱＰ１１２を用いた場合に対し、第２のＱＰ１１４を用いて符号化された場合のマクロブロックの品質メトリックの増加と、ビット使用量の差と、に基づいて、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを選択する。
【００３５】
図８は、いくつかの実施形態による、マクロブロックの画素使用率に基づいて、第２のＱＰ１１４を用いて符号化されるフレームのマクロブロックのサブセットを選択する図１のマルチメディアシステム１００の図６の比較器６２０によって実施される方法８００を説明するフロー図である。ブロック８０２において、エンコーダ１１０は、第１のＱＰ１１２を使用してフレーム１０２を符号化する。ブロック８０４において、画素使用率計算機６４５は、フレーム１０２の各マクロブロックの画素使用率のレベルを計算する。ブロック８０６において、マクロブロックサブセットセレクタ６４０は、マクロブロック毎に画素使用率のレベルが閾値６３０を超えるかどうかを判別する。ブロック８０６において、マクロブロックサブセットセレクタ６４０が、所定のマクロブロックについての画素使用率のレベルが閾値６３０を超えると判別した場合、方法フローはブロック８０８に進む。ブロック８０８において、マクロブロックサブセットセレクタ６４０は、第２のＱＰ１１４を用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを選択する。ブロック８０６において、マクロブロックサブセットセレクタ６４０が、所定のマクロブロックについての画素使用率のレベルが閾値６３０を超えないと判別した場合、方法フローはブロック８１０に進む。ブロック８１０において、マクロブロックサブセットセレクタ６４０は、ブロック１１２によって示される第１のＱＰを用いて符号化されるマクロブロックのサブセットに含めるマクロブロックを選択する。
【００３６】
本明細書に開示されるように、方法は、第１の量子化パラメータを用いて符号化された第１のフレームの各部分について、第１の測定方法を使用して第１の品質メトリックを計算することと、第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された第１のフレームの各部分について、第１の測定方法を使用して第２の品質メトリックを計算することと、第１の品質メトリックと第２の品質メトリックとの比較に基づいて、第２の量子化パラメータを用いて符号化される第１のフレームの部分の第１のサブセットを選択することと、第１のフレームの部分の選択された第１のサブセットを、ネットワークを介して送信するために、第２の量子化パラメータを用いて符号化することと、を含む。一態様では、第１のサブセットを選択することは、第１の品質メトリックと第２の品質メトリックとの差が閾値よりも大きい第１のフレームの部分を選択することを含む。別の態様では、方法は、比較に基づいて、第１のフレームの部分の第２のサブセットを、第１の量子化パラメータを用いて符号化することを含み、第２のサブセットは、第１のサブセットと異なる。さらに別の態様では、部分の第１のサブセットを選択することは、第２の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、第１の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている。
【００３７】
一態様では、第１の測定方法は、第１のフレームと、第１の量子化パラメータ又は第２の量子化パラメータの何れかを用いて符号化された第１のフレームと、の差の二乗平均に基づいている。別の態様では、第１の量子化パラメータは、第１のフレームに先行する第２のフレームに基づいて選択される。さらに別の態様では、方法は、第１の量子化パラメータよりも大きい第３の量子化パラメータを用いて符号化された第１のフレームの各部分について、第１の測定方法を使用して第３の品質メトリックを計算することと、第１の品質メトリックと第３の品質メトリックとの比較に基づいて、第３の量子化パラメータを用いて符号化される第１のフレームの部分の第２のサブセットを選択することと、第３の量子化パラメータを用いて第１のフレームの部分の第２のサブセットを符号化することと、を含む。
【００３８】
本明細書に開示されるように、方法は、第１の量子化パラメータを用いて第１のフレームの部分の第１のサブセットを符号化することと、第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化される第１のフレームの部分の第２のサブセットを選択することであって、第２のサブセットは第１のサブセットと異なり、第２の量子化パラメータを用いて符号化された場合の部分の第２のサブセットの品質メトリックが、第１の量子化パラメータを用いて符号化された場合の部分の第２のサブセットの品質メトリックよりも閾値を超えて大きいことを予測したことに応じて、部分の第２のサブセットを選択することと、第２の量子化パラメータを用いて第１のフレームの部分の第２のサブセットを符号化することと、を含む。一態様では、部分の第２のサブセットを選択することは、第２の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、第１の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている。別の態様では、品質メトリックは、第１のフレームと、第１の量子化パラメータ又は第２の量子化パラメータの何れかを用いて符号化された第１のフレームと、の差の二乗平均に基づいている。
【００３９】
一態様では、第１の量子化パラメータは、第１のフレームに先行する第２のフレームに基づいて選択される。別の態様では、方法は、第１の量子化パラメータよりも大きい第３の量子化パラメータを用いて符号化された第１のフレームの各部分について品質メトリックを計算することと、各部分について、第１の量子化パラメータを用いて符号化された部分の品質メトリックを、第３の量子化パラメータを用いて符号化された部分の品質メトリックと比較することと、比較に基づいて、第３の量子化パラメータを用いて符号化される第１のフレームの部分の第３のサブセットを選択することと、第３の量子化パラメータを用いて第１のフレームの部分の第３のサブセットを符号化することと、を含む。さらに別の態様では、方法は、部分の第２のサブセットの画素使用率のレベルに基づいて、第２の量子化パラメータを用いて符号化された場合の部分の第２のサブセットの品質メトリックが、第１の量子化パラメータを用いて符号化された場合の部分の第２のサブセットの品質メトリックよりも閾値を超えて大きくなるかどうかを予測することを含む。さらに別の態様では、画素使用率のレベルは、部分内の濃度共起行列、空間勾配、ウェーブレット変換、離散コサイン関数、又は、平均値のうち何れかに基づいている。
【００４０】
本明細書に開示されるように、デバイスは、比較器とエンコーダとを備え、比較器は、第１の量子化パラメータを用いて符号化された場合の第１のフレームの部分について、第１の測定方法に基づいて、第１の品質メトリックを識別することと、第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された場合の第１のフレームの部分について、第１の測定方法に基づいて、第２の品質メトリックを識別することと、第１の品質メトリックと第２の品質メトリックとの差が所定の閾値を超える第１のフレームの部分の第１のサブセットを選択することと、を行うように構成されており、エンコーダは、部分の選択された第１のサブセットを、第２の量子化パラメータを用いて符号化するように構成されている。一態様では、比較器は、第１の量子化パラメータを使用して、第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、第２の量子化パラメータを使用して、第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、第２の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、第１の量子化パラメータを使用して第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいて、部分の第１のサブセットを選択することと、を行うように構成されている。
【００４１】
一態様では、第１の測定方法は、第１のフレームと、第１の量子化パラメータ又は第２の量子化パラメータの何れかを用いて符号化された第１のフレームと、の差の二乗平均に基づいている。別の態様では、第１の量子化パラメータは、第１のフレームに先行する第２のフレームに基づいて選択される。さらに別の態様では、比較器は、部分の第１のサブセットの画素使用率のレベルに基づいて、第２の量子化パラメータを用いて符号化された場合の部分の第１のサブセットの品質メトリックが、第１の量子化パラメータを用いて符号化された場合の部分の第１のサブセットの品質メトリックよりも閾値を超えて大きくなるかどうかを予測することと、予測に基づいて、部分の第１のサブセットを選択することと、を行うように構成されている。さらに別の態様では、画素使用率のレベルは、部分内の濃度共起行列、空間勾配、ウェーブレット変換、離散コサイン関数、又は、平均値のうち何れかに基づいている。
【００４２】
いくつかの実施形態では、上記の装置及び技術は、図１〜図８を参照して上述したマルチメディアシステム等の１つ以上の集積回路（ＩＣ）デバイス（集積回路パッケージ又はマイクロチップとも呼ばれる）を含むシステムに実装される。これらのＩＣデバイスの設計及び製造には、電子設計自動化（ＥＤＡ）及びコンピュータ支援設計（ＣＡＤ）ソフトウェアツールが使用される。これらの設計ツールは、通常、１つ以上のソフトウェアプログラムとして表される。１つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計又は適合するための処理の少なくとも一部を実行するように１つ以上のＩＣデバイスの回路を表すコードで動作するようにコンピュータシステムを操作する、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含むことができる。設計ツール又は製造ツールを表すソフトウェア命令は、通常、コンピューティングシステムがアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ＩＣデバイスの設計又は製造の１つ以上のフェーズを表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶されてもよいし、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体からアクセスされてもよい。
【００４３】
コンピュータ可読記憶媒体は、命令及び／又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。かかる記憶媒体には、限定されないが、光媒体（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク）、磁気媒体（例えば、フロッピー（登録商標）ディスク、磁気テープ、磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）若しくはキャッシュ）、不揮発性メモリ（例えば、読取専用メモリ（ＲＯＭ）若しくはフラッシュメモリ）、又は、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体は、コンピュータシステムに内蔵されてもよいし（例えば、システムＲＡＭ又はＲＯＭ）、コンピュータシステムに固定的に取り付けられてもよいし（例えば、磁気ハードドライブ）、コンピュータシステムに着脱可能に取り付けられてもよいし（例えば、光学ディスク又はユニバーサルシリアルバス（ＵＳＢ）ベースのフラッシュメモリ）、有線又は無線のネットワークを介してコンピュータシステムに接続されてもよい（例えば、ネットワークアクセス可能なストレージ（ＮＡＳ））。
【００４４】
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の１つ以上のセットを含む。ソフトウェアは、１つ以上のプロセッサによって実行されると、上記の技術の１つ以上の態様を実行するように１つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）等のソリッドステート記憶デバイス、又は、他の１つ以上の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
【００４５】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、１つ以上のさらなるアクティビティが実行される場合があり、１つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【００４６】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【図１】
2021535664.tif 000003
【図２】
2021535664.tif 000004
【図３】
2021535664.tif 000005
【図４】
2021535664.tif 000006
【図５】
2021535664.tif 000007
【図６】
2021535664.tif 000008
【図７】
2021535664.tif 000009
【図８】
2021535664.tif 000010
【手続補正書】
【提出日】令和3年4月27日(2021.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の量子化パラメータを用いて符号化された第１のフレームの各部分について、第１の測定方法を使用して第１の品質メトリックを計算することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された前記第１のフレームの各部分について、前記第１の測定方法を使用して第２の品質メトリックを計算することと、
前記第１の品質メトリックと前記第２の品質メトリックとの比較に基づいて、前記第２の量子化パラメータを用いて符号化される前記第１のフレームの部分の第１のサブセットを選択することと、
前記第１のフレームの部分の選択された第１のサブセットを、ネットワークを介して送信するために、前記第２の量子化パラメータを用いて符号化することと、を含む、
方法。
【請求項２】
前記第１のサブセットを選択することは、前記第１の品質メトリックと前記第２の品質メトリックとの差が閾値よりも大きい前記第１のフレームの部分を選択することを含む、
請求項１の方法。
【請求項３】
前記比較に基づいて、前記第１のフレームの部分の第２のサブセットを、前記第１の量子化パラメータを用いて符号化することであって、前記第２のサブセットが前記第１のサブセットと異なる、ことをさらに含む、
請求項１又は２の方法。
【請求項４】
前記部分の第１のサブセットを選択することは、前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている、
請求項１〜３の何れかの方法。
【請求項５】
前記第１の測定方法は、前記第１のフレームと、前記第１の量子化パラメータ又は前記第２の量子化パラメータの何れかを用いて符号化された前記第１のフレームと、の差の二乗平均に基づいている、
請求項１〜４の何れかの方法。
【請求項６】
前記第１の量子化パラメータは、前記第１のフレームに先行する第２のフレームに基づいて選択される、
請求項１〜５の何れかの方法。
【請求項７】
前記第１の量子化パラメータよりも大きい第３の量子化パラメータを用いて符号化された前記第１のフレームの各部分について、前記第１の測定方法を使用して第３の品質メトリックを計算することと、
前記第１の品質メトリックと前記第３の品質メトリックとの比較に基づいて、前記第３の量子化パラメータを用いて符号化される前記第１のフレームの部分の第２のサブセットを選択することと、
前記第３の量子化パラメータを用いて前記第１のフレームの部分の前記第２のサブセットを符号化することと、をさらに含む、
請求項１〜６の何れかの方法。
【請求項８】
第１の量子化パラメータを用いて第１のフレームの部分の第１のサブセットを符号化することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化される前記第１のフレームの部分の第２のサブセットを選択することであって、前記第２のサブセットが前記第１のサブセットと異なり、前記第２の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックが、前記第１の量子化パラメータを用いて符号化された場合の前記部分の第２のサブセットの品質メトリックよりも閾値を超えて大きいことを予測したことに応じて、前記部分の第２のサブセットを選択することと、
前記第２の量子化パラメータを用いて前記第１のフレームの前記部分の第２のサブセットを符号化することと、を含む、
方法。
【請求項９】
前記部分の第２のサブセットを選択することは、前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいている、
請求項８の方法。
【請求項１０】
比較器と、エンコーダと、を備えるデバイスであって、
前記比較器は、
第１の量子化パラメータを用いて符号化された場合の第１のフレームの部分について、第１の測定方法に基づいて、第１の品質メトリックを識別することと、
前記第１の量子化パラメータよりも小さい第２の量子化パラメータを用いて符号化された場合の前記第１のフレームの部分について、前記第１の測定方法に基づいて、第２の品質メトリックを識別することと、
前記第１の品質メトリックと前記第２の品質メトリックとの差が所定の閾値を超える前記第１のフレームの部分の第１のサブセットを選択することと、
を行うように構成されており、
前記エンコーダは、
前記部分の選択された第１のサブセットを、前記第２の量子化パラメータを用いて符号化するように構成されている、
デバイス。
【請求項１１】
前記比較器は、
前記第１の量子化パラメータを使用して、前記第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、
前記第２の量子化パラメータを使用して、前記第１のフレームの各部分を符号化するために使用されるビットの数を計算することと、
前記第２の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、前記第１の量子化パラメータを使用して前記第１のフレームの各部分を符号化するために使用されるビットの数と、の比較に基づいて、前記部分の第１のサブセットを選択することと、
を行うように構成されている、
請求項１０のデバイス。
【請求項１２】
前記第１の測定方法は、前記第１のフレームと、前記第１の量子化パラメータ又は前記第２の量子化パラメータの何れかを用いて符号化された前記第１のフレームと、の差の二乗平均に基づいている、
請求項１０又は１１のデバイス。
【請求項１３】
前記第１の量子化パラメータは、前記第１のフレームに先行する第２のフレームに基づいて選択される、
請求項１０〜１２の何れかのデバイス。
【請求項１４】
前記比較器は、
前記部分の第１のサブセットの画素使用率のレベルに基づいて、前記第２の量子化パラメータを用いて符号化された場合の前記部分の第１のサブセットの品質メトリックが、前記第１の量子化パラメータを用いて符号化された場合の前記部分の第１のサブセットの品質メトリックよりも閾値を超えて大きくなるかどうかを予測することと、
前記予測に基づいて、前記部分の第１のサブセットを選択することと、
を行うように構成されている、
請求項１０〜１３の何れかのデバイス。
【請求項１５】
前記画素使用率のレベルは、部分内の濃度共起行列、空間勾配、ウェーブレット変換、離散コサイン関数、又は、平均値のうち何れかに基づいている、
請求項１４のデバイス。
【国際調査報告】
2021535664.tif 000011
2021535664.tif 000012
2021535664.tif 000013
2021535664.tif 000014