JP4532518B2 - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP4532518B2
JP4532518B2 JP2007096759A JP2007096759A JP4532518B2 JP 4532518 B2 JP4532518 B2 JP 4532518B2 JP 2007096759 A JP2007096759 A JP 2007096759A JP 2007096759 A JP2007096759 A JP 2007096759A JP 4532518 B2 JP4532518 B2 JP 4532518B2
Authority
JP
Japan
Prior art keywords
layer
code
data
code data
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007096759A
Other languages
Japanese (ja)
Other versions
JP2007251968A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007096759A priority Critical patent/JP4532518B2/en
Publication of JP2007251968A publication Critical patent/JP2007251968A/en
Application granted granted Critical
Publication of JP4532518B2 publication Critical patent/JP4532518B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、画像処理装置及び画像処理方法に係り、特に周波数領域の画像データを、複数の部分画像データに分割し、該部分画像データのビットプレーンにおける符号化パスごとに圧縮符号化し、所定数の符号化パスによりレイヤを構成する符号データを、該レイヤごとの符号データ量に基づいて再圧縮する画像処理装置及び画像処理方法に関する。   The present invention relates to an image processing apparatus and an image processing method, and in particular, frequency domain image data is divided into a plurality of partial image data, and is compressed and encoded for each coding pass in a bit plane of the partial image data. The present invention relates to an image processing apparatus and an image processing method for re-compressing code data that constitutes a layer by the encoding pass in accordance with a code data amount for each layer.

近年、画像圧縮・伸張技術の国際基準としてJPEG2000が知られている。JPEG2000は、それ以前の画像圧縮・伸張技術の国際基準であったJPEGに比べて、圧縮率が高いこと、豊富な符号化機能を具備していること、動画データにも対応していること等を特徴としている。   In recent years, JPEG 2000 has been known as an international standard for image compression / decompression technology. JPEG2000 has a higher compression rate, has abundant encoding functions, and supports video data, etc. compared to JPEG, which was the international standard for image compression / decompression technology before that. It is characterized by.

図1にJPEG2000の符号化手順の流れを示す。また、図1においては、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図面においても同じである。   FIG. 1 shows the flow of JPEG2000 encoding procedure. Further, in FIG. 1, a configuration necessary for the description is shown, and a configuration not necessary for the description is omitted. The same applies to the following drawings.

JPEG2000の符号化手順においては、画像データ1は、色変換部10、2次元離散ウェーブレット変換(DWT)部11、量子化器12、係数モデリング部13、MQ符号化器14、符号形成部15を経て、符号データ2が得られる。図2〜図8にこれらの処理を模式的に描いた図を示す。なお、係数モデリング部13、MQ符号化器14により、エントロピー符号化が行われる。   In the JPEG2000 encoding procedure, the image data 1 includes a color conversion unit 10, a two-dimensional discrete wavelet transform (DWT) unit 11, a quantizer 12, a coefficient modeling unit 13, an MQ encoder 14, and a code formation unit 15. As a result, code data 2 is obtained. FIGS. 2 to 8 schematically show these processes. Note that entropy coding is performed by the coefficient modeling unit 13 and the MQ encoder 14.

まず、入力される画像データ1は、YCと呼ばれる輝度成分(コンポーネント1)、色差成分(コンポーネント2及びコンポーネント3)に変換され、それぞれ離散ウェーブレット変換(DWT)部11に入力される。その後、各コンポーネントは最後の符号形成の段階で一つの符号にまとめられるまで、それぞれ独立して符号化の処理が行われる。 First, input image data 1 is converted into a luminance component (component 1) and a color difference component (component 2 and component 3) called YC b C r, and input to a discrete wavelet transform (DWT) unit 11 respectively. Thereafter, each component is independently encoded until it is combined into one code at the final code formation stage.

図2は、水平方向M画素、垂直方向N画素の画像データに3レベルの2次元離散ウェーブレット変換を行った場合の一例を説明するための図である。   FIG. 2 is a diagram for explaining an example when three-level two-dimensional discrete wavelet transform is performed on image data of M pixels in the horizontal direction and N pixels in the vertical direction.

水平方向M画素、垂直方向N画素の画像データは、レベル3の2次元離散ウェーブレット変換を行った結果、3LL、3HL、3LH、3HH、2HL、2LH、2HH、1HL、1LH、1HHの10個のサブバンドのウェーブレット係数データに変換される。このとき、各サブバンドの大きさは、3LL、3HL、3LH、3HHの4つが、M/8×N/8。2HL、2LH、2HHの3つがM/4×N/4。1HL、1LH、1HHの3つがM/2×N/2となる。   Image data of M pixels in the horizontal direction and N pixels in the vertical direction are obtained by performing level 3 two-dimensional discrete wavelet transform, and 10 pieces of 3LL, 3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH are obtained. Converted to subband wavelet coefficient data. At this time, the size of each sub-band is M / 8 × N / 8 for 3LL, 3HL, 3LH, and 3HH, M / 4 × N / 4 for 3HL, 2LH, and 2HH. Three of 1HH are M / 2 × N / 2.

また、処理する画像をタイルと呼ばれる複数の矩形ブロックに分けて処理を行うことも可能である。画像を複数のタイルに分割する場合は、後に続く符号化処理はこのタイルの単位での処理となる。   It is also possible to perform processing by dividing an image to be processed into a plurality of rectangular blocks called tiles. When an image is divided into a plurality of tiles, the subsequent encoding process is performed in units of the tiles.

図3は、画像データをm×nの大きさのタイルに分割し、レベル3の2次元離散ウェーブレット変換を行った場合の一例を説明するための図である。   FIG. 3 is a diagram for explaining an example in which image data is divided into tiles having a size of m × n and level 3 two-dimensional discrete wavelet transform is performed.

水平方向m、垂直方向nの1タイルの画像データは、レベル3の2次元離散ウェーブレット変換を行った結果、3LL、3HL、3LH、3HH、2HL、2LH、2HH、1HL、1LH、1HHの10個のサブバンドのウェーブレット係数データに変換される。このとき、各サブバンドの大きさは、3LL、3HL、3LH、3HHの4つが、m/8×n/8。2HL、2LH、2HHの3つがm/4×m/4。1HL、1LH、1HHの3つがm/2×n/2となる。上述した如く、後に続く符号化処理は、このタイルを単位として処理を行っていく。   The image data of one tile in the horizontal direction m and the vertical direction n is 10 pieces of 3LL, 3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH as a result of performing level 3 two-dimensional discrete wavelet transform. Are converted into wavelet coefficient data of subbands. At this time, the size of each sub-band is 3/8, 3HL, 3LH, 3HH, m / 8 × n / 8, 2HL, 2LH, 2HH is 3/4 × m / 4, 1HL, 1LH, Three of 1HH are m / 2 × n / 2. As described above, the subsequent encoding process is performed in units of this tile.

JPEG2000では、ウェーブレット変換のフィルタ係数として、可逆・非可逆の2通りの係数が規定されている。可逆・非可逆を統一的に扱う場合は、可逆のフィルタ係数が用いられ、より高いレート又は良好なひずみ特性を実現する場合は非可逆のフィルタ係数を用いる。   JPEG2000 defines two reversible and irreversible coefficients as wavelet transform filter coefficients. When dealing with reversible / irreversible in a unified manner, reversible filter coefficients are used, and when realizing higher rates or good distortion characteristics, irreversible filter coefficients are used.

次に、各ウェーブレット係数データに対して図4で示される式により、スカラー量子化が行われる。ここで、aが入力されるウェーブレット係数データで、qが出力される量子化後の係数データ、sign(a)はウェーブレット係数データaの符号、|a|はウェーブレット係数データaの絶対値、Δbはサブバンドごとに決められた量子化ステップ、「」はフロア関数を示す。ただし、可逆ウェーブレット係数を用いた場合は、このスカラー量子化は実施されない。   Next, scalar quantization is performed on each wavelet coefficient data according to the equation shown in FIG. Here, a is input wavelet coefficient data, q is output quantized coefficient data, sign (a) is the sign of wavelet coefficient data a, | a | is the absolute value of wavelet coefficient data a, Δb Represents a quantization step determined for each subband, and “” represents a floor function. However, when a reversible wavelet coefficient is used, this scalar quantization is not performed.

ウェーブレット変換後、或いは量子化後の係数データを各サブバンドごと、或いはサブバンドを複数の矩形領域に分割したコードブロックごとにエントロピー符号化していく。図5に、各サブバンドをP×Qの大きさのコードブロックに分割した一例を示す。また、前記エントロピー符号化は、後段のMQ符号化器14に与えるコンテキストを生成する係数モデリング部13での処理と、実際に符号化を行うMQ符号化器14での処理によりなされる。   The coefficient data after wavelet transform or quantization is entropy encoded for each subband or for each code block obtained by dividing the subband into a plurality of rectangular regions. FIG. 5 shows an example in which each subband is divided into code blocks having a size of P × Q. The entropy encoding is performed by processing in the coefficient modeling unit 13 that generates a context to be given to the subsequent MQ encoder 14 and processing in the MQ encoder 14 that actually performs encoding.

図6は、各サブバンドごとにエントロピー符号化した場合におけるサブバンドCB1とそのMQ符号化器14の処理を示す。サブバンドCB1は、P×Qの画像サイズを有し、各点の画像は、(N+2)ビットで量子化されている。上面が量子化ビットのMSB(most significant bit)で、下面が量子化ビットのLSB(least significant bit)である。図6では、上面から2つ目のプレーンには、量子化ビットが存在しない。このビットプレーンをゼロビットプレーンという。   FIG. 6 shows processing of the subband CB1 and its MQ encoder 14 when entropy coding is performed for each subband. The subband CB1 has an image size of P × Q, and the image of each point is quantized with (N + 2) bits. The upper surface is an MSB (Most Significant Bit) with a quantization bit, and the lower surface is an LSB (Least Significant Bit) with a quantization bit. In FIG. 6, there is no quantization bit in the second plane from the top. This bit plane is called a zero bit plane.

係数モデリング部13での処理では、コードブロック単位でウェーブレット係数データをビットプレーンに分割し、上位のビットプレーンから順番に符号化の処理を進める。   In the process in the coefficient modeling unit 13, the wavelet coefficient data is divided into bit planes in units of code blocks, and the encoding process proceeds in order from the upper bit plane.

最初に、ウェーブレット係数データを符号(正・負)と絶対値とで表し、同一のコードブロックに含まれるウェーブレット係数データの絶対値をビットプレーンに分割する。   First, wavelet coefficient data is represented by a sign (positive / negative) and an absolute value, and the absolute value of the wavelet coefficient data included in the same code block is divided into bit planes.

続いてゼロビットプレーンがMSB側からみて何プレーン続くかを調べる。該ゼロビットプレーンは、MQ符号化の処理を行わず、MSBより連続するゼロビットプレーンの枚数(ゼロビットプレーン数)のみを後述するパケットヘッダーに反映させる。MQ符号化の処理は、MSB側より数えて初めて0でないビットデータが出現したビットプレーン(図中のビットプレーンN)より始める。   Subsequently, it is examined how many zero bit planes continue from the MSB side. The zero bit plane does not perform the MQ coding process, and reflects only the number of zero bit planes (number of zero bit planes) continuous from the MSB in the packet header described later. The MQ encoding process is started from a bit plane (bit plane N in the figure) in which non-zero bit data appears for the first time from the MSB side.

次に、ビットプレーン上の各ビットをある規則に従いS、R、Cの3つに分類する。図7にビットプレーン上の各ビットをある規則に従いS、R、Cの3つに分類した一例の図を示す。前述した如くビットプレーンをS、R、Cに3つに分類した後、該ビットプレーンをスキャンする。   Next, each bit on the bit plane is classified into S, R, and C according to a certain rule. FIG. 7 shows an example in which each bit on the bit plane is classified into S, R, and C according to a certain rule. As described above, after the bit planes are classified into S, R, and C, the bit planes are scanned.

最初にSに分類されたビットデータのみ、該ビットデータの周りの画素の情報に基づいて作られたコンテキストを用いて符号化する。続いてRに分類されたビットデータを、最後にCに分類されたビットデータをそれぞれ異なったコンテキストにより符号化し、1つのビットプレーンを符号化する。このビットプレーン1回のスキャンと対応するビットの符号化をコーディングパス特に、
Sに分類されたビットを符号化するパスを、significant propagationパス。
Only the bit data initially classified as S is encoded using a context created based on information of pixels around the bit data. Subsequently, bit data classified as R is encoded with bit data finally classified as C according to different contexts, and one bit plane is encoded. This bit plane is scanned once and the encoding of the corresponding bit is a coding pass.
A path for encoding bits classified as S is a significant propagation path.

Rに分類されたビットを符号化するパスを、magnitude refinementパス。   A path for encoding bits classified into R is a magnesium refinement path.

Cに分類されたビットを符号化するパスを、clean upパス。
と呼ぶ。
A path for encoding bits classified as C is a clean up path.
Call it.

結局1つのビットプレーンは3つのパスで全て符号化されることになる。ただし、MSB側より数えて初めて0でないビットデータが出現したビットプレーン(図6中、ビットプレーンN)のビットは全てCに分類され、このビットプレーンのみはclean upパスだけで符号化される。   Eventually, one bit plane is all encoded in three passes. However, the bits of the bit plane (bit plane N in FIG. 6) in which bit data appears for the first time from the MSB side are all classified as C, and only this bit plane is encoded by the clean up path only.

したがって、図6に示すが如く、N枚のゼロビットプレーンでないビットプレーン(非ゼロビットプレーン)が存在するコードブロックは、3N−2回のパスで全て符号化される。   Therefore, as shown in FIG. 6, all code blocks in which there are N non-zero bit planes (non-zero bit planes) are encoded in 3N-2 passes.

最終的に得られる符号データ(MQ符号データ)の一例を図8に示す。図8に示すが如く、MQ符号データは、各パスで生成される符号データをつなげたものとなる。   An example of the finally obtained code data (MQ code data) is shown in FIG. As shown in FIG. 8, the MQ code data is obtained by connecting the code data generated in each pass.

また、各サブバンドは、precinctと呼ばれる矩形の領域に分割することができる。各サブバンドをprecinctに分割した例を図9、図10に示す。図9では、3LLのサブバンドを2個のprecinct(P1、P2)に分け、各precinctには4つのコードブロックが含まれている様子を示している。また、図10では、LL以外のサブバンドが、P1、P2、P3、・・・と複数のprecinctに分割され、各precinctには4つのコードブロックが含まれている様子を示している。なお、1つのprecinctに含まれるコードブロックの数は解像度ごとに任意に設定することができる。   In addition, each subband can be divided into rectangular areas called precincts. An example in which each subband is divided into precincts is shown in FIGS. In FIG. 9, the 3LL subband is divided into two precincts (P1, P2), and each precinct includes four code blocks. FIG. 10 shows a state where subbands other than LL are divided into P1, P2, P3,... And a plurality of precincts, and each precinct includes four code blocks. Note that the number of code blocks included in one precinct can be arbitrarily set for each resolution.

また、任意の数のコーディングパスをまとめて1つのレイヤを構成することができる。これは、MQ符号化データをもとのウェーブレット係数データの精度方向に分割することに等しい。図11では、図9の3LLのサブバンドで4つのコードブロック(CB1、CB2、CB5、CB6)を含む1つのprecinct(P1)をL1〜L16の16個のレイヤに分割している一例を示す。   In addition, a single layer can be configured by combining any number of coding passes. This is equivalent to dividing the MQ encoded data in the accuracy direction of the original wavelet coefficient data. FIG. 11 shows an example in which one precinct (P1) including four code blocks (CB1, CB2, CB5, CB6) in the 3LL subband of FIG. 9 is divided into 16 layers L1 to L16. .

レイヤ1には、CB1のコーディングパス1、2で生成された符号(PS1、PS2)と、CB6のコーディングパス1で生成された符号(PS1)とが含まれ、レイヤ2には、CB2のコーディングパス1で生成された符号(PS1)と、CB5のコーディングパスで生成された符号(PS1)とが含まれる。このようにレイヤに含まれる各コードブロックのコーディングパス数は任意に設定することができる。   Layer 1 includes a code (PS1, PS2) generated in coding path 1 and 2 of CB1, and a code (PS1) generated in coding path 1 of CB6, and layer 2 includes a coding of CB2. The code (PS1) generated in pass 1 and the code (PS1) generated in the CB5 coding pass are included. Thus, the number of coding passes of each code block included in the layer can be arbitrarily set.

上述した如く、各コンポーネントごとの画像データは、2次元離散ウェーブレット変換により、解像度を下げたサブバンドごとのウェーブレット係数データに変換され、各サブバンドはprecinctと呼ばれる矩形領域に分割される。更に、precinctに含まれるウェーブレット係数データをコードブロック単位でビットプレーンごとに3つのコーディングパスでMQ符号化していく。このとき一連のMQ符号データを、コーディングパスを単位としてレイヤと呼ばれる階層に分割することができる。   As described above, the image data for each component is converted into wavelet coefficient data for each subband with a reduced resolution by a two-dimensional discrete wavelet transform, and each subband is divided into rectangular regions called precincts. Further, the wavelet coefficient data included in the precinct is subjected to MQ coding in three coding passes for each bit plane in units of code blocks. At this time, a series of MQ code data can be divided into layers called layers in units of coding paths.

JPEG2000では、上記コンポーネント、サブバンド、precinct、レイヤで分類されるMQ符号データ、つまり、図11の太枠で囲まれた符号データをまとめて1つのパケットとして管理する。ここで、場合によっては、該当するコードブロックのMQ符号データをまったく含まないゼロパケットと呼ばれるパケットも存在する。   In JPEG2000, MQ code data classified by the above components, subbands, precincts, and layers, that is, code data surrounded by a thick frame in FIG. 11, is managed as one packet. Here, in some cases, there is a packet called a zero packet that does not include the MQ code data of the corresponding code block.

図12に、具体的なパケットの例を説明するための図を示す。図12の、パケット20は、パケットヘッダー21とパケットデータ(エントロピー符号データ)22とより構成される。ここで、前記MQ符号データ(CB1のPS1、CB1のPS2、CB6のPS1)は、パケットデータ21に格納される。一方、パケットヘッダー20には、パケットを復号するために必要な以下の情報が格納される。
(1)該パケットがゼロパケットかどうか。
FIG. 12 is a diagram for explaining a specific example of a packet. The packet 20 shown in FIG. 12 includes a packet header 21 and packet data (entropy code data) 22. Here, the MQ code data (PS1 of CB1, PS2 of CB1, PS1 of CB6) is stored in the packet data 21. On the other hand, the packet header 20 stores the following information necessary for decoding the packet.
(1) Whether the packet is a zero packet.

図12の例では、パケットはゼロパケットでないという情報が格納される。
(2)該当するコードブロックのMQ符号データが該パケットに含まれるかどうか。
In the example of FIG. 12, information that a packet is not a zero packet is stored.
(2) Whether MQ code data of the corresponding code block is included in the packet.

CB1とCB6とのMQ符号データは含まれ、CB2とCB5とのMQ符号データは含まれない。
(3)該パケットに含まれる各MQ符号データのコーディングパス数
CB1に含まれるMQ符号データのコーディングパス数は2
CB6に含まれるMQ符号データのコーディングパス数は1
(4)該パケットに含まれる各MQ符号データのバイト数
CB1に含まれるMQ符号データのバイト数(PS1とPS2との合計)と、
CB6に含まれるMQ符号データのバイト数(PS1)。
MQ code data of CB1 and CB6 is included, and MQ code data of CB2 and CB5 is not included.
(3) The number of coding passes of each MQ code data included in the packet The number of coding passes of the MQ code data included in CB1 is 2.
The number of coding passes of MQ code data included in CB6 is 1.
(4) Number of bytes of each MQ code data included in the packet Number of bytes of MQ code data (total of PS1 and PS2) included in CB1,
Number of bytes (PS1) of MQ code data included in CB6.

ここでは、3LLのサブバンド内のパケットについて説明したが、それ以外のサブバンドは同じ解像度で、同じ位置にある3つのprecinctの同じレイヤの符号が一つのパケットを構成する。図10を例にとると、HLサブバンド、LHサブバンド、HHサブバンドの各precinct、P1に含まれるコードブロックから生成されるレイヤごとのMQ符号データを同じパケットとして管理する。   Here, the packets in the 3LL subband have been described, but the other subbands have the same resolution, and the codes of the same layer of three precincts at the same position constitute one packet. Taking FIG. 10 as an example, MQ code data for each layer generated from the code blocks included in the precinct and P1 of the HL subband, the LH subband, and the HH subband is managed as the same packet.

最終的には、図13に示すJPEG2000の符号ストリームが生成される。JPEG2000の符号ストリームは、メインヘッダーマーカー(SOC)31、メインヘッダーマーカーセグメント32、タイルパートヘッダーマーカー(SOT)33、タイルパートヘッダーマーカーセグメント34、SODマーカー35、ビットストリーム36、EOCマーカー37とから構成されている。   Finally, the JPEG2000 code stream shown in FIG. 13 is generated. The JPEG 2000 code stream is composed of a main header marker (SOC) 31, a main header marker segment 32, a tile part header marker (SOT) 33, a tile part header marker segment 34, an SOD marker 35, a bit stream 36, and an EOC marker 37. Has been.

メインヘッダーマーカー31は、符号ストリームの開始を表し、メインヘッダーマーカーセグメント32は、画像情報、量子化の情報、符号化の情報などを含む。タイルパートヘッダーマーカー33は、タイルパートの開始を表し、タイルパートヘッダーマーカーセグメント34は、それに続くタイルパートの情報、量子化の情報、符号化の情報などを含む。SODマーカー35は、データの開始を表し、ビットストリーム36は、そのタイルパートに含まれる全てのパケットを含む。符号データが複数のタイルパートより成る場合は、タイルパートヘッダーマーカー33、タイルパートヘッダーマーカーセグメント34、SODマーカー35、ビットストリーム36を繰り返し、EOCマーカー37は、符号ストリームの終わりを表す。ここで、1つのタイルの符号データを複数のタイルパートに分けて符号ストリームを構成することも可能である。   The main header marker 31 represents the start of the code stream, and the main header marker segment 32 includes image information, quantization information, encoding information, and the like. The tile part header marker 33 represents the start of a tile part, and the tile part header marker segment 34 includes tile part information, quantization information, encoding information, and the like. The SOD marker 35 represents the start of data, and the bitstream 36 includes all packets included in that tile part. When the code data is composed of a plurality of tile parts, the tile part header marker 33, the tile part header marker segment 34, the SOD marker 35, and the bit stream 36 are repeated, and the EOC marker 37 represents the end of the code stream. Here, it is possible to divide the code data of one tile into a plurality of tile parts to form a code stream.

上述した如く、画像データは、コードブロック単位でMQ符号化され、その符号データは輝度・色差成分(コンポーネント)ごと、解像度(LL、HL−LH−HHサブバンド)ごと、領域(precinct)ごと、レイヤごとにパケット単位にまとめられ、図13のビットストリーム36の位置に特定の順番で配置される。例として、画像全体をタイル分割しないで、以下に示すパラメータで符号化を行う場合を考える。
(1)コンポーネント数:Cmax個(C1、C2、・・・、Cmax
(2)解像度:Rレベル=R+1個(1:RLL、2:RHL−RLH−RHH、・・・、R+1:1HL−1LH−1HH)
(3)precinct:各解像度でPmax個(P1、P2、・・・、Pmax
(4)レイヤ:Lmax個(L1、L2、・・・、Lmax
このとき、パケットの総数は、Cmax×(R+1)×Pmax×Lmaxとなる。
As described above, the image data is MQ-encoded in units of code blocks, and the code data is for each luminance / color difference component (component), for each resolution (LL, HL-LH-HH subband), for each region (precinct), Each layer is grouped into packets, and arranged in a specific order at the position of the bit stream 36 in FIG. As an example, let us consider a case where encoding is performed using the parameters shown below without dividing the entire image into tiles.
(1) Number of components: C max (C1, C2,..., C max )
(2) Resolution: R level = R + 1 (1: RLL, 2: RHL-RLH-RHH,..., R + 1: 1HL-1LH-1HH)
(3) precinct: P max at each resolution (P1, P2,..., P max )
(4) Layer: L max (L1, L2,..., L max )
At this time, the total number of packets is C max × (R + 1) × P max × L max .

JPEG2000の符号ストリームを構成する際に、タイルパートに分割しない場合は、タイルパートヘッダー40に含まれる情報を全てビットストリーム36の位置に配置する必要がある。JPEG2000の規格では、パケットの並べ方として、コンポーネント、解像度、precinct、レイヤの何を優先するかによって、5通りの並べ方(progression order)を規定している。   When constructing a JPEG2000 code stream, if it is not divided into tile parts, it is necessary to arrange all the information included in the tile part header 40 at the position of the bit stream 36. According to the JPEG2000 standard, five types of ordering (progression order) are defined depending on what is prioritized among components, resolution, precinct, and layer.

図14は、progression orderの1つであるLayer−resokution−component−position順のパケットの並びを示している。初めに(L1、RLL、C1、P1)のパケットを並べ、レイヤ、解像度、コンポーネントは1のままprecinctが2、3、・・・、Pmaxのパケットを順番に並べる。次にコンポーネントを2として、precinctが1、2、・・・、Pmaxのパケットを順番に並べる。これをコンポーネントがCmaxになるまで続け、後は同様に解像度を2、3、・・・、R+1。レイヤを2、3、・・・、Lmaxになるまで順番にパケットを並べる。 FIG. 14 shows a sequence of packets in the order of Layer-reaction-component-position, which is one of progression order. Arranging a packet (L1, RLL, C1, P1 ) at the beginning, layers, resolution, component is precinct remains 1 2, 3, ..., arranged in the order of packets P max. Next, the component is 2, and packets with precinct of 1, 2,..., P max are arranged in order. This is continued until the component reaches C max , and then the resolution is set to 2, 3,. The packets are arranged in order until the layers reach 2, 3,..., L max .

progression orderとしては、Layer−resokution−component−position順以外に
Resolution−layer−component−position順。
Resolution−position−component−layer順。
Position−component−resolution−layer順。
Component−position−resolution−layer順。
が規定されているが、いずれもコンポーネント、解像度、precinct、レイヤのどの要素を優先して並べるかが異なるだけで、パケットの内容(パケットヘッダー、パケットデータ)自体は変わらない。
The progression order is in the order of Resolution-layer-component-position in addition to the order of Layer-reaction-component-position.
Resolution-position-component-layer order.
Position-component-resolution-layer order.
Component-position-resolution-layer order.
However, the content of the packet (packet header, packet data) itself is not changed, only the element, resolution, precinct, and layer are preferentially arranged.

上記progression orderには次に示す意味がある。複号時に復号されたパケットを順次画像データとして表示していくと、例えばLayer−resokution−component−position順は、複号時に上位の画像全体の全コンポーネントのデータが圧縮された解像度で、上位レイヤから順に復号されていくので、最初に粗い画像が出力され次第に画質の良い画像に復元されることになる。Resokution−layer−component−position順であれば、最初に解像度の低い画像が復元され、次第に高解像度の画像が出来て行くことになる。このように、符号のprogression orderにより、復号時に何を優先して表示するかが変わってくる。   The progression order has the following meanings. When packets decoded at the time of decoding are sequentially displayed as image data, for example, the order of Layer-reaction-component-position is the resolution in which all component data of the entire upper image is compressed at the time of decoding Therefore, a coarse image is output first, and is gradually restored to an image with good image quality. In the order of Resolution-layer-component-position, an image with a low resolution is restored first, and an image with a high resolution is gradually created. In this way, what is preferentially displayed at the time of decoding changes depending on the code progression order.

次にJPEG2000の特徴である符号の再圧縮、即ち符号データを一旦復号することなく、更に圧縮された符号を生成する方法について述べる。この再圧縮の機能は、ロスレス或いはそれに近い圧縮率で符号化され蓄積されたデータをある伝送路を使って送信する際などに利用される。即ち、その伝送路の伝送能力が低いため、蓄積された符号データの送信が所定時間以内に完了しないような場合に、符号の再圧縮により、符号量をある決められた上限以下に圧縮して送信することで、所定時間以内に符号データの伝送を完了させることができるようになる。更に、このような場合においても、復号された画像データの画質は、その制限の範囲内において最も高いことが望まれる。JPEG2000では、このような機能を以下のようにして実現する。   Next, a method of recompressing the code, which is a feature of JPEG 2000, that is, a method of generating a further compressed code without decoding the code data once will be described. This recompression function is used when transmitting data that has been encoded and stored at a lossless or similar compression rate using a certain transmission line. In other words, because the transmission capacity of the transmission path is low, when the transmission of the accumulated code data is not completed within a predetermined time, the code amount is compressed below a predetermined upper limit by re-compression of the code. By transmitting, the transmission of the code data can be completed within a predetermined time. Further, even in such a case, it is desirable that the image quality of the decoded image data is the highest within the limits. In JPEG2000, such a function is realized as follows.

図15にLayer−resolution−component−position順で符号データを再圧縮する一例を示す。このような場合、符号データの先頭から送信しながらバイト数を数えていき、例えばレイヤnで予め設定された上限になればその時点(図中a)で符号データを打ち切る。こうする事で上位のレイヤから符号データを送信し、必要な符号量で復号時において最も画質の良くなる符号データを送信することができる。
Martin Boliek,C.Christopoulos,E.Majani,JPEG 2000 Part I Final Committee Draft Version 1.0,米国,ISO/IEC JTC1/SC29 WG1 JPEG 2000,2000年3月16日、p180−184 J.10 Rate control 特開2001−268369号公報
FIG. 15 shows an example in which code data is recompressed in the order of Layer-resolution-component-position. In such a case, the number of bytes is counted while transmitting from the beginning of the code data. For example, if the upper limit preset in layer n is reached, the code data is terminated at that point (a in the figure). By doing this, it is possible to transmit code data from an upper layer, and to transmit code data with the best image quality at the time of decoding with a necessary code amount.
Martin Boriek, C.I. Christopoulos, E .; Majani, JPEG 2000 Part I Final Committee Draft Version 1.0, USA, ISO / IEC JTC1 / SC29 WG1 JPEG 2000, March 16, 2000, p. 10 Rate control JP 2001-268369 A

しかしながら、従来の上述の方法では、符号のprogression orederが、Layer−resolution−component−position順に限られてしまい、更にハードウェア化を考えると実際にはコードブロックごとにMQ符号化を行うため、前述の如く画像全体の上位レイヤを優先して並べていくこのprogression orderで符号化を行うことは難しい。   However, in the above-described conventional method, the code progression orderer is limited in the order of Layer-resolution-component-position, and further considering hardware, MQ coding is actually performed for each code block. As described above, it is difficult to perform encoding with this progression order in which the upper layers of the entire image are arranged with priority.

本発明は上記の点に鑑みなされたもので、圧縮された符号データを簡単且つ効率的に再圧縮することが可能な画像処理装置及び画像処理方法を提供することを目的とする。   The present invention has been made in view of the above points, and an object thereof is to provide an image processing apparatus and an image processing method capable of easily and efficiently recompressing compressed code data.

そこで、上記問題を解決するため、本発明の画像処理装置は、周波数領域の画像データを、複数の部分画像データに分割し、該部分画像データのビットプレーンにおける符号化パスごとに圧縮符号化し、所定数の符号化パスによりレイヤを構成する符号データを、該レイヤごとの符号データ量に基づいて再圧縮する画像処理装置であって、前記レイヤごとの符号データ量を最上位レイヤから積算していき、積算された符号データ量が、所定の量を超えない範囲のレイヤを選択するレイヤ選択手段と、前記レイヤ選択手段により選択されたレイヤよりも下位のレイヤの符号データを破棄又はゼロにすることによってデータ量を圧縮するデータ量圧縮手段とを有することを特徴とする。   Therefore, in order to solve the above problem, the image processing apparatus of the present invention divides the frequency domain image data into a plurality of partial image data, and performs compression encoding for each encoding pass in the bit plane of the partial image data, An image processing apparatus that re-compresses code data constituting a layer by a predetermined number of coding passes based on the code data amount for each layer, and integrates the code data amount for each layer from the highest layer. Then, the layer selection means for selecting a layer whose accumulated code data amount does not exceed a predetermined amount, and the code data of a layer lower than the layer selected by the layer selection means are discarded or made zero. And a data amount compression means for compressing the data amount.

また、本発明の画像処理装置は、前記積算されたレイヤごとの符号データ量の値を、再圧縮した符号データのヘッダー情報として用いることを特徴とする。   The image processing apparatus according to the present invention is characterized in that the accumulated code data amount value for each layer is used as header information of the recompressed code data.

また、本発明の画像処理装置は、前記符号データを復号化する符号データ復号化手段を有し、前記データ量圧縮手段は、ヘッダーをデコードするヘッダーデコード手段を有し、前記符号データ復号化手段は、前記ヘッダーデコード手段から出力されたヘッダー情報を用いて復号化することを特徴とする。   Further, the image processing apparatus of the present invention has code data decoding means for decoding the code data, and the data amount compression means has header decoding means for decoding a header, and the code data decoding means Is characterized by decoding using header information output from the header decoding means.

また、本発明の画像処理装置は、JPEG2000が規定する符号化及び/又は復号化の処理を行うことを特徴とする。   The image processing apparatus of the present invention is characterized by performing encoding and / or decoding processing defined by JPEG2000.

本発明の画像処理装置によれば、周波数領域の画像データを、複数の部分画像データに分割し、該部分画像データのビットプレーンにおける符号化パスごとに圧縮符号化し、所定数の符号化パスによりレイヤを構成する符号データを、該レイヤごとの符号データ量に基づいて再圧縮する画像処理装置であって、前記レイヤごとの符号データ量を最上位レイヤから積算していき、積算された符号データ量が、所定の量を超えない範囲のレイヤを選択するレイヤ選択手段と、前記レイヤ選択手段により選択されたレイヤよりも下位のレイヤの符号データを破棄又はゼロにすることによってデータ量を圧縮するデータ量圧縮手段とを有することにより、簡単で且つ効率的な符号データの再圧縮が行える画像処理装置を提供することができる。   According to the image processing apparatus of the present invention, the image data in the frequency domain is divided into a plurality of partial image data, compressed and encoded for each encoding pass in the bit plane of the partial image data, and a predetermined number of encoding passes. An image processing apparatus that re-compresses code data constituting a layer based on a code data amount for each layer, the code data amount for each layer being accumulated from the highest layer, and the accumulated code data A layer selection unit that selects a layer in a range in which the amount does not exceed a predetermined amount, and compresses the data amount by discarding or zeroing code data of a layer lower than the layer selected by the layer selection unit By including the data amount compression means, it is possible to provide an image processing apparatus that can perform simple and efficient recompression of code data.

本発明の画像処理装置によれば、前記積算されたレイヤごとの符号データ量の値を、再圧縮した符号データのヘッダー情報として用いることにより、簡単で且つ効率的に再圧縮符号データのヘッダーを生成することができる。   According to the image processing apparatus of the present invention, by using the accumulated code data amount value for each layer as header information of the recompressed code data, the header of the recompressed code data can be easily and efficiently used. Can be generated.

本発明の画像処理装置によれば、前記符号データを復号化する符号データ復号化手段を有し、前記データ量圧縮手段は、ヘッダーをデコードするヘッダーデコード手段を有し、前記符号データ復号化手段は、前記ヘッダーデコード手段から出力されたヘッダー情報を用いて復号化することにより、再圧縮する符号データの元となる画像データを復号することができる。   According to the image processing apparatus of the present invention, the data processing apparatus includes code data decoding means for decoding the code data, and the data amount compression means includes header decoding means for decoding a header, and the code data decoding means By decoding using the header information output from the header decoding means, it is possible to decode the image data that is the source of the code data to be recompressed.

本発明の画像処理装置によれば、JPEG2000の再符号化及び/又は復号化の処理に前記画像処理装置を用いることにより、所定の情報量以下の符号データの情報量で最適な画質の画像を復元することができる。   According to the image processing device of the present invention, by using the image processing device for JPEG2000 re-encoding and / or decoding processing, an image with an optimum image quality can be obtained with an information amount of code data equal to or less than a predetermined information amount. Can be restored.

本発明の画像処理装置及び画像処理方法によれば、圧縮された符号データを簡単且つ効率的に再圧縮することが可能な画像処理装置及び画像処理方法を提供することができる。   According to the image processing apparatus and the image processing method of the present invention, it is possible to provide an image processing apparatus and an image processing method capable of easily and efficiently recompressing the compressed code data.

以下、本発明の実施の形態について図面に基づいて説明する。なお、本発明の実施の形態は、JPEG2000ベースにして説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment of the present invention will be described based on JPEG2000.

図16に本発明の実施における1チップの符号化・復号化器50の例を示す。図16では、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図面においても同じである。   FIG. 16 shows an example of a one-chip encoder / decoder 50 in the embodiment of the present invention. In FIG. 16, a configuration necessary for the description is shown, and a configuration not necessary for the description is omitted. The same applies to the following drawings.

図16の符号化・復号化器50は、前・後処理部51、2次元離散ウェーブレット変換(DWT/IDWT)部52、エントロピー符号・復号化部53、符号形成部54、PLL(Phase Locked Loop)回路55、CPUI/F部56、エントロピー符号化部53のワークメモリ57及びヘッダー処理部58から構成されている。   16 includes a pre / post processing unit 51, a two-dimensional discrete wavelet transform (DWT / IDWT) unit 52, an entropy coding / decoding unit 53, a code forming unit 54, a PLL (Phase Locked Loop). ) Circuit 55, CPU I / F unit 56, work memory 57 of entropy encoding unit 53, and header processing unit 58.

前・後処理部51は、符号化時は画像データを画像データI/Fから得て、例えば、レベルシフトを行いRGB(赤・緑・青)データをYC(輝度成分・色差成分)データに変換する。また、復号化時はその逆変換を行う。 The pre / post-processing unit 51 obtains image data from the image data I / F at the time of encoding, for example, performs level shift, and converts RGB (red / green / blue) data to YC b C r (luminance component / color difference component). ) Convert to data. Further, the inverse transformation is performed at the time of decoding.

2次元離散ウェーブレット変換部(DWT/IDWT)部52は、2次元離散ウェーブレット変換及びその逆変換を行う。   A two-dimensional discrete wavelet transform unit (DWT / IDWT) unit 52 performs a two-dimensional discrete wavelet transform and its inverse transform.

エントロピー符号・復号化部53は、エントロピー符号化及びその逆変換を行う。   The entropy encoding / decoding unit 53 performs entropy encoding and its inverse transformation.

符号形成部54は、符号化時は、符号形成を行い、生成した符号にヘッダー処理部58で生成したヘッダーを付加して符号データI/Fによりビットストリームを有する符号データフォーマットを出力する。復号時は、符号データI/Fからビットストリームを有する符号データフォーマットを得て、復号化時と逆の処理を行う。   The code forming unit 54 performs code formation at the time of encoding, adds the header generated by the header processing unit 58 to the generated code, and outputs a code data format having a bit stream by the code data I / F. At the time of decoding, a code data format having a bit stream is obtained from the code data I / F, and the reverse processing to that at the time of decoding is performed.

PLL回路55は、符号化・復号化器50のクロックを生成する。CPUI/F部56は、符号化・復号化50と外部に設けたCPUとのインターフェースをとる。   The PLL circuit 55 generates a clock for the encoder / decoder 50. The CPU I / F unit 56 serves as an interface between the encoding / decoding unit 50 and an externally provided CPU.

次に画像データの符号化と符号データの再圧縮の処理を説明する。図17の(A)は画像データの符号化の処理を、図17の(B)は符号データの再圧縮の処理を説明するための図である。   Next, image data encoding and code data recompression processing will be described. FIG. 17A is a diagram for explaining image data encoding processing, and FIG. 17B is a diagram for explaining code data re-compression processing.

図17の(A)では、画像全体を符号化した際のレイヤごとの符号量を求め、符号データとともに該算出した符号量を管理する。図17の(B)では、前記算出した符号量を基に、所定の上限符号量を超えない範囲で最大の符号量が得られるレイヤを決定し、該レイヤより下位のレイヤのパケットを破棄することで、符号データの再圧縮を行っている。   In FIG. 17A, the code amount for each layer when the entire image is encoded is obtained, and the calculated code amount is managed together with the code data. In FIG. 17B, based on the calculated code amount, a layer in which the maximum code amount is obtained within a range not exceeding the predetermined upper limit code amount is determined, and packets in layers lower than the layer are discarded. Thus, the code data is recompressed.

図18にレイヤごとの符号量を求める装置の一例を示す。図18は、符号化の最終ステップである符号構成部54において、バイト単位で符号データを出力する際、その符号データのバイト出力イネーブル信号と、出力しているパケットが属するレイヤナンバーの情報とを同時に符号量カウント部60に入力する。   FIG. 18 shows an example of an apparatus for obtaining the code amount for each layer. In FIG. 18, when the code construction unit 54, which is the final step of encoding, outputs code data in units of bytes, the byte output enable signal of the code data and the layer number information to which the output packet belongs are displayed. At the same time, it is input to the code amount count unit 60.

図19にレイヤの符号量の内容を表す一例を示す。図19に示されるように、レイヤの符号量をレイヤに属するパケットの符号量と定義し、メインヘッダーのバイト数、タイルパートヘッダーのバイト数及びEOCの2バイトはレイヤ1の符号量に含める。   FIG. 19 shows an example of the content of the layer code amount. As shown in FIG. 19, the code amount of a layer is defined as the code amount of a packet belonging to the layer, and the number of bytes of the main header, the number of bytes of the tile part header, and 2 bytes of EOC are included in the code amount of layer 1.

図20に符号量カウント部60の構成の一例を示す。符号量カウント部60は、符号データの出力イネーブル信号によりカウントアップするカウンター61と、各レイヤナンバーの情報をデコードするデコーダー62と、レイヤ数に対応してレイヤごとの符号量を格納する累加算器63とによって構成される。   FIG. 20 shows an example of the configuration of the code amount counting unit 60. The code amount counting unit 60 includes a counter 61 that counts up by an output enable signal of code data, a decoder 62 that decodes information of each layer number, and an accumulator that stores a code amount for each layer corresponding to the number of layers. 63.

カウンター61のカウント値は、レイヤナンバーが変わる度にリセットされ、そのレイヤの符号データが発生する度にカウントアップされる。カウントアップされたカウント値は、レイヤナンバーが変わる際に、累加算器63に入力される。このとき、デコーダー62は、現在出力されているパケットが属するレイヤナンバーより、上位のレイヤ全てを選択するようにしておく。こうすることにより、例えばカウンター61のカウント値が、レイヤNの符号データをカウントした値であったとすると、そのカウント値は、レイヤ1〜レイヤNの全ての累加算器63で加算される。また、出力する符号データが、メインヘッダー、タイルパートヘッダー、EOCの場合、レイヤ1が出力されるようにしておくことにより、図19で示されるレイヤごとの符号量を算出することができる。   The count value of the counter 61 is reset every time the layer number changes, and is incremented every time code data of that layer is generated. The counted up count value is input to the cumulative adder 63 when the layer number changes. At this time, the decoder 62 selects all layers higher than the layer number to which the currently output packet belongs. Thus, for example, if the count value of the counter 61 is a value obtained by counting the code data of the layer N, the count value is added by all the cumulative adders 63 of the layers 1 to N. In addition, when the code data to be output is a main header, tile part header, or EOC, the code amount for each layer shown in FIG. 19 can be calculated by setting layer 1 to be output.

また、レイヤの符号量を内容の内容を表す他の例を図21に示す。図21に示されるように、レイヤの符号量をレイヤに属するパケットの符号量のみと定義し、メインヘッダーのバイト数、タイルパートヘッダーのバイト数及びEOCの2バイトはレイヤ1の符号量に含める。レイヤの符号量をこのように定義することにより、符号量カウント部60を以下のように構成することができる。   FIG. 21 shows another example of the content of the layer code amount. As shown in FIG. 21, the code amount of the layer is defined as only the code amount of the packet belonging to the layer, and the number of bytes of the main header, the number of bytes of the tile part header, and 2 bytes of EOC are included in the code amount of layer 1 . By defining the code amount of the layer in this way, the code amount counting unit 60 can be configured as follows.

図22に符号量カウント部60の構成の他の例を示す。符号量カウント部60は、符号データの出力イネーブル信号によりカウントアップするカウンター61と、各レイヤナンバーの情報をデコードするデコーダー62と、レイヤ数に対応してレイヤごとの符号量を格納する符号量カウント部レジスタ64とによって構成される。   FIG. 22 shows another example of the configuration of the code amount counting unit 60. The code amount counting unit 60 includes a counter 61 that counts up by an output enable signal of code data, a decoder 62 that decodes information of each layer number, and a code amount count that stores the code amount for each layer corresponding to the number of layers. Part register 64.

カウンター61のカウント値は、レイヤナンバーが変わる度に次のレイヤに対応するレイヤごとの符号量がリセットされ、そのレイヤの符号データが発生する度にカウントアップされる。カウントアップされたカウント値は、レイヤナンバーが変わる際に、符号量カウント部レジスタ64に入力される。このとき、デコーダー62は、現在出力されているパケットが属するレイヤナンバーを選択するようにしておく。こうすることにより、図21に示されるレイヤごとの符号量のデータを得ることができる。   The count value of the counter 61 is incremented every time the layer number changes, the code amount for each layer corresponding to the next layer is reset, and the code data of that layer is generated. The counted up count value is input to the code amount count unit register 64 when the layer number changes. At this time, the decoder 62 selects the layer number to which the currently output packet belongs. By doing so, it is possible to obtain data of the code amount for each layer shown in FIG.

以下、符号データの再圧縮を行う際に、レイヤごとの情報を基に所定の上限符号量を超えない範囲で最大の符号量が得られるレイヤを決定する装置の例を示す。   Hereinafter, an example of an apparatus for determining a layer that can obtain a maximum code amount within a range not exceeding a predetermined upper limit code amount based on information for each layer when code data is recompressed will be described.

図23は、再符号化を行う際のレイヤ選択回路70の構成の一例を説明するための図である。図23のレイヤ選択回路70は、比較器71と、プライオリティエンコーダー72とから構成されている。   FIG. 23 is a diagram for explaining an example of the configuration of the layer selection circuit 70 when performing re-encoding. The layer selection circuit 70 shown in FIG. 23 includes a comparator 71 and a priority encoder 72.

比較器71に符号データを入力する前に、上限の設定符号量を設定して、レイヤごとの符号量を比較器71に入力する。比較器71では、各レイヤごとの符号量と設定符号量とを比較して、その比較結果をプライオリティエンコーダー72に入力する。プライオリティエンコーダー72では、前記比較器71より入力されたそれぞれのレイヤにおける比較結果に基づき、設定符号量を超えない範囲で最大の符号量が得られるレイヤを選択する。選択された選択レイヤは、符号再圧縮回路73に渡され、符号データの再符号化に用いられる。   Before inputting code data to the comparator 71, an upper limit set code amount is set, and the code amount for each layer is input to the comparator 71. The comparator 71 compares the code amount for each layer with the set code amount, and inputs the comparison result to the priority encoder 72. The priority encoder 72 selects a layer that provides the maximum code amount within a range that does not exceed the set code amount, based on the comparison result in each layer input from the comparator 71. The selected selection layer is transferred to the code recompression circuit 73 and used for re-encoding the code data.

図23は、図19、図20で示される、符号量カウント部で得られるレイヤごとの符号量に対応した、再符号化時のレイヤ選択回路70である。   FIG. 23 shows a layer selection circuit 70 at the time of re-encoding corresponding to the code amount for each layer obtained by the code amount counting unit shown in FIGS. 19 and 20.

図24は、再符号化を行う際のレイヤ選択回路70の構成の他の例を説明するための図である。図24のレイヤ選択回路70は、比較器71と、マルチプレクサ75と、加算器76と、レイヤ選択回路レジスタ77と、レイヤ決定回路78とから構成されている。   FIG. 24 is a diagram for explaining another example of the configuration of the layer selection circuit 70 when performing re-encoding. The layer selection circuit 70 shown in FIG. 24 includes a comparator 71, a multiplexer 75, an adder 76, a layer selection circuit register 77, and a layer determination circuit 78.

マルチプレクサ75は、レイヤ1の符号量、レイヤ2の符号量、・・・、レイヤ16の符号量から一つを選択し、選択したレイヤの符号量を加算器76に入力する。加算器76では、入力されたレイヤの符号量を、それまでのレイヤに含まれる符号量に加算し、加算した結果をレイヤ選択回路レジスタ77に格納する。レイヤ選択回路レジスタ77は、加算結果を格納していると共に、次のレイヤ符号量と加算すべき値とを保持している。比較器71は、加算器の出力と、所定の設定符号量とを比較し、比較した結果をレイヤ決定回路78に入力する。レイヤ決定回路78は、所定の設定符号量を超えない範囲で最大の符号量となるレイヤを選択し、選択する。選択された選択レイヤは、符号再圧縮回路73に渡され、符号データの再符号化に用いられる。   The multiplexer 75 selects one of the code amount of layer 1, the code amount of layer 2,..., The code amount of layer 16, and inputs the code amount of the selected layer to the adder 76. The adder 76 adds the input code amount of the layer to the code amount included in the previous layers, and stores the addition result in the layer selection circuit register 77. The layer selection circuit register 77 stores the addition result and holds the next layer code amount and the value to be added. The comparator 71 compares the output of the adder with a predetermined set code amount, and inputs the comparison result to the layer determination circuit 78. The layer determination circuit 78 selects and selects a layer having the maximum code amount within a range that does not exceed a predetermined set code amount. The selected selection layer is transferred to the code recompression circuit 73 and used for re-encoding the code data.

ここでは、レイヤ1の符号量、レイヤ2の符号量、・・・、レイヤ16の符号量と、順番にマルチプレクサ75で選択し、加算器76を用いてレイヤ選択回路レジスタ77に保存されているそれまでのレイヤの符号量と選択したレイヤの符号量とが加算され、比較器71にて設定符号量と比較される。加算値が始めて設定符号量と比べて大きくなると、それより一つ前のレイヤが選択され、レイヤ決定回路より符号再圧縮回路73に渡される。   Here, the code amount of layer 1, the code amount of layer 2,..., The code amount of layer 16 are selected in order by the multiplexer 75 and stored in the layer selection circuit register 77 using the adder 76. The code amount of the layer so far and the code amount of the selected layer are added and compared with the set code amount by the comparator 71. When the added value becomes larger than the set code amount for the first time, the previous layer is selected and passed to the code recompression circuit 73 from the layer determination circuit.

図24は、図21、図22で示される、符号量カウント部で得られるレイヤごとの符号量に対応した、再符号化時のレイヤ選択回路70である。   FIG. 24 shows a layer selection circuit 70 at the time of re-encoding corresponding to the code amount for each layer obtained by the code amount counting unit shown in FIGS. 21 and 22.

次に、符号再圧縮回路73について説明する。図25は、符号再圧縮回路73の構成例を説明するための図である。符号再圧縮回路73は、ヘッダーデコード部81と、バッファ82と、ヘッダー書き替え部83とから構成されている。   Next, the code recompression circuit 73 will be described. FIG. 25 is a diagram for explaining a configuration example of the code recompression circuit 73. The code recompression circuit 73 includes a header decoding unit 81, a buffer 82, and a header rewriting unit 83.

符号圧縮回路73に入力される符号データは、図13に示されるようにメインヘッダー40と、タイルパートヘッダー41と、それに続くビットストリーム36とから構成される。ビットストリーム36は、上述した如く、パケットヘッダー21とパケットデータ22とからなる複数のパケットが、規定されたprogression order順に並んだ構成となっている。   The code data input to the code compression circuit 73 includes a main header 40, a tile part header 41, and a bit stream 36 that follows the main header 40, as shown in FIG. As described above, the bit stream 36 has a configuration in which a plurality of packets including the packet header 21 and the packet data 22 are arranged in the order of a prescribed progression order.

ここで、パケットの順番、レイヤ数、コンポーネント数、解像度情報及びprecinctの情報は予めヘッダーデコード部81に設定されているものとする。このとき、パケットの順番、レイヤ数、コンポーネント数、解像度情報、precinctの情報は、メインヘッダー40或いはタイルパートヘッダー41に記述されているので、ヘッダーデコード部81は、その値を自動的に取り込む構成とすることも可能である。また、破棄すべきパケットの情報は、前記レイヤ選択回路70で選択された選択レイヤより、知ることができる。   Here, it is assumed that the packet order, the number of layers, the number of components, the resolution information, and the precinct information are set in the header decoding unit 81 in advance. At this time, since the packet order, the number of layers, the number of components, the resolution information, and the precinct information are described in the main header 40 or the tile part header 41, the header decoding unit 81 automatically captures the values. It is also possible. Further, the information on the packet to be discarded can be known from the selected layer selected by the layer selection circuit 70.

ヘッダーデコード部81では、入力された符号データの、メインヘッダー40とタイルパートヘッダー41とをバッファ82に入力する。一方、ヘッダーデコード部81は、パケットのパケットヘッダーより、コードブロックのゼロビットプレーン数、コーディングパス数、MQ符号データのバイト数情報をデコードする。また、該パケットのレイヤ数が前記レイヤ選択回路70により選択されたレイヤと比較し、破棄すべきパケットであれば次のパケットの先頭まで破棄し、該パケットが破棄すべきでないパケットであれば、そのパケットヘッダー21とパケットデータ22とをバッファ82に入力する。同様の操作を最後のパケットまで繰り返すと同時に、残すべき符号データのバイト数をカウントしておく。   The header decoding unit 81 inputs the main header 40 and the tile part header 41 of the input code data to the buffer 82. On the other hand, the header decoding unit 81 decodes the number of zero bit planes of the code block, the number of coding passes, and the number of bytes of MQ code data from the packet header of the packet. Further, the number of layers of the packet is compared with the layer selected by the layer selection circuit 70. If the packet is to be discarded, the packet is discarded up to the beginning of the next packet, and if the packet is not to be discarded, The packet header 21 and the packet data 22 are input to the buffer 82. Similar operations are repeated until the last packet, and at the same time, the number of bytes of code data to be left is counted.

ヘッダー書き替え部83では、予め設定された条件に合うように、メインヘッダー40にあるレイヤ数、解像度、コンポーネント、precinctの情報を書き換え、更にヘッダーデコード部81がカウントしていた符号データのバイト数よりタイルパートヘッダー41にある符合データのバイト数の情報を変更し、最終的な再圧縮符号データ3として出力する。   The header rewriting unit 83 rewrites the number of layers, resolution, component, and precinct information in the main header 40 so as to meet preset conditions, and the number of bytes of code data counted by the header decoding unit 81 Further, information on the number of bytes of the code data in the tile part header 41 is changed, and the final recompressed code data 3 is output.

図26に、Resolution−position−component−layer順の符号データの一例を示す。   FIG. 26 shows an example of code data in the order of Resolution-position-component-layer.

図26の符号データは、レイヤ数16(1〜16)、コンポーネント数3(1、2、3)、解像度3(3LL、3HL−LH−HH、2HL−LH−HH、1HL−LH−HH)、precinct数1のResolution−position−component−layer順の符号データである。   The code data in FIG. 26 includes 16 layers (1 to 16), 3 components (1, 2, 3), and 3 resolutions (3LL, 3HL-LH-HH, 2HL-LH-HH, 1HL-LH-HH). , Code data in the order of Resolution-position-component-layer with a precinct number of 1.

以下、前記レイヤ選択回路70より選択されたレイヤをレイヤ8とし、レイヤ8より下位(8〜16)の符号データを破棄する場合を考える。図27に、符号再圧縮回路73におけるレイヤ8より下位の符号データを破棄する処理の一例のフローチャートを示す。   Hereinafter, a case where the layer selected by the layer selection circuit 70 is assumed to be the layer 8 and the code data lower than the layer 8 (8 to 16) is discarded will be considered. FIG. 27 shows a flowchart of an example of processing for discarding code data lower than layer 8 in the code recompression circuit 73.

ステップS1では、符号データがヘッダーデコード部81に入力され、メインヘッダー40とタイルパートヘッダー41とはそのままバッファ82に入力される。   In step S1, code data is input to the header decoding unit 81, and the main header 40 and the tile part header 41 are input to the buffer 82 as they are.

ステップS1に引き続きステップS2に進み、ステップS2では、ヘッダーデコード部81が入力された符号データのパケットの選択を行う。最初のパケットは、progression orderに係らず、L(レイヤ)=1、r(解像度)=3LL、C(コンポーネント)=1、P(precinct)=1に対応する符号データを選択する。   Progressing to step S2 following step S1, in step S2, the header decoding unit 81 selects the input code data packet. For the first packet, code data corresponding to L (layer) = 1, r (resolution) = 3LL, C (component) = 1, and P (precinct) = 1 is selected regardless of the progression order.

ステップS2に引き続きステップS3に進み、ステップS3では、ヘッダーデコード部81がステップS2において選択したパケットのデコードを行う。デコードする情報は前述した如くコードブロックのゼロビットプレーン数(ZBP)、コーディングパス数(CP)及びMQ符号データのバイト数(PD)である。ここで、デコードの過程においてパケットヘッダー自体のバイト数(以下、PHという)も取得する。   Progressing to step S3 following step S2, the header decoding unit 81 decodes the packet selected in step S2 in step S3. The information to be decoded is the number of zero bit planes (ZBP), the number of coding passes (CP) and the number of bytes (PD) of MQ code data as described above. Here, the number of bytes of the packet header itself (hereinafter referred to as PH) is also acquired in the decoding process.

ステップS4では、ヘッダーデコード部81が該当するパケットが破棄すべきパケットであるかどうかを判定する。この例においては、レイヤLが8以上かどうかを判定する。レイヤLが8以上だと判定すると(ステップS4においてYES)、ステップS6に進み、レイヤLが8以上でないと判定すると(ステップS4においてNO)、ステップS5に進む。   In step S4, the header decoding unit 81 determines whether the corresponding packet is a packet to be discarded. In this example, it is determined whether the layer L is 8 or more. If it is determined that the layer L is 8 or more (YES in step S4), the process proceeds to step S6. If it is determined that the layer L is not 8 or more (NO in step S4), the process proceeds to step S5.

ステップS5では、ヘッダーデコード部81がパケットを所定のバッファ82に格納する。即ちパケットヘッダーを含め連続するPH+PDバイトの符号データをバッファ82に格納する。また、同時に新たに生成する符号データのバイト数Nを知るため、PH+PDの値を累加算していく。ここで、バッファ82は、符号を保持できる領域を作成し、複数のパケットデータを連続して格納できる領域を持っているものである。   In step S5, the header decoding unit 81 stores the packet in a predetermined buffer 82. That is, the code data of continuous PH + PD bytes including the packet header is stored in the buffer 82. At the same time, in order to know the number of bytes N of newly generated code data, the value of PH + PD is cumulatively added. Here, the buffer 82 creates an area where a code can be held, and has an area where a plurality of packet data can be continuously stored.

ステップS6では、ヘッダーデコード部81がパケットヘッダーを含め、連続するPH+PDバイトの符号データを読み飛ばす。   In step S6, the header decoding unit 81 skips the code data of successive PH + PD bytes including the packet header.

ステップS5、ステップS6に引き続きステップS7に進み、ステップS7では、ヘッダーデコード部81が現在選択しているパケットが最後のパケットかどうかを判定する。これは、該パケットのレイヤ、コンポーネント、解像度、precinctの全てがパケットの最後を示しているかどうかで判定する。この例の場合、L(レイヤ)=16且つ、r(解像度)=1HL−LH−HH且つ、C(コンポーネント)=3且つ、P(precinct)=1であるかどうかによって判定する。最後のパケットであると判定すると(ステップS6においてYES)、ステップS9に進み、最後のパケットではないと判定すると(ステップS6においてNO)、ステップS8に進む。   Following step S5 and step S6, the process proceeds to step S7. In step S7, the header decoding unit 81 determines whether the currently selected packet is the last packet. This is determined based on whether all of the layer, component, resolution, and precinct of the packet indicate the end of the packet. In this example, determination is made based on whether L (layer) = 16, r (resolution) = 1HL-LH-HH, C (component) = 3, and P (precinct) = 1. If it is determined that it is the last packet (YES in step S6), the process proceeds to step S9. If it is determined that it is not the last packet (NO in step S6), the process proceeds to step S8.

ステップS8では、ヘッダーデコード部81が次のパケットを選択する。次のパケットのL(レイヤ)、r(解像度)、C(コンポーネント)、P(precinct)は、progression orederで判断できる。なお、最終のパケットの処理が完了するまで、前記ステップS3からステップS8までの処理を繰り返す。   In step S8, the header decoding unit 81 selects the next packet. The L (layer), r (resolution), C (component), and P (precinct) of the next packet can be determined by the progression orderer. Note that the processing from step S3 to step S8 is repeated until the processing of the final packet is completed.

ステップS9では、ヘッダー書き換え部83がメインヘッダー40にあるレイヤ数、コンポーネント数、解像度、precinctの情報を新たに得られた符号データに対応するように書き替える。また、ステップS5でカウントしたバイト数Nを用いてタイルパートヘッダー内の符号バイト数を書き替える。   In step S9, the header rewriting unit 83 rewrites the information on the number of layers, the number of components, the resolution, and the precinct in the main header 40 so as to correspond to the newly obtained code data. Further, the number of code bytes in the tile part header is rewritten using the number of bytes N counted in step S5.

ステップS9に引き続きステップS10に進み、ステップS10では、ヘッダー書換え部83が再圧縮符号データ3を出力する。   Progressing to step S10 following step S9, the header rewriting unit 83 outputs the recompressed code data 3 in step S10.

このような処理を行うことにより、以下で示すレイヤ8〜16のパケットを破棄した符号データが得られる。図28に、図26で示した符号データのレイヤ8〜16のパケットを破棄した一例を示す。   By performing such processing, code data in which packets of layers 8 to 16 shown below are discarded can be obtained. FIG. 28 shows an example in which the packets of layers 8 to 16 of the code data shown in FIG. 26 are discarded.

なお、上述した例ではレイヤ8以降のパケットを完全に破棄したが、レイヤ8以降のパケットを破棄せず、ゼロパケットに置き換えて実施することも可能である。図29に、符号再圧縮回路73におけるレイヤ8より下位の符号データをゼロパケットに書き替える処理の一例のフローチャートを示す。ここで、図27と同一の処理を行うステップは、説明を省略する。   In the above-described example, the packet after layer 8 is completely discarded. However, the packet after layer 8 can be replaced with a zero packet without discarding. FIG. 29 shows a flowchart of an example of processing for rewriting code data lower than layer 8 in the code recompression circuit 73 to zero packets. Here, the description of the steps for performing the same processing as in FIG. 27 is omitted.

図27のステップS6と異なり、ステップS16では、ヘッダーデコード部81が該当するパケットを読み飛ばすと同時にゼロパケットである'00'をバッファ82に入力し、符号データのバイト数Nに1を加える。   Unlike step S6 in FIG. 27, in step S16, the header decoding unit 81 skips the corresponding packet and simultaneously inputs “00”, which is a zero packet, to the buffer 82 and adds 1 to the number of bytes N of the code data.

また、図27のステップS9と異なり、ステップS19では、メインヘッダー40の書き替えは行わず、タイルパートヘッダー41の符号バイト数のみを書き替える。   Also, unlike step S9 of FIG. 27, in step S19, the main header 40 is not rewritten, and only the number of code bytes of the tile part header 41 is rewritten.

図30に、図26で示した符号データのレイヤ8〜16のパケットをゼロパケットに書き替えた一例を示す。   FIG. 30 shows an example in which the packets of layers 8 to 16 of the code data shown in FIG. 26 are rewritten to zero packets.

また、符号再圧縮回路73と符号化・復号化器50とを以下のように組み合わせて、再圧縮符号データ3と画像データ1とを同時に生成する構成とすることも可能である。図31に、符号再圧縮回路73と符号化・復号化器50との組み合わせの一例を示す。   In addition, the code recompression circuit 73 and the encoder / decoder 50 may be combined as follows to generate the recompressed code data 3 and the image data 1 at the same time. FIG. 31 shows an example of a combination of the code recompression circuit 73 and the encoder / decoder 50.

符号データ2の再圧縮を行う場合は、上述した如く、符号データ2は一旦ヘッダーデコード部81に入力され、その後メインヘッダー40とタイルパートヘッダー41とはそのままバッファ82に入力される。ビットストリーム36は、パケットヘッダー21のデコード後、必要なパケットのみバッファ82に入力される。最後にヘッダー書き替え部82によって、メインヘッダー40とタイルパートヘッダー41とを変更した後、再圧縮符号データを出力する。   When re-compressing the code data 2, as described above, the code data 2 is once input to the header decoding unit 81, and then the main header 40 and the tile part header 41 are input to the buffer 82 as they are. The bit stream 36 is input to the buffer 82 only for necessary packets after the packet header 21 is decoded. Finally, after changing the main header 40 and the tile part header 41 by the header rewriting unit 82, the recompressed code data is output.

一方、符号データ2の復号を行う場合は、符号データ2は一旦ヘッダーデコード部81に入力され、メインヘッダー21及びタイルパートヘッダー41は読み飛ばされ、ヒットストリーム36は、パケットヘッダーデコード後、パケットデータ20のみがバッファ82に入力される。その後、前記パケットデータ20と共にヘッダーデコード部81でパケットヘッダー21をデコードして得られたZBP、CP、PDをエントロピー復号化部52に入力する。これら入力されたデータにより、エントロピー復号化部52で生成されたウェーブレット係数データを逆ウェーブレット変換(IDWT)して、後処理部51に入力することにより、最終的な画像データ1を得ることができる。   On the other hand, when decoding the code data 2, the code data 2 is once input to the header decoding unit 81, the main header 21 and the tile part header 41 are skipped, and the hit stream 36 is the packet data after the packet header decoding. Only 20 is input to the buffer 82. Thereafter, ZBP, CP, and PD obtained by decoding the packet header 21 together with the packet data 20 by the header decoding unit 81 are input to the entropy decoding unit 52. By using the input data, wavelet coefficient data generated by the entropy decoding unit 52 is subjected to inverse wavelet transform (IDWT) and input to the post-processing unit 51, whereby final image data 1 can be obtained. .

本発明は、JPEG2000が規定する符号化又は復号化の処理に限らない。   The present invention is not limited to the encoding or decoding process defined by JPEG2000.

また、本発明の再圧縮の処理は、それとは逆の処理を行うことにより、復号化が可能である。   Further, the recompression process of the present invention can be decoded by performing the reverse process.

また、本発明は、圧縮された符号データから、一旦画像に復号することなく、また符号データのパケットの並び方に関係なく、符号データの再圧縮が行える。   In addition, according to the present invention, code data can be recompressed from the compressed code data without decoding the image once and regardless of the arrangement of the code data packets.

上述の如く、本発明によれば、圧縮された符号データを簡単且つ効率的に再圧縮することが可能な画像処理装置及び画像処理方法を提供することができる。   As described above, according to the present invention, it is possible to provide an image processing apparatus and an image processing method capable of easily and efficiently recompressing compressed code data.

以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。   Although the best mode for carrying out the invention has been described above, the present invention is not limited to the embodiment described in the best mode. Modifications can be made without departing from the spirit of the present invention.

JPEG2000の符号化の流れを説明するための図である。It is a figure for demonstrating the flow of encoding of JPEG2000. 水平方向M画素、垂直方向N画素の画像データにレベル3の2次元ウェーブレット変換を行った場合の一例を説明するための図である。It is a figure for demonstrating an example at the time of performing the level 3 two-dimensional wavelet transform to the image data of a horizontal direction M pixel and a vertical direction N pixel. 画像データをm×nの大きさのタイルに分割し、レベル3の2次元離散ウェーブレット変換を行った場合の一例を説明するための図である。It is a figure for demonstrating an example at the time of dividing | segmenting image data into a tile of a magnitude | size of mxn, and performing the level 3 two-dimensional discrete wavelet transform. スカラー量子化の式である。This is a scalar quantization equation. 各サブバンドをP×Qの大きさのコードブロックに分割した一例の図である。It is a figure of an example which divided | segmented each subband into the code block of a magnitude | size of PxQ. 各サブバンドごとにエントロピー符号化した場合におけるサブバンドとMQ符号化器の処理を説明するための図である。It is a figure for demonstrating the process of a subband and a MQ encoder at the time of entropy encoding for every subband. ビットプレーン上の各ビットをある規則によりS、R、Cの3つに分類した一例を示すための図である。It is a figure for showing an example which classified each bit on a bit plane into three of S, R, and C by a certain rule. MQ符号データの一例を示すための図である。It is a figure for showing an example of MQ code data. サブバンドをprecinctと呼ばれる矩形の領域に分割した一例を示すための図である。It is a figure for showing an example which divided | segmented the subband into the rectangular area | region called precinct. サブバンドをprecinctと呼ばれる矩形の領域に分割した一例を示すための図である。It is a figure for showing an example which divided | segmented the subband into the rectangular area | region called precinct. 4つのコードブロックを含む1つのprecinctを16個のレイヤに分割している一例を示すための図である。It is a figure for showing an example which has divided one precinct containing four code blocks into 16 layers. パケットの一例を説明するための図である。It is a figure for demonstrating an example of a packet. JPEG2000符号ストリームの一例を説明するための図である。It is a figure for demonstrating an example of a JPEG2000 code stream. Layer−resolution−component−position順のパケットの並べ方を説明するための図である。It is a figure for demonstrating how to arrange the packet of a Layer-resolution-component-position order. Layer−resolution−component−position順で符号データを再圧縮する一例を説明するための図である。It is a figure for demonstrating an example which recompresses code | cord | chord data in a Layer-resolution-component-position order. 符号化・復号化器の構成例を説明するための図である。It is a figure for demonstrating the structural example of an encoder / decoder. 画像データの符号化と符号データの再圧縮との処理を説明するための図である。It is a figure for demonstrating the process of encoding of image data and the recompression of code data. レイヤごとの符号量を求める装置の一例を説明するための図である。It is a figure for demonstrating an example of the apparatus which calculates | requires the code amount for every layer. レイヤの符号量の内容を表す一例を説明するための図である。It is a figure for demonstrating an example showing the content of the code amount of a layer. 符号量カウント部の構成の一例を説明するための図である。It is a figure for demonstrating an example of a structure of a code amount count part. レイヤの符号量の内容を表す他の例を説明するための図である。It is a figure for demonstrating the other example showing the content of the code amount of a layer. 符号量カウント部の構成の他の例を説明するための図である。It is a figure for demonstrating the other example of a structure of a code amount count part. 再符号化を行う際のレイヤ選択回路の構成の一例を説明するための図である。It is a figure for demonstrating an example of a structure of the layer selection circuit at the time of performing re-encoding. 再符号化を行う際のレイヤ選択回路の構成の他の例を説明するための図である。It is a figure for demonstrating the other example of a structure of the layer selection circuit at the time of performing re-encoding. 符号再圧縮回路の構成例を説明するための図である。It is a figure for demonstrating the structural example of a code recompression circuit. Resolution−position−component−layer順の符号データの一例を示す図である。It is a figure which shows an example of the code data of Resolution-position-component-layer order. 符号再圧縮回路におけるレイヤ8より下位の符号データを破棄する処理の一例のフローチャート図である。It is a flowchart figure of an example of the process which discards the code data lower than the layer 8 in a code recompression circuit. レイヤ8から16のパケットを破棄した符号データの一例を示す図である。It is a figure which shows an example of the code data which discarded the packet of layers 8-16. 符号再圧縮回路におけるレイヤ8より下位の符号データをゼロパケットに置き換える処理の一例のフローチャート図である。It is a flowchart figure of an example of the process which replaces the code data lower than the layer 8 in a code recompression circuit with a zero packet. レイヤ8から16のパケットをゼロパケットに書き替えた符号データの一例を示す図である。It is a figure which shows an example of the code data which rewritten the packet of layers 8 to 16 to the zero packet. 符号再圧縮回路と符号化・復号化器との組み合わせの一例を示す図である。It is a figure which shows an example of the combination of a code recompression circuit and an encoder / decoder.

符号の説明Explanation of symbols

1 画像データ
2 符号データ
3 再圧縮符号データ
10 色変換部
11 DWT部
12 量子化器
13 係数モデリング部
14 MQ符号化器
15 符号形成部
20 パケット
21 パケットヘッダー
22 エントロピー符号データ(パケットデータ)
31 メインヘッダーマーカー(SOC)
32 メインヘッダーマーカーセグメント
33 タイルパートヘッダーマーカー(SOT)
34 タイルパートヘッダーマーカーセグメント
35 SODマーカー
36 ビットストリーム
37 EOCマーカー
40 メインヘッダー
41 タイルパートヘッダー
50 符号化・復号化器
51 前・後処理部
52 DWT/IDWT
53 エントロピー符号・復号化部
54 符号構成部
55 PLL回路
56 CPUI/F部
56 ワークメモリ
57 ヘッダー処理部
60 符号量カウント部
61 カウンター
62 デコーダー
63 累加算器
64 符号量カウント部レジスタ
70 レイヤ選択回路
71 比較器
72 プライオリティエンコーダー
73 符号再圧縮回路
75 マルチプレクサ
76 加算器
77 レイヤ選択回路レジスタ
78 レイヤ決定回路
81 ヘッダーデコード部
82 バッファ
83 ヘッダー書き替え部
DESCRIPTION OF SYMBOLS 1 Image data 2 Code data 3 Recompressed code data 10 Color conversion part 11 DWT part 12 Quantizer 13 Coefficient modeling part 14 MQ encoder 15 Code formation part 20 Packet 21 Packet header 22 Entropy code data (packet data)
31 Main header marker (SOC)
32 Main Header Marker Segment 33 Tile Part Header Marker (SOT)
34 Tile Part Header Marker Segment 35 SOD Marker 36 Bit Stream 37 EOC Marker 40 Main Header 41 Tile Part Header 50 Encoder / Decoder 51 Pre / Post Processing Unit 52 DWT / IDWT
53 Entropy Coding / Decoding Unit 54 Code Configuration Unit 55 PLL Circuit 56 CPU I / F Unit 56 Work Memory 57 Header Processing Unit 60 Code Amount Counting Unit 61 Counter 62 Decoder 63 Accumulator 64 Code Amount Counting Unit Register 70 Layer Selection Circuit 71 Comparator 72 Priority encoder 73 Code recompression circuit 75 Multiplexer 76 Adder 77 Layer selection circuit register 78 Layer determination circuit 81 Header decoding unit 82 Buffer 83 Header rewriting unit

Claims (6)

周波数領域の画像データを、複数の部分画像データに分割し、該部分画像データのビットプレーンにおける符号化パスごとに圧縮符号化し、所定数の符号化パスによりレイヤを構成する符号データを、該レイヤごとの符号データ量に基づいて再圧縮する画像処理装置であって、
前記レイヤごとの符号データ量を最上位レイヤから積算していき、積算された符号データ量が、所定の量を超えない範囲のレイヤを選択するレイヤ選択手段と、
前記レイヤ選択手段により選択されたレイヤよりも下位のレイヤの符号データを破棄又はゼロにすることによってデータ量を圧縮するデータ量圧縮手段とを有し、
前記積算されたレイヤごとの符号データ量の値を、再圧縮した符号データのヘッダー情報に格納することを特徴とする画像処理装置。
The frequency domain image data is divided into a plurality of partial image data, compressed and encoded for each encoding pass in the bit plane of the partial image data, and the code data constituting a layer by a predetermined number of encoding passes An image processing apparatus that recompresses based on the amount of code data for each,
A layer selection means for accumulating the code data amount for each layer from the highest layer, and selecting a layer in a range where the accumulated code data amount does not exceed a predetermined amount;
Have a data amount compressing means for compressing the data amount by the discard or zero the sign data of the lower layer than the layer selected by the layer selection section,
The accumulated value of the code data amount for each layer is stored in header information of the recompressed code data .
前記符号データを復号化する符号データ復号化手段を有し、
前記データ量圧縮手段は、ヘッダーをデコードするヘッダーデコード手段を有し、
前記符号データ復号化手段は、前記ヘッダーデコード手段から出力されたヘッダー情報を用いて復号化することを特徴とする請求項1記載の画像処理装置。
Code data decoding means for decoding the code data;
The data amount compression means includes header decoding means for decoding a header,
The image processing apparatus according to claim 1, wherein the code data decoding unit decodes using the header information output from the header decoding unit.
JPEG2000が規定する符号化及び/又は復号化の処理を行うことを特徴とする請求項1又は2記載の画像処理装置。 The image processing apparatus according to claim 1 or 2 , wherein encoding and / or decoding processing defined by JPEG2000 is performed. 周波数領域の画像データを、複数の部分画像データに分割し、該部分画像データのビットプレーンにおける符号化パスごとに圧縮符号化し、所定数の符号化パスによりレイヤを構成する符号データを、該レイヤごとの符号データ量に基づいて再圧縮する画像処理方法であって、
前記レイヤごとの符号データ量を最上位レイヤから積算していき、積算された符号データ量が、所定の量を超えない範囲のレイヤを選択するレイヤ選択ステップと、
前記レイヤ選択手段により選択されたレイヤよりも下位のレイヤの符号データを破棄又はゼロにすることによってデータ量を圧縮するデータ量圧縮ステップとを有し、
前記積算されたレイヤごとの符号データ量の値を、再圧縮した符号データのヘッダー情報に格納することを特徴とする画像処理方法。
The frequency domain image data is divided into a plurality of partial image data, compressed and encoded for each encoding pass in the bit plane of the partial image data, and the code data constituting a layer by a predetermined number of encoding passes An image processing method for recompressing based on the amount of code data for each,
A layer selection step of accumulating the code data amount for each layer from the highest layer, and selecting a layer in a range where the accumulated code data amount does not exceed a predetermined amount;
Have a data amount compression step of compressing the data amount by the discard or zero the sign data of the lower layer than the layer selected by the layer selection section,
The integrated code data amount value for each layer is stored in header information of recompressed code data .
前記符号データを復号化する符号データ復号化ステップを有し、
前記データ量圧縮ステップは、ヘッダーをデコードするヘッダーデコードステップを有し、
前記符号データ復号化ステップは、前記ヘッダーデコードステップから出力されたヘッダー情報を用いて復号化することを特徴とする請求項記載の画像処理方法。
A code data decoding step for decoding the code data;
The data amount compression step includes a header decoding step for decoding a header,
5. The image processing method according to claim 4, wherein the code data decoding step uses the header information output from the header decoding step for decoding.
JPEG2000が規定する符号化及び/又は復号化の処理を行うことを特徴とする請求項4又は5記載の画像処理方法。 6. The image processing method according to claim 4 , wherein encoding and / or decoding processing defined by JPEG2000 is performed.
JP2007096759A 2007-04-02 2007-04-02 Image processing apparatus and image processing method Expired - Fee Related JP4532518B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007096759A JP4532518B2 (en) 2007-04-02 2007-04-02 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007096759A JP4532518B2 (en) 2007-04-02 2007-04-02 Image processing apparatus and image processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002242549A Division JP4166530B2 (en) 2002-08-22 2002-08-22 Image processing device

Publications (2)

Publication Number Publication Date
JP2007251968A JP2007251968A (en) 2007-09-27
JP4532518B2 true JP4532518B2 (en) 2010-08-25

Family

ID=38595715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007096759A Expired - Fee Related JP4532518B2 (en) 2007-04-02 2007-04-02 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP4532518B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5359302B2 (en) * 2008-03-18 2013-12-04 ソニー株式会社 Information processing apparatus and method, and program
JP4656190B2 (en) * 2008-06-10 2011-03-23 ソニー株式会社 Information processing apparatus and method
JP4697557B2 (en) * 2009-01-07 2011-06-08 ソニー株式会社 Encoding apparatus, encoding method, recording medium, and image processing apparatus
JP7215229B2 (en) * 2019-03-01 2023-01-31 日本電信電話株式会社 Video quality estimation device, video quality estimation method and program
WO2021035715A1 (en) * 2019-08-30 2021-03-04 深圳市大疆创新科技有限公司 Data processing method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002084540A (en) * 2000-06-28 2002-03-22 Canon Inc Device and method for processing image, electronic camera and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002084540A (en) * 2000-06-28 2002-03-22 Canon Inc Device and method for processing image, electronic camera and program

Also Published As

Publication number Publication date
JP2007251968A (en) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4254017B2 (en) Image coding apparatus and method
JP4656190B2 (en) Information processing apparatus and method
US7778473B2 (en) Image processing apparatus and image processing method
JP4780172B2 (en) Information processing apparatus and method
JP2004228717A (en) Image processing method, image processing apparatus, electronic camera apparatus, program, and recording medium
JP5469127B2 (en) Image data encoding apparatus, operation control method thereof, and program thereof
JP2004088425A (en) Code converting apparatus, code converting method, program, and storage medium
JP4532518B2 (en) Image processing apparatus and image processing method
JP2004248152A (en) Image compressor, image decompressor, image compressing metod, image decompressing metod, program, and recording medium
US20050036695A1 (en) Image processing apparatus, image processing method, and storage medium
JP5950157B2 (en) Image processing apparatus and method, and program
JP4449400B2 (en) Image encoding apparatus and method, program, and recording medium
JP4135617B2 (en) Image coding apparatus and method
JP4111259B2 (en) Encoding apparatus, encoding method, software program, table data, and recording medium
JP4166530B2 (en) Image processing device
JP2005039793A (en) Image encoding device, program, and storage medium
JP4917724B2 (en) Decoding method, decoding apparatus, and image processing apparatus
JP5817125B2 (en) Image processing apparatus and method
JP4111761B2 (en) Image processing device
JP5081663B2 (en) Encoding device, code conversion device, code expansion device, encoding method, code conversion method, and code expansion method
JP2004064115A (en) Code amount control apparatus and program
JP4055994B2 (en) Image processing apparatus, image processing method, program, and recording medium
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method
JP4703921B2 (en) Image processing device
JP4040404B2 (en) Code string conversion apparatus and method, image processing apparatus, and image recording apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091002

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100610

R150 Certificate of patent or registration of utility model

Ref document number: 4532518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees