WO2019150450A1 - 画像処理装置および表示画像生成方法 - Google Patents

画像処理装置および表示画像生成方法 Download PDF

Info

Publication number
WO2019150450A1
WO2019150450A1 PCT/JP2018/003040 JP2018003040W WO2019150450A1 WO 2019150450 A1 WO2019150450 A1 WO 2019150450A1 JP 2018003040 W JP2018003040 W JP 2018003040W WO 2019150450 A1 WO2019150450 A1 WO 2019150450A1
Authority
WO
WIPO (PCT)
Prior art keywords
texture
display image
pixel
reference range
image
Prior art date
Application number
PCT/JP2018/003040
Other languages
English (en)
French (fr)
Inventor
大場 章男
篠原 隆之
和田 信也
彰彦 菅原
隆行 石田
博之 勢川
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
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 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to US16/960,991 priority Critical patent/US11450036B2/en
Priority to JP2019568443A priority patent/JP6849826B2/ja
Priority to PCT/JP2018/003040 priority patent/WO2019150450A1/ja
Publication of WO2019150450A1 publication Critical patent/WO2019150450A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/106Determination of movement vectors or equivalent parameters within the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/16Calculation or use of calculated indices related to luminance levels in display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller

Definitions

  • the present invention relates to an image processing apparatus and a display image generation method for generating a display image using texture data.
  • image display technology has been evolving, and it is easy to enjoy video and acquire information in various forms such as mobile terminals, tablets, TV sets, personal computers, and head mounted displays. It has become.
  • display devices have high resolution, and it is familiar to see high-definition images with a sense of reality.
  • a technology has been proposed that uses the time integration function of human visual stimulation to perceive an image at the resolution before thinning by sequentially displaying images of multiple patterns with thinned pixels when the image moves. (See, for example, cited document 1).
  • the resolution of the display device increases, the area of the object represented by one pixel becomes smaller. Therefore, when the image is moving, the higher the resolution, the easier it is for the pixels representing the same area to move to a position away from the previous frame, which may appear discontinuous or give a sense of discomfort.
  • improving both the resolution and the frame rate causes an increase in the data size of the original image and the load of display processing. If processing such as suppression of high-frequency components in order to eliminate discontinuities is performed uniformly, the display performance of high-definition images inherent in the display device is impaired.
  • the present invention has been made in view of these problems, and an object of the present invention is to provide a technique that can display a display image stably and satisfactorily regardless of the resolution and frame rate of the display device.
  • An aspect of the present invention relates to an image processing apparatus.
  • This image processing apparatus adjusts a reference range by using a speed acquisition unit that acquires a moving speed vector of a texture with respect to a display image plane for each pixel of a display image and a moving speed vector, and then samples a texel value of the reference range.
  • Still another aspect of the present invention relates to a display image generation method.
  • a texture moving speed vector with respect to a display image plane is obtained for each pixel of the display image, and a reference range is adjusted by the moving speed vector, and then a texel value in the reference range is sampled.
  • a display image can be displayed stably and satisfactorily regardless of the resolution and frame rate of the display device.
  • FIG. 10 is a diagram qualitatively illustrating texture resolution switching according to movement speed in a mode in which the movement in the two-dimensional direction is considered and the texture reference range is narrowed with respect to the movement speed in the present embodiment. It is a figure for demonstrating the method of determining two sampling points on the straight line perpendicular
  • FIG. 1 shows a configuration example of an image processing system to which this embodiment can be applied.
  • the image processing system 8 includes an input device 14 operated by a user, an image processing device 10 that generates a display image in response to a user operation, and a display device 16 that displays an image.
  • the image processing apparatus 10, the input apparatus 14, and the display apparatus 16 may be connected by a wired cable or may be connected by a known wireless communication technology such as Bluetooth (registered trademark). Further, the external shapes of these devices are not limited to those shown in the drawings. Furthermore, it is good also as an apparatus which provided two or more apparatuses among these integrally. For example, you may implement
  • the display device 16 may be a head mounted display (hereinafter referred to as “HMD”) that displays an image in front of the user when the user wears the head.
  • the image processing apparatus 10 may be built in the HMD.
  • the input device 14 may be realized by any one of general input devices such as a game controller, a keyboard, a mouse, a joystick, a touch pad provided on the display screen of the display device 16, or a combination thereof.
  • the input device 14 may be a microphone that inputs sound or an imaging device that captures the state of real space.
  • the input device 14 is operated by the user to accept requests for processing start and end, selection of functions and contents, input of various commands, and the like, and supplies them to the image processing device 10 as electrical signals.
  • the image processing apparatus 10 generates display image data in response to a user operation via the input device 14 and outputs the display image data to the display device 16.
  • the type of information shown as the display image is not particularly limited, and may be determined as appropriate depending on the function required by the user, the content, and the like.
  • an image such as an electronic book, a map, a homepage, a photograph, or the like may be an image that does not include movement, or an image that is based on the assumption that there is a movement such as an electronic game screen.
  • An augmented reality image in which a virtual object is superimposed and drawn on an image captured by an imaging device (not shown) may be used.
  • the display device 16 is a general device that outputs an image generated by the image processing device 10.
  • any of a liquid crystal television, an organic EL television, a plasma television, a PC monitor, etc. may be used.
  • the display of a tablet terminal or a portable terminal may be sufficient, HMD, a projector, etc. may be sufficient.
  • FIG. 2 schematically shows the relationship between the image displayed in this embodiment and the pixels of the display device 16.
  • FIG. 4A shows an area of the letter “A” that constitutes a part of the image to be displayed.
  • (B) shows a state in which the character “A” is displayed on the screen of the display device 16.
  • the display target image itself has a data structure in which a color is set for each pixel of a two-dimensional array defined by (u, v) coordinates.
  • the image processing device 10 generates a display image having a resolution corresponding to the display device 16 as shown in (b) based on the display target image generated in advance as described above.
  • the image processing apparatus 10 determines the value of each pixel of the display image shown in (b) using the value of each pixel of the image as shown in (a). That is, the display image is generated in the xy coordinate system independent of the uv coordinate system of the display target image.
  • an image to be displayed as shown in (a) is hereinafter referred to as “texture”.
  • an image representing information to be displayed is prepared as texture data having a resolution higher than the resolution when displayed on the display device 16.
  • the type of image represented as a texture is not limited, and may be an image made up of characters or figures or an image representing the surface of an object.
  • FIG. 3 is a diagram for explaining an example of a technique for determining a pixel value of a display image using texture pixels (texels).
  • FIGS. 6A and 6B schematically show the state of the texture 50 and the display image 52 viewed from the side, and the bold lines shown at equal intervals on each side indicate the pixel boundaries. Yes.
  • a plurality of texels correspond to one pixel of the display image 52.
  • two texels 56 a and 56 b correspond to the pixel 54 of the display image 52.
  • the pixel value C of the pixel 54 of the display image 52 is determined as follows.
  • C (p1 + p2) / 2
  • Such a pixel value determination method is equivalent to reducing the texture according to the resolution of the display device 16.
  • a visual effect on the moving body can be produced by adding the value of the adjacent texel.
  • the range (reference range) for reading texels on the texture is expanded on the axis in the movement direction.
  • a value obtained by weighted averaging texel values with a smaller coefficient from the center toward the end in the enlarged axial direction is set as a pixel value.
  • the texel values are referenced in two dimensions including the depth direction in the figure and used to determine the pixel values.
  • the texture is moved when the surface to which the texture is mapped moves in the space to be displayed, when the region on the texture to be mapped to the surface moves, and when they move simultaneously.
  • texture movement these are referred to as “texture movement”.
  • FIG. 4 schematically shows how a pixel value is determined in consideration of two-dimensional movement.
  • the pixel 62a is moving in the upper right direction indicated by the arrow when the texture 50a is stationary
  • the pixel 62b is moved in the right direction indicated by the arrow
  • the pixel 62c is moved in the upper right direction indicated by the arrow.
  • the pixels in each case are shown in their respective appearances.
  • reference ranges 60a, 60b, and 60c for determining the pixels 62a, 62b, and 62c of the display image 52 are shown. Furthermore, the weighting factor given to each texel in the reference ranges 60a, 60b, 60c is shown in gray scale with the maximum value being black.
  • an area composed of four texels corresponding to the pixel 62a is set as a reference range 60a, and these texel values are averaged with an equal weight.
  • the reference range is extended with the axis in the traveling direction as described above.
  • an area composed of 3 ⁇ 2 texels is set as a reference range 60b.
  • the reference range is extended with the axis in the traveling direction.
  • an area consisting of 7 texels is used as the reference range 60c. At this time, the weights of the first three pixels and the last three pixels are reduced.
  • the pixel value When the pixel value is determined in this way, an image having a smooth change in the direction in which the moving speed is generated is obtained by the pixels 62a, 62b, and 62c of the display image 52 and the adjacent pixels as shown in the figure.
  • the pixel boundaries of the texture 50 and the display image 52 coincide for the sake of clarity, but an appropriate window function (58a, 58b in FIG. 3) or a filter is controlled according to the situation,
  • the pixel value By performing the convolution of the texel value, the pixel value can be determined similarly regardless of the position of the texture 50.
  • FIG. 5 shows an example of the change of the window function with respect to the texture moving speed.
  • the window function shown in the figure is a one-dimensional one whose horizontal axis indicates the position in the horizontal or vertical direction on the texture, but is actually set in two dimensions.
  • four texels in one dimension correspond to one pixel of the display image.
  • 4 texels corresponding to one pixel of the display image are set as a reference range, and a coefficient equal to those values, in this case, 1/4 is multiplied and summed up.
  • the window function is a rectangular window as shown.
  • the texture reference range is expanded in that direction as the velocity V increases.
  • the illustrated example extends the reference range by the amount of texture movement from the previous frame.
  • the coefficient decreases as the distance from the center of the range increases in the expanded axial direction.
  • the ambiguity of the image in the moving direction increases as the speed increases, and the image can be displayed in the same manner as when the moving object is actually viewed. Even if the frame rate is lower than the resolution of the display device, discontinuity between frames in the moving direction can be suppressed.
  • following when the user is following the moving display target (hereinafter referred to as “following”), such ambiguity may be inconvenient.
  • the image is stopped on the retina, so that an image that should originally look like a still image appears blurred.
  • blurring may be hindered and stress the user.
  • the user when the user is following the characters of an electronic book while scrolling, it may be difficult to read or feel uncomfortable because the characters are blurred during the scroll period.
  • the reference range when the reference range is narrowed by the amount of movement from the previous frame, the upper limit of the moving speed to which such control is applied is set to one pixel of the display image per frame (in the example shown, the texture is equivalent to four texels). ) There is no bankruptcy. On the contrary, at a moving speed higher than that, it is considered that the necessity of presenting the details of the image is reduced. Therefore, the reference range may be expanded as the speed increases as shown in (a).
  • the window function shown in (b) and the above-described coefficients are examples. For example, if the window function is defined by a curve as shown in (c), it can be applied regardless of the relationship between the position of the texel and the size of the pixel of the display image.
  • FIG. 6 shows the internal circuit configuration of the image processing apparatus 10.
  • the image processing apparatus 10 includes a CPU (Central Processing Unit) 22, a GPU (Graphics Processing Unit) 24, and a main memory 26. These units are connected to each other via a bus 30.
  • An input / output interface 28 is further connected to the bus 30.
  • the input / output interface 28 outputs data to a peripheral device interface such as USB or IEEE1394, a communication unit 32 including a wired or wireless LAN network interface, a storage unit 34 such as a hard disk drive or a nonvolatile memory, and the display device 16.
  • An output unit 36, an input unit 38 for inputting data from the input device 14, and a recording medium driving unit 40 for driving a removable recording medium such as a magnetic disk, an optical disk or a semiconductor memory are connected.
  • the CPU 22 controls the entire image processing apparatus 10 by executing the operating system stored in the storage unit 34.
  • the CPU 22 also executes various programs read from the removable recording medium and loaded into the main memory 26 or downloaded via the communication unit 32.
  • the GPU 24 has a function of a geometry engine and a function of a rendering processor, performs drawing processing according to a drawing command from the CPU 22, and stores a display image in a frame buffer (not shown).
  • the display image stored in the frame buffer is converted into a video signal and output to the output unit 36.
  • the main memory 26 is composed of RAM (Random Access Memory) and stores programs and data necessary for processing.
  • FIG. 7 shows a functional block configuration of the image processing apparatus 10 in the present embodiment.
  • Each functional block shown in the figure can be realized in hardware by the configuration of the CPU 22, GPU 24, main memory 26, output unit 36, input unit 38, etc. shown in FIG. Is loaded into the main memory 26 and realized by a program that exhibits various functions such as a data input function, a data holding function, an arithmetic function, an image processing function, and a communication function. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.
  • the image processing apparatus 10 includes an input information acquisition unit 72 that acquires input information from the input device 14, a texture region acquisition unit 74 that acquires a region representing a texture in a display image, a speed acquisition unit 76 that acquires a moving speed of the texture, A texture reference unit 78 that refers to a texture within a range according to speed, a texture storage unit 80 that stores texture data, a pixel value determination unit 82 that determines a pixel value of a display image based on the read texel value, and a display image
  • the output part 84 which outputs the data of this to the display apparatus 16 is included.
  • the input information acquisition unit 72 is realized by the input unit 38, the CPU 22, and the like of FIG. 6 and acquires the contents of the user operation from the input device 14.
  • the user operation may be performed by general information processing such as content of information processing to be executed, selection of a display target, start / end of processing, command input for information processing being executed.
  • the input information acquisition unit 72 appropriately supplies the acquired user operation content to the texture region acquisition unit 74 and the speed acquisition unit 76.
  • the texture area acquisition unit 74 is realized by the CPU 22, the main memory 26, and the like in FIG. 6, and determines the configuration of the display image based on the contents of the user operation. At this time, an area representing the texture in the plane of the display image is acquired, and the speed acquisition unit 76 and the texture reference unit 78 are notified in association with the area and the texture identification information.
  • the texture area acquisition unit 74 may also change the configuration of the display image according to a user operation or a preset rule. For example, in a mode in which a game screen is generated as a result of an electronic game, game processing or the like may be performed. As a result of changing the configuration of the display image, when it becomes necessary to move the area representing the texture, the texture area acquisition unit 74 notifies the speed acquisition unit 76 of the information as needed.
  • the speed acquisition unit 76 is realized by the CPU 22, the GPU 24, the main memory 26, and the like in FIG. 6, and acquires the moving speed of the texture with respect to the plane of the display image for each pixel of the display image.
  • the movement of the texture may be performed by a user operation or may be programmed in advance. In either case, when the area representing the texture itself is moved in the plane of the display image, when moving the texture image within the area, both of them may be moved simultaneously. When the area representing the texture itself is moved, the information is acquired from the texture area acquisition unit 74.
  • the texture storage unit 80 includes the storage unit 34 and the main memory 26 shown in FIG. 6, and stores texture data. As described above, in the present embodiment, a texture having a resolution higher than the screen resolution of the display device 16 is prepared. Further, as will be described later, texture data may be prepared at a plurality of resolutions.
  • the convolution shown in FIGS. 3 to 5 can be realized by using a texture in which the area of 1 texel is smaller than the area of 1 pixel at the time of display.
  • a texture having an excessively high resolution is used for the display image, the load of reading out the texel value and the calculation increase. Therefore, in an aspect in which the texture is enlarged and reduced, and the size of the area on the texture corresponding to one pixel of the display image is changed, the resolution can be selected adaptively by preparing texture data of multiple resolutions. Further, as will be described later, a high-resolution texture may be used to reduce the reference range as the moving speed increases.
  • the texture reference unit 78 is realized by the CPU 22, GPU 24, main memory 26, and the like of FIG. 6, determines the texture reference range for each pixel of the display image, and thus the distribution of sampling points, and the corresponding texel value from the texture storage unit 80. Is read. At this time, as described above, the reference range is changed according to the moving speed of the texture with respect to the plane of the display image. As described with reference to FIG. 5, each effect can be obtained when the reference range is widened and narrowed with respect to the increase in speed. Therefore, switching is appropriately performed according to the moving speed and the situation of follow-up vision.
  • the pixel value determination unit 82 is realized by the CPU 22, the GPU 24, the main memory 26, and the like in FIG. 6, and calculates the read texel value to determine the pixel value of the display image. That is, as illustrated in FIG. 5, the texel value is convoluted using a window function determined by the moving speed. For this reason, an expression or a matrix that defines a window function is set for each of the movement speeds divided into a plurality of stages in both cases where the reference range is widened and narrowed along with the movement speed.
  • the output unit 84 is realized by the CPU 22, the GPU 24, the main memory 26, the output unit 36, and the like in FIG. 6, and outputs an image in which the values of all the pixels are determined in this way to the display device 16 as a display image.
  • the output unit 84 acquires the information from the texture region acquisition unit 74, draws the image of the region separately, and outputs the image.
  • FIG. 8 is a flowchart illustrating a processing procedure in which the image processing apparatus 10 according to the present embodiment generates and outputs a display image in consideration of texture movement.
  • the texture region acquisition unit 74 of the image processing apparatus 10 acquires information related to a display target such as content to be displayed and information based on a user operation on the input device 14 (S10).
  • the texture area acquisition unit 74 determines an area (texture area) to be represented by the texture in the display image in accordance with a user operation or a predetermined rule (S12). Subsequently, the speed acquisition unit 76 acquires a speed vector representing the magnitude and direction of the texture moving speed for each pixel in the texture area in accordance with a user operation or a predetermined rule (S14). For example, when scrolling a document or the like, or when the texture region itself moves in parallel, all pixels in the texture region have the same velocity vector.
  • the velocity becomes a radial velocity vector in which the velocity is 0 at the center of scaling, and the velocity increases as the distance from the center increases.
  • the velocity vector distribution changes depending on the angle of the line of sight with respect to the display target surface.
  • the speed acquisition unit 76 specifies the position on the texture corresponding to the target pixel in the current frame in the previous frame, and obtains the texture speed vector for each pixel based on the position difference. Therefore, the speed acquisition unit 76 is provided with a buffer memory that stores data in which the position coordinates of the display image and the position coordinates of the texture in at least the previous frame are associated with each other.
  • the texture reference unit 78 determines an appropriate window function based on the velocity vector (S16), and reads the texel value in the reference range from the texture data stored in the texture storage unit 80 (S18). Prior to this, the texture reference unit 78 may determine whether to widen or narrow the reference range with respect to the increase in the movement speed in light of a predetermined standard such as the movement speed or the situation of follow-up vision. In S18, the texture reference unit 78 may select a texture with an appropriate resolution based on the size of the texel for one pixel of the display image, the movement speed of the texture, and the like.
  • the pixel value determination unit 82 calculates the pixel value of the target pixel by performing convolution using the read texel and the window function (S20). If pixel values have not been determined for all the pixels in the texture area (N in S22), the processing in S14 to S20 is repeated for the next pixel determined in raster order. When all the pixel values of the texture area are determined (Y in S22), the output unit 84 completes the display image by appropriately drawing an image of the area other than the texture area, and the data is displayed on the display device 16 at an appropriate timing. (S24). During a period when it is not necessary to end the display due to a user operation or the like (N in S26), the processes in S12 to S24 are repeated, and all the processes are terminated at the display end timing (Y in S26).
  • FIG. 9 shows an example of a display mode when the display device is an HMD in this embodiment.
  • the user 128 creates a state in which the display target 120 existing in the virtual space is viewed from a free viewpoint.
  • a document or the like is represented using texture data.
  • the texture area acquisition unit 74 projects the four corners of the plane on which the display target 120 is formed on the screen 132 set according to the position of the user 128 and the direction of the line of sight 130 to form a texture area.
  • the texture reference unit 78 reads out the texel value by deriving the position coordinate on the texture corresponding to the pixel position in the texture region.
  • the pixel value determining unit 82 determines the pixel value of the display image using the read texel value.
  • the position of the user 128 and the line of sight 130 are estimated from the position and posture of the head based on the measurement value of the motion sensor provided in the HMD.
  • the position and posture of the head may be derived by photographing a marker of a predetermined shape provided on the outer surface of the HMD with a camera (not shown) and analyzing the image, or a camera is provided on the HMD side, You may derive
  • the user moves the display area of the display object 120 by changing the direction of the face or moving back and forth and right and left while viewing the display image on which the display object 120 is displayed.
  • a gaze point in the display image can be acquired by providing a gaze point detector (not shown) inside the HMD.
  • a technique for detecting a gazing point on a screen by detecting a reflection of infrared rays applied to an eyeball is common. Note that operations such as parallel movement and enlargement / reduction of the display area and movement of the viewpoint with respect to the display target in the virtual space can be realized using the input device 14 even for an image displayed on a flat panel display. This is not a limited purpose.
  • FIG. 10 schematically shows the relationship between the screen 132 corresponding to the display screen of the HMD and the pixels of the texture 134 represented on the display target 120.
  • the figure shows a state in which a virtual space where the user 128 and the display target 120 exist is viewed from the side.
  • the texture 134 moves relative to the screen 132 by moving the head of the user 128.
  • the pixel value is determined from a texel in a narrow range such as 1 texel using the window function b, an image with less blur can be perceived as in the case of a still image. Further, by narrowing the reference range in accordance with the increase in speed, it acts in the direction of canceling blur that tends to occur visually, and it becomes possible to visually recognize an image with a high level of detail stably.
  • FIG. 11 shows a qualitative change of the range in a mode in which the reference range of the texture is narrowed with respect to the moving speed in consideration of the movement in the two-dimensional direction.
  • This figure assumes a situation in which a 4 ⁇ 4 texel block is projected onto one pixel of the display image, and the reference range when the texture is relatively moved by the velocity vector indicated by the arrow is shown in each block. Shown as a circle or ellipse. However, the circle and ellipse represent the reference range of the texture used for determining the pixel value as a concept, and actually, discrete sampling points as indicated by black circles are determined according to the range.
  • texels in an equal range from the center of the block are referred to as indicated by a circle in the block 250a.
  • the texture moves in the horizontal direction with respect to the screen, that is, when the velocity vector (Vx, 0), as shown by an ellipse in blocks 250b and 250c, the larger the velocity Vx, the narrower the reference range in the lateral direction.
  • the vertical reference range becomes narrower as the velocity Vy increases, as indicated by ellipses in blocks 250d and 250e.
  • the texture moves in an oblique direction with respect to the screen, that is, when the velocity vector (Vx, Vy), the velocity (Vx 2 + Vy 2 ) 1/2 , as indicated by an ellipse in blocks 250f, 250g, 250h, 250i.
  • FIG. 12 is a diagram for explaining an example of a calculation method of the reference range when the texture reference range is narrowed with respect to an increase in moving speed.
  • the rectangular area 252 is reduced in the direction of the velocity vector V.
  • the vector du and the vector dv are separated into components in the direction of the velocity vector V and a component perpendicular to the velocity vector V, and in the former, the reduction ratio m (0 ⁇ m Multiply ⁇ 1).
  • a rectangular area 254 having sides of the vectors du ′ and dv ′ obtained by combining with the latter is set as a new reference range.
  • the vector du ′ and the vector dv ′ are obtained as follows.
  • the trigonometric function related to the angle ⁇ is obtained from the inner product of the velocity vector V and the vector du, for example.
  • the reduction ratio m is 0.5, and the reduction direction is indicated by a white arrow. If m is larger than 1, the reference range can be expanded with respect to the speed increase by the same calculation.
  • the pixel value reflecting the reference range can be determined by performing such calculation for each pixel of the display image and determining the sampling points so as to be distributed over the obtained reference range.
  • an area corresponding to one pixel of a display image is defined by a texture plane, and is deformed by a technique as illustrated, and then the position coordinates of the sampling point are determined. After that, a texel value is efficiently read using a conventional pixel shader.
  • FIG. 13 is a diagram for explaining the correspondence between the area on the display image plane and the area on the texture plane.
  • the left side is the texture plane 140 and the right side is the display image plane 142, and the square of the smallest unit divided into a lattice shape represents a pixel.
  • the examples of FIGS. 11 and 12 assume that the surface of the display target on which the texture is mapped (hereinafter referred to as “mapping target surface”) is parallel to the display image plane, but FIG. The state of both is not parallel due to the inclination of.
  • the method shown in FIG. 12 can be applied to derive the reference range for the speed.
  • the mapping target surface 144 is not parallel to the display image plane 142
  • the number of texels corresponding to one pixel varies depending on the position on the display image plane 142.
  • pixel 146 corresponds to approximately one texel
  • pixel 148 corresponds to four or more texels.
  • the areas of the texture image included in the pixels 146 and 148 on the display image plane 142 are approximated by areas 150 and 152 on the texture plane 140.
  • the mapping target surface 144 forms an image obtained by projecting the display target 120 onto the screen 132 in the system shown in FIG. 9, the position on the display image plane 142 where the position coordinates on the mapping target surface 144 are projected is It can be specified using general coordinate transformation.
  • the regions (for example, the regions 150 and 152) on the texture plane 140 corresponding to the respective pixels (for example, the pixels 146 and 148) in the display image plane 142 can be obtained by the inverse transformation, but in this embodiment, partial differentiation is performed. Process efficiency is improved by the linear approximation used.
  • a function f (x, y) for converting coordinates (x, y) on the display image plane 142 to corresponding coordinates (u, v) on the texture plane 140 is defined as follows.
  • the Taylor expansion of the function f1 at a position of ⁇ d in the x-axis direction from a certain position coordinate (x 0 , y 0 ) is as follows.
  • (u 0 , v 0 ) is a position coordinate on the texture plane 140 corresponding to the position coordinate (x 0 , y 0 ) on the display image plane 142.
  • Each element a 11 , a 12 , a 21 , a 22 of the matrix A is defined as follows.
  • a square area of one pixel on the display image plane 142 is represented by a vector t u (a 11 , a 21 ) having each column of the matrix A as a component on the texture plane 140 and t v ( It is associated to a parallelogram region having sides in the direction of a 12, a 22).
  • FIG. 14 illustrates a parallelogram in the texture plane determined using the above conversion formula.
  • This figure shows a region 152 in the texture plane 140 shown in FIG. 13 and a region in the vicinity thereof, and a parallelogram 160 corresponds to the region 152.
  • the position coordinates (u 0 , v 0 ) of the center of the parallelogram 160 correspond to the position coordinates (x 0 , y 0 ) of the center of the original pixel 148 on the display image plane.
  • the functions f1 and f2 in the position coordinates (u 0 , v 0 ) of the center of the parallelogram 160 are denoted as u and v.
  • and Sv
  • constituting the sides of the parallelogram 160 vector t u, t v is the vector du, corresponds to dv shown in FIG.
  • the parallelogram 160 is deformed, and the parallelogram representing the final reference range is determined.
  • the number of sampling texel values is further adjusted according to the size of the final reference range.
  • FIG. 15 schematically shows an example of changes in the number and distribution of sampling points according to the size of the reference range.
  • the figure shows a part of the texture plane, and the minimum unit square divided into a lattice shape represents a texel.
  • the length of the side in the horizontal direction and the vertical direction of the area of one texel is 1.
  • (a) when the larger value of the horizontal side length Su and the vertical side length Sv of the circumscribed rectangle is 1.0 or more and less than 4.0, refer to Sample 4 points in the range. That is, the texel value at the sampling point indicated by the black circle is read and used to determine the pixel value.
  • the pixel value can be calculated by the same calculation regardless of the position or angle of the mapping target surface. Can be determined.
  • the conditions for switching the sampling number and the sampling number are not limited to those shown in the figure. As described above, since the illustrated example is a case where the reference range is a square, sampling points are evenly distributed at the same interval in the horizontal direction and the vertical direction. Including this case, a rule is prepared for determining the distribution of sampling points in an arbitrary parallelogram.
  • FIG. 16 is a diagram for explaining a sampling point determination rule when four points are sampled as in the condition (a) of FIG.
  • the parallelogram in the figure corresponds to the parallelogram 160 shown in FIG. Since the circumscribed rectangle 162 of the parallelogram 160 satisfies the condition (a) in FIG. 15, there are four sampling points.
  • the vertices A, B, C, and D of the parallelogram having the same center as the center coordinates (u 0 , v 0 ) of the parallelogram 160 and reduced to 1/2 in the vertical and horizontal directions are sampled points.
  • the center coordinates (u 0, v 0) is denoted by q
  • the sample points A, B, C, and D, using vector t u, t v is expressed as follows.
  • FIG. 17 is a diagram for explaining a sampling point determination rule when 9 points are sampled as in the condition (b) of FIG.
  • sampling points A ′ to D ′ obtained by the same calculation as the four sampling points A to D shown in FIG. 16 and E, F, G, Let H and 9 points of the center q.
  • the points A ' ⁇ D' is calculated instead of the vector t u in the equation for calculating the A ⁇ D, the coefficient of t v to 1/3. That nine sampling points becomes q, q ⁇ 1/3 ⁇ t u ⁇ 1/3 ⁇ t v, q ⁇ 1/3 ⁇ t u, q ⁇ 1/3 ⁇ t v.
  • FIG. 18 is a diagram for explaining a sampling point determination rule when 16 points are sampled as in the condition (c) of FIG.
  • sampling points A ′′ to D ′′ obtained by the same calculation as the four sampling points A to D shown in FIG. 16 and two adjacent points among the points A ′′ to D ′′ are 1: 2 and 2 : 8 points obtained by internally dividing the 1 and 1 these points in either direction of the vector t u, t v: 2 and 2: 4 which internally divides 1, and 16 points.
  • the points A " ⁇ D" is calculated vector t u in the equation for calculating the A ⁇ D, the coefficient of t v in place of 3/8.
  • 16 sampling points are q ⁇ 3/8 ⁇ t u ⁇ 3/8 ⁇ t v , q ⁇ 3/16 ⁇ t u ⁇ 3/8 ⁇ t v , q ⁇ 3/8 ⁇ t u ⁇ 3 / 16 ⁇ t v, the q ⁇ 3/16 ⁇ t u ⁇ 3/16 ⁇ t v.
  • FIG. 19 schematically shows a pixel relationship when the resolution of the reference texture is switched according to the moving speed of the texture with respect to the screen.
  • This figure shows a state in which the virtual space is viewed from the side as in FIG.
  • a technique of preparing textures at a plurality of resolutions, selecting an appropriate resolution based on the distance between the screen and the display target, and performing mapping is known as a mipmap.
  • such a general technique can be used as a texture data structure or readout circuit.
  • the texture 260a has an appropriate resolution determined from the distance between the screen and the display target. For example, when projected onto the screen, the texture 260a has a resolution such that the size of the pixel area of the display image and the texture is approximately the same. When the user 128 does not move and the texture does not move with respect to the screen, the texture 260a having the appropriate resolution is referred to.
  • the reference destination is switched to the texture 260b having a higher resolution than the texture 260a.
  • an appropriate resolution is temporarily set according to the same rules as for mipmaps, and the resolution of the reference destination is set for each pixel, taking into account the moving speed of the texture due to image scaling. decide.
  • FIG. 20 qualitatively shows texture resolution switching according to the moving speed in a mode in which the reference range of the texture is narrowed with respect to the moving speed in consideration of the movement in the two-dimensional direction.
  • the way of illustration is approximately the same as in FIG. 11, but the number of texels projected to one pixel of the display image is changed by switching the resolution of the texture.
  • a texture having a resolution corresponding to the block 262a composed of one texel for one pixel of the display image is selected.
  • a texture having a resolution of 2 ⁇ 2 times the resolution at rest is selected as shown in blocks 262b, 262d, and 262f.
  • the resolution is 4 ⁇ 4 times the resolution at rest as shown in blocks 262c, 262g, 262e, 262h, 262i. Select the texture.
  • the size of the texel corresponding to one pixel of the display image decreases as the texture moving speed increases. Therefore, only by increasing the resolution with the number of samplings fixed, it is substantially the same as narrowing the reference range according to the speed.
  • the sampling number is fixed at one, the value of one texel on the texture corresponding to the pixel center of the display image is read out, and this is used as the pixel value.
  • the reference range is isotropically narrowed regardless of the direction of the velocity vector.
  • the reference range is narrowed only in the direction of the velocity vector, it is conceivable that two points on a straight line perpendicular to the velocity vector are set as sampling points as indicated by black circles in the figure. As shown in the figure, even if the same two points are sampled regardless of the speed, the reference range in the speed direction is narrowed due to the increased resolution.
  • the sampling points are not limited to two but may be three or more. Alternatively, the number of sampling points may be changed depending on the speed. In either case, the pixel value is determined by averaging the sampled texel values.
  • FIG. 21 is a diagram for explaining a method of determining two sampling points on a straight line perpendicular to the velocity vector.
  • the left side of the lower part of the figure is the texture plane 270 and the right side is the display image plane 272.
  • the squares of the minimum unit both of which are partitioned in a grid pattern, represent pixels.
  • two points on a straight line perpendicular to the velocity vector V are sampled at times t1 and t2 at which the velocity increases and increases from the state where the texture is stationary at the time t0.
  • the reference range can be narrowed in the direction of the speed vector, such as regions 274, 276, and 278.
  • the lower display image plane 272 shows two sampling points 280 determined on a straight line perpendicular to the velocity vector V at a certain time.
  • the unit vector Wxy on the straight line can be expressed on the texture plane 270 as follows.
  • Wuv t u ⁇ Wx + t v ⁇ Wy
  • Wx and Wy are an x component and a y component of the vector Wxy, respectively.
  • Sampling points on the texture plane 270 are obtained by multiplying
  • sampling points A and B are determined as follows.
  • A q +
  • / 2 ⁇ Wuv B q-
  • FIG. 22 schematically shows how three points on a straight line perpendicular to the velocity vector V are sampled. Also in this case, the texture resolution is increased and three points are determined in the direction perpendicular to the velocity vector V at each of the times t1 and t2 when the velocity increases and increases from the state where the texture is stationary at the time t0.
  • the midpoint of the two points described in FIG. 21 is set as an additional sampling point, and sampling points A, B, and C are determined as follows.
  • A q +
  • one or more sampling points on the texture are determined according to the moving speed of the texture, and the pixel values of the display image for one frame are determined by blending the texel values.
  • FIG. 23 schematically shows a sampling state in a mode in which the distribution of sampling points is separated in the time direction.
  • a texture having a predetermined amount and higher resolution than the appropriate resolution for the pixels of the display image is used as a reference destination.
  • Each of the three rectangles shown in the figure indicates a texture area corresponding to one pixel of the display image at each of the times t0, t1, and t2, and each of the rectangles is composed of, for example, a block composed of 2 ⁇ 2 texels.
  • sampling points are 4 points in this way, 4 frames of the display image are set as 1 unit, and 4 texel values are sequentially displayed in 1 unit display time. That is, the texel value at the sampling point A is read out as the pixel value for the first frame of the unit. For the second, third, and fourth frames, the texel values at sampling points B, C, and D are read out and used as pixel values. Then, the user who sees the corresponding pixel in the frame for one unit appears that the colors of the sampling points A, B, C, and D are blended by the time integration function of the visual stimulus. As long as the texture is stopped with respect to the screen, the texel value at the same sampling point is cyclically read and displayed.
  • the reference range is reduced in the direction of the velocity vector, as shown in FIG.
  • the distribution of the sampling points is adjusted so that the reference range becomes narrower as the velocity V increases.
  • the method of changing the reference range with respect to the change in speed may be the same as described with reference to FIGS.
  • the texel values at the four sampling points are sequentially read over four frames, and displayed individually for each frame. To be blended.
  • the same effect as that obtained when blending texels in the reference range corresponding to the speed on the display image of one frame is obtained.
  • the processing load can be suppressed as compared with reading and calculating a plurality of texel values simultaneously.
  • a texel corresponding to one pixel of the display image is selected by referring to a texture having a resolution one step higher than the resolution appropriate for a general mipmap for the pixel region of the display image. It can be stabilized to about 2 ⁇ 2. For this reason, in the illustrated example, four sample points per pixel are used, but the present embodiment is not limited to this.
  • N sample points per pixel are used, N frames are one unit.
  • a plurality of texel values to be read at a time may be used, and these may be blended to form a pixel value for one frame. For example, when the pixel value is determined using two texel values, N texels may be represented by N / 2 frames.
  • the aspect of narrowing the reference range in response to an increase in the moving speed of the texture is to make the details visible when the user follows the image of the display target moving relatively slowly with respect to the screen. It is effective in that it can be done.
  • aliasing or flickering may be a problem. Therefore, it is desirable to adaptively adjust the presence / absence of control of the reference range based on the moving speed and the sensitivity in consideration of the current situation such as the moving speed of the object and the user's line of sight.
  • FIG. 24 is a flowchart showing a procedure for determining a pixel value when the image processing apparatus 10 changes the control mode of the texture reference range according to the situation.
  • This procedure is a pixel-by-pixel process that can be introduced as the process from S14 to S20 in the flowchart shown in FIG.
  • the texture reference unit 78 sequentially acquires measurement results from a gaze point detector that continuously detects the user's gaze point on the screen, and determines whether or not the user is following the display target. It shall have a visual judgment function.
  • the speed acquisition unit 76 monitors whether the texture is moving with respect to the screen (S30), and if it is moving, the speed V is smaller than the threshold value Vth (Y of S30, S32). If not moved (N in S30), the value of the texel corresponding to the pixel is read out without adjusting the reference range (S42). When the speed V is equal to or higher than the threshold value Vth (N in S32), the texel value is read with the reference range expanded (S40, S42).
  • the speed threshold Vth is set to a speed at which, for example, one pixel of the display image is moved between frames. If the speed V is equal to or higher than the threshold value Vth, the texel value may be read without adjusting the reference range.
  • the texture reference unit 78 monitors, for example, the position coordinates obtained by averaging the gazing point over a predetermined time window, and the motion vector of the texture or the image to be displayed itself matches the movement vector of the average value of the gazing point for a predetermined time. At this time, it is determined that the user is following.
  • the texture reference unit 78 adjusts the sensitivity of the reference range with respect to the speed according to the speed vector and the situation of the tracking (S36), and then according to the speed. Then, adjustment for narrowing the reference range is performed (S38).
  • sensitivity refers to the magnitude of change in the reference range with respect to an increase in speed.
  • aliasing may be noticeable in some cases.
  • aliasing tends to be noticeable at the timing when the moving direction of the texture changes with respect to the screen.
  • aliasing tends to occur as a whole in the display on the HMD. A situation in which such aliasing is likely to occur is identified by a prior experiment, and the sensitivity is lowered in the case of the corresponding situation, thereby making it difficult for image quality degradation to occur due to control of the reference range.
  • the texture reference unit 78 determines sampling points so as to reflect the reference range determined as described above, and reads the texel values from the texture data (S42). Then, the pixel value determining unit 82 determines the pixel value of the target pixel using the read texel value as described above.
  • a display target is prepared as texture data, and a display image is generated by mapping it.
  • the texture is moving with respect to the display image plane, the reference range of the texture used for determining the pixel value is changed according to the moving speed of the texture.
  • the reference range When the reference range is expanded in response to an increase in speed, it is possible to express that the display object is moving like a motion blur, and the direction of movement that is likely to occur at a frame rate lower than the appropriate frame rate for the display device resolution. The discontinuity of the image can be suppressed.
  • reducing the reference range it is possible to display a detailed image using the resolution of the display device to the maximum in each frame.
  • the resolution of the reference texture is switched according to the relative speed of the texture. Specifically, by using a texture having a higher resolution as the speed increases, the area of one texel for one pixel of the display image is narrowed, and the reference range can be narrowed by the same number of samplings. Even when the reference range is expanded as the speed increases, the texture with the original appropriate resolution can be used in situations where fine control is not performed, such as when the texture is stationary. The increase can be suppressed.
  • texels at a plurality of sampling points in a reference range controlled by the relative speed of the texture are divided into a plurality of frames and expressed in order.
  • the plurality of frames are viewed by the time integration function of the visual stimulus possessed by a person, they are blended and perceived.
  • the present embodiment is based on adjusting the reference range according to the speed and determining sampling points with a distribution reflecting the reference range, the shape of the reference range before adjustment is not limited. Therefore, the present invention can be applied to any display object having any inclination in the three-dimensional direction with respect to the display image plane. As a result, there is a high affinity with a mode in which a display target is viewed from a free viewpoint. Further, even in an aspect in which character information such as an electronic book or a website is read while scrolling, the character can be clearly seen.
  • the present invention can be used for various information processing devices such as an image display device, an image playback device, a game device, a personal computer, and a mobile terminal, and an information processing system including any one of them.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

入力情報取得部72はユーザ操作を受け付ける。テクスチャ領域取得部74は表示画像のうちテクスチャを用いて表す領域を取得する。速度取得部76は表示画像平面におけるテクスチャの移動速度ベクトルを画素ごとに取得する。テクスチャ参照部78は、移動速度の大きさに応じて、速度ベクトルの軸方向に参照範囲を調整したうえ、テクセル値をサンプリングする。画素値決定部82はテクセル値から画素値を決定する。出力部84は表示画像を出力する。

Description

画像処理装置および表示画像生成方法
 本発明は、テクスチャデータを用いて表示画像を生成する画像処理装置および表示画像生成方法に関する。
 近年、画像表示技術は進化の一途を辿り、携帯端末、タブレット、テレビ受像器、パーソナルコンピュータ、ヘッドマウントディスプレイなど、様々な形態で映像を楽しんだり情報を取得したりすることが容易に行えるようになってきた。特に表示装置は高解像度化が実現され、臨場感のある高精細な画像を見ることが身近なものになっている。また人の視覚刺激の時間積分機能を利用して、像が移動する場合に、画素を間引いた複数パターンの画像を順に表示させることにより、間引く前の解像度で画像を知覚させる技術が提案されている(例えば引用文献1参照)。
特開2006-337771号公報
 表示装置の解像度が高くなると、1画素で表現される対象物のエリアが小さくなる。そのため像が動いている場合、解像度が高くなるほど、同じエリアを表す画素が前のフレームから離間した位置に移動しやすくなり、不連続に見えたり違和感を与えたりすることがある。しかしながら、解像度とフレームレートの双方を向上させることは、元画像のデータサイズや表示処理の負荷の増大を招く。不連続性を解消するために高周波成分を抑えるなどの処理を一律に行うと、表示装置が本来有する高精細画像の表示性能を損なうことになる。
 本発明はこうした課題に鑑みてなされたものであり、その目的は、表示装置の解像度やフレームレートによらず表示画像を安定的かつ良好に見せることのできる技術を提供することにある。
 本発明のある態様は画像処理装置に関する。この画像処理装置は、表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する速度取得部と、移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするテクスチャ参照部と、サンプリングされたテクセル値に基づき画素値を決定する画素値決定部と、画素値が決定された表示画像のデータを出力する出力部と、を備えたことを特徴とする。
 本発明のさらに別の態様は表示画像生成方法に関する。この表示画像生成方法は、表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得するステップと、移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするステップと、サンプリングされたテクセル値に基づき画素値を決定するステップと、画素値が決定された表示画像のデータを出力するステップと、を含むことを特徴とする。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置などの間で変換したものもまた、本発明の態様として有効である。
 本発明によると、表示装置の解像度やフレームレートによらず表示画像を安定的かつ良好に見せることができる。
本実施の形態を適用できる画像処理システムの構成例を示す図である。 本実施の形態で表示させる画像と表示装置の画素の関係を模式的に示す図である。 本実施の形態において、テクセルを用いて表示画像の画素値を決定する手法の例を説明するための図である。 本実施の形態において2次元の移動を考慮したときに画素値を決定する様子を模式的に示す図である。 本実施の形態における、テクスチャの移動速度に対する窓関数の変化の例を示す図である。 本実施の形態の画像処理装置の内部回路構成を示す図である。 本実施の形態における画像処理装置の機能ブロックの構成を示す図である。 本実施の形態における画像処理装置が、テクスチャの移動を加味して表示画像を生成、出力する処理手順を示すフローチャートである。 本実施の形態で表示装置をHMDとした場合の表示態様の例を示す図である。 本実施の形態においてHMDの表示画面に対応するスクリーンと、表示対象に表されるテクスチャの画素の関係を模式的に示す図である。 本実施の形態において2次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における当該範囲の定性的な変化を示す図である。 本実施の形態において、移動速度の増加に対してテクスチャの参照範囲を狭める際の、当該参照範囲の算出手法の一例を説明するための図である。 本実施の形態における表示画像平面上の領域とテクスチャ平面上の領域の対応関係を説明するための図である。 本実施の形態の変換式を用いて決定した、テクスチャ平面における平行四辺形を例示する図である。 本実施の形態における、参照範囲の大きさに応じたサンプリング点の数および分布の変化例を模式的に示す図である。 本実施の形態において4点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。 本実施の形態において9点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。 本実施の形態において16点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。 本実施の形態において、スクリーンに対するテクスチャの移動速度に応じて参照先のテクスチャの解像度を切り替える場合の画素の関係を模式的に示す図である。 本実施の形態において2次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における、移動速度に応じたテクスチャの解像度の切り替えを定性的に示す図である。 本実施の形態において速度ベクトルに垂直な直線上の2点のサンプリング点を決定する手法を説明するための図である。 本実施の形態において速度ベクトルと垂直な直線上の3点をサンプリングする様子を模式的に示す図である。 本実施の形態においてサンプリング点の分布を時間方向に分離する態様におけるサンプリングの様子を模式的に示す図である。 本実施の形態の画像処理装置が、テクスチャの参照範囲の制御の態様を状況に応じて変化させる場合の、画素値の決定手順を示すフローチャートである。
 図1は、本実施の形態を適用できる画像処理システムの構成例を示す。画像処理システム8は、ユーザが操作する入力装置14、ユーザ操作などに応じて表示画像を生成する画像処理装置10、画像を表示する表示装置16を含む。
 画像処理装置10と、入力装置14、表示装置16とは、有線ケーブルで接続されても、Bluetooth(登録商標)など既知の無線通信技術により接続されてもよい。またこれらの装置の外観形状は図示するものに限らない。さらにこれらのうち2つ以上の装置を一体的に備えた装置としてもよい。例えば画像処理装置10、入力装置14、表示装置16を、それらを備えた携帯端末などで実現してもよい。また表示装置16は、ユーザが頭部に装着することにより眼前に画像を表示するヘッドマウントディスプレイ(以下、「HMD」と表記する)でもよい。画像処理装置10はHMDに内蔵してもよい。
 入力装置14は、ゲームコントローラ、キーボード、マウス、ジョイスティック、表示装置16の表示画面上に設けたタッチパッドなど、一般的な入力装置のいずれか、またはそれらの組み合わせによって実現してよい。あるいは入力装置14は、音声を入力するマイクロフォンや実空間の様子を撮影する撮像装置であってもよい。入力装置14は、ユーザが操作することにより、処理の開始、終了、機能やコンテンツの選択、各種コマンド入力などの要求を受け付け、画像処理装置10に電気信号として供給する。
 画像処理装置10は、入力装置14を介したユーザ操作などに応じて表示画像のデータを生成し、表示装置16に出力する。ここで表示画像として示される情報の種類は特に限定されず、ユーザが求める機能やコンテンツの内容などによって適宜決定してよい。例えば電子書籍、地図、ホームページ、写真など、情報自体には動きを含まない画像でもよいし、電子ゲームの画面など動きがあることを前提とした画像でもよい。図示しない撮像装置で撮影した画像に仮想オブジェクトを重畳描画した拡張現実の画像などでもよい。
 表示装置16は、画像処理装置10が生成した画像を出力する一般的な装置である。例えば液晶テレビ、有機ELテレビ、プラズマテレビ、PCモニターなどのいずれでもよい。あるいはタブレット端末や携帯端末のディスプレイでもよいし、HMDやプロジェクタなどでもよい。
 図2は、本実施の形態で表示させる画像と表示装置16の画素の関係を模式的に示している。同図(a)は表示対象の画像の一部を構成する文字「A」の領域を示している。(b)は文字「A」を表示装置16の画面に表示させた状態を示している。(a)に示すように、表示対象の画像はそれ自体が(u,v)座標で定義される2次元配列の画素ごとに色が設定されてなるデータ構造を有する。
 画像処理装置10は、このようにあらかじめ生成された表示対象の画像に基づき、(b)に示すように表示装置16に対応する解像度を有する表示画像を生成する。画像処理装置10は、(a)に示すような画像の各画素の値を用いて(b)に示す表示画像の各画素の値を決定する。つまり表示対象の画像のuv座標系とは独立したxy座標系で表示画像を生成する。
 この処理は、コンピュータグラフィクスにおけるテクスチャマッピングに相当するため、以後(a)に示すような表示対象の画像を「テクスチャ」と呼ぶ。本実施の形態では表示対象の情報を表す画像を、表示装置16に表示させたときの解像度より高い解像度のテクスチャデータとして準備しておく。上述のとおりテクスチャとして表される画像の種類は限定されず、文字や図形からなる画像であっても物体表面を表す画像であってもよい。
 図3は、テクスチャの画素(テクセル)を用いて表示画像の画素値を決定する手法の例を説明するための図である。同図(a)、(b)はどちらも、テクスチャ50と表示画像52を側面から見た状態を模式的に示しており、各面において等間隔で示された太線が画素の境界を示している。テクスチャ50のテクセルが表示画像52の画素より細かい場合、表示画像52の1画素に複数のテクセルが対応する。図示する例では2つのテクセル56a、56bが、表示画像52の画素54に対応している。
 ここでテクセル56a、56bの値をp1およびp2とすると、表示画像52の画素54の画素値Cを次のように決定する。
 C=(p1+p2)/2
ただし上記は1次元での画素の対応のみを考えており、図の奥行き方向を含めた2次元で、2×2=4個のテクセルが画素54に対応する場合、画素値は当該4個のテクセル値の平均値とする。
 このような画素値の決定手法は、テクスチャを表示装置16の解像度に応じて縮小していることと同等である。一方、テクスチャ50が表示装置16の画面に対し移動している場合は、隣接したテクセルの値を加味することにより、移動体に対する視覚的な効果を演出できる。例えば(b)に黒矢印で示すように、表示画像52の面に対しテクスチャ50が図の下方向に移動している場合は、その時点で画素54に対応しているテクセル56a、56bの値p1、p2に加え、次に対応する領域に入ってくるテクセル156cの値p0を含めて、画素54の画素値Cを次のように決定する。
 C=p0/4+p1/2+p2/4
 すなわちテクスチャ50が移動する場合、テクスチャ上でテクセルを読み出す範囲(参照範囲)を、移動方向の軸において拡大する。また拡大した軸方向で中心から端に向かうほど小さい係数で、テクセル値を加重平均した値を画素値とする。このような処理により、移動方向において像が多少ぼけ、実際に動いている物を見るときと同様の画像表現を実現できる。また表示対象の移動に対しフレーム間での像の変化が滑らかになるため、表示装置の解像度に対する適正なフレームレートより低いフレームレートでも、画像を良好に見せることができる。
 この場合も実際には、図の奥行き方向を含めた2次元でテクセル値を参照し画素値の決定に用いる。なおテクスチャの移動は、表示対象の空間でテクスチャをマッピングした面自体が移動する場合、当該面にマッピングするテクスチャ上の領域が移動する場合、および、それらが同時に移動する場合に生じる。以後、それらを含めて「テクスチャの移動」と呼ぶ。
 図4は、2次元の移動を考慮したときに画素値を決定する様子を模式的に示している。ここでは下段に示す表示画像52の1画素が、上段に示すテクスチャのうち2×2=4個のテクセルに対応するとする。表示画像52において画素62aはテクスチャ50aが静止している場合、画素62bはテクスチャ50bが矢印で示す右方向に移動している場合、画素62cはテクスチャ50cが矢印で示す右上方向に移動している場合の画素を、それぞれの表れ方で示している。
 またテクスチャ50a、50b、50cにおいて、表示画像52の画素62a、62b、62cを決定するための参照範囲60a、60b、60cを示している。さらに参照範囲60a、60b、60cにおいて各テクセルに与える重み係数を、最大値を黒とするグレースケールで示している。まずテクスチャ50aが静止している場合、画素62aに対応する4個のテクセルからなる領域を参照範囲60aとし、それらのテクセル値を、均等な重みで平均する。
 テクスチャ50bが右方向に移動している場合、上述したように進行方向の軸で参照範囲を拡張する。図示する例では2個から3個へ拡張した結果、3×2個のテクセルからなる領域を参照範囲60bとしている。このとき進行方向で先頭の2画素と後尾の2画素の重みを軽くする。テクスチャ50cが右上方向に移動している場合も同様に、進行方向の軸で参照範囲を拡張する。図示する例では先頭(または後尾)の3画素を増やした結果、7テクセルからなる領域を参照範囲60cとしている。このとき先頭の3画素と後尾の3画素の重みを軽くする。
 このように画素値を決定すると、表示画像52の画素62a、62b、62cとその隣接する画素により、図示するように移動速度が生じている方向で変化が滑らかな像が得られる。なおこれまで示した例では、わかりやすさのためにテクスチャ50と表示画像52の画素境界が一致していたが、適切な窓関数(図3の58a、58b)またはフィルタを状況に応じて制御し、テクセル値の畳み込みを行うことにより、テクスチャ50の位置によらず同様に画素値を決定できる。
 図5はテクスチャの移動速度に対する窓関数の変化の例を示している。なお同図に示す窓関数は、横軸をテクスチャ上の横または縦方向の位置を示す1次元のものであるが、実際は2次元で設定する。またこの例では1次元で4個のテクセルが表示画像の1画素に対応するとしている。(a)、(b)、(c)の最上段はいずれも、テクスチャが静止している、すなわち速度V=0のときの窓関数を示している。この場合、図3の(a)に示したように、表示画像の1画素に対応する4テクセルを参照範囲とし、それらの値に等しい係数、この場合は1/4を乗算して合計することにより、表示画像の画素値を算出する。したがって窓関数は図示するような矩形窓となる。
 (a)の2段目、3段目、4段目はそれぞれ、テクスチャが速度V=V、2V、3Vで移動するときの窓関数を例示している。定性的には図示するように、速度Vが大きいほどテクスチャの参照範囲を、その方向に拡張する。ここで1フレームあたり1テクセル移動する速度を速度Vとすると、図示する例は、前のフレームからのテクスチャの移動分だけ参照範囲を広げていることになる。また上述したように、拡張した軸方向で範囲の中心から離れるほど係数を小さくする。
 その結果、例えば速度Vのときは参照範囲の5テクセルに対し、
[1/8,1/4,1/4,1/4,1/8]
なる係数が与えられる。速度2Vのときは参照範囲の6テクセルに対し、
[1/16,3/16,1/4,1/4,3/16,1/16]
なる係数が与えられる。速度3Vのときは参照範囲の7テクセルに対し、
[1/24,1/8,5/24,1/4,5/24,1/8,1/24]
なる係数が与えられる。
 (a)に示すような窓関数によれば、速度の増加に応じて移動方向の像の曖昧さが増し、実際に移動体を見たときと同様の様子で画像を表示させることができる。また表示装置の解像度に対しフレームレートが低くても、移動方向におけるフレーム間での不連続性が抑えられる。
 一方、移動している表示対象をユーザが目で追っている(以後、「追従視している」と呼ぶ)場合、そのような曖昧さがかえって不都合となる場合がある。すなわち追従視が可能な移動速度では、網膜上では像が停止しているため、本来は静止画と同様に見えるはずの像がぼやけて見えることになる。像の詳細を見たいという意思をもって追従視している場合は、そのようなぼやけが妨げとなりユーザにストレスを与え得る。例えばスクロールさせながら電子書籍の文字を目で追っているときなどは、スクロール期間で文字がぼやけることで読みづらさや違和感を与えることが考えられる。
 そこで図の(b)、(c)に示すように、テクスチャの移動速度の増加に対しテクスチャの参照範囲を狭めることも考えられる。例えば速度Vのときは参照範囲を移動方向に1テクセル分狭め、残りの3テクセルに対し、
[1/3,1/3,1/3]
なる係数を与える。速度2Vのときは参照範囲をさらに1テクセル分狭め、残りの2テクセルに対し、
[1/2,1/2]
なる係数を与える。速度3Vのときは参照範囲をさらに1テクセル分狭め、残りの1テクセルに対し、
[1]
なる係数を与える。すなわち速度3Vのときは参照先の1つのテクセル値をそのまま画素値とする。
 人には、十から数百ミリ秒オーダーの視覚的刺激を記憶し加算して認識する視覚的な特性がある。そのため追従視により注視位置が移動すると、移動経路にある画素の色が加算されて認識される。そのため移動速度の増加に応じてテクスチャの参照範囲をあえて狭め、各フレームの表示画像において空間的な合成の程度を抑えておくことにより、よりクリアな像を知覚できる。またこのような制御によれば、テクスチャの読み出しや演算の負荷を軽減することができる。
 図示するように前のフレームからの移動分だけ参照範囲を狭める場合、そのような制御を適用する移動速度の上限を、1フレームあたり表示画像の1画素分(図示する例ではテクスチャの4テクセル分)とすれば破綻がない。逆にそれ以上の移動速度では、像の詳細を提示する必要性が小さくなると考えられるため、(a)のように参照範囲を速度の増加とともに広げるようにしてもよい。なお(b)で示した窓関数や上述した係数は例示である。例えば窓関数を(c)のように曲線で定義すれば、テクセルの位置や表示画像の画素とのサイズの関係などによらず適用できる。
 図6は画像処理装置10の内部回路構成を示している。画像処理装置10は、CPU(Central Processing Unit)22、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置16へデータを出力する出力部36、入力装置14からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
 CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することにより画像処理装置10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
 図7は、本実施の形態における画像処理装置10の機能ブロックの構成を示している。同図に示す各機能ブロックは、ハードウェア的には、図6に示したCPU22、GPU24、メインメモリ26、出力部36、入力部38などの構成で実現でき、ソフトウェア的には、記録媒体などからメインメモリ26にロードした、データ入力機能、データ保持機能、演算機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
 画像処理装置10は、入力装置14からの入力情報を取得する入力情報取得部72、表示画像においてテクスチャを表す領域を取得するテクスチャ領域取得部74、テクスチャの移動速度を取得する速度取得部76、速度に応じた範囲でテクスチャを参照するテクスチャ参照部78、テクスチャのデータを格納するテクスチャ記憶部80、読み出されたテクセル値に基づき表示画像の画素値を決定する画素値決定部82、表示画像のデータを表示装置16に出力する出力部84を含む。
 入力情報取得部72は図6の入力部38、CPU22などで実現され、ユーザ操作の内容を入力装置14から取得する。ここでユーザ操作とは、実行する情報処理の内容や表示対象の選択、処理の開始/終了、実行している情報処理に対するコマンド入力など、一般的な情報処理でなされるものでよい。入力情報取得部72は取得したユーザ操作の内容を、テクスチャ領域取得部74と速度取得部76に適宜供給する。
 テクスチャ領域取得部74は図6のCPU22、メインメモリ26などで実現され、ユーザ操作の内容に基づき表示画像の構成を決定する。このとき、表示画像の平面においてテクスチャを表す領域を取得するとともに、当該領域とテクスチャの識別情報とを対応づけて、速度取得部76およびテクスチャ参照部78に通知する。テクスチャを表す領域の取得手法は、表示する画像の内容や情報の種類によって様々である。例えば単に、あらかじめ設定された表示画像の平面上の領域に係るデータをメインメモリ26などから読み出すのみでもよいし、仮想世界に対する視点に基づきスクリーンを設定し、テクスチャを用いて表すべき仮想オブジェクトを射影することにより求めてもよい。
 テクスチャ領域取得部74はまた、ユーザ操作やあらかじめ設定された規則に従い、表示画像の構成を変化させてもよい。例えば電子ゲームの結果としてゲーム画面を生成する態様においては、ゲームの処理なども行ってよい。表示画像の構成を変化させた結果、テクスチャを表す領域を移動させる必要が生じた場合、テクスチャ領域取得部74はその情報を速度取得部76に随時通知する。
 速度取得部76は図6のCPU22、GPU24、メインメモリ26などで実現され、表示画像の平面に対するテクスチャの移動速度を、表示画像の画素ごとに取得する。テクスチャの移動は、ユーザ操作によるものでもよいし、あらかじめプログラムされたものでもよい。いずれの場合も、表示画像の平面においてテクスチャを表す領域自体を移動させる場合、領域内でテクスチャの像を移動させる場合、その双方を同時に移動させる場合がある。テクスチャを表す領域自体を移動させる場合、その情報はテクスチャ領域取得部74から取得する。
 領域内でテクスチャの像を移動させる場合、例えばスクロールや拡大縮小を実施する場合は、入力情報取得部72からそれらのユーザ操作の内容を取得したり、あらかじめメインメモリ26などに格納された設定を読み出したりする。テクスチャ記憶部80は図6の記憶部34、メインメモリ26などで構成され、テクスチャのデータを格納する。上述したように、本実施の形態では表示装置16の画面の解像度より高い解像度のテクスチャを準備する。また後述するように、テクスチャデータを複数の解像度で準備してもよい。
 1テクセルの領域が、表示時の1画素の領域より小さいテクスチャを用いることにより、図3から5に示した畳み込みを実現できる。一方、表示画像に対し過度に高い解像度のテクスチャを用いると、テクセル値の読み出しや演算の負荷が増加する。したがってテクスチャが拡縮され、表示画像の1画素に対応するテクスチャ上の領域のサイズが変化する態様においては、複数解像度のテクスチャデータを準備することにより、解像度を適応的に選択できるようにする。また後述するように、移動速度の増加に伴う参照範囲の縮小に、高解像度のテクスチャを利用してもよい。
 テクスチャ参照部78は図6のCPU22、GPU24、メインメモリ26などで実現され、表示画像の画素ごとにテクスチャの参照範囲、ひいてはサンプリング点の分布を決定し、テクスチャ記憶部80から該当するテクセルの値を読み出す。この際、上述のとおり表示画像の平面に対するテクスチャの移動速度に応じて参照範囲を変化させる。図5で説明したように、速度の増加に対し参照範囲を広げる場合と狭める場合でそれぞれの効果が得られるため、移動速度や追従視の状況に応じて適切に切り替える。
 画素値決定部82は図6のCPU22、GPU24、メインメモリ26などで実現され、読み出したテクセル値を演算し、表示画像の画素値を決定する。すなわち図5で例示したように、移動速度によって定まる窓関数を用いてテクセル値を畳み込む。そのため、移動速度に伴い参照範囲を広げる場合と狭める場合の双方で、移動速度を複数段階に分けたそれぞれに対し窓関数を定義する式や行列を設定しておく。
 出力部84は図6のCPU22、GPU24、メインメモリ26、出力部36などで実現され、そのようにして全画素の値が決定された画像を表示画像として表示装置16に出力する。テクスチャで表す領域以外の領域が表示画像に含まれる場合、出力部84は、その情報をテクスチャ領域取得部74から取得し、当該領域の画像を別途描画してから出力する。
 次に、これまで述べた構成によって実現される画像処理装置10の動作を説明する。図8は、本実施の形態における画像処理装置10がテクスチャの移動を加味して表示画像を生成、出力する処理手順を示すフローチャートである。まず画像処理装置10のテクスチャ領域取得部74は、入力装置14に対するユーザ操作に基づき、表示するコンテンツや情報など表示対象に係る情報を取得する(S10)。
 次にテクスチャ領域取得部74は、ユーザ操作あるいはあらかじめ定められた規則に従い、表示画像においてテクスチャにより表すべき領域(テクスチャ領域)を決定する(S12)。続いて速度取得部76は、ユーザ操作あるいはあらかじめ定められた規則に従い、テクスチャ領域の画素ごとに、テクスチャの移動速度の大きさと方向を表す速度ベクトルを取得する(S14)。例えば文書などをスクロールさせる場合や、テクスチャ領域自体が平行移動する場合は、テクスチャ領域内の全ての画素で同じ速度ベクトルとなる。
 表示倍率を変化させる場合は、拡縮の中心では速度が0、中心から離れるほど速度が大きくなる放射状の速度ベクトルとなる。また自由視点から表示対象を見る態様においては、表示対象の面に対する視線の角度によって速度ベクトルの分布が変化する。速度取得部76は例えば、現フレームにおける対象画素に対応するテクスチャ上の位置が、1つ前のフレームにおいてどの位置にあったかを特定し、位置の差分に基づきテクスチャの速度ベクトルを画素ごとに求める。そのため速度取得部76には、少なくとも1つ前のフレームにおける表示画像の位置座標とテクスチャの位置座標とを対応づけたデータを格納するバッファメモリを設ける。
 次にテクスチャ参照部78は、速度ベクトルに基づき適切な窓関数を決定し(S16)、テクスチャ記憶部80に格納されたテクスチャデータのうち、参照範囲にあるテクセル値を読み出す(S18)。これに先立ちテクスチャ参照部78は、移動速度の増加に対し参照範囲を広げるか狭めるかを、移動速度や追従視の状況など所定の基準に照らして決定してもよい。またS18においてテクスチャ参照部78は、表示画像の1画素に対するテクセルの大きさや、テクスチャの移動速度などに基づき、適切な解像度のテクスチャを選択してもよい。
 次に画素値決定部82は、読み出されたテクセルと窓関数を用いて畳み込みを行うことにより対象画素の画素値を算出する(S20)。テクスチャ領域の全画素について画素値が決定していなければ(S22のN)、ラスタ順などで定まる次の画素に対しS14~S20の処理を繰り返す。テクスチャ領域の全画素値が決定したら(S22のY)、出力部84は、テクスチャ領域以外の領域の画像を適宜描画するなどして表示画像を完成させ、そのデータを表示装置16に適切なタイミングで出力する(S24)。ユーザ操作などにより表示を終了させる必要がない期間は(S26のN)、S12~S24の処理を繰り返し、表示終了のタイミングで全処理を終了させる(S26のY)。
 次に、これまで述べた構成を、表示装置16をHMDとし、表示対象を自由な視点から見る態様に適用したときの実施の形態について詳述する。図9は、本実施の形態で表示装置をHMDとした場合の表示態様の例を示している。この例ではユーザ128が、仮想空間に存在する表示対象120を自由視点から見る状態をつくり出す。表示対象120の像には、文書などをテクスチャデータを用いて表す。
 このときテクスチャ領域取得部74は、ユーザ128の位置や視線130の方向に応じて設定したスクリーン132に、表示対象120を形成する平面の4隅を射影してテクスチャ領域を形成する。そしてテクスチャ参照部78は、当該テクスチャ領域内の画素位置に対応する、テクスチャ上の位置座標を導出することで、テクセル値を読み出す。画素値決定部82は、読み出されたテクセル値を用いて表示画像の画素値を決定する。
 HMDを導入する場合、ユーザ128の位置や視線130は、HMDの内部に設けたモーションセンサの計測値に基づく頭部の位置や姿勢から推定される。頭部の位置や姿勢はこのほか、HMDの外面に設けた所定形状のマーカーを、図示しないカメラで撮影し、その像を解析することによって導出してもよいし、HMD側にカメラを設け、その撮影画像から環境地図の形成とともに導出してもよい。
 HMDを装着したユーザの位置や視線を特定する技術としては様々なものが実用化されており、本実施の形態ではそのいずれを適用してもよい。この際、外部のセンサ値や撮影画像のデータは、所定のレートで入力情報取得部72が取得し、テクスチャ領域取得部74が解析を行う。
 ユーザは、表示対象120が表された表示画像を見ながら、顔の向きを変えたり、前後左右に動いたりすることにより、表示対象120のうち表示させる領域を移動させる。またHMDの内部に図示しない注視点検出器を設けることにより、表示画像中の注視点を取得できる。眼球に照射した赤外線の反射を検出するなどして、画面上の注視点を検出する技術は一般的なものである。なお表示領域の平行移動や拡縮、仮想空間における表示対象に対する視点の移動といった操作は、平板型ディスプレイに表示させた画像であっても入力装置14を用いて実現できるため、以後述べる手法をHMDに限る趣旨ではない。
 図10は、HMDの表示画面に対応するスクリーン132と、表示対象120に表されるテクスチャ134の画素の関係を模式的に示している。同図はユーザ128と表示対象120の存在する仮想空間を側面から見た状態を示している。このような系では、表示対象120を固定としても、ユーザ128の頭部が動くことにより、スクリーン132に対し相対的にテクスチャ134が移動する。
 例えばユーザ128が下方を向く過程において、スクリーン132aがスクリーン132bの位置へ移動すると、スクリーン132a、132b上の網掛けされた画素242に射影されるテクスチャ134上の位置は、テクセル240aからテクセル240bへと移動する。したがってこの移動が生じる微小時間において、画素242にはおよそ、テクセル240aから240bまでの3つのテクセルが対応することになる。そこで円244内に模式的に示したように、窓関数aを用いて3テクセル程度の畳み込みを行い画素値を決定すれば、速度方向に色がブレンドされる結果、実際の移動体の見た目に近い像を表現できる。
 あるいは窓関数bを用いて、1テクセルなど狭い範囲のテクセルから画素値を決定すれば、追従視している場合に静止画と同様にぼけの少ない像を知覚できる。また速度の増加に応じて参照範囲を狭めることにより、視覚的に生じやすくなるぼけを打ち消す方向に作用し、安定して詳細度の高い像を視認できるようになる。
 図11は、2次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における当該範囲の定性的な変化を示している。同図は表示画像の1画素に、4×4テクセルのブロックが射影される状況を想定しており、矢印で示す速度ベクトルでテクスチャが相対的に移動したときの参照範囲を、各ブロック内の円形または楕円形で示している。ただし当該円形、楕円形は、画素値の決定に用いるテクスチャの参照範囲を概念として表象するものであり、実際には黒丸で示すような離散的なサンプリング点を範囲に応じて決定する。
 まずスクリーンに対するテクスチャの速度が0のとき、ブロック250aに円形で示すように、ブロックの中心から均等な範囲のテクセルを参照する。スクリーンに対しテクスチャが横方向に移動する場合、すなわち速度ベクトル(Vx,0)のときは、ブロック250b、250cに楕円形で示すように、速度Vxが大きいほど横方向の参照範囲がより狭まるようにする。スクリーンに対しテクスチャが縦方向に移動する場合、すなわち速度ベクトル(0,Vy)のときは、ブロック250d、250eに楕円形で示すように、速度Vyが大きいほど縦方向の参照範囲がより狭まるようにする。
 スクリーンに対しテクスチャが斜め方向に移動する場合、すなわち速度ベクトル(Vx,Vy)のときは、ブロック250f、250g、250h、250iに楕円形で示すように、速度(Vx+Vy1/2が大きいほど速度ベクトルと同方向の参照範囲がより狭まるようにする。なお移動速度の増加に対し参照範囲が小さくなれば、両者の具体的な関係は特に限定されず、例えば反比例でもよいし1次関数や指数関数などでもよい。
 図12は、移動速度の増加に対してテクスチャの参照範囲を狭める際の、当該参照範囲の算出手法の一例を説明するための図である。まず表示画像の1画素に対応するテクスチャ上の矩形領域252の各辺をベクトルdu、ベクトルdvとする。矩形領域252は図11のブロック250aなどに対応する。
 図11で示したように、表示画像の当該画素においてテクスチャが速度ベクトルVの方向に移動するとき、当該速度ベクトルVの方向において矩形領域252を縮小する。具体的にはベクトルdu、ベクトルdvを速度ベクトルVの方向と、それに垂直な方向の成分に分離し、そのうち前者に、速度|V|の増加に対し減少するような縮小率m(0<m<1)を乗算する。そして後者と合成することにより得られるベクトルdu’、dv’を辺とする矩形領域254を、新たな参照範囲とする。
 ベクトルduと速度ベクトルVのなす角度をθとすると、ベクトルdu’およびベクトルdv’は次のように求められる。
 du’=m・du・cosθ+du・sinθ
 dv’=m・dv・sinθ+dv・cosθ
角度θに係る三角関数は、例えば速度ベクトルVとベクトルduの内積から求められる。なお図12においては縮小率m=0.5として、縮小方向を白抜きの矢印で示している。mを1より大きくすれば、同様の計算で速度の増加に対し参照範囲を広げられる。
 このような計算を表示画像の画素ごとに実施し、得られた参照範囲全体に分布するようにサンプリング点を定めることにより、参照範囲を反映した画素値を決定できる。本実施の形態では、表示画像の1画素に対応する領域をテクスチャ平面で定義し、それを図示するような手法で変形させたうえで、サンプリング点の位置座標を決定する。その後は従来のピクセルシェーダーを利用して、効率よくテクセル値の読み出しを行う。
 図13は、表示画像平面上の領域とテクスチャ平面上の領域の対応関係を説明するための図である。図中、左側がテクスチャ平面140、右側が表示画像平面142であり、両者とも格子状に区切られてなる最小単位の正方形が画素を表す。図11、12の例はわかりやすさのため、表示対象のうちテクスチャをマッピングする面(以後、「マッピング対象面」と呼ぶ)が表示画像平面に平行な場合を想定していたが、図13は視線の傾きにより両者が平行でない状態を示している。
 そのため見かけ上のテクセル領域が正方形ではないが、速度に対する参照範囲の導出には図12で示した手法を適用できる。このようにマッピング対象面144が表示画像平面142と平行でない場合、表示画像平面142上の位置によって、1画素に対応するテクセルの数が変化する。例えば画素146はおよそ1テクセルと対応するのに対し、画素148は4つ以上のテクセルと対応する。表示画像平面142の画素146、148に含まれるテクスチャ画像の領域は、テクスチャ平面140上では領域150、152で近似される。
 マッピング対象面144は、図9で示した系において表示対象120をスクリーン132に射影した像を形成するため、マッピング対象面144における位置座標が表示画像平面142のどの位置に射影されるかは、一般的な座標変換を用いて特定することができる。表示画像平面142における各画素(例えば画素146、148)に対応するテクスチャ平面140上の領域(例えば領域150、152)は、その逆変換により求めることができるが、本実施の形態では偏微分を用いた線形近似により処理を効率化する。
 まず表示画像平面142における座標(x,y)を、テクスチャ平面140における対応する座標(u,v)へ変換する関数f(x,y)を次のように定義する。
Figure JPOXMLDOC01-appb-M000001
 表示画像平面142において、ある位置座標(x,y)からx軸方向に±dの位置での関数f1のテイラー展開は次のようになる。
Figure JPOXMLDOC01-appb-M000002
 上記2式の差をとると次式が成り立つ。
Figure JPOXMLDOC01-appb-M000003
 同様に、位置座標(x,y)からy軸方向に±dの位置での関数f1のテイラー展開、x軸方向、y軸方向に±dの位置での関数f2のテイラー展開を考慮すると、表示画像平面142において位置座標(x,y)から(Δx,Δy)だけ離れた位置座標(x,y)に対応する、テクスチャ平面140における位置座標(u,v)は次のように近似できる。
Figure JPOXMLDOC01-appb-M000004
 ここで(u,v)は、表示画像平面142における位置座標(x,y)に対応するテクスチャ平面140における位置座標である。また行列Aの各要素a11、a12、a21、a22、は次のように定義される。
Figure JPOXMLDOC01-appb-M000005
 上記変換式によれば、表示画像平面142における1画素の正方形の領域は、テクスチャ平面140において、行列Aの各列をそれぞれ成分とするベクトルt(a11,a21)と、t(a12,a22)の方向に辺を有する平行四辺形の領域に対応づけられる。
 図14は、上記変換式を用いて決定した、テクスチャ平面における平行四辺形を例示している。同図は、図13に示したテクスチャ平面140における領域152とその近傍の領域を表しており、平行四辺形160は領域152に対応する。また平行四辺形160の中心の位置座標(u,v)は、表示画像平面における元の画素148の中心の位置座標(x,y)に対応する。また、平行四辺形160の中心の位置座標(u,v)における関数f1およびf2を、uおよびvと表記している。
 上述のとおり平行四辺形160は、ベクトルt(a11,a21)=(∂u/∂x, ∂v/∂x)、t(a12,a22)=(∂u/∂y, ∂v/∂y)に平行な辺を有する。また、平行四辺形160に外接する矩形162の横方向および縦方向の辺の長さSu、Svは、ベクトルtおよびtの成分ごとの長さの和、すなわちSu=|∂u/∂x|+|∂u/∂y|、Sv=|∂v/∂x|+|∂v/∂y|となる。ここで平行四辺形160の辺を構成するベクトルt、tは、図12に示したベクトルdu、dvに対応する。
 したがって図12において説明したようにテクスチャの速度ベクトルに応じて新たなベクトルdu’、dv’を求めることにより、平行四辺形160を変形し、最終的な参照範囲を表す平行四辺形を決定する。本実施の形態ではさらに、当該最終的な参照範囲の大きさによって、テクセル値のサンプリング数を調整する。
 図15は参照範囲の大きさに応じたサンプリング点の数および分布の変化例を模式的に示している。図はテクスチャ平面の一部を示しており、格子状に区切られてなる最小単位の正方形がテクセルを表す。また1テクセルの領域の横方向および縦方向の辺の長さを1とする。まず(a)に示すように、外接矩形の横方向の辺の長さSu、および縦方向の辺の長さSvのうち大きい方の値が1.0以上4.0未満のときは、参照範囲の領域のうち4点をサンプリングする。すなわち黒丸で示されるサンプリング点のテクセル値を読み出し、画素値の決定に用いる。
 なお同図においては条件(a)を満たす最大サイズの平行四辺形、すなわちSu=SV=4の正方形のみを例示しているが、実際の参照範囲は様々な平行四辺形でよく、それによってサンプリング点の分布も異なる。他の条件でも同様である。次に(b)に示すように、外接矩形の辺の長さSu、Svのうち大きい方の値が4.0以上6.0未満の場合は、参照範囲の領域のうち9点をサンプリングする。(c)に示すように、外接矩形の辺の長さSu、Svのうち大きい方の値が6.0以上8.0未満の場合は、参照範囲の領域のうち16点をサンプリングする。
 それより大きい場合も同様に、外接矩形のサイズに応じてサンプリング数とその分布の決定規則を設定しておけば、マッピング対象面がどの位置や角度にあっても、同様の計算で画素値を決定できる。なおサンプリング数を切り替える条件やサンプリング数は図示したものに限らない。上述したように、図示する例は参照範囲が正方形の場合であるため、横方向、縦方向に同じ間隔で均等にサンプリング点を分布させている。この場合を含め、任意の平行四辺形においてサンプリング点の分布を決定するための規則を準備する。
 図16は、図15の条件(a)のように4点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。同図の平行四辺形は、図14に示した平行四辺形160に対応している。この平行四辺形160の外接矩形162は図15の条件(a)を満たしているため、サンプリング点は4つとなる。この場合、平行四辺形160の中心座標(u,v)と同じ中心を有し縦横それぞれの方向に1/2倍に縮小した平行四辺形の頂点A、B、C、Dをサンプリング点として定める。中心座標(u,v)をqとおくと、サンプル点A、B、C、およびDは、ベクトルt、tを用いて次のように表される。
Figure JPOXMLDOC01-appb-M000006
 図17は、図15の条件(b)のように9点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。この場合、図16で示した4点のサンプリング点A~Dと同様の計算により求められるサンプリング点A’~D’と、それらのうち隣り合う2点の中点であるE、F、G、H、および、中心qの9点とする。ただし点A’~D’は、上記A~Dを算出する式におけるベクトルt、tの係数を1/3に代えて算出する。すなわち9点のサンプリング点は、q、q±1/3・t±1/3・t、q±1/3・t、q±1/3・tとなる。
 図18は、図15の条件(c)のように16点のサンプリングを行うときのサンプリング点の決定規則を説明するための図である。この場合、図16で示した4点のサンプリング点A~Dと同様の計算により求められるサンプリング点A”~D”と、点A”~D”のうち隣り合う2点を1:2および2:1に内分する8点、および、それらの点をベクトルt、tのいずれかの方向で1:2および2:1に内分する4点、の16点とする。ただし点A”~D”は、上記A~Dを算出する式におけるベクトルt、tの係数を3/8に代えて算出する。すなわち16点のサンプリング点は、q±3/8・t±3/8・t、q±3/16・t±3/8・t、q±3/8・t±3/16・t、q±3/16・t±3/16・tとなる。
 なおサンプリング点A~D等、平行四辺形の頂点に最も近い4点を決定する際のベクトルt、tの係数αは、図15で示した各条件の最大外接矩形の辺のサイズを2N(N=2、3、4、・・・)とすると、次のように一般化できる。
 α=(N-1)/2N
このような規則を設定し、平行四辺形のサイズに応じてサンプリング数およびその分布を決定すれば、平行四辺形の参照範囲の領域から均等に、必要十分なサンプリングを行える。またこのようなサンプリング処理は、既存のバイリニアサンプリング回路を用いて効率的に実行可能である。ただし本実施の形態におけるサンプリングの具体的な規則をこれに限る主旨ではない。
 図19は、スクリーンに対するテクスチャの移動速度に応じて参照先のテクスチャの解像度を切り替える場合の画素の関係を模式的に示している。同図は図10と同様に仮想空間を側面から見た状態を示している。テクスチャを複数解像度で準備しておき、スクリーンと表示対象との距離に基づき適切な解像度を選択してマッピングを行う技術はミップマップとして知られている。本実施の形態では、テクスチャのデータ構造や読み出し回路として、そのような一般的な技術を利用できる。
 図においてテクスチャ260aは、スクリーンと表示対象との距離から定まる適正な解像度であり、例えばスクリーンに射影したときに表示画像とテクスチャの画素領域の大きさが同程度となるような解像度である。ユーザ128が動かず、スクリーンに対しテクスチャが移動しない場合は、当該適正な解像度のテクスチャ260aを参照する。
 ここでユーザ128が下方を向き始め、スクリーン132aがスクリーン132bの位置へ移動したら、ひいてはテクスチャの相対的な移動が生じたら、テクスチャ260aより高い解像度のテクスチャ260bへ参照先を切り替える。スクリーンが表示対象に近づいたり遠ざかったりした場合は、ミップマップと同様の規則により適正な解像度を仮に設定したうえ、画像の拡縮によるテクスチャの移動速度を加味して、参照先の解像度を画素ごとに決定する。
 図20は、2次元方向の移動を考慮し、移動速度に対しテクスチャの参照範囲を狭める態様における、移動速度に応じたテクスチャの解像度の切り替えを定性的に示している。図の示し方はおよそ図11と同様であるが、テクスチャの解像度を切り替えることにより、表示画像の1画素に射影されるテクセルの数が変化している。この例では、スクリーンに対するテクスチャの速度が0のとき、表示画像の1画素に対し1テクセルからなるブロック262aが対応するような解像度のテクスチャを選択している。
 スクリーンに対しテクスチャが移動し、移動速度が第1のしきい値を超えたとき、ブロック262b、262d、262fに示すように、静止時の解像度の2×2倍の解像度のテクスチャを選択する。移動速度が、第1のしきい値より大きい第2のしきい値を超えたときは、ブロック262c、262g、262e、262h、262iに示すように、静止時の解像度の4×4倍の解像度のテクスチャを選択する。
 このようにすることで、必要十分な解像度のテクスチャを用いて処理負荷の増大を抑えつつ、移動速度に依存した画素値の制御を行える。このことは、移動速度の増加に応じて参照範囲を広げる態様でも同様である。なおミップマップの処理系を利用する場合、通常のLOD(Level of Detail)に対し、速度に応じたオフセット分を演算してLODを指定すれば、ミップマップの処理を兼ねた適切なタイミングで解像度の切り替えを行える。
 テクスチャの解像度を切り替える態様においては、表示画像の1画素に対応するテクセルのサイズが、テクスチャの移動速度の増加に応じて小さくなる。したがってサンプリング数を固定として解像度を高くするのみで、実質的には速度に応じて参照範囲を狭めているのと同様となる。最も単純にはサンプリング数を1つで固定し、表示画像の画素中心に対応する、テクスチャ上の1つのテクセルの値を読み出し、それを画素値とすればよい。
 ただしこの場合、参照範囲は速度ベクトルの方向によらず等方的に狭められる。速度ベクトルの方向のみ参照範囲を狭める場合は、図に黒丸で示すように、速度ベクトルに垂直な直線上の2点をサンプリング点とすることが考えられる。図示するように速度によらず同じ2点をサンプリングしても、解像度が高くなることにより速度方向の参照範囲が狭められていることになる。なおサンプリング点は2点に限らず3点以上でもよい。あるいは速度によってサンプリングの点数を変化させてもよい。いずれの場合も、サンプリングされたテクセル値を平均することにより画素値を決定する。
 図21は、速度ベクトルに垂直な直線上の2点のサンプリング点を決定する手法を説明するための図である。図の下段の左側がテクスチャ平面270、右側が表示画像平面272であり、両者とも格子状に区切られてなる最小単位の正方形が画素を表す。同図上段に示すように、時刻t0でテクスチャが静止している状態から、速度が生じ増加する各時刻t1、t2に対し、速度ベクトルVと垂直な直線上の2点をサンプリングする。このとき上述のとおり、速度の増加に応じてテクスチャの解像度を上げていけば、領域274、276、278というように、速度ベクトルの方向に参照範囲を狭めることができる。
 下段の表示画像平面272には、ある時刻において、速度ベクトルVに垂直な直線上に決定した2つのサンプリング点280を示している。当該直線上の単位ベクトルWxyは、テクスチャ平面270では次のように表せる。
 Wuv=t・Wx+t・Wy
ここでWx、Wyはそれぞれ、ベクトルWxyのx成分、y成分である。テクスチャ平面270におけるサンプリング点は、表示画像の画素中心に対応するテクスチャ平面上の位置座標(u,v)から、1より小さい係数を|Wuv|に乗算した分だけベクトルWuv方向および-Wuv方向に離れた2点とする。
 座標(u,v)をqと表記すると、例えばサンプリング点A、Bを次のように決定する。
A=q+|V|/2・Wuv
B=q-|V|/2・Wuv
この式によれば、速度ベクトルに垂直な方向に、速度Vだけ離れた2点をサンプリング点とすることができる。
 図22は、速度ベクトルVと垂直な直線上の3点をサンプリングする様子を模式的に示している。この場合も時刻t0でテクスチャが静止している状態から、速度が生じ増加する各時刻t1、t2において、テクスチャの解像度を高めるとともに、速度ベクトルVと垂直方向に3点を決定する。例えば図21で説明した2点の中点を追加のサンプリング点とし、サンプリング点A、B、Cを次のように決定する。
A=q+|V|/2・Wuv
B=q
C=q-|V|/2・Wuv
 これまで述べた態様では、テクスチャ上で1つまたは複数のサンプリング点を、テクスチャの移動速度に応じて決定し、そのテクセル値をブレンドすることで、1フレーム分の表示画像の画素値を決定した。一方、サンプリング点の分布を、連続したフレームに対し時間方向に分離することにより、視覚刺激の時間積分機能を利用して認識上でブレンドさせることが考えられる。図23は、サンプリング点の分布を時間方向に分離する態様におけるサンプリングの様子を模式的に示している。
 この態様では、表示画像の画素に対する適正な解像度より所定量、高い解像度のテクスチャを参照先とする。図に示す3つの矩形はそれぞれ、各時刻t0、t1、t2において表示画像の1画素に対応するテクスチャ上の領域を示しており、例えばいずれも2×2のテクセルからなるブロックで構成される。まずスクリーンに対しテクスチャが静止しているとき(V=0)、ブロック290aの中心から等しい距離のサンプリング点を均等に設定する。図示する例では、ブロック290aの中心と4頂点との中点A、B、C、Dの4点をサンプリング点としている。
 このようにサンプリング点を4点とした場合、表示画像の4フレームを1単位とし、1単位の表示時間で4つのテクセル値が順に表示されるようにする。すなわち当該単位の最初のフレームに対しサンプリング点Aのテクセル値を読み出して画素値とする。2番目、3番目、4番目のフレームに対し、それぞれサンプリング点B、C、Dのテクセル値を読み出し、画素値とする。すると1単位分のフレームの該当画素を見たユーザには、視覚刺激の時間積分機能によって、サンプリング点A、B、C、Dの色がブレンドされて見える。テクスチャがスクリーンに対し停止している限りは、同じサンプリング点のテクセル値を循環して読み出し、表示する。
 スクリーンに対しテクスチャが移動している場合、図11で示したのと同様、速度ベクトルの方向に参照範囲を縮小する。このときブロック290b、290cに示すように、速度Vが大きいほど参照範囲がより狭まるようにサンプリング点の分布を調整する。速度の変化に対する参照範囲の変化のさせ方は、図11、12などで説明したのと同様でよい。
 そして静止している場合と同様、4つのサンプリング点のテクセル値を、4フレームに渡って順に読み出し、フレームごとに個別に表示させることにより、1単位分のフレームを見たときに、認識上でブレンドされるようにする。この場合も、1フレームの表示画像上で、速度に応じた参照範囲のテクセルをブレンドしたときと同様の効果が得られる。また1フレームの1画素あたり1つのテクセル値を読み出せばよいため、複数のテクセル値を同時に読み出し、演算するのと比較して処理の負荷を抑えることができる。
 なお表示画像の画素領域に対し一般的なミップマップで適正とされる解像度より1段階、高い解像度のテクスチャを参照先とすることにより、図示するように、表示画像の1画素に対応するテクセルを、2×2程度に安定させることができる。そのため図示する例では1画素当たり4つのサンプル点としているが、本実施の形態をそれに限る趣旨ではない。1画素当たりのサンプル点をN個とした場合、Nフレームが1単位となる。また、一度に読み出すテクセル値を複数とし、それらをブレンドして1フレームの画素値としてもよい。例えば2つのテクセル値を用いて画素値を決定する場合、N個のテクセルをN/2フレームで表せばよい。
 テクスチャの移動速度の増加に対し参照範囲を狭めていく態様は、スクリーンに対し比較的低速に移動している表示対象の像をユーザが追従視しているときに、そのディテールを視認させることができるという点で有効である。一方、ユーザが意識して見ていない対象や、ほぼ静止していたりある程度高速で移動している対象について同様の処理を行うと、エイリアシングやちらつきが問題になることが考えられる。そのため対象物の移動速度やユーザの視線などその場の状況を考慮して、移動速度に基づく参照範囲の制御の有無や感度の調整を適応的に行うことが望ましい。
 図24は、画像処理装置10が、テクスチャの参照範囲の制御の態様を状況に応じて変化させる場合の、画素値の決定手順を示すフローチャートである。この手順は、図8で示したフローチャートのS14からS20の処理として導入できる、画素ごとの処理である。またこの態様においてテクスチャ参照部78は、画面におけるユーザの注視点を継続して検出する注視点検出器から計測結果を順次取得し、ユーザが表示対象を追従視しているか否かを判定する追従視判定機能を備えるものとする。
 まず速度取得部76は、スクリーンに対しテクスチャが移動しているか(S30)、移動している場合は速度Vがしきい値Vthより小さいか、を監視する(S30のY、S32)。移動していない場合(S30のN)は、参照範囲の調整をせずに、画素に対応するテクセルの値を読み出す(S42)。速度Vがしきい値Vth以上の場合は(S32のN)、参照範囲を広げてテクセル値を読み出す(S40、S42)。ここで速度のしきい値Vthは、例えばフレーム間で表示画像の1画素分の移動がなされる速度とする。なお速度Vがしきい値Vth以上の場合、参照範囲の調整を行わずにテクセル値を読み出してもよい。
 速度Vがしきい値Vthより小さい場合でも(S32のY)、ユーザが当該画素に表される対象を追従視していない場合は(S34のN)、参照範囲を広げてテクセル値を読み出す(S40、S42)。一般に眼球運動には滑動性眼球運動、跳躍性眼球運動、固視微動といった特性の異なる運動成分が含まれている。本実施の形態での追従視は、滑動性眼球運動により対象全体を大まかに眼で追うような状態を想定する。したがってテクスチャ参照部78は、例えば注視点を所定の時間窓で平均化した位置座標を監視し、テクスチャあるいは表示対象の像そのものの動きベクトルと注視点の平均値の移動ベクトルとが所定時間一致したとき、追従視していると判定する。
 なお電子書籍を読み進める場合や、地図で地名を確認しながらスクロールさせる場合など、表示内容やユーザ操作の状況によって、注視点の検出結果を得ずとも追従視していることが推定できる場合は、追従視の判定処理を省略できる。また同じ対象物の像に含まれる画素については、そのいずれかについて追従視していることが判定されたら、その他の画素も追従視しているとして判定処理を省略してもよい。追従視していることが判定された場合(S34のY)、テクスチャ参照部78は、速度ベクトルや追従視の状況に応じて速度に対する参照範囲の感度を調整したうえ(S36)、速度に応じて参照範囲を狭める調整を行う(S38)。ここで「感度」とは、速度の増加に対する参照範囲の変化の大きさをいう。
 移動速度や注視点の動きが条件を満たしていても、場合によってエイリアシングが目立つことがあり得る。本発明者の知見によれば、例えばスクリーンに対しテクスチャの移動方向が変化するタイミングではエイリアシングが目立ちやすい。また平板型ディスプレイと比較するとHMDでの表示では全体的にエイリアシングが生じやすい。そのようなエイリアシングが発生しやすい状況を事前の実験で特定しておき、該当する状況になった場合に感度を下げることにより、参照範囲の制御による画質の劣化が生じにくくなる。
 テクスチャ参照部78はそのようにして決定した参照範囲を反映するようにサンプリング点を決定し、テクスチャデータからテクセル値を読み出す(S42)。そして画素値決定部82は、読み出されたテクセル値を用いて上述のとおり対象画素の画素値を決定する。
 以上述べた本実施の形態によれば、表示対象をテクスチャデータとして準備し、それをマッピングすることで表示画像を生成する。ここで表示画像平面に対しテクスチャが移動しているとき、画素値の決定に用いるテクスチャの参照範囲を、テクスチャの移動速度に応じて変化させる。
 速度の増加に対し参照範囲を拡張する場合、モーションブラーのように表示対象が移動していることが表現できるとともに、表示装置の解像度に対するフレームレートの適正値より低いフレームレートにおいて生じやすい、移動方向での像の不連続性を抑えることができる。参照範囲を縮小する場合は、各フレームにおいて表示装置の解像度を最大限に活かした詳細な画像を表示できる。
 したがって表示画像平面に対するテクスチャの相対速度や、ユーザが像を追従視しているか否かなどの状況によって両者を使い分けることにより、表示装置の解像度を活かしつつそれによって生じ得る画質の劣化も抑えられる。また参照範囲の調整を、速度ベクトルの軸方向に限定し、それと垂直な成分は保存することにより、必要以上の調整により画質が却って劣化するのを防ぐことができる。
 さらにテクスチャの相対速度によって、参照先のテクスチャの解像度を切り替える。具体的には速度が大きくなるほど解像度の高いテクスチャを用いることにより、表示画像の1画素に対する1テクセルの領域が狭くなり、同数のサンプリングで自ずと参照範囲を狭めることができる。速度の増加に応じて参照範囲を拡張する場合でも、テクスチャ静止している場合など細かい制御をしない状況においては本来の適正解像度のテクスチャを利用できるため、テクセル値の読み出しや演算に係る処理コストの増大を抑えることができる。
 また、テクスチャの相対速度によって制御された参照範囲における、複数のサンプリング点のテクセルを、複数のフレームに分けて順番に表す。このようにすると、人が有する視覚刺激の時間積分機能によって、当該複数フレームを見たときに、それらがブレンドされて知覚される。結果として、テクセル値の読み出しや演算処理を効率化しつつ、上述と同様の効果を得ることができる。
 本実施の形態は、速度に応じて参照範囲を調整し、それを反映する分布でサンプリング点を決定することを基本とするため、調整前の参照範囲の形状は限定されない。したがって、表示画像平面に対し表示対象が3次元方向にいかなる傾きを有していても適用可能である。結果として、自由視点から表示対象を見るような態様との親和性が高い。また電子書籍やウェブサイトなどの文字情報をスクロールしながら読み進めるような態様においても、文字をクリアに視認させることができる。
 表示画面の画素の細かさに応じて適切な解像度のテクスチャを参照し、当該細かさに適合した分解能でテクスチャの参照範囲を制御することにより、表示装置の解像度とフレームレートの組み合わせによらず安定した画像表現を実現できる。
 以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 8 画像処理システム、 10 画像処理装置、 14 入力装置、 16 表示装置、 72 入力情報取得部、 74 テクスチャ領域取得部、 76 速度取得部、 78 テクスチャ参照部、 80 テクスチャ記憶部、 82 画素値決定部、 84 出力部。
 以上のように本発明は、画像表示装置、画像再生装置、ゲーム装置、パーソナルコンピュータ、携帯端末など各種情報処理装置や、それらのいずれかを含む情報処理システムなどに利用可能である。

Claims (12)

  1.  表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する速度取得部と、
     前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするテクスチャ参照部と、
     サンプリングされたテクセル値に基づき画素値を決定する画素値決定部と、
     画素値が決定された表示画像のデータを出力する出力部と、
     を備えたことを特徴とする画像処理装置。
  2.  前記テクスチャ参照部は、テクスチャの移動速度の増加に応じて、前記移動速度ベクトルの軸方向で前記参照範囲を拡張または縮小することを特徴とする請求項1に記載の画像処理装置。
  3.  前記テクスチャ参照部は、テクスチャの移動速度によって、前記参照範囲を調整するか否かを切り替えることを特徴とする請求項1に記載の画像処理装置。
  4.  前記テクスチャ参照部は、ユーザの注視点の時間変化に基づき、テクスチャの移動速度の増加に応じて前記参照範囲を拡張するか縮小するかを切り替えることを特徴とする請求項2に記載の画像処理装置。
  5.  複数解像度のテクスチャのデータを格納するテクスチャ記憶部をさらに備え、
     前記テクスチャ参照部は、テクスチャの移動速度の増加に応じて、参照先のテクスチャの解像度を高解像度側へ切り替えることを特徴とする請求項1から4のいずれかに記載の画像処理装置。
  6.  前記テクスチャ参照部は、表示画像の画素に対応するテクスチャ上の領域に、テクスチャの移動速度によらない所定数のサンプリング点を設定することにより、テクスチャの移動速度の増加に応じて参照範囲を縮小することを特徴とする請求項5に記載の画像処理装置。
  7.  前記テクスチャ参照部は、前記移動速度ベクトルと垂直な直線上に、前記所定数のサンプリング点を設定することを特徴とする請求項6に記載の画像処理装置。
  8.  前記画素値決定部は、前記参照範囲のテクセル値に基づき画素ごとに複数の画素値を決定し、表示画像の複数フレームにおいて、当該複数の画素値を順に表すことを特徴とする請求項1から4のいずれかに記載の画像処理装置。
  9.  前記画素値決定部は、前記移動速度ベクトルに応じた窓関数で、前記テクセル値の畳み込みを行うことにより画素値を決定することを特徴とする請求項1に記載の画像処理装置。
  10.  テクスチャにより表される表示対象の面を表示画像平面に射影することにより、表示画像におけるテクスチャ領域を取得するテクスチャ領域取得部をさらに備え、
     前記テクスチャ参照部は、前記射影の結果に基づき、前記テクスチャ領域内の1画素に対応するテクスチャ平面の領域を特定し、前記移動速度ベクトルによって当該領域を変形させることにより、前記参照範囲を調整することを特徴とする請求項1から4のいずれかに記載の画像処理装置。
  11.  表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得するステップと、
     前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングするステップと、
     サンプリングされたテクセル値に基づき画素値を決定するステップと、
     画素値が決定された表示画像のデータを出力するステップと、
     を含むことを特徴とする画像処理装置による表示画像生成方法。
  12.  表示画像平面に対するテクスチャの移動速度ベクトルを、表示画像の画素ごとに取得する機能と、
     前記移動速度ベクトルによって参照範囲を調整したうえで、当該参照範囲のテクセル値をサンプリングする機能と、
     サンプリングされたテクセル値に基づき画素値を決定するステップと、
     画素値が決定された表示画像のデータを出力する機能と、
     をコンピュータに実現させることを特徴とするコンピュータプログラム。
PCT/JP2018/003040 2018-01-30 2018-01-30 画像処理装置および表示画像生成方法 WO2019150450A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/960,991 US11450036B2 (en) 2018-01-30 2018-01-30 Image processing apparatus and display image generating method
JP2019568443A JP6849826B2 (ja) 2018-01-30 2018-01-30 画像処理装置および表示画像生成方法
PCT/JP2018/003040 WO2019150450A1 (ja) 2018-01-30 2018-01-30 画像処理装置および表示画像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/003040 WO2019150450A1 (ja) 2018-01-30 2018-01-30 画像処理装置および表示画像生成方法

Publications (1)

Publication Number Publication Date
WO2019150450A1 true WO2019150450A1 (ja) 2019-08-08

Family

ID=67479294

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/003040 WO2019150450A1 (ja) 2018-01-30 2018-01-30 画像処理装置および表示画像生成方法

Country Status (3)

Country Link
US (1) US11450036B2 (ja)
JP (1) JP6849826B2 (ja)
WO (1) WO2019150450A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11715302B2 (en) * 2018-08-21 2023-08-01 Streem, Llc Automatic tagging of images using speech recognition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115056A (ja) * 1999-12-16 2003-04-18 Sega Corp 画像生成方法及びこれを用いた画像生成装置
JP2007041196A (ja) * 2005-08-02 2007-02-15 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2008502978A (ja) * 2004-06-16 2008-01-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フォワード・テクスチャ・マッピング3dグラフィックス・システム
JP2017091483A (ja) * 2015-11-17 2017-05-25 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、情報処理装置、および画像処理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3367509B2 (ja) * 1999-12-16 2003-01-14 株式会社セガ 画像生成方法及びこれを用いた画像生成装置
US7446780B1 (en) * 2003-08-29 2008-11-04 Nvidia Corporation Temporal antialiasing in a multisampling graphics pipeline
JP2006337771A (ja) 2005-06-02 2006-12-14 Sony Corp 画像処理装置、その方法、そのプログラムおよび記録媒体
JP6049452B2 (ja) * 2012-12-29 2016-12-21 キヤノン株式会社 情報表示装置、情報表示システム、それらの制御方法、及びプログラム
US9665171B1 (en) * 2013-03-04 2017-05-30 Tobii Ab Gaze and saccade based graphical manipulation
JP6684559B2 (ja) * 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US10721456B2 (en) * 2016-06-08 2020-07-21 Sony Interactive Entertainment Inc. Image generation apparatus and image generation method
KR102650215B1 (ko) * 2016-10-18 2024-03-21 삼성전자주식회사 영상 처리 방법 및 장치
JP6849430B2 (ja) * 2016-12-27 2021-03-24 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP7008220B2 (ja) * 2018-06-21 2022-01-25 パナソニックIpマネジメント株式会社 映像表示システム、映像表示方法、プログラム、及び移動体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115056A (ja) * 1999-12-16 2003-04-18 Sega Corp 画像生成方法及びこれを用いた画像生成装置
JP2008502978A (ja) * 2004-06-16 2008-01-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フォワード・テクスチャ・マッピング3dグラフィックス・システム
JP2007041196A (ja) * 2005-08-02 2007-02-15 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2017091483A (ja) * 2015-11-17 2017-05-25 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、情報処理装置、および画像処理方法

Also Published As

Publication number Publication date
US11450036B2 (en) 2022-09-20
JP6849826B2 (ja) 2021-03-31
JPWO2019150450A1 (ja) 2021-01-14
US20200342636A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US10739849B2 (en) Selective peripheral vision filtering in a foveated rendering system
US11314325B2 (en) Eye tracking to adjust region-of-interest (ROI) for compressing images for transmission
US10775886B2 (en) Reducing rendering computation and power consumption by detecting saccades and blinks
US10720128B2 (en) Real-time user adaptive foveated rendering
KR102641272B1 (ko) 재투영된 프레임을 위한 모션 스무딩
US10643307B2 (en) Super-resolution based foveated rendering
US20210366079A1 (en) Temporal supersampling for foveated rendering systems
CN111292236B (zh) 一种减少中央凹注视渲染中的混叠伪像的方法和计算***
CN109741289B (zh) 一种图像融合方法和vr设备
CN110300994A (zh) 图像处理装置、图像处理方法以及图像***
KR20210029244A (ko) 동적 패널 마스킹
JPWO2020170454A1 (ja) 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法
US11308685B2 (en) Rendering computer-generated reality text
EP3236306A1 (en) A method for rendering a 3d virtual reality and a virtual reality equipment for implementing the method
JP6849826B2 (ja) 画像処理装置および表示画像生成方法
JPWO2020170456A1 (ja) 表示装置および画像表示方法
TW202011377A (zh) 用來針對顯示面板進行可視角增強之電子系統與電子裝置
JP6965374B2 (ja) 画像処理装置および表示画像生成方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18904051

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019568443

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18904051

Country of ref document: EP

Kind code of ref document: A1