JPH08123787A - Arithmetic circuit and signal processor using the same - Google Patents
Arithmetic circuit and signal processor using the sameInfo
- Publication number
- JPH08123787A JPH08123787A JP25858294A JP25858294A JPH08123787A JP H08123787 A JPH08123787 A JP H08123787A JP 25858294 A JP25858294 A JP 25858294A JP 25858294 A JP25858294 A JP 25858294A JP H08123787 A JPH08123787 A JP H08123787A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- arithmetic
- input
- data
- cumulative addition
- 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
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 移動平均演算処理に要する時間が短い演算回
路と、この演算回路を用いており、能率よく映像信号処
理を行うことができる映像信号処理プロセッサを提供す
る。
【構成】 クロックサイクルごとに、ワーキングバッフ
ァまたは入出力バッファにアクセスし、画素データxk
を入力端子Xから加算回路304およびレジスタ400
に読み込む。レジスタ400は、前のクロックサイクル
において入力された画素データxk-1 をセレクタ回路3
08を介してセレクタ回路402に対して出力する。累
加算回路304は、画素データxk ,xk-1 を加算して
出力端子Aから出力する。
(57) [Summary] (Modified) [Purpose] To provide an arithmetic circuit that requires a short time for moving average arithmetic processing and a video signal processor that can efficiently perform video signal processing by using this arithmetic circuit. To do. [Structure] Each clock cycle, a working buffer or an input / output buffer is accessed, and pixel data x k
From input terminal X to adder circuit 304 and register 400
Read in. The register 400 selects the pixel data x k−1 input in the previous clock cycle from the selector circuit 3
It outputs to the selector circuit 402 via 08. The cumulative addition circuit 304 adds the pixel data x k and x k−1 and outputs the result from the output terminal A.
Description
【0001】[0001]
【産業上の利用分野】本発明は、数値計算を行う計算機
システム、特に、画像処理用およびグラフィックス処理
用等の計算機システムに用いられる演算回路、および、
この演算回路を用いており、映像信号の符号化・復号化
処理に好適な信号処理プロセッサに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system for performing numerical calculation, and in particular, an arithmetic circuit used in a computer system for image processing and graphics processing, and
The present invention relates to a signal processor using this arithmetic circuit and suitable for encoding / decoding a video signal.
【0002】[0002]
【従来の技術】近年、CCITT H.261勧告やM
PEG等の標準規格に準拠して映像信号の圧縮符号化処
理あるいは伸長復号処理を行う映像信号処理装置用の信
号処理プロセッサが多数提案されている。信号処理プロ
セッサは、ディジタル形式の映像信号に含まれる画素デ
ータに対して、離散コサイン変換(DCT)処理、離散
コサイン逆変換(IDCT)処理、量子化処理、逆量子
化処理、動きベクトル検出処理、動き補償処理、画像デ
ータ加算処理および減算処理といった映像信号処理に必
要な要素処理を順次、実行するために適した構成になっ
ている。2. Description of the Related Art In recent years, CCITT H. 261 Recommendation and M
There have been proposed many signal processors for video signal processing devices that perform compression encoding processing or decompression decoding processing of video signals in accordance with standards such as PEG. The signal processor is a discrete cosine transform (DCT) process, a discrete cosine inverse transform (IDCT) process, a quantization process, an inverse quantization process, a motion vector detection process, for pixel data included in a digital format video signal. The configuration is suitable for sequentially executing the element processing necessary for the video signal processing such as the motion compensation processing, the image data addition processing and the subtraction processing.
【0003】[0003]
【発明が解決しようとする課題】映像信号処理装置にお
いては、上述した離散コサイン変換処理等の要素処理の
他に、動き補償処理のために、隣接する画素データの平
均値(移動平均値)を順次、算出し、算出した平均値を
これらの画素データの中間に位置する画素(仮想画素)
の画素データ(仮想画素データ)として扱い、画像デー
タを補間する処理を行う必要がある。In the video signal processing device, in addition to the element processing such as the discrete cosine transform processing described above, the average value (moving average value) of the adjacent pixel data is calculated for the motion compensation processing. Pixels located in the middle of these pixel data (virtual pixels) that are sequentially calculated and the calculated average value
It is necessary to treat the pixel data as the pixel data (virtual pixel data) and perform the process of interpolating the image data.
【0004】移動平均値の計算処理(移動平均演算処
理)は、算出すべき仮想画素の画素データ(仮想画素デ
ータ)の数だけ繰り返して行う必要がある。したがっ
て、1回の移動平均演算処理に要する時間が1クロック
サイクル(動作周期)でも長くなると、処理全体で多く
の時間を余計に費やすことになってしまう。The moving average value calculation process (moving average calculation process) needs to be repeated for the number of pixel data (virtual pixel data) of virtual pixels to be calculated. Therefore, if the time required for one moving average calculation process becomes long even for one clock cycle (operation period), a large amount of time will be spent in the entire process.
【0005】例えば、1回の移動平均演算処理につき処
理時間が1クロックサイクル長くなった場合において、
1マクロブロック(16×16;256個)分の仮想画
素データを生成するために移動平均演算処理を行うと、
17個の画素データから16個の仮想画素データを算出
する処理を16回繰り返す必要があるので、256クロ
ックサイクル分も処理時間が長くなってしまうことにな
る。しかも、移動平均演算処理を制御する制御ユニット
の制御シーケンスも256ステップ分多くなり、制御ユ
ニットの構成が複雑化してしまう。このように、移動平
均演算処理の処理時間が長くなると、その分、動き補償
処理の性能が低下するだけでなく、映像処理装置、ある
いは、これに用いられる信号処理プロセッサの構成も複
雑化してしまう。For example, in the case where the processing time is increased by one clock cycle for one moving average calculation process,
If moving average calculation processing is performed to generate virtual pixel data for one macroblock (16 × 16; 256),
Since it is necessary to repeat the process of calculating 16 virtual pixel data from 17 pixel data 16 times, the processing time becomes 256 clock cycles longer. Moreover, the control sequence of the control unit for controlling the moving average calculation process is increased by 256 steps, which complicates the configuration of the control unit. As described above, if the processing time of the moving average calculation process becomes long, not only the performance of the motion compensation process deteriorates, but also the configuration of the video processing device or the signal processor used for this becomes complicated. .
【0006】本発明は上述した従来技術の問題点に鑑み
てなされたものであり、移動平均演算処理に要する時間
が短く、しかも、同一の回路を用いて映像信号処理に必
要な累加算処理も行うことができる演算回路を提供する
ことを目的とする。また、本発明は上記の演算回路を用
いており、能率よく映像信号処理を行うことができる信
号処理プロセッサを提供することを目的とする。The present invention has been made in view of the above-mentioned problems of the prior art. The time required for the moving average calculation processing is short, and the cumulative addition processing required for the video signal processing is performed by using the same circuit. It is an object to provide an arithmetic circuit that can be performed. Another object of the present invention is to provide a signal processor that uses the above arithmetic circuit and can efficiently perform video signal processing.
【0007】[0007]
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の演算回路は、第1の入力端子と入力
データが印加される第2の入力端子とを有し、これらの
入力端子から入力されたデータを加算して保持する累加
算回路と、前記累加算回路の出力データを保持する累加
算結果レジスタと、動作クロックに応答して入力される
入力データを保持する入力レジスタと、前記累加算結果
レジスタの出力データおよび前記入力レジスタの出力デ
ータのいずれかを選択して前記累加算回路の第1の入力
端子に印加する第1のセレクタ回路とを具備し、移動加
算演算を実行する場合には、前記第1のセレクタ回路は
前記入力レジスタの出力データを前記累加算回路の第1
の入力端子に印加し、累加算演算を実行する場合には、
前記第1のセレクタ回路は前記累加算結果レジスタの出
力データを前記累加算回路の第1の入力端子に印加す
る。In order to achieve the above object, a first arithmetic circuit of the present invention has a first input terminal and a second input terminal to which input data is applied. A cumulative addition circuit that adds and holds the data input from the input terminal, a cumulative addition result register that holds the output data of the cumulative addition circuit, and an input that holds the input data input in response to the operation clock. And a first selector circuit that selects either the output data of the cumulative addition result register or the output data of the input register and applies the selected data to the first input terminal of the cumulative addition circuit. When executing the operation, the first selector circuit outputs the output data of the input register to the first addition circuit of the cumulative addition circuit.
When applying the cumulative addition operation to the input terminal of
The first selector circuit applies the output data of the cumulative addition result register to the first input terminal of the cumulative addition circuit.
【0008】本発明の第2の演算回路は、前記入力デー
タの負数を生成する負数生成回路と、前記負数生成回路
の出力データおよび前記入力データのいずれかを選択し
て前記累加算回路の第2の入力端子に印加する第2のセ
レクタ回路とをさらに具備し、移動加算演算および累加
算演算を実行する場合には、前記第2のセレクタ回路は
前記入力データを前記累加算回路の第2の入力端子に印
加し、累減算演算を実行する場合には、前記第2のセレ
クタ回路は前記負数を前記累加算回路の第2の入力端子
に印加する。A second arithmetic circuit according to the present invention is characterized in that a negative number generation circuit for generating a negative number of the input data, and one of the output data of the negative number generation circuit and the input data are selected to select the first addition circuit of the cumulative addition circuit. A second selector circuit for applying the input data to the second input terminal, the second selector circuit, when performing a moving addition operation and a cumulative addition operation, the second selector circuit outputs the input data to the second addition circuit of the cumulative addition circuit. When performing the cumulative subtraction operation by applying the negative number to the second input terminal of the cumulative addition circuit, the second selector circuit applies the negative number to the second input terminal of the cumulative addition circuit.
【0009】好適には、上記第2の演算回路と、前記第
2のセレクタ回路に、移動加算演算および累加算演算を
実行する場合には前記入力データを前記累加算回路の第
2の入力端子に印加させ、累減算演算を実行する場合に
は前記負数を前記累加算回路の第2の入力端子に印加さ
せる制御回路とを具備する。Preferably, when the moving addition operation and the cumulative addition operation are executed by the second arithmetic circuit and the second selector circuit, the input data is input to the second input terminal of the cumulative addition circuit. And a control circuit for applying the negative number to the second input terminal of the cumulative addition circuit when executing the cumulative subtraction operation.
【0010】好適には、複数の上記いずれかの演算回路
と、前記複数の演算回路を制御し、これらの演算回路に
並列的に前記移動加算値演算および前記累加算演算のい
ずれかを実行させる制御回路とを具備する。好適には、
複数の上記第2の演算回路と、前記複数の演算回路を制
御し、これらの演算回路に並列的に前記移動加算値演
算、前記累加算演算および前記累減算演算のいずれかを
実行させる制御回路とを具備する。Preferably, a plurality of the above arithmetic circuits and the plurality of arithmetic circuits are controlled to cause these arithmetic circuits to execute either the moving addition value calculation or the cumulative addition calculation in parallel. And a control circuit. Preferably,
A control circuit that controls the plurality of second arithmetic circuits and the plurality of arithmetic circuits and causes these arithmetic circuits to execute any one of the moving addition value arithmetic operation, the cumulative addition arithmetic operation, and the cumulative subtraction arithmetic operation in parallel. And.
【0011】[0011]
【作用】本発明に係る演算回路において、入力レジスタ
は、信号処理プロセッサのクロックサイクルごとに、入
力された映像信号の画素データを順次、記憶し、記憶し
ている1つ前のクロックサイクルに入力された画素デー
タを順次、セレクタ回路に供給する。累加算回路は、ク
ロックサイクルごとに、セレクタ回路から供給された選
択出力データと、そのクロックサイクルに入力された画
素データとを加算して加算結果データを算出し、加算結
果として出力するとともに、加算結果レジスタに対して
供給する。In the arithmetic circuit according to the present invention, the input register sequentially stores the pixel data of the input video signal every clock cycle of the signal processor, and inputs the pixel data immediately before the stored clock cycle. The selected pixel data is sequentially supplied to the selector circuit. The cumulative addition circuit adds, for each clock cycle, the selection output data supplied from the selector circuit and the pixel data input in the clock cycle to calculate addition result data, and outputs the addition result data. Supply to the result register.
【0012】加算結果レジスタは、クロックサイクルご
とに、累加算回路から供給された加算結果データを順
次、記憶し、記憶している1つ前のクロックサイクルに
供給された加算結果データを順次、セレクタ回路の第2
の入力データとして供給する。セレクタ回路は、移動加
算値の算出の際には、第1の入力データを累加算回路に
対して供給し、あるいは、累加算値の算出の際には第2
の入力データを累加算回路に対して供給する。The addition result register sequentially stores the addition result data supplied from the cumulative addition circuit for each clock cycle, and sequentially selects the addition result data supplied in the immediately preceding stored clock cycle. Second of the circuit
Supply as input data for. The selector circuit supplies the first input data to the cumulative addition circuit when calculating the moving addition value, or the second input data when calculating the cumulative addition value.
The input data of is supplied to the cumulative addition circuit.
【0013】入力レジスタにより1つ前のクロックサイ
クルの画素データを記憶して、累加算回路により、その
クロックサイクルで入力された画素データと加算するこ
とにより、移動加算演算処理において、画素データ入力
および加算結果データ出力以外の演算回路の外部のメモ
リ回路に対するアクセスを不要とし、1回の移動加算演
算処理を1クロックサイクルで実行可能とする。また、
セレクタ回路により、入力レジスタに記憶された1つ前
のクロックサイクルに入力された画素データ、または、
加算結果レジスタに記憶された1つ前のクロックサイク
ルで算出された加算結果データを選択し、累加算回路に
より、これらのいずれかと、そのクロックサイクルに入
力された画素データとを加算することにより、移動加算
演算処理と累加算演算処理を同一の回路で実行可能とす
る。The pixel data of the immediately preceding clock cycle is stored in the input register, and the cumulative addition circuit adds the pixel data to the pixel data input in the clock cycle. Access to the memory circuit outside the arithmetic circuit other than the addition result data output is unnecessary, and one moving addition arithmetic process can be executed in one clock cycle. Also,
Pixel data input to the previous clock cycle stored in the input register by the selector circuit, or
By selecting the addition result data calculated in the previous clock cycle stored in the addition result register and adding any one of these with the pixel data input in that clock cycle by the cumulative addition circuit, The moving addition arithmetic processing and the cumulative addition arithmetic processing can be executed by the same circuit.
【0014】[0014]
【実施例1】以下、図1〜図4を参照して本発明の第1
の実施例を説明する。まず、図1および図2を参照して
信号処理プロセッサ1およびこれに用いられている演算
回路30の構成を説明する。図1に示すように、信号処
理プロセッサ1は、制御ユニット(CU)10、入出力
バッファ(IOB)12、ワーキングバッファ(WB)
14および演算処理部20が内部バス(IBUF)16
を介して接続されて構成されており、演算処理部20
は、算術演算ユニット(ALU)22、乗算回路24、
シフタ26および演算回路30から構成されている。First Embodiment Hereinafter, the first embodiment of the present invention will be described with reference to FIGS.
An example will be described. First, the configurations of the signal processor 1 and the arithmetic circuit 30 used therein will be described with reference to FIGS. 1 and 2. As shown in FIG. 1, the signal processor 1 includes a control unit (CU) 10, an input / output buffer (IOB) 12, and a working buffer (WB).
14 and the arithmetic processing unit 20 include an internal bus (IBUF) 16
Are connected to each other through the arithmetic processing unit 20.
Is an arithmetic operation unit (ALU) 22, a multiplication circuit 24,
It is composed of a shifter 26 and an arithmetic circuit 30.
【0015】制御ユニット10は、図1中に点線で示す
制御信号を介して、信号処理プロセッサ1の各構成要素
を制御する。入出力バッファ12は、制御ユニット10
の制御に従って、信号処理プロセッサ1と外部回路との
間で入出力されるデータIODをバッファリングする。
ワーキングバッファ14は、制御ユニット10の制御に
従って、信号処理プロセッサ1の各構成要素から入力さ
れるデータをバッファリングする。内部バス16は、信
号処理プロセッサ1の各構成要素間の送受信されるデー
タを伝送する。The control unit 10 controls each component of the signal processor 1 via a control signal shown by a dotted line in FIG. The input / output buffer 12 is the control unit 10
Under the control of, the data IOD input / output between the signal processor 1 and the external circuit is buffered.
The working buffer 14 buffers data input from each component of the signal processor 1 under the control of the control unit 10. The internal bus 16 transmits data transmitted / received between each component of the signal processor 1.
【0016】算術演算ユニット22は、制御ユニット1
0の制御に従って、入出力バッファ12およびワーキン
グバッファ14に記憶されたデータに対して算術演算お
よび論理演算を行って、内部バス16を介して入出力バ
ッファ12およびワーキングバッファ14に対して出力
する。乗算回路24は、制御ユニット10の制御に従っ
て、入出力バッファ12およびワーキングバッファ14
に記憶されたデータを乗算し、内部バス16を介して入
出力バッファ12およびワーキングバッファ14に対し
て出力する。シフタ26は、制御ユニット10の制御に
従って、入出力バッファ12およびワーキングバッファ
14に記憶されたデータをシフトし、内部バス16を介
して入出力バッファ12およびワーキングバッファ14
に対して出力する。The arithmetic unit 22 is the control unit 1
Under the control of 0, arithmetic and logical operations are performed on the data stored in the input / output buffer 12 and the working buffer 14, and the data is output to the input / output buffer 12 and the working buffer 14 via the internal bus 16. Under the control of the control unit 10, the multiplication circuit 24 receives the input / output buffer 12 and the working buffer 14.
The data stored in 1 is multiplied and output to the input / output buffer 12 and the working buffer 14 via the internal bus 16. Under the control of the control unit 10, the shifter 26 shifts the data stored in the input / output buffer 12 and the working buffer 14, and the input / output buffer 12 and the working buffer 14 via the internal bus 16.
Output to
【0017】信号処理プロセッサ1は、映像信号処理装
置等に用いられるプロセッサであって、上記各構成要素
により、ディジタル形式の映像信号に含まれるデータI
ODに対して、離散コサイン変換処理、離散コサイン逆
変換処理、量子化処理、逆量子化処理、動きベクトル検
出処理、動き補償処理、画像データ加算処理、減算処
理、累加算処理および移動平均演算処理といった、映像
信号の圧縮符号化処理および伸長復号処理等の映像信号
処理に必要な要素処理を適応的に実行する。The signal processor 1 is a processor used in a video signal processing device and the like, and the data I included in a video signal in a digital format is formed by the above-mentioned components.
For OD, discrete cosine transform processing, discrete cosine inverse transform processing, quantization processing, inverse quantization processing, motion vector detection processing, motion compensation processing, image data addition processing, subtraction processing, cumulative addition processing and moving average calculation processing. The above-described element processing necessary for video signal processing such as video signal compression encoding processing and decompression decoding processing is adaptively executed.
【0018】図2に示すように、演算回路30は、補数
生成回路300、第1のセレクタ回路(SEL)30
2、累加算回路(ACC)304、加算結果レジスタ
(REG)306、第2のセレクタ回路308から構成
される。これらの構成要素により、演算回路30は、入
出力バッファ12およびワーキングバッファ14から内
部バス16および入力端子Xを介して順次、入力される
画素データを、制御信号ACC_CNTLAs shown in FIG. 2, the arithmetic circuit 30 includes a complement generating circuit 300 and a first selector circuit (SEL) 30.
2, a cumulative addition circuit (ACC) 304, an addition result register (REG) 306, and a second selector circuit 308. With these components, the arithmetic circuit 30 sequentially outputs pixel data input from the input / output buffer 12 and the working buffer 14 via the internal bus 16 and the input terminal X to the control signal ACC_CNTL.
〔0〕,AC
C_CNTL〔1〕を介した制御ユニット10による制
御に従って、累加算処理および平均演算処理し、出力端
子Aおよび内部バス16を介して入出力バッファ12お
よびワーキングバッファ14に対して出力する。[0], AC
Under the control of the control unit 10 via C_CNTL [1], cumulative addition processing and average calculation processing are performed, and output to the input / output buffer 12 and the working buffer 14 via the output terminal A and the internal bus 16.
【0019】以下、信号処理プロセッサ1および演算回
路30が動き補償処理を行う際の動作を説明する。信号
処理プロセッサ1および演算回路30の動作説明に先立
って、図3および図4を参照して映像信号処理装置にお
ける動き補償処理の内容を説明する。映像信号処理装置
における動き補償処理は、映像信号から算出される動き
ベクトルの値や、映像信号に含まれる画素データのブロ
ック分けの方法(ブロックのモード)により分類され
る。最も複雑な動き補償処理を行う場合には、仮想画素
生成および予測画素生成という2つの演算処理が行われ
る。The operation when the signal processor 1 and the arithmetic circuit 30 perform the motion compensation process will be described below. Prior to the description of the operations of the signal processor 1 and the arithmetic circuit 30, the content of the motion compensation processing in the video signal processing device will be described with reference to FIGS. 3 and 4. The motion compensation processing in the video signal processing device is classified by the value of the motion vector calculated from the video signal and the method (block mode) of dividing the pixel data included in the video signal into blocks. When performing the most complicated motion compensation process, two calculation processes of virtual pixel generation and predicted pixel generation are performed.
【0020】まず、図3を参照して仮想画素生成処理に
ついて説明する。仮想画素生成処理は、半画素精度の動
きベクトルに伴い、画素間の補間を行って仮想画素を生
成する処理である。図3に示す仮想画素a〜eの仮想画
素データa〜eの値は、以下の式1〜式5で表される。
ただし、式1〜式5において、a〜eは、仮想画素a,
b,c,d,eの仮想画素データa,b,c,d,eの
値であり、x,y,z,wは、画素x,y,z,wの画
素データx,y,z,wの値を示す。First, the virtual pixel generation process will be described with reference to FIG. The virtual pixel generation process is a process of generating a virtual pixel by interpolating between pixels in accordance with a half-pixel precision motion vector. The values of the virtual pixel data a to e of the virtual pixels a to e shown in FIG. 3 are expressed by the following equations 1 to 5.
However, in Expressions 1 to 5, a to e are virtual pixels a,
It is the value of the virtual pixel data a, b, c, d, e of b, c, d, e, and x, y, z, w is the pixel data x, y, z of the pixel x, y, z, w. , W.
【0021】[0021]
【数1】 a = (x+y+z+w)/4 (1)## EQU00001 ## a = (x + y + z + w) / 4 (1)
【0022】[0022]
【数2】 b = (x+z)/2 (2)## EQU00002 ## b = (x + z) / 2 (2)
【0023】[0023]
【数3】 c = (z+w)/2 (3)## EQU3 ## c = (z + w) / 2 (3)
【0024】[0024]
【数4】 d = (y+w)/2 (4)D = (y + w) / 2 (4)
【0025】[0025]
【数5】 e = (x+y) (5)## EQU00005 ## e = (x + y) (5)
【0026】ちなみに、図3および式1〜式5を参照し
て分かるように、仮想画素生成処理の内、最も複雑なも
のは、隣接する4つの画素データx、y、z、wから中
央の仮想画素データaを生成する処理である。By the way, as can be seen from FIG. 3 and equations 1 to 5, the most complicated virtual pixel generation process is the center of four adjacent pixel data x, y, z, w. This is a process of generating virtual pixel data a.
【0027】以下、予測画素生成処理を説明する。予測
画素生成処理は、単方向(前向きあるいは後ろ向き)動
き補償予測処理か両方向動き補償予測処理かにより、つ
まり処理のモードにより異なる。つまり、単方向動き補
償予測を行う場合は、単に動きベクトルに従って映像信
号を記憶しているフレームメモリにアクセスし、当該画
像ブロックの画素データを得て処理を行う。一方、両方
向動き補償予測処理は、前向きおよび後ろ向きの2種の
動きベクトルに従って、前後のフレームの映像信号をそ
れぞれ記憶している2つのフレームメモリからそれぞれ
画像ブロックの画像データを得て、これらの画素データ
の平均値を算出して予測値を得る。The prediction pixel generation process will be described below. The prediction pixel generation process differs depending on whether it is a unidirectional (forward or backward) motion compensation prediction process or a bidirectional motion compensation prediction process, that is, a processing mode. That is, in the case of performing the unidirectional motion compensation prediction, the frame memory storing the video signal is simply accessed according to the motion vector, the pixel data of the image block is obtained, and the process is performed. On the other hand, the bidirectional motion compensation prediction process obtains image data of image blocks from two frame memories that store video signals of preceding and following frames according to two types of forward and backward motion vectors, respectively, and obtains these pixels. Calculate the average value of the data to obtain the predicted value.
【0028】以下、さらに図4を参照して、演算回路3
0により仮想画素生成処理を行う際の動作を、図3に示
した仮想画素データbまたは仮想画素データcを生成す
る場合を例に説明する。演算回路30は、図4に示す画
素データxk (k=…,i−3,i−2,…,i+3,
…、以下同じ)に対して式6に示す演算を行って、隣接
する画素データから仮想画素データを順次、生成する。
このような演算処理は、移動平均演算処理と呼ばれる。
ただし、図4および式6において、xk は画素データを
示し、y k は仮想画素データを示す。Hereinafter, further referring to FIG. 4, the arithmetic circuit 3
FIG. 3 shows the operation when the virtual pixel generation process is performed with 0.
The generated virtual pixel data b or virtual pixel data c.
The case will be described as an example. The arithmetic circuit 30 has the image shown in FIG.
Raw data xk(K = ..., i-3, i-2, ..., i + 3,
(..., the same below), the calculation shown in Equation 6 is performed to
Virtual pixel data is sequentially generated from the pixel data to be processed.
Such calculation processing is called moving average calculation processing.
However, in FIG. 4 and Equation 6, xkIs the pixel data
Show, y kIndicates virtual pixel data.
【0029】[0029]
【数6】 yk = (xk +xk-1 )/2 (6)Y k = (x k + x k-1 ) / 2 (6)
【0030】信号処理プロセッサ1において、式6に示
した演算処理の内、数値xk +xk- 1 を算出する処理は
演算回路30が行い、移動加算値xk +xk-1 を数値2
で除算して移動平均値(xk +xk-1 )/2を算出する
処理はシフタ26が行う。なお、以下、隣接する画素デ
ータを加算する演算処理、つまり、シフタ26によりシ
フト処理する前までの演算を移動加算演算、その結果を
移動加算値と記す。In the signal processor 1, the arithmetic circuit 30 performs the processing of calculating the numerical value x k + x k- 1 among the arithmetic processing shown in the equation 6, and the moving addition value x k + x k-1 is set to the numerical value 2
The shifter 26 performs the process of dividing by to calculate the moving average value (x k + x k-1 ) / 2. Note that, hereinafter, the arithmetic processing for adding adjacent pixel data, that is, the arithmetic operation before the shift processing by the shifter 26 is referred to as a moving addition operation, and the result thereof is referred to as a moving addition value.
【0031】以下、表1を参照して演算回路30が水平
方向の移動加算値を算出する動作を説明する。図3およ
び式1に示した仮想画素データaを生成する処理は、上
述の仮想画素生成処理を例えば水平方向に行った後、垂
直方向に行うことにより実現することができる。演算回
路30は、表1に示す演算を行って移動平均演算処理を
行う。The operation of the arithmetic circuit 30 for calculating the horizontal moving addition value will be described below with reference to Table 1. The process of generating the virtual pixel data a shown in FIG. 3 and Expression 1 can be realized by, for example, performing the above-described virtual pixel generation process in the horizontal direction and then in the vertical direction. The arithmetic circuit 30 performs the arithmetic operation shown in Table 1 to perform the moving average arithmetic processing.
【0032】[0032]
【表1】 クロックサイクル:入力データX :出力データA :(画素データ):(加算結果データ) 0 : xi-3 : 0 +xi-3 1 : xi-2 : xi-3 +xi-2 2 : xi-2 : 0 +xi-2 3 : xi-1 : xi-2 +xi-1 4 : xi-1 : 0 +xi-1 5 : xi : xi-1 +xi 6 : xi : 0 +xi 7 : xi+1 : xi +xi+1 8 : xi+1 : 0 +xi+1 9 : xi+2 : xi+1 +xi+2 10 : xi+2 : 0 +xi+2 11 : xi+3 : xi+2 +xi+3 ・ : ・ : ・ ・ : ・ : ・ ・ : ・ : ・[Table 1] Clock cycle: Input data X: Output data A: (Pixel data): (Addition result data) 0: x i-3 : 0 + x i-3 1: x i-2 : x i-3 + x i -2 2: x i-2 : 0 + x i-2 3: x i-1 : x i-2 + x i-1 4: x i-1 : 0 + x i-1 5: x i : x i-1 + X i 6: x i : 0 + x i 7: x i + 1 : x i + x i + 1 8: x i + 1 : 0 + x i + 1 9: x i + 2 : x i + 1 + x i + 2 10: x i + 2 : 0 + x i + 2 11: x i + 3 : x i + 2 + x i + 3 · : ・ : ・ ・ : ・ : ・ ・ : ・ ・ : ・
【0033】表1に示すように、クロックサイクル0に
おいて、制御ユニット10の制御により初期化状態、つ
まり、加算結果レジスタ306の内容が数値0にされて
いた演算回路30は、制御ユニット10の制御に従っ
て、ワーキングバッファ14または入出力バッファ12
にアクセスし、画素データxi-3 を入力端子Xから累加
算回路304に読み込む。一方、セレクタ回路308
は、数値0を選択して累加算回路304に対して選択出
力データとして出力する(移動平均演算モード)。累加
算回路304は、数値0と画素データxi-3 とを加算し
て保持し、加算結果データxi-3 を加算結果レジスタ3
06に記憶させる。As shown in Table 1, in the clock cycle 0, the control unit 10 controls the control unit 10 in the initialized state, that is, the arithmetic circuit 30 in which the content of the addition result register 306 is set to 0. According to the working buffer 14 or the input / output buffer 12
To read the pixel data x i-3 from the input terminal X into the cumulative addition circuit 304. On the other hand, the selector circuit 308
Selects the numerical value 0 and outputs it as the selected output data to the cumulative addition circuit 304 (moving average calculation mode). The cumulative addition circuit 304 adds and holds the numerical value 0 and the pixel data x i-3 , and adds the addition result data x i-3 to the addition result register 3
It is stored in 06.
【0034】クロックサイクル1において、演算回路3
0は、制御ユニット10の制御に従って、画素データx
i-2 をワーキングバッファ14または入出力バッファ1
2から読み込む。この際、セレクタ回路308は、加算
結果レジスタ306から出力されるクロックサイクル0
において算出された加算結果データxi-3 を選択し、累
加算回路304に対して選択出力データとして出力する
(累加算演算モード)。累加算回路304は、選択出力
データxi-3 と、クロックサイクル1において入力され
てきた画素データxi-2 とを加算し、出力端子Aから加
算結果データx i-3 +xi-2 を出力する。In clock cycle 1, arithmetic circuit 3
0 is the pixel data x under the control of the control unit 10.
i-2Working buffer 14 or input / output buffer 1
Read from 2. At this time, the selector circuit 308
Clock cycle 0 output from the result register 306
Result data x calculated ini-3Select
Output as selected output data to the adder circuit 304
(Cumulative addition operation mode). The cumulative addition circuit 304 outputs the selected output.
Data xi-3And input in clock cycle 1
Pixel data xi-2And are added and added from output terminal A
Calculation result data x i-3+ Xi-2Is output.
【0035】クロックサイクル2以降も同様に、演算回
路30は、制御ユニット10の制御に従って、2クロッ
クサイクルごとに加算結果データxi-2 +xi-2 ,x
i-1 +xi ,…を順次、算出して出力端子Aから出力す
る。つまり、演算回路30は、1クロックサイクルごと
に1回入出力バッファ12またはワーキングバッファ1
4にアクセスして、2クロックサイクルに1つの移動加
算値を算出する。シフタ26は、制御ユニット10の制
御に従って、演算回路30において算出された移動加算
値を数値2で順次、除算し、移動平均値を算出して内部
バス16および入出力バッファ12を介して演算回路3
0の外部に出力する。Similarly after clock cycle 2, the arithmetic circuit 30 controls the addition result data x i-2 + x i-2 , x every two clock cycles under the control of the control unit 10.
i-1 + x i , ... Are sequentially calculated and output from the output terminal A. That is, the arithmetic circuit 30 outputs the input / output buffer 12 or the working buffer 1 once every clock cycle.
4 is accessed to calculate one moving addition value every two clock cycles. Under the control of the control unit 10, the shifter 26 sequentially divides the moving addition value calculated in the arithmetic circuit 30 by the numerical value 2, calculates the moving average value, and calculates the moving average value via the internal bus 16 and the input / output buffer 12. Three
Output to the outside of 0.
【0036】[0036]
【実施例2】以下、図5を参照して本発明の第2の実施
例を説明する。以下、図5を参照して演算回路40の構
成を説明する。図5に示すように、演算回路40は、演
算回路30の構成要素に加え、セレクタ回路308と累
加算回路304の間にセレクタ回路402を接続し、さ
らにセレクタ回路402と入力端子Xとの間にレジスタ
400を接続した構成になっている。なお、以下に説明
しない演算回路40の各構成要素は、同一符号を付した
演算回路30の構成要素と同じである。[Second Embodiment] A second embodiment of the present invention will be described below with reference to FIG. The configuration of the arithmetic circuit 40 will be described below with reference to FIG. As shown in FIG. 5, in the arithmetic circuit 40, in addition to the constituent elements of the arithmetic circuit 30, a selector circuit 402 is connected between the selector circuit 308 and the cumulative addition circuit 304, and further between the selector circuit 402 and the input terminal X. The register 400 is connected to. The components of the arithmetic circuit 40 not described below are the same as the components of the arithmetic circuit 30 denoted by the same reference numerals.
【0037】レジスタ400は、クロックサイクルごと
に入力端子Xを介して入出力バッファ12またはワーキ
ングバッファ14から入力された画素データを順次、記
憶し、その次のクロックサイクルでセレクタ回路402
に対して順次、出力する。セレクタ回路402は、制御
信号ACC_CNTL〔2〕を介した制御ユニット10
の制御に従って、移動平均演算モードにおいては、レジ
スタ400に保持されている前のクロックサイクルに入
力された画素データを累加算回路304に対して選択出
力データとして出力する。The register 400 sequentially stores the pixel data input from the input / output buffer 12 or the working buffer 14 via the input terminal X every clock cycle, and the selector circuit 402 in the next clock cycle.
Are sequentially output to. The selector circuit 402 controls the control unit 10 via the control signal ACC_CNTL [2].
In the moving average operation mode, the pixel data input to the previous clock cycle, which is held in the register 400, is output to the cumulative addition circuit 304 as selected output data under the control of 1.
【0038】また、セレクタ回路402は、制御信号A
CC_CNTL〔2〕を介した制御ユニット10の制御
に従って、累加算演算モードにおいては、セレクタ回路
308が選択した数値0、または、前のクロックサイク
ルにおける累加算回路304の加算結果データを累加算
回路304に対して出力する。The selector circuit 402 also controls the control signal A.
Under the control of the control unit 10 via CC_CNTL [2], in the cumulative addition operation mode, the numerical value 0 selected by the selector circuit 308 or the addition result data of the cumulative addition circuit 304 in the previous clock cycle is added to the cumulative addition circuit 304. Output to.
【0039】演算回路40は、上述した仮想画素生成処
理に好適な演算回路であって、図1に示した信号処理プ
ロセッサ1において演算回路30の代わりに用いられ、
以上の各構成要素により、制御信号ACC_CNTL
The arithmetic circuit 40 is an arithmetic circuit suitable for the above-described virtual pixel generation processing, and is used in place of the arithmetic circuit 30 in the signal processor 1 shown in FIG.
The control signal ACC_CNTL is made by each of the above components.
〔0〕,ACC_CNTL〔1〕,ACC_CNTL
〔2〕を介した制御ユニット10の制御に従って、初期
化し、あるいは、画素データの移動加算値および累加算
値(累減算値)を算出する。[0], ACC_CNTL [1], ACC_CNTL
According to the control of the control unit 10 via [2], initialization is performed, or the moving addition value and cumulative addition value (cumulative subtraction value) of pixel data are calculated.
【0040】なお、後述するように、第1の実施例に示
した演算回路30は、2クロックサイクルごとに1つの
移動加算値を算出するのに対し、第2の実施例で説明す
る演算回路40は、1クロックサイクルごとに1つの移
動加算値を算出することができる。また、演算回路40
の各構成要素の内、セレクタ回路402が本発明に係る
第1のセレクタ回路に相当し、レジスタ400が本発明
に係る入力レジスタに相当し、累加算回路304が本発
明に係る累加算回路に相当し、加算結果レジスタ306
が本発明に係る累加算結果レジスタに相当する。As will be described later, the arithmetic circuit 30 shown in the first embodiment calculates one moving addition value every two clock cycles, whereas the arithmetic circuit explained in the second embodiment. 40 can calculate one moving addition value for each clock cycle. In addition, the arithmetic circuit 40
Of the constituent elements of the above, the selector circuit 402 corresponds to the first selector circuit according to the present invention, the register 400 corresponds to the input register according to the present invention, and the cumulative addition circuit 304 corresponds to the cumulative addition circuit according to the present invention. Corresponding to the addition result register 306
Corresponds to the cumulative addition result register according to the present invention.
【0041】以下、表2を参照して演算回路40が水平
方向の移動加算値を算出する動作を説明する。The operation of the arithmetic circuit 40 for calculating the horizontal moving addition value will be described below with reference to Table 2.
【0042】[0042]
【表2】 クロックサイクル:入力データX :出力データA :(画素データ):(加算結果データ) 0 : xi-3 : xi-3 1 : xi-2 : xi-3 +xi-2 2 : xi-1 : xi-2 +xi-1 3 : xi : xi-1 +xi 4 : xi+1 : xi +xi+1 5 : xi+2 : xi+1 +xi+2 6 : xi+3 : xi+2 +xi+3 ・ : ・ : ・ ・ : ・ : ・ ・ : ・ : ・[Table 2] Clock cycle: input data X: output data A: (pixel data): (addition result data) 0: x i-3 : x i-3 1: x i-2 : x i-3 + x i- 2 2: x i-1 : x i-2 + x i-1 3: x i : x i-1 + x i 4: x i + 1 : x i + x i + 1 5: x i + 2 : x i + 1 + x i + 2 6: x i + 3 : x i + 2 + x i + 3 · : ・ : ・ ・ :: ・ : ・ ・ : ・ ・ : ・ ・
【0043】表2に示すように、クロックサイクル0に
おいて、制御ユニット10の制御により初期化状態、つ
まり、加算結果レジスタ306およびレジスタ400の
内容が数値0にされていた演算回路40は、制御ユニッ
ト10の制御に従って、ワーキングバッファ14または
入出力バッファ12にアクセスし、画素データxi-3を
入力端子Xから読み込む。また、セレクタ回路302
は、制御信号ACC_CNTLAs shown in Table 2, in the clock cycle 0, the control circuit 10 controls the initialization state, that is, the arithmetic circuit 40 in which the contents of the addition result register 306 and the register 400 are set to the numerical value 0 is the control unit. Under the control of 10, the working buffer 14 or the input / output buffer 12 is accessed to read the pixel data x i-3 from the input terminal X. In addition, the selector circuit 302
Is a control signal ACC_CNTL
〔0〕を介した制御ユニ
ット10の制御に従って、非反転の画素データを選択し
て累加算回路304に対して出力し、レジスタ400
は、クロックサイクル0において入力された画素データ
xi-3 を記憶する。Under control of the control unit 10 via [0], non-inverted pixel data is selected and output to the cumulative addition circuit 304, and the register 400
Stores the pixel data x i-3 input at clock cycle 0.
【0044】一方、セレクタ回路308は、制御信号A
CC_CNTL〔1〕を介した制御ユニット10の制御
に従って、加算結果レジスタ306が保持している加算
結果データ(クロックサイクル0においては数値0)を
選択してセレクタ回路402に対して出力する。また、
セレクタ回路402は、制御信号ACC_CNTL
〔2〕を介した制御ユニット10の制御に従って、セレ
クタ回路302が出力したデータを選択して選択出力デ
ータとして累加算回路304に対して出力する(累加算
演算モード)。累加算回路304は、数値0と画素デー
タxi-3 とを加算し、加算結果データxi-3 を加算結果
レジスタ306に記憶させるとともに、出力端子Aから
出力する。On the other hand, the selector circuit 308 controls the control signal A
Under the control of the control unit 10 via CC_CNTL [1], the addition result data (numerical value 0 in clock cycle 0) held in the addition result register 306 is selected and output to the selector circuit 402. Also,
The selector circuit 402 controls the control signal ACC_CNTL.
Under the control of the control unit 10 via [2], the data output from the selector circuit 302 is selected and output as the selected output data to the cumulative addition circuit 304 (cumulative addition calculation mode). The cumulative addition circuit 304 adds the numerical value 0 and the pixel data x i-3 , stores the addition result data x i-3 in the addition result register 306, and outputs it from the output terminal A.
【0045】クロックサイクル1において、演算回路4
0は、制御ユニット10の制御に従って、画素データx
i-2 をワーキングバッファ14または入出力バッファ1
2から読み込む。この際、セレクタ回路402は、レジ
スタ400が記憶しているクロックサイクル0において
入力された画素データxi-3 を選択し、累加算回路30
4に対して選択出力データxi-3 として出力する(移動
平均演算モード)。累加算回路304は、選択出力デー
タxi-3 と、クロックサイクル1において入力されてき
た画素データxi-2 とを加算し、出力端子Aから加算結
果データx i-3 +xi-2 を出力する。In clock cycle 1, arithmetic circuit 4
0 is the pixel data x under the control of the control unit 10.
i-2Working buffer 14 or input / output buffer 1
Read from 2. At this time, the selector circuit 402
In clock cycle 0 stored in the star 400
Input pixel data xi-3And the cumulative addition circuit 30
Output data x selected for 4i-3Output as (move
Average calculation mode). The cumulative addition circuit 304 uses the selected output data.
Taxi-3And in clock cycle 1
Pixel data xi-2Add and, and add from output terminal A
Result data x i-3+ Xi-2Is output.
【0046】クロックサイクル2以降も同様に、演算回
路40は、制御ユニット10の制御に従って、1クロッ
クサイクルごとに加算結果データxi-2 +xi-1 ,x
i-1 +xi ,…を順次、算出して出力端子Aから出力す
る。つまり、演算回路40は、1クロックサイクルごと
に1回入出力バッファ12またはワーキングバッファ1
4にアクセスして、1クロックサイクルに1つの移動加
算値を算出する。シフタ26は、制御ユニット10の制
御に従って、演算回路40において算出された移動加算
値を数値2で順次、除算し、移動平均値を算出して内部
バス16および入出力バッファ12を介して演算回路4
0の外部に出力する。なお、シフタ26における演算処
理は、演算回路40における演算処理と平行して行うこ
とができる。なお、演算回路40が移動加算値を算出す
る手順は、上記のものに限らず、同一の結果を得ること
ができる限り変更可能である。Similarly after clock cycle 2, the arithmetic circuit 40, under the control of the control unit 10, adds result data x i-2 + x i-1 , x every clock cycle.
i-1 + x i , ... Are sequentially calculated and output from the output terminal A. That is, the arithmetic circuit 40 outputs the input / output buffer 12 or the working buffer 1 once every clock cycle.
4 is accessed to calculate one moving addition value in one clock cycle. Under the control of the control unit 10, the shifter 26 sequentially divides the moving addition value calculated by the arithmetic circuit 40 by the numerical value 2, calculates the moving average value, and calculates the moving average value via the internal bus 16 and the input / output buffer 12. Four
Output to the outside of 0. The arithmetic processing in the shifter 26 can be performed in parallel with the arithmetic processing in the arithmetic circuit 40. The procedure by which the arithmetic circuit 40 calculates the moving addition value is not limited to the above, and may be changed as long as the same result can be obtained.
【0047】演算回路40において、画素データxk の
累加算値の算出は、セレクタ回路308が、制御ユニッ
ト10に従って、常に加算結果レジスタ306から入力
された加算結果データを選択してセレクタ回路402に
対して出力し、セレクタ回路402が常にセレクタ回路
308から入力されたデータを選択して選択出力データ
として累加算回路304に対して出力することにより可
能である。また、セレクタ回路302が、制御ユニット
10の制御に従って、補数生成回路300により生成さ
れた画素データxk の負数に対応する補数を選択して累
加算回路304に対して出力することにより、演算回路
40は画素データxk の累減算値を算出することができ
る。(この累減算値を算出する演算を、累減算演算と呼
ぶ)。In the calculation circuit 40, the cumulative addition value of the pixel data x k is calculated by the selector circuit 308 according to the control unit 10 to always select the addition result data input from the addition result register 306 to the selector circuit 402. This is possible by outputting the data to the cumulative addition circuit 304 by selecting the data input from the selector circuit 308 by the selector circuit 402 at all times. In addition, the selector circuit 302 selects the complement corresponding to the negative number of the pixel data x k generated by the complement generation circuit 300 according to the control of the control unit 10 and outputs the complement to the cumulative addition circuit 304. 40 can calculate the cumulative subtraction value of the pixel data x k . (The calculation for calculating the cumulative subtraction value is called cumulative subtraction calculation).
【0048】なお、演算回路40にレジスタ400およ
びセレクタ回路402を付加して、移動平均演算機能を
実現しても、演算回路30でも実現されている機能(累
加算、累減算等)の性能を低下させることはない。つま
り、演算回路40は、演算回路30に対して、いわゆる
アッパーコンパチブルの関係にあり、演算回路30に比
べて汎用性はなんら損われていない。上述のように本発
明によれば、映像処理装置において、動き補償処理の際
の仮想画素生成に用いられる移動平均値(移動加算値)
を算出する場合に、前クロックサイクルに読み込んだ画
素データをレジスタ400に格納しておくことにより、
演算回路30のように2クロックサイクルかけて同一の
画素データに2回アクセスする必要がない。したがっ
て、動き補償処理の際のクロックサイクル数が削減で
き、演算回路30を演算回路40に置換することによ
り、信号処理プロセッサ1の性能を向上させることがで
きる。Even if the register 400 and the selector circuit 402 are added to the arithmetic circuit 40 to realize the moving average arithmetic function, the performance of the functions (cumulative addition, cumulative subtraction, etc.) realized in the arithmetic circuit 30 is also improved. It does not decrease. That is, the arithmetic circuit 40 has a so-called upper compatible relationship with the arithmetic circuit 30, and the versatility is not impaired at all as compared with the arithmetic circuit 30. As described above, according to the present invention, in the video processing device, the moving average value (moving addition value) used for the virtual pixel generation in the motion compensation process.
When calculating, by storing the pixel data read in the previous clock cycle in the register 400,
Unlike the arithmetic circuit 30, it is not necessary to access the same pixel data twice over two clock cycles. Therefore, the number of clock cycles in the motion compensation processing can be reduced, and the performance of the signal processor 1 can be improved by replacing the arithmetic circuit 30 with the arithmetic circuit 40.
【0049】つまり、例えば、256個の水平方向の仮
想画素データ(16×16のマクロブロック)を生成す
る仮想画素生成処理を行う場合、演算回路40によれ
ば、水平方向の17個の画素データから17クロックサ
イクルかけて16個の仮想画素データを生成し、これを
16回繰り返せばよい。したがって、256個の仮想画
素データを272クロックサイクルで生成することがで
きる。また、この仮想画素生成処理を行うための制御ユ
ニット10による制御シーケンスは272ステップあれ
ばよい。従って、演算回路30を演算回路40に置換す
ることにより、信号処理プロセッサ1の制御ユニット1
0も簡略化することができる。That is, for example, when performing virtual pixel generation processing for generating 256 virtual pixel data (16 × 16 macroblocks) in the horizontal direction, the arithmetic circuit 40 causes the 17 pixel data in the horizontal direction to be generated. 16 virtual pixel data is generated over 17 clock cycles, and this is repeated 16 times. Therefore, 256 virtual pixel data can be generated in 272 clock cycles. Further, the control sequence by the control unit 10 for performing this virtual pixel generation process may have 272 steps. Therefore, by replacing the arithmetic circuit 30 with the arithmetic circuit 40, the control unit 1 of the signal processor 1
0 can also be simplified.
【0050】[0050]
【実施例3】以下、図6を参照して本発明の第3の実施
例を説明する。図6は、第3の実施例における本発明に
係る信号処理プロセッサ2の構成を示す図である。信号
処理プロセッサ2は、図1に示した演算処理部20を、
複数の演算回路401 〜40n を有する演算処理部50
で置換した構成になっている。なお、演算回路401 〜
40n と図5に示した演算回路40とは、同じである。
図6に示すように、演算処理部50の各演算回路401
〜40n を、それぞれ演算回路40と同様に制御ユニッ
ト10が並列的に制御することにより、移動平均演算等
を並列的に行うことができ、映像信号処理の速度を向上
させることができる。Third Embodiment A third embodiment of the present invention will be described below with reference to FIG. FIG. 6 is a diagram showing the configuration of the signal processor 2 according to the present invention in the third embodiment. The signal processor 2 includes the arithmetic processing unit 20 shown in FIG.
Arithmetic processing section 50 having a plurality of arithmetic circuits 40 1 to 40 n
It has been replaced with. The arithmetic circuit 40 1-
40 n and the arithmetic circuit 40 shown in FIG. 5 are the same.
As shown in FIG. 6, each arithmetic circuit 40 1 of the arithmetic processing unit 50
The control unit 10 controls each of .about.40 n in parallel in the same manner as the arithmetic circuit 40, whereby moving average calculation and the like can be performed in parallel, and the speed of video signal processing can be improved.
【0051】信号処理プロセッサ1,2の構成および演
算回路30,40の構成は、図1および図6に示したも
のに限らず、必要な構成要素を追加し、あるいは、不要
な構成要素を削除してもよい。以上述べた各実施例に示
した他、例えば信号処理プロセッサ2において、算術演
算ユニット22、乗算回路24およびシフタ26も複数
設ける等、本発明の演算回路およびこれを用いた信号処
理プロセッサは、種々の構成をとることができる。The configurations of the signal processors 1 and 2 and the configurations of the arithmetic circuits 30 and 40 are not limited to those shown in FIGS. 1 and 6, but necessary components are added or unnecessary components are deleted. You may. In addition to the embodiments described above, for example, in the signal processor 2, a plurality of arithmetic operation units 22, multiplication circuits 24, and shifters 26 are provided, and the arithmetic circuit of the present invention and the signal processor using the same are various. Can be configured.
【0052】[0052]
【発明の効果】以上述べたように、本発明の演算回路に
よれば、移動平均演算処理に要する時間が短かくするこ
とができ、しかも、同一の回路により映像信号処理に必
要な累加算処理も行うことができる。したがって、本発
明の演算回路を用いると、映像信号処理の能率を上げる
ことができ、処理時間が短い信号処理プロセッサあるい
は映像信号処理装置を提供することができる。As described above, according to the arithmetic circuit of the present invention, the time required for the moving average arithmetic processing can be shortened, and the cumulative addition processing required for the video signal processing can be performed by the same circuit. Can also be done. Therefore, by using the arithmetic circuit of the present invention, it is possible to improve the efficiency of video signal processing and provide a signal processor or a video signal processing device with a short processing time.
【図1】本発明に係る信号処理プロセッサの構成を示す
図である。FIG. 1 is a diagram showing a configuration of a signal processor according to the present invention.
【図2】第1の実施例における本発明に係る演算回路の
構成を示す図である。FIG. 2 is a diagram showing a configuration of an arithmetic circuit according to the present invention in a first embodiment.
【図3】仮想画素データを生成する仮想画素生成処理の
規則を示す図である。FIG. 3 is a diagram showing a rule of virtual pixel generation processing for generating virtual pixel data.
【図4】図2に示した演算回路が水平成分の仮想画素デ
ータを生成する際の動作を示す図である。FIG. 4 is a diagram showing an operation when the arithmetic circuit shown in FIG. 2 generates horizontal component virtual pixel data.
【図5】第2の実施例における本発明に係る演算回路の
構成を説明する。FIG. 5 illustrates a configuration of an arithmetic circuit according to the present invention in a second embodiment.
【図6】第3の実施例における本発明に係る信号処理プ
ロセッサの構成を示す図である。FIG. 6 is a diagram showing a configuration of a signal processor according to the present invention in a third exemplary embodiment.
【符号の説明】 1,2…信号処理プロセッサ、10…制御ユニット、1
2…入出力バッファ、14…ワーキングバッファ、16
…内部バス、20,50…演算処理部、22…算術演算
ユニット、24…乗算回路、26…シフタ、30,40
…演算回路、300…補数生成回路、302…セレクタ
回路、304…累加算回路、306…加算結果レジス
タ、308…セレクタ回路、400…レジスタ、402
…セレクタ回路[Explanation of Codes] 1, 2 ... Signal Processor, 10 ... Control Unit, 1
2 ... I / O buffer, 14 ... Working buffer, 16
... internal bus, 20, 50 ... arithmetic processing unit, 22 ... arithmetic operation unit, 24 ... multiplication circuit, 26 ... shifter, 30, 40
... arithmetic circuit, 300 ... complement generation circuit, 302 ... selector circuit, 304 ... cumulative addition circuit, 306 ... addition result register, 308 ... selector circuit, 400 ... register, 402
... Selector circuit
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/137 Z Continuation of front page (51) Int.Cl. 6 Identification code Office reference number FI Technical display area H04N 7/137 Z
Claims (5)
第2の入力端子とを有し、これらの入力端子から入力さ
れたデータを加算して保持する累加算回路と、 前記累加算回路の出力データを保持する累加算結果レジ
スタと、 動作クロックに応答して入力される入力データを保持す
る入力レジスタと、 前記累加算結果レジスタの出力データおよび前記入力レ
ジスタの出力データのいずれかを選択して前記累加算回
路の第1の入力端子に印加する第1のセレクタ回路とを
具備し、 移動加算演算を実行する場合には、前記第1のセレクタ
回路は前記入力レジスタの出力データを前記累加算回路
の第1の入力端子に印加し、 累加算演算を実行する場合には、前記第1のセレクタ回
路は前記累加算結果レジスタの出力データを前記累加算
回路の第1の入力端子に印加する演算回路。1. A cumulative addition circuit which has a first input terminal and a second input terminal to which input data is applied, and which adds and holds data input from these input terminals, and the cumulative addition A cumulative addition result register that holds the output data of the circuit; an input register that holds the input data that is input in response to the operation clock; and either the output data of the cumulative addition result register or the output data of the input register. A first selector circuit for selecting and applying to a first input terminal of the cumulative addition circuit, and when performing a moving addition operation, the first selector circuit outputs the output data of the input register. When applied to the first input terminal of the cumulative addition circuit to execute the cumulative addition operation, the first selector circuit outputs the output data of the cumulative addition result register to the first addition circuit of the cumulative addition circuit. Arithmetic circuit for applying to the input terminal.
回路と、 前記負数生成回路の出力データおよび前記入力データの
いずれかを選択して前記累加算回路の第2の入力端子に
印加する第2のセレクタ回路とをさらに具備し、 移動加算演算および累加算演算を実行する場合には、前
記第2のセレクタ回路は前記入力データを前記累加算回
路の第2の入力端子に印加し、 累減算演算を実行する場合には、前記第2のセレクタ回
路は前記負数を前記累加算回路の第2の入力端子に印加
する請求項1に記載の演算回路。2. A negative number generation circuit for generating a negative number of the input data, and a circuit for selecting one of the output data of the negative number generation circuit and the input data and applying the selected data to a second input terminal of the cumulative addition circuit. And a second selector circuit, wherein the second selector circuit applies the input data to the second input terminal of the cumulative addition circuit when performing the moving addition operation and the cumulative addition operation. The arithmetic circuit according to claim 1, wherein the second selector circuit applies the negative number to the second input terminal of the cumulative addition circuit when performing a subtraction operation.
演算を実行する場合には前記入力データを前記累加算回
路の第2の入力端子に印加させ、累減算演算を実行する
場合には前記負数を前記累加算回路の第2の入力端子に
印加させる制御回路とを具備する信号処理プロセッサ。3. The arithmetic circuit according to claim 2, wherein the moving data addition operation and the cumulative addition operation are executed by the second selector circuit, the input data is input to the second input terminal of the cumulative addition circuit. And a control circuit for applying the negative number to the second input terminal of the cumulative addition circuit when the cumulative subtraction operation is performed.
と、 前記複数の演算回路を制御し、これらの演算回路に並列
的に前記移動加算値演算および前記累加算演算のいずれ
かを実行させる制御回路とを具備する信号処理プロセッ
サ。4. A plurality of arithmetic circuits according to claim 1 or 2, and a plurality of arithmetic circuits that are controlled to perform one of the moving addition value arithmetic and the cumulative addition arithmetic in parallel with these arithmetic circuits. A signal processor having a control circuit for executing the signal processing.
的に前記移動加算値演算、前記累加算演算および前記累
減算演算のいずれかを実行させる制御回路とを具備する
信号処理プロセッサ。5. A plurality of arithmetic circuits according to claim 2, and a plurality of arithmetic circuits that control the arithmetic circuits to perform the moving addition value arithmetic operation, the cumulative addition arithmetic operation, and the cumulative subtraction arithmetic operation in parallel with the arithmetic operation circuits. A signal processor having a control circuit for executing any of the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25858294A JPH08123787A (en) | 1994-10-24 | 1994-10-24 | Arithmetic circuit and signal processor using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25858294A JPH08123787A (en) | 1994-10-24 | 1994-10-24 | Arithmetic circuit and signal processor using the same |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08123787A true JPH08123787A (en) | 1996-05-17 |
Family
ID=17322265
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25858294A Pending JPH08123787A (en) | 1994-10-24 | 1994-10-24 | Arithmetic circuit and signal processor using the same |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08123787A (en) |
-
1994
- 1994-10-24 JP JP25858294A patent/JPH08123787A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5329318A (en) | Method for optimizing image motion estimation | |
| US5684534A (en) | Task-splitting dual-processor system for motion estimation processing | |
| US5386233A (en) | Method for efficient memory use | |
| US5446839A (en) | Method for controlling dataflow between a plurality of circular buffers | |
| US5469208A (en) | Dequantization using decrements and multiply | |
| KR950005621B1 (en) | Image decoder | |
| JP3101691B2 (en) | Method and circuit for processing a data signal representing successive pixels of a two-dimensional video | |
| JPH08123953A (en) | Image processing device | |
| JPH11225334A (en) | Accelerator for calculating variance of MPEG-2 image decoder | |
| US20260067450A1 (en) | Image processing device and method for partitioning a coding unit used for inter prediction based on bi-directional optical flow into partitioned processing units | |
| US5774676A (en) | Method and apparatus for decompression of MPEG compressed data in a computer system | |
| US5592399A (en) | Pipelined video encoder architecture | |
| JPH07240844A (en) | Image data processing device and image data processing method | |
| US6539058B1 (en) | Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders | |
| JP3676237B2 (en) | Data processing apparatus and arithmetic unit | |
| US6380987B1 (en) | Motion vector detection circuit enabling high-speed search of motion vector | |
| JPH0923422A (en) | Image encoding / decoding method | |
| JP2947389B2 (en) | Image processing memory integrated circuit | |
| JP2009015637A (en) | Arithmetic unit and image filtering apparatus | |
| JPH11196425A (en) | Motion vector detector | |
| US5426462A (en) | Apparatus for encoding signals using a configurable transform circuit | |
| JPH08123787A (en) | Arithmetic circuit and signal processor using the same | |
| KR0160324B1 (en) | Data processing system | |
| JPH0879761A (en) | Movement predicting device and movement vector computing device | |
| JP2960328B2 (en) | Apparatus for providing operands to "n + 1" operators located in a systolic architecture |