WO1994023384A1 - Apparatus for adaptively processing video signals - Google Patents

Apparatus for adaptively processing video signals Download PDF

Info

Publication number
WO1994023384A1
WO1994023384A1 PCT/JP1994/000525 JP9400525W WO9423384A1 WO 1994023384 A1 WO1994023384 A1 WO 1994023384A1 JP 9400525 W JP9400525 W JP 9400525W WO 9423384 A1 WO9423384 A1 WO 9423384A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
arithmetic
processing
input
Prior art date
Application number
PCT/JP1994/000525
Other languages
English (en)
French (fr)
Inventor
Eiji Iwata
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to EP94910573A priority Critical patent/EP0644492B1/en
Priority to US08/343,537 priority patent/US5594679A/en
Priority to AU62921/94A priority patent/AU668298B2/en
Priority to AT94910573T priority patent/ATE228255T1/de
Publication of WO1994023384A1 publication Critical patent/WO1994023384A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Definitions

  • the present invention relates to, for example, a central processing unit (processor) in a computer system used for numerical calculation, surface image processing, graphics processing, and the like, and particularly relates to a surface image compression coding (CODEC).
  • the present invention relates to an adaptive video signal processing device such as a digital signal processor (DSP) suitable for efficient video signal processing.
  • DSP digital signal processor
  • DSPs digital signal processors
  • the present invention is based on the literature, Yaraauc hi, et al, Architecture and Implementation of a Highly Parallel Single-Chip Video DSP ", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 2, NO 2, JUNE 1992, pp. 207-220, there are multiple operation units consisting of arithmetic and logic operation units, multipliers, accumulators, etc., and these operation units are single "Multiple data streams: Single instruction stream Multiple Data stream (SID) J-control DSP.”
  • SID Single instruction stream Multiple Data stream
  • the configuration described in this document is shown in FIG.
  • the DSP arithmetic unit can be connected to an arithmetic unit via a pipeline, and also performs arithmetic pipeline processing.
  • FIG. 2 shows an example of the configuration of the operation pipeline.
  • This arithmetic pipeline adds two inputs X and Y in an arithmetic logic unit (ALU) A1, and then multiplies the addition result by a coefficient from a coefficient memory A3 in a multiplier A2. Further, the result of the multiplication is accumulated in accumulator A3. Performing such a chain of operations continuously for a plurality of data is called "operation pipeline processing".
  • ALU arithmetic logic unit
  • FIG. 3 is a graph showing a timing chart of processing in the arithmetic pipeline of FIG. For simplicity, it is assumed that each of the arithmetic units A 1, A 2, and A 4 in the arithmetic pipeline completes the arithmetic in one clock cycle.
  • the processing unit in FIG. 3 means a data set (X, Y) input to the two input terminals.
  • ALU (A1) performs addition processing in the (k-1) th clock cycle
  • multiplier A 2 performs multiplication processing
  • Accumulator A performs accumulation processing in the (k + 1) th clock cycle.
  • the (i-11) -th processing unit that has completed the addition processing and the multiplication processing is accumulated in the accumulator A4,
  • the ith processing unit after the addition is multiplied by the multiplier A 2, and
  • each operation unit is composed of three types of operation units: an arithmetic and logic operation unit (ALU) for performing addition, subtraction, and logical operation, a multiplier, and an accumulator.
  • ALU arithmetic and logic operation unit
  • each computing unit completes computation in one clock cycle.
  • this DSP can perform up to 12 operations (eg, 4 add, 4 multiply, 4 accumulate) in one clock cycle.
  • this DSP shall have data memory for supplying data to the arithmetic unit or storing data from the arithmetic unit either inside or outside the chip.
  • the arithmetic pipeline with the highest degree of freedom regards the data memory as a pipeline register, and executes the arithmetic pipeline processing by software (soft-to-air pipeline processing). ).
  • each computing unit is connected only via the data memory.
  • 4A to 4D show the operation modes of the four parallel processing units. Therefore, the data memory supplies arbitrary data to the inputs of all the arithmetic units every clock cycle, and simultaneously stores the output data from all the arithmetic units in an arbitrary address. There is a need to.
  • the degree of freedom of the arithmetic pipeline is limited. For example, for an operation that performs a logical operation after multiplication, a pipeline operation cannot be performed. In this case, first, the pipeline processing of the multiplication is performed on all the data by using the multiplier, and then the pipeline processing of the logical operation is performed on all the data after the multiplication by using the ALU. Therefore, the ALU is not used at the time of multiplication, and the multiplier is not used at the time of logical operation. Good. Also, since the arithmetic pipeline processing is performed in two stages, the initialization at the time of starting the arithmetic pipeline is required twice.
  • an object of the present invention is to provide an adaptive video signal processing apparatus according to the present invention as described above, wherein a single instruction stream based on a “single instruction stream / multiplex data stream: SIMD” control method is used.
  • the goal is to make it possible with a single pipeline process using a ply.
  • another object of the present invention is to provide an adaptive video signal operation processing device which enables operations using different operation units to be executed in parallel and does not reduce the use efficiency of the operation units.
  • a basic concept of the present invention is to provide a digital signal processor (DSP) for performing video signal processing, that is, an arithmetic and logic unit in an adaptive video signal processing unit. (ALU), multipliers, and accumulators, and by appropriately switching the connection form of the operation units in these operation units and the connection form between the operation units, the image
  • DSP digital signal processor
  • DCT Discrete cosine transform
  • IDCT Discrete cosine inverse transform
  • a variable-structure arithmetic pipeline is provided to realize an arithmetic pipeline adapted to each element processing such as.
  • discrete cosine transform discrete cosine transform, inverse discrete cosine transform, quantization, inverse quantization, motion vector detection, motion compensation, inner product operation, image data addition, and image data
  • An arithmetic processing unit that adaptively performs image compression encoding and decompression decoding such as data difference processing on surface image data of a block of size m ⁇ n.
  • An extended arithmetic and logic unit for performing addition, subtraction, various logical operations, magnitude comparison, absolute difference operation, butterfly addition, and subtraction processing, and a first unit provided after the extended arithmetic and logic unit.
  • An internal pipeline memory, a multiplication unit provided after the first internal pipeline memory, a coefficient memory for providing a coefficient to the multiplication unit, and a multiplication unit provided at a subsequent stage to the multiplication unit A second internal pipeline memory, a cumulative operation unit provided at a subsequent stage of the second internal pipeline memory, and a third internal pipeline memory provided at a subsequent stage of the cumulative operation unit.
  • An interconnecting pipeline memory arranged to connect adjacent arithmetic units, among the plurality of arithmetic units provided in parallel;
  • a data selector for selectively applying input data to the plurality of operation units
  • An adaptive video signal arithmetic processing device for performing desired video signal processing is provided.
  • each element processing of the image codec can be pipelined in parallel.
  • a terminal for inputting data for the discrete cosine conversion processing is provided at the first stage operation unit of the plurality of operation units.
  • a terminal for outputting discrete cosine inverse transform processing data is provided in the last operation unit of the plurality of operation units.
  • the discrete cosine conversion processing data is stored in the final stage.
  • the data of the final stage interconnect pipeline memory is input to the multiplication unit in the operation unit, and the multiplication result is stored in the accumulation unit. Are accumulated.
  • the output terminal of the multiplication unit of the first operation unit in the adjacent operation unit is connected to the output terminal of the multiplication unit of the second operation unit. Connect to the input terminal, input the multiplication result of the second multiplication unit to the subsequent accumulation unit, and input the data and constant to be dequantized to the first operation unit. Then, input the operation result to the first multiplication unit.
  • the extended arithmetic and logic operation units in all the operation units are connected to the accumulation operation unit, and the motion vector is transmitted to the extended arithmetic and logic operation unit. Enter the two data to be detected.
  • the extended arithmetic and logic operation units in all the operation units are connected to the accumulation operation unit, and the motion is compensated by the extended arithmetic and logic operation unit. Input the two data of the virtual surface element generation in.
  • the output of one multiplication unit of the adjacent operation unit is applied to one input terminal of the other extended arithmetic and logic operation unit, and the other The output of the multiplication unit is applied to the other input terminal of the other extended arithmetic and logic operation unit, and the operation result of the other extended arithmetic and logic operation unit is accumulated in the other accumulation unit.
  • the data of the inner product is input to the multiplication units in all the operation units, and the multiplication result is accumulated in the corresponding accumulation unit.
  • the adaptive video signal arithmetic processing unit performs a multiplex data stream processing with a single instruction stream, wherein the “single instruction stream / multiple data stream” is used.
  • the extended arithmetic and logic unit includes a positive / negative inverter for inverting the polarity of the first input data
  • a first data selector which is provided at a subsequent stage of the positive / negative inverter and selectively outputs the first input data or the polarity-inverted first data
  • An adder for adding the selected output data of the first data selector and the second input data
  • a logical operation unit that performs logical processing such as logical sum, logical product, exclusive logical sum, or negation between the first input data and the second data;
  • a positive / negative determining unit that receives the outputs of the adder and the subtractor and performs a positive / negative determination
  • a second data selector that inputs the outputs of the adder, the subtractor, and the positive / negative determiner and selectively outputs the second output
  • Fig. 1 is a block diagram of a single instruction stream. Multiple data stream: SIDJ control type processor.
  • Fig. 2 is a diagram showing an example of an operation pipeline.
  • Fig. 3 is a diagram showing an example of an operation pipeline.
  • FIG. 6 is a graph showing a time chart in the operation pipeline processing of FIG.
  • FIG. 4 is a diagram showing the configuration of the arithmetic pipeline having the highest degree of freedom
  • FIGS. 4A to 4D are diagrams showing the operation modes of the four arithmetic units, respectively.
  • FIG. 5 is a configuration diagram of an adaptive video signal arithmetic processing device showing a combined mode of arithmetic units according to an embodiment of the present invention
  • FIG. 6 shows a configuration of arithmetic units 0 and 2 according to an embodiment of the present invention.
  • FIG. 7 shows operation units 1 and 3 according to the embodiment of the present invention.
  • FIG. 8 is a diagram showing a configuration of an extended logical operation unit (EALU) according to the embodiment of the present invention.
  • EALU extended logical operation unit
  • FIG 9 is a diagram of the computation pipeline for the 8X8 discrete cosine transform (DCT).
  • DCT discrete cosine transform
  • Figure 10 shows the configuration of the operation pipeline for the 8 ⁇ 8 inverse discrete cosine transform (IDCT).
  • FIG. 11 is a diagram showing a configuration of an arithmetic pipeline of an adaptive video signal arithmetic processing device at the time of DCT processing according to an embodiment of the present invention, and FIGS. 11A to 11D each show four systems.
  • FIG. 4 is a diagram showing an operation mode of a computing unit;
  • FIG. 12 is a diagram showing a configuration of an arithmetic pipeline of an adaptive video signal arithmetic processing device at the time of IDCT processing according to an embodiment of the present invention
  • FIG. 12A to FIG. FIG. 6 is a diagram showing an operation mode of the unit.
  • FIG. 13 is a diagram showing a configuration of an arithmetic pipeline of an adaptive video signal arithmetic processing device at the time of quantization processing according to an embodiment of the present invention
  • FIGS. FIG. 4 is a diagram showing an operation mode of the operation unit
  • FIG. 14 is a diagram showing the configuration of the operation biplane of the adaptive video signal operation processing device at the time of inverse quantization according to the embodiment of the present invention
  • FIG. 14A to FIG. FIG. 4 is a diagram showing an operation mode of the operation unit of FIG.
  • FIG. 15 shows a motion vector detection process according to the embodiment of the present invention.
  • FIG. 15A to FIG. 15D are diagrams showing the configuration of the arithmetic pipeline of the adaptive video signal arithmetic processing device at the time of processing, and FIG. 15A to FIG.
  • Figure 16 is a diagram showing the virtual pixel generation rules for the motion compensation process of the image codec.
  • FIG. 17 is a diagram showing a configuration of an operation pipeline at the time of virtual surface element generation processing in motion compensation according to the embodiment of the present invention, and FIGS. 17A to 17D show four operation units, respectively.
  • FIG. 4 is a diagram showing an operation mode of
  • FIG. 18 is a diagram showing a configuration of an arithmetic pipeline at the time of predictive pixel generation processing in motion compensation according to the embodiment of the present invention
  • FIGS. 18A to 18D are diagrams of four types of arithmetic units, respectively. It is a diagram showing an operation form
  • FIG. 19 is a diagram showing a configuration of an arithmetic pipeline at the time of filter processing according to the embodiment of the present invention
  • FIGS. 19A to 19D are diagrams each showing an operation form of the four-system arithmetic unit.
  • FIG. 20 is a diagram showing a configuration of an arithmetic pipeline of the adaptive video signal arithmetic processing device at the time of image addition or image difference processing according to the embodiment of the present invention.
  • FIG. 9 is a diagram showing an operation mode of four operation units.
  • each operation unit is composed of three types of ALUs that perform addition, subtraction and logical operations, multipliers, and accumulators. It is assumed that it consists of a computing unit. For the sake of simplicity, it is assumed that each arithmetic unit completes the operation in one clock cycle. Thus, this DSP can perform up to 12 operations in one clock cycle. Further, it is assumed that this DSP supplies data to the arithmetic unit, and that data memory for storing data from the arithmetic unit is provided inside or outside the chip.
  • the element processing mainly used in MPEG is the element processing mainly used in MPEG.
  • Figure 5 shows the connection between the four sets of arithmetic units 1 to 4. In FIG. 5, the data memory is not shown.
  • the data memory can supply data to the eight data input terminals 11 to 14 and 21 to 24 for each clock cycle, and simultaneously It is assumed that data from the data output terminals 31 to 34 can be written for each clock cycle. That is, it is assumed that the operation units 1 to 4 and the data memory (not shown) are connected by the interconnection network having the above-described data transfer capability.
  • memories that connect operation units 1 to 4 (0, 5), memory 1 (6), memory 2 (7), and ⁇
  • the serial converter 9, serial-to-parallel converter 10, and data selectors 8, 4 1 to 44 are high-speed arithmetic algorithms for the discrete cosine transform (00) and the inverse discrete cosine transform (IDCT) described later. This is necessary when implementing a macro operation pipeline configuration in.
  • DCT input terminal 51 and the IDCT output terminal 52 shown in FIG. 5 are also connected to a data memory (not shown) via an interconnection network (not shown), and are connected to one clock. Data input / output is possible for each cycle.
  • FIG. 6 is an internal configuration diagram of the arithmetic unit 0 (1) and the arithmetic unit 2 (3)
  • FIG. 7 is an internal configuration diagram of the arithmetic unit 1 (2) and the arithmetic unit 3 (4).
  • an extended arithmetic and logic operation unit (EALU) 61 for performing operations such as addition, subtraction, logical operation, and butterfly operation to be described later, a coefficient memory 63, Multiplier 62, accumulator 64 with shift function for performing accumulation and shift operation, and input terminals (X ink) 1 k (k indicates; k-th) and (Y ink) 2 k and an output terminal (Outk) 3 k are mutually connected via data selectors 71 to 75.
  • EALU extended arithmetic and logic operation unit
  • the arithmetic unit 6 is connected via the internal pipeline memory according to the settings of the data selectors 71 to 75. It is possible to change the data path between 1, 62, and 64. Therefore, this operation unit can adopt an operation pipeline configuration with a variable structure of one to three stages.
  • the difference between the arithmetic unit shown in FIG. 6 and the arithmetic unit shown in FIG. 7 is that the arithmetic unit shown in FIG. That is, the third input data is applied to the selectors 71 and 73.
  • FIG. 8 shows the configuration of the extended arithmetic logic unit (EALU) 61.
  • the EALU 61 has a positive / negative inverter 310, a data selector 303, an adder 302, a subtractor 303, a logical operator 304, a positive / negative determiner 310, and a data selector 300. Having. This EALU 61 has the basic functions of ordinary ALUs: addition, subtraction, and logical operations (negation, OR, AND, exclusive OR, etc.), as well as magnitude comparison operations min (X, Y), max (X, Y), differential absolute value operation IX-Y butterfly operation (addition and subtraction are performed simultaneously for two inputs) are provided as extended functions.
  • the addition of the two input data X and Y applied to the input terminals 311 and 312 is realized using the adder 302.
  • the data X is not passed through the positive / negative inverter 310 so that the data X is applied to the adder 302 in advance.
  • Set selector 806 As a result, the addition result (X + Y) is output from the adder 302.
  • the data selector 307 outputs the addition output of the adder 302 as the output of the EALU 61 from the A-side output terminal 313.
  • the operation of the two-input data (X-Y) applied to the input terminals 311 and 312 is realized using a subtractor 303.
  • the subtracter 83 outputs the subtraction result (X—Y).
  • the result of this subtraction is output from the B-side output terminal 314.
  • the logical operation of the two-input data (X, Y) applied to the input terminals 311 and 312 is realized using the logical operation unit 304.
  • the logical operation unit 304 performs a logical operation such as negation, a logical sum, a logical product, and an exclusive logical sum, and the operation result is output from the A side output terminal 3 13 via the data selector 8 07. Output as the result of EALU 61. Comparing large and small: m in (X, Y),
  • the magnitude comparison of the two input data (X, ⁇ ) applied to the input terminals 3 1 1 and 3 1 2 can be performed using the positive / negative inverter 310, adder 302, subtractor 303 and positive / negative Line using 3 0 5 U.
  • the input data X is inverted by the positive / negative inverter 3101, and the inverted (one X) is applied to the adder 302 via the data selector 303.
  • the subtraction result (Y-X) is output from the adder 302.
  • the subtractor 303 performs subtraction (X-Y).
  • the addition result (Y-X) and the subtraction result (X-Y) are applied to the positive / negative discriminator 305, and the magnitude comparison between the input data X and Y is performed.
  • Positive / negative discriminator 305 performs a magnitude judgment according to the following criteria.
  • the data selector 307 outputs the output of the positive / negative discriminator 305 as the output of EALU61, and outputs it from the ⁇ -side output terminal 313. Difference absolute value calculation I X-Y I
  • the absolute value of the difference between the two input data (X, Y) applied to the input terminals 3 1 1 and 3 1 2 is calculated by using the positive / negative inverter 310, adder 302, subtractor 303 and positive / negative This is performed using the decision unit 3 05.
  • the polarity is The data selector 306 is set in advance so that the sex-inverted one X is selectively output from the data selector 306 to the adder 802.
  • the adder 302 performs addition (Y-X), and the subtractor 303 performs subtraction (X-Y). These calculation results are input to the positive / negative determiner 3 05.
  • the positive / negative determiner 305 performs the following difference absolute value calculation.
  • the data selector 307 outputs the calculated absolute difference value from the ⁇ -side output terminal 313. Butterfly operation
  • the butterfly operation on the two-input data (X, Y) applied to the input terminals 311 and 312 is realized using an adder 302 and a subtractor 303.
  • the data selector 300 is set in advance so that the input data X is applied to the adder 302 without passing through the positive / negative inverter 3101.
  • the adder 302 performs addition (X + Y), and the subtractor 303 performs subtraction (X—Y).
  • the data selector 307 outputs the output of the adder 302 as the output of the EALU 61 from the A-side output terminal 313, the subtraction result of the subtractor 303 is output from the B-side output terminal 314. Is output.
  • EALU 61 operates as a two-input, two-output arithmetic unit. In other operations described above EALU 61 operates as a two-input, one-output arithmetic unit.
  • DCTZ IDCT Discrete Cosine Transform Inverse Discrete Cosine Transform
  • the arithmetic unit in the embodiment of the present invention uses a patent application filed by the applicant of the present invention in Japanese Patent Application No. Hei. 83
  • the configuration of a macro operation pipeline of butterfly operations (addition and subtraction) and multiplication and addition that are adapted to the high-speed operation algorithm as proposed in the specification and drawings of No. 3 is realized as follows.
  • FIG. 9 shows a schematic diagram of an 8 ⁇ 8 DCT arithmetic pipeline configuration
  • FIG. 10 shows a schematic diagram of an 8 ⁇ 8 IDCT arithmetic pipeline configuration.
  • the processing unit of these arithmetic pipelines is 88 image blocks (64 elementary elements), and a four-stage arithmetic pipeline configuration is provided via pipeline memories 131-133. Therefore, unlike an arithmetic pipeline that performs a vibrating process for each clock cycle in a normal pixel unit, Since pipeline processing is performed for each clock cycle, it is considered a macro operation pipeline.
  • an 8x8 DCT is applied to an 8x8 image block (64 pixels). And perform 16 5 pat-fly operations (addition 1 65 times and subtraction 1 65 times), and 2 0 2 multiplications (multiplication 2 2 0 times and accumulation 2 2 0 times)
  • This can be achieved by performing Therefore, the configuration of a four-stage arithmetic pipeline as shown in Fig. 9, that is, a circuit configuration of three butterfly arithmetic units 101 to 103 and four multiply-adders 1 1 1 can be adopted. This makes it possible to calculate 8 X 8 DCT by performing computation pipeline processing at 64 clock cycle periods (ideally 55 clock cycles).
  • the number of multiply-adders is further reduced, but in the embodiment of the present invention, the number of multiply-adders is four. It is assumed that this is not necessary.
  • FIG. 11A to FIG. 11D show the effects of the embodiment of the present invention.
  • the connection form (data path) of the arithmetic unit and the memory when the above-described 8 ⁇ 8 DCT arithmetic pipeline configuration is realized using the arithmetic unit is shown.
  • FIG. 11A to FIG. 11D show the operation modes of the four operation units, respectively.
  • EALU 61 in arithmetic units 0 (1), 1 (2), and 2 (3) is stored in memory 0 (5), 1 (6). ), 2 (7), that is, pipeline connection via pipeline memories 5, 6, 7.
  • the output of the EALU 61 of the arithmetic unit 2 (3) is output to the four multipliers 62 through the serial converter, the parallel converter 10 and the data selectors 41 to 44.
  • the output of each multiplier 62 is pipelined to an accumulator 64 with a shift function.
  • the EALU 61 at this time has two inputs and two outputs to perform the butterfly operation, which is an extended function of the EALU described above.
  • FIGS. 12A to 12D show the arithmetic unit and the memory when the above-described 8 ⁇ 8 IDCT arithmetic pipeline configuration is realized by using the arithmetic unit in the embodiment of the present invention. Indicates the connection form (data path). Figures 12A to 12D show the operation modes of the four arithmetic units, respectively.
  • Each of the four multipliers 62 of the arithmetic unit is connected to the accumulator 64 with a shift function by pipeline.
  • the outputs of all accumulators 64 with shift function are connected to memory 0 (5) via parallel-to-serial converter 9 and data selector 8.
  • the EA LU 61 of the arithmetic units 1 (2), 2 (3), 3 (4) is stored in the memory 0 (5), 1 (6), 2 (7), that is, the pipeline memory 5, Connect to the pipeline via 6 and 7.
  • the EALU 61 has two inputs and two outputs to perform the butterfly operation which is an extended function of the EALU 61 described above.
  • Y represents the pixel value after quantization
  • w indicates the coefficient of the quantization matrix
  • Q P represents the quantization scale parameter
  • FIGS. 13A to 13D show the connection forms (data paths) of the arithmetic units when the arithmetic unit of the present invention is implemented using the arithmetic unit in the embodiment of the present invention.
  • Figures 13A to 13D show the operation modes of the four operation units, respectively.
  • FIGS. 13A to 13D By adopting such an arithmetic pipeline configuration, it is possible to perform two parallel pipeline processing of quantization for all elements in an image block.
  • Y represents the surface element value after quantization
  • K represents a constant required for inverse quantization
  • W is the coefficient of the quantization matrix
  • FIGS. 14A to 14D show the connection forms (data paths) of the arithmetic units when the operation of the above expression is realized using the operation unit in one embodiment of the present invention.
  • Figures 14A to 14D show the operation modes of the four arithmetic units, respectively.
  • the data path connecting the EALU 61, the two multipliers 62 and the accumulator 64 It can be realized with one arithmetic pipeline without dividing the arithmetic pattern of the above formula. Note that shift and constant addition can be performed in one clock cycle in EALU61.
  • the configuration of the operation unit in the embodiment of the present invention can realize two four-stage operation pipelines as shown in FIGS. 14A to 14D. . By adopting such an arithmetic pipeline configuration, the image block Inverse quantization for all pixels in the pipeline can be pipelined in parallel. Motion vector detection
  • X represents the surface element value of an image block (referred to as a reference block) serving as a reference for a motion vector search.
  • Y represents the pixel value of the image block to be searched for in the motion vector (called a catch block).
  • FIGS. 15A to 15D show the connection forms (data paths) of the arithmetic units when the operation of the above equation is realized using the operation unit in one embodiment of the present invention.
  • Figures 15A to 15D show the operation modes of the four operation units, respectively.
  • the configuration of the calculation unit according to the embodiment of the present invention uses a two-stage calculation pipeline as shown in FIGS. 15A to 15D. This can be realized.
  • the motion vector detection for all the candidate blocks can be pipeline-processed in four parallels.
  • Motion compensation virtual pixel generation, predicted surface element generation
  • the motion compensation process in the plane image codec is divided into various processes depending on the value of the motion vector and the mode of the block. Of these, the case of performing the most complicated calculations is discussed.
  • the motion compensation process is divided into two processes: virtual pixel generation and predicted pixel generation.
  • the virtual pixel generation process is a process of generating a virtual pixel by performing interpolation between pixels in accordance with a motion vector with a 12-plane elementary precision.
  • Figure 16 shows the rules for generating virtual pixels. As can be seen from the illustration in Figure 16, the most complex virtual pixel generation In this case, one virtual pixel at the center is generated from four surface elements. 1
  • X, y, z, and w represent the neighboring tetrahedrals.
  • FIG. 17A to FIG. 17D show the connection forms (data paths) of the arithmetic units when the arithmetic operation of the above expression is realized using the arithmetic unit in the embodiment of the present invention.
  • FIGS. 17A to 17D show the operation modes of the four arithmetic units, respectively.
  • the configuration of the arithmetic unit in one embodiment of the present invention can realize four arithmetic pipelines of two stages as shown in FIGS. 17A to 17D.
  • the prediction pixel generation process differs depending on the mode of unidirectional (forward or backward) motion compensation prediction or bidirectional motion compensation prediction. In the case of unidirectional motion compensation prediction, it is sufficient to simply access the frame memory according to the motion vector and obtain the image block.
  • image blocks are obtained from two frame memories according to two types of motion vectors, forward and backward, respectively, and the plane elements are averaged by temporal distance. To obtain a predicted value.
  • X and y indicate the forward and backward motion-capable predicted values, respectively.
  • A is a parameter determined by the temporal distance between two image blocks.
  • FIG. 18 to FIG. 18D show the connection forms (data paths) of the arithmetic units when the operation of the above equation is realized using the operation unit in one embodiment of the present invention.
  • Figures 18A to 18D show the operation modes of the four arithmetic units.
  • the output of the two multipliers 62 is used as the input of the EALU 61, and the data that connects the accumulator 64 with the shift function to the pipeline is connected.
  • the calculation pattern in the above equation can be It can be realized with a book operation pipeline.
  • the configuration of the arithmetic unit in the embodiment of the present invention can realize two three-stage arithmetic pipelines as shown in FIGS. 18A to 18D.
  • Filter processing is not limited to surface image codecs, but is a basic elemental process of surface image processing. Here, we consider the case where one-dimensional filtering is performed on all pixels in an image block.
  • FIGS. 19A to 19D show connection forms (data paths) of the arithmetic units when the arithmetic unit of the embodiment of the present invention realizes the arithmetic operation of the above equation.
  • FIGS. 19A to 19D show the operation modes of the four operation units, respectively.
  • the multiplier 62 and By constructing a data path that pipelines the accumulators 64 with the shift function and the shift function, the inner product operation in the above equation can be realized with one arithmetic pipeline without splitting.
  • this filter processing in the configuration of the arithmetic unit in the embodiment of the present invention, four two-stage arithmetic pipelines can be realized as shown in FIGS. 19A to 19D.
  • the surface image addition and the image difference are not limited to the image codec, but are basic element processes of the image processing.
  • FIG. 2OA to FIG. 20D show the connection forms (data paths) of the arithmetic units when the image addition or the image difference is realized using the operation unit according to the embodiment of the present invention.
  • FIGS. 20A to 20D respectively show the operation modes of the four arithmetic units.
  • FIGS. 2OA to 20D In the configuration of the arithmetic unit according to the embodiment of the present invention, four single-stage arithmetic pipelines using the EALU 61 can be realized as shown in FIGS. 2OA to 20D. By adopting such an operation pipeline configuration, all the blocks in the image block can be obtained. Image addition or plane image difference for pixels can be processed in parallel by four lines.
  • the typical processing of the adaptive video signal has been described.
  • the adaptive video signal arithmetic processing device of the present invention is not limited to the above-described signal processing example, but may be other similar to the above. It can also be applied to signal processing.
  • the adaptive video signal processing device of the present invention comprises: ⁇ Single instruction stream ⁇ Multiple data stream: s ID
  • the adaptive video signal arithmetic processing device of the present invention can execute operations using different arithmetic units in parallel, so that the use efficiency of the arithmetic units does not decrease.
  • the adaptive video signal processing device of the present invention may be initialized once at the time of startup of the calculation pipeline. Furthermore, the adaptive video signal processing device of the present invention does not need to store intermediate results, so that the capacity of data memory does not increase.
  • the adaptive video signal processing device of the present invention is Since a macro arithmetic pipeline configuration in which three tufty arithmetic units and a multiplying / adding unit are connected by a pipeline memory can be realized, the above-mentioned Japanese Patent Application No. Hei. With the circuit configuration proposed in (Jan. 25, 2013), it is possible to realize the configuration of the butterfly and multiply-add operation pipeline in the DCT high-speed operation algorithm. As a result, in the adaptive video signal processing device of the present invention, the operation efficiency of the processing unit in the element processing of the DCT / IDCT of the image code and the task is greatly improved as compared with the conventional configuration, and the performance is improved. I do. Industrial applicability
  • the adaptive video signal processing device of the present invention relates to a central processing unit (processor) in a computer system used for, for example, numerical calculation, image processing, graphics processing, and the like.
  • CODEC is used as a digital signal processor suitable for video signal processing.

Description

明 糸田 書 適応形ビデオ信号演算処理装置 技術分野
本発明は、 例えば、 数値計算、 面像処理、 グラフィ ッ クス処理等に用いられる計算機システムにおける中央処 理装置 (プロセッサ) に関する ものであり、 特に面像圧縮 符号化 (コーデッ ク : C O D E C) のようなビデオ信号処 理に好適なディ ジタルシグナルプロセッサ (D S P) など の適応形ビデオ信号演算処理装置に関する。 背景技術
近年、 C C I TT H. 2 6 1勧告や MP E G等の 画像圧縮符号化 伸長復号化標準に基づく画像コーデッ ク 用ディ ジタルシグナルプロセッサ (D S P) が多数提案さ れている。
本発明は、 これらの D S Pのうちで、 文献、 Yaraauc hi, et al, Architecture and Implementation of a Hig hly Parallel Single-Chip Video DSP", IEEE TRANSACTIO NS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL . 2, NO. 2, JUNE 1992, pp. 207-220、 に提案されている ように、 算術論理演算ュニッ ト、 乗算器、 累算器等からな る演算ュニツ トを複数有し、 それらの演算ュニッ トが単一 の命令流により複数のデータを並列に処理する 「単一命令 ス ト リ ーム · 多重データス ト リ ーム : S I D (Single In struction stream Multiple Data stream) J 制御方式の D S Pに関する。
この文献に記載されている構成を図 1に示した。 こ の D S Pの演算ュニッ トは、 演算器をパイプライ ン接続可 能であり、 演算パイプライ ン処理も行う。
まず、 演算パイプライ ンの原理について簡単に説明 する。
図 2に、 演算パイプライ ンの構成例を示す。 この演 算パイプライ ンは、 2入力 X, Yを算術論理演算ユニッ ト (ALU) A 1において加算した後に、 加算結果と係数メ モ リ A 3からの係数とを乗算器 A 2において乗算し、 さ ら にその乗算結果を累算器 A 3において累算する。 このよう な演算の連鎖を複数のデータに対して連続的に行う こ とを 「演算パイプライ ン処理」 と呼ぶ。
図 3は図 2の演算パイプライ ンにおける処理のタイ ムチャー トを示すグラフである。 簡単化のため、 演算パイ プライ ンの各演算器 A l , A 2 , A 4は 1 クロ ッ クサイ ク ルで演算を完了する ものとする。
図 3における処理単位は、 2入力端子に入力される データの組 (X, Y) を意味する。
図 3に示すように、 例えば i番目の処理単位につい てみる と、 ( k一 1 ) 番目のクロ ッ クサイ クルにおいて A L U ( A 1 ) が加算処理を行い、
k番目のクロ ッ クサイ クルにおいて乗算器 A 2が乗 算処理を行い、
( k + 1 ) 番目のクロ ッ クサイ クルにおいて累算器 A が累積処理を行う。
また、 k番目のクロ ッ クサイ クルについてみると、 加算処理、 乗算処理を終えた ( i 一 1 ) 番目の処理 単位が累算器 A 4 において累算され、
加算を終えた i 番目の処理単位が乗算器 A 2 におい て乗算され、
( i + 1 ) 番目の処理単位が加算器 A 1 において加算 されている。
このような動作を複数の処理単位に対して繰り返し 行う こ とにより、 演算パイプライン処理が実現できる。
次に、 従来の技術について説明する。
こ こでは、 4組の演算ユニッ トが単一の命令流によ り複数のデータを並列に処理する、 上述した文献において 提案されている Γ単一命令ス ト リーム · 多重データス ト リ ーム : S I D J 制御方式の D S Pを考える。
前提として、 各演算ュニッ トは、 加算、 減算および 論理演算を行う算術論理演算ュニッ ト (A L U ) 、 乗算器 、 累算器の 3種の演算器からなるとする。 また、 簡単化の ため、 各演算器は 1 クロ ッ クサイ クルで演算を完了するも のとする。 したがって、 この D S Pは、 1 クロ ッ クサイ ク ルで最大 1 2演算 (例えば、 4加算、 4乗算、 4累算) を 実行するこ とができる。 さ らに、 この D S Pは、 演算器へ データを供給あるいは演算器からのデータを格納するため のデータメモ リ をチップ内あるいはチップ外に持つものと する。
最初に、 上記の前提の下で、 最も 由度の高い演算 パイプライ ンを実現する構成について述べる。
図 4 A〜図 4 Dに示したように、 最も自由度の高い 演算パイプライ ンは、 データメモ リ をパイプライ ンレジス 夕とみなし、 ソフ トゥ アによ り演算パイプライ ン処理 ( ソフ トゥエア · パイプライニングと呼ばれる) を行う こ と により実現できる。 このとき、 各々の演算器はデータメモ リ を介してのみ結合されている。 なお、 図 4 A〜図 4 Dは それぞれ、 4個の並列に設けられた演算処理ユニッ トの動 作形態を示す。 したがって、 データメモリ は、 1 クロ ッ ク サイ クル毎にすべての演算器の入力に対して任意のデータ を供給し、 同時にすベての演算器からの出力のデータを任 意のァ ドレスに格納する必要がある。
データメモ リ のポー ト数は、 図 4 A〜図 4 Dの図解 から判るように、 演算器への入力のために 1 6 ポー ト必要 で、 演算器からの出力のために 1 2ポー ト必要である。 し たがって、 合計 2 8 ポー トのマルチポー トメモリが必要で ある。 このポー ト数は、 現在の半導体回路技術と考え合わ せてみて、 非現実的であり、 事実上実現困難である。
そこで、 データメモリ をバンク分けして、 1 ノ ンク 当たりのポー ト数を減らす手法が考えられる。 しかしなが ら、 例えばデータメ モ リ を 4バンクに分割したと しても、 上記の例では、 なおも 1 バンク当たり 7ポー トのマルチポ 一トメモリ を必要とする。
また、 アプリケーショ ン · プログラムに応じて演算 パイプライ ンの自由度をある程度限定し、 データメモリの ポー ト数の減少を図るアプローチが採られる。 例えば、 上 述した文献に提案されているように、 A L U、 乗算器、 累 算器からなる演算パイブライ ンを 4本備え、 演算パイブラ イ ンの入出力のみをデータメモリ に接続する。 この場合の データメモリ に要求されるポー ト数は、 演算パイプライン への入力のために 8 ポー ト、 演算パイプライ ンからの出力 のために 4 ボー ト となる。
ところが、 上述した従来の D S Pの演算パイプライ ンの構成では、 演算パイプライ ンの自由度に制約がある。 例えば、 乗算した後に論理演算を行う演算については、 パ ィプライ ン演算ができない。 この場合、 すべてのデータに 対して、 まず乗算器を用いて乗算のパイプライ ン処理を行 い、 次に乗算後のすべてのデータに対して、 A L Uを用い て論理演算のパイプライ ン処理を行う。 したがって、 乗算 時は A L Uが使用されず、 論理演算時は乗算器が使用され ていないため、 演算器の使用効率が低下し、 性能低下を招 く。 また、 演算パイプライ ン処理を 2回に分けて行うため 、 演算パイプライ ンの立ち上げ時の初期設定が 2回必要と なる。
さ らに、 上述した従来の D S Pにおいては、 1 回目 の演算パイプライ ン処理が完了した時点で中間結果を格納 する必要があるので、 データメ モ リ容量が増大する。
画像コーデッ クの要素処理では、 上記の例のように 乗算した後に論理演算を行う演算の他に、 乗算を連続して 行う演算や、 乗算した結果同士を加算する演算等が必要と なる。 このような演算のそれぞれについて、 上述した問題 と同様の問題が発生する。
また、 上述した従来の D S Pの演算パイプライ ン構 成では、 本出願人による、 特許出願、 特願平 4年 3 3 8 , 1 8 3号、 「 2次元 8 x 8離散コサイ ン変換回路および 2 次元 8 X 8離散コサイ ン逆変換回路」 において提案するよ うな高速演算アルゴリ ズムにおける、 バタフライ演算 (加 算および減算) と乗加算の演算パイプラインの構成を実現 できない。
上述した先行する特許出願は、 2次元 8 x 8離散コ サイ ン変換、 または、 2次元 8 X 8離散コサイ ン逆変換を 行うに際して、 行列分解を適用 して演算処理する ものであ るが、 その詳細は、 図 9 および図 1 0 を参照して後述する
O
上記のように、 演算パイプライ ン構成ができない理 由としては、 データメモリのボー ト数の制約上、 バタフラ ィ演算 (従来例では 2演算ュニッ トを使用) を行っている ときには乗加算を並列に行えないためである。 よって、 バ タフライ演算と乗加算は逐次的に実行されるので、 上記特 許出願において提案したような理想的な演算パイブライ ン 構成と比較して、 性能は著しく低下する。 発明の開示
本発明の目的は、 画像コーデッ クの要素処理におけ る、 乗算した後に論理演算を行う演算、 乗算を連続して行 う演算、 あるいは、 乗算した結果同士を加算する種々の演 算を適応的に 1 つの装置で実現可能な適応形ビデオ信号演 算処理装置を提供するこ とにある。
また本発明の目的は、 上記本発明の適応形ビデオ信 号演算処理装置を、 「単一命令ス ト リ ーム · 多重データス ト リ ーム : S I M D」 制御方式に基づく、 1 本の演算パイ プライ ンを用いた 1 回のパイプライ ン処理で実現可能にす るこ とにある。 つま り、 本発明の他の目的は、 異なる演算 器を用いる演算を並列に実行可能にし、 演算器の使用効率 は低下させない適応形ビデオ信号演算処理装置を提供する t if Λ> 0
さ らに本発明の目的は、 演算パイプライ ンの立ち上 げ時の初期設定が 1 回でよい適応形ビデオ信号演算処理装 置を提供するこ とにある。 またさ らに本発明の目的は、 中間結果を格納する必 要がなく データメモリの容量は増大させない適応形ビデオ 信号演算処理装置を提供するこ とにある。 上述した課題を解決し、 上記目的を達成するため、 本発明の基本構想は、 ビデオ信号処理を行うディ ジタルシ グナルプロセッサ (D S P) 、 つま り、 適応形ビデオ信号 演算処理装置において、 算術論理演算ュニッ ト (ALU) 、 乗算器、 累算器からなる演算ュニッ トを複数有し、 これ らの演算ュニッ ト内の演算器の接続形態および演算ュニッ ト間の接続形態を適宜切り替えるこ とにより、 画像コ一デ ッ ク処理における種々の演算、 たとえば、
( 1 ) 離散コサイ ン変換 (D C T) 離散コサイ ン 逆変換 ( I D C T)
( 2 ) 量子化 Z逆量子化
( 3 ) 動きべク トル検出
( 4 ) 動き捕償 (仮想画素生成、 予測画素生成) ( 5 ) フィルタ (内積演算)
( 6 ) 画像加算、 画像差分
等の要素処理の各々に適応した演算パイプライ ンを 実現する構造可変な演算パイプライ ンを設ける。
したがって、 本発明によれば、 離散コサイ ン変換 離散コサイ ン逆変換、 量子化 逆量子化、 動きべク トル検 出、 動き補償、 内積演算、 画像データ加算および画像デ— タ差分処理などの画像圧縮符号化 伸長復号化処理を、 m X nの大きさのブロ ッ クの面像データについて、 適応的に 行う演算処理装置であって、
それぞれが、 加算、 減算、 各種論理演算、 大小比較 、 差分絶対値演算、 バタフライ加算 , 減算処理を行う拡張 算術論理演算ュニッ ト、 該拡張算術論理演算ュニツ トの後 段に設けられた第 1 の内部パイプラインメ モ リ 、 該第 1 の 内部パイプライ ンメモリ の後段に設けられた乗算ュニッ ト 、 該乗算ュニ ッ ト に係数を提烘する係数メ モ リ 、 該乗算ュ ニッ トに後段に設けられた第 2 の内部パイプライ ン メ モ リ 、 該第 2の内部パイプライ ンメモリの後段に設けられた累 積演算ュニツ ト、 該累積演算ュニッ トに後段に設けられた 第 3の内部パイブラインメ モ リ を有する、 複数の並列に設 けられた演算ュニッ ト、
これら複数の並列に設けられた演算ュニッ トのうち 、 隣接する演算ュニッ トを接続するように配設された相互 接続パイプラインメ モ リ 、 および、
前記複数の演算ュニヅ トに入力データを選択的に印 加するデータセレクタ
を有し、
前記相互接繞パイプライ ン メ モ リ を介して隣接する 演算ュニッ トを結合し、 かつ、 前記演算ュニッ ト内の内部 パイプライ ンメ モ リ を選択して所定のデータ流れ経路を構 成し、 所望のビデオ信号処理を行う、 適応形ビデオ信号演 算処理装置が提供される。
上記の構成によれば、 算術論理演算ュニッ ト (A L U ) 、 乗算器、 累算器からなる演算ュニッ トを複数有し、 これらの演算ュニッ ト内の演算器の接続形態および演算ュ ニッ ト間の接続形態を適宜切り替えるこ とにより、 画像コ ーデッ クの各要素処理を並列にパイプライ ン処理できる。
種々の演算処理について、 より具体的にその動作を 述べる。
( 1 ) 離散コサイ ン変換処理用および離散コサイ ン逆変換処理用を行う場合には、 前記複数の演算ュニツ ト の初段の演算ュニッ トに、 離散コサイ ン変換処理用データ を入力する端子が設けられ、 前記複数の演算ュニッ トの最 終段の演算ュニッ トに、 離散コサイ ン逆変換処理用データ を出力する端子が設けられる。
( 2 ) m x n画像データをブロ ッ ク として、 ノ タフ ライ演算およびパイプライ ンメモ リ処理を複数回数行って 離散コサイ ン変換処理を行う際には、 前記離散コサイ ン変 換処理用データを前記最終段の演算ュニッ トを除く複数の 演算ュニッ ト内の拡張算術論理演算ュニッ トに入力し、 該 拡張算術論理演算ュニッ トにおける処理結果を隣接する前 記相互接続パイプライ ンメ モ リ に出力し、 全ての演算ュニ ッ ト内の乗算ュニッ トに最終段の相互接続パイプライ ンメ モ リ のデータを入力し、 その乗算結果を前記累積ュニッ ト において累積させる。
( 8 ) また、 m X 11画像データをブロ ッ ク として、 パイプライ ンメモリ処理およびバタフライ演算を複数回数 行って離散コサイ ン逆変換処理を行う際には、
( a ) 前記離散コサイ ン逆変換用データを全ての 演算ュニッ ト内の乗算ュニ ヅ トに入力し、 その乗算結果を 前記累算ュニ ッ トにおいて累積させ、
( b ) その出力を前記初段の演算ュニッ トを除く 複数の演算ュニッ ト内の拡張算術論理演算ュニッ トに入力 し、 該拡張算術論理演算ュニッ トにおける処理結果を隣接 する相互接続パイプライ ンメモリ に出力する。
( ) 量子化処理を行う際には、 隣接する演算ュニ ッ ト内の第 1 の演算ュニッ トの乗算ュニッ トの出力端子を 第 2の演算ュニ ヅ トの乗算ュニッ トの入力端子に接続し、 該第 2の乗算ュニッ トの乗算結果をその後段の累積ュニッ トに入力し、 前記第 1 の乗算ュニッ トに量子化対象のデー タを入力する。
( 5 ) 逆量子化処理を行う際には、 隣接する演算ュ ニッ ト内の第 1 の演算ュニ ッ トの乗算ュニ ッ トの出力端子 を第 2の演算ュニッ トの乗算ュニッ トの入力端子に接続し 、 該第 2の乗算ュニッ トの乗算結果をその後段の累積ュニ ッ トに入力し、 第 1 の演算ュニ ッ トに逆量子化対象のデー タおよび定数を入力し、 その演算結果を第 1 の乗算ュニッ トに入力する。 ( 6 ) 動きべク トル検出処理の際には、 全ての演算 ュニ ヅ ト内の拡張算術論理演算ュニッ トを累積演算ュニッ トに接続し、 前記拡張算術論理演算ュニッ トに動きべク ト ル検出対象の 2つのデータを入力する。
( 7 ) 動き補償における仮想面素生成処理の際には 、 全ての演算ュニッ ト内の拡張算術論理演算ュニッ トを累 積演算ュニッ トに接続し、 前記拡張算術論理演算ュニッ ト に動き捕償における仮想面素生成対象の 2つのデータを入 力する。
( 8 ) 動き補償における予測画素生成処理の際には 、 隣接する演算ュニッ トの一方の乗算ュニッ トの出力を他 方の拡張算術論理演算ュニ ッ トの一方の入力端子に印加し 、 他方の乗算ュニッ トの出力を該他方の拡張算術論理演算 ュニッ トの他方の入力端子に印加し、 該他方の拡張算術論 理演算ュニッ トの演算結果を他方の累積ュニッ トにおいて 累積させる。
( 9 ) 内積演算処理の際には、 全ての演算ュニッ ト 内の乗算ュニッ トに内積対象のデータを入力し、 該乗算結 果を対応する累積ュニッ トにおいて累積する。
( 10) 画像データ加算処理の際、 または、 画像デー タ減算処理の際には、 全ての演算ュニッ ト内の拡張算術論 理演算ュニッ トに処理対象のデータを入力し、 該処理結果 を出力する。 好適には、 前記演算ュニッ ト内において、 前記拡張 算術論理演算ュニッ ト、 前記乗算ュニッ ト、 前記累積演算 ユニッ トが、 パイプライ ン処理動作を行う。
また好適には、 前記適応形ビデオ信号演算処理装置 は、 単一の命令ス ト リ ームで多重のデータス ト リ ーム処理 を行う、 「単一命令ス ト リ ーム · 多重データス ト リ ーム :
S I M D」 制御方式で動作する。
特定的には、 前記拡張算術論理演算ュニッ トは、 第 1 の入力データの極性を反転する正負反転器、
該正負反転器の後段に設けられ、 前記第 1 の入力デ 一夕または前記極性反転された第 1 のデータを選択的に出 力する第 1 のデータセ レクタ、
該第 1 のデータセレクタの選択出力データおよび第 2の入力データとを加算する加算器、
前記第 1 の入力データから前記第 2の入力データを 減しる顿算 、
前記第 1 の入力データ と前記第 2のデータとの、 論 理和、 論理積、 排他的論理和、 否定などの論理処理を行う 論理演算器、
前記加算器および前記減算器の出力を入力して正負 判定を行う正負判定器、
前記加算器、 前記減算器および前記正負判定器の出 力を入力し、 選択的に出力する第 2 のデータセ レ クタ、
該第 2のデータセレクタに接続された第 1 の出力端 子、 および、
前記減算器に接続された第 2の出力端子
を有し、
上述した回路を組み合わせて、 加算、 減算、 各種論 理演算、 大小比較、 差分絶対値演算、 バタフライ加算 · 減 算処理のいずれかを行う。 図面の簡単な説明
上記目的および特徵、 および、 他の目的および特徴 は、 添付図面に関連づけた書きの記述によってよ り明瞭に なるのであって、 ここに、
図 1 は 「単一命令ス ト リ ーム . 多重データス ト リ ー ム : S I D J 制御方式のプロセッサの構成図であり、 図 2は演算パイプライ ンの例を示す図であり、 図 3 は図 2の演算パイプライ ン処理におけるタイム チヤ一 トを示すグラフであり、
図 4 は最も自由度の高い演算パイプライ ンの構成を 示す図であって、 図 4 A〜図 4 Dはそれぞれ 4系統の演算 ュニッ トの動作形態を示す図であり、
図 5 は本発明の実施例による演算ュニッ トの結合形 態を示す適応形ビデオ信号演算処理装置の構成図であり、 図 6 は本発明の実施例による演算ユニッ ト 0 , 2の 構成を示す図であり、
図 7 は本発明の実施例による演算ユニッ ト 1 , 3 の 構成を示す図であり、
図 8は本発明の実施例による拡張論理演算ュニッ ト (E A LU) の構成を示す図であり、
図 9は 8 X 8離散コサイ ン変換 (D C T) の演算パ ィプライン構成図であり、
図 1 0は 8 X 8離散コサイ ン逆変換 ( I D C T) の 演算パイプライ ン構成図であり、
図 1 1 は本発明の実施例による D C T処理時の適応 形ビデオ信号演算処理装置の演算パイプライ ンの構成を示 す図であって、 図 1 1 A〜図 1 1 Dはそれぞれ 4系統の演 算ュニッ トの動作形態を示す図であり、
図 1 2は本発明の実施例による I D C T処理時の適 応形ビデオ信号演算処理装置の演算パイブライ ンの構成を 示す図であって、 図 1 2 A〜図 1 2 Dはそれぞれ 4系統の 演算ュニッ トの動作形態を示す図であり、
図 1 3は本発明の実施例による量子化処理時の適応 形ビデオ信号演算処理装置の演算パイプラインの構成を示 す図であって、 図 1 3 A〜図 1 3 Dはそれぞれ 4系統の演 算ュニッ トの動作形態を示す図であり、
図 1 4は本発明の実施例による逆量子化処理時の適 応形ビデオ信号演算処理装置の演算バイプライ ンの構成を 示す図であって、 図 1 4 A〜図 1 4 Dはそれぞれ 4系統の 演算ュニッ トの動作形態を示す図であり、
図 1 5は本発明の実施例による動きべク トル検出処 理時の適応形ビデオ信号演算処理装置の演算パイプライン の構成を示す図であって、 図 1 5 A〜図 1 5 Dはそれぞれ 4系統の演算ュニッ トの動作形態を示す図であり、
図 1 6 は画像コーデッ クの動き補償処理の仮想画素 生成規則を示す図であり、
図 1 7は本発明の実施例による動き補償における仮 想面素生成処理時の演算パイプライ ンの構成を示す図であ つて、 図 1 7 A〜図 1 7 Dはそれぞれ 4系統の演算ュニッ トの動作形態を示す図であり、
図 1 8 は本発明の実施例による動き補償における予 測画素生成処理時の演算パイプライ ンの構成を示す図であ つて、 図 1 8 A〜図 1 8 Dはそれぞれ 4系統の演算ュニッ トの動作形態を示す図であり、
図 1 9 は本発明の実施例によるフィルタ処理時の演 算パイプライ ンの構成を示す図であって、 図 1 9 A〜図 1 9 Dはそれぞれ 4系統の演算ュニッ トの動作形態を示す図 であり、
図 2 0 は本発明の実施例による画像加算あるいは画 像差分処理時の適応形ビデオ信号演算処理装置の演算パイ プライ ンの構成を示す図であって、 図 2 O A〜図 2 0 Dは それぞれ 4系統の演算ュニッ トの動作形態を示す図である
0
発明を実施するための最良の形態
以下、 図面を参照し、 本発明の実施例の適応形ビデ ォ信号演算処理装置について詳述する。
本発明の実施例においても、 従来技術と同様に、 4 組の演算ュニッ トが単一の命令流により並列動作する、 上 記文献において提案されている 「単一命令ス ト リ ーム ' 多 重データス ト リ ーム : S I MD」 制御方式の D S Pを考え 本実施例の前提として、 各演算ュニッ トは、 加算、 減算および論理演算を行う AL U、 乗算器、 累算器の 3種 の演算器からなる とする。 また、 簡単のため、 各演算器は 1 クロ ッ クサイ クルで演算を完了する ものとする。 したが つて、 この D S Pは、 1 クロ ッ クサイクルで最大 1 2演算 を実行するこ とができる。 さ らに、 この D S Pは演算器に データを供給し、 また、 演算器からのデータを格納するた めのデータメモ リ をチップ内あるいはチップ外に持つとす o
以下、 演算ュニッ トの構成を述べたあと、 面像コー デッ クの要素処理における演算ュニッ トの動作を説明する o
なお、 こ こで例示する画像コーデッ クの要素処理は
、 主に MP E Gで使用される要素処理である。
( 1 ) 演算ュニッ トの構成
図 5に、 4組の演算ユニッ ト 1〜 4間の結合形態を 示す。 図 5では、 データメモリ は図示していない。
実際には、 データ入力端子 (X i n 0〜: X i n 8 ) 1 1〜 1 4、 および、 データ入力端子 (Y i n O〜Y i n 3 ) 2 1〜 2 4、 および、 データ出力端子 (O u t 1〜0 u t 8 ) 3 1〜 3 4は、 何らかの相互結合網を介してデー タメモリ (図示せず) に接続されている。
こ こでは簡単化のため、 データメモ リ は、 上記 8個 のデータ入力端子 1 1〜 1 4、 2 1〜 2 4に 1 クロ ッ クサ ィ クル毎にデータを供給でき、 同時に上記 4個のデータ出 力端子 3 1〜 3 4からのデータを 1 クロ ッ クサイ クル毎に 書き込むこ とができるとする。 すなわち、 演算ュニッ ト 1 〜 4 とデータメ モ リ (図示せず) とは、 上記のデータ転送 能力を備えた相互結合網によ り結合されている とする。
また、 演算ュニッ ト 1〜 4間を結合するメモ リ (以 下、 相互接続バイプライ ンメモリ と呼ぶ) 0 ( 5 ) 、 メモ リ 1 ( 6 ) 、 メモ リ 2 ( 7 ) や、 ノ、'ラ レルー シリ アル変換 器 9、 シリ アル一パラ レル変換器 1 0、 データセレクタ 8 , 4 1〜 4 4は、 後述する離散コサィ ン変換 (00丁) 離散コサイ ン逆変換 ( I D C T) の高速演算アルゴリ ズム におけるマクロな演算パイプライ ン構成を実現する際に必 要となる。
なお、 図 5に示した D C T入力端子 5 1 および I D C T出力端子 5 2についても、 相互結合網 (図示せず) を 介してデータメモ リ (図示せず) に接続されており、 1 ク ロ ッ クサイ クル毎のデータ入出力が可能となっている。
図 6および図 7に演算ュニッ トの内部構成を示す。 図 6は演算ユニッ ト 0 ( 1 ) および演算ユニッ ト 2 ( 3 ) の内部構成図であり、 図 7が演算ユニッ ト 1 ( 2 ) および演算ュニッ ト 3 ( 4 ) の内部構成図である。
図 6および図 7に示すように、 演算ュニッ ト内では 、 加算、 減算、 論理演算および後述するバタフライ演算等 の演算を行う拡張算術論理演算ュニッ ト (E A L U) 6 1 、 係数メモ リ 6 3、 乗算器 6 2、 累算とシフ ト演算を行う シフ ト機能付き累算器 6 4、 さ らには入力端子 (X i n k ) 1 k (kは ; k番目を示す) および (Y i n k) 2 k、 お よび、 出力端子 (O u t k) 3 kが、 データセレクタ 7 1 〜 7 5を介して相互に結合されている。 簡単化のため、 こ れらの演算器は、 全て 1 クロ ッ クサイ クルで演算を完了す るものとする。 したがって、 演算器 6 1、 6 2、 6 4の後 段に設けられている内部パイブライ ン , メモ リ (図示省略 ) が存在する。
このような演算器 6 1、 6 2、 6 3および内部パイ プライ ンメモ リ の結合形態を採るこ とにより、 データセレ クタ 7 1〜 7 5の設定に従って、 内部パイブライ ンメモ リ を介して、 演算器 6 1、 6 2、 6 4間のデータパスを変化 させるこ とが可能となる。 よって、 この演算ュニッ トは、 1〜 3段の構造可変な演算パイプライ ン構成を採り うる。 図 6に示した演算ュニッ ト と図 7に示した演算ュニ ッ ト との相違は、 図 7に示した演算ュニッ トには、 データ セレクタ 7 1 および 7 3 に第 3の入力データが印加される 構成になつているこ とである。
図 8 に拡張算術論理演算ュニッ ト ( E A L U) 6 1 の構成を示す。
E A L U 6 1 は、 正負反転器 3 0 1 、 データセレク タ 3 0 6、 加算器 3 0 2、 減算器 3 0 3、 論理演算器 3 0 4、 正負判定器 3 0 5、 データセレクタ 3 0 7 を有する。 この E A L U 6 1 は、 通常の A L Uの基本機能である加算 、 減算、 論理演算 (否定、 論理和、 論理積、 排他的論理和 等) の他に、 大小比較演算 m i n (X, Y) 、 m a x (X , Y) 、 差分絶対値演算 I X - Y バタフライ演算 ( 2 入力について加算と減算を同時に行う) を拡張機能として 備 る。
これらの基本機能および拡張機能は、 上述した各種 演算器 3 0 1、 3 0 2、 3 0 3、 3 0 4 および 3 0 5 を適 切に結合するこ とによって実現される。 以下、 上記の基本機能および拡張機能を E A L U 6 1 が各種演算器を用いていかに実現するかを述べる。
加算
入力端子 3 1 1 および 3 1 2 に印加された 2入力デ 一夕 Xおよび Yの加算は加算器 3 0 2 を用いて実現する。 入力データ Xについては、 正負反転器 3 0 1 を経由しない データ Xが加算器 3 0 2に印加されるように、 予めデータ セレクタ 8 0 6 を設定する。 これにより、 加算器 3 0 2か らは加算結果 (X + Y) が出力される。 データセレクタ 3 0 7は、 加算器 3 0 2の加算出力を E A L U 6 1 の出力と して、 A側出力端子 3 1 3から出力する。
入力端子 3 1 1 および 3 1 2に印加された 2入力デ 一夕 (X - Y) の演算は減算器 3 0 3 を用いて実現する。 減算器 8 3からは減算結果 (X— Y) が出力される。 この 減算結果は B側出力端子 3 1 4から出力される。 論理演算
入力端子 3 1 1 および 3 1 2に印加された 2入力デ 一夕 (X, Y) の論理演算は論理演算器 3 0 4 を用いて実 現する。 論理演算器 3 0 4 は、 否定、 論理和、 論理積、 排 他的論理和などの論理演算を行い、 この演算結果が、 デー タセレクタ 8 0 7を介して、 A側出力端子 3 1 3から E A L U 6 1 の結果と して出力される。 大小比較演算 : m i n ( X, Y) ,
m a (X, Υ)
入力端子 3 1 1 および 3 1 2に印加された 2入力デ 一夕 (X, Υ) の大小比較は、 正負反転器 3 0 1 、 加算器 3 0 2、 減算器 3 0 3 および正負判定器 3 0 5 を用いて行 う。 入力データ Xは正負反転器 3 0 1 で反転され、 反転さ れた (一 X) がデータセレクタ 3 0 6 を介して加算器 3 0 2に印加される。 これにより、 加算器 3 0 2から減算結果 ( Y - X) が出力される。 一方、 減算器 3 0 3 において減 算 (X - Y) の演算が行われる。 加算結果 (Y - X) およ び減算結果 (X - Y) が正負判定器 3 0 5 に印加されて、 入力データ Xと Yとの大小比較判定が行われる。 正負判定 器 3 0 5 は下記の判定基準に従って、 大小判定を行う。
1 . 最小値 : m i n (X, Y)
( Y— X) ≥ 0 とき、 最小値 = χ
(Υ— X) < 0 とき、 最小値 = Υ
2. 最大値 : m a X (X, Y)
(X— Υ) ≥ 0 とき、 最大値- Υ
(X - Υ) < 0 とき、 最大値 = X
ただし、 最小値と最大値とをを同時に出力はできな い。 データセレクタ 3 0 7は、 正負判定器 3 0 5 の出力を E A L U 6 1 の出力と して、 Α側出力端子 3 1 3から出力 する。 差分絶対値演算 I X - Y I
入力端子 3 1 1 および 3 1 2に印加された 2入力デ 一夕 (X, Y) の差分絶対値演算は、 正負反転器 3 0 1、 加算器 3 0 2、 減算器 3 0 3および正負判定器 3 0 5 を用 いて行う。 入力データ Xについては正負反転器 3 0 1 で極 性反転された一 Xがデータセレクタ 3 0 6から加算器 8 0 2に選択出力されるように、 予めデータセレクタ 3 0 6 を 設定しておく。 加算器 3 0 2は加算 (Y - X) を行い、 減 算器 3 0 3 は減算 (X— Y) を行う。 これらの演算結果が 正負判定器 3 0 5 に入力ざれる。 正負判定器 3 0 5 は、 下 記の差分絶対値演算を行う。
( Y - X) ≥ 0 とき、 差分絶対値 = Y— X
(X - Υ) く 0 とき、 差分絶対値 = Χ - Υ
データセレクタ 3 0 7は上記演算された差分絶対値 を Α側出力端子 3 1 3から出力する。 バタフライ演算
入力端子 3 1 1 および 3 1 2に印加された 2入力デ 一夕 (X, Y) についてのバタフライ演算は、 加算器 3 0 2および減算器 3 0 3を用いて実現する。 入力データ Xが 正負反転器 3 0 1 を経由しないで加算器 3 0 2に印加され るように、 予めデータセレクタ 3 0 6 を設定しておく。 加 算器 3 0 2は加算 (X + Y) を行い、 減算器 3 0 3 は減算 (X— Y) を行う。 データセレクタ 3 0 7が加算器 3 0 2 の出力を E A L U 6 1 の出力として A側出力端子 3 1 3か ら出力すると同時に、 減算器 3 0 3の減算結果が B側出力 端子 3 1 4から出力される。
このバタフライ演算の場合のみ、 E A L U 6 1 は 2 入力 2 出力の演算器と して動作する。 上述した他の演算に おいては、 E A L U 6 1 は 2入力 1 出力の演算器と して動 作する。 以下、 D CTZ I D C T、 量子化などの画像コーデ ッ クの各要素処理における演算ュニッ トの動作を個別的に 説明する。 離散コサイ ン変換 離散コサイ ン逆変換 (D C TZ I D C T)
離散コサイ ン変換 Z離散コサイ ン逆変換 (D C TZ I D CT) の要素処理において、 本発明の実施例における 演算ュニッ トでは、 本出願人が先に出願した、 特願平 4年 3 3 8 1 8 3号の明細書及び図面で提案するような高速演 算アルゴリ ズムに適応するバタフライ演算 (加算および減 算) と乗加算のマクロな演算パイプライ ンの構成を以下の ように実現する。
図 9は 8 X 8 D C Tの演算パイプライン構成の概略 図を示し、 図 1 0は 8 x 8 I D C Tの演算パイプライ ン構 成の概略図を示す。
これらの演算パイプライ ンの処理単位は 8 8の面 像ブロ ッ ク ( 6 4面素) であり、 パイプラインメモリ 1 3 1〜 1 3 3を介した 4段の演算パイブライ ン構成となる。 したがって、 通常の画素単位で 1 クロ ッ クサイ クル毎にバ イブライ ン処理を行う演算パイプライ ンとは異なり、 6 4 クロ ッ クサイ クル毎にパイプライン処理を行う こ とから、 マクロな演算パイプライ ンと考えられる。
以下、 8 X 8 D C Tを例にとって上記の演算パイプ ライ ンの高速演算アルゴリ ズムを簡単に説明する。
前述の特許出願、 特願平 4年 3 3 8 1 8 3号におい て提案したような行列分解によ り、 8 x 8 D C Tは、 8 X 8の画像プロ ッ ク ( 6 4画素) に対して 1 6 5回のパタフ ライ演算 (加算 1 6 5回および減算 1 6 5回) を行い、 さ らに、 2 2 0回の乗加算 (乗算 2 2 0回および累算 2 2 0 回) を行う こ とにより実現できる。 したがって、 図 9 に示 すような 4段の演算パイプライ ンの構成、 つま り、 3個の バタフライ演算器 1 0 1 〜 1 0 3 と 4個の乗加算器 1 1 1 による回路構成を採るこ とにより、 6 4 クロ ッ クサイ クル 周期 (理想的には 5 5 クロ ッ クサイ クル) で演算パイプラ イ ン処理を行い、 8 X 8 D C Tを計算するこ とが可能とな る
また、 8 X 8 I D C Tについても、 乗加算とバタフ ライ演算の順序が入れ替わるだけで、 演算量や演算パイプ ライ ン段数は変わらない。
なお、 上述した出願では、 乗加算器数を 3個にする ために、 さ らに乗加算回数を減らす工夫を行っているが、 本発明の実施例においては乗加算器数は 4個であると仮定 しているため、 この工夫は必要ない。
図 1 1 A〜図 1 1 Dに、 本発明の実施例における演 算ュニッ トを用いて、 上述の 8 X 8 D C Tの演算パイプラ イン構成を実現した場合の演算器およびメモ リ の結合形態 (データパス) を示す。 図 1 1 A〜図 1 1 Dはそれぞれ、 4系統の演算ュニッ トの動作形態を示す。
図 1 1 A〜図 1 1 Dおよび図 5 に示すように、 演算 ユニッ ト 0 ( 1 ) , 1 ( 2 ) , 2 ( 3 ) 内の E A L U 6 1 をメモ リ 0 ( 5 ) , 1 ( 6 ) , 2 ( 7 ) 、 つま り、 パイプ ライ ンメモリ 5 , 6 , 7を介してパイプライ ン接続する。 さ らに、 演算ュニッ ト 2 ( 3 ) の E A L U 6 1 の出力を、 シ リ アルーノ、 'ラ レル変換器 1 0、 データセ レ クタ 4 1 〜 4 4 を介して、 4個の乗算器 6 2 に接続し、 各々の乗算器 6 2の出力をシフ ト機能付き累算器 6 4 にパイプライ ン接続 する。 なお、 この時の E A L U 6 1 は、 前述した E A L U と しての拡張機能であるバタフライ演算を行うため、 2入 力 2 出力となっている。
このよ う な演算器およびメモ リ の結合形態を採るこ とにより、 図 9 に示すようなマクロな演算パイプライ ン構 成を実現する。
また、 図 1 2 A〜図 1 2 Dに、 本発明の実施例にお ける演算ュニッ トを用いて、 上述の 8 X 8 I D C Tの演算 パイプライ ン構成を実現した場合の演算器およびメモ リ の 結合形態 (データパス) を示す。 図 1 2 A〜図 1 2 Dはそ れぞれ、 4系統の演算ユニッ トの動作形態を示す。
図 1 2 A〜図 1 2 Dおよび図 5 に示すように、 各演 算ュニッ トの 4個の乗算器 6 2を各々 シフ ト機能付き累算 器 6 4にパイブライ ン接続する。 さ らに、 すべてのシフ ト 機能付き累算器 6 4の出力を、 パラ レル一シ リ アル変換器 9、 データセレクタ 8を介して、 メモ リ 0 ( 5 ) に接続す る。 また、 演算ユニッ ト 1 ( 2 ) , 2 ( 3 ) , 3 ( 4 ) の E A LU 6 1 をメモ リ 0 ( 5 ) , 1 ( 6 ) , 2 ( 7 ) 、 つ ま り、 パイプライ ンメモリ 5 , 6 , 7を介してパイプライ ン接続する。 なお、 この時の E A L U 6 1 は、 前述した E A L U 6 1 の拡張機能であるバタフライ演算を行うため、 2入力 2出力となっている。
このような演算器およびメモリ の結合形態を採るこ とにより、 図 1 0に示すようなマクロな演算パイプライン 構成を実現する。 量子化 逆量子化処理
(ィ) 量子化
画像コーデッ クの量子化処理においては、 下式 1 の ように乗算を連続して行い、 さ らにシフ ト演算を行う演算 パターンが存在する。 これは、 量子化処理において最も複 雑な演算パターンである。
1 1
y = 8 · X · · ( 1 )
W Q P
ただし、 Xは量子化前の画素値であり、
Yは量子化後の画素値を表し、 wは量子化行列の係数を示し、
Q Pは量子化スケールパラメータを表す
0
図 1 3 入〜図 1 3 Dに本発明の実施例における演算 ュニッ トを用いて上式の演算を実現した場合の演算器の結 合形態 (データパス) を示す。 図 1 3 A〜図 1 3 Dはそれ ぞれ 4系統の演算ュニッ トの動作形態を示す。
図 1 3 A〜図 1 3 Dのように、 2個の乗算器 6 2お よびシフ ト機能付き累算器 6 4 をパイプライ ン接続するデ 一夕パスを実現するこ とにより、 上式の演算パターンを分 割処理することなく 1 本の演算パイプライ ンで処理できる 。 この量子化処理の演算パターンにおいて、 本発明の実施 例における演算ュニッ 卜の構成では、 図 1 3 A〜國 1 3 D に示すように 3段の演算パイプラインを 2本実現できる。 このような演算パイプライ ン構成を採るこ とにより、 画像 ブロ ッ ク内の全面素に対する量子化を 2並列にパイプライ ン処理できる。
( π ) 逆量子化
画像コーデッ クの逆量子化処理においては、 下式 2 のようにシフ トおよび加算を行ったあと、 乗算を連続して 行い、 さ らに、 シフ ト演算を行う演算パターンが存在する 。 これは、 逆量子化処理において最も複雑な演算パターン である。 x = · { ( 2 · y + K) · W · Q P }
1 6
······ ( 2 ) ただし、 Xは量子化前の画素値であり、
Yは量子化後の面素値を表し、
Kは逆量子化時に必要となる定数を表し、
( K = 0、 1 または一 1 )
Wは量子化行列の係数であり、
Q P量子化スケールパラメータを表す。 図 1 4 A〜図 1 4 Dに本発明の一実施例における演 算ュニッ トを用いて、 上式の演算を実現した場合の演算器 の結合形態 (データパス) を示す。 図 1 4 A〜図 1 4 Dは それぞれ、 4系統の演算ユニッ トの動作形態を示す。
図 1 4 A〜図 1 4 Dに示すように、 E A L U 6 1 と 2個の乗算器 6 2およびシフ ト機能付き累算器 6 4をパイ プライ ン接続するデータパスを構成するこ とにより、 上式 の演算パターンを分割するこ となく 1本の演算パイプライ ンで実現できる。 なお、 シフ トおよび定数加算は、 E AL U 6 1で 1 クロ ッ クサイ クルで実行可能とする。 この逆量 子化処理の演算パターンにおいて、 本発明の実施例におけ る演算ュニッ トの構成では、 図 1 4 A〜図 1 4 Dに示すよ うに 4段の演算パイプライ ンを 2本実現できる。 このよう な演算パイプライ ン構成を採るこ とにより、 画像プロ ッ ク 内の全画素に対する逆量子化を 2並列にパイプライ ン処理 できる。 動きべク トル検出
画像コーデッ クの動きべク トル検出処理においては 、 下式のような差分絶対値和演算が動きべク トル候補の数 だけ必要となる (ただし、 探索アルゴリ ズムにブロ ッ クマ ツチングの全探索を採用 した場合) 。
Figure imgf000032_0001
ただし、 Xは動きベク トル探索の基準となる画 像ブロ ッ ク (参照ブロ ッ ク と呼ばれる) の面素値を表し、
Yは動きべク トル探索の対象となる画 像ブロ ッ ク (候捕ブロ ッ ク と呼ばれる) の画素値を表す。
図 1 5 A〜図 1 5 Dに本発明の一実施例における演 算ュニッ トを用いて、 上式の演算を実現した場合の演算器 の結合形態 (データパス) を示す。 図 1 5 A〜図 1 5 Dは それぞれ 4系統の演算ュニッ トの動作形態を示す。
図 1 5 A〜図 1 5 Dのように、 E A L U 6 1 および シフ ト機能付き累算器 6 4 をパイプライ ン接続するデータ パスを構成するこ とにより、 上式の差分絶対値和演算を分 割するこ となく 1 本の演算パイプライ ンで実現できる。 な お、 差分絶対値演算には、 前述した E A L U 6 1 の拡張機 能である差分絶対値演算機能を用いる。 この動きベク トル 検出処理の差分絶対値和演算において、 本発明の実施例に おける演算ュニッ トの構成では、 図 1 5 A〜図 1 5 Dに示 すように 2段の演算パイプライ ンを 4本実現できる。
このような演算パイプライン構成を採るこ とにより 、 全候補ブロ ッ クに対する動きベク トル検出を 4並列にパ イブライ ン処理できる。 動き補償 (仮想画素生成、 予測面素生成)
面像コーデヅ クにおける動き補償処理は、 動きべク トルの値やプロ ッ クのモー ドにより、 様々な処理に場合分 けられる。 このうち、 最も複雑な演算を行う場合について んる。
このとき、 動き補僙処理は、 仮想画素生成および予 測画素生成の 2つの処理に分けられる。
以下、 本発明の実施例における演算ュニッ トにおい て、 上記 2つの処理のそれぞれに適応する演算パイプライ ンの構成をどのように実現するかを説明する。
(ィ) 仮想画素生成
仮想画素生成処理は、 1 2面素精度の動きべク ト ルに伴い、 画素間の補間を行って仮想画素を生成する処理 でめ 。
図 1 6 に仮想画素の生成規則を示す。 図 1 6 の図解 から分かるように、 最も複雑な仮想画素生成処理は、 近傍 4面素から中央の 1 仮想画素を生成する場合である。 1
a = ( x + y + z + w) ( 4 )
4
ただし、 aは仮想画素を表し、
X , y , z , wは、 近傍の 4面素を表す。
図 1 7 A〜図 1 7 Dに本発明の実施例における演算 ュニッ トを用いて、 上式の演算を実現した場合の演算器の 結合形態 (データパス) を示す。 図 1 7 A〜図 1 7 Dはそ れぞれ、 4系統の演算ユニッ トの動作形態を示す。
図 1 7 A〜図 1 7 Dのように、 E A L U 6 1 および シフ ト機能付き累算器 6 4 をパイプライ ン接続するデータ パスを構成するこ とにより、 上式の演算パターンを分割す るこ となく 1 本の演算パイプライ ンで処理できる。
この仮想画素生成処理において、 本発明の一実施例 における演算ュニッ トの構成では、 図 1 7 A〜図 1 7 Dに 示すように 2段の演算パイブライ ンを 4本実現できる。
このような演算パイプライ ン構成を採るこ とにより 、 画像ブロ ッ ク内の全画素に対する仮想画素生成を 4並列 にパイプライ ン処理できる。
(口) 予測画素生成
予測画素生成処理は、 単方向 (前向きあるいは後ろ 向き) 動き補償予測か両方向動き補償予測かのモー ドによ り異なる。 単方向動き補僙予測の場合は、 単に動きべク トルに 従ってフ レームメモ リ にア クセスし、 当該画像ブロ ッ クを 得ればよい。
ところが、 両方向動き補償予測の場合は、 前向きお よび後ろ向きの 2種の動きべク トルに従って 2つのフ レー ムメモリからそれぞれ画像ブロ ッ クを得、 さ らにそれらの 面素を時間的距離によって平均化して予測値を得る。
1
a = { A · X + ( 1 6 - A ) - y }
1 6
…… ( 5 ) ただし、 aは両方向動き補償予測値を示し、
X , yはそれぞれ前向きおよび後ろ向き の動き捕僂予測値を示し、
Aは 2つの画像プロ ッ クの時間的距離に よつて決定するパラメータである。
図 1 8 人〜図 1 8 Dに本発明の一実施例における演 算ュニッ トを用いて、 上式の演算を実現した場合の演算器 の結合形態 (データパス) を示す。 図 1 8 A〜図 1 8 Dは それぞれ、 4系統の演算ユニッ トの動作形態を示す。
図 1 8 A〜図 1 8 Dに示すように、 2個の乗算器 6 2の出力を E A L U 6 1 の入力とし、 さ らにシフ ト機能付 き累算器 6 4 をパイプライ ン接続するデータバスを構成す るこ とにより、 上式の演算パターンを分割するこ となく 1 本の演算パイブライ ンで実現できる。
この予測面素生成処理において、 本発明の実施例に おける演算ュニッ トの構成では、 図 1 8 A〜図 1 8 Dに示 すように 3段の演算パイプライ ンを 2本実現できる。
このような演算パイプライ ン構成を採るこ とにより 、 画像ブロ ッ ク内の全画素に対する予測画素生成を 2並列 にパイプライ ン処理できる。 フィルタ (内積演算)
面像コーデッ クに限らず、 フィルタ処理は面像処理 の基本的な要素処理である。 こ こでは、 画像ブロ ッ ク内の 全画素に対して 1 次元フィルタ処理を行う場合を考える。
フィルタ処理においては下式のような内積演算が必 要となる。
∑ c · X …… ( 6 )
ただし、 c はフィルタ係数を示し、
Xは画像プロ ッ ク内の画素を示す。 図 1 9 A〜図 1 9 Dに本発明の実施例の演算ュニッ トを用いて上式の演算を実現した場合の演算器の結合形態 (データパス) を示す。 図 1 9 A〜図 1 9 Dはそれぞれ、 4系統の演算ュニッ トの動作形態を示す。
図 1 9 A〜図 1 9 Dに示すように、 乗算器 6 2およ びシフ ト機能付き累算器 6 4 をパイプライ ン接続するデー タパスを構成するこ とにより、 上式の内積演算を分割する ことなく 1 本の演算パイプライ ンで実現できる。 このフィ. ルタ処理において、 本発明の実施例における演算ュニッ ト の構成では、 図 1 9 A〜図 1 9 Dに示すように 2段の演算 パイプライ ンを 4本実現できる。
このような演算パイブライ ン構成を採るこ とにより 、 画像プロ 、)、 ク内の全画素に対するフ ィ ルタ処理を 4並列 にパイプライ ン処理できる。 画像加算、 画像差分
面像加算および画像差分もまた、 画像コーデッ クに 限らず、 画像処理の基本的な要素処理である。
こ こでは、 画像ブロ ッ ク間で画像加算あるいは画像 差分を計算する場合を考える。
図 2 O A〜図 2 0 Dに本発明の一実施例における演 算ュニッ トを用いて、 画像加算あるいは画像差分を実現し た場合の演算器の結合形態 (データパス) を示す。 図 2 0 A〜図 2 0 Dはそれぞれ、 4系統の演算ユニッ トの動作形 態を示す。
本発明の実施例における演算ュニッ トの構成では、 図 2 O A〜図 2 0 Dに示すように E A L U 6 1 を用いた 1 段の演算パイプライ ンを 4本実現できる。 このような演算 パイプライ ン構成を採るこ とにより、 面像ブロ ッ ク内の全 画素に対する画像加算あるいは面像差分を 4並列にパイブ ライ ン処理できる。
以上の実施例は、 適応形ビデオ信号の代表的な処理 について述べたが、 本発明の適応形ビデオ信号演算処理装 置においては、 上述した信号処理例に限定されず、 上記同 様の他の信号処理にも適用できる。
本発明によれば、 面像コーデッ クの要素処理におけ る、 乗算した後に論理演算を行う演算、 乗算を連続して行 う演算、 あるいは、 乗算した結果同士を加算する種々の演 算を適応的に 1 つの適応形ビデオ信号演算処理装置で実現 できる。
また、 本発明の適応形ビデオ信号演算処理装置は、 Γ単一命令ス ト リ ーム · 多重データス ト リ ーム : s I D
J 制御方式に基づく、 1 本の演算パイプライ ンを用いた 1 回のパイプライ ン処理で実現できる。
したがって、 従来の構成と比較して、 本発明の適応 形ビデオ信号演算処理装置は異なる演算器を用いる演算を 並列に実行できるため、 演算器の使用効率は低下しない。
また、 本発明の適応形ビデオ信号演算処理装置は演 算パイプライ ンの立ち上げ時の初期設定も 1 回でよい。 さ らには、 本発明の適応形ビデオ信号演算処理装置は中間結 果を格納する必要はないので、 データメモ リ の容量は増大 しない。
また、 本発明の適応形ビデオ信号演算処理装置はバ タフライ演算器 3個と乗加算器をパイプライ ン · メモ リで 接続したマクロな演算パイプライ ン構成を実現可能として いるため、 前述の特願平 4年 3 3 8 , 1 8 3号出願 (平成 4年 1 1月 2 5 日出願) にて提案したような回路構成によ る、 D C T高速演算アルゴリ ズムにおけるバタフライ演算 と乗加算の演算パイプライ ンの構成が実現可能となる。 こ れにより、 本発明の適応形ビデオ信号演算処理装置は、 画 像コーデ、タ クの D C T/ I D C Tの要素処理における演算 器使用効率が従来の構成と比較して大幅に向上し、 性能が 向上する。 産業上の利用可能性
本発明の適応形ビデオ信号演算処理装置は、 例えば 、 数値計算、 画像処理、 グラフィ ッ クス処理等に用いられ る計算機システムにおける中央処理装置 (プロセッサ) に 関するものであり、 特に画像圧縮符号化 (C O D E C) の ようなビデオ信号処理に好適なディ ジタルシグナルプロセ ヅサとして用いられる。

Claims

請 求 の 範 囲
1 . 離散コサイ ン変換 離散コサイ ン逆変換、 量子 化 Z逆量子化、 動きべク トル検出、 動き補償、 内積演算、 面像データ加算および画像データ差分処理などの面像圧縮 符号化ノ伸長復号化処理を、 m x nの大きさのブロ ッ クの 画像データについて適応的に行う演算処理装置であつて、 それぞれが、 加算、 減算、 各種論理演算、 大小 比較、 差分絶対値演算、 バタフライ加算 · 減算処理を行う 拡張算術論理演算ュニッ ト、 該拡張算術論理演算ュニッ ト の後段に設けられた第 1 の内部パイプライ ンメ モ リ 、 該第 1 の内部バイプライ ンメ モ リ の後段に設けられた乗算ュニ ッ ト、 該乗算ュニッ トに係数を提供する係数メ モ リ 、 該乗 算ュニ ヅ トに後段に設けられた第 2の内部パイプライ ンメ モ リ 、 該第 2の内部パイプライ ンメ モ リ の後段に設けられ た累積演算ュニッ ト、 該累積演算ュニツ トに後段に設けら れた第 3の内部パイプライ ンメ モ リ を有する、 複数の並列 に設けられた演算ュニッ ト、
これら複数の並列に設けられた演算ュニ ッ トの うち、 隣接する演算ュニッ トを接続するように配設された 相互接続パイプライ ンメ モ リ 、 および、
前記複数の演算ュニッ トに入力データを選択的 に印加するデータセレクタ
を具備し、 前記相互接続パイブライ ンメモ リ を介して隣接 する演算ュニッ トを結合し、 かつ、 前記演算ュニツ ト内の 内部パイプライ ンメモリ を選択して所定のデータ流れ経路 ¾:構成し、
前記離散コサイ ン変換などの所望のビデオ信号 処理を行う、 適応形ビデオ信号演算処理装置。
2 . 前記適応形ビデオ信号演算処理装置は、 単一の 命令ス ト リ ームで多重のデータス ト リ ーム処理を行う、 Γ 単一命令ス ト リ ーム · 多重データス ト リ ーム : S I M D J 制御方式で動作する、 請求項 1記載の適応形ビデオ信号演 算処理装置。
3 . 前記演算ュニツ ト内において、 前記拡張算術論 理演算ュニッ ト、 前記乗算ュニッ ト、 前記累積演算ュニッ トが、 パイプライ ン処理動作を行う、 請求項 1 または 2記 載の適応形ビデオ信号演算処理装置。
4 . 前記拡張算術論理演算ュニッ トは、
第 1 の入力データの極性を反転する正負反転器 該正負反転器の後段に設けられ、 前記第 1 の入 力データまたは前記極性反転された第 1 のデータを選択的 に出力する第 1 のデータセレクタ、 該第 1 のデータセレクタの選択出力データおよ び第 2の入力データとを加算する加算器、
前記第 1 の入力データから前記第 2 の入力デー タを減じる減算器、
前記第 1 の入力データ と前記第 2のデータとの 、 論理和、 論理積、 排他的論理和、 否定などの論理処理を 行う論理演算器、
前記加算器および前記減算器の出力を入力して 正負判定を行う正負判定器、
前記加算器、 前記減算器、 および、 前記正負判 定器の出力を入力し、 選択的に出力する第 2のデータセレ クタ、
該第 2のデータセレクタに接続された第 1 の出 力端子、 および、
前記減算器に接続された第 2 の出力端子 を具備し、
上述した回路を適宜組み合わせて、 加算、 減算 、 各種論理演算、 大小比較、 差分絶対値演算、 バタフライ 加算 · 減算処理のいずれかを行う
請求項 S記載の適応形ビデオ信号演算処理装置
5 . 前記複数の演算ュニッ トの初段の演算ュニツ ト に離散コサイ ン変換処理用データを入力する端子が設けら れ、
前記複数の演算ュニッ トの最終段の演算ュニッ トに離散コサイ ン逆変換処理用データを出力する端子が設 けられた、
請求項 4記載の適応形ビデオ信号演算処理装置
6 . m x ii画像データをブロ ッ ク として、 ノ タフラ ィ演算およびパイプライ ンメモ リ処理を複数回数行って離 散コサイン変換処理を行う際、
( a ) 前記離散コサイン変換処理用データを前 記最終段の演算ュニツ トを除く複数の演算ュニッ ト内の拡 張算術論理演算ュニッ トに入力し、 該拡張算術論理演算ュ ニッ トにおける処理結果を隣接する前記相互接続パイプラ イ ンメモ リ に出力し、
( ) 全ての演算ュニッ ト内の乗算ュニッ トに 最終段の相互接続パイプライ ンメモ リ のデータを入力し、 その乗算結果を前記累積ュニッ トにおいて累積させる
ように経路を確立する、 請求項 5記載の適応形 ビデオ信号演算処理装置。
7 . m x n画像データをブロ ッ ク として、 パイプラ インメモリ処理およびバタフライ演算を複数回数行って離 散コサイ ン逆変換処理を行う際、 ( a ) 前記離散コサイ ン逆変換用データを全て の演算ュニッ ト内の乗算ュニッ トに入力し、 その乗算結果 を前記累算ュニッ トにおいて累積させ、
( b ) その出力を前記初段の演算ュニッ トを除 く複数の演算ュニッ ト内の拡張算術論理演算ュニッ トに入 力し、 該拡張算術論理演算ュニッ トにおける処理結果を隣 接する相互接続パイプライ ンメモリ に出力する
ように経路を確立する、 請求項 5記載の適応型 ビデオ信号演算処理装置。
8 . 量子化処理を行う際、
( a ) 隣接する演算ュニッ ト内の第 1 の演算ュ ニッ トの乗算ュニッ トの出力端子を第 2の演算ュニッ トの 乗算ュニッ トの入力端子に接続し、
( ) 該第 2の乗算ュニッ トの乗算結果をその 後段の累積ュニッ トに入力し、
( c ) 前記第 1 の乗算ュニッ 卜に量子化対象の データを入力する
ように経路を確立する、 請求項 1 〜 4 いずれか 記載の適応形ビデオ信号演算処理装置。
9 . 逆量子化処理を行う際、
( a ) 隣接する演算ュニヅ ト内の第 1 の演算ュ ニッ トの乗算ュニッ トの出力端子を第 2の演算ュニッ トの 乗算ュニッ トの入力端子に接続し、
( ) 該第 2の乗算ュニッ トの乗算結果をその 後段の累積ユニッ トに入力し、
( c ) 第 1 の演算ュニッ トに逆量子化対象のデ 一夕および定数を入力し、 その演算結果を第 1 の乗算ュニ ッ 卜に入力する
ように経路を確立する、 請求項 1〜 4いずれか 記載の適応形ビデオ信号演算処理装置。
1 0. 動きべク トル検出処理の際、
( a ) 全ての演算ュニツ ト内の拡張算術論理演 算ュニッ トを累積演算ュニッ トに接続し、
(b) 前記拡張算術論理演算ュニッ トに動きべ ク トル検出対象の 2つのデータを入力する
ように経路を確立する、 請求項 1〜 4いずれか 記載の適応形ビデオ信号演算処理装置。
1 1. 動き補償における仮想面素生成処理の際、
( a ) 全ての演算ュニッ ト内の拡張算術論理演 算ュニッ トを累積演算ュニッ トに接続し、
( b ) 前記拡張算術論理演算ュニッ トに動き補 償における仮想画素生成対象の 2つのデータを入力する ように経路を確立する、 請求項 1〜 4いずれか 記載の適応形ビデオ信号演算処理装置。
1 2 . 動き補償における予測面素生成処理の際、
( a ) 隣接する演算ュニッ トの一方の乗算ュニ ッ トの出力を他方の拡張算術論理演算ュニッ トの一方の入 力端子に印加し、
( ) 他方の乗算ュニッ トの出力を該他方の拡 張算術論理演算ュニッ トの他方の入力端子に印加し、
( c ) 該他方の拡張算術論理演算ュニッ トの演 算結果を他方の累積ュニッ トにおいて累積させる
ように経路を確立する、 請求項 1 〜 4 いずれか 記載の適応形ビデオ信号演算処理装置。
1 3 . 内積演算処理の際、
( a ) 全ての演算ュニッ ト内の乗算ュニッ トに 内積対象のデータを入力し、
( ) 該乗算結果を対応する累積ュニッ トにお いて累積する
ように経路を確立する、 請求項 1 〜 4 いずれか 記載の適応形ビデオ信号演算処理装置。
1 4 . 画像データ加算処理の際、 または、 画像データ 減算処理の際、 全ての演算ュニッ ト内の拡張算術論理演算 ュニッ トに処理対象のデータを入力し、 該処理結果を出力 するように経路を確立する、 請求項 1 〜 4 いずれか記載の 適応形ビデオ信号演算処理装置,
PCT/JP1994/000525 1993-03-31 1994-03-30 Apparatus for adaptively processing video signals WO1994023384A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP94910573A EP0644492B1 (en) 1993-03-31 1994-03-30 Apparatus for adaptively processing video signals
US08/343,537 US5594679A (en) 1993-03-31 1994-03-30 Adaptive video signal processing apparatus
AU62921/94A AU668298B2 (en) 1993-03-31 1994-03-30 Apparatus for adaptively processing video signals
AT94910573T ATE228255T1 (de) 1993-03-31 1994-03-30 Gerät zur adaptiven vidio-signalverarbeitung.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5/74768 1993-03-31
JP07476893A JP3546437B2 (ja) 1993-03-31 1993-03-31 適応形ビデオ信号演算処理装置

Publications (1)

Publication Number Publication Date
WO1994023384A1 true WO1994023384A1 (en) 1994-10-13

Family

ID=13556799

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1994/000525 WO1994023384A1 (en) 1993-03-31 1994-03-30 Apparatus for adaptively processing video signals

Country Status (7)

Country Link
US (1) US5594679A (ja)
EP (1) EP0644492B1 (ja)
JP (1) JP3546437B2 (ja)
CN (1) CN1149496C (ja)
AT (1) ATE228255T1 (ja)
AU (1) AU668298B2 (ja)
WO (1) WO1994023384A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000031658A1 (fr) * 1998-11-26 2000-06-02 Matsushita Electric Industrial Co., Ltd. Processeur et dispositif de traitement d'image
CN100405361C (zh) * 2002-11-06 2008-07-23 诺基亚有限公司 用于执行计算操作的方法、系统以及设备

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0714212A3 (en) * 1994-11-21 1999-03-31 SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH Video decoder using concurrent processing and resource sharing
JP2657903B2 (ja) * 1994-11-29 1997-09-30 乾彌 呉 パイプライン式及び心収縮式の単命令多重データストリームのアレイプロセッサ及びその方法
KR100225690B1 (ko) * 1995-04-18 1999-10-15 모리시다 요이치 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법
JPH096614A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd データ処理装置
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US5984515A (en) * 1995-12-15 1999-11-16 Intel Corporation Computer implemented method for providing a two dimensional rotation of packed data
WO1997024681A1 (en) * 1995-12-19 1997-07-10 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
US5825680A (en) * 1996-06-21 1998-10-20 Digital Equipment Corporation Method and apparatus for performing fast division
JP3092526B2 (ja) * 1996-09-20 2000-09-25 日本電気株式会社 2次元逆離散コサイン変換回路
JPH10254839A (ja) * 1997-03-11 1998-09-25 Sony Corp Simd制御並列プロセッサおよび演算方法
KR100435257B1 (ko) * 1997-08-07 2004-07-16 삼성전자주식회사 영상신호 처리 시스템에서의 이미지 포맷 변환장치 및 방법
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
CN1296852C (zh) * 1997-11-17 2007-01-24 索尼电子有限公司 用于采用离散变换进行数字视频数据去压缩的方法和系统
US6215909B1 (en) 1997-11-17 2001-04-10 Sony Electronics, Inc. Method and system for improved digital video data processing using 4-point discrete cosine transforms
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
US6367003B1 (en) 1998-03-04 2002-04-02 Micron Technology, Inc. Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
EP3073388A1 (en) * 1998-03-18 2016-09-28 Koninklijke Philips N.V. Data processing device and method of computing the cosine transform of a matrix
US6377970B1 (en) 1998-03-31 2002-04-23 Intel Corporation Method and apparatus for computing a sum of packed data elements using SIMD multiply circuitry
US6292814B1 (en) * 1998-06-26 2001-09-18 Hitachi America, Ltd. Methods and apparatus for implementing a sign function
US6571268B1 (en) * 1998-10-06 2003-05-27 Texas Instruments Incorporated Multiplier accumulator circuits
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
US6690728B1 (en) 1999-12-28 2004-02-10 Sony Corporation Methods and apparatus for motion estimation in compressed domain
US6850566B2 (en) 2000-02-22 2005-02-01 Intervideo, Inc. Implementation of quantization for SIMD architecture
JP2001309386A (ja) * 2000-04-19 2001-11-02 Mitsubishi Electric Corp 画像処理装置
JP4686048B2 (ja) * 2000-04-21 2011-05-18 パナソニック株式会社 画素演算装置
US6834337B1 (en) 2000-09-29 2004-12-21 International Business Machines Corporation System and method for enabling multiple signed independent data elements per register
US7039906B1 (en) 2000-09-29 2006-05-02 International Business Machines Corporation Compiler for enabling multiple signed independent data elements per register
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7127482B2 (en) * 2001-11-19 2006-10-24 Intel Corporation Performance optimized approach for efficient downsampling operations
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP4136432B2 (ja) * 2002-04-15 2008-08-20 松下電器産業株式会社 図形描画装置
FI118654B (fi) 2002-11-06 2008-01-31 Nokia Corp Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite
EP1443645B1 (en) * 2002-11-18 2010-01-06 STMicroelectronics Pvt. Ltd. Linearly scalable finite impulse response (FIR) filter
WO2005025230A1 (ja) * 2003-08-28 2005-03-17 Hitachi Ulsi Systems Co., Ltd. 画像処理装置
JP4663223B2 (ja) * 2003-09-11 2011-04-06 パナソニック株式会社 演算処理装置
TWI240560B (en) * 2003-12-03 2005-09-21 Via Tech Inc Control device, system and method for reading multi-pixel
KR101160640B1 (ko) * 2003-12-30 2012-06-28 삼성전자주식회사 데이터 처리 시스템 및 데이터 처리 방법
US7558972B2 (en) 2005-01-25 2009-07-07 Panasonic Corporation Data processing apparatus
KR100782815B1 (ko) * 2005-08-09 2007-12-06 삼성전자주식회사 인텐서티 보상을 위한 영상 디코딩 방법 및 장치
US7760951B2 (en) * 2006-02-14 2010-07-20 Broadcom Corporation Method and system for pipelined processing in an integrated embedded image and video accelerator
CN101207818B (zh) * 2006-12-20 2010-08-11 普诚科技股份有限公司 数据转换装置
US8589469B2 (en) * 2007-01-10 2013-11-19 Analog Devices Technology Bandwidth efficient instruction-driven multiplication engine
CN101114020B (zh) * 2007-09-12 2011-04-13 电子科技大学 雷达信号处理中动态加载的asic实现方法
US8181003B2 (en) * 2008-05-29 2012-05-15 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cores and the like
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
CN101989254B (zh) * 2009-08-05 2012-03-14 鸿富锦精密工业(深圳)有限公司 离散余弦转换及其逆转换电路
JP5530198B2 (ja) * 2009-11-20 2014-06-25 パナソニック株式会社 画像符号化方法、復号化方法、装置
GB2511668A (en) * 2012-04-12 2014-09-10 Supercell Oy System and method for controlling technical processes
CN103067718B (zh) * 2013-01-30 2015-10-14 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN105468335B (zh) * 2015-11-24 2017-04-12 中国科学院计算技术研究所 流水级运算装置、数据处理方法及片上网络芯片
US10565036B1 (en) 2019-02-14 2020-02-18 Axis Semiconductor, Inc. Method of synchronizing host and coprocessor operations via FIFO communication

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6491272A (en) * 1987-10-01 1989-04-10 Nec Corp Arithmetic circuit
JPH02210538A (ja) * 1988-10-05 1990-08-21 United Technol Corp <Utc> 集積回路と演算処理システム
JPH0410055A (ja) * 1990-04-27 1992-01-14 Pioneer Electron Corp ディジタル信号プロセッサ
JPH0484317A (ja) * 1990-07-27 1992-03-17 Nec Corp 算術論理演算ユニット
JPH04252372A (ja) * 1991-01-28 1992-09-08 Nippon Telegr & Teleph Corp <Ntt> 可変パイプライン構造

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0478745A4 (en) * 1990-04-04 1993-09-01 International Business Machines Corporation High performance interlock collapsing scism alu apparatus
GB2243469B (en) * 1990-04-27 1993-10-20 Pioneer Electronic Corp Digital signal processor
US5179531A (en) * 1990-04-27 1993-01-12 Pioneer Electronic Corporation Accelerated digital signal processor
JP2959104B2 (ja) * 1990-10-31 1999-10-06 日本電気株式会社 信号処理プロセッサ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6491272A (en) * 1987-10-01 1989-04-10 Nec Corp Arithmetic circuit
JPH02210538A (ja) * 1988-10-05 1990-08-21 United Technol Corp <Utc> 集積回路と演算処理システム
JPH0410055A (ja) * 1990-04-27 1992-01-14 Pioneer Electron Corp ディジタル信号プロセッサ
JPH0484317A (ja) * 1990-07-27 1992-03-17 Nec Corp 算術論理演算ユニット
JPH04252372A (ja) * 1991-01-28 1992-09-08 Nippon Telegr & Teleph Corp <Ntt> 可変パイプライン構造

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000031658A1 (fr) * 1998-11-26 2000-06-02 Matsushita Electric Industrial Co., Ltd. Processeur et dispositif de traitement d'image
US6671708B1 (en) 1998-11-26 2003-12-30 Matsushita Electric Industrial Co., Ltd. Processor and image processing device
CN100405361C (zh) * 2002-11-06 2008-07-23 诺基亚有限公司 用于执行计算操作的方法、系统以及设备

Also Published As

Publication number Publication date
EP0644492B1 (en) 2002-11-20
EP0644492A4 (en) 1997-07-02
US5594679A (en) 1997-01-14
JP3546437B2 (ja) 2004-07-28
AU668298B2 (en) 1996-04-26
AU6292194A (en) 1994-10-24
CN1108865A (zh) 1995-09-20
CN1149496C (zh) 2004-05-12
ATE228255T1 (de) 2002-12-15
EP0644492A1 (en) 1995-03-22
JPH06292178A (ja) 1994-10-18

Similar Documents

Publication Publication Date Title
WO1994023384A1 (en) Apparatus for adaptively processing video signals
CN100474235C (zh) 用于单指令/多数据指令的乘法积累单元
KR100715770B1 (ko) 연산을 수행하는 방법 및 시스템 및 장치
KR100714358B1 (ko) 연산을 수행하기 위한 방법, 시스템 및 장치
CN110705703B (zh) 基于脉动阵列的稀疏神经网络处理器
US5452466A (en) Method and apparatus for preforming DCT and IDCT transforms on data signals with a preprocessor, a post-processor, and a controllable shuffle-exchange unit connected between the pre-processor and post-processor
CN100531393C (zh) 以管线架构应用于离散余弦变换与反离散余弦变换的方法
JPH04128982A (ja) プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
JP3401823B2 (ja) 画像コーデック用プロセッサ
CN110766136B (zh) 一种稀疏矩阵与向量的压缩方法
CN115713104A (zh) 用于神经网络的数据处理电路、神经网络电路和处理器
Chiper et al. An efficient unified framework for implementation of a prime-length DCT/IDCT with high throughput
JPH06149861A (ja) Dct及び逆dct演算装置並びにその演算方法
Kwan et al. Implementation of DSP-RAM: an architecture for parallel digital signal processing in memory
Demassieux et al. Orthogonal transforms
KR100434391B1 (ko) 디에스피 프로세서 및 마이크로프로세서의 실시간영상데이터 처리를 위한 연산회로 및 그 연산방법
CN1422402A (zh) 在通用处理器中有效多输入累加的最优化乘法器结构
Chen An area/time-efficient motion estimation micro core
Ong et al. A cost-effective morphological filter architecture
Fehér et al. Cost effective 2x2 inner product processors
JPH0298777A (ja) 並列積和演算回路及びベクトル行列積演算方法
KR100350943B1 (ko) 분포연산방식을 이용한 고속 dct 연산회로
Le et al. A new flexible architecture for variable length DCT targeting shape-adaptive transform
Kim et al. Motion estimation algorithms on fine grain array processors
Devarinti et al. Bit Serial Architecture for Variable Block Size Motion Estimation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CN US

AL Designated countries for regional patents

Kind code of ref document: A1

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

WWE Wipo information: entry into national phase

Ref document number: 1994910573

Country of ref document: EP

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

Ref document number: 08343537

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1994910573

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1994910573

Country of ref document: EP