WO2025005017A1 - 検査システム、検査方法及び検査プログラム - Google Patents
検査システム、検査方法及び検査プログラム Download PDFInfo
- Publication number
- WO2025005017A1 WO2025005017A1 PCT/JP2024/022659 JP2024022659W WO2025005017A1 WO 2025005017 A1 WO2025005017 A1 WO 2025005017A1 JP 2024022659 W JP2024022659 W JP 2024022659W WO 2025005017 A1 WO2025005017 A1 WO 2025005017A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- input
- information
- estimated
- nth
- Prior art date
Links
- 238000007689 inspection Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title abstract description 38
- 238000010801 machine learning Methods 0.000 claims abstract description 55
- 238000012549 training Methods 0.000 claims abstract description 23
- 238000009877 rendering Methods 0.000 claims description 60
- 230000001186 cumulative effect Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 73
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 22
- 230000010365 information processing Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 206010047571 Visual impairment Diseases 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Definitions
- N is a natural number equal to or greater than 2
- FIG. 2 is a diagram illustrating an example of a hardware configuration of an image processing system and an inspection 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.
- FIG. 4 is a flowchart showing an example of a flow of processing executed in the image processing system.
- FIG. 2 is a diagram illustrating a process executed by the inspection system.
- FIG. 2 is a diagram illustrating a process executed by the inspection system.
- 13A and 13B are diagrams illustrating information stored in a rendering information storage unit for each frame.
- FIG. 1 is a diagram showing an example of the hardware configuration of an image processing system 1 and an inspection system 2.
- the image processing system 1 is a computer such as a game console.
- the inspection system 2 is a computer in which a program for creating a game program is installed.
- the image processing system 1 and the inspection system 2 include 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 programs installed in the image processing system 1 and the inspection system 2.
- 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 programs installed in the image processing system 1 and the inspection system 2.
- 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 instructions executed by the processor and a machine learning model trained using multiple training data.
- the storage unit 12 stores 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 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 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 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 motion information acquisition unit 316 acquires n-th motion information, which is information indicating the amount and direction of motion from the n-1th input frame 20_n-1 to the n-th input frame 20_n.
- the n-th motion information is motion information included in the auxiliary information attached to the n-th input frame.
- the n-th motion information is information having the same number of pixels as the intermediate pixel number.
- the motion information is image information indicating the amount and direction of motion of each pixel between the n-1th input frame 20_n-1 and the n-th 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 having the same number of pixels as the number of input pixels is also referred to as original motion 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 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 processing unit 326 generates, based on the n-th auxiliary information, a difference image between an image obtained by applying auxiliary information to the (n-1)th input frame 20_n-1 and an image represented by the n-th input frame 20_n. Specifically, for example, the auxiliary information processing unit 326 generates, based on the n-th motion information, a difference image between an image obtained by applying motion compensation to the (n-1)th input frame 20_n-1 and an image represented by the n-th input frame 20_n.
- the display unit 328 displays the n-th estimated frame 24_n. Specifically, for example, the display unit 328 displays the n-th estimated frame 24_n acquired by the estimated frame acquisition unit 314 by inputting the n-th intermediate frame 22_n and the n-1th auxiliary information 28_n-1 to the machine learning model 200. The display unit 328 also displays the difference image generated by the auxiliary information processing unit 326. In addition, the display unit 328 displays the input frame 20 and each piece of auxiliary information stored in the rendering information storage unit 304. The display unit 328 may display some or all of the estimated frame 24, each piece of auxiliary information, and difference image selected by the user in an order.
- FIG. 7 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-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).
- Figs. 8 to 10 Processing performed by the inspection system
- the auxiliary information edited in this process is the original motion information of the motion information.
- Figs. 8 and 9 show the input frame 20 and the difference image changed by the process.
- the process shown in Figs. 8 and 9 is executed by the control unit 10 operating according to the program stored in the storage unit 12.
- Fig. 10 shows the information stored in the rendering information storage unit 304 for each frame. In Figs.
- the input frame is represented as "Color”
- the motion information original motion information
- the depth information original depth information
- “Prev Depth” the appearance pixel information is represented as "Exposure”
- the auxiliary information is represented as "RFM”.
- Prev Depth means the depth information of the frame before "Depth”.
- (n) is added to each piece of information.
- FIG. 8 is a diagram showing the nth motion information, that is, a motion vector representing the amount and direction of movement of game object Q from the n-1th input frame to the nth input frame.
- MV(n) which is the nth motion information, represents information that indicates that the spherical game object Q moves from the lower left to the upper right from the n-1th input frame to the nth input frame.
- the direction of the arrow is from the game object in the nth input frame 20_n to the game object in the n-1th input frame 20_n-1.
- FIG. 8 is a diagram showing the (n-1)th input frame 20_n-1, i.e., color information Color(n-1).
- (c) of FIG. 8 is a diagram showing the nth input frame 20_n, i.e., color information Color(n).
- (b) and (c) of FIG. 8 both show that a game object Q seen from a certain viewpoint is displayed at a predetermined position in the background.
- (b) of FIG. 8 is the input frame 20 one frame before (c), and the game object Q shown in (b) of FIG. 8 is located to the lower left of the game object Q shown in (c) of FIG. 8.
- (a) to (c) of FIG. 8 are all information generated by the rendering unit 302 and stored in the rendering information storage unit 304.
- the auxiliary information processing unit 326 generates an image by applying motion compensation to the (n-1)th input frame based on the nth motion information.
- the auxiliary information processing unit 326 generates an image by applying motion compensation (MC(MV'(n), Color(n-1))) to the input frame (Color(n-1)) shown in Figure 9(b) using the edited motion information MV'(n).
- Figure 9(d) shows the generated color information (Color(n)'').
- the user performs the above inspection method from the first frame onwards. For example, as shown in Figure 10, the user changes the MV, which is the nth ancillary information, to MV'. This causes a difference image to be displayed, as shown in Figure 9.
- the intermediate frame 22 does not necessarily have to be an enlarged version of the input frame 20.
- the auxiliary information includes n-th motion information that is information indicating an amount and direction of motion from the n-1-th input frame to the n-th input frame,
- the processor obtains the n-th auxiliary information by applying motion compensation to the (n-1)-th accumulated feature information based on the n-th motion information.
- the processor generates a difference image between an image obtained by applying motion compensation to the (n-1)th input frame based on the nth motion information and an image represented by the nth input frame;
- the display unit displays the difference image.
- An inspection system as described in (3).
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
元となる低画質の動画像の各フレームに含まれる情報が正しいものであるか容易に判別することが可能な検査システム、検査方法及び検査プログラムを提供する。プロセッサと、プロセッサにより実行される命令と、複数の訓練データにより学習された機械学習モデルと、を記憶する記憶部と、表示部と、を含むゲームプログラムの検査システムであって、記憶部は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、プロセッサは、ユーザの指示により記憶部に記憶された第n(n=2,3,…,N)の付属情報を編集し、機械学習モデルは、第1から第n―1までの入力フレーム及び付属情報と、第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以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、前記プロセッサは、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、前記機械学習モデルは、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、前記表示部は、第nの前記推定フレームを表示する。
以下、本開示に係る画像処理システムの実施形態の一例について、図面を参照しながら説明する。
[1.画像処理システムのハードウェア構成]
図1は、画像処理システム1及び検査システム2のハードウェア構成の一例を示す図である。画像処理システム1は、例えばゲームコンソール(ゲーム機)等のコンピュータである。検査システム2は、例えばゲームプログラムを作成するためのプログラムがインストールされたコンピュータである。図1に示すように、画像処理システム1及び検査システム2は、制御部10、記憶部12、通信部14、操作部16、表示部18及び音声出力部19を含む。
図1は、画像処理システム1及び検査システム2のハードウェア構成の一例を示す図である。画像処理システム1は、例えばゲームコンソール(ゲーム機)等のコンピュータである。検査システム2は、例えばゲームプログラムを作成するためのプログラムがインストールされたコンピュータである。図1に示すように、画像処理システム1及び検査システム2は、制御部10、記憶部12、通信部14、操作部16、表示部18及び音声出力部19を含む。
制御部10は、例えば画像処理システム1及び検査システム2にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスを含む。また、制御部10は、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含む。
記憶部12は、例えばROMやRAM等の主記憶装置及びHDDやSSD等の補助記憶装置を含む。記憶部12には、制御部10によって実行されるプログラムなどが記憶される。記憶部12は、プロセッサにより実行される命令と、複数の訓練データにより学習された機械学習モデルと、を記憶する。例えば、記憶部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で行われる処理は主に以下の通りである。
図2は、画像処理システム1の概要を示す図である。図3は、画像処理システム1の処理を模式的に示す図である。本実施形態では、画像処理システム1が、ゲームにおけるプレイ動画像の画質向上に利用される場合を例示する。プレイ動画像は、制御部10が実行するゲームプログラムや操作部16が受け付けるユーザの入力等に応じて生成される動画像であり、時系列データである複数の静止画像(フレーム)から構成される。画像処理システム1で行われる処理は主に以下の通りである。
(1)入力フレームの生成
まず画像処理システム1は、所定の視点から見た一以上のゲームオブジェクトを示す3次元データのレンダリングを実行することにより、該ゲームオブジェクトが描画された画像(入力フレーム)を生成する。この入力フレームは、所定の画素数(入力画素数)及び所定の画質(入力画質)を有する画像である(図3参照)。入力フレーム20は、色情報によって構成される。入力フレームは所定時間毎に生成される。入力フレームの画素数は、例えば1920×1080(1080p)である。生成された各入力フレームは、そのまま表示部18に表示されるのではなく、一旦記憶部12に格納され、以降の処理に供される。なお、以降の説明においては、n番目の(第nの)入力フレーム20_nを対象とする処理を主に例示するが、同様の処理は他の入力フレームに対しても実行される(すなわち、n=2,3,…,N)。
まず画像処理システム1は、所定の視点から見た一以上のゲームオブジェクトを示す3次元データのレンダリングを実行することにより、該ゲームオブジェクトが描画された画像(入力フレーム)を生成する。この入力フレームは、所定の画素数(入力画素数)及び所定の画質(入力画質)を有する画像である(図3参照)。入力フレーム20は、色情報によって構成される。入力フレームは所定時間毎に生成される。入力フレームの画素数は、例えば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参照)。
画像処理システム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参照)。
画像処理システム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を取得する。
機械学習モデル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の累積特徴情報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及び検査システム2で実現される機能の一例を示す機能ブロック図である。図4に示すように、画像処理システム1では、ゲーム処理部300、レンダリング部302、レンダリング情報記憶部304、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、機械学習モデル記憶部312、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320及び補助情報取得部322が実現される。検査システム2では、画像処理システム1の各部に加えて、編集部324、付属情報処理部326及び表示部328が実現される。ゲーム処理部300、レンダリング部302、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320、補助情報取得部322、編集部324及び付属情報処理部326は、主に制御部10により実現される。レンダリング情報記憶部304及び機械学習モデル記憶部312は、主に記憶部12により実現される。表示部328としての機能は、主にデバイスである表示部18により実現される。なお、ゲーム処理部300、レンダリング部302及びレンダリング情報記憶部304は、ゲームソフトウェアにより提供される機能である。
図4は、画像処理システム1及び検査システム2で実現される機能の一例を示す機能ブロック図である。図4に示すように、画像処理システム1では、ゲーム処理部300、レンダリング部302、レンダリング情報記憶部304、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、機械学習モデル記憶部312、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320及び補助情報取得部322が実現される。検査システム2では、画像処理システム1の各部に加えて、編集部324、付属情報処理部326及び表示部328が実現される。ゲーム処理部300、レンダリング部302、入力フレーム取得部306、変動情報取得部308、中間フレーム取得部310、推定フレーム取得部314、動き情報取得部316、深度情報取得部318、出現画素特定部320、補助情報取得部322、編集部324及び付属情報処理部326は、主に制御部10により実現される。レンダリング情報記憶部304及び機械学習モデル記憶部312は、主に記憶部12により実現される。表示部328としての機能は、主にデバイスである表示部18により実現される。なお、ゲーム処理部300、レンダリング部302及びレンダリング情報記憶部304は、ゲームソフトウェアにより提供される機能である。
[ゲーム処理部]
ゲーム処理部300は、ゲームに関する種々の処理を実行する。ゲーム処理部300は、例えば、制御部10が実行するゲームプログラムや操作部16が受け付けるユーザの入力に応じて、仮想3次元空間VSにゲームオブジェクトOを配置する処理や、ゲームオブジェクトOを動作させ又は移動させる処理、仮想3次元空間VSを見る視点Cを変更する処理等を実行する(図5参照)。ゲームオブジェクトOは、3次元データが示すポリゴン等のプリミティブにより構成される。3次元データは、頂点の位置等を示す幾何情報と、頂点同士をどのように結ぶかを示す位相情報と、色等の属性情報と、を含む。
ゲーム処理部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は、光源情報や深度情報(デプスバッファ)、テクスチャ情報、法線情報等に基づいて、レンダリングを実行してもよい。レンダリング部302は、上記の処理の他、例えば、被写界深度(DoF)やモーションブラー等のエフェクトを適用する処理を実行してもよい。レンダリング部302の処理は、ゲームソフトウェアの開発者等が適宜設定してよい。ここで、ゲームソフトウェアェアの開発者等は、推定フレーム24の推定画素数等に応じて、テクスチャのMIPを調整してよい。これにより、推定フレーム24において、モアレ等のノイズの発生を抑制することができる。
図5は、レンダリング部302の処理を説明する図である。レンダリング部302は、所定の視点Cから見た一以上のゲームオブジェクトOを示す3次元データのレンダリング(描画処理)を実行することにより、第1~第N(Nは2以上の自然数である。)の入力フレーム20を生成する。レンダリング部302は、ゲーム処理部300で実行される種々の処理の結果に基づいてレンダリングを実行する。レンダリング部302は、具体的には、仮想3次元空間VSに配置されたゲームオブジェクトOを示す3次元データに基づいて、頂点処理(頂点シェーディング)及び画素処理(ピクセルシェーディング)を実行する。頂点処理は、ビュー座標系からスクリーン座標系への座標変換処理(透視投影)を含み、該座標変換処理に用いられる透視投影行列(カメラ行列)には、後述するように、視点Cの変動に係る数値が加えられる。レンダリング部302は、光源情報や深度情報(デプスバッファ)、テクスチャ情報、法線情報等に基づいて、レンダリングを実行してもよい。レンダリング部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は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレーム20を記憶する。また、レンダリング情報記憶部304は、入力フレーム20とともに該入力フレーム20ごとの付属情報を記憶する。付属情報は、変動情報、動き情報及び深度情報を含む。付属情報の詳細については後述する。また、レンダリング情報記憶部304は、付属情報に基づいて生成された情報(出現画素情報及び補助情報28)を記憶する。その他、レンダリング情報記憶部304は、座標変換に用いるパラメータや、光源情報、テクスチャ情報、法線情報等を記憶してよい。
レンダリング情報記憶部304は、レンダリング部302でのレンダリング処理に必要な情報及びレンダリング処理の結果得られる情報を記憶する。例えば、レンダリング情報記憶部304は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレーム20を記憶する。また、レンダリング情報記憶部304は、入力フレーム20とともに該入力フレーム20ごとの付属情報を記憶する。付属情報は、変動情報、動き情報及び深度情報を含む。付属情報の詳細については後述する。また、レンダリング情報記憶部304は、付属情報に基づいて生成された情報(出現画素情報及び補助情報28)を記憶する。その他、レンダリング情報記憶部304は、座標変換に用いるパラメータや、光源情報、テクスチャ情報、法線情報等を記憶してよい。
[入力フレーム取得部]
入力フレーム取得部306は、第1~第Nの入力フレーム20をそれぞれ取得する。具体的には、入力フレーム取得部306は、レンダリング情報記憶部304に記憶された第1~第Nの入力フレーム20をそれぞれ取得する。
入力フレーム取得部306は、第1~第Nの入力フレーム20をそれぞれ取得する。具体的には、入力フレーム取得部306は、レンダリング情報記憶部304に記憶された第1~第Nの入力フレーム20をそれぞれ取得する。
[変動情報取得部]
変動情報取得部308は、変動情報を取得する。変動情報取得部308は、レンダリング情報記憶部304に記憶された変動情報を取得する。変動情報は、具体的には、変動前と変動後との間での視点Cの変動量を示す情報である。変動量を示す情報は、変動の方向及び距離を示す変動ベクトルであるということもできる。例えば、前述したHalton列に視点Cの変動量を示す情報が含まれているため、その情報を変動情報として用いてよい。
変動情報取得部308は、変動情報を取得する。変動情報取得部308は、レンダリング情報記憶部304に記憶された変動情報を取得する。変動情報は、具体的には、変動前と変動後との間での視点Cの変動量を示す情報である。変動量を示す情報は、変動の方向及び距離を示す変動ベクトルであるということもできる。例えば、前述したHalton列に視点Cの変動量を示す情報が含まれているため、その情報を変動情報として用いてよい。
[中間フレーム取得部]
中間フレーム取得部310は、各入力フレーム20に基づいて、該入力フレーム20に対応するとともに入力画素数以上の中間画素数を有する中間フレーム22を生成することにより、第1~第Nの中間フレーム22をそれぞれ取得する。本実施形態では、各中間フレーム22は、入力画素数より多い中間画素数を有する。すなわち、本実施形態では,各中間フレーム22は、該中間フレーム22に対応する入力フレーム20を拡大した画像である。
中間フレーム取得部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は画像処理システム1検査の一部としても機能するし、システム2の一部としても機能する。どちらの場合でも機械学習モデル200は同一であるが、機械学習モデル200が検査システム2の一部として機能する場合には、第1から第n-1までの入力フレーム20及び付属情報と、第nの入力フレーム20_n及び編集された付属情報と、に基づいて、入力画素数以上の推定画素数を有する第nの推定フレームを出力する。機械学習モデル200は、具体的には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)である。機械学習モデル200としては、例えば、残差接続機構を有する多層構造のResNetや、いわゆるエンコーダ-デコーダ型のU-Net等、公知のモデルが利用可能である。機械学習モデル200として、非特許文献1に記載のモデルを利用してもよい。
機械学習モデル200は、第nの中間フレーム22_nに基づいて、第nの推定フレーム24_nを推定するモデルである。具体的には、機械学習モデル200は、第nの中間フレーム22_n及び第n-1の補助情報28_n-1に基づいて、第nの推定フレーム24_nを推定するモデルである。なお、機械学習モデル200は画像処理システム1検査の一部としても機能するし、システム2の一部としても機能する。どちらの場合でも機械学習モデル200は同一であるが、機械学習モデル200が検査システム2の一部として機能する場合には、第1から第n-1までの入力フレーム20及び付属情報と、第nの入力フレーム20_n及び編集された付属情報と、に基づいて、入力画素数以上の推定画素数を有する第nの推定フレームを出力する。機械学習モデル200は、具体的には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)である。機械学習モデル200としては、例えば、残差接続機構を有する多層構造のResNetや、いわゆるエンコーダ-デコーダ型のU-Net等、公知のモデルが利用可能である。機械学習モデル200として、非特許文献1に記載のモデルを利用してもよい。
機械学習モデル200は、入力画素数を有する学習入力フレームに基づいて生成された中間画素数を有する学習中間フレームと、推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたモデルである。機械学習モデル200の学習には、誤差逆伝播法等の種々の公知の手法が利用可能である。
機械学習モデル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のパラメータ(畳み込み層の数や各畳み込み層に使用されるノード数、各ノードの重み等)を記憶する。
機械学習モデル記憶部312は、機械学習モデル200を記憶する。具体的には、機械学習モデル記憶部312は、機械学習モデル200のパラメータ(畳み込み層の数や各畳み込み層に使用されるノード数、各ノードの重み等)を記憶する。
[推定フレーム取得部]
推定フレーム取得部314は、各中間フレーム22を機械学習モデル200に入力して、入力画素数より多く中間画素数以上の推定画素数を有する第1~第Nの推定フレーム24をそれぞれ取得する。本実施形態では、推定フレーム24は、中間画素数と同数の推定画素数を有する。推定フレーム取得部314は、より具体的には、第nの中間フレーム22_n及び第n-1の補助情報28_n-1を機械学習モデル200に入力して、第nの推定フレーム24_nを取得する。
推定フレーム取得部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の動き情報を取得する。具体的には、例えば、第nの動き情報は、第nの入力フレームに付属する付属情報に含まれる動き情報である。また、第nの動き情報は、中間画素数と同数の画素を有する情報である。動き情報は、第n-1の入力フレーム20_n-1と第nの入力フレーム20_nとの間における各画素の動きの量及び方向を示す画像情報である(ビットマップ形式の情報)。動き情報は、モーションベクトル(Motion Vector)とも呼ばれる。動き情報取得部316は、具体的には、入力画素数と同数の画素数を有する動き情報を取得し、該動き情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する動き情報を取得する。以下、入力画素数と同数の画素数を有する動き情報を元動き情報とも呼称する。
動き情報取得部316は、第n-1の入力フレーム20_n-1から第nの入力フレーム20_nへの動きの量及び方向を示す情報である第nの動き情報を取得する。具体的には、例えば、第nの動き情報は、第nの入力フレームに付属する付属情報に含まれる動き情報である。また、第nの動き情報は、中間画素数と同数の画素を有する情報である。動き情報は、第n-1の入力フレーム20_n-1と第nの入力フレーム20_nとの間における各画素の動きの量及び方向を示す画像情報である(ビットマップ形式の情報)。動き情報は、モーションベクトル(Motion Vector)とも呼ばれる。動き情報取得部316は、具体的には、入力画素数と同数の画素数を有する動き情報を取得し、該動き情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する動き情報を取得する。以下、入力画素数と同数の画素数を有する動き情報を元動き情報とも呼称する。
[深度情報取得部]
深度情報取得部318は、第n-1の入力フレーム20_n-1の各画素の深度を示す第n-1の深度情報と、第nの入力フレーム20_nの各画素の深度を示す第nの深度情報と、を取得する。深度情報は、具体的には、中間画素数と同数の画素を有する画像情報である(ビットマップ形式の情報)。深度情報は、深度バッファ、Zバッファ又はデプスバッファとも呼ばれる。深度情報取得部318は、具体的には、入力画素数と同数の画素数を有する深度情報を取得し、該深度情報に対して拡大及び補間処理を実行することにより、中間画素数と同数の画素を有する深度情報を取得する。以下、入力画素数と同数の画素数を有する深度情報を元深度情報とも呼称する。
深度情報取得部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の出現画素情報を生成する。
出現画素特定部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の出現画素情報を生成する。
[補助情報取得部]
補助情報取得部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を取得する。
補助情報取得部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を取得するようにした。これにより、上記のゴースト現象を抑制することができる。
[編集部]
編集部324は、ユーザの指示によりレンダリング情報記憶部304に記憶された第nの付属情報を編集する。具体的には、例えば、編集部324は、ユーザが選択した第nの入力フレーム20_nに付属する動き情報の値を、ユーザが指定した値に変更する。ここで、変更される動き情報は、入力画素数と同数の画素数を有する動き情報(すなわち元動き情報)である。変更された動き情報の値は、第nの入力フレーム20_nの他の付属情報と関連付けてレンダリング情報記憶部304に記憶される。なお、ユーザの指示により編集される付属情報は、動き情報に限られず変動情報または深度情報であってもよい。
編集部324は、ユーザの指示によりレンダリング情報記憶部304に記憶された第nの付属情報を編集する。具体的には、例えば、編集部324は、ユーザが選択した第nの入力フレーム20_nに付属する動き情報の値を、ユーザが指定した値に変更する。ここで、変更される動き情報は、入力画素数と同数の画素数を有する動き情報(すなわち元動き情報)である。変更された動き情報の値は、第nの入力フレーム20_nの他の付属情報と関連付けてレンダリング情報記憶部304に記憶される。なお、ユーザの指示により編集される付属情報は、動き情報に限られず変動情報または深度情報であってもよい。
[付属情報処理部]
付属情報処理部326は、第nの付属情報に基づいて、第n-1の入力フレーム20_n-1に対して付属情報を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。具体的には、例えば、付属情報処理部326は、第nの動き情報に基づいて、第n-1の入力フレーム20_n-1に対して動き補償を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。
付属情報処理部326は、第nの付属情報に基づいて、第n-1の入力フレーム20_n-1に対して付属情報を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。具体的には、例えば、付属情報処理部326は、第nの動き情報に基づいて、第n-1の入力フレーム20_n-1に対して動き補償を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。
[表示部]
表示部328は、第nの推定フレーム24_nを表示する。具体的には、例えば、表示部328は、推定フレーム取得部314が、第nの中間フレーム22_n及び第n-1の補助情報28_n-1を機械学習モデル200に入力して取得した第nの推定フレーム24_nを表示する。また、表示部328は、付属情報処理部326が生成した差分画像を表示する。その他、表示部328は、レンダリング情報記憶部304に記憶された入力フレーム20及び各付属情報を表示する。表示部328は、推定フレーム24、各付属情報、差分画像のうち、ユーザに選択された一部または全部を並べて表示してもよい。
表示部328は、第nの推定フレーム24_nを表示する。具体的には、例えば、表示部328は、推定フレーム取得部314が、第nの中間フレーム22_n及び第n-1の補助情報28_n-1を機械学習モデル200に入力して取得した第nの推定フレーム24_nを表示する。また、表示部328は、付属情報処理部326が生成した差分画像を表示する。その他、表示部328は、レンダリング情報記憶部304に記憶された入力フレーム20及び各付属情報を表示する。表示部328は、推定フレーム24、各付属情報、差分画像のうち、ユーザに選択された一部または全部を並べて表示してもよい。
[4.画像処理システムで実行される処理]
図7は、画像処理システム1で実行される処理の流れの一例を示すフロー図である。図7に示す処理は、制御部10が、記憶部12に記憶されたプログラムに従って動作することによって実行される。
図7は、画像処理システム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)。
まず、制御部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の入力フレーム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.検査システムで実行される処理]
図8乃至図10を参照しながら、一例としてユーザの指示により動き情報が編集された場合における検査システム2で実行される処理及び検査方法について説明する。本処理で編集される付属情報は動き情報のうちの元動き情報である。図8及び図9は、当該処理によって変化する入力フレーム20や差分画像を表している。図8及び図9に示す処理は、制御部10が、記憶部12に記憶されたプログラムに従って動作することによって実行される。図10は、各フレームにおいて、レンダリング情報記憶部304が記憶する情報を表している。図8乃至図10において、入力フレームは「Color」、動き情報(元動き情報)は「MV」、深度情報(元深度情報)は「Depth」及び「Prev Depth」、出現画素情報は「Exposure」、補助情報を「RFM」と表記する。なお、「Prev Depth」は「Depth」の1フレーム前の深度情報を意味する。また、n番目のフレームに属する情報であることを表すために各情報に(n)を付して表記する。
図8乃至図10を参照しながら、一例としてユーザの指示により動き情報が編集された場合における検査システム2で実行される処理及び検査方法について説明する。本処理で編集される付属情報は動き情報のうちの元動き情報である。図8及び図9は、当該処理によって変化する入力フレーム20や差分画像を表している。図8及び図9に示す処理は、制御部10が、記憶部12に記憶されたプログラムに従って動作することによって実行される。図10は、各フレームにおいて、レンダリング情報記憶部304が記憶する情報を表している。図8乃至図10において、入力フレームは「Color」、動き情報(元動き情報)は「MV」、深度情報(元深度情報)は「Depth」及び「Prev Depth」、出現画素情報は「Exposure」、補助情報を「RFM」と表記する。なお、「Prev Depth」は「Depth」の1フレーム前の深度情報を意味する。また、n番目のフレームに属する情報であることを表すために各情報に(n)を付して表記する。
図8の(a)は、第nの動き情報、すなわち、第n-1の入力フレームから第nの入力フレームにかけて、ゲームオブジェクトQが動いた量及び方向を表すモーションベクトルを示す図である。なお、図8乃至図10の説明においては説明を簡易にするため、各フレームの情報は、所定の視点から見たときに含まれるゲームオブジェクトがゲームオブジェクトQのみであって他のゲームオブジェクトを含まない場合について説明する。図8の(a)に示すように、第nの動き情報であるMV(n)は、球体のゲームオブジェクトQが第n-1の入力フレームから第nの入力フレームにかけて左下から右上に向かって移動する情報であることを表している。矢印の向きは、第nの入力フレーム20_nのゲームオブジェクトから第n-1の入力フレーム20_n-1のゲームオブジェクトに向かう方向としている。
図8の(b)は、第n-1の入力フレーム20_n-1、すなわち、色情報Color(n-1)を示す図である。また、図8の(c)は、第nの入力フレーム20_n、すなわち、色情報Color(n)を示す図である。図8の(b)及び(c)はいずれも、ある視点から見たゲームオブジェクトQが、背景の中の所定位置に表示されていることを表している。また、図8の(b)は、(c)の1フレーム前の入力フレーム20であり、図8の(b)に表されたゲームオブジェクトQは、図8の(c)に表されたゲームオブジェクトQよりも左下に位置している。図8の(a)乃至(c)はいずれもレンダリング部302が生成し、レンダリング情報記憶部304に記憶された情報である。
付属情報処理部326は、第nの動き情報に基づいて、第n-1の入力フレーム20_nに対して動き補償を適用した画像を生成する。具体的には、例えば、付属情報処理部326は、図8の(b)に示す入力フレーム(Color(n-1))に対して、図8の(a)に示す動き情報MV(n)を用いて動き補償(MC(MV(n),Color(n-1)))を適用した画像を生成する。ここでの動き補償とは、第n-1の入力フレーム20_n-1では位置xにある画素が、第nの入力フレーム20_nでは位置x’に動いていた場合において、第n-1の入力フレーム20_n-1の位置xにある画素を位置x’に移動させる処理をいう。第nの動き情報は、第n-1の入力フレーム20_n-1と第nの入力フレーム20_nとの間における各画素の動きの量及び方向を示す画像情報である。そのため、付属情報処理部326は、図8の(a)動き情報MV(n)に基づいて、図8の(b)に示すゲームオブジェクトQのそれぞれの画素値を、該画素の動きの量及び方向に従って移動した位置の画素に設定することにより、図8の(d)に示す色情報(Color(n)’)を生成する。なお、付属情報処理部326は、図8の(b)に示す入力フレーム20_n-1の背景が表された画素に対しても処理を行うが、背景を表す画素は動き情報の値がない(0値)であるため、上記処理によって変化しない。
さらに、付属情報処理部326は、動き補償を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。具体的には、例えば、図8の(d)に示す動き補償を適用した色情報(Color(n)’)と、図8の(c)に示す入力フレーム(Color(n))、の差分画像(Diff.Color=Color(n)’-Color(n))を生成する。図8の(e)は、生成された差分画像を示す図である。図8の(e)に示すように、第nの入力フレームおいてゲームプロジェクトQが示されている領域に三日月形状のパターンが示されている。すなわち、第nの動き情報と第n-1の入力フレーム20_n-1から推定された第nの入力フレーム20_nは、レンダリング部から取得された第nの入力フレーム20_nとは齟齬が生じていることが分かる。ユーザは、図8の(a)から(e)に示す各情報が目に見える画像として表示部328に表示されることにより、付属情報が正しいものであるか容易に判断することができる。
次いで、付属情報を編集する場合について説明する。図9の(a)から(c)はいずれも図8の(a)から(c)と同じである。編集部324は、ユーザの指示によりレンダリング情報記憶部304に記憶された第nの動き情報MV(n)を編集する。具体的には、図9の(a)に示す第nの動き情報を編集するための情報として、ユーザは操作部16を操作して、x方向及びy方向の始点位置のシフト量(MV.Offset)と、x方向及びy方向の拡大率(MV.Scale)を入力する。編集部324は、入力されたシフト量及び拡大率に基づいて、編集後の第nの動き情報MV‘(n)を取得する。例えば、動き情報MV‘(n)は、MV‘(n)=MV.Offset+MV.Scale*MV(n)の計算式で算出される。
付属情報処理部326は、第nの動き情報に基づいて、第n-1の入力フレームに対して動き補償を適用した画像を生成する。ここで、上記にように第nの動き情報は、MV(n)からMV’(n)に変更されている。従って、付属情報処理部326は、図9の(b)に示す入力フレーム(Color(n-1))に対して、編集された動き情報MV‘(n)を用いて動き補償(MC(MV’(n),Color(n-1)))を適用した画像を生成する。図9の(d)は、生成された色情報(Color(n)’’)を示す図である。
さらに、付属情報処理部326は、動き補償を適用した画像と、第nの入力フレーム20_nが表す画像と、の差分画像を生成する。具体的には、例えば、図9の(d)に示す動き補償を適用した色情報(Color(n)’’)と、図9の(c)に示す入力フレーム(Color(n))、の差分画像(Diff.Color=Color(n)’’-Color(n))を生成する。図9の(e)は、生成された差分画像を示す図である。図9の(e)に示すように、三日月形状のパターンが示されていない。すなわち、編集された動き情報と第n-1の入力フレーム20_n-1から推定された第nの入力フレーム20_nは、レンダリング部302から取得された第nの入力フレーム20_nとおよそ一致していることが分かる。ユーザは、本来レンダリング部302が生成すべき動き情報であるMV‘(n)を容易に取得することができる。
上記のように、補助情報は、過去の複数の入力フレーム20及び付属情報が反映された情報である。一方、ゲームはシーンに応じて画像が大きく変化することがあるため、シーン変更を跨いだ補助情報28は、少ない情報量しか持たない。従って、本開示に係る検査方法は、同一のシーン内で実施されることが望ましい。
図10は、各フレームにおいて、レンダリング情報記憶部304が記憶する情報を表している。各フレームの情報の上に付した符号はフレームの順番を表している。第-k-1(kは定数)の入力フレーム20と、第-kの入力フレーム20の間でシーンの切り替えがあったものとする。この場合、補助情報に十分な過去フレームの情報が含まれるように、上記検査方法は、シーンの切り替えから一定のフレームが経過した後が好ましい。図10では第0の補助情報(RFM)28がレンダリング情報記憶部304に記憶されている。当該第0の補助情報28は、第-kから第-1までの入力フレーム20及び付属情報が反映された情報である。
第0の補助情報28がレンダリング情報記憶部304に記憶されているため、その後シーンの切り替えがない限り、機械学習モデル200は過去フレームの情報を十分に含んだ高画質の画像を毎フレーム出力できる。
ユーザは、第1のフレーム以降において、上記検査方法を実施する。例えば図10に示すように、第nの付属情報であるMVをMV‘に変更する。これにより、図9に示したような、差分画像が表示される。
図10に示した実施例では、全てのフレームにおいて、入力フレーム、動き情報、深度情報、出現画素情報及び元深度情報が記憶される。これらの情報が毎フレーム記憶されることにより、ユーザは、レンダリング部において正しくない付属情報が生成されたフレームを特定することができる。一方、補助情報28は、十分な過去フレームの情報が含まれていればよく、編集の対象となるケースは稀である。そのため、補助情報28は、所定のフレームでのみ記憶される。補助情報28は、一定のフレーム毎に(例えば32フレーム毎に)記憶されてもよい。また、補助情報28が毎フレーム記憶されても問題は生じない。
以上の説明では、付属情報のうち動き情報を編集する場合について説明したが、レンダリング情報記憶部304に記憶されている情報であれば編集対象は他の情報であってよい。
[6.まとめ]
以上に説明した本実施形態に係る画像処理システム1によれば、第1~第n-1の中間フレーム22の特徴を示す第n-1の累積特徴情報26_n-1を用いて、第nの推定フレーム24_nを推定する。そして、本実施形態に係る検査システム2によれば、画像処理システム1を用いる高画質の動画像を推定する際に、元となる低画質の動画像の各フレームに含まれる情報が正しいものであるか容易に判別することが可能となる。
以上に説明した本実施形態に係る画像処理システム1によれば、第1~第n-1の中間フレーム22の特徴を示す第n-1の累積特徴情報26_n-1を用いて、第nの推定フレーム24_nを推定する。そして、本実施形態に係る検査システム2によれば、画像処理システム1を用いる高画質の動画像を推定する際に、元となる低画質の動画像の各フレームに含まれる情報が正しいものであるか容易に判別することが可能となる。
なお、本開示に係る発明は上述の実施形態に限定されるものではない。また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
例えば、本実施形態では、中間画素数が入力画素数より多く、且つ、中間画素数と推定画素数とが同数である場合を例示したが、中間画素数と入力画素数とが同数であり、且つ、推定画素数が中間画素数より多くてもよい。すなわち、中間フレーム22は、必ずしも入力フレーム20を拡大したものでなくてもよい。
[7.付記]
(1)
プロセッサと、
前記プロセッサにより実行される命令と、複数の訓練データにより学習された機械学習モデルと、を記憶する記憶部と、
表示部と、
を含むゲームプログラムの検査システムであって、
前記記憶部は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
前記プロセッサは、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
前記機械学習モデルは、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
前記表示部は、第nの前記推定フレームを表示する、
ゲームプログラムの検査システム。
(2)
前記プロセッサは、
前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
前記機械学習モデルは、
第nの前記中間フレームと、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
(1)に記載の検査システム。
(3)
前記付属情報は、第n-1の前記入力フレームから第nの前記入力フレームへの動きの量及び方向を示す情報である第nの動き情報を含み、
前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記累積特徴情報に対して動き補償を適用することにより、第nの前記補助情報を取得する、
(2)に記載の検査システム。
(4)
前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記入力フレームに対して動き補償を適用した画像と、第nの前記入力フレームが表す画像と、の差分画像を生成し、
前記表示部は、前記差分画像を表示する、
(3)に記載の検査システム。
(5)
前記各入力フレームは、所定の視点から見た一以上のオブジェクトを示す3次元データのレンダリングを実行することにより得られる画像である、
(2)に記載の検査システム。
(6)
前記付属情報は、第nの前記入力フレームの各画素の深度を示す第nの深度情報を含み、
前記プロセッサは、
第n-1の前記深度情報と、第nの前記深度情報と、に基づいて、第nの前記中間フレームの画素のうち、第n-1の前記中間フレームでは表示されていない前記オブジェクトの全部又は一部が表示されている画素である第nの出現画素を特定し、
第n-1の前記累積特徴情報における第nの前記出現画素の画素値を所定の値に置換することにより、第n-1の前記補助情報を取得する、
(5)に記載の検査システム。
(7)
前記各入力フレームは、前記視点が前記入力フレーム毎に変動するように前記レンダリングを実行することにより得られる画像であり、
前記プロセッサは、
前記レンダリングにおける前記入力フレーム毎の前記視点の変動に係る情報である変動情報を取得し、
前記変動情報と、前記各入力フレームの各画素と、に基づいて、該入力フレームにおける、変動前の各画素に相当する位置の画素値を補間により求め、前記各中間フレームを生成する、
(6)に記載の検査システム。
(8)
前記累積特徴情報出力層は、第1の前記中間フレームと、所与の補助情報と、が入力され、第1の前記累積特徴情報を出力する、
(2)に記載のゲームプログラムの検査システム。
(9)
前記累積特徴情報は、前記中間画素数と同数の画素数を有する画像情報である、
(2)に記載の検査システム。
(10)
記憶部が、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
プロセッサが、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
複数の訓練データにより学習された機械学習モデルが、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
表示部は、第nの前記推定フレームを表示する、
検査方法。
(11)
所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶する記憶手段、
ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集する編集手段、
複数の訓練データにより学習された機械学習モデルにより、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力する出力手段、
第nの前記推定フレームを表示する表示手段、
としてコンピュータを機能させるための検査プログラム。
(1)
プロセッサと、
前記プロセッサにより実行される命令と、複数の訓練データにより学習された機械学習モデルと、を記憶する記憶部と、
表示部と、
を含むゲームプログラムの検査システムであって、
前記記憶部は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
前記プロセッサは、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
前記機械学習モデルは、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
前記表示部は、第nの前記推定フレームを表示する、
ゲームプログラムの検査システム。
(2)
前記プロセッサは、
前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
前記機械学習モデルは、
第nの前記中間フレームと、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
(1)に記載の検査システム。
(3)
前記付属情報は、第n-1の前記入力フレームから第nの前記入力フレームへの動きの量及び方向を示す情報である第nの動き情報を含み、
前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記累積特徴情報に対して動き補償を適用することにより、第nの前記補助情報を取得する、
(2)に記載の検査システム。
(4)
前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記入力フレームに対して動き補償を適用した画像と、第nの前記入力フレームが表す画像と、の差分画像を生成し、
前記表示部は、前記差分画像を表示する、
(3)に記載の検査システム。
(5)
前記各入力フレームは、所定の視点から見た一以上のオブジェクトを示す3次元データのレンダリングを実行することにより得られる画像である、
(2)に記載の検査システム。
(6)
前記付属情報は、第nの前記入力フレームの各画素の深度を示す第nの深度情報を含み、
前記プロセッサは、
第n-1の前記深度情報と、第nの前記深度情報と、に基づいて、第nの前記中間フレームの画素のうち、第n-1の前記中間フレームでは表示されていない前記オブジェクトの全部又は一部が表示されている画素である第nの出現画素を特定し、
第n-1の前記累積特徴情報における第nの前記出現画素の画素値を所定の値に置換することにより、第n-1の前記補助情報を取得する、
(5)に記載の検査システム。
(7)
前記各入力フレームは、前記視点が前記入力フレーム毎に変動するように前記レンダリングを実行することにより得られる画像であり、
前記プロセッサは、
前記レンダリングにおける前記入力フレーム毎の前記視点の変動に係る情報である変動情報を取得し、
前記変動情報と、前記各入力フレームの各画素と、に基づいて、該入力フレームにおける、変動前の各画素に相当する位置の画素値を補間により求め、前記各中間フレームを生成する、
(6)に記載の検査システム。
(8)
前記累積特徴情報出力層は、第1の前記中間フレームと、所与の補助情報と、が入力され、第1の前記累積特徴情報を出力する、
(2)に記載のゲームプログラムの検査システム。
(9)
前記累積特徴情報は、前記中間画素数と同数の画素数を有する画像情報である、
(2)に記載の検査システム。
(10)
記憶部が、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
プロセッサが、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
複数の訓練データにより学習された機械学習モデルが、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
表示部は、第nの前記推定フレームを表示する、
検査方法。
(11)
所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶する記憶手段、
ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集する編集手段、
複数の訓練データにより学習された機械学習モデルにより、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力する出力手段、
第nの前記推定フレームを表示する表示手段、
としてコンピュータを機能させるための検査プログラム。
Claims (11)
- プロセッサと、
前記プロセッサにより実行される命令と、複数の訓練データにより学習された機械学習モデルと、を記憶する記憶部と、
表示部と、
を含むゲームプログラムの検査システムであって、
前記記憶部は、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
前記プロセッサは、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
前記機械学習モデルは、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
前記表示部は、第nの前記推定フレームを表示する、
ゲームプログラムの検査システム。 - 前記プロセッサは、
前記各入力フレームに基づいて、該入力フレームに対応するとともに前記入力画素数以上の中間画素数を有する中間フレームを生成することにより、第1~第Nの前記中間フレームをそれぞれ取得し、
前記各中間フレームを機械学習モデルに入力して、前記入力画素数より多く前記中間画素数以上の推定画素数を有する第1~第Nの推定フレームをそれぞれ取得し、
前記機械学習モデルは、
第nの前記中間フレームと、第1~第n-1の前記中間フレームの特徴を示す第n-1の累積特徴情報に基づく第n-1の補助情報と、が入力され、第1~第nの前記中間フレームの特徴を示す第nの前記累積特徴情報を出力する累積特徴情報出力層と、
第nの前記累積特徴情報が入力され、第nの前記推定フレームを出力する推定フレーム出力層と、を含み、
前記入力画素数を有する学習入力フレームに基づいて生成された前記中間画素数を有する学習中間フレームと、前記推定画素数を有する学習推定フレームと、をそれぞれ含む、複数の訓練データにより学習されたものである、
請求項1に記載の検査システム。 - 前記付属情報は、第n-1の前記入力フレームから第nの前記入力フレームへの動きの量及び方向を示す情報である第nの動き情報を含み、
前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記累積特徴情報に対して動き補償を適用することにより、第nの前記補助情報を取得する、
請求項2に記載の検査システム。 - 前記プロセッサは、第nの前記動き情報に基づいて、第n-1の前記入力フレームに対して動き補償を適用した画像と、第nの前記入力フレームが表す画像と、の差分画像を生成し、
前記表示部は、前記差分画像を表示する、
請求項3に記載の検査システム。 - 前記各入力フレームは、所定の視点から見た一以上のオブジェクトを示す3次元データのレンダリングを実行することにより得られる画像である、
請求項2に記載の検査システム。 - 前記付属情報は、第nの前記入力フレームの各画素の深度を示す第nの深度情報を含み、
前記プロセッサは、
第n-1の前記深度情報と、第nの前記深度情報と、に基づいて、第nの前記中間フレームの画素のうち、第n-1の前記中間フレームでは表示されていない前記オブジェクトの全部又は一部が表示されている画素である第nの出現画素を特定し、
第n-1の前記累積特徴情報における第nの前記出現画素の画素値を所定の値に置換することにより、第n-1の前記補助情報を取得する、
請求項5に記載の検査システム。 - 前記各入力フレームは、前記視点が前記入力フレーム毎に変動するように前記レンダリングを実行することにより得られる画像であり、
前記プロセッサは、
前記レンダリングにおける前記入力フレーム毎の前記視点の変動に係る情報である変動情報を取得し、
前記変動情報と、前記各入力フレームの各画素と、に基づいて、該入力フレームにおける、変動前の各画素に相当する位置の画素値を補間により求め、前記各中間フレームを生成する、
請求項6に記載の検査システム。 - 前記累積特徴情報出力層は、第1の前記中間フレームと、所与の補助情報と、が入力され、第1の前記累積特徴情報を出力する、
請求項2に記載のゲームプログラムの検査システム。 - 前記累積特徴情報は、前記中間画素数と同数の画素数を有する画像情報である、
請求項2に記載の検査システム。 - 記憶部が、所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶し、
プロセッサが、ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集し、
複数の訓練データにより学習された機械学習モデルが、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力し、
表示部は、第nの前記推定フレームを表示する、
検査方法。 - 所定の入力画素数を有する第1~第N(Nは2以上の自然数)の入力フレームとともに該入力フレームごとの付属情報を記憶する記憶手段、
ユーザの指示により前記記憶部に記憶された第n(n=2,3,…,N)の前記付属情報を編集する編集手段、
複数の訓練データにより学習された機械学習モデルにより、第1から第n-1までの前記入力フレーム及び前記付属情報と、第nの前記入力フレーム及び編集された前記付属情報と、に基づいて、前記入力画素数以上の推定画素数を有する第nの推定フレームを出力する出力手段、
第nの前記推定フレームを表示する表示手段、
としてコンピュータを機能させるための検査プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023-108579 | 2023-06-30 | ||
JP2023108579 | 2023-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2025005017A1 true WO2025005017A1 (ja) | 2025-01-02 |
Family
ID=93939039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2024/022659 WO2025005017A1 (ja) | 2023-06-30 | 2024-06-21 | 検査システム、検査方法及び検査プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2025005017A1 (ja) |
-
2024
- 2024-06-21 WO PCT/JP2024/022659 patent/WO2025005017A1/ja unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6654020B2 (en) | Method of rendering motion blur image and apparatus therefor | |
JP4508878B2 (ja) | 立体画像のためのビデオフィルタ処理 | |
US9208605B1 (en) | Temporal antialiasing in a multisampling graphics pipeline | |
US7742060B2 (en) | Sampling methods suited for graphics hardware acceleration | |
US10114454B2 (en) | Velocity and depth aware reprojection | |
US8976180B2 (en) | Method, medium and system rendering 3-D graphics data having an object to which a motion blur effect is to be applied | |
US8330767B2 (en) | Method and apparatus for angular invariant texture level of detail generation | |
US8373802B1 (en) | Art-directable retargeting for streaming video | |
US12020442B2 (en) | Graphics processing systems | |
US20070120858A1 (en) | Generation of motion blur | |
WO2022263923A1 (en) | Techniques for generating light field data by combining multiple synthesized viewpoints | |
JP7427467B2 (ja) | 画像処理装置、画像処理方法、学習済みモデルの生成方法、およびプログラム | |
JP2006526834A (ja) | ボリューム・レンダリング用の適応画像補間 | |
US11521296B2 (en) | Image size triggered clarification to maintain image sharpness | |
JP3538263B2 (ja) | 画像生成方法 | |
WO2025005017A1 (ja) | 検査システム、検査方法及び検査プログラム | |
JP2006522978A (ja) | 動きぼかしの生成 | |
CN112565623A (zh) | 一种动态图像显示系统 | |
WO2025004921A1 (ja) | 画像処理システム、画像処理方法及びプログラム | |
US20230179736A1 (en) | Device and method | |
WO2025009437A1 (ja) | 画像処理システム、画像処理方法及びプログラム | |
WO2025018300A1 (ja) | 画像処理システム、画像処理方法及びプログラム | |
WO2025005018A1 (ja) | 画像処理システム、画像処理方法及びプログラム | |
US9330434B1 (en) | Art-directable retargeting for streaming video | |
WO2025009436A1 (ja) | 画像処理システム、画像処理方法及びプログラム |