JP2010016684A - Encoding apparatus, encoding method and encoding program - Google Patents

Encoding apparatus, encoding method and encoding program Download PDF

Info

Publication number
JP2010016684A
JP2010016684A JP2008175734A JP2008175734A JP2010016684A JP 2010016684 A JP2010016684 A JP 2010016684A JP 2008175734 A JP2008175734 A JP 2008175734A JP 2008175734 A JP2008175734 A JP 2008175734A JP 2010016684 A JP2010016684 A JP 2010016684A
Authority
JP
Japan
Prior art keywords
encoding
constraint condition
solution
predetermined
unit
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.)
Granted
Application number
JP2008175734A
Other languages
Japanese (ja)
Other versions
JP4883455B2 (en
Inventor
Shigeki Miyake
茂樹 三宅
Mitsuru Maruyama
充 丸山
Hirosuke Yamamoto
博資 山本
Junya Honda
淳也 本多
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.)
Nippon Telegraph and Telephone Corp
University of Tokyo NUC
Original Assignee
Nippon Telegraph and Telephone Corp
University of Tokyo NUC
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 Nippon Telegraph and Telephone Corp, University of Tokyo NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008175734A priority Critical patent/JP4883455B2/en
Publication of JP2010016684A publication Critical patent/JP2010016684A/en
Application granted granted Critical
Publication of JP4883455B2 publication Critical patent/JP4883455B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To encode data utilizing solutions that have been discarded as an error in solutions obtained by solving an optimization problem using a principal algorithm. <P>SOLUTION: When an output from the principal algorithm (a solution) is inputted, a sweep out part identifies a row index (IndX) in a parity inspection matrix corresponding to an indefinite solution part that does not satisfy a parity inspection condition among outputs from the principal algorithm (solutions) using a sweep out method and stores it in a predetermined storage part. For each of indefinite solutions corresponding to the indefinite solution part, a quantizing part calculates a quantization value through a quantization operation performed with predetermined criteria. For indexes in the parity inspection matrix corresponding to the indefinite solution part, a solving part substitutes the respective quantization values calculated by the quantizing part to k simultaneous linear equations with n variables representing the parity inspection condition to result in the k simultaneous linear equations with k variables, solves the k simultaneous linear equations with the k variables, and calculates a solution x<SP>n</SP>that satisfies the parity inspection condition. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、符号化装置、符号化方法および符号化プログラムに関する。   The present invention relates to an encoding device, an encoding method, and an encoding program.

従来より、通信技術分野などにおいて、文字や画像、音声などのデータを少ないビット数で効率的に圧縮し、大容量のデータを格納したり、転送したりすることを目的として、文字や画像、音声などのデータを符号化する符号化技術が存在する(例えば、非特許文献1参照)。   Conventionally, in the field of communication technology, characters, images, voice, and other data are efficiently compressed with a small number of bits to store or transfer large amounts of data. There is an encoding technique for encoding data such as speech (see Non-Patent Document 1, for example).

上述した符号化技術では、例えば、有限体F={0,1}上で、以下の(1)式に示す最適化問題(以下、適宜、「最適化問題」と記載する)を解いて得られる解の中から、所定の拘束条件を満足するものを最適値として選択し、データを圧縮するための符号として利用するのが一般的である。 In the encoding technique described above, for example, an optimization problem represented by the following expression (1) (hereinafter referred to as “optimization problem” as appropriate) is solved on a finite field F 2 = {0, 1}. In general, a solution satisfying a predetermined constraint condition is selected as an optimum value from the obtained solutions and used as a code for compressing data.

しかし、最適化問題を厳密に解くためには指数オーダーの計算量が必要となって効率的ではないので、sum−product法やLP緩和法などのアルゴリズム(以下、適宜、「既存アルゴリズム」と記載する)を用いて、最適化問題を近似的に解く方法が提案されている。   However, in order to solve the optimization problem strictly, an exponential order calculation amount is required, which is not efficient. Therefore, algorithms such as the sum-product method and the LP relaxation method (hereinafter referred to as “existing algorithm” as appropriate). A method for approximating the optimization problem using the above is proposed.

Figure 2010016684
Figure 2010016684

なお、上記(1)内の「Xn(=X1,・・・,n)」は、確率分布PXに従い、独立同分布で出現する確率変数であり、「A」は、n行k列の行列であり、「c」は、1行k列の横ベクトルである。 Note that “X n (= X 1,..., X n )” in the above (1) is a random variable that appears in the same independent distribution according to the probability distribution P X , and “A” is n rows. It is a matrix of k columns, and “c” is a horizontal vector of 1 row and k columns.

和田山 正,「低密度パリティ検査符号とその復号法」,トリケップス,2002”Tadashi Wadayama, “Low-density parity check code and its decoding method”, Trikes, 2002 ”

しかしながら、既存アルゴリズムを用いて最適化問題を解いて得られる解の中で、所定の拘束条件(パリティ検査条件)を満足しない解については、エラーとして処理されて捨てられていたという問題点があった。   However, among the solutions obtained by solving the optimization problem using the existing algorithm, a solution that does not satisfy the predetermined constraint condition (parity check condition) is processed as an error and discarded. It was.

すなわち、エラーとして処理されて利用されない解の中には、所定の拘束条件(パリティ検査条件)を満足する最適値にほど遠くなく、利用価値のあるものが存在する。   That is, some solutions that are processed as errors and are not used are not far from an optimum value that satisfies a predetermined constraint condition (parity check condition), and are valuable.

したがって、エラーとして処理されて利用されない解を利用して、所定の拘束条件を満足するような解を導き出す方法が求められている。   Therefore, there is a need for a method of deriving a solution that satisfies a predetermined constraint condition using a solution that is processed as an error and is not used.

そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、既存アルゴリズムを用いて最適化問題を解いて得られる解の中で、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することが可能な符号化装置、符号化方法および符号化プログラムを提供することを目的とする。   Therefore, the present invention has been made to solve the above-described problems of the prior art, and has been processed as an error and discarded among solutions obtained by solving an optimization problem using an existing algorithm. Another object of the present invention is to provide an encoding device, an encoding method, and an encoding program capable of encoding data by utilizing the solution.

上述した課題を解決し、目的を達成するため、本発明は、データを符号化する符号化装置であって、符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化手段と、前記符号化手段により前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定手段と、前記拘束条件判定手段により前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出手段と、前記不定部分導出手段により導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出手段と、前記量子化値算出手段により算出された各量子化値と前記不定部分を構成する各要素値とを入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合値算出手段と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention is an encoding device that encodes data, and the encoding target data is stored in the storage unit that stores the encoding target data to be encoded. And encoding means for encoding the encoding target data using a predetermined algorithm, and an encoding result obtained by encoding the encoding target data by the encoding means satisfies a predetermined constraint condition A constraint condition determining unit that determines whether or not the encoding result is determined not to satisfy the predetermined constraint condition when the encoding result is determined not to satisfy the predetermined constraint condition. An indeterminate part deriving means for deriving an indeterminate part in the conversion result from the predetermined constraint condition, and each of the element values constituting the indeterminate part derived by the indeterminate part deriving means Quantized value calculating means for calculating each quantized quantized value, each quantized value calculated by the quantized value calculating means and each element value constituting the indeterminate portion are exchanged, and the predetermined value And an appropriate value calculating means for calculating an appropriate value that satisfies the constraint condition (1).

また、本発明は、データを符号化する符号化方法であって、符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化ステップと、前記符号化ステップにより前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定ステップと、前記拘束条件判定ステップにより前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出ステップと、前記不定部分導出ステップにより導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出ステップと、前記量子化値算出ステップにより算出された各量子化値と前記不定部分を構成する各出力値と入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合算出ステップと、を含んだことを特徴とする。   Further, the present invention is an encoding method for encoding data, and reads the encoding target data from a storage unit that stores the encoding target data to be encoded, and sets the encoding target data to a predetermined value. An encoding step for encoding using the algorithm of: a constraint condition determining step for determining whether or not an encoding result obtained by encoding the data to be encoded by the encoding step satisfies a predetermined constraint condition; When the encoding result is determined not to satisfy the predetermined constraint condition in the constraint condition determination step, an indefinite portion in the encoding result that does not satisfy the predetermined constraint condition is determined as the predetermined constraint. Quantifying on a predetermined basis for each of the indeterminate part derivation step derived from the condition and each element value constituting the indeterminate part derived by the indeterminate part derivation step A quantized value calculating step for calculating each quantized value, and each quantized value calculated in the quantized value calculating step and each output value constituting the indeterminate portion are replaced to satisfy the predetermined constraint condition And a fitness calculation step for calculating a fitness value.

また、本発明は、データを符号化する処理をコンピュータに実行させる符号化プログラムであって、符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化手順と、前記符号化手順により前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定手順と、前記拘束条件判定手順により前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出手順と、前記不定部分導出手順により導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出手順と、前記量子化値算出手順により算出された各量子化値と前記不定部分を構成する各要素値と入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合値算出手順と、をコンピュータに実行させることを特徴とする。   Further, the present invention is an encoding program for causing a computer to execute a process for encoding data, reading the encoding target data from a storage unit that stores the encoding target data to be encoded, and An encoding procedure for encoding data to be encoded using a predetermined algorithm, and determining whether or not an encoding result obtained by encoding the data to be encoded by the encoding procedure satisfies a predetermined constraint condition If the encoding result is determined not to satisfy the predetermined constraint condition by the constraint condition determination procedure to be performed and the constraint condition determination procedure, an indefinite in the encoding result that does not satisfy the predetermined constraint condition For each of the indeterminate part derivation procedure for deriving a part from the predetermined constraint condition and the element values constituting the indeterminate part derived by the indeterminate part derivation procedure Quantized value calculation procedures for calculating quasi-quantized quantized values respectively, and replacing each quantized value calculated by the quantized value calculating procedure with each element value constituting the indeterminate portion, And a fitness value calculation procedure for calculating a fitness value that satisfies the constraint conditions.

本発明によれば、既存アルゴリズムを用いて最適化問題を解いて得られる解の中で、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することができるという効果を奏する。   Advantageous Effects of Invention According to the present invention, there is an effect that data can be encoded using a solution that has been processed as an error and discarded, among solutions obtained by solving an optimization problem using an existing algorithm. .

以下に添付図面を参照して、この発明に係る符号化装置、符号化方法および符号化プログラムの実施例を詳細に説明する。なお、以下では、本発明に係る符号化装置の骨子、本発明に係る符号化装置の構成および処理を順に説明し、最後に実施例1による効果を説明する。   Exemplary embodiments of an encoding device, an encoding method, and an encoding program according to the present invention will be described below in detail with reference to the accompanying drawings. In the following, the outline of the encoding device according to the present invention, the configuration and processing of the encoding device according to the present invention will be described in order, and finally the effects of the first embodiment will be described.

[用語の説明]
以下の実施例1で用いる主要な用語について説明する。以下の実施例1に登場する共通パラメータ内の「n×k行列:A」は、行列要素が“0”または“1”からなるパリティ検査行列であり、パリティ検査条件を構成する。
[Explanation of terms]
The main terms used in Example 1 below will be described. “N × k matrix: A” in the common parameters appearing in the first embodiment below is a parity check matrix whose matrix elements are “0” or “1”, and constitutes a parity check condition.

また、以下の実施例1に登場する共通パラメータ内の「1×kベクトル:c」は、要素が“0”または“1”からなる定ベクトルであり、予め任意に与えられる。   Further, “1 × k vector: c” in the common parameters appearing in the first embodiment below is a constant vector whose elements are “0” or “1”, and is arbitrarily given in advance.

また、以下の実施例1にパラメータとして登場する「確率分布:P」は、有限体F={0,1}上の確率分布を表し、例えば、「P 」は、n個の独立同分布系列に対する確立分布を表す。 In addition, “probability distribution: P X ” appearing as a parameter in Example 1 below represents a probability distribution on a finite field F 2 = {0, 1}. For example, “P X n ” includes n pieces of probability distributions. Represents a probability distribution for an independent distribution series.

また、以下の実施例1で説明する主アルゴリズムからの出力「z」は、情報源に格納されている各種データ(文字や画像、音声など)について最適化問題(上記(1)式参照)を近似的に解いて得られた解(符号)であり、出力「z」を構成する各要素z
1≦i≦n)が0≦z≦1を満足するものとする。
In addition, the output “z n ” from the main algorithm described in the first embodiment is an optimization problem for various data (characters, images, sounds, etc.) stored in the information source (see the above formula (1)). approximately solved resulting solution to a (reference), the output "z n" elements z i constituting the (
1 ≦ i ≦ n) satisfies 0 ≦ z i ≦ 1.

また、以下の実施例1で登場する「q(z)A=c」(あるいは、「xA=c」:n変数のk連立一次方程式)は、主アルゴリズムからの出力「z」が満足すべきパリティ検査条件(上記(1)に示す最適化問題の拘束条件)であり、「q(z)」は、主アルゴリズムからの出力「z」を構成する各要素z(1≦i≦n)を所定の基準(主アルゴリズムに依存する)で“0”または“1”に量子化したものを表す。 In addition, “q (z n ) A = c” (or “x n A = c”: k simultaneous linear equations with n variables) appearing in Example 1 below is an output “z n ” from the main algorithm. Is a parity check condition to be satisfied (constraint condition of the optimization problem shown in the above (1)), and “q (z n )” is each element z i (which constitutes the output “z n ” from the main algorithm). 1 ≦ i ≦ n) is quantized to “0” or “1” according to a predetermined standard (depending on the main algorithm).

また、以下の実施例1で登場する「x」は、実施例1に係る符号化装置の最終出力を表し、“0”または“1”の要素からなる。 In addition, “x n ” appearing in the following first embodiment represents the final output of the encoding apparatus according to the first embodiment, and includes “0” or “1” elements.

[符号化装置の骨子(実施例1)]
まず、図1および図2を用いて、実施例1に係る符号化装置の骨子を説明する。図1は、実施例1に係る符号化装置のアルゴリズムの全体像を示す図である。図2は、実施例1に係る補助アルゴリズムの構成を示す図である。
[Outline of Encoding Device (Example 1)]
First, the gist of the encoding apparatus according to the first embodiment will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram illustrating an overall image of the algorithm of the encoding device according to the first embodiment. FIG. 2 is a diagram illustrating the configuration of the auxiliary algorithm according to the first embodiment.

実施例1に係る符号化装置は、情報源に格納されている各種データ(文字や画像、音声など)を効率的に圧縮することを目的として、主アルゴリズム(既存アルゴリズム)を用いて最適化問題を解いて得られる解により、各種データを符号化することを概要とする。   The encoding apparatus according to the first embodiment uses the main algorithm (existing algorithm) for the purpose of efficiently compressing various data (characters, images, sounds, etc.) stored in the information source. The outline is to encode various data with the solution obtained by solving the above.

そして、実施例1に係る符号化装置の骨子は、主アルゴリズムを用いて最適化問題を解いて得られる解の中で、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することができる点にある。   The essence of the encoding apparatus according to the first embodiment is to encode data using a solution that is processed as an error and thrown away among solutions obtained by solving an optimization problem using the main algorithm. There is a point that can be done.

具体的には、実施例1に係る符号化装置は、図1に示すように、各パラメータを用いて、最適化問題(上記(1)式参照)を近似的に解く主アルゴリズムにより得られた解がパリティ検査条件を満足しなかった場合に、主アルゴリズムにより得られた解について処理を行う補助アルゴリズムにより、実施例1に係る符号化装置の骨子を実現する。   Specifically, as shown in FIG. 1, the encoding apparatus according to the first embodiment is obtained by a main algorithm that approximately solves an optimization problem (see the above formula (1)) using each parameter. When the solution does not satisfy the parity check condition, the essence of the encoding apparatus according to the first embodiment is realized by an auxiliary algorithm that performs processing on the solution obtained by the main algorithm.

具体的に説明すると、実施例1に係る符号化装置の補助アルゴリズムは、図2に示すように、掃出し部と、量子化部と、求解部とから構成される。   Specifically, as shown in FIG. 2, the auxiliary algorithm of the encoding apparatus according to the first embodiment includes a sweeping unit, a quantizing unit, and a solution finding unit.

そして、実施例1に係る符号化装置において、主アルゴリズムからの出力(解)が、パリティ検査条件を表すn変数のk連立一次方程式(「xA=c」)を満足するか否かを判定する。 Then, in the encoding device according to the first embodiment, whether or not the output (solution) from the main algorithm satisfies the k simultaneous linear equations (“x n A = c”) of n variables representing the parity check condition. judge.

実施例1に係る符号化装置において、判定の結果、例えば、n>kであることを原因として、主アルゴリズムからの出力(解)が、パリティ検査条件を満足しないものと判定された場合には、主アルゴリズムからの出力(解)が補助アルゴリズムへ出力される。   In the encoding apparatus according to the first embodiment, when it is determined that the output (solution) from the main algorithm does not satisfy the parity check condition due to the determination result, for example, n> k. The output (solution) from the main algorithm is output to the auxiliary algorithm.

そこで、上記補助アルゴリズムの掃出し部は、主アルゴリズムからの出力(解)を入力すると、主アルゴリズムからの出力(解)の中で、パリティ検査条件を満足しない不定解部分に対応するパリティ検査行列内の行インデックス(IndX)を掃出し法を用いて特定し、所定の記憶部に格納する(図2の(1)参照)。   Therefore, when the output from the main algorithm (solution) is input to the sweeping unit of the auxiliary algorithm, in the parity check matrix corresponding to the indefinite solution part that does not satisfy the parity check condition in the output (solution) from the main algorithm. The row index (IndX) is specified using the sweep method and stored in a predetermined storage unit (see (1) in FIG. 2).

次に、上記補助アルゴリズムの量子化部は、主アルゴリズムからの出力(解)の中で、パリティ検査条件を満足しない不定解部分に対応する各不定解について、所定の基準で行われる量子化演算により量子化値をそれぞれ算出する(図2の(2)参照)。   Next, the quantization unit of the auxiliary algorithm performs a quantization operation performed on a predetermined basis for each indefinite solution corresponding to the indefinite solution part that does not satisfy the parity check condition in the output (solution) from the main algorithm. The quantized values are respectively calculated by (see (2) in FIG. 2).

続いて、上記補助アルゴリズムの求解部は、主アルゴリズムからの出力(解)の中で、パリティ検査条件を満足しない不定解部分に対応するインデックスについて、上記の量子化部により算出された量子化値をパリティ検査条件を表すn変数のk連立一次方程式にそれぞれ代入してk変数のk連立一次方程式に帰着させ、k変数のk連立一次連立方程式を解いて、パリティ検査条件を満足する解xを算出する(図2の(3)参照)。 Subsequently, the solution calculation unit of the auxiliary algorithm uses the quantization value calculated by the quantization unit for the index corresponding to the indefinite solution part that does not satisfy the parity check condition in the output (solution) from the main algorithm. Are substituted into k simultaneous linear equations of n variables representing parity check conditions, respectively, and are reduced to k simultaneous linear equations of k variables, and a solution x n satisfying the parity check conditions is solved by solving the k simultaneous linear simultaneous equations of k variables. Is calculated (see (3) in FIG. 2).

実施例1に係る符号化装置は、上記の求解部により算出された解xによりデータを符号化する。 The encoding apparatus according to the first embodiment encodes data with the solution xn calculated by the solution finding unit.

このようなことから、実施例1に係る符号化装置は、主アルゴリズムを用いて最適化問題を解いて得られる解の中で、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することができる。   For this reason, the encoding apparatus according to the first embodiment uses the solution that has been processed as an error and discarded, among the solutions obtained by solving the optimization problem using the main algorithm. Can be encoded.

[符号化装置の構成(実施例1)]
次に、図3および図4を用いて、実施例1に係る符号化装置の構成を説明する。図3は、実施例1に係る符号化装置の適用例を示す図である。図4は、実施例1に係る符号化装置の構成を示す図である。
[Configuration of Encoding Device (Example 1)]
Next, the configuration of the encoding apparatus according to the first embodiment will be described with reference to FIGS. 3 and 4. FIG. 3 is a diagram illustrating an application example of the encoding apparatus according to the first embodiment. FIG. 4 is a diagram illustrating the configuration of the encoding device according to the first embodiment.

図3に示すように、実施例1に係る符号化装置は、例えば、情報源に格納されているデータ(文字や画像など)を符号化部により符号化した符号化データを、通信路を介して復号化装置に送信する。   As illustrated in FIG. 3, the encoding apparatus according to the first embodiment, for example, transmits encoded data obtained by encoding data (characters, images, and the like) stored in an information source by an encoding unit via a communication path. To the decoding device.

符号化装置から符号化データを受信した復号化装置では、復号化部によって符号化データを復号することによりデータを取得する。   In the decoding device that has received the encoded data from the encoding device, the decoding unit decodes the encoded data to acquire data.

上述した符号化装置は、例えば、図4に示すように、情報記憶部100と、最適化実行部200と、補助符号化部300とを有する。   The encoding apparatus described above includes, for example, an information storage unit 100, an optimization execution unit 200, and an auxiliary encoding unit 300 as illustrated in FIG.

情報記憶部100は、文字や画像、音声などの各種データを記憶する記憶部である。   The information storage unit 100 is a storage unit that stores various data such as characters, images, and sounds.

最適化実行部200は、情報記憶部100に記憶されている各種データを符号化するために、例えば、sum−product法やLP緩和法などの既存の主アルゴリズムを用いて最適化問題(上記(1)式参照)を近似的に解く処理部である。   In order to encode various data stored in the information storage unit 100, the optimization execution unit 200 uses an existing main algorithm such as a sum-product method or an LP relaxation method (for example, ( This is a processing unit that approximates 1).

最適化実行部200は、計算結果である出力zを後述する補助符号化部300に出力する。 The optimization execution unit 200 outputs an output z n that is a calculation result to the auxiliary encoding unit 300 described later.

補助符号化部300は、最適化実行部200から入力した出力zが、パリティ検査条件を満足しなかった場合に、最適化実行部200から入力した出力zについて処理を行う処理部である。 Auxiliary coding part 300, the output z n input from the optimization execution unit 200, when not satisfied parity check condition is the processing unit that performs processing for output z n input from the optimization execution unit 200 .

そして、補助符号化部300は、例えば、図4に示すように、行列係数記憶部310と、出力判定部320と、掃出し演算処理部330と、行インデックス記憶部340と、量子化演算部350と、求解演算部360とを有する。   For example, as shown in FIG. 4, the auxiliary encoding unit 300 includes a matrix coefficient storage unit 310, an output determination unit 320, a sweep calculation processing unit 330, a row index storage unit 340, and a quantization calculation unit 350. And a solution calculation unit 360.

なお、出力判定部320は、特許請求の範囲に記載の「拘束条件判定手段」に対応し、掃出し演算処理部330は、同じく特許請求の範囲に記載の「不定部分導出手段」に対応し、量子化演算部350は、同じく特許請求の範囲に記載の「量子化値算出手段」に対応し、求解演算部360は、同じく特許請求の範囲に記載の「適合値算出手段」に対応する。   The output determination unit 320 corresponds to the “constraint condition determination unit” described in the claims, and the sweep calculation processing unit 330 corresponds to the “undefined part derivation unit” described in the claims, The quantization operation unit 350 corresponds to the “quantized value calculation unit” described in the claims, and the solution calculation unit 360 corresponds to the “adaptation value calculation unit” described in the claims.

行列係数記憶部310は、パリティ検査行列Aの行列係数を記憶する記憶部である。   The matrix coefficient storage unit 310 is a storage unit that stores matrix coefficients of the parity check matrix A.

出力判定部320は、最適化実行部200から入力した出力zを所定の基準で“0”もしくは“1”に量子化した後、量子化された値が、パリティ検査条件(「xA=c」)を満足するか否かを判定する処理部である。 The output determination unit 320 quantizes the output z n input from the optimization execution unit 200 to “0” or “1” according to a predetermined reference, and the quantized value is converted into a parity check condition (“x n A = C ").

具体的には、出力判定部320は、最適化実行部200から出力zを入力すると、行列係数記憶部310からパリティ検査行列Aの行列係数を読込んで、パリティ検査条件(n変数のk連立一次方程式:「xA=c」)を算出する。 Specifically, when the output determination unit 320 receives the output z n from the optimization execution unit 200, the output determination unit 320 reads the matrix coefficient of the parity check matrix A from the matrix coefficient storage unit 310 and sets the parity check condition (k variables of n variables). The linear equation: “x n A = c”) is calculated.

そして、出力判定部320は、最適化実行部200から入力した出力zが、パリティ検査条件(n変数のk連立一次方程式:「xA=c」)を満足しないものと判定した場合には、出力zを後述する量子化演算部350に出力する。 When the output determination unit 320 determines that the output z n input from the optimization execution unit 200 does not satisfy the parity check condition (k simultaneous linear equations of n variables: “x n A = c”). Outputs the output z n to the quantization operation unit 350 described later.

一方、出力判定部320は、最適化実行部200から入力した出力zが、パリティ検査条件(「xA=c」)を満足するものと判定した場合には、出力zを最終出力xとして出力する。 On the other hand, when the output determination unit 320 determines that the output z n input from the optimization execution unit 200 satisfies the parity check condition (“x n A = c”), the output z n is finally output. Output as xn .

なお、以下では、便宜上、パリティ検査条件であるn変数のk連立一次方程式、「xA=c」について、以下に示す条件(2)を採用した場合を説明する。 In the following, for convenience, a case where the following condition (2) is adopted for the n-variable k simultaneous linear equations “x n A = c”, which is a parity check condition, will be described.

Figure 2010016684
Figure 2010016684

掃出し演算処理部330は、上記の出力判定部320によって、最適化実行部200から入力した出力zの中に、パリティ検査条件(「xA=c」)を満足しないものと判定された場合に、パリティ検査条件(「xA=c」)を満足しない不定解部分に対応するパリティ検査条件(「xA=c」)内の行インデックスを特定するための掃出し演算処理を行う処理部である。 The sweep calculation processing unit 330 is determined by the output determination unit 320 that the output z n input from the optimization execution unit 200 does not satisfy the parity check condition (“x n A = c”). when, performing the parity check condition ( "x n a = c") sweep arithmetic processing for specifying the row index in the parity check condition corresponding to the undefined solution portion is not satisfied ( "x n a = c") the It is a processing unit.

具体的には、掃出し演算処理部330は、行列係数記憶部310から行列係数を読込んで、例えば、上記の条件(2)に示すパリティ検査行列Aを生成し、生成したパリティ検査行列Aの列基本変形を実行する。列基本変形後のパリティ検査行列は、以下に示す行列(3)となる。   Specifically, the sweep calculation processing unit 330 reads matrix coefficients from the matrix coefficient storage unit 310 to generate, for example, the parity check matrix A shown in the above condition (2), and generates a column of the generated parity check matrix A Perform basic deformation. The parity check matrix after column basic modification is matrix (3) shown below.

Figure 2010016684
Figure 2010016684

そして、掃出し演算処理部330は、列基本変形後のパリティ検査行列(上記の行列(3)参照)から、k(=3)次元の単位ベクトルを与える行を除いた残りの行のインデックスを、パリティ検査条件(「xA=c」)を満足しない不定解部分に対応するパリティ検査条件内の行インデックス(IndX)として特定し、行インデックス記憶部340に格納する。 Then, the sweep calculation processing unit 330 calculates the indexes of the remaining rows by excluding the row giving the k (= 3) -dimensional unit vector from the parity check matrix after the column basic deformation (see the matrix (3) above). It is specified as a row index (IndX) in the parity check condition corresponding to an indefinite solution part that does not satisfy the parity check condition (“x n A = c”), and is stored in the row index storage unit 340.

例えば、掃出し演算処理部330は、上記の条件(2)の時、パリティ検査条件(「xA=c」)を満足しない不定解部分に対応するインデックス(IndX)として、IndX={2,3}(2行目、3行目)を行インデックス記憶部340に格納する。 For example, when the above condition (2) is satisfied, the sweep calculation processing unit 330 sets IndX = {2, as an index (IndX) corresponding to an indefinite solution part that does not satisfy the parity check condition (“x n A = c”). 3} (second row, third row) is stored in the row index storage unit 340.

行インデックス記憶部340は、不定解部分のインデックス(IndX)を記憶する記憶部であり、例えば、掃出し演算処理部330から格納されたIndX={2,3}を不定解部分に対応するパリティ検査条件内のインデックス(IndX)として記憶する。   The row index storage unit 340 is a storage unit that stores an indefinite solution part index (IndX). For example, IndX = {2, 3} stored from the sweep calculation processing unit 330 is a parity check corresponding to the indefinite solution part. Store as an index (IndX) within the condition.

量子化演算部350は、最適化実行部200から入力した出力zの中で、パリティ検査条件(「xA=c」)を満足しない不定解部分について、所定の基準で量子化演算を行って、量子化値を算出する処理部である。 The quantization operation unit 350 performs the quantization operation on the indefinite solution part that does not satisfy the parity check condition (“x n A = c”) in the output z n input from the optimization execution unit 200 according to a predetermined criterion. It is a processing unit that performs a quantization value calculation.

具体的には、量子化演算部350は、最適化実行部200から出力zを入力すると、パリティ検査条件(「xA=c」)を満足しない出力zの不定解部分(z)について、以下に示す基準(4)で量子化演算を行い、量子化値Q(z)を算出して、求解演算部360に出力する。 Specifically, when the output z n is input from the optimization execution unit 200, the quantization calculation unit 350 receives an indefinite solution portion (z i ) of the output z n that does not satisfy the parity check condition (“x n A = c”). ) Is quantized according to the following criterion (4), a quantized value Q (z i ) is calculated and output to the solution calculation unit 360.

Figure 2010016684
Figure 2010016684

求解演算部360は、パリティ検査条件(「xA=c」)を満足しない出力zの不定解部分(z)について量子化演算を実行して求められた量子化値を量子化演算部350から入力して、パリティ検査条件(「xA=c」)を満足する解xを算出する処理部である。 The solution calculation unit 360 performs a quantization operation on the quantization value obtained by performing the quantization operation on the indefinite solution part (z i ) of the output z n that does not satisfy the parity check condition (“x n A = c”). This is a processing unit that calculates a solution x n that is input from the unit 350 and satisfies the parity check condition (“x n A = c”).

具体的には、求解演算部360は、量子化演算部350から量子化値を入力すると、行インデックス記憶部340から読込んだ行インデックス(IndX={2,3})に基づいて、不定解部分に対応するパリティ検査条件を表す方程式「xA=c」内の値、x(i∈IndX={2,3})に量子化値Q(z)を代入する。 More specifically, when the quantized value is input from the quantization calculating unit 350, the solution calculating unit 360 receives an indefinite solution based on the row index (IndX = {2, 3}) read from the row index storage unit 340. The quantized value Q (z i ) is substituted for the value in the equation “x n A = c” representing the parity check condition corresponding to the portion, x i (i∈IndX = {2, 3}).

そして、求解演算部360は、x(i∈IndX={2,3})に量子化値Q(z)を代入後、パリティ検査条件を表す方程式「xA=c」を展開して、k(=3)変数のk(=3)連立一次方程式を解くことにより、パリティ検査条件(「xA=c」)を満足する解xを算出する。 Then, the solution calculation unit 360 assigns the quantized value Q (z i ) to x i (iεIndX = {2, 3}), and then develops the equation “x n A = c” representing the parity check condition. Then, a solution x n satisfying the parity check condition (“x n A = c”) is calculated by solving the k (= 3) simultaneous linear equations of the k (= 3) variable.

上記条件(2)の時に、求解演算部360が解くべき方程式は、以下の(5)式のようになる。   Under the condition (2), the equation to be solved by the solution calculation unit 360 is as shown in the following equation (5).

Figure 2010016684
Figure 2010016684

[符号化装置の処理(実施例1)]
続いて、図5を用いて、実施例1に係る符号化装置の処理を説明する。図5は、実施例1に係る符号化装置の処理の流れを示す図である。
[Processing of Encoding Device (Example 1)]
Subsequently, the processing of the encoding apparatus according to the first embodiment will be described with reference to FIG. FIG. 5 is a diagram illustrating a process flow of the encoding device according to the first embodiment.

同図に示すように、出力判定部320は、最適化実行部200から入力した出力zが、パリティ検査条件(「xA=c」)を満足するか否かを判定する(ステップS501)。 As shown in the figure, the output determining unit 320 determines whether or not the output z n input from the optimization executing unit 200 satisfies the parity check condition (“x n A = c”) (step S501). ).

判定の結果、出力判定部320は、最適化実行部200から入力した出力zが、パリティ検査条件(n変数のk連立一次方程式:「xA=c」)を満足しないものと判定した場合には(ステップS501否定)、出力zを量子化演算部350に出力する。 As a result of the determination, the output determination unit 320 determines that the output z n input from the optimization execution unit 200 does not satisfy the parity check condition (k simultaneous linear equations of n variables: “x n A = c”). In such a case (No at step S501), the output z n is output to the quantization calculation unit 350.

掃出し演算処理部330は、上記の出力判定部320によって、最適化実行部200から入力した出力zの中に、パリティ検査条件(「xA=c」)を満足しない不定解部分が存在するものと判定された場合に、不定解部分に対応するパリティ検査条件(「xA=c」)内のインデックスを特定するための掃出し演算処理を行う(ステップS502)。 The sweep calculation processing unit 330 includes an indefinite solution portion that does not satisfy the parity check condition (“x n A = c”) in the output z n input from the optimization execution unit 200 by the output determination unit 320. If it is determined to be performed, a sweep calculation process for specifying an index in the parity check condition (“x n A = c”) corresponding to the indefinite solution portion is performed (step S502).

具体的には、掃出し演算処理部330は、行列係数記憶部310から行列係数を読込んで、パリティ検査行列A(上記の条件(2)参照)を生成し、生成したパリティ検査行列Aの列基本変形を実行する。   Specifically, the sweep calculation processing unit 330 reads a matrix coefficient from the matrix coefficient storage unit 310, generates a parity check matrix A (see the above condition (2)), and generates a column base of the generated parity check matrix A Perform the transformation.

そして、掃出し演算処理部330は、列基本変形後のパリティ検査行列(上記の行列(3)参照)から、k(=3)次元の単位ベクトルを与える行を除いた残りの行のインデックスを、不定解部分に対応するパリティ検査条件内のインデックス(IndX)として特定し、行インデックス記憶部340に格納する。   Then, the sweep calculation processing unit 330 calculates the indexes of the remaining rows by excluding the row giving the k (= 3) -dimensional unit vector from the parity check matrix after the column basic deformation (see the matrix (3) above). The index (IndX) in the parity check condition corresponding to the indefinite solution part is specified and stored in the row index storage unit 340.

例えば、掃出し演算処理部330は、上記の条件(2)の時、パリティ検査条件(「xA=c」)を満足しない不定解部分に対応するインデックス(IndX)として、IndX={2,3}(2行目、3行目)を行インデックス記憶部340に格納する。 For example, when the above condition (2) is satisfied, the sweep calculation processing unit 330 sets IndX = {2, as an index (IndX) corresponding to an indefinite solution part that does not satisfy the parity check condition (“x n A = c”). 3} (second row, third row) is stored in the row index storage unit 340.

量子化演算部350は、最適化実行部200から入力した出力zの中で、パリティ検査条件(「xA=c」)を満足しない不定解部分について、所定の基準で量子化演算を行って、量子化値を算出する(ステップS503)。 The quantization operation unit 350 performs the quantization operation on the indefinite solution part that does not satisfy the parity check condition (“x n A = c”) in the output z n input from the optimization execution unit 200 according to a predetermined criterion. The quantized value is calculated (step S503).

具体的には、量子化演算部350は、最適化実行部200から出力zを入力すると、パリティ検査条件(「xA=c」)を満足しない出力zの不定解部分(z)について、所定の基準(上記の基準(4)参照)で量子化演算を行い、量子化値Q(z)を算出して、求解演算部360に出力する。 Specifically, when the output z n is input from the optimization execution unit 200, the quantization calculation unit 350 receives an indefinite solution portion (z i ) of the output z n that does not satisfy the parity check condition (“x n A = c”). ) Is quantized according to a predetermined criterion (see the above criterion (4)), a quantized value Q (z i ) is calculated and output to the solution calculating unit 360.

求解演算部360は、パリティ検査条件(「xA=c」)を満足しない出力zの不定解部分(z)について量子化演算を実行して求められた量子化値を量子化演算部350から入力して、パリティ検査条件(「xA=c」)を満足する解xを算出する(ステップS504)。 The solution calculation unit 360 performs a quantization operation on the quantization value obtained by performing the quantization operation on the indefinite solution part (z i ) of the output z n that does not satisfy the parity check condition (“x n A = c”). The solution x n that is input from the unit 350 and satisfies the parity check condition (“x n A = c”) is calculated (step S504).

具体的には、求解演算部360は、量子化演算部350から量子化値を入力すると、行インデックス記憶部340から読込んだ行インデックス(IndX={2,3})に基づいて、不定解部分に対応するパリティ検査条件を表す方程式「xA=c」内の値、x(i∈IndX={2,3})に量子化値Q(z)を代入する。 More specifically, when the quantized value is input from the quantization calculating unit 350, the solution calculating unit 360 receives an indefinite solution based on the row index (IndX = {2, 3}) read from the row index storage unit 340. The quantized value Q (z i ) is substituted for the value in the equation “x n A = c” representing the parity check condition corresponding to the portion, x i (i∈IndX = {2, 3}).

そして、求解演算部360は、x(i∈IndX={2,3})に量子化値Q(z)を代入後、パリティ検査条件を表す方程式「xA=c」を展開して、k(=3)変数のk(=3)連立一次方程式を解くことにより、パリティ検査条件(「xA=c」)を満足する解xを算出する。 Then, the solution calculation unit 360 assigns the quantized value Q (z i ) to x i (iεIndX = {2, 3}), and then develops the equation “x n A = c” representing the parity check condition. Then, a solution x n satisfying the parity check condition (“x n A = c”) is calculated by solving the k (= 3) simultaneous linear equations of the k (= 3) variable.

求解演算部360は、算出した解xを最終出力として出力し(ステップS505)、符号化装置は処理を終了する。 The solution calculation unit 360 outputs the calculated solution xn as a final output (step S505), and the encoding apparatus ends the process.

ここで、ステップS501の説明に戻ると、出力判定部320は、判定の結果、最適化実行部200から入力した出力zが、パリティ検査条件(n変数のk連立一次方程式:「xA=c」)を満足するものと判定した場合には(ステップS501肯定)、出力zを最終出力xとして出力し(ステップS506)、符号化装置は処理を終了する。 Here, returning to the description of step S501, the output determination unit 320 determines that the output z n input from the optimization execution unit 200 as a result of the determination is a parity check condition (k simultaneous linear equations of n variables: “x n A = c ") if it is determined as to satisfy the (Yes at step S501), and outputs the output z n as the final output x n (step S506), the encoding device ends the process.

[実施例1による効果]
上述してきたように、実施例1によれば、最適化実行部200からの出力(解)がパリティ検査条件を満足しなかった場合に、最適化実行部200からの出力(解)の中で、パリティ検査条件を満足しない不定解部分を量子化した値を用いて、補助符号化部300によりパリティ検査条件を満足する解を算出するので、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することができるという効果を奏する。
[Effects of Example 1]
As described above, according to the first embodiment, when the output (solution) from the optimization execution unit 200 does not satisfy the parity check condition, the output (solution) from the optimization execution unit 200 Since the auxiliary encoding unit 300 calculates a solution that satisfies the parity check condition using a value obtained by quantizing the indefinite solution part that does not satisfy the parity check condition, the solution that has been processed as an error and discarded is used. Thus, there is an effect that the data can be encoded.

また、上記の実施例1で説明した補助符号化部300の処理(例えば、図5参照)を、既存技術である有歪み情報源符号化方式(S.Miyake, J.Marumatsu,“Construction of lossy code using LDPC matrices,”Proc. 2007 IEEE Int. Symp. Inform Theory, pp.1106-1110,2007 参照)に同様に適用することもできる。   In addition, the processing of the auxiliary encoding unit 300 described in the first embodiment (see, for example, FIG. 5) is performed using a distortion information source encoding method (S.Miyake, J.Marumatsu, “Construction of lossy”) that is an existing technology. code using LDPC matrices, "Proc. 2007 IEEE Int. Symp. Inform Theory, pp. 1106-1110, 2007)).

例えば、有歪み情報源符号化方式において、LP緩和法(J. Feldman, Decoding Error-Correcting Codes via Linear Programming, PhD dissertation, Massachusetts Institute of Technology,2003 参照)を用いて情報減を符号化して得られる出力に対して、上記の実施例1で説明した補助符号化部300の処理を同様に適用することにより、パリティ検査条件に適合した最終出力を得ることができる。   For example, in a distorted information source coding scheme, it is obtained by encoding information reduction using the LP relaxation method (see J. Feldman, Decoding Error-Correcting Codes via Linear Programming, PhD dissertation, Massachusetts Institute of Technology, 2003) By applying the processing of the auxiliary encoding unit 300 described in the first embodiment to the output in the same manner, a final output that meets the parity check condition can be obtained.

さて、これまで本発明の符号化装置の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。   Although the embodiments of the encoding apparatus of the present invention have been described so far, the present invention may be implemented in various different forms other than the above-described embodiments. Therefore, another embodiment included in the present invention will be described below.

(1)装置構成等
図4に示した符号化装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
(1) Device Configuration, etc. Each component of the encoding device shown in FIG. 4 is functionally conceptual and does not necessarily need to be physically configured as illustrated.

すなわち、図4に示す符号化装置の分散・統合の具体的形態は図示のものに限られず、例えば、補助符号化部300の出力判定部320と、量子化演算部350と、求解演算部360とを統合した一つの処理機能部とするなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   That is, the specific form of distribution / integration of the encoding device shown in FIG. 4 is not limited to that shown in the figure. For example, the output determination unit 320 of the auxiliary encoding unit 300, the quantization calculation unit 350, and the solution calculation calculation unit 360 All or a part of it, such as a single processing function unit, can be configured functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. it can.

さらに、図4に示す符号化装置にて行なわれる各処理機能(例えば、図5参照)は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。   Furthermore, each processing function (see, for example, FIG. 5) performed by the encoding device shown in FIG. 4 is realized by a CPU and a program that is analyzed and executed by the CPU. Alternatively, it can be realized as hardware by wired logic.

(2)符号化プログラム
また、上記の実施例1で説明した符号化装置の各種の処理(例えば、図5等参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。
(2) Encoding program Various processes of the encoding apparatus described in the first embodiment (for example, see FIG. 5 and the like) are executed by a computer system such as a personal computer or a workstation. Can be realized.

そこで、以下では、図6を用いて、上記の実施例1で説明した符号化装置(補助符号化部300)と同様の機能を有する符号化プログラムを実行するコンピュータの一例を説明する。図6は、符号化プログラムを実行するコンピュータを示す図である。   In the following, an example of a computer that executes an encoding program having the same function as that of the encoding apparatus (auxiliary encoding unit 300) described in the first embodiment will be described with reference to FIG. FIG. 6 is a diagram illustrating a computer that executes an encoding program.

同図に示すように、符号化装置(補助符号化部300)としてコンピュータ400は、入力部410、出力部420、HDD430、RAM440およびCPU450をバス500で接続して構成される。   As shown in the figure, a computer 400 as an encoding device (auxiliary encoding unit 300) is configured by connecting an input unit 410, an output unit 420, an HDD 430, a RAM 440 and a CPU 450 via a bus 500.

ここで、入力部410は、ユーザから各種データの入力を受け付ける。出力部420は、各種情報を表示する。HDD430は、CPU450による各種処理の実行に必要な情報を記憶する。RAM440は、各種情報を一時的に記憶する。CPU450は、各種演算処理を実行する。   Here, the input unit 410 receives input of various data from the user. The output unit 420 displays various information. The HDD 430 stores information necessary for the CPU 450 to execute various processes. The RAM 440 temporarily stores various information. The CPU 450 executes various arithmetic processes.

そして、HDD430には、図6に示すように、上記の実施例1に示した符号化装置(補助符号化部300)の各処理部と同様の機能を発揮する符号化プログラム431と、符号化処理用データ432とがあらかじめ記憶されている。   As shown in FIG. 6, the HDD 430 includes an encoding program 431 that exhibits the same function as each processing unit of the encoding apparatus (auxiliary encoding unit 300) described in the first embodiment, and an encoding Processing data 432 is stored in advance.

なお、この符号化プログラム431を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。   Note that the encoding program 431 may be appropriately distributed and stored in a storage unit of another computer that is communicably connected via a network.

そして、CPU450が、この符号化プログラム431をHDD430から読み出してRAM440に展開することにより、図6に示すように、符号化プログラム431は符号化プロセス441として機能するようになる。   Then, the CPU 450 reads out the encoding program 431 from the HDD 430 and develops it in the RAM 440, so that the encoding program 431 functions as an encoding process 441 as shown in FIG.

そして、符号化プロセス441は、符号化処理用データ432等をHDD430から読み出して、RAM440において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。   Then, the encoding process 441 reads the encoding process data 432 and the like from the HDD 430, expands them in the area allocated to itself in the RAM 440, and executes various processes based on the expanded data and the like.

なお、符号化プロセス441は、図4に示した符号化装置が有する補助符号化部300の出力判定部320、掃出し演算処理部330、量子化演算部350および求解演算部360等において実行される処理にそれぞれ対応する。   Note that the encoding process 441 is executed by the output determination unit 320, the sweep calculation processing unit 330, the quantization calculation unit 350, the solution calculation calculation unit 360, and the like of the auxiliary encoding unit 300 included in the encoding device illustrated in FIG. It corresponds to each processing.

なお、上記した符号化プログラム431については、必ずしも最初からHDD430に記憶させておく必要はなく、例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ400に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ400がこれらから各プログラムを読み出して実行するようにしてもよい。   Note that the above-described encoding program 431 is not necessarily stored in the HDD 430 from the beginning. For example, a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC inserted into the computer 400, and the like. Each program is stored in a “portable physical medium” such as a card, and “another computer (or server)” connected to the computer 400 via a public line, the Internet, a LAN, a WAN, or the like. The computer 400 may read and execute each program from these.

(3)符号化方法
上記の実施例1で説明した符号化装置(補助符号化部300)により、以下のような符号化方法が実現される。
(3) Coding method The following coding method is realized by the coding apparatus (auxiliary coding unit 300) described in the first embodiment.

すなわち、符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化ステップと、符号化ステップにより符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定ステップと(例えば、図5のステップS501参照)、所定の拘束条件を満足しない不定部分が符号化結果の中に存在するものと拘束条件判定ステップにより判定された場合には、所定の拘束条件から前記不定部分を導出する不定部分導出ステップと(例えば、図5のステップS502参照)、不定部分導出ステップにより決定された不定部分を構成する各出力値について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出ステップと(例えば、図5のステップS503参照)、量子化値算出ステップにより算出された各量子化値と不定部分を構成する各出力値と入れ替えて、所定の拘束条件を満足するような出力値を算出する出力値算出ステップと(例えば、図5のステップS504参照)、を含んだ符号化方法が実現される。   That is, an encoding step of reading the encoding target data from a storage unit that stores the encoding target data to be encoded, and encoding the encoding target data using a predetermined algorithm, and an encoding step And a constraint condition determination step for determining whether or not an encoding result obtained by encoding the data to be encoded satisfies a predetermined constraint condition (see, for example, step S501 in FIG. 5), and does not satisfy the predetermined constraint condition When it is determined by the constraint condition determination step that an indeterminate part exists in the encoding result, an indeterminate part derivation step for deriving the indeterminate part from a predetermined constraint condition (see, for example, step S502 in FIG. 5) ), For each output value constituting the indeterminate part determined in the indeterminate part derivation step, calculate a quantized value quantized according to a predetermined criterion The quantized value calculation step (see, for example, step S503 in FIG. 5) is replaced with each quantized value calculated in the quantized value calculating step and each output value constituting the indeterminate portion to satisfy a predetermined constraint condition. An encoding method including an output value calculating step for calculating such an output value (see, for example, step S504 in FIG. 5) is realized.

以上のように、本発明に係る符号化装置、符号化方法および符号化プログラムは、情報源に格納されている各種データ(文字や画像、音声など)を効率的に圧縮することを目的として、主アルゴリズム(既存アルゴリズム)を用いて最適化問題を解いて得られる解により、各種データを符号化することに有用であり、特に、主アルゴリズムを用いて最適化問題を解いて得られる解の中で、エラーとして処理されて捨て去られていた解を活かしてデータを符号化することに適する。   As described above, the encoding device, the encoding method, and the encoding program according to the present invention are for the purpose of efficiently compressing various data (characters, images, sounds, etc.) stored in an information source. It is useful for encoding various data with solutions obtained by solving optimization problems using the main algorithm (existing algorithm). Especially, among the solutions obtained by solving optimization problems using the main algorithm Therefore, it is suitable for encoding data using the solution that has been processed as an error and discarded.

実施例1に係る符号化装置のアルゴリズムの全体像を示す図である。It is a figure which shows the whole image of the algorithm of the encoding apparatus which concerns on Example 1. FIG. 実施例1に係る補助アルゴリズムの構成を示す図である。It is a figure which shows the structure of the auxiliary | assistant algorithm which concerns on Example 1. FIG. 実施例1に係る符号化装置の適用例を示す図である。FIG. 3 is a diagram illustrating an application example of the encoding device according to the first embodiment. 実施例1に係る符号化装置の構成を示す図である。1 is a diagram illustrating a configuration of an encoding apparatus according to a first embodiment. 実施例1に係る符号化装置の処理の流れを示す図である。It is a figure which shows the flow of a process of the encoding apparatus which concerns on Example 1. FIG. 符号化プログラムを実行するコンピュータを示す図である。It is a figure which shows the computer which performs an encoding program.

符号の説明Explanation of symbols

100 情報記憶部
200 最適化実行部
300 補助符号化部
310 行列係数記憶部
320 出力判定部
330 掃出し演算処理部
340 行インデックス記憶部
350 量子化演算部
360 求解演算部
400 コンピュータ(符号化装置(補助符号化部))
410 入力部
420 出力部
430 HDD(Hard Disk Drive)
431 符号化プログラム
432 符号化処理用データ
440 RAM(Random Access Memory)
441 符号化プロセス
450 CPU(Central Processing Unit)
500 バス
DESCRIPTION OF SYMBOLS 100 Information memory | storage part 200 Optimization execution part 300 Auxiliary encoding part 310 Matrix coefficient memory | storage part 320 Output determination part 330 Sweep arithmetic processing part 340 Row index memory | storage part 350 Quantization arithmetic part 360 Solving calculation part 400 Computer (encoding apparatus (auxiliary Encoding part))
410 Input unit 420 Output unit 430 HDD (Hard Disk Drive)
431 Encoding program 432 Encoding processing data 440 RAM (Random Access Memory)
441 Encoding process 450 CPU (Central Processing Unit)
500 buses

Claims (4)

データを符号化する符号化装置であって、
符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化手段と、
前記符号化手段により前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定手段と、
前記拘束条件判定手段により前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出手段と、
前記不定部分導出手段により導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出手段と、
前記量子化値算出手段により算出された各量子化値と前記不定部分を構成する各要素値とを入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合値算出手段と、
を備えたことを特徴とする符号化装置。
An encoding device for encoding data,
An encoding unit that reads the encoding target data from a storage unit that stores the encoding target data to be encoded, and encodes the encoding target data using a predetermined algorithm;
Constraint condition determination means for determining whether or not an encoding result obtained by encoding the data to be encoded by the encoding means satisfies a predetermined constraint condition;
If it is determined by the constraint condition determination means that the encoding result does not satisfy the predetermined constraint condition, an indefinite portion in the encoding result that does not satisfy the predetermined constraint condition is determined as the predetermined constraint condition. An indeterminate part deriving means derived from
Quantized value calculating means for calculating a quantized value quantized according to a predetermined standard for each of the element values constituting the indeterminate part derived by the indeterminate part deriving means;
Replacing each quantized value calculated by the quantized value calculating means with each element value constituting the indeterminate portion, and adapted value calculating means for calculating an adapted value that satisfies the predetermined constraint condition;
An encoding device comprising:
前記符号化手段は、最尤推定を近似するアルゴリズムを用いて前記符号化対象データを符号化した符号化結果である解を前記拘束条件判定手段に出力し、
前記拘束条件判定手段は、前記符号化手段から入力した前記解が前記所定の拘束条件を表す方程式を満足しているか否かを判定し、
前記不定部分導出手段は、前記符号化手段から入力した前記解が前記所定の拘束条件を表す方程式を満足しないものと前記拘束条件判定手段により判定された場合には、当該方程式を構成する検査行列を変形して、当該方程式を満足しない前記解の不定解部分に対応するパリティ検査行列内の行インデックスを導出し、
前記量子化値算出手段は、前記不定部分導出手段により導出された前記行インデックスに対応する解を所定の基準で量子化した量子化値をそれぞれ算出し、
前記算出手段は、前記量子化値算出手段により算出された各量子化値と前記行インデックスに対応する解とを入れ替えて、前記所定の拘束条件を表す方程式を満足するような解を算出することを特徴とする請求項1に記載の符号化装置。
The encoding means outputs a solution that is an encoding result obtained by encoding the encoding target data using an algorithm that approximates maximum likelihood estimation to the constraint condition determination means,
The constraint condition determination means determines whether or not the solution input from the encoding means satisfies an equation representing the predetermined constraint condition,
The indeterminate part deriving unit, when the constraint condition determining unit determines that the solution input from the encoding unit does not satisfy the equation representing the predetermined constraint condition, a check matrix constituting the equation To derive a row index in the parity check matrix corresponding to the indefinite solution portion of the solution that does not satisfy the equation,
The quantized value calculating means calculates a quantized value obtained by quantizing a solution corresponding to the row index derived by the indeterminate portion deriving means according to a predetermined criterion;
The calculating means replaces each quantized value calculated by the quantized value calculating means with a solution corresponding to the row index, and calculates a solution satisfying an equation representing the predetermined constraint condition. The encoding device according to claim 1.
データを符号化する符号化方法であって、
符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化ステップと、
前記符号化ステップにより前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定ステップと、
前記拘束条件判定ステップにより前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出ステップと、
前記不定部分導出ステップにより導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出ステップと、
前記量子化値算出ステップにより算出された各量子化値と前記不定部分を構成する各出力値と入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合値算出ステップと、
を含んだことを特徴とする符号化方法。
An encoding method for encoding data, comprising:
An encoding step of reading the encoding target data from a storage unit that stores the encoding target data to be encoded, and encoding the encoding target data using a predetermined algorithm;
A constraint condition determining step for determining whether or not an encoding result obtained by encoding the data to be encoded in the encoding step satisfies a predetermined constraint condition;
If it is determined in the constraint condition determination step that the encoding result does not satisfy the predetermined constraint condition, an indefinite portion in the encoding result that does not satisfy the predetermined constraint condition is determined as the predetermined constraint condition. An indeterminate part derivation step derived from
A quantized value calculating step for calculating a quantized value quantized according to a predetermined criterion for each of the element values constituting the indeterminate portion derived by the indeterminate portion deriving step;
An adaptive value calculating step of calculating an adaptive value that satisfies the predetermined constraint condition by replacing each quantized value calculated in the quantized value calculating step with each output value constituting the indeterminate portion;
The encoding method characterized by including.
データを符号化する処理をコンピュータに実行させる符号化プログラムであって、
符号化の対象となる符号化対象データを記憶する記憶部から当該符号化対象データを読込んで、当該符号化対象データを所定のアルゴリズムを用いて符号化する符号化手順と、
前記符号化手順により前記符号化対象データが符号化された符号化結果が所定の拘束条件を満足するか否かを判定する拘束条件判定手順と、
前記拘束条件判定手順により前記符号化結果が前記所定の拘束条件を満足しないものと判定された場合には、当該所定の拘束条件を満足しない当該符号化結果内の不定部分を当該所定の拘束条件から導出する不定部分導出手順と、
前記不定部分導出手順により導出された前記不定部分を構成する要素値の各々について、所定の基準で量子化した量子化値をそれぞれ算出する量子化値算出手順と、
前記量子化値算出手順により算出された各量子化値と前記不定部分を構成する各要素値と入れ替えて、前記所定の拘束条件を満足するような適合値を算出する適合値算出手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
An encoding program for causing a computer to execute a process for encoding data,
An encoding procedure for reading the encoding target data from a storage unit that stores the encoding target data to be encoded, and encoding the encoding target data using a predetermined algorithm;
A constraint condition determination procedure for determining whether an encoding result obtained by encoding the encoding target data by the encoding procedure satisfies a predetermined constraint condition;
When it is determined by the constraint condition determination procedure that the encoding result does not satisfy the predetermined constraint condition, an indefinite portion in the encoding result that does not satisfy the predetermined constraint condition is determined as the predetermined constraint condition. An indeterminate part derivation procedure derived from
A quantized value calculation procedure for calculating a quantized value quantized according to a predetermined standard for each of the element values constituting the indeterminate portion derived by the indeterminate portion derivation procedure;
An adaptive value calculation procedure for calculating an adaptive value that satisfies the predetermined constraint condition by replacing each quantized value calculated by the quantized value calculation procedure with each element value constituting the indeterminate part;
An encoding program for causing a computer to execute.
JP2008175734A 2008-07-04 2008-07-04 Encoding apparatus, encoding method, and encoding program Expired - Fee Related JP4883455B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008175734A JP4883455B2 (en) 2008-07-04 2008-07-04 Encoding apparatus, encoding method, and encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008175734A JP4883455B2 (en) 2008-07-04 2008-07-04 Encoding apparatus, encoding method, and encoding program

Publications (2)

Publication Number Publication Date
JP2010016684A true JP2010016684A (en) 2010-01-21
JP4883455B2 JP4883455B2 (en) 2012-02-22

Family

ID=41702346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008175734A Expired - Fee Related JP4883455B2 (en) 2008-07-04 2008-07-04 Encoding apparatus, encoding method, and encoding program

Country Status (1)

Country Link
JP (1) JP4883455B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012257108A (en) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> Lp decoder and integral solution calculation method and program for linear code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005343A (en) * 2007-06-19 2009-01-08 Mitsubishi Electric Research Laboratories Inc Method and system for decoding symbol sequence received via communication path into codeword of error correcting code
JP2009060288A (en) * 2007-08-30 2009-03-19 Nippon Telegr & Teleph Corp <Ntt> Information transmitting/receiving method, coder, and decoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005343A (en) * 2007-06-19 2009-01-08 Mitsubishi Electric Research Laboratories Inc Method and system for decoding symbol sequence received via communication path into codeword of error correcting code
JP2009060288A (en) * 2007-08-30 2009-03-19 Nippon Telegr & Teleph Corp <Ntt> Information transmitting/receiving method, coder, and decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012257108A (en) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> Lp decoder and integral solution calculation method and program for linear code

Also Published As

Publication number Publication date
JP4883455B2 (en) 2012-02-22

Similar Documents

Publication Publication Date Title
JP7424078B2 (en) Image encoding method and device and image decoding method and device
US6061398A (en) Method of and apparatus for compressing and restoring data
CN111093081B (en) Lossless image compression method and system
CN107832837A (en) A kind of convolutional neural networks compression method and decompression method based on compressed sensing principle
JP2004147318A (en) Ldpc decoding apparatus and method thereof
KR102549617B1 (en) 3d point cloud data encoding/decoding method and apparatus
US9813739B2 (en) Backward adaptation apparatus for applying backward adaptation to probability table at end of processing of frame and related backward adaptation method
JP2002135131A (en) Method and apparatus for performing variable-size vector entropy coding
CN113747163B (en) Image coding and decoding method and compression method based on context recombination modeling
Pal et al. An efficient codebook initialization approach for LBG algorithm
JP2009217583A (en) Apparatus and method for pattern recognition
US8878705B1 (en) Variable bit-length reiterative lossless compression system and method
JP4883455B2 (en) Encoding apparatus, encoding method, and encoding program
CN106537914A (en) Method and apparatus for performing arithmetic coding by limited carry operation
JP4634423B2 (en) Information transmission / reception method, encoding apparatus, and decoding apparatus
JP4455199B2 (en) Adaptive variable length encoding apparatus, adaptive variable length decoding apparatus, adaptive variable length encoding / decoding method, and adaptive variable length encoding / decoding program
JP2020053820A (en) Quantization and encoder creation method, compressor creation method, compressor creation apparatus, and program
JP2010258532A (en) Circuit and method for converting bit length into code
CN106664099B (en) Method for encoding pulse vector using statistical properties
US9407918B2 (en) Apparatus and method for coding image, and non-transitory computer readable medium thereof
TW202036391A (en) Method and processor for decompression of model parameters using functions based upon cumulative count distributions
JP2004120623A (en) Encoding apparatus, encoding method, decoding apparatus and decoding method
US20240078411A1 (en) Information processing system, encoding device, decoding device, model learning device, information processing method, encoding method, decoding method, model learning method, and program storage medium
CN113168590A (en) Lossy significance compression for lossy recovery
JP7183776B2 (en) Encoding apparatus, decoding apparatus, methods and programs thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110114

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

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

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

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4883455

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

LAPS Cancellation because of no payment of annual fees