WO2025005018A1 - 画像処理システム、画像処理方法及びプログラム - Google Patents

画像処理システム、画像処理方法及びプログラム Download PDF

Info

Publication number
WO2025005018A1
WO2025005018A1 PCT/JP2024/022662 JP2024022662W WO2025005018A1 WO 2025005018 A1 WO2025005018 A1 WO 2025005018A1 JP 2024022662 W JP2024022662 W JP 2024022662W WO 2025005018 A1 WO2025005018 A1 WO 2025005018A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
frame
input
pixel
frames
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2024/022662
Other languages
English (en)
French (fr)
Inventor
健一郎 横田
尚 小曳
渉一 池上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Sony Group Corp
Original Assignee
Sony Interactive Entertainment Inc
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc, Sony Group Corp filed Critical Sony Interactive Entertainment Inc
Priority to JP2025530103A priority Critical patent/JPWO2025005018A1/ja
Priority to CN202480044403.8A priority patent/CN121729708A/zh
Priority to EP24831879.2A priority patent/EP4738239A1/en
Publication of WO2025005018A1 publication Critical patent/WO2025005018A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • This disclosure relates to an image processing system, an image processing method, and a program.
  • Non-Patent Document 1 a technology (super-resolution) is known that uses a machine learning model to estimate a high-quality still image based on a low-quality still image (see Non-Patent Document 1 below).
  • video super-resolution it is believed that video images with higher image quality can be estimated by considering not only the information of each frame to be processed but also the information of the previous frames of the frame.
  • information that indicates the movement of an object such as a motion vector
  • the texture of the object changes regardless of the object's movement information, such as when the object is a mirror or when the object has an animated texture. If super-resolution processing that considers the movement information is performed on video images generated from such objects, it can actually cause a degradation of image quality.
  • the present disclosure aims to provide an image processing system, image processing method, and program capable of performing highly accurate super-resolution processing on video generated from an object whose texture changes without relying on motion information, in an image processing means that uses motion information and information from past frames to estimate a high-quality video based on a low-quality video.
  • N is a natural number equal to or greater than 2
  • the machine learning model includes an accumulated feature information output layer that outputs the nth accumulated feature information indicating the features of the intermediate frame, and an estimated frame output layer that receives the nth accumulated feature information and outputs the nth estimated frame, and the at least one processor identifies the nth color-changed pixel including color information that changes independent of the movement of the object in the nth intermediate frame based on the texture information of the object, and obtains the nth auxiliary information by replacing the pixel value of the color-changed pixel in the nth accumulated feature information with a predetermined value, and the machine learning model is trained using multiple training data including a training intermediate frame having the intermediate number of pixels generated based on a training input frame having the input number of pixels, the auxiliary information in which the color-changed pixel has been replaced with a predetermined value, and a training estimated frame having the estimated number of pixels.
  • FIG. 1 illustrates an example of a hardware configuration of an image processing system.
  • FIG. 1 is a diagram illustrating an overview of an image processing system.
  • FIG. 2 is a diagram illustrating a process of the image processing system.
  • FIG. 2 is a functional block diagram showing an example of functions realized by the image processing system.
  • FIG. 4 is a diagram illustrating the processing of a rendering unit.
  • 11A and 11B are diagrams illustrating a process in an intermediate frame acquisition unit.
  • 10A and 10B are diagrams illustrating a process for identifying color-change pixels.
  • FIG. 4 is a flowchart showing an example of a flow of processing executed in the image processing system.
  • FIG. 1 is a diagram showing an example of a hardware configuration of an image processing system 1.
  • the image processing system 1 is, for example, a computer such as a game console.
  • the image processing system 1 includes a control unit 10, a storage unit 12, a communication unit 14, an operation unit 16, a display unit 18, and an audio output unit 19.
  • the control unit 10 includes a program control device such as a CPU that operates according to a program installed in the image processing system 1.
  • the control unit 10 also includes a GPU (Graphics Processing Unit) that draws images in a frame buffer based on graphics commands and data supplied from the CPU.
  • a program control device such as a CPU that operates according to a program installed in the image processing system 1.
  • the control unit 10 also includes a GPU (Graphics Processing Unit) that draws images in a frame buffer based on graphics commands and data supplied from the CPU.
  • GPU Graphics Processing Unit
  • the storage unit 12 includes a main storage device such as a ROM or RAM, and an auxiliary storage device such as a HDD or SSD.
  • the storage unit 12 stores programs executed by the control unit 10, etc.
  • the storage unit 12 stores, for example, a game program (game software) in addition to programs for implementing various functions of the image processing system 1 described below.
  • the storage unit 12 also reserves an area for a frame buffer in which images are drawn by the GPU.
  • the communication unit 14 is a communication interface, such as an Ethernet (registered trademark) module or a wireless LAN module.
  • the operation unit 16 is a user interface such as a keyboard, mouse, or game console controller, and receives operation input from the user and outputs a signal indicating the content of the input to the control unit 10.
  • the display unit 18 is a display device such as a liquid crystal display or an organic EL display, and displays various images according to instructions from the control unit 10.
  • the audio output unit 19 is, for example, a speaker, and outputs the audio represented by the audio data generated by the image processing system 1.
  • the image processing system 1 may also include an optical disk drive that reads optical disks such as DVD-ROMs and Blu-ray (registered trademark) disks, a USB (Universal Serial Bus) port, etc.
  • optical disk drive that reads optical disks such as DVD-ROMs and Blu-ray (registered trademark) disks, a USB (Universal Serial Bus) port, etc.
  • Fig. 2 is a diagram showing an overview of the image processing system 1.
  • Fig. 3 is a diagram showing a schematic diagram of the processing of the image processing system 1.
  • the gameplay video is a video generated in response to a game program executed by the control unit 10 or user input received by the operation unit 16, and is composed of a plurality of still images (frames) that are time-series data.
  • the processing performed by the image processing system 1 is mainly as follows.
  • the image processing system 1 generates an image (input frame) in which one or more game objects are drawn by rendering three-dimensional data showing the game objects seen from a predetermined viewpoint.
  • This input frame is an image having a predetermined number of pixels (input pixel number) and a predetermined image quality (input image quality) (see FIG. 3).
  • the input frame is generated at predetermined time intervals.
  • the number of pixels of the input frame is, for example, 1920 ⁇ 1080 (1080p).
  • Each generated input frame is not displayed directly on the display unit 18, but is temporarily stored in the storage unit 12 and used for subsequent processing.
  • the image processing system 1 acquires a frame (intermediate frame) 22_n having a number of pixels (intermediate pixel number) greater than the number of input pixels.
  • the number of intermediate pixels is, for example, 3840 x 2160 (4K).
  • the intermediate frame 22_n is generated by performing enlargement and interpolation processing on the input frame 20_n (see FIG. 3).
  • intermediate frame 22_n has a greater number of pixels than input frame 20_n, its image quality has not necessarily been sufficiently improved.
  • the image quality of a frame does not simply mean a greater number of pixels (higher resolution).
  • the image quality of a frame may be evaluated based on, for example, a higher signal-to-noise ratio, higher reproducibility of spatial frequencies, higher temporal stability (fewer artifacts and flickering when multiple frames are displayed consecutively), etc., when compared to a reference frame, or on a combination of these.
  • the image processing system 1 inputs the intermediate frame 22_n to the machine learning model 200 to obtain an estimated frame 24_n.
  • the estimated frame 24_n is an image having the same number of pixels (estimated pixel number) as the intermediate pixel number and image quality (estimated image quality) that is equal to or higher than the input image quality (see FIG. 3 ).
  • the (n-1)th auxiliary information 28_n-1 is input to the machine learning model 200 (see Figures 2 and 3).
  • the auxiliary information 28_n-1 is information based on the (n-1)th cumulative feature information 26_n-1 that indicates the features of the first to (n-1)th intermediate frames 22.
  • the cumulative feature information 26 and the auxiliary information 28 will be described in detail later.
  • the machine learning model 200 is a model trained using multiple training data, each of which includes a training intermediate frame having an intermediate number of pixels generated based on a training input frame having an input pixel number and input image quality, and a training estimated frame having an estimated pixel number and estimated image quality. Details of the machine learning model 200 will be described later.
  • the machine learning model 200 has an accumulated feature information output layer 202 that receives the intermediate frame 22_n and auxiliary information 28_n-1 and outputs n-th accumulated feature information 26_n indicating the features of the first to n-th intermediate frames 22 (see FIG. 2).
  • the image processing system 1 acquires the n-th accumulated feature information 26_n.
  • the acquired n-th accumulated feature information 26_n is input to the estimated frame output layer 204, and the n-th estimated frame 24_n is output from the estimated frame output layer 204 (see FIG. 2).
  • the acquired n-th accumulated feature information 26_n is also stored in the memory unit 12 and is used to estimate the estimated frame 24_n+1 corresponding to the next input frame (the n+1-th input frame) 20_n+1.
  • the (n-1)th accumulated feature information 26_n-1 is information that indicates the features of the first to (n-1)th intermediate frames 22 (and thus the first to (n-1)th input frames 20).
  • the accumulated feature information 26_n-1 in which information on past input frames 20 is thus accumulated, for estimating the nth estimated frame 24_n, the amount of information available for estimation increases, making it possible to obtain an estimated frame 24_n with high image quality.
  • the image processing system 1 then applies various corrections (described later) to the cumulative feature information 26_n-1 based on information obtained during rendering (motion vectors, depth buffer, information indicating the texture type, etc.) to obtain the (n-1)th auxiliary information 28_n-1 (see Figures 2 and 3).
  • the obtained (n-1)th auxiliary information 28_n-1 is input to the machine learning model 200 together with the nth intermediate frame 22_n, and is used to estimate the nth estimated frame 24_n.
  • the estimated frame 24 is estimated using the intermediate frame 22 corresponding to the current input frame 20, as well as auxiliary information 28 in which past information is accumulated. This increases the amount of information available for estimation, making it possible to obtain a high-quality estimated frame 24_n. Details of the image processing system 1 are described below.
  • [3. Functions Realized by the Image Processing System] 4 is a functional block diagram showing an example of functions realized by the image processing system 1.
  • the image processing system 1 realizes a game processing unit 300, a rendering unit 302, a rendering information storage unit 304, an input frame acquisition unit 306, a variation information acquisition unit 308, an intermediate frame acquisition unit 310, a machine learning model storage unit 312, an estimated frame acquisition unit 314, a motion information acquisition unit 316, a depth information acquisition unit 318, an appearance pixel specification unit 320, an auxiliary information acquisition unit 322, and a color-change pixel information acquisition unit 324.
  • the game processing unit 300, the rendering unit 302, the input frame acquisition unit 306, the variation information acquisition unit 308, the intermediate frame acquisition unit 310, the estimated frame acquisition unit 314, the motion information acquisition unit 316, the depth information acquisition unit 318, the appearance pixel specification unit 320, the auxiliary information acquisition unit 322, and the color-change pixel information acquisition unit 324 are mainly realized by the control unit 10.
  • the rendering information storage unit 304 and the machine learning model storage unit 312 are mainly realized by the storage unit 12. Note that the game processing unit 300, the rendering unit 302, and the rendering information storage unit 304 are functions provided by the game software.
  • the game processing unit 300 executes various processes related to the game. For example, the game processing unit 300 executes a process of arranging a game object O in a virtual three-dimensional space VS, a process of operating or moving the game object O, a process of changing a viewpoint C for viewing the virtual three-dimensional space VS, and the like, in response to a game program executed by the control unit 10 or a user input received by the operation unit 16 (see FIG. 5).
  • the game object O is composed of primitives such as polygons represented by three-dimensional data.
  • the three-dimensional data includes geometric information indicating the positions of vertices, topological information indicating how the vertices are connected to each other, and attribute information such as color.
  • FIG. 5 is a diagram for explaining the processing of the rendering unit 302.
  • the rendering unit 302 generates the first to Nth (N is a natural number of 2 or more) input frames 20 by performing rendering (drawing processing) of three-dimensional data indicating one or more game objects O seen from a predetermined viewpoint C.
  • the rendering unit 302 performs rendering based on the results of various processes performed by the game processing unit 300. Specifically, the rendering unit 302 performs vertex processing (vertex shading) and pixel processing (pixel shading) based on three-dimensional data indicating the game object O placed in the virtual three-dimensional space VS.
  • the vertex processing includes a coordinate conversion process (perspective projection) from the view coordinate system to the screen coordinate system, and a numerical value related to the change in the viewpoint C is added to the perspective projection matrix (camera matrix) used in the coordinate conversion process, as described later.
  • the rendering unit 302 may perform rendering based on light source information, depth information (depth buffer), texture information, normal information, and the like.
  • the texture information of the game object may be animation texture (animation information) which is a moving image, or color information (mirror map information) which is incident on the viewpoint C as a mirror surface of the game object.
  • the texture information of the game object may be color information (ray tracing information) calculated from the intensity of light at the point on the object surface where the straight line connecting the viewpoint C and each pixel on the drawing surface is extended into space and the light intensity is calculated while reflecting transmission and refraction.
  • the rendering unit 302 may execute a process of applying effects such as depth of field (DoF) and motion blur.
  • DoF depth of field
  • the processing of the rendering unit 302 may be appropriately set by a developer of game software or the like.
  • the developer of game software or the like may adjust the MIP of the texture according to the estimated number of pixels of the estimated frame 24 or the like. This makes it possible to suppress the occurrence of noise such as moire in the estimated frame 24.
  • the rendering unit 302 generates each input frame 20 by performing rendering so that the viewpoint C varies for each input frame 20.
  • the rendering unit 302 varies the viewpoint C for each input frame 20.
  • the position of the displayed game object O varies in each of the input frames 20_n, 20_n+1, and 20_n+2.
  • the rendering unit 302 applies jitter when generating each input frame 20.
  • the rendering unit 302 varies the viewpoint C for each input frame 20 by adding a numerical value corresponding to a size of less than one pixel, which differs for each input frame 20, to the perspective projection matrix.
  • the rendering unit 302 varies the viewpoint C for each input frame 20 according to a predetermined rule. For example, the Halton sequence can be used as such a rule.
  • the rendering information storage unit 304 stores information necessary for the rendering process in the rendering unit 302 and information obtained as a result of the rendering process.
  • the rendering information storage unit 304 stores the input frame 20.
  • the rendering information storage unit 304 also stores variation information, motion information, and depth information. Details of the variation information, motion information, and depth information will be described later.
  • the texture information of the game object is animation information, mirror map information, or ray tracing information
  • the rendering information storage unit 304 may store color-change pixel information representing a distribution of pixels generated based on the information among the pixels of the input frame 20.
  • the rendering information storage unit 304 may also store parameters used for coordinate conversion, light source information, texture information, normal information, and the like.
  • the input frame acquisition unit 306 acquires each of the first to Nth input frames 20. Specifically, the input frame acquisition unit 306 acquires each of the first to Nth input frames 20 stored in the rendering information storage unit 304.
  • the variation information acquisition unit 308 acquires variation information.
  • the variation information acquisition unit 308 acquires variation information stored in the rendering information storage unit 304.
  • the variation information is, specifically, information indicating the amount of variation of the viewpoint C between before and after the variation.
  • the information indicating the amount of variation can also be said to be a variation vector indicating the direction and distance of the variation. For example, since the above-mentioned Halton sequence includes information indicating the amount of variation of the viewpoint C, the information may be used as the variation information.
  • the intermediate frame acquisition unit 310 generates, based on each input frame 20, an intermediate frame 22 that corresponds to the input frame 20 and has a number of intermediate pixels equal to or greater than the number of input pixels, thereby acquiring the first to Nth intermediate frames 22.
  • each intermediate frame 22 has a number of intermediate pixels greater than the number of input pixels. That is, in this embodiment, each intermediate frame 22 is an enlarged image of the input frame 20 that corresponds to that intermediate frame 22.
  • the intermediate frame acquisition unit 310 uses the fluctuation information and each pixel of each input frame 20 to obtain pixel values at positions corresponding to each pixel before fluctuation by interpolation, and generates each intermediate frame 22.
  • FIG. 6 is a diagram for explaining the processing in the intermediate frame acquisition unit 310.
  • FIG. 6 illustrates an example of obtaining the n-th intermediate frame 22_n. For example, as shown in FIG.
  • the intermediate frame acquisition unit 310 uses bilinear interpolation to obtain the pixel value of P1,0 based on the coordinates and pixel values of the pixel centers P'0,0, P'1,0, P'0,1, and P'1,1 of the four pixels closest to P1,0 in the input frame 20_n.
  • P'1,0 is shifted from P1,0 by the amount of fluctuation indicated by the fluctuation information.
  • the pixel values of the pixels newly generated by the enlargement process are also obtained in the same manner.
  • various other well-known methods such as bicubic interpolation and Lanczos interpolation can be used as the interpolation method.
  • the amount of time-series information increases, and by using each input frame 20 obtained in this way (hereinafter referred to as the "variable input frame") for estimation, an estimated frame 24 with higher image quality can be obtained.
  • the accuracy of the estimation may decrease due to the influence of the variation in viewpoint C described above.
  • the image processing system 1 uses the variation information and each pixel of each input frame 20 to find pixel values at positions in the input frame 20 that correspond to each pixel before the variation by interpolation, and generates each intermediate frame 22, which are then input to the machine learning model 200. This compensates for the effect of variation in the viewpoint C, making it possible to prevent a decrease in the accuracy of the estimation.
  • the machine learning model 200 is a model that estimates the n-th estimated frame 24_n based on the n-th intermediate frame 22_n. Specifically, the machine learning model 200 is a model that estimates the n-th estimated frame 24_n based on the n-th intermediate frame 22_n and the n-1th auxiliary information 28_n-1. Specifically, the machine learning model 200 is a convolutional neural network (CNN). As the machine learning model 200, for example, a multi-layered ResNet having a residual connection mechanism, a so-called encoder-decoder type U-Net, or other known models can be used. As the machine learning model 200, a model described in Non-Patent Document 1 may be used.
  • the machine learning model 200 is a model trained using multiple training data including a training intermediate frame having an intermediate number of pixels generated based on a training input frame having an input pixel number, auxiliary information 28 in which color-changed pixels are replaced with a predetermined value, and a training estimated frame having an estimated pixel number.
  • auxiliary information 28 included in the training data color-changed pixels are replaced with a predetermined value.
  • the machine learning model 200 has been trained using auxiliary information 28 to which no motion compensation (described below) has been applied for the color-changed pixels.
  • the machine learning model 200 specifically includes an accumulated feature information output layer 202, an estimated frame output layer 204, and a convolutional layer 206 (see FIG. 2).
  • the cumulative feature information output layer 202 receives the nth intermediate frame 22_n and the n-1th auxiliary information 28_n-1 based on the n-1th cumulative feature information 26_n-1 indicating the characteristics of the 1st to n-1th intermediate frames 22, and outputs the nth cumulative feature information 26_n indicating the characteristics of the 1st to nth intermediate frames 22_n.
  • the cumulative feature information output layer 202 may be composed of, for example, one or more convolution layers.
  • the cumulative feature information 26_n-1 is image information (information in bitmap format) having the same number of pixels as the number of intermediate pixels.
  • the cumulative feature information 26_n-1 can also be said to be a feature map indicating the characteristics of the 1st to n-1th intermediate frames 22.
  • the cumulative feature information output layer 202 receives the first intermediate frame 22_1 and the given auxiliary information, and outputs the first cumulative feature information 26_1.
  • the estimated frame output layer 204 receives the nth accumulated feature information 26_n and outputs the nth estimated frame 24_n.
  • the estimated frame output layer 204 may be composed of, for example, one or more convolution layers, similar to the accumulated feature information output layer 202.
  • the estimated frame output layer 204 may be composed of one or more transposed convolution layers (deconvolution layers).
  • the convolution layer 206 is a layer that reduces the number of channels of the accumulated feature information 26 while maintaining the number of pixels of the accumulated feature information 26.
  • the accumulated feature information 26 output from the convolution layer 206 is subjected to processing in the auxiliary information acquisition unit 322.
  • the convolution layer 206 reduces the dimension of the accumulated feature information 26, thereby reducing calculation costs.
  • the convolution layer 206 is, for example, a convolution layer with a kernel size of 1 ⁇ 1, but is not limited to this.
  • the machine learning model storage unit 312 stores the machine learning model 200. Specifically, the machine learning model storage unit 312 stores parameters of the machine learning model 200 (such as the number of convolutional layers, the number of nodes used in each convolutional layer, and the weight of each node).
  • the estimated frame acquisition unit 314 inputs each intermediate frame 22 to the machine learning model 200 to acquire first to Nth estimated frames 24 each having an estimated pixel number greater than the input pixel number and equal to or greater than the intermediate pixel number.
  • the estimated frame 24 has an estimated pixel number equal to the intermediate pixel number. More specifically, the estimated frame acquisition unit 314 inputs the nth intermediate frame 22_n and the n-1th auxiliary information 28_n-1 to the machine learning model 200 to acquire the nth estimated frame 24_n.
  • the motion information acquisition unit 316 acquires the n-1th motion information, which is information indicating the amount and direction of motion from the n-1th input frame 20_n-1 to the nth input frame 20_n.
  • the n-1th motion information specifically, has the same number of pixels as the intermediate pixel number, and is image information indicating the amount and direction of motion of each pixel between the n-1th input frame 20_n-1 and the nth input frame 20_n (information in bitmap format).
  • the motion information is also called a motion vector.
  • the motion information acquisition unit 316 acquires motion information having the same number of pixels as the number of input pixels, and acquires motion information having the same number of pixels as the intermediate pixel number by performing enlargement and interpolation processing on the motion information.
  • the motion information acquisition unit 316 acquires information indicating stationary (for example, a value of 0) as the motion information of pixels generated from a game object that is not moving by rendering.
  • the texture information of the game object is animation information, mirror map information, or ray tracing information
  • the motion information acquisition unit 316 may acquire information indicating that the pixel is a color-change pixel, instead of information indicating that the pixel is stationary.
  • a color-change pixel is represented by information indicating infinity (INF) or not a number (NaN) (see FIG. 7 ).
  • the depth information acquisition unit 318 acquires the (n-1)th depth information indicating the depth of each pixel of the (n-1)th input frame 20_n-1 and the (n)th depth information indicating the depth of each pixel of the (n-1)th input frame 20_n.
  • the depth information is image information having the same number of pixels as the intermediate pixel number (information in bitmap format).
  • the depth information is also called a depth buffer, Z buffer, or depth buffer.
  • the depth information acquisition unit 318 acquires depth information having the same number of pixels as the input pixel number, and performs enlargement and interpolation processing on the depth information to acquire depth information having the same number of pixels as the intermediate pixel number.
  • the appearance pixel specifying unit 320 specifies the nth appearance pixel 222_n, which is a pixel in the nth intermediate frame 22_n where all or a part of the game object O that is not displayed in the n-1th intermediate frame 22_n-1 is displayed, among the pixels of the nth intermediate frame 22_n, based on the n-1th depth information and the nth depth information (see FIG. 3). Specifically, the appearance pixel specifying unit 320 specifies the nth appearance pixel 222_n based on the difference between the n-1th depth information and the nth depth information.
  • the appearance pixel specifying unit 320 may specify the nth appearance pixel 222_n based on the n-1th perspective projection matrix related to the n-1th intermediate frame 22_n-1 and the nth perspective projection matrix related to the nth intermediate frame 22_n.
  • the appearance pixel specifying unit 320 may also specify the nth appearance pixel 222_n by using the n-1th motion information. More specifically, the appearance pixel specifying section 320 specifies the nth appearance pixel 222_n, and generates nth appearance pixel information, which is image information indicating the position of the nth appearance pixel 222_n.
  • the color change pixel information acquisition unit 324 identifies the nth color change pixel including color information that changes regardless of the movement of the object in the nth intermediate frame 22 based on the texture information of the object, and acquires the color change pixel information. Specifically, the process of identifying the color change pixel will be described with reference to the diagram shown in FIG. 7.
  • the upper part of FIG. 7 shows a schematic diagram of a scene that is rendered on the windshield from the viewpoint of the driver's seat in a racing game or the like.
  • the diagram shows a plurality of trees lined up against the sky, with a rearview mirror 700 positioned near the center. Each tree is a game object made up of leaves and a trunk, and color information such as green and brown is added to the game object of the tree as a texture.
  • the rearview mirror 700 is a game object that is made up of the mirror surface and non-mirror parts such as a frame.
  • the scenery reflected by the rearview mirror 700 as seen from viewpoint C is added as texture to the mirror surface.
  • an image is generated by rendering in a direction symmetrical to viewpoint C (the direction of mirror reflection), and this image is added as the texture of the game object called the rearview mirror.
  • the motion information acquisition unit 316 acquires the motion information shown in the lower left of FIG. 7 as the nth motion information, which is information indicating the amount and direction of motion from the n-1th input frame 20_n-1 to the nth input frame 20_n. Specifically, since the position of the viewpoint C is inside the car, the scenery reflected on the windshield changes according to the movement of the game object, the car. For example, the motion information acquisition unit 316 acquires motion information indicating that a pixel representing a tree has moved 0.0f in the x direction and 0.1f in the y direction. The motion information acquisition unit 316 also acquires motion information about a pixel representing a rearview mirror. Here, the rearview mirror 700 is fixed inside the car and is stationary when viewed from the viewpoint C.
  • the motion information acquisition unit 316 acquires information indicating that it is a color-change pixel (for example, NaN in the x direction and NaN in the y direction), rather than motion information indicating that the rearview mirror 700 is actually stationary (i.e., motion information indicating that it has moved 0 in the x direction and 0 in the y direction).
  • the color-changing pixel information acquisition unit 324 identifies the nth color-changing pixel in the motion information, which contains color information that changes regardless of the motion of the object in the nth intermediate frame 22, and acquires the color-changing pixel information. That is, the color-changing pixel information acquisition unit 324 identifies pixels in the motion information that contain information (here, NaN) that indicates that they are color-changing pixels, and generates the color-changing pixel information shown in the lower right of FIG. 7.
  • the color-changing pixel information is image information (information in bitmap format) in which the identified color-changing pixel is 0 and pixels other than the color-changing pixel are Refer RFM.
  • Refer RFM is information that indicates that no calculation is performed on the pixel in the processing using the color-changing pixel information by the auxiliary information acquisition unit.
  • the color-changing pixel information acquisition unit 324 acquires color-changing pixel information having the same number of pixels as the number of input pixels, and acquires color-changing pixel information having the same number of pixels as the number of intermediate pixels by performing enlargement and interpolation processing on the color-changing pixel information.
  • the color-change pixel information acquisition unit 324 may acquire the color-change pixel information from the rendering information storage unit 304 without going through the motion information.
  • the auxiliary information acquisition unit 322 acquires the n-1th auxiliary information 28_n-1 by applying motion compensation to the n-1th accumulated feature information 26_n-1 based on the n-1th motion information.
  • Motion compensation refers to a process of moving a pixel at position x in the n-1th accumulated feature information 26_n to position x' when, for example, a pixel at position x in the n-1th intermediate frame 22_n-1 has moved to position x' in the nth intermediate frame 22_n (see FIG. 3).
  • the auxiliary information acquisition unit 322 acquires the n-1th auxiliary information 28_n-1 by setting the pixel value of each of one or more pixels in the n-1th accumulated feature information 26_n-1 to a pixel at a position moved according to the amount and direction of the pixel's motion based on the n-1th motion information.
  • a ghost phenomenon may occur in which an afterimage of the game object O that was displayed in the nth intermediate frame 22_n is displayed in the output nth estimated frame 24_n.
  • motion compensation is applied to the n-1th accumulated feature information 26_n-1 based on the n-1th motion information to obtain the n-1th auxiliary information 28_n-1, and when obtaining the nth estimated frame 24_n, this n-1th auxiliary information 28_n-1 is input to the machine learning model 200. This makes it possible to suppress the above-mentioned ghost phenomenon.
  • the auxiliary information acquisition unit 322 also acquires the n-1th auxiliary information 28_n-1 by replacing the pixel value of the nth appearance pixel 222_n in the n-1th accumulated feature information 26_n-1 with a predetermined value. Specifically, the auxiliary information acquisition unit 322 acquires the n-1th auxiliary information 28_n-1 by replacing the pixel value of the nth appearance pixel 222_n in the n-1th accumulated feature information 26_n-1 with a predetermined value based on the nth appearance pixel information.
  • the predetermined value may be a constant value such as 0 (black), or may be the pixel value of the nth appearance pixel 222_n in the nth intermediate frame 22_n.
  • the ghost phenomenon described above may occur in the nth estimated frame 24_n that is output.
  • the image processing system 1 identifies the nth appearance pixel 222_n, which is a pixel in the nth intermediate frame 22_n where all or part of the game object O that is not displayed in the n-1th intermediate frame 22_n-1 is displayed, and obtains the n-1th auxiliary information 28_n-1 by replacing the pixel value of the nth appearance pixel 222_n in the n-1th accumulated feature information 26_n-1 with a predetermined value. This makes it possible to suppress the above-mentioned ghost phenomenon.
  • the auxiliary information acquisition unit 322 also acquires the nth auxiliary information by replacing the pixel value of the color-changing pixel in the nth accumulated characteristic information with a predetermined value. Specifically, the auxiliary information acquisition unit 322 acquires the nth auxiliary information 28_n by replacing the pixel value of the nth color-changing pixel in the nth accumulated characteristic information 26_n with a predetermined value based on the nth color-changing pixel information.
  • the predetermined value may be a constant value such as 0 (black), or may be the pixel value of the nth color-changing pixel n in the nth intermediate frame 22_n.
  • the auxiliary information acquisition unit 322 does not perform the above replacement for pixels other than the color-changing pixels.
  • the color-change pixels identified as described above are pixels whose color information is obtained based on a game object whose texture changes, and have no relation to the game object's motion information. Even if the game object in question is moving, there is no relation between the motion information representing that motion and the game object's texture. Applying the above-described motion compensation to such color-change pixels would actually result in a loss of image quality.
  • the image processing system 1 identifies the nth color-changing pixel, which contains color information that changes regardless of the object's movement in the nth intermediate frame, based on the texture information of the object, and obtains the nth auxiliary information by replacing the pixel value of the color-changing pixel in the nth accumulated feature information with a predetermined value. This makes it possible to suppress the degradation of image quality.
  • the motion compensation, replacement processing based on appearance pixel information, and replacement processing based on color change pixel information performed by the auxiliary information acquisition unit 322 may be performed entirely or partially for one piece of accumulated feature information 26.
  • FIG. 8 is a flow diagram showing an example of the flow of processing executed in the image processing system 1. The processing shown in FIG.
  • the control unit 10 acquires a first input frame 20_1 (S700).
  • the control unit 10 acquires a first intermediate frame 22_1 based on the first input frame 20_1 (S702).
  • the control unit 10 inputs the first intermediate frame 22_1 and given auxiliary information to the machine learning model 200, and acquires a first estimated frame 24_1 and first accumulated feature information 26_1 (S704).
  • the control unit 10 acquires the n-th input frame 20_n (S706).
  • the control unit 10 acquires the n-th intermediate frame 22_n based on the n-th input frame 20_n (S708).
  • the control unit 10 acquires the n-1th motion information (S710).
  • the control unit 10 also acquires the n-1th depth information and the nth depth information (S712), and identifies the nth appearance pixel 222_n based on the n-1th depth information and the nth depth information (S714).
  • the control unit 10 acquires the n-1th auxiliary information 28_n-1 based on the n-1th cumulative feature information 26_n-1, the n-1th motion information, and the nth appearance pixel 222_n (S716).
  • the control unit 10 inputs the nth intermediate frame 22_n and the n-1th auxiliary information 28_n-1 to the machine learning model 200, and acquires the nth estimated frame 24_n and the nth cumulative feature information 26_n (S718).
  • the control unit 10 determines whether or not the next frame exists (S720), and if it determines that the next frame exists (S720; Y), it increments n to n+1 and repeats the processes of S706 to S718. If the control unit 10 determines that the next frame does not exist (S720; N), it ends this process. Note that if the control unit 10 determines that the next frame does not exist (S720; N), it may cause the first to Nth estimated frames 24 to be displayed on the display unit 18 as is.
  • an nth color-changing pixel including color information that changes independently of the object's motion in the nth intermediate frame is identified based on the texture information of the object, and the pixel value of the color-changing pixel in the nth accumulated feature information is replaced with a predetermined value to obtain the nth auxiliary information. That is, in the image processing means that estimates a high-quality video based on a low-quality video using the motion information and information from past frames, it is possible to perform highly accurate super-resolution processing on a video generated from an object whose texture changes independently of motion information.
  • the intermediate frame 22 does not necessarily have to be an enlarged version of the input frame 20.
  • An image processing system including at least one processor, The at least one processor: Acquire first to Nth input frames (N is a natural number equal to or greater than 2) each having a predetermined number of input pixels; generating an intermediate frame corresponding to each input frame and having an intermediate pixel number equal to or greater than the input pixel number based on each input frame, thereby obtaining first to Nth intermediate frames, respectively; inputting each of the intermediate frames into a machine learning model to obtain first to Nth estimated frames each having an estimated pixel number greater than the input pixel number and equal to or greater than the intermediate pixel number;
  • each said input frame being an image obtained by performing a rendering of three-dimensional data showing one or more objects as seen from a predetermined viewpoint; 13.
  • An image processing system according to claim 1.
  • (3) each of the input frames is an image obtained by performing the rendering such that the viewpoint varies for each of the input frames;
  • the at least one processor acquiring variation information relating to a variation of the viewpoint for each input frame in the rendering; determining, by interpolation, pixel values at positions in the input frames corresponding to the pixels before the fluctuation, based on the fluctuation information and each pixel of each of the input frames, to generate each of the intermediate frames;
  • the image processing system according to (2).
  • the at least one processor obtaining n-1th motion information, the information indicating an amount and direction of motion from the n-1th input frame to the nth input frame; obtaining the (n-1)th auxiliary information by applying motion compensation to the (n-1)th accumulated feature information based on the (n-1)th motion information;
  • the image processing system according to (2) or (3).
  • the at least one processor Obtaining n-1th depth information indicating a depth of each pixel of the n-1th input frame and nth depth information indicating a depth of each pixel of the nth input frame; Identifying an nth appearance pixel, which is a pixel in which all or a part of the object not displayed in the n-1th intermediate frame is displayed, among the pixels of the nth intermediate frame based on the (n-1)th depth information and the nth depth information; acquiring the (n-1)th auxiliary information by replacing the pixel value of the n-th occurrence pixel in the (n-1)th cumulative feature information with a predetermined value; An image processing system according to (4).
  • the cumulative feature information output layer receives the first intermediate frame and given auxiliary information, and outputs the first cumulative feature information;
  • the cumulative feature information is image information having the same number of pixels as the intermediate pixel number;
  • the color-changing pixels are represented by information representing infinity or non-number.
  • the processor Acquire first to Nth input frames (N is a natural number equal to or greater than 2) each having a predetermined number of input pixels; generating an intermediate frame corresponding to each input frame and having an intermediate pixel number equal to or greater than the input pixel number based on each input frame, thereby obtaining first to Nth intermediate frames, respectively; inputting each of the intermediate frames into a machine learning model to obtain first to Nth estimated frames each having an estimated pixel number greater than the input pixel number and equal to or greater than the intermediate pixel number;
  • an input frame acquisition means for acquiring first to Nth (N is a natural number equal to or greater than 2) input frames each having a predetermined number of input pixels; an intermediate frame acquisition means for generating, based on each of the input frames, intermediate frames corresponding to the input frames and having a number of intermediate pixels equal to or greater than the number of input pixels, thereby acquiring first to Nth intermediate frames, respectively; an estimated frame acquisition means for inputting each of the intermediate frames into a machine learning model to acquire first to Nth estimated frames each having an estimated pixel number greater than the input pixel number and equal to or greater than the intermediate pixel number;

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

動き情報に依拠せずテクスチャが変化するオブジェクトから生成された動画像に対して高精度な超解像処理を施すことを可能とする。画像処理システムであって、プロセッサは、入力画素数を有する第1~第Nの入力フレーム及び各入力フレームから第1~第Nの中間フレームを取得し、各中間フレームから第1~第Nの推定フレームを取得し、オブジェクトのテクスチャ情報に基づいて、第nの中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、第nの累積特徴情報における色変化画素の画素値を所定の値に置換することにより第nの補助情報を取得し、機械学習モデルは、第nの累積特徴情報を出力する出力層と第nの推定フレームを出力する出力層を含み、学習中間フレームと、色変化画素が所定の値に置換された補助情報と、学習推定フレームを含む複数の訓練データにより学習されたものである。

Description

画像処理システム、画像処理方法及びプログラム
 本開示は、画像処理システム、画像処理方法及びプログラムに関する。
 従来、機械学習モデルを用いて、低画質の静止画像に基づいて高画質の静止画像を推定する技術(超解像)が知られている(下記非特許文献1参照)。
Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang. Learning a Deep Convolutional Network for Image Super-Resolution, in Proceedings of European Conference on Computer Vision (ECCV), 2014
 本願の発明者らは、上記の超解像をゲーム画面のような動画像に応用することを検討している。ここで、動画像の超解像においては、処理対象となる各フレームの情報のみならず、該フレームの過去フレームの情報を考慮することで、より高画質な動画像を推定することができると考えられる。特に、モーションベクトル等と呼ばれるオブジェクトの動きを表す情報を考慮することで、ゴーストによる画質の低下を回避することができる。しかしながら、オブジェクトが鏡であったり、アニメーションテクスチャが付されたオブジェクトあったりする場合等、オブジェクトの動き情報とは無関係に当該オブジェクトのテクスチャが変化するものも存在する。このようなオブジェクトから生成された動画像に対して動き情報を考慮した超解像処理を行うと、かえって画質が低下する要因となる。
 本開示は、動き情報及び過去フレームの情報を利用して、低画質の動画像に基づいて高画質の動画像を推定する画像処理手段において、動き情報に依拠せずテクスチャが変化するオブジェクトから生成された動画像に対して高精度な超解像処理を施すことができる画像処理システム、画像処理方法及びプログラムを提供することを目的とする。
 本開示に係る画像処理システムは、少なくとも一つのプロセッサを含む画像処理システムであって、前記少なくとも一つのプロセッサは、所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得し、前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、前記機械学習モデルは、第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、前記少なくとも一つのプロセッサは、オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得し、前記機械学習モデルは、前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである。
画像処理システムのハードウェア構成の一例を示す図である。 画像処理システムの概要を示す図である。 画像処理システムの処理を模式的に示す図である。 画像処理システムで実現される機能の一例を示す機能ブロック図である。 レンダリング部の処理を説明する図である。 中間フレーム取得部における処理を説明する図である。 色変化画素を特定する処理を模式的に示す図である。 画像処理システムで実行される処理の流れの一例を示すフロー図である。
 以下、本開示に係る画像処理システムの実施形態の一例について、図面を参照しながら説明する。
[1.画像処理システムのハードウェア構成]
 図1は、画像処理システム1のハードウェア構成の一例を示す図である。画像処理システム1は、例えばゲームコンソール(ゲーム機)等のコンピュータである。図1に示すように、画像処理システム1は、制御部10、記憶部12、通信部14、操作部16、表示部18及び音声出力部19を含む。
 制御部10は、例えば画像処理システム1にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスを含む。また、制御部10は、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含む。
 記憶部12は、例えばROMやRAM等の主記憶装置及びHDDやSSD等の補助記憶装置を含む。記憶部12には、制御部10によって実行されるプログラムなどが記憶される。記憶部12は、後述する画像処理システム1の各種機能を実現するためのプログラムに加えて、例えばゲームプログラム(ゲームソフトウェア)を記憶する。また、記憶部12には、GPUにより画像が描画されるフレームバッファの領域が確保されている。
 通信部14は、例えばイーサネット(登録商標)モジュールや無線LANモジュール等の通信インタフェースである。
 操作部16は、キーボードやマウス、ゲームコンソールのコントローラ等のユーザインタフェースであり、ユーザの操作入力を受け付けて、その内容を示す信号を制御部10に出力する。
 表示部18は、液晶ディスプレイや有機ELディスプレイ等の表示デバイスであり、制御部10の指示に従って各種の画像を表示する。
 音声出力部19は、例えばスピーカ等であり、画像処理システム1が生成する音声データが示す音声を出力する。
 なお、画像処理システム1は、上記したデバイスの他に、DVD-ROMやBlu-ray(登録商標)ディスク等の光ディスクを読み取る光ディスクドライブや、USB(Universal Serial Bus)ポート等を含んでいてもよい。
[2.画像処理システムの概要]
 図2は、画像処理システム1の概要を示す図である。図3は、画像処理システム1の処理を模式的に示す図である。本実施形態では、画像処理システム1が、ゲームにおけるプレイ動画像の画質向上に利用される場合を例示する。プレイ動画像は、制御部10が実行するゲームプログラムや操作部16が受け付けるユーザの入力等に応じて生成される動画像であり、時系列データである複数の静止画像(フレーム)から構成される。画像処理システム1で行われる処理は主に以下の通りである。
(1)入力フレームの生成
 まず画像処理システム1は、所定の視点から見た一以上のゲームオブジェクトを示す3次元データのレンダリングを実行することにより、該ゲームオブジェクトが描画された画像(入力フレーム)を生成する。この入力フレームは、所定の画素数(入力画素数)及び所定の画質(入力画質)を有する画像である(図3参照)。入力フレームは所定時間毎に生成される。入力フレームの画素数は、例えば1920×1080(1080p)である。生成された各入力フレームは、そのまま表示部18に表示されるのではなく、一旦記憶部12に格納され、以降の処理に供される。なお、以降の説明においては、n番目の(第nの)入力フレーム20_nを対象とする処理を主に例示するが、同様の処理は他の入力フレームに対しても実行される(すなわち、n=2,3,…,N)。
(2)中間フレームの取得
 画像処理システム1は、取得された入力フレーム20_nに基づいて、入力画素数より多い画素数(中間画素数)を有するフレーム(中間フレーム)22_nを取得する。中間画素数は、例えば3840×2160(4K)である。具体的には、入力フレーム20_nに対して拡大及び補間処理が実行されることにより、中間フレーム22_nが生成される(図3参照)。
 ここで、中間フレーム22_nは入力フレーム20_nの画素数より多い画素数を有するものの、その画質は必ずしも十分には改善されていないことに留意されたい。すなわち、フレームの画質とは、単に画素数の多さ(解像度の高さ)をいうのではない。フレームの画質は、例えば、基準となるフレームと比較した際の、SN比の高さ、空間周波数の再現性の高さ、時間安定性の高さ(複数のフレームを連続表示した際におけるアーティファクトやちらつきの少なさ)等のそれぞれ又はこれらの総合考慮に基づいて評価されてよい。
(3)推定フレームの取得
 画像処理システム1は、中間フレーム22_nを機械学習モデル200に入力し、推定フレーム24_nを取得する。推定フレーム24_nは、中間画素数と同数の画素数(推定画素数)及び入力画質以上の画質である画質(推定画質)を有する画像である(図3参照)。
 ここで、機械学習モデル200には、中間フレーム22_nに加えて、第n-1の補助情報28_n-1が入力される(図2、図3参照)。補助情報28_n-1は、第1~第n-1の中間フレーム22の特徴を示す第n-1の累積特徴情報26_n-1に基づく情報である。累積特徴情報26及び補助情報28の詳細については後述する。
 なお、機械学習モデル200は、入力画素数及び入力画質を有する学習入力フレームに基づいて生成された中間画素数を有する学習中間フレームと、推定画素数及び推定画質を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたモデルである。機械学習モデル200の詳細については後述する。
(4)累積特徴情報の取得
 機械学習モデル200は、中間フレーム22_nと、補助情報28_n-1と、が入力され、第1~第nの中間フレーム22の特徴を示す第nの累積特徴情報26_nを出力する累積特徴情報出力層202を有する(図2参照)。画像処理システム1は、第nの累積特徴情報26_nを取得する。
 取得された第nの累積特徴情報26_nは、推定フレーム出力層204に入力され、推定フレーム出力層204からは第nの推定フレーム24_nが出力される(図2参照)。なお、取得された第nの累積特徴情報26_nは、記憶部12にも格納され、次の入力フレーム(第n+1の入力フレーム)20_n+1に対応する推定フレーム24_n+1の推定に供される。
(5)補助情報の取得
 第n-1の累積特徴情報26_n-1は、前述の通り、第1~第n-1の中間フレーム22(ひいては第1~第n-1の入力フレーム20)の特徴を示す情報である。このように過去の入力フレーム20の情報が蓄積された累積特徴情報26_n-1を第nの推定フレーム24_nの推定に利用すれば、推定に利用可能な情報が増えるので、高画質な推定フレーム24_nを得ることができる。
 しかしながら、第n-1の入力フレーム20_n-1と第nの入力フレーム20_nとの間で、表示されるゲームオブジェクトに動き等があった場合、第nの中間フレーム22_nと累積特徴情報26_n-1とがそのまま機械学習モデル200に入力されると、第n-1の入力フレーム20_n-1に表示されていたゲームオブジェクトの残像が表示されてしまう現象(いわゆるゴースト現象)が発生しうる。
 そこで、画像処理システム1は、累積特徴情報26_n-1に対して、レンダリングの際に得られる情報(動きベクトル、深度バッファ。テクスチャの種類を示す情報等)に基づく、後述する種々の補正を適用することにより、第n-1の補助情報28_n-1を取得する(図2、図3参照)。取得された第n-1の補助情報28_n-1は、前述の通り、第nの中間フレーム22_nとともに機械学習モデル200に入力され、第nの推定フレーム24_nの推定に供される。
 以上に説明したように、本実施形態に係る画像処理システム1によれば、現在の入力フレーム20に対応する中間フレーム22に加えて、過去の情報が蓄積された補助情報28を用いて、推定フレーム24を推定する。これにより、推定に利用可能な情報が増えるので、高画質な推定フレーム24_nを得ることができる。以下、画像処理システム1の詳細について説明する。
[3.画像処理システムで実現される機能]
 図4は、画像処理システム1で実現される機能の一例を示す機能ブロック図である。図4に示すように、画像処理システム1では、ゲーム処理部300、レンダリング部302、レンダリング情報記憶部304、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、機械学習モデル記憶部312、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320、補助情報取得部322及び色変化画素情報取得部324が実現される。ゲーム処理部300、レンダリング部302、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320、補助情報取得部322及び色変化画素情報取得部324は、主に制御部10により実現される。レンダリング情報記憶部304及び機械学習モデル記憶部312は、主に記憶部12により実現される。なお、ゲーム処理部300、レンダリング部302及びレンダリング情報記憶部304は、ゲームソフトウェアにより提供される機能である。
[ゲーム処理部]
 ゲーム処理部300は、ゲームに関する種々の処理を実行する。ゲーム処理部300は、例えば、制御部10が実行するゲームプログラムや操作部16が受け付けるユーザの入力に応じて、仮想3次元空間VSにゲームオブジェクトOを配置する処理や、ゲームオブジェクトOを動作させ又は移動させる処理、仮想3次元空間VSを見る視点Cを変更する処理等を実行する(図5参照)。ゲームオブジェクトOは、3次元データが示すポリゴン等のプリミティブにより構成される。3次元データは、頂点の位置等を示す幾何情報と、頂点同士をどのように結ぶかを示す位相情報と、色等の属性情報と、を含む。
[レンダリング部]
 図5は、レンダリング部302の処理を説明する図である。レンダリング部302は、所定の視点Cから見た一以上のゲームオブジェクトOを示す3次元データのレンダリング(描画処理)を実行することにより、第1~第N(Nは2以上の自然数である。)の入力フレーム20を生成する。レンダリング部302は、ゲーム処理部300で実行される種々の処理の結果に基づいてレンダリングを実行する。レンダリング部302は、具体的には、仮想3次元空間VSに配置されたゲームオブジェクトOを示す3次元データに基づいて、頂点処理(頂点シェーディング)及び画素処理(ピクセルシェーディング)を実行する。頂点処理は、ビュー座標系からスクリーン座標系への座標変換処理(透視投影)を含み、該座標変換処理に用いられる透視投影行列(カメラ行列)には、後述するように、視点Cの変動に係る数値が加えられる。レンダリング部302は、光源情報や深度情報(デプスバッファ)、テクスチャ情報、法線情報等に基づいて、レンダリングを実行してもよい。ゲームオブジェクトのテクスチャ情報は、動画像であるアニメーションテクスチャ(アニメーション情報)や、当該ゲームオブジェクトを鏡面として視点Cに入射する色情報(ミラーマップ情報)であってもよい。また、ゲームオブジェクトのテクスチャ情報は、視点Cと描画面上の各画素を結ぶ直線を空間内に延長していき、透過や屈折を反映しつつ最初にぶつかった物体表面上の点における光の強さから算出された色情報(レイトレーシング情報)であってもよい。レンダリング部302は、上記の処理の他、例えば、被写界深度(DoF)やモーションブラー等のエフェクトを適用する処理を実行してもよい。レンダリング部302の処理は、ゲームソフトウェアの開発者等が適宜設定してよい。ここで、ゲームソフトウェアの開発者等は、推定フレーム24の推定画素数等に応じて、テクスチャのMIPを調整してよい。これにより、推定フレーム24において、モアレ等のノイズの発生を抑制することができる。
 ここで、レンダリング部302は、視点Cが入力フレーム20毎に変動するようにレンダリングを実行することにより、各入力フレーム20を生成する。ここで、ゲーム処理部300が視点Cを所定の位置に固定させていたとしても、レンダリング部302は、入力フレーム20毎に視点Cに変動を加える。その結果、図5に示すように、入力フレーム20_n,20_n+1,20_n+2のそれぞれにおいて、表示されるゲームオブジェクトOの位置が変動している。換言すれば、レンダリング部302は、各入力フレーム20の生成の際に、ジッター(Jitter)を適用している。レンダリング部302は、具体的には、入力フレーム20毎に異なる、一画素未満の大きさに対応する数値を透視投影行列に加えることにより、視点Cを入力フレーム20毎に変動させる。レンダリング部302は、所定の規則に従って視点Cを入力フレーム20毎に変動させる。そのような規則としては、例えばHalton列が利用可能である。
[レンダリング情報記憶部]
 レンダリング情報記憶部304は、レンダリング部302でのレンダリング処理に必要な情報及びレンダリング処理の結果得られる情報を記憶する。例えば、レンダリング情報記憶部304は、入力フレーム20を記憶する。また、レンダリング情報記憶部304は、変動情報、動き情報及び深度情報を記憶する。変動情報、動き情報及び深度情報の詳細については後述する。さらに、レンダリング情報記憶部304は、ゲームオブジェクトのテクスチャ情報がアニメーション情報、ミラーマップ情報またはレイトレーシング情報である場合に、入力フレーム20の画素のうちこれらの情報に基づいて生成された画素の分布を表す色変化画素情報を記憶してもよい。レンダリング情報記憶部304は、その他、レンダリング情報記憶部304は、座標変換に用いるパラメータや、光源情報、テクスチャ情報、法線情報等を記憶してよい。
[入力フレーム取得部]
 入力フレーム取得部306は、第1~第Nの入力フレーム20をそれぞれ取得する。具体的には、入力フレーム取得部306は、レンダリング情報記憶部304に記憶された第1~第Nの入力フレーム20をそれぞれ取得する。
[変動情報取得部]
 変動情報取得部308は、変動情報を取得する。変動情報取得部308は、レンダリング情報記憶部304に記憶された変動情報を取得する。変動情報は、具体的には、変動前と変動後との間での視点Cの変動量を示す情報である。変動量を示す情報は、変動の方向及び距離を示す変動ベクトルであるということもできる。例えば、前述したHalton列に視点Cの変動量を示す情報が含まれているため、その情報を変動情報として用いてよい。
[中間フレーム取得部]
 中間フレーム取得部310は、各入力フレーム20に基づいて、該入力フレーム20に対応するとともに入力画素数以上の中間画素数を有する中間フレーム22を生成することにより、第1~第Nの中間フレーム22をそれぞれ取得する。本実施形態では、各中間フレーム22は、入力画素数より多い中間画素数を有する。すなわち、本実施形態では,各中間フレーム22は、該中間フレーム22に対応する入力フレーム20を拡大した画像である。
 具体的には、中間フレーム取得部310は、変動情報と、各入力フレーム20の各画素と、に基づいて、該入力フレーム20における、変動前の各画素に相当する位置の画素値を補間により求め、各中間フレーム22を生成する。図6は、中間フレーム取得部310における処理を説明する図である。図6では、第nの中間フレーム22_nを求める場合を例示する。例えば、図6に示すように、取得しようとする中間フレーム22_nにおけるある画素の画素中心がP1,0であるとすると、中間フレーム取得部310は、入力フレーム20_nにおけるP1,0に最も近い4つの画素それぞれの画素中心P’0,0,P’1,0,P’0,1,P’1,1の座標及び画素値に基づいて、P1,0の画素値を双一次(バイリニア)補間により求める。ここで、P’1,0は、変動情報が示す変動量の分だけP1,0からずれた位置にある。拡大処理により新たに生成された画素の画素値についても、同様にして求められる。なお、補間の方法としては、バイリニア補間の他にも、双三次(バイキュービック)補間やLanczos補間等、種々の公知の手法が利用可能である。
 視点Cが入力フレーム20毎に変動するようにレンダリングを実行すると、時系列の情報量が増えるところ、そのようにして得られた各入力フレーム20(以下、「変動入力フレーム」という。)を推定に利用すれば、より高画質な推定フレーム24を得ることができる。
 一方、変動入力フレーム(又はこれを拡大した画像)をそのまま機械学習モデル200に入力すると、上記の視点Cの変動の影響により、推定の確度が低下しまうおそれもある。
 そこで、画像処理システム1では、前述したように、変動情報と、各入力フレーム20の各画素と、に基づいて、該入力フレーム20における、変動前の各画素に相当する位置の画素値を補間により求め、各中間フレーム22を生成し、これを機械学習モデル200に入力するようにした。これにより、視点Cの変動の影響が補正されるので、推定の確度が低下しまうことを抑制することができる。
[機械学習モデル]
 機械学習モデル200は、第nの中間フレーム22_nに基づいて、第nの推定フレーム24_nを推定するモデルである。具体的には、機械学習モデル200は、第nの中間フレーム22_n及び第n-1の補助情報28_n-1に基づいて、第nの推定フレーム24_nを推定するモデルである。機械学習モデル200は、具体的には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)である。機械学習モデル200としては、例えば、残差接続機構を有する多層構造のResNetや、いわゆるエンコーダ-デコーダ型のU-Net等、公知のモデルが利用可能である。機械学習モデル200として、非特許文献1に記載のモデルを利用してもよい。
 機械学習モデル200は、入力画素数を有する学習入力フレームに基づいて生成された中間画素数を有する学習中間フレームと、色変化画素が所定の値に置換された補助情報28と、推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたモデルである。機械学習モデル200の学習には、誤差逆伝播法等の種々の公知の手法が利用可能である。訓練データに含まれる補助情報28は色変化画素が所定の値に置換されている。すなわち、機械学習モデル200は、色変化画素については動き補償(後述)が適用されていない補助情報28を用いて、学習が実行済である。
 機械学習モデル200は、具体的には、累積特徴情報出力層202と、推定フレーム出力層204と、畳み込み層206と、を含む(図2参照)。
 累積特徴情報出力層202は、第nの中間フレーム22_nと、第1~第n-1の中間フレーム22の特徴を示す第n-1の累積特徴情報26_n-1に基づく第n-1の補助情報28_n-1と、が入力され、第1~第nの中間フレーム22_nの特徴を示す第nの累積特徴情報26_nを出力する。累積特徴情報出力層202は、例えば一以上の畳み込み層により構成されてよい。累積特徴情報26_n-1は、中間画素数と同数の画素数を有する画像情報(ビットマップ形式の情報)である。累積特徴情報26_n-1は、第1~第n-1の中間フレーム22の特徴を示す特徴マップであるということもできる。
 なお、累積特徴情報出力層202は、第1の中間フレーム22_1と、所与の補助情報と、が入力され、第1の累積特徴情報26_1を出力する。n=1の場合、それ以前の累積特徴情報26及び補助情報28が存在しないため、予め用意した所与の補助情報が、第1の中間フレーム22_1ともに累積特徴情報出力層202に入力される。
 推定フレーム出力層204は、第nの累積特徴情報26_nが入力され、第nの推定フレーム24_nを出力する。推定フレーム出力層204は、累積特徴情報出力層202と同様、例えば一以上の畳み込み層により構成されてよい。或いは、推定フレーム出力層204は、一以上の転置畳み込み層(逆畳み込み層)により構成されてもよい。
 畳み込み層206は、累積特徴情報26の画素数を維持しつつそのチャンネル数を減少させる層である。畳み込み層206から出力された累積特徴情報26は、補助情報取得部322での処理に供される。畳み込み層206によれば、累積特徴情報26の次元が削減されるので、計算コストを抑えることができる。畳み込み層206は、例えばカーネルサイズが1×1の畳み込み層であるが、これに限定されない。
[機械学習モデル記憶部]
 機械学習モデル記憶部312は、機械学習モデル200を記憶する。具体的には、機械学習モデル記憶部312は、機械学習モデル200のパラメータ(畳み込み層の数や各畳み込み層に使用されるノード数、各ノードの重み等)を記憶する。
[推定フレーム取得部]
 推定フレーム取得部314は、各中間フレーム22を機械学習モデル200に入力して、入力画素数より多く中間画素数以上の推定画素数を有する第1~第Nの推定フレーム24をそれぞれ取得する。本実施形態では、推定フレーム24は、中間画素数と同数の推定画素数を有する。推定フレーム取得部314は、より具体的には、第nの中間フレーム22_n及び第n-1の補助情報28_n-1を機械学習モデル200に入力して、第nの推定フレーム24_nを取得する。
[動き情報取得部]
 動き情報取得部316は、第n-1の入力フレーム20_n-1から第nの入力フレーム20_nへの動きの量及び方向を示す情報である第n-1の動き情報を取得する。第n-1の動き情報は、具体的には、中間画素数と同数の画素を有し、第n-1の入力フレーム20_n-1と第nの入力フレーム20_nとの間における各画素の動きの量及び方向を示す画像情報である(ビットマップ形式の情報)。動き情報は、モーションベクトル(Motion Vector)とも呼ばれる。動き情報取得部316は、具体的には、入力画素数と同数の画素数を有する動き情報を取得し、該動き情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する動き情報を取得する。動き情報取得部316は、レンダリングによって動いていないゲームオブジェクトから生成された画素の動き情報として、停止していることを表す情報(例えば0値)を取得する。ここで、ゲームオブジェクトのテクスチャ情報がアニメーション情報、ミラーマップ情報またはレイトレーシング情報である場合、動き情報取得部316は、停止していることを表す情報に代えて、当該画素が色変化画素であることを表す情報を取得してもよい。色変化画素は、例えば、無限大(INF)または非数(NaN)であることを表す情報によって表される(図7参照)。
[深度情報取得部]
 深度情報取得部318は、第n-1の入力フレーム20_n-1の各画素の深度を示す第n-1の深度情報と、第nの入力フレーム20_nの各画素の深度を示す第nの深度情報と、を取得する。深度情報は、具体的には、中間画素数と同数の画素を有する画像情報である(ビットマップ形式の情報)。深度情報は、深度バッファ、Zバッファ又はデプスバッファとも呼ばれる。深度情報取得部318は、具体的には、入力画素数と同数の画素数を有する深度情報を取得し、該深度情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する深度情報を取得する。
[出現画素特定部]
 出現画素特定部320は、第n-1の深度情報と、第nの深度情報と、に基づいて、第nの中間フレーム22_nの画素のうち、第n-1の中間フレーム22_n-1では表示されていないゲームオブジェクトOの全部又は一部が表示されている画素である第nの出現画素222_nを特定する(図3参照)。出現画素特定部320は、具体的には、第n-1の深度情報と、第nの深度情報と、の差分に基づいて、第nの出現画素222_nを特定する。なお、出現画素特定部320は、第n-1の中間フレーム22_n-1に係る第n-1の透視投影行列と、第nの中間フレーム22_nに係る第nの透視投影行列と、に基づいて、第nの出現画素222_nを特定してもよい。また、出現画素特定部320は、第n-1の動き情報を利用して第nの出現画素222_nを特定してもよい。なお、出現画素特定部320は、より具体的には、第nの出現画素222_nを特定し、第nの出現画素222_nの位置を示す画像情報である第nの出現画素情報を生成する。
[色変化画素情報取得部]
 色変化画素情報取得部324は、オブジェクトのテクスチャ情報に基づいて、第nの中間フレーム22におけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、色変化画素情報を取得する。具体的には、図7に示す色変化画素を特定する処理を示す図を用いて説明する。図7上部には、レーシングゲーム等において、運転席を視点としてフロントガラス上に映る景色をレンダリングする様子を模式的に記載している。当該図には、空を背景として複数の木が並んでおり、中央付近にルームミラー700が配置されている様子が表されている。それぞれの木は、葉や幹からなるゲームオブジェクトであって、当該木のゲームオブジェクトには緑色や茶色などの色情報がテクスチャとして付されている。
 一方、ルームミラー700は、枠等の鏡面以外の部分と鏡面の部分とで構成されるゲームオブジェクトである。鏡面の部分には、視点Cから見てルームミラー700によって反射して見える景色がテクスチャとして付されている。例えば、ルームミラー700の位置を新たな視点として、視点Cと対称な方向(鏡面反射する方向)に向かってレンダリングして生成した画像が、ルームミラーというゲームオブジェクトのテクスチャとして付される。
 動き情報取得部316は、第n-1の入力フレーム20_n-1から第nの入力フレーム20_nへの動きの量及び方向を示す情報である第nの動き情報として、図7左下に示す動き情報を取得する。具体的には、視点Cの位置が車内に存在するため、フロントガラスに映る景色は、車というゲームオブジェクトの移動に従って変化する。例えば、動き情報取得部316は、木が表された画素について、x方向に0.0f、y方向に0.1f動いていることを表す動き情報を取得する。また、動き情報取得部316は、ルームミラーが表された画素についても動き情報を取得する。ここで、ルームミラー700は車の内部に固定されており、視点Cから見たときに静止している。しかしながら、動き情報取得部316は、ルームミラー700本来の静止していることを表す動き情報(すなわちx方向に0、y方向に0動いていることを表す動き情報)ではなく、色変化画素であることを表す情報(例えばx方向としてNaN、y方向としてNaN)を取得する。
 色変化画素情報取得部324は、動き情報において、第nの中間フレーム22におけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、色変化画素情報を取得する。すなわち、色変化画素情報取得部324は、動き情報において色変化画素であることを表す情報(ここではNaN)が含まれている画素を特定し、図7右下に示す色変化画素情報を生成する。色変化画素情報は、特定された色変化画素が0であり、色変化画素以外の画素がRefer RFMである画像情報である(ビットマップ形式の情報)。なお、Refer RFMは、補助情報取得部による色変化画素情報を用いた処理において、当該画素については演算を行わないことを表す情報である。色変化画素情報取得部324は、入力画素数と同数の画素数を有する色変化画素情報を取得し、該色変化画素情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する色変化画素情報を取得する。
 なお、レンダリング情報記憶部304が、アニメーション情報、ミラーマップ情報またはレイトレーシング情報の情報に基づいて生成された画素の分布を表す色変化画素情報を記憶している場合には、色変化画素情報取得部324は、動き情報を介さずにレンダリング情報記憶部304から色変化画素情報を取得してもよい。
[補助情報取得部]
 補助情報取得部322は、第n-1の動き情報に基づいて、第n-1の累積特徴情報26_n-1に対して動き補償を適用することにより、第n-1の補助情報28_n-1を取得する。動き補償とは、例えば、第n-1の中間フレーム22_n-1では位置xにある画素が、第nの中間フレーム22_nでは位置x’に動いていた場合において、第n-1の累積特徴情報26_nの位置xにある画素を位置x’に移動させる処理をいう(図3参照)。すなわち、補助情報取得部322は、第n-1の動き情報に基づいて、第n-1の累積特徴情報26_n-1の一以上の画素のそれぞれの画素値を、該画素の動きの量及び方向に従って移動した位置の画素に設定することにより、第n-1の補助情報28_n-1を取得する。
 第nの入力フレーム20_nと第n-1の入力フレーム20_n-1との間でゲームオブジェクトOに動きがあった場合に、第nの推定フレーム24_nを取得する際、第nの中間フレーム22_nと第n-1の累積特徴情報26_n-1とをそのまま機械学習モデル200に入力してしまうと、出力される第nの推定フレーム24_nにおいて、第nの中間フレーム22_nに表示されていたゲームオブジェクトOの残像が表示されてしまうゴースト現象が発生しうる。
 そこで、画像処理システム1では、上記のように、第n-1の動き情報に基づいて、第n-1の累積特徴情報26_n-1に対して動き補償を適用することにより、第n-1の補助情報28_n-1を取得し、第nの推定フレーム24_nを取得する際、この第n-1の補助情報28_n-1を機械学習モデル200に入力するようにした。これにより、上記のゴースト現象を抑制することができる。
 また、補助情報取得部322は、第n-1の累積特徴情報26_n-1における第nの出現画素222_nの画素値を所定の値に置換することにより、第n-1の補助情報28_n-1を取得する。補助情報取得部322は、具体的には、第nの出現画素情報に基づいて、第n-1の累積特徴情報26_n-1における第nの出現画素222_nの画素値を所定の値に置換することにより、第n-1の補助情報28_n-1を取得する。所定の値は、例えば0(黒)等の一定値であってもよいし、第nの中間フレーム22_nにおける第nの出現画素222_nの画素値であってもよい。
 第nの入力フレーム20_nにおいて、第n-1の入力フレーム20_n-1では表示されていないゲームオブジェクトOの全部又は一部が表示されている場合に、第nの推定フレーム24_nを取得する際、第nの中間フレーム22_nと第n-1の累積特徴情報26_n-1とをそのまま機械学習モデル200に入力してしまうと、出力される第nの推定フレーム24_nにおいて、前述のゴースト現象が発生しうる。
 そこで、画像処理システム1では、上記のように、第nの中間フレーム22_nの画素のうち、第n-1の中間フレーム22_n-1では表示されていないゲームオブジェクトOの全部又は一部が表示されている画素である第nの出現画素222_nを特定し、第n-1の累積特徴情報26_n-1における第nの出現画素222_nの画素値を所定の値に置換することにより、第n-1の補助情報28_n-1を取得するようにした。これにより、上記のゴースト現象を抑制することができる。
 また、補助情報取得部322は、第nの累積特徴情報における色変化画素の画素値を所定の値に置換することにより、第nの補助情報を取得する。補助情報取得部322は、具体的には、第nの色変化画素情報に基づいて、第nの累積特徴情報26_nにおける第nの色変化画素の画素値を所定の値に置換することにより、第nの補助情報28_nを取得する。所定の値は、例えば0(黒)等の一定値であってもよいし、第nの中間フレーム22_nにおける第nの色変化画素nの画素値であってもよい。補助情報取得部322は、色変化画素以外の画素に関しては、上記置換を行わない。
 上記のように特定される色変化画素は、ゲームオブジェクトの動き情報とは何ら関係なく、テクスチャが変化するゲームオブジェクトに基づいて色情報が取得される画素である。仮に当該ゲームオブジェクトが動いていたとしても、その動きを表す動き情報と、ゲームオブジェクトのテクスチャにも何ら関係がない。このような色変化画素に対して、上記のような動き補償を適用してしまうと、かえって画質を損なってしまう。
 そこで、画像処理システム1では、上記のように、オブジェクトのテクスチャ情報に基づいて、第nの中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、第nの累積特徴情報における色変化画素の画素値を所定の値に置換することにより、第nの補助情報を取得するようにした。これにより、上記の画質の低下を抑制することができる。
 なお、補助情報取得部322による、動き補償、出現画素情報に基づく置換処理及び色変化画素情報に基づく置換処理は、1の累積特徴情報26に対して全てが実施されてもよいし一部のみ実施されてもよい。
[4.画像処理システムで実行される処理]
 図8は、画像処理システム1で実行される処理の流れの一例を示すフロー図である。図7に示す処理は、制御部10が、記憶部12に記憶されたプログラムに従って動作することによって実行される。
(1)n=1における処理
 まず、制御部10は、第1の入力フレーム20_1を取得する(S700)。制御部10は、第1の入力フレーム20_1に基づいて、第1の中間フレーム22_1を取得する(S702)。そして、制御部10は、第1の中間フレーム22_1と、所与の補助情報と、を機械学習モデル200に入力し、第1の推定フレーム24_1と、第1の累積特徴情報26_1と、を取得する(S704)。
(2)n≧2における処理
 制御部10は、第nの入力フレーム20_nを取得する(S706)。制御部10は、第nの入力フレーム20_nに基づいて、第nの中間フレーム22_nを取得する(S708)。
 次いで、制御部10は、第n-1の動き情報を取得する(S710)。また、制御部10は、第n-1の深度情報と、第nの深度情報と、を取得し(S712)、第n-1の深度情報と、第nの深度情報と、に基づいて、第nの出現画素222_nを特定する(S714)。制御部10は、第n-1の累積特徴情報26_n-1と、第n-1の動き情報と、第nの出現画素222_nと、に基づいて、第n-1の補助情報28_n-1を取得する(S716)。そして、制御部10は、第nの中間フレーム22_nと、第n-1の補助情報28_n-1と、を機械学習モデル200に入力し、第nの推定フレーム24_nと、第nの累積特徴情報26_nと、を取得する(S718)。制御部10は、次のフレームが存在するか否かを判定し(S720)、次のフレームが存在すると判定した場合には(S720;Y)、n=n+1にインクリメントし、S706~S718の処理を繰り返す。制御部10は、次のフレームが存在しないと判定した場合には(S720;N)、本処理を終了する。なお、制御部10は、次のフレームが存在しないと判定した場合に(S720;N)、そのまま第1~第Nの推定フレーム24を表示部18に表示させてもよい。
[5.まとめ]
 以上に説明した本実施形態に係る画像処理システム1によれば、オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、第nの累積特徴情報における色変化画素の画素値を所定の値に置換することにより、第nの補助情報を取得する。すなわち、動き情報及び過去フレームの情報を利用して、低画質の動画像に基づいて高画質の動画像を推定する画像処理手段において、動き情報に依拠せずテクスチャが変化するオブジェクトから生成された動画像に対して高精度な超解像処理を施すことができる。
 なお、本開示に係る発明は上述の実施形態に限定されるものではない。また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
 例えば、本実施形態では、中間画素数が入力画素数より多く、且つ、中間画素数と推定画素数とが同数である場合を例示したが、中間画素数と入力画素数とが同数であり、且つ、推定画素数が中間画素数より多くてもよい。すなわち、中間フレーム22は、必ずしも入力フレーム20を拡大したものでなくてもよい。
[6.付記]
(1)
 少なくとも一つのプロセッサを含む画像処理システムであって、
 前記少なくとも一つのプロセッサは、
 所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得し、
 前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
 前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
 前記機械学習モデルは、
 第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
 第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
 前記少なくとも一つのプロセッサは、
 オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、
 第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得し、
 前記機械学習モデルは、
 前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
 画像処理システム。
(2)
 前記各入力フレームは、所定の視点から見た一以上のオブジェクトを示す3次元データのレンダリングを実行することにより得られる画像である、
 (1)に記載の画像処理システム。
(3)
 前記各入力フレームは、前記視点が前記入力フレーム毎に変動するように前記レンダリングを実行することにより得られる画像であり、
 前記少なくとも一つのプロセッサは、
 前記レンダリングにおける前記入力フレーム毎の前記視点の変動に係る情報である変動情報を取得し、
 前記変動情報と、前記各入力フレームの各画素と、に基づいて、該入力フレームにおける、変動前の各画素に相当する位置の画素値を補間により求め、前記各中間フレームを生成する、
 (2)に記載の画像処理システム。
(4)
 前記少なくとも一つのプロセッサは、
 第n-1の前記入力フレームから第nの前記入力フレームへの動きの量及び方向を示す情報である第n-1の動き情報を取得し、
 第n-1の前記動き情報に基づいて、第n-1の前記累積特徴情報に対して動き補償を適用することにより、第n-1の前記補助情報を取得する、
 (2)又は(3)に記載の画像処理システム。
(5)
 前記少なくとも一つのプロセッサは、
 第n-1の前記入力フレームの各画素の深度を示す第n-1の深度情報と、第nの前記入力フレームの各画素の深度を示す第nの深度情報と、を取得し、
 第n-1の前記深度情報と、第nの前記深度情報と、に基づいて、第nの前記中間フレームの画素のうち、第n-1の前記中間フレームでは表示されていない前記オブジェクトの全部又は一部が表示されている画素である第nの出現画素を特定し、
 第n-1の前記累積特徴情報における第nの前記出現画素の画素値を所定の値に置換することにより、第n-1の前記補助情報を取得する、
 (4)に記載の画像処理システム。
(6)
 前記累積特徴情報出力層は、第1の前記中間フレームと、所与の補助情報と、が入力され、第1の前記累積特徴情報を出力する、
 (1)又は(2)に記載の画像処理システム。
(7)
 前記累積特徴情報は、前記中間画素数と同数の画素数を有する画像情報である、
 (1)又は(2)に記載の画像処理システム。
(8)
 前記色変化画素は、無限大または非数であることを表す情報によって表される、
 (1)又は(2)に記載の画像処理システム。
(9)
 プロセッサが、
 所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得し、
 前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
 前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
 前記機械学習モデルは、
 第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
 第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
 前記プロセッサが、
 オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、
 第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得し、
 前記機械学習モデルは、
 前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
 画像処理方法。
(10)
 所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得する入力フレーム取得手段、
 前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得する中間フレーム取得手段、
 前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得する推定フレーム取得手段、
 としてコンピュータを機能させるためのプログラムであって、
 前記機械学習モデルは、
 第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
 第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
 前記プログラムはさらに、
 オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定する特定手段、
 第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得する補助情報取得手段、
 として前記コンピュータを機能させ、
 前記機械学習モデルは、
 前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
 プログラム。

Claims (10)

  1.  少なくとも一つのプロセッサを含む画像処理システムであって、
     前記少なくとも一つのプロセッサは、
     所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得し、
     前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
     前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
     前記機械学習モデルは、
     第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
     第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
     前記少なくとも一つのプロセッサは、
     オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、
     第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得し、
     前記機械学習モデルは、
     前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
     画像処理システム。
  2.  前記各入力フレームは、所定の視点から見た一以上のオブジェクトを示す3次元データのレンダリングを実行することにより得られる画像である、
     請求項1に記載の画像処理システム。
  3.  前記各入力フレームは、前記視点が前記入力フレーム毎に変動するように前記レンダリングを実行することにより得られる画像であり、
     前記少なくとも一つのプロセッサは、
     前記レンダリングにおける前記入力フレーム毎の前記視点の変動に係る情報である変動情報を取得し、
     前記変動情報と、前記各入力フレームの各画素と、に基づいて、該入力フレームにおける、変動前の各画素に相当する位置の画素値を補間により求め、前記各中間フレームを生成する、
     請求項2に記載の画像処理システム。
  4.  前記少なくとも一つのプロセッサは、
     第n-1の前記入力フレームから第nの前記入力フレームへの動きの量及び方向を示す情報である第n-1の動き情報を取得し、
     第n-1の前記動き情報に基づいて、第n-1の前記累積特徴情報に対して動き補償を適用することにより、第n-1の前記補助情報を取得する、
     請求項2又は3に記載の画像処理システム。
  5.  前記少なくとも一つのプロセッサは、
     第n-1の前記入力フレームの各画素の深度を示す第n-1の深度情報と、第nの前記入力フレームの各画素の深度を示す第nの深度情報と、を取得し、
     第n-1の前記深度情報と、第nの前記深度情報と、に基づいて、第nの前記中間フレームの画素のうち、第n-1の前記中間フレームでは表示されていない前記オブジェクトの全部又は一部が表示されている画素である第nの出現画素を特定し、
     第n-1の前記累積特徴情報における第nの前記出現画素の画素値を所定の値に置換することにより、第n-1の前記補助情報を取得する、
     請求項4に記載の画像処理システム。
  6.  前記累積特徴情報出力層は、第1の前記中間フレームと、所与の補助情報と、が入力され、第1の前記累積特徴情報を出力する、
     請求項1又は2に記載の画像処理システム。
  7.  前記累積特徴情報は、前記中間画素数と同数の画素数を有する画像情報である、
     請求項1又は2に記載の画像処理システム。
  8.  前記色変化画素は、無限大または非数であることを表す情報によって表される、
     請求項1又は2に記載の画像処理システム。
  9.  プロセッサが、
     所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得し、
     前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
     前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
     前記機械学習モデルは、
     第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
     第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
     前記プロセッサが、
     オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定し、
     第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得し、
     前記機械学習モデルは、
     前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
     画像処理方法。
  10.  所定の入力画素数を有する第1~第N(Nは2以上の自然数である。)の入力フレームをそれぞれ取得する入力フレーム取得手段、
     前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得する中間フレーム取得手段、
     前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得する推定フレーム取得手段、
     としてコンピュータを機能させるためのプログラムであって、
     前記機械学習モデルは、
     第nの前記中間フレーム(n=2,3,…,N)と、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
     第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
     前記プログラムはさらに、
     オブジェクトのテクスチャ情報に基づいて、第nの前記中間フレームにおけるオブジェクトの動きに依らず変化する色情報を含む第nの色変化画素を特定する特定手段、
     第nの前記累積特徴情報における前記色変化画素の画素値を所定の値に置換することにより、第nの前記補助情報を取得する補助情報取得手段、
     として前記コンピュータを機能させ、
     前記機械学習モデルは、
     前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記色変化画素が所定の値に置換された前記補助情報と、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
     プログラム。
PCT/JP2024/022662 2023-06-30 2024-06-21 画像処理システム、画像処理方法及びプログラム Ceased WO2025005018A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2025530103A JPWO2025005018A1 (ja) 2023-06-30 2024-06-21
CN202480044403.8A CN121729708A (zh) 2023-06-30 2024-06-21 图像处理系统、图像处理方法和程序
EP24831879.2A EP4738239A1 (en) 2023-06-30 2024-06-21 Image processing system, image processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023-108580 2023-06-30
JP2023108580 2023-06-30

Publications (1)

Publication Number Publication Date
WO2025005018A1 true WO2025005018A1 (ja) 2025-01-02

Family

ID=93938565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/022662 Ceased WO2025005018A1 (ja) 2023-06-30 2024-06-21 画像処理システム、画像処理方法及びプログラム

Country Status (4)

Country Link
EP (1) EP4738239A1 (ja)
JP (1) JPWO2025005018A1 (ja)
CN (1) CN121729708A (ja)
WO (1) WO2025005018A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112102163A (zh) * 2020-08-07 2020-12-18 南京航空航天大学 基于多尺度运动补偿框架和递归学习的连续多帧图像超分辨率重建方法
CN112750094A (zh) * 2020-12-30 2021-05-04 合肥工业大学 一种视频处理方法及系统
CN113837938A (zh) * 2021-07-28 2021-12-24 北京大学 基于动态视觉传感器重建潜在图像的超分辨率方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112102163A (zh) * 2020-08-07 2020-12-18 南京航空航天大学 基于多尺度运动补偿框架和递归学习的连续多帧图像超分辨率重建方法
CN112750094A (zh) * 2020-12-30 2021-05-04 合肥工业大学 一种视频处理方法及系统
CN113837938A (zh) * 2021-07-28 2021-12-24 北京大学 基于动态视觉传感器重建潜在图像的超分辨率方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHAO DONGCHEN CHANGE LOYKAIMING HEXIAOOU TANG: "Learning a Deep Convolutional Network for Image Super-Resolution", PROCEEDINGS OF EUROPEAN CONFERENCE ON COMPUTER VISION (ECCV, 2014

Also Published As

Publication number Publication date
EP4738239A1 (en) 2026-05-06
CN121729708A (zh) 2026-03-24
JPWO2025005018A1 (ja) 2025-01-02

Similar Documents

Publication Publication Date Title
US11270492B2 (en) Graphics processing systems
US12020442B2 (en) Graphics processing systems
US20220326527A1 (en) Display System Optimization
US11004427B2 (en) Method of and data processing system for providing an output surface
US10217259B2 (en) Method of and apparatus for graphics processing
US12100102B2 (en) Image based sampling metric for quality assessment
US10699383B2 (en) Computational blur for varifocal displays
US20230179736A1 (en) Device and method
WO2025005018A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025004921A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025018184A1 (ja) 学習方法、機械学習モデル、プログラム
WO2025005017A1 (ja) 検査システム、検査方法及び検査プログラム
WO2025009437A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025018300A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025009436A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025052976A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025070247A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025018177A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025070246A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2025005001A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2026023509A1 (ja) 画像処理システム、画像処理方法及びプログラム
WO2026023508A1 (ja) 画像処理システム、画像処理方法及びプログラム
US20260030764A1 (en) Rendered image data processing and optical flow calculation
CN121746560A (zh) 渲染方法、装置、设备以及存储介质
RU2792721C2 (ru) Способ асинхронной репроекции изображения 3d-сцены

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025530103

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025530103

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2024831879

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2024831879

Country of ref document: EP

Effective date: 20260130

ENP Entry into the national phase

Ref document number: 2024831879

Country of ref document: EP

Effective date: 20260130