(57)【特許請求の範囲】
【請求項１】
ビデオ処理における動き推定情報を圧縮する方法であって、
複数の試行動きベクトル内の各試行動きベクトルの歪み値を決定して記憶することであって、各試行動きベクトルは、参照フレームに対するサーチ領域の位置を指定する、ことと、
記憶された歪み値のうち最小の歪み値に基づいて、歪み値の各々を固定数のビットとして圧縮することと、
圧縮された歪み値の各々を、圧縮されていない値の代わりに再記憶することと、を含み、
前記歪み値の各々を圧縮することは、ユーザ定義されたビット長を有する２進整数ｐ及びｑを決定して記憶することを含み、２進整数ｐは一連のビットを含み、２進整数ｑは、固定圧縮シフトｓとともに、２進整数ｐがシフトされる度合を決定し、
前記圧縮された歪み値は、ｑ及びｓに基づいてシフトされたｐの値だけ前記最小の歪み値を超える、
方法。
【請求項２】
前記歪み値は、絶対差の和（ＳＡＤ：sum of absolute differences）、絶対変換差の和（ＳＡＴＤ：sum of absolute transformed differences）又は残差二乗和（ＳＳＥ：sum of square errors）の何れかである、請求項１の方法。
【請求項３】
前記歪み値の各々を圧縮することは、加算、シフト及びビット単位のＡＮＤ演算のみを必要とする、請求項１の方法。
【請求項４】
ｐのユーザ定義されたビット長が６であり、ｑのユーザ定義されたビット長が２である、請求項１の方法。
【請求項５】
歪み値の各々を後の計算のために復号することをさらに含み、前記復号された値は、Ｄｋが最小の歪み値を含む場合に、ｐ＊２ｑ＋ｓ＋Ｄｋに等しい、請求項１の方法。
【請求項６】
最小の歪みに関連する試行動きベクトルを改善することをさらに含み、
前記最小の歪みに関連する試行動きベクトルを改善することは、
前記最小の歪み値に関連する前記試行動きベクトルを有する最小化サーチ領域を取得することと、
前記最小化サーチ領域を複数のサブ領域に分割することと、
前記最小の歪み値に関連する前記試行動きベクトルを略中心とする前記サブ領域のサブセットを定義することと、
前記サブセット内のサブ領域毎に歪み値を決定することと、
前記サブセット内の各サブ領域の歪み値から、最小の歪み値に関連する新たな動きベクトルを決定することと、を含む、請求項１の方法。
【請求項７】
前記サブセット内のサブ領域の記憶された歪み値を使用して、前記サブセット内にない各サブ領域の歪み値を補間することをさらに含む、請求項６の方法。
【請求項８】
プロセッサと、
記憶デバイスと、を備えるビデオ符号化のためのシステムであって、
前記システムは、ビデオ処理における動き推定情報を圧縮する方法を実行するように構成されており、
前記方法は、
前記プロセッサが、複数の試行動きベクトル内の各試行動きベクトルの歪み値を決定して前記記憶デバイスに記憶することであって、各試行動きベクトルは、参照フレームに対するサーチ領域の位置を指定する、ことと、
前記プロセッサが、記憶された歪み値のうち最小の歪み値に基づいて、歪み値の各々を固定数のビットとして圧縮することと、
圧縮された歪み値の各々を、前記記憶デバイスに再記憶することと、を含み、
前記歪み値の各々を圧縮することは、ユーザ定義されたビット長を有する２進整数ｐ及びｑを決定して記憶することを含み、２進整数ｐは一連のビットを含み、２進整数ｑは、固定圧縮シフトｓとともに、２進整数ｐがシフトされる度合を決定し、
前記圧縮された歪み値は、ｑ及びｓに基づいてシフトされたｐの値だけ前記最小の歪み値を超える、
システム。
【請求項９】
前記プロセッサは、前記歪み値を、絶対差の和（ＳＡＤ：sum of absolute differences）、絶対変換差の和（ＳＡＴＤ：sum of absolute transformed differences）又は残差二乗和（ＳＳＥ：sum of square errors）の何れかとして決定するように構成されている、請求項８のシステム。
【請求項１０】
前記プロセッサは、加算、シフト及びビット単位のＡＮＤ演算のみを用いて、前記歪み値の各々を圧縮するように構成されている、請求項８のシステム。
【請求項１１】
前記プロセッサは、ユーザ定義されたビット長が６のｐと、ユーザ定義されたビット長が２のｑとを用いて、前記歪み値の各々を圧縮するように構成されている、請求項８のシステム。
【請求項１２】
前記プロセッサは、圧縮された歪み値の各々を後の計算のために復号するように構成されており、復号することは、Ｄｋが最小の歪み値を含む場合に、ｐ＊２ｑ＋ｓ＋Ｄｋを計算することを含む、請求項８のシステム。
【請求項１３】
最小の歪みに関連する試行動きベクトルを改善するようにさらに構成されており、
前記プロセッサは、
前記最小の歪み値に関連する前記試行動きベクトルを有する最小化サーチ領域を前記記憶デバイスから取得することと、
前記最小化サーチ領域の所定のサブ領域の所定のサブセット内のサブ領域毎に歪み値を決定して前記記憶デバイスに記憶することであって、前記所定のサブセットは、前記最小の歪み値に関連する前記試行動きベクトルを略中心とする、ことと、
前記サブセット内の各サブ領域の歪み値から、最小の歪み値に関連する新たな動きベクトルを決定することと、を行うように構成されている、請求項８のシステム。
【請求項１４】
前記プロセッサは、前記サブセット内のサブ領域の記憶された歪み値を使用して、前記所定のサブ領域の所定のサブセット内にない各サブ領域の歪み値を補間するようにさらに構成されている、請求項１３のシステム。
【請求項１５】
処理システムで実行されると、前記システムに動き推定情報を圧縮させる命令を含むコンピュータ可読記憶媒体であって、
前記命令は、
複数の試行動きベクトル内の各試行動きベクトルの歪み値を決定して記憶することであって、各試行動きベクトルは、参照フレームに対するサーチ領域の位置を指定する、ことと、
記憶された歪み値のうち最小の歪み値に基づいて、歪み値の各々を固定数のビットとして圧縮することと、
圧縮された歪み値の各々を、圧縮されていない値の代わりに再記憶することと、
を含み、
前記歪み値の各々を圧縮することは、ユーザ定義されたビット長を有する２進整数ｐ及びｑを決定して記憶することを含み、２進整数ｐは一連のビットを含み、２進整数ｑは、固定圧縮シフトｓとともに、２進整数ｐがシフトされる度合を決定し、
前記圧縮された歪み値は、ｑ及びｓに基づいてシフトされたｐの値だけ前記最小の歪み値を超える、
コンピュータ可読記憶媒体。
【請求項１６】
前記歪み値の各々を圧縮することは、加算、シフト及びビット単位のＡＮＤ演算のみを必要とする、請求項１５のコンピュータ可読記憶媒体。
【請求項１７】
前記圧縮することは、
前記最小の歪み値に関連する前記試行動きベクトルを有する最小化サーチ領域を取得することと、
前記最小化サーチ領域をサブ領域にさらに分割することと、
前記最小の歪み値に関連する前記試行動きベクトルを略中心とする前記サブ領域のサブセットを定義することと、
前記サブセット内のサブ領域毎に歪み値を決定して記憶することと、
前記サブセット内の各サブ領域の歪み値から、最小の歪み値に関連する新たな動きベクトルを決定することと、
によって、最小の歪みに関連する前記試行動きベクトルを改善することをさらに含む、請求項１５のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１５年４月６日に出願された米国特許出願第１４／６７９，７９９号の利益を主張し、その内容は、援用することによって本明細書に組み込まれる。
【０００２】
本発明は、概してビデオ処理に関し、特にビデオ圧縮に関する。
【背景技術】
【０００３】
ビデオエンコーダは、符号化される画像データの量を減らすために動き補償予測を適用する。これは、連続フレーム間の時間相関を利用することによって行われる。例えば、ビデオが静止した背景に対して動く物体を示す場合、背景を表す情報が得られると、動く物体を表す情報のみを符号化する必要がある。参照フレームと、現在符号化されているフレームとの間の物体の動きは、動きベクトルによって記述される。
【０００４】
動き補償予測又は動き推定（ＭＥ）は、現在のフレームの可能なピクセルブロックサイズ毎に、以前に符号化されたフレーム（参照フレームと呼ばれる）内のブロック間で「最適な」一致を見つけることを含む。殆どのエンコーダは、特定のブロックを予測子として選択することによって引き起こされる歪みを測定する。「最適な」一致は、ビットレート量の対象となる歪み値を最小化することによって選択される。ビットレートが増加するにつれて歪みが増加する傾向があるので、ビットレート量の対象となる「最適な」一致を見つけることは、レート歪み（ＲＤ）最適化と呼ばれる。
【０００５】
高精度のＭＥアルゴリズムは、計算の複雑性及びメモリ帯域幅の点で非常にコストがかかる。ＭＥの複雑性は、最近の高効率ビデオ符号化（ＨＥＶＣ）規格で一層増加している。高効率ビデオ符号化（ＨＥＶＣ）規格では、４×８ピクセルから６４×６４ピクセルまでの予測ブロックサイズを許容する。一方、以前によく使用されていた規格では、８×８ピクセルのブロックが用いられていた。全ての可能なブロックサイズについて最適な一致を探すには冗長な計算が必要であるため、ソフトウェア及び／又はハードウェアビデオエンコーダの実用的な実装では、より小さいブロック（例えば、４×８、８×８、１６×１６）の歪み値を記憶して、より大きいブロック（例えば、３２×３２、６４×６４）のＲＤコストを評価する場合にこれらを再利用する。
【０００６】
このようなマージベースの戦略は、計算の複雑性及びメモリ帯域幅のコストを低くして、正確な動き推定を提供するという利点をもたらす。しかしながら、サーチ領域内のブロックサイズと動きベクトルとの全ての可能な組み合わせについて歪み値を記憶する必要があるため、これらの利点は、高いストレージ要件を犠牲にして得られることになる。
【発明の概要】
【課題を解決するための手段】
【０００７】
動き推定のための歪み情報を圧縮して、必要な記憶容量を著しく減少させることによって、複雑性の低い効率的な方法が開示される。方法を実施するためのシステム、及び、方法を記憶するためのコンピュータ可読媒体も開示される。一実施形態では、この方法は、複数の試行動きベクトル内の各試行動きベクトルの歪み値を決定して記憶することを含む。各試行動きベクトルは、参照フレームに対するサーチ領域の位置を指定する。この方法は、記憶された歪み値のうち最小の歪み値に基づいて、歪み値の各々を固定数のビットとして圧縮することと、圧縮された歪み値の各々を、圧縮されていない値の代わりに再記憶することと、をさらに含む。
【０００８】
添付図面と併せて例として与えられる以下の説明から、より詳細な理解が得られるであろう。
【図面の簡単な説明】
【０００９】
【図１】ビデオ処理における動き推定情報を圧縮する方法の一例を示す図である。
【図２】サーチ領域の一例を示す図である。
【図３】ビデオ処理における動き推定情報を圧縮する方法の別の例を示す図である。
【図４】１つ以上の開示された方法の実施形態を実装可能な例示的なシステムのブロック図である。
【発明を実施するための形態】
【００１０】
図１は、ビデオ処理における動き推定情報を圧縮する方法の一例を示す図である。現在のフレーム内の画像ピクセルのブロックに対するサーチ領域が定義される（１０５）。サーチ領域は、参照フレームの面積よりも小さい面積を有してもよく、固定形状又は可変形状を有してもよい。参照フレームに対するサーチ領域の位置は、動きベクトルによって定義される。試行動きベクトルは、複数の動きベクトルから選択される（１１０）。選択された動きベクトルの歪み値が決定され、記憶される（１１５）。このシーケンスは、各試行動きベクトルの歪み値が決定され記憶されるまで継続する（１２０）。
【００１１】
各試行動きベクトルの歪み値が決定され記憶されると、記憶された歪み値のうち最小の歪み値が決定される（１２５）。次に、記憶された歪み値の各々が、固定数のビットとして、又は、固定数のビットを用いて圧縮される。この圧縮は、最小の歪み値を用いる。次いで、圧縮された歪み値の各々は、圧縮されていない値の代わりに再記憶される（１３０）。このようにして、異なる試行動きベクトルの歪み値を記憶するのに必要な記憶空間の量を著しく減らすことができる。
【００１２】
歪み値は、絶対差の和（ＳＡＤ：sum of absolute differences）、絶対変換差の和（ＳＡＴＤ：sum of absolute transformed differences）又は残差二乗和（ＳＳＥ：sum of square errors）を含むがこれらに限定されない、多くの既知の方法の何れかを用いて決定することができる。一般的に、歪み尺度は、以下の特性を示す。
【００１３】
１）正の整数又は０である。
【００１４】
２）高い空間相関を有する。即ち、所定のブロックに対して隣接する動きベクトルは、近い歪み値を有する。
【００１５】
３）より小さいブロックの低い歪み値に関連する試験動きベクトルは、選択される可能性がより高い。
【００１６】
このような方法では、サーチ領域内のピクセル値は、参照フレーム内の対応する領域のピクセル値と比較される。これらの比較を表す数値は、２つのグループのピクセル値がどれほど類似しているか又はどのくらい異なるかの尺度としての役割を果たす単一の数値（つまり、歪み値）に結合される。一実施形態では、歪み値を固定数のビット２３０として圧縮及び復号することは、加算、シフト及びビット単位のＡＮＤ演算のみを必要とする方法を用いて行うことができ、それによって方法の実行を単純化及び高速化することができる。このような方法は、オンザフライの符号化及び復号化に適している場合がある。このような方法の一例として歪み値を圧縮することは、ユーザ定義のビット長をそれぞれ有する２つの２進整数ｐ及びｑの全ての可能なペアに対して、以下の式（１）
【数１】
0006680796.tif 000002
が、圧縮されている歪み値に最も近くなるように、２つの２進整数ｐ及びｑを決定して記憶することによって行うことができる。ここで、Ｄｋは、最小の歪み値であり、ｓは固定圧縮シフトである。そして、圧縮された歪み値Ｄ´は、以下の式（２）
【数２】
0006680796.tif 000003
として表すことができる。ここで、式（２）の両辺間の記号は「近似する」と読むことができる。後の計算のために、復号された歪み値Ｄは、記憶されたｐ及びｑを取り出して、以下の式（３）を用いて計算することで得ることができる。
【数３】
0006680796.tif 000004
ここで、式（３）中の「＝」は、「等しい」と読まれる。この実施形態の１つの特定の例では、ｐのユーザ定義されたビット長は６であってもよく、ｑのユーザ定義されたビット長は２であってもよい。この場合、歪み値は、８ビットとして圧縮される。対照的に、従来では、ＳＡＤ又はＳＡＴＤの非圧縮記憶値は、１６〜２４ビットで表されていた。
【００１７】
式（２）のように歪み値を圧縮するアルゴリズムの一例は、以下の通りである。
//user-defined parameters
const unsigned int SAD_COMPRESSION_NUM_BITS = 8;
const unsigned int SAD_COMPRESSION_SHIFT0 = 4;
const unsigned int SAD_COMPRESSION_SHIFT1 = 6;
const unsigned int SAD_COMPRESSION_MASK0 =
(1 << SAD_COMPRESSION_SHIFT1) - 1;
const unsigned int SAD_COMPRESSION_MASK1 =
(1 << (SAD_COMPRESSION_NUM_BITS -
SAD_COMPRESSION_SHIFT1)) - 1;
//compression process
unsigned int compress_sad(unsigned int sad, unsigned int Dk)
{
// subtract Dk
sad -= Dk;
// compute p and q
unsigned int q = 0;
unsigned int p = (sad >> SAD_COMPRESSION_SHIFT0);
while(p>SAD_COMPRESSION_MASK0)
{
p = (p>>1);
++q;
}
p = (sad + (1 << (q + SAD_COMPRESSION_SHIFT0 - 1)))>>
(q + SAD_COMPRESSION_SHIFT0);
// cap p and q if out of range
if(q>SAD_COMPRESSION_MASK1) q = SAD_COMPRESSION_MASK1;
if(p>SAD_COMPRESSION_MASK0) p = SAD_COMPRESSION_MASK0;
// combine p and q in one unsigned integer value
unsigned int res = p + (q << SAD_COMPRESSION_SHIFT1);
return res;
}
【００１８】
式（３）のように歪み値を復号するアルゴリズムの一例は、以下の通りである。
//user-defined parameters
const unsigned int SAD_COMPRESSION_NUM_BITS = 8;
const unsigned int SAD_COMPRESSION_SHIFT0 = 4;
const unsigned int SAD_COMPRESSION_SHIFT1 = 6;
const unsigned int SAD_COMPRESSION_MASK0 =
(1 << SAD_COMPRESSION_SHIFT1) - 1;
const unsigned int SAD_COMPRESSION_MASK1 =
(1 << (SAD_COMPRESSION_NUM_BITS -
SAD_COMPRESSION_SHIFT1)) - 1;
//decompression process
unsigned int decompress_sad(unsigned int res, unsigned int Dk)
{
return((res & SAD_COMPRESSION_MASK0) << (res >>
SAD_COMPRESSION_SHIFT1) + SAD_COMPRESSION_SHIFT0)) +
Dk;
}
【００１９】
上述したような方法を用いて決定された動きベクトルの精度は、図２及び図３に示される方法を用いて改善されてもよい。図２は、サブ領域に分割されたサーチ領域２００の一例を示す図である。サブ領域は、サーチ領域２００内のより小さい正方形として示されている。サーチ領域２００は、７×７配列内の４９個のサブ領域に分割された正方形として示されているが、サブ領域の形状、数等の何れの特徴も限定されたものと考えられるべきではない。サーチ領域２００は、上述したように、所定のブロックに対する最小の歪み値を有するサーチ領域を表している。中央のサブ領域２０５の位置は、概ね、サーチ領域２００に関連する、以前に決定された動きベクトルを示している。他のサブ領域の各々の位置は、以前に決定された動きベクトルとは異なるが、それに近い動きベクトルを示している。
【００２０】
図３は、最小の歪みに関連する、以前に決定された動きベクトルを改善する方法を示す図である。最小化サーチ領域は、記憶デバイスから取得される（３１０）。上述したように、この最小化サーチ領域は、最小の歪み値をもたらす、以前に決定された試行動きベクトルに関連している。最小サーチ領域は、図２に示して上述したように、複数のサブ領域に分割される（３１５）。次に、これらのサブ領域のサブセットが選択される（３２０）。かかるサブセットの一例は、限定解釈されるべきではないが、図２において濃色の正方形２１０によって示されている。サブセット内にないサブ領域は、淡色の正方形２１５で示されている。サブセットは、最小の歪み値に関連付けられた試行動きベクトルに関連するサブ領域２０５を略中心としてもよい。サブセット内のサブ領域の密度は、最良の動きベクトルが中央２０５により近い可能性が高いという考えを反映して、中央のサブ領域２０５からの距離が増加するにつれて減少してもよい。
【００２１】
図３に戻って、サブ領域のサブセットが定義されると、サブセット内のサブ領域毎に新たな歪み値が決定され、記憶される（３２５）。各サブ領域の新たな歪み値は、上述したような方法を用いて、記憶する前に圧縮されてもよい。新たな最小の歪み値は、サブセットから決定された新たな歪み値の中から決定される。そして、新たな最小の歪み値に関連する、新たな改善された動きベクトルが決定される（３３０）。
【００２２】
代替として、図２のサブ領域２１５のように、サブセット内にない各サブ領域に対する歪み値は、サブセット２１０内のサブ領域の記憶された歪み値を用いて補間されてもよい。次に、補完された歪み値は、以前に決定された動きベクトルを改善する際に、サブセット２１０に対して決定された歪み値とともに用いられてもよい。
【００２３】
図４は、１つ以上の開示された実施形態を実装可能な例示的なシステム４００のブロック図である。システム４００は、例えば、コンピュータ、ゲーミングデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話又はタブレットコンピュータを含むことができる。システム４００は、プロセッサ４０２と、メモリ４０４と、記憶デバイス４０６と、１つ以上の入力デバイス４０８と、１つ以上の出力デバイス４１０と、を含む。また、システム４００は、オプションとして、入力ドライバ４１２及び出力ドライバ４１４を含むことができる。システム４００は、図４に示されていない追加の構成要素を含むことができるのを理解されたい。
【００２４】
プロセッサ４０２は、中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、同一のダイ上に配置されたＣＰＵ及びＧＰＵ、又は、１つ以上のプロセッサコアを含むことができ、各プロセッサコアはＣＰＵ又はＧＰＵであってもよい。メモリ４０４は、プロセッサ４０２と同一のダイ上に配置されてもよいし、プロセッサ４０２とは別に配置されてもよい。メモリ４０４は、揮発性又は不揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ若しくはキャッシュ等）を含むことができる。
【００２５】
記憶デバイス４０６は、固定又はリムーバブル記憶装置（例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク又はフラッシュドライブ等）を含むことができる。入力デバイス４０８は、ビデオカメラ、ビデオディスクプレーヤ、ビデオ画像の他のソース、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、バイオメトリックスキャナ、又は、ネットワーク接続（例えば、無線ＩＥＥＥ８０２信号の送信及び／若しくは受信用の無線ローカルエリアネットワークカード）を含むことができる。出力デバイス４１０は、ビデオスクリーン、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、１つ以上のライト、アンテナ、又は、ネットワーク接続（例えば、無線ＩＥＥＥ８０２信号の送信及び／若しくは受信用の無線ローカルエリアネットワークカード）を含むことができる。
【００２６】
入力ドライバ４１２は、プロセッサ４０２及び入力デバイス４０８と通信し、プロセッサ４０２が入力デバイス４０８から入力を受信するのを可能にする。出力ドライバ４１４は、プロセッサ４０２及び出力デバイス４１０と通信し、プロセッサ４０２が出力デバイス４１０に出力を送信するのを可能にする。入力ドライバ４１２及び出力ドライバ４１４は、オプションの構成要素であり、入力ドライバ４１２及び出力ドライバ４１４が存在しない場合には、システム４００が同じ方法で動作することに留意されたい。
【００２７】
システム４００は、上述したようなビデオ処理における動き推定情報を圧縮する方法の実施形態を実行するように構成されてもよい。例えば、メモリ４０４又は記憶デバイス４０６は、ブロックのサーチ領域及び複数の試行動きベクトルを記憶するように構成されてもよい。プロセッサ４０２は、ブロックに対するサーチ領域の位置を指定する複数の試行動きベクトルの各々に関連する歪み値を決定するように構成されてもよい。プロセッサ４０２は、歪み値を、メモリ４０４又は記憶デバイス４０６に記憶するように構成されてもよい。プロセッサ４０２は、記憶された歪み値のうち最小の歪み値と、これに関連する試行動きベクトルと、を決定するように構成されてもよい。プロセッサ４０２は、最小の歪み値を用いて、各歪み値を固定数のビットとして圧縮し、圧縮された歪み値の各々をメモリ４０４又は記憶デバイス４０６に再記憶するように構成されてもよい。
【００２８】
本明細書の開示に基づいて多くの変形が可能であることを理解されたい。特徴及び要素は、特定の組み合わせで上述されているが、特徴又は要素の各々は、他の特徴及び要素なしに単独で使用されてもよいし、他の特徴及び要素を有するか有しない様々な組み合わせで使用されてもよい。
【００２９】
提供された方法は、汎用コンピュータ、プロセッサ又はプロセッサコアで実行されてもよい。適切なプロセッサは、例えば、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、複数のマイクロプロセッサ、ＤＳＰコアに関連する１つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）回路、他のタイプの集積回路（ＩＣ）、及び／又は、状態機械を含むことができる。かかるプロセッサは、処理されたハードウェア記述言語（ＨＤＬ）命令の結果と、ネットリスト（コンピュータ可読媒体上に記憶することができる命令）を含む他の中間データと、を用いて製造プロセスを構成することによって製造されてもよい。かかる処理の結果は、本発明の態様を実施するプロセッサを製造する半導体製造プロセスで使用されるマスクワークであってもよい。
【００３０】
本明細書で提供された方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のためにコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア又はファームウェアで実装されてもよい。コンピュータ可読記憶媒体の例は、例えば読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ、半導体メモリデバイス、内部ハードディスク及びリムーバブルディスク等の磁気媒体、光磁気媒体、並びに、例えばＣＤ−ＲＯＭディスク及びデジタル多用途ディスク（ＤＶＤ）等の光学媒体を含む。
【図１】
0006680796.tif 000005
【図２】
0006680796.tif 000006
【図３】
0006680796.tif 000007
【図４】
0006680796.tif 000008