[go: up one dir, main page]

JP2014229263A - Data processor, image processor, data processing method, and computer program - Google Patents

Data processor, image processor, data processing method, and computer program Download PDF

Info

Publication number
JP2014229263A
JP2014229263A JP2013111129A JP2013111129A JP2014229263A JP 2014229263 A JP2014229263 A JP 2014229263A JP 2013111129 A JP2013111129 A JP 2013111129A JP 2013111129 A JP2013111129 A JP 2013111129A JP 2014229263 A JP2014229263 A JP 2014229263A
Authority
JP
Japan
Prior art keywords
data
exclusive
processing
similarity
bit
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.)
Pending
Application number
JP2013111129A
Other languages
Japanese (ja)
Inventor
山下 茂
Shigeru Yamashita
茂 山下
英鮮 崔
Yongson Choi
英鮮 崔
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.)
Ritsumeikan Trust
Original Assignee
Ritsumeikan Trust
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 Ritsumeikan Trust filed Critical Ritsumeikan Trust
Priority to JP2013111129A priority Critical patent/JP2014229263A/en
Publication of JP2014229263A publication Critical patent/JP2014229263A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】SADに比して簡易な演算により高精度にデータ間の類似度を算出することが可能なデータ処理装置、画像処理装置、データ処理方法、及びコンピュータプログラムを提供する。【解決手段】画像処理装置は、プロセッサアレイ部130を備えている。プロセッサアレイ部130は、データバッファ121に格納された候補フレーム画像の画素データと、入力レジスタ131に格納されたマクロブロック画像の画素データとの排他的論理和を、排他的論理和演算部133によってビット毎に演算する。得られたビット毎の排他的論理和は連続するように互いに結合され、1つの数値データである排他的論理和データとして扱われる。各画素について得られた排他的論理和データが加算され、排他的論理和の総和が演算される。【選択図】図3Provided are a data processing device, an image processing device, a data processing method, and a computer program capable of calculating a similarity between data with high accuracy by simple calculation compared to SAD. An image processing apparatus includes a processor array unit. The processor array unit 130 performs an exclusive OR operation between the pixel data of the candidate frame image stored in the data buffer 121 and the pixel data of the macroblock image stored in the input register 131 by the exclusive OR operation unit 133. Operate bit by bit. The obtained exclusive ORs for each bit are combined with each other so as to be treated as exclusive OR data as one numerical data. The exclusive OR data obtained for each pixel is added, and the sum of the exclusive OR is calculated. [Selection] Figure 3

Description

本発明は、2つのデータの類似度を演算するためのデータ処理装置、画像処理装置、データ処理方法、及びコンピュータプログラムに関するものである。   The present invention relates to a data processing device, an image processing device, a data processing method, and a computer program for calculating the similarity between two data.

動画像の符号化(動画像圧縮)を行うために、ブロックマッチングによる動きベクトル検出が利用されている。ブロックマッチングとは、時間的に連続する2つの画像(フレーム)内のオブジェクトの対応関係から、オブジェクトの動きベクトルを検出する手法である。つまり、ブロックマッチングでは、2つのフレームのそれぞれから抽出した同一サイズのブロックの類似度を演算し、最も類似度の高いブロック間の相対的位置関係を動きベクトルとして検出する。   In order to encode a moving image (moving image compression), motion vector detection by block matching is used. Block matching is a technique for detecting a motion vector of an object from the correspondence between objects in two temporally continuous images (frames). That is, in block matching, the similarity of blocks of the same size extracted from each of two frames is calculated, and the relative positional relationship between the blocks with the highest similarity is detected as a motion vector.

ブロックマッチングにおける類似度の指標として、絶対差総和(Sum of Absolute Difference, SAD)が広く利用されている。SADとは、比較する2つのブロックに対して、全ての座標で輝度の絶対差(差分の絶対値)を計算し、それらを合計することで求められる値である。候補となる動きベクトルがd(d,d)のとき, SAD値は式(1)で求められる。このとき、r(x,y),c(x,y)はそれぞれ参照ブロックと候補ブロックの座標(x,y)における輝度を表す。SAD値は、比較する2つのブロックが類似しているほど、0に近い値となる。 Sum of Absolute Difference (SAD) is widely used as an index of similarity in block matching. SAD is a value obtained by calculating the absolute difference (absolute value of the difference) of all the coordinates for the two blocks to be compared and summing them. When the candidate motion vector is d (d x , d y ), the SAD value is obtained by equation (1). At this time, r (x, y) and c (x, y) represent the luminance at the coordinates (x, y) of the reference block and the candidate block, respectively. The SAD value becomes closer to 0 as the two blocks to be compared are more similar.

かかるSADを計算するためには絶対差を算出する必要があることから多くの演算処理が必要となり、しかも1フレームにおける動きベクトル検出においては膨大な回数のSAD計算が必要となる。このため、ハードウェアにてSADを計算する場合には、回路構成が複雑化し、回路のサイズが大型化していた。   In order to calculate such SAD, it is necessary to calculate an absolute difference, so that a large amount of arithmetic processing is required, and in addition, a huge number of SAD calculations are required for motion vector detection in one frame. For this reason, when SAD is calculated by hardware, the circuit configuration is complicated and the size of the circuit is increased.

特開平8−237661号公報JP-A-8-237661 特開2000−278691号公報JP 2000-278691 A 特開2003−324734号公報JP 2003-324734 A

本発明者らは、2つのデータのビット毎の排他的論理和を、桁の概念を有する数値データとしてみると、2つのデータの絶対差に近い値となるという性質を利用し、絶対差の演算よりも簡易な排他的論理和の演算によって、データ間の類似度を算出という着想を得た。   The present inventors use the property that when the exclusive OR for each bit of two data is regarded as numerical data having the concept of a digit, it becomes a value close to the absolute difference between the two data. The idea was to calculate the degree of similarity between data by an exclusive OR operation that was simpler than the operation.

ここで、ブロックマッチングに際して、排他的論理和を利用することは、特許文献1〜3に開示されている。
ただし、特許文献1〜3に記載されているのは、排他的論理和演算をデータのビット毎に行い、異なるビットの数を数えて、これを評価値として用いてブロックマッチングを行うものにすぎない。しかし、異なるビットの数と絶対差の値の大小に相関関係は低く、特許文献1〜3に記載のものは、2つのデータのビット毎の排他的論理和が、2つのデータの絶対差に近い値となるという前述の性質を利用したものではない。
Here, the use of exclusive OR in block matching is disclosed in Patent Documents 1 to 3.
However, Patent Documents 1 to 3 only describe exclusive OR operation for each bit of data, count the number of different bits, and perform block matching using this as an evaluation value. Absent. However, the correlation between the number of different bits and the magnitude of the absolute difference is low, and the ones described in Patent Documents 1 to 3 indicate that the exclusive OR for each bit of two data is the absolute difference between the two data. It does not use the above-mentioned property that the values are close.

本発明は、排他的論理和の演算結果が、絶対差に近い値となるという性質を利用し、SADに比して簡易な演算によってデータ間の類似度を算出することが可能なデータ処理装置、画像処理装置、データ処理方法、及びコンピュータプログラムを提供することを目的とする。   The present invention uses the property that the result of an exclusive OR operation becomes a value close to an absolute difference, and is a data processing device capable of calculating the similarity between data by a simpler operation than SAD An object is to provide an image processing apparatus, a data processing method, and a computer program.

(1)本発明は、所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価するためのデータ処理装置であって、前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得する排他的論理和演算部と、前記第1データと前記第2データとの類似度を示す指標を演算する類似度演算部と、を備え、前記類似度演算部は、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とするデータ処理装置である。 (1) The present invention is a data processing apparatus for evaluating the degree of similarity between first data and second data each including a plurality of processing data composed of a bit string of a predetermined length, and is included in the first data An exclusive logical OR configured as the bit string of the predetermined length in which the exclusive OR of the processing data and the processing data included in the second data is calculated for each bit, and the obtained exclusive OR for each bit is continuous. An exclusive OR operation unit that obtains sum data, and a similarity operation unit that calculates an index indicating the similarity between the first data and the second data, and the similarity operation unit includes a plurality of similarity operation units. By treating each of the plurality of exclusive OR data acquired for each of the processing data as numerical data, a sum by an arithmetic operation of the plurality of exclusive OR data is obtained, and the sum is an index indicating the similarity A data processing device for.

上記本発明によれば、絶対差よりも簡易な演算で実現可能な排他的論理和を絶対差に代えて利用するため、SADを用いた手法よりも簡易な演算でデータの類似度を示す指標を算出することが可能となる。また、排他的論理和が連なる排他的論理和データは、第1データの処理データと第2データの処理データとの絶対差の演算から桁上げ処理を除外した結果に等しく、多くの場合において絶対差に近い値となる。特に、桁上げが発生しない組合せでは、絶対差と同一の値となる。したがって、類似度を示す指標の演算の精度低下を抑えることができる。   According to the present invention, since an exclusive OR that can be realized by a simpler operation than the absolute difference is used instead of the absolute difference, the index indicating the similarity of data by a simpler operation than the method using the SAD Can be calculated. Also, exclusive OR data in which exclusive OR is continuous is equal to the result of excluding the carry processing from the calculation of the absolute difference between the processing data of the first data and the processing data of the second data, and in many cases, the absolute OR data is absolute. The value is close to the difference. In particular, in a combination in which no carry occurs, the value is the same as the absolute difference. Accordingly, it is possible to suppress a decrease in accuracy of calculation of an index indicating similarity.

(2)前記排他的論理和演算部は、前記排他的論理和データの上位所定ビットの値を演算する例外処理部を備え、前記例外処理部は、前記第1データに含まれる処理データと前記第2データに含まれる処理データとの絶対差の上位所定ビットの値を演算し、前記排他的論理和演算部は、前記例外処理部によって演算された前記絶対差の上位所定数ビットの値を、上位所定数ビットに含む前記排他的論理和データを取得するのが好ましい。
ビット毎の排他的論理和を連ねた排他的論理和データは、多くの場合絶対差に近い値を取るが、同一値となるとは限らない。少ないながらも一部の処理データの組合せでは、誤差が大きくなる。そこで、上記構成とすることにより、数値データの上位所定数ビットの値が絶対差の結果と同じになるので、数値データと絶対差との誤差を小さくすることが可能となる。
(2) The exclusive OR operation unit includes an exception processing unit that calculates a value of an upper predetermined bit of the exclusive OR data, and the exception processing unit includes processing data included in the first data, The value of the upper predetermined bit of the absolute difference from the processing data included in the second data is calculated, and the exclusive OR operation unit calculates the value of the upper predetermined number of bits of the absolute difference calculated by the exception processing unit. Preferably, the exclusive OR data included in the upper predetermined number of bits is acquired.
In many cases, exclusive OR data obtained by connecting exclusive ORs for each bit takes a value close to an absolute difference, but it is not always the same value. Even if there are few combinations of processing data, the error becomes large. Therefore, with the above configuration, the value of the upper predetermined number of bits of the numerical data becomes the same as the result of the absolute difference, so that the error between the numerical data and the absolute difference can be reduced.

(3) 前記例外処理部は、前記第1データの処理データの上位ビットと、前記第2データの処理データ上位ビットとに基づいて、前記絶対差の上位所定数ビットを演算するのが好ましい。
この場合、例外処理部による処理に用いられるのが各処理データの一部(上位ビット)となるので、例外処理部による計算量を抑制することが可能となる。
(3) It is preferable that the exception processing unit calculates the upper predetermined number of bits of the absolute difference based on the upper bits of the processing data of the first data and the processing data upper bits of the second data.
In this case, since a part (upper bits) of each processing data is used for processing by the exception processing unit, it is possible to suppress the calculation amount by the exception processing unit.

(4)前記第1データの処理データの上位2ビットと、前記第2データの処理データの上位2ビットとに基づいて、前記絶対差の最上位ビットを演算するのが好ましい。
この場合、例外処理部による処理に用いられるのが各処理データの上位2ビットだけになるので、例外処理部による計算量をより一層抑制することが可能となる。また、最も桁の大きい最上位ビットを例外処理部により演算し、これを排他的論理和データの最上位ビットとするので、例外処理の演算を抑えつつも、高い誤差低減効果を得ることが可能となる。
(4) It is preferable to calculate the most significant bit of the absolute difference based on the upper 2 bits of the processing data of the first data and the upper 2 bits of the processing data of the second data.
In this case, since only the upper 2 bits of each processing data are used for processing by the exception processing unit, the amount of calculation by the exception processing unit can be further suppressed. In addition, since the most significant bit with the largest digit is calculated by the exception processing unit and used as the most significant bit of the exclusive OR data, it is possible to obtain a high error reduction effect while suppressing the calculation of exception processing. It becomes.

(5)前記排他的論理和演算部は、前記処理データの複数ビットのそれぞれに対応する複数のEXORゲートを含み、前記複数のEXORゲートによって前記複数ビットの排他的論理和演算を並列に実行するのが好ましい。
この場合、各処理データの複数ビットのそれぞれについての排他的論理和演算を複数のEXORゲートによって並列に実行するので、排他的論理和を高速に演算することが可能となる。
(5) The exclusive OR operation unit includes a plurality of EXOR gates corresponding to each of the plurality of bits of the processing data, and the plurality of EXOR gates performs the plurality of bits of the exclusive OR operation in parallel. Is preferred.
In this case, the exclusive OR operation for each of the plurality of bits of each processing data is executed in parallel by the plurality of EXOR gates, so that the exclusive OR can be calculated at high speed.

(6)前記排他的論理和演算部は、前記第1データに含まれる1つの処理データと、前記第2データに含まれる1つの処理データとの排他的論理和を演算する単位演算部を複数具備し、各単位演算部において、複数の処理データについての排他的論理和の演算を並列に実行するのが好ましい。
この場合、複数の処理データについての排他的論理和演算を、複数の単位演算部によって並列に実行するので、類似度を示す指標を高速に演算することが可能となる。
(6) The exclusive OR operation unit includes a plurality of unit operation units that calculate exclusive OR of one processing data included in the first data and one processing data included in the second data. It is preferable that each unit operation unit execute an exclusive OR operation on a plurality of processing data in parallel.
In this case, since the exclusive OR operation for a plurality of processing data is executed in parallel by the plurality of unit operation units, it is possible to calculate an index indicating the similarity at high speed.

(7)他の観点からみた本発明は、所定長のビット列からなる複数の画素データをそれぞれ含む第1画像データと第2画像データとの類似度を評価するための画像処理装置であって、前記第1画像データに含まれる画素データと、前記第2画像データの画素データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得する排他的論理和演算部と、前記第1画像データと前記第2画像データとの類似度を示す指標を演算する類似度演算部と、を備え、前記類似度演算部は、複数の画素データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似を示す指標とする画像処理装置である。 (7) The present invention from another viewpoint is an image processing apparatus for evaluating the similarity between first image data and second image data each including a plurality of pixel data composed of a predetermined-length bit string, The bit string of the predetermined length in which the exclusive OR of the pixel data included in the first image data and the pixel data of the second image data is calculated for each bit, and the obtained exclusive OR for each bit continues. An exclusive OR operation unit configured to acquire exclusive OR data configured as: a similarity operation unit that calculates an index indicating the similarity between the first image data and the second image data; The similarity calculation unit obtains a sum by arithmetic operation of the plurality of exclusive OR data by treating each of the plurality of exclusive OR data acquired for each of the plurality of pixel data as numerical data, The sum is an image processing apparatus as an index indicating the similarity.

(8)さらに他の観点からみた本発明は、所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価するデータ処理方法であって、
前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得するステップと、前記第1データと前記第2データとの類似度を示す指標を演算するステップと、を含み、前記第1データと前記第2データとの類似度を示す指標を演算するステップは、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とすることを含むデータ処理方法である。
(8) The present invention viewed from still another viewpoint is a data processing method for evaluating the degree of similarity between first data and second data each including a plurality of processing data composed of a predetermined-length bit string,
The bit string of the predetermined length in which the exclusive OR of the processing data included in the first data and the processing data included in the second data is calculated for each bit, and the obtained exclusive OR is continuous for each bit. Obtaining the exclusive OR data configured as: and calculating an index indicating the similarity between the first data and the second data, the first data and the second data, The step of calculating an index indicating the degree of similarity of each of the plurality of pieces of exclusive OR data acquired for each of the plurality of processing data is treated as numerical data, thereby calculating a sum of arithmetic operations of the plurality of exclusive OR data. A data processing method including obtaining the sum as an index indicating the similarity.

(9)さらに他の観点からみた本発明は、所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価する処理をコンピュータに実行させるためのコンピュータプログラムであって、前記処理は、前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得するステップと、前記第1データと前記第2データとの類似度を示す指標を演算するステップと、を含み、前記第1データと前記第2データとの類似度を示す指標を演算するステップは、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とすることを含むコンピュータプログラムである。 (9) According to another aspect, the present invention provides a computer program for causing a computer to execute a process of evaluating the similarity between first data and second data each including a plurality of processing data composed of a bit string of a predetermined length. The processing includes calculating the exclusive OR of the processing data included in the first data and the processing data included in the second data for each bit, and obtaining the exclusive logical for each bit obtained. Obtaining the exclusive OR data configured as the predetermined-length bit string in which the sum is continuous, and calculating an index indicating the similarity between the first data and the second data, The step of calculating an index indicating the degree of similarity between one data and the second data includes calculating each of a plurality of exclusive OR data acquired for each of a plurality of processing data. By handled as data, the total sum by arithmetic operation of a plurality of exclusive OR data, the sum is a computer program that includes an index indicating the degree of similarity.

本発明によれば、SADより簡易な演算によって、データ間の類似度を算出することが可能となる。   According to the present invention, it is possible to calculate the similarity between data by a simpler calculation than SAD.

実施形態1に係る画像処理装置の構成を示すブロック図。1 is a block diagram illustrating a configuration of an image processing apparatus according to a first embodiment. 実施の形態1に係る画像処理装置におけるデータバッファ部とプロセッサアレイ部の詳細な構成を示す模式図。FIG. 3 is a schematic diagram illustrating a detailed configuration of a data buffer unit and a processor array unit in the image processing apparatus according to the first embodiment. プロセッサエレメントの構成を示す模式図。The schematic diagram which shows the structure of a processor element. 絶対差を演算するための回路構成を示す模式図。The schematic diagram which shows the circuit structure for calculating an absolute difference. 実施の形態1に係る排他的論理和演算部の回路構成を示す模式図。FIG. 3 is a schematic diagram illustrating a circuit configuration of an exclusive OR operation unit according to the first embodiment. 実施の形態1に係る排他的論理和演算部による排他的論理和データと絶対差との誤差を示すグラフ。6 is a graph showing an error between exclusive OR data and an absolute difference by the exclusive OR operation unit according to the first embodiment. 実施の形態2に係る画像処理装置の排他的論理和演算部の構成の一部を示す模式図。FIG. 9 is a schematic diagram illustrating a part of the configuration of an exclusive OR operation unit of the image processing apparatus according to the second embodiment. 実施の形態2に係る排他的論理和演算部による排他的論理和データと絶対差との誤差を示すグラフ。9 is a graph showing an error between exclusive OR data and an absolute difference by an exclusive OR operation unit according to the second embodiment. 実施の形態3に係る画像処理装置の機能ブロック図。FIG. 4 is a functional block diagram of an image processing apparatus according to a third embodiment. 実施の形態3に係る画像処理装置による画像処理の流れを示すフローチャート。10 is a flowchart showing a flow of image processing by the image processing apparatus according to the third embodiment.

以下、本発明の好ましい実施形態について添付図面を参照しながら説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

(実施の形態1)
以下では、2つの画像データの類似度を示す指標を演算する画像処理装置の構成及びその動作について説明する。
(Embodiment 1)
Hereinafter, the configuration and operation of an image processing apparatus that calculates an index indicating the degree of similarity between two image data will be described.

本実施形態に係る画像処理装置100は、EXORゲートを含むハードウェア(FPGA等)により構成されたプロセッサである。この画像処理装置100は、時間的に連続する2つのフレームのそれぞれから抽出した同一サイズのブロックのブロックマッチング処理を行い、最も類似度の高いブロック間の相対的位置関係を動きベクトルとして検出するものである。
ブロックマッチング処理では、2つのブロックに含まれる各画素データの排他的論理和が演算され、画素データ毎に得られた排他的論理和の総和が、両画像データの類似度を示す指標として算出される。
The image processing apparatus 100 according to the present embodiment is a processor configured by hardware (FPGA or the like) including an EXOR gate. This image processing apparatus 100 performs block matching processing of blocks of the same size extracted from each of two temporally continuous frames, and detects the relative positional relationship between the blocks with the highest similarity as a motion vector It is.
In the block matching process, the exclusive OR of the pixel data included in the two blocks is calculated, and the sum of the exclusive OR obtained for each pixel data is calculated as an index indicating the similarity between the two image data. The

図1は、本実施形態に係る画像処理装置の構成を示すブロック図である。図1に示すように、この画像処理装置100は、入力部110と、データバッファ部120と、プロセッサアレイ部130と、総和部(類似度演算部)140と、最小値検出部150と、出力部160とを備えている。   FIG. 1 is a block diagram showing the configuration of the image processing apparatus according to this embodiment. As shown in FIG. 1, the image processing apparatus 100 includes an input unit 110, a data buffer unit 120, a processor array unit 130, a summation unit (similarity calculation unit) 140, a minimum value detection unit 150, and an output. Part 160.

入力部110は、バッファメモリ等から構成されており、画像処理装置100に入力される画像データを一時的に保持することが可能である。入力部110には、ブロックマッチングに用いられる基準画像データであるマクロブロック画像と、前記マクロブロック画像と類似するブロックを探索する候補フレーム画像とが入力される。なお、本実施の形態においては、マクロブロック画像のサイズは16[画素]×16[画素]であり、候補フレーム画像のサイズは、マクロブロック画像よりも大きい256[画素]×256[画素]である。また、それぞれの画素データ(処理データ;ワードデータ)は、8ビット(複数ビット)のビット長を有する多値データである。   The input unit 110 includes a buffer memory and the like, and can temporarily hold image data input to the image processing apparatus 100. The input unit 110 receives a macroblock image, which is reference image data used for block matching, and a candidate frame image for searching for a block similar to the macroblock image. In the present embodiment, the size of the macroblock image is 16 [pixels] × 16 [pixels], and the size of the candidate frame image is 256 [pixels] × 256 [pixels], which is larger than the macroblock image. is there. Each pixel data (process data; word data) is multi-value data having a bit length of 8 bits (a plurality of bits).

図2は、データバッファ部120とプロセッサアレイ部130の詳細な構成を示す模式図である。図2に示すように、データバッファ部120は、16×256個のデータバッファ121,121,…を具備している。データバッファ121,121,…は、16行256列のマトリックス状に配置されている。1行分のデータバッファ121,121,…には、候補フレーム画像の1行分(256画素)が記憶される。つまり、各データバッファ121のビット長は8ビットであり、1つのデータバッファ121には1画素分の画素データが記憶される。データバッファ部121全体としては、候補フレーム画像の16行分(16×256画素)の画素データを記憶可能である。データバッファ部121は、候補フレーム画像を画素データ単位でシフトするシフトレジスタとして機能する。   FIG. 2 is a schematic diagram showing a detailed configuration of the data buffer unit 120 and the processor array unit 130. As shown in FIG. 2, the data buffer unit 120 includes 16 × 256 data buffers 121, 121,. The data buffers 121, 121,... Are arranged in a matrix of 16 rows and 256 columns. In the data buffers 121, 121,... For one row, one row (256 pixels) of the candidate frame image is stored. That is, the bit length of each data buffer 121 is 8 bits, and pixel data for one pixel is stored in one data buffer 121. The entire data buffer unit 121 can store pixel data for 16 rows (16 × 256 pixels) of the candidate frame image. The data buffer unit 121 functions as a shift register that shifts the candidate frame image in units of pixel data.

データバッファ121,121,…は、1クロックサイクル当たりに、記憶している画素データを右隣のデータバッファ121,121,…にシフトする。最も右端のデータバッファ121,121,…の画素データは、1行下の左端のデータバッファ121,121,…へシフトされる。   The data buffers 121, 121,... Shift the stored pixel data to the data buffers 121, 121,. The pixel data in the rightmost data buffers 121, 121,... Are shifted to the leftmost data buffers 121, 121,.

データバッファ部120のうち、右端の16×16の領域には、プロセッサアレイ部130が重ねて設けられている。プロセッサアレイ部130は、16×16の合計256個のプロセッサエレメント131,131,…を有している。つまり、各プロセッサエレメント131,131,…には、1つずつデータバッファ121,121,…が対応している。   In the data buffer unit 120, the processor array unit 130 is provided in an overlapped manner in the 16 × 16 region at the right end. The processor array unit 130 has a total of 256 processor elements 131, 131,. In other words, one data buffer 121, 121,... Corresponds to each processor element 131, 131,.

プロセッサアレイ部130においては、ブロックマッチングにおける類似度の指標として、排他的論理和の総和(以下、「SXOR(Sum of Exclusive-OR)」という。)が演算される。ここで、「排他的論理和の総和」とは、排他的論理和演算の結果である論理値を数値とみなし、その数値についての総和(算術和としての総和)をとった値をいう。
候補となる動きベクトルがd(d,d)のとき, SXOR値は式(2)で求められる。このとき、r(x,y),c(x,y)はそれぞれ参照ブロックと候補ブロックの座標(x,y)における輝度を表す。
The processor array unit 130 calculates the sum of exclusive ORs (hereinafter referred to as “SXOR (Sum of Exclusive-OR)”) as an index of similarity in block matching. Here, the “total sum of exclusive OR” refers to a value obtained by taking a logical value as a result of the exclusive OR operation as a numerical value and taking the total (sum as an arithmetic sum) for the numerical value.
When the candidate motion vector is d (d x , d y ), the SXOR value is obtained by equation (2). At this time, r (x, y) and c (x, y) represent the luminance at the coordinates (x, y) of the reference block and the candidate block, respectively.

プロセッサエレメント131,131,…は、1つ1つがマクロブロックの1画素分の画素データを保持することが可能であり、1クロックサイクルごとにマクロブロックの画素データと候補フレームの画素データとの排他的論理和を出力する。上下に隣り合うプロセッサエレメント131,131,…は互いにデータバス125によって接続されており、排他的論理和の結果は順次真下のプロセッサエレメント131,131,…に伝送される。真上のプロセッサエレメント131からプロセッサエレメント131が排他的論理和の結果を受け取ると、当該プロセッサエレメント131が演算した排他的論理和と受け取った排他的論理和とが加算され、当該プロセッサエレメント131において中間結果として保持される。さらに中間結果は当該プロセッサエレメント131の真下のプロセッサエレメント131へと伝送され、この中間結果にそのプロセッサエレメント131において演算された排他的論理和の結果が加算され、新たな中間結果として保持される。最終的に16列分の中間結果は、総和部140へと与えられる。   Each of the processor elements 131, 131,... Can hold pixel data for one pixel of the macroblock, and the macroblock pixel data and the candidate frame pixel data are mutually exclusive for each clock cycle. Output logical OR. .. Are connected to each other via the data bus 125, and the result of the exclusive OR is sequentially transmitted to the processor elements 131, 131,. When the processor element 131 receives the result of the exclusive OR from the processor element 131 directly above, the exclusive OR calculated by the processor element 131 and the received exclusive OR are added, and the processor element 131 performs intermediate processing. Retained as a result. Further, the intermediate result is transmitted to the processor element 131 immediately below the processor element 131, and the result of the exclusive OR calculated in the processor element 131 is added to the intermediate result and held as a new intermediate result. Finally, the intermediate results for 16 columns are given to the summation unit 140.

図3は、プロセッサエレメント131の構成を示す模式図である。上述したように、プロセッサエレメント131には、8ビットのビット長の入力レジスタであるデータバッファ121が対応して設けられている。また、プロセッサエレメント131には、8ビットのビット長の入力レジスタ132と、8個(複数;処理データのビット長に応じた数)のEXORゲートが列状に配置された排他的論理和演算部133と、12ビットの加算器(算術加算器)134と、12ビットの出力レジスタ135とが設けられている。   FIG. 3 is a schematic diagram showing the configuration of the processor element 131. As described above, the processor element 131 is provided with the data buffer 121 which is an input register having a bit length of 8 bits. The processor element 131 includes an exclusive OR operation unit in which an input register 132 having a bit length of 8 bits and eight (a plurality; a number corresponding to the bit length of the processing data) EXOR gates are arranged in a line. 133, a 12-bit adder (arithmetic adder) 134, and a 12-bit output register 135 are provided.

入力レジスタ132には、マクロブロックの1画素分の画素データが保持される。排他的論理和演算部133の入力側には、入力レジスタ132とデータバッファ121とが接続されており、入力レジスタ132に保持されたマクロブロックの画素データB(B〜B)と、データバッファ121に保持された候補フレーム画像A(A〜A)の画素データとが与えられ、対応するビット毎に排他的論理和S(S〜S)を演算するようになっている。
排他的論理和演算部133によって得られた8ビットの排他的論理和データ(8個の論理値)は、8ビットの数値データとして扱われる。
例えば、マクロブロックの画素データが{10010010}であり、候補フレーム画像の画素データが{11010110}である場合、排他的論理和データは{01000100}となる。この場合の絶対差も{01000100}である。したがって、この例では、論理値の集合である排他的論理和データと、数値である絶対差と、は同一の値(同一のビット列)となる。
ただし、排他的論理和データと絶対差とは常に一致するとは限らず、例えば、マクロブロックの画素データが{10011010}であり、候補フレーム画像の画素データが{11010110}である場合、排他的論理和データは{01001100}となる。この場合の絶対差は{00111100}であり、排他的論理和データと絶対差とは異なる値となる。
The input register 132 holds pixel data for one pixel of the macroblock. The input register 132 and the data buffer 121 are connected to the input side of the exclusive OR operation unit 133, and the macroblock pixel data B (B 0 to B 7 ) held in the input register 132 and the data The pixel data of the candidate frame image A (A 0 to A 7 ) held in the buffer 121 is given, and an exclusive OR S (S 0 to S 7 ) is calculated for each corresponding bit. .
The 8-bit exclusive OR data (eight logic values) obtained by the exclusive OR operation unit 133 is handled as 8-bit numerical data.
For example, when the pixel data of the macroblock is {10010010} and the pixel data of the candidate frame image is {11010110}, the exclusive OR data is {01000100}. The absolute difference in this case is also {01000100}. Therefore, in this example, the exclusive OR data that is a set of logical values and the absolute difference that is a numerical value have the same value (the same bit string).
However, the exclusive OR data does not always match the absolute difference. For example, when the pixel data of the macroblock is {10011010} and the pixel data of the candidate frame image is {11010110}, the exclusive logic The sum data is {01100100}. The absolute difference in this case is {00111100}, and the exclusive OR data and the absolute difference are different values.

かかる排他的論理和データは数値データであるとみなして、加算器(算術加算器)134の入力に与えられる。この加算器134の入力側は、直上(同列の1つ上の行)のプロセッサエレメント131の出力レジスタ135にも接続され、このプロセッサエレメント131から中間結果が与えられるようになっている。加算器134の出力側には、出力レジスタ135が接続されており、数値データとみなされた排他的論理和データと、中間結果とを加算した新たな中間結果が、出力レジスタ135に出力されるようになっている。出力レジスタ135は、直下(同列の1つ下の行)のプロセッサエレメント131の加算器134(最下行のプロセッサエレメント131の出力レジスタ135については、総和部140)に接続されており、中間結果を出力するようになっている。   Such exclusive OR data is regarded as numerical data and is given to the input of an adder (arithmetic adder) 134. The input side of the adder 134 is also connected to the output register 135 of the processor element 131 immediately above (one row above in the same column), and an intermediate result is given from the processor element 131. An output register 135 is connected to the output side of the adder 134, and a new intermediate result obtained by adding the exclusive OR data regarded as numerical data and the intermediate result is output to the output register 135. It is like that. The output register 135 is connected to the adder 134 (the summing unit 140 for the output register 135 of the processor element 131 in the bottom row) of the processor element 131 immediately below (one row below in the same column), and the intermediate result is It is designed to output.

図1に示すように、総和部140は、16個の最下行のプロセッサエレメント131,131,…のそれぞれに接続されており、これらのプロセッサエレメント131,131,…から出力された中間結果を受け付ける。また、この中間結果を、数値データとして加算することで、ブロックの全画素についての排他的論理和の総和を演算するようになっている。   As shown in FIG. 1, the summation unit 140 is connected to each of the 16 bottom row processor elements 131, 131,..., And receives intermediate results output from these processor elements 131, 131,. . Further, by adding the intermediate results as numerical data, the sum of exclusive ORs for all the pixels of the block is calculated.

最小値検出部150は、常にSXORの最小値を保持するようになっている。つまり、最小値検出部150は、比較器等から構成されており、総和部140から与えられたSXORと、それまでのSXORの最小値とを比較し、新たに与えられたSXORが、それまでのSXORの最小値よりも小さいか否かを判別する。新たに与えられたSXORが、それまでのSXORの最小値よりも小さい場合には、最小値検出部150がこれをSXORの最小値として保持する。また、最小値検出部150は、最小値が更新されたときには、マクロブロックと候補フレーム画像の探索範囲の座標とから動きベクトルを算出し、これを記憶する。候補フレーム画像の全ての探索が終了したとき、最小値検出部150は、マクロブロックに対する動きベクトルを出力部160へ出力する。   The minimum value detection unit 150 always holds the minimum value of SXOR. That is, the minimum value detection unit 150 includes a comparator and the like, compares the SXOR given from the summation unit 140 with the minimum value of the SXOR so far, and the newly given SXOR is It is determined whether or not it is smaller than the minimum value of SXOR. When the newly given SXOR is smaller than the minimum value of SXOR so far, the minimum value detection unit 150 holds this as the minimum value of SXOR. Further, when the minimum value is updated, the minimum value detection unit 150 calculates a motion vector from the macroblock and the coordinates of the search range of the candidate frame image, and stores this. When all the search for candidate frame images is completed, the minimum value detection unit 150 outputs a motion vector for the macroblock to the output unit 160.

出力部160は、レジスタ等からなり、最小値検出部150から与えられた動きベクトルのデータを保持する。かかる出力部160は、画像処理装置100の外部に対して、この動きベクトルデータを出力するようになっている。   The output unit 160 includes a register or the like, and holds the motion vector data given from the minimum value detection unit 150. The output unit 160 outputs the motion vector data to the outside of the image processing apparatus 100.

上記の如く構成したことにより、本実施の形態に係る画像処理装置100にあっては、SADを用いたブロックマッチングに比して、ブロックマッチングの処理を簡易なものとすることが可能となる。
ここで、図4は、絶対差を演算するための回路構成を示す模式図であり、図5は、排他的論理和演算部133の回路構成を示す模式図である。図4に示すように、絶対差の演算回路では、2つの入力A,Bに対して、A−B及びB−Aの2つの減算を同時に行い、正の出力をマルチプレクサで選択することで、絶対差が演算される。
他方、図5に示すように、排他的論理和演算部133は、8個のEXORゲート133a,133a,…によって構成されており、各EXORゲート133a,133a,…で同時に排他的論理和を演算する構成であるので、演算に要するステップ数が少なくて済む。
With the configuration as described above, in the image processing apparatus 100 according to the present embodiment, the block matching process can be simplified as compared with the block matching using the SAD.
Here, FIG. 4 is a schematic diagram illustrating a circuit configuration for calculating an absolute difference, and FIG. 5 is a schematic diagram illustrating a circuit configuration of the exclusive OR operation unit 133. As shown in FIG. 4, in the absolute difference arithmetic circuit, two subtractions AB and BA are simultaneously performed on two inputs A and B, and a positive output is selected by a multiplexer. The absolute difference is calculated.
On the other hand, as shown in FIG. 5, the exclusive OR operation unit 133 is configured by eight EXOR gates 133a, 133a,..., And performs exclusive OR operation simultaneously on each EXOR gate 133a, 133a,. Therefore, the number of steps required for calculation is small.

また、ビット毎に取得された複数の排他的論理和からなる排他的論理和データを、桁の概念を有する数値データとして扱うことにより、排他的論理和データを、数値データである絶対差と同様に扱うことができる。つまり、排他的論理和データは、絶対差の演算から桁上げ処理を除外した結果に等しく、高確率で絶対差に近い値となる。特に、桁上げが発生しない組合せでは、排他的論理和データが絶対差と同一となる。このため、類似度を示す指標であるSXORは、類似度を高精度に反映した値となっている。   Also, by treating exclusive OR data consisting of multiple exclusive ORs obtained for each bit as numerical data having the concept of digits, exclusive OR data is similar to absolute difference that is numerical data. Can be handled. That is, the exclusive OR data is equal to the result obtained by excluding the carry processing from the absolute difference calculation, and has a high probability and a value close to the absolute difference. In particular, in a combination where no carry occurs, the exclusive OR data is the same as the absolute difference. For this reason, SXOR, which is an index indicating the degree of similarity, is a value that reflects the degree of similarity with high accuracy.

また、排他的論理和には符号が存在しないので、排他的論理和の演算においてAとBとを入れ換えても、同じ値となる。そのため、絶対差計算のように回路を並列化する必要はなく、回路規模を減少させることが可能となる。本実施の形態のように、計算のビット幅を8とすると、絶対差計算にはNAND素子換算で188ゲートを必要とするが、排他的論理和は32ゲートと、回路規模は約6分の1になる。そのうえ、排他的論理和には桁上げが存在しないため、クリティカルパスが劇的に短くなる。このため、処理速度の向上も見込める。   In addition, since there is no sign in the exclusive OR, the same value is obtained even if A and B are replaced in the exclusive OR operation. Therefore, it is not necessary to parallelize the circuit as in absolute difference calculation, and the circuit scale can be reduced. As in this embodiment, if the calculation bit width is 8, absolute difference calculation requires 188 gates in terms of NAND elements, but the exclusive OR is 32 gates, and the circuit scale is about 6 minutes. 1 Moreover, since there is no carry in the exclusive OR, the critical path is dramatically shortened. For this reason, an improvement in processing speed can be expected.

排他的論理和の演算では、桁上げ処理が行われないため、入力が同一の場合においては、排他的論理和データが絶対差より小さくなることはない。つまり、排他的論理和データと絶対差との間に誤差が生ずる場合には、常に排他的論理和データの方が絶対差よりも大きくなる(排他的論理和データ≧絶対差)。
ここで、比較する2つの画像間の類似度が低い場合には、それぞれの画像に含まれる画素データが大きく異なることになり、2つの画素データの絶対差は大きい値となる。このように、2つの画素データの絶対差が大きい場合に、排他的論理和データが絶対差よりも小さくなってしまうと、SXORも小さくなり、実際よりも類似度が高いと誤った評価がなされてしまう。しかしながら、上述したように排他的論理和データの方が絶対差よりも必ず大きい値となることから、実際には類似度が低い2つの画素データの類似度を誤って類似度が高いと判断するようなことは起こらない。
Since the carry operation is not performed in the exclusive OR operation, the exclusive OR data is never smaller than the absolute difference when the inputs are the same. That is, when an error occurs between the exclusive OR data and the absolute difference, the exclusive OR data is always larger than the absolute difference (exclusive OR data ≧ absolute difference).
Here, when the degree of similarity between the two images to be compared is low, the pixel data included in each image is greatly different, and the absolute difference between the two pixel data is a large value. In this way, when the absolute difference between the two pixel data is large, if the exclusive OR data becomes smaller than the absolute difference, SXOR also becomes small. If the similarity is higher than the actual, erroneous evaluation is made. End up. However, as described above, the exclusive OR data always has a larger value than the absolute difference, so that the similarity between two pieces of pixel data having actually low similarity is erroneously determined to be high. Such a thing does not happen.

(実施の形態2)
排他的論理和データは絶対差に近い値を取る場合が多いものの、誤差が生じる確率が比較的高く、その誤差の大きさは入力の組み合わせによって増減する。図6は、実施の形態1に係る排他的論理和演算部133による排他的論理和データと絶対差との誤差を示す図である。図において、横軸は入力Aを示し、縦軸は入力Bを示している。また、図において、誤差が小さいほど淡く、誤差が大きいほど濃くなるように濃淡で誤差の大きさを示している。図において破線で囲んだ領域は、入力AとBとの差が小さい領域である。この領域における誤差の存在は、ブロックマッチングの精度に強く影響する。このため、この領域では、排他的論理和データと絶対差との誤差が小さいことが望まれる。しかしながら、図6から分かるように、破線で囲んだ領域の中の一部において、大きな誤差(濃い部分)を生じている。例えば、入力ビット列が{10000000}と{01111111}の場合には、絶対差が1であるのに対して、これらの入力から得られる排他的論理和データを数値(算術値)として扱った場合の値は255となり、その誤差は254と非常に大きくなる。
つまり、図6からも明らかなように、入力ビット列の上位2ビットがそれぞれ{10}と{01}となる場合、排他的論理和データと絶対差の誤差は最も大きくなる。
(Embodiment 2)
Although the exclusive OR data often takes a value close to an absolute difference, the probability that an error will occur is relatively high, and the magnitude of the error increases or decreases depending on the combination of inputs. FIG. 6 is a diagram illustrating an error between the exclusive OR data and the absolute difference by the exclusive OR calculating unit 133 according to the first embodiment. In the figure, the horizontal axis indicates input A, and the vertical axis indicates input B. Further, in the figure, the magnitude of the error is shown by shading so that the smaller the error is, the lighter it is, and the larger the error is, the darker it is. In the figure, a region surrounded by a broken line is a region where the difference between inputs A and B is small. The presence of errors in this region strongly affects the accuracy of block matching. For this reason, in this region, it is desired that the error between the exclusive OR data and the absolute difference is small. However, as can be seen from FIG. 6, a large error (dark portion) occurs in a part of the region surrounded by the broken line. For example, when the input bit string is {10000000} and {01111111}, the absolute difference is 1, whereas the exclusive OR data obtained from these inputs is treated as a numerical value (arithmetic value). The value is 255, and the error is as large as 254.
That is, as apparent from FIG. 6, when the upper 2 bits of the input bit string are {10} and {01}, respectively, the error between the exclusive OR data and the absolute difference becomes the largest.

そこで、本実施の形態に係る画像処理装置では、排他的論理和の演算において例外処理を導入することで、入力AとBとの差が本来的に小さい領域における、排他的論理和データと絶対差との誤差を低減する。また、本実施の形態では、ブロックマッチングの精度に強く影響を及ぼす排他的論理和演算部の上位ビット(特に最上位ビット)の演算に例外処理を適用することとする。   Therefore, in the image processing apparatus according to the present embodiment, by introducing exceptional processing in the exclusive OR operation, the exclusive OR data and the absolute data in the region where the difference between the inputs A and B is inherently small are absolute. Reduce the error with the difference. In this embodiment, exception processing is applied to the calculation of the upper bits (particularly, the most significant bit) of the exclusive OR operation unit that strongly affects the accuracy of block matching.

以下、排他的論理和演算部の入力をそれぞれA,B、出力をSとして説明する。但し、nは0から7の整数であり、nが大きいほど上位ビットを指すこととする。 Hereinafter, enter each A n XOR operation unit, B n, the output will be described as S n. However, n is an integer from 0 to 7, and the higher n indicates the higher bit.

次の真理値表は、実施の形態1に係る排他的論理和演算部133の上位2ビットの入力値A,A及びB,Bと、上位2ビットの出力値SXORとの関係を示している。また、下表において、SADは、排他的論理和演算部133と同じ入力を絶対差演算回路に与えたときの上位2ビットの出力値を示している。

The following truth table shows the relationship between the upper two bits of the input values A 7 , A 6 and B 7 , B 6 of the exclusive OR operation unit 133 according to the first embodiment and the upper two bits of the output value SXOR. Is shown. In the table below, SAD indicates the output value of the upper 2 bits when the same input as that of the exclusive OR operation unit 133 is given to the absolute difference operation circuit.

上記の真理値表からも、入力ビット列の上位2ビットがそれぞれ{10}と{01}となる場合、排他的論理和データと絶対差とに誤差が生じることがわかる。つまり、{A,A},{B,B}={10},{01}及び{A,A},{B,B}={01},{10}の場合(表において○印で示す箇所)では、絶対差SADの最上位ビットSは0であるが、排他的論理和データSXORの最上位ビットは1となっている。 From the above truth table, it can be seen that when the upper 2 bits of the input bit string are {10} and {01}, an error occurs between the exclusive OR data and the absolute difference. That is, {A 7 , A 6 }, {B 7 , B 6 } = {10}, {01} and {A 7 , A 6 }, {B 7 , B 6 } = {01}, {10} in case (points indicated by ○ mark in the table), but the most significant bit S 7 of absolute differences SAD is 0, exclusive OR data most significant bit 7 of SXOR is then equal to one.

上記の真理値表に基づくと、絶対差SADの最上位ビットSは、次の論理式(3)によって表される。
Based on the above truth table, the most significant bit S 7 of absolute differences SAD is expressed by the following logical expression (3).

排他的論理和データSXORの最上位ビットSが1となる場合であっても、絶対差SADの最上位ビットSが0となるべきである場合、それにあわせて例外的に最上位ビットSを0にすればよい。つまり、最上位ビットSは単純にAとBの排他的論理和として求めるのではなく、上記の論理式(3)によって求めれば、絶対差SADの最上位ビットSと一致することになる。 Even when the most significant bit S 7 of the exclusive OR data SXOR is 1, if the most significant bit S 7 of the absolute difference SAD should be 0, the most significant bit S is exceptionally matched accordingly. 7 should be 0. That is, the most significant bit S 7 is not simply obtained as an exclusive OR of A 7 and B 7 , but if it is obtained by the above logical expression (3), it should match the most significant bit S 7 of the absolute difference SAD. become.

ここで、論理式(3)は、簡略化された次の論理式(4)と等価である。
Here, the logical expression (3) is equivalent to the following simplified logical expression (4).

排他的論理和演算部には、入力同士の排他的論理和を計算するため、A,Bを入力とするEXORゲートと、A,Bを入力とするEXORゲートとが既に存在している。そこで、これらのEXORゲートを利用して、例外処理の論理回路を構成するのが好ましい。そこで、EXORゲートを利用できるように、論理式(4)を変形すると、次の論理式(5)を導出することができる。 In the exclusive OR operation unit, an EXOR gate having A 7 and B 7 as inputs and an EXOR gate having A 6 and B 6 as inputs already exist in order to calculate an exclusive OR between inputs. ing. Therefore, it is preferable to configure a logic circuit for exception processing using these EXOR gates. Therefore, when the logical expression (4) is modified so that the EXOR gate can be used, the following logical expression (5) can be derived.

図7は、本実施の形態に係る画像処理装置の排他的論理和演算部の構成の一部を示す模式図である。本実施の形態に係る画像処理装置では、排他的論理和演算部233の上位ビットに、例外処理回路(例外処理部)236が設けられている。例外処理回路236は、2つのORゲート、2つのANDゲート、及び1つのNANDゲートの合計5つのゲートから構成されている。かかる例外処理回路236は、上記の論理式(6)の演算を実現するための回路である。   FIG. 7 is a schematic diagram illustrating a part of the configuration of the exclusive OR operation unit of the image processing apparatus according to the present embodiment. In the image processing apparatus according to the present embodiment, an exception processing circuit (exception processing unit) 236 is provided in the upper bits of the exclusive OR operation unit 233. The exception processing circuit 236 includes a total of five gates including two OR gates, two AND gates, and one NAND gate. The exception processing circuit 236 is a circuit for realizing the operation of the logical expression (6).

例外処理回路236は、入力Aの上位2ビットと、入力Bの上位2ビットに基づいて、絶対差の最上位ビットの値を演算し、絶対差の最上位ビットの値が、排他的論理和データの最上位ビットの値となる。
図8は、本実施の形態に係る排他的論理和演算部233による排他的論理和データと絶対差との誤差を示すグラフである。図において、横軸は入力Aを示し、縦軸は入力Bを示している。また、図において、誤差が小さいほど淡く、誤差が大きいほど濃くなるように濃淡で誤差の大きさを示している。図6と比較すると、入力A,Bの上位2ビットが{10},{01}における誤差が減少していることが分かる。
The exception processing circuit 236 calculates the value of the most significant bit of the absolute difference based on the upper 2 bits of the input A and the upper 2 bits of the input B, and the value of the most significant bit of the absolute difference is exclusive ORed. This is the value of the most significant bit of data.
FIG. 8 is a graph showing an error between the exclusive OR data and the absolute difference by the exclusive OR calculating unit 233 according to the present embodiment. In the figure, the horizontal axis indicates input A, and the vertical axis indicates input B. Further, in the figure, the magnitude of the error is shown by shading so that the smaller the error is, the lighter it is, and the larger the error is, the darker it is. Compared with FIG. 6, it can be seen that the upper 2 bits of the inputs A and B have reduced errors in {10} and {01}.

実施形態2では、例外処理回路236は、排他的論理和データの最上位ビットの値だけを演算するものであるが、排他的論理和データの複数の上位ビット(例えば、上位2ビット又は上位3ビット)の値を演算するものであってもよい。
また、例外処理回路236によって排他的論理和データのX個の上位ビットの値を求める場合、入力A,Bの(X+1)個以上の上位ビットを用いるのが好ましい。
なお、本実施の形態に係る画像処理装置のその他の構成及び動作は、実施の形態1に係る画像処理装置100の構成及び動作と同様であるので、その説明を省略する。
In the second embodiment, the exception processing circuit 236 calculates only the value of the most significant bit of the exclusive OR data, but a plurality of upper bits (for example, the upper 2 bits or the upper 3 bits of the exclusive OR data). Bit) value may be calculated.
When the exception processing circuit 236 obtains the value of X upper bits of the exclusive OR data, it is preferable to use (X + 1) or more upper bits of the inputs A and B.
Note that other configurations and operations of the image processing apparatus according to the present embodiment are the same as the configurations and operations of the image processing apparatus 100 according to the first embodiment, and thus description thereof is omitted.

(実施の形態3)
本実施の形態では、ソフトウェアによる情報処理によって、SXORを利用したブロックマッチングを行う画像処理装置について説明する。
(Embodiment 3)
In the present embodiment, an image processing apparatus that performs block matching using SXOR by information processing by software will be described.

まず、本実施の形態に係る画像処理装置の構成について説明する。図9は、本実施の形態に係る画像処理装置の機能ブロック図である。画像処理装置300は、CPU及び主記憶装置としてのメモリを備えたコンピュータによって構成されている。画像処理装置300を構成するコンピュータには、当該コンピュータを画像処理装置300として機能させるためのコンピュータプログラム(以下、「画像処理プログラム」という。)がインストールされている。以下の画像処理装置300の機能は、当該画像処理プログラムがコンピュータによって実行されることによって発揮される。   First, the configuration of the image processing apparatus according to the present embodiment will be described. FIG. 9 is a functional block diagram of the image processing apparatus according to the present embodiment. The image processing apparatus 300 includes a computer having a CPU and a memory as a main storage device. A computer program (hereinafter referred to as “image processing program”) for causing the computer to function as the image processing apparatus 300 is installed in the computer constituting the image processing apparatus 300. The following functions of the image processing apparatus 300 are exhibited when the image processing program is executed by a computer.

画像処理装置300は、入力部301、注目ブロック選択部302、排他的論理和演算部303、総和部304、最小値検出部305、及び出力部306としての機能を有している。また、画像処理装置300にはハードディスク装置からなる補助記憶装置が内蔵されており、この補助記憶装置によって候補フレームデータベース307及びマクロブロックデータベース308が構成されている。   The image processing apparatus 300 has functions as an input unit 301, a target block selection unit 302, an exclusive OR operation unit 303, a summation unit 304, a minimum value detection unit 305, and an output unit 306. The image processing apparatus 300 has a built-in auxiliary storage device including a hard disk device, and a candidate frame database 307 and a macroblock database 308 are configured by the auxiliary storage device.

入力部301は、候補フレーム及びマクロブロックの入力を受け付けるように構成されている。かかる入力部301によって受け付けられた候補フレームは、候補フレームデータベース307に記憶され、入力部301によって受け付けられたマクロブロックは、マクロブロックデータベース308に記憶される。   The input unit 301 is configured to accept input of candidate frames and macroblocks. Candidate frames accepted by the input unit 301 are stored in the candidate frame database 307, and macroblocks accepted by the input unit 301 are stored in the macroblock database 308.

注目ブロック選択部302は、候補フレームデータベース307に記憶されている候補フレームから、注目ブロックを選択するためのものである。かかる注目ブロック選択部302によって、256×256の候補フレーム画像から、処理対象の領域である16×16の注目ブロックが選択される。   The target block selection unit 302 is for selecting a target block from the candidate frames stored in the candidate frame database 307. The target block selection unit 302 selects a 16 × 16 target block, which is a region to be processed, from 256 × 256 candidate frame images.

排他的論理和演算部303は、注目ブロック選択部302によって選択された注目ブロックの画素と、及び基準画像であるマクロブロックの互いに対応する画素について、画素データの排他的論理和を演算するためのものである。この排他的論理和演算部303によって、注目ブロック及びマクロブロックの256画素全てについて、画素データの排他的論理和が演算される。   The exclusive OR operation unit 303 calculates an exclusive OR of pixel data for the pixels of the target block selected by the target block selection unit 302 and the corresponding pixels of the macroblock that is the reference image. Is. The exclusive OR operation unit 303 calculates an exclusive OR of the pixel data for all 256 pixels of the target block and macroblock.

総和部304は、排他的論理和演算部303によって得られた各排他的論理和を加算し、SXORを演算するためのものである。   The summation unit 304 adds the exclusive ORs obtained by the exclusive OR operation unit 303 to calculate SXOR.

最小値検出部305は、総和部304によって得られたSXORの最小値を保持し、その最小値が得られたときのマクロブロックと候補フレーム画像における注目ブロックの座標とから動きベクトルを算出し、これを記憶する。   The minimum value detection unit 305 holds the minimum value of SXOR obtained by the summation unit 304, calculates a motion vector from the macroblock when the minimum value is obtained and the coordinates of the target block in the candidate frame image, Remember this.

出力部306は、最小値検出部305によって得られた動きベクトルを出力するためのものである。かかる出力部306は、例えばディスプレイに動きベクトルを表示したり、ハードディスクに動きベクトルを記憶したりする。   The output unit 306 is for outputting the motion vector obtained by the minimum value detection unit 305. The output unit 306 displays, for example, a motion vector on a display or stores a motion vector on a hard disk.

候補フレームデータベース307には、候補フレームの画像データが記憶される。また、マクロブロックデータベース308には、比較対象であるマクロブロックの画像データが記憶される。   The candidate frame database 307 stores image data of candidate frames. The macroblock database 308 stores macroblock image data that is a comparison target.

次に、本実施の形態に係る画像処理装置300の動作について説明する。図10は、本実施の形態に係る画像処理装置による画像処理の流れを示すフローチャートである。   Next, the operation of the image processing apparatus 300 according to this embodiment will be described. FIG. 10 is a flowchart showing a flow of image processing by the image processing apparatus according to the present embodiment.

まず、入力部301に入力された候補フレーム及びマクロブロックのそれぞれが、候補フレームデータベース307及びマクロブロックデータベース308に格納される(ステップS1)。   First, each of the candidate frame and macroblock input to the input unit 301 is stored in the candidate frame database 307 and the macroblock database 308 (step S1).

次に、注目ブロック選択部302が、候補フレームデータベース307から候補ブロックを読み出し、この候補フレームから処理対象の領域である注目ブロックを選択する(ステップS2)。   Next, the block-of-interest selection unit 302 reads candidate blocks from the candidate frame database 307 and selects a block of interest that is a processing target area from the candidate frames (step S2).

排他的論理和演算部303が、マクロブロックデータベース308からマクロブロックを読み出し、選択された注目ブロックと、マクロブロックとにおける互いに対応する画素について、画素データの排他的論理和を演算する(ステップS3)。排他的論理和が演算されると、排他的論理和演算部303が、注目ブロックの全ての画素について排他的論理和が演算されたか否かを判定し(ステップS4)、排他的論理和が演算されていない画素が存在する場合には(ステップS4においてNO)、ステップS3へと処理を戻し、排他的論理和が演算されていない画素について、画素データの排他的論理和を演算する(ステップS3)。これを繰り返すことにより、16×16の全ての画素について排他的論理和が演算される。   The exclusive OR operation unit 303 reads out the macroblock from the macroblock database 308, and calculates the exclusive OR of the pixel data for the selected target block and the corresponding pixels in the macroblock (step S3). . When the exclusive OR is calculated, the exclusive OR calculating unit 303 determines whether or not the exclusive OR is calculated for all the pixels of the block of interest (step S4), and the exclusive OR is calculated. If there is a pixel that has not been processed (NO in step S4), the process returns to step S3, and the exclusive OR of the pixel data is calculated for the pixel for which the exclusive OR has not been calculated (step S3). ). By repeating this, an exclusive OR is calculated for all 16 × 16 pixels.

ステップS4において、注目ブロックの全画素について排他的論理和が演算された場合には(ステップS4においてYES)、総和部304が、排他的論理和演算部303によって演算された256個の排他的論理和を加算し、SXORを演算する(ステップS5)。   In step S4, when the exclusive OR is calculated for all the pixels of the block of interest (YES in step S4), the summation unit 304 calculates 256 exclusive logics calculated by the exclusive OR calculation unit 303. The sum is added to calculate SXOR (step S5).

次に最小値検出部305が、総和部304によって算出されたSXORを、それまでに算出されたSXORの最小値と比較する(ステップS6)。新たなSXORがそれまでの最小値よりも小さい場合には、新たなSXORが最小値とされ、SXORの最小値が更新される。また、このとき、最小値検出部305は、当該新たなSXORが演算されたときの注目ブロックの座標と、マクロブロックの座標とから、動きベクトルを演算し、この動きベクトルを記憶する。新たなSXORよりも最小値の方が小さい場合には、それまでの最小値が維持される。なお、第1回目に演算されたSXORについては、これが最小値とされる。   Next, the minimum value detection unit 305 compares the SXOR calculated by the summation unit 304 with the minimum value of SXOR calculated so far (step S6). If the new SXOR is smaller than the previous minimum value, the new SXOR is set to the minimum value, and the minimum value of SXOR is updated. At this time, the minimum value detection unit 305 calculates a motion vector from the coordinates of the block of interest when the new SXOR is calculated and the coordinates of the macroblock, and stores the motion vector. If the minimum value is smaller than the new SXOR, the previous minimum value is maintained. Note that this is the minimum value for the SXOR calculated for the first time.

次に、候補フレームの全領域について、注目ブロックが選択されたか否かが判定され(ステップS7)、候補フレームにおいて注目ブロックとして選択されていない領域が残っている場合には(ステップS7においてNO)、処理がステップS2へと戻され、候補フレームにおける未選択の領域が、注目ブロックとして選択され(ステップS2)、ステップS3以降の処理が実行される。   Next, it is determined whether or not the block of interest has been selected for all the regions of the candidate frame (step S7). If there remains a region not selected as the block of interest in the candidate frame (NO in step S7). Then, the process returns to step S2, an unselected region in the candidate frame is selected as a target block (step S2), and the processes after step S3 are executed.

ステップS7において、候補フレームの全ての領域について、注目ブロックが選択された場合には(ステップS7においてYES)、出力部306が、SXORの最小値が得られたときの動きベクトルを出力し(ステップS8)、処理を終了する。   If the target block is selected for all regions of the candidate frame in step S7 (YES in step S7), the output unit 306 outputs a motion vector when the minimum value of SXOR is obtained (step S7). S8), the process is terminated.

(評価実験1)
実施の形態1及び2において説明した構成の画像処理装置(動き検出プロセッサ)を、2.5mm角のLSIに実装した。ハードウェア記述言語としてVerilogHDLを、論理合成にSynopsys社製のDesign Compilerを、自動配置配線に同社のIC Compilerを、設計規則にローム0.18μm設計プロセスを使用した。また、比較対象として、同様の条件でSADによる動き検出プロセッサも作製した。
(Evaluation Experiment 1)
The image processing apparatus (motion detection processor) having the configuration described in the first and second embodiments is mounted on a 2.5 mm square LSI. Verilog HDL was used as the hardware description language, Design Compiler from Synopsys was used for logic synthesis, IC Compiler of the same company was used for automatic placement and routing, and ROHM 0.18 μm design process was used for design rules. For comparison, a motion detection processor using SAD was also manufactured under the same conditions.

表2に、SADによる動き検出プロセッサ(表2では「SAD」と表記)、実施の形態1に係る動き検出プロセッサ(表2では「SXOR」と表記)、及び実施の形態2に係る動き検出プロセッサ(表2では「例外処理付きSXOR」と表記)のそれぞれについて、動き検出プロセッサ全体の面積及び最大動作周波数を示す。動き検出プロセッサの面積は、実装したマクロ全ての合計を、動作周波数はプロセッサ全体のクリティカルパスを元に計算した。
Table 2 shows a motion detection processor by SAD (indicated as “SAD” in Table 2), a motion detection processor according to Embodiment 1 (indicated as “SXOR” in Table 2), and a motion detection processor according to Embodiment 2. The total area and the maximum operating frequency of the motion detection processor are shown for each of them (indicated as “SXOR with exception handling” in Table 2). The area of the motion detection processor was calculated based on the total of all installed macros, and the operating frequency was calculated based on the critical path of the entire processor.

また、表3に、SADによる動き検出プロセッサ(表3では「SAD」と表記)、実施の形態1に係る動き検出プロセッサ(表3では「SXOR」と表記)、及び実施の形態2に係る動き検出プロセッサ(表3では「例外処理付きSXOR」と表記)のそれぞれについて、プロセッサアレイ部の面積及び最大動作周波数を示す。
Table 3 shows a motion detection processor by SAD (indicated as “SAD” in Table 3), a motion detection processor according to the first embodiment (indicated as “SXOR” in Table 3), and a motion according to the second embodiment. For each of the detection processors (indicated as “SXOR with exception handling” in Table 3), the area of the processor array section and the maximum operating frequency are shown.

表2及び表3から分かるように、プロセッサ全体の動作周波数はプロセッサアレイ部に依存しており、面積の差異も殆どがプロセッサアレイ部によるものである。結果として、SXORによる動き検出プロセッサは、SADによる動き検出プロセッサと比較して、面積がプロセッサ全体で約14%、プロセッサアレイ部で約4割削減されており、動作周波数が約1.25倍向上している。また、例外処理付きSXORによる動き検出プロセッサでは、SXORによる動き検出プロセッサと比較して、面積及び動作周波数の両方において若干劣っているものの、その差は1%前後であった。このように、例外処理付きSXORによる動き検出プロセッサにおいても、SXORによる動き検出プロセッサと同様に良好な結果が得られた。   As can be seen from Tables 2 and 3, the operating frequency of the entire processor depends on the processor array section, and the difference in area is mostly due to the processor array section. As a result, the motion detection processor using SXOR has an area reduced by about 14% for the entire processor and about 40% for the processor array compared to the motion detection processor using SAD, and the operating frequency is improved by about 1.25 times. doing. Further, the motion detection processor using SXOR with exception processing is slightly inferior in both area and operating frequency as compared with the motion detection processor using SXOR, but the difference is around 1%. As described above, in the motion detection processor using SXOR with exception processing, good results were obtained in the same manner as the motion detection processor using SXOR.

(評価実験2)
また、本発明者らは、実施の形態1乃至3に係る画像処理装置の性能を評価するために、ソフトウェアシミュレーションによる評価実験を行った。具体的には、SXOR、例外処理付きSXOR、及びSADのそれぞれを利用した動き検出プログラムを実装し、それぞれのプログラムによって動画像の符号化を行った。なお、動画圧縮規格はMPEG2(Moving Picture Experts Group phase 2)に準拠するものとし、符号化する動画にはVideo Qualiuty Experts Group (VQEG)が提供するサンプル動画(Football, Susie, Mobile)を使用した。表4に、実験環境を示し、表5に、実験結果を示す。

(Evaluation Experiment 2)
In addition, the present inventors conducted an evaluation experiment by software simulation in order to evaluate the performance of the image processing apparatus according to the first to third embodiments. Specifically, a motion detection program using each of SXOR, SXOR with exception handling, and SAD was implemented, and a moving image was encoded by each program. Note that the video compression standard conforms to MPEG2 (Moving Picture Experts Group phase 2), and sample videos (Football, Susie, Mobile) provided by the Video Qualiuty Experts Group (VQEG) were used for the video to be encoded. Table 4 shows the experimental environment, and Table 5 shows the experimental results.

ノイズの測定には、Peak Signal to Noise Ratio (PSNR)を使用した。PSNRは、画像に含まれるノイズの比率であり、符号化前野画像と符号化後の画像を比較することで計測される。一般的に、高画質と呼ばれる画像のPSNRは30db以上であり、本実験により符号化した画像は全てこれを満たしていた。また、表5に示すように、例外処理を付加していないSXORによる動き検出及び例外処理付きのSXORによる動き検出の両方において、SADによる動き検出との誤差は1.0db以内に収まっており、十分に高い画質であると言える。また、例外処理付きSXORによる動き検出では、全ての動画においてSXORによる動き検出よりよい結果が得られた。   For measurement of noise, Peak Signal to Noise Ratio (PSNR) was used. PSNR is a ratio of noise included in an image, and is measured by comparing the pre-encoded image and the encoded image. Generally, the PSNR of an image called high image quality is 30 db or more, and all the images encoded by this experiment satisfy this. Also, as shown in Table 5, in both the motion detection by SXOR without exception processing and the motion detection by SXOR with exception processing, the error from the motion detection by SAD is within 1.0 db, It can be said that the image quality is sufficiently high. In addition, in the motion detection by SXOR with exception processing, a better result than the motion detection by SXOR was obtained for all moving images.

また、XSORを利用した動き検出では、符号化に要する計算時間が、SADを利用した動き検出よりも12%程度短縮できた。   Also, in motion detection using XSOR, the calculation time required for encoding can be reduced by about 12% compared to motion detection using SAD.

(その他の実施の形態)
上述した実施形態1乃至3においては、動画の符号化を行う動き検出において、SXOR及び例外処理付きSXORを利用する構成について述べたが、これに限定されるものではない。例えば、音声圧縮等において、SXOR又は例外処理付きSXORを演算する構成とすることも可能である。
(Other embodiments)
In Embodiments 1 to 3 described above, the configuration using SXOR and SXOR with exception processing in motion detection for encoding a moving image has been described. However, the present invention is not limited to this. For example, in audio compression or the like, SXOR or SXOR with exception processing can be calculated.

100,300 画像処理装置(データ処理装置)
120 データバッファ部
121 データバッファ
130 プロセッサアレイ部
131 プロセッサエレメント
132 入力レジスタ
133,233,303 排他的論理和演算部
133a EXORゲート
134 加算器
135 出力レジスタ
140,304 総和部(類似度演算部)
150,305 最小値検出部
236 例外処理回路(例外処理部)
302 注目ブロック選択部
307 候補フレームデータベース
308 マクロブロックデータベース
100,300 Image processing device (data processing device)
DESCRIPTION OF SYMBOLS 120 Data buffer part 121 Data buffer 130 Processor array part 131 Processor element 132 Input register 133,233,303 Exclusive OR operation part 133a EXOR gate 134 Adder 135 Output register 140,304 Summation part (similarity calculation part)
150, 305 Minimum value detection unit 236 Exception processing circuit (exception processing unit)
302 Block selection unit 307 Candidate frame database 308 Macroblock database

Claims (9)

所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価するためのデータ処理装置であって、
前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得する排他的論理和演算部と、
前記第1データと前記第2データとの類似度を示す指標を演算する類似度演算部と、を備え、
前記類似度演算部は、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とする
データ処理装置。
A data processing device for evaluating the degree of similarity between first data and second data each including a plurality of processing data composed of a bit string of a predetermined length,
The bit string of the predetermined length in which the exclusive OR of the processing data included in the first data and the processing data included in the second data is calculated for each bit, and the obtained exclusive OR is continuous for each bit. An exclusive OR operation unit for acquiring exclusive OR data configured as:
A similarity calculation unit that calculates an index indicating the similarity between the first data and the second data;
The similarity calculation unit obtains a sum by arithmetic operation of a plurality of exclusive OR data by treating each of the plurality of exclusive OR data acquired for each of the plurality of processing data as numerical data, and calculates the sum. A data processing apparatus that uses the similarity as an index.
前記排他的論理和演算部は、前記排他的論理和データの上位所定ビットの値を演算する例外処理部を備え、
前記例外処理部は、前記第1データに含まれる処理データと前記第2データに含まれる処理データとの絶対差の上位所定ビットの値を演算し、
前記排他的論理和演算部は、前記例外処理部によって演算された前記絶対差の上位所定数ビットの値を、上位所定数ビットに含む前記排他的論理和データを取得する
請求項1に記載のデータ処理装置。
The exclusive OR operation unit includes an exception processing unit that calculates a value of an upper predetermined bit of the exclusive OR data,
The exception processing unit calculates a value of an upper predetermined bit of an absolute difference between the processing data included in the first data and the processing data included in the second data;
The exclusive OR operation unit acquires the exclusive OR data including the value of the upper predetermined number of bits of the absolute difference calculated by the exception processing unit in the upper predetermined number of bits. Data processing device.
前記例外処理部は、前記第1データの処理データの上位ビットと、前記第2データの処理データ上位ビットとに基づいて、前記絶対差の上位所定数ビットを演算する
請求項2に記載のデータ処理装置。
3. The data according to claim 2, wherein the exception processing unit calculates an upper predetermined number of bits of the absolute difference based on an upper bit of the processing data of the first data and an upper bit of the processing data of the second data. Processing equipment.
前記例外処理部は、前記第1データの処理データの上位2ビットと、前記第2データの処理データの上位2ビットとに基づいて、前記絶対差の最上位ビットを演算する
請求項3に記載のデータ処理装置。
The exception processing unit calculates the most significant bit of the absolute difference based on the upper 2 bits of the processing data of the first data and the upper 2 bits of the processing data of the second data. Data processing equipment.
前記排他的論理和演算部は、前記処理データの複数ビットのそれぞれに対応する複数のEXORゲートを含み、前記複数のEXORゲートによって前記複数ビットの排他的論理和演算を並列に実行する
請求項1〜4のいずれか1項に記載のデータ処理装置。
2. The exclusive OR operation unit includes a plurality of EXOR gates corresponding to each of a plurality of bits of the processing data, and executes the plurality of bits of the exclusive OR operation in parallel by the plurality of EXOR gates. The data processing apparatus of any one of -4.
前記排他的論理和演算部は、前記第1データに含まれる1つの処理データと、前記第2データに含まれる1つの処理データとの排他的論理和を演算する単位演算部を複数具備し、各単位演算部において、複数の処理データについての排他的論理和の演算を並列に実行する
請求項1〜5の何れか1項に記載のデータ処理装置。
The exclusive OR operation unit includes a plurality of unit operation units for calculating exclusive OR of one processing data included in the first data and one processing data included in the second data, The data processing device according to any one of claims 1 to 5, wherein each unit operation unit performs an exclusive OR operation on a plurality of processing data in parallel.
所定長のビット列からなる複数の画素データをそれぞれ含む第1画像データと第2画像データとの類似度を評価するための画像処理装置であって、
前記第1画像データに含まれる画素データと、前記第2画像データの画素データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得する排他的論理和演算部と、
前記第1画像データと前記第2画像データとの類似度を示す指標を演算する類似度演算部と、を備え、
前記類似度演算部は、複数の画素データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似を示す指標とする
画像処理装置。
An image processing apparatus for evaluating the similarity between first image data and second image data each including a plurality of pixel data composed of a bit string of a predetermined length,
The bit string of the predetermined length in which the exclusive OR of the pixel data included in the first image data and the pixel data of the second image data is calculated for each bit, and the obtained exclusive OR for each bit continues. An exclusive OR operation unit for acquiring exclusive OR data configured as:
A similarity calculation unit that calculates an index indicating the similarity between the first image data and the second image data;
The similarity calculation unit obtains a sum by arithmetic operation of a plurality of exclusive OR data by treating each of a plurality of exclusive OR data acquired for each of a plurality of pixel data as numerical data, and calculates the sum. An image processing apparatus using the similarity as an index.
所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価するデータ処理方法であって、
前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得するステップと、
前記第1データと前記第2データとの類似度を示す指標を演算するステップと、
を含み、
前記第1データと前記第2データとの類似度を示す指標を演算するステップは、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とすることを含む
データ処理方法。
A data processing method for evaluating the degree of similarity between first data and second data each including a plurality of processing data composed of a bit string of a predetermined length,
The bit string of the predetermined length in which the exclusive OR of the processing data included in the first data and the processing data included in the second data is calculated for each bit, and the obtained exclusive OR is continuous for each bit. Obtaining exclusive-or data configured as:
Calculating an index indicating the degree of similarity between the first data and the second data;
Including
The step of calculating an index indicating the degree of similarity between the first data and the second data is performed by treating each of a plurality of exclusive OR data acquired for each of a plurality of processing data as numerical data, thereby A data processing method comprising: calculating a sum of arithmetic logical OR data by an arithmetic operation and using the sum as an index indicating the similarity.
所定長のビット列からなる複数の処理データをそれぞれ含む第1データと第2データとの類似度を評価する処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記処理は、
前記第1データに含まれる処理データと、前記第2データに含まれる処理データとの排他的論理和をビット毎に演算し、得られたビット毎の排他的論理和が連なる前記所定長のビット列として構成された排他的論理和データを取得するステップと、
前記第1データと前記第2データとの類似度を示す指標を演算するステップと、
を含み、
前記第1データと前記第2データとの類似度を示す指標を演算するステップは、複数の処理データそれぞれについて取得された複数の排他的論理和データそれぞれを数値データとして扱うことで、複数の排他的論理和データの算術演算による総和を求め、前記総和を、前記類似度を示す指標とすることを含む
コンピュータプログラム。
A computer program for causing a computer to execute a process of evaluating the similarity between first data and second data, each of which includes a plurality of processing data composed of a bit string of a predetermined length,
The process is
The bit string of the predetermined length in which the exclusive OR of the processing data included in the first data and the processing data included in the second data is calculated for each bit, and the obtained exclusive OR is continuous for each bit. Obtaining exclusive-or data configured as:
Calculating an index indicating the degree of similarity between the first data and the second data;
Including
The step of calculating an index indicating the degree of similarity between the first data and the second data is performed by treating each of a plurality of exclusive OR data acquired for each of a plurality of processing data as numerical data, thereby A computer program comprising: obtaining a sum of arithmetic logical OR data by an arithmetic operation, and using the sum as an index indicating the similarity.
JP2013111129A 2013-05-27 2013-05-27 Data processor, image processor, data processing method, and computer program Pending JP2014229263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013111129A JP2014229263A (en) 2013-05-27 2013-05-27 Data processor, image processor, data processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013111129A JP2014229263A (en) 2013-05-27 2013-05-27 Data processor, image processor, data processing method, and computer program

Publications (1)

Publication Number Publication Date
JP2014229263A true JP2014229263A (en) 2014-12-08

Family

ID=52129006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013111129A Pending JP2014229263A (en) 2013-05-27 2013-05-27 Data processor, image processor, data processing method, and computer program

Country Status (1)

Country Link
JP (1) JP2014229263A (en)

Similar Documents

Publication Publication Date Title
CN103167218B (en) A kind of super resolution ratio reconstruction method based on non-locality and equipment
CN111027412B (en) Human body key point identification method and device and electronic equipment
CN114118384A (en) Quantization method of neural network model, readable medium and electronic device
CN113628259B (en) Image registration processing method and device
JP5056348B2 (en) Information processing apparatus and method, and program
JP6781823B2 (en) Interframe predictive coding method and equipment
JP5938935B2 (en) Moving picture coding apparatus and moving picture coding method
JP6388507B2 (en) Image processing device
JP4525064B2 (en) Motion vector detection apparatus, motion vector detection method, and computer program
KR102719424B1 (en) Method and device for determining branch history for branch prediction
WO2018011870A1 (en) Moving image processing device, moving image processing method, and moving image processing program
WO2022172341A1 (en) Object detection device, method, and program
JP2016045721A (en) Data storage method, ternary dot product calculation circuit, semiconductor device including the same, and ternary dot product calculation processing program
CN104333758A (en) Depth map prediction method, pixel detection method and related devices
Yang et al. Depth-reliability-based stereo-matching algorithm and its VLSI architecture design
JP2014229263A (en) Data processor, image processor, data processing method, and computer program
CN116977336A (en) Camera defect detection method, device, computer equipment and storage medium
US10063880B2 (en) Motion detecting apparatus, motion detecting method and program
US7852939B2 (en) Motion vector detection method and device of the same
JP4207764B2 (en) Motion vector detection apparatus, motion vector detection method, and computer program
US20130003870A1 (en) Apparatus and method for video data processing
JP2007158855A (en) Motion vector detection apparatus and motion vector detection method
JPWO2016142965A1 (en) Video processing apparatus, video processing method, and recording medium for storing video processing program
Teja et al. An efficient field programmable gate array based hardware architecture for efficient motion estimation with parallel implemented genetic algorithm
KR20170134487A (en) Efficient low-complexity video compression