WO2024112145A1 - 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2024112145A1
WO2024112145A1 PCT/KR2023/019076 KR2023019076W WO2024112145A1 WO 2024112145 A1 WO2024112145 A1 WO 2024112145A1 KR 2023019076 W KR2023019076 W KR 2023019076W WO 2024112145 A1 WO2024112145 A1 WO 2024112145A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
electronic device
model
information
resolution
Prior art date
Application number
PCT/KR2023/019076
Other languages
English (en)
French (fr)
Inventor
도태원
김용태
이훈재
투샤가우탐
전혜영
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220178075A external-priority patent/KR20240077359A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US18/518,787 priority Critical patent/US20240177268A1/en
Publication of WO2024112145A1 publication Critical patent/WO2024112145A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/926Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working

Definitions

  • This disclosure relates to an electronic device that performs scaling using an artificial intelligence (AI) model and a method of operating the same.
  • AI artificial intelligence
  • the multimedia content (eg, images) may be encoded by a codec that follows a data compression standard.
  • the bitstream generated by the encoding result can be transmitted through a communication channel. For example, when the electronic device establishes a connection for a video call, a bitstream may be transmitted through the connection for the call.
  • multimedia content for example, images
  • a downscaled image may have a relatively smaller data size than the original image.
  • a downscaled image may be encoded, and the bitstream generated as a result of encoding may have a relatively smaller data size than the bitstream corresponding to the original image.
  • the electronic device on the receiving side may perform decoding using a codec after receiving the bitstream.
  • the electronic device on the receiving side can perform up scaling on the decoding result.
  • an image with higher resolution than the image generated as a result of decoding may be generated and/or provided.
  • an AI model for downscaling and/or upscaling may be used.
  • an electronic device may include a memory, a camera module, a communication module, and at least one processor operatively connected to the memory, the camera module, and the communication module.
  • the memory When executed by the at least one processor, the memory may cause the electronic device to establish a connection to a network and a call based on the communication module.
  • the memory When executed by the at least one processor, the memory may cause the electronic device to check a first image captured based on the camera module.
  • the memory when executed by the at least one processor, causes the electronic device to display first information associated with a first bitrate corresponding to the first image, based on a communication environment between the network and the electronic device. can cause you to check.
  • the memory when executed by the at least one processor, causes the electronic device to receive a high-resolution image and information associated with a bit rate as input values and to an artificial intelligence model for downscaling trained to output a low-resolution image, By inputting the first image and the first information, the second image corresponding to the first image output from the artificial intelligence model can be confirmed.
  • the memory may cause the electronic device to transmit the second image through the connection of the call based on the communication module.
  • a method of operating an electronic device may include establishing a call connection with a network based on a communication module of the electronic device.
  • the method of operating the electronic device may include checking a first image captured based on a camera module of the electronic device.
  • the method of operating the electronic device may include checking first information associated with the first bitrate corresponding to the first image based on a communication environment between the network and the electronic device.
  • the method of operating the electronic device includes inputting the first image and the first information to an artificial intelligence model for downscaling that is trained to receive a high-resolution image and bitrate-related information as input values and output a low-resolution image. , It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • the method of operating the electronic device may include transmitting the second image through the call connection, based on a communication module of the electronic device.
  • the at least one instruction when executed by at least one processor of an electronic device, causes the electronic device to perform at least one operation. may cause it to be performed.
  • the at least one operation may include establishing a call connection with a network based on a communication module.
  • the at least one operation may include checking the first image captured based on the camera module of the electronic device.
  • the at least one operation may include checking first information associated with a first bitrate corresponding to the first image based on a communication environment between the network and the electronic device.
  • the at least one operation includes inputting the first image and the first information to an artificial intelligence model for downscaling that is trained to receive a high-resolution image and bitrate-related information as input values and output a low-resolution image, It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • the at least one operation may include transmitting the second image through the call connection, based on a communication module of the electronic device.
  • an electronic device may include a memory, a display module, a communication module, and at least one processor operatively connected to the memory, the display module, and the communication module.
  • the memory When executed by the at least one processor, the memory may cause the electronic device to establish a connection to a network and a call based on the communication module.
  • the memory When executed by the at least one processor, the memory may cause the electronic device to receive a first image through connection of the call based on the communication module.
  • the memory when executed by the at least one processor, causes the electronic device to display first information associated with a first bitrate corresponding to the first image, based on a communication environment between the network and the electronic device. can cause you to check.
  • the memory when executed by the at least one processor, causes the electronic device to receive a low-resolution image and information associated with a bit rate as input values and to an artificial intelligence model for upscaling trained to output a high-resolution image, By inputting the first image and the first information, the second image corresponding to the first image output from the artificial intelligence model can be confirmed.
  • the memory when executed by the at least one processor, may cause the electronic device to control the display module to display at least a portion of the second image.
  • a method of operating an electronic device may include establishing a connection to a network and a call based on the communication module.
  • a method of operating an electronic device may include receiving a first image through a call connection based on a communication module of the electronic device.
  • a method of operating an electronic device may include checking first information associated with a first bit rate corresponding to the first image based on a communication environment between the network and the electronic device.
  • a method of operating an electronic device includes inputting the first image and the first information to an artificial intelligence model for upscaling that is trained to receive a low-resolution image and bitrate-related information as input values and output a high-resolution image, It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • a method of operating an electronic device may include controlling a display module of the electronic device to display at least a portion of the second image.
  • the at least one instruction when executed by at least one processor of an electronic device, causes the electronic device to perform at least one operation. may cause it to be performed.
  • the at least one operation may include receiving a first image through the call connection, based on a communication module of the electronic device.
  • the at least one operation may include checking first information associated with a first bitrate corresponding to the first image based on a communication environment between the network and the electronic device.
  • the at least one operation includes inputting the first image and the first information to an artificial intelligence model for upscaling that is trained to receive a low-resolution image and bitrate-related information as input values and output a high-resolution image, It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • the at least one operation may include controlling a display module of the electronic device to display at least a portion of the second image.
  • an electronic device for training a first AI model for downscaling and a second AI model for upscaling includes a memory and at least one processor.
  • the memory when executed by the at least one processor, may cause the electronic device to identify training data including a first image that is a high-resolution image and first information associated with a bitrate.
  • the memory When executed by the at least one processor, the memory causes the electronic device to display a low-resolution image output from the first AI model based on inputting the first image and the first information into the first AI model. This may cause the second image to be confirmed.
  • the memory causes the electronic device to display a high-resolution image output from the second AI model based on inputting the second image and the first information into the second AI model.
  • the memory may cause the electronic device to downscale the first image and check the fourth image.
  • the memory causes the electronic device to generate a first loss corresponding to the first image and the third image and a second loss corresponding to the second image and the fourth image. Based on this, it can cause total loss to be confirmed.
  • the memory when executed by the at least one processor, may cause the electronic device to train at least a portion of the first AI model and the second AI model based on the overall loss.
  • a method of training a first AI model for downscaling and a second AI model for upscaling includes identifying training data including a first image that is a high-resolution image and first information associated with a bitrate. It may include actions such as:
  • the training method may include an operation of checking a second image, which is a low-resolution image, output from the first AI model, based on inputting the first image and the first information into the first AI model.
  • the training method may include an operation of checking a third image, which is a high-resolution image, output from the second AI model, based on inputting the second image and the first information into the second AI model.
  • the training method may include downscaling the first image and confirming the fourth image.
  • the training method may include confirming the overall loss based on a first loss corresponding to the first image and the third image and a second loss corresponding to the second image and the fourth image. .
  • the training method may include training at least a portion of the first AI model and the second AI model based on the overall loss.
  • the at least one instruction when executed by at least one processor of an electronic device, causes the electronic device to perform at least one operation. may cause it to be performed.
  • the at least one operation may include checking training data including a first image that is a high-resolution image and first information associated with a bit rate.
  • the at least one operation includes checking a second image, which is a low-resolution image, output from the first AI model, based on inputting the first image and the first information into the first AI model for downscaling. It can be included.
  • the at least one operation includes checking a third image, which is a high-resolution image, output from the second AI model, based on inputting the second image and the first information into a second AI model for upscaling. It can be included.
  • the at least one operation may include downscaling the first image and confirming the fourth image.
  • the at least one operation may include determining a total loss based on a first loss corresponding to the first image and the third image and a second loss corresponding to the second image and the fourth image. You can.
  • the at least one operation may include training at least a portion of the first AI model and the second AI model based on the overall loss.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to one embodiment.
  • FIG. 2 is a diagram for explaining the operation of an electronic device according to an embodiment.
  • FIG. 3A is a diagram for explaining a comparative example according to an embodiment.
  • FIG. 3B is a diagram for explaining a comparative example according to an embodiment.
  • Figure 4 shows a flowchart for explaining the operation of an electronic device according to an embodiment.
  • FIG. 5 is a diagram for explaining a transmitting electronic device and a receiving electronic device according to an embodiment.
  • Figure 6 shows a flowchart for explaining the operation of an electronic device according to an embodiment.
  • Figure 7 shows VMAF scores according to comparative examples and examples.
  • FIG. 8A is a diagram illustrating an AI model for downscaling according to an embodiment of the present disclosure.
  • Figure 8b is a diagram for explaining an AI model for upscaling according to an embodiment of the present disclosure.
  • FIG. 8C is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to a comparison with an embodiment.
  • FIG. 8D is a diagram illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • FIG. 8E is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • FIG. 8F is a diagram illustrating training of an AI model for upscaling according to an embodiment.
  • FIG. 9A is a diagram for explaining an AI model for downscaling according to an embodiment of the present disclosure.
  • Figure 9b is a diagram for explaining an AI model for upscaling according to an embodiment of the present disclosure.
  • FIG. 9C is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • FIG. 9D is a diagram illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • FIG. 9E is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • FIG. 9F is a diagram illustrating training of an AI model for upscaling according to an embodiment.
  • Figure 10 is a diagram for explaining image enhancement according to an embodiment.
  • FIG. 11A shows a flowchart for explaining a method of operating an electronic device according to an embodiment.
  • FIG. 11B is a diagram for explaining a communication environment according to an embodiment.
  • FIG. 12A is a diagram for explaining image transmission by an electronic device according to an embodiment.
  • FIG. 12B is a diagram for explaining image reception by an electronic device according to an embodiment.
  • FIG. 13A is a diagram for explaining image transmission by an electronic device according to an embodiment.
  • FIG. 13B is a diagram for explaining image reception by an electronic device according to an embodiment.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to one embodiment.
  • an electronic device 101 communicates with an external electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. ) (e.g., a long-distance wireless communication network) may be used to communicate with the external electronic device 104 or the server 108.
  • the electronic device 101 may communicate with the external electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 121 e.g., a central processing unit or an application processor
  • auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing AI models.
  • AI models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself, where artificial intelligence is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • the AI model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • AI models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound can be output through an external electronic device 102 (e.g., speaker or headphone).
  • an external electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the external electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the external electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 provides a direct (e.g., wired) communication channel or wireless communication between electronic device 101 and an external electronic device (e.g., external electronic device 102, external electronic device 104, or server 108). It can support the establishment of a channel and the performance of communication through the established communication channel. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (wifi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technology provides high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access to multiple terminals (massive machine type communications (mMTC)), or ultra-reliable and low-latency (URLLC). -latency communications)) can be supported.
  • the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing.
  • MIMO massive array multiple-input and multiple-output
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • FIG. 2 is a diagram for explaining the operation of an electronic device according to an embodiment.
  • the electronic device 101 (e.g., processor 120) establishes a connection 250 (or session or (may also be named a channel) can be established.
  • the electronic device 101 may perform at least one procedure to establish a connection 250 for a call according to the IMS (internet protocol (IP) multimedia subsystem) standard through the network 200.
  • IMS Internet protocol
  • the electronic device 101 may be a mobile origin (MO) device or a mobile termination (MT) device, but there is no limitation.
  • the electronic device 101 may check the image 212 captured based on the camera module 180.
  • the electronic device 101 may control the display module 160 to display the captured image (or down-scaled image) 212, but there is no limitation.
  • the electronic device 101 can downscale the captured image 212 and generate a bitstream by encoding the downscaled image.
  • the electronic device 101 may transmit the generated bitstream to the external electronic device 220 through the connection 250.
  • the external electronic device 220 can receive a bitstream.
  • the external electronic device 220 can decode the received bitstream and upscale the decoded image.
  • the external electronic device 220 may control the display module 221 to display the up-scaled image 223.
  • the external electronic device 220 may also control the display module 221 to display the image 224 captured by a camera module (not shown).
  • the external electronic device 220 may generate a bitstream by encoding the captured image 224 into a downscaling image.
  • the external electronic device 220 may transmit the generated bitstream to the electronic device 101 through the connection 250.
  • the electronic device 101 can decode the received bitstream.
  • the electronic device 101 may control the display module 160 to perform upscaling on the decoded image and display the image 211 based on the upscaling result. Accordingly, the display module 160 can display the image 212 captured by the camera module 180 of the electronic device 101 and the image 211 transmitted from the external electronic device 220.
  • the external electronic device 220 can display the captured image 224 and the image 223 transmitted from the electronic device 101.
  • the electronic device 101 may downscale a captured image using an AI model for downscaling.
  • an AI model may be trained to receive a high-resolution image and bitrate-related information as input, and output a low-resolution image (or, as may be called a downscaled image).
  • the electronic device 101 may upscale the received and decoded image using an AI model for upscaling.
  • an AI model can be trained to receive a low-resolution image and bitrate-related information as input and output a high-resolution image (or, as may be called an upscaled image). The structure and/or training of the AI model for downscaling and/or the AI model for upscaling will be described later.
  • FIG. 3A is a diagram for explaining a comparative example according to an embodiment.
  • At least some of the operations according to the comparative example based on FIG. 3A and/or other comparative examples of the present disclosure may be performed by the electronic device 101 according to the embodiment of the present disclosure.
  • the electronic device 101 may check the high-resolution image 301 captured by the camera module 180.
  • the high-resolution image 301 may have, for example, a VGA (video graphic array) level resolution or an HD (high definition) level resolution.
  • VGA video graphic array
  • HD high definition
  • the filter 310 operated by the electronic device 101 may downscale the high-resolution image 301 and output a low-resolution image 302.
  • the filter 310 is, for example, a normal filter and can perform downscaling based on the Bicubic method or the Lanczos method, but there is no limitation on the downscaling method.
  • the low-resolution image 302 may have, for example, QVGA (quarter VGA) resolution or nHD resolution. However, this is an example and there is no limit to the resolution of the low-resolution image 302.
  • the encoder 311 operated by the electronic device 101 may encode the low-resolution image 302 to generate a bitstream.
  • the encoder 311 may perform encoding using a codec (e.g., MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9, or AV1), but the type of codec no limits.
  • the bitstream may be transmitted in real-time transport protocol (RTP) packetization, for example.
  • RTP real-time transport protocol
  • the network prediction module 313 operated by the electronic device 101 can predict the communication environment between the electronic device 101 and the network 200.
  • the network prediction module 313 may predict the communication environment between the electronic device 101 and the network 200 based on network parameters (e.g., one-way delay, perceived bitrate, and/or packet loss rate). .
  • the bit rate for encoding may be set based on a result of predicting the communication environment between the electronic device 101 and the network 200. For example, if the communication environment between the electronic device 101 and the network 200 is predicted to be relatively good, the bit rate may be set relatively high, but this is a simple example and is not limited.
  • the remaining codec parameters for encoding e.g., resolution and/or framerate (or frames per second, FPS) may be determined.
  • the resolution and/or frame rate of the encoder 311 may be determined based on the determined bit rate and the compression rate of the codec.
  • the bitstream generated as a result of encoding may be provided to the communication module 190a of the receiving electronic device through the communication module 190.
  • the image 323 decoded by the decoder 320 (which may be the same as 101) may be rendered by the renderer 321 operated by the electronic device on the receiving side. Accordingly, at least a portion of the decoded image 323 may be displayed on the receiving electronic device.
  • the decoded image 323 is a downscaled low-resolution image. Accordingly, an image with relatively small resolution may be displayed on the receiving electronic device.
  • FIG. 3B is a diagram for explaining a comparative example according to an embodiment.
  • At least some of the operations according to the comparative example may be performed by the electronic device 101 according to the embodiment of the present disclosure.
  • the electronic device 101 may check the high-resolution image 301 captured by the camera module 180.
  • the high-resolution image 331 may have, for example, VGA-level resolution or HD-level resolution, but this is an example and there is no limit to the resolution of the high-resolution image 331.
  • the downscaler 314 operated by the electronic device 101 may downscale the high-resolution image 331 and output a low-resolution image 332.
  • the downscaler 314 may be implemented, for example, as an AI model, but there is no limitation as long as downscaling can be performed. When implemented as an AI model, the down scaler 314 may be called an AI scaler.
  • the low-resolution image 332 may have, for example, QVGA-level resolution or nHD-level resolution. However, this is an example and there is no limit to the resolution of the low-resolution image 332.
  • the encoder 311 operated by the electronic device 101 may generate a bitstream by encoding the low-resolution image 332.
  • the network prediction module 313 operated by the electronic device 101 can predict the communication environment between the electronic device 101 and the network 200.
  • the bit rate for encoding may be set based on a result of predicting the communication environment between the electronic device 101 and the network 200.
  • the bit rate is determined based on the communication environment between the electronic device 101 and the network 200
  • the resolution and/or frame rate may be determined based on the determined bit rate and the compression rate of the codec.
  • the bitstream generated as a result of encoding by the encoder 311 may be provided to the communication module 190a of the electronic device on the receiving side through the communication module 190.
  • the received bitstream may be decoded by a decoder 320 operated by an electronic device on the receiving side (e.g., which may be the same as the electronic device 101).
  • the upscaler 335 may upscale the decoded image 332 to provide a high-resolution image 334.
  • the upscaler 335 may be implemented, for example, as an AI model, but there is no limitation as long as upscaling can be performed.
  • the upscaler 335 may be named an AI scaler.
  • the high-resolution image 334 may have substantially the same resolution as the high-resolution image 331 captured by the electronic device 101 on the transmitting side.
  • the high-resolution image 334 may be rendered by the renderer 321 operated by the electronic device on the receiving side, and thus at least a portion of the high-resolution image 334 may be displayed on the electronic device on the receiving side.
  • the receiving electronic device 101 may render the decoded low-resolution image 332 without an upscaling process.
  • a high-resolution image having substantially the same resolution as the image captured by the electronic device 101 on the transmitting side can be provided by the electronic device on the receiving side.
  • the codec parameters e.g., bitrate, resolution, and/or frame rate
  • the codec parameters may be set based on the communication environment between the electronic device 101 and the network 200, if the electronic device 101 If the communication environment between the device 101 and the network 200 is poor, a low-quality bitstream may be transmitted, thereby preventing delay or loss.
  • the communication environment between the electronic device 101 and the network 200 is not considered when downscaling and/or upscaling.
  • an AI model considering information related to the bit rate set based on the communication environment between the electronic device 101 and the network 200 is used for downscaling and/or upscaling. may be, and/or be trained.
  • Figure 4 shows a flowchart for explaining the operation of an electronic device according to an embodiment. The embodiment of FIG. 4 will be described with reference to FIG. 5 .
  • FIG. 5 is a diagram for explaining a transmitting electronic device and a receiving electronic device according to an embodiment.
  • the electronic device 101 in operation 401, based on the communication module 190, makes a connection between the network and the call.
  • a connection can be established.
  • the electronic device 101 may perform a procedure according to the IMS standard, but this is an example and there is no limitation on the procedure for establishing a call connection.
  • the electronic device 101 may check the first image 501 captured based on the camera module 180 in operation 403.
  • the first image 501 is, for example, a high-resolution image and may have VGA-level resolution or HD-level resolution, but this is an example and there is no limit to the resolution of the high-resolution image.
  • the electronic device 101 may check first information associated with the first bitrate corresponding to the first image 501 based on the communication environment between the network and the electronic device 101.
  • bit per pixel (BPP), which is information related to bit rate, can be expressed as Equation 1.
  • the bitrate in Equation 1 may be determined based on, for example, the communication environment. For example, when the communication environment is relatively good, a relatively high bit rate may be determined, and when the communication environment is relatively poor, a relatively low bit rate may be determined, but this is an example and is not limited.
  • the communication environment may be categorized into a plurality of ranges, and the bitrate may be mapped and managed for each category, but this is an example, and an indicator (or format) representing the communication environment and/or corresponding to the indicator may be used. There are no restrictions on how to determine the bit rate. Embodiments related to the communication environment will be described later. Once the bit rate is determined, the remaining codec parameters, resolution and/or frame rate, can be determined.
  • the resolution and/or frame rate corresponding to the bit rate may be determined based on the codec compression rate, but this is an example and there is no limitation on the determination method.
  • the communication environment may be determined by the network prediction module 313.
  • the bit rate corresponding to the communication environment may be determined by at least one of the network prediction module 313 or the encoder 311.
  • the remaining codec parameters (eg, resolution and/or frame rate) corresponding to the bitrate may be determined by at least one of the network prediction module 313 or the encoder 311.
  • Information related to the bitrate (eg, BPP as in Equation 1) may be determined by at least one of the network prediction module 313 or the encoder 311.
  • the operations of the network prediction module 313 and/or the encoder 311 may be performed, for example, by the processor 120, but there is no limitation.
  • the electronic device 101 inputs the first image 501 and first information (e.g., BPP) into the first AI model 510 for downscaling in operation 407.
  • first information e.g., BPP
  • the second image 502 corresponding to the first image 501 output from the first AI model 510 can be confirmed.
  • the first AI of FIGS. 4 and 5 The model 510 may be configured to receive not only the first image 501 but also bitrate-related information (e.g., BPP) as an input value and provide a low-resolution second image 502.
  • the first AI model 510 includes, for example, a neural network for extracting image features corresponding to the first image 501 and meta information corresponding to information associated with the bitrate (e.g., BPP). It may include a neural network for extracting features and may have a structure that performs a multiplication operation of image features and meta information features, but there is no limitation, and a description of this and training of the first AI model 510 will be described later. do.
  • the electronic device 101 may transmit the second image 502 through a call connection based on the communication module 190.
  • transmission of the second image 502 may include, for example, generation of a bitstream based on encoding of the second image 502 and transmission of the bitstream. As shown in FIG.
  • the encoder 311 may encode the second image 502 to generate a bitstream.
  • the encoder 311 may generate a bitstream by performing encoding based on a bitrate determined based on the communication environment, and a resolution and/or frame rate set based on the bitrate.
  • the codec parameters including bitrate, resolution, and/or frame rate, are used by the encoder 311 as well as input values of the first AI model 510 for downscaling. It may be used as at least part of.
  • the bitstream may be provided to a receiving electronic device (for example, it may be the same device as the electronic device 101) through the communication module 190.
  • the electronic device 101 receives information related to the bitrate and a high-resolution image as input, and performs downscaling using an AI model trained to output a low-resolution image corresponding to the high-resolution image. Therefore, compared to the case where a plurality of AI models are set for various bit rates, the size of the information amount of the AI model may be relatively small. Meanwhile, the operation of the electronic device on the receiving side of FIG. 5 will be described with reference to FIG. 6. According to the above, high-quality content can be provided to the receiving device without deterioration in content quality (low resolution/blocky/delay) even in situations where the call channel status is relatively poor.
  • Figure 6 shows a flowchart for explaining the operation of an electronic device according to an embodiment. The embodiment of FIG. 6 will be described with reference to FIG. 5 .
  • the electronic device 101 (e.g., the processor 120), in operation 601, based on the communication module 190, makes a connection between the network and the call.
  • a connection can be established.
  • the receiving electronic device is shown as including a communication module 190a.
  • the electronic device 101 according to one embodiment can perform the operation of the receiving electronic device of FIG. 5.
  • the electronic device 101 can establish a call connection, for example, based on performing a procedure according to the IMS standard, but there is no limitation on the method of establishment.
  • the electronic device 101 may receive the second image 505 through a call connection based on the communication module 190.
  • reception of the second image 505 may include, for example, reception of a bitstream generated as the second image is encoded and decoding of the bitstream by the decoder 320.
  • Operations performed by the decoder 320, network prediction module 515, and/or renderer 321 may be performed by the processor 120 of the electronic device 101, but there is no limitation.
  • the electronic device 101 may check second information related to the second bit rate in operation 605. For example, the second bit rate estimated by the network prediction module 515 and/or the decoder 320 and second information (eg, BPP) corresponding to the second bit rate may be confirmed. Confirmation of the second information will be described later.
  • the electronic device 101 inputs the second image 505 and second information (e.g., BPP) into the second AI model 512 for upscaling in operation 607.
  • the third image 507 corresponding to the second image 505 output from the second AI model 512 can be confirmed.
  • the electronic device 101 may display the third image 507 (or at least part of it) in operation 609.
  • the second AI model 512 includes, for example, a neural network for extracting image features corresponding to the second image 505 and meta information corresponding to information associated with the bitrate (e.g., BPP).
  • It may include a neural network for extracting features and may have a structure that performs a multiplication operation of image features and meta information features, but there is no limitation, and a description of this and training of the second AI model 512 will be described later. do.
  • a plurality of AI models are set for various bit rates to reflect changes in the communication environment in real time, and upscaling is performed by selecting one of the plurality of AI models, the information to be stored in the electronic device 101 ( For example, the size of a library can rapidly increase.
  • the electronic device 101 receives information related to the bitrate and a low-resolution image as input, and performs upscaling using an AI model trained to output a high-resolution image corresponding to the low-resolution image. Therefore, compared to the case where a plurality of AI models are set for various bit rates, the size of the information amount of the AI model may be relatively small.
  • Figure 7 shows VMAF scores according to comparative examples and examples.
  • information associated with the bitrate according to an embodiment e.g., BPP and an AI model for downscaling that receives a high-resolution image as an input and outputs a low-resolution image
  • information associated with the bitrate e.g., the VMAF (video multimethod assessment fusion) score 701 for the bitrate when an AI model for upscaling that receives a low-resolution image as an input and outputs a high-resolution image is used.
  • VMAF may be an objective global reference video quality metric developed, for example, by the University of Southern California, the IPI/LS2N Institute at the University of France, the Institute for Image and Video Engineering at the University of France, and Netflix, which is an exemplary evaluation of picture quality.
  • the score 701 Bitrate when an AI model for downscaling that receives a high-resolution image as an input and outputs a low-resolution image and an AI model for upscaling that receives a low-resolution image as an input and outputs a high-resolution image according to the comparative example are used.
  • the VMAF score 702 for is shown.
  • the VMAF score 703 for the case where the AI model according to the comparative example is not used is shown. It can be seen that the VMAF score 701 according to the embodiment is higher than the VMAF scores 702 and 703 for other cases.
  • FIG. 8A is a diagram illustrating an AI model for downscaling according to an embodiment of the present disclosure.
  • the electronic device 101 may check the first image 801 captured by the camera module 180 (or an image included in the training data set).
  • the electronic device 101 may downscale the first image 801 to the second image 803 using an AI model for downscaling.
  • FIG. 8A the application process of the AI model is explained, but the embodiment of FIG. 8A can also be performed during the training process, which will be described with reference to FIGS. 8C and 8D.
  • the AI model may have a ResNet structure, for example.
  • an AI model can be used with a relatively small amount of calculation in the mobile electronic device 101 for video calls, but those skilled in the art will understand that this is an example and that there is no limitation as long as the structure is for downscaling.
  • ResNet can be trained to improve overall resolution, for example by enhancing residual lines rather than image scaling, but there is no limitation.
  • the Raw YUV 420 method can be used, and the Y(luma) channel can be trained to enhance while UVs are generated based on legacy scaling, but there is no limitation.
  • the AI model according to the comparative example includes a part 810 for Bicubic downscaling, a part 812 for image feature extraction and enhancing/residual image construction, and image summation for Bilinear upscaling. It may include group 814, but this is illustrative and is not limited.
  • the part 810 (or AI model) for bicubic downscaling can, for example, perform downscaling based on the bicubic method, but there is no limit to the downscaling method.
  • the second image 803 can be created with a resolution 1/4 times that of the first image 801, but there is no limitation.
  • the part 810 for downscaling may be a part of ResNet excluding the part corresponding to Residual.
  • the part 812 for extracting image features and configuring the enhancing/residual image is a part corresponding to residual in ResNet and may include, for example, a convolutional layer, but is not limited, and may include a plurality of sub-AI structures. It may also be included.
  • the image summer 814 for bilinear upscaling may be a summer that can sum the image corresponding to the original image defined in ResNet (the original image downscaled in the comparative example) and the residual. Meanwhile, in the comparative example, a CLIP function such as Equation 2 may be used for the output image (eg, the second image 803).
  • the output in Equation 2 may be an image output from ResNet (for example, the second image 803 in FIG. 8A).
  • ResNet for example, the second image 803 in FIG. 8A.
  • Downscale + Residual for example, the sum of the results of the part 810 and the result of the part 812 may be adjusted between the minimum pixel (MIN pixel) and the maximum pixel (MAX pixel).
  • the second image 803, which is a downscaled image based on ResNet may be provided.
  • the AI model according to the comparative example does not use information related to the bit rate.
  • Figure 8b is a diagram for explaining an AI model for upscaling according to an embodiment of the present disclosure.
  • FIG. 8B the application process of the AI model is explained, but the embodiment of FIG. 8B can also be performed during the training process, which will be described with reference to FIGS. 8C and 8D.
  • the electronic device 101 may upscale the second image 803 to the third image 805 using an AI model for upscaling.
  • the AI model according to the comparative example may include a part 814 for bilinear upscaling, a part 816 for image feature extraction and enhancement/residual image construction, and an image adder 818. It is illustrative and there is no limitation.
  • the part 814 (or AI model) for bilinear upscaling can, for example, perform upscaling based on the bilinear method, but there is no limit to the upscaling method.
  • a third image 805 with a resolution four times that of the second image 803 can be created, but there is no limitation.
  • the part 814 for upscaling may be a part of ResNet excluding the part corresponding to Residual.
  • the part 816 for extracting image features and configuring enhancing/residual images is a part corresponding to residual in ResNet and may include, for example, a convolutional layer, but is not limited, and may include multiple sub-AI structures. It may also be included.
  • the summer 818 may be a summer that can sum the image corresponding to the original image (main, upscaled original image in the comparative example) and residual defined in ResNet.
  • the third image 805, which is an upscaled image based on ResNet may be provided.
  • the AI model according to the comparative example does not use information related to the bit rate.
  • the AI model for downscaling described with reference to FIG. 8A and the AI model for upscaling described with reference to FIG. 8B can be trained together, and this will be described with reference to FIGS. 8C and 8D.
  • FIG. 8C is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment. The embodiment of FIG. 8C will be described with reference to FIG. 8D.
  • FIG. 8D is a diagram illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • training of at least one AI model may be performed by a trainer.
  • Training may be performed, for example, by server 108 (which may be another computing device) and/or by electronic device 101 executing the AI model. Operations performed by the trainer in the present disclosure may be understood as being performed by the electronic device 101 and/or the server 108.
  • the trainer may confirm the second image 803 by inputting the first image 801 into the first AI model 821 for downscaling in operation 831.
  • the first AI model 821 may be, for example, ResNet as described in FIG. 8A, but is not limited thereto.
  • the trainer may check the third image 805 by inputting the second image 803 into the second AI model 823 for upscaling.
  • the second AI model 823 may be, for example, ResNet as described in Figure 8b, but is not limited thereto.
  • the trainer may check the first loss (Loss1: Up-Similarity) based on the similarity between the first image 801 and the third image 805.
  • the trainer may check the fourth image 807 by upscaling the second image 803 in operation 834.
  • the trainer can check the fourth image 807 based on the upscaler 825 using the lanczos method, but there is no limitation.
  • the trainer may check a second loss (Loss2: Legacy-Similarity) based on the similarity between the first image 801 and the fourth image 807.
  • the trainer may train the first AI model 821 and the second AI model 823 based on the first loss (Loss1) and the second loss (Loss2) in operation 836.
  • Total Loss may be equal to Equation 3.
  • ⁇ and ⁇ may be weights.
  • the trainer can perform training to minimize total loss.
  • the first AI model 821 for downscaling and the second AI model 823 for upscaling can be trained together.
  • the loss and/or its calculation may be based on, for example, L2 loss (mean square error), SSIM loss (negative structural similarity index), or GL1 loss (absolute error after Gaussian filter), but this is illustrative and may be of type There is no limit to
  • FIG. 8E is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment. The embodiment of FIG. 8E will be described with reference to FIG. 8F.
  • FIG. 8F is a diagram illustrating training of an AI model for upscaling according to an embodiment.
  • the trainer inputs the first image 871 into the first AI model 872 for fixed downscaling to create the second image 873. You can check it.
  • the parameters of the first AI model 872 may be set to have fixed values. For example, the parameters of the first AI model 872 may be determined based on the training described based on FIGS. 8C and 8D, and the parameters of the first AI model 872 may be determined based on the embodiment of FIGS. 8E and 8F. Those skilled in the art will understand that the word "fixed" is used because no additional training is provided.
  • the trainer may encode the second image 873 using the encoder 874 in operation 852.
  • the trainer may check the third image 876 by decoding the encoded second image using the decoder 875 in operation 853. For example, encoding and/or decoding may use fixed QP values. In actual video call streaming, constant/variable bitrate mode (CBR/VBR) can be used, and the bitrate can change in real time depending on the communication environment.
  • CBR/VBR constant/variable bitrate mode
  • the trainer may check the fourth image 878 by inputting the third image 876 into the second AI model 877 for upscaling.
  • the trainer may check loss1 (Up-Similarity) based on the similarity between the first image 871 and the fourth image 878 in operation 855.
  • the trainer, in operation 856 may train the second AI model 877 based on the loss (Loss1).
  • the trainer can train the second AI model 877 to minimize loss. For example, the trainer performs the training set based on FIGS. 8C and 8D and/or the training set based on FIGS. 8E and 8F, so that the AI model for downscaling and/or the AI model for upscaling are trained. You can.
  • FIG. 9A is a diagram for explaining an AI model for downscaling according to an embodiment of the present disclosure.
  • the electronic device 101 may check the first image 901 captured by the camera module 180 (or selected from a training data set).
  • the electronic device 101 may downscale the first image 901 to the second image 902 using an AI model for downscaling.
  • the AI model may have the structure of ResNet, for example.
  • ResNet can be trained to improve overall resolution, for example by enhancing residual lines rather than image scaling, but there is no limitation.
  • the AI model includes a part for bicubic downscaling (911), a part for extracting image features (912), an image multiplier (913), a part for enhancing/residual image construction (914), and a bit It may include a part 915 for extracting information features related to the rate, and an image summer 916, but this is an example and is not limited.
  • the part 911 (or AI model) for bicubic downscaling can, for example, perform downscaling based on the bicubic method, but there is no limit to the downscaling method.
  • the second image 902 can be created with a resolution 1/4 times that of the first image 901, but there is no limitation.
  • the part 911 for downscaling may be a part of ResNet excluding the part corresponding to Residual.
  • the image feature extraction part 912 may include, for example, at least one convolutional layer for extracting features, but this is an example and there are no restrictions on the implementation of the image feature extraction part 912, and RNN, etc. Those skilled in the art will understand that other neural networks may also be used.
  • the part 915 for extracting information features associated with the bitrate may be configured to receive information associated with the bitrate (eg, BPP) as an input value and output features.
  • BPP bitrate
  • other values may be implemented as input values to the part 915, and the input information for the part 915 may be called meta information.
  • Meta information may include, for example, BPP as information related to bitrate, but this is an example and includes specifications of the camera module 180, the location where the video call is performed, and the mode of the camera module 180 (e.g. , front shooting mode, or rear shooting mode), network status, network type, whether lightning is used during the call, and/or video frame-related information (e.g., face to face video frame, roadside).
  • the part 915 for extracting information features related to bitrate may include at least one fully-connected layer.
  • the part 915 for extracting information features related to bitrate may be implemented as a Dense Network, but this is an example and there is no limitation on its type.
  • the multiplier 913 may cross-multiply the output of the portion 912 and the output of the portion 915.
  • the portion 914 for enhancing/residual image configuration may receive the cross-multiplication result, perform enhancement/residual configuration, and output the result.
  • the summer 916 may sum the output from the portion 914 for enhancing/residual image configuration with the output from the portion 911 for downscaling, thereby creating a second image ( 902) may be output.
  • the AI model described in FIG. 9A inputs a high-resolution image (e.g., first image 901) and a value associated with the bitrate (e.g., BPP). It can be received as a value and output a low-resolution image (for example, the second image 902). Accordingly, training on various bitrates (or codec parameters) can be performed, and an AI model can be provided for an environment in which codec parameters change according to changes in the communication environment.
  • the AI model can be trained to improve the residual line, but there are no limitations.
  • the residual line can be used in the Y (luma) channel, but there is no limitation.
  • a bitstream of relatively lower quality is generated than in a relatively high bitrate range, so the residual line of upscaling in a relatively low bitrate range is stronger. It may have to be effective.
  • Figure 9b is a diagram for explaining an AI model for upscaling according to an embodiment of the present disclosure.
  • the electronic device 101 may check the second image 902 of relatively low resolution.
  • the electronic device 101 may upscale the second image 902 to the third image 903 using an AI model for upscaling.
  • the AI model may have the structure of ResNet, for example.
  • ResNet can be trained to improve overall resolution, for example by enhancing residual lines rather than image scaling, but there is no limitation.
  • the AI model for upscaling includes a part for bilinear upscaling (921), a part for extracting image features (922), a multiplier (923), and a part for configuring an enhancing/residual image ( 924), a portion 925 for extracting information features related to the bit rate, and a summer 926.
  • the part 921 for bilinear upscaling may upscale the second image 902 and output an upscaled image.
  • the upscaled image may have four times the resolution of the second image 902, but there is no limitation, and the bilinear method is also exemplary.
  • the part 922 for extracting image features and/or the part 924 for configuring an enhanced/residual image may be composed of at least one convolution layer, but this is an example and is not limited.
  • the part 925 for extracting information features related to the bitrate may, for example, receive information associated with the bitrate (eg, BPP) and output features corresponding thereto.
  • Portion 925 may include, for example, but is not limited to, a fully-connected layer.
  • Part 925 may be implemented as a Dense Network, for example, but is not limited thereto.
  • other values may be implemented as input values to the part 925, and the input information for the part 925 may be called meta information.
  • the multiplier 923 may cross-multiply the output of the portion 922 and the output of the portion 925.
  • the portion 924 for enhancing/residual image configuration may receive the cross-multiplication result, perform enhancement/residual configuration, and output the result.
  • the summer 926 may sum the output from the portion 924 for enhancing/residual image configuration with the output from the portion 921 for upscaling, thereby creating a third image ( 903) can be output.
  • the AI model described in FIG. 9B inputs a low-resolution image (e.g., second image 902) and a value associated with the bitrate (e.g., BPP).
  • a high-resolution image for example, the third image 903
  • training on various bitrates can be performed, and an AI model can be provided for an environment in which codec parameters change according to changes in the communication environment.
  • the AI model for upscaling and the AI model for downscaling can be trained together, and this will be explained with reference to FIGS. 9C and 9D.
  • FIG. 9C is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment. The embodiment of FIG. 9C will be described with reference to FIG. 9D.
  • FIG. 9D is a diagram illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment.
  • the trainer can confirm the second image 943 by inputting the first image 941 and the first information into the first AI model 942 for downscaling in operation 931.
  • the first AI model 942 may be, for example, but is not limited to ResNet as described in FIG. 9A.
  • the first AI model 942 may receive first information as an input along with a high-resolution image (eg, the first image 941).
  • the first information may be, for example, meta information including BPP, which is information related to bitrate, and is not limited.
  • the trainer may check the third image 945 by inputting the second image 943 and the first information into the second AI model 944 for upscaling.
  • the second AI model 944 may be, for example, but is not limited to ResNet as described in FIG. 9B. As described in FIG. 9B, the second AI model 944 may receive the first information as an input value along with a low-resolution image (eg, the second image 943).
  • a low-resolution image eg, the second image 943
  • the trainer may check the first loss (Loss1: Up-Similarity) based on the similarity between the first image 941 and the third image 945.
  • the trainer may check the fourth image 947 by downscaling the first image 941 in operation 934.
  • the trainer may check the fourth image 947 based on the downscaler 946 that downscales the first image 941 using the Lanczos method, but there is no limitation.
  • the trainer may check the fifth image 949, which is an enhancement of the fourth image based on the first information related to the bit rate.
  • the trainer can output the fifth image 949 using the enhancer 948 based on the first information, but there is no limitation, and the enhancement process will be described later.
  • the trainer may check a second loss (Loss2: Legacy-Similarity) based on the similarity between the second image 943 and the fifth image 949.
  • the trainer may train the first AI model 942 and the second AI model 944 based on the first loss (Loss1) and the second loss (Loss2) in operation 937.
  • Total Loss may be equal to Equation 3 described above.
  • the trainer can perform training to minimize total loss.
  • the first AI model 942 for downscaling and the second AI model 944 for upscaling can be trained together.
  • the loss and/or its calculation may be based on, for example, L2 loss (mean square error), SSIM loss (negative structural similarity index), or GL1 loss (absolute error after Gaussian filter), but this is illustrative and may be of type
  • L2 loss mean square error
  • SSIM loss negative structural similarity index
  • GL1 loss absolute error after Gaussian filter
  • Each of the training data used during each training may be composed of various resolutions, frame rates, and/or bit rates, and accordingly, AI models that are robust to codec parameters that change depending on the network environment can be provided.
  • a perceptual filter may be used in the enhancing process of the enhancer 948.
  • perceptual filter As a perceptual filter is used, the effect of changing the performance of the codec depending on the state of the input image can be expressed. As perceptual filters are used, the quality of encoding can be improved. Given an image, one of the pre-encoding optimizer filters, adaptive weighted average (AWA), threshold bilateral (TBil), or just noticeable-distortion (JND) profiled motion-compensated residue, is used as a perceptual filter. It can be used, but there are no restrictions.
  • AWA adaptive weighted average
  • Til threshold bilateral
  • JND just noticeable-distortion profiled motion-compensated residue
  • FIG. 9E is a flowchart illustrating training of an AI model for downscaling and an AI model for upscaling according to an embodiment. The embodiment of FIG. 9E will be described with reference to FIG. 9F.
  • FIG. 9F is a diagram illustrating training of an AI model for upscaling according to an embodiment.
  • the trainer in operation 951, inputs the first image 961 and the first information 962 into the first AI model 963 for fixed downscaling. You can check the second image 964.
  • a second artificial intelligence model 968 for upscaling may be trained, and parameters of the first AI model 963 may be set to have fixed values.
  • the trainer in operation 952, may encode the second image 964 using the encoder 965 based on the first information associated with the bitrate.
  • the trainer may check the third image 967 by decoding the encoded second image using the decoder 966 in operation 953. For example, encoding and/or decoding may use a fixed quantization parameter (QP) value.
  • QP quantization parameter
  • the trainer may check the fourth image 969 by inputting the third image 967 and the first information 962 associated with the bit rate into the second AI model 968 for upscaling.
  • the trainer may check the fifth image 972 obtained by enhancing 971 the first image 961 based on the first information 962 related to the bit rate.
  • the trainer calculates a first loss (Loss1: Up-similarity) based on the similarity between the first image 961 and the fourth image 969, and the fourth image 969 and the fifth image 972.
  • the trainer may train a second AI model 968 based on the first loss (Loss1) and the second loss (Loss2).
  • Total Loss can be expressed as Equation 3 described above, and ⁇ may be 1- ⁇ . ⁇ may be set based on BPP, but there is no limit.
  • the trainer may train the second AI model 968 to minimize overall loss. For example, the trainer performs training set based on FIGS. 9C and 9D and/or training set based on FIGS. 9E and 9F, so that the AI model for downscaling and/or the AI model for upscaling are trained. You can.
  • the tool for enhancing 971 will be described with reference to FIG. 10.
  • the loss function uses the distance-based metric L1L2, L1, or L2, and for the training of Figures 9e and 9f, the loss function uses the similarity measurement method of SSIM or GL1.
  • this is an example and is not limited.
  • Figure 10 is a diagram for explaining image enhancement according to an embodiment.
  • the trainer may smooth the image 1001 using a Gaussian filter 1002.
  • the Gaussian filter 1002 may smooth the image 1001, thereby providing a smoothed image 1003.
  • An enhancing tool 1004 may provide an enhanced image 1005 using the smoothed image 1003 and image 1001.
  • the enhanced image 1005 may be expressed as Equation 4.
  • Equation 4 k may be a value between [0.0, 10.0], and k may be set so that the score (e.g., VMAF) has the maximum value.
  • the above-described enhancing method is merely illustrative and that there are no limitations to the enhancing method.
  • an enhanced image 1005 can be provided, and the enhanced image (fifth image 972) can be used in training, as illustrated in FIG. 9F.
  • an AI model that can provide output closer to the original image can be provided.
  • FIG. 11A shows a flowchart for explaining a method of operating an electronic device according to an embodiment. The embodiment of FIG. 11A will be described with reference to FIG. 11B.
  • FIG. 11B is a diagram for explaining a communication environment according to an embodiment.
  • the electronic device 101 may check at least one parameter in operation 1101.
  • the electronic device 101 may predict the communication environment based on at least one parameter in operation 1103.
  • the electronic device 101 may check the bit rate, resolution, and/or frame rate based on the prediction result in operation 1105.
  • the electronic device 101 can predict the communication environment based on RTCP, and can set a relatively high bit rate if the communication environment is relatively good, and set a relatively low bit rate if the communication environment is relatively poor. You can set the rate.
  • the bit rate may be set in real time (or near real time), and the corresponding frame rate and/or resolution may also be set in real time (or near real time).
  • the electronic device 101 may be required to predict the bandwidth allowed by the network, determine the bit rate within the allowable value, and transmit packets. For example, the electronic device 101 may predict the bandwidth based on parameters fed back based on RTCP.
  • the communication environment can be classified into three states 1123, 1124, and 1125, as shown in FIG. 11B.
  • the first state 1123 may be named, for example, an “unloaded state”, and no delay, packet loss, and/or packet drop occurs in the first state 1123. It may not be possible.
  • the second state 1124 may be named, for example, a “loaded state”, and in the second state 1124, the load may be close to the bandwidth allowed by the network or may exceed a threshold.
  • the third state 1125 may be named, for example, a “congested state,” and in the third state 1125, a relatively large number of packet drops may occur. For example, a bottleneck may occur at an entity in the network, resulting in persistent delays when the load exceeds the bandwidth allowed, or relatively large packet loss. Packet loss rate may be determined based on the lost fraction in the RR of RTCP.
  • the instantaneous RTT 1121 and the smoothed RTT 1122 have relatively small values in the first state 1123, and the amount of change may also be relatively small.
  • the instantaneous RTT 1121 and the smoothed RTT 1122 may have relatively large values in the second state 1124 compared to the first state 1123.
  • the instantaneous RTT 1121 and the smoothed RTT 1122 may continuously increase if there is no timeout, for example in the third state 1125. In a state where congestion is resolved (1126), the instantaneous RTT (1121) and smoothed RTT (1122) may decrease.
  • Table 1 is an example of status classification of communication environment for each parameter. Meanwhile, the example in Table 1 may be set differently for each network (e.g., 4G, 5G, WIFI), but there is no limitation.
  • the one way delay measured at the current time is less than 1.2 times the previous one way delay (prevOWD)
  • it can be classified as the first state (1123), and if it is more than 1.2 times, it can be classified as the second state ( 1124) or third state 1125.
  • One way dealy can be predicted based on RTT, for example. If the communication environment is relatively poor, one way delay may increase. RTT may be calculated based on information in RTCP SR and/or RR. Meanwhile, whether it is less than 1.2 times that of prevOWD is simply an example and there is no limit to the value, or whether it is in the first state 1123 may be determined depending on whether it is less than the absolute value of the delay (for example, 50 ms).
  • the total amount of sending bits and the total amount of receiving bits may be the same. However, if the communication environment is relatively poor, the total amount of receiving bits may be lower than the total amount of sending bits.
  • the perceived bitrate is the same as the sending bitrate, it can be classified as the first state (1132). If the perceived bitrate is smaller than the sending bitrate, it can be classified as the second state (1124) or the third state (1125). Perceived bitrate may mean the actual bitrate reached at the other side, and if the bandwidth is limited, the perceived bitrate may have a high possibility of having a limited bandwidth value. As in Table 3, when there is no packet loss, it can be classified into the first state 1132.
  • the packet loss rate is less than or equal to a threshold rate (e.g., 5%), or if the packet loss is less than or equal to a threshold period of a designated period (e.g., 3 cycles), it may be classified into the second state 1124. . For example, if the packet loss rate exceeds a threshold rate (e.g., 5%), or if the packet loss exceeds a threshold period of a specified period (e.g., 3 cycles), classification into the third state 1125 It can be. Packet loss rate may be calculated based on lost fraction information of RTCP RR.
  • a threshold rate e.g., 5%
  • a threshold period of a designated period e.g. 3 cycles
  • FIG. 12A is a diagram for explaining image transmission by an electronic device according to an embodiment.
  • the electronic device 101 may execute the AI scaling manager 1203.
  • the AI scaling manager 1203 may provide information (e.g., BPP) (or may also be called meta information) associated with the bitrate, which is part of the input value of the AI model 1205 for downscaling.
  • the network prediction module 1201 may provide a communication environment, for example, as described with reference to FIGS. 11A and 11B, or may provide a bit rate corresponding to the communication environment.
  • the AI scaling manager 1203 may check the bit rate corresponding to the communication environment provided from the network prediction module 1201, or may check the bit rate provided from the network prediction module 1201.
  • the AI scaling manager 1203 may check information (e.g., BPP) associated with the bit rate based on the confirmed bit rate.
  • the AI scaling manager 1203 may be provided with camera parameters, including, for example, the frame rate and/or resolution of the camera module 180.
  • the AI scaling manager 1203 may determine the BPP as information related to the bitrate based on the bitrate, frame rate, and resolution. However, this is an example and if information is affected by the bitrate, the bitrate and Those skilled in the art will understand that it can be used as related information (or meta information).
  • the AI model 1205 for downscaling is an image provided from the camera module 180 (e.g., a high-resolution image) and information associated with the bitrate provided from the AI scaling manager 1203 (e.g., BPP). is received as an input value, and a low-resolution image can be output.
  • the encoder 1207 may encode a low-resolution image provided from the AI model 1205 for downscaling and provide an encoded image (or bitstream), which may be transmitted through the communication module 190. there is.
  • the encoder 1207 may perform encoding, for example, using codec parameters including a bitstream. For example, the bit rate can be set to a previously used bit rate.
  • AI scaling manager 1203 may, in one example, generate an AI model 1205 based on a bitrate provided (or confirmed based on information provided) from network prediction module 1201.
  • the input BPP can be checked, and in this case, the BPP can be determined as the current bit rate divided by the product of the frame rate and resolution, as described in Equation 1.
  • the AI scaling manager 1203 divides the average size of the encoded image size of a specified number (e.g., denoted by K, where K may be a natural number of 1 or more) by the resolution, It can also be confirmed as BPP, which can be expressed as Equation 5.
  • Average encoded size in Equation 5 may be the average of the sizes of the encoded images of the specified number K described above, and “resolution” may be resolution.
  • the AI scaling manager 1203 selects either a BPP associated with the communication environment (e.g., BPP according to Equation 1) or a BPP associated with the average size of the encoded image (e.g., BPP according to Equation 5).
  • a BPP associated with the communication environment e.g., BPP according to Equation 1
  • a BPP associated with the average size of the encoded image e.g., BPP according to Equation 5
  • the AI scaling manager 1203 may select a BPP (e.g., a BPP according to Equation 1) associated with the communication environment if the accumulated number of encoded images is less than a specified number (K). there is.
  • the AI scaling manager 1203 when the bit rate confirmed based on the network prediction module 1201 changes suddenly (or when the communication environment changes suddenly, or when packet loss is large) ), a BPP (e.g., BPP according to Equation 1) associated with the communication environment can be selected.
  • BPP e.g., BPP according to Equation 1
  • the selection conditions for the above-described BPP are illustrative and are not limited.
  • FIG. 12B is a diagram for explaining image reception by an electronic device according to an embodiment.
  • the electronic device 101 when receiving a bitstream, the electronic device 101 (e.g., processor 120) may decode the received bitstream using the decoder 1217. .
  • the electronic device 101 may execute the AI scaling manager 1213 when receiving a bitstream.
  • the AI scaling manager 1213 may provide information (e.g., BPP) associated with the bitrate, which is part of the input value of the AI model 1215 for upscaling (or may also be called meta information).
  • Bitrate is information used in the encoding process, and has not previously been used on the receiving side. However, the electronic device 101 according to one embodiment may use information related to the bit rate as part of the input values of the AI model 1215.
  • the electronic device 101 can check information (eg, BPP) related to the bitrate.
  • the electronic device 101 may check the bit rate based on information from the network prediction module 1211.
  • the AI scaling manager 1213 can check the BPP using the bit rate and the confirmed frame rate and resolution.
  • the AI scaling manager 1213 may provide the confirmed BPP as an AI model 1215 for upscaling.
  • the AI model 1215 may receive the BPP provided from the AI scaling manager 1213 and the low-resolution image provided from the decoder 1217 as input values, and output an up-scaled high-resolution image.
  • the renderer 1219 can render high-resolution images.
  • the bit rate can be set to a previously used bit rate.
  • the bit rate may be set based on the bandwidth at the receiving end measured by the network prediction module 1211.
  • the bit rate initially used by the encoder 1207 may be shared and used.
  • the AI scaling manager 1213 on the receiving side may check information (e.g., BPP) associated with the bitstream in one of a plurality of methods.
  • the AI scaling manager 1213 is a BPP associated with a communication environment (e.g., BPP according to Equation 1) or a BPP associated with the average of the size of the encoded image (e.g., BPP according to Equation 5) BPP) can be selected and provided as an AI model (1215).
  • the AI scaling manager 1213 may select a BPP (e.g., a BPP according to Equation 1) associated with the communication environment if the accumulated number of encoded images is less than a specified number (K). there is.
  • the decoder 1217 may provide information about the size of the received encoded frame to the AI scaling manager 1213, and accordingly, the AI scaling manager 1213 may provide BPP (BPP) based on information about the size of the encoded frame. For example, BPP) according to Equation 5 may be checked.
  • the AI scaling manager 1213 when the bit rate confirmed based on the network prediction module 1201 changes suddenly (or when the communication environment changes suddenly), the AI scaling manager 1213 selects a BPP associated with the communication environment (e.g. , BPP) according to Equation 1 can be selected.
  • AI scaling manager 1213 may select a BPP associated with a communication environment (e.g., a BPP according to Equation 1) if packet loss exceeds a specified threshold loss value.
  • the network prediction module 1211 may check packet loss and provide it to the AI scaling manager 1213. Accordingly, the AI scaling manager 1213 can check whether the packet loss exceeds a specified threshold loss value. . Meanwhile, the selection conditions for the above-described BPP are illustrative and are not limited.
  • FIG. 13A is a diagram for explaining image transmission by an electronic device according to an embodiment.
  • the electronic device 101 may execute an AI scaling manager 1301 and an AI model for downscaling 1302.
  • a relatively high-resolution image captured by the camera module 180 may be provided to the AI model 1302 through the AI scaling manager 1301, or may be provided directly from the camera module 180 to the AI model 1302. It could be.
  • the AI scaling manager 1301 may receive an average value of the size of a specified number of encoded images (for example, denoted as K, where K may be a natural number of 1 or more).
  • AI scaling manager 1301 may receive codec parameters including frame rate and resolution.
  • the AI scaling manager 1301 may check the BPP (e.g., BPP as in Equation 5) of the average value divided by the resolution.
  • the AI scaling manager 1301 can provide images and BPPs to the AI model 1302.
  • the AI model 1302 can receive an image and a BPP as input values and output a low-resolution image. Meanwhile, in the embodiment in FIG. 13A, a case where the AI scaling manager 1301 selects to use a BPP of the average value divided by the resolution has been described, but this is an example.
  • the AI scaling manager 1301 may choose to use the BPP of the average value divided by the resolution based on the number of pre-encoded images being more than a specified number (K), but if the number of pre-encoded images If the number is less than the specified number (K), it may be set to use the bit rate as in Equation 1 divided by the product of the frame rate and resolution (for example, BPP as in Equation 1).
  • the AI scaling manager 1301 may choose to use the BPP of the average value divided by the resolution based on the fact that the bit rate does not change suddenly, but if the bit rate changes suddenly, the bit rate as in Equation 1 It may be set to use a value divided by the product of the frame rate and resolution (for example, BPP as in Equation 1).
  • FIG. 13B is a diagram for explaining image reception by an electronic device according to an embodiment.
  • the electronic device 101 may execute an AI scaling manager 1321 and an AI model for upscaling 1323.
  • the AI model 1323 can receive relatively low-resolution images.
  • the AI model 1323 may receive a relatively low-resolution image decoded by a decoder.
  • the AI scaling manager 1321 may receive the average value of the size of a specified number of encoded images (for example, denoted as K, where K may be a natural number of 1 or more).
  • the decoder may check the size of the received encoded image (or bitstream) and provide it to the AI scaling manager 1321, or check the average value and provide it to the AI scaling manager 1321.
  • AI scaling manager 1321 may be set to check the average value.
  • AI scaling manager 1321 may receive codec parameters including frame rate and resolution.
  • AI scaling manager 1321 may receive the predicted bitrate.
  • the AI scaling manager 1321 may check whether the packet loss rate exceeds the threshold loss rate (Th). If the packet loss rate is relatively large, there is a possibility that there may be a difference between the average value for the specified number (K) used on the transmitting side and the average value for the specified number (K) used on the receiving side. Accordingly, when the packet loss rate exceeds the threshold loss rate (Th) (1322-Yes), the AI scaling manager 1321 divides the bit rate by the product of the frame rate and resolution (e.g., according to Equation 1) BPP) can be provided as part of the input value of the AI model 1323.
  • BPP the bit rate by the product of the frame rate and resolution
  • the AI scaling manager 1321 divides the average value by the resolution (for example, BPP according to Equation 5) as input to the AI model 1323. It can be provided as part of the value. Accordingly, the AI model 1323 can receive the image and BPP as input values and provide a high-resolution image corresponding thereto.
  • the electronic device 101 includes a memory 130, a camera module 180, a communication module 190, and the memory 130, the camera module 180, and the communication module 190. It may include at least one processor 120 operatively connected to .
  • the memory 130 allows the electronic device 101 to connect a network and a call based on the communication module 190. can cause the establishment of .
  • the memory 130 may cause the electronic device 101 to check the first image captured based on the camera module 180. .
  • the memory 130 causes the electronic device 101 to display the first image based on a communication environment between the network and the electronic device 101.
  • the memory 130 when executed by the at least one processor 120, is trained to cause the electronic device 101 to receive a high-resolution image and information associated with the bit rate as input values and output a low-resolution image. By inputting the first image and the first information into the artificial intelligence model for downscaling, the second image corresponding to the first image output from the artificial intelligence model can be confirmed.
  • the memory 130 When executed by the at least one processor 120, the memory 130 causes the electronic device 101 to display the second image through the connection of the call based on the communication module 190. can cause it to be transmitted.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image.
  • a first bit per pixel is obtained by dividing the first bit rate by a product of a first frame rate associated with the first image and a resolution associated with the first image. It can cause confirmation as first information.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image. At least as part of the operation of confirming the first information, the first BPP may be caused to be confirmed as the first information associated with the first bitrate, based on at least one first condition being satisfied.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image. At least as part of the operation of verifying first information, a specified number of pre-encoded encodings are performed based on at least one second condition different from the at least one first condition being satisfied or the at least one first condition being not satisfied. The second BPP obtained by dividing the average size of the image by the resolution may be confirmed as the first information.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to transmit the second image as at least part of an operation of transmitting the second image. Encoding an image can cause it to generate a bitstream.
  • the memory 130 When executed by the at least one processor 120, the memory 130 causes the electronic device 101 to connect the bitstream to the call as at least part of the operation of transmitting the second image. It can be caused to be transmitted through.
  • the memory 130 when executed by the at least one processor 120, allows the electronic device 101 to control one way delay and perceived bitrate. ), packet loss rate, or bandwidth, may cause the communication environment to be checked.
  • the artificial intelligence model for downscaling includes a first part for extracting features of the first image, a second part for extracting features of the first information, and a first part for extracting features of the first image.
  • the artificial intelligence model for downscaling may be ResNet.
  • the first part may include at least one convolutional layer.
  • the second part may be DenseNet.
  • the third part may include at least one convolutional layer.
  • the fourth part may be a Bicubic downscaler.
  • a method of operating the electronic device 101 may include establishing a call connection with a network based on the communication module 190 of the electronic device 101.
  • the method of operating the electronic device 101 may include checking the first image captured based on the camera module 180 of the electronic device 101.
  • the method of operating the electronic device 101 includes checking first information associated with a first bitrate corresponding to the first image, based on a communication environment between the network and the electronic device 101. can do.
  • the method of operating the electronic device 101 includes receiving a high-resolution image and information associated with a bitrate as input values and providing the first image and the first information to an artificial intelligence model for downscaling trained to output a low-resolution image. It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model by inputting .
  • the method of operating the electronic device 101 may include transmitting the second image through the call connection, based on the communication module 190 of the electronic device 101.
  • a storage medium storing at least one computer-readable instruction
  • the electronic device 101 when the at least one instruction is executed by the at least one processor 120 of the electronic device 101, the electronic device 101 It can cause 101 to perform at least one action.
  • the at least one operation may include establishing a call connection with a network based on the communication module 190 of the electronic device 101.
  • the at least one operation may include checking the first image captured based on the camera module 180 of the electronic device 101.
  • the at least one operation may include checking first information associated with the first bitrate corresponding to the first image, based on a communication environment between the network and the electronic device 101.
  • the at least one operation includes inputting the first image and the first information to an artificial intelligence model for downscaling that is trained to receive a high-resolution image and bitrate-related information as input values and output a low-resolution image, It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • the at least one operation may include transmitting the second image through the call connection, based on the communication module 190 of the electronic device 101.
  • the electronic device 101 includes a memory 130, a display module, a communication module 190, and at least one operatively connected to the memory 130, the display module, and the communication module 190. It may include one processor 120.
  • the memory 130 allows the electronic device 101 to connect a network and a call based on the communication module 190. can cause the establishment of .
  • the memory 130 causes the electronic device 101 to display the first image through the call connection based on the communication module 190. can cause it to be received.
  • the memory 130 causes the electronic device 101 to display the first image based on a communication environment between the network and the electronic device 101.
  • the memory 130 when executed by the at least one processor 120, is trained to cause the electronic device 101 to receive a low-resolution image and information associated with the bitrate as input values and output a high-resolution image. By inputting the first image and the first information into the artificial intelligence model for upscaling, the second image corresponding to the first image output from the artificial intelligence model can be confirmed.
  • the memory 130 may cause the electronic device 101 to control the display module to display at least a portion of the second image.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image.
  • a first bit per pixel is obtained by dividing the first bit rate by a product of a first frame rate associated with the first image and a resolution associated with the first image. It can cause confirmation as first information.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image. At least as part of the operation of confirming the first information, the first BPP may be caused to be confirmed as the first information associated with the first bitrate, based on at least one first condition being satisfied.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to display the first bitrate associated with the first image. At least as part of the operation of verifying first information, a specified number of pre-encoded encodings are performed based on at least one second condition different from the at least one first condition being satisfied or the at least one first condition being not satisfied. The second BPP obtained by dividing the average size of the image by the resolution may be confirmed as the first information.
  • the memory 130 when executed by the at least one processor 120, causes the electronic device 101 to receive the first image, at least as part of the operation of receiving the call. It can be caused to receive a bitstream through a connection.
  • the memory 130 When executed by the at least one processor 120, the memory 130 causes the electronic device 101 to decode the bitstream as at least a part of the operation of receiving the first image to display the first image. This may cause you to check the image.
  • the memory 130 when executed by the at least one processor 120, allows the electronic device 101 to control one way delay and perceived bitrate. ), packet loss rate, or bandwidth, may cause the communication environment to be checked.
  • the artificial intelligence model for upscaling includes a first part for extracting features of the first image, a second part for extracting features of the first information, and a first part for extracting features of the first image.
  • the artificial intelligence model for downscaling may be ResNet.
  • the first part may include at least one convolutional layer.
  • the second part may be DenseNet.
  • the third part may include at least one convolutional layer.
  • the fourth part may be a Bicubic downscaler.
  • a method of operating the electronic device 101 may include establishing a connection to a network and a call based on the communication module 190.
  • a method of operating the electronic device 101 may include receiving a first image through the call connection, based on the communication module 190 of the electronic device 101.
  • the method of operating the electronic device 101 may include confirming first information associated with a first bit rate corresponding to the first image, based on a communication environment between the network and the electronic device 101. You can.
  • the operating method of the electronic device 101 includes receiving a low-resolution image and bitrate-related information as input values and providing the first image and the first information to an artificial intelligence model for upscaling trained to output a high-resolution image. By inputting, the operation of confirming the second image corresponding to the first image output from the artificial intelligence model may be included.
  • a method of operating the electronic device 101 may include controlling a display module of the electronic device 101 to display at least a portion of the second image.
  • a storage medium storing at least one computer-readable instruction
  • the electronic device 101 when the at least one instruction is executed by the at least one processor 120 of the electronic device 101, the electronic device 101 It can cause 101 to perform at least one action.
  • the at least one operation may include receiving a first image through the call connection based on the communication module 190 of the electronic device 101.
  • the at least one operation may include checking first information associated with the first bitrate corresponding to the first image, based on a communication environment between the network and the electronic device 101.
  • the at least one operation includes inputting the first image and the first information to an artificial intelligence model for upscaling that is trained to receive a low-resolution image and bitrate-related information as input values and output a high-resolution image, It may include an operation of checking a second image corresponding to the first image output from the artificial intelligence model.
  • the at least one operation may include controlling a display module of the electronic device 101 to display at least a portion of the second image.
  • a method of training a first AI model for downscaling and a second AI model for upscaling includes identifying training data including a first image that is a high-resolution image and first information associated with a bitrate. It may include actions such as:
  • the training method may include an operation of checking a second image, which is a low-resolution image, output from the first AI model, based on inputting the first image and the first information into the first AI model.
  • the training method may include an operation of checking a third image, which is a high-resolution image, output from the second AI model, based on inputting the second image and the first information into the second AI model.
  • the training method may include downscaling the first image and confirming the fourth image.
  • the training method may include confirming the overall loss based on a first loss corresponding to the first image and the third image and a second loss corresponding to the second image and the fourth image. .
  • the training method may include training at least a portion of the first AI model and the second AI model based on the overall loss.
  • the first information associated with the bit rate may be bits per pixel (BPP) divided by the bit rate divided by the product of a first frame rate associated with the first image and a resolution associated with the first image. You can.
  • the training method includes the operation of checking a fifth image, which is a low-resolution image output from the first AI model, based on inputting the first image and the first information into the first AI model. It may further include.
  • the training method may further include encoding the fifth image and decoding the encoding result to confirm the sixth image.
  • the training method may further include checking a seventh image, which is a high-resolution image, output from the second AI model, based on inputting the sixth image and the first information into the second AI model. .
  • the training method may further include confirming an eighth image that has enhanced the first image.
  • the training method may further include confirming the total loss based on the seventh image and the eighth image.
  • the training method may further include training the second AI model based on the total loss.
  • the second loss corresponding to the second image and the fourth image may be a loss between an image that enhances the second image and the fourth image.
  • the electronic device 101 for training a first AI model for downscaling and a second AI model for upscaling includes a memory 130 and at least one processor 120.
  • the memory 130 causes the electronic device 101 to provide training data including a first image that is a high-resolution image and first information associated with a bit rate. It may cause you to check.
  • the memory 130 causes the electronic device 101 to, based on inputting the first image and the first information into the first AI model, This may cause the second image, which is a low-resolution image output from the first AI model, to be confirmed.
  • the memory 130 When executed by the at least one processor 120, the memory 130 causes the electronic device 101 to, based on inputting the second image and the first information into the second AI model, This may cause the third image, which is a high-resolution image output from the second AI model, to be confirmed.
  • the memory 130 may cause the electronic device 101 to downscale the first image and check the fourth image.
  • the memory 130 may cause the electronic device 101 to enhance the fourth image and confirm the fifth image.
  • the memory 130 causes the electronic device 101 to generate a first loss corresponding to the first image and the third image and the second image and This may cause the overall loss to be confirmed based on the second loss corresponding to the fifth image.
  • the memory 130 When executed by the at least one processor 120, the memory 130 causes the electronic device 101 to generate at least a portion of the first AI model and the second AI model based on the total loss. can cause training.
  • a storage medium storing at least one computer-readable instruction
  • the electronic device 101 when the at least one instruction is executed by the at least one processor 120 of the electronic device 101, the electronic device 101 It can cause 101 to perform at least one action.
  • the at least one operation may include checking training data including a first image that is a high-resolution image and first information associated with a bit rate.
  • the at least one operation includes checking a second image, which is a low-resolution image, output from the first AI model, based on inputting the first image and the first information into the first AI model for downscaling. It can be included.
  • the at least one operation includes checking a third image, which is a high-resolution image, output from the second AI model, based on inputting the second image and the first information into a second AI model for upscaling. It can be included.
  • the at least one operation may include downscaling the first image and confirming the fourth image.
  • the at least one operation may include an operation of enhancing the fourth image and confirming the fifth image.
  • the at least one operation may include determining a total loss based on a first loss corresponding to the first image and the third image and a second loss corresponding to the second image and the fifth image. You can.
  • the at least one operation may include training at least a portion of the first AI model and the second AI model based on the overall loss.
  • Electronic devices may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one component from another, and to refer to those components in other respects (e.g., importance or order) is not limited.
  • One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
  • module used in embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • One embodiment of the present document is one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves).
  • This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between cases where it is temporarily stored.
  • the method according to the embodiments disclosed in this document may be provided and included in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the above-described corresponding components or operations may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Telephone Function (AREA)

Abstract

일 실시예에 따라서, 전자 장치는, 메모리, 카메라 모듈, 통신 모듈, 및 상기 메모리, 상기 카메라 모듈 및 상기 통신 모듈에 동작적으로 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 카메라 모듈에 기반하여 촬영된 제 1 이미지를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하도록 야기할 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법
본 개시는 인공지능(artificial intelligence model, AI) 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
멀티미디어 컨텐트를 송신하는 경우, 멀티미디어 컨텐트(예를 들어, 이미지)는, 데이터 압축 표준을 따르는 코덱(codec)에 의하여 인코딩될(encoded) 수 있다. 인코딩 결과에 의하여 생성된 비트스트림은 통신 채널을 통하여 송신될 수 있다. 예를 들어, 전자 장치가 화상 콜을 위한 연결(connection)을 수립한 경우, 콜을 위한 연결을 통하여 비트스트림이 송신될 수 있다.
비트스트림의 크기를 감소시키기 위하여, 멀티미디어 컨텐트, 예를 들어 이미지가 다운 스케일링(down scaling)될 수 있다. 다운 스케일링된 이미지는 원본 이미지보다 상대적으로 작은 데이터 크기를 가질 수 있다. 다운 스케일링된 이미지가 인코딩될 수 있으며, 인코딩 결과 생성된 비트스트림은 원본 이미지에 대응하는 비트스트림보다 상대적으로 작은 데이터 크기를 가질 수 있다. 수신 측의 전자 장치는, 비트스트림을 수신한 후 코덱을 이용하여 디코딩(decoding)을 수행할 수 있다. 수신 측의 전자 장치는, 디코딩 결과에 대하여 업 스케일링(up scaling)을 수행할 수 있다. 업 스케일링에 따라, 디코딩 결과 생성된 이미지보다 고해상도의 이미지가 생성 및/또는 제공될 수 있다. 다운 스케일링 및/또는 업 스케일링 시, 다운 스케일링 및/또는 업 스케일링을 위한 AI 모델이 이용될 수 있다.
일 실시예에 따라서, 전자 장치는, 메모리, 카메라 모듈, 통신 모듈, 및 상기 메모리, 상기 카메라 모듈 및 상기 통신 모듈에 동작적으로 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 카메라 모듈에 기반하여 촬영된 제 1 이미지를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하도록 야기할 수 있다.
일 실시예에 따라서, 전자 장치의 동작 방법은, 상기 전자 장치의 통신 모듈에 기반하여 네트워크와 콜 연결을 수립하는 하는 동작을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 상기 전자 장치의 카메라 모듈에 기반하여 촬영된 제 1 이미지를 확인하는 동작을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 전자 장치의 동작 방법은, 상기 전자 장치의 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하는 동작을 포함할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치의 적어도 하나의 프로세서에 의하여 실행 시에, 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 통신 모듈에 기반하여 네트워크와 콜 연결을 수립하는 하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치의 카메라 모듈에 기반하여 촬영된 제 1 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치의 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하는 동작을 포함할 수 있다
일 실시예에 따라서, 전자 장치는, 메모리, 디스플레이 모듈, 통신 모듈, 및 상기 메모리, 상기 디스플레이 모듈 및 상기 통신 모듈에 동작적으로 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리는, 상기 적어도 하나의 프로세서에 의하여 실행될 때, 상기 전자 장치로 하여금, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 디스플레이 모듈을 제어하도록 야기할 수 있다.
일 실시예에 따라서, 전자 장치의 동작 방법은, 상기 통신 모듈에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하는 동작을 포함할 수 있다. 전자 장치의 동작 방법은, 상기 전자 장치의 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하는 동작을 포함할 수 있다. 전자 장치의 동작 방법은, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 전자 장치의 동작 방법은, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 전자 장치의 동작 방법은, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 전자 장치의 디스플레이 모듈을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치의 적어도 하나의 프로세서에 의하여 실행 시에, 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치의 통신 모듈에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 네트워크와 상기 전자 장치 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 전자 장치의 디스플레이 모듈을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라서, 다운 스케일링을 위한 제 1 AI 모델 및 업 스케일링을 위한 제 2 AI 모델을 트레이닝하기 위한 전자 장치는, 메모리 및 적어도 하나의 프로세서를 포함한다. 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하도록 야기할 수 있다. 상기 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 상기 제 2 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하도록 야기할 수 있다. 상기 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하도록 야기할 수 있다. 상기 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하도록 야기할 수 있다. 상기 메모리는 상기 적어도 하나의 프로세서에 의하여 실행될 때 상기 전자 장치로 하여금, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하도록 야기할 수 있다.
일 실시예에 따라서, 다운 스케일링을 위한 제 1 AI 모델 및 업 스케일링을 위한 제 2 AI 모델의 트레이닝 방법은, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 2 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하는 동작을 포함할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치의 적어도 하나의 프로세서에 의하여 실행 시에, 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지 및 상기 제 1 정보를 다운 스케일링을 위한 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 2 이미지 및 상기 제 1 정보를 업 스케일링을 위한 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하는 동작을 포함할 수 있다.
도 1은, 일 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 도면이다.
도 3a는, 일 실시예에 따른 비교예를 설명하기 위한 도면이다.
도 3b는, 일 실시예에 따른 비교예를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 5는 일 실시예에 따른 송신 측 전자 장치 및 수신 측 전자 장치를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 7은 비교예 및 실시예에 따른 VMAF 스코어를 도시한다.
도 8a는 본 개시의 실시예에 따른 다운 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 8b는 본 개시의 실시예에 따른 업 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 8c는 일 실시예와의 비교에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다.
도 8d는, 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 8e는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다.
도 8f는, 일 실시예에 따른 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 9a는 본 개시의 실시예에 따른 다운 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 9b는 본 개시의 실시예에 따른 업 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 9c는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다.
도 9d는, 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 9e는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다.
도 9f는, 일 실시예에 따른 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 이미지 인핸싱을 설명하기 위한 도면이다.
도 11a는, 일 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 11b는, 일 실시예에 따른 통신 환경을 설명하기 위한 도면이다.
도 12a는, 일 실시예에 따른 전자 장치에 의한 이미지 송신을 설명하기 위한 도면이다.
도 12b는, 일 실시예에 따른 전자 장치에 의한 이미지 수신을 설명하기 위한 도면이다.
도 13a는, 일 실시예에 따른 전자 장치에 의한 이미지 송신을 설명하기 위한 도면이다.
도 13b는, 일 실시예에 따른 전자 장치에 의한 이미지 수신을 설명하기 위한 도면이다.
도 1은, 일 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 외부 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 외부 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 AI 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. AI 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. AI 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. AI 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 외부 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 외부 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 외부 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 외부 전자 장치(102), 외부 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, wifi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
일 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, 통신 모듈(190)에 기반하여 화상 콜을 위한 연결(250)(또는, 세션 또는 채널이라 명명될 수도 있음)을 수립할 수 있다. 예를 들어, 전자 장치(101)는, 네트워크(200)를 통하여, IMS(IP(internet protocol) multimedia subsystem) 표준에 따른 콜을 위한 연결(250)을 수립하기 위한 적어도 하나의 절차를 수행할 수 있으나 제한은 없다. 전자 장치(101)는, MO(mobile origination) 장치일 수 있거나, 또는 MT(mobile termination) 장치일 수 있으며, 제한이 없다.
일 실시예에 따라서, 전자 장치(101)는, 카메라 모듈(180)에 기반하여 촬영된 이미지(212)를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 촬영된 이미지(또는, 다운 스케일링된 이미지)(212)를 표시하도록 디스플레이 모듈(160)을 제어할 수도 있으나 제한은 없다. 후술할 것으로, 전자 장치(101)는 촬영된 이미지(212)를 다운 스케일링할 수 있으며, 다운 스케일링된 이미지를 인코딩하여 비트스트림을 생성할 수 있다. 전자 장치(101)는, 생성된 비트스트림을, 연결(250)을 통하여 외부 전자 장치(220)로 송신할 수 있다. 외부 전자 장치(220)는, 비트스트림을 수신할 수 있다. 후술할 것으로, 외부 전자 장치(220)는, 수신된 비트스트림을 디코딩할 수 있으며, 디코딩된 이미지를 업 스케일링할 수 있다. 외부 전자 장치(220)는, 업 스케일링된 이미지(223)를 표시하도록 디스플레이 모듈(221)을 제어할 수 있다. 한편, 외부 전자 장치(220)도, 카메라 모듈(미도시)에 의하여 촬영된 이미지(224)를 표시하도록 디스플레이 모듈(221)을 제어할 수 있다. 외부 전자 장치(220)는, 촬영된 이미지(224)를 다운 스케일링 이미지를 인코딩하여 비트스트림을 생성할 수 있다. 외부 전자 장치(220)는, 생성된 비트스트림을, 연결(250)을 통하여, 전자 장치(101)로 송신할 수 있다. 전자 장치(101)는, 수신된 비트스트림을 디코딩할 수 있다. 전자 장치(101)는, 디코딩 이미지에 대하여 업 스케일링을 수행하고, 업 스케일링 결과에 기반하여 이미지(211)를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 이에 따라, 디스플레이 모듈(160)은, 전자 장치(101)의 카메라 모듈(180)에 의하여 촬영된 이미지(212) 및 외부 전자 장치(220)로부터 송신된 이미지(211)를 표시할 수 있다. 외부 전자 장치(220)는, 촬영된 이미지(224) 및 전자 장치(101)로부터 송신된 이미지(223)를 표시할 수 있다.
일 실시예에 따라서, 전자 장치(101)는, 다운 스케일링을 위한 AI 모델을 이용하여, 촬영된 이미지를 다운 스케일링할 수 있다. 예를 들어, AI 모델은, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력값으로서 수신하여, 저해상도 이미지(또는, 다운 스케일링된 이미지라 명명될 수 있음)를 출력하도록 트레이닝될 수 있다. 일 실시예에 따라서, 전자 장치(101)는, 업 스케일링을 위한 AI 모델을 이용하여, 수신되어 디코딩된 이미지를 업 스케일링할 수 있다. 예를 들어, AI 모델은, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력값으로서 수신하여, 고해상도 이미지(또는, 업 스케일링된 이미지라 명명될 수 있음)를 출력하도록 트레이닝될 수 있다. 다운 스케일링을 위한 AI 모델 및/또는 업 스케일링을 위한 AI 모델의 구조 및/또는 트레이닝에 대하여서는 후술하도록 한다.
도 3a는, 일 실시예에 따른 비교예를 설명하기 위한 도면이다.
도 3a를 참조하면, 도 3a에 기반한 비교예 및/또는 본 개시의 다른 비교예에 의한 동작들 중 적어도 일부는, 본 개시의 실시예에 따른 전자 장치(101)에 의하여 수행될 수 있다.
비교 예에 따라서, 전자 장치(101)는, 카메라 모듈(180)에 의하여 촬영된 고해상도 이미지(301)를 확인할 수 있다. 고해상도 이미지(301)는, 예를 들어 VGA(video graphic array)급의 해상도 또는 HD(high definition)급의 해상도를 가질 수 있으나, 이는 예시적인 것으로 고해상도 이미지(301)의 해상도에는 제한이 없다. 전자 장치(101)에 의하여 동작하는 필터(310)는, 고해상도 이미지(301)를 다운 스케일링하여 저해상도 이미지(302)를 출력할 수 있다. 필터(310)는, 예를 들어 normal 필터로서, Bicubic 방식 또는 lanczos 방식에 기반하여 다운 스케일링을 수행할 수 있으나, 다운 스케일링의 방식에는 제한이 없다. 저해상도 이미지(302)는, 예를 들어 QVGA(quarter VGA)급의 해상도 또는 nHD 급의 해상도를 가질 수 있으나, 이는 예시적인 것으로 저해상도 이미지(302)의 해상도에는 제한이 없다.
전자 장치(101)에 의하여 동작하는 인코더(311)는, 저해상도 이미지(302)를 인코딩하여 비트스트림을 생성할 수 있다. 인코더(311)는, 코덱(예를 들어, MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9 또는 AV1)을 이용하여 인코딩을 수행할 수 있으나, 코덱의 종류에는 제한이 없다. 비트스트림은 예를 들어 RTP(real-time transport protocol) 패킷화되어 전송될 수 있다. 전자 장치(101)에 의하여 동작하는 네트워크 예측 모듈(313)은, 전자 장치(101) 및 네트워크(200) 사이의 통신 환경을 예측할 수 있다. 네트워크 예측 모듈(313)은, 네트워크 파라미터(예를 들어, one-way delay, perceived bitrate 및/또는 packet loss rate)에 기반하여 전자 장치(101) 및 네트워크(200) 사이의 통신 환경을 예측할 수 있다. 네트워크 예측 모듈(313)에 의한 전자 장치(101) 및 네트워크(200) 사이의 통신 환경의 예측에 대한 설명은 후술하도록 한다. 인코딩을 위한 비트레이트는 전자 장치(101) 및 네트워크(200) 사이의 통신 환경 예측 결과에 기반하여 설정될 수 있다. 예를 들어, 전자 장치(101) 및 네트워크(200) 사이의 통신 환경이 상대적으로 양호한 것으로 예측되는 경우에는 비트레이트가 상대적으로 높게 설정될 수 있으나, 이는 단순한 예시이며 제한은 없다. 비트레이트가 결정되면, 인코딩을 위한 나머지 코덱 파라미터(예를 들어, 해상도(resolution) 및/또는 프레임레이트(framerate)(또는, 초당 프레임 수(frame per second, FPS))가 결정될 수 있다. 예를 들어, 비트레이트가 전자 장치(101) 및 네트워크(200) 사이의 통신 환경에 기반하여 결정되면, 결정된 비트레이트 및 코덱의 압축률에 기반하여, 해상도 및/또는 프레임레이트가 결정될 수 있다. 인코더(311)의 인코딩 결과 생성된 비트스트림은, 통신 모듈(190)을 통하여 수신측 전자 장치의 통신 모듈(190a)로 제공될 수 있다. 수신된 비트스트림은, 수신 측 전자 장치(예를 들어, 전자 장치(101)와 동일할 수 있음)에 의하여 동작하는 디코더(320)에 의하여 디코딩될 수 있다. 디코딩된 이미지(323)는, 수신 측 전자 장치에 의하여 동작하는 렌더러(renderer)(321)에 의하여 렌더링 될 수 있으며, 이에 따라 디코딩된 이미지(323)의 적어도 일부가 수신 측 전자 장치에서 표시될 수 있다. 한편, 도 3a의 비교예에 따라서는, 디코딩된 이미지(323)가 다운 스케일된 저해상도 이미지(302)와 동일한 해상도를 가질 수 있다. 이에 따라, 수신 측 전자 장치에서는, 상대적으로 작은 해상도의 이미지가 표시될 수 있다.
도 3b는, 일 실시예에 따른 비교예를 설명하기 위한 도면이다.
도 3b를 참조하면, 비교예에 의한 동작들 중 적어도 일부는, 본 개시의 실시예에 따른 전자 장치(101)에 의하여 수행될 수 있다.
비교 예에 따라서, 전자 장치(101)는, 카메라 모듈(180)에 의하여 촬영된 고해상도 이미지(301)를 확인할 수 있다. 고해상도 이미지(331)는, 예를 들어 VGA급의 해상도 또는 HD급의 해상도를 가질 수 있으나, 이는 예시적인 것으로 고해상도 이미지(331)의 해상도에는 제한이 없다. 전자 장치(101)에 의하여 동작하는 다운 스케일러(314)는, 고해상도 이미지(331)를 다운 스케일링하여 저해상도 이미지(332)를 출력할 수 있다. 다운 스케일러(314)는, 예를 들어 AI 모델로 구현될 수 있으나, 다운 스케일링을 수행할 수 있다면 제한이 없다. AI 모델로 구현된 경우, 다운 스케일러(314)를 AI 스케일러라 명명할 수도 있다. 저해상도 이미지(332)는, 예를 들어 QVGA급의 해상도 또는 nHD 급의 해상도를 가질 수 있으나, 이는 예시적인 것으로 저해상도 이미지(332)의 해상도에는 제한이 없다. 전자 장치(101)에 의하여 동작하는 인코더(311)는, 저해상도 이미지(332)를 인코딩하여 비트스트림을 생성할 수 있다. 전자 장치(101)에 의하여 동작하는 네트워크 예측 모듈(313)은, 전자 장치(101) 및 네트워크(200) 사이의 통신 환경을 예측할 수 있다. 인코딩을 위한 비트레이트는 전자 장치(101) 및 네트워크(200) 사이의 통신 환경 예측 결과에 기반하여 설정될 수 있다. 예를 들어, 비트레이트가 전자 장치(101) 및 네트워크(200) 사이의 통신 환경에 기반하여 결정되면, 결정된 비트레이트 및 코덱의 압축률에 기반하여, 해상도 및/또는 프레임레이트가 결정될 수 있다. 인코더(311)의 인코딩 결과 생성된 비트스트림은, 통신 모듈(190)을 통하여 수신측 전자 장치의 통신 모듈(190a)로 제공될 수 있다. 수신된 비트스트림은, 수신 측 전자 장치(예를 들어, 전자 장치(101)와 동일할 수 있음)에 의하여 동작하는 디코더(320)에 의하여 디코딩될 수 있다.
업 스케일러(335)는, 디코딩된 이미지(332)를 업 스케일링하여, 고해상도 이미지(334)를 제공할 수 있다. 업 스케일러(335)는, 예를 들어 AI 모델로 구현될 수 있으나, 업 스케일링을 수행할 수 있다면 제한이 없다. AI 모델로 구현된 경우, 업 스케일러(335)를 AI 스케일러라 명명할 수도 있다. 고해상도 이미지(334)는, 예를 들어, 송신 측 전자 장치(101)에 의하여 촬영된 고해상도 이미지(331)와 실질적으로 동일한 해상도를 가질 수 있다. 고해상도 이미지(334)는, 수신 측 전자 장치에 의하여 동작하는 렌더러 (321)에 의하여 렌더링 될 수 있으며, 이에 따라 고해상도 이미지(334)의 적어도 일부가 수신 측 전자 장치에서 표시될 수 있다. 한편, 다른 예시에서는, 도 3a에서와 같이, 수신 측 전자 장치(101)가 업 스케일링 과정 없이 디코딩된 저해상도 이미지(332)를 렌더링할 수도 있다.
상술한 바에 따라서, 송신 측 전자 장치(101)에서 촬영된 이미지와 실질적으로 동일한 해상도를 가지는 고해상도 이미지가, 수신 측 전자 장치에 의하여 제공될 수 있다. 아울러, 인코더(311)의 코덱 파라미터(예를 들어, 비트레이트, 해상도, 및/또는 프레임레이트)가 전자 장치(101) 및 네트워크(200) 사이의 통신 환경에 기반하여 설정될 수 있으므로, 만약 전자 장치(101) 및 네트워크(200) 사이의 통신 환경이 불량한 경우에는 품질이 낮은 비트스트림이 전송될 수 있어, 딜레이(delay) 또는 손실(loss)이 방지될 수 있다. 하지만, 도 3b의 예시에서는, 다운 스케일링 및/또는 업 스케일링 시에 전자 장치(101) 및 네트워크(200) 사이의 통신 환경이 고려되지 않는다. 송신되는 인코딩된 비트레이트에 따라서, 수신 측에서의 품질(예를 들어, blocky한지 여부)이 영향을 받으므로, 실시간으로(또는, 준 실시간으로) 비트레이트를 고려하는 AI 스케일러의 도입이 요구될 수 있다. 본 개시의 실시예들에서는, 예를 들어 전자 장치(101) 및 네트워크(200) 사이의 통신 환경에 기반하여 설정된 비트레이트와 연관된 정보가 고려된 AI 모델이 다운 스케일링 및/또는 업 스케일링을 위하여 이용되거나, 및/또는 트레이닝될 수 있다.
도 4는 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다. 도 4의 실시예는, 도 5를 참조하여 설명하도록 한다.
도 5는 일 실시예에 따른 송신 측 전자 장치 및 수신 측 전자 장치를 설명하기 위한 도면이다.
도 4 및 도 5를 함께 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, 401 동작에서, 통신 모듈(190)에 기반하여, 네트워크와 콜의 연결을 수립할 수 있다. 상술한 바와 같이, 예를 들어, 전자 장치(101)는, IMS 표준에 따른 절차를 수행할 수 있으나, 이는 예시적인 것으로 콜의 연결을 수립하기 위한 절차에는 제한이 없다. 전자 장치(101)는, 403 동작에서, 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지(501)를 확인할 수 있다. 제 1 이미지(501)는, 예를 들어 고해상도 이미지로서, VGA급의 해상도 또는 HD급의 해상도를 가질 수 있으나 이는 예시적인 것으로 고해상도 이미지의 해상도에는 제한이 없다. 전자 장치(101)는, 405 동작에서, 네트워크와 전자 장치(101) 사이의 통신 환경에 기반하여, 제 1 이미지(501)에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인할 수 있다. 하나의 예에서, 비트레이트와 연관된 정보인 BPP(bit per pixel)는, 수학식 1과 같이 표현될 수 있다.
Figure PCTKR2023019076-appb-img-000001
수학식 1에서의 비트레이트(bitrate)는, 예를 들어 통신 환경에 기반하여 결정될 수 있다. 예시적으로, 통신 환경이 상대적으로 양호한 경우에 상대적으로 높은 비트레이트가 결정될 수 있으며, 통신 환경이 상대적으로 불량한 경우에 상대적으로 낮은 비트레이트가 결정될 수 있으나, 이는 예시적인 것으로 제한이 없다. 예를 들어, 통신 환경은 복수 개의 범위로 카테고리화될 수 있으며, 카테고리 별로 비트레이트가 매핑되어 관리될 수 있으나 이는 예시적인 것으로, 통신 환경을 나타내는 지표(또는, 형식) 및/또는 지표에 대응하는 비트레이트를 결정하는 방식에는 제한이 없다. 통신 환경과 연관된 실시예에 대하여서는 후술하도록 한다. 비트레이트가 결정되면, 나머지 코덱 파라미터인 해상도(resolution) 및/또는 프레임레이트(framerate)가 결정될 수 있다. 예를 들어, 코덱 압축률에 기반하여, 비트레이트에 대응하는 해상도 및/또는 프레임레이트가 결정될 수 있으나, 이는 예시적인 것으로 결정 방식에는 제한이 없다. 하나의 예에서, 네트워크 예측 모듈(313)에 의하여 통신 환경이 결정될 수 있다. 통신 환경에 대응하는 비트레이트는, 네트워크 예측 모듈(313) 또는 인코더(311) 중 적어도 하나에 의하여 결정될 수도 있다. 비트레이트에 대응하는 나머지 코덱 파라미터(예를 들어, 해상도 및/또는 프레임레이트)는, 네트워크 예측 모듈(313) 또는 인코더(311) 중 적어도 하나에 의하여 결정될 수도 있다. 비트레이트와 연관된 정보(예를 들어, 수학식 1과 같은 BPP)는, 네트워크 예측 모듈(313) 또는 인코더(311) 중 적어도 하나에 의하여 결정될 수도 있다. 한편, 네트워크 예측 모듈(313) 및/또는 인코더(311)의 동작은, 예를 들어 프로세서(120)에 의하여 수행될 수 있으나 제한은 없다.
일 실시예에 따라서, 전자 장치(101)는, 407 동작에서, 다운 스케일링을 위한 제 1 AI 모델(510)에, 제 1 이미지(501) 및 제 1 정보(예를 들어, BPP)를 입력시킴으로써, 제 1 AI 모델(510)로부터 출력되는 제 1 이미지(501)에 대응하는 제 2 이미지(502)를 확인할 수 있다. 도 3b의 비교예에서의 다운 스케일러(314)가 고해상도 이미지(331)만을 입력값으로서 수신하여 이에 대응하는 저해상도 이미지(332)를 제공하도록 구성되는 것과는 대조적으로, 도 4 및 도 5의 제 1 AI 모델(510)은, 제 1 이미지(501) 뿐만 아니라, 비트레이트와 연관된 정보(예를 들어, BPP)도 입력값으로써 수신하여, 저해상도인 제 2 이미지(502)를 제공하도록 구성될 수 있다. 제 1 AI 모델(510)은, 예를 들어 제 1 이미지(501)에 대응하는 이미지 특징을 추출하기 위한 신경망(neural network) 및 비트레이트와 연관된 정보(예를 들어, BPP)에 대응하는 메타 정보 특징을 추출하기 위한 신경망을 포함하고, 이미지 특징 및 메타 정보 특징의 곱 연산을 수행하는 구조를 가질 수 있으나, 제한은 없으며, 이에 대한 설명 및 제 1 AI 모델(510)의 트레이닝에 대하여서는 후술하도록 한다. 전자 장치(101)는, 409 동작에서, 통신 모듈(190)에 기반하여, 콜의 연결을 통하여 제 2 이미지(502)를 송신할 수 있다. 여기에서, 제 2 이미지(502)의 송신은, 예를 들어 제 2 이미지(502)의 인코딩에 기반한 비트스트림의 생성 및 비트스트림의 송신을 포함할 수도 있다. 도 5에서와 같이, 인코더(311)는, 제 2 이미지(502)를 인코딩하여 비트스트림을 생성할 수 있다. 상술한 바와 같이, 인코더(311)는, 통신 환경에 기반하여 결정된 비트레이트, 및 비트레이트에 기반하여 설정된 해상도 및/또는 프레임레이트에 기반하여, 인코딩을 수행함으로써 비트스트림을 생성할 수 있다. 상술한 바와 같이, 비트레이트, 해상도, 및/또는 프레임레이트를 포함하는 코덱 파라미터의 적어도 일부는, 인코더(311)에 의하여 이용될 뿐만 아니라, 다운 스케일링을 위한 제 1 AI 모델(510)의 입력값 중 적어도 일부로서 이용될 수도 있다. 비트스트림은 통신 모듈(190)을 통하여 수신 측 전자 장치(예를 들어, 전자 장치(101)와 동일한 장치일 수 있음)로 제공될 수 있다. 만약, 통신 환경의 변경을 실시간으로 반영하고자 다양한 비트레이트 별로 복수 개의 AI 모델을 설정하고, 복수 개의 AI 모델 중 어느 하나를 선택하여 다운 스케일링을 수행한다면, 전자 장치(101)에 저장되어야 하는 정보(예를 들어, 라이브러리(library))의 크기가 급증할 수 있다. 이와는 대조적으로, 일 실시예에 따른 전자 장치(101)는 비트레이트와 연관된 정보 및 고해상도 이미지를 입력값으로 수신하여, 고해상도 이미지에 대응하는 저해상도 이미지를 출력하도록 트레이닝된 AI 모델을 이용하여 다운 스케일링을 수행할 수 있어, 다양한 비트레이트 별로 복수 개의 AI 모델들을 설정한 경우에 비하여, AI 모델의 정보량의 크기가 상대적으로 작을 수 있다. 한편, 도 5의 수신 측의 전자 장치의 동작은 도 6을 참조하여 설명하도록 한다. 상술한 바에 따라서, 콜 채널의 상태가 상대적으로 좋지 않은 상황에서도 컨텐츠 품질의 열화(저해상도/Blocky/Delay)없이 고품질의 컨텐츠가 수신측 장치에 제공될 수 있다.
도 6은 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다. 도 6의 실시예는, 도 5를 참조하여 설명하도록 한다.
도 5 및 도 6을 함께 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, 601 동작에서, 통신 모듈(190)에 기반하여, 네트워크와 콜의 연결을 수립할 수 있다. 한편, 도 5에서는, 수신 측 전자 장치가 통신 모듈(190a)을 포함하는 것과 같이 도시되어 있다. 하지만, 일 실시예에 따른 전자 장치(101)는, 도 5의 수신 측 전자 장치의 동작을 수행할 수 있다. 전자 장치(101)는, 예를 들어, IMS 표준에 따른 절차를 수행함에 기반하여, 콜의 연결을 수립할 수 있으나 수립의 방식에는 제한이 없다. 전자 장치(101)는, 603 동작에서, 통신 모듈(190)에 기반하여, 콜의 연결을 통하여 제 2 이미지(505)를 수신할 수 있다. 여기에서, 제 2 이미지(505)의 수신은, 예를 들어 제 2 이미지가 인코딩됨에 따라서 생성된 비트스트림의 수신 및 디코더(320)에 의한 비트스트림의 디코딩을 포함할 수 있다. 디코더(320), 네트워크 예측 모듈(515), 및/또는 렌더러(321)에 의하여 수행되는 동작은, 전자 장치(101)의 프로세서(120)에 의하여 수행될 수 있으나 제한은 없다. 전자 장치(101)는, 605 동작에서, 제 2 비트레이트와 연관된 제 2 정보를 확인할 수 있다. 예를 들어, 네트워크 예측 모듈(515) 및/또는 디코더(320)에 의하여 추정된 제 2 비트레이트 및 제 2 비트레이트에 대응하는 제 2 정보(예를 들어, BPP)가 확인될 수 있다. 제 2 정보의 확인에 대하여서는 후술하도록 한다.
일 실시예에 따라서, 전자 장치(101)는, 607 동작에서, 업 스케일링을 위한 제 2 AI 모델(512)에, 제 2 이미지(505) 및 제 2 정보(예를 들어, BPP)를 입력시킴으로써, 제 2 AI 모델(512)로부터 출력되는 제 2 이미지(505)에 대응하는 제 3 이미지(507)를 확인할 수 있다. 전자 장치(101)는, 609 동작에서, 제 3 이미지(507)(또는, 적어도 일부)를 표시할 수 있다. 제 2 AI 모델(512)은, 예를 들어 제 2 이미지(505)에 대응하는 이미지 특징을 추출하기 위한 신경망(neural network) 및 비트레이트와 연관된 정보(예를 들어, BPP)에 대응하는 메타 정보 특징을 추출하기 위한 신경망을 포함하고, 이미지 특징 및 메타 정보 특징의 곱 연산을 수행하는 구조를 가질 수 있으나, 제한은 없으며, 이에 대한 설명 및 제 2 AI 모델(512)의 트레이닝에 대하여서는 후술하도록 한다. 만약, 통신 환경의 변경을 실시간으로 반영하고자 다양한 비트레이트 별로 복수 개의 AI 모델을 설정하고, 복수 개의 AI 모델 중 어느 하나를 선택하여 업 스케일링을 수행한다면, 전자 장치(101)에 저장되어야 하는 정보(예를 들어, 라이브러리(library))의 크기가 급증할 수 있다. 이와는 대조적으로, 일 실시예에 따른 전자 장치(101)는 비트레이트와 연관된 정보 및 저해상도 이미지를 입력값으로 수신하여, 저해상도 이미지에 대응하는 고해상도 이미지를 출력하도록 트레이닝된 AI 모델을 이용하여 업 스케일링을 수행할 수 있어, 다양한 비트레이트 별로 복수 개의 AI 모델들을 설정한 경우에 비하여, AI 모델의 정보량의 크기가 상대적으로 작을 수 있다.
도 7은 비교예 및 실시예에 따른 VMAF 스코어를 도시한다.
도 7을 참조하면, 실시예에 따른 비트레이트와 연관된 정보(예를 들어, BPP) 및 고해상도 이미지를 입력값으로 수신하여 저해상도 이미지를 출력하는 다운 스케일링을 위한 AI 모델 및 비트레이트와 연관된 정보(예를 들어, BPP) 및 저해상도 이미지를 입력값으로 수신하여 고해상도 이미지를 출력하는 업 스케일링을 위한 AI 모델이 이용된 경우의 비트레이트에 대한 VMAF(video multimethod assessment fusion) 스코어(701)가 도시된다. VMAF는, 예를 들어 서던캘리포니아대학교, 낭트대학교의 IPI/LS2N 연구소, 낭트대학교의 이미지 및 비디오 공학 연구소, 및 넷플릭스가 개발한 객관적인 전체 참조 동영상 품질 메트릭일 수 있으며, 이는 예시적인 것으로 화질을 나타내는 평가 스코어에는 제한이 없다. 비교예에 따른 고해상도 이미지를 입력값으로 수신하여 저해상도 이미지를 출력하는 다운 스케일링을 위한 AI 모델 및 저해상도 이미지를 입력값으로 수신하여 고해상도 이미지를 출력하는 업 스케일링을 위한 AI 모델이 이용된 경우의 비트레이트에 대한 VMAF 스코어(702)가 도시된다. 비교예에 따른 AI 모델이 이용되지 않는 경우에 대한 VMAF 스코어(703)가 도시된다. 실시예에 따른 VMAF 스코어(701)가, 다른 경우에 대한 VMAF 스코어들(702,703)에 비하여 높은 것을 확인할 수 있다.
도 8a는 본 개시의 실시예에 따른 다운 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 8a를 참조하면, 비교 예에 따라서, 전자 장치(101)는, 카메라 모듈(180)에 의하여 촬영된 제 1 이미지(801)(또는, 트레이닝 데이터 셋에 포함된 이미지)를 확인할 수 있다. 전자 장치(101)는, 다운 스케일링을 위한 AI 모델을 이용하여, 제 1 이미지(801)를 제 2 이미지(803)로 다운 스케일링할 수 있다. 한편, 도 8a에서는, AI 모델의 적용 과정에 대하여 설명되었지만, 도 8a의 실시예는 트레이닝 과정 중에서 수행될 수도 있으며 이는 도 8c 및 8d를 참조하여 설명하도록 한다. 도 8a의 비교예에서, AI 모델은, 예를 들어 ResNet의 구조를 가질 수 있다. 이에 따라, 화상 콜을 위한 모바일용 전자 장치(101)에서 상대적으로 작은 연산량으로 AI 모델을 이용할 수 있으나, 이는 예시적인 것으로 다운 스케일링을 위한 구조라면 제한이 없음을 당업자는 이해할 것이다. 한편, ResNet은, 예를 들어 이미지 스케일링보다는 레지듀얼 라인을 향상시킴을 통하여 전반적인 해상도를 향상시키도록 트레이닝될 수 있으나 제한은 없다. 예를 들어, Raw YUV 420 방식이 이용될 수 있고, 레거시 스케일링에 기반한 UV가 생성되는 동안 Y(luma) 채널이 향상되도록 트레이닝될 수 있으나 제한은 없다. 비교 예에 따른 AI 모델은, Bicubic 다운 스케일링을 위한 부분(810), 이미지 특징 추출 및 인핸싱(enhancing)/레지듀얼(residual) 이미지 구성을 위한 부분(812), 및 Bilinear 업 스케일링을 위한 이미지 합산기(814)를 포함할 수 있으나, 이는 예시적인 것으로 제한은 없다. Bicubic 다운 스케일링을 위한 부분(810)(또는, AI 모델)은, 예를 들어 Bicubic 방식에 기반한 다운 스케일링을 수행할 수 있으나, 다운 스케일링의 방식에는 제한이 없다. Bicubic 방식에 기반하여, 예를 들어 제 1 이미지(801)의 1/4배의 해상도를 가지는 제 2 이미지(803)가 생성될 수 있으나 제한은 없다. 다운 스케일링을 위한 부분(810)은, ResNet에서, Residual에 대응하는 부분은 제외한 부분일 수 있다. 이미지 특징 추출 및 인핸싱/레지듀얼 이미지 구성을 위한 부분(812)은, ResNet에서 Residual에 대응하는 부분으로, 예를 들어 컨볼루션 레이어를 포함할 수 있으나, 제한은 없으며, 복수 개의 서브 AI 구조를 포함할 수도 있다. Bilinear 업 스케일링을 위한 이미지 합산기(814)는, ResNet에서 정의되는 원본 이미지(본, 비교예에서는 다운 스케일링된 원본 이미지) 및 residual에 대응하는 이미지를 합산할 수 있는 합산기 일 수 있다. 한편, 비교예에서는, 수학식 2와 같은 CLIP 함수가 출력 이미지(예를 들어, 제 2 이미지(803))를 위하여 이용될 수 있다.
Figure PCTKR2023019076-appb-img-000002
수학식 2에서의 Output은 ResNet으로부터 출력되는 이미지(예를 들어, 도 8a에서의 제 2 이미지(803))일 수 있다. CLIP 함수에 의하여, "Downscale + Residual", 예를 들어 부분(810)의 결과 및 부분(812)의 결과의 합산이, 최소 픽셀(MIN pixel) 내지 최대 픽셀(MAX pixel) 사이로 조정될 수 있다. 상술한 바와 같이, 비교예에 따라서, ResNet에 기반한 다운 스케일링된 이미지인 제 2 이미지(803)가 제공될 수 있다. 하지만, 상술한 바와 같이, 비교예에 따른 AI 모델은, 비트레이트와 연관된 정보를 이용하지는 않는다.
도 8b는 본 개시의 실시예에 따른 업 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
한편, 도 8b에서는, AI 모델의 적용 과정에 대하여 설명되었지만, 도 8b의 실시예는 트레이닝 과정 중에서 수행될 수도 있으며 이는 도 8c 및 8d를 참조하여 설명하도록 한다.
도 8b를 참조하면, 비교 예에 따라서, 전자 장치(101)는, 업 스케일링을 위한 AI 모델을 이용하여, 제 2 이미지(803)를 제 3 이미지(805)로 업 스케일링할 수 있다. 비교 예에 따른 AI 모델은, Bilinear 업 스케일링을 위한 부분(814), 이미지 특징 추출 및 인핸싱/레지듀얼 이미지 구성을 위한 부분(816), 및 이미지 합산기(818)를 포함할 수 있으나, 이는 예시적인 것으로 제한은 없다. Bilinear 업 스케일링을 위한 부분(814)(또는, AI 모델)은, 예를 들어 Bilinear 방식에 기반한 업 스케일링을 수행할 수 있으나, 업 스케일링의 방식에는 제한이 없다. Bilinear 방식에 기반하여, 예를 들어 제 2 이미지(803)의 4배의 해상도를 가지는 제 3 이미지(805)가 생성될 수 있으나 제한은 없다. 업 스케일링을 위한 부분(814)은, ResNet에서, Residual에 대응하는 부분은 제외한 부분일 수 있다. 이미지 특징 추출 및 인핸싱/레지듀얼 이미지 구성을 위한 부분(816)은, ResNet에서 Residual에 대응하는 부분으로, 예를 들어 컨볼루션 레이어를 포함할 수 있으나, 제한은 없으며, 복수 개의 서브 AI 구조를 포함할 수도 있다. 합산기(818)는, ResNet에서 정의되는 원본 이미지(본, 비교예에서는 업 스케일링된 원본 이미지) 및 residual에 대응하는 이미지를 합산할 수 있는 합산기 일 수 있다. 상술한 바와 같이, 비교예에 따라서, ResNet에 기반한 업 스케일링된 이미지인 제 3 이미지(805)가 제공될 수 있다. 하지만, 상술한 바와 같이, 비교예에 따른 AI 모델은, 비트레이트와 연관된 정보를 이용하지는 않는다. 예를 들어, 도 8a을 참조하여 설명한 다운 스케일링을 위한 AI 모델 및 도 8b를 참조하여 설명한 업 스케일링을 위한 AI 모델은 함께 트레이닝될 수 있으며, 이를 도 8c 및 도 8d를 참조하여 설명하도록 한다.
도 8c는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다. 도 8c의 실시예는 도 8d를 참조하여 설명하도록 한다.
도 8d는, 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
비교예 및/또는 실시예에 따라서, 적어도 하나의 AI 모델의 트레이닝은, 트레이너(trainer)에 의하여 수행될 수 있다. 트레이닝은, 예를 들어 서버(108)(또는, 다른 컴퓨팅 장치일 수도 있음)에 의하여 수행되거나, 및/또는 AI 모델을 실행하는 전자 장치(101)에 의하여 수행될 수도 있다. 본 개시에서의 트레이너에 의하여 수행되는 동작은, 전자 장치(101) 및/또는 서버(108)에 의하여 수행되는 것으로 이해될 수 있다.
도 8c 및 8d를 함께 참조하면, 트레이너는, 831 동작에서, 제 1 이미지(801)를 다운 스케일링을 위한 제 1 AI 모델(821)에 입력시켜 제 2 이미지(803)를 확인할 수 있다. 제 1 AI 모델(821)은, 예를 들어 도 8a에서 설명된 ResNet일 수 있으나, 제한은 없다. 트레이너는, 832 동작에서, 제 2 이미지(803)를 업 스케일링을 위한 제 2 AI 모델(823)에 입력시켜 제 3 이미지(805)를 확인할 수 있다. 제 2 AI 모델(823)은, 예를 들어 도 8b에서 설명된 ResNet일 수 있으나, 제한은 없다. 트레이너는, 833 동작에서, 제 1 이미지(801) 및 제 3 이미지(805) 사이의 유사도에 기반한 제 1 손실(Loss1: Up-Similarity)을 확인할 수 있다. 트레이너는, 834 동작에서, 제 2 이미지(803)를 업 스케일링한 제 4 이미지(807)를 확인할 수 있다. 예를 들어, 트레이너는, lanczos 방식을 이용하는 업 스케일러(825)에 기반하여, 제 4 이미지(807)를 확인할 수 있으나, 제한이 없다. 트레이너는, 835 동작에서, 제 1 이미지(801) 및 제 4 이미지(807) 사이의 유사도에 기반한 제 2 손실(Loss2: Legacy-Similarity)을 확인할 수 있다. 트레이너는, 836 동작에서, 제 1 손실(Loss1) 및 제 2 손실(Loss2)에 기반하여, 제 1 AI 모델(821) 및 제 2 AI 모델(823)을 트레이닝할 수 있다. 예를 들어, 전체 손실(Total Loss)은, 수학식 3과 같을 수 있다.
Figure PCTKR2023019076-appb-img-000003
수학식 3에서, α 및 β는 가중치들일 수 있다. 트레이너는, 전체 손실(Total Loss)을 최소화하도록 트레이닝을 수행할 수 있다. 상술한 바와 같이, 다운 스케일링을 위한 제 1 AI 모델(821) 및 업 스케일링을 위한 제 2 AI 모델(823)이 함께 트레이닝될 수 있다. 손실 및/또는 손실의 계산은, 예를 들어 L2 손실(mean square error), SSIM 손실(negative structural similarity index), 또는 GL1 손실(absolute error after Gaussian filter)에 기반할 수 있으나, 이는 예시적인 것으로 타입에는 제한이 없다.
도 8e는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다. 도 8e의 실시예는 도 8f를 참조하여 설명하도록 한다.
도 8f는, 일 실시예에 따른 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 8e 및 8f를 함께 참조하면, 트레이너는, 851 동작에서, 제 1 이미지(871)를, 고정된(fixed) 다운 스케일링을 위한 제 1 AI 모델(872)에 입력시켜 제 2 이미지(873)를 확인할 수 있다. 도 8e 및 8f의 비교예에서는, 제 1 AI 모델(872)의 파라미터는 고정된 값을 가지도록 설정될 수 있다. 예를 들어, 제 1 AI 모델(872)의 파라미터는, 도 8c 및 도 8d에 기반하여 설명된 트레이닝에 기반하여 결정될 수 있으며, 제 1 AI 모델(872)의 파라미터는 도 8e 및 8f의 실시예에서는 추가적으로 트레이닝되지 않으므로 "고정"의 단어가 이용됨을 당업자는 이해할 것이다. 트레이너는, 852 동작에서, 제 2 이미지(873)를 인코더(874)를 이용하여 인코딩할 수 있다. 트레이너는, 853 동작에서, 디코더(875)를 이용하여 인코딩된 제 2 이미지를 디코딩하여 제 3 이미지(876)를 확인할 수 있다. 예를 들어, 인코딩 및/또는 디코딩은, 고정된 QP 값을 이용할 수 있다. 실제 화상 통화 스트리밍에서는 constant/variable bitrate mode(CBR/VBR)가 이용될 수 있으며, 비트레이트는 통신 환경에 따라 실시간으로 변경될 수 있다. 트레이너는, 854 동작에서, 제 3 이미지(876)를 업 스케일링을 위한 제 2 AI 모델(877)에 입력시켜 제 4 이미지(878)를 확인할 수 있다. 트레이너는, 855 동작에서, 제 1 이미지(871) 및 제 4 이미지(878) 사이의 유사도에 기반한 손실(Loss1: Up-Similarity)을 확인할 수 있다. 트레이너는, 856 동작에서, 손실(Loss1)에 기반하여 제 2 AI 모델(877)을 트레이닝할 수 있다. 트레이너는, 손실을 최소화하도록 제 2 AI 모델(877)을 트레이닝할 수 있다. 예를 들어, 트레이너는, 도 8c 및 8d에 기반하여 설정된 트레이닝 및/또는 도 8e 및 8f에 기반하여 설정된 트레이닝을 수행함으로써, 다운 스케일링을 위한 AI 모델 및/또는 업 스케일링을 위한 AI 모델이 트레이닝될 수 있다.
도 9a는 본 개시의 실시예에 따른 다운 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 9a를 참조하면, 일 실시예에 따라서, 전자 장치(101)는, 카메라 모듈(180)에 의하여 촬영된(또는, 트레이닝 데이터 셋으로부터 선택된) 제 1 이미지(901)를 확인할 수 있다. 전자 장치(101)는, 다운 스케일링을 위한 AI 모델을 이용하여, 제 1 이미지(901)를 제 2 이미지(902)로 다운 스케일링할 수 있다. 한편, 도 9a에서는, AI 모델의 적용 과정에 대하여 설명되었지만, 도 9a의 실시예는 트레이닝 과정 중에서 수행될 수도 있으며 이는 도 9c 및 9d를 참조하여 설명하도록 한다. 도 9a의 실시예에서, AI 모델은, 예를 들어 ResNet의 구조를 가질 수 있다. 한편, ResNet은, 예를 들어 이미지 스케일링보다는 레지듀얼 라인을 향상시킴을 통하여 전반적인 해상도를 향상시키도록 트레이닝될 수 있으나 제한은 없다.
일 실시예에 따른 AI 모델은, Bicubic 다운 스케일링을 위한 부분(911), 이미지 특징 추출을 위한 부분(912), 이미지 곱셈기(913), 인핸싱/레지듀얼 이미지 구성을 위한 부분(914), 비트레이트와 연관된 정보 특징 추출을 위한 부분(915), 및 이미지 합산기(916)를 포함할 수 있으나, 이는 예시적인 것으로 제한은 없다. Bicubic 다운 스케일링을 위한 부분(911)(또는, AI 모델)은, 예를 들어 Bicubic 방식에 기반한 다운 스케일링을 수행할 수 있으나, 다운 스케일링의 방식에는 제한이 없다. Bicubic 방식에 기반하여, 예를 들어 제 1 이미지(901)의 1/4배의 해상도를 가지는 제 2 이미지(902)가 생성될 수 있으나 제한은 없다. 다운 스케일링을 위한 부분(911)은, ResNet에서, Residual에 대응하는 부분은 제외한 부분일 수 있다. 이미지 특징 추출 부분(912)은, 예를 들어 특징을 추출하기 위한 적어도 하나의 컨볼루션 레이어를 포함할 수 있으나, 이는 예시적인 것으로 이미지 특징 추출 부분(912)의 구현에는 제한이 없으며, RNN 등의 다른 신경망도 이용될 수도 있음을 당업자는 이해할 것이다.
일 실시예에 따라서, 비트레이트와 연관된 정보 특징 추출을 위한 부분(915)은, 비트레이트와 연관된 정보(예를 들어, BPP)를 입력값으로서 수신하여, 특징을 출력하도록 구성될 수 있다. 한편, BPP 이외에도 다른 값들이 부분(915)으로의 입력값으로 구현될 수 있으며, 부분(915)에 대한 입력 정보를 메타 정보라 명명할 수도 있다. 메타 정보는, 예를 들어 비트레이트와 연관된 정보로서 BPP를 포함할 수 있으나 이는 예시적인 것으로, 카메라 모듈(180)의 사양, 영상 통화가 수행되는 위치, 카메라 모듈(180)의 모드(예를 들어, 전방 촬영 모드, 또는 후방 촬영 모드), 네트워크 상태, 네트워크 종류, 통화 중 조명(lightning) 사용 여부, 및/또는 비디오 프레임 관련 정보(예를 들어, 대면(face to face) 비디오 프레임, 노변(road side) 비디오 프레임, 다수 인물(multi-person) 비디오 프레임, 인물이 포함되지 않은(no-person) 비디오 프레임일 수 있으나 제한이 없음)를 포함할 수도 있으며, 제한이 없다. 예를 들어, 비트레이트와 연관된 정보 특징 추출을 위한 부분(915)은, 적어도 하나의 fully-connected 레이어를 포함할 수 있다. 비트레이트와 연관된 정보 특징 추출을 위한 부분(915)은, Dense Network로 구현될 수 있으나, 이는 예시적인 것으로 그 타입에는 제한이 없다. 곱셈기(913)는, 부분(912)의 출력 및 부분(915)의 출력을 교차 곱셈(cross multiplication)할 수 있다. 인핸싱/레지듀얼 이미지 구성을 위한 부분(914)은, 교차 곱셈 결과를 입력받아, 인핸싱/레지듀얼 구성을 수행하여 출력할 수 있다. 합산기(916)는, 인핸싱/레지듀얼 이미지 구성을 위한 부분(914)으로부터의 출력을, 다운 스케일링을 위한 부분(911)으로부터의 출력과 합산을 수행할 수 있으며, 이에 따라 제 2 이미지(902)가 출력될 수 있다. 도 8a에서 설명된 AI 모델과는 대조적으로, 도 9a에서 설명된 AI 모델은, 고해상도 이미지(예를 들어, 제 1 이미지(901)) 및 비트레이트와 연관된 값(예를 들어, BPP)을 입력값으로서 수신받아, 저해상도 이미지(예를 들어, 제 2 이미지(902))를 출력할 수 있다. 이에 따라, 다양한 비트레이트(또는, 코덱 파라미터)에 대한 트레이닝이 수행될 수 있으며, 통신 환경의 변경에 따른 코덱 파타미터가 변경되는 환경을 위한 AI 모델이 제공될 수 있다. AI 모델은, 레지듀얼 라인을 향상시키도록 트레이닝될 수 있으나, 제한은 없다. 예를 들어, 레지듀얼 라인의 향상을 위하여, 레지듀얼 라인은 Y(luma) 채널에 이용될 수 있으나 제한은 없다. 예를 들어, 상대적으로 낮은 비트레이트 범위에서의 인코딩 시에는, 상대적으로 높은 비트레이트 범위보다 상대적으로 낮은 품질의 비트스트림이 생성되므로, 상대적으로 낮은 비트레이트 범위에서 업 스케일링의 레지듀얼 라인은 더 강한 효과를 가져야 할 수 있다.
도 9b는 본 개시의 실시예에 따른 업 스케일링을 위한 AI 모델을 설명하기 위한 도면이다.
도 9b를 참조하면, 일 실시예에 따라서, 전자 장치(101)는, 상대적으로 저해상도인 제 2 이미지(902)를 확인할 수 있다. 전자 장치(101)는, 업 스케일링을 위한 AI 모델을 이용하여, 제 2 이미지(902)를 제 3 이미지(903)로 업 스케일링할 수 있다. 한편, 도 9b에서는, AI 모델의 적용 과정에 대하여 설명되었지만, 도 9b의 실시예는 트레이닝 과정 중에서 수행될 수도 있으며 이는 도 9c 및 9d를 참조하여 설명하도록 한다. 도 9b의 실시예에서, AI 모델은, 예를 들어 ResNet의 구조를 가질 수 있다. 한편, ResNet은, 예를 들어 이미지 스케일링보다는 레지듀얼 라인을 향상시킴을 통하여 전반적인 해상도를 향상시키도록 트레이닝될 수 있으나 제한은 없다.
일 실시예에 따라서, 업 스케일링을 위한 AI 모델은, Bilinear 업 스케일링을 위한 부분(921), 이미지 특징 추출을 위한 부분(922), 곱셈기(923), 인핸싱/레지듀얼 이미지 구성을 위한 부분(924), 비트레이트와 연관된 정보 특징 추출을 위한 부분(925), 및 합산기(926)를 포함할 수 있다. Bilinear 업 스케일링을 위한 부분(921)은, 제 2 이미지(902)를 업 스케일링하여, 업 스케일링된 이미지를 출력할 수 있다. 업 스케일링된 이미지는, 제 2 이미지(902)에 비하여 4배의 해상도를 가질 수 있으나, 제한은 없으며, Bilinear 방식 또한 예시적인 것이다. 이미지 특징 추출을 위한 부분(922) 및/또는 인핸싱/레지듀얼 이미지 구성을 위한 부분(924)은, 적어도 하나의 컨볼루션 레이어로 구성될 수 있으나, 이는 예시적인 것으로 제한이 없다. 비트레이트와 연관된 정보 특징 추출을 위한 부분(925)은, 예를 들어 비트레이트와 연관된 정보(예를 들어, BPP)를 입력받아, 이에 대응하는 특징을 출력할 수 있다. 부분(925)은, 예를 들어 fully-connected 레이어를 포함할 수 있으나, 제한은 없다. 부분(925)은, 예를 들어 Dense Network로 구현될 수 있으나 제한은 없다. 한편, BPP 이외에도 다른 값들이 부분(925)으로의 입력값으로 구현될 수 있으며, 부분(925)에 대한 입력 정보를 메타 정보라 명명할 수도 있다. 곱셈기(923)는, 부분(922)의 출력 및 부분(925)의 출력을 교차 곱셈(cross multiplication)할 수 있다. 인핸싱/레지듀얼 이미지 구성을 위한 부분(924)은, 교차 곱셈 결과를 입력받아, 인핸싱/레지듀얼 구성을 수행하여 출력할 수 있다. 합산기(926)는, 인핸싱/레지듀얼 이미지 구성을 위한 부분(924)으로부터의 출력을, 업 스케일링을 위한 부분(921)으로부터의 출력과 합산을 수행할 수 있으며, 이에 따라 제 3 이미지(903)가 출력될 수 있다. 도 8b에서 설명된 AI 모델과는 대조적으로, 도 9b에서 설명된 AI 모델은, 저해상도 이미지(예를 들어, 제 2 이미지(902)) 및 비트레이트와 연관된 값(예를 들어, BPP)을 입력값으로서 수신받아, 고해상도 이미지(예를 들어, 제 3 이미지(903))를 출력할 수 있다. 이에 따라, 다양한 비트레이트(또는, 코덱 파라미터)에 대한 트레이닝이 수행될 수 있으며, 통신 환경의 변경에 따른 코덱 파타미터가 변경되는 환경을 위한 AI 모델이 제공될 수 있다. 한편, 도 8c 및 8d를 참조하여 설명된 바와 같이, 업 스케일링을 위한 AI 모델 및 다운 스케일링을 위한 AI 모델은 함께 트레이닝될 수 있으며, 이를 도 9c 및 9d를 참조하여 설명하도록 한다.
도 9c는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다. 도 9c의 실시예는 도 9d를 참조하여 설명하도록 한다.
도 9d는, 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 9c 및 9d를 함께 참조하면, 트레이너는, 931 동작에서, 제 1 이미지(941) 및 제 1 정보를 다운 스케일링을 위한 제 1 AI 모델(942)에 입력시켜 제 2 이미지(943)를 확인할 수 있다. 제 1 AI 모델(942)은, 예를 들어 도 9a에서 설명된 ResNet일 수 있으나, 제한은 없다. 도 9a에서 설명된 바와 같이, 제 1 AI 모델(942)은, 고해상도 이미지(예를 들어, 제 1 이미지(941))와 함께 제 1 정보를 입력값으로서 수신할 수 있다. 제 1 정보는, 예를 들어 비트레이트와 연관된 정보인 BPP를 포함하는 메타 정보일 수 있으며, 제한이 없다. 트레이너는, 932 동작에서, 제 2 이미지(943) 및 제 1 정보를 업 스케일링을 위한 제 2 AI 모델(944)에 입력시켜 제 3 이미지(945)를 확인할 수 있다. 제 2 AI 모델(944)은, 예를 들어 도 9b에서 설명된 ResNet일 수 있으나, 제한은 없다. 도 9b에서 설명된 바와 같이, 제 2 AI 모델(944)은, 저해상도 이미지(예를 들어, 제 2 이미지(943))와 함께 제 1 정보를 입력값으로서 수신할 수 있다.
트레이너는, 933 동작에서, 제 1 이미지(941) 및 제 3 이미지(945) 사이의 유사도에 기반한 제 1 손실(Loss1: Up-Similarity)을 확인할 수 있다. 트레이너는, 934 동작에서, 제 1 이미지(941)를 다운 스케일링한 제 4 이미지(947)를 확인할 수 있다. 예를 들어, 트레이너는, lanczos 방식을 이용하여 제1 이미지(941)를 다운 스케일링하는 다운 스케일러(946)에 기반하여, 제 4 이미지(947)를 확인할 수 있으나, 제한이 없다. 트레이너는, 935 동작에서, 비트레이트와 연관된 제 1 정보에 기반하여 제 4 이미지를 인핸싱한 제 5 이미지(949)를 확인할 수 있다. 예를 들어, 트레이너는, 제 1 정보에 기반한 인핸서(948)를 이용하여, 제 5 이미지(949)를 출력할 수 있으나 제한은 없으며, 인핸싱 과정에 대하여서는 후술하도록 한다. 트레이너는, 936 동작에서, 제 2 이미지(943) 및 제 5 이미지(949) 사이의 유사도에 기반한 제 2 손실(Loss2: Legacy-Similarity)을 확인할 수 있다. 트레이너는, 937 동작에서, 제 1 손실(Loss1) 및 제 2 손실(Loss2)에 기반하여, 제 1 AI 모델(942) 및 제 2 AI 모델(944)을 트레이닝할 수 있다. 예를 들어, 전체 손실(Total Loss)은, 전술한 수학식 3과 같을 수 있다. 트레이너는, 전체 손실(Total Loss)을 최소화하도록 트레이닝을 수행할 수 있다. 상술한 바와 같이, 다운 스케일링을 위한 제 1 AI 모델(942) 및 업 스케일링을 위한 제 2 AI 모델(944)이 함께 트레이닝될 수 있다. 손실 및/또는 손실의 계산은, 예를 들어 L2 손실(mean square error), SSIM 손실(negative structural similarity index), 또는 GL1 손실(absolute error after Gaussian filter)에 기반할 수 있으나, 이는 예시적인 것으로 타입에는 제한이 없다. 트레이닝 시에는, 예를 들어 mini batch gradient decent 방식의 지도 학습(supervised learning)이 이용될 수 있으나, 제한은 없다. 각 트레이닝 시마다 이용되는 트레이닝 데이터들 각각은 다양한 해상도, 프레임레이트, 및/또는 비트레이트로 구성될 수 있으며, 이에 따라 네트워크 환경에 따라 변경되는 코덱 파라미터에 강인한 AI 모델들이 제공될 수 있다. 예를 들어, 인핸서(948)의 인핸싱 과정에서 지각(perceptual) 필터(filter)가 이용될 수 있다. 지각 필터가 이용됨에 따라서, 입력되는 이미지의 상태에 따라서 코덱의 성능이 변경되는 효과가 표현될 수 있다. 지각 필터가 이용됨에 따라서, 인코딩의 품질이 향상될 수 있다. 이미지가 제공되면, 사전 인코딩 최적화 필터(pre encoding optimizer filter)인 AWA(적응 가중 평균), TBil(Threshold bilateral), 또는 JND(just noticeable-distortion) profiled motion-compensated residue) 중 어느 하나가 지각 필터로서 이용될 수 있으나 제한은 없다. 트레이닝의 목표는, 예를 들어 다운 스케일링 및 업 스케일링을 수행한 결과가, 원본 이미지와 실질적으로 동일(또는, 유사)한 것일 수 있다. 트레이닝의 목표는, 예를 들어 다운 스케일링을 위한 관련 기술의 AI 모델의 다운 스케일러에 의한 다운 스케일링 결과와 실질적으로 동일(또는, 유사)한 것일 수 있다.
도 9e는 일 실시예에 따른 다운 스케일링을 위한 AI 모델 및 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 흐름도이다. 도 9e의 실시예는 도 9f를 참조하여 설명하도록 한다.
도 9f는, 일 실시예에 따른 업 스케일링을 위한 AI 모델의 트레이닝을 설명하기 위한 도면이다.
도 9e 및 9f를 함께 참조하면, 트레이너는, 951 동작에서, 제 1 이미지(961) 및 제 1 정보(962)를, 고정된(fixed) 다운 스케일링을 위한 제 1 AI 모델(963)에 입력시켜 제 2 이미지(964)를 확인할 수 있다. 도 9e 및 9f에서는, 업 스케일링을 위한 제 2 인공 지능 모델(968)이 트레이닝될 수 있으며, 제 1 AI 모델(963)의 파라미터는 고정된 값을 가지도록 설정될 수 있다. 트레이너는, 952 동작에서, 비트레이트와 연관된 제 1 정보에 기반하여, 제 2 이미지(964)를 인코더(965)를 이용하여 인코딩할 수 있다. 트레이너는, 953 동작에서, 디코더(966)를 이용하여 인코딩된 제 2 이미지를 디코딩하여 제 3 이미지(967)를 확인할 수 있다. 예를 들어, 인코딩 및/또는 디코딩은, 고정된 QP(quantization parameter) 값을 이용할 수 있다. 트레이너는, 954 동작에서, 제 3 이미지(967) 및 비트레이트와 연관된 제 1 정보(962)를 업 스케일링을 위한 제 2 AI 모델(968)에 입력시켜 제 4 이미지(969)를 확인할 수 있다. 트레이너는, 955 동작에서, 비트레이트와 연관된 제 1 정보(962)에 기반하여 제 1 이미지(961)를 인핸싱(971)한 제 5 이미지(972)를 확인할 수 있다. 트레이너는, 956 동작에서, 제 1 이미지(961) 및 제 4 이미지(969) 사이의 유사도에 기반한 제 1 손실(Loss1: Up-similarity), 및 제 4 이미지(969) 및 제 5 이미지(972) 사이의 유사도에 기반한 제 2 손실(Loss2: Enhanced-image-Similarity)을 확인할 수 있다. 트레이너는, 957 동작에서, 제 1 손실(Loss1) 및 제 2 손실(Loss2)에 기반하여 제 2 AI 모델(968)을 트레이닝할 수 있다. 예를 들어, 전체 손실(Total Loss)은 전술한 수학식 3과 같이 표현될 수 있으며, β는 1- α일 수도 있다. α는 BPP에 기반하여 설정될 수도 있으나 제한은 없다. 트레이너는, 전체 손실을 최소화하도록 제 2 AI 모델(968)을 트레이닝할 수 있다. 예를 들어, 트레이너는, 도 9c 및 9d에 기반하여 설정된 트레이닝 및/또는 도 9e 및 9f에 기반하여 설정된 트레이닝을 수행함으로써, 다운 스케일링을 위한 AI 모델 및/또는 업 스케일링을 위한 AI 모델이 트레이닝될 수 있다. 인핸싱(971)을 위한 툴은 도 10을 참조하여 설명하도록 한다. 상대적으로 높은 비트레이트 범위에서 원본 비디오 프레임과 유사해지는 것을 목표로 트레이닝이 수행될 수 있으며, 상대적으로 낮은 비트레이트 범위에서는 코덱 손실이 이미 높기 때문에 코덱 손실을 향상하기 위한 트레이닝이 수행될 수 있다. 한편, 도 9c 및 9d의 트레이닝을 위하여서는 손실 함수를 거리 기반 메트릭인 L1L2, L1, 또는 L2를 이용하고, 도 9e 및 9f의 트레이닝을 위하여서는 손실 함수를 SSIM, 또는 GL1의 유사도 측정 방식을 이용할 수 있으나, 이는 예시적인 것으로 제한은 없다.
도 10은 일 실시예에 따른 이미지 인핸싱을 설명하기 위한 도면이다.
도 10을 참조하면, 일 실시예에 따라서, 트레이너는, 이미지(1001)를, 가우시안 필터(1002)를 이용하여 스무딩(smooting)할 수 있다. 가우시안 필터(1002)는, 이미지(1001)를 스무딩할 수 있으며, 이에 따라 스무딩된 이미지(1003)가 제공될 수 있다. 인핸싱 툴(enhancing tool)(1004)는, 스무딩된 이미지(1003) 및 이미지(1001)를 이용하여, 인핸싱된 이미지(1005)를 제공할 수 있다. 예를 들어, 인핸싱된 이미지(1005)는, 여기에서, 인핸싱된 이미지(1005)는, 수학식 4와 같이 표현될 수 있다.
Figure PCTKR2023019076-appb-img-000004
수학식 4에서의 k는 [0.0, 10.0] 사이의 값일 수 있으며, 스코어(예를 들어, VMAF)이 최댓값을 가지도록 k가 설정될 수도 있다. 한편, 상술한 인핸싱 방식은 단순히 예시적인 것으로, 인핸싱 방식에는 제한이 없음을 당업자는 이해할 것이다. 상술한 바에 따라서, 인핸싱된 이미지(1005)가 제공될 수 있으며, 도 9f에서 설명된 바와 같이, 인핸싱된 이미지(제 5 이미지(972))가 트레이닝에서 이용될 수 있다. 인핸싱된 이미지가 트레이닝에 이용됨에 따라, 보다 원본 이미지에 가까운 출력을 제공할 수 있는 AI 모델이 제공될 수 있다.
도 11a는, 일 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 11a의 실시예는, 도 11b를 참조하여 설명하도록 한다.
도 11b는, 일 실시예에 따른 통신 환경을 설명하기 위한 도면이다.
도 11a 및 도 11b를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, 1101 동작에서, 적어도 하나의 파라미터를 확인할 수 있다. 전자 장치(101)는, 1103 동작에서, 적어도 하나의 파라미터에 기반하여 통신 환경을 예측할 수 있다. 전자 장치(101)는, 1105 동작에서, 예측 결과에 기반하여 비트레이트, 해상도, 및/또는 프레임레이트를 확인할 수 있다. 예를 들어, 전자 장치(101)는, RTCP를 기반으로 통신 환경을 예측할 수 있으며, 통신 환경이 상대적으로 양호하면 상대적으로 높은 비트레이트를 설정할 수 있으며, 통신 환경이 상대적으로 불량하면 상대적으로 낮은 비트레이트를 설정할 수 있다. 비트레이트가 실시간으로(또는, 준 실시간으로) 설정될 수 있으며, 이에 대응하는 프레임레이트 및/또는 해상도 또한 실시간으로(또는, 준 실시간으로) 설정될 수 있다.
예를 들어, 전자 장치(101)는, 네트워크에서 허용하는 대역폭(bandwidth)을 예측하고, 그 허용 수치 내에서 비트레이트를 결정하고 패킷을 전송할 것이 요구될 수 있다. 예를 들어, 전자 장치(101)는, RTCP에 기반하여 피드백받는 파라미터에 기반하여 대역폭을 예측할 수 있다. 하나의 예에서, 통신 환경은, 도 11b에서와 같이 3가지 상태들(1123,1124,1125)로 분류될 수 있다. 제 1 상태(1123)는, 예를 들어 "unloaded 상태"로 명명될 수 있으며, 제 1 상태(1123)에서는 딜레이(delay), 패킷 손실(packet loss) 및/또는 패킷 드롭(drop)이 발생하지 않을 수 있다. 제 2 상태(1124)는, 예를 들어 "loaded 상태"로 명명될 수 있으며, 제 2 상태(1124)에서는, 로드가 네트워크에서 허용하는 대역폭에 근접하거나 또는 임계치 이내만큼 넘어설 수 있다. 제 2 상태(1124)에서는, 예를 들어 딜레이의 fluctuation이 발생하거나, 또는 상대적으로 큰 값의 딜레이가 발생할 수 있다. 예를 들어, 상대적으로 큰 값의 딜레이가 확인되거나, 딜레이의 증감의 반복이 확인되거나, 및/또는 상대적으로 낮은 수준의 패킷 손실이 확인되는 경우, 통신 환경이 제 2 상태(1124)로서 확인될 수 있으나 제한은 없다. 제 3 상태(1125)는, 예를 들어 "congested 상태"라 명명될 수 있으며, 제 3 상태(1125)에서는, 패킷 드롭이 상대적으로 다수 발생할 수 있다. 예를 들어, 네트워크의 엔티티에서 병목(bottleneck)이 발생할 수 있으며, 이에 따라 로드가 허용하는 대역폭을 넘는 경우에는 지속적인 딜레이가 발생하거나, 또는 상대적으로 큰 패킷 손실이 발생할 수 있다. 패킷 손실율(loss rate)는, RTCP의 RR 내의 lost fraction에 기반하여 확인될 수도 있다. 순간 RTT(1121) 및 스무딩된 RTT(1122)는, 예를 들어 제 1 상태(1123)에서 상대적으로 작은 값을 가지며, 변화량 또한 상대적으로 작을 수 있다. 순간 RTT(1121) 및 스무딩된 RTT(1122)는, 예를 들어 제 2 상태(1124)에서 제 1 상태(1123)에 비하여 상대적으로 큰 값을 가질 수 있다. 순간 RTT(1121) 및 스무딩된 RTT(1122)는, 예를 들어 제 3 상태(1125)에서, 타임아웃이 없는 경우라면 지속적으로 증가할 수 있다. Congestion이 해소된 상태(1126)에서는, 순간 RTT(1121) 및 스무딩된 RTT(1122)가 감소할 수 있다. 표 1은, 파라미터 별 통신 환경의 상태 구분의 예시이다. 한편, 표 1의 예시는, 예를 들어 네트워크 별(예를 들어, 4G, 5G, WIFI 별)로 상이하게 설정될 수도 있으나, 제한은 없다.
제 1 상태(1123) 제 2 상태(1124) 제 3 상태(1125)
One way delay(OWD) < prevOWD X 1.2 > = prevOWD X 1.2 > = prevOWD X 1.2
Perceived bitrate Sending bitrate와 동일 Sending bitrate보다 작음 Sending bitrate보다 작음
Packet loss rate 손실이 확인되지 않음 < = 5%, 또는임계 기간 이하의 손실 발생 > 5%, 또는 임계 기간 초과의 손실 발생
표 1에서와 같이, 현재 시점에서 측정된 one way delay가, 이전 one way delay(prevOWD)보다 1.2배 미만인 경우에는 제 1 상태(1123)로 분류될 수 있으며, 1.2 배 이상인 경우에는 제 2 상태(1124) 또는 제 3 상태(1125)로 분류될 수 있다. One way dealy는, 예를 들어 RTT에 기반하여 예측될 수 있다. 상대적으로 통신 환경이 불량한 경우에는 one way delay가 증가될 수 있다. RTT는, RTCP SR 및/또는 RR의 정보에 기반하여 계산될 수 있다. 한편, prevOWD 대비 1.2배 미만인지 여부는 단순히 예시적인 것으로 그 수치에는 제한이 없으며, 또는 딜레이의 절댓값(예를 들어, 50ms) 미만인지 여부에 따라 제 1 상태(1123)인지 여부가 결정될 수도 있다.한편, 통신 환경이 상대적으로 양호한 경우에는, sending bits의 총량과 receiving bits의 총량이 동일할 수 있다. 하지만, 통신 환경이 상대적으로 불량한 경우에는, receiving bits의 총량이 sending bits의 총량보다 낮을 수 있다. 표 1에서와 같이, perceived bitrate가 sending bitrate와 동일한 경우에는 제 1 상태(1132)로 분류될 수 있다. perceived bitrate가 sending bitrate와 작은 경우에는 제 2 상태(1124) 또는 제 3 상태(1125)로 분류될 수 있다. Perceived bitrate는, 상대 측에 도달되는 실제 비트레이트를 의미할 수 있으며, 대역폭이 제한되는 경우에는 perceived bitrate는 제한된 대역폭 값을 가질 가능성이 높을 수 있다. 표 3에서와 같이, 패킷 손실이 없는 경우에는 제 1 상태(1132)로 분류될 수 있다. 만약, 패킷 손실율이 임계 비율(예를 들어, 5%) 이하이거나, 또는 패킷 손실이 지정된 기간의 임계 기간(예를 들어, 3주기) 이하인 경우에는, 제 2 상태(1124)로 분류될 수 있다. 예를 들어, 패킷 손실율이 임계 비율(예를 들어, 5%) 초과이거나, 또는 패킷 손실이 지정된 기간의 임계 기간(예를 들어, 3주기) 초과인 경우에는, 제 3 상태(1125)로 분류될 수 있다. 패킷 손실율은, RTCP RR의 lost fraction 정보에 기반하여 계산될 수도 있다.
도 12a는, 일 실시예에 따른 전자 장치에 의한 이미지 송신을 설명하기 위한 도면이다.
도 12a를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, AI 스케일링 매니저(1203)를 실행할 수 있다. AI 스케일링 매니저(1203)는, 다운 스케일링을 위한 AI 모델(1205)의 입력값 중 일부인 비트레이트와 연관된 정보(예를 들어, BPP)(또는, 메타 정보라고 명명될 수도 있음)를 제공할 수 있다. 네트워크 예측 모듈(1201)은, 예를 들어 도 11a 및 11b를 참조하여 설명한 바와 같이, 통신 환경을 제공할 수 있거나, 또는 통신 환경에 대응하는 비트레이트를 제공할 수 있다. AI 스케일링 매니저(1203)는, 네트워크 예측 모듈(1201)로부터 제공된 통신 환경에 대응하는 비트레이트를 확인하거나, 또는 네트워크 예측 모듈(1201)로부터 제공된 비트레이트를 확인할 수 있다. AI 스케일링 매니저(1203)는, 확인된 비트레이트에 기반하여, 비트레이트와 연관된 정보(예를 들어, BPP)를 확인할 수 있다. AI 스케일링 매니저(1203)는, 예를 들어, 카메라 모듈(180)의 프레임레이트 및/또는 해상도를 포함하는 카메라 파라미터를 제공받을 수도 있다. AI 스케일링 매니저(1203)는, 예를 들어 비트레이트, 프레임레이트, 해상도에 기반하여 BPP를, 비트레이트와 연관된 정보로서 결정할 수도 있으나, 이는 예시적인 것으로 비트레이트에 의하여 영향을 받는 정보라면 비트레이트와 연관된 정보(또는, 메타 정보)로 이용될 수 있음을 당업자는 이해할 수 있을 것이다. 다운 스케일링을 위한 AI 모델(1205)은, 카메라 모듈(180)로부터 제공되는 이미지(예를 들어, 고해상도 이미지) 및 AI 스케일링 매니저(1203)로부터 제공되는 비트레이트와 연관된 정보(예를 들어, BPP)를 입력값으로서 수신하여, 저해상도 이미지를 출력할 수 있다. 인코더(1207)는, 다운 스케일링을 위한 AI 모델(1205)로부터 제공되는 저해상도 이미지를 인코딩하여, 인코딩된 이미지(또는, 비트스트림)를 제공할 수 있으며, 이는 통신 모듈(190)을 통하여 송신될 수 있다. 인코더(1207)는, 예를 들어 비트스트림을 포함하는 코덱 파라미터를 이용하여, 인코딩을 수행할 수도 있다. 예를 들어, 비트레이트는, 이전에 사용된 비트레이트로 설정될 수 있다.
일 실시예에 따라서, AI 스케일링 매니저(1203)는, 하나의 예에서는, 네트워크 예측 모듈(1201)로부터 제공된(또는, 제공된 정보에 기반하여 확인된) 비트레이트에 기반하여, AI 모델(1205)로 입력되는 BPP를 확인할 수 있으며, 이 경우 BPP는 수학식 1에서 설명된 바와 같이, 현재 비트레이트를 프레임레이트 및 해상도의 곱으로 나눈 값으로 결정될 수 있다. 한편, 다른 예에서, AI 스케일링 매니저(1203)는, 지정된 개수(예를 들어, K라 표기하고, K는 1이상의 자연수일 수 있음)의 인코딩된 이미지의 크기의 평균을 해상도로 나눈 값을, BPP로서 확인할 수도 있으며, 이는 수학식 5와 같이 표기될 수 있다.
Figure PCTKR2023019076-appb-img-000005
수학식 5에서의 "Average encoded size"는 상술한 지정된 개수 K의 인코딩된 이미지의 크기의 평균일 수 있으며, "resolution"은 해상도일 수 있다.
AI 스케일링 매니저(1203)는, 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP) 또는 인코딩된 이미지의 크기의 평균과 연관된 BPP(예를 들어, 수학식 5에 따른 BPP) 중 어느 하나를 선택하여, AI 모델(1205)로 제공할 수 있다. 하나의 예에서, AI 스케일링 매니저(1203)는, 누적된 인코딩된 이미지의 개수가 지정된 개수(K) 미만인 경우에는, 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP)를 선택할 수 있다. 하나의 예에서, AI 스케일링 매니저(1203)는, 네트워크 예측 모듈(1201)에 기반하여 확인되는 비트레이트가 급변하는 경우(또는, 통신 환경이 급변하는 경우, 또는 패킷 손실(packet loss)가 큰 경우), 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP)를 선택할 수 있다. 한편, 상술한 BPP의 선택 조건들은 예시적인 것으로 제한이 없다.
도 12b는, 일 실시예에 따른 전자 장치에 의한 이미지 수신을 설명하기 위한 도면이다.
도 12b를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, 비트스트림 수신 시, 수신된 비트스트림을 디코더(1217)를 이용하여 디코딩할 수 있다. 전자 장치(101)는, 비트스트림 수신 시, AI 스케일링 매니저(1213)를 실행할 수 있다. AI 스케일링 매니저(1213)는, 업 스케일링을 위한 AI 모델(1215)의 입력값 중 일부인 비트레이트와 연관된 정보(예를 들어, BPP)(또는, 메타 정보라고 명명될 수도 있음)를 제공할 수 있다. 비트레이트는, 인코딩 과정에서 이용되는 정보로서, 기존에는 수신 측에서는 이용되지 않았다. 하지만, 일 실시예에 따른 전자 장치(101)는, 비트레이트와 연관된 정보를, AI 모델(1215)의 입력값 중 일부로서 이용할 수 있다. 이에 따라, 비트스트림을 수신하는 경우에도, 전자 장치(101)는 비트레이트와 연관된 정보(예를 들어, BPP)를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 네트워크 예측 모듈(1211)로부터의 정보에 기반하여 비트레이트를 확인할 수 있다. AI 스케일링 매니저(1213)는, 비트레이트와, 확인된 프레임레이트 및 해상도를 이용하여 BPP를 확인할 수 있다. AI 스케일링 매니저(1213)는, 확인된 BPP를 업 스케일링을 위한 AI 모델(1215)로 제공할 수 있다. AI 모델(1215)은, AI 스케일링 매니저(1213)로부터 제공된 BPP 및 디코더(1217)로부터 제공된 저해상도 이미지를 입력값으로서 수신하고, 업 스케일링된 고해상도 이미지를 출력할 수 있다. 렌더러(1219)는, 고해상도 이미지를 렌더링할 수 있다. 예를 들어, 비트레이트는, 이전에 사용된 비트레이트로 설정될 수 있다. 예를 들어, 비트레이트는, 네트워크 예측 모듈(1211)에 의하여 측정된 수신 측에서의 대역폭에 기반하여 설정될 수 있다. 예를 들어, 비트레이트는, 초기에 인코더(1207)에 의하여 이용된 비트레이트가 공유되어 이용될 수도 있다.
일 실시예에 따라서, 수신 측의 AI 스케일링 매니저(1213)는, 복수의 방식 중 어느 하나의 방식으로 비트스트림과 연관된 정보(예를 들어, BPP)를 확인할 수 있다. 예를 들어, AI 스케일링 매니저(1213)는, 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP) 또는 인코딩된 이미지의 크기의 평균과 연관된 BPP(예를 들어, 수학식 5에 따른 BPP) 중 어느 하나를 선택하여, AI 모델(1215)로 제공할 수 있다. 하나의 예에서, AI 스케일링 매니저(1213)는, 누적된 인코딩된 이미지의 개수가 지정된 개수(K) 미만인 경우에는, 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP)를 선택할 수 있다. 디코더(1217)는 AI 스케일링 매니저(1213)로 수신된 인코딩된 프레임의 크기에 대한 정보를 제공할 수 있으며, 이에 따라 AI 스케일링 매니저(1213)는, 인코딩된 프레임의 크기에 대한 정보에 기반한 BPP(예를 들어, 수학식 5에 따른 BPP)를 확인할 수도 있다. 하나의 예에서, AI 스케일링 매니저(1213)는, 네트워크 예측 모듈(1201)에 기반하여 확인되는 비트레이트가 급변하는 경우(또는, 통신 환경이 급변하는 경우), 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP)를 선택할 수 있다. 하나의 예에서, AI 스케일링 매니저(1213)는, 패킷 손실이 지정된 임계 손실값을 초과하는 경우, 통신 환경과 연관된 BPP(예를 들어, 수학식 1에 따른 BPP)를 선택할 수 있다. 네트워크 예측 모듈(1211)은, 패킷 손실을 확인하여 이를 AI 스케일링 매니저(1213)로 제공할 수도 있으며, 이에 따라 AI 스케일링 매니저(1213)는 패킷 손실이 지정된 임계 손실값을 초과하는지 여부를 확인할 수 있다. 한편, 상술한 BPP의 선택 조건들은 예시적인 것으로 제한이 없다.
도 13a는, 일 실시예에 따른 전자 장치에 의한 이미지 송신을 설명하기 위한 도면이다.
도 13a를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, AI 스케일링 매니저(1301) 및 다운 스케일링을 위한 AI 모델(1302)을 실행할 수 있다. 카메라 모듈(180)에 의하여 촬영된 상대적으로 고해상도인 이미지는, AI 스케일링 매니저(1301)를 통하여 AI 모델(1302)로 제공될 수 있거나, 또는 카메라 모듈(180)로부터 AI 모델(1302)로 직접 제공될 수도 있다. AI 스케일링 매니저(1301)는, 지정된 개수(예를 들어, K라 표기하고, K는 1이상의 자연수일 수 있음)의 인코딩된 이미지의 크기의 평균값을 수신할 수 있다. AI 스케일링 매니저(1301)는, 프레임레이트 및 해상도를 포함하는 코덱 파라미터를 수신할 수 있다. AI 스케일링 매니저(1301)는, 예를 들어 평균값을 해상도로 나눈 값의 BPP(예를 들어, 수학식 5에서와 같은 BPP)를 확인할 수 있다. AI 스케일링 매니저(1301)는, 이미지 및 BPP를 AI 모델(1302)로 제공할 수 있다. AI 모델(1302)은, 이미지 및 BPP를 입력값으로서 수신하여, 저해상도 이미지를 출력할 수 있다. 한편, 도 13a에서의 실시예에서는, AI 스케일링 매니저(1301)가 평균값을 해상도로 나눈 값의 BPP를 이용하기로 선택한 경우가 설명되었지만 이는 예시적인 것이다. 예를 들어, AI 스케일링 매니저(1301)는, 기 인코딩된 이미지의 개수가 지정된 개수(K) 이상임에 기반하여 평균값을 해상도로 나눈 값의 BPP를 이용하기로 선택할 수 있으나, 만약 기 인코딩된 이미지의 개수가 지정된 개수(K) 미만인 경우에는 수학식 1과 같은 비트레이트를 프레임레이트 및 해상도의 곱으로 나눈 값(예를 들어, 수학식 1에서와 같은 BPP)을 이용하도록 설정될 수도 있다. 또는, AI 스케일링 매니저(1301)는, 비트레이트가 급변되지 않음에 기반하여 평균값을 해상도로 나눈 값의 BPP를 이용하기로 선택할 수 있으나, 만약 비트레이트가 급변하는 경우에는 수학식 1과 같은 비트레이트를 프레임레이트 및 해상도의 곱으로 나눈 값(예를 들어, 수학식 1에서와 같은 BPP)을 이용하도록 설정될 수도 있다.
도 13b는, 일 실시예에 따른 전자 장치에 의한 이미지 수신을 설명하기 위한 도면이다.
도 13b를 참조하면, 일 실시예에 따라서, 전자 장치(101)(예를 들어, 프로세서(120))는, AI 스케일링 매니저(1321) 및 업 스케일링을 위한 AI 모델(1323)을 실행할 수 있다. AI 모델(1323)은, 상대적으로 저해상도인 이미지를 수신할 수 있다. 예를 들어, AI 모델(1323)은, 디코더에 의하여 디코딩된 상대적으로 저해상도인 이미지를 수신할 수 있다. AI 스케일링 매니저(1321)는, 지정된 개수(예를 들어, K라 표기하고, K는 1이상의 자연수일 수 있음)의 인코딩된 이미지의 크기의 평균값을 수신할 수 있다. 예를 들어, 디코더는, 수신된 인코딩된 이미지(또는, 비트스트림)의 크기를 확인하여 AI 스케일링 매니저(1321)로 제공하거나, 또는 평균값을 확인하여 AI 스케일링 매니저(1321)로 제공할 수도 있다. 만약, 디코더로부터 수신된 인코딩된 이미지(또는, 비트스트림)의 크기가 수신되는 경우에는, AI 스케일링 매니저(1321)가 평균값을 확인하도록 설정될 수도 있음을 당업자는 이해할 것이다. AI 스케일링 매니저(1321)는, 프레임레이트 및 해상도를 포함하는 코덱 파라미터를 수신할 수 있다. AI 스케일링 매니저(1321)는, 예측된 비트레이트를 수신할 수 있다.
일 실시예에 따라서, AI 스케일링 매니저(1321)는, 패킷 손실율이 임계 손실율(Th)을 초과하는 지 여부를 확인할 수 있다. 만약, 패킷 손실율이 상대적으로 큰 경우에는, 송신 측에서 이용된 지정된 개수(K)에 대한 평균값과, 수신측에서 이용된 지정된 개수(K)에 대한 평균값이 차이가 발생할 가능성이 있다. 이에 따라, 패킷 손실율이 임계 손실율(Th)을 초과하는 경우(1322-Yes), AI 스케일링 매니저(1321)는 비트레이트를 프레임레이트 및 해상도의 곱으로 나눈 값(예를 들어, 수학식 1에 따른 BPP)을 AI 모델(1323)의 입력값의 일부로서 제공할 수 있다. 만약, 패킷 손실율이 임계 손실율(Th) 이하인 경우(1322-No), AI 스케일링 매니저(1321)는 평균값을 해상도로 나눈값(예를 들어 수학식 5에 따른 BPP)을 AI 모델(1323)의 입력값의 일부로서 제공할 수 있다. 이에 따라, AI 모델(1323)은, 이미지 및 BPP를 입력값으로서 수신할 수 있으며, 이에 대응하는 고해상도 이미지를 제공할 수 있다.
일 실시예에 따라서, 전자 장치(101)는, 메모리(130), 카메라 모듈(180), 통신 모듈(190), 및 상기 메모리(130), 상기 카메라 모듈(180) 및 상기 통신 모듈(190)에 동작적으로 연결된 적어도 하나의 프로세서(120)를 포함할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 상기 제 1 비트레이트를, 상기 제 1 이미지와 연관된 제 1 프레임레이트 및 상기 제 1 이미지와 연관된 해상도의 곱으로 나눈 제 1 BPP(bit per pixel)을 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 적어도 하나의 제 1 조건이 만족됨에 기반하여, 상기 제 1 BPP를 상기 제 1 비트레이트와 연관된 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 상기 적어도 하나의 제 1 조건과 상이한 적어도 하나의 제 2 조건이 만족되거나 또는 상기 적어도 하나의 제 1 조건이 만족되지 않음에 기반하여, 지정된 개수의 기 인코딩된 이미지의 크기의 평균을 상기 해상도로 나눈 제 2 BPP를 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 2 이미지를 송신하는 동작의 적어도 일부로, 상기 제 2 이미지를 인코딩하여 비트스트림을 생성하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 2 이미지를 송신하는 동작의 적어도 일부로, 상기 비트스트림을 상기 콜의 연결을 통하여 송신하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 단방향 딜레이(one way delay), 인지된 비트레이트(perceived bitrate), 패킷 손실율(packet loss rate), 또는 대역폭(bandwidth) 중 적어도 하나에 기반하여, 상기 통신 환경을 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 다운 스케일링을 위한 인공지능 모델은, 상기 제 1 이미지의 피처(feature)를 추출하는 제 1 부분, 상기 제 1 정보의 피처를 추출하는 제 2 부분, 상기 제 1 이미지의 피처 및 상기 제 1 정보의 피처를 교차 곱셈하는 곱셈기, 상기 곱셈기의 교차 곱셈의 결과의 인핸싱 및 레지듀얼 이미지 구성을 위한 제 3 부분, 상기 제 1 이미지를 다운 스케일링하기 위한 제 4 부분 및 상기 제 3 부분의 출력 결과 및 상기 제 4 부분의 출력 결과를 합산하는 합산기를 포함할 수 있다. 상기 합산기의 합산 결과가 상기 제 2 이미지로서 제공될 수 있다.
일 실시예에 따라서, 상기 다운 스케일링을 위한 인공지능 모델은, ResNet일 수 있다. 상기 제 1 부분은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 상기 제 2 부분은 DenseNet일 수 있다. 상기 제 3 부분은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 상기 제 4 부분은 Bicubic 다운 스케일러일 수 있다.
일 실시예에 따라서, 전자 장치(101)의 동작 방법은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 네트워크와 콜의 연결을 수립하는 동작을 포함할 수 있다. 상기 전자 장치(101)의 동작 방법은, 상기 전자 장치(101)의 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지를 확인하는 동작을 포함할 수 있다. 상기 전자 장치(101)의 동작 방법은, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 전자 장치(101)의 동작 방법은, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 전자 장치(101)의 동작 방법은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하는 동작을 포함할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 실행 시에, 상기 전자 장치(101)로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 네트워크와 콜의 연결을 수립하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치(101)의 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하는 동작을 포함할 수 있다.
일 실시예에 따라서, 전자 장치(101)는, 메모리(130), 디스플레이 모듈, 통신 모듈(190), 및 상기 메모리(130), 상기 디스플레이 모듈 및 상기 통신 모듈(190)에 동작적으로 연결된 적어도 하나의 프로세서(120)를 포함할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 디스플레이 모듈을 제어하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 상기 제 1 비트레이트를, 상기 제 1 이미지와 연관된 제 1 프레임레이트 및 상기 제 1 이미지와 연관된 해상도의 곱으로 나눈 제 1 BPP(bit per pixel)을 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 적어도 하나의 제 1 조건이 만족됨에 기반하여, 상기 제 1 BPP를 상기 제 1 비트레이트와 연관된 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로, 상기 적어도 하나의 제 1 조건과 상이한 적어도 하나의 제 2 조건이 만족되거나 또는 상기 적어도 하나의 제 1 조건이 만족되지 않음에 기반하여, 지정된 개수의 기 인코딩된 이미지의 크기의 평균을 상기 해상도로 나눈 제 2 BPP를 상기 제 1 정보로서 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지를 수신하는 동작의 적어도 일부로, 상기 콜의 연결을 통하여 비트스트림을 수신하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지를 수신하는 동작의 적어도 일부로, 상기 비트스트림을 디코딩하여 상기 제 1 이미지를 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 단방향 딜레이(one way delay), 인지된 비트레이트(perceived bitrate), 패킷 손실율(packet loss rate), 또는 대역폭(bandwidth) 중 적어도 하나에 기반하여, 상기 통신 환경을 확인하도록 야기할 수 있다.
일 실시예에 따라서, 상기 업 스케일링을 위한 인공지능 모델은, 상기 제 1 이미지의 피처(feature)를 추출하는 제 1 부분, 상기 제 1 정보의 피처를 추출하는 제 2 부분, 상기 제 1 이미지의 피처 및 상기 제 1 정보의 피처를 교차 곱셈하는 곱셈기, 상기 곱셈기의 교차 곱셈의 결과의 인핸싱 및 레지듀얼 이미지 구성을 위한 제 3 부분, 상기 제 1 이미지를 업 스케일링하기 위한 제 4 부분 및 상기 제 3 부분의 출력 결과 및 상기 제 4 부분의 출력 결과를 합산하는 합산기를 포함할 수 있다. 상기 합산기의 합산 결과가 상기 제 2 이미지로서 제공될 수 있다.
일 실시예에 따라서, 상기 다운 스케일링을 위한 인공지능 모델은, ResNet일 수 있다. 상기 제 1 부분은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 상기 제 2 부분은 DenseNet일 수 있다. 상기 제 3 부분은 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 상기 제 4 부분은 Bicubic 다운 스케일러일 수 있다.
일 실시예에 따라서, 전자 장치(101)의 동작 방법은, 상기 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하는 동작을 포함할 수 있다. 전자 장치(101)의 동작 방법은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하는 동작을 포함할 수 있다. 전자 장치(101)의 동작 방법은, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 전자 장치(101)의 동작 방법은, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 전자 장치(101)의 동작 방법은, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 전자 장치(101)의 디스플레이 모듈을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 실행 시에, 상기 전자 장치(101)로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 2 이미지의 적어도 일부를 표시하도록 상기 전자 장치(101)의 디스플레이 모듈을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라서, 다운 스케일링을 위한 제 1 AI 모델 및 업 스케일링을 위한 제 2 AI 모델의 트레이닝 방법은, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 2 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하는 동작을 포함할 수 있다. 상기 트레이닝 방법은, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하는 동작을 포함할 수 있다.
일 실시예에 따라서, 상기 비트레이트와 연관된 제 1 정보는, 상기 비트레이트를, 상기 제 1 이미지와 연관된 제 1 프레임레이트 및 상기 제 1 이미지와 연관된 해상도의 곱으로 나눈 BPP(bit per pixel)일 수 있다.
일 실시예에 따라서, 상기 트레이닝 방법은, 상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 5 이미지를 확인하는 동작을 더 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 5 이미지를 인코딩하고, 상기 인코딩의 결과를 디코딩하여 제 6 이미지를 확인하는 동작을 더 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 6 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 7 이미지를 확인하는 동작을 더 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 1 이미지를 인핸싱한 제 8 이미지를 확인하는 동작을 더 포함할 수 있다. 상기 트레이닝 방법은, 상기 제 7 이미지 및 상기 제 8 이미지에 기반하여 전체 손실을 확인하는 동작을 더 포함할 수 있다. 상기 트레이닝 방법은, 상기 전체 손실에 기반하여, 상기 제 2 AI 모델을 트레이닝하는 동작을 더 포함할 수 있다.
일 실시예에 따라서, 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실은, 상기 제 2 이미지 및 상기 제 4 이미지를 인핸싱한 이미지 사이의 손실일 수 있다.
일 실시예에 따라서, 다운 스케일링을 위한 제 1 AI 모델 및 업 스케일링을 위한 제 2 AI 모델을 트레이닝하기 위한 전자 장치(101)는, 메모리(130) 및 적어도 하나의 프로세서(120)를 포함한다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 2 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 4 이미지를 인핸싱하여 제 5 이미지를 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 5 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하도록 야기할 수 있다. 상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하도록 야기할 수 있다.
일 실시예에 따라서, 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 실행 시에, 상기 전자 장치(101)로 하여금 적어도 하나의 동작을 수행하도록 야기할 수 있다. 상기 적어도 하나의 동작은, 고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지 및 상기 제 1 정보를 다운 스케일링을 위한 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 2 이미지 및 상기 제 1 정보를 업 스케일링을 위한 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 4 이미지를 인핸싱하여 제 5 이미지를 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 5 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하는 동작을 포함할 수 있다. 상기 적어도 하나의 동작은, 상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하는 동작을 포함할 수 있다.
본 문서에 개시된 일 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 일 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 일 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 일 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치(101)에 있어서,
    메모리(130);
    카메라 모듈(180);
    통신 모듈(190); 및
    상기 메모리(130), 상기 카메라 모듈(180) 및 상기 통신 모듈(190)에 동작적으로 연결된 적어도 하나의 프로세서(120)를 포함하고,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금:
    상기 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하고,
    상기 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지를 확인하고,
    상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하고,
    고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하고,
    상기 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하도록 야기하는 전자 장치(101).
  2. 제 1 항에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로:
    상기 제 1 비트레이트를, 상기 제 1 이미지와 연관된 제 1 프레임레이트 및 상기 제 1 이미지와 연관된 해상도의 곱으로 나눈 제 1 BPP(bit per pixel)을 상기 제 1 정보로서 확인하도록 야기하는 전자 장치(101).
  3. 제 1 항 내지 제 2 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로:
    적어도 하나의 제 1 조건이 만족됨에 기반하여, 상기 제 1 BPP를 상기 제 1 비트레이트와 연관된 상기 제 1 정보로서 확인하도록 야기하는 전자 장치(101).
  4. 제 1 항 내지 제 3 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 1 이미지에 대응하는 상기 제 1 비트레이트와 연관된 상기 제 1 정보를 확인하는 동작의 적어도 일부로:
    상기 적어도 하나의 제 1 조건과 상이한 적어도 하나의 제 2 조건이 만족되거나 또는 상기 적어도 하나의 제 1 조건이 만족되지 않음에 기반하여, 지정된 개수의 기 인코딩된 이미지의 크기의 평균을 상기 해상도로 나눈 제 2 BPP를 상기 제 1 정보로서 확인하도록 야기하는 전자 장치(101).
  5. 제 1 항 내지 제 4 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금, 상기 제 2 이미지를 송신하는 동작의 적어도 일부로,
    상기 제 2 이미지를 인코딩하여 비트스트림을 생성하고,
    상기 비트스트림을 상기 콜의 연결을 통하여 송신하도록 야기하는 전자 장치(101).
  6. 제 1 항 내지 제 5 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금:
    단방향 딜레이(one way delay), 인지된 비트레이트(perceived bitrate), 패킷 손실율(packet loss rate), 또는 대역폭(bandwidth) 중 적어도 하나에 기반하여, 상기 통신 환경을 확인하도록 야기하는 전자 장치(101).
  7. 제 1 항 내지 제 6 항 중 어느 하나에 있어서,
    상기 다운 스케일링을 위한 인공지능 모델은,
    상기 제 1 이미지의 피처(feature)를 추출하는 제 1 부분, 상기 제 1 정보의 피처를 추출하는 제 2 부분, 상기 제 1 이미지의 피처 및 상기 제 1 정보의 피처를 교차 곱셈하는 곱셈기, 상기 곱셈기의 교차 곱셈의 결과의 인핸싱 및 레지듀얼 이미지 구성을 위한 제 3 부분, 상기 제 1 이미지를 다운 스케일링하기 위한 제 4 부분 및 상기 제 3 부분의 출력 결과 및 상기 제 4 부분의 출력 결과를 합산하는 합산기를 포함하고,
    상기 합산기의 합산 결과가 상기 제 2 이미지로서 제공되는 전자 장치(101).
  8. 제 1 항 내지 제 7 항 중 어느 하나에 있어서,
    상기 다운 스케일링을 위한 인공지능 모델은, ResNet이며,
    상기 제 1 부분은 적어도 하나의 컨볼루션 레이어를 포함하고,
    상기 제 2 부분은 DenseNet이며,
    상기 제 3 부분은 적어도 하나의 컨볼루션 레이어를 포함하고,
    상기 제 4 부분은 Bicubic 다운 스케일러인 전자 장치(101).
  9. 제 1 항 내지 제 8 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금,
    고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하고,
    상기 제 1 이미지 및 상기 제 1 정보를 다운 스케일링을 위한 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하고,
    상기 제 2 이미지 및 상기 제 1 정보를 업 스케일링을 위한 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하고,
    상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하고,
    상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하고,
    상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하도록 야기하는, 전자 장치(101).
  10. 제 1 항 내지 제 9 항 중 어느 하나에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금,
    상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 5 이미지를 확인하고,
    상기 제 5 이미지를 인코딩하고, 상기 인코딩의 결과를 디코딩하여 제 6 이미지를 확인하고,
    상기 제 6 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 7 이미지를 확인하고,
    상기 제 1 이미지를 인핸싱한 제 8 이미지를 확인하고,
    상기 제 7 이미지 및 상기 제 8 이미지에 기반하여 전체 손실을 확인하고,
    상기 전체 손실에 기반하여, 상기 제 2 AI 모델을 트레이닝하도록 야기하는, 전자 장치(101).
  11. 전자 장치(101)에 있어서,
    메모리(130);
    디스플레이 모듈;
    통신 모듈(190); 및
    상기 메모리(130), 상기 디스플레이 모듈 및 상기 통신 모듈(190)에 동작적으로 연결된 적어도 하나의 프로세서(120)를 포함하고,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금:
    상기 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하고,
    상기 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 제 1 이미지를 수신하고,
    상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하고,
    저해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 고해상도 이미지를 출력하도록 트레이닝된 업 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하고,
    상기 제 2 이미지의 적어도 일부를 표시하도록 상기 디스플레이 모듈을 제어하도록 야기하는 전자 장치(101).
  12. 제 11 항에 있어서,
    상기 메모리(130)는, 상기 적어도 하나의 프로세서(120)에 의하여 실행될 때, 상기 전자 장치(101)로 하여금:
    고해상도 이미지인 제 1 이미지, 및 비트레이트와 연관된 제 1 정보를 포함하는 트레이닝 데이터를 확인하고,
    상기 제 1 이미지 및 상기 제 1 정보를 다운 스케일링을 위한 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 2 이미지를 확인하고,
    상기 제 2 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 업 스케일링을 위한 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 3 이미지를 확인하고,
    상기 제 1 이미지를 다운 스케일링하여 제 4 이미지를 확인하고,
    상기 제 1 이미지 및 상기 제 3 이미지에 대응하는 제 1 손실 및 상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실에 기반하여 전체 손실을 확인하고,
    상기 전체 손실에 기반하여, 상기 제 1 AI 모델 및 상기 제 2 AI 모델의 적어도 일부를 트레이닝하도록 야기하는 전자 장치(101).
  13. 제 11 항 또는 제 12 항 중 어느 하나에 있어서,
    상기 제 1 이미지 및 상기 제 1 정보를 상기 제 1 AI 모델로 입력함에 기반하여, 상기 제 1 AI 모델로부터 출력되는 저해상도 이미지인 제 5 이미지를 확인하고,
    상기 제 5 이미지를 인코딩하고, 상기 인코딩의 결과를 디코딩하여 제 6 이미지를 확인하고,
    상기 제 6 이미지 및 상기 제 1 정보를 상기 제 2 AI 모델로 입력함에 기반하여, 상기 제 2 AI 모델로부터 출력되는 고해상도 이미지인 제 7 이미지를 확인하고,
    상기 제 1 이미지를 인핸싱한 제 8 이미지를 확인하고,
    상기 제 7 이미지 및 상기 제 8 이미지에 기반하여 전체 손실을 확인하고,
    상기 전체 손실에 기반하여, 상기 제 2 AI 모델을 트레이닝 하도록 야기하는 전자 장치(101).
  14. 제 11 항 내지 제 13 항에 있어서,
    상기 제 2 이미지 및 상기 제 4 이미지에 대응하는 제 2 손실은, 상기 제 2 이미지 및 상기 제 4 이미지를 인핸싱한 이미지 사이의 손실인 전자 장치(101).
  15. 컴퓨터로 독출 가능한 적어도 하나의 인스트럭션을 저장하는 컴퓨터로 독출 가능한 하나 이상의 저장 매체에 있어서, 상기 적어도 하나의 인스트럭션은 전자 장치(101)의 적어도 하나의 프로세서(120)에 의하여 실행 시에, 상기 전자 장치(101)로 하여금 동작들을 수행하도록 야기하고, 상기 동작들은:
    상기 전자 장치(101)의 통신 모듈(190)에 기반하여, 네트워크와 콜(call)의 연결(connection)을 수립하는 동작;
    상기 전자 장치(101)의 카메라 모듈(180)에 기반하여 촬영된 제 1 이미지를 확인하는 동작;
    상기 네트워크와 상기 전자 장치(101) 사이의 통신 환경에 기반하여, 상기 제 1 이미지에 대응하는 제 1 비트레이트와 연관된 제 1 정보를 확인하는 동작;
    고해상도 이미지 및 비트레이트와 연관된 정보를 입력 값으로서 수신하여 저해상도 이미지를 출력하도록 트레이닝된 다운 스케일링을 위한 인공지능 모델에, 상기 제 1 이미지 및 상기 제 1 정보를 입력시킴으로써, 상기 인공지능 모델로부터 출력되는 상기 제 1 이미지에 대응하는 제 2 이미지를 확인하는 동작; 및
    상기 통신 모듈(190)에 기반하여, 상기 콜의 연결을 통하여, 상기 제 2 이미지를 송신하는 동작을 포함하는 저장 매체.
PCT/KR2023/019076 2022-11-24 2023-11-24 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법 WO2024112145A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/518,787 US20240177268A1 (en) 2022-11-24 2023-11-24 Electronic device performing scaling using artificial intelligence model and method for operating the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0158847 2022-11-24
KR20220158847 2022-11-24
KR10-2022-0178075 2022-12-19
KR1020220178075A KR20240077359A (ko) 2022-11-24 2022-12-19 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/518,787 Continuation US20240177268A1 (en) 2022-11-24 2023-11-24 Electronic device performing scaling using artificial intelligence model and method for operating the same

Publications (1)

Publication Number Publication Date
WO2024112145A1 true WO2024112145A1 (ko) 2024-05-30

Family

ID=91196289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/019076 WO2024112145A1 (ko) 2022-11-24 2023-11-24 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법

Country Status (1)

Country Link
WO (1) WO2024112145A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110125823A (ko) * 2010-05-14 2011-11-22 엘지전자 주식회사 디스플레이 장치 및 그의 제어 방법
KR20170094745A (ko) * 2016-02-11 2017-08-21 삼성전자주식회사 영상 인코딩 방법 및 이를 지원하는 전자 장치
KR20210067788A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 시스템 및 그 제어 방법
KR102287942B1 (ko) * 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR20220036061A (ko) * 2020-09-15 2022-03-22 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110125823A (ko) * 2010-05-14 2011-11-22 엘지전자 주식회사 디스플레이 장치 및 그의 제어 방법
KR20170094745A (ko) * 2016-02-11 2017-08-21 삼성전자주식회사 영상 인코딩 방법 및 이를 지원하는 전자 장치
KR20210067788A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 시스템 및 그 제어 방법
KR102287942B1 (ko) * 2020-02-24 2021-08-09 삼성전자주식회사 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR20220036061A (ko) * 2020-09-15 2022-03-22 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템

Similar Documents

Publication Publication Date Title
WO2021086040A1 (en) Method for providing preview and electronic device for displaying preview
KR20190113944A (ko) 예측 모드 선택 방법, 비디오 인코딩 디바이스 및 저장 매체
WO2022039424A1 (ko) 흔들림을 보정하는 방법 및 그 전자 장치
WO2022005000A1 (en) Electronic device and method of operating the same
WO2024112145A1 (ko) 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법
KR101678690B1 (ko) 이미지 처리 방법 및 장치
WO2022186443A1 (ko) 전자 장치에서 이미지의 압축 품질에 기반한 이미지 보정 방법 및 장치
WO2022108201A1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
WO2022149812A1 (ko) 카메라 모듈을 포함하는 전자 장치 및 그 전자 장치의 동작 방법
WO2022005116A1 (ko) 무선 통신 시스템에서 데이터의 송수신을 제어하기 위한 방법 및 장치
WO2021096063A1 (ko) 스트리밍 데이터를 제공하는 전자 장치 및 그 작동 방법
WO2022203175A1 (ko) 전자 장치 및 최대 양자화 값 가감을 통한 인코딩 방법
WO2024043604A1 (ko) 신경망을 통해 이미지를 처리하는 방법 및 그 전자 장치
KR20240077359A (ko) 인공지능 모델을 이용한 스케일링을 수행하는 전자 장치 및 그 동작 방법
WO2023027288A1 (ko) 영상 통화를 수행하는 동안 복수의 이미지 스트림을 전송하는 전자 장치 및 전자 장치의 동작 방법
WO2022265209A1 (ko) Frc를 이용한 영상 통화를 수행하는 전자 장치 및 전자 장치의 동작 방법
US20240177268A1 (en) Electronic device performing scaling using artificial intelligence model and method for operating the same
WO2019112224A1 (ko) 전자 장치 및 전자 장치의 영상 데이터 전송 방법
WO2023055112A1 (ko) 전자 장치에서 이미지의 압축 품질 예측 방법 및 장치
WO2024076101A1 (ko) 인공지능 기반의 영상 처리 방법 및 이를 지원하는 전자 장치
WO2024101891A1 (ko) 전자 장치 및 전자 장치의 이미지 처리 방법
WO2023128206A1 (ko) 소스 장치, 싱크 장치 및 그 동작 방법들
WO2022220394A1 (ko) 전송 데이터 손실 복구 방법 및 그 전자 장치
WO2023033396A1 (ko) 연속된 촬영 입력을 처리하는 전자 장치 및 그의 동작 방법
US20240179399A1 (en) Electronic device for cropping subject within image frames and method thereof