WO1995001630A1 - Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif - Google Patents

Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif Download PDF

Info

Publication number
WO1995001630A1
WO1995001630A1 PCT/JP1994/001068 JP9401068W WO9501630A1 WO 1995001630 A1 WO1995001630 A1 WO 1995001630A1 JP 9401068 W JP9401068 W JP 9401068W WO 9501630 A1 WO9501630 A1 WO 9501630A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
image
signal
coefficient
image data
Prior art date
Application number
PCT/JP1994/001068
Other languages
English (en)
French (fr)
Inventor
Seiichi Kajiwara
Original Assignee
Sega Enterprises, 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 Sega Enterprises, Ltd. filed Critical Sega Enterprises, Ltd.
Priority to BR9405492-4A priority Critical patent/BR9405492A/pt
Priority to EP94919834A priority patent/EP0657867A4/en
Priority to KR1019950700747A priority patent/KR0169541B1/ko
Priority to US08/392,732 priority patent/US5848201A/en
Publication of WO1995001630A1 publication Critical patent/WO1995001630A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • G09G5/346Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen

Definitions

  • the present invention relates to an image processing apparatus and method, and an electronic apparatus having the image processing apparatus.
  • the present invention relates to an image processing apparatus and method, and an electronic apparatus having the image processing apparatus, and more particularly to an image processing technique for performing a movement conversion process and / or a rotation conversion process in a game machine.
  • foreground images that display characters appearing in the game are superimposed on a background image that displays the background such as the ground, the sea surface, the sky or outer space, and synthesized. It is common to display on a monitor screen of a display device.
  • the game player expresses this by moving the foreground and the background relative to each other when displaying the character's ability to advance the game by moving the character.
  • the background image side is fixed and the foreground image is moved or rotated in the horizontal and vertical directions, or the foreground image side is fixed and the background image is moved or rotated in the horizontal and vertical directions.
  • the function that displays the latter movement is called the scroll function.
  • the scroll function In the scroll screen displayed by the scroll function, the foreground image side where the character is displayed is fixed to almost the center of the screen screen, and the background image is moved in response to this.
  • the background image side In the actual operation in the image processing device, the background image side is a virtual still image stored in the image memory of the image processing device, and the operation for converting this image information (that is, moving the background image Processing).
  • the graphical images of the operations actually performed are such that the screen screen frame and the player's viewpoint move freely over the entire background image stored in the image memory.
  • a screen screen is a virtual screen that is set for each circuit that performs a transfer conversion and a rotation conversion. From the viewpoint of a screen on which an image is displayed, the You can think of it as a monitor screen.
  • scroll screen formats There are two types of scroll screen formats: cell format used in home video game consoles, etc., and bitmap format used in personal computers.
  • cell format used in home video game consoles, etc. For example, a plurality of cell pattern data consisting of 8 x 8 pixel image data (repeating the same or different patterns as necessary)
  • the background image data is generated by laying them together on the screen screen.
  • pattern data of the cell image and the spread position of the cell image on the screen screen are indicated by data called pattern name data.
  • a game machine having an image processing device generally includes a CPU for controlling the entire game machine and an image memory for storing image information.
  • the above-described pattern name data and cell image pattern data are used.
  • VRAM video RAM
  • the image information is written in the VRAM from the cassette ROM or CD-ROM under the control of the CPU in advance, or the image information processed by the CPU is written in advance.
  • the pattern name data is read from this VRAM, the VRAM is accessed again using this pattern name data, and the pattern data of the cell image is read, so that the background image is displayed on the screen screen (specifically, the monitor screen).
  • the types of scroll screens include a so-called normal scroll screen that moves left and right and up and down, and a rotary scroll screen that rotates.
  • the normal scroll screen can predict the pattern data and pattern name data corresponding to the movement, so that the pattern data and pattern name data can be collectively accessed to VRAM to some extent.
  • the rotation scroll screen cannot predict the pattern data and the pattern name data corresponding to the movement. Therefore, it is necessary to access the pattern data and pattern name data to the VRAM for each dot.
  • the image data (referred to as pattern data) of a character (eg, an airplane in a fly simulator game) displayed in the foreground image is converted into VR in dot units.
  • the pattern name data and the pattern data All data from the evening must be accessed to VRAM for each dot. Therefore, it is essential to provide a physically independent VRAM for storing pattern name data and a VRAM for storing pattern data.
  • a game console that displays two rotating scroll screens simultaneously requires two VRAMs to store pattern name data and two VRAMs to store pattern data, for a total of four VRAMs. It turns out that.
  • the following processing methods can be considered as arithmetic processing for moving and rotating the scroll screen as the background image.
  • the following calculation is performed by the software to obtain the start coordinate values GX st, G Y st of the scroll screen and the horizontal coordinate increments GX, GY for each line.
  • k is a perspective transformation coefficient
  • the image processing device can calculate the scroll screen coordinates by adding AGX and AGY to GX st and GY st for each dot. .
  • a matrix operation circuit including a multiplier with a large circuit scale is required. Therefore, in order not to increase the circuit scale, the above calculation is generally performed by software.
  • a background image which is a single original image stored in VRAM
  • VRAM virtual reality memory
  • image data of an image rotating rightward and image data of an image rotating leftward are separately generated. Therefore, every time image data is generated, the pattern name data is stored in the VRAM where the original image is stored. It must access and perform different rotation processing on the pattern data of each cell image. In other words, this method doubles the access to VRAM. Therefore, it takes time to access VRAM, and there is a possibility that the display timing may not be in time.
  • Conventional window displays on game consoles include a rectangular window in which two rectangular points can be specified and a line window in which two lines can be specified.
  • these windows have a limitation that their shapes are monotonous, and it has been difficult to diversify the image display using the windows.
  • the present invention has been made in view of the above points, and a main object of the present invention is to suppress various loads including window display while suppressing an increase in CPU load and an increase in image memory capacity.
  • An object of the present invention is to provide an image processing apparatus for generating image data of a divided screen and a method thereof, and further to provide an electronic device having an image processing apparatus which achieves this object.
  • a first object of the present invention is to provide an image processing apparatus capable of suppressing an increase in the load on a CPU and enabling efficient display of various screens by efficiently using an image memory.
  • a second object of the present invention is to provide a dedicated arithmetic circuit for performing operations for the movement conversion process and the Z or rotation conversion process in a dedicated manner, thereby reducing the load on the CPU and diversifying the conversion process. It is to provide a processing device.
  • a third object of the present invention is to provide an image processing device capable of performing efficient screen division display.
  • a fourth object of the present invention is to provide an image processing device for shortening the generation time of display image data.
  • a fifth object of the present invention is to provide an image processing method capable of reducing the load on the CPU and efficiently using an image memory to perform a multi-screen display.
  • a sixth object of the present invention is to provide an electronic device, particularly a game machine, capable of reducing the load on a CPU and enabling efficient display of various screens by using an image memory efficiently.
  • a seventh object of the present invention is to provide an electronic device, particularly a game machine, which includes a CPU, two sets of video processors and a VRAM, and is capable of performing various screen division displays.
  • An eighth object of the present invention is to reduce the load on a CPU in an electronic device that generates a split image and a background image, and to make it possible to efficiently use an image memory to perform various screen division displays.
  • Another object of the present invention is to provide an electronic device suitable for a game machine that operates.
  • a ninth object of the present invention is to provide an electronic device suitable for a game machine capable of displaying various screens by using an image memory efficiently and displaying a window of an arbitrary shape. Is Rukoto.
  • a tenth object of the present invention is to provide an electronic device capable of displaying a window of an arbitrary shape, particularly suitable for a game machine.
  • a first object of the present invention is to provide an image processing apparatus capable of generating image data of an image that appears to have been rotated in three ways and reducing the overhead of the CPU. It is.
  • a first and second object of the present invention is to generate image data of an image that appears to have been rotated three times, and to reduce the overhead of the CPU. It is to provide an electronic device suitable for the machine.
  • a thirteenth object of the present invention is to provide an electronic device suitable for a game machine which achieves the above object, and which is equipped with a display device.
  • a fourteenth object of the present invention is an image processing apparatus which can be achieved by the constitutions of claims 14 to 21 and achieves the above object, and can be formed integrally on a semiconductor substrate.
  • a fifteenth object of the present invention is to provide an image processing apparatus having a color RAM, which achieves the fourteenth object.
  • a sixteenth object of the present invention is to provide an image processing apparatus which achieves the above object, and which has a control register whose contents can be rewritten by a CPU and a window control block. It is.
  • a seventeenth object of the present invention is to provide an image processing apparatus which achieves the above object, wherein an image processing unit for generating a background image can be integrally formed on one semiconductor substrate. To provide.
  • an eighteenth object of the present invention is to provide an image processing method capable of processing a screen screen rotation process at high speed and reacting in real time to an operation of a player such as a game machine.
  • a nineteenth object of the present invention is to provide an image processing method capable of generating image data of an image that appears to have been rotated in three axes.
  • a 20th object of the present invention is to provide an image processing method for diversifying a screen display.
  • an image processing apparatus is an image processing device An image processing apparatus that sequentially reads out image information of an image to be displayed and generates image data based on the image information under the control of a CPU; A plurality of signal processing means for outputting a conversion processing signal necessary for performing conversion processing such as conversion processing;
  • Switching means connected to the plurality of signal processing means, for selectively switching the conversion processing signal according to a display switching signal preset for each pixel, and outputting one of the conversion processing signals;
  • Address generating means for generating a read address corresponding to the image information converted on the basis of the conversion processing signal.
  • each of the signal processing stages includes a parameter register that holds parameters used for an operation for a movement conversion process and / or a rotation conversion process; and A matrix operation circuit that performs operations for the movement conversion process and the z or rotation conversion process; a coefficient RAM that stores predetermined data as a coefficient; and a coefficient RAM access circuit that accesses the coefficient RAM and calls the coefficient. It is characterized by including.
  • An image processing apparatus is characterized in that the display switching signal is supplied from one of the coefficients R AM to the switching means.
  • the address generation means includes a product-sum operation circuit connected to the switching means, and an image memory access circuit connected to the product-sum operation circuit. I do.
  • the image processing method wherein the image information is sequentially read from the image memory to be displayed, and image data is generated based on the image information.
  • a conversion processing signal required to execute the conversion processing is generated, and the conversion processing signal is selectively switched according to a display switching signal set in advance for each pixel, and one of the conversion processing signals is output.
  • a read address for the image information converted based on the conversion processing signal is generated, and a plurality of image data is divided and displayed on the monitor screen in accordance with the display switching signal. It is characterized by generating.
  • the electronic device includes: (l) a CPU; Data RAM; (3) including a background image generation unit and a display control unit connected to the background image generation unit, sequentially reading out the image information to be accessed and displayed, and A video processor for generating image data under the control of the CP;
  • the background image generation unit has the following structures (1) to (3):
  • Switching means which is connected to the plurality of signal processing means and selectively switches the conversion processing signal according to a preset display switching signal and outputs one of them; 3.
  • An address generation unit that generates a read address corresponding to the converted image information based on the conversion processing signal output from the switching unit;
  • the electronic concealment of the invention according to claim 7 includes: (1) a CPU; (2) a first video processor; (3) a first video RAM connected to the first video processor and storing image information; A second video processor including a background image generation unit and a display control unit connected to the background image generation unit; (5) a second video processor connected to the second video processor and storing image information.
  • Video RAM includes: (1) a CPU; (2) a first video processor; (3) a first video RAM connected to the first video processor and storing image information; A second video processor including a background image generation unit and a display control unit connected to the background image generation unit; (5) a second video processor connected to the second video processor and storing image information.
  • Video RAM Video RAM;
  • the background image generation unit has the following structures (1) to (3):
  • a plurality of signal processing means for outputting a conversion processing signal necessary for performing a conversion process on the image information based on information supplied under the control of the CPU;
  • switching means connected to the plurality of signal processing means, for selectively switching the conversion processing signal according to a preset display switching signal and outputting one of the conversion processing signals
  • An address generation means connected to the switching means and generating a read address corresponding to the image information converted based on the symbol;
  • the electronic device wherein: (1) a CPU; (2) a bus line connected to the CPU; (3) a path controller for controlling a signal flow of the bus line; A first image information processing unit including the configurations of 3); 1) a first video processor connected to the bus line and controlling generation of split image data;
  • a first video RAM which is connected to the first video processor and stores image information for generating split image data
  • a second image information processing unit including the following configurations 1) and 2);
  • a display control unit for controlling the image data so as to synthesize
  • a second video RAM that is connected to the second video processor and stores image information for generating background image data
  • An electronic device having:
  • the background image generation unit has the following structures (1) to (3):
  • a pair of signal processing means connected to the bus line and outputting a conversion processing signal required to execute a conversion processing on image information based on information supplied under control of the CPU.
  • switching means connected to the plurality of signal processing means and selectively switching the conversion processing signal according to a preset display switching signal and outputting one of the converted processing signals; (3) connected to the switching means; Address generation means for generating a read address corresponding to the image information converted on the basis of the conversion processing signal output from the switching means,
  • the first video processor reads the split image data expanded in the frame buffer, and changes a predetermined bit value of the image data to store the same image data in the frame buffer.
  • a bit value changing means for writing to the address, wherein the second video processor detects whether or not the predetermined bit value included in the split image data from the frame buffer has been changed.
  • a value detector and the spliced image data based on the changed bit value.
  • a window control unit for transmitting a window signal having a shape of a split image to the display control unit.
  • the electronic device wherein: (1) a CPU; (2) a bus line connected to the CPU; (3) a bus controller for controlling a signal flow of the bus line; A first image information processing unit including the configuration of ⁇ 4);
  • bit value changing means for reading the split image data expanded in the frame buffer, changing a predetermined bit value of the data and writing the same at the same address in the frame buffer;
  • a second image information processing section including the following 1) to 3);
  • a second video RAM which is connected to the second video processor and stores image information for generating background image data
  • the second video processor has the following configurations (1) and (2):
  • bit value detection unit that detects whether the bit value included in the split image data read from the frame buffer has been changed
  • An image processing apparatus provides a rotation matrix parameter A to I, a viewpoint (Px, Py, ⁇ ) on a screen screen before coordinate conversion, and a center point in coordinate conversion (Cx, Cy.Cz). ), Place on the screen screen before coordinate transformation From the fixed point (Sx, Sy, Sz) and the translation amount (Mx. My, Mz), the viewpoint after coordinate transformation (Xp, ⁇ . ⁇ ) and the screen after coordinate transformation on the screen (Xs, Ys, Zs) representing the predetermined point of is expressed by the following equations (1) and (2), and Px-Cx
  • An image processing apparatus that accesses an image memory using the coordinates X and Y and generates image data of an image to be displayed after the coordinate conversion processing
  • a coefficient memory for storing a coefficient k for one screen screen for each pixel
  • a matrix operation circuit that calculates the Xp, Yp, Xs, and Ys of each pixel by performing the matrix operation of the expressions (1) and (2);
  • a product-sum operation circuit that calculates the coordinates X, Y by performing the operation of the expression (4) from Xp, YP, Xs, Ys of each of the pixels and the coefficient k of the corresponding pixel read from the memory. And characterized in that:
  • An electronic device comprising: (1) a CPU; (2) a video processor; (3) a video RAM connected to the video processor and storing image information; Attempt to access and display stored signals
  • a parameter register for storing signals related to the rotation matrix parameters A to F supplied from the CPU and coordinate data Px, Py, Pz, Cx, Cy, Cz, Mx, My, Mz before conversion;
  • a matrix operation circuit connected to the parameter register to calculate the Xp, YP, Xs, and Ys of each pixel by performing the matrix operations of the equations (1) and (2). 4.
  • the coordinates X.Y are calculated from the XP.YP.Xs.Ys of each pixel and the corresponding search coefficient k read from the coefficient memory to calculate the coordinates X.Y to obtain the video RAM.
  • Sum-of-products arithmetic circuit that generates the read address of
  • An electronic device is provided with a display device for displaying an image based on image data generated from image information.
  • the image processing apparatus is
  • a rotation matrix parameter A to F which is connected to the first connection terminal and is supplied from the CPU, represents a viewpoint before coordinate transformation (Px. Py, Pz), and represents a center point in coordinate transformation.
  • (Sx, Sy. Sz) represents a predetermined point on the screen screen before coordinate transformation
  • (Xp. Yp, Zp) represents the viewpoint after coordinate transformation, and (Xs, Ys, Zs) represents a predetermined point on the screen screen after coordinate transformation;
  • a sum-of-products arithmetic circuit that performs an operation represented by: and calculates coordinates X and Y of a display image
  • a video RAM access circuit connected to the second terminal for accessing a video RAM using the coordinates X and Y supplied from the product-sum operation circuit as a search address of a display image;
  • a display control block connected to the display image generation block and outputting the generated image data from the third terminal is provided.
  • the image processing apparatus is:
  • a pair of coefficient memories connected to the first terminal and storing a coefficient k including a display switching signal supplied from the CPU:
  • a product-sum operation circuit that is connected to the first and second switching circuits and that calculates coordinates of a display image based on a signal supplied from the first and second switching circuits; 7) The display switching signal is supplied from one of the coefficient memories to the first and second switching circuits and the product-sum operation circuit, and from the pair of matrix operation circuits and the pair of coefficient memories to the product-sum operation circuit. Switching means for switching the supplied signal;
  • a video RAM access circuit connected to the second terminal for accessing the video RAM as coordinate data supplied from the product-sum operation circuit as a pixel address of a display image
  • a display control block connected to the display image generation block and outputting the generated image data from the third terminal;
  • An image processing apparatus is characterized in that a color RAM is connected to the display control block.
  • control terminal is connected to the first terminal, the content of the control register is rewritable by a CPU, and a window control block supplies a control signal to the display control block. It is characterized by having.
  • An image processing apparatus wherein the display image generation block, the window control block, and the display control block are configured as a video processor IC integrally formed on a semiconductor substrate. .
  • An image processing apparatus further comprising: a fourth terminal for inputting a foreground image; and a window detection block connected between the fourth terminal and the window control block.
  • the signal input to the fourth terminal includes a window control flag and a foreground image signal, the window control flag is supplied to the window detection block, and the foreground image signal is supplied to the display control block. Is supplied.
  • the display image generation block is configured to generate a background image corresponding to the foreground image
  • the display control block is an image obtained by combining the background image and the foreground image. Data is output from the fourth terminal.
  • the image processing apparatus wherein the display image generation block, the window control block, the display control block, and the window detection block power. It is characterized in that it is configured as a video processor IC integrally formed on a semiconductor substrate.
  • the image processing method according to the invention of claim 22 is characterized in that the rotation matrix parameters A to I, the viewpoint (Px, Py.Pz) on the screen screen before the coordinate conversion, and the center point in the coordinate conversion (Cx, Cy, From Cz), (Sx, Sy. Sz) representing a predetermined point on the screen screen before coordinate transformation and (Mx. My, Mz) representing the amount of translation, (Xp, ⁇ , ⁇ ) and (Xs, Ys, Zs) representing a predetermined point on the screen screen after coordinate transformation are expressed by the following equations (1) and (2).
  • the coordinates X and Y are calculated by performing the calculation of the above equation (4) from the coefficients for one screen screen preset for each pixel and ⁇ ⁇ , Yp, Xs, and Ys of each pixel, and calculating the coordinates.
  • X-axis rotation + ⁇ ⁇ rotation and ⁇ or screw, which continuously makes the X-axis rotation with the X-axis of the screen screen as the rotation axis and the ⁇ -axis rotation with the screen axis as the rotation axis
  • a rotation conversion process called “ ⁇ free rotation + Zf free rotation” is performed, in which Y $ rotation using the ⁇ axis as the rotation axis on the single screen and Z axis rotation using the Zf rotation on the screen screen continue. It is characterized by performing.
  • the image processing method provides a rotation matrix parameter A to I, a viewpoint (Px, Py, ⁇ ) representing a viewpoint on a screen screen before coordinate transformation, and representing a center point in coordinate transformation (Cx, Cy, Cz ), And from the coordinates (Sx, Sy, Sz) representing the specified point on the screen screen before the coordinate transformation and the translation amount (Mx, My, Mz), the viewpoint after the coordinate transformation (Xp, ⁇ , ⁇ ) and (Xs, Ys, Zs) representing a predetermined point on the screen after the coordinate transformation are expressed by the following equations (1) and (2).
  • the coordinates X and Y are calculated by performing the operation of the above equation (4) from Yp.Xs and Ys, the image memory is accessed using the coordinates X and Y, and the coordinates of the displayed image after the coordinate conversion processing are calculated.
  • the image processing method according to the invention of claim 24 is characterized in that the rotation matrix parameters A to I, the viewpoint (Px, Py.Pz) on the screen screen before the coordinate conversion, and the center point in the coordinate conversion (Cx, Cy. From (Cx), (Sx, Sy, Sz) representing a given point on the screen screen before coordinate transformation and (Mx, My, Mz) representing the translation amount, (Xp, ⁇ , ⁇ ) and (Xs, Ys, Zs) representing a predetermined point on the screen after coordinate transformation are expressed by the following equations (1) and (2).
  • the coordinates X and Y are calculated from the coefficient k for one screen screen set in advance for each pixel and ⁇ , Yp. Xs, Ys of each pixel by calculating the above equation (4).
  • An image processing method for accessing an image memory using X and Y to generate image data of an image to be displayed after a coordinate transformation process The coefficient k is multiplied by either X or Y in the above equation (4) to enlarge or reduce the screen screen in the horizontal or vertical direction.
  • the image processing method provides a rotation mat, a Jux parameter A to I, a point of view with respect to a screen screen before coordinate conversion (Px, Py, ⁇ ), and a center point in coordinate conversion (Cx, Cy, Cz), (Sx, Sy, Sz) representing a given point on the screen screen before coordinate transformation, and (Mx, My, Mz) representing the amount of translation, from the point of view (Xp , ⁇ , ⁇ ) and (Xs, Ys, Zs) representing a predetermined point on the screen screen after coordinate transformation are expressed by the following equations (1) and (2).
  • the coordinates X and Y are calculated from the coefficient k for one screen screen set in advance for each pixel and ⁇ , Yp. Xs, Ys of each pixel by calculating the above equation (4).
  • the output of the switching means is switched in accordance with the display switching signal, and the address generation in which different movement / rotation conversion processing is performed.
  • the address generation means By selectively outputting the application data to the address generation means, it is possible to generate image data that has undergone independent conversion processing.
  • the monitor screen can be arbitrarily divided according to the display switching signal, and independent image data can be supplied to each of the divided screens. As a result, the monitor screen can display an independent image for each divided screen.
  • Claims to 9 can have the above-described effects as an electronic device suitable for a game machine.
  • the functions and effects of claims 2 to 4 are as follows. That is, in the invention of claim 2, the parameters used for the operations for the movement conversion process and the Z or rotation conversion process supplied from the CPU are stored in the register, and the parameters are obtained by calculation by the CPU. (Alternatively, it may be prepared in advance on a cassette CD-ROM or the like and supplied under the control of the CPU.) Predetermined data is stored in the coefficient RAM as coefficients, and these parameters and coefficients are used.
  • the movement conversion processing and the rotation or rotation conversion processing are not performed by the CPU, but are performed by a matrix operation circuit and a product-sum operation circuit in a due-time manner.
  • the product-sum operation circuit since the product-sum operation circuit only needs to process the data of the screen switched by the switching circuit, it is possible to omit, for example, the calculation of a portion coming to the lower side of the screen. As a result, the CPU only needs to set the parameters and coefficients necessary for the calculation, so that the burden is reduced.
  • the screen division display can be easily performed by using one of the coefficients stored in the coefficient RAM as the display switching signal.
  • the image memory access circuit accesses the image memory only when necessary for image display in accordance with the output of the product-sum operation circuit, so that access to the overlapping lower part can be omitted. Therefore, the generation speed of the display image data can be increased.
  • a split image having an arbitrary shape can be used as a window
  • one monitor screen can be divided and displayed in an arbitrary shape to generate a new image.
  • image data of an image that appears to be rotated in three axes is generated to calculate the coordinates X and ⁇ of the scroll screen based on a predetermined calculation formula. Since the coefficient k for one screen is stored in the coefficient memory and can be processed by hardware circuits using the matrix operation circuit and the product-sum operation circuit, the overhead of the CPU can be reduced. it can.
  • Claim 12 can have such an effect as an electronic device suitable for a game machine.
  • the electronic device according to the present invention can be used as a game machine having a display device, such as an arcade game machine, having the above-described effects.
  • the invention according to claims 14 to 21 is an image processing apparatus having the above-described operation, which has a circuit configuration that can be integrally formed on a semiconductor substrate, so that it can be easily applied to various technical fields. It becomes possible.
  • k is the horizontal or vertical direction of the screen screen. It is constant for one of the directions. Therefore, the CPU that performs the rotation conversion calculation process requires a small calculation load, and can perform the rotation process of the screen screen at a high speed. Therefore, by using such an image processing method for an electronic device such as a game machine, it becomes possible to react in real time to the operation of a player such as a game machine.
  • FIG. 1 is a block diagram of a game machine main body according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing one pixel of the image data of the foreground image.
  • FIG. 3 is an explanatory diagram illustrating an example of processing in which pixel data is harmed to the frame backup 23.
  • FIG. 4 is a perspective view showing a scroll screen, a screen screen, and a line of sight.
  • FIG. 5 is a perspective view in which the screen screen of FIG. 4 is rotated on the X axis with respect to the scroll screen.
  • FIG. 6 is a perspective view in which the screen screen of FIG. 4 is rotated in the Y axis with respect to the scroll screen.
  • FIG. 7 is a perspective view in which the screen screen of FIG.
  • FIG. 8 is a front view showing a screen screen corresponding to FIG.
  • FIG. 9 is a front view showing a screen screen corresponding to FIG.
  • FIG. 10 is a front view showing a screen screen corresponding to FIG.
  • FIG. 11 is a front view showing a screen screen corresponding to FIG.
  • FIG. 12 is a graph for explaining “parameters” and “coefficients” of the translation / rotation conversion formula.
  • FIG. 13 is a block diagram of the scroll engine 21.
  • FIG. 14 is a block diagram of the background image generation unit 41.
  • FIG. 15 is a block diagram of a part of the background image generation unit 41.
  • Figure 16 is a model diagram of the screen screen divided by the rotation parameters A and B.
  • FIG. 17 is a diagram for explaining the movement and rotation of the image.
  • FIG. 18 is a diagram for explaining the movement and rotation of an image.
  • Figure 19 is a model diagram of a screen screen divided into windows.
  • FIG. 20 and FIG. 21 are diagrams for explaining the screen screen rotation conversion processing.
  • FIG. 22 is a diagram for explaining an image obtained by performing “ ⁇ free rotation + screen axis rotation” that appears to have been rotated in three axes.
  • FIG. 23 is a diagram showing the relationship between the scroll screen, the screen screen, and the viewpoint when the X axis rotation and the screen axis rotation are performed.
  • FIG. 24 is a diagram for explaining an image that has been subjected to image processing using the sphere formula as a parameter.
  • FIGS. 25 and 26 are circuit diagrams of another embodiment of the present invention.
  • Reference numeral 10 denotes a game machine body.
  • the game machine body 10 is connected via a control pad 34, which is an input device for the player to operate the game, through an SMPC (Systen Manager & Peripheral ControlZ system manager) 33, which is an IZO controller.
  • the SMPC 33 performs reset management of the entire game machine 10 and interface control with an external device such as the control pad 34.
  • a cartridge 35 is detachably attached to the game machine body 10.
  • the cartridge 35 stores a game program written in a semiconductor memory (mask ROM).
  • the game program may be supplied in a form incorporated in the CD-ROM instead of the cartridge 35 by equipping the game machine body 10 with a CD-ROM drive (not shown). Noh.
  • Reference numeral 14 denotes a bus provided in the game machine main unit 10, where a CPU 15, R A
  • the CPU 15 executes the game program in the cartridge 35 and controls the entire game console, and consists of a 32-bit RISC-type high-speed CPU (two CPU chips called SH-2). .
  • the bus controller 18 includes a DMA controller, an interrupt controller, and the like, and functions as a coprocessor of the CP 15.
  • the sound processor 36 controls the sound (PCMZFM), and converts the digital signal into an analog signal by the DZA converter 37 and outputs the sound from a speaker (not shown).
  • the split engine 20 has VRAM (or command RAM) connected to it. Together with the frame buffer 22 and the frame buffer 23, a first image information processing unit that performs image processing on a split screen serving as a foreground image FG is configured.
  • the split engine 20 is formed on a semiconductor chip as an IC chip called a video processor 1 (hereinafter, VDP 1).
  • the flash engine 20 is connected to a command RAM 22 (composed of 4 Mbit DRAM) and two frame buffers 23 (each having 2 Mbit).
  • the command RAM 22 stores command data from the CPU 15 and image data serving as the original picture of the foreground picture.
  • the frame buffer 23 expands the image data of the split screen.
  • the sprite engine 20 When the CPU 15 sends the command data (drawing command) to the sprite engine 20 by executing the program in the R0M17, the sprite engine 20 writes the command data into the command data RAM 22 as a command table. Then, the split engine 20 selects and reads the image data (predetermined drawing command) of the split screen such as a character from the command RAM 22 and performs processing such as rotation, enlargement, reduction, and color calculation. The data is written to a predetermined address in the frame buffer 23, and the foreground image data is developed in the frame buffer 23. The split engine 20 sequentially reads out the image data for one frame written in the frame buffer 23 and supplies the image data directly to the scroll engine 21 without passing through the bus 14. The information for controlling the drawing is set in the system registry inside the split engine 20.
  • One pixel of the image data processed by the split engine 20 is represented by 16 bits as shown in FIG.
  • the lower 11 bits D0 to D10 are color code bits for specifying a color. Of these bits, 11 bits are used as an address of a color RAM 25 described later.
  • the split character is stored in the VRAM 22 at 4 bits or 8 bits per dot, but when writing to the frame buffer 23, the color RAM address offset specified for each character is placed on the upper side of the character data. Default value. Bits D8 to D10 or D5 to D10 are unused, and bits D11 to D14 are priority codes.
  • the bright engine 20 has an MSB on function.
  • the MSB-on function referred to here means that when writing a split character to a specified location in the frame buffer 23, instead of simply overwriting in order, the frame buffer data at the address to be written is read out and the data This is a function to write data with only the most significant bit, MSB (Most Significant Bit), changed from 0 to 1 at the same address.
  • MSB Most Significant Bit
  • the most significant bit D15 is a window flag, and if the value is "1", it is determined that the pixel including this is the pixel of the window. A value of "0" indicates that the pixel is not a window pixel.
  • the dot data of the split character for which the MSB-on function is used is used only for determining whether or not the dot is transparent, and has no relation to the data written to the frame buffer 23.
  • the flow of the image data of the foreground image FG is as follows.
  • the image data of the foreground image FG enters the terminal 40 from the split engine 20.
  • the window flag of the most significant bit D15 is supplied to the split window detection unit 42, and the remaining lower 15 bits D0 to D14 of the color data are input.
  • the code and the priority code are supplied to the display control unit 43.
  • the spliced window detector 42 supplies the detection signal to the window controller 44.
  • the split engine 20 writes the search data to the frame buffer 23. First, clear all of the split engine 20 frame buffer 23 to 0000h (16 bits / dot). Next, the split engine 20 writes 0001h in the shape of the split character C1 at the designated position in the frame buffer 23. Next, the split engine 20 writes 0002h in the shape of the split character C2 at the designated position in the frame buffer 23. When preparing a window having the shape of the split character W1, specify in advance that the MSB on function should be used for the split character W1. Then, the split engine 20 reads the frame buffer data in the form of the split character W1, and writes the data in which only the MSB of the data is changed from 0 to 1 at the same address.
  • the frame buffer data thus obtained is read out in synchronization with the horizontal and vertical synchronizing signals of the scroll engine 21 and input to the scroll engine 21.
  • the MSB of the frame buffer data is used as a window flag, and it is determined whether or not to perform window processing according to the bit value.
  • the remaining 15 bits (other than the MSB) of the frame buffer data are used as dot data for the split.
  • the scroll engine 21 is formed on a semiconductor chip as an IC chip called a video processor 2 (hereinafter, VDP 2).
  • the VDP 2 chip has a built-in color RAM 25 (32 Kbit) in which a color code is recorded, and a register (not shown) in which data for generating image data is set. ing.
  • the scroll engine 21 is connected to a 4M or 8M bit VRAM24.
  • the scroll engine 21 reads the data stored in the VRAM 24 according to the setting of the register, determines the priority according to the setting of the scroll screen image data register, and generates image data.
  • the scroll engine 21 that has generated the image data converts the image display data into display color data and outputs it to the display device.
  • the image data is defined in the VRAM 24 and the color RAM 25 from the CPU 15 via the bus controller 17.
  • VRAM 24 will be described. VRAM24, VRAM24a and VR
  • Each VRAM 24a, 24b has a pattern data, which is data of 8 x 8 pixel cells vertically and horizontally, and a background image for one frame when the cells are laid out 28 x 40 cells vertically and horizontally. It stores pattern name data (address on VRAM where pattern data is stored) that indicates which cell to use according to the cell laying position.
  • the rotation scroll screen is a scroll screen that performs rotation using the coordinate axes (X, ⁇ , Z axes) as the rotation axis and rotation using the screen axis perpendicular to the monitor screen as the rotation axis.
  • Fig. 5 shows the case of "X-axis rotation” in which the screen screen is rotated around the X screen with respect to the scroll screen.
  • Fig. 7 shows the case of “ ⁇ -axis rotation” in which the scroll screen is rotated around the screen screen.
  • FIG. 8 corresponds to FIG. 4
  • FIG. 9 corresponds to FIG. 5
  • FIG. 10 corresponds to FIG. 6
  • FIG. 11 corresponds to FIG.
  • the ones shown in the lower part of FIGS. 8 to 11 are the rotation matrix parameters in the state of each figure.
  • the screen screen that has undergone translation / rotation conversion (that is, the display screen of the rotation scroll screen) is a view point and screen screen that are rotated and converted with respect to the center point, and the converted screen is converted from the converted viewpoint. It indicates that the gaze through the image is a collection of points that intersect with the fixed scroll map.
  • Mx, My, and Mz are translation amounts for the XYZ axes
  • a to I are rotation matrix parameters.
  • the rotation conversion equation is given by the following equation.
  • the X.Y coordinate of the scroll screen to be displayed is represented by the following equation.
  • the viewpoint before conversion Px, Py, ⁇
  • the center point before conversion CX. Cy, Cz
  • the amount of translation Mx, My, ⁇
  • the time matrix parameters ⁇ to ⁇ are Since it is a fixed value within one frame, the coefficient k changes according to the value of the point (Sx, Sy. Sz) on the screen screen before conversion.
  • the screen screen before conversion is the same as the monitor screen, so S x is the H count value, which is the horizontal coordinate of the monitor screen, and Sy is the monitor screen.
  • is the V-count fig, which is the coordinate value, and Sz is ⁇ .
  • the screen iffiifii is converted to X
  • the coefficient k becomes constant in the horizontal direction of the monitor screen, and changes only by the V count ⁇ .
  • the coefficient k is constant in the vertical direction of the monitor screen and changes only depending on the H count value.
  • the coefficient k changes only depending on the V count value and the H count value.
  • a base for rotating the screen axis which rotates the screen screen after conversion on the screen axis which is a vertical line standing on the screen screen after conversion, and a point S x, which is a point on the screen screen before conversion. S y changes depending on the V count value and the H count value, and the point S z on the screen screen before conversion is fixed.
  • the configuration of the scroll engine 21 as described above will be described in detail with reference to FIG.
  • 41 is a background image generation unit
  • 42 is a split window detection unit
  • 43 is a display control unit
  • 44 is a window control unit.
  • the background image generation unit 41 will be described later, and here, the remaining components will be sequentially described.
  • the split window detector 42 is connected to the split engine 20 via the terminal 40.
  • the split window detection unit 42 is a bit value detection unit that detects whether the MSB included in the split image data read from the frame buffer 23 has been changed.
  • the display control unit 43 is connected to the background image generation unit 41 and the window control unit 44, and is configured to control the image data so that the split image data and the background image data are combined. I have.
  • the display control unit 43 is provided with switches 5 ⁇ .
  • the switch 50 changes the color code of the image data of the foreground image FG to 00H (H is 1) during the period when the switching signal FGSW is on, that is, during the period instructing to open the window. In the period when the switching signal FG SW is off, that is, when the window indicates that the window cannot be opened, the image data of the foreground image FG is output as it is.
  • the switches 51 and 52 respectively change the color code of the image data of each of the background images BG 0 and BG 1 to 00H while the switching signals BG 0 SW and BG 1 SW are ON, and the switching signals BGO SW and BG 1 While the respective SWs are off, the image data of each of the background images BG0 and BG1 are output as they are.
  • a priority circuit 54 is connected to the switches 50 to 52.
  • the priority circuit 54 receives the image data of the foreground image FG and the background images BGO and BG1 output from the switches 50 to 52, respectively. Also, the priority circuit 54 determines whether the color code in each of the image data of the foreground image FG and the background image BGO.BG 1 is 00H, and if the color code is 00H, this is regarded as transparent. For image data other than H, the priority codes are compared, and the image data with the highest priority code value is selected and output.
  • a colorization circuit 55 is connected to the priority circuit 54.
  • the colorization circuit 55 accesses the color RAM 25 with a color code, and uses the color code as an address from the color RAM 25 to address the levels of the three primary colors RGB. Obtains RGB data representing, and outputs this RGB data from terminal 56.
  • the image data is in RGB format, it becomes the display color data as it is.
  • the RGB data is converted into an analog signal by the DZA converter 31 shown in FIG. 1, output as an RGB image signal from the terminal 32, and displayed on a monitor (not shown).
  • the window controller 44 sends the spliced image data to the display controller as a window signal having the shape of the spliced image based on the changed MSB.
  • the window control section 44 is provided with a control register 45. This The contents of the control register 45 can be rewritten by the CPU 15 via the terminal 46.
  • the control register 45 stores the following information of a to e.
  • This window consists of 3 enable bits that indicate for each image whether this window can be opened in the foreground image FG or the two background images BGO and BG1.
  • Rectangular window control mode Indicates the XY coordinates of the start position and end position of the conventional rectangular window d. Rectangular window control mode
  • the above split window control mode, rectangular window position information, and rectangular window control mode are specified for each of multiple split windows and multiple rectangular windows.
  • the window control unit 44 generates switching signals FGSW, BGO SW. BG 1 SW indicating a position to open a window for each of the foreground image FG and the background image BGO, BG 1 according to the contents of the control register 45 described above. To be supplied to the display control unit 43.
  • FIG. 14 is a block diagram of the background image generation unit 41.
  • the background image generation unit 41 generates the background images BG0 and BG1, reads the pattern name data of each of two frames from the VRAM 24, and reads the pattern name data of these two frames. By reading the pattern data from the VRAM 24 and outputting the pixels of the pattern data respectively, the image data of the background images BG0 and BG1 for two frames is obtained.
  • the configuration of the image data (pixel count data) for each of the background images B GO and BG 1 is a 15-bit configuration that does not include the window flag in the format shown in Fig. 2.
  • Such a background image generation unit 41 is roughly composed of a signal processing unit, a switching unit, an address generation unit, and a vertical counter 63 and a vertical counter 64.
  • the signal processing unit is a unit that outputs a conversion processing signal necessary for performing the movement conversion process and the Z or rotation conversion process on the image information, and includes a pair of the following components.
  • a pair of components of the signal processing means indicates that the background image B GO has two parameters, the rotation parameter A and the rotation parameter B.
  • the parameter registers 60 and 70 are registers for holding parameters used for the operation for performing the coordinate conversion process. Parameter registers 60 and 70 are connected via terminals 46, respectively. From 1115, the independent rotation matrix parameters A to F, the viewpoint (Px, Py, Pz), the center point (Cx, Cy, Cz) and the translation amount (Mx, My) before the transformation are written.
  • the matrix operation circuits 66 and 76 are hardware for performing a matrix operation using the parameters.
  • the matrix operation circuits 66 and 76 respectively include the rotation matrix parameters A to F supplied from the parameter registers 60 and 70, the viewpoint (Px, Py, Pz) before conversion, and the center point (Cx, Cy. Cz ), And the translation amount (Mx, My, ⁇ ) are substituted into the above equation (1), and ⁇ ⁇ , ⁇ are calculated from the converted viewpoint.
  • coefficient RAMs 61 and 71 each have a coefficient k for one screen that is independent of CPU 15 via pin 46. Is hurt.
  • the coefficient k is calculated by the CPU 15 and is, for example, 16 bits per search, and is damaged during the vertical and horizontal blanking periods.
  • the necessary data amount of the coefficient k for one screen written in the coefficients RAM61 and 71 from the CPU 15 varies depending on the type of the movement / rotation conversion as described above.
  • the coefficient k is calculated by the CPU 15 by the minimum necessary data amount, and is impaired in the coefficient RAMs 61 and 71 via the terminal 46.
  • the CPU 15 specifies the start address and the H count value at the start of access. The two address components based on each of the V count values are specified to the coefficient access circuits 62 and 72, and the coefficient RAM 61 according to the type of movement / rotation conversion. , 71 access control.
  • the coefficient RAM access circuit 62.72 is a hard disk that accesses the coefficient RAMs 61 and 71 and calls the coefficient k. That is, the coefficient RAMs 61 and 71 sequentially read out the coefficient k of each pixel in accordance with the access of the coefficient RAM circuits 80 and 81 and supply the coefficient k to the switching circuit 77b described later.
  • the most significant bit (MSB) of the 16-bit coefficient stored in the coefficient RAM 61 is a display switching bit, and the 16-bit coefficient stored in the coefficient RAM 71 is used as the display switching bit.
  • the most significant bit is unused. Fig. 15 shows this as an image.
  • the switching means is means for selectively switching the conversion processing signal according to the coefficient k set for each pixel, and includes switching circuits 77a and 77b.
  • the matrix operation circuits 66 and 76 are connected to the switching circuit 77a, and the coefficient RAMs 61 and 71 are connected to the switching circuit 77b.
  • the Xp.Yp, Xs, and Ys powers output from the matrix operation circuits 66 and 76 are supplied to the switching circuit 77a.
  • the most significant bit of the coefficient k read from the coefficient RAM 61 is supplied to the switching circuits 77a and 77b.
  • the switching circuit 77a selects the output of the matrix operation circuit 66 when the value of the MSB, which is the display switching bit, is “1”, When "0", select the matrix operation circuit 76 output.
  • the switching circuit 77b selects the coefficient RAM61 output when the value of the MSB is "1", and selects the coefficient RAM71 output when the value is " ⁇ ".
  • the address generation means is connected to the switching means, and generates a read address corresponding to the image information subjected to the movement conversion processing and / or the rotation conversion processing based on the conversion processing signal, and is provided to the switching circuits 77a and 77b. It comprises a product-sum operation circuit 65 connected thereto, and a VRAM memory access circuit 78 connected to the product-sum operation circuit 65.
  • the sum-of-products operation circuit 65 is composed of Xp,
  • the VRAM access circuit 78 accesses the VRAMs 24a and 24b using the coordinates X.Y of the scroll screen as the pixel addresses of the background image.
  • the lower 3 bits of each of the coordinates X and Y (when the size of the cell is 8 dots by 8 dots x 8 dots) are the pixel position address in the cell, and the address excluding the 6 bits is the address. Patanne-Moore Dress.
  • the VRAM access circuit 78 reads the pattern name data from the VRAMs 24a and 24b, reads the pattern data that is a color code from the VRAMs 24a and 24b by using the pattern data address and the pixel position address in the pattern name data. Pixel data excluding the window in the format shown in Fig. 2 is formed from the color code and the priority code in the pattern name data, and output from the terminal 79.
  • the horizontal counter 63 counts the dot pulse generated by the built-in oscillator to obtain the H count value and the horizontal synchronization pulse.
  • the vertical counter 64 counts the horizontal synchronization pulse to obtain a V count value and a vertical synchronization pulse.
  • the above H count value and V count value are calculated by the matrix operation circuits 66 and 67 and the coefficient RAM access circuit 6.
  • the H count value is supplied to the product-sum operation circuit 65.
  • the horizontal and vertical synchronization pulses are supplied from terminals 62 to the split engine 20.
  • the components other than the horizontal counter 63, the vertical counter 64, and the VRAM access circuit 78 are configured as one integrated circuit block 41a. ing.
  • the switching bit included in the coefficient k which is the display switching signal, is set to a predetermined value for each pixel in advance, and the outputs of the switching circuits 77a and 77b are switched according to the display switching signal to perform different movements.
  • the address generation data subjected to the rotation conversion processing is selectively output to the product-sum operation circuit 65. Therefore, it is possible to generate image data that has undergone independent conversion processing. Therefore, the screen screen (monitor screen) can be arbitrarily divided according to the display switching signal, and independent image data can be supplied to each of the divided screens. As a result, the screen screen (monitor screen) can display an independent image for each divided screen.
  • the use mode of the rotation parameters A and B can be selected from the following four modes. That is,
  • Mode 0 Use rotation parameter A.
  • Mode 1 Use rotation parameter B.
  • Mode 2 Images are switched according to the coefficient table read from the coefficient table of rotation parameter A.
  • Mode 3 Switch using the rotation parameter window.
  • the image data obtained by the rotation parameter A and the image data obtained by the rotation parameter B are generated as image data of a background image that is displayed on one screen.
  • the value of the most significant bit of the coefficient data read from the coefficient RAM61 is ⁇ (1)
  • image data obtained by the rotation parameter A is generated
  • the ⁇ of the most significant bit of the coefficient data is When it is “0”, image data obtained by the rotation parameter B is generated (see Fig. 16).
  • the operation and effect of the image processing in mode 2 will be further described with reference to FIGS.
  • the parameters and coefficients written to the parameter overnight register 60 and the coefficient RAM61 are for clockwise rotation, and the parameters and coefficients written to the parameter overnight register 70 and the coefficient RAM71 are for leftward rotation.
  • the background image before the translation / transformation is a vertical rectangle ⁇ (Fig. 17).
  • the image data of the same rectangle ⁇ is stored in the two VRAMs for ⁇ 1 and ⁇ 2, and the two scroll screen coordinates of P1 and P2 are changed according to the respective movement and rotation. It always calculates, reads the image data for P1 and P2 from the VRAM for each screen according to the obtained scroll screen coordinates, compares the priorities, and displays the composite image P1 + P2 ( Figure 18).
  • the switching circuits 77a and 77b are switched according to the value of the coefficient k to calculate the scroll screen coordinates X and Y of the moving and rotating image P1 and the moving and rotating image P2. Since the coordinates X and Y of the portion of the image P2 below the image P1 are not calculated (omitted). For one? Only one of the two image data is read out. Therefore, only one VRAM24 is physically required. Also, ? With one? If the image information of the original image (background image) of 2 is the same, only one image information of the original image needs to be prepared in VRAM. As described above, according to the present embodiment, the operation time can be reduced and the required number of VRAMs or the VRAM storage area can be saved. FIG.
  • the background image can be effectively divided into desired regions, and each region is different from each other. It is possible to perform a moving and rotating process. This region-divided display makes it possible to generate a variety of background images by effectively using the limited VRAM capacity (reduced storage space for the original image).
  • two image data are switched by the internal / external control bits of the window control section 44 (see the MSB function). That is, when the window is used as a transparent processing window, the image data obtained by the rotation parameter B is generated in the portion where the screen screen is cut and made transparent, and the image data obtained in the other portions is obtained by the rotation parameter A. Image data to be generated (see Fig. 19).
  • the window controller 44 of the split engine 20 generates a window having the shape of the split character, and switches between two image data inside and outside the window. Can also be generated.
  • a split character with an arbitrary shape can be used as the window, as compared with a monotonous shape such as a rectangular window or a line window, so that the effect of the split display can be expected to be enhanced.
  • a rectangular window or a line window can be used to easily perform the divided display inside and outside.
  • the center point of the rotation conversion (Cx, Cy, Cz) and the viewpoint (PX, Py, P z), translation amount Mz, and rotation matrix parameters G, H, I do not change in one frame.
  • the screen screen before conversion is a screen parallel to the XY plane (S z is constant)
  • k becomes a function of S y (vertical coordinate value of the screen screen) when rotating the X axis, and It is constant in the horizontal direction.
  • k is a function of S x (the horizontal coordinate value of the screen screen), and is constant in the vertical direction of the screen screen.
  • K is always constant at Z $ A rotation.
  • this k is calculated by the CPU 15 and the coefficient k for one screen is stored in the coefficient RAMs 61 and 71, and the matrix operation circuits 66 and 76 and the product-sum operation circuit are stored.
  • Reference numeral 65 designates a CPU 151, which is a designated timing. The parameter harmed in the parameter registers 60 and 70 and the coefficient k written in the coefficient RAMs 61 and 71 are read out and hardened. Is calculated. Therefore, when compared with the conventional example in which a large Sekiwa ⁇ calculation circuit scale CPU had done, because the coordinate transformation calculation which has been treated with a CF 5 U 1 5 is significantly reduced, the overhead of the CPU 1 5 It can be greatly reduced. Therefore, restrictions on other processes executed by the CPU 15 are relaxed. Therefore, the processing that can be executed by the CPU 15 can be increased, and the degree of freedom in program design is improved.
  • the coefficient MSB is used as the display switching signal when performing the screen screen rotation conversion processing, so that the coefficient k itself is not changed and the calculation is performed, but this coefficient is read out. Good to change only one. Thus, CPU 15 only needs to set parameters and coefficients required for the calculation.
  • the value of the coefficient increases as the line on the screen increases, and the scroll screen is on the ground.
  • an empty scroll screen which is different from the ground scroll screen, is displayed to give a sense of the horizon (right side of the drawing). If such an image display is further rotated on the screen (Fig. 21), the method of reading the coefficient data is not the same.
  • the display area can be switched by the MSB of the coefficient data, so that even if the scroll screen rotates, it is not necessary to perform arithmetic processing on the display area.
  • k is set to either the horizontal or vertical direction of the screen screen.
  • CPU 15 has a small computational load, can process screen screen rotation at high speed, and can respond to game player operations in real time. Become.
  • FIG. 23 is a diagram showing the relationship between the scroll screen, the screen screen, and the viewpoint when such “X ⁇ rotation + screen W rotation” is performed.
  • the CPU 15 can respond in real time to this operation when the player of the game operates to rotate the character on the screen.
  • image processing for scaling in the horizontal or vertical direction is also possible by integrating the coefficient k into either X or Y in the above equation (4).
  • the coefficient k is constant in the horizontal direction of the screen, so the CPU 15 calculates the coefficient k for the number of lines in the vertical direction of the screen.
  • the CPU 15 can access the coefficient RAM 61 only when the V count value changes, so that the CPU 15 sets the address in synchronization with the H count value to 0 H (H indicates hexadecimal. ), And specify the address increment synchronized with the V count value as 2H (when the coefficient is 16 bits).
  • the access to the coefficient RAM 61 of the CPU 15 is not always performed for each pixel, but can be changed according to the type of the movement / rotation conversion, and the CPU 15 sets the minimum necessary coefficient k to the coefficient RAM61. It only needs to be stored.
  • the screen screen does not need to be flat, but can be a curved surface. Becomes possible. For example, as shown in FIG. 24, it is possible to perform image processing using a sphere formula as a parameter, or to perform distorted image processing.
  • the rotation parameters used for calculating the display coordinates are stored in the coefficient RAM as a coefficient table separately from the rotation parameters A and B.
  • This Various image representations can be performed by reading the coefficient table for each line or dot.
  • the following four coefficient data modes are used to determine which parameter to use as data read from the coefficient table. That is,
  • Mode 0 Used as scaling factors kX and ky.
  • Mode 1 Used as scaling factor kX.
  • Mode 2 Used as scaling factor ky.
  • Mode 3 Used as the viewpoint coordinate ⁇ ⁇ ⁇ after rotation transformation.
  • kX and ky read from the rotation parameter table are invalidated, and the data read from the coefficient table is used as kx and ky.
  • mode f l When the mode f l is specified, only ky read from the rotation parameter table is used as is, and k X uses the data read from the coefficient table.
  • mode 2 On the other hand, only kX read from the rotation parameter table is used as it is, and ky uses data read from the coefficient table.
  • mode 3 the viewpoint coordinates X p in the X direction that have been rotationally transformed according to the data read from the rotation parameter table become invalid, and the data read from the coefficient table is used as X p.
  • the most significant bit of coefficient k is normally used as a transparent bit, and dots using coefficient data with this bit set to 1 are forced to be transparent dots.
  • the most significant bit of the data read from the coefficient table for the rotation parameter A is used for switching the rotation parameter. That is, when the value of the most significant bit is “1”, the image data specified by the rotation parameter A is generated, and when the value of the most significant bit is “0”, the image data specified by the rotation parameter B is generated. Generate data.
  • the present invention is not limited to the above-described embodiment, and the shape and the number of components of each component can be appropriately selected.
  • the present invention also includes the following embodiments.
  • the display of the coefficient k output from the coefficient RAMs 61 and 71 is turned off.
  • the switching control of the switching circuits 77a and 77b is performed using the switching bits, the switching circuits 77a and 77b are also switched by ffling the switching signal BG0SW output from the window control unit 44.
  • the switching control of b may be performed.
  • the coefficient k can be read from the coefficient RAM once per vertical line. Therefore, it is possible to prepare a register for holding the coefficient data read out for each line, and to share the coefficient RAMs 61 and 71 with one.
  • the circuit shown in Fig. 25 further moves and rotates the background image (for example, P) to generate a new image (for example, P1 ) Is an example of a circuit used when generating the data.
  • the background images BGO and BG1 are independently rotated by the circuit shown in Fig. 25, this can be realized by providing two systems of the parameter register 60, the coefficient RAM 61, and the product-sum operation circuit 65.
  • the output section of the product-sum operation circuit of the circuit block (not shown) is connected to a VRAM access circuit prepared separately from the VRAM access circuit 78, and two VRAMs are connected to this VRAM access circuit, so that the VRAM access circuit outputs Configure to access two VRAMs. That is, in this case, the VRAM is four in total.
  • the circuit configuration described above with reference to FIG. 14 is a circuit for one of the backgrounds BG0 and BG1. Therefore, a similar circuit configuration is required to generate the other background image.
  • FIG. 26 shows an example of such a circuit.
  • the output of the product-sum operation circuit 65 is switched in a time-sharing manner, and the data of the background image BG0 is sent to the VRAM access circuit 78a, and the data of the background image BG1 is sent to the VRAM access circuit 78b.
  • VRAM access circuit 78b is VRAM78b To generate pixel data as in the case of the background image BG0 and output it from the terminal 80.
  • the game machine of the present invention may be such as an arcade game machine, which has a display unit integrally.
  • the image processing apparatus of the present invention it is also effective to convert the components excluding VRAM into IC and commercialize only this IC. According to such an embodiment, it is possible to widely supply various types of equipment equipped with an image processing device.
  • the range of conversion into an IC can also be selected as appropriate, a display image generation block, the window, an embodiment in which the control block and the display control block are integrally formed on a semiconductor substrate and configured as a video processor IC,
  • Another embodiment includes an embodiment in which a window detection block is added to the video processor IC of this embodiment.
  • the image processing device of the present invention is suitable for a game machine, but is not limited to this, and it goes without saying that the image processing device can be widely applied to a personal computer and the like.
  • the image processing apparatus of the present invention it is possible to generate image data of various divided screens including a window display while suppressing an increase in image memory capacity, which is extremely useful in practical use. Further, the image processing apparatus according to the present invention can prepare windows of various shapes, so that the display screen can be diversified. Further, according to the image processing apparatus of the present invention, various movement-rotation conversions and enlargement / reduction conversions can be performed while reducing the calculation load on the CPU.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Description

明細書
【発明の名称】 画像処理装置およびその方法並びに画像処理装置を有する 電子装置 【技術分野】
本発明は、 画像処理装置およびその方法並びに画像処理装置を有する電子装置 に関するものであり、 特に、 ゲーム機において移動変換処理および または回転 変換処理を行う画像処理技術に関するものである。 【背景技術】
マルチメディァへの関心が高まる現在、 マルチメディアのプラッ トフオームと なるハードウェアの分野では、 多様化されるプログラムソフ トに対応すべく、 複 雑で高度な画像処理を実現させる方法や装置が研 、 開発されている。 特に、 ビ デォゲーム機においては、 年々厳しくなるユーザ一の要求に応えるために、 より リアルで、 演出的な効果が高い画像が求められている。
従来の画像処理技術としては次のよ όなものが知られている。 ビデオゲーム機 に使用される画像処理装置では、 地面や海面、 空や宇宙空間などの背景を表示す る背景画に、 ゲームに登場するキャラクタを表示する前景画を重ね合わせて合成 し、 これをディスプレイ装置のモニタ画面に表示することが一般的である。 ゲ一 ムのプレーヤはキャラクタを動かすことでゲームを進行させていく力、 キャラク 夕の動きを表示する場合、 前景画と背景画とを相対的に動かすことにより、 これ を表現している。 すなわち、 背景画側を固定し、 前景画を左右上下方向に移動さ せたり回転させたりするか、 あるいは前景画側を固定し、 背景画を左右上下方向 に移動させたり回転させたりしている。 このうち、 後者の動きを表示するような 機能をスクロール機能と呼んでいる。
また従来より、 画像処理装置における主要な機能として、 前記スクロール機能 以外にウインドウ機能およびプライオリティ機能と呼ばれる働きがある。 以下、 これらの機能に関して説明する。
[ウィンドウ機能およびプライオリティ機能] まず、 ウィンドウ機能およびプライオリティ機能について簡単に説明する。 近 年、 1つのモニタ画面上に表示される情報 Sは增大する傾向にある。 そのため、 ウィンドウと呼ばれる透明画像領域を設定し、 このウィンドウの内外で画面を分 割して、 互いに異なった画像を表示するウィンドウ機能が普及している。 ウィン ドウは通常、 背景画や他のウィンドウ画面などと重なり合って表示されており、 重なり合った部分は所定の優先順位に従って、 どちらか一方の画像だけが表示さ れるようになっている。 この優先順位を決める働きのことをプライオリティ機能 と呼んでいる。 このプライオリティ機能は、 ゥイシドウ表示を行うときだけでは なく、 背景画と前景画、 あるいは異なる種類の前景画同士の優先順位を決めるな ど、 現在の画像処理技術において非常に重要な役割を果たしている。
[スクロール機能のグラフィカルなイメージ]
続いて、 スクロール機能について説明する。 スクロール機能によって表示され るスクロール画面は、 キャラクタを表示した前景画側をスクリーン画面のほぼ中 央に固定し、 これに対して背景画を動かすものであるが、 背景画を動かすと言つ ても、 画像処理装置における実際上の演算では、 背景画側は画像処理装置の画像 メモリに格納された仮想的な静止画であり、 この画像情報を変換するような演算 (つまり、 背景画を動かすような処理) を行っているものではない。 実際に行わ れる演算のグラフィカルなイメージは、 スクリーン画面の枠およびプレーヤの視 点が、 画像メモリに格納された背景画全体の上を自由に動いていくようなもので ある。 なお、 スク リーン画面とは、 厳密には移 ¾変換や回転変換を行う回路ごと に設定される仮想画面のことであるが、 画像が表示される画面であるという観点 から見れば、 ディスプレイ装置のモニタ画面と考えて差支えない。
[スクロール画面の構成]
スクロール画面の形式としては、 家庭用ゲーム機などに採用されているセル形 式と、 パーソナルコンピュータなどに採用されているビッ トマップ形式がある。 セル形式のスクロール画面をスクリ一ン画面に表示する場合、 例えば縱横 8 X 8 画素の画像データで構成されるセルのパターンデータを複数個 (同じものを繰り 返すか、 あるいは必要に応じて異なるパターンを) 組み合わせて、 スク リーン画 面上に敷きつめることにより、 背景画データを生成することが行われる。 なお、 セル画像のパターンデータと、 セル画像のスクリ一ン画面上での敷きつめ位置は、 パターンネームデータと呼ばれるデータにより指示されている。
[ゲーム機におけるスクロール画面の表示制御]
画像処理装置を持つゲーム機は、 ゲーム機全体を制御する C PUと、 画像情報 を格納する画像メモリとを備えているのが一般的であるが、 前述のパターンネー ムデータおよびセル画像のパターンデータは、 画像メモリであるビデオ RAM (以下、 VRAMと呼ぶ。 ) に格納される。 つまりゲーム機が背景画を表示する 場合、 予め C PUのコントロール下でカセッ ト ROMや CD— ROMから画像情 報が VRAMに書き込まれており、 あるいは C PUで処理された画像情報が書き 込まれており、 この VRAMからまずパターンネームデータを読み出し、 このパ ターンネームデータを用いて再び VRAMをアクセスして、 セル画像のパターン データを読み出すことにより、 背景画をスクリーン画面 (具体的にはモニタ画面) に表示している。
またスクロール画面の種類には、 左右および上下に移動するいわゆるノーマル スクロール画面と回転を行う回転スクロール画面がある。 このうち、 ノーマルス クロール画面は、 その動きに対応したパターンデータおよびパターンネームデー タを予測することができるので、 パターンデータおよびパターンネームデータを ある程度まとめて VRAMにアクセスすることが可能である。 これに対して、 回 転スクロール画面ではノーマルスクロール画面と違って、 その動きに対応したパ ターンデータおよびパターンネームデータを予測することができない。 そのため、 パターンデータおよびパターンネームデータをドッ トごとに V R A Mにアクセス する必要がある。
[キャラクタおよび回転スクロール画面と VRAMとの関係]
ところで、 前景画に表示されるキャラクタ (例; フライ トシユミ レータゲーム における飛行機) の画像データ (パターンデータと呼ぶ) は、 ドッ ト単位で VR
AMに格納されている。 そのため、 ドッ トごとに VRAMにアクセスすることに より、 キャラクタをスクリーン画面に表示している。
ここで、 背景画として回転スクロール画面を表示し、 これに前景画であるキヤ ラクタを重ね合わせて表示するためには、 パターンネームデータとパターンデー 夕との両データを全てドッ トごとに V RAMにアクセスしなくてはならない。 し たがって、 パターンネームデータを格枘するための VRAMと、 パターンデータ を格納するための VRAMを、 物理的に独立して設けることが不可欠となってい る。 具体的には、 回転スクロール画面を 2面同時に表示させるゲーム機では、 パ ターンネームデータを格钠する VRAMが 2つ、 パターンデータを格納する VR AMが 2つ、 合計 4つの VRAMが設けられる必要ということになる。
[一般的なスクロール画面表示制御の演算処理]
また、 背景画であるスクロール画面を移動、 回転させる演算処理としては、 次 のような処理方法が考えられる。
①背景画の各ライン毎に始点 (左端) の X, Y座標と水平方向増分 ΔΧ, ΔΥと を移動回転の公式から算出する。
②各ライン毎に始点の X. Y座標に水平方向増分 ΔΧ. ΔΥをドッ ト周期で加算 する。
③各画素の位置座標を算出する。
④この位置座標に対応するァドレスを画像メモリをアクセスして背景画の画像デ 一夕を生成する。
具体的には画面座標算出では、 ソフ トウェアで下記の計算を行い、 各ラインご とにスクロール画面のスタート座標値 GX s t, G Y s tと、 水平方向座標増分 厶 GX, 厶 GYを求めている。
Xs -Xp = A { (Xst+ AXstx Vent ) - Px }
+ B { (Yst+ Δ Ystx Vent ) - Py }
+ C (Zst - Pz )
Ys - Yp = D { (Xst+AXstx Vent ) — Px )
+ E { (Yst+ Δ Ystx Vent ) - Py }
+ F (Zst- Pz )
Xp = A (Px 一 Cx ) + B (Py - Cy ) + C (Pz - Cz ) + Cx +Mx Yp = D (Px 一 Cx ) + E (Py 一 Cy ) + F (Pz 一 Cz ) + Cy +My d X=Ax厶 X+B x厶 Y
d Y=DxAX+E xAY A, B, C, D, E, F, :回転マ ト リ クスパラメータ
Px , Py , Ρζ :視点座標
Χρ , Υρ , Ζρ :回転変換後の視点座標
Xs , Ys . Zs :回転変換後のスク リーン画面座標
Xst, Yst, Zst: スク リーン画面スター ト座標
厶 Xst, Δ Yst: スク リーン画面垂直方向座標增分
△ X, ΔΥ : スク リーン画面水平方向座標増分
Vent : Vカウン ト値
(モニタ画面垂直座標値)
G X s t = k (Xs -Xp ) +Xp
G Y s t = k (Ys - Yp ) + Yp
厶 GX = k x d X
△GY=k x dY
なお、 上記 kは透視変換係数である。
そして、 計算された 4つの値を画像処理装置に書き込むことにより、 画像処理 装置は GX s t , GY s tに対して、 ドッ トごとに AGX, AGYを加算してス クロール画面座標を求めることができる。
このような演算を行うためには、 回路規模の大きな乗算器を含めたマトリクス 演算回路が必要となる。 そこで、 回路規模を大きく しないために、 上記の計算は、 ソフトゥヱァで演算するのが一般的である。
以上のような技術においては次のような課題を解決する必要がある。
[課題 1 :画像メモリ容量を抑制しつつ多様な画像データの生成することが困難 である. ]
近年のゲーム機では、 よりリアルで複雑な画像表現が求められている。 例えば、 回転スクロール画面のバリエーショ ンとして、 VRAMに格納された一枚の元画 像である背景画を、 右回転した画像と左回転した画像とを組み合わせて一枚の背 景画として表示を行うものがある。 このような場台、 右回転する画像の画像デー タと左回転する画像の画像データとをそれぞれ別に生成する。 したがって、 画像 データを生成する都度、 元画像が格納された VRAMにパターンネームデータを アクセスし、 それぞれのセル画像のパターンデータに対し異なった回転処理を施 さなくてはならない。 つまり、 この方法だと、 VRAMへのアクセスが 2重とな る。 そのため、 VRAMへのアクセスに時間を要することになり、 表示タイミ ン グに間にあわないおそれがある。
このため一般的には、 同じ元画像である背景画を右回転用と左回転用に予めそ れぞれ別々に V R A Mに格納しておき、 右回転したときの座標と左回転したとき の座標に従ってそれぞれパターンデータおよびパターンネームデータを読み出す ことが考えられるが、 ドウヱァ量 (物理的に異なる複数の VRAMあるいは 必要な VRAM容量) が増大するという問題があった。
[課題 2 : スクロール画面を表示する際の C P ϋへの負荷を大きい. ] 背景画を移動、 回転させる場合、 移動や回転に従って、 各ライン毎に始点 X, Υ座標と水平方向増分 ΔΧ, ΔΥをソフトウェアで算出する必要がある力、' その ためには、 移動回転の演算に C PUは多大のオーバへッ ドを必要とする。 その結 果、 C P Uに対する負荷が増大し、 CPUが実行する他の処理が制限されるとい う問題点がある。
[課題 3 :ゲーム機においてスクロール画面の 3軸回転を実現させる. ] 従来のスクロール画面の表示制御では、 スクリーン画面における各ラインの增 分厶 X, ΔΥが一定である。 したがって、 X, Υ, Ζίもの 3軸を軸にして同時に 回転させたような画像、 つまり、 左端に対して右端が遠く (又は近く) に寄るよ うに背景画を傾けて表示することは不可能であった。 このため、 スクロール画面 の表示が制限されていた。
[課題 4 : ウィンドウ表示の多様化に対する要望. ]
ゲーム機において従来より行われているウインドウ表示としては、 矩形の 2点 を指定してあける矩形ウインドウや、 ラインの 2点を指定してあけるラインウイ ンドウがある。 しかしながら、 これらのウィンドウでは、 その形状が単調である という制限があり、 ウィンドウを用いて画像表示の多様化を果たすことは困難で あった。
本発明は上記の点に鑑みてなされたものであり、 その主たる目的は、 C PUの 負荷増加や画像メモリ容量の増加を抑えながら、 ウィンドウ表示を含めた多様な
一 ら — 分割画面の画像データを生成する画像処理装匿およびその方法を提供することで あり、 さらにはこの目的を達成する画像処理装置を有する電子装置を提供するこ とである。
さらに詳しく本発明の目的を説明する。 以下の説明において、 各目的の項番は ほぼ請求項の項番に対応しているが、 各請求項の発明はそれぞれに限られたもの ではなく、 以下に記載する 1乃至複数の目的を達成するために為されたものであ る o
本発明の第 1の目的は、 C P Uの負荷増加の抑制を図ると共に、 画像メモリを 効率的に使用して多様な画面分割表示を可能とする画像処理装置を提供すること にある。
本発明の第 2の目的は、 移動変換処理及び Z又は回転変換処理のための演算を 専用の演算回路で ド的に行わせることにより、 C P Uの負荷を抑えつつ変換 処理の多様化を図る画像処理装置を提供することである。 本発明の第 3の目的は、 効率の高い画面分割表示を行うことが可能な画像処理装置を提供することである。 本発明の第 4の目的は、 表示画像データの生成時間 短縮化を図る画像処理装置 を提供することである。
本発明の第 5の目的は、 C P Uの負荷の軽減化を図ると共に、 画像メモリを効 率的に使用して多 な画面分割表示を可能とする画像処理方法を提供することに ある。 本発明の第 6の目的は、 C P Uの負荷の軽減化を図ると共に、 画像メモリ を効率的に使用して多様な画面分割表示を可能とする電子装置、 特にゲーム機を 提供することにある。
本発明の第 7の目的は、 C P Uと、 2組のビデオプロセッサおよび V R A Mを 備え、 さらに多様な画面分割表示を可能とする電子装置、 特にゲーム機を提供す ることにある。 本発明の第 8の目的は、 スプライ ト画像および背景画像を生成す る電子装置において、 C P Uの負荷の軽減化を図ると共に、 画像メモリを効率的 に使用して多様な画面分割表示を可能とするゲーム機に適した電子装置を提供す ることにある。
本発明の第 9の目的は、 画像メモリを効率的に使用した多様な画面分割表示と、 任意の形状のウインドウ表示とを可能とするゲーム機に適した電子装置を提供す ることである。 本発明の第 1 0の目的は、 任意の形状のウィンドウ表示を可能と する、 特にゲーム機に適した電子装置を提供することである。
本発明の第 1 1の目的は、 3 ί由回転を行ったように見える画像の画像データを 生成することができ、 且つ C P Uのオーバへッ ドの軽減化が図れる画像処理装置 を提供することである。 本発明の第 1 2の目的は、 3蚰回転を行ったように見え る画像の画像データを生成することができ、 C P Uのオーバへッ ドの軽滅化を図 ることができる、 特にゲーム機に適した電子装置を提供することである。
本発明の第 1 3の目的は、 上記目的を達成するゲーム機に適した電子装置であ つて、 ディスプレイ装置を装備したものを提供することである。
本発明の第 1 4の目的は、 請求項 1 4〜2 1の構成において達成し得るもので 上記目的を達成する画像処理装置であって、 半導体基板上に一体的に形成するこ とが可能な画像処理装置を提供することである。 特に、 本発明の第 1 5の目的は、 カラー R A Mを有する画像処理装置において、 前記第 1 4の目的を達成する画像 処理装置を提供することである。 また本発明の第 1 6の目的は、 上記目的を達成 する画像処理装置であって、 C P Uにより内容の書換えが可能なコントロールレ ジス夕と、 ウィンドウの制御プロックを有する画像処理装置を提供することであ る。 さらに本発明の第 1 7の目的は、 上記目的を達成する画像処理装置であって、 背景画像を生成する画像処理部が 1つの半導体基板上に一体に形成することがで きる画像処理装置を提供することである。
また本発明の第 1 8の目的は、 スクリーン画面の回転処理を高速で処理し、 ゲ ーム機などのプレーヤの操作に対してリアルタイムで反応することができる画像 処理方法を提供することである。 本発明の第 1 9の目的は、 3軸回転を行ったよ うに見える画像の画像データを生成することができる画像処理方法を提供するこ とである。 本発明の第 2 0の目的は、 画面表示の多様化を図る画像処理方法を提 供することである。
【発明の開示】
[発明の構成]
上記の目的を達成するために、 請求項 1の発明の画像処理装置は、 画像メモリ をアクセスして表示しょうとする画像の画像情報を順次読み出し、 C P Uの制御 の下で前記画像情報に基づいて画像データを生成する画像処理装置において、 前記画像情報に対し移動変換処理及び/又は回転変換処理などの変換処理を実 行するのに必要な変換処理信号を出力する複数の信号処理手段と、
前記複数の信号処理手段に接続され、 画素毎にあらかじめ設定された表示切換 信号に従って前記変換処理信号を選択的に切換えてその一つを出力する切換手段 と、
前記変換処理信号に基づいて変換処理された画像情報に対応する読み出しァド レスを生成するァドレス生成手段とを具備することを特徴とする。
請求項 2の発明の画像処理装置は、 前記信号処理芋段のそれぞれが、 移動変換 処理及び/又は回転変換処理のための演算に用いるパラメータを保持するパラメ 一夕レジスタと、 前記パラメータを用いて移動変換処理及び z又は回転変換処理 のための演算を行うマトリクス演算回路と、 所定のデータを係数として格納する 係数 R A Mと、 前記係数 R A Mにアクセスして前記係数を呼び出す係数 R A Mァ クセス回路とを含むことを特徴とする。
請求項 3の発明の画像処理装置は、 前記係数 R A Mの一つから前記切換手段に 前記表示切換信号を供铪することを特徴とする。
請求項 4の発明の画像処理装置は、 前記アドレス生成手段が、 前記切換手段に 接続される積和演算回路と、 前記積和演算回路に接続される画像メモリアクセス 回路とを含むことを特徴とする。
請求項 5の発明の画像処理方法は、 前記画像メモリをアクセスして表示しょう とする画像の画像情報を順次読み出し、 前記画像情報に基づいて画像データを生 成する画像処理方法において、 前記画像情報に対し変換処理を実行するのに必要 な変換処理信号を生成し、 画素毎にあらかじめ設定された表示切換信号に従って 前記変換処理信号を選択的に切換えてその一つを出力し、 出力された前記変換処 理信号に基づいて変換処理された画像情報に対する読み出しァドレスを生成して、 前記表示切換信号に従つて前記モニタ画面上に独立した画像が分割して表示され るように複数の画像データを生成することを特徴とする。
請求項 6の発明の電子装置は、 (l ) C P U ; ( 2 ) 画像情報が格衲されるビ デォ RAM ; (3) 背景画像生成部と、 前記背景画像生成部に接続された表示制 御部とを含み、 前記画像情報をアクセスして表示しょうとする画像情報を順次読 み出し、 前記 CPひの制御の下で画像データを生成するビデオプロセッサ;を有 し、
前記背景画像生成部は以下①〜③の構成、 すなわち、
① . 前記画像情報に対し変換処理を実行するのに必要な変換処理信号を出力する 複数の信号処理手段、
② . 前記複数の信号処理手段に接铳され、 あらかじめ設定された表示切換信号に 従って、 前記変換処理信号を選択的に切換えてその一つを出力する切換手段、 ③. 前記切換手段に接続され、 前記切換手段から出力された前記変換処理信号に 基づいて、 変換処理された画像情報に対応する読み出しァドレスを生成する ァドレス生成手段、
を有することを特徴とする。
請求項 7の発明の電子装匿は、 (l) CPU ; (2) 第 1のビデオプロセッサ; (3) 第 1ビデオプロセッサに接続され画像情報が格钠される第 1のビデオ R A M; (4) 背景画像生成部と、 前記背景画像生成部に接続された表示制御部とを 含む前記第 2のビデオプロセッサ; (5) 前記第 2のビデオプロセッサに接続さ れ画像情報が格納される第 2のビデオ RAM;を有し、
前記背景画像生成部は以下①〜③の構成、 すなわち、
①. C PUの制御の下に供給される情報に基づき前記画像情報に対し変換処理を 実行するのに必要な変換処理信号を出力する複数の信号処理手段、
② . 前記複数の信号処理手段に接続され、 あらかじめ設定された表示切換信号に 従って前記変換処理信号を選択的に切換えてその一つを出力する切換手段、
③ . 前記切換手段に接続され、 前記変換処理 ί言号に基づいて変換処理された画像 情報に対応する読み出しァドレスを生成するァドレス生成手段、
を有することを特徴とする。
請求項 8の発明の電子装置は、 (l) C PU ; (2) 前記 C P Uに接続された バスライン ; (3) 前記バスラインの信号の流れを制御するパスコントローラ ; (4) 以下 1)〜3)の構成を含む第 1の画像情報処理部; 1)前記バスラインに接続されスプライ ト画像データの生成を制御する第 1ビデオ プロセッサ、
2)前記第 1ビデオプロセッサに接続されスプライ 卜画像データを生成するための 画像情報が格納される第 1ビデオ R A M、
3)前記スプライ ト画像データを展開するためのフレームバッファ、
( 5 ) 以下 1) , 2)の構成を含む第 2の画像情報処理部;
1)前記バスラインに接続され、 背景画像データを生成する背景画像生成部と、 前 記背景画像生成部および前記第 1の画像情報処理部に接続され前記スプライ ト画 像データおよび前記背景画像データを合成するよう前記画像データを制御する表 示制御部とを含んでいる第 2のビデオプロセッサ、
2)前記第 2のビデオプロセッサに接続され背景画像データを生成するための画像 情報が格納される第 2のビデオ R A M、
とを有する電子装置であって、
前記背景画像生成部は以下①〜③の構成、 すなわち、
①. 前記バスラインに接続され、 前記 C P Uの制御の下に供給される情報に基づ き、 画像情報に対し変換処理を実行するのに必要な変換処理信号を出力する 一対の信号処理手段、
②. 前記複数の信号処理手段に接続され、 あらかじめ設定された表示切換信号に 従って、 前記変換処理信号を選択的に切換えてその一つを出力する切換手段、 ③. 前記切換手段に接続され、 前記切換手段から出力された前記変換処理信号に 基づいて変換処理された画像情報に対応する読み出しァドレスを生成するァ ドレス生成手段、
を有することを特徴とする。
請求項 9の発明の電子装置は、 前記第 1ビデオプロセッサが、 前記フレームバ ッファに展開されたスプライ ト画像データを読み出し、 その画像データの所定の ビッ ト値を変更して前記フレームバッファの同じァドレスに書き込むビッ ト値変 更手段を有し、 前記第 2ビデオプロセッサが、 前記フレームバッファからのスプ ライ ト画像データに含まれる前記所定のビッ ト値が変更されたか否かを検出する ビッ ト値検出部と、 前記変更されたビッ ト値に基づき前記スプライ ド画像データ をスプライ ト画像の形状を有するウインドウ信号として前記表示制御部に送るゥ ィンドウ制御部とを有することを特徴とする。
請求項 10の発明の電子装置は、 (l) CPU ; (2) 前記 C PUに接続され たバスライン ; (3) 前記バスラインの信号の流れを制御するバスコントローラ ; (4) 以下 1)~4)の構成を含む第 1の画像情報処理部;
1)前記バスラインに接続されスプライ ト画像データの生成を制御する第 1のビデ ォプロセッサ、
2)前記第 1のビデオプロセッサに接続され前記スプライ ト画像データを生成する ための画像情報が格納される第 1のビデオ RAM、
3)前記スプライ ト画像データを展開するためのフレームバッファ、
4)前記フレームバッファに展開されたスプライ ト画像データを読み出し、 そのデ 一夕の所定のビッ ト値を変更して前記フレームバッファの同じアドレスに書き込 むビッ ト値変更手段、
(5) 以下 1)~3)の構成を含む第 2の画像情報処理部;
1)前記バスラインに接続され背景画像データを生成する第 2のビデオプロセッサ、
2)前記第 2のビデオプロセッサに接铳され背景画像データを生成するための画像 情報が格納される第 2のビデオ R A M、
3〉前記スプライ ト画像データおよび前記背景画像データを合成するよう前記画像 データを制御する表示制御部;を有し、
さらに、 前記第 2ビデオプロセッサは以下①、 ②の構成、 すなわち、
① . 前記フレームバッファから読み出したスプライ ト画像データに含まれる前記 ビッ ト値が変更されたか否かを検出するビッ ト値検出部、
② . 前記変更されたビッ ト値に基づき前記スプライ ド画像データをスプライ ト画 像の形状を有するウインドウ信号として前記表示制御部に送るウィンドウ制 を有することを特徴とするものである。
請求項 11の発明の画像処理装置は、 回転マトリクスパラメータ A~ I、 座標 変換前のスクリーン画面に対する視点を表す (Px , Py , Ρζ ) 、 座標変換に おける中心点を表す (Cx , Cy . Cz ) 、 座標変換前のスクリーン画面上の所 定の点を表す (Sx , Sy , Sz ) および平行移動量を表す (Mx . My , Mz ) から、 座標変換後の視点を表す (Xp , ΥΡ . Ζρ ) と座標変換後のスク リーン 画面上の所定の点を表す (Xs , Ys , Zs ) とを次の (1 ) 式および (2) 式 で表し、 Px一 Cx
Py - Cy ( 1 )
Pz - Cz
Sy -Cy (2)
Figure imgf000015_0001
S z — Cz
Figure imgf000015_0002
上記の (1 ) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs -Xp ) +Xp
Y = k (Ys - YP ) + Yp
k =- Zp / (Zs - Zp ) … (4)
前記座標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示され る画像の画像データを生成する画像処理装置であって、
1スクリーン画面分の係数 kを画素毎に格納する係数メモリと、
前記 (1 ) 式及び前記 (2) 式のマトリクス演算を行って各画素の Xp , Yp , Xs , Ys を算出するマ ト リ クス演算回路と、
前記各画素の Xp , YP , Xs , Ys と、 前記^数メモリから読み出した対応 する前記画素の係数 kとから前記 (4) 式の演算を行って座標 X, Yを算出する 積和演算回路とを有することを特徴とする。
請求項 1 2の発明の電子装置は、 (1 ) C PU ; ( 2) ビデオプロセッサ ; ( 3) 前記ビデオプロセッサに接铳され画像情報が格納されたビデオ RAM ;を 有し、 前記ビデオ RAMに格納されている信号をアクセスして表示しょうとする 画像の画像情報を順次読み出し画像データを生成する電子装置において、 前記ビデオプロセッサは、 i)背景画像生成部と、 2)前記背景画像生成部に接続 された表示制御部とを含み、
前記背景画像生成部が以下①〜④の構成、 すなわち、
①. 座標変換変換前の視点を表す (Px , Py , Ρζ ) と、 座標変換における中 心点を表す (Cx . Cy . Cz ) と、 座標変換前のスク リーン画面の所定の 点を表す (Sx . Sy , Sz ) と、 平行移動量を表す (Mx , My , Mz ) から、 座標変換後の視点を表す (Χρ , Υρ , Zp ) と、 座標変換後のスク リーン画面の所定の点を表す (Xs , Ys , Zs ) とを次式で表し、
Px - Cx
Py - Cy (1 )
Pz — Cz
Figure imgf000016_0002
S x - Cx
Sy - Cy (2)
Figure imgf000016_0001
S z — Cz
Figure imgf000016_0003
上記の式より変換した画面を表示させる背景画面の座標 X, Yを次式で表す とさ、
X = k (XS -Xp ) + Xp
Y = k (YS - YP ) + Yp ··· (4)
前記 C P Uから供辁される回転マトリクスパラメータ A〜Fおよび変換前の 座標データ Px , Py , Pz , Cx , Cy , Cz , Mx , My , Mz に関す る信号を格納するパラメータレジスタ、
② . 前記 C P Uから供給される係数 kを画素毎に格钠する係数メモリ、
③ . 前記パラメータレジスタに接続され、 (1 ) 式および (2) 式のマトリクス 演算を行って各画素の Xp , YP , Xs , Ys を算出するマ ト リ クス演算回 路、 ④. 前記各画素の XP . YP . Xs . Ys と前記係数メモリから読み出した対応 する画索の係数 kとから (4) 式の演算を行って座標 X. Yを算出し前記ビ デォ RAMの読み出しァ ドレスを生成する積和演算回路、
を含むことを特徴とする。
請求項 13の発明の電子装置は、 画像情報から生成された画像データに基づい て画像を表示するディスプレイ装置を具備したことを特徴とする。
請求項 14の発明の画像処理装置は、
(1) C PUからの信号を受領するための第 1の^子;
(2) 画像情報が格納されるビデオ RAMを接続するための第 2の接続端子;
(3) 画像データを出力するための第 3の端子;
(4) 以下 1)~5)の回路を有する表示画像生成ブロック ;
1)前記第 1の接続端子に接続され、 C P Uから供給される回転マトリクスパラメ 一夕 A~F、 座標変換前の視点を表す (Px . Py, Pz ) 、 座標変換におけ る中心点を表す (Cx , Cy , Cz ) および平行移動量を表す (Mx , My , Μζ ) に関する信号を格納するバラメータレジスタ :
2)前記パラメータレジスタに接続され、 次の (1) 式および (2) 式で表される 演算を実行して各画素の Χρ , YP , XS , YS を算出するマトリクス演算回 路、
Xp、 A B Cヽ
Yp D E F Py - Cy ( 1 )
、 Zpノ GH I
Figure imgf000017_0001
S x 一 Cx
Sy - Cy (2)
Figure imgf000017_0002
Figure imgf000017_0003
但し、 (Sx , Sy . Sz ) は座標変換前のスク リ ー ン画面の所定の点を、
(Xp . Yp , Zp ) は座標変換後の視点を、 そして (Xs , Ys , Zs ) は 座標変換後のスクリーン画面の所定の点を、 それぞれ表す;
3)前記第 1の端子に接続され、 C PUから供給される係数 kに関する信号を格納 する係数メモリ ;
4)前記マトリクス演算回路から供給される各画素の XP, YP . Xs , Ys およ び前記係数メモリから読み出された各画索に対応する係数 kとから次の (4) 式、
X = k (Xs -Xp ) +Xp
Y = k (Ys - YP ) + Yp ··· (4)
で表される演算を実行し、 表示画像の座標 Xおよび Yを算出する積和演算回路;
5)前記第 2の端子に接続され、 前記積和演算回路から供給される座標 X, Yを表 示画像の画索ァドレスとしてビデオ RAMをアクセスするためのビデオ RAM アクセス回路;
(5) 前記表示画像生成ブロックに接続され、 生成された画像データを前記第 3 の端子から出力する表示制御プロックを備えたことを特徴とする。
請求項 15の発明の画像処理装置は、
(1) CPUからの信号を受領するための第 1の端子;
(2) 画像情報が格納されたビデオ RAMを接続するための第 2の接続端子;
(3) 画像データを出力するための第 3の端子;
(4) 以下 1)〜8)の回路を有する表示画像生成ブロック ;
1)前記第 1の接铳端子に接続され、 C Ρϋから供耠される回転マトリクスパラメ ータ、 座標変換前の視点、 座標変換における中心点および平行移動量を表す信 号を格钠する一対のパラメータレジスタ ;
2)対応する前記パラメータレジスタにそれぞれ接続され、 一対の画像に対する各 画素の座標変換後の視点およびスクリ一ン画面上の点を演算する一対のマトリ クス演算回路;
3)前記第 1の端子に接続され、 C PUから供給される表示切換信号を含む係数 k を格納する一対の係数メモリ :
4)前記一対のマトリクス演算回路の両方に接続された第 1の切換回路;
5)前記一対の係数メモリの両方に接続された第 2の切換回路;
6)前記第 1および第 2の切換回路に接続され、 前記第 1および第 2の切換回路か ら供铪される信号に基づき、 表示画像の座標を算出する積和演算回路; 7)前記係数メモリの一方から前記第 1および第 2の切換回路および積和演算回路 に前記表示切換信号を供給し、 前記一対のマトリクス演算回路および前記一対 の係数メモリから前記積和演算回路に供給される信号を切換える切換手段;
8)前記第 2の端子に接続され、 前記積和演算回路から供給される座標データを表 示画像の画素ァドレスとしてビデオ R A Mをアクセスするためのビデオ R A M アクセス回路;
( 5 ) 前記表示画像生成ブロックに接続され、 生成された画像データを前記第 3 の端子から出力する表示制御プロック、
を備えたことを特徴とする。
請求項 1 6の発明の画像処理装置は、 前記表示制御ブロックにカラー R A Mを 接続したことを特徴とする。
請求項 1 7の発明の画像処理装置は、 前記第 1の端子に接続され、 C P Uによ り内容の書換えが可能なコントロールレジスタと、 制御信号を前記表示制御プロ ックに供給するウインドウ制御ブロックを有することを特徴とする。
請求項 1 8の発明の画像処理装置は、 前記表示画像生成ブロック、 前記ウィ ン ドウ制御プロックおよび前記表示制御プロックが半導体基板に一体に形成された ビデオプロセッサ I Cとして構成されることを特徴とする。
請求項 1 9の発明の画像処理装置は、 前景画を入力するための第 4の端子と、 前記第 4の端子と前記ウインドウ制御プロックとの間に接続されるウインドウ検 出ブロックとを有し、 前記第 4の端子に入力される信号にはウィンドウ制御フラ グおよび前景画信号が含まれ、 前記ウィ ンドウ検出プロックに前記ウインドウ制 御フラグが供給され、 前記表示制御プロックには前記前景画信号は供給されるこ とを特徴とする。
請求項 2 0の発明の画像処理装置は、 前記表示画像生成プロックは前記前景画 に対応した背景画を生成するように構成され、 前記表示制御ブロックは前記背景 画および前記前景画を合成した画像^ータを前記第 4の端子から出力するように 構成されていることを特徴とする。
請求項 2 1の発明の画像処理装置は、 前記表示画像生成ブロック、 前記ウィ ン ドウ制御ブロック、 前記表示制御ブロックおよび前記ウィンドウ検出ブロック力《、 半導体基板に一体に形成されたビデオプロセッサ I Cとして構成されていること を特徴とする。
請求項 22の発明の画像処理方法は、 回転マトリクスパラメータ A〜 I、 座標 変換前のスク リーン画面に対する視点を表す (Px, Py . Pz ) 、 座標変換に おける中心点を表す (Cx , Cy , Cz ) 、 座標変換前のスク リーン画面上の所 定の点を表す (Sx , Sy . Sz ) および平行移動量を表す (Mx . My , Mz ) から、 座標変換後の視点を表す (Xp , ΥΡ, Ζρ ) と座標変換後のスクリーン 画面上の所定の点を表す (Xs , Ys , Zs ) とを次の (1) 式および (2) 式 で表し、
Figure imgf000020_0001
上記の (1) . (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs -Xp ) +Xp
Y = k (Ys 一 YP ) + Yp
k = -Zp / (Zs - Zp ) … (4)
予め画素毎に設定された 1スク リーン画面分の係数 と、 前記各画素の Χρ , Yp , Xs , Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
スクリーン画面の X軸を回転軸にした X軸回転とスクリーン画面の Ζΐίιを回転 軸にした Ζ蚰回転とを連続させる 「X軸回転 + Ζ铀回転」 、 および Ζ又はスク リ 一ン画面の Ϋ軸を回転軸にした Y$由回転とスクリ一ン画面の Zf由を回転 f由にした Z軸回転とを連続させる 「Υί由回転 + Zf由回転」 という回転変換処理を行うこと を特徴とする。
請求項 23の発明の画像処理方法は、 回転マトリクスパラメータ A~ I、 座標 変換前のスクリーン画面に対する視点を表す (Px , Py , Ρζ ) 、 座標変換に おける中心点を表す (Cx , Cy , Cz ) 、 座標変換前のスクリーン画面上の所 定の点を表す (Sx , Sy , Sz ) および平行移動量を表す (Mx , My , Mz ) から、 座標変換後の視点を表す (Xp , ΥΡ , Ζρ ) と座標変換後のスク リーン 画面上の所定の点を表す (Xs , Ys , Zs ) とを次の (1 ) 式および (2) 式 で表し、
Xp、 A B C f Px - C x
YP D E F Py - Cy (1 )
Ζρ GH I ン k Pz 一 Cz
Figure imgf000021_0001
Xs AB C
Ys D E F Sy - Cy ( 2 )
Zs J GH I
Figure imgf000021_0002
上記の (1 ) , (2) 式より変換した画面を表示させるスクロール画面の座標
X, Yを次式で表し、
X = k (Xs - Xp ) + Χρ
Y= k (Ys - YP ) + Yp
k =一 Zp ノ (Zs - Zp ) - (4)
予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Χρ ,
Yp . Xs , Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
スクリーン画面の X軸を回転軸にした Χΐ由回転とスクリーン画面に対する垂直 線である画面軸を回転軸にした画面 ί由回転とを連続させる 「X軸回転 +画面铀回 転」 、 およびノ又はスクリーン画面の Υ軸を回転軸にした Υ軸回転と前記画面 f由 回転とを連続させる ΓΥ軸回転 +画面蚰回転」 という回転変換処理を行うことを 特徴とする。
請求項 24の発明の画像処理方法は、 回転マトリクスパラメータ A~ I、 座標 変換前のスク リーン画面に対する視点を表す (Px , Py . Pz ) 、 座標変換に おける中心点を表す (Cx , Cy . Cz ) 、 座標変換前のスクリーン画面上の所 定の点を表す (Sx , Sy , Sz ) および平行移動量を表す (Mx , My , Mz ) から、 座標変換後の視点を表す (Xp , ΥΡ , Ζρ ) と座標変換後のスク リーン 画面上の所定の点を表す (Xs , Ys , Zs ) とを次の (1) 式および (2) 式 で表し、
Px - Cx Cx Mx
Py - Cy + Cy + My (1)
Pz一 Czノ Czノ Mz S x - Cx
Sy -Cy (2)
Figure imgf000022_0001
Sz - Cz
Figure imgf000022_0002
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Υを次式で表し、
X = k (Xs — Xp ) +Xp
Y = k (Ys -YP ) + Yp
k = - Zp / (Zs 一 Zp ) ··· (4)
予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Χρ , Yp . Xs , Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、 前記係数 kを上記 (4) 式の X, Yのいずれか一方に積算することにより、 前 記スク リーン画面の水平方向又は垂直方向の拡大縮小を行うことを特徴とする。 請求項 25の発明の画像処理方法は、 回転マト、Jクスパラメータ A〜 I、 座標 変換前のスクリーン画面に対する視点を表す (Px , Py , Ρζ ) 、 座標変換に おける中心点を表す (Cx , Cy , Cz ) 、 座標変換前のスクリーン画面上の所 定の点を表す (Sx , Sy , Sz ) および平行移動量を表す (Mx , My , Mz ) から、 座標変換後の視点を表す (Xp , ΥΡ , Ζρ ) と座標変換後のスク リーン 画面上の所定の点を表す (Xs , Ys , Zs ) とを次の (1) 式および (2) 式 で表し、
Px - Cx Cx ヽ
Py - Cy + Cy + My (1)
Pz 一 Czソ Cz Mz
S x - Cx
Sy -Cy (2)
Figure imgf000023_0001
S z - Cz
Figure imgf000023_0002
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs - Xp ) +Xp
Y = k (Ys -YP ) + Yp … (4)
予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Χρ , Yp . Xs , Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
前記係数 kを前記スクリーン画面の垂直座標値および水平座標値に従って変化 させることにより前記スクリーン画面が曲面になるように画像データを生成する ことを特徴とする。 [発明の作用効果]
以上のような構成を有する請求項 1 . 5および 6 ~ 9記載の画像処理装置によ れば、 表示切換信号に従って切換手段の出力を切り換えて、 異なった移動 ·回転 変換処理が行なわれるァドレス生成用データをァドレス生成手段に選択的に出力 することにより、 互いに独立した変換処理を行った画像データを生成することが できる。 したがって、 表示切換信号に従ってモニタ画面を任意に分割し、 この分 割した画面それぞれに対して独立した画像データを供辁することができる。 その 桔果、 モニタ画面は、 分割された画面ごとに独立した画像を表示することができ る。 また、 請求項ら〜 9はゲーム機に適した電子装置として以上の作用効果を持 つことができる。
さらに、 請求項 2 ~ 4の作用効果は次の通りである。 すなわち、 請求項 2の発 明では、 C P Uから供給される移動変換処理及び Z又は回転変換処理のための演 算に用いるパラメータをレジスタに格納しておき、 さらに C P Uで計算して得ら れた (あるいはあらかじめカセッ トゃ C D— R O Mなどに用意しておき、 C P U のコントロール下で供辁しても良い) 所定のデータを係数として係数 R A Mに格 納しておき、 これらパラメータよび係数を用いて移動変換処理及びノ又は回転変 換処理は C P Uではなく、 マトリクス演算回路および積和演算回路で ドゥエ ァ的に演算処理する。 また積和演算回路では切換回路で切換えられた画面のデー タのみを処理すれば良いので、 例えば画面の下側に来る部分の計算を省く ことが できる。 これにより、 C P Uは演算に必要なパラメータおよび係数を設定するだ けで済むので負担が軽減される。 請求項 3の発明では、 係数 R A Mが格納した 係数の一つを表示切換信号として用いることにより、 画面分割表示を簡単に行う とことができる。 請求項 4の発明においては、 画像メモリアクセス回路は積和演 算回路の出力に従って画像表示に必要な場合のみ画像メモリをアクセスするので、 重なる下側の部分についてアクセスは省略することができる。 そのため、 表示画 像データの生成スピードを挙げることができる。
請求項 1 0の発明においては、 任意の形状のスプライ ト画像をウインドウとし て使用できるので、 一つのモニタ画面を任意の形状に分割表示して新たな画像を 生成することができる。 請求項 1 1 , 1 2 , 1 4の発明においては、 所定の算出式に基づきスクロール 画面の座標 X , Υを算出するため、 3軸回転を行ったように見える画像の画像デ ータを生成することができ、 一画面分の係数 kを係数メモリに格納し、 マトリク ス演算回路および積和演算回路を用いてハードウエアである回路にて処理できる ため、 C P Uのオーバヘッ ドを軽減することができる。 また、 請求項 1 2はゲー ム機に適した電子装置として、 このような作用を持つことができる。 ざらに請求 項 1 3はァーケ一ドゲーム機のようなディスプレイ装置を備えたゲーム機として 利用できる電子装置において上述した作用効果を持つことができる。
請求項 1 4 ~ 2 1の発明は、 上述した作用を持つ画像処理装置において、 半導 体基板に一体的に形成し得る回路構成より成るので、 様々な技術分野に対し容易 に応用することが可能となる。
請求項 2 2の発明では、 スクリーン画面の回転変換処理が、 Γ Χ軸回転 + Z軸 回転」 や 「Y軸回転 + Ζ $ι&回転」 であれば、 kはスクリーン画面の水平方向また は垂直方向のどちらか一方に対して一定となる。 そのため、 回転変換の演算処理 を行う C P Uは演算の負荷が小さくて済み、 スクリーン画面の回転処理を高速で 処理することができる。 したがって、 このような画像処理方法をゲーム機などの 電子装置に用いることにより、 ゲーム機などのプレーヤの操作に対してリアルタ ィムで反応することが可能となる。
請求項 2 3の発明においては、 X軸回転または Y軸回転を行った後、 画面蚰回 転を行うといった処理を行うことができるため、 これを利用して 3拳由回転を行つ たように見える画像の画像データを生成することができる。 また、 スクリーン画 面が画面軸回転だけを行う場合であれば、 スクリーン画面の水平方向または垂直 方向のどちらか一方に対して kは一定になることに変わりはない。 したがって、 本発明によればゲーム機等のプレーヤがゲームにおけるキャラクタを画面軸回転 させるように操作した場合、 この操作にリアルタイムで反応することができる。 請求項 2 4の発明では、 係数 kを上記 (4 ) 式の X , Yのいずれか一方に積算 することにより、 水平方向又は垂直方向の拡大縮小を行う画像処理が可能となる。 請求項 2 5の発明では、 係数 kをスクリーン画面の垂直座標値および水平座標 値に従って変化する全ての場合に対応させることができるため、 スクリーン画面 を曲面にすることができる。
【図面の簡単な説明】
図 1は、 本発明による一実施例のゲーム機本体のブロック図である。 図 2は 前景画の画像データの 1画素を示す図である。 図 3は画素データがフレームバッ プア 2 3に害き込まれる処理例を説明する説明図である。 図 4はスクロール画面、 スクリーン画面および視線を示す斜視図である。 図 5は図 4のスクリーン画面を スクロール画面に対し X軸回転させた斜視図である。 図 6は図 4のスクリーン画 面をスクロール画面に対し Y軸回転させた斜視図である。 図 7は図 4のスクリ一 ン画面をスクロール画面に対し 回転させた斜視図である。 図 8は図 4に対応 したスクリーン画面を示す正面図である。 図 9は図 5に対応したスクリーン画面 を示す正面図である。 図 1 0は図 6に対応したスクリーン画面を示す正面図であ る。 図 1 1は図 7に対応したスクリーン画面を示す正面図である。 図 1 2は移動 回転変換式の 「パラメータ」 および 「係数」 について説明するグラフである。 図 1 3はスクロールエンジン 2 1のブロック図である。 図 1 4は背景画像生成部 4 1のブロック図である。 図 1 5は背景画像生成部 4 1の一部のイメージ化したブ ロック図である。 図 1 6は回転パラメータ A . Bによって分割表示がなされたス クリーン画面のモデル図である。 図 1 7は画像の移動回転を説明するための図で ある。 図 1 8は画像の移動回転を説明するための図である。 図 1 9はウィンドウ によって分割表示がなされたスクリーン画面のモデル図である。 図 2 0、 図 2 1 はスクリーン画面の回転変換処理を説明するための図である。 図 2 2は 3軸回転 を行ったように見える 「Χ ί由回転 +画面軸回転」 を行った画像を説明するための 図である。 図 2 3は X軸回転 +画面軸回転を行った際の、 スクロール画面、 スク リ一ン画面および視点との関係を示した図である。 図 2 4は球の公式をパラメ一 タとして利用して画像処理を行った画像を説明するための図である。 図 2 5およ び図 2 6は本発明の他の実施例の回路図である。
【発明を実施するための最良の形態】
以下、 本発明の一実施例の構成を図面を参照しつつ具体的に説明する。
I . 実施例の構成 本実施例は、 本発明のゲーム機の一実施例である。
[ゲーム機本体 10の全体構成]
まず、 ゲーム機本体 10の全体構成について図 のブロック図を用いて説明す る。 10はゲーム機本体である。 ゲーム機本体 10にはプレーヤがゲームを操作 するための入力デバイスであるコントロールパッ ド 34力 IZOコントローラ となる S MP C (Systen Manager & Peripheral ControlZシステムマネージャ) 33を介して接続されている。 この SMPC33は、 ゲーム機 10全体のリセッ ト管理や、 コントロールパッ ド 34等の外部機器とのィンタ一フヱース制御を行 うようになっている。 またゲーム機本体 10にはカートリ ッジ 35が着脱自在に 装着される。 このカートリ ッジ 35には、 半導体メモリ (マスク ROM) に書き 込まれたゲームプログラムが格納されている。 なお、 ゲームプログラムは、 ゲー ム機本体 10に CD— ROMドライブ (図示せず) を装備することにより、 カー トリ ッジ 35にではなく、 CD— ROMに組み込まれた形態で供給することも可 能である。
14はゲーム機本体 10内に設けられるバスであり、 ここに CPU15, R A
M 16, ROM17, バスコントローラ 18, サウンドプロセッサ 36が接続さ れている。 このうち、 CPU 15は、 カートリ ッジ 35内のゲームプログラムを 実行すると同時に、 ゲーム機全体をコントロールするもので、 32ビッ ト R I S Cタイプの高速 CPU (SH— 2と呼ばれる CPUチップ 2個) から成る。 また、 バスコン トローラ 18は、 DMAコン トローラおよび割り込みコン トローラなど を備え、 C P ϋ 15のコプロセッサの役割を果たすものである。 サウンドプロセ ッサ 36は、 音声 (PCMZFM) を制御しており、 DZAコンバータ 37によ りデジタル信号をアナログ信号に変えて、 スピーカ (図示せず) から音声を出力 するようになつている。
続いて、 バス 14に接続されるスプライ トエンジン 20およびスクロールェン ジン 21について説明する。
[スプライ トエンジン 20]
(1) スプライ トエンジン 20の概要
スプライ トエンジン 20は、 これに接続された VRAM (又はコマン ド RAM) 22およびフレームバッファ 23と共に前景画 F Gとなるスプライ ト画面の画像 処理を行う第 1の画像情報処理部を構成する。 スプライ トエンジン 20はビデオ プロセッサ 1 (以下、 VDP 1) と呼ばれる I Cチップとして半導体チップ上に 形成されている。 このスブライ トエンジン 20には、 コマンド RAM22 (4M ビッ ト DRAMで構成) と、 2面のフレームバッファ 23 (それぞれ 2Mビッ ト) とが接続されている。 コマンド RAM22には C PU 15からのコマンドデータ および前景画の元絵となる画像データが格納される。 またフレームバッファ 23 はスプライ ト画面の画像データを展開するようになっている。
C PU 15が R0M17内のプログラムを実行することにより、 スプライ トェ ンジン 20にコマンドデータ (描画コマンド) を送り出すと、 スプライ トェンジ ン 20は、 このコマン ドデータをコマンドテーブルとしてコマンドデータ RAM 22に書き込む。 そしてスプライ トエンジン 20は、 コマンド RAM22からキ ャラクタ等のスプライ ト画面の画像データ (所定の描画コマンド) を選択して読 み出し、 回転、 拡大、 縮小、 色演算等の処理を行った後、 フレームバッファ 23 の所定のア ドレスへ書き込み、 フレームバッファ 23にて前景画の画像データを 展開する。 またスプライ トエンジン 20は、 フレームバッファ 23に書き込んだ 1フレーム分の画像データを順次読み出し、 この画像データをバス 14を介さず に直接スクロールエンジン 21に供給する。 なお、 描画を制御する情報は、 スプ ライ トエンジン 20内部のシステムレジス夕に設定される。
[前景画の画像データの構成]
スプライ トエンジン 20で処理する画像データの 1画素は、 図 2に示すごとく、 16ビッ 卜で表わされる。 下位 1 1ビッ ト D0~D 10は色を指定するカラーコ ード用ビッ トで、 このうち 1 1ビッ トが後述するカラ一 RAM25のアドレスと して使用される。 スプライ トキャラクタは 1 ドッ トあたり 4ビッ ト又は 8ビッ ト で VR AM22に格納されるが、 フレームバッファ 23に書き込むときは、 キヤ ラクタデータの上位側にそのキャラクタ毎に指定されたカラー RAMァドレスォ フセッ ト値を付加する。 ビッ ト D8~D 10または D 5~D 10は未使用であり、 ビッ ト D 1 1~D 14がプライオリティ コー ドとなる。 複数の画像を重ねて表示 する場台、 重なる各画素毎にプライオリティが比校され、 プライオリティの高い 画素が低い画素に優先して表示される。
[M S Bオン機能]
ところで、 スブライ トエンジン 2 0は M S Bオン機能を備えている。 ここで言 う M S Bオン機能とは、 フレームバッファ 2 3の指定された位匿にスプライ トキ ャラクタを書き込むときに、 単順に上書きするのでなく、 書き込むアドレスのフ レームバッファデータを読み出して、 そのデータの最上位ビッ トすなわち M S B (Most Signi f icant Bi t) だけを 0から 1に変更したデータを同じア ドレスに書 き込む機能である。 図 2に示すように本実施例における前景画の画像データでは、 最上位ビッ ト D 1 5がウインドウフラグとなり、 その値が 「1」 であればこれを 含む画素がウィンドウの画素であることを表し、 値が 「0」 であればその画素が ウィンドウの画素ではないことを表す。 その際、 M S Bオン機能が使用されるス プライ トキャラクタのドッ トデータは透明ドッ トかどうかの判断にだけ使用され、 フレームバッファ 2 3に書き込まれるデータには関係しない。
なお、 前景画 F Gの画像データの流れは次のようになる。 図 1 3においてまず スプライ トエンジン 2 0から前景画 F Gの画像データが端子 4 0に入来する。 入 来した前景画の画像データのうち、 最上位ビッ ト D 1 5のウインドウフラグはス プライ トウインドウ検出部 4 2に供給され、 残りの下位 1 5ビッ ト D 0〜D 1 4 のカラーつ一ドおよびプライオリティ コードは表示制御部 4 3に供給される。 ス プライ ドウインドウ検出部 4 2は値 1のウィンドウフラグを検出すると、 その検 出信号をウィンドウ制御部 4 4に供給する。
[画素データがフレームバッファ 2 3に書き込まれる処理伊 1および M S Bオン機 能]
ここで、 図 3に図示するキャラクタを例にとって、 画素データがフレームバッ ファ 2 3に書き込まれる処理例を説明する。 図において、 スプライ トキャラクタ C 1 , C 2 , W 1は、 前景画 F Gに展開されるものであり、 破線で囲まれた図に 示すような形状を持っている。 各キャラクタ C I , C 2 , W 1のドッ トデータ値 は、 「0 0 0 1 h」 、 「0 0 0 2 h」 、 「 0 0 0 3 h J である。 キャラクタ C 1、 C 2、 W 1の順番でフレームバッファ 2 3に書き込まれるものとする。
このようなスプライ 卜エンジン 2 0が画索データがフレームバッファ 2 3に書 き込む IS、 まずはスプライ トエンジン 20フレームバッファ 23を全て 0000 h ( 16ビッ ト/ドッ トとする。 ) にクリアする。 次にスプライ トエンジン 20 はフレームバッファ 23の指定された位置にスプライ 卜キャラクタ C 1の形状に 0001 hを書き込む。 次にスプライ トエンジン 20はフレームバッファ 23の 指定された位置にスプライ トキャラクタ C 2の形状に 0002 hを書き込む。 スプライ トキャラクタ W1の形状を持ったウインドウを用意する場合、 あらか じめスプライ トキャラクタ W1に対し MS Bオン機能を使用するように指定して おく。 するとスプライ トエンジン 20はスプライ トキャラクタ W1の形にしたが つてフレームバッファデータを読み出し、 当該データの MS Bだけを 0から 1に 変更したデータを同じアドレスに書き込む。 このようにして得られたフレームバ ッファデータは、 スクロールエンジン 21の水平および垂直同期信号と同期して 読み出され、 スクロールエンジン 21に入力される。 スクロールエンジン 21で はフレームバッファデータの MS Bはウィンドウフラグとして使用され、 そのビ ッ ト値にしたがってウィンドウ処理を行うかどうかを判断する。 フレームバッフ ァデータの残りの (MS B以外の) 15ビッ トはスプライ トのドッ トデ一夕とし て使用される。
スプライ トキャラクタ C 2の形状を持ったウインドウに用意する場合は、 上記 スプライ トキャラクタ W1の場合と同様、 あらかじめ MS Bオン機能を使用する ように指定しておき、 フレームバッファ 23の指定された位置にスプライ トキャ ラクタ C 2の形にしたがって MS Bを 0から 1に変更したデータを書き込むこと により可能となる。
[スクロールエンジン 21]
(1) スクロールエンジン 21の概要
スクロールエンジン 21はこれに接続される VRAM 24とカラー RAM25 と共に背景画となるスクロール画面の画像処理を行う第 2の画像情報処理部を構 成する。 スクロールエンジン 21はビデオプロセッサ 2 (以下、 VDP 2) と呼 ばれる I Cチップとして半導体チップ上にに形成されている。 この VDP 2チッ ブには、 カラーコ一ドが記錄されたカラー RAM 25 (32 Kビッ ト) と、 画像 データを生成するためのデータが設定されるレジスタ (図示せず) とが内蔵され ている。 さらにスクロールエンジン 21には 4Mまたは 8Mビッ トの VRAM2 4が接続されている。
スクロールエンジン 21は VRAM24に格納されたデータをレジスタの設定 に従って読み出し、 スクロール画面の画像データレジスタの設定に従ってプライ オリティを決め、 画像データを生成するようになっている。 画像データを生成し たスクロールエンジン 21は、 この画像表示データを表示カラ一データに変換し、 ディスプレイ装置に出力する。 なお、 画像データは C PU 15からバスコントロ ーラ 17を介して VRAM24とカラー RAM25に定義される。
(2) VRAM24の構成
VRAM24について説明する。 VRAM24は、 VRAM24 aおよび VR
AM24 bと呼ばれる同じ容量を持つフレームに 2分割されている。 各 VRAM 24 a, 24 bにはそれぞれ、 縦横 8 x 8画素のセルのデータであるパターンデ 一夕と、 前記セルを縦横 28 X40セル分敷きつめて 1フレーム分の背景画を構 成するとき、 セルの敷きつめ位置に対応してどの ルを使用するかを指示するパ ターンネームデータ (パターンデータが格納されている VRAM上のアドレス) が格納されている。
(3) スクロール画面の種類
本実施例にはスクロール画面として背景画 B G 0および B G 1があり、 これら の背景画は回転スクロール画面となることができる。 ここでいう回転スクロール 画面とは、 座標軸 (X, Υ, Z軸) を回転軸とした回転と、 モニタ画面に垂直な 画面軸を回転軸とした回転とを行うスクロール画面のことである。
(4) 回転スクロール画面表示時のスクロール画面、 スクリーン画面および視点 の関係
回転スクロール画面を表示する際の、 スクロール画面、 スクリーン画面および 視点の関係について、 図面を参照して説明する。 図 4に示した状態を初期状態と すると、 図 5がスクロール画面に対しスクリ一ン画面を X蚰を中心にして回転さ せた 「X軸回転」 の場合、 図 6がスクロール画面に対しスクリーン画面を Y铀を 中心にして回転させた 「Y軸回転」 の場合、 図 7がスクロール画面に対しスクリ ーン画面を 由を中心にして回転させた 「Ζ軸回転」 の場合である。 (5) 移動回転変換式における 「パラメータ」 および 「係数」
前記の図 4の状態から図 5〜図 7に示すようにスクリーン画面に動く場台、 ス クリーン画面上の画像は図 9〜図 11に示すような表示となる。 図 8が図 4に、 図 9が図 5に、 図 10が図 6に、 図 11が図 7に対応する。 なお、 図 8〜図 11 の下部に示したものは各図の状態における回転マトリクスパラメータである。 続いて、 本実施例に用いられる移動回転変換式の 「パラメータ」 および 「係数」 について、 図 12を参照して説明する。 この図は、 移動回転変換を行ったスクリ ーン画面 (つまり回転スクロール画面の表示画面) とは、 中心点を基準に視点お よびスクリーン画面を回転変換させ、 変換後の視点から変換後のスクリーン画 を通った視線が、 固定されたスクロールマップと交差する点を集めたものである、 ということを示している。
図において、 座標変換前の視点 (Px , Py , Ρζ ) を、 中心点 (Cx , Cy , Cz ) を中心として回転し、 さらに平行移動して変換後の視点を (Χρ , Υρ , Ζρ ) とする移動回転変換式は、 次式で与えられる。
Px - Cx
Py - Cy (1)
Figure imgf000032_0001
Figure imgf000032_0002
但し、 Mx , My , Mz は X Y Z軸それぞれに対する平行移動量、 A~ Iは回 転マトリクスバラメータである。 また、 座標変換前のスクリーン画面上の点 (Sx , Sy , Sz ) を、 前記と同 様に移動回転させて、 座標変換後のスクリーン画面上の点を (Xs , Ys , Zs ) とする移動回転変換式は次式で与えられる。
「 Xs、 「 A B C f S x Cx c x, r Mx -
Ys D E F Sy Cy + Cy + My (2)
Z sリ G H I」 Sz J ■ Cz - - Mz - さらに、 変換後の視点から変換後のスクリーン画面上の点を通り、 表示させる スクロール画面上の点 (X, Y, Z) に至る視線は次式で表わされる。
X-Xp Y— Yp Ζ - Ζρ
Xs -XP Ys 一 Yp Zs - Zp ··· (3)
ここで表示させるスクロール画面つまり VRAM 27内に格钠された背景画は, Z == 0の平面であることから表示させるスクロール画面の X. Y座摞は次式で表 わされる。
X = k (Xs - Xp ) +Xp
Y = k (Ys -Yp ) + Yp … (4) 但し、 k =一 Zp / (Zs — Zp )
上記の係数 kは ( 1) 式、 (2) 式から次のように表わされる。
- (G (Px — Cx ) + H (Py - Cy ) + I (Py - Cy ) + Cz +Mz } k =
G ( S x 一 Px ) + H (Sy 一 Py ) + I (Sy 一 Py )
- (5)
(5) 式において、 変換前の視点 (Px , Py , Ρζ ) 、 変換前の中心点 (C X . Cy , Cz ) 、 平行移動量 (Mx , My , Μζ ) および回 マトリクスパラ メータ Α~ Ι は 1フレーム内では固定値であるので、 係数 kは変換前のスクリ一 ン画面上の点 (Sx , Sy . Sz ) の値に従って変化する。
なお通常、 変換前のスク リーン画面はモニタ画面と同一なので、 S x はモニタ 画面の水平方向座^値である Hカウン ト値であり、 Sy はモニタ il而の
Figure imgf000033_0001
力 Ίή| 座標値である Vカウン ト figであり、 Sz は ϋである。
ここで、 図 8に示した WW状態から図 9に示すようにスク リーン iffiifiiを X蚰 1【」1 転のようなパラメータ Gが 0である移動回転変換をした場台、 係数 kはモニタ画 面の水平方向で一定となり、 Vカウント碴によってのみ変化する。
また、 Yflll回転のようなバラメータ Hが 0である移動回転変換をした場合、 係 数 kはモニタ画面の垂直方向で一定となり、 Hカウント値によってのみ変化する。 さらに、 3軸回転のようなパラメータ G. Hが共に 0でない移動回転変換をした 場合、 係数 kは Vカウント値および Hカウント値によってのみ変化する。 また、 変換後のスクリーン画面をこの変換後のスクリーン画面上に立てた垂線である画 面軸を中心として回転させる画面軸回転を行う場台、 変換前のスクリーン画面上 の点である S x, S yは Vカウント値および Hカウント値によって変化し、 変換 前のスクリーン画面上の点 S zは固定となる。
(6) スクロールエンジン 21の構成要索
以上のようなスクロールエンジン 21の構成要 について、 図 13を参照して 詳細に説明する。 図において、 41は背景画生成部、 42はスプライ トウインド ゥ検出部、 43は表示制御部、 44はウィンドウ制御部である。 なお、 背景画生 成部 41については後段で述べ、 まずここでは残りの構成要素に関して順次説明 する。
(6- 1) スプライ トウイ ンドウ検出部 42
スプライ トウインドウ検出部 42は、 端子 40を介してスプライ トエンジン 2 0に接続されている。 スプライ トウインドウ検出部 42は、 前記フレームバッフ ァ 23から読み出されたスプライ ト画像データに含まれる前記 MS Bが変更され たか否かを検出するビッ ト値検出部である。
(6- 2) 表示制御部 43
表示制御部 43は、 背景画像生成部 41およびウィ ンドウ制御部 44に接続さ れており、 スプライ ト画像データと背景画像データとを台成するように画像デー タを制御するように構成されている。
(6— 2— 1) スィ ッチ 50, 51, 52
この表示制御部 43にはスィッチ 5◦. 51, 52が設けられている。 スイツ チ 50は、 スィツチング信号 F GSWがオンの期間つまりウインドウを開けるこ とを指示する期間では前景画 F Gの画像データのカラーコー ドを 00 H (Hは 1 6進を示す) に置き換え、 スイッチング信号 F G SWがオフの期間つまりウィン ドウを開けないことを指示する期間では前景画 F Gの画像データをそのまま出力 する。 同様にスィッチ 51, 52それぞれはスイッチング信号 B G 0 SW, BG 1 SWそれぞれがォンの期間で背景画 B G 0, B G 1それぞれの画像データの力 ラーコードを 00Hに置き換え、 スイッチング信号 BGO SW, BG 1 SWそれ ぞれがオフの期間で背景画 B G 0, B G 1それぞれの画像データをそのまま出力 する。
(6-2-2) プライオリティ回路 54
上記スィツチ 50~ 52にはプライオリティ回路 54が接続されている。 この ブライオリティ回路 54は、 スィッチ 50~52が出力する前景画 FG, 背景画 BG O, B G 1それぞれの画像データを入力するようになっている。 またプライ オリティ回路 54は、 前景画 FG, 背景画 BGO. B G 1それぞれの画像データ 内のカラ一コ一ドが 00 Hかどうかを判別し、 00 Hの場合にはこれを透明とみ なし、 00 H以外の画像データについて、 そのプライオリティコードを比較し、 プライオリテイコードの値が最大の画像データを選択して出力するようになって いる。
(6-2-3) カラー化回路 55
プライオリティ回路 54にはカラー化回路 55が接続されている。 カラー化回 路 55は、 プライオリティ回路 54が出力する画像データがバレツ ト形式のとき にはカラーコードでカラ一 RAM25をアクセスして、 カラー RAM25から力 ラ一コードをアドレスとして 3原色 R G Bそれぞれのレベルを表す R G Bデータ を獲得し、 この RGBデータを端子 56より出力する。 また画像データが RGB 形式のときには、 そのまま表示カラーデータとなる。 RGBデータは図 1に示し た DZAコンバータ 31でアナログ化され、 RG B映像信号として端子 32より 出力され、 モニタ (図示せず) に表示される。
(6- 3) ウィ ンドウ制御部 44
ウィ ンドウ制御部 44は、 変更された MS Bに基づきスプライ ド画像デ一夕を スプライ ト画像の形状を有するウインドウ信号として表示制御部に送るものであ る。 ウィンドウ制御部 44にはコントロールレジスタ 45が設けられている。 こ のコントロールレジスタ 45の内容は、 端子 46を介して C PU 15により書き 換えが可能とされている。 コントロールレジス夕 45には、 次の a~eの情報が 格納されている。
a. 内外制御ビッ ト
前景画 F Gのウィンドウフラグで指定されたウィンドウ形状について、 このゥ ィンドウの内側 (ウインドウフラグ = 1の部分) と外側 (ウインドウフラグ = 0 の部分) のいずれにウインドウを開けるかを指示ナるビッ ト.
b. スプライ トウインドウ制御ワー ド
このウィンドウを前景画 F G、 2つの背景画 BGO, BG 1のいずれに開ける かを画毎に指示する 3ビッ トのィネーブルビッ トとからなる.
c. 矩形ウィンドウ位置情報
従来通りの矩形のウインドウの開始位置の XY座標と終了位置の XY座標を示 d. 矩形ウインドウ制御ヮード
矩形のウインドウに対する内外ビッ トおよびイネ一ブルからなる.
なお、 上記のスプライ トウインドウ制御ヮー ド、 矩形ウィンドウ位置情報、 矩 形ウインドウ制御ヮードそれぞれは、 複数のスプライ トウインドウ、 複数の矩形 ウィンドウそれぞれについて指定される.
e. 積和制御ヮード
複数のスプライ トウインドウと矩形ウィンドウとの論理和の領域, 論理積の領 域いずれにウイン ドウを開けるかを指示する。
ウインドウ制御部 44は, 上記のコントロールレジスタ 45の内容に応じ、 前 景画 F G、 背景画 BGO, B G 1それぞれについてウィンドウを開ける位置を指 示するスイッチング信号 F G S W, BGO SW. B G 1 S Wを生成して表示制御 部 43に供铪するようになつている。
(7) 背景画生成部 41の構成
図 14は背景画生成部 4 1のブロック図である。 背景画生成部 41は、 背景画 B G 0. B G 1を生成するものであり、 VRAM24から 2フレームそれぞれの パターンネームデータを読み出し、 この 2フレーム分のパターンネームデー夕そ れぞれで VRAM 24からパターンデータを読み出し、 且つ上記パターンデータ の画素を出力することにより 2フレーム分の背景画 B G 0, B G 1の画像データ を得ている。 なお、 背景画 B GO, B G 1それぞれの画像データ (画素数のデ一 タ) の構成は、 図 2に示す形式のうち、 ウィン ドウフラグを含まない 15ビッ ト の構成となっている。
このような背景画生成部 41は、 大きく分けて、 信号処理手段と、 切換手段と、 ァドレス生成手段、 さらに垂直カウンタ 63および垂直カウンタ 64とから構成 される。
(7 - 1) 信号処理手段
信号処理手段は、 画像情報に対し移動変換処理及び Z又は回転変換処理を実行 するのに必要な変換処理信号を出力する手段であり、 一対の次の構成要素から成 る。 信号処理手段の構成要素が一対であるということは、 背景画 B GOが回転バ ラメ一タ Aと回転パラメ一夕 Bという 2つのパラメータを有していることを示す ものである。
(7— 1— 1) パラメータレジスタ 60, 70
パラメータレジスタ 60, 70は、 座標変換処理を行う演算に用いるパラメ一 タを保持するレジスタである。 パラメータレジスタ 60, 70それぞれには、 端 子 46を介してじ?1115より互いに独立した回転マトリクスパラメータ A~F および変換前の視点 (Px , Py , Pz ) . 中心点 (Cx , Cy , Cz ) 、 平行 移動量 (Mx , My ) が書き込まれる。
(7— 1一 2) マトリクス演算回路 66. 76
マトリクス演算回路 66, 76は前記パラメータを用いてマトリクス演算を行 うハー ドウヱァである。 マトリクス演算回路 66, 76それぞれは、 パラメータ レジスタ 60. 70それぞれから供铪される回転マトリクスパラメ一夕 A~Fお よび変換前の視点 (Px , Py , Pz ) , 中心点 (Cx , Cy . Cz ) , 平行移 動量 (Mx , My , Μζ ) を、 前記 (1) 式に代入し、 変換後の視点のうち Χρ , Υρ を算出する。 これと共に回転マトリクスパラメータ A~Fおよび中心点 (C X , Cy , Cz ) , 平行移動量 (Mx , My ) および Sx としての Hカウント値、 S としての Vカウント値、 Sz としての固定値 0を (2) 式に代入し、 変換後 のスクリーン画面のうち Xs , Ys を算出する。
(7— 1一 3) 係数 R AM61 , 71および係数 R AMアクセス回路 62, 72 また、 係数 RAM61, 71それぞれには端子 46を介して C PU 15より互 いに独立した 1画面分の係数 kが害き込まれる。 この係数 kは、 C PU 15で計 算されたものであり、 1画索当たり例えば 16ビッ トであって、 垂直および水平 ブランキング期間などに害き込まれる。 ここで、 C P U 15から係数 R AM61、 71に書き込まれる 1画面分の係数 kは前述の如く移動回転変換の種類によって 必要なデータ量が異なる。 係数 kは C PU 15で必要最小限のデータ量だけ計算 され、 端子 46を介して係数 RAM 61, 71に害き込まれる。 そして C PU 1 5はアクセス開始時のスタートアドレスと Hカウント値. Vカウント値それぞれ に基づく 2つのァドレス增分を係数アクセス回路 62, 72に指定して移動回転 変換の種類に応じて係数 RAM 61, 71のアクセスを制御する。
また、 係数 RAMアクセス回路 62. 72は、 係数 RAM61, 71にァクセ スして係数 kを呼び出すハードゥヱァである。 すなわち係数 RAM61, 71は、 係数 RAM回路 80, 81のアクセスに応じて各画素の係数 kを順次読み出し、 後述する切換回路 77 bに供給する。
さらに、 係数 RAM61に格納されている 1画索当たり 16ビッ 卜の係数の最 上位ビッ ト (MS B) は表示切換ビッ 卜とされており、 係数 RAM71に格钠さ れる 16ビッ 卜の係数の最上位ビッ トは未使用とされる。 これをイメージ的に図 示したものが図 15である。
(7 - 2) 切換手段
切換手段は、 画素毎に設定された係数 kに従って前記変換処理信号を選択的に 切換える手段であり、 切換回路 77 a, 77 bから成る。 切換回路 77 aにはマ トリクス演算回路 66, 76が接続され、 切換回路 77 bには係数 RAM 61, 71が接続されている。
マトリクス演算回路 66, 76それぞれの出力する Xp . Yp , Xs , Ys 力、' 切換回路 77 aに供給される。 また切換回路 77 a, 77 bには係数 RAM61 から読み出された係数 kの最上位ビッ トが供給される。 切換回路 77 aは表示切 換ビッ トとなる MS Bの値が 「1」 のときマトリクス演算回路 66出力を選択し、 Γ0」 のときマトリクス演算回路 76出力を選択する。 切換回路 77 bは MS B の値が 「1」 のとき係数 RAM61出力を選択し、 「◦」 のとき係数 RAM71 出力を選択する。
(7 -3) ァドレス生成手段
アドレス生成手段は、 前記切換手段に接続され、 変換処理信号に基づいて移動 変換処理及び 又は回転変換処理された画像情報に対応する読み出しァドレスを 生成するものであり、 切換回路 77 a, 77 bに接続される積和演算回路 65と、 前記積和演算回路 65に接続される VRAMメモリアクセス回路 78とから成る。 積和演算回路 65は、 マトリクス演算回路 66または 76から供給される Xp ,
Yp , Xs . Ys と、 係数 RAM61または 71から供給される係数 kの下位 1 5ビッ トとより、 水平カウント値に同期して (4) 式の演算を行い、 スクロール 画面の座標 X, Yを算出する。 各積和演算回路 65で得られた得られた座標 X, Yは VRAMアクセス回路 78に供耠される。
VRAMアクセス回路 78は、 上記のスクロール画面の座標 X. Yを背景画の 画素ア ドレスとして VRAM24 a, 24 bをアクセスする。 座標 X, Yそれぞ れの下位 3ビッ ト (セルの大きさが縦横 8ドッ ト X 8ドッ トの場合) がセル内の 画素位置ァドレスとなり、 その 6ビッ トを除いてァドレスとしたものがパタンネ —ムア ドレスとなる。 VRAMアクセス回路 78は VRAM24 a, 24 bから パターンネームデータを読み出し、 このパターンネームデータ内のパターンデー タアドレスと画素位置ァドレスとで VRAM24 a, 24 bからカラ一コードで あるパターンデータを読み出し、 このカラーコードと、 パターンネームデータ内 のプライオリテイ コードとから図 2に示す形式のウイ ンドウを除く画素データを 形成して端子 79から出力する。
(7— 4) 水平カウンタ 63 ·垂直カウンタ 64
水平カウンタ 63は内蔵する発振器で発生したドッ トパルスをカウン卜して H カウント値及び水平同期パルスを得る。 垂直カウンタ 64は上記水平同期パルス をカウントして Vカウント値及び垂直同期パルスを得る。 上記の Hカウント値及 び Vカウント値はマトリクス演算回路 66, 67及び係数 RAMアクセス回路 6 2、 7 2に供耠され、 Hカウント値は積和演算回路 6 5に洪給される。 また水平 および垂直同期パルスは端子 6 2からスプライ トエンジン 2 0に供給される。 なお、 背景画生成部 4 1において、 水平カウンタ 6 3 ·垂直カウンタ 6 4および V R A Mアクセス回路 7 8を除いた構成要素は一体的に形成された 1つの回路ブ ロック 4 1 aとなって構成されている。
I I. 実施例の作用効果
上記のような構成を有する本実施例の作用は以下の通りである。
( 1 ) 背景画の分割表示切換
表示切換信号である係数 kに含まれる切換用ビッ トを画素毎にあらかじめ所定 の値に設定し、 この表示切換信号に従って切換回路 7 7 a , 7 7 bの出力を切り 換え、 異なった移動 ·回転変換処理が行なわれるァドレス生成用データを積和演 算回路 6 5に選択的に出力する。 そのため、 互いに独立した変換処理を行った画 像データを生成することができる。 したがって、 表示切換信号に従ってスクリ一 ン画面 (モニタ画面) を任意に分割し、 この分割した画面それぞれに対して独立 した画像データを供給することができる。 その結果、 スクリーン画面 (モニタ画 面) は、 分割された画面ごとに独立した画像を表示することができる。
以上の作用を背景画 B G Oに則して説明すると、 次のようになる。 背景画 B G 0において、 回転パラメータ A , Bの使用モードは以下の 4つから選択すること ができる。 すなわち、
モー ド 0 :回転パラメータ Aを使用する.
モード 1 :回転パラメータ Bを使用する.
モード 2 :回転パラメータ Aの係数テーブルから読み込まれた係数テーブルに よって画像を切換える.
モード 3 :回転パラメータウインドウによって切換える.
という 4モー ドである。
モード 0 , 1の場台、 それぞれ 1組の回転パラメータテーブルに基づいて得ら れる画像データを生成する。 モード 2 , 3の場合、 回転パラメータ Aによって得 られる画像データと、 回転パラメータ Bによって得られる画像データとを、 1画 面中に表示するような背景画の画像データを生成する。
― ί5 一 モード 2の場合、 係数 R AM61から読み込んだ係数データの最上位ビッ 卜の 値力《 「1」 のときには回転パラメータ Aによって得られる画像データを生成し、 係数データの最上位ビッ トの碴が 「0」 のときには回転パラメータ Bによって得 られる画像データを生成する (図 16参照) 。
モード 2における画像処理の作用効果を、 図 17, 図 18を用いて従来技術と の比蛟においてさらに説明する。 パラメ一夕レジスタ 60および係数 R AM61 に書き込まれるバラメータおよび係数が右回転を行うためのものであり、 パラメ 一夕レジスタ 70および係数 RAM 71に書き込まれるパラメータおよび係数が 左回転を行 όためのものであると設定し、 移動回転変換前の背景画が縱線模様の 長方形 Ρである場合を仮定する (図 17) 。 この場合、 従来の画像処理によると Ρ 1用と Ρ 2用の 2つの VRAMに同じ長方形 Ρの画像データを格納しておき、 P 1と P 2の 2つのスクロール画面座標をそれぞれの移動回転に従って常に計算 し、 得られたスクロール画面座標に従ってそれぞれの画面用の VRAMから P 1 用と P 2用の画像データを読み出して、 プライオリティを比較し合成画 P 1 + P 2を表示している (図 18) 。
このような従来方法によると、 スクロール画面座標の計算を常に 2つ行わねば ならない (すなわち、 P 1の下側に入る P 2の見えない部分のデータも計算する) ために積和演算回路が 2つ必要であり、 さらに画像データを格納する VRAMが 最低 2ケ必要であるという問題があった。
これに対して本実施例では、 係数 kの値に従って切換回路 77 a, 77 bを切 り換えて、 移動回転画像 P 1と移動回転画像 P 2のスクロール画面座標 X, Yを 計算することにより, 画像 P 2の画像 P 1の下に来る部分の座標 X, Yの計算は 行われない (省略される) ので. 積和演算回路 65がーつで済み、 ? 1用と? 2 用のどちらか一つの画像データしか読み出しを行わない。 そのため VRAM24 は物理的に 1個で済む。 また、 ? 1と? 2の元画像 (背景画) の画像情報が同一 の場合、 元画像の画像情報は一つだけ VRAMに用意するだけで済む。 このよう に本実施例によれば、 演算時間の短縮および必要な V R A M個数あるいは V R A M格納エリアの節約ができる。 なお、 図 18は右回転像 P 1の表示部分に対応す る係数 kの表示切換ビッ トを値 「1」 にした場台である。 以上のように、 係数 kの表示切換ビッ 卜の値に従って切換回路 7 7 a , 7 7 b を切り換えることによって実効的に背景画を所望め領域に分割することができ、 それぞれの領域で互いに異なった移動回転処理を行うことが可能である。 この領 域分割表示により限られた V R A M容量を有効活用して (元画像の格納スペース の低滅) 、 多様な背景画を生成することが可能となった。
モー ド 3の場合、 ゥンンドウ制御部 4 4の内外制御ビッ トによって 2つの画像 データを切換える (M S B機能参照) 。 すなわち、 そのウィンドウが透明処理ゥ ィンドウとして使用された場合に、 スクリーン画面を切り取って透明にする部分 には回転パラメータ Bによって得られる画像データを生成し、 それ以外の部分に は回転パラメータ Aによって得られる画像データを生成する (図 1 9参照) 。
このようにモード 3においては、 スプライ トエンジン 2 0のウィン ドウ制御部 4 4によりスプライ トキャラクタの形状を持ったウインドウを生成して、 このゥ ィンドウの内外で 2つの画像データを切換えるという画像データも生成すること が可能である。 この場合、 矩形ウィンドウやラインウィンドウといった形状の単 調なものに比べて、 任意の形状であるスプライ トキャラクタをウィンドウとして 用いることができるため、 分割表示による演出的な効果が高めることが期待でき る。 なお、 左右対照的に 2分割する場合などは、 矩形ウィンドウやラインウィン ドウを利用して、 その内外で簡単に分割表示を行えることはいうまでもない。
( 2 ) 移動回転変換処理における作用効果
本実施例における背景画の動き、 すなわちスクリーン画面の回転変換処理を行 う場合、 通常、 回転変換の中心点 (C x , C y , C z ) 、 座標変換前の視点 (P X , P y , P z ) 、 平行移動量 Mz 、 回転マトリクスパラメータ G , H , I は、 1フレーム中では変化しない。 また、 変換前のスクリーン画面を X Y平面に平行 な画面 (S zが一定) とすれば、 X軸回転のとき kは S y (スクリーン画面の垂 直方向座標値) の関数となり、 スクリーン画面の水平方向では一定となる。 Y軸 回転のとき kは S x (スクリーン画面の水平方向座標値) の関数となり、 スクリ 一ン画面の垂直方向では一定となる。 Z $A回転のとき kは常に一定となる。 本実施例では、 この kを C P U 1 5が計算して 1画面分の係数 kを係数 R A M 6 1 , 7 1に格钠しておき、 マトリクス演算回路 6 6 , 7 6および積和演算回路 6 5が C P U 1 5 1こ指定されたタイ ミ ングで、 パラメータレジスタ 6 0 , 7 0に 害き込まれたパラメータおよび係数 R A M 6 1 , 7 1に書き込まれている係数 k を読み出してハードゥヱァ的に演算を行う。 そのため、 回路規模の大きい積和演 算を C P Uが行っていた従来例と比較すると、 C F5 U 1 5で処理されていた座標 変換計算は大幅に軽減されるので、 C P U 1 5のオーバヘッ ドを大幅に軽滅する ことができる。 そのため、 C P U 1 5が実行する他の処理の制限がゆるやかにな る。 したがって、 C P U 1 5が実行できる処理を高めることが可能となり、 プロ グラム設計の自由度が向上する。
また本実施例では、 スクリーン画面の回転変換処理を行う際に、 係数の M S B を表示切換信号として用いているので、 係数 kそのものに変更を加えて演算を行 うのではなく、 この係数の読み出し方だけを変えるだけに良い。 これにより、 C P U 1 5は演算に必要なパラメータおよび係数を設定するだけで済む。
具体的に説明すると、 スクリーン画面が図 2 0に示すように 回転を行って いる場合 (図面左側) 、 画面の上のラインほど係数の値 (係数データ値) は大き くなり、 スクロール画面が地面を表示する場合などに係数データ値がある値より 大きくなるラインの上から、 地面のスクロール画面とは別である例えば空のスク ロール画面を表示して地平線の感じを出す (図面右側) 。 このような画像表示を さらに画面拿由回転させた場合 (図 2 1 ) 、 係数データの読み出し方は変えている 力、 係数データそのものを変えているわけではない。 以上のように係数データの M S Bによって表示領域の切換を行うことが可能であるため、 スクロール画面が 回転しても、 その表示領域に関していちいち演算処理を行う必要ない。
さらにスクリーン画面の回転変換処理が、 「X軸回転 + Z寒由回転」 や、 「Y蚰 回転 + Z f由回転」 であれば、 kはスクリーン画面の水平方向または垂直方向のど ちらか一方に対して一定となるため、 C P U 1 5は演算の負荷が小さくて済み、 スクリーン画面の回転処理を高速で処理することができ、 ゲームのプレーヤの操 作に対してリアルタイムで反応することが可能となる。
ところで、 X . Y . Z軸の 3 f由回転変換処理を行うに際して、 kがスクリーン 画面の全ドッ トで全て違う値となるので、 このような変換処理を 3 2ビッ ト R I S C'程度の C P U 1 5でリアルタイムで行うことは不可能である。 しかし、 本実 施例では、 図 22に示すように、 X軸回転を行った後、 画面軸回転を行うといつ た処理を簡単に行うことができるため、 これを利用して 3軸回転を行ったように 見える画像の画像データを生成することができる。 図 23は、 このような 「X粬 回転 +画面 W回転」 を行った際の、 スクロール画面、 スクリーン画面および視点 との関係を示した図である。
なお、 スクリーン画面が画面轴回転だけを行う場合であれば、 スクリーン画面 の水平方向または垂直方向のどちらか一方に対して kは一定になることに変わり はない。 したがって、 C PU 15はゲームのプレーヤがキャラクタを画面蚰回転 させるように操作した場合、 本実施例はこの操作にリアルタイムで反応すること ができる。
しかも本実施例では、 係数 kを上記 (4) 式の X, Yのいずれか一方に積算す ることにより、 水平方向又は垂直方向の拡大縮小を行う画像処理も可能となる。 例えば X軸回転を行う場合、 係数 kは画面の水平方向で一定となるので C PU 1 5は画面の垂直方向のライン数分だけの係数 kを計算する。 このとき C PU 15 による係数 RAM61へのアクセスは、 Vカウント値が変化したときにのみ行え ばよいので、 C P U 15は Hカウント値に同期したアドレス增分を 0 H (Hは 1 6進を示す) とし、 Vカウント値に同期したアドレス増分を 2 H (係数が 16ビ ッ トの場合) と指定する。 このように C PU 15の係数 RAM61へのアクセス は常に 1画素毎に行うのではなく、 移動回転変換の種類に応じて変化させること ができ、 C P U 15は必要最小限の係数 kを係数 R AM61に格钠するだけで済 む。
さらに本実施例では、 係数 kが Hカウント値, Vカウント値に従って変化する 全ての場合に対応できるため、 スクリーン画面は平面である必要はなく曲面にす ることも可能であり、 種々の画像処理が可能となる。 例えば、 図 24に示すよう に、 球の公式をパラメータとして利用した画像処理を行ったり、 ゆがんだような 画像処理を行ったりすることができる。
(3) 係数テーブル制御
本実施例では、 表示座標を計算するときに使用する回転パラメータを、 前記回 転パラメータ A, Bとは別に係数テーブルとして、 係数 RAMに持っている。 こ の係数テーブルを、 ライン毎またはドッ ト毎に読み込むことにより多様な画像表 現を行うことができる。 係数テーブルから読み込むデータを何のパラメータとし て使用するかは、 以下の 4つの係数データモードがある。 すなわち、
モード 0 :拡大縮小係数 k X , k yとして使用する.
モード 1 :拡大縮小係数 k Xとして使用する.
モード 2 :拡大縮小係数 k yとして使用する.
モード 3 :回転変換後の視点座標 Χ ρ として使用する.
という 4モードである。
モード 0を指定した場合、 回転パラメータテーブルから読み込まれた k X , k yは無効になり、 係数テーブルから読み込まれたデータを k x , k yとして使用 する。 モー f lを指定した場合、 回転パラメータテーブルから読み込まれた k y だけをそのまま使用し、 k Xは係数テーブルから読み込まれたデータを使用する。 モード 2を指定した場合、 これとは反対に、 回転パラメータテーブルから読み込 まれた k Xだけをそのまま使用し、 k yは係数テーブルから読み込まれたデータ を使用する。 モード 3を指定した場合には、 回転パラメータテーブルから読み込 まれたデータに従って回転変換をした X方向の視点座標 X p は無効になり、 係数 テーブルから読み込まれたデータを X p として使用する。
( 4 ) 係数データの最上位ビッ トによる画像処理のまとめ
係数 kの最上位ビッ トは、 通常、 透明ビッ トとして使用し、 このビッ トが 1で ある係数データを使用したドッ トは強制的に透明ドッ 卜にする。 ただし、 背景画 B G 0で回転パラメータモード 2を選んだ場合は、 回転パラメータ A用の係数テ 一ブルから読み込まれたデータの最上位ビッ トは回転パラメータの切換を行うた めにに用いる。 すなわち、 最上位ビッ トの値が 「1」 のときは回転パラメータ A によって指定される画像データを生成し、 最上位ビッ 卜の値が 「0」 のときは回 転パラメータ Bによって指定される画像データを生成する。
I I I . 他の実施例
本発明は上記実施例に限定されるものではなく、 各構成部材の形状や設置数な どは適宜選択可能であり、 さらに以下のような実施咧も包含する。
①例えば、 上記実施例では係数 R A M 6 1 , 7 1から出力される係数 kの表示切 換ビッ トを用いて切換回路 77 a. 77 bの切換制御を行っているが、 この他に ウイ ンドウ制御部 44から出力されるスィツチング信号 B G 0 SW等を fflいて切 換回路 77 a, 77 bの切換制御を行ってもよい。
②また 2つの移動回転変換のうち一方を X蚰回転や Z $由回転のようにバラメータ Gが 0の変換に制限すれば、 係数 kは垂直方向のライン毎に 1回ずつ係数 RAM から読み出せばよいので、 そのライン毎に読み出した係数データを保持するレジ スタを用意して係数 RAM 61, 71を 1つに共通化することが可能である。
③さらに図 25に示す回路は、 図 19に示した互いに独立の変換を行った複数の 画像を合成する必要がない場合において、 背景画 (例えば P) を移動回転させ新 しい画像 (例えば P 1) を生成する場合に使用する回路例である。 また図 25に 示す回路にて、 背景画 BGO, BG 1をそれぞれ独立して回転させる場合は, パ ラメ一夕レジスタ 60, 係数 RAM61, 積和演算回路 65を 2系統設けること による実現できる。
または、 図 14に示した回路プロック 41 aと同じ構成の回路プロック (図示 せず) を用意し、 回路プロック 41 aと同様に水平カウンタ 63. 垂直カウンタ
64に接繞する。 さらに図示されない回路プロックの積和演算回路の出力部を、 VRAMアクセス回路 78とは別個に用意された VRAMアクセス回路に接続し、 この VRAMアクセス回路に 2つの VRAMを接続して VRAMアクセス回路か ら 2つの VRAMにアクセスするように構成する。 すなわちこの場合では VR A Mは合計 4つとなる。
④図 14に従って説明した以上の回路構成は、 背晕画 B G 0または B G 1の一方 についての回路である。 したがって他方の背景画を生成するためには同様の回路 構成が必要である。
このような回路例を図 26に示す。 これは、 図 14に示した積和演算回路 65 の出力に対し 2つの VRAMアクセス回路 78 a, 78 bを接続し、 V R A Mァ クセス回路 78 a, 78 bそれぞれに VRAM24 a, 24 bを接続するもので ある。 積和演算回路 65の出力はタイムシヱァ的に切り換えられて、 背景画 BG 0のデータを VRAMアクセス回路 78 aに送り、 背景画 B G 1のデータを VR AMアクセス回路 78 bに送る。 VRAMアクセス回路 78bは VRAM78 b をアクセスして、 上記背景画 B G 0の場合と同様に画素データを生成して端子 8 0から出力する。
⑤本発明のゲーム機は、 例えばアーケードゲーム機のように、 ディスプレイ装置 を一体的に備えているようなものであっても良い。
⑥あるいは、 本発明の画像処理装置として、 V R A Mを除いた構成要素を I C化 し、 この I Cだけを製品化することも有効である。 このような実施例によれば、 画像処理装置を装備する様々なタイプの機器に広く供袷することができるように なる。
⑦ I C化する範囲も適宜選択可能であり、 表示画像生成プロック、 前記ウインド ゥ制御プロックおよび前記表示制御プロックが半導体基板に一体に形成されてビ デォプロセッサ I Cとして構成される実施例や、
⑧この実施例のビデオプロセッサ I Cにウィンドウ検出プロックを加えた実施例 などが、 他の実施例として包含される。
⑨本発明の画像処理装置は、 ゲーム機に好適であるが、 これに限らず、 パーソナ ルコンピュータなどに広く応用することが可能であることはいうまでもない。
【産業上の利用可能性】
本発明の画像処理装置によれば、 画像メモリ容量の増加を抑えながら、 ウィン ドウ表示を含めた多様な分割画面の画像データを生成でき、 実用上極めて有用で ある。 また本発明による画像処理装置は多様な形状のウィンドウを用意すること ができるのて表示画面の多様化が図れる。 さらに本発明の画像処理装置によれば、 C P Uでの計算負担を軽減しながら多様な移動回転変換, 拡大縮小変換が可能と なる。

Claims

【請求の範囲】
【請求項 1】 C P U、 画像情報を格納する画像メモリをアクセスして表示 しょうとする画像の画像情報を順次読み出し、 前記 C P Uの制御の下で前記画像 情報に基づいて画像データを生成する画像処理装置において、
前記画像情報に対し変換処理を実行するのに必要な変換処理 ί言号を出力する複 数の信号処理手段と、
前記複数の信号処理手段に接続され、 画素毎にあらかじめ設定された表示切換 信号に従って前記変換処理信号を選択的に切換えてその一つを出力する切換手段 と、
前記切換手段に接続され、 前記変換処理信号に基づいて変換処理された画像情 報に対応する読み出しァドレスを生成するァドレス生成手段とを具備することを 特徴とする画像処理装置。
【請求項 2】 前記信号処理手段のそれぞれは、
移動変換処理及び/又は回転変換処理のための演算に用いるパラメータを保持 するパラメータレジス夕と、
前記パラメータを用いて移動変換処理及び Ζ又は回転変換処理のための演算を 行うマトリクス演算回路と、
所定のデータを係数として格钠する係数 R A Mと、
前記係数 R A Mにアクセスして前記係数を呼び出す係数 R A Mアクセス回路と を含むことを特徴とする請求項 1記載の画像処理装置。
【請求項 3】 前記係数 R A Mの一つから前記切換手段に前記表示切換信号 を供給することを特徴とする請求項 2記載の画像処理装置。
【請求項 4】 前記ァドレス生成手段は、
前記切換手段に接続される積和演算回路と、
前記積和演算回路に接続される画像メモリアクセス回路とを含むことを特徴と する請求項 2または 3記載の画像処理装置。
【請求項 5】 前記画像メモリをアクセスして表示しょうとする画像の画像 情報を順次読み出し、 該画像情報に基づいて画像データを生成する画像処理方法 において、
前記画像情報に対し変換処理を実行するのに必要な変換処理信号を生成し、 画素毎にあらかじめ設定された表示切換信号に従つて前記変換処理信号を選択 的に切換えてその一つを出力し、
出力された前記変換処理信号に基づいて変換処理された画像情報に対する読み 出しァドレスを生成して、
前記表示切換信号に従って前記モニタ画面上に独立した複数の画像を分割して 表示するように、 画像データを生成することを特徴とする画像処理方法。
【請求項 6】 (1) C PU ;
(2) ビデオ RAM;および
(3) 背景画像生成部と、 該背景画像生成部に接続された表示制御部とを含み、 前記ビデオ RAMにアクセスして表示しょうとする画像の画像情報を順次読み出 し、 前記 C PUの制御の下で、 画像データを生成するビデオプロセッサ; を有し、 前記背景画像生成部は以下①〜③の構成を有することを特徴とする電子 装置:
① . 前記画像情報に対し変換処理を実行するのに必要な変換処理信号を出力する 複数の信号処理手段、
② . 前記複数の信号処理手段に接続され、 あらかじめ設定された表示切換信号に 従って前記変換処理信号を選択的に切換えてその一つを出力する切換手段、 ③. 前記切換手段に接続され、 前記変換処理信号に基づいて変換処理された画像 情報に対応する読み出しァドレスを生成するァドレス生成手段。
【請求項 7】 (1) C PU ;
(2) 第 1のビデオプロセッサ;
(3) 前記第 1のビデオプロセッサに接続され画像情報が格納される第 1のビデ ォ RAM ;
(4) 背景画像生成部と、 前記背景画像生成部に接続された表示制御部とを含む 第 2のビデオプロセッサ :
( 5 ) 前記第 2のビデオプロセッザに接続され画像情報が格納される第 2のビデ ォ R AM; を有し、 前記背景画像生成部は以下①〜③の構成を有することを特徴とする電子 装置:
①. 前記 C P Uの制御の下に供給される情報に基づき、 前記画像情報に対し変換 処理を実行するのに必要な変換処理信号を出力する複数の信号処理手段、 ②. 前記複数の信号処理手段に接続され、 あらかじめ設定された表示切換信号に 従って前記変換処理信号を選択的に切換えてその一つを出力する切換手段、 ③. 前記切換手段に接続され、 前記変換処理信号に基づいて変換処理された画像 情報に対応する読み出しァドレスを生成するァドレス生成手段。
【請求項 8】 (1 ) C P U ;
( 2 ) 前記 C P Uに接梡されたバスライン ;
( 3 ) 前記バスラインの信号の流れを制御するバスコントローラ ;
( 4 ) 以下 1) ~ 3)の構成を含む第 1の画像情報処理部;
1)前記バスラインに接続されスプライ ト画像データの生成を制御する第 1のビ テオプロセッサ、
2)前記第 1のビデオプロセッサに接続され前記スプライ ト画像データを生成す るための画像情報が格納される第 1のビデオ R A M、
3)前記スプライ ト画像データを展開するためのフレームバッファ、
( 5 ) 以下 i) . 2)の構成を含む第 2の画像情報処理部;
1)前記バスラインに接続され、 背景画像データを生成する背景画像生成部と、 前記背景画像生成部および前記第 1の画像処理部に接続され前記スプライ ト 画像データおよび前記背景画像データを合成するよう前記画像データを制御 する表示制御部とを含んでいる第 2のビデオプロセッサ、
2)前記第 2のビデオプロセッサに接続され背景画像データを生成するための画 像情報が格納される第 2のビデオ R A M、
を有する電子装置であって、
前記背景画像生成部は以下①〜③の構成を有することを特徴とする電子装置: ①. 前記バスラインに接続され、 前記 C P Uの制御の下に供給される情報に基づ き、 画像情報に対し変換処理を実行するのに必要な変換処理信号を出力する 一対の信号処理手段、 ② . 前記複数の信号処理手段に接続され、 あらかじめ設定された表示切換信号に 従って、 前記変換処理信号を選択的に切換えてその一つを出力する切換手段、
③ . 前記切換手段に接続され、 前記切換手段から出力された前記変換処理信号に 基づいて変換処理された画像情報に対応する読み出しァドレスを生成するァ ドレス生成手段。
【請求項 9】 前記第 1ビデオプロセッサは、 前記フレームバッファに展開さ れたスプライ ト画像データを読み出し、 その画像データの所定のビッ ト値を変更 して前記フレームバッファの同じァドレスに書き込むビッ ト値変更手段を有し、 前記第 2ビデオプロセッサは、
前記フレームバッファに展開されたスプライ ト画像データに含まれる前記所定 のビッ ト値が変更されたか否かを検出するビッ ト値検出部と、
前記変更されたビッ ト値に基づき前記スプライ ド画像データをスプライ ト画像 の形状を有するウインドウ信号として前記表示制御部に送るウィンドウ制御部と を有することを特徴とする請求項 8記載の電子装置。
【請求項 1 0】 (1 ) C P U ;
( 2 ) 前記 C P Uに接統されたバスライン ;
( 3 ) 前記バスラインの信号の流れを制御するバスコントローラ ;
( 4 ) 以下 1) ~4)の構成を含む第 1の画像情報処理部;
1)前記バスラインに接続されスプライ ト画像データの生成を制御する第 1のビ デォプロセッサ、
2)前記第 1のビデオプロセッサに接続され前記スプライ ト画像データを生成す るための画像情報が格納される第 1のビデオ R A M、
3)前記スプライ ト画像データを展開するためのフレームバッファ、
4)前記フレームバッファに展開されたスプライ ト画像データを読み出し、 その データの所定のビッ ト値を変更して前記フレームバッファの同じアドレスに 書き込むビッ ト値変更手段、
( 5 ) 以下 1)〜3)の構成を含む第 2の画像情報処理部;
1)前記バスラインに接続され背景画像データを生成する第 2のビデオプロセッ サ、 2)前記第 2のビデオプロセッサに接続され背景画像データを生成するための画 像情報が格納される第 2のビデオ RAM、
3)前記スプライ ト画像データおよび前記背景画像データを合成するよう前記画 像データを制御する表示制御部;を有する電子装置であって、
さらに、 前記第 2ビデオプロセッサは以下①、 ②の構成を含むことを特徴とす る電子装置:
① . 前記フレームバッファから読み出したスプライ ト画像データに含まれる前記 ビッ ト碴が変更されたか否かを検出するビッ ト値検出部、
② . 前記変更されたビッ ト値に基づき前記スプライ ド画像データをスプライ ト画 像の形伏を有するウインドウ信号として前記表示制御部に送るウィンドウ制 御部。
【請求項 1 1】 回転マトリクスパラメータ A~ I、 座標変換前のスクリ一 ン画面に対する視点を表す (Px , Py , Ρζ ) 、 座標変換における中心点を表 す (Cx , Cy , Cz ) 、 座標変換前のスクリーン画面上の所定の点を表す (S . Sy . Sz ) および平行移動量を表す (Mx ,. My , Μζ ) から、 座標変換 後の視点を表す (Χρ , Υρ , Ζρ ) と座標変換後のスクリーン画面上の所定の 点を表す (Xs . Ys , Zs ) とを次の (1 ) 式および (2) 式で表し、
( 1 )
(2)
Figure imgf000052_0001
上記の (1 ) . (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs -Xp ) + Xp Y = k (Ys 一 Yp ) + Yp
k = - Zp / (Zs - Zp ) - (4)
前記座標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示され る画像の画像データを生成する画像処理装置であって、
1スクリーン画面分の係数 kを画素毎に格納する係数メモリと、
前記 (1) 式及び前記 (2) 式のマトリクス演算を行って各画素の Xp , Yp ,
Xs , Ys を算出するマ ト リ クス演算回路と、
前記各画素の Xp . YP . XS . YS と、 前記係数メモリから読み出した対応 する前記画素の係数 kとから前記 (4) 式の演算を行って座標 X, Yを算出する 積和演算回路とを有することを特徴とする画像処理装置。
【請求項 1 2】 (1 ) C P U ;
(2) ビデオプロセッサ ;
(3) 前記ビデオプロセッサに接続され画像情報が格钠されたビデオ RAM; を有し、 前記ビデオ RAMに格納されている信号をアクセスして表示しようと する画像の画像情報を順次読み出し画像データを生成する電子装置において、 前記ビデオプロセッサは、
1)背景画像生成部と、
2〉前記背景画像生成部に接続された表示制御部とを含み、
前記背景画像生成部が以下①〜④の構成を含むことを特徴とする電子装置: ①. 座標変換変換前の視点を表す (Px . Py , Ρζ ) と、 座標変換における中 心点を表す (Cx , Cy , Cz ) と、 座標変換前のスク リーン画面の所定の 点を表す (Sx , Sy , Sz ) と、 平行移動量を表す (Mx , My , Mz ) から、 座標変換後の視点を表す (Xp , Yp , Zp ) と、 座標変換後のスク リーン画面の所定の点を表す (Xs . Ys , Zs ) とを次式で表し、 c Xp > Α B C Px - Cx Cx rMxヽ
YP D E F Py - Cy + Cy + My ( 1 )
- Z p . 、G H Iリ Czノ Mzノ
Figure imgf000054_0001
上記の式より変換した画面を表示させる背景画面の座標 X, Yを次式で表す とさ、
X = k (Xs - Χρ ) +Χρ
Υ = k (Ys - Υρ ) + Υρ - (4)
前記 C PUから供給される回転マトリクスパラメータ A~Fおよび変換前の 座標データ Px, Py , Pz , Cx , Cy , Cz , Μχ , My , Μζ に関す る信号を格納するパラメータレジスタ、
② . 前記 C PUから供給される係数 kを画素毎に格納する係数メモリ、
③ . 前記バラメータレジスタに接続され、 (1) 式および (2) 式のマトリクス 演算を行って各画索の Xp , YP , Xs , Ys を算出するマトリクス演算回 路、
④ . 前記各画索の Xp, YP , Xs , Ys と前記係数メモリから読み出した対応 する画素の係数 kとから (4) 式の演算を行って座標 X. Yを算出し前記ビ デォ RAMの読み出しァドレスを生成する積和演算回路。
【請求項 13】 画像情報から生成された画像データに基づいて画像を表示 するディスプレイ装置を具備したことを特徴とする請求項 6, 7, 8. 9. 10 または 12記載の電子装置。
【請求項 14】 下記構成を有することを特徴とする画像処理装置:
(1) C PUからの信号を受領するための第 1の端子;
(2) 画像情報が格納されるビデオ RAMを接続するための第 2の接続端子; (3) 画像データを出力するための第 3の端子;
(4) 以下 1)~5)の回路を有する表示画像生成ブロック ;
1)前記第 1の接続端子に接铳され、 C PUから供耠される回転マトリクスパラ メータ A~F、 座標変換前の視点を表す (Px , Py . Pz ) 、 座標変換に. おける中心点を表す (Cx . Cy , Cz ) および平行移動量を表す (Μχ , My , Mz ) に関する信号を格枘するバラメータレジスタ :
2)前記パラメータレジスタに接続され、 次の (1) 式および (2) 式で表され る演算を実行して各画索の XP, Υρ , Xs , Ys を算出するマトリクス演 算回路、
Xp A B C Px - Cx
Yp D E F Py - Cy (1)
Ζρ GHリ Pz — Cz
Figure imgf000055_0001
Sx - Cx
Sy - Cy (2)
Figure imgf000055_0002
Figure imgf000055_0003
但し、 (Sx , Sy . Sz ) は座標変換前のスクリーン画面の所定の点を、 (Xp , Yp , Ζρ ) は座標変換後の視点を、 そして (Xs , Ys , Zs ) は座標変換後のスクリーン画面の所定の点を、 それぞれ表す;
3)前記第 1の端子に接続され、 C PUから供給される係数 kに関する信号を格 納する係数メモリ :
4)前記マ ト リ クス演算回路から供辁される各画素の Xp , Yp , XS , YS お よび前記係数メモリから読み出された各画素に対応する係数 kとから次の
(4) 式、
X = k (Xs - Xp ) + Xp
Y = k (Ys - Yp ) + Yp - (4)
で表される演算を実行し、 表示画像の座標 Xおよび Yを算出する積和演算回 路:
5)前記第 2の端子に接続され、 前記積和演算回路から供給される座標 X, Yを 表示画像の画素ァドレスとしてビデオ RAMをアクセスするためのビデオ R AMアクセス回路;
(5) 前記表示画像生成ブロックに接続され、 生成された画像データを前記第 3 の端子から出力する表示制御プロック。
【請求項 15】 下記構成を有することを特徴とする画像処理装置:
(1) C PUからの信号を受領するための第 1の端子;
(2) 画像情報が格钠されるビデオ RAMを接続するための第 2の接続端子; (3) 画像データを出力するための第 3の端子;
(4) 以下 1〉〜8)の回路を有する表示画像生成ブロック ;
1)前記第 1の接铳端子に接続され、 C PUから供給される回転マトリクスパラ メータ、 座標変換前の視点、 座標変換における中心点および平行移動量を表 す信号を格钠する一対のパラメータレジスタ ;
2)対応する前記パラメータレジスタにそれぞれ接続され、 一対の画像に対する 各画索の座標変換後の視点およびスクリーン画面上の点を演算する一対のマ トリクス演算回路;
3)前記第 1の端子に接続され、 C PUから供給される表示切換信号を含む係数 kを格納する一対の係数メモリ :
4)前記一対のマトリクス演算回路の両方に接続された第 1の切換回路;
5)前記一対の係数メモリの両方に接続された第 2の切換回路;
6)前記第 1および第 2の切換回路に接続され、 前記第 1および第 2の切換回路 から供給される信号に基づき、 表示画像の座標を算出する積和演算回路;
7)前記係数メモリの一方から前記第 1および第 2の切換回路および積和演算回 路に前記表示切換信号を供給し、 前記一対のマトリクス演算回路および前記
—対の係数メモリから前記積和演算回路に供給される信号を切換える切換手 段;
8)前記第 2の端子に接続され、 前記積和演算回路から供給される座標データを 表示画像の画素ァドレスとしてビデオ RAMをアクセスするためのビデオ R AMアクセス回路;
(5) 前記表示画像生成ブロックに接続され、 生成された画像データを前記第 3 の端子から出力する表示制御ブロック。
【請求項 16】 前記表示制御プロックにカラ一 RAMを接続したことを特 徴とする請求項 14または 1 5記載の画像処理装置。
【請求項 1 7】 前記第 1の端子に接続され、 C P Uにより内容の書換えが 可能なコントロールレジスタと、
制御信号を前記表示制御プロックに供耠するウィンドウ制御プロックを有する ことを特徴とする請求項 1 4 , 1 5または 1 6記載の画像処理装置。
【請求項 1 8】 前記表示画像生成ブロック、 前記ウィンドウ制御ブロック および前記表示制御ブロックが半導体基板に一体に形成されたビデオプロセッサ I Cとして構成されることを特徴とする請求項 1 7記載の画像処理装置。
【請求項 1 9】 前景画を入力するための第 4の端子と、
前記第 4の端子と前記ウィンドウ制御プロックとの間に接続されるウィンドウ 検出ブロックとを有し、
前記第 4の端子に入力される信号にはウインドウ制御フラグおよび前景画信号 が含まれ、
前記ウィンドウ検出ブロックに前記ウィンドウ制御フラグが供給され、 前記表示制御プロックには前記前景画信号が供給されることを特徴とする請求 項 1 7記載の画像処理装置。
【請求項 2 0】 前記表示画像生成プロックは前記前景画に対応した背景画 を生成するように構成され、
前記表示制御プロックは前記背景画および前記前景画を合成した画像データを 前記第 4の端子から出力するように構成されていることを特徴とする請求項 1 9 記載の画像処理装置。
【請求項 2 1】 前記表示画像生成ブロック、 前記ウィンドウ制御ブロック、 前記表示制御プロックおよび前記ウインドウ検出プロックが、 半導体基板に一体 に形成されたビデオプロセッサ I Cとして構成されていることを特徴とする請求 項 2 0記載の画像処理装置。
【請求項 2 2】 回転マトリクスパラメータ A ~ I、 座標変換前のスクリー ン画面に対する視点を表す (P x , P y , Ρ ζ ) 、 座標変換における中心点を表 す (C x , C y . C z ) 、 座標変換前のスクリーン画面上の所定の点を表す (S X , S y , S z ) および平行移動量を表す (M x , My , Mz ) から、 座標変換 後の視点を表す (Χ ρ , Υ Ρ , Ζ ρ ) と座標変換後のスクリーン画面上の所定の 点を表す (Xs , Ys , Zs ) とを次の (1) 式および (2) 式で表し、
Figure imgf000058_0001
Figure imgf000058_0002
Figure imgf000058_0003
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs -Xp ) +Xp
Y = k (Ys -YP ) + Yp
k = - Zp / (Zs - Zp ) ··· (4) 予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Χρ , Yp , Xs . Ys とから前記 (4) 式の演算を行って座標 X. Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であつて、
スクリーン画面の X軸を回転軸にした X幸由回転とスクリーン画面の Z$由を回転 軸にした Z軸回転とを連続させる 「X蚰回転 + Z軸回転」 、 および 又はスク リ ン画面の Y軸を回転蚰にした Y軸回転とスクリ ン画面の Z$由を回転 $由にした Z拳由回転とを連続させる 「Y軸回転 + Z軸回転」 という回転変換処理を行うこと を特徴とする画像処理方法。
【請求項 23】 回転マトリクスパラメータ Α I、 座標変換前のスクリーン画 面に対する視点を表す (Px , Py , Pz ) 、 座標変換における中心点を表す
(Cx , Cy , Cz ) 、 座標変換前のスクリーン画面上の所定の点を表す (Sx . Sy . Sz ) および平行移動量を表す (Mx , My , Mz ) から、 座標変換後の 視点を表す (Xp , YP , Zp ) と座標変換後のスクリーン画面上の所定の点を 表す (Xs, Ys, Zs ) とを次の (1 ) 式および (2) 式で表し、
,Α B C
Yp D Ε F ( 1 )
Ζρ GH Iノ
Figure imgf000059_0001
S x 一 Cx
Sy - Cy (2)
Figure imgf000059_0002
Figure imgf000059_0003
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs - Xp ) + Xp
Y = k (Ys - YP ) + Yp
k = - Zp / (Zs - Zp ) ··· (4)
予め画素毎に設定された 1スクリーン画面分の係数 と、 前記各画素の Χρ , Yp , Xs . Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
スクリーン画面の X軸を回転拳もにした Χί由回転とスクリ一ン画面に対する垂直 線である画面軸を回転軸にした画面軸回転とを連続させる 「X f由回転 +画面 $由回 転」 、 および 又はスクリーン画面の Y軸を回転軸にした Y軸回転と前記画面轴 回転とを連続させる 「Y軸回転 +画面軸回転」 という回転変換処理を行うことを 特徴とする画像処理方法。
【請求項 24】 回転マトリクスパラメータ Α〜 I、 座標変換前のスクリーン画 面に対する視点を表す (Px , Py , Pz ) 、 座標変換における中心点を表す
(Cx , Cy , Cz ) 、 座標変換前のスク リーン画面上の所定の点を表す (Sx , Sy , Sz ) および平行移動量を表す (Mx , My , Mz ) から、 座標変換後の 視点を表す (Xp , Yp , Zp ) と座標変換後のスク リーン画面上の所定の点を 表す (Xs . Ys , Zs ) とを次の (1) 式および (2) 式で表し.
Px - Cx
Py - Cy (1)
Figure imgf000060_0002
Figure imgf000060_0003
Figure imgf000060_0001
Figure imgf000060_0004
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X, Yを次式で表し、
X = k (Xs -Xp ) +Xp
Y = k (Ys - YP ) + Yp
k = -Zp / (Zs - Zp ) - (4) 予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Xp .
Yp . Xs . Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
前記係数 kを上記 (4) 式の X, Yのいずれか一方に積算することにより、 前 記スク リーン画面の水平方向又は垂直方向の拡大縮小を行うことを特徴とする画 像処理方法。
【請求項 25】 回転マ ト リ クスパラメータ A~ I、 座標変換前のスク リーン画 面に対する視点を表す (Px , Py , Ρζ ) 、 座標変換における中心点を表す
(Cx , Cy . Cz ) 、 座標変換前のスクリーン画面上の所定の点を表す (Sx , Sy . Sz ) および平行移勤量を表す (Mx , My , Mz ) から、 座標変換後の 視点を表す (Xp , Y , Zp ) と座標変換後のスク リーン画面上の所定の点を 表す (Xs , Ys , Zs ) とを次の (1) 式および (2) 式で表し、 广
.
Figure imgf000061_0001
Figure imgf000061_0003
Figure imgf000061_0002
上記の (1) , (2) 式より変換した画面を表示させるスクロール画面の座標 X. Υを次式で表し、
X = k (Xs -Xp ) +Xp
Y= k (Ys - YP ) + Yp ··· (4)
予め画素毎に設定された 1スクリーン画面分の係数 kと、 前記各画素の Χρ ,
Yp , Xs , Ys とから前記 (4) 式の演算を行って座標 X, Yを算出し、 該座 標 X, Yを用いて画像メモリをアクセスし、 座標変換処理後の表示される画像の 画像データを生成する画像処理方法であって、
前記係数 kを前記スク リーン画面の垂直座標値および水平座標値に従って変化 させることにより前記スクリーン画面が曲面になるように画像データを生成する ことを特徴とする画像処理方法。
PCT/JP1994/001068 1993-06-30 1994-06-30 Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif WO1995001630A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
BR9405492-4A BR9405492A (pt) 1993-06-30 1994-06-30 Sistema de processamento de imagem e seu processo e sistema eletronico que possui um sistema de processamento de imagem.
EP94919834A EP0657867A4 (en) 1993-06-30 1994-06-30 IMAGE PROCESSING DEVICE AND METHOD AND ELECTRONIC DEVICE HAVING SAID DEVICE.
KR1019950700747A KR0169541B1 (ko) 1993-06-30 1994-06-30 화상 처리 장치 및 그 방법 그리고 화상 처리 장치를 갖는 전자 장치
US08/392,732 US5848201A (en) 1993-06-30 1994-06-30 Image processing system and its method and electronic system having an image processing system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP5/162978 1993-06-30
JP16297993 1993-06-30
JP5/162979 1993-06-30
JP16297893 1993-06-30

Publications (1)

Publication Number Publication Date
WO1995001630A1 true WO1995001630A1 (fr) 1995-01-12

Family

ID=26488579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1994/001068 WO1995001630A1 (fr) 1993-06-30 1994-06-30 Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif

Country Status (7)

Country Link
US (2) US5848201A (ja)
EP (1) EP0657867A4 (ja)
KR (1) KR0169541B1 (ja)
CN (1) CN1111464A (ja)
BR (1) BR9405492A (ja)
TW (1) TW349206B (ja)
WO (1) WO1995001630A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630170A (en) * 1994-10-12 1997-05-13 Kabushiki Kaisha Sega Enterprises System and method for determining peripheral's communication mode over row of pins disposed in a socket connector
CN115760600A (zh) * 2022-11-01 2023-03-07 山东云海国创云计算装备产业创新中心有限公司 一种图像处理方法、装置及电子设备和存储介质

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104840A (en) * 1996-11-08 2000-08-15 Ricoh Company, Ltd. Method and system for generating a composite image from partially overlapping adjacent images taken along a plurality of axes
US6256047B1 (en) * 1997-06-04 2001-07-03 Konami Co., Ltd. Method of judging hits and computer-readable storage medium storing game data
US6175663B1 (en) * 1998-02-24 2001-01-16 Paravision Imaging, Inc. Method and apparatus for preserving background continuity in images
US6326978B1 (en) * 1999-04-20 2001-12-04 Steven John Robbins Display method for selectively rotating windows on a computer display
US7230628B1 (en) * 2000-10-05 2007-06-12 Shutterfly, Inc. Previewing a framed image print
US6914618B2 (en) * 2000-11-02 2005-07-05 Sun Microsystems, Inc. Methods and systems for producing A 3-D rotational image from A 2-D image
JP3631702B2 (ja) * 2001-07-19 2005-03-23 エヌイーシーシステムテクノロジー株式会社 描画表示システム
JP2003066938A (ja) * 2001-08-24 2003-03-05 Sharp Corp 表示コントローラ、表示制御方法、および画像表示システム
US7047500B2 (en) * 2001-11-16 2006-05-16 Koninklijke Philips Electronics N.V. Dynamically configurable virtual window manager
US7080326B2 (en) * 2002-07-11 2006-07-18 International Business Machines Corporation Method and system for managing multi—paned windowed environments
US7313764B1 (en) * 2003-03-06 2007-12-25 Apple Inc. Method and apparatus to accelerate scrolling for buffered windows
JP4284595B2 (ja) * 2003-05-13 2009-06-24 株式会社セガ 画像表示装置の制御プログラム
US20050249435A1 (en) * 2004-05-06 2005-11-10 Rai Barinder S Apparatuses and methods for rotating an image
US7202877B2 (en) * 2004-05-21 2007-04-10 Texas Instruments Incorporated Sprite rendering
TWI259972B (en) * 2005-02-05 2006-08-11 Via Tech Inc Apparatus capable of improving the quality of scrolling image with scaling and method of the same
KR101249988B1 (ko) * 2006-01-27 2013-04-01 삼성전자주식회사 사용자의 위치에 따른 영상을 디스플레이하는 장치 및 방법
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
JP4928346B2 (ja) * 2007-05-08 2012-05-09 キヤノン株式会社 画像検索装置および画像検索方法ならびにそのプログラムおよび記憶媒体
DE602008001414D1 (de) * 2007-09-05 2010-07-15 Vidiom Sa Verfahren zum Drehen von Bildern
EP2034445B1 (en) * 2007-09-05 2010-01-20 Vidiom SA Method for drawing geometric shapes
US8760472B2 (en) * 2008-04-01 2014-06-24 Apple Inc. Pixel transforms
DE102008028480B4 (de) * 2008-06-13 2023-01-12 Volkswagen Ag Ansteuerung für eine freiprogrammierbare Anzeigefläche in einem Kraftfahrzeug und Verfahren zum grafischen Darstellen mindestens eines Mess- oder Vorgabewertes
JP5469379B2 (ja) * 2009-05-28 2014-04-16 任天堂株式会社 ゲームプログラム、および、ゲーム装置
JP5723174B2 (ja) * 2011-02-25 2015-05-27 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
US9030482B2 (en) 2012-11-09 2015-05-12 Intel Corporation Hybrid display frame buffer for display subsystem
US9495389B2 (en) * 2013-03-15 2016-11-15 Qualcomm Incorporated Client-server based dynamic search
KR20160006545A (ko) * 2014-07-09 2016-01-19 (주)휴맥스 입력 장치와의 매핑을 통해 분할된 스크린을 개별 제어하기 위한 시스템 및 방법
CN106909275A (zh) * 2017-03-06 2017-06-30 肖博 画面处理方法及装置
CN110231968A (zh) * 2018-03-06 2019-09-13 联发科技股份有限公司 改进图形界面的渲染的方法和处理器
CN110189687B (zh) * 2019-06-04 2020-10-09 深圳市摩西尔电子有限公司 一种对led模组图像进行图像变换的方法和装置
US11947893B1 (en) * 2023-06-20 2024-04-02 Microsoft Technology Licensing, Llc Integrating multiple slides for a presentation using a generated common background

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS623382A (ja) * 1985-06-28 1987-01-09 Toshiba Corp 画像処理装置
JPS6366678A (ja) * 1986-09-08 1988-03-25 Canon Inc 画像処理装置
JPS63101975A (ja) * 1986-10-20 1988-05-06 Canon Inc 画像処理装置
JPS63124178A (ja) * 1986-11-14 1988-05-27 Canon Inc 画像処理装置
JPS6464069A (en) * 1982-07-30 1989-03-09 Honeywell Inc Linear and non-linear positional mapping for input pixel
JPH01106179A (ja) * 1987-10-19 1989-04-24 Nec Corp 3次元形状の投影像表示装置
JPH01120596A (ja) * 1987-11-05 1989-05-12 Nissan Motor Co Ltd 画像表示装置
JPH02110785A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd マスクデータ処理方式
JPH02199580A (ja) * 1989-01-30 1990-08-07 Canon Inc 画像表示装置
JPH0363695A (ja) * 1989-08-01 1991-03-19 Ricoh Co Ltd 画像処理装置
JPH04235592A (ja) * 1991-01-11 1992-08-24 Nec Corp 表示制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4243984A (en) * 1979-03-08 1981-01-06 Texas Instruments Incorporated Video display processor
GB2133257B (en) * 1982-12-22 1987-07-29 Ricoh Kk T v game system
DE3381300D1 (de) * 1983-03-31 1990-04-12 Ibm Abbildungsraumverwaltung und wiedergabe in einem bestimmten teil des bildschirms eines virtuellen mehrfunktionsterminals.
JPS60117376A (ja) * 1983-11-29 1985-06-24 Yokogawa Medical Syst Ltd コンピュ−タ断層撮像装置用画像表示装置
US4874164A (en) * 1986-07-18 1989-10-17 Commodore-Amiga, Inc. Personal computer apparatus for block transfer of bit-mapped image data
US4805117A (en) * 1986-09-26 1989-02-14 International Business Machines Corporation Method for controlling concatenation of transformation matrices in a graphics display system
US5384912A (en) * 1987-10-30 1995-01-24 New Microtime Inc. Real time video image processing system
JP2865751B2 (ja) * 1989-12-15 1999-03-08 株式会社日立製作所 表示画面スクロール方式
US5390295A (en) * 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6464069A (en) * 1982-07-30 1989-03-09 Honeywell Inc Linear and non-linear positional mapping for input pixel
JPS623382A (ja) * 1985-06-28 1987-01-09 Toshiba Corp 画像処理装置
JPS6366678A (ja) * 1986-09-08 1988-03-25 Canon Inc 画像処理装置
JPS63101975A (ja) * 1986-10-20 1988-05-06 Canon Inc 画像処理装置
JPS63124178A (ja) * 1986-11-14 1988-05-27 Canon Inc 画像処理装置
JPH01106179A (ja) * 1987-10-19 1989-04-24 Nec Corp 3次元形状の投影像表示装置
JPH01120596A (ja) * 1987-11-05 1989-05-12 Nissan Motor Co Ltd 画像表示装置
JPH02110785A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd マスクデータ処理方式
JPH02199580A (ja) * 1989-01-30 1990-08-07 Canon Inc 画像表示装置
JPH0363695A (ja) * 1989-08-01 1991-03-19 Ricoh Co Ltd 画像処理装置
JPH04235592A (ja) * 1991-01-11 1992-08-24 Nec Corp 表示制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0657867A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630170A (en) * 1994-10-12 1997-05-13 Kabushiki Kaisha Sega Enterprises System and method for determining peripheral's communication mode over row of pins disposed in a socket connector
CN115760600A (zh) * 2022-11-01 2023-03-07 山东云海国创云计算装备产业创新中心有限公司 一种图像处理方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
KR0169541B1 (ko) 1999-03-20
CN1111464A (zh) 1995-11-08
US5848201A (en) 1998-12-08
KR950703189A (ko) 1995-08-23
US5872872A (en) 1999-02-16
BR9405492A (pt) 1999-09-08
TW349206B (en) 1999-01-01
EP0657867A1 (en) 1995-06-14
EP0657867A4 (en) 1998-08-12

Similar Documents

Publication Publication Date Title
WO1995001630A1 (fr) Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
EP1725989B1 (en) Register based queuing for texture requests
KR100280939B1 (ko) 텔레비젼형 디스플레이를 사용하는 비디오게임시스템
JP3537259B2 (ja) データ処理装置およびデータ処理方法
US7477235B2 (en) Display apparatus having a scroll feature
US20060094512A1 (en) Game console and emulator for the game console
JPH0679063A (ja) ビデオゲームシステム等において使用するための、キャラクタ変換ハードウェアに対する画素を備えたプログラマブルグラフィックスプロセッサおよびそれを応用したビデオゲームカートリッジおよび外部メモリシステム
US7525547B1 (en) Programming multiple chips from a command buffer to process multiple images
JPH0363695A (ja) 画像処理装置
US20230037922A1 (en) Image display method and apparatus, computer device, and storage medium
US5946004A (en) Enhanced function board for use in processing image data and image processing apparatus using the same
US7388581B1 (en) Asynchronous conditional graphics rendering
US6952217B1 (en) Graphics processing unit self-programming
US20130155096A1 (en) Monitor orientation awareness
JPH10295934A (ja) ビデオゲーム装置及びモデルのテクスチャの変化方法
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007234033A (ja) 3次元ゲーム装置及び情報記憶媒体
JPH1063254A (ja) 3dグラフィクスアクセラレータカードおよび同カードを使用したコンピュータシステム
JP2755827B2 (ja) 画像処理装置およびその方法並びに画像処理装置を有する電子装置
WO1995001609A1 (fr) Procede et dispositif de traitment d'images
US20010015727A1 (en) Image data display control method and an image display device thereof
JPH0887267A (ja) 画像処理装置
JP2891542B2 (ja) 画像処理方法及び装置
JP2990642B2 (ja) 画像処理方法及び装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): BR CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

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

WWE Wipo information: entry into national phase

Ref document number: 1994919834

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 08392732

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1994919834

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1994919834

Country of ref document: EP