JP5620587B2 - ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 - Google Patents
ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 Download PDFInfo
- Publication number
- JP5620587B2 JP5620587B2 JP2013531492A JP2013531492A JP5620587B2 JP 5620587 B2 JP5620587 B2 JP 5620587B2 JP 2013531492 A JP2013531492 A JP 2013531492A JP 2013531492 A JP2013531492 A JP 2013531492A JP 5620587 B2 JP5620587 B2 JP 5620587B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- descaling
- transform
- block
- scaling
- 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
Images
Classifications
-
- 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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
/stage 0
B0 = X0 + X15;B15 = X0 - X15;B1 = X1 + X14;B14 = X1 - X14;B2 = X2 + X13;B13 = X2 - X13;B3 = X3 + X12;B12 = X3 - X12;B4 = X4 + X11;B11 = X4 - X11;B5 = X5 + X10;B10 = X5 - X10;B6 = X6 + X9;B9 = X6 - X9;B7 = X7 + X8;B8 = X7 - X8;
/stage 1
C0 = B0 + B7;C7 = B0 - B7;C1 = B1 + B6;C6 = B1 - B6;C2 = B2 + B5;C5 = B2 - B5;C3 = B3 + B4;C4 = B3 - B4;C10 = ( 45 * ( B13 - B10 ) ) >> 6;C13 = ( 45 * ( B13 + B10 ) ) >> 6;C11 = ( 45 * ( B12 - B11 ) ) >> 6;C12 = ( 45 * ( B12 + B11 ) ) >> 6;
/stage 2
D0 = C0 + C3;D3 = C0 - C3;D8 = B8 + C11;D11 = B8 - C11;D12 = B15 - C12;D15 = B15 + C12;D1 = C1 + C2;D2 = C1 - C2;D9 = B9 + C10;D10 = B9 - C10;D13 = B14 - C13;D14 = B14 + C13;D5 = ( 45 * ( C6 - C5 ) ) >> 6;D6 = ( 45 * ( C6 + C5 ) ) >> 6;
/stage 3
Y0 = ( 45 * ( D0 + D1 ) ) >> 6;Y8 = ( 45 * ( D0 - D1 ) ) >> 6;Y4 = ( 59 * D3 + 24 * D2 ) >> 6;Y12 = ( 24 * D3 - 59 * D2 ) >> 6;E4 = C4 + D5;E5 = C4 - D5;E6 = C7 - D6;E7 = C7 + D6;E9 = ( 24 * D14 - 59 * D9 ) >> 6;E10 = (-59 * D13 - 24 * D10 ) >> 6;E13 = ( 24 * D13 - 59 * D10 ) >> 6;E14 = ( 59 * D14 + 24 * D9 ) >> 6;
/stage 4
Y2 = ( 12 * E4 + 62 * E7 ) >> 6;Y10 = ( 53 * E5 + 35 * E6 ) >> 6;Y6 = ( 53 * E6 - 35 * E5 ) >> 6;Y14 = ( 12 * E7 - 62 * E4 ) >> 6;F8 = D8 + E9;F9 = D8 - E9;F10 = D11 - E10;F11 = D11 + E10;F12 = D12 + E13;F13 = D12 - E13;F14 = D15 - E14;F15 = D15 + E14;
/stage 5
Y1 = ( 6 * F8 + 63 * F15 ) >> 6;Y9 = ( 49 * F9 + 40 * F14 ) >> 6;Y5 = ( 30 * F10 + 56 * F13 ) >> 6;Y13 = ( 61 * F11 + 18 * F12 ) >> 6;Y3 = ( 61 * F12 - 18 * F11 ) >> 6;Y11 = ( 30 * F13 - 56 * F10 ) >> 6;Y7 = ( 49 * F14 - 40 * F9 ) >> 6;Y15 = ( 6 * F15 - 63 * F8 ) >> 6;
}
他の例として、Nが32である場合も、前述したNが16である場合と同様に、32×32サイズのブロックの一次元DCTに利用される32×32変換行列Original_Aを構成する元素を、32個の変数ai(iは、0から31までの整数)に基づいた値に置換して、高速変換行列Aを生成する。再び図2を参照すれば、Nが32である場合、すなわち、32×32サイズの入力ブロックに対する一次元DCTの実行時に、フローグラフ240によって、入力ブロックの32個の行単位及び32個の列単位別に一次元DCTが行われる。32個の入力値をf=[f0,f1,f2,…,f30,f31]T、変換結果値をF=[F0,F1,F2,…,F30,F31]T、フローグラフ240による入力値に対する変換過程を表した変換行列をOriginal_Aとすれば、一次元DCTは、F=Original_Axfで表現される。本発明の一実施形態による変換部120は、32×32変換行列Original_Aを構成する元素の成分cos(π×(i/2)/32)(iは、0から31までの整数)を、有理数である32個の変数aiに置換して、高速変換行列Aを生成する。
/stage 0
A0 = X0 + X31;A31 = X0 - X31;A1 = X1 + X30;A30 = X1 - X30;A2 = X2 + X29;A29 = X2 - X29;A3 = X3 + X28;A28 = X3 - X28;A4 = X4 + X27;A27 = X4 - X27;A5 = X5 + X26;A26 = X5 - X26;A6 = X6 + X25;A25 = X6 - X25;A7 = X7 + X24;A24 = X7 - X24;A8 = X8 + X23;A23 = X8 - X23;A9 = X9 + X22;A22 = X9 - X22;A10 = X10 + X21;A21 = X10 - X21;A11 = X11 + X20;A20 = X11 - X20;A12 = X12 + X19;A19 = X12 - X19;A13 = X13 + X18;A18 = X13 - X18;A14 = X14 + X17;A17 = X14 - X17;A15 = X15 + X16;A16 = X15 - X16;
/stage 1
B0 = A0 + A15;B15 = A0 - A15;B1 = A1 + A14;B14 = A1 - A14;B2 = A2 + A13;B13 = A2 - A13;B3 = A3 + A12;B12 = A3 - A12;B4 = A4 + A11;B11 = A4 - A11;B5 = A5 + A10;B10 = A5 - A10;B6 = A6 + A9;B9 = A6 - A9;B7 = A7 + A8;B8 = A7 - A8;B20 = ( 181*( A27 - A20 ) ) >> 8;B27 = ( 181*( A27 + A20 ) ) >> 8;B21 = ( 181*( A26 - A21 ) ) >> 8;B26 = ( 181*( A26 + A21 ) ) >> 8;B22 = ( 181*( A25 - A22 ) ) >> 8;B25 = ( 181*( A25 + A22 ) ) >> 8;B23 = ( 181*( A24 - A23 ) ) >> 8;B24 = ( 181*( A24 + A23 ) ) >> 8;
/stage 2
C0 = B0 + B7;C7 = B0 - B7;C1 = B1 + B6;C6 = B1 - B6;C2 = B2 + B5;C5 = B2 - B5;C3 = B3 + B4;C4 = B3 - B4;C10 = ( 181*( B13 - B10 ) ) >> 8;C13 = ( 181*( B13 + B10 ) ) >> 8;C11 = ( 181*( B12 - B11 ) ) >> 8;C12 = ( 181*( B12 + B11 ) ) >> 8;C16 = A16 + B23;C23 = A16 - B23;C24 = A31 - B24;C31 = A31 + B24;C17 = A17 + B22;C22 = A17 - B22;C25 = A30 - B25;C30 = A30 + B25;C18 = A18 + B21;C21 = A18 - B21;C26 = A29 - B26;C29 = A29 + B26;C19 = A19 + B20;C20 = A19 - B20;C27 = A28 - B27;C28 = A28 + B27;
/stage 3
D0 = C0 + C3;D3 = C0 - C3;D8 = B8 + C11;D11 = B8 - C11;D12 = B15 - C12;D15 = B15 + C12;D1 = C1 + C2;D2 = C1 - C2;D9 = B9 + C10;D10 = B9 - C10;D13 = B14 - C13;D14 = B14 + C13;D5 = ( 181*( C6 - C5 ) ) >> 8;D6 = ( 181*( C6 + C5 ) ) >> 8;D18 = ( 97*C29 - 236*C18 ) >> 8;D20 = ( - 236*C27 - 97*C20 ) >> 8;D26 = (- 236*C21 + 97*C26 ) >> 8;D28 = ( 97*C19 + 236*C28 ) >> 8;D19 = ( 97*C28 - 236*C19 ) >> 8;D21 = (- 236*C26 - 97*C21 ) >> 8;D27 = (- 236*C20 + 97*C27 ) >> 8;D29 = ( 97*C18 + 236*C29 ) >> 8;
/stage 4
Y0 = ( 181*( D0 + D1 ) ) >> 8;Y16 = ( 181*( D0 - D1 ) ) >> 8;Y8 = ( 236*D3 + 97*D2 ) >> 8;Y24 = ( 97*D3 - 236*D2 ) >> 8;E4 = C4 + D5;E5 = C4 - D5;E6 = C7 - D6;E7 = C7 + D6;E9 = ( 97*D14 - 236*D9 ) >> 8;E10 =(-236*D13 - 97*D10) >> 8;E13 = (97*D13 - 236*D10 ) >> 8;E14 = ( 236*D14 + 97*D9 ) >> 8;E16 = C16 + D19;E19 = C16 - D19;E20 = C23 - D20;E23 = C23 + D20;E24 = C24 + D27;E27 = C24 - D27;E28 = C31 - D28;E31 = C31 + D28;E17 = C17 + D18;E18 = C17 - D18;E21 = C22 - D21;E22 = C22 + D21;E25 = C25 + D26;E26 = C25 - D26;E29 = C30 - D29;E30 = C30 + D29;
/stage 5
Y4 = ( 49*E4 + 251*E7 ) >> 8;Y20 = ( 212*E5 + 142*E6 ) >> 8;Y12 = ( 212*E6 - 142*E5 ) >> 8;Y28 = ( 49*E7 - 251*E4 ) >> 8;F8 = D8 + E9;F9 = D8 - E9;F10 = D11 - E10;F11 = D11 + E10;F12 = D12 + E13;F13 = D12 - E13;F14 = D15 - E14;F15 = D15 + E14;F17 = ( 49*E30 - 251*E17 ) >> 8;F18 = ( - 251*E29 - 49*E18 ) >> 8;F21 = ( 212*E26 - 142*E21 ) >> 8;F22 = ( - 142*E25 - 212*E22 ) >> 8;F25 = ( 212*E25 - 142*E22 ) >> 8;F26 = ( 142*E26 + 212*E21 ) >> 8;F29 = ( 49*E29 - 251*E18 ) >> 8;F30 = ( 251*E30 + 49*E17 ) >> 8;
/stage 6
Y2 = ( 25*F8 + 254*F15 ) >> 8;Y18 = ( 197*F9 + 162*F14 ) >> 8;Y10 = ( 120*F10 + 225*F13 ) >> 8;Y26 = ( 244*F11 + 74*F12 ) >> 8;Y6 = ( 244*F12 - 74*F11 ) >> 8;Y22 = ( 120*F13 - 225*F10 ) >> 8;Y14 = ( 197*F14 - 162*F9 ) >> 8;Y30 = ( 25*F15 - 254*F8 ) >> 8;G16 = E16 + F17;G17 = E16 - F17;G18 = E19 - F18;G19 = E19 + F18;G20 = E20 + F21;G21 = E20 - F21;G22 = E23 - F22;G23 = E23 + F22;G24 = E24 + F25;G25 = E24 - F25;G26 = E27 - F26;G27 = E27 + F26;G28 = E28 + F29;G29 = E28 - F29;G30 = E31 - F30;G31 = E31 + F30;
/stage 7
Y1 = ( 12*G16 + 255*G31 ) >> 8;Y17 = ( 189*G17 + 171*G30 ) >> 8;Y9 = ( 109*G18 + 231*G29 ) >> 8;Y25 = ( 241*G19 + 86*G28 ) >> 8;Y5 = ( 62*G20 + 248*G27 ) >> 8;Y21 = ( 219*G21 + 131*G26 ) >> 8;Y13 = ( 152*G22 + 205*G25 ) >> 8;Y29 = ( 253*G23 + 37*G24 ) >> 8;Y3 = ( 253*G24 - 37*G23 ) >> 8;Y19 = ( 152*G25 - 205*G22 ) >> 8;Y11 = ( 219*G26 - 131*G21 ) >> 8;Y27 = ( 62*G27 - 248*G20 ) >> 8;Y7 = ( 241*G28 - 86*G19 ) >> 8;Y23 = ( 109*G29 - 231*G18 ) >> 8;Y15 = ( 189*G30 - 171*G17 ) >> 8;Y31 = ( 12*G31 - 255*G16 ) >> 8;
}
前述したように、本発明の他の実施形態による変換部120は、DCTに利用される元素に2^nを乗じた後で四捨五入することによって、高速変換行列を生成する。具体的に、一次元DCTに利用される変換行列Original_Aを構成する元素に2^n(nは、整数)を乗じた後で四捨五入する次の数式;A=round(Original_A*2^n)によって、DCT行列Original_Aの元素の値を変換して、高速変換行列Aを生成する。
/stage 0
A0 = X0 + X15;A1 = X1 + X14; A2 = X2 + X13;A3 = X3 + X12;A4 = X4 + X11;A5 = X5 + X10;A6 = X6 + X9;A7 = X7 + X8;A8 = X7 - X8;A9 = X6 - X9;A10 = X5 - X10;A11 = X4 - X11;A12 = X3 - X12;A13 = X2 - X13;A14 = X1 - X14;A15 = X0 - X15;
/stage 1
B0 = A0 + A7;B7 = A0 - A7;B1 = A1 + A6;B6 = A1 - A6;B2 = A2 + A5;B5 = A2 - A5;B3 = A3 + A4;B4 = A3 - A4;
B8 = (49*A8 + 40*A15) >> 6;B15 = (-40*A8 + 49*A15) >> 6;B9 = (30*A9 - 56*A14) >> 6;B14 = (56*A9 + 30*A14) >> 6;B10 = (61*A10 + 18*A13) >> 6;B13 = (-18*A10 + 61*A13) >> 6;B11 = (6*A11 - 63*A12) >> 6;B12 = (63*A11 + 6*A12) >> 6;
/stage 2
C0 = B0 + B3;C3 = B0 - B3;C1 = B1 + B2;C2 = B1 - B2;
C4 = (6*B4 + 31*B7, 5);C7 = (-31*B4 + 6*B7, 5);C5 = (35*B5 + 53*B6) >> 6;C6 = (-53*B5 + 35*B6) >> 6;
C8 = B8 + B11;C11 = B8 - B11;C9 = B9 + B10;C10 = B9 - B10;
C12 = B12 + B15;C15 = B12 - B15;C13 = B13 + B14;C14 = B13 - B14;
/stage 3
D0 = (45*(C0 + C1)) >> 6;D1 = (45*(-C0 + C1)) >> 6;
D2 = (24*C2 + 59*C3) >> 6;D3 = (-59*C2 + 24*C3) >> 6;
D4 = C4 + C5;D5 = C4 - C5;D6 = -C6 + C7;D7 = C6 + C7;
D8 = C8 + C14;D14 = C8 - C14;D9 = C9 + C15;D15 = C9 - C15;D10 = C10 + C11; D11 = C10 - C11;D12 = C12 + C13;D13 = C12 - C13;
/stage 4
E5 = (45*(D5 + D7)) >> 6;E7 = (45*(-D5 + D7)) >> 6;
E8 = (24*D8 - 59*D9) >> 6;E9 = (59*D8 + 24*D9) >> 6;
E11 = (45*(D11 + D12)) >> 6;E12 = (45*(-D11 + D12)) >> 6;
E14 = (24*D14 - 59*D15) >> 6;E15 = (59*D14 + 24*D15) >> 6;
/stage 5
Y0 = D0;Y8 = -D1;Y4 = D2;Y12 = D3;Y2 = D4;Y6 = E5;Y14 = D6;Y10 = -E7;Y3 = E8;Y13 = E9;Y9 = D10;Y15 = E11;Y1 = E12;Y7 = D13;Y11 = -E14;Y5 = E15;
}
一方、本発明の他の実施形態による量子化部130は、変換ブロックに所定のスケーリング定数を乗じて、スケーリングを行う。具体的に、量子化部130は、スケーリング定数QMat及びシフト演算を適用して、N×N変換ブロックに対するスケーリング及び量子化を同時に行う。量子化及びスケーリングは、スケーリング定数QMatと、N×N変換ブロックとを乗じた値に、所定のオフセットを加えた値を、次の数式;q=floor(QP/6)+mのqビットほど、ビットシフト演算することによって行われる。Zijを量子化された係数値、Wijを変換係数、fをオフセットとすれば、
スケーリング定数QMatiは、前記の例に限定されず、±1,±2の範囲内で調節される。すなわち、前述した例に限定されず、スケーリング定数QMatiは、QMati±1,QMati±2の範囲内で調節される。
スケーリング定数Qmatiは、前記の例に限定されず、±1,±2の範囲内で調節される。すなわち、前述した例に限定されず、スケーリング定数QMatiは、QMati±1,QMati±2の範囲内で調節される。一例として、QMat0=40,QMat1=45,QMat2=51,QMat3=57,QMat4=64;QMat5=72が、スケーリング定数Qmatiとして利用される。
デスケーリング定数DQmatiは、前記の例に限定されず、±1,±2の範囲内で調節される。すなわち、前述した例に限定されず、デスケーリング定数DQMatiは、DQMati±1,DQMati±2の範囲内で調節される。
デスケーリング定数DQmatiは、前記の例に限定されず、±1,±2の範囲内で調節される。すなわち、前述した例に限定されず、デスケーリング定数DQMatiは、DQMati±1,DQMati±2の範囲内で調節される。一例として、DQMat0=40,DQMat1=45,DQMat2=51,DQMat3=57,DQMat4=64;QMat5=72が、デスケーリング定数DQMatiとして利用される。
ステップ1030で、量子化部130は、一次元DCTに利用されるN×N変換行列と、高速変換行列との差値を補正するために、N×N変換ブロックに対するスケーリングを行う。前述したように、量子化部130は、変換部120で高速変換行列Aを利用した変換結果値と、実際の浮動小数点演算に基づいたDCT行列Original_Aを利用した変換結果値との誤差値を減少させるために、量子化パラメータQPによって決定されるスケーリング行列MFまたはスケーリング定数QMatを適用して、変換ブロックに対するスケーリングを行う。
/stage 0
F8 = ( 6*X1 - 63*X15 ) >> 6;F9 = ( 49*X9 - 40*X7 ) >> 6;F10 = ( 30*X5 - 56*X11 ) >> 6;F11 = ( 61*X13 - 18*X3 ) >> 6;F12 = ( 61*X3 + 18*X13 ) >> 6;F13 = ( 30*X11 + 56*X5 ) >> 6;F14 = ( 49*X7 + 40*X9 ) >> 6;F15 = ( 6*X15 + 63*X1 ) >> 6;
/stage 1
E4 = ( 12*X2 - 62*X14 ) >> 6;E5 = ( 53*X10 - 35*X6 ) >> 6;E6 = ( 53*X6 + 35*X10 ) >> 6;E7 = ( 12*X14 + 62*X2 ) >> 6;E8 = F8 + F9;E9 = F8 - F9;E10 = F11 - F10;E11 = F11 + F10;E12 = F12 + F13;E13 = F12 - F13;E14 = F15 - F14;E15 = F15 + F14;
/stage 2
D0 = ( 45*( X0 + X8 ) ) >> 6;D1 = ( 45*( X0 - X8 ) ) >> 6;D2 = ( 24*X4 - 59*X12 ) >> 6;D3 = ( 59*X4 + 24*X12 ) >> 6;D4 = E4 + E5;D5 = E4 - E5;D6 = E7 - E6;D7 = E7 + E6;D9 = ( 24*E14 - 59*E9 ) >> 6;D10 = ( - 59*E13 - 24*E10 ) >> 6;D13 = ( 24*E13 - 59*E10 ) >> 6;D14 = ( 59*E14 + 24*E9 ) >> 6;
/stage 3
C0 = D0 + D3;C3 = D0 - D3;C8 = E8 + E11;C11 = E8 - E11;C12 = E15 - E12;C15 = E15 + E12;C1 = D1 + D2;C2 = D1 - D2;C9 = D9 + D10;C10 = D9 - D10;C13 = D14 - D13;C14 = D14 + D13;C5 = ( 45*( D6 - D5 ) ) >> 6;C6 = ( 45*( D6 + D5 ) ) >> 6;
/stage 4
B0 = C0 + D7;B7 = C0 - D7;B1 = C1 + C6;B6 = C1 - C6;B2 = C2 + C5;B5 = C2 - C5;B3 = C3 + D4;B4 = C3 - D4;B10 = ( 45*( C13 - C10 ) ) >> 6;B13 = ( 45*( C13 + C10 ) ) >> 6;B11 = ( 45*( C12 - C11 ) ) >> 6;B12 = ( 45*( C12 + C11 ) ) >> 6;
/stage 5
Y0 = B0 + C15;Y15 = B0 - C15;Y1 = B1 + C14;Y14 = B1 - C14;Y2 = B2 + B13;Y13 = B2 - B13;Y3 = B3 + B12;Y12 = B3 - B12;Y4 = B4 + B11;Y11 = B4 - B11;Y5 = B5 + B10;Y10 = B5 - B10;Y6 = B6 + C9;Y9 = B6 - C9;Y7 = B7 + C8;Y8 = B7 - C8;
}
また、前述した図2のフローグラフによって、変換された32×32変換ブロックの逆DCT過程は、Xi(iは、0から31までの整数)が入力値、Ai,Bi,Ci,Di,Ei,Fiが中間値、Yiが逆変換結果値を表すとする時、次の演算過程のように表現される。
/stage 0
G16 = ( 12*X1 - 255*X31) >> 8;G17 = ( 189*X17 - 171*X15) >> 8;G18 = ( 109*X9 - 231*X23) >> 8;G19 = ( 241*X25 - 86*X7) >> 8;G20 = ( 62*X5 - 248*X27) >> 8;G21 = ( 219*X21 - 131*X11) >> 8;G22 = ( 152*X13 - 205*X19) >> 8;G23 = ( 253*X29 - 37*X3) >> 8;G24 = ( 253*X3 + 37*X29) >> 8;G25 = ( 152*X19 + 205*X13) >> 8;G26 = ( 219*X11 + 131*X21) >> 8;G27 = ( 62*X27 + 248*X5) >> 8;G28 = ( 241*X7 + 86*X25) >> 8;G29 = ( 109*X23 + 231*X9) >> 8;G30 = ( 189*X15 + 171*X17) >> 8;G31 = ( 12*X31 + 255*X1) >> 8;
/stage 1
F8 = ( 25*X2 - 254*X30) >> 8;F9 = ( 197*X18 - 162*X14) >> 8;F10 = ( 120*X10 - 225*X22) >> 8;F11 = ( 244*X26 - 74*X6) >> 8;F12 = ( 244*X6 + 74*X26) >> 8;F13 = ( 120*X22 + 225*X10) >> 8;F14 = ( 197*X14 + 162*X18) >> 8;F15 = ( 25*X30 + 254*X2) >> 8;F16 = G16 + G17;F17 = G16 - G17;F18 = G19 - G18;F19 = G19 + G18;F20 = G20 + G21;F21 = G20 - G21;F22 = G23 - G22;F23 = G23 + G22;F24 = G24 + G25;F25 = G24 - G25;F26 = G27 - G26;F27 = G27 + G26;F28 = G28 + G29;F29 = G28 - G29;F30 = G31 - G30;F31 = G31 + G30;
/stage 2
E4 = ( 49*X4 - 251*X28) >> 8;E5 = ( 212*X20 - 142*X12) >> 8;E6 = ( 212*X12 + 142*X20) >> 8;E7 = ( 49*X28 + 251*X4) >> 8;E8 = F8 + F9;E9 = F8 - F9;E10 = F11 - F10;E11 = F11 + F10;E12 = F12 + F13;E13 = F12 - F13;E14 = F15 - F14;E15 = F15 + F14;E17 = ( 49*F30 - 251*F17) >> 8;E18 = ( - 251*F29 - 49*F18) >> 8;E21 = ( 212*F26 - 142*F21) >> 8;E22 = ( - 142*F25 - 212*F22) >> 8;E25 = ( 212*F25 - 142*F22) >> 8;E26 = ( 142*F26 + 212*F21) >> 8;E29 = ( 49*F29 - 251*F18) >> 8;E30 = ( 251*F30 + 49*F17) >> 8;
/stage 3
D0 = ( 181*( X0 + X16 )) >> 8;D1 = ( 181*( X0 - X16 )) >> 8;D2 = ( 97*X8 - 236*X24) >> 8;D3 = ( 236*X8 + 97*X24) >> 8;D4 = E4 + E5;D5 = E4 - E5;D6 = E7 - E6;D7 = E7 + E6;D9 = ( 97*E14 - 236*E9) >> 8;D10 = (-236*E13 - 97*E10) >> 8;D13 = ( 97*E13 - 236*E10) >> 8;D14 = (236*E14 + 97*E9) >> 8;D16 = F16 + F19;D19 = F16 - F19;D20 = F23 - F20;D23 = F23 + F20;D24 = F24 + F27;D27 = F24 - F27;D28 = F31 - F28;D31 = F31 + F28;D17 = E17 + E18;D18 = E17 - E18;D21 = E22 - E21;D22 = E22 + E21;D25 = E25 + E26;D26 = E25 - E26;D29 = E30 - E29;D30 = E30 + E29;
/stage 4
C0 = D0 + D3;C3 = D0 - D3;C8 = E8 + E11;C11 = E8 - E11;C12 = E15 - E12;C15 = E15 + E12;C1 = D1 + D2;C2 = D1 - D2;C9 = D9 + D10;C10 = D9 - D10;C13 = D14 - D13;C14 = D14 + D13;C5 = ( 181*( D6 - D5 )) >> 8;C6 = ( 181*( D6 + D5 )) >> 8;C18 = ( 97*D29 - 236*D18) >> 8;C20 = (- 236*D27 - 97*D20) >> 8;C26 = (- 236*D21 + 97*D26) >> 8;C28 = ( 97*D19 + 236*D28) >> 8;C19 = ( 97*D28 - 236*D19) >> 8;C21 = (- 236*D26 - 97*D21) >> 8;C27 = (- 236*D20 + 97*D27) >> 8;C29 = ( 97*D18 + 236*D29) >> 8;
/stage 5
B0 = C0 + D7;B7 = C0 - D7;B1 = C1 + C6;B6 = C1 - C6;B2 = C2 + C5;B5 = C2 - C5;B3 = C3 + D4;B4 = C3 - D4;B10 = ( 181*( C13 - C10 )) >> 8;B13 = ( 181*( C13 + C10 )) >> 8;B11 = ( 181*( C12 - C11 )) >> 8;B12 = ( 181*( C12 + C11 )) >> 8;B16 = D16 + D23;B23 = D16 - D23;B24 = D31 - D24;B31 = D31 + D24;B17 = D17 + D22;B22 = D17 - D22;B25 = D30 - D25;B30 = D30 + D25;B18 = C18 + C21;B21 = C18 - C21;B26 = C29 - C26;B29 = C29 + C26;B19 = C19 + C20;B20 = C19 - C20;B27 = C28 - C27;B28 = C28 + C27;
/stage 6
A0 = B0 + C15;A15 = B0 - C15;A1 = B1 + C14;A14 = B1 - C14;A2 = B2 + B13;A13 = B2 - B13;A3 = B3 + B12;A12 = B3 - B12;A4 = B4 + B11;A11 = B4 - B11;A5 = B5 + B10;A10 = B5 - B10;A6 = B6 + C9;A9 = B6 - C9;A7 = B7 + C8;A8 = B7 - C8;A20 = ( 181*( B27 - B20 )) >> 8;A27 = ( 181*( B27 + B20 )) >> 8;A21 = ( 181*( B26 - B21 )) >> 8;A26 = ( 181*( B26 + B21 )) >> 8;A22 = ( 181*( B25 - B22 )) >> 8;A25 = ( 181*( B25 + B22 )) >> 8;A23 = ( 181*( B24 - B23 )) >> 8;A24 = ( 181*( B24 + B23 )) >> 8;
/stage 7
Y0 = A0 + B31;Y31 = A0 - B31;Y1 = A1 + B30;Y30 = A1 - B30;Y2 = A2 + B29;Y29 = A2 - B29;Y3 = A3 + B28;Y28 = A3 - B28;Y4 = A4 + A27;Y27 = A4 - A27;Y5 = A5 + A26;Y26 = A5 - A26;Y6 = A6 + A25;Y25 = A6 - A25;Y7 = A7 + A24;Y24 = A7 - A24;Y8 = A8 + A23;Y23 = A8 - A23;Y9 = A9 + A22;Y22 = A9 - A22;Y10 = A10 + A21;Y21 = A10 - A21;Y11 = A11 + A20;Y20 = A11 - A20;Y12 = A12 + B19;Y19 = A12 - B19;Y13 = A13 + B18;Y18 = A13 - B18;Y14 = A14 + B17;Y17 = A14 - B17;Y15 = A15 + B16;Y16 = A15 - B16;
}
また、前述した図8のフローグラフによって、変換された16×16変換ブロックの逆DCT過程は、Xi(iは、0から15までの整数)が入力値、Ai,Bi,Ci,Di,Eiが中間値、Yiが逆変換結果値を表すとする時、次の演算過程のように表現される。
/stage 0
D0 = X0;D1 = -X8;D2 = X4;D3 = X12;D4 = X2;E5 = X6 ;D6 = X14;E7 = -X10;E8 = X3;E9 = X13;D10 = X9;E11 = X15;E12 = X1;D13 = X7;E14 = -X11;E15 = X5;
/stage 1
D5 = (45*(E5 - E7)) >> 6;D7 = (45*(E5 + E7)) >> 6;
D8 = (24*E8 + 59*E9) >> 6;D9 = (-59*E8 + 24*E9) >> 6;
D11 = (45*(E11 - E12)) >> 6;D12 = (45*(E11 + E12)) >> 6;
D14 = (24*E14 + 59*E15) >> 6;D15 = (-59*E14 + 24*E15) >> 6;
/stage 2
C0 = (45*(D0 - D1)) >> 6;C1 = (45*(D0 + D1)) >> 6;
C2 = (24*D2 - 59*D3) >> 6;C3 = (59*D2 + 24*D3) >> 6;
C4 = D4 + D5;C5 = D4 - D5;C6 = -D6 + D7;C7 = D6 + D7;
C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D10 + D11; C11 = D10 - D11;C12 = D12 + D13;C13 = D12 - D13;
/stage 3
B0 = C0 + C3;B3 = C0 - C3;B1 = C1 + C2;B2 = C1 - C2;
B4 = (6*C4 - 31*C7, 5);B7 = (31*C4 + 6*C7, 5);B5 = (35*C5 - 53*C6) >> 6;B6 = (53*C5 + 35*C6) >> 6;
B8 = C8 + C11;B11 = C8 - C11;B9 = C9 + C10;B10 = C9 - C10;
B12 = C12 + C15;B15 = C12 - C15;B13 = C13 + C14;B14 = C13 - C14;
/stage 4
A0 = B0 + B7;A7 = B0 - B7;A1 = B1 + B6;A6 = B1 - B6;A2 = B2 + B5;A5 = B2 - B5;A3 = B3 + B4;A4 = B3 - B4;
A8 = (49*B8 - 40*B15) >> 6;A15 = (40*B8 + 49*B15) >> 6;A9 = (30*B9 + 56*B14) >> 6;A14 = (-56*B9 + 30*B14) >> 6;A10 = (61*B10 - 18*B13) >> 6;A13 = (18*B10 + 61*B13) >> 6;A11 = (6*B11 + 63*B12) >> 6;A12 = (-63*B11 + 6*B12) >> 6;
/stage 5
Y0 = A0 + A15;Y1 = A1 + A14;Y2 = A2 + A13;Y3 = A3 + A12;Y4 = A4 + A11;Y5 = A5 + A10;Y6 = A6 + A9;Y7 = A7 + A8;Y8 = A7 - A8;Y9 = A6 - A9;Y10 = A5 - A10;Y11 = A4 - A11;Y12 = A3 - A12;Y13 = A2 - A13;Y14 = A1 - A14;Y15 = A0 - A15;
}
また、前述した図8のフローグラフによって、変換された32×32変換ブロックの逆DCT過程は、Xi(iは、0から31までの整数)が入力値、Zi,Ai,Bi,Ci,Di,Ei,Fiが中間値、Yiが逆変換結果値を表すとする時、次の演算過程のように表現される。
/stage 0
D0= X0;E24 = X1;E12 = X2;F16 = -X3;D4 = X4; F31 = X5; E8 = X6; E26 = -X7;D2 = X8; E21 = X9; E15 = X10; F29 = X11;E5 = X12; F18 = -X13; D13 = X14; D22 = X15;D1 = -X16; D25 = X17; D10 = X18; F19 = -X19;E7 = -X20; F28 = -X21 ; E14 = -X22; E20 = -X23;D3 = X24; E27 = -X25; E9 = X26; F30 = -X27;D6 = X28; F17 = -X29 ; E11 = X30; E23 = -X31;
/stage 1
E16 = (251*F16 + 49*F17) >> 8;E17 = (-49*F16 + 251*F17) >> 8;E18 = (212*F18 + 142*F19) >> 8;E19 = (-142*F18 + 212*F19) >> 8;
E28 = (212*F28 + 142*F29) >> 8;E29 = (-142*F28 + 212*F29) >> 8;E30 = (251*F30 + 49*F31) >> 8;E31 = (-49*F30 + 251*F31) >> 8;
/stage 2
D5 = (181*(E5 - E7)) >> 8;D7 = (181*(E5 + E7)) >> 8;
D8 = (97*E8 + 236*E9) >> 8;D9 = (-236*E8 + 97*E9) >> 8;
D11 = (181*(E11 - E12)) >> 8;D12 = (181*(E11 + E12)) >> 8;
D14 = (97*E14 + 236*E15) >> 8;D15 = (-236*E14 + 97*E15) >> 8;
D16 = E16 + E18;C18 = E16 - E18;C17 = E17 + E19;D19 = E17 - E19;
D20 = (236*E20 - 97*E21) >> 8;D21 = (97*E20 + 236*E21) >> 8;D23 = (181*(E23 - E24)) >> 8;D24 = (181*(E23 + E24)) >> 8;D26 = (236*E26 - 97*E27) >> 8;D27 = (97*E26 + 236*E27) >> 8;D28 = - E28 + E30;C30 = E28 + E30;C29 = - E29 + E31;D31 = E29 + E31;
/stage 3
C0 = (181*(D0 - D1)) >> 8;C1 = (181*(D0 + D1)) >> 8;
C2 = (97*D2 - 236*D3) >> 8;C3 = (236*D2 + 97*D3) >> 8;
C4 = D4 + D5;C5 = D4 - D5;C6 = -D6 + D7; C7 = D6 + D7;
C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D10 + D11; C11 = D10 - D11;C12 = D12 + D13;C13 = D12 - D13;
C16 = (181*(D16 - D19)) >> 8;C19 = (181*(D16 + D19)) >> 8;C20 = D20 + D26;C26 = D20 - D26;C21 = D21 + D27;C27 = D21 - D27;C22 = D22 + D23;C23 = D22 - D23;C24 = D24 + D25;C25 = D24 - D25;C28 = (181*(D28 - D31)) >> 8;C31 = (181*(D28 + D31)) >> 8;
/stage 4
B0 = C0 + C3;B3 = C0 - C3;B1 = C1 + C2;B2 = C1 - C2;
B4 = (49*C4 - 251*C7) >> 8;B7 = (251*C4 + 49*C7) >> 8;B5 = (142*C5 - 212*C6) >> 8;B6 = (212*C5 + 142*C6) >> 8;
B8 = C8 + C11;B11 = C8 - C11;B9 = C9 + C10;B10 = C9 - C10;
B12 = C12 + C15;B15 = C12 - C15;B13 = C13 + C14;B14 = C13 - C14;
B16 = C16 + C28;B28 = C16 - C28;B17 = C17 + C29;B29 = C17 - C29;B18 = C18 + C30;B30 = C18 - C30;B19 = C19 + C31;B31 = C19 - C31;
B20 = C20 + C23;B23 = C20 - C23;B21 = C21 + C22;B22 = C21 - C22;
B24 = C24 + C27;B27 = C24 - C27;B25 = C25 + C26;B26 = C25 - C26;
/stage 5
A0 = B0 + B7;A7 = B0 - B7;A1 = B1 + B6;A6 = B1 - B6;A2 = B2 + B5;A5 = B2 - B5;A3 = B3 + B4;A4 = B3 - B4;
A8 = (197*B8 - 162*B15) >> 8;A15 = (162*B8 + 197*B15) >> 8;A9 = (120*B9 + 225*B14) >> 8;A14 = (-225*B9 + 120*B14) >> 8;A10 = (244*B10 - 74*B13) >> 8;A13 = (74*B10 + 244*B13) >> 8;A11 = (25*B11 + 254*B12) >> 8;A12 = (-254*B11 + 25*B12) >> 8;
A16 = B16 + B23;A23 = B16 - B23;A17 = B17 + B22;A22 = B17 - B22;A18 = B18 + B21;A21 = B18 - B21;A19 = B19 + B20;A20 = B19 - B20;
A24 = B24 + B31;A31 = B24 - B31;A25 = B25 + B30;A30 = B25 - B30;A26 = B26 + B29;A29 = B26 - B29;A27 = B27 + B28;A28 = B27 - B28;
/stage 6
Z0 = A0 + A15;Z1 = A1 + A14;Z2 = A2 + A13;Z3 = A3 + A12;Z4 = A4 + A11;Z5 = A5 + A10;Z6 = A6 + A9;Z7 = A7 + A8;Z8 = A7 - A8;Z9 = A6 - A9;Z10 = A5 - A10;Z11 = A4 - A11;Z12 = A3 - A12;Z13 = A2 - A13;Z14 = A1 - A14;Z15 = A0 - A15;
Z16 = (171*A16 + 189*A31) >> 8;Z31 = (-189*A16 + 171*A31) >> 8;Z17 = (205*A17 - 152*A30) >> 8;Z30 = (152*A17 + 205*A30) >> 8;Z18 = (131*A18 + 219*A29) >> 8;Z29 = (-219*A18 + 131*A29) >> 8;Z19 = (231*A19 - 109*A28) >> 8;Z28 = (109*A19 + 231*A28) >> 8;Z20 = (86*A20 + 241*A27) >> 8;Z27 = (-241*A20 + 86*A27) >> 8;Z21 = (248*A21 - 62*A26) >> 8;Z26 = (62*A21 + 248*A26) >> 8;Z22 = (37*A22 + 253*A25) >> 8;Z25 = (-253*A22 + 37*A25) >> 8;Z23 = (255*A23 - 12*A24) >> 8;Z24 = (12*A23 + 255*A24) >> 8;
/stage 7
Y0 = Z0 + Z31;Y31 = Z0 - Z31;Y1 = Z1 + Z30;Y30 = Z1 - Z30;Y2 = Z2 + Z29;Y29 = Z2 - Z29;Y3 = Z3 + Z28;Y28 = Z3 - Z28;Y4 = Z4 + Z27;Y27 = Z4 - Z27;Y5 = Z5 + Z26;Y26 = Z5 - Z26;Y6 = Z6 + Z25;Y25 = Z6 - Z25;Y7 = Z7 + Z24;Y24 = Z7 - Z24;Y8 = Z8 + Z23;Y23 = Z8 - Z23;Y9 = Z9 + Z22;Y22 = Z9 - Z22;Y10 = Z10 + Z21;Y21 = Z10 - Z21;Y11 = Z11 + Z20;Y20 = Z11 - Z20;Y12 = Z12 + Z19;Y19 = Z12 - Z19;Y13 = Z13 + Z18;Y18 = Z13 - Z18;Y14 = Z14 + Z17;Y17 = Z14 - Z17;Y15 = Z15 + Z16;Y16 = Z15 - Z16;
}
図12は、本発明の一実施形態によるビデオ復号化方法を示すフローチャートである。図12を参照すれば、ステップ1210で、逆量子化部1120は、N×Nサイズの量子化された変換ブロックを受信し、ステップ1220で、量子化されたN×N変換ブロックの一次元逆DCTに利用されるN×N逆変換行列と、N×N逆変換行列に基づいて生成された高速逆変換行列との差値を補正するために、N×N変換ブロックに対するデスケーリングを行う。前述したように、デスケーリングは、逆量子化過程と同時に行われ、量子化パラメータQPによって決定されるデスケーリング行列Vまたはデスケーリング定数DQMatを適用して、量子化された変換係数に対するデスケーリングを行う。
Claims (17)
- ビデオの符号化方法において、
所定サイズのブロックの周波数変換に利用される変換行列に基づいて、高速変換行列を生成するステップと、
前記高速変換行列を利用して、前記所定サイズのブロックを変換して、変換ブロックを生成するステップと、
前記周波数変換に利用される変換行列と、前記高速変換行列との差値を補正するために、前記変換ブロックに対するスケーリングを行うステップと、を含むことを特徴とするビデオ符号化方法。 - 前記高速変換行列を生成するステップは、
前記周波数変換に利用される変換行列の元素のうち、三角関数に基づいた値を、分母が2の累乗である有理数に置換して、前記高速変換行列を生成することを特徴とする請求項1に記載のビデオ符号化方法。 - 前記高速変換行列を生成するステップは、
前記周波数変換に利用される変換行列の元素それぞれに所定の定数を乗じた値を四捨五入して、前記高速変換行列を生成することを特徴とする請求項1に記載のビデオ符号化方法。 - 前記変換ブロックはN×N変換ブロックであり、
前記スケーリングを行うステップは、
前記N×N変換ブロックと、所定のスケーリング行列とのベクトル積演算を利用したり、前記N×N変換ブロックに所定のスケーリング定数を乗じて行われることを特徴とする請求項1に記載のビデオ符号化方法。 - 前記スケーリング行列及びスケーリング定数は、量子化パラメータに基づいて決定されることを特徴とする請求項4に記載のビデオ符号化方法。
- 前記量子化パラメータをQPとする時、前記QPが0ないし5であるそれぞれの場合に対応する6個のスケーリング行列及びスケーリング定数が設定され、(QP mod 6)値によって、前記6個のスケーリング行列及びスケーリング定数のうち一つが選択されることを特徴とする請求項5に記載のビデオ符号化方法。
- 前記スケーリング行列は、
所定サイズのM×M(Mは、整数)のブロックのみに対して、前記量子化パラメータQPを基準として、6個のスケーリング行列(MF)を設定し、前記所定サイズのブロックより小さいか、または大きいN×Nブロックに対するスケーリング行列としては、前記M×Mブロックに対して設定されたスケーリング行列の各元素を(M/N)倍したスケーリング行列を利用することを特徴とする請求項4に記載のビデオ符号化方法。 - ビデオの復号化方法において、
所定サイズの量子化された変換ブロックを受信するステップと、
前記量子化された変換ブロックの周波数逆変換に利用される逆変換行列と、前記逆変換行列に基づいて生成される高速逆変換行列との差値を補正するために、前記変換ブロックに対するデスケーリングを行うステップと、
前記高速逆変換行列を利用して、前記デスケーリングされた変換ブロックを逆変換して、逆変換ブロックを生成するステップと、
を含むことを特徴とするビデオ復号化方法。 - 前記高速逆変換行列を生成するステップは、
指標に利用されるN×N逆変換行列の元素のうち、三角関数に基づいた値を、分母が2の累乗である有理数に置換して、前記高速逆変換行列を生成することを特徴とする請求項8に記載のビデオ復号化方法。 - 前記高速逆変換行列を生成するステップは、
指標に利用されるN×N逆変換行列の元素それぞれに2^n(nは、整数)を乗じた値を四捨五入して、前記高速逆変換行列を生成することを特徴とする請求項8に記載のビデオ復号化方法。 - 前記デスケーリングを行うステップは、
前記量子化されたN×N変換ブロックと、所定のデスケーリング行列とのベクトル積演算を利用したり、前記N×N逆変換ブロックに所定のデスケーリング定数を乗じて行われることを特徴とする請求項8に記載のビデオ復号化方法。 - 前記デスケーリング行列及びデスケーリング定数は、量子化パラメータに基づいて決定されることを特徴とする請求項11に記載のビデオ復号化方法。
- 前記デスケーリング行列及びデスケーリング定数は、
前記量子化パラメータをQPとする時、前記QPが0ないし5であるそれぞれの場合に対応する6個のデスケーリング行列及びデスケーリング定数が設定され、(QP mod 6)値によって、前記6個のデスケーリング行列及びデスケーリング定数のうち一つが選択されることを特徴とする請求項12に記載のビデオ復号化方法。 - 前記デスケーリング行列は、
所定サイズのM×Mのブロックのみに対して、前記量子化パラメータQPを基準として、6個のデスケーリング行列を設定し、前記所定サイズのブロックより小さいか、または大きいN×Nブロックに対するデスケーリング行列としては、前記M×Mブロックに対して設定されたデスケーリング行列の各元素を(M/N)倍したデスケーリング行列を利用することを特徴とする請求項13に記載のビデオ復号化方法。 - 前記デスケーリング定数は、
i=(QP mod 6)とする時、デスケーリング定数DQMatiは、DQMat0=40,DQMat1=45,DQMat2=51,DQMat3=57,DQMat4=64,DQMat5=72であることを特徴とする請求項13に記載のビデオ復号化方法。 - ビデオの復号化方法において、
所定サイズの量子化された変換ブロックを受信するステップと、
量子化パラメータに基づき前記量子化された変換ブロックに含まれた変換係数の逆量子化に利用されるデスケーリング定数を決定するステップと、
前記決定されたデスケーリング定数を利用して、前記量子化された変換ブロックに含まれた変換係数をデスケーリングするステップと、
前記デスケーリングされた変換ブロックに対する逆変換を行うステップと、
を含むことを特徴とするビデオ復号化方法。 - 前記デスケーリング定数は、
前記量子化パラメータをQPとする時、前記QPが0〜5であるそれぞれの場合に対応する6つのデスケーリング定数が設定され、i=(QP mod 6)であるとする時、デスケーリング定数(DQMati)はDQMat0=40、DQMat1=45、DQMat2=51、DQMat3=57、DQMat4=64;DQMat5=72であることを特徴とする
請求項16に記載のビデオ復号化方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38712810P | 2010-09-28 | 2010-09-28 | |
US61/387,128 | 2010-09-28 | ||
PCT/KR2011/007165 WO2012044076A2 (ko) | 2010-09-28 | 2011-09-28 | 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014190191A Division JP2014233095A (ja) | 2010-09-28 | 2014-09-18 | ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013542665A JP2013542665A (ja) | 2013-11-21 |
JP5620587B2 true JP5620587B2 (ja) | 2014-11-05 |
Family
ID=45893663
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013531492A Active JP5620587B2 (ja) | 2010-09-28 | 2011-09-28 | ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
JP2014190191A Pending JP2014233095A (ja) | 2010-09-28 | 2014-09-18 | ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014190191A Pending JP2014233095A (ja) | 2010-09-28 | 2014-09-18 | ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
Country Status (8)
Country | Link |
---|---|
US (5) | US9350997B2 (ja) |
EP (2) | EP2624556A4 (ja) |
JP (2) | JP5620587B2 (ja) |
KR (4) | KR101982819B1 (ja) |
CN (3) | CN103125116A (ja) |
AU (1) | AU2011308204A1 (ja) |
BR (2) | BR112013007023A2 (ja) |
WO (1) | WO2012044076A2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824066B2 (en) * | 2011-01-10 | 2017-11-21 | Qualcomm Incorporated | 32-point transform for media data coding |
KR102154964B1 (ko) | 2012-02-29 | 2020-09-10 | 소니 주식회사 | 화상 처리 장치 및 방법, 및 기록 매체 |
US10194158B2 (en) * | 2012-09-04 | 2019-01-29 | Qualcomm Incorporated | Transform basis adjustment in scalable video coding |
US9554152B2 (en) * | 2013-07-12 | 2017-01-24 | Qualcomm Incorporated | Concurrent processing of horizontal and vertical transforms |
EP3355580A4 (en) * | 2015-09-21 | 2019-04-24 | LG Electronics Inc. | METHOD AND DEVICE FOR PROCESSING VIDEO IMAGE SIGNALS USING COEFFICIENT REMOVAL PRESCRIPTION |
EP3355579A4 (en) * | 2015-11-24 | 2018-08-01 | Samsung Electronics Co., Ltd. | Method for encoding/decoding image and device therefor |
WO2017090965A1 (ko) * | 2015-11-24 | 2017-06-01 | 삼성전자 주식회사 | 영상을 부호화/복호화 하는 방법 및 그 장치 |
US10305717B2 (en) | 2016-02-26 | 2019-05-28 | VertoCOMM, Inc. | Devices and methods using the hermetic transform for transmitting and receiving signals using multi-channel signaling |
JP2019101264A (ja) * | 2017-12-04 | 2019-06-24 | シャープ株式会社 | 外部制御装置、音声対話型制御システム、制御方法、およびプログラム |
KR20200032021A (ko) * | 2018-09-17 | 2020-03-25 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN111225206B (zh) * | 2018-11-23 | 2021-10-26 | 华为技术有限公司 | 视频解码方法和视频解码器 |
WO2020251279A1 (ko) * | 2019-06-11 | 2020-12-17 | 엘지전자 주식회사 | 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩 |
WO2020251275A1 (ko) * | 2019-06-11 | 2020-12-17 | 엘지전자 주식회사 | 스케일링 리스트 기반 비디오 또는 영상 코딩 |
WO2021026324A1 (en) * | 2019-08-06 | 2021-02-11 | Op Solutions | Adaptive resolution management prediction rescaling |
KR20220088679A (ko) * | 2019-08-06 | 2022-06-28 | 오피 솔루션즈, 엘엘씨 | 적응적 해상도 관리 예측 재스케일링 |
KR20220088680A (ko) | 2019-08-06 | 2022-06-28 | 오피 솔루션즈, 엘엘씨 | 프레임 타입에 기반한 적응적 해상도 관리의 묵시적 시그널링 |
WO2021026322A1 (en) | 2019-08-06 | 2021-02-11 | Op Solutions | Block-based adaptive resolution management |
CN114902671A (zh) | 2019-11-08 | 2022-08-12 | Op方案有限责任公司 | 用于自适应裁剪的方法和*** |
EP4090030A4 (en) | 2020-01-10 | 2024-01-10 | Lg Electronics Inc. | IMAGE CODING METHOD BASED ON A TRANSFORM AND ASSOCIATED DEVICE |
US20230036126A1 (en) * | 2020-01-10 | 2023-02-02 | Lg Electronics Inc. | Image coding method based on transform, and device therefor |
US20210329267A1 (en) * | 2020-04-17 | 2021-10-21 | Qualcomm Incorporated | Parallelized rate-distortion optimized quantization using deep learning |
WO2022220545A1 (ko) * | 2021-04-12 | 2022-10-20 | 엘지전자 주식회사 | 저주파 비분리 변환 설계 방법 및 장치 |
WO2022265415A1 (ko) * | 2021-06-16 | 2022-12-22 | 엘지전자 주식회사 | 저주파 비분리 변환 설계 방법 및 장치 |
CN116366867A (zh) * | 2021-12-28 | 2023-06-30 | 中国电信股份有限公司 | 数据变换与恢复方法、装置、***、电子设备及存储介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539836A (en) * | 1991-12-20 | 1996-07-23 | Alaris Inc. | Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment |
EP0735772A3 (en) * | 1995-03-27 | 1998-04-01 | Hewlett-Packard Company | Method for selecting JPEG quantization tables for low bandwidth applications |
US6134270A (en) * | 1997-06-13 | 2000-10-17 | Sun Microsystems, Inc. | Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
US7082450B2 (en) * | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
CN1306818C (zh) | 2003-06-27 | 2007-03-21 | 中国科学院计算技术研究所 | 一种用于编码处理的8输入/输出的整数变换/反变换方法 |
US7298925B2 (en) * | 2003-09-30 | 2007-11-20 | International Business Machines Corporation | Efficient scaling in transform domain |
US20050074062A1 (en) * | 2003-10-06 | 2005-04-07 | Sung Chih-Ta Star | Fast DCT method and apparatus for digital video compression |
US7756351B2 (en) * | 2003-12-19 | 2010-07-13 | Stmicroelectronics, Inc. | Low power, high performance transform coprocessor for video compression |
US7487193B2 (en) * | 2004-05-14 | 2009-02-03 | Microsoft Corporation | Fast video codec transform implementations |
US7606427B2 (en) * | 2004-07-08 | 2009-10-20 | Qualcomm Incorporated | Efficient rate control techniques for video encoding |
CN1286322C (zh) * | 2004-08-06 | 2006-11-22 | 联合信源数字音视频技术(北京)有限公司 | 一种低复杂度整数4×4离散余弦变换量化实现方法 |
US7489826B2 (en) * | 2004-10-07 | 2009-02-10 | Infoprint Solutions Company, Llc | Compensating for errors in performance sensitive transformations |
US7558815B2 (en) * | 2004-10-08 | 2009-07-07 | Infoprint Solutions Company Llc | Processing of performance sensitive transforms |
KR100744807B1 (ko) | 2005-07-25 | 2007-08-01 | 매그나칩 반도체 유한회사 | Cmos 이미지센서 및 그 제조방법 |
KR100712531B1 (ko) | 2005-09-10 | 2007-04-27 | 삼성전자주식회사 | Mpeg-2 데이터를 h.264 데이터로변환부호화하는 장치 및 방법 |
US7689052B2 (en) * | 2005-10-07 | 2010-03-30 | Microsoft Corporation | Multimedia signal processing using fixed-point approximations of linear transforms |
US8548265B2 (en) * | 2006-01-05 | 2013-10-01 | Fastvdo, Llc | Fast multiplierless integer invertible transforms |
KR100809686B1 (ko) | 2006-02-23 | 2008-03-06 | 삼성전자주식회사 | 이산 여현 변환을 이용한 영상 리사이징 방법 및 장치 |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
US8059721B2 (en) * | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
EP1850597A1 (en) * | 2006-04-24 | 2007-10-31 | Universität Dortmund | Method and circuit for performing a cordic based Loeffler discrete cosine transformation (DCT), particularly for signal processing |
CN101083768B (zh) * | 2006-06-02 | 2010-04-14 | 三星电子株式会社 | 处理视频数据的编码器和编码方法及解码器和解码方法 |
US8606023B2 (en) * | 2006-06-26 | 2013-12-10 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
KR100899658B1 (ko) | 2007-04-16 | 2009-05-27 | 경희대학교 산학협력단 | 고속 동작을 위한 mpeg2/h.264 디지털 비디오트랜스코딩 시스템 및 방법 |
US8417045B2 (en) * | 2010-07-29 | 2013-04-09 | Infoprint Solutions Company Llc | Mechanism for processing order-16 discrete cosine transforms |
US20120230395A1 (en) * | 2011-03-11 | 2012-09-13 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with quantization matricies |
CA2836161C (en) * | 2011-08-23 | 2017-12-19 | Mediatek Singapore Pte. Ltd. | Method and system of transform block processing according to quantization matrix in video coding |
-
2011
- 2011-09-28 CN CN2011800469748A patent/CN103125116A/zh active Pending
- 2011-09-28 WO PCT/KR2011/007165 patent/WO2012044076A2/ko active Application Filing
- 2011-09-28 CN CN201510598370.4A patent/CN105263028A/zh active Pending
- 2011-09-28 BR BR112013007023A patent/BR112013007023A2/pt not_active Application Discontinuation
- 2011-09-28 EP EP11829582.3A patent/EP2624556A4/en not_active Withdrawn
- 2011-09-28 US US13/876,778 patent/US9350997B2/en active Active
- 2011-09-28 BR BR122020016581-2A patent/BR122020016581B1/pt active IP Right Grant
- 2011-09-28 KR KR1020110098615A patent/KR101982819B1/ko active IP Right Grant
- 2011-09-28 JP JP2013531492A patent/JP5620587B2/ja active Active
- 2011-09-28 CN CN201510856549.5A patent/CN105512093A/zh active Pending
- 2011-09-28 EP EP15185519.4A patent/EP2985700A3/en not_active Ceased
- 2011-09-28 AU AU2011308204A patent/AU2011308204A1/en not_active Abandoned
-
2014
- 2014-09-18 JP JP2014190191A patent/JP2014233095A/ja active Pending
-
2016
- 2016-05-09 US US15/149,931 patent/US9788013B2/en active Active
-
2017
- 2017-09-11 US US15/700,668 patent/US10038918B2/en active Active
-
2018
- 2018-07-02 US US16/025,391 patent/US10455252B2/en active Active
-
2019
- 2019-05-21 KR KR1020190059708A patent/KR102087990B1/ko active IP Right Grant
- 2019-09-05 US US16/561,766 patent/US10743026B2/en active Active
-
2020
- 2020-03-05 KR KR1020200027991A patent/KR102149828B1/ko active IP Right Grant
- 2020-08-25 KR KR1020200107411A patent/KR20200105773A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP2624556A4 (en) | 2016-08-24 |
KR102087990B1 (ko) | 2020-03-11 |
US20160255372A1 (en) | 2016-09-01 |
EP2985700A2 (en) | 2016-02-17 |
CN105512093A (zh) | 2016-04-20 |
AU2011308204A1 (en) | 2013-04-11 |
EP2985700A3 (en) | 2016-08-17 |
CN103125116A (zh) | 2013-05-29 |
BR112013007023A2 (pt) | 2017-07-25 |
KR20190058423A (ko) | 2019-05-29 |
US9788013B2 (en) | 2017-10-10 |
KR101982819B1 (ko) | 2019-05-28 |
US9350997B2 (en) | 2016-05-24 |
WO2012044076A2 (ko) | 2012-04-05 |
KR20200028373A (ko) | 2020-03-16 |
US20180041775A1 (en) | 2018-02-08 |
US20190394490A1 (en) | 2019-12-26 |
WO2012044076A3 (ko) | 2012-06-14 |
US20130188730A1 (en) | 2013-07-25 |
JP2013542665A (ja) | 2013-11-21 |
US10455252B2 (en) | 2019-10-22 |
JP2014233095A (ja) | 2014-12-11 |
CN105263028A (zh) | 2016-01-20 |
EP2624556A2 (en) | 2013-08-07 |
KR20120032458A (ko) | 2012-04-05 |
US10743026B2 (en) | 2020-08-11 |
BR122020016581B1 (pt) | 2022-03-03 |
KR20200105773A (ko) | 2020-09-09 |
KR102149828B1 (ko) | 2020-08-31 |
US10038918B2 (en) | 2018-07-31 |
US20180310026A1 (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5620587B2 (ja) | ビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 | |
JP2013542664A (ja) | 映像変換方法及びその装置、並びに映像逆変換方法及びその装置 | |
EP2103134B1 (en) | System and method for reducing artifacts in images | |
KR20120098499A (ko) | 영상의 변환 방법 및 장치, 및 영상의 역변환 방법 및 장치 | |
KR101480412B1 (ko) | 영상의 변환 방법 및 장치, 역변환 방법 및 장치 | |
Nosratinia et al. | Interframe coding of magnetic resonance images | |
AU2016234944B2 (en) | Video encoding method and device and decoding method and device | |
CN107181963A (zh) | 一种视频压缩方法及装置 | |
KR20110118598A (ko) | 영상의 변환 방법 및 장치, 역변환 방법 및 장치 | |
JP4806464B2 (ja) | 画像圧縮装置、画像圧縮方法、画像復元装置、及びプログラム | |
AU2015221483A1 (en) | Video encoding method and device and decoding method and device | |
JP2005168030A (ja) | デジタル動画像の処理方法および装置 | |
JP2005535263A (ja) | 符号化器内のデータを伝達する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140128 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140508 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140528 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140605 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140627 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140728 |
|
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: 20140819 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5620587 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |