JP5158019B2 - Decoding device - Google Patents

Decoding device Download PDF

Info

Publication number
JP5158019B2
JP5158019B2 JP2009127012A JP2009127012A JP5158019B2 JP 5158019 B2 JP5158019 B2 JP 5158019B2 JP 2009127012 A JP2009127012 A JP 2009127012A JP 2009127012 A JP2009127012 A JP 2009127012A JP 5158019 B2 JP5158019 B2 JP 5158019B2
Authority
JP
Japan
Prior art keywords
pixel
pixel value
value
pixels
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009127012A
Other languages
Japanese (ja)
Other versions
JP2010278567A (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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2009127012A priority Critical patent/JP5158019B2/en
Publication of JP2010278567A publication Critical patent/JP2010278567A/en
Application granted granted Critical
Publication of JP5158019B2 publication Critical patent/JP5158019B2/en
Active 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)

Description

本発明は、画像データに予測符号化を施して得られる予測符号化データから元の画像データを復元する技術に関する。   The present invention relates to a technique for restoring original image data from predictive encoded data obtained by performing predictive encoding on image data.

画像データの圧縮符号化技術は、非可逆圧縮符号化技術と可逆圧縮符号化技術とに大別される。非可逆圧縮符号化技術は、直交変換を利用したものが多く、圧縮符号化されたデータから元の画像データを完全には復元できないが、高い圧縮率を得られるという利点がある。一方、可逆圧縮符号化技術の一例としては、JPEG(Joint Photographic Experts Group)のJPEG−LS(Lossless-JPEG)のように予測符号化と可変長符号化とを併用したものが挙げられる。この種の可逆圧縮符号化技術は、高い圧縮率を得られないものの、圧縮符号化されたデータ(以下、圧縮符号化データ)から元の画像データを完全に復元することができるといった利点がある。このため、可逆圧縮符号化技術は、医療用画像の保存や交換などの用途に用いられている。なお、可逆圧縮符号化技術に関する文献としては特許文献1がある。   Image data compression coding techniques are roughly classified into lossy compression coding techniques and lossless compression coding techniques. Many irreversible compression encoding techniques use orthogonal transformation, and the original image data cannot be completely restored from the compression encoded data, but has an advantage that a high compression rate can be obtained. On the other hand, as an example of the lossless compression coding technique, there is a technique in which predictive coding and variable length coding are used in combination, such as JPEG-LS (Lossless-JPEG) of JPEG (Joint Photographic Experts Group). Although this type of lossless compression encoding technique cannot obtain a high compression rate, there is an advantage that the original image data can be completely restored from the compression encoded data (hereinafter referred to as compression encoded data). . For this reason, lossless compression coding technology is used for applications such as storage and exchange of medical images. Note that there is Patent Document 1 as a document related to the lossless compression coding technique.

特開平9−37271号公報JP-A-9-37271

さて、スプライト画像の圧縮符号化データをメモリから読み出して復号し、その復号結果であるスプライト画像をモニタに表示させる画像処理装置が各種提案されている。この種の画像処理装置において、圧縮符号化前のスプライト画像を完全に復元することが求められる場合、スプライト画像の画像データを可逆圧縮符号化技術を利用して圧縮符号化データに変換してメモリに格納し、メモリから読み出される圧縮符号化データのデコード(復号化)を行う必要がある。一般に圧縮符号化データのデコードを行う画像処理装置のデコード性能は、1クロックあたりにデコード可能な画素数によって評価されるが、可逆圧縮符号化技術により得られた圧縮符号化データのデコードにおいては、充分なデコード性能を得られないことが多い。その理由は、以下の通りである。   Various image processing apparatuses have been proposed in which compression-coded data of a sprite image is read from a memory and decoded, and a sprite image as a result of the decoding is displayed on a monitor. In this type of image processing apparatus, when it is required to completely restore a sprite image before compression encoding, the image data of the sprite image is converted into compression encoded data by using a lossless compression encoding technique to store the memory. It is necessary to decode (decode) the compressed encoded data stored in the memory and read from the memory. In general, the decoding performance of an image processing apparatus that decodes compression-encoded data is evaluated by the number of pixels that can be decoded per clock. In decoding of compression-encoded data obtained by lossless compression encoding technology, In many cases, sufficient decoding performance cannot be obtained. The reason is as follows.

予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにおいては、圧縮符号化対象の画素(以下、処理対象画素)を画像における配列順に順次選択し、その処理対象画素の周辺画素(典型的には、処理対象画素の左隣、真上および左上に位置する各画素)の画素値から処理対象画素の画素値を予測し(以下、予測値算出処理)、処理対象画素の実際の画素値とその予測値との差分(以下、予測誤差)を可変長符号化することで圧縮符号化が行われる。例えば、図8(A)に示す画素Mdが処理対象画素である場合、画素Ma、画素Mbおよび画素Mcの各々の画素値から算出される予測値と画素Mdの実際の画素値との差分である予測誤差が可変長符号化される。一方、圧縮符号化データのデコードは、可変長符号化処理の逆演算である可変長復号化処理を施して予測符号化データを復元した後にその予測符号化データを用いて、圧縮符号化と同様に画素の配列順(図8(A)では、画素Mc→画素Mb→画素Ma→画素Md、といった順)に逆予測符号化処理を行うことで実現される。例えば、図8(A)の画素Mdについての逆予測符号化処理では、デコード済みの周辺画素の画素値から画素Mdの画素値を予測する予測値算出処理を行い、その予測値に上記予測誤差を加算(以下、加算処理)することで画素値Xdが得られる。ここで注目すべき点は、図8(A)に示す画素Mdのデコードを行う際には、その左隣の画素Maの画素値が得られている必要があるため、上記予測値算出処理と加算処理は1画素単位でしか行えない、という点である。このため、クロックをトリガとして複数の画素を一度にデコードしようとすると、上記予測値算出処理と加算処理とをデコードしようとする画素数分だけ1クロックの間に繰り返し実行する必要がある。例えば、図8(B)において、画素Mx1〜画素Mx3の予測誤差Diff1〜Diff3を用いて画素Mx1〜画素Mx3を1クロックで一度にデコードしようとすると、図8(C)に示すように1画素分の予測値算出処理および加算処理からなる処理P−n(n=1〜3)を直列に順次実行することが必要となる。このため、処理P−nの実行に要する時間(予測値算出処理や加算処理の演算時間と入出力待ち時間の総和)によっては、1クロックで一度にデコードすることができる画素数が自ずと制限されることになる。これが、可逆圧縮符号化技術により得られた圧縮符号化データをデコードする装置において充分なデコード性能が得られない理由である。   In a compression encoding algorithm using both predictive encoding and variable length encoding, pixels to be compression encoded (hereinafter referred to as processing target pixels) are sequentially selected in the order of arrangement in the image, and peripheral pixels (typically Specifically, the pixel value of the processing target pixel is predicted from the pixel value of each pixel located on the left side of the processing target pixel, right above and at the top left (hereinafter, predicted value calculation processing), and the actual pixel of the processing target pixel Compression encoding is performed by variable-length encoding the difference between the value and the predicted value (hereinafter, prediction error). For example, when the pixel Md shown in FIG. 8A is a processing target pixel, the difference between the predicted value calculated from the pixel values of the pixel Ma, the pixel Mb, and the pixel Mc and the actual pixel value of the pixel Md. Certain prediction errors are variable length coded. On the other hand, the decoding of the compressed encoded data is similar to the compression encoding using the predictive encoded data after restoring the predictive encoded data by performing the variable length decoding process which is the inverse operation of the variable length encoding process. In addition, it is realized by performing the reverse predictive encoding process in the order of pixel arrangement (in the order of pixel Mc → pixel Mb → pixel Ma → pixel Md in FIG. 8A). For example, in the inverse prediction encoding process for the pixel Md in FIG. 8A, a prediction value calculation process for predicting the pixel value of the pixel Md from the pixel values of the decoded peripheral pixels is performed, and the prediction error is added to the prediction value. Is added (hereinafter referred to as addition processing) to obtain a pixel value Xd. The point to be noted here is that when the pixel Md shown in FIG. 8A is decoded, it is necessary to obtain the pixel value of the pixel Ma on the left side of the pixel Md. The addition process can be performed only in units of one pixel. For this reason, if a plurality of pixels are to be decoded at a time using a clock as a trigger, it is necessary to repeatedly execute the predicted value calculation process and the addition process within one clock by the number of pixels to be decoded. For example, in FIG. 8B, when trying to decode the pixels Mx1 to Mx3 at a time with one clock using the prediction errors Diff1 to Diff3 of the pixels Mx1 to Mx3, one pixel as shown in FIG. 8C. It is necessary to sequentially execute the process Pn (n = 1 to 3) including the predicted value calculation process and the addition process for the minute. For this reason, the number of pixels that can be decoded at one clock is naturally limited depending on the time required to execute the process P-n (the total of the calculation time of the predicted value calculation process and the addition process and the input / output waiting time). Will be. This is the reason why sufficient decoding performance cannot be obtained in an apparatus that decodes compression-encoded data obtained by the lossless compression encoding technique.

本発明は、上記課題に鑑みて為されたものであり、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより圧縮符号化された画像データをデコードする際のデコード性能を向上させる技術を提供することを目的とする。   The present invention has been made in view of the above problems, and improves decoding performance when decoding image data compression-encoded by a compression encoding algorithm using both predictive encoding and variable-length encoding. The purpose is to provide technology.

上記課題を解決するために本発明は、画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データを取得し、この予測符号化データから前記画像を表す画像データを復元する復号装置において、前記予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第1の演算をそれ以外の第2の演算に対して先行して実行し、当該第2の演算の実行まで前記第1の演算の演算結果を保持する逆予測符号化部を有することを特徴とする復号装置、を提供する。   In order to solve the above-mentioned problem, the present invention is calculated from the magnitude relationship of the pixel values of a plurality of surrounding pixels located in the vicinity of the target pixel when each of the plurality of pixels constituting the image is the target pixel. Predictive encoded data obtained by arranging prediction errors representing the difference between the predicted value of the pixel value of the target pixel and the actual pixel value of the target pixel in the pixel arrangement order is obtained, and the image is obtained from the predictive encoded data. In the decoding apparatus that restores image data representing a pixel, each pixel in which a prediction error is represented by the predictive encoded data is set as a processing target pixel, and the predicted value of the pixel value is determined from the magnitude relationship of the pixel values of the plurality of surrounding pixels. An inverse predictive encoding unit that executes a predictive value calculation process to be calculated and an addition process for restoring the pixel value by adding a prediction error indicated by the predictive encoded data for the pixel to be processed to the predictive value A first calculation that refers only to pixel values of the plurality of peripheral pixels that are not aligned with the pixel to be processed in the horizontal scanning line direction is executed prior to the other second calculations. A decoding device characterized by having an inverse predictive encoding unit that holds the calculation result of the first calculation until the execution of the second calculation.

また、上記課題を解決するために本発明は、画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データに前記予測誤差を可変長符号化する可変長符号化処理を施して得られる圧縮符号化データを取得し、この圧縮符号化データから前記画像を表す画像データを復元する復号装置において、前記可変長符号化処理の逆演算である可変長復号化処理を前記圧縮符号化データに施し、前記予測符号化データを復元する可変長復号化部と、前記可変長復号化部により得られた予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記可変長復号化部により得られる予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第1の演算をそれ以外の第2の演算に対して先行して実行し、当該第2の演算の実行まで前記1の演算の演算結果を保持する逆予測符号化部とを有することを特徴とする復号装置、を提供する。   In order to solve the above problem, the present invention is calculated from the magnitude relationship of the pixel values of a plurality of surrounding pixels located in the vicinity of the target pixel when each of the plurality of pixels constituting the image is the target pixel. The prediction error is variable-length encoded into prediction encoded data obtained by arranging prediction errors representing the difference between the predicted value of the pixel value of the target pixel and the actual pixel value of the target pixel in the pixel arrangement order. In a decoding device that obtains compressed encoded data obtained by performing variable length encoding processing and restores image data representing the image from the compressed encoded data, variable length that is an inverse operation of the variable length encoding processing A variable length decoding unit that performs decoding processing on the compressed encoded data and restores the predicted encoded data, and a prediction error represented by the predicted encoded data obtained by the variable length decoding unit A prediction value calculation process for calculating a prediction value of the pixel value from the magnitude relationship of the pixel values of the plurality of surrounding pixels, and a prediction obtained by the variable length decoding unit for the pixel to be processed A reverse prediction encoding unit that performs an addition process of adding a prediction error indicated by encoded data to the prediction value to restore a pixel value, and a processing target pixel and a horizontal scanning line among the plurality of peripheral pixels The first calculation that refers only to the pixel values that are not arranged in the direction is executed prior to the other second calculation, and the calculation result of the first calculation is held until the second calculation is executed. There is provided a decoding device characterized by having an inverse predictive encoding unit.

このような復号装置によれば、複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第1の演算はそれ以外の第2の演算に対して先行して実行(例えば、第2の演算に対して1クロック先行させて第1の演算を実行するなど)され、1クロックの間に実行可能な予測値算出処理および加算処理の回数が増加する。このため、1クロックで一度にデコード可能な画素数が従来よりも増加し、デコード性能を向上させるこができる。   According to such a decoding device, the first calculation that refers only to the pixel value of a plurality of peripheral pixels that are not aligned with the pixel to be processed in the horizontal scanning line direction is different from the second calculation other than that. It is executed in advance (for example, the first operation is executed one clock ahead of the second operation), and the number of prediction value calculation processes and addition processes that can be executed during one clock increases. . For this reason, the number of pixels that can be decoded at one clock at a time is increased as compared with the prior art, and the decoding performance can be improved.

本発明の一実施形態である画像処理LSI300の構成例を示す図である。It is a figure which shows the structural example of the image processing LSI300 which is one Embodiment of this invention. 同画像処理LSI300のパターンデータデコーダ305の構成例を示す図である。3 is a diagram illustrating a configuration example of a pattern data decoder 305 of the image processing LSI 300. FIG. 同パターンデータデコーダ305によるデコード処理を説明するための図である。It is a figure for demonstrating the decoding process by the pattern data decoder. 第1逆予測符号化部542の構成例を示す図である。It is a figure which shows the structural example of the 1st reverse prediction encoding part 542. 第2逆予測符号化部544の構成例を示す図である。It is a figure which shows the structural example of the 2nd reverse prediction encoding part 544. 連続する3個の画素について予測誤差がゼロである場合に、それら3つの画素の右端に位置する画素の逆予測符号化を説明するための図である。It is a figure for demonstrating the reverse prediction encoding of the pixel located in the right end of these three pixels, when a prediction error is zero about three continuous pixels. 同3つの画素についてのデコード結果を示す図である。It is a figure which shows the decoding result about the three pixels. 予測符号化と可変長符号化とを併用した圧縮符号化、および同圧縮符号化を施された画像データのデコード手順の概略を示す図である。It is a figure which shows the outline of the decoding procedure of the compression coding which used prediction coding and variable length coding together, and the image data to which the compression coding was performed.

以下、図面を参照しつつ本発明の実施形態について説明する。
図1は、本発明の一実施形態である画像処理LSI300の構成例を示すブロック図である。画像処理LSI300は、例えばゲーム機などに組み込まれ、そのゲーム機の制御中枢として機能するCPU(Central Processing Unit)402による制御下でゲームキャラクタ等を表すスプライト画像をモニタ403に表示させるものである。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration example of an image processing LSI 300 according to an embodiment of the present invention. The image processing LSI 300 is incorporated in a game machine, for example, and displays a sprite image representing a game character or the like on the monitor 403 under the control of a CPU (Central Processing Unit) 402 that functions as a control center of the game machine.

スプライトパターンメモリ401には、各々ゲームキャラクタなどを表す複数種のスプライト画像についての各圧縮符号化データが格納されている。これら圧縮符号化データは、スプライト画像を構成する各画素の画素値を表す画像データに予測符号化と可変長符号化とを併用した可逆圧縮符号化を施して得られる。スプライト画像の画像データの圧縮符号化に可逆圧縮符号化を採用したのは、ゲームキャラクタ等はグラフィックデザイナによりデザインされることが多く、そのデザイン性が損なわれないようにするため、圧縮符号化前のスプライト画像を完全に復元する必要があるからである。これら圧縮符号化データは、以下の<1>〜<3>の手順で生成される。   The sprite pattern memory 401 stores compression-coded data for a plurality of types of sprite images each representing a game character or the like. These compression-encoded data are obtained by performing lossless compression encoding using predictive encoding and variable-length encoding on image data representing pixel values of each pixel constituting a sprite image. The reason why lossless compression coding is used for compression coding of image data of sprite images is that game characters and the like are often designed by graphic designers, so that their design is not impaired, before compression coding. This is because it is necessary to completely restore the sprite image. These compressed and encoded data are generated by the following procedures <1> to <3>.

<1>まず、スプライト画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素(本実施形態では、前掲図8(A)に示すように、注目画素の左隣、真上および左上に位置する各画素)の画素値の大小関係から当該注目画素の画素値についての予測値を算出する。例えば、図8(A)に示す画素Mdが注目画素であり、画素Ma、画素Mbおよび画素Mcの各々の画素値を画素値Xa、画素値Xbおよび画素値Xcである場合、予測値Xを以下の要領で算出する。
(A)画素値Xa、画素値Xbおよび画素値Xcのうち、画素値Xcが最大である場合
画素値Xa>画素値Xb ならば 予測値X=画素値Xb・・・(ケース1)
画素値Xb>画素値Xa ならば 予測値X=画素値Xa・・・(ケース2)
(B)画素値Xa、画素値Xbおよび画素値Xcのうち、画素値Xcが最小である場合
画素値Xa<画素値Xb ならば 予測値X=画素値Xb・・・(ケース3)
画素値Xb<画素値Xa ならば 予測値X=画素値Xa・・・(ケース4)
(C)その他の場合(画素値Xcが最大ではなく、かつ、最小でもない場合)
予測値X=画素値Xa+画素値Xb−画素値Xc・・・(ケース5)
<1> First, when each of a plurality of pixels constituting a sprite image is a target pixel, a plurality of peripheral pixels located in the vicinity of the target pixel (in this embodiment, as shown in FIG. 8A described above). The predicted value for the pixel value of the pixel of interest is calculated from the magnitude relationship of the pixel values of the pixels located on the left of the pixel of interest, directly above and on the upper left. For example, when the pixel Md illustrated in FIG. 8A is the target pixel, and the pixel values of the pixel Ma, the pixel Mb, and the pixel Mc are the pixel value Xa, the pixel value Xb, and the pixel value Xc, the predicted value X is Calculate as follows.
(A) When the pixel value Xc is the maximum among the pixel value Xa, the pixel value Xb, and the pixel value Xc, if the pixel value Xa> the pixel value Xb, the predicted value X = the pixel value Xb (case 1)
If pixel value Xb> pixel value Xa, predicted value X = pixel value Xa (Case 2)
(B) When the pixel value Xc is the smallest among the pixel value Xa, the pixel value Xb, and the pixel value Xc, if the pixel value Xa <the pixel value Xb, then the predicted value X = the pixel value Xb (Case 3)
If pixel value Xb <pixel value Xa, predicted value X = pixel value Xa (case 4)
(C) In other cases (when the pixel value Xc is not maximum and not minimum)
Predicted value X = pixel value Xa + pixel value Xb−pixel value Xc (case 5)

<2>次に、スプライト画像を構成する各画素について予測値Xと実際の画素値との差分である予測誤差を算出し、この予測誤差を画素の配列順に配列して「予測符号化データ」とする。例えば、画素Mdの実際の画素値が画素値Xdであれば、画素値Xdと予測値Xとの差分(画素値Xd−予測値X)が予測誤差となる。   <2> Next, a prediction error that is a difference between the prediction value X and the actual pixel value is calculated for each pixel constituting the sprite image, and the prediction errors are arranged in the pixel arrangement order to obtain “prediction encoded data”. And For example, if the actual pixel value of the pixel Md is the pixel value Xd, the difference between the pixel value Xd and the predicted value X (pixel value Xd−predicted value X) is the prediction error.

<3>次に、この予測符号化データの表す各予測誤差に対して可変長符号化処理を施すことで上記圧縮符号化データが得られる。この可変長符号化処理では、ゼロランレングスによる符号化(連続するN(2以上の整数)個の予測誤差がゼロである場合に、ZERO=Nと符号化すること)を含んだエントロピ符号化アルゴリズムを採用すれば良い。圧縮率をより高めるためである。なお、エントロピ符号化アルゴリズムの一例としては、ハフマン符号化アルゴリズムが挙げられる。   <3> Next, the compression-encoded data is obtained by performing variable-length encoding processing on each prediction error represented by the predicted encoded data. In this variable-length encoding process, entropy encoding including encoding by zero run length (encoding as ZERO = N when N prediction errors of consecutive N (an integer of 2 or more) are zero) is performed. An algorithm may be adopted. This is to further increase the compression rate. An example of the entropy encoding algorithm is a Huffman encoding algorithm.

画像処理LSI300において、CPUI/F(インタフェース)301は、CPU402から各種の制御情報を受け取る装置である。また、記憶部302は、CPUI/F301を介してCPU402から与えられる制御情報を記憶する装置であり、例えばRAM(Random Access Memory)により構成されている。CPU402から与えられる制御情報には、復号化および再生の対象であるスプライト画像の圧縮符号化データについてのスプライトパターンメモリ401内の格納先アドレス、モニタ403の表示画面におけるスプライト画像の表示位置、スプライト画像の拡大・縮小に関する指示等が含まれる。   In the image processing LSI 300, a CPU I / F (interface) 301 is a device that receives various types of control information from the CPU 402. The storage unit 302 is a device that stores control information provided from the CPU 402 via the CPU I / F 301, and is configured by, for example, a RAM (Random Access Memory). The control information given from the CPU 402 includes the storage destination address in the sprite pattern memory 401 for the compression encoded data of the sprite image to be decoded and reproduced, the display position of the sprite image on the display screen of the monitor 403, and the sprite image. Instructions regarding enlargement / reduction of the image are included.

制御部303は、記憶部302に記憶された各種の制御情報に従って画像処理LSI300内の各部の制御を行う制御中枢である。パターンメモリI/F304は、制御部303による制御の下、スプライトパターンメモリ401からスプライト画像の圧縮符号化データを読み出す装置である。パターンデータデコーダ305は、制御部303による制御の下、スプライトパターンメモリ401からパターンメモリI/F304を介してスプライト画像の圧縮符号化データを受け取って復号化を行い、圧縮符号化前の画像データを出力する装置である。このパターンデータデコーダ305と、スプライトレンダリングプロセッサ306と、ラインバッファ307Aおよび307Bは、制御部303による制御の下、1ライン単位(1水平走査線単位)で、モニタ403に表示させるスプライト画像の画像データを生成し、その画像データをモニタ403の表示画面に反映させる処理を行う。つまり、画像処理LSI300は、1ライン単位で画像の再生を行うラインバッファ方式の画像処理装置である。   The control unit 303 is a control center that controls each unit in the image processing LSI 300 in accordance with various control information stored in the storage unit 302. The pattern memory I / F 304 is a device that reads out the compressed encoded data of the sprite image from the sprite pattern memory 401 under the control of the control unit 303. The pattern data decoder 305 receives and decodes the compressed encoded data of the sprite image from the sprite pattern memory 401 via the pattern memory I / F 304 under the control of the control unit 303, and decodes the image data before the compression encoding. It is a device that outputs. The pattern data decoder 305, the sprite rendering processor 306, and the line buffers 307A and 307B are sprite image data to be displayed on the monitor 403 in units of one line (in units of one horizontal scanning line) under the control of the control unit 303. Is generated, and the image data is reflected on the display screen of the monitor 403. That is, the image processing LSI 300 is a line buffer type image processing apparatus that reproduces an image in units of one line.

より詳細に説明すると、ラインバッファ307Aおよび307Bは、モニタ403の1ライン分の画像データを記憶する容量を各々有している。制御部303は、これらのラインバッファ307Aおよび307Bを交互に使用し、例えばラインバッファ307A内の1ライン分の画像データがモニタ403に表示される期間には、次の1ライン分の画像データをラインバッファ307Bに書き込むレンダリングをスプライトレンダリングプロセッサ306に実行させ、ラインバッファ307B内の1ライン分の画像データがモニタ403に表示される期間には、次の1ライン分の画像データをラインバッファ307Aに書き込むレンダリングをスプライトレンダリングプロセッサ306に実行させる。また、制御部303は、スプライトレンダリングプロセッサ306が行うレンダリングに間に合うように、レンダリングの対象となる1ライン分のスプライト画像の画像データをパターンデータデコーダ305に出力させるための制御を行う。すなわち、1ライン分のスプライト画像の画像データを得るのに必要な圧縮符号化データをスプライトパターンメモリ401から読み出してパターンデータデコーダ305に供給し、その復号化を行わせるための制御を行うのである。ここで、モニタ403の1ラインに複数種類のスプライト画像を表示させる場合もある。そのような場合、制御部303は、表示対象である全てのスプライト画像の1ライン分の画像データを得るために必要な圧縮符号化データをスプライトパターンメモリ401から読み出してパターンデータデコーダ305に供給し、その復号化を行わせるための制御を行う。パターンデータデコーダ305は、1ライン分の画像データを得るために必要な圧縮符号化データのデコードを、クロックジェネレータ(図1では図示略)から与えられるシステムクロックをトリガとして行う。ただし、本実施形態では、1クロックの間に従来よりも多数の画素をデコードすることができるようにパターンデータデコーダ305の構成を工夫した点に特徴があり、このパターンデータデコーダ305の構成については後に詳細に説明する。   More specifically, the line buffers 307A and 307B each have a capacity for storing image data for one line of the monitor 403. The control unit 303 uses these line buffers 307A and 307B alternately. For example, during the period when the image data for one line in the line buffer 307A is displayed on the monitor 403, the image data for the next line is displayed. In the period in which the sprite rendering processor 306 executes rendering to be written to the line buffer 307B and the image data for one line in the line buffer 307B is displayed on the monitor 403, the image data for the next line is stored in the line buffer 307A. Causes the sprite rendering processor 306 to execute the writing rendering. Further, the control unit 303 performs control for causing the pattern data decoder 305 to output image data of one line of sprite images to be rendered in time for rendering performed by the sprite rendering processor 306. That is, the compression encoded data necessary for obtaining the image data of one line of sprite image is read from the sprite pattern memory 401 and supplied to the pattern data decoder 305, and control is performed to perform the decoding. . Here, a plurality of types of sprite images may be displayed on one line of the monitor 403. In such a case, the control unit 303 reads out compressed encoded data necessary for obtaining image data for one line of all sprite images to be displayed from the sprite pattern memory 401 and supplies the compressed data to the pattern data decoder 305. Then, control for performing the decoding is performed. The pattern data decoder 305 performs the decoding of the compression encoded data necessary for obtaining the image data for one line, using a system clock given from a clock generator (not shown in FIG. 1) as a trigger. However, the present embodiment is characterized in that the configuration of the pattern data decoder 305 is devised so that a larger number of pixels can be decoded than in the past in one clock. This will be described in detail later.

表示コントローラ308、画像データコントローラ309およびモニタI/F310は、ラインバッファ307Aおよび307Bから交互に1ライン分の画像データを読み出してモニタ403に供給し、モニタ403に画像を表示させる手段である。さらに詳述すると、表示コントローラ308は、垂直同期信号および水平同期信号をモニタI/F310を介してモニタ403に供給するとともに、水平同期信号に同期して、画像データコントローラ309に画像データの読み出し指令を送る。画像データコントローラ309は、画像データの読み出し指令を受け取る毎に、ラインバッファ307Aおよび307Bを交互に選択し、選択したラインバッファから1ライン分の画像データを読み出し、モニタI/F310を介してモニタ403に送る。
以上が画像処理LSI300の構成である。
The display controller 308, the image data controller 309, and the monitor I / F 310 are means for alternately reading out image data for one line from the line buffers 307A and 307B, supplying the image data to the monitor 403, and causing the monitor 403 to display an image. More specifically, the display controller 308 supplies a vertical synchronization signal and a horizontal synchronization signal to the monitor 403 via the monitor I / F 310, and in addition, the image data controller 309 is instructed to read out image data in synchronization with the horizontal synchronization signal. Send. The image data controller 309 alternately selects the line buffers 307A and 307B each time an image data read command is received, reads image data for one line from the selected line buffer, and monitors the monitor 403 via the monitor I / F 310. Send to.
The above is the configuration of the image processing LSI 300.

図2は、パターンデータデコーダ305の構成例を示すブロック図である。
図2に示すように、パターンデータデコーダ305は、可変長復号化部3052と逆予測符号化部3054とを含んでいる。可変長復号化部3052は、パターンメモリI/F304を介して与えられる圧縮符号化データに、前述した可変長符号化処理の逆演算である可変長復号化処理を施して予測符号化データを復元し、逆予測符号化部3054に与える。
FIG. 2 is a block diagram illustrating a configuration example of the pattern data decoder 305.
As shown in FIG. 2, the pattern data decoder 305 includes a variable length decoding unit 3052 and an inverse prediction encoding unit 3054. The variable length decoding unit 3052 performs the variable length decoding process, which is the inverse operation of the variable length encoding process described above, on the compressed encoded data given via the pattern memory I / F 304 to restore the prediction encoded data. To the inverse predictive coding unit 3054.

逆予測符号化部3054は、可変長復号化部3052から与えられる予測符号化データに対して、前述した予測符号化処理の逆演算である逆予測符号化処理を施して画像データを復元し、その画像データを出力する。図2に示すように、逆予測符号化部3054は、第1逆予測符号化部542と、第2逆予測符号化部544とを含んでいる。第1逆予測符号化部542は、可変長復号化部3052により得られた予測符号化データの示す予測誤差がゼロではない画素、または予測誤差がゼロであるものの両隣の画素の予測誤差がゼロではない画素の逆予測符号化(予測値算出処理および加算処理)を一画素単位で行う。一方、第2逆予測符号化部544は、各々の予測誤差がゼロである連続する2つの画素(水平方向に並んだ画素)の逆予測符号化を一括して行う。   The inverse predictive encoding unit 3054 performs reverse predictive encoding processing, which is an inverse operation of the predictive encoding processing described above, on the predictive encoded data provided from the variable length decoding unit 3052, and restores image data. The image data is output. As shown in FIG. 2, the inverse prediction encoding unit 3054 includes a first inverse prediction encoding unit 542 and a second inverse prediction encoding unit 544. The first inverse predictive encoding unit 542 has a prediction error that is not zero in the prediction encoded data obtained by the variable length decoding unit 3052, or a pixel that has zero prediction error but adjacent pixels has zero prediction error. Inverse prediction encoding (prediction value calculation processing and addition processing) of non-pixels is performed on a pixel-by-pixel basis. On the other hand, the second inverse prediction encoding unit 544 collectively performs inverse prediction encoding of two consecutive pixels (pixels arranged in the horizontal direction) in which each prediction error is zero.

例えば、図3(A)に示す画素Mx1〜Mx3が逆予測符号化の処理対象である場合、予測符号化データの示す予測誤差Diff1〜Diff3の何れもがゼロではない場合には、図3(B)に示すように、従来と同様に1クロックの間に第1逆予測符号化部542を3回駆動させて画素Mx1〜Mx3の逆予測符号化を画素の配列順に一画素ずつ行う。しかし、本実施形態の第1逆予測符号化部542は、本発明の特徴を顕著に示す方法で各画素の逆予測符号化を行うように構成されているため、従来に比較してより多くの画素を1クロックの間にデコードすることができるのである。   For example, when the pixels Mx1 to Mx3 illustrated in FIG. 3A are to be subjected to inverse predictive coding processing, when any of the prediction errors Diff1 to Diff3 indicated by the predictive encoded data is not zero, FIG. As shown in B), the first inverse predictive encoding unit 542 is driven three times during one clock as in the conventional case, and the inverse predictive encoding of the pixels Mx1 to Mx3 is performed pixel by pixel in the pixel arrangement order. However, the first inverse predictive encoding unit 542 of the present embodiment is configured to perform inverse predictive encoding of each pixel by a method that clearly shows the features of the present invention, and thus more than conventional ones. These pixels can be decoded in one clock.

これに対して、Diff1およびDiff2がゼロであり、Diff3がゼロではない場合には、図3(C)に示すように、逆予測符号化部3054は、第2逆予測符号化部544を駆動させ画素Mx1およびMx2の逆予測符号化を一括して行った後に第1逆予測符号化部542を駆動させ、画素Mx3の逆予測符号化を行う。このように、本実施形態では、予測誤差が0である連続する2つの画素については逆予測符号化を一括して行うことで処理を高速化しているため、空いた時間で後続の画素のデコードが可能となり、1クロックの間にデコード可能な画素数が増加するのである。なお、K(Kは3以上の整数)個の連続する画素について予測符号化データの表す予測誤差がゼロである場合に、Kを2で割った商の回数だけ第2逆予測符号化部544を駆動させた後に、Kを2で割った場合の余りの回数だけ第1逆予測符号化部542を駆動させるようにすれば良い。以下、第1逆予測符号化部542および第2逆予測符号化部544を中心に説明する。   On the other hand, when Diff1 and Diff2 are zero and Diff3 is not zero, the inverse prediction encoding unit 3054 drives the second inverse prediction encoding unit 544 as shown in FIG. Then, after the inverse predictive encoding of the pixels Mx1 and Mx2 is collectively performed, the first inverse predictive encoding unit 542 is driven to perform the inverse predictive encoding of the pixel Mx3. As described above, in this embodiment, the processing is speeded up by performing inverse predictive coding for two consecutive pixels with a prediction error of 0 at once, so that the subsequent pixels can be decoded in the free time. Thus, the number of pixels that can be decoded in one clock increases. Note that when the prediction error represented by the prediction encoded data is zero for K (K is an integer of 3 or more) consecutive pixels, the second inverse predictive encoding unit 544 is equal to the number of quotients obtained by dividing K by 2. Then, the first inverse predictive coding unit 542 may be driven by the remaining number of times when K is divided by 2. Hereinafter, the first inverse prediction encoding unit 542 and the second inverse prediction encoding unit 544 will be mainly described.

図4は、第1逆予測符号化部542の構成例を示すブロック図である。
図4に示すように第1逆予測符号化部542は、7個の全加算器(全加算器54201〜54207)、3個のレジスタ(レジスタ54208〜54210)、連接演算器54211およびセレクタ54212を含んでいる。以下では、前掲図3(A)に示す画素Mx1をデコードする場合を例にとって、第1逆予測符号化部542の各構成要素が担う役割を説明する。
FIG. 4 is a block diagram illustrating a configuration example of the first inverse predictive coding unit 542.
As shown in FIG. 4, the first inverse predictive encoding unit 542 includes seven full adders (full adders 54201 to 54207), three registers (registers 54208 to 54210), a concatenation calculator 54211, and a selector 54212. Contains. Hereinafter, the role of each component of the first inverse predictive coding unit 542 will be described by taking as an example the case of decoding the pixel Mx1 shown in FIG.

前掲図8(A)を参照して説明したように、処理対象画素の画素値の予測値は3つの周辺画素の画素値の大小関係から定まる。図3(A)の画素Mx1が処理対象画素である場合、同図3(A)の画素Ma1、画素Mc1および画素Mb1が周辺画素となる。図4の全加算器54201、54202および54203は、周辺画素の画素値の大小関係を判定する比較器の役割を果たす。より詳細に説明すると、全加算器54201は、画素Mc1の画素値Xc1から画素Ma1の画素値Xa1を減算して得られる値Xc1a1を算出して出力し、全加算器54202は画素Mb1の画素値Xb1から画素値Xa1を減算して得られる値Xb1a1を算出して出力し、全加算器54203は画素値Xc1から画素値Xb1を減算して得られる値Xc1b1を算出して出力する。図4に示すように、全加算器54201の出力データXc1a1と全加算器54202の出力データXb1a1は連接演算器54211に与えられ、全加算器54203の出力データXc1b1はレジスタ54208による出力タイミングの調整を経て連接演算器54211に与えられる。全加算器54203の出力データXc1b1についてのみレジスタ54208による出力タイミングの調整を行う理由については後に明らかにする。   As described above with reference to FIG. 8A, the predicted value of the pixel value of the processing target pixel is determined from the magnitude relationship of the pixel values of the three surrounding pixels. When the pixel Mx1 in FIG. 3A is a processing target pixel, the pixel Ma1, the pixel Mc1, and the pixel Mb1 in FIG. 3A are peripheral pixels. The full adders 54201, 54202, and 54203 in FIG. 4 serve as a comparator that determines the magnitude relationship between the pixel values of the peripheral pixels. More specifically, the full adder 54201 calculates and outputs a value Xc1a1 obtained by subtracting the pixel value Xa1 of the pixel Ma1 from the pixel value Xc1 of the pixel Mc1, and the full adder 54202 outputs the pixel value of the pixel Mb1. A value Xb1a1 obtained by subtracting the pixel value Xa1 from Xb1 is calculated and output, and the full adder 54203 calculates and outputs a value Xc1b1 obtained by subtracting the pixel value Xb1 from the pixel value Xc1. As shown in FIG. 4, the output data Xc1a1 of the full adder 54201 and the output data Xb1a1 of the full adder 54202 are given to the concatenation calculator 54211, and the output data Xc1b1 of the full adder 54203 is adjusted in the output timing by the register 54208. Then, it is given to the concatenation calculator 54211. The reason for adjusting the output timing by the register 54208 only for the output data Xc1b1 of the full adder 54203 will be clarified later.

連接演算器54211は、全加算器54201、54202および54203の各々の出力データの符号ビットの値の組み合わせに応じて、表1に示す2ビットの制御信号S1をセレクタ54212に与える。例えば、連接演算器54211は、出力データXc1b1、Xc1a1およびXb1a1の各々の符号ビットが0の場合(すなわち、各出力データが非負の値である場合)、または出力データXc1b1、Xc1a1およびXb1a1の各々の符号ビットが1の場合(すなわち、各出力データが負の値である場合)は、値が“00”である2ビットの制御信号S1をセレクタ54212に与える、といった具合である。

Figure 0005158019
The concatenation calculator 5421 gives the selector 54212 the 2-bit control signal S1 shown in Table 1 according to the combination of the sign bit values of the output data of the full adders 54201, 54202, and 54203. For example, the concatenated arithmetic unit 54211 is configured so that the sign bit of each of the output data Xc1b1, Xc1a1 and Xb1a1 is 0 (that is, each output data is a non-negative value) or each of the output data Xc1b1, Xc1a1 and Xb1a1. When the sign bit is 1 (that is, when each output data is a negative value), a 2-bit control signal S1 having a value of “00” is given to the selector 54212, and so on.
Figure 0005158019

全加算器54206は、画素値Xa1に予測誤差Diff1を加算した値Xa1_Diff=Xa1+Diff1を算出し、セレクタ54212に出力する。全加算器54204は、画素値Xb1に予測誤差Diff1を加算し、その加算結果から画素値Xc1を減算して得られる値W_Diff=画素値Xb1−画素値Xc1+Diff1を算出して出力する。全加算器54204の出力データW_Diffはレジスタ54209による出力タイミングの調整を経て全加算器54207に与えられる。全加算器54207は、レジスタ54209を介して与えられる出力データW_Diffに画素値Xa1を加算した値Xa1b1c1_Diff=画素値Xa1+画素値Xb1−画素値Xc1+Diff1を算出し、セレクタ54212に与える。全加算器54205は、画素値Xb1に予測誤差Diffを加算した値Xb1_Diff=画素値Xb1+Diff1を算出して出力する。全加算器54205の出力データXb1_Diffは、レジスタ54210による出力タイミングの調整を経てセレクタ54212に与えられる。   The full adder 54206 calculates a value Xa1_Diff = Xa1 + Diff1 obtained by adding the prediction error Diff1 to the pixel value Xa1, and outputs it to the selector 54212. The full adder 54204 adds the prediction error Diff1 to the pixel value Xb1, and calculates and outputs a value W_Diff = pixel value Xb1−pixel value Xc1 + Diff1 obtained by subtracting the pixel value Xc1 from the addition result. The output data W_Diff of the full adder 54204 is given to the full adder 54207 through output timing adjustment by the register 54209. The full adder 54207 calculates a value Xa1b1c1_Diff = pixel value Xa1 + pixel value Xb1−pixel value Xc1 + Diff1 obtained by adding the pixel value Xa1 to the output data W_Diff given via the register 54209, and supplies the calculated value to the selector 54212. The full adder 54205 calculates and outputs a value Xb1_Diff = pixel value Xb1 + Diff1 obtained by adding the prediction error Diff to the pixel value Xb1. The output data Xb1_Diff of the full adder 54205 is given to the selector 54212 through adjustment of the output timing by the register 54210.

セレクタ54212は、連接演算器54211から与えられる制御信号S1の値に応じて、全加算器54206の出力データXa1_Diff、全加算器54207の出力データXa1b1c1_Diff、またはレジスタ54210を介して与えられる全加算器54205の出力データXb1_Diffの何れかを画素値Xd1として出力する。より詳細に説明すると、セレクタ54212は、制御信号S1の信号値が“00”である場合には、画素値Xd1としてXa1_Diffを出力し、制御信号S1の信号値が“01”である場合には、画素値Xd1としてXb1_Diffを出力し、制御信号S1の信号値が“10”である場合には、画素値Xd1としてXa1b1c1_Diffを出力する。このようにしてセレクタ54212から出力される画素Xdの画素値は、図示せぬレジスタによる出力タイミングの調整を経て後段の処理回路へ出力される。   The selector 54212 outputs the output data Xa1_Diff of the full adder 54206, the output data Xa1b1c1_Diff of the full adder 54207, or the full adder 54205 given via the register 54210 according to the value of the control signal S1 given from the concatenation calculator 5421. Output data Xb1_Diff is output as a pixel value Xd1. More specifically, the selector 54212 outputs Xa1_Diff as the pixel value Xd1 when the signal value of the control signal S1 is “00”, and when the signal value of the control signal S1 is “01”. Xb1_Diff is output as the pixel value Xd1, and when the signal value of the control signal S1 is “10”, Xa1b1c1_Diff is output as the pixel value Xd1. In this way, the pixel value of the pixel Xd output from the selector 54212 is output to the processing circuit at the subsequent stage after adjusting the output timing by a register (not shown).

例えば、画素値Xc1>画素値Xa1>画素値Xb1の場合、出力データXc1b1>0、出力データXc1a1>0、出力データXb1a1<0となるから、出力データXc1b1およびXc1a1の符号ビットは0、出力データXb1a1の符号ビットは1となり、制御信号S1は“01”となる(前掲表1参照)。このため、画素値Xd1としてXb1+diff1が出力される。画素値Xc1>画素値Xa1>画素値Xb1の場合とは、画素値Xc1が最大、かつ、画素値Xa1>画素値Xb1の場合であるから、これは前述した(ケース1)の場合に他ならない。また、画素値Xa1>画素値Xc1>画素値Xb1の場合、出力データXc1b1、Xc1a1、出力データXb1a1の各々の符号ビットは、0、1、0となるから、制御信号S1は“10”となり、画素値Xd1として画素値Xa1+画素値Xb1−画素値Xc1+diff1が出力される。画素値Xa1>画素値Xc1>画素値Xb1の場合とは、画素値Xc1が最大でもなく、また最小でもない場合であるから、これは前述した(ケース5)に他ならない。このように、本実施形態では、全加算器54201〜54207、連接演算器54211およびセレクタ54212の各々に上述した各演算を行わせることによって、前述した(ケース1)〜(ケース5)までの各出力データが得られる。つまり、全加算器54201〜54207、連接演算器54211およびセレクタ54212の各々に上述した各演算を行わせることは前述した予測値算出処理および加算処理を行うことと同値なのである。   For example, when pixel value Xc1> pixel value Xa1> pixel value Xb1, output data Xc1b1> 0, output data Xc1a1> 0, and output data Xb1a1 <0. Therefore, the sign bit of output data Xc1b1 and Xc1a1 is 0, and output data The sign bit of Xb1a1 is 1, and the control signal S1 is “01” (see Table 1 above). For this reason, Xb1 + diff1 is output as the pixel value Xd1. The case where the pixel value Xc1> the pixel value Xa1> the pixel value Xb1 is the case where the pixel value Xc1 is the maximum and the pixel value Xa1> the pixel value Xb1, so this is nothing but the case described above (Case 1). . When pixel value Xa1> pixel value Xc1> pixel value Xb1, the sign bits of the output data Xc1b1, Xc1a1, and output data Xb1a1 are 0, 1, 0, so the control signal S1 is “10”. Pixel value Xa1 + pixel value Xb1-pixel value Xc1 + diff1 is output as pixel value Xd1. The case of pixel value Xa1> pixel value Xc1> pixel value Xb1 is a case where the pixel value Xc1 is neither the maximum nor the minimum, and this is none other than the above (Case 5). As described above, in this embodiment, each of the above-described (Case 1) to (Case 5) is performed by causing each of the full adders 54201 to 54207, the concatenation computing unit 54211, and the selector 54212 to perform the above-described computations. Output data is obtained. That is, letting each of the full adders 54201 to 54207, the concatenated calculator 5421, and the selector 54212 perform the above-described calculations is equivalent to performing the above-described prediction value calculation process and addition process.

図4のレジスタ54208、54209および54210の各々は、前段の回路から与えられるデータを1クロック遅延させて出力する。このような出力タイミングの調整を行う回路を設けた理由は以下の通りである。逆予測符号化を構成する演算のうち、処理対象の画素と同一のライン上にはない周辺画素(図3(A)では画素Xc1およびXb1)の画素値のみを参照し、処理対象画素の左の周辺画素(図3(A)では、画素Xa1)の画素値を参照しない演算(具体的には、全加算器54203における演算、全加算器54204における演算、および全加算器54205における演算:以下、「第1の演算」)については、その他の演算(以下、第2の演算)に対して1クロック先行させて実行することが可能である。図4のレジスタ54208、54209および54210の各々は、1クロック先行させて実行される第1の演算の演算結果を第2の演算のために保持しておくために設けられている。   Each of the registers 54208, 54209, and 54210 in FIG. 4 outputs the data provided from the preceding circuit with a delay of one clock. The reason why such a circuit for adjusting the output timing is provided is as follows. Of the computations constituting inverse predictive coding, only the pixel values of peripheral pixels (pixels Xc1 and Xb1 in FIG. 3A) that are not on the same line as the pixel to be processed are referred to, and the left of the pixel to be processed (Refer to pixel Xa1 in FIG. 3A) that does not refer to the pixel value (specifically, calculation in full adder 54203, calculation in full adder 54204, and calculation in full adder 54205: , “First operation”) can be executed one clock ahead of other operations (hereinafter referred to as second operation). Each of the registers 54208, 54209, and 54210 in FIG. 4 is provided to hold an operation result of the first operation executed one clock ahead for the second operation.

このため、図3(B)に示すように、第1逆予測符号化部542を3回駆動させて画素Mx1〜Mx3の逆予測符号化を行う場合であっても、画素値Xd1〜画素値Xd3を算出するための演算のうち、上記第1の演算については1つ手前のクロック(例えば、画素Mc1〜画素Mb3のデコードを行うクロック)で第2演算に先行して実行される。これにより、3つの画素値を得るための演算時間が短縮され、結果として1クロックあたりに実行可能な逆予測符号化処理の処理回数を従来よりも増加させているのである。   For this reason, as shown in FIG. 3B, even when the first inverse predictive encoding unit 542 is driven three times to perform inverse predictive encoding of the pixels Mx1 to Mx3, the pixel value Xd1 to the pixel value Among the operations for calculating Xd3, the first operation is executed prior to the second operation at the immediately preceding clock (for example, a clock for decoding the pixels Mc1 to Mb3). As a result, the calculation time for obtaining the three pixel values is shortened, and as a result, the number of inverse predictive encoding processes that can be executed per clock is increased as compared with the prior art.

次いで、第2逆予測符号化部544について説明する。
図5は、第2逆予測符号化部544の構成例を示す図である。図5に示すように、第2逆予測符号化部544は、11個の全加算器(全加算器54401〜54411)と、4個のレジスタ(レジスタ54412〜54415)と、連接演算器54416と、セレクタ54417とを含んでいる。これら各構成要素のうち、レジスタ54412〜54415は、第1逆予測符号化部542におけるレジスタ54208〜54210と同様に前述した第1の演算をその他の第2の演算に対して1クロック先行させて行い、その演算結果を保持しておくためのものである。以下、図3(A)においてDiff1=Diff2=0である場合に、画素Mx1の画素値Xd1および画素Mx2の画素値Xd2を、画素Mx1の左の画素Ma1の画素値Xa1、画素Mx1の左上の画素Mc1の画素値Xc1、画素Mx1の真上(すなわち、画素Mx2の左上)の画素Mb1の画素値Xb1、画素Mx2の真上の画素Mb2の画素値Xb2から一括して算出する手順について説明し、この手順において図5に示す各構成要素が果たす役割を説明する。
Next, the second inverse prediction encoding unit 544 will be described.
FIG. 5 is a diagram illustrating a configuration example of the second inverse predictive coding unit 544. As illustrated in FIG. 5, the second inverse predictive coding unit 544 includes 11 full adders (full adders 54401 to 54411), four registers (registers 5441 to 54415), and a concatenation calculator 54416. , Selector 54417. Among these components, the registers 54412-54415 put the first operation described above one clock ahead of the other second operations in the same manner as the registers 54208-54210 in the first inverse predictive coding unit 542. This is for holding the calculation result. Hereinafter, when Diff1 = Diff2 = 0 in FIG. 3A, the pixel value Xd1 of the pixel Mx1 and the pixel value Xd2 of the pixel Mx2 are changed to the pixel value Xa1 of the left pixel Ma1 of the pixel Mx1, and the upper left of the pixel Mx1. A procedure for collectively calculating the pixel value Xc1 of the pixel Mc1, the pixel value Xb1 of the pixel Mb1 directly above the pixel Mx1 (that is, the upper left of the pixel Mx2), and the pixel value Xb2 of the pixel Mb2 immediately above the pixel Mx2 will be described. The role played by each component shown in FIG. 5 in this procedure will be described.

Diff1=0である場合、図3(A)の画素Mx1の画素値Xd1は、画素Ma1、画素Mc1および画素Mb1の各々の画素値の大小関係により定まる予測値と等しくなり(つまり、加算処理は不要)、この予測値は、画素値Xa1、画素値Xb1、または画素値Xa1+画素値Xb1−画素値Xc1の何れかの値となる。Diff2=0であるから、画素Mx2の画素値Xd2についても、画素値Xd1、画素値Xb1および画素値Xb2の大小関係により定まる予測値と等しくなり、この予測値は画素値Xd1、画素値Xb2、または画素値Xd1+画素値Xb2−画素値Xb1の何れかの値となる。ここで、画素値Xd1については画素値Xa1、画素値Xb1、または画素値Xa1+画素値Xb1−画素値Xc1の何れかの値となるのであるから、これらの値と画素値Xb2との間の大小関係の判定と画素値Xd1の値を求めるための上記3通りの判定とを組み合わせて行えば、画素値Xd1および画素値Xd2を一括して算出することができる。   When Diff1 = 0, the pixel value Xd1 of the pixel Mx1 in FIG. 3A is equal to the predicted value determined by the magnitude relationship among the pixel values of the pixel Ma1, the pixel Mc1, and the pixel Mb1 (that is, the addition process is This prediction value is any one of the pixel value Xa1, the pixel value Xb1, or the pixel value Xa1 + the pixel value Xb1−the pixel value Xc1. Since Diff2 = 0, the pixel value Xd2 of the pixel Mx2 is also equal to the predicted value determined by the magnitude relationship among the pixel value Xd1, the pixel value Xb1, and the pixel value Xb2, and this predicted value is the pixel value Xd1, the pixel value Xb2, Alternatively, the pixel value Xd1 + the pixel value Xb2−the pixel value Xb1. Here, since the pixel value Xd1 is any one of the pixel value Xa1, the pixel value Xb1, or the pixel value Xa1 + the pixel value Xb1−the pixel value Xc1, the magnitude between these values and the pixel value Xb2 If the determination of the relationship and the above three determinations for obtaining the value of the pixel value Xd1 are combined, the pixel value Xd1 and the pixel value Xd2 can be calculated in a lump.

画素値Xa1、画素値Xb1、または画素値Xa1+画素値Xb1−画素値Xc1の各々(画素値Xd1の候補となる値)と画素値Xb1および画素値Xb2との大小関係の判定と、画素値Xd1の値を求めるための上記3通りの判定のうち重複するものを除くと、結局、画素値Xa1、画素値Xb1および画素値Xc1の各々の間の大小関係の判定、画素値Xa1と画素値Xb2の大小関係の判定、画素値Xb1と画素値Xb2の大小関係の判定、画素値Xb1と画素値Xa1+画素値Xb1−画素値Xc1の大小関係の判定、画素値Xb2と画素値Xa1+画素値Xb1−画素値Xc1の大小関係の判定の合計7通りとなる。したがって、これら7通りの判定を行えば、表2および表3に示す要領で画素値Xd1と画素値Xd2とを一括して算出することができる。以下の表2および表3においては、画素値の大小関係が判定対象となる2つの値の差の符号ビットで表されている。例えば、表2のXb1c1は画素値Xb1と画素値Xc1との差の符号ビットを意味し、この符号ビットがゼロであるということは、画素値Xb1と画素値Xc1との差Xb1−Xc1が非負の値、すなわち、画素値Xb1≧画素値Xc1であることを表す。また、表2および表3において符号ビットの値が空欄となっているものは、符号ビットの値が0または1の何れであっても良いことを示す。なお、前述した第1逆予測符号化部542では、画素値Xb1と画素値Xc1の大小関係を判定するために、画素値Xc1から画素値Xb1を減算して得られる値を算出したが、この第2逆予測符号化部544では、画素値Xb1から画素値Xc1を減算して得られる値Xb1c1を算出している点が異なる(Xa1c1についても同様)。これは、以降の処理においてXb1c1およびXa1c1を利用するためである。

Figure 0005158019

Figure 0005158019
The pixel value Xa1, the pixel value Xb1, or the pixel value Xa1 + the pixel value Xb1−the pixel value Xc1 (a value that is a candidate for the pixel value Xd1), the determination of the magnitude relationship between the pixel value Xb1 and the pixel value Xb2, and the pixel value Xd1 If the overlap among the above three determinations for obtaining the value of the pixel value is excluded, determination of the magnitude relationship among the pixel value Xa1, the pixel value Xb1, and the pixel value Xc1, the pixel value Xa1 and the pixel value Xb2 Determination of the magnitude relationship between the pixel value Xb1 and the pixel value Xb2, determination of the magnitude relationship between the pixel value Xb1 and the pixel value Xa1 + the pixel value Xb1-pixel value Xc1, the pixel value Xb2 and the pixel value Xa1 + pixel value Xb1- There are a total of seven determinations of the magnitude relationship of the pixel value Xc1. Therefore, if these seven determinations are made, the pixel value Xd1 and the pixel value Xd2 can be calculated collectively in the manner shown in Tables 2 and 3. In the following Tables 2 and 3, the magnitude relationship between the pixel values is represented by the sign bit of the difference between the two values to be determined. For example, Xb1c1 in Table 2 means a sign bit of the difference between the pixel value Xb1 and the pixel value Xc1, and that this sign bit is zero means that the difference Xb1-Xc1 between the pixel value Xb1 and the pixel value Xc1 is non-negative. Value, that is, pixel value Xb1 ≧ pixel value Xc1. In Tables 2 and 3, when the value of the sign bit is blank, it indicates that the value of the sign bit may be either 0 or 1. Note that the first inverse predictive encoding unit 542 described above calculates a value obtained by subtracting the pixel value Xb1 from the pixel value Xc1 in order to determine the magnitude relationship between the pixel value Xb1 and the pixel value Xc1, The second inverse predictive coding unit 544 is different in that a value Xb1c1 obtained by subtracting the pixel value Xc1 from the pixel value Xb1 is calculated (the same applies to Xa1c1). This is because Xb1c1 and Xa1c1 are used in the subsequent processing.
Figure 0005158019

Figure 0005158019

図5の全加算器54401〜54407は、上記7通りの判定に利用するデータを生成するためのものである。例えば、全加算器54401は、前述したXb1c1を算出して出力し、この出力データXb1c1は、レジスタ54412による出力タイミングの調整を経て連接演算器54416および全加算器54409に与えられる。全加算器54402は画素値Xb2から画素値Xb1を減算して得られる値Xb2b1を算出して出力し、この出力データXb2b1はレジスタ54413による出力タイミングの調整を経て連接演算器54416および全加算器54410に与えられる。そして、全加算器54404はXa1c1を、全加算器54405はXb1a1を、全加算器54406は画素値Xb2から画素値Xa1を減算して得られる値Xb2a1を各々算出し、その算出結果を示すデータを連接演算器54416に与える。なお、出力データXa1c1は、画素値Xa1+画素値Xb1−画素値Xc1と画素値Xb1との大小関係も表す。画素値Xa1+画素値Xb1−画素値Xc1―画素値Xb1=画素値Xa1-画素値Xc1となるからである。   The full adders 54401 to 54407 in FIG. 5 are for generating data used for the above seven determinations. For example, the full adder 54401 calculates and outputs the above-described Xb1c1, and the output data Xb1c1 is given to the concatenation calculator 54416 and the full adder 54409 through adjustment of the output timing by the register 54412. The full adder 54402 calculates and outputs a value Xb2b1 obtained by subtracting the pixel value Xb1 from the pixel value Xb2, and the output data Xb2b1 is subjected to output timing adjustment by the register 54413, and the concatenated arithmetic unit 54416 and the full adder 54410. Given to. The full adder 54404 calculates Xa1c1, the full adder 54405 calculates Xb1a1, the full adder 54406 calculates a value Xb2a1 obtained by subtracting the pixel value Xa1 from the pixel value Xb2, and provides data indicating the calculation result. This is given to the concatenation calculator 54416. The output data Xa1c1 also represents the magnitude relationship between the pixel value Xa1 + the pixel value Xb1−the pixel value Xc1 and the pixel value Xb1. This is because pixel value Xa1 + pixel value Xb1−pixel value Xc1−pixel value Xb1 = pixel value Xa1−pixel value Xc1.

全加算器54403は、画素値Xb1から画素値Xc1と画素値Xb2とを減算して得られる値Xb1c1b2を算出して出力する。全加算器54403の出力データXb1c1b2はレジスタ54414による出力タイミングの調整を経て全加算器54407に与えられる。全加算器54407は、レジスタ54414を介して与えられる全加算器54403の出力データXb1c1b2に画素値Xa1を加算し、その加算結果Xa1b1c1b2=画素値Xa1+画素値Xb1−画素値Xc1−画素値Xb2を連接演算器54416に与える。全加算器54407の出力データXa1b1c1b2は、画素値Xa1+画素値Xb1−画素値Xc1と画素値Xb2との大小関係を表す。   The full adder 54403 calculates and outputs a value Xb1c1b2 obtained by subtracting the pixel value Xc1 and the pixel value Xb2 from the pixel value Xb1. The output data Xb1c1b2 of the full adder 54403 is supplied to the full adder 54407 after adjusting the output timing by the register 54414. The full adder 54407 adds the pixel value Xa1 to the output data Xb1c1b2 of the full adder 54403 given through the register 54414, and concatenates the addition result Xa1b1c1b2 = pixel value Xa1 + pixel value Xb1−pixel value Xc1−pixel value Xb2. This is given to the arithmetic unit 54416. The output data Xa1b1c1b2 of the full adder 54407 represents the magnitude relationship between the pixel value Xa1 + the pixel value Xb1−the pixel value Xc1 and the pixel value Xb2.

全加算器54409は、レジスタ54412から与えられる出力データXb1c1と画素値Xa1との和Xa1b1c1=画素値Xa1+画素値Xb1−画素値Xc1をセレクタ54417に与える。全加算器54410は、レジスタ54413から与えられる出力データXb2b1と画素値Xa1との和Xa1b2b1=画素値Xa1+画素値Xb2−画素値Xb1をセレクタ54417に与える。全加算器54408は、画素値Xb2から画素値Xc1を減算して得られる値Xb2c1=画素値Xb2−画素値Xc1を算出し、レジスタ54415に与える。全加算器54408の出力データXb2c1はレジスタ54415による出力タイミングの調整を経て全加算器54411に与えられる。全加算器54411は、出力データXb2c1と画素値Xa1との和Xa1b2c1=画素値Xa1+画素値Xb2−画素値Xc1を算出し、セレクタ54417に与える。   The full adder 54409 gives the selector 54417 the sum Xa1b1c1 = pixel value Xa1 + pixel value Xb1−pixel value Xc1 of the output data Xb1c1 and the pixel value Xa1 given from the register 54512. The full adder 54410 provides the selector 54417 with the sum Xa1b2b1 = pixel value Xa1 + pixel value Xb2−pixel value Xb1 of the output data Xb2b1 and the pixel value Xa1 given from the register 54413. The full adder 54408 calculates a value Xb2c1 = pixel value Xb2−pixel value Xc1 obtained by subtracting the pixel value Xc1 from the pixel value Xb2, and supplies the calculated value to the register 54415. The output data Xb2c1 of the full adder 54408 is supplied to the full adder 54411 after adjusting the output timing by the register 54415. The full adder 54411 calculates the sum Xa1b2c1 = pixel value Xa1 + pixel value Xb2−pixel value Xc1 of the output data Xb2c1 and the pixel value Xa1, and supplies the result to the selector 54417.

連接演算器54416は、出力データXb1c1、Xb2b1、Xa1c1、Xb1a1、Xb2a1およびXa1b1c1b2の各々の符号ビットの値の組み合わせに応じた値の制御信号S2を前掲表2および表3にしたがって生成し、セレクタ54417に与える。例えば、連接演算器54416は、出力データXb1c1、Xa1c1、Xb1a1、Xb2a1およびXb2b1の各符号ビットの値がゼロである場合には、画素値Xd1として画素値Xb1を出力することおよび画素値Xd2として画素値Xb2を出力することを指示する旨の値の制御信号S2をセレクタ54417に与える、といった具合である。セレクタ54417には、制御信号S2の他に、出力データXa1b1c1、Xa1b2b1、およびXa1b2c1と、画素値Xa1、画素値Xb1および画素値Xb2とが入力データとして与えられる。セレクタ54417は、連接演算器54416から与えられる制御信号S2の値に応じて画素値Xd1および画素値Xd2を出力する。   The concatenation calculator 54416 generates a control signal S2 having a value corresponding to the combination of the sign bit values of the output data Xb1c1, Xb2b1, Xa1c1, Xb1a1, Xb2a1 and Xa1b1c1b2 according to Table 2 and Table 3 above, and selector 54417 To give. For example, the concatenation calculator 54416 outputs the pixel value Xb1 as the pixel value Xd1 and the pixel value Xd2 when the value of each sign bit of the output data Xb1c1, Xa1c1, Xb1a1, Xb2a1, and Xb2b1 is zero. For example, the selector 54417 is supplied with a control signal S2 having a value for instructing to output the value Xb2. In addition to the control signal S2, the selector 54417 is supplied with output data Xa1b1c1, Xa1b2b1, and Xa1b2c1, and pixel values Xa1, pixel values Xb1, and pixel values Xb2 as input data. The selector 54417 outputs the pixel value Xd1 and the pixel value Xd2 in accordance with the value of the control signal S2 given from the concatenation calculator 54416.

以上説明したように、第2逆予測符号化部544によれば、画素値Xa1、画素値Xc1、画素値Xb1および画素値Xb2を用いて画素Mx1および画素Mx2の逆予測符号化が一括して行われる。加えて、上記各処理では、画素Mx1および画素Mx2の逆予測符号化に要する演算のうち画素Xa1のデコード結果とは無関係に行える第1の演算を1つ手前のクロックで行い、その演算結果を保持しておくことにより、1クロックあたりに実行可能な予測値算出処理および加算処理の処理回数を増加させ、1クロックで一度にデコード可能な画素数を増加させることができるのである。   As described above, according to the second inverse predictive encoding unit 544, the inverse predictive encoding of the pixel Mx1 and the pixel Mx2 is collectively performed using the pixel value Xa1, the pixel value Xc1, the pixel value Xb1, and the pixel value Xb2. Done. In addition, in each of the above processes, the first calculation that can be performed regardless of the decoding result of the pixel Xa1 among the calculations required for the inverse predictive encoding of the pixel Mx1 and the pixel Mx2 is performed with the clock immediately before the calculation result. By holding this, the number of prediction value calculation processes and addition processes that can be executed per clock can be increased, and the number of pixels that can be decoded at one clock can be increased.

以上、本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した実施形態では、予測誤差がゼロである連続する2つの処理対象画素の逆予測符号化を一括して行う場合について説明したが、これは見方を変えると、予測誤差がゼロである連続する2つの処理対象画素のうちの右側のものの逆予測符号化を、各処理対象画素の真上に位置する画素の画素値、左側の処理対象画素の左隣および左上に位置する画素の画素値に基づいて、当該左側の処理対象画素の逆予測符号化とは無関係に行うことができること、および、表2および表3を参照すれば明らかように、当該右側の処理対象画素の逆予測符号化の実行過程でその左側の処理対象画素の画素値も必然的に求まることを意味する。
Although one embodiment of the present invention has been described above, the following modifications may of course be added to this embodiment.
(1) In the above-described embodiment, a case has been described in which inverse prediction encoding of two consecutive pixels to be processed with a prediction error of zero is performed in a batch. However, if the view is changed, the prediction error is zero. The inverse prediction encoding of the right one of the two consecutive processing target pixels is performed by calculating the pixel value of the pixel located immediately above each processing target pixel, the pixel adjacent to the left and upper left of the left processing target pixel. Based on the pixel value, this can be performed independently of the inverse prediction encoding of the left processing target pixel, and as is apparent from reference to Tables 2 and 3, the reverse prediction of the right processing target pixel is performed. This means that the pixel value of the pixel to be processed on the left side is inevitably obtained during the encoding process.

そして、このことは、「水平方向に並んだN(Nは2以上の整数)個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらN個の処理対象画素の左端に位置するものの左隣および左上に位置する各画素の画素値から右端の処理対象画素の画素値を算出することができ、その算出過程で、他のN−1個の処理対象画素の画素値も必然的に求まる。」というように一般化することができる。より具体的には、水平方向に並んだN(Nは2以上の整数)個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらN個のうちの左端の処理対象画素の左上および左隣に位置する各画素の画素値、およびこれらの各画素値から算出される上記N−1個の処理対象画素の各々の画素値の候補となる値(例えば表2および表3における、画素値Xa1+画素値Xb1−画素値Xc1)の大小関係を判定することで、上記N個の処理対象画素の右端のものの画素値を算出することができ、その算出過程で他のN−1個の処理対象画素の画素値も必然的に定まる。その理由は、以下の通りである。   And this means that if all the prediction errors of N (N is an integer of 2 or more) processing target pixels arranged in the horizontal direction are all zero, the pixel of each pixel located immediately above each processing target pixel The pixel value of the rightmost processing target pixel can be calculated from the value, the pixel value of each pixel located on the left and upper left of those N processing target pixels, and in the calculation process, The pixel values of the N-1 processing target pixels are inevitably obtained, ”and can be generalized. More specifically, when the prediction errors of N (N is an integer of 2 or more) processing target pixels arranged in the horizontal direction are all zero, the pixel value of each pixel located immediately above each processing target pixel , The pixel value of each pixel located at the upper left and the left side of the leftmost processing target pixel among these N pixels, and the pixel value of each of the N−1 processing target pixels calculated from these pixel values The pixel value of the rightmost of the N processing target pixels is calculated by determining the magnitude relationship between the values that are candidates for (for example, pixel value Xa1 + pixel value Xb1−pixel value Xc1 in Tables 2 and 3) In the calculation process, the pixel values of other N-1 processing target pixels are inevitably determined. The reason is as follows.

まず、N=2の場合に上記一般化が成り立つことは、第2逆予測符号化部544について説明したことから明らかである。
次に、N=kの場合に、上記一般化が成り立つと仮定してN=k+1の場合について考察する。具体的には、図3(A)に示す画素Mx1〜Mxk+1の各々について予測誤差Diff1〜Diffk+1がゼロである場合に、画素Ma1、画素Mc1、画素Mb1〜画素Mbk+1の各々の画素値に基づいて画素Mxk+1の画素値を求めることができるのか否かについて考察する。図3(A)において、画素Mxk+1の画素値は、画素Mxk、画素Mbkおよび画素Mbk+1の各々の画素値の大小関係から求めることができる。一方、画素Mxkの画素値は、上記仮定より、画素値Xa1、画素値Xc1、画素値Xb1〜Xbk、およびこれらの画素値から算出される画素Mx1〜画素Mxk−1の各々の画素値の候補となる値の大小関係を判定することにより求めることができる。このようにして求まる画素Mxkの画素値は、画素値Xa1、画素値Xc1、画素値Xb1〜Xbkから算出される当該画素Mxkの画素値の候補となる値に当然含まれている。したがって、画素値Xa1、画素値Xc1、画素値Xb1〜Xbk、およびこれらの画素値から算出される画素Mx1〜画素Mxk−1の各々の画素値の候補となる値、画素Mxkの画素値の候補となる値、および画素値Xbk+1の各々の大小関係を判定すれば、画素Mxk+1の画素値が求まり、画素Mxkの画素値も求まる。そして、上記仮定より、画素Mxkの画素値が求まれば、画素Mx1〜画素Mxk−1の各々の画素値も必然的に求まる。このように、N=kのときに上記一般化が成り立つと仮定するとN=k+1のときも上記一般化は成り立つのであるから、所謂数学的帰納法により、2以上の任意の整数Nについて上記一般化は成り立つ。なお、上記のように一般化できるとは言っても、Nの値が大きくなると、各々の予測誤差がゼロである水平方向に並んだN個の処理対象画素の逆予測符号化を行う回路の回路規模は大きくなる。したがって、予測誤差がゼロである水平方向に並んだ複数の処理対象画素のうちの何個を一括して逆予測符号化するのかについては回路規模との関係で適宜定めれば良い。
First, it is clear from the description of the second inverse predictive encoding unit 544 that the above generalization holds when N = 2.
Next, consider the case of N = k + 1 assuming that the above generalization holds when N = k. Specifically, when the prediction errors Diff1 to Diffk + 1 are zero for each of the pixels Mx1 to Mxk + 1 illustrated in FIG. 3A, based on the pixel values of the pixels Ma1, Mc1, and Mb1 to Mbk + 1. Consider whether the pixel value of the pixel Mxk + 1 can be obtained. In FIG. 3A, the pixel value of the pixel Mxk + 1 can be obtained from the magnitude relationship among the pixel values of the pixel Mxk, the pixel Mbk, and the pixel Mbk + 1. On the other hand, the pixel value of the pixel Mxk is the pixel value Xa1, the pixel value Xc1, the pixel values Xb1 to Xbk, and the pixel value candidates of the pixels Mx1 to Mxk−1 calculated from these pixel values based on the above assumption. It can be obtained by determining the magnitude relationship between the values. The pixel value of the pixel Mxk determined in this way is naturally included in the pixel value Xa1, the pixel value Xc1, and the pixel value candidate of the pixel Mxk calculated from the pixel values Xb1 to Xbk. Therefore, the pixel value Xa1, the pixel value Xc1, the pixel values Xb1 to Xbk, the pixel value candidates of the pixels Mx1 to Mxk−1 calculated from these pixel values, and the pixel value candidates of the pixel Mxk And the pixel value Xbk + 1 are determined to determine the pixel value of the pixel Mxk + 1 and the pixel value of the pixel Mxk. From the above assumption, if the pixel value of the pixel Mxk is obtained, the pixel values of the pixels Mx1 to Mxk−1 are also inevitably obtained. Thus, assuming that the above generalization holds when N = k, the above generalization also holds when N = k + 1. Therefore, the above generalization for any integer N greater than or equal to 2 is performed by so-called mathematical induction. Chemicalization holds. Although it can be generalized as described above, when the value of N increases, the circuit for performing the reverse prediction encoding of N processing target pixels arranged in the horizontal direction in which each prediction error is zero. The circuit scale becomes large. Therefore, it is only necessary to appropriately determine how many of the plurality of processing target pixels arranged in the horizontal direction in which the prediction error is zero are to be subjected to inverse predictive coding in relation to the circuit scale.

例えば、図3(A)において、Diff1=Diff2=Diff3=0である場合に、画素Mx3の画素値Xd3については、画素値Xa1、画素値Xc1、画素値Xb1、画素値Xb2および画素値Xb3を用いて以下の式(1)〜式(18)に示す演算を行い、それら演算結果に基づいて図6に示す要領で求めることができる。図6を参照すれば明らかように、α1は、画素Mx1または画素Mx2の画素値の候補となる値であり、α2およびα5は画素Mx2の画素値の候補となる値である。また、画素値Xd3の算定過程で画素値Xd1および画素値Xd2が必然的に求まることは図6に示す通りである。なお、図6におけるα1と画素値Xb1の大小関係についてはXa1c1の符号ビットの値に基づいて定めれば良い。これは、α1−画素値xb1を計算するとXa1c1に等しくなるからである。同様に、α2と画素値Xb1の大小関係についてはXa1b1の符号ビットの値に基づいて判定すれば良く、α5と画素値Xb2の大小関係についてはXa1c1の符号ビットの値に基づいて判定すれば良い。また、図6において、画素値Xc1(処理対象画素に対して左上に位置する画素)の状態がMINであるとは、画素値Xc1<画素値Xb1かつ画素値Xc1<画素値Xa1の場合をいい、画素値Xc1の状態がMAXであるとは、画素値Xc1>画素値Xb1かつ画素値Xc1>画素値Xa1の場合をいい、画素値Xc1の状態がMIDLLEとはその何れでもない場合をいう。画素値Xb1、画素値Xb2についても同様に、これらが処理対象画素に対して左上に位置している場合に、他の周辺画素に対して最大であるのか、最小であるのか、何れでもないのか、を意味している。   For example, in FIG. 3A, when Diff1 = Diff2 = Diff3 = 0, for the pixel value Xd3 of the pixel Mx3, the pixel value Xa1, the pixel value Xc1, the pixel value Xb1, the pixel value Xb2, and the pixel value Xb3 are set. The calculation shown in the following formulas (1) to (18) is performed, and it can be obtained in the manner shown in FIG. 6 based on the calculation results. As is apparent from FIG. 6, α1 is a value that becomes a candidate pixel value of the pixel Mx1 or Mx2, and α2 and α5 are values that become candidate pixel values of the pixel Mx2. Further, as shown in FIG. 6, the pixel value Xd1 and the pixel value Xd2 are inevitably obtained in the process of calculating the pixel value Xd3. Note that the magnitude relationship between α1 and the pixel value Xb1 in FIG. 6 may be determined based on the value of the sign bit of Xa1c1. This is because α1−pixel value xb1 is equal to Xa1c1 when calculated. Similarly, the magnitude relationship between α2 and the pixel value Xb1 may be determined based on the value of the sign bit of Xa1b1, and the size relationship between α5 and the pixel value Xb2 may be determined based on the value of the sign bit of Xa1c1. . In FIG. 6, the state of the pixel value Xc1 (the pixel located at the upper left with respect to the processing target pixel) is MIN when the pixel value Xc1 <the pixel value Xb1 and the pixel value Xc1 <the pixel value Xa1. The state where the pixel value Xc1 is MAX means the case where the pixel value Xc1> the pixel value Xb1 and the pixel value Xc1> the pixel value Xa1, and the case where the state of the pixel value Xc1 is neither of them. Similarly, regarding the pixel value Xb1 and the pixel value Xb2, whether or not the pixel value Xb1 and the pixel value Xb2 are the maximum or the minimum with respect to other peripheral pixels when they are located in the upper left with respect to the processing target pixel. Mean.

Xb1c1=画素値Xb1−画素値Xc1・・・(1)
Xa1c1=画素値Xa1−画素値Xc1・・・(2)
Xb1a1=画素値Xb1−画素値Xa1・・・(3)
Xb2b1=画素値Xb2−画素値Xb1・・・(4)
Xb2a1=画素値Xb2−画素値Xa1・・・(5)
Xb3b2=画素値Xb3−画素値Xb2・・・(6)
Xb3a1=画素値Xb3−画素値Xa1・・・(7)
α1=画素値Xa1+画素値Xb1−画素値Xc1・・・(8)
α2=画素値Xa1+画素値Xb2−画素値Xb1・・・(9)
α3=画素値Xa1+画素値Xb3−画素値Xb2・・・(10)
α4=画素値Xa1−画素値Xb1+画素値Xb2・・・(11)
α5=画素値Xa1−画素値Xc1+画素値Xb2・・・(12)
α6=画素値Xa1+画素値Xb1−画素値Xc1−画素値Xb3−画素値Xb2・・・(13)
α7=画素値Xa1−画素値Xc1+画素値Xb3・・・(14)
α1Xb2=画素値Xa1+画素値Xb1−画素値Xc1−画素値Xb2・・・(15)
α1Xb3=画素値Xa1+画素値Xb1−画素値Xc1−画素値Xb3・・・(16)
α2Xb3=画素値Xa1+画素値Xb2−画素値Xb1−画素値Xb3・・・(17)
α5Xb3=画素値Xa1−画素値Xc1+画素値Xb2−画素値Xb3・・・(18)
Xb1c1 = pixel value Xb1−pixel value Xc1 (1)
Xa1c1 = pixel value Xa1−pixel value Xc1 (2)
Xb1a1 = pixel value Xb1−pixel value Xa1 (3)
Xb2b1 = pixel value Xb2-pixel value Xb1 (4)
Xb2a1 = pixel value Xb2-pixel value Xa1 (5)
Xb3b2 = pixel value Xb3-pixel value Xb2 (6)
Xb3a1 = pixel value Xb3-pixel value Xa1 (7)
α1 = pixel value Xa1 + pixel value Xb1−pixel value Xc1 (8)
α2 = pixel value Xa1 + pixel value Xb2−pixel value Xb1 (9)
α3 = pixel value Xa1 + pixel value Xb3−pixel value Xb2 (10)
α4 = pixel value Xa1−pixel value Xb1 + pixel value Xb2 (11)
α5 = pixel value Xa1−pixel value Xc1 + pixel value Xb2 (12)
α6 = pixel value Xa1 + pixel value Xb1−pixel value Xc1−pixel value Xb3−pixel value Xb2 (13)
α7 = pixel value Xa1−pixel value Xc1 + pixel value Xb3 (14)
α1Xb2 = pixel value Xa1 + pixel value Xb1−pixel value Xc1−pixel value Xb2 (15)
α1Xb3 = pixel value Xa1 + pixel value Xb1−pixel value Xc1−pixel value Xb3 (16)
α2Xb3 = pixel value Xa1 + pixel value Xb2−pixel value Xb1−pixel value Xb3 (17)
α5Xb3 = pixel value Xa1−pixel value Xc1 + pixel value Xb2−pixel value Xb3 (18)

(2)上述した実施形態では、水平方向に並んだ2つの画素の予測誤差が何れもゼロである場合には、それら2つの画素の逆予測符号化を一括して行ったが、これら2つの画素のうち右側のものについての逆予測符号化を第2逆予測符号化部544により行うとともに、これと並列に、同左側の画素の逆予測符号化を第1逆予測符号化部542により行うとしても勿論良い。つまり、水平方向に並んだN(Nは2以上の整数)個の処理対象画素の予測誤差が全てゼロである場合、各処理対象画素の真上に位置する各画素の画素値、それらN個のうちの左端の処理対象画素の左上および左隣に位置する各画素の画素値から右端の処理対象画素の画素値を算出する処理のみを第2逆予測符号化部5442に行わせ、他のN−1個の処理対象画素については他の方法によりデコードする(例えば、第1逆予測符号化部542をN−1回駆動する)ようにしても勿論良い。 (2) In the above-described embodiment, when the prediction errors of two pixels arranged in the horizontal direction are both zero, inverse prediction encoding of the two pixels is performed collectively. The second inverse prediction encoding unit 544 performs inverse prediction encoding on the right side of the pixels by the second inverse prediction encoding unit 544, and in parallel with this, the first inverse prediction encoding unit 542 performs inverse prediction encoding of the left side pixel. Of course it is good. That is, when the prediction errors of N pixels (N is an integer of 2 or more) arranged in the horizontal direction are all zero, the pixel value of each pixel positioned directly above each pixel to be processed, N of them The second inverse predictive coding unit 5442 performs only the process of calculating the pixel value of the rightmost processing target pixel from the pixel values of the pixels located on the upper left and the left side of the leftmost processing target pixel, and the other Of course, the N-1 processing target pixels may be decoded by another method (for example, the first inverse predictive encoding unit 542 is driven N-1 times).

(3)図7(A)〜図7(N)は、予測誤差がゼロである連続する3つの画素についての逆予測符号化の結果を示す図である。ここで、注目すべき点は、逆予測符号化対象の3つの画素のうち左端に位置するものの画素値が当該画素の真上に位置する画素の画素値となる場合には、後続する各処理対象画素の画素値も各々の真上に位置する画素の画素値となる点である(図7(A)参照)。これは、左端に位置する画素の画素値がその真上に位置する画素の画素値となると、その右隣の画素については左隣の画素の画素値と左上の画素の画素値が等しくなり、前述した(ケース1)または(ケース3)の何れかの状況しか生じず、その何れの場合であっても当該画素の画素値はその真上の画素の画素値となるからである。 (3) FIG. 7 (A) to FIG. 7 (N) are diagrams showing the results of inverse predictive coding for three consecutive pixels with a prediction error of zero. Here, it should be noted that when the pixel value of the pixel located at the left end among the three pixels to be subjected to inverse predictive encoding is the pixel value of the pixel located immediately above the pixel, each subsequent process The pixel value of the target pixel is also a point that is the pixel value of the pixel located directly above each (see FIG. 7A). This is because when the pixel value of the pixel located at the left end becomes the pixel value of the pixel located directly above, the pixel value of the pixel on the left is equal to the pixel value of the pixel on the upper left, This is because only the situation of (Case 1) or (Case 3) described above occurs, and in any case, the pixel value of the pixel is the pixel value of the pixel immediately above it.

換言すれば、連続する複数の処理対象画素の各々についての予測誤差がゼロであり、かつ、それら処理対象画素のうちの何れかについて画素値がその真上に位置する画素の画素値と等しくなる場合には、それよりも右側の処理対象画素については(ケース1)または(ケース3)の何れかの状況しか生じないのであるから、以降の処理対象画素の画素値は各々の真上に位置する画素の画素値と等しくなる。この点に着目し、連続する複数の処理対象画素の各々についての予測誤差がゼロであり、かつ、それら処理対象画素のうちの何れかについて画素値がその真上に位置する画素の画素値と等しくなる場合には、以降の画素について各々の真上に位置する画素の画素値を出力する回路を逆予測符号化部3054に設けても良い。このようにすることで、1クロックの間にデコード可能な画素数をさらに増加させることが可能になる。   In other words, the prediction error for each of a plurality of consecutive processing target pixels is zero, and the pixel value of any of the processing target pixels is equal to the pixel value of the pixel located directly above it. In this case, since only the situation of (Case 1) or (Case 3) occurs with respect to the processing target pixel on the right side of that, the pixel values of the subsequent processing target pixels are located immediately above each. It becomes equal to the pixel value of the pixel to be processed. Paying attention to this point, the prediction error for each of a plurality of continuous processing target pixels is zero, and the pixel value of any of the processing target pixels whose pixel value is directly above the pixel value In the case where they are equal, a circuit for outputting the pixel value of the pixel located immediately above each of the subsequent pixels may be provided in the inverse predictive coding unit 3054. In this way, the number of pixels that can be decoded during one clock can be further increased.

(4)上述した実施形態では、予測符号化と可変長符号化とを併用した圧縮符号化アルゴリズムにより圧縮符号化された画像データをデコードするパターンデータデコーダ305の逆予測符号化部3054に本発明を適用した。しかし、可変長復号化部3052は本発明の必須要件ではないから、画像データに予測符号化を施して得られる予測符号化データから画像データを復元する復号装置(逆予測符号化装置)に本発明を適用しても勿論良い。また、画像データに圧縮符号化を施す際の予測符号化を担当する予測符号化装置に本発明を適用しても勿論良い。 (4) In the above-described embodiment, the present invention is applied to the inverse predictive encoding unit 3054 of the pattern data decoder 305 that decodes image data compressed and encoded by a compression encoding algorithm that uses both predictive encoding and variable length encoding. Applied. However, since the variable length decoding unit 3052 is not an essential requirement of the present invention, the variable length decoding unit 3052 is used in a decoding apparatus (inverse predictive encoding apparatus) that restores image data from predictive encoded data obtained by performing predictive encoding on image data. Of course, the invention may be applied. Of course, the present invention may be applied to a predictive coding apparatus in charge of predictive coding when compression coding is applied to image data.

(5)上述した実施形態では、逆予測符号化部3054を全加算器やレジスタなどの電子回路(ハードウェア)で構成したが、パターンデータデコーダ305をDSPで構成し、このDSPを可変長復号化部3052および逆予測符号化部3054として機能させるプログラム(例えば、画像処理LSIのファームウェアなど)を提供しても良く、また、このようなプログラムをCD−ROMなどのコンピュータ読み取り可能な記録媒体に書き込んで配布、或いはインターネットなどの電気通信回線経由のダウンロードにより配布しても良い。 (5) In the above-described embodiment, the inverse predictive encoding unit 3054 is configured by an electronic circuit (hardware) such as a full adder or a register. However, the pattern data decoder 305 is configured by a DSP, and this DSP is subjected to variable length decoding. A program (for example, firmware of an image processing LSI) that functions as the conversion unit 3052 and the inverse prediction encoding unit 3054 may be provided, and such a program may be stored on a computer-readable recording medium such as a CD-ROM. It may be distributed by writing or by downloading via a telecommunication line such as the Internet.

(6)上述した実施形態においては、第2逆予測符号化部544における演算においても第1の演算を第2の演算に1クロック先行させて実行させたが、第2逆予測符号化部544における演算においては第1の演算を第2の演算に対して先行させて行うことは必ずしも必須ではない。また、第1逆予測符号化部542における演算において第1の演算を第2の演算に先行させて実行させる場合に、2クロックなど複数クロック先行させても勿論良い。また、上述した実施形態では、可変長符号化としてゼロランレングス符号化を含んだエントロピ符号化を行ったが、これは圧縮率向上のためであり、必ずしもゼロランレングス符号化が必要なわけではない。 (6) In the above-described embodiment, the first calculation is performed by one clock preceding the second calculation in the calculation in the second inverse prediction encoding unit 544, but the second inverse prediction encoding unit 544 is executed. It is not always essential to perform the first calculation prior to the second calculation. In addition, in the calculation in the first inverse predictive encoding unit 542, when the first calculation is executed prior to the second calculation, it may of course be preceded by a plurality of clocks such as two clocks. In the above-described embodiment, entropy coding including zero-run length coding is performed as variable-length coding. This is for improving the compression rate, and does not necessarily require zero-run length coding. Absent.

300…画像処理LSI、301…CPUI/F、302…記憶部、303…制御部、304…パターンメモリI/F、305…パターンデータデコーダ、3052…可変長復号化部、3054…逆予測符号化部、542…第1逆予測符号化部、542…第2逆予測符号化部、306…スプライトレンダリングプロセッサ、307A,307B…ラインバッファ、308…表示コントローラ、309…画像データコントローラ、310…モニタI/F、401…スプライトパターンメモリ、402…CPU、403…モニタ。   DESCRIPTION OF SYMBOLS 300 ... Image processing LSI, 301 ... CPU I / F, 302 ... Memory | storage part, 303 ... Control part, 304 ... Pattern memory I / F, 305 ... Pattern data decoder, 3052 ... Variable length decoding part, 3054 ... Inverse prediction encoding 542 ... first inverse prediction encoding unit, 542 ... second inverse prediction encoding unit, 306 ... sprite rendering processor, 307A, 307B ... line buffer, 308 ... display controller, 309 ... image data controller, 310 ... monitor I / F, 401 ... sprite pattern memory, 402 ... CPU, 403 ... monitor.

Claims (2)

画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データを取得し、この予測符号化データから前記画像を表す画像データを復元する復号装置において、
前記予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第1の演算をそれ以外の第2の演算に対して先行して実行し、当該第2の演算の実行まで前記第1の演算の演算結果を保持する逆予測符号化部
を有することを特徴とする復号装置。
When each of a plurality of pixels constituting the image is a target pixel, the predicted value of the pixel value of the target pixel calculated from the magnitude relationship of the pixel values of a plurality of peripheral pixels located in the vicinity of the target pixel and the target In a decoding device that obtains predictive encoded data obtained by arranging prediction errors representing a difference from an actual pixel value of a pixel in order of arrangement of the pixels, and restores image data representing the image from the predictive encoded data,
Predicted value calculation processing for calculating each pixel whose prediction error is represented by the predicted encoded data as a processing target pixel, and calculating a predicted value of the pixel value from the pixel values of the plurality of surrounding pixels, and the processing target And an addition process for restoring a pixel value by adding a prediction error indicated by the predictive encoded data to the prediction value, and a pixel to be processed among the plurality of neighboring pixels. A first calculation that refers only to pixel values of pixels that are not aligned in the horizontal scanning line direction is executed prior to the other second calculations, and the first calculation is performed until the second calculation is executed. A decoding apparatus comprising: an inverse predictive coding unit that holds a calculation result of a calculation.
画像を構成する複数の画素の各々を注目画素とした場合における当該注目画素の近傍に位置する複数の周辺画素の画素値の大小関係から算出される当該注目画素の画素値の予測値と当該注目画素の実際の画素値との差分を表す予測誤差を画素の配列順に配列して得られる予測符号化データに前記予測誤差を可変長符号化する可変長符号化処理を施して得られる圧縮符号化データを取得し、この圧縮符号化データから前記画像を表す画像データを復元する復号装置において、
前記可変長符号化処理の逆演算である可変長復号化処理を前記圧縮符号化データに施し、前記予測符号化データを復元する可変長復号化部と、
前記可変長復号化部により得られた予測符号化データにより予測誤差が表される各画素を処理対象画素とし、その画素値の予測値を前記複数の周辺画素の画素値の大小関係から算出する予測値算出処理と、当該処理対象の画素について前記可変長復号化部により得られる予測符号化データの示す予測誤差を当該予測値に加算して画素値を復元する加算処理とを実行する逆予測符号化部であって、前記複数の周辺画素のうち処理対象の画素と水平走査線方向に並んでいないものの画素値のみを参照する第1の演算をそれ以外の第2の演算に対して先行して実行し、第当該第2の演算の実行まで前記1の演算の演算結果を保持する逆予測符号化部と、
を有することを特徴とする復号装置。
When each of a plurality of pixels constituting the image is a target pixel, the predicted value of the pixel value of the target pixel calculated from the magnitude relationship of the pixel values of a plurality of peripheral pixels located in the vicinity of the target pixel and the target Compression encoding obtained by subjecting prediction encoded data obtained by arranging prediction errors representing a difference between actual pixel values of pixels in the order of pixel arrangement to variable length encoding processing for variable length encoding of the prediction errors. In a decoding device that acquires data and restores image data representing the image from the compression-encoded data,
A variable length decoding unit that performs a variable length decoding process, which is an inverse operation of the variable length encoding process, on the compressed encoded data, and restores the predicted encoded data;
Each pixel whose prediction error is represented by the predictive encoded data obtained by the variable length decoding unit is a processing target pixel, and the predicted value of the pixel value is calculated from the magnitude relationship of the pixel values of the plurality of surrounding pixels. Inverse prediction for executing prediction value calculation processing and addition processing for adding a prediction error indicated by prediction encoded data obtained by the variable length decoding unit to the prediction value for the pixel to be processed to restore the pixel value A first calculation that refers to only the pixel values of the plurality of peripheral pixels that are not arranged in the horizontal scanning line direction among the plurality of peripheral pixels precedes the other second calculations. And an inverse predictive encoding unit that holds the calculation result of the first calculation until execution of the second calculation,
A decoding device comprising:
JP2009127012A 2009-05-26 2009-05-26 Decoding device Active JP5158019B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009127012A JP5158019B2 (en) 2009-05-26 2009-05-26 Decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009127012A JP5158019B2 (en) 2009-05-26 2009-05-26 Decoding device

Publications (2)

Publication Number Publication Date
JP2010278567A JP2010278567A (en) 2010-12-09
JP5158019B2 true JP5158019B2 (en) 2013-03-06

Family

ID=43425146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009127012A Active JP5158019B2 (en) 2009-05-26 2009-05-26 Decoding device

Country Status (1)

Country Link
JP (1) JP5158019B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3119025B2 (en) * 1993-04-21 2000-12-18 三菱電機株式会社 Encoding device and decoding device
JPH08130652A (en) * 1994-10-28 1996-05-21 Nippon Steel Corp Compression and expansion system for two-dimension image data
JP3684128B2 (en) * 2000-02-18 2005-08-17 キヤノン株式会社 Arithmetic encoding / decoding method and arithmetic encoding / decoding device

Also Published As

Publication number Publication date
JP2010278567A (en) 2010-12-09

Similar Documents

Publication Publication Date Title
TWI466066B (en) Block compressing system, block decompressing system and related methods
JP5214742B2 (en) Predictive image processing
JP5051087B2 (en) Lossless compression coding apparatus and lossless decoding apparatus
CN108171662B (en) Method for reading image compression data and anti-distortion method comprising same
JP2004166083A (en) Encoding device and method
RU2510939C2 (en) Decoding system and method operable to encode texture element blocks
JP6171627B2 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP2011015140A (en) Compressive coding device and decoding device
JP5158019B2 (en) Decoding device
JP5158020B2 (en) Decoding device
JP2012005070A (en) Image data decoding apparatus
JPWO2011121716A1 (en) Video encoding method, decoding method, encoding device, and decoding device
JP2021174404A (en) Data generation device, training device, and data generation method
JP3432039B2 (en) Image encoding method and apparatus
US9407918B2 (en) Apparatus and method for coding image, and non-transitory computer readable medium thereof
JP2006094225A (en) Image processing apparatus, image processing method, and its program
JP2713930B2 (en) Image processing method
JP5343707B2 (en) Image processing device
JP5570846B2 (en) Image encoding device
JP2011175542A (en) Image data processor
JP2014187473A (en) Image compression device and image processing system
JP4825755B2 (en) Arithmetic decoder and entropy decoder
JP4136801B2 (en) Pixel processing circuit
JP2002197075A (en) Data processor, its control method, data processing method and computer readable memory
JP2003324732A5 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121018

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: 20121113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121126

R150 Certificate of patent or registration of utility model

Ref document number: 5158019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3