JP2011259205A - Image decoding device, image encoding device, and method and program thereof - Google Patents
Image decoding device, image encoding device, and method and program thereof Download PDFInfo
- Publication number
- JP2011259205A JP2011259205A JP2010131891A JP2010131891A JP2011259205A JP 2011259205 A JP2011259205 A JP 2011259205A JP 2010131891 A JP2010131891 A JP 2010131891A JP 2010131891 A JP2010131891 A JP 2010131891A JP 2011259205 A JP2011259205 A JP 2011259205A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- image data
- transform
- prediction
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Computing Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
この発明は、画像復号化装置と画像符号化装置およびその方法とプログラムに関する。詳しくは、効率的な復号化や符号化を行うことができる画像復号化装置と画像符号化装置およびその方法とプログラムを提供する。 The present invention relates to an image decoding device, an image encoding device, a method thereof, and a program. Specifically, an image decoding apparatus, an image encoding apparatus, a method thereof, and a program that can perform efficient decoding and encoding are provided.
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、直交変換と動き補償により圧縮するMPEGなどの方式に準拠した装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。 In recent years, image information has been handled as digital data. At that time, the purpose is to transmit and store information efficiently, and it is based on a method such as MPEG that compresses by orthogonal transform and motion compensation using redundancy unique to image information. Devices are becoming popular for both information distribution in broadcasting stations and information reception in general households.
特に、MPEG2(ISO/IEC 13818−2)は、汎用画像符号化方式として定義されている。MPEG2圧縮方式は、飛び越し走査画像および順次走査画像の双方、並びに標準解像度画像および高精細画像を網羅する標準で、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。 In particular, MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image coding system. MPEG2 compression is a standard that covers both interlaced and progressively scanned images, as well as standard resolution and high definition images, and is currently widely used in a wide range of professional and consumer applications. By using the MPEG2 compression method, a high compression rate and good image quality can be realized by assigning a code amount (bit rate) of 18 to 22 Mbps for, for example, a high-resolution interlaced scanned image having 1920 × 1088 pixels. It is.
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496−2としてその規格が国際標準に承認された。 MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
さらに、近年、MPEG2やMPEG4といった符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率を実現できるH.264およびMPEG−4 Part10(Advanced Video Coding、以下H.264/AVCと記す)という名で国際標準となっている。このH.264/AVCは、H.26Lをベースとして、H.26Lではサポートされない機能をも取り入れている。 Further, in recent years, compared with encoding methods such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding, H.264 can realize higher encoding efficiency. H.264 and MPEG-4 Part 10 (Advanced Video Coding, hereinafter referred to as H.264 / AVC) are international standards. This H. H.264 / AVC is H.264. Based on 26L, It also incorporates functions not supported by 26L.
また、H.264/AVCを用いて画像データをより効率的に符号化することが特許文献1等に開示されている。
ところで、イントラ予測では、イントラ予測の方向に合わせて変換手法の切り替えを行う、MDDT(Mode dependent directional transform)と呼ばれる方式が提案されている。このようなMDDT方式を用いる場合、イントラ予測の方向に合わせて行われる変換が最適化されていないと、符号化効率を改善することが困難である。 By the way, in intra prediction, a method called MDDT (Mode dependent directional transform) has been proposed in which conversion methods are switched in accordance with the direction of intra prediction. When such an MDDT method is used, it is difficult to improve coding efficiency unless conversion performed in accordance with the direction of intra prediction is optimized.
そこで、この発明では、符号化効率を改善できる画像復号化装置と画像符号化装置およびその方法とプログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide an image decoding apparatus, an image encoding apparatus, a method thereof, and a program that can improve encoding efficiency.
この発明の第1の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化装置において、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理部と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換部と、前記予測画像データを生成する予測画像データ生成部と、前記逆直交変換部で得られた前記予測誤差に前記予測画像データ生成部で生成された予測画像データを加算して前記画像データを復号する加算部とを有する画像復号化装置にある。 According to a first aspect of the present invention, encoding is performed by orthogonally transforming prediction error data, which is an error between image data and predicted image data, for each transform block and processing the coefficient data after the orthogonal transform. In an image decoding device that decodes the image data from the bit stream, a data processing unit that processes the encoded bit stream to obtain coefficient data and encoding parameter information after the orthogonal transformation, and the encoding parameter information An inverse orthogonal transform unit that obtains a prediction error by performing inverse orthogonal transform of the coefficient data using a base set in advance according to the position of the transform block in the indicated macroblock, and generates the predicted image data Add the predicted image data generated by the predicted image data generation unit to the prediction error obtained by the predicted image data generation unit and the inverse orthogonal transform unit In the image decoding apparatus and an addition unit for decoding the image data Te.
この発明の画像復号化装置では、符号化ビットストリームを処理して得られた直交変換後の係数データの逆直交変換を行う際に、前記符号化ビットストリームに含まれている画像データを復号するための符号化パラメータ情報で示されたマクロブロック内における変換ブロックのブロック位置やブロック位置と符号化パラメータ情報で示された予測モードに応じて予め設定されている基底が用いられて、逆直交変換例えばカルーネン・レーベ逆変換が行われる。また、マクロブロックに含まれる変換ブロックが複数であるとき、各変換ブロックの直交変換後の最も低い周波数成分の係数を用いたブロックの直交変換後の係数データに対して、予測モードに応じて予め設定されている基底を用いて、カルーネン・レーベ逆変換が行われる。また、逆直交変換部で用いられる基底は、予測誤差データを変換ブロック毎に直交変換したときに用いられる基底の逆行例である。このような基底を予め設けておき、ブロック位置等に応じた基底を選択して用いて逆直交変換を行い直交変換が行われるまえの予測誤差データを生成する。 In the image decoding apparatus according to the present invention, when inverse orthogonal transformation is performed on coefficient data after orthogonal transformation obtained by processing the coded bit stream, the image data included in the coded bit stream is decoded. Inverse orthogonal transform using the block position of the transform block in the macroblock indicated by the encoding parameter information and the base set in advance according to the block position and the prediction mode indicated by the encoding parameter information For example, the Karhunen-Loeve inverse transformation is performed. In addition, when there are a plurality of transform blocks included in the macroblock, the coefficient data after the orthogonal transform of the block using the coefficient of the lowest frequency component after the orthogonal transform of each transform block is previously stored according to the prediction mode. The Karoonen-Labe inverse transform is performed using the set basis. Further, the base used in the inverse orthogonal transform unit is a reverse example of the base used when the prediction error data is orthogonally transformed for each transform block. Such a base is provided in advance, and the prediction error data before the orthogonal transformation is generated by performing the inverse orthogonal transformation by selecting and using the basis corresponding to the block position or the like.
この発明の第2の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像復号化方法において、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理工程と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換工程と、前記予測画像データを生成する予測画像データ生成工程と、前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算工程とを設けた画像復号化方法にある。 According to a second aspect of the present invention, there is provided an encoding generated by orthogonally transforming prediction error data, which is an error between image data and predicted image data, for each transform block and processing the coefficient data after the orthogonal transform In an image decoding method for decoding the image data from a bit stream, a data processing step of processing the encoded bit stream to obtain coefficient data and encoding parameter information after the orthogonal transformation, and the encoding parameter information An inverse orthogonal transform step for obtaining a prediction error by performing inverse orthogonal transform of the coefficient data using a preset basis according to the position of the transform block in the indicated macroblock, and generating the predicted image data A predicted image data generating step, and adding the generated predicted image data to the prediction error obtained by the inverse orthogonal transform unit to generate the image data. In a picture decoding method is provided an addition step of decoding the data.
この発明の第3の側面は、画像データと予測画像データとの誤差である予測誤差データを、変換ブロック毎に直交変換して、該直交変換後の係数データを処理して生成された符号化ビットストリームから前記画像データを復号する画像符号化をコンピュータで実行させるプログラムであって、前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理手順と、前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換手順と、前記予測画像データを生成する予測画像データ生成手順と、前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算手順とを前記コンピュータで実行させるプログラムにある。 According to a third aspect of the present invention, there is provided an encoding generated by orthogonally transforming prediction error data, which is an error between image data and predicted image data, for each transform block, and processing the coefficient data after the orthogonal transform. A program for causing a computer to execute image coding for decoding the image data from a bitstream, and processing the coded bitstream to obtain coefficient data and coding parameter information after the orthogonal transformation; An inverse orthogonal transform procedure for obtaining a prediction error by performing inverse orthogonal transform of the coefficient data using a preset basis according to the position of the transform block in the macroblock indicated by the encoding parameter information; A predicted image data generation procedure for generating the predicted image data, and the prediction error generated by the prediction error obtained by the inverse orthogonal transform unit. There adds the image data and the addition procedure for decoding the image data in the program to be executed by the computer.
この発明の第4の側面は、画像データの符号化を行う画像符号化装置において、前記画像データの予測画像データを生成する予測部と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算部と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換部と、前記直交変換部の出力データを処理して符号化ビットストリームを生成するデータ処理部とを有する画像符号化装置にある。 According to a fourth aspect of the present invention, in an image encoding device that encodes image data, a prediction unit that generates predicted image data of the image data, and prediction that is an error between the image data and the predicted image data An orthogonal unit that performs orthogonal transform of the prediction error for each transform block and performs orthogonal transform using a base set in advance according to the position of the transform block in a macro block. The image coding apparatus includes a transform unit and a data processing unit that processes output data of the orthogonal transform unit to generate a coded bitstream.
この発明の画像符号化装置では、画像データと予測画像データの誤差を示す予測誤差データを変換ブロック毎に直交変換する際に、マクロブロック内における変換ブロックのブロック位置やブロック位置と予測画像データを生成したときの予測モードに応じて予め設定されている基底が用いられて、直交変換例えばカルーネン・レーベ変換が行われる。また、マクロブロックに含まれる変換ブロックが複数であるとき、各変換ブロックにおける直交変換後の最も低い周波数成分の係数で構成したブロックのカルーネン・レーベ変換が行われる。このカルーネン・レーベ変換では、予測モードに応じて予め設定されている基底が用いられる。この基底は、予め基底の学習用に用意されている複数の画像を用いて、マクロブロックサイズ毎、変換ブロックサイズ毎、マクロブロック内における変換ブロックの位置毎、および予測モード毎の各変換ブロック内の予測誤差データから算出した行列の固有値に対応する固有ベクトルである。また、基底は、基底間の距離または参照画素からの距離に応じてグループ化されている。このような基底を予め設けておき、ブロック位置等に応じた基底を選択して用いて直交変換を行う。さらに、直交変換後の係数データに対して量子化や可逆符号化等の処理が行われて、符号化ビットストリームの生成が行われる。 In the image coding apparatus according to the present invention, when orthogonally transforming prediction error data indicating an error between image data and predicted image data for each transform block, the block position and block position of the transform block in the macro block and the predicted image data are obtained. A base set in advance according to the prediction mode at the time of generation is used, and orthogonal transformation, for example, Karhunen-Loeve transformation, is performed. In addition, when there are a plurality of transform blocks included in the macroblock, Karoonen-Label transform is performed on the block configured with the coefficient of the lowest frequency component after orthogonal transform in each transform block. In this Karoonen-Loeve transform, a base set in advance according to the prediction mode is used. This base is obtained by using a plurality of images prepared for base learning in advance, in each transform block for each macroblock size, each transform block size, each transform block position in the macroblock, and each prediction mode. Is an eigenvector corresponding to the eigenvalue of the matrix calculated from the prediction error data. The bases are grouped according to the distance between the bases or the distance from the reference pixel. Such a base is provided in advance, and an orthogonal transform is performed by selecting and using a base corresponding to a block position or the like. Further, the coefficient data after the orthogonal transform is subjected to processing such as quantization and lossless encoding, and an encoded bit stream is generated.
この発明の第5の側面は、画像データの符号化を行う画像符号化方法において、前記画像データの予測画像データを生成する予測画像データ生成工程と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算工程と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換工程とを設けた画像符号化方法にある。 According to a fifth aspect of the present invention, in an image encoding method for encoding image data, a predicted image data generation step for generating predicted image data of the image data, and an error between the image data and the predicted image data A subtraction process for generating prediction error data, and orthogonal transformation of the prediction error is performed for each transformation block, and the orthogonal transformation is performed using a base set in advance according to the position of the transformation block in a macroblock. The image encoding method includes an orthogonal transform step for performing the above.
この発明の第6の側面は、画像データの符号化をコンピュータで実行させるプログラムであって、前記画像データの予測画像データを生成する予測画像データ生成手順と、前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算手順と、前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて予め設定されている基底を用いて、前記直交変換を行う直交変換手順とを前記コンピュータで実行させるプログラムにある。 According to a sixth aspect of the present invention, there is provided a program for causing a computer to execute encoding of image data, a predicted image data generation procedure for generating predicted image data of the image data, the image data, the predicted image data, A subtraction procedure for generating prediction error data that is an error of the above, and orthogonal transformation of the prediction error for each transform block, using a base set in advance according to the position of the transform block in a macroblock, There is a program for causing the computer to execute an orthogonal transformation procedure for performing orthogonal transformation.
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。 The program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, such as an optical disk, a magnetic disk, a semiconductor memory, etc. Or a program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.
この発明によれば、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。また、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われるので、直交変換後の係数データを直交変換前の予測誤差データに戻すことができる。このように、マクロブロック内のブロック位置に応じた基底を用いて直交変換や逆直交変換が行われるので、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。 According to the present invention, in the orthogonal transformation performed at the time of encoding image data, orthogonal transformation is performed using a base set in advance according to the block position of the transformation block in the macroblock. In addition, in decoding of an encoded bitstream generated by processing coefficient data obtained by performing orthogonal transformation using a base set in advance according to a block position, it is included in the encoded bitstream. Inverse orthogonal transformation is performed using a base set in advance according to the block position in the macroblock indicated by the encoding parameter information, so that coefficient data after orthogonal transformation is predicted before orthogonal transformation. Error data can be restored. As described above, since orthogonal transform and inverse orthogonal transform are performed using a base corresponding to the block position in the macroblock, it is possible to perform a transform optimized according to the block position and improve coding efficiency. be able to.
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.画像符号化装置の構成
2.直交変換部の構成
3.画像符号化装置の動作
4.画像復号化装置の構成
5.逆直交変換部の構成
6.画像復号化装置の動作
7.基底の学習動作
8.ソフトウェア処理の場合
9.電子機器に適用した場合
Hereinafter, modes for carrying out the invention will be described. The description will be given in the following order.
1. 1. Configuration of
<1.画像符号化装置の構成>
図1は、画像符号化装置の構成を示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ24、フレームメモリ27、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
<1. Configuration of Image Encoding Device>
FIG. 1 shows the configuration of an image encoding device. The
A/D変換部11は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ12に出力する。
The A / D converter 11 converts an analog image signal into digital image data and outputs the digital image data to the
画面並べ替えバッファ12は、A/D変換部11から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部13とイントラ予測部31と動き予測・補償部32に出力する。
The
減算部13には、画面並べ替えバッファ12から出力された画像データと、後述する予測画像・最適モード選択部33で選択された予測画像データが供給される。減算部13は、画面並べ替えバッファ12から出力された画像データと予測画像・最適モード選択部33から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部14に出力する。
The
直交変換部14は、減算部13から出力された予測誤差データに対して直交変換処理を行う。また、直交変換部14は、イントラ予測を行う場合、予測モードに応じた直交変換処理を行う。直交変換部14は、直交変換処理を行うことにより得られた係数データを量子化部15に出力する。
The
量子化部15には、直交変換部14から出力された係数データと、後述するレート制御部18からレート制御信号が供給されている。量子化部15は係数データの量子化を行い、量子化データを可逆符号化部16と逆量子化部21に出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づき量子化パラメータ(量子化スケール)を切り替えて、量子化データのビットレートを変化させる。
The
可逆符号化部16には、量子化部15から出力された量子化データと、後述するイントラ予測部31と動き予測・補償部32や予測画像・最適モード選択部33から符号化パラメータ情報が供給される。なお、符号化パラメータ情報には、イントラ予測であるかインター予測であるかを示す情報、マクロブロックサイズを示すマクロブロック情報、イントラ予測に関する情報、インター予測に関する情報等が含まれる。可逆符号化部16は、量子化データに対して例えば可変長符号化または算術符号化等により可逆符号化処理を行い、符号化ビットストリームを生成して蓄積バッファ17に出力する。また、可逆符号化部16は、符号化パラメータ情報を可逆符号化して、符号化ビットストリームの例えばヘッダ情報に付加する。なお、量子化部15や可逆符号化部16が、直交変換部14の出力データを処理して符号化ビットストリームを生成するデータ処理部に相当する。
The
蓄積バッファ17は、可逆符号化部16からの符号化ビットストリームを蓄積する。また、蓄積バッファ17は、蓄積した符号化ビットストリームを伝送路に応じた伝送速度で出力する。
The
レート制御部18は、蓄積バッファ17の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部15に出力する。レート制御部18は、例えば蓄積バッファ17から空き容量を示す情報を取得する。レート制御部18は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部18は蓄積バッファ17の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
The rate control unit 18 monitors the free capacity of the
逆量子化部21は、量子化部15から供給された量子化データの逆量子化処理を行う。逆量子化部21は、逆量子化処理を行うことで得られた係数データを逆直交変換部22に出力する。
The inverse quantization unit 21 performs an inverse quantization process on the quantized data supplied from the
逆直交変換部22は、逆量子化部21から供給された係数データの逆直交変換処理を行うことで得られたデータを加算部23に出力する。
The inverse
加算部23は、逆直交変換部22から供給されたデータと予測画像・最適モード選択部33から供給された予測画像データを加算して参照画像データを生成して、デブロッキングフィルタ24とイントラ予測部31に出力する。
The adding unit 23 adds the data supplied from the inverse
デブロッキングフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ24は、加算部23から供給された参照画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の参照画像データをフレームメモリ27に出力する。
The deblocking filter 24 performs a filter process for reducing block distortion that occurs when an image is encoded. The deblocking filter 24 performs a filtering process to remove block distortion from the reference image data supplied from the adding unit 23, and outputs the filtered reference image data to the
フレームメモリ27は、デブロッキングフィルタ24から供給されたフィルタ処理後の参照画像データとを保持する。
The
イントラ予測部31は、画面並べ替えバッファ12から出力された符号化対象画像の画像データと加算部23から供給された参照画像データを用いて、イントラ予測処理を行う。イントラ予測部31は、直交変換における変換ブロックサイズ毎、およびイントラ予測の予測モード毎にイントラ予測処理を行う。イントラ予測部31は、生成した予測画像データを予測画像・最適モード選択部33に出力する。また、イントラ予測部31は、イントラ予測処理に関する符号化パラメータ情報を生成して、可逆符号化部16と予測画像・最適モード選択部33に出力する。イントラ予測部31は、符号化パラメータ情報に、例えばマクロブロックサイズや変換ブロックサイズ、マクロブロック内における変換ブロックの位置、予測モード等を含める。
The intra prediction unit 31 performs an intra prediction process using the image data of the encoding target image output from the
また、イントラ予測部31は、各イントラ予測処理においてコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測処理、すなわち符号化効率が最も高くなる最適イントラ予測処理を選択する。イントラ予測部31は、最適イントラ予測処理における符号化パラメータ情報とコスト値と最適イントラ予測処理で生成した予測画像データを、予測画像・最適モード選択部33に出力する。
The intra prediction unit 31 calculates a cost function value in each intra prediction process, and selects an intra prediction process that minimizes the calculated cost function value, that is, an optimal intra prediction process that maximizes the coding efficiency. The intra prediction unit 31 outputs the encoding parameter information and the cost value in the optimal intra prediction process, and the predicted image data generated in the optimal intra prediction process to the predicted image / optimum
動き予測・補償部32は、マクロブロックに対するすべての動き補償ブロックサイズでインター予測処理を行い、予測画像データを生成して予測画像・最適モード選択部33に出力する。動き予測・補償部32は、画面並べ替えバッファ12から読み出された符号化対象画像における各動き補償ブロックサイズの画像毎に、フレームメモリ27から読み出されたフィルタ処理後の参照画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部32は、検出した動きベクトルに基づいて参照画像に動き補償処理を施して予測画像データの生成を行う。また、動き予測・補償部32は、インター予測処理に関する符号化パラメータ情報、例えばマクロブロックサイズや動き補償ブロックサイズ、動きベクトル等を示す符号化パラメータ情報を生成して、可逆符号化部16と予測画像・最適モード選択部33に出力する。
The motion prediction / compensation unit 32 performs inter prediction processing with all the motion compensation block sizes for the macroblock, generates predicted image data, and outputs the predicted image data to the predicted image / optimum
また、動き予測・補償部32は、各動き補償ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となるインター予測処理、すなわち符号化効率が最も高くなるインター予測処理を選択する。動き予測・補償部32は、最適インター予測処理における符号化パラメータ情報とコスト値と最適インター予測処理で生成した予測画像データを予測画像・最適モード選択部33に出力する。
In addition, the motion prediction / compensation unit 32 calculates a cost function value for each motion compensation block size, and performs an inter prediction process in which the calculated cost function value is the minimum, that is, an inter prediction process in which the encoding efficiency is the highest. Select. The motion prediction / compensation unit 32 outputs the encoding parameter information and cost value in the optimal inter prediction process, and the predicted image data generated in the optimal inter prediction process to the predicted image / optimum
予測画像・最適モード選択部33は、イントラ予測部31で変換ブロックサイズや予測モード毎にイントラ予測処理を行い最適イントラ予測処理を選択するとき、符号化パラメータ情報を直交変換部14と可逆符号化部16、予測画像データを減算部13に出力する。また、予測画像・最適モード選択部33は、動き予測・補償部32で予測ブロック毎にインター予測処理を行って最適インター予測処理を選択するとき、符号化パラメータ情報を直交変換部14と可逆符号化部16に出力し、予測画像データを減算部13に出力する。さらに、予測画像・最適モード選択部33は、最適イントラ予測処理と最適インター予測処理のいずれかを選択して最適モードとするとき、最適イントラ予測処理のコスト関数値と最適インター予測処理のコスト関数値を比較する。予測画像・最適モード選択部33は、比較結果に基づき、コスト関数値の小さい予測処理、すなわち符号化効率の高い予測処理を最適モードとして選択して、選択した最適モードで生成された予測画像データを減算部13出力する。また、予測画像・最適モード選択部33は、最適モードの予測処理を示す符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
When the intra prediction unit 31 performs intra prediction processing for each transform block size or prediction mode and selects the optimal intra prediction processing, the predicted image / optimum
<2.直交変換部の構成>
イントラ予測処理では、符号化済みの隣接ブロックの画素を用いて予測が行われており、複数の予測方向から最適な予測方向を選択することが行われている。例えば、H.264/AVCでは、16×16画素のブロックについての予測モードとして、予測モード0〜予測モード3の4つモードが設定されている。また、8×8画素のブロックについての予測モードとして、予測モード0〜予測モード8の9つの予測モードが設定されている。さらに、4×4画素のブロックについての予測モードとして、予測モード0〜予測モード8の9つの予測モードが設定されている。
<2. Configuration of orthogonal transform unit>
In the intra prediction process, prediction is performed using pixels of encoded adjacent blocks, and an optimal prediction direction is selected from a plurality of prediction directions. For example, H.M. In H.264 / AVC, four modes of
図2は、例えば4×4画素のブロックについての予測モードを示している。以下、図2の各予測モードについて簡単に説明する。なお、図2において矢印は予測方向を示している。 FIG. 2 shows a prediction mode for a block of 4 × 4 pixels, for example. Hereinafter, each prediction mode in FIG. 2 will be briefly described. In FIG. 2, the arrow indicates the prediction direction.
図2の(A)は予測モード0(vertical)を示している。予測モード0は、垂直方向に隣接する参照画素(reference pixel)A〜Dをより予測値を生成するモードである。図2の(B)は予測モード1(horizontal)を示している。予測モード1は、矢印で示すように、水平方向に隣接する参照画素I〜Lより予測値を生成するモードである。図2の(C)は予測モード2(DC)を示している。予測モード2は、13個の参照画素A〜Mのうち、このブロックの垂直方向および水平方向に隣接する参照画素A〜DおよびI〜Lより予測値を生成するモードである。
FIG. 2A shows prediction mode 0 (vertical). The
図2の(D)は予測モード3(diagonal down-left)を示している。予測モード3は、13個の参照画素A〜Mのうち、水平方向に連続する参照画素A〜Hより予測値を生成するモードである。図2の(E)は予測モード4(diagonal down-right)を示している。予測モード4は、13個の参照画素A〜Mのうち、当該ブロックに隣接する参照画素A〜D、I〜Mとにより予測値を生成するモードである。図2の(F)は予測モード5(vertical-right)を示している。予測モード5は、13個の参照画素A〜Mのうち、当該ブロックに隣接する参照画素A〜D、I〜Mとにより予測値を生成するモードである。
FIG. 2D shows prediction mode 3 (diagonal down-left). The
図2の(G)は予測モード6(horizontal-down)を示している。予測モード6は、予測モード4および予測モード5と同様に、13個の参照画素A〜Mのうち、当該ブロックに隣接する参照画素A〜D、I〜Mにより予測値を生成するモードである。図2の(H)は予測モード7(vertical-left)を示している。予測モード7は、13個の参照画素A〜Mのうち、当該ブロックの上方に隣接する4個の参照画素A〜Dと、この4個の参照画素A〜Dに続く4個の参照画素E〜Gとにより予測値を生成するモードである。図2の(I)は予測モード8(horizontal-up)を示している。予測モード8は、13個の参照画素A〜Mのうち、当該ブロックの左方に隣接する4個の参照画素I〜Lにより予測値を生成するモードである。
FIG. 2G shows prediction mode 6 (horizontal-down). The
このように予測値を生成する場合、ブロック内の画素において、予測値との誤差(予測誤差)は予測に用いる画素に近い画素ほど少なくなる場合が多い。したがって、例えば、図3の(A)に示すように最適モードとして予測モード0(vertical)が選択された場合、画素P0〜P3は画素P12〜P15よりも予測誤差が少ない。また、図3の(B)に示すように予測モード1(horizontal)が選択された場合、画素P0,P4,P8,P12は画素P3,P7,P11,P15よりも予測誤差が少ない。また、図3の(C)に示すように予測モード4(diagonal down-right)が選択された場合、画素P0は画素P15よりも予測誤差が少ない。このように、予測誤差は予測モードに依存している。また、マクロブロック内のブロック位置についても、符号化済みの隣接マクロブロックに近いブロックほど予測誤差が少なくなる場合が多く、予測誤差はマクロブロックにおけるブロック位置にも依存する。したがって、直交変換部14は、予測モードおよびマクロブロック内の直交変換を行うブロックの位置毎に最適な基底を設定することで、予測誤差の直交変換を最適化する。
When a prediction value is generated in this way, an error from a prediction value (prediction error) among pixels in a block often decreases as a pixel closer to a pixel used for prediction. Therefore, for example, when the prediction mode 0 (vertical) is selected as the optimum mode as shown in FIG. 3A, the pixels P0 to P3 have fewer prediction errors than the pixels P12 to P15. Also, as shown in FIG. 3B, when the prediction mode 1 (horizontal) is selected, the pixels P0, P4, P8, and P12 have fewer prediction errors than the pixels P3, P7, P11, and P15. Also, as shown in FIG. 3C, when the prediction mode 4 (diagonal down-right) is selected, the pixel P0 has less prediction error than the pixel P15. Thus, the prediction error depends on the prediction mode. Also, with respect to block positions within a macroblock, the prediction error often decreases as the block is closer to the encoded adjacent macroblock, and the prediction error also depends on the block position in the macroblock. Therefore, the
また、直交変換において、カルーネン・レーベ変換(以下「KL(Karhunen-Loeve)変換」という)は、変換後の係数が互いに無相関となるように変換する変換方式、すなわち最大の符号化効率を得ようとする最適な変換方式であることが知られている。しかし、KL変換の基底を知るためには、予測誤差に基づいた行列の生成や生成した行列の固有値に対応する固有ベクトルを算出しなければならない。ここで、画像符号化装置でその都度基底を計算すると、画像符号化装置における演算量が大きくなってしまう。また、計算した基底を符号化ビットストリームに付加すると符号化効率の悪化を招いてしまう。そこで、マクロブロック内の直交変換を行うブロック位置や予測モード毎に最適な基底を予め学習によって算出しておく。この算出した基底を画像符号化装置と画像復号化装置で用いるようにすれば、画像符号化装置と画像復号化装置で基底の算出を行う必要がなく、画像符号化装置と画像復号化装置の構成は、基底を算出する場合に比べて簡易となる。さらに、基底を伝送する必要がないので、KL変換を用いて符号化効率を高めることができるようになる。なお、基底の学習については後述する。 In the orthogonal transform, the Karoonen-Loeve transform (hereinafter referred to as “KL (Karhunen-Loeve) transform”) is a transform method that transforms the coefficients after the transform so as to be uncorrelated with each other, that is, obtains the maximum coding efficiency. It is known that this is the optimum conversion method. However, in order to know the basis of the KL transformation, it is necessary to generate a matrix based on the prediction error and to calculate an eigenvector corresponding to the eigenvalue of the generated matrix. Here, if the base is calculated each time by the image encoding device, the amount of calculation in the image encoding device becomes large. Moreover, if the calculated base is added to the encoded bitstream, the encoding efficiency is deteriorated. Therefore, an optimal base is calculated in advance for each block position and prediction mode for performing orthogonal transformation in the macroblock. If the calculated base is used in the image coding apparatus and the image decoding apparatus, it is not necessary to calculate the base in the image coding apparatus and the image decoding apparatus, and the image coding apparatus and the image decoding apparatus The configuration is simple compared to the case of calculating the base. Furthermore, since it is not necessary to transmit the base, it is possible to increase the coding efficiency using the KL transform. The basis learning will be described later.
イントラ予測では、マクロブロックが16×16画素であるとき、符号化対象画像のブロックサイズである変換ブロックサイズは、例えば16×16画素、8×8画素、4×4画素のいずれかのブロックサイズとされる。また、マクロブロックが8×8画素であるとき、変換ブロックサイズは、例えば8×8画素、4×4画素のいずれかのブロックサイズとされる。したがって、直交変換部14は、図4に示すように、マクロブロックが16×16画素であるとき、16×16画素、8×8画素、4×4画素のブロックサイズで予測モードに応じたKL変換を行うことができるように構成する。また、直交変換部14は、マクロブロックが8×8画素であるとき、8×8画素、4×4画素のブロックサイズで予測モードに応じたKL変換を行うことができるように構成する。さらに、直交変換部14は、マクロブロック内に複数の変換ブロックが設けられる場合、マクロブロック内のブロック位置locに応じたKL変換を行う。
In the intra prediction, when the macroblock is 16 × 16 pixels, the transform block size that is the block size of the encoding target image is, for example, any block size of 16 × 16 pixels, 8 × 8 pixels, or 4 × 4 pixels. It is said. In addition, when the macro block is 8 × 8 pixels, the conversion block size is, for example, any block size of 8 × 8 pixels and 4 × 4 pixels. Therefore, as shown in FIG. 4, when the macro block is 16 × 16 pixels, the
図5は、KL変換を用いた直交変換部14の構成を例示している。直交変換部14は、16×16KL変換部141、8×8KL変換部142、2×2KL変換部143,146、4×4KL変換部144,145、DCT部147、係数選択部148を有している。
FIG. 5 illustrates the configuration of the
16×16KL変換部141は、予測モード毎に予め学習されている最適な基底を用いて、16×16画素のブロック単位で予測誤差データのKL変換を行い、得られた係数を係数選択部148に出力する。 The 16 × 16 KL conversion unit 141 performs KL conversion of prediction error data in block units of 16 × 16 pixels using an optimal base learned in advance for each prediction mode, and the obtained coefficient is used as a coefficient selection unit 148. Output to.
8×8KL変換部142は、予測モードおよびマクロブロック内におけるブロック位置毎に予め学習されている最適な基底を用いて、8×8画素のブロック単位で予測誤差データのKL変換を行う。また、予測誤差データが16×16画素のブロックサイズに対応するデータであるとき、16×16画素のブロックには8×8画素のブロックが4個含まれる。したがって、8×8KL変換部142は、8×8画素の各ブロックにおける最も低い周波数成分の係数(以下「最低周波数成分係数」という)を2×2KL変換部143に出力し、他の係数を係数選択部148に出力する。また、8×8KL変換部142は、予測誤差データが8×8画素のブロックサイズに対応するデータであるとき、予測モード毎に予め学習されている最適な基底を用いて、8×8画素のブロック単位で予測誤差データのKL変換を行う。8×8KL変換部142は、KL変換によって得られた係数を係数選択部148に出力する。
The 8 × 8
2×2KL変換部143は、予測モード毎に予め学習されている最適な基底を用いて、8×8KL変換部142から供給された2×2ブロック分の係数のKL変換を予測モードに対応する基底を用いて行い、得られた係数を係数選択部148に出力する。
The 2 × 2
4×4KL変換部144は、予測モードおよびマクロブロック内におけるブロック位置毎に予め学習されている最適な基底を用いて、4×4画素のブロック単位で予測誤差データのKL変換を行う。また、予測誤差データが16×16画素のブロックサイズに対応するデータであるとき、16×16画素のブロックには4×4画素のブロックが16個含まれる。したがって、4×4KL変換部144は、4×4画素の各ブロックにおける最低周波数成分係数を4×4KL変換部145に出力し、他の係数を係数選択部148に出力する。また、予測誤差データが8×8画素のブロックサイズに対応するデータであるとき、8×8画素のブロックには4×4画素のブロックが4個含まれる。したがって、4×4KL変換部144は、4×4画素の各ブロックにおける最低周波数成分係数を2×2KL変換部146に出力し、他の係数を係数選択部148に出力する。
The 4 × 4 KL conversion unit 144 performs KL conversion of prediction error data in units of 4 × 4 pixel blocks, using an optimal base learned in advance for each block position in the prediction mode and macroblock. When the prediction error data is data corresponding to a block size of 16 × 16 pixels, the 16 × 16 pixel block includes 16 4 × 4 pixel blocks. Therefore, the 4 × 4KL conversion unit 144 outputs the lowest frequency component coefficient in each block of 4 × 4 pixels to the 4 ×
4×4KL変換部145は、予測モード毎に予め学習されている最適な基底を用いて、4×4KL変換部144から供給された4×4ブロック分の最低周波数成分係数のブロックについてKL変換を、4×4KL変換部144から示された予測モードに対応する基底を用いて行う。4×4KL変換部145は、KL変換によって得られた係数を係数選択部148に出力する。
The 4 × 4
2×2KL変換部146は、予測モード毎に予め学習されている最適な基底を用いて、4×4KL変換部144から供給された2×2ブロック分の最低周波数成分係数のブロックについてKL変換を予測モードに対応する基底を用いて行う。2×2KL変換部146は、KL変換によって得られた係数を係数選択部148に出力する。
The 2 × 2
DCT部147は、予測誤差データの離散コサイン変換を行い、得られた係数を係数選択部148に出力する。
The
係数選択部148は、マクロブロックサイズと、変換ブロックサイズすなわち予測誤差データに対応するブロックサイズに応じて係数の選択を行う。係数選択部148は、マクロブロックサイズが16×16画素であるとき、16×16KL変換部141から出力された係数、8×8KL変換部142と2×2KL変換部143から出力された係数、4×4KL変換部144と4×4KL変換部145から出力された係数のいずれかを変換ブロックサイズに基づき選択する。係数選択部148は、選択した係数を量子化部15に出力する。
The coefficient selection unit 148 selects a coefficient according to the macroblock size and the block size corresponding to the transform block size, that is, the prediction error data. When the macro block size is 16 × 16 pixels, the coefficient selection unit 148 is the coefficient output from the 16 × 16 KL conversion unit 141, the coefficient output from the 8 × 8
また、係数選択部148は、マクロブロックサイズが8×8画素であるとき、8×8KL変換部142から出力された係数、4×4KL変換部144と2×2KL変換部146から出力された係数のいずれかを変換ブロックサイズに基づき選択する。係数選択部148は、選択した係数を量子化部15に出力する。なお、係数選択部148は、予測画像・最適モード選択部33から供給された符号化パラメータ情報によってインター予測モードであることが示されたとき、DCT部147から出力された係数を量子化部15に出力する。
In addition, when the macro block size is 8 × 8 pixels, the coefficient selection unit 148 is a coefficient output from the 8 ×
<3.画像符号化装置の動作>
次に、画像符号化処理動作について説明する。図6は、画像符号化処理動作を示すフローチャートである。ステップST11において、A/D変換部11は入力された画像信号をA/D変換する。
<3. Operation of Image Encoding Device>
Next, the image encoding processing operation will be described. FIG. 6 is a flowchart showing the image encoding processing operation. In step ST11, the A / D converter 11 performs A / D conversion on the input image signal.
ステップST12において画面並べ替えバッファ12は、画像並べ替えを行う。画面並べ替えバッファ12は、A/D変換部11より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
In step ST12, the
ステップST13において減算部13は、予測誤差データの生成を行う。減算部13は、ステップST12で並び替えられた画像の画像データと予測画像・最適モード選択部33で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
In step ST13, the
ステップST14において直交変換部14は、直交変換処理を行う。直交変換部14は、減算部13から供給された予測誤差データを直交変換する。直交変換部14は、例えば予測誤差データに対してカルーネン・レーベ変換や離散コサイン変換等の直交変換を行い、係数データを出力する。なお、直交変換部14の動作の詳細については後述する。
In step ST14, the
ステップST15において量子化部15は、量子化処理を行う。量子化部15は、係数データを量子化する。量子化に際しては、後述するステップST26の処理で説明されるように、レート制御が行われる。
In step ST15, the
ステップST16において逆量子化部21は、逆量子化処理を行う。逆量子化部21は、量子化部15により量子化された係数データを量子化部15の特性に対応する特性で逆量子化する。
In step ST16, the inverse quantization unit 21 performs an inverse quantization process. The inverse quantization unit 21 inversely quantizes the coefficient data quantized by the
ステップST17において逆直交変換部22は、逆直交変換処理を行う。逆直交変換部22は、逆量子化部21により逆量子化された係数データを直交変換部14の特性に対応する特性で逆直交変換する。
In step ST17, the inverse
ステップST18において加算部23は、参照画像データの生成を行う。加算部23は、予測画像・最適モード選択部33から供給された予測画像データと、この予測画像データと対応するブロック位置の逆直交変換後のデータを加算して、参照画像データを生成する。
In step ST18, the adding unit 23 generates reference image data. The adder 23 adds the predicted image data supplied from the predicted image / optimum
ステップST19においてデブロッキングフィルタ24は、フィルタ処理を行う。デブロッキングフィルタ24は、加算部23より出力された参照画像データをフィルタリングしてブロック歪みを除去する。 In step ST19, the deblocking filter 24 performs a filter process. The deblocking filter 24 filters the reference image data output from the addition unit 23 to remove block distortion.
ステップST20においてフレームメモリ27は、参照画像データを記憶する。フレームメモリ27は、フィルタ処理後の参照画像データを記憶する。
In step ST20, the
ステップST21においてイントラ予測部31と動き予測・補償部32は、それぞれ予測処理を行う。すなわち、イントラ予測部31は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部32は、インター予測モードの動き予測・補償処理を行う。予測処理の詳細は、図7を参照して後述するが、この処理により、候補となるすべての予測モードで予測処理がそれぞれ行われ、候補となるすべての予測モードでコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測処理と最適インター予測処理が選択され、選択された予測処理で生成された予測画像データとそのコスト関数および符号化パラメータ情報が予測画像・最適モード選択部33に供給される。
In step ST21, the intra prediction unit 31 and the motion prediction / compensation unit 32 each perform a prediction process. That is, the intra prediction unit 31 performs intra prediction processing in the intra prediction mode, and the motion prediction / compensation unit 32 performs motion prediction / compensation processing in the inter prediction mode. The details of the prediction process will be described later with reference to FIG. 7. With this process, the prediction process is performed in all candidate prediction modes, and the cost function values are calculated in all candidate prediction modes. The Then, based on the calculated cost function value, the optimal intra prediction process and the optimal inter prediction process are selected, and the predicted image data generated by the selected prediction process and its cost function and coding parameter information are predicted image The optimum
ステップST22において予測画像・最適モード選択部33は、予測画像データの選択を行う。予測画像・最適モード選択部33は、イントラ予測部31および動き予測・補償部32より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードを決定する。また、予測画像・最適モード選択部33は、決定した最適モードの予測画像データを選択して、減算部13と加算部23に供給する。この予測画像データは、上述したように、ステップST13,ST18の演算に利用される。
In step ST22, the predicted image / optimum
ステップST23において予測画像・最適モード選択部33は、符号化パラメータ情報生成処理を行う。予測画像・最適モード選択部33は、選択した予測画像データに関する符号化パラメータ情報を最適モードの符号化パラメータ情報として直交変換部14と可逆符号化部16に出力する。
In step ST23, the predicted image / optimum
ステップST24において可逆符号化部16は、可逆符号化処理を行う。可逆符号化部16は、量子化部15より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。このとき、上述したステップST23において可逆符号化部16に供給された符号化パラメータ情報等も可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ビットストリームのヘッダ情報に、符号化パラメータ情報等の可逆符号化データが付加される。
In step ST24, the
ステップST25において蓄積バッファ17は、蓄積処理を行う。蓄積バッファ17は、可逆符号化部16から出力される符号化ビットストリームを蓄積する。この蓄積バッファ17に蓄積された符号化ビットストリームは、適宜読み出されて伝送路を介して復号側に伝送される。
In step ST25, the
ステップST26においてレート制御部18は、レート制御を行う。レート制御部18は、蓄積バッファ17で符号化ビットストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ17で発生しないように、量子化部15の量子化動作のレートを制御する。
In step ST26, the rate control unit 18 performs rate control. The rate control unit 18 controls the rate of the quantization operation of the
次に、図7のフローチャートを参照して、図6のステップST21における予測処理を説明する。 Next, the prediction process in step ST21 in FIG. 6 will be described with reference to the flowchart in FIG.
ステップST31において、イントラ予測部31はイントラ予測処理を行う。イントラ予測部31は処理対象のブロックの画像を、候補となるすべての予測モードでイントラ予測処理する。なお、イントラ予測処理では、加算部23から供給された参照画像データが用いられる。イントラ予測は、後述するように各予測モードでイントラ予測処理が行われて、各予測モードにおけるコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、符号化効率が最も高いイントラ予測処理が選択される。 In step ST31, the intra prediction unit 31 performs an intra prediction process. The intra prediction unit 31 performs an intra prediction process on the image of the block to be processed in all candidate prediction modes. In the intra prediction process, the reference image data supplied from the adding unit 23 is used. Intra prediction, as will be described later, intra prediction processing is performed in each prediction mode, and a cost function value in each prediction mode is calculated. Then, based on the calculated cost function value, the intra prediction process with the highest coding efficiency is selected.
ステップST32において、動き予測・補償部32はインター予測を行う。動き予測・補償部32は、フレームメモリ27に記憶されているフィルタ処理後の参照画像データを用いて、各動き補償ブロックサイズでインター予測処理を行う。インター予測では、各動き補償ブロックサイズでインター予測処理が行われて、各予測ブロックにおけるコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、符号化効率が最も高いインター予測処理が選択される。
In step ST32, the motion prediction / compensation unit 32 performs inter prediction. The motion prediction / compensation unit 32 uses the reference image data after filter processing stored in the
次に、図7のステップST31におけるイントラ予測処理について図8のフローチャートを参照して説明する。 Next, the intra prediction process in step ST31 in FIG. 7 will be described with reference to the flowchart in FIG.
ステップST41でイントラ予測部31は、各予測モードおよび変換ブロックサイズで仮にイントラ予測処理を行う。イントラ予測部31は、各予測モードおよび変換ブロックサイズで、仮に加算部23から供給された参照画像データを用いて予測画像データの生成と、予測誤差データの生成から可逆符号化までの処理を行う。なお、イントラ予測部31は、各イントラ予測処理において、イントラ予測処理に関する符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
In step ST41, the intra prediction unit 31 temporarily performs an intra prediction process with each prediction mode and transform block size. The intra prediction unit 31 performs processing from generation of prediction image data and generation of prediction error data to lossless encoding using reference image data supplied from the addition unit 23 in each prediction mode and transform block size. . Note that the intra prediction unit 31 outputs coding parameter information related to the intra prediction process to the
ステップST42でイントラ予測部31は、各予測モードと各変換ブロックサイズに対するコスト関数値を算出する。コスト関数値としては、H.264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。 In step ST42, the intra prediction unit 31 calculates a cost function value for each prediction mode and each transform block size. The cost function value is H.264. As defined by JM (Joint Model), which is reference software in the H.264 / AVC format, this is performed based on either the High Complexity mode or the Low Complexity mode.
すなわち、High Complexity モードにおいては、ステップST41の処理として、各予測モードおよび変換ブロックサイズに対して、仮に可逆符号化処理までを行い、次の式(1)で表されるコスト関数値を各予測モードおよび変換ブロックサイズに対して算出する。
Cost(Mode∈Ω)=D+λ・R ・・・(1)
That is, in the High Complexity mode, as the process of step ST41, the process up to the lossless encoding process is performed for each prediction mode and transform block size, and the cost function value represented by the following equation (1) is calculated for each prediction. Calculate for mode and transform block size.
Cost (Mode∈Ω) = D + λ · R (1)
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードと変換ブロックサイズの全体集合を示している。Dは、予測モードおよび変換ブロックサイズで符号化を行った場合の参照画像と入力画像との差分エネルギー(歪み)を示している。Rは、直交変換係数や符号化パラメータ情報等を含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。 Ω indicates the entire set of prediction modes and transform block sizes that are candidates for encoding the block or macroblock. D indicates the difference energy (distortion) between the reference image and the input image when encoding is performed in the prediction mode and the transform block size. R is a generated code amount including orthogonal transform coefficients and coding parameter information, and λ is a Lagrange multiplier given as a function of the quantization parameter QP.
つまり、High Complexity Modeでの符号化を行うには、上記パラメータDおよびRを算出するため、候補となるすべての予測モードおよび変換ブロックサイズにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。 That is, in order to perform encoding in High Complexity Mode, in order to calculate the parameters D and R, it is necessary to perform temporary encoding processing once with all candidate prediction modes and transform block sizes. Computation amount is required.
一方、Low Complexity モードにおいては、ステップST41の処理として、候補となるすべての予測モードおよび変換ブロックサイズに対して、予測画像の生成、および、符号化パラメータ情報などのヘッダビットまでを算出し、次の式(2)で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=D+QPtoQuant(QP)・Header_Bit ・・・(2)
On the other hand, in the Low Complexity mode, as a process of Step ST41, for all prediction modes and transform block sizes that are candidates, prediction image generation and header bits such as encoding parameter information are calculated. The cost function value represented by the equation (2) is calculated for each prediction mode.
Cost (Mode∈Ω) = D + QPtoQuant (QP) · Header_Bit (2)
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードと変換ブロックサイズの全体集合を示している。Dは、予測モードと変換ブロックサイズで符号化を行った場合の参照画像と入力画像との差分エネルギー(歪み)を示している。Header_Bitは、予測モードと変換ブロックサイズに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。 Ω indicates the entire set of prediction modes and transform block sizes that are candidates for encoding the block or macroblock. D indicates the difference energy (distortion) between the reference image and the input image when encoding is performed in the prediction mode and the transform block size. Header_Bit is a header bit for the prediction mode and transform block size, and QPtoQuant is a function given as a function of the quantization parameter QP.
すなわち、Low Complexity Modeにおいては、それぞれの予測モードおよび変換ブロックサイズに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、High Complexity Modeより低い演算量での実現が可能である。 That is, in Low Complexity Mode, it is necessary to perform prediction processing for each prediction mode and transform block size, but since it is not necessary to obtain a decoded image, it is possible to realize with a calculation amount lower than that in High Complexity Mode. .
ステップST43でイントラ予測部31は、最適イントラ予測処理を決定する。イントラ予測部31は、ステップST42において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのイントラ予測処理を選択して最適イントラ予測処理に決定する。 In step ST43, the intra prediction unit 31 determines an optimal intra prediction process. Based on the cost function value calculated in step ST42, the intra prediction unit 31 selects one intra prediction process whose cost function value is the minimum value, and determines the optimum intra prediction process.
次に、図9のフローチャートを参照して、図7のステップST32のインター予測処理について説明する。 Next, the inter prediction process in step ST32 in FIG. 7 will be described with reference to the flowchart in FIG.
ステップST51で動き予測・補償部32は、各動き補償ブロックサイズで仮にインター予測処理を行う。動き予測・補償部32は、各動き補償ブロックサイズで、仮に符号化処理対象ブロックの画像データと参照画像データを用いて動き予測を行う。動き予測・補償部32は、検出した動きベクトル基づき参照画像データの動き補償を行い予測画像データの生成等を行う。なお、動き予測・補償部32は、各インター予測処理において、インター予測処理に関する符号化パラメータ情報を直交変換部14と可逆符号化部16に出力する。
In step ST51, the motion prediction / compensation unit 32 temporarily performs inter prediction processing with each motion compensation block size. The motion prediction / compensation unit 32 performs motion prediction using the image data and reference image data of the block to be encoded at each motion compensation block size. The motion prediction / compensation unit 32 performs motion compensation of the reference image data based on the detected motion vector, and generates predicted image data. Note that the motion prediction / compensation unit 32 outputs the encoding parameter information related to the inter prediction process to the
ステップST52で動き予測・補償部32は、各動き補償ブロックサイズに対するコスト関数値の算出を行う。動き予測・補償部32は、上述した式(1)または式(2)を用いてコスト関数値の算出を行う。コスト関数値の算出では、符号化パラメータ情報等を含めた発生符号量を用いる。なお、インター予測モードに対するコスト関数値の算出には、H.264/AVC方式において定められているSkip ModeおよびDirect Modeのコスト関数値の評価も含まれる。 In step ST52, the motion prediction / compensation unit 32 calculates a cost function value for each motion compensation block size. The motion prediction / compensation unit 32 calculates the cost function value using the above-described equation (1) or equation (2). In calculating the cost function value, a generated code amount including coding parameter information and the like is used. Note that the cost function value for the inter prediction mode is calculated using the H.264 standard. Evaluation of Skip Mode and Direct Mode cost function values defined in the H.264 / AVC format is also included.
ステップST53で動き予測・補償部32は、最適インター予測処理を決定する。動き予測・補償部32は、ステップST54において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのインター予測処理を選択して最適インター予測処理に決定する。 In step ST53, the motion prediction / compensation unit 32 determines an optimal inter prediction process. Based on the cost function value calculated in step ST54, the motion prediction / compensation unit 32 selects one inter prediction process having the minimum cost function value from them, and determines the optimum inter prediction process. .
次に、図10のフローチャートを参照して、図6におけるステップST23の符号化パラメータ情報生成処理について、イントラ予測処理の場合を説明する。符号化パラメータ情報は、上述のようにイントラ予測部31で生成する。また、予測画像・最適モード選択部33で最適モードを選択したとき、選択した予測処理に応じた符号化パラメータ情報を予測画像・最適モード選択部33で生成するようにしてもよい。
Next, with reference to the flowchart of FIG. 10, the case of an intra prediction process is demonstrated about the encoding parameter information generation process of step ST23 in FIG. The encoding parameter information is generated by the intra prediction unit 31 as described above. Further, when the optimum mode is selected by the predicted image / optimum
ステップST61でイントラ予測部31は、マクロブロックサイズが16×16画素であるか否かを判別する。イントラ予測部31は、マクロブロックサイズが16×16画素であるときステップST62に進み、16×16画素でないときステップST63に進む。 In step ST61, the intra prediction unit 31 determines whether or not the macroblock size is 16 × 16 pixels. The intra prediction unit 31 proceeds to step ST62 when the macroblock size is 16 × 16 pixels, and proceeds to step ST63 when the macroblock size is not 16 × 16 pixels.
ステップST62でイントラ予測部31は、16×16画素における変換ブロックサイズ情報を設定してステップST65に進む。イントラ予測部31は、例えば直交変換部14でKL変換を行うときの変換ブロックサイズを4×4画素とするとき、変換ブロックサイズを示す変換ブロックサイズ情報を「0」に設定する。また、イントラ予測部31は、直交変換部14でKL変換を行うときの変換ブロックサイズを8×8画素とするとき、変換ブロックサイズ情報を「1」、16×16画素とするとき「2」に設定する。
In step ST62, the intra prediction unit 31 sets transform block size information for 16 × 16 pixels, and proceeds to step ST65. For example, when the transform block size when the KL transform is performed by the
ステップST63でイントラ予測部31は、マクロブロックサイズが8×8画素であるか否か判別する。イントラ予測部31は、マクロブロックサイズが8×8画素であるときステップST64に進み、8×8画素でないときステップST65に進む。 In step ST63, the intra prediction unit 31 determines whether or not the macroblock size is 8 × 8 pixels. The intra prediction unit 31 proceeds to step ST64 when the macroblock size is 8 × 8 pixels, and proceeds to step ST65 when the macroblock size is not 8 × 8 pixels.
ステップST64でイントラ予測部31は、8×8画素における変換ブロックサイズ情報を設定してステップST65に進む。イントラ予測部31は、例えば直交変換部14でKL変換を行うときの変換ブロックサイズを4×4画素とするとき、変換ブロックサイズ情報を「0」に設定する。また、イントラ予測部31は、直交変換部14でKL変換を行うときの変換ブロックサイズを8×8画素とするとき、変換ブロックサイズ情報を「1」とする。
In step ST64, the intra prediction unit 31 sets transform block size information for 8 × 8 pixels, and proceeds to step ST65. For example, when the transform block size when the KL transform is performed by the
ステップST65でイントラ予測部31は、符号化パラメータ情報を生成する。イントラ予測部31は、イントラ予測であることを示す情報、マクロブロックサイズ、変換ブロックサイズ情報、予測モード、マクロブロック内のブロック位置等を用いて符号化パラメータ情報を構成する。 In step ST65, the intra prediction unit 31 generates encoding parameter information. The intra prediction unit 31 configures encoding parameter information using information indicating that the prediction is intra prediction, macroblock size, transformed block size information, prediction mode, block position in the macroblock, and the like.
次に、図11のフローチャートを参照して、直交変換処理について説明する。ステップST71で直交変換部14は、イントラ予測であるか否か判別する。直交変換部14は、符号化パラメータ情報でイントラ予測であることが示されているときステップST72に進み、イントラ予測であることが示されていないときステップST81に進む。
Next, orthogonal transform processing will be described with reference to the flowchart of FIG. In step ST71, the
ステップST72で直交変換部14は、マクロブロックサイズが16×16画素であるか否か判別する。直交変換部14は、符号化パラメータ情報でマクロブロックサイズが16×16画素であることを示しているときステップST73に進み、16×16画素であることを示していないとき、すなわち8×8画素であるときステップST78に進む。
In step ST72, the
ステップST73で直交変換部14は、変換ブロックサイズが4×4画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが4×4画素であることを示しているときステップST74に進み、4×4画素であることを示していないときステップST75に進む。
In step ST73, the
ステップST74で直交変換部14は、4×4直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4画素のブロック毎にKL変換を行う。ここで、16×16画素のブロックには、4×4画素のブロックが16個含まれることから16回のKL変換を行う。さらに、直交変換部14は、4×4画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した4×4の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、4×4KL変換部144,146から出力される係数を選択して量子化部15に出力する。
In step ST74, the
ステップST75で直交変換部14は、変換ブロックサイズが8×8画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが8×8画素であることを示しているときステップST76に進み、8×8画素であることを示していないときステップST77に進む。
In step ST75, the
ステップST76で直交変換部14は、8×8直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて8×8画素のブロック毎にKL変換を行う。ここで、16×16画素のブロックには、8×8画素のブロックが4個含まれることから4回のKL変換を行う。さらに、直交変換部14は、8×8画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した2×2の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、8×8KL変換部142と2×2KL変換部143から出力される係数を選択して量子化部15に出力する。
In step ST76, the
ステップST77で直交変換部14は、16×16直交変換処理を行う。直交変換部14は、予測モードに応じて予め学習されている基底を用いて16×16画素のブロックのKL変換を行い、得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、16×16KL変換部141から出力される係数を選択して量子化部15に出力する。
In step ST77, the
ステップST72からステップST78に進むと、直交変換部14は、変換ブロックサイズが4×4画素であるか否か判別する。直交変換部14は、符号化パラメータ情報で変換ブロックサイズが4×4画素であることを示しているときステップST79に進み、4×4画素であることを示していないときステップST80に進む。
When proceeding from step ST72 to step ST78, the
ステップST79で直交変換部14は、4×4直交変換処理を行う。直交変換部14は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4画素のブロック毎にKL変換を行う。ここで、8×8画素のブロックには、4×4画素のブロックが4個含まれることから4回のKL変換を行う。さらに、4×4画素のブロックについてKL変換を行って得られた係数から、最低周波数成分係数を選択して、選択した2×2の係数に対して予測モードに応じた基底を用いてKL変換を行う。直交変換部14は、最低周波数成分係数に対してKL変換を行って得られた係数と、最低周波数成分係数を除いた他の係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、4×4KL変換部144と2×2KL変換部146から出力される係数を選択して量子化部15に出力する。
In step ST79, the
ステップST80で直交変換部14は、8×8画素のブロック単位で直交変換を行う。直交変換部14は、予測モードに応じて予め学習されている基底を用いて8×8画素のブロックのKL変換を行い、得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、8×8KL変換部142から出力される係数を選択して量子化部15に出力する。
In step ST80, the
ステップST81で直交変換部14は、離散コサイン変換(DCT)を行う。直交変換部14は、離散コサイン変換を行って得られた係数を量子化部15に出力する。すなわち、図5に示す直交変換部14の係数選択部148は、DCT部147から出力される係数を選択して量子化部15に出力する。
In step ST81, the
図12は、直交変換動作を説明するための図であり、マクロブロックサイズが図12の(A)に示すように16×16画素であり、変換ブロックサイズが4×4画素であると、図12の(B)に示すように、マクロブロック内には16個の変換ブロックが含まれる。なお、ブロック内の数字はブロック位置locを示している。直交変換部14の4×4KL変換部144は、各変換ブロックについて、各ブロックの予測モードとブロック位置に対して最適化された基底を用いてKL変換を行い、図12の(C)に示すようにブロック毎の係数を生成する。さらに、4×4KL変換部145は、各ブロックにおける最低周波数成分係数(斜線で示す)を用いて、図12の(D)に示すように4×4のブロックを構成する。4×4KL変換部145は、このブロックに対して、予測モードに応じて最適化された基底を用いてKL変換を行い、図12の(E)に示すようにブロック毎の係数を生成する。直交変換部14は図12の(E)に示す係数と、図12の(C)における最低周波数成分係数を除いた他の係数を量子化部15に出力する。
FIG. 12 is a diagram for explaining the orthogonal transform operation. When the macroblock size is 16 × 16 pixels as shown in FIG. 12A, the transform block size is 4 × 4 pixels. As shown in FIG. 12B, the 16 macroblocks are included in the macroblock. The number in the block indicates the block position loc. The 4 × 4 KL transform unit 144 of the
マクロブロックサイズが図12の(F)に示すように8×8画素であり、変換ブロックサイズが4×4画素であると、図12の(G)に示すように、マクロブロック内には4個の変換ブロックが含まれる。なお、ブロック内の数字はブロック位置locを示している。直交変換部14の4×4KL変換部144は、各変換ブロックについて、各ブロックの予測モードとブロック位置に対して最適化された基底を用いてKL変換を行い、図12の(H)に示すようにブロック毎の係数を生成する。さらに、2×2KL変換部146は、各ブロックにおける最低周波数成分係数(斜線で示す)を用いて、図12の(I)に示すように2×2のブロックを構成する。2×2KL変換部146は、このブロックに対して、予測モードに応じて最適化された基底を用いてKL変換を行い、図12の(J)に示すようにブロック毎の係数を生成する。直交変換部14は図12の(J)に示す係数と、図12の(H)における最低周波数成分係数を除いた他の係数を量子化部15に出力する。
When the macroblock size is 8 × 8 pixels as shown in FIG. 12F and the transform block size is 4 × 4 pixels, 4 macroblocks are included in the macroblock as shown in FIG. Contains transformation blocks. The number in the block indicates the block position loc. The 4 × 4 KL transform unit 144 of the
このように、本願発明の画像符号化装置および方法によれば、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。したがって、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。また、ブロック位置だけでなく予測モードに応じて予め設定されている基底を用いて直交変換を行うことで、さらに最適化した直交変換を行うことが可能となり、さらに符号化効率を改善することができる。また、符号化効率を改善することで、例えば符号化ビットストリームのデータ量を増やさなくとも画質を改善できる。 As described above, according to the image coding apparatus and method of the present invention, in the orthogonal transform performed at the time of image data coding, a base set in advance according to the block position of the transform block in the macro block is used. Orthogonal transformation is performed. Therefore, it is possible to perform the conversion optimized according to the block position, and the encoding efficiency can be improved. Furthermore, by performing orthogonal transformation using a base set in advance according to not only the block position but also the prediction mode, it is possible to perform further optimized orthogonal transformation and further improve the coding efficiency. it can. Further, by improving the encoding efficiency, for example, the image quality can be improved without increasing the data amount of the encoded bit stream.
<4.画像復号化装置の構成>
入力画像を符号化して生成された符号化ビットストリームは、所定の伝送路や記録媒体等を介して画像復号化装置に供給されて復号される。
<4. Configuration of Image Decoding Device>
An encoded bit stream generated by encoding an input image is supplied to an image decoding apparatus via a predetermined transmission path, a recording medium, or the like and decoded.
図13は、画像復号化装置の構成を示している。画像復号化装置50は、蓄積バッファ51、可逆復号化部52、逆量子化部53、逆直交変換部54、加算部55、デブロッキングフィルタ56、画面並べ替えバッファ57、ディジタル/アナログ変換部(D/A変換部)58を備えている。さらに、画像復号化装置50は、フレームメモリ61、イントラ予測部62、動き補償部63、セレクタ64を備えている。
FIG. 13 shows the configuration of the image decoding apparatus. The
蓄積バッファ51は、伝送されてきた符号化ビットストリームを蓄積する。可逆復号化部52は、蓄積バッファ51より供給された符号化ビットストリームを、図1の可逆符号化部16の符号化方式に対応する方式で復号化する。
The accumulation buffer 51 accumulates the transmitted encoded bit stream. The lossless decoding unit 52 decodes the encoded bit stream supplied from the accumulation buffer 51 by a method corresponding to the encoding method of the
可逆復号化部52は、符号化ビットストリームのヘッダ情報を復号して得られた符号化パラメータ情報をイントラ予測部62や動き補償部63、デブロッキングフィルタ56に出力する。また、可逆復号化部52は、復号化対象のブロックと復号化済みの隣接ブロックの動きベクトルを用いて予測動きベクトルの候補を設定する。可逆復号化部52は、符号化ビットストリームを可逆復号化して得られた予測動きベクトル選択情報に基づき、予測動きベクトルの候補から動きベクトルを選択して、選択した動きベクトルを予測動きベクトルとする。また、可逆復号化部52は、符号化ビットストリームを可逆復号化して得られた差分動きベクトルに予測動きベクトルを加算して復号化対象のブロックの動きベクトルを算出して、動き補償部63に出力する。
The lossless decoding unit 52 outputs the encoding parameter information obtained by decoding the header information of the encoded bitstream to the
逆量子化部53は、可逆復号化部52で復号された量子化データを、図1の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部54は、図1の直交変換部14の直交変換方式に対応する方式で逆量子化部53の出力を逆直交変換して加算部55に出力する。
The inverse quantization unit 53 inversely quantizes the quantized data decoded by the lossless decoding unit 52 by a method corresponding to the quantization method of the
加算部55は、逆直交変換後のデータとセレクタ64から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ56とイントラ予測部62に出力する。
The adding
デブロッキングフィルタ56は、加算部55から供給された復号画像データに対してフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ61に供給し蓄積させるとともに、画面並べ替えバッファ57に出力する。
The
画面並べ替えバッファ57は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、D/A変換部58に出力される。
The screen rearrangement buffer 57 rearranges images. That is, the order of frames rearranged for the encoding order by the
D/A変換部58は、画面並べ替えバッファ57から供給された画像データをD/A変換し、図示せぬディスプレイに出力することで画像を表示させる。
The D /
フレームメモリ61は、デブロッキングフィルタ24から供給されたフィルタ処理後の復号画像データとを保持する。 The frame memory 61 holds the decoded image data after the filtering process supplied from the deblocking filter 24.
イントラ予測部62は、可逆復号化部52から供給された符号化パラメータ情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ64に出力する。
The
動き補償部63は、可逆復号化部52から供給された符号化パラメータ情報や動きベクトルに基づいて動き補償を行い、予測画像データを生成してセレクタ64に出力する。すなわち、動き補償部63は、可逆復号化部52から供給された動きベクトルおよび参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して、動きベクトルに基づき動き補償を行い、動き補償ブロックサイズの予測画像データを生成する。
The
セレクタ64は、イントラ予測部62で生成された予測画像データを加算部55に供給する。また、セレクタ64は、動き補償部63で生成された予測画像データを加算部55に供給する。
The selector 64 supplies the predicted image data generated by the
<5.逆直交変換部の構成>
図14は、逆直交変換部54の構成を示している。逆直交変換部54は、16×16KL逆変換部541、2×2KL逆変換部542,545、8×8KL逆変換部543、4×4KL逆変換部544,546、IDCT部547およびデータ選択部548を有している。
<5. Configuration of Inverse Orthogonal Transformer>
FIG. 14 shows the configuration of the inverse
16×16KL逆変換部541は、図5に示す16×16KL変換部141で行われたKL変換に対応するKL逆変換を行う。16×16KL逆変換部541は、可逆復号化部52から供給された最適モードの符号化パラメータ情報が示す予測モード(最適予測モード)に応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。16×16KL逆変換部541は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。 The 16 × 16 KL inverse conversion unit 541 performs KL inverse conversion corresponding to the KL conversion performed by the 16 × 16 KL conversion unit 141 illustrated in FIG. 5. The 16 × 16KL inverse transform unit 541 is output from the inverse quantization unit 53 using a basis corresponding to the prediction mode (optimum prediction mode) indicated by the coding parameter information of the optimum mode supplied from the lossless decoding unit 52. KL inverse transformation of the dequantized data is performed. The 16 × 16 KL inverse transform unit 541 outputs the image data obtained by performing the KL inverse transform to the data selection unit 548.
2×2KL逆変換部542は、図5に示す2×2KL変換部143で行われたKL変換に対応するKL逆変換を行う。2×2KL逆変換部542は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。2×2KL逆変換部542は、KL逆変換を行うことにより得られた最低周波数成分係数を8×8KL逆変換部543に出力する。
The 2 × 2 KL inverse conversion unit 542 performs KL inverse conversion corresponding to the KL conversion performed by the 2 × 2
8×8KL逆変換部543は、図5に示す8×8KL変換部143で行われたKL変換に対応するKL逆変換を行う。8×8KL逆変換部543は、可逆復号化部52から供給された最適モードの符号化パラメータ情報に基づいてKL逆変換を行う。例えば、8×8KL逆変換部543は、マクロブロックサイズが16×16画素であるとき、最適モードの符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて、2×2KL逆変換部542から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。8×8KL逆変換部543は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。また、8×8KL逆変換部543は、マクロブロックサイズが8×8画素であるとき、予測モードとブロック位置に応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行い、得られた画像データをデータ選択部548に出力する。
The 8 × 8KL reverse conversion unit 543 performs KL reverse conversion corresponding to the KL conversion performed by the 8 ×
4×4KL逆変換部544は、図5に示す4×4KL変換部145で行われたKL変換に対応するKL逆変換を行う。4×4KL逆変換部544は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。4×4KL逆変換部544は、KL逆変換を行うことにより得られた最低周波数成分係数を4×4KL逆変換部546に出力する。
The 4 × 4KL
2×2KL逆変換部545は、図5に示す2×2KL変換部146で行われたKL変換に対応するKL逆変換を行う。2×2KL逆変換部545は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、逆量子化部53から出力された逆量子化後データのKL逆変換を行う。2×2KL逆変換部545は、KL逆変換を行うことにより得られた最低周波数成分係数を4×4KL逆変換部546に出力する。
The 2 × 2 KL inverse conversion unit 545 performs KL inverse conversion corresponding to the KL conversion performed by the 2 × 2
4×4KL逆変換部546は、図5に示す4×4KL変換部144で行われたKL変換に対応するKL逆変換を行う。4×4KL逆変換部546は、可逆復号化部52から供給された最適モードの符号化パラメータ情報に基づいてKL逆変換を行う。例えば、4×4KL逆変換部546は、マクロブロックサイズが16×16画素であるとき、最適モードの符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて、4×4KL逆変換部544から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。4×4KL逆変換部546は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。また、4×4KL逆変換部546は、マクロブロックサイズが8×8画素であるとき、予測モードとブロック位置に応じた基底を用いて、2×2KL逆変換部545から出力された最低周波数成分係数と逆量子化部53から出力された逆量子化後データとのKL逆変換を行う。4×4KL逆変換部546は、KL逆変換を行うことにより得られた画像データをデータ選択部548に出力する。
The 4 × 4KL inverse conversion unit 546 performs KL inverse conversion corresponding to the KL conversion performed by the 4 × 4KL conversion unit 144 illustrated in FIG. 5. The 4 × 4KL inverse transform unit 546 performs KL inverse transform based on the coding parameter information of the optimal mode supplied from the lossless decoding unit 52. For example, when the macro block size is 16 × 16 pixels, the 4 × 4 KL inverse transform unit 546 uses the prediction mode indicated by the coding parameter information of the optimal mode and the basis corresponding to the block position to perform the 4 × 4 KL inverse transform. The KL inverse transform between the lowest frequency component coefficient output from the
IDCT部547は、逆量子化部53から出力された逆量子化後データを用いて、逆離散コサイン変換を行い、得られた画像データをデータ選択部548に出力する。
The
データ選択部548は、符号化パラメータ情報に基づいて、16×16KL逆変換部541、8×8KL逆変換部543、4×4KL逆変換部546、IDCT部547から出力された画像データの選択を行う。データ選択部548は、選択した画像データを予測誤差データとして加算部55に出力する。
The data selection unit 548 selects the image data output from the 16 × 16KL inverse transform unit 541, the 8 × 8KL inverse transform unit 543, the 4 × 4KL inverse transform unit 546, and the
<6.画像復号化装置の動作>
次に、図15のフローチャートを参照して、画像復号化装置50で行われる画像復号処理動作について説明する。
<6. Operation of Image Decoding Device>
Next, the image decoding processing operation performed by the
ステップST91で蓄積バッファ51は、伝送されてきた符号化ビットストリームを蓄積する。ステップST92で可逆復号化部52は、可逆復号化処理を行う。可逆復号化部52は、蓄積バッファ51から供給される符号化ビットストリームを復号化する。すなわち、図1の可逆符号化部16により符号化された各ピクチャの量子化データが得られる。また、可逆復号化部52、符号化ビットストリームのヘッダ情報に含まれている符号化パラメータ情報の可逆復号化を行い、得られた符号化パラメータ情報をデブロッキングフィルタ56やセレクタ64に供給する。さらに、可逆復号化部52は、符号化パラメータ情報がイントラ予測モードに関する情報である場合、符号化パラメータ情報をイントラ予測部62に出力する。また、可逆復号化部52は、符号化パラメータ情報がインター予測モードに関する情報である場合、符号化パラメータ情報を動き補償部63に出力する。
In step ST91, the accumulation buffer 51 accumulates the transmitted encoded bit stream. In step ST92, the lossless decoding unit 52 performs lossless decoding processing. The lossless decoding unit 52 decodes the encoded bit stream supplied from the accumulation buffer 51. That is, quantized data of each picture encoded by the
ステップST93において逆量子化部53は、逆量子化処理を行う。逆量子化部53は、可逆復号化部52により復号された量子化データを、図1の量子化部15の特性に対応する特性で逆量子化する。
In step ST93, the inverse quantization unit 53 performs an inverse quantization process. The inverse quantization unit 53 inversely quantizes the quantized data decoded by the lossless decoding unit 52 with characteristics corresponding to the characteristics of the
ステップST94において逆直交変換部54は、逆直交変換処理を行う。逆直交変換部54は、逆量子化部53からの逆量子化後データに対して、図1の直交変換部14の直交変換に対応する逆直交変換を行う。
In step ST94, the inverse
ステップST95において加算部55は、復号画像データの生成を行う。加算部55は、逆直交変換処理を行うことにより得られた予測誤差データと、後述するステップST99で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
In step ST95, the adding
ステップST96においてデブロッキングフィルタ56は、フィルタ処理を行う。デブロッキングフィルタ56は、加算部55より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
In step ST96, the
ステップST97においてフレームメモリ61は、復号画像データの記憶処理を行う。 In step ST97, the frame memory 61 performs storage processing of decoded image data.
ステップST98においてイントラ予測部62と動き補償部63は、予測処理を行う。イントラ予測部62と動き補償部63は、可逆復号化部52から供給される符号化パラメータ情報に対応してそれぞれ予測処理を行う。
In step ST98, the
すなわち、可逆復号化部52から供給された符号化パラメータ情報がイントラ予測であることを示している場合、イントラ予測部62は、符号化パラメータ情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号化部52から供給された符号化パラメータ情報がインター予測であることを示している場合、動き補償部63は、符号化パラメータ情報に基づき動き補償を行い、予測画像データを生成する。
That is, when the encoding parameter information supplied from the lossless decoding unit 52 indicates intra prediction, the
ステップST99において、セレクタ64は予測画像データの選択を行う。すなわち、セレクタ64は、イントラ予測部62から供給された予測画像データと動き補償部63で生成された予測画像データを選択して加算部55に供給して、上述したように、ステップST95において逆直交変換部54の出力と加算させる。
In step ST99, the selector 64 selects predicted image data. That is, the selector 64 selects the prediction image data supplied from the
ステップST100において画面並べ替えバッファ57は、画像並べ替えを行う。すなわち画面並べ替えバッファ57は、図1の画像符号化装置10の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
In step ST100, the screen rearrangement buffer 57 performs image rearrangement. That is, the screen rearrangement buffer 57 rearranges the order of frames rearranged for encoding by the
ステップST101において、D/A変換部58は、画面並べ替えバッファ57からの画像データをD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。 In step ST101, the D / A converter 58 D / A converts the image data from the screen rearrangement buffer 57. This image is output to a display (not shown), and the image is displayed.
次に、逆直交変換処理について、図16に示すフローチャートを用いて説明する。ステップST111で逆直交変換部54は、イントラ予測であるか否か判別する。逆直交変換部54は、例えば可逆復号化部52で符号化ビットストリームから取り出された符号化パラメータ情報に基づき復号化を行うブロックがイントラ予測であるか否か判別する。逆直交変換部54は、符号化パラメータ情報がイントラ予測であることを示しているときステップST112に進み、イントラ予測であることを示していないとき、すなわちインター予測であるときステップST121に進む。
Next, inverse orthogonal transform processing will be described using the flowchart shown in FIG. In step ST111, the inverse
ステップST112で逆直交変換部54は、マクロブロックサイズが16×16画素であるか否か判別する。逆直交変換部54は、符号化パラメータ情報でマクロブロックサイズが16×16画素であることを示しているときステップST113に進み、16×16画素であることを示していないときステップST118に進む。
In step ST112, the inverse
ステップST113で逆直交変換部54は、変換ブロックサイズが4×4画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「0」であるときステップST114に進み、「0」でないときステップST115に進む。
In step ST113, the inverse
ステップST114で逆直交変換部54は、4×4逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4KL逆変換を行う。マクロブロックサイズが16×16画素であるとき、符号化では16回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる16個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、4×4KL逆変換部544の出力を用いて4×4KL逆変換部546でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
In step ST114, the inverse
ステップST115で逆直交変換部54は、変換ブロックサイズが8×8画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「1」であるときステップST116に進み、「1」でないときステップST117に進む。
In step ST115, the inverse
ステップST116で逆直交変換部54は、8×8逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて8×8KL逆変換を行う。マクロブロックサイズが16×16画素であるとき、符号化では4回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる4個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、2×2KL逆変換部542の出力を用いて8×8KL逆変換部543でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
In step ST116, the inverse
ステップST117で逆直交変換部54は、16×16逆直交変換処理を行う。逆直交変換部54は、予測モードに応じて予め学習されている基底を用いて16×16KL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、16×16KL逆変換部541でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
In step ST117, the inverse
ステップST112からステップST118に進むと、逆直交変換部54は、変換ブロックサイズが4×4画素であるか判別する。逆直交変換部54は符号化パラメータ情報における変換ブロックサイズ情報が「0」であるときステップST119に進み、「0」でないときステップST120に進む。
When the process proceeds from step ST112 to step ST118, the inverse
ステップST119で逆直交変換部54は、4×4逆直交変換処理を行う。逆直交変換部54は、予測モードとブロック位置に応じて予め学習されている基底を用いて4×4KL逆変換処理を行う。マクロブロックサイズが8×8画素であるとき、符号化では4回のKL変換とKL変換を行って得られた係数から最低周波数成分係数を選択してKL変換が行われている。したがって、逆直交変換部54は、予測モードに応じた基底を用いて、最低周波数成分係数の逆量子化後データのKL逆変換を行う。また、逆直交変換部54は、このKL逆変換によって得られた最低周波数成分係数と他の成分の係数からなる4個のブロックに対して、予測モードとブロック位置に応じた基底を用いてKL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、2×2KL逆変換部545の出力を用いて4×4KL逆変換部546でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
In step ST119, the inverse
ステップST120で逆直交変換部54は、8×8逆直交変換処理を行う。逆直交変換部54は、予測モードに応じて予め学習されている基底を用いて8×8KL逆変換を行う。逆直交変換部54は、KL逆変換を行うことにより得られた予測誤差データを加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、8×8KL逆変換部543でKL逆変換を行うことにより得られたデータを選択して加算部55に出力する。
In step ST120, the inverse
ステップST121で逆直交変換部54は、逆離散コサイン変換(IDCT)を行う。逆直交変換部54は、逆離散コサイン変換を行って得られた係数を加算部55に出力する。すなわち、図14に示す逆直交変換部54のデータ選択部548は、IDCT部547から出力されるデータを選択して加算部55に出力する。
In step ST121, the inverse
図17は、逆直交変換動作を説明するための図であり、図12の直交変換動作で生成された変換係数の逆直交変換を例示している。 FIG. 17 is a diagram for explaining the inverse orthogonal transform operation, and illustrates the inverse orthogonal transform of the transform coefficient generated by the orthogonal transform operation of FIG.
例えば、マクロブロックサイズが16×16画素で変換ブロックサイズが4×4画素とする。この場合、4×4KL逆変換部544は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて図17の(A)に示す最低周波数成分係数のKL変換後データ(逆量子化データ)のKL逆変換を行う。4×4KL逆変換部544は、このKL逆変換によって、図17の(B)に示す最も低い周波数成分の係数を生成する。4×4KL逆変換部546は、図17の(C)に示すように、最低周波数成分係数と他のKL変換後データ(逆量子化データ)をブロック毎の係数に戻す。さらに、4×4KL逆変換部546は、図17の(D)に示すように、符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて16個の4×4ブロック毎にKL逆変換を行い、図17の(E)に示す予測誤差データを生成する。データ選択部548は、生成された予測誤差データを選択して加算部55に出力する。
For example, the macroblock size is 16 × 16 pixels and the conversion block size is 4 × 4 pixels. In this case, the 4 × 4KL
また、マクロブロックサイズが8×8画素で変換ブロックサイズが4×4画素であるとする。この場合、2×2KL逆変換部545は、最適モードの符号化パラメータ情報が示す予測モードに応じた基底を用いて、図17の(F)に示す最低周波数成分係数のKL変換後データ(逆量子化データ)のKL逆変換を行う。2×2KL逆変換部545は、このKL逆変換によって、図17の(G)に示す最低周波数成分係数を生成する。4×4KL逆変換部546は、図17の(H)に示すように、最低周波数成分係数と他のKL変換後データ(逆量子化データ)をブロック毎の係数に戻す。さらに、4×4KL逆変換部546は、図17の(I)に示すように、符号化パラメータ情報が示す予測モードとブロック位置に応じた基底を用いて4個の4×4ブロック毎にKL逆変換を行い、図17の(J)に示す予測誤差データを生成する。データ選択部548は、生成された予測誤差データを選択して加算部55に出力する。
Also assume that the macroblock size is 8 × 8 pixels and the transform block size is 4 × 4 pixels. In this case, the 2 × 2 KL inverse transform unit 545 uses the basis corresponding to the prediction mode indicated by the coding parameter information of the optimum mode, and performs the KL-transformed data (inverse of the lowest frequency component coefficient shown in FIG. 17F). KL inverse transform of (quantized data) is performed. The 2 × 2 KL inverse transform unit 545 generates the lowest frequency component coefficient shown in FIG. 17G by the KL inverse transform. As shown in FIG. 17H, the 4 × 4KL inverse transform unit 546 returns the lowest frequency component coefficient and other KL-transformed data (inverse quantized data) to coefficients for each block. Further, as shown in (I) of FIG. 17, the 4 × 4KL inverse transform unit 546 uses the prediction mode indicated by the encoding parameter information and the base corresponding to the block position to perform KL for every 4 × 4 blocks. Inverse transformation is performed to generate prediction error data shown in FIG. The data selection unit 548 selects the generated prediction error data and outputs it to the
次に、図18のフローチャートを参照して、図15のステップST98の予測処理について説明する。 Next, the prediction process in step ST98 in FIG. 15 will be described with reference to the flowchart in FIG.
ステップST131で可逆復号化部52は、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号化部52は、可逆復号化を行うことにより得られた符号化パラメータ情報がイントラ予測の情報であるとき、符号化パラメータ情報をイントラ予測部62に供給してステップST132に進む。また、可逆復号化部52は、符号化パラメータ情報がイントラ予測の情報でないとき、符号化パラメータ情報を動き補償部63に供給してステップST133に進む。
In step ST131, the lossless decoding unit 52 determines whether or not the target block is intra-coded. When the encoding parameter information obtained by performing lossless decoding is intra prediction information, the lossless decoding unit 52 supplies the encoding parameter information to the
ステップST132でイントラ予測部62は、イントラ予測処理を行う。イントラ予測部62は、加算部55から供給された復号画像データと符号化パラメータ情報を用いてイントラ予測を行い、予測画像データを生成する。
In step ST132, the
ステップST133で動き補償部63は、インター予測処理を行う。動き補償部63は、可逆復号化部52からの符号化パラメータ情報や動きベクトルに基づいて、フレームメモリ61から供給された復号画像データの動き補償を行う。さらに、動き補償部63は、動き補償により生成した予測画像データをセレクタ64に出力する。
In step ST133, the
このように、本願発明の画像復号化装置および方法では、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われる。したがって、直交変換後の係数データを直交変換前の予測誤差データに戻すことができるので、マクロブロック内のブロック位置に応じた基底を用いて直交変換が行われても、直交変換前の予測誤差データに戻すことができる。また、予測モードに応じた基底を用いて符号化が行われても、符号化パラメータ情報で示された予測モードに応じて予め設定されている基底を用いることで、直交変換後の係数データを直交変換前の予測誤差データに戻すことができる。 As described above, in the image decoding apparatus and method of the present invention, coded bits generated by processing coefficient data obtained by performing orthogonal transformation using a base set in advance according to a block position. In decoding a stream, inverse orthogonal transform is performed using a base set in advance according to the block position in the macroblock indicated by the encoding parameter information included in the encoded bitstream. Therefore, the coefficient data after orthogonal transformation can be restored to the prediction error data before orthogonal transformation, so even if orthogonal transformation is performed using the basis corresponding to the block position in the macroblock, the prediction error before orthogonal transformation is performed. You can return to data. In addition, even if encoding is performed using a basis corresponding to the prediction mode, coefficient data after orthogonal transformation is obtained by using a basis set in advance according to the prediction mode indicated by the encoding parameter information. The prediction error data before the orthogonal transformation can be restored.
<7.基底の学習動作>
次に、直交変換部14と逆直交変換部54で用いられる基底を、学習動作によって予め生成する基底生成部について説明する。図19は、基底の学習動作を示すフローチャートであり、基底生成部は、学習用に用意した画像を用いて図19に示す処理を行い基底を生成する。なお、学習用の画像としては、画像の内容によって学習に偏りが起こらないように、なるべく異なる多くの画像を用いるようにする。
<7. Base learning action>
Next, a base generating unit that generates bases used in the
ステップST141で基底生成部は、学習に用いていない画像が残っているか判別する。基底生成部は、学習に用いていない画像が残っているときはステップST142に進み、すべての画像を用いて学習が行われたときはステップST152に進む。 In step ST <b> 141, the base generation unit determines whether an image that is not used for learning remains. The base generation unit proceeds to step ST142 when an image not used for learning remains, and proceeds to step ST152 when learning is performed using all images.
ステップST142で基底生成部は、学習に用いていないマクロブロックが残っているか判別する。基底生成部は、学習に使う画像において、学習に用いていないマクロブロックが残っているときはステップST143に進み、すべてのマクロブロックを用いて学習が行われたときはステップST141に戻る。 In step ST142, the base generation unit determines whether there is a macroblock that is not used for learning. The base generation unit proceeds to step ST143 when macroblocks not used for learning remain in the image used for learning, and returns to step ST141 when learning is performed using all macroblocks.
ステップST143で基底生成部は、マクロブロックサイズが16×16画素であるか判別する。基底生成部は、マクロブロックサイズが16×16画素であるときステップST144に進み、マクロブロックサイズが16×16画素でないときステップST148に進む。 In step ST143, the base generation unit determines whether the macroblock size is 16 × 16 pixels. The base generation unit proceeds to step ST144 when the macroblock size is 16 × 16 pixels, and proceeds to step ST148 when the macroblock size is not 16 × 16 pixels.
ステップST144で基底生成部は、16×16予測誤差データを生成する。基底生成部はイントラ予測を行い16×16画素の予測誤差データを生成する。 In step ST144, the base generation unit generates 16 × 16 prediction error data. The base generation unit performs intra prediction and generates prediction error data of 16 × 16 pixels.
ステップST145で基底生成部は、4×4直交変換の対称行列を算出する。基底生成部は、16×16予測誤差データを4×4画素である16個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、4×4画素の変換ブロックの予測誤差データを並べて16次のベクトルとして、16次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。
In step ST145, the base generation unit calculates a symmetric matrix of 4 × 4 orthogonal transformation. The base generation unit divides the 16 × 16 prediction error data into 16 transform blocks each having 4 × 4 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock. The base generation unit calculates the difference between the average of the 16th-order vectors and each vector as 16th-order vectors by arranging the prediction error data of the 4 × 4 pixel conversion blocks. The base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
なお、式(3)において、「mdt」はマクロブロックサイズと変換ブロックサイズを判別可能とする変換モード情報である。「mid」はイントラ予測の予測モードである。「loc」は、マクロブロック内における変換ブロックのブロック位置である。「num」は学習回数である。また「T」は転置行列であることを示している。 In Expression (3), “mdt” is conversion mode information that makes it possible to determine the macroblock size and the conversion block size. “Mid” is a prediction mode of intra prediction. “Loc” is the block position of the transform block within the macroblock. “Num” is the number of learning times. “T” indicates a transposed matrix.
ステップST146で基底生成部は、8×8直交変換の対称行列を算出する。基底生成部は、16×16予測誤差データを8×8画素である4個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、8×8画素の変換ブロックの予測誤差データを並べて64次のベクトルとして、64次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。 In step ST146, the base generation unit calculates a symmetric matrix of 8 × 8 orthogonal transformation. The base generation unit divides the 16 × 16 prediction error data into four transform blocks each having 8 × 8 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock. The base generation unit calculates the difference between the average of the 64th order vector and each vector as a 64th order vector by arranging the prediction error data of the 8 × 8 pixel transform block. The base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
ステップST147で基底生成部は、16×16直交変換の対称行列を算出する。基底生成部は、予測モード毎に16×16画素の変換ブロックの予測誤差データを並べて256次のベクトルとして、256次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い、予測モード毎に対称行列Mを求める。 In step ST147, the base generation unit calculates a 16 × 16 orthogonal transformation symmetric matrix. The base generation unit calculates the difference between the average of the 256th order vectors and each vector as a 256th order vector by arranging the prediction error data of the 16 × 16 pixel transform blocks for each prediction mode. The base generation unit calculates the symmetric matrix M for each prediction mode by performing the calculation of Expression (3) using this difference as “q”.
ステップST143からステップST148に進むと、基底生成部は、マクロブロックサイズが8×8画素であるか判別する。基底生成部は、マクロブロックサイズが8×8画素であるときステップST149に進み、マクロブロックサイズが8×8画素でないときステップST142に戻る。 When the process proceeds from step ST143 to step ST148, the base generation unit determines whether the macroblock size is 8 × 8 pixels. The base generation unit proceeds to step ST149 when the macroblock size is 8 × 8 pixels, and returns to step ST142 when the macroblock size is not 8 × 8 pixels.
ステップST149で基底生成部は、8×8予測誤差データを生成する。基底生成部はイントラ予測を行い8×8画素の予測誤差データを生成する。 In step ST149, the base generation unit generates 8 × 8 prediction error data. The base generation unit performs intra prediction and generates prediction error data of 8 × 8 pixels.
ステップST150で基底生成部は、4×4直交変換の対称行列を算出する。基底生成部は、8×8予測誤差データを4×4画素である4個の変換ブロックに分割して、予測モードとマクロブロック内における変換ブロックのブロック位置毎に対称行列Mを算出する。基底生成部は、4×4画素の変換ブロックの予測誤差データを並べて16次のベクトルとして、16次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い対称行列Mを求める。 In step ST150, the base generation unit calculates a symmetric matrix of 4 × 4 orthogonal transformation. The base generation unit divides the 8 × 8 prediction error data into four transform blocks each having 4 × 4 pixels, and calculates a symmetric matrix M for each block position of the transform block in the prediction mode and the macroblock. The base generation unit calculates the difference between the average of the 16th-order vectors and each vector as 16th-order vectors by arranging the prediction error data of the 4 × 4 pixel conversion blocks. The base generation unit calculates the symmetric matrix M by performing the calculation of Expression (3) using this difference as “q”.
ステップST151で基底生成部は、8×8直交変換の対称行列を算出する。基底生成部は、予測モード毎に8×8画素の変換ブロックの予測誤差データを並べて64次のベクトルとして、64次のベクトルの平均と各ベクトルとの差を算出する。基底生成部は、この差を「q」として式(3)の演算を行い、予測モード毎に対称行列Mを求める。 In step ST151, the base generation unit calculates a symmetric matrix of 8 × 8 orthogonal transformation. The base generation unit calculates the difference between the average of the 64th order vectors and each vector as a 64th order vector by arranging the prediction error data of the 8 × 8 pixel transform block for each prediction mode. The base generation unit calculates the symmetric matrix M for each prediction mode by performing the calculation of Expression (3) using this difference as “q”.
ステップST152で基底生成部は、KL変換の基底を算出する。基底生成部は、各対称行列Mの固有値に対応する固有ベクトルを求め、固有値の大きさの順に固有ベクトルを並べて、KL変換の基底とする。 In step ST152, the base generation unit calculates the base of the KL conversion. The base generation unit obtains eigenvectors corresponding to the eigenvalues of each symmetric matrix M, arranges the eigenvectors in the order of the eigenvalue magnitudes, and uses them as the basis of the KL transformation.
このような処理を行うと、16×16KL変換部141、8×8KL変換部142、2×2KL変換部143,146、4×4KL変換部144,145でKL変換を行うときの基底を生成できる。また、各基底の逆行列の算出を行うことで、16×16KL逆変換部541、2×2KL逆変換部542,545、8×8KL逆変換部543、4×4KL逆変換部544,546でKL逆変換を行うときの基底を生成できる。
By performing such processing, a base for performing KL conversion by the 16 × 16 KL conversion unit 141, the 8 ×
さらに、マクロブロックサイズ毎と予測モード毎およびマクロブロック内のブロック位置毎に各ブロックのKL変換やKL逆変換を行うための基底を、画像符号化装置と画像復号化装置のそれぞれで記憶すると、記憶しておく基底の数が多くなってしまう。すなわち、容量の大きいメモリが必要となる。そこで、基底のグループ化を行い、記憶する基底を削減する。 Furthermore, when the base for performing KL transformation or KL inverse transformation of each block is stored in each of the image encoding device and the image decoding device for each macroblock size, each prediction mode, and each block position in the macroblock, The number of bases to memorize increases. That is, a memory with a large capacity is required. Therefore, base grouping is performed to reduce the bases to be stored.
次に、グループ化の方法について、2つの方法を例示する。第1の方法は、学習で求めた基底について、基底間でユークリッド距離を計算し、距離が小さいものをグループ化して、グループ内の複数の基底を代表する1つの基底に置き換える。このようにグループ化を行えば、基底の数を削減できる。 Next, two methods will be exemplified for the grouping method. The first method calculates the Euclidean distance between the bases obtained by learning, groups those having a small distance, and replaces them with one base representing a plurality of bases in the group. By performing grouping in this way, the number of bases can be reduced.
第2の方法は、参照画素かの距離に応じてグループ化する方法である。図20に示すように、予測モード0(Vertical)では、例えばGroup1={P4,P5,P6,P7}のブロックは 参照画素からの距離が等しくなる。このような場合、画素P4,P5,P6,P7の予測誤差は同じような特性になる場合が多い。そこで、このGroup1はすべて同じ基底を採用する。同様に、Group0,2,3も同じ基底を採用することで、16種類から4種類に基底を削減できる。
The second method is a method of grouping according to the distance of the reference pixel. As shown in FIG. 20, in the prediction mode 0 (Vertical), for example, the blocks of Group1 = {P4, P5, P6, P7} have the same distance from the reference pixel. In such a case, the prediction errors of the pixels P4, P5, P6, and P7 often have similar characteristics. Therefore, all the
同様に、予測モード1(horizontal)では、例えばGroup1={P1,P5,P9,P13}のブロックは 参照画素からの位置関係(あるいは距離)が等しくなる。このような場合、画素P1,P5,P9,P13の予測誤差は同じような特性になる場合が多い。そこで、このGroup1はすべて同じ基底を採用する。同様に、Group0,2,3も同じ基底を採用することで、16種類から4種類に基底を削減できる。
Similarly, in the prediction mode 1 (horizontal), for example, the block of Group1 = {P1, P5, P9, P13} has the same positional relationship (or distance) from the reference pixel. In such a case, the prediction errors of the pixels P1, P5, P9, and P13 often have similar characteristics. Therefore, all the
また、予測モード4(diagonal down-right)では、参照画素と各ブロックの位置関係が同じにならない。しかし、90度回転することでP3,P12は参照画素との位置関係が同じになる。そこで、90度回転することで参照画素との位置関係が同じとなる{P1,P4}},{P2,P8},{P6,P9},{P7,P13},{P11,P14}をそれぞれグループ化して同じ基底を採用する。 In prediction mode 4 (diagonal down-right), the positional relationship between the reference pixel and each block is not the same. However, by rotating 90 degrees, P3 and P12 have the same positional relationship with the reference pixel. Therefore, {P1, P4}}, {P2, P8}, {P6, P9}, {P7, P13}, {P11, P14}, which have the same positional relationship with the reference pixel by rotating 90 degrees, respectively Group and adopt the same basis.
さらに、予測モード0(Vertical)を90度回転したときの参照画素と各ブロックの位置関係は、予測モード1(horizontal)と等しくなることから、予測モード0(Vertical)と予測モード1(horizontal)をグループ化すれば、さらに基底を削減できることになる。 Further, since the positional relationship between the reference pixel and each block when the prediction mode 0 (Vertical) is rotated 90 degrees is equal to the prediction mode 1 (horizontal), the prediction mode 0 (Vertical) and the prediction mode 1 (horizontal) If the groups are grouped, the base can be further reduced.
<8.ソフトウェア処理の場合>
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
<8. For software processing>
The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When processing by software is executed, a program in which a processing sequence is recorded is installed and executed in a memory in a computer incorporated in dedicated hardware. Alternatively, the program can be installed and executed on a general-purpose computer capable of executing various processes.
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。 For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。 The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.
プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 The step of describing the program includes not only the processing that is performed in time series in the order described, but also the processing that is not necessarily performed in time series but is executed in parallel or individually.
<9.電子機器に適用した場合>
また、以上においては、符号化方式/復号方式としてH.264/AVC方式が用いられたが、本発明は、その他の符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
<9. When applied to electronic devices>
In the above, H.264 is used as the encoding method / decoding method. Although the H.264 / AVC format is used, the present invention can also be applied to an image encoding device / image decoding device using other encoding / decoding methods.
さらに、本発明は、例えば、MPEG,H.26x等のように、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(符号化ビットストリーム)を、衛星放送、ケーブルTV(テレビジョン)、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。 Furthermore, the present invention relates to MPEG, H.264, for example. The image information (encoded bit stream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x, etc., and network media such as satellite broadcasting, cable TV (television), the Internet, and cellular phones. The present invention can be applied to an image encoding device and an image decoding device that are used when receiving via the storage medium or processing on a storage medium such as an optical, magnetic disk, and flash memory.
上述した画像符号化装置10や画像復号化装置50は、任意の電子機器に適用することができる。以下にその例について説明する。
The
図21は、本発明を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置90は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置90は、制御部910、ユーザインタフェース部911等を有している。
FIG. 21 illustrates a schematic configuration of a television device to which the present invention is applied. The
チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
The
デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
The
デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
The
映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
The video
表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
The
音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
The audio
外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
The
制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
A user interface unit 911 is connected to the
制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置90の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置90がユーザ操作に応じた動作となるように各部を制御する。
The
なお、テレビジョン装置90では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
Note that the
このように構成されたテレビジョン装置では、デコーダ904に本願の画像復号化装置(画像復号化方法)の機能が設けられる。このため、放送局側で本願の画像符号化装置の機能を用いることにより、符号化効率や画質の改善がはかられて符号化ビットストリームの生成が行われても、テレビジョン装置で符号化ビットストリームの復号化を正しく行うことができる。
In the television apparatus configured as described above, the
図22は、本発明を適用した携帯電話機の概略構成を例示している。携帯電話機92は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
FIG. 22 illustrates a schematic configuration of a mobile phone to which the present invention is applied. The cellular phone 92 includes a communication unit 922, an
また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
An
携帯電話機92は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。 The mobile phone 92 performs various operations such as transmission / reception of voice signals, transmission / reception of e-mail and image data, image shooting, and data recording in various modes such as a voice call mode and a data communication mode.
音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
In the voice call mode, the voice signal generated by the
また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
In addition, when mail transmission is performed in the data communication mode, the control unit 931 accepts character data input by operating the
なお、携帯電話機92は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
Note that the mobile phone 92 can also store the received mail data in a storage medium by the recording /
データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い符号化データを生成する。
When transmitting image data in the data communication mode, the image data generated by the
多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
The demultiplexing unit 928 multiplexes the encoded data generated by the image processing unit 927 and the audio data supplied from the
このように構成された携帯電話装置では、画像処理部927に本願の画像符号化装置(画像符号化方法)や画像復号化装置(画像復号化方法)の機能が設けられる。したがって、画像データの通信を行う際に、符号化効率や画質を改善することができる。 In the cellular phone device configured as described above, the image processing unit 927 is provided with the functions of the image encoding device (image encoding method) and the image decoding device (image decoding method) of the present application. Therefore, encoding efficiency and image quality can be improved when communicating image data.
図23は、本発明を適用した記録再生装置の概略構成を例示している。記録再生装置94は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置94は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置94は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
FIG. 23 illustrates a schematic configuration of a recording / reproducing apparatus to which the present invention is applied. The recording / reproducing
記録再生装置94は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、ユーザインタフェース部950を有している。
The recording / reproducing
チューナ941は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ941は、所望のチャンネルの受信信号を復調して得られた符号化ビットストリームをセレクタ946に出力する。
The tuner 941 selects a desired channel from a broadcast signal received by an antenna (not shown). The tuner 941 outputs an encoded bit stream obtained by demodulating the received signal of a desired channel to the
外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
The
エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
The
HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
The
ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)やBlu−rayディスク等である。
The
セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
The
デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
The
OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
The
制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
A user interface unit 950 is connected to the
制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置94の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置94がユーザ操作に応じた動作となるように各部を制御する。
The
このように構成された記録再生装置では、エンコーダ943に本願の画像符号化装置(画像符号化方法)の機能、デコーダ947に画像復号化装置(画像復号化方法)の機能が設けられて、符号化効率や画質を改善して、映像の記録再生を効率よく行うことができる。
In the recording / reproducing apparatus configured as described above, the
図24は、本発明を適用した撮像装置の概略構成を例示している。撮像装置96は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
FIG. 24 illustrates a schematic configuration of an imaging apparatus to which the present invention is applied. The
撮像装置96は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
The
光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
The optical block 961 is configured using a focus lens, a diaphragm mechanism, and the like. The optical block 961 forms an optical image of the subject on the imaging surface of the
カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
The camera signal processing unit 963 performs various camera signal processes such as knee correction, gamma correction, and color correction on the electrical signal supplied from the
画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
The image data processing unit 964 performs an encoding process on the image data supplied from the camera signal processing unit 963. The image data processing unit 964 supplies the encoded data generated by performing the encoding process to the
OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
The
外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メモリ部967から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
The
メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であってもよい。 As a recording medium driven by the media drive 968, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory is used. The recording medium may be any type of removable medium, and may be a tape device, a disk, or a memory card. Of course, a non-contact IC card or the like may be used.
また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。 Further, the media drive 968 and the recording medium may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
制御部970は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置96の起動時などの所定のタイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、撮像装置96がユーザ操作に応じた動作となるように各部を制御する。
The
このように構成された撮像装置では、画像データ処理部964に本願の画像符号化装置(画像符号化方法)や画像復号化装置(画像復号化方法)の機能が設けられる。したがって、撮像画像をメモリ部967や記録メディア等に記録する際に、符号化効率や画質の改善をはかり撮像画像の記録再生を効率よく行うことができる。 In the imaging device configured as described above, the image data processing unit 964 is provided with the functions of the image encoding device (image encoding method) and the image decoding device (image decoding method) of the present application. Therefore, when the captured image is recorded in the memory unit 967, a recording medium, or the like, it is possible to improve the encoding efficiency and the image quality and efficiently record and reproduce the captured image.
さらに、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。例えば、上述のマクロブロックサイズや変換ブロックサイズおよび予測モードに限定されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。 Furthermore, the present invention should not be construed as being limited to the above-described embodiments. For example, it should not be limited to the above-described macroblock size, transform block size, and prediction mode. The embodiments of the present invention disclose the present invention in the form of examples, and it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. That is, in order to determine the gist of the present invention, the claims should be taken into consideration.
この発明の画像復号化装置と画像符号化装置およびその方法とプログラムでは、画像データの符号化時に行われる直交変換において、マクロブロック内における変換ブロックのブロック位置に応じて予め設定されている基底を用いて直交変換が行われる。また、ブロック位置に応じて予め設定されている基底を用いて直交変換を行うことに得られた係数データを処理して生成された符号化ビットストリームの復号化において、符号化ビットストリームに含まれている符号化パラメータ情報で示されたマクロブロック内のブロック位置に応じて予め設定されている基底が用いられて、逆直交変換が行われて、直交変換後の係数データが直交変換前の予測誤差データに戻される。このように、マクロブロック内のブロック位置に応じた基底を用いて直交変換や逆直交変換が行われるので、ブロック位置に応じて最適化した変換を行うことが可能となり、符号化効率を改善することができる。したがって、MPEG、H.26x等のように、ブロック単位で符号化を行うことにより得られた画像情報(符号化ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像復号化装置や画像符号化装置等に適している。 In the image decoding apparatus, the image encoding apparatus, the method and the program according to the present invention, in the orthogonal transform performed at the time of encoding image data, a base set in advance according to the block position of the transform block in the macro block is set. To perform orthogonal transformation. In addition, in decoding of an encoded bitstream generated by processing coefficient data obtained by performing orthogonal transformation using a base set in advance according to a block position, it is included in the encoded bitstream. The base set in advance according to the block position in the macroblock indicated by the encoding parameter information is used, inverse orthogonal transformation is performed, and the coefficient data after orthogonal transformation is predicted before orthogonal transformation. Returned to error data. As described above, since orthogonal transform and inverse orthogonal transform are performed using a base corresponding to the block position in the macroblock, it is possible to perform a transform optimized according to the block position and improve coding efficiency. be able to. Therefore, image information (encoded bitstream) obtained by performing encoding in block units, such as MPEG and H.26x, is transmitted via network media such as satellite broadcasting, cable TV, the Internet, and cellular phones. Therefore, the present invention is suitable for an image decoding device, an image encoding device, or the like used when transmitting / receiving data or processing on a storage medium such as an optical, magnetic disk, or flash memory.
10・・画像符号化装置、11・・・A/D変換部、12,57・・・画面並べ替えバッファ、13・・・減算部、14・・・直交変換部、15・・・量子化部、16・・・可逆符号化部、17,51・・・蓄積バッファ、18・・・レート制御部、21,53・・・逆量子化部、22,54・・・逆直交変換部、23,55・・・加算部、24,56・・・デブロッキングフィルタ、27,61・・・フレームメモリ、31,62・・・イントラ予測部、32,63・・・動き予測・補償部、33・・・予測画像・最適モード選択部、50・・・画像復号化装置、52・・・可逆復号化部、58・・・D/A変換部、64,946・・・セレクタ、90・・・テレビジョン装置、92・・・携帯電話機、94・・・記録再生装置、96・・・撮像装置、141・・・16×16KL変換部、142・・・8×8KL変換部、143,146・・・2×2KL変換部、144,145・・・4×4KL変換部、147・・・DCT部、148・・・係数選択部、541・・・16×16KL逆変換部、542,545・・・2×2KL逆変換部、543・・・8×8KL逆変換部、544,546・・・KL逆変換部、547・・・IDCT部、548・・・データ選択部、901、921・・・アンテナ、902、941・・・チューナ、903・・・デマルチプレクサ、904,947・・・デコーダ、905・・・映像信号処理部、906・・・表示部、907・・・音声信号処理部、908・・・スピーカ、909、942、966・・・外部インタフェース部、910、931,949,970・・・制御部、911,932,971・・・ユーザインタフェース部、912,933,972・・・バス、922・・・通信部、923・・・音声コーデック、924・・・スピーカ、925・・・マイクロホン、926・・・カメラ部、927・・・画像処理部、928・・・多重分離部、929・・・記録再生部、930・・・表示部、943・・・エンコーダ、944・・・HDD部、945・・・ディスクドライブ、948、969・・・OSD部、961・・・光学ブロック、962・・・撮像部、963・・・カメラ信号処理部、964・・・画像データ処理部、965・・・表示部、967・・・メモリ部、968・・・メディアドライブ
DESCRIPTION OF
Claims (16)
前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理部と、
前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差データを得る逆直交変換部と、
前記予測画像データを生成する予測画像データ生成部と、
前記逆直交変換部で得られた前記予測誤差データに前記予測画像データ生成部で生成された予測画像データを加算して前記画像データを復号する加算部と
を有する画像復号化装置。 Prediction error data, which is an error between image data and predicted image data, is orthogonally transformed for each transform block, and the image data is decoded from an encoded bitstream generated by processing the coefficient data after the orthogonal transformation. In the image decoding device,
A data processing unit that processes the encoded bitstream to obtain coefficient data and encoding parameter information after the orthogonal transformation;
An inverse orthogonal transform unit that obtains prediction error data by performing inverse orthogonal transform of the coefficient data using a base set in advance according to the position of the transform block in the macroblock indicated by the encoding parameter information ,
A predicted image data generation unit that generates the predicted image data;
An image decoding apparatus comprising: an addition unit configured to add the prediction image data generated by the prediction image data generation unit to the prediction error data obtained by the inverse orthogonal transform unit and decode the image data.
前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理工程と、
前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換工程と、
前記予測画像データを生成する予測画像データ生成工程と、
前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算工程と
を設けた画像復号化方法。 Prediction error data, which is an error between image data and predicted image data, is orthogonally transformed for each transform block, and the image data is decoded from an encoded bitstream generated by processing the coefficient data after the orthogonal transformation. In the image decoding method,
A data processing step of processing the encoded bitstream to obtain coefficient data and encoding parameter information after the orthogonal transformation;
An inverse orthogonal transform step for obtaining a prediction error by performing inverse orthogonal transform of the coefficient data using a preset basis according to the position of the transform block in the macroblock indicated by the encoding parameter information;
A predicted image data generation step of generating the predicted image data;
An image decoding method comprising: an addition step of decoding the image data by adding the generated predicted image data to the prediction error obtained by the inverse orthogonal transform unit.
前記符号化ビットストリームを処理して、前記直交変換後の係数データと符号化パラメータ情報を得るデータ処理手順と、
前記符号化パラメータ情報で示されたマクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記係数データの逆直交変換を行い予測誤差を得る逆直交変換手順と、
前記予測画像データを生成する予測画像データ生成手順と、
前記逆直交変換部で得られた前記予測誤差に前記生成された予測画像データを加算して前記画像データを復号する加算手順と
を前記コンピュータで実行させるプログラム。 Prediction error data, which is an error between image data and predicted image data, is orthogonally transformed for each transform block, and the image data is decoded from an encoded bitstream generated by processing the coefficient data after the orthogonal transformation. A program for causing a computer to execute image encoding,
A data processing procedure for processing the encoded bit stream to obtain coefficient data and encoding parameter information after the orthogonal transformation;
An inverse orthogonal transform procedure for obtaining a prediction error by performing an inverse orthogonal transform of the coefficient data using a preset basis according to the position of the transform block in the macroblock indicated by the encoding parameter information;
A predicted image data generation procedure for generating the predicted image data;
A program for causing the computer to execute an addition procedure for adding the generated predicted image data to the prediction error obtained by the inverse orthogonal transform unit and decoding the image data.
前記画像データの予測画像データを生成する予測部と、
前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算部と、
前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換部と、
前記直交変換部の出力データを処理して符号化ビットストリームを生成するデータ処理部と
を有する画像符号化装置。 In an image encoding device that encodes image data,
A prediction unit that generates predicted image data of the image data;
A subtraction unit that generates prediction error data that is an error between the image data and the predicted image data;
An orthogonal transform unit that performs orthogonal transform of the prediction error for each transform block, and performs the orthogonal transform using a preset base according to the position of the transform block in a macroblock;
An image encoding apparatus comprising: a data processing unit that processes output data of the orthogonal transform unit to generate an encoded bit stream.
前記画像データの予測画像データを生成する予測画像データ生成工程と、
前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算工程と、
前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換工程と
を設けた画像符号化方法。
In an image encoding method for encoding image data,
A predicted image data generation step of generating predicted image data of the image data;
A subtraction step of generating prediction error data that is an error between the image data and the predicted image data;
An image encoding provided with an orthogonal transform step for performing orthogonal transform of the prediction error for each transform block, and performing the orthogonal transform using a preset base according to the position of the transform block in a macro block Method.
前記画像データの予測画像データを生成する予測画像データ生成手順と、
前記画像データと前記予測画像データとの誤差である予測誤差データを生成する減算手順と、
前記予測誤差の直交変換を変換ブロック毎に行い、マクロブロック内における前記変換ブロックの位置に応じて、予め設定されている基底を用いて前記直交変換を行う直交変換手順と
を前記コンピュータで実行させるプログラム。 A program for causing a computer to execute encoding of image data,
A predicted image data generation procedure for generating predicted image data of the image data;
A subtraction procedure for generating prediction error data that is an error between the image data and the predicted image data;
Performing orthogonal transform of the prediction error for each transform block, and causing the computer to execute an orthogonal transform procedure for performing the orthogonal transform using a preset base according to the position of the transform block in a macro block. program.
Priority Applications (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131891A JP2011259205A (en) | 2010-06-09 | 2010-06-09 | Image decoding device, image encoding device, and method and program thereof |
KR20127031223A KR20130090322A (en) | 2010-06-09 | 2011-05-25 | Image decoder apparatus, image encoder apparatus and methods and programs thereof |
CN201510422994.0A CN105025295B (en) | 2010-06-09 | 2011-05-25 | Picture coding device and image encoding method |
RU2012151530/08A RU2012151530A (en) | 2010-06-09 | 2011-05-25 | IMAGE DECODING DEVICE, IMAGE CODING DEVICE, METHOD AND PROGRAM FOR DECODING AND ENCODING AN IMAGE |
CN201510424195.7A CN105049859B (en) | 2010-06-09 | 2011-05-25 | Picture decoding apparatus and picture decoding method |
PCT/JP2011/061974 WO2011155332A1 (en) | 2010-06-09 | 2011-05-25 | Image decoder apparatus, image encoder apparatus and methods and programs thereof |
US13/701,319 US9053549B2 (en) | 2010-06-09 | 2011-05-25 | Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding |
BR112012030544A BR112012030544A2 (en) | 2010-06-09 | 2011-05-25 | image decoding apparatus and method, program, and image encoding apparatus and method |
CN201180027201.5A CN102918843B (en) | 2010-06-09 | 2011-05-25 | Picture decoding apparatus, picture coding device and for the method for image decoding and coding and program |
EP11792289.8A EP2582137A1 (en) | 2010-06-09 | 2011-05-25 | Image decoder apparatus, image encoder apparatus and methods and programs thereof |
TW100119435A TW201215156A (en) | 2010-06-09 | 2011-06-02 | Image decoding device, image encoding device, and method and program thereof |
US14/720,265 US9596476B2 (en) | 2010-06-09 | 2015-05-22 | Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding |
US15/432,338 US9979982B2 (en) | 2010-06-09 | 2017-02-14 | Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding |
US15/960,370 US10499083B2 (en) | 2010-06-09 | 2018-04-23 | Image decoding apparatus, image encoding apparatus, and method and program for image decoding and encoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131891A JP2011259205A (en) | 2010-06-09 | 2010-06-09 | Image decoding device, image encoding device, and method and program thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011259205A true JP2011259205A (en) | 2011-12-22 |
Family
ID=45097940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010131891A Withdrawn JP2011259205A (en) | 2010-06-09 | 2010-06-09 | Image decoding device, image encoding device, and method and program thereof |
Country Status (9)
Country | Link |
---|---|
US (4) | US9053549B2 (en) |
EP (1) | EP2582137A1 (en) |
JP (1) | JP2011259205A (en) |
KR (1) | KR20130090322A (en) |
CN (3) | CN105049859B (en) |
BR (1) | BR112012030544A2 (en) |
RU (1) | RU2012151530A (en) |
TW (1) | TW201215156A (en) |
WO (1) | WO2011155332A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8625914B2 (en) * | 2013-02-04 | 2014-01-07 | Sony Corporation | Image processing system, image processing method and program |
CN106131557A (en) * | 2010-06-07 | 2016-11-16 | 数码士有限公司 | The method and apparatus of decoding high resolution image |
JP2011259205A (en) | 2010-06-09 | 2011-12-22 | Sony Corp | Image decoding device, image encoding device, and method and program thereof |
KR20120035096A (en) * | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | A method and apparatus of side information signaling for quadtree transform |
US8923633B2 (en) * | 2011-03-07 | 2014-12-30 | Panasonic Intellectual Property Corporation Of America | Image decoding method, image coding method, image decoding apparatus, and image coding apparatus |
TWI568246B (en) * | 2012-02-29 | 2017-01-21 | 新力股份有限公司 | Image processing apparatus and method |
CN103974076B (en) | 2014-05-19 | 2018-01-12 | 华为技术有限公司 | Image coding/decoding method and equipment, system |
US10139480B2 (en) * | 2016-02-19 | 2018-11-27 | Fujifilm Sonosite, Inc. | Ultrasound transducer with data compression |
KR102254162B1 (en) * | 2016-05-12 | 2021-05-20 | 엘지전자 주식회사 | Intra prediction method and apparatus in video coding system |
EP4395313A1 (en) * | 2016-12-28 | 2024-07-03 | Sony Group Corporation | Image processing apparatus and method |
JP7493310B2 (en) * | 2019-06-07 | 2024-05-31 | キヤノン株式会社 | Image decoding device, method, and program |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0846971A (en) * | 1994-07-29 | 1996-02-16 | Sharp Corp | Device for encoding moving picture |
JP3169783B2 (en) * | 1995-02-15 | 2001-05-28 | 日本電気株式会社 | Video encoding / decoding system |
JP3788823B2 (en) * | 1995-10-27 | 2006-06-21 | 株式会社東芝 | Moving picture encoding apparatus and moving picture decoding apparatus |
JP4014263B2 (en) * | 1997-10-01 | 2007-11-28 | 松下電器産業株式会社 | Video signal conversion apparatus and video signal conversion method |
JP3519594B2 (en) * | 1998-03-03 | 2004-04-19 | Kddi株式会社 | Encoding device for stereo video |
JP4168304B2 (en) * | 1999-09-16 | 2008-10-22 | ソニー株式会社 | Information output device, information notification method, and information signal supply route selection method |
US6940911B2 (en) * | 2000-03-14 | 2005-09-06 | Victor Company Of Japan, Ltd. | Variable picture rate coding/decoding method and apparatus |
JP3887178B2 (en) * | 2001-04-09 | 2007-02-28 | 株式会社エヌ・ティ・ティ・ドコモ | Signal encoding method and apparatus, and decoding method and apparatus |
JP4120301B2 (en) * | 2002-04-25 | 2008-07-16 | ソニー株式会社 | Image processing apparatus and method |
US7009655B2 (en) * | 2002-07-23 | 2006-03-07 | Mediostream, Inc. | Method and system for direct recording of video information onto a disk medium |
US20090118019A1 (en) * | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
JP4617644B2 (en) * | 2003-07-18 | 2011-01-26 | ソニー株式会社 | Encoding apparatus and method |
JP2005130417A (en) * | 2003-10-01 | 2005-05-19 | Matsushita Electric Ind Co Ltd | Conversion encoding method and conversion decoding method |
JP2005272727A (en) * | 2004-03-25 | 2005-10-06 | Nippon Shokubai Co Ltd | Aqueous resin dispersion and method for producing the same |
KR101104828B1 (en) * | 2004-12-09 | 2012-01-16 | 삼성전자주식회사 | Motion vector operation apparatus and method thereof |
JP2008004984A (en) * | 2006-06-20 | 2008-01-10 | Sony Corp | Image processor and method, program, and recording medium |
US20080008246A1 (en) * | 2006-07-05 | 2008-01-10 | Debargha Mukherjee | Optimizing video coding |
US8571104B2 (en) * | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
JP4678015B2 (en) * | 2007-07-13 | 2011-04-27 | 富士通株式会社 | Moving picture coding apparatus and moving picture coding method |
EP2051524A1 (en) * | 2007-10-15 | 2009-04-22 | Panasonic Corporation | Image enhancement considering the prediction error |
US8275033B2 (en) * | 2008-01-15 | 2012-09-25 | Sony Corporation | Picture mode selection for video transcoding |
JP2009194617A (en) * | 2008-02-14 | 2009-08-27 | Sony Corp | Image processor, image processing method, program of image processing method and recording medium with program of image processing method recorded thereon |
JP2009272727A (en) | 2008-04-30 | 2009-11-19 | Toshiba Corp | Transformation method based on directivity of prediction error, image-encoding method and image-decoding method |
WO2010143853A2 (en) * | 2009-06-07 | 2010-12-16 | 엘지전자 주식회사 | Method and apparatus for decoding a video signal |
US20110090952A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Directional Transforms for Video and Image Coding |
KR101441879B1 (en) * | 2009-12-09 | 2014-09-23 | 에스케이텔레콤 주식회사 | Video encoding apparatus and method, transform encoding apparatus and method, basis transform generating apparatus and method, and video decoding apparatus and method |
KR20110090781A (en) * | 2010-02-02 | 2011-08-10 | (주)휴맥스 | Method for encoding/decoding video for rate-distortion optimization and apparatus for performing the same |
JP2011259205A (en) * | 2010-06-09 | 2011-12-22 | Sony Corp | Image decoding device, image encoding device, and method and program thereof |
HUE036472T2 (en) * | 2010-07-09 | 2018-07-30 | Samsung Electronics Co Ltd | Method for entropy decoding transform coefficients |
US9066097B2 (en) * | 2011-02-01 | 2015-06-23 | Sony Corporation | Method to optimize the transforms and/or predictions in a video codec |
JP5874725B2 (en) * | 2011-05-20 | 2016-03-02 | ソニー株式会社 | Image processing apparatus and image processing method |
KR20200023499A (en) * | 2011-12-19 | 2020-03-04 | 소니 주식회사 | Image processing device and method |
-
2010
- 2010-06-09 JP JP2010131891A patent/JP2011259205A/en not_active Withdrawn
-
2011
- 2011-05-25 RU RU2012151530/08A patent/RU2012151530A/en unknown
- 2011-05-25 EP EP11792289.8A patent/EP2582137A1/en not_active Withdrawn
- 2011-05-25 CN CN201510424195.7A patent/CN105049859B/en active Active
- 2011-05-25 CN CN201510422994.0A patent/CN105025295B/en active Active
- 2011-05-25 BR BR112012030544A patent/BR112012030544A2/en not_active IP Right Cessation
- 2011-05-25 WO PCT/JP2011/061974 patent/WO2011155332A1/en active Application Filing
- 2011-05-25 US US13/701,319 patent/US9053549B2/en not_active Expired - Fee Related
- 2011-05-25 KR KR20127031223A patent/KR20130090322A/en not_active Application Discontinuation
- 2011-05-25 CN CN201180027201.5A patent/CN102918843B/en not_active Expired - Fee Related
- 2011-06-02 TW TW100119435A patent/TW201215156A/en unknown
-
2015
- 2015-05-22 US US14/720,265 patent/US9596476B2/en active Active
-
2017
- 2017-02-14 US US15/432,338 patent/US9979982B2/en active Active
-
2018
- 2018-04-23 US US15/960,370 patent/US10499083B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20130071038A1 (en) | 2013-03-21 |
CN105025295B (en) | 2019-01-29 |
US20150281697A1 (en) | 2015-10-01 |
CN105025295A (en) | 2015-11-04 |
US20180242019A1 (en) | 2018-08-23 |
CN105049859A (en) | 2015-11-11 |
EP2582137A1 (en) | 2013-04-17 |
RU2012151530A (en) | 2014-07-20 |
TW201215156A (en) | 2012-04-01 |
US9979982B2 (en) | 2018-05-22 |
US20170164005A1 (en) | 2017-06-08 |
CN105049859B (en) | 2019-01-08 |
KR20130090322A (en) | 2013-08-13 |
WO2011155332A1 (en) | 2011-12-15 |
CN102918843A (en) | 2013-02-06 |
US9053549B2 (en) | 2015-06-09 |
CN102918843B (en) | 2015-08-19 |
BR112012030544A2 (en) | 2016-08-09 |
US9596476B2 (en) | 2017-03-14 |
US10499083B2 (en) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011155332A1 (en) | Image decoder apparatus, image encoder apparatus and methods and programs thereof | |
KR101914896B1 (en) | Image processor and image processing method | |
KR101965119B1 (en) | Image encoding apparatus and image encoding method | |
WO2011155364A1 (en) | Image decoder apparatus, image encoder apparatus and method and program thereof | |
WO2014002896A1 (en) | Encoding device, encoding method, decoding device, and decoding method | |
WO2011018965A1 (en) | Image processing device and method | |
WO2012063878A1 (en) | Image processing device, and image processing method | |
WO2010035732A1 (en) | Image processing apparatus and image processing method | |
US20110229049A1 (en) | Image processing apparatus, image processing method, and program | |
JP4360093B2 (en) | Image processing apparatus and encoding apparatus and methods thereof | |
JP2013150164A (en) | Encoding apparatus and encoding method, and decoding apparatus and decoding method | |
KR20130088119A (en) | Encoding device, encoding method, decoding device, and decoding method | |
JP5387520B2 (en) | Information processing apparatus and information processing method | |
JP4655791B2 (en) | Encoding apparatus, encoding method and program thereof | |
JP2018191334A (en) | Image coding device, image coding method, and program | |
JP2012138884A (en) | Encoding device, encoding method, decoding device, and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130903 |