WO2000043868A1 - Data processor and device for arithmetic operation - Google Patents

Data processor and device for arithmetic operation Download PDF

Info

Publication number
WO2000043868A1
WO2000043868A1 PCT/JP1999/000181 JP9900181W WO0043868A1 WO 2000043868 A1 WO2000043868 A1 WO 2000043868A1 JP 9900181 W JP9900181 W JP 9900181W WO 0043868 A1 WO0043868 A1 WO 0043868A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
register
arithmetic unit
input terminal
bit
Prior art date
Application number
PCT/JP1999/000181
Other languages
French (fr)
Japanese (ja)
Inventor
Hiroshi Hatae
Hiromi Watanabe
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP1999/000181 priority Critical patent/WO2000043868A1/en
Priority to JP2000595228A priority patent/JP3676237B2/en
Priority to TW88119144A priority patent/TW535107B/en
Publication of WO2000043868A1 publication Critical patent/WO2000043868A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

Definitions

  • the present invention relates to a data processing device, more specifically, a data processing device that performs a large amount of data at high speed and efficiently using a processor, such as a motion detection process and a motion compensation process used in video signal compression and decompression processes. It relates to a processing device.
  • a data processing device more specifically, a data processing device that performs a large amount of data at high speed and efficiently using a processor, such as a motion detection process and a motion compensation process used in video signal compression and decompression processes. It relates to a processing device.
  • the part that performs the same arithmetic processing has a dedicated arithmetic unit, and has a plurality of processor elements (arithmetic units) arranged in parallel to operate the arithmetic unit at high speed.
  • SIMD Se Instrument Multiple Data
  • the SIMD arithmetic unit is described in the document “Interface”, March 1999, pages 111 to 113. Specifically, the Pentium MMX techno outlet of Intel Corporation of the United States is known.
  • the continuous supply of data from the memory and an increase in the operating rate of the arithmetic unit are important factors in determining performance.
  • a data processor that combines a conventionally-known central processor unit (abbreviated as CPU) and a computing unit of the SIMD method requires a data bus and address bus that are shared by the CPU and the SI computing unit due to the configuration of the device. Connected through. Therefore, the SIMD arithmetic The operation was such that data was transferred to the internal registry, the computation was performed next, the computation result in the registry was transferred to the memory, and the next data processing could be started. In this case, there is a problem that it is not possible to increase the operation efficiency by using data used in the adjacent processor element.
  • a main object of the present invention is to realize a data processing device capable of processing data at high speed.
  • Another object of the present invention is to provide a data processing device having an arithmetic unit controlled by a central processing unit and connected to a memory by a local bus, wherein the central processing unit reads data from the memory and reads data from the arithmetic unit.
  • An object of the present invention is to realize a data processing device capable of centrally managing both storage and storage.
  • Still another object of the present invention is to make it possible to continuously supply data to the processor elements constituting the arithmetic unit, to perform arithmetic operations as much as possible, and to perform high-speed data processing. Data processing equipment Is to realize the position.
  • a data processing device includes an arithmetic unit controlled by a CPU device, a first storage unit, and a common unit for the CPU, the arithmetic unit, and the first storage unit. And a local data bus having a bus width larger than the bus width of the data bus of the CPU and connecting the computing unit.
  • the data transfer performance is improved, and a control line is connected from the CPU to the operation unit.
  • the operation instructions supplied to the operation unit are independent of the system bus traffic.
  • the address bus is commonly connected to the CPU device, the arithmetic unit, and the first storage means, the address generator may be provided only in the CPU device, and must be provided in the operation unit. Absent.
  • the first storage unit is also located in the address space of the CPU unit together with the register of the arithmetic unit, and the CPU unit reads out the data of the first storage unit and stores the data of the register of the arithmetic unit overnight. Address management can be centrally managed.
  • the arithmetic unit is configured by an SI control type arithmetic unit having a plurality of processor elements, and each of the processor elements has a first input terminal, a second input terminal, and an output. Terminals, and the first register width of the total bit width of the first input terminals of all processor elements and the total bit width of the second input terminals of all processor elements The second input terminal of the processor element and the bit width of the second input terminal in the second register with a bit width greater than the bit width of the second input terminal of the processor element It is assumed that the system has a third register that is configured to shift the data.
  • the data processing device is designed to This method is effective for motion detection in image coding, but can be applied to processing devices that require high-speed arithmetic processing to be performed in parallel with CPU processing.
  • FIG. 1 is a block diagram showing a configuration of a first embodiment of a data processing device according to the present invention.
  • FIG. 2 is a circuit diagram showing the internal configuration of the SIMD type arithmetic unit 4 of FIG. 1.
  • FIG. 3 is an internal configuration diagram of the CPU 2 of FIG.
  • Fig. 4 shows the internal structure of the processor element 38 in Fig. 2.
  • Fig. 5 is an explanatory diagram of the operation of the SIMD type arithmetic unit 4 in Fig. 2.
  • Fig. 6 is an explanatory diagram of the operation of the SIMD type arithmetic unit 4 in Fig. 2.
  • FIG. 7 is an explanatory diagram of the reference image data used in the first embodiment.
  • Fig. 9 shows the address map on DRAM 16 in Fig. 1.
  • Fig. 11 is an operation flowchart of the first embodiment.
  • FIG. 14 is an explanatory diagram of a calculation range of the vector (1, 0) in the first embodiment.
  • FIG. 15 is a block diagram showing the configuration of a second embodiment of the data processing device according to the present invention.
  • FIG. 17 is an operation flowchart of the embodiment.
  • FIG. 18 is a block diagram showing the configuration of a third embodiment of the data processing apparatus according to the present invention. ⁇
  • FIG. 20 is a diagram showing the internal configuration of the VPU 160 according to the fourth embodiment.
  • FIG. 1 is a block diagram showing the configuration of a first embodiment of a data processing apparatus according to the present invention.
  • the data processing apparatus according to the present embodiment performs, in an image encoding process, a motion detection process using a block matching method in an arithmetic unit.
  • the configuration of the apparatus will be described first, and the operation of the motion detection processing will be described later.
  • the data processing device includes an arithmetic unit 4 composed of an SI arithmetic unit that is directly controlled by a central processing unit (hereinafter abbreviated as CPU) 2 via control lines 3 and 5, and a work as storage means.
  • Address unit 10 commonly connected to RAM 12, CPU 2, arithmetic unit 4 and work RAM 12, and arithmetic unit 4 having a bus width wider than that of data bus 6 of CPU 2 And a work RAM 1 and a work bus 1.
  • CPU 2 decodes the instruction and controls the whole.
  • a RISC type microprocessor is used.
  • Reference numeral 20 denotes a ROM for storing programs and the like of the CPU device 2
  • reference numeral 18 denotes a RAM for storing data and programs of the CPU device 2.
  • 12 is a work RAM for temporarily storing the operation data of the SIMD type arithmetic unit 4
  • 16 is a DRAM for storing image data
  • 14 is a DRA between the DRAM 16 and the work RAM 12.
  • Min Yuichi Face Circuit, 22 is DRAM 16 and Work RAM I 2 DMA (Direct Memory Access) A DMA circuit that controls transfer.
  • This embodiment has three types of buses, the bus width of the data bus 6 of the CPU 2 is 32 bits, the bus width of the address bus 10 is 32 bits, and the buses of the data buses 8 and 24 are The bus width is 144 bits. In the figure, the bus lines are shaded and the numbers indicate the bus width (number of bits).
  • FIG. 2 is a circuit diagram showing an internal configuration of the SIMD type arithmetic unit 4 of FIG.
  • Arithmetic unit 4 is composed of a SIMD-controlled arithmetic unit having 16 processor elements 38, 40—42, and 44 arranged in parallel, and each processor element is connected to a register 3 via a selector 32. It has a first input terminal connected to 0, a second input terminal connected to resistor 34, and an output terminal connected to data buses 6 and 8.
  • the register 30 has a bit width that is the sum of the bit widths of the first input terminals of all the processor elements 38, 40—42, and 44.
  • the register 34 has the total bit width of the second input terminals of all processor elements.
  • a third register 36 having a bit width equal to or greater than the bit width of the second input terminal of the processor element and capable of shifting data in units of the bit width of the second input terminal is provided in register 34. Have.
  • Each processor element 38, 40—42, 44 is controlled by CPU 2 via control lines 3 and 5.
  • the data supply from the register 30 to the processor elements 38, 40 '... 42, 44 can be changed by the selector 32.
  • data is written from the write circuits 50, 46 and 48 controlled by the address bus 10 via the oral bus 8.
  • FIG. 3 is a block diagram showing the configuration of the RISC microprocessor 2 of FIG. This configuration is based on the known microprocessor.
  • an instruction decode circuit 58 that inputs and decodes the instruction fetched from the instruction fetch circuit 60 via the line 72
  • an arithmetic circuit 64 that executes the instruction 68 from the instruction decode circuit 58
  • the program consists of a program counter 54 and a general-purpose register 56.
  • the signal line 3 is activated in the case of the operation instruction to the SIMD type operation unit 4, and the signal line 5 is activated in the case of the instruction to read the result to the SIMD type operation unit 4.
  • 66, 68, 62, 73 and 74 are command and data transmission lines.
  • FIG. 4 is a block diagram showing a configuration of the processor element.
  • the configuration of the 16 processor elements 38, 40,..., 42, 44 of the SIMD type arithmetic unit 4 is all the same.
  • the processor element 38 will be described as an example.
  • the processor element 38 comprises a register 82 for holding the operation results of the arithmetic circuits 80 and 81, and a read control circuit 84 for controlling reading to the oral data bus 8 or the data bus 6. Have been.
  • the arithmetic circuit 80 has a 9-bit part of the 144-bit bit width of the register 30 via the bus 37, and a 9-bit register.
  • Some 9 bits of the 144-bit width of 34 are input via bus 35.
  • the two input data are calculated (subtracted) by the arithmetic circuit 80, and the output of the arithmetic circuit 80 is added to the value of the register 82 by the arithmetic circuit 81.
  • the operation result of the operation circuit 81 is stored in the register 82.
  • FIG. 5 and FIG. 6 are diagrams illustrating the connection form of the selector 32.
  • Image motion detection according to the standard MPEG2 is based on macroblocks of 16 pixels in the horizontal direction and 16 pixels in the vertical direction. The location of the similar macroblock is determined, and the distance between the two macroblocks in the image frame is calculated.
  • motion detection is performed by a block matching method.
  • the block matching method is a method in which the absolute difference between the pixel of the image to be encoded and the corresponding pixel of the reference image is cumulatively added to all the pixels in the macroblock, and the macro with the smallest cumulative added value is calculated. Perform the process of finding the location of the block.
  • FIGS. 7 and 8 show the reference image data and the pixels of the coded image which are macroblocks of the coded image when the above image is coded, respectively.
  • the reference image data is composed of 352 pixels in the horizontal direction and 240 pixels in the vertical direction.
  • Symbols encircled in the figure, such as ral and ra2 '"rbl to rpl7 ..., are symbols that identify pixels.
  • a macroblock is 16 pixels in the horizontal direction and 16 pixels in the vertical direction.
  • Ta2 ... 16 etc. are words that identify pixels.
  • FIG. 9 shows the state of data stored in the DRAM 16 of FIG.
  • Symbols ra 1, ra 2,..., Ta 1, tb 8, etc. in the figures represent pixels corresponding to the symbols shown in FIG. 7 and FIG.
  • Address A0O0 is assigned to the reference image data area, and has a bit width of DRAl16. Four bits in the horizontal direction are stored in 32 bits.
  • Address B000 is assigned to a macroblock, that is, an area of encoded image data.
  • FIG. 10 shows the encoded image data and reference image data stored in the work RAM I2.
  • the address C000 is assigned to the area of the reference image data.
  • FIG. 11 is a flowchart of a process for detecting motion in the data processing apparatus.
  • FIG. 12 is a diagram for explaining the detailed operation of step 92.
  • the signal flow of the register C 36 is shown in relation to time. That is, the time t shown in the vertical direction and the change of the contents of the registers 30, 34, and 36 at that time are also shown.
  • the register A30 stores multiple pixel data of the image to be coded, and the upper 9 bits of a series of bit strings are stored in all the processor modules 38, 40, 42, 44.
  • register ⁇ 34 It is supplied in common, and multiple pixel data images of the reference image are stored in the register ⁇ 34. Supplied to another processor element.
  • the register C 36 shifts and supplies the data to the register # 34. In the case of a 9-bit shift instruction, the upper 9 bits of register C36 are supplied to the lower 9 bits of register 34.
  • step 100 the parallel operation of a plurality of processor elements and the 9-bit shift of register 34 and register 36 are performed again.
  • the processor element 38 performs an operation for calculating the absolute value of the difference between the reference image data ra2 and the encoded image data ta2. Then, it is added to the data of the register 82 and written to the register 82.
  • the processor element 40 calculates the absolute value of the difference between the reference image data ra3 and the encoded image data tal, and adds the result to the value of the register 82 inside the processor element. I do.
  • data is transferred from the work RAM 12 to three registers 30, 34, and 36 in order to calculate the data one line below.
  • step 104 data is transferred from work RAM 12 to register B.
  • step 106 data is transferred from work RAM 12 to register 36.
  • step 108 data is transferred from work RAM 12 to register A.
  • the sign of the lower one line calculated earlier Pixels tal to tal6 of the digitized image are stored in register A, and data is stored in all three registers 30, 34, and 36.
  • the calculation is performed in the same manner as described above. This operation is repeated for 16 lines.
  • the cumulative sum of the absolute difference values for all pixels is stored in the internal register 82 of the processor element 38. This value represents the result of the block matching operation of the vector (0, 0) in FIG. 13, that is, the degree of approximation corresponding to the vector (0, 0).
  • FIG. 17 is a processing flowchart illustrating the operation of the data processing device of the second embodiment.
  • the operation of storing data in the three registers of the SI AID operation unit 4, that is, the operation of transferring data from the DRAM 16 to the work RAM 12 overnight (step 90)
  • the operation up to the operation of transferring the encoded image data from the RAM 12 to the register A (step 96) is the same as the portion having the same step number shown in FIG.
  • step 96 data is stored in the register of the SIMD operator 130.
  • the reference image data is transferred from the work RAM 12 to the register B (step 140).
  • the reference image data is transferred from the work RAM 12 to the register C (step 142).
  • the work RAM 144 is connected to the DMA C 122 side, and the work RAM 146 is connected to the SIMD calculator 4 side.
  • the SIMD operator 4 can immediately start the operation. Therefore, the calculation efficiency can be improved.
  • FIG. 19 is a diagram showing a fourth embodiment of the data processing device according to the present invention.
  • the data processing device of the present invention is configured in an image signal compression LSI.
  • the present embodiment is different from the device shown in FIG. 1 in that the DRAM interface 14 and the DRAM 176 corresponding to the DRAM 16 are outside the LSI, and the MPU 166 is a motion detection block. It differs in having a control register 185 for controlling 1 60. With this control register, the motion detection block 1
  • the control of PU 180 is performed.
  • the reference image data of the corresponding search range is also read into the work RAM of the motion detection block 160 at the same time.
  • the cumulative addition of the absolute difference calculation of each motion vector is performed. After the operation of all vectors is completed, the vector with the smallest difference absolute value operation value is set as the motion vector for this macro block. Then, a difference value between each pixel corresponding to the encoded image and the reference image at this time is obtained, and the result is sent to the Q-DCT / IQ-IDCT block 164.
  • the DCT / IQ-IDCT block 164 performs DCT processing and quantization processing on the result sent from the motion detection block 160, and sends the result to the variable-length coding / decoding block 164.
  • the variable-length encoding process is performed, and the compression process for the image data is completed.
  • the present invention enables continuous supply of data to the processor elements constituting the SIMD type arithmetic unit, and in particular, performs a large amount of arithmetic processing for compressing and expanding image signals.
  • the calculation efficiency in the repeated signal processing can be improved.

Abstract

A data processing apparatus for effectively and quickly processing a large amount of data by processors, e.g., for detection of motion vectors in image processing. An SDMD circuit (4) controlled by a CPU (2) is connected with a WORKRAM (12) through a local bus (8) that is wider than the data bus (6) of the CPU (2). An address bus (10) is connected commonly with the SDMD circuit (4), the WORKRAM (12), and the CPU (2). The CPU (2) integrally controls the SDMD circuit (4) and the WORKRAM (12) to perform high-speed data processing.

Description

データ処理装置及び演算器  Data processing device and arithmetic unit
技術分野 Technical field
本発明はデータ処理装置、 更に詳しく言えば、 映像信号圧縮、 伸長処理 で用いる動き検出、 動き補償の処理等のように、 大量のデータをプロセ ッサを使用して高速かつ効率的に行うデータ処理装置に関するものであ る。 背景技術  The present invention relates to a data processing device, more specifically, a data processing device that performs a large amount of data at high speed and efficiently using a processor, such as a motion detection process and a motion compensation process used in video signal compression and decompression processes. It relates to a processing device. Background art
画像や音声の伸張、 圧縮処理等では大量のデータに対し、 同一の演算処 理を繰り返し高速度で行う必要がある。 そのため、 上記同一の演算処理 を行う部分は専用の演算装置を儲け、 その演算装置を高速動作させるた め、 並列に配置された複数のプロセッサエレメント (演算ユニッ ト) を 持ち、 それらを同一のプログラムによって動作させる S I MD (Singie Instruci ion Mul t iple Da t a) 演算装置で構成するデータ処理装置が知 られている。 なお、 S I MD演算装置については、 文献 「インターフエ イス」 の 1 9 9 8年 3月号の 1 1 1頁から 1 1 3頁に記載がある。 具体 的には、 米国ィンテル社のペンティアムの MMXテクノ口ジが知られて いる。  In the expansion and compression of images and sounds, it is necessary to repeatedly perform the same arithmetic processing on a large amount of data at a high speed. Therefore, the part that performs the same arithmetic processing has a dedicated arithmetic unit, and has a plurality of processor elements (arithmetic units) arranged in parallel to operate the arithmetic unit at high speed. 2. Description of the Related Art There is known a data processing device configured by a SIMD (Singie Instrument Multiple Data) arithmetic device operated by a computer. The SIMD arithmetic unit is described in the document “Interface”, March 1999, pages 111 to 113. Specifically, the Pentium MMX techno outlet of Intel Corporation of the United States is known.
S I MD方式の演算装置では、 メモリからデータを絶え間なく供給し、 演算器の稼働率を上げることが、 パフォーマンスを決める重要な要素と なる。 しかし、 従来知られているセントラルプロセッサユニッ ト (C P Uと略称) と S I MD方式の演算器を組み合わせたデータ処理装置は、 装置構成上、 C PUと S I 演算装置が共通のデータバス及びアドレ スバスを介して接続されている。そのため、メモリ一から S I MD演算装 置内のレジス夕へのデータ転送を行い、 次に演算を行い、 次にレジス夕 内の演算結果をメモリ一に転送して、 次のデ一夕処理が開始できるとい う動作であった。 この場合、 隣接したプロセッサエレメントで使用した データを使用して、 演算効率を上げることができないという問題があつ た。 In the SIMD arithmetic unit, the continuous supply of data from the memory and an increase in the operating rate of the arithmetic unit are important factors in determining performance. However, a data processor that combines a conventionally-known central processor unit (abbreviated as CPU) and a computing unit of the SIMD method requires a data bus and address bus that are shared by the CPU and the SI computing unit due to the configuration of the device. Connected through. Therefore, the SIMD arithmetic The operation was such that data was transferred to the internal registry, the computation was performed next, the computation result in the registry was transferred to the memory, and the next data processing could be started. In this case, there is a problem that it is not possible to increase the operation efficiency by using data used in the adjacent processor element.
この問題を解決するため考えられる方式は、システム LS I の考え方に 従って S I M D演算装置と内蔵メモリとの間をシステムバスと独立の大 きなバス幅の口一カルバスで接続することが考えられる。 しかしこの方 式では S I M D演算装置とメモリのデ一夕転送性能は向上するが、 C P Uから S I M D演算装置に受け渡す演算命令を限定しないシステムバス のトラヒックが問題となり、 〇?11と5 I M D演算装置の両方にァドレ ス発生器を必要とし、 C P Uはメモリのデータ読み出しと S I M D演算 装置のデータ格納との両者を一元的に管理できない。 そのため、 S I M D演算装置の高速性能を有効に利用することができないという問題があ る。 発明の開示  In order to solve this problem, it is conceivable to connect the SIMD arithmetic unit and the built-in memory with a single bus with a large bus width independent of the system bus according to the concept of the system LSI. However, in this method, the data transfer performance between the SIMD arithmetic unit and the memory is improved, but the traffic on the system bus, which does not limit the arithmetic instructions passed from the CPU to the SIMD arithmetic unit, becomes a problem. An address generator is required for both the 11 and 5 IMD arithmetic units, and the CPU cannot centrally manage both reading data from the memory and storing data in the SMD arithmetic unit. Therefore, there is a problem that the high-speed performance of the SIMD arithmetic unit cannot be used effectively. Disclosure of the invention
本発明の主な目的は、データの高速処理ができるデータ処理装置を実現 することである。  A main object of the present invention is to realize a data processing device capable of processing data at high speed.
本発明の他の目的は、 中央処理装置によって制御されかつメモリと口 一カルバスで接続された演算ュニッ トを持つデータ処理装置において、 中央処理装置がメモリのデ一夕読み出しと演算ュニッ 卜のデータ格納と の両者を一元的に管理できるデータ処理装置を実現することである。 本発明の更に他の目的は、 演算ュニッ 卜を構成するプロセッサエレメ ントに対するデータの供給を絶え間なくできるようにして、 できるだけ 毎ク口ック演算が可能になり、 デ一夕の高速処理ができるデータ処理装 置を実現することである。 Another object of the present invention is to provide a data processing device having an arithmetic unit controlled by a central processing unit and connected to a memory by a local bus, wherein the central processing unit reads data from the memory and reads data from the arithmetic unit. An object of the present invention is to realize a data processing device capable of centrally managing both storage and storage. Still another object of the present invention is to make it possible to continuously supply data to the processor elements constituting the arithmetic unit, to perform arithmetic operations as much as possible, and to perform high-speed data processing. Data processing equipment Is to realize the position.
上記目的を達成するため、 本発明のデータ処理装置は、 C P U装置によ り制御される演算ユニッ トと、 第一の記憶手段と、 上記 C P U , 演算ュ ニッ ト及び第一の記憶手段に共通に接続されたァドレスバスと、 上記 C P Uのもつデータバスのバス幅より広いバス幅を持ち上記算ュニッ 卜と を結合するローカルデータバスとを設けて構成した。  In order to achieve the above object, a data processing device according to the present invention includes an arithmetic unit controlled by a CPU device, a first storage unit, and a common unit for the CPU, the arithmetic unit, and the first storage unit. And a local data bus having a bus width larger than the bus width of the data bus of the CPU and connecting the computing unit.
本発明では、第一の記憶手段と演算ュニッ 卜との間にローカルデータバ スを設けることにより、 デ一夕転送性能を向上し、 C P Uから演算ュニ ッ卜へ制御線を接続することにより、 演算ュニッ 卜へ供給される演算命 令をシステムバスのトラフィックから独立している。 更に、 アドレスバ スは、 C P U装置、 演算ユニット及び第一の記憶手段に共通に接続され たているため、 アドレス発生器は、 C P U装置のみに設ければよく、 演 算ュニッ 卜に設ける必要がない。 第一の記憶手段も演算ュニッ卜のレジ ス夕と共に C P U装置のァドレス空間にあり、 C P U装置は第一の記憶 手段のデータ読み出しと、 演算ユニッ トのレジス夕のデ一夕格納との両 者のァドレス指定を一元的に管理できる。  In the present invention, by providing a local data bus between the first storage means and the operation unit, the data transfer performance is improved, and a control line is connected from the CPU to the operation unit. The operation instructions supplied to the operation unit are independent of the system bus traffic. Further, since the address bus is commonly connected to the CPU device, the arithmetic unit, and the first storage means, the address generator may be provided only in the CPU device, and must be provided in the operation unit. Absent. The first storage unit is also located in the address space of the CPU unit together with the register of the arithmetic unit, and the CPU unit reads out the data of the first storage unit and stores the data of the register of the arithmetic unit overnight. Address management can be centrally managed.
本発明の好ましい実施形態によれば、 上記演算ュニッ 卜は複数のプロセ ッサエレメントを持つ S I 制御型の演算器で構成され、 上記各プロ セッサエレメントは第一の入力端子と第二の入力端子と出力端子を持ち、 全てのプロセッサエレメントの第一の入力端子のビッ ト幅を合計したビ ット幅の第一のレジス夕と、 全てのプロセッサエレメン卜の第二の入力 端子のビッ ト幅を合計したビッ ト幅の第二のレジス夕と、 プロセッサェ レメン卜の第二の入力端子のビッ ト幅以上のビッ ト幅を持ち第二のレジ ス夕に第二の入力端子のビッ ト幅単位でデータのシフトができるように 構成された第三のレジス夕をもつ構成とする。 According to a preferred embodiment of the present invention, the arithmetic unit is configured by an SI control type arithmetic unit having a plurality of processor elements, and each of the processor elements has a first input terminal, a second input terminal, and an output. Terminals, and the first register width of the total bit width of the first input terminals of all processor elements and the total bit width of the second input terminals of all processor elements The second input terminal of the processor element and the bit width of the second input terminal in the second register with a bit width greater than the bit width of the second input terminal of the processor element It is assumed that the system has a third register that is configured to shift the data.
本発明のデータ処理装置は特に以下の実施形態で説明するように、 画 像の符号化処理に置ける動き検出処理などに有効であるが、 高速の演算 処理を C PUの処理と平行して行う必要がある処理装置に適用できる。 図面の簡単な説明 The data processing device according to the present invention is designed to This method is effective for motion detection in image coding, but can be applied to processing devices that require high-speed arithmetic processing to be performed in parallel with CPU processing. BRIEF DESCRIPTION OF THE FIGURES
第 1図は本発明によるデータ処理装置の第 1実施例の構成を示すブロッ ク図 FIG. 1 is a block diagram showing a configuration of a first embodiment of a data processing device according to the present invention.
第 2図は第 1図の S I MD型演算器 4の内部構成を示す回路図 第 3図は第 1図の C PU 2の内部構成図 FIG. 2 is a circuit diagram showing the internal configuration of the SIMD type arithmetic unit 4 of FIG. 1. FIG. 3 is an internal configuration diagram of the CPU 2 of FIG.
第 4図は第 2図のプロセッサエレメント 38の内部構成図 Fig. 4 shows the internal structure of the processor element 38 in Fig. 2.
第 5図は第 2図の S I MD型演算器 4の動作説明図 Fig. 5 is an explanatory diagram of the operation of the SIMD type arithmetic unit 4 in Fig. 2.
第 6図は第 2図の S I MD型演算器 4の動作説明図 Fig. 6 is an explanatory diagram of the operation of the SIMD type arithmetic unit 4 in Fig. 2.
第 7図は第 1実施形態で用いる参照画像デ一夕の説明図 FIG. 7 is an explanatory diagram of the reference image data used in the first embodiment.
第 8図は第 1実施形態で用いる符号化画像データの説明図 FIG. 8 is an explanatory diagram of encoded image data used in the first embodiment.
第 9図は第 1図の DRAM 1 6上のァドレスマップ Fig. 9 shows the address map on DRAM 16 in Fig. 1.
第 1 0図は第 1図のワーク RAM I 2上のアドレスマップ Fig. 10 shows the address map on work RAM I2 in Fig. 1.
第 1 1図は第 1実施形態の動作フローチャート Fig. 11 is an operation flowchart of the first embodiment.
第 1 2図は第 1実施形態の S I MD型演算器 4のレジス夕のデ一夕転送 の様子を説明する図 FIG. 12 is a diagram for explaining the state of the overnight transfer of the register of the SIMD arithmetic unit 4 of the first embodiment.
第 1 3図は第 1実施形態におけるベク トル (0, 0) の演算範囲の説明 図 FIG. 13 is an explanatory diagram of a calculation range of a vector (0, 0) in the first embodiment.
第 14図は第 1実施形態におけるベクトル ( 1, 0) の演算範囲の説明 図 FIG. 14 is an explanatory diagram of a calculation range of the vector (1, 0) in the first embodiment.
第 1 5図は本発明によるデータ処理装置の第 2実施形態の構成を示すブ ロック図 FIG. 15 is a block diagram showing the configuration of a second embodiment of the data processing device according to the present invention.
第 1 6図は第 2実施形態の CPUの内部構成図  Fig. 16 shows the internal configuration of the CPU of the second embodiment.
第 1 7図は第 実施形態の動作フローチヤ一ト  FIG. 17 is an operation flowchart of the embodiment.
第 1 8図は本発明によるデータ処理装置の第 3実施形態の構成を示すブ δ FIG. 18 is a block diagram showing the configuration of a third embodiment of the data processing apparatus according to the present invention. δ
ロック図 Lock diagram
第 1 9図は本発明によるデータ処理装置の第 4実施形態の構成を示すブ ロック図 FIG. 19 is a block diagram showing the configuration of a fourth embodiment of the data processing device according to the present invention.
第 20図は第 4実施形態における VPU 1 60の内部構成図 発明を実施するための最良の形態 FIG. 20 is a diagram showing the internal configuration of the VPU 160 according to the fourth embodiment.
ぐ実形態 1 > Real form 1>
第 1 図は本発明によるデ一夕処理装置の第 1 の実施形態の構成を示す ブロック図である。 本実施形態のデータ処理装置は、 画像符号化処理に おいて、 ブロックマッチング法による動き検出の処理を演算ユニッ トで 行うものである。 先に装置の構成を説明し、 後で動き検出の処理の動作 を説明する。  FIG. 1 is a block diagram showing the configuration of a first embodiment of a data processing apparatus according to the present invention. The data processing apparatus according to the present embodiment performs, in an image encoding process, a motion detection process using a block matching method in an arithmetic unit. The configuration of the apparatus will be described first, and the operation of the motion detection processing will be described later.
図示のように本データ処理装置は、 中央処理装置(以下 CPUと略称) 2により制御線 3及び 5を介して直接制御される S I 演算器で構成 された演算ユニット 4と、 記憶手段であるワーク RAM 1 2と、 CPU 2、 演算ュニッ ト 4及びワーク RAM 1 2に共通に接続されたァドレス バス 1 0と、 CPU 2のもつデータバス 6のバス幅より広いバス幅を持 ち演算ュニッ ト 4とワーク RAM 1 2を結合する口一カルデ一夕バス 8 とをもつ。  As shown in the figure, the data processing device includes an arithmetic unit 4 composed of an SI arithmetic unit that is directly controlled by a central processing unit (hereinafter abbreviated as CPU) 2 via control lines 3 and 5, and a work as storage means. Address unit 10 commonly connected to RAM 12, CPU 2, arithmetic unit 4 and work RAM 12, and arithmetic unit 4 having a bus width wider than that of data bus 6 of CPU 2 And a work RAM 1 and a work bus 1.
CPU 2は、 命令をデコードし全体を制御する。 本実形態では、 R I S C型マイクロプロセッサを用いている。 20は C P U装置 2のプログ ラムなどを格納する ROM、 1 8は C PU装置 2のデータあるいはプロ グラムなどを格納する RAMである。 1 2は S I MD型演算器 4の演算 データを一時的に保持するためのワーク RAM、 1 6は画像デ一夕が格 納される DRAM、 14は DRAM 1 6とワーク RAM 1 2との DRA Mィン夕一フェイス回路、 22は DRAM 1 6とワーク RAM I 2との DMA (Direct Memory Access) 転送を制御する DMA回路である。 本実施例は、 3種のバスを有し、 C P U 2のデータバス 6のバス幅は 3 2ビッ 卜、 アドレスバス 1 0のバス幅は 3 2ビット、 デ一夕バス 8及 び 2 4のバス幅は 1 44ビッ トである。 図中バス線に斜線とを付し数は バス幅(ビッ ト数)を示す。 CPU 2 decodes the instruction and controls the whole. In this embodiment, a RISC type microprocessor is used. Reference numeral 20 denotes a ROM for storing programs and the like of the CPU device 2, and reference numeral 18 denotes a RAM for storing data and programs of the CPU device 2. 12 is a work RAM for temporarily storing the operation data of the SIMD type arithmetic unit 4, 16 is a DRAM for storing image data, and 14 is a DRA between the DRAM 16 and the work RAM 12. Min Yuichi Face Circuit, 22 is DRAM 16 and Work RAM I 2 DMA (Direct Memory Access) A DMA circuit that controls transfer. This embodiment has three types of buses, the bus width of the data bus 6 of the CPU 2 is 32 bits, the bus width of the address bus 10 is 32 bits, and the buses of the data buses 8 and 24 are The bus width is 144 bits. In the figure, the bus lines are shaded and the numbers indicate the bus width (number of bits).
以下各部の構成動作を詳しく説明する。  Hereinafter, the configuration operation of each unit will be described in detail.
第 2図は、 第 1 図の S I MD型演算器 4の内部構成を示す回路図であ る。 演算ュニット 4は 1 6個の並列に配置されたプロセッサエレメント 3 8、 40— 42、 44を持つ S I MD制御型の演算器で構成され、 各 プロセッサエレメントは、 セレクタ 3 2を介してレジス夕 3 0に接続さ れた第一の入力端子とレジス夕 34に接続された第二の入力端子とデー 夕バス 6及び 8に接続された出力端子を持つ。 レジス夕 3 0は全てのプ 口セッサエレメント 3 8、 40— 42、 44の第一入力端子のビッ ト幅 を合計したビット幅を持つ。 レジス夕 34は全てのプロセッサエレメン トの第二入力端子のビット幅を合計したビット幅を持つ。 更にプロセッ サエレメントの第二入力端子のビッ ト幅以上のビッ ト幅を持ち、 レジス 夕 34に第二の入力端子のビッ ト幅単位でデータのシフ卜ができる第三 のレジス夕 3 6をもつ。  FIG. 2 is a circuit diagram showing an internal configuration of the SIMD type arithmetic unit 4 of FIG. Arithmetic unit 4 is composed of a SIMD-controlled arithmetic unit having 16 processor elements 38, 40—42, and 44 arranged in parallel, and each processor element is connected to a register 3 via a selector 32. It has a first input terminal connected to 0, a second input terminal connected to resistor 34, and an output terminal connected to data buses 6 and 8. The register 30 has a bit width that is the sum of the bit widths of the first input terminals of all the processor elements 38, 40—42, and 44. The register 34 has the total bit width of the second input terminals of all processor elements. Furthermore, a third register 36 having a bit width equal to or greater than the bit width of the second input terminal of the processor element and capable of shifting data in units of the bit width of the second input terminal is provided in register 34. Have.
各プロセッサエレメント 3 8、 40— 42、 44は、 制御線 3と 5を 介して C PU 2によって制御される。 レジス夕 3 0からプロセッサエレ メント 3 8, 40'·· 42、 44へのデータ供給は、 セレクタ 3 2により 変えることができる。 また、 レジス夕 3 0、 34及び 3 6は、 それそれ ァドレスバス 1 0によって制御される書き込み回路 5 0、 46及び 48 から口一カルバス 8を介してデータが書き込まれる。  Each processor element 38, 40—42, 44 is controlled by CPU 2 via control lines 3 and 5. The data supply from the register 30 to the processor elements 38, 40 '... 42, 44 can be changed by the selector 32. In the registers 30, 34 and 36, data is written from the write circuits 50, 46 and 48 controlled by the address bus 10 via the oral bus 8.
第 3図は、 第 1 図の R I S C型マイクロプロセッサ 2の構成を示すブ ロック図である。 この構成は、 従来知られているマイクロプロセッサの 構成と全く同様で、 命令フェッチ回路 6 0からフェッチした命令を線路 7 2を介して入力しデコードする命令デコード回路 5 8、 命令デコード 回路 5 8からの命令 6 8を実行する演算回路 6 4、 プログラムカウン夕 5 4、 汎用レジス夕 5 6から構成されている。 FIG. 3 is a block diagram showing the configuration of the RISC microprocessor 2 of FIG. This configuration is based on the known microprocessor. In exactly the same way as the configuration, an instruction decode circuit 58 that inputs and decodes the instruction fetched from the instruction fetch circuit 60 via the line 72, an arithmetic circuit 64 that executes the instruction 68 from the instruction decode circuit 58, The program consists of a program counter 54 and a general-purpose register 56.
更に命令デコード回路 5 8では、 例えば、 S I M D型演算器 4に対す る演算命令の場合は信号線 3を、 S I M D型演算器 4に対する結果の読 み出し命令の場合は信号線 5をアクティブにする。 6 6 、 6 8 、 6 2 、 73及び 7 4は命令及びデータ伝送線である。  Further, in the instruction decode circuit 58, for example, the signal line 3 is activated in the case of the operation instruction to the SIMD type operation unit 4, and the signal line 5 is activated in the case of the instruction to read the result to the SIMD type operation unit 4. . 66, 68, 62, 73 and 74 are command and data transmission lines.
第 4図は、 上記プロセッサエレメン卜の構成を示すプロック図である。  FIG. 4 is a block diagram showing a configuration of the processor element.
S I M D型演算器 4の 1 6個のプロセッサエレメント 3 8 、 4 0、 ··· 4 2 、 4 4の構成は全て同じである。 ここでは、 代表してプロセッサエレ メント 3 8を例に説明する。 プロセッサエレメント 3 8は、 演算回路 8 0 、 8 1の演算結果を保持するためのレジス夕 8 2 、 口一カルデータバ ス 8又はデータバス 6への読み出しを制御するための読み出し制御回路 8 4から構成されている。 演算回路 8 0には、 レジス夕 3 0の 1 4 4ビ ットのビット幅の一部の 9ビットがバス 3 7を介して、 また、 レジス夕 The configuration of the 16 processor elements 38, 40,..., 42, 44 of the SIMD type arithmetic unit 4 is all the same. Here, the processor element 38 will be described as an example. The processor element 38 comprises a register 82 for holding the operation results of the arithmetic circuits 80 and 81, and a read control circuit 84 for controlling reading to the oral data bus 8 or the data bus 6. Have been. The arithmetic circuit 80 has a 9-bit part of the 144-bit bit width of the register 30 via the bus 37, and a 9-bit register.
3 4の 1 4 4ビットのビッ ト幅の一部の 9ビッ トがバス 3 5を介して入 力される。 入力された 2つのデータは、 演算回路 8 0で演算 (減算) さ れ、 演算回路 8 0の出力は演算回路 8 1でレジス夕 8 2の値と加算され る。 演算回路 8 1の演算結果はレジス夕 8 2に格納される。 Some 9 bits of the 144-bit width of 34 are input via bus 35. The two input data are calculated (subtracted) by the arithmetic circuit 80, and the output of the arithmetic circuit 80 is added to the value of the register 82 by the arithmetic circuit 81. The operation result of the operation circuit 81 is stored in the register 82.
第 5図及び第 6図は、 セレクタ 3 2の接続形態を説明する図である。 第 1 の接続形態では、 第 5図で示されるように、 レジス夕 3 0の 1 4 4 ビッ 卜の最上位ビッ トから 9ビッ ト a 0が各プロセッサエレメント 3 8 、 FIG. 5 and FIG. 6 are diagrams illustrating the connection form of the selector 32. FIG. In the first connection configuration, as shown in FIG. 5, the 9 bits a0 from the most significant bit of the 144 bits of the register 30 are assigned to each processor element 38,
4 0— 4 4, 4 2に共通に供給される。 また、 第 2の接続形態では、 第 6図に示されるように、 レジス夕 3 0の全内容 1 4 4ビッ ト力 上位か ら 9ビッ トづつの a 0 、 a 2 、 " ' a 1 4、 a 1 5がそれぞれプロセッサ エレメント 3 8、 40— 44、 42に供給される。 従って、 図に示され る a 0の 9 ビッ 卜のデータは 0番のプロセッサエレメント 3 8に、 a 1 の 9 ビットのデ一夕は 1番のプロセッサエレメント 40に、 という様に データが分配供給される。 4 0—Supplied to 44 and 42 in common. In the second connection configuration, as shown in FIG. 6, the entire contents of the register 30 are 144-bit power. A0, a2, "'a14 A 15 is each processor Supplied to elements 38, 40—44, 42. Therefore, the 9-bit data of a0 shown in the figure is distributed to the 0th processor element 38, the 9-bit data of a1 is distributed to the 1st processor element 40, and so on. Is done.
次に、 上記データ処理装置を使用して MP EG 2の規格による画像信 号の符号化処理の中で行われる画像の動き検出を行う場合を説明する。 規格 MP E G 2による画像の動き検出は、 水平 1 6画素、 垂直 1 6画 素のマクロブロック単位で、 符号化されるマクロブロックが、 比較対照 となる参照画面に対し、 探索範囲の中で一番似ているマクロプロックの 場所を求め、 その 2つのマクロブロック間の画像フレームにおける距離 を求める処理を行う。 通常、 動き検出は、 ブロックマッチング法で行わ れる。 ブロックマッチング法とは、 符号化される画像の画素と対応する 参照画像の画素の差分絶対値をマクロブロック内の全ての画素に対し累 積加算を行って、 累積加算値の最も値の小さいマクロプロックの場所を 見つける処理を行う。  Next, a case will be described in which the above-described data processing device is used to detect the motion of an image performed in the encoding process of the image signal according to the MPEG2 standard. Image motion detection according to the standard MPEG2 is based on macroblocks of 16 pixels in the horizontal direction and 16 pixels in the vertical direction. The location of the similar macroblock is determined, and the distance between the two macroblocks in the image frame is calculated. Usually, motion detection is performed by a block matching method. The block matching method is a method in which the absolute difference between the pixel of the image to be encoded and the corresponding pixel of the reference image is cumulatively added to all the pixels in the macroblock, and the macro with the smallest cumulative added value is calculated. Perform the process of finding the location of the block.
第 7図及び第 8図は、 それぞれ上記画像を符号化する際の参照画像デ 一夕及び符号化画像のマクロブロックである符号化画像の画素を示す。 ここでは、 参照画像デ一夕は水平方向 3 5 2画素、 垂直方向 240画素 を想定している。 図中丸で囲む記号 ral、 ra2'"rbl〜rpl7…等は画素を 識別する記号である。 また、 マクロブロックは、 水平方向 1 6画素、 垂 直方向 1 6画素で、 図中丸で囲む記号 tal、 ta2… 16等は画素を識別す る言己号である。  FIGS. 7 and 8 show the reference image data and the pixels of the coded image which are macroblocks of the coded image when the above image is coded, respectively. Here, it is assumed that the reference image data is composed of 352 pixels in the horizontal direction and 240 pixels in the vertical direction. Symbols encircled in the figure, such as ral and ra2 '"rbl to rpl7 ..., are symbols that identify pixels. A macroblock is 16 pixels in the horizontal direction and 16 pixels in the vertical direction. , Ta2 ... 16 etc. are words that identify pixels.
第 9図は、 第 1図の DRAM 1 6に格納されているデ一夕の様子を示 す。 図中の記号 r a 1 , r a 2 , … t a 1… t b 8…等は、 第 7図、 第 8図に示した記号に対応した画素を表す。ァドレス A0O0からが参照画像 データの領域に割り当てられており、 DRA l 1 6のビッ 卜幅である 32ビッ 卜で水平方向の 4画素が格納されている。ァドレス B000からが マクロプロック即ち符号化画像データの領域に割り当てられている。 第 1 0図は、 ワーク RAM I 2に格納された符号化画像データと参照 画像データを示す。 ここでは、 アドレス C000からが参照画像デ一夕の領 域に割り当てられている。 各画素のデータは 9ビットのデ一夕となり、 ァドレス C000からの 144ビッ 卜には、 画素 ralから画素 ral6までの 水平 1 6画素のデータが格納される。 また、 アドレス D000からが符号化 画像データの領域に割り当てられている。 参照画像データの場合と同様 に、 ァドレス D000の 144ビッ 卜に画素 talから画素 tal6までの水平 1 6画素が格納される。 FIG. 9 shows the state of data stored in the DRAM 16 of FIG. Symbols ra 1, ra 2,..., Ta 1, tb 8, etc. in the figures represent pixels corresponding to the symbols shown in FIG. 7 and FIG. Address A0O0 is assigned to the reference image data area, and has a bit width of DRAl16. Four bits in the horizontal direction are stored in 32 bits. Address B000 is assigned to a macroblock, that is, an area of encoded image data. FIG. 10 shows the encoded image data and reference image data stored in the work RAM I2. Here, the address C000 is assigned to the area of the reference image data. The data of each pixel is a 9-bit data, and the 144 bits from address C000 store the data of 16 horizontal pixels from pixel ral to pixel ral6. The address D000 is assigned to the area of the encoded image data. As in the case of the reference image data, the horizontal 16 pixels from pixel tal to pixel tal6 are stored in 144 bits of address D000.
第 1 1図は、 上記デ一夕処理装置における動き検出の処理フロ一チヤ 一トである。  FIG. 11 is a flowchart of a process for detecting motion in the data processing apparatus.
まず、 DRAM 1 6のデ一夕(第 9図)を DRAMイン夕一フェイス 1 4を介して、 ワーク RAM 1 2に転送する (ステップ 90)。 この時、 1画素あたり 8ビッ トのデータに符号ビッ トを付加して、 1画素あたり 9ビットのデ一夕とする符号拡張を行う。 DRAM 1 6上で 4ロングヮ ―ドのデ一夕を並べて 144ビッ 卜のデータを作り出す。 このような転 送を繰り返して、 バス 24を介してワーク RAM 1 2にデ一夕を格納す る。  First, the data of the DRAM 16 (FIG. 9) is transferred to the work RAM 12 via the DRAM interface 14 (step 90). At this time, a sign bit is added to the data of 8 bits per pixel, and the sign is extended to 9 bits per pixel. 4 bits of data are arranged side by side on DRAM 16 to produce 144-bit data. By repeating such a transfer, the data is stored in the work RAM 12 via the bus 24.
次に、 口一カルデ一夕バス 8を介してワーク RAM 1 2から S I MD 演算器 4のレジス夕 34に参照画像デ一夕を転送する (ステップ 92)。 第 1 2図はステップ 92の詳細な動作を説明するための図で、 1 6個 のプロセッサエレメント 38 , 40、 -42, 44と、 1 44ビッ トの レジス夕 A 30、 レジス夕 B 34、 レジスタ C 36の信号の流れを時間 との関係で示している。 すなわち、 縦方向に示す時刻 tとその時のレジ スタ 30、 34、 36の内容の変化も示している。 前述のように、 レジス夕 A30は、 符号化すべき画像の複数の画素デ 一夕が格納され、 一連のビッ 卜列の上位 9ビットが全てのプロセッサェ レスント 38、 40···42、 44に共通に供給され、 レジスタ Β 34に は参照画像の複数の画素データ画格納され、 上位 9ビッ 卜がプロセッサ エレメン 38に、 次の 9ビッ トがプロセッサエレメント 40とゆうよう に、 9ビッ ト毎に別のプロセッサエレメンに供給され。 レジスタ C 36 は、 レジスタ Β 34にデータをシフトして供給する。 9ビットのシフト 命令の場合、 レジス夕 Β 34の下位 9ビッ 卜にレジス夕 C 36の上位 9 ピッ 卜が供給される。 Next, the reference image data is transferred from the work RAM 12 to the register 34 of the SIMD arithmetic unit 4 via the mouth-to-carde bus 8 (step 92). FIG. 12 is a diagram for explaining the detailed operation of step 92. The 16 processor elements 38, 40, -42, 44, and the 144-bit register A 30 and the register B 34, The signal flow of the register C 36 is shown in relation to time. That is, the time t shown in the vertical direction and the change of the contents of the registers 30, 34, and 36 at that time are also shown. As described above, the register A30 stores multiple pixel data of the image to be coded, and the upper 9 bits of a series of bit strings are stored in all the processor modules 38, 40, 42, 44. It is supplied in common, and multiple pixel data images of the reference image are stored in the register 、 34. Supplied to another processor element. The register C 36 shifts and supplies the data to the register # 34. In the case of a 9-bit shift instruction, the upper 9 bits of register C36 are supplied to the lower 9 bits of register 34.
ここで、 時刻 t = 0 (ステップ 9 2) では、 レジス夕 B 34の参照画 像デ一夕の画素 ralから画素 ral6までが、 144ビッ 卜の幅で一度に転 送されていることが分かる。  Here, at time t = 0 (step 92), it can be seen that the pixels ral to pixel ral6 of the reference image data of the register B34 are transferred at a time with a width of 144 bits at a time. .
時刻 t = 1 (ステップ 94) では、 ワーク RAM I 2からレジスタ C 36にデ一夕を転送する。 この結果、 新たに参照画像データの画素 ral7 から画素 ra32までが、 144ビッ卜の幅でレジス夕 C 36に一度に転送 される。 その結果、 水平 32画素の 1ラインの参照画像データがレジス 夕 B 34とレジス夕 C 36に亘つて格納される。  At time t = 1 (step 94), the data is transferred from the work RAM I2 to the register C36. As a result, pixels ral7 to ra32 of the reference image data are newly transferred to the register C 36 at a time with a width of 144 bits. As a result, one line of reference image data of 32 pixels in the horizontal direction is stored in the register B 34 and the register C 36.
時刻 1; = 2 (ステップ 96) では、 ワーク RAM 1 2からレジスタ A 30に符号化画像データのマクロプロック画素 talから画素 tal6までの 144ビッ トの幅のデ一夕を一度に転送する。 ここで、 レジス夕 30、 34、 3 6演算に必要な全てのデータが格納される。  At time 1; = 2 (step 96), the work RAM 12 transfers the macroblock pixel tal to pixel tal6 of the encoded image data with a width of 144 bits at one time to the register A30. Here, all the data necessary for the calculations 30, 34, and 36 are stored.
時刻 t = 3 (ステップ 98) では、 プロセッサエレメント 38、 40 •••42、 44による同時並列演算とレジス夕 34とレジス夕 36の 9ビ ットのシフトを行う。 その結果、 プロセッサエレメント 38は、 参照画 像データ ral と符号化画像データ tal との差分絶対値を求める演算を行 う。 そして、 結果を第 4図で示したプロセッサエレメント内部のレジス 夕 8 2に格納する。 また、 プロセッサエレメント 40では、 同様に、 参 照画像データ ra2と符号化画像データ tal との差分絶対値を求める演算 を行い、 プロセッサエレメント 4 0内部のレジス夕 8 2に結果を格納す る。 他のプロセッサエレメント 4 2、 44等も同様である。 At time t = 3 (step 98), the processor elements 38, 40 •••• 42, 44 perform simultaneous parallel operation and shift 9 bits of register 34 and register 36. As a result, the processor element 38 performs an operation for calculating a difference absolute value between the reference image data ral and the encoded image data tal. The results are shown in Fig. 4 showing the register inside the processor element. Store at 82 in the evening. Similarly, the processor element 40 calculates the absolute value of the difference between the reference image data ra2 and the encoded image data tal, and stores the result in the register 82 inside the processor element 40. The same applies to the other processor elements 42, 44, and the like.
時刻 t =4 (ステップ 1 0 0) では、 再度、 複数のプロセッサエレメ ントの並列演算とレジス夕 34とレジス夕 3 6の 9ビッ 卜のシフトを行 う。 その結果、 プロセッサエレメント 3 8では、 参照画像デ一夕 ra2と 符号化画像デ一夕 ta2との差分絶対値を求める演算を行う。 そして、 レ ジス夕 8 2のデータと加算して、 レジス夕 8 2に書き込む。 また、 プロ セッサエレメント 40では、 同様にして、 参照画像デ一夕 ra3と符号化 画像デ一夕 tal との差分絶対値を求める演算を行い、 プロセッサエレメ ント内部のレジス夕 8 2の値と加算する。  At time t = 4 (step 100), the parallel operation of a plurality of processor elements and the 9-bit shift of register 34 and register 36 are performed again. As a result, the processor element 38 performs an operation for calculating the absolute value of the difference between the reference image data ra2 and the encoded image data ta2. Then, it is added to the data of the register 82 and written to the register 82. Similarly, the processor element 40 calculates the absolute value of the difference between the reference image data ra3 and the encoded image data tal, and adds the result to the value of the register 82 inside the processor element. I do.
上述の動作を繰り返し、 1 6回目の演算とレジス夕 34とレジス夕 3 6の 9ビットのシフトを行った時 (ステップ 1 0 2) の、 レジス夕の状 態は、 第 1 2図の時刻 t = 18で示される。 ブロックマッチングを行う範囲 が水平 1 6画素の場合は、 この時点で 1水平ラインの演算が終了する。 ここで、 1ライン下のデ一夕を演算するために、 ワーク RAM 1 2か ら 3つレジス夕 3 0、 34、 3 6へのデータ転送を行う。 まず、 時刻 t = 1 9 (ステップ 1 04) では、 ワーク RAM 1 2からレジス夕 Bにデ 一夕を転送する。  When the above operation is repeated and the 16th operation and 9-bit shift of the register 34 and the register 36 are performed (step 102), the state of the register is the time shown in Fig. 12. t = 18 If the range for block matching is 16 pixels horizontally, the calculation of one horizontal line ends at this point. Here, data is transferred from the work RAM 12 to three registers 30, 34, and 36 in order to calculate the data one line below. First, at time t = 1 9 (step 104), data is transferred from work RAM 12 to register B.
時刻 t = 2 0 (ステップ 1 0 6) では、 ワーク RAM 1 2からレジス 夕 3 6にデータを転送する。 この結果、第 1 2図の時刻 t = 20の状態なり、 先に演算したライン下の 1ラインの参照画像のデータ、 画素 rblから rb32がレジスタ 34とレジス夕 3 6にまたがって格納される。  At time t = 20 (step 106), data is transferred from work RAM 12 to register 36. As a result, the state at time t = 20 in FIG. 12 is obtained, and the data of the reference image of one line below the previously calculated line, pixels rbl to rb32, are stored across the register 34 and the register 36.
時刻 t 2 1 (ステップ 1 0 8) では、 ワーク RAM 1 2からレジス 夕 Aにデータを転送する。 この結果、 先に演算した下の 1ラインの符号 化画像の画素 talから tal6までがレジス夕 Aに格納され、 3つのレジス 夕 30、 34、 36の全てにデータが格納される。 そして、 前述と同様 にして、 演算を行う。 さらに、 この動作を 1 6ライン分、 繰り返す。 その結果、 プロセッサエレメント 3 8の内部レジス夕 82には、 全て の画素に対する差分絶対値の累積加算値が格納さる。 この値は、 第 1 3 図におけるベクトル (0, 0) のブロックマッチング演算の結果即ちべ ク トル (0, 0) に対応する近似度を表す。 At time t21 (step 108), data is transferred from work RAM 12 to register A. As a result, the sign of the lower one line calculated earlier Pixels tal to tal6 of the digitized image are stored in register A, and data is stored in all three registers 30, 34, and 36. Then, the calculation is performed in the same manner as described above. This operation is repeated for 16 lines. As a result, the cumulative sum of the absolute difference values for all pixels is stored in the internal register 82 of the processor element 38. This value represents the result of the block matching operation of the vector (0, 0) in FIG. 13, that is, the degree of approximation corresponding to the vector (0, 0).
一方、 プロセッサエレメント 40の内部レジス夕 82には、 第 14図 におけるベクトル ( 1, 0) のブロックマッチング演算の結果が格納さ れ、 同様にして 1 6個のプロセッサエレメント 38— 44で同時に 1 6 個の動きべクトルのブロックマッチング演算の結果を得ることができる。 本実形態では、 ワーク R AM 1 2から S I MD演算器 4に、 デ一夕処 理装置のシステムデ一夕 8を介することなく、 多量のデータが一度に転 送できると共に、 S I MD演算器 4にアドレス発生器を設けることなく、 CPU 4のアドレス管理によってワーク RAM I 2と S I MD演算器 4 との間のデータ転送が一元的に管理できる。 従って、 画像処理の動き検 出をブロックマッチング法によって行うような、 1つの命令によって同 種の多数の演算を必要とするデータ処理に有効である。  On the other hand, the result of the block matching operation of the vector (1, 0) in FIG. 14 is stored in the internal register 82 of the processor element 40, and similarly, 16 processor elements 38-44 simultaneously store 16 bits. The result of the block matching operation of the motion vectors can be obtained. In this embodiment, a large amount of data can be transferred from the work RAM 12 to the SIMD arithmetic unit 4 at a time without passing through the system The data transfer between the work RAM I 2 and the SIMD calculator 4 can be centrally managed by the address management of the CPU 4 without providing an address generator in the CPU 4. Therefore, it is effective for data processing that requires many operations of the same kind by one instruction, such as performing motion detection in image processing by the block matching method.
<実施形態 2>  <Embodiment 2>
第 1 5図は本発明によるデータ処理装置の第 2の実施形態の構成を示 すブロック図である。 本実施形態は第 1図のデータ処理装置に第二の S I MD演算器 1 30が追加されている。 これに伴い、 C PU 1 3 1から の制御線 1 34と 1 32が追加されている。 ここで、 第二の S I MD演 算器 1 30の内部構成は、 第 2図で示したものと同じで、 同一対応構成 要素については同じ番号を付して説明を省く。 また他の構成要素で第 1 図に示したものと実質的に同じ部分に関しては、 同じ番号を付して説明 を省く。 FIG. 15 is a block diagram showing the configuration of the second embodiment of the data processing device according to the present invention. In the present embodiment, a second SIMD calculator 130 is added to the data processing device of FIG. Accordingly, control lines 134 and 132 from the CPU 1311 have been added. Here, the internal configuration of the second SIMD calculator 130 is the same as that shown in FIG. In addition, the same components as those shown in FIG. Omit.
第 1 6図は、 第 2の実施形態 (第 1 5図) における CPU 1 3 1の構 成を示すブロック図である。 CPU 1 3 1の構成は、 第 3図で示した実 施形態 1における C PU 2に、 命令デコード回路 1 33から出る制御線 1 32及び 1 34が付加された点を除いては、 C PU 2に実質的に同じ である。 制御線 1 32及び 1 34は、 第二の S I MD演算器 1 30を制 御するためのものである。  FIG. 16 is a block diagram showing a configuration of the CPU 13 1 in the second embodiment (FIG. 15). The configuration of the CPU 13 1 is the same as that of the CPU 1 in the first embodiment shown in FIG. 3 except that control lines 1 32 and 1 34 from the instruction decode circuit 133 are added to the CPU 2. It is substantially the same as 2. The control lines 132 and 134 are for controlling the second SIMD operator 130.
第 1 7図は、 実施形態 2のデータ処理装置の動作を説明する処理フロ 一チャートを示す。 実施形態 2において、 S I AID演算器 4の 3つのレ ジス夕にデ一夕を格納する動作、 つまり、 D RAM 1 6らワーク RAM 1 2にデ一夕転送する動作 (ステップ 90) から、 ワーク RAM 12か らレジスタ Aに符号化画像デ一夕を転送する動作 (ステップ 96) まで は、 第 1 1図に示した同じステップ番号を付した部分と同じである。 ステップ 96の次に、 本実施形態の場合、 S I MD演算器 1 30のレ ジス夕にデータを格納する。 最初に、 ワーク RAM 1 2からレジス夕 B に参照画像データを転送する (ステップ 140)。 次に、 ワーク RAM 1 2からレジス夕 Cに参照画像データを転送する (ステップ 142)。 最後に、 ワーク RAM I 2からレジス夕 Aに符号化画像データを転送す る (ステップ 144)。 そして、 実施例 1の場合と同様に、 プロセッサ エレメント (P E) による演算を行う。 その結果、 同時に 32個のプロ セッサエレメントを用いて、 異なるべク トルのブロックマッチングを行 うことができ、 より高速の処理ができる。  FIG. 17 is a processing flowchart illustrating the operation of the data processing device of the second embodiment. In the second embodiment, the operation of storing data in the three registers of the SI AID operation unit 4, that is, the operation of transferring data from the DRAM 16 to the work RAM 12 overnight (step 90), The operation up to the operation of transferring the encoded image data from the RAM 12 to the register A (step 96) is the same as the portion having the same step number shown in FIG. Subsequent to step 96, in the case of the present embodiment, data is stored in the register of the SIMD operator 130. First, the reference image data is transferred from the work RAM 12 to the register B (step 140). Next, the reference image data is transferred from the work RAM 12 to the register C (step 142). Finally, the encoded image data is transferred from the work RAM I2 to the register A (step 144). Then, as in the case of the first embodiment, the calculation is performed by the processor element (PE). As a result, block matching of different vectors can be performed using 32 processor elements at the same time, and higher-speed processing can be performed.
ぐ実施形態 3 >  Embodiment 3>
第 1 8図は本発明によるデータ処理装置の第 3の実施形態の構成を示 すブロック図である。 本実施形態では、 2つのワーク RAM 144及び 146を持ち、 DRAM 1 6側と S I M D演算器 4側とを切り替えて使 用する。 FIG. 18 is a block diagram showing the configuration of a third embodiment of the data processing device according to the present invention. In this embodiment, two work RAMs 144 and 146 are provided, and the DRAM 16 and the SIMD operation unit 4 are switched and used. To use.
ワーク RAM 144にデ一夕が格納され、 このデ一夕を用いて S I M D演算器 4が信号処理を行っているとき、 ワーク RAM 144は、 セレ クタ 142と 1 52によって S I MD演算器 4側に接続されている。 一 方、 ワーク RAM 146は、 セレクタ 148と 1 50によって DMA C 1 22側に接続されている。 そして、 ワーク RAM 146には、 DMA C 1 22が DRAM 1 6から、 S I MD演算器 4が次に使用する画像デ 一夕を転送している。 ここで、 S I MD演算器 4が、 ワーク RAM 14 4内の信号処理を終了すると、 ワーク RAM I 44とワーク 4 6を切り替える。 つまり、 ワーク RAM 144を DMA C 1 22側に接 続し、 ワーク RAM 146を S I MD演算器 4側に接続する。 この構成 によって、 ワーク R Αλΐ 146には、 既に使うデータが D RAM 1 6か ら転送されているため、 S I MD演算器 4は、 すぐに演算動作を開始す ることができる。 従って、 演算効率を高めることができる。  The data is stored in the work RAM 144, and when the SIMD operator 4 performs signal processing using the data, the work RAM 144 sends the data to the SIMD operator 4 by the selectors 142 and 152. It is connected. On the other hand, the work RAM 146 is connected to the DMAC 122 by selectors 148 and 150. Then, to the work RAM 146, the DMA C 122 transfers the image data to be used next by the SIMD arithmetic unit 4 from the DRAM 16 to the work RAM 146. Here, when the SIMD operator 4 finishes the signal processing in the work RAM 144, the work RAM I44 and the work 46 are switched. That is, the work RAM 144 is connected to the DMA C 122 side, and the work RAM 146 is connected to the SIMD calculator 4 side. With this configuration, since the data to be used has already been transferred from the DRAM 16 to the work R {λ} 146, the SIMD operator 4 can immediately start the operation. Therefore, the calculation efficiency can be improved.
<実施形態 4> <Embodiment 4>
第 1 9図は、 本発明によるデータ処理装置の第 4の実施形態を示す図 である。 本実施形態は、 発明のデータ処理装置を画像信号圧縮 LSIの中 に構成したものである。  FIG. 19 is a diagram showing a fourth embodiment of the data processing device according to the present invention. In the present embodiment, the data processing device of the present invention is configured in an image signal compression LSI.
マイク口プロセッサュニッ ト 1 66のバス 1 84に、 各構成要素ブロ ックが接続されている。 構成要素ブロックは、 外部のモデムとのイン夕 フェイス機能を持つ通信ィン夕一フェイス 1 68、 外部のオーディォ信 号と入出力機能を有するオーディオイン夕一フェイス 1 70、 外部のビ デォ信号との入出力機能を有するビデオインタ一フェイスブロック 1 7 2、 可変長符号の符号化と復号化を担当する可変長符号化復号化ブロッ ク.1 64、量子化、逆量子化、 DCT、逆 DCT処理を担当する Q- DCT/IQ- IDCT ブロック 1 62、 DRAM 1 76の制御を担当する D R AM制御ブロッ ク 1 74、 動き検出プロック 1 60を含む。 動き検出ブロック 1 60は 第 1の実施形態で説明したものと同じである。 Each component block is connected to the bus 184 of the microphone unit processor unit 166. The component blocks consist of a communication interface 168 with an interface function with an external modem, an audio interface 170 with an external audio signal and an input / output function, and an external video signal. Video interface block with input / output function for input and output, Variable length coding / decoding block responsible for coding and decoding of variable length code. 164, Quantization, inverse quantization, DCT, inverse The DRAM control block is responsible for controlling the Q-DCT / IQ-IDCT block 162 and DRAM 176 that are responsible for DCT processing. Includes 174 and motion detection block 160. The motion detection block 160 is the same as that described in the first embodiment.
本実施形態では、 第 1図に示した装置と比較して、 DRAMインター フェイス 14と DRAM 1 6に対応する DRAM 1 76が LSIの外に出 ている点、 また、 MPU 1 66が動き検出ブロック 1 60を制御するた めのコントロールレジスタ 185を持っているところが異なっている。 このコントロ一ルレジス夕 1 8 5により、 動き検出プロック 1 60の C The present embodiment is different from the device shown in FIG. 1 in that the DRAM interface 14 and the DRAM 176 corresponding to the DRAM 16 are outside the LSI, and the MPU 166 is a motion detection block. It differs in having a control register 185 for controlling 1 60. With this control register, the motion detection block 1
P U 1 80の制御が行われる。 The control of PU 180 is performed.
本構成による画像圧縮時の動作を説明する。 ビデオイン夕一フェイス ブロック 1 72により入力された符号化画像データは、 一度、 DRAM The operation at the time of image compression according to this configuration will be described. The encoded image data input by the video-in-face block 172 is
1 7 6に格納される。 そして、 マクロブロック単位で動き検出ブロックStored in 1 76. And motion detection block in macro block unit
1 60のワーク RAMに読み込まれる。 この時、 対応する探索範囲の参 照画像データも同時に、 動き検出プロック 1 60のワーク RAMに読み 込まれる。 第 1の実施形態で説明したように、 各動きベク トルの差分絶 対値演算の累積加算を行う。 全ベク トルの演算を終了した後、 最も差分 絶対値演算値の小さいべク トルをこのマクロブ口ックに対する動きべク トルとする。 そして、 この時の符号化画像と参照画像の対応する各画素 の差分値をとり、 その結果を Q-DCT/IQ- IDCTブロック 1 64に送る。 Q -1 Loaded into 60 work RAMs. At this time, the reference image data of the corresponding search range is also read into the work RAM of the motion detection block 160 at the same time. As described in the first embodiment, the cumulative addition of the absolute difference calculation of each motion vector is performed. After the operation of all vectors is completed, the vector with the smallest difference absolute value operation value is set as the motion vector for this macro block. Then, a difference value between each pixel corresponding to the encoded image and the reference image at this time is obtained, and the result is sent to the Q-DCT / IQ-IDCT block 164. Q-
DCT/IQ-IDCTブロック 1 64では、 動き検出ブロック 1 60から送られ てきた結果に対し、 DCT処理と量子化処理を行い、 可変長符号化復号 化ブロック 1 64に送る。 ここでは、 可変長符号化処理を行い、 画像デ 一夕の圧縮処理が完了する。 The DCT / IQ-IDCT block 164 performs DCT processing and quantization processing on the result sent from the motion detection block 160, and sends the result to the variable-length coding / decoding block 164. Here, the variable-length encoding process is performed, and the compression process for the image data is completed.
上述のように、 本発明を画像信号圧縮 LSIに適用することにより、 プ ログラマピリティの高く、 高性能な画像信号圧縮 LSIを構成することが できる。  As described above, by applying the present invention to an image signal compression LSI, a high-performance image signal compression LSI with high programmability can be configured.
産業上の利用可能性 上述の実施形態で説明したように、 本発明は、 S I M D型演算器を構 成するプロセッサエレメントに対するデータの供給を絶え間なくできる ようになり、 特に、 画像信号を圧縮、 伸長する多大の演算処理を繰り返 り行う信号処理における演算効率を上げることができる。 Industrial applicability As described in the above embodiment, the present invention enables continuous supply of data to the processor elements constituting the SIMD type arithmetic unit, and in particular, performs a large amount of arithmetic processing for compressing and expanding image signals. The calculation efficiency in the repeated signal processing can be improved.

Claims

請求の範囲 The scope of the claims
1. C PUにより制御される第一の演算ユニッ トと、 第一の記憶手段と、 上記 CPUのデータバス幅よりも広いバス幅をち、 第一の演算ュニット と第一の記憶手段と接続するローカルデータバスと、 上記 CPU、 第一 の演算ュニッ ト及び上記第一の記憶手段に共通に接続されたアドレスバ スを持つデータ処理装置。  1. The first arithmetic unit controlled by the CPU, the first storage means, and having a bus width wider than the data bus width of the CPU, and connected to the first arithmetic unit and the first storage means. A data processing device having a local data bus to operate and an address bus commonly connected to the CPU, the first arithmetic unit, and the first storage means.
2. 上記第一の演算ユニッ トが S I DM型の演算器である第 1項記載の データ処理装置。  2. The data processing device according to item 1, wherein the first arithmetic unit is a SIDM type arithmetic unit.
3. 上記第一の演算ュニッ 卜が複数個並列に配置された第 1項記載のデ 一夕処理装置。  3. The data processing apparatus according to claim 1, wherein a plurality of the first arithmetic units are arranged in parallel.
4. 上記第一の記憶手段が第 1メモリと、 第 2メモリと、 上記アドレス バス及び上記データバスに接続されかつ第 1メモリと第 2メモリ間のデ 一夕の転送を制御する DMA回路を持つ第 1項記載のデータ処理装置。 4. The first storage means includes a first memory, a second memory, and a DMA circuit connected to the address bus and the data bus and controlling data transfer between the first memory and the second memory. 2. The data processing device according to claim 1 having.
5. 上記第一の記憶手段が上記第 2メモリから上記第 1メモリに DMA 回路で転送する際に符号拡張を行う手段を持つ第 4項記載のデータ処理 5. The data processing according to claim 4, wherein said first storage means has means for performing sign extension when transferring data from said second memory to said first memory by a DMA circuit.
6. 上記第 1メモリが第 1及び第 2ワークメモリを持ち、 上記第 1の記 憶手段が更に上記第 1及び第 2のワークメモリと上記第 1の演算ュニッ トの接続及び上記第 2メモリとの接続を交互に切り替える手段を持つ第 4項記載のデータ処理装置。 6. The first memory has first and second work memories, and the first storage means further includes a connection between the first and second work memories and the first arithmetic unit and the second memory. 5. The data processing device according to claim 4, further comprising means for alternately switching the connection with the device.
7. 上記第一の演算ユニッ トは、 上記 C P Uからの単一命令で複数のデ 一夕を並列に演算処理する S I MD制御型の演算器であることを特徴と する請求項第 1項に記載のデータ、処理装置。  7. The first arithmetic unit according to claim 1, wherein the first arithmetic unit is a SIMD control type arithmetic unit that performs arithmetic processing on a plurality of data in parallel with a single instruction from the CPU. Data described, processing device.
8.上記第一の演算ュニッ トは第一の入力端子、第二の入力端子及び第一 の出力端子をもち、 上記 C PUからの制御信号によって動作する複数の プロセッサエレメン卜と、 上記複数のプロセッサエレメン卜の全ての第 一の入力端子のビッ ト幅を合計したビッ ト幅の第一のレジス夕と、 上記 複数のプロセッサエレメントの全ての第二の入力端子のビット幅を合計 したビッ ト幅を持ち全てのビッ ト幅を重なりがないように全てのプロセ ッサエレメント第二の入力端子に加える第二のレジス夕と、 上記プロセ ッサエレメン卜の第二の入力端子のビッ ト幅以上のビッ ト幅を持ち第二 のレジス夕に第二の入力端子のビッ ト幅単位でデータのシフ卜ができる 第三のレジス夕と、 上記第一のレジス夕のデータを選択して最上位ビッ 卜から上記プロセッサエレメン卜の第一の入力端子のビッ ト幅を全ての 上記各プロセッサエレメン卜の第一の入力端子に共通に供給するセレク 夕と、 上記アドレスバスによって制御され、 上記ローカルバスを介して それぞれ上記第一、 第二及び第三レジス夕にデー夕を書き込む書き込み 制御回路と、 上記出力端子のデータを上記ローカルデータバスに出力す る回路持つ S I M D制御型の演算器で構成された請求項第 1ないし第 7 のいずれかに記載されたデータ処理装置。 8. The first arithmetic unit has a first input terminal, a second input terminal, and a first output terminal, and includes a plurality of processor elements operated by a control signal from the CPU; All of the processor elements A first register having a bit width obtained by adding up the bit widths of one input terminal and a bit width having a bit width obtained by adding up the bit widths of the second input terminals of all of the plurality of processor elements. A second register to be added to the second input terminals of all processor elements so that the widths do not overlap, and a second register having a bit width equal to or greater than the bit width of the second input terminals of the processor elements. In the evening, data can be shifted in the unit of bit width of the second input terminal. The third register and the data of the first register are selected, and the first element of the processor element is selected from the most significant bit. A selector for supplying the bit width of the input terminal of each of the processor elements in common to the first input terminals of all the processor elements, and each of which is controlled by the address bus and is connected to the respective upper buses via the local bus. 2. A SIMD control type arithmetic unit having a write control circuit for writing data in the first, second and third registers, and a circuit for outputting data of the output terminal to the local data bus. A data processing device according to any one of claims 1 to 7.
9 . 上記プロセッサエレメントは、 上記第一及び第二の入力端子のデ一 夕の減算値を一定の範囲に亘り積算し出力する演算回路であり、 上記第 一のレジス夕に符号化すべき画像の複数の画素でデ一夕が格納され、 上 記第二のレジス夕に参照すべき参照画像の複数の画素のデータが格納さ れ、 上記複数のプロセッサエレメン卜の出力を画像の複数の動きべクト ルに対応する近似度として取り出す請求項第 8に記載の画像処理用デー 夕処理装置。  9. The processor element is an arithmetic circuit that integrates and outputs the subtracted values of the data of the first and second input terminals over a certain range, and outputs an image to be encoded in the first register. Data is stored in a plurality of pixels, data of a plurality of pixels of a reference image to be referred to in the second registration is stored, and outputs of the plurality of processor elements are stored in a plurality of motion vectors of the image. 9. The image processing data processing apparatus according to claim 8, wherein the data is extracted as an approximation degree corresponding to the vector.
1 0 . 第一の入力端子、 第二の入力端子及び第一の出力端子を持つ複数 のプロセッサエレメントと、 上記複数のプロセッサエレメン卜の全ての 第一の入力端子のビッ ト幅を合計したビッ ト幅を持つの第一のレジス夕 と、 上記複数のプロセッサエレメントの全ての第二の入力端子のビッ ト 幅を合計したビッ ト幅を持つ第二のレジス夕と、 上記プロセッサエレメ ントの第二の入力端子のビッ ト幅以上のビッ ト幅を持ち第二のレジス夕 に第二の入力端子のピット幅単位でデータのシフトができる第三のレジ ス夕を持つ S I M D制御型の演算器。 10. A plurality of processor elements having a first input terminal, a second input terminal, and a first output terminal, and a bit obtained by summing bit widths of all first input terminals of the plurality of processor elements. A first register having a bit width, a second register having a bit width obtained by adding the bit widths of all the second input terminals of the plurality of processor elements, and SIMD control type that has a bit width larger than the bit width of the second input terminal of the component and has a third register that can shift data in pit width units of the second input terminal in the second register Arithmetic unit.
1 1 . 上記第一のレジス夕は、 最上位ビッ トから上記プロセッサエレメ ン卜の第一の入力端子のビッ ト幅を全ての上記プロセッサエレメン卜に 共通に供給する接続回路と、 全てのビッ ト幅を重なりがないように全て のプロセッサエレメン卜に供給する接続回路をもつ請求項 1 0に記載の S I M D制御型の演算器。  11. The first register consists of a connection circuit that supplies the bit width of the first input terminal of the processor element from the most significant bit to all the processor elements in common, 10. The SIMD control type arithmetic unit according to claim 10, further comprising a connection circuit for supplying the processor width to all the processor elements so as not to overlap.
1 2 . 上記第一のレジス夕を最上位ビッ 卜から上記プロセッサエレメン 卜の第一の入力端子のビッ ト幅をすベての上記プロセッサエレメントに 供給するセレクタを持ち、 毎クロックごとに上記プロセッサエレメント においては演算処理を、 また、 上記第一のレジス夕では上記プロセッサ エレメントの第一の入力端子のビッ ト幅単位でのデ一夕シフト処理を、 上記第二のレジス夕と第三のレジス夕では上記プロセッサエレメントの 第二の入力端子のビッ 卜幅単位でのデータシフト処理を行う手段を持つ 請求項 1 0に記載の S I M D制御型の演算器。  1 2. A selector that supplies the first register from the most significant bit to all the processor elements having the bit width of the first input terminal of the processor element, and the processor is provided at every clock. The element performs arithmetic processing, the first register performs de-shift processing in bit width units of the first input terminal of the processor element, the second register and the third register 10. The SIMD control type arithmetic unit according to claim 10, further comprising means for performing data shift processing in a unit of a bit width of a second input terminal of the processor element in the evening.
1 3 . 上記第一のレジス夕には第 1の画像の複数の画素データをが格納 され、 上記第二のレジス夕と第三のレジス夕には第 2の画像の複数の画 素データをが格納され、 上記プロセッサエレメントは上記第一の入力端 子と第二の入力端子から加えられるデ一夕の差分を累積する演算回路で 構成され、 上記複数のプロセッサエレメントのそれぞれから上記第 1及 び第 2の画像間の複数の動きべク トルに対応うる近似度を出力する手段 とを持つ画像処理用に用いる請求項 1 1又は 1 2に記載の S I M D制御 型の演算器。  1 3. The plurality of pixel data of the first image is stored in the first register image, and the plurality of pixel data of the second image is stored in the second register image and the third register image. The processor element is constituted by an arithmetic circuit that accumulates a difference between data applied from the first input terminal and the second input terminal, and the first and second input terminals are respectively provided by the first and second input terminals. 13. The SIMD control type arithmetic unit according to claim 11, wherein the arithmetic unit includes means for outputting an approximation degree that can correspond to a plurality of motion vectors between the second image and the second image.
PCT/JP1999/000181 1999-01-20 1999-01-20 Data processor and device for arithmetic operation WO2000043868A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP1999/000181 WO2000043868A1 (en) 1999-01-20 1999-01-20 Data processor and device for arithmetic operation
JP2000595228A JP3676237B2 (en) 1999-01-20 1999-01-20 Data processing apparatus and arithmetic unit
TW88119144A TW535107B (en) 1999-01-20 1999-11-03 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000181 WO2000043868A1 (en) 1999-01-20 1999-01-20 Data processor and device for arithmetic operation

Publications (1)

Publication Number Publication Date
WO2000043868A1 true WO2000043868A1 (en) 2000-07-27

Family

ID=14234742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/000181 WO2000043868A1 (en) 1999-01-20 1999-01-20 Data processor and device for arithmetic operation

Country Status (3)

Country Link
JP (1) JP3676237B2 (en)
TW (1) TW535107B (en)
WO (1) WO2000043868A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093445A1 (en) * 2003-04-16 2004-10-28 Fujitsu Limited Ip image transmitter
WO2006057182A1 (en) * 2004-11-26 2006-06-01 Matsushita Electric Industrial Co., Ltd. Decoding circuit, decoding device, and decoding system
US7096312B2 (en) 2002-03-20 2006-08-22 Seiko Epson Corporation Data transfer device and method for multidimensional memory
JPWO2005025230A1 (en) * 2003-08-28 2006-11-16 株式会社日立超エル・エス・アイ・システムズ Image processing device
US7356676B2 (en) 2002-08-09 2008-04-08 Marvell International Ltd. Extracting aligned data from two source registers without shifting by executing coprocessor instruction with mode bit for deriving offset from immediate or register
US7373488B2 (en) 2002-08-09 2008-05-13 Marvell International Ltd. Processing for associated data size saturation flag history stored in SIMD coprocessor register using mask and test values
US7392368B2 (en) 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
US7496114B2 (en) 2003-04-16 2009-02-24 Fujitsu Limited IP image transmission apparatus
JP2010055629A (en) * 2009-11-30 2010-03-11 Panasonic Corp Image audio signal processor and electronic device using the same
JP2011081695A (en) * 2009-10-09 2011-04-21 Mitsubishi Electric Corp Control circuit of data operation unit and data operation unit
US10230991B2 (en) 2003-08-21 2019-03-12 Socionext Inc. Signal-processing apparatus including a second processor that, after receiving an instruction from a first processor, independantly controls a second data processing unit without further instrcuction from the first processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02306361A (en) * 1989-02-03 1990-12-19 Nec Corp Microprocessor
JPH05268593A (en) * 1992-03-23 1993-10-15 Nippon Telegr & Teleph Corp <Ntt> Difference absolute sum/difference square sum parallel arithmetic operation device
JPH06324868A (en) * 1993-05-18 1994-11-25 Hitachi Ltd Digital signal processor with dedicated computing element
JPH07200324A (en) * 1992-12-01 1995-08-04 Internatl Business Mach Corp <Ibm> Method and equipment for transfer of data to floating- point processor
JPH0969047A (en) * 1995-09-01 1997-03-11 Sony Corp Risc type microprocessor and information processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02306361A (en) * 1989-02-03 1990-12-19 Nec Corp Microprocessor
JPH05268593A (en) * 1992-03-23 1993-10-15 Nippon Telegr & Teleph Corp <Ntt> Difference absolute sum/difference square sum parallel arithmetic operation device
JPH07200324A (en) * 1992-12-01 1995-08-04 Internatl Business Mach Corp <Ibm> Method and equipment for transfer of data to floating- point processor
JPH06324868A (en) * 1993-05-18 1994-11-25 Hitachi Ltd Digital signal processor with dedicated computing element
JPH0969047A (en) * 1995-09-01 1997-03-11 Sony Corp Risc type microprocessor and information processor

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096312B2 (en) 2002-03-20 2006-08-22 Seiko Epson Corporation Data transfer device and method for multidimensional memory
JP2009037599A (en) * 2002-08-09 2009-02-19 Marvell World Trade Ltd Multimedia coprocessor control mechanism including alignment or broadcast instruction
US8131981B2 (en) 2002-08-09 2012-03-06 Marvell International Ltd. SIMD processor performing fractional multiply operation with saturation history data processing to generate condition code flags
US7664930B2 (en) 2002-08-09 2010-02-16 Marvell International Ltd Add-subtract coprocessor instruction execution on complex number components with saturation and conditioned on main processor condition flags
US7373488B2 (en) 2002-08-09 2008-05-13 Marvell International Ltd. Processing for associated data size saturation flag history stored in SIMD coprocessor register using mask and test values
US7392368B2 (en) 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
US7356676B2 (en) 2002-08-09 2008-04-08 Marvell International Ltd. Extracting aligned data from two source registers without shifting by executing coprocessor instruction with mode bit for deriving offset from immediate or register
US7496114B2 (en) 2003-04-16 2009-02-24 Fujitsu Limited IP image transmission apparatus
WO2004093445A1 (en) * 2003-04-16 2004-10-28 Fujitsu Limited Ip image transmitter
US10230991B2 (en) 2003-08-21 2019-03-12 Socionext Inc. Signal-processing apparatus including a second processor that, after receiving an instruction from a first processor, independantly controls a second data processing unit without further instrcuction from the first processor
US11563985B2 (en) 2003-08-21 2023-01-24 Socionext Inc. Signal-processing apparatus including a second processor that, after receiving an instruction from a first processor, independantly controls a second data processing unit without further instruction from the first processor
JPWO2005025230A1 (en) * 2003-08-28 2006-11-16 株式会社日立超エル・エス・アイ・システムズ Image processing device
JP4516020B2 (en) * 2003-08-28 2010-08-04 株式会社日立超エル・エス・アイ・システムズ Image processing device
JP2008141782A (en) * 2004-11-26 2008-06-19 Matsushita Electric Ind Co Ltd Decoding circuit, device, and system
JP4625096B2 (en) * 2004-11-26 2011-02-02 パナソニック株式会社 Decoding circuit, decoding device, and decoding system
US8649439B2 (en) 2004-11-26 2014-02-11 Panasonic Corporation Decoding circuit, decoding device, and decoding system
WO2006057182A1 (en) * 2004-11-26 2006-06-01 Matsushita Electric Industrial Co., Ltd. Decoding circuit, decoding device, and decoding system
JP2011081695A (en) * 2009-10-09 2011-04-21 Mitsubishi Electric Corp Control circuit of data operation unit and data operation unit
JP2010055629A (en) * 2009-11-30 2010-03-11 Panasonic Corp Image audio signal processor and electronic device using the same

Also Published As

Publication number Publication date
JP3676237B2 (en) 2005-07-27
TW535107B (en) 2003-06-01

Similar Documents

Publication Publication Date Title
US5909572A (en) System and method for conditionally moving an operand from a source register to a destination register
US5893145A (en) System and method for routing operands within partitions of a source register to partitions within a destination register
JPH06292178A (en) Adaptive video signal arithmetic processor
KR100926207B1 (en) Method and system for performing two-dimensional transform on data value array with reduced power consumption
US9665540B2 (en) Video decoder with a programmable inverse transform unit
WO2000043868A1 (en) Data processor and device for arithmetic operation
US9395980B2 (en) Residual addition for video software techniques
US6963341B1 (en) Fast and flexible scan conversion and matrix transpose in a SIMD processor
US20020078113A1 (en) Filter processing apparatus and its control method, program, and storage medium
Hartenstein et al. Reconfigurable machine for applications in image and video compression
US20010033617A1 (en) Image processing device
Tung et al. MMX-based DCT and MC algorithms for real-time pure software MPEG decoding
WO2000031658A1 (en) Processor and image processing device
US5793658A (en) Method and apparatus for viedo compression and decompression using high speed discrete cosine transform
WO2010113340A1 (en) Single instruction multiple data (simd) processor having a plurality of processing elements interconnected by a ring bus
EP1141891A1 (en) Digital camera using programmed parallel computer for image processing functions and control
Stolberg et al. HiBRID-SoC: A multi-core SoC architecture for multimedia signal processing
JP4740992B2 (en) Method and apparatus for performing overlap filtering and core conversion
JP3408888B2 (en) Data processing processor device
JPH0851627A (en) Device for feeding operands to (n+1) operators provided in systolic architecture
JP2006050571A (en) Image processing apparatus
Shen et al. VS-ISA: A video specific instruction set architecture for ASIP design
Mattavelli et al. A parallel multimedia processor for macroblock based compression standards
CN115714865A (en) Video encoding and decoding processing method, device, equipment and storage medium
Sima et al. Inverse Quantization on FPGA-augmented TriMedia

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 595228

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09889798

Country of ref document: US

122 Ep: pct application non-entry in european phase