JP2013016972A - Encoder, decoder and program - Google Patents

Encoder, decoder and program Download PDF

Info

Publication number
JP2013016972A
JP2013016972A JP2011147346A JP2011147346A JP2013016972A JP 2013016972 A JP2013016972 A JP 2013016972A JP 2011147346 A JP2011147346 A JP 2011147346A JP 2011147346 A JP2011147346 A JP 2011147346A JP 2013016972 A JP2013016972 A JP 2013016972A
Authority
JP
Japan
Prior art keywords
base
integer
orthogonal transform
dct
basis
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.)
Granted
Application number
JP2011147346A
Other languages
Japanese (ja)
Other versions
JP5662887B2 (en
Inventor
Yasuko Sugifuji
泰子 杉藤
Atsuro Ichigaya
敦郎 市ヶ谷
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.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
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 Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2011147346A priority Critical patent/JP5662887B2/en
Publication of JP2013016972A publication Critical patent/JP2013016972A/en
Application granted granted Critical
Publication of JP5662887B2 publication Critical patent/JP5662887B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To equalize the norm of a basic vector as much as possible when performing orthogonal transformation or inverse orthogonal transformation with integer accuracy, and to improve the encoding efficiency by using a base while taking the orthogonality of a basic vector into account.SOLUTION: The orthogonal transformation unit 3 of an encoder 11 performs DCT by using an integer DCT base. The integer DCT base used in the orthogonal transformation unit 3 is calculated by an orthogonal transformation base calculation unit 20. The base calculation means 22 of the orthogonal transformation base calculation unit 20 operates each element of a base where each element of a fraction DCT base is rounded to an integer within a range of ±n(n is an integer of 1 or more), determines the elements of an integer DCT base so as to minimize the cost by using the following cost function for enhancing the uniformity of size of norm of the base vector and the orthogonality of the base vector, and outputs an integer DCT base. cost=a×Σ|(xi, xi)-b|+Σ|(xi, xj)|.

Description

本発明は、画像等の信号を符号化する直交変換技術に関し、特に、整数精度の直交変換を行う符号化装置、復号装置及びプログラムに関する。   The present invention relates to an orthogonal transform technique for encoding a signal such as an image, and more particularly to an encoding device, a decoding device, and a program that perform orthogonal transform with integer precision.

従来、放送や動画像の配信等のシステムに用いられる映像符号化方式として、AVC/H.264の標準規格が知られている。この映像符号化方式では、画面内予測や動き補償予測を行い、予測画像と入力画像との間の差分信号に対して、4×4画素、8×8画素等の2次元ブロック毎に直交変換及び量子化を行い、エントロピー符号化を行うことにより、信号圧縮を実現する。2次元ブロックの直交変換には、復号側でミスマッチが起こらないように、整数精度のDCT(Discrete Cosine Transform:離散コサイン変換)が用いられる。以下、整数精度のDCTを整数DCTという。   Conventionally, as a video encoding method used in systems such as broadcasting and moving image distribution, AVC / H. H.264 standards are known. In this video encoding method, intra prediction and motion compensation prediction are performed, and orthogonal conversion is performed for each two-dimensional block such as 4 × 4 pixels or 8 × 8 pixels with respect to a difference signal between a predicted image and an input image. Signal compression is achieved by performing quantization and entropy coding. For orthogonal transformation of a two-dimensional block, DCT (Discrete Cosine Transform) with integer precision is used so that mismatch does not occur on the decoding side. Hereinafter, integer precision DCT is referred to as integer DCT.

整数精度の直交変換基底としては、AVC/H.264の標準規格で用いられている整数DCTの直交変換基底の他に、特許文献1、非特許文献1に記載のものが知られている。特許文献1には、小数精度の直交変換基底をスカラー倍して最も近い整数に丸め、基底ベクトルのノルム(要素の2乗和)が誤差1%以内になるように基底ベクトルの要素を操作し、基底ベクトルの各要素が32未満のものを直交変換基底として使用する技術が記載されている。また、非特許文献1には、特許文献1と同様に、整数DCTの基底ベクトルのノルムができるだけ等しくなるように基底ベクトルの要素を操作して得られる、統一的な4×4、8×8、16×16、32×32要素からなる直交変換基底が記載されている。   As an orthogonal transform base of integer precision, AVC / H. In addition to the orthogonal transform base of integer DCT used in the H.264 standard, those described in Patent Document 1 and Non-Patent Document 1 are known. In Patent Document 1, a decimal precision orthogonal transform base is scalar-multiplied and rounded to the nearest integer, and the base vector elements are manipulated so that the norm of the base vector (sum of squares of elements) is within 1% error. A technique is described in which each element of a basis vector is less than 32 as an orthogonal transform basis. Similarly to Patent Document 1, Non-Patent Document 1 discloses unified 4 × 4 and 8 × 8 obtained by manipulating base vector elements so that norms of integer DCT base vectors are as equal as possible. , 16 × 16, and 32 × 32 elements are described.

特表2011−504000号公報Special table 2011-504000 gazette

A. Fuldseth, G. Bjontegaard, M. Sadafale, M. Budagavi, "Transform design for HEVC with 16 bit intermediate data representation," Doc JCTVC-E243, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, Geneva, CH, March 2011A. Fuldseth, G. Bjontegaard, M. Sadafale, M. Budagavi, "Transform design for HEVC with 16 bit intermediate data representation," Doc JCTVC-E243, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11, Geneva, CH, March 2011

前述の特許文献1または非特許文献1に記載された整数DCTの直交変換基底を用いることにより、AVC/H.264の標準規格による整数DCTの直交変換基底に比べ、精度良く整数変換を行うことができる。しかし、この整数精度の直交変換基底を算出する過程で基底ベクトルの要素を操作する際に、基底ベクトルの直交性を考慮しておらず、特に、16×16、32×32等の大きいブロックの変換を行う際に、精度が悪くなるという問題があった。これは、符号化装置において整数精度の直交変換を行う場合のみならず、復号装置において整数精度の逆直交変換を行う場合も同様である。   By using the orthogonal transform base of integer DCT described in Patent Document 1 or Non-Patent Document 1 described above, AVC / H. Compared with the orthogonal transform base of integer DCT according to the H.264 standard, integer transform can be performed with high accuracy. However, when manipulating the basis vector elements in the process of calculating the orthogonal transform base of integer precision, the orthogonality of the basis vectors is not taken into consideration, and in particular, large blocks such as 16 × 16, 32 × 32, etc. When performing the conversion, there is a problem that the accuracy deteriorates. The same applies not only to the case where the encoding device performs integer-precision orthogonal transformation, but also to the case where the decoding device performs integer-precision inverse orthogonal transformation.

そこで、本発明は前記課題を解決するためになされたものであり、その目的は、直交変換または逆直交変換を整数精度で行う際に、基底ベクトルのノルムをできるだけ等しくすると共に、基底ベクトルの直交性を考慮した基底を用いることにより、符号化効率の改善を可能にした符号化装置、復号装置及びプログラムを提供することにある。   Therefore, the present invention has been made to solve the above-mentioned problems, and its purpose is to make the norms of the basis vectors as equal as possible and perform orthogonality of the basis vectors when performing orthogonal transformation or inverse orthogonal transformation with integer precision. It is an object of the present invention to provide an encoding device, a decoding device, and a program that can improve the encoding efficiency by using a base in consideration of the characteristics.

前記目的を達成するために、本発明による請求項1の符号化装置は、入力信号を直交変換して直交変換係数を生成し、前記直交変換係数を量子化して符号化信号を出力する符号化装置において、N点(Nは1以上の整数)の整数精度の直交変換基底を用いて、前記入力信号を直交変換する直交変換部を備え、前記直交変換部が、所定の小数精度の正規直交変換基底の各要素をc倍(c>1)して得られた整数の基底に対し、前記整数の基底の各要素を±n(nは1以上の整数)の範囲で操作したときの基底ベクトルをx1,x2,・・・,xNとし、aを所定の正数とし、各基底ベクトルにおける理想のノルムの値をb=c×cとし、i=1,2,・・・,N、j=1,2,・・・,N、i<jとし、(A,B)をベクトルA及びBの内積値とする場合、以下の数式
cost=a×Σ|(xi,xi)−b|+Σ|(xi,xj)|
により、前記コスト(cost)を最小とする各基底ベクトルの要素を、前記整数精度の直交変換基底として用いる、ことを特徴とする。
In order to achieve the above object, the encoding apparatus according to claim 1 according to the present invention performs encoding to generate an orthogonal transform coefficient by orthogonally transforming an input signal, and quantize the orthogonal transform coefficient to output an encoded signal. The apparatus includes an orthogonal transform unit that orthogonally transforms the input signal using an N-point (N is an integer equal to or greater than 1) integer-precision orthogonal transform base, and the orthogonal transform unit is orthonormal with predetermined decimal precision. A base when each element of the integer base is manipulated in a range of ± n (n is an integer of 1 or more) with respect to an integer base obtained by multiplying each element of the transformation base by c (c> 1) , XN, a is a predetermined positive number, an ideal norm value in each base vector is b = c × c, i = 1, 2,..., N, j = 1, 2,..., N, i <j, and (A, B) is the inner product value of vectors A and B. In order to do so, the following formula: cost = a × Σ | (xi, xi) −b | + Σ | (xi, xj) |
Thus, the element of each base vector that minimizes the cost is used as the integer-precision orthogonal transform base.

また、本発明による請求項2の符号化装置は、請求項1に記載の符号化装置において、aをNとすることを特徴とする。   An encoding apparatus according to claim 2 of the present invention is characterized in that in the encoding apparatus according to claim 1, a is N.

また、本発明による請求項3の符号化装置は、請求項1または2に記載の符号化装置において、iを2とし、jを2以外の偶数値とすることを特徴とする。   An encoding apparatus according to a third aspect of the present invention is the encoding apparatus according to the first or second aspect, wherein i is 2 and j is an even number other than 2.

また、本発明による請求項4の符号化装置は、請求項3に記載の符号化装置において、前記基底ベクトルxi,xjが、第1番目から数えて複数個の要素から構成される場合、前記数式の内積演算は、前記複数個の要素のうち、第1番目から複数個の半分までの要素から構成されるベクトルxi',xj'にて行われる、ことを特徴とする。   The encoding device according to claim 4 of the present invention is the encoding device according to claim 3, wherein the basis vectors xi and xj are composed of a plurality of elements counting from the first. The inner product operation of the mathematical expression is performed by vectors xi ′ and xj ′ composed of elements from the first to a plurality of halves among the plurality of elements.

また、本発明による請求項5の符号化装置は、請求項1から4までのいずれか一項に記載の符号化装置において、前記直交変換部が、以下の16×16要素からなる整数DCT基底

Figure 2013016972
を用いて、前記入力信号を直交変換することを特徴とする。 The encoding device according to claim 5 of the present invention is the encoding device according to any one of claims 1 to 4, wherein the orthogonal transform unit is an integer DCT base comprising the following 16 × 16 elements:
Figure 2013016972
Is used to orthogonally transform the input signal.

また、本発明による請求項6の符号化装置は、請求項1から4までのいずれか一項に記載の符号化装置において、前記直交変換部が、以下の32×32要素からなる整数DCT基底

Figure 2013016972
を用いて、前記入力信号を直交変換することを特徴とする。 An encoding apparatus according to a sixth aspect of the present invention is the encoding apparatus according to any one of the first to fourth aspects, wherein the orthogonal transform unit is an integer DCT base comprising the following 32 × 32 elements:
Figure 2013016972
Is used to orthogonally transform the input signal.

さらに、本発明による請求項7の復号装置は、請求項1から6までのいずれか一項に記載の符号化装置により出力された符号化信号を入力し、前記符号化信号を逆量子化して逆直交変換し、復号信号を生成する復号装置において、整数精度の逆直交変換基底を用いて、前記逆量子化した信号を逆直交変換する逆直変換部を備え、前記逆直交変換部が、前記符号化装置の直交変換部にて用いる整数精度の直交変換基底の転置行列を、前記整数精度の逆直交変換基底として用いる、ことを特徴とする   Furthermore, a decoding apparatus according to a seventh aspect of the present invention receives the encoded signal output from the encoding apparatus according to any one of the first to sixth aspects, and dequantizes the encoded signal. In a decoding device that performs inverse orthogonal transform and generates a decoded signal, an inverse direct transform unit that performs inverse orthogonal transform on the inverse quantized signal using an integer-precision inverse orthogonal transform base, and the inverse orthogonal transform unit includes: An integer-precision orthogonal transform base transpose matrix used in the orthogonal transform unit of the encoding device is used as the integer-precision inverse orthogonal transform base.

さらに、本発明による請求項8のプログラムは、コンピュータを、請求項1から6までのいずれか一項に記載の符号化装置として機能させることを特徴とする。   Furthermore, a program according to an eighth aspect of the present invention causes a computer to function as the encoding device according to any one of the first to sixth aspects.

また、本発明による請求項9のプログラムは、コンピュータを、請求項7に記載の復号装置として機能させることを特徴とする。   A program according to a ninth aspect of the present invention causes a computer to function as the decoding device according to the seventh aspect.

以上のように、本発明によれば、基底ベクトルのノルムをできるだけ等しくすると共に、基底ベクトルの直交性を考慮した整数精度の直交変換基底または逆直交変換基底を用いることにより、変換精度を改善し、符号化効率を向上させることができる。   As described above, according to the present invention, the norm of the basis vectors is made as equal as possible, and the conversion accuracy is improved by using an integer-precision orthogonal transform base or inverse orthogonal transform base in consideration of the orthogonality of the base vectors. The encoding efficiency can be improved.

本発明の実施形態による符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the encoding apparatus by embodiment of this invention. 16×16要素からなる小数DCT基底を示す図である。It is a figure which shows the decimal DCT base which consists of a 16x16 element. 非特許文献1に記載された、16×16要素からなる整数DCT基底を示す図である。It is a figure which shows the integer DCT base which consists of a 16x16 element described in the nonpatent literature 1. 図3に示した整数DCT基底の行列とその転置行列との演算結果を示す図である。It is a figure which shows the calculation result of the integer DCT base matrix shown in FIG. 3, and its transpose matrix. 直交変換基底算出装置の構成を示すブロック図である。It is a block diagram which shows the structure of an orthogonal transformation base calculation apparatus. 本発明の実施形態にて用いる、16×16要素からなる整数DCT基底を示す図である。It is a figure which shows the integer DCT base which consists of a 16x16 element used in embodiment of this invention. 図6に示した整数DCT基底の行列とその転置行列との演算結果を示す図である。It is a figure which shows the calculation result of the integer DCT base matrix shown in FIG. 6, and its transpose matrix. 本発明の実施形態にて用いる、32×32要素からなる整数DCT基底を示す図である。It is a figure which shows the integer DCT base which consists of a 32x32 element used in embodiment of this invention. 本発明の実施形態による復号装置の構成を示すブロック図である。It is a block diagram which shows the structure of the decoding apparatus by embodiment of this invention. シミュレーション結果を説明する図である。It is a figure explaining a simulation result.

以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、画像等の信号を符号化する符号化装置において、直交変換を整数精度で行う際に、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とを向上させた直交変換基底を用いることを特徴とする。また、画像等の信号を復号する復号装置において、逆直交変換を整数精度で行う際に、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とを向上させた逆直交変換基底を用いることを特徴とする。これにより、直交変換精度及び逆直交変換精度を改善し、符号化効率を向上させることができる。ここで、整数精度のDCTを行う場合の直交変換基底を整数DCT基底といい、整数精度のIDCT(Inverse Discrete Cosine Transform:逆離散コサイン変換)を行う場合の逆直交変換基底を整数IDCT基底という。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. The present invention relates to an orthogonal transform that improves the uniformity of the norm size of the basis vectors and the orthogonality of the basis vectors when performing orthogonal transformation with integer precision in an encoding device that encodes a signal such as an image. It is characterized by using a base. In addition, in a decoding device that decodes a signal such as an image, when performing inverse orthogonal transform with integer precision, an inverse orthogonal transform base that improves the uniformity of the norm size of the base vector and the orthogonality of the base vector is obtained. It is characterized by using. Thereby, orthogonal transformation accuracy and inverse orthogonal transformation accuracy can be improved, and encoding efficiency can be improved. Here, an orthogonal transform base when performing integer precision DCT is referred to as an integer DCT base, and an inverse orthogonal transform base when performing integer precision IDCT (Inverse Discrete Cosine Transform) is referred to as an integer IDCT base.

〔符号化装置〕
まず、本発明の実施形態による符号化装置について説明する。図1は、本発明の実施形態による符号化装置の構成を示すブロック図である。この符号化装置11は、前処理部1、減算部2、直交変換部3、量子化部4、逆量子化部5、逆直交変換部6、加算部7、フレームメモリ8、信号予測部9及びエントロピー符号化部10を備えている。
[Encoder]
First, an encoding apparatus according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration of an encoding apparatus according to an embodiment of the present invention. The encoding device 11 includes a preprocessing unit 1, a subtraction unit 2, an orthogonal transformation unit 3, a quantization unit 4, an inverse quantization unit 5, an inverse orthogonal transformation unit 6, an addition unit 7, a frame memory 8, and a signal prediction unit 9. And an entropy encoding unit 10.

前処理部1は、符号化対象の信号を入力し、この入力信号に対し、符号化のために必要な所定の前処理を行う。前処理については既知であるから、ここでは説明を省略する。減算部2は、前処理部1から前処理後の信号を入力すると共に、後述する信号予測部9から予測信号を入力し、前処理後の信号から予測信号を減算し、差分信号を生成する。   The preprocessing unit 1 receives a signal to be encoded, and performs predetermined preprocessing necessary for encoding on the input signal. Since the preprocessing is known, the description thereof is omitted here. The subtraction unit 2 receives a preprocessed signal from the preprocessing unit 1 and also receives a prediction signal from a signal prediction unit 9 described later, and subtracts the prediction signal from the preprocessed signal to generate a difference signal. .

直交変換部3は、減算部2から減算結果の差分信号を入力し、図示しない記憶部に格納された所定の整数精度の直交変換基底を読み出して直交変換を行い、直交変換係数を生成する。直交変換の例として、整数DCTを行う。所定の整数精度の直交変換基底は、後述する直交変換基底算出装置20により算出され、符号化装置11の記憶部に予め格納されているものとする。直交変換基底算出装置20の処理、及び直交変換基底算出装置20により算出される整数精度の直交変換基底の詳細については後述する。   The orthogonal transformation unit 3 receives the difference signal as a subtraction result from the subtraction unit 2, reads out an orthogonal transformation base with a predetermined integer precision stored in a storage unit (not shown), performs orthogonal transformation, and generates an orthogonal transformation coefficient. As an example of orthogonal transform, integer DCT is performed. It is assumed that the predetermined integer precision orthogonal transform base is calculated by an orthogonal transform base calculation device 20 described later and stored in advance in the storage unit of the encoding device 11. Details of the processing of the orthogonal transform base calculation apparatus 20 and the integer precision orthogonal transform base calculated by the orthogonal transform base calculation apparatus 20 will be described later.

量子化部4は、直交変換部3から直交変換係数を入力し、量子化を行う。逆量子化部5は、量子化部4から量子化した信号を入力し、逆量子化を行い、逆量子化した信号を逆直交変換部6に出力する。   The quantization unit 4 receives the orthogonal transform coefficient from the orthogonal transform unit 3 and performs quantization. The inverse quantization unit 5 receives the quantized signal from the quantization unit 4, performs inverse quantization, and outputs the inversely quantized signal to the inverse orthogonal transform unit 6.

逆直交変換部6は、逆量子化部5から逆量子化された信号を入力し、図示しない記憶部に格納された所定の整数精度の逆直交変換基底を読み出して逆直交変換を行い、差分信号を再生する。逆直交変換の例として、整数精度のIDCTを行う。所定の整数精度の逆直交変換基底は、後述する直交変換基底算出装置20により算出され、符号化装置11の記憶部に予め格納されているものとする。直交変換基底算出装置20により算出される整数精度の逆直交変換基底の詳細については後述する。   The inverse orthogonal transform unit 6 receives the inversely quantized signal from the inverse quantization unit 5, reads an inverse orthogonal transform base with a predetermined integer precision stored in a storage unit (not shown), performs inverse orthogonal transform, Play the signal. As an example of inverse orthogonal transform, integer precision IDCT is performed. It is assumed that the inverse orthogonal transform base having a predetermined integer precision is calculated by an orthogonal transform base calculation device 20 described later and stored in advance in the storage unit of the encoding device 11. Details of the integer-precision inverse orthogonal transform base calculated by the orthogonal transform base calculation apparatus 20 will be described later.

加算部7は、逆直交変換部6から逆直交変換係数を入力すると共に、後述する信号予測部9から予測信号を入力し、逆直交変換係数に予測信号を加算する。フレームメモリ8は、加算部7から加算結果の信号を入力し、復号信号として記憶する。フレームメモリ8に記憶された復号信号は、後述する信号予測部9により、予測信号を生成する際の参照信号として読み出される。   The adding unit 7 receives the inverse orthogonal transform coefficient from the inverse orthogonal transform unit 6 and also receives the prediction signal from the signal prediction unit 9 described later, and adds the prediction signal to the inverse orthogonal transform coefficient. The frame memory 8 receives the addition result signal from the adder 7 and stores it as a decoded signal. The decoded signal stored in the frame memory 8 is read out as a reference signal when generating a prediction signal by a signal prediction unit 9 described later.

信号予測部9は、フレームメモリ8から参照信号を読み出し、参照信号に基づいて、所定の予測方式により予測信号を生成し、減算部2及び加算部7に出力する。エントロピー符号化部10は、量子化部4から量子化した信号を入力し、エントロピー符号化し、符号化信号を出力する。この符号化信号は、後述する復号装置38へ出力される。   The signal prediction unit 9 reads the reference signal from the frame memory 8, generates a prediction signal by a predetermined prediction method based on the reference signal, and outputs the prediction signal to the subtraction unit 2 and the addition unit 7. The entropy encoding unit 10 receives the quantized signal from the quantization unit 4, performs entropy encoding, and outputs an encoded signal. This encoded signal is output to a decoding device 38 to be described later.

〔直交変換基底の性質〕
次に、本発明の実施形態にて用いる整数DCT基底及び整数IDCT基底、並びにこれらを算出する直交変換基底算出装置20の説明に先立って、一般的な直交変換基底の性質について、小数精度のDCTを行う場合の直交変換基底(小数DCT基底)及び整数DCT基底を例に挙げて説明する。
[Properties of orthogonal transform base]
Next, prior to the description of the integer DCT base and integer IDCT base used in the embodiment of the present invention and the orthogonal transform base calculation apparatus 20 that calculates them, the DCT of decimal precision will be described with respect to the properties of general orthogonal transform bases. An orthogonal transform base (decimal DCT base) and an integer DCT base when performing the above will be described as an example.

(小数DCT基底)
まず、小数DCT基底の性質について説明する。図2は、16×16要素からなる小数DCT基底(小数精度の正規直交変換基底)を示す図である。一般に、小数DCT基底の各基底ベクトルは、以下に示す(a)〜(c)の3つの性質を持つ。ここで、基底ベクトルとは、図2に示す16×16要素からなる小数DCT基底において、各行の要素からなるベクトルをいう。
(Decimal DCT basis)
First, the nature of the decimal DCT base will be described. FIG. 2 is a diagram showing a decimal DCT base (orthogonal transform base with decimal precision) composed of 16 × 16 elements. In general, each base vector of the decimal DCT base has the following three properties (a) to (c). Here, the basis vector means a vector composed of elements in each row in the decimal DCT basis composed of 16 × 16 elements shown in FIG.

(a)正規性
第1に、小数DCT基底の各基底ベクトルは、正規性を持つ。すなわち、各基底ベクトルのノルム(基底ベクトルの要素の2乗和、または同じ基底ベクトル同士の内積)が1であるという性質を持つ。
(A) Normality First, each basis vector of the decimal DCT basis has normality. That is, each base vector has a property that the norm (the sum of squares of the elements of the base vectors or the inner product of the same base vectors) is 1.

(b)直交性
第2に、小数DCT基底の各基底ベクトルは、直交性を持つ。すなわち、異なる基底ベクトル同士の内積が0であるという性質を持つ。図2に示した16×16要素からなる小数DCT基底の行列をDCT16とし、DCT16の転置行列をDCT16’とすると、前記(a)及び(b)の性質から、DCT16×DCT16’の演算結果(DCT16とDCT16’の積)は、16×16の単位行列となる。また、DCT16×DCT16’の演算結果におけるi行j列の要素は、第i行目の基底ベクトルと第j行目の基底ベクトルとの間の内積を示す。i=1,・・・16、j=1,・・・,16である。
(B) Orthogonality Second, each base vector of the decimal DCT basis has orthogonality. That is, it has the property that the inner product of different basis vectors is zero. Assuming that the DCT16 matrix of the decimal DCT basis composed of 16 × 16 elements shown in FIG. 2 is DCT16 ′ and the transposed matrix of DCT16 is DCT16 ′, the calculation result of DCT16 × DCT16 ′ ( The product of DCT16 and DCT16 ′) is a 16 × 16 unit matrix. The element of i row and j column in the calculation result of DCT16 × DCT16 ′ represents an inner product between the basis vector of the i-th row and the basis vector of the j-th row. i = 1,... 16 and j = 1,.

(c)対称性
第3に、小数DCT基底の各基底ベクトルは、奇数行の基底ベクトルが偶対称であり、偶数行の基底ベクトルが奇対称であるという性質を持つ。
(C) Symmetry Third, each basis vector of the decimal DCT basis has the property that the basis vectors of the odd-numbered rows are even symmetric and the basis vectors of the even-numbered rows are oddly symmetric.

このように、小数DCT基底の各基底ベクトルは、前述の(a)〜(c)の性質を持つが、整数DCT基底の各基底ベクトルは、前述の(a)の性質を持たず、(b)及び(c)の性質を持つ。整数DCT基底の各基底ベクトルが(a)の性質を持たないのは、その要素が整数であり、基底ベクトルのノルムが1より大きくなってしまうからである。したがって、整数DCT基底の各基底ベクトルは、正規性の性質(a)の代わりに、各基底ベクトルのノルムがほぼ等しいという性質(a’)を持たせる。つまり、整数DCT基底の各基底ベクトルは、前述の(a’)(b)(c)の性質を持つことが望ましい。   Thus, each base vector of the decimal DCT base has the above-described properties (a) to (c), but each base vector of the integer DCT base does not have the above-described property (a), and (b ) And (c). The reason why each base vector of the integer DCT base does not have the property (a) is that the element is an integer, and the norm of the base vector becomes larger than 1. Therefore, each basis vector of the integer DCT basis has the property (a ′) that the norm of each basis vector is substantially equal, instead of the property (a) of normality. That is, each base vector of the integer DCT base desirably has the properties (a ′), (b), and (c) described above.

(整数DCT基底)
次に、整数DCT基底について説明する。図3は、非特許文献1に記載された、16×16要素からなる整数DCT基底を示す図である。図3に示す整数DCT基底は、図2に示した小数DCT基底の各要素を256倍して整数に丸めた後、第2行目〜第16行目の各基底ベクトルのノルムが第1行目の基底ベクトルのノルム65536(=256×256)に近くなるように各要素を操作し、偶数行の基底ベクトルの要素について|26|を|25|としたものである。
(Integer DCT basis)
Next, the integer DCT base will be described. FIG. 3 is a diagram showing an integer DCT base composed of 16 × 16 elements described in Non-Patent Document 1. The integer DCT base shown in FIG. 3 is obtained by multiplying each element of the decimal DCT base shown in FIG. 2 by 256 and rounding it to an integer. Then, the norm of each base vector in the second to sixteenth rows is the first row. Each element is operated so as to be close to the norm 65536 (= 256 × 256) of the basis vector of the eye, and | 26 | is set to | 25 |

図4は、図3に示した整数DCT基底の行列とその転置行列との演算結果を示す図であり、図4の行列は、図3に示した16×16要素からなる整数DCT基底の行列をTc16とし、Tc16の転置行列をTc16’とした場合の、Tc16×Tc16’の演算結果である。図4に示す行列におけるi行j列(i=1,2,・・・,16、j=1,2,・・・,16)の要素は、図3に示した整数DCT基底におけるi行の基底ベクトルとj行の基底ベクトルとの内積を示している。   FIG. 4 is a diagram showing a calculation result of the integer DCT basis matrix shown in FIG. 3 and its transposed matrix. The matrix of FIG. 4 is an integer DCT basis matrix composed of 16 × 16 elements shown in FIG. Is a calculation result of Tc16 × Tc16 ′ where Tc16 is the transposed matrix of Tc16 and Tc16 ′ is Tc16 ′. The elements of i rows and j columns (i = 1, 2,..., 16, j = 1, 2,..., 16) in the matrix shown in FIG. 4 are i rows in the integer DCT base shown in FIG. Represents the inner product of the basis vector of j and the basis vector of j rows.

整数DCTの基底ベクトルが、理想的には(a’)(b)の性質を持つことからすると、Tc16×Tc16’の演算結果は、16×16の単位行列を65536倍したものとなるべきである。しかし、図4では、16×16の単位行列を65536倍したものになっていない。つまり、非特許文献1に記載された整数DCT基底(図3に示した整数DCT基底)の各基底ベクトルは、基底ベクトルのノルムの大きさの統一性((a')の性質)及び基底ベクトルの直交性((b)の性質)が十分でないことがわかる。図3に示した整数DCT基底を用いてDCTを行った場合には、整数DCT基底における(a’)(b)の性質が十分でないから、符号化効率が十分でない可能性がある。   Given that the integer DCT basis vector ideally has the properties of (a ′) and (b), the result of Tc16 × Tc16 ′ should be a 16536 unit matrix multiplied by 65536. is there. However, in FIG. 4, the 16 × 16 unit matrix is not multiplied by 65536. In other words, each of the basis vectors of the integer DCT basis (the integer DCT basis shown in FIG. 3) described in Non-Patent Document 1 is based on the unity of the norm magnitude of the basis vector (property (a ′)) and the basis vector. It can be seen that the orthogonality (property (b)) is not sufficient. When DCT is performed using the integer DCT base shown in FIG. 3, the properties of (a ′) and (b) in the integer DCT base are not sufficient, and thus the coding efficiency may not be sufficient.

そこで、後述する直交変換基底算出装置は、基底ベクトルのノルムの大きさの統一性((a')の性質)及び基底ベクトルの直交性((b)の性質)をさらに向上させ、DCTと同様の対称性((c)の性質)を持つ整数DCT基底を算出する。そして、図1に示した直交変換部3は、直交変換基底算出装置により算出された整数DCT基底を用いて直交変換を行う。これにより、符号化効率を向上させることができる。逆直交変換を行う際に用いる整数IDCT基底についても同様である。   Therefore, the orthogonal transform basis calculation apparatus described later further improves the uniformity of the norm magnitude of the basis vectors (property (a ′)) and the orthogonality of the basis vectors (property (b)), and is similar to DCT. An integer DCT basis having the following symmetry (property (c)) is calculated. The orthogonal transform unit 3 illustrated in FIG. 1 performs orthogonal transform using the integer DCT base calculated by the orthogonal transform base calculation device. Thereby, encoding efficiency can be improved. The same applies to the integer IDCT base used when performing inverse orthogonal transform.

〔直交変換基底算出装置〕
次に、基底ベクトルのノルムの大きさの統一性((a')の性質)及び基底ベクトルの直交性((b)の性質)をさらに向上させ、DCTと同様の対称性((c)の性質)を持つ整数DCT基底及び整数IDCT基底を算出する直交変換基底算出装置について説明する。図5は、直交変換基底算出装置の構成を示すブロック図である。この直交変換基底算出装置20は、整数化手段21、基底算出手段22及び転置算出手段23を備えている。整数化手段21は、小数DCT基底(例えば、16×16要素からなる小数DCT基底の場合を図2に示す。)を入力し、この小数DCT基底の各要素を所定倍(例えば256倍)して整数に丸め、整数丸め後のDCT基底を基底算出手段22に出力する。
[Orthogonal transform basis calculation device]
Next, the uniformity of the norm size of the basis vectors (property (a ′)) and the orthogonality of the basis vectors (property (b)) are further improved, and the same symmetry ((c) An orthogonal transform base calculation apparatus for calculating an integer DCT base having a property) and an integer IDCT base will be described. FIG. 5 is a block diagram illustrating a configuration of the orthogonal transform base calculation apparatus. The orthogonal transform base calculation apparatus 20 includes an integerization unit 21, a base calculation unit 22, and a transposition calculation unit 23. The integer converting means 21 inputs a decimal DCT base (for example, the case of a decimal DCT base composed of 16 × 16 elements is shown in FIG. 2), and each element of the decimal DCT base is multiplied by a predetermined number (for example, 256 times). Round to integer and output the DCT base after rounding to the basis calculation means 22.

基底算出手段22は、整数化手段21から整数丸め後のDCT基底を入力し、整数丸め後のDCT基底の各要素を±n(nは1以上の整数)の範囲で操作し、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とを向上させるための数式(1)のコスト関数を用いて、コスト(cost)が最小になるように整数DCT基底の要素を求め、整数DCT基底を出力する。
(数1)
cost=a×Σ|基底ベクトルのノルム−理想のノルム|+Σ|異なる基底ベクトル同士の内積−0|
=a×Σ|基底ベクトル同士の内積−理想のノルム|+Σ|異なる基底ベクトル同士の内積| ・・・(1)
The base calculation means 22 inputs the DCT base after integer rounding from the integerizing means 21, operates each element of the DCT base after integer rounding within a range of ± n (n is an integer of 1 or more), and Using the cost function of Equation (1) for improving the uniformity of the norm size and the orthogonality of the basis vectors, the elements of the integer DCT basis are obtained so as to minimize the cost (cost), and the integer DCT Output the base.
(Equation 1)
cost = a × Σ | the norm of the basis vectors−the ideal norm | + Σ | the inner product−0 | of different basis vectors
= A × Σ | inner product between basis vectors−ideal norm | + Σ | inner product between different basis vectors | (1)

前記数式(1)において、基底ベクトル同士の内積は、同じ基底ベクトルの内積を意味する。また、右辺の第1項は、基底ベクトルにおけるノルムの大きさの統一性の程度を示し、値が小さいほど統一性が実現されることになる((a’)の性質)。また、右辺の第2項は、基底ベクトルの直交性の程度を示し、値が小さいほど直交性が実現されることになる((b)の性質)。aは正数であり、N点の整数DCT基底を求める場合は、a=Nとするとよい。例えば、16×16要素からなる整数DCT基底を求める場合は、N=16である。   In the mathematical formula (1), the inner product of the basis vectors means the inner product of the same basis vectors. The first term on the right side indicates the degree of uniformity of the norm magnitude in the basis vector, and the smaller the value, the more the uniformity is realized (property (a ′)). The second term on the right side indicates the degree of orthogonality of the basis vectors. The smaller the value, the more orthogonality is realized (property (b)). a is a positive number, and when an integer DCT base of N points is obtained, it is preferable that a = N. For example, when obtaining an integer DCT base composed of 16 × 16 elements, N = 16.

このように、前記数式(1)において、a=Nとしてaを第1項の乗算係数とすることにより、第1項である基底ベクトルのノルムの大きさの統一性を、第2項である基底ベクトルの直交性よりも、要素数を示すNの大きさに比例して重視するようにした。画像の符号化においては、直交変換を行った後に量子化を行って変換係数の丸めが行われることを考えると、基底ベクトルの直交性よりもノルムの大きさの統一性の方が重要と考えられる。   Thus, in Formula (1), by setting a = N and a being the multiplication coefficient of the first term, the unity of the norm magnitude of the basis vector as the first term is the second term. The orthogonality of the basis vectors is emphasized in proportion to the magnitude of N indicating the number of elements. In image coding, considering that the transform coefficient is rounded by performing quantization after orthogonal transform, it is more important to have a uniform norm size than the orthogonality of basis vectors. It is done.

前記数式(1)を一般式で表すと以下のようになる。
(数1’)
cost=a×Σ|(xi,xi)−b|+Σ|(xi,xj)| ・・・(1’)
bは、整数化手段21において、小数DCT基底の各要素をc倍(c>1)して整数に丸める場合の、c×cである(b=c×c)。xi,xjは、基底算出手段22において、整数丸め後のDCT基底の各要素を±n(nは1以上の整数)の範囲で操作する際の各基底ベクトルであり、i=1,2,・・・,N、j=1,2,・・・,Nである。(xi,xi)は基底ベクトルxi及びxiの内積値を示し、(xi,xj)は基底ベクトルxi及びxj(i≠j)の内積値を示す。
The formula (1) is expressed as a general formula as follows.
(Equation 1 ')
cost = a × Σ | (xi, xi) −b | + Σ | (xi, xj) | (1 ′)
b is c × c (b = c × c) when each element of the decimal DCT base is rounded to an integer by c times (c> 1) in the integerization means 21. xi and xj are basis vectors when the basis calculation means 22 operates each element of the DCT basis after integer rounding within a range of ± n (n is an integer of 1 or more), i = 1, 2, .., N, j = 1, 2,. (Xi, xi) indicates an inner product value of the base vectors xi and xi, and (xi, xj) indicates an inner product value of the base vectors xi and xj (i ≠ j).

転置算出手段23は、基底算出手段22から整数DCT基底を入力し、整数DCT基底の行列の転置行列を求め、整数IDCT基底として出力する。基底算出手段22により出力された整数DCT基底、及び転置算出手段23により出力された整数IDCT基底は、図1に示した符号化装置11の記憶部に格納され、整数DCT基底が直交変換部3による直交変換のために用いられ、整数IDCT基底が逆直交変換部6による逆直交変換のために用いられる。また、転置算出手段23により出力された整数IDCT基底は、後述する図9に示す復号装置38の記憶部に格納され、逆直交変換部33よる逆直交変換のために用いられる。   The transposition calculation means 23 receives the integer DCT base from the base calculation means 22, obtains a transpose matrix of the integer DCT base matrix, and outputs it as an integer IDCT base. The integer DCT base output by the base calculation means 22 and the integer IDCT base output by the transposition calculation means 23 are stored in the storage unit of the encoding device 11 shown in FIG. The integer IDCT base is used for the inverse orthogonal transform by the inverse orthogonal transform unit 6. Further, the integer IDCT base output by the transposition calculation means 23 is stored in a storage unit of the decoding device 38 shown in FIG. 9 described later, and is used for inverse orthogonal transform by the inverse orthogonal transform unit 33.

これにより、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とを向上させた整数DCT基底及び整数IDCT基底を算出することができ、符号化効率を向上させることができる。尚、整数DCT基底及び整数IDCT基底の各基底ベクトルが対称性の性質(c)を持つことから、前記数式(1’)の右辺第2項において、i<jとしてもよい。これにより、整数DCT基底及び整数IDCT基底を算出する際の計算量を減らすことができる。   Thereby, it is possible to calculate the integer DCT base and the integer IDCT base in which the uniformity of the norm size of the basis vectors and the orthogonality of the basis vectors are improved, and the coding efficiency can be improved. Since each base vector of the integer DCT basis and the integer IDCT basis has a symmetry property (c), i <j may be set in the second term on the right side of the equation (1 ′). Thereby, the calculation amount at the time of calculating the integer DCT base and the integer IDCT base can be reduced.

(偶数行の基底ベクトルのみを用いる場合)
以下、非特許文献1に記載された図3に示す16×16要素からなる整数DCT基底の改善を例に説明する。図3に示した整数DCT基底において、DCT基底と同様の対称性及び基底ベクトルの周期性を考慮すると、図4に示した演算結果の行列のように、奇数行偶数列及び偶数行奇数列、並びにi+j=18(=N+2、NはDCTの入力点数16)となるi行j列(i,jは偶数)の要素(内積値)は、常に0である。したがって、図5に示した直交変換基底算出装置20の基底算出手段22は、前記数式(1)(1’)のコストが最小になるように整数DCT基底の要素を求める際に、この部分(奇数行偶数列及び偶数行奇数列、並びにi+j=18(=N+2、NはDCTの入力点数16)となるi行j列(i,jは偶数)の要素)に対応する基底ベクトルの内積については、前記数式(1)(1’)の計算に含めないようにする。
(When using only even number basis vectors)
Hereinafter, the improvement of the integer DCT base composed of 16 × 16 elements shown in FIG. 3 described in Non-Patent Document 1 will be described as an example. In the integer DCT base shown in FIG. 3, considering the symmetry and the periodicity of the basis vectors similar to the DCT base, as shown in the matrix of the operation result shown in FIG. In addition, an element (inner product value) of i rows and j columns (i and j are even numbers) that becomes i + j = 18 (= N + 2, N is 16 DCT input points) is always 0. Therefore, when the base calculation means 22 of the orthogonal transform base calculation apparatus 20 shown in FIG. 5 obtains an integer DCT base element so as to minimize the cost of the mathematical formulas (1) and (1 ′), this portion ( An inner product of basis vectors corresponding to odd rows, even columns, even rows, odd columns, and i rows and j columns (i, j are even numbers) of i + j = 18 (= N + 2, N is 16 DCT input points). Is not included in the calculation of the mathematical formulas (1) and (1 ′).

また、非特許文献1に記載された4×4〜32×32要素からなる整数DCT基底において(16×16要素からなる整数DCT基底は図3を参照)、2N×2N要素からなる整数DCT基底の奇数行は、N×N要素からなる整数DCT基底の第k行目(k=1〜N)を偶対称にして、2N×2N要素からなる整数DCT基底の第2k−1行目としたものであり、要素の値は決まっている。したがって、奇数行の基底ベクトル同士の内積は一定であるから、奇数行の基底ベクトル同士の内積演算を前記数式(1)(1’)から除外しても、コストが最小値になるように要素を求める際のコスト算出には影響しない。つまり、図5に示した直交変換基底算出装置20の基底算出手段22は、前記数式(1)(1’)のコストが最小になるように整数DCT基底の要素を求める際に、奇数行の基底ベクトル同士の内積についても、前記数式(1)(1’)の計算に含めないようにする。   Further, in the integer DCT base composed of 4 × 4 to 32 × 32 elements described in Non-Patent Document 1 (see FIG. 3 for the integer DCT base composed of 16 × 16 elements), the integer DCT base composed of 2N × 2N elements The odd-numbered rows of the integer DCT base consisting of N × N elements (k = 1 to N) are evenly symmetric, and the second k−1-th row of integer DCT base consisting of 2N × 2N elements. The value of the element is fixed. Therefore, since the inner product between the odd-numbered basis vectors is constant, even if the inner-product operation between the odd-numbered basis vectors is excluded from the equations (1) and (1 ′), the cost is minimized. This does not affect the cost calculation when calculating. That is, when the base calculation means 22 of the orthogonal transform base calculation apparatus 20 shown in FIG. 5 calculates the elements of the integer DCT base so that the cost of the equations (1) and (1 ′) is minimized, The inner product between the basis vectors is not included in the calculations of the mathematical formulas (1) and (1 ′).

以上により、直交変換基底算出装置20の基底算出手段22は、前記数式(1)(1’)のコストが最小になるように整数DCT基底の要素を求める際に、前記数式(1)(1’)の内積計算において、偶数行の基底ベクトルの内積のみを計算すればよい。   As described above, when the base calculation unit 22 of the orthogonal transform base calculation apparatus 20 obtains the elements of the integer DCT base so that the cost of the formulas (1) and (1 ′) is minimized, the formula (1) (1 In the inner product calculation of '), only the inner product of the basis vectors of even rows need be calculated.

(第2行目の基底ベクトルを用いる場合)
また、DCT基底の周期性の性質を考慮すると、直交変換基底算出装置20の基底算出手段22は、図4に示した演算結果の行列において2行目の非0の要素に対応する基底ベクトルの内積についてのみ、前記数式(1)(1’)を計算すればよい。
(When using the basis vector in the second row)
Further, in consideration of the periodic nature of the DCT base, the base calculation means 22 of the orthogonal transform base calculation apparatus 20 calculates the basis vector corresponding to the non-zero element in the second row in the matrix of the operation results shown in FIG. The mathematical formulas (1) and (1 ′) need only be calculated for inner products.

図3に示した整数DCT基底では、DCT基底の性質により、第2行目の基底ベクトルの各要素と、第4,6,・・・,16行目(第2行目以外の偶数行目)の基底ベクトルの各要素は、順番は異なるが同じ要素により構成されているから、偶数行目の各基底ベクトルのノルムの大きさ(各基底ベクトル同士の内積)は等しい。また、第2行目以外の偶数行目の各基底ベクトルは、第2行目の基底ベクトルの要素を所定の間隔おきにサンプリングしたものであるというDCT基底の性質により、第2行目の基底ベクトルと第4,6,・・・,16行目(第2行目以外の偶数行目)の基底ベクトルとの内積の絶対値和、第4行目の基底ベクトルと第2,6,8,・・・,16行目(第4行目以外の偶数行目)の基底ベクトルとの内積の絶対値和、第6行目の基底ベクトルと第2,4,8,・・・,16行目(第6行目以外の偶数行目)の基底ベクトルの内積との絶対値和、・・・、第16行目の基底ベクトルと第2,4,6,・・・,14行目(第16行目以外の偶数行目)の基底ベクトルとの内積の絶対値和は等しい。以上のことから、数式(1)(1’)において、第2行目の基底ベクトルと偶数行目の基底ベクトルの内積を計算することとし、数式(1’)において、i=2とすればよい。   In the integer DCT base shown in FIG. 3, due to the nature of the DCT base, each element of the base vector in the second row and the fourth, sixth,..., Sixteenth rows (even rows other than the second row). ) Are composed of the same elements but in the same order, the norms of the base vectors in the even rows (inner products of the base vectors) are equal. Further, each basis vector in the even-numbered rows other than the second row is based on the characteristics of the DCT basis that elements of the basis vectors in the second row are sampled at predetermined intervals. The sum of absolute values of the inner product of the vector and the basis vectors of the 4th, 6th,..., 16th row (even number rows other than the 2nd row), the basis vector of the 4th row, ,..., The absolute value sum of the inner products with the basis vectors of the 16th row (even rows other than the 4th row), the basis vectors of the 6th row and the 2nd, 4th, 8th,. The absolute value sum of the inner product of the basis vectors of the line (even lines other than the 6th line),..., The 16th line and the 2, 4, 6,. The sum of the absolute values of the inner products with the basis vectors of (even-numbered lines other than the 16th line) is equal. From the above, if the inner product of the basis vector of the second row and the basis vector of the even-numbered row is calculated in Equations (1) and (1 ′), and if i = 2 in Equation (1 ′), Good.

したがって、図5に示した直交変換基底算出装置20の基底算出手段22は、整数化手段21から整数丸め後のDCT基底を入力し、整数丸め後のDCT基底の各要素を±n(nは1以上の整数)の範囲で操作しながら、以下の数式(2)を用いて、コストが最小になるように第2行目の基底ベクトルの要素を求め、この第2行目の基底ベクトルの要素及びDCTの性質に基づいて第2行目以外の偶数行の基底ベクトルの要素を求め、整数DCT基底を出力する。第2行目の基底ベクトルの要素が決定すれば、DCTの性質から、第2行目以外の偶数行の基底ベクトルの要素が一義的に決定される。また、本実施形態の前提より、奇数行の基底ベクトルは既知である。
(数2)
cost=16×|(x2,x2)−64^2×16|
+|(x2,x4)|+|(x2, x6)|+|(x2, x8)|
+|(x2,x10)|+|(x2,x12)|+|(x2,x14)| ・・・(2)
x1,x2,・・・,x16は、求める整数DCT基底の第1行目、第2行目、・・・、第16行目の基底ベクトルを示し、(A,B)はベクトルA及びBの内積値を示す。
Therefore, the base calculation means 22 of the orthogonal transform base calculation apparatus 20 shown in FIG. 5 inputs the DCT base after integer rounding from the integerizing means 21, and each element of the DCT base after integer rounding is ± n (n is While operating in the range of an integer of 1 or more, the following formula (2) is used to obtain the elements of the basis vectors in the second row so as to minimize the cost. Based on the properties of the elements and the DCT, the elements of the basis vectors of even rows other than the second row are obtained, and an integer DCT basis is output. If the elements of the basis vectors in the second row are determined, the elements of the basis vectors in even rows other than the second row are uniquely determined from the nature of the DCT. Also, the basis vectors of odd rows are known from the premise of this embodiment.
(Equation 2)
cost = 16 × | (x2, x2) −64 ^ 2 × 16 |
+ | (X2, x4) | + | (x2, x6) | + | (x2, x8) |
+ | (X2, x10) | + | (x2, x12) | + | (x2, x14) | (2)
x1, x2,..., x16 indicate the basis vectors of the first row, the second row,..., the 16th row of the integer DCT basis to be obtained, and (A, B) are the vectors A and B. Indicates the inner product value of.

前記数式(2)のコスト関数を最小化する第2行目の基底ベクトルは、整数に丸めた値±1の範囲で求めると、以下のとおりになる。
[91, 87, 79, 70, 56, 43, 27, 8, -8, -27, -43, -56, -70, -79, -87, -91]
The basis vector of the second row that minimizes the cost function of the equation (2) is as follows when calculated in the range of a value ± 1 rounded to an integer.
[91, 87, 79, 70, 56, 43, 27, 8, -8, -27, -43, -56, -70, -79, -87, -91]

(基底ベクトルの前半の要素のみを用いる場合)
さらに、前記数式(2)を用いてコストを計算する際には、図3に示した整数DCT基底の対称性の性質を考慮すると、基底ベクトルの前半の8個目の要素までの内積をそれぞれ計算すればよい。これは、偶数行の基底ベクトルが奇対称であり、要素数が2Mの奇対称のベクトルをo1,o2とすると、o1,o2の内積は、o1,o2の前半のM個目までの要素の内積の2倍になるからである。これにより、計算量を減らすことができる。
(When only the first half of the basis vector is used)
Further, when calculating the cost using Equation (2), the inner product up to the eighth element of the first half of the basis vector is calculated in consideration of the symmetry property of the integer DCT basis shown in FIG. Calculate it. This is because if the basis vectors of even rows are oddly symmetric and the odd symmetric vectors with 2M elements are o1 and o2, the inner product of o1 and o2 is the number of elements up to the Mth element in the first half of o1 and o2. This is because it is twice the inner product. Thereby, the amount of calculation can be reduced.

以下、具体的に説明する。直交変換基底算出装置20の基底算出手段22は、整数化手段21から整数丸め後のDCT基底を入力し、前記数式(2)を用いて、コストが最小になるように整数DCT基底の要素を求める際に、第2行目の基底ベクトルx2における前半8個の要素x2[0],x2[1],・・・,x2[7]に基づいて、第4,6,・・・,14行目の基底ベクトルx4,x6,・・・,x14における前半8個の要素をそれぞれ求め、x2[0],x2[1],・・・,x2[7]の値を所定の範囲(±1の範囲)で操作しながら、基底ベクトルの前半8個の要素による前記数式(2)のコストの最小値を求め、整数DCT基底を求める。   This will be specifically described below. The base calculation means 22 of the orthogonal transform base calculation apparatus 20 inputs the DCT base after the integer rounding from the integer conversion means 21, and uses the equation (2) to determine the elements of the integer DCT base so that the cost is minimized. When obtaining the fourth, sixth,..., 14 based on the first half 8 elements x2 [0], x2 [1],..., X2 [7] in the basis vector x2 in the second row. The eight elements in the first half of the basis vectors x4, x6,..., X14 in the row are obtained, and the values of x2 [0], x2 [1],. 1), the minimum value of the cost of Equation (2) by the first eight elements of the basis vector is obtained, and the integer DCT basis is obtained.

すなわち、基底算出手段22は、ステップ1の処理として、第2行目の基底ベクトルx2における前半8個の要素x2[0],x2[1],・・・,x2[7]から、第4行目の基底ベクトルx4における前半8個の要素x4[0],x4[1],・・・,x4[7]、第6行目の基底ベクトルx6における前半8個の要素x6[0],x6[1],・・・,x6[7]、・・・、第14行目の基底ベクトルx14における前半8個の要素x14[0],x14[1],・・・,x14[7]を求める。そして、基底算出手段22は、ステップ2の処理として、第2行目の基底ベクトルx2における前半8個の要素x2[0],x2[1],・・・,x2[7]、及びステップ1の処理にて求めた第4,6,・・・,14行目の基底ベクトルにおける前半8個の要素から両ベクトルの内積を計算し、基底ベクトルの前半8個の要素による前記数式(2)のコストを求める。そして、コストが最小値となる整数DCT基底の要素を求める。   That is, the base calculation means 22 performs, as the processing of step 1, from the first half eight elements x2 [0], x2 [1],..., X2 [7] in the base vector x2 in the second row, The first eight elements x4 [0], x4 [1],..., X4 [7] in the basis vector x4 in the row, the first eight elements x6 [0] in the basis vector x6 in the sixth row, x6 [1],..., x6 [7],..., the first eight elements x14 [0], x14 [1],. Ask for. Then, the basis calculation means 22 performs the processing in step 2 as the first half of the elements x2 [0], x2 [1],..., X2 [7] in the basis vector x2 in the second row, and step 1 The inner product of both vectors is calculated from the eight elements in the first half of the basis vectors in the fourth, sixth,. Ask for the cost of. Then, an element of the integer DCT base having the minimum cost is obtained.

ステップ1の処理として、以下のステップ1−1〜ステップ1−6が行われる。
ステップ1−1は、第4行目の基底ベクトルx4の前半8個の要素x4[0]〜x4[7]を求める処理である。
x4[ 0] = x2[ 1];
x4[ 1] = x2[ 4];
x4[ 2] = x2[ 7];
x4[ 3] =-x2[ 5];
x4[ 4] =-x2[ 2];
x4[ 5] =-x2[ 0];
x4[ 6] =-x2[ 3];
x4[ 7] =-x2[ 6];
ステップ1−2は、第6行目の基底ベクトルx6の前半8個の要素x6[0]〜x6[7]を求める処理である。
x6[ 0] = x2[ 2];
x6[ 1] = x2[ 7];
x6[ 2] =-x2[ 3];
x6[ 3] =-x2[ 1];
x6[ 4] =-x2[ 6];
x6[ 5] = x2[ 4];
x6[ 6] = x2[ 0];
x6[ 7] = x2[ 5];
ステップ1−3は、第8行目の基底ベクトルx8の前半8個の要素x8[0]〜x8[7]を求める処理である。
x8[ 0] = x2[ 3];
x8[ 1] =-x2[ 5];
x8[ 2] =-x2[ 1];
x8[ 3] = x2[ 7];
x8[ 4] = x2[ 0];
x8[ 5] = x2[ 6];
x8[ 6] =-x2[ 2];
x8[ 7] =-x2[ 4];
As the processing of Step 1, the following Step 1-1 to Step 1-6 are performed.
Step 1-1 is a process for obtaining the first eight elements x4 [0] to x4 [7] of the basis vector x4 in the fourth row.
x4 [0] = x2 [1];
x4 [1] = x2 [4];
x4 [2] = x2 [7];
x4 [3] = -x2 [5];
x4 [4] = -x2 [2];
x4 [5] = -x2 [0];
x4 [6] = -x2 [3];
x4 [7] = -x2 [6];
Step 1-2 is a process for obtaining the first eight elements x6 [0] to x6 [7] of the basis vector x6 in the sixth row.
x6 [0] = x2 [2];
x6 [1] = x2 [7];
x6 [2] = -x2 [3];
x6 [3] = -x2 [1];
x6 [4] = -x2 [6];
x6 [5] = x2 [4];
x6 [6] = x2 [0];
x6 [7] = x2 [5];
Step 1-3 is processing for obtaining the first eight elements x8 [0] to x8 [7] of the basis vector x8 in the eighth row.
x8 [0] = x2 [3];
x8 [1] = -x2 [5];
x8 [2] = -x2 [1];
x8 [3] = x2 [7];
x8 [4] = x2 [0];
x8 [5] = x2 [6];
x8 [6] = -x2 [2];
x8 [7] = -x2 [4];

ステップ1−4は、第10行目の基底ベクトルx10の前半8個の要素x10[0]〜x10[7]を求める処理である。
x10[ 0] = x2[ 4];
x10[ 1] =-x2[ 2];
x10[ 2] =-x2[ 6];
x10[ 3] = x2[ 0];
x10[ 4] =-x2[ 7];
x10[ 5] =-x2[ 1];
x10[ 6] = x2[ 5];
x10[ 7] = x2[ 3];
ステップ1−5は、第12行目の基底ベクトルx12の前半8個の要素x12[0]〜x12[7]を求める処理である。
x12[ 0] = x2[ 5];
x12[ 1] =-x2[ 0];
x12[ 2] = x2[ 4];
x12[ 3] = x2[ 6];
x12[ 4] =-x2[ 1];
x12[ 5] = x2[ 3];
x12[ 6] = x2[ 7];
x12[ 7] =-x2[ 2];
ステップ1−6は、第14行目の基底ベクトルx14の前半8個の要素x14[0]〜x14[7]を求める処理である。
x14[ 0] = x2[ 6];
x14[ 1] =-x2[ 3];
x14[ 2] = x2[ 0];
x14[ 3] =-x2[ 2];
x14[ 4] = x2[ 5];
x14[ 5] = x2[ 7];
x14[ 6] =-x2[ 4];
x14[ 7] = x2[ 1];
Step 1-4 is a process for obtaining the first eight elements x10 [0] to x10 [7] of the basis vector x10 in the tenth row.
x10 [0] = x2 [4];
x10 [1] = -x2 [2];
x10 [2] = -x2 [6];
x10 [3] = x2 [0];
x10 [4] = -x2 [7];
x10 [5] = -x2 [1];
x10 [6] = x2 [5];
x10 [7] = x2 [3];
Step 1-5 is processing for obtaining the first half 8 elements x12 [0] to x12 [7] of the basis vector x12 in the 12th row.
x12 [0] = x2 [5];
x12 [1] = -x2 [0];
x12 [2] = x2 [4];
x12 [3] = x2 [6];
x12 [4] = -x2 [1];
x12 [5] = x2 [3];
x12 [6] = x2 [7];
x12 [7] = -x2 [2];
Step 1-6 is a process for obtaining the first eight elements x14 [0] to x14 [7] of the basis vector x14 in the fourteenth row.
x14 [0] = x2 [6];
x14 [1] = -x2 [3];
x14 [2] = x2 [0];
x14 [3] = -x2 [2];
x14 [4] = x2 [5];
x14 [5] = x2 [7];
x14 [6] = -x2 [4];
x14 [7] = x2 [1];

ステップ2の処理として、ノルムの大きさを揃えるための項と、直交性を高めるための項(異なる基底ベクトルの内積を求めるための項)とが加算され、コストを求める処理が行われる。
cost = 0;//初期化
cost += 16×abs(InnerProduct(x2, x2, 8)-64×64×8);//ノルムの大きさを揃える
cost += abs(InnerProduct(x2, x4, 8));//異なる基底ベクトルの内積を求める(以下同じ)
cost += abs(InnerProduct(x2, x6, 8));
cost += abs(InnerProduct(x2, x8, 8));
cost += abs(InnerProduct(x2, x10, 8));
cost += abs(InnerProduct(x2, x12, 8));
cost += abs(InnerProduct(x2, x14, 8));
ここで、関数absは、絶対値をとることを示し、関数InnerProductは、InnerProduct(A0, A1, m)で、A0及びA1の配列において、m番目の要素までの内積を行うことを示す。
As the processing of Step 2, a term for aligning the magnitude of the norm and a term for enhancing orthogonality (a term for obtaining an inner product of different basis vectors) are added, and a process for obtaining a cost is performed.
cost = 0; // initialization
cost + = 16 × abs (InnerProduct (x2, x2, 8) -64 × 64 × 8); // Make the norm size the same
cost + = abs (InnerProduct (x2, x4, 8)); // Find the inner product of different basis vectors (same below)
cost + = abs (InnerProduct (x2, x6, 8));
cost + = abs (InnerProduct (x2, x8, 8));
cost + = abs (InnerProduct (x2, x10, 8));
cost + = abs (InnerProduct (x2, x12, 8));
cost + = abs (InnerProduct (x2, x14, 8));
Here, the function abs indicates that the absolute value is taken, and the function InnerProduct is InnerProduct (A0, A1, m), and indicates that the inner product up to the m-th element is performed in the array of A0 and A1.

ここで、16×16要素からなる整数DCT基底の基底ベクトルは要素の数が16個であるから、ノルムの大きさは、64×64×16=65536に近づけるようにするが、ここでは基底ベクトルの前半8個の要素を用いて計算するから、ノルムの大きさは、64×64×8=32768に近づけるようする。このように、基底ベクトルの前半の要素のみを用いて整数DCT基底を求める場合、16個の要素のベクトルの内積演算を8個の要素のベクトルの内積演算にすることができるから、和と積の計算回数を半分にし、計算量を削減することができる。この結果をもとに、奇対称性と、第2行目の基底ベクトルの要素と他の偶数行の基底ベクトルの要素の関係とから、偶数行の基底ベクトルを求め、既知の奇数行の基底ベクトルを組み合わせることにより、図6の16×16要素からなる整数DCT基底を求めることができた。   Here, since the base vector of the integer DCT base composed of 16 × 16 elements has 16 elements, the size of the norm is made close to 64 × 64 × 16 = 65536. Therefore, the norm size is made to approach 64 × 64 × 8 = 32768. In this way, when the integer DCT basis is obtained using only the first half elements of the basis vector, the inner product operation of the vector of 16 elements can be changed to the inner product operation of the vector of 8 elements. The number of calculations can be halved and the amount of calculation can be reduced. Based on this result, an even-numbered basis vector is obtained from the odd symmetry and the relationship between the basis vector elements of the second row and the elements of other even-numbered basis vectors. By combining the vectors, an integer DCT base composed of 16 × 16 elements in FIG. 6 could be obtained.

図6は、本発明の実施形態にて用いる、16×16要素からなる整数DCT基底を示す図であり、図5に示した直交変換基底算出装置20の基底算出手段22により前記数式(1)等を用いて算出され出力される整数DCT基底を示す。尚、直交変換基底算出装置20の転置算出手段23により算出され出力される16×16要素の整数IDCT基底は、図6に示した整数DCT基底の行列の転置行列である。   FIG. 6 is a diagram showing an integer DCT base composed of 16 × 16 elements used in the embodiment of the present invention. The mathematical expression (1) is obtained by the base calculation means 22 of the orthogonal transform base calculation apparatus 20 shown in FIG. Integer DCT base calculated and output using the above. Note that the 16 × 16-element integer IDCT base that is calculated and output by the transpose calculation unit 23 of the orthogonal transform base calculation apparatus 20 is a transpose matrix of the integer DCT base matrix shown in FIG.

図7は、図6に示した整数DCT基底の行列とその転置行列との演算結果を示す図であり、図7の行列は、図6に示した16×16要素からなる整数DCT基底の行列をTn16とし、Tn16の転置行列をTn16’とした場合の、Tn16×Tn16’の演算結果である。図7の行列におけるi行j列(i=1,2,・・・,16、j=1,2,・・・,16)の要素は、図6に示した整数DCT基底におけるi行の基底ベクトルとj行の基底ベクトルとの内積を示している。図7の各要素と、図4の各要素とを比較すると、図7の方が、対角成分の要素値が理想のノルム値である65536に近くなっており、対角成分以外の要素値が0に近くなっている。つまり、図7の行列の方が図4よりも、16×16の単位行列を65536倍した理想的な値に近づいている。したがって、図6に示した本発明の実施形態に用いる整数DCT基底の方が、図3に示した非特許文献1の整数DCT基底よりも、基底ベクトルのノルムの大きさの統一性((a')の性質)及び基底ベクトルの直交性((b)の性質)がさらに向上しているといえる   FIG. 7 is a diagram showing a calculation result of the integer DCT basis matrix shown in FIG. 6 and its transpose matrix. The matrix of FIG. 7 is an integer DCT basis matrix composed of 16 × 16 elements shown in FIG. Is a calculation result of Tn16 × Tn16 ′ where Tn16 is Tn16 and the transposed matrix of Tn16 is Tn16 ′. The elements of i rows and j columns (i = 1, 2,..., 16, j = 1, 2,..., 16) in the matrix of FIG. 7 are i rows in the integer DCT base shown in FIG. The inner product of the basis vector and the basis vector of j rows is shown. When comparing each element in FIG. 7 with each element in FIG. 4, the element value of the diagonal component is closer to the ideal norm value 65536 in FIG. Is close to zero. That is, the matrix in FIG. 7 is closer to the ideal value obtained by multiplying the 16 × 16 unit matrix by 65536 than in FIG. 4. Accordingly, the integer DCT basis used in the embodiment of the present invention shown in FIG. 6 is more uniform in the norm magnitude of the basis vector ((a) than the integer DCT basis of Non-Patent Document 1 shown in FIG. ') Property) and the orthogonality of basis vectors (property (b)) can be said to be further improved.

図8は、本発明の実施形態にて用いる、32×32要素からなる整数DCT基底を示す図であり、図6に示した16×16要素からなる整数DCT基底と同様に、図5に示した直交変換基底算出装置20の基底算出手段22により前記数式(1)等を用いて算出され出力される整数DCT基底を示す。尚、直交変換基底算出装置20の転置算出手段23により算出され出力される32×32要素からなる整数IDCT基底は、図8に示した整数DCT基底の行列の転置行列である。   FIG. 8 is a diagram showing an integer DCT base composed of 32 × 32 elements used in the embodiment of the present invention. Like the integer DCT base composed of 16 × 16 elements shown in FIG. 6, FIG. The integer DCT bases calculated and output by the base calculation means 22 of the orthogonal transform base calculation apparatus 20 using the above formula (1) and the like are shown. The integer IDCT base composed of 32 × 32 elements calculated and output by the transpose calculation unit 23 of the orthogonal transform base calculation apparatus 20 is a transpose matrix of the matrix of the integer DCT base shown in FIG.

〔復号装置〕
次に、本発明の実施形態による復号装置について説明する。図9は、本発明の実施形態による復号装置の構成を示すブロック図である。この復号装置38は、エントロピー復号部31、逆量子化部32、逆直交変換部33、加算部34、後処理部35、フレームメモリ36及び信号予測部37を備えている。
[Decoding device]
Next, a decoding device according to an embodiment of the present invention will be described. FIG. 9 is a block diagram illustrating a configuration of a decoding device according to an embodiment of the present invention. The decoding device 38 includes an entropy decoding unit 31, an inverse quantization unit 32, an inverse orthogonal transform unit 33, an addition unit 34, a post-processing unit 35, a frame memory 36, and a signal prediction unit 37.

エントロピー復号部31は、図1に示した符号化装置11により出力された符号化信号を入力し、図1に示したエントロピー符号化部10のエントロピー符号化に対応するエントロピー復号を行う。エントロピー復号の処理については既知であるから、ここでは説明を省略する。逆量子化部32は、エントロピー復号部31によりエントロピー復号された信号を入力し、図1に示した逆量子化部5と同様に、逆量子化を行い、逆量子化した信号を逆直交変換部33に出力する。   The entropy decoding unit 31 receives the encoded signal output from the encoding device 11 illustrated in FIG. 1 and performs entropy decoding corresponding to the entropy encoding of the entropy encoding unit 10 illustrated in FIG. Since the entropy decoding process is known, the description thereof is omitted here. The inverse quantization unit 32 receives the signal entropy-decoded by the entropy decoding unit 31 and performs inverse quantization similar to the inverse quantization unit 5 illustrated in FIG. To the unit 33.

逆直交変換部33は、逆量子化部32から逆量子化された信号を入力し、図1に示した逆直交変換部6と同様に、図示しない記憶部から所定の整数精度の逆直交変換基底を読み出して逆直交変換を行う。所定の整数精度の逆直交変換基底は、前述の直交変換基底算出装置20により算出され、復号装置38の記憶部に予め格納されているものとする。   The inverse orthogonal transform unit 33 receives the inversely quantized signal from the inverse quantization unit 32 and, similarly to the inverse orthogonal transform unit 6 illustrated in FIG. 1, an inverse orthogonal transform with a predetermined integer precision from a storage unit (not shown). Read base and perform inverse orthogonal transform. It is assumed that the inverse orthogonal transform base having a predetermined integer precision is calculated by the above-described orthogonal transform base calculation device 20 and stored in advance in the storage unit of the decoding device 38.

加算部34は、逆直交変換部33からの信号を入力すると共に、後述する信号予測部37から予測信号を入力し、両信号を加算する。後処理部35は、加算部34から加算結果の信号である復号信号を入力し、この復号信号に対し、図1に示した前処理部1の前処理に対応する所定の後処理を行い、出力信号として出力する。後処理については既知であるから、ここでは説明を省略する。   The adder 34 receives a signal from the inverse orthogonal transform unit 33 and also receives a prediction signal from a signal prediction unit 37 described later, and adds both signals. The post-processing unit 35 inputs a decoded signal that is a signal resulting from the addition from the adding unit 34, and performs predetermined post-processing corresponding to the pre-processing of the pre-processing unit 1 illustrated in FIG. Output as an output signal. Since post-processing is already known, description thereof is omitted here.

フレームメモリ36は、加算部34から加算結果の信号を入力し、復号信号として記憶する。フレームメモリ36に記憶された復号信号は、後述する信号予測部37により、予測信号を生成する際の参照信号として読み出される。信号予測部37は、フレームメモリ36から参照信号を読み出し、参照信号に基づいて、所定の予測方式により予測信号を生成し、加算部34に出力する。   The frame memory 36 receives the addition result signal from the adder 34 and stores it as a decoded signal. The decoded signal stored in the frame memory 36 is read as a reference signal when generating a prediction signal by a signal prediction unit 37 described later. The signal prediction unit 37 reads the reference signal from the frame memory 36, generates a prediction signal by a predetermined prediction method based on the reference signal, and outputs the prediction signal to the addition unit 34.

〔実験結果〕
次に、本発明の実施形態による16×16要素及び32×32要素からなる整数DCT基底を用いた符号化処理と、非特許文献1による整数DCT基底を用いた符号化処理との実験結果(コンピュータによるシミュレーション結果)について説明する。図10は、そのシミュレーション結果のBDレートを示す図である。図10のBDレートは、量子化のQPレンジをQP=1,5,9,13とした場合の輝度(Y成分)のBDビットレート(符号量削減率)を示し、非特許文献1における符号量に対する本発明の実施形態における符号量の割合を示す。BDレートは、負の値が大きいほど、本発明の実施形態の方が非特許文献1よりも符号化効率が良いことになる。「Sequence」の欄において「Traffic」「PeopleOnStreet」等は、符号化実験を行ったテスト動画像の名称を示し、「IntraHE」「IntraLC」は、信号予測の種類を示す。「Intra」は、画面内予測のみを用いた条件であり、「HE」は、High Efficiencyの略であり、計算量は大きいが、符号化性能が向上するツールを集めた条件である。「LC」は、Low Complexityの略であり、符号化性能は「HE」よりも低いが、計算量が少ないツールを集めた条件である。図10に示すシミュレーション結果によれば、最終行の「Average」から、信号予測が「IntraHE」の条件の場合、BDレートは−0.13であり、信号予測が「IntraLC」の条件の場合、BDレートは−0.17である。また、個々のシーケンスにおいてもほとんどのBDレートは負の値であり、最大1.23%のゲインが得られている。これにより、本発明の実施形態による整数DCTを用いた方が非特許文献1による整数DCTを用いるよりも、基底ベクトルのノルムの大きさの統一性及び基底ベクトルの直交性が改善されたため、符号化効率が良くなっていることがわかる。
〔Experimental result〕
Next, experimental results of an encoding process using an integer DCT base composed of 16 × 16 elements and 32 × 32 elements according to an embodiment of the present invention and an encoding process using an integer DCT base according to Non-Patent Document 1 ( Computer simulation results) will be described. FIG. 10 is a diagram showing the BD rate of the simulation result. The BD rate in FIG. 10 indicates the BD bit rate (code amount reduction rate) of luminance (Y component) when the QP range of quantization is QP = 1, 5, 9, and 13. The ratio of the code amount in the embodiment of the present invention to the amount is shown. The greater the negative value of the BD rate, the better the encoding efficiency of the embodiment of the present invention than in Non-Patent Document 1. In the “Sequence” column, “Traffic”, “PeopleOnStreet”, and the like indicate the names of the test moving images in which the encoding experiment was performed, and “IntraHE” and “IntraLC” indicate the types of signal prediction. “Intra” is a condition that uses only intra prediction, and “HE” is an abbreviation for High Efficiency, which is a condition that gathers tools that improve the coding performance although the calculation amount is large. “LC” is an abbreviation for Low Complexity, which is a condition for collecting tools that have lower encoding performance but lower encoding performance than “HE”. According to the simulation result shown in FIG. 10, from “Average” in the last row, when the signal prediction is “IntraHE”, the BD rate is −0.13, and when the signal prediction is “IntraLC”, The BD rate is -0.17. Also, in each sequence, most BD rates are negative values, and a maximum gain of 1.23% is obtained. As a result, the use of the integer DCT according to the embodiment of the present invention improves the uniformity of the norm magnitude of the basis vectors and the orthogonality of the basis vectors, compared with the use of the integer DCT according to Non-Patent Document 1. It can be seen that the conversion efficiency is improved.

以上のように、本発明の実施形態による符号化装置11によれば、直交変換基底算出装置20により算出された、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とがさらに向上した整数DCT基底を用いてDCTを行い、この整数DCT基底の転置行列を整数IDCT基底としてIDCTを行い、符号化を行うようにした。また、本発明の実施形態による復号装置38によれば、直交変換基底算出装置20により算出された、基底ベクトルのノルムの大きさの統一性と基底ベクトルの直交性とがさらに向上した整数DCT基底の転置行列を整数IDCT基底として用い、IDCTを行い、復号を行うようにした。これにより、直交変換精度及び逆直交変換精度を改善することができ、符号化効率を向上させることができる。   As described above, according to the encoding device 11 according to the embodiment of the present invention, the uniformity of the norm magnitude of the base vector and the orthogonality of the base vector calculated by the orthogonal transform base calculation device 20 are further improved. DCT is performed using the integer DCT base, and IDCT is performed using the transposed matrix of the integer DCT base as an integer IDCT base to perform encoding. In addition, according to the decoding device 38 according to the embodiment of the present invention, the integer DCT basis further improved in the uniformity of the norm magnitude of the basis vectors and the orthogonality of the basis vectors calculated by the orthogonal transform basis calculation device 20. Are used as integer IDCT bases, IDCT is performed, and decoding is performed. Thereby, orthogonal transformation accuracy and inverse orthogonal transformation accuracy can be improved, and encoding efficiency can be improved.

尚、本発明の実施形態による符号化装置11、復号装置38及び直交変換基底算出装置20のハードウェア構成としては、通常のコンピュータを使用することができる。この符号化装置11、復号装置38及び直交変換基底算出装置20は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。符号化装置11に備えた前処理部1、減算部2、直交変換部3、量子化部4、逆量子化部5、逆直交変換部6、加算部7、フレームメモリ8、信号予測部9及びエントロピー符号化部10の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。同様に、復号装置38に備えたエントロピー復号部31、逆量子化部32、逆直交変換部33、加算部34、後処理部35、フレームメモリ36及び信号予測部37の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、直交変換基底算出装置20に備えた整数化手段21、基底算出手段22及び転置算出手段23の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもできる。   Note that a normal computer can be used as the hardware configuration of the encoding device 11, the decoding device 38, and the orthogonal transform base calculation device 20 according to the embodiment of the present invention. The encoding device 11, the decoding device 38, and the orthogonal transform base calculation device 20 are configured by a computer that includes a CPU, a volatile storage medium such as a RAM, a non-volatile storage medium such as a ROM, an interface, and the like. Pre-processing unit 1, subtraction unit 2, orthogonal transformation unit 3, quantization unit 4, inverse quantization unit 5, inverse orthogonal transformation unit 6, addition unit 7, frame memory 8, and signal prediction unit 9 included in encoding device 11. Each function of the entropy encoding unit 10 is realized by causing a CPU to execute a program describing these functions. Similarly, each function of the entropy decoding unit 31, the inverse quantization unit 32, the inverse orthogonal transform unit 33, the addition unit 34, the post-processing unit 35, the frame memory 36, and the signal prediction unit 37 included in the decoding device 38 is also included in these functions. Each is realized by causing the CPU to execute a program describing the function. The functions of the integer conversion means 21, the base calculation means 22, and the transpose calculation means 23 provided in the orthogonal transform base calculation apparatus 20 are also realized by causing the CPU to execute a program describing these functions. These programs can be stored and distributed in a storage medium such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), optical disk (CD-ROM, DVD, etc.), semiconductor memory, or the like.

以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態において、直交変換基底算出装置20の基底算出手段22により前記数式(1)等のコストを最小化するための探索範囲(操作範囲±n)は、±1以外でもよい。但し、ここで求める整数DCT基底は、DCTに基づくものであり、各基底ベクトルはコサインカーブを示すものであるから、整数DCT基底の要素の大小関係は、要素が操作される前と同じにすることが望ましい。また、前記実施形態では、直交変換をDCTとしたが、DST(Discrete Sine Transform:離散サイン変換)またはKLT(Karhunen Loeve Transform:カルーネンレーブ変換)としてもよい。この場合、DCTと同様に、各正規直交変換基底の要素を所定倍して整数に丸め、数式(1)(1’)等によって整数精度の変換基底を求めることとする。また、前記実施形態では、16×16要素の変換基底、32×32要素の変換基底を例としたが、その他の数の要素の変換基底、例えば、4×4、8×8、64×64等としてもよい。また、上記実施形態では画像信号を対象にして説明したが、本発明の符号化装置、復号装置及びプログラムは、入力が画像信号に限定されることはない。   The present invention has been described with reference to the embodiment. However, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the technical idea thereof. For example, in the embodiment, the search range (operation range ± n) for minimizing the cost of the mathematical formula (1) by the base calculation means 22 of the orthogonal transform base calculation device 20 may be other than ± 1. However, since the integer DCT base obtained here is based on DCT and each base vector indicates a cosine curve, the magnitude relation of the elements of the integer DCT base is made the same as before the element is operated. It is desirable. In the embodiment, the orthogonal transformation is DCT, but it may be DST (Discrete Sine Transform) or KLT (Karhunen Loeve Transform). In this case, as in the case of DCT, the elements of each orthonormal transformation base are multiplied by a predetermined number and rounded to an integer, and a conversion base with integer precision is obtained by Equations (1) (1 ') and the like. In the above embodiment, a 16 × 16 element conversion base and a 32 × 32 element conversion base are used as examples. However, other numbers of element conversion bases such as 4 × 4, 8 × 8, and 64 × 64 are used. Etc. Moreover, although the above embodiment has been described with reference to image signals, the input of the encoding device, decoding device, and program of the present invention is not limited to image signals.

1 前処理部
2 減算部
3 直交変換部
4 量子化部
5 逆量子化部
6 逆直交変換部
7 加算部
8 フレームメモリ
9 信号予測部
10 エントロピー符号化部
11 符号化装置
20 直交変換基底算出装置
21 整数化手段
22 基底算出手段
23 転置算出手段
31 エントロピー復号部
32 逆量子化部
33 逆直交変換部
34 加算部
35 後処理部
36 フレームメモリ
37 信号予測部
38 復号装置
DESCRIPTION OF SYMBOLS 1 Pre-processing part 2 Subtraction part 3 Orthogonal transformation part 4 Quantization part 5 Inverse quantization part 6 Inverse orthogonal transformation part 7 Addition part 8 Frame memory 9 Signal prediction part 10 Entropy encoding part 11 Encoding apparatus 20 Orthogonal transformation base calculation apparatus 21 Integer unit 22 Base calculation unit 23 Transposition calculation unit 31 Entropy decoding unit 32 Inverse quantization unit 33 Inverse orthogonal transformation unit 34 Addition unit 35 Post-processing unit 36 Frame memory 37 Signal prediction unit 38 Decoding device

Claims (9)

入力信号を直交変換して直交変換係数を生成し、前記直交変換係数を量子化して符号化信号を出力する符号化装置において、
N点(Nは1以上の整数)の整数精度の直交変換基底を用いて、前記入力信号を直交変換する直交変換部を備え、
前記直交変換部は、
所定の小数精度の正規直交変換基底の各要素をc倍(c>1)して得られた整数の基底に対し、前記整数の基底の各要素を±n(nは1以上の整数)の範囲で操作したときの基底ベクトルをx1,x2,・・・,xNとし、aを所定の正数とし、各基底ベクトルにおける理想のノルムの値をb=c×cとし、i=1,2,・・・,N、j=1,2,・・・,N、i<jとし、(A,B)をベクトルA及びBの内積値とする場合、以下の数式
cost=a×Σ|(xi,xi)−b|+Σ|(xi,xj)|
により、前記コスト(cost)を最小とする各基底ベクトルの要素を、前記整数精度の直交変換基底として用いる、ことを特徴とする符号化装置。
In an encoding device that orthogonally transforms an input signal to generate an orthogonal transform coefficient, quantizes the orthogonal transform coefficient, and outputs an encoded signal.
An orthogonal transform unit that orthogonally transforms the input signal using an orthogonal transform base with integer precision of N points (N is an integer of 1 or more);
The orthogonal transform unit includes:
Each element of the integer base is ± n (n is an integer equal to or greater than 1) with respect to the integer base obtained by multiplying each element of the orthonormal transformation base with a predetermined decimal precision by c times (c> 1). The basis vectors when operating in the range are x1, x2,..., XN, a is a predetermined positive number, the ideal norm value in each basis vector is b = c × c, and i = 1, 2, ,..., N, j = 1, 2,..., N, i <j, and (A, B) is the inner product value of the vectors A and B, the following formula: cost = a × Σ | (Xi, xi) -b | + Σ | (xi, xj) |
Thus, an element of each base vector that minimizes the cost is used as the integer-precision orthogonal transform base.
請求項1に記載の符号化装置において、
aをNとすることを特徴とする符号化装置。
The encoding device according to claim 1, wherein
An encoding apparatus, wherein a is N.
請求項1または2に記載の符号化装置において、
iを2とし、jを2以外の偶数値とすることを特徴とする符号化装置。
The encoding device according to claim 1 or 2,
An encoding apparatus characterized in that i is 2 and j is an even value other than 2.
請求項3に記載の符号化装置において、
前記基底ベクトルxi,xjが、第1番目から数えて複数個の要素から構成される場合、前記数式の内積演算は、前記複数個の要素のうち、第1番目から複数個の半分までの要素から構成されるベクトルxi’,xj’にて行われる、ことを特徴とする符号化装置。
The encoding device according to claim 3,
When the basis vectors xi and xj are composed of a plurality of elements counting from the first, the inner product operation of the mathematical expression is the first to the plurality of half of the plurality of elements. An encoding apparatus characterized by being performed by vectors xi ′ and xj ′.
請求項1から4までのいずれか一項に記載の符号化装置において、
前記直交変換部は、以下の16×16要素からなる整数DCT基底
Figure 2013016972
を用いて、前記入力信号を直交変換することを特徴とする符号化装置。
In the encoding device according to any one of claims 1 to 4,
The orthogonal transform unit is an integer DCT base consisting of the following 16 × 16 elements:
Figure 2013016972
A coding apparatus, wherein the input signal is orthogonally transformed using
請求項1から4までのいずれか一項に記載の符号化装置において、
前記直交変換部は、以下の32×32要素からなる整数DCT基底
Figure 2013016972
を用いて、前記入力信号を直交変換することを特徴とする符号化装置。
In the encoding device according to any one of claims 1 to 4,
The orthogonal transform unit is an integer DCT base consisting of the following 32 × 32 elements:
Figure 2013016972
A coding apparatus, wherein the input signal is orthogonally transformed using
請求項1から6までのいずれか一項に記載の符号化装置により出力された符号化信号を入力し、前記符号化信号を逆量子化して逆直交変換し、復号信号を生成する復号装置において、
整数精度の逆直交変換基底を用いて、前記逆量子化した信号を逆直交変換する逆直変換部を備え、
前記逆直交変換部は、前記符号化装置の直交変換部にて用いる整数精度の直交変換基底の転置行列を、前記整数精度の逆直交変換基底として用いる、ことを特徴とする復号装置。
In the decoding apparatus which inputs the encoding signal output by the encoding apparatus as described in any one of Claim 1-6, dequantizes the said encoding signal, carries out inverse orthogonal transformation, and produces | generates a decoding signal ,
Using an inverse orthogonal transform base of integer precision, comprising an inverse direct transform unit for inverse orthogonal transform of the inverse quantized signal,
The decoding apparatus, wherein the inverse orthogonal transform unit uses an integer-precision orthogonal transform base transpose matrix used in the orthogonal transform unit of the encoding apparatus as the integer-precision inverse orthogonal transform base.
コンピュータを、請求項1から6までのいずれか一項に記載の符号化装置として機能させるためのプログラム。   The program for functioning a computer as an encoding apparatus as described in any one of Claim 1-6. コンピュータを、請求項7に記載の復号装置として機能させるためのプログラム。   The program for functioning a computer as a decoding apparatus of Claim 7.
JP2011147346A 2011-07-01 2011-07-01 Encoding device, decoding device, and program Active JP5662887B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011147346A JP5662887B2 (en) 2011-07-01 2011-07-01 Encoding device, decoding device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011147346A JP5662887B2 (en) 2011-07-01 2011-07-01 Encoding device, decoding device, and program

Publications (2)

Publication Number Publication Date
JP2013016972A true JP2013016972A (en) 2013-01-24
JP5662887B2 JP5662887B2 (en) 2015-02-04

Family

ID=47689222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011147346A Active JP5662887B2 (en) 2011-07-01 2011-07-01 Encoding device, decoding device, and program

Country Status (1)

Country Link
JP (1) JP5662887B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8017A (en) * 1851-04-01 Splint-machine
US9014A (en) * 1852-06-15 William compton
JP2003333598A (en) * 2002-05-02 2003-11-21 Microsoft Corp 2-d transform for image and video coding
JP2004506990A (en) * 2000-08-12 2004-03-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Integer approximation of transform coefficients and encoder and decoder
JP2011504000A (en) * 2007-11-12 2011-01-27 タンドベルク・テレコム・エイ・エス Method of video encoding and decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8017A (en) * 1851-04-01 Splint-machine
US9014A (en) * 1852-06-15 William compton
JP2004506990A (en) * 2000-08-12 2004-03-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Integer approximation of transform coefficients and encoder and decoder
JP2003333598A (en) * 2002-05-02 2003-11-21 Microsoft Corp 2-d transform for image and video coding
JP2011504000A (en) * 2007-11-12 2011-01-27 タンドベルク・テレコム・エイ・エス Method of video encoding and decoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014047955; Yasuko Sugito et al.: 'Accuracy improvement of Cisco and TI's transform (JCTVC-E243)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F193_r1, 201107, pp.1-10, 6th Meeting: Torino, IT *
JPN6014047957; A. Fuldseth et al.: 'Transform design for HEVC with 16 bit intermediate data representation' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E243_r2, 201103, pp.1-16, 5th Meeting: Geneva, CH *

Also Published As

Publication number Publication date
JP5662887B2 (en) 2015-02-04

Similar Documents

Publication Publication Date Title
JP4030558B2 (en) Image decoding device
RU2612612C2 (en) Method and apparatus for performing interpolation based on transform and inverse transform
US8756482B2 (en) Efficient encoding/decoding of a sequence of data frames
US20180115787A1 (en) Method for encoding and decoding video signal, and apparatus therefor
US20130195177A1 (en) Method and device for the transformation and method and device for the reverse transformation of images
US11368691B2 (en) Method and device for designing low-complexity calculation DST7
KR101480412B1 (en) Method and apparatus for transforming image, and method and apparatus for inverse-transforming image
CN110710208B (en) Embedding information about EOB location
JP5662887B2 (en) Encoding device, decoding device, and program
JP2015035788A (en) Image encoder, image encoding method, and program
US11290748B2 (en) Method and device for designing low complexity DST7
JP5202558B2 (en) Intra prediction apparatus, encoder, decoder, and program
JP2012147205A (en) Discrete sine transform circuit, inverse discrete sine transform circuit, combination-use circuit, encoding device, decoding device, and program
JP6557589B2 (en) Encoding device, decoding device, and program
JP6846134B2 (en) Video coding device and video decoding device
JP5626728B2 (en) Image coding method, image coding apparatus, and image coding program
JP6102707B2 (en) Digital encoding device
JP2006135786A (en) Device, method and program for reversible video encoding, device, method and program for reversible video decoding, and recording medium of the programs
KR101252043B1 (en) Device having integrated module and decoding method thereof
JP5194039B2 (en) Intra prediction apparatus, encoder, decoder, and program
JP2012089963A (en) Image encoding method, image encoder and image encoding program
JP2015061143A (en) Video encoder and video encoding program
JP2012190316A (en) Orthogonal conversion processor, method, and program
JP2005136804A (en) Encoding moving image converter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141205

R150 Certificate of patent or registration of utility model

Ref document number: 5662887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250