WO2003071687A1 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
WO2003071687A1
WO2003071687A1 PCT/JP2003/001629 JP0301629W WO03071687A1 WO 2003071687 A1 WO2003071687 A1 WO 2003071687A1 JP 0301629 W JP0301629 W JP 0301629W WO 03071687 A1 WO03071687 A1 WO 03071687A1
Authority
WO
WIPO (PCT)
Prior art keywords
template
vector
pattern
input
difference
Prior art date
Application number
PCT/JP2003/001629
Other languages
English (en)
French (fr)
Inventor
Tadahiro Ohmi
Kenji Mochizuki
Koji Kotani
Original Assignee
Tadahiro Ohmi
Kenji Mochizuki
Koji Kotani
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 Tadahiro Ohmi, Kenji Mochizuki, Koji Kotani filed Critical Tadahiro Ohmi
Priority to EP03705222A priority Critical patent/EP1487112A4/en
Priority to US10/504,968 priority patent/US20050105816A1/en
Publication of WO2003071687A1 publication Critical patent/WO2003071687A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Definitions

  • the present invention relates to a data processing device for compressing data by vector quantization.
  • Vector quantization is a technique used for data compression processing of image data and audio data, for example.
  • image data corresponding to each block of a predetermined size for example, 4 ⁇ 4 pixels
  • each image data is converted into 4 pixels. If it is a block of X 4 pixels, it is treated as a 16-dimensional input vector.
  • several pixel patterns (template vectors) having the same size as the block from which the image data is to be extracted are prepared in advance.
  • the input vector is compared with the template vector, and a template vector most similar to the input vector is found from among the plurality of template vectors. Specifically, the distance between the input vector data and the template vector data is calculated for each template vector data, and as a result, the template vector with the smallest distance has the highest similarity. And thus, in the vector quantization, image data compression is performed by quantizing the input vector using the template vector.
  • betattles One way to solve this problem is to use the features of betattles and reduce the amount of computation in betattle quantization.
  • This method uses the characteristics of the input vector. The collected amount is compared with the feature amount of the template vector obtained in advance, and the number of template vectors to be searched (to be subjected to distance calculation) is reduced using the comparison result. As a result, the amount of computation such as distance computation in beta quantization can be reduced, and beta quantization can be accelerated.
  • the template vector data is searched for all template vector data, so that the input vector data and the template vector data are Even if the pattern is clearly different, the distance calculation is performed (started), and there is a problem that a lot of useless calculation is performed.
  • the present invention has been made to solve such a problem, and an object of the present invention is to enable data compression processing using vector quantization to be executed at high speed by hardware. Disclosure of the invention
  • the data processing device of the present invention is a data processing device that outputs information indicating the template pattern most similar to an input pattern from a plurality of template patterns prepared in advance, and searches for a similar template pattern.
  • a first search means for selecting a template pattern for calculating a similarity between the input pattern and the template pattern using the feature amounts of the input pattern and the template pattern, and a first search means
  • a second search means for executing the calculation in a bit serial manner is provided.
  • the second search means executes the operation on the data input by bit serial in the operation unit time, and outputs the operation result for each operation unit time. It is characterized in that it is determined whether or not the similarity is maximized based on this.
  • the first search means reduces the number of template patterns for calculating similarity using the feature amounts of the input pattern and the template pattern
  • the searching means is characterized in that a similarity calculation between the input pattern and the template pattern selected by the first searching means is executed in a bift serial manner, and the number of steps required for the calculation is reduced.
  • the input pattern and the template pattern are one vector data composed of at least one or more elements.
  • the input pattern and the template pattern are composed of at least one or more elements
  • the second search means is configured to determine the similarity between the input pattern and the template pattern.
  • a similarity calculation judging means for judging not to execute.
  • Another feature of the data processing device of the present invention is that the similarity calculating means is
  • Both the template pattern selected by the search means (1) and the input pattern are bit-serial input from the upper digit side of the data for each calculation time unit, and the input data is calculated within the calculation time unit and calculated. It is characterized in that the resulting difference absolute value distance is output in bit serial from the upper digit side.
  • the feature amount is a sum of individual elements constituting the input pattern and the template pattern, and a value of a value that can take a part of the individual elements. It is characterized by being at least one of the sum of the elements after the inversion operation based on the intermediate value.
  • the similarity calculating means is constituted by a semiconductor circuit, the input data is input from the upper digit side by a binary number system, and the output data is redundant. It is characterized by output from the upper digit side using a simple numerical system.
  • the similarity calculation means calculates difference absolute values of elements of the input pattern and the template pattern for each element, and a difference absolute value calculation means. Adding means for adding the difference absolute values for each element calculated by the means, wherein the difference absolute value calculating means is provided by the number of elements of the pattern.
  • the absolute difference calculating means receives data from the upper digit side in a binary number system, calculates the difference value of the input data in a bit serial manner, It is characterized in that it is output from the high-order send side using a number system.
  • the difference absolute value calculating means further stores, as a state, a value other than "0" that first appears in the difference value output by bit serial from the upper digit. And a function of inverting or non-inverting the difference value according to the stored state to calculate the absolute value of the difference.
  • the addition operation unit includes an operation unit. It has a delay means for delaying by the order time, data is input from the upper digit side by a redundant number system, and the operation result is output from the upper digit side by a redundant number system.
  • the second search means includes: holding means for holding a minimum difference absolute value distance between the input pattern and the template pattern; and a minimum value held by the holding means. The difference absolute value distance is input by bit serial from the upper digit side, and the difference absolute value distance obtained by the similarity calculation means for calculating the difference absolute value distance between the input pattern and a template pattern different from the above template pattern.
  • FIG. 1 is a block diagram illustrating a configuration example of a data processing device according to the first embodiment.
  • FIG. 2 is a diagram for explaining a process performed by the first search unit.
  • FIG. 3 is a diagram illustrating another example of the feature amount extraction process performed by the first search unit.
  • FIG. 4 is a diagram illustrating an example of a feature amount extraction process when a plurality of inversion patterns are used.
  • FIG. 5 is a diagram showing the ratio of the number of times of calculating the absolute difference distance when five types of inversion patterns are used.
  • FIG. 6 is a diagram illustrating an example of a circuit block for calculating a difference absolute value distance.
  • FIG. 7 is a diagram illustrating an example of a circuit block of the difference absolute value calculation unit.
  • FIG. 8 is a diagram illustrating an example of a circuit block of the addition operation unit.
  • FIG. 9 is a diagram illustrating an example of a circuit block of an addition operation unit in which the number of input data is expanded to four.
  • FIG. 10 is a diagram illustrating a truth table of each addition unit of the addition operation unit.
  • FIG. 11 is a diagram showing a state transition diagram for finding the minimum value.
  • FIG. 12 is a block diagram illustrating a configuration example of a minimum value search operation unit.
  • FIG. 13 is a flowchart illustrating a process according to the first embodiment.
  • FIG. 14 is a flowchart illustrating a process according to the first embodiment.
  • FIG. 15 is a diagram showing a ratio of the number of times of calculating the absolute difference distance in the second embodiment when five types of inversion patterns are used.
  • a data processing device shows, as an example, a data processing device that implements vector quantization, which is one of pattern matching.
  • vector quantization which is one of pattern matching.
  • the template vector most similar to the input vector is equivalent to the operation to find the template vector with the smallest difference absolute value distance.
  • FIG. 1 is a block diagram showing one configuration example of the data processing device according to the first embodiment of the present invention.
  • a first search unit 110 performs a process for reducing the number of templates to be searched in a pattern matching process (vector quantization). It is constituted by a similarity calculation judging unit 102.
  • the feature value calculation unit 101 calculates a feature value of the input vector using the input vector.
  • the similarity calculation determining unit 102 compares the feature amount of the template vector stored in the feature amount storage unit 104 with the feature amount of the input vector calculated by the feature amount calculating unit 101. Then, it is determined whether or not to execute the similarity calculation (distance calculation).
  • the similarity calculation unit 103 executes similarity calculation (distance calculation) between the input vector and the template vector according to the determination result by the similarity calculation determination unit 102.
  • the feature amount storage unit 104 stores a feature amount of a template vector calculated in advance, and the template storage unit 105 stores a plurality of template vectors. is there.
  • the maximum similarity search unit 106 receives the similarity calculated by the similarity calculation unit 103 and the maximum similarity stored in the maximum similarity storage unit 107 up to the present. Compare. After completing the processing for all template vectors in the template storage unit 105, the address designating unit 108 determines the similarity based on the comparison result in the maximum similarity search unit 106. Outputs the address of the largest template vector (similar to the input vector) as an index.
  • FIG. 2 is a diagram for explaining processing by the first search unit shown in FIG.
  • the feature amount of the input vector and the template vector is the sum of the elements of each vector (predetermined size, for example, the data value of each pixel included in a 4 ⁇ 4 pixel block).
  • predetermined size for example, the data value of each pixel included in a 4 ⁇ 4 pixel block.
  • Equation (1) indicates that the absolute difference distance between the two vectors is greater than the absolute value of the force ⁇ or the absolute value of the difference between the element sums of those vectors. . That is, the method using the above equation (1) is a method of extracting and using the entire density of a block as a feature value.
  • Step 3 Next, to calculate the sum of the second template vector T 2 elements, the difference between the sum of the input base-vector I of elements in the similarity calculation determining unit 1 0 2. Further, the similarity calculation determination unit 102 compares the calculated difference between the sums of the elements and the minimum difference absolute value distance stored in the maximum similarity storage unit 107.
  • the similarity calculation determination unit 102 determines that the difference in the sum of the elements is smaller than the minimum difference absolute value distance, or that the difference between the minimum difference absolute value distance and the sum of the elements is equal. It is determined that the similarity calculation section 103 performs similarity calculation.
  • the similarity calculating unit 1 0 3 calculates the difference component absolute value distance template base vector T 2 and the input base vector I.
  • the maximum similarity search unit 106 compares the difference absolute value distance calculated by the similarity calculation unit 103 with the minimum difference absolute value distance. As a result, if the difference absolute value distance calculated by the similarity calculation unit 103 is smaller than the minimum difference absolute value distance, the index of this template vector is stored, and the similarity calculation unit 103 stores the index. The difference absolute value distance calculated as described above is stored and updated in the maximum similarity storage unit 107 as the minimum difference absolute value distance.
  • the similarity calculation determination unit 102 determines that the similarity calculation unit 103 does not execute the similarity calculation, and determines the difference. Starts the search for the next template vector without performing absolute distance calculation.
  • Step 4 Step 3 is repeated to the end for all template vectors stored in the template storage unit 105.
  • the processing is executed as described above, and the first search unit 110 searches for By selecting the template vector based on the feature amount, the number of matchings between the input vector and the template vector can be reduced.
  • the calculation of the difference of the sum of the elements is performed for all template vectors.
  • the difference absolute value distance operation is an n-dimensional betattle operation. In the case of 2, a large number of n-dimensional vector operations can be omitted by simple scalar operations, and the amount of operations can be reduced.
  • the difference between the sum of the elements of the input vector I and the sum of the elements of the (k-1) th template vector 1 ⁇ — is "53".
  • the absolute difference distance from the template vector Tk-i was "94" (in Fig. 2, it is assumed to be the minimum absolute difference distance for the (k-1) th template vector). I do.
  • the difference between the sum of the elements of the input vector I and the sum of the elements of the k-th template vector T k is “1 8”, and the input vector I and the template vector T k —
  • the difference absolute value distance from i is smaller than “94”, so the difference absolute value distance between input vector I and template vector T k is calculated. Since the calculated difference absolute value distance is "2 1" and smaller than the minimum difference absolute value distance, the minimum difference absolute value distance is updated to "2 1".
  • the difference between the sum of the elements of the input vector I and the sum of the elements of the (k ⁇ 11) th template vector T k + 1 is “42”, and the input vector that is the minimum difference absolute value distance Since the absolute difference distance between I and the template vector T k + 1 is greater than "2 1", the absolute difference distance between the input vector 1 and the template vector T k + 1 must not be calculated. In this way, for the template vector T k + 1 , only a simple one-dimensional scalar operation is executed, and the process moves to the next template vector without executing an n-dimensional vector operation.
  • the sum of the elements of the vector is used as the feature value, but the feature value is not limited to this.
  • a difference between the sum of the inverted elements of the input vector and the template vector as described below may be used as the feature amount.
  • Input vector An inequality such as equation (2) holds between the absolute difference distance between the template vector and the template vector and the difference between the sums of the inverted elements. ⁇ , + ⁇ (255-/-) I (n> m)
  • Expression (2) above shows, as an example, a case where the data value of each pixel is a value in the range of “0” to “255”.
  • inversion means inversion of black and white around an intermediate value. For example, if the data value of each pixel is in the range of "0" to "255", the center value is "127.5", so when inverted, the data value "128” becomes “127” Then, the data value "100” becomes “155”. In the example described below, inversion is performed by subtracting the data value of the inverted pixel (pixel) from "255".
  • the inversion is not performed for all the pixels, but is partially performed.
  • non-inversion is performed for the 0th to mth pixels, and inversion is performed for (m10th) to nth pixels.
  • the numbers need not be serial numbers.
  • the pixel to be inverted must have the same element number in both the input vector and the template vector.
  • the method using the above equation (2) is a method of extracting and using the feature of the luminance change direction in the block.
  • Fig. 3 shows an example of feature value extraction for using the relationship shown in equation (2).
  • a specific inversion pattern is prepared in advance.
  • the inverted pattern is represented by two values, “white” and “black”. The “white” part is non-inverted, and the “black” part is inverted.
  • the feature value calculation unit 101 inverts the pixel corresponding to the input vector inversion using the inversion pattern, and obtains the sum of the elements after the inversion.
  • the template vector is also inverted using a similar inversion pattern, the sum of the elements is obtained, and the sum is stored in the feature amount storage unit 104.
  • the sum of the elements of the input vector after inversion obtained as described above and the The difference from the sum of the elements of the template vector is determined by the similarity calculation determining unit 102.
  • the difference value of the sum of the elements is “1 5 5 2”.
  • the difference absolute value distance between the input vector and the template vector is always “1 5 5 It is equal to or greater than 2 ".
  • FIG. 4 shows an example in which a plurality (five types) of inverted patterns are used.
  • the inversion pattern is represented by two values of “white” and “black”, where “white” is non-inversion and “black” is inversion.
  • the input vector and template vector are inverted using the respective inversion patterns, and the sum of the inverted input vector elements and the inverted template vector elements are inverted.
  • the difference from the total sum of is calculated for each inversion pattern.
  • the absolute difference distance between the input vector and the template vector is equal to or greater than the difference value of the sum of the elements according to the above equation (2). Find the value and use it as the feature value.
  • the maximum value of the difference between the sum of the elements of the input vector after inversion and the sum of the elements of the template vector after inversion is "1252".
  • the difference absolute value distance between the input vector and the template vector is always equal to or larger than "1252".
  • the amount of calculation can be further reduced by increasing the number of inversion patterns used for extracting the feature amount.
  • Figure 5 shows the number of times the calculation was performed on the absolute difference distance between the input vector and the template vector when vector quantization was performed on the two types of still images using five types of inversion patterns.
  • the codebook search rate is expressed as a percentage of the number of template vectors obtained by calculating the absolute difference distance for the number of template vectors stored in the template storage unit 105. Things.
  • the size of the codebook (the total number of template vectors stored in the template storage unit 105) is 24048.
  • vector quantization can significantly reduce the time required for data compression, and can speed up data compression using vector quantization.
  • the similarity is considered as a difference absolute value distance.
  • the calculation of the similarity that is, the difference absolute value distance, is executed by the similarity calculating section 103 shown in FIG.
  • FIG. 6 is an example of a circuit block diagram for calculating a difference absolute value distance.
  • reference numeral 6001 denotes a difference absolute value calculation unit, which calculates a difference absolute value distance for each element of the vector.
  • Reference numeral 62 denotes an addition operation unit, which calculates and outputs the sum of the difference absolute value distances for each element calculated by the difference absolute value operation unit 601.
  • the dimensions of the vector are 16 dimensions, but the present invention is not limited to this, and the number of dimensions can be increased.
  • FIG. 7 is a diagram showing an example of a circuit block of the absolute difference value calculating section 600 shown in FIG.
  • the difference absolute value calculation unit 6001 shown in FIG. 7 inputs data in a bit serial manner from the upper digit side, performs an arithmetic operation within an operation unit time, and outputs the difference absolute value as a calculation result from the upper digit side.
  • the absolute difference calculation unit inputs binary data and outputs the result in binary ternary SD number system.
  • the binary ternary SD number system is a number system that allows "1-1, 0, 1" in each digit and a number system that allows a code set.
  • the difference absolute value calculation unit includes a block for performing the difference calculation and a block for performing the absolute value calculation.
  • the block is composed of two blocks.
  • the difference calculation block 701 performs subtraction for each digit from the upper digit, and outputs the subtraction result for each digit.
  • the result of the subtraction is latched by the temporary storage register 702 and input to the state control block 703.
  • the state control block 703 is a state machine that checks the subtraction result from the most significant digit and sends a sign inversion request signal to the sign inversion block if the first non-zero digit is negative. is there.
  • the absolute value calculation block 704 performs inversion to obtain an absolute value because the difference value is negative.
  • the sign inversion request signal is not output, the data is output through (as is) because the difference value is "0" or positive.
  • the input vector and template vector are input in 16-bit bit serial from the upper digit side, and the calculation unit is The operation is performed in time, and the absolute value of the difference, which is the operation result, can be output bit-serial from the upper digit.
  • the difference absolute value distance can be calculated by adding all the difference absolute values output from the higher-order digit side from the difference absolute-value calculating unit 6001 from the higher-order digit side in the addition calculating unit.
  • a binary ternary SD number system is used.
  • the propagation of the carry signal of the addition operation has a feature that it can be accommodated in a maximum of two digits.
  • FIG. 8 is a diagram showing an example of a circuit block of the addition operation unit shown in FIG.
  • the addition operation unit shown in FIG. 8 inputs data from the upper digit, performs an operation within the operation unit time, and outputs data from the upper digit.
  • a structure using two delay elements internally to refer to information below two digits is adopted. I do.
  • X N and Y N are input data
  • Z N +2 is output data.
  • the addition operation unit shown in FIG. 8 shows a case where the number of input data is two. It is also possible to increase the number of force inputs.
  • FIG. 9 is a diagram illustrating an example of a circuit block of an addition operation unit in which the number of input data is expanded to four. Each adder may be designed so as to satisfy the truth table shown in FIG. By using the addition unit and the absolute value calculation unit with the number of input data expanded to 16, the absolute difference distance between two 16-dimensional vectors can be calculated from the upper digit side . In the binary ternary SD number system, the negative representation of the value can be arbitrarily designed by expressing one digit with several bits. Next, the maximum similarity search unit 106 will be described.
  • the magnitude of the binary ternary SD number system described above can be determined when the numerical value is examined from the upper digit side and a difference of "2" or more appears at a certain digit or more. For two numbers, if one number is greater than the m-th digit by "2", then that number is greater than the other number.
  • FIG. 12 shows a minimum value search operation unit based on the above principle.
  • the sequential circuit 1201 that temporarily holds the state according to the state transition diagram 1201 is a “State Indicator”, and the circuit 1202 for finding the minimum value of the currently viewed digit of the number in the “Smaller” state is a “Minimum value observer”.
  • the circuit that encodes the position of Winner J 1203 is the "Winner observer". According to this palindrome configuration, the number of inputs can be increased freely by preparing a State Indicator "1 201" for each input.
  • “State Indicator” 1 201 is reset to "Smaller" in the initial state.
  • the data to be compared is input serially starting from the most significant digit, and when one is in the rsmallerj state and all the others are in the "Larger” state, the "Winner observer” block 1223 outputs the comparison result and the decision end flag. Output.
  • Addr is the address of the template vector
  • N is the total number of template vectors
  • minA is the address of the template vector of the search candidate
  • min D is the absolute value of the minimum difference.
  • Distance F i is the feature quantity of the input vector
  • F t is the feature quantity of the template vector
  • D is the absolute difference value of the feature quantity
  • D ist is the difference absolute value distance being calculated.
  • One of the methods of vector quantization is to remove the average value of blocks as a process before performing pattern matching.
  • a vector X is divided into its average value m and the residual R from which the average value m has been removed, and pattern matching is performed using the residual R as a new vector.
  • I do. m ⁇ Xi ...... (3)
  • the method of reducing the amount of computation using the relationship shown in the above equation (1) is a method utilizing the large variation in the average value information of the vector. It does not work effectively when the variation in information is uniform.
  • Fig. 15 shows the vector quantum in the block from which the information of the average value has been removed, using the five types of inverted patterns for one or two types of still images by using the calculation omission method according to the first embodiment described above.
  • 9 is a graph showing the ratio of the calculation of the absolute difference value distance when the conversion is performed. Note that in Fig. 13 three codebook sizes are used. ing.
  • the feature amount of the input pattern By using it, the number of templates that need to be matched can be reduced. Also, by performing the operation for matching from the upper digit side, the number of operation cycles can be reduced. By combining the two operation omission processes in this manner, a high operation omission rate can be obtained, and the data compression process using vector quantization can be executed at high speed.
  • the present invention can be applied to a communication system that compresses and transmits image or audio data at high speed and transmits the data, and its transmission device.
  • the data processing device shown in FIG. 1, particularly the first search unit for calculating the similarity is constituted by a semiconductor circuit
  • the present invention does not The present invention is not limited to this, and may be configured by a CPU that executes a program that defines the operation of the data processing device. Further, the processing shown in FIGS. 13 and 14 may be realized by a computer program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

明 細 書 データ処理装置 技 分野
本発明は、べクトル量子化によりデータを圧縮処理するデータ処理装置に関する。 背景技術
従来から、情報処理やマルチメディアの分野では、パターンマッチングと呼ばれ る処理がよく用いられており、その処理の 1つにベタトル量子化がある。ベタトル 量子化は、例えば、画像データや音声データ等のデータ圧縮処理に用いられている 手法である。べクトル量子化を用いた一般的な画像データ圧縮では、 2次元配列の 画像データの中から所定の大きさ (例えば、 4 X 4画素) のブロック毎に対応する 画像データを取り出し、それぞれを 4 X 4画素のブロックであれば 1 6次元の入力 ベタトルとして扱う。 この場合、画像データを取り出すプロックと同じ大きさの画 素パターン (テンプレートベク トル) が予め幾つか用意されている。
そして、入力べク トルとテンプレートべク トルとを比較し、複数のテンプレート べクトルの中から入力べクトルに最も類似したテンプレートべク トルを見つけ出 す。具体的には、入力べク トルデータとテンプレートべクトルデータとの距離演算 をテンプレートべク トルデータ毎に実行し、その結果、距離が最小になるテンプレ 一トべクトルを最も類似度が高いものとする。 このようにして、べクトル量子化で は、テンプレートべクトルを用いて入力べクトルを量子化することにより画像デー タ圧縮を行う。
しかしながら、上述したような従来のベタトル量子化において、画像データや 音声データ等をデータ圧縮処理するには非常に多くの演算を行う必要があり、圧縮 処理に多大な時間を要するという問題があった。
この問題を解決する 1つの方法として、ベタトルの特徴量を利用し、ベタトル量 子化における演算量を減少させる方法があった。 この方法では、入力べクトルの特 徴量と予め求めておいたテンプレートべクトルの特徴量とをそれぞれ比較し、その 比較結果を用いて検索対象とする (距離演算の対象とする)テンプレートべクトル の数を減少させる。 これにより、ベタトル量子化における距離演算等の演算量を減 少させ、 ベタトル量子化を高速化させることができた。
しかしながら、上述したべクトルの特徴量を利用して演算量を減少させる方法に おいて、複数の特徴量を使用する場合には、特徴量保存メモリや特徴量比較回路が 増加し、べクトル量子化の処理を実現するためのハードウエア規模が増加してしま うという問題があった。 また、 逆に、 特徴量の数を少なくすると、 べクトル量子化 における演算の減少量は小さくなり、高い演算省略効果が得られなくなってしまう という問題があった。
また、ベタトル量子化による圧縮処理に多大な時間を要するという問題を解決す る他の方法として、ベタトル量子化における距離演算を上位の桁から行うことで距 離演算に要するステップ数を減少させる方法があった。 この方法では、ベタトル量 子化の処理をハードウェア化する際、上位の桁からデータを入力し、上位の桁から データを出力させる演算回路を、入力べクトルデータとテンプレートべクトルデー タとの距離演算回路として用意する。 これにより、距離演算に基づく最小距離の更 新判定を上位の桁から順次行い、最小距離を更新しないと判断した時点で、距離演 算を停止させることができる。 したがって、ベタトル量子化における距離演算に要 するステップ数を減少させ、 ベタトル量子化を高速ィ匕させることができた。
しかしながら、上述したベタトル量子化における距離演算に要するステツプ数を 減少させる方法では、テンプレートべクトルデータの検索は全てのテンプレートべ クトルデータに対して行うので、入力べクトルデータとテンプレートべクトルデー タとが明らかに異なるパターンであっても、 距離演算を実行 (開始) してしまレ、、 無駄な演算を数多く実行してしまうという問題があった。
本発明は、 このような問題を解決するために成されたものであり、べクトル量子 化を用いたデータの圧縮処理をハードウエアにより高速に実行できるようにする ことを目的とする。 発明の開示
本発明のデータ処理装置は、予め用意された複数のテンプレートパターンの中か ら、入力パターンに最も類似した上記テンプレートパターンを示す情報を出力する データ処理装置であって、類似したテンプレートパターンを検索する際に、上記入 力パターンおよびテンプレートパターンの特徴量を用いて、上記入力パターンとテ ンプレートパターンとの類似度を演算するテンプレートパターンを選択する第 1 の検索手段と、上記第 1の検索手段により選択されたテンプレートパターンと、入 力パターンとの類似度を演算する際に、ビットシリアルで当該演算を実行する第 2 の検索手段とを備えることを特徴とする。
本発明のデータ処理装置の他の特徴とするところは、第 2の検索手段は、 ビット シリアルで入力されたデータに対して演算単位時間で当該演算を実行し、演算単位 時間毎に演算結果に基づいて類似度が最大となるか否かを判定することを特徴と する。
本発明のデータ処理装置のその他の特徴とするところは、 第 1の検索手段は、 入力パターンおよびテンプレートパターンの特徴量を用いて、類似度を演算するテ ンプレートパターン数を削減し、第 2の検索手段は、上記入力パターンと上記第 1 の検索手段にて選択されたテンプレートパターンとの類似度の演算をビフトシリ アルで実行し、 当該演算に要するステップ数を削減することを特徴とする。
本発明のデータ処理装置のその他の特徴とナるところは、入力パターンおよびテ ンプレートパターンは、少なくとも 1つ以上の要素から構成される 1つのべクトル データであることを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、入力パターンおよびテ ンプレートパターンは、少なくとも 1つ以上の要素から構成され、第 2の検索手段 は、上記入力パターンとテンプレートパターンとの類似度として差分絶対値距離を 算出する類似度演算手段を有し、第 1の検索手段は、上記入力パターンの特¾¾量と テンプレートパターンの特徴量との差分絶対値力 当該テンプレートパターンとは 異なるテンプレートパターンと入力パターンとの差分絶対値距離の値以上の場合 には、当該異なるテンプレートパターンと入力パターンとの差分絶対値距離の演算 を実行しないと判定する類似度演算判定手段を有することを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、類似度演算手段は、第
1の検索手段にて選択されたテンプレートパターンぉよぴ入力パターンがともに データの上位桁側から演算時間単位毎にビットシリアルで入力され、入力されたデ →を演算時間単位内で演算し、演算結果である差分絶対値距離を上位桁側からビ ットシリアルで出力することを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、特徴量は、入力パター ンおよびテンプレートパターンを構成する個々の要素の総和、および、個々の要素 のうち一部の要素をとり得る値の中間値を基準として反転操作した後の要素の総 和の少なくとも一方であることを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、類似度演算手段は、半 導体回路により構成され、入力されるデータはバイナリ数系により上位桁側から入 力され、出力するデータは冗長な数系により上位桁側から出力することを特徴とす る。
本発明のデータ処理装置のその他の特徴とするところは、類似度演算手段は、入 力パターンおよびテンプレートパターンの要素の差分絶対値を要素毎に算出する 差分絶対値演算手段と、差分絶対値演算手段により算出された要素毎の差分絶対値 を加算する加算手段とを有し、差分絶対値演算手段は、パターンの要素数分だけ備 えられていることを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、差分絶対値演算手段は、 バイナリ数系により上位桁側からデータが入力され、入力されたデータの差分値を ビットシリアルで演算し、冗長な数系により上位栴側から出力することを特徴とす る。
本発明のデータ処理装置のその他の特徴とするところは、差分絶対値演算手段は、 さらに、 上位桁側からビットシリアルで出力する差分値にて最初現れた " 0 "以外 の数値を状態として記憶し、当該記憶した状態に応じて差分値を反転または非反転 し差分絶対値を演算する機能を有することを特徴とする。
本発明のデータ処理装置のその他の特徴とするところは、加算演算部は、演算単 位時間分だけ遅延する遅延手段を有し、冗長な数系により上位桁側からデータが入 力され、 演算結果を冗長な数系により上位桁側から出力することを特徴とする。 本発明のデータ処理装置のその他の特徴とするところは、第 2の検索手段は、入 力パターンとテンプレートパターンとの最小差分絶対値距離を保持する保持手段 と、保持手段に保持されている最小差分絶対値距離が上位桁側からビットシリアル で入力されるとともに、上記テンプレートパターンとは異なるテンプレートパター ンと入力パターンとの差分絶対値距離を算出する類似度演算手段により求められ た差分絶対値距離が上位桁側からビットシリアルで入力され、入力された差分絶対 値距離を比較演算する比較手段を有し、比較手段による比較にて、上記テンプレー トパターンとは異なるテンプレートパターンと入力パターンとの差分絶対値距離 が、 上記保持手段に保持されている最小差分絶対値距離より大きいと確定した後、 以降の下位桁の演算を中止することを特徴とする。 図面の簡単な説明
図 1は、第 1の実施形態によるデータ処理装置の一構成例を示すプロック図であ る。
図 2は、 第 1の検索部による処理を説明するための図である。
図 3は、 第 1の検索部による特徴量の抽出処理の他の例を示す図である。
図 4は、複数の反転パターンを用いた場合の特徴量の抽出処理の一例を示す図で ある。
図 5は、 5種類の反転パターンを用いた際の差分絶対値距離の演算を実行した回 数の割合を示す図である。
図 6は、 差分絶対値距離を演算する回路プロックの一例を示す図である。
図 7は、 差分絶対値演算部の回路プロックの一例を示す図である。
図 8は、 加算演算部の回路ブロックの一例を示す図である。
図 9は、入力するデータ数を 4つに拡張した加算演算部の回路プロックの一例を 示す図である。
図 1 0は、 加算演算部の各加算部の真理値表を示す図である。 図 1 1は、 最小値を見つけ出すための状態遷移図を示す図である。
図 1 2は、 最小値検索演算部の一構成例を示すブロック図である。
図 1 3は、 第 1の実施形態による処理を示すフローチャートである。
図 1 4は、 第 1の実施形態による処理を示すフローチャートである。
図 1 5は、 5種類の反転パターンを用いた際の第 2の実施形態における差分絶対 値距離の演算を実行した回数の割合を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施形態を図面に基づいて説明する。
以下に説明する本発明の実施形態によるデータ処理装置は、パターンマッチング の 1つであるべクトル量子化を実現するデータ処理装置を一例として示している。 ここで、べクトル量子化において類似度を差分絶対値距離で考えると、入力べクト ルに最も類似したテンプレートべクトルは、差分絶対値距離が最も小さくなるテン プレートべクトルを探し出す操作に相当する。
(第 1の実施形態)
図 1は、本発明の第 1の実施形態によるデータ処理装置の一構成例を示すプロッ ク図である。
図 1において、第 1の検索部 1 1 0は、 パターンマッチング処理(べクトル量子 ィ匕)において検索を行うテンプレート数を減少させるための処理を行うものであり、 特徴量演算部 1 0 1および類似度演算判定部 1 0 2により構成される。特徴量演算 部 1 0 1は、入力べクトルを用いて入力べクトルの特徴量を算出する。類似度演算 判定部 1 0 2は、特徴量記憶部 1 0 4に記憶されているテンプレートべクトルの特 徴量と、特徴量演算部 1 0 1により算出された入力べクトルの特徴量とに基づいて、 類似度演算 (距離演算) を実行するか否かを判定する。
類似度演算部 1 0 3は、類似度演算判定部 1 0 2による判定結果に応じて、入力 ベタトルとテンプレートべク トルとの類似度演算 (距離演算) を実行する。 特徴量 記憶部 1 0 4は、予め算出したテンプレートべクトルの特@ [量を記憶するものであ り、テンプレート記憶部 1 0 5は、複数のテンプレートべクトルを記憶するもので ある。
最大類似度検索部 1 0 6は、類似度演算部 1 0 3により算出された類似度と、最 大類似度記憶部 1 0 7に記憶されている現在までの処理において最大である類似 度とを比較する。アドレス指示部 1 0 8は、テンプレート記憶部 1 0 5内の全ての テンプレートべクトルに対して処理が完了した後、最大類似度検索部 1 0 6での比 較結果に基づいて、類似度が最大であった (入力べクトルに最も類似した) テンプ レートべクトルのァドレスをインデックスとして出力する。
図 2は、 上記図 1に示した第 1の検索部による処理を説明するための図である。 なお、図 2においては、入力べクトルおょぴテンプレートべクトルの特徴量として、 各べクトルの要素(所定の大きさ、例えば 4 X 4画素のブロックに含まれる各画素 のデータ値) の総和を用いた場合の処理について説明する。
ここで、ベタトルの次元を n次元とすると、入力べクトルの要素和とテンプレー トべクトルの要素和との差 (後述する式 ( 1 ) の右辺) と、 入力べクトルとテンプ レートべクトルとの差分絶対値距離 (後述する式 (1 ) の左辺) とには、 以下のよ うな関係が成り立つ。
ΣΙ ·,Ι (1)
/=0 /=0 /=0 上記式 (1 ) において、 i !は入力ベクトル Iのゾ番目の要素であり、 t kl « k番 目のテンプレートべクトル T kの 7番目の要素である。
式 (1 ) は、 2つのべクトル間の差分絶対値距離は、 それらのベタトルの要素和 の差の絶対値に等しい力 \あるいは要素和の差の絶対値より大きいということを示 している。 すなわち、 上記式 (1 ) を用いる方法は、 ブロックの全体の濃さを特徴 量として抽出し用いる方法である。
上記式(1 ) に示した関係を用いたべクトル量子化において、複数のテンプレー トべクトルで構成されるコードプックから入力べクトルに最も類似するテンプレ 一トべクトルを探し出すコードブック検索手順を以下に示す。
(手順 1 ) 予めテンプレートべクトルの要素の総和を全て計算し、特徴量記憶部 1 0 4に記憶しておく。
(手順 2 )入力べクトル Iが与えられたら、特徴量演算部 1 0 1にて入力べクト ル Iの要素の総和を計算する。 そして、 1番目のテンプレートベク トル 1\と入力 べクトル Iとの差分絶対値距離を類似度演算部 1 0 3にて計算し、最大類似度記憶 部 1 0 7に最小差分絶対値距離として記憶する。
(手順 3 ) 次に、 2番目のテンプレートベクトル T 2の要素の総和と、 入力べク トル Iの要素の総和との差を類似度演算判定部 1 0 2にて計算する。 さらに、類似 度演算判定部 1 0 2は、算出した要素の総和の差と、最大類似度記憶部 1 0 7に記 憶されている最小差分絶対値距離とを比較する。
上記比較の結果、類似度演算判定部 1 0 2は、最小差分絶対値距離よりも要素の 総和の差が小さいか、 あるいは、最小差分絶対値距離と要素の総和の差とが等しい 場合には、類似度演算部 1 0 3にて類似度演算を実行すると判定する。上記判定に 従い、 類似度演算部 1 0 3は、 テンプレートべクトル Τ 2と入力べクトル Iとの差 分絶対値距離を計算する。
最大類似度検索部 1 0 6は、類似度演算部 1 0 3にて算出した差分絶対値距離と、 最小差分絶対値距離とを比較する。その結果、類似度演算部 1 0 3にて算出した差 分絶対値距離が最小差分絶対値距離より小さい場合には、このテンプレートべクト ルのインデックスを保存し、類似度演算部 1 0 3にて算出した差分絶対値距離を最 小差分絶対値距離として最大類似度記憶部 1 0 7に記憶し更新する。
一方、類似度演算判定部 1 0 2における比較の結果、最小差分絶対値距離よりも 要素の総和の差が大きい場合、このテンプレートべクトルと入力べクトルとの差分 絶対値距離は最小差分絶対値距離を更新する (最小差分絶対値距離より小さくな る) ことはないため、類似度演算判定部 1 0 2は、類似度演算部 1 0 3にて類似度 演算を実行しないと判定し、差分絶対値距離演算を行わずに次のテンプレートべク トルの検索を開始する。
(手順 4 )以下、手順 3をテンプレート記憶部 1 0 5に記憶されている全てのテン プレートべクトルに対して最後まで繰り返す。
以上のように処理を実行し、第 1の検索部 1 1 0により検索対象となる (マッチ ングすべき) テンプレートべクトルを特徴量に基づいて選択することで、入力べク トルとテンプレートべクトルとのマツチング回数を減少させることができる。ここ で、要素の総和の差分を求める計算は、全てのテンプレートべクトルについて行う が、 1次元のスカラ演算であるのに対し、差分絶対値距離演算は n次元のベタトル 演算であるため、 n≥ 2である場合には、 単なるスカラ演算により n次元のべク ト ル演算を多く省略することができ、 演算量を減らすことができる。
例えば、 図 2に示すように、 入力ベクトル Iの要素の総和と、 (k一 1) 番目の テンプレートべクトル 1^— の要素の総和との差が "53" であり、 入力べクトル Iとテンプレートべクトル Tk— iとの差分絶対値距離が" 94" (図 2においては、 (k— 1)番目までのテンプレートべクトルでの最小差分絶対値距離であると仮定 する。 )であったとする。
このとき、 入力ベクトル Iの要素の総和と、 k番目のテンプレートベクトル Tk の要素の総和との差が "1 8 " であり、 最小差分絶対値距離である入力べクトル Iとテンプレートべクトル Tk— iとの差分絶対値距離 "94" より小さいので、 入 力べク トル Iとテンプレートべクトル Tkの差分絶対値距離を計算する。 算出され た差分絶対値距離が "2 1" であり、 最小差分絶対値距離より小さいので、 最小差 分絶対値距離を "2 1" に更新する。
そして、 入力ベクトル Iの要素の総和と、 (k十 1) 番目のテンプレートべタト ル Tk+1の要素の総和との差が "42" であり、 最小差分絶対値距離である入力べ クトル Iとテンプレートべクトル Tk + 1との差分絶対値距離 "2 1" より大きいの で、入力べクトル 1 とテンプレートべクトル Tk + 1との差分絶対値距離は計算しな レ、。 このように、 テンプレートべク トル Tk+1については、 単なる 1次元のスカラ 演算のみを実行し、 n次元のベタトル演算を実行せずに、次のテンプレートべクト ルに対する処理に移行する。
なお、上述した例では特徴量としてべク トルの要素の総和を用いていたが、特 徴量はこれに限られるものではない。
例えば、以下に説明するような入力べクトルおよびテンプレートべクトルにおけ るそれぞれの反転後の要素の総和の差を特徴量として用いても良い。入力べクトル とテンプレートべクトルとの差分絶対値距離と、それぞれの反転後の要素の総和の 差とには、 式 (2) のような不等式が成り立つ。 ·,+ ∑(255 -/-) I (n>m)
Figure imgf000012_0001
…… (2) なお、 上記式 (2) は、 各画素のデータ値が "0" 〜 "255" の範囲内の値であ る場合を一例として示している。
ここで、 「反転」 とは中間値を中心として白黒反転するということである。 例え ば、 各画素のデータ値が "0"〜 "255" の範囲内の値である場合には、 中心値 が " 127. 5" であるため、 反転するとデータ値 "128" は " 127" に、 デ ータ値 "100" は " 155" になる。 以下に説明する例では、 反転画素 (ピク セル) のデータ値を "255" から減算することで反転を行う。
また、 反転は全ての画素に対して行うのではなく、 部分的に画素を反転させる。 式 (2) では 0〜m番目の画素に対して非反転、 (m十 1) 〜n番目の画素に対し て反転としているが、必ずしも連番である必要はない。 しかしながら、反転させる 画素は、入力べクトルおょぴテンプレートべクトルともに同じ要素番号でなければ ならない。
上記式(2) を用いる方法は、 ブロック内における輝度の変化方向の特徴を抽出 して用いる方法である。
図 3に、 式 (2) に示した関係を利用するための特徴量の抽出例を示す。 上記式 (2) に示した関係を利用するための特徴量の抽出では、特定の反転パターンを予 め用意する。 図 3においては、 反転パターンを 「白」 と 「黒」 の 2値で表現してい る。 「白」 の部分は非反転、 「黒」 の部分は反転である。
まず、特徴量演算部 101は、反転パターンを用いて入力べクトルの反転に該当 するピクセルを反転し、反転後の要素の総和を求める。 また、 テンプレートべクト ルについても同様の反転パターンを用いて反転し、要素の総和を求め、特徴量記憶 部 104に記憶しておく。
次に、上述したようにして求めた反転後の入力べクトルの要素の総和と反転後の テンプレートべクトルの要素の総和との差を、類似度演算判定部 1 0 2にて求める。 図 3に示した例では、要素の総和の差分値は、 " 1 5 5 2 " となり、 このとき入力 ベクトルとテンプレートベクトルとの差分絶対値距離は、上記式( 2 )より必ず" 1 5 5 2 " に等しいか、 あるいはそれより大きい値となる。 この上記式 (2 ) に示 した不等式で表される関係を利用して、現在までの処理にて得られた最小差分絶対 値距離より反転後のべクトルの要素の総和の差が大きい場合には、そのテンプレー トべクトルの検索 (距離演算) は不要として演算を省略することができる。
次に、 上記図 3に示した例では、 1種類の反転パターンのみを用いていたが、 複数の反転パターンを用いることも可能である。 図 4に、複数の (5種類の) 反転 パターンを用いた場合の例を示す。 なお、 図 4においても、 反転パターンを 「白」 と 「黒」 の 2値で表現し、 「白」 の部分は非反転、 「黒」 の部分は反転である。
上記図 3に示した例と同様に、それぞれの反転パターンを用いて、入力べクトル およびテンプレートべクトルを反転させ、反転後の入力べクトルの要素の総和と反 転後のテンプレートべクトルの要素の総和との差をそれぞれの反転パターンに対 して求める。 ここで、 上記式 ( 2 ) より入力べクトルとテンプレートべクトルとの 差分絶対値距離は、要素の総和の差分値以上となるので、それぞれの反転パターン における要素の総和の差分値の中の最大値を求め、 それを特徴量として採用する。 図 4に示した例では、反転後の入力べクトルの要素の総和と、反転後のテンプレ 一トべクトルの要素の総和との差の最大値は " 1 2 5 2 " となる。 このとき、 入 力べクトルとテンプレートべクトルとの差分絶対値距離は、必ず " 1 2 5 2 "に等 しいか、 あるいはそれより大きい値となる。
このように、特徴量の抽出に用いる反転パターン数を増やすことで、 さらに演算 量を減らすことができる。
図 5は、 1 2種類の静止画像について、 5種類の反転パターンを用いてベクトル 量子化を行った際、入力べクトルとテンプレートべクトルとの差分絶対値距離につ いての演算を実行した回数の割合を示す図である。 図 5において、 コードブック検 索率は、テンプレート記憶部 1 0 5に記憶されているテンプレートべクトル数に対 する差分絶対値距離の演算を実行したテンプレートべクトル数を百分率で示した ものである。 なお、 図 5に示した例において、 コ一ドブックのサイズ (テンプレー ト記憶部 1 0 5に記憶されているテンプレートべクトルの総数)は 2 0 4 8である。 図 5に示したように、 用意したテンプレートべクトルの総数の 2〜7%の数だけ入 力べク トルとテンプレートべクトルとの差分絶対値距離の演算を実行すれば良い ので、ベタトル量子化に要する時間を格段に短縮することができ、べクトル量子化 を用いたデータの圧縮処理を高速化することができる。
上述したような特徴量を用いる検索方法では、 2つのべクトル(入力べクトルと テンプレートベタトル) の問に成り立つ数学的関係を使用しているため、精度の低 下を発生させずに演算を省略することができる。
次に、パターンの類似度演算を実行する際の演算サイクル数を減少させるための 第 2段階目の処理について説明する。
べクトル量子化においては、類似度を差分絶対値距離で考える。類似度、すなわ ち、差分絶対値距離の演算は、上記図 1に示した類似度演算部 1 0 3にて実行され る。
図 6は、差分絶対値距離を演算する回路プロック図の一例である。図 6において、 6 0 1は差分絶対値演算部であり、べクトルの各要素毎の差分絶対値距離をそれぞ れ算出する。 6 0 2は加算演算部であり、差分絶対値演算部 6 0 1にて算出された 各要素毎の差分絶対値距離の和を算出し出力する。 ここで、 図 6において、ベタト ノレ (入力べクトルぉよびテンプレートべク トル) の次元は 1 6次元としているが、 本発明はこれに限らず、 次元数を増やすことも可能である。
図 7は、上記図 6に示した差分絶対値演算部 6 0 1の回路プロックの一例を示す 図である。 図 7に示す差分絶対値演算部 6 0 1は、上位桁側からデータをビットシ リアルで入力して演算単位時間内で演算し、演算結果である差分絶対値を上位桁側 から出力する。 また、 差分絶対値演算部は、 バイナリデータを入力し、 2進 3値 S D数系で結果を出力する。 ここで、 2進 3値 S D数系は、 各桁に "一 1、 0、 1 " を許す数系といつた符号集合を許す数系である。 例えば、 1 0進数の " 2 " は、 2進 3値 S D数系では"◦ 0 1 0 ", " 0 1 - 1 0 ", " 1— 1一 1 0 "などと表すこ とができる (上位から 2 3 , 2 2, 2 2 °の重みの桁である)。 差分絶対値演算部は、差分演算を行うプロックと絶対値演算を行うブロックとの
2つのプロックにより構成され、差分演算プロック 7 0 1では上位桁側から 1桁ご との減算を行い、 1桁ごとに減算結果を出力する。減算結果は一時保存レジスタ 7 0 2にラッチされるとともに、状態制御プロック 7 0 3に入力される。状態制御プ ロック 7 0 3は、 減算結果を上位の桁から調べて、 最初に現れた " 0 "以外の数字 が負ならば符号反転ブ 0 ロックに符号反転要求信号を送るようなステートマシン である。
絶対値演算プロック 7 0 4は、状態制御プロック 7 0 3の状態から、符号反転要 求信号が出されているときは、差分値が負であるので絶対値をとるために反転を行 う。 一方、 符号反転要求信号が出されていないときは、 差分値が " 0 "または正で あるのでデータをスルーで (そのまま) 出力する。
この図 7に示した差分絶対値演算部をべクトルの次元数分だけ並列に用意する ことで、入力べクトルおよびテンプレートべクトルを上位桁側から 1 6要素分ビッ トシリアルで入力し、演算単位時間内で演算され、演算結果である差分絶対値を上 位桁側からビットシリアルで出力することができる。
次に、差分絶対値演算部 6 0 1より上位桁側から出力された差分絶対値を、加算 演算部にて、全て上位桁側から足し合わせることで差分絶対値距離を演算すること ができる。 上位桁側からの加算を行うために、 2進 3値 S D数系を用いる。 この 2 進 3値 S D数系を用いると、加算演算の桁上げ信号の伝播は最大 2桁で収まるとい う特徴がある。 これを利用し、下 1桁および下 2桁を参照しながら演算を実行する ことで上位桁側からの加算演算が実行できる。
図 8は、 上記図 6に示した加算演算部の回路プロックの一例を示す図である。 図 8に示す加算演算部は、上位桁側からデータの入力して演算単位時間内で演算 し、上位桁側からデータを出力する。 ここで 2進 3値 S D数系による加算演算にお いては、桁上げ信号は 2桁まで伝播するので、 2桁まで下の情報を参照するために 内部に 2つの遅延素子を用いた構造にする。 図 8において、 X N, YNは入力デー タであり、 Z N + 2は出力データである。
なお、図 8に示した加算演算部は、入力するデータ数が 2つの場合を示している 力 入力数を増やすことも可能である。 図 9は、入力するデータ数を 4つに拡張し た加算演算部の回路プロックの一例を示す図である。各加算部は、図 1 0に示す真 理値表を満たすように設計すれば良い。これを入力するデータ数を 1 6に拡張した 加算演算部と絶対値演算部を用いることで、 2つの 1 6次元のべクトル間の差分絶 対値距離を上位桁側から演算することができる。 なお、 2進 3値 S D数系において は、 値の負表現等は 1桁を数ビットで表現することで任意に設計可能である。 次に、 最大類似度検索部 1 0 6について説明する。
上述した 2進 3値 S D数系の数の大小は、上位桁側から数値を調べて行き、ある 桁以上で " 2 "以上の差が出た時点で決定することができる。 ある 2つの数につい て、 一方の数が m桁目以上で " 2 "だけ大きければ、 その数のほうが他方の数より 大きい。
上位桁側からシリアルで入力される多数の数値の中から最小値を見つけ出すに は、 ある桁を受け取った時点で、最小と思われる数値より大きいことが判明した数 値を "Larger", 最小より 1だけ大きいという数値を "Can 't Decide", 最小であ ると思われる数値を "Smaller" というように 3つの状態を定義し、 図 1 1に示す ような伏態遷移図に基づくように回路を設計すれば良い。そして、データを最後ま で入力したときに、 "Smaller" 状態に残っている数値が最小値 (Winner )である。 上述したような原理に基づく最小値検索演算部を図 1 2に示す。状態遷移図によ る状態を一時保持する順序回路 1201を " State Indicator", 「Smaller」状態にあ る数の現在見ている桁の最小値を求める回路 1202を" Minimum value observer" 、
Γ Winner J の位置をエンコードする回路 1203を "Winner observer" とする。 この回語構成によれば、 各々の入力に対しで State Indicator" 1 2 0 1を用意す ることで、 入力の数を自由に増やすことができる。
"State Indicator" 1 2 0 1は初期状態で 「Smaller」 にリセットされる。 比較 すべきデータを上位桁からシリアルで入力し、 1つが rsmallerj 状態、 残りの全 てが "Larger" 状態になった時点で "Winner observer" ブロック 1 2 0 3は比 較結果と判定終フフラグを出力する。
以上、説明した処理をまとめると、図 1 3および図 1 4に示すフローチャートに 従レ、本実施形態での処理が実現される。
なお、 図 1 3およぴ図 1 4において、 Addr はテンプレートべクトルのアドレス であり、 Nはテンプレートべクトルの総数、 minA は検索候補のテンプレートべク トルのアドレス、 min Dは最小差分絶対値距離、 F iは入力ベク トルの特徴量、 F tはテンプレートべクトルの特徴量、 Dは特徴量の差分絶対値、 D i s tは演算中 の差分絶対値距離である。
(第 2の実施形態)
次に、 第 2の実施形態について説明する。
べクトル量子化の方法の 1つとして、パターンマッチングを行う前の処理として ブロックの平均値を除去するという方法がある。
以下に、 プロックの平均値を除去する方法の一例について説明する。
あるべクトル Xを式 (3 )、 (4 ) に示すように、 その平均値 mと、 平均値 mが除 去された残差 Rとに分けて、残差 Rを新たなベタトルとしてパターンマッチングを 行う。 m = ∑Xi …… ( 3 )
Ri = Χί - m ( 4 )
しかし、ブロックの平均値情報を除去することで、全プロックの平均値が均一化 されてしまい、 平均値情報のばらつきが小さくなつてしまう。 ここで、上述した式 ( 1 ) に示した関係を利用して演算量を減らす方法は、べクトルの平均値情報のば らつきが大きいことを利用した方法であるので、べクトルの平均値情報のばらつき が均一化されているときに有効に作用しない。
しかし、平均値が除去されてもブロックの輝度の変化の情報は失われていないの で、 上述した式 (2 ) に示した関係を利用して演算を減らす方法は有効である。 図 1 5は、平均値の情報を除去したプロックにおいて、上述した第 1の実施形態 による演算省略方法を用いて、 1 2種類の静止画像について、 5種類の反転パター ンを用いてべクトル量子化を行った際の差分絶対値距離の演算を実行した割合を 示すグラフである。 なお、図 1 3においてはコードブックのサイズは 3種類使用し ている。
(発明の効果)
以上説明したように、本発明によれば、例えば、画像データや音声データのデー タ圧縮処理に用いられるベクトル量子化におけるパターンマツチング処理にて、入 力パターンぉよぴテンプレートパターンの特徴量を利用することで、マツチングを 行う必要のあるテンプレート数を減少させることができる。 また、マッチングを行 う際の演算を上位桁側から行うことで、演算のサイクル数を減少させることができ る。 このように 2つの演算省略処理を組み合わせることで、高い演算省略率を得る ことができ、べクトル量子化を用いたデータの圧縮処理を高速に実行することがで さる。
また、ベタトル量子化において、ブロックの平均値の情報を除去する方法を適用 した場合には、複数の特徴量を用いることでマツチングを行う必要のあるテンプレ 一ト数を減少させることができる。 産業上の利用可能性
本発明は、 画像或!ヽは音声データを高速で圧縮処理して伝送する通信システム、 及び、 その送信装置等に適用できる。 尚、 上記実施形態は、 図 1に示されたデータ 処理装置、特に、類似度を演算する第 1の検索部を半導体回路によって構成するこ とを前提にして説明したが、本発明は何等これに限定されることなく、データ処理 装置の動作を規定するプログラムを実行する C P Uによって構成されても良い。更 に、図 1 3及び 1 4に示された処理はコンピュータプログラムによって実現されて も良い。
上記では、本発明の例示的実施例についてのみ説明したが、本発明の新規な構成 及び効果から著しく乖離することなく実施例を様々に改変、変更することが可能で あることは、 当業者の容易に認識しうるところである。 したがって、 このような改 変、 変更はすべて本発明の範囲に含まれるものである。

Claims

請 求 の 範 囲
1、 予め用意された複数のテンプレートパターンの中から、入力パターンに 最も類似した上記テンプレートパターンを示す情報を出力するデータ処理装置で あって、類似したテンプレートパターンを検索する際に、上記入力パターンおよび テンプレートパターンの特徴量を用いて、上記入力パターンとテンプレートパター ンとの類似度を演算するテンプレートパターンを選択する第 1の検索手段と、上記 第 1の検索手段により選択されたテンプレートパターンと、入力パターンとの類似 度を演算する際に、ビットシリアルで当該演算を実行する第 2の検索手段とを備え ることを特徴とするデータ処理装置。
2、上記第 2の検索手段は、 ビットシリアルで入力されたデータに対して演算 単位時間で当該演算を実行し、演算単位時間毎に演算結果に基づいて類似度が最大 となるか否かを判定することを特徴とする請求項 1に記載のデータ処理装置。
3、上記第 1の検索手段は、上記入力パターンおよびテンプレートパターンの 特徴量を用いて、上記類似度を演算するテンプレートパターン数を削減し、上記第 2の検索手段は、上記入力パターンと上記第 1の検索手段にて選択されたテンプレ ートパターンとの類似度の演算をビットシリアルで実行し、当該演算に要するステ ップ数を削減することを特徴とする請求項 1に記載のデータ処理装置。
4、上記入力パターンおよびテンプレートパターンは、少なくとも 1つ以上の 要素から構成される 1つのべク トルデータであることを特徴とする請求項 1に記 載のデータ処理装置。
5、上記入力パターンおよびテンプレートパターンは、少なくとも 1つ以上の 要素から構成され、上記第 2の検索手段は、上記入力パターンとテンプレートバタ ーンとの類似度として差分絶対値距離を算出する類似度演算手段を有し、上記第 1 の検索手段は、上記入力パターンの特徴量とテンプレートパターンの特徴量との差 分絶対値が、当該テンプレートパターンとは異なるテンプレートパターンと入力パ ターンとの差分絶対値距離の値以上の場合には、当該異なるテンプレートパターン と入力パターンとの差分絶対値距離の演算を実行しないと判定する類似度演算判 定手段を有することを特徴とする請求項 1に記載のデータ処理装置。
6、上記類似度演算手段は、上記第 1の検索手段にて選択されたテンプレート パターンおよび入力パターンがともにデータの上位桁側から演算時間単位毎にビ ッ 1、シリアルで入力され、上記入力されたデータを演算時間単位内で演算し、演算 結果である差分絶対値距離を上位桁側からビットシリアルで出力することを特徴 とする請求項 5に記載のデータ処理装置。
7、上記特徴量は、上記入力パターンおよびテンプレートパターンを構成する 個々の要素の総和、および上記個々の要素のうち一部の要素をとり得る値の中間値 を基準として反転操作した後の要素の総和の少なくとも一方であることを特徴と する請求項 1に記載のデータ処理装置。
8、上記類似度演算手段は、 半導体回路により構成され、入力されるデータは バイナリ数系により上位桁側から入力され、出力するデータは冗長な数系により上 位桁側から出力することを特徴とする請求項 5に記載のデータ処理装置。
9、上記類似度演算手段は、入力パターンおよびテンプレートパターンの要素 の差分絶対値を要素毎に算出する差分絶対値演算手段と、上記差分絶対値演算手段 により算出された要素毎の差分絶対値を加算する加算手段とを有し、上記差分絶対 値演算手段は、パターンの要素数分だけ備えられていることを特徴とする請求項 5 に記載のデータ処理装置。
1 0、上記差分絶対値演算手段は、バイナリ数系により上位桁側からデータが 入力され、入力されたデータの差分値をビットシリアルで演算し、冗長な数系によ り上位桁側から出力することを特徴とする請求項 8に記載のデータ処理装置。
1 1、上記差分絶対値演算手段は、 さらに、 上位析側からビットシリアルで出 力する差分値にて最初現れた " 0 "以外の数値を状態として記憶し、 当該記憶した 状態に応じて差分値を反転または非反転し差分絶対値を演算する機能を有するこ とを特徴とする請求項 1 0に記載のデータ処理装置。
1 2、上記加算演算部は、演算単位時間分だけ遅延する遅延手段を有し、冗長 な数系により上位桁側からデータが入力され、演算結果を冗長な数系により上位桁 側から出力することを特徴とする請求項 1 0に記載のデータ処理装置。
1 3、上記第 2の検索手段は、入力パターンとテンプレートパターンとの最小 差分絶対値距離を保持する保持手段と、
上記保持手段に保持されている最小差分絶対値距離が上位桁側からビットシリ アルで入力されるとともに、上記テンプレートパターンとは異なるテンプレートパ ターンと入力パターンとの差分絶対値距離を算出する類似度演算手段により求め られた差分絶対値距離が上位桁側からビットシリアルで入力され、入力された差分 絶対値距離を比較演算する比較手段を有し、
上記比較手段による比較にて、上記テンプレートパターンとは異なるテンプレー トパターンと入力パターンとの差分絶対値距離が、上記保持手段に保持されている 最小差分絶対値距離より大きいと確定した後、以降の下位桁の演算を中上すること を特徴とする請求項 1に記載のデータ処理装置。
1 4、複数の要素からなる入力べクトルと、複数の要素からなる予め用意され たテンプレートべクトルと比較して、最も類似したテンプレートべクトルを決定す るデータ処理方法にぉレヽて、
前記テンプレートべクトルの要素に関するスカラー演算を行い、第 1の演算結 果を得るステップと、
前記入力べクトルを受け、当該入力べクトルの要素に関するスカラ一演算を行 い、 第 2の演算結果を得るステップと、
前記第 1及び第 2の演算結果の差分絶対値を第 1の差分絶対値として算出す 前記テンプレートべクトルと前記入力べクトルとのべク トル演算を行い、べク トル演算結果として、 第 2の差分絶対値を算出するステップと、
前記第 1の差分絶対値が第 2の差分絶対値を越えないことを利用して、前記最 も類似したテンプレートべクトルを決定するステツプとを有することを特徴とす るデータ処理方法。
1 5、複数の要素からなる入力べクトルと、複数の要素からなる予め用意され たテンプレートべクトルと比較して、最も類似したテンプレートべクトルを決定す るために使用されるコンピュータで読み取り可能なプログラムにおいて、 前記テンプレートべクトルの要素に関するスカラー演算を行い、第 1の演算結 果を得るステップと、
前記入力べクトルを受け、当該入力べク トルの要素に関するスカラー演算を行 い、 第 2の演算結果を得るステップと、
前記第 1及び第 2の演算結果の差分絶対値を第 1の差分絶対値として算出す るステップと、
前記テンプレートべク トルと前記入力べクトルとのベタトル演算を行い、べク トル演算結果として、 第 2の差分絶対値を算出するステップと、
前記第 1の差分絶対値が第 2の差分絶対値を越えないことを利用して、前記最 も類似したテンプレートべクトルを決定するステップとを有することを特徴とす るプログラム。
PCT/JP2003/001629 2002-02-20 2003-02-17 Data processing device WO2003071687A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP03705222A EP1487112A4 (en) 2002-02-20 2003-02-17 DATA PROCESSING DEVICE
US10/504,968 US20050105816A1 (en) 2002-02-20 2003-02-17 Data processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-44054 2002-02-20
JP2002044054A JP2003243988A (ja) 2002-02-20 2002-02-20 データ処理装置

Publications (1)

Publication Number Publication Date
WO2003071687A1 true WO2003071687A1 (en) 2003-08-28

Family

ID=27750542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/001629 WO2003071687A1 (en) 2002-02-20 2003-02-17 Data processing device

Country Status (4)

Country Link
US (1) US20050105816A1 (ja)
EP (1) EP1487112A4 (ja)
JP (1) JP2003243988A (ja)
WO (1) WO2003071687A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339344A (zh) * 2020-02-25 2020-06-26 北京百度网讯科技有限公司 室内图像检索方法、装置及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010091555A1 (zh) * 2009-02-13 2010-08-19 华为技术有限公司 一种立体声编码方法和装置
WO2014132608A1 (ja) 2013-02-26 2014-09-04 日本電気株式会社 並列処理装置、並列処理方法、および並列処理プログラム記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11289459A (ja) * 1998-04-02 1999-10-19 Matsushita Electric Ind Co Ltd 画像符号化方法
JP2000004164A (ja) * 1998-04-17 2000-01-07 Tadahiro Omi ベクトル量子化装置および方法、記録媒体
JP2001204024A (ja) * 2000-01-18 2001-07-27 Tadahiro Omi データ圧縮方法、データ圧縮装置及び記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1257073B (it) * 1992-08-11 1996-01-05 Ist Trentino Di Cultura Sistema di riconoscimento, particolarmente per il riconoscimento di persone.
JP2972657B2 (ja) * 1997-06-20 1999-11-08 山形日本電気株式会社 Efm信号のフレーム周期検出回路及びefm信号再生用ビット同期クロック信号の周波数制御方法
EP1039372A4 (en) * 1997-12-17 2005-02-02 Ultraclean Technology Res Inst METHOD AND SEMICONDUCTOR CIRCUIT FOR PERFORMING ARITHMETIC OPERATIONS
JP2000201078A (ja) * 1998-04-17 2000-07-18 Tadahiro Omi デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体
JP2002064383A (ja) * 2000-08-18 2002-02-28 Yamaha Corp Δς変調器
US6719689B2 (en) * 2001-04-30 2004-04-13 Medtronic, Inc. Method and system for compressing and storing data in a medical device having limited storage
US6640008B1 (en) * 2001-06-29 2003-10-28 Shih-Jong J. Lee Rotation and scale invariant pattern matching method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11289459A (ja) * 1998-04-02 1999-10-19 Matsushita Electric Ind Co Ltd 画像符号化方法
JP2000004164A (ja) * 1998-04-17 2000-01-07 Tadahiro Omi ベクトル量子化装置および方法、記録媒体
JP2001204024A (ja) * 2000-01-18 2001-07-27 Tadahiro Omi データ圧縮方法、データ圧縮装置及び記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1487112A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339344A (zh) * 2020-02-25 2020-06-26 北京百度网讯科技有限公司 室内图像检索方法、装置及电子设备
CN111339344B (zh) * 2020-02-25 2023-04-07 北京百度网讯科技有限公司 室内图像检索方法、装置及电子设备

Also Published As

Publication number Publication date
EP1487112A1 (en) 2004-12-15
EP1487112A4 (en) 2005-12-21
US20050105816A1 (en) 2005-05-19
JP2003243988A (ja) 2003-08-29

Similar Documents

Publication Publication Date Title
JP6540725B2 (ja) 演算処理装置、方法、およびプログラム
US10872295B1 (en) Residual quantization of bit-shift weights in an artificial neural network
CN114418105B (zh) 一种基于量子线路处理量子应用问题的方法及装置
EP3769208B1 (en) Stochastic rounding logic
CN112506880A (zh) 数据处理方法及相关设备
CN114615507B (zh) 一种图像编码方法、解码方法及相关装置
Perez et al. Efficient projection algorithms onto the weighted ℓ1 ball
CN114640354A (zh) 数据压缩方法、装置、电子设备及计算机可读存储介质
AU2021269358A1 (en) Method for determining a preimage element of a cryptographic hash function, computer program, and data processing system
WO2003071687A1 (en) Data processing device
US10271051B2 (en) Method of coding a real signal into a quantized signal
CN102067108B (zh) 并向量分数与符号对称舍入误差的乘积的快速计算
US20060179098A1 (en) System and method for reduction of leading zero detect for decimal floating point numbers
CN111492369A (zh) 人工神经网络中移位权重的残差量化
US20210216867A1 (en) Information processing apparatus, neural network computation program, and neural network computation method
TWI708196B (zh) 使用基於累積計數分佈之函數之用於模型參數之解壓縮之方法及處理器
EP2643833B1 (en) Low complexity target vector identification
CN112612762A (zh) 数据处理方法及相关设备
WO2020245877A1 (ja) 量子アニーリング計算装置、量子アニーリング計算方法および量子アニーリング計算プログラム
JP4405452B2 (ja) 逆変換回路
JP3951036B2 (ja) 動的小数点方式、動的小数点演算方法、並びに2次元逆離散コサイン変換方法及びその装置
JP4243277B2 (ja) データ処理装置
WO2019155556A1 (ja) 行列圧縮装置、圧縮行列アクセス装置、方法、及びコンピュータ可読媒体
US20210334635A1 (en) Neural network accelerator configured to perform operation on logarithm domain
CN110134813A (zh) 图像检索方法、图像检索装置及终端设备

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 10504968

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003705222

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003705222

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 2003705222

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2003705222

Country of ref document: EP