A data processing method and apparatus

By combining NeRF with a super-resolution model pipeline, and utilizing reference frame guidance and a degradation model, the problems of low NeRF rendering efficiency and insufficient high-frequency detail recovery are solved, thereby accelerating high-resolution rendering and improving image quality.

CN116309074BActive Publication Date: 2026-07-21HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2023-03-23
Publication Date
2026-07-21

Smart Images

  • Figure CN116309074B_ABST
    Figure CN116309074B_ABST
Patent Text Reader

Abstract

A data processing method applied to image processing, such as the field of new view generation, the method comprising: obtaining a first image; predicting a first color value of each pixel point in a first continuous region of a down-sampled image of the first image through a NeRF network according to position information and direction information of the pixel points; the first color value is used to determine a low-resolution image corresponding to the first continuous region; obtaining a first feature representation through a first encoder according to an image region corresponding to the first continuous region in a second image and the low-resolution image; obtaining a super-resolution image corresponding to the first low-resolution image through a first decoder according to the first feature representation. In this application, the pixels sampled in each batch of NeRF belong to a continuous region, and NeRF obtains the color information of the pixels in each continuous region in each batch, so that the SR network can be connected after NeRF to generate a new view rendering result of the low-resolution low-frequency scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence, and more particularly to a data processing method and apparatus thereof. Background Technology

[0002] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0003] Neural radiance fields are currently leading new trends in computer graphics, neural rendering, and 3D vision. New perspective generation techniques based on neural radiance fields (NeRF) are fundamental technologies for applications such as new perspective reconstruction, scene reconstruction, 3D vision, and digital humans. However, current limitations of NeRF, such as low rendering efficiency and insufficient ability to recover high-frequency details, mean that NeRF-based neural rendering can only support real-time rendering at low resolutions. Therefore, there is a significant demand for high-resolution, fast, ultra-high-definition rendering using NeRF.

[0004] The existing NeRF uses a random sampling strategy, and the output is the color information of any pixel in any scene, which is not suitable for super-resolution models. Summary of the Invention

[0005] This application provides a data processing method that can generate new perspective rendering results for low-resolution, low-frequency scenes.

[0006] In a first aspect, this application provides a data processing method, comprising: acquiring a first image; predicting a first color value for each pixel using a Neural Radiation Field (NeRF) network based on the position and orientation information of pixels within a first continuous region of a downsampled image of the first image; the first color value being used to determine a first low-resolution image corresponding to the first continuous region; obtaining a first feature representation by processing a second image region corresponding to the first continuous region and an upsampled result of the first low-resolution image using a first encoder; the second image and the first image being images taken from different perspectives of the same scene; and obtaining a super-resolution image corresponding to the first low-resolution image using a first decoder based on the first feature representation.

[0007] In this embodiment, since the pixels sampled by NeRF in each batch belong to a continuous region, NeRF obtains the color information of pixels in a continuous region in each batch. Therefore, NeRF can be connected to SR network, that is, by constructing an end-to-end patch-NeRF-based super-sampling training path, 3D rendering and 2D image enhancement are fused to generate new perspective rendering results of low resolution and low frequency of scene, thereby achieving inference acceleration by multiples of the square law.

[0008] In one possible implementation, the first continuous region is a square region.

[0009] In one possible implementation, the method further includes: predicting a second color value for each pixel using the NeRF network based on the position and orientation information of pixels within the image region corresponding to the first continuous region in the downsampled image of the second image; the second color value is used to determine a second low-resolution image corresponding to the first continuous region; obtaining a second feature representation by processing the second low-resolution image and the first low-resolution image using a second encoder; obtaining a residual image corresponding to the first low-resolution image by processing the second feature representation by a second decoder; and fusing the residual image into the super-resolution image.

[0010] Based on the NeRF degradation model and the reference frame-guided super-resolution module, a detail branch is proposed to guide the reference frame to provide high-frequency details of the scene, thereby further enhancing the high-definition rendering quality. At the same time, a degradation model-dominant branch is proposed to simulate the degradation process of NeRF.

[0011] Existing NeRF methods suffer from slow rendering speed and an inability to learn high-frequency details, thus preventing the direct application of NeRF-based high-resolution rendering methods to edge computing. To address this issue, this application proposes a pipeline combining neural radiation fields and a super-resolution model to achieve fast super-resolution rendering, and proposes a super-resolution module based on a NeRF degradation model and reference frame guidance to better recover high-frequency details in the image.

[0012] In one possible implementation, the second encoder may be the same as or different from the first encoder.

[0013] In one possible implementation, the second decoder may be the same as or different from the first decoder.

[0014] In one possible implementation, the first image and the second image are adjacent frames from the same video.

[0015] In one possible implementation, the resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

[0016] In each training epoch, a fixed continuous ray region is fed into the MLP, which causes training perturbation and leads to suboptimal solutions. Therefore, a random continuous region selection can be performed on the entire training image after each training epoch.

[0017] For example, in different training batches of NeRF, another continuous region (e.g., a second continuous region) with a different image position and a different first continuous region can be sampled in the first image. Specifically, in one possible implementation, the third color value of each pixel can be predicted by the NeRF network based on the position and orientation information of pixels in a second continuous region of a downsampled image of the first image. The third color value is used to determine the third low-resolution image corresponding to the second continuous region. The second continuous region and the first continuous region are image regions at different locations. Based on the image region in the second image corresponding to the second continuous region and the upsampling result of the second low-resolution image, a third feature representation is obtained by the first encoder. Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained by the first decoder.

[0018] For example, in different training batches of NeRF, a third continuous region (e.g., a third continuous region) with a different image position and a different first continuous region can be sampled in a third image different from the first image. Specifically, in one possible implementation, the fourth color value of each pixel can be predicted through the NeRF network based on the position and orientation information of the pixels in a third continuous region of the downsampled image of the third image. The fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region. The third continuous region and the first continuous region are image regions at different locations. Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through the first encoder. The third image and the fourth image are images taken from different perspectives for the same scene. Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

[0019] In one possible implementation, the first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

[0020] Secondly, this application provides a data processing apparatus, the apparatus comprising:

[0021] The acquisition module is used to acquire the first image;

[0022] The processing module is configured to predict a first color value for each pixel based on the position and orientation information of pixels within a first continuous region of a downsampled image of the first image, using a Neural Radiation Field (NeRF) network; the first color value is used to determine a first low-resolution image corresponding to the first continuous region.

[0023] Based on the image region in the second image corresponding to the first continuous region and the upsampling result of the first low-resolution image, a first feature representation is obtained through processing by the first encoder; the second image and the first image are images taken from different perspectives for the same scene;

[0024] Based on the first feature representation, the super-resolution image corresponding to the first low-resolution image is obtained through the first decoder.

[0025] In one possible implementation, the first continuous region is a square region.

[0026] In one possible implementation, the processing module is further configured to:

[0027] Based on the position and orientation information of pixels in the image region corresponding to the first continuous region in the downsampled image of the second image, the NeRF network predicts the second color value of each pixel; the second color value is used to determine the second low-resolution image corresponding to the first continuous region.

[0028] A second feature representation is obtained by processing the second low-resolution image and the first low-resolution image using a second encoder;

[0029] Based on the second feature representation, a residual image corresponding to the first low-resolution image is obtained through a second decoder; the residual image is used to fuse into the super-resolution image.

[0030] In one possible implementation, the second encoder may be the same as or different from the first encoder.

[0031] In one possible implementation, the second decoder may be the same as or different from the first decoder.

[0032] In one possible implementation, the first image and the second image are adjacent frames from the same video.

[0033] In one possible implementation, the resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

[0034] In one possible implementation, the processing module is further configured to:

[0035] Based on the position and orientation information of pixels within a second continuous region of the downsampled image of the first image, the NeRF network predicts a third color value for each pixel; the third color value is used to determine the third low-resolution image corresponding to the second continuous region; the second continuous region and the first continuous region are image regions at different locations;

[0036] Based on the image region corresponding to the second continuous region in the second image and the upsampling result of the second low-resolution image, a third feature representation is obtained through processing by the first encoder;

[0037] Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained through the first decoder.

[0038] In one possible implementation, the processing module is further configured to:

[0039] Based on the position and orientation information of pixels within a third continuous region of the downsampled image of the third image, the NeRF network predicts a fourth color value for each pixel; the fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region; the third continuous region and the first continuous region are image regions at different locations;

[0040] Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through processing by the first encoder; the third image and the fourth image are images taken from different perspectives for the same scene;

[0041] Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

[0042] In one possible implementation, the first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

[0043] Thirdly, embodiments of this application provide a data processing apparatus, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform the methods described in the first aspect above and any of its optional methods.

[0044] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect and any of its optional methods.

[0045] Fifthly, embodiments of this application provide a computer program that, when run on a computer, causes the computer to perform the first aspect and any of its optional methods described above.

[0046] Sixthly, this application provides a chip system including a processor for supporting an execution data processing device in implementing the functions involved in the foregoing aspects, such as transmitting or processing data involved in the foregoing methods; or, information. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the execution device or training device. This chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description

[0047] Figure 1A A structural diagram illustrating the main framework of artificial intelligence;

[0048] Figure 1B Hezhi Figure 1C This is a schematic diagram of the application system framework of this application;

[0049] Figure 1D This is a schematic diagram of an optional hardware structure for a terminal.

[0050] Figure 2 This is a schematic diagram of the structure of a server;

[0051] Figure 3 This is a schematic diagram of a system architecture according to this application;

[0052] Figure 4 A process for providing a cloud service;

[0053] Figure 5 A flowchart illustrating a data processing method provided in an embodiment of this application;

[0054] Figures 6 to 9 A flowchart illustrating a data processing method provided in an embodiment of this application;

[0055] Figure 10 This is a schematic diagram illustrating one of the beneficial effects of this application;

[0056] Figure 11 A schematic diagram of the structure of a data processing apparatus provided in an embodiment of this application;

[0057] Figure 12A schematic diagram of the structure of the execution device provided in the embodiments of this application;

[0058] Figure 13 A schematic diagram of the structure of the training device provided in the embodiments of this application;

[0059] Figure 14 This is a schematic diagram of a chip structure provided in an embodiment of this application. Detailed Implementation

[0060] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is for explaining specific embodiments only and is not intended to limit the scope of this application.

[0061] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0062] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0063] The terms “substantially,” “about,” and similar terms used herein are used as approximations, not as terms of degree, and are intended to take into account the inherent biases of measurements or calculations known to those skilled in the art. Furthermore, the term “may” used in describing embodiments of this application means “one or more possible embodiments.” The terms “use,” “using,” and “used” used herein are to be considered synonymous with the terms “utilize,” “utilizing,” and “utilized,” respectively. Additionally, the term “exemplary” is intended to refer to an instance or illustration.

[0064] First, the overall workflow of the artificial intelligence system is described; please refer to [link / reference]. Figure 1A , Figure 1AThe diagram illustrates a structural framework for artificial intelligence (AI). The framework is further elaborated below along two dimensions: the "Intelligent Information Chain" (horizontal axis) and the "IT Value Chain" (vertical axis). The "Intelligent Information Chain" reflects a series of processes from data acquisition to processing. For example, it could be the general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, and intelligent execution and output. In this process, data undergoes a condensation process of "data—information—knowledge—wisdom." The "IT Value Chain" reflects the value that AI brings to the information technology industry, from the underlying infrastructure of human intelligence and information (provided and processed through technological means) to the industrial ecosystem of the system.

[0065] (1) Infrastructure

[0066] Infrastructure provides computing power to support artificial intelligence systems, enabling communication with the external world and providing support through a basic platform. This communication occurs through sensors; computing power is provided by intelligent chips (hardware acceleration chips such as CPUs, NPUs, GPUs, ASICs, and FPGAs); and the basic platform includes distributed computing frameworks and related platform guarantees and support, which may include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to acquire data, and this data is provided to intelligent chips in the distributed computing system provided by the basic platform for computation.

[0067] (2) Data

[0068] The data at the next layer of infrastructure is used to represent the data sources in the field of artificial intelligence. The data involves graphics, images, voice, text, and IoT data from traditional devices, including business data from existing systems and sensor data such as force, displacement, liquid level, temperature, and humidity.

[0069] (3) Data processing

[0070] Data processing typically includes methods such as data training, machine learning, deep learning, search, reasoning, and decision-making.

[0071] Among them, machine learning and deep learning can perform intelligent information modeling, extraction, preprocessing, and training on data, including symbolization and formalization.

[0072] Reasoning refers to the process in which, in a computer or intelligent system, the machine thinks and solves problems by simulating human intelligent reasoning, based on reasoning control strategies and using formalized information. Typical functions include search and matching.

[0073] Decision-making refers to the process of making decisions based on intelligent information after reasoning, and it typically provides functions such as classification, sorting, and prediction.

[0074] (4) General ability

[0075] After the data processing mentioned above, the results of the data processing can be used to form some general capabilities, such as algorithms or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.

[0076] (5) Smart Products and Industry Applications

[0077] Intelligent products and industry applications refer to products and applications of artificial intelligence systems in various fields. They are the encapsulation of overall artificial intelligence solutions, productizing intelligent information decision-making and realizing practical applications. Their application areas mainly include: intelligent terminals, intelligent transportation, intelligent healthcare, autonomous driving, smart cities, etc.

[0078] This application can be applied to the field of image processing in the field of artificial intelligence. The following will take image processing as an example to introduce several application scenarios that have been implemented in products.

[0079] In one possible implementation, neural radiation fields can directly synthesize 3D scenes and perform multi-view rendering by inputting a limited number of multi-view images, eliminating the need for complex 3D modeling processes and achieving the effect of obtaining planar images of objects from any viewpoint with low acquisition costs.

[0080] This application can be applied, but is not limited to, to applications with compositing 3D scenes and multi-view rendering capabilities (hereinafter referred to as new view generation applications) or cloud services provided by cloud-side servers, which will be described in detail below:

[0081] I. New Perspective Generation Applications

[0082] The product form of this application embodiment can be a new perspective generation application. This new perspective generation application can run on a terminal device or a cloud-based server.

[0083] In one possible implementation, a new perspective generation application can generate a trained model based on multiple perspective images as input and the corresponding camera intrinsics (such as camera pose information) at the time of shooting. The trained model can then output the corresponding image based on the specified perspective.

[0084] In one possible implementation, a user can open a new perspective generation application installed on a terminal device and input an image and perspective information. The new perspective generation application can process the image using the method provided in the embodiments of this application and present the processing result to the user (the presentation method may include, but is not limited to, displaying, saving, uploading to the cloud, etc.).

[0085] In one possible implementation, a user can open a new perspective generation application installed on a terminal device and input an image. The new perspective generation application can send the image to a cloud-based server. The cloud-based server processes the image using the method provided in this application embodiment and sends the processing result back to the terminal device. The terminal device can then present the processing result to the user (the presentation method may include, but is not limited to, displaying, saving, or uploading to the cloud).

[0086] The following sections will introduce the novel perspective on generating class applications in this application, focusing on both the functional architecture and the product architecture that implements the functions.

[0087] Reference Figure 1B , Figure 1B This is a schematic diagram of the functional architecture of the novel perspective generation application in the embodiments of this application:

[0088] In one possible implementation, such as Figure 1B As shown, the new perspective generation application 102 can receive input parameters 101 (e.g., including an image) and generate a processing result 103. The new perspective generation application 102 can be executed on at least one computer system (for example) and includes computer code that, when executed by one or more computers, causes the computers to perform the methods provided in the embodiments of this application.

[0089] Reference Figure 1C , Figure 1C This is a schematic diagram of the entity architecture for running a new perspective generation application in this embodiment of the application:

[0090] See Figure 1C , Figure 1C A schematic diagram of a system architecture is shown. The system may include a terminal 100 and a server 200. The server 200 may include one or more servers (…). Figure 1C (The example includes a server), and the server 200 can provide the method provided in the embodiments of this application to one or more terminals.

[0091] The terminal 100 may have a new perspective generation application installed. The application and webpage can provide an interface. The terminal 100 can receive relevant parameters input by the user on the new perspective generation interface and send the parameters to the server 200. The server 200 can obtain the processing result based on the received parameters and return the processing result to the terminal 100.

[0092] It should be understood that in some optional implementations, the terminal 100 can also complete the action of obtaining the processing result based on the received parameters on its own, without the need for the server to cooperate. This application embodiment is not limited to this.

[0093] The following description Figure 1C The product form of the mid-terminal 100;

[0094] The terminal 100 in this application embodiment can be a mobile phone, tablet computer, wearable device, vehicle device, augmented reality (AR) / virtual reality (VR) device, laptop computer, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA), etc., and this application embodiment does not impose any restrictions on it.

[0095] Figure 1D A schematic diagram of an optional hardware structure for terminal 100 is shown.

[0096] refer to Figure 1D As shown, the terminal 100 may include a radio frequency unit 110, a memory 120, an input unit 130, a display unit 140, a camera 150 (optional), an audio circuit 160 (optional), a speaker 161 (optional), a microphone 162 (optional), a processor 170, an external interface 180, a power supply 190, and other components. Those skilled in the art will understand that... Figure 1D These are merely examples of terminals or multi-functional devices and do not constitute a limitation on terminals or multi-functional devices. They may include more or fewer components than shown in the illustration, or combine certain components, or use different components.

[0097] The input unit 130 can be used to receive input numerical or character information, and to generate key signal inputs related to user settings and function control of the portable multi-functional device. Specifically, the input unit 130 may include a touchscreen 131 (optional) and / or other input devices 132. The touchscreen 131 can collect touch operations performed by the user on or near it (such as operations performed by the user using fingers, knuckles, styluses, or any suitable object on or near the touchscreen), and drive the corresponding connection devices according to a pre-set program. The touchscreen can detect the user's touch actions, convert the touch actions into touch signals and send them to the processor 170, and can receive and execute commands sent by the processor 170; the touch signal includes at least touch point coordinate information. The touchscreen 131 can provide an input interface and an output interface between the terminal 100 and the user. In addition, various types of touchscreens, such as resistive, capacitive, infrared, and surface acoustic wave, can be used to implement the touchscreen. Besides the touchscreen 131, the input unit 130 may also include other input devices. Specifically, other input devices 132 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.

[0098] The input device 132 can receive input images, camera intrinsic parameters, etc.

[0099] The display unit 140 can be used to display information input by the user or information provided to the user, various menus of the terminal 100, interactive interfaces, file display, and / or playback of any multimedia file. In this embodiment, the display unit 140 can be used to display the interface and processing results of a new perspective generation application.

[0100] The memory 120 can be used to store instructions and data. The memory 120 may primarily include an instruction storage area and a data storage area. The data storage area can store various types of data, such as multimedia files and text. The instruction storage area can store software units such as operating systems, applications, and instructions required for at least one function, or subsets or extended sets thereof. It may also include non-volatile random access memory. It provides the processor 170 with hardware, software, and data resources for managing the computing device, supporting control software and applications. It is also used for storing multimedia files, as well as storing running programs and applications.

[0101] The processor 170 is the control center of the terminal 100. It connects various parts of the terminal 100 via various interfaces and lines. By running or executing instructions stored in the memory 120 and calling data stored in the memory 120, it performs various functions and processes data of the terminal 100, thereby controlling the terminal device as a whole. Optionally, the processor 170 may include one or more processing units; preferably, the processor 170 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 170. In some embodiments, the processor and memory can be implemented on a single chip; in some embodiments, they can also be implemented separately on independent chips. The processor 170 can also be used to generate corresponding operation control signals, send them to the corresponding components of the computing processing device, read and process data in the software, especially read and process data and programs in the memory 120, so that the various functional modules therein perform corresponding functions, thereby controlling the corresponding components to act according to the instructions.

[0102] The memory 120 can be used to store software code related to the data processing method, and the processor 170 can execute the steps of the chip's data processing method, and can also schedule other units (such as the above-mentioned input unit 130 and display unit 140) to achieve the corresponding functions.

[0103] The radio frequency unit 110 (optional) can be used for receiving and transmitting signals during information transmission or calls. For example, it can receive downlink information from the base station and process it for the processor 170; additionally, it can transmit uplink data to the base station. Typically, the RF circuit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, the radio frequency unit 110 can also communicate wirelessly with network devices and other devices. This wireless communication can use any communication standard or protocol, including but not limited to Global System for Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0104] In this embodiment of the application, the radio frequency unit 110 can send an image to the server 200 and receive the processing result sent by the server 200.

[0105] It should be understood that the radio frequency unit 110 is optional and can be replaced with other communication interfaces, such as a network port.

[0106] The terminal 100 also includes a power supply 190 (such as a battery) that supplies power to various components. Preferably, the power supply can be logically connected to the processor 170 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.

[0107] Terminal 100 also includes an external interface 180, which can be a standard Micro USB interface or a multi-pin connector, which can be used to connect terminal 100 to other devices for communication or to connect a charger to charge terminal 100.

[0108] Although not shown, terminal 100 may also include a flash, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with various functions, etc., which will not be described in detail here. Some or all of the methods described below can be applied to, for example... Figure 1D In the terminal 100 shown.

[0109] The following description Figure 1C The product form of the mid-range server 200;

[0110] Figure 2 A structural diagram of a server 200 is provided, as follows: Figure 2 As shown, server 200 includes bus 201, processor 202, communication interface 203, and memory 204. Processor 202, memory 204, and communication interface 203 communicate with each other via bus 201.

[0111] Bus 201 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 2 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0112] The processor 202 can be any one or more of the following processors: central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP).

[0113] Memory 204 may include volatile memory, such as random access memory (RAM). Memory 204 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0114] The memory 204 can be used to store software code related to the data processing method, and the processor 202 can execute the steps of the chip's data processing method, and can also schedule other units to achieve corresponding functions.

[0115] It should be understood that the aforementioned terminal 100 and server 200 can be centralized or distributed devices. The processors (e.g., processor 170 and processor 202) in the aforementioned terminal 100 and server 200 can be hardware circuits (such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), general-purpose processors, digital signal processors (DSPs), microprocessors or microcontrollers, etc.) or combinations of these hardware circuits. For example, the processor can be a hardware system with instruction execution capabilities, such as a CPU or DSP, or a hardware system without instruction execution capabilities, such as an ASIC or FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.

[0116] It should be understood that the steps related to the model inference process in the embodiments of this application involve AI-related operations. When performing AI operations, the instruction execution architecture of the terminal device and server is not limited to the processor-memory architecture described above. The following section will further explain... Figure 3 The system architecture provided in the embodiments of this application will be described in detail.

[0117] Figure 3 This is a schematic diagram of the system architecture provided for an embodiment of this application. Figure 3 As shown, the system architecture 500 includes an execution device 510, a training device 520, a database 530, a client device 540, a data storage system 550, and a data acquisition system 560.

[0118] The execution device 510 includes a calculation module 511, an I / O interface 512, a preprocessing module 513, and a preprocessing module 514. The calculation module 511 may include a target model / rule 501, while the preprocessing modules 513 and 514 are optional.

[0119] Among them, the execution device 510 can be a terminal device or server that runs the above-mentioned new perspective generation application.

[0120] The data acquisition device 560 is used to acquire training samples. Training samples can be multiple images, etc. After acquiring the training samples, the data acquisition device 560 stores these training samples in the database 530.

[0121] The training device 520 can maintain training samples in the database 530 and obtain the target model / rule 501 from the neural network to be trained (e.g., the neural radiance field (NeRF) in the embodiments of this application).

[0122] It should be noted that in practical applications, the training samples maintained in database 530 may not all come from the data acquisition device 560; they may also be received from other devices. Furthermore, it should be noted that training device 520 may not necessarily train the target model / rule 501 entirely based on the training samples maintained in database 530; it may also obtain training samples from the cloud or other sources for model training. The above description should not be construed as limiting the embodiments of this application.

[0123] The target model / rule 501 trained using training device 520 can be applied to different systems or devices, such as... Figure 3 The execution device 510 shown can be a terminal, such as a mobile phone terminal, tablet computer, laptop computer, augmented reality (AR) / virtual reality (VR) device, vehicle terminal, etc., or it can be a server, etc.

[0124] Specifically, the training device 520 can transfer the trained model to the execution device 510.

[0125] exist Figure 3 In the process, the execution device 510 is configured with an input / output (I / O) interface 512 for data interaction with external devices. Users can input data (such as the first image in this embodiment) into the I / O interface 512 through the client device 540.

[0126] Preprocessing modules 513 and 514 are used to preprocess the input data received from the I / O interface 512. It should be understood that preprocessing modules 513 and 514 may be absent, or only one preprocessing module may be used. When preprocessing modules 513 and 514 are absent, the calculation module 511 can be used directly to process the input data.

[0127] During the preprocessing of input data by the execution device 510, or during the calculation module 511 of the execution device 510 performing calculations and other related processes, the execution device 510 can call data, code, etc. in the data storage system 550 for corresponding processing, or store the data, instructions, etc. obtained from the corresponding processing into the data storage system 550.

[0128] Finally, the I / O interface 512 provides the processing result to the client device 540, thereby providing it to the user.

[0129] exist Figure 3 In the illustrated scenario, the user can manually provide input data, which can be done through the interface provided by I / O interface 512. Alternatively, the client device 540 can automatically send input data to I / O interface 512. If user authorization is required for the client device 540 to automatically send input data, the user can set the corresponding permissions in the client device 540. The user can view the output results of the execution device 510 on the client device 540, which can be presented in various forms such as display, sound, or animation. The client device 540 can also act as a data acquisition terminal, collecting the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530. Alternatively, data can be collected directly from the I / O interface 512 without going through the client device 540, using the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530.

[0130] It is worth noting that, Figure 3 This is merely a schematic diagram of a system architecture provided in an embodiment of this application. The positional relationships between the devices, components, modules, etc., shown in the diagram do not constitute any limitation. For example, in Figure 3 In this context, the data storage system 550 is an external storage device relative to the execution device 510. However, in other cases, the data storage system 550 may also be placed within the execution device 510. It should be understood that the aforementioned execution device 510 may be deployed within the client device 540.

[0131] From the inference side of the model:

[0132] In this embodiment, the computing module 511 of the execution device 520 can obtain the code stored in the data storage system 550 to implement the steps related to the model reasoning process in this embodiment.

[0133] In this embodiment of the application, the computing module 511 of the execution device 520 may include hardware circuits (such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), general-purpose processors, digital signal processors (DSPs), microprocessors or microcontrollers, etc.) or combinations of these hardware circuits. For example, the training device 520 may be a hardware system with instruction execution capabilities, such as a CPU or DSP, or a hardware system without instruction execution capabilities, such as an ASIC or FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.

[0134] Specifically, the computing module 511 of the execution device 520 can be a hardware system with the function of executing instructions. The steps related to the model inference process provided in this application embodiment can be software code stored in the memory. The computing module 511 of the execution device 520 can obtain the software code from the memory and execute the obtained software code to implement the steps related to the model inference process provided in this application embodiment.

[0135] It should be understood that the computing module 511 of the execution device 520 can be a combination of a hardware system without the function of executing instructions and a hardware system with the function of executing instructions. Some steps related to the model reasoning process provided in the embodiments of this application can also be implemented by the hardware system in the computing module 511 of the execution device 520 without the function of executing instructions, which is not limited here.

[0136] From the training side of the model:

[0137] In this embodiment of the application, the training device 520 can access the memory ( Figure 3 (Not shown in the diagram, but can be integrated into the training device 520 or deployed separately from the training device 520) The code stored in the diagram can be used to implement the steps related to model training in the embodiments of this application.

[0138] In this embodiment of the application, the training device 520 may include hardware circuits (such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), general-purpose processors, digital signal processors (DSPs), microprocessors or microcontrollers, etc.) or combinations of these hardware circuits. For example, the training device 520 may be a hardware system with instruction execution capabilities, such as a CPU or DSP, or a hardware system without instruction execution capabilities, such as an ASIC or FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.

[0139] It should be understood that the training device 520 can be a combination of a hardware system without the function of executing instructions and a hardware system with the function of executing instructions. Some steps related to the training of the neutralization model provided in the embodiments of this application can also be implemented by the hardware system in the training device 520 without the function of executing instructions, which is not limited here.

[0140] II. New Perspectives Provided by Servers for Generating Cloud-like Services:

[0141] In one possible implementation, the server can provide new perspective generation services to the client side through an application programming interface (API).

[0142] In this process, the terminal device can send relevant parameters (such as images from multiple perspectives and corresponding camera intrinsic information) to the server through the API provided by the cloud. The server can obtain the processing results based on the received parameters and return the processing results to the terminal.

[0143] The description of the terminal and server can be found in the above embodiments, and will not be repeated here.

[0144] like Figure 4 This demonstrates a process for generating cloud-like services using a new perspective provided by a cloud platform.

[0145] 1. Activate and purchase content moderation services.

[0146] 2. Users can download the software development kit (SDK) corresponding to the content moderation service. Cloud platforms usually provide multiple development versions of the SDK for users to choose from according to their development environment needs, such as JAVA version SDK, Python version SDK, PHP version SDK, Android version SDK, etc.

[0147] 3. After downloading the corresponding version of the SDK to their local machine according to their needs, users can import the SDK project into their local development environment, configure and debug it in the local development environment, and develop other functions in the local development environment, thus forming an application that integrates new perspective class generation capabilities.

[0148] 4. When a new perspective generation application is used, it can trigger an API call for new perspective generation when needed. When the application triggers the new perspective generation function, it initiates an API request to the running instance of the new perspective generation service in the cloud environment. The API request carries the image and camera intrinsic parameters, and the running instance in the cloud environment processes the image to obtain the processing result.

[0149] 5. The cloud environment returns the processing result to the application, thereby completing one method call provided in this embodiment of the application.

[0150] Since the embodiments of this application involve a large number of neural network applications, for ease of understanding, the relevant terms and concepts such as neural networks involved in the embodiments of this application will be introduced below.

[0151] (1) Neural Network

[0152] A neural network can be composed of neural units, which can be defined as a computational unit that takes xs (i.e., input data) and an intercept of 1 as input. The output of this computational unit can be:

[0153]

[0154] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of this activation function can be used as the input of the next convolutional layer, and the activation function can be the sigmoid function. A neural network is a network formed by connecting multiple of the above-mentioned individual neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, which can be a region composed of several neural units.

[0155] (2) Deep Neural Networks

[0156] A Deep Neural Network (DNN) can be understood as a neural network with many hidden layers. There's no specific metric for "many" layers; the commonly used terms "multi-layer neural network" and "deep neural network" are essentially the same thing. DNNs can be categorized into three layers based on their position: input layer, hidden layer, and output layer. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. All layers are fully connected, meaning that any neuron in the i-th layer is connected to any neuron in the (i+1)-th layer. Although DNNs seem complex, the operation of each layer is actually not complicated; it can be simply described by the following linear relationship expression: in, It is the input vector. It is the output vector. α is the offset vector, W is the weight matrix (also called coefficients), and α() is the activation function. Each layer is simply an adjustment of the input vector. The output vector is obtained through such a simple operation. Because DNNs have many layers, the coefficients W and the offset vector... The number is quite large. So, how are the specific parameters defined in a DNN? Let's first look at the definition of the coefficient W. Taking a three-layer DNN as an example, the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as... The superscript 3 represents the layer number where coefficient W resides, while the subscript corresponds to the output third layer index 2 and the input second layer index 4. In summary, the coefficients from the k-th neuron in layer L-1 to the j-th neuron in layer L are defined as... Note that the input layer does not have a W parameter. In deep neural networks, more hidden layers allow the network to better represent complex real-world situations. Theoretically, the more parameters a model has, the higher its complexity and "capacity," meaning it can accomplish more complex learning tasks.

[0157] (3) A Convolutional Neural Network (CNN) is a deep neural network with a convolutional structure. A CNN contains a feature extractor consisting of convolutional layers and subsampling layers. This feature extractor can be viewed as a filter, and the convolution process can be seen as using a trainable filter to convolve with an input image or a convolutional feature map. A convolutional layer refers to the neuron layer in a CNN that performs convolution processing on the input signal. In a convolutional layer of a CNN, a neuron can be connected to only some of the neurons in its neighboring layers. A convolutional layer typically contains several feature planes, each of which can be composed of rectangularly arranged neural units. Neural units on the same feature plane share weights, which are the convolutional kernels. Shared weights can be understood as the way image information is extracted regardless of location. The underlying principle is that the statistical information of one part of the image is the same as that of other parts. This means that image information learned in one part can also be used in another part. Therefore, the same learned image information can be used for all locations on the image. In the same convolutional layer, multiple convolutional kernels can be used to extract different image information. Generally, the more convolutional kernels there are, the richer the image information reflected by the convolution operation.

[0158] Convolutional kernels can be initialized as matrices of random size, and during the training of a convolutional neural network, they can learn appropriate weights. Furthermore, sharing weights directly reduces the number of connections between layers in the convolutional neural network, while also lowering the risk of overfitting.

[0159] (4) Backpropagation algorithm

[0160] Convolutional neural networks can employ backpropagation (BP) to correct the parameters in the initial super-resolution model during training, thereby reducing the reconstruction error loss. Specifically, forward propagation of the input signal to the output generates an error loss; this error loss information is then propagated back to update the parameters in the initial super-resolution model, leading to convergence of the error loss. The backpropagation algorithm is an error-loss-driven backpropagation process aimed at obtaining the optimal parameters of the super-resolution model, such as the weight matrix.

[0161] (5) Loss Function

[0162] In training a deep neural network, to ensure the output closely approximates the desired predicted value, we compare the network's prediction with the target value. Based on the difference, we update the weight vector of each layer (usually pre-configuring parameters before the initial update). For example, if the prediction is too high, the weight vector is adjusted to predict a lower value. This adjustment continues until the deep neural network predicts the target value or a value very close to it. Therefore, we need to predefine "how to compare the difference between the predicted and target values," which is the loss function or objective function. These are important equations used to measure the difference between the predicted and target values. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and training the deep neural network becomes a process of minimizing this loss.

[0163] (6)NeRF: A novel field-of-view synthesis technique with implicit scene representation, which utilizes multilayer perceptrons (MLPs) for implicit neural scene volume rendering.

[0164] (7) Reference-based super-resolution (RefSR): This method utilizes rich textures from high-resolution (HR) reference images (Ref) to supplement missing details in low-resolution (LR) images, thereby alleviating the ill-posed problem and obtaining richer and more realistic textures with the help of the reference image. Existing RefSR methods use internal self-examples or external high-frequency information to enhance textures.

[0165] (8) Multilayer perceptron, also called artificial neural network (ANN), has multiple hidden layers in addition to the input and output layers. The simplest MLP contains only one hidden layer.

[0166] Neural radiation fields are currently leading new trends in computer graphics, neural rendering, and 3D vision. New perspective generation technology based on NeRF is a fundamental technology for applications such as new perspective reconstruction, scene reconstruction, 3D vision, and digital humans. However, due to limitations such as low rendering efficiency and insufficient ability to recover high-frequency details, NeRF-based neural rendering can only support real-time rendering at low resolutions. Therefore, there is a significant demand for high-resolution, fast, ultra-high-definition rendering using NeRF.

[0167] The existing NeRF uses a random sampling strategy, and the output is the color information of any pixel in any scene, which is not suitable for super-resolution models.

[0168] To address the aforementioned problems, embodiments of this application provide a data processing method. The data processing method of this application embodiment will be described in detail below with reference to the accompanying drawings.

[0169] Reference Figure 5 , Figure 5 This is a flowchart illustrating a data processing method provided in an embodiment of this application, such as... Figure 5 As shown in the embodiment of this application, a data processing method may include steps 501 to 504, which are described in detail below.

[0170] 501. Obtain the first image.

[0171] In one possible implementation, a first image can be acquired. This first image can be an image captured by a camera or a frame from a captured video. The video can be captured from multiple perspectives of the same scene. Furthermore, the video may also include second, third, and fourth images, etc., as described in subsequent embodiments.

[0172] In one possible implementation, the image may be a pre-taken picture stored in the terminal device's image library or downloaded via the Internet. This application does not limit the specific content of the image.

[0173] 502. Based on the position and orientation information of pixels in a first continuous region of the downsampled image of the first image, a first color value of each pixel is predicted using a NeRF network; the first color value is used to determine the first low-resolution image corresponding to the first continuous region.

[0174] The downsampling method can be, but is not limited to, JPEG compression, bicubic or bilinear interpolation, etc.

[0175] In existing NeRF methods, N points (where N is the batch size during training) are randomly sampled from all viewpoints during each iteration. For each point p, given 3D position information x = (x, y, z) and direction information d = (θ, φ), the direction function of the ray corresponding to point p is modeled using x and d, and t points are sampled. These sampled points are then fed into the MLP of the NeRF network to output the feature results. Finally, the feature results are rendered using a graphics rendering formula to obtain the color information C of point p. A schematic diagram of the overall process can be shown in the following formula:

[0176]

[0177]

[0178] C(r; θ; t) = ∑ k T k (1-exp(σ k (t k+1 -t k )))c k ;

[0179] Among them, MLP pos MLP dir These are MLPs responsible for 3D position information and MLPs responsible for orientation information, respectively. pos ,θ dir These are the model parameters corresponding to the MLP; These are the position codes for 3D position information and orientation information, respectively; T k =exp(-∑ k′<k σ k ′(t k′+1 -t k′ C(r; θ; t) is the final RGB value of point p.

[0180] However, the random sampling strategy of NeRF described above outputs RGB values ​​for any pixel in any scene. In other words, NeRF samples the light rays corresponding to each randomly sampled pixel and renders specific color information using MLP and volumetric rendering integrals. However, the output color information lacks continuous spatial texture information, making it unsuitable for subsequent super-resolution models. The embodiments of this application can combine NeRF with a super-resolution model to achieve fast and accurate high-resolution rendering.

[0181] Specifically, embodiments of this application can connect NeRF to the super-resolution model during the training phase. For example... Figure 6 As shown in the top left, the improved sampling strategy first obtains rays from continuous regions instead of random selection. Then, the final ray color is obtained through MLP and volume integration. Finally, the rendered region is fed into a subsequent network to train the super-resolution module. A schematic of the overall process can be illustrated by the following formula:

[0182]

[0183] Where R represents the continuous ray region sampled based on the sampling strategy in the embodiments of this application, θ represents the weight of the NeRF part of the MLP, and t is the sampling interval along each ray.

[0184] 503. Based on the image region in the second image corresponding to the first continuous region and the upsampling result of the first low-resolution image, a first feature representation is obtained by processing with a first encoder; the second image and the first image are images taken from different perspectives for the same scene.

[0185] In one possible implementation, the first image and the second image are adjacent frames from the same video.

[0186] 504. Based on the first feature representation, the super-resolution image corresponding to the first low-resolution image is obtained through the first decoder.

[0187] In one possible implementation, the first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

[0188] In one possible implementation, the resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

[0189] In this embodiment, since the pixels sampled by NeRF in each batch belong to a continuous region, NeRF obtains the color information (i.e., continuous spatial texture features) of the pixels in a continuous region in each batch. Therefore, NeRF can be connected to the SR network, that is, by constructing an end-to-end patch-NeRF-based super-sampling training path, 3D rendering and 2D image enhancement are fused to generate new perspective rendering results of low-resolution and low-frequency scenes, thereby achieving inference acceleration by multiples of the square law.

[0190] In one possible implementation, the second color value of each pixel can be predicted using the NeRF network based on the position and orientation information of pixels within the image region corresponding to the first continuous region in the downsampled image of the second image; the second color value is used to determine the second low-resolution image corresponding to the first continuous region; a second feature representation is obtained by processing the second low-resolution image and the first low-resolution image using a second encoder; a residual image corresponding to the first low-resolution image is obtained by processing the second feature representation by a second decoder; the residual image is used to fuse to the super-resolution image.

[0191] Among them, due to the limitations of MLP, NeRF performs poorly in rendering high-frequency details. For example... Figure 7 As shown, this application proposes a super-resolution module based on a NeRF degradation model and reference frame guidance, utilizing a reference image (second image) to parse the LR image generated by the NeRF model. The main considerations are how to model the downsampling degradation process between the HR and the LR generated by NeRF, and how to align high-frequency details from HR reference images at different viewpoints to the final output. Specifically, this module designs a dual-branch network that fully utilizes detail information and degradation model information from their respective branches and effectively fuses the two branches. Similar encoder-decoder networks are constructed in both branches (the encoder-decoder networks in the two branches can be the same or different; that is, the second encoder and the first encoder can be the same or different, and the second decoder and the first decoder can be the same or different) to perform degradation model prediction and high-frequency detail recovery.

[0192] In one possible implementation, detail branches ( Figure 7 The branch on the right aims to introduce high-frequency details from the reference frame. For efficiency, the upsampled NeRF output (LR) is also input into the branch. up This is to aid in the overall information reconstruction. In the current branch, the input is transformed from spatial features into deep features, and the deep features are extracted through a series of convolutional layers and two ResBlocks. The output of the first ResBlock is... The output of the second ResBlock is The process for this part can be illustrated by the following formula:

[0193]

[0194]

[0195] Then, by F′ Ref and The data is sent to ResBlock for detailed information fusion. Finally, the decoder layer combines the fused detailed features with... Upsample to the target resolution and output the result of this branch. detail The process for this part is shown in the following formula:

[0196]

[0197] Degradation model branch ( Figure 7The structure of the left-hand branch is similar to that of the detail branch, except that the decoder includes an additional upsampling layer to restore the output to the target resolution. The input to the degraded model branch is low-resolution LR frames and Ref frames. The low-resolution Ref frames are generated by the trained NeRF. After the degraded model branch and the detail branch output their results, the residual result of the degraded model branch is added to the result of the detail branch to generate the final model result.

[0198] Based on the NeRF degradation model and the reference frame-guided super-resolution module, a detail branch is proposed to guide the reference frame to provide high-frequency details of the scene, thereby further enhancing the high-definition rendering quality. At the same time, a degradation model-dominant branch is proposed to simulate the degradation process of NeRF.

[0199] Existing NeRF methods suffer from slow rendering speed and an inability to learn high-frequency details, thus preventing the direct application of NeRF-based high-resolution rendering methods to edge computing. To address this issue, this application proposes a pipeline combining neural radiation fields and a super-resolution model to achieve fast super-resolution rendering, and proposes a super-resolution module based on a NeRF degradation model and reference frame guidance to better recover high-frequency details in the image.

[0200] Furthermore, experiments revealed that feeding a fixed continuous ray region into the MLP in each training epoch causes training perturbation and leads to suboptimal solutions. Therefore, a random continuous region selection can be performed on the entire training image after each training epoch.

[0201] For example, in different training batches of NeRF, another continuous region (e.g., a second continuous region) with a different image position and a different first continuous region can be sampled in the first image. Specifically, in one possible implementation, the third color value of each pixel can be predicted by the NeRF network based on the position and orientation information of pixels in a second continuous region of a downsampled image of the first image. The third color value is used to determine the third low-resolution image corresponding to the second continuous region. The second continuous region and the first continuous region are image regions at different locations. Based on the image region in the second image corresponding to the second continuous region and the upsampling result of the second low-resolution image, a third feature representation is obtained by the first encoder. Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained by the first decoder.

[0202] For example, in different training batches of NeRF, a third continuous region (e.g., a third continuous region) with a different image position and a different first continuous region can be sampled in a third image different from the first image. Specifically, in one possible implementation, the fourth color value of each pixel can be predicted through the NeRF network based on the position and orientation information of the pixels in a third continuous region of the downsampled image of the third image. The fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region. The third continuous region and the first continuous region are image regions at different locations. Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through the first encoder. The third image and the fourth image are images taken from different perspectives for the same scene. Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

[0203] This application provides a data processing method, including: acquiring a first image; predicting a first color value for each pixel using a Neural Radiation Field (NeRF) network based on the position and orientation information of pixels within a first continuous region of a downsampled image of the first image; the first color value being used to determine a first low-resolution image corresponding to the first continuous region; obtaining a first feature representation by processing a second image region corresponding to the first continuous region and an upsampled result of the first low-resolution image using a first encoder; the second image and the first image being images of the same scene taken from different perspectives; and obtaining a super-resolution image corresponding to the first low-resolution image using a first decoder based on the first feature representation.

[0204] A schematic diagram of a system architecture according to an embodiment of this application can be shown as follows: Figure 8 As shown, high-resolution neural radiation field rendering includes two steps. The first step is to build an end-to-end patch-NeRF-based super-sampling training path. By improving the training strategy of the NeRF path, the global random sampling method is changed to a patch-based random sampling method, so that the results of the NeRF path can be applied to the subsequent super-resolution path. The second step is a super-resolution module based on the NeRF degradation model and reference frame guidance. After the NeRF path renders the patch results, this module uses the reference frame guidance to super-resolution the input to the target resolution, so that it can reconstruct fine high-frequency details during the rendering process.

[0205] The patch-NeRF-based rendering framework proposed in this application is applicable to any device using NeRF, achieving several times the rendering speedup without introducing additional storage space. It should be noted that this invention is the first end-to-end technology combining neural radiation fields and super-resolution.

[0206] A structural block diagram of one embodiment of this application can be as follows: Figure 9 As shown below, the various modules and main steps in the example are explained in detail.

[0207] 1. Super-sampling stage based on patch-NeRF

[0208] This application improves the original NeRF sampling strategy by generating ray blocks with continuous spatial information during the sampling stage, sending the ray blocks into the NeRF pipeline for rendering, and obtaining continuous image blocks through the rendering formula. Compared with traditional NeRF, the improved sampling strategy of this invention can be applied to the subsequent super-resolution module.

[0209] 2. Super-resolution module based on NeRF degradation model and reference frame guidance

[0210] Building upon the first step, and combining the HR reference frame, a high-resolution, high-definition rendering result is output. This module is designed with a detail branch and a degradation model branch. The detail branch takes a low-resolution target image and a high-resolution reference image as input to fuse high-frequency details in the reference frame; the degradation model branch takes a low-resolution target image and a low-resolution reference frame image (MLP) as input to guide subsequent degradation image fusion.

[0211] On a given training and test set, the embodiments of this application are compared with the following benchmark algorithms, and have the following beneficial effects.

[0212] Baseline Algorithm 1: The traditional interpolation algorithm Bicubic, the original NeRF, and other methods combining NeRF and super-resolution models, respectively from NeRF-LR and NeRF-HR in "NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis" and NeRF-SR in "NeRF-SR: High-Quality Neural Radiance Fields using Super-Sampling".

[0213] Benchmark Algorithm 2: LLFF, the dataset benchmark algorithm proposed in the paper "Local light field fusion: Practical view synthesis with prescriptive sampling guidelines"; Jax-NeRF, an efficient NeRF algorithm based on the original NeRF, in "JaxNeRF: an efficient JAX implementation of NeRF"; and voxel-based NeRF methods, including Plenoxel ("Plenoxels: Radiance fields without neural networks"), FastNeRF ("Fastnerf: High-fidelity neural rendering at 200fps"), Efficient-NeRF ("Efficientnerf: efficient neural radiance fields"), SNeRF ("Baking neural radiance fields for real-time view synthesis"), and Mobile-NeRF ("Mobilenerf: Exploiting the polygon rasterization pipeline for efficient neural field rendering on mobile architectures").

[0214] Benchmark Algorithm 3: Algorithms in the RefSR task, including the DATSR algorithm in the paper "Reference-based image super-resolution with deformable attention transformer" and the TTSR algorithm in the paper "Learningtexture transformer network for image super-resolution".

[0215] Beneficial Effect 1: The efficiency of the embodiments in this application far exceeds that of other algorithms, with performance higher than the original NeRF and traditional methods, and on par with the optimal algorithm. Compared to Bicubic and traditional NeRF methods, it achieves a significant performance improvement, with efficiency increases of 4 to 50 times at 2x, 4x, and 8x super-resolution. Compared to the existing optimal method NeRF-SR, it achieves essentially the same performance, with efficiency increases of 4 to 27 times at 2x and 4x super-resolution.

[0216] Beneficial Effect 2: Compared to the voxel-based improved NeRF method (top half of Table 2), at a 2x super-resolution, while maintaining essentially the same performance, the storage requirement of this embodiment is reduced by at least 45 times. As the super-resolution factor increases, the storage consumption of the voxel-based improved NeRF method increases exponentially, while the storage consumption of this embodiment remains unchanged. Compared to the original NeRF-improved Efficient-NeRF method (bottom half of Table 2), it achieves essentially the same performance and improves efficiency by 4 times at a 2x super-resolution. As the super-resolution factor increases, the efficiency of the NeRF-based method decreases exponentially, while the efficiency of this embodiment remains essentially unchanged.

[0217] Beneficial effect 3: Existing methods are not applicable to super-resolution in NeRF scenarios, while the Ref module in this application embodiment can effectively guide the recovery of high-frequency information.

[0218] Referring to Table 1, which compares the objective metrics (performance, efficiency) of the embodiments of this application with those of traditional NeRF, Bicubic, and state-of-the-art methods; Table 2 compares the objective metrics (performance, efficiency, storage) of the embodiments of this application with those of NeRF-Based and Voxel-Based methods; and Table 3 compares the objective metrics (performance) of the embodiments of this application with those of state-of-the-art methods. Figure 10 , Figure 10 It is a visual representation.

[0219] Table 1

[0220]

[0221] Table 2

[0222]

[0223] Table 3

[0224]

[0225] Reference Figure 11 , Figure 11 This is a schematic diagram of the structure of a data processing apparatus provided in an embodiment of this application, such as... Figure 11 As shown in the figure, an embodiment of this application provides a data processing apparatus 1100, comprising:

[0226] The acquisition module 1101 is used to acquire the first image;

[0227] The specific description of the acquisition module 1201 can be found in the description of step 501 in the above embodiment, and will not be repeated here.

[0228] Processing module 1102 is configured to predict a first color value for each pixel based on the position and orientation information of pixels within a first continuous region of a downsampled image of the first image, using a Neural Radiation Field (NeRF) network; the first color value is used to determine a first low-resolution image corresponding to the first continuous region.

[0229] Based on the image region in the second image corresponding to the first continuous region and the upsampling result of the first low-resolution image, a first feature representation is obtained through processing by the first encoder; the second image and the first image are images taken from different perspectives for the same scene;

[0230] Based on the first feature representation, the super-resolution image corresponding to the first low-resolution image is obtained through the first decoder.

[0231] The specific description of the processing module 1102 can be found in the description of steps 502 to 504 in the above embodiments, and will not be repeated here.

[0232] In one possible implementation, the first continuous region is a square region.

[0233] In one possible implementation, the processing module is further configured to:

[0234] Based on the position and orientation information of pixels in the image region corresponding to the first continuous region in the downsampled image of the second image, the NeRF network predicts the second color value of each pixel; the second color value is used to determine the second low-resolution image corresponding to the first continuous region.

[0235] A second feature representation is obtained by processing the second low-resolution image and the first low-resolution image using a second encoder;

[0236] Based on the second feature representation, a residual image corresponding to the first low-resolution image is obtained through a second decoder; the residual image is used to fuse into the super-resolution image.

[0237] In one possible implementation, the second encoder may be the same as or different from the first encoder.

[0238] In one possible implementation, the second decoder may be the same as or different from the first decoder.

[0239] In one possible implementation, the first image and the second image are adjacent frames from the same video.

[0240] In one possible implementation, the resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

[0241] In one possible implementation, the processing module is further configured to:

[0242] Based on the position and orientation information of pixels within a second continuous region of the downsampled image of the first image, the NeRF network predicts a third color value for each pixel; the third color value is used to determine the third low-resolution image corresponding to the second continuous region; the second continuous region and the first continuous region are image regions at different locations;

[0243] Based on the image region corresponding to the second continuous region in the second image and the upsampling result of the second low-resolution image, a third feature representation is obtained through processing by the first encoder;

[0244] Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained through the first decoder.

[0245] In one possible implementation, the processing module is further configured to:

[0246] Based on the position and orientation information of pixels within a third continuous region of the downsampled image of the third image, the NeRF network predicts a fourth color value for each pixel; the fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region; the third continuous region and the first continuous region are image regions at different locations;

[0247] Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through processing by the first encoder; the third image and the fourth image are images taken from different perspectives for the same scene;

[0248] Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

[0249] In one possible implementation, the first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

[0250] The following describes an execution device provided in an embodiment of this application. Please refer to [link / reference]. Figure 12 , Figure 12This is a schematic diagram of an execution device provided in an embodiment of this application. The execution device 1200 can specifically be a virtual reality (VR) device, a mobile phone, a tablet, a laptop, a smart wearable device, a monitoring data processing device, or a server, etc., and is not limited thereto. Specifically, the execution device 1200 includes: a receiver 1201, a transmitter 1202, a processor 1203, and a memory 1204 (wherein the execution device 1200 may have one or more processors 1203). Figure 12 (Taking a processor as an example), the processor 1203 may include an application processor 12031 and a communication processor 12032. In some embodiments of this application, the receiver 1201, transmitter 1202, processor 1203, and memory 1204 may be connected via a bus or other means.

[0251] Memory 1204 may include read-only memory and random access memory, and provides instructions and data to processor 1203. A portion of memory 1204 may also include non-volatile random access memory (NVRAM). Memory 1204 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.

[0252] Processor 1203 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together through a bus system, which may include not only the data bus, but also power buses, control buses, and status signal buses. However, for clarity, all buses in the diagram are referred to as the bus system.

[0253] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1203. The processor 1203 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1203 or by instructions in software form. The processor 1203 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1203 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1204. Processor 1203 reads the information from memory 1204 and, in conjunction with its hardware, completes the steps involved in the model inference process described above.

[0254] Receiver 1201 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of the execution device. Transmitter 1202 can be used to output digital or character information through the first interface; transmitter 1202 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 1202 may also include a display device such as a display screen.

[0255] This application also provides a training device; please refer to [link / reference]. Figure 13 , Figure 13This is a schematic diagram of a training device provided in an embodiment of this application. Specifically, the training device 1300 is implemented by one or more servers. The training device 1300 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1313 (e.g., one or more processors) and memory 1332, and one or more storage media 1330 (e.g., one or more mass storage devices) for storing application programs 1342 or data 1344. The memory 1332 and storage media 1330 can be temporary or persistent storage. The program stored in the storage media 1330 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the training device. Furthermore, the CPU 1313 may be configured to communicate with the storage media 1330 and execute the series of instruction operations in the storage media 1330 on the training device 1300.

[0256] The training device 1300 may also include one or more power supplies 1326, one or more wired or wireless network interfaces 1350, one or more input / output interfaces 1358; or, one or more operating systems 1341, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0257] In this embodiment, the central processing unit 1313 is used to perform actions related to model training in the above embodiments.

[0258] This application also provides a computer program product that, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0259] This application also provides a computer-readable storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0260] The execution device, training device, or terminal device provided in this application embodiment can specifically be a chip. The chip includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the execution device to execute the data processing method described in the above embodiments, or to cause the chip within the training device to execute the data processing method described in the above embodiments. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).

[0261] For details, please refer to Figure 14 , Figure 14 This is a schematic diagram of a chip provided in an embodiment of this application. The chip can be represented as a neural network processor (NPU) 1400. The NPU 1400 is mounted as a coprocessor on the host CPU, and tasks are assigned by the host CPU. The core part of the NPU is the arithmetic circuit 1403, which is controlled by a controller 1404 to retrieve matrix data from the memory and perform multiplication operations.

[0262] In some implementations, the arithmetic circuit 1403 internally includes multiple processing engines (PEs). In some implementations, the arithmetic circuit 1403 is a two-dimensional pulsating array. The arithmetic circuit 1403 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1403 is a general-purpose matrix processor.

[0263] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 1402 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 1401 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is ​​stored in the accumulator 1408.

[0264] Unified memory 1406 is used to store input and output data. Weight data is directly transferred to weight memory 1402 via Direct Memory Access Controller (DMAC) 1405. Input data is also transferred to unified memory 1406 via DMAC.

[0265] BIU stands for Bus Interface Unit, which is used for interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 1409.

[0266] The Bus Interface Unit (BIU) 1410 is used by the instruction fetch memory 1409 to fetch instructions from external memory, and also by the memory access controller 1405 to fetch the original data of the input matrix A or the weight matrix B from external memory.

[0267] The DMAC is mainly used to move input data from external memory DDR to unified memory 1406, or to weight data to weight memory 1402, or to input data to input memory 1401.

[0268] The vector computation unit 1407 includes multiple processing units that further process the output of the computation circuit 1403 when needed, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is mainly used for computation in non-convolutional / fully connected layers of neural networks, such as batch normalization, pixel-level summation, and upsampling of feature planes.

[0269] In some implementations, the vector computation unit 1407 can store the processed output vector in the unified memory 1406. For example, the vector computation unit 1407 can apply a linear function, or a nonlinear function, to the output of the computation circuit 1403, such as performing linear interpolation on feature planes extracted from a convolutional layer, or, for example, accumulating a vector of values ​​to generate activation values. In some implementations, the vector computation unit 1407 generates normalized values, pixel-level summed values, or both. In some implementations, the processed output vector can be used as activation input to the computation circuit 1403, for example, for use in subsequent layers of the neural network.

[0270] The instruction fetch buffer 1409 connected to the controller 1404 is used to store the instructions used by the controller 1404;

[0271] Unified memory 1406, input memory 1401, weighted memory 1402, and instruction fetch memory 1409 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

[0272] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the above program.

[0273] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0274] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0275] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0276] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

Claims

1. A data processing method, characterized in that, The method includes: Get the first image; Based on the position and orientation information of pixels within a first continuous region of the downsampled image of the first image, a first color value for each pixel is predicted using a NeRF network; the first color value is used to determine the first low-resolution image corresponding to the first continuous region. Based on the image region in the second image corresponding to the first continuous region and the upsampling result of the first low-resolution image, a first feature representation is obtained through processing by the first encoder; the second image and the first image are images taken from different perspectives for the same scene; Based on the first feature representation, the super-resolution image corresponding to the first low-resolution image is obtained through the first decoder.

2. The method according to claim 1, characterized in that, The first continuous region is a square region.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Based on the position and orientation information of pixels in the image region corresponding to the first continuous region in the downsampled image of the second image, the NeRF network is used to predict the second color value of each pixel; the second color value is used to determine the second low-resolution image corresponding to the first continuous region. A second feature representation is obtained by processing the second low-resolution image and the first low-resolution image using a second encoder; Based on the second feature representation, a residual image corresponding to the first low-resolution image is obtained through a second decoder; the residual image is used to fuse into the super-resolution image.

4. The method according to claim 3, characterized in that, The second encoder may be the same as or different from the first encoder.

5. The method according to claim 3, characterized in that, The second decoder may be the same as or different from the first decoder.

6. The method according to claim 1, characterized in that, The first image and the second image are adjacent frames from the same video.

7. The method according to claim 1, characterized in that, The resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

8. The method according to claim 3, characterized in that, The method further includes: Based on the position and orientation information of pixels within a second continuous region of the downsampled image of the first image, a third color value for each pixel is predicted using the NeRF network; the third color value is used to determine the third low-resolution image corresponding to the second continuous region; the second continuous region and the first continuous region are image regions at different locations; Based on the image region corresponding to the second continuous region in the second image and the upsampling result of the second low-resolution image, a third feature representation is obtained through processing by the first encoder; Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained through the first decoder.

9. The method according to claim 1, characterized in that, The method further includes: Based on the position and orientation information of pixels within a third continuous region of the downsampled image of the third image, a fourth color value for each pixel is predicted using the NeRF network. The fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region. The third continuous region and the first continuous region are image regions at different locations. Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through processing by the first encoder; the third image and the fourth image are images taken from different perspectives for the same scene; Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

10. The method according to claim 1, characterized in that, The first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

11. A data processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire the first image; The processing module is configured to predict a first color value for each pixel based on the position and orientation information of pixels within a first continuous region of a downsampled image of the first image, using a Neural Radiation Field (NeRF) network; the first color value is used to determine a first low-resolution image corresponding to the first continuous region. Based on the image region in the second image corresponding to the first continuous region and the upsampling result of the first low-resolution image, a first feature representation is obtained through processing by the first encoder; the second image and the first image are images taken from different perspectives for the same scene; Based on the first feature representation, the super-resolution image corresponding to the first low-resolution image is obtained through the first decoder.

12. The apparatus according to claim 11, characterized in that, The first continuous region is a square region.

13. The apparatus according to claim 11 or 12, characterized in that, The processing module is further configured to: Based on the position and orientation information of pixels in the image region corresponding to the first continuous region in the downsampled image of the second image, the NeRF network is used to predict the second color value of each pixel; the second color value is used to determine the second low-resolution image corresponding to the first continuous region. A second feature representation is obtained by processing the second low-resolution image and the first low-resolution image using a second encoder; Based on the second feature representation, a residual image corresponding to the first low-resolution image is obtained through a second decoder; the residual image is used to fuse into the super-resolution image.

14. The apparatus according to claim 13, characterized in that, The second encoder may be the same as or different from the first encoder.

15. The apparatus according to claim 13, characterized in that, The second decoder may be the same as or different from the first decoder.

16. The apparatus according to claim 11, characterized in that, The first image and the second image are adjacent frames from the same video.

17. The apparatus according to claim 11, characterized in that, The resolution of the super-resolution image is the same as the resolution of the image region in the second image corresponding to the first continuous region.

18. The apparatus according to claim 13, characterized in that, The processing module is further configured to: Based on the position and orientation information of pixels within a second continuous region of the downsampled image of the first image, the third color value of each pixel is predicted using the NeRF network; the third color value is used to determine the third low-resolution image corresponding to the second continuous region. The second continuous region and the first continuous region are image regions at different locations; Based on the image region corresponding to the second continuous region in the second image and the upsampling result of the second low-resolution image, a third feature representation is obtained through processing by the first encoder; Based on the third feature representation, the super-resolution image corresponding to the third low-resolution image is obtained through the first decoder.

19. The apparatus according to claim 11, characterized in that, The processing module is further configured to: Based on the position and orientation information of pixels within a third continuous region of the downsampled image of the third image, a fourth color value for each pixel is predicted using the NeRF network. The fourth color value is used to determine the fourth low-resolution image corresponding to the third continuous region. The third continuous region and the first continuous region are image regions at different locations. Based on the image region in the fourth image corresponding to the third continuous region and the upsampling result of the fourth low-resolution image, a fourth feature representation is obtained through processing by the first encoder; the third image and the fourth image are images taken from different perspectives for the same scene; Based on the fourth feature representation, the super-resolution image corresponding to the fourth low-resolution image is obtained through the first decoder.

20. The apparatus according to claim 11, characterized in that, The first encoder includes a depth estimation network, a convolutional network, and a residual network connected in sequence.

21. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions, which, when executed by one or more computers, cause the one or more computers to perform the operation of the method according to any one of claims 1 to 10.

22. A computer program product, characterized in that, Includes computer-readable instructions that, when executed on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 10.

23. A data processing system, comprising at least one processor and at least one memory; the processor and the memory are connected via a communication bus and communicate with each other. The at least one memory is used to store code; The at least one processor is used to execute the code to perform the method as described in any one of claims 1 to 10.