Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Contactless activation systems and methods
Patent Number: 7,438,236 Issued on 10/21/2008 to Top

Title: Non-contact information medium and communication system using non-contact information medium
Patent Number: 7,438,235 Issued on 10/21/2008 to Miura,   et al.

Title: System for biometric security using a smartcard
Patent Number: 7,438,234 Issued on 10/21/2008 to Bonalle,   et al.

Title: Blinded electronic medical records
Patent Number: 7,438,233 Issued on 10/21/2008 to Leiper

Title: Two-dimensional code and information processing method
Patent Number: 7,438,232 Issued on 10/21/2008 to Uchiyama

Title: Method for detecting forged barcodes
Patent Number: 7,438,231 Issued on 10/21/2008 to Cordery,   et al.

Title: Image processing apparatus, image processing method, and image processing program
Patent Number: 7,438,230 Issued on 10/21/2008 to Saijo,   et al.

Title: Combined magnetic shield member and pressure pad for a magnetic reader
Patent Number: 7,438,229 Issued on 10/21/2008 to Harris,   et al.

Title: Systems and methods for managing electronic prescriptions
Patent Number: 7,438,228 Issued on 10/21/2008 to Robertson,   et al.

Title: System and method to determine the prices and order quantities that maximize a retailer's total profit
Patent Number: 7,438,227 Issued on 10/21/2008 to Keser,   et al.

Title: Fraud risk advisor
Patent Number: 7,438,226 Issued on 10/21/2008 to Helsper,   et al.

Title: Biometric authentication device and method
Patent Number: 7,438,225 Issued on 10/21/2008 to Schneider,   et al.

Title: Transaction card with stake
Patent Number: 7,438,224 Issued on 10/21/2008 to Jensen,   et al.

Title: Rechargeable smart card blood pressure recording method and apparatus
Patent Number: 7,438,223 Issued on 10/21/2008 to Sarkis,   et al.

Title: Card reading arrangement including robotic card handling responsive to card sensing
Patent Number: 7,438,222 Issued on 10/21/2008 to Green,   et al.

Title: Automated banking machine currency cassette with RFID tag
Patent Number: 7,438,221 Issued on 10/21/2008 to Washington,   et al.

Title: Automated banking machine including deposit storage chest and card reader cooling device
Patent Number: 7,438,220 Issued on 10/21/2008 to Magee,   et al.

Title: Check accepting and cash dispensing automated banking machine system and method
Patent Number: 7,438,219 Issued on 10/21/2008 to Crews,   et al.

Title: Systems and methods for pharmacy reimbursement claim resubmission
Patent Number: 7,438,218 Issued on 10/21/2008 to Dooley,   et al.

Title: System and method for configuring a computing device
Patent Number: 7,438,217 Issued on 10/21/2008 to Bhella,   et al.

Title: Medical information access and processing system
Patent Number: 7,438,216 Issued on 10/21/2008 to Ambekar,   et al.

Title: Printing location-based information using a mobile device
Patent Number: 7,438,215 Issued on 10/21/2008 to Silverbrook,   et al.

Title: Mailbox post bracket
Patent Number: 7,438,214 Issued on 10/21/2008 to Riker,   et al.

Title: Voting ballot envelope
Patent Number: 7,438,213 Issued on 10/21/2008 to Ackley,   et al.

Title: Container
Patent Number: 7,438,212 Issued on 10/21/2008 to Barthel,   et al.

Title: Carrier and method
Patent Number: 7,438,181 Issued on 10/21/2008 to Cuomo

Title: Composite conveying belt
Patent Number: 7,438,178 Issued on 10/21/2008 to Chahal,   et al.

Title: Travelator, moving ramp or escalator
Patent Number: 7,438,174 Issued on 10/21/2008 to Aulanko,   et al.

Title: Conveyor lifting system
Patent Number: 7,438,173 Issued on 10/21/2008 to Schoonover,   et al.

Title: Retractable and extendable material loader apparatus for directing material onto a conveyor
Patent Number: 7,438,171 Issued on 10/21/2008 to Clark,   et al.

Title: Clutch system
Patent Number: 7,438,169 Issued on 10/21/2008 to Swanson,   et al.

Title: Cushion plate
Patent Number: 7,438,168 Issued on 10/21/2008 to Kita,   et al.

Title: Coupling device and improved method of assembly thereof
Patent Number: 7,438,167 Issued on 10/21/2008 to Morgensai,   et al.

Title: Flywheel assembly
Patent Number: 7,438,166 Issued on 10/21/2008 to Tsuruta,   et al.

Title: Torsional vibration damper of a rotating shaft
Patent Number: 7,438,165 Issued on 10/21/2008 to Nerubenko

Title: Solenoid actuated continuously variable servo valve for adjusting damping in shock absorbers and struts
Patent Number: 7,438,164 Issued on 10/21/2008 to Groves,   et al.

Title: Brake application device comprising an electrically actuated device for emergency and auxiliary release
Patent Number: 7,438,163 Issued on 10/21/2008 to Fuderer,   et al.

Title: Caliper brake with disengaged position
Patent Number: 7,438,162 Issued on 10/21/2008 to Eiband

Title: Quick release removable bridge caliper
Patent Number: 7,438,161 Issued on 10/21/2008 to Burgoon,   et al.

Title: Floating caliper disc brake
Patent Number: 7,438,160 Issued on 10/21/2008 to Maehara

Title: Safety monitoring device with instantaneous speed determination for a lift car
Patent Number: 7,438,158 Issued on 10/21/2008 to Heinzer,   et al.

Title: Diaphragm, spherical-shell diaphragm and electroacoustic transducer, and method of manufacturing electroacoustic transducer
Patent Number: 7,438,156 Issued on 10/21/2008 to Inagaki,   et al.

Title: Pipe gripping clamp
Patent Number: 7,438,127 Issued on 10/21/2008 to Lesko

Title: Pipe-type heat exchange device and manufacturing method thereof
Patent Number: 7,438,123 Issued on 10/21/2008 to Tadokoro

Title: Axial heat exchanger
Patent Number: 7,438,122 Issued on 10/21/2008 to Hawranek

Title: Heat exchanger and method for manufacturing the same
Patent Number: 7,438,121 Issued on 10/21/2008 to Minami,   et al.

Title: Cylinder block casting bulkhead window formation
Patent Number: 7,438,117 Issued on 10/21/2008 to Douro,   et al.

Title: Aligning-positioning mechanism and aligning-positioning method
Patent Number: 7,438,116 Issued on 10/21/2008 to Tsuji

Title: Attachment of an architectural covering
Patent Number: 7,438,115 Issued on 10/21/2008 to Bohlen

Title: Roll-up barrier
Patent Number: 7,438,112 Issued on 10/21/2008 to Cheng

Title: Tire mounting apparatus
Patent Number: 7,438,110 Issued on 10/21/2008 to Kim

Title: Separating and transporting flexible two-dimensional (sheet-like) products
Patent Number: 7,438,108 Issued on 10/21/2008 to Hansch

Title: Method and device for attaching a supplementary product that is at least approximately flat to a side of a printed product
Patent Number: 7,438,107 Issued on 10/21/2008 to Kost

Title: Production of shaped rubber body
Patent Number: 7,438,106 Issued on 10/21/2008 to Ogawa

Title: Method for serial production of secure documents and machine therefor
Patent Number: 7,438,105 Issued on 10/21/2008 to Guionnet,   et al.

Title: Radial tire
Patent Number: 7,438,104 Issued on 10/21/2008 to Morii,   et al.

Title: Pneumatic tire with side reinforcement rubber layer and tread reinforcement rubber layer
Patent Number: 7,438,103 Issued on 10/21/2008 to Akiyama

Title: Pneumatic tire with specified bead portion profile
Patent Number: 7,438,102 Issued on 10/21/2008 to Yoshinaka

Title: Pneumatic tire with tread having blocks
Patent Number: 7,438,101 Issued on 10/21/2008 to Shirouzu

Title: Pneumatic tire for ice-bound or snow-covered road
Patent Number: 7,438,100 Issued on 10/21/2008 to Hashimoto

Title: Safety support with improved endurance
Patent Number: 7,438,099 Issued on 10/21/2008 to Chardin,   et al.

Title: Worktable that is extendible in two steps
Patent Number: 7,438,098 Issued on 10/21/2008 to Liu,   et al.

Title: Reducing machine rotor assembly and inserts therefor and method of constructing the inserts
Patent Number: 7,438,097 Issued on 10/21/2008 to Davis

Title: Veneer composer
Patent Number: 7,438,096 Issued on 10/21/2008 to Holbert,   et al.

Title: Router
Patent Number: 7,438,095 Issued on 10/21/2008 to Hessenberger,   et al.

Title: Symmetrical measurement of jaw
Patent Number: 7,438,093 Issued on 10/21/2008 to Maes,   et al.

Title: Booster valve
Patent Number: 7,438,090 Issued on 10/21/2008 to Steele

Title: Hydraulic pilot control unit with oscillation damping system
Patent Number: 7,438,089 Issued on 10/21/2008 to Allegretti

Title: Electromagnetic pilot type directional control valve
Patent Number: 7,438,088 Issued on 10/21/2008 to Matsumoto,   et al.

Title: Overpressure rotary valve assembly with locking pin and collapsible member
Patent Number: 7,438,087 Issued on 10/21/2008 to Taylor

Title: Dynamic fluid power monitoring system for separate actuators
Patent Number: 7,438,086 Issued on 10/21/2008 to Bento,   et al.

Title: Protection and tamper notification device for use with a valve
Patent Number: 7,438,085 Issued on 10/21/2008 to Ratermann

Title: Transport system for tanks
Patent Number: 7,438,084 Issued on 10/21/2008 to Trettin,   et al.

Title: Pressure regulator filter assembly
Patent Number: 7,438,083 Issued on 10/21/2008 to Feith

Title: Frost-resistant stand valve
Patent Number: 7,438,082 Issued on 10/21/2008 to Klee

Arithmetic processing apparatus Number:7,412,470 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Arithmetic processing apparatus

Abstract: The arithmetic processing apparatus of the present invention is an arithmetic processing apparatus that can be reconfigured in accordance with a processing mode and has a plurality of arranged unit arithmetic circuits. Each unit arithmetic circuit includes at least one input terminal, at least one output terminal, a first register which holds data, an adder which calculates a sum of two pieces of data, a second register which holds data, a bit shifter which shifts data left or right, a subtractor which calculates a difference between two pieces of data, an absolute value calculating unit which calculates an absolute value of data, and a path setting unit which sets a path according to the processing mode connecting among these circuit elements.

Patent Number: 7,412,470 Issued on 08/12/2008 to Masuno,   et al.


Inventors: Masuno; Takashi (Hirakata, JP), Juri; Tatsuro (Osaka, JP)
Assignee: Matsushita Electric Industrial Co., Ltd. (Osaka, JP)
Appl. No.: 10/935,193
Filed: September 8, 2004


Foreign Application Priority Data

Sep 11, 2003 [JP] 2003-320325

Current U.S. Class: 708/300 ; 375/240.01; 708/402
Current International Class: G06F 17/10 (20060101); G06F 17/14 (20060101); H04B 1/66 (20060101)
Field of Search: 708/402,524,300,319,320 375/240.01,240.16


References Cited [Referenced By]

U.S. Patent Documents
5790712 August 1998 Fandrianto et al.
6757019 June 2004 Hsieh et al.
Foreign Patent Documents
7-264583 Oct., 1995 JP
10-083388 Mar., 1998 JP
2001-084242 Mar., 2001 JP
Primary Examiner: Ngo; Chuong D
Attorney, Agent or Firm: Wenderoth, Lind & Ponack, L.L.P.

Claims



What is claimed is:

1. An arithmetic processing apparatus that can be reconfigured in accordance with a processing mode, comprising a plurality of arranged unit arithmetic circuits, wherein each of said unit arithmetic circuits includes: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two items of data; a second resister that holds data; a bit shifter operable to shift data to one of a left and a right direction; a subtractor operable to calculate a difference between two items of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a connection path according to the processing mode, the connection path connecting among said input terminal, said output terminal, said first register, said adder, said second register, said bit shifter, said subtractor, and said absolute value calculating unit, wherein combinations of unit arithmetic circuits form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing function that differs depending on the processing mode, and wherein the plurality of arithmetic processing blocks include first and second arithmetic processing blocks when the processing mode is a coding mode for a still picture, the first arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the second arithmetic processing block has a digital filtering function.

2. An arithmetic processing apparatus that can be reconfigured in accordance with a processing mode, comprising a plurality of arranged unit arithmetic circuits, wherein each of said unit arithmetic circuits includes: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two items of data; a second register that holds data; a bit shifter operable to shift data to one of a left and a right direction; a subtractor operable to calculate a difference between two items of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a connection path according to the processing mode, the connection path connecting among said input terminal, said output terminal, said first register, said adder, said second register, said bit shifter, said subtractor, and said absolute value calculating unit, wherein combinations of unit arithmetic circuits form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing function that differs depending on the processing mode, and wherein the plurality of arithmetic processing blocks include first, second and third arithmetic processing blocks when the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, the first arithmetic processing block has a motion estimation function for a motion compensation interframe prediction coding, the second arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the third arithmetic processing block has a digital filtering function.

3. An arithmetic processing apparatus that can be reconfigured in accordance with a processing mode, comprising a plurality of arranged unit arithmetic circuits, wherein each of said unit arithmetic circuits includes: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two items of data; a second register that holds data; a bit shifter operable to shift data to one of a left and a right direction; a subtractor operable to calculate a difference between two items of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a connection path according to the processing mode, the connection path connecting among said input terminal, said output terminal, said first register, said adder, said second register, said bit shifter, said subtractor, and said absolute value calculating unit, wherein combinations of unit arithmetic circuits form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing, function that differs depending on the processing mode, and wherein said at least one input terminal, includes first, second, and third input terminals, said at least one output terminal includes first and second output terminals, and said path setting unit includes: a first selector operable to select, according to the processing mode, one of picture data inputted from the second input terminal and picture data inputted from the third input terminal; a second selector operable to select, according to the processing mode, one of picture data outputted from said first register, picture data outputted from said second register, picture data inputted from the third input terminal and fixed data; and a third selector which i) selects, according to the processing mode, one of the picture data outputted from said second register, difference data outputted from said subtractor, and absolute value data outputted from said absolute value calculating unit and ii) outputs the selected data to a first input port of said adder, said first register holds the picture data inputted from the first input terminal in synchronization with a clock signal, said adder includes a first input port and a second input port i) adds the picture data outputted from said first register and inputted to the second input port to the picture data inputted to the first input port and ii) outputs the added data to the first output terminal, said second register holds the picture data outputted from said first selector in synchronization with the clock signal, said bit shifter shifts the picture data outputted from said second register as many as a set number of bits to one of an upper side and a lower side, said subtractor i) calculates a difference between the picture data outputted from said bit shifter and one of the picture data outputted from said second selector and the fixed data and ii) outputs the difference data to the second output terminal, and said absolute value calculating unit calculates an absolute value of the difference data.

4. An arithmetic processing apparatus that can be reconfigured in accordance with a processing mode, comprising an arranged plurality of unit arithmetic circuits, wherein each of the plurality of unit arithmetic circuits includes: first and second input terminals; third and fourth input terminals; a first register operable to hold picture data inputted from the first input terminal in synchronization with a clock signal; a first selector operable to select and output, according to the processing mode, one of picture data inputted from the second input terminal and picture data inputted from the third input terminal; an adder having a first input port and a second input port operable to i) add picture data outputted from the first register and inputted to the first input port and picture data inputted to the second input port and ii) output to a first output terminal; a second register operable to hold the picture data outputted from the first selector in synchronization with the clock signal; a second selector operable to select and output, according to the processing mode, one of the picture data outputted from the first register, the picture data outputted from the second register, the picture data inputted from the third input terminal, and fixed data; a bit shifter operable to shift the picture data outputted from the second register as many as a number of set bits to one of an upper side and a lower side; a subtractor operable to i) calculate a difference between the picture data outputted from the bit shifter and one of the picture data outputted from the second selector and the fixed data and ii) output the difference to a second output terminal; an absolute value calculating unit operable to calculate an absolute value of the difference data outputted from the subtractor; and a third selector operable to i) select, according to the processing mode, one of the picture data outputted from the second register, the difference data outputted from the subtractor, and the absolute value data outputted from the absolute value calculating unit and ii) output the selected data to the second input port of the adder, wherein combinations of unit arithmetic circuits form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has an arithmetic processing function and the arithmetic processing function differs depending on the processing mode, each arithmetic processing function of each of the plurality of arithmetic processing blocks being different from each other.

5. The arithmetic processing apparatus according to claim 4, wherein the processing mode is a coding mode for a still picture, and the plurality of arithmetic processing blocks include first and second arithmetic processing blocks, the first arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the second arithmetic processing block has a digital filtering function.

6. The arithmetic processing apparatus according to claim 5, wherein the first arithmetic processing block constitutes a butterfly arithmetic circuit.

7. The arithmetic processing apparatus according to claim 5, wherein in each of unit arithmetic circuits which forms the second arithmetic processing block, the first selector selects picture data inputted from lower bits of the second input terminal, the second selector selects picture data inputted from upper bits of the first register, the third selector selects the picture data outputted from the second register, and the bit shifter outputs with zero bit shift.

8. The arithmetic processing apparatus according to claim 5, wherein the third arithmetic processing block constitutes an arithmetic circuit, the arithmetic circuit, in synchronization with a clock signal, i) shifts input picture data, in order to multiply the input picture data by a coefficient of n-th power of 2 (n is an integer), to an upper bit side when a sign of n is positive and to a lower bit side when a sign of n is negative as many as a number of bits of the absolute value of n, and ii) sequentially adds the shifted input picture data.

9. The arithmetic processing apparatus according to claim 8, wherein the third arithmetic processing block has first and second unit arithmetic circuits and a plurality of modules that are arranged in parallel in a row direction, each of the plurality of modules has as many unit arithmetic circuits connected in a column direction as taps, said unit arithmetic circuits being a unit arithmetic group, each first output terminal in the unit arithmetic circuit group is connected to a first input terminal of a unit arithmetic circuit that is arranged next in the column direction, each first selector in the plurality of modules selects the picture data inputted from the third input terminal, each second selector in the plurality of modules selects the fixed data, each third selector in the plurality of modules selects the picture data outputted from the subtractor, the third input terminals in the plurality of modules are connected to each other and the picture data is inputted into said third input terminals, the first unit arithmetic circuit i) inputs each output data outputted from the plurality of modules that are arranged in parallel into the adder via the first and second registers and ii) outputs the added picture data, and the second unit arithmetic circuit i) inputs the added picture data into the bit shifter via the second register and ii) outputs an output of the bit shifter as a result of the digital filtering.

10. The arithmetic processing apparatus according to claim 4, wherein the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, the plurality of arithmetic processing blocks include first, second and third arithmetic processing blocks, the first arithmetic processing block has a motion estimation function for a motion compensation interframe prediction coding, the second arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the third arithmetic processing block has a digital filtering function.

11. The arithmetic processing apparatus according to claim 10, wherein the first arithmetic processing block constitutes an arithmetic circuit which calculates a sum of difference absolute values, and the second arithmetic processing block constitutes a butterfly arithmetic circuit.

12. The arithmetic processing circuit according to claim 10, wherein in each of the unit arithmetic circuits which constitute the second arithmetic processing block, the first selector selects picture data inputted from lower bits of the second input terminal, the second selector selects the picture data outputted from upper bits of the first register, the third selector selects the picture data outputted from the second register, and the bit shifter outputs with zero bit shift.

13. The arithmetic processing apparatus according to claim 10, wherein in each of unit arithmetic circuits which constitute the first arithmetic processing block, the first selector selects picture data to be compared that is inputted from the second input terminal, the second selector selects picture data for reference that is inputted from the third input terminal, the third selector selects absolute value data outputted from the absolute value calculating unit, and the bit shifter outputs with zero bit shift.

14. The arithmetic processing apparatus according to claim 10, wherein the first arithmetic processing block has at least a same number of the unit arithmetic circuits arranged in a row direction as a number of pixels on which a motion estimation is performed, and picture data for reference is inputted while shifting a position in a column direction.

15. The arithmetic processing apparatus according to claim 14, wherein a plurality of the first arithmetic processing blocks are arranged in parallel in the row direction, and the picture data for reference which is shifted by one pixel each in the column direction is inputted into the plurality of first arithmetic processing blocks.

16. The arithmetic processing apparatus according to claim 14, wherein the first arithmetic processing block has a plurality of modules that are arranged in parallel in the row direction, each of the plurality of modules is constituted by connecting as many of said unit arithmetic circuits as a number of pixels in the column direction, pixel data for reference which constitutes the picture data for reference is commonly inputted to the third input terminals in the plurality of modules, and the first input terminals in the plurality of modules are connected to a first output of an adjacent unit arithmetic circuit.

17. The arithmetic processing apparatus according to claim 10, wherein the third arithmetic processing block constitutes an arithmetic circuit, the arithmetic circuit, in synchronization with a clock signal, i) shifts input picture data, in order to multiply the input picture data by a coefficient of n-th power of 2 (n is an integer), to an upper bit side when a sign of n is positive and to a lower bit side when a sign of n is negative as many as a number of bits of the absolute value of n, and ii) sequentially adds the shifted input picture data.

18. The arithmetic processing apparatus according to claim 17, wherein the third arithmetic processing block has first and second unit arithmetic circuits and a plurality of modules that are arranged in parallel in a row direction, each of the plurality of modules has as many unit arithmetic circuits connected in a column direction as taps, said unit arithmetic circuits being a unit arithmetic group, each first output terminal in the unit arithmetic circuit group is connected to a first input terminal of a unit arithmetic circuit that is arranged next in the column direction, each first selector in the plurality of modules selects the picture data inputted from the third input terminal, each second selector in the plurality of modules selects the fixed data, each third selector in the plurality of modules selects the picture data outputted from the second register, the third input terminals in the plurality of modules are connected to each other and the picture data is inputted into said third input terminals, the first unit arithmetic circuit i) inputs each output data outputted from the plurality of modules that are arranged in parallel into the adder via the first and second registers and ii) outputs the added picture data, and the second unit arithmetic circuit i) inputs the added picture data into the bit shifter via the second register and ii) outputs an output of the bit shifter as a result of the digital filtering.

19. The arithmetic processing apparatus according to claim 10, wherein combinations of the unit arithmetic circuits form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing function that differs depending on the processing mode.

20. The arithmetic processing apparatus according to claim 19, wherein the plurality of arithmetic processing blocks includes first, second and third arithmetic processing blocks when the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, the first arithmetic processing block has a motion estimation function in a motion compensation interframe prediction coding, the second arithmetic block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the third arithmetic processing block has a digital filtering function.

21. A semiconductor device that can be reconfigured in accordance with a processing mode, comprising a plurality of arranged unit arithmetic circuits, wherein each of the plurality of unit arithmetic circuits include: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two items of data; a second register that holds data; a bit shifter operable to shift data to one of a left and a right direction; a subtractor operable to calculate a difference between two items of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a path according to the processing mode, the path connecting among the input terminal, the output terminal, the first register, the adder, the second register, the bit shifter, the subtractor, and the absolute value calculating unit, wherein combinations of unit arithmetic circuits form a plurality, of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing function that differs depending on the processing mode, and wherein the plurality of arithmetic processing, blocks includes first and second arithmetic processing blocks when the processing mode is a coding mode for a still picture, the first arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the second arithmetic processing block has a digital filtering function.

22. A semiconductor device that can be reconfigured in accordance with a processing mode, comprising a plurality of semiconductors, wherein each of said semiconductors comprises: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two items of data; a second register that holds data; a bit shifter operable to shift data to one of a left and a right direction; a subtractor operable to calculate a difference between two items of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a connection path according to the processing mode, the connection path connecting among said input terminal, said output terminal, said first register, said adder, said second register, said bit shifter, said subtractor, and said absolute value calculating unit, wherein combinations of said semiconductors form a plurality of arithmetic processing blocks, and each of the plurality of arithmetic processing blocks has a unique arithmetic processing function that differs depending on the processing mode, and wherein the plurality of arithmetic processing blocks includes first, second and third arithmetic processing blocks when the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, the first arithmetic processing block has a motion estimation function for a motion compensation interframe prediction coding, the second arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the third arithmetic processing block has a digital filtering function.
Description



BACKGROUND OF THE INVENTION

(1) Field of the Invention

The present invention relates to an arithmetic processing apparatus, in particular to an arithmetic processing apparatus that has an encoder which is applicable to both of a Moving Picture Experts Group (MPEG) which is a coding standard of moving picture data and a Joint Photographic Experts Group (JPEG) which is a coding standard of still picture data, the encoder having a Motion Estimation (hereafter referred to as ME) circuit, a Discrete Cosine Transform (hereafter referred to as DCT) circuit, a digital filter and the like.

(2) Description of the Related Art

For instance, an encoder which applies to both MPEG and JPEG standards (hereafter referred to as MPEG/JPEG encoder) is build in a conventional digital still camera (hereafter referred to as DSC) having a function of shooting moving pictures.

The conventional MPEG/JPEG encoder needs, in MPEG processing, a high-performance ME circuit in order to detects a direction and size of a motion vector inside a frame and inter-frames of the moving picture data. Thus, an ME operation becomes dominant compared to a DCT operation in MPEG processing. In JPEG processing for a mega pixel class, it needs a DCT circuit having a higher processing capability than that of the DCT circuit used in the MPEG processing so that a DCT operation becomes dominant. Furthermore, it needs a digital filter as a common circuit for MPEG processing and JPEG processing.

FIG. 1 is a block diagram showing an example of a configuration of a DSC having the MPEG/JPEG encoder. In FIG. 1, 1901 shows an optical unit constituted of optical components such as lens. An optical signal from a subject to be imaged is, via the optical unit 1901, inputted to an image sensor 1902 such as CCD and converted into an electric signal. 1903 shows an analog signal processing/timing signal generating unit. The timing signal generating unit (TG) generates a timing signal which drives the image sensor 1902. The analog signal processing unit 1903 performs, on the analog signal from the image sensor 1902, processing such as correlated double sampling (CDS), automatic gain control (AGC) and A/D conversion, and converts it to a digital image data. The picture data calculated as described above is stored into a memory 1905 via a memory controller 1904.

The picture data stored in the memory 1905 is inputted to a MPEG/JPEG encoder 1906 via the memory controller 1904. The MPEG/JPEG encoder 1906 encodes, when the picture data stored in the memory 1905 is moving picture data, the inputted picture data by the MPEG processing circuit. The MPEG processing circuit performs coding by a motion compensation inter-frame prediction coding using a temporal correlation, the DCT using a Distributed Arithmetic (hereafter referred to as DA) method as an orthogonal coding using a spatial correlation, a quantization which weights coefficients not to assign a code to coefficients in high-frequency which has lesser visual effects in order to suppress an amount of coding generation, and a Huffman coding as an entropy coding (variable length coding) for assigning a shorter code stream to a coefficient with high generation probability using a bias of the generation probability (generation ratio).

On the other hand, when the picture data stored in the memory 1905 is still picture data, the MPEG/JPEG encoder 1906 encodes the inputted still picture data using the JPEG processing circuit which performs coding by the DCT using the DA method, quantization and Huffman coding.

The coded data sent from the MPEG/JPEG encoder 1906 is stored into the memory 1905, or is written into a memory card 1908 via a memory card interface (I/F) 1907. Note that a CPU 1909 which controls the analog signal processing/timing signal generating unit 1903, the MPEG/JPEG encoder 1906 and the memory card I/F 1907.

As described above, in the MPEG processing circuit inside the MPEG/JPEG encoder 1906, the ME circuit is included for performing motion compensated interframe prediction coding. The ME circuit searches, for instance per macroblock of 16.times.16 pixels, whether or not a similar picture data exists in a coded frame.

It is assumed that the ME circuit, for instance when it searches all of one frame whose picture size is 640.times.480 pixels (40.times.30 macroblock), performs Sum of Absolute Differences (hereafter referred to as SAD) operations of 16.times.16 pixels while shifting 640 pixels in a horizontal direction and 480 lines in a vertical direction. In this case, one SAD operation needs, for one macroblock, 256 times of the subtract operation and 256 times of add operation for calculating a sum. That is, the total of 512 times of add-subtract processing is needed. Thus, 512.times.640.times.480.times.40.times.30=188743680000 times, about 1887 billion times of add-subtract processing are performed for one frame.

Furthermore, when two thirds of 30 frames per second of the picture data to be processed are two bi-predictive coded B pictures, the ME circuit needs vast number of arithmetic processing as many as 188 billion.times.30.times.5/3=94371 billion times per second. This becomes a factor of determining an amount of arithmetic processing (circuit scale, power consumption) in the MPEG processing circuit.

Also, as described above, the DCT circuit for performing spatial redundant compression is included in the JPEG processing circuit inside the MPEG/JPEG encoder 1906. The DCT circuit splits two-dimensional pixel data (YUV data) into blocks each having 8.times.8 pixels and performs one-dimensional DCT in horizontal and vertical directions.

The number of blocks for which the DCT circuit has to perform, on pixel data in 3 million pixel class sent from the CCD as an image sensor, arithmetic processing by a continuous exposure mode for 4 frame per second is 3 million.times.4/(8.times.8).apprxeq.0.187500 per second. Further, in order to calculate a preset coding amount, when quantization matrix is adjusted and the arithmetic processing is redone after the side DCT, the number of blocks for which the arithmetic processing is performed is 187500.times.2=375000.

The DCT circuit is also included in the MPEG processing circuit. However, even if the picture size is 64.times.480 pixels and 30 frames per second, the number of blocks for which the DCT circuit performs the arithmetic processing is 640.times.480.times.30/(8.times.8).apprxeq.144000 per second.

Accordingly, the DCT circuit included in the JPEG processing circuit needs an amount of the arithmetic processing which is 2.5 times or more of that of the DCT circuit in the MPEG processing circuit. This becomes a factor of determining the amount of the arithmetic processing (circuit scale, power consumption) in the JPEG processing circuit.

The conventional technology is, for instance, disclosed in Japanese-Laid Open Patent Application No. 2001-84242, Japanese-Laid Open Patent Application No. H7-264583, Japanese-Laid Open Patent Application No. H10-83388 and the like.

As described above, the conventional MPEG/JPEG encoder needs a high-performance ME circuit for the MPEG processing and needs a high-processing performance DCT circuit for the JPEG processing but it cannot mutually use both circuits for the MPEG processing and the JPEG processing. Thus, the conventional MPEG/JPEG encoder has a problem that each circuit is separately set so that a circuit scale is enlarged and the power consumption is increased.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide an arithmetic processing apparatus which can obtain necessary processing performance using a simple structure without any waste, minimize a scale of a circuit for each processing performance compared to a Digital Signal Processor (DSP), and seeks low power consumption.

In order to achieve the above objective, the present invention is an arithmetic processing apparatus that can be reconfigured in accordance with a processing mode, comprising a plurality of arranged unit arithmetic circuits, wherein each of said unit arithmetic circuits includes: at least one input terminal; at least one output terminal; a first register that holds data; an adder operable to add two pieces of data; a second register that holds data; a bit shifter operable to shift data to one of left and right; a subtractor operable to calculate a difference between two pieces of data; an absolute value calculating unit operable to calculate an absolute value of data; and a path setting unit operable to set a connection path according to the processing mode, the connection path connecting among the input terminal, the output terminal, the first register, the adder, the second register, the bit shifter, the subtractor, and the absolute value calculating unit.

Here, combinations of unit arithmetic circuits may form a plurality of arithmetic processing blocks, and the plurality of arithmetic processing blocks respectively have a unique arithmetic processing function and said arithmetic processing function differs depending on the processing mode.

Here, the plurality of arithmetic processing blocks include first and second arithmetic processing blocks when the processing mode is a coding mode for a still picture, the first arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the second arithmetic processing block has a digital filtering function.

Here, the plurality of arithmetic processing blocks include first, second and third arithmetic processing blocks when the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, the first arithmetic processing block has a motion estimation function for a motion compensation interframe prediction coding, the second arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the third arithmetic processing block has a digital filtering function.

Accordingly, this structure can be reconfigured in accordance with the processing mode. Therefore, it is not necessary to realize different arithmetic processing using a separate circuit so that circuit scale can be minimized and the power consumption can be reduced. In particular, each unit arithmetic circuit can be reconfigured by switching the MPEG processing circuit and the JPEG processing circuit since it has the input terminal, the output terminal, the first register, the adder, the second register, the bit shifter, the subtractor, and the absolute value calculating unit. As the result, the arithmetic processing apparatus can obtain necessary processing performance for DSP using a simple configuration without any wastes, minimize the circuit scale for each processing performance compared to DSP and seeks low power consumption.

Also, in order to achieve the above objective, the arithmetic processing apparatus according to the present invention that can be reconfigured in accordance with a processing mode, comprising an arranged plurality of unit arithmetic circuits, wherein each of the plurality of unit arithmetic circuits includes: first and second input terminals; third and fourth input terminals; a first register operable to hold picture data inputted from the first input terminal in synchronization with a clock signal; a first selector operable to select and output, according to the processing mode, one of picture data inputted from the second input terminal and picture data inputted from the third input terminal; an adder having a first input port and a second input port operable to i) add picture data outputted from the first register and inputted to the first input port and picture data inputted to the second input port and ii) output to a first output terminal; a second register operable to hold the picture data outputted from the first selector in synchronization with the clock signal; a second selector operable to select and output, according to the processing mode, one of the picture data outputted from the first register, the picture data outputted from the second register, the picture data inputted from the third input terminal, and fixed data; a bit shifter operable to shift the picture data outputted from the second register as many as a number of set bits to one of upper side and a lower side; a subtractor operable to i) calculate a difference between the picture data outputted from the bit shifter and one of the picture data outputted from the second selector and the fixed data and ii) output the difference to a second output terminal; an absolute value calculating unit operable to calculate an absolute value of the difference data outputted from the subtractor; and a third selector operable to i) select, according to the processing mode, one of the picture data outputted from the second register, the difference data outputted from the subtractor, and the absolute value data outputted from the absolute value calculating unit and ii) output the selected data to the second input port of the adder, combinations of unit arithmetic circuits form a plurality of arithmetic processing blocks, and executes for each of the plurality of arithmetic processing blocks an arithmetic processing function and the arithmetic processing function differs depending on the processing mode, said each one of the arithmetic processing function of said each of the plurality of arithmetic processing blocks being different from each other.

In the arithmetic processing apparatus according to the present invention, the processing mode is a coding mode for a still picture, and the plurality of arithmetic processing blocks include first and second arithmetic processing blocks, the first arithmetic processing block has a partial function for a discrete cosine transform processing using a distributed arithmetic method, and the second arithmetic processing block has a digital filtering function.

In this case, the arithmetic processing block executing a partial function of a discrete cosine transform processing constitutes a butterfly arithmetic circuit.

Also, in the arithmetic processing apparatus according to the present invention, the processing mode is a coding mode for a moving picture using a correlation between moving picture frames, wherein each of the plurality of arithmetic processing blocks executes a motion estimation function for a motion compensation interframe prediction coding, a partial function for a discrete cosine transform processing using a distributed arithmetic method, and a digital filtering function.

In this case, the arithmetic processing block which executes a partial function of the discrete cosine transform processing constitutes a butterfly arithmetic circuit and the arithmetic processing block constitutes an arithmetic circuit which calculates a sum of difference absolute values.

Also, the first selector selects picture data inputted from lower bits of the second input terminal, the second selector selects inputted from upper bits of the first register, the third selector selects the picture data inputted from the second register, and the bit shifter outputs with 0 bit shift. Therefore, the unit arithmetic circuit corresponding to the discrete cosine transform processing is reconfigured.

Furthermore, the first selector selects picture data to be compared that is inputted from the second input terminal, the second selector selects picture data for reference that is inputted from the third input terminal, the third selector selects absolute value data outputted from the absolute value calculating unit, and the bit shifter outputs with 0 bit shift. Therefore, the unit arithmetic circuit corresponding to the motion estimation processing is reconfigured.

Further, the arithmetic processing block which executes the partial function of the motion estimation processing has as many number of the unit arithmetic circuits arranged in a row direction as a number of pixels on which a motion estimation is performed, and picture data for reference is inputted while shifting a position in a column direction.

Also, the plurality of the first arithmetic processing blocks are arranged in parallel in the row direction, and it is preferred that the picture data for reference which is shifted by one pixel each in the column direction is inputted into the plurality of first arithmetic processing blocks.

Further, the arithmetic processing block which executes the motion estimation processing function has a plurality of modules that are arranged in parallel in the row direction, each of the plurality of modules is constituted by connecting as many said unit arithmetic circuits as a number of pixels in the column direction, pixel data for reference which constitutes the picture data for reference is commonly inputted to the third input terminals in the plurality of modules, and the first input terminals in the plurality of modules are connected to a first output of an adjacent unit arithmetic circuit.

Furthermore, the arithmetic processing block which executes the digital filtering processing function constitutes an arithmetic circuit, the said arithmetic circuit, in synchronization with a clock signal, i) shifting input picture data, in order to multiply the input picture data by a coefficient of n-th power of 2 (n is an integer), to an upper bit side when a sign of n is positive and to a lower bit side when a sign of n is negative as many as a number of bits of the absolute value of n, and ii) sequentially adding the shifted input picture data.

In this case, the arithmetic processing block which executes the digital filtering processing function connects each of the unit arithmetic circuits commonly to the third input terminal, wherein in the unit arithmetic circuit, the first selector selects the picture data inputted from the first selector, the second selector selects the fixed data and the third selector selects picture data inputted from the subtractor, and a plurality of modules that are arranged in parallel in a row direction, each of the plurality of modules has as many unit arithmetic circuits connected in a column direction as taps by connecting, in a column direction, each first output terminal in the unit arithmetic circuit group to a first input terminal of a unit arithmetic circuit that is arranged next in the column direction, each output data from each of the arranged modules in parallel are added by the adder via the first and second registers, and the added picture data is further digital filtered via a second register and a bit shifter in the other unit arithmetic circuit.

As described above, the arithmetic processing apparatus of the present invention can obtain necessary processing performance using a simple configuration without any waste, minimize the scale of a circuit for each processing performance compared to DSP, and seeks low power consumption.

The disclosure of Japanese Patent Application No. 2003-320325 filed on Sep. 11, 2003, is incorporated herein by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, advantages and features of the invention will become apparent from the following description thereof taken in conjunction with the accompanying drawings that illustrate a specific embodiment of the invention.

In the drawings:

FIG. 1 is a block diagram showing an example of a configuration of a DSC having an MPEG/JPEG encoder.

FIG. 2 is a circuit block diagram showing an example of a configuration of a unit arithmetic circuit in the arithmetic processing apparatus according to the first embodiment of the present invention.

FIG. 3A is a diagram showing a circuit block diagram showing a state of switching an arithmetic path by first to third selectors in the unit arithmetic circuit which constitutes a part of a butterfly arithmetic circuit.

FIG. 3B is a diagram showing a simplification of the configuration shown in FIG. 3A.

FIG. 4A is a circuit block diagram showing a state of switching an arithmetic path by the first to third selectors in the unit arithmetic circuit which constitutes a part of a SAD arithmetic circuit.

FIG. 4B is a diagram showing a simplification of the configuration shown in FIG. 4A.

FIG. 5A is a circuit block diagram showing a state of switching an arithmetic path by the first to third selectors in the unit arithmetic circuit which constitutes a part of a digital filter.

FIG. 5B is a diagram showing a simplification of the configuration shown in FIG. 5A.

FIG. 6A is a schematic diagram showing an example of a configuration of an arithmetic processing block in JPEG processing.

FIG. 6B is a schematic diagram showing an example of a configuration of an arithmetic processing block in MPEG processing.

FIG. 7A is a circuit connection diagram showing an example in the case where an 8 bit butterfly arithmetic circuit constitutes four unit arithmetic circuits.

FIG. 7B is a diagram showing a simplification of the configuration shown in FIG. 7A.

FIG. 8 is a circuit connection diagram showing an example in the case where a 4-tap digital filter is constituted of a first module made with four unit arithmetic circuits and a second module made with four unit arithmetic circuits.

FIG. 9 is a diagram showing the connection relationship and the configuration shown in FIG. 8 in detail.

FIG. 10 is a circuit connection diagram showing a configuration of the digital filter which multiplies adjacent four pixels filter respectively by coefficients of 1/8, 1/4(= 2/8), 1/2(= 4/8) and 1/8 and adds the four pixels.

FIG. 11 is a diagram showing changes of synchronizing output data (Reg) of each register shown in FIG. 10 with a clock signal CLK of output data (Data out) of a bit shifter 77.

FIG. 12 is a circuit connection diagram showing an example in the case where an ME base unit made with 4.times.4 pixels is formed by arranging in parallel, in a row direction, a first module made up with four unit arithmetic circuits connected in a column direction, a second module, a third module and a forth module that have the same configuration as that of the first module.

FIG. 13 is a diagram for explaining a circuit performance shown in FIG. 12.

FIG. 14 is a schematic diagram which indicates an arrangement of pixels to be compared of 4 pixels.times.4 lines in a register as an example and shows a state of reading and searching, from a picture for reference memory, pixel data for reference in a range desired to be searched while shifting a position in a row direction.

FIG. 15A is a diagram showing changes of synchronizing output data Reg0_0, Reg0_1, Reg0_2 and Reg0_3 of each first register in the first module shown in FIG. 13 with clock signals CLK.

FIG. 15B is a diagram showing changes of synchronizing output data Reg1_0, Reg1_1, Reg1_2 and Reg1_3 of each first register in the second module shown in FIG. 13 with clock signals CLK.

FIG. 15C is a diagram showing changes of synchronizing output data Reg2_0, Reg2_1, Reg2_2 and Reg2_3 of each first register in the third module shown in FIG. 13 with clock signals CLK.

FIG. 15D is a diagram showing changes of synchronizing output data Reg3_0, Reg3_1, Reg3_2 and Reg3_3 of each first register in the third module shown in FIG. 13 with clock signals CLK.

FIG. 16 is a schematic diagram showing a range of SAD out obtained at points CLK3 and CLK4 by the configuration shown in FIG. 13.

FIG. 17 is a schematic diagram showing a configuration in the case where the ME base unit of 4 pixels.times.4 lines shown in FIG. 13 is arranged two in parallel in a row direction and pixel data for reference is inputted to each ME base unit that is arranged in parallel, the pixel data being in a range desired to be searched while shifting the position one pixel each in a vertical direction.

FIG. 18 is a schematic diagram showing a state of reading out, from a picture memory for reference, pixel data for reference in a range desired to be searched while shifting a position in a vertical direction and of performing the search by the configuration shown in FIG. 16.

FIG. 19 is a schematic diagram showing a range of SAD out0 and SAD outs obtained at points CLK3 and CLK4 by the configuration shown in FIG. 17.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Hereafter, a preferred embodiment of the present invention is described with reference to the drawings. Here, an arithmetic processing apparatus in the present embodiment is applied to the MPEG/JPEG encoder of the DSC explained in the description of the related art with reference to FIG. 1.

FIG. 2 is a circuit block diagram showing an example of a configuration of a unit arithmetic circuit in the arithmetic processing apparatus according to the embodiment of the present invention. In FIG. 2, the unit arithmetic circuit has a first input terminal 11, a second input terminal 12, a third input terminal 13, a clock signal (CLK) input terminal 14, a control signal (CONT) input terminal 15, a first register 16, a second register 17, a first selector 18, a second selector 19, a third selector 20, a bit shifter 21, a subtractor 22, an adder 23, an absolute value calculating unit 24, a first output terminal 25 and a second output terminal 26.

The first register 16 holds picture data inputted from the first input terminal 11 in synchronization with the clock signal CLK. The first selector 18 selects and outputs the picture data inputted from the second input terminal 12 or the picture data inputted from the third input terminal 13 according to the first control signal (CONT1) corresponding to a processing mode adhering to the MPEG or JPEG standards.

The second register 17 holds the picture data outputted from the first selector 18 in synchronization with the clock signal CLK. The second selector 19 selects and outputs the picture data outputted from the first register 16, the picture data outputted from the second register 17, the picture data inputted from the third input terminal 13 or "0" which is fixed data according to a second control signal CONT2 corresponding to the processing mode adhering to the MPEG or JPEG standards.

The bit shifter 21 shifts the picture data outputted from the second register 17 to the upper side or the lower side as many as a set number of bits. The subtractor 22 calculates a difference between the picture data outputted from the bit shifter 21 and the picture data outputted from the second selector 19 or the fixed data and outputs the difference to the second output terminal 26.

The absolute value calculating unit 24 calculates an absolute value of the difference data outputted from the subtractor 22. The third selector 20 selects and outputs the picture data outputted from the second register 17, the difference data outputted from the subtractor 22 or the absolute value data outputted from the absolute value calculating unit 24 according to a third control signal CONT3 corresponding to the processing mode adhering to the MPEG or JPEG standards. The adder 23 adds the picture data outputted from the first register 16 and the picture data outputted from the third selector 20 and outputs the sum to the first output terminal 25.

As described above, the unit arithmetic circuit switches an arithmetic path using the first selector 18, the second selector 19 and the third selector 20 according to the JPEG processing mode when the targeted picture data is still picture data or according to the MPEG processing mode when the targeted picture data is moving picture data. Here, the first selector 18, the second selector 19 and the third selector 20 have a function of setting a connecting path according to the processing mode among, in the unit arithmetic circuit, the first input terminal 11, the second input terminal 12, the third input terminal 13, the clock signal (CLK) input terminal 14, the control signal (CONT) input terminal 15, the first register 16, the second register 17, the bit shifter 21, the subtractor 22, the adder 23, the absolute value calculating unit 24, the first output terminal 25, and the second output terminal 26. Accordingly, the unit arithmetic circuit constitutes a part of a butterfly arithmetic circuit included in the DCT circuit using the DA method and a part of the digital filter that are necessary for JPEG processing, and constitutes a part of the SAD arithmetic circuit that forms the ME circuit, a part of the butterfly arithmetic circuit included in the DCT circuit using the DA method and a part of the digital filter that are necessary for MPEG processing.

FIG. 3A is a circuit block diagram showing a state of switching an arithmetic path by the first selector 18, the second selector 19 and the third selector 20 in the unit arithmetic circuit which constitutes a part of the butterfly arithmetic circuit. FIG. 3B is a diagram showing a simplification of the configuration shown in FIG. 3A. In FIG. 3A, when the unit arithmetic circuits form the butterfly arithmetic circuit, the first selector 18 selects picture data inputted from lower bits of the second input terminal 12. The second selector 19 selects picture data inputted from upper bits of the first register 16. The third selector 20 selects picture data inputted from the second register 17. The bit shifter 21 outputs through picture data (which does not shift bits) with 0 bit shift (described as "<<0").

FIG. 4A is a circuit block diagram showing a state of switching the arithmetic path by the first selector 18, the second selector 19 and the third selector 20 in the unit arithmetic circuit which constitutes a part of the SAD arithmetic circuit. FIG. 4B is a diagram showing a simplification of the configuration shown in FIG. 4A. In FIG. 4A, when the unit arithmetic circuits constitute the SAD arithmetic circuit, the first selector 18 selects picture data to be compared that is inputted from the second input terminal 12. The second selector 19 selects picture data for reference inputted from the third input terminal 13. The third selector 20 selects absolute value data outputted from the absolute value calculating unit 24, and the bit shifter 21 outputs through picture data (which does not shift bits) with 0 bit shift (described as "<<0").

FIG. 5A is a circuit block diagram showing a state of switching the arithmetic path by the first selector 28, the second selector 19 and the third selector 20 in the unit arithmetic circuit which constitutes a part of the digital filter. FIG. 5B is a diagram showing a simplification of the configuration shown in FIG. 5A. In FIG. 5A, when the unit arithmetic circuits constitute the digital filter, the first selector 18 selects picture data inputted from the third input terminal 13. The second selector 19 selects "0" which is the fixed data. The third selector 20 selects difference data outputted from the subtractor 22.

The arithmetic processing apparatus in the present embodiment is formed by arranging the unit arithmetic circuits in row and column directions, the unit arithmetic circuits reconfiguring the arithmetic circuit according to the processing mode of the targeted picture data. It executes a different arithmetic processing function, according to the processing mode, for each arithmetic processing block that some of the plurality of unit arithmetic circuits are combined.

FIG. 6A and FIG. 6B are schematic diagrams showing an example of a configuration of the arithmetic processing block in JPEG processing and that in MPEG processing, respectively.

In FIG. 6A, in the JPEG processing, the arithmetic processing unit is constituted of an arithmetic processing block 51A for the DCT circuit and an arithmetic processing block 52A for the digital filter. Most of the unit arithmetic circuits are assigned to the arithmetic processing block 51A for the DCT circuit. The arithmetic processing block 51A for the DCT circuit constitutes the butterfly arithmetic circuit.

First, it is explained about a configuration of the butterfly arithmetic circuit by the arithmetic processing block 51A for the DCT circuit.

FIG. 7A is a circuit connection diagram showing an example in the case where an 8 bit butterfly arithmetic circuit is constituted of four unit arithmetic circuits. FIG. 7B is a diagram showing a simplification of the configuration shown in FIG. 7A. In FIG. 7A, eight elements Xi(i=0, 1, . . . , 7) are inputted to a first unit arithmetic circuit 61, a second unit arithmetic circuit 62, a third unit arithmetic circuit 63 and a fourth unit arithmetic circuit 64 that are reconfigured as shown in FIG. 3B and eight elements Ai(i=0, 1, . . . , 7) that constitute an intermediate vector are outputted, the eight elements Xi constituting an input vector from a distribution arithmetic circuit (not shown in the drawings) that forms a part of the DCT circuit using the DA method.

As is clear from FIG. 7A and FIG. 7B, a butterfly arithmetic equation of the intermediate vector for the input vector is described as follows: A0=X0+X7, A4=X0-X7 A1=X1+X6, A5=X1-X6 A2=X2+X5, A6=X2-X5 A3=X3+X4, A7=X3-X4

Here, while it is not explained in detail in the present embodiment, eight elements which constitute a part of a one-dimensional DCT result are calculated by multiplying 8.times.8 discrete cosine matrix and the intermediate vector constituted of the eight elements Ai(i=0, 1, . . . , 7).

Next, it is explained about a configuration of the digital filter by the arithmetic processing block 52 for the digital filter shown in FIG. 6A.

FIG. 8 is a circuit connection diagram showing an example in the case where the digital filter having 4 taps is made up with a first module 71 which includes four unit arithmetic circuits and a second module 72 which includes four unit arithmetic circuits. The first module 71 and the second module 72 are formed having a same configuration by commonly connecting the third input terminal to which picture data (Data in) is inputted, and connecting, in a raw direction, only four unit arithmetic circuits corresponding to a number of taps by connecting, in the raw direction, the first output terminal of a unit arithmetic circuit to the first input terminal of the next unit arithmetic circuit. Each unit arithmetic circuit is reconfigured as shown in FIG. 5B.

The first module 71 and the second module 72 are arranged in parallel. Each output data from each module arranged in parallel is added by an adder 75 via a first register 73 and a second register 74 in the other unit arithmetic circuit. A digital filtering is performed further on the added picture data via a second register 76 bit shifter in the other unit arithmetic circuit and the processed picture data (Data out) is outputted. FIG. 9 is a diagram showing a connection relationship and a configuration shown in FIG. 8 in detail. Note that, in FIG. 9, CS indicates a crossbar switch which connects external wirings of the unit arithmetic circuits to each other.

The digital filter having 4 taps shown in FIG. 8 and FIG. 9 has a configuration, in order to multiply the input picture data by a filter coefficient of n-th power of 2 (n is an integer), of shifting left (side of upper bit) when a sign of n is positive and shifting right when a sign of n is negative (side of lower bit) as many as a number of bits of an absolute value of n, and of sequentially adding in synchronization with the clock signal.

Next, it is explained about a performance of the digital filter using a specific example.

FIG. 10 is a circuit connection diagram showing a configuration of the digital filter which multiplies adjacent four pixels respectively by filter coefficients of 1/8, 1/4 (= 2/8), 1/2 (= 4/8) and 1/8 and adds the four pixels. In FIG. 10, "0" is set to bit shifters 21-11, 21-12, 21-14, 21-21, 21-22, and 21-24 where become a through condition, and picture data from the second registers 17-11, 17-12, 17-14, 17-21, 17-22, 17-24 are multiplied by "1(=2.sup.0)" as a coefficient.

Further, "+1" is set to the bit shifters 21-13 and 21-23 and 1 bit shift (described as "<<1") is performed towards the upper bit and the picture data from the second registers 17-13 and 17-23 is multiplied by "2(=2.sup.1)" as a coefficient.

In addition, the second selectors 21-21 and 21-24 in the second module 72 switch a connection to respectively select picture data from the second registers 17-21 and 17-24. Further, "-3" is set to the bit shifter 77; 3 bits shift towards the lower bit (described as ">>3") is performed; and the picture data from the adder 76 is multiplied by "1/8(=2.sup.-3)" as a coefficient.

FIG. 11 is a diagram showing a change of synchronizing the output data of each register (Reg) and the output data (Data out) of the bit shifter 77 with clock signals CLK. Note that in FIG. 11, CLK0, CLK1, CLK2, . . . , and CLK5 indicate rising points of the clock signals CLK. Making CLK0 as a basis, CLK1 indicates a rising point of the CLK after one clock period; CLK2 indicates a rising point of the CLK after 2 clock periods; and CLK5 indicates a rising point of the CLK after 5 clock periods. Additionally, Reg16-12, for instance, indicates the output data from the first register 16-12. Also, d0, d1, . . . , and d4 indicate pixel data.

As shown in FIG. 11, the final output data Data out is d0/8+d1/4+d2/2+d3/8 at the point of CLK4 and d1/8+d2/4+d3/2+d4/8 at the point of CLK5. The adjacent four pixels are multiplied respectively by the filter coefficients of 1/8, 1/4, 1/2 and 1/8. The multiplied adjacent four pixels are then added to one another thus the digital filtering is performed.

Next, with reference to FIG. 6B, it is explained about a configuration of the arithmetic processing block in the MPEG processing.

In FIG. 6B, in the MPEG processing, the arithmetic processing apparatus is made up with an arithmetic processing block 51B for the DCT circuit, an arithmetic processing block 53 for the ME circuit, and an arithmetic processing block 52B for the digital


Free Web Sudoku Puzzles.
Solve with your browser.
    2   7       5
7           4    
9     5       7  
2 4              
8 7 1       3 4 2
              5 8
  1       4     6
    9           1
6       8   9    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!