JP5546329B2 - Data converter - Google Patents

Data converter Download PDF

Info

Publication number
JP5546329B2
JP5546329B2 JP2010093308A JP2010093308A JP5546329B2 JP 5546329 B2 JP5546329 B2 JP 5546329B2 JP 2010093308 A JP2010093308 A JP 2010093308A JP 2010093308 A JP2010093308 A JP 2010093308A JP 5546329 B2 JP5546329 B2 JP 5546329B2
Authority
JP
Japan
Prior art keywords
data
block
coefficient
parity
sub
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
JP2010093308A
Other languages
Japanese (ja)
Other versions
JP2011223518A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010093308A priority Critical patent/JP5546329B2/en
Publication of JP2011223518A publication Critical patent/JP2011223518A/en
Application granted granted Critical
Publication of JP5546329B2 publication Critical patent/JP5546329B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像データの圧縮符号化技術に関するものであり、特に、実空間ブロック整数データから周波数空間ブロック整数データへの可逆な変換における直流成分係数への変換技術に関するものである。   The present invention relates to a compression coding technique for image data, and more particularly to a technique for conversion to DC component coefficients in reversible conversion from real space block integer data to frequency space block integer data.

静止画像の国際標準符号化方式として、ISOとITU−Tにより勧告されたJEPGがある。JEPGでは、画像データを8×8画素のブロック単位に分割し、該ブロックに8×8サイズの離散コサイン変換を適用して、周波数空間上の係数データに変換する。そして、該係数データを量子化し、該量子化したデータをエントロピー符号化して画像データの非可逆な圧縮を行なう。   As an international standard encoding system for still images, there is JEPG recommended by ISO and ITU-T. In JEPPG, image data is divided into blocks of 8 × 8 pixels, and a discrete cosine transform of 8 × 8 size is applied to the blocks to convert them into coefficient data on a frequency space. Then, the coefficient data is quantized, and the quantized data is entropy-encoded to perform irreversible compression of the image data.

ここで、上記の量子化における量子化ステップの大小の制御によって圧縮率を調整することができる。量子化によって失われた情報は復元することは出来ないが、視覚的に目立ちにくい部分から情報を削ることによって、それ以前の符号化よりも大幅に画像データを圧縮することができる。   Here, the compression ratio can be adjusted by controlling the quantization step in the above quantization. Information lost due to quantization cannot be recovered, but image data can be compressed more significantly than previous coding by removing the information from a visually inconspicuous part.

JPEG符号化方式において、量子化ステップを“1”に設定して量子化を行なうとする。この場合、DCTという正規直交変換の性質から、ブロック内の実空間上のデータの二乗和と、周波数空間上の係数データの二乗和が等しくなり、変換によって信号パワーが失われることなく保存される。しかし、情報的には欠損を生じるため、係数データを逆変換しても元のデータを完全に復元することが出来ない。これは、量子化ステップを“1”に設定して量子化したとしても、可逆符号化を行なうことが出来ないことを意味する。よって、JPEGでは、DCTとは全く異なる隣接画素間の予測差分に対するエントロピー符号化という、別の符号化プロセスを定めることで、この可逆符号化を実現している。   In the JPEG encoding method, it is assumed that quantization is performed with the quantization step set to “1”. In this case, due to the nature of orthonormal transformation called DCT, the sum of squares of the data in the real space in the block and the square sum of the coefficient data in the frequency space are equal, and the signal power is not lost by the transformation. . However, since information is lost, the original data cannot be completely restored even if the coefficient data is inversely transformed. This means that lossless encoding cannot be performed even if the quantization step is set to “1” and quantization is performed. Therefore, in JPEG, this lossless encoding is realized by defining another encoding process called entropy encoding for a prediction difference between adjacent pixels that is completely different from DCT.

JPEGの次に定められた静止画像の国際標準符号化方式であるJPEG2000では非可逆圧縮用のウェーブレット変換と可逆圧縮用のウェーブレット変換の2種類を用意して、非可逆圧縮と可逆圧縮に対応させた。変換より後の符号化プロセスは非可逆圧縮と可逆圧縮で共通化されたが、変換までは共通化されていない。   JPEG2000, the international standard encoding method for still images defined next to JPEG, provides two types of wavelet transform for lossy compression and wavelet transform for lossless compression to support lossy compression and lossless compression. It was. The encoding process after the conversion is shared by the lossy compression and the lossless compression, but the conversion is not shared.

さらにその後、国際標準符号化方式として定められたJPEG‐XRでは、後に示す非特許文献1に記載されているラダー演算(リフティング演算)を用いることにより、非可逆圧縮と可逆圧縮に共通する整数データから整数係数への可逆な変換を定めている。これによって、符号化プロセス全てを非可逆圧縮と可逆圧縮で共通化することが可能になった。   Furthermore, in JPEG-XR defined as an international standard encoding method, integer data common to lossy compression and lossless compression is obtained by using a ladder operation (lifting operation) described in Non-Patent Document 1 described later. Defines a reversible conversion from to integer coefficients. As a result, the entire encoding process can be shared by lossy compression and lossless compression.

JPEG‐XRでは、4×4画素サイズのブロック、16×16画素サイズのマクロブロック、それより大きなタイルを定義しており、タイル単位で符号化を行なう。また、実空間から周波数空間への変換は次のように階層的に行なっている。   JPEG-XR defines 4 × 4 pixel size blocks, 16 × 16 pixel size macroblocks, and larger tiles, and performs encoding in tile units. The conversion from the real space to the frequency space is performed hierarchically as follows.

図1(A)に示す4×4画素サイズのブロックを、それぞれが図1(B)乃至(E)に示す4画素で構成されるサブブロックに区分する。そしてそれぞれのサブブロックに対して整数係数への可逆なアダマール変換(以下、整数可逆アダマール変換と称す)を適用して、4つの係数に変換する。   A block having a size of 4 × 4 pixels shown in FIG. 1A is divided into sub-blocks each having four pixels shown in FIGS. Then, a reversible Hadamard transform to an integer coefficient (hereinafter referred to as an integer reversible Hadamard transform) is applied to each sub-block to convert it into four coefficients.

更に、4つのサブブロックそれぞれの同一レベルの変換係数を集めて、4組の変換係数群を形成し、それに対し、さらに変換を適用する。すなわち、サブブロックの直流成分係数(DC係数)を4つ集めた組に対しては、再度、整数可逆アダマール変換が適用され、ブロック単位のDC係数(ブロックDC係数)と3つの非直流係数(AC係数)が生成される。その他の3つの組に対しては、各々4つのデータを2×2データと見なし、それを2軸方向から回転変換する変換を適用してAC係数に変換される。この段階で得られるAC係数はHP係数に分類される。結局、1つのブロックデータ(4×4画素データ)は、1個のブロックDC係数と、15個のHP係数に変換されることになる。   Furthermore, the transform coefficients at the same level in each of the four sub-blocks are collected to form four sets of transform coefficients, and further transforms are applied to the group. That is, an integer reversible Hadamard transform is again applied to a set of four sub-block DC component coefficients (DC coefficients), and a block-unit DC coefficient (block DC coefficient) and three non-DC coefficients ( AC coefficient) is generated. For the other three sets, each of the four data is regarded as 2 × 2 data, and is converted into an AC coefficient by applying a conversion in which the rotation is converted from the biaxial direction. AC coefficients obtained at this stage are classified as HP coefficients. Eventually, one block data (4 × 4 pixel data) is converted into one block DC coefficient and 15 HP coefficients.

該ブロックDC係数は、マクロブロックを構成する16個のブロックから集められ4×4のブロックDC係数データに対して、上記と同様のブロック変換が再び適用される。該変換によって得られるAC係数はLP係数に分類され、この変換で得られる直流成分係数はマクロブロックのDC成分を表し、これが最終的なDC係数に分類される。本明細書では該DC係数を、前述のブロックDC係数と混同しないようにマクロブロックDC係数と呼んで区別する。   The block DC coefficients are collected from the 16 blocks constituting the macroblock, and the same block transformation as described above is again applied to the 4 × 4 block DC coefficient data. The AC coefficient obtained by the conversion is classified as an LP coefficient, and the DC component coefficient obtained by the conversion represents a DC component of the macroblock, which is classified as a final DC coefficient. In this specification, the DC coefficient is distinguished from the above-described block DC coefficient by calling it a macroblock DC coefficient so as not to be confused.

JPEG‐XRの符号化モードには、Spatial Modeと、Frequency Modeとがある。Frequency Modeでは、タイル内の全てのマクロブロックDC係数を符号化処理した後に、タイル内の全てのLP係数、続いてHP係数の順に符号化処理して符号化ストリームを形成する。   JPEG-XR encoding modes include Spatial Mode and Frequency Mode. In Frequency Mode, all macroblock DC coefficients in a tile are encoded, and then encoded in the order of all LP coefficients in the tile, followed by HP coefficients, to form an encoded stream.

リフティング演算を用いて演算する整数可逆変換では、入力データを相互に逐次的に更新して変換してくため、ブロックDC係数を生成する際に、AC係数も同時に生成するのが一般的であり、その方が効率よく変換できる。しかし、ブロックDC係数のみを残し、AC係数または途中の演算結果を一切保存せずに消し去ったりすると、変換処理の効率が著しく低下する。JPEG‐XRで採用されている各種リフティング演算は、特許文献1に詳細に記載されているが、やはり、DC係数とAC係数を同時に生成することがその前提になっている。   In the integer reversible transform that uses the lifting operation, the input data is sequentially updated and converted. Therefore, when the block DC coefficient is generated, the AC coefficient is generally generated at the same time. It can be converted more efficiently. However, if only the block DC coefficient is left and the AC coefficient or an intermediate calculation result is deleted without being saved, the efficiency of the conversion process is significantly reduced. Various lifting operations employed in JPEG-XR are described in detail in Japanese Patent Application Laid-Open No. 2004-151620, but it is also assumed that a DC coefficient and an AC coefficient are generated simultaneously.

よって、1つのマクロブロックDC係数を生成した時点で、通常は15個のLP係数と240個(=15係数×16ブロック)のHP係数が同時に生成される。これらLP係数やHP係数を、廃棄すると極端に変換処理の効率が悪くなるため、メモリやバッファ等に一時的に保存しておく必要がある。   Therefore, when one macroblock DC coefficient is generated, normally 15 LP coefficients and 240 (= 15 coefficients × 16 blocks) HP coefficients are generated simultaneously. If these LP coefficients and HP coefficients are discarded, the efficiency of the conversion process becomes extremely low, so it is necessary to temporarily store them in a memory or a buffer.

ここで言う「バッファ」は圧縮符号化等の機能を実装したLSI(大規模集積回路)の内部に持つ小容量の記憶部、「メモリ」は比較的容量の大きな汎用メモリをさす。該汎用メモリは前記LSIに接続し大容量記憶部として使われる。   The “buffer” here refers to a small-capacity storage unit in an LSI (Large Scale Integrated circuit) on which a function such as compression coding is implemented, and the “memory” refers to a general-purpose memory having a relatively large capacity. The general-purpose memory is connected to the LSI and used as a large-capacity storage unit.

前記LP係数、HP係数の保存先は、機器によって異なる。どちらの係数もメモリに保存する場合もあれば、LP係数をバッファへHP係数をメモリへ保存する場合もある。いずれにしても、データ量の多い係数ほど容量の大きなメモリへ保存する可能性が高い。   The storage destination of the LP coefficient and the HP coefficient differs depending on the device. Both coefficients may be stored in memory, and LP coefficients may be stored in a buffer and HP coefficients may be stored in a memory. In any case, a coefficient having a larger amount of data is more likely to be stored in a memory having a larger capacity.

前記Frequency Modeでは、タイル内の複数のマクロブロックDC係数を続けて符号化し、それに対応する大量のHP係数やLP係数が生成されるため、これらは、基本的に「メモリ」へ保存される。また、メモリへ保存した係数データは、実際に符号化処理するタイミングで読み出して、前記LSIへ供給する必要がある。このようなメモリへの保存や読み出しは、メモリアクセス帯域が増加することを意味する。そこでメモリアクセス回数の概算を以下に示す。   In the Frequency Mode, a plurality of macroblock DC coefficients in a tile are continuously encoded, and a large amount of HP coefficients and LP coefficients corresponding to the same are generated, so these are basically stored in “memory”. Further, the coefficient data stored in the memory needs to be read at the timing of actual encoding processing and supplied to the LSI. Such saving and reading to the memory means that the memory access bandwidth is increased. Therefore, the approximate number of memory accesses is shown below.

今、仮に、符号化処理すべき画像データがメモリに保存されていたとすると、周波数空間上の係数データへの変換処理で画像データを1回読み出す必要がある。   If the image data to be encoded is stored in the memory, it is necessary to read the image data once by the conversion process to coefficient data on the frequency space.

該変換処理で生成したLP係数とHP係数の両方をメモリに保存する場合、256個の画素データ当たり255個の係数を保存することになるため、平均して255/256回≒1回の書き込みを行なう必要がある。保存した係数データは後に符号化処理するために必ず読み出すわけであるから、該係数データの読み出し回数は前記書き込み回数と同等である。結局、元の画像データからカウントすると計3回の読み出し又は書き込みを行なう必要がある。   When both the LP coefficient and the HP coefficient generated by the conversion processing are stored in the memory, 255 coefficients are stored per 256 pixel data, so that, on average, 255/256 times≈1 writing It is necessary to do. Since the saved coefficient data is always read for later encoding processing, the number of times of reading the coefficient data is equal to the number of times of writing. After all, when counting from the original image data, it is necessary to read or write a total of three times.

Frequency Modeでは無くSpatial Modeの場合、マクロブロック単位でDC係数、LP係数とHP係数の順に符号化する。この場合には、1マクロブロック分の係数を保持するだけでよいため、LSI内部のバッファで係数データを保持することが可能である。よって、前記メモリからの画像データの読み出しは1回だけで済む。比較するとFrequency Modeは、Spatial Modeの3倍のメモリアクセス量になる。   In the case of Spatial Mode instead of Frequency Mode, encoding is performed in the order of DC coefficients, LP coefficients, and HP coefficients in units of macroblocks. In this case, since it is only necessary to hold the coefficient for one macroblock, the coefficient data can be held in a buffer inside the LSI. Therefore, it is only necessary to read the image data from the memory once. In comparison, Frequency Mode has a memory access amount that is three times that of Spatial Mode.

前述のように、LP係数・HP係数を廃棄すると、変換処理の効率が極端に悪くなるため、生成したLP係数・HP係数は一時保存しておく必要があるが、メモリに保存するとメモリアクセス量が増大してしまう。もし、ブロックDC係数のみの生成を簡易に実現できれば、同時にHP係数を生成する必要が無くなり、その結果、HP係数を廃棄したり、一時保存することも必要無くなる。マクロブロックDC係数を生成する際のLP係数の生成に関しても同様のことが言える。   As described above, if the LP coefficient / HP coefficient is discarded, the efficiency of the conversion process is extremely deteriorated. Therefore, the generated LP coefficient / HP coefficient must be temporarily stored. Will increase. If the generation of only the block DC coefficient can be easily realized, it is not necessary to simultaneously generate the HP coefficient, and as a result, it is not necessary to discard or temporarily store the HP coefficient. The same applies to the generation of LP coefficients when generating macroblock DC coefficients.

特開2006−197572号公報JP 2006-197572 A

F.Bruekers and A.Enden,“New Networks for Perfect Inversion and Perfect Reconstruction”IEEE JSAC,vol.10,no.1.pp.130−137,Jan 1992F. Brukers and A.M. Enden, “New Networks for Perfect Inversion and Perfect Reconstruction” IEEE JSAC, vol. 10, no. 1. pp. 130-137, Jan 1992

上記の通り、これまでの整数可逆ブロック変換を実現する従来の演算装置では、演算を効率よく行なうために、DC係数とAC係数を合せて生成する必要があった。そのAC係数を直ちに符号化しないモードでは、該AC係数をメモリ等に一時保存する必要があり、これがメモリアクセス回数を増大させるという新たな問題を引き起こしていた。   As described above, in the conventional arithmetic unit that implements the conventional integer reversible block transform, it is necessary to generate the DC coefficient and the AC coefficient together in order to perform the calculation efficiently. In the mode in which the AC coefficient is not immediately encoded, it is necessary to temporarily store the AC coefficient in a memory or the like, which causes a new problem of increasing the number of memory accesses.

本発明は、2次元配列の係数ブロックから、簡単な構成で、その係数ブロックの可逆変換DC係数データを算出する技術を提供しようとするものである。   The present invention intends to provide a technique for calculating reversible transform DC coefficient data of a coefficient block from a coefficient block of a two-dimensional array with a simple configuration.

この課題を解決するため、例えば本発明のデータ変換装置は以下の構成を備える。すなわち、
n(nは2以上の整数)個の整数データで構成されるブロックから、当該ブロックに対する可逆変換可能な整数変換係数のうちDC係数を算出するデータ変換装置であって、
前記ブロックを予め設定された4個のデータで構成されるサブブロックに区分し、サブブロック毎に、それぞれのサブブロックを構成する4個のデータの総和値が偶数か奇数かを表わす0又は1のいずれかの値を持つパリティを生成するパリティ生成手段と、
前記ブロックを構成する全てのデータが示す値の総和値を算出する総和演算手段と、
該総和演算手段で算出した総和値と、前記パリティ生成部で算出された各サブブロックのパリティの値とを加算する加算手段と、
該加算手段で得られた値から、前記ブロックに対する可逆な整数のDC係数データを演算するDC係数演算手段とを備える。
In order to solve this problem, for example, the data conversion apparatus of the present invention has the following configuration. That is,
A data conversion device that calculates a DC coefficient among integer conversion coefficients that can be reversibly converted with respect to a block from 4 n (n is an integer of 2 or more) pieces of integer data,
The block is divided into sub-blocks composed of four preset data, and 0 or 1 indicating whether the total value of the four data composing each sub-block is even or odd for each sub-block Parity generation means for generating parity having any of the following values:
A sum calculating means for calculating a sum of values indicated by all data constituting the block;
Adding means for adding the sum value calculated by the sum calculating means and the parity value of each sub-block calculated by the parity generation unit;
DC coefficient calculating means for calculating reversible integer DC coefficient data for the block from the value obtained by the adding means.

本発明によれば、格段に小さな回路規模で、整数可逆変換のDC係数を生成することが可能になる。   According to the present invention, it is possible to generate a DC coefficient for integer reversible transformation with a remarkably small circuit scale.

該演算装置をDC係数の専用生成回路として、符号化装置内に設けることにより、LP係数・HP係数を生成すること無く、DC係数を簡易に生成でき、LP係数・HP係数をメモリへ保存する必要が無くなる。よって、LP係数・HP係数のメモリ書き込みが不要になった分だけ、メモリアクセス回数を削減することができる。   By providing the arithmetic unit as a DC coefficient dedicated generation circuit in the encoding apparatus, the DC coefficient can be easily generated without generating the LP coefficient / HP coefficient, and the LP coefficient / HP coefficient is stored in the memory. There is no need. Therefore, the number of memory accesses can be reduced by the amount that the LP coefficient / HP coefficient is not required to be written into the memory.

ブロックと4つのサブブロックの関係を示す図。The figure which shows the relationship between a block and four subblocks. 本発明の適用に好適な符号化装置の構成を表す図。The figure showing the structure of the encoding apparatus suitable for application of this invention. パリティ生成部の構成を表す図。The figure showing the structure of a parity generation part. 本発明の第1の実施形態であるDC係数演算装置の構成を表す図。The figure showing the structure of the DC coefficient calculating apparatus which is the 1st Embodiment of this invention. 本発明の第2の実施形態であるDC係数演算装置の構成を表す図。The figure showing the structure of the DC coefficient calculating apparatus which is the 2nd Embodiment of this invention. 本発明の第3の実施形態であるDC係数演算装置の構成の例を表す図。The figure showing the example of a structure of the DC coefficient calculating apparatus which is the 3rd Embodiment of this invention. 本発明の第4の実施形態であるDC係数演算装置の構成を表す図。The figure showing the structure of the DC coefficient calculating apparatus which is the 4th Embodiment of this invention.

以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、本実施形態において、本発明のデータ変換装置をJPEG XRに適用した例を説明する。   Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. In this embodiment, an example in which the data conversion apparatus of the present invention is applied to JPEG XR will be described.

符号化対象のマクロブロックDC係数データを生成するには、それ以前にこのマクロブロックを構成する16個のブロックにおけるブロックDC係数データを生成する必要がある。Frequency Modeでは、該ブロックDC係数データを生成する時に、同時にHP係数を生成すると、その係数データは膨大な量になるため、メモリ等に一時保存するか、あるいは廃棄する必要がある。前述したように、これは大変効率の悪い処理である。   In order to generate macroblock DC coefficient data to be encoded, it is necessary to generate block DC coefficient data in 16 blocks constituting the macroblock before that. In the Frequency Mode, when the block DC coefficient data is generated, if the HP coefficient is generated at the same time, the coefficient data becomes enormous, so it is necessary to temporarily store it in a memory or discard it. As mentioned above, this is a very inefficient process.

そこで、本発明を前提にした符号化処理手順を以下の1〜9に示し、該処理手順を実現可能な符号化装置の構成を図2に示す。図2に示すように、この符号化装置は、第1の変換部301、セレクタ302、第2の変換部304、第3の変換部303、メモリ制御部305、画像記憶部306、セレクタ307、階層制御部308、係数符号化部310を有する。この符号化装置において、各処理手順を以下に示す。また、各処理手順がどの構成要素で処理されるのかを右矢印(→)の右側に記す。
1.ブロックDC係数データを生成(→第1の変換部301)
2.生成したブロックDC係数データを一時保存(→バッファ309)
3.4×4個のブロックDC係数データからマクロブロックDC係数データを生成(→第3の変換部303)
4.マクロブロックDC係数データを符号化(→係数符号化部310)
(これら1〜4をタイル内の全データに対して行なう)
5.4×4個のブロックDC係数データをブロック変換してLP係数を生成(→第2の変換部304)
6.LP係数データを符号化(→係数符号化部310)
(5と6をタイル内の全ブロックDC係数に対して行なう)
7.画像データにブロック変換を行ない、HP係数データを生成(→第2の変換部304)
8.HP係数データを符号化(→係数符号化部310)
(7と8をタイル内の全画像データに対して行なう)
9.次に符号化すべきタイル画像データに上記手順1〜8を適用
Therefore, encoding processing procedures based on the present invention are shown in the following 1 to 9, and the configuration of an encoding device capable of realizing the processing procedures is shown in FIG. As shown in FIG. 2, the encoding apparatus includes a first conversion unit 301, a selector 302, a second conversion unit 304, a third conversion unit 303, a memory control unit 305, an image storage unit 306, a selector 307, A layer control unit 308 and a coefficient encoding unit 310 are included. In this encoding apparatus, each processing procedure is shown below. Further, which component is processed by each processing procedure is indicated on the right side of the right arrow (→).
1. Generate block DC coefficient data (→ first conversion unit 301)
2. The generated block DC coefficient data is temporarily saved (→ buffer 309).
Generation of macroblock DC coefficient data from 3.4 × 4 block DC coefficient data (→ third conversion unit 303)
4). Encode macroblock DC coefficient data (→ coefficient encoding unit 310)
(These 1 to 4 are performed for all data in the tile.)
5.4 × 4 block DC coefficient data is block-converted to generate LP coefficients (→ second conversion unit 304)
6). LP coefficient data is encoded (→ coefficient encoding unit 310).
(Do 5 and 6 for all block DC coefficients in tile)
7). Block conversion is performed on image data to generate HP coefficient data (→ second conversion unit 304)
8). HP coefficient data is encoded (→ coefficient encoding unit 310).
(Do 7 and 8 for all image data in the tile)
9. Apply steps 1-8 to tile image data to be encoded next

通常、ブロックDC係数データとHP係数データは、画像データのブロック変換(周波数変換)によって同時に生成する。また、マクロブロックDC係数データとLP係数データも、前記ブロックDC係数データのブロック変換によって同時に生成する。それに対し、上記処理フローでは、ブロックDC係数データ、或いは、マクロブロックDC係数データのみを、本実施形態基づく独自の方法、すなわち、サブブロック単位で計算するパリティを利用した演算によって生成する。   Normally, block DC coefficient data and HP coefficient data are generated simultaneously by block conversion (frequency conversion) of image data. Macroblock DC coefficient data and LP coefficient data are also generated simultaneously by block conversion of the block DC coefficient data. On the other hand, in the above processing flow, only the block DC coefficient data or only the macroblock DC coefficient data is generated by the unique method based on this embodiment, that is, the operation using the parity calculated in units of subblocks.

以下では、第1の実施形態で、ブロックに対する可逆変換可能な整数変換係数のうちDC係数データのみの生成方法を示し、第2以降の実施形態で、マクロブロックDC係数データの生成方法を示す。   Hereinafter, in the first embodiment, a method for generating only DC coefficient data among integer transform coefficients that can be reversibly converted to a block will be shown, and in the second and subsequent embodiments, a method for generating macroblock DC coefficient data will be shown.

JPEG−XR勧告書に記載されたブロック変換のDC係数データは、既に説明したように、図1(A)に示す4×4個の整数データを、図1(B)乃至(E)に示す4つのサブブロックに区分して、以下のように変換処理することによって生成できる。   As described above, the DC coefficient data for block conversion described in the JPEG-XR recommendation document is the 4 × 4 integer data shown in FIG. 1 (A) and shown in FIGS. 1 (B) to (E). It can be generated by dividing into four sub-blocks and performing conversion processing as follows.

まず、4つのサブブロックそれぞれに対し1段目の整数可逆アダマール変換を行なうことで、4つのサブブロックDC係数データを得る。そして、その4つのサブブロックDC係数データに対して、2段目の整数可逆アダマール変換を行なう。この2段目の整数可逆アダマール変換のDC係数データが、前記ブロックDC係数である。   First, the first-stage integer reversible Hadamard transform is performed on each of the four sub-blocks to obtain four sub-block DC coefficient data. Then, the second-stage integer reversible Hadamard transform is performed on the four sub-block DC coefficient data. The DC coefficient data of the second-stage integer reversible Hadamard transform is the block DC coefficient.

1つのサブブロック(図1(B)乃至(E)のいずれか)に着目したとき、そのサブブロック内のデータの総和値が偶数であるなら、その総和値を2で割った値と、そのサブブロックのサブブロックDC係数データが示す値は等しい。つまり、着目サブブロックに対する、1段目の整数可逆アダマール変換では丸め誤差が発生しない。   When focusing on one sub-block (any one of FIGS. 1B to 1E), if the total value of the data in the sub-block is an even number, a value obtained by dividing the total value by 2, The values indicated by the sub-block DC coefficient data of the sub-block are equal. That is, no rounding error occurs in the first-stage integer reversible Hadamard transform for the target sub-block.

一方、着目サブブロックにおけるデータの総和値が奇数の場合、その総和値を2で割った値には、0.5の小数データが付く。この小数点を切り上げた値が、JPEG−XRと互換性のある整数のサブブロックDC係数データの値になる。この場合、+0.5の丸め誤差が発生する。総和値が奇数のサブブロック毎に+0.5の丸め誤差が発生し、それが2段目のアダマール変換へ入力される。   On the other hand, when the total value of the data in the target sub-block is an odd number, the value obtained by dividing the total value by 2 is appended with 0.5 decimal data. The value obtained by rounding up the decimal point becomes the value of integer sub-block DC coefficient data compatible with JPEG-XR. In this case, a rounding error of +0.5 occurs. A rounding error of +0.5 occurs for each sub-block having an odd sum, and this is input to the second-stage Hadamard transform.

一方、JPEGやMPEGにおけるDCT(離散コサイン変換)のような線形直交変換であれば、ブロック(4×4サイズ)内の全データの総和値を求め、これを1/4倍するだけで線形変換DC係数を演算することができる。該全データの総和値はデータの入力順序を気にせず、入力されたデータを順に加算するだけで演算でき、単純な構成で線形変換DC係数を生成できる。   On the other hand, in the case of linear orthogonal transformation such as DCT (discrete cosine transformation) in JPEG or MPEG, the total value of all data in a block (4 × 4 size) is obtained, and linear transformation is performed simply by multiplying this by 1/4. DC coefficients can be calculated. The total value of all the data can be calculated by adding the input data in order without worrying about the input order of the data, and a linear conversion DC coefficient can be generated with a simple configuration.

[第1の実施形態:行方向の4データの並列入力する場合]
そこで、本第1の実施形態では、ブロック内全データの総和値をベースに、整数可逆変換のブロックDC係数を演算可能な演算装置を開示する。該演算装置によれば、単純な構成で前記ブロックDC係数を生成可能になる。以下に説明するブロックDC係数演算装置は、図2における第1の変換部301、第3の変換部303に適用されるものでもある。
[First embodiment: When four data in the row direction are input in parallel]
Therefore, in the first embodiment, an arithmetic device capable of calculating a block DC coefficient of integer reversible transformation based on the total value of all the data in the block is disclosed. According to the arithmetic device, the block DC coefficient can be generated with a simple configuration. The block DC coefficient calculation device described below is also applied to the first conversion unit 301 and the third conversion unit 303 in FIG.

まず、本第1の実施形態の大きな特徴である、サブブロック単位のパリティの計算方法とパリティ生成部の構成を先に示し、その後に、該パリティ生成部を用いたブロックDC係数演算装置の構成を示す。   First, the major feature of the first embodiment is that the sub-block-unit parity calculation method and the configuration of the parity generation unit are shown first, and then the configuration of the block DC coefficient calculation device using the parity generation unit. Indicates.

先に示した2段目のアダマール変換へ入力される4つのデータの和は、線形変換におけるブロック内データの総和値より、サブブロック毎に発生する丸め誤差の分だけ大きい。よって、ブロック内データの総和値へ、各サブブロックの整数可逆アダマール変換の丸め誤差を正確に加算できれば、2段目のアダマール変換へ入力される4つのデータの和を計算することができる。   The sum of the four data input to the second-stage Hadamard transform shown above is larger than the total value of the intra-block data in the linear transform by the rounding error that occurs for each sub-block. Therefore, if the rounding error of the integer reversible Hadamard transform of each sub-block can be accurately added to the total value of the data in the block, the sum of the four data input to the second-stage Hadamard transform can be calculated.

ここで、前述したように、ブロック内データの総和値はデータの入力順序に依存せず、該データを入力された順に加算するだけでよく、単純な構成で演算できる。   Here, as described above, the sum value of the data in the block does not depend on the input order of the data, it is only necessary to add the data in the input order, and the calculation can be performed with a simple configuration.

それに対し、サブブロック単位で丸め誤差が発生するかどうかは、データの入力順序に依存した演算を行なう必要がある。但し、丸め誤差(+0.5または0)を表す信号は1ビットで、サブブロック内データの総和値の奇偶(性)に一致する。   On the other hand, whether or not a rounding error occurs in units of sub-blocks needs to be calculated depending on the data input order. However, the signal representing the rounding error (+0.5 or 0) is 1 bit, which matches the odd / even (sex) of the sum value of the data in the sub-block.

そこで、本実施形態では、4つのサブブロック毎に、そのデータの総和値が奇数/偶数のどちらになるかをパリティ(ビット)Pi(i=0,1,2,3)として計算し生成する。以下、パリティPiの演算内容を説明するが、図1(A)の4×4個のブロックデータをラスタ走査順に、Data[i](i=0,1,2,3,,,13,14,15)と表わす。   Therefore, in the present embodiment, for each of the four sub-blocks, the parity (bit) Pi (i = 0, 1, 2, 3) is calculated and generated to determine whether the total value of the data is odd or even. . Hereinafter, the calculation contents of the parity Pi will be described. Data [i] (i = 0, 1, 2, 3,..., 13, 14) of 4 × 4 block data in FIG. , 15).

図1(B)のサブブロックのパリティをP0、図1(C)のサブブロックのパリティをP1、図1(D)のサブブロックのパリティをP2、図1(E)のサブブロックのパリティをP3とすると、それらは次式(1)により演算できる。
P0 = (Data[0] & 1) ^ (Data[3] & 1) ^ (Data[12] & 1) ^ (Data[15] & 1)
P1 = (Data[1] & 1) ^ (Data[2] & 1) ^ (Data[13] & 1) ^ (Data[14] & 1)
P2 = (Data[4] & 1) ^ (Data[7] & 1) ^ (Data[8] & 1) ^ (Data[11] & 1)
P3 = (Data[5] & 1) ^ (Data[6] & 1) ^ (Data[9] & 1) ^ (Data[10] & 1) …(1)
ここで、上記(1)式における、“&”は同じ位のビット間の論理積演算子を示し、“^”はビット間の排他的論理和演算子を示す。従って、“Data[i] & 1”によって、Data[i]の最下位1ビットが抽出される。上記の演算の結果、図1(B)のサブブロック内の4つのデータの総和値が偶数ならP0=0となり、その総和値が奇数ならP0=1となる。他のサブブロックも同様である。
The parity of the sub-block of FIG. 1B is P0, the parity of the sub-block of FIG. 1C is P1, the parity of the sub-block of FIG. 1D is P2, and the parity of the sub-block of FIG. Assuming P3, they can be calculated by the following equation (1).
P0 = (Data [0] & 1) ^ (Data [3] & 1) ^ (Data [12] & 1) ^ (Data [15] & 1)
P1 = (Data [1] & 1) ^ (Data [2] & 1) ^ (Data [13] & 1) ^ (Data [14] & 1)
P2 = (Data [4] & 1) ^ (Data [7] & 1) ^ (Data [8] & 1) ^ (Data [11] & 1)
P3 = (Data [5] & 1) ^ (Data [6] & 1) ^ (Data [9] & 1) ^ (Data [10] & 1)… (1)
Here, in the above equation (1), “&” indicates a logical product operator between the same bits, and “^” indicates an exclusive logical OR operator between the bits. Therefore, the least significant bit of Data [i] is extracted by “Data [i] & 1”. As a result of the above calculation, P0 = 0 if the total value of the four data in the sub-block of FIG. 1B is an even number, and P0 = 1 if the total value is an odd number. The same applies to the other sub-blocks.

また、上記(1)式の替わりに下記(2)式のように演算することもできる。この演算はサブブロックの4つのデータが並列に入力され、該4つのデータの加算を容易に行える場合に有効である。
P0=(Data[0] + Data[3] + Data[12] + Data[15]) & 1
P1=(Data[1] + Data[2] + Data[13] + Data[14]) & 1
P2=(Data[4] + Data[7] + Data[8] + Data[11]) & 1
P3=(Data[5] + Data[6] + Data[9] + Data[10]) & 1 …(2)
ここで、演算子“+”は文字とおり数値の加算を表わす。
Further, instead of the above equation (1), the calculation can be performed as in the following equation (2). This calculation is effective when the four data of the sub-block are input in parallel and the four data can be easily added.
P0 = (Data [0] + Data [3] + Data [12] + Data [15]) & 1
P1 = (Data [1] + Data [2] + Data [13] + Data [14]) & 1
P2 = (Data [4] + Data [7] + Data [8] + Data [11]) & 1
P3 = (Data [5] + Data [6] + Data [9] + Data [10]) & 1… (2)
Here, the operator “+” literally represents addition of numerical values.

式(1)に示したパリティ計算式に基づいてパリティP0,P1,P2,P3を生成するパリティ生成部400の構成を図3に示す。ここでは、ブロックデータがラスタ走査順に4並列で入力されるものとしている。また、図3のパリティ生成部400には、並列入力される4つのデータそれぞれの最下位ビット(LSB)のみが入力されるものとする。   FIG. 3 shows the configuration of the parity generation unit 400 that generates the parity P0, P1, P2, P3 based on the parity calculation formula shown in Expression (1). Here, it is assumed that block data is input in parallel in the order of raster scanning. Also, it is assumed that only the least significant bit (LSB) of each of four pieces of data input in parallel is input to the parity generation unit 400 of FIG.

図3の構成において、端子群401からは、上記の並列に入力される4つのデータの最下位ビットが入力されるが、最初の4並列入力データ{Data[0], Data[1], Data[2], Data[3]}から、
(Data[0] & 1)^(Data[3] & 1)
(Data[1] & 1)^(Data[2] & 1)
が算出される。
In the configuration of FIG. 3, the least significant bit of the four data input in parallel is input from the terminal group 401, but the first four parallel input data {Data [0], Data [1], Data From [2], Data [3]}
(Data [0] & 1) ^ (Data [3] & 1)
(Data [1] & 1) ^ (Data [2] & 1)
Is calculated.

2番目の4並列入力データ{Data[4], Data[5], Data[6], Data[7]}から、
(Data[4] & 1)^(Data[7] & 1)
(Data[5] & 1)^(Data[6] & 1)
が算出される。
From the second 4 parallel input data {Data [4], Data [5], Data [6], Data [7]}
(Data [4] & 1) ^ (Data [7] & 1)
(Data [5] & 1) ^ (Data [6] & 1)
Is calculated.

これらの演算は、排他的論理和素子411、412にて計算され、排他的論理和素子413、414を通過して、参照符号420乃至423で示される1ビットのレジスタR0,R1,R2,R3に格納される。これらレジスタR0、R1、R2、R3に格納されたビットデータは、パリティP0,P1,P2,P3を生成するために利用される。   These operations are calculated by the exclusive OR elements 411 and 412, pass through the exclusive OR elements 413 and 414, and are stored in 1-bit registers R 0, R 1, R 2 and R 3 indicated by reference numerals 420 to 423. Stored in The bit data stored in these registers R0, R1, R2, and R3 is used to generate parities P0, P1, P2, and P3.

次に3番目の4並列入力データ{Data[8], Data[9], Data[10], Data[11]}から、
(Data[8] & 1)^(Data[11] & 1)
(Data[9] & 1)^(Data[10] & 1)
が算出される。そして、これらは各々、セレクタ431,432で選択されたレジスタR2とR3に保持されている1ビットデータと排他的論理和素子413、414にて排他的論理和演算され、パリティP2,P3として端子441,442から出力される。
Next, from the third 4 parallel input data {Data [8], Data [9], Data [10], Data [11]}
(Data [8] & 1) ^ (Data [11] & 1)
(Data [9] & 1) ^ (Data [10] & 1)
Is calculated. These are subjected to exclusive OR operation by the exclusive OR elements 413 and 414 and the 1-bit data held in the registers R2 and R3 selected by the selectors 431 and 432, respectively, and are connected to the terminals as parity P2 and P3. 441 and 442.

最後の4番目の4並列入力データ{Data[12], Data[13], Data[14], Data[15]}から、
(Data[12] & 1)^(Data[15] & 1)
(Data[13] & 1)^(Data[14] & 1)
が算出される。そして、これらは各々、セレクタ431,432で選択されるレジスタR0とR1に保持されている1ビットデータと排他的論理和素子413、414にて排他的論理和演算され、パリティP0,P1として端子441,442から出力される。
From the last 4th parallel input data {Data [12], Data [13], Data [14], Data [15]}
(Data [12] & 1) ^ (Data [15] & 1)
(Data [13] & 1) ^ (Data [14] & 1)
Is calculated. These are subjected to exclusive OR operation with 1-bit data held in the registers R0 and R1 selected by the selectors 431 and 432 and exclusive OR elements 413 and 414, respectively, and are connected to the terminals as parity P0 and P1. 441 and 442.

1ブロックを4サイクルで処理すると仮定すると、排他的論理和素子413、414から端子441,442に出力するパリティが有効なのは、後半2サイクルのみとなり、前半2サイクルでは端子441,442からは意味の無いデータが出力される。そのため、不図示の制御信号とマスク回路により、前半2サイクルの間は該2つの信号を共に“0”にマスクしておく。   Assuming that one block is processed in four cycles, the parity output from the exclusive OR elements 413 and 414 to the terminals 441 and 442 is valid only in the latter two cycles, and in the first two cycles, the meanings from the terminals 441 and 442 are significant. No data is output. Therefore, both the two signals are masked to “0” during the first two cycles by a control signal (not shown) and a mask circuit.

以上に説明したパリティ生成部400を用いて、整数可逆変換のブロックDC係数を演算する装置の構成、すなわち、本第1実施形態の構成を図4に示す。パリティ生成部400以外の主な構成要素は、入力データの総和値を計算する総和計算部510、パリティを値として加算するパリティ加算器520、前記総和計算部の出力を2ビット右へシフトする2ビットシフタ530である。   FIG. 4 shows the configuration of a device that calculates the block DC coefficient of integer reversible transform using the parity generation unit 400 described above, that is, the configuration of the first embodiment. Main components other than the parity generation unit 400 are a total calculation unit 510 that calculates the total value of input data, a parity adder 520 that adds the parity as a value, and an output of the total calculation unit that shifts the output to the right by 2 bits. Bit shifter 530.

ブロックDC係数を得る従来の演算では、1段目と2段目のアダマール変換器に加え、ラスタ走査順に入力データされるデータをサブブロック単位で処理するための、データ順序変換バッファが必要であった。本実施形態のDC係数演算装置において、前記データ順序変換バッファは不要となり、端子501乃至504から並列に入力される4つのデータの総和値を演算する第1の加算器511と、該加算器511から得られる加算結果を累積加算する第2の加算器512、並びに、レジスタ513のみが必要となる。これら第1の加算器511、及び、第2の加算器512によって、ブロック内のデータの総和値を求めることができる。ここで、レジスタ513は、1つのブロックのブロックDC係数の演算を開始するごとに、ゼロクリアされるものとする。   In the conventional calculation for obtaining the block DC coefficient, in addition to the first and second Hadamard transformers, a data order conversion buffer for processing input data in sub-block units in the raster scanning order is required. It was. In the DC coefficient calculation apparatus according to the present embodiment, the data order conversion buffer is not necessary, and a first adder 511 that calculates a sum value of four data input in parallel from terminals 501 to 504, and the adder 511 Only the second adder 512 for accumulating the addition results obtained from the above and the register 513 are required. With these first adder 511 and second adder 512, the total value of the data in the block can be obtained. Here, it is assumed that the register 513 is cleared to zero each time the calculation of the block DC coefficient of one block is started.

第1の加算器511の入力データが、サブブロックを構成する4つのデータであれば、該4つのデータを加算して2で割った値が、該サブブロックのDC係数となる。これは、前記第1の加算器511から第2の加算器512へ出力するデータの最下位ビットが、小数点以下第1位のビットを意味する。一方、前記(1)または(2)式に基づいて計算したパリティP0は0.5の丸め誤差を表すため、値として見た時の重みは、前記固定小数点データの小数点以下1ビットと同じである。   If the input data of the first adder 511 is four data constituting a sub-block, a value obtained by adding the four data and dividing by two becomes the DC coefficient of the sub-block. This means that the least significant bit of the data output from the first adder 511 to the second adder 512 is the first bit after the decimal point. On the other hand, since the parity P0 calculated based on the equation (1) or (2) represents a rounding error of 0.5, the weight when viewed as a value is the same as 1 bit after the decimal point of the fixed-point data. .

よって、パリティPi(i=0,1,2,3)は、第2の加算器512への入力データの最下位ビットと同じ重みであり、パリティ生成部400から出力される2つのパリティを、パリティ加算器520で加算する場合、累積加算データの最下位ビットへ加算する。これによって、前記1段目の整数可逆アダマール変換で重畳する丸め誤差をすべて加算したサブブロックDC係数の総和値を、第2の加算器512の出力として得られる。   Therefore, the parity Pi (i = 0, 1, 2, 3) has the same weight as the least significant bit of the input data to the second adder 512, and the two parities output from the parity generation unit 400 are When adding by the parity adder 520, it adds to the least significant bit of accumulation addition data. As a result, the sum value of the sub-block DC coefficients obtained by adding all rounding errors superimposed by the first-stage integer reversible Hadamard transform is obtained as the output of the second adder 512.

2段目の4次アダマール変換のDC係数も同様に、4つのデータの総和値を2で割った値であるため、入力の小数点位置に対し、第2の加算器512の出力における小数点位置を上位ビット方向へ1ビットずらす。元々、第2の加算器の入力は下位1ビットを小数とする固定小数点のデータであるため、最終的に、第2の加算器512の出力は下位2ビットが小数データになる。   Similarly, the DC coefficient of the 4th-order Hadamard transform in the second stage is a value obtained by dividing the total value of the four data by 2, and therefore, the decimal point position in the output of the second adder 512 is set to the decimal point position of the input. Shift one bit in the upper bit direction. Originally, the input of the second adder is fixed-point data in which the lower 1 bit is a decimal number, so the output of the second adder 512 is finally the decimal data of the lower 2 bits.

2段目の整数可逆アダマール変換は、JPEG−XR勧告書の解釈によると、小数点以下を切り捨てる丸め処理に対応している。よって、2ビットシフタ530にて、レジスタ513が保持する値の下位2ビットを右シフトして、単純に切り捨て、その結果を、ブロックDC係数として出力する。   According to the interpretation of the JPEG-XR recommendation, the second-stage integer reversible Hadamard transform corresponds to a rounding process that rounds off the decimal part. Therefore, the 2-bit shifter 530 right-shifts the lower 2 bits of the value held in the register 513 and simply truncates it, and outputs the result as a block DC coefficient.

なお、図4に示す演算はソフトウェアとハードウェアのどちらでも実現できるが、ハードウェアで実現する場合、シフタ530は、レジスタ513の出力バスの2ビット分の信号線をずらして出力端子505と接続すれば良い。   Note that the operation shown in FIG. 4 can be realized by either software or hardware, but when realized by hardware, the shifter 530 is connected to the output terminal 505 by shifting the signal line for 2 bits of the output bus of the register 513. Just do it.

また、ソフトウェア処理において、ブロックデータが配列で引き渡される場合、サブブロックデータの加算を容易に行なうことができるため、式(2)に示した演算でパリティを計算すると効率的である。   In addition, in block processing, when block data is delivered in an array, it is easy to add sub-block data. Therefore, it is efficient to calculate parity by the operation shown in Equation (2).

以下は、式(2)に示したパリティ計算方法を用いて、整数可逆変換のブロックDC係数を演算する処理手順を示している。
sum0 = Data[0] + Data[3] + Data[12] + Data[15];
sum1 = Data[1] + Data[2] + Data[13] + Data[14];
sum2 = Data[4] + Data[7] + Data[8] + Data[11];
sum3 = Data[5] + Data[6] + Data[9] + Data[10];
P0 = sum0 & 1;
P1 = sum1 & 1;
P2 = sum2 & 1;
P3 = sum3 & 1;
sum = sum0 + sum1 + sum2 + sum3 + P0 + P1 + P2 + P3;
DC = sum >> 2;
(ここで、“x >> y”は、xを下位方向にyビットシフトすることを表わす)
The following shows the processing procedure for calculating the block DC coefficient of the integer reversible transform using the parity calculation method shown in Equation (2).
sum0 = Data [0] + Data [3] + Data [12] + Data [15];
sum1 = Data [1] + Data [2] + Data [13] + Data [14];
sum2 = Data [4] + Data [7] + Data [8] + Data [11];
sum3 = Data [5] + Data [6] + Data [9] + Data [10];
P0 = sum0 &1;
P1 = sum1 &1;
P2 = sum2 &1;
P3 = sum3 &1;
sum = sum0 + sum1 + sum2 + sum3 + P0 + P1 + P2 + P3;
DC = sum >>2;
(Here, “x >> y” represents shifting x by y bits in the lower direction)

上記の1行目から4行目で、サブブロック毎にデータを加算し、5行目から8行目で、前記サブブロック毎のデータ加算結果から最下位の1ビットをパリティとして抽出し、9行目で、前記加算結果とパリティをすべて合算する。最後の10行目で、合算結果を2ビット右シフトして整数可逆変換のブロックDC係数を生成する。   In the first to fourth lines, data is added for each sub-block, and in the fifth to eighth lines, the least significant bit is extracted as a parity from the data addition result for each sub-block. On the line, all the addition results and parity are added. In the last tenth line, the summation result is shifted right by 2 bits to generate a block DC coefficient for integer reversible transformation.

[第2の実施形態:1つずつ入力されるデータを加算する場合]
上記第1の実施形態における図4の構成は、図2の第1の変換部301、第3の変換部303に適用可能であるが、ブロックを形成する4×4データの1行分4つのデータを並列入力して処理することを前提にするものであった。ところが、第3の変換部303(マクロブロックDC係数を生成する整数可逆変換部)について着目すると、第3の変換部303は、図4のブロックDC係数演算部から出力されるブロックDC係数を入力として変換するため、該入力DC係数を1つずつ入力することも可能である。より詳細には、図4の変換部は4×4データを4つ単位で並列処理し、4サイクル毎に1つのブロックDC係数が生成するため、該DC係数を断続的に1つずつ前記第3の変換部303に供給することができる。
[Second Embodiment: When Adding Input Data One by One]
The configuration of FIG. 4 in the first embodiment can be applied to the first conversion unit 301 and the third conversion unit 303 of FIG. 2, but there are four lines for 4 × 4 data forming one block. It was premised on data being input in parallel and processed. However, paying attention to the third conversion unit 303 (an integer reversible conversion unit that generates a macroblock DC coefficient), the third conversion unit 303 inputs the block DC coefficient output from the block DC coefficient calculation unit of FIG. Therefore, it is possible to input the input DC coefficients one by one. More specifically, since the conversion unit of FIG. 4 processes 4 × 4 data in units of four and generates one block DC coefficient every four cycles, the DC coefficient is intermittently generated one by one. 3 converters 303.

このような入力形式だと、マクロブロックDC係数を生成するために必要な入力データの総和値を計算するための加算器は1つで済む。この場合も、各サブブロックのパリティは、入力データの最下位1ビットのみを抽出してサブブロック単位で排他的論理和を計算する式(1)に示した演算を行なって生成する。   With such an input format, only one adder is required to calculate the total value of input data necessary to generate the macroblock DC coefficient. In this case as well, the parity of each sub-block is generated by performing the operation shown in Equation (1), which extracts only the least significant bit of the input data and calculates the exclusive OR for each sub-block.

そこで、第2の実施形態では、特に、図2における第3の変換部303として使用可能なマクロブロックDC係数演算装置の構成を図5に示す。同図の通り、マクロブロックDC係数演算装置は、入力データの最下位ビットからパリティを計算するパリティ生成部702、入力データにパリティを加算するパリティ加算器721、入力データの総和値を計算する総和計算部730、シフタ530で構成される。図3、図4と共通の機能を有するものは同一の部番を付してある。   Therefore, in the second embodiment, in particular, FIG. 5 shows a configuration of a macroblock DC coefficient calculation apparatus that can be used as the third conversion unit 303 in FIG. As shown in the figure, the macroblock DC coefficient arithmetic unit includes a parity generation unit 702 that calculates parity from the least significant bit of input data, a parity adder 721 that adds parity to the input data, and a total that calculates the total value of the input data. A calculation unit 730 and a shifter 530 are included. Components having the same functions as those in FIGS. 3 and 4 are given the same part numbers.

上記パリティ生成部702、パリティ加算器721、総和計算部730のすべてが、前記第1実施形態(図3)に比べて簡易な構成になっていることが分かる。ここで、パリティ生成部702におけるパリティ演算は以下のように行なわれる。なお、入力端子701からは、4×4個のサブブロックDC係数が、ラスタースキャン順に入力されるものとする。   It can be seen that all of the parity generation unit 702, the parity adder 721, and the sum calculation unit 730 have a simple configuration as compared to the first embodiment (FIG. 3). Here, the parity calculation in the parity generation unit 702 is performed as follows. It is assumed that 4 × 4 sub-block DC coefficients are input from the input terminal 701 in the raster scan order.

まず、各レジスタR0,R1,R2,R3を“0”に初期化する。また、このタイミングでレジスタ732もゼロクリアする。   First, the registers R0, R1, R2, and R3 are initialized to “0”. At this timing, the register 732 is also cleared to zero.

その後、1つのサブブロックDC係数が入力端子701から入力されるたびに、セレクタ715は、R0,R1,R1,R0,R2,R3,R3,R2,R2,R3,R3,R2,R0,R1,R1,R0の順にレジスタ出力を選択し、入力したサブブロックDC係数の最下位ビットとの間で、排他的論理和を演算し、選択したレジスタへ格納し直す。   Thereafter, each time one sub-block DC coefficient is input from the input terminal 701, the selector 715 selects R0, R1, R1, R0, R2, R3, R3, R2, R2, R3, R3, R2, R0, R1. , R1, R0 are selected in this order, and an exclusive OR is calculated with the least significant bit of the input sub-block DC coefficient, and stored again in the selected register.

上記のセレクタ715の動作により、レジスタR0は、0,3,12,15番目のデータ入力時に選択されるため、式(1)式と同等の演算が行なわれて該演算結果が、パリティP0としてパリティ加算器721へ出力される。   By the operation of the selector 715, the register R0 is selected when the 0th, third, twelfth, and fifteenth data are input. Therefore, an operation equivalent to the equation (1) is performed, and the operation result is set as the parity P0. It is output to the parity adder 721.

同様に、レジスタR1は1,2,13,14番目のデータ入力時に選択され、レジスタR2は4,7,8,11番目のデータ入力時に選択され、レジスタR3は、5,6,9,10番目のデータ入力時に選択される。このため、式(1)に示したパリティ計算式と同等の演算が行なわれる。   Similarly, the register R1 is selected when the first, second, thirteenth, and fourteenth data are input, the register R2 is selected when the fourth, seventh, eighth, and eleventh data are input, and the register R3 is selected when the fifth, sixth, ninth, and tenth data are input. Selected when the second data is entered. For this reason, an operation equivalent to the parity calculation formula shown in Formula (1) is performed.

パリティ生成部702の出力が有効なのは、10,11,14,15番目のデータ入力の時のみで、それ以外は不図示の制御信号とマスク回路により、パリティ加算器721への出力を“0”にマスクし、不要なデータを加算しないようにする。   The output of the parity generation unit 702 is valid only when the 10, 11, 14, and 15th data is input. Otherwise, the output to the parity adder 721 is “0” by a control signal and a mask circuit (not shown). To prevent unnecessary data from being added.

生成された有効なパリティP0,P1,P2,P3はパリティ加算器721にて入力データに加算され、該加算結果は総和計算部730のレジスタ732に累積加算されていく。そして、最終的に、ブロック内の全データと前記パリティを加算した結果がレジスタ732に格納されると、その値がシフタ530に出力される。   The generated effective parities P0, P1, P2, and P3 are added to the input data by the parity adder 721, and the addition result is cumulatively added to the register 732 of the sum calculation unit 730. Finally, when the result of adding all the data in the block and the parity is stored in the register 732, the value is output to the shifter 530.

後は、第1実施形態と同様、該総和計算部の出力をシフタ530にて2ビット右シフトし、該シフトした値をマクロブロックDC係数として出力することになる。第1の実施形態ではデータが4並列で入力され、第2の実施形態ではデータが断続的に1つずつ入力される場合の演算装置の構成を示した。入力の形態は、これ以外にも2並列、8並列、16並列入力等が考えられるが、それらに対応する演算装置は、当業者であれば、ここで説明した2つの実施形態から容易に構成することができるであろう。   After that, as in the first embodiment, the output of the sum calculation unit is right-shifted by 2 bits by the shifter 530, and the shifted value is output as a macroblock DC coefficient. In the first embodiment, the configuration of the arithmetic unit is shown in which data is input in parallel in four, and in the second embodiment, data is intermittently input one by one. In addition to this, the input form may be 2-parallel, 8-parallel, 16-parallel input, etc., but those skilled in the art can easily configure the arithmetic device corresponding to them from the two embodiments described here. Would be able to.

また、パリティ加算器721と総和計算部における加算器731は、1ビットのパリティをキャリーとして加算することが可能な、キャリー入力付きの加算器1つにまとめることが出来る。この場合、パリティ加算手段は、キャリー入力付き加算器のキャリー入力として具現化される。これを使用した例は次に示す第3の実施形態にて示す。   Also, the parity adder 721 and the adder 731 in the sum calculation unit can be combined into one adder with carry input that can add 1-bit parity as carry. In this case, the parity adding means is embodied as a carry input of an adder with carry input. An example in which this is used is shown in a third embodiment shown below.

[第3の実施形態:パリティ計算は3つのみ、2種類の演算処理を示す]
第1、第2の実施形態では、サブブロック毎にパリティを計算していたが、第3の実施形態では、パリティ計算の一部を省略し、回路規模を更に小さくする例を説明する。
[Third Embodiment: Only three parity calculations show two types of arithmetic processing]
In the first and second embodiments, the parity is calculated for each sub-block. In the third embodiment, an example in which part of the parity calculation is omitted and the circuit scale is further reduced will be described.

具体的には、第1、第2の実施形態で計算していた4つのパリティの内、3つのパリティのみを計算し、マクロブロックDC係数を演算するものである。   Specifically, among the four parities calculated in the first and second embodiments, only three parities are calculated and the macroblock DC coefficient is calculated.

第2実施形態をベースに、本第3の実施形態を具現化した演算装置の構成を図6(A)、及び、その変形例を図6(B)に示す。   Based on the second embodiment, FIG. 6A shows a configuration of an arithmetic device that embodies the third embodiment, and FIG. 6B shows a modification thereof.

本第3の実施形態では、パリティP0の演算を省略し、その替わりに総和演算部の出力の最下位ビットをパリティP0として加算するのが図6(A)に示す構成であり、パリティP0を恒常的に“1”として加算するのが図6(B)に示す構成である。このような演算が可能な理由を以下に説明する。   In the third embodiment, the operation of the parity P0 is omitted, and instead, the least significant bit of the output of the sum operation unit is added as the parity P0 in the configuration shown in FIG. It is the configuration shown in FIG. 6B that is always added as “1”. The reason why such calculation is possible will be described below.

変換対象となる4×4個のデータの総和値が偶数の時、4つのパリティの和も偶数になり、データの総和値が奇数の時はパリティの和も奇数になる。よって、データの総和値にパリティを加算した結果は必ず偶数になる。   When the total value of 4 × 4 data to be converted is an even number, the sum of the four parities is even, and when the sum of the data is an odd number, the sum of the parity is odd. Therefore, the result of adding the parity to the data sum is always an even number.

この関係を別の視点から見ると、データの総和値に3つのパリティを加算した結果が偶数なら、残りのパリティは“0”であることになる。また、データの総和値に3つのパリティを加算した結果が奇数であれば残りのパリティは“1”であることになる。ようするに、データの総和値に3つのパリティを加算した結果から、残りのパリティの値は一意に決まり、残りのパリティは前記加算結果の最下位ビットに等しい、ということが言える。   From another viewpoint, if the result of adding three parities to the total value of data is an even number, the remaining parity is “0”. Further, if the result of adding three parities to the total value of data is an odd number, the remaining parity is “1”. In other words, it can be said that the remaining parity value is uniquely determined from the result of adding three parities to the total value of the data, and the remaining parity is equal to the least significant bit of the addition result.

よって、データの総和値に3つのパリティを加算した結果の最下位ビットを残りのパリティとして加算することが可能である。この原理に基づく演算装置が図6(A)に示す構成である。同図における参照符号801は第2実施形態の最後で説明したキャリー入力付きの加算器であり、参照符号802は前記総和値の最下位ビットを残りのパリティとして加算する加算器、参照符号803は前記3つのパリティのみを計算するパリティ生成部である。その他の構成要素は、図5における同一部番の要素と同じである。   Therefore, it is possible to add the least significant bit as a result of adding three parities to the total value of data as the remaining parity. An arithmetic device based on this principle has a configuration shown in FIG. In the figure, reference numeral 801 is an adder with carry input described at the end of the second embodiment, reference numeral 802 is an adder for adding the least significant bit of the total value as the remaining parity, and reference numeral 803 is It is a parity generation unit that calculates only the three parities. The other components are the same as those of the same part number in FIG.

一方、データの総和値に3つのパリティを加算した結果の最下位ビットが“0”の時に“1”を加算した場合、最後に行なう小数点以下2ビットの切り捨てにより、該加算したばかりの“1”は切り捨てられる。また、最下位ビットが“1”の時は“1”を加算する必要がある。   On the other hand, when “1” is added when the least significant bit of the result of adding three parities to the sum of data is “0”, “1” is just added by truncating 2 bits after the decimal point. "Is truncated. When the least significant bit is “1”, “1” needs to be added.

よって、前記最下位ビットの値に拠らず常に“1”を加算しても何ら問題は無い。これに基づく演算装置が図6(B)に示す構成である。この構成では、総和演算部におけるレジスタ804の初期値を“1”に設定することにより、パリティとして“1”を加算する演算を省略している。また、パリティ生成部からP0を出力するタイミングで“1”を出力して、それを加算することも可能である。   Therefore, there is no problem even if “1” is always added regardless of the value of the least significant bit. An arithmetic unit based on this is shown in FIG. In this configuration, by setting the initial value of the register 804 in the sum operation unit to “1”, the operation of adding “1” as a parity is omitted. It is also possible to output “1” at the timing of outputting P0 from the parity generation unit and add it.

[第4の実施形態:サブブロック単位で切り捨て、ブロック単位で切り上げ]
第1,第2,第3実施形態では、JPEG−XRにおける整数可逆変換と互換性を有するDC係数を演算することを念頭にしていたので、1段目のサブブロック単位での丸め処理は切り上げを行ない、2段目のブロックレベルでは切り棄てを行なっていた。
[Fourth embodiment: rounded down in sub-block units, rounded up in block units]
In the first, second, and third embodiments, the calculation of a DC coefficient that is compatible with the integer reversible transformation in JPEG-XR has been taken into consideration, so rounding processing in units of sub-blocks in the first stage is rounded up. Was cut off at the second block level.

本発明はJPEG−XRにおける整数可逆変換に限定されるものでは無く、例えば、4×4ブロックの16点整数可逆アダアール変換などにも有効である。   The present invention is not limited to integer reversible conversion in JPEG-XR, and is also effective for, for example, 4 × 4 block 16-point integer reversible Adahr conversion.

本発明が適用可能な16点整数可逆アダアール変換は、例えば特登録03902990に記載されている。ここでは、列方向あるいは行方向の4つのデータをサブブロックとして1段目の4次整数可逆アダマール変換を適用し、2段目は列と行の方向を変えた4つのデータを単位として4次整数可逆アダマール変換を適用する。これによって、4×4ブロックデータに対する2次元の整数可逆アダマール変換、すなわち、16点整数可逆アダマール変換を実現している。該変換において、1段目と2段目の整数可逆アダマール変換の丸め処理の組み合せは、非常に多く存在する。   The 16-point integer reversible Haadard transform to which the present invention is applicable is described in, for example, Japanese Patent Registration No. 0390990. Here, the 4th order integer reversible Hadamard transform is applied to the 4th column or row direction as sub-blocks, and the 2nd step is a 4th order using 4 data with the column and row direction changed as a unit. Apply integer reversible Hadamard transform. This realizes a two-dimensional integer reversible Hadamard transform for 4 × 4 block data, that is, a 16-point integer reversible Hadamard transform. In the conversion, there are a great number of combinations of rounding processes of the first-stage and second-stage integer reversible Hadamard transforms.

ここでは一例として、1段目の変換の丸め処理は切り捨て、2段目の変換の丸め処理を切り上げとした時に、本発明においてどのような演算装置の構成になるかを示す。   Here, as an example, the configuration of the arithmetic unit in the present invention is shown when the rounding process of the first stage conversion is rounded down and the rounding process of the second stage conversion is rounded up.

丸め処理によって発生する丸め誤差は、切り上げの場合が+0.5であったのに対し、切り捨ての場合は−0.5となる。この丸め誤差をブロックデータの総和値に反映するには、1段目の変換単位であるサブブロックに対するパリティを、前記データの総和値から減算する。また、2段目の変換の丸め処理を切り上げとするには、前記パリティを反映したデータの総和値に“10”なる2ビットのデータを加算し、該加算結果を2ビット右シフトする。ここで加算する2ビット “10”は、小数点以下2ビットのデータであるため、0.5という重みのデータである。   The rounding error generated by the rounding process is +0.5 in the case of rounding up, and is −0.5 in the case of rounding down. In order to reflect this rounding error in the total value of the block data, the parity for the sub-block which is the first stage conversion unit is subtracted from the total value of the data. In order to round up the rounding process of the second stage conversion, 2-bit data of “10” is added to the total value of the data reflecting the parity, and the addition result is right-shifted by 2 bits. The 2 bits “10” to be added here is data having a weight of 0.5 because it is data of 2 bits after the decimal point.

上記で説明した内容を第2の実施形態へ盛り込んだ、DC係数を求める演算装置の構成を図7に示す。   FIG. 7 shows the configuration of an arithmetic unit that obtains the DC coefficient by incorporating the contents described above into the second embodiment.

基本的には第2の実施形態と同じ処理であるが、以下のような違いがある。   The processing is basically the same as in the second embodiment, but there are the following differences.

パリティを加算する4つの処理が、パリティを減算(又は、正負の符号を反転して加算)する処理へ置き換えられると共に、2ビットシフトする直前の総和データに“10”(2進数)すなわち“2”(10進数)を加算している。   The four processes for adding the parity are replaced with a process for subtracting the parity (or adding by inverting the sign of the positive / negative sign), and “10” (binary), that is, “2” is added to the total data immediately before the 2-bit shift. "(Decimal number) is added.

以上本発明に係る実施形態を説明した。上記実施形態では、係数ブロックのサイズを4×4としたが、サブブロックに含まれる係数の個数が4つであれば良いので、一般に4n(nは2以上の整数)に適用できるので、上記実施形態によって本発明が限定されるものではない。 The embodiment according to the present invention has been described above. In the above embodiment, the size of the coefficient block is 4 × 4. However, since the number of coefficients included in the sub-block is only four, it is generally applicable to 4 n (n is an integer of 2 or more). The present invention is not limited to the above embodiment.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

Claims (4)

n(nは2以上の整数)個の整数データで構成されるブロックから、当該ブロックに対する可逆変換可能な整数変換係数のうちDC係数を算出するデータ変換装置であって、
前記ブロックを予め設定された4個のデータで構成されるサブブロックに区分し、サブブロック毎に、それぞれのサブブロックを構成する4個のデータの総和値が偶数か奇数かを表わす0又は1のいずれかの値を持つパリティを生成するパリティ生成手段と、
前記ブロックを構成する全てのデータが示す値の総和値を算出する総和演算手段と、
該総和演算手段で算出した総和値と、前記パリティ生成部で算出された各サブブロックのパリティの値とを加算する加算手段と、
該加算手段で得られた値から、前記ブロックに対する可逆な整数のDC係数データを演算するDC係数演算手段と
を備えることを特徴とするデータ変換装置。
A data conversion device that calculates a DC coefficient among integer conversion coefficients that can be reversibly converted with respect to a block from 4 n (n is an integer of 2 or more) pieces of integer data,
The block is divided into sub-blocks composed of four preset data, and 0 or 1 indicating whether the total value of the four data composing each sub-block is even or odd for each sub-block Parity generation means for generating parity having any of the following values:
A sum calculating means for calculating a sum of values indicated by all data constituting the block;
Adding means for adding the sum value calculated by the sum calculating means and the parity value of each sub-block calculated by the parity generation unit;
A data conversion apparatus comprising: DC coefficient calculation means for calculating reversible integer DC coefficient data for the block from the value obtained by the addition means.
同じ位のビット間の論理積演算子を「&」、排他的論理和の演算子を「^」、着目しているサブブロックを構成する4つのデータをData[0], Data[1], Data[2], Data[3]と表わしたとき、
前記パリティ生成手段は、前記着目しているサブブロックのパリティPを、
P = (Data[0] & 1) ^ (Data[1] & 1) ^ (Data[2] & 1) ^ (Data[3] & 1)
として算出する回路を有することを特徴とする請求項1に記載のデータ変換装置。
The logical AND operator between the same bits is “&”, the exclusive OR operator is “^”, and the four data constituting the target sub-block are Data [0], Data [1], When expressed as Data [2], Data [3]
The parity generating means calculates the parity P of the target sub-block,
P = (Data [0] & 1) ^ (Data [1] & 1) ^ (Data [2] & 1) ^ (Data [3] & 1)
The data conversion apparatus according to claim 1, further comprising: a circuit that calculates as follows.
前記DC係数演算手段は、前記加算手段による加算結果の値をビットシフトし、当該ビットシフトで得られたデータを前記係数ブロックの可逆変換のDC係数データとして出力することを特徴とする請求項1又は2に記載のデータ変換装置。   2. The DC coefficient computing means bit-shifts the value of the addition result by the adding means, and outputs data obtained by the bit shift as DC coefficient data for lossless transformation of the coefficient block. Or the data conversion device according to 2; n=2とする請求項1に記載のデータ変換装置を2つ有し、1つ目のデータ変換装置で算出されたDC係数を4×4個を集めてブロックを構成し、2つ目のデータ変換装置で前記ブロックのデータ変換を行うことで、マクロブロックDC係数を算出することを特徴とするデータ変換装置。 2. The data conversion device according to claim 1, wherein n = 2 is set, and a block is formed by collecting 4 × 4 DC coefficients calculated by the first data conversion device. A data conversion apparatus characterized in that a macroblock DC coefficient is calculated by performing data conversion of the block in a data conversion apparatus.
JP2010093308A 2010-04-14 2010-04-14 Data converter Active JP5546329B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010093308A JP5546329B2 (en) 2010-04-14 2010-04-14 Data converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010093308A JP5546329B2 (en) 2010-04-14 2010-04-14 Data converter

Publications (2)

Publication Number Publication Date
JP2011223518A JP2011223518A (en) 2011-11-04
JP5546329B2 true JP5546329B2 (en) 2014-07-09

Family

ID=45039841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010093308A Active JP5546329B2 (en) 2010-04-14 2010-04-14 Data converter

Country Status (1)

Country Link
JP (1) JP5546329B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6419275B1 (en) * 2017-09-04 2018-11-07 三菱電機株式会社 Data conversion system and data conversion program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
JPH07200540A (en) * 1993-12-28 1995-08-04 Victor Co Of Japan Ltd Idct circuit
JP3129392B2 (en) * 1996-02-02 2001-01-29 日本電気株式会社 Two-dimensional IDCT circuit
JP4236266B2 (en) * 2004-08-27 2009-03-11 キヤノン株式会社 Data conversion apparatus and method
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
JP4311759B2 (en) * 2007-10-29 2009-08-12 キヤノン株式会社 Data conversion apparatus and control method thereof
JP2010045589A (en) * 2008-08-12 2010-02-25 Ricoh Co Ltd Image processor, image processing method, and program
JP5520122B2 (en) * 2010-04-14 2014-06-11 キヤノン株式会社 Data converter

Also Published As

Publication number Publication date
JP2011223518A (en) 2011-11-04

Similar Documents

Publication Publication Date Title
TWI455594B (en) Method and apparatus for frame memory
JP4924904B2 (en) Efficient encoding / decoding of sequences of data frames
JP4311759B2 (en) Data conversion apparatus and control method thereof
JP3902990B2 (en) Hadamard transform processing method and apparatus
JP4801778B2 (en) Video compression / encoding device, video restoration device, video compression program, and video restoration program
JP3796432B2 (en) Filter processing apparatus and filter processing method
TWI412281B (en) A Method of Calculating Reverse Conversion of Low Complexity
CN105163130B (en) A kind of Lossless Image Compression Algorithm method based on discrete Tchebichef orthogonal polynomial
JP4378245B2 (en) Data conversion apparatus and method
CN1315023A (en) Circuit and method for performing bidimentional transform during processing of an image
JP5546329B2 (en) Data converter
JP4644290B2 (en) Encoding block pattern generation method and apparatus for high frequency coefficients
JP2005168028A (en) Arithmetic device for absolute difference, and motion estimation apparatus and motion picture encoding apparatus using same
JP4933405B2 (en) Data conversion apparatus and control method thereof
JP4236266B2 (en) Data conversion apparatus and method
JP2017525185A (en) High precision and quantization method applicable to wavelet transform matrix
JP4806464B2 (en) Image compression apparatus, image compression method, image restoration apparatus, and program
JP2011109172A (en) Video encoder and data processing method for the same
JP4266512B2 (en) Data processing device
JP3951036B2 (en) Dynamic decimal point method, dynamic decimal point arithmetic method, two-dimensional inverse discrete cosine transform method and apparatus
CN113068033B (en) Multimedia inverse quantization processing method, device, equipment and storage medium
JP6310747B2 (en) Data storage control device and data storage control method
JP6289971B2 (en) Data storage control device and data storage control method
CN114125461B (en) Universal video coding conversion circuit and universal video coding device
JP2009200545A (en) Image encoding device and image decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140513

R151 Written notification of patent or utility model registration

Ref document number: 5546329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151