JP2013542664A - 映像変換方法及びその装置、並びに映像逆変換方法及びその装置 - Google Patents

映像変換方法及びその装置、並びに映像逆変換方法及びその装置 Download PDF

Info

Publication number
JP2013542664A
JP2013542664A JP2013531491A JP2013531491A JP2013542664A JP 2013542664 A JP2013542664 A JP 2013542664A JP 2013531491 A JP2013531491 A JP 2013531491A JP 2013531491 A JP2013531491 A JP 2013531491A JP 2013542664 A JP2013542664 A JP 2013542664A
Authority
JP
Japan
Prior art keywords
stage
matrix
conversion
transform
block
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.)
Pending
Application number
JP2013531491A
Other languages
English (en)
Inventor
ホン,ユン−ミ
ハン,ウ−ジン
リ,タミー
チョン,ミン−ス
セレギン,ヴァディム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013542664A publication Critical patent/JP2013542664A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Discrete Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Image Processing (AREA)
  • Peptides Or Proteins (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)
  • Magnetic Record Carriers (AREA)
  • Prostheses (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Steroid Compounds (AREA)

Abstract

映像変換方法及びその装置、並びに映像逆変換方法及びその装置を提供する。M×N入力ブロックの周波数変換のための所定の周波数領域を選択し、M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得し、縮小された変換行列を、M×N入力ブロックに適用して、周波数変換を行うことによって、選択された周波数領域に対応する変換係数を生成する映像変換方法である。

Description

本発明は、映像の符号化、復号化方法及びその装置に係り、特にブロックの低周波数帯域のみを処理することによって、演算複雑度を低減させる映像の変換、逆変換方法及びその装置に関する。
H.264及びMPEG−4のような現在の国際ビデオコーディング標準において、ビデオ信号は、シーケンス、フレーム、スライス、マクロブロック及びブロックに階層的に分割され、ブロックは、最小処理ユニットとなる。エンコーディングの側面において、イントラ・フレームまたはインター・フレームの予測を通じて、ブロックの予測残留エラーが獲得され、ブロック変換は、エネルギーが小数の係数に集中するように実行され、量子化、スキャニング、ランレングスコーディング(Run Length Coding)及びエントロピーコーディングを通じて、イメージデータは圧縮され、コーディングされたビットストリームとして記録される。デコーディングの側面において、処理手続きは逆になる。まず、エントロピーコーディングのブロック変換係数が、ビートストリームから抽出される。次いで、逆量子化及び逆変換を通じて、ブロックの予測残留エラーは再構成され、予測情報は、ブロックのビデオデータを再構成するために使われる。エンコーディング・デコーディング処理手続きにおいて、変換モジュールは、ビデオ圧縮のベースであり、変換性能は、コーデックの一般的な性能に直接的に影響を与える。
離散コサイン変換(Discrete Cosine Transform: DCT)は、MPEG−1及びH.261のような初期のビデオコーディング標準で採択された。1974年DCTが提案された後、DCTは、イメージ及びビデオコーディング分野で広く使われた。変換ドメイン内のイメージ要素の相関性を除去し、高効率のイメージ圧縮のためのベースを設けるので、DCTの変換性能は、全ての次善変換(sub-optimal transform)のうち優秀である。しかし、DCT行列は、浮動小数点数で表現されるので、大量の浮動小数点計算によって、多くのシステム資源が消耗される。変換効率を改善する一方、大きいサイズのブロックに対する変換を行うために、新たなDCTアルゴリズムの必要性が高くなった。
本発明が解決しようとする課題は、低周波数帯域に属する変換係数を、少ない演算過程を通じて生成するための映像変換方法及びその装置、並びに映像逆変換方法及びその装置を提供することである。
本発明の一実施形態によれば、既存の変換行列を縮小した縮小変換行列を利用して、所定の周波数帯域の変換係数を抽出する。
本発明によれば、選択された低周波数帯域のみに対して変換及び逆変換を行うことによって、変換及び逆変換過程にかかる演算量を減少させることができる。また、本発明によれば、加算、減算及びシフト演算により変換及び逆変換を行うことによって、演算量を減少させることができる。
本発明の一実施形態による映像符号化装置を示すブロック図である。 本発明の一実施形態による映像変換装置の構成を示すブロック図である。 本発明の一実施形態によって、周波数領域選択部で選択された周波数帯域によって、縮小変換行列獲得部が縮小変換行列を獲得する過程を説明するための参照図である。 本発明の一実施形態による4ポイント、8ポイント、16ポイント、32ポイントDCTのフローグラフである。 本発明の他の実施形態による32ポイントDCTのフローグラフである。 図5の32ポイントDCTを構成するバタフライ構造の演算過程を示す参照図である。 本発明の一実施形態による映像変換方法を示すフローチャートである。 本発明の一実施形態による映像復号化装置を示すブロック図である。 本発明の一実施形態による映像逆変換装置の構成を示すブロック図である。 本発明の一実施形態によって、受信された変換ブロックの周波数帯域によって、縮小逆変換行列獲得部が縮小逆変換行列を獲得する過程を説明するための参照図である。 本発明の一実施形態による映像逆変換方法を示すフローチャートである。 本発明の一実施形態によって、選択される周波数帯域の変換係数を示す参照図である。 本発明の一実施形態によって、選択される周波数帯域の変換係数を示す参照図である。
前記課題を解決するための本発明の一実施形態による映像変換方法は、M×N(M及びNは、正の整数)入力ブロックの周波数変換のための所定の周波数領域を選択するステップと、前記M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、前記選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得するステップと、前記縮小された変換行列を、前記M×N入力ブロックに適用して、周波数変換を行うことによって、前記選択された周波数領域に対応する変換係数を生成するステップと、を含むことを特徴とする。
本発明の一実施形態による映像変換装置は、M×N(M及びNは、正の整数)入力ブロックの周波数変換のための所定の周波数領域を選択する周波数領域選択部と、前記M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、前記選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得する縮小変換行列獲得部と、前記縮小された変換行列を、前記M×N入力ブロックに適用して、周波数変換を行うことによって、前記選択された周波数領域に対応する変換係数を生成する周波数変換部と、を備えることを特徴とする。
本発明の一実施形態による映像逆変換方法は、M×N(M及びNは、正の整数)ブロックの変換係数のうち、所定の周波数帯域の変換係数を受信するステップと、前記M×Nブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、前記所定の周波数帯域の変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得するステップと、前記縮小された逆変換行列を、前記所定の周波数帯域の変換係数に適用して、周波数逆変換を行うことによって、前記M×Nブロックを復元するステップと、を含むことを特徴とする。
本発明の一実施形態による映像逆変換装置は、M×N(M及びNは、正の整数)ブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、所定の周波数帯域の変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得する縮小逆変換行列獲得部と、前記縮小された逆変換行列を、前記所定の周波数帯域の変換係数に適用して、周波数逆変換を行うことによって、前記M×Nブロックを復元する逆変換部と、を備えることを特徴とする。
以下、添付された図面を参照して、本発明の望ましい実施形態について具体的に説明する。
図1は、本発明の一実施形態による映像符号化装置を示すブロック図である。図1を参照すれば、本発明の一実施形態による映像符号化装置100は、予測部110、減算部115、変換部120、量子化部130及びエントロピー符号化部140を備える。
予測部110は、入力映像を所定のサイズのブロックに分割し、分割された各ブロックに対して、インター予測またはイントラ予測を通じて、予測ブロックを生成する。具体的に、予測部110は、以前に符号化された後で復元された参照ピクチャーの所定の探索範囲内で、現在ブロックと類似した領域を指す動きベクトルを生成する動き予測及び補償過程を通じて、予測ブロックを生成するインター予測、及び現在ブロックに隣接した周辺ブロックのデータを利用して、予測ブロックを生成するイントラ予測を行う。
減算部115は、現在ブロックの予測ブロックを、原映像データから減算したレジデュアルを生成する。
変換部120は、レジデュアルを周波数領域に変換する。特に、本発明の実施形態では、既存の4×4、8×8の相対的に小さいサイズに対して定義された離散コサイン変換(Discrete Cosine Transform: DCT)行列を拡張して、16×16以上の大きいサイズのブロックにも適用される。後述するように、本発明の一実施形態による変換部120は、既存のDCTに利用される変換行列の元素を、有理数値に置換することによって、浮動小数点演算ではない整数に基づいた加算、減算及びシフト演算によりDCTを行うことによって、演算の複雑度を低減させる一方、演算速度を速める。また、本発明の一実施形態による変換部120は、DCTに利用される変換行列の元素に2の累乗を乗じた後で四捨五入した元素から構成された変換行列を利用して、DCTを行うことによって、全体的な演算複雑度を低減させることができる。また、本発明の一実施形態による変換部120は、M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、所定の周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得し、縮小された変換行列を適用して変換を行うことによって、変換過程にかかる全体の演算量を減少させる。
量子化部130は、変換されたレジデュアルを量子化する。量子化部130は、変換部120で近似化された変換行列を利用して変換された値と、実際の浮動小数点演算に基づいたDCTを通じて得られた値との誤差値を減少させるために、所定のスケーリングファクタを変換値に適用する。
エントロピー符号化部140は、量子化された映像データに対して可変長符号化を行って、ビットストリームを生成する。
以下、本発明の一実施形態による映像変換について具体的に説明する。
図2は、本発明の一実施形態による映像変換装置の構成を示すブロック図である。図2の映像変換装置200は、図1の変換部120に対応する。図2を参照すれば、映像変換装置200は、周波数領域選択部210、縮小変換行列獲得部220及び周波数変換部230を備える。
周波数領域選択部210は、M×N(M及びNは、正の整数)入力ブロックの周波数変換のための所定の周波数領域を選択する。すなわち、周波数領域選択部210は、入力されたM×N入力ブロックを周波数領域に変換する場合、いかなる周波数帯域の変換係数を生成するかを選択する。一般的に、周波数変換過程を通じて生成された変換ブロックの低周波数帯域は、相対的に大きい値を有し、高周波数帯域は、小さい値を有するので、周波数領域選択部210は、演算過程を減らし、かつ誤差を最小化するために、低周波数帯域を選択することが望ましい。どの範囲の低周波数帯域を選択するかは、符号化側と復号化側で事前に定義された範囲で選択されるか、または変換ブロックの変換係数を分析して、0ではない変換係数を有する周波数帯域を検出することによって選択される。
図12A及び図12Bは、本発明の一実施形態によって、選択される周波数帯域の変換係数を示す参照図である。図12A及び図12Bを参照すれば、周波数領域選択部210は、全体変換ブロック1200のうち、いかなる周波数帯域の変換係数を獲得するかを決定する。例えば、周波数領域選択部210は、全体変換ブロック1200のうち、低周波数帯域の変換係数を抽出するために、図12Aに示したように、DC係数周辺のa×d変換ブロック1210内の変換係数を選択するか、または図12Bに示したように、DC係数を中心として三角形ブロック1220内の変換係数を選択する。図12Aのように、選択された周波数帯域の変換係数についての情報は、a及びdの値をビットストリームに含めて伝送されたり、符号化側と復号化側で事前にa及びdの値が、全体変換ブロック1200のサイズ情報に基づいて設定される。また、図12Bに示したように、三角形ブロック1220を利用する場合、底辺と高さとについての情報cをビットストリームに含めたり、符号化側と復号化側で事前にcの値が設定されもする。また、図12A及び図12Bに示した長方形ブロック1210及び三角形ブロック1220のうちいかなる形態を利用して、変換係数を獲得する低周波数帯域を定義するかについての情報も、所定のシンタックスを利用してビットストリームに含めて伝送される。
縮小変換行列獲得部220は、M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得する。ここで、周波数変換は、DCTであると仮定する。DCTは、整数を使用する方法、浮動小数点演算を使用する方法などがある。かかるDCT方法は、列方向及び行方向にそれぞれ一次元変換行列を適用して行われることが一般的である。
周波数変換部230は、縮小された変換行列を、M×N入力ブロックに適用して、周波数変換を行うことによって、選択された周波数領域に対応する変換係数を生成する。
図3は、本発明の一実施形態によって、周波数領域選択部210で選択された周波数帯域によって、縮小変換行列獲得部220が縮小変換行列を獲得する過程を説明するための参照図である。
図3を参照すれば、M×N入力ブロックを示す行列をX 320、M×Nサイズの垂直変換行列をCf 310、M×Nサイズの水平変換行列をCf 330とすれば、次の数式;Cf*X*Cfによる行列演算を通じて、M×N入力ブロックX 320を周波数領域に変換したM×N変換ブロックY 340を獲得する。
本発明の一実施形態によれば、かかるM×N変換ブロックY 340を構成する全ての変換係数を獲得するものではなく、周波数領域選択部210で選択された所定の周波数帯域の変換係数のみを獲得する。前述したように、周波数領域選択部210は、M×Nサイズの入力ブロックX 320を周波数領域に変換する場合、いかなる周波数帯域の変換係数を生成するかを選択する。図3に示したように、周波数領域選択部210により、低周波数帯域に該当するa×d(aは、Mより小さい正の整数、dは、Nより小さい正の整数)サイズの変換ブロック345が選択されたと仮定する。
低周波数帯域のa×d変換ブロック345を獲得するためには、M×Nサイズの垂直変換行列Cf 310及びM×Nサイズの水平変換行列Cf 330をそのまま適用するものではなく、M×Nサイズの垂直変換行列Cf 310及びM×Nサイズの水平変換行列CfT 330を縮小したa×Nサイズの縮小垂直変換行列MCf 315及びM×dサイズの縮小水平変換行列MCf 335を適用して、次の数式;MCf*X*MCfによる行列演算を通じて、低周波数帯域のa×d変換ブロック345を獲得する。かかる低周波数帯域のa×d変換ブロック345を獲得するために、縮小変換行列獲得部220は、M×Nサイズの垂直変換行列Cf 310のうち、上側のa行に該当する元素を選択して、a×Nサイズの縮小垂直変換行列MCf 315を生成する。また、縮小変換行列獲得部220は、M×Nサイズの水平変換行列Cf 330のうち、左側のd列に該当する元素を選択して、M×dサイズの縮小水平変換行列MCf 335を生成する。例えば、図3に示したように、M及びNを16、a及びdは8であると仮定すれば、縮小変換行列獲得部220は、低周波数帯域の8×8サイズの変換ブロックに該当する変換係数を獲得するために、16×16垂直変換行列のうち、上側の8行のみを選択して、8×16サイズの縮小垂直変換行列を獲得し、16×16水平変換行列のうち、左側の8列のみを選択して、16×8サイズの縮小水平変換行列を獲得する。周波数変換部230は、8×16サイズの縮小垂直変換行列、16×8サイズの縮小水平変換行列、及び16×16入力ブロック間の行列演算を通じて、8×8サイズの変換ブロックを生成する。具体的に、8×16サイズの縮小垂直変換行列を、16×16入力ブロックに適用すれば、8×16サイズの中間値が生成され、8×16サイズの中間値に再び16×8サイズの縮小水平変換行列を適用すれば、最終的に低周波数帯域に該当する8×8サイズの変換行列が獲得される。
一方、垂直変換行列の(i,k)番目(i,kは、整数)に位置した元素の値をAiとすれば、N×N入力ブロックの変換のための垂直変換行列の(i,k)番目の成分Aiは、下記の数式(1)のように定義される。
Figure 2013542664
垂直変換行列と水平変換行列は、互いに二項関係にあるので、水平変換行列の(i,k)番目の成分Biは、垂直変換行列と同様に、コサイン関数を利用した値として表現される。一般的に、変換過程で、かかる変換行列の元素はそのまま利用されず、加算とシフト演算のみで変換過程を行うために、所定のスケーリング係数を乗じた値を利用する。数式(1)では、浮動小数点を利用するDCTである場合を表しているが、DCTは、浮動小数点を利用した変換以外に、固定小数点変換を利用する。変換過程で、所定のスケーリング係数を乗じた値を利用する場合、量子化ステップで、スケーリング係数の値で変換係数を割るデスケーリング過程が付加的に行われる。
図4は、本発明の一実施形態による4ポイント、8ポイント、16ポイント、32ポイントDCTのフローグラフである。図4を参照すれば、f0ないしf31は、一次元変換の入力値を表すと共に、一次元逆変換の出力値となる。f0ないしf31は、一次元変換の出力値を表すと共に、一次元逆変換の入力値となる。変換時に、データ処理方向は、左側から右側であり、逆変換時に、データ処理方向は、右側から左側である。点で交差する二本のラインは、二つの数の加算を表す。各ライン上の値は、当該係数による乗算を表す。cθは、cosθ、sθは、sinθを表し、‘−’は、否定を表す。点線で表示された410は、4ポイント一次元変換のフローグラフ、点線で表示された420は、8ポイント一次元変換のフローグラフ、点線で表示された430は、16ポイント一次元変換のフローグラフ、点線で表示された440は、32ポイント一次元変換のフローグラフを示す。
フローグラフ400に示したように、DCTの短所は、cθ及びsθがθの値によって無理数となるため、演算複雑度が増加するというものである。これによって、入力値が整数であるとしても、最終変換結果値は、無理数にマッピングされる。かかるDCT過程は、ハードウェアで具現する時に複雑度を増加させる。したがって、本発明の一実施形態によれば、DCTに利用される無理数を有理数に置換して、本来のDCTと最大限類似した結果値を有させる整数変換方法を提供する。具体的に、N×N変換行列を構成する元素の成分cos(π×(i/2)/N)(iは、0からN−1までの整数)は、有理数であるN個のai変数に置換される。例えば、N=16の場合、cos0はa0に、cos(π×(1/2)/16)はa1に、cos(π×(2/2)/16)はa2に、cos(π×(3/2)/16)はa3に、cos(π×(4/2)/16)はa4に、cos(π×(5/2)/16)はa5に、cos(π×(6/2)/16)はa6に、cos(π×(7/2)/16)はa7に、cos(π×(8/2)/16)はa8に、cos(π×(9/2)/16)はa9に、cos(π×(10/2)/16)はa10に、cos(π×(11/2)/16)はa11に、cos(π×(12/2)/16)はa12に、cos(π×(13/2)/16)はa13に、cos(π×(14/2)/16)はa14に、cos(π×(15/2)/16)はa15に置換される。変数aiは、有理数であり、かつ分母は、シフト演算が可能な2の累乗形態の値を有することが望ましい。このように、変数aiが2の累乗形態の有理数である制限条件を設定する理由は、分母が2の累乗形態である場合、除算がライトシフト演算(>>)のみを利用して具現されるためである。一例として、Nが16である場合、16個の変数aiは、次の値;a1=63/64,a2=62/64,a3=61/64,a4=59/64,a5=56/64,a6=53/64,a7=49/64,a8=45/64,a9=40/64,a10=35/64,a11=30/64,a12=24/64,a13=18/64,a14=12/64及びa15=6/64を有する。Nが32である場合、32個の変数aiは、次の値;a1=255/256,a2=254/256,a3=253/256,a4=251/256,a5=248/256,a6=244/256,a7=241/256,a8=236/256,a9=231/256,a10=225/256,a11=219/256,a12=212/256,a13=205/256,a14=197/256,a15=189/256,a16=181/256,a17=171/256,a18=162/256,a19=152/256,a20=142/256,a21=131/256,a22=120/256,a23=109/256,a24=97/256,a25=86/256,a26=74/256,a27=62/256,a28=49/256,a29=37/256,a30=25/256及びa31=12/256を有する。
一方、M及びNは32、X0ないしX31は、入力値、Ai,Bi,Ci,Di,Ei,Fi及びGi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数変換部230は、図4のフローグラフ400に基づいて、32×32入力ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、低周波数帯域の16×16変換ブロックを生成する。
{
/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;Y8 = ( 236 * D3 + 97 * 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;Y12 = ( 212 * E6 - 142 * E5 ) >> 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;Y10 = ( 120*F10 + 225*F13 ) >> 8;Y6 = ( 244 * F12 - 74 * F11 ) >> 8;Y14 = ( 197*F14 - 162*F9 ) >> 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;Y9 = ( 109 * G18 + 231 * G29 ) >> 8;Y5 = ( 62 * G20 + 248 * G27 ) >> 8;Y13 = ( 152*G22 + 205*G25 ) >> 8;Y3 = ( 253 * G24 - 37 * G23 ) >> 8;Y11 = ( 219*G26 - 131*G21 ) >> 8;Y7 = ( 241 * G28 - 86 * G19 ) >> 8;Y15 = ( 189*G30 - 171*G17 ) >> 8;Y16 = 0;Y17 = 0;Y18 = 0;Y19 = 0;Y20 = 0;Y21 = 0;Y22 = 0;Y23 = 0;Y24 = 0;Y25 = 0;Y26 = 0;Y27 = 0;Y28 = 0;Y29 = 0;Y30 = 0;Y31 = 0;
}
具体的に、周波数変換部230は、32×32入力ブロックの32個の各列を、入力値X0ないしX31として、前述したポイント変換過程を32回反復的に行って、16×32中間値行列を生成し、16×32中間値行列を構成する16個の各行を、入力値X0ないしX31として、前述したポイント変換過程を16回反復的に行って、16×16変換行列を獲得する。かかる16×16変換行列は、32×32変換行列のうち、低周波数帯域の16×16変換ブロックに対応する。
また、M及びNは64、X0ないしX63は、入力値、Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi及びZi(iは、0から63までの整数)は、中間値、Y0ないしY63は、出力値を表すとする時、周波数変換部320は、64×64入力ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、16×16変換ブロックを生成する。
{
/stage 0
Z0 = X0+X63;Z63 = X0-X63;Z1 = X1+X62;Z62 = X1-X62;Z2 = X2+X61;Z61 = X2-X61;Z3 = X3+X60;Z60 = X3-X60;Z4 = X4+X59;Z59 = X4-X59;Z5 = X5+X58;Z58 = X5-X58;Z6 = X6+X57;Z57 = X6-X57;Z7 = X7+X56;Z56 = X7-X56;Z8 = X8+X55;Z55 = X8-X55;Z9 = X9+X54;Z54 = X9-X54;Z10 = X10+X53;Z53 = X10-X53;Z11 = X11+X52;Z52 = X11-X52;Z12 = X12+X51;Z51 = X12-X51;Z13 = X13+X50;Z50 = X13-X50;Z14 = X14+X49;Z49 = X14-X49;Z15 = X15+X48;Z48 = X15-X48;Z16 = X16+X47;Z47 = X16-X47;Z17 = X17+X46;Z46 = X17-X46;Z18 = X18+X45;Z45 = X18-X45;Z19 = X19+X44;Z44 = X19-X44;Z20 = X20+X43;Z43 = X20-X43;Z21 = X21+X42;Z42 = X21-X42;Z22 = X22+X41;Z41 = X22-X41;Z23 = X23+X40;Z40 = X23-X40;Z24 = X24+X39;Z39 = X24-X39;Z25 = X25+X38;Z38 = X25-X38;Z26 = X26+X37;Z37 = X26-X37;Z27 = X27+X36;Z36 = X27-X36;Z28 = X28+X35;Z35 = X28-X35;Z29 = X29+X34;Z34 = X29-X34;Z30 = X30+X33;Z33 = X30-X33;Z31 = X31+X32;Z32 = X31-X32;
/stage 1
A0 = Z0+Z31;A31 = Z0-Z31;A1 = Z1+Z30;A30 = Z1-Z30;A2 = Z2+Z29;A29 = Z2-Z29;A3 = Z3+Z28;A28 = Z3-Z28;A4 = Z4+Z27;A27 = Z4-Z27;A5 = Z5+Z26;A26 = Z5-Z26;A6 = Z6+Z25;A25 = Z6-Z25;A7 = Z7+Z24;A24 = Z7-Z24;A8 = Z8+Z23;A23 = Z8-Z23;A9 = Z9+Z22;A22 = Z9-Z22;A10 = Z10+Z21;A21 = Z10-Z21;A11 = Z11+Z20;A20 = Z11-Z20;A12 = Z12+Z19;A19 = Z12-Z19;A13 = Z13+Z18;A18 = Z13-Z18;A14 = Z14+Z17;A17 = Z14-Z17;A15 = Z15+Z16;A16 = Z15-Z16;A40 = (724*(Z55-Z40)) >> 10;A55 = (724*(Z55+Z40)) >> 10;A41 = (724*(Z54-Z41)) >> 10;A54 = (724*(Z54+Z41)) >> 10;A42 = (724*(Z53-Z42)) >> 10;A53 = (724*(Z53+Z42)) >> 10;A43 = (724*(Z52-Z43)) >> 10;A52 = (724*(Z52+Z43)) >> 10;A44 = (724*(Z51-Z44)) >> 10;A51 = (724*(Z51+Z44)) >> 10;A45 = (724*(Z50-Z45)) >> 10;A50 = (724*(Z50+Z45)) >> 10;A46 = (724*(Z49-Z46)) >> 10;A49 = (724*(Z49+Z46)) >> 10;A47 = (724*(Z48-Z47)) >> 10;A48 = (724*(Z48+Z47)) >> 10;
/stage 2
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 = (724*(A27-A20)) >> 10;B27 = (724*(A27+A20)) >> 10;B21 = (724*(A26-A21)) >> 10;B26 = (724*(A26+A21)) >> 10;B22 = (724*(A25-A22)) >> 10;B25 = (724*(A25+A22)) >> 10;B23 = (724*(A24-A23)) >> 10;B24 = (724*(A24+A23)) >> 10;B32 = Z32+A47;B47 = Z32-A47;B48 = Z63-A48;B63 = Z63+A48;B33 = Z33+A46;B46 = Z33-A46;B49 = Z62-A49;B62 = Z62+A49;B34 = Z34+A45;B45 = Z34-A45;B50 = Z61-A50;B61 = Z61+A50;B35 = Z35+A44;B44 = Z35-A44;B51 = Z60-A51;B60 = Z60+A51;B36 = Z36+A43;B43 = Z36-A43;B52 = Z59-A52;B59 = Z59+A52;B37 = Z37+A42;B42 = Z37-A42;B53 = Z58-A53;B58 = Z58+A53;B38 = Z38+A41;B41 = Z38-A41;B54 = Z57-A54;B57 = Z57+A54;B39 = Z39+A40;B40 = Z39-A40;B55 = Z56-A55;B56 = Z56+A55;
/stage 3
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 = (724*(B13-B10)) >> 10;C13 = (724*(B13+B10)) >> 10;C11 = (724*(B12-B11)) >> 10;C12 = (724*(B12+B11)) >> 10;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;C36 = (392*B59-946*B36) >> 10;C40 = (-946*B55-392*B40) >> 10;C52 = (-946*B43+392*B52) >> 10;C56 = (392*B39+946*B56) >> 10;C37 = (392*B58-946*B37) >> 10;C41 = (-946*B54-392*B41) >> 10;C53 = (-946*B42+392*B53) >> 10;C57 = (392*B38+946*B57) >> 10;C38 = (392*B57-946*B38) >> 10;C42 = (-946*B53-392*B42) >> 10;C54 = (-946*B41+392*B54) >> 10;C58 = (392*B37+946*B58) >> 10;C39 = (392*B56-946*B39) >> 10;C43 = (-946*B52-392*B43) >> 10;C55 = (-946*B40+392*B55) >> 10;C59 = (392*B36+946*B59) >> 10;
/stage 4
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 = (724*(C6-C5)) >> 10;D6 = (724*(C6+C5)) >> 10;D18 = (392*C29-946*C18) >> 10;D20 = (-946*C27-392*C20) >> 10;D26 = (-946*C21+392*C26) >> 10;D28 = (392*C19+946*C28) >> 10;D19 = (392*C28-946*C19) >> 10;D21 = (-946*C26-392*C21) >> 10;D27 = (-946*C20+392*C27) >> 10;D29 = (392*C18+946*C29) >> 10;D32 = B32+C39;D39 = B32-C39;D40 = B47-C40;D47 = B47+C40;D48 = B48+C55;D55 = B48-C55;D56 = B63-C56;D63 = B63+C56;D33 = B33+C38;D38 = B33-C38;D41 = B46-C41;D46 = B46+C41;D49 = B49+C54;D54 = B49-C54;D57 = B62-C57;D62 = B62+C57;D34 = B34+C37;D37 = B34-C37;D42 = B45-C42;D45 = B45+C42;D50 = B50+C53;D53 = B50-C53;D58 = B61-C58;D61 = B61+C58;D35 = B35+C36;D36 = B35-C36;D43 = B44-C43;D44 = B44+C43;D51 = B51+C52;D52 = B51-C52;D59 = B60-C59;D60 = B60+C59;
/stage 5
Y0 = (724*(D0+D1)) >> 10;
E4 = C4+D5;E5 = C4-D5;E6 = C7-D6;E7 = C7+D6;E9 = (392*D14-946*D9) >> 10;E10 = (-946*D13-392*D10) >> 10;E13 = (392*D13-946*D10) >> 10;E14 = (946*D14+392*D9) >> 10;D15 = D15;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;E34 = (200*D61-1004*D34) >> 10;E35 = (200*D60-1004*D35) >> 10;E36 = (-1004*D59-200*D36) >> 10;E37 = (-1004*D58-200*D37) >> 10;E42 = (851*D53-569*D42) >> 10;E43 = (851*D52-569*D43) >> 10;E44 = (-569*D51-851*D44) >> 10;E45 = (-569*D50-851*D45) >> 10;E50 = (851*D50-569*D45) >> 10;E51 = (851*D51-569*D44) >> 10;E52 = (569*D52+851*D43) >> 10;E53 = (569*D53+851*D42) >> 10;E58 = (200*D58-1004*D37) >> 10;E59 = (200*D59-1004*D36) >> 10;E60 = (1004*D60+200*D35) >> 10;E61 = (1004*D61+200*D34) >> 10;
/stage 6
Y8 = (200*E4+1004*E7) >> 10;
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 = (200*E30-1004*E17) >> 10;F18 = (-1004*E29-200*E18) >> 10;F21 = (851*E26-569*E21) >> 10;F22 = (-569*E25-851*E22) >> 10;F25 = (851*E25-569*E22) >> 10;F26 = (569*E26+851*E21) >> 10;F29 = (200*E29-1004*E18) >> 10;F30 = (1004*E30+200*E17) >> 10;F32 = D32+E35;F33 = D33+E34;F34 = D33-E34;F35 = D32-E35;F36 = D39-E36;F37 = D38-E37;F38 = D38+E37;F39 = D39+E36;F40 = D40+E43;F41 = D41+E42;F42 = D41-E42;F43 = D40-E43;F44 = D47-E44;F45 = D46-E45;F46 = D46+E45;F47 = D47+E44;F48 = D48+E51;F49 = D49+E50;F50 = D49-E50;F51 = D48-E51;F52 = D55-E52;F53 = D54-E53;F54 = D54+E53;F55 = D55+E52;F56 = D56+E59;F57 = D57+E58;F58 = D57-E58;F59 = D56-E59;F60 = D63-E60;F61 = D62-E61;F62 = D62+E61;F63 = D63+E60;
/stage 7
Y4 = (100*F8+1019*F15) >> 10;Y12 = (980*F12-297*F11) >> 10;
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;G33 = (100*F62-1019*F33) >> 10;G34 = (-1019*F61-100*F34) >> 10;G37 = (792*F58-650*F37) >> 10;G38 = (-650*F57-792*F38) >> 10;G41 = (483*F54-903*F41) >> 10;G42 = (-903*F53-483*F42) >> 10;G45 = (980*F50-297*F45) >> 10;G46 = (-297*F49-980*F46) >> 10;G49 = (980*F49-297*F46) >> 10;G50 = (297*F50+980*F45) >> 10;G53 = (483*F53-903*F42) >> 10;G54 = (903*F54+483*F41) >> 10;G57 = (792*F57-650*F38) >> 10;G58 = (650*F58+792*F37) >> 10;G61 = (100*F61-1019*F34) >> 10;G62 = (1019*F62+100*F33) >> 10;
/stage 8
Y2 = (50*G16+1023*G31) >> 10;Y10 = (249*G20+993*G27) >> 10;Y6 = (1013*G24-150*G23) >> 10;Y14 = (964*G28-345*G19) >> 10;H32 = F32+G33;H33 = F32-G33;H34 = F35-G34;H35 = F35+G34;H36 = F36+G37;H37 = F36-G37;H38 = F39-G38;H39 = F39+G38;H40 = F40+G41;H41 = F40-G41;H42 = F43-G42;H43 = F43+G42;H44 = F44+G45;H45 = F44-G45;H46 = F47-G46;H47 = F47+G46;H48 = F48+G49;H49 = F48-G49;H50 = F51-G50;H51 = F51+G50;H52 = F52+G53;H53 = F52-G53;H54 = F55-G54;H55 = F55+G54;H56 = F56+G57;H57 = F56-G57;H58 = F59-G58;H59 = F59+G58;H60 = F60+G61;H61 = F60-G61;H62 = F63-G62;H63 = F63+G62;
/stage 9
Y1 = (25*H32+1024*H63) >> 10;Y9 = (224*H36+999*H59) >> 10;Y5 = (125*H40+1016*H55) >> 10;Y13 = (321*H44+972*H51) >> 10;Y3 = (1021*H48-75*H47) >> 10;Y11 = (987*H52-273*H43) >> 10;Y7 = (1009*H56-175*H39) >> 10;Y15 = (955*H60-369*H35) >> 10;Y16 = 0;Y17 = 0;Y18 = 0;Y19 = 0;Y20 = 0;Y21 = 0;Y22 = 0;Y23 = 0;Y24 = 0;Y25 = 0;Y26 = 0;Y27 = 0;Y28 = 0;Y29 = 0;Y30 = 0;Y31 = 0;Y32 = 0;Y33 = 0;Y34 = 0;Y35 = 0;Y36 = 0;Y37 = 0;Y38 = 0;Y39 = 0;Y40 = 0;Y41 = 0;Y42 = 0;Y43 = 0;Y44 = 0;Y45 = 0;Y46 = 0;Y47 = 0;Y48 = 0;Y49 = 0;Y50 = 0;Y51 = 0;Y52 = 0;Y53 = 0;Y54 = 0;Y55 = 0;Y56 = 0;Y57 = 0;Y58 = 0;Y59 = 0;Y60 = 0;Y61 = 0;Y62 = 0;Y63 = 0;
}
具体的に、周波数変換部230は、64×64入力ブロックの64個の各列を、入力値X0ないしX63として、前述したポイント変換過程を64回反復的に行って、16×64中間値行列を生成し、16×64中間値行列を構成する16個の各行を、入力値X0ないしX63として、前述したポイント変換過程を16回反復的に行って、16×16変換行列を獲得する。かかる16×16変換行列は、64×64変換行列のうち、低周波数帯域の16×16変換ブロックに対応する。
図5は、本発明の他の実施形態による32ポイントDCTのフローグラフである。図5を参照すれば、x0ないしx31は、入力値を表す。y0ないしy31は、DCTの出力値を表す。変換時に、データ処理方向は、左側から右側であり、逆変換時に、データ処理方向は、右側から左側である。点で交差する二本のラインは、二つの数の加算を表す。‘−’は、否定を表す。各ライン上の値R(θ)は、図6に示したようなバタフライ構造に基づいた演算過程を表す。
図6は、図5の32ポイントDCTを構成するバタフライ構造の演算過程を示す参照図である。図6を参照すれば、バタフライ構造の演算は、入力値[X1,X2]に対して、次の数式;
Figure 2013542664
のような演算を通じて、出力値[Y1,Y2]を出力するものである。
図5のフローグラフによってDCTを行う場合、R(θ)によって、cosθ及びsinθが利用される。前述した図4のフローグラフを利用した変換過程と同様に、θ値によるcosθ及びsinθ値として、分母が2の累乗形態である有理数を利用することによって、変換過程で必要な演算過程を、加算、減算及びシフト演算に代替する。
具体的に、M及びNは32、X0ないしX31は、入力値、Ai,Bi,Ci,Di,Ei,Fi及びZi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数変換部230は、図5のアルゴリズムに基づいて、32×32入力ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、低周波数帯域の16×16変換ブロックを生成する。
{
/stage 0
Z0 = X0 + X31; Z31 = X0 - X31;Z1 = X1 + X30;Z30 = X1 - X30;Z2 = X2 + X29;Z29 = X2 - X29;Z3 = X3 + X28;Z28 = X3 - X28;Z4 = X4 + X27;Z27 = X4 - X27;Z5 = X5 + X26;Z26 = X5 - X26;Z6 = X6 + X25;Z25 = X6 - X25;Z7 = X7 + X24;Z24 = X7 - X24;Z8 = X8 + X23;Z23 = X8 - X23;Z9 = X9 + X22;Z22 = X9 - X22;Z10 = X10 + X21;Z21 = X10 - X21;Z11 = X11 + X20;Z20 = X11 - X20;Z12 = X12 + X19;Z19 = X12 - X19;Z13 = X13 + X18;Z18 = X13 - X18;Z14 = X14 + X17;Z17 = X14 - X17;Z15 = X15 + X16;Z16 = X15 - X16;
/stage 1
A0 = Z0 + Z15;A1 = Z1 + Z14;A2 = Z2 + Z13;A3 = Z3 + Z12;A4 = Z4 + Z11;A5 = Z5 + Z10;A6 = Z6 + Z9;A7 = Z7 + Z8;A8 = Z7 - Z8;A9 = Z6 - Z9;A10 = Z5 - Z10;A11 = Z4 - Z11;A12 = Z3 - Z12;A13 = Z2 - Z13;A14 = Z1 - Z14;A15 = Z0 - Z15;A16 = (171*Z16 - 189*Z31) >> 8;A31 = (189*Z16 + 171*Z31) >> 8;A17 = (205*Z17 + 152*Z30) >> 8;A30 = (-152*Z17 + 205*Z30) >> 8;A18 = (131*Z18 - 219*Z29) >> 8;A29 = (219*Z18 + 131*Z29) >> 8;A19 = (231*Z19 + 109*Z28) >> 8;A28 = (-109*Z19 + 231*Z28) >> 8;A20 = (86*Z20 - 241*Z27) >> 8;A27 = (241*Z20 + 86*Z27) >> 8;A21 = (248*Z21 + 62*Z26) >> 8;A26 = (-62*Z21 + 248*Z26) >> 8;A22 = (37*Z22 - 253*Z25) >> 8;A25 = (253*Z22 + 37*Z25) >> 8;A23 = (255*Z23 + 12*Z24) >> 8;A24 = (-12*Z23 + 255*Z24) >> 8;
/stage 2
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 = (197*A8 + 162*A15) >> 8;B15 = (-162*A8 + 197*A15) >> 8;B9 = (120*A9 - 225*A14) >> 8;B14 = (225*A9 + 120*A14) >> 8;B10 = (244*A10 + 74*A13) >> 8;B13 = (-74*A10 + 244*A13) >> 8;B11 = (25*A11 - 254*A12) >> 8;B12 = (254*A11 + 25*A12) >> 8;B16 = A16 + A23;B23 = A16 - A23;B17 = A17 + A22;B22 = A17 - A22;B18 = A18 + A21;B21 = A18 - A21;B19 = A19 + A20;B20 = A19 - A20;B24 = A24 + A31;B31 = A24 - A31;B25 = A25 + A30;B30 = A25 - A30;B26 = A26 + A29;B29 = A26 - A29;B27 = A27 + A28;B28 = A27 - A28;
/stage 3
C0 = B0 + B3;C3 = B0 - B3;C1 = B1 + B2;C2 = B1 - B2;C4 = (49*B4 + 251*B7) >> 8;C7 = (-251*B4 + 49*B7) >> 8;C5 = (142*B5 + 212*B6) >> 8;C6 = (-212*B5 + 142*B6) >> 8;C8 = B8 + B11;C11 = B8 - B11;C9 = B9 + B10;C10 = B9 - B10;C12 = B12 + B15;C15 = B12 - B15;C13 = B13 + B14;C14 = B13 - B14;C16 = B16 + B28;C28 = B16 - B28;C17 = B17 + B29;C29 = B17 - B29;C18 = B18 + B30;C30 = B18 - B30;C19 = B19 + B31;C31 = B19 - B31;C20 = B20 + B23;C23 = B20 - B23;C21 = B21 + B22;C22 = B21 - B22;C24 = B24 + B27;C27 = B24 - B27;C25 = B25 + B26;C26 = B25 - B26;
/stage 4
D0 = (181*(C0 + C1)) >> 8;D2 = (97*C2 + 236*C3) >> 8; D4 = C4 + C5;D5 = C4 - C5;D7 = C6 + C7; D8 = C8 + C14;D14 = C8 - C14;D9 = C9 + C15;D15 = C9 - C15;D11 = C10 - C11;D12 = C12 + C13;D13 = C12 - C13; D16 = (181*(C16 + C19)) >> 8;D19 = (181*(-C16 + C19)) >> 8;D20 = C20 + C26;D26 = C20 - C26;D21 = C21 + C27;D27 = C21 - C27;D22 = C22 + C23;D23 = C22 - C23;D24 = C24 + C25;D28 = (181*(C28 + C31)) >> 8;D31 = (181*(-C28 + C31)) >> 8;
/stage 5
E5 = (181*(D5 + D7)) >> 8;E8 = (97*D8 - 236*D9) >> 8;E12 = (181*(-D11 + D12)) >> 8;E15 = (236*D14 + 97*D15) >> 8;E16 = D16 + C18;E18 = D16 - C18;E17 = C17 + D19;E19 = C17 - D19;E21 = (-97*D20 + 236*D21) >> 8;E24 = (181*(-D23 + D24)) >> 8;E26 = (236*D26 + 97*D27) >> 8;E30 = D28 + C30;E29 = - C29 + D31;E31 = C29 + D31;
/stage 6
F16 = (251*E16 - 49*E17) >> 8;F18 = (212*E18 - 142*E19) >> 8;F28 = (212*E28 - 142*E29) >> 8;F29 = (142*E28 + 212*E29) >> 8;F31 = (49*E30 + 251*E31) >> 8;
/stage 7
Y0 = D0;Y1 = E24;Y2 = E12;Y3 = -F16;Y4 = D4;Y5 = F31;Y6 = E8;Y7 = -E26;Y8 = D2;Y9 = E21;Y10 = E15;Y11 = F29;Y12 = E5;Y13 = -F18;Y14 = D13;Y15 = D22;Y16 = 0;Y17 = 0;Y18 = 0;Y19 = 0;Y20 = 0;Y21 = 0;Y22 = 0;Y23 = 0;Y24 = 0;Y25 = 0;Y26 = 0;Y27 = 0;Y28 = 0;Y29 = 0;Y30 = 0;Y31 = 0;
}
具体的に、周波数変換部230は、32×32入力ブロックの64個の各列を、入力値X0ないしX31として、前述したポイント変換過程を32回反復的に行って、16×32中間値行列を生成し、16×32中間値行列を構成する16個の各行を、入力値X0ないしX31として、前述したポイント変換過程を16回反復的に行って、16×16変換行列を獲得する。かかる16×16変換行列は、64×64変換行列のうち、低周波数帯域の16×16変換ブロックに対応する。
また、M及びNは32、X0ないしX31は、入力値、Ai,Bi,Ci,Di,Ei,Fi及びZi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数変換部230は、図5のアルゴリズムに基づいて、32×32入力ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、変換ブロックを生成する。
{
/stage 0
Z0 = X0 + X31;Z31 = X0 - X31;Z1 = X1 + X30;Z30 = X1 - X30;Z2 = X2 + X29;Z29 = X2 - X29;Z3 = X3 + X28;Z28 = X3 - X28;Z4 = X4 + X27;Z27 = X4 - X27;Z5 = X5 + X26;Z26 = X5 - X26;Z6 = X6 + X25;Z25 = X6 - X25;Z7 = X7 + X24;Z24 = X7 - X24;Z8 = X8 + X23;Z23 = X8 - X23;Z9 = X9 + X22;Z22 = X9 - X22;Z10 = X10 + X21;Z21 = X10 - X21;Z11 = X11 + X20;Z20 = X11 - X20;Z12 = X12 + X19;Z19 = X12 - X19;Z13 = X13 + X18;Z18 = X13 - X18;Z14 = X14 + X17;Z17 = X14 - X17;Z15 = X15 + X16;Z16 = X15 - X16;
/stage 1
A0 = Z0 + Z15;A1 = Z1 + Z14;A2 = Z2 + Z13;A3 = Z3 + Z12;A4 = Z4 + Z11;A5 = Z5 + Z10;A6 = Z6 + Z9;A7 = Z7 + Z8;A8 = Z7 - Z8;A9 = Z6 - Z9;A10 = Z5 - Z10;A11 = Z4 - Z11;A12 = Z3 - Z12;A13 = Z2 - Z13;A14 = Z1 - Z14;A15 = Z0 - Z15;
A16 = Z16 - (113*Z31 >> 8);A31 = Z31 + (189*A16 >> 8);A16 = A16 - (113*A31 >> 8);A17 = Z17 + (84*Z30 >> 8);A30 = Z30 - (152*A17 >> 8);A17 = A17 + (84*A30 >> 8);A18 = Z18 - (145*Z29 >> 8);A29 = Z29 + (219*A18 >> 8);A18 = A18 - (145*A29 >> 8);A19 = Z19 + (57*Z28 >> 8);A28 = Z28 - (109*A19 >> 8);A19 = A19 + (57*A28 >> 8);A20 = Z20 - (180*Z27 >> 8);A27 = Z27 + (241*A20 >> 8);A20 = A20 - (180*A27 >> 8);A21 = Z21 + (31*Z26 >> 8);A26 = Z26 - (62*A21 >> 8);A21 = A21 + (31*A26 >> 8);A22 = Z22 - (220*Z25 >> 8);A25 = Z25 + (253*A22 >> 8);A22 = A22 - (220*A25 >> 8);A23 = Z23 + (6*Z24 >> 8);A24 = Z24 - (12*A23 >> 8);A23 = A23 + (6*A24 >> 8);
/stage 2
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 = A8 + (91*A15 >> 8);B15 = A15 - (162*B8 >> 8);B8 = B8 + (91*B15 >> 8);B9 = A9 - (153*A14 >> 8);B14 = A14 + (225*B9 >> 8);B9 = B9 - (153*B14 >> 8);B10 = A10 + (37*A13 >> 8);B13 = A13 - (74*B10 >> 8);B10 = B10 + (37*B13 >> 8);B11 = A11 - (232*A12 >> 8);B12 = A12 + (254*B11 >> 8);B11 = B11 - (232*B12 >> 8);
B16 = A16 + A23;B23 = A16 - A23;B17 = A17 + A22;B22 = A17 - A22;B18 = A18 + A21;B21 = A18 - A21;B19 = A19 + A20;B20 = A19 - A20;
B24 = A24 + A31;B31 = A24 - A31;B25 = A25 + A30;B30 = A25 - A30;B26 = A26 + A29;B29 = A26 - A29;B27 = A27 + A28;B28 = A27 - A28;
/stage 3
C0 = B0 + B3;C3 = B0 - B3;C1 = B1 + B2;C2 = B1 - B2;
C4 = B4 + (210*B7 >> 8);C7 = B7 - (251*C4 >> 8);C4 = C4 + (210*C7 >> 8);C5 = B5 + (136*B6 >> 8);C6 = B6 - (212*C5 >> 8);C5 = C5 + (136*C6 >> 8);
C8 = B8 + B11;C11 = B8 - B11;C9 = B9 + B10;C10 = B9 - B10;
C12 = B12 + B15;C15 = B12 - B15;C13 = B13 + B14;C14 = B13 - B14;
C16 = B16 + B28;C28 = B16 - B28;C17 = B17 + B29;C29 = B17 - B29;C18 = B18 + B30;C30 = B18 - B30;C19 = B19 + B31;C31 = B19 - B31;
C20 = B20 + B23;C23 = B20 - B23;C21 = B21 + B22;C22 = B21 - B22;
C24 = B24 + B27;C27 = B24 - B27;C25 = B25 + B26;C26 = B25 - B26;
/stage 4
D0 = C0 + C1;
D3 = C2 - (106*C3 >> 8);D2 = C3 + (90*D3 >> 8);
D4 = C4 + C5;D5 = C4 - C5;
D7 = C6 + C7;
D8 = C8 + C14;D14 = C8 - C14;D9 = C9 + C15;D15 = C9 - C15;
D11 = C10 - C11;D12 = C12 + C13;D13 = C12 - C13;
D16 = C16 + (106*C19 >> 8);D19 = C19 - (181*D16 >> 8);D16 = D16 + (106*D19 >> 8);D20 = C20 + C26;D26 = C20 - C26;D21 = C21 + C27;D27 = C21 - C27;D22 = C22 + C23;D23 = C22 - C23;D24 = C24 + C25;
D28 = C28 + (106*C31 >> 8);D31 = C31 - (181*D28 >> 8);D28 = D28 + (106*D31 >> 8);
/stage 5
E5 = D5 + D7;
E9 = D8 + (106*D9 >> 8);E8 = -(D9 - (90*E9 >> 8));
E11 = D11 + D12;E12 = D12 - (E11 >> 1);
E15 = D14 + (106*D15 >> 8);
E16 = D16 + C18;E18 = D16 - C18;E17 = C17 + D19;E19 = C17 - D19;
E20 = D20 + (106*D21 >> 8);E21 = D21 - (90*E20 >> 8);E23 = D23 + D24;E24 = D24 - (E23 >> 1);E26 = D26 + (106*D27 >> 8);
E28 = - D28 + C30;E30 = D28 + C30;E29 = - C29 + D31;E31 = C29 + D31;
/stage 6
F16 = E16 - (50*E17 >> 8);
F18 = E18 - (171*E19 >> 8);
F28 = E28 - (171*E29 >> 8);F29 = E29 + (118*F28 >> 8);F30 = E30 - (50*E31 >> 8);F31 = E31 + (48*F30 >> 8);
/stage 7
Y0 = D0;Y1 = E24;Y2 = E12;Y3 = -F16;Y4 = D4;Y5 = F31;Y6 = E8;Y7 = -E26;Y8 = D2;Y9 = E21;Y10 = E15;Y11 = F29;Y12 = E5;Y13 = -F18;Y14 = D13;Y15 = D22;Y16 = 0;Y17 = 0;Y18 = 0;Y19 = 0;Y20 = 0;Y21 = 0;Y22 = 0;Y23 = 0;Y24 = 0;Y25 = 0;Y26 = 0;Y27 = 0;Y28 = 0;Y29 = 0;Y30 = 0;Y31 = 0;
}
具体的に、周波数変換部230は、32×32入力ブロックの64個の各列を、入力値X0ないしX31として、前述したポイント変換過程を32回反復的に行って、16×32中間値行列を生成し、16×32中間値行列を構成する16個の各行を、入力値X0ないしX31として、前述したポイント変換過程を16回反復的に行って、低周波数帯域の16×16変換行列を獲得する。
図7は、本発明の一実施形態による映像変換方法を示すフローチャートである。図7を参照すれば、ステップ710で、周波数領域選択部210は、M×N(M及びNは、正の整数)入力ブロックの周波数変換のための所定の周波数領域を選択する。前述したように、周波数変換による変換ブロックのエネルギーは、低周波数帯域に集中するので、周波数領域選択部210は、低周波数帯域を選択することが望ましい。
ステップ720で、縮小変換行列獲得部220は、M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得する。具体的に、縮小変換行列獲得部220は、低周波数帯域のa×d変換ブロックを獲得しようとする場合、M×Nサイズの垂直変換行列のうち、上側のa行に該当する元素を選択して、a×Nサイズの縮小垂直変換行列を生成し、M×Nサイズの水平変換行列のうち、左側のd列に該当する元素を選択して、M×dサイズの縮小水平変換行列を生成する。
ステップ730で、周波数変換部230は、縮小された変換行列を、M×N入力ブロックに適用して、周波数変換を行うことによって、選択された周波数領域に対応する変換係数を生成する。
一方、前述した本発明の実施形態によれば、変換過程で発生する変換係数は、全体変換ブロックのうち、選択された周波数帯域のみに対して変換係数が生成されるので、ブロック内の0ではない有効変換係数の位置を表すシグニフィカンスマップは、選択された周波数領域のみに対して生成される。また、前述した例では、選択された低周波数帯域がブロック形態を有した場合のみを例示したが、これに限定されず、選択された低周波数帯域は、図12に示したように、DC係数を中心として三角形など多様な形態に選択される。また、選択された低周波数帯域についての情報は、ビットストリームに別途に所定のシンタックスを利用してシグナリングされたり、符号化側と復号化側で事前にいかなる形態及びいかなる帯域の低周波数帯域の変換係数のみを生成するか設定する場合には、別途のシンタックスを伝送せずに、既定の低周波数帯域のみに対して変換及び逆変換が行われる。
図8は、本発明の一実施形態による映像復号化装置を示すブロック図である。図8を参照すれば、本発明の一実施形態による映像復号化装置800は、エントロピー復号化部810、逆量子化部820、逆変換部830及び予測部840を備える。
エントロピー復号化部810は、入力ビットストリームから、復号化される現在ブロックの予測モード情報、参照ピクチャー情報及びレジデュアル情報を抽出する。逆量子化部820は、エントロピー復号化部810でエントロピー復号化された量子化された変換係数を逆量子化する。逆変換部830は、逆量子化された変換係数を逆変換する。逆変換の結果、ブロック単位に対するレジデュアル値が復元される。特に、本発明の一実施形態による逆変換部830は、既存の逆DCTに利用される変換行列の元素を、有理数値に置換することによって、浮動小数点演算ではない整数に基づいた加算、減算及びシフト演算により逆DCTを行うことによって、演算複雑度を低減させる一方、演算速度を速める。また、本発明の一実施形態による逆変換部830は、逆DCTに利用される逆変換行列の元素に2の累乗を乗じた後で四捨五入した元素で構成された逆変換行列を利用して、逆DCTを行うことによって、全体的な演算複雑度を低減させることができる。また、本発明の一実施形態による逆変換部830は、M×N入力ブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、所定の周波数領域に対応する逆変換係数の生成のための元素を選択して、縮小された逆変換行列を獲得し、縮小された逆変換行列を適用して、逆変換を行うことによって、逆変換過程にかかる全体演算量を減少させる。
予測部840は、インター予測またはイントラ予測を通じて、現在ブロックの予測値を生成し、生成された予測値は、逆変換部830で復元されたレジデュアルと加えられて、現在ブロックが復元される。
図9は、本発明の一実施形態による映像逆変換装置の構成を示すブロック図である。図9の映像逆変換装置900は、図8の逆変換部830に対応する。図9を参照すれば、映像逆変換装置900は、縮小逆変換行列獲得部910及び周波数逆変換部920を備える。
縮小逆変換行列獲得部910は、所定の周波数帯域の変換ブロックを受信し、周波数帯域情報に基づいて受信された変換ブロックの逆変換のための縮小逆変換行列を生成する。具体的に、ビットストリームには、図12A及び図12Bのような長方形の低周波数帯域ブロック、及び三角形の低周波数帯域ブロックのような多様な低周波数帯域形態についての情報と、低周波数帯域のサイズ情報とが含まれ、縮小逆変換行列獲得部910は、かかる低周波数帯域形態についての情報と、低周波数帯域のサイズ情報とに基づいて、変換係数が、全体変換ブロックに含まれた変換係数のうち、いかなる形態及びいかなる帯域の変換係数に該当するかを決定する。
縮小逆変換行列獲得部910は、M×N(M及びNは、正の整数)ブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、受信された変換ブロックの周波数帯域に該当する変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得する。ここで、M×N逆変換行列は、前述したM×N変換行列の逆行列であって、逆変換行列の元素を有理数値に置換したり、逆変換行列の元素に2の累乗を乗じた後で四捨五入した元素を有するN×N逆変換行列である。置換されたN×N変換行列を利用する場合、加算、減算及びシフト演算のみを利用して、逆DCTを行う。
周波数逆変換部920は、受信された所定の周波数帯域の変換ブロックに、縮小された逆変換行列を適用して、M×N変換ブロックを逆変換したブロック、すなわち、レジデュアルブロックを生成する。
図10は、本発明の一実施形態によって、受信された変換ブロックの周波数帯域によって、縮小逆変換行列獲得部910が縮小逆変換行列を獲得する過程を説明するための参照図である。
図10を参照すれば、逆変換しようとするa×d変換ブロックをY 1025、M×Nサイズの垂直逆変換行列をCi 1010、M×Nサイズの水平変換行列をCi 1030であると仮定する。a×d変換ブロックY 1025は、M×N変換ブロック 1020のうち、低周波数帯域に該当する一部の変換係数のみを含む変換ブロックであって、M×Nサイズの垂直逆変換行列Ci 1010、M×Nサイズの水平逆変換行列Ci 1030をそのまま適用して逆変換されない。したがって、縮小逆変換行列獲得部910は、M×Nサイズの垂直逆変換行列Ci 1010及びM×Nサイズの水平逆変換行列Ci 1030を縮小したM×dサイズの縮小垂直逆変換行列MCi 1015及びa×Nサイズの縮小水平変換行列MCi 1035を適用して、次の数式;MCi*Y*MCiによる行列演算を通じて、低周波数帯域のa×d変換ブロックY 1025から、M×Nサイズのレジデュアルブロックを復元する。すなわち、縮小逆変換行列獲得部910は、M×Nサイズの垂直逆変換行列Ci 1010のうち、左側のd列に該当する元素を選択して、N×dサイズの縮小垂直逆変換行列MCi 1015を生成する。また、縮小逆変換行列獲得部910は、M×Nサイズの水平逆変換行列Ci 1030のうち、上側のa列に該当する元素を選択して、axNサイズの縮小水平逆変換行列MCi 1035を生成する。例えば、図10に示したように、M及びNは16、a及びdは8であると仮定すれば、縮小変換逆行列獲得部910は、低周波数帯域の8×8サイズの変換ブロックを逆変換して、16×16レジデュアルブロックを復元するために、16×16垂直逆変換行列のうち、左側の8列のみを選択して、16×8サイズの縮小垂直逆変換行列を獲得し、16×16水平逆変換行列のうち、上側の8列のみを選択して、8×16サイズの縮小水平逆変換行列を獲得する。周波数逆変換部920は、16×8サイズの縮小垂直逆変換行列、8×16サイズの縮小水平逆変換行列、及び8×8変換ブロック間の行列演算を通じて、16×16サイズの逆変換ブロック、すなわち、レジデュアルブロックを生成する。具体的に、16×8サイズの縮小垂直逆変換行列を、8×8変換ブロックに適用すれば、16×8サイズの中間値が生成され、16×8サイズの中間値に、再び8×16サイズの縮小水平逆変換行列を適用すれば、最終的に16×16サイズのレジデュアルブロックが獲得される。
M及びNは32、X0ないしX15は、入力値、Ai,Bi,Ci,Di,Ei,Fi及びGi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数逆変換部920は、図4のフローグラフ400に基づいて生成された低周波数帯域の16×16変換ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、32×32レジデュアルブロックを復元する。
{
/stage 0
G16 = ( 12 * X1 ) >> 8;G17 = ( - 171 * X15) >> 8;G18 = ( 109 * X9 ) >> 8;G19 = ( - 86 * X7) >> 8;G20 = ( 62 * X5 ) >> 8;G21 = ( - 131 * X11) >> 8;G22 = ( 152 * X13 ) >> 8;G23 = ( - 37 * X3) >> 8;G24 = ( 253 * X3 ) >> 8;G25 = ( 205 * X13) >> 8;G26 = ( 219 * X11) >> 8;G27 = ( 248 * X5) >> 8;G28 = ( 241 * X7 ) >> 8;G29 = ( 231 * X9) >> 8;G30 = ( 189 * X15 ) >> 8;G31 = ( 255 * X1) >> 8;
/Stage 1
F8 = ( 25 * X2 ) >> 8;F9 = ( - 162 * X14) >> 8;F10 = ( 120 * X10 ) >> 8;F11 = ( - 74 * X6) >> 8;F12 = ( 244 * X6 ) >> 8;F13 = ( 225 * X10) >> 8;F14 = ( 197 * X14 ) >> 8;F15 = ( 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 ) >> 8;E5 = ( - 142 * X12) >> 8;E6 = ( 212 * X12 ) >> 8;E7 = ( 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 )) >> 8;D1 = ( 181 * ( X0 )) >> 8;D2 = ( 97 * X8 ) >> 8;D3 = ( 236 * X8 ) >> 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;
}
M及びNは64、X0ないしX15は、入力値、Zi,Ai,Bi,Ci,Di,Ei,Fi,Gi及びHi(iは、0から63までの整数)は、中間値、Y0ないしY63は、出力値を表すとする時、周波数逆変換部920は、図4のフローグラフ400に基づいて生成された低周波数帯域の16×16変換ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、64×64レジデュアルブロックを復元する。
{
/stage 0
H32 = (25*X1) >> 10;H33 = 0;H34 = 0;H35 = (-369*X15) >> 10;H36 = (224*X9) >> 10;H37 = 0;H38 = 0;H39 = (-175*X7) >> 10;H40 = (125*X5) >> 10;H41 = 0;H42 = 0;H43 = (-273*X11) >> 10;H44 = (321*X13) >> 10;H45 = 0;H46 = 0;H47 = (-75*X3) >> 10;H48 = (1021*X3) >> 10;H49 = 0;H50 = 0;H51 = (972*X13) >> 10;H52 = (987*X11) >> 10;H53 = 0;H54 = 0;H55 = (1016*X5) >> 10;H56 = (1009*X7) >> 10;H57 = 0;H58 = 0;H59 = (999*X9) >> 10;H60 = (955*X15) >> 10;H61 = 0;H62 = 0;H63 = (1024*X1) >> 10;
/stage 1
G16 = (50*X2) >> 10;G17 = 0;G18 = 0;G19 = (-345*X14) >> 10;G20 = (249*X10) >> 10;G21 = 0;G22 = 0;G23 = (-150*X6) >> 10;G24 = (1013*X6) >> 10;G25 = 0;G26 = 0;G27 = (993*X10) >> 10;G28 = (964*X14) >> 10;G29 = 0;G30 = 0;G31 = (1023*X2) >> 10;
G32 = H32+H33;G33 = H32-H33;G34 = H35-H34;G35 = H35+H34;G36 = H36+H37;G37 = H36-H37;G38 = H39-H38;G39 = H39+H38;G40 = H40+H41;G41 = H40-H41;G42 = H43-H42;G43 = H43+H42;G44 = H44+H45;G45 = H44-H45;G46 = H47-H46;G47 = H47+H46;G48 = H48+H49;G49 = H48-H49;G50 = H51-H50;G51 = H51+H50;G52 = H52+H53;G53 = H52-H53;G54 = H55-H54;G55 = H55+H54;G56 = H56+H57;G57 = H56-H57;G58 = H59-H58;G59 = H59+H58;G60 = H60+H61;G61 = H60-H61;G62 = H63-H62;G63 = H63+H62;
/stage 2
F8 = (100*X4) >> 10;F9 = 0;F10 = 0;F11 = (-297*X12) >> 10;F12 = (980*X12) >> 10;F13 = 0;F14 = 0;F15 = (1019*X4) >> 10;
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;F33 = (100*G62-1019*G33) >> 10;F34 = (-1019*G61-100*G34) >> 10;F37 = (792*G58-650*G37) >> 10;F38 = (-650*G57-792*G38) >> 10;F41 = (483*G54-903*G41) >> 10;F42 = (-903*G53-483*G42) >> 10;F45 = (980*G50-297*G45) >> 10;F46 = (-297*G49-980*G46) >> 10;F49 = (980*G49-297*G46) >> 10;F50 = (297*G50+980*G45) >> 10;F53 = (483*G53-903*G42) >> 10;F54 = (903*G54+483*G41) >> 10;F57 = (792*G57-650*G38) >> 10;F58 = (650*G58+792*G37) >> 10;F61 = (100*G61-1019*G34) >> 10;F62 = (1019*G62+100*G33) >> 10;
/stage 3
E4 = (200*X8) >> 10;E5 = 0;E6 = 0;E7 = (1004*X8) >> 10;
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 = (200*F30-1004*F17) >> 10;E18 = (-1004*F29-200*F18) >> 10;E21 = (851*F26-569*F21) >> 10;E22 = (-569*F25-851*F22) >> 10;E25 = (851*F25-569*F22) >> 10;E26 = (569*F26+851*F21) >> 10;E29 = (200*F29-1004*F18) >> 10;E30 = (1004*F30+200*F17) >> 10;E32 = G32+G35;E33 = F33+F34;E34 = F33-F34;E35 = G32-G35;E36 = G39-G36;E37 = F38-F37;E38 = F38+F37;E39 = G39+G36;E40 = G40+G43;E41 = F41+F42;E42 = F41-F42;E43 = G40-G43;E44 = G47-G44;E45 = F46-F45;E46 = F46+F45;E47 = G47+G44;E48 = G48+G51;E49 = F49+F50;E50 = F49-F50;E51 = G48-G51;E52 = G55-G52;E53 = F54-F53;E54 = F54+F53;E55 = G55+G52;E56 = G56+G59;E57 = F57+F58;E58 = F57-F58;E59 = G56-G59;E60 = G63-G60;E61 = F62-F61;E62 = F62+F61;E63 = G63+G60;
/stage 4
D0 = (724*(X0)) >> 10;D1 = (724*(X0)) >> 10;D2 = 0;D3 = 0;
D4 = E4+E5;D5 = E4-E5;D6 = E7-E6;D7 = E7+E6;D9 = (392*E14-946*E9) >> 10;D10 = (-946*E13-392*E10) >> 10;D13 = (392*E13-946*E10) >> 10;D14 = (946*E14+392*E9) >> 10;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;D34 = (200*E61-1004*E34) >> 10;D35 = (200*E60-1004*E35) >> 10;D36 = (-1004*E59-200*E36) >> 10;D37 = (-1004*E58-200*E37) >> 10;D42 = (851*E53-569*E42) >> 10;D43 = (851*E52-569*E43) >> 10;D44 = (-569*E51-851*E44) >> 10;D45 = (-569*E50-851*E45) >> 10;D50 = (851*E50-569*E45) >> 10;D51 = (851*E51-569*E44) >> 10;D52 = (569*E52+851*E43) >> 10;D53 = (569*E53+851*E42) >> 10;D58 = (200*E58-1004*E37) >> 10;D59 = (200*E59-1004*E36) >> 10;D60 = (1004*E60+200*E35) >> 10;D61 = (1004*E61+200*E34) >> 10;
/stage 5
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 = (724*(D6-D5)) >> 10;C6 = (724*(D6+D5)) >> 10;C18 = (392*D29-946*D18) >> 10;C20 = (-946*D27-392*D20) >> 10;C26 = (-946*D21+392*D26) >> 10;C28 = (392*D19+946*D28) >> 10;C19 = (392*D28-946*D19) >> 10;C21 = (-946*D26-392*D21) >> 10;C27 = (-946*D20+392*D27) >> 10;C29 = (392*D18+946*D29) >> 10;C32 = E32+E39;C39 = E32-E39;C40 = E47-E40;C47 = E47+E40;C48 = E48+E55;C55 = E48-E55;C56 = E63-E56;C63 = E63+E56;C33 = E33+E38;C38 = E33-E38;C41 = E46-E41;C46 = E46+E41;C49 = E49+E54;C54 = E49-E54;C57 = E62-E57;C62 = E62+E57;C34 = D34+D37;C37 = D34-D37;C42 = D45-D42;C45 = D45+D42;C50 = D50+D53;C53 = D50-D53;C58 = D61-D58;C61 = D61+D58;C35 = D35+D36;C36 = D35-D36;C43 = D44-D43;C44 = D44+D43;C51 = D51+D52;C52 = D51-D52;C59 = D60-D59;C60 = D60+D59;
/stage 6
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 = (724*(C13-C10)) >> 10;B13 = (724*(C13+C10)) >> 10;B11 = (724*(C12-C11)) >> 10;B12 = (724*(C12+C11)) >> 10;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;B36 = (392*C59-946*C36) >> 10;B40 = (-946*C55-392*C40) >> 10;B52 = (-946*C43+392*C52) >> 10;B56 = (392*C39+946*C56) >> 10;B37 = (392*C58-946*C37) >> 10;B41 = (-946*C54-392*C41) >> 10;B53 = (-946*C42+392*C53) >> 10;B57 = (392*C38+946*C57) >> 10;B38 = (392*C57-946*C38) >> 10;B42 = (-946*C53-392*C42) >> 10;B54 = (-946*C41+392*C54) >> 10;B58 = (392*C37+946*C58) >> 10;B39 = (392*C56-946*C39) >> 10;B43 = (-946*C52-392*C43) >> 10;B55 = (-946*C40+392*C55) >> 10;B59 = (392*C36+946*C59) >> 10;
/stage 7
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 = (724*(B27-B20)) >> 10;A27 = (724*(B27+B20)) >> 10;A21 = (724*(B26-B21)) >> 10;A26 = (724*(B26+B21)) >> 10;A22 = (724*(B25-B22)) >> 10;A25 = (724*(B25+B22)) >> 10;A23 = (724*(B24-B23)) >> 10;A24 = (724*(B24+B23)) >> 10;A32 = C32+C47;A47 = C32-C47;A48 = C63-C48;A63 = C63+C48;A33 = C33+C46;A46 = C33-C46;A49 = C62-C49;A62 = C62+C49;A34 = C34+C45;A45 = C34-C45;A50 = C61-C50;A61 = C61+C50;A35 = C35+C44;A44 = C35-C44;A51 = C60-C51;A60 = C60+C51;A36 = B36+B43;A43 = B36-B43;A52 = B59-B52;A59 = B59+B52;A37 = B37+B42;A42 = B37-B42;A53 = B58-B53;A58 = B58+B53;A38 = B38+B41;A41 = B38-B41;A54 = B57-B54;A57 = B57+B54;A39 = B39+B40;A40 = B39-B40;A55 = B56-B55;A56 = B56+B55;
/stage 8
Z0 = A0+B31;Z31 = A0-B31;Z1 = A1+B30;Z30 = A1-B30;Z2 = A2+B29;Z29 = A2-B29;Z3 = A3+B28;Z28 = A3-B28;Z4 = A4+A27;Z27 = A4-A27;Z5 = A5+A26;Z26 = A5-A26;Z6 = A6+A25;Z25 = A6-A25;Z7 = A7+A24;Z24 = A7-A24;Z8 = A8+A23;Z23 = A8-A23;Z9 = A9+A22;Z22 = A9-A22;Z10 = A10+A21;Z21 = A10-A21;Z11 = A11+A20;Z20 = A11-A20;Z12 = A12+B19;Z19 = A12-B19;Z13 = A13+B18;Z18 = A13-B18;Z14 = A14+B17;Z17 = A14-B17;Z15 = A15+B16;Z16 = A15-B16;Z40 = (724*(A55-A40)) >> 10;Z55 = (724*(A55+A40)) >> 10;Z41 = (724*(A54-A41)) >> 10;Z54 = (724*(A54+A41)) >> 10;Z42 = (724*(A53-A42)) >> 10;Z53 = (724*(A53+A42)) >> 10;Z43 = (724*(A52-A43)) >> 10;Z52 = (724*(A52+A43)) >> 10;Z44 = (724*(A51-A44)) >> 10;Z51 = (724*(A51+A44)) >> 10;Z45 = (724*(A50-A45)) >> 10;Z50 = (724*(A50+A45)) >> 10;Z46 = (724*(A49-A46)) >> 10;Z49 = (724*(A49+A46)) >> 10;Z47 = (724*(A48-A47)) >> 10;Z48 = (724*(A48+A47)) >> 10;
/stage 9
Y0 = Z0+A63;Y63 = Z0-A63;Y1 = Z1+A62;Y62 = Z1-A62;Y2 = Z2+A61;Y61 = Z2-A61;Y3 = Z3+A60;Y60 = Z3-A60;Y4 = Z4+A59;Y59 = Z4-A59;Y5 = Z5+A58;Y58 = Z5-A58;Y6 = Z6+A57;Y57 = Z6-A57;Y7 = Z7+A56;Y56 = Z7-A56;Y8 = Z8+Z55;Y55 = Z8-Z55;Y9 = Z9+Z54;Y54 = Z9-Z54;Y10 = Z10+Z53;Y53 = Z10-Z53;Y11 = Z11+Z52;Y52 = Z11-Z52;Y12 = Z12+Z51;Y51 = Z12-Z51;Y13 = Z13+Z50;Y50 = Z13-Z50;Y14 = Z14+Z49;Y49 = Z14-Z49;Y15 = Z15+Z48;Y48 = Z15-Z48;Y16 = Z16+Z47;Y47 = Z16-Z47;Y17 = Z17+Z46;Y46 = Z17-Z46;Y18 = Z18+Z45;Y45 = Z18-Z45;Y19 = Z19+Z44;Y44 = Z19-Z44;Y20 = Z20+Z43;Y43 = Z20-Z43;Y21 = Z21+Z42;Y42 = Z21-Z42;Y22 = Z22+Z41;Y41 = Z22-Z41;Y23 = Z23+Z40;Y40 = Z23-Z40;Y24 = Z24+A39;Y39 = Z24-A39;Y25 = Z25+A38;Y38 = Z25-A38;Y26 = Z26+A37;Y37 = Z26-A37;Y27 = Z27+A36;Y36 = Z27-A36;Y28 = Z28+A35;Y35 = Z28-A35;Y29 = Z29+A34;Y34 = Z29-A34;Y30 = Z30+A33;Y33 = Z30-A33;Y31 = Z31+A32;Y32 = Z31-A32;
}
M及びNは32、X0ないしX15は、入力値、Zi,Ai,Bi,Ci,Di,Ei,Fi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数逆変換部920は、図5のフローグラフ500に基づいて生成された低周波数帯域の16×16変換ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、32×32レジデュアルブロックを復元する。
{
/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;
/stage 1
E16 = (251*F16 ) >> 8;E17 = (-49*F16 ) >> 8;E18 = (212*F18 ) >> 8;E19 = (-142*F18 ) >> 8;E28 = (142*F29) >> 8;E29 = (212*F29) >> 8;E30 = (49*F31) >> 8;E31 = (251*F31) >> 8;
/stage 2
D5 = (181*(E5 )) >> 8;D7 = (181*(E5 )) >> 8;D8 = (97*E8 ) >> 8;D9 = (-236*E8 ) >> 8;D11 = (181*(- E12)) >> 8;D12 = (181*( E12)) >> 8;D14 = (236*E15) >> 8;D15 = (97*E15) >> 8;D16 = E16 + E18;C18 = E16 - E18;C17 = E17 + E19;D19 = E17 - E19;D20 = ( - 97*E21) >> 8;D21 = ( 236*E21) >> 8;D23 = (181*(- E24)) >> 8;D24 = (181*( E24)) >> 8;D26 = (236*E26 ) >> 8;D27 = (97*E26 ) >> 8;D28 = - E28 + E30;C30 = E28 + E30;C29 = - E29 + E31;D31 = E29 + E31;
/stage 3
C0 = (181*D0 ) >> 8;C1 = (181*D0 ) >> 8;C2 = (97*D2 ) >> 8;C3 = (236*D2 ) >> 8;C4 = D4 + D5;C5 = D4 - D5;C6 = D7; C7 = D7; C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D11; C11 = - 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 ;C25 = D24 ;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;
}
また、M及びNは32、X0ないしX15は、入力値、Zi,Ai,Bi,Ci,Di,Ei,Fi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、周波数逆変換部920は、図5のフローグラフ500に基づいて生成された低周波数帯域の16×16変換ブロックの行方向及び列方向の入力値に対して、次のポイント変換を繰り返して、32×32レジデュアルブロックを復元することも可能である。
{
/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;
/stage 1
E17 = - (48*F16>> 8);E16 = F16 + (50*E17>> 8);E19 = - (118*F18 >> 8);E18 = F18 + (171*E19>> 8);
E29 = F29 ;E28 = (171*E29>> 8);E31 = F31 ;E30 = (50*E31>> 8);
/stage 2
D7 = (E5 >> 1);D5= E5 - D7;
D9 = -E8 ;D8 = - (106*D9>> 8);
D12 = E12 ;D11 = - D12;
D15 = (90*E15>> 8);D14 = E15 - (106*D15>> 8);
D16 = E16 + E18;C18 = E16 - E18;C17 = E17 + E19;D19 = E17 - E19;
D21 = E21 ;D20 = - (106*D21>> 8);D24 = E24 ;D23 = - D24;D27 = (90*E26>> 8);D26 = E26 - (106*D27>> 8);D28 = - E28 + E30;C30 = E28 + E30;C29 = - E29 + E31;D31 = E29 + E31;
/stage 3
C1 = D0 >> 1;C0 = D0 - C1;
C3 = D2 ;C2 = (106*C3>> 8);
C4 = D4 + D5;C5 = D4 - D5;C6 = D7; C7 = D7;
C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D11; C11 = - D11;C12 = D12 + D13;C13 = D12 - D13;
D16 = D16 - (106*D19>> 8);C19 = D19 + (181*D16>> 8);C16 = D16 - (106*C19>> 8);C20 = D20 + D26;C26 = D20 - D26;C21 = D21 + D27;C27 = D21 - D27;C22 = D22 + D23;C23 = D22 - D23;C24 = D24;C25 = D24;D28 = D28 - (106*D31>> 8);C31 = D31 + (181*D28>> 8);C28 = D28 - (106*C31>> 8);
/stage 4
B0 = C0 + C3;B3 = C0 - C3;B1 = C1 + C2;B2 = C1 - C2;
C4 = C4 - (210*C7>> 8);B7 = C7 + (251*C4>> 8);B4 = C4 - (210*B7>> 8);C5 = C5 - (136*C6>> 8);B6 = C6 + (212*C5>> 8);B5 = C5 - (136*B6>> 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;
B8 = B8 - (91*B15>> 8);A15 = B15 + (162*B8>> 8);A8 = B8 - (91*A15>> 8);B9 = B9 + (153*B14>> 8);A14 = B14 - (225*B9>> 8);A9 = B9 + (153*A14>> 8);B10 = B10 - (37*B13>> 8);A13 = B13 + (74*B10>> 8);A10 = B10 - (37*A13>> 8);B11 = B11 + (232*B12>> 8);A12 = B12 - (254*B11>> 8);A11 = B11 + (232*A12>> 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;
A16 = A16 + (113*A31>> 8);Z31 = A31 - (189*A16>> 8);Z16 = A16 + (113*Z31>> 8);A17 = A17 - (84*A30>> 8);Z30 = A30 + (152*A17>> 8);Z17 = A17 - (84*Z30>> 8);A18 = A18 + (145*A29>> 8);Z29 = A29 - (219*A18>> 8);Z18 = A18 + (145*Z29>> 8);A19 = A19 - (57*A28>> 8);Z28 = A28 + (109*A19>> 8);Z19 = A19 - (57*Z28>> 8);A20 = A20 + (180*A27>> 8);Z27 = A27 - (241*A20>> 8);Z20 = A20 + (180*Z27>> 8);A21 = A21 - (31*A26>> 8);Z26 = A26 + (62*A21>> 8);Z21 = A21 - (31*Z26>> 8);A22 = A22 + (220*A25>> 8);Z25 = A25 - (253*A22>> 8);Z22 = A22 + (220*Z25>> 8);A23 = A23 - (6*A24>> 8);Z24 = A24 + (12*A23>> 8);Z23 = A23 - (6*Z24>> 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;
}
図11は、本発明の一実施形態による映像逆変換方法を示すフローチャートである。図11を参照すれば、ステップ1110で、縮小逆変換行列獲得部910は、M×N(M及びNは、正の整数)ブロックの変換係数のうち、所定の周波数帯域の変換係数を受信し、ステップ1120で、M×Nブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、所定の周波数帯域の変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得する。前述したように、ビットストリームには、図12A及び図12Bのような長方形の低周波数帯域ブロック、及び三角形の低周波数帯域ブロックのような多様な低周波数帯域形態についての情報と、低周波数帯域のサイズ情報とが含まれ、縮小逆変換行列獲得部910は、かかる低周波数帯域形態についての情報と、低周波数帯域のサイズ情報とに基づいて、変換係数が、全体変換ブロックに含まれた変換係数のうち、いかなる形態及びいかなる帯域の変換係数に該当するかを決定する。
逆変換しようとする変換ブロックのサイズをa×dとする時、縮小逆変換行列獲得部910は、M×Nサイズの垂直逆変換行列のうち、左側のd列に該当する元素を選択して、N×dサイズの縮小垂直逆変換行列を生成し、M×Nサイズの水平逆変換行列のうち、上側のa列に該当する元素を選択して、a×Nサイズの縮小水平逆変換行列を生成する。
ステップ1130で、周波数逆変換部920は、縮小された逆変換行列を、受信された所定の周波数帯域の変換ブロックに適用して、周波数逆変換を行う。前述した例において、a×dサイズの変換ブロック、N×dサイズの縮小垂直逆変換行列、及びa×Nサイズの縮小水平逆変換行列間の行列演算を通じて、M×Nサイズのレジデュアルブロックが生成される。
以上のように、本発明は、たとえ限定された実施形態及び図面により説明されたとしても、本発明が前記の実施形態に限定されるものではなく、これは、当業者ならば、かかる記載から多様な修正及び変形が可能であろう。したがって、本発明の思想は、特許請求の範囲によってのみ把握されねばならず、これと均等または等価的な変形は、いずれも本発明の思想の範疇に属するといえる。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存される全ての種類の記録装置を含む。記録媒体の例としては、ROM(Read Only Memory)、RAM(Random Access Memory)、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。

Claims (15)

  1. 映像の変換方法において、
    M×N(M及びNは、正の整数)入力ブロックの周波数変換のための所定の周波数領域を選択するステップと、
    前記M×N入力ブロックの周波数変換に利用されるM×N変換行列の元素のうち、前記選択された周波数領域に対応する変換係数の生成のための元素を選択して、縮小された変換行列を獲得するステップと、
    前記縮小された変換行列を、前記M×N入力ブロックに適用して、周波数変換を行うことによって、前記選択された周波数領域に対応する変換係数を生成するステップと、を含むことを特徴とする映像変換方法。
  2. 前記縮小された変換行列を獲得するステップは、
    前記M×N入力ブロックの周波数変換のためのa×d(aは、Mより小さい正の整数、dは、Nより小さい正の整数)サイズの低周波数領域が選択された場合、
    M×N垂直変換行列から、a×Mサイズの縮小垂直変換行列を獲得するステップと、
    M×N水平変換行列から、N×dサイズの縮小水平変換行列を獲得するステップと、をさらに含むことを特徴とする請求項1に記載の映像変換方法。
  3. 前記変換係数を生成するステップは、
    前記M×N入力ブロックを示す行列をX、前記縮小垂直変換行列をMCf、前記縮小水平変換行列をMCfとする時、次の数式;MCf*X*MCfによる行列演算を通じて、前記a×dサイズの低周波数領域に該当する変換係数を生成することを特徴とする請求項2に記載の映像変換方法。
  4. 映像の逆変換方法において、
    M×N(M及びNは、正の整数)ブロックの変換係数のうち、所定の周波数帯域の変換係数を受信するステップと、
    前記M×Nブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、前記所定の周波数帯域の変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得するステップと、
    前記縮小された逆変換行列を、前記所定の周波数帯域の変換係数に適用して、周波数逆変換を行うことによって、前記M×Nブロックを復元するステップと、を含むことを特徴とする映像逆変換方法。
  5. 前記所定の周波数領域の形態は、所定のサイズの長方形ブロック及び三角形ブロックのうち一つであることを特徴とする請求項4に記載の映像逆変換方法。
  6. 前記所定の周波数領域の形態情報と、選択された所定の周波数領域のサイズ情報とを、ビットストリームから抽出するステップをさらに含むことを特徴とする請求項5に記載の映像逆変換方法。
  7. 前記縮小された逆変換行列を獲得するステップは、
    前記所定の周波数帯域の変換係数は、前記M×Nブロックの変換係数のうち、最左上側に位置したa×d(aは、Mより小さい正の整数、dは、Nより小さい正の整数)サイズの低周波数領域の変換係数である場合、
    M×N垂直逆変換行列から、M×dサイズの縮小垂直逆変換行列を獲得するステップと、
    M×N水平逆変換行列から、a×Nサイズの縮小水平逆変換行列を獲得するステップと、をさらに含むことを特徴とする請求項4に記載の映像逆変換方法。
  8. 前記M×Nブロックを復元するステップは、
    前記a×dサイズの低周波数領域の変換係数を示す行列をY、前記縮小垂直逆変換行列をMCi、前記縮小水平逆変換行列をIMCiとする時、次の数式;MCi*Y*MCiによる行列演算を通じて、前記M×Nブロックを復元することを特徴とする請求項7に記載の映像逆変換方法。
  9. 前記M×N逆変換行列は、一次元逆離散コサイン変換に利用されるM×N逆変換行列の元素のうち、三角関数に基づいた値を有理数値に置換した逆変換行列であることを特徴とする請求項4に記載の映像逆変換方法。
  10. 前記M×Nブロックを復元するステップは、
    前記逆変換行列を利用した変換過程に含まれた乗算を、シフト演算、加算及び減算に代替した代替演算を通じて行うことを特徴とする請求項4に記載の映像逆変換方法。
  11. M及びNは32、a及びdは16、X0ないしX15は、逆変換される入力値、Ai,Bi,Ci,Di,Ei,Fi及びGi(iは、0から31までの整数)は、中間値、Y0ないしY31は、出力値を表すとする時、
    前記復元するステップは、16×16入力ブロックの行方向及び列方向の値に対して、次のポイント逆変換を繰り返して行われることを特徴とする請求項10に記載の映像逆変換方法:
    {
    /stage 0
    G16 = ( 12 * X1 ) >> 8;G17 = ( - 171 * X15) >> 8;G18 = ( 109 * X9 ) >> 8;G19 = ( - 86 * X7) >> 8;G20 = ( 62 * X5 ) >> 8;G21 = ( - 131 * X11) >> 8;G22 = ( 152 * X13 ) >> 8;G23 = ( - 37 * X3) >> 8;G24 = ( 253 * X3 ) >> 8;G25 = ( 205 * X13) >> 8;G26 = ( 219 * X11) >> 8;G27 = ( 248 * X5) >> 8;G28 = ( 241 * X7 ) >> 8;G29 = ( 231 * X9) >> 8;G30 = ( 189 * X15 ) >> 8;G31 = ( 255 * X1) >> 8;
    /Stage 1
    F8 = ( 25 * X2 ) >> 8;F9 = ( - 162 * X14) >> 8;F10 = ( 120 * X10 ) >> 8;F11 = ( - 74 * X6) >> 8;F12 = ( 244 * X6 ) >> 8;F13 = ( 225 * X10) >> 8;F14 = ( 197 * X14 ) >> 8;F15 = ( 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 ) >> 8;E5 = ( - 142 * X12) >> 8;E6 = ( 212 * X12 ) >> 8;E7 = ( 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 )) >> 8;D1 = ( 181 * ( X0 )) >> 8;D2 = ( 97 * X8 ) >> 8;D3 = ( 236 * X8 ) >> 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;
    }。
  12. M及びNは64、a及びdは16、X0ないしX31は逆変換される入力値、Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi及びZi(iは、0から63までの整数)は、中間値、Y0ないしY63は、出力値を表すとする時、
    前記復元するステップは、16×16入力ブロックの行方向及び列方向の値に対して、次のポイント逆変換を繰り返して行われることを特徴とする請求項10に記載の映像逆変換方法:
    {
    /stage 0
    H32 = (25*X1) >> 10;H33 = 0;H34 = 0;H35 = (-369*X15) >> 10;H36 = (224*X9) >> 10;H37 = 0;H38 = 0;H39 = (-175*X7) >> 10;H40 = (125*X5) >> 10;H41 = 0;H42 = 0;H43 = (-273*X11) >> 10;H44 = (321*X13) >> 10;H45 = 0;H46 = 0;H47 = (-75*X3) >> 10;H48 = (1021*X3) >> 10;H49 = 0;H50 = 0;H51 = (972*X13) >> 10;H52 = (987*X11) >> 10;H53 = 0;H54 = 0;H55 = (1016*X5) >> 10;H56 = (1009*X7) >> 10;H57 = 0;H58 = 0;H59 = (999*X9) >> 10;H60 = (955*X15) >> 10;H61 = 0;H62 = 0;H63 = (1024*X1) >> 10;
    /stage 1
    G16 = (50*X2) >> 10;G17 = 0;G18 = 0;G19 = (-345*X14) >> 10;G20 = (249*X10) >> 10;G21 = 0;G22 = 0;G23 = (-150*X6) >> 10;G24 = (1013*X6) >> 10;G25 = 0;G26 = 0;G27 = (993*X10) >> 10;G28 = (964*X14) >> 10;G29 = 0;G30 = 0;G31 = (1023*X2) >> 10;
    G32 = H32+H33;G33 = H32-H33;G34 = H35-H34;G35 = H35+H34;G36 = H36+H37;G37 = H36-H37;G38 = H39-H38;G39 = H39+H38;G40 = H40+H41;G41 = H40-H41;G42 = H43-H42;G43 = H43+H42;G44 = H44+H45;G45 = H44-H45;G46 = H47-H46;G47 = H47+H46;G48 = H48+H49;G49 = H48-H49;G50 = H51-H50;G51 = H51+H50;G52 = H52+H53;G53 = H52-H53;G54 = H55-H54;G55 = H55+H54;G56 = H56+H57;G57 = H56-H57;G58 = H59-H58;G59 = H59+H58;G60 = H60+H61;G61 = H60-H61;G62 = H63-H62;G63 = H63+H62;
    /stage 2
    F8 = (100*X4) >> 10;F9 = 0;F10 = 0;F11 = (-297*X12) >> 10;F12 = (980*X12) >> 10;F13 = 0;F14 = 0;F15 = (1019*X4) >> 10;
    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;F33 = (100*G62-1019*G33) >> 10;F34 = (-1019*G61-100*G34) >> 10;F37 = (792*G58-650*G37) >> 10;F38 = (-650*G57-792*G38) >> 10;F41 = (483*G54-903*G41) >> 10;F42 = (-903*G53-483*G42) >> 10;F45 = (980*G50-297*G45) >> 10;F46 = (-297*G49-980*G46) >> 10;F49 = (980*G49-297*G46) >> 10;F50 = (297*G50+980*G45) >> 10;F53 = (483*G53-903*G42) >> 10;F54 = (903*G54+483*G41) >> 10;F57 = (792*G57-650*G38) >> 10;F58 = (650*G58+792*G37) >> 10;F61 = (100*G61-1019*G34) >> 10;F62 = (1019*G62+100*G33) >> 10;
    /stage 3
    E4 = (200*X8) >> 10;E5 = 0;E6 = 0;E7 = (1004*X8) >> 10;
    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 = (200*F30-1004*F17) >> 10;E18 = (-1004*F29-200*F18) >> 10;E21 = (851*F26-569*F21) >> 10;E22 = (-569*F25-851*F22) >> 10;E25 = (851*F25-569*F22) >> 10;E26 = (569*F26+851*F21) >> 10;E29 = (200*F29-1004*F18) >> 10;E30 = (1004*F30+200*F17) >> 10;E32 = G32+G35;E33 = F33+F34;E34 = F33-F34;E35 = G32-G35;E36 = G39-G36;E37 = F38-F37;E38 = F38+F37;E39 = G39+G36;E40 = G40+G43;E41 = F41+F42;E42 = F41-F42;E43 = G40-G43;E44 = G47-G44;E45 = F46-F45;E46 = F46+F45;E47 = G47+G44;E48 = G48+G51;E49 = F49+F50;E50 = F49-F50;E51 = G48-G51;E52 = G55-G52;E53 = F54-F53;E54 = F54+F53;E55 = G55+G52;E56 = G56+G59;E57 = F57+F58;E58 = F57-F58;E59 = G56-G59;E60 = G63-G60;E61 = F62-F61;E62 = F62+F61;E63 = G63+G60;
    /stage 4
    D0 = (724*(X0)) >> 10;D1 = (724*(X0)) >> 10;D2 = 0;D3 = 0;
    D4 = E4+E5;D5 = E4-E5;D6 = E7-E6;D7 = E7+E6;D9 = (392*E14-946*E9) >> 10;D10 = (-946*E13-392*E10) >> 10;D13 = (392*E13-946*E10) >> 10;D14 = (946*E14+392*E9) >> 10;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;D34 = (200*E61-1004*E34) >> 10;D35 = (200*E60-1004*E35) >> 10;D36 = (-1004*E59-200*E36) >> 10;D37 = (-1004*E58-200*E37) >> 10;D42 = (851*E53-569*E42) >> 10;D43 = (851*E52-569*E43) >> 10;D44 = (-569*E51-851*E44) >> 10;D45 = (-569*E50-851*E45) >> 10;D50 = (851*E50-569*E45) >> 10;D51 = (851*E51-569*E44) >> 10;D52 = (569*E52+851*E43) >> 10;D53 = (569*E53+851*E42) >> 10;D58 = (200*E58-1004*E37) >> 10;D59 = (200*E59-1004*E36) >> 10;D60 = (1004*E60+200*E35) >> 10;D61 = (1004*E61+200*E34) >> 10;
    /stage 5
    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 = (724*(D6-D5)) >> 10;C6 = (724*(D6+D5)) >> 10;C18 = (392*D29-946*D18) >> 10;C20 = (-946*D27-392*D20) >> 10;C26 = (-946*D21+392*D26) >> 10;C28 = (392*D19+946*D28) >> 10;C19 = (392*D28-946*D19) >> 10;C21 = (-946*D26-392*D21) >> 10;C27 = (-946*D20+392*D27) >> 10;C29 = (392*D18+946*D29) >> 10;C32 = E32+E39;C39 = E32-E39;C40 = E47-E40;C47 = E47+E40;C48 = E48+E55;C55 = E48-E55;C56 = E63-E56;C63 = E63+E56;C33 = E33+E38;C38 = E33-E38;C41 = E46-E41;C46 = E46+E41;C49 = E49+E54;C54 = E49-E54;C57 = E62-E57;C62 = E62+E57;C34 = D34+D37;C37 = D34-D37;C42 = D45-D42;C45 = D45+D42;C50 = D50+D53;C53 = D50-D53;C58 = D61-D58;C61 = D61+D58;C35 = D35+D36;C36 = D35-D36;C43 = D44-D43;C44 = D44+D43;C51 = D51+D52;C52 = D51-D52;C59 = D60-D59;C60 = D60+D59;
    /stage 6
    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 = (724*(C13-C10)) >> 10;B13 = (724*(C13+C10)) >> 10;B11 = (724*(C12-C11)) >> 10;B12 = (724*(C12+C11)) >> 10;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;B36 = (392*C59-946*C36) >> 10;B40 = (-946*C55-392*C40) >> 10;B52 = (-946*C43+392*C52) >> 10;B56 = (392*C39+946*C56) >> 10;B37 = (392*C58-946*C37) >> 10;B41 = (-946*C54-392*C41) >> 10;B53 = (-946*C42+392*C53) >> 10;B57 = (392*C38+946*C57) >> 10;B38 = (392*C57-946*C38) >> 10;B42 = (-946*C53-392*C42) >> 10;B54 = (-946*C41+392*C54) >> 10;B58 = (392*C37+946*C58) >> 10;B39 = (392*C56-946*C39) >> 10;B43 = (-946*C52-392*C43) >> 10;B55 = (-946*C40+392*C55) >> 10;B59 = (392*C36+946*C59) >> 10;
    /stage 7
    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 = (724*(B27-B20)) >> 10;A27 = (724*(B27+B20)) >> 10;A21 = (724*(B26-B21)) >> 10;A26 = (724*(B26+B21)) >> 10;A22 = (724*(B25-B22)) >> 10;A25 = (724*(B25+B22)) >> 10;A23 = (724*(B24-B23)) >> 10;A24 = (724*(B24+B23)) >> 10;A32 = C32+C47;A47 = C32-C47;A48 = C63-C48;A63 = C63+C48;A33 = C33+C46;A46 = C33-C46;A49 = C62-C49;A62 = C62+C49;A34 = C34+C45;A45 = C34-C45;A50 = C61-C50;A61 = C61+C50;A35 = C35+C44;A44 = C35-C44;A51 = C60-C51;A60 = C60+C51;A36 = B36+B43;A43 = B36-B43;A52 = B59-B52;A59 = B59+B52;A37 = B37+B42;A42 = B37-B42;A53 = B58-B53;A58 = B58+B53;A38 = B38+B41;A41 = B38-B41;A54 = B57-B54;A57 = B57+B54;A39 = B39+B40;A40 = B39-B40;A55 = B56-B55;A56 = B56+B55;
    /stage 8
    Z0 = A0+B31;Z31 = A0-B31;Z1 = A1+B30;Z30 = A1-B30;Z2 = A2+B29;Z29 = A2-B29;Z3 = A3+B28;Z28 = A3-B28;Z4 = A4+A27;Z27 = A4-A27;Z5 = A5+A26;Z26 = A5-A26;Z6 = A6+A25;Z25 = A6-A25;Z7 = A7+A24;Z24 = A7-A24;Z8 = A8+A23;Z23 = A8-A23;Z9 = A9+A22;Z22 = A9-A22;Z10 = A10+A21;Z21 = A10-A21;Z11 = A11+A20;Z20 = A11-A20;Z12 = A12+B19;Z19 = A12-B19;Z13 = A13+B18;Z18 = A13-B18;Z14 = A14+B17;Z17 = A14-B17;Z15 = A15+B16;Z16 = A15-B16;Z40 = (724*(A55-A40)) >> 10;Z55 = (724*(A55+A40)) >> 10;Z41 = (724*(A54-A41)) >> 10;Z54 = (724*(A54+A41)) >> 10;Z42 = (724*(A53-A42)) >> 10;Z53 = (724*(A53+A42)) >> 10;Z43 = (724*(A52-A43)) >> 10;Z52 = (724*(A52+A43)) >> 10;Z44 = (724*(A51-A44)) >> 10;Z51 = (724*(A51+A44)) >> 10;Z45 = (724*(A50-A45)) >> 10;Z50 = (724*(A50+A45)) >> 10;Z46 = (724*(A49-A46)) >> 10;Z49 = (724*(A49+A46)) >> 10;Z47 = (724*(A48-A47)) >> 10;Z48 = (724*(A48+A47)) >> 10;
    /stage 9
    Y0 = Z0+A63;Y63 = Z0-A63;Y1 = Z1+A62;Y62 = Z1-A62;Y2 = Z2+A61;Y61 = Z2-A61;Y3 = Z3+A60;Y60 = Z3-A60;Y4 = Z4+A59;Y59 = Z4-A59;Y5 = Z5+A58;Y58 = Z5-A58;Y6 = Z6+A57;Y57 = Z6-A57;Y7 = Z7+A56;Y56 = Z7-A56;Y8 = Z8+Z55;Y55 = Z8-Z55;Y9 = Z9+Z54;Y54 = Z9-Z54;Y10 = Z10+Z53;Y53 = Z10-Z53;Y11 = Z11+Z52;Y52 = Z11-Z52;Y12 = Z12+Z51;Y51 = Z12-Z51;Y13 = Z13+Z50;Y50 = Z13-Z50;Y14 = Z14+Z49;Y49 = Z14-Z49;Y15 = Z15+Z48;Y48 = Z15-Z48;Y16 = Z16+Z47;Y47 = Z16-Z47;Y17 = Z17+Z46;Y46 = Z17-Z46;Y18 = Z18+Z45;Y45 = Z18-Z45;Y19 = Z19+Z44;Y44 = Z19-Z44;Y20 = Z20+Z43;Y43 = Z20-Z43;Y21 = Z21+Z42;Y42 = Z21-Z42;Y22 = Z22+Z41;Y41 = Z22-Z41;Y23 = Z23+Z40;Y40 = Z23-Z40;Y24 = Z24+A39;Y39 = Z24-A39;Y25 = Z25+A38;Y38 = Z25-A38;Y26 = Z26+A37;Y37 = Z26-A37;Y27 = Z27+A36;Y36 = Z27-A36;Y28 = Z28+A35;Y35 = Z28-A35;Y29 = Z29+A34;Y34 = Z29-A34;Y30 = Z30+A33;Y33 = Z30-A33;Y31 = Z31+A32;Y32 = Z31-A32;
    }。
  13. M及びNは32、a及びdは16、X0ないしX15は逆変換される入力値、Ai,Bi,Ci,Di,Ei,Fi及びZi(iは、0から31までの整数)は、中間値、Y0ないしY63は、出力値を表すとする時、
    前記復元するステップは、16×16入力ブロックの行方向及び列方向の値に対して、次のポイント逆変換を繰り返して行われることを特徴とする請求項10に記載の映像逆変換方法:
    {
    /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;
    /stage 1
    E16 = (251*F16 ) >> 8;E17 = (-49*F16 ) >> 8;E18 = (212*F18 ) >> 8;E19 = (-142*F18 ) >> 8;E28 = (142*F29) >> 8;E29 = (212*F29) >> 8;E30 = (49*F31) >> 8;E31 = (251*F31) >> 8;
    /stage 2
    D5 = (181*(E5 )) >> 8;D7 = (181*(E5 )) >> 8;D8 = (97*E8 ) >> 8;D9 = (-236*E8 ) >> 8;D11 = (181*(- E12)) >> 8;D12 = (181*( E12)) >> 8;D14 = (236*E15) >> 8;D15 = (97*E15) >> 8;D16 = E16 + E18;C18 = E16 - E18;C17 = E17 + E19;D19 = E17 - E19;D20 = ( - 97*E21) >> 8;D21 = ( 236*E21) >> 8;D23 = (181*(- E24)) >> 8;D24 = (181*( E24)) >> 8;D26 = (236*E26 ) >> 8;D27 = (97*E26 ) >> 8;D28 = - E28 + E30;C30 = E28 + E30;C29 = - E29 + E31;D31 = E29 + E31;
    /stage 3
    C0 = (181*D0 ) >> 8;C1 = (181*D0 ) >> 8;C2 = (97*D2 ) >> 8;C3 = (236*D2 ) >> 8;C4 = D4 + D5;C5 = D4 - D5;C6 = D7; C7 = D7; C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D11; C11 = - 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 ;C25 = D24 ;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;
    }。
  14. M及びNは32、a及びdは16、X0ないしX31は、逆変換される入力値、Ai,Bi,Ci,Di,Ei,Fi及びZi(iは、0から31までの整数)は、中間値、Y0ないしY32は、出力値を表すとする時、
    前記復元するステップは、16×16入力ブロックの行方向及び列方向の値に対して、次のポイント逆変換を繰り返して行われることを特徴とする請求項10に記載の映像逆変換方法:
    {
    /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;
    /stage 1
    E17 = - (48*F16>> 8);E16 = F16 + (50*E17>> 8);E19 = - (118*F18 >> 8);E18 = F18 + (171*E19>> 8);
    E29 = F29 ;E28 = (171*E29>> 8);E31 = F31 ;E30 = (50*E31>> 8);
    /stage 2
    D7 = (E5 >> 1);D5= E5 - D7;
    D9 = -E8 ;D8 = - (106*D9>> 8);
    D12 = E12 ;D11 = - D12;
    D15 = (90*E15>> 8);D14 = E15 - (106*D15>> 8);
    D16 = E16 + E18;C18 = E16 - E18;C17 = E17 + E19;D19 = E17 - E19;
    D21 = E21 ;D20 = - (106*D21>> 8);D24 = E24 ;D23 = - D24;D27 = (90*E26>> 8);D26 = E26 - (106*D27>> 8);D28 = - E28 + E30;C30 = E28 + E30;C29 = - E29 + E31;D31 = E29 + E31;
    /stage 3
    C1 = D0 >> 1;C0 = D0 - C1;
    C3 = D2 ;C2 = (106*C3>> 8);
    C4 = D4 + D5;C5 = D4 - D5;C6 = D7; C7 = D7;
    C8 = D8 + D14;C14 = D8 - D14;C9 = D9 + D15;C15 = D9 - D15;C10 = D11; C11 = - D11;C12 = D12 + D13;C13 = D12 - D13;
    D16 = D16 - (106*D19>> 8);C19 = D19 + (181*D16>> 8);C16 = D16 - (106*C19>> 8);C20 = D20 + D26;C26 = D20 - D26;C21 = D21 + D27;C27 = D21 - D27;C22 = D22 + D23;C23 = D22 - D23;C24 = D24;C25 = D24;D28 = D28 - (106*D31>> 8);C31 = D31 + (181*D28>> 8);C28 = D28 - (106*C31>> 8);
    /stage 4
    B0 = C0 + C3;B3 = C0 - C3;B1 = C1 + C2;B2 = C1 - C2;
    C4 = C4 - (210*C7>> 8);B7 = C7 + (251*C4>> 8);B4 = C4 - (210*B7>> 8);C5 = C5 - (136*C6>> 8);B6 = C6 + (212*C5>> 8);B5 = C5 - (136*B6>> 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;
    B8 = B8 - (91*B15>> 8);A15 = B15 + (162*B8>> 8);A8 = B8 - (91*A15>> 8);B9 = B9 + (153*B14>> 8);A14 = B14 - (225*B9>> 8);A9 = B9 + (153*A14>> 8);B10 = B10 - (37*B13>> 8);A13 = B13 + (74*B10>> 8);A10 = B10 - (37*A13>> 8);B11 = B11 + (232*B12>> 8);A12 = B12 - (254*B11>> 8);A11 = B11 + (232*A12>> 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;
    A16 = A16 + (113*A31>> 8);Z31 = A31 - (189*A16>> 8);Z16 = A16 + (113*Z31>> 8);A17 = A17 - (84*A30>> 8);Z30 = A30 + (152*A17>> 8);Z17 = A17 - (84*Z30>> 8);A18 = A18 + (145*A29>> 8);Z29 = A29 - (219*A18>> 8);Z18 = A18 + (145*Z29>> 8);A19 = A19 - (57*A28>> 8);Z28 = A28 + (109*A19>> 8);Z19 = A19 - (57*Z28>> 8);A20 = A20 + (180*A27>> 8);Z27 = A27 - (241*A20>> 8);Z20 = A20 + (180*Z27>> 8);A21 = A21 - (31*A26>> 8);Z26 = A26 + (62*A21>> 8);Z21 = A21 - (31*Z26>> 8);A22 = A22 + (220*A25>> 8);Z25 = A25 - (253*A22>> 8);Z22 = A22 + (220*Z25>> 8);A23 = A23 - (6*A24>> 8);Z24 = A24 + (12*A23>> 8);Z23 = A23 - (6*Z24>> 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;
    }。
  15. 映像の逆変換装置において、
    M×N(M及びNは、正の整数)ブロックの周波数逆変換に利用されるM×N逆変換行列の元素のうち、所定の周波数帯域の変換係数の逆変換のための元素を選択して、縮小された逆変換行列を獲得する縮小逆変換行列獲得部と、
    前記縮小された逆変換行列を、前記所定の周波数帯域の変換係数に適用して、周波数逆変換を行うことによって、前記M×Nブロックを復元する逆変換部と、を備えることを特徴とする映像逆変換装置。
JP2013531491A 2010-09-28 2011-09-28 映像変換方法及びその装置、並びに映像逆変換方法及びその装置 Pending JP2013542664A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38711210P 2010-09-28 2010-09-28
US61/387,112 2010-09-28
PCT/KR2011/007164 WO2012044075A2 (ko) 2010-09-28 2011-09-28 영상의 변환 방법 및 장치, 역변환 방법 및 장치

Publications (1)

Publication Number Publication Date
JP2013542664A true JP2013542664A (ja) 2013-11-21

Family

ID=45893662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013531491A Pending JP2013542664A (ja) 2010-09-28 2011-09-28 映像変換方法及びその装置、並びに映像逆変換方法及びその装置

Country Status (9)

Country Link
US (1) US20130195177A1 (ja)
EP (1) EP2624561A2 (ja)
JP (1) JP2013542664A (ja)
KR (1) KR20120032457A (ja)
CN (1) CN103250415A (ja)
AU (1) AU2011308203A1 (ja)
BR (1) BR112013007024A2 (ja)
MX (1) MX2013003017A (ja)
WO (1) WO2012044075A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515552A (ja) * 2016-04-26 2019-06-06 ベー−コムB Com デジタル画像のデコーディング方法、コーディング方法、装置および付随するコンピュータプログラム
KR20200078652A (ko) * 2017-12-15 2020-07-01 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
JP2021507634A (ja) * 2017-12-21 2021-02-22 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
JP2021507596A (ja) * 2017-12-15 2021-02-22 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
JP2021517796A (ja) * 2018-04-01 2021-07-26 エルジー エレクトロニクス インコーポレイティド 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置
JP2021517795A (ja) * 2018-04-01 2021-07-26 エルジー エレクトロニクス インコーポレイティド 分割されたブロックに2次変換を適用して、ビデオ信号を処理する方法及び装置
JP2023505652A (ja) * 2020-06-03 2023-02-10 テンセント・アメリカ・エルエルシー 時間フィルタリングを簡素化する方法、並びにそのシステム、及びコンピュータプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US8891627B1 (en) 2011-04-18 2014-11-18 Google Inc. System and method for coding video using color segmentation
JP2013051522A (ja) * 2011-08-30 2013-03-14 Honda Elesys Co Ltd 画像圧縮装置、画像圧縮方法および画像圧縮プログラム
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US9998746B2 (en) * 2016-02-10 2018-06-12 Amazon Technologies, Inc. Video decoder memory optimization
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
CN117097895A (zh) 2018-09-23 2023-11-21 Lg 电子株式会社 编码/解码视频信号的方法及其装置
KR20210079379A (ko) * 2019-01-12 2021-06-29 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS622721A (ja) * 1985-06-28 1987-01-08 Nec Corp 画像信号の符号化・復号化装置
JP2002204552A (ja) * 2000-12-29 2002-07-19 Ricoh Co Ltd 直流モータ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
JP3423585B2 (ja) * 1997-08-13 2003-07-07 日本電信電話株式会社 画像処理方法および装置
JPH11196262A (ja) * 1997-11-07 1999-07-21 Matsushita Electric Ind Co Ltd デジタル情報埋込み・抽出装置および方法並びに当該方法を実行するためのプログラムを記録した媒体
KR100522121B1 (ko) * 1997-12-17 2006-01-12 삼성전자주식회사 버퍼상태에 따른 dct계수를 제한하는 mpeg인코더
JP2007535191A (ja) * 2004-01-30 2007-11-29 松下電器産業株式会社 画像符号化方法、画像復号化方法、画像符号化装置、画像復号化装置およびプログラム
JPWO2006118288A1 (ja) * 2005-05-03 2008-12-18 松下電器産業株式会社 動画像符号化方法、動画像復号化方法およびその装置
KR20090078494A (ko) * 2008-01-15 2009-07-20 삼성전자주식회사 영상 데이터의 디블록킹 필터링 방법 및 디블록킹 필터

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS622721A (ja) * 1985-06-28 1987-01-08 Nec Corp 画像信号の符号化・復号化装置
JP2002204552A (ja) * 2000-12-29 2002-07-19 Ricoh Co Ltd 直流モータ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNC201210017038; McCann,K., et al: 'Samsung's Response to the Call for Proposals on Video Compression Technology[online]' Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20100415, P.20-21 *
JPN6014002379; McCann,K., et al: 'Samsung's Response to the Call for Proposals on Video Compression Technology[online]' Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20100415, P.20-21 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019515552A (ja) * 2016-04-26 2019-06-06 ベー−コムB Com デジタル画像のデコーディング方法、コーディング方法、装置および付随するコンピュータプログラム
KR102485470B1 (ko) 2017-12-15 2023-01-05 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US11218731B2 (en) 2017-12-15 2022-01-04 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
JP2021507596A (ja) * 2017-12-15 2021-02-22 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
KR20230010068A (ko) * 2017-12-15 2023-01-17 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
US11895334B2 (en) 2017-12-15 2024-02-06 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
KR20210128036A (ko) * 2017-12-15 2021-10-25 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
JP7422913B2 (ja) 2017-12-15 2024-01-26 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
KR102489150B1 (ko) 2017-12-15 2023-01-17 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
JP7009632B2 (ja) 2017-12-15 2022-01-25 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
JP2022036083A (ja) * 2017-12-15 2022-03-04 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
KR102605673B1 (ko) 2017-12-15 2023-11-23 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
US11818350B2 (en) 2017-12-15 2023-11-14 Lg Electronics Inc. Image coding method on basis of non-separable secondary transform and device therefor
CN115278233A (zh) * 2017-12-15 2022-11-01 Lg电子株式会社 解码设备、编码设备及发送设备
US11627320B2 (en) 2017-12-15 2023-04-11 Lg Electronics Inc. Image coding method on basis of non-separable secondary transform and device therefor
CN115297326A (zh) * 2017-12-15 2022-11-04 Lg电子株式会社 图像编解码方法和发送方法及非暂态计算机可读存储介质
KR20200078652A (ko) * 2017-12-15 2020-07-01 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
JP7240476B2 (ja) 2017-12-15 2023-03-15 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
US11601679B2 (en) 2017-12-15 2023-03-07 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
CN115278240A (zh) * 2017-12-15 2022-11-01 Lg电子株式会社 图像编解码方法和发送方法及非暂态计算机可读存储介质
US11647199B2 (en) 2017-12-21 2023-05-09 Lg Electronics Inc. Method for coding image on basis of selective transform and device therefor
JP2021507634A (ja) * 2017-12-21 2021-02-22 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
US11184618B2 (en) 2017-12-21 2021-11-23 Lg Electronics Inc. Method for coding image on basis of selective transform and device therefor
JP7420982B2 (ja) 2017-12-21 2024-01-23 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
JP7214820B2 (ja) 2017-12-21 2023-01-30 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
JP2022036081A (ja) * 2017-12-21 2022-03-04 エルジー エレクトロニクス インコーポレイティド 選択的変換に基づいた映像コーディング方法およびその装置
US11616985B2 (en) 2018-04-01 2023-03-28 Lg Electronics Inc. Method and device for processing video signal by using reduced secondary transform
US11405614B2 (en) 2018-04-01 2022-08-02 Lg Electronics Inc. Method and apparatus for processing video signal by applying secondary transform to partitioned block
JP7301951B2 (ja) 2018-04-01 2023-07-03 エルジー エレクトロニクス インコーポレイティド 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置
JP2021517796A (ja) * 2018-04-01 2021-07-26 エルジー エレクトロニクス インコーポレイティド 縮小された2次変換を用いて、ビデオ信号を処理する方法及び装置
US11889080B2 (en) 2018-04-01 2024-01-30 Lg Electronics Inc. Method and apparatus for processing video signal by applying secondary transform to partitioned block
JP2021517795A (ja) * 2018-04-01 2021-07-26 エルジー エレクトロニクス インコーポレイティド 分割されたブロックに2次変換を適用して、ビデオ信号を処理する方法及び装置
US11968398B2 (en) 2018-04-01 2024-04-23 Lg Electronics Inc. Method and device for processing video signal by using reduced secondary transform
JP2023505652A (ja) * 2020-06-03 2023-02-10 テンセント・アメリカ・エルエルシー 時間フィルタリングを簡素化する方法、並びにそのシステム、及びコンピュータプログラム

Also Published As

Publication number Publication date
EP2624561A2 (en) 2013-08-07
BR112013007024A2 (pt) 2019-09-24
MX2013003017A (es) 2013-06-28
US20130195177A1 (en) 2013-08-01
WO2012044075A2 (ko) 2012-04-05
CN103250415A (zh) 2013-08-14
KR20120032457A (ko) 2012-04-05
WO2012044075A3 (ko) 2012-05-31
AU2011308203A1 (en) 2013-04-11

Similar Documents

Publication Publication Date Title
JP2013542664A (ja) 映像変換方法及びその装置、並びに映像逆変換方法及びその装置
KR102087990B1 (ko) 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치
US8824557B2 (en) Adaptive coefficient scan order
RU2504103C1 (ru) Способ и устройство для кодирования и декодирования изображения посредством использования вращательного преобразования
US20090086815A1 (en) Context adaptive position and amplitude coding of coefficients for video compression
KR101480412B1 (ko) 영상의 변환 방법 및 장치, 역변환 방법 및 장치
US11558619B2 (en) Adaptation of scan order for entropy coding
KR20110118598A (ko) 영상의 변환 방법 및 장치, 역변환 방법 및 장치
Bankoski et al. RFC 6386: VP8 Data Format and Decoding Guide
AU2018200072B2 (en) Video encoding method and device and decoding method and device
JP2005354307A (ja) 逆量子化器及びこれを用いた画像復号化装置
Tischler Refinement of near random access video coding with weighted finite automata
JP2011040821A (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

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141021