JP6216590B2 - Image decoding device - Google Patents

Image decoding device Download PDF

Info

Publication number
JP6216590B2
JP6216590B2 JP2013197014A JP2013197014A JP6216590B2 JP 6216590 B2 JP6216590 B2 JP 6216590B2 JP 2013197014 A JP2013197014 A JP 2013197014A JP 2013197014 A JP2013197014 A JP 2013197014A JP 6216590 B2 JP6216590 B2 JP 6216590B2
Authority
JP
Japan
Prior art keywords
data
unit
sign flag
lower data
sign
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
JP2013197014A
Other languages
Japanese (ja)
Other versions
JP2015065510A (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.)
Shikino High Tech Co Ltd
Original Assignee
Shikino High Tech Co Ltd
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 Shikino High Tech Co Ltd filed Critical Shikino High Tech Co Ltd
Priority to JP2013197014A priority Critical patent/JP6216590B2/en
Priority to PCT/JP2014/069659 priority patent/WO2015045601A1/en
Publication of JP2015065510A publication Critical patent/JP2015065510A/en
Application granted granted Critical
Publication of JP6216590B2 publication Critical patent/JP6216590B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Description

本発明は、画像符号化データを伸長して復号化する画像復号化装置に関する。   The present invention relates to an image decoding apparatus that decompresses and decodes encoded image data.

従来、通信における負担等の軽減を目的として、画像データを圧縮し、符号化する画像符号化装置があり、その逆処理である符号化した画像データを伸長し、元の画像に復元する画像復号化装置も知られている。そして、近年では、より高い圧縮率で圧縮可能な符号化の規格が提案されている(非特許文献1参照)。     2. Description of the Related Art Conventionally, there is an image encoding device that compresses and encodes image data for the purpose of reducing the burden on communication, etc., and image decoding that decompresses the encoded image data that is the reverse process and restores the original image An apparatus is also known. In recent years, an encoding standard that can be compressed at a higher compression rate has been proposed (see Non-Patent Document 1).

前記規格に従った画像復号化装置の概略構成を図11に示す。同図11に示すように、この画像復号化装置100は、ビットストリーム解析部110と、VLC復号化部120と、適応型スキャン部130と、係数逆予測部140と、逆量子化部150と、周波数逆変換部160と、色空間逆変換部170とからなる。尚、前記VLC復号化部120の名称中のVLCは、Variable Length Codingの略称で可変長符号化方式のことである。   FIG. 11 shows a schematic configuration of an image decoding apparatus according to the standard. As shown in FIG. 11, the image decoding apparatus 100 includes a bitstream analysis unit 110, a VLC decoding unit 120, an adaptive scan unit 130, a coefficient inverse prediction unit 140, an inverse quantization unit 150, The frequency inverse transform unit 160 and the color space inverse transform unit 170 are included. Note that VLC in the name of the VLC decoding unit 120 is an abbreviation of Variable Length Coding and is a variable length coding method.

前記ビットストリーム解析部110は、入力されたビットストリームを解析し、画像情報を抽出するとともに、符号化された画像データを分離し、前記VLC復号化部120に入力する。   The bitstream analysis unit 110 analyzes the input bitstream, extracts image information, separates encoded image data, and inputs the separated image data to the VLC decoding unit 120.

前記符号化された画像データは、画像の最小単位である画素(ピクセル)の内、16画素(水平方向)×16画素(垂直方向)の256画素からなる画素領域をマクロブロックとし、そのマクロブロックを水平方向,垂直方向にそれぞれ4分割した各4×4画素(16画素)のブロックに分割して、圧縮時に周波数変換された周波数帯域の高いものから、第1階層データ(16ブロックのHP係数)、第2階層データ(1ブロックのLP係数)及び第3階層データ(1画素のDC係数)に分離して構成されている。   In the encoded image data, a pixel area composed of 256 pixels of 16 pixels (horizontal direction) × 16 pixels (vertical direction) out of pixels (pixels) which is the minimum unit of an image is defined as a macroblock. Is divided into blocks each of 4 × 4 pixels (16 pixels) divided into 4 in the horizontal direction and the vertical direction, respectively, and the first layer data (HP coefficients of 16 blocks) from the one with the high frequency band frequency-converted at the time of compression ), Second layer data (one block LP coefficient) and third layer data (one pixel DC coefficient).

尚、第1階層データは、HP(ハイパス)係数と呼ばれ、各16個のブロックの4×4画素の左上の画素を除く15画素に当たり、第2階層データは、LP(ローパス)係数と呼ばれ、第1階層データの左上のブロックを除く各15個のブロックの4×4画素の左上の画素を集めて周波数変換された15画素に当たり、第3階層データは、DC(ダイレクトカレント)係数と呼ばれ、直流成分に相当し、第1階層データの左上のブロックの4×4画素の該ブロックの左上の画素が周波数変換された1画素に当たる。   The first layer data is called an HP (high pass) coefficient and corresponds to 15 pixels excluding the upper left pixel of 4 × 4 pixels in each of 16 blocks, and the second layer data is called an LP (low pass) coefficient. The upper left pixels of 4 × 4 pixels of each of the 15 blocks excluding the upper left block of the first layer data correspond to 15 pixels subjected to frequency conversion, and the third layer data includes a DC (direct current) coefficient and It is called and corresponds to a direct current component, and the upper left pixel of 4 × 4 pixels in the upper left block of the first layer data corresponds to one pixel subjected to frequency conversion.

前記VLC復号化部120は、前記ビットストリーム解析部110で分離された画像符号化データである第1階層データ、2階層データ及び第3階層データに対して、VLC復号化処理である可変長復号処理を施し、復号化した上位データと抽出した下位データとを連結した係数データとして、前記適応型スキャン部130に出力する。   The VLC decoding unit 120 performs variable length decoding that is VLC decoding processing on the first layer data, the second layer data, and the third layer data that are the image encoded data separated by the bitstream analysis unit 110. Processing is performed and output to the adaptive scan unit 130 as coefficient data obtained by concatenating the decoded upper data and the extracted lower data.

VLC復号化部120は、図12に示すように、マクロブロックカウンタ部121、モデルビッツ更新部122、データ連結部123、上位データ処理部126、下位データ処理部131から構成され、前記上位データ処理部126は、上位データ復号化部127、上位データ記憶部128、上位データ分配部129からなり、下位データ処理部131は、下位データ抽出部132、下位データ符号決定部133、下位データ符号反転部134、下位データ選択部135からなる。以下、図15に示すVLC復号化部の処理フローの各ステップと照合しながら説明する。   As shown in FIG. 12, the VLC decoding unit 120 includes a macroblock counter unit 121, a model bits update unit 122, a data linking unit 123, a higher data processing unit 126, and a lower data processing unit 131, and the higher data processing unit The unit 126 includes an upper data decoding unit 127, an upper data storage unit 128, and an upper data distribution unit 129. The lower data processing unit 131 includes a lower data extraction unit 132, a lower data code determination unit 133, and a lower data code inversion unit. 134 and a lower data selection unit 135. Hereinafter, description will be made while collating with each step of the processing flow of the VLC decoding unit shown in FIG.

まず、係数データの上位部分である上位データU(i)は隣接するマクロブロックやブロック間の係数との相関が高く、隣接ブロック間の差分処理で、ゼロ値付近の数値となるため、VLC(可変長)符号化されるが、係数データの下位部分である下位データL(i)は、隣接するマクロブロックやブロック間の係数との相関が低く、前記差分処理によっても、係数にランダム性が残り、可変長符号化してもあまり圧縮されないため、元のデータのまま、連接されている。   First, the upper data U (i), which is the upper part of the coefficient data, has a high correlation with adjacent macroblocks and coefficients between blocks, and becomes a numerical value near the zero value in the difference processing between adjacent blocks. Variable-length) encoded, but the lower data L (i), which is the lower part of the coefficient data, has a low correlation with adjacent macroblocks and coefficients between blocks, and the coefficient is random even by the difference processing. The remaining data is not compressed so much even if it is encoded with variable length, so it is concatenated with the original data.

このVLC復号化部120では、上位データ処理部126で復号化された上位データU(i)と、下位データ処理部131で抽出された下位データL(i)とをデータ連結部123により、図16に示すように連結して、係数データZ(i)を生成する。例えば、上位データU(i)の長さが4ビット長、下位データL(i)の長さが12ビット長であれば、係数データZ(i)の長さである係数長は16ビット長となる。そして、この係数長は、その1つの画像を処理する条件が決まれば、その画像処理内では一定の値となる。   In this VLC decoding unit 120, the upper data U (i) decoded by the upper data processing unit 126 and the lower data L (i) extracted by the lower data processing unit 131 are displayed by the data linking unit 123. As shown in FIG. 16, coefficient data Z (i) is generated by concatenation. For example, if the length of the upper data U (i) is 4 bits and the length of the lower data L (i) is 12 bits, the coefficient length which is the length of the coefficient data Z (i) is 16 bits long It becomes. The coefficient length becomes a constant value within the image processing if the conditions for processing the one image are determined.

尚、上記下位データの長さは、非特許文献1の規格においては、そのビット長を示すモデルビッツと呼ばれる変数の値(初期値は、DC=8、LP=4、HP=0)となっており、本項でもモデルビッツと称する。このモデルビッツは、マクロブロック毎にモデルビッツ更新部122で更新(ステップS47)され、下位データ処理部で用いられる。   In the standard of Non-Patent Document 1, the length of the lower data is a value of a variable called model bits indicating the bit length (initial values are DC = 8, LP = 4, HP = 0). This term is also referred to as model bits. The model bits are updated by the model bits updating unit 122 for each macroblock (step S47) and used by the lower data processing unit.

以下、順を追ってVLC復号化部の処理を説明する。   Hereinafter, the processing of the VLC decoding unit will be described in order.

上位データ処理部126は、上位データ復号化部127により復号化した上位データU(i)を上位データ記憶部126に記憶し、記憶した上位データU(i)を、処理の必要に応じ、上位データ分配部129から出力して分配する。   The upper data processing unit 126 stores the upper data U (i) decoded by the upper data decoding unit 127 in the upper data storage unit 126, and the stored upper data U (i) The data is output from the data distribution unit 129 and distributed.

具体的には、上位データ復号化部127は、ビットストリーム解析部110により分離した符号化データ群のデータを上位データ復号化部127で1符号ずつ復号化して、上位データU(i)を生成し、上位データ記憶部126及びマクロブロックカウンタ部121へ出力する。この際、モデルビッツの値がゼロであれば、上位データU(i)の復号化のみを行い(ステップS32)、モデルビッツの値が非ゼロであれば、上位データU(i)の復号化(ステップS33)の後、下位データL(i)の抽出を行う。   Specifically, the upper data decoding unit 127 decodes the encoded data group data separated by the bitstream analysis unit 110 one code at a time by the upper data decoding unit 127 to generate upper data U (i). Then, the data is output to the upper data storage unit 126 and the macroblock counter unit 121. At this time, if the value of the model bit is zero, only the upper data U (i) is decoded (step S32). If the value of the model bit is non-zero, the upper data U (i) is decoded. After (step S33), the lower data L (i) is extracted.

上位データ記憶部128は、上位データ復号化部127から入力された上位データU(i)を、ブロック単位の15個になるまで記憶する。また、マクロブロックカウンタ部121は、上位データ復号化部127から入力された上位データU(i)の個数をカウントし、ブロック単位の15個やブロック16個分のマクロブロック単位に達したか否かを判断し、VLC復号化部内に通知する。   The upper data storage unit 128 stores the upper data U (i) input from the upper data decoding unit 127 until there are 15 blocks. Further, the macroblock counter unit 121 counts the number of upper data U (i) input from the upper data decoding unit 127, and whether or not the macroblock unit has reached 15 blocks or 16 blocks. Is determined and notified to the VLC decoding unit.

また、モデルビッツ更新分122は、マクロブロックカウンタ部121で1つのマクロブロック分の上位データの復号化が終了し、データ連結部123より、そのマクロブロックの最後のデータの連結が終了した際、それまでに蓄積していた上位データL(i)の非ゼロに関する統計情報を基に、モデルビッツの値を更新する(ステップS47)。   In addition, when the macrobit counter unit 121 finishes decoding the high-order data for one macroblock and the data concatenation unit 123 finishes concatenating the last data of the macroblock, The value of the model bits is updated based on the statistical information regarding the non-zero of the upper data L (i) accumulated so far (step S47).

下位データ処理部は、下位データ抽出部132と上位データ分配部129からのデータを下位データ符号決定部133に入力し、下位データ符号決定部133は、このデータの情報を基に、下位データの正負の符号を決定し、この決定情報を基に、下位データ選択部にて、元のままの下位データか下位データ符号反転部134により符号反転された下位データかのどちらかを選択して、データ連結部123に入力する。ここで、符号反転とは、下位データの前に−(マイナス)符号をつけることをいう。例えば、下位データが3(0003h)であれば、符号反転した値は、−3(FFFDh)となる。   The lower data processing unit inputs the data from the lower data extraction unit 132 and the upper data distribution unit 129 to the lower data code determination unit 133, and the lower data code determination unit 133 uses the data information to determine the lower data Based on this determination information, the lower data selection unit selects either the original lower data or the lower data whose code is inverted by the lower data code inversion unit 134 based on this determination information, The data is input to the data connection unit 123. Here, sign inversion means that a minus sign is added before the lower data. For example, if the lower data is 3 (0003h), the value whose sign is inverted is -3 (FFFDh).

具体的には、下位データ抽出部132は、ビットストリーム解析部110より入力された下位データ群の中から、モデルビッツ更新部122より入力されたモデルビッツの値を基に、下位データL(i)と正負の符号を示すサインフラグS(i)を抽出する。   Specifically, the lower data extraction unit 132 selects the lower data L (i from the lower data group input from the bitstream analysis unit 110 based on the value of the model bits input from the model bits update unit 122. ) And a sign flag S (i) indicating positive and negative signs.

図13に示すように、下位データ抽出器141は入力された下位データ群より、モデルビッツの長さ分の下位データL(i)を抽出し(ステップS35)、さらに、サインフラグ抽出器142は、下位データL(i)に後続する1ビット長のサインフラグS(i)を抽出する。   As shown in FIG. 13, the lower data extractor 141 extracts lower data L (i) for the length of the model bits from the input lower data group (step S35), and the sign flag extractor 142 further The 1-bit sign flag S (i) following the lower data L (i) is extracted.

また、下位データL(i)とサインフラグS(i)の分離を図示したものを図17に示す。モデルビッツ長の下位データL(i)と1ビット長のサインフラグS(i)とが分離されるが、同図17の上図のようにサインフラグS(i)が存在する場合と下図のようにサインフラグS(i)が存在しない場合があり、本分離の際には、サインフラグS(i)の有無の決定はできないので、サインフラグS(i)があるものとして、仮にサインフラグS(i)を抽出しておく。   FIG. 17 illustrates the separation of the lower data L (i) and the sign flag S (i). The low-order data L (i) of the model bits length and the 1-bit length of the sign flag S (i) are separated. The case where the sign flag S (i) exists as shown in the upper diagram of FIG. In this case, the sign flag S (i) may not exist, and in the main separation, the presence or absence of the sign flag S (i) cannot be determined. S (i) is extracted beforehand.

下位データ抽出部132により抽出された下位データL(i)は、下位データ符号決定部133、下位データ符号反転部134、下位データ選択部135に入力され、サインフラグS(i)は、下位データ符号決定部133のみに入力される。   The lower data L (i) extracted by the lower data extraction unit 132 is input to the lower data code determination unit 133, the lower data code inversion unit 134, and the lower data selection unit 135, and the sign flag S (i) It is input only to the code determination unit 133.

下位データ符号決定部133は、下位データ抽出部132より入力された下位データL(i)とサインフラグS(i)及び上位データ分配部129より入力された上位データU(i)に基づいて、下位データ符号情報K(i)を決定する。   The lower data code determination unit 133 is based on the lower data L (i) input from the lower data extraction unit 132, the sign flag S (i), and the higher data U (i) input from the upper data distribution unit 129. Lower data code information K (i) is determined.

下位データ符号情報K(i)の決定は、図14に示すように行われる。即ち、上位データ正負ゼロ判定器143は、入力された上位データU(i)が非ゼロかゼロかを判定し(ステップS36,S37)、その判定情報を下位データ符号選択器146に入力し、その上位データU(i)が非ゼロである場合には、そのデータが正であるのか負であるのかを示す符号を判定し(ステップS38)、上位符号情報として、下位データ符号選択器146に入力する。   The lower data code information K (i) is determined as shown in FIG. That is, the upper data positive / negative zero determiner 143 determines whether the input upper data U (i) is non-zero or zero (steps S36 and S37), and inputs the determination information to the lower data code selector 146. If the upper data U (i) is non-zero, the sign indicating whether the data is positive or negative is determined (step S38), and the lower data code selector 146 is used as the upper code information. input.

下位データ非ゼロ判定器145は、入力された下位データL(i)が非ゼロかゼロかを判定し(ステップS39)、その判定情報をサインフラグ選択器144に入力する。サインフラグ選択器144は、入力された判定情報が非ゼロであれば、下位データ抽出部より入力されたサインフラグS(i)を選択し(ステップS40)、その判定情報がゼロであれば、0の値を選択し、下位符号として下位データ符号選択器146へ入力する。   The lower data non-zero determiner 145 determines whether the input lower data L (i) is non-zero or zero (step S39), and inputs the determination information to the sign flag selector 144. The sign flag selector 144 selects the sign flag S (i) input from the lower data extraction unit if the input determination information is non-zero (step S40), and if the determination information is zero, A value of 0 is selected and input to the lower data code selector 146 as the lower code.

下位データ符号選択器146は、上位データ正負ゼロ判定器143からの判定情報を基に、その判定情報が非ゼロであれば、上位データ正負ゼロ判定器143から入力された上位符号を選択し、その判定情報がゼロであれば、サインフラグ選択器144から入力された下位符号を選択して、下位データ符号情報K(i)として下位データ選択部135へ入力する。   The lower data code selector 146 selects the higher code input from the upper data positive / negative zero determiner 143 if the determination information is non-zero based on the determination information from the upper data positive / negative zero determiner 143, If the determination information is zero, the lower code input from the sign flag selector 144 is selected and input to the lower data selection unit 135 as lower data code information K (i).

下位データ符号反転部134は、下位データ抽出部132から入力された下位データL(i)の正負の符号を反転させたデータを下位データ選択部135へ入力し(ステップS42)、下位データ選択部135は、下位データ符号決定部133からの下位データ符号情報K(i)に基づいて、その判定情報が正であれば、下位データ抽出部132より入力された下位データL(i)を選択し、その判定情報が負であれば、下位データ符号反転部134より入力された符号反転データを選択して、符号付きの下位データL(i)として、データ連結部123へ入力する。   The lower data code inverting unit 134 inputs the data obtained by inverting the sign of the lower data L (i) input from the lower data extracting unit 132 to the lower data selecting unit 135 (step S42), and the lower data selecting unit 135, based on the lower data code information K (i) from the lower data code determination unit 133, if the determination information is positive, selects the lower data L (i) input from the lower data extraction unit 132. If the determination information is negative, the sign-inverted data input from the lower-order data sign inversion unit 134 is selected and input to the data concatenation unit 123 as signed lower-order data L (i).

データ連結部123は、上位データ分配部129から入力された上位データU(i)と下位データ選択部135から入力された下位データL(i)とを連結して係数データZ(i)として、適応型スキャン部130へ出力する(ステップS43)。   The data concatenation unit 123 concatenates the upper data U (i) input from the upper data distribution unit 129 and the lower data L (i) input from the lower data selection unit 135 as coefficient data Z (i), The data is output to the adaptive scan unit 130 (step S43).

下位データL(i)の処理は、1つのデータ毎になされ、1ブロック単位の15個のデータの処理が終了するまで、下位データ処理部での処理を繰り返す(ステップS35〜S45)。また、上記の各ブロックの処理を1つのマクロブロックを構成する16ブロック分繰り返す(ステップS46)。   The processing of the lower data L (i) is performed for each data, and the processing in the lower data processing unit is repeated until the processing of 15 data in units of one block is completed (steps S35 to S45). The processing of each block is repeated for 16 blocks constituting one macro block (step S46).

そして、データ連結部123は、マクロブロックの処理が完了し、最後の上位データU(i)と下位データL(i)の連結が完了した際、その完了信号をモデルビッツ更新部122へ入力し、モデルビッツ更新部122にて、モデルビッツの更新が実施される(ステップS47)。尚、本VLC復号化処理は、1画像データ内の全マクロブロックの処理が終了するまで繰り返される(ステップS48)。   Then, when the processing of the macroblock is completed and the last connection of the upper data U (i) and the lower data L (i) is completed, the data connection unit 123 inputs the completion signal to the model bits update unit 122. The model bits update unit 122 updates the model bits (step S47). This VLC decoding process is repeated until the processing of all macroblocks in one image data is completed (step S48).

前記VLC復号化部120の1つのブロックの処理が終了する毎に、前記適応型スキャン部130は、圧縮時に定められた手法によって画素順を入れ替えられた第1階層データ及び第2階層データについて、その係数データを圧縮とは逆の手順によって入れ替え、元の画素順に戻す処理を行う。この入替処理は、圧縮の際にブロックの左上部の周波数帯域の低い側に非ゼロの係数を集めることで(逆に右下部の周波数帯域の高い側に係数値がゼロのものが集まる)、符号化において圧縮率を高めるために行われるものである。   Each time the processing of one block of the VLC decoding unit 120 is completed, the adaptive scanning unit 130 performs the following processing on the first layer data and the second layer data whose pixel order is changed by a method determined at the time of compression. The coefficient data is replaced by a procedure reverse to the compression, and processing for returning to the original pixel order is performed. This replacement process collects non-zero coefficients on the lower side of the frequency band at the upper left of the block during compression (conversely, those with zero coefficient values gather on the higher side of the lower right frequency band) This is performed in order to increase the compression rate in encoding.

前記係数逆予測部140は、前記適応型スキャン部130から入力した、ブロック毎の前記第1階層データ、第2階層データ、及び第3階層データについて、それぞれ、隣接するブロック間での係数の比較を行って予測モードを導出し、予測モードに対し、設定された演算式に従って、相関の高いブロックの対応する画素の値を、対象画素に足し込むことで、圧縮における予測処理前の画素値を復元(逆予測)する。そして、逆予測後の第1階層データ、第2階層データ及び第3階層データをブロック毎に逆量子化部150に入力する。   The coefficient inverse prediction unit 140 compares coefficients between adjacent blocks for the first layer data, second layer data, and third layer data for each block input from the adaptive scanning unit 130. The prediction mode is derived and the pixel value before the prediction processing in the compression is calculated by adding the corresponding pixel value of the highly correlated block to the target pixel according to the set arithmetic expression with respect to the prediction mode. Restore (reverse prediction). Then, the first layer data, the second layer data, and the third layer data after inverse prediction are input to the inverse quantization unit 150 for each block.

前記逆量子化部150は、前記係数逆予測部140により逆予測された第1階層データ、第2階層データ及び第3階層データを、それぞれ設定された量子化パラメータで乗算して逆量子化する処理を行い、処理後の第1階層データ、第2階層データ及び第3階層データを、ブロック毎に周波数逆変換部160に入力する。   The inverse quantization unit 150 performs inverse quantization by multiplying the first layer data, the second layer data, and the third layer data inversely predicted by the coefficient inverse prediction unit 140 by respective set quantization parameters. Processing is performed, and the processed first layer data, second layer data, and third layer data are input to the frequency inverse transform unit 160 for each block.

前記周波数逆変換部160は、前記逆量子化部150によって逆量子化された係数データを、4×4画素を一つのブロックとしてラスター方向に順次処理し、各周波数帯域毎の係数データを画素データに変換する処理を行う。この周波数逆変換部160は、各周波数帯域毎に分離していた第1階層データ、第2階層データ及び第3階層データを、色成分毎に、1ブロック(4×4画素)の2次元空間データに戻して、前記色空間逆変換部170に入力する。   The frequency inverse transform unit 160 sequentially processes the coefficient data inversely quantized by the inverse quantization unit 150 in the raster direction with 4 × 4 pixels as one block, and converts the coefficient data for each frequency band into pixel data. Process to convert to. The frequency inverse transform unit 160 converts the first layer data, the second layer data, and the third layer data separated for each frequency band into a two-dimensional space of one block (4 × 4 pixels) for each color component. Returning to the data, the data is input to the color space inverse transform unit 170.

前記色空間逆変換部170は、前記周波数逆変換部160から入力された各色成分毎の画像データを画素毎に処理し、色空間逆変換が不要な場合は、色空間逆変換せず、色空間逆変換が必要な場合は、色空間逆変換を行って、処理後の画素データを、外部に1画像分の画像データとして出力する。   The color space inverse transform unit 170 processes the image data for each color component input from the frequency inverse transform unit 160 for each pixel, and when the color space inverse transform is unnecessary, the color space inverse transform is not performed. When space inverse transformation is necessary, color space inverse transformation is performed and the processed pixel data is output to the outside as image data for one image.

尚、色空間逆変換の要否は、非特許文献1の規格で定められた画像の形式を表わすピクセルフォーマットというものに依存し、そのピクセルフォーマットが変換を必要とするものである場合には、逆変換前の画像データがYUVフォーマットである画像は、RGBフォーマットに変換され、逆変換前の画像データがYUVKフォーマットである画像は、CMYKフォーマットに変換される。また、そのピクセルフォーマットが色空間逆変換を必要とするものでない場合には、色空間逆変換されない。   Note that the necessity of color space reverse conversion depends on the pixel format representing the image format defined in the standard of Non-Patent Document 1, and when the pixel format requires conversion, An image whose image data before reverse conversion is in YUV format is converted into RGB format, and an image whose image data before reverse conversion is in YUVK format is converted into CMYK format. Further, when the pixel format does not require color space reverse conversion, color space reverse conversion is not performed.

JPEG XR勧告書ITU-T T.832 : Information technology -JPEG XR image coding system - Image coding specification. [online].Recommendation T.832(01/12). Approval 2012-01-13. Status : In force.Retrieved from the Internet : <URL : http://www.itu.int/rec/T-REC-T.832-201201-I/en>.JPEG XR Recommendation ITU-T T.832: Information technology -JPEG XR image coding system-Image coding specification. [Online] .Recommendation T.832 (01/12). Approval 2012-01-13. Status: In force. Retrieved from the Internet: <URL: http://www.itu.int/rec/T-REC-T.832-201201-I/en>.

伸長対象の画像圧縮データは、技術進歩に伴う解像度の向上によって、そのデータ量が急増しており、上記従来の画像復号化装置100では、データ量の増加によって、その処理に長時間を要するため、更なる効率化が求められている。   The amount of data of the compressed image data to be decompressed has increased rapidly due to the improvement in resolution accompanying technological advancement, and the conventional image decoding apparatus 100 takes a long time to process due to the increase in the amount of data. There is a need for further efficiency.

特に、前記VLC復号化部120内の下位データ処理部131では、ブロック毎の上位データU(i)のVLC復号化後、下位データ群より、条件に依存して発生するサインフラグS(i)を検出して、下位データL(i)を抽出し、上位データU(i)に連結する処理を、当該処理を1サイクルとして、連結後の係数データZ(i)の個数分だけ、そのサイクルを繰り返す処理を行うので、第1階層データ、第2階層データ及び第3階層データの総数と同じサイクル数だけ処理を繰り返さなければならず、その処理に長時間を要していた。このため、この従来の下位データ処理部131の処理は、当該画像復号化装置100における処理効率を低下させるネック要因の一つになっていた。   In particular, in the lower data processing unit 131 in the VLC decoding unit 120, after the VLC decoding of the upper data U (i) for each block, the sign flag S (i) generated depending on the condition from the lower data group , The lower data L (i) is extracted, and the process of connecting to the higher data U (i) is defined as one cycle for the number of coefficient data Z (i) after the connection. Therefore, the process has to be repeated for the same number of cycles as the total number of the first hierarchy data, the second hierarchy data, and the third hierarchy data, and the process takes a long time. For this reason, the processing of the conventional low-order data processing unit 131 has become one of the bottleneck factors that reduce the processing efficiency of the image decoding apparatus 100.

但し、背景技術で述べたように、下位データL(i)には、サインフラグS(i)が存在する場合と存在しない場合があり、背景技術のように1係数ずつ処理する場合には、実現の際、特に問題とはならないが、このデータ処理を複数の下位データについて同時に処理する場合には、下位データL(i)とサインデータS(i)の並びの場合の数が増大する。特に、復号処理の場合、連接されたデータが存在し、それを現在の復号位置から順に追って、抽出していかなければならないので、下位データL(i)とサインフラグS(i)の抽出が困難であった。   However, as described in the background art, the low order data L (i) may or may not have the sign flag S (i), and when processing one coefficient at a time as in the background art, Although there is no particular problem at the time of realization, when this data processing is performed simultaneously on a plurality of lower-order data, the number of cases where the lower-order data L (i) and the sign data S (i) are arranged increases. In particular, in the case of decoding processing, concatenated data exists and must be extracted in order from the current decoding position, so that the lower data L (i) and the sign flag S (i) are extracted. It was difficult.

図18に、下位データ群から、連続する3個の下位データL(i)をサインフラグS(i)とともに抽出する場合の一例を示す。最初の下位データL(1)は、現在の復号位置からモデルビッツ長の位置の所までの位置で一定であるが、下位データL(1)に伴うサインフラグS(1)については、存在する場合[(A)〜(D)]と存在しない場合[(E)〜(H)]とがある。   FIG. 18 shows an example of extracting three consecutive lower data L (i) together with the sign flag S (i) from the lower data group. The first lower data L (1) is constant at the position from the current decoding position to the position of the model bits length, but there is a sign flag S (1) associated with the lower data L (1). There are cases [(A) to (D)] and cases [(E) to (H)] that do not exist.

下位データL(2)は、サインフラグS(1)が存在する場合には、サインフラグS(1)の後に存在するため、モデルビッツ長+1ビットの位置の1つ後の位置からモデルビッツ長の長さの位置まで存在するが、サインフラグS(1)が存在しない場合は、下位データL(1)のすぐ後に存在するため、モデルビッツ長の位置の1つ後の位置からモデルビッツ長の長さの位置まで存在することになる。   When the sign flag S (1) is present, the low-order data L (2) is present after the sign flag S (1). Therefore, the model bit length from the position immediately after the position of the model bit length + 1 bit. If the sign flag S (1) does not exist, it exists immediately after the lower order data L (1). Therefore, the model bit length from the position immediately after the model bit length position is present. It will exist up to the position of length.

さらに下位データL(2)に伴うサインフラグS(2)が存在する場合[(A),(B),(E),(F)]と存在しない場合[(C),(D),(G),(H)]で、サインフラグS(2)とその次の下位データL(3)の存在位置が異なってくる。また、下位データL(3)に伴うサインフラグS(3)が存在する場合[(A),(C),(E),(G)]と存在しない場合[(B),(D),(F),(H)]で、サインフラグS(3)の存在位置が異なってくる。   Furthermore, when the sign flag S (2) associated with the lower data L (2) exists [(A), (B), (E), (F)] and when it does not exist [(C), (D), ( G), (H)], the positions of the sign flag S (2) and the next lower data L (3) are different. Further, when the sign flag S (3) associated with the lower data L (3) exists [(A), (C), (E), (G)] and when it does not exist [(B), (D), (F), (H)], the position where the sign flag S (3) exists differs.

斯くして、図18の下の点線状の楕円で囲った矢印で示すように、各データの開始位置の場合分けとしては、下位データL(1)とサインフラグS(1)は1通り、下位データL(2)とサインフラグS(2)は2通り、下位データL(3)とサインフラグS(3)は3通りと順に1通りずつ開始位置の場合の数が増えていくことになる。尚、これは、同時に処理する下位データの数を4以上に増やしたときも同様で、L(i)の引数iが1つ増える毎に、開始位置の場合の数は1通りずつ増えていく。   Thus, as shown by the arrow surrounded by the dotted-line ellipse at the bottom of FIG. 18, as the case classification of the start position of each data, the lower order data L (1) and the sign flag S (1) are one way, The lower data L (2) and the sign flag S (2) are in two ways, the lower data L (3) and the sign flag S (3) are in three ways, and the number in the starting position increases one by one. Become. This is the same when the number of lower-order data to be processed simultaneously is increased to 4 or more. Every time the argument i of L (i) is increased by 1, the number at the start position is increased by one. .

このように画像圧縮データの伸長時、下位データ群からの抽出を並列的に実施して、処理効率を高めようとすると、下位データL(i)とサインフラグS(i)について、サインフラグS(i)の有無に伴う各下位データL(i)とサインフラグS(i)の開始位置がどの位置を取るときでも、対応できる構成としなければならない。   As described above, when decompressing the compressed image data, the extraction from the lower data group is performed in parallel to increase the processing efficiency. For the lower data L (i) and the sign flag S (i), the sign flag S It must be configured to be able to cope with any position where the start position of each low-order data L (i) and sign flag S (i) with or without (i) is taken.

尚、この従来のVLC復号化処理のタイミングを表したものが図19であり、点線状の楕円で囲んだ部分のLPとHPの下位データ処理の矢印で表した処理に時間が掛かることが問題であった。そこで、図20のタイミング図のように、点線状の楕円で囲んだ部分の下位データ処理の矢印で表した部分の処理時間が短縮されれば、VLC復号化器の処理時間、ひいては、画像復号化装置全体の処理時間の高速化を達成できる。また、同図19,図20に示すように、非特許文献1の規格では、HPの処理は16ブロック分あり、16個のブロックについて処理の繰り返しがあるため、特にHPにおける下位データ処理の時間短縮効果が大きいと考えられる。   Note that FIG. 19 shows the timing of this conventional VLC decoding process, and it takes time to process the LP and HP sub-data processing arrows indicated by the dotted ellipse. Met. Therefore, as shown in the timing diagram of FIG. 20, if the processing time of the portion represented by the arrow of the lower data processing in the portion surrounded by the dotted line ellipse is shortened, the processing time of the VLC decoder, and consequently, the image decoding The processing time of the entire converter can be increased. Further, as shown in FIGS. 19 and 20, in the standard of Non-Patent Document 1, there are 16 blocks of HP processing, and there are repetitions of processing for 16 blocks. It is considered that the shortening effect is great.

本発明は、以上の実情に鑑み、なされたものであって、VLC復号化部における下位データ処理部の処理時間を短縮することで、全体的な処理効率を高めることが可能な画像復号化装置の提供を、その目的とする。   The present invention has been made in view of the above circumstances, and is an image decoding apparatus capable of improving the overall processing efficiency by reducing the processing time of the lower data processing unit in the VLC decoding unit. The purpose is to provide

上記課題を解決するため、本発明の画像復号化装置は、n個の係数データを1つのブロック単位として符号化された画像圧縮データから、前記係数データの上位部分のデータである上位データを復号化する上位データ復号化部と、前記係数データの下位部分のデータである下位データを抽出する下位データ処理部と、前記上位データと前記下位データとを連結して、係数データを復元するデータ連結部とからなる復号化部と、
前記復号化部により復号化されたブロック単位の係数データを逆量子化する逆量子化部と、
前記逆量子化部により逆量子化されたブロック単位の係数データを周波数逆変換して画像データを生成する周波数逆変換部とを備えた画像復号化装置において、
前記下位データ処理部は、前記下位データと該下位データの正負を示すサインフラグの組の並びの取り得る全組み合せについて、ブロック単位で下位データの候補及びサインフラグの候補を並列的に抽出する下位データ並列抽出部と、
前記上位データと前記下位データの候補に基づいて、前記下位データに後続するサインフラグが存在するか否かを示す符号有無判定情報を並列的に生成する下位データ並列符号有無判定部と、
前記符号有無判定情報に基づき、前記下位データの候補及び前記サインフラグの候補の中から、ブロック単位のn組の下位データとサインフラグを並列的に選択し分配する下位データ分配部とを備える。
但し、前記nは2以上の整数である。
In order to solve the above-described problem, an image decoding apparatus according to the present invention decodes higher-order data that is higher-order data of coefficient data from compressed image data encoded using n coefficient data as one block unit. A higher-order data decoding unit, a lower-order data processing unit that extracts lower-order data that is lower-order data of the coefficient data, and a data connection that restores coefficient data by connecting the higher-order data and the lower-order data A decoding unit comprising:
An inverse quantization unit that inversely quantizes the coefficient data in units of blocks decoded by the decoding unit;
In an image decoding apparatus comprising: a frequency inverse transform unit that inversely frequency transforms coefficient data in block units inversely quantized by the inverse quantization unit to generate image data;
The lower data processing unit extracts, in parallel, lower data candidates and sign flag candidates in block units for all possible combinations of the lower data and a combination of sign flags indicating the sign of the lower data. A data parallel extractor;
A lower data parallel code presence / absence determination unit that generates code presence / absence determination information indicating whether or not a sign flag subsequent to the lower data exists based on the upper data and the lower data candidates;
A lower data distribution unit that selects and distributes n sets of lower data and sign flags in block units in parallel from the lower data candidates and the sign flag candidates based on the code presence / absence determination information.
However, n is an integer of 2 or more.

上記構成を備えた本発明に係る画像復号化装置によれば、まず、下位データ並列抽出部において、下位データとサインフラグの組の並びのいくつかの組み合わせをもった画像圧縮データの中から、全組み合せについての下位データの候補とサインフラグの候補を並列的に抽出する。   According to the image decoding apparatus according to the present invention having the above-described configuration, first, in the low-order data parallel extraction unit, from among the compressed image data having several combinations of the low-order data and sign flag pairs, Lower data candidates and sign flag candidates for all combinations are extracted in parallel.

そして、下位データ並列符号有無判定部において、上位データと抽出した下位データの候補に基づいて、下位データに後続するサインデータが存在するかどうかを示す符号有無判定情報を並列的に生成する。   Then, in the lower data parallel code presence / absence determination unit, code presence / absence determination information indicating whether or not there is sign data subsequent to the lower data is generated in parallel based on the upper data and the extracted lower data candidates.

最後に、下位データ分配部において、下位データ並列抽出部によって抽出した下位データの候補とサインフラグの候補の中から、下位データ並列符号有無判定部によって生成した符号有無判定情報を用いて、選定されるべき下位データとサインフラグを並列的に選択し、出力および分配する。   Finally, the lower data distribution unit is selected from the lower data candidates extracted by the lower data parallel extraction unit and the sign flag candidates using the code presence / absence determination information generated by the lower data parallel code presence / absence determination unit. Select lower level data and sign flag to be output in parallel and distribute.

このように、連続する下位データとサインフラグのデータの中から、全組み合せの下位データの候補とサインフラグの候補を挙げておき、サインフラグが存在する条件を判定し、選定されるべき下位データとサインフラグをブロック単位のn個分、並列的に取得することができるようになる。   In this way, among the consecutive lower data and sign flag data, all combinations of lower data candidates and sign flag candidates are listed, the conditions under which the sign flag exists are determined, and the lower data to be selected And n sign flags in units of blocks can be acquired in parallel.

また、本発明の画像復号化装置の下位データ処理部は、ブロック単位のそれぞれn個の下位データおよび上位データを、1つのサイクルでの処理数をm個として、1つのサイクル又は複数のサイクルの繰り返しで処理する。
但し、前記nは2以上の整数であり、前記mは2以上n以下の整数であり、処理の繰り返しが、1つのサイクルで終了するものであるときは、mとnは等しくなる。
Further, the lower data processing unit of the image decoding apparatus according to the present invention is configured so that each of n low-order data and high-order data in a block unit is processed in one cycle or a plurality of cycles, where m is the number of processes in one cycle. Process iteratively.
However, n is an integer of 2 or more, m is an integer of 2 or more and n or less, and m and n are equal when the repetition of the process ends in one cycle.

上記構成を備えた本発明に係る画像符号化装置によれば、従来n個のサイクルで実施していた、前述のブロック単位でのn個の下位データとサインフラグの取得を、1つのサイクルまたは複数のサイクルで実施できるようになる。   According to the image coding apparatus according to the present invention having the above-described configuration, the acquisition of the n low-order data and the sign flag in units of the blocks, which has been conventionally performed in n cycles, is performed in one cycle or Can be implemented in multiple cycles.

ここで、1つのサイクルで処理する個数mは2以上であるので、複数のサイクルで実施する場合でも、従来のn個のサイクルで処理することに比べ、半分以下のサイクルで処理することができる。   Here, since the number m to be processed in one cycle is two or more, even when the processing is performed in a plurality of cycles, the processing can be performed in half or less than the conventional processing in n cycles. .

さらに、本発明の画像復号化装置の下位データ並列抽出部は、qビット長の下位データと、その下位データに後続して、存するときと存しないときのある1ビット長のサインフラグとを1つの組として、その組がm個連続して連接された下位データ群の中から、1〜m番目までの下位データとサインフラグの取り得る組み合せについて、下位データの候補とサインフラグの候補の全てを並列的に抽出する。
但し、前記下位データに後続する前記サインフラグが存しない場合のサインフラグの候補には0か1のダミーの値を入れるものとし、前記nは2以上の整数であり、前記mは2以上n以下の整数であり、前記qは1〜pの整数であり、前記pは1以上の整数である。
Furthermore, the low-order data parallel extraction unit of the image decoding apparatus according to the present invention sets the low-order data of q-bit length and the 1-bit-long sign flag, which may or may not exist, following the low-order data. As a set, all of the candidates for the lower data and the candidates for the sign flag for the possible combinations of the first to m-th lower data and the sign flag from the lower data group in which m sets are continuously connected. Are extracted in parallel.
However, a dummy value of 0 or 1 is put in a candidate for a sign flag when the sign flag following the lower data does not exist, n is an integer of 2 or more, and m is 2 or more and n The following integers, q is an integer of 1 to p, and p is an integer of 1 or more.

上記構成を備えた本発明に係る画像復号化装置の下位データ並列抽出部によれば、qビット長の下位データと、その後に存在する場合としない場合がある1ビット長のサインフラグを1つの組として、その組がm個連接されている下位データ群の中から、1つのサイクルの処理数m個分の下位データの候補とサインフラグの候補を、全ての組み合せの中から網羅的に同時に抽出することができる。尚、サインフラグが存在しない場合もあるが、その際は、0か1のダミーの値を入れておく。   According to the lower-order data parallel extraction unit of the image decoding apparatus according to the present invention having the above-described configuration, one q-bit lower-order data and one-bit sign flag that may or may not exist thereafter are provided. As a set, m subordinate data candidates and sign flag candidates for the number of processes in one cycle from among the subordinate data group in which m sets are concatenated, are comprehensively simultaneously selected from all combinations. Can be extracted. In some cases, the sign flag does not exist. In this case, a dummy value of 0 or 1 is entered.

具体的には、1番目の下位データについては、データの先頭にあるため、下位データの候補は1個となるが、2番目の下位データの候補はその前にサインフラグが入る場合があり、2個の候補となり、3番目の下位データの候補は2つ目のサインフラグの有無でさらにずれる場合があり、3個というように、番数が増える毎に候補は1個ずつ増え、m番目の下位データの候補はm個となる。   Specifically, since the first lower data is at the head of the data, there is one lower data candidate, but the second lower data candidate may be preceded by a sign flag, There are two candidates, and the third lower data candidate may be further shifted depending on the presence or absence of the second sign flag. As the number increases, the number of candidates increases by one as the number increases. There are m lower data candidates.

サインフラグについても同様で、1番目の下位データのサインフラグについては、1番目の下位データがデータの先頭にあるため、サインフラグの候補は1番目の下位データの位置の次にある1個の候補となる。そして、2番目のサインフラグの候補はさらにもう1ビットずれる場合があるため2個となり、3番目のサインフラグの候補は3個というように、番数が増える毎に候補は1個ずつ増え、m番目のサインフラグの候補はm個となる。   The same applies to the sign flag. For the sign flag of the first lower data, since the first lower data is at the head of the data, the candidate for the sign flag is the one next to the position of the first lower data. Be a candidate. And the second sign flag candidate may be further shifted by 1 bit, so there are two, and the third sign flag candidate is three, so as the number increases, the candidate increases by one, There are m candidates for the mth sign flag.

また、本構成では、下位データのビット長をその取り得る範囲である1〜pの中の1つのqとしているが、これは、このqビット長のときの下位データについて、下位データの候補とサインフラグの候補が抽出できればよいという意味であって、この構成を例えば、1〜pの全てのビット長の下位データについて、網羅的に下位データの候補とサインフラグの候補を抽出しておき、最終的にqのビット長の下位データの候補とサインフラグの候補を選択するようにしてもよい。   Further, in this configuration, the bit length of the lower data is set to one q in the range 1 to p that can be taken. This is because the lower data with this q bit length is considered as a lower data candidate. This means that it is only necessary to be able to extract sign flag candidates. For example, the lower data candidates and sign flag candidates are comprehensively extracted for lower data of all bit lengths 1 to p, Finally, a candidate for low-order data having a bit length of q and a candidate for a sign flag may be selected.

また、この構成を例えば、ビット長qを可変にしておき、最初から、この下位データのビット長qとサインフラグのビット長1についての下位データの候補とサインフラグの候補だけを網羅的に抽出できるようにしておいてもよい。   Also, for example, with this configuration, for example, the bit length q is variable, and from the beginning, only the lower data candidates and the sign flag candidates for the bit length q of the lower data and the bit length 1 of the sign flag are exhaustively extracted. You may be able to do it.

さらに、本発明の画像復号化装置の下位データ並列符号有無判定部は、上位データがゼロで下位データが非ゼロであるときのみ、下位データに後続するサインデータが存するという条件を基に、一意的に確定される1番目の下位データと対応する上位データから、1番目の下位データに後続するサインフラグの有無を判定し、1番目のサインフラグの有無の判定により2番目の下位データの開始位置ずれを推定して、2番目の下位データの候補の中から2番目の下位データを判定し、判定した2番目の下位データと対応する上位データより、2番目の下位データに後続するサインフラグの有無を判定し、3番目の下位データについては、前番目までの下位データに後続するサインフラグが存した累計数により該番目の下位データの開始位置ずれを推定して、該番目の下位データの候補の中から該番目の下位データを判定し、判定した該番目の下位データと対応する上位データより、該番目の下位データに後続するサインフラグの有無を判定し、以降、同様に1〜m番目まで、各番目の下位データに後続するサインフラグの有無を並列的に判定し、判定した1〜m番目までの各番目の下位データに後続するサインフラグの有無の判定情報を符号有無判定情報として出力する。
但し、前記nは2以上の整数であり、前記mは2以上n以下の整数である。
Furthermore, the lower-order data parallel code presence / absence determining unit of the image decoding apparatus according to the present invention is unique based on the condition that sign data following the lower-order data exists only when the higher-order data is zero and the lower-order data is non-zero. The presence or absence of a sign flag following the first lower-order data is determined from the higher-order data corresponding to the first lower-order data, and the second lower-order data is started by determining the presence or absence of the first sign flag. A sign flag following the second lower data from the upper data corresponding to the determined second lower data is determined by estimating the positional deviation and determining the second lower data from the second lower data candidates. The third subordinate data is determined based on the cumulative number of sign flags following the subordinate data up to the previous one, and the start position of the subordinate data is not determined. And the presence or absence of a sign flag subsequent to the lower-order data from the higher-order data corresponding to the determined lower-order data. After that, similarly, from 1 to mth, the presence / absence of a sign flag following each of the lower order data is judged in parallel, and the sign following each of the determined lower order data of the first to mth is determined. The flag presence / absence determination information is output as code presence / absence determination information.
However, the n is an integer of 2 or more, and the m is an integer of 2 or more and n or less.

上記構成を備えた本発明に係る画像復号化装置の下位データ並列符号有無判定部によれば、上位データがゼロで下位データが非ゼロであるときのみ、下位データに後続するサインデータが存するという条件を基に、1つのサイクルで処理されるm個の下位データにつき、後続するサインフラグの有無を並列的に判定し、判定した1〜m番目までの各番目の下位データに後続するサインフラグの有無の判定情報を符号有無判定情報として出力することができる。   According to the low-order data parallel code presence / absence determining unit of the image decoding apparatus according to the present invention having the above configuration, sign data following the low-order data exists only when the high-order data is zero and the low-order data is non-zero. Based on the conditions, for m pieces of lower-order data processed in one cycle, the presence / absence of the following sign flag is judged in parallel, and the sign flag that follows each of the first to mth lower-order data thus judged The presence / absence determination information can be output as code presence / absence determination information.

具体的には、前述のサインフラグが存在する条件より、各下位データにサインフラグが有るかどうかを判断していく。1番目の下位データについては、下位データの候補が1つしかないので、前記サインフラグ存在条件から容易に判定できる。   Specifically, it is determined whether or not each subordinate data has a sign flag based on the above-mentioned condition that the sign flag exists. Since the first lower data has only one lower data candidate, it can be easily determined from the sign flag existence condition.

2番目の下位データについては、1番目の下位データにサインフラグがなければ、先頭から一番近い2番目の下位データの候補を選択し、1番目の下位データにサインフラグがあれば、先頭から二番目に近い2番目の下位データの候補を選択し、その選択した下位データと対応する上位データから、前記サインフラグ存在条件よりサインフラグの有無を判定する。   For the second lower data, if there is no sign flag in the first lower data, the second lower data candidate closest to the head is selected, and if the first lower data has a sign flag, The second nearest lower data candidate is selected, and the presence or absence of a sign flag is determined from the higher order data corresponding to the selected lower data based on the sign flag existence condition.

3番目の下位データについては、1番目と2番目の下位データの後にサインフラグが有った数を累積しておき、その数が0なら、先頭から一番近い3番目の下位データの候補を選択し、その数が1なら、先頭から二番目に近い3番目の下位データの候補を選択し、その数が2なら、先頭から三番目に近い3番目の下位データの候補を選択し、その選択した下位データと対応する上位データから、前記サインフラグ存在条件よりサインフラグの有無を判定する。   For the third subordinate data, the number with the sign flag after the first and second subordinate data is accumulated, and if the number is zero, the candidate of the third subordinate data nearest from the top is selected. If the number is 1, select the third subordinate data candidate closest to the second from the top, and if the number is 2, select the third subordinate data candidate closest to the top from the top, and The presence / absence of a sign flag is determined from the upper data corresponding to the selected lower data based on the sign flag existence condition.

4番目以降の下位データについても、1番目からその前番目までの下位データの後にサインフラグが有った数を累積しておき、その数が小さい方から、先頭から近い順に、当該番目の下位データの候補を選択して、その選択した下位データと対応する上位データから、前記サインフラグ存在条件よりサインフラグの有無を判定する。   Also for the fourth and subsequent lower data, the number with the sign flag after the first to the previous lower data is accumulated, and the lower order data from the first to the lower A data candidate is selected, and the presence / absence of a sign flag is determined based on the sign flag existence condition from the upper data corresponding to the selected lower data.

この処理を1つのサイクルでの処理数であるm番目までの下位データについて実施し、サインフラグの有無を判定する。   This process is performed for the mth lower data, which is the number of processes in one cycle, and the presence or absence of a sign flag is determined.

そして、1〜m番目までについて並列的に判定したサインフラグの有無情報を符号有無判定情報として出力する。   Then, the presence / absence information of the sign flag determined in parallel for the 1st to mth is output as the code presence / absence determination information.

さらに、本発明の画像復号化装置の下位データ分配部は、一意的に確定される1番目の下位データとサインフラグはそのまま選択し、1番目の下位データの符号有無判定情報により2番目の下位データの開始位置ずれを推定して、2番目の下位データの候補とサインフラグの候補の中から、2番目の下位データとサインフラグを選択し、3番目の下位データとサインフラグについては、前番目までの各下位データの符号有無判定情報の存在数の累計により該番目の下位データの開始位置ずれを推定して、該番目の下位データの候補とサインフラグの候補の中から、該番目の下位データとサインフラグを選択し、以降、同様に1〜m番目まで、各番目の下位データとサインフラグを並列的に選択して、選択した1〜m番目までの各番目の下位データとサインフラグを出力し分配する。
但し、サインフラグが存しないとされる場合のサインフラグには、0か1のダミーの値を入れるものとし、前記nは2以上の整数であり、前記mは2以上n以下の整数である。
Furthermore, the lower-order data distribution unit of the image decoding apparatus according to the present invention selects the first lower-order data and the sign flag that are uniquely determined as they are, and the second lower-order data according to the code presence / absence determination information of the first lower-order data. The start position deviation of the data is estimated, the second lower data and the sign flag are selected from the second lower data candidate and the sign flag candidate, and the third lower data and the sign flag are The start position shift of the second lower data is estimated by accumulating the number of existing codes in the lower data until the th, and the second lower data candidate and sign flag candidate are The lower order data and the sign flag are selected, and thereafter, similarly, the first lower order data and the sign flag are selected in parallel from the 1st to mth, and the first lower order data to the 1st to mth are selected. Outputs data and sign flags dispensing.
However, when the sign flag does not exist, a dummy value of 0 or 1 is entered in the sign flag, the n is an integer of 2 or more, and the m is an integer of 2 or more and n or less. .

上記構成を備えた本発明に係る画像復号化装置の下位データ分配部によれば、下位データ並列符号有無判定部により生成された符号有無判定情報に基づいて、下位データ並列抽出部により生成された1〜m番目までの下位データの候補の中から選定すべき下位データを選択し、下位データ並列抽出部により生成された1〜m番目までのサインフラグの候補の中から選定すべきサインフラグを選択し、選択された1〜m番目までの下位データとサインフラグを出力して分配する。   According to the low-order data distribution unit of the image decoding apparatus according to the present invention having the above configuration, the low-order data parallel extraction unit generates the low-order data parallel extraction unit based on the code presence / absence determination information generated by the low-order data parallel code presence / absence determination unit. Select the lower data to be selected from the 1st to mth lower data candidates and select the sign flag to be selected from the 1st to mth sign flag candidates generated by the lower data parallel extraction unit. The selected sub-data from the 1st to m-th and the sign flag are output and distributed.

具体的には、1番目の下位データおよびサインフラグの候補はそれぞれ1つずつしかないので、そのまま出力する。尚、以降も同様であるが、サインフラグが存在しない場合には、サインフラグの出力には、0か1のダミーの値を入れておく。   Specifically, since there is only one candidate for the first lower data and the sign flag, they are output as they are. The same applies to the following, but when there is no sign flag, a dummy value of 0 or 1 is put in the output of the sign flag.

2番目の下位データおよびサインフラグの候補はそれぞれ2つずつあり、1番目の下位データに対する符号有無判定情報が無しの場合には、先頭から一番近い2番目の下位データの候補およびサインフラグの候補を選択し、出力する。   There are two candidates for the second lower data and the sign flag, and when there is no code presence / absence determination information for the first lower data, the second lower data candidate and the sign flag closest to the top Select candidates and output.

3番目の下位データおよびサインフラグの候補はそれぞれ3つずつあり、1番目と2番目の下位データの後にサインフラグが有った数を累積しておき、その数が0なら、先頭から一番近い3番目の下位データの候補およびサインフラグの候補を選択し、その数が1なら、先頭から二番目に近い3番目の下位データの候補およびサインフラグの候補を選択し、その数が2なら、先頭から三番目に近い3番目の下位データの候補およびサインフラグの候補を選択し、出力する。   There are three candidates for the third subordinate data and sign flag, and the number of sign flags after the first and second subordinate data is accumulated. If the number of the nearest third lower data candidate and sign flag candidate is selected and the number is 1, then the third lower data candidate and sign flag candidate that are the second closest from the top are selected, and if the number is 2, The third lower data candidate and the sign flag candidate that are the third closest to the head are selected and output.

4番目以降の下位データおよびサインフラグについても、1番目からその前番目までの下位データの後にサインフラグが有った数を累積しておき、その数が小さい方から、先頭から近い順に、当該番目の下位データの候補およびサインフラグの候補を選択し、出力する。   For the fourth and subsequent subordinate data and the sign flag, the number of sign flags after the first to the previous subordinate data is accumulated, and in order from the smallest number to the top Select and output the second lower data candidate and sign flag candidate.

この処理を1つのサイクルでの処理数であるm番目までの下位データおよびサインフラグについて実施し、選択した下位データおよびサインフラグを出力する。   This process is performed for the mth lower data and the sign flag, which is the number of processes in one cycle, and the selected lower data and the sign flag are output.

そして、1〜m番目までについて並列的に上記処理を実施する。   And the said process is implemented in parallel about 1-mth.

復号化処理の内、下位データおよびサインフラグの抽出・選択について、所定数番目までの下位データの候補およびサインフラグの候補を網羅的に抽出し、該所定数番目までの各下位データに後続するサインフラグに係る符号有無判定情報を生成し、その符号有無判定情報を用いて、選定すべき該所定数番目までの下位データおよびサインフラグを並列的に選択できるので、下位データおよびサインフラグの抽出・選択処理を並列化でき、1つのサイクル又は比較的少ない回数のサイクルに分割して並列処理することにより、従来に比べ、下位データ処理部の処理に掛かるサイクル数を削減することが可能となり、画像復号化装置全体の処理速度を向上させることができる。   In the decoding process, with regard to extraction / selection of lower data and sign flag, up to a predetermined number of lower data candidates and sign flag candidates are exhaustively extracted and succeeded to each lower data up to the predetermined number. Since the code presence / absence determination information related to the sign flag is generated and the code presence / absence determination information can be used to select the predetermined number of lower data and the sign flag in parallel, the lower data and the sign flag are extracted. -Selection processing can be parallelized, and by dividing into one cycle or a relatively small number of cycles and performing parallel processing, it becomes possible to reduce the number of cycles required for processing of the lower data processing unit compared to the conventional method. The processing speed of the entire image decoding apparatus can be improved.

本発明の一実施形態に係る画像復号化装置の概略構成を示したブロック図である。It is the block diagram which showed schematic structure of the image decoding apparatus which concerns on one Embodiment of this invention. 本実施形態に係るVLC復号化部の構成を示したブロック図である。It is the block diagram which showed the structure of the VLC decoding part which concerns on this embodiment. 本実施形態に係る下位データ並列抽出部の構成を示したブロック図である。It is the block diagram which showed the structure of the low-order data parallel extraction part which concerns on this embodiment. 本実施形態に係る第3下位データ抽出部の構成を示したブロック図である。It is the block diagram which showed the structure of the 3rd low-order data extraction part which concerns on this embodiment. 本実施形態に係る第3サインフラグ抽出部の構成を示したブロック図である。It is the block diagram which showed the structure of the 3rd sign flag extraction part which concerns on this embodiment. 本実施形態に係る下位データ並列符号有無判定部の構成を示したブロック図である。It is the block diagram which showed the structure of the low-order data parallel code presence / absence determination part which concerns on this embodiment. 本実施形態に係る下位データ並列符号決定部の構成を示したブロック図である。It is the block diagram which showed the structure of the low-order data parallel code determination part which concerns on this embodiment. 本実施形態に係る下位データ分配部の構成を示したブロック図である。It is the block diagram which showed the structure of the low-order data distribution part which concerns on this embodiment. 本実施形態に係るVLC復号化部における処理手順を示したフローチャートである。It is the flowchart which showed the process sequence in the VLC decoding part which concerns on this embodiment. 本実施形態に係るVLC復号化部における処理手順の一部を示したフローチャートである。It is the flowchart which showed a part of processing procedure in the VLC decoding part which concerns on this embodiment. 従来の画像復号化装置の概略構成を示したブロック図である。It is the block diagram which showed schematic structure of the conventional image decoding apparatus. 従来のVLC復号化部の構成を示したブロック図である。It is the block diagram which showed the structure of the conventional VLC decoding part. 従来の下位データ抽出部の構成を示したブロック図である。It is the block diagram which showed the structure of the conventional low-order data extraction part. 従来の下位データ符号決定部の構成を示したブロック図である。It is the block diagram which showed the structure of the conventional low-order data code determination part. 従来のVLC復号化部における処理手順を示したフローチャートである。It is the flowchart which showed the process sequence in the conventional VLC decoding part. 従来のVLC符号化部の上位データと下位データの連結の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the connection of the high-order data and low-order data of the conventional VLC encoding part. 従来のVLC復号化部の下位データとサインフラグの分離の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the isolation | separation of the low-order data and the sign flag of the conventional VLC decoding part. 3個の下位データが連接された符号化データの下位データとサインフラグの出現の組み合わせを説明するための説明図である。It is explanatory drawing for demonstrating the combination of the appearance of the low-order data of the encoded data with which three low-order data were connected, and a sign flag. 従来のVLC復号化部におけるタイミングチャートの一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the timing chart in the conventional VLC decoding part. 課題解決となるVLC復号化部におけるタイミングチャートの一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the timing chart in the VLC decoding part used as a subject solution.

以下、本発明の具体的な実施形態について、図面を参照しながら説明する。尚、図1は本実施形態に係る画像復号化装置1の構成を示したブロック図である。   Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the image decoding apparatus 1 according to this embodiment.

図1に示すように、本例の画像復号化装置1は、図11の従来の画像復号化装置100におけるVLC復号化部120に替えて、これとはその構成が異なるVLC復号化部10を備えるもので、この点においてのみ、従来の画像復号化装置100とその構成が異なっている。したがって、他の構成については、上記画像復号化装置100におけるものと同一の符号を付して、その詳しい説明は省略する。   As shown in FIG. 1, the image decoding device 1 of this example replaces the VLC decoding unit 120 in the conventional image decoding device 100 of FIG. 11 with a VLC decoding unit 10 having a different configuration from this. Only in this respect, the configuration of the conventional image decoding apparatus 100 is different. Therefore, the other components are denoted by the same reference numerals as those in the image decoding device 100, and detailed description thereof is omitted.

前記VLC復号化部10は、図2に示すように、マクロブロックカウンタ部11、モデルビッツ更新部12、データ並列連結部13、上位データ処理部16、下位データ処理部21から構成され、前記上位データ処理部16は、上位データ復号化部17、上位データ記憶部18、上位データ分配部19からなり、下位データ処理部21は、下位データ並列抽出部22、下位データ並列符号有無判定部23、下位データ並列符号決定部24、下位データ分配部25、下位データ並列符号反転部26、下位データ並列選択部27からなる。   As shown in FIG. 2, the VLC decoding unit 10 includes a macroblock counter unit 11, a model bits update unit 12, a data parallel connection unit 13, an upper data processing unit 16, and a lower data processing unit 21. The data processing unit 16 includes an upper data decoding unit 17, an upper data storage unit 18, and an upper data distribution unit 19. The lower data processing unit 21 includes a lower data parallel extraction unit 22, a lower data parallel code presence / absence determination unit 23, A lower data parallel code determination unit 24, a lower data distribution unit 25, a lower data parallel code inversion unit 26, and a lower data parallel selection unit 27 are included.

このVLC復号化部10においても、前述したVLC復号化部120と同様に、前記ビットストリーム解析部110から出力される符号データ中の第1階層データ及び第2階層データについては、マクロブロック単位で扱われ、更に各マクロブロックでは、ブロック単位で処理を行う。尚、以下では、第1階層データの処理について説明するが、第2階層データの処理についても同様である。   In the VLC decoding unit 10 as well, as in the VLC decoding unit 120 described above, the first layer data and the second layer data in the code data output from the bitstream analysis unit 110 are in units of macroblocks. Furthermore, each macroblock is processed in units of blocks. In the following, the processing of the first layer data will be described, but the same applies to the processing of the second layer data.

以上の構成を備えた本実施形態の画像復号化装置1によれば、まず、前記ビットストリーム解析部110は、入力されたビットストリームを解析し、画像情報を抽出するとともに、符号化された画像の係数データの内、上位データ群と下位データ群を抽出して、前記VLC復号化部10に入力する。   According to the image decoding apparatus 1 of the present embodiment having the above configuration, first, the bit stream analysis unit 110 analyzes an input bit stream, extracts image information, and encodes an encoded image. The upper data group and the lower data group are extracted from the coefficient data and input to the VLC decoding unit 10.

本実施形態に係るVLC復号化部10も、従来のVLC復号化部120と同様、前記ビットストリーム解析部110から入力された第1階層データ、2階層データ及び第3階層データの上位データ群と下位データ群に対して、ブロック毎に、上位データ群をVLC復号化し上位データとし、下位データ群より下位データを抽出し、上位データと下位データとを連結して係数データとして、適応型スキャン部130へ入力する。   Similarly to the conventional VLC decoding unit 120, the VLC decoding unit 10 according to the present embodiment also includes the upper layer data group of the first layer data, the second layer data, and the third layer data input from the bitstream analysis unit 110. For the lower data group, for each block, the upper data group is subjected to VLC decoding to obtain upper data, the lower data is extracted from the lower data group, and the upper data and the lower data are concatenated as coefficient data to be used as an adaptive scan unit. Input to 130.

図2における、VLC復号化部10の構成と動作を説明するが、下位データ処理部21以外のVLC復号化部の構成および動作は、従来技術とほぼ同様であるので、簡単に説明し、下位データ処理部21の動作を詳述する。また、図9に示すVLC復号化の処理フローの各ステップと図10に示すステップS6の詳細ステップとを照合しながら説明する。尚、本実施形態における画像復号化装置の下位データ処理では、1つのサイクルで3個の下位データを処理し、これを5回(5つのサイクルで)繰り返し、1つのブロックを処理する場合の例を示す。   Although the configuration and operation of the VLC decoding unit 10 in FIG. 2 will be described, the configuration and operation of the VLC decoding units other than the lower data processing unit 21 are almost the same as those of the prior art. The operation of the data processing unit 21 will be described in detail. Further, description will be made while comparing each step of the processing flow of VLC decoding shown in FIG. 9 with detailed steps of step S6 shown in FIG. In the low-order data processing of the image decoding apparatus according to the present embodiment, an example in which three low-order data are processed in one cycle and this is repeated five times (in five cycles) to process one block. Indicates.

前記VLC復号化部10は、モデルビッツ更新部12にて初期設定又は更新されたモデルビッツの値がゼロか否かを判断し(ステップS1)、モデルビッツがゼロであれば、上位データ復号化部17にて、ビットストリーム解析部110より入力した係数データの上位データ群から、上位データU(i)の復号化のみ実施する(ステップS2)。復号化した上位データU(i)は上位データ記憶部18に入力し、ブロック単位で記憶しておく。   The VLC decoding unit 10 determines whether the value of the model bits initially set or updated by the model bits update unit 12 is zero (step S1). If the model bits are zero, the upper data decoding is performed. The unit 17 performs only decoding of the higher order data U (i) from the higher order data group of the coefficient data input from the bitstream analysis unit 110 (step S2). The decoded upper data U (i) is input to the upper data storage unit 18 and stored in units of blocks.

モデルビッツがゼロでなければ、上位データ復号化部17にて、上位データ群から、上位データU(i)の復号化を実施し(ステップS3)、下位データ処理部21にて、ビットストリーム解析部110より入力した係数データの下位データ群から、下位データL(i)の抽出を行い、データ並列連結部にて上位データU(i)と下位データL(i)を連結する(ステップS13)。   If the model bits are not zero, the upper data decoding unit 17 decodes the upper data U (i) from the upper data group (step S3), and the lower data processing unit 21 performs the bit stream analysis. The lower data L (i) is extracted from the lower data group of the coefficient data input from the unit 110, and the higher data U (i) and the lower data L (i) are connected by the data parallel connection unit (step S13). .

尚、モデルビッツの更新は、マクロブロックカウンタ部11における上位データの復号のカウントがマクロブロック分の数量に達し、かつ、マクロブロックの最後の上位データと下位データの連結処理が終了した際に、モデルビッツ更新部12にて実施される(ステップS17)。   In addition, the update of the model bits is performed when the decoding count of the upper data in the macro block counter unit 11 reaches the number of macro blocks, and the connection processing of the last upper data and the lower data of the macro block is completed. This is performed by the model bits updating unit 12 (step S17).

1ブロック分の上位データU(i)の復号化が終了後(ステップS3)、下位データ並列抽出部22は、ビットストリーム解析部より下位データ群を取得し(ステップS5)、1個目から3個目までの下位データL(i)とサインフラグS(i)を抽出する(ステップS6)。   After the decoding of the upper data U (i) for one block is completed (step S3), the lower data parallel extraction unit 22 acquires a lower data group from the bit stream analysis unit (step S5), and the first to third The lower data L (i) and the sign flag S (i) up to the first are extracted (step S6).

下位データ並列抽出部22は、図3に示すように、上側の下位データ抽出部と下側のサインフラグ抽出部より構成される。上位データ抽出部は、モデルビッツの長さが1〜15のそれぞれに対応した第1下位データ抽出部31a〜第15下位データ抽出部31oよりなり、各モデルビッツに対応した連続した3個の下位データL(i)の組み合わせを並列的に抽出する。各マクロブロック毎にモデルビッツの値は1つに定まるので、第1〜第15下位データ抽出部で抽出した3番目までの下位データL(i)の組み合わせの中から現在のモデルビッツに対応する3番目までの下位データL(i)の組み合わせを選択する(ステップS21)。尚、本3番目までの下位データL(i)の組み合わせは図18に示したものと同じである。   As shown in FIG. 3, the lower data parallel extraction unit 22 includes an upper lower data extraction unit and a lower sign flag extraction unit. The upper data extraction unit includes a first lower data extraction unit 31a to a fifteenth lower data extraction unit 31o corresponding to the lengths of model bits 1 to 15, respectively, and three consecutive lower levels corresponding to each model bit. A combination of data L (i) is extracted in parallel. Since the value of model bits is determined to be one for each macroblock, it corresponds to the current model bits from among the combinations of the third lower data L (i) extracted by the first to fifteenth lower data extraction units. The combinations of the lower data L (i) up to the third are selected (step S21). The combination of the lower data L (i) up to the third is the same as that shown in FIG.

さらに詳細に説明すれば、モデルビッツの長さが3の第3下位データ抽出部については、図4に示すように下位データL_1_1抽出部31c1〜下位データL_3_3抽出部31c6の6個の抽出器から構成される。尚、各抽出器の名称の中央の、例えばL_3_2は、下位データLの3番目の係数の2番目の組み合せに係るL(i)を対象とすることを示している。   More specifically, as shown in FIG. 4, the third subordinate data extraction unit having a model bit length of 3 includes six extractors of the subordinate data L_1_1 extraction unit 31c1 to the subordinate data L_3_3 extraction unit 31c6. Composed. Note that, for example, L_3_2 in the center of the name of each extractor indicates that L (i) related to the second combination of the third coefficient of the lower data L is targeted.

図18の下に示したモデルビッツ長=3の場合のビット位置例を対照すると、各抽出器の出力L_1_1〜L_3_3に対応して、L_1_1は[0:2]、L_2_1は、[3:5]、L_2_2は[4:6]、L_3_1は[6:8]、L_3_2は[7:9]、L_3_3は[8:10]のビット切り出しを実施する。尚、下位データ群の先頭からの各ビットの切り出し位置を[*:*]で表している。   Compared with the bit position example in the case of model bit length = 3 shown in the lower part of FIG. 18, corresponding to the outputs L_1_1 to L_3_3 of each extractor, L_1_1 is [0: 2] and L_2_1 is [3: 5. ], L_2_2 is [4: 6], L_3_1 is [6: 8], L_3_2 is [7: 9], and L_3_3 is [8:10]. The cut-out position of each bit from the beginning of the lower data group is represented by [*: *].

非特許文献1に規定されている全モデルビッツの値について、本切り出しを実施しているので、3番目までの下位データL(i)については、全ての場合を網羅できていることになる。切り出しは、個別、並列的に実施され、現在のモデルビッツに対応したものだけが選択されるので、高速な下位データの組み合わせの抽出が実現できる。 Since this cut-out is performed for all model bits values defined in Non-Patent Document 1, all cases can be covered with respect to the third subordinate data L (i). Extraction is performed individually and in parallel, and only those corresponding to the current model bits are selected, so that a high-speed combination of subordinate data can be extracted.

図3の下側のサインフラグの抽出部についても同様で、モデルビッツの長さ1〜15に対応して、第1サインフラグ抽出部33a〜第15サインフラグ抽出部33oからなり、プレサインフラグ選択部34で、現在のマクロブロックに対応したモデルビッツに対応したサインフラグの組み合わせのものが選択される。   The same applies to the sign flag extraction unit on the lower side of FIG. 3. The sign flag extraction unit 33 a to the 15th sign flag extraction unit 33 o correspond to the lengths 1 to 15 of the model bits. The selector 34 selects a combination of sign flags corresponding to model bits corresponding to the current macroblock.

モデルビッツの長さが3である第3サインフラグ抽出部を例にとって説明すると、第3サインフラグ抽出部は、サインフラグS_1_1抽出部33c1〜サインフラグS_3_3抽出部33c6の6個の抽出器から構成される。そして、下位データL(i)の場合と同様、図18のモデルビッツ長=3の場合のビット位置例を対照すると、S_1_1は[3]、S_2_1は、[6]、S_2_2は[7]、S_3_1は[9]、S_3_2は[10]、S_3_3は[11]のビット切り出しを実施する。尚、サインフラグは、1ビット長のため、切り出し位置を下位データ群の先頭を起点として、[*]で表している。   For example, the third sign flag extraction unit having a model bit length of 3 will be described. The third sign flag extraction unit includes six extractors, that is, a sign flag S_1_1 extraction unit 33c1 to a sign flag S_3_3 extraction unit 33c6. Is done. Similarly to the case of the lower data L (i), when comparing the bit position example in the case of the model bit length = 3 in FIG. 18, S_1_1 is [3], S_2_1 is [6], S_2_2 is [7], Bit extraction of [9] is performed for S_3_1, [10] for S_3_2, and [11] for S_3_3. Since the sign flag is 1 bit long, the cutout position is represented by [*] starting from the beginning of the lower data group.

サインフラグの組み合わせの抽出も、3番目までの下位データについて、個別・網羅的に、並列に実施しているので、高速なサインフラグの組み合わせの抽出が実現できる。   The extraction of the combination of sign flags is also performed in parallel individually and exhaustively with respect to the third subordinate data, so that the combination of sign flags can be extracted at high speed.

下位データ並列符号有無判定部23は、上位データU(i)とモデルビッツの値に基づき、下位データ並列抽出部22で抽出した3番目までの下位データL(i)について、各下位データL(i)に後続するサインフラグS(i)の存在(有るか無いか)を判定して、符号有無判定情報J(i)を生成する(ステップS22)。   The lower data parallel code presence / absence determining unit 23 uses the lower data L (i) for the third lower data L (i) extracted by the lower data parallel extracting unit 22 based on the upper data U (i) and the value of the model bits. The presence / absence of the sign flag S (i) following i) is determined to generate code presence / absence determination information J (i) (step S22).

下位データ並列符号有無判定部23は、図6に示すように、6個の非ゼロ判定器35,37a,37b,39a〜39cと3個のゼロ判定器36,38,40と3個の論理積器41a〜41cと2個の選択器42a,42b,3個の加算器43a〜43c及び乗算器44から構成される。   As shown in FIG. 6, the low-order data parallel code presence / absence determining unit 23 includes six non-zero determiners 35, 37a, 37b, 39a-39c, three zero determiners 36, 38, 40, and three logics. The multipliers 41a to 41c, two selectors 42a and 42b, three adders 43a to 43c, and a multiplier 44 are included.

下位データL(i)の後に、サインフラグS(i)が存在する条件は、下位データL(i)に対応する上位データU(i)がゼロで(ステップS8)、かつ、その下位データL(i)が非ゼロであることである(ステップS10)。但し、後続する下位データL(i+1)については、直前の下位データL(i)がサインフラグS(i)を有するか有しないかで、比較するべき下位データL(i+1)が変わってくる。このために、前番目までの下位データのサインフラグの存在情報(有:1,無:0)を加算しておき、この加算情報で、比較すべき下位データU(i)を選択器で選択する構成としている。   The condition that the sign flag S (i) exists after the lower data L (i) is that the upper data U (i) corresponding to the lower data L (i) is zero (step S8), and the lower data L (I) is non-zero (step S10). However, for the subsequent lower data L (i + 1), the lower data L (i + 1) to be compared varies depending on whether the immediately preceding lower data L (i) has the sign flag S (i) or not. For this purpose, the presence information (present: 1, none: 0) of the previous lower data sign flags is added, and the lower data U (i) to be compared is selected by this selector with the selector. It is configured to do.

具体的には、1番目の下位データL_1_1を非ゼロ判定器35に入力し、それに対応する上位データU_1をゼロ判定器36に入力し、それらの結果(真:1,偽:0)を論理積器41aに入力し、その結果を1番目の符号有無判定情報J_1として出力する。J_1が1であれば、サインフラグは存在し、J_1が0であればサインフラグは存在しないことになる。   Specifically, the first lower data L_1_1 is input to the non-zero determiner 35, the corresponding upper data U_1 is input to the zero determiner 36, and the result (true: 1, false: 0) is logically calculated. The result is input to the multiplier 41a, and the result is output as first code presence / absence determination information J_1. If J_1 is 1, there is a sign flag, and if J_1 is 0, there is no sign flag.

2番目の下位データについては、L_2_1とL_2_2の2通りの場合があり、L_2_1とL_2_2をそれぞれ非ゼロ判定器37aと37bに入力し、符号有無判定情報J_1が0であれば、非ゼロ判定器37aの出力を、符号有無判定情報J_1が1であれば、非ゼロ判定器37bの出力を、選択器42aは選択し、2番目の上位データU_2をゼロ判定器38に入力した結果の出力とともに、論理積器41bに入力し、その論理積の結果を2番目の符号有無判定情報J_2として出力する。尚、J_1とJ_2は3番目の下位データの選択に用いるため、その両方を加算器43aに入力して、その加算結果を出力しておく。   Regarding the second lower data, there are two cases of L_2_1 and L_2_2, and L_2_1 and L_2_2 are input to the non-zero determiners 37a and 37b, respectively, and if the code presence / absence determination information J_1 is 0, the non-zero determiner If the code presence / absence determination information J_1 is 1, the output of the non-zero determiner 37b is selected by the selector 42a and the second higher order data U_2 is input to the zero determiner 38. And the logical product 41b, and outputs the result of the logical product as the second code presence / absence determination information J_2. Since J_1 and J_2 are used for selection of the third lower data, both are input to the adder 43a and the addition result is output.

3番目の下位データについては、L_3_1,L_3_2,L_3_3の3通りの場合があり、L_3_1,L_3_2,L_3_3をそれぞれ非ゼロ判定器39a,39b,39cに入力し、上記で出力していた加算器43aの出力が0であれば、非ゼロ判定器39aの出力を、加算器43aの出力が1であれば、非ゼロ判定器39bの出力を、加算器43aの出力が2であれば、非ゼロ判定器39cの出力を選択器43bは選択し、3番目の上位データU_3をゼロ判定器40に入力した結果の出力とともに、論理積器41cに入力し、その論理積の結果を3番目の符号有無判定情報J_3として出力する。尚、J_1,J_2,J_2の加算結果は次の符号化されたデータ準備のためのビットシフト情報の生成に用いるため、J_1とJ_2の加算結果である加算器43aの出力とJ_3のそれぞれを加算器43cに入力して、その加算結果を出力しておく。   For the third lower order data, there are three cases of L_3_1, L_3_2, and L_3_3, and L_3_1, L_3_2, and L_3_3 are input to the non-zero determiners 39a, 39b, and 39c, respectively, and the adder 43a that has been output above If the output of the adder 43a is 1, if the output of the adder 43a is 1, then the output of the non-zero determiner 39a is non-zero. The selector 43b selects the output of the determiner 39c, inputs the third higher order data U_3 to the zero determiner 40 together with the output of the result, and inputs the result of the logical product to the third code. Output as presence / absence determination information J_3. Since the addition result of J_1, J_2, and J_2 is used to generate bit shift information for preparing the next encoded data, the output of the adder 43a that is the addition result of J_1 and J_2 and J_3 are added. The result is input to the device 43c and the addition result is output.

処理する下位データは3個であるので、モデルビッツの値を乗算器44に入力し、これを3倍した出力結果と上記で出力しておいた加算器43bの出力をそれぞれ加算器43cに入力し、その出力結果を実際に使用する処理符号長として、ビットストリーム解析部110へ入力する。   Since there are three subordinate data to be processed, the value of the model bit is input to the multiplier 44, and the output result obtained by multiplying this by 3 times and the output of the adder 43b output above are input to the adder 43c. Then, the output result is input to the bitstream analysis unit 110 as a processing code length to be actually used.

この構成により、3個の下位データに対して、各サインフラグが有るか否かの符号有無判定情報J(i)を確実に生成することができ、実際に使用するデータのビット長をビットストリーム解析部110へ伝達することができるようになる。   With this configuration, it is possible to reliably generate the code presence / absence determination information J (i) indicating whether or not each sign flag is present for the three lower-order data, and the bit length of the data to be actually used is represented by the bit stream. It can be transmitted to the analysis unit 110.

下位データ並列符号決定部24は、3つの下位データのそれぞれの符号を並列的に決定するもので、上位データU(i)、符号有無判定情報J(i)及び後述する下位データ分配部25で最終的に分配されたサインフラグS’(i)に基づいて決定する。   The lower data parallel code determination unit 24 determines the codes of the three lower data in parallel. The lower data parallel code determination unit 24 includes upper data U (i), code presence / absence determination information J (i), and a lower data distribution unit 25 described later. This is determined based on the finally distributed sign flag S ′ (i).

下位データ並列符号決定部24は、図7に示すように、3個の下位データ符号決定部45〜47からなり、前記45〜47の符号に対応して、それぞれ1個ずつの上位データ正負ゼロ判定器45a〜47c、サインフラグ選択器45b〜47b、下位データ符号選択器45c〜47cから構成されており、各下位データ符号決定部へは異なったデータが入力され、動作は同様で並列的に処理を実行する。   As shown in FIG. 7, the lower data parallel code determination unit 24 includes three lower data code determination units 45 to 47, each corresponding to the codes 45 to 47, each having one higher data positive / negative zero. It comprises decision units 45a to 47c, sign flag selectors 45b to 47b, and lower data code selectors 45c to 47c. Different data is input to each lower data code determination unit, and the operation is the same and parallel. Execute the process.

下位データ符号決定部45は3個の下位データの内、1番目の下位データの符号を決定し、下位データ符号決定部46は2番目の下位データの符号を決定し、下位データ符号決定部47は3番目の下位データの符号を決定する。   The lower data code determining unit 45 determines the code of the first lower data among the three lower data, the lower data code determining unit 46 determines the code of the second lower data, and the lower data code determining unit 47. Determines the sign of the third subordinate data.

下位データ符号決定部45を例にとると、上位データ正負ゼロ判定器45aは、上位データ分配部19より上位データU_1が入力され、上位データが非ゼロであるかゼロであるかの非ゼロ/ゼロ情報および上位データの符号を下位データ符号選択器45cに入力し、サインフラグ選択器は45bは、下位データ並列符号有無判定部23からの符号有無判定情報J_1の選択信号と下位データ分配部25からの最終的なサインフラグS’_1が入力され、J_1が1(有り)ならS’_1を選択し、J_1が0(無し)なら0の値を選択し、それを下位データ符号として、下位データ符号選択器45cに入力する。   Taking the lower data code determination unit 45 as an example, the upper data positive / negative zero decision unit 45a receives the upper data U_1 from the upper data distribution unit 19 and determines whether the upper data is non-zero or zero. The zero information and the code of the upper data are input to the lower data code selector 45c, and the sign flag selector 45b receives the selection signal of the code presence / absence determination information J_1 from the lower data parallel code presence / absence determination unit 23 and the lower data distribution unit 25. The final sign flag S′_1 from is input, and if J_1 is 1 (present), S′_1 is selected, and if J_1 is 0 (not present), a value of 0 is selected. The data is input to the data code selector 45c.

下位データ符号選択器45cは、上位データ正負ゼロ判定器45aより入力された非ゼロ/ゼロ情報が非ゼロであれば、上位符号を選択し、非ゼロ/ゼロ情報がゼロであれば、下位符号を選択し、それを下位データ符号決定情報K_1として、下位データ並列選択部27へ出力する。   The lower data code selector 45c selects the upper code if the non-zero / zero information input from the upper data positive / negative zero determiner 45a is non-zero, and if the non-zero / zero information is zero, the lower code Is output to the lower data parallel selection unit 27 as lower data code determination information K_1.

下位データ符号決定部46については、2番目の入力データとして、符号有無判定情報J_2、上位データU_2、最終的なサインフラグS’_2が入力され、上記と同様の処理で、2番目の下位データ符号決定情報K_2を生成して、下位データ並列選択部27へ出力する。   The lower data code determination unit 46 receives the code presence / absence determination information J_2, the upper data U_2, and the final sign flag S′_2 as the second input data. Code determination information K_2 is generated and output to the lower data parallel selection unit 27.

下位データ符号決定部47については、3番目の入力データとして、符号有無判定情報J_3、上位データU_3、最終的なサインフラグS’_3が入力され、上記と同様の処理で、3番目の下位データ符号決定情報K_3を生成して、下位データ並列選択部27へ出力する。   For the lower data code determination unit 47, the code presence / absence determination information J_3, the upper data U_3, and the final sign flag S'_3 are input as the third input data, and the third lower data is processed in the same manner as described above. The code determination information K_3 is generated and output to the lower data parallel selection unit 27.

上記下位データ符号決定情報K_1〜K_3は同時に生成されるため、下位データ並列選択部27では、下位データへの符号付加処理を並列的に実施できる。   Since the lower data code determination information K_1 to K_3 are generated at the same time, the lower data parallel selection unit 27 can perform code addition processing on the lower data in parallel.

下位データ分配部25は、下位データ並列符号有無判定部23より入力された符号有無判定情報J(i)に基づいて、下位データ並列抽出部22より入力された下位データ候補L(i)とサインフラグ候補S(i)の中から、選定されるべき下位データL’(i)とサインフラグS’(i)を選択して、サインフラグS’(i)を下位データ並列符号決定部24へ入力し、下位データL’(i)を下位データ並列符号反転部26及び下位データ並列選択部27へ入力する(ステップS23)。   Based on the code presence / absence determination information J (i) input from the lower data parallel code presence / absence determination unit 23, the lower data distribution unit 25 signs the lower data candidate L (i) input from the lower data parallel extraction unit 22 and the sign. From the flag candidates S (i), the lower data L ′ (i) and the sign flag S ′ (i) to be selected are selected, and the sign flag S ′ (i) is sent to the lower data parallel code determination unit 24. The lower data L ′ (i) is input to the lower data parallel code inverting unit 26 and the lower data parallel selecting unit 27 (step S23).

下位データ分配部25は、図8に示すように、2個の加算器48a,48bと4個の選択器49a〜49dで構成される。下位データの選択は、1番目及び2番目の符号有無判定情報J_1及びJ_2により制御される。   As shown in FIG. 8, the low-order data distribution unit 25 includes two adders 48a and 48b and four selectors 49a to 49d. The selection of the lower data is controlled by the first and second code presence / absence determination information J_1 and J_2.

1番目の下位データL_1_1には他の候補がないので、そのまま下位データL’_1として出力され、2番目の下位データL_2_1及びL_2_2については、選択器49aにより、符号有無判定情報J_1が0なら、L_2_1が選択され、符号有無判定情報J_1が1なら、L_2_2が選択され、それが選択された下位データL’_2として出力される。尚、符号有無判定情報J_1とJ_2は、3番目の下位データの選択に用いるため、それぞれ加算器48aに入力され、加算される。   Since there is no other candidate in the first lower data L_1_1, it is output as it is as the lower data L′ _1, and the second lower data L_2_1 and L_2_2 are selected by the selector 49a if the code presence / absence determination information J_1 is 0. If L_2_1 is selected and the code presence / absence determination information J_1 is 1, L_2_2 is selected and is output as the selected lower data L′ _2. The code presence / absence determination information J_1 and J_2 are respectively input to the adder 48a and added to be used for selecting the third lower order data.

3番目の下位データL_3_1,L_3_2,L_3_3については、選択器49bにより、符号有無判定情報J_1とJ_2の加算値である加算器48aの出力が0なら、L_3_1が選択され、前記加算器48aの出力が1なら、L_3_2が選択され、前記加算器48aの出力が2なら、L_3_3が選択され、それが選択された下位データL’_3として出力される。   For the third lower-order data L_3_1, L_3_2, and L_3_3, if the output of the adder 48a that is the addition value of the code presence / absence determination information J_1 and J_2 is 0 by the selector 49b, L_3_1 is selected and the output of the adder 48a If L_3_2 is selected, L_3_2 is selected. If the output of the adder 48a is 2, L_3_3 is selected and is output as the selected lower data L′ _3.

サインフラグの選択および分配については、上記と同様で、1番目のサインフラグS_1_1には他の候補がないので、そのまま下位データS’_1として出力され、2番目のサインフラグS_2_1及びS_2_2については、選択器49cにより、符号有無判定情報J_1が0なら、S_2_1が選択され、符号有無判定情報J_1が1なら、S_2_2が選択され、それが選択された下位データS’_2として出力される。尚、符号有無判定情報J_1とJ_2は、3番目のサインフラグの選択に用いるため、それぞれ加算器48bに入力され、加算される。   The selection and distribution of the sign flag is the same as described above, and the first sign flag S_1_1 has no other candidates, so it is output as it is as the lower data S′_1, and the second sign flags S_2_1 and S_2_2 are If the code presence / absence determination information J_1 is 0, the selector 49c selects S_2_1. If the code presence / absence determination information J_1 is 1, S_2_2 is selected and is output as the selected lower data S′_2. The code presence / absence determination information J_1 and J_2 are respectively input to the adder 48b and added to be used for selection of the third sign flag.

3番目のサインフラグS_3_1,S_3_2,S_3_3については、選択器49dにより、符号有無判定情報J_1とJ_2の加算値である加算器48bの出力が0なら、S_3_1が選択され、前記加算器48bの出力が1なら、S_3_2が選択され、前記加算器48bの出力が2なら、S_3_3が選択され、それが選択された下位データS’_3として出力される。   For the third sign flags S_3_1, S_3_2, and S_3_3, if the output of the adder 48b that is the addition value of the code presence / absence determination information J_1 and J_2 is 0 by the selector 49d, S_3_1 is selected and the output of the adder 48b Is 1, S_3_2 is selected, and if the output of the adder 48b is 2, S_3_3 is selected and is output as the selected lower data S′_3.

このように、下位データ並列符号有無判定部23にて生成された符号有無判定情報J(i)を用いることで、下位データ及びサインフラグの複数の候補の中から、選定されるべき下位データ及びサインフラグを確実の選択できるようになる。   Thus, by using the code presence / absence determination information J (i) generated by the lower data parallel code presence / absence determination unit 23, the lower data to be selected from the plurality of candidates for the lower data and the sign flag, and The sign flag can be selected reliably.

下位データ並列符号反転部26は、下位データ分配部25より入力された3個の下位データL’(i)を並列的に符号反転させる(ステップS12)。ここで、符号反転とは、下位データの前に−(マイナス)符号をつけることをいう。例えば、下位データが3(0003h)であれば、符号反転した値は、−3(FFFDh)となる。   The lower data parallel code inverting unit 26 reverses the sign of the three lower data L ′ (i) input from the lower data distributing unit 25 in parallel (step S12). Here, sign inversion means that a minus sign is added before the lower data. For example, if the lower data is 3 (0003h), the value whose sign is inverted is -3 (FFFDh).

下位データ並列選択部27は、3個の下位データについて、下位データ並列符号決定部24からの下位データ符号情報K(i)が正(+)であれば、下位データ分配部25からの下位データL’(i)を選択し、下位データ符号情報K(i)が負(−)であれば、下位データL’(i)を下位データ並列符号反転部26で符号反転した下位データを選択し(ステップS9)、それを下位データL”(i)として、データ並列連結部13に入力する。これにより、3個の下位データを並列的に符号付きデータとすることが可能となる。   If the lower data code information K (i) from the lower data parallel code determination unit 24 is positive (+) for the three lower data, the lower data parallel selection unit 27 receives the lower data from the lower data distribution unit 25. If L ′ (i) is selected and the lower data code information K (i) is negative (−), the lower data obtained by inverting the lower data L ′ (i) by the lower data parallel code inverting unit 26 is selected. (Step S9), it is input to the data parallel concatenation unit 13 as lower data L ″ (i). Thereby, the three lower data can be converted into signed data in parallel.

データ並列連結部13は、下位データ並列選択部27により選択された3個の下位データL”(i)とそれに対応する上位データ分配部19からの上位データU(i)とを並列的に連結して、係数データZ(i)として、適応型スキャン部130へ入力する(ステップS13)。これにより、3対の上位データと下位データを並列的に3個の係数データとすることが可能となる。連結の状態は、図16について前述した通りである。   The data parallel concatenation unit 13 concatenates the three lower data L ″ (i) selected by the lower data parallel selection unit 27 and the corresponding upper data U (i) from the upper data distribution unit 19 in parallel. Then, the coefficient data Z (i) is input to the adaptive scan unit 130 (step S13), whereby three pairs of upper data and lower data can be converted into three coefficient data in parallel. The connection state is as described above with reference to FIG.

下位データL(i)の処理は、3個のデータ毎になされ(ステップS14)、1ブロック単位の15個のデータの処理が終了するまで(ステップS15)、下位データ処理部での処理を繰り返す(ステップS5〜S15)。また、上記の各ブロックの処理を1つのマクロブロックを構成する16ブロック分繰り返す(ステップS16)。   The processing of the lower data L (i) is performed for every three data (step S14), and the processing in the lower data processing unit is repeated until the processing of 15 data in units of one block is completed (step S15). (Steps S5 to S15). Further, the processing of each block described above is repeated for 16 blocks constituting one macro block (step S16).

そして、データ並列連結部13は、マクロブロックの処理が完了し、最後の上位データU(i)と下位データL”(i)の連結が完了した際、その完了信号をモデルビッツ更新部12へ入力し、モデルビッツ更新部12にて、モデルビッツの更新が実施される(ステップS17)。尚、本VLC復号化処理は、1画像データ内の全マクロブロックの処理が終了するまで繰り返される(ステップS18)。   Then, when the processing of the macroblock is completed and the last connection of the upper data U (i) and the lower data L ″ (i) is completed, the data parallel connection unit 13 sends the completion signal to the model bits update unit 12. Then, the model bits update unit 12 updates the model bits (step S17) Note that this VLC decoding process is repeated until the processing of all macroblocks in one image data is completed ( Step S18).

適応型スキャン部130は、第1階層データ及び第2階層データについて、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、圧縮時の周波数変換後のデータについて、ブロック内の画素位置が小さい側(低周波数側)に非ゼロの係数を集め、ブロックの画素位置が大きい側(高周波数側)にゼロ値が連続する係数データを集めることで符号化の際の圧縮率を高めるために実施されている。係数データが入れ替えられた第1階層データ,第2階層データ及び入替処理が実施されない第3階層データは、前記係数逆予測部140に入力される。   The adaptive scanning unit 130 performs processing for replacing the coefficient data for each block with respect to the first layer data and the second layer data. This replacement process collects non-zero coefficients on the side where the pixel position in the block is small (low frequency side) for the data after frequency conversion at the time of compression, and zeros on the side where the pixel position of the block is large (high frequency side) This is carried out in order to increase the compression rate at the time of encoding by collecting coefficient data having continuous values. The first layer data, the second layer data, and the third layer data on which the replacement process is not performed are input to the coefficient inverse prediction unit 140.

前記係数逆予測部140は、同じくブロック毎の第1階層データ、第2階層データ及び第3階層データについて予測モードを導出し、予測モードに対し、設定された演算式に従って、相関の高いブロックの対応する画素の値を対象画素に足し込むことで、圧縮における予測処理前の画素値を復元(逆予測)する。そして、逆予測後の第1階層データ、第2階層データ及び第3階層データをブロック毎に逆量子化部150に入力する。   The coefficient inverse prediction unit 140 similarly derives a prediction mode for the first tier data, the second tier data, and the third tier data for each block, and in accordance with the calculation formula set for the prediction mode, By adding the value of the corresponding pixel to the target pixel, the pixel value before the prediction process in compression is restored (reverse prediction). Then, the first layer data, the second layer data, and the third layer data after inverse prediction are input to the inverse quantization unit 150 for each block.

前記逆量子化部150は、係数逆予測部140により逆予測された第1階層データ、第2階層データ及び第3階層データを、それぞれ設定された量子化パラメータで乗算して逆量子化する処理を行い、処理後の第1階層データ、第2階層データ及び第3階層データを周波数逆変換部160に入力する。   The inverse quantization unit 150 performs inverse quantization by multiplying the first layer data, the second layer data, and the third layer data inversely predicted by the coefficient inverse prediction unit 140 by respective set quantization parameters. And the processed first layer data, second layer data, and third layer data are input to the frequency inverse transform unit 160.

周波数逆変換部160は、マクロブロック単位(16×16画素)を細分化したブロック単位(4×4画素)で、ラスター方向に順次処理して行き、周波数帯域毎の係数データを各画素の画像データに変換する処理を行い、処理後の画像データをブロック毎に色空間逆変換部170に入力する。   The frequency inverse transform unit 160 sequentially processes the macroblock unit (16 × 16 pixels) in the block unit (4 × 4 pixels) in the raster direction, and converts the coefficient data for each frequency band into the image of each pixel. Data is converted into data, and the processed image data is input to the color space inverse conversion unit 170 for each block.

前記色空間逆変換部170は、前記周波数逆変換部160より入力された画像データを、画像データのピクセルフォーマットに対応して、その画像データが色空間逆変換され、又は色空間逆変換されず、最終的な画像データとして外部に出力される。   The color space inverse transform unit 170 converts the image data input from the frequency inverse transform unit 160 into a color space inverse transform corresponding to the pixel format of the image data, or is not subjected to the color space inverse transform. The final image data is output to the outside.

以上詳述したように、本例の画像復号化装置1によれば、そのVLC復号化部10内の下位データ処理部21において、下位データ群から下位データを抽出する処理につき、1つのサイクルで3個の下位データを処理し、この処理を5つのサイクルで実行するので、従来の下位データ処理部131に比べて、その処理時間を短縮し、効率的に下位データの抽出処理を行うことができ、その結果、画像復号化装置1全体の処理速度を速めることができ、効率的な復号化処理を実現することができる。   As described above in detail, according to the image decoding apparatus 1 of the present example, the low-order data processing unit 21 in the VLC decoding unit 10 performs processing for extracting low-order data from the low-order data group in one cycle. Since the three subordinate data are processed and this processing is executed in five cycles, the processing time can be shortened and the subordinate data extraction processing can be efficiently performed as compared with the conventional subordinate data processing unit 131. As a result, the processing speed of the entire image decoding apparatus 1 can be increased, and an efficient decoding process can be realized.

尚、1サイクルの処理は、処理のタイミングとして用いられるクロックの、1クロック内で処理されるものであり、したがって、本例では、5クロックで1個のブロックの下位データ抽出処理が実行される。   Note that one cycle of processing is performed within one clock of the clock used as the processing timing. Therefore, in this example, one block of lower-level data extraction processing is executed in five clocks. .

以上、本発明の一実施形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。例えば、上例では、VLC復号化部10内の下位データ処理部21における下位データ抽出処理を5つのサイクルで生成するようにしているが、これに限られるものではなく、5つ以外の複数のサイクルで下位データを抽出するようにしても良く、また、可能であれば、1つのサイクルで1ブロックを構成する15個の下位データを抽出するようにしても良い。   As mentioned above, although one Embodiment of this invention was described, the specific aspect which this invention can take is not limited to this at all. For example, in the above example, the low-order data extraction process in the low-order data processing unit 21 in the VLC decoding unit 10 is generated in five cycles. Lower data may be extracted in a cycle, and if possible, 15 lower data constituting one block may be extracted in one cycle.

この場合、処理サイクルの数に応じて、1サイクルで処理する下位データの抽出数を設定する必要があるが、前記下位データ並列抽出部22における下位データの抽出数は、本発明の趣旨から言って、係数データの数よりも少ないサイクル数で処理できるようにすることが肝要である。   In this case, it is necessary to set the number of subordinate data extracted in one cycle according to the number of processing cycles. However, the subordinate data extraction number in the subordinate data parallel extraction unit 22 is referred to from the gist of the present invention. Thus, it is important to enable processing with a smaller number of cycles than the number of coefficient data.

また、下位データ並列抽出部22は、各モデルビッツに対応して、第1〜15の抽出部を設け、プレ選択部でモデルビッツにより、下位データとサインフラグの候補を選定する構成にしているが、これに限定されるものではなく、バレルシフタを用いて、モデルビッツの値から直接、下位データとサインフラグの候補を選定する構成としてもよい。   The lower data parallel extraction unit 22 is provided with first to 15th extraction units corresponding to each model bit, and the pre-selection unit selects the lower data and sign flag candidates by model bits. However, the present invention is not limited to this, and a configuration may be adopted in which candidates for lower data and a sign flag are selected directly from the value of model bits using a barrel shifter.

さらに、下位データ並列符号決定部24は、下位データ並列符号有無判定部23からの符号有無判定情報J(i)を用いて、サインフラグS’(i)の選択をしているが、これに限定されるものではなく、上位データU(i)がゼロで下位データL(i)が非ゼロの条件を用いてサインフラグS’(i)の選択をするようにしてもよい。   Further, the lower data parallel code determination unit 24 selects the sign flag S ′ (i) using the code presence / absence determination information J (i) from the lower data parallel code presence / absence determination unit 23. The sign flag S ′ (i) may be selected using a condition that the upper data U (i) is zero and the lower data L (i) is non-zero.

1 画像復号化装置
10 VLC復号化部
11 マクロブロックカウンタ部
12 モデルビッツ更新部
13 データ並列連結部
16 上位データ処理部
17 上位データ復号化部
18 上位データ記憶部
19 上位データ分配部
21 下位データ処理部
22 下位データ並列抽出部
23 下位データ並列符号有無判定部
24 下位データ並列符号決定部
25 下位データ分配部
26 下位データ並列符号反転部
27 下位データ並列選択部
31a〜31o 下位データ抽出部
31c1〜31c6 下位データ抽出器
32 プレ下位データ選択部
33a〜33o サインフラグ抽出部
33c1〜33c6 サインフラグ抽出器
34 プレサインフラグ選択部
35 非ゼロ判定器
36 ゼロ判定器
37a,37b 非ゼロ判定器
38 ゼロ判定器
39a〜39c 非ゼロ判定器
40 ゼロ判定器
41a〜41c 論理積器
42a,42b 選択器
43a〜43c 加算器
44 乗算器
45〜47 下位データ符号決定部
45a〜47a 上位データ正負ゼロ判定器
45b〜47b サインフラグ選択器
45c〜47c 下位データ符号選択器
48a,48b 加算器
49a〜49d 選択器
110 ビットストリーム解析部
120 VLC復号化部
121 マクロブロックカウンタ部
122 モデルビッツ更新部
123 データ連結部
126 上位データ処理部
127 上位データ復号化部
128 上位データ記憶部
129 上位データ分配部
130 適応型スキャン部
131 下位データ処理部
132 下位データ抽出部
133 下位データ符号決定部
134 下位データ符号反転部
135 下位データ選択部
140 係数逆予測部
141 下位データ抽出器
142 サインフラグ抽出器
143 上位データ正負ゼロ判定器
144 サインフラグ選択器
145 下位データ非ゼロ判定器
146 下位データ符号選択器
150 逆量子化部
160 周波数逆変換部
170 色空間逆変換部
DESCRIPTION OF SYMBOLS 1 Image decoding apparatus 10 VLC decoding part 11 Macroblock counter part 12 Model bits update part 13 Data parallel connection part 16 High-order data processing part 17 High-order data decoding part 18 High-order data storage part 19 High-order data distribution part 21 Low-order data processing Unit 22 Lower data parallel extraction unit 23 Lower data parallel code presence / absence determination unit 24 Lower data parallel code determination unit 25 Lower data distribution unit 26 Lower data parallel code inversion unit 27 Lower data parallel selection unit 31a to 31o Lower data extraction units 31c1 to 31c6 Lower data extractor 32 Pre-lower data selector 33a to 33o Sign flag extractor 33c1 to 33c6 Sign flag extractor 34 Presign flag selector 35 Non-zero determiner 36 Zero determiner 37a, 37b Non-zero determiner 38 Zero determiner 39a-39c B Determinator 40 Zero determinator 41a-41c AND circuit 42a, 42b Selector 43a-43c Adder 44 Multiplier 45-47 Lower data code determination unit 45a-47a Upper data positive / negative zero determiner 45b-47b Sign flag selector 45c to 47c Lower data code selector 48a, 48b Adder 49a to 49d Selector 110 Bit stream analysis unit 120 VLC decoding unit 121 Macroblock counter unit 122 Model bits update unit 123 Data concatenation unit 126 Upper data processing unit 127 Upper data Decoding unit 128 Upper data storage unit 129 Upper data distribution unit 130 Adaptive scan unit 131 Lower data processing unit 132 Lower data extraction unit 133 Lower data code determination unit 134 Lower data code inversion unit 135 Lower data selection unit 140 Coefficient inverse Predictor 141 Lower data extractor 142 Sign flag extractor 143 Upper data positive / negative zero determiner 144 Sign flag selector 145 Lower data non-zero determiner 146 Lower data code selector 150 Inverse quantizer 160 Frequency inverse converter 170 Color space Inverse conversion unit

Claims (5)

n個の係数データを1つのブロック単位として符号化された画像圧縮データから、前記係数データの上位部分のデータである上位データを復号化する上位データ復号化部と、前記係数データの下位部分のデータである下位データを抽出する下位データ処理部と、前記上位データと前記下位データとを連結して、係数データを復元するデータ連結部とからなる復号化部と、
前記復号化部により復号化されたブロック単位の係数データを逆量子化する逆量子化部と、
前記逆量子化部により逆量子化されたブロック単位の係数データを周波数逆変換して画像データを生成する周波数逆変換部とを備えた画像復号化装置において、
前記下位データ処理部は、前記下位データと該下位データの正負を示すサインフラグの組の並びの取り得る全組み合せについて、ブロック単位で下位データの候補及びサインフラグの候補を並列的に抽出する下位データ並列抽出部と、
前記上位データと前記下位データの候補に基づいて、前記下位データに後続するサインフラグが存在するか否かを示す符号有無判定情報を並列的に生成する下位データ並列符号有無判定部と、
前記符号有無判定情報に基づき、前記下位データの候補及び前記サインフラグの候補の中から、ブロック単位のn組の下位データとサインフラグを並列的に選択し分配する下位データ分配部とを備えて構成されることを特徴とする画像復号化装置。
但し、前記nは2以上の整数である。
An upper data decoding unit that decodes higher-order data, which is higher-order data of the coefficient data, from compressed image data encoded with n pieces of coefficient data as one block unit; and a lower-order part of the coefficient data A decoding unit composed of a lower data processing unit that extracts lower data that is data, and a data concatenation unit that concatenates the upper data and the lower data to restore coefficient data;
An inverse quantization unit that inversely quantizes the coefficient data in units of blocks decoded by the decoding unit;
In an image decoding apparatus comprising: a frequency inverse transform unit that inversely frequency transforms coefficient data in block units inversely quantized by the inverse quantization unit to generate image data;
The lower data processing unit extracts, in parallel, lower data candidates and sign flag candidates in block units for all possible combinations of the lower data and a combination of sign flags indicating the sign of the lower data. A data parallel extractor;
A lower data parallel code presence / absence determination unit that generates code presence / absence determination information indicating whether or not a sign flag subsequent to the lower data exists based on the upper data and the lower data candidates;
A lower data distribution unit for selecting and distributing n sets of lower data and sign flags in block units in parallel from the lower data candidates and the sign flag candidates based on the code presence / absence determination information; An image decoding apparatus characterized by comprising.
However, n is an integer of 2 or more.
前記下位データ処理部は、ブロック単位のそれぞれn個の下位データおよび上位データを、1つのサイクルでの処理数をm個として、1つのサイクル又は複数のサイクルの繰り返しで処理するように構成されていることを特徴とする請求項1記載の画像復号化装置。
但し、前記nは2以上の整数であり、前記mは2以上n以下の整数であり、処理の繰り返しが、1つのサイクルで終了するものであるときは、mとnは等しくなる。
The lower-order data processing unit is configured to process each of n pieces of lower-order data and higher-order data in units of blocks, with the number of processes in one cycle being m, in one cycle or by repeating a plurality of cycles. The image decoding apparatus according to claim 1, wherein:
However, n is an integer of 2 or more, m is an integer of 2 or more and n or less, and m and n are equal when the repetition of the process ends in one cycle.
前記下位データ並列抽出部は、qビット長の下位データと、その下位データに後続して、存するときと存しないときのある1ビット長のサインフラグとを1つの組として、その組がm個連続して連接された下位データ群の中から、1〜m番目までの下位データとサインフラグの取り得る組み合せについて、下位データの候補とサインフラグの候補の全てを並列的に抽出することを特徴とする請求項2記載の画像復号化装置。
但し、前記下位データに後続する前記サインフラグが存しない場合のサインフラグの候補には0か1のダミーの値を入れるものとし、前記nは2以上の整数であり、前記mは2以上n以下の整数であり、前記qは1〜pの整数であり、前記pは1以上の整数である。
The low-order data parallel extraction unit takes m sets of low-order data of q-bit length and a 1-bit-long sign flag that may or may not exist following the low-order data as one set. Extracting all lower data candidates and sign flag candidates in parallel for the possible combinations of the first to mth lower data and the sign flag from the consecutively connected lower data group The image decoding apparatus according to claim 2.
However, a dummy value of 0 or 1 is put in a candidate for a sign flag when the sign flag following the lower data does not exist, n is an integer of 2 or more, and m is 2 or more and n The following integers, q is an integer of 1 to p, and p is an integer of 1 or more.
前記下位データ並列符号有無判定部は、上位データがゼロで下位データが非ゼロであるときのみ、下位データに後続するサインデータが存するという条件を基に、一意的に確定される1番目の下位データと対応する上位データから、1番目の下位データに後続するサインフラグの有無を判定し、1番目のサインフラグの有無の判定により2番目の下位データの開始位置ずれを推定して、2番目の下位データの候補の中から2番目の下位データを判定し、判定した2番目の下位データと対応する上位データより、2番目の下位データに後続するサインフラグの有無を判定し、3番目の下位データについては、前番目までの下位データに後続するサインフラグが存した累計数により該番目の下位データの開始位置ずれを推定して、該番目の下位データの候補の中から該番目の下位データを判定し、判定した該番目の下位データと対応する上位データより、該番目の下位データに後続するサインフラグの有無を判定し、以降、同様に1〜m番目まで、各番目の下位データに後続するサインフラグの有無を並列的に判定し、判定した1〜m番目までの各番目の下位データに後続するサインフラグの有無の判定情報を符号有無判定情報として出力することを特徴とする請求項2記載の画像復号化装置。
但し、前記nは2以上の整数であり、前記mは2以上n以下の整数である。
The lower data parallel code presence / absence determining unit uniquely determines the first lower order based on the condition that the sign data following the lower data exists only when the upper data is zero and the lower data is non-zero. From the upper data corresponding to the data, the presence or absence of a sign flag following the first lower data is determined, and the start position shift of the second lower data is estimated by determining the presence or absence of the first sign flag. The second lower data is determined from the lower data candidates, and the presence or absence of a sign flag subsequent to the second lower data is determined from the higher data corresponding to the determined second lower data, and the third For the lower order data, the start position deviation of the lower order data is estimated by the cumulative number of sign flags following the previous lower order data, and the lower order data. The lower order data is determined from the data candidates, and the presence or absence of a sign flag following the first lower order data is determined from the higher order data corresponding to the determined lower order data. Until the mth, the presence / absence of a sign flag following each of the lower order data is judged in parallel, and the judgment information of the presence / absence of the sign flag following each of the decided first to mth lower order data is encoded or not The image decoding apparatus according to claim 2, wherein the image decoding apparatus outputs the determination information.
However, the n is an integer of 2 or more, and the m is an integer of 2 or more and n or less.
前記下位データ分配部は、一意的に確定される1番目の下位データとサインフラグはそのまま選択し、1番目の下位データの符号有無判定情報により2番目の下位データの開始位置ずれを推定して、2番目の下位データの候補とサインフラグの候補の中から、2番目の下位データとサインフラグを選択し、3番目の下位データとサインフラグについては、前番目までの各下位データの符号有無判定情報の存在数の累計により該番目の下位データの開始位置ずれを推定して、該番目の下位データの候補とサインフラグの候補の中から、該番目の下位データとサインフラグを選択し、以降、同様に1〜m番目まで、各番目の下位データとサインフラグを並列的に選択して、選択した1〜m番目までの各番目の下位データとサインフラグを出力し分配することを特徴とする請求項2記載に画像復号化装置。
但し、サインフラグが存しないとされる場合のサインフラグには、0か1のダミーの値を入れるものとし、前記nは2以上の整数であり、前記mは2以上n以下の整数である。
The lower-order data distribution unit selects the first lower-order data and the sign flag that are uniquely determined as they are, and estimates the start position deviation of the second lower-order data based on the code presence / absence determination information of the first lower-order data. The second lower data and the sign flag are selected from the second lower data candidate and the sign flag candidate. For the third lower data and the sign flag, the presence / absence of the sign of each previous lower data Estimating the start position shift of the second lower data by accumulating the number of existing judgment information, and selecting the lower data and the sign flag from among the lower data candidates and the sign flag candidates, Thereafter, similarly, from the 1st to the mth, each lower order data and the sign flag are selected in parallel, and each of the selected 1st to mth lower order data and the sign flag are output and separated. The image decoding apparatus according to claim 2, characterized by.
However, when the sign flag does not exist, a dummy value of 0 or 1 is entered in the sign flag, the n is an integer of 2 or more, and the m is an integer of 2 or more and n or less. .
JP2013197014A 2013-09-24 2013-09-24 Image decoding device Active JP6216590B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013197014A JP6216590B2 (en) 2013-09-24 2013-09-24 Image decoding device
PCT/JP2014/069659 WO2015045601A1 (en) 2013-09-24 2014-07-25 Image decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013197014A JP6216590B2 (en) 2013-09-24 2013-09-24 Image decoding device

Publications (2)

Publication Number Publication Date
JP2015065510A JP2015065510A (en) 2015-04-09
JP6216590B2 true JP6216590B2 (en) 2017-10-18

Family

ID=52742758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013197014A Active JP6216590B2 (en) 2013-09-24 2013-09-24 Image decoding device

Country Status (2)

Country Link
JP (1) JP6216590B2 (en)
WO (1) WO2015045601A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106791859B (en) * 2015-11-24 2019-08-20 龙芯中科技术有限公司 Method for video coding and video encoder

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520122B2 (en) * 2010-04-14 2014-06-11 キヤノン株式会社 Data converter
JP5489845B2 (en) * 2010-04-27 2014-05-14 キヤノン株式会社 Image encoding apparatus, control method therefor, program, and storage medium
JP5528914B2 (en) * 2010-06-15 2014-06-25 株式会社メガチップス Image processing device

Also Published As

Publication number Publication date
WO2015045601A1 (en) 2015-04-02
JP2015065510A (en) 2015-04-09

Similar Documents

Publication Publication Date Title
RU2682009C2 (en) Method and device for coding and decoding of basic data using compression of symbols
WO2012046996A2 (en) Method for encoding/decoding block information using quad tree, and device for using same
CN113068032B (en) Image encoding/decoding method, encoder, decoder, and storage medium
JP6512928B2 (en) Image coding apparatus, image processing apparatus, image coding method
JP2017507590A5 (en)
US20090232205A1 (en) Arithmetic decoding apparatus and method
JP5221430B2 (en) Image compression apparatus and image expansion apparatus
WO2011125314A1 (en) Video coding device and video decoding device
JP6216590B2 (en) Image decoding device
CN106797447A (en) Color index figure compression set and method
JP3491001B1 (en) Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
US8107746B2 (en) Image processor
JP6216576B2 (en) Image encoding device
JP6081862B2 (en) Image encoding device
JP6081869B2 (en) Image decoding device
JP6204171B2 (en) Image encoding apparatus and image decoding apparatus
JP3781012B2 (en) Image data compression method, image data expansion method, and image data expansion circuit
JP2009260747A (en) Image encoding device, and control method thereof
JP4530421B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, program thereof, and program recording medium thereof
JP5819754B2 (en) Image encoding device
JP2007104272A (en) Data conversion apparatus, data conversion method, and program
CN116095333A (en) Image compression method, device, equipment and storage medium
JP2000078410A (en) Image compressing and expanding device
JP2009005018A (en) Device for encoding image and device for decoding image and control method therefor
JP2013172323A (en) Motion detector, image processing apparatus, and image processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6216590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250