JP4788465B2 - Decoding device, decoding method and program - Google Patents

Decoding device, decoding method and program Download PDF

Info

Publication number
JP4788465B2
JP4788465B2 JP2006126141A JP2006126141A JP4788465B2 JP 4788465 B2 JP4788465 B2 JP 4788465B2 JP 2006126141 A JP2006126141 A JP 2006126141A JP 2006126141 A JP2006126141 A JP 2006126141A JP 4788465 B2 JP4788465 B2 JP 4788465B2
Authority
JP
Japan
Prior art keywords
block
transform
pixel value
unit
partial
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.)
Expired - Fee Related
Application number
JP2006126141A
Other languages
Japanese (ja)
Other versions
JP2007300350A (en
Inventor
俊一 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006126141A priority Critical patent/JP4788465B2/en
Publication of JP2007300350A publication Critical patent/JP2007300350A/en
Application granted granted Critical
Publication of JP4788465B2 publication Critical patent/JP4788465B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、符号化処理により生成された符号データを復号化する復号化装置に関する。特に、本発明は、データの量子化を伴う符号化処理により生成された符号データを、逆量子化を行うことにより復号化する復号化装置に関する。   The present invention relates to a decoding device that decodes code data generated by an encoding process. In particular, the present invention relates to a decoding apparatus that decodes code data generated by an encoding process involving data quantization by performing inverse quantization.

例えば、特許文献1には、復号画像のブロック境界をなめらかに接続するように、ブロック境界付近の一部の画素を予測し、予測された画素から変換係数の一部を予測し、得られた変換係数を逆直交変換することにより、ブロック内全体の画素の補償を行う方法が開示されている。
また、特許文献2には、ブロック内の各量子化変換係数から変換係数のブロックを生成し、これらの変換係数に逆変換演算を適用して画像を復元し、ブロック毎にフィルタ閾値を適応的に選択して、画像をスムージングフィルタで反復的にフィルタ処理し、新しい変換係数の各ブロックを元の変換係数のブロックと比較して原稿画像からフィルタ処理した復元画像が導出可能かを決定する方法が開示されている。
また、特許文献3には、復元画像中に複数のブロックを設け、離散的コサイン変換値から最初の量子化区間を決定し、低域フィルタ処理によってそれぞれのブロックを平滑化し、それぞれのブロック内の画素上で離散的コサイン変換を行い、離散的コサイン変換により生成された離散的コサイン変換係数が量子化区間内にあるよう、離散的コサイン変換によって生成された変換係数を射影し、逆離散的コサイン変換を行って復元画像を生成する技術が開示されている。
また、非特許文献1には、JPEG等のブロック単位変換符号化によって歪んだ画像の画質を改善する方法が開示されている。
また、非特許文献2には、復号された画像データにローパスフィルタを掛けてブロック歪みを抑制し、このローパスフィルタによる画質劣化を抑制するために、再度DCTを掛けて、DCT係数値が元の量子化区間におさまっているかを確認する技術が開示されている。
特開平3−283785号公報 特開平7−154604号公報 特開平7−170518号公報 柴田他、「量子化誤差を考慮したブロック歪除去方式」1990年画像符号化シンポジウム(PCSJ90),pp.67-70 A.Zakhor, Iterative procedures for reduction of blocking effects in transform image coding, IEEE Trans Circuits & Syst Video Technol., vol2, no.1, pp.91-95, March1992
For example, Patent Document 1 is obtained by predicting some pixels in the vicinity of a block boundary so as to smoothly connect the block boundary of the decoded image, and predicting a part of the transform coefficient from the predicted pixel. A method is disclosed in which pixels in the entire block are compensated by performing inverse orthogonal transform on transform coefficients.
In Patent Document 2, a block of transform coefficients is generated from each quantized transform coefficient in a block, an inverse transform operation is applied to these transform coefficients, an image is restored, and a filter threshold value is adaptively applied to each block. To determine whether it is possible to derive a restored image filtered from the original image by iteratively filtering the image with a smoothing filter and comparing each block of new transform coefficients with the original transform coefficient block Is disclosed.
In Patent Document 3, a plurality of blocks are provided in a restored image, the first quantization interval is determined from the discrete cosine transform value, each block is smoothed by low-pass filter processing, Perform discrete cosine transform on the pixel, project the transform coefficient generated by the discrete cosine transform so that the discrete cosine transform coefficient generated by the discrete cosine transform is within the quantization interval, and inverse discrete cosine A technique for generating a restored image by performing conversion is disclosed.
Non-Patent Document 1 discloses a method for improving the image quality of an image distorted by block unit transform encoding such as JPEG.
In Non-Patent Document 2, the decoded image data is subjected to a low-pass filter to suppress block distortion, and in order to suppress image quality deterioration due to the low-pass filter, DCT is applied again to obtain the original DCT coefficient value. A technique for confirming whether or not the quantization interval is satisfied is disclosed.
JP-A-3-283785 JP 7-154604 A JP-A-7-170518 Shibata et al., "Block distortion elimination method considering quantization error" 1990 Image Coding Symposium (PCSJ90), pp.67-70 A. Zakhor, Iterative procedures for reduction of blocking effects in transform image coding, IEEE Trans Circuits & Syst Video Technol., Vol2, no.1, pp.91-95, March1992

本発明は、上述した背景からなされたものであり、比較的軽い処理負荷で、画質劣化の少ない復号画像を生成する復号化装置を提供することを目的とする。   The present invention has been made from the above-described background, and an object thereof is to provide a decoding apparatus that generates a decoded image with a relatively light processing load and with little image quality deterioration.

[復号化装置]
上記目的を達成するために、本発明にかかる復号化装置は、入力された変換係数の少なくとも一部を逆変換して、画像情報を生成する第1の逆変換手段と、前記第1の逆変換手段により生成された画像情報に基づいて、変換係数の補正量を決定する補正量決定手段と、前記補正量決定手段により決定された補正量に応じて、入力された前記変換係数を補正する係数補正手段と、前記係数補正手段により補正された変換係数を逆変換する第2の逆変換手段とを有する。
[Decryption device]
In order to achieve the above object, a decoding apparatus according to the present invention includes a first inverse transform unit that inversely transforms at least a part of input transform coefficients to generate image information, and the first inverse transform. Based on the image information generated by the conversion means, a correction amount determination means for determining the correction amount of the conversion coefficient, and the input conversion coefficient is corrected according to the correction amount determined by the correction amount determination means. Coefficient correction means, and second inverse conversion means for inversely converting the conversion coefficient corrected by the coefficient correction means.

好適には、前記第1の逆変換手段は、入力された変換係数の一部のみを逆変換して、一部の画像情報を生成し、前記補正量決定手段は、生成された一部の画像情報に基づいて、前記補正量を決定する。   Preferably, the first inverse transform unit inversely transforms only a part of the input transform coefficients to generate a part of the image information, and the correction amount determination unit includes the part of the generated part. The correction amount is determined based on image information.

好適には、前記第1の逆変換手段は、入力された変換係数のうち、低周波側の変換係数を抽出し、抽出された変換係数のみを逆変換する。   Preferably, the first inverse conversion unit extracts a low-frequency conversion coefficient from the input conversion coefficients, and performs inverse conversion only on the extracted conversion coefficient.

好適には、前記第1の逆変換手段により生成された画像情報に対して、フィルタリングを行うフィルタ処理手段と、前記フィルタ処理手段によりフィルタリングされた画像情報に対して、直交変換を行って、一部の画像情報に関する変換係数を生成する部分変換手段とをさらに有し、前記補正量決定手段は、前記部分変換手段により生成された一部の画像情報に関する変換係数に基づいて、前記補正量を決定する。   Preferably, the image information generated by the first inverse transform unit is subjected to filtering processing means for performing filtering, and the image information filtered by the filter processing means is subjected to orthogonal transformation, and A partial conversion unit that generates a conversion coefficient related to the image information of a portion, and the correction amount determination unit calculates the correction amount based on the conversion coefficient related to a part of the image information generated by the partial conversion unit. decide.

好適には、入力される変換係数は、画像をブロック単位で直交変換したものであり、前記第1の逆変換手段は、ブロックの周縁部の画素値に相当する変換係数を逆変換し、前記フィルタ処理手段は、逆変換されたブロック周縁部の画素値に対して、直交変換を行う。   Preferably, the input transform coefficient is obtained by orthogonally transforming an image in units of blocks, and the first inverse transform unit inversely transforms a transform coefficient corresponding to a pixel value at a peripheral portion of the block, and The filter processing means performs orthogonal transformation on the pixel values at the block peripheral portion subjected to inverse transformation.

また、本発明にかかる復号化装置は、既定の反復処理により画像情報に対する補正量を決定する復号化装置であって、前記反復処理の一部として、第1の空間に属する画像情報に対して第1の補正処理を行う第1の補正手段と、前記第1の補正手段により補正された画像情報の一部に対して直交変換を行い、第2の空間に属する画像情報に生成する部分変換手段と、前記反復処理の一部として、前記部分変換手段により生成された第2の空間の画像情報に対して第2の補正処理を行う第2の補正手段と、前記第2の補正手段により補正された画像情報の少なくとも一部に対して直交変換を行い、第1の空間に属する画像情報を生成する部分逆変換手段と、前記部分逆変換手段により生成される画像情報に基づいて、前記反復処理を終了するか否かを判定する終了判定手段とを有する。   The decoding device according to the present invention is a decoding device that determines a correction amount for image information by a predetermined iterative process, and as a part of the iterative process, for the image information belonging to the first space. A first correction unit that performs a first correction process; and a partial conversion that performs orthogonal transformation on a part of the image information corrected by the first correction unit and generates image information belonging to the second space. And a second correction unit that performs a second correction process on the image information of the second space generated by the partial conversion unit as a part of the iterative process, and the second correction unit. Based on the image information generated by the partial inverse transform unit that performs orthogonal transform on at least a part of the corrected image information and generates image information belonging to the first space, the image information generated by the partial inverse transform unit, Whether to end the iteration And a determining end determination means for determining.

好適には、前記第1の空間は、画像が画素値で表現される空間であり、前記第2の空間は、画像が周波数成分で表現される空間であり、前記第1の補正手段は、前記画像情報に対してローパスフィルタを掛け、前記第2の補正手段は、各周波数成分の変換係数が既定の数値範囲におさまるように、前記画像情報を補正する。   Preferably, the first space is a space in which an image is represented by a pixel value, the second space is a space in which the image is represented by a frequency component, and the first correction unit includes: A low-pass filter is applied to the image information, and the second correction unit corrects the image information so that the conversion coefficient of each frequency component falls within a predetermined numerical range.

好適には、前記部分変換手段は、画素値を変換係数に変換する変換行列の部分行列を用いて、前記画像情報の一部を直交変換し、前記部分逆変換手段は、変換係数を画素値に変換する逆変換行列の部分行列を用いて、前記画像情報を直交変換する。   Preferably, the partial conversion means orthogonally transforms a part of the image information using a partial matrix of a conversion matrix for converting pixel values into conversion coefficients, and the partial inverse conversion means converts the conversion coefficients into pixel values. The image information is orthogonally transformed using a partial matrix of an inverse transformation matrix to be transformed into.

[復号化方法]
また、本発明にかかる復号化方法は、入力された変換係数の少なくとも一部を逆変換して、画像情報を生成し、生成された前記画像情報に基づいて、変換係数の補正量を決定し、決定された前記補正量に応じて、入力された前記変換係数を補正し、補正された前記変換係数を逆変換する。
[Decryption method]
In the decoding method according to the present invention, image information is generated by inversely transforming at least a part of the input transform coefficient, and a correction amount of the transform coefficient is determined based on the generated image information. The input conversion coefficient is corrected in accordance with the determined correction amount, and the corrected conversion coefficient is inversely converted.

[プログラム]
また、本発明にかかるプログラムは、入力された変換係数の少なくとも一部を逆変換して、画像情報を生成するステップと、生成された前記画像情報に基づいて、変換係数の補正量を決定するステップと、決定された前記補正量に応じて、入力された前記変換係数を補正するステップと、補正された前記変換係数を逆変換するステップとをコンピュータに実行させる。
[program]
Further, the program according to the present invention reversely transforms at least a part of the input conversion coefficient to generate image information, and determines a correction amount of the conversion coefficient based on the generated image information. The computer executes a step, a step of correcting the input conversion coefficient in accordance with the determined correction amount, and a step of inversely converting the corrected conversion coefficient.

本発明の復号化装置によれば、比較的軽い処理負荷で、復号画像をより高画質化することができる。   According to the decoding apparatus of the present invention, the decoded image can be improved in image quality with a relatively light processing load.

まず、本発明の理解を助けるために、その背景及び概略を説明する。
画像データなどは、データ量が膨大であるため、圧縮してデータ量を削減して保持、伝送等を行うことが一般的である。例えば、カラー原稿や写真を画像スキャナで電子化した場合に生成される多値画像データ、あるいは、ディジタルカメラで風景等の写真を撮った場合に生成される多値画像データは、JPEG、あるいは、JPEG2000等の非可逆符号化方式で圧縮することにより、より小さなデータ量とすることができる。
First, in order to help understanding of the present invention, its background and outline will be described.
Since image data or the like has an enormous amount of data, it is common to compress, reduce, and hold, transmit, and the like. For example, multi-value image data generated when a color document or photograph is digitized by an image scanner, or multi-value image data generated when a photograph of a landscape or the like is taken with a digital camera is JPEG or By compressing with an irreversible encoding method such as JPEG2000, a smaller amount of data can be obtained.

これらの非可逆符号化を行った場合、符号化歪が発生することが問題となっている。特に、JPEG方式を適用する場合には、復号化された画像(復号画像)のDCT画像領域境界に発生するブロック歪(符号化歪)が問題となっている。   When such lossy encoding is performed, there is a problem that encoding distortion occurs. In particular, when the JPEG method is applied, block distortion (encoding distortion) generated at the DCT image region boundary of the decoded image (decoded image) is a problem.

このような符号化歪を補正処理により抑制する技術としては、特許文献1〜3、及び、非特許文献1〜2に開示されたものが存在する。
しかしながら、これらの技術は演算負荷が大きい。例えば、特許文献1又は非特許文献1に記載の技術は、逆変換処理(IDCT処理)を2度実施する必要があるため、処理負荷が大きい。また、特許文献2〜3、又は、非特許文献2に記載の技術は、変換処理(DCT処理)及び逆変換処理(IDCT処理)が含まれた反復処理を繰り返して、収束演算を行うため、処理負荷が大きい。
As techniques for suppressing such coding distortion by correction processing, there are those disclosed in Patent Documents 1 to 3 and Non-Patent Documents 1 and 2.
However, these techniques have a heavy calculation load. For example, the technique described in Patent Document 1 or Non-Patent Document 1 requires a large processing load because it is necessary to perform the inverse conversion process (IDCT process) twice. In addition, the technique described in Patent Documents 2 to 3 or Non-Patent Document 2 performs a convergence operation by repeating an iterative process including a conversion process (DCT process) and an inverse conversion process (IDCT process). Processing load is heavy.

そこで、以下の実施形態における復号化装置2は、簡略化された変換処理、又は、簡略化された逆変換処理を適用することにより、補正処理に要する処理負荷を抑制する。   Therefore, the decoding device 2 in the following embodiment suppresses the processing load required for the correction process by applying a simplified conversion process or a simplified inverse conversion process.

[ハードウェア構成]
まず、本実施形態における復号化装置2のハードウェア構成を説明する。
図1は、本発明にかかる復号化方法が適応される復号化装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図1に例示するように、復号化装置2は、CPU202及びメモリ204などを含む制御装置20、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)26から構成される。
復号化装置2は、例えば、復号化プログラム5(後述)がインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して符号データを取得し、取得された符号データを復号化してプリンタ装置10に転送する。
[Hardware configuration]
First, the hardware configuration of the decoding device 2 in this embodiment will be described.
FIG. 1 is a diagram illustrating a hardware configuration of a decoding device 2 to which a decoding method according to the present invention is applied, centering on a control device 20.
As illustrated in FIG. 1, the decoding device 2 includes a control device 20 including a CPU 202 and a memory 204, a communication device 22, a recording device 24 such as an HDD / CD device, an LCD display device or a CRT display device, and a keyboard. A user interface device (UI device) 26 including a touch panel and the like is included.
The decoding device 2 is, for example, a general-purpose computer in which a decoding program 5 (described later) is installed. The decoding device 2 acquires code data via the communication device 22 or the recording device 24, and decodes the acquired code data. Transfer to the printer apparatus 10.

[復号化プログラム]
図2は、制御装置20(図1)により実行され、本発明にかかる復号化方法を実現する復号化プログラム5の機能構成を例示する図である。
図2に例示するように、復号化プログラム5は、エントロピ復号部500、部分逆変換部510、フィルタ処理部520、部分変換部530、範囲保証部540、係数補正部550、及び全体逆変換部560を有する。
エントロピ復号部500は、入力された符号データを、エントロピ復号化して、部分逆変換部510及び係数補正部550に出力する。
[Decryption program]
FIG. 2 is a diagram illustrating a functional configuration of the decryption program 5 that is executed by the control device 20 (FIG. 1) and implements the decryption method according to the present invention.
As illustrated in FIG. 2, the decoding program 5 includes an entropy decoding unit 500, a partial inverse transform unit 510, a filter processing unit 520, a partial transform unit 530, a range guarantee unit 540, a coefficient correction unit 550, and an overall inverse transform unit. 560.
The entropy decoding unit 500 performs entropy decoding on the input code data and outputs the result to the partial inverse transform unit 510 and the coefficient correction unit 550.

部分逆変換部510(第1の逆変換手段)は、エントロピ復号部500から入力された変換係数(例えば、DCT係数)の少なくとも一部を逆変換して、画像情報を生成し、生成された画像情報をフィルタ処理部520に出力する。
より具体的には、部分逆変換部510は、エントロピ復号部500から入力されたDCT係数のうち、低周波側のDCT係数のみを逆変換する。
本例の部分逆変換部510は、以下の式(数1)を用いて、入力されたDCT係数を逆変換して、逆量子化値xを算出る。なお、式の詳細は後述する。
The partial inverse transform unit 510 (first inverse transform unit) generates image information by performing inverse transform on at least a part of transform coefficients (for example, DCT coefficients) input from the entropy decoding unit 500 The image information is output to the filter processing unit 520.
More specifically, the partial inverse transform unit 510 inversely transforms only the DCT coefficient on the low frequency side among the DCT coefficients input from the entropy decoding unit 500.
Partial inverse transform unit 510 of this example, using the following equation (1), and inverse converting the inputted DCT coefficients, Ru calculates an inverse quantized value x 3. Details of the formula will be described later.

Figure 0004788465
Figure 0004788465

フィルタ処理部520は、ローパスフィルタを用いて、部分逆変換部510から入力された画像情報に対して、フィルタ処理を施し、フィルタ処理が施された画像情報を部分変換部530に出力する。フィルタ処理は、空間領域でブロック歪を軽減するものであればよい。
より具体的には、フィルタ処理部520は、直交変換処理(本例では、DCT処理)の処理単位であるブロックの周縁部の画素についてのみ、フィルタ処理を施す。
本例のフィルタ処理部520は、以下の式(数2)を用いて、ローパスフィルタをかけた場合の画素値変化量e'を算出する。ただし、x0=x +e
The filter processing unit 520 performs a filter process on the image information input from the partial inverse conversion unit 510 using a low-pass filter, and outputs the image information subjected to the filter process to the partial conversion unit 530. The filtering process only needs to reduce block distortion in the spatial domain.
More specifically, the filter processing unit 520 performs the filter process only on the pixels at the peripheral edge of the block, which is the processing unit of the orthogonal transform process (DCT process in this example).
The filter processing unit 520 of this example calculates the pixel value change amount e 0 ′ when the low-pass filter is applied, using the following equation (Equation 2). However, x0 = x o 0 + e 0

Figure 0004788465
Figure 0004788465

部分変換部530は、フィルタ処理部520によりフィルタ処理が施された画像情報を直交変換して、一部の画像情報に関する変換係数を生成し、生成された変換係数を範囲保証部540に出力する。
本例の部分変換部530は、以下の式(数3)を用いて、画素値変化量e'を(以下の式では、e)を、変換係数変化量dに変換する。
The partial transform unit 530 performs orthogonal transform on the image information that has been subjected to the filter processing by the filter processing unit 520, generates transform coefficients related to some image information, and outputs the generated transform coefficients to the range guarantee unit 540. .
The partial conversion unit 530 of this example converts the pixel value change amount e 0 ′ (in the following equation, e 0 ) into a conversion coefficient change amount d 0 using the following equation (Equation 3).

Figure 0004788465
Figure 0004788465

範囲保証部540は、部分変換部530から入力された変換係数に基づいて、エントロピ復号部500により復号化された変換係数に対する補正量を決定し、決定された補正量を係数補正部550に出力する。
より具体的には、範囲保証部540は、フィルタ処理部520によりフィルタ処理が施された画像情報の変換係数が元の量子化区間(復号化された量子化インデクスに対応する量子化区間)におさまるように、変換係数の補正量を調整する。
本例の範囲保証部540は、以下の式(数4)を用いて、変換係数変化量dに対して量子化範囲保証を行い、量子化範囲保証がなされた変換係数変化量d'を算出する。
The range guarantee unit 540 determines a correction amount for the transform coefficient decoded by the entropy decoding unit 500 based on the transform coefficient input from the partial transform unit 530, and outputs the determined correction amount to the coefficient correction unit 550. To do.
More specifically, the range guarantee unit 540 includes the transform coefficient of the image information filtered by the filter processing unit 520 in the original quantization interval (quantization interval corresponding to the decoded quantization index). Adjust the correction amount of the conversion coefficient so that it falls.
Range Proof portion 540 of this example, using the following equation (4), the quantization range guarantees to transform coefficient change amount d 0, transform coefficient variation quantization range guarantee is made d 0 ' Is calculated.

Figure 0004788465
Figure 0004788465

なお、量子化範囲保証を行う具体的な関数は以下である。

Figure 0004788465
A specific function for guaranteeing the quantization range is as follows.
Figure 0004788465

係数補正部550は、エントロピ復号部500から入力された変換係数を、範囲保証部540により決定された補正量に応じて補正し、補正された変換係数を全体逆変換部560に出力する。
本例の係数補正部550は、エントロピ復号部500から入力されたDCT係数Cに、範囲保証部540により算出された変換係数変化量d'を加算する。なお、変換係数変化量d'は、一部の変換係数についてのみ存する。
The coefficient correction unit 550 corrects the transform coefficient input from the entropy decoding unit 500 according to the correction amount determined by the range guarantee unit 540, and outputs the corrected transform coefficient to the overall inverse transform unit 560.
The coefficient correction unit 550 of the present example adds the transform coefficient change amount d 0 ′ calculated by the range guarantee unit 540 to the DCT coefficient CO input from the entropy decoding unit 500. Note that the conversion coefficient change amount d 0 ′ exists only for some conversion coefficients.

全体逆変換部560は、係数補正部550から入力された変換係数(補正後)に対して逆変換処理を施して、画像情報を生成する。
本例の全体逆変換部560は、逆変換行列D−1を用いて、補正後の変換係数(C+d')を復号画像xに変換する。
The overall inverse transform unit 560 performs inverse transform processing on the transform coefficient (after correction) input from the coefficient correction unit 550 to generate image information.
The overall inverse transform unit 560 of this example transforms the corrected transform coefficient (C O + d 0 ′) into a decoded image x using the inverse transform matrix D −1 .

[変換式の説明]
次に、上記各式を説明する。
まず、説明の便宜上、2次元画像に対するDCT変換を1次元で表現する。すなわち、8×8の画素ブロックを64次元の画素値ベクトルxとして考える。この場合、DCT変換は、64次元の画素値ベクトルxを、64×64のDCT行列Dを用いて64次元の変換係数ベクトルcを求める変換として考えることができる。換言すると、以下の式となる。
[Explanation of conversion formula]
Next, each said formula is demonstrated.
First, for convenience of explanation, DCT transformation for a two-dimensional image is expressed in one dimension. That is, an 8 × 8 pixel block is considered as a 64-dimensional pixel value vector x. In this case, the DCT transformation can be considered as a transformation for obtaining a 64-dimensional conversion coefficient vector c by using a 64-dimensional pixel value vector x using a 64 × 64 DCT matrix D. In other words, the following equation is obtained.

Figure 0004788465
Figure 0004788465

例えば、8×8ブロックの画素位置を(i,j)、2次元周波数を(u,v)、変換係数をSvu、画素値をsji とする。ただし、(i,j)、および(u,v)は、(列番号、行番号)を示しているものとする。8×8DCT順変換は、以下の式となる。 For example, the pixel position of an 8 × 8 block is (i, j), the two-dimensional frequency is (u, v), the conversion coefficient is S vu , and the pixel value is s ji . However, (i, j) and (u, v) indicate (column number, row number). The 8 × 8 DCT forward conversion is as follows.

Figure 0004788465
Figure 0004788465

また、8×8DCT逆変換は、以下の式となる。

Figure 0004788465
In addition, the 8 × 8 DCT inverse transform is represented by the following equation.
Figure 0004788465

ただし、u,vが0である場合に、C及びCは1/√2であり、u,vが0以外である場合に、C及びCは1である。さらに、ベクトルx内の要素が、(i0, j0), (i1, j1),..., (i63, j63)の順で並んでおり、ベクトルc内の要素が、(u0, v0), (u1, v1),..., (u63, v63)の順で並んでいるとすると、行列Dのt行s列の要素Dts、及び、行列D−1 のt行s列の要素D-1 ts は、以下の式で表される。 However, when u and v are 0, C u and C v are 1 / √2, and when u and v are other than 0, C u and C v are 1. Furthermore, the elements in the vector x are (i 0 , j 0 ), (i 1 , j 1 ), ..., (i 63 , j 63 ), and the elements in vector c are (u 0 , v 0 ), (u 1 , If v 1 ), ..., (u 63 , v 63 ) are arranged in this order, then element D ts of t rows and s columns of matrix D and element D of t rows and s columns of matrix D −1 -1 ts is expressed by the following equation.

Figure 0004788465
Figure 0004788465

なお、以下の説明では、一般的に記述を行うため、ベクトルの次元数64をNとして表す場合がある。   In the following description, since the description is generally made, the vector dimension number 64 may be expressed as N.

次に、量子化範囲保証処理の式を説明する。
空間領域でフィルタリングを行って、ブロック歪を軽減することが可能であるが、その場合に、必要なエッジ成分も除去してしまう虞がある。これを解消するために、フィルタリング後に、一旦DCT変換領域に変換して、量子化範囲保証(すなわち、量子化範囲内にDCT変換係数を抑える処理)を行う必要がある。この量子化範囲保証は、例えば、特許文献1及び非特許文献1に開示されたものと同一である。
まず、変換係数ベクトルc=(c0, c1, ..., cN-1)Tが量子化範囲内に限定されるための拘束条件に関して定めておく。拘束条件は、ベクトルqmin =(qmin 0, qmin 1, ..., qmin N-1)T、および、qmax =(qmax 0, qmax 1, ..., qmax N-1)T を用いて、以下のように表すことができる。
Next, the expression of the quantization range guarantee process will be described.
Although it is possible to reduce block distortion by performing filtering in the spatial domain, there is a possibility that necessary edge components may also be removed. In order to solve this, after filtering, it is necessary to temporarily convert to a DCT transform region and perform a quantization range guarantee (that is, processing to suppress a DCT transform coefficient within the quantization range). This quantization range guarantee is the same as that disclosed in Patent Document 1 and Non-Patent Document 1, for example.
First, a constraint condition for limiting the transform coefficient vector c = (c 0 , c 1 ,..., C N−1 ) T within the quantization range is determined. The constraints are: vector q min = (q min 0 , q min 1 , ..., q min N-1 ) T and q max = (q max 0 , q max 1 , ..., q max N -1 ) Using T , it can be expressed as:

Figure 0004788465
Figure 0004788465

以下、qmin=(qmin 0, qmin 1, ..., qmin N-1)T、qmax=(qmaz 0, qmax 1, ..., qmax N-1)Tとする。JPEGの場合、入力量子化インデクスに逆量子化処理を施して得ることのできる初期変換係数ベクトルをco=(co 0, co 1, ..., co N-1)T、量子化テーブルベクトルをq=(q0, q1, ..., qN-1)Tとすると、このときの変換係数ベクトルc=(c0, c1, ..., cN-1)Tの拘束条件を示すベクトルは、以下となる。 Q min = (q min 0 , q min 1 , ..., q min N-1 ) T , q max = (q maz 0 , q max 1 , ..., q max N-1 ) T To do. In the case of JPEG, the initial transform coefficient vector that can be obtained by performing inverse quantization processing on the input quantization index is c o = (c o 0 , c o 1 , ..., c o N-1 ) T , quantum If the conversion table vector is q = (q 0 , q 1 , ..., q N-1 ) T , then the conversion coefficient vector c = (c 0 , c 1 , ..., c N-1 ) A vector indicating the constraint condition of T is as follows.

Figure 0004788465
Figure 0004788465

次に、空間領域でブロック歪を低減するフィルタリングを行い、かつ、上記拘束条件を満たすような変換係数を求める処理の例を示す。
まず、N(64)次元の初期変換係数ベクトルcoから、N(64)次元の画素値ベクトルxを、逆DCTの実施により求める。具体的には、以下の式による。
Next, an example of processing for performing filtering for reducing block distortion in the spatial domain and obtaining transform coefficients that satisfy the above constraint conditions will be described.
First, the N (64) dimension of the initial transformation coefficient vector c o, N a (64) dimension of a pixel value vector x, determined by the implementation of the inverse DCT. Specifically, according to the following formula.

Figure 0004788465
Figure 0004788465

次に、以下の式により、空間領域でローパスフィルタリングを行って、ブロック歪を軽減した画素値ベクトルx'を求める。なお、F()はこのローパスフィルタリングを表す写像とする。   Next, low-pass filtering is performed in the spatial domain using the following formula to obtain a pixel value vector x ′ with reduced block distortion. Note that F () is a map representing this low-pass filtering.

Figure 0004788465
Figure 0004788465

次に、以下の式により、画素値ベクトルx'をDCT変換して、変換領域に戻す。   Next, the pixel value vector x ′ is DCT transformed by the following equation and returned to the transformation region.

Figure 0004788465
Figure 0004788465

次に、以下の式により、この変換係数を入力符号の量子化インデクスで決定される量子化範囲内に収める。なお、このような非線形写像をG()とする。   Next, the transform coefficient is set within the quantization range determined by the quantization index of the input code by the following equation. Such a non-linear mapping is represented by G ().

Figure 0004788465
Figure 0004788465

G()は、例えば以下に示す変換を行うものである。ただし、c'=(c'0, c'1, ..., c'N-1)T、 c"=(c"0, c"1, ..., c"N-1)Tとする。この写像Gが量子化範囲保証処理に相当する。 G () performs, for example, the following conversion. Where c '= (c' 0 , c ' 1 , ..., c' N-1 ) T , c "= (c" 0 , c " 1 , ..., c" N-1 ) T and To do. This map G corresponds to the quantization range guarantee process.

Figure 0004788465
Figure 0004788465

次に、行列の一部を抜き出した部分行列に対する処理を行う。以下の説明では、便宜上、次のように部分行列を表記する。すなわち、入力行列Aから、Aの上からm行、左からn行の行列を抜き出した場合に、この部分行列を、Amnと表記する。 Next, a process is performed on the partial matrix obtained by extracting a part of the matrix. In the following description, for the sake of convenience, the partial matrix is expressed as follows. That is, when a matrix with m rows from the top of A and n rows from the left is extracted from the input matrix A, this submatrix is denoted as A mn .

次に、画素値変化ベクトルの近似を説明する。
本実施形態では、上記フィルタリング写像が、一部の画素値のみに影響を与えるという近似を行う。まず、初期変換係数ベクトルcoをIDCTして得られる初期画素値ベクトルをxoとすると、以下の関係式で表現される。
Next, approximation of the pixel value change vector will be described.
In the present embodiment, an approximation is made that the filtering map affects only some pixel values. First, when the initial pixel value vector obtained by IDCT an initial conversion coefficient vector c o and x o, is expressed by the following equation.

Figure 0004788465
Figure 0004788465

また、フィルタリングによる画素値ベクトルの変化分を画素値変化ベクトルeとする。フィルタリング結果をx'とすると、x'は下記式で表すことができる。   Further, a change in the pixel value vector due to filtering is defined as a pixel value change vector e. If the filtering result is x ′, x ′ can be expressed by the following equation.

Figure 0004788465
Figure 0004788465

ここでは、上記画素値変化ベクトルeの一部の要素のみ、0以外の値を取り得、その他の要素は、全て0であるとする近似を行う。これは、一部の画素のフィルタ出力値のみが分かっているとき、その他の画素のフィルタ出力値の変化分の期待値が0であるとみなす近似であるとも言える。ここで、変化し得るベクトル要素をベクトルの上側に集めても、一般性は失わない。変化する要素数をm、変化しない要素数をN-mとする。さらに、m次元のベクトルe0と、N-m次元の零ベクトル0を用いて、eは下記のように表すことができる。 Here, an approximation is performed in which only some elements of the pixel value change vector e can take values other than 0 and all other elements are 0. This can be said to be an approximation in which when only the filter output values of some pixels are known, the expected value of the change in the filter output values of other pixels is regarded as zero. Here, even if vector elements that can change are collected on the upper side of the vector, generality is not lost. Let m be the number of changing elements and Nm be the number of unchanged elements. Further, using m-dimensional vector e 0 and Nm-dimensional zero vector 0, e can be expressed as follows.

Figure 0004788465
Figure 0004788465

ここで、ベクトルxも同様に、m次元ベクトルx0と、N-m次元ベクトルxに分解して考える。さらに、フィルタFに下記近似が成り立つと仮定すると、以下の式がなりたつ。 Here, also the vector x, and m-dimensional vector x 0, considered decomposed into Nm dimensional vector x 1. Further, assuming that the following approximation holds for the filter F, the following equation is obtained.

Figure 0004788465
Figure 0004788465

このとき、eは下式で求めることができる。また、以下の式で示されるフィルタF'()を定義することにより、ベクトルe0 は、ベクトルx0 をF'()でフィルタリングした結果F'(x0)として得ることができる。 In this case, e 0 can be obtained by the following equation. Further, by defining a filter F ′ () represented by the following expression, the vector e 0 can be obtained as a result F ′ (x 0 ) obtained by filtering the vector x 0 with F ′ ().

Figure 0004788465
Figure 0004788465

次に、変換係数変化ベクトルの近似を説明する。
本実施形態では、フィルタリングの結果が、一部のDCT係数にのみ影響を与えるという近似を行う。
まず、DCT係数を、下記のように、変換係数変化ベクトルdを用いて表す。
Next, approximation of the transform coefficient change vector will be described.
In the present embodiment, approximation is performed in which the filtering result affects only some DCT coefficients.
First, the DCT coefficient is expressed using a conversion coefficient change vector d as follows.

Figure 0004788465
Figure 0004788465

ここで、係数変化ベクトルdの一部の要素のみ、0以外の値を取り得、その他の要素は、全て0であるとする。一部の周波数帯(例えば、低域の周波数帯)の変化が、画素値変化に関して支配的であると考えることによって、このような近似が可能である。ここで、これまでの説明と同様に、変化し得るベクトル要素をベクトルの上側に集める。変化する要素数をp、変化しない要素数をN-pとする。p次元のベクトルd0と、N-p次元の零ベクトル0を用いて、dは下記のように表すことができる。 Here, it is assumed that only some elements of the coefficient change vector d can take values other than 0, and all other elements are 0. Such an approximation is possible by considering that changes in some frequency bands (for example, low frequency bands) are dominant with respect to pixel value changes. Here, similar to the above description, vector elements that can change are collected on the upper side of the vector. Let p denote the number of elements that change, and Np denote the number of elements that do not change. Using p-dimensional vector d 0 and Np-dimensional zero vector 0, d can be expressed as follows.

Figure 0004788465
Figure 0004788465

さらに、本実施形態では、入力DCT変換係数に対して、IDCTを行って、画素値を算出する際に近似を行う。最終的なIDCTに対する近似を行うことはできないが、演算途中のフィルタリングに用いる画素値算出の際の演算は、近似が可能である。
ここで、フィルタリングに用いる画素値は、ベクトルx0分のみあればよく、全ての画素値が必要なわけではない。そこで、まず、行列D-1の部分行列D-1 mNを用いて、以下の式により、ベクトルx0を求める。
Furthermore, in the present embodiment, IDCT is performed on the input DCT transform coefficient, and approximation is performed when the pixel value is calculated. Although the final IDCT cannot be approximated, the calculation at the time of calculating the pixel value used for filtering during the calculation can be approximated.
Here, the pixel values used for filtering may if only 0 minutes vector x, do not take all the pixel values required. Accordingly, first, by using the partial matrix D -1 mN matrix D -1, by the following equation to obtain the vector x 0.

Figure 0004788465
Figure 0004788465

次に、変換係数ベクトルco中の一部の要素が、ベクトルx0算出に支配的であるという近似を行う。これは、例えば、低域の変換係数のみを用いてベクトルx0を算出しようとするものである。
そこで、変換係数ベクトルcoを次式のように分割する。なお、変換係数ベクトルcoの要素は、画素値算出に重要な順(例えばJPEGのジグザグスキャン順)にソートされているものとする。
Then, some of the elements in the transform coefficient vector c o is an approximation that is dominant in the vector x 0 is calculated. For example, the vector x 0 is calculated using only the low-frequency transform coefficient.
Therefore, the transform coefficient vector co is divided as follows: Incidentally, elements of the transform coefficient vector c o is assumed to be sorted in order of importance (e.g., JPEG zig-zag scan order) to the pixel value calculation.

Figure 0004788465
Figure 0004788465

ただし、co 0の次元数(要素数)をr、co 1の次元数(要素数)をN-rとする。ここで、co 0のみがベクトルx0算出に必要であるという近似を行う。行列D-1の部分行列D-1 mrを用い、以下の式でベクトルx0の近似値算出が可能である。 Here, the number of dimensions (number of elements) of c o 0 is r, and the number of dimensions (number of elements) of c o 1 is Nr. Here, an approximation is made that only c o 0 is necessary for calculating the vector x 0 . Using the partial matrix D -1 mr of the matrix D -1, it is possible to approximate calculation of the vector x 0 by the following equation.

Figure 0004788465
Figure 0004788465

ただし、実際にフィルタリングを行う場合には、フィルタの中心位置(ベクトルx0)以外の周囲画素値も必要になる場合がある。そのような場合には、最初に、算出する画素数(すなわちベクトルの次元数)を増加させておく必要がある。
このような周囲画素値からなるベクトルをx2とする。ベクトルx3を下記のように定義して、さらに、式(数21)の出力をx3となるように変更すればよい。
However, when filtering is actually performed, surrounding pixel values other than the filter center position (vector x 0 ) may be required. In such a case, first, it is necessary to increase the number of pixels to be calculated (that is, the number of vector dimensions).
A vector comprising such a peripheral pixel value and x 2. Define the vector x 3 as follows, furthermore, may be changed output of equation (21) so that x 3.

Figure 0004788465
Figure 0004788465

さらに、ベクトルx3の次元数(要素数)をm'とすれば、式(数21)は、以下のように変更される。 Further, if the number of dimensions of the vector x 3 (number of elements) and m ', equation (21) is modified as follows.

Figure 0004788465
Figure 0004788465

次に、簡略化されたDCT処理を説明する。
本実施形態では、以下のDCT近似を行う。
Next, a simplified DCT process will be described.
In the present embodiment, the following DCT approximation is performed.

Figure 0004788465
Figure 0004788465

ここで、行列D-1の部分行列D-1 mp以外の行列要素は、零を乗算することになる、あるいは乗算結果が零に固定されているため、演算には不要となる。よって、部分行列D-1 mpを用いて、e0とd0の関係は下式のように示すことができる。 Here, the matrix elements other than the partial matrix D -1 mp of the matrix D -1 is to become multiplying the zero, or the multiplication result is fixed to zero, becomes unnecessary to the computation. Therefore, the relationship between e 0 and d 0 can be expressed as follows using the submatrix D −1 mp .

Figure 0004788465
Figure 0004788465

さらに、上式の関係を以下のように簡略化DCTの式に書き換えることができる。   Furthermore, the relationship of the above equation can be rewritten as a simplified DCT equation as follows.

Figure 0004788465
Figure 0004788465

ここで、上式の逆行列が存在するための条件として、m=pでなければならない。以下、m=pとする。   Here, m = p must be satisfied as a condition for the existence of the inverse matrix of the above equation. Hereinafter, m = p.

次に、式(数23)を用いて、初期変換係数ベクトルcoから、m'次元の画素値ベクトルx3を求める。ただし、式(数22)に示されるように、画素値ベクトルx3には、m次元の画素値ベクトルx0も含まれる。このとき得られる初期画素値ベクトルをxo 0とする。 Next, using equation (23), from the initial conversion coefficient vector c o, obtaining the pixel value vector x 3 of m 'dimensions. However, as shown in the equation (Equation 22), the pixel value vector x 3 includes an m-dimensional pixel value vector x 0 . The initial pixel value vector obtained this time is x o 0.

Figure 0004788465
Figure 0004788465

次に、以下の式により、空間領域でフィルタリングF'()を行って、ブロック歪を軽減する画素値変化ベクトルe0' を求める。 Next, filtering F ′ () is performed in the spatial domain using the following formula to obtain a pixel value change vector e 0 ′ that reduces block distortion.

Figure 0004788465
Figure 0004788465

次に、以下の式により、画素値変化ベクトルe0' を、変換係数変化ベクトルd0に変換する。 Next, the pixel value change vector e 0 ′ is converted into a conversion coefficient change vector d 0 by the following equation.

Figure 0004788465
Figure 0004788465

次に、以下の式により、変換係数変化ベクトルd0 を量子化範囲内に収める。この非線形写像をG'()とする。 Next, the transform coefficient change vector d 0 is set within the quantization range by the following equation. Let this nonlinear map be G ′ ().

Figure 0004788465
Figure 0004788465

ただし、d0=(d0, d1, ..., dp-1)T、 d0'=(d'0, d'1, ..., d'p-1)Tとする。また、拘束条件ベクトルq'min、q'maxは、以下の式により表される。 However, d 0 = (d 0 , d 1 , ..., d p-1 ) T and d 0 '= (d' 0 , d ' 1 , ..., d' p-1 ) T. Further, the constraint condition vectors q ′ min and q ′ max are expressed by the following equations.

Figure 0004788465
Figure 0004788465

さらに、拘束条件ベクトルq'minを、p次元のq'min とN-p次元のq'min に、また、q'maxを、p次元のq'max とN-p次元のq'max に分解し、q'min 0=(q'min 0, q'min 1, ..., q'min p-1)T、q'max 0=(q'max 0, q'max 1, ..., q'max p-1)Tとしている。 Furthermore, the constraint condition vector q ′ min is changed to p ′ q ′ min 0 and Np dimension q ′ min 1 , and q ′ max is changed to p dimension q ′ max 0 and Np dimension q ′ max 1 . Q ' min 0 = (q' min 0 , q ' min 1 , ..., q' min p-1 ) T , q ' max 0 = (q' max 0 , q ' max 1 , .. ., q ' max p-1 ) T

最後に、以下の式を用いて、復号画像xを生成する。   Finally, a decoded image x is generated using the following equation.

Figure 0004788465
Figure 0004788465

図3は、フィルタ処理部520(図2)によるフィルタ処理を説明する図である。
図3(A)に例示するように、本例のフィルタ処理部520は、8×8ブロックの四隅の画素(頂点画素)をフィルタ処理の対象とする。
この場合に、頂点画素は、図3(B)に例示するように、隣接するブロックの頂点画素と隣接する。
そこで、本例のフィルタ処理部520は、互いに隣り合う4つの頂点画素の平均画素値を、フィルタ出力値F(P1)とする。すなわち、図3(C)に例示する式により、フィルタ出力値F(P1)が算出される。
FIG. 3 is a diagram for explaining filter processing by the filter processing unit 520 (FIG. 2).
As illustrated in FIG. 3A, the filter processing unit 520 of the present example sets the pixels (vertex pixels) at the four corners of the 8 × 8 block as the targets of the filter processing.
In this case, as illustrated in FIG. 3B, the vertex pixel is adjacent to the vertex pixel of the adjacent block.
Therefore, the filter processing unit 520 of this example sets the average pixel value of the four vertex pixels adjacent to each other as the filter output value F (P1). That is, the filter output value F (P1) is calculated by the equation illustrated in FIG.

[全体動作]
図4は、復号化プログラム5(図2)による復号化処理(S10)を説明するフローチャートである。
図4に例示するように、ステップ100(S100)において、エントロピ復号部500(図2)は、入力された符号データをハフマン符号化方式で復号化し、復号化されたDCT係数を部分逆変換部510及び係数補正部550に出力する。
[Overall operation]
FIG. 4 is a flowchart for explaining the decryption process (S10) by the decryption program 5 (FIG. 2).
As illustrated in FIG. 4, in step 100 (S100), the entropy decoding unit 500 (FIG. 2) decodes the input code data by the Huffman encoding method, and the decoded DCT coefficient is a partial inverse conversion unit. 510 and the coefficient correction unit 550.

ステップ110(S110)において、部分逆変換部510は、上記式(数1)を用いて、エントロピ復号部500から入力されたDCT係数の一部を、画素値Xに逆変換する。 At step 110 (S110), partial inverse transform unit 510 uses the above expression (Expression 1), a part of the DCT coefficient input from the entropy decoding unit 500, an inverse transform to the pixel value X 3.

ステップ120(S120)において、フィルタ処理部520は、上記式(数2)を用いて、部分逆変換部510により逆変換された画素値Xから、図3に例示するローパスフィルタが掛けられた場合の画素値変化量e'を算出する。 At step 120 (S120), the filter processing unit 520 uses the above expression (Expression 2), the inverse transformed pixel value X 3 by the partial inverse transform unit 510, a low-pass filter is multiplied illustrated in FIG. 3 In this case, the pixel value change amount e 0 ′ is calculated.

ステップ130(S130)において、部分変換部530は、上記式(数3)を用いて、フィルタ処理部520により算出された画素値変化量e'を、変換係数変化量dに変換する。 In step 130 (S130), the partial conversion unit 530 converts the pixel value change amount e 0 ′ calculated by the filter processing unit 520 into a conversion coefficient change amount d 0 using the above equation (Equation 3).

ステップ140(S140)において、範囲保証部540は、上記式(数4)を用いて、部分変換部530により算出された変換係数変化量dに対して、量子化範囲保証を行い、量子化範囲保証がなされた変換係数変化量d'を算出する。 In step 140 (S140), the range guarantees unit 540 using equation (Equation 4), the converted coefficient change amount d 0 calculated by the partial conversion unit 530 performs quantization range guaranteed, quantization A conversion coefficient change amount d 0 ′ for which the range is guaranteed is calculated.

ステップ150(S150)において、係数補正部550は、エントロピ復号部500から入力されたDCT係数Cに、範囲保証部540により算出された変換係数変化量d'を加算して、DCT係数Cを補正する。 In step 150 (S150), the coefficient correction unit 550 adds the transform coefficient change amount d 0 ′ calculated by the range guarantee unit 540 to the DCT coefficient C O input from the entropy decoding unit 500, and the DCT coefficient C o is corrected.

ステップ160(S160)において、全体逆変換部560は、逆変換行列D−1を用いて、係数補正部550により補正された変換係数(C+d')を復号画像xに変換する。
なお、S150及びS160の処理は、上記式(数43)を用いて実現される。
In step 160 (S160), the overall inverse transform unit 560 transforms the transform coefficient (C o + d 0 ′) corrected by the coefficient correction unit 550 into a decoded image x using the inverse transform matrix D −1 .
Note that the processing of S150 and S160 is realized using the above equation (Formula 43).

以上説明したように、本実施形態における復号化装置2は、簡略化されたIDCT方式を用いることによって、一部の画素値のみをDCT係数から算出することを可能とした。
また、本復号化装置2は、入力DCT係数Cを保持しておき、それに、DCT補正値d'を加算してから、IDCT処理を行うことにより、IDCT処理の回数を1回としている。
As described above, the decoding apparatus 2 in the present embodiment can calculate only a part of pixel values from the DCT coefficients by using the simplified IDCT method.
Further, the decoding apparatus 2 holds the input DCT coefficient C o, it, after adding the DCT correction value d 0 ', by performing the IDCT process, and once the number of the IDCT processing .

[変形例]
次に、上記実施形態の変形例を説明する。
上記実施形態では、図3に例示するフィルタ処理を適用したが、これに限定されるものではなく、例えば、図5〜図9に例示するフィルタ処理を適用してもよい。
例えば、図5(A)に例示するように、ブロックの頂点画素と、境界画素の一部とを用いてフィルタリングを行ってもよい。ここで、境界画素とは、他のブロックと隣接する画素のうち、頂点画素以外のものをいう。
本例では、図5(A)で斜線が付された8つの画素群(4つの頂点画素、及び、4つの境界画素)が抽出される。頂点画素に対しては、図3(B)及び(C)で説明したフィルタ演算が施され、境界画素に対しては、図5(B)に例示するように、隣接するブロックの隣接する画素(P2)が抽出され、フィルタの出力値F(P1)は、図5(C)に例示するように、抽出された画素値P2と、注目画素値P1との平均値となる。
[Modification]
Next, a modification of the above embodiment will be described.
In the said embodiment, although the filter process illustrated in FIG. 3 was applied, it is not limited to this, For example, you may apply the filter process illustrated in FIGS.
For example, as illustrated in FIG. 5A, filtering may be performed using the vertex pixels of the block and a part of the boundary pixels. Here, the boundary pixel means a pixel other than the vertex pixel among pixels adjacent to another block.
In this example, eight pixel groups (four vertex pixels and four boundary pixels) hatched in FIG. 5A are extracted. The vertex pixels are subjected to the filter operation described in FIGS. 3B and 3C, and the boundary pixels are adjacent pixels in adjacent blocks as illustrated in FIG. 5B. (P2) is extracted, and the output value F (P1) of the filter is an average value of the extracted pixel value P2 and the target pixel value P1, as illustrated in FIG. 5C.

なお、境界画素の位置は、図5(A)に例示したものに限定されるものではなく、例えば、図6(A)に例示する位置でもよいが、この場合には、フィルタ周囲画素として、隣接するブロックのフィルタリングに必要な画素値を得ておく必要がある。
このような観点から図5と図6とを比較すると、図5のように、境界画素の位置は、ブロック内の位相(主走査方向の位置、副走査方向の位置)を合わせたほうがよい。
Note that the position of the boundary pixel is not limited to that illustrated in FIG. 5A, and may be, for example, the position illustrated in FIG. 6A. In this case, as the filter surrounding pixels, It is necessary to obtain pixel values necessary for filtering adjacent blocks.
Comparing FIG. 5 and FIG. 6 from such a viewpoint, as shown in FIG. 5, it is better to match the position of the boundary pixel with the phase in the block (position in the main scanning direction, position in the sub scanning direction).

また、図7(A)に例示するように、ブロックの周縁部の全画素(頂点画素及び境界画素)を、フィルタ処理の対象としてもよい。この場合も、頂点画素については、図3で説明したフィルタ演算を行い、境界画素については、図7(B)及び(C)に例示するように、隣接するブロックの隣接する画素と平均化する。   Further, as illustrated in FIG. 7A, all the pixels (vertex pixels and boundary pixels) at the peripheral edge of the block may be subjected to the filtering process. Also in this case, the filter operation described in FIG. 3 is performed for the vertex pixels, and the boundary pixels are averaged with the adjacent pixels of the adjacent blocks, as illustrated in FIGS. 7B and 7C. .

また、図8(A)に例示する境界画素を、図8(B)に例示する4つの画素群でフィルタリングしてもよい。すなわち、境界画素値P1を処理対象とする場合に、図8(B)に例示するように、同一ブロックに属する画素値P3と、隣接するブロックの隣接画素の画素値P2と、この隣接画素(P2)にさらに隣接する画素の画素値P4とを抽出し、抽出された画素値P1〜P4に対して、図8(C)に例示する重み付け係数(a、b、c、及び、d)を掛けて合算することにより、フィルタ出力値F(P1)を算出してもよい。この場合に、図8(D)に例示するように、境界画素のさらに内側にある画素を参照する必要がある。   Further, the boundary pixels illustrated in FIG. 8A may be filtered by the four pixel groups illustrated in FIG. That is, when the boundary pixel value P1 is a processing target, as illustrated in FIG. 8B, the pixel value P3 belonging to the same block, the pixel value P2 of the adjacent pixel of the adjacent block, and the adjacent pixel ( A pixel value P4 of a pixel further adjacent to P2) is extracted, and weighting coefficients (a, b, c, and d) illustrated in FIG. 8C are applied to the extracted pixel values P1 to P4. The filter output value F (P1) may be calculated by multiplication and addition. In this case, as illustrated in FIG. 8D, it is necessary to refer to a pixel further inside the boundary pixel.

また、図9(A)に例示するように、頂点画素及び境界画素に対して、3×3のFIRフィルタを掛けてもよい。この場合には、図9(B)に例示するように、処理対象となる頂点画素又は境界画素を中心として3×3サイズの矩形領域を参照する必要がある。   Further, as illustrated in FIG. 9A, a 3 × 3 FIR filter may be applied to the vertex pixels and the boundary pixels. In this case, as illustrated in FIG. 9B, it is necessary to refer to a 3 × 3 size rectangular area centering on the vertex pixel or boundary pixel to be processed.

なお、フィルタF()は、ローパス特性であれば他のものであってもよく、様々なフィルタを利用することができる。
例えば、上記図3、図5〜図9によって、1次的なフィルタ出力値F(P1)を算出し、さらに、以下の式により、2次的なフィルタ出力値F'(P1)を算出してもよい。なお、下記係数αは、予め定められた定数である。典型的にはαは0から1の間の数値である。
Note that the filter F () may be any other filter as long as it has low-pass characteristics, and various filters can be used.
For example, the primary filter output value F (P1) is calculated according to FIGS. 3 and 5 to 9, and the secondary filter output value F ′ (P1) is calculated according to the following equation. May be. The following coefficient α is a predetermined constant. Typically, α is a numerical value between 0 and 1.

Figure 0004788465
Figure 0004788465

[実施形態2]
次に、第2の実施形態を説明する。
第2の実施形態では、反復処理において、簡略化された変換処理(簡略化DCT)、及び、簡略化された逆変換処理(簡略化IDCT)を適用する形態を説明する。
[Embodiment 2]
Next, a second embodiment will be described.
In the second embodiment, a mode in which a simplified conversion process (simplified DCT) and a simplified inverse conversion process (simplified IDCT) are applied in the iterative process will be described.

図10は、制御装置20(図1)により実行される第2の復号化プログラム6の機能構成を例示する図である。
図10に例示するように、第2の復号化プログラム6は、エントロピ復号部600、全体逆変換部610、終了判定部620、フィルタ処理部630、部分変換部640、範囲保証部650、及び部分逆変換部660を有する。
エントロピ復号部600は、入力された符号データを、エントロピ復号化して、全体逆変換部610に出力する。
FIG. 10 is a diagram illustrating a functional configuration of the second decryption program 6 executed by the control device 20 (FIG. 1).
As illustrated in FIG. 10, the second decoding program 6 includes an entropy decoding unit 600, an entire inverse transformation unit 610, an end determination unit 620, a filter processing unit 630, a partial transformation unit 640, a range assurance unit 650, and a partial An inverse conversion unit 660 is included.
The entropy decoding unit 600 performs entropy decoding on the input code data and outputs the encoded data to the entire inverse transform unit 610.

全体逆変換部610は、エントロピ復号部610から入力された変換係数を逆変換して、画像情報を生成し、生成された画像情報を終了判定部620に出力する。
本例の全体逆変換部610は、エントロピ復号部610から入力されたDCT係数を逆変換して、逆変換により生成された画素値を終了判定部620に出力する。
The overall inverse transform unit 610 performs inverse transform on the transform coefficient input from the entropy decoding unit 610 to generate image information, and outputs the generated image information to the end determination unit 620.
The overall inverse transform unit 610 of this example performs inverse transform on the DCT coefficient input from the entropy decoding unit 610 and outputs the pixel value generated by the inverse transform to the end determination unit 620.

終了判定部620は、全体逆変換部610又は部分逆変換部660から入力された画像情報に基づいて、反復処理(すなわち、フィルタ処理及び量子化範囲保証処理)を行うか否かを判断し、反復処理を行うと判断した場合には、入力された画像情報をフィルタ処理部630に出力し、反復処理を行わないと判断した場合には、入力された画像情報を復号画像として出力する。
例えば、終了判定部620は、全体逆変換部610から入力された画像情報、又は、部分逆変換部660から入力された画像情報と全体逆変換部610から入力された画像情報との和について、ブロック歪量を測定し、ブロック歪量の基準値以上である場合に、反復処理を行う旨を決定する。
本例の終了判定部620は、全体逆変換部610から画素値が入力された場合には、入力された画素値に基づいて、反復処理を行うか否かを判断し、部分逆変換部660から画素値(具体的には、画素値変化量e)が入力された場合には、部分逆変換部660から入力された画素値(画素値変化量、すなわち、補正量)と、全体逆変換部610から入力された画素値とを合算し、合算された画素値に基づいて、反復処理を行うか否かを判断する。
The end determination unit 620 determines whether or not to perform iterative processing (that is, filter processing and quantization range guarantee processing) based on the image information input from the overall inverse transform unit 610 or the partial inverse transform unit 660, When it is determined that the iterative process is performed, the input image information is output to the filter processing unit 630. When it is determined that the iterative process is not performed, the input image information is output as a decoded image.
For example, the end determination unit 620 may calculate the sum of the image information input from the overall inverse transform unit 610 or the image information input from the partial inverse transform unit 660 and the image information input from the overall inverse transform unit 610. The block distortion amount is measured, and when the block distortion amount is equal to or larger than the reference value of the block distortion amount, it is determined that the iterative process is performed.
When a pixel value is input from the overall inverse conversion unit 610, the end determination unit 620 of this example determines whether to perform iterative processing based on the input pixel value, and the partial inverse conversion unit 660. When the pixel value (specifically, the pixel value change amount e) is input from the pixel value (the pixel value change amount, that is, the correction amount) input from the partial inverse conversion unit 660, and the entire inverse conversion The pixel values input from the unit 610 are added together, and it is determined whether or not to perform iterative processing based on the added pixel values.

フィルタ処理部630は、ローパスフィルタを用いて、終了判定部620から入力された画像情報に対して、フィルタ処理を施し、フィルタ処理が施された画像情報を部分変換部640に出力する。フィルタ処理は、空間領域でブロック歪を軽減するものであればよい。
より具体的には、フィルタ処理部630は、直交変換処理(本例では、DCT処理)の処理単位であるブロックの周縁部の画素についてのみ、フィルタ処理を施す。
本例のフィルタ処理部630は、上記の式(数2)を用いて、ローパスフィルタをかけた場合の画素値変化量e'を算出する。ただし、x=x +e
The filter processing unit 630 performs a filter process on the image information input from the end determination unit 620 using a low-pass filter, and outputs the image information subjected to the filter process to the partial conversion unit 640. The filtering process only needs to reduce block distortion in the spatial domain.
More specifically, the filter processing unit 630 performs the filter process only on the pixels at the peripheral edge of the block, which is a processing unit of the orthogonal transform process (DCT process in this example).
The filter processing unit 630 of this example calculates the pixel value change amount e 0 ′ when the low-pass filter is applied, using the above equation (Equation 2). However, x 0 = x o 0 + e 0

部分変換部640は、フィルタ処理部630によりフィルタ処理が施された画像情報を直交変換して、一部の画像情報に関する変換係数を生成し、生成された変換係数を範囲保証部650に出力する。
本例の部分変換部640は、上記式(数3)を用いて、画素値変化量e'を、変換係数変化量dに変換する。
The partial conversion unit 640 orthogonally transforms the image information that has been subjected to the filter processing by the filter processing unit 630, generates conversion coefficients related to some image information, and outputs the generated conversion coefficients to the range guarantee unit 650. .
The partial conversion unit 640 of this example converts the pixel value change amount e 0 ′ into the conversion coefficient change amount d 0 using the above equation (Equation 3).

範囲保証部650は、フィルタ処理部630によりフィルタ処理が施された画像情報の変換係数が元の量子化区間におさまるように、部分変換部640から入力された変換係数の値を補正する。
本例の範囲保証部650は、上記式(数4)を用いて、変換係数変化量dに対して量子化範囲保証を行い、量子化範囲保証がなされた変換係数変化量d'を算出する。
The range guarantee unit 650 corrects the value of the transform coefficient input from the partial transform unit 640 so that the transform coefficient of the image information filtered by the filter processing unit 630 falls within the original quantization interval.
Range Proof unit 650 of the present embodiment, using the above equation (Equation 4), the quantization range guarantees to transform coefficient change amount d 0, the transform coefficients variation quantization range guarantee is made d 0 ' calculate.

部分逆変換部660は、範囲保証部650から入力された変換係数(例えば、DCT係数)の少なくとも一部を逆変換して、画像情報を生成し、生成された画像情報を終了判定部620に出力する。
本例の部分逆変換部660は、以下の式(数45)を用いて、入力された変換係数変化量d'を逆変換して、画素値変化量eを算出する。
The partial inverse transform unit 660 inversely transforms at least a part of the transform coefficients (for example, DCT coefficients) input from the range guarantee unit 650 to generate image information, and the generated image information is sent to the end determination unit 620. Output.
The partial inverse transform unit 660 of this example inversely transforms the input conversion coefficient change amount d 0 ′ using the following equation (Equation 45) to calculate a pixel value change amount e 0 .

Figure 0004788465
Figure 0004788465

なお、終了判定部620は、部分逆変換部660から画素値変化量eが入力されると、以下の式(数46)を用いて、画素値変化量を適用した場合の画像情報xを算出し、算出された画像情報xに基づいて反復処理を終了するか否かを判断する。ここで、xは、全体逆変換部610から入力された画像情報である。 When the pixel value change amount e 0 is input from the partial inverse transform unit 660, the end determination unit 620 uses the following equation (Equation 46) to obtain image information x when the pixel value change amount is applied. It is calculated, and it is determined whether to end the iterative process based on the calculated image information x. Here, x 0 is image information input from the overall inverse transform unit 610.

Figure 0004788465
Figure 0004788465

[全体動作]
図11は、第2の復号化プログラム6(図10)による復号化処理(S20)を説明するフローチャートである。
図11に例示するように、ステップ200(S200)において、エントロピ復号部600(図10)は、入力された符号データをハフマン符号化方式で復号化し、復号化されたDCT係数を全体逆変換部610に出力する。
[Overall operation]
FIG. 11 is a flowchart for explaining the decryption process (S20) by the second decryption program 6 (FIG. 10).
As illustrated in FIG. 11, in step 200 (S200), the entropy decoding unit 600 (FIG. 10) decodes the input code data by the Huffman encoding method, and the decoded DCT coefficient is an overall inverse conversion unit. Output to 610.

ステップ210(S210)において、全体逆変換部610は、エントロピ復号部610から入力されたDCT係数全体を逆変換して、逆変換により生成された画素値を終了判定部620に出力する。   In step 210 (S210), the overall inverse transform unit 610 inversely transforms the entire DCT coefficient input from the entropy decoding unit 610, and outputs the pixel value generated by the inverse transform to the end determination unit 620.

ステップ220(S220)において、終了判定部620(図10)は、全体逆変換部610から画素値が入力された場合には、入力された画素値(すなわち、最初の復号画像)に基づいて、反復処理(S230〜S270)を行うか否かを判断する。
また、終了判定部620は、反復処理が行われた場合(すなわち、S270の処理から戻ってきた場合)、部分逆変換部660から入力された画素値変化量eと元の画素値(すなわち、直近の反復処理が開始される時の画素値)との合算値(すなわち、補正後の復号画像)に基づいて、反復処理を行うか否かを判断する。
復号化プログラム6は、反復処理を行うと判断された場合に、S230の処理に移行し、反復処理を終了すると判断された場合に、S280の処理に移行する。
In step 220 (S220), when the pixel value is input from the overall inverse transform unit 610, the end determination unit 620 (FIG. 10), based on the input pixel value (that is, the first decoded image), It is determined whether or not iterative processing (S230 to S270) is performed.
In addition, when the iterative process is performed (that is, when returning from the process of S270), the end determination unit 620 and the pixel value change amount e input from the partial inverse transform unit 660 and the original pixel value (that is, Whether or not the iterative process is to be performed is determined based on the total value (that is, the decoded image after correction) with the pixel value at the time when the most recent iterative process is started.
When it is determined that the iterative process is performed, the decryption program 6 proceeds to the process of S230, and when it is determined to end the iterative process, the decryption program 6 proceeds to the process of S280.

ステップ230(S230)において、フィルタ処理部630は、上記の式(数2)を用いて、終了判定部620から入力された画素値xに対してローパスフィルタをかけた場合の画素値変化量e'を算出する。 In step 230 (S230), the filter processing unit 630, using the above equation (2), the pixel value change amount when applying a low-pass filter to the pixel value x 0 which is input from the end determining unit 620 e 0 'is calculated.

ステップ240(S240)において、部分変換部640は、上記式(数3)を用いて、フィルタ処理部630により算出された画素値変化量e'を、変換係数変化量dに変換する。 In step 240 (S240), the partial conversion unit 640 converts the pixel value change amount e 0 ′ calculated by the filter processing unit 630 into the conversion coefficient change amount d 0 using the above equation (Equation 3).

ステップ250(S250)において、範囲保証部650は、上記式(数4)を用いて、部分変換部640により変換された変換係数変化量dに対して、量子化範囲保証を行い、量子化範囲保証がなされた変換係数変化量d'を算出する。 In step 250 (S250), the range guarantees unit 650 using equation (Equation 4), the converted coefficient change amount d 0, which is converted by partial conversion unit 640 performs quantization range guaranteed, quantization A conversion coefficient change amount d 0 ′ for which the range is guaranteed is calculated.

ステップ260(S260)において、部分逆変換部660は、上記式(数45)を用いて、範囲保証部650により算出された変換係数変化量d'を逆変換して、画素値変化量eを算出する。 In step 260 (S260), the partial inverse transform unit 660 inversely transforms the conversion coefficient change amount d 0 ′ calculated by the range guarantee unit 650 using the above equation (Equation 45), and the pixel value change amount e 0 is calculated.

ステップ270(S270)において、終了判定部620は、元の画素値画素値x(本反復処理の入力画素値)と、部分逆変換部660により算出された画素値変化量eとを合算する。
復号化プログラム6は、この合算値をこの反復処理で補正された復号画像として、S220の処理に戻る。
In step 270 (S270), the end determination unit 620 adds the original pixel value pixel value x 0 (input pixel value of this iterative process) and the pixel value change amount e 0 calculated by the partial inverse transform unit 660. To do.
The decoding program 6 returns to the process of S220 by using the sum as a decoded image corrected by this iterative process.

ステップ280(S280)において、終了判定部620は、反復処理を終了すると判断すると、復号画像(すなわち、S210において算出された画素値、又は、S270において算出された合算値)を復号画像として外部に出力する。   In step 280 (S280), when the end determination unit 620 determines to end the iterative process, the decoded image (that is, the pixel value calculated in S210 or the combined value calculated in S270) is externally output as a decoded image. Output.

以上説明したように、本実施形態における復号化装置2は、DCT処理あるいはIDCT処理を簡略化して演算負荷を軽減する。特に、本例では、反復処理におけるDCT処理及びIDCT処理を簡略化するため、演算負荷の軽減効果が大きい。   As described above, the decoding device 2 in the present embodiment simplifies the DCT process or the IDCT process to reduce the calculation load. In particular, in this example, since the DCT process and the IDCT process in the iterative process are simplified, the calculation load is greatly reduced.

[変形例1]
次に、上記第2の実施形態の変形例を説明する。
上記実施形態では、画像情報を変換係数に変換する変換行列Dの部分行列Dpmを用いて、簡略化DCT処理を行い、変換係数を画像情報に変換する逆変換行列D-1の部分行列D-1 mpを用いて、簡略化IDCT処理を行っているが、これに限定されるものではない。
すなわち、画素値変化量e0と変換係数変化量d0との関係として、別の関係式を利用してもよい。
第1の変形例における部分逆変換部660は、部分行列Dpmの逆行列を用いて、簡略化IDCT処理を行う。
ただし、部分行列Dpmの逆行列が存在するためには、Dpmが正方行列(すなわち、m=p)である必要がある(DはDCT変換行列であるため、正方であれば正則、すなわち逆行列の存在は保証される)。以下、m=pのとき、m<pのとき、及び、m>pのときの逆行列を説明する。なお、逆変換行列D-1の左上m行p列を抜き出した部分行列をD-1 mpと表記し、部分行列Dpmの逆行列を、[Dpm]-1と表記する。
[Modification 1]
Next, a modification of the second embodiment will be described.
In the above-described embodiment, the partial matrix D pm of the transformation matrix D that transforms image information into transformation coefficients is used to perform simplified DCT processing, and the partial matrix D of the inverse transformation matrix D −1 that transforms transformation coefficients into image information. Although simplified IDCT processing is performed using −1 mp , the present invention is not limited to this.
That is, another relational expression may be used as the relationship between the pixel value change amount e 0 and the conversion coefficient change amount d 0 .
Partial inverse transform unit 660 in the first modification, by using the inverse matrix of the partial matrix D pm, it performs simplified IDCT process.
However, in order for the inverse of the submatrix D pm to exist, D pm needs to be a square matrix (i.e., m = p) (D is a DCT transformation matrix, so if it is square, it is regular, i.e., The existence of an inverse matrix is guaranteed). Hereinafter, an inverse matrix when m = p, m <p, and m> p will be described. Note that a partial matrix obtained by extracting the upper left m rows and p columns of the inverse transformation matrix D −1 is denoted as D −1 mp, and the inverse matrix of the partial matrix D pm is denoted as [D pm ] −1 .

m=pのときは、逆行列の存在が保証されるため、以下の式(数)により簡略化IDCTが実現される。   When m = p, since the existence of the inverse matrix is guaranteed, the simplified IDCT is realized by the following equation (number).

Figure 0004788465
Figure 0004788465

m<pのときは、簡略化DCTの式における画像情報e0にとって、未知数よりも条件のほうが多い形の連立方程式となる。この場合、最小2乗法によって解を求めることが一般的である。いわゆる左側一般化逆行列を用いることによって、最小2乗解を求めることができる。具体的には、以下の式(数)となる。なお、行列DはDCT変換行列であるため、Dpmのランクがmとなり、下記一般化逆行列が存在する。 When m <p, for the image information e 0 in the simplified DCT equation, the simultaneous equations have more conditions than unknowns. In this case, it is common to find a solution by the least square method. By using a so-called left generalized inverse matrix, a least squares solution can be obtained. Specifically, the following equation (number) is obtained. Since the matrix D is a DCT transformation matrix, the rank of D pm is m, and the following generalized inverse matrix exists.

Figure 0004788465
Figure 0004788465

m>pのときは、簡略化DCTの式における画像情報e0にとって、条件よりも未知数のほうが多い形の連立方程式となる。この場合、条件を付加して解く必要がある。
ここでは、変換係数値ができるだけ量子化範囲内に収まっていて、かつ、ブロック境界でなだらかな画像を求めることを目的としている。そこで、変換係数値をできるだけ量子化範囲内に収めるためには、画素値変化量e0はできるだけ小さいほうがよいとする条件を付加する。ここでは、e0のノルムが最小となる解を求めればよいと考える。
このような解(ノルム最小解)を求めることのできる一般化逆行列として、Moore-Penroseの一般化逆行列が知られている。以下、行列Aの一般化逆行列をAと表記することにする。
行列Aを下記のようにURV分解する。
When m> p, for the image information e 0 in the simplified DCT equation, the simultaneous equations have more unknowns than conditions. In this case, it is necessary to solve by adding conditions.
Here, an object is to obtain a smooth image in which the transform coefficient value is within the quantization range as much as possible and at the block boundary. Therefore, in order to keep the transform coefficient value within the quantization range as much as possible, a condition is added that the pixel value change amount e 0 should be as small as possible. Here, it is considered that a solution that minimizes the norm of e 0 may be obtained.
A Moore-Penrose generalized inverse matrix is known as a generalized inverse matrix capable of obtaining such a solution (norm minimum solution). Hereinafter, the generalized inverse matrix of the matrix A will be denoted as A * .
The matrix A is URV-decomposed as follows.

Figure 0004788465
Figure 0004788465

このとき、行列AのMoore-Penroseの一般化逆行列A* は、以下のように与えられる。 At this time, the Moore-Penrose generalized inverse matrix A * of the matrix A is given as follows.

Figure 0004788465
Figure 0004788465

URV分解としては、例えば、特異値分解を用いることができる。この一般化逆行列を用いて、e0のノルムが最小となる解を以下のように解く。 As the URV decomposition, for example, singular value decomposition can be used. Using this generalized inverse matrix, a solution that minimizes the norm of e 0 is solved as follows.

Figure 0004788465
Figure 0004788465

ここで、m=pの場合や、m<pの場合もMoore-Penroseの一般化逆行列の特殊な例として含まれる。そのため、以下、アルゴリズム表記上は、m、pの大小に依存せず、上記式(数51)を用いて一般化する。   Here, the case of m = p and the case of m <p are also included as special examples of the Moore-Penrose generalized inverse matrix. Therefore, in the following, the algorithm notation does not depend on the magnitudes of m and p, and is generalized using the above formula (Formula 51).

なお、Moore-Penroseの一般化逆行列は、Dpmのランクがp以下であっても求めることのできる形式である。ここで対象としているDpmはDCT変換行列Dの一部であるため、ランクがpとなることを保証することができる。よって、この場合のMoore-Penroseの一般化逆行列は、以下のように、いわゆる右側一般化逆行列として算出が可能である。 The Moore-Penrose generalized inverse matrix can be obtained even if the rank of D pm is p or less. Since the target D pm is a part of the DCT transformation matrix D, it can be guaranteed that the rank is p. Therefore, the Moore-Penrose generalized inverse matrix in this case can be calculated as a so-called right generalized inverse matrix as follows.

Figure 0004788465
Figure 0004788465

さらに、m行m列の重み行列Weを定義して、重み付けノルムe0 TWee0を最小化する一般化逆行列を定めることも可能である。例えば、Weが正則かつ対称な場合、以下のように求めることができる。 Furthermore, by defining the weight matrix W e of m rows and m columns, is the weighted norm e 0 T W e e 0 is also possible to define a generalized inverse matrix to minimize. For example, if W e is regular and symmetrical, it can be obtained as follows.

Figure 0004788465
Figure 0004788465

また、We=I(単位行列)とすることによって、上記式(数51)などを含むことになる。
以下、重み付けノルム最小解を得ることのできる一般化逆行列の算出方法を示す。
ここでは、以下が拘束条件である。
Further, by making the W e = I (unit matrix), will contain such above equation (Equation 51).
Hereinafter, a method for calculating a generalized inverse matrix capable of obtaining a weighted norm minimum solution will be described.
Here, the following are the constraint conditions.

Figure 0004788465
Figure 0004788465

この拘束条件に対して、以下の式を最小化する解x=Ayを求めようとするものである。 With respect to this constraint condition, an attempt is made to obtain a solution x = A * y that minimizes the following expression.

Figure 0004788465
Figure 0004788465

これを解くため、以下のように、Lagrange乗数ベクトルλを導入して、Lagrange関数Lを定義する。   In order to solve this, a Lagrange multiplier vector λ is introduced and a Lagrange function L is defined as follows.

Figure 0004788465
Figure 0004788465

そして、以下の2式を解けばよい。   Then, the following two equations may be solved.

Figure 0004788465
Figure 0004788465

ここで、[W+W]が正則であれば、A[W+W−1×(数55)−(数56)より、以下の式となる。 Here, if [W + W T ] is regular, A [W + W T ] −1 × (Expression 55) − (Expression 56), the following expression is obtained.

Figure 0004788465
Figure 0004788465

さらに、A[W+W−1が正則であれば、式(数55)と合わせて、以下の式が導かれる。 Furthermore, if A [W + W T ] −1 AT is regular, the following equation is derived together with the equation (Equation 55).

Figure 0004788465
Figure 0004788465

すなわち、以下の式となる。   That is, the following expression is obtained.

Figure 0004788465
Figure 0004788465

特に、Wが対称な場合は、[W+W]=2Wとできるため、以下の式が導かれる。 In particular, when W is symmetric, [W + W T ] = 2W can be obtained, and thus the following expression is derived.

Figure 0004788465
Figure 0004788465

この重み付け行列を用いることによって、画素位置毎に画素値の変動の容易さを変化させることが可能である。例えば、「8×8ブロックの内部の点の画素値は余り変動させず、境界の点の画素値を多く変動させる」、あるいは、「8×8ブロックの頂点の画素値を多く変動させ、その他の点の画素値は余り変動させない」などとすることが可能となる。
具体的には、Weが対角行列の例を以下に示す。
By using this weighting matrix, it is possible to change the ease of variation of the pixel value for each pixel position. For example, “Pixel values of points inside the 8 × 8 block do not change much, and pixel values at the boundary points are changed a lot” or “Pixel values at the top of the 8 × 8 block are changed a lot, etc. The pixel value of this point is not changed so much. "
Specifically, W e is an example of a diagonal matrix as follows.

Figure 0004788465
Figure 0004788465

このとき、we i の値を小さく設定することによって、他の要素に比べて大きなeiの値を得ることができる。ただし、e0=(e0, e1, ..., em-1)Tとしている。 At this time, by setting the value of w e i small, it is possible to obtain a larger value of e i compared to other elements. However, e 0 = (e 0 , e 1 ,..., E m−1 ) T.

[変形例2]
次に、第2の実施形態の第2の変形例を説明する。
本変形例の部分変換部640は、画素値変化量e0から変換係数変化量d0を求めるときに、上記D-1 mpの一般化逆行列を利用する。すなわち、以下の式(数60)が用いられる。
[Modification 2]
Next, a second modification of the second embodiment will be described.
The partial conversion unit 640 of the present modification uses the generalized inverse matrix of D −1 mp when obtaining the conversion coefficient change amount d 0 from the pixel value change amount e 0 . That is, the following equation (Equation 60) is used.

Figure 0004788465
Figure 0004788465

これによって、ノルムが最小(すなわち、できるだけ量子化範囲を逸脱しない) d0を求めることができる。
さらに、変形例1と同様に、重み行列を定義することができる。p行p列の重み行列Wdを定義して、重み付けノルムd0 TWdd0を最小化する一般化逆行列を定める。
一例として、Wdが正則かつ対称な場合、以下のようになる。
As a result, d 0 having the minimum norm (that is, as far as possible from the quantization range) can be obtained.
Furthermore, a weight matrix can be defined as in the first modification. A p × p weight matrix W d is defined to define a generalized inverse matrix that minimizes the weighted norm d 0 T W d d 0 .
As an example, if W d is regular and symmetric, then

Figure 0004788465
Figure 0004788465

この重み付け行列を用いることによって、DCT係数毎に重要度を変化させることが可能である。例えば、「高域のDCT係数は余り変動させず、低域のDCT係数を多く変動させる」などとすることが可能となる。
変形例1と同様に、行列Wdが対角行列の例を以下に示す。
By using this weighting matrix, it is possible to change the importance for each DCT coefficient. For example, it becomes possible to “change the DCT coefficient of the low frequency much without changing the DCT coefficient of the high frequency much”.
As in the first modification, an example in which the matrix Wd is a diagonal matrix is shown below.

Figure 0004788465
Figure 0004788465

このとき、wd i の値を小さく設定することによって、他の要素に比べて大きなdiの値を得ることができる。例えば、「量子化ステップサイズが大きなDCT係数に対しては、量子化範囲外になる可能性が低いため、wd i の値を小さく設定する」、あるいは、「値が0である他のN-p個のDCT係数変化量の要素との連続性を考慮して、大きなiに対しては、diの値を小さくするためwd i の値を大きく設定する」等の選択肢を考えることができる。ただし、d0=(d0, d1, ..., dp-1)Tとしている。 At this time, by setting the value of w d i to be small, it is possible to obtain a value of d i that is larger than other elements. For example, “For DCT coefficients with a large quantization step size, it is unlikely to be outside the quantization range, so set the value of w d i small” or “Other Np with a value of 0” taking into account the continuity of the number of DCT coefficients variation factors, for large i, can be considered the option of setting to "or the like increases the value of w d i order to reduce the value of d i . However, d 0 = (d 0 , d 1 ,..., D p−1 ) T.

変形例2における具体的な計算方法をまとめると、以下のようになる。   The specific calculation method in Modification 2 is summarized as follows.

Figure 0004788465
Figure 0004788465

[変形例3]
第3の変形例は、基本的には上記変形例1と同じ方式であるが、p<mのときの動作が異なる。すなわち、本変形例は、条件数よりも未知数の数が多いとき(p<m)に、できるだけ拘束条件を満たし、かつ、未知数の数が小さなe0を解とするものである。具体的な手順は以下である。
p?n?mである数nを考える。ここでは、ベクトルe0の次元数(要素数)をnに変更して演算を行う。nの値をpからmまで増加させていき、変形例1の手法でn次元の、ベクトルe0を求める。最初に拘束条件内(量子化範囲内)に収まったとき、そのe0を出力する。ただし、出力時のe0の要素数はmであり、かつ、最初のn個の要素以外の要素の値は0としたものである。
なお、最後まで、拘束条件内(量子化範囲内)に収まらない場合には、変形例1と同様の処理となる。
[Modification 3]
The third modification is basically the same system as the first modification, but the operation is different when p <m. That is, the present modified example, when a large number of unknowns than condition number (p <m), satisfy the possible constraints, and, in which the number of unknowns is the solution a small e 0. The specific procedure is as follows.
Consider a number n that is p? n? m. Here, the calculation is performed by changing the number of dimensions (number of elements) of the vector e 0 to n. The value of n is increased from p to m, and an n-dimensional vector e 0 is obtained by the method of the first modification. When it first falls within the constraint condition (quantization range), its e 0 is output. However, the number of elements of e 0 at the time of output is m, and the values of elements other than the first n elements are 0.
It should be noted that, when it does not fall within the constraint condition (within the quantization range) until the end, the processing is the same as in the first modification.

[変形例4]
第4の変形例は、基本的には、変形例2と同じ方式であるが、p>mのときの動作が異なる。すなわち、本変形例は、条件数よりも未知数の数が多いとき(p>m)に、できるだけ拘束条件を満たし、かつ、未知数の数が小さなベクトルd0を解とするものである。p>mの場合の手順は以下である。
m?n?pである数nを考える。ここでは、ベクトルd0の次元数(要素数)をnに変更して演算を行う。nの値をmからpまで増加させていき、簡略化法その3の手法でn次元のベクトルd0を求める。最初に拘束条件内(量子化範囲内)に収まったとき、そのベクトルd0を出力する。ただし、出力時のベクトルd0の要素数は、pであり、かつ、最初のn個の要素以外の要素の値は0としたものである。最後まで、拘束条件内(量子化範囲内)に収まらない場合には、変形例2と同様の処理となる。
[Modification 4]
The fourth modification is basically the same method as modification 2, but the operation is different when p> m. That is, in this modification, when the number of unknowns is larger than the number of conditions (p> m), the solution is a vector d 0 that satisfies the constraint condition as much as possible and has a small number of unknowns. The procedure for p> m is as follows.
Consider a number n that is m? n? p. Here, the number of dimensions (number of elements) of the vector d 0 is changed to n to perform the calculation. The value of n is increased from m to p, and the n-dimensional vector d 0 is obtained by the simplification method # 3. When it first falls within the constraint condition (quantization range), the vector d 0 is output. However, the number of elements of the vector d 0 at the time of output is p, and the values of elements other than the first n elements are 0. If it does not fall within the constraint conditions (within the quantization range) until the end, the processing is the same as in the second modification.

なお、IDCT近似としては、上記第2の実施形態のような簡略化法を用いることができる。あるいは、IDCT近似として、変形例1のような簡略化法を用いることができる。あるいは、IDCT近似として、変形例3の方法を用いることができる。つまり、IDCT近似手法は3種類ある。
同様に、DCT近似として、上記第2の実施形態のような簡略化法を用いることができる。あるいは、DCT近似として、変形例2のような簡略化法を用いることができる。あるいは、DCT近似として、変形例4の方法を用いることができる。つまり、DCT近似手法は3種類ある。
よって、DCT近似手法、および、IDCT近似手法の組み合わせとしては、9通り存在している。
As the IDCT approximation, a simplification method as in the second embodiment can be used. Alternatively, a simplified method such as that of Modification 1 can be used as the IDCT approximation. Or the method of the modification 3 can be used as IDCT approximation. In other words, there are three types of IDCT approximation methods.
Similarly, a simplified method as in the second embodiment can be used as the DCT approximation. Alternatively, as a DCT approximation, a simplification method as in Modification 2 can be used. Or the method of the modification 4 can be used as DCT approximation. In other words, there are three types of DCT approximation methods.
Therefore, there are nine combinations of DCT approximation methods and IDCT approximation methods.

[変形例5]
第5の変形例における終了判定部620は、以下の式(数64)を用いて、補正された復号画像を生成する。
[Modification 5]
The end determination unit 620 in the fifth modified example generates a corrected decoded image using the following equation (Equation 64).

Figure 0004788465
Figure 0004788465

あるいは、終了判定部620は、以下の式(数65)及び式(数66)を用いて、補正された復号画像を生成してもよい。   Alternatively, the end determination unit 620 may generate a corrected decoded image using the following equation (Equation 65) and equation (Equation 66).

Figure 0004788465
Figure 0004788465

あるいは、終了判定部620は、以下の式(数67)により算出された画素値変化量eを、元の画素値xに加算して、復号画像を生成してもよい。 Alternatively, the end determination unit 620 may generate a decoded image by adding the pixel value change amount e calculated by the following equation (Equation 67) to the original pixel value x o .

Figure 0004788465
Figure 0004788465

[変形例6]
上記第2の実施形態では、初期画素値ベクトルxo 0を保持しておき、画素値変化量eと加算している。ここで、保持する画素値変化ベクトルとしては、初期画素値変化ベクトルeo 0、あるいは、初期変換係数変化ベクトルdo 0であっても構わない。あるいは、ベクトルco 0を用いることも可能である。これらの変形例を変形例6-1、変形例6-2、変形例6-3として以下説明する。
[Modification 6]
In the second embodiment, the initial pixel value vector x o 0 is held and added to the pixel value change amount e. Here, as the pixel value change vectors for holding an initial pixel value variation vector e o 0, or may be a initial conversion coefficient change vector d o 0. Alternatively, the vector co 0 can be used. These modified examples will be described below as modified example 6-1, modified example 6-2, and modified example 6-3.

変形例6-1では、初期画素値変化ベクトルeo 0を以下の式(数69)のように定義して、以下の式(数68〜72)を用いる。これらの式は、第2の実施形態と同様の手順で導かれる。 In Modified Example 6-1, the initial pixel value change vector e o 0 is defined as in the following equation (Equation 69), and the following equations (Equations 68 to 72) are used. These formulas are derived in the same procedure as in the second embodiment.

Figure 0004788465
Figure 0004788465

具体的には、図11のS210において、画素値変化ベクトルe0に加えて、初期画素値変化ベクトルeo 0を初期化しておく。
次に、S230において、フィルタ処理630は、上記式(数72)を用いてフィルタリングを行い、さらに上記式(数69)を用いて、ベクトルe0 ' を求める。
S240以降の処理は、このベクトルe0 'に基づいて、上記第2の実施形態と同様の処理を行う。
Specifically, in S210 of FIG. 11, in addition to the pixel value variation vector e 0, it has initialized the initial pixel value variation vector e o 0.
Next, in S230, the filtering process 630 performs filtering using the above equation (Equation 72), and further obtains a vector e 0 using the above equation (Equation 69).
In the processing after S240, the same processing as in the second embodiment is performed based on the vector e 0 .

このように、変形例6-1では、フィルタリングの入力が画素値変化ベクトルeo 0であるため、画素値ベクトルxo 0を入力するよりも、信号が0付近に集中し易い。そのため、同一の演算精度でも高い効果を上げられる、あるいは、同一の効果を得るための演算精度を下げられる可能性がある。
あるいは、適度にベクトルe0の量子化を行った場合、ベクトルe0は、ほとんどの要素が0の疎なベクトルとなる。式(数72)において、このような疎なベクトル(行列)に関する高速演算算法を活用することができる。なお、一般に、差分情報に対してDCT、IDCT演算を行った場合、疎な行列に対する高速演算算法の利用が可能である。この性質はベクトル次元数を削減しない場合でも成り立つ。よって、実は、差分を利用したフィルタリングやDCT、IDCTだけでも効果があるといえる。
さらに、画素値ベクトルxo 0を保持するよりも、ベクトルeo 0を保持するデータ量を削減できる可能性がある。
As described above, in the modified example 6-1, since the input of filtering is the pixel value change vector e o 0 , the signal is likely to concentrate near 0 rather than inputting the pixel value vector x o 0 . Therefore, there is a possibility that a high effect can be achieved even with the same calculation accuracy, or that the calculation accuracy for obtaining the same effect can be lowered.
Alternatively, when properly carried out quantization of vectors e 0, the vector e 0 is most elements becomes sparse vector of 0. In the equation (Equation 72), it is possible to utilize such a high-speed arithmetic method relating to a sparse vector (matrix). In general, when DCT and IDCT operations are performed on difference information, it is possible to use a high-speed calculation method for a sparse matrix. This property holds even when the number of vector dimensions is not reduced. Therefore, in fact, it can be said that filtering using difference, DCT, and IDCT alone are effective.
Furthermore, there is a possibility that the amount of data for holding the vector e o 0 can be reduced rather than holding the pixel value vector x o 0 .

変形例6-2では、初期変換係数変化ベクトルdo 0を以下のように定義して、以下の式(数73〜77)を用いる。これらの式は、第2の実施形態と同様の手順で導かれる。 In Modification 6-2, the initial conversion coefficient change vector d o 0 is defined as follows, using the following equation (73 to 77). These formulas are derived in the same procedure as in the second embodiment.

Figure 0004788465
Figure 0004788465

具体的には、図11のS210において、画素値変化ベクトルeo 0及び式(数68)に加えて、式(数73)(あるいは、式(数74))の初期化を行っておく。
次に、S230において、フィルタ処理部630は、上記式(数72)を用いてフィルタリングを行う。
次に、S240において、部分変換部640は、式(数77)を用いて、DCT変換を行う。さらに、部分変換部640は、式(数75)を用いて、ベクトルd0を求める。
S250以降の処理は、第2の実施形態と同様である。
Specifically, in S210 of FIG. 11, in addition to the pixel value change vector e o 0 and the equation (Equation 68), the equation (Equation 73) (or the equation (Equation 74)) is initialized.
Next, in S230, the filter processing unit 630 performs filtering using the above equation (Formula 72).
Next, in S240, the partial conversion unit 640 performs DCT conversion using Expression (Equation 77). Further, the partial conversion unit 640 obtains a vector d 0 using the equation (Equation 75).
The processes after S250 are the same as those in the second embodiment.

このように、本変形例6-2では、変形例6-1の利点に加えて、以下の利点がある。
すなわち、DCT変換(式(数77))の実質演算精度を高めることができる。あるいは、画素値変化ベクトルeo 0を保持するよりも、変換係数変化ベクトルdo 0を保持したほうが、効率が良い。なぜなら、空間領域を直接符号化するよりも、変換領域の符号化のほうが効率が良いからである。
さらに、適度にΔe0の量子化を行った場合、Δe0はほとんどの要素が0の疎なベクトルとなる。式(数77)において、このような疎なベクトル(行列)に関する高速演算算法を活用することができる。
Thus, the present modification 6-2 has the following advantages in addition to the advantages of the modification 6-1.
That is, it is possible to improve the actual calculation accuracy of the DCT transform (Expression (Equation 77)). Alternatively, rather than storing a pixel value variation vector e o 0, better to hold the transform coefficients change vector d o 0 is efficient. This is because encoding of the transform domain is more efficient than encoding the spatial domain directly.
Further, when Δe 0 is quantized moderately, Δe 0 is a sparse vector in which most elements are zero. In the equation (Equation 77), it is possible to utilize such a high-speed arithmetic method relating to a sparse vector (matrix).

変形例6-3では、保持する初期ベクトルをベクトルcoのみとする。
具体的には、図11のS210において、画素値ベクトルxを初期化しておく。
次に、S230において、フィルタ処理部630は、以下のS260において算出されるx0を用いてフィルタリングを行う。
S240及びS250の処理は、上記第2の実施形態と同様である。
S260において、部分逆変換部660は、以下の式(数78)を用いて、画素値ベクトルx0を算出する。
In Modification 6-3, the initial vector to be held is only the vector co .
Specifically, in S210 of FIG. 11, keep initializing the pixel value vector x 0.
Next, in S230, the filter processing unit 630 performs filtering by using x 0 being calculated in the following S260.
The processes of S240 and S250 are the same as in the second embodiment.
In S260, partial inverse transform unit 660, using the following equation (78), to calculate a pixel value vector x 0.

Figure 0004788465
Figure 0004788465

ただし、ベクトルco 2は、ベクトルcoからp個の要素を抜き出したp次元ベクトルである。 However, the vector c o 2 is a p-dimensional vectors extracted p elements from the vector c o.

このように、本変形例6-3では、ベクトルco以外の信号を保持する必要がないため、メモリ効率を高めることが可能である。 As described above, in Modification 6-3, since it is not necessary to hold a signal other than the vector co , memory efficiency can be improved.

[変形例7]
本変形例では、入力DCT変換係数に対して、図11のS210において近似を行う。最終的なIDCTに対する近似を行うことはできないが、演算途中のフィルタリングに用いる画素値算出の際の演算は近似が可能である。
具体的には、第1の実施形態における式(数1)を用いて、変換係数変化量を画素値変化量に変換する。
この式(数1)は、フィルタリングに用いる画素値ベクトルx0のみを対象として、変換係数ベクトルco中の一部の要素がベクトルx0算出に支配的であるという近似を行うものである。
本変形例7は、入力された変換係数全体を逆変換する代わりに、上記式(数1)を用いて、最初のIDCTを行うものである。
ただし、本変形例では、図11のS210(最初のIDCT)では、画素値ベクトルxoを求めていないため、式(数64)を用いて、最終的に画素値ベクトルxを求めてS280の処理に移行し終了する。
[Modification 7]
In this modification, the input DCT transform coefficient is approximated in S210 of FIG. Although the final IDCT cannot be approximated, the calculation at the time of calculating the pixel value used for filtering during the calculation can be approximated.
Specifically, the conversion coefficient change amount is converted into a pixel value change amount using the equation (Equation 1) in the first embodiment.
The equation (1) is, as a target only pixel value vector x 0 used for filtering, some of the elements in the transform coefficient vector c o is to perform approximation that is dominant in the vector x 0 is calculated.
In this modified example 7, instead of inversely transforming the entire input conversion coefficient, the first IDCT is performed using the above equation (Equation 1).
However, in this modification, the pixel value vector x o is not obtained in S210 (first IDCT) in FIG. 11, and therefore the pixel value vector x is finally obtained using the equation (Equation 64). It shifts to processing and ends.

[その他の変形例]
上記第1及び第2の実施形態では、DCTあるいはIDCTにおいて、mあるいはpの値を小さくする簡略化を行った。このとき、DCT時とIDCT時において、同じmの値を用いていた。あるいは、DCT時とIDCT時において、同じpの値を用いていた。
しかしながら、DCT時とIDCT時で同じmの値を用いる必要はない。あるいは、DCT時とIDCT時で同じpの値を用いる必要はない。
例えば、DCTあるいはIDCTの何れかがハードウェア化されていて、簡略化の必要のない場合などには、一旦全ての画素値あるいはDCT係数を算出しておいてから、必要なものだけを抽出すれば良い。
[Other variations]
In the first and second embodiments, simplification of reducing the value of m or p was performed in DCT or IDCT. At this time, the same value of m was used during DCT and IDCT. Alternatively, the same p value was used during DCT and IDCT.
However, it is not necessary to use the same value of m for DCT and IDCT. Alternatively, it is not necessary to use the same p value during DCT and IDCT.
For example, if either DCT or IDCT is implemented in hardware and simplification is not necessary, calculate all pixel values or DCT coefficients and then extract only the necessary ones. It ’s fine.

例えば、上記第2の実施形態において、式(数4)において量子化範囲を逸脱するかどうか判断した後に、再度式(数45)を用いてIDCT演算を行っていた。
ここで、全てのp個のDCT係数が量子化範囲を逸脱していない場合には、再度IDCTを行う必要がなく、例えば、式(数2)によりで算出された画素値変化量e'をそのまま用いればよい。
For example, in the second embodiment, after determining whether or not the quantization range is deviated in Expression (Expression 4), the IDCT calculation is performed again using Expression (Expression 45).
Here, when all the p DCT coefficients do not deviate from the quantization range, it is not necessary to perform IDCT again. For example, the pixel value change amount e 0 ′ calculated by the equation (Equation 2). Can be used as they are.

上記実施形態では、最後のIDCT演算(例えば、式(数45))において、簡略化IDCT演算を行っていた。
ここで、簡略化IDCTでは演算誤差が発生する危険性がある。そこで、最終の画素値ベクトルxを求めて復号化処理を終了する場合には、式(数45)などの簡略化IDCTではなく、簡略化しないIDCTを用いてもよい。すなわち、最後のIDCT処理では、以下の式(数79)による。
In the above embodiment, the simplified IDCT calculation is performed in the last IDCT calculation (for example, Expression (Equation 45)).
Here, in the simplified IDCT, there is a risk that a calculation error occurs. Therefore, when the final pixel value vector x is obtained and the decoding process is terminated, an IDCT that is not simplified may be used instead of the simplified IDCT such as Expression (Equation 45). That is, in the last IDCT processing, the following equation (Equation 79) is used.

Figure 0004788465
Figure 0004788465

また、上記第2の実施形態では、複数回、反復処理を行う形態を説明したが、この反復処理を1回のみ(すなわち、簡略化DCTを一度だけ行う場合)行ってもよい。この場合にも、簡略化DCTなどを適用する効果が存在する。
また、上記第1の実施形態と上記第2の実施形態とを組み合わせてもよい。
Further, in the second embodiment, the form in which the iterative process is performed a plurality of times has been described. However, this iterative process may be performed only once (that is, when the simplified DCT is performed only once). Also in this case, there is an effect of applying simplified DCT or the like.
Further, the first embodiment and the second embodiment may be combined.

[演算量に関する考察]
上記では、64×64DCT変換行列を用いたアルゴリズムを説明した。実際のDCT変換では、8×8行列の乗算を2回行う変換でよい。さらに、DCTには高速算法が存在する。8×8行列乗算行うDCT変換、64×64変換行列を用いるDCT変換それぞれに、別の高速算法を設定することが可能である。ベクトル次元を削減した場合には、削減の方法によって、高速算法を適用できる場合とできない場合が存在する。そのため、ベクトル次元と演算量の関係は複雑であり、単純にベクトル次元を減らすことによって、DCT、IDCTの演算量を常に減少させられるとは限らない。
そこで、ここでは上記第1の実施形態又は第2の実施形態に関して厳しい方向で評価を行う。ベクトル次元を削減する場合(本実施形態)には高速算法を適用せず、ベクトル次元を削減しない従来手法の場合には高速算法を適用して、演算量の評価を行う。
演算量に関して、DCTとIDCTは対称な変換であるため、ここではDCTの演算量を見積もる。8×8のDCT変換行列をTとする。8×8の入力画素ブロックをB、8×8のDCT係数行列をCとする。通常、次式を用いてDCT演算が行われる。以下、各行列T、B、CをM×M行列とする。ちなみに、N=M2である。
[Consideration of computational complexity]
In the above, the algorithm using the 64 × 64 DCT transformation matrix has been described. In the actual DCT transform, a transform in which 8 × 8 matrix multiplication is performed twice may be used. In addition, DCT has a fast algorithm. It is possible to set different high-speed arithmetic methods for the DCT transformation that performs 8 × 8 matrix multiplication and the DCT transformation that uses a 64 × 64 transformation matrix. When the vector dimension is reduced, there are cases where high-speed arithmetic can be applied and where it cannot be applied depending on the reduction method. For this reason, the relationship between the vector dimension and the calculation amount is complicated, and the calculation amount of DCT and IDCT cannot always be reduced by simply reducing the vector dimension.
Therefore, here, evaluation is performed in a severe direction with respect to the first embodiment or the second embodiment. In the case of reducing the vector dimension (this embodiment), the high-speed arithmetic method is not applied, and in the case of the conventional method that does not reduce the vector dimension, the high-speed arithmetic method is applied to evaluate the calculation amount.
Since DCT and IDCT are symmetrical transformations regarding the amount of computation, the amount of computation of DCT is estimated here. Let T be an 8 × 8 DCT transformation matrix. The 8 × 8 input pixel block is B, and the 8 × 8 DCT coefficient matrix is C. Usually, DCT calculation is performed using the following equation. Hereinafter, each matrix T, B, and C is assumed to be an M × M matrix. By the way, it is N = M 2.

Figure 0004788465
Figure 0004788465

上式をそのまま計算する場合、積和演算の回数は、2×M×M2=2 M3 = 1024となるが、ここにChenの高速演算アルゴリズムを適用すると以下のように演算回数を削減させることができる。 When the above formula is calculated as it is, the number of product-sum operations is 2 x M x M 2 = 2 M 3 = 1024, but when Chen's high-speed algorithm is applied here, the number of operations is reduced as follows: be able to.

Figure 0004788465
Figure 0004788465

これに対して、本実施形態の方式を適用した場合の演算回数を見積もる。画素値ベクトルxの次元数がm、変換係数ベクトルcの次元数がpのとき、簡略化DCT変換行列はp行m列である。このとき、積和演算回数は、pmとなる(厳密には加算回数は積算回数よりも小さいが、ここでは加算と積算が同一回数として多めに見積もっている)。p, mを変化させたときの様子を図12に示す。
図12に示すように、ベクトル次元(m、および、p)を小さくした場合には、従来のDCT、IDCTよりも明らかに演算量を削減させることができることが分かる。
On the other hand, the number of operations when the method of the present embodiment is applied is estimated. When the dimensionality of the pixel value vector x is m and the dimensionality of the transform coefficient vector c is p, the simplified DCT transformation matrix is p rows and m columns. At this time, the number of product-sum operations is pm (strictly speaking, the number of additions is smaller than the number of integrations, but here, addition and integration are estimated as the same number of times). FIG. 12 shows the state when p and m are changed.
As shown in FIG. 12, it can be seen that when the vector dimension (m and p) is reduced, the amount of calculation can be clearly reduced as compared with the conventional DCT and IDCT.

本発明にかかる復号化方法が適応される復号化装置2のハードウェア構成を、制御装置20を中心に例示する図である。It is a figure which illustrates the hardware constitutions of the decoding apparatus 2 with which the decoding method concerning this invention is applied centering on the control apparatus 20. FIG. 制御装置20(図1)により実行され、本発明にかかる復号化方法を実現する復号化プログラム5の機能構成を例示する図である。It is a figure which illustrates the functional structure of the decoding program 5 which is performed by the control apparatus 20 (FIG. 1) and implement | achieves the decoding method concerning this invention. フィルタ処理部520(図2)によるフィルタ処理を説明する図である。It is a figure explaining the filter process by the filter process part 520 (FIG. 2). 復号化プログラム5(図2)による復号化処理(S10)を説明するフローチャートである。It is a flowchart explaining the decoding process (S10) by the decoding program 5 (FIG. 2). 第2のフィルタ処理を説明する図である。It is a figure explaining a 2nd filter process. 第3のフィルタ処理を説明する図である。It is a figure explaining a 3rd filter process. 第4のフィルタ処理を説明する図である。It is a figure explaining a 4th filter process. 第5のフィルタ処理を説明する図である。It is a figure explaining a 5th filter process. 第6のフィルタ処理を説明する図である。It is a figure explaining the 6th filter processing. 制御装置20(図1)により実行される第2の復号化プログラム6の機能構成を例示する図である。It is a figure which illustrates the function structure of the 2nd decoding program 6 performed by the control apparatus 20 (FIG. 1). 第2の復号化プログラム6(図10)による復号化処理(S20)を説明するフローチャートである。It is a flowchart explaining the decoding process (S20) by the 2nd decoding program 6 (FIG. 10). 演算量を評価するためのグラフである。It is a graph for evaluating the amount of calculation.

符号の説明Explanation of symbols

2・・・復号化装置
5・・・復号化プログラム
500・・・エントロピ復号部
510・・・部分逆変換部
520・・・フィルタ処理部
530・・・部分変換部
540・・・範囲保証部
550・・・係数補正部
560・・・全体逆変換部
6・・・復号化プログラム
600・・・エントロピ復号部
610・・・全体逆変換部
620・・・終了判定部
630・・・フィルタ処理部
640・・・部分変換部
650・・・範囲保証部
660・・・部分逆変換部
DESCRIPTION OF SYMBOLS 2 ... Decoding apparatus 5 ... Decoding program 500 ... Entropy decoding part 510 ... Partial reverse conversion part 520 ... Filter processing part 530 ... Partial conversion part 540 ... Range guarantee part 550: coefficient correction unit 560: overall inverse transform unit 6 ... decoding program 600 ... entropy decoding unit 610 ... overall inverse transform unit 620 ... end determination unit 630 ... filter processing Part 640 ... partial conversion part 650 ... range guarantee part 660 ... partial reverse conversion part

Claims (8)

画像に対しブロック単位で直交変換して生成された1ブロック分の変換係数のうち一部を逆変換して、該ブロックの一部の画素値を生成する部分逆変換手段と、
前記部分逆変換手段により生成された一部の画素値対してフィルタ処理を施し、該フィルタ処理による一部の画素値の変化量を算出するフィルタ処理手段と、
前記フィルタ処理手段により算出された一部の画素値の変化量を直交変換して、前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を生成する部分変換手段と、
前記部分変換手段により生成された変化量を調整して、前記1ブロック分の変換係数に対し調整後の該変化量を加算した値が符号化の際の量子化範囲に収まるようにする範囲保障手段と、
前記範囲保障手段により調整された変化量を加算し、前記1ブロック分の変換係数を補正する係数補正手段と、
前記係数補正手段により補正された前記1ブロック分の変換係数の全部を逆変換して、画素値を生成する全体逆変換手段
を有する復号化装置。
A partial inverse transform unit that inversely transforms a part of transform coefficients for one block generated by orthogonal transform in units of blocks with respect to an image to generate a pixel value of a part of the block ;
The partial inverse transform means performs a filtering process for the pixel values of some generated by, and filtering means for calculating a change amount of the part of the pixel values by the filter processing,
A partial conversion unit that orthogonally transforms a change amount of a part of pixel values calculated by the filter processing unit and generates a change amount for a part of the conversion coefficients of the one block;
A range guarantee by adjusting the amount of change generated by the partial conversion means so that the value obtained by adding the adjusted amount of change to the transform coefficient for one block is within the quantization range at the time of encoding. Means,
Coefficient correction means for adding the amount of change adjusted by the range guarantee means and correcting the conversion coefficient for the one block ;
A decoding apparatus comprising: an overall inverse transform unit that inversely transforms all of the transform coefficients for one block corrected by the coefficient correction unit to generate a pixel value .
前記部分逆変換手段は、1ブロック分の変換係数のうち、低周波側の変換係数を抽出し、抽出された変換係数のみを逆変換する
請求項に記載の復号化装置。
The decoding apparatus according to claim 1 , wherein the partial inverse transforming unit extracts a transform coefficient on a low frequency side from transform coefficients for one block , and inversely transforms only the extracted transform coefficient.
前記部分逆変換手段は、ブロックの周縁部の画素値に相当する変換係数を逆変換し、
前記フィルタ処理手段は、逆変換されたブロック周縁部の画素値に対して、フィルタ処理をし、
前記部分変換手段は、ブロック周縁部の画素値の変化量に直交変換を行う
請求項に記載の復号化装置。
The partial reverse conversion means reversely converts a conversion coefficient corresponding to a pixel value at a peripheral portion of the block,
The filter processing means performs a filtering process on the pixel values of the block peripheral portion subjected to the inverse transformation ,
The decoding device according to claim 2 , wherein the partial conversion unit performs orthogonal transform on a change amount of a pixel value at a block peripheral portion .
既定の反復処理により画素値に対する補正量を決定する復号化装置であって、
画像に対しブロック単位で直交変換して生成された1ブロック分の変換係数の全部を逆変換して、画素値を生成する全体逆変換手段と、
前記反復処理の一部として、前記全体逆変換手段により生成された画素値の一部、又は、前記全体逆変換手段により生成された画素値に補正がなされた画素値の一部対してフィルタ処理を施し、該フィルタ処理による一部の画素値の変化量を算出するフィルタ処理手段と、
前記反復処理の一部として、前記フィルタ処理手段により算出された一部の画素値の変化量を直交変換して、前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を生成する部分変換手段と、
前記反復処理の一部として、前記部分変換手段により生成された変化量を調整して、前記1ブロック分の変換係数に対し調整後の該変化量を加算した値が符号化の際の量子化範囲に収まるようにする範囲保障手段と、
前記反復処理の一部として、前記範囲保障手段により調整された前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を逆変換して、該ブロックの一部の画素値の変化量を生成する部分逆変換手段と、
前記全体逆変換手段により生成される画素値、又は、前記全体逆変換手段により生成される画素値と前記部分逆変換手段により生成される画素値の変化量との合算値に基づいて、前記反復処理を終了するか否かを判定する終了判定手段と
を有する復号化装置。
A decoding device that determines a correction amount for a pixel value by a predetermined iterative process,
An overall inverse transforming means for inversely transforming all of the transform coefficients for one block generated by orthogonally transforming the image in units of blocks and generating pixel values;
As part of the iterative process, part of the pixel values generated by the inverse conversion means entire, or for the part of the pixel value correction has been performed to the generated pixel value by inverse conversion means across said filter Filter processing means for performing processing and calculating a change amount of a part of pixel values by the filter processing;
As a part of the iterative process, the amount of change of a part of pixel values calculated by the filter processing unit is orthogonally transformed to generate a part of the transform coefficient for one block of the transform coefficient. Partial conversion means for
As part of the iterative process, the amount of change generated by the partial conversion means is adjusted, and the value obtained by adding the adjusted amount of change to the conversion coefficient for one block is quantized at the time of encoding. Range guarantee means to make it fit within the range;
As a part of the iterative process, a change in the pixel value of a part of the block is performed by inversely transforming a change amount for a part of the transform coefficients of the one block adjusted by the range guarantee unit. Partial inversion means for generating a quantity ;
Based on the pixel value generated by the total inverse transform unit or the sum of the pixel value generated by the total inverse transform unit and the change amount of the pixel value generated by the partial inverse transform unit, the iteration Decoding apparatus comprising: end determination means for determining whether or not to end the process.
前記フィルタ処理手段は、フィルタ処理としてローパスフィルタを掛け
請求項に記載の復号化装置。
It said filtering means, decoding apparatus according to claim 4, Ru multiplied by the low-pass filter as the filter process.
前記部分変換手段は、画素値を変換係数に変換する変換行列の部分行列を用いて、前記フィルタ処理手段により算出された一部の画素値の変化量を直交変換し、
前記部分逆変換手段は、変換係数を画素値に変換する逆変換行列の部分行列を用いて、前記範囲保障手段により調整された前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を直交変換する
請求項4又は5に記載の復号化装置。
The partial transforming means orthogonally transforms a change amount of a part of pixel values calculated by the filter processing means using a partial matrix of a transformation matrix that transforms pixel values into transform coefficients,
The partial inverse transform means uses a partial matrix of an inverse transform matrix that transforms transform coefficients into pixel values, and changes to some transform coefficients of the transform coefficients for one block adjusted by the range guarantee means The decoding device according to claim 4 or 5 , wherein the quantity is orthogonally transformed.
画像に対しブロック単位で直交変換して生成された1ブロック分の変換係数のうち一部を逆変換して、該ブロックの一部の画素値を生成し、
生成された一部の画素値対してフィルタ処理を施し、該フィルタ処理による一部の画素値の変化量を算出し、
算出された一部の画素値の変化量を直交変換して、前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を生成し、
生成された変化量を調整して、前記1ブロック分の変換係数に対し調整後の該変化量を加算した値が符号化の際の量子化範囲に収まるようにし、
調整された変化量を加算し、前記1ブロック分の変換係数を補正し、
補正された前記1ブロック分の変換係数の全部を逆変換して、画素値を生成する
復号化方法。
A part of transform coefficients for one block generated by performing orthogonal transform on an image block by block is inversely transformed to generate a pixel value of a part of the block ,
Subjected to filter processing for the generated part of the pixel value, to calculate the amount of change in a part of the pixel values by the filter processing,
The amount of change in the calculated part of the pixel values is orthogonally transformed to generate the amount of change for a part of the transform coefficients for the one block,
The generated change amount is adjusted so that the value obtained by adding the adjusted change amount to the transform coefficient for one block falls within the quantization range at the time of encoding,
Add the adjusted amount of change , correct the conversion coefficient for one block ,
A decoding method for generating a pixel value by inversely transforming all of the corrected transform coefficients for one block .
画像に対しブロック単位で直交変換して生成された1ブロック分の変換係数のうち一部を逆変換して、該ブロックの一部の画素値を生成するステップと、
生成された一部の画素値対してフィルタ処理を施し、該フィルタ処理による一部の画素値の変化量を算出するステップと、
算出された一部の画素値の変化量を直交変換して、前記1ブロック分の変換係数のうちの一部の変換係数に対する変化量を生成するステップと、
生成された変化量を調整して、前記1ブロック分の変換係数に対し調整後の該変化量を加算した値が符号化の際の量子化範囲に収まるようにするステップと、
調整された変化量を加算し、前記1ブロック分の変換係数を補正するステップと、
補正された前記1ブロック分の変換係数の全部を逆変換して、画素値を生成するステップと
をコンピュータに実行させるプログラム。

A step of inversely transforming a part of transform coefficients for one block generated by orthogonal transform in units of blocks for an image to generate a pixel value of a part of the block ;
Subjected to filter processing for the generated part of the pixel values, and calculating a change amount of the part of the pixel values by the filter processing,
A step of orthogonally transforming the calculated change amount of a part of pixel values to generate a change amount for a part of the transform coefficients of the one block;
Adjusting the generated change amount so that a value obtained by adding the adjusted change amount to the transform coefficient for one block is within a quantization range at the time of encoding;
Adding the adjusted amount of change and correcting the conversion coefficient for one block ;
A program that causes a computer to execute a step of inversely converting all of the corrected conversion coefficients for one block to generate pixel values .

JP2006126141A 2006-04-28 2006-04-28 Decoding device, decoding method and program Expired - Fee Related JP4788465B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006126141A JP4788465B2 (en) 2006-04-28 2006-04-28 Decoding device, decoding method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006126141A JP4788465B2 (en) 2006-04-28 2006-04-28 Decoding device, decoding method and program

Publications (2)

Publication Number Publication Date
JP2007300350A JP2007300350A (en) 2007-11-15
JP4788465B2 true JP4788465B2 (en) 2011-10-05

Family

ID=38769482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006126141A Expired - Fee Related JP4788465B2 (en) 2006-04-28 2006-04-28 Decoding device, decoding method and program

Country Status (1)

Country Link
JP (1) JP4788465B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6700877B2 (en) * 2016-03-15 2020-05-27 日本放送協会 Image decoding device, image decoding program and chip

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08251418A (en) * 1995-03-10 1996-09-27 Kawasaki Steel Corp Block distortion reduction device and reduction method
JP4001962B2 (en) * 1996-12-26 2007-10-31 ソニー株式会社 Block distortion reducing apparatus and method
JP2002209215A (en) * 2001-01-09 2002-07-26 Sony Corp Code quantity control device and method, and image information conversion device and method

Also Published As

Publication number Publication date
JP2007300350A (en) 2007-11-15

Similar Documents

Publication Publication Date Title
Han et al. Jointly optimized spatial prediction and block transform for video and image coding
CN101874409B (en) Processing an input image to reduce compression-related artifacts
JP4775756B2 (en) Decoding device and program thereof
US7715636B2 (en) Decoding apparatus, dequantizing method, distribution determining method, and program thereof
US8422767B2 (en) Method and apparatus for transforming signal data
Kumar et al. A reversible high capacity data hiding scheme using pixel value adjusting feature
JP2008547324A (en) Nonlinear prediction filter for hybrid video compression
JP5594841B2 (en) Image encoding apparatus and image decoding apparatus
US7188132B2 (en) Hadamard transformation method and apparatus
JP2008541282A (en) Continuous extension of discrete transforms for data processing.
EP2145476B1 (en) Image compression and decompression using the pixon method
JP2006340345A (en) Method of enhancing images extracted from video
Hassan et al. Color image compression based on DCT, differential pulse coding modulation, and adaptive shift coding
Ince et al. Low dynamic range discrete cosine transform (LDR-DCT) for high-performance JPEG image compression
Lakhani et al. Derivation of prediction equations for blocking effect reduction
JP3796432B2 (en) Filter processing apparatus and filter processing method
Dar et al. Restoration by compression
JP4788465B2 (en) Decoding device, decoding method and program
JP2006270737A (en) Decoder, distribution estimating method, decoding method and their programs
JP6564315B2 (en) Encoding device, decoding device, and program
JP4784386B2 (en) Decoding device, inverse quantization method, and program
JP2003283840A (en) Filtering processing apparatus and filtering processing method
Amat et al. On a nonlinear cell-average multiresolution scheme for image compression
CN109255770B (en) Image transform domain down-sampling method
JP3709106B2 (en) Image compression and decompression device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110606

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110621

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110704

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4788465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees