JP5129248B2 - 順方向および逆離散コサイン変換の効率的な固定小数点近似 - Google Patents
順方向および逆離散コサイン変換の効率的な固定小数点近似 Download PDFInfo
- Publication number
- JP5129248B2 JP5129248B2 JP2009518523A JP2009518523A JP5129248B2 JP 5129248 B2 JP5129248 B2 JP 5129248B2 JP 2009518523 A JP2009518523 A JP 2009518523A JP 2009518523 A JP2009518523 A JP 2009518523A JP 5129248 B2 JP5129248 B2 JP 5129248B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- coefficients
- matrix
- factor
- calculating
- 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
- 239000011159 matrix material Substances 0.000 claims description 1019
- 239000013598 vector Substances 0.000 claims description 159
- 102000003712 Complement factor B Human genes 0.000 claims description 84
- 108090000056 Complement factor B Proteins 0.000 claims description 84
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical compound NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 claims description 84
- 238000000034 method Methods 0.000 claims description 72
- 102000016550 Complement Factor H Human genes 0.000 claims description 48
- 108010053085 Complement Factor H Proteins 0.000 claims description 48
- 102000051759 human factor J Human genes 0.000 claims description 48
- 108700008420 human factor J Proteins 0.000 claims description 48
- 230000009466 transformation Effects 0.000 claims description 48
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000000844 transformation Methods 0.000 claims description 3
- 125000002924 primary amino group Chemical group [H]N([H])* 0.000 claims 1
- 239000000543 intermediate Substances 0.000 description 39
- 238000013139 quantization Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000005022 packaging material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000668997 Carulaspis minima Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Multimedia (AREA)
- Discrete Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
DC_coefficient=DC_coefficient+(1<<(P+2))
この式で、項(1<<(P+2))は、中間バイアスを提供するために加えられている。
F[v][u]=(F’[v][u]*S[v][u]+(1<<19)−((F’[v][u]>=0)?0:1))>>20
ここでは、v=0..7、u=0..7であり、また、S[v][u]は、スケールファクタのマトリクスにおけるエントリ(entry)であり、Fは、スケーリングされた係数のマトリクスであり、そしてF’は、変換された係数のマトリクスである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、前記符号化された係数の8×8マトリクスにおける各係数をスケーリングすることと、
なおA=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを、変換された係数のマトリクスへと変換するために、固定小数点スケーリングされた一次元変換の繰り返し適用を使用することと;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトすることと、
なお、前記調節された係数のマトリクスにおける各調節された係数は、理想的な二次元逆離散コサイン変換(「IDCT」)を前記の符号化された係数のマトリクスに対して適用することによって作られるであろう値のマトリクスにおける対応する値を、近似する;
8×8のピクセルのブロックを表示することと、なお、前記8×8のピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける1つの調節された係数に基づいたピクセルコンポーネント値を含んでいる;
を備える方法。
[2] 前記固定小数点スケーリングされた一次元変換を繰り返して適用することは、
中間係数のマトリクスを作るために、前記スケーリングされた係数のマトリクスの各行ベクトルに対して前記固定小数点スケーリングされた一次元変換を適用することと、
変換された係数のマトリクスを作るために、前記中間係数のマトリクスの各列ベクトルに対して前記固定小数点スケーリングされた一次元変換を適用することと、
を備える、
[1]に記載の方法。
[3] 前記8×8のピクセルのブロックを表示することは、ビデオシーケンスにおけるビデオフレームの一部として、前記8×8のピクセルのブロックを表示することを備える、[1]に記載の方法。
[4] 前記8×8のピクセルのブロックを表示することは、静止画像の一部として、前記8×8のピクセルのブロックを表示することを備える、[1]に記載の方法。
[5] 前記の係数のマトリクスにおける係数をスケーリングすることは、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングすることと、
を備える、
[1]に記載の方法。
[6] 前記変換を行ベクトルあるいは列ベクトルのいずれかに対して適用することは、
x0とx4を加算することによって、値x0’を計算することと;
x0と−x4を加算することによって、値x4’を計算することと;
x2に値αを乗算することによって、値(x2*α)を計算することと;
x6に値βを乗算することによって、値(x6*β)を計算することと;
x2に前記値βを乗算することによって、値(x2*β)を計算することと;
x6に値αを乗算することによって、値(x6*α)を計算することと;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算することと;
(x6*α)と(x2*β)を加算することによって、値x6’を計算することと;
x0’とx6’を加算することによって、値x0’’を計算することと;
x4’とx2’を加算することによって、値x4’’計算することと;
x4’と−x2’を加算することによって、値x2’’を計算することと;
x0’と−x6’を加算することによって、値x6’’を計算することと;
x1と−x7を加算することによって、値x7’を計算することと;
x1とx7を加算することによって、値x1’を計算することと;
x3と2の平方根を乗算することによって、値x3’を計算することと;
x5と2の平方根を乗算することによって、値x5’を計算することと;
x7’とx5’を加算することによって、値x7’’を計算することと;
x1’と−x3’を加算することによって、値x3’’を計算することと;
x7と−x5’を加算することによって、値x5’’を計算することと;
x3’とx1’を加算することによって、値x1’’を計算することと;
x7’’に値εを乗算することによって、値(x7’’*ε)を計算することと;
x7’’に値ζを乗算することによって、値(x7’’*ζ)を計算することと;
x3’’に値γを乗算することによって、値(x3’’*γ)を計算することと;
x3’’に値δを乗算することによって、値(x3’’*δ)を計算することと;
x5’’に前記値δを乗算することによって、値(x5’’*δ)を計算することと;
x5’’に前記値γを乗算することによって、値(x5’’*γ)を計算することと;
x1’’に前記値ζを乗算することによって、値(x1’’*ζ)を計算することと;
x1’’に前記値εを乗算することによって、値(x1’’*ε)を計算することと;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算することと;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算することと;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算することと;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算することと;
x7’’’とx0’’を加算することによって、値X0を計算することと;
x4’’とx5’’’を加算することによって、値X1を計算すること;
x2’’とx3’’’を加算することによって、値X2を計算することと;
x6’’とx7’’’を加算することによって、値X3を計算することと;
x6’’と−x1’’’を加算することによって、値X4を計算することと;
x2’’と−x3’’’を加算することによって、値X5を計算することと;
x4’’と−x5’’’を加算することによって、値X6を計算することと;
x0’’と−x1’’’を加算することによって、値X7を計算することと;
を備え、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルあるいは列ベクトルにおいて係数であり、
X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
[5]に記載の方法。
[7] 前記固定小数点スケーリングされた一次元変換の繰り返し適用を使用することは、乗算あるいは除算の演算を使用することなく、前記行ベクトルのうちの1つあるいは前記列ベクトルのうちの1つにおける係数に対して前記変換を適用すること、を備える、[6]に記載の方法。
[8] x1と前記値εを乗算することによる値(x1*ε)を計算することと、x1と前記値ζによる前記値(x1*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1を計算することと、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算することと;
(y1>>2)からy1を差し引くことによって前記値(x1*ε)を計算することと;
を実行することを備え、
x7と前記値εを乗算することによる値(x7*ε)を計算することと、x7と前記値ζによる前記値(x7*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’を計算することと、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算することと;
(y1’>>2)からy1’を差し引くことによって前記値(x7*ε)を計算することと;
を実行することを備え、
x1’’と前記値εを乗算することによる値(x1’’*ε)を計算することと、x1’’と前記値ζによる前記値(x1’’*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’’を計算することと、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算することと;
(y1’’>>2)からy1’’を差し引くことによって前記値(x1’’*ε)を計算することと;
を実行することを備え、
x7’’と前記値εを乗算することによる値(x7’’*ε)を計算することと、x7’’と前記値ζによる前記値(x7’’*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算することと;
(y1’’’>>2)からy1’’’を差し引くことによって前記値(x7’’*ε)を計算することと;
を実行することを備える、
[7]に記載の方法。
[9] x3と値γを乗算することによる値(x3*γ)を計算することと、x3と値δを乗算することによる値(x3*δ)を計算することとは、次のシーケンスの演算、すなわち、
値y2を計算することと、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算することと、ただし、y3=y2−(x3>>11);
前記値(x3*δ)=y2+(y3>>1)を計算することと;
x3からy2を差し引くことによって、前記値(x3*γ)を計算することと;
を実行することを備えており、
x5と前記値δを乗算することによる値(x5*δ)を計算することと、x5と前記値γを乗算することによる値(x5*γ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’を計算することと、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算することと、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、前記値(x5*δ)を計算することと;
x5からy2’を差し引くことによって、前記値(x5*γ)を計算することと;
を実行することを備えており、
x3’’と値γを乗算することによる値(x3’’*γ)を計算することと、x3’’と値δを乗算することによる値(x3’’*δ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’’を計算することと、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算することと、ただし、y3’’=y2’’−(x3’’>>11);
前記値(x3’’*δ)=y2’’+(y3’’>>1)を計算することと;
x3’’からy2’’を差し引くことによって、前記値(x3’’*γ)を計算することと;
を実行することを備えており、
x5’’と前記値δを乗算することによる値(x5’’*δ)を計算することと、x5’’と前記値γを乗算することによる値(x5’’*γ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’’’を計算することと、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算することと、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって前記値(x5’’*δ)を計算することと;
x5’’からy2’’’を差し引くことによって、前記値(x5’’*γ)を計算することと;
を実行することを備える、
[7]に記載の方法。
[10] x2に値αを乗算することによる値(x2*α)を計算することと、x2に値βを乗算することによる値(x2*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1を計算することと、ただし、y1=x2+(x2>>5);
値y2を計算することと、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算することと;
y1からy2を差し引くことによって、前記値(x2*β)を計算することと;
を実行することを備えており、
x6に値αを乗算することによる値(x6*α)を計算することと、x6に値βを乗算することによる値(x6*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’を計算することと、ただし、y1’=x2+(x6>>5);
値y2’を計算することと、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算することと;
y1’からy2’を差し引くことによって、前記値(x6*β)を計算することと;
を実行することを備えており、
x2’’に値αを乗算することによる値(x2’’*α)を計算することと、x2’’に値βを乗算することによる値(x2’’*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’’を計算することと、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算することと、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、前記値(x2’’*α)を計算することと;
y1’’からy2’’を差し引くことによって、前記値(x2’’*β)を計算することと;
を実行することを備えており、
x6’’に値αを乗算することによる値(x6’’*α)を計算することと、x6’’に値βを乗算することによる値(x6’’*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算することと、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、前記値(x6’’*α)を計算することと;
y1’’’からy2’’’を差し引くことによって、前記値(x6’’*β)を計算することと;
を実行することを備える、
[7]に記載の方法。
[11] 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の仮数部分においてPビットを含む前記固定小数点数を使用して、表される、[6]に記載の方法。
[12] Pは10に等しい、[11]に記載の方法。
[13] 前記方法は、前記係数のマトリクスを含むビットストリームを受け取ること、をさらに備える、[1]に記載の方法。
[14] 前記方法は、中間バイアス項を前記マトリクスのDC係数に加算すること、をさらに備えており、また前記中間バイアス値項は、2の12乗に等しい、[1]に記載の方法。
[15] 前記方法は、
ピクセルコンポーネント値のマトリクスを生成するために、13個の位置だけ前記変換された係数のマトリクスにおける各係数を右シフトすることと、そして、
前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおけるピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成することと、
をさらに備える、
[1]に記載の方法。
[16] 前記8×8マトリクスの符号化された係数における各係数をスケーリングすることは、乗算あるいは除算の演算を使用することなく、前記符号化された係数のマトリクスにおける前記係数をスケーリングすること、を備える、[1]に記載の方法。
[17] スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、前記符号化された係数の8×8マトリクスにおける各係数をスケーリングするスケーリングモジュールと、
なお、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスに変換するために、固定小数点スケーリングされた一次元変換の繰り返し適用を使用する逆変換モジュールと;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトする右シフトモジュールと、
なお、前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに対して理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似する;
8×8のピクセルのブロックを出力する出力モジュールと、なお、前記ピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける調節された係数に基づいてピクセルコンポーネント値を含む;
を備えるデバイス。
[18] 前記逆変換モジュールは、中間係数のマトリクスを作るために、前記固定小数点スケーリングされた一次元変換を、前記スケーリングされた係数のマトリクスの各行ベクトルに対して適用し、変換された係数のマトリクスを作るために、前記固定小数点スケーリングされた一次元変換を、前記中間係数のマトリクスの各列ベクトルに対して適用する、[17]に記載のデバイス。
[19] 前記出力モジュールは、前記8×8のピクセルのブロックを、ビデオシーケンスにおけるビデオの一部として、表示している、[17]に記載の装置。
[20] 前記出力モジュールは、前記8×8のピクセルのブロックを、静止画像の一部として表示している、[19]に記載の装置。
[21] 前記スケーリングモジュールは、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングする、
[17]に記載のデバイス。
[22] 前記逆変換モジュールは、
x0とx4を加算することによって、値x0’を計算することと;
x0と−x4を加算することによって、値x4’を計算することと;
x2に値αを乗算することによって、値(x2*α)を計算することと;
x6に値βを乗算することによって、値(x6*β)を計算することと;
x2に前記値βを乗算することによって、値(x2*β)を計算することと;
x6に値αを乗算することによって、値(x6*α)を計算することと;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算することと;
(x6*α)と(x2*β)を加算することによって、値x6’を計算することと;
x0’とx6’を加算することによって、値x0’’を計算することと;
x4’とx2’を加算することによって、値x4’’計算することと;
x4’と−x2’を加算することによって、値x2’’を計算することと;
x0’と−x6’を加算することによって、値x6’’を計算することと;
x1および−x7を加算することによって、値x7’を計算することと;
x1とx7を加算することによって、値x1’を計算することと;
x3と2の平方根を乗算するとによって、値x3’を計算することと;
x5と2の平方根を乗算するとによって、値x5’を計算することと;
x7’とx5’を加算することによって、値x7’’を計算することと;
x1’と−x3’を加算することによって、値x3’’を計算することと;
x7’と−x5’を加算することによって、値x5’’を計算することと;
x3’とx1’を加算することによって、値x1’’を計算することと;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算することと;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算することと;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算することと;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算することと;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算することと;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算することと;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算することと;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算することと;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算することと;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算することと;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算することと;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算することと;
x7’’’とx0を加算することによって、値X0を計算することと;
x4’’とx5’’’を加算することによって、値X1を計算すること;
x2’’とx3’’’を加算することによって、値X2を計算することと;
x6’’とx7’’’を加算することによって、値X3を計算することと;
x6’’と−x1’’’を加算することによって、値X4を計算することと;
x2’’と−x3’’’を加算することによって、値X5を計算することと;
x4’’と−x5’’’を加算することによって、値X6を計算することと;
x0’’と−x1’’’を加算することによって、値X7を計算することと;
によって、行ベクトルあるいは列ベクトルに対して前記変換を適用し、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおける係数であり、
X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
[17]に記載のデバイス。
[23] 前記逆変換モジュールは、乗算あるいは除算演算を使用することなく、前記変換を前記係数のマトリクスに対して適用する、[22]に記載のデバイス。
[24] 前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1を計算することと、ただし、y1=(x1>>9)−x1;
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算することと;
(y1>>2)からy1を差し引くことによって、値(x1*ε)を計算することと;
を実行することによって、x1と前記値ζによる前記値(x1*ζ)を計算し、x1と前記値εを乗算することによる前記値(x1*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’を計算することと、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって、前記値(x7*ζ)を計算することと;
(y1’>>2)からy1’を差し引くことによって、値(x7*ε)を計算することと;
を実行することによって、x7と前記値ζによる前記値(x7*ζ)を計算し、x7と前記値εを乗算することによる前記値(x7*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’’を計算することと、ただし、y1’’=(x1’’>>9)−x1’’;
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算することと;
(y1’’>>2)からy1’’を差し引くことによって、値(x1’’*ε)を計算することと;
を実行することによって、x1’’と前記値ζによる前記値(x1’’*ζ)を計算し、x1’’と前記値εを乗算することによる前記値(x1’’*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって、前記値(x7’’*ζ)を計算することと;
(y1’’’>>2)からy1’’’を差し引くことによって、値(x7’’*ε)を計算することと;
を実行することによって、x7’’と前記値ζによる前記値(x7’’*ζ)を計算する、x7’’と前記値εを乗算することによる前記値(x7’’*ε)を計算する、
[23]に記載のデバイス。
[25] 前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2を計算することと、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算することと、ただし、y3=y2−(x3>>11);
値(x3*δ)=y2+(y3>>1)を計算することと;
x3からy2を差し引くことによって、値(x3*γ)を計算することと;
を実行することによって、x3と値δを乗算することによる前記値(x3*δ)を計算し、x3と値γを乗算することによる前記値(x3*γ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’を計算することと、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算することと、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、値(x5*δ)を計算することと;
x5からy2’を差し引くことによって、値(x5*γ)を計算することと;
を実行することによって、x5と前記値γを乗算することによる前記値(x5*γ)を計算し、x5と前記値δを乗算することによる前記値(x5*δ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’’を計算することと、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算することと、ただし、y3’’=y2’’−(x3’’>>11);
値(x3’’*δ)=y2’’+(y3’’>>1)を計算することと;
x3’’からy2’’を差し引くことによって、値(x3’’*γ)を計算することと;
を実行することによって、x3’’と値δを乗算することによる前記値(x3’’*δ)を計算し、x3’’と値γを乗算することによる前記値(x3’’*γ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’’’を計算することと、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算することと、ただし、y3’’’=y2’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって値(x5’’*δ)を計算することと;
x5’’からy2’’’を差し引くことによって、値(x5’’*γ)を計算することと;
を実行することによって、x5’’と前記値γを乗算することによる前記値(x5’’*γ)を計算し、x5’’と前記値δを乗算することによる前記値(x5’’*δ)を計算する、
[23]に記載のデバイス。
[26] 前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1を計算することと、ただし、y1=x2+(x2>>5);
値y2を計算することと、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算することと;
y1からy2を差し引くことによって、前記値(x2*β)を計算することと;
を実行することによって、x2に前記値βを乗算することによる前記値(x2*β)を計算し、x2に値αを乗算することによる前記値(x2*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’を計算することと、ただし、y1’=x6+(x6>>5);
値y2’を計算することと、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算することと;
y1’からy2’を差し引くことによって、前記値(x6*β)を計算することと;
を実行することによって、x6に前記値βを乗算することによる前記値(x6*β)を計算し、x6に値αを乗算することによる前記値(x6*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’’を計算することと、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算することと、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、値(x2’’*α)を計算することと;
y1’’からy2’’を差し引くことによって、値(x2’’*β)を計算することと;
を実行することによって、x2’’に値βを乗算することによる前記値(x2’’*β)を計算し、x2’’に値αを乗算することによる前記値(x2’’*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算することと、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、値(x6’’*α)を計算することと;
y1’’’からy2’’’を差し引くことによって、値(x6’’*β)を計算することと;
を実行することによって、x6’’と値βを乗算することによる前記値(x6’’*β)を計算し、x6’’と値αを乗算することによる前記値(x6’’*α)を計算する、
[23]に記載のデバイス。
[27] 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、[22]に記載のデバイス。
[28] Pは10に等しい、[27]に記載のデバイス。
[29] 前記デバイスは、前記符号化された係数のマトリクスが導き出されるデータを受け取る、ネットワークインタフェースを備える、[17]に記載のデバイス。
[30] 前記デバイスは、DC係数に対して中間バイアス項を加算する係数バイアシングモジュールを備えており、前記中間バイアス項が2の12乗に等しい、[17]に記載のデバイス。
[31] 前記デバイスは、
ピクセルコンポーネント値のマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける各係数を右シフトする右シフトモジュールと、
前記ピクセルのブロックにおけるピクセルへと、前記ピクセルコンポーネント値のマトリクスにおけるピクセルコンポーネント値を組み込むことによって、前記ピクセルのブロックを構成するピクセル再構成モジュールと、
をさらに備える、
[30]に記載のデバイス。
[32] 前記デバイスは、前記ピクセルのブロックを表示するメディアプレゼンテーションユニット、をさらに備える、[17]に記載の装置。
[33] 前記スケーリングモジュールは、乗算あるいは除算の演算を使用することなく、前記係数をスケーリングする、[17]に記載のデバイス。
[34] スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、符号化された係数の8×8マトリクスにおける各係数をスケーリングするための手段と、
なお、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスへと変換するために、固定小数点スケーリングされた一次元変換の繰り返し適用を使用するための手段と;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトするための手段と、
なお、前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに対して理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似する;
8×8のピクセルのブロックを表示するための手段と、なお、前記のピクセルのブロックにおける各ピクセルは、調節された係数の前記マトリクスにおける調節された係数に基づいて、ピクセルコンポーネント値を含んでいる;
を備えるデバイス。
[35] 前記固定小数点スケーリングされた一次元変換を繰り返して適用するための前記手段は、
中間係数のマトリクスを作るために、前記固定小数点スケーリングされた一次元変換をスケーリングされた係数の前記マトリクスの各行ベクトルに対して適用することと、
変換された係数のマトリクスを作るために、前記固定小数点スケーリングされた一次元変換をスケーリングされた係数の前記マトリクスの各列ベクトルに対して適用することと、
を備える、
[34]に記載のデバイス。
[36] 前記8×8のピクセルのブロックを出力するための前記手段は、前記8×8のピクセルのブロックを、ビデオシーケンスにおけるビデオフレームの一部として、表示すること、を備える、[34]に記載のデバイス。
[37] 前記8×8のピクセルのブロックを出力するための前記手段は、前記8×8のピクセルのブロックを、静止画像の一部として、表示する、[34]に記載のデバイス。
[38] 係数をスケーリングするための前記手段は、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングするための手段と、
を備える、
[34]に記載のデバイス。
[39] 前記変換を適用するための前記手段は、
x0とx4を加算することによって、値x0’を計算するための手段と;
x0と−x4を加算することによって、値x4’を計算するための手段と;
x2に値αを乗算することによって、値(x2*α)を計算するための手段と;
x6に値βを乗算することによって、値(x6*β)を計算するための手段と;
x2に前記値βを乗算することによって、値(x2*β)を計算するための手段と;
x6に値αを乗算することによって、値(x6*α)を計算するための手段と;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算するための手段と;
(x6*α)と(x2*β)を加算することによって、値x6’を計算するための手段と;
x0’とx6’を加算することによって、値x0’’を計算するための手段と;
x4’とx2’を加算することによって、値x4’’計算するための手段と;
x4’と−x2’を加算することによって、値x2’’を計算するための手段と;
x0’と−x6’を加算することによって、値x6’’を計算するための手段と;
x1および−x7を加算することによって、値x7’を計算するための手段と;
x1とx7を加算することによって、値x1’を計算するための手段と;
x3と2の平方根を乗算するとによって、値x3’を計算するための手段と;
x5と2の平方根を乗算するとによって、値x5’を計算するための手段と;
x7’とx5’を加算することによって、値x7’’を計算するための手段と;
x1’と−x3’を加算することによって、値x3’’を計算するための手段と;
x7’と−x5’を加算することによって、値x5’’を計算するための手段と;
x3’とx1’を加算することによって、値x1’’を計算するための手段と;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算するための手段と;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算するための手段と;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算するための手段と;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算するための手段と;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算するための手段と;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算するための手段と;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算するための手段と;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算するための手段と;
(x7’’*ε)と―(x1’’*ζ)を加算することによって、値x7’’’を計算するための手段と;
(x3’’*γ)と―(x5’’*δ)を加算することによって、値x3’’’を計算するための手段と;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算するための手段と;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算するための手段と;
x7’’’とx0’’を加算することによって、値X0を計算するための手段と;
x4’’とx5’’’を加算することによって、値X1を計算するための手段と;
x2’’とx3’’’を加算することによって、値X2を計算するための手段と;
x6’’とx7’’’を加算することによって、値X3を計算するための手段と;
x6’’と−x1’’’を加算することによって、値X4を計算するための手段と;
x2’’と−x3’’’を加算することによって、値X5を計算するための手段と;
x4’’と−x5’’’を加算することによって、値X6を計算するための手段と;
x0’’と−x1’’’を加算することによって、値X7を計算するための手段と;
を備え、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおいて係数であり、
X0,X1,X2,X3,X4,X5,X6,およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
[38]に記載のデバイス。
[40] 前記変換の繰り返し適用を使用するための前記手段は、乗算あるいは除算の演算を使用することなく、前記係数のマトリクスへと前記変換を適用する、[39]に記載のデバイス。
[41]x1と前記値εを乗算することによる値(x1*ε)を計算するための前記手段と、x1と前記値ζによる前記値(x1*ζ)を計算するための前記手段は、
値y1を計算するための手段と、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算するための手段と;
(y1>>2)からy1を差し引くことによって前記値(x1*ε)を計算するための手段と;
を備え、
x7と前記値εを乗算することによる値(x7*ε)を計算するための前記手段と、x7と前記値ζによる前記(x7*ζ)を計算するための前記手段は、
値y1’を計算するための手段と、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算するための手段と;
(y1’>>2)からy1’を差し引くことによって前記値(x7*ε)を計算するための手段と;
を備え、
x1’’と前記値εを乗算することによる値(x1’’*ε)を計算するための前記手段と、x1’’と前記値ζによる前記値(x1’’*ζ)を計算するための前記手段は、
値y1’’を計算するための手段と、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算するための手段と;
(y1’’>>2)からy1’’を差し引くことによって前記値(x1’’*ε)を計算するための手段と;
を備え、
x7’’と前記値εを乗算することによる値(x7’’*ε)を計算するための前記手段と、x7’’と前記値ζによる前記値(x7’’*ζ)を計算するための前記手段は、
値y1’’’を計算するための手段と、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算するための手段と;
(y1’’’>>2)からy1’’’を差し引くことによって前記値(x7’’*ε)を計算するための手段と;
を備える、
[40]に記載のデバイス。
[42] x3と値γを乗算することによる値(x3*γ)を計算するための前記手段と、x3と値δを乗算することによる値(x3*δ)を計算するための前記手段は、
値y2を計算するための手段と、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算するための手段と、ただし、y3=y2−(x3>>11);
前記値(x3*δ)=y2+(y3>>1)を計算するための手段と;
x1からy2を差し引くことによって、前記値(x3*γ)を計算するための手段と;
を備え、
x5と前記値δを乗算することによる値(x5*δ)を計算するための前記手段と、x5と前記値γを乗算することによる値(x5*γ)を計算するための前記手段は、
値y2’を計算するための手段と、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算するための手段と、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、前記値(x5*δ)を計算するための手段と;
x7からy2’を差し引くことによって、前記値(x5*γ)を計算するための手段と;
を備え、
x3’’と値γを乗算することによる値(x3’’*γ)を計算するための前記手段と、x3’’と値δを乗算することによる値(x3’’*δ)を計算するための前記手段は、
値y2’’を計算するための手段と、ただし、y2’’=(x1’’>>3)−(x1’’>>7);
値y3’’を計算するための手段と、ただし、y3’’=y2’’−(x1’’>>11);
前記値(x1’’*δ)=y2’’+(y3’’>>1)を計算するための手段と;
x1’’からy2’’を差し引くことによって、前記値(x1’’*γ)を計算するための手段と;
を備え、
x5’’と前記値δを乗算することによる値(x5’’*δ)を計算するための前記手段と、x5’’と前記値γを乗算することによる値(x5’’*γ)をするための前記手段は、
値y2’’’を計算するための手段と、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算するための手段と、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって前記値(x5’’*δ)を計算するための手段と;
x5’’からy2’’’を差し引くことによって、前記値(x5’’*γ)を計算するための手段と;
を備える、
[40]に記載のデバイス。
[43] x2に値αを乗算することによる前記値(x2*α)を計算するための前記手段と、x2に前記値βを乗算することによる前記値(x2*β)を計算するための前記手段は、
値y1を計算するための手段と、ただし、y1’=x2+(x2>>5);
値y2を計算するための手段と、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算するための手段と;
y1からy2を差し引くことによって、前記値(x2*β)を計算するための手段と;
を備え、
x6に値αを乗算することによる前記値(x6*α)を計算するための前記手段と、x6に前記値βを乗算することによる前記値(x6*β)を計算するための前記手段は、
値y1’を計算するための手段と、ただし、y1’=x6+(x6>>5);
値y2’を計算するための手段と、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x2*α)を計算するための手段と;
y1’からy2’を差し引くことによって、前記値(x2*β)を計算するための手段と;
を備え、
x2’’に値αを乗算することによる値(x2’’*α)を計算するための前記手段と、x2’’に値βを乗算することによる値(x2’’*β)を計算するための前記手段は、
値y1’’を計算するための手段と、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算するための手段と、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、前記値(x2’’*α)を計算するための手段と;
y1’’からy2’’を差し引くことによって、前記値(x2’’*β)を計算するための手段と;
を備え、
x6’’と値αを乗算することによる値(x6’’*α)を計算するための前記手段と、x6’’と値βを乗算することによる値(x6’’*β)を計算するための前記手段は、
値y1’’’を計算するための手段と、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算するための手段と、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、前記値(x6’’*α)を計算するための手段と;
y1’’’からy2’’’を差し引くことによって、前記値(x6’’*β)を計算するための手段と;
を備える、
[40]に記載のデバイス。
[44] 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、[39]に記載のデバイス。
[45] Pは10に等しい、[44]に記載のデバイス
[46] 前記デバイスは、前記符号化された係数のマトリクスが導き出される、メディアファイルを受け取るための手段、を備える、[34]に記載のデバイス。
[47] 前記デバイスは、中間バイアス項をDC係数に加算するための手段、をさらに備えており、また、前記中間バイアス値項は、2の12乗に等しい、[34]に記載のデバイス。
[48] 前記デバイスは、
ピクセルコンポーネントのマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける各係数を右シフトするための手段と、
前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおけるピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成するための手段と、
をさらに備える、
[34]に記載のデバイス。
[49] 前記デバイスは、前記ピクセルのブロックを表示するための手段、をさらに備える、[34]に記載のデバイス。
[50] 前記係数をスケーリングするための前記手段は、乗算あるいは除算の演算を使用することなく、スケーリングする、[34]に記載のデバイス。
[51] インストラクションを備えるコンピュータ可読メディアであって、実施されるとき、前記インストラクションは、プログラマブルプロセッサに、
符号化された係数の8×8マトリクスを受信させ;
スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、前記符号化された係数の8×8マトリクスにおける各係数をスケーリングさせ、
なお、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスへと変換するために、固定小数点スケーリングされた一次元変換の繰り返し適用を使用させ;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトさせ、
なお、前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似する;
ディスプレイユニットが8×8のピクセルのブロックを表示させる信号を出力させる、なお、前記ピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける調節された係数に基づいて、ピクセルコンポーネント値を含んでいる;
コンピュータ可読メディア。
[52] プログラマブルプロセッサに前記固定小数点スケーリングされた一次元変換の繰り返し適用を使用させる、前記インストラクションは、プログラマブルプロセッサに、
中間係数のマトリクスを作るために、前記スケーリングされた係数のマトリクスの各行ベクトルに対して前記変換を適用させ、
変換された係数のマトリクスを作るために、前記中間係数のマトリクスの各列ベクトルに対して前記変換を適用させる、
[51]に記載のコンピュータ可読メディア。
[53]前記プログラマブルプロセッサに、前記ディスプレイユニットに前記8×8のピクセルのブロックを表示させる信号を、出力させる前記インストラクションは、前記プログラマブルプロセッサに、前記ディスプレイユニットにビデオシーケンスにおけるビデオフレームの一部として前記8×8のピクセルのブロックを表示させる信号を、出力させる、[51]に記載のコンピュータ可読メディア。
[54]前記プログラマブルプロセッサが、前記ディスプレイユニットに前記8×8のピクセルのブロックを表示させる信号を、出力させる前記インストラクションは、前記プログラマブルプロセッサに、前記ディスプレイユニットに静止画像の一部として前記8×8のピクセルのブロックを表示させる信号を、出力させる、[51]に記載のコンピュータ可読メディア。
[55] 前記プロセッサに前記係数のマトリクスにおける前記係数をスケーリングさせる前記インストラクションは、前記プロセッサに、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングさせる、
[51]に記載のコンピュータ可読メディア。
[56] 前記プロセッサに行ベクトルあるいは列ベクトルのいずれかに前記変換を適用させる前記インストラクションは、前記プロセッサに、
x0とx4を加算することによって、値x0’を計算させ;
x0と−x4を加算することによって、値x4’を計算させ;
x2に値αを乗算することによって、値(x2*α)を計算させ;
x6に値βを乗算することによって、値(x6*β)を計算させ;
x2に前記値βを乗算することによって、値(x2*β)を計算させ;
x6に値αを乗算することによって、値(x6*α)を計算させ;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算させ;
(x6*α)と(x2*β)を加算することによって、値x6’を計算させ;
x0’とx6’を加算することによって、値x0’’を計算させ;
x4’とx2’を加算することによって、値x4’’計算させ;
x4’と−x2’を加算することによって、値x2’’を計算させ;
x0’と−x6’を加算することによって、値x6’’を計算させ;
x1と−x7を加算することによって、値x7’を計算させ;
x1とx7を加算することによって、値x1’を計算させ;
x3と2の平方根を乗算するとによって、値x3’を計算させ;
x5と2の平方根を乗算するとによって、値x5’を計算させ;
x7’とx5’を加算することによって、値x7’’を計算させ;
x1’と−x3’を加算することによって、値x3’’を計算させ;
x7’と−x5’を加算することによって、値x5’’を計算させ;
x3’とx1’を加算することによって、値x1’’を計算させ;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算させ;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算させ;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算させ;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算させ;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算させ;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算させ;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算させ;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算させ;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算させ;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算させ;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算させ;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算させ;
x7’’’とx0’’を加算することによって、値X0を計算させ;
x4’’とx5’’’を加算することによって、値X1を計算させ;
x2’’とx3’’’を加算することによって、値X2を計算させ;
x6’’とx7’’’を加算することによって、値X3を計算させ;
x6’’と−x1’’’を加算することによって、値X4を計算させ;
x2’’と−x3’’’を加算することによって、値X5を計算させ;
x4’’と−x5’’’を加算することによって、値X6を計算させ;
x0’’と−x1’’’を加算することによって、値X7を計算させる;
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおいて係数であり X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
[55]に記載のコンピュータ可読メディア。
[57] 前記インストラクションは、乗算あるいは除算の演算を使用しないで、前記プロセッサに前記行ベクトルのうちの1つあるいは前記列ベクトルのうちの1つにおける係数に対して前記変換を適用させることによって、前記プロセッサに前記変換を適用させる、[56]に記載のコンピュータ可読メディア。
[58]前記プログラマブルプロセッサに、
値y1を計算させ、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算させ;
(y1>>2)からy1を差し引くことによって値(x1*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x1と前記値ζによる前記値(x1*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x1と前記値εを乗算することによる前記値(x1*ε)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’を計算させ、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算させ;
(y1’>>2)からy1’を差し引くことによって値(x7*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x7と前記値ζによる前記値(x7*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x7と前記値εを乗算することによる前記値(x7*ε)を計算させる、
また、前記インストラクションは、前記プログラマブルプロセッサに、
値y1’’を計算させ、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算させ;
(y1’’>>2)からy1’’を差し引くことによって値(x1’’*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x1’’と前記値ζによる前記値(x1’’*ζ)を計算させ、前記プログラマブルプロセッサに、x1’’と値εを乗算することによる前記値(x1’’*ε)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’’を計算させ、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算させ;
(y1’’’>>2)からy1’’’を差し引くことによって値(x7’’*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x7’’と前記値ζによる前記値(x7’’*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x7’’と前記値εを乗算することによる前記値(x7’’*ε)を計算させる、
[57]に記載のコンピュータ可読メディア。
[59] 前記プログラマブルプロセッサに、
値y2を計算させ、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算させ、ただし、y3=y2−(x3>>11);
値(x3*δ)=y2+(y3>>1)を計算させ;
x3からy2を差し引くことによって、値(x3*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x3と値δを乗算することによる前記値(x3*δ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x3と値γを乗算することによる前記値(x3*γ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’を計算させ、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算させ、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、値(x5*δ)を計算させ;
x5からy2’を差し引くことによって、値(x5*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x5と前記値γを乗算することによる前記値(x5*γ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x5と前記値δを乗算することによる前記値(x5*δ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’’を計算させ、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算させ、ただし、y3’’=y2’’−(x3’’>>11);
値(x3’’*δ)=y2’’+(y3’’>>1)を計算させ;
x3’’からy2’’を差し引くことによって、値(x3’’*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x3’’と値δを乗算することによる前記値(x3’’*δ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x3’’と値γを乗算することによる前記値(x3’’*γ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’’’を計算させ、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算させ、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって値(x5’’*δ)を計算させ;
x5’’からy2’’’を差し引くことによって、値(x5’’*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x5’’と前記値γを乗算することによる前記値(x5’’*γ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x5’’と前記値δを乗算することによる前記値(x5’’*δ)を計算させる、
[58]に記載のコンピュータ可読メディア。
[60] 前記プログラマブルプロセッサに、
値y1を計算させ、ただし、y1=x2+(x2>>5);
値y2を計算させ、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、値(x2*α)を計算させ;
y1からy2を差し引くことによって、値(x2*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x2に値βを乗算することによる前記値(x2*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x2に値αを乗算することによる前記値(x2*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’を計算させ、ただし、y1’=x2+(x6>>5);
値y2’を計算させ、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算させ;
y1’からy2’を差し引くことによって、値(x6*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x6に値βを乗算することによる前記値(x6*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x6に値αを乗算することによる値(x6*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’を計算させ、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算させ、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、値(x2’’*α)を計算させ;
y1’’からy2’’を差し引くことによって、値(x2’’*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x2’’に値βを乗算することによる前記値(x2’’*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x2’’に値αを乗算することによる前記値(x2’’*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’’を計算させ、ただし、y1’’’=x6’’+(x6’’>>5);
値y2’’’を計算させ、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、値(x6’’*α)を計算させ;
y1’’’からy2’’’を差し引くことによって、値(x6’’*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x6’’と値βを乗算することによる前記値(x6’’*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x6’’と値αを乗算することによる前記値(x6’’*α)を計算させる、
[58]に記載のコンピュータ可読メディア。
[61] 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、[56]に記載のコンピュータ可読メディア。
[62] Pは10に等しい、[61]に記載の方法。
[63] 前記インストラクションは、さらに、前記プロセッサに、符号化された係数の前記マトリクスを含むメディアファイルを受信させる、[51]に記載のコンピュータ可読メディア。
[64] 前記インストラクションは、さらに、前記プロセッサに、前記マトリクスのDC係数に中間バイアス項を加えさせ、前記中間バイアス値項は、2の12乗と等しい、[51]に記載のコンピュータ可読メディア。
[65] 前記インストラクションは、前記プロセッサに、
ピクセルコンポーネントのマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける各係数を右シフトさせ、そして 前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおけるピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成させる、[51]に記載のコンピュータ可読メディア。
[66] 乗算あるいは除算の演算を使用することなく、前記プロセッサに、前記符号化された係数のマトリクスにおける前記係数をスケーリングさせることによって、前記インストラクションは、前記プロセッサに、前記符号化された係数をスケーリングさせる、[51]に記載のコンピュータ可読メディア。
Claims (66)
- スケーリングモジュールがスケール化された係数のマトリクスを作成するために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、又はファクタJ(但し、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である)のうちの各々によって8×8マトリクスの符号化係数の各係数をスケーリングすることと、
逆変換モジュールが前記スケール化係数のマトリクスを、変換された係数のマトリクスへと変換するために、固定小数点スケール化された一次元変換の繰り返し適用を使用することと;
右シフトモジュールが調節された係数のマトリクスを作成するために、前記変換された係数のマトリクスにおける変換係数を右シフトすることと;
出力モジュールが8×8のピクセルのブロックを表示することと;を含み、
前記調節された係数のマトリクスにおける各調節された係数は、理想的な二次元逆離散コサイン変換(IDCT)を前記符号化係数のマトリクスに適用することによって生成されるであろう値マトリクスにおける対応する値に近似し、前記8×8のピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける1つの調節された係数に基づいたピクセルコンポーネント値を含んでいる、方法。 - 前記固定小数点スケール化された一次元変換の繰り返し適用を使用することは、
中間係数のマトリクスを作るために、前記スケール化された係数のマトリクスの各行ベクトルに対して前記固定小数点スケール化された一次元変換を適用することと、
前記変換された係数のマトリクスを作るために、前記中間係数のマトリクスの各列ベクトルに対して前記固定小数点スケール化された一次元変換を適用することと、
を備える、
請求項1に記載の方法。 - 前記8×8のピクセルのブロックを表示することは、ビデオシーケンスにおけるビデオフレームの一部として、前記8×8のピクセルのブロックを表示することを備える、請求項1に記載の方法。
- 前記8×8のピクセルのブロックを表示することは、静止画像の一部として、前記8×8のピクセルのブロックを表示することを備える、請求項1に記載の方法。
- 前記の係数のマトリクスにおける係数をスケーリングすることは、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングすることと、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングすることと、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングすることと、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングすることと、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングすることと、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングすることと、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングすることと、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングすることと、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングすることと、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングすることと、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングすることと、
を備える、
請求項1に記載の方法。 - 前記変換を行ベクトルあるいは列ベクトルのいずれかに対して適用することは、
x0とx4を加算することによって、値x0’を計算することと;
x0と−x4を加算することによって、値x4’を計算することと;
x2に値αを乗算することによって、値(x2*α)を計算することと;
x6に値βを乗算することによって、値(x6*β)を計算することと;
x2に前記値βを乗算することによって、値(x2*β)を計算することと;
x6に値αを乗算することによって、値(x6*α)を計算することと;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算することと;
(x6*α)と(x2*β)を加算することによって、値x6’を計算することと;
x0’とx6’を加算することによって、値x0’’を計算することと;
x4’とx2’を加算することによって、値x4’’計算することと;
x4’と−x2’を加算することによって、値x2’’を計算することと;
x0’と−x6’を加算することによって、値x6’’を計算することと;
x1と−x7を加算することによって、値x7’を計算することと;
x1とx7を加算することによって、値x1’を計算することと;
x3と2の平方根を乗算することによって、値x3’を計算することと;
x5と2の平方根を乗算することによって、値x5’を計算することと;
x7’とx5’を加算することによって、値x7’’を計算することと;
x1’と−x3’を加算することによって、値x3’’を計算することと;
x7と−x5’を加算することによって、値x5’’を計算することと;
x3’とx1’を加算することによって、値x1’’を計算することと;
x7’’に値εを乗算することによって、値(x7’’*ε)を計算することと;
x7’’に値ζを乗算することによって、値(x7’’*ζ)を計算することと;
x3’’に値γを乗算することによって、値(x3’’*γ)を計算することと;
x3’’に値δを乗算することによって、値(x3’’*δ)を計算することと;
x5’’に前記値δを乗算することによって、値(x5’’*δ)を計算することと;
x5’’に前記値γを乗算することによって、値(x5’’*γ)を計算することと;
x1’’に前記値ζを乗算することによって、値(x1’’*ζ)を計算することと;
x1’’に前記値εを乗算することによって、値(x1’’*ε)を計算することと;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算することと;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算することと;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算することと;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算することと;
x7’’’とx0’’を加算することによって、値X0を計算することと;
x4’’とx5’’’を加算することによって、値X1を計算すること;
x2’’とx3’’’を加算することによって、値X2を計算することと;
x6’’とx7’’’を加算することによって、値X3を計算することと;
x6’’と−x1’’’を加算することによって、値X4を計算することと;
x2’’と−x3’’’を加算することによって、値X5を計算することと;
x4’’と−x5’’’を加算することによって、値X6を計算することと;
x0’’と−x1’’’を加算することによって、値X7を計算することと;
を備え、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルあるいは列ベクトルにおいて係数であり、
X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
請求項2に記載の方法。 - 前記固定小数点スケール化された一次元変換の繰り返し適用を使用することは、乗算あるいは除算の演算を使用することなく、前記行ベクトルのうちの1つあるいは前記列ベクトルのうちの1つにおける係数に対して前記変換を適用すること、を備える、請求項6に記載の方法。
- x1と前記値εを乗算することによる値(x1*ε)を計算することと、x1と前記値ζによる前記値(x1*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1を計算することと、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算することと;
(y1>>2)からy1を差し引くことによって前記値(x1*ε)を計算することと;
を実行することを備え、
x7と前記値εを乗算することによる値(x7*ε)を計算することと、x7と前記値ζによる前記値(x7*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’を計算することと、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算することと;
(y1’>>2)からy1’を差し引くことによって前記値(x7*ε)を計算することと;
を実行することを備え、
x1’’と前記値εを乗算することによる値(x1’’*ε)を計算することと、x1’’と前記値ζによる前記値(x1’’*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’’を計算することと、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算することと;
(y1’’>>2)からy1’’を差し引くことによって前記値(x1’’*ε)を計算することと;
を実行することを備え、
x7’’と前記値εを乗算することによる値(x7’’*ε)を計算することと、x7’’と前記値ζによる前記値(x7’’*ζ)を計算することは、次のシーケンスの算術演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算することと;
(y1’’’>>2)からy1’’’を差し引くことによって前記値(x7’’*ε)を計算することと;
を実行することを備える、
請求項7に記載の方法。 - x3と値γを乗算することによる値(x3*γ)を計算することと、x3と値δを乗算することによる値(x3*δ)を計算することとは、次のシーケンスの演算、すなわち、
値y2を計算することと、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算することと、ただし、y3=y2−(x3>>11);
前記値(x3*δ)=y2+(y3>>1)を計算することと;
x3からy2を差し引くことによって、前記値(x3*γ)を計算することと;
を実行することを備えており、
x5と前記値δを乗算することによる値(x5*δ)を計算することと、x5と前記値γを乗算することによる値(x5*γ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’を計算することと、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算することと、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、前記値(x5*δ)を計算することと;
x5からy2’を差し引くことによって、前記値(x5*γ)を計算することと;
を実行することを備えており、
x3’’と値γを乗算することによる値(x3’’*γ)を計算することと、x3’’と値δを乗算することによる値(x3’’*δ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’’を計算することと、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算することと、ただし、y3’’=y2’’−(x3’’>>11);
前記値(x3’’*δ)=y2’’+(y3’’>>1)を計算することと;
x3’’からy2’’を差し引くことによって、前記値(x3’’*γ)を計算することと;
を実行することを備えており、
x5’’と前記値δを乗算することによる値(x5’’*δ)を計算することと、x5’’と前記値γを乗算することによる値(x5’’*γ)を計算することとは、次のシーケンスの演算、すなわち、
値y2’’’を計算することと、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算することと、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって前記値(x5’’*δ)を計算することと;
x5’’からy2’’’を差し引くことによって、前記値(x5’’*γ)を計算することと;
を実行することを備える、
請求項7に記載の方法。 - x2に値αを乗算することによる値(x2*α)を計算することと、x2に値βを乗算することによる値(x2*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1を計算することと、ただし、y1=x2+(x2>>5);
値y2を計算することと、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算することと;
y1からy2を差し引くことによって、前記値(x2*β)を計算することと;
を実行することを備えており、
x6に値αを乗算することによる値(x6*α)を計算することと、x6に値βを乗算することによる値(x6*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’を計算することと、ただし、y1’=x2+(x6>>5);
値y2’を計算することと、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算することと;
y1’からy2’を差し引くことによって、前記値(x6*β)を計算することと;
を実行することを備えており、
x2’’に値αを乗算することによる値(x2’’*α)を計算することと、x2’’に値βを乗算することによる値(x2’’*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’’を計算することと、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算することと、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、前記値(x2’’*α)を計算することと;
y1’’からy2’’を差し引くことによって、前記値(x2’’*β)を計算することと;
を実行することを備えており、
x6’’に値αを乗算することによる値(x6’’*α)を計算することと、x6’’に値βを乗算することによる値(x6’’*β)を計算することとは、次のシーケンスの演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算することと、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、前記値(x6’’*α)を計算することと;
y1’’’からy2’’’を差し引くことによって、前記値(x6’’*β)を計算することと;
を実行することを備える、
請求項7に記載の方法。 - 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の仮数部分においてPビットを含む前記固定小数点数を使用して、表される、請求項6に記載の方法。
- Pは10に等しい、請求項11に記載の方法。
- 前記方法は、前記係数のマトリクスを含むビットストリームを受け取ること、をさらに備える、請求項1に記載の方法。
- 前記方法は、中間バイアス項を前記マトリクスのDC係数に加算すること、をさらに備えており、また前記中間バイアス値項は、2の12乗に等しい、請求項1に記載の方法。
- 前記変換された係数のマトリックスの変換係数を右シフトすることは前記ピクセルコンポーネント値のマトリクスを生成するために、13個の位置だけ前記変換された係数のマトリクスにおける前記変換された係数の各係数を右シフトすること、を含み、
前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおける前記ピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成すること、をさらに含む、請求項1に記載の方法。 - 前記8×8マトリクスの符号化された係数における各係数をスケーリングすることは、乗算あるいは除算の演算を使用することなく、前記符号化された係数のマトリクスにおける前記係数をスケーリングすること、を備える、請求項1に記載の方法。
- スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、前記符号化された係数の8×8マトリクスにおける各係数をスケーリングするスケーリングモジュールと、
なお、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスに変換するために、固定小数点スケール化された一次元変換の繰り返し適用を使用する逆変換モジュールと;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトする右シフトモジュールと、
なお、前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに対して理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似する;
8×8のピクセルのブロックを出力する出力モジュールと、なお、前記ピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける調節された係数に基づいてピクセルコンポーネント値を含む;
を備えるデバイス。 - 前記逆変換モジュールは、中間係数のマトリクスを作るために、前記固定小数点スケール化された一次元変換を、前記スケーリングされた係数のマトリクスの各行ベクトルに対して適用し、変換された係数のマトリクスを作るために、前記固定小数点スケール化された一次元変換を、前記中間係数のマトリクスの各列ベクトルに対して適用する、請求項17に記載のデバイス。
- 前記出力モジュールは、前記8×8のピクセルのブロックを、ビデオシーケンスにおけるビデオの一部として、表示している、請求項17に記載の装置。
- 前記出力モジュールは、前記8×8のピクセルのブロックを、静止画像の一部として表示している、請求項19に記載の装置。
- 前記スケーリングモジュールは、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングし、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングし、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングし、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングし、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングし、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングし、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングし、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングし、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングし、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングし、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングする、
請求項17に記載のデバイス。 - 前記逆変換モジュールは、
x0とx4を加算することによって、値x0’を計算することと;
x0と−x4を加算することによって、値x4’を計算することと;
x2に値αを乗算することによって、値(x2*α)を計算することと;
x6に値βを乗算することによって、値(x6*β)を計算することと;
x2に前記値βを乗算することによって、値(x2*β)を計算することと;
x6に値αを乗算することによって、値(x6*α)を計算することと;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算することと;
(x6*α)と(x2*β)を加算することによって、値x6’を計算することと;
x0’とx6’を加算することによって、値x0’’を計算することと;
x4’とx2’を加算することによって、値x4’’計算することと;
x4’と−x2’を加算することによって、値x2’’を計算することと;
x0’と−x6’を加算することによって、値x6’’を計算することと;
x1および−x7を加算することによって、値x7’を計算することと;
x1とx7を加算することによって、値x1’を計算することと;
x3と2の平方根を乗算するとによって、値x3’を計算することと;
x5と2の平方根を乗算するとによって、値x5’を計算することと;
x7’とx5’を加算することによって、値x7’’を計算することと;
x1’と−x3’を加算することによって、値x3’’を計算することと;
x7’と−x5’を加算することによって、値x5’’を計算することと;
x3’とx1’を加算することによって、値x1’’を計算することと;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算することと;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算することと;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算することと;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算することと;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算することと;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算することと;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算することと;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算することと;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算することと;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算することと;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算することと;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算することと;
x7’’’とx0を加算することによって、値X0を計算することと;
x4’’とx5’’’を加算することによって、値X1を計算すること;
x2’’とx3’’’を加算することによって、値X2を計算することと;
x6’’とx7’’’を加算することによって、値X3を計算することと;
x6’’と−x1’’’を加算することによって、値X4を計算することと;
x2’’と−x3’’’を加算することによって、値X5を計算することと;
x4’’と−x5’’’を加算することによって、値X6を計算することと;
x0’’と−x1’’’を加算することによって、値X7を計算することと;
によって、行ベクトルあるいは列ベクトルに対して前記変換を適用し、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおける係数であり、
X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
請求項18に記載のデバイス。 - 前記逆変換モジュールは、乗算あるいは除算演算を使用することなく、前記変換を前記係数のマトリクスに対して適用する、請求項22に記載のデバイス。
- 前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1を計算することと、ただし、y1=(x1>>9)−x1;
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算することと;
(y1>>2)からy1を差し引くことによって、値(x1*ε)を計算することと;
を実行することによって、x1と前記値ζによる前記値(x1*ζ)を計算し、x1と前記値εを乗算することによる前記値(x1*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’を計算することと、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって、前記値(x7*ζ)を計算することと;
(y1’>>2)からy1’を差し引くことによって、値(x7*ε)を計算することと;
を実行することによって、x7と前記値ζによる前記値(x7*ζ)を計算し、x7と前記値εを乗算することによる前記値(x7*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’’を計算することと、ただし、y1’’=(x1’’>>9)−x1’’;
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算することと;
(y1’’>>2)からy1’’を差し引くことによって、値(x1’’*ε)を計算することと;
を実行することによって、x1’’と前記値ζによる前記値(x1’’*ζ)を計算し、x1’’と前記値εを乗算することによる前記値(x1’’*ε)を計算する、
また、前記逆変換モジュールは、次のシーケンスの算術演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって、前記値(x7’’*ζ)を計算することと;
(y1’’’>>2)からy1’’’を差し引くことによって、値(x7’’*ε)を計算することと;
を実行することによって、x7’’と前記値ζによる前記値(x7’’*ζ)を計算する、x7’’と前記値εを乗算することによる前記値(x7’’*ε)を計算する、
請求項23に記載のデバイス。 - 前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2を計算することと、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算することと、ただし、y3=y2−(x3>>11);
値(x3*δ)=y2+(y3>>1)を計算することと;
x3からy2を差し引くことによって、値(x3*γ)を計算することと;
を実行することによって、x3と値δを乗算することによる前記値(x3*δ)を計算し、x3と値γを乗算することによる前記値(x3*γ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’を計算することと、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算することと、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、値(x5*δ)を計算することと;
x5からy2’を差し引くことによって、値(x5*γ)を計算することと;
を実行することによって、x5と前記値γを乗算することによる前記値(x5*γ)を計算し、x5と前記値δを乗算することによる前記値(x5*δ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’’を計算することと、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算することと、ただし、y3’’=y2’’−(x3’’>>11);
値(x3’’*δ)=y2’’+(y3’’>>1)を計算することと;
x3’’からy2’’を差し引くことによって、値(x3’’*γ)を計算することと;
を実行することによって、x3’’と値δを乗算することによる前記値(x3’’*δ)を計算し、x3’’と値γを乗算することによる前記値(x3’’*γ)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y2’’’を計算することと、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算することと、ただし、y3’’’=y2’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって値(x5’’*δ)を計算することと;
x5’’からy2’’’を差し引くことによって、値(x5’’*γ)を計算することと;
を実行することによって、x5’’と前記値γを乗算することによる前記値(x5’’*γ)を計算し、x5’’と前記値δを乗算することによる前記値(x5’’*δ)を計算する、
請求項23に記載のデバイス。 - 前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1を計算することと、ただし、y1=x2+(x2>>5);
値y2を計算することと、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算することと;
y1からy2を差し引くことによって、前記値(x2*β)を計算することと;
を実行することによって、x2に前記値βを乗算することによる前記値(x2*β)を計算し、x2に値αを乗算することによる前記値(x2*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’を計算することと、ただし、y1’=x6+(x6>>5);
値y2’を計算することと、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算することと;
y1’からy2’を差し引くことによって、前記値(x6*β)を計算することと;
を実行することによって、x6に前記値βを乗算することによる前記値(x6*β)を計算し、x6に値αを乗算することによる前記値(x6*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’’を計算することと、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算することと、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、値(x2’’*α)を計算することと;
y1’’からy2’’を差し引くことによって、値(x2’’*β)を計算することと;
を実行することによって、x2’’に値βを乗算することによる前記値(x2’’*β)を計算し、x2’’に値αを乗算することによる前記値(x2’’*α)を計算する、
また、前記逆変換モジュールは、次のシーケンスの演算、すなわち、
値y1’’’を計算することと、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算することと、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、値(x6’’*α)を計算することと;
y1’’’からy2’’’を差し引くことによって、値(x6’’*β)を計算することと;
を実行することによって、x6’’と値βを乗算することによる前記値(x6’’*β)を計算し、x6’’と値αを乗算することによる前記値(x6’’*α)を計算する、
請求項23に記載のデバイス。 - 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、請求項22に記載のデバイス。
- Pは10に等しい、請求項27に記載のデバイス。
- 前記デバイスは、前記符号化された係数のマトリクスが導き出されるデータを受け取る、ネットワークインタフェースを備える、請求項17に記載のデバイス。
- 前記デバイスは、DC係数に対して中間バイアス項を加算する係数バイアシングモジュールを備えており、前記中間バイアス項が2の12乗に等しい、請求項17に記載のデバイス。
- 前記右シフトモジュールは前記ピクセルコンポーネント値のマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける前記変換された係数の各係数を右シフトし、
前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおける前記ピクセルコンポーネント値を組み込むことによって、前記ピクセルのブロックを構成するピクセル再構成モジュール、をさらに備える、請求項17に記載のデバイス。 - 前記デバイスは、前記ピクセルのブロックを表示するメディアプレゼンテーションユニット、をさらに備える、請求項17に記載の装置。
- 前記スケーリングモジュールは、乗算あるいは除算の演算を使用することなく、前記係数をスケーリングする、請求項17に記載のデバイス。
- スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJのうちの1つによって、符号化された係数の8×8マトリクスにおける各係数をスケーリングするための手段と、
なお、A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である;
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスへと変換するために、固定小数点スケール化された一次元変換の繰り返し適用を使用するための手段と;
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトするための手段と、
なお、前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに対して理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似する;
8×8のピクセルのブロックを表示するための手段と、なお、前記のピクセルのブロックにおける各ピクセルは、調節された係数の前記マトリクスにおける調節された係数に基づいて、ピクセルコンポーネント値を含んでいる;
を備えるデバイス。 - 前記固定小数点スケール化された一次元変換を繰り返して適用するための前記手段は、
中間係数のマトリクスを作るために、前記固定小数点スケール化された一次元変換をスケーリングされた係数の前記マトリクスの各行ベクトルに対して適用することと、
変換された係数のマトリクスを作るために、前記固定小数点スケール化された一次元変換をスケーリングされた係数の前記マトリクスの各列ベクトルに対して適用することと、
を備える、
請求項34に記載のデバイス。 - 前記8×8のピクセルのブロックを出力するための前記手段は、前記8×8のピクセルのブロックを、ビデオシーケンスにおけるビデオフレームの一部として、表示すること、を備える、請求項34に記載のデバイス。
- 前記8×8のピクセルのブロックを出力するための前記手段は、前記8×8のピクセルのブロックを、静止画像の一部として、表示する、請求項34に記載のデバイス。
- 係数をスケーリングするための前記手段は、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングするための手段と、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングするための手段と、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングするための手段と、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングするための手段と、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングするための手段と、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングするための手段と、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングするための手段と、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングするための手段と、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングするための手段と、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングするための手段と、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングするための手段と、
を備える、
請求項34に記載のデバイス。 - 前記変換を適用するための前記手段は、
x0とx4を加算することによって、値x0’を計算するための手段と;
x0と−x4を加算することによって、値x4’を計算するための手段と;
x2に値αを乗算することによって、値(x2*α)を計算するための手段と;
x6に値βを乗算することによって、値(x6*β)を計算するための手段と;
x2に前記値βを乗算することによって、値(x2*β)を計算するための手段と;
x6に値αを乗算することによって、値(x6*α)を計算するための手段と;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算するための手段と;
(x6*α)と(x2*β)を加算することによって、値x6’を計算するための手段と;
x0’とx6’を加算することによって、値x0’’を計算するための手段と;
x4’とx2’を加算することによって、値x4’’計算するための手段と;
x4’と−x2’を加算することによって、値x2’’を計算するための手段と;
x0’と−x6’を加算することによって、値x6’’を計算するための手段と;
x1および−x7を加算することによって、値x7’を計算するための手段と;
x1とx7を加算することによって、値x1’を計算するための手段と;
x3と2の平方根を乗算するとによって、値x3’を計算するための手段と;
x5と2の平方根を乗算するとによって、値x5’を計算するための手段と;
x7’とx5’を加算することによって、値x7’’を計算するための手段と;
x1’と−x3’を加算することによって、値x3’’を計算するための手段と;
x7’と−x5’を加算することによって、値x5’’を計算するための手段と;
x3’とx1’を加算することによって、値x1’’を計算するための手段と;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算するための手段と;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算するための手段と;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算するための手段と;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算するための手段と;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算するための手段と;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算するための手段と;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算するための手段と;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算するための手段と;
(x7’’*ε)と―(x1’’*ζ)を加算することによって、値x7’’’を計算するための手段と;
(x3’’*γ)と―(x5’’*δ)を加算することによって、値x3’’’を計算するための手段と;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算するための手段と;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算するための手段と;
x7’’’とx0’’を加算することによって、値X0を計算するための手段と;
x4’’とx5’’’を加算することによって、値X1を計算するための手段と;
x2’’とx3’’’を加算することによって、値X2を計算するための手段と;
x6’’とx7’’’を加算することによって、値X3を計算するための手段と;
x6’’と−x1’’’を加算することによって、値X4を計算するための手段と;
x2’’と−x3’’’を加算することによって、値X5を計算するための手段と;
x4’’と−x5’’’を加算することによって、値X6を計算するための手段と;
x0’’と−x1’’’を加算することによって、値X7を計算するための手段と;
を備え、
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおいて係数であり、
X0,X1,X2,X3,X4,X5,X6,およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
請求項35に記載のデバイス。 - 前記変換の繰り返し適用を使用するための前記手段は、乗算あるいは除算の演算を使用することなく、前記係数のマトリクスへと前記変換を適用する、請求項39に記載のデバイス。
- x1と前記値εを乗算することによる値(x1*ε)を計算するための前記手段と、x1と前記値ζによる前記値(x1*ζ)を計算するための前記手段は、
値y1を計算するための手段と、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算するための手段と;
(y1>>2)からy1を差し引くことによって前記値(x1*ε)を計算するための手段と;
を備え、
x7と前記値εを乗算することによる値(x7*ε)を計算するための前記手段と、x7と前記値ζによる前記(x7*ζ)を計算するための前記手段は、
値y1’を計算するための手段と、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算するための手段と;
(y1’>>2)からy1’を差し引くことによって前記値(x7*ε)を計算するための手段と;
を備え、
x1’’と前記値εを乗算することによる値(x1’’*ε)を計算するための前記手段と、x1’’と前記値ζによる前記値(x1’’*ζ)を計算するための前記手段は、
値y1’’を計算するための手段と、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算するための手段と;
(y1’’>>2)からy1’’を差し引くことによって前記値(x1’’*ε)を計算するための手段と;
を備え、
x7’’と前記値εを乗算することによる値(x7’’*ε)を計算するための前記手段と、x7’’と前記値ζによる前記値(x7’’*ζ)を計算するための前記手段は、
値y1’’’を計算するための手段と、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算するための手段と;
(y1’’’>>2)からy1’’’を差し引くことによって前記値(x7’’*ε)を計算するための手段と;
を備える、
請求項40に記載のデバイス。 - x3と値γを乗算することによる値(x3*γ)を計算するための前記手段と、x3と値δを乗算することによる値(x3*δ)を計算するための前記手段は、
値y2を計算するための手段と、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算するための手段と、ただし、y3=y2−(x3>>11);
前記値(x3*δ)=y2+(y3>>1)を計算するための手段と;
x1からy2を差し引くことによって、前記値(x3*γ)を計算するための手段と;
を備え、
x5と前記値δを乗算することによる値(x5*δ)を計算するための前記手段と、x5と前記値γを乗算することによる値(x5*γ)を計算するための前記手段は、
値y2’を計算するための手段と、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算するための手段と、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、前記値(x5*δ)を計算するための手段と;
x7からy2’を差し引くことによって、前記値(x5*γ)を計算するための手段と;
を備え、
x3’’と値γを乗算することによる値(x3’’*γ)を計算するための前記手段と、x3’’と値δを乗算することによる値(x3’’*δ)を計算するための前記手段は、
値y2’’を計算するための手段と、ただし、y2’’=(x1’’>>3)−(x1’’>>7);
値y3’’を計算するための手段と、ただし、y3’’=y2’’−(x1’’>>11);
前記値(x1’’*δ)=y2’’+(y3’’>>1)を計算するための手段と;
x1’’からy2’’を差し引くことによって、前記値(x1’’*γ)を計算するための手段と;
を備え、
x5’’と前記値δを乗算することによる値(x5’’*δ)を計算するための前記手段と、x5’’と前記値γを乗算することによる値(x5’’*γ)をするための前記手段は、
値y2’’’を計算するための手段と、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算するための手段と、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって前記値(x5’’*δ)を計算するための手段と;
x5’’からy2’’’を差し引くことによって、前記値(x5’’*γ)を計算するための手段と;
を備える、
請求項40に記載のデバイス。 - x2に値αを乗算することによる前記値(x2*α)を計算するための前記手段と、x2に前記値βを乗算することによる前記値(x2*β)を計算するための前記手段は、
値y1を計算するための手段と、ただし、y1’=x2+(x2>>5);
値y2を計算するための手段と、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、前記値(x2*α)を計算するための手段と;
y1からy2を差し引くことによって、前記値(x2*β)を計算するための手段と;
を備え、
x6に値αを乗算することによる前記値(x6*α)を計算するための前記手段と、x6に前記値βを乗算することによる前記値(x6*β)を計算するための前記手段は、
値y1’を計算するための手段と、ただし、y1’=x6+(x6>>5);
値y2’を計算するための手段と、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x2*α)を計算するための手段と;
y1’からy2’を差し引くことによって、前記値(x2*β)を計算するための手段と;
を備え、
x2’’に値αを乗算することによる値(x2’’*α)を計算するための前記手段と、x2’’に値βを乗算することによる値(x2’’*β)を計算するための前記手段は、
値y1’’を計算するための手段と、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算するための手段と、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、前記値(x2’’*α)を計算するための手段と;
y1’’からy2’’を差し引くことによって、前記値(x2’’*β)を計算するための手段と;
を備え、
x6’’と値αを乗算することによる値(x6’’*α)を計算するための前記手段と、x6’’と値βを乗算することによる値(x6’’*β)を計算するための前記手段は、
値y1’’’を計算するための手段と、ただし、y1’’’=x2+(x6’’>>5);
値y2’’’を計算するための手段と、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、前記値(x6’’*α)を計算するための手段と;
y1’’’からy2’’’を差し引くことによって、前記値(x6’’*β)を計算するための手段と;
を備える、
請求項40に記載のデバイス。 - 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、請求項39に記載のデバイス。
- Pは10に等しい、請求項44に記載のデバイス
- 前記デバイスは、前記符号化された係数のマトリクスが導き出される、メディアファイルを受け取るための手段、を備える、請求項34に記載のデバイス。
- 前記デバイスは、中間バイアス項をDC係数に加算するための手段、をさらに備えており、また、前記中間バイアス値項は、2の12乗に等しい、請求項34に記載のデバイス。
- 前記変換された係数のマトリクスにおける変換された係数を右シフトするための手段は前記ピクセルコンポーネントのマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける前記変換された係数の各係数を右シフトするための手段により構成され、
前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値の前記マトリクスにおける前記ピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成するための手段をさらに備える、
請求項34に記載のデバイス。 - 前記デバイスは、前記ピクセルのブロックを表示するための手段、をさらに備える、請求項34に記載のデバイス。
- 前記係数をスケーリングするための前記手段は、乗算あるいは除算の演算を使用することなく、スケーリングする、請求項34に記載のデバイス。
- 実行されたときに、プログラマブルプロセッサに、
符号化された係数の8×8マトリクスを受信させ、
スケーリングされた係数のマトリクスを作るために、ファクタA、ファクタB、ファクタC、ファクタD、ファクタE、ファクタF、ファクタG、ファクタH、ファクタI、あるいはファクタJ(A=1024、B=1138、C=1730、D=1609、E=1264、F=1922、G=1788、H=2923、I=2718、そしてJ=2528である)のうちの1つによって、前記符号化された係数の8×8マトリクスにおける各係数をスケーリングさせ、
前記スケーリングされた係数のマトリクスを変換された係数のマトリクスへと変換するために、固定小数点スケール化された一次元変換の繰り返し適用を使用させ、
調節された係数のマトリクスを作るために、前記変換された係数のマトリクスにおける変換された係数を右シフトさせ、
ディスプレイユニットが8×8のピクセルのブロックを表示させる信号を出力させるインストラクションを記録し、
前記調節された係数のマトリクスにおける各調節された係数は、前記符号化された係数のマトリクスに理想的な二次元逆離散コサイン変換(「IDCT」)を適用することによって作られるであろう値のマトリクスにおいて対応する値を近似し、前記ピクセルのブロックにおける各ピクセルは、前記調節された係数のマトリクスにおける調節された係数に基づいて、ピクセルコンポーネント値を含んでいる、
コンピュータ読取り可能な記録媒体。 - 前記プログラマブルプロセッサに前記固定小数点スケール化された一次元変換の繰り返し適用を使用させる、前記インストラクションは、前記プログラマブルプロセッサに、
中間係数のマトリクスを作るために、前記スケーリングされた係数のマトリクスの各行ベクトルに対して前記変換を適用させ、
変換された係数のマトリクスを作るために、前記中間係数のマトリクスの各列ベクトルに対して前記変換を適用させる、
請求項51に記載のコンピュータ読取り可能な記録媒体。 - 前記プログラマブルプロセッサに、前記ディスプレイユニットに前記8×8のピクセルのブロックを表示させる信号を、出力させる前記インストラクションは、前記プログラマブルプロセッサに、前記ディスプレイユニットにビデオシーケンスにおけるビデオフレームの一部として前記8×8のピクセルのブロックを表示させる信号を、出力させる、請求項51に記載のコンピュータ読取り可能な記録媒体。
- 前記プログラマブルプロセッサが、前記ディスプレイユニットに前記8×8のピクセルのブロックを表示させる信号を、出力させる前記インストラクションは、前記プログラマブルプロセッサに、前記ディスプレイユニットに静止画像の一部として前記8×8のピクセルのブロックを表示させる信号を、出力させる、請求項51に記載のコンピュータ読取り可能な記録媒体。
- 前記プロセッサに前記係数のマトリクスにおける前記係数をスケーリングさせる前記インストラクションは、前記プロセッサに、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,0]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,1]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,2]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,3]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[0,4]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[0,5]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[0,6]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[0,7]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,0]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,1]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,2]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,3]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[1,4]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[1,5]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[1,6]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[1,7]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,0]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,1]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,2]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,3]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[2,4]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[2,5]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[2,6]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[2,7]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,0]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,1]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,2]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,3]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[3,4]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[3,5]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[3,6]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[3,7]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,0]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,1]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,2]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,3]で係数をスケーリングさせ、
前記ファクタAによって前記の符号化された係数のマトリクスの位置[4,4]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[4,5]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[4,6]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[4,7]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,0]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,1]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,2]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,3]で係数をスケーリングさせ、
前記ファクタDによって前記の符号化された係数のマトリクスの位置[5,4]で係数をスケーリングさせ、
前記ファクタJによって前記の符号化された係数のマトリクスの位置[5,5]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[5,6]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[5,7]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,0]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,1]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,2]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,3]で係数をスケーリングさせ、
前記ファクタCによって前記の符号化された係数のマトリクスの位置[6,4]で係数をスケーリングさせ、
前記ファクタIによって前記の符号化された係数のマトリクスの位置[6,5]で係数をスケーリングさせ、
前記ファクタHによって前記の符号化された係数のマトリクスの位置[6,6]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[6,7]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,0]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,1]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,2]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,3]で係数をスケーリングさせ、
前記ファクタBによって前記の符号化された係数のマトリクスの位置[7,4]で係数をスケーリングさせ、
前記ファクタGによって前記の符号化された係数のマトリクスの位置[7,5]で係数をスケーリングさせ、
前記ファクタFによって前記の符号化された係数のマトリクスの位置[7,6]で係数をスケーリングさせ、
前記ファクタEによって前記の符号化された係数のマトリクスの位置[7,7]で係数をスケーリングさせる、
請求項51に記載のコンピュータ読取り可能な記録媒体。 - 前記プロセッサに行ベクトルあるいは列ベクトルのいずれかに前記変換を適用させる前記インストラクションは、前記プロセッサに、
x0とx4を加算することによって、値x0’を計算させ;
x0と−x4を加算することによって、値x4’を計算させ;
x2に値αを乗算することによって、値(x2*α)を計算させ;
x6に値βを乗算することによって、値(x6*β)を計算させ;
x2に前記値βを乗算することによって、値(x2*β)を計算させ;
x6に値αを乗算することによって、値(x6*α)を計算させ;
(x2*α)と−(x6*β)を加算することによって、値x2’を計算させ;
(x6*α)と(x2*β)を加算することによって、値x6’を計算させ;
x0’とx6’を加算することによって、値x0’’を計算させ;
x4’とx2’を加算することによって、値x4’’計算させ;
x4’と−x2’を加算することによって、値x2’’を計算させ;
x0’と−x6’を加算することによって、値x6’’を計算させ;
x1と−x7を加算することによって、値x7’を計算させ;
x1とx7を加算することによって、値x1’を計算させ;
x3と2の平方根を乗算するとによって、値x3’を計算させ;
x5と2の平方根を乗算するとによって、値x5’を計算させ;
x7’とx5’を加算することによって、値x7’’を計算させ;
x1’と−x3’を加算することによって、値x3’’を計算させ;
x7’と−x5’を加算することによって、値x5’’を計算させ;
x3’とx1’を加算することによって、値x1’’を計算させ;
x7’’と値εを乗算することによって、値(x7’’*ε)を計算させ;
x7’’と値ζを乗算することによって、値(x7’’*ζ)を計算させ;
x3’’と値γを乗算することによって、値(x3’’*γ)を計算させ;
x3’’と値δを乗算することによって、値(x3’’*δ)を計算させ;
x5’’と前記値δを乗算することによって、値(x5’’*δ)を計算させ;
x5’’と前記値γを乗算することによって、値(x5’’*γ)を計算させ;
x1’’と前記値ζを乗算することによって、値(x1’’*ζ)を計算させ;
x1’’と前記値εを乗算することによって、値(x1’’*ε)を計算させ;
(x7’’*ε)と−(x1’’*ζ)を加算することによって、値x7’’’を計算させ;
(x3’’*γ)と−(x5’’*δ)を加算することによって、値x3’’’を計算させ;
(x5’’*γ)と(x3’’*δ)を加算することによって、値x5’’’を計算させ;
(x1’’*ε)と(x7’’*ζ)を加算することによって、値x1’’’を計算させ;
x7’’’とx0’’を加算することによって、値X0を計算させ;
x4’’とx5’’’を加算することによって、値X1を計算させ;
x2’’とx3’’’を加算することによって、値X2を計算させ;
x6’’とx7’’’を加算することによって、値X3を計算させ;
x6’’と−x1’’’を加算することによって、値X4を計算させ;
x2’’と−x3’’’を加算することによって、値X5を計算させ;
x4’’と−x5’’’を加算することによって、値X6を計算させ;
x0’’と−x1’’’を加算することによって、値X7を計算させる;
x0、x1、x2、x3、x4、x5、x6、x7は、行ベクトルおよび列ベクトルにおいて係数であり X1、X2、X3、X4、X5、X6およびX7は、前記変換の出力値であり、
α=41/128、β=99/128、γ=113/128、δ=719/4096、ε=1533/2048、そしてζ=1/2である、
請求項52に記載のコンピュータ読取り可能な記録媒体。 - 前記インストラクションは、乗算あるいは除算の演算を使用しないで、前記プロセッサに前記行ベクトルのうちの1つあるいは前記列ベクトルのうちの1つにおける係数に対して前記変換を適用させることによって、前記プロセッサに前記変換を適用させる、請求項56に記載のコンピュータ読取り可能な記録媒体。
- 前記プログラマブルプロセッサに、
値y1を計算させ、ただし、y1=(x1>>9)−x1);
1つの位置だけx3を右シフトすることによって、前記値(x1*ζ)を計算させ;
(y1>>2)からy1を差し引くことによって値(x1*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x1と前記値ζによる前記値(x1*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x1と前記値εを乗算することによる前記値(x1*ε)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’を計算させ、ただし、y1’=(x7>>9)−x7;
1つの位置だけx7を右シフトすることによって前記値(x7*ζ)を計算させ;
(y1’>>2)からy1’を差し引くことによって値(x7*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x7と前記値ζによる前記値(x7*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x7と前記値εを乗算することによる前記値(x7*ε)を計算させる、
また、前記インストラクションは、前記プログラマブルプロセッサに、
値y1’’を計算させ、ただし、y1’’=(x1’’>>9)−x1’’);
1つの位置だけx1’’を右シフトすることによって、前記値(x1’’*ζ)を計算させ;
(y1’’>>2)からy1’’を差し引くことによって値(x1’’*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x1’’と前記値ζによる前記値(x1’’*ζ)を計算させ、前記プログラマブルプロセッサに、x1’’と値εを乗算することによる前記値(x1’’*ε)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’’を計算させ、ただし、y1’’’=(x7’’>>9)−x7’’;
1つの位置だけx7’’を右シフトすることによって前記値(x7’’*ζ)を計算させ;
(y1’’’>>2)からy1’’’を差し引くことによって値(x7’’*ε)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x7’’と前記値ζによる前記値(x7’’*ζ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x7’’と前記値εを乗算することによる前記値(x7’’*ε)を計算させる、
請求項57に記載のコンピュータ読取り可能な記録媒体。 - 前記プログラマブルプロセッサに、
値y2を計算させ、ただし、y2=(x3>>3)−(x3>>7);
値y3を計算させ、ただし、y3=y2−(x3>>11);
値(x3*δ)=y2+(y3>>1)を計算させ;
x3からy2を差し引くことによって、値(x3*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x3と値δを乗算することによる前記値(x3*δ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x3と値γを乗算することによる前記値(x3*γ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’を計算させ、ただし、y2’=(x5>>3)−(x5>>7);
値y3’を計算させ、ただし、y3’=y2’−(x5>>11);
y2’と(y3’>>1)を加算することによって、値(x5*δ)を計算させ;
x5からy2’を差し引くことによって、値(x5*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x5と前記値γを乗算することによる前記値(x5*γ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x5と前記値δを乗算することによる前記値(x5*δ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’’を計算させ、ただし、y2’’=(x3’’>>3)−(x3’’>>7);
値y3’’を計算させ、ただし、y3’’=y2’’−(x3’’>>11);
値(x3’’*δ)=y2’’+(y3’’>>1)を計算させ;
x3’’からy2’’を差し引くことによって、値(x3’’*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x3’’と値δを乗算することによる前記値(x3’’*δ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x3’’と値γを乗算することによる前記値(x3’’*γ)を計算させる、
また、前記プログラマブルプロセッサに、
値y2’’’を計算させ、ただし、y2’’’=(x5’’>>3)−(x5’’>>7);
値y3’’’を計算させ、ただし、y3’’’=y2’’’−(x5’’>>11);
y2’’’と(y3’’’>>1)を加算することによって値(x5’’*δ)を計算させ;
x5’’からy2’’’を差し引くことによって、値(x5’’*γ)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x5’’と前記値γを乗算することによる前記値(x5’’*γ)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x5’’と前記値δを乗算することによる前記値(x5’’*δ)を計算させる、
請求項58に記載のコンピュータ読取り可能な記録媒体。 - 前記プログラマブルプロセッサに、
値y1を計算させ、ただし、y1=x2+(x2>>5);
値y2を計算させ、ただし、y2=y1>>2;
y2と(x2>>4)を加算することによって、値(x2*α)を計算させ;
y1からy2を差し引くことによって、値(x2*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x2に値βを乗算することによる前記値(x2*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x2に値αを乗算することによる前記値(x2*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’を計算させ、ただし、y1’=x2+(x6>>5);
値y2’を計算させ、ただし、y2’=y1’>>2;
y2’と(x6>>4)を加算することによって、前記値(x6*α)を計算させ;
y1’からy2’を差し引くことによって、値(x6*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x6に値βを乗算することによる前記値(x6*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x6に値αを乗算することによる値(x6*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’を計算させ、ただし、y1’’=x2’’+(x2’’>>5);
値y2’’を計算させ、ただし、y2’’=y1’’>>2;
y2’’と(x2’’>>4)を加算することによって、値(x2’’*α)を計算させ;
y1’’からy2’’を差し引くことによって、値(x2’’*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x2’’に値βを乗算することによる前記値(x2’’*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x2’’に値αを乗算することによる前記値(x2’’*α)を計算させる、
また、前記プログラマブルプロセッサに、
値y1’’’を計算させ、ただし、y1’’’=x6’’+(x6’’>>5);
値y2’’’を計算させ、ただし、y2’’’=y1’’’>>2;
y2’’’と(x6’’>>4)を加算することによって、値(x6’’*α)を計算させ;
y1’’’からy2’’’を差し引くことによって、値(x6’’*β)を計算させる;
ことによって、前記インストラクションは、前記プログラマブルプロセッサに、x6’’と値βを乗算することによる前記値(x6’’*β)を計算させ、前記インストラクションは、前記プログラマブルプロセッサに、x6’’と値αを乗算することによる前記値(x6’’*α)を計算させる、
請求項58に記載のコンピュータ読取り可能な記録媒体。 - 前記値x0、x1、x2、x3、x4、x5、x6、x7、x0’、x1’、x2’、x3’、x4’、x5’、x6’、x7’、x0’’、x1’’、x2’’、x3’’、x4’’、x5’’、x6’’、x7’’、x1’’’、x3’’’、x5’’’、x7’’’、(x2*α)、(x6*β)、(x2*β)、(x6*α)、(x7’’*ε)、(x7’’*ζ)、(x3’’*γ)、(x3’’*δ)、(x5’’*δ)、(x5’’*γ)、(x1’’*ζ)、そして、(x1’’*ε)は、前記固定小数点数の前記仮数部分においてPビットを含む固定小数点数を使用して、表される、請求項56に記載のコンピュータ読取り可能な記録媒体。
- Pは10に等しい、請求項61に記載のコンピュータ読取り可能な記録媒体。
- 前記インストラクションは、さらに、前記プロセッサに、符号化された係数の前記マトリクスを含むメディアファイルを受信させる、請求項51に記載のコンピュータ読取り可能な記録媒体。
- 前記インストラクションは、さらに、前記プロセッサに、前記マトリクスのDC係数に中間バイアス項を加えさせ、前記中間バイアス値項は、2の12乗と等しい、請求項51に記載のコンピュータ読取り可能な記録媒体。
- 前記インストラクションは、前記プロセッサに、
ピクセルコンポーネントのマトリクスを生成するために、13個の位置だけ、前記変換された係数のマトリクスにおける前記変換係数の各係数を右シフトさせ、前記ピクセルのブロックにおけるピクセルに、前記ピクセルコンポーネント値のマトリクスにおけるピクセルコンポーネント値を組み込むことによって前記ピクセルのブロックを構成させる、請求項51に記載のコンピュータ読取り可能な記録媒体。 - 乗算あるいは除算の演算を使用することなく、前記プロセッサに、前記符号化された係数のマトリクスにおける前記係数をスケーリングさせることによって、前記インストラクションは、前記プロセッサに、前記符号化された係数をスケーリングさせる、請求項51に記載のコンピュータ読取り可能な記録媒体。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81669706P | 2006-06-26 | 2006-06-26 | |
US60/816,697 | 2006-06-26 | ||
US84136206P | 2006-08-30 | 2006-08-30 | |
US60/841,362 | 2006-08-30 | ||
US84719406P | 2006-09-25 | 2006-09-25 | |
US60/847,194 | 2006-09-25 | ||
US82966906P | 2006-10-16 | 2006-10-16 | |
US60/829,669 | 2006-10-16 | ||
US86953006P | 2006-12-11 | 2006-12-11 | |
US60/869,530 | 2006-12-11 | ||
US88393207P | 2007-01-08 | 2007-01-08 | |
US60/883,932 | 2007-01-08 | ||
PCT/US2007/072169 WO2008005757A2 (en) | 2006-06-26 | 2007-06-26 | Efficient fixed-point approximations of forward and inverse discrete cosine transforms |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010505287A JP2010505287A (ja) | 2010-02-18 |
JP5129248B2 true JP5129248B2 (ja) | 2013-01-30 |
Family
ID=38828732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518523A Active JP5129248B2 (ja) | 2006-06-26 | 2007-06-26 | 順方向および逆離散コサイン変換の効率的な固定小数点近似 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP2089812A2 (ja) |
JP (1) | JP5129248B2 (ja) |
KR (1) | KR100963459B1 (ja) |
CN (1) | CN102037729B (ja) |
BR (1) | BRPI0713321B1 (ja) |
CA (1) | CA2654116C (ja) |
TW (1) | TWI336444B (ja) |
WO (1) | WO2008005757A2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959780B (zh) * | 2011-12-15 | 2017-10-13 | 寰发股份有限公司 | 量化电平截取装置及方法 |
KR101395143B1 (ko) | 2013-06-13 | 2014-05-21 | 이노뎁 주식회사 | 영상처리의 정수변환 방법 및 정수변환 장치 |
US10432952B2 (en) * | 2015-11-19 | 2019-10-01 | Qualcomm Incorporated | System and methods for fixed-point approximations in display stream compression (DSC) |
US9870341B2 (en) * | 2016-03-18 | 2018-01-16 | Qualcomm Incorporated | Memory reduction method for fixed point matrix multiply |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754456A (en) * | 1996-03-05 | 1998-05-19 | Intel Corporation | Computer system performing an inverse cosine transfer function for use with multimedia information |
KR20000013653A (ko) * | 1998-08-12 | 2000-03-06 | 이종하 | 정/역 최적화 정수형 여현변환장치 및 그 방법 |
DE10116204A1 (de) * | 2000-08-12 | 2002-02-21 | Bosch Gmbh Robert | Verfahren zur ganzzahligen Approximation von Transformationskoeffizienten sowie Coder und Decoder |
WO2005032117A2 (en) * | 2003-09-24 | 2005-04-07 | Texas Instruments Incorporated | 8x8 transform and quantization |
-
2007
- 2007-06-26 JP JP2009518523A patent/JP5129248B2/ja active Active
- 2007-06-26 CN CN2007800237195A patent/CN102037729B/zh active Active
- 2007-06-26 TW TW096123080A patent/TWI336444B/zh active
- 2007-06-26 KR KR1020087032218A patent/KR100963459B1/ko active IP Right Grant
- 2007-06-26 BR BRPI0713321A patent/BRPI0713321B1/pt active IP Right Grant
- 2007-06-26 EP EP07840291A patent/EP2089812A2/en not_active Withdrawn
- 2007-06-26 WO PCT/US2007/072169 patent/WO2008005757A2/en active Application Filing
- 2007-06-26 CA CA2654116A patent/CA2654116C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TWI336444B (en) | 2011-01-21 |
TW200823694A (en) | 2008-06-01 |
KR20090028736A (ko) | 2009-03-19 |
KR100963459B1 (ko) | 2010-06-17 |
CN102037729A (zh) | 2011-04-27 |
EP2089812A2 (en) | 2009-08-19 |
JP2010505287A (ja) | 2010-02-18 |
BRPI0713321B1 (pt) | 2018-12-04 |
CA2654116A1 (en) | 2008-01-10 |
CN102037729B (zh) | 2013-02-27 |
WO2008005757A3 (en) | 2011-03-10 |
BRPI0713321A2 (pt) | 2012-03-13 |
WO2008005757A2 (en) | 2008-01-10 |
CA2654116C (en) | 2013-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100963458B1 (ko) | 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사 | |
JP5661836B2 (ja) | 逆離散コサイン変換の計算中の誤差の低減 | |
AU748947C (en) | Method and apparatus for inverse quantization of MPEG-4 video | |
RU2439682C2 (ru) | Уменьшение ошибок во время вычисления обратного дискретного косинусного преобразования | |
JP5129248B2 (ja) | 順方向および逆離散コサイン変換の効率的な固定小数点近似 | |
RU2417423C2 (ru) | Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований | |
BRPI0712996A2 (pt) | aproximações eficientes para ponto fixo de transformadas de co-seno discretas, diretas e inversas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120528 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120604 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120730 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120827 |
|
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: 20121002 |
|
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: 20121101 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5129248 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |
|
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 |