JP4995897B2 - 2つの独立した差分絶対値和を生成するための命令 - Google Patents
2つの独立した差分絶対値和を生成するための命令 Download PDFInfo
- Publication number
- JP4995897B2 JP4995897B2 JP2009510124A JP2009510124A JP4995897B2 JP 4995897 B2 JP4995897 B2 JP 4995897B2 JP 2009510124 A JP2009510124 A JP 2009510124A JP 2009510124 A JP2009510124 A JP 2009510124A JP 4995897 B2 JP4995897 B2 JP 4995897B2
- Authority
- JP
- Japan
- Prior art keywords
- sad
- register
- source
- pair
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005192 partition Methods 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000009825 accumulation Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000006247 magnetic powder Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
本実施形態は、一般に、2つの独立した差分絶対値和(sums of absolute differences)を生成するための命令に関する。
現在、動作推定は、ビデオ情報を符号化/圧縮するために広く使用される方法である。ブロックベースの動作推定では、各ビデオフレームは16×16、8×8、または4×4画素(pixels)のブロックなど、ブロック(画素アレイ(pixel arrays))内に区分化される。図1は、動作推定方法の概念図である。図1に示されるように、現在のフレーム105の現在のブロック110の場合、探索は(画素値(pixel values)の点で)ブロック110が最も一致するブロックに関する基準フレーム115(例えば、現在のフレームの前のフレームまたは後のフレーム)の探索領域120内で実行される。最も一致するブロック125が基準フレーム115内で発見されるとき、(現在のブロック110に照らして最も一致するブロック125の偏位を表示する)動作ベクトル130と、現在のブロック110との画素値の差とが現在のブロックを符号化するために使用される。このプロセスは、現在のフレームの各ブロックに関して繰り返される。
Σ|Ai−Bi|=C
によって表現され得る。
Σ|Ai−Bi|=C
によって表現され得る。式中、CはSAD演算の結果(すなわち、生成された値)を表す。
付記
[1] コンピュータ可読媒体であって、差分絶対値和(SAD)演算の結果を記憶するためのデスティネーションレジスタを指定する、前記媒体内に含まれるSAD命令、を備え、その命令は、SAD命令処理ユニットによって実行されるとき、前記処理ユニットに2つの独立したSAD演算を実行させ、前記の第1のSAD演算の結果は、前記デスティネーションレジスタ内の第1の区分内に記憶されており、前記の第2のSAD演算の結果は、前記デスティネーションレジスタ内の第2の区分内に記憶されている、コンピュータ可読媒体。
[2] 前記処理ユニットは、前記2つのSAD演算を並列で実行する、[1]に記載のコンピュータ可読媒体。
[3] 前記SAD命令は、前記2つのSAD演算によって処理するためのソース値を記憶する2個のソースレジスタをさらに指定し、前記処理ユニットは、前記の第1のソースレジスタの第1の区分内および前記の第2のソースレジスタの第1の区分内に記憶されたソース値に関して前記の第1のSAD演算を実行することと、前記の第1のソースレジスタの第2の区分内および前記の第2のソースレジスタの第2の区分内に記憶されたソース値に関して前記の第2のSAD演算を実行することと、によって、前記2つの独立したSAD演算を実行し、前記デスティネーションレジスタおよび前記ソースレジスタはそれぞれ、位置合わせされた1対のレジスタを備え、前記対の前記第1のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第1の区分を備え、前記対の前記第2のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第2の区分を備える、[1]に記載のコンピュータ可読媒体。
[4] 前記の第1のSAD演算が前記レジスタの第1の区分にアクセスすることができ、一方、前記の第2の独立したSAD演算が前記レジスタの第2の区分に同時にアクセスすることができるように、前記ソースレジスタおよび前記デスティネーションレジスタはそれぞれ、2つの、独立してアクセス可能な区分を備える、[3]に記載のコンピュータ可読媒体。
[5] 前記処理ユニットは、前記の第1および第2のソースレジスタの前記第1の区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定することによって、前記の第1のSAD演算を実行し、前記処理ユニットは、前記の第1および第2のソースレジスタの前記第2の区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定することによって、前記の第2のSAD演算を実行する、[3]に記載のコンピュータ可読媒体。
[6] 前記の第1および第2のソースレジスタ内に記憶された前記ソース値は、ビデオフレームの画素値を備え、前記の第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、[3]に記載のコンピュータ可読媒体。
[7] 前記処理ユニットは、前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記の第1のSAD演算の前記結果に対して加算することと、そして、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶することと、前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記の第2のSAD演算の前記結果に対して加算することと、そして、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶することと、によって、前記2つの独立したSAD演算を実行する、[1]に記載のコンピュータ可読媒体。
[8] 差分絶対値和(SAD)演算を実行するための方法であって、SAD演算の結果を記憶するためのデスティネーションレジスタを指定する単一のSAD命令を受信することと、前記単一のSAD命令を受信することに応答して、2つの独立したSAD演算を実行することと、を備え、前記の第1のSAD演算の結果は、前記デスティネーションレジスタの第1の区分内に記憶されており、前記の第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶されている、方法。
[9] 前記2つのSAD演算は、並列で実行される、[8]に記載の方法。
[10] 前記単一のSAD命令は、前記2つのSAD演算による処理のためのソース値を記憶する2個のソースレジスタをさらに指定し、前記2つのSAD演算を実行することは、前記の第1のソースレジスタの第1の区分内および前記の第2のソースレジスタの第1の区分内に記憶されたソース値に関して前記の第1のSAD演算を実行することと、前記の第1のソースレジスタの第2の区分内および前記の第2のソースレジスタの第2の区分内に記憶されたソース値に関して前記の第2のSAD演算を実行することと、をさらに備え、前記デスティネーションレジスタおよび前記ソースレジスタはそれぞれ、位置合わせされた1対のレジスタを備え、前記対の前記第1のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第1の区分を備え、前記対の前記第2のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第2の区分を備える、[8]に記載の方法。
[11] 前記の第1のSAD演算が前記レジスタの第1の区分にアクセスでき、一方、前記第2の独立したSAD演算が前記レジスタの第2の区分に同時にアクセスできるように、前記ソースレジスタおよび前記デスティネーションレジスタはそれぞれ、2つの、独立してアクセス可能な区分を備える、[10]に記載の方法。
[12] 前記の第1のSAD演算を実行することは、前記の第1および第2のソースレジスタの前記第1の区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定すること、をさらに備え、前記の第2のSAD演算を実行することは、前記第1および第2のソースレジスタの前記第2の区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定すること、をさらに備える、[10]に記載の方法。
[13] 前記の第1および第2のソースレジスタ内に記憶された前記ソース値は、ビデオフレームの画素値を備え、前記の第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記の第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、[10]に記載の方法。
[14] 前記2つのSAD演算を実行することは、前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記の第1のSAD演算の前記結果に対して加算することと、そして、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶することと、前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記の第2のSAD演算の前記結果に対して加算することと、そして、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶することと、を備える、[8]に記載の方法。
[15] 差分絶対値和(SAD)演算を実行するための装置であって、SAD演算結果を記憶するためのデスティネーションレジスタを指定する単一のSAD命令を受信するための手段と、前記単一のSAD命令を受信することに応答して、2つの独立したSAD演算を実行するための手段と、を備え、前記の第1のSAD演算の結果は、前記デスティネーションレジスタ内の第1の区分内に記憶されており、前記の第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶されている、装置。
[16] 前記2つのSAD演算は、並列で実行される、[15]に記載の装置。
[17] 前記単一のSAD命令は、前記2つのSAD演算による処理のためのソース値を記憶する2個のソースレジスタをさらに指定し、前記2つの独立したSAD演算を実行するための前記手段は、前記の第1のソースレジスタの第1の区分内および前記の第2のソースレジスタの第1の区分内に記憶されたソース値に関して前記の第1のSAD演算を実行するための手段と、前記の第1のソースレジスタの第2の区分内および前記の第2のソースレジスタの第2の区分内に記憶されたソース値に関して前記の第2のSAD演算を実行するための手段と、をさらに備え、前記デスティネーションレジスタおよび前記ソースレジスタはそれぞれ、位置合わせされた1対のレジスタを備え、前記対の前記第1のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第1の区分を備え、前記対の前記第2のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第2の区分を備える、[15]に記載の装置。
[18] 前記の第1のSAD演算が前記レジスタの第1の区分にアクセスでき、一方、前記の第2の独立したSAD演算が前記レジスタの第2の区分に同時にアクセスできるように、前記ソースレジスタおよび前記デスティネーションレジスタはそれぞれ、2つの、独立してアクセス可能な区分を備える、[17]に記載の装置。
[19] 前記の第1のSAD演算を実行するための前記手段は、前記の第1および第2のソースレジスタの前記第1の区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定するための手段、をさらに備え、前記の第2のSAD演算を実行するための前記手段は、前記の第1および第2のソースレジスタの前記第2の区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定するための手段、をさらに備える、[17]に記載の装置。
[20] 前記の第1および第2のソースレジスタ内に記憶された前記ソース値は、ビデオフレームの画素値を備え、前記の第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記の第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、[17]に記載の装置。
[21] 前記2つのSAD演算を実行するための前記手段は、前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記の第1のSAD演算の前記結果に対して加算し、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶するための手段と、前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記の第2のSAD演算の前記結果に対して加算し、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶するための手段と、を備える、[15]に記載の装置。
[22] 差分絶対値和(SAD)演算を実行するための装置であって、前記装置は、SAD演算の結果を記憶するためのデスティネーションレジスタを指定する少なくとも1つのSAD命令を記憶するためのメモリと、前記メモリに結合された処理ユニットと、を備え、前記処理ユニットは、単一のSAD命令を受信すると、2つの独立したSAD演算を実行するように構成されており、前記処理ユニットは、SAD演算を実行するように構成された1つまたは複数の実行ユニットと、デスティネーションレジスタを備えるレジスタのセットと、を備え、前記の第1のSAD演算の結果は、前記デスティネーションレジスタの第1の区分内に記憶され、前記の第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶される、装置。
[23] 前記処理ユニットは、前記2つのSAD演算を並列で実行するように構成されている、[22]に記載の装置。
[24] 前記SAD命令は、前記2つのSAD演算による処理のためのソース値を記憶する2個のソースレジスタをさらに指定し、前記レジスタのセットは、2個のソースレジスタをさらに備え、前記処理ユニットは、前記の第1のソースレジスタの第1の区分内および前記の第2のソースレジスタの第1の区分内に記憶されたソース値に関して前記の第1のSAD演算を実行することと、前記の第1のソースレジスタの第2の区分内および前記の第2のソースレジスタの第2の区分内に記憶されたソース値に関して前記の第2のSAD演算を実行することと、によって、前記2つの独立したSAD演算を実行するように構成されており、前記デスティネーションレジスタおよび前記ソースレジスタはそれぞれ、位置合わせされた1対のレジスタを備え、前記対の前記の第1のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第1の区分を備え、前記対の前記の第2のレジスタは、前記ソースレジスタまたは前記デスティネーションレジスタの前記第2の区分を備える、[22]に記載の装置。
[25] 前記の第1のSAD演算は前記レジスタの第1の区分にアクセスすることは可能であり、一方、前記第2の独立したSAD演算は前記レジスタの第2の区分に独立してアクセスすることはできるように、前記ソースレジスタおよび前記デスティネーションレジスタはそれぞれ2つの独立してアクセス可能な区分を備える、[24]に記載の装置。
[26] 前記処理ユニットは、前記第1および第2のソースレジスタの前記第1の区分内に記憶された対応するソース値の前記差分絶対値を備える第1の差分絶対値のセットの和を決定することによって、前記の第1のSAD演算を実行するように構成され、前記処理ユニットは、前記第1および前記第2のソースレジスタの前記第2の区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定することによって、前記の第2のSAD演算を実行するように構成されている、[24]に記載の装置。
[27] 前記の第1および第2のソースレジスタ内に記憶された前記ソース値は、ビデオフレームの画素値を備え、前記の第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは基準フレームの2つの異なるブロックの画素値を記憶する、[24]に記載の装置。
[28] 前記処理ユニットは、前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記の第1のSAD演算の前記結果に対して加算することと、そして、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶することと、前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記の第2のSAD演算の前記結果に対して加算することと、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶することと、によって、前記2つ独立したSAD演算を実行するように構成されている、[22]に記載の装置。
Claims (27)
- コンピュータ可読媒体であって、
第1のソースレジスタ、第2のソースレジスタ及び前記第1のソースレジスタ及び前記第2のソースレジスタとは異なるデスティネーションレジスタを特定する差分絶対値和(SAD)命令を記憶し、
SAD演算結果を記憶する前記デスティネーションレジスタは処理ユニットによって実行されたとき、前記処理ユニットに2つの独立したSAD演算を実行させ、前記2つの独立したSAD演算は前記第1のソースレジスタ及び前記第2のソースレジスタの第1の対の対応する区分に基づく第1のSAD演算及び前記第1のソースレジスタ及び第2のソースレジスタの第2の対の対応する区分に基づく第2のSAD演算を含み、前記第1の対の対応する区分の各区分は前記第2の対の対応する区分の各区分とは異なっており、前記第1のSAD演算の結果は前記デスティネーションレジスタの第1の区分に格納され、前記第2のSAD演算の結果は前記デスティネーションレジスタの第2の区分に格納される、コンピュータ可読媒体。 - 前記処理ユニットは、前記2つのSAD演算を並列で実行する、請求項1に記載のコンピュータ可読媒体。
- 前記第1ソースレジスタ、前記第2ソースレジスタ、及び前記デスティネーションレジスタは各々2つの独立したアクセス可能区分に分割される、請求項1に記載のコンピュータ可読媒体。
- 前記処理ユニットは、前記第1および第2のソースレジスタの前記第1の対の対応する区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定することによって、前記第1のSAD演算を実行し、
前記処理ユニットは、前記第1および第2のソースレジスタの前記第2の対の対応する区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定することによって、前記第2のSAD演算を実行する、請求項3に記載のコンピュータ可読媒体。 - 前記第1および第2のソースレジスタ内に記憶された前記ソース値は、ビデオフレームの画素値を備え、
前記第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、請求項3に記載のコンピュータ可読媒体。 - 前記処理ユニットは、
前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記第1のSAD演算の前記結果に対して加算することと、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶することと、
前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記第2のSAD演算の前記結果に対して加算することと、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶することと、
によって、前記2つの独立したSAD演算を実行する、請求項1に記載のコンピュータ可読媒体。 - 前記2つの独立したSAD演算は前記第1ソースレジスタ及び前記第2ソースレジスタの4対の対応する値の第1のセットに基づく第1のSAD演算及び前記ソースレジスタ及び前記第2のソースレジスタの4対の対応する値の第2のセットに基づいて第2のSAD演算を含む、請求項1に記載のコンピュータ可読媒体。
- 差分絶対値和(SAD)演算を実行するための方法であって、
プロセッサが、第1のソースレジスタ、第2のソースレジスタ及び前記第1のソースレジスタ及び前記第2のソースレジスタとは異なり、SAD演算結果を記憶する前記プロセッサのデスディネーションレジスタを指定する単一SAD命令を受信すること、
前記単一のSAD命令を受信することに応答して、2つの独立したSAD演算を実行することと、
を備え、
前記2つの独立したSAD演算は前記第1のソースレジスタ及び前記第2のソースレジスタの第1の対の対応する区分に基づく第1のSAD演算及び前記第1のソースレジスタ及び第2のソースレジスタの第2の対の対応する区分に基づく第2のSAD演算を含み、前記第1の対の対応する区分の各区分は前記第2の対の対応する区分の各区分とは異なっており、前記第1のSAD演算の結果は、前記デスティネーションレジスタの第1の区分内に記憶され、前記第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶される、方法。 - 前記2つのSAD演算は、並列で実行される、請求項8に記載の方法。
- 前記第1ソースレジスタ、前記第2ソースレジスタ、及び前記デスティネーションレジスタは各々2つの独立したアクセス可能区分に分割される、請求項8に記載の方法。
- 前記第1のSAD演算を実行することは、前記第1および第2のソースレジスタの前記第1の対の対応する区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定すること、をさらに備え、
前記第2のSAD演算を実行することは、前記第1および第2のソースレジスタの前記第2の対の対応する区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定すること、をさらに備える、請求項8に記載の方法。 - 前記第1および第2のソースレジスタ内に記憶されたソース値は、ビデオフレームの画素値を備え、
前記第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、請求項8に記載の方法。 - 前記2つのSAD演算を実行することは、
前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記第1のSAD演算の前記結果に対して加算することと、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶することと、
前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記第2のSAD演算の前記結果に対して加算することと、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶することと、
を備える、請求項8に記載の方法。 - 差分絶対値和(SAD)演算を実行するための装置であって、
プロセッサで第1のソースレジスタ、第2のソースレジスタ及び前記第1のソースレジスタ及び前記第2のソースレジスタとは異なり、SAD演算結果を記憶する前記プロセッサのデスディネーションレジスタを指定する単一SAD命令を受信する手段と、
前記単一のSAD命令を受信することに応答して、2つの独立したSAD演算を実行する手段と、
を備え、
前記2つの独立したSAD演算は前記第1のソースレジスタ及び前記第2のソースレジスタの第1の対の対応する区分に基づく第1のSAD演算及び前記第1のソースレジスタ及び第2のソースレジスタの第2の対の対応する区分に基づく第2のSAD演算を含み、前記第1の対の対応する区分の各区分は前記第2の対の対応する区分の各区分とは異なっており、前記第1のSAD演算の結果は、前記デスティネーションレジスタの第1の区分内に記憶され、前記第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶される、装置。 - 前記2つのSAD演算は、並列で実行される、請求項14に記載の装置。
- 前記第1ソースレジスタ、前記第2ソースレジスタ、及び前記デスティネーションレジスタは各々2つの独立したアクセス可能区分に分割される、請求項14に記載の装置。
- 前記第1のSAD演算を実行するための前記手段は、前記第1および第2のソースレジスタの前記第1の対の対応する区分内に記憶された対応するソース値の差分絶対値を備える第1の差分絶対値のセットの和を決定するための手段、をさらに備え、
前記第2のSAD演算を実行するための前記手段は、前記第1および第2のソースレジスタの前記第2の対の対応する区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定するための手段、をさらに備える、請求項14に記載の装置。 - 前記第1および第2のソースレジスタ内に記憶されたソース値は、ビデオフレームの画素値を備え、
前記第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは、基準フレームの2つの異なるブロックの画素値を記憶する、請求項14に記載の装置。 - 前記2つのSAD演算を実行するための前記手段は、
前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記第1のSAD演算の前記結果に加算し、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶するための手段と、
前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記第2のSAD演算の前記結果に加算し、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶するための手段と、
を備える、
請求項14に記載の装置。 - 差分絶対値和(SAD)演算を実行するための装置であって、
前記装置は、
プロセッサで第1のソースレジスタ、第2のソースレジスタ及び前記第1のソースレジスタ及び前記第2のソースレジスタとは異なり、SAD演算結果を記憶するデスディネーションレジスタを指定する少なくとも一つのSAD命令を記憶するメモリと、
前記メモリに結合され、単一SAD命令を受信すると2つの独立したSAD演算を行うように構成される処理ユニットと、
を備え、
前記2つの独立したSAD演算は前記第1のソースレジスタ及び前記第2のソースレジスタの第1の対の対応する区分に基づく第1のSAD演算及び前記第1のソースレジスタ及び第2のソースレジスタの第2の対の対応する区分に基づく第2のSAD演算を含み、
前記第1の対の対応する区分の各区分は前記第2の対の対応する区分の各区分とは異なっており、
前記処理ユニットは、SAD演算を行うように構成される1以上の実行ユニットと、
前記第1ソースレジスタ、前記第2のソースレジスタ及び前記デスティネーションレジスタにより構成される一組のレジスタと、を具備し、
前記第1のSAD演算の結果は、前記デスティネーションレジスタの第1の区分内に記憶され、前記第2のSAD演算の結果は、前記デスティネーションレジスタの第2の区分内に記憶される、装置。 - 前記処理ユニットは、前記2つのSAD演算を並列で実行するように構成されている、請求項20に記載の装置。
- 前記第1ソースレジスタ、前記第2ソースレジスタ、及び前記デスティネーションレジスタは各々2つの独立したアクセス可能区分に分割される、請求項20に記載の装置。
- 前記処理ユニットは、前記第1および第2のソースレジスタの前記第1の対の対応する区分内に記憶された対応するソース値の前記差分絶対値を備える第1の差分絶対値のセットの和を決定することによって、前記第1のSAD演算を実行するように構成され、
前記処理ユニットは、前記第1および前記第2のソースレジスタの前記第2の対の対応する区分内に記憶された対応するソース値の前記差分絶対値を備える第2の差分絶対値のセットの和を決定することによって、前記第2のSAD演算を実行するように構成されている、請求項20に記載の装置。 - 前記第1および第2のソースレジスタ内に記憶されたソース値は、ビデオフレームの画素値を備え、
前記第1のソースレジスタは、現在のフレームの現在のブロックの画素値を記憶し、前記第2のソースレジスタは基準フレームの2つの異なるブロックの画素値を記憶する、請求項20に記載の装置。 - 前記処理ユニットは、
前記デスティネーションレジスタの前記第1の区分内に記憶された別のSAD演算の結果を前記第1のSAD演算の前記結果に加算し、前記加算した和を前記デスティネーションレジスタの前記第1の区分内に記憶すること、及び
前記デスティネーションレジスタの前記第2の区分内に記憶された別のSAD演算の結果を前記第2のSAD演算の前記結果に加算し、前記加算した和を前記デスティネーションレジスタの前記第2の区分内に記憶すること、
によって、前記2つ独立したSAD演算を実行するように構成されている、請求項20に記載の装置。 - 前記第1のソースレジスタは64ビットであり、前記第2のソースレジスタは64ビットである、請求項1のコンピュータ可読媒体。
- 前記差分絶対値和(SAD)命令を処理することは前記2つの独立SAD演算において前記第1のソースレジスタの各ビット及び前記第2のソースレジスタの各ビットを用いることを含む、請求項26のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/431,301 US8290044B2 (en) | 2006-05-10 | 2006-05-10 | Instruction for producing two independent sums of absolute differences |
US11/431,301 | 2006-05-10 | ||
PCT/US2007/068389 WO2007134011A2 (en) | 2006-05-10 | 2007-05-07 | Instruction for producing two independent sums of absolute differences |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009536773A JP2009536773A (ja) | 2009-10-15 |
JP4995897B2 true JP4995897B2 (ja) | 2012-08-08 |
Family
ID=38658606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009510124A Active JP4995897B2 (ja) | 2006-05-10 | 2007-05-07 | 2つの独立した差分絶対値和を生成するための命令 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8290044B2 (ja) |
EP (1) | EP2025175B1 (ja) |
JP (1) | JP4995897B2 (ja) |
KR (1) | KR100996337B1 (ja) |
CN (1) | CN101438598B (ja) |
ES (1) | ES2733022T3 (ja) |
HU (1) | HUE044078T2 (ja) |
WO (1) | WO2007134011A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025019B (zh) * | 2011-12-23 | 2018-01-05 | 英特尔公司 | 用于执行双块绝对差求和的系统、装置和方法 |
CN115100017A (zh) * | 2015-06-10 | 2022-09-23 | 无比视视觉技术有限公司 | 用于处理图像的图像处理器和方法 |
US10481870B2 (en) | 2017-05-12 | 2019-11-19 | Google Llc | Circuit to perform dual input value absolute value and sum operation |
KR20200008539A (ko) | 2019-12-27 | 2020-01-28 | 주식회사 성환산업 | 빗물의 재활용 방법 및 시스템 |
KR102267401B1 (ko) | 2020-08-06 | 2021-06-18 | 주식회사 선샘산업 | 저장 용수의 수질 오염 방지 유닛 및 그 오염 방지 유닛을 이용한 저장 용수 수질 오염 방지 방법 및 방지 시스템 |
US20220308881A1 (en) * | 2021-03-26 | 2022-09-29 | Intel Corporation | Instruction and logic for sum of absolute differences |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3545004B2 (ja) | 1993-01-25 | 2004-07-21 | ソニー株式会社 | 演算回路 |
KR0168136B1 (ko) * | 1994-12-31 | 1999-03-20 | 김주용 | 움직임 추정 칩의 처리소자 장치 |
TW361051B (en) * | 1997-01-09 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Motion vector detection apparatus |
JP3869947B2 (ja) * | 1998-08-04 | 2007-01-17 | 株式会社日立製作所 | 並列処理プロセッサ、および、並列処理方法 |
GB2372848B (en) * | 2001-02-20 | 2004-10-27 | Advanced Risc Mach Ltd | Data processing using a coprocessor |
US7054895B2 (en) * | 2001-06-21 | 2006-05-30 | Ligos Corporation | System and method for parallel computing multiple packed-sum absolute differences (PSAD) in response to a single instruction |
JP4170173B2 (ja) | 2003-08-21 | 2008-10-22 | 株式会社ルネサステクノロジ | ブロックマッチング演算装置 |
JP4699685B2 (ja) | 2003-08-21 | 2011-06-15 | パナソニック株式会社 | 信号処理装置及びそれを用いた電子機器 |
US20060002471A1 (en) * | 2004-06-30 | 2006-01-05 | Lippincott Louis A | Motion estimation unit |
US7555513B2 (en) * | 2004-09-13 | 2009-06-30 | Broadcom Corporation | SIMD processor having enhanced operand storage interconnects |
-
2006
- 2006-05-10 US US11/431,301 patent/US8290044B2/en active Active
-
2007
- 2007-05-07 EP EP07761976.5A patent/EP2025175B1/en active Active
- 2007-05-07 ES ES07761976T patent/ES2733022T3/es active Active
- 2007-05-07 HU HUE07761976A patent/HUE044078T2/hu unknown
- 2007-05-07 JP JP2009510124A patent/JP4995897B2/ja active Active
- 2007-05-07 CN CN2007800164584A patent/CN101438598B/zh active Active
- 2007-05-07 KR KR1020087030050A patent/KR100996337B1/ko active IP Right Grant
- 2007-05-07 WO PCT/US2007/068389 patent/WO2007134011A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007134011A2 (en) | 2007-11-22 |
ES2733022T3 (es) | 2019-11-27 |
CN101438598A (zh) | 2009-05-20 |
US8290044B2 (en) | 2012-10-16 |
EP2025175A2 (en) | 2009-02-18 |
WO2007134011A3 (en) | 2008-01-24 |
CN101438598B (zh) | 2013-08-14 |
KR100996337B1 (ko) | 2010-11-23 |
KR20090012269A (ko) | 2009-02-02 |
EP2025175B1 (en) | 2019-04-03 |
HUE044078T2 (hu) | 2019-09-30 |
US20070263730A1 (en) | 2007-11-15 |
JP2009536773A (ja) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891353B2 (en) | Apparatus and methods for matrix addition and subtraction | |
JP4995897B2 (ja) | 2つの独立した差分絶対値和を生成するための命令 | |
JP7335231B2 (ja) | Simd命令を用いた効率的な直接畳み込み | |
JP4380987B2 (ja) | アレイ処理動作 | |
US7778494B2 (en) | FIR-based interpolation in advanced video codecs on VLIW processor | |
Yu et al. | Vector processing as a soft-core CPU accelerator | |
US20040006667A1 (en) | Apparatus and method for implementing adjacent, non-unit stride memory access patterns utilizing SIMD instructions | |
JPH04313121A (ja) | インストラクションメモリ装置 | |
JP5559297B2 (ja) | ハードウェアエンドループ情報の命令へのコード化 | |
US9785434B2 (en) | Fast minimum and maximum searching instruction | |
JP2008519349A (ja) | Simd命令をサポートするプログラマブルデータ処理回路 | |
US7054895B2 (en) | System and method for parallel computing multiple packed-sum absolute differences (PSAD) in response to a single instruction | |
JP2620511B2 (ja) | データ・プロセッサ | |
CN111651202A (zh) | 一种用于执行向量逻辑运算的装置 | |
US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
TWI587137B (zh) | 經改良之單一指令多重資料(simd)的k最近鄰居法之實施技術 | |
Geng et al. | An access-pattern-aware on-chip vector memory system with automatic loading for SIMD architectures | |
US11080054B2 (en) | Data processing apparatus and method for generating a status flag using predicate indicators | |
JP2004334297A (ja) | 並列演算処理装置及び並列演算処理方法 | |
CN109829866B (zh) | 列噪声检测方法、装置、介质及系统 | |
JP4696540B2 (ja) | コンピュータ、データ処理方法およびプログラム | |
Kavvadias et al. | Efficient hardware looping units for FPGAs | |
Najjar et al. | Pipeline Hazards Resolution for a New Programmable Instruction Set RISC Processor | |
KR100924383B1 (ko) | 하드웨어/소프트웨어 통합 설계 기반의 스케줄링 시스템 및방법 | |
Bishop et al. | Re-evaluating MPEG motion compensation search criteria |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120208 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120510 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4995897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |