WO2001082227A1 - Pixel calculating device - Google Patents

Pixel calculating device Download PDF

Info

Publication number
WO2001082227A1
WO2001082227A1 PCT/IB2001/000665 IB0100665W WO0182227A1 WO 2001082227 A1 WO2001082227 A1 WO 2001082227A1 IB 0100665 W IB0100665 W IB 0100665W WO 0182227 A1 WO0182227 A1 WO 0182227A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
processing
data
pixel data
unit
Prior art date
Application number
PCT/IB2001/000665
Other languages
English (en)
French (fr)
Inventor
Hiroyuki Oka
Hideshi Nishida
Kosuke Yoshioka
Tokuzo Kiyohara
Makoto Hirai
Kozo Kimura
Ryuji Matsuura
Hiroyuki Morishita
Toshiaki Tsuji
Original Assignee
Matsushita Electric Industrial Co., 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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to EP01938474A priority Critical patent/EP1278157A1/en
Priority to US10/019,419 priority patent/US6809777B2/en
Publication of WO2001082227A1 publication Critical patent/WO2001082227A1/ja

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Definitions

  • the present invention relates to a pixel operation device including a filtering circuit for resizing an image.
  • the FIR finite e i m p u l s e r e s p s n s e
  • FIG. 1 is a block diagram showing an example of a circuit for performing FIR filter processing according to the related art. The figure shows an FIR filter with seven taps and symmetric coefficients.
  • data input in time series from a data input terminal 1001 is a delay unit 1002, 1003, 1004, 1005, 1100. 6, 1 0 7 are sequentially transferred in this order.
  • the filter coefficients are symmetric, that is, the coefficient corresponding to the input of the data input terminal and the output of each delay device (called a tap) is the center tap (delay device 1004). Output), the data of each tap is added to the data of the same coefficient instead of multiplying the data of each evening by the filter coefficient. Multiplied by a coefficient.
  • the input data of the data input unit 1001 and the output data of the delay unit 107 are added by the adder 1008, and the addition result is further added by the multiplier 1008.
  • the coefficients hO and are multiplied are multiplied.
  • the output of the delay unit 1002 and the output of the delay unit 1106 are added by the adder 1109, and the result of addition is multiplied by the coefficient hi in the multiplier 1109. Sa It is.
  • Each output data of the multipliers 101 1 to 110 4 is added by the adder 101.
  • the output data of the adder 101 is time-sequentially output from the data output terminal 116 as a filter processing result.
  • the coefficients h0 to h3 are determined according to the image reduction ratio. For example, if the reduction ratio is 1/2, a reduced image can be obtained by inserting the time-series output data into the space 1Z2.
  • the reason why the filter coefficient is selected symmetrically is that the linear phase (the phase characteristic becomes linear with respect to the frequency) is obtained, so that it is visually preferable to the image. is there.
  • the circuit is different for each number of taps, so there is no freedom. If a circuit is provided for each number of taps, an enormous cost is required.
  • a first object of the present invention is to provide a pixel operation device capable of changing the number of taps and performing a filtering process for increasing the processing speed without increasing the frequency. It is in.
  • a second object of the present invention is to provide a pixel operation device which can be used not only for filtering processing but also for MC (motion compensation) processing, and has a reduced circuit scale. It is here.
  • the third purpose is that it can be used not only for filtering processing but also for ME (motion prediction) processing, thus reducing the circuit size.
  • ME motion prediction
  • the fourth purpose is to use not only filtering processing but also OSD (OnScreenDisplay) processing in digital video equipment.
  • Another object of the present invention is to provide a pixel operation device with a reduced circuit size. Disclosure of the invention
  • the pixel operation device that achieves the first purpose is a pixel operation device that performs filter processing, and includes N pixel processing means, N pixel data, and filter coefficients. And a control means for operating the N pixel processing means in parallel.
  • Each pixel processing means performs an operation using the pixel data supplied to the supply means and the filter coefficient, and then obtains pixel data from the pixel processing means adjacent to each pixel processing means, Calculation is performed using the acquired pixel data and the calculation results are accumulated.
  • the control means repeats the acquisition of the pixel data from the adjacent pixel processing means, and the calculation and accumulation using the acquired pixel data a number of times corresponding to the number of taps. Is controlled.
  • the N pixel processing means includes a first shifter that shifts the N pixel data to the right and a second shifter that shifts the N pixel data to the left.
  • Each pixel processing means performs an operation using two pixel data shifted from two adjacent pixel processing means.
  • the number of taps can be made variable, and filtering can be performed to increase the processing speed without increasing the frequency. You.
  • the pixel operation device that achieves the second purpose supplies the pixel data of the difference image and the pixel data of the reference frame as the pixel data. Supplied by means.
  • FIG. 1 is a block diagram showing an example of a circuit for performing FIR filter processing in the prior art.
  • FIG. 2 is a block diagram showing a configuration of a media processor including a pixel operation unit.
  • FIG. 3 is a block diagram showing the configuration of the pixel operation units (POU A, POU B).
  • FIG. 4 is a block diagram showing the configuration of the left half of the pixel parallel processing unit.
  • FIG. 5 is a block diagram showing the configuration of the right half of the pixel parallel processing unit.
  • FIG. 6A is a block diagram showing a detailed configuration of the input buffer group 22.
  • FIG. 6B is a block diagram showing a detailed configuration of the selection unit in the input buffer group 22. As shown in FIG.
  • FIG. 7 is a block diagram showing the configuration of the output buffer group 23.
  • FIG. 8 is a diagram illustrating initial input values of pixel data when performing a filter process in the pixel operation unit.
  • FIG. 9 is an explanatory diagram showing an initial input value of pixel data to the pixel processing unit 1.
  • FIG. 10 is a diagram showing a calculation process in the filter processing in the pixel processing unit 1.
  • FIG. 11 is an explanatory diagram showing the computation contents of the filter processing in the pixel processing unit 1.
  • FIG. 12 is a diagram showing input / output pixel data when an MC (motion compensation) process (P-picture) is performed in the pixel operation unit.
  • MC motion compensation
  • FIG. 13 is an explanatory diagram showing a decoding target frame and a reference frame in the MC processing.
  • FIG. 14 is a diagram showing input / output pixel data when the MC processing (B-picture) is performed by the pixel operation unit.
  • FIG. 15 is a diagram showing input / output pixel data when OSD (on-screen display) processing is performed by the pixel operation unit.
  • FIG. 16 is an explanatory diagram of the OSD (On Screen Display) processing in the pixel operation unit.
  • FIG. 17 is a diagram showing input / output pixel data when ME (motion prediction) processing is performed by the pixel operation unit.
  • FIG. 18 is an explanatory diagram of ME (motion estimation) in the pixel operation unit.
  • FIG. 19 is a schematic block diagram showing a data flow when performing vertical filtering in a media processor.
  • FIG. 20 is an explanatory diagram in the case of performing vertical 12 reduction.
  • Fig. 21 is an explanatory diagram of the case where vertical 1/2 reduction is performed in the conventional technology.
  • FIG. 22 is an explanatory diagram in the case of performing vertical one-to-four reduction.
  • Fig. 23 is an explanatory diagram of the case of performing vertical 1/4 reduction in the conventional technology.
  • FIG. 24 is another schematic block diagram showing the flow of data when performing vertical filtering in a media processor.
  • FIG. 25 is an explanatory diagram showing the timing of the decoding process and the vertical filtering process.
  • FIG. 26 is an explanatory diagram in the case of performing the vertical 1-2 reduction.
  • FIG. 27 is an explanatory diagram in the case of performing vertical 1/4 reduction.
  • FIG. 28 is a diagram illustrating a first modification of the left half of the pixel parallel processing unit.
  • FIG. 29 is a diagram illustrating a first modification of the right half of the pixel parallel processing unit.
  • FIG. 30 is a diagram illustrating a second modification of the left half of the pixel parallel processing unit.
  • FIG. 31 is a diagram illustrating a second modification of the right half of the pixel parallel processing unit.
  • FIG. 32 is a diagram illustrating a third modification of the left half of the pixel parallel processing unit.
  • FIG. 33 is a diagram illustrating a third modification of the right half of the pixel parallel processing unit.
  • FIG. 34 is a diagram illustrating a modified example of the pixel processing unit. BEST MODE FOR CARRYING OUT THE INVENTION
  • the pixel operation unit of the present invention mainly includes (a) a filter processing used for enlarging and reducing an image, (b) a moving compensation (hereinafter referred to as ME) processing, c) 0 SD (On Screen Display) processing, (d) Motion Estimation (hereinafter referred to as ME) processing, etc. are selectively executed.
  • the filter processing the pixel operation unit is designed to be able to change the number of taps without fixing the number of taps, and to use a plurality of pixels continuous in the horizontal or vertical direction (for example, 6 pixels) are processed in parallel. Further, the vertical filter processing is performed in synchronization with the decompression processing of the compressed moving image data.
  • the pixel calculation unit in the present embodiment is built in a media processor that performs media processing (decompression processing of compressed audio / video data, compression processing of audio / video data, etc.). This is explained below.
  • the media processor is mounted on, for example, a set-top box for receiving digital TV broadcasts, a television receiver, a DVD recording / playback device, and the like.
  • FIG. 2 is a block diagram showing a configuration of a media processor having a pixel operation unit.
  • the media processor 200 is a dual port memory 100, a stream unit 201, an input / output buffer (hereinafter referred to as I, z ⁇ abbreviated as “knob”) 202, setup processor 203, bitstream FIF 204, variable-length code decoder (VLD) 20 5, variable-length code decoder 205, transfer engine (TE) 206, Pixel operation unit A (hereinafter P ⁇ UA) 207, Pixel operation unit B (hereinafter P ⁇ UB) 208, POUC209, Audio unit 210, I ⁇ P 211, I / O processor (hereinafter referred to as IOP) 211, Video knob memory 211, Video unit: 212, Host unit 214 , RE 215 and a filter section 216.
  • I input / output buffer
  • VLD variable-length code decoder
  • TE transfer engine
  • P ⁇ UA Pixel operation unit A
  • Dual port memory 100 is an input / output port for external memory 220 (hereinafter referred to as an external port) and an input / output port for media ⁇ processor 200. (Hereinafter referred to as an internal port) and a cache memory, and the data is stored in an external memory 220 out of the components in the media processor 200.
  • An access request from a component that reads and writes data (hereinafter referred to as a master device) is received from an internal port, and an external memory 220 is received in accordance with the received access request. Access the At that time, the dual port memory 100 caches a part of the data of the external memory 220 to the internal cache memory.
  • the external memory 220 is a memory such as an SDRAM or a DRAM, and includes compressed video data, compressed audio data, decoded audio data, decoded video data, and the like. Is temporarily stored.
  • the stream unit 201 inputs stream data (so-called MPEG stream) from outside, and inputs the input stream data. Is divided into a video elementary stream and an audio elementary stream, and each is written to the IO buffer 202.
  • stream data so-called MPEG stream
  • I / 0 Notifier 202 is for video elementary stream, audio elementary stream, audio data This is a buffer memory that temporarily stores data (extended audio data). Video elementary streams, audio elements The main stream is stored in the stream unit 201 to the I.Z0 notifier 202, and the control of the I0P211 is performed. Thus, the data is stored in the external memory 220 via the dual port memory 100. The audio data is stored in the I / O buffer 202 from the external memory 220 via the dual port memory 100 under the control of the IOP 211. Is done.
  • the setup processor 203 is used to decode (decompress) the audio elementary stream and to decode the video elementary stream. Performs macroblock header analysis.
  • the audio elementary stream and the video elementary stream are controlled by the IOP 211 to control the external memory 220 or the external memory. Are transferred to the bitstream FIF024 through the dual port memory 100.
  • the setup processor 203 reads the audio elementary stream from the bitstream FIFO 204 and decodes it. Then, the audio data after decoding is stored in the setup memory 217.
  • the audio data in the setup memory 211 is transferred to the external memory 220 via the dual port memory 100 by the IOP 211. You.
  • the setup processor 203 also reads the video elementary stream from the bitstream FIFO 204, and Analyzes the block header and notifies VLD 205 of the analysis result.
  • the bit stream FIFO 204 transfers the video elementary stream to the variable-length code decoding unit 205, and outputs the audio elementary stream. Is the FIFO memory for supplying the data to the setup processor 203.
  • the video elementary stream and the audio elementary stream are dual-ported from the external memory 220 under the control of the IOP 211. One memory 1 It is transferred to the bitstream FIFO 204 via 00.
  • VLD 205 decodes a variable length code included in the video elementary stream supplied from the bit stream FIF O 204.
  • the result of this decoding is a group of DCT coefficients in macroblock units.
  • the TE 206 performs IQ (inverse quantization) processing and IDCT (inverse DCT) processing in macroblock units on the decoding result of VLD 205.
  • the result of these processes is a macro block.
  • One macro block is composed of four luminance blocks (Y1 to Y4) and two chrominance blocks (Cb, Cr).
  • One block is 8 x 8 pixels.
  • the TE 206 stores the decrypted result in the external memory 220 via the dual port memory 100.
  • the POU 207 selectively performs mainly (a) filter processing, (b) MC processing, (c) OSD processing, and (d) motion estimation (Moving Estimation) processing.
  • the POUA 207 filters 16 pixel data included in the video data (frame data) stored in the external memory 220 in parallel. Filter and expand or contract by thinning out or interpolating the 16 pixels after filtering. The data after the contracted word is stored in the external memory 220 via the dual port memory 100 under the control of the POU 209. '
  • the POUA 207 obtains the IQ and IDCT processing results (P and B pictures) stored in the external memory 220 by the TE 206. That is, the pixel data in the reference frame is added in parallel with the pixel data in the reference frame. You. 16 sets of difference values and pixel data are based on the motion vector detected by the macroblock header analysis in the setup processor 203. Is input to POUA207 by POUC209.
  • the POUA 207 inputs an OSD image (still image) stored in the external memory 220 or the like via the dual port memory 100, and Overwrites the display frame data in memory 220.
  • the OSD image refers to a menu image displayed according to a user's remote control operation, a time display, a channel number display, and the like.
  • the ME processing of (d) is to search a macroblock to be coded in uncompressed frame data for a highly correlated rectangular area in the reference frame, and perform coding. This is the process of finding the motion vector pointing to the rectangular area with the highest correlation from the macroblock to be converted.
  • the POU 207 calculates 16 differences between the pixel of the macro block to be encoded and the pixel of the rectangular area in the search area in parallel.
  • the POU 208 has the same configuration as the POU 207, and dynamically shares the processes (a) to (d).
  • the POU 209 controls the supply of the pixel data group to the POU 207 and the POU 209, and the transfer of the processing result to the external memory 220.
  • the audio unit 210 outputs the audio data stored in the I / O buffer 202.
  • the IOP 211 controls data input / output (data transfer) in the media processor 200.
  • data transfer There are the following types of data transfer.
  • the audio data stored in the external memory device 2 is transferred to the I / O buffer 202 via the dual port memory 100. It is.
  • the video unit 211 reads out a few lines of pixel data from the video data (image frame) of the external memory 220 and outputs the video data to the video unit.
  • a storage device such as a television receiver, is connected to an external memory, which stores the image data in two or three lines into a video signal. Output to ⁇
  • the host unit (HOST) 214 receives an instruction from an external host microcomputer, and responds to the instruction to execute MPEG decoding, MPEG encoding, and OSD processing. Controls the start and end of reduction and enlargement processing.
  • the rendering engine (RE) 215 is a master device that performs rendering processing in computer graphics. Data input / output is performed when the dedicated LSI 218 is connected externally.
  • the filter 216 performs still image data scaling processing. Data input / output is performed when the dedicated LSI218 is connected externally.
  • the media processor has been described mainly focusing on the case where stream data is input from the stream unit 201 and decoded (decompressed), but it is not compressed.
  • the flow is reversed.
  • POU A207 or POU2208 performs ME processing
  • TE 206 performs DCT processing and Q (quantization) processing. 5 performs variable length coding.
  • FIG. 3 is a block diagram showing the configuration of the pixel operation unit. Since POU 207 and POU 208 have the same configuration, POU 207 will be described here.
  • POUUA207 is composed of a pixel parallel processing unit 21 and an input buffer group 22.
  • An output buffer group 23, an instruction memory 24, an instruction decoder 25, an instruction circuit 26, and a DDA circuit 27 are provided.
  • the pixel parallel processing unit 21 includes a pixel transfer unit 17, 16 pixel processing units 1 to 16, and a pixel transfer unit 18, and is input from an input buffer group 22.
  • the above-described (a) filter processing, (b) MC processing, (c) OSD processing, and (d) ME) processing are performed on a plurality of pixels, and output to the output buffer group 23.
  • Each of the processes (a) to (d) is completed by repeating a macroblock unit, that is, 16 pixels, 16 times (16 lines).
  • the activation of each process is controlled by POU 209.
  • the pixel transfer unit 17 holds a plurality of left (or upper) pixels (eight pixels in this case) in addition to the 16 pixels in the filter processing, and the right pixel for each clock. shift.
  • the pixel transfer unit 18 holds a plurality of right (or lower) pixels (eight pixels in this case) in addition to the 16 pixels in the filter processing, and performs a left shift for each clock. Out.
  • the input buffer group 22 holds a plurality of pixels to be processed transferred from the dual port memory 100 under the control of the POUC 209, and furthermore, In the filter processing, filter coefficients are also retained.
  • the output buffer group 23 arbitrarily changes the arrangement of the processing results (the processing results of 16 corresponding to 16 pixels) by the pixel parallel processing unit 21. Temporarily. In the filter processing, pixels are thinned out (at the time of reduction) or interpolated (at the time of enlargement) by changing and maintaining the arrangement of pixels.
  • the instruction memory 24 includes a microprogram for filter processing (filter P), a microprogram for MC processing (MCP;), and a ⁇ program for SD processing. It stores the micro program (OSD ⁇ P :) and the micro program (MEP) for ME processing.
  • the instruction memory 24 includes a microprogram for format conversion of a macroblock and a microcontroller for converting a numerical representation of a pixel.
  • the format of the macro block is “4: 2: 0”, “4: 2: 2”, or “4: 4: 4” as defined in the MPEG standard.
  • In the numerical representation of a pixel when the value of the pixel is represented as 0 to 255 (typical MPEG data, etc.), it is represented as 1128 to 127 (DV camera, etc.).
  • the instruction decoder 25 sequentially reads out and decodes the microcode in the microprogram from the instruction memory 24, and decodes the code according to the decoding result. Control each part in 7.
  • the instruction circuit 26 receives, from the POUC 209, an instruction (such as a start address) indicating which of the microphone ⁇ programs of the instruction memory 24 should be started, and issues the designated micro macro. Start the program.
  • an instruction such as a start address
  • the DDA circuit 27 includes a group of input buffers in the filter processing.
  • Figs. 4 and 5 are block diagrams showing the detailed configuration of the left half and the right half of the pixel parallel processing unit.
  • the pixel transfer section 17 has eight input ports A 17 0 1 to H1708, 8 delayers A1701 to 1 to hold pixel data and delay by one clock time to HI709, pixel data of input port and left delay 7 selection sections A1 171 to G1 723 to select one of the output signals from the input buffer, 8 delays of 8 pixels input in parallel from the input buffer group 22 It functions as a right shifter that shifts the pixels held by the eight delay units to the right in clock synchronization.
  • the pixel transfer unit 18 is different from the pixel transfer unit 17 in that the shift direction is on the left, and the other configuration is the same, so that the description is omitted.
  • the pixel processing unit 2 Since the sixteen pixel processing units 1 to 16 in FIGS. 4 and 5 have the same configuration, the pixel processing unit 2 will be described as a representative.
  • Pixel processing unit 2 has input ports A201 to C203, selectors A204, B205, delay units A206 to D209, adder A It consists of 120, a multiplier A211, an adder B212, and an output port D213.
  • the selection unit A204 selects one of the pixel data input from the input port A201 and the pixel data output from the pixel transfer unit 17 on the left.
  • the selection unit A 204 and the delay unit A 206 also have a function of shifting the pixel data input from the pixel processing unit 3 on the right to the pixel processing unit 1 on the left.
  • the selection unit B205 is one of the pixel data input from the input port B202 and the pixel data output from the external memory 220 adjacent to the right. Select .
  • the selection unit B205 and the delay unit B207 shift the pixel data input from the pixel processing unit 1 on the left to the pixel processing unit 3 on the right. Also performs the function of
  • the delay unit A206 and the delay unit B207 hold the pixel data selected in the selection unit A204 and the selection unit B205, respectively.
  • Delay device B207 holds the pixel data from input port C203
  • the adder A120 adds the pixel data output from the delay unit A206 and the delay unit B207.
  • Multiplier A 211 multiplies the addition result of adder A 120 by the pixel data from delay unit C 208. This multiplier A211 is used for the multiplication of the pixel data and the filter coefficient in the filter processing.
  • the adder B 221 adds the multiplication result of the multiplier A 211 to the data of the delay unit D 209.
  • the delay unit D109 accumulates the addition result of the adder B221.
  • the pixel processing unit 2 performs the above-described (a) filter processing, (b) MC processing, (c) OSD processing, and (d) ME processing by selectively operating these components. Execute. The operation of selectively combining these components is performed by the microprogram control by the instruction memory 24 and the instruction decoder 25.
  • FIG. 6 (a) is a block diagram showing a detailed configuration of the input buffer group 22. As shown in FIG.
  • the input buffer group 22 includes eight latches 221, which supply pixel data to the pixel transfer unit 17, and pixel data to the pixel processing units 1 to 16. It is composed of 16 latch sections 22 2 for supplying pixel data and 8 latches 22 3 for supplying pixel data to the pixel transfer section 18. In these, the pixel data group is transferred from the external memory 220 via the dual port memory 100 under the control of the POUC 209.
  • Each of the latch sections 222 has two latches for supplying pixel data to input ports A and B of the pixel processing section, and pixel data or a filter for input port C of the pixel processing section. It consists of a selection section 2 2 4 for supplying the coefficient.
  • FIG. 6B is a block diagram showing a detailed configuration of the selection unit 222. As shown in FIG.
  • the selection unit 224 includes eight latches 224a to 224h and a selector for selecting any one of the data from the eight latches. It consists of 2 2 4 i.
  • Latches 224a to 224h hold filter coefficients a0 to a7 (or a0 / 2, al to a7) in the filter processing. These filter coefficients are obtained by the POUC 209 from the external memory 220 through the dual port memory 100, and the latches 224a to 224. Transferred to h.
  • the selectors 224i are sequentially selected from the latches 224a to 224h in synchronization with the clock. In this way, the supply of the filter coefficient to the pixel processing unit is not directly controlled by the microcode, but rather by the DDA circuit 27. The speed is increased because it is controlled by
  • FIG. 7 is a block diagram showing the configuration of the output knob group 23.
  • the output buffer group 23 is composed of 16 selectors 24a to 24p and 16 latches 23a to 23p. Become. Each of the selectors 24a to 24p receives 16 processing results of the pixel processing units 1 to 16, and selects one of them. This selection control is performed by the instruction decoder 25.
  • Latches 23a to 23p hold the selection results of selectors 24a to 24p, respectively.
  • the processing results of the pixel processing units 1 to 16 for 16 pixels are selected and stored in latches 23a to 23h, and furthermore, one of the pixel processing units 1 to 16 for the next 16 pixels is selected.
  • eight selectors 24 i to 24 p select the processing results of pixel processing units 2, 4, 6, ... 16 and latch 23 Stored in i ⁇ 23 3 p. In this way, the pixels are thinned out, and 16 pixel data reduced by 1 to 2 is held in the output buffer group 23, and further controlled by the POUC 209. Transferred to the external memory 220 via the dual port memory 100.
  • POUC 209 specifies the macro block to be filtered, and 32 pixel data and filter coefficient a0 / 0 for POUA207 or POUB208. 2, and al to a7 are transferred to the input buffer group 22 as initial values, and the instruction circuit 26 is notified of the number of taps and instructs the start of filter processing. I do.
  • FIG. 8 is a diagram showing initial input values of pixel data in the case where file processing is performed by the pixel operation unit (POUA207).
  • the input port column means each of the input ports shown in FIGS.
  • the input pixel column means pixel data supplied from the input buffer group 22 to each input port.
  • the output port column indicates the output port D (adder B output) shown in Figs. 4 and 5, and the output pixel column indicates the output value.
  • the input buffer group 22 that supplies pixel data to the input port has 32 pixel data XI to X32 that are continuous in the horizontal direction as shown in Fig. 9, and the POUC 209 Transferred and retained.
  • the target of the filter processing here is 16 pixel data X9 to X24. As shown in Fig. 8, pixel data X9 to X24 are selected for input ports A and B of pixel processing units 1 to 16 and input buffer group 22 is selected for input port C.
  • the filter coefficient aO / 2 is supplied as the initial value.
  • the number of taps corresponding to the number of taps desired for the filter processing is determined. Filter processing is performed by mouth input.
  • FIG. 10 is an explanatory diagram showing the calculation process of the pixel processing unit 1 as a representative of the 16 pixel processing units.
  • the contents held by the delay units A to D in the pixel processing unit 1 and the output value of the adder B are described for each number of input clocks.
  • FIG. 11 shows the output value of output port D (output of adder B) for each clock input of pixel processing section 1.
  • the pixel processing unit 1 uses the first clock input (CLK1) as the initial input value, and the delay units A and B use the pixel data X9, and the delay unit D uses the filter coefficient aO / 2 as the initial input value. Hold and delay]) are cleared to zero.
  • the selection sections A and B have both selected the input port.
  • adder A outputs (X9 + X9), multiplier A outputs (X9 + X9) * a0 / 2
  • adder B outputs (X9 * a0 / 2 + 0 (that is, aO * X9). (See Figure 11).
  • the selectors A and B select the shift output from the adjacent pixel processor or pixel transfer unit instead of the input ports A and B. .
  • the adder B outputs aO * X9 + al (X10 + X8) (see Fig. 11).
  • the filter coefficient al (delay C)
  • the pixel processing unit 1 operates in the same way as the second clock input, so that the adder B sends aO * X9 + Output al (X 10 + x8) + a2 (X 11 + X7).
  • the adder B By operating in the same manner at the fourth to ninth clock inputs (CLK4 to CLK9), the adder B outputs the output values shown in Fig. 11 respectively.
  • Figures 10 and 11 show the process up to CLK9, but the number of input clocks is determined by the instruction decoder according to the number of taps notified from POUC209. It is aborted by the control of 25.
  • each pixel processing unit ends the filter processing with CLK2 when the number of taps is three, ends with CLK3 when the number of taps is five, and uses CLK4 when the number of taps is seven.
  • the filtering process ends.
  • the filter processing of the number of taps (2n-1) ends with n clock inputs.
  • the instruction decoder 25 repeats the parallel processing of 16 pixels for 16 lines, thereby completing the 4-block file processing.
  • the 16 filter processing results are reduced or enlarged by being subjected to the thinning processing or the interpolation processing in the output filter group 23.
  • the pixel group after the reduction or enlargement of the output buffer group 23 is controlled by the POUC 209 every time 16 pixels are retained, so that the output buffer group 23 is controlled via the dual port memory 100. Transferred to external memory 220.
  • the instruction decoder 25 ends at POUC 209 at the end of the 16th line. Notify that The P0UC209 instructs the POUA207 to supply the initial input value and the filter coefficient and to start the filter processing for the next macro block in the same manner as described above.
  • the pixel parallel processing unit 21 performs the filter processing on the 16 input pixels in parallel, and also controls the number of taps by controlling the number of input clocks. Can be optional.
  • the input pixels of the input ports A, B, and C of the pixel processing unit 1 are (X9, X9, aO / 2), but (X9, 0, aO) or (0. X9, aO).
  • the P 0 UC 209 instructs the instruction circuit 26 to start the MC processing, as well as the macro block (difference value) in the frame being decoded, which is the target of the MC processing. Identify the rectangular area pointed to by the motion vector in the reference frame, and specify POUA207 or POUB207.
  • the pixel data P1 to P16 are set in the input buffer group 22.
  • Figure 12 is a diagram showing the input and output pixel data when performing the MC processing (P picture) in the pixel operation unit.
  • the input port column means the input ports of the pixel transfer unit 17, the pixel processing units 1 to 16, and the pixel transfer unit 18 shown in FIGS. 4 and 5.
  • the input pixel column means pixel data input to the input port. Since the pixel transfer sections 17 and 18 are not used in the MC processing, the input pixels may be of any type (don't care).
  • the output port column indicates the output port D (output of the adder B) shown in Figs. 4 and 5, and the output pixel column indicates the output value.
  • FIG. 13 is an explanatory diagram of the input pixels to the pixel processing units 1 to 16 in the MC processing.
  • D1 to D16 are 16 difference values in the macro block (MB) of the frame to be decoded.
  • Pl to P16 are 16 pixel data in the rectangular area indicated by the motion vector in the reference frame.
  • the selection units A and B in the pixel processing units 1 to 16 always select the input ports A and B, respectively.
  • the pixel data from the input port A and the difference value from the input port B are input to and held by the delay units A and B via the selection units A and B, respectively.
  • the result of this addition is multiplied by 1 in the multiplier, added to 0 in the adder B, and output from the output port D. That is, the pixel data from input port A and the difference value from input port B are simply added and output from output port D.
  • the result of addition is stored in the output buffer group 23, and the external memory 220 is output by the POUC 209 via the dual port memory 100. Is written back to the decryption target frame in.
  • the MC processing is performed by repeating the above processing for each 16-pixel unit of the frame to be decoded. Note that each pixel processing unit uses simple processing. Only the calculation is performed, and the addition result of 16 pixels can be obtained for each clock.
  • FIG. 14 is a diagram showing input / output pixel data when the MC processing (B picture) is performed by the pixel operation unit.
  • the input port column, input pixel column, output port column, and output pixel column are the same as in FIG.
  • the input pixel column differs from Fig. 12 in that the input is divided into the first clock (CLK1) and the second clock (CLK2) twice.
  • Pl to P16 and B1 to B16 are 16 pixel data in the rectangular area pointed to by the motion vector in two different reference frames.
  • the selection units A and B in the pixel processing units 1 to 16 always select the input ports A and B, respectively.
  • Pl and B1 are held in delay units A and B from input ports A and B via selectors A and B, and at the same time, a constant 1 It is held in the / 2 delay C.
  • (P1 + B / 2 is obtained from the multiplier A.
  • the multiplication result ( ⁇ 1 + ⁇ / 2) is held in the delay unit D.
  • the result of the 16 additions is stored in the output buffer group 23, and is output to the external memory 220 via the dual port memory 100 by the POUC 209. It is written back to the decryption target frame in.
  • the POUC 209 instructs the instruction circuit 26 to start OSD processing, and sequentially obtains 16 pixel data XI to XI from the OSD image stored in the external memory 220. Read 6 and set to input buffer group 22.
  • FIG. 15 is a diagram showing input / output pixel data when an OSD (On Screen Display) process is performed in the pixel operation unit.
  • OSD On Screen Display
  • Pixel transfer sections 17 and 18 are not used.
  • Pixel data X1 to X16 from input buffer group 22 are input to input port A of pixel processing units 1 to 16, 0 is input to input port B, and 0 is input to input port C. Is entered as 1.
  • Figure 16 shows how 16 pixels in the OSD image are sequentially written to the input buffer group 22.
  • Each of the selection units A and B in the pixel processing units 1 to 16 always selects an input port in the OSD processing.
  • the addition result is multiplied by “1” input from input port C by multiplier A, and “0” is added by adder B.
  • the pixel data XI of the input port A is output from the adder B as it is.
  • the pixel data X2 to X16 of the input port A from the pixel processing units 2 to 16 are output from the adder B as they are.
  • the pixel data XI to XI 6 output from the adder B are stored in the output buffer group 23, and the dual port memory 100 is further processed by the POUC 209. Overwrites the display frame data in the external memory 220 via By repeating the above processing for the entire OSD image as shown in Fig. 16, the OSD image in the external memory 220 is overwritten on the display frame data. You will be This is the simplest of the OSD processes, and the POUA207 or POUB208 simply relays the 0SD image in 16-pixel units.
  • an OSD image and display frame data may be blended.
  • the blend ratio is 0.5
  • the pixel data of the OSD image is input to each of the input ports A of the pixel processing units 1 to 16 from the input buffer group 22 and the pixel data of the OSD image.
  • the pixel data of the display frame data should be supplied to the input port B.
  • the input ports A, B, and C of each pixel processing unit in the first port from the input buffer group 22 are used.
  • the pixel data of the OSD image, 0, may be supplied in the second clock (0, the pixel data of the display frame data, 1—).
  • the above-mentioned filtering process is applied to the OSD image from the input buffer group 22 and the display frame data from the output buffer group 23. You can overwrite and copy it to the position where you want to display it in reduced size.
  • the blend may be performed after the OSD image is reduced by filter processing.
  • Figure 17 is a diagram showing input / output pixel data when ME (motion estimation) processing is performed by the pixel operation unit.
  • X1 to X16 are 16 pixels of the macroblock in the frame to be encoded
  • R1 to R16 are 16 x 16 pixels in the reference frame. 16 pixels in the rectangular area.
  • FIG. 18 is an explanatory diagram showing the relationship between these pixels.
  • the motion vector (MV) search range in the reference frame in the figure is around the same position as the macroblock to be encoded (for example, +16 pixels in the horizontal and vertical directions). This is the range in which the motion vector (6 pixels) is searched.
  • a rectangular area of 16 pixels XI 6 pixels exists at 16 XI 6 positions in a pixel-by-pixel search, and a half-pel (1 pixel) unit In the search for, there are 32 x 32 locations.
  • Fig. 13 shows only the upper left rectangular area within the MV search range.
  • the ME process calculates the sum of the differences between each pixel between each rectangular area within the MV search range and the macroblock to be coded, and further calculates the rectangle with the smallest sum.
  • the motion vector is determined as the displacement of the relative position between the region (that is, the rectangular region with the highest correlation) and the macroblock to be coded. The difference between the block to be coded and the rectangular area with the highest correlation is taken.
  • the input buffer group 22 has pixel data X1 to X16 to be coded and pixel data R1 to R1 in one rectangular area under the control of POUC209. ⁇ 6 and are transferred.
  • the pixel data Rl to R16 in this rectangular area one line in the rectangular area is transferred for each clock. Therefore, R1 to R16 for 16 lines are transferred for one rectangular area.
  • the pixel processing unit 1 shown in FIG. 4 uses the input port in the first clock.
  • the pixel data XI of A and the pixel data R 1 of the input port B are subtracted and converted into absolute values by the adder A and passed through the multiplier A (multiplied by 1).
  • the adder B outputs the sum of the multiplier output and the data held by the delay unit D. In the first clock, the adder B outputs the first line IXI-RI.
  • the first line of I XI-R1 I is held in the delay device, so that the adder B outputs the second line of IX-R1 from the multiplier A. Add I and the first line IX input R1 I held in the delay device D.
  • adders B accumulate the first and second lines of IX1-R1 I in the delay device, so that the adder B receives the third line of I xi- Ri I and the 1st line I XI -m I held in the delay unit]).
  • the adder B calculates the accumulated value of IXI-R1I from 1 to 16 lines ( ⁇ I X1-R1
  • the pixel processing units 2 to 16 also output the accumulated values ( ⁇ I Xl -Rl I;) to ( ⁇ I X16 -R16 I), respectively.
  • the sum of the differences is similarly calculated for other rectangular areas within the MV search range.
  • the rectangular area having the smallest value is determined to be the rectangular area having the highest correlation.
  • a motion vector is generated.
  • the sum of the 16 accumulated values from the pixel processing unit is separately calculated, but the sum of the 16 accumulated values is calculated in the pixel processing units 1 to 16. You may do it.
  • 16 accumulated values for one rectangular area are saved from the output buffer group 23 to the work area of the external memory 220 as they are, and In this work area, the cumulative value group is stored for 6 or more rectangular areas.
  • each of the pixel processing units 1 to 16 shares one rectangular area and sequentially accumulates 16 accumulated values, thereby obtaining the sum of the differences. I just need.
  • the difference is calculated in pixel units, but may be calculated in half pel units.
  • I XI-R1 I is calculated in one clock cycle for the actual line, as described above, between the half line and the actual line, and the neutral line is calculated. For example, for one clock out of two clocks, the pixel value of the North Pell is
  • Fig. 19 is a schematic block diagram of the media processor, showing the flow of data when performing vertical filtering in the media processor shown in Fig. 2. is there.
  • the decoder section 301 decodes (extends) the video elementary stream in FIG. 2 into VLD 205, TE 206 and POUA. This is equivalent to 2007 (MC processing), and decodes (decompresses) the video elementary stream.
  • the frame memory 302 corresponds to the external memory 220 and holds video data (frame data) as a decoded result.
  • the vertical filter 303 corresponds to POUB 208, and performs vertical reduction by vertical filter processing.
  • the memory memory 304 corresponds to the external memory 220, and holds reduced video data (frame data for display).
  • the image output section 305 is for video off-line memory 211, video This is equivalent to unit 2 13 and converts display frame data to video signals and outputs them.
  • POU 207 is responsible for MC processing
  • POU 208 is responsible for vertical filter processing.
  • the reduction in the horizontal direction by the horizontal filter processing is performed by one of the POUA 207 and POUB 208 with respect to the decoded frame data of the frame memory 302. It shall be assumed.
  • FIG. 20 is a diagram showing a time change of the data supply state of the frame memory 302 and the non-memory 304 when the 1/2 reduction processing is performed in FIG. It is.
  • the vertical axes of the graphs 70 1 to 70 3 indicate the time in units of the period V of the vertical synchronization signal of the field. In the figure, five periods are shown, and the time axes of graphs 70 to 703 coincide.
  • the horizontal axis of the graph 701 indicates the amount of frame memory 302 data.
  • the horizontal axis of the graph 7702 indicates the amount of data in the memory 304.
  • a graph 703 indicates a frame (field) being output in the image output unit 305.
  • the solid line 704 in the graph 701 indicates the amount of frame data supplied from the decoder unit 301 to the frame memory 302.
  • the broken line 705 indicates the amount of frame data supplied from the frame memory 302 to the vertical filter section 303.
  • the broken line 706 in the graph 702 indicates the supply amount of the 1st field reduced image from the vertical filter section 303 to the buffer memory 304. I have.
  • An alternate long and short dash line 707 indicates the supply amount of the 2nd field reduced image from the vertical filter section 303 to the buffer memory 304.
  • the solid line 708 in the graph 702 is the reference memory 304. 1 shows the supply state of the 1st field reduced image data to the image output unit 305.
  • the display position of the reduced image is from the upper half position of the frame to the lower half position, so the solid line 709 in the figure indicates the timing according to the display position.
  • a solid line 709 indicates the state of supply of the 2nd field reduced image data from the buffer memory 304 to the image output unit 305.
  • the supply of the n-th frame data from the decoder unit 301 to the frame memory 302 is the second frame of the n-1 frame. It starts immediately after the supply of the field from the frame memory 302 to the vertical filter section 303 and starts from the frame memory 302 to the vertical filter section 30.
  • the supply of the nth frame to frame 3 is from the nth frame of the 1st field frame memory 302 to just before the completion of the supply to the vertical filter section 303.
  • the control is performed so as to end with.
  • the frame data of the 1st field of the nth frame from the vertical filter section 303 to the non- Supply is during the display of the 2nd field of the n-1 frame, while supply of the frame data of the 2nd field of the n frame is during the display of the 1st field of the n frame Control is performed so that each is completed.
  • one frame of frame data is transferred between the decoder unit 301 and the frame memory 302 during a period of 2 V.
  • the ability to do so is sufficient.
  • From the frame memory 302 to the vertical filter section 303 it is sufficient to have the ability to transfer 1/2 frame data during a 1 V period.
  • the decoder section 301 is capable of generating one frame of frame data during the period of 2 V, and the vertical filter section 303 is one-half during the period of IV. It is sufficient to have the computing power to filter the frame data of the frame.
  • the vertical filter section 303 and the notch memory 304 it is sufficient to have the ability to transfer 1/4 frame data during the IV period. is there.
  • the frame memory 304 holds the frame data 1 frame, and the not frame memory 304 stores the frame data 1/2 frame. It is enough to have the capacity to hold the system.
  • FIG. 21 shows a time change of a data supply state in a case where the no-fault memory 304 is not provided.
  • the supply of the n-frame digital image data to the frame memory 302 is performed as indicated by a broken line 507 as indicated by a solid line 506 as indicated by a solid line 506. It starts from the time when supply to the vertical filter section 303 of the second field of one frame starts, and the first frame of the n frame shown by the broken line 508 It ends before the supply of the field to the vertical filter section 303 is completed. Therefore, one frame of digital image data is supplied at a constant speed during the 2 V period shown on the graph in FIG.
  • the supply of digital image data from the frame memory 302 of the 1st field of the nth frame to the vertical filter section 303 is broken. As indicated by 508, the processing is completed immediately after the supply of the n-frame digital image data to the frame memory 302 shown by the solid line 511 is completed, followed by 2 Start processing the nd field. For this reason, the supply of digital image data from the frame memory 302 to the vertical filter section 303 requires one frame during the 1 V period shown on the graph of FIG. Digital image data of the field is supplied at a constant speed. However, when performing 1/2 reduction processing, the timing at which the supply of n-frame digital image data to the frame memory 302 can be started is as follows. Depends on the display position of the 2nd field of the n-1 frame.
  • the supply of digital image data from the frame memory 302 to the vertical filter section 303 is indicated by a broken line. Timing that is performed somewhere between 509 and 510 to enable the start of supply of n-frame digital image data to frame memory 302 The time is the most delayed in the case of the display position indicated by the broken line 5110. In this case, the 1/2 reduced image is output to the lower half of the image output section 501, and n-frame digital image data is supplied to the frame memory 302. It must be completed before the supply to the vertical filter section 303 of the 1st field of the n frame indicated by the broken line 5 1 1 is completed. Therefore, it is necessary to supply one frame of digital image data at a constant speed during the 1 V period shown on the graph of FIG. 21, which is twice as large as that without reduction. Supply capacity is required.
  • the supply of digital image data from the frame memory 302 of the 1st field of the nth frame to the vertical filter section 303 is indicated by a broken line 5111.
  • the processing is completed immediately after the supply of the n-frame digital image data to the frame memory 302 shown by the solid line 512 is completed, followed by the 2nd field. Starts processing the code. Therefore, it is necessary to supply one field of digital image data at a constant speed during the 1/2 V period shown on the graph of FIG. 5, and if no reduction is performed, Double the supply capacity is required. Since the vertical filter section 303 is required to have the performance corresponding to the supplied digital image data, the vertical filter section 303 requires twice as much computing capacity as compared to the case where no reduction is performed.
  • Fig. 23 shows the data supply state in the case where no memory memory 304 is provided and 1/4 reduction processing is performed, for comparison with Fig. 20. Of FIG.
  • Figure 23 shows a graph when performing 1/4 reduction processing.
  • the computational power of the vertical filter needs to be four times that of the case without reduction processing.
  • the non-memory memory 304 is not provided, as the reduction ratio increases, the required peak performance also increases.
  • FIG. 22 is a diagram showing a data supply state of each part and its time change when performing 1/4 reduction by the media processor shown in FIG.
  • the horizontal and vertical axes of the graph are the same as in FIG.
  • the solid line 804 on the graph indicates the state of supply of frame data from the decoder unit 301 to the frame memory 302.
  • a broken line 805 on the graph indicates a state of supplying frame data from the frame memory 302 to the vertical filter section 303.
  • a dashed line 806 on the graph indicates the supply state of the 1st field reduced image data from the vertical filter section 303 to the no-floor memory 304.
  • a broken line 807 on the graph indicates the supply state of the 2nd field reduced image data from the vertical filter section 303 to the no-floor memory 304. .
  • a solid line 808 on the graph indicates a supply state of the 1st field reduced image data from the no-fault memory 304 to the image output unit 305.
  • a solid line 809 on the graph indicates a supply state of the second field reduced image data from the non-memory 304 to the image output unit 305.
  • the vertical filter section 303 is capable of filtering half-frame data during the 1 V period, and has a calculation capability. Between the memory 304 and the image output unit 305 from the memory device 304 to the image output unit 305 during the IV period. An 8-frame frame data transfer capability is sufficient. Frame memory 302 that can hold frame data 1 frame and Knob memory 304 that can hold frame data 1/4 frame are required. .
  • Each of these required performances is the average performance at least in the IV period, and even if the reduction ratio is large, a large peak performance is not required in a short period.
  • the processing performance is most required in the case of no reduction.
  • one frame frame overnight transfer capacity of 2 V is sufficient.
  • a frame data transfer capacity of 1/2 frame during the period IV is sufficient.
  • the decoder section 301 needs only the computing capacity to generate one frame of frame data during a period of 2 V.
  • the vertical filter section 303 needs only the computing capacity to filter 1/2 frame data during the IV period.
  • a half-frame frame data transfer capacity in a 1 V period is sufficient.
  • Image from the memory memory 304 Between the image output sections 305, a half frame frame transfer capability of one-half frame during the IV period is sufficient. It is only necessary that the frame memory 302 can hold the frame data 1 frame, and the no-floor memory 304 can hold the frame data 1 frame. This ability can perform any vertical reduction process. As a result, the circuit scale can be reduced, and the operating clock can be reduced.
  • FIG. 24 is a schematic block diagram showing the flow of data when performing vertical filtering in a media processor.
  • the figure shows a decoder section 401, a non-filter memory section 402, a vertical filter section 403, a non-filter memory section 404, a video output section 405,
  • the control unit consists of 406.
  • the figure shows that the decode section 401, the vertical filter section 403, the off-chip memory section 404, and the video output section 405 have the same configuration. Same as element. Therefore, the description of the same points is omitted, and different points will be mainly described.
  • the buffer memory 402 differs from the frame memory 302 in that it requires less storage space than one frame of storage.
  • the vertical filter section 403 is controlled by the control section every time the filter processing of 64 lines in the vertical direction (4 macroblock lines in the frame before processing) is completed. This is different from the vertical filter section 303 in that it notifies the filter to that effect (filter state).
  • the unit of notification may be 2 to 3 units of macro block line.
  • the decoding unit 401 is configured to notify the control unit 406 of the fact (decoding state) to the control unit 406 each time the decoding in the unit of 64 lines is completed. Is different.
  • the unit of notification may be 16 lines.
  • the control section 406 corresponds to the IOP 211 in FIG. 2, and controls the operation states of the decode section 401 and the vertical filter section 403 respectively. Monitoring is performed based on these notifications, so that the vertical filter processing does not exceed the decoding processing, and the decoding processing does not pass the vertical filtering processing. And the vertical filter section 403. That is, the following two of the control sections 406 are controlled.
  • One is that the decoder section 401 writes the pixel data group of the macro-procedure line to be filtered to the buffer memory 402. Even though there is no filter, the vertical filter section 4003 performs filtering on the pixel data group of the macro block line in the previous frame (or field) This is to prevent this.
  • the other is that the vertical filter section 403 is the target of vertical filter processing but the macro section is not processed. This is to prevent the pixel data group of the frame from being overwritten.
  • FIG. 25 is an explanatory diagram showing the control contents in the control unit 406.
  • the horizontal axis in the figure is time, and the control unit 406, VSYNC (vertical synchronization signal), decode unit 401, vertical filter unit 403, and video output unit 405 Each operation is described.
  • the decoder section 401 notifies the control section 406 each time the decoding of the line is completed, and the vertical filter section 403 notifies the control section 406 of the completion. Each time the filtering of 4 lines is completed, this is notified to the control unit 400.
  • the control unit 406 holds and updates the line number Nd for which decoding has been completed and the line number Nf for which filtering has been completed under these notifications, and Nd ( In order to satisfy Nf (current frame)> Nf (current frame), Nd (next frame), Nf (current frame), the decoding section 401, vertical frame Controls the filter section 403.
  • control unit 406 sets the decode unit 4 ⁇ 1 and the vertical unit when Nd and Nf approach each other (when the difference falls below a threshold value). Temporarily stop one of the filter sections 403. Note that Nd and Nf may be macroblock line numbers.
  • one of the decoding unit 410 and the vertical filter unit 403 is controlled by the control unit 406.
  • the control to determine whether or not Nd and Nf approach each other and to temporarily stop the decode unit 410 or the vertical filter unit 400 are not performed.
  • the configuration may be such that a unit other than the control unit 406 is in charge.
  • the vertical filter section 403 notifies the decoder section 401 of the above-mentioned filter state, and the decoder section 401 notifies the filter state of the filter state. It is determined whether or not Nd and Nf have approached each other according to and the internal decoding state, and the decoding operation is temporarily stopped or the vertical filter section 40 is determined according to the determination result. 3 may be temporarily stopped.
  • the decoder unit 401 notifies the vertical filter unit 403 of the above-mentioned decoding state, and the vertical filter unit 4003 Based on the notification of the decoding state and the internal filtering state, it is determined whether Nd and Nf have approached each other, and the filter processing is temporarily stopped or decoupling is performed according to the determination result.
  • the configuration may be such that the load section 401 is temporarily stopped.
  • FIG. 26 is a diagram showing the amount of data supplied to each unit when performing the 1/2 reduction processing in FIG.
  • the horizontal axis of the graph 901 indicates the amount of frame data stored in the memory memory 402, and the vertical axis indicates the time.
  • the horizontal axis of the graph 902 indicates the amount of frame data in the memory 404, and the vertical axis indicates the time.
  • the graph 903 is a state in which the states of the image output unit 405 are arranged in chronological order, and the time axis is graphs 901 and 902. It is in line with the vertical axis.
  • the solid line 904 on the graph indicates the state of supply of frame data from the decoder unit 401 to the no-flag memory 402.
  • a dashed line 905 on the graph indicates a state of supplying frame data from the non-memory 404 to the vertical filter 403.
  • a broken line 906 on the graph indicates the supply state of the 1st field reduced image data from the vertical filter section 403 to the no-floor memory 404.
  • a dashed line 907 on the graph indicates the supply state of the 2nd field reduced image data from the vertical filter section 403 to the no-flip memory 404.
  • a solid line 908 on the graph indicates a supply state of the 1st field reduced image data from the no-memory 404 to the image output unit 405.
  • the solid line 909 on the graph indicates the state of supply of the 2nd field reduced image data from the no-memory 404 to the image output unit 405.
  • n-frame data from the decoder section 401 to the no-fault memory 402 starts. Immediately after this, supply of n-frame frame data from the no-memory 402 to the vertical filter section 403 is started, and the decoder section 40 Immediately after the supply of n frames of frame data from the memory 1 to the memory 400 is completed, the vertical memory is transferred from the memory 402 immediately after the supply of the frame data ends. Control is performed so that the supply of frame data of n frames to the router section 403 ends. As shown by the graph 902, the supply of the n-frame frame data from the vertical filter section 403 to the non-memory 404 is n_ l Control to complete while displaying the frame.
  • a frame of 1 frame is provided between the decoder section 401 and the buffer memory 402 during a period of 2 V.
  • Data transfer capability, vertical filter section from NOF memory 402 During the period of 400 V, one frame of frame data can be transferred during the period of 2 V, and the decoder unit 401 can transmit one frame of the frame data during the period of 2 V.
  • the computing capacity to generate and the vertical filter section 403 are the computing capacity to filter one frame of frame data during the 2 V period, and the vertical filter section 4 From 0 3 to the no-f memory 4 0 4, the frame data transfer capacity of 1/2 frame during the 2 V period, from the buffer memory 4 0 4 Between the image output sections 405, a 1/4 frame of frame data transfer capability and a no-floor memory that can hold several lines of frame data during a 1 V period 2. Frame data Each of the memory modules 404 that can hold one frame is required. ⁇ 3.2.2 1 Z 4 reduction>
  • FIG. 27 is a diagram showing the overnight supply amount of each part when the quarter is reduced in FIG.
  • the horizontal axis of the graph 1001 indicates the amount of frame data on the memory 104, and the vertical axis indicates the time.
  • the horizontal axis of the graph 1002 indicates the amount of frame data on the memory 104, and the vertical axis indicates the time.
  • the graph 1003 is obtained by arranging the states of the image output unit 405 in chronological order, and the time axis is aligned with the vertical axes of the graphs 1001 and 1002.
  • the solid line 1004 on the graph indicates the state of supply of frame data from the decoder section 401 to the no-flag memory 402.
  • a broken line 1005 on the graph indicates a state in which frame data is supplied from the non-memory 4002 to the vertical filter section 4003.
  • the broken line 1006 on the graph is from the vertical filter section 4.03 to the Knob memory.
  • the broken line 1007 on the graph indicates the supply state of the 2nd field reduced image data from the vertical filter section 403 to the buffer memory 404.
  • the solid line 1008 on the graph is the buffer Shows the supply state of 1st field reduced image data from the memory 404 to the image output unit 405.
  • a solid line 1109 on the graph indicates a supply state of the 2nd field reduced image data from the no-memory 404 to the image output unit 405.
  • a frame of 1 frame is provided between the decoder section 401 and the no-flag memory 402 during a period of 2 V. Data transfer capability is sufficient.
  • a frame data transfer capacity of one frame is sufficient for a period of 2 V, and the decoder
  • the section 401 has enough computing power to generate one frame of data during the period of 2 V, and the vertical filter section 403 is capable of generating one frame of data during the period of 2 V.
  • the computing capacity for filtering is sufficient, and between the vertical filter section 403 and the non-memory 404 is 1/4 frame during the 2 V period.
  • One frame data transfer capability is sufficient, and between the buffer memory 404 and the image output unit 405, a 1/8 frame frame data transfer capability during the 1 V period is sufficient. Yes.
  • the buffer memory 402 can hold several lines of frame data, and the buffer memory 404 can hold half a frame data. Is enough.
  • Each of these required performances is the average capability during the period of the IV at the shortest, and a large peak performance is not required in the period in which the reduction ratio is short.
  • a request is made between the decoder section 401 and the non-memory 404. Is the frame data transfer capacity of one frame during the period of 2 V, and the interval between the non-memory 402 and the vertical filter section 403 is the period of 2 V. 1 frame of frame data transfer capability, the decoder section 401 generates 1 frame of frame data during the 2 V period The vertical filter section 403 is capable of filtering one frame of frame data during the 2 V period, and the vertical filter section 403 is notched.
  • the frame data transfer capability of one frame during the period of 2 V the image data output from the memory 404 to the image output unit 405 During this period, a half-frame frame transfer rate of 1 V during a 1 V period, a buffer memory 402 that can hold several lines of frame data, and a frame memory A buffer memory 404 that can hold 2 frames of frame data.
  • This capability can perform any vertical reduction processing. As a result, the circuit scale can be reduced, and the operating clock can be reduced.
  • FIGS. 28 and 29 are diagrams showing a first modified example of the left half and the right half of the pixel parallel processing unit.
  • the same components as those in FIGS. 3 and 4 are denoted by the same reference numerals, and the description thereof will be omitted, and different points will be mainly described.
  • Figures 28 and 29 show the pixel processing sections la to 16a in place of the pixel processing sections 1 to 16 in Figs. 3 and 4, and the pixel transfer section instead of the pixel transfer sections 17 and 18 in Figs. It has 17a and 18b. Since the pixel processing units la to 16a have the same configuration, the pixel processing unit 1a will be described as a representative.
  • the pixel processing unit la includes a selection unit A104a and a selection unit B105a instead of the selection unit A104 and the selection unit B105 in the pixel processing unit 1.
  • the selection section A l 0 4a has two inputs compared to the selection section A 104.
  • the selection section A104a is
  • Pixel data input is increasing from the delay unit (delay unit B) of the pixel transfer unit (or pixel processing unit) next to it.
  • the selection section B 105 a is similarly connected to the next adjacent pixel transfer section (or pixel).
  • the pixel data input to the delay unit (delay unit B) in the processing unit is increasing.
  • the pixel transfer section 17a includes a selection section B1703a to a selection section G1708a instead of the selection section B1773 to the selection section G1708.
  • the selection unit Bl703a to selection unit Gl708a are three inputs instead of two inputs, respectively.
  • the increasing input is the pixel data input from the two left delays.
  • the pixel transfer section 18a includes a selection section Bl803a to a selection section Gl808a instead of the selection section B1803 to the selection section G1808.
  • the selection unit Bl 803 a to the selection unit Gl 808 a have three inputs instead of two inputs, respectively. The increasing input is the pixel data input from the two delay units to the right.
  • the pixel processing unit 1a can calculate the following equation.
  • FIGS. 30 and 31 are diagrams illustrating a second modification of the left half and the right half of the pixel parallel processing unit.
  • FIGS. 30 and 31 include a pixel processing unit 1b and a pixel processing unit 16b instead of the pixel processing unit 1 and the pixel processing unit 16 in FIGS.
  • the pixel processing unit 1 b includes a selection unit b 105 b instead of the selection unit B 105 in the pixel processing unit 1.
  • the selection unit B105B differs from the selection unit B105 in that it has a feedback input from the delay unit B107.
  • the pixel processing section 16b includes a selection section A164b instead of the selection section A164 in the pixel processing section 16.
  • the selection unit A1664b is different from the selection unit A1655 in that it has a feed knock input from the delay unit A1666. According to this configuration, the pixel processing unit 1b performs, for example, the following calculation. a3 * X6 + a2 * X7 + al * X8 + a0 * X9 + al * X10 + a2 * Xll + a3 * X12
  • the output of the pixel processing unit 2 is as follows.
  • the output of the pixel processing unit 16b is as follows.
  • the left end of the pixel processing unit lb is the left end of the column
  • the selection unit B105b selects the feed knock input from the delay unit B in the pixel processing unit 1b.
  • the selector A1664b feeds the data from the delay unit A1666. Select the packing input.
  • FIGS. 32 and 33 are diagrams showing a second modification of the left half and the right half of the pixel parallel processing unit.
  • Figures 3 2 and 3 3 show the pixel processing sections 1 c to 16 c instead of the pixel processing sections 1 to 16 in FIGS. 3 and 4, and the pixel transfer section instead of the pixel transfer sections 17 and 18 in FIGS. 17 c and 18 c are provided.
  • Pixel processing section l c-: I 6 c has the same configuration, and therefore, the pixel processing section 1 a will be described as a representative.
  • the pixel processing unit 1 c includes a selection unit A 104 c and a selection unit B 105 c instead of the selection unit A 104 and the selection unit B 105 in the pixel processing unit 1.
  • the selection unit A104c is different from the selection unit A104 in that the number of inputs is changed from two to three. That is, in the selection unit A104c, the number of pixel data inputs to the delay unit (delay unit B) of the pixel transfer unit (or the pixel processing unit) adjacent to the two is increased.
  • the selection unit BlO5c includes a pixel data input of a delay unit (delay unit B) of a pixel transfer unit (or a pixel processing unit) of two adjacent pixels, and a feed from the delay unit B107. Knock input and are increasing.
  • the pixel transfer units 17c and 18c have three inputs instead of two inputs, similarly to the pixel transfer units 17a and 18a shown in FIGS. 28 and 29.
  • the pixel processing unit 1c performs, for example, the following calculation. a3 * X9 + a2 * X9 + al * X9 + aO * X9 + al * Xl 1 + a2 * X13 + a3 * X15
  • the output of the pixel processing unit 2 c is as follows.
  • the output of the pixel processing unit 15c is as follows.
  • the output of the pixel processing unit 16 c is as follows.
  • FIG. 34 is a diagram showing a modified example of POUUA207.
  • the POU 207 in the figure is different from that in FIG. 2 in that an upsampling circuit 22a and a downsampling circuit 23a are added.
  • the description of the same points as those in Fig. 2 is omitted, and the description focuses on the differences.
  • the up-sampling circuit 22a vertically expands the pixel data group input from the input canopy group 22. For example, in order to interpolate pixel data to double the pixel data group input from the input buffer group 22 in the vertical direction, the input buffer group 22 The same pixel data group is output to the pixel parallel processing unit 21 twice for each input of the pixel data group.
  • the down sampling circuit 23a vertically reduces the pixel data group input from the pixel parallel processing unit 21. For example, pixel data is thinned out so that the pixel data group input from the pixel parallel processing unit 21 is vertically multiplied by 12 times. In other words, in response to the input of the pixel data group from the pixel parallel processing unit 21 twice, one input is discarded and one output is output.
  • the input side of the pixel parallel processing unit 21 has a vertical 2 times in the output direction and 1 to 2 times in the vertical direction on the output side, so that the amount of data per frame in the external memory 220 can be reduced by half in the vertical direction.
  • the data transfer amount to the POUA 207 by the POUC 209 can be reduced by one to two.
  • the bus connection can be eliminated.
  • the pixel arithmetic device of the present invention performs the file ring processing for resizing an image in parallel with respect to a plurality of pixels, it performs compression processing, decompression processing, and resizing of a moving image. Used in digital video equipment such as media processors that handle it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Description

明 細 書
画素演算装置
技術分野
本発明は、 画像を リ サイ ズす る ための フ ィ ルタ リ ン グ回路を 含む画素演算装置に関す る。 背景技術
近年、 デジ タ ル映像機器の技術進歩が著 し く 、 動画の圧縮処 理ノ伸張処理、 リ サイ ズ等を扱う いわゆ る メ デ ィ ァプロ セ ッ サ が実用化されてい る。
画像の リ サイ ズに は、 F I R ( f i n i t e i m p u l s e r e s p o n s e )フ ィ ル夕 がよ く 用い られる。
図 1 は、 従来技術におけ る F I Rフ ィ ルタ 処理を行う 回路例 を示すブロ ッ ク 図であ る。 同図は タ ッ プ数 7 、 係数が対称な F I R フ ィ ルタ であ る。
同図において、 デー タ入力端子 1 0 0 1 よ り 時系列的に入力 されたデー タ は、 遅延器 1 0 0 2 、 1 0 0 3 、 1 0 0 4、 1 0 0 5、 1 0 0 6 、 1 0 0 7 と こ の順に順次転送される。 フ ィ ル タ 係数が対称であ る場合、 つま り データ 入力端子の入力及び各 遅延器の 出力 (タ ッ プと呼ばれる) に対応する係数が、 中央の タ ッ プ (遅延機 1 0 0 4 の 出力) に対 して対称である場合、 各 夕 ッ プのデー タ に フ ィ ルタ 係数を乗算する のではな く 、 同 じ係 数の タ ッ プのデー タ 同士の加算を行っ てか ら係数を乗算する。
例えば、 デー タ入力部 1 0 0 1 の入力デー タ と遅延器 1 0 0 7 の出力デー タ は、 加算器 1 0 0 8 で加算され、 さ ら に乗算器 1 0 0 8 にて加算結果と係数 hO と が乗算される。遅延器 1 0 0 2 の 出力 と遅延器 1 0 0 6 の 出力は、 加算器 1 0 0 9 で加算さ れ、 さ ら に、 乗算器 1 0 0 9 にて加算結果と係数 hi と が乗算さ れる。
乗算器 1 0 1 1 〜乗算器 1 0 1 4 の各出力デー タ は、 加算器 1 0 1 5 に よ り 加算される。 加算器 1 0 1 5 の出力データ は フ ィ ルタ処理結果と してデータ 出力端子 1 0 1 6 か ら時系列的に 出力 される。係数 h0〜 h3 は画像の縮小率に応 じて定め られる。 例え ば縮小率が 1 / 2 であれば、 時系列の 出力デー タ を 1 Z 2 に間弓 I く こ と に よ り 縮小画像が得 られる。
ま た、 フ ィ ルタ 係数が対称に選ばれる のは、 直線位相 (位相 特性が周波数に対 して直線にな る こ と) が得 られる こ と に よ り 画像の視覚上好ま しいか らであ る。
しか しなが ら、 上記従来の方法では、 画像デー タ に対 して フ ィ ルタ リ ン グ処理を行う 場合、 回路の構成上、 画像を構成する 画素デー タ を端か ら順に入力 してい く ので、 1 ク ロ ッ ク で入力 でき る画素デー タ は 1 つであ る ため、 処理速度を高め る には動 作周波数を高め る必要がある。 高い動作周波数での動作は、 コ ス ト 及び消費電力大き く な る と い う 問題があ る。
ま た、 従来の方法では タ ッ プ数毎に回路が異な る ため 自 由度 がな く 、 タ ッ プ数毎別に回路を設け る と莫大な コ ス ト がかか つ て し ま う 。
さ ら に、
本発明の第 1 の 目 的は、 タ ッ プ数を可変にする こ と ができ、 周波数を上げずに処理を高速化す る フ ィ ルタ リ ン グ処理を行う 画素演算装置を提供する こ と にあ る。
本発明の第 2 の 目 的は、 さ ら に フ ィ ルタ リ ング処理だけでな く M C (動き補償) 処理に も利用可能で、 回路規模の小型化を 図 っ た画素演算装置を提供する こ と にある。
第 3 の 目 的は、さ ら に フ ィ ルタ リ ン グ処理だけでな く M E (動 き予測) 処理に も利用可能であ り 、 回路規模の小型化を図 っ た 画素演算装置を提供する こ と にあ る。
第 4 の 目 的は、 さ ら に フ ィ ルタ リ ン グ処理だけでな く 、 デジ タ ル映像機器におけ る O S D ( O n S c r ee n D i s p l ay) 処理に も利 用であ り 、 回路規模の小型化を図 っ た画素演算装置を提供する こ と にあ る。 発明の開示
上記第 1 の 目 的を達成する画素演算装置は、 フ ィ ル タ 処理を 行う 画素演算装置であ っ て、 N個の画素処理手段と、 N個の画 素デー タ 及びフ ィ ル タ係数を供給する供給手段と 、 N個の画素 処理手段を並列に動作させる制御手段と を備え る。
各画素処理手段は、 供給手段に供給された画素デー タ と フ ィ ルタ 係数 と を用いて演算 した後、 各画素処理手段に対 して隣接 する画素処理手段か ら画素デー タ を取得 し、 取得 した画素デー タ を用いて演算 して演算結果を累積する。 前記制御手段は、 隣 接する画素処理手段か ら の画素デー タ の取得と、 取得 した画素 デー タ を用いた演算及び累積と を タ ッ プ数に応 じた回数繰 り 返 すよ う N個の画素処理手段を制御する。
こ こ で、 前記 N個の画素処理手段は、 N個の画素デー タ を右 シ フ ト する第 1 シ フ タ と、 N個の画素デー タ を左シ フ ト する第 2 シ フ タ を形成する。 各画素処理手段は、 隣接する 2 つの画素 処理手段か ら シ フ ト ァ ゥ ト される 2 つの画素デー タ を用いて演 算する。
こ の構成に よれば、 タ ッ プ数を可変にする こ と ができ、 周波 数をあげずに処理を高速化する フ ィ ルタ リ ン グ処理を行う こ と ができ る とい う 効果があ る。
上記第 2 の 目 的を達成する画素演算装置は、 画素デー タ と し て差分画像の画素デー タ と参照フ レ ー ム の画素データ と を供給 手段か ら供給す る。
こ の構成に よれば、 フ ィ ル タ リ ン グ処理だけでな く M C (動 き補償) 処理に も利用可能で、 フ ィ ル タ装置と M C 回路と を独 立に設け る必要がないので、 回路規模の小型化を図る こ と がで き る と い う 効果がある。 図面の簡単な説明
図 1 は、 従来技術におけ る F I R フ ィ ルタ処理を行う 回路例 を示すブロ ッ ク 図である。
図 2 は、 画素演算ユニ ッ ト を備え る メ デ ィ ア プロセ ッ サの構 成を示すプロ ッ ク 図であ る。
図 3 は、 画素演算ユニ ッ ト ( P O U A、 P O U B ) の構成を 示すブロ ッ ク 図である。
図 4 は、 画素並列処理部の左半分の構成を示すブロ ッ ク 図で あ る。
図 5 は、 画素並列処理部の右半分の構成を示すプロ ッ ク 図で あ る。
図 6 ( a ) は、 入力バ ッ フ ァ群 2 2 の詳細な構成を示すプロ ッ ク 図であ る。
図 6 ( b ) は、 入力バ ッ フ ァ群 2 2 内の選択部の詳細な構成 を示すブロ ッ ク 図であ る。
図 7 は、出力バ ッ フ ァ群 2 3 の構成を示すブロ ッ ク図であ る。 図 8 は、 画素演算ユニ ッ ト にて フ ィ ル タ 処理を行う 場合の画 素データ の初期入力値を示す図であ る。
図 9 は、 画素処理部 1 に対する画素デー タ の初期入力値を示 す説明図である。 図 1 0 は、 画素処理部 1 での フ ィ ル タ処理 における演算過程を示す図であ る。 図 1 1 は、 画素処理部 1 での フ ィ ルタ処理の演算内容を示す説明図であ る。 図 1 2 は、 画素演算ュニ ッ ト にて M C (動き補償) 処理 ( P ピク チ ャ ) を行う 場合の入出力画素デー タ を示す図であ る。
図 1 3 は、 M C処理における復号対象フ レーム と参照フ レー ム と を示す説明図であ る。
図 1 4 は、 画素演算ュニ ッ ト にて M C処理 ( B ピク チ ャ ) を 行う 場合の入出力画素デー タ を示す図であ る。
図 1 5 は、 画素演算ュニ ッ ト にて O S D (オ ン ス ク リ ー ンデ イ ス プ レ イ ) 処理を行う場合の入出力画素デー タ を示す図であ る。
図 1 6 は 、 画素演算ュニ ッ ト におけ る O S D (オ ン ス ク リ ー ンデ ィ ス プ レ イ ) 処理の説明図であ る。
図 1 7 は、 画素演算ュニ ッ ト にて M E (動き予測) 処理を行 う場合の入出力画素デー タ を示す図であ る。
図 1 8 は、 画素演算ュニ ッ ト にて M E (動き予測) の説明図 である。
図 1 9 は 、 メ デ ィ ア プロ セ ッ ザにおいて垂直フ ィ ルタ処理を 行う 場合のデー タ の流れを示 した模式的なプロ ッ ク 図であ る。
図 2 0 は、 垂直 1 2縮小を行う 場合の説明図であ る。
図 2 1 は、 従来技術において垂直 1 / 2 縮小を行う場合の説 明図であ る
図 2 2 は 、 垂直 1 ノ 4 縮小を行う 場合の説明図であ る。
図 2 3 は、 従来技術において垂直 1 / 4 縮小を行う 場合の説 明図であ る
図 2 4 は 、 メ デ ィ アプロ セ ッ ザにおいて垂直フ ィ ルタ処理を 行う 場合のデー タ の流れを示 した模式的な別のプロ ッ ク 図であ る。
図 2 5 は 、 デコ ー ド処理と垂直フ ィ ルタ 処理と の タ イ ミ ン グ を示す説明図であ る。 図 2 6 は、 垂直 1 ノ 2縮小を行う場合の説明図であ る。
図 2 7 は、 垂直 1 / 4縮小を行う場合の説明図であ る。
図 2 8 は、 画素並列処理部の左半分の第 1 の変形例を示す図 であ る。
図 2 9 は、 画素並列処理部の右半分の第 1 の変形例を示す図 であ る。
図 3 0 は、 画素並列処理部の左半分の第 2 の変形例を示す図 である。
図 3 1 は、 画素並列処理部の右半分の第 2 の変形例を示す図 である。
図 3 2 は、 画素並列処理部の左半分の第 3 の変形例を示す図 であ る。
図 3 3 は、 画素並列処理部の右半分の第 3 の変形例を示す図 であ る。
図 3 4 は、 画素処理ュニ ッ ト の変形例を示す図であ る。 発明を実施する ための最良の形態
本発明の画素演算ユニ ッ ト は、 主に ( a ) 画像の拡大ノ縮小 に 用 い ら れ る フ ィ ル タ 処 理 、 ( b ) 動 き 補 償 ( Moving Compensation,以下 M E )処理、 ( c ) 0 S D ( On Screen Display) 処理、 ( d ) 動き予測 (Moving Estimation, 以下 M E ) 処理な どを選択的に実行する よ う に構成される。 ( a )フ ィ ルタ処理に ついて は、 画素演算ユニ ッ ト は、 でタ ッ プ数を固定する こ と な く 可変と し、 水平方向又は垂直方向に連続する複数の画素 (例 え ば 1 6画素) を並列に処理する。 さ ら に、 垂直方向の フ ィ ル タ 処理は、 圧縮動画デー タ の伸長処理と 同期 して行う 。
以下、 本発明の実施の形態における画素演算ユニ ッ ト につい て次の順に説明する。 1 メ デ ィ アプロ セ ッ サの構成
1 1 画素演算ュニ ッ ト の構成
1 2 画素並列処理部の構成
2 1 フ ィ ルタ 処理
2 2 M C (動き補償) 処理
2 3 O S D (オ ン ス ク リ ー ンデ ィ ス プ レ イ ) 処理
2 4 M E (動き予測) 処理
3 1 垂直フ ィ ルタ 処理 (そ の 1 )
3 1 . 1 1 Z 2縮小
3 1 . 2 1 4縮小
3 2 垂直フ ィ ル タ 処理 (そ の 2 )
3 2 . 1 1 / 2縮小
3 2 . 2 1 / 4縮小
4 変形例
< 1 メ デ ィ ァプロ セ ッ サの構成 >
本実施形態におけ る画素演算ュニ ッ ト がメ デ ィ ア処理 (圧縮 音声動画デー タ の伸長処理、 音声動画デー タ の圧縮処理な ど) を行う メ デ ィ ァプロ セ ッ サに 内臓されてい る場合について以下 説明する。 メ デ ィ アプロ セ ッ サは、 例え'ばデジ タ ル T V放送を 受信する セ ッ ト ト ッ プボ ッ ク ス、 テ レ ビ受像機、 D V D録画再 生装置などに実装される。
図 2は、 画素演算ュニ ッ ト を備え る メ デ ィ ァプロ セ ッ サの構 成を示すブ ロ ッ ク 図であ る。 同図 において メ デ ィ ァプロ セ ッ サ 2 0 0は、 デ ュ ア ルポー ト メ モ リ 1 0 0、 ス ト リ ー ム ユ ニ ッ ト 2 0 1 、 入出力バ ッ フ ァ (以下 I , z〇 ノ ッ フ ァ と略す) 2 0 2、 セ ッ ト ア ッ ププロ セ ッ サ 2 0 3、 ビ ッ ト ス ト リ ー ム F I F 0 2 0 4、 可変長符号復号部 ( V L D ) 2 0 5、 可変長符号復号部 2 0 5、 変換エ ン ジ ン ( Transfer Engine, 以下 T E ) 2 0 6、 画素演算ユニ ッ ト A (以下 P 〇 U A) 2 0 7、 画素演算ュニ ッ ト B (以下 P〇 U B ) 2 0 8、 P O U C 2 0 9、 オーデ ィ オュ ニ ッ ト 2 1 0、 I 〇 P 2 1 1 、 入出力プロ セ ッ サ (以下 I O P ) 2 1 1 、 ビデオ ノ ッ フ ァ メ モ リ 2 1 2、 ビデオュ ニ: ッ 卜 2 1 3、 ホ ス ト ユ ニ ッ ト 2 1 4、 R E 2 1 5、 フ ィ ル タ部 2 1 6 を備え る。
デュ アルポー ト メ モ リ 1 0 0は、 外部メ モ リ 2 2 0 に対す る 入出力ポー ト (以下外部ポー ト ) と、 メ デ ィ アプ πセ ッ サ 2 0 0 内部に対す る入出力 (以下内部ポー ト と 呼ぶ) と 、 キ ャ ッ シ ュ メ モ リ と を備え、 メ デ ィ アプロ セ ッ サ 2 0 0 内の各構成要素 の う ち外部メ モ リ 2 2 0 にデー タ を読み書きす る構成要素 (以 下マ ス タ ーデバイ ス) か ら の ア ク セス要求を内部ポ一 ト か ら受 け付け、 受け付けた ア ク セ ス要求に従っ て外部メ モ リ 2 2 0 を ア ク セ スする。 その際、 デュ アルポー ト メ モ リ 1 0 0は、 内部 の キ ャ ッ シ ュ メ モ リ に外部メ モ リ 2 2 0の デー タ の一部をキ ヤ ッ シ ン グす る。 ま た、 外部メ モ リ 2 2 0 は S D R A Mや R D R AMな どのメ モ リ であ り 、 圧縮動画デー タ 、 圧縮音声デ ^ ~ ね 復号後の音声デー タ 、 復号後の動画デー タ な どを一時的に記憶 する。
ス ト リ ー ム ュニ ッ ト 2 0 1 は、外部か ら ス ト リ - -ムデー タ(い わゆ る M P E Gス ト リ ー ム) を入力 し、 入力 されたス ト リ ー ム デー タ を ビデオエ レ メ ン タ リ ース ト リ ーム、 ォーデ ィ ォエ レ メ ン タ リ ー ス ト リ ー ム に分離 し、 それぞれを I Oバ ッ フ ァ 2 0 2 に書き込む。
I / 0ノ ッ フ ァ 2 0 2 は、 ビデオ エ レ メ ン タ リ ー - ス ト リ ー ム、 オ ー デ ィ オ エ レ メ ン タ リ ー ス ト リ ー ム、 オ ー デ ィ ォデー タ (伸 長されたオーデ ィ オデー タ) を一時的に保持する バ ッ フ ァ メ モ リ である。 ビデオエ レメ ン タ リ ー ス ト リ ーム、 ォ一デ ィ ォエ レ メ ン 夕 リ ース ト リ ーム はそれぞれス ト リ ームュニ ッ ト 2 0 1 か ら I . Z 0ノ ッ フ ァ 2 0 2 に格納され、 さ ら に I 0 P 2 1 1 の制 御に よ っ てデ ュ アルポー ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 に格納される。 オーデ ィ オデー タ は、 I O P 2 1 1 の制御 に よ っ て外部メ モ リ 2 2 0か ら デュ アルポー ト メ モ リ 1 0 0 を 介 して I /Oノ ッ フ ァ 2 0 2 に格納される。
セ ッ ト ア ッ ププロ セ ッ サ 2 0 3 は、 オーデ ィ オエ レ メ ン タ リ 一ス ト リ ー ム のデコ ー ド (伸長) と、 ビデオエ レ メ ン タ リ ー ス ト リ ーム のマ ク ロ プロ ッ ク のヘ ッ ダ解析と を行う 。 オーデ ィ オ エ レ メ ン タ リ ース ト リ 一ム及ぴビデオエ レ メ ン タ リ ー ス ト リ ー ムは、 I O P 2 1 1 の制御に よ っ て、 外部メ モ リ 2 2 0 か ら デ ユ アルポ一 ト メ モ リ 1 0 0 を介 して ビ ッ ト ス ト リ ーム F I F 0 2 0 4 に転送さ れる。 セ ッ ト ア ッ ププロ セ ッ サ 2 0 3 は ビ ッ ト ス ト リ ー ム F I F O 2 0 4か ら オーデ ィ オ エ レ メ ン ダ リ 一 ス ト リ ーム を読み出 してデコ ー ド し、 デコ 一 ド後のオーデ ィ ォデー タ をセ ッ ト ア ッ プメ モ リ 2 1 7 に格納する。 セ ッ ト ア ッ プメ モ リ 2 1 7 内のオーデ ィ オデー タ は、 I O P 2 1 1 に よ っ てデュ アルポー ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 に転送され る。 ま た、 セ ッ ト ア ッ ププロ セ ッ サ 2 0 3 は、 ビ ッ ト ス ト リ ー ム F I F O 2 0 4か ら ビデオエ レ メ ン タ リ ース ト リ ーム を読み 出 して マ ク ロ ブロ ッ ク ヘ ッ ダを解析 し、 解析結果を V L D 2 0 5 に通知する。
ビ ッ ト ス ト リ 一ム F I F O 2 0 4は、 ビデオエ レメ ン タ リ ー ス ト リ ー ムを可変長符号復号部 2 0 5 に、 オーディ ォエ レ メ ン 夕 リ ー ス ト リ ーム をセ ッ ト ア ッ ププロ セ ッ サ 2 0 3 に供給する ための F I F Oメ モ リ であ る。 ビデオエ レ メ ン タ リ ース ト リ 一 ム及びオーデ ィ オ エ レメ ン タ リ ース ト リ ームは、 I O P 2 1 1 の制御に よ っ て外部メ モ リ 2 2 0 か ら デュ アルポ一 ト メ モ リ 1 0 0 を介 して ビ ッ ト ス ト リ ー ム F I F O 2 0 4に転送される。
V L D 2 0 5 は、 ビ ッ ト ス ト リ ーム F I F O 2 0 4か ら供給 される ビデオエ レメ ン タ リ ー ス ト リ ーム に含まれる可変長符号 を復号する。 こ の復号結果は マ ク ロ ブロ ッ ク単位の D C T係数 群であ る。
T E 2 0 6は、 V L D 2 0 5の復号結果に対 してマ ク ロ プロ ッ ク 単位に I Q (逆量子化) 処理及び I D C T (逆 D C T) 処 理を行う 。 これ ら の処理結果は マ ク ロ ブロ ッ ク である。 1 マ ク ロ ブロ ッ ク は、 4つの輝度ブロ ッ ク (Y 1 ~ Y 4 ) と 2つの色 差ブロ ッ ク ( C b、 C r ) か ら な る。 1 ブロ ッ ク は 8 X 8画素 であ る。 但 し、 P ピク チ ャ 、 Bピク チ ャ について は 1 ブロ ッ ク は 8 x 8個の差分値と して T E 2 0 6か ら 出力 され。 T E 2 0 6は復号結果をデ ュ アルポー ト メ モ リ 1 0 0を介 して外部メ モ リ 2 2 0 に格納する。
P O U A 2 0 7は、 主に ( a ) フ ィ ルタ 処理、 ( b ) M C処理 ( c ) O S D処理、 ( d ) 動き予測 (Moving Estimation) 処理 な どを選択的に実行す る。
( a ) の フ ィ ルタ処理では、 P O U A 2 0 7 は外部メ モ リ 2 2 0 に格納された ビデオデー タ ( フ レ ー ムデー タ ) に含まれる 1 6個の画素デー タ を並列に フ ィ ルタ リ ン グ し、 フ ィ ルタ リ ン グ後の 1 6個の画素を間引 く 又は補間する こ と に よ り縮小、 拡 大す る。 縮小語の後のデー タ は P O U C 2 0 9の制御に よ っ て デュ アルポー ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 に格納 される。 '
( b ) の M C処理では、 P O U A 2 0 7は、 T E 2 0 6 に よ つ て外部メ モ リ 2 2 0 に格納された P ピク チ ャ 及び Bピク チ ャ についての I Q及び I D C T処理結果 (つ ま り 画素デー タ の差 分値) と、 参照フ レ ー ム中の画素デー タ と を 1 6並列に加算す る。 1 6組の差分値と画素デー タ は、 セ ッ ト ア ッ ププロ セ ッ サ 2 0 3 におけ る マ ク ロ ブロ ッ ク ヘ ッ ダ解析に よ っ て検出 された 動きベク ト ルに従っ て、 P O U C 2 0 9 に よ っ て P O U A 2 0 7 に入力 さ れる。
( c ) O S D処理では、 P O U A 2 0 7 は、 外部メ モ リ 2 2 0等に格納された O S D画像 (静止画) をデュ アルポー ト メ モ リ 1 0 0 を介 して入力 し、 外部メ モ リ 2 2 0 内の表示用 フ レー ムデー タ に上書きする。 こ こ で O S D画像と は、 ユーザの リ モ コ ン操作な どに応 じて表示される メ ニ ュ ー画像や、 時刻表示、 チ ャ ネ ル番号表示な どをいう 。
( d ) の M E処理と は、 未圧縮の フ レーム デー タ 内の符号化 対象のマ ク ロ ブロ ッ ク に対 して、 参照フ レーム中の相関性の高 い矩形領域を探索 し、 符号化対象のマ ク ロ プロ ッ ク か ら相関性 の最も 高い矩形領域を指す動きべク ト ルを求め る処理であ る。 P O U A 2 0 7 は、 符号化対象の マ ク ロ ブロ ッ ク の画素と、 探 索領域内の矩形領域の画素 と の差分を 1 6個並列で算出す る。
P O U B 2 0 8 は、 P O U A 2 0 7 と 同一構成であ り 、 上記 ( a ) 〜 ( d ) の処理を動的に分担する。
P O U C 2 0 9 は、 P O U A 2 0 7 及ぴ P O U B 2 0 8 に対 する画素デー タ群の供給と、 処理結果の外部メ モ リ 2 2 0 への 転送と を制御する。
オーデ ィ オ ュニ ッ ト 2 1 0 は、 I / 0ノ ッ フ ァ 2 0 2 に格納 されたオーデ ィ ォデータ を出力す る。
I O P 2 1 1 は、 メ デ ィ アプロ セ ッ サ 2 0 0 内のデー タ入出 力 (デー タ転送) を制御する。 デー タ転送には次の種類があ る。 第 1 は、 I ノ 0ノ ッ フ ァ 2 0 2 に格納された ス ト リ ーム デー タ をデュ アルポー ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 内の ス ト リ ー ムノ ッ フ ァ領域に転送す る こ とである。 第 2 は、 外部 メ モ リ 2 2 0 に格納された ビデオ エ レメ ン タ リ ー ス ト リ ーム及 びオーデ ィ オエ レメ ンタ リ ー ス ト リ ーム をデュ アルポ一 ト メ モ リ 1 0 0 を介 して ビ ッ ト ス ト リ ー ム F I F O 2 0 4 に転送す る こ と であ る。 第 3 は、 外部メ モ リ デバイ ス 2 に格納されたォー デ ィ ォデータ をデュ アルポ一 ト メ モ リ 1 0 0 を介 して I / 0パ ッ フ ァ 2 0 2 に転送する こ と であ る。
ビデオ ュニ ッ ト 2 1 3 は、 外部メ モ リ 2 2 0の ビデオデー タ (画像フ レ ー ム)か ら 2, 3ラ イ ン分の画素デー タ を読み出 して、 ビデオノ ッ フ ァ メ モ リ 2 1 2 に格納 し、 その 2 , 3ラ イ ン分の画 素デー タ を映像信号に変換 して外部に接続されたテ レ ビ受像器 等のデ ィ ス プ レ イ 装置に 出力する。 ·
ホ ス ト ユニ ッ ト (HOST) 2 1 4は、 外部のホ ス ト マ イ コ ンか ら の指示を受け取 り 、 指示に応 じて M P E Gデコ 一 ド、 M P E G エ ン コ ー ド、 O S D処理、 縮小 ' 拡大処理な ど開始 ' 終了 を制 御す る。
レ ンダ リ ン グエ ンジ ン (RE) 2 1 5 は、 マ ス タ 一デバイ ス であ り 、 コ ン ピュ ー タ · グラ フ ィ ッ ク ス における レ ンダ リ ン グ処理 を行う 。 外部に専用 L S I 2 1 8 と が接続されてい る場合に間 でデー タ 入出力を行う 。
フ ィ ルタ 2 1 6 は、 静止画デー タ の拡大縮小処理を行う 。 外 部に専用 L S I 2 1 8 と が接続さ れてい る場合に間でデー タ 入 出力を行う。
上記ではメ デ ィ アプロ セ ッ サが、 ス ト リ ームユニ ッ ト 2 0 1 か ら ス ト リ ー ムデータ を入力 して デコ ー ド (伸長) する場合を 中心に説明 したが、 圧縮されていない ビデオデー タ及びオーデ ィ ォデー タ をエ ン コ ー ド (圧縮) する場合は、 逆の流れと な る。 その際、 P O U A 2 0 7 (又は P O U B 2 0 8 ) は M E処理を、
T E 2 0 6は D C T処理及び Q (量子化) 処理を、 V L D 2 0 5 は可変長符号化を、 行う 。
< 1 . 1 画素演算ユニ ッ ト の構成 >
図 3 は、 画素演算ュニ ッ ト の構成を示すブロ ッ ク 図である。 P O U A 2 0 7 と P O U B 2 0 8 は同 じ構成であ るため、 こ こ では P O U A 2 0 7 を説明する。
同図の よ う に P O U A 2 0 7 は、 画素並列処理部 2 1 、 入力 バ ッ フ ァ群 2 2
出カノ ッ フ ァ群 2 3 、 命令メ モ リ 2 4、 命令デコ ーダ 2 5 、 指 示回路 2 6、 D D A回路 2 7 を備え る。
画素並列処理部 2 1 は、 画素転送部 1 7 、 1 6個の画素処理 部 1 〜画素処理部 1 6 、 画素転送部 1 8 を備え、 入力バ ッ フ ァ 群 2 2 か ら入力 される複数の画素を対象に上記 ( a ) フ ィ ルタ 処理、 ( b ) M C処理、 ( c ) O S D処理、 ( d ) M E ) 処理を行 い、 出力バ ッ フ ァ群 2 3 に 出力す る。 ( a ) 〜 ( d ) の各処理は マ ク ロ ブロ ッ ク 単位すなわち 1 6 画素を 1 6 回( 1 6 ラ イ ン分) 繰 り 返す こ と に よ り 終了する。 各処理の起動は、 P O U C 2 0 9 に よ り 制御される。 ま た、 画素転送部 1 7 は、 フ ィ ルタ 処理 において 1 6個の画素の さ ら に左側 (又は上側) の複数画素 (こ こ では 8画素) を保持 し、 ク ロ ッ ク毎に右シ フ ト する。 画素転 送部 1 8 は、 フ ィ ルタ 処理において 1 6個の画素の さ ら に右側 (又は下側) の複数画素 (こ こ では 8画素) を保持 し、 ク ロ ッ ク毎に左シ フ ト ア ウ ト する。
入カノ ッ フ ァ群 2 2 は、 P O U C 2 0 9 の制御に よ り 、 デュ ァルポ一 ト メ モ リ 1 0 0 か ら転送される処理対象と な る複数の 画素を保持 し、 さ ら に フ ィ ルタ処理では フ ィ ルタ 係数も保持す る。
出力バ ッ フ ァ群 2 3 は、 画素並列処理部 2 1 に よ る処理結果 ( 1 6 画素に対応する 1 6 の処理結果) の並びを任意に変更 し て一時的に保持す る。 フ ィ ルタ処理では画素の並びを変更 して 保持する こ と に よ り 画素の間引 き (縮小時) 又は補間 (拡大時) と を行う 。
命令メ モ リ 2 4 は、フ ィ ルタ 処理用のマ イ ク ロ プロ グラ ム(フ ィ ルタ P )、 M C処理用のマ イ ク ロ プロ グラ ム (M C P;)、 〇 S D処理用 のマ イ ク ロ プロ グラ ム ( O S D 〃 P:)、 M E処理用 のマ イ ク ロ プロ グラ ム (M E P ) を記憶 してい る。 これ以外 に も命令メ モ リ 2 4 は、 マ ク ロ プロ ッ ク の フ ォ ー マ ツ ト 変換用 のマ イ ク ロ プロ グラ ム、 画素の数値表現を変換す るためのマ イ ク ロ プロ グラ ムな どを記憶 してい る。 こ こ で、 マ ク ロ ブロ ッ ク の フ ォ ーマ ツ ト と は、 M P E G規格に定め られてい る 「 4 : 2 : 0」、 「 4 : 2 : 2」、 「 4 : 4 : 4」 な どの Y、 C b、 C r プロ ッ ク の画素のサ ンプ リ ン グ レー ト の比率をい う。 画素の数値表 現に は画素の と り う る 値 と し て 0 ~ 2 5 5 で表現さ れ る 場合 (一般的な M P E Gデー タ等) と 一 1 2 8〜 1 2 7 で表現さ れ る場合 ( D Vカ メ ラ等) があ る。
命令デコ ーダ 2 5 は、 命令メ モ リ 2 4 か ら マ イ ク ロ プロ グラ ム中のマ イ ク ロ コ ー ド を逐次読み出 して解読 し、 解読結果に従 つ て P O U A 2 0 7 内の各部を制御する。
指示回路 2 6 は、 P O U C 2 0 9 か ら命令メ モ リ 2 4 の どの マイ ク π プロ グラ ム を起動すべきかの指示 (開始ァ ド レ ス等) を受付けて、 指示された マイ ク ロ プロ グラ ム を起動する。
D D A回路 2 7 は、 フ ィ ルタ ^理において、 入力バッ フ ァ群
2 2 に保持された フ ィ ル夕係数群の選択制御を行う。
< 1 . 2 画素並列処理部の構成 >
図 4、 図 5 は、 画素並列処理部の左半分、 右半分の詳細な構 成を示すプロ ッ ク 図であ る。
図 4 において画素転送部 1 7 は、 8個の入力ポ一 ト A 1 7 0 1 〜 H 1 7 0 8、 画素デー タ 保持 し 1 ク ロ ッ ク 時間遅延する 8 個の遅延器 A 1 7 0 1 〜遅延器 H I 7 0 9、 入力ポー ト の画素 デー タ と左の遅延器出力の内一方を選択する 7個の選択部 A 1 7 1 7 ~ G 1 7 2 3 か ら構成され、 入力バ ッ フ ァ群 2 2 か ら並 列入力 される 8画素を 8つの遅延器に保持 し、 8つの遅延器に 保持 した画素を ク ロ ッ ク 同期 して右シ フ ト する右シ フ タ と して 機能する。
図 5 において画素転送部 1 8は画素転送部 1 7 と比べシ フ ト する方向が左であ る点で異な り 、 これ以外は同様の構成なので 説明 を省略す る。
図 4、 図 5 におけ る 1 6個の画素処理部 1 〜画素処理部 1 6 は、 いずれ も 同一構成である ので、 画素処理部 2 を代表と して 説明する。
画素処理部 2 は、 入力ポー ト A 2 0 1 〜入力ポー ト C 2 0 3 と、 選択部 A 2 0 4、 B 2 0 5、 遅延器 A 2 0 6〜 D 2 0 9、 加算器 A 1 2 0、 乗算器 A 2 1 1 、 加算器 B 2 1 2、 出力ポー ト D 2 1 3 と か ら構成される。
選択部 A 2 0 4は、 入力ポー ト A 2 0 1 か ら入力 される画素 デー タ と左隣の画素転送部 1 7か ら 出力 さ れる画素デー タ と の う ち一方を選択する。
選択部 A 2 0 4 と遅延器 A 2 0 6は、 右隣の画素処理部 3か ら入力される画素デー タ を左隣の画素処理部 1 に シ フ ト 出力す る機能 も果たす。
選択部 B 2 0 5は、 入力ポー ト B 2 0 2か ら入力 される 画素 デー タ と右隣外部メ モ リ 2 2 0か ら シ フ ト 出力 される画素デ一 夕 と の う ち一方を選択する。 .
選択部 B 2 0 5 と遅延器 B 2 0 7は、 左隣の画素処理部 1 か ら入力 される画素データ を右隣の画素処理部 3 に シ フ ト 出力す る機能も果たす。
遅延器 A 2 0 6、遅延器 B 2 0 7 はそれぞれ選択部 A 2 0 4、 選択部 B 2 0 5 に選択された画素デー タ を保持す る。
遅延器 B 2 0 7 は、 入力ポー ト C 2 0 3か ら の画素デー タ を 保持する
加算器 A 1 2 0 は遅延器 A 2 0 6 と遅延器 B 2 0 7か ら 出力 される画素デー タ を加算する。
乗算器 A 2 1 1 は、 加算器 A 1 2 0の加算結果 と遅延器 C 2 0 8か ら の画素デー タ と を乗算す る。 こ の乗算器 A 2 1 1 は フ ィ ルタ処理では画素デー タ と フ ィ ルタ係数と の乗算に利用 され る。
加算器 B 2 1 2は、 乗算器 A 2 1 1 の乗算結果を遅延器 D 2 0 9 のデー タ と を加算す る。
遅延器 D 1 0 9は、 加算器 B 2 1 2の加算結果を累積す る。 画素処理部 2 は、 これ ら の構成要素を選択的に組み合わせて 動作させる こ と に よ り 上記 ( a ) フ ィ ルタ 処理、 ( b ) M C処理 ( c ) O S D処理、 ( d ) M E処理を実行する。 こ れら の構成要 素を選択的に組み合わせる動作は、 命令メ モ リ 2 4及び命令デ コ ーダ 2 5 に よ る マ イ ク ロ プロ グラ ム制御に よ っ てな される。
図 6 ( a ) は、 入力バ ッ フ ァ群 2 2の詳細な構成を示すプロ ッ ク 図であ る。
同図の よ う に入力バ ッ フ ァ群 2 2は、 画素転送部 1 7 に画素 デー タ を供給す る 8個の ラ ッ チ 2 2 1 と、 画素処理部 1 〜 1 6 に画素デー タ を供給す る 1 6個の ラ ッ チ部 2 2 2 と、 画素転送 部 1 8 に画素デー タ を供給す る 8個のラ ッ チ 2 2 3 と か ら構成 される。 こ れ ら は、 P O U C 2 0 9の制御に よ り 外部メ モ リ 2 2 0か ら デ ュ アルポー ト メ モ リ 1 0 0 を介 して画素デー タ群が 転送される。 各ラ ッ チ部 2 2 2 は、 画素処理部の入力ポー ト A、 B に画素 データ を供給す る 2個の ラ ッ チ と、 画素処理部の入力ポー ト C に画素デー タ 又は フ ィ ル夕係数を供給する選択部 2 2 4 か ら な る。
図 6 ( b ) は、 選択部 2 2 4 の詳細な構成を示すブロ ッ ク 図 である。
同図の よ う に選択部 2 2 4 は、 8 つのラ ッ チ 2 2 4 a〜 2 2 4 h と、 8 つの ラ ッ チか ら データ の何れか 1 つ を選択す る セ レ ク タ 2 2 4 i と か ら なる。
ラ ッ チ 2 2 4 a〜 2 2 4 h は、 フ ィ ルタ処理において フ ィ ル タ 係数 a0〜a7 (又は a0/2、 al~ a7) を保持する。 これ ら フ ィ ル タ 係数は、 P O U C 2 0 9 に よ り 外部メ モ リ 2 2 0 か ら デュ ア ルポー ト メ モ リ 1 0 0 を介 して ラ ッ チ 2 2 4 a〜 2 2 4 h に転 送される。
セ レ ク タ 2 2 4 i は、 D D A回路 2 7 の制御に よ っ て ク ロ ッ ク に同期 し て ラ ッ チ 2 2 4 a か ら 2 2 4 h に順次選択さ れる。 こ のよ う に フ ィ ルタ 係数の画素処理部への供給は、 マ イ ク ロ コ 一 ド に よ り 直接制御される のではな く 、 D D A回路 2 7 に よ り ハ ー ド ウ ヱ ァ に よ り 制御される ので高速化される。
図 7 は、出カノ ッ フ ァ群 2 3 の構成を示すプロ ッ ク 図であ る。 同図の よ う に 出力バ ッ フ ァ群 2 3 は、 1 6個の セ レ ク タ 2 4 a〜 2 4 p と、 1 6 個の ラ ッ チ 2 3 a〜 2 3 p と か ら な る。 セ レ ク タ 2 4 a ~ 2 4 p は、 いずれも画素処理部 1 〜 1 6 の 1 6個の処理結果が入力 され、 その う ち 1 つ を選択する。 こ の 選択制御は命令デコ ーダ 2 5 に よ っ てなされる。
ラ ッ チ 2 3 a〜 2 3 p はそれぞれセ レ ク タ 2 4 a〜 2 4 p の 選択結果を保持する。
例えば、 フ ィ ルタ 処理の結果を 1 ノ 2 に縮小す る場合には、 1 6個の画素に対す る画素処理部 1 〜 1 6 の 1 6個の処理結果 の う ち、 画素処理部 1、 3、 5、 · · · 1 5 の処理結果を 8個の セ レ ク タ 2 4 a ~ 2 4 hが選択 して ラ ッ チ 2 3 a〜 2 3 h に格 納され、 さ ら に、 次の 1 6個の画素に対す る画素処理部 1 ~ 1 6 の 1 6個の処理結果の う ち、 画素処理部 2、 4、 6、 · · · 1 6 の処理結果を 8個のセ レ ク タ 2 4 i ~ 2 4 p が選択 して ラ ッ チ 2 3 i ~ 2 3 p に格納される。 こ の よ う に して画素が間引か れ、 1 ノ 2縮小 された 1 6個の画素データ が出力バ ッ フ ァ群 2 3 に保持さ れ、 さ ら に P O U C 2 0 9 の制御に よ り デュ アルポ 一 ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 に転送される。 < 2. 1 フ ィ ルタ処理 >
画素演算ュニ ッ ト における フ ィ ルタ処理の詳細について説明 する。
P O U C 2 0 9 は フ ィ ルタ処理の対象と なる マ ク ロ ブロ ッ ク を特定 し、 P O U A 2 0 7 又は P O U B 2 0 8 に対 して 3 2個 の画素デー タ 及びフ ィ ルタ係数 a0/2, al〜a7 を初期値と して入 力バ ッ フ ァ群 2 2 に転送 し、 さ ら に指示回路 2 6 に タ ッ プ数の 通知と と も に フ ィ ルタ処理の開始を指示する。
図 8 は、 画素演算ユニ ッ ト ( P O U A 2 0 7 ) にて フ ィ ル夕 処理を行う場合の画素デー タ の初期入力値を示す図であ る。 同 図において入力ポー ト 欄は図 4、 図 5 に示 した各入力ポー ト を 意味する。 入力画素欄は、 入力バ ッ フ ァ群 2 2 か ら各入力ポー ト に供給さ れる画素デー タ を意味す る。 出力ポー ト 欄は図 4、 図 5 に示 した 出力ポー ト D (加算器 B 出力) を、 出力画素欄は その出力値を意味す る。
入力ポー ト に画素データ を供給す る入力バ ッ フ ァ群 2 2 には 図 9 に示す よ う に水平方向 に連続す る 3 2 個の画素デー タ XI 〜X32 が、 P O U C 2 0 9 に よ っ て転送されて保持されている。 こ こ でのフ ィ ルタ 処理の対象は X9〜 X24の 16個の画素デー タ で あ る。 図 8 の よ う に画素処理部 1 〜 1 6 の入力ポー ト A及ぴ B には画素デー タ X9〜 X24が、 入力ポー ト C に は入力バ ッ フ ァ群 2 2 にて選択さ れた フ ィ ル タ 係数 aO/2 が初期値と して供給さ れる。
さ ら に、 入力バ ッ フ ァ群 2 2 か ら初期入力値が画素並列処理 部 2 1 に供給された後、 フ ィ ルタ 処理と して所望する タ ッ プ数 に応 じ た数の ク 口 ッ ク入力に よ り フ ィ ルタ処理がな される。
図 1 0 は、 16個の画素処理部の う ち画素処理部 1 を代表と し て、 その演算過程を示す説明図であ る。 同図では、 入力ク ロ ッ ク数毎に、 画素処理部 1 内の遅延器 A ~ Dの保持内容 と、 加算 器 Bの出力値と を記 してい る。 ま た、 図 1 1 は、 画素処理部 1 の ク ロ ッ ク入力毎の 出力ポー ト D (加算器 B 出力) の出力値を 示す図であ る
画素処理部 1 は最初の ク ロ ッ ク 入力 (CLK1) に よ っ て初期入 力値と して遅延器 A及び Bは画素デー タ X9 を、遅延器 Dは フ ィ ルタ係数 aO/2 を保持 し、 遅延器 ]) は 0 ク リ ア される。 こ の と き 選択部 A及び B は何れも入力ポー ト を選択 してい る。 その結果 加算器 Aは (X9 + X9)を、 乗算器 Aは (X9 + X9)*a0/2 を、 加算器 B は (X9*a0/2 + 0 (つま り aO*X9) を 出力する (図 1 1 参照)。
2 回 目 の ク ロ ッ ク入力 (CLK2) 以降では、 選択部 A及び Bは 入力ポー ト A、 Bではな く 隣接す る画素処理部又は画素転送部 か ら の シ フ ト 出力を選択する。
2 回 目 の ク ロ ッ ク入力 ( CLK2) に よ っ て、 遅延器 A〜 D には、 画素データ X10、 X8、 フ ィ ル タ 係数 al、 aO*X9 を保持す る。 そ の結果、加算器 Bは aO*X9 + al (X10 + X8)を出力す る (図 1 1 参照) こ の よ う に 2 回 目 は、 フ ィ ルタ係数 al (遅延器 C ) と、 両隣か ら シ フ ト 出力 さ れる画素デー タ の和 (加算器 A ) と を乗算器 A に て乗算 してい る。 加算器 Bは、 こ の乗算結果と遅延器 Dの累 積値と を加算 してい る。
3 回 目 の ク ロ ッ ク入力 (CLK3) では、 画素処理部 1 は 2 回 目 の ク ロ ッ ク入力 と 同様に動作をす る こ と に よ り 、 加算器 Bか ら aO*X9 + al (X 10 + x8) +a2 (X 11 +X7)を出力する。
4 回 目 〜 9 回 目 の ク ロ ッ ク 入力 ( CLK4〜 CLK 9 ) でも 同様に動 作をする こ と に よ り 、 加算器 B は図 1 1 に示す出力値をそれぞ れ出力する こ と にな る。
こ の よ う に して、 画素処理部 1 の フ ァ イ ルタ 処理結果 (出力 デー タ) は 9 ク ロ ッ ク の場合、 ,
aO-X9 + al (XI 0 + X8) +a2 (XI 1 +X7) +a3 (XI 2 + X6)
+a4(X13+X5) +a5(X14+X4) +a6(X15+X3) +a7(X16+X2) +a8(X17+Xl) と な る。
図 1 0 、 図 1 1 では CLK 9 ま での処理過程を示 してい る が、 入力 ク ロ ッ ク数は P O U C 2 0 9 か ら通知された タ ッ プ数に応 じて命令デコ ーダ 2 5 の制御に よ っ て打ち切 られる。すなわち、 各画素処理部は、 タ ッ プ数 3 の場合は CLK2 でフ ィ ルタ 処理を 終了 し、 タ ッ プ数 5 の場合は CLK3 で終了 し、 タ ッ プ数 7 の場 合は CLK4で フ ィ ルタ処理を終了する。別言する と、タ ッ プ数( 2 n — 1 ) の フ ィ ルタ処理では n回の ク ロ ッ ク入力で終了す る。 命令デコ ーダ 2 5 は 1 6 画素の並列処理を 1 6 ラ イ ン分繰 り 返 し、 これに よ り 4 ブロ ッ ク の フ ィ ル夕 処理を終え る。 その際、 1 6個の フ ィ ルタ 処理結果は、 出カノ ッ フ ァ群 2 3 において間 引 き処理ま たは補間処理される こ と に よ っ て縮小又は拡大され る。 出力バ ッ フ ァ群 2 3 の縮小又は拡大後の画素群は 1 6個保 持される毎に P O U C 2 0 9 の制御に.よ っ てデュ アルポー ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 に転送される。 ま た、 命 令デコ ーダ 2 5 は、 16 ラ イ ン 目終了時に P O U C 2 0 9 に終了 した 旨を通知する。 P 0 U C 2 0 9 は、 次のマ ク ロ ブロ ッ ク に ついて上記と 同様に P O U A 2 0 7 を初期入力値と フ ィ ルタ係 数の供給及びフ ィ ルタ処理の開始を指示する。
なお、 画素処理部 2 の フ ァ イ ルタ 処理結果は 9 ク ロ ッ ク の場 合次式と なる。
aO-X10 + al ( 11 +X9) +a2 (X 12 + X8) +a3 (X 13 + X7)
+ a4(X14 + X6) +a5 ( 15 + X5) +a6 (X 16 + X4) +a7 (X 17 + X3) +a8(X18 + X2) 画素処理部 3 の フ ア イ ルタ 処理結果は 9 ク 口 ッ ク の場合次式 と な る。
aO-Xl 1+al (X12 + X10) +a2 (X 13 + X9) +a3 (X 14 + X8)
+a4(X15+X7) +a5(X16+X6) +a6(X17+X5) +a7(X18+X4) +a8(X19+X3) . 画素処理部 4 ~ 1 6 の フ ァ ィ ルタ処理結果も画素位置が異な る のみで同様なので省略する。
この よ う に画素並列処理部 2 1 は、 16個の入力画素に対 して 並列に フ ィ ルタ処理を実行 し、 しか も入力 ク ロ ッ ク数の制御に よ っ て タ ッ プ数を任意にする こ と ができ る。
なお、 図 8 では、 画素処理部 1 の入力ポー ト A、 B、 C の入 力画素が (X9、 X9、 aO/2) と してい る が、 (X9、 0、 aO) 又は ( 0. X9、 aO) と して も よい。 画素処理部 2 ~ 1 6 も対象画素が異な る だけで同様に して も よい。
< 2 . 2 M C (動き補償) 処理 >
復号対象フ レームが P ピク チ ャ であ る場合の M C処理の詳細 について説明する。
P 0 U C 2 0 9 は指示回路 2 6 に M C処理の開始を指示する と と も に、 M C処理の対象と な る復号処理中のフ レーム 内のマ ク ロ ブロ ッ ク (差分値) と、 参照フ レーム におけ る動きべク ト ルが指す矩形領域を特定 し、 P O U A 2 0 7 又は P O U B 2 0
8 に対 して 1 6 個の差分値 D1〜D16 及び矩形領域内の 1 6 個の 画素データ P1〜P16を入力パ ッ フ ァ群 2 2 に設定する。
• 図 1 2は、 画素演算ユニ ッ ト にて M C処理 ( P ピク チ ャ ) を 行う場合の入出力画素デー タ を示す図である。 同図において入 力ポー ト 欄は、 図 4及び図 5 に示 した画素転送部 1 7、 画素処 理部 1 〜 1 6、 画素転送部 1 8の入力ポー ト を意味する。 入力 画素欄は、 入力ポー ト に入力 される画素デー タ を意味す る。 M C処理では画素転送部 1 7及び 1 8は使用 されないので、 入力 画素は何であ っ て も よ い ( don ' t care)。 出力ポー ト 欄は図 4、 図 5 に示 し た出力ポー ト D (加算器 B出力) を、 出力画素欄は その出力値を意味す る。
図 1 3 は M C処理におけ る画素処理部 1 〜 1 6への入力画素 の説明図である。 同図に示すよ う に D1~D16は復号対象 フ レー ムのマ ク ロ ブロ ッ ク (M B ) 中の 1 6個の差分値である。 Pl~ P16 は参照フ レーム において動きべク ト ルが指す矩形領域中の 1 6個の画素デー タ であ る。
M C処理では、 画素処理部 1 〜 1 6 内の選択部 A、 Bはそれ ぞれ常に入力ポー ト A、 Bを選択する。 こ れに よ り 、 入力ポー ト Aか ら の画素デー タ 、 入力ポー ト Bか ら の差分値は、 選択部 A、 Bを介 して遅延器 A、 Bに入力 され保持され、 さ ら に加算 器 Aにて加算される。 こ の加算結果は乗算器にて 1 倍さ れ、 加 算器 Bにて 0 を加え られて 出力ポー ト Dか ら 出力 される。 つま り 入力ポー ト Aか ら の画素データ と入力ポー ト Bか らの差分値 と単純に加算され出力ポー ト Dか ら 出力 される。
さ ら に 1 6個の加算結果は出力バ ッ フ ァ群 2 3 に格納され、 P O U C 2 0 9 に よ り デュ アルポー ト メ モ リ 1 0 0 を介 して外 部メ モ リ 2 2 0内の復号対象フ レーム に書き戻される。
以上の処理を復号対象フ レーム の 1 6画素単位に繰 り 返す こ と に よ り M C処理がな さ れる。 なお、 各画素処理部では単純加 算 してい る だけであ り 1 ク ロ ッ ク毎に 1 6 画素の加算結果を得 る こ とができ る。
次に復号対象フ レームが B ピク チ ャ の場合の M C処理を説明 する。
図 1 4 は、 画素演算ユニ ッ ト にて M C処理 ( B ピク チ ャ ) を 行う 場合の入出力画素デー タ を示す図であ る。 同図において入 力ポー ト 欄、 入力画素欄、 出力ポー ト 欄、 出力画素欄は、 図 1 2 と 同様であ る。 ただ し、 入力画素欄は第 1 ク ロ ッ ク (CLK1) と第 2 ク ロ ッ ク ( CLK2) と 2 回に分けて入力 される点が図 1 2 と異な っ てい る。
Pl~ P16 と 、 B1〜B16 は異な る 2 つの参照フ レーム においてそ れぞれ動き べク ト ルが指す矩形領域中の 1 6個の画素デー タ で ある。
M C処理では、 画素処理部 1 〜 1 6 内の選択部 A、 B はそれ ぞれ常に入力ポー ト A、 B を選択する。 第 1 ク ロ ッ ク ( CLK 1 ) において入力ポー ト A、 Bか ら選択部 A、 B を介 して遅延器 A、 B に Pl、 B1 が保持され、 同時に入力ポー ト C か ら定数 1/2遅延 器 C に保持される。 こ れに よ り 乗算器 Aか ら (P1+B /2 が得 ら れる。 第 2 ク ロ ッ ク (CLK2)において、 乗算結果 (Ρ1+ΒΠ/2 が遅 延器 Dに保持さ れ、 同時に入力ポー ト 八、 B、 C か ら の (1, 0, D1) が遅延器 A、 B、 C に保持される ので、 乗算器 Aか らの D1 と遅 延器 D か ら の (P1+BD/2 と が加算器 B に よ り 加算される。 その 結果出力ポー ト か ら (P1+BD/2 + D1 が出力 される。
さ ら に 1 6個の加算結果は 出力バ ッ フ ァ群 2 3 に格納され、 P O U C 2 0 9 に よ り デュ アルポー ト メ モ リ 1 0 0 を介 して外 部メ モ リ 2 2 0 内の復号対象フ レ ー ム に書き戻さ れる。
以上の処理を復号対象フ レ ー ム の 1 6 画素単位に繰 り 返す こ と に よ り B ピク チ ャ に対する M C処理がな される。 < 2. 3 O S D (オ ン ス ク リ ー ン デ ィ ス プ レ イ ) 処理〉
P O U C 2 0 9 は指示回路 2 6 に O S D処理の開始を指示す る と と も に、 外部メ モ リ 2 2 0 に保持された O S D画像か ら順 次 1 6個の画素デー タ XI〜 XI 6を読み出 して入力バ ッ フ ァ群 2 2 に設定する。
図 1 5は、 画素演算ユニ ッ ト に て O S D (オ ン ス ク リ ー ンデ イ ス プ レ イ ) 処理を行う場合の入出力画素デー タ を示す図であ る。
同図において画素転送部 1 7、 1 8は使用 されない。 画素処 理部 1 〜 1 6 の入力ポー ト Aに は入力バ ッ フ ァ群 2 2か ら画素 デー タ X 1 ~ X 16が、 入力ポー ト Bにはそれぞれ 0が、 入力ポー ト C に はそれぞれ 1 が入力 される。 図 1 6 に O S D画像中の 1 6個の画素が順次入力バ ッ フ ァ群 2 2 に書き込まれる様子を示 す。
画素処理部 1 〜 1 6 内の各選択部 A、 Bは、 O S D処理では 入力ポー ト を常に選択する。 例えば、 画素処理部 1 では、 入力 ポー ト Aの画素デー タ XI、 入力ポー ト Bの " 0 " は、 それぞれ 遅延器 A、 B に保持 さ れ、 さ ら に加算器 Aに よ り 加算 さ れ る (X1+0= X1)。加算結果は乗算器 Aにて入力ポー ト Cか ら入力 さ れた " 1 " と乗算さ れ加算器 Bにて " 0 " が加算される。 その 結果、入力ポー ト Aの画素データ XI はそのま ま加算器 Bか ら 出 力 される こ と に な る。 同様に画素処理部 2〜画素処理部 1 6か ら の入力ポー ト Aの画素デー タ X2〜X16がそのま ま加算器 Bか ら 出力 される。
加算器 Bか ら 出力 された画素デー タ XI ~ XI 6は出力バ ッ フ ァ 群 2 3 に格納され、 さ ら に P O U C 2 0 9 に よ っ てデュ アルポ 一 ト メ モ リ 1 0 0 を介 して外部メ モ リ 2 2 0 内の表示用 フ レ ー ムデータ に上書き される。 上記処理を図 1 6 に示 した よ う に、 O S D画像全体に繰 り 返 す こ と に よ り 、 外部メ モ リ 2 2 0 内の O S D画像を表示用 フ レ ーム デー タ に上書き コ ピーする こ と にな る。 これは、 O S D処 理の う ち最も 単純な処理であ り 、 P O U A 2 0 7 又は P O U B 2 0 8 は単に 0 S D画像を 1 6 画素単位に中継 している だけで あ 。
なお、 O S D処理の他の形態と して、 ( l ) O S D画像と表示 用 フ レー ム デー タ と をプ レ ン ド して も よい。 ブ レ ン ド率が 0 . 5 の場合には、 入力バ ッ フ ァ群 2 2 か ら画素処理部 1 〜画素処 理部 1 6 の各入力ポー ト A に O S D画像の画素デー タ 、 各入力 ポー ト B に表示用 フ レ ー ムデー タ の画素デー タ を供給すればよ い。
ま た、 ブ レ ン ド率が α ( 1 - a ) の場合は、 入カノ ッ フ ァ群 2 2 か ら第 1 ク 口 ッ ク において各画素処理部の入力ポー ト A、 B、 C に ( O S D画像の画素デー タ 、 0 、 を、 第 2 ク ロ ッ ク に おいて ( 0 、 表示用 フ レームデー タ の画素デー タ 、 1 — ) を 供給すればよ い。
ま た、 0 S D画像を縮小表示する場合には、 入力バッ フ ァ群 2 2 か ら O S D画像に上記フ ィ ルタ 処理を施 し、 出力バ ッ フ ァ 群 2 3 か ら表示用 フ レームデータ 内の縮小表示すべき位置に上 書き コ ピーすればよい。
さ ら に、 O S D画像を フ ィ ルタ 処理に よ っ て縮小 した後上記 ブ レ ン ド をする よ う に して も よい。
< 2 . 4 M E (動き予測) 処理 >
図 1 7 は、 画素演算ュニ ッ ト にて M E (動き予測) 処理を行 う場合の入出力画素デー タ を示す図であ る。 同図の入力画素欄 において X1〜 X16 は符号化対象の フ レーム中のマ ク ロ ブ口 ッ ク の 16 画素.であ り 、 R1〜R16 は参照フ レーム中の 1 6 x 1 6 画素 の矩形領域中の 1 6画素であ る。 図 1 8は こ れ ら の画素の関係 を示す説明図であ る。 同図の参照フ レ ー ム中動きベ ク ト ル (M V) 探索範囲は、 符号化対象のマ ク ロ ブロ ッ ク と 同 じ位置の周 辺 (例えば水平及び垂直方向に + 1 6 画素 1 6 画素) の動 きべク ト ル を探索する対象と なる範囲であ る。 こ の MV探索範 囲 には、 1 6 画素 X I 6 画素の矩形領域が、 画素単位の探索で あれば 1 6 X I 6通 り の位置に存在 し、 ハー フ ペル ( 1 / 2画 素) 単位の探索であれば 3 2 x 3 2通 り の位置に存在する。 図 1 3では M V探索範囲内の左上の矩形領域のみを図示 してい る
M E処理は、 MV探索範囲内の個 々 の矩形領域 と、 符合化対 象のマ ク ロ プロ ッ ク と の間で、各画素同士の差分の総和を求め、 さ ら に総和が最小の矩形領域 (つま り 相関性の最 も高い矩形領 域) と符号化対象マ ク ロ ブ口 ッ ク と の相対的な位置の変位を動 き ベク ト ル と決定す る。 符号化対象ブロ ッ ク は相関性の最も高 い矩形領域 と差分が と られる。
入カノ ッ フ ァ群 2 2 には、 P O U C 2 0 9の制御に よ っ て、 符号化対象の画素デー タ X1〜X16 と、 一の矩形領域の画素デー タ R1〜! Π6 と が転送される。 こ の矩形領域内の画素デー タ Rl~ R16 は ク ロ ッ ク毎に矩形領域内の 1 ラ イ ン分が転送される。 従 つ て一の矩形領域について 16ラ イ ン分の R1~R16が転送される 図 1 7 に よれば、 図 4に示 した例えば画素処理部 1 は、 第 1 ク ロ ッ ク で入力ポー ト Aの画素デー タ XI と、入力ポー ト Bの画 素デー タ R 1 と の減算及び絶対値化が加算器 Aに てなされ、乗算 器 Aを素通 り する ( 1 倍される)。 加算器 Bは乗算器出力 と遅延 器 Dの保持デー タ と の加算値が出力 される。 第 1 ク ロ ッ ク では 加算器 Bは 1 ラ イ ン 目 の I XI- Rl I を出力する こ と になる。
第 2 ク ロ ッ ク では、遅延器に 1 ラ イ ン 目 の I XI- R1 I が保持さ れる ので、 加算器 Bは、 乗算器 Aか ら の 2 ラ イ ン 目 の I X卜 R1 I と遅延器 D に保持された 1 ラ イ ン 目 の I X卜 R1 I と を加算す る。
第 3 ク ロ ッ ク では、遅延器に 1 及び 2 ラ イ ン 目 の I X1-R1 I が 累積される ので、 加算器 Bは、 乗算器 Aか ら の 3 ラ イ ン 目 の I xi-Ri I と遅延器 ]) に保持された 1 ラ イ ン 目 の I XI -m I と を加 算する。
同様の繰 り 返 し に よ り 第 1 6 ク ロ ッ ク では、 加算器 Bは、 1 〜 1 6 ラ イ ン ま での I XI- R1 I の累積値(∑ I X1-R1 | )を 出力す る。
画素処理部 2 〜 1 6 について も各 々 累積値 (∑ I Xl-Rl I ;)〜 (∑ I X16-R16 I )がを出力する。
これ ら 1 6個の累積値は第 1 7 ク ロ ッ ク において出力パ ッ フ ァ群 2 3 に保持され、 P O U C 2 0 9 に よ っ て取 り 出 され、 1 6個の累積値の合計が算出 された後外部メ モ リ 2 2 0 内の ヮー ク エ リ ァ に保存される。
以上に よ り 一矩形領域と符号化対象マ ク ロ ブ口 ッ ク と の画素 デー タ の差分の総和の計算が終了する。
こ の後さ ら に、 M V探索範囲内の他の矩形領域について も 同 様に して差分の総和が算出 される。 M V探索範囲内の全て矩形 領域 (ある いは必要な矩形領域) について差分の総和が算出 さ れる と、 そ の う ち最小の値を も つ矩形領域が最も相関性の高い 矩形領域と判断され、 動きベク ト ルが生成される。
なお、 上記 M E処理では画素処理部か ら の 1 6個の累積値の 合計を別途行っ てい るが、 1 6個の累積値の合計を画素処理部 1 〜 1 6 に おいて算出する よ う に して も よい。 こ の場合、 一の 矩形領域についての 1 6個の累積値は出力バ ッ フ ァ群 2 3 か ら そのま ま外部メ モ リ 2 2 0 の ワ ー ク エ リ ア に保存 しておき、 こ の ワ ー ク エ リ ァ に レ 6個以上の矩形領域について累積値群が保 存された と き に、 画素処理部 1 〜 1 6のそれぞれが 1 つの矩形 領域を分担 し て 1 6個の累積値を順次累積する こ と に よ り 差分 の総和を求め る よ う にすればよい。
ま た、 上記 M E処理では画素単位で差分の算出を行っ てい る が、 ハー フ ペル単位で行う よ う に して も よい。 その場合、 ハー フ ラ イ ン と実ラ イ ンの う ち、 実ラ イ ン に対 しては上記の よ う に 1 ク ロ ッ ク で I XI- R1 I を算出 し、 ノヽー フ ラ イ ン に対 して は、 例 え ば 2 ク ロ ッ ク の う ち 1 ク ロ ッ ク で ノヽ ー フ ペ ル の 画 素 値
( (R1+R1 ')/2) を 算 出 し 、 次 の 1 ク 口 ッ ク で 差 分 I XI - (Rl+Rl *)/2 I を算出する よ う に して も よ い。 ある いは、 5 ク ロ ッ ク の う ち 4 ク ロ ッ ク で ノヽ ー フ ペ ル の 画 素 値
( (Rl+Rl '+R2 + R2')/4)を算出 し、 次の 1 ク ロ ッ ク で差分を算出 する よ う に して も よい。
く 3. 1 垂直フ ィ ルタ処理 (その 1 ) >
図 1 9 は、 図 2 に示 したメ デ ィ ア プロ セ ッ サにおいて垂直フ ィ ルタ処理する場合のデー タ の流れを示 した、 メ ディ ァプロ セ ッ サの模式的なプロ ッ ク 図であ る。
同図において、 デコ ーダ部 3 0 1 は、 図 2中の ビデオエ レ メ ン タ リ ー ス ト リ ーム をデコ ー ド (伸長す る) V L D 2 0 5、 T E 2 0 6及ぴ P O U A 2 0 7 (M C処理) に相当 し、 ビデオェ レ メ ン タ リ ー ス ト リ ー ム をデコ ー ド (伸長) する。
フ レ ー ム メ モ リ 3 0 2 は、 外部メ モ リ 2 2 0 に相当 し、 デコ ー ド結果の ビデオデー タ (フ レーム デー タ) を保持する
垂直フ ィ ルタ 3 0 3は、 P O U B 2 0 8 に相当 し、 垂直方向 の フ ィ ルタ処理に よ り垂直方向の縮小を行う する。
、 ノ ッ フ ァ メ モ リ 3 0 4は、 外部メ モ リ 2 2 0 に相当 し、 縮小 された ビデオデータ (表示用の フ レ ー ム デー タ) を保持する。 画像出力部 3 0 5 は、 ビデオノ ッ フ ァ メ モ リ 2 1 2、 ビデオ ュニ ッ ト 2 1 3 に相当 し、 表示フ レームデー タ を映像信号に変 換 して出力する。
なお、 P O U A 2 0 7 は M C処理を、 P O U B 2 0 8 は垂直 フ ィ ルタ処理を分担する。 ま た、 水平フ ィ ルタ処理に よ る水平 方向の縮小は、 フ レーム メ モ リ 3 0 2 のデコ 一 ド フ レー ムデー タ に対 して P O U A 2 0 7 、 P O U B 2 0 8 の一方が行う も の とす る。
< 3 . 1 . 1 1 / 2縮小〉
図 2 0 は、図 1 9 において 1 /2縮小処理を行う場合の フ レー ム メ モ リ 3 0 2 、 ノ ッ フ ァ メ モ リ 3 0 4 のデー タ供給状態の時 間変化を示す図であ る。
図 2 0 に おいて、 グラ フ 7 0 1 〜 7 0 3 の縦軸は、 それぞれ フ ィ ール ド の垂直同期信号の周期 V を単位とする時間を示す。 同図では 5 周期分を記 して あ り 、 グラ フ 7 0〜 7 0 3 では時間 軸が一致 してい る。 グラ フ 7 0 1 の横軸は、 フ レーム メ モ リ 3 0 2 デー タ 量を示す。 グラ フ 7 7 0 2 の横軸は、 ノ ッ フ ァ メ モ リ 3 0 4 のデー タ量を示す。 グラ フ 7 0 3 は画像出力部 3 0 5 において出力中のフ レー ム (フ ィ ール ド) を示す。
グラ フ 7 0 1 中の実線 7 0 4 はデコ ーダ部 3 0 1 か ら フ レ ー ム メ モ リ 3 0 2 への フ レームデー タ の供給量を示 してい る。 破 線 7 0 5 は フ レーム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3 へ の フ レーム デー タ の供給量を示 してい る。
グラ フ 7 0 2 中の破線 7 0 6 は垂直フ ィ ルタ部 3 0 3 か らパ ッ フ ァ メ モ リ 3 0 4へ の 1 st フ ィ ー ル ド縮小画像の供給量を 示 している。 一点鎖線 7 0 7 は垂直フ ィ ル タ部 3 0 3 か らパ ッ フ ァ メ モ リ 3 0 4 への 2 nd フ ィ ー ル ド縮小画像の供給量を示 してい る。
ま た グラ フ 7 0 2 中の実線 7 0 8 はノ ッ フ ァ メ モ リ 3 0 4 か ら 画像出力部 3 0 5への 1 st フ ィ ール ド縮小画像デー タ の供 給状態を示 している。 1 ノ 2縮小の場合、 縮小画像の表示位置 は フ レーム の上半分の位置か ら下半分の位置まで と り う る ため 同図の実線 7 0 9は表示位置に応 じて タ イ ミ ン グが異な っ てい る。 同様に、 実線 7 0 9 はバ ッ フ ァ メ モ リ 3 0 4か ら画像出力 部 3 0 5への 2 nd フ ィ ール ド縮小画像デー タ の供給状態を示 してい る。
グラ フ 7 0 1 で示すよ う に、 デコ ーダ部 3 0 1 か ら フ レーム メ モ リ 3 0 2への nフ レームの フ レーム データ の供給は n- 1 フ レー ム の 2 nd フ ィ ール ド の フ レー ム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3への供給開始直後に開始 し、 フ レーム メ モ リ 3 0 2か ら垂直フ ィ ルタ部 3 0 3への n フ レームの フ レーム デー 夕 の供給は nフ レームの 1 stフ ィ ール ドの フ レーム メ モ リ 3 0 2か ら垂直 フ ィ ルタ 部 3 0 3への供給完了直前ま でに終了する よ う に制御を行う 。
グラ フ 7 0 2で示すよ う に、 垂直フ ィ ルタ部 3 0 3か ら ノ ッ フ ァ メ モ リ 3 0 4への nフ レームの 1 stフ ィ ール ドの フ レーム デー タ の供給は n- 1 フ レーム の 2 ndフ ィ ール ド表示中に、 n フ レームの 2 ndフ ィ ール ドの フ レームデー タ の供給は nフ レーム の 1 s t フ ィ ール ド表示中 にそれぞれ完了す る よ う に制御を行 う。
こ の よ う に装置を制御する事に よ り 、 デ コ ーダ部 3 0 1 か ら フ レーム メ モ リ 3 0 2間は、 2 V の期間に 1 フ レーム の フ レー ムデー タ を転送する能力があれば十分であ る。 フ レーム メ モ リ 3 0 2か ら垂直フ ィ ルタ 部 3 0 3間は、 1 Vの期間に 1 / 2 フ レ ーム の フ レーム デー タ を転送する能力があれば十分であ る。 デ コ ーダ部 3 0 1 は 2 V の期間に 1 フ レームの フ レームデー タ を 生成する演算能力、 垂直フ ルタ部 3 0 3 は I Vの期間に 1 /2 フ レームの フ レームデータ を フ ィ ルタ処理する演算能力があれ ば十分であ る。 垂直フ ィ ルタ部 3 0 3かちノ ッ フ ァ メ モ リ 3 0 4間 は、 I Vの期間 に 1 /4 フ レ ー ム の フ レ ー ム デー タ を転送す る能力があれば十分であ る。 ノ ッ フ ァ メ モ リ 3 0 4か ら画像出 力部 3 0 5間は 、 1 Vの期間に 1 / 4 フ レ ー ム の フ レ ー ムデー タ を転送する能力があれば十分であ る。フ レ ー ム メ モ リ 3 0 2は、 フ レ ー ム デー タ 1 フ レ ー ム を保持 し、ノ ッ フ ァ メ モ リ 3 0 4は、 フ レ ー ムデー タ 1 /2 フ レ ー ム を保持す る容量があれば十分で あ る。
次に、 図 2 0 と対比す る ため、 図 2 1 に ノ ッ フ ァ メ モ リ 3 0 4を備えていない場合のデー タ供給状態の時間変化を示す。 縮小処理を行わない場合、 フ レーム メ モ リ 3 0 2への n フ レ ー ム のデジ タ ル画像デー タ の供給は実線 5 0 6で示すよ う に、 破線 5 0 7で示す n- 1 フ レ ー ム の 2 nd フ ィ ール ド の垂直フ ィ ルタ部 3 0 3への供給が始ま っ た時か ら開始 し、 破線 5 0 8で 示す nフ レ ー ム の 1 stフ ィ ー ル ド の垂直フ ィ ル タ 部 3 0 3への 供給が完了する前に終了する。 そのため、 図 5の グラ フ上で示 す 2 V の期間の間に 1 フ レ ー ム のデジ タ ル画像デー タ を一定の 速度で供給す る。
ま た、 n フ レ ー ム の 1 st フ ィ ー ル ド の フ レ ー ム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3へのデジ タ ル画像デー タ の供給は破 線 5 0 8で示す よ う に、 実線 5 1 1 が示すフ レー ムメ モ リ 3 0 2への n フ レ ー ム の デジ タ ル画像デー タ の供給が終了する 直後 に完了 し、 続いて 2 nd フ ィ ー ル ド の処理を開始す る。 そ の た め フ レームメ モ リ 3 0 2か ら垂直フ ィ ルタ部 3 0 3へのデジ タ ル 画像データ の供給は、 図 2 1 の グラ フ上で示す 1 V の期間の間 に 1 フ ィ ール ドのデジ タ ル画像デー タ を一定の速度で供給され る。 と こ ろが、 1 /2縮小処理を行う場合、 フ レーム メ モ リ 3 0 2 への nフ レー ム のデジ タ ル画像デー タ の供給開始が可能 と な る タ イ ミ ン グは、 n- 1 フ レームの 2 ndフ ィ ール ドの表示位置に よ つ て異な っ て く る。 n_ l フ レームの 2 ndフ ィ ール ドの表示位置 に よ っ て、 フ レーム メ モ リ 3 0 2か ら垂直フ ィ ルタ部 3 0 3へ のデジ タ ル画像デー タ の供給は破線 5 0 9か ら 5 1 0の間の ど こ かで行われ、 フ レーム メ モ リ 3 0 2への nフ レームのデジ タ ル画像デー タ の供給開始が可能 と な る タ イ ミ ン グが時間的に最 も遅れる のは、 破線 5 1 0で示す表示位置の場合である。 こ の 場合、 1 /2縮小画像は画像出力部 5 0 1 の下半分に出力 される ま た、 フ レーム メ モ リ 3 0 2への n フ レームのデジ タ ル画像デ ー タ の供給は、 破線 5 1 1 で示す nフ レームの 1 st フ ィ ール ド の垂直フ ィ ルタ 部 3 0 3への供給が完了する前に に終了 してい なければな ら ない。 そのため、 図 2 1 の グラ フ上で示す 1 V の 期間の間に 1 フ レームのデジ タ ル画像デー タ を一定の速度で供 給する必要があ り 、 縮小を行わない場合に比べ 2倍の供給能力 が必要と な る。
ま た、 n フ レームの 1 st フ ィ ール ドの フ レーム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3へのデジ タ ル画像デー タ の供給は破 線 5 1 1 で示すよ う に、 実線 5 1 2が示すフ レーム メ モ リ 3 0 2への nフ レームのデジ タ ル画像デー タ の供給が終了す る直後 に完了 し、 続いて 2 ndフ ィ ール ドの処理を開始す る。 そのため 図 5 の グラ フ 上で示す 1 / 2 V の期間の間に 1 フ ィ ール ド のデ ジ タ ル画像デー タ を一定の速度で供給する必要があ り 、 縮小を 行わない場合に比べ 2倍の供給能力が必要と な る。 垂直フ ィ ル タ部 3 0 3 も 、 供給される デジ タ ル画像デー タ に見合っ た性能 が要求される ため、 縮小を行わない場合に比べ 2倍の演算能力 が必要と な る。 ま た、 図 2 3 は、 図 2 0 と対比する ため、 ノ"? ッ フ ァ メ モ リ 3 0 4 を備えて いない場合であ っ て 1 / 4縮小処理を行う 場合の デー タ 供給状態の時間変化を示す。
1 /4縮小処理を行う場合の グラ フ を図 2 3 に示す。上記と 同 様の理由 よ り 、 フ レームメ モ リ 3 0 2 へのデジ タ ル画像デー タ の供給能力、 フ レーム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3 への供給能力、 垂直フ ィ ルタ部の演算能力はそれぞれ縮小処理 を行わない場合の 4倍が必要と なる。 こ の よ う に、 ノ ッ フ ァ メ モ リ 3 0 4 を備えない場合は、 縮小率が上が る と必要な ピー ク 性能 も大き く な つ て しま う 。
< 3 . 1 . 2 1 / 4縮小 >
図 2 2 は、図 1 9示 したメ デ ィ ア プロ セ ッ サにて 1 /4縮小を 行う 場合の各部のデー タ供給状態 とその時間変化を示す図であ る。
図 2 2 において、 グラ フ の横軸、 縦軸は図 2 0 と 同様であ る。 グラ フ上の実線 8 0 4 はデコ ーダ部 3 0 1 か ら フ レームメ モ リ 3 0 2 への フ レームデー タ の供給状態を示 している。 グラ フ 上の破線 8 0 5 は フ レーム メ モ リ 3 0 2 か ら垂直フ ィ ルタ部 3 0 3 への フ レー ムデー タ の供給状態を示 してい る。 グラ フ上の 破線 8 0 6 は垂直フ ィ ルタ部 3 0 3 か らノ ッ フ ァ メ モ リ 3 0 4 への 1 st フ ィ ール ド縮小画像デー タ の供給状態を示 してい る。 グラ フ上の破線 8 0 7 は垂直フ ィ ルタ部 3 0 3 か らノ ッ フ ァ メ モ リ 3 0 4 への 2 nd フ ィ ール ド縮小画像デー タ の供給状態を 示 してい る。 グラ フ上の実線 8 0 8 はノ ッ フ ァ メ モ リ 3 0 4 か ら画像出力部 3 0 5 への 1 st フ ィ ール ド縮小画像デー タ の供 給状態を示 してい る。 グラ フ上の実線 8 0 9 は ノ ッ フ ァ メ モ リ 3 0 4 か ら画像出力部 3 0 5 への 2 nd フ ィ 一ル ド縮小画像デ 一夕 の供給状態を示 してい る。 同図に示すよ う に、 デコ ーダ部 3 0 1 か ら フ レーム メ モ リ 3 0 2間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ムデー タ を転送す る能力があれば十分であ る。 フ レーム メ モ リ 3 0 2か ら垂直フ ィ ルタ 部 3 0 3間は、 1 Vの期間に 1 / 2 フ レー ム の フ レームデ ー タ転送す る能力があれば十分であ る。デコ ーダ部 3 0 1 は 2 V の期間に 1 フ レー ム の フ レームデー タ を生成す る演算能力があ れば十分であ る。 垂直フ ィ ルタ部 3 0 3 は 1 Vの期間に 1 / 2 フ レームの フ レームデー タ を フ ィ ル夕処理する演算能力、 垂直フ ィ ル夕 部 3 0 3 か らノ ッ フ ァ メ モ リ 3 0 4間は、 I V の期間に 1 /8 フ レーム の フ レームデー タ転送能力、ノ ッ フ ァ メ モ リ 3 0 4か ら画像出力部 3 0 5間は、 I Vの期間に 1 /8 フ レー ムの フ レームデー タ転送能力があれば十分であ る。 フ レームデー タ 1 フ レーム を保持でき る フ レーム メ モ リ 3 0 2、 フ レーム デー タ 1 /4 フ レ ー ム を保持で き る ノ ッ フ ァ メ モ リ 3 0 4がそれぞれ 必要と なる。
こ れ ら の各必要性能は最短で も I V の期間での平均の能力で あ り 、 縮小率が大き く な つ て も短い期間に大き な ピー ク 性能を 要求される事がない。 ま た、 最も処理性能を必要 と される のが 縮小な しの場合であ る。 こ の場合、 デコ ーダ部 3 0 1 か ら フ レ ーム メ モ リ 3 0 2間は、 2 V の期間に 1 フ レーム の フ レーム デ 一 夕転送能力で足 り る。 フ レーム メ モ リ 3 0 2か ら垂直フ ィ ル タ 部 3 0 3 間は、 I Vの期間に 1 /2 フ レ ー ム の フ レ ー ムデー タ 転送能力で足 り る。 デコ ーダ部 3 0 1 は 2 V の期間に 1 フ レー ムの フ レー ムデー タ を生成する演算能力で足 り る。 垂直フ ィ ル タ 部 3 0 3 は I V の期間に 1 /2 フ レー ム の フ レー ム デー タ を フ ィ ルタ処理する演算能力で足 り る。 垂直フ ィ ルタ部 3 0 3か らノ ッ フ ァ メ モ リ 3 0 4間は、 1 Vの期間に 1 / 2 フ レームの フ レーム デー タ転送能力で足 り る。 ノ ッ フ ァ メ モ リ 3 0 4か ら画 像出力部 3 0 5間は、 I Vの期間に 1 /2 フ レ ー ム の フ レ ー ムデ 一 夕転送能力で足 り る。 フ レーム メ モ リ 3 0 2 は フ レームデー タ 1 フ レーム を保持でき 、 ノ ッ フ ァ メ モ リ 3 0 4は、 フ レー ム デー タ 1 フ レーム を保持できればよい。 こ の能力であ ら ゆ る垂 直縮小処理を行う事ができ る。これ ら に よ り 回路規模を削減 し、 動作ク ロ ッ ク を引 き下げる事が出来る。
< 3. 2 垂直フ ィ ルタ処理 (その 2 ) >
図 2 4は、 メ デ ィ ァプロ セ ッ サにおいて垂直フ ィ ルタ 処理を 行う 場合のデー タ の流れを示 した模式的なプロ ッ ク 図であ る。
同図は、 デコ ー ド部 4 0 1 、 ノ ッ フ ァ メ モ リ 4 0 2、 垂直フ ィ ルタ部 4 0 3、 ノ ッ フ ァ メ モ リ 4 0 4、 映像出力部 4 0 5、 制御部 4 0 6か らな る。 同図は、 図 1 9 と比べて、 デコ ー ド部 4 0 1 、 垂直フ ィ ルタ部 4 0 3、 ノ ッ フ ァ メ モ リ 4 0 4、 映像 出力部 4 0 5 は、 同名の構成要素 と 同様であ る。 従っ て同 じ点 は説明を省略 し、 異な る点を中心に説明する。
バ ッ フ ァ メ モ リ 4 0 2 は、 1 フ レ ー ム 分の記憶容量よ り 少な い容量でよ い点でフ レーム メ モ リ 3 0 2 と は異な る。
垂直フ ィ ル タ 部 4 0 3 は、 垂直方向の 6 4 ラ イ ン (処理前の フ レーム中の 4 マ ク ロ ブロ ッ ク ラ イ ン) の フ ィ ルタ処理を終え る毎に制御部 4 0 6 にその 旨 ( フ ィ ル タ状態) を通知する点で 垂直フ ィ ルタ部 3 0 3 と異な る。 なお、 通知の単位はマ ク ロ ブ ロ ッ ク ラ イ ン 2 ~ 3単位と して も よい。
デコ ー ド部 4 0 1 は、 6 4 ラ イ ン単位のデコ ー ドを終え る毎 に制御部 4 0 6 にその 旨 (デコ ー ド状態) を通知する点でデコ ー ド部 3 0 1 と異な る。 なお、 通知の単位は 1 6 ラ イ ン単位で も よ い。
制御部 4 0 6は、 図 2中の I O P 2 1 1 に相当 し、 デコ ー ド部 4 0 1 と垂直フ ィ ル タ部 4 0 3の動作状態を、 それぞれか ら の通知に基づいて監視 し、 垂直フ ィ ルタ処理がデコ ー ド処理 を越さ ない よ う に、 かつデ コ ー ド処理が垂直フ ィ ルタ処理を追 い越さ ない よ う にデコ ー ド部 4 0 1 及ぴ垂直フ ィ ル タ部 4 0 3 を制御する。 つ ま り 、 制御部 4 0 6 の次の 2 つを制御す る。 1 つは、 フ ィ ルタ 処理の対象と な る マ ク ロ プロ ッ ク ラ イ ンの画素 デー タ群を デコ ー ド部 4 0 1 がバ ッ フ ァ メ モ リ 4 0 2 に書き込 んでいないの に、 垂直フ ィ ル夕部 4 0 3 が前の フ レーム (又は フ ィ ール ド) のマ ク ロ ブロ ッ ク ラ イ ンの画素デー タ群を対象に フ ィ ルタ 処理を行う こ と を防.止する こ と であ る。 も う 1 つは、 垂直フ ィ ルタ部 4 0 3 が垂直フ ィ ルタ処理の対象だが未処理の マ ク ロ プロ ッ ク ラ イ ン に対 して、 デコ ー ド部 4 0 1 が次の フ レ ーム の画素デー タ群を上書き し て し ま う こ と を防止する こ と で あ る。
図 2 5 は、 制御部 4 0 6 におけ る制御内容を示す説明図であ る。
同図の横軸は時間であ り 、 制御部 4 0 6 、 VSYNC (垂直同期信 号)、 デコ ー ド部 4 0 1 、 垂直フ ィ ル タ 部 4 0 3 、 映像出力部 4 0 5 の各動作を記 してある。
同図の よ う に デコ ー ド部 4 0 1 は 6 4 ラ イ ン のデコ ー ド を 終え る毎にその 旨を制御部 4 0 6 に通知 し、 垂直フ ィ ルタ部 4 0 3 は 6 4 ラ イ ンの フ ィ ルタ し ょ り を終え る毎にその 旨を制御 部 4 0 6·に通知する。 制御部 4 0 6 は、 こ れ ら の通知を下に、 デコ ー ドが完了 した ラ イ ン番号 Nd と、フ ィ ルタ処理が完了 した ラ イ ン番号 Nf と を保持及び更新 し、 Nd (現フ レ ー ム) > Nf (現 フ レ ー ム)、 Nd (次の フ レ ー ム) く N f (現フ レ ー ム) を満たす よ う 、 デコ ー ド部 4 0 1 、 垂直フ ィ ルタ部 4 0 3 を制御する。 具体的には、 制御部 4 0 6 は、 Nd と Nf が接近 した場合 (そ の 差が し きい値以下にな っ た場合) にはデコ ー ド部 4 ◦ 1 、 垂直 フ ィ ルタ部 4 0 3 の一方を一時的に停止さ せる。 なお、 Nd、 Nf はマ ク ロ ブロ ッ ク ラ イ ンの番号であ っ て も よい。
ま た、 Nd と Nf が接近 した場合には、 制御部 4 0 6 の制御に よ っ て、 デ コ ー ド部 4 0 1 、 垂直フ ィ ル タ部 4 0 3 の一方は制 御部 4 0 6 に よ り 一時的に停止さ れるが、 Nd と Nf が接近 した か否かの判定及ぴデコ一 ド部 4 0 1 又は垂直フ ィ ルダ部 4 0 3 を一時的に停止させる制御は、 制御部 4 0 6 以外が担当する よ う に構成 し て も よい。
た と えば、 垂直フ ィ ルタ部 4 0 3 がデコ ー ド部 4 0 1 に上記 フ ィ ルタ状態の通知を行う よ う に し、 デコ ー ド部 4 0 1 は、 フ ィ ルタ 状態の通知 と 内部のデコ ー ド状態 と に従っ て、 Nd と Nf と が接近 し たか否かを判定 し、 判定結果に応 じて デコ ー ド動作 を一時的に停止 し又は垂直フ ィ ルタ部 4 0 3 を一時的に停止さ せる構成と して も よい。
あ る いは、 逆に、 デコ ー ド部 4 0 1 が垂直フ ィ ルタ部 4 0 3 に上記デコ ー ド状態の通知を'行う よ う に し、 垂直フ ィ ルタ部 4 0 3 は、デコ ー ド状態の通知と 内部の フ ィ ルタ状態と に従っ て、 Nd と Nf と が接近 したか否か を判定 し、 判定結果に応 じて フ ィ ルタ処理を一時的に停止 し又はデコ ー ド部 4 0 1 を一時的に停 止さ せる構成 と して も よい。
< 3 . 2 . 1 1 ノ 2 縮小 >
図 2 6 は 図 2 4 において 1 / 2 縮小処理を行う 場合の各部の 供給デー タ量を示す図であ る。
グラ フ 9 0 1 の横軸はノ ッ フ ァ メ モ リ 4 0 2 上の フ レ ー ム デ 一 夕量を示 し、 縦軸は時間を示 して.い る。 グラ フ 9 0 2 の横軸 はノ ッ フ ァ メ モ リ 4 0 4上の フ レームデー タ量を示 し、 縦軸は 時間を示 してい る。 グラ フ 9 0 3 は画像出力部 4 0 5 の状態を 時系列上に並べた も のであ り 、 時間軸は グラ フ 9 0 1 、 9 0 2 の縦軸と合っ ている。
グラ フ上の実線 9 0 4 はデコ ーダ部 4 0 1 か らノ ッ フ ァ メ モ リ 4 0 2 への フ レームデー タ の供給状態を示 してい る。 グラ フ 上の破線 9 0 5 はノ ッ フ ァ メ モ リ 4 0 2 か ら垂直フ ィ ル タ部 4 0 3 への フ レームデー タ の供給状態を示 してい る。 グラ フ上の 破線 9 0 6 は垂直フ ィ ル タ部 4 0 3 か らノ ッ フ ァ メ モ リ 4 0 4 への 1 st フ ィ ール ド縮小画像デー タ の供給状態を示 してい る。 グラ フ上の破線 9 0 7 は垂直フ ィ ルタ部 4 0 3 か らノ ッ フ ァ メ モ リ 4 0 4 へ の 2 nd フ ィ ー ル ド縮小画像デー タ の供給状態を 示 してい る。 グラ フ上の実線 9 0 8 はノ ッ フ ァ メ モ リ 4 0 4 か ら画像出力部 4 0 5 への 1 st フ ィ 一ル ド縮小画像デー タ の供 給状態を示 してい る。 グラ フ上の実線 9 0 9 はノ ッ フ ァ メ モ リ 4 0 4 か ら 画像出力部 4 0 5 への 2 nd フ ィ 一ル ド縮小画像デ ー タ の供給状態を示 してい る。
グラ フ 9 0 1 で示すよ う に、 デコ ーダ部 4 0 1 か らノ ッ フ ァ メ モ リ 4 0 2 への n フ レ ー ム の フ レ ー ム デー タ の供給が開始さ れた直後に、 ノ ッ フ ァ メ モ リ 4 0 2 か ら垂直フ ィ ル タ 部 4 0 3 への n フ レ ー ム の フ レ ー ムデー タ の供給を開始 し、 デコ ーダ部 4 0 1 か ら ノ ッ フ ァ メ モ リ 4 0 2 への n フ レ ー ム の フ レ ー ム デ 一夕 の供給が終了する直後にノ ッ フ ァ メ モ リ 4 0 2 か ら垂直フ ィ ル タ部 4 0 3 への n フ レ ー ム の フ レ ー ム デー タ の供給が終了 する よ う に制御を行う。 グラ フ 9 0 2 で示すよ う に、 垂直フ ィ ル タ 部 4 0 3 か ら ノ ッ フ ァ メ モ リ 4 0 4 への n フ レ ー ム の フ レ —ム デー タ の供給は n_ l フ レーム表示中 に完了する よ う に制 御を行う 。
こ の よ う に装置を制御する事に よ り 、 デコ ーダ部 4 0 1 か ら バ ッ フ ァ メ モ リ 4 0 2 間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ム データ転送能力、 ノ ッ フ ァ メ モ リ 4 0 2 か ら垂直フ ィ ルタ部 4 0 3間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ムデー タ転送能 力、 デコ ーダ部 4 0 1 は 2 V の期間に 1 フ レ ー ム のフ レームデ 一 夕 を生成す る演算能力、 垂直フ ィ ル タ部 4 0 3 は 2 V の期間 に 1 フ レ ー ム の フ レ ー ム デー タ を フ ィ ル タ 処理す る演算能力、 垂直フ ィ ルタ 部 4 0 3か らノ ッ フ ァ メ モ リ 4 0 4間は、 2 V の 期間に 1 /2 フ レ ー ム の フ レ ー ムデー タ転送能力、バ ッ フ ァ メ モ リ 4 0 4か ら画像出力部 4 0 5間は、 1 Vの期間に 1 / 4 フ レ ー ムの フ レームデー タ転送能力、 数ラ イ ン分の フ レームデー タ を 保持でき るノ ッ フ ァ メ モ リ 4 0 2、 フ レ ー ムデー タ 1 フ レ ー ム を保持でき るノ ッ フ ァ メ モ リ 4 0 4がそれぞれ必要と な る。 < 3. 2. 2 1 Z 4縮小 >
図 2 7 は図 2 4 に おいて 1 / 4縮小を行 っ た場合の各部のデ 一夕 供給量を示す図であ る。
グラ フ 1 0 0 1 の横軸はノ ッ フ ァ メ モ リ 4 0 2上の フ レーム デー タ量を示 し、 縦軸は時間を示 してい る。 グラ フ 1 0 0 2の 横軸はノ ッ フ ァ メ モ リ 4 0 4上の フ レーム デー タ量を示 し、 縦 軸は時間を示 してい る。 グラ フ 1 0 0 3 は画像出力部 4 0 5の 状態を時系列上に並べた も のであ り 、時間軸は グラ フ 1 0 0 1 、 1 0 0 2 の縦軸と合っ てい る。
グラ フ上の実線 1 0 0 4はデコ ーダ部 4 0 1 か らノ ッ フ ァ メ モ リ 4 0 2への フ レームデー タ の供給状態を示 してい る。 グラ フ 上の破線 1 0 0 5 はノ ッ フ ァ メ モ リ 4 0 2か ら垂直フ ィ ル タ 部 4 0 3への フ レームデー タ の供給状態を示 してい る。 グラ フ 上の破線 1 0 0 6 は垂直フ ィ ルタ 部 4. 0 3か らノ ッ フ ァ メ モ リ
4 0 4へ の 1 st フ ィ ー ル ド縮小画像デー タ の供給状態を示 し てい る。 グラ フ上の破線 1 0 0 7は垂直フ ィ ルタ部 4 0 3か ら バ ッ フ ァ メ モ リ 4 0 4へ の 2 nd フ ィ ー ル ド縮小画像デー タ の 供給状態を示 してい る。 グラ フ上の実線 1 0 0 8 はバ ッ フ ァ メ モ リ 4 0 4 か ら画像出力部 4 0 5への 1 st フ ィ ー ル ド縮小画 像デー タ の供給状態を示 してい る。 グラ フ上の実線 1 0 0 9 は ノ ッ フ ァ メ モ リ 4 0 4 か ら画像出力部 4 0 5へ の 2 nd フ ィ ー ル ド縮小画像データ の供給状態を示 してい る。
こ の よ う に装置を制御する事に よ り 、 デコ ーダ部 4 0 1 か ら ノ ッ フ ァ メ モ リ 4 0 2間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ムデー タ転送能力で足 り 、
ノ ッ フ ァ メ モ リ 4 0 2か ら垂直フ ィ ル タ部 4 0 3間は、 2 V の 期間に 1 フ レ ー ム の フ レ ー ム デー タ転送能力で足 り 、 デコ ーダ 部 4 0 1 は 2 V の期間に 1 フ レームの フ レーム デー タ を生成す る演算能力で足 り 、 垂直フ ィ ルタ部 4 0 3 は 2 V の期間に 1 フ レームの フ レームデー タ を フ ィ ルタ処理する演算能力で足 り 、 垂直フ ィ ル タ 部 4 0 3か ら ノ ッ フ ァ メ モ リ 4 0 4間は、 2 V の 期間に 1 /4 フ レ ー ム の フ レ 一 ムデー タ転送能力で足り 、バ ッ フ ァ メ モ リ 4 0 4か ら画像出力部 4 0 5間は.、 1 Vの期間に 1 / 8 フ レ ー ム の フ レームデー タ転送能力で足 り る。 ノ ッ フ ァ メ モ リ 4 0 2 は、 数ラ イ ン分の フ レームデー タ を保持でき、 バ ッ フ ァ メ モ リ 4 0 4 は フ レーム デー タ 1 /2 フ レー ム を保持で きれば 足 り る。
こ れ ら の各必要性能は最短でも I V の期間での平均の能力で あ り 、 縮小率が短い期間で大き な ピーク性能を要求される事が ない。
ま た、 最も 処理性能を必要と されるが縮小な しの場合であ り 、 その場合に要求される のがデ コ ーダ部 4 0 1 か らノ ッ フ ァ メ モ リ 4 0 2間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ムデー タ転送 能力、 ノ ッ フ ァ メ モ リ 4 0 2か ら垂直フ ィ ル タ部 4 0 3間は、 2 V の期間に 1 フ レ ー ム の フ レ ー ムデー タ転送能力、 デコ ーダ 部 4 0 1 は 2 V の期間に 1 フ レ ー ム の フ レ ー ムデータ を生成す る演算能力、 垂直フ ィ ル タ部 4 0 3 は 2 V の期間に 1 フ レ ー ム の フ レーム デー タ を フ ィ ルタ 処理する演算能力、 垂直フ ィ ルタ 部 4 0 3か らノ ッ フ ァ メ モ リ 4 0 4間は、 2 V の期間に 1 フ レ 一ム の フ レ ー ム デー タ 転送能力、 ノ ッ フ ァ メ モ リ 4 0 4か ら 画 像出力部 4 0 5.間は、 1 Vの期間に 1 / 2 フ レーム の フ レ一ムデ 一 夕転送能力、 数ラ イ ン分の フ レームデー タ を保持でき るバ ッ フ ァ メ モ リ 4 0 2、 フ レ ー ム デー タ 2 フ レ ー ム を保持でき る バ ッ フ ァ メ モ リ 4 0 4であ り 、 こ の能力であ ら ゆ る垂直縮小処理 を行う 事ができ る。 これ ら に よ り 回路規模を削減 し、 動作ク ロ ッ ク を引 き下げる事が出来る。
< 4. 変形例 >
図 2 8、 2 9 は、 画素並列処理部の左半分、 右半分の第 1 の 変形例を示す図であ る。 これ らの図は、 図 3、 4 に対 して同 じ 構成要素に は同 じ符号を付 してい る ので説明を省略 し、 異な る 点を中心に説明する。
図 2 8、 2 9 は、 図 3、 4の画素処理部 1 〜 1 6の代わ り に 画素処理部 l a〜 : 1 6 a を、 画素転送部 1 7、 1 8の代わ り に 画素転送部 1 7 a、 1 8 bを備え る。 画素処理部 l a〜 : 1 6 a はいずれも 同 じ構成なの で、 画素処理部 1 a を代表 して説明す る。
画素処理部 l a は、 画素処理部 1 におけ る選択部 A 1 0 4、 選択部 B 1 0 5 の代わ り に選択部 A l 0 4 a、 選択部 B 1 0 5 a を備え る。
選択部 A l 0 4 a は、 選択部 A 1 0 4 と比べる と 2入力か ら
3入力にな っ ている点が異な る。 つま り 、 選択部 A l 0 4 a は、
2つ隣の画素転送部 (又は画素処理部) の遅延器 (遅延器 B ) か ら画素デー タ 入力が増えている。
選択部 B 1 0 5 a は、 同様に 2つ隣の画素転送部 (又は画素 処理部) の遅延器 (遅延器 B ) の画素デー タ入力が増えてい る。 ま た、 画素転送部 1 7 a は、 選択部 B 1 7 0 3〜選択部 G 1 7 0 8の代わ り に選択部 B 1 7 0 3 a〜選択部 G l 7 0 8 a を 備え る。 選択部 B l 7 0 3 a〜選択部 G l 7 0 8 aは、 それぞ れ 2入力ではな く 3入力 にな っ てい る。 増えてい る入力は、 2 つ左の遅延器か ら の画素デー タ入力であ る。
ま た、 画素転送部 1 8 a は、 選択部 B 1 8 0 3〜選択部 G 1 8 0 8の代わ り に選択部 B l 8 0 3 a〜選択部 G l 8 0 8 a を 備え る。 選択部 B l 8 0 3 a〜選択部 G l 8 0 8 aは、 それぞ れ 2入力ではな く 3入力 にな っ てい る。 増えてい る入力は、 2 つ右の遅延器か ら の画素デー タ入力であ る。
こ の構成に よれば、 処理対象の画素 と、 その画素か ら左右に 2つ隣の画素を順に用いた フ ィ ルタ処理を行う こ とができ る。 例え ば、 画素処理部 1 aでは次式な どを演算す る こ と ができ る。
aO-X9 + al ( 11 +X7) +a2 ( 13 + X5) +a3 ( 15 + X3)
図 3 0、 3 1 は、 画素並列処理部の左半分、 右半分の第 2の 変形例を示す図であ る。
図 3 0、 3 1 は、 図 3、 4の画素処理部 1 と画素処理部 1 6 と の代わ り に画素処理部 1 b と画素処理部 1 6 b と を備え る。
画素処理部 1 b は、 画素処理部 1 におけ る選択部 B 1 0 5の 代わ り に選択部 b 1 0 5 b を備え る。 選択部 B l 0 5 b は、 遅 延器 B 1 0 7か ら の フ ィ 一 ドバ ッ ク入力を有 している点で選択 部 B 1 0 5 と異な っ てい る。
画素処理部 1 6 b は、 画素処理部 1 6 におけ る選択部 A 1 6 0 4の代わ り に選択部 A l 6 0 4 bを備え る。 選択部 A 1 6 0 4 bは、 遅延器 A 1 6 0 6か ら の フ ィ ー ドノ ッ ク 入力を有 して い る点で選択部 A 1 6 0 5 と異な っ てい る。 こ の構成に よれば、画素処理部 1 b は例えば次の演算を行う 。 a3*X6+a2*X7+al*X8+ a0*X9+al*X10+a2*Xll + a3*X12
こ の と き画素処理部 2の出力は、 次の よ う にな る。
a3*X20+a2*X21+ al*X22+a0*X23+ al*X24+ a2*X24+a3*X24 こ の と き、 画素処理部 1 6 bの 出力は次の よ う になる。
a3*X21 + a2*X22+ al*X23+ aO*X24+ al*X24+ a2*X24 + a3*X24 こ の よ う に、 図 3 0、 3 1 では、 左端の画素処理部 l b にデ 一 夕 列の左端の画素デー タ が転送されて き た場合に、 選択部 B 1 0 5 b は画素処理部 1 b内の遅延器 Bか ら の フ ィ ー ド ノ ッ ク 入力を選択す る。 右端の画素処理部 1 6 b にデー タ列の右端の 画素デー タ が転送されて きた場合、 選択部 A 1 6 0 4 b は、 遅 延器 A 1 6 0 6か ら の フ ィ ー ドパ ッ ク入力を選択する。
図 3 2、 3 3は、 画素並列処理部の左半分、 右半分の第 2の 変形例を示す図であ る。
図 3 2、 3 3 は、 図 3、 4の画素処理部 1 〜 1 6の代わ り に 画素処理部 1 c〜 l 6 c、 画素転送部 1 7、 1 8の代わ り に画 素転送部 1 7 c、 1 8 c を備え る。 画素処理部 l c〜 : I 6 c は いずれも 同 じ構成なので、 画素処理部 1 aを代表 して説明す る。
画素処理部 1 c は、 画素処理部 1 におけ る選択部 A 1 0 4、 選択部 B 1 0 5の代わ り に選択部 A 1 0 4 c、 選択部 B 1 0 5 c を備え る。
選択部 A l 0 4 c は、 選択部 A 1 0 4 と比べる と 2入力か ら 3入力に な っ てい る点が異な る。 つま り 、 選択部 A 1 0 4 c は、 2つ隣の画素転送部 (又は画素処理部) の遅延器 (遅延器 B ) の画素デー タ 入力が増えてい る。
選択部 B l 0 5 c は、 2つ隣の画素転送部 (又は画素処理部) の遅延器 (遅延器 B ) の画素デー タ 入力 と 、 遅延器 B 1 0 7か らの フ ィ 一 ド ノ ッ ク入力 と が増えてい る。 画素転送部 1 7 c 、 1 8 c は、 図 2 8、 図 2 9 に示 した画素 転送部 1 7 a 、 1 8 a と 同様に 2 入力ではな く 3入力に な っ て いる。
こ の構成に よれば、画素処理部 1 c は例えば次の演算を行う 。 a3*X9+ a2*X9+ al*X9+ aO*X9+ al*Xl 1 + a2*X13+ a3*X15 こ の と き画素処理部 2 c の出力は、 次の よ う になる。
a3*X10+ a2*X10 + al*X10+ aO*X10+ al*X12+ a2*X14 + a3*X16 こ の と き画素処理部 1 5 c の出力は、 次の よ う になる。
a3*X17+ a2*X19+ al*X 1+ a0*X23+ al*X23+ a2*X23+ a3*X23 こ の と き画素処理部 1 6 c の出力は、 次の よ う になる。
a3*X18+ a2*X20+ al*X22+ a0*X24+ al*X24+ a2*X24+ a3*X24 図 3 4 は、 P O U A 2 0 7 の変形例を示す図である。
同図の P O U A 2 0 7 は、 図 2 と比べて ア ッ プサ ンプ リ ン グ 回路 2 2 a と ダウ ンサ ンプ リ ン グ回路 2 3 a と が追加されてい る。 図 2 と同 じ点は説明を省略 し、 異な る点を中心に説明する。
ア ッ プサ ン プ リ ン グ回路 2 2 a は、 入カノ ッ フ ァ群 2 2 か ら 入力 される画素デー タ群を垂直方向 に拡大す る。 例えば、 入力 バ ッ フ ァ群 2 2 か ら入力 される画素デー タ群を垂直方向 に 2倍 にす る よ う 画素デー タ を補間す る ため、 入力バ ッ フ ァ群 2 2 か ら の画素デー タ群の入力 1 回に対 して、 同 じ画素データ群を 2 回画素並列処理部 2 1 に 出力する。
ダウ ンサ ン プ リ ン グ回路 2 3 a は、 画素並列処理部 2 1 か ら 入力 される画素デー タ群を垂直方向 に縮小する。 例えば、 画素 並列処理部 2 1 か ら入力 される 画素デー タ群を垂直方向 に 1 2倍にする よ う 画素デー タ を間引 く 。 つ ま り 、 画素並列処理部 2 1 か ら の画素デー タ群の入力 2 回 に対 して、 1 回分を ^棄 し 1 回分を出力する。
こ の構成に よれば、 画素並列処理部 2 1 の入力側で垂直方向 に 2倍、 出力側で垂直方向に 1 ノ 2倍する ので、 外部メ モ リ 2 2 0 におけ る 1 フ レームあた り のデー タ 量を垂直方向に 1 / 2 にす る こ と ができ、 その結果、 P O U C 2 0 9 に よ る P O U A 2 0 7へのデー タ転送量を 1 ノ 2 にする こ と ができ る。 こ れに よ り 、 デュ アルポ一 ト メ モ リ 1 0 0の内部ポー ト への ア ク セ ス が集中する場合にバス ネ ッ ク を解消する こ と ができ る。 産業上の利用可能性
本発明の画素演算装置は画像のを リ サイ ズ等を行う の フ ィ ル 夕 リ ン グ処理を複数画素に対 して並列に行う ので、 動画の圧縮 処理ノ伸張処理、 リ サイ ズ等を扱う メ デ ィ ァプロ セ ッ サな どの デジ タ ル映像機器に利用 される。

Claims

請 求 の 範 囲
1 . フ ィ ルタ 処理を行う 画素演算装置であ っ て、
N個の画素処理手段と、
N個の画素デー タ 及びフ ィ ルタ 係数を供給す る供給手段と、 N個の画素処理手段を並列に動作させる制御手段と を備え、 各画素処理手段は、 供給手段に供給された画素デー タ と フ ィ ルタ 係数 と を用いて演算 した後、 各画素処理手段に対 して隣接 す る画素処理手段か ら画素デー タ を取得 し、 取得 した画素デー タ を用いて演算 して演算結果を累積 し、
前記制御手段は、 隣接する画素処理手段か ら の画素デー タ の 取得と、 取得 した画素デー タ を用いた演算及び累積と を繰 り 返 すよ う N個の画素処理手段を制御する こ と を特徴とする画素演 算装置。
2 . 前記 N個の画素処理手段は、 N個の画素デー タ を右シ フ ト する第 1 シ フ タ と、 N個の画素デー タ を左シ フ ト する第 2 シ フ タ を形成 し、
各画素処理手段は、 隣接する 2 つ の画素処理手段か ら シ フ ト ァ ゥ ト さ れる 2 つの画素デー タ を用いて演算 し、
こ と を特徴 とする請求の範囲第 1 項記載の画素処理装置。
3 . 連続する N個の画素に対応する N個の画素処理部 と、
N個の画素デー タ を N個の画素処理部に供給する第 1 供給手 段と、
フ ィ ルタ係数を N個の画素処理部に供給する第 2 供給手段と を備え、
フ ィ ルタ処理の タ ッ プ数を指定する手段と、 各画素処理部は、
他の画素処理部か ら画素デー タ を取得す る取得手段と、 画素デー タ と第 2 供給手段に供給される フ ィ ル タ係数と を演 算す る演算手段と、
演算手段に よ る演算結果を累積する累積手段と 、
第 1 供給手段か ら供給される画素デー タ と第 2 供給手段か ら 供給される フ ィ ル タ 係数と を用いて演算手段に演算させた後、 取得手段に よ る取得と取得された画素データ と フ ィ ルタ 係数と を用いた演算と累積手段に よ る累積と を指定されたタ ッ プ数に 応 じた回数実行さ せる制御手段と を備え る
こ と を特徴と する画素処理装置。
4 . 連続す る複数画素に対応する複数の画素処理部と、
前記複数画素の画素デー タ を複数の画素処理部に供給す る第 1 供給手段 と、
フ ィ ルタ 係数を各画素処理部に供給す る第 2 供給手段と を備 え、
各画素処理部は、
他の画素処理部か ら画素デー タ を取得する取得手段と、 画素デー タ と第 2 供給手段に供給される フ ィ ルタ 係数と を演 算する演算手段と、
演算手段に よ る演算結果を累積する累積手段と、
取得手段、 演算手段、 累積手段に フ ィ ルタ処理を実行させる 制御と 、 第 1 供給手段か ら m号対象フ レー ム の複数の画素デー タ とそれに対応する差分画素データ と が供給された場合の演算 手段に動き補償処理を実行さ せる制御と を切 り 替え る制御手段 と
を備える こ と を特徴とする画素処理装置。
5 . 複数の画素デー タ に対応する複数の画素処理手段と 、 複数の画素デー タ を画素演算回路に供給する供給手段と を備 え、
前記画素処理手段の各 々 は、
供給手段か ら の画素デー タ と、 第 1 の画素処理手段出力 され る画素デ一 夕 と か ら画素デー タ を選択す る画素セ レ ク タ と 、 選択された画素デー タ を保持 し、 第 2 の画素処理手段に 出力 する保持回路と
保持された画素データ に対 して演算を行う 演算回路と を有する こ と を特徴とする画素処理回路。
PCT/IB2001/000665 2000-04-21 2001-04-23 Pixel calculating device WO2001082227A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP01938474A EP1278157A1 (en) 2000-04-21 2001-04-23 Pixel calculating device
US10/019,419 US6809777B2 (en) 2000-04-21 2001-04-23 Pixel calculating device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000-120754 2000-04-21
JP2000120753 2000-04-21
JP2000-120753 2000-04-21
JP2000120754 2000-04-21

Publications (1)

Publication Number Publication Date
WO2001082227A1 true WO2001082227A1 (en) 2001-11-01

Family

ID=26590535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2001/000665 WO2001082227A1 (en) 2000-04-21 2001-04-23 Pixel calculating device

Country Status (5)

Country Link
US (1) US6809777B2 (ja)
EP (1) EP1278157A1 (ja)
KR (1) KR100794098B1 (ja)
CN (1) CN1269076C (ja)
WO (1) WO2001082227A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315934B2 (en) * 2002-03-06 2008-01-01 Matsushita Electric Industrial Co., Ltd. Data processor and program for processing a data matrix
US7882164B1 (en) * 2004-09-24 2011-02-01 University Of Southern California Image convolution engine optimized for use in programmable gate arrays
JP2011035655A (ja) * 2009-07-31 2011-02-17 Sanyo Electric Co Ltd フレームレート変換装置、およびそれを搭載した表示装置
US10410575B2 (en) * 2017-07-19 2019-09-10 Apple Inc. Adjustable underrun outputs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998029832A1 (fr) * 1996-12-25 1998-07-09 Sony Corporation Processeur d'images, processeur de donnees et procedes correspondants

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802111A (en) * 1986-03-10 1989-01-31 Zoran Corporation Cascadable digital filter processor employing moving coefficients
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
JPH0548388A (ja) 1991-08-20 1993-02-26 Rohm Co Ltd デイジタルフイルタ
US5315700A (en) * 1992-02-18 1994-05-24 Neopath, Inc. Method and apparatus for rapidly processing data sequences
US5600582A (en) * 1994-04-05 1997-02-04 Texas Instruments Incorporated Programmable horizontal line filter implemented with synchronous vector processor
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
US5528301A (en) * 1995-03-31 1996-06-18 Panasonic Technologies, Inc. Universal video format sample size converter
US5587742A (en) * 1995-08-25 1996-12-24 Panasonic Technologies, Inc. Flexible parallel processing architecture for video resizing
CA2246536C (en) 1996-12-25 2007-08-21 Sony Corporation Image processor, data processor, and their methods
US6681059B1 (en) * 1998-07-28 2004-01-20 Dvdo, Inc. Method and apparatus for efficient video scaling
US6154761A (en) * 1999-02-12 2000-11-28 Sony Corporation Classified adaptive multiple processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998029832A1 (fr) * 1996-12-25 1998-07-09 Sony Corporation Processeur d'images, processeur de donnees et procedes correspondants

Also Published As

Publication number Publication date
CN1269076C (zh) 2006-08-09
CN1383529A (zh) 2002-12-04
US6809777B2 (en) 2004-10-26
KR20020025899A (ko) 2002-04-04
US20020106136A1 (en) 2002-08-08
EP1278157A1 (en) 2003-01-22
KR100794098B1 (ko) 2008-01-10

Similar Documents

Publication Publication Date Title
JP5590574B2 (ja) 多重解像度ビデオ符号化および復号化のための再サンプリングおよび画像サイズ変更の演算
US8072511B2 (en) Noise reduction processing apparatus, noise reduction processing method, and image sensing apparatus
US8111331B2 (en) Image resizer and resizing method
JP5788198B2 (ja) ビデオ処理、高速静止画処理、及び高品質静止画処理のためのアーキテクチャ
JPH09214972A (ja) デコーダ回路、mpegビデオストリーム復号化方法およびコンピュータ
JP2001204026A (ja) 画像情報変換装置及び方法
US8260075B2 (en) Two-dimensional filter arithmetic device and method
JPH07322218A (ja) 入力信号処理装置、サンプル処理フィルタ、入力信号フィルタリング方法および高精細度テレビジョン受像機
WO2013095970A1 (en) Ringing suppression in video scalers
JP4686048B2 (ja) 画素演算装置
WO2001082630A1 (en) Pixel calculating device
WO2011121716A1 (ja) 動画像符号化方法、復号化方法、符号化装置および復号化装置
JP2002058026A (ja) 画像符号化装置及び方法並びに画像復号装置及び方法
WO2001082227A1 (en) Pixel calculating device
JP2010035157A (ja) 画像処理装置
KR100287866B1 (ko) 수직 영상 포맷 변환 장치 및 이를 이용한 디지털 수신 시스템
US20060291743A1 (en) Configurable motion compensation unit
US6724822B1 (en) Efficient motion compensation apparatus for digital video format down-conversion using generalized orthogonal transformation
JP2000069418A5 (ja)
JPH0937215A (ja) 圧縮補間回路とアスペクト変換機能付き映像装置
JP2004336584A (ja) 映像出力装置、および映像出力方法
JP2006352798A (ja) 映像信号処理装置
JP2005311526A (ja) 映像出力装置、および映像出力方法
JP2005303897A (ja) 画像復号装置および画像復号方法
KR20030024821A (ko) 주파수 도메인에서 인터레이스된 비디오의 수직적 스케일링

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB

WWE Wipo information: entry into national phase

Ref document number: 10019419

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020017016382

Country of ref document: KR

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: 2001938474

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 018017355

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2001938474

Country of ref document: EP