WO2023018179A1 - 어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법 - Google Patents

어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법 Download PDF

Info

Publication number
WO2023018179A1
WO2023018179A1 PCT/KR2022/011855 KR2022011855W WO2023018179A1 WO 2023018179 A1 WO2023018179 A1 WO 2023018179A1 KR 2022011855 W KR2022011855 W KR 2022011855W WO 2023018179 A1 WO2023018179 A1 WO 2023018179A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
neural network
sub
upscaling
color component
Prior art date
Application number
PCT/KR2022/011855
Other languages
English (en)
French (fr)
Inventor
이종석
박필규
최광표
김재환
박영오
이채은
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202280040979.8A priority Critical patent/CN117480507A/zh
Priority to EP22856176.7A priority patent/EP4322057A1/en
Priority to US17/893,754 priority patent/US20240054602A1/en
Publication of WO2023018179A1 publication Critical patent/WO2023018179A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4046Scaling the whole image or part thereof using neural 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/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Definitions

  • the present disclosure relates to AI-based image reproduction, and more particularly, to AI-based image reproduction according to an application used to acquire an image.
  • An electronic device and method capable of effectively improving the quality of an image by processing an image based on AI according to characteristics of an image provided through an application are provided.
  • an electronic device and method capable of effectively improving the quality of an image by predicting through which application an image previously stored in the electronic device is provided are provided.
  • a neural network structure suitable for the YUV format of an image is provided.
  • An electronic device for reproducing an image comprising: a display; and a processor, wherein the processor acquires a first image, identifies an application used to acquire the first image, and includes a neural network corresponding to the identified application among a plurality of neural network setting information. Select setting information, obtain a second image by AI (Artificial Intelligence) upscaling the first image using an upscaling neural network to which the selected neural network setting information is applied, and display the acquired second image can be output through
  • AI Artificial Intelligence
  • the quality of an image can be effectively improved by processing an image based on AI according to characteristics of an image provided through an application.
  • the quality of an image can be effectively improved by predicting through which application an image previously stored in an electronic device is provided.
  • 1A is a diagram for explaining an AI decoding process according to an embodiment.
  • FIG. 1B is a diagram for explaining the AI upscaling process shown in FIG. 1A.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an exemplary embodiment.
  • FIG. 3 is an exemplary diagram illustrating an upscaling neural network for AI upscaling of a first image.
  • FIG. 4 is a diagram for explaining a convolution operation by a convolution layer.
  • FIG. 5 is an exemplary diagram illustrating a correspondence relationship between various applications and various neural network setting information.
  • FIG. 6 is an exemplary diagram illustrating information related to applications required to acquire an image.
  • FIG. 7 is an exemplary diagram illustrating an upscaling neural network for AI upscaling of a first image.
  • FIG. 8 is a diagram for explaining an operation of a depth to space layer shown in FIG. 7 .
  • FIG. 9 is an exemplary diagram illustrating an upscaling neural network for AI upscaling of a first image.
  • 10 is a diagram for explaining a method of training a neural network for upscaling.
  • FIG. 11 is a diagram for explaining a training process of a neural network for upscaling by a training device.
  • FIG. 12 is a flowchart illustrating an AI decoding method by an electronic device according to an embodiment.
  • An electronic device for reproducing an image includes a display; and a processor, wherein the processor acquires a first image, identifies an application used to acquire the first image, and includes a neural network corresponding to the identified application among a plurality of neural network setting information. Select setting information, obtain a second image by AI (Artificial Intelligence) upscaling the first image using an upscaling neural network to which the selected neural network setting information is applied, and display the acquired second image can be output through
  • AI Artificial Intelligence
  • the processor may select the neural network setting information by comparing information about images provided through a plurality of applications with information related to the first image.
  • the processor may check an address accessed by a web browser to obtain the first image, compare the checked address with addresses corresponding to a plurality of applications, and select the neural network setting information.
  • the neural network for upscaling may be trained based on comparison between an original training image and a second training image upscaled by AI by the neural network for upscaling from a first training image provided through a plurality of applications.
  • Neural network setting information corresponding to the first application is obtained through training of the upscaling neural network based on a first training image provided by a first application among the plurality of applications, and second among the plurality of applications Neural network setting information corresponding to the second application may be obtained through training of the upscaling neural network based on a first training image provided by the application.
  • the processor determines whether to perform AI upscaling based on a comparison between the resolution of the acquired first image and a predetermined resolution, and based on the decision not to perform the AI upscaling, the first image is displayed as the Output through the display, and based on the determination to perform the AI upscaling, the second image may be output through the display.
  • the first image includes a first sub-image of a first color component, a second sub-image of a second color component, and a third sub-image of a third color component, and the size of the first sub-image is The size of the second sub-image is larger than the size of the third sub-image, and the upscaling neural network scales the size of the second sub-image and the size of the third sub-image to be the same as that of the first sub-image.
  • a depth to space layer wherein the processor generates a fourth sub-image of a first color component corresponding to a feature map of the first color component and a second color image corresponding to a feature map of the second color component.
  • a second image including a fifth sub-image of a component and a sixth sub-image of a third color component corresponding to the feature map of the third color component may be obtained.
  • the size of the first sub-image is larger than the size of the second sub-image and the size of the third sub-image by n times (n is a natural number), and the feature map used to generate the feature map of the first color component
  • the number of s may be n times greater than the number of feature maps used to generate the feature map of the second color component and the feature map of the third color component.
  • the neural network for upscaling further includes a second scaling layer that scales the first sub-image, the second sub-image, and the third sub-image based on a scaling factor of the neural network for upscaling, and wherein the processor ,
  • the scaled first sub-image is added to the feature map of the first color component to obtain the fourth sub-image
  • the scaled second sub-image is added to the feature map of the second color component to obtain the fifth sub-image.
  • the sixth sub-image may be obtained by adding the scaled third sub-image to the feature map of the third color component.
  • Sample values of the fourth sub-image, the fifth sub-image, and the sixth sub-image may be clipped to a value within a predetermined range.
  • the first image includes a first sub-image of a first color component, a second sub-image of a second color component, and a third sub-image of a third color component
  • the upscaling neural network is at least one convolution layer for convolution processing an image; and a depth to space layer generating a feature map of the first color component by combining feature maps output from the at least one convolution layer
  • the processor comprises: A fourth sub-image of the first color component corresponding to the feature map of , a fifth sub-image of the second color component scaled from the second sub-image by a scaling factor of the neural network for upscaling, and the third sub-image
  • a second image including a sixth sub-image of the third color component scaled by the scaling factor of the neural network for upscaling may be obtained from .
  • a method of reproducing an image comprising: acquiring a first image; identifying an application used to acquire the first image; selecting neural network setting information corresponding to the identified application among a plurality of neural network setting information; acquiring a second image by artificial intelligence (AI) upscaling of the first image using an upscaling neural network to which the selected neural network setting information is applied; and providing the acquired second image to a display.
  • AI artificial intelligence
  • Selecting the neural network setting information may include selecting the neural network setting information based on a comparison between information about images provided through a plurality of applications and information related to the first image.
  • the selecting of the neural network setting information may include identifying an address accessed by a web browser to acquire the first image; and selecting the neural network setting information by comparing addresses corresponding to a plurality of applications with the identified address.
  • AI artificial intelligence
  • the expression "at least one of a, b, or c" means “a”, “b”, “c”, “a and b”, “a and c", “b and c”, or "a, b and c”.
  • one component when one component is referred to as “connected” or “connected” to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.
  • components expressed as ' ⁇ unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more components for each more subdivided function. may be differentiated into.
  • each of the components to be described below may additionally perform some or all of the functions of other components in addition to its own main function, and some of the main functions of each component may be different from other components. Of course, it may be performed exclusively by a component.
  • 'image' or 'picture' may refer to a still image, a motion picture composed of a plurality of continuous still images (or frames), or a video.
  • sample' may be data (eg, pixels) allocated to a sampling location of an image or feature map.
  • a 'provider' is a subject that provides video to an electronic device, and may mean a company, a server operated by the company, a service operated by the company, or a server for providing services operated by the company. there is.
  • 'application' refers to a program required to acquire an image from a provider through a network (eg, the Internet).
  • the application may be provided to the electronic device from a provider or an external server and installed in the electronic device, or may be installed in the electronic device during manufacturing of the electronic device.
  • a 'neural network' is a representative example of an artificial neural network model that mimics a cranial nerve, and is not limited to an artificial neural network model using a specific algorithm.
  • a neural network may also be referred to as a deep neural network.
  • 'parameter' is a value used in the calculation process of each layer constituting the neural network, and may include, for example, a weight and/or bias used when applying an input value to a predetermined calculation expression.
  • Parameters can be expressed in matrix form.
  • a parameter is a value set as a result of training and can be updated through separate training data as needed.
  • 'neural network setting information' is information related to elements constituting a neural network, and includes the aforementioned parameters.
  • a neural network may be set using the neural network setting information.
  • Neural network setting information may be referred to as deep neural network setting information.
  • 'first image' means an image subject to AI upscaling
  • 'second image' means an image generated by AI upscaling
  • 'encoding' means processing by a frequency conversion-based image compression method. Also, 'decoding' means processing by a frequency conversion-based image restoration method.
  • 1A is a diagram for explaining an AI decoding process according to an embodiment.
  • a second image 125 is obtained through an AI decoding process for AI-encoded data provided from the server 10 (or a provider).
  • AI-encoded data may include image data and AI data.
  • Image data may be provided as a bit stream.
  • Image data is data generated as a result of encoding the first image 115, and data obtained based on pixel values in the first image 115, for example, the first image 115 and the first image ( 115) may include residual data that is a difference between the predicted data.
  • the image data includes information used in the encoding process of the first image 115 .
  • the image data may include prediction mode information used to encode the first image 115, motion information, and quantization parameter-related information used in the encoding process.
  • Video data may be generated according to rules of video compression methods using frequency conversion, such as MPEG-2, H.264 AVC, MPEG-4, HEVC, VC-1, VP8, VP9 and AV1, for example, syntax.
  • frequency conversion such as MPEG-2, H.264 AVC, MPEG-4, HEVC, VC-1, VP8, VP9 and AV1, for example, syntax.
  • the AI data may be used to select neural network setting information used in the AI upscaling process 120 described later. AI data will be described in detail with reference to FIG. 2 . Depending on the embodiment, AI-encoded data may include only image data.
  • the decoding process 110 shown in FIG. 1A is described in detail.
  • the decoding process 110 includes a process of generating quantized residual data by entropy decoding image data, a process of inverse quantizing the quantized residual data, and a frequency domain.
  • a process of converting residual data of components into spatial domain components, a process of generating prediction data, and a process of restoring the first image 115 using the prediction data and residual data may be included.
  • Such a decoding process 110 may be implemented through at least one image restoration method using frequency conversion such as MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9, and AV1.
  • AI upscaling is performed on the first image 115 to obtain a second image 125 having a predetermined resolution and/or a predetermined quality.
  • the AI of the AI upscale process 120 may be implemented as a neural network. As will be described later with reference to FIG. 10, since the neural network for upscaling is trained through loss information calculated for each application, the first image 115 can be AI upscaled to a desired quality and/or resolution according to the characteristics of the application. there is.
  • FIG. 1B is a diagram for explaining the AI upscaling process 120 shown in FIG. 1A.
  • the AI upscaling process 120 which model is suitable for AI upscaling the first image 115 may be determined through analysis 121 of the first image 115 . Specifically, through the analysis 121 of the first image 115, it is confirmed through which application the first image 115 was acquired, and the first image 115 among several pre-stored models 122 It can be determined which model is suitable for AI-based processing 123 for .
  • the second image 115 based on the model for 'A' is AI processed 123.
  • An image 125 may be acquired.
  • the AI upscale process 120 is described in detail below.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device 200 according to an exemplary embodiment.
  • an electronic device 200 includes a receiver 210 and an AI decoder 230.
  • the AI decoder 230 may include a parser 232, a decoder 234, an AI upscaler 236, and an AI setter 238.
  • the electronic device 200 may include various types of devices capable of reproducing images, such as smart phones, tablet PCs, wearable devices, laptop computers, and desktop PCs.
  • the receiving unit 210 and the AI decoding unit 230 may be implemented by one processor.
  • the receiver 210 and the AI decoder 230 may be implemented as a dedicated processor, and may be implemented with a general-purpose processor such as an application processor (AP), central processing unit (CPU), or graphic processing unit (GPU) and S/W. It may be implemented through a combination of
  • a dedicated processor may include a memory for implementing an embodiment of the present disclosure or a memory processing unit for using an external memory.
  • the receiving unit 210 and the AI decoding unit 230 may be composed of a plurality of processors. In this case, it may be implemented with a combination of dedicated processors, or it may be implemented with a combination of S/W and a plurality of general-purpose processors such as APs, CPUs, or GPUs.
  • the receiving unit 210 is implemented with a first processor
  • the parsing unit 232 and the decoding unit 234 are implemented with a second processor different from the first processor
  • the setting unit 238 may be implemented with a third processor different from the first and second processors.
  • the receiver 210 receives AI-encoded data for the first image 115 .
  • the AI-encoded data may include image data generated as a result of encoding the first image 115 and AI data. Depending on the embodiment, AI-encoded data may include only image data.
  • the receiver 210 may receive AI-encoded data transmitted from the server 10 (or provider) through a network.
  • the receiving unit 210 is a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, and a magneto-optical medium such as a floptical disk (floptical disk).
  • AI-encoded data may be obtained from a data storage medium including a magneto-optical medium) or the like.
  • the receiver 210 may receive AI-encoded data from the server 10 through an application, and the AI decoder 230 may obtain the second image 125 by AI-decoding the AI-encoded data.
  • the AI-encoded data may be previously received by the receiver 210 and stored in the storage medium of the electronic device 200.
  • the AI decoder 230 may acquire the second image 125 by AI-decoding the AI-encoded data stored in the storage medium according to a request of a user or the like.
  • the receiving unit 210 outputs the AI-encoded data to the parsing unit 232.
  • the parsing unit 232 parses the AI-encoded data and divides it into image data and AI data. For example, the parsing unit 232 may read a header of the data acquired from the receiving unit 210 to determine whether the corresponding data is image data or AI data. In one example, the parsing unit 214 refers to the header of the data received through the receiving unit 210 to distinguish between video data and AI data and transmits them to the decoding unit 234 and the AI setting unit 238, respectively. At this time, the video data included in the AI-encoded data is video data generated through a predetermined codec (eg, MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9 or AV1). It can also be verified that In this case, corresponding information may be transmitted to the decoder 234 so that the video data can be processed with the identified codec.
  • a predetermined codec eg, MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8,
  • the decoder 234 decodes the image data to obtain the first image 115 .
  • the first image 115 obtained by the decoder 234 is provided to the AI upscaler 236.
  • the decoder 234 may provide information related to encoding of the first image 115 to the AI setting unit 238 .
  • the information related to the encoding of the first image 115 may include a codec type used for encoding the first image 115, prediction mode information, motion information, quantization parameter (QP) information, and the like.
  • QP quantization parameter
  • the receiving unit 210 may receive the first image 115 itself from the provider. Receiving the first image 115 itself may be understood as receiving pixel values of the first image 115 . In this case, the receiver 210 provides the first image 115 to the AI upscaler 236, and decoding by the decoder 234 is not performed.
  • obtaining the first image 115 may mean receiving AI-encoded data (or image data) for the first image 115 or acquiring the first image 115 itself. .
  • the AI setting unit 238 may identify an application used (or executed) to obtain the first image 115 and determine an upscale target based on the identified application.
  • the upscaling target may indicate, for example, to what resolution and/or quality the first image 115 should be upscaled.
  • Determining the upscale target may be understood as a process of selecting neural network setting information corresponding to an application used to acquire the first image 115 from among a plurality of pre-stored neural network setting information.
  • the AI setting unit 238 transfers neural network setting information corresponding to the identified application to the AI upscaling unit 236.
  • the AI upscaling unit 236 AI upscales the first image 115 through an upscaling neural network to obtain a second image 125 corresponding to an upscale target.
  • the AI upscaling unit 236 may determine whether or not to perform AI upscaling on the first image 115 .
  • the AI upscaler 236 may compare the resolution of the first image 115 with a predetermined resolution in order to determine the type of image output from the AI decoder 230 .
  • the AI upscaler 236 For example, if the resolution of the first image 115 is equal to or less than the first predetermined resolution or greater than or equal to a second predetermined resolution greater than the first resolution, the AI upscaler 236 generates an AI for the first image 115. It is determined that upscaling is not performed, and the first image 115 is output from the AI decoder 230 . When the resolution of the first image 115 is equal to or less than the predetermined first resolution, the AI upscale of the first image 115 is skipped by determining the first image 115 as a thumbnail image, and When the resolution is equal to or greater than the predetermined second resolution, it is determined that the quality of the first image 115 is at a satisfactory level, and AI upscaling of the first image 115 is skipped.
  • the AI upscaling unit 236 determines to perform AI upscaling on the first image 115 when the resolution of the first image 115 has a value between the first and second predetermined resolutions. And, the second image 125 obtained as a result of AI up-scaling of the first image 115 is output from the AI decoder 230 .
  • the AI setting unit 238 selects the neural network setting information corresponding to the application used to acquire the first image 115.
  • a method for the AI setting unit 238 to select the neural network setting information will be described.
  • an AI upscaling process through an upscaling neural network will be described with reference to FIGS. 3 and 4 .
  • FIG. 3 is an exemplary diagram illustrating an upscaling neural network 300 for AI upscaling of the first image 115
  • FIG. 4 is a convolution operation in the first convolution layer 310 shown in FIG. 3 is showing
  • the first image 115 is input to the first convolution layer 310 .
  • 3X3X4 displayed on the first convolution layer 310 shown in FIG. 3 exemplifies convolution processing on one input image using four filter kernels each having a size of 3x3.
  • 4 feature maps are generated by 4 filter kernels.
  • Each feature map represents unique characteristics of the first image 115 .
  • each feature map may indicate a vertical direction characteristic, a horizontal direction characteristic, or an edge characteristic of the first image 115 .
  • one A feature map 430 may be created. Since four filter kernels are used in the first convolution layer 310, four feature maps can be generated through a convolution operation process using the four filter kernels.
  • I1 to I49 displayed on the first image 115 represent pixels of the first image 115
  • F1 to F9 displayed on the filter kernel 410 represent parameters of the filter kernel 410
  • M1 to M9 displayed on the feature map 430 represent samples of the feature map 430 .
  • the first image 115 includes 49 pixels, but this is only an example, and when the first image 115 has a resolution of 4K, for example, 3840 X 2160 pixels. may contain pixels.
  • pixel values of I1, I2, I3, I8, I9, I10, I15, I16, and I17 of the first image 115 and F1, F2, F3, F4, and F5 of the filter kernel 410 , F6, F7, F8, and F9 are respectively multiplied, and a value obtained by combining (eg, an addition operation) result values of the multiplication operation may be assigned as the value of M1 of the feature map 430.
  • pixel values of I3, I4, I5, I10, I11, I12, I17, I18, and I19 of the first image 115 and F1 and F2 of the filter kernel 410 , F3, F4, F5, F6, F7, F8, and F9 are each multiplied, and a value obtained by combining the product values may be assigned as the value of M2 of the feature map 430.
  • a convolution operation between pixel values in the first image 115 and parameters of the filter kernel 410 is performed.
  • a feature map 430 having a predetermined size may be obtained.
  • parameters of the neural network 300 for upscaling through training of the neural network 300 for upscaling for example, parameters of a filter kernel used in convolution layers of the neural network 300 for upscaling (e.g., F1, F2, F3, F4, F5, F6, F7, F8, and F9 of the filter kernel) may be optimized.
  • a filter kernel used in convolution layers of the neural network 300 for upscaling e.g., F1, F2, F3, F4, F5, F6, F7, F8, and F9 of the filter kernel
  • the AI setting unit 238 determines an upscaling target according to an application used to acquire the first image 115, and converts parameters corresponding to the determined upscaling target to convolutional layers of the neural network 300 for upscaling. It can be determined by the parameters of the filter kernel used in
  • the convolutional layers included in the upscaling neural network 300 may perform processing according to the convolutional operation process described in relation to FIG. 4, but the convolutional operation process described in FIG. 4 is only an example, and the embodiments Not limited to this.
  • the feature maps output from the first convolution layer 310 are input to the first activation layer 320 .
  • the first activation layer 320 may assign non-linear characteristics to each feature map.
  • the first activation layer 320 may include, but is not limited to, a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, and the like.
  • Giving the nonlinear characteristics in the first activation layer 320 means changing and outputting some sample values of the feature map, which is an output of the first convolution layer 310 . At this time, the change is performed by applying nonlinear characteristics.
  • the first activation layer 320 determines whether to transfer sample values of feature maps output from the first convolution layer 310 to the second convolution layer 330 . For example, certain sample values among sample values of feature maps are activated by the first activation layer 320 and transferred to the second convolution layer 330, and certain sample values are activated by the first activation layer 320. It is inactivated and not transmitted to the second convolution layer 330 . The unique characteristics of the first image 115 indicated by the feature maps are emphasized by the first activation layer 320 .
  • the feature maps 325 output from the first activation layer 320 are input to the second convolution layer 330 .
  • One of the feature maps 325 shown in FIG. 3 is a result of processing the feature map 430 described with reference to FIG. 4 in the first activation layer 320 .
  • 3X3X4 displayed on the second convolution layer 330 exemplifies convolution processing on the input feature maps 325 using four filter kernels having a size of 3 ⁇ 3.
  • the output of the second convolution layer 330 is input to the second activation layer 340 .
  • the second activation layer 340 may impart nonlinear characteristics to input data.
  • the feature maps 345 output from the second activation layer 340 are input to the third convolution layer 350 .
  • 3X3X1 displayed on the third convolution layer 350 exemplifies convolution processing to generate one output image using one 3x3 filter kernel.
  • the third convolution layer 350 is a layer for outputting a final image and generates one output using one filter kernel.
  • the third convolution layer 350 may output the second image 125 through a convolution operation.
  • the upscaling neural network 300 includes three convolution layers 310, 330, and 350 and two activation layers 320 and 340, but this is just one example, and implementation According to an example, the number of convolution layers and activation layers may be variously changed. Also, according to embodiments, the upscaling neural network 300 may be implemented through a recurrent neural network (RNN). This case means changing the CNN structure of the neural network 300 for upscaling according to the example of the present disclosure into an RNN structure.
  • RNN recurrent neural network
  • the AI upscaler 236 may include at least one arithmetic logic unit (ALU) for the above-described convolution operation and activation layer operation.
  • An ALU may be implemented as a processor.
  • the ALU may include a multiplier for performing a multiplication operation between sample values of the first image 115 or feature map and sample values of the filter kernel, and an adder for adding multiplication result values.
  • the ALU is a multiplier that multiplies input sample values with weights used in a predetermined sigmoid function, Tanh function, or ReLU function, and compares the multiplication result with a predetermined value to obtain an input sample value.
  • a comparator for determining whether to transfer to the next layer may be included.
  • the AI setting unit 238 determines an up-scale target and the AI up-scale unit 236 AI up-scales the first image 115 according to the up-scale target will be described.
  • the AI setting unit 238 may store a plurality of neural network setting information that can be set (or applicable) to the neural network for upscaling.
  • the neural network setting information may include information on at least one of the number of convolution layers included in the upscale neural network, the number of filter kernels for each convolution layer, the size of each filter kernel, or a parameter of each filter kernel. .
  • a plurality of neural network setting information may correspond to various upscaling targets, respectively, and a neural network for upscaling may operate based on neural network setting information corresponding to a specific upscaling target.
  • neural networks for upscaling may have different structures according to neural network setting information.
  • a neural network for upscaling may include three convolutional layers according to neural network setting information, and a neural network for upscaling may include four convolutional layers according to other neural network setting information.
  • the neural network setting information may include only parameters of a filter kernel used in an upscaling neural network.
  • the structure of the neural network for upscaling is not changed, but only the parameters of the filter kernel may be changed according to the neural network setting information.
  • the AI setting unit 238 may select neural network setting information for AI upscaling of the first image 115 from among a plurality of neural network setting information.
  • a plurality of neural network setting information corresponds to a plurality of applications.
  • a plurality of neural network setting information may correspond 1:1 to a plurality of applications.
  • 'P' neural network setting information corresponds to 'A' application
  • 'Q' neural network setting information corresponds to 'B' application
  • 'R' neural network setting information corresponds to ' It can correspond to C' application.
  • FIG. 5 shows only three applications and three pieces of neural network setting information, the number of applications and neural network setting information corresponding to each other may vary.
  • the AI setting unit 238 checks which application was used to obtain the first image 115 and , Neural network setting information corresponding to the identified application must be obtained. If the first image 115 is acquired through the 'A' application, but neural network setting information other than 'P' neural network setting information is selected for the operation of the neural network for upscaling, image degradation by the 'A' application characteristics are not adequately compensated.
  • neural network setting information for AI upscaling of the first image 115 is selected from among a plurality of neural network setting information
  • the selected neural network setting information is transmitted to the AI upscaling unit 236, and an up-scaling operation is performed according to the selected neural network setting information.
  • the first image 115 may be processed based on the neural network for scaling.
  • the AI upscaler 236 receives neural network setting information from the AI setter 238, the first convolution layer 310 of the upscale neural network 300 shown in FIG.
  • the convolution layer 330 and the third convolution layer 350 the number of filter kernels included in each layer and parameters of the filter kernels are set to values included in the acquired neural network setting information.
  • the AI upscaling unit 236 sets the parameters of the 3 X 3 filter kernel used in any one convolution layer of the upscaling neural network 300 shown in FIG. 3 to ⁇ 1, 1, 1, 1, 1, 1, 1, 1, 1 ⁇ , and if there is a change in the neural network configuration information, the parameters of the filter kernel included in the changed neural network configuration information ⁇ 2, 2, 2, 2, 2, 2, 2, 2, 2 ⁇ .
  • the AI setting unit 238 may select neural network setting information for AI upscaling of the first image 115 from among a plurality of neural network setting information based on AI data provided from the parsing unit 232 .
  • the AI data may include application information necessary for acquiring the first image 115 .
  • the application information may include identification information for distinguishing the application from other applications, such as the name of the application.
  • the AI setting unit 238 identifies an application corresponding to the first image 115 from the AI data and , It is possible to select neural network setting information corresponding to the identified application among a plurality of neural network setting information.
  • the AI setting unit 238 may select 'P' neural network setting information shown in FIG. 5 .
  • the AI setting unit 238 may select the 'Q' neural network setting information shown in FIG. 5 .
  • the AI setting unit 238 may identify an application executed in the electronic device 200 to acquire the first image 115 and select neural network setting information corresponding to the identified application. Since the AI setting unit 238 directly identifies an application executed in the electronic device 200, it is possible to select neural network setting information suitable for the first image 115 even when AI data is not included in the AI-encoded data.
  • the first image 115 is generated based on information related to the application. It is necessary to predict through which application it is provided. This will be described with reference to FIG. 6 .
  • FIG. 6 is an exemplary diagram illustrating information related to various applications for selection of neural network setting information.
  • the electronic device 200 may store information related to various applications required to obtain an image from a provider.
  • application-related information includes information about a provider that operates the application, address information to be accessed through a web browser to obtain an image from a provider corresponding to the application, or an image obtainable from the application. It may include at least one of information related to.
  • the AI setting unit 238 identifies the provider of the first image 115 from the AI data, and Among the neural network setting information, neural network setting information corresponding to the identified provider may be selected.
  • the AI setting unit 238 may be configured to obtain the first image 115 through address information accessed by the web browser and information related to a plurality of applications. Neural network setting information may be selected by comparing address information.
  • the AI setting unit 238 may perform AI up-scaling of the first image 115 as shown in FIG. 5 .
  • P' Neural network setting information can be selected.
  • the AI setting unit 238 displays 'R' shown in FIG. 5 for AI upscaling of the first image 115. You can select neural network setting information.
  • neural network setting information may be selected through application information, provider information, and/or an address accessed by a web browser.
  • the AI setting unit 238 may select neural network setting information for AI upscaling of the first image 115 through information related to the first image 115 .
  • a method of selecting neural network setting information through information related to the first image 115 may be useful in the following cases.
  • the first video 115 After receiving and storing the first video 115 through the network, the first video 115 is played back with a general-purpose video playback program according to a request from a user or an instruction.
  • the information related to the first image 115 and the information of the image provided from the application By comparing, it is to predict whether the first image 115 is similar to an image provided through which application.
  • the video-related information includes the file name of the video, whether the video is still or moving, resolution of the video, bit rate of video data corresponding to the video, codec type used for encoding the video, and quantization parameter used for encoding the video. (Quantization Parameter), the sharpness of the image, the artifact characteristics of the image, or the type of artifact in the image (eg, ringing artifact, blurring artifact, or block artifact, etc.) At least may contain one.
  • Encoding-related information provided to the AI setting unit 238 from the above-described decoder 234 may be used as image-related information.
  • the characteristics of images and image data provided from a plurality of applications may be analyzed in advance and stored in the electronic device 200 .
  • the AI setting unit 238 compares information related to images provided from a plurality of applications with information related to the first image 115 to determine whether the first image 115 is similar to an image provided from an application, It is possible to predict from which application it is provided.
  • the resolution of the first image 115 is HD
  • the bit rate of image data corresponding to the first image 115 is 10 Mbps
  • the first image 115 is HEVC. If encoded, the AI setting unit 238 determines that the first image 115 is similar to the image obtained through the 'C' application, and among the plurality of neural network setting information shown in FIG. 5, 'R' neural network setting information can choose
  • the AI setting unit 238 determines that the first image 115 has been obtained through the 'A' application and , 'P' neural network setting information can be selected from among the plurality of neural network setting information shown in FIG. 5 .
  • the AI setting unit 238 determines the first image ( 115) is obtained through the 'B' application, and 'Q' neural network setting information may be selected from among the plurality of neural network setting information shown in FIG. 5 .
  • the electronic device 200 when receiving and storing the first image 115 through an application, may store information about an application executed to obtain the first image 115 together. When the first image 115 needs to be reproduced, the electronic device 200 checks the stored application information upon receiving the first image 115 and provides neural network setting information corresponding to the application of the first image 115. you can also choose
  • an image is composed of two images, an image of a luminance component and an image of a chroma component.
  • the size of a luminance component image is 4 times larger than that of a chroma component image.
  • an image includes an image of a first color component (eg, luminance), an image of a second color component (eg, chroma (Cb)), and an image of a third color component (eg, chroma (Cr)). It is made of images of , and when their sizes are not the same, a method for efficiently AI upscaling the corresponding image is required.
  • an image includes an image of a first color component, an image of a second color component, and an image of a third color component, and the size of the image of the first color component is the size of the image of the second color component and the third color component.
  • FIG. 7 is an exemplary diagram illustrating an upscaling neural network 700 for AI upscaling of the first image 115 .
  • the upscaling neural network 700 includes a first scaler 710, a first convolution layer 720, a second convolution layer 730, a third convolution layer 740, It may include a depth to space layer 750, a second scaler 760, and a clipping layer 770.
  • the first image 115 includes a first sub-image 702 of a first color component, a second sub-image 704 of a second color component, and a third sub-image 706 of a third color component.
  • the first color component may include a luminance component
  • the second color component may include a chroma (Cb) component
  • the third color component may include a chroma (Cr) component.
  • the size of the first sub-image 702 is four times larger than that of the second sub-image 704 and the third sub-image 706 .
  • the second sub-image 704 and the third sub-image 706 are input to the first scaler 710 .
  • the first scaler 710 increases the size of the second sub-image 704 and the third sub-image 706 .
  • the first scaler 710 may scale the size of the second sub-image 704 and the third sub-image 706 to be the same as that of the first sub-image 702 .
  • the reason for scaling the size of the second sub-image 704 and the third sub-image 706 to be the same as that of the first sub-image 702 is the result of convolution operation using a filter kernel of a specific size and images for each channel. is to sum them up.
  • one filter kernel is convoluted with each of the input images, and the results of the convolution operation with each image are summed together to obtain one feature map corresponding to the filter kernel. . If the sizes of the images to be subjected to the convolution operation are not the same, the sizes of the convolution operation results are also not the same, and accordingly, summing up the convolution operation results becomes difficult.
  • the first scaler 710 may increase the size of the second sub-image 704 and the third sub-image 706 on a legacy basis rather than an AI basis.
  • the legacy-based scaling may include at least one of a bilinear scale, a bicubic scale, a lanczos scale, or a stair step scale.
  • the first scaler 710 may be implemented as a convolution layer.
  • the first sub-image 702 , the scaled second sub-image 704 , and the scaled third sub-image 706 are input to the first convolution layer 720 .
  • 3X3X32 displayed on the first convolution layer 720 shown in FIG. 7 exemplifies that convolution is performed on images of three channels using 32 filter kernels having a size of 3 ⁇ 3.
  • 32 feature maps are generated by 32 filter kernels.
  • Feature maps output from the first convolution layer 720 are input to the second convolution layer 730 .
  • 3X3X32 displayed on the second convolution layer 730 exemplifies convolution processing on feature maps output from the previous layer 720 using 32 filter kernels having a size of 3 ⁇ 3.
  • 32 feature maps are generated by 32 filter kernels.
  • the feature maps output from the second convolution layer 730 are input to the third convolution layer 740 .
  • 3X3X(6n) (n is a natural number) displayed on the third convolution layer 740 performs convolution processing on the feature maps output from the previous layer 730 using 6n filter kernels having a size of 3 x 3. exemplify that As a result of the convolution process, 6n feature maps are generated by 6n filter kernels.
  • Feature maps output from the third convolution layer 740 are input to the depth space transformation layer 750 .
  • the depth space transformation layer 750 reduces the number of feature maps output from the previous layer 740 . Specifically, the depth space transform layer 750 may reduce the number of channels by arranging samples in a channel direction on a spatial domain of one channel.
  • FIG. 8 is a diagram for explaining the operation of the depth space conversion layer 750 shown in FIG. 7 .
  • FIG. 8 shows a first feature map 810, a second feature map 820, a third feature map 830, and a fourth feature map 840 corresponding to four channels by a depth space conversion layer 750.
  • a situation in which one fifth feature map 850 is output through processing is illustrated.
  • the number of channels input to the depth space transform layer 750 and the number of channels output from the depth space transform layer 750 may be variously changed.
  • the first feature map 810, the second feature map 820, the third feature map 830, and the fourth feature map 840 are included in the depth space conversion layer 750.
  • the samples 815, 825, 835, and 845 may be generated.
  • a method of arranging samples of input feature maps may vary. 8 shows samples 815, 825, 835, and 845 at the same location in the first feature map 810, the second feature map 820, the third feature map 830, and the fourth feature map 840. Although shown as being arranged adjacent to each other within the fifth feature map 850, the first feature map 810, the second feature map 820, the third feature map 830, and the fourth feature map 840 Another sample may be positioned between the samples 815, 825, 835, and 845 at the same location within the sample.
  • the depth space conversion layer 750 generates a feature map 752 of a first color component by combining 4n feature map samples among 6n input feature maps. Then, the depth space conversion layer 750 generates a feature map 754 of a second color component by combining samples of the remaining n feature maps among the 6n feature maps, and generates a feature map 754 of the remaining n feature maps among the 6n feature maps. The samples are combined to create a feature map 756 of the third color component.
  • the size of the first sub-image 702 is 4 times larger than that of the second sub-image 704 and the third sub-image 706, so this size
  • a feature map 752 of the first color component is generated using 4n feature maps
  • a feature map 754 of the second color component and the feature map 754 of the third color component are generated using n feature maps, respectively.
  • the size of the feature map 752 of the first color component is proportional to the feature map 754 of the second color component and the feature map 754 of the third color component. may be as large as 4 times the feature map 756 of .
  • the first sub-image 702 , the second sub-image 704, and the third sub-image 706 may be input to the second scaler 760 .
  • the second scaler 760 scales the sizes of the first sub-image 702, the second sub-image 704, and the third sub-image 706 according to the scaling factor of the neural network 700 for upscaling.
  • the scaling factor of the neural network 700 for upscaling means a ratio between the size of the first image 115 and the size of the second image 125 .
  • the second scaler 760 may increase the size of the first sub-image 702, the second sub-image 704, and the third sub-image 706 based on a legacy basis rather than an AI basis.
  • the legacy-based scaling may include at least one of a bilinear scale, a bicubic scale, a lanczos scale, or a stair step scale.
  • the second scaler 760 may be implemented as a convolution layer.
  • the first sub-image 702, the second sub-image 704, and the third sub-image 706 scaled by the second scaler 760, respectively, have a first color component feature map 752, a second color component component's feature map 754 and the third color component's feature map 756 respectively.
  • images and feature maps of the same color component may be added.
  • a prediction version of the second image 125 is obtained through the second scaler 760 of the skip connection structure, and is obtained by the first scaler 710 or the depth space transform layer 750. 2
  • a residual version of image 125 is obtained.
  • the second image 125 may be obtained by adding the predicted version and the residual version of the second image 125 .
  • the clipping layer 770 prevents overshooting of a summation result of images output from the second scaler 760 and feature maps output from the depth space transformation layer 750 .
  • the clipping layer 770 may clip sample values resulting from summing the images output from the second scaler 760 and the feature maps output from the depth space conversion layer 750 according to Equation 1 below.
  • Equation 1 res denotes a residual version of the second image 125, that is, samples of feature maps output from the depth space transform layer 750, and skip denotes a predicted version of the second image 125, that is, , which means samples of images output from the second scaler 760.
  • ratio_lowerbound and ratio_upperbound are predetermined values, and are values for limiting sample values of the second image 125 within a certain range.
  • the feature map 752 of the first sub-image 702 (ie, skip) scaled by the second scaler 760 and the first color component output by the depth space transform layer 750 ) (ie, res) is clipped within the range of the value obtained by multiplying the first sub-image 702 (ie, skip) scaled by the second scaler 760 by ratio_lowerbound and ratio_upperbound.
  • the second sub-image 704 scaled by the second scaler 760 (ie, skip) and the feature map 754 of the second color component output by the depth space transform layer 750 (ie, res ) is clipped within the range of a value obtained by multiplying the second sub-image 704 (ie, skip) scaled by the second scaler 760 by ratio_lowerbound and ratio_upperbound.
  • the third sub-image 706 scaled by the second scaler 760 (ie, skip) and the feature map 756 of the third color component output by the depth space transform layer 750 (ie, res ) is clipped within the range of the value obtained by multiplying the third sub-image 706 (ie, skip) scaled by the second scaler 760 by ratio_lowerbound and ratio_upperbound.
  • a fourth sub-image 782 of a first color component, a fifth sub-image 784 of a second color component, and a sixth sub-image 786 of a third color component are obtained.
  • 2 images 125 may be acquired.
  • the second scaler 760 and/or the clipping layer 770 may be omitted from the upscaling neural network 700, and the number of convolution layers may be variously changed.
  • the number of convolution layers may be variously changed.
  • one or more activation layers described in relation to FIG. 3 may be included in the neural network 700 for upscaling.
  • the size and number of filter kernels shown in FIG. 7 are only examples and may be changed in various ways according to implementation examples.
  • the upscaling neural network 700 shown in FIG. 7 is for a case where the size of the first sub-image 702 is 4 times larger than the size of the second sub-image 704 and the third sub-image 706, If the size of the first sub-image 702 is k times larger than the size of the second sub-image 704 and the third sub-image 706, the scaling factor of the first scaler 710 becomes k. And, if a feature map is used to generate the feature map 752 of the first color component in the depth space conversion layer 750, the feature map 754 of the second color component and the feature map of the third color component ( 756), respectively, a/k feature maps may be used. To this end, k+(a/k)+(a/k) feature maps may be output from the previous layer 740 .
  • FIG. 9 is an exemplary diagram illustrating an upscaling neural network 900 according to another embodiment for AI upscaling of the first image 115 .
  • the upscaling neural network 900 includes a first convolution layer 910, a second convolution layer 920, a third convolution layer 930, and a depth space conversion layer 940. , a scaler 950 and a clipping layer 960.
  • the first image 115 includes a first sub-image 702 of a first color component, a second sub-image 704 of a second color component, and a third sub-image 706 of a third color component.
  • the first color component may include a luminance component
  • the second color component may include a chroma (Cb) component
  • the third color component may include a chroma (Cr) component.
  • the size of the first sub-image 702 is four times larger than that of the second sub-image 704 and the third sub-image 706 . Due to this size difference, only the first sub-image 702 among the first sub-image 702 , the second sub-image 704 , and the third sub-image 706 is input to the first convolution layer 910 .
  • 3X3X32 displayed on the first convolution layer 910 shown in FIG. 9 exemplifies that convolution processing is performed on images of one channel using 32 filter kernels having a size of 3 ⁇ 3.
  • 32 feature maps are generated by 32 filter kernels.
  • Feature maps output from the first convolution layer 910 are input to the second convolution layer 920 .
  • 3X3X32 displayed on the second convolution layer 920 exemplifies convolution processing on feature maps output from the previous layer using 32 filter kernels having a size of 3 ⁇ 3.
  • 32 feature maps are generated by 32 filter kernels.
  • Feature maps output from the second convolution layer 920 are input to the third convolution layer 930 .
  • 3X3X16 displayed on the third convolution layer 930 exemplifies convolution processing on feature maps output from the previous layer 920 using 16 filter kernels having a size of 3 ⁇ 3.
  • 16 feature maps are generated by 16 filter kernels.
  • Feature maps output from the third convolution layer 930 are input to the depth space transformation layer 940 .
  • the depth space conversion layer 940 generates a feature map 942 of a first color component by combining samples of feature maps output from the third convolution layer 930 .
  • the first sub-image 702 is input to the first convolution layer 910, the first sub-image 702, the second sub-image 704, and the third sub-image 706 are generated by the scaler 950. ) can be entered.
  • the scaler 950 scales the sizes of the first sub-image 702, the second sub-image 704, and the third sub-image 706 according to the scaling factor of the neural network 900 for upscaling.
  • the scaler 950 may increase the size of the first sub-image 702, the second sub-image 704, and the third sub-image 706 based on a legacy basis rather than an AI basis.
  • the legacy-based scaling may include at least one of a bilinear scale, a bicubic scale, a lanczos scale, or a stair step scale.
  • the scaler 950 may be implemented as a convolution layer.
  • the first sub-image 702 scaled by the scaler 950 is added to the feature map 942 of the first color component. Since the second sub-image 704 and the third sub-image 706 scaled by the scaler 950 do not have feature maps of the same color component, the first sub-image 702 scaled by the scaler 950 does not exist. ) and the feature map 942 of the first color component are transferred to the clipping layer 960 as they are.
  • a prediction version of the fourth sub-image 972 of the first color component is obtained through the scaler 950 of the skip connection structure, and the first convolution layer 910 to the depth space transformation layer In operation 940, a residual version of the fourth sub-image 972 is obtained.
  • the fourth sub-image 972 constituting the second image 125 may be obtained by adding the prediction version of the fourth sub-image 972 and the residual version of the fourth sub-image 972 .
  • the clipping layer 960 prevents overshooting of a summation result of the images output from the scaler 950 and the feature map output from the depth space conversion layer 940 .
  • the clipping layer 960 may clip sample values obtained by summing the images output from the scaler 950 and the feature map output from the depth space conversion layer 940 according to Equation 1 above.
  • a fourth sub-image 972 of a first color component, a fifth sub-image 974 of a second color component, and a sixth sub-image 976 of a third color component are obtained.
  • 2 images 125 may be acquired.
  • the scaler 950 and/or the clipping layer 960 may be omitted from the upscaling neural network 900, and the number of convolution layers may be variously changed. Also, although not shown in FIG. 9 , one or more activation layers described in relation to FIG. 3 may be included in the upscaling neural network 900 . In addition, the size and number of filter kernels shown in FIG. 9 are only examples and may be changed in various ways according to implementation examples.
  • the neural network 900 for upscaling shown in FIG. 9 performs convolution only on the first sub-image 702, the amount of computation can be significantly reduced compared to the neural network 700 for upscaling shown in FIG. 7. .
  • FIG. 10 is a diagram for explaining a method of training the neural network 1000 for upscaling.
  • the upscaling neural network 1000 may have the structure of the upscaling neural network 300, 700, or 900 described above. Depending on implementation, the neural network 1000 for upscaling may have various structures including one or more convolutional layers.
  • AI upscaling of the first image 115 is performed with neural network setting information corresponding to an application used to acquire the first image 115 . Since the AI upscaling of the first image 115 depends on the application used to acquire the first image 115, acquisition of neural network setting information specialized for each application is required.
  • a first training image 1010 means an image obtained from an application
  • a second training image 1030 (second training image) is for upscaling from the first training image 1010. It means an AI upscaled image through the neural network 1000.
  • the first training image 1010 may be generated by processing an original training image 1050 by an application or a provider operating the application.
  • the original training image 1050 is processed (eg, resolution conversion and encoding) by an application or a provider that operates the application to generate a first training image 1010, and the electronic device 200 or a training device described later
  • the first training image 1010 may be provided to the electronic device 200 or the training device 1100 to be described later.
  • the electronic device 200 or the training device 1100 uploads the original training image 1050 to a provider (or a server operated by the provider) and , the first training image 1010 processed by the provider may be acquired through an application.
  • the upscaling neural network 1000 is trained based on loss information 1070 corresponding to a comparison result between the second training image 1030 and the original training image 1050.
  • the upscaling neural network 1000 generates a second training image 1030 by AI upscaling the first training image 1010 according to preset neural network setting information.
  • the neural network setting information of the upscaling neural network 1000 is updated according to the loss information 1070 corresponding to the comparison result between the second training image 1030 and the original training image 1050.
  • the neural network 1000 for upscaling may update neural network setting information, eg, parameters, so that the loss information 1070 is reduced or minimized.
  • the upscaling neural network 1000 may update neural network setting information so that the loss information 1070 is reduced or minimized.
  • the loss information 1070 corresponding to the comparison result between the second training image 1030 and the original training image 1050 is an L1-norm value for the difference between the second training image 1030 and the original training image 1050, L2-norm value, SSIM (Structural Similarity) value, PSNR-HVS (Peak Signal-To-Noise Ratio-Human Vision System) value, MS-SSIM (Multiscale SSIM) value, VIF (Variance Inflation Factor) value, or VMAF (Video Video It may include at least one of Multimethod Assessment Fusion) values.
  • first training images 1010 provided from a plurality of applications may be used for training.
  • neural network setting information corresponding to the first application may be obtained.
  • neural network setting information corresponding to the second application may be obtained as a result of training the neural network 1000 for upscaling based on the first training image 1010 obtained through the second application. That is, as the upscaling neural network 1000 is individually trained from the first training images 1010 provided through each application, a plurality of neural network setting information respectively corresponding to a plurality of applications may be obtained.
  • 11 is a diagram for explaining a training process of the upscaling neural network 1000 by the training apparatus 1100.
  • Training of the upscaling neural network 1000 described with reference to FIG. 10 may be performed by the training apparatus 1100 .
  • the training device 1100 may be, for example, the electronic device 200 or a separate server.
  • Neural network setting information of the upscaling neural network 1000 obtained as a result of training is stored in the electronic device 200 .
  • the training device 1100 initially sets neural network setting information of the upscaling neural network 1000 (S1110). Accordingly, the upscaling neural network 1000 may operate according to predetermined neural network setting information.
  • Neural network setting information includes information on at least one of the number of convolution layers included in the upscale neural network 1000, the number of filter kernels for each convolution layer, the size of filter kernels for each convolution layer, or parameters of each filter kernel. can include
  • the training device 1100 inputs the first training image 1010 acquired through the application to the upscaling neural network 1000 (S1120).
  • the upscaling neural network 1000 processes the first training image 1010 according to the initially set neural network setting information, and outputs the AI upscaled second training image 1030 from the first training image 1010 ( S1130).
  • the training apparatus 1100 calculates loss information 1070 based on the second training image 1030 and the original training image 1050 (S1140).
  • the training apparatus 1100 provides loss information 1070 to the upscaling neural network 1000, and the upscaling neural network 1000 is a neural network initially set through a back propagation process based on the loss information 1070.
  • Setting information is updated (S1150).
  • the training apparatus 1100 and the neural network for upscaling 1000 update the neural network setting information while repeating processes S1120 to S1150 until the loss information 1070 is minimized.
  • the upscaling neural network 1000 operates according to the updated neural network setting information in the previous process.
  • FIG. 12 is a flowchart illustrating an AI decoding method by the electronic device 200 according to an embodiment.
  • step S1210 the electronic device 200 acquires the first image 115.
  • the electronic device 200 may acquire image data of the first image 115 and decode the image data to obtain the first image 115 .
  • the electronic device 200 may obtain the first image 115 through a network or may obtain the first image 115 from a storage medium of the electronic device 200 in which the first image 115 is stored. .
  • step S1220 the electronic device 200 determines whether AI upscaling of the first image 115 is required.
  • the electronic device 200 may determine whether AI upscaling is necessary based on the resolution of the first image 115 .
  • the electronic device 200 determines that AI upscaling is not necessary, and determines that the resolution of the first image 115 is the first predetermined resolution. If it is greater than , it may decide that AI upscaling is necessary.
  • the electronic device 200 determines that AI upscaling is not required, and determines that the resolution of the first image 115 is the second predetermined resolution. If it is smaller than , it can be determined that AI upscaling is necessary.
  • the electronic device 200 determines that AI upscaling is necessary, and the first image 115 If the resolution is out of a range between the first resolution and the second resolution, it may be determined that AI upscaling is not required.
  • step S1230 the electronic device 200 identifies an application used to obtain the first image 115.
  • the electronic device 200 includes application information required (or used) to obtain the first image 115, address information accessed by the web browser to obtain the first image 115, and information about the first image 115.
  • An application corresponding to the first image 115 may be identified using at least one of provider information and information related to the first image 115 .
  • step S1240 the electronic device 200 selects neural network setting information corresponding to the application identified in step S1230 from among a plurality of pre-stored neural network setting information.
  • step S1250 the electronic device 200 obtains a second image 125 by AI up-scaling the first image 115 with an upscaling neural network that operates according to the selected neural network setting information.
  • step S1260 the electronic device 200 outputs the second image 125.
  • the electronic device 200 may output the second image 125 to a display, and the display may reproduce the second image 125 after post-processing it, if necessary.
  • step S1270 the electronic device 200 outputs the first image 115.
  • the electronic device 200 may output the first image 115 to a display, and the display may reproduce the first image 115 after post-processing it, if necessary.
  • the above-described embodiments of the present disclosure can be written as programs or instructions that can be executed on a computer, and the written programs or instructions can be stored in a storage medium.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as .
  • a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be included and provided in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store TM ) or between two user devices ( It can be distributed (eg downloaded or uploaded) online, directly between smartphones.
  • a part of a computer program product eg, a downloadable app
  • a device-readable storage medium such as a memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • the model related to the neural network described above may be implemented as a software module.
  • the neural network model may be stored in a computer-readable recording medium.
  • the neural network model may be integrated in the form of a hardware chip and become a part of the electronic device 200 described above.
  • a neural network model may be built in the form of a dedicated hardware chip for artificial intelligence, or as part of an existing general-purpose processor (eg CPU or application processor) or graphics-only processor (eg GPU). It could be.
  • the neural network model may be provided in the form of downloadable software.
  • a computer program product may include a product in the form of a software program (eg, a downloadable application) that is distributed electronically by a manufacturer or through an electronic marketplace. For electronic distribution, at least a portion of the software program may be stored on a storage medium or may be temporarily created.
  • the storage medium may be a storage medium of a manufacturer or a server of an electronic market or a relay server.

Landscapes

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

Abstract

일 실시예에 따른 영상을 재생하는 전자 장치는, 디스플레이; 및 프로세서를 포함하고, 프로세서는, 제 1 영상을 획득하고, 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하고, 복수의 신경망 설정 정보 중 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하고, 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 제 1 영상을 AI (Artificial Intelligence) 업스케일하여 제 2 영상을 획득하고, 획득한 제 2 영상을 디스플레이를 통해 출력할 수 있다.

Description

어플리케이션에 따라 AI 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법
본 개시는 AI 기반의 영상 재생에 관한 것으로, 보다 구체적으로, 영상을 획득하기 위해 이용된 어플리케이션에 따라 AI 기반으로 영상을 재생하는 것에 관한 것이다.
전자 장치의 처리 능력 및 네트워크의 발전에 따라, 전자 장치에 설치된 어플리케이션을 통해 실시간으로 영상을 시청하는 경험이 일반화되었다. 또한, 영상을 제공하는 서비스가 점점 많아지면서 영상의 접근성도 보다 간편해졌다.
그러나, 아직까지는 네트워크의 대역폭 및 전자 장치의 처리 능력의 한계로 인해 어플리케이션을 통해 제공되는 영상의 품질이 만족스럽지 않은 경우가 많다.
어플리케이션을 통해 프로바이더로부터 제공되는 영상을 후처리하여 영상의 품질을 향상시키는 방안을 고려할 수 있으나, 영상의 특성이 프로바이더 또는 어플리케이션에 따라 다르므로 단일의 룰 기반으로 영상을 후처리하더라도 만족할만한 품질이 보장되지 않을 수 있다.
따라서, AI 기반으로 영상을 처리함으로써 영상의 품질을 극대화할 수 있는 방안이 요구된다.
어플리케이션을 통해 제공되는 영상의 특성에 따라 AI 기반으로 영상을 처리함으로써 영상의 품질을 효과적으로 향상시킬 수 있는 전자 장치 및 방법이 제공된다.
또한, 전자 장치에 미리 저장된 영상이 어느 어플리케이션을 통해 제공된 것인지를 예측하여 영상의 품질을 효과적으로 향상시킬 수 있는 전자 장치 및 방법이 제공된다.
또한, 일 실시예는, 영상의 YUV 포맷에 적합한 신경망 구조가 제공된다.
일 실시예에 따른 영상을 재생하는 전자 장치에 있어서, 디스플레이; 및 프로세서를 포함하고, 상기 프로세서는, 제 1 영상을 획득하고, 상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하고, 복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하고, 상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI (Artificial Intelligence) 업스케일하여 제 2 영상을 획득하고, 상기 획득한 제 2 영상을 상기 디스플레이를 통해 출력할 수 있다.
일 실시예는, 어플리케이션을 통해 제공되는 영상의 특성에 따라 AI 기반으로 영상을 처리함으로써 영상의 품질을 효과적으로 향상시킬 수 있다.
또한, 일 실시예는, 전자 장치에 미리 저장된 영상이 어느 어플리케이션을 통해 제공된 것인지를 예측하여 영상의 품질을 효과적으로 향상시킬 수 있다.
본 개시의 특정 실시예의 상기 및 다른 양태, 특징 및 이점은 후술하는 설명과 아래의 첨부 도면으로부터 더욱 명백해질 것이다.
도 1a는 일 실시예에 따른 AI 복호화 과정을 설명하기 위한 도면이다.
도 1b는 도 1a에 도시된 AI 업스케일 과정을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 제 1 영상의 AI 업스케일을 위한 업스케일용 신경망을 나타내는 예시적인 도면이다.
도 4는 컨볼루션 레이어에 의한 컨볼루션 연산을 설명하기 위한 도면이다.
도 5는 여러 어플리케이션들과 여러 신경망 설정 정보들 사이의 대응 관계를 나타내는 예시적인 도면이다.
도 6은 영상을 획득하는데 필요한 어플리케이션들과 관련된 정보를 도시하는 예시적인 도면이다.
도 7은 제 1 영상의 AI 업스케일을 위한 업스케일용 신경망을 나타내는 예시적인 도면이다.
도 8은 도 7에 도시된 깊이 공간 변환 레이어(depth to space layer)의 동작을 설명하기 위한 도면이다.
도 9는 제 1 영상의 AI 업스케일을 위한 업스케일용 신경망을 나타내는 예시적인 도면이다.
도 10은 업스케일용 신경망을 훈련시키는 방법을 설명하기 위한 도면이다.
도 11은 훈련 장치에 의한 업스케일용 신경망의 훈련 과정을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 전자 장치에 의한 AI 복호화 방법을 나타내는 순서도이다.
일 실시예에 따른 영상을 재생하는 전자 장치는, 디스플레이; 및 프로세서를 포함하고, 상기 프로세서는, 제 1 영상을 획득하고, 상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하고, 복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하고, 상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI (Artificial Intelligence) 업스케일하여 제 2 영상을 획득하고, 상기 획득한 제 2 영상을 상기 디스플레이를 통해 출력할 수 있다.
상기 프로세서는, 복수의 어플리케이션들을 통해 제공되는 영상들에 대한 정보와 상기 제 1 영상 관련 정보를 비교하여 상기 신경망 설정 정보를 선택할 수 있다.
상기 프로세서는, 상기 제 1 영상을 획득하기 위해 웹 브라우저가 접속한 주소를 확인하고, 복수의 어플리케이션들에 대응하는 주소들과 상기 확인된 주소를 비교하여 상기 신경망 설정 정보를 선택할 수 있다.
상기 업스케일용 신경망은, 원본 훈련 영상과, 복수의 어플리케이션들을 통해 제공되는 제 1 훈련 영상으로부터 상기 업스케일용 신경망에 의해 AI 업스케일된 제 2 훈련 영상의 비교에 기초하여 훈련될 수 있다.
상기 복수의 어플리케이션들 중 제 1 어플리케이션에 의해 제공되는 제 1 훈련 영상에 기반한 상기 업스케일용 신경망의 훈련을 통해 상기 제 1 어플리케이션에 대응하는 신경망 설정 정보가 획득되고, 상기 복수의 어플리케이션들 중 제 2 어플리케이션에 의해 제공되는 제 1 훈련 영상에 기반한 상기 업스케일용 신경망의 훈련을 통해 상기 제 2 어플리케이션에 대응하는 신경망 설정 정보가 획득될 수 있다.
상기 프로세서는, 상기 획득한 제 1 영상의 해상도와 미리 결정된 해상도의 비교에 기초하여 AI 업스케일의 수행 여부를 결정하고, 상기 AI 업스케일을 수행하지 않는다는 결정에 기초하여, 상기 제 1 영상을 상기 디스플레이를 통해 출력하고, 상기 AI 업스케일을 수행한다는 결정에 기초하여, 상기 제 2 영상을 상기 디스플레이를 통해 출력할 수 있다.
상기 제 1 영상은, 제 1 컬러 성분의 제 1 서브 영상, 제 2 컬러 성분의 제 2 서브 영상 및 제 3 컬러 성분의 제 3 서브 영상을 포함하고, 상기 제 1 서브 영상의 크기는, 상기 제 2 서브 영상 크기 및 상기 제 3 서브 영상의 크기보다 크며, 상기 업스케일용 신경망은, 상기 제 2 서브 영상의 크기 및 상기 제 3 서브 영상의 크기를 상기 제 1 서브 영상과 동일하게 스케일링하는 제 1 스케일링 레이어; 상기 제 1 서브 영상, 상기 스케일링된 제 2 서브 영상 및 상기 스케일링된 제 3 서브 영상을 컨볼루션 처리하는 적어도 하나의 컨볼루션 레이어; 및 상기 적어도 하나의 컨볼루션 레이어로부터 출력되는 특징 맵들의 일부를 조합하여 상기 제 1 컬러 성분의 특징 맵, 상기 제 2 컬러 성분의 특징 맵 및 상기 제 3 컬러 성분의 특징 맵을 생성하는 깊이 공간 변환 레이어(depth to space layer)를 포함하되, 상기 프로세서는, 상기 제 1 컬러 성분의 특징 맵에 대응하는 제 1 컬러 성분의 제 4 서브 영상, 상기 제 2 컬러 성분의 특징 맵에 대응하는 제 2 컬러 성분의 제 5 서브 영상 및 상기 제 3 컬러 성분의 특징 맵에 대응하는 제 3 컬러 성분의 제 6 서브 영상을 포함하는 제 2 영상을 획득할 수 있다.
상기 제 1 서브 영상의 크기는, 상기 제 2 서브 영상의 크기 및 상기 제 3 서브 영상의 크기보다 n배(n은 자연수)만큼 크고, 상기 제 1 컬러 성분의 특징 맵을 생성하는데 이용되는 특징 맵들의 개수는, 상기 제 2 컬러 성분의 특징 맵 및 상기 제 3 컬러 성분의 특징 맵을 생성하는데 이용되는 특징 맵들의 개수보다 n배만큼 많을 수 있다.
상기 업스케일용 신경망은, 상기 제 1 서브 영상, 상기 제 2 서브 영상 및 상기 제 3 서브 영상을 상기 업스케일용 신경망의 스케일링 배율에 기초하여 스케일링하는 제 2 스케일링 레이어를 더 포함하고, 상기 프로세서는, 상기 스케일링된 제 1 서브 영상을 제 1 컬러 성분의 특징 맵에 더하여 상기 제 4 서브 영상을 획득하고, 상기 스케일링된 제 2 서브 영상을 상기 제 2 컬러 성분의 특징 맵에 더하여 상기 제 5 서브 영상을 획득하고, 상기 스케일링된 제 3 서브 영상을 상기 제 3 컬러 성분의 특징 맵에 더하여 상기 제 6 서브 영상을 획득할 수 있다.
상기 제 4 서브 영상, 상기 제 5 서브 영상 및 상기 제 6 서브 영상의 샘플 값들은, 미리 결정된 범위 내의 값으로 클리핑(clipping)될 수 있다.
상기 제 1 영상은, 제 1 컬러 성분의 제 1 서브 영상, 제 2 컬러 성분의 제 2 서브 영상 및 제 3 컬러 성분의 제 3 서브 영상을 포함하고, 상기 업스케일용 신경망은, 상기 제 1 서브 영상을 컨볼루션 처리하는 적어도 하나의 컨볼루션 레이어; 및 상기 적어도 하나의 컨볼루션 레이어로부터 출력되는 특징 맵들을 조합하여 상기 제 1 컬러 성분의 특징 맵을 생성하는 깊이 공간 변환 레이어(depth to space layer)를 포함하되, 상기 프로세서는, 상기 제 1 컬러 성분의 특징 맵에 대응하는 제 1 컬러 성분의 제 4 서브 영상, 상기 제 2 서브 영상으로부터 상기 업스케일용 신경망의 스케일링 배율만큼 스케일링된 상기 제 2 컬러 성분의 제 5 서브 영상, 및 상기 제 3 서브 영상으로부터 상기 업스케일용 신경망의 스케일링 배율만큼 스케일링된 상기 제 3 컬러 성분의 제 6 서브 영상을 포함하는 제 2 영상을 획득할 수 있다.
일 실시예에 따른 영상을 재생하는 방법에 있어서, 제 1 영상을 획득하는 단계; 상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하는 단계; 복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는 단계; 상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI(Artificial Intelligence) 업스케일하여 제 2 영상을 획득하는 단계; 및 상기 획득한 제 2 영상을 디스플레이로 제공하는 단계를 포함할 수 있다.
상기 신경망 설정 정보를 선택하는 단계는, 복수의 어플리케이션을 통해 제공되는 영상들에 대한 정보와 상기 제 1 영상 관련 정보의 비교에 기초하여 상기 신경망 설정 정보를 선택하는 단계를 포함할 수 있다.
상기 신경망 설정 정보를 선택하는 단계는, 상기 제 1 영상을 획득하기 위해 웹 브라우저가 접속한 주소를 식별하는 단계; 및 복수의 어플리케이션들에 대응하는 주소들과 상기 식별된 주소를 비교하여 상기 신경망 설정 정보를 선택하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터에 의해 실행될 수 있는 영상 재생 방법을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 영상 재생 방법은, 제 1 영상을 획득하는 단계; 상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하는 단계; 복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는 단계; 상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI(Artificial Intelligence) 업스케일하여 제 2 영상을 획득하는 단계; 및 상기 획득한 제 2 영상을 디스플레이로 제공하는 단계를 포함할 수 있다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", 또는 "a, b 및 c 모두"를 지칭할 수 있다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
또한, 본 명세서에서, '영상(image)' 또는 '픽처'는 정지영상, 복수의 연속된 정지영상(또는 프레임)으로 구성된 동영상, 또는 비디오를 의미할 수 있다.
또한, 본 명세서에서 '샘플'은, 영상 또는 특징 맵의 샘플링 위치에 할당된 데이터(예를 들어, 픽셀)일 수 있다.
또한, 본 명세서에서, '프로바이더'는 영상을 전자 장치로 제공하는 주체로서, 회사, 회사가 운영하는 서버, 회사가 운영하는 서비스 또는 회사가 운영하는 서비스의 제공을 위한 서버 등을 의미할 수 있다.
또한, 본 명세서에서, '어플리케이션'은 프로바이더로부터 네트워크(예를 들어, 인터넷)를 통해 영상을 획득하기 위해 필요한 프로그램을 의미한다. 어플리케이션은 프로바이더 또는 외부 서버로부터 전자 장치로 제공되어 전자 장치에 설치되거나, 전자 장치의 제조 과정에서 전자 장치에 설치될 수도 있다.
또한, 본 명세서에서 '신경망(neural network)'은 뇌 신경을 모사한 인공신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다.
또한, 본 명세서에서 '파라미터'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값으로서 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용되는 가중치 및/또는 바이어스(bias)를 포함할 수 있다. 파라미터는 매트릭스 형태로 표현될 수 있다. 파라미터는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.
또한, 본 명세서에서 '신경망 설정 정보'는 신경망을 구성하는 요소와 관련된 정보로서 전술한 파라미터를 포함한다. 신경망 설정 정보를 이용하여 신경망이 설정될 수 있다. 신경망 설정 정보는 심층 신경망 설정 정보로 참조될 수도 있다.
또한, 본 명세서에서 '제 1 영상'은 AI 업스케일의 대상이 되는 영상을 의미하고, '제 2 영상'은 AI 업스케일에 의해 생성된 영상을 의미한다.
또한, 본 명세서에서 '부호화'는 주파수 변환 기반의 영상 압축 방법에 의한 처리를 의미한다. 또한, '복호화'는 주파수 변환 기반의 영상 복원 방법에 의한 처리를 의미한다.
도 1a는 일 실시예에 따른 AI 복호화 과정을 설명하기 위한 도면이다.
전술한 바와 같이, 네트워크를 통해 제공되는 영상의 품질은 만족스럽지 않은 경우가 많고, 품질의 열화 특성이 어플리케이션마다 상이하므로, 영상을 획득하는데 이용된 어플리케이션을 고려하여 영상의 품질을 효율적으로 향상시키기 위한 방안이 필요하다.
도 1a에 도시된 바와 같이, 서버(10)(또는 프로바이더)로부터 제공되는 AI 부호화 데이터에 대한 AI 복호화 과정을 통해 제 2 영상(125)이 획득된다.
AI 부호화 데이터는 영상 데이터와 AI 데이터를 포함할 수 있다.
영상 데이터는 비트스트림으로 제공될 수 있다. 영상 데이터는 제 1 영상(115)에 대한 부호화 결과로 생성되는 데이터로서, 제 1 영상(115) 내 픽셀 값들에 기초하여 획득되는 데이터, 예를 들어, 제 1 영상(115)과 제 1 영상(115)의 예측 데이터 사이의 차이인 잔차 데이터를 포함할 수 있다. 또한, 영상 데이터는 제 1 영상(115)의 부호화 과정에서 이용된 정보들을 포함한다. 예를 들어, 영상 데이터는 제 1 영상(115)을 부호화하는데 이용된 예측 모드(mode) 정보, 움직임 정보, 및 부호화 과정에서 이용된 양자화 파라미터 관련 정보 등을 포함할 수 있다. 영상 데이터는 MPEG-2, H.264 AVC, MPEG-4, HEVC, VC-1, VP8, VP9 및 AV1 등 주파수 변환을 이용하는 영상 압축 방법의 규칙, 예를 들어, 신택스(syntax)에 따라 생성될 수 있다.
AI 데이터는 후술하는 AI 업스케일 과정(120)에서 이용되는 신경망 설정 정보를 선택하는데 이용될 수 있다. AI 데이터에 대해서는 도 2를 참조하여 상세히 설명한다. 실시예에 따라, AI 부호화 데이터는 영상 데이터만을 포함할 수도 있다.
도 1a에 도시된 복호화 과정(110)에 대해 상세히 설명하면, 복호화 과정(110)은, 영상 데이터를 엔트로피 복호화하여 양자화된 잔차 데이터를 생성하는 과정, 양자화된 잔차 데이터를 역양자화하는 과정, 주파수 영역 성분의 잔차 데이터를 공간 영역 성분으로 변환하는 과정, 예측 데이터를 생성하는 과정 및 예측 데이터와 잔차 데이터를 이용하여 제 1 영상(115)을 복원하는 과정 등을 포함할 수 있다. 이와 같은 복호화 과정(110)은 MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9 및 AV1 등 주파수 변환을 이용하는 적어도 하나의 영상 복원 방법을 통해 구현될 수 있다.
AI 업스케일 과정(120)에서는, 소정 해상도 및/또는 소정 화질의 제 2 영상(125)을 획득하기 위해 제 1 영상(115)에 대한 AI 업스케일이 수행된다.
AI 업스케일 과정(120)의 AI는 신경망(neural network)으로 구현될 수 있다. 도 10을 참조하여 후술하는 바와 같이, 업스케일용 신경망은 어플리케이션별로 산출되는 손실 정보를 통해 훈련되므로, 어플리케이션의 특성에 맞춰 제 1 영상(115)을 원하는 화질 및/또는 해상도로 AI 업스케일할 수 있다.
도 1b는 도 1a에 도시된 AI 업스케일 과정(120)을 설명하기 위한 도면이다.
AI 업스케일 과정(120)에서는 제 1 영상(115)에 대한 분석(121)을 통해 제 1 영상(115)을 AI 업스케일하는데 어느 모델이 적합한지가 결정될 수 있다. 구체적으로, 제 1 영상(115)에 대한 분석(121)을 통해 제 1 영상(115)이 어떤 어플리케이션을 통해 획득된 것인지가 확인하고, 미리 저장된 여러 모델들(122) 중 제 1 영상(115)에 대한 AI 기반의 처리(123)에 어떤 모델이 적합한지가 결정될 수 있다.
도 1b에 도시된 바와 같이, 영상 분석(121)을 통해 'A'를 위한 모델이 선택되었다면, 'A'를 위한 모델에 기반한 제 1 영상(115)에 대한 AI 처리(123)를 통해 제 2 영상(125)이 획득될 수 있다.
AI 업스케일 과정(120)에 대해서는 뒤에서 상세히 설명된다.
도 2는 일 실시예에 따른 전자 장치(200)의 구성을 나타내는 블록도이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(200)는 수신부(210) 및 AI 복호화부(230)를 포함한다. AI 복호화부(230)는 파싱부(232), 복호화부(234), AI 업스케일부(236) 및 AI 설정부(238)를 포함할 수 있다.
전자 장치(200)는 스마트폰, 태블릿 PC, 웨어러블 기기, 노트북, 및 데스크탑 PC 등 영상을 재생할 수 있는 다양한 종류의 기기를 포함할 수 있다.
도 2에는 수신부(210) 및 AI 복호화부(230)가 개별적인 장치로 도시되어 있으나, 수신부(210) 및 AI 복호화부(230)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 수신부(210) 및 AI 복호화부(230)는 전용 프로세서로 구현될 수도 있고, AP(application processor) 또는 CPU(central processing unit), GPU(graphic processing unit)와 같은 범용 프로세서와 S/W의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
수신부(210) 및 AI 복호화부(230)는 복수의 프로세서로 구성될 수도 있다. 이 경우, 전용 프로세서들의 조합으로 구현될 수도 있고, AP 또는 CPU, GPU와 같은 다수의 범용 프로세서들과 S/W의 조합을 통해 구현될 수도 있다.
일 실시예에서, 수신부(210)는 제 1 프로세서로 구현되고, 파싱부(232) 및 복호화부(234)는 제 1 프로세서와 상이한 제 2 프로세서로 구현되고, AI 업스케일부(236) 및 AI 설정부(238)는 제 1 프로세서 및 제 2 프로세서와 상이한 제 3 프로세서로 구현될 수 있다.
수신부(210)는 제 1 영상(115)에 대한 AI 부호화 데이터를 수신한다. AI 부호화 데이터는 제 1 영상(115)에 대한 부호화 결과로 생성된 영상 데이터, 및 AI 데이터를 포함할 수 있다. 실시예에 따라, AI 부호화 데이터는 영상 데이터만을 포함할 수도 있다.
일 실시예에서, 수신부(210)는 서버(10)(또는 프로바이더)로부터 네트워크를 통해 전달되는 AI 부호화 데이터를 수신할 수 있다. 또한, 일 실시예에서, 수신부(210)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium) 등을 포함하는 데이터 저장 매체로부터 AI 부호화 데이터를 획득할 수도 있다.
수신부(210)는 서버(10)로부터 어플리케이션을 통해 AI 부호화 데이터를 수신하고, AI 복호화부(230)는 AI 부호화 데이터를 AI 복호화하여 제 2 영상(125)을 획득할 수 있다. 또는, AI 부호화 데이터는 수신부(210)에 의해 미리 수신되어 전자 장치(200)의 저장 매체에 저장될 수 있다. AI 복호화부(230)는 사용자 등의 요청에 따라 저장 매체에 저장된 AI 부호화 데이터를 AI 복호화하여 제 2 영상(125)을 획득할 수 있다.
수신부(210)는 AI 부호화 데이터를 파싱부(232)로 출력한다.
파싱부(232)는 AI 부호화 데이터를 파싱(parsing)하여 영상 데이터와 AI 데이터로 구분한다. 예를 들어, 파싱부(232)는 수신부(210)로부터 획득된 데이터의 헤더를 읽어, 해당 데이터가 영상 데이터인지 또는 AI 데이터인지를 구분할 수 있다. 일 예에서, 파싱부(214)는 수신부(210)를 통해 수신된 데이터의 헤더를 참조하여 영상 데이터와 AI 데이터를 구분하여 복호화부(234) 및 AI 설정부(238)로 각각 전달한다. 이 때, AI 부호화 데이터에 포함된 영상 데이터가 소정의 코덱(예를 들어, MPEG-2, H.264, MPEG-4, HEVC, VC-1, VP8, VP9 또는 AV1)을 통해 생성된 영상 데이터인 것으로 확인할 수도 있다. 이 경우, 영상 데이터가 상기 확인된 코덱으로 처리될 수 있도록, 해당 정보를 복호화부(234)로 전달할 수 있다.
복호화부(234)는 영상 데이터를 복호화하여 제 1 영상(115)을 획득한다. 복호화부(234)에 의해 획득된 제 1 영상(115)은 AI 업스케일부(236)로 제공된다. 일 실시예에서, 복호화부(234)는 제 1 영상(115)의 부호화와 관련된 정보를 AI 설정부(238)로 제공할 수 있다. 제 1 영상(115)의 부호화와 관련된 정보는, 제 1 영상(115)의 부호화에 이용된 코덱 타입, 예측 모드 정보, 움직임 정보, 양자화 파라미터(Quantization Parameter, QP) 정보 등을 포함할 수 있다. 후술하는 바와 같이, 복호화부(234)로부터 AI 설정부(238)로 제공되는 부호화 관련 정보는 제 1 영상(115)의 AI 업스케일을 위한 신경망 설정 정보를 선택하는 데 이용될 수 있다.
실시예에 따라, 수신부(210)는 프로바이더로부터 제 1 영상(115) 자체를 수신할 수도 있다. 제 1 영상(115) 자체를 수신한다는 것은, 제 1 영상(115)의 픽셀 값들을 수신하는 것으로 이해될 수 있다. 이 경우, 수신부(210)는 제 1 영상(115)을 AI 업스케일부(236)로 제공하며, 복호화부(234)에 의한 복호화는 수행되지 않는다.
이하에서, 제 1 영상(115)을 획득한다는 것은, 제 1 영상(115)에 대한 AI 부호화 데이터(또는 영상 데이터)를 수신하는 것 또는 제 1 영상(115) 자체를 획득한다는 것을 의미할 수 있다.
AI 설정부(238)는 제 1 영상(115)을 획득하기 위해 이용된(또는 실행된) 어플리케이션을 식별하고, 식별된 어플리케이션에 기초하여 업스케일 타겟을 결정할 수 있다. 업스케일 타겟은 예를 들어, 제 1 영상(115)을 어느 정도의 해상도 및/또는 화질로 업스케일하여야 하는지를 나타낼 수 있다.
업스케일 타겟을 결정한다는 것은, 미리 저장된 복수의 신경망 설정 정보 중 제 1 영상(115)을 획득하기 위해 이용된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는 과정으로 이해될 수 있다.
업스케일 타겟이 결정되면, AI 설정부(238)는 식별된 어플리케이션에 대응하는 신경망 설정 정보를 AI 업스케일부(236)로 전달한다. AI 업스케일부(236)는 업스케일 타겟에 대응하는 제 2 영상(125)을 획득하기 위해 업스케일용 신경망을 통해 제 1 영상(115)을 AI 업스케일한다.
AI 업스케일부(236)는 제 1 영상(115)에 대해 AI 업스케일을 수행할지 여부를 결정할 수 있다. AI 업스케일부(236)는 AI 복호화부(230)로부터 출력되는 영상의 종류를 결정하기 위해 제 1 영상(115)의 해상도와 미리 결정된 해상도를 비교할 수 있다.
일 예로, AI 업스케일부(236)는 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도 이하이거나, 제 1 해상도보다 큰 미리 결정된 제 2 해상도 이상이면, 제 1 영상(115)에 대해 AI 업스케일을 수행하지 않는 것으로 결정하고, AI 복호화부(230)로부터 제 1 영상(115)이 출력되게 한다. 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도 이하일 때에는 제 1 영상(115)을 썸네일 이미지로 판단하여 제 1 영상(115)의 AI 업스케일을 스킵하는 것이고, 제 1 영상(115)의 해상도가 미리 결정된 제 2 해상도 이상일 때에는 제 1 영상(115)의 품질이 만족할만한 수준인 것으로 판단하여 제 1 영상(115)의 AI 업스케일을 스킵하는 것이다.
AI 업스케일부(236)는 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도와 미리 결정된 제 2 해상도 사이의 값을 가지면, 제 1 영상(115)에 대해 AI 업스케일을 수행하는 것으로 결정하고, 제 1 영상(115)에 대한 AI 업스케일의 결과로 획득되는 제 2 영상(125)이 AI 복호화부(230)로부터 출력되게 한다.
전술한 바와 같이, AI 설정부(238)는 제 1 영상(115)의 획득에 이용된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는데, AI 설정부(238)가 신경망 설정 정보를 선택하는 방법을 설명하기에 앞서, 업스케일용 신경망을 통한 AI 업스케일 과정에 대해 도 3 및 도 4를 참조하여 설명한다.
도 3은 제 1 영상(115)의 AI 업스케일을 위한 업스케일용 신경망(300)을 나타내는 예시적인 도면이고, 도 4는 도 3에 도시된 제 1 컨볼루션 레이어(310)에서의 컨볼루션 연산을 도시하고 있다.
도 3에 도시된 바와 같이, 제 1 영상(115)은 제 1 컨볼루션 레이어(310)로 입력된다. 도 3에 도시된 제 1 컨볼루션 레이어(310)에 표시된 3X3X4는 3 x 3의 크기의 4개의 필터 커널을 이용하여 1개의 입력 영상에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 4개의 필터 커널에 의해 4개의 특징 맵이 생성된다. 각 특징 맵은 제 1 영상(115)의 고유한 특성들을 나타낸다. 예를 들어, 각 특징 맵은 제 1 영상(115)의 수직 방향 특성, 수평 방향 특성 또는 에지 특성 등을 나타낼 수 있다.
도 4를 참조하여, 제 1 컨볼루션 레이어(310)에서의 컨볼루션 연산에 대해 상세히 설명한다.
제 1 컨볼루션 레이어(310)에서 이용되는 3 X 3의 크기를 갖는 필터 커널(410)의 파라미터들과 그에 대응하는 제 1 영상(115) 내 픽셀 값들 사이의 곱 연산 및 덧셈 연산을 통해 하나의 특징 맵(430)이 생성될 수 있다. 제 1 컨볼루션 레이어(310)에서는 4개의 필터 커널이 이용되므로, 4개의 필터 커널을 이용한 컨볼루션 연산 과정을 통해 4개의 특징 맵이 생성될 수 있다.
도 4에서 제 1 영상(115)에 표시된 I1 내지 I49는 제 1 영상(115)의 픽셀들을 나타내고, 필터 커널(410)에 표시된 F1 내지 F9는 필터 커널(410)의 파라미터들을 나타낸다. 또한, 특징 맵(430)에 표시된 M1 내지 M9는 특징 맵(430)의 샘플들을 나타낸다.
도 4는 제 1 영상(115)이 49개의 픽셀을 포함하는 것으로 예시하고 있으나, 이는 하나의 예시일 뿐이며, 제 1 영상(115)이 4K의 해상도를 갖는 경우, 예를 들어, 3840 X 2160개의 픽셀을 포함할 수 있다.
컨볼루션 연산 과정에서, 제 1 영상(115)의 I1, I2, I3, I8, I9, I10, I15, I16, I17의 픽셀 값들 각각과 필터 커널(410)의 F1, F2, F3, F4, F5, F6, F7, F8 및 F9 각각의 곱 연산이 수행되고, 곱 연산의 결과 값들을 조합(예를 들어, 덧셈 연산)한 값이 특징 맵(430)의 M1의 값으로 할당될 수 있다. 컨볼루션 연산의 스트라이드(stride)가 2라면, 제 1 영상(115)의 I3, I4, I5, I10, I11, I12, I17, I18, I19의 픽셀 값들 각각과 필터 커널(410)의 F1, F2, F3, F4, F5, F6, F7, F8 및 F9 각각의 곱 연산이 수행되고, 곱 연산의 결과 값들을 조합한 값이 특징 맵(430)의 M2의 값으로 할당될 수 있다.
필터 커널(410)이 제 1 영상(115)의 마지막 픽셀에 도달할 때까지 스트라이드에 따라 이동하는 동안 제 1 영상(115) 내 픽셀 값들과 필터 커널(410)의 파라미터들 사이의 컨볼루션 연산이 수행됨으로써, 소정 크기를 갖는 특징 맵(430)이 획득될 수 있다.
본 개시에 따르면, 업스케일용 신경망(300)의 훈련을 통해 업스케일용 신경망(300)의 파라미터들, 예를 들어, 업스케일용 신경망(300)의 컨볼루션 레이어들에서 이용되는 필터 커널의 파라미터들(예를 들어, 필터 커널의 F1, F2, F3, F4, F5, F6, F7, F8 및 F9)의 값이 최적화될 수 있다.
AI 설정부(238)는 제 1 영상(115)을 획득하기 위해 이용된 어플리케이션에 따라 업스케일 타겟을 결정하고, 결정된 업스케일 타겟에 대응하는 파라미터들을 업스케일용 신경망(300)의 컨볼루션 레이어들에서 이용되는 필터 커널의 파라미터들로 결정할 수 있다.
업스케일용 신경망(300)에 포함된 컨볼루션 레이어들은 도 4와 관련하여 설명한 컨볼루션 연산 과정에 따른 처리를 할 수 있으나, 도 4에서 설명한 컨볼루션 연산 과정은 하나의 예시일 뿐이며, 실시예들은 이에 한정되지 않는다.
다시 도 3을 참조하면, 제 1 컨볼루션 레이어(310)에서 출력된 특징 맵들은 제 1 활성화 레이어(320)로 입력된다.
제 1 활성화 레이어(320)는 각각의 특징 맵에 대해 비선형(Non-linear) 특성을 부여할 수 있다. 제 1 활성화 레이어(320)는 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
제 1 활성화 레이어(320)에서 비선형 특성을 부여하는 것은, 제 1 컨볼루션 레이어(310)의 출력인, 특징 맵의 일부 샘플 값을 변경하여 출력하는 것을 의미한다. 이때, 변경은 비선형 특성을 적용하여 수행된다.
제 1 활성화 레이어(320)는 제 1 컨볼루션 레이어(310)로부터 출력되는 특징 맵들의 샘플 값들을 제 2 컨볼루션 레이어(330)로 전달할지 여부를 결정한다. 예를 들어, 특징 맵들의 샘플 값들 중 어떤 샘플 값들은 제 1 활성화 레이어(320)에 의해 활성화되어 제 2 컨볼루션 레이어(330)로 전달되고, 어떤 샘플 값들은 제 1 활성화 레이어(320)에 의해 비활성화되어 제 2 컨볼루션 레이어(330)로 전달되지 않는다. 특징 맵들이 나타내는 제 1 영상(115)의 고유 특성이 제 1 활성화 레이어(320)에 의해 강조된다.
제 1 활성화 레이어(320)에서 출력된 특징 맵들(325)은 제 2 컨볼루션 레이어(330)로 입력된다. 도 3에 도시된 특징 맵들(325) 중 어느 하나는 도 4와 관련하여 설명한 특징 맵(430)이 제 1 활성화 레이어(320)에서 처리된 결과이다.
제 2 컨볼루션 레이어(330)에 표시된 3X3X4는 3 x 3의 크기의 4개의 필터 커널을 이용하여 입력된 특징 맵들(325)에 대해 컨볼루션 처리하는 것을 예시한다. 제 2 컨볼루션 레이어(330)의 출력은 제 2 활성화 레이어(340)로 입력된다. 제 2 활성화 레이어(340)는 입력 데이터에 대해 비선형 특성을 부여할 수 있다.
제 2 활성화 레이어(340)에서 출력된 특징 맵들(345)은 제 3 컨볼루션 레이어(350)로 입력된다. 제 3 컨볼루션 레이어(350)에 표시된 3X3X1는 3 x 3의 크기의 1개의 필터 커널을 이용하여 1개의 출력 영상을 만들기 위해 컨볼루션 처리를 하는 것을 예시한다. 제 3 컨볼루션 레이어(350)는 최종 영상을 출력하기 위한 레이어로서 1개의 필터 커널을 이용하여 1개의 출력을 생성한다.
본 개시의 예시에 따르면, 제 3 컨볼루션 레이어(350)는 컨벌루션 연산을 통해 제 2 영상(125)을 출력할 수 있다.
업스케일용 신경망(300)의 제 1 컨볼루션 레이어(310), 제 2 컨볼루션 레이어(330) 및 제 3 컨볼루션 레이어(350)의 필터 커널의 개수, 필터 커널의 파라미터 등을 나타내는 신경망 설정 정보는 후술하는 바와 같이 복수 개일 수 있다. 어플리케이션별 영상의 열화 특성을 보상하기 위해, 복수의 신경망 설정 정보는 복수의 어플리케이션들에 대응하여야 한다. 복수의 신경망 설정 정보를 복수의 어플리케이션들에 대응시키기 위해 복수의 어플리케이션 각각으로부터 제공되는 제 1 훈련 영상에 기반한 훈련이 요구되며, 이에 대해서는 도 10을 참조하여 후술한다.
도 3은 업스케일용 신경망(300)이 세 개의 컨볼루션 레이어(310, 330, 350)와 두 개의 활성화 레이어(320, 340)를 포함하고 있는 것으로 도시하고 있으나, 이는 하나의 예시일 뿐이며, 실시예에 따라서, 컨볼루션 레이어 및 활성화 레이어의 개수는 다양하게 변경될 수 있다. 또한, 실시예에 따라서, 업스케일용 신경망(300)은 RNN(recurrent neural network)을 통해 구현될 수도 있다. 이 경우는 본 개시의 예시에 따른 업스케일용 신경망(300)의 CNN 구조를 RNN 구조로 변경하는 것을 의미한다.
일 실시예에서, AI 업스케일부(236)는 전술한 컨볼루션 연산 및 활성화 레이어의 연산을 위한 적어도 하나의 ALU(Arithmetic logic unit)를 포함할 수 있다. ALU는 프로세서로 구현될 수 있다. 컨볼루션 연산을 위해, ALU는 제 1 영상(115) 또는 특징 맵의 샘플 값들과 필터 커널의 샘플 값들 사이의 곱 연산을 수행하는 곱셈기 및 곱셈의 결과 값들을 더하는 가산기를 포함할 수 있다. 또한, 활성화 레이어의 연산을 위해, ALU는 미리 결정된 시그모이드 함수, Tanh 함수 또는 ReLU 함수 등에서 이용되는 가중치를 입력된 샘플 값에 곱하는 곱셈기, 및 곱한 결과와 소정 값을 비교하여 입력된 샘플 값을 다음 레이어로 전달할지를 판단하는 비교기를 포함할 수 있다.
이하에서, AI 설정부(238)가 업스케일 타겟을 결정하고, AI 업스케일부(236)가 업스케일 타겟에 맞춰 제 1 영상(115)을 AI 업스케일하는 방법을 설명한다.
일 실시예에서, AI 설정부(238)는 업스케일용 신경망에 세팅 가능한(또는 적용 가능한) 복수의 신경망 설정 정보를 저장할 수 있다.
여기서, 신경망 설정 정보는 업스케일용 신경망에 포함되는 컨볼루션 레이어의 수, 컨볼루션 레이어별 필터 커널의 개수, 각 필터 커널의 크기 또는 각 필터 커널의 파라미터 중 적어도 하나에 대한 정보를 포함할 수 있다.
복수의 신경망 설정 정보는 다양한 업스케일 타겟에 각각 대응될 수 있으며, 특정 업스케일 타겟에 대응되는 신경망 설정 정보에 기반하여 업스케일용 신경망이 동작할 수 있다.
일 실시예에서, 신경망 설정 정보에 따라 업스케일용 신경망이 서로 다른 구조를 가질 수 있다. 예를 들어, 신경망 설정 정보에 따라 업스케일용 신경망이 3개의 컨볼루션 레이어를 포함할 수 있고, 다른 신경망 설정 정보에 따라 업스케일용 신경망이 4개의 컨볼루션 레이어를 포함할 수 있다.
일 실시예에서, 신경망 설정 정보는 업스케일용 신경망에서 사용되는 필터 커널의 파라미터만을 포함할 수도 있다. 이 경우, 업스케일용 신경망의 구조는 변경되지 않는 대신, 신경망 설정 정보에 따라 필터 커널의 파라미터만이 달라질 수 있다.
AI 설정부(238)는 복수의 신경망 설정 정보 중 제 1 영상(115)의 AI 업스케일을 위한 신경망 설정 정보를 선택할 수 있다. 복수의 신경망 설정 정보는 복수의 어플리케이션들에 대응한다. 복수의 신경망 설정 정보는 복수의 어플리케이션들에 1:1로 대응할 수 있다.
예를 들어, 도 5에 도시된 것과 같이, 'P' 신경망 설정 정보는 'A' 어플리케이션에 대응하고, 'Q' 신경망 설정 정보는 'B' 어플리케이션에 대응하고, 'R' 신경망 설정 정보는 'C' 어플리케이션에 대응할 수 있다.
도 5는 3개의 어플리케이션과 3개의 신경망 설정 정보만을 도시하고 있지만, 서로 대응하는 어플리케이션과 신경망 설정 정보의 개수는 다양할 수 있다.
복수의 어플리케이션에 대응하는 복수의 신경망 설정 정보들은 복수의 어플리케이션으로부터 제공되는 영상에 따라 훈련되므로, AI 설정부(238)는 제 1 영상(115)을 획득하는 데 어느 어플리케이션이 이용된 것인지를 확인하고, 확인된 어플리케이션에 대응하는 신경망 설정 정보를 획득하여야 한다. 만약, 제 1 영상(115)이 'A' 어플리케이션을 통해 획득한 것이지만, 업스케일용 신경망의 동작을 위해 'P' 신경망 설정 정보 이외의 신경망 설정 정보를 선택한다면, 'A' 어플리케이션에 의한 영상 열화 특성을 적절하게 보상하지 못하게 된다.
복수의 신경망 설정 정보 중 제 1 영상(115)의 AI 업스케일을 위한 신경망 설정 정보가 선택되면, 선택된 신경망 설정 정보는 AI 업스케일부(236)로 전달되고, 선택된 신경망 설정 정보에 따라 동작하는 업스케일용 신경망에 기초하여 제 1 영상(115)이 처리될 수 있다.
예를 들어, AI 업스케일부(236)는 AI 설정부(238)로부터 신경망 설정 정보가 수신되면, 도 3에 도시된 업스케일용 신경망(300)의 제 1 컨볼루션 레이어(310), 제 2 컨볼루션 레이어(330) 및 제 3 컨볼루션 레이어(350)에 대해서, 각 레이어에 포함되는 필터 커널의 개수와 필터 커널의 파라미터들을, 상기 획득한 신경망 설정 정보에 포함된 값으로 설정한다.
구체적으로, AI 업스케일부(236)는 도 3에 도시된 업스케일용 신경망(300)의 어느 하나의 컨볼루션 레이어에서 이용되는 3 X 3 크기의 필터 커널의 파라미터들이 {1, 1, 1, 1, 1, 1, 1, 1, 1}이고, 신경망 설정 정보의 변경이 있는 경우, 필터 커널의 파라미터들을 변경된 신경망 설정 정보에 포함된 파라미터들인 {2, 2, 2, 2, 2, 2, 2, 2, 2}로 교체할 수 있는 것이다.
이하에서는, AI 설정부(238)가 복수의 신경망 설정 정보 중 제 1 영상(115)의 AI 업스케일에 적합한 신경망 설정 정보를 선택하기 위해 제 1 영상(115)에 대응하는 어플리케이션을 식별하는 방법에 대해 설명한다.
AI 설정부(238)는 파싱부(232)로부터 제공되는 AI 데이터에 기초하여 복수의 신경망 설정 정보 중 제 1 영상(115)의 AI 업스케일을 위한 신경망 설정 정보를 선택할 수 있다.
AI 데이터는, 제 1 영상(115)의 획득에 필요한 어플리케이션의 정보를 포함할 수 있다. 여기서, 어플리케이션의 정보는, 어플리케이션의 이름 등과 같이, 어플리케이션을 다른 어플리케이션과 구별할 수 있는 식별 정보를 포함할 수 있다.
일 실시예에서, AI 데이터에 제 1 영상(115)의 획득에 필요한 어플리케이션의 정보가 포함되어 있는 경우, AI 설정부(238)는 AI 데이터로부터 제 1 영상(115)에 대응하는 어플리케이션을 식별하고, 복수의 신경망 설정 정보 중 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택할 수 있다.
예를 들어, AI 데이터로부터 'A' 어플리케이션이 식별되었다면, AI 설정부(238)는 도 5에 도시된 'P' 신경망 설정 정보를 선택할 수 있다. 마찬가지로, AI 데이터로부터 'B' 어플리케이션이 식별되었다면, AI 설정부(238)는 도 5에 도시된 'Q' 신경망 설정 정보를 선택할 수 있다.
다른 실시예에서, AI 설정부(238)는 제 1 영상(115)의 획득을 위해 전자 장치(200)에서 실행된 어플리케이션을 식별하고, 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택할 수도 있다. AI 설정부(238)가 전자 장치(200)에서 실행된 어플리케이션을 직접 식별함으로써, AI 부호화 데이터에 AI 데이터가 포함되어 있지 않은 경우에도 제 1 영상(115)에 적합한 신경망 설정 정보를 선택할 수 있다.
AI 부호화 데이터에 어플리케이션 정보를 포함하는 AI 데이터가 포함되어 있지 않거나, 제 1 영상(115)의 획득을 위해 실행된 어플리케이션의 식별이 어려운 경우, 어플리케이션과 관련된 정보를 근거로 제 1 영상(115)이 어느 어플리케이션을 통해 제공된 것인지를 예측하여야 한다. 이에 대해 도 6을 참조하여 설명한다.
도 6은 신경망 설정 정보의 선택을 위한 여러 어플리케이션들과 관련된 정보를 도시하는 예시적인 도면이다.
전자 장치(200)는 프로바이더로부터 영상을 획득하는데 필요한 여러 어플리케이션들과 관련된 정보를 저장할 수 있다.
도 6에 도시된 바와 같이, 어플리케이션과 관련된 정보는, 어플리케이션을 운용하는 프로바이더의 정보, 어플리케이션에 대응하는 프로바이더로부터 영상을 획득하기 위해 웹 브라우저를 통해 접속하여야 할 주소 정보 또는 어플리케이션으로부터 획득 가능한 영상과 관련된 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에서, AI 데이터에 제 1 영상(115)의 프로바이더의 정보가 포함되어 있는 경우, AI 설정부(238)는 AI 데이터로부터 제 1 영상(115)의 프로바이더를 식별하고, 복수의 신경망 설정 정보 중 식별된 프로바이더에 대응하는 신경망 설정 정보를 선택할 수 있다.
다른 실시예에서, AI 설정부(238)는 제 1 영상(115)이 웹 브라우저를 통해 수신되었다면, 제 1 영상(115)의 획득을 위해 웹 브라우저가 접속한 주소 정보와 복수의 어플리케이션들과 관련된 주소 정보들을 비교하여 신경망 설정 정보를 선택할 수도 있다.
예를 들어, 제 1 영상(115)이 www.abc.com의 주소를 가진 서버로부터 획득되었다면, AI 설정부(238)는 제 1 영상(115)의 AI 업스케일을 위해 도 5에 도시된 'P' 신경망 설정 정보를 선택할 수 있다. 마찬가지로, 제 1 영상(115)이 www.cde.com의 주소를 가진 서버로부터 획득되었다면, AI 설정부(238)는 제 1 영상(115)의 AI 업스케일을 위해 도 5에 도시된 'R' 신경망 설정 정보를 선택할 수 있다.
제 1 영상(115)이 네트워크를 통해 프로바이더로부터 획득되었다면, 전술한 바와 같이, 어플리케이션의 정보, 프로바이더의 정보 및/또는 웹 브라우저가 접속한 주소를 통해 신경망 설정 정보를 선택할 수 있다. 특히, 제 1 영상(115)이 어플리케이션이나 웹 브라우저를 통해 스트리밍 방식으로 수신되는 경우에는 어플리케이션의 종류나 웹 브라우저가 접속한 주소의 식별이 용이하다. 그러나, 경우에 따라 어플리케이션의 정보, 프로바이더의 정보 및/또는 웹 브라우저가 접속한 주소를 확인하기 어려울 수 있다. 따라서, AI 설정부(238)는 제 1 영상(115) 관련 정보를 통해 제 1 영상(115)의 AI 업스케일을 위한 신경망 설정 정보를 선택할 수도 있다.
제 1 영상(115) 관련 정보를 통해 신경망 설정 정보를 선택하는 방법은 다음의 경우에 유용할 수 있다.
(1) 네트워크를 통해 제 1 영상(115)을 수신하여 저장한 후, 사용자 또는 인스트럭션의 요청에 따라 제 1 영상(115)을 범용의 동영상 재생 프로그램으로 재생하는 경우.
(2) 제 1 영상(115)이 전자 장치(200)의 사용자에 의해 촬영된 경우.
(3) 제 1 영상(115)이 프로바이더가 아닌 소스(source) 또는 개인(예를 들어, 친구, 가족 등)으로부터 획득한 경우.
위 세 가지 경우에는, 제 1 영상(115)에 대응하는 어플리케이션의 정보나 웹 브라우저가 접속한 주소를 식별하기 어려울 수 있으므로, 제 1 영상(115)과 관련된 정보와 어플리케이션으로부터 제공되는 영상의 정보를 비교하여 제 1 영상(115)이 어느 어플리케이션을 통해 제공되는 영상과 유사한지를 예측하는 것이다.
영상 관련 정보는, 영상의 파일명, 영상이 정지 영상인지 또는 동영상인지 여부, 영상의 해상도, 영상에 대응하는 영상 데이터의 비트레이트, 영상의 부호화에 이용된 코덱 타입, 영상의 부호화에 이용된 양자화 파라미터(Quantization Parameter), 영상의 선명도(sharpness), 영상의 아티팩트 특성 또는 영상 내 아티팩트의 종류(예를 들어, 링잉(ringing) 아티팩트, 블러링(blurring) 아티팩트, 또는 블록(block) 아티팩트 등) 중 적어도 하나를 포함할 수 있다. 전술한 복호화부(234)로부터 AI 설정부(238)로 제공되는 부호화 관련 정보는 영상 관련 정보로 이용될 수 있다.
복수의 어플리케이션들로부터 제공되는 영상들 및 영상 데이터들에 대한 특성은 미리 분석되어 전자 장치(200)에 저장될 수 있다. AI 설정부(238)는 복수의 어플리케이션들로부터 제공되는 영상들과 관련된 정보를 제 1 영상(115) 관련 정보와 비교하여 제 1 영상(115)이 어느 어플리케이션으로부터 제공되는 영상과 유사한지를 판단하거나, 어느 어플리케이션으로부터 제공된 것인지를 예측할 수 있다.
일 예로, 도 6에 도시된 바와 같이, 제 1 영상(115)의 해상도가 HD이고, 제 1 영상(115)에 대응하는 영상 데이터의 비트레이트가 10Mbps이고, 제 1 영상(115)이 HEVC로 부호화된 경우, AI 설정부(238)는 제 1 영상(115)이 'C'어플리케이션을 통해 획득되는 영상과 유사하다고 판단하고, 도 5에 도시된 복수의 신경망 설정 정보 중 'R' 신경망 설정 정보를 선택할 수 있다.
또 다른 예로, 제 1 영상(115)의 파일명에 'A' 어플리케이션과 관련된 단어가 포함되어 있으면, AI 설정부(238)는 제 1 영상(115)이 'A' 어플리케이션을 통해 획득된 것이라고 판단하고, 도 5에 도시된 복수의 신경망 설정 정보 중 'P' 신경망 설정 정보를 선택할 수 있다.
또 다른 예로, 제 1 영상(115)에 링잉(ringing) 아티팩트가 포함되어 있고, 'B' 어플리케이션을 통해 수신되는 영상에 주로 링잉 아티팩트가 포함되어 있다면, AI 설정부(238)는 제 1 영상(115)이 'B' 어플리케이션을 통해 획득된 것이라고 판단하고, 도 5에 도시된 복수의 신경망 설정 정보 중 'Q' 신경망 설정 정보를 선택할 수 있다.
일 실시예에 따라, 전자 장치(200)는 어플리케이션을 통해 제 1 영상(115)을 수신하여 저장할 때, 제 1 영상(115)을 획득하기 위해 실행된 어플리케이션에 대한 정보를 함께 저장할 수 있다. 전자 장치(200)는 제 1 영상(115)의 재생이 필요한 경우, 제 1 영상(115)의 수신시 저장된 어플리케이션에 대한 정보를 확인하여 제 1 영상(115)의 어플리케이션에 대응하는 신경망 설정 정보를 선택할 수도 있다.
한편, 일반적으로 영상은 휘도 성분의 영상과 크로마 성분의 두 개의 영상으로 구성된다. 많이 사용되는 4:2:0의 YUV 포맷의 경우, 휘도 성분의 영상의 크기는 크로마 성분의 영상의 크기보다 4배 크다. 이와 같이, 영상이 제 1 컬러 성분(예를 들어, 휘도)의 영상, 제 2 컬러 성분(예를 들어, 크로마(Cb))의 영상 및 제 3 컬러 성분(예를 들어, 크로마(Cr))의 영상으로 이루어지고, 이들의 크기가 동일하지 않을 때, 해당 영상을 효율적으로 AI 업스케일하기 위한 방안이 요구된다.
이하에서는, 영상이 제 1 컬러 성분의 영상, 제 2 컬러 성분의 영상 및 제 3 컬러 성분의 영상을 포함하고, 제 1 컬러 성분의 영상의 크기가 제 2 컬러 성분 및 제 3 컬러 성분의 영상의 크기보다 클 때 영상을 AI 업스케일하기 위한 업스케일용 신경망에 대해 설명한다.
도 7은 제 1 영상(115)의 AI 업스케일을 위한 업스케일용 신경망(700)을 나타내는 예시적인 도면이다.
도 7에 도시된 바와 같이, 업스케일용 신경망(700)은 제 1 스케일러(710), 제 1 컨볼루션 레이어(720), 제 2 컨볼루션 레이어(730), 제 3 컨볼루션 레이어(740), 깊이 공간 변환 레이어(depth to space layer)(750), 제 2 스케일러(760) 및 클리핑 레이어(770)를 포함할 수 있다.
제 1 영상(115)은 제 1 컬러 성분의 제 1 서브 영상(702), 제 2 컬러 성분의 제 2 서브 영상(704) 및 제 3 컬러 성분의 제 3 서브 영상(706)을 포함한다. 제 1 컬러 성분은 휘도 성분, 제 2 컬러 성분은 크로마(Cb) 성분, 제 3 컬러 성분은 크로마(Cr) 성분을 포함할 수 있다.
4:2:0의 YUV 포맷의 경우, 제 1 서브 영상(702)의 크기는 제 2 서브 영상(704) 및 제 3 서브 영상(706)보다 4배만큼 크다. 이러한 크기 차이를 보상하기 위해 제 2 서브 영상(704) 및 제 3 서브 영상(706)이 제 1 스케일러(710)로 입력된다.
제 1 스케일러(710)는 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 증가시킨다. 제 1 스케일러(710)는 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 제 1 서브 영상(702)과 동일하게 스케일링할 수 있다.
제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 제 1 서브 영상(702)과 동일하게 스케일링하는 이유는, 특정 크기의 필터 커널과 각 채널별 영상을 이용한 컨볼루션 연산의 결과들을 합산하기 위함이다.
구체적으로, 컨볼루션 연산 과정에서, 하나의 필터 커널은 입력된 영상들 각각과 컨볼루션 연산되고, 각 영상과의 컨볼루션 연산의 결과들은 서로 합산되어 필터 커널에 해당하는 하나의 특징 맵이 획득된다. 만약, 컨볼루션 연산의 대상이 되는 영상들의 크기가 서로 동일하지 않다면, 컨볼루션 연산 결과들의 크기 역시 동일하지 않게 되고, 그에 따라 컨볼루션 연산 결과들의 합산이 어려워진다.
제 1 스케일러(710)는 AI 기반이 아닌, 레거시 기반으로 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 증가시킬 수 있다. 레거시 기반의 스케일링은, 바이리니어(bilinear) 스케일, 바이큐빅(bicubic) 스케일, 란조스(lanczos) 스케일 또는 스테어 스탭(stair step) 스케일 중 적어도 하나를 포함할 수 있다. 실시예에 따라 제 1 스케일러(710)는 컨볼루션 레이어로 구현될 수도 있다.
제 1 서브 영상(702), 스케일링된 제 2 서브 영상(704) 및 스케일링된 제 3 서브 영상(706)은 제 1 컨볼루션 레이어(720)로 입력된다.
도 7에 도시된 제 1 컨볼루션 레이어(720)에 표시된 3X3X32는 3 x 3의 크기의 32개의 필터 커널을 이용하여 3개의 채널의 영상들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 32개의 필터 커널에 의해 32개의 특징 맵이 생성된다.
제 1 컨볼루션 레어어(720)에서 출력된 특징 맵들은 제 2 컨볼루션 레이어(730)로 입력된다. 제 2 컨볼루션 레이어(730)에 표시된 3X3X32는 3 x 3의 크기의 32개의 필터 커널을 이용하여 이전 레이어(720)에서 출력된 특징 맵들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 32개의 필터 커널에 의해 32개의 특징 맵이 생성된다.
제 2 컨볼루션 레어어(730)에서 출력된 특징 맵들은 제 3 컨볼루션 레이어(740)로 입력된다. 제 3 컨볼루션 레이어(740)에 표시된 3X3X(6n) (n은 자연수)는 3 x 3의 크기의 6n개의 필터 커널을 이용하여 이전 레이어(730)에서 출력된 특징 맵들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 6n개의 필터 커널에 의해 6n개의 특징 맵이 생성된다.
제 3 컨볼루션 레이어(740)에서 출력된 특징 맵들은 깊이 공간 변환 레이어(750)로 입력된다.
깊이 공간 변환 레이어(750)는, 이전 레이어(740)에서 출력된 특징 맵들의 개수를 감소시킨다. 구체적으로, 깊이 공간 변환 레이어(750)는 채널 방향의 샘플들을 하나의 채널의 공간 영역 상에 배치함으로써 채널의 개수를 감소시킬 수 있다.
깊이 공간 변환 레이어(750)의 동작에 대해서는 도 8을 참조하여 설명한다.
도 8은 도 7에 도시된 깊이 공간 변환 레이어(750)의 동작을 설명하기 위한 도면이다.
도 8은 4개의 채널에 해당하는 제 1 특징 맵(810), 제 2 특징 맵(820), 제 3 특징 맵(830) 및 제 4 특징 맵(840)이 깊이 공간 변환 레이어(750)에 의해 처리됨으로써 1개의 제 5 특징 맵(850)이 출력되는 상황을 도시하고 있다. 실시예에에 따라, 깊이 공간 변환 레이어(750)로 입력되는 채널 수와 깊이 공간 변환 레이어(750)에서 출력되는 채널 수는 다양하게 변경될 수 있다.
도 8에 도시된 바와 같이, 깊이 공간 변환 레이어(750)에서는, 제 1 특징 맵(810), 제 2 특징 맵(820), 제 3 특징 맵(830) 및 제 4 특징 맵(840)에 포함된 샘플들(815, 825, 835, 845)이 하나의 특징 맵 내에 배열됨으로써, 1개의 제 5 특징 맵(850)이 생성될 수 있다.
입력 특징 맵들의 샘플들을 배열하는 방식은 다양할 수 있다. 도 8은 제 1 특징 맵(810), 제 2 특징 맵(820), 제 3 특징 맵(830) 및 제 4 특징 맵(840) 내 동일 위치의 샘플들(815, 825, 835, 845)이 제 5 특징 맵(850) 내에서 서로 인접하게 배열되는 것으로 도시하고 있으나, 제 1 특징 맵(810), 제 2 특징 맵(820), 제 3 특징 맵(830) 및 제 4 특징 맵(840) 내 동일 위치의 샘플들(815, 825, 835, 845) 사이에 다른 샘플이 위치할 수도 있다.
다시 도 7을 참조하면, 깊이 공간 변환 레이어(750)는 입력된 6n개의 특징 맵들 중 4n개의 특징 맵의 샘플들을 조합하여 제 1 컬러 성분의 특징 맵(752)을 생성한다. 그리고, 깊이 공간 변환 레이어(750)는 6n개의 특징 맵들 중 나머지 n개의 특징 맵의 샘플들을 조합하여 제 2 컬러 성분의 특징 맵(754)을 생성하고, 6n개의 특징 맵들 중 나머지 n개의 특징 맵의 샘플들을 조합하여 제 3 컬러 성분의 특징 맵(756)을 생성한다.
전술한 바와 같이, 4:2:0의 YUV 포맷의 경우, 제 1 서브 영상(702)의 크기는 제 2 서브 영상(704) 및 제 3 서브 영상(706)보다 4배만큼 크므로, 이러한 크기 관계를 유지시켜주기 위해 4n개의 특징 맵들을 이용하여 제 1 컬러 성분의 특징 맵(752)을 생성하고, 각각 n개의 특징 맵들을 이용하여 제 2 컬러 성분의 특징 맵(754)과 제 3 컬러 성분의 특징 맵(756)을 생성하는 것이다. 이전 레이어(740)에서 출력되는 특징 맵들의 크기는 모두 동일하기 때문에, 4n개의 특징 맵들을 이용하여 제 1 컬러 성분의 특징 맵(752)을 생성하고, 각각 n개의 특징 맵들을 이용하여 제 2 컬러 성분의 특징 맵(754)과 제 3 컬러 성분의 특징 맵(756)을 생성함으로써, 제 1 컬러 성분의 특징 맵(752)의 크기가 제 2 컬러 성분의 특징 맵(754)과 제 3 컬러 성분의 특징 맵(756)보다 4배만큼 클 수 있다.
제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)이 제 1 스케일러(710) 또는 제 1 컨볼루션 레이어(720)로 입력되는 것과 별개로, 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)은 제 2 스케일러(760)로 입력될 수 있다.
제 2 스케일러(760)는 업스케일용 신경망(700)의 스케일링 배율에 따라 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 스케일링한다. 업스케일용 신경망(700)의 스케일링 배율이란, 제 1 영상(115)의 크기와 제 2 영상(125)의 크기 사이의 비율을 의미한다.
제 2 스케일러(760)는 AI 기반이 아닌, 레거시 기반으로 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 증가시킬 수 있다. 레거시 기반의 스케일링은, 바이리니어(bilinear) 스케일, 바이큐빅(bicubic) 스케일, 란조스(lanczos) 스케일 또는 스테어 스탭(stair step) 스케일 중 적어도 하나를 포함할 수 있다. 실시예에 따라 제 2 스케일러(760)는 컨볼루션 레이어로 구현될 수도 있다.
제 2 스케일러(760)에 의해 각각 스케일링된 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)은, 제 1 컬러 성분의 특징 맵(752), 제 2 컬러 성분의 특징 맵(754) 및 제 3 컬러 성분의 특징 맵(756) 각각에 더해진다. 이때, 동일한 컬러 성분의 영상과 특징 맵끼리 더해질 수 있다.
스킵 커넥션(skip connection) 구조의 제 2 스케일러(760)를 통해 제 2 영상(125)의 예측 버전(prediction version)이 획득되고, 제 1 스케일러(710) 내지 깊이 공간 변환 레이어(750)에 의해 제 2 영상(125)의 잔차 버전(residual version)의 획득된다. 제 2 영상(125)의 예측 버전과 잔차 버전이 더해짐으로써 제 2 영상(125)이 획득될 수 있다.
클리핑 레이어(770)는 제 2 스케일러(760)로부터 출력된 영상들과 깊이 공간 변환 레이어(750)로부터 출력된 특징 맵들의 합산 결과가 오버슈팅(over shooting)되는 것을 방지한다.
클리핑 레이어(770)는 제 2 스케일러(760)로부터 출력된 영상들과 깊이 공간 변환 레이어(750)로부터 출력된 특징 맵들을 합산한 결과의 샘플 값들을 하기 수학식 1에 따라 클리핑할 수 있다.
[수학식 1]
제 2 영상 = clip(res+skip, skip*ratio_lowerbound, skip*ratio_upperbound)
수학식 1에서, res는 제 2 영상(125)의 잔차 버전, 즉, 깊이 공간 변환 레이어(750)로부터 출력된 특징 맵들의 샘플들을 의미하고, skip은 제 2 영상(125)의 예측 버전, 즉, 제 2 스케일러(760)로부터 출력된 영상들의 샘플들을 의미한다. 또한, ratio_lowerbound 및 ratio_upperbound는 미리 결정된 값으로서, 제 2 영상(125)의 샘플 값들을 일정 범위 내로 제한하기 위한 값이다.
수학식 1을 참조하면, 제 2 스케일러(760)에 의해 스케일링된 제 1 서브 영상(702)(즉, skip)과 깊이 공간 변환 레이어(750)에 의해 출력되는 제 1 컬러 성분의 특징 맵(752)(즉, res)을 합산한 결과는, 제 2 스케일러(760)에 의해 스케일링된 제 1 서브 영상(702)(즉, skip)에 ratio_lowerbound와 ratio_upperbound를 곱한 값의 범위 내로 클리핑된다.
또한, 제 2 스케일러(760)에 의해 스케일링된 제 2 서브 영상(704)(즉, skip)과 깊이 공간 변환 레이어(750)에 의해 출력되는 제 2 컬러 성분의 특징 맵(754)(즉, res)을 합산한 결과는, 제 2 스케일러(760)에 의해 스케일링된 제 2 서브 영상(704)(즉, skip)에 ratio_lowerbound와 ratio_upperbound를 곱한 값의 범위 내로 클리핑된다.
또한, 제 2 스케일러(760)에 의해 스케일링된 제 3 서브 영상(706)(즉, skip)과 깊이 공간 변환 레이어(750)에 의해 출력되는 제 3 컬러 성분의 특징 맵(756)(즉, res)을 합산한 결과는, 제 2 스케일러(760)에 의해 스케일링된 제 3 서브 영상(706)(즉, skip)에 ratio_lowerbound와 ratio_upperbound를 곱한 값의 범위 내로 클리핑된다.
클리핑 레이어(770)의 클리핑 결과 제 1 컬러 성분의 제 4 서브 영상(782), 제 2 컬러 성분의 제 5 서브 영상(784) 및 제 3 컬러 성분의 제 6 서브 영상(786)을 포함하는 제 2 영상(125)이 획득될 수 있다.
일 실시예에서, 제 2 스케일러(760) 및/또는 클리핑 레이어(770)는 업스케일용 신경망(700)에서 생략될 수 있고, 컨볼루션 레이어의 개수는 다양하게 변경될 수 있다. 또한, 도 7에는 도시되어 있지 않지만, 도 3과 관련하여 설명한 하나 이상의 활성화 레이어가 업스케일용 신경망(700)에 포함될 수 있다. 또한, 도 7에 도시된 필터 커널의 크기 및 개수는 하나의 예시일 뿐이며, 구현 예에 따라 다양하게 변경될 수 있다.
한편, 도 7에 도시된 업스케일용 신경망(700)은 제 1 서브 영상(702)의 크기가 제 2 서브 영상(704) 및 제 3 서브 영상(706)보다 4배만큼 큰 경우에 대한 것이며, 제 1 서브 영상(702)의 크기가 제 2 서브 영상(704) 및 제 3 서브 영상(706)보다 k배만큼 크다면, 제 1 스케일러(710)의 스케일링 배율은 k가 된다. 그리고, 깊이 공간 변환 레이어(750)에서 제 1 컬러 성분의 특징 맵(752)을 생성하는데 a개의 특징 맵이 이용된다면, 제 2 컬러 성분의 특징 맵(754) 및 제 3 컬러 성분의 특징 맵(756)을 생성하는데 각각 a/k개의 특징 맵이 이용될 수 있다. 이를 위해 이전 레이어(740)에서 k+(a/k)+(a/k)개의 특징 맵이 출력될 수 있다.
도 9는 제 1 영상(115)의 AI 업스케일을 위한 다른 실시예에 따른 업스케일용 신경망(900)을 나타내는 예시적인 도면이다.
도 9에 도시된 바와 같이, 업스케일용 신경망(900)은 제 1 컨볼루션 레이어(910), 제 2 컨볼루션 레이어(920), 제 3 컨볼루션 레이어(930), 깊이 공간 변환 레이어(940), 스케일러(950) 및 클리핑 레이어(960)를 포함할 수 있다.
제 1 영상(115)은 제 1 컬러 성분의 제 1 서브 영상(702), 제 2 컬러 성분의 제 2 서브 영상(704) 및 제 3 컬러 성분의 제 3 서브 영상(706)을 포함한다. 제 1 컬러 성분은 휘도 성분, 제 2 컬러 성분은 크로마(Cb) 성분, 제 3 컬러 성분은 크로마(Cr) 성분을 포함할 수 있다.
4:2:0의 YUV 포맷의 경우, 제 1 서브 영상(702)의 크기는 제 2 서브 영상(704) 및 제 3 서브 영상(706)보다 4배만큼 크다. 이러한 크기 차이로 인해 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706) 중 제 1 서브 영상(702)만이 제 1 컨볼루션 레이어(910)로 입력된다.
도 9에 도시된 제 1 컨볼루션 레이어(910)에 표시된 3X3X32는 3 x 3의 크기의 32개의 필터 커널을 이용하여 1개의 채널의 영상들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 32개의 필터 커널에 의해 32개의 특징 맵이 생성된다.
제 1 컨볼루션 레어어(910)에서 출력된 특징 맵들은 제 2 컨볼루션 레이어(920)로 입력된다. 제 2 컨볼루션 레이어(920)에 표시된 3X3X32는 3 x 3의 크기의 32개의 필터 커널을 이용하여 이전 레이어에서 출력된 특징 맵들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 32개의 필터 커널에 의해 32개의 특징 맵이 생성된다.
제 2 컨볼루션 레어어(920)에서 출력된 특징 맵들은 제 3 컨볼루션 레이어(930)로 입력된다. 제 3 컨볼루션 레이어(930)에 표시된 3X3X16은 3 x 3의 크기의 16개의 필터 커널을 이용하여 이전 레이어(920)에서 출력된 특징 맵들에 대해 컨볼루션 처리를 하는 것을 예시한다. 컨볼루션 처리 결과 16개의 필터 커널에 의해 16개의 특징 맵이 생성된다.
제 3 컨볼루션 레이어(930)에서 출력된 특징 맵들은 깊이 공간 변환 레이어(940)로 입력된다.
깊이 공간 변환 레이어(940)는 제 3 컨볼루션 레이어(930)에서 출력된 특징 맵들의 샘플들을 조합하여 제 1 컬러 성분의 특징 맵(942)을 생성한다.
제 1 서브 영상(702)이 제 1 컨볼루션 레이어(910)로 입력되는 것과 별개로, 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)은 스케일러(950)로 입력될 수 있다.
스케일러(950)는 업스케일용 신경망(900)의 스케일링 배율에 따라 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 스케일링한다.
스케일러(950)는 AI 기반이 아닌, 레거시 기반으로 제 1 서브 영상(702), 제 2 서브 영상(704) 및 제 3 서브 영상(706)의 크기를 증가시킬 수 있다. 레거시 기반의 스케일링은, 바이리니어(bilinear) 스케일, 바이큐빅(bicubic) 스케일, 란조스(lanczos) 스케일 또는 스테어 스탭(stair step) 스케일 중 적어도 하나를 포함할 수 있다. 실시예에 따라 스케일러(950)는 컨볼루션 레이어로 구현될 수도 있다.
스케일러(950)에 의해 스케일링된 제 1 서브 영상(702)은 제 1 컬러 성분의 특징 맵(942)에 더해진다. 스케일러(950)에 의해 각각 스케일링된 제 2 서브 영상(704) 및 제 3 서브 영상(706)은 동일한 컬러 성분의 특징 맵이 존재하지 않으므로, 스케일러(950)에 의해 스케일링된 제 1 서브 영상(702)과 제 1 컬러 성분의 특징 맵(942)이 더해진 결과와 함께 그대로 클리핑 레이어(960)로 전달된다.
스킵 커넥션(skip connection) 구조의 스케일러(950)를 통해 제 1 컬러 성분의 제 4 서브 영상(972)의 예측 버전(prediction version)이 획득되고, 제 1 컨볼루션 레이어(910) 내지 깊이 공간 변환 레이어(940)에 의해 제 4 서브 영상(972)의 잔차 버전(residual version)이 획득된다. 제 4 서브 영상(972)의 예측 버전과 제 4 서브 영상(972)의 잔차 버전이 더해짐으로써 제 2 영상(125)을 구성하는 제 4 서브 영상(972)이 획득될 수 있다.
클리핑 레이어(960)는 스케일러(950)로부터 출력된 영상들과 깊이 공간 변환 레이어(940)로부터 출력된 특징 맵의 합산 결과가 오버슈팅되는 것을 방지한다.
클리핑 레이어(960)는 스케일러(950)로부터 출력된 영상들과 깊이 공간 변환 레이어(940)로부터 출력된 특징 맵의 합산 결과의 샘플 값들을 전술한 수학식 1에 따라 클리핑할 수 있다.
클리핑 레이어(960)의 클리핑 결과 제 1 컬러 성분의 제 4 서브 영상(972), 제 2 컬러 성분의 제 5 서브 영상(974) 및 제 3 컬러 성분의 제 6 서브 영상(976)을 포함하는 제 2 영상(125)이 획득될 수 있다.
일 실시예에서, 스케일러(950) 및/또는 클리핑 레이어(960)는 업스케일용 신경망(900)에서 생략될 수 있고, 컨볼루션 레이어의 개수는 다양하게 변경될 수 있다. 또한, 도 9에는 도시되어 있지 않지만, 도 3과 관련하여 설명한 하나 이상의 활성화 레이어가 업스케일용 신경망(900)에 포함될 수 있다. 또한, 도 9에 도시된 필터 커널의 크기 및 개수는 하나의 예시일 뿐이며, 구현 예에 따라 다양하게 변경될 수 있다.
도 9에 도시된 업스케일용 신경망(900)는 제 1 서브 영상(702)만에 대해서만 컨볼루션 처리를 하므로, 도 7에 도시된 업스케일용 신경망(700)에 비해 연산량이 대폭 감소될 수 있다.
이하에서는, 도 10을 참조하여 업스케일용 신경망(1000)의 훈련 방법에 대해 설명한다.
도 10은 업스케일용 신경망(1000)을 훈련시키는 방법을 설명하기 위한 도면이다.
업스케일용 신경망(1000)은 전술한 업스케일용 신경망(300, 700, 또는 900)의 구조를 가질 수 있다. 구현예에 따라, 업스케일용 신경망(1000)은 하나 이상의 컨볼루션 레이어를 포함하는 다양한 구조를 가질 수도 있다.
전술한 바와 같이, 제 1 영상(115)을 획득하는데 이용된 어플리케이션에 대응하는 신경망 설정 정보로 제 1 영상(115)에 대한 AI 업스케일이 수행된다. 제 1 영상(115)에 대한 AI 업스케일이 제 1 영상(115)의 획득에 이용된 어플리케이션에 의존하므로, 어플리케이션별로 특화된 신경망 설정 정보의 획득이 요구된다.
도 10에서, 제 1 훈련 영상(1010)(first training image)은 어플리케이션으로부터 획득되는 영상을 의미하고, 제 2 훈련 영상(1030)(second training image)은 제 1 훈련 영상(1010)으로부터 업스케일용 신경망(1000)을 통해 AI 업스케일된 영상을 의미한다. 또한, 제 1 훈련 영상(1010)은 원본 훈련 영상(1050)(original training image)이 어플리케이션 또는 어플리케이션을 운용하는 프로바이더에 의해 처리됨으로써 생성될 수 있다. 원본 훈련 영상(1050)이 어플리케이션 또는 어플리케이션을 운용하는 프로바이더에 의해 처리(예를 들어, 해상도 변환 및 부호화)되어 제 1 훈련 영상(1010)이 생성되고, 전자 장치(200) 또는 후술하는 훈련 장치(1100)의 요청에 따라 제 1 훈련 영상(1010)이 전자 장치(200) 또는 후술하는 훈련 장치(1100)로 제공될 수 있다. 예를 들어, 업스케일용 신경망(1000)의 훈련을 위해, 전자 장치(200) 또는 훈련 장치(1100)는 원본 훈련 영상(1050)을 프로바이더(또는 프로바이더에 의해 운용되는 서버)로 업로드하고, 프로바이더에 의해 처리된 제 1 훈련 영상(1010)을 어플리케이션을 통해 획득할 수 있다.
업스케일용 신경망(1000)은 제 2 훈련 영상(1030)과 원본 훈련 영상(1050) 사이의 비교 결과에 해당하는 손실 정보(1070)를 기초로 훈련된다.
구체적으로, 업스케일용 신경망(1000)은 미리 설정된 신경망 설정 정보에 따라 제 1 훈련 영상(1010)을 AI 업스케일하여 제 2 훈련 영상(1030)을 생성한다. 그리고, 업스케일용 신경망(1000)의 신경망 설정 정보는 제 2 훈련 영상(1030)과 원본 훈련 영상(1050) 사이의 비교 결과에 해당하는 손실 정보(1070)에 따라 갱신된다. 업스케일용 신경망(1000)은 손실 정보(1070)가 감소 또는 최소화되도록 신경망 설정 정보, 예를 들어, 파라미터를 갱신할 수 있다. 또한, 업스케일용 신경망(1000)은 손실 정보(1070)가 감소 또는 최소화되도록 신경망 설정 정보를 갱신할 수 있다.
제 2 훈련 영상(1030)과 원본 훈련 영상(1050) 사이의 비교 결과에 해당하는 손실 정보(1070)는 제 2 훈련 영상(1030)과 원본 훈련 영상(1050)의 차이에 대한 L1-norm 값, L2-norm 값, SSIM(Structural Similarity) 값, PSNR-HVS(Peak Signal-To-Noise Ratio-Human Vision System) 값, MS-SSIM(Multiscale SSIM) 값, VIF(Variance Inflation Factor) 값 또는 VMAF(Video Multimethod Assessment Fusion) 값 중 적어도 하나를 포함할 수 있다.
복수의 어플리케이션들에 대응하는 신경망 설정 정보들의 획득을 위해, 복수의 어플리케이션들로부터 제공되는 제 1 훈련 영상(1010)들을 훈련에 이용할 수 있다. 예를 들어, 제 1 어플리케이션을 통해 획득되는 제 1 훈련 영상(1010)에 기반한 업스케일용 신경망(1000)의 훈련 결과 제 1 어플리케이션에 대응하는 신경망 설정 정보가 획득될 수 있다. 그리고, 제 2 어플리케이션을 통해 획득되는 제 1 훈련 영상(1010)에 기반한 업스케일용 신경망(1000)의 훈련 결과 제 2 어플리케이션에 대응하는 신경망 설정 정보가 획득될 수 있다. 즉, 각각의 어플리케이션을 통해 제공되는 제 1 훈련 영상(1010)들로부터 업스케일용 신경망(1000)을 개별적으로 훈련시킴에 따라 복수의 어플리케이션에 각각 대응하는 복수의 신경망 설정 정보가 획득될 수 있다.
도 11은 훈련 장치(1100)에 의한 업스케일용 신경망(1000)의 훈련 과정을 설명하기 위한 도면이다.
도 10과 관련하여 설명한 업스케일용 신경망(1000)의 훈련은 훈련 장치(1100)에 의해 수행될 수 있다. 훈련 장치(1100)는 예를 들어, 전자 장치(200) 또는 별도의 서버일 수 있다. 훈련 결과 획득된 업스케일용 신경망(1000)의 신경망 설정 정보들은 전자 장치(200)에 저장된다.
도 11을 참조하면, 훈련 장치(1100)는 업스케일용 신경망(1000)의 신경망 설정 정보를 초기 세팅한다(S1110). 이에 의해, 업스케일용 신경망(1000)은 미리 결정된 신경망 설정 정보에 따라 동작할 수 있다. 신경망 설정 정보는 업스케일용 신경망(1000)에 포함되는 컨볼루션 레이어의 수, 컨볼루션 레이어별 필터 커널의 개수, 컨볼루션 레이어별 필터 커널의 크기 또는 각 필터 커널의 파라미터 중 적어도 하나에 대한 정보를 포함할 수 있다.
훈련 장치(1100)는 어플리케이션을 통해 획득되는 제 1 훈련 영상(1010)을 업스케일용 신경망(1000)으로 입력한다(S1120).
업스케일용 신경망(1000)은 초기 세팅된 신경망 설정 정보에 따라 제 1 훈련 영상(1010)을 처리하고, 제 1 훈련 영상(1010)으로부터 AI 업스케일된 제 2 훈련 영상(1030)을 출력한다(S1130).
훈련 장치(1100)는 제 2 훈련 영상(1030)과 원본 훈련 영상(1050)에 기초하여 손실 정보(1070)를 산출한다(S1140).
훈련 장치(1100)는 업스케일용 신경망(1000)으로 손실 정보(1070)를 제공하고, 업스케일용 신경망(1000)은 손실 정보(1070)에 기초한 역전사(back propagation) 과정을 통해 초기 세팅된 신경망 설정 정보를 갱신한다(S1150).
이후, 훈련 장치(1100) 및 업스케일용 신경망(1000)은 손실 정보(1070)들이 최소화될 때까지 S1120 내지 S1150 과정을 반복하면서 신경망 설정 정보를 갱신한다. 이 때, 각 반복 과정 동안 업스케일용 신경망(1000)은 이전 과정에서 갱신된 신경망 설정 정보에 따라 동작한다.
도 12는 일 실시예에 따른 전자 장치(200)에 의한 AI 복호화 방법을 나타내는 순서도이다.
S1210 단계에서, 전자 장치(200)는 제 1 영상(115)을 획득한다. 전자 장치(200)는 제 1 영상(115)에 대한 영상 데이터를 획득하고, 영상 데이터를 복호화하여 제 1 영상(115)을 획득할 수도 있다.
전자 장치(200)는 제 1 영상(115)을 네트워크를 통해 획득할 수 있고, 또는 제 1 영상(115)이 저장된 전자 장치(200)의 저장 매체로부터 제 1 영상(115)을 획득할 수도 있다.
S1220 단계에서, 전자 장치(200)는 제 1 영상(115)의 AI 업스케일이 필요한지를 판단한다. 전자 장치(200)는 제 1 영상(115)의 해상도를 기반으로 AI 업스케일이 필요한지를 판단할 수 있다.
일 예로, 전자 장치(200)는 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도 이하이면, AI 업스케일이 필요하지 않다고 판단하고, 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도보다 크다면, AI 업스케일이 필요하다고 판단할 수 있다.
다른 예로, 전자 장치(200)는 제 1 영상(115)의 해상도가 미리 결정된 제 2 해상도 이상이면, AI 업스케일이 필요하지 않다고 판단하고, 제 1 영상(115)의 해상도가 미리 결정된 제 2 해상도보다 작다면, AI 업스케일이 필요하다고 판단할 수 있다.
또 다른 예로, 전자 장치(200)는 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도와 제 2 해상도 사이의 값을 가지면, AI 업스케일이 필요하다고 판단하고, 제 1 영상(115)의 해상도가 미리 결정된 제 1 해상도와 제 2 해상도 사이의 범위를 벗어나면 AI 업스케일이 필요하지 않다고 판단할 수 있다.
AI 업스케일이 필요하다고 결정되면, S1230 단계에서, 전자 장치(200)는 제 1 영상(115)을 획득하는데 이용된 어플리케이션을 식별한다.
전자 장치(200)는 제 1 영상(115)을 획득하기 위해 필요한(또는 이용된) 어플리케이션 정보, 제 1 영상(115)을 획득하기 위해 웹 브라우저가 접속한 주소 정보, 제 1 영상(115)의 프로바이더 정보 또는 제 1 영상(115) 관련 정보 중 적어도 하나를 이용하여 제 1 영상(115)에 대응하는 어플리케이션을 식별할 수 있다.
제 1 영상(115)에 대응하는 어플리케이션을 식별 또는 예측하는 방법은 전술하였으므로, 상세한 설명을 생략한다.
S1240 단계에서, 전자 장치(200)는 미리 저장된 복수의 신경망 설정 정보 중 S1230 단계에서 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택한다.
S1250 단계에서, 전자 장치(200)는 선택된 신경망 설정 정보에 따라 동작하는 업스케일용 신경망으로 제 1 영상(115)을 AI 업스케일하여 제 2 영상(125)을 획득한다.
S1260 단계에서, 전자 장치(200)는 제 2 영상(125)을 출력한다. 전자 장치(200)는 제 2 영상(125)을 디스플레이로 출력할 수 있고, 디스플레이는 필요한 경우 제 2 영상(125)을 후처리한 후 재생할 수 있다.
S1220 단계에서 AI 업스케일이 필요하지 않다고 결정되면, S1270 단계에서, 전자 장치(200)는 제 1 영상(115)을 출력한다. 전자 장치(200)는 제 1 영상(115)을 디스플레이로 출력할 수 있고, 디스플레이는 필요한 경우 제 1 영상(115)을 후처리한 후 재생할 수 있다.
한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램 또는 인스트럭션으로 작성가능하고, 작성된 프로그램 또는 인스트럭션은 저장매체에 저장될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
한편, 상술한 신경망과 관련된 모델은, 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(예를 들어, 명령어(instruction)를 포함하는 프로그램 모듈)로 구현되는 경우, 신경망 모델은 컴퓨터로 읽을 수 있는 판독 가능한 기록매체에 저장될 수 있다.
또한, 신경망 모델은 하드웨어 칩 형태로 집적되어 전술한 전자 장치(200)의 일부가 될 수도 있다. 예를 들어, 신경망 모델은 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 애플리케이션 프로세서) 또는 그래픽 전용 프로세서(예를 들어, GPU)의 일부로 제작될 수도 있다.
또한, 신경망 모델은 다운로드 가능한 소프트웨어 형태로 제공될 수도 있다. 컴퓨터 프로그램 제품은 제조사 또는 전자 마켓을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션)을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.
이상, 본 개시의 실시예들을 상세하게 설명하였으나, 본 개시는 상기 실시예들에 한정되지 않고, 본 개시의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.

Claims (15)

  1. 영상을 재생하는 전자 장치에 있어서,
    디스플레이; 및
    프로세서를 포함하고,
    상기 프로세서는,
    제 1 영상을 획득하고,
    상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하고,
    복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하고,
    상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI (Artificial Intelligence) 업스케일하여 제 2 영상을 획득하고,
    상기 획득한 제 2 영상을 상기 디스플레이를 통해 출력하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    복수의 어플리케이션들을 통해 제공되는 영상들에 대한 정보와 상기 제 1 영상 관련 정보를 비교하여 상기 신경망 설정 정보를 선택하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 제 1 영상을 획득하기 위해 웹 브라우저가 접속한 주소를 확인하고,
    복수의 어플리케이션들에 대응하는 주소들과 상기 확인된 주소를 비교하여 상기 신경망 설정 정보를 선택하는, 전자 장치.
  4. 제1항에 있어서,
    상기 업스케일용 신경망은,
    원본 훈련 영상과, 복수의 어플리케이션들을 통해 제공되는 제 1 훈련 영상으로부터 상기 업스케일용 신경망에 의해 AI 업스케일된 제 2 훈련 영상의 비교에 기초하여 훈련되는, 전자 장치.
  5. 제4항에 있어서,
    상기 복수의 어플리케이션들 중 제 1 어플리케이션에 의해 제공되는 제 1 훈련 영상에 기반한 상기 업스케일용 신경망의 훈련을 통해 상기 제 1 어플리케이션에 대응하는 신경망 설정 정보가 획득되고,
    상기 복수의 어플리케이션들 중 제 2 어플리케이션에 의해 제공되는 제 1 훈련 영상에 기반한 상기 업스케일용 신경망의 훈련을 통해 상기 제 2 어플리케이션에 대응하는 신경망 설정 정보가 획득되는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 획득한 제 1 영상의 해상도와 미리 결정된 해상도의 비교에 기초하여 AI 업스케일의 수행 여부를 결정하고,
    상기 AI 업스케일을 수행하지 않는다는 결정에 기초하여, 상기 제 1 영상을 상기 디스플레이를 통해 출력하고,
    상기 AI 업스케일을 수행한다는 결정에 기초하여, 상기 제 2 영상을 상기 디스플레이를 통해 출력하는, 전자 장치.
  7. 제1항에 있어서,
    상기 제 1 영상은, 제 1 컬러 성분의 제 1 서브 영상, 제 2 컬러 성분의 제 2 서브 영상 및 제 3 컬러 성분의 제 3 서브 영상을 포함하고,
    상기 제 1 서브 영상의 크기는, 상기 제 2 서브 영상 크기 및 상기 제 3 서브 영상의 크기보다 크며,
    상기 업스케일용 신경망은,
    상기 제 2 서브 영상의 크기 및 상기 제 3 서브 영상의 크기를 상기 제 1 서브 영상과 동일하게 스케일링하는 제 1 스케일링 레이어;
    상기 제 1 서브 영상, 상기 스케일링된 제 2 서브 영상 및 상기 스케일링된 제 3 서브 영상을 컨볼루션 처리하는 적어도 하나의 컨볼루션 레이어; 및
    상기 적어도 하나의 컨볼루션 레이어로부터 출력되는 특징 맵들의 일부를 조합하여 상기 제 1 컬러 성분의 특징 맵, 상기 제 2 컬러 성분의 특징 맵 및 상기 제 3 컬러 성분의 특징 맵을 생성하는 깊이 공간 변환 레이어(depth to space layer)를 포함하되,
    상기 프로세서는,
    상기 제 1 컬러 성분의 특징 맵에 대응하는 제 1 컬러 성분의 제 4 서브 영상, 상기 제 2 컬러 성분의 특징 맵에 대응하는 제 2 컬러 성분의 제 5 서브 영상 및 상기 제 3 컬러 성분의 특징 맵에 대응하는 제 3 컬러 성분의 제 6 서브 영상을 포함하는 제 2 영상을 획득하는, 전자 장치.
  8. 제7항에 있어서,
    상기 제 1 서브 영상의 크기는, 상기 제 2 서브 영상의 크기 및 상기 제 3 서브 영상의 크기보다 n배(n은 자연수)만큼 크고,
    상기 제 1 컬러 성분의 특징 맵을 생성하는데 이용되는 특징 맵들의 개수는, 상기 제 2 컬러 성분의 특징 맵 및 상기 제 3 컬러 성분의 특징 맵을 생성하는데 이용되는 특징 맵들의 개수보다 n배만큼 많은, 전자 장치.
  9. 제7항에 있어서,
    상기 업스케일용 신경망은,
    상기 제 1 서브 영상, 상기 제 2 서브 영상 및 상기 제 3 서브 영상을 상기 업스케일용 신경망의 스케일링 배율에 기초하여 스케일링하는 제 2 스케일링 레이어를 더 포함하고,
    상기 프로세서는,
    상기 스케일링된 제 1 서브 영상을 제 1 컬러 성분의 특징 맵에 더하여 상기 제 4 서브 영상을 획득하고, 상기 스케일링된 제 2 서브 영상을 상기 제 2 컬러 성분의 특징 맵에 더하여 상기 제 5 서브 영상을 획득하고, 상기 스케일링된 제 3 서브 영상을 상기 제 3 컬러 성분의 특징 맵에 더하여 상기 제 6 서브 영상을 획득하는, 전자 장치.
  10. 제7항에 있어서,
    상기 제 4 서브 영상, 상기 제 5 서브 영상 및 상기 제 6 서브 영상의 샘플 값들은, 미리 결정된 범위 내의 값으로 클리핑(clipping)되는, 전자 장치.
  11. 제1항에 있어서,
    상기 제 1 영상은, 제 1 컬러 성분의 제 1 서브 영상, 제 2 컬러 성분의 제 2 서브 영상 및 제 3 컬러 성분의 제 3 서브 영상을 포함하고,
    상기 업스케일용 신경망은,
    상기 제 1 서브 영상을 컨볼루션 처리하는 적어도 하나의 컨볼루션 레이어; 및
    상기 적어도 하나의 컨볼루션 레이어로부터 출력되는 특징 맵들을 조합하여 상기 제 1 컬러 성분의 특징 맵을 생성하는 깊이 공간 변환 레이어(depth to space layer)를 포함하되,
    상기 프로세서는,
    상기 제 1 컬러 성분의 특징 맵에 대응하는 제 1 컬러 성분의 제 4 서브 영상, 상기 제 2 서브 영상으로부터 상기 업스케일용 신경망의 스케일링 배율만큼 스케일링된 상기 제 2 컬러 성분의 제 5 서브 영상, 및 상기 제 3 서브 영상으로부터 상기 업스케일용 신경망의 스케일링 배율만큼 스케일링된 상기 제 3 컬러 성분의 제 6 서브 영상을 포함하는 제 2 영상을 획득하는, 전자 장치.
  12. 영상을 재생하는 방법에 있어서,
    제 1 영상을 획득하는 단계;
    상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하는 단계;
    복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는 단계;
    상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI(Artificial Intelligence) 업스케일하여 제 2 영상을 획득하는 단계; 및
    상기 획득한 제 2 영상을 디스플레이로 제공하는 단계를 포함하는, 영상 재생 방법.
  13. 제12항에 있어서,
    상기 신경망 설정 정보를 선택하는 단계는,
    복수의 어플리케이션을 통해 제공되는 영상들에 대한 정보와 상기 제 1 영상 관련 정보의 비교에 기초하여 상기 신경망 설정 정보를 선택하는 단계를 포함하는, 영상 재생 방법.
  14. 제12항에 있어서,
    상기 신경망 설정 정보를 선택하는 단계는,
    상기 제 1 영상을 획득하기 위해 웹 브라우저가 접속한 주소를 식별하는 단계; 및
    복수의 어플리케이션들에 대응하는 주소들과 상기 식별된 주소를 비교하여 상기 신경망 설정 정보를 선택하는 단계를 포함하는, 영상 재생 방법.
  15. 컴퓨터에 의해 실행될 수 있는 영상 재생 방법을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 영상 재생 방법은,
    제 1 영상을 획득하는 단계;
    상기 제 1 영상을 획득하기 위해 이용된 어플리케이션을 식별하는 단계;
    복수의 신경망(Neural Network) 설정 정보 중 상기 식별된 어플리케이션에 대응하는 신경망 설정 정보를 선택하는 단계;
    상기 선택된 신경망 설정 정보가 적용된 업스케일용 신경망을 이용하여 상기 제 1 영상을 AI(Artificial Intelligence) 업스케일하여 제 2 영상을 획득하는 단계; 및
    상기 획득한 제 2 영상을 디스플레이로 제공하는 단계를 포함하는, 기록매체.
PCT/KR2022/011855 2021-08-10 2022-08-09 어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법 WO2023018179A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280040979.8A CN117480507A (zh) 2021-08-10 2022-08-09 根据应用基于ai来回放图像的电子装置以及用于通过该电子装置来回放图像的方法
EP22856176.7A EP4322057A1 (en) 2021-08-10 2022-08-09 Electronic device for playing back image on basis of ai in accordance with application, and method for playing back image by means of same
US17/893,754 US20240054602A1 (en) 2021-08-10 2022-08-23 Electronic apparatus and method for reproducing image based on artificial intelligence according to application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210105605A KR20230023460A (ko) 2021-08-10 2021-08-10 어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법
KR10-2021-0105605 2021-08-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/893,754 Continuation US20240054602A1 (en) 2021-08-10 2022-08-23 Electronic apparatus and method for reproducing image based on artificial intelligence according to application

Publications (1)

Publication Number Publication Date
WO2023018179A1 true WO2023018179A1 (ko) 2023-02-16

Family

ID=85200110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/011855 WO2023018179A1 (ko) 2021-08-10 2022-08-09 어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법

Country Status (5)

Country Link
US (1) US20240054602A1 (ko)
EP (1) EP4322057A1 (ko)
KR (1) KR20230023460A (ko)
CN (1) CN117480507A (ko)
WO (1) WO2023018179A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150088121A (ko) * 2014-01-23 2015-07-31 세종대학교산학협력단 Mpeg-7 서술자 처리과정에서의 이미지 필터링 방법 및 장치
KR101993001B1 (ko) * 2019-01-16 2019-06-25 영남대학교 산학협력단 영상 하이라이트 제작 장치 및 방법
KR20190103047A (ko) * 2018-02-27 2019-09-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 영상표시장치
KR102190483B1 (ko) * 2018-04-24 2020-12-11 주식회사 지디에프랩 Ai 기반의 영상 압축 및 복원 시스템
KR20210067783A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 그 제어 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150088121A (ko) * 2014-01-23 2015-07-31 세종대학교산학협력단 Mpeg-7 서술자 처리과정에서의 이미지 필터링 방법 및 장치
KR20190103047A (ko) * 2018-02-27 2019-09-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 영상표시장치
KR102190483B1 (ko) * 2018-04-24 2020-12-11 주식회사 지디에프랩 Ai 기반의 영상 압축 및 복원 시스템
KR101993001B1 (ko) * 2019-01-16 2019-06-25 영남대학교 산학협력단 영상 하이라이트 제작 장치 및 방법
KR20210067783A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 그 제어 방법 및 시스템

Also Published As

Publication number Publication date
CN117480507A (zh) 2024-01-30
US20240054602A1 (en) 2024-02-15
KR20230023460A (ko) 2023-02-17
EP4322057A1 (en) 2024-02-14

Similar Documents

Publication Publication Date Title
WO2020080665A1 (en) Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
WO2017065525A2 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2016064185A1 (ko) 최적화 함수를 이용하여 그래프 기반 예측을 수행하는 방법 및 장치
WO2020071830A1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
WO2020080698A1 (ko) 영상의 주관적 품질을 평가하는 방법 및 장치
WO2019009489A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2015009107A1 (en) Method and apparatus for generating 3k-resolution display image for mobile terminal screen
EP3844962A1 (en) Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image
WO2017014585A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020189982A1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
WO2020180119A1 (ko) Cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
WO2020141879A1 (ko) 영상 코딩 시스템에서 서브 블록 기반 시간적 머지 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2021172834A1 (en) Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing
WO2021096057A1 (ko) 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
WO2021040400A1 (ko) 팔레트 모드 기반 영상 또는 비디오 코딩
WO2021101243A1 (en) Apparatus and method for using ai metadata related to image quality
WO2019009447A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2021040398A1 (ko) 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩
WO2020076069A1 (ko) Atmvp 후보를 기반으로 영상 코딩을 수행하는 장치
WO2022071647A1 (en) Video quality assessment method and apparatus
WO2021034161A1 (ko) 인트라 예측 장치 및 방법
WO2019009620A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2023018179A1 (ko) 어플리케이션에 따라 ai 기반으로 영상을 재생하는 전자 장치 및 이에 의한 영상 재생 방법
WO2016056709A1 (ko) 이미지 재부호화 방법 및 그 장치
WO2021096252A1 (en) Image providing apparatus and image providing method thereof, and display apparatus and display method thereof

Legal Events

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

Ref document number: 22856176

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022856176

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022856176

Country of ref document: EP

Effective date: 20231108

NENP Non-entry into the national phase

Ref country code: DE