WO2024039035A1 - 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법 - Google Patents
영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법 Download PDFInfo
- Publication number
- WO2024039035A1 WO2024039035A1 PCT/KR2023/008464 KR2023008464W WO2024039035A1 WO 2024039035 A1 WO2024039035 A1 WO 2024039035A1 KR 2023008464 W KR2023008464 W KR 2023008464W WO 2024039035 A1 WO2024039035 A1 WO 2024039035A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- frame
- network model
- scene type
- electronic device
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims description 34
- 238000003062 neural network model Methods 0.000 claims abstract description 260
- 238000004891 communication Methods 0.000 claims abstract description 82
- 230000015654 memory Effects 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 21
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Definitions
- This disclosure relates to an electronic device and a control method thereof, and more specifically, to an electronic device that performs image processing and a control method thereof.
- an electronic device includes a memory storing a first neural network model, a communication interface, and at least one processor connected to the memory and the communication interface to control the electronic device. It includes, wherein the processor inputs the first frame included in the content into the first neural network model to identify the scene type of the first frame, and uses the communication interface to transmit the scene type of the first frame to the server.
- Control receive a second neural network model and a first parameter corresponding to the scene type of the first frame from the server through the communication interface, update the first neural network model with the second neural network model, and
- the first frame is image processed based on 1 parameter
- the second neural network model may be one of a plurality of second neural network models each corresponding to a plurality of scene types that can be output from the first neural network model.
- the processor inputs a second frame after the first frame into the second neural network model to identify the scene type of the second frame, and transmits the scene type of the second frame to the server.
- the second frame is image processed based on a second parameter
- the third neural network model may be one of a plurality of third neural network models each corresponding to a plurality of scene types that can be output from the second neural network model.
- the processor preprocesses the second frame to obtain a plurality of feature points, and if the second frame corresponds to the scene type of the first frame based on the plurality of feature points, the second frame
- the scene type of the second frame may be identified by inputting the frame into the second neural network model.
- the memory further stores a basic neural network model
- the processor stores the second frame in the basic neural network model when the second frame does not correspond to the scene type of the first frame based on the plurality of feature points. is input to identify the scene type of the second frame
- the basic neural network model may be a neural network model of the highest layer among a plurality of neural network models stored in a hierarchical tree structure in the server.
- the processor receives a user input for an operation mode through the user interface, and if the operation mode is a first mode, updates the second neural network model to the third neural network model, If the operation mode is the second mode, the second neural network model may not be updated to the third neural network model.
- the memory further stores a plurality of image processing engines, and the processor processes frames included in the content using an image processing engine corresponding to a scene type of a frame included in the content among the plurality of image processing engines.
- Video can be processed.
- the processor may update the scene type of the frame included in the content at preset intervals.
- the memory further stores a basic neural network model, and if the number of times the scene type is identified through one neural network model is more than a preset number, the processor identifies the scene type using the basic neural network model, and the basic
- the neural network model may be a neural network model of the highest layer among a plurality of neural network models stored in a hierarchical tree structure on the server.
- It may further include a display, and the processor may control the display to display the image-processed first frame.
- a server includes a communication interface, a memory storing a plurality of neural network models configured in a hierarchical tree structure and a plurality of parameters, and the memory and the communication interface. and at least one processor connected to and controlling the server, wherein the processor receives a scene type of a first frame included in content from an electronic device through the communication interface, and the first of the plurality of neural network models.
- the communication interface may be controlled to transmit a first neural network model corresponding to the scene type of the frame and a first parameter corresponding to the scene type of the first frame among the plurality of parameters to the electronic device.
- the processor receives a scene type of a second frame after the first frame from the electronic device through the communication interface, and creates a second neural network model corresponding to the scene type of the second frame among the plurality of neural network models. and controlling the communication interface to transmit a second parameter corresponding to a scene type of the second frame among the plurality of parameters to the electronic device, wherein the second neural network model is a plurality of scenes that can be output from the first neural network model. It may be one of a plurality of second neural network models, each corresponding to a type.
- a method for controlling an electronic device includes inputting a first frame included in content into a first neural network model to identify a scene type of the first frame, the scene of the first frame transmitting a type to a server, receiving a second neural network model and a first parameter corresponding to the scene type of the first frame from the server, and updating the first neural network model to the second neural network model, A step of image processing the first frame based on a first parameter, wherein the second neural network model may be one of a plurality of second neural network models each corresponding to a plurality of scene types that can be output from the first neural network model. You can.
- the third neural network model may be one of a plurality of third neural network models each corresponding to a plurality of scene types that can be output from the second neural network model.
- the step of identifying the scene type of the second frame includes preprocessing the second frame to obtain a plurality of feature points, and based on the plurality of feature points, the second frame is a scene of the first frame. If it corresponds to the type, the scene type of the second frame can be identified by inputting the second frame into the second neural network model.
- the step of identifying the scene type of the second frame includes, if the second frame does not correspond to the scene type of the first frame based on the plurality of feature points, inputting the second frame into a basic neural network model
- the scene type of the second frame is identified, and the basic neural network model may be a highest-layer neural network model among a plurality of neural network models stored in a hierarchical tree structure in the server.
- the image processing of the second frame includes updating the second neural network model to the third neural network model if the operation mode is a first mode, If the operation mode is the second mode, the second neural network model may not be updated to the third neural network model.
- the frame included in the content may be image processed using an image processing engine corresponding to the scene type of the frame included in the content among a plurality of image processing engines.
- the scene type of the frame included in the content may be updated at preset intervals.
- the method further includes identifying the scene type using a basic neural network model, wherein the basic neural network model is stored in a hierarchical tree structure on the server. It may be the highest layer neural network model among a plurality of neural network models stored as .
- the step of displaying the image-processed first frame may be further included.
- FIGS. 1A and 1B are diagrams for explaining a method of classifying images.
- Figure 2 is a block diagram showing the configuration of an electronic system according to an embodiment of the present disclosure.
- Figure 3 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
- Figure 4 is a block diagram showing the detailed configuration of an electronic device according to an embodiment of the present disclosure.
- Figure 5 is a block diagram showing the configuration of a server according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining the operation of an electronic device and a server according to an embodiment of the present disclosure.
- FIG. 7 is a diagram illustrating a plurality of neural network models configured with a hierarchical tree structure according to an embodiment of the present disclosure.
- FIG. 8 is a diagram for explaining in more detail a plurality of neural network models composed of a hierarchical tree structure according to an embodiment of the present disclosure.
- FIG. 9 is a diagram for explaining information on a plurality of parameters according to an embodiment of the present disclosure.
- FIG. 10 is a diagram for explaining an operation after classification of a scene type according to an embodiment of the present disclosure.
- FIG. 11 is a flowchart illustrating an update of a scene type according to an embodiment of the present disclosure.
- FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
- the purpose of the present disclosure is to provide an electronic device that performs high-performance image processing even when using low-specification hardware and a control method thereof.
- expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
- a or/and B should be understood as referring to either “A” or “B” or “A and B”.
- expressions such as “first,” “second,” “first,” or “second,” can modify various components regardless of order and/or importance, and can refer to one component. It is only used to distinguish from other components and does not limit the components.
- the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.
- a device eg, an artificial intelligence electronic device
- FIGS. 1A and 1B are diagrams for explaining a method of classifying images.
- the scene type of an image or content may be classified using a single neural network model.
- hardware consumption increases as scene types become more diverse.
- a local region may be defined by moving motion, and image scene categories may be classified based on the local region pixel level and local histogram. In this case, the accuracy is high, but preprocessing is difficult.
- classifiers In both cases, classifiers, network coefficients, etc. are fixed, so upgrading may be difficult.
- FIG. 2 is a block diagram showing the configuration of an electronic system 1000 according to an embodiment of the present disclosure. As shown in FIG. 2, the electronic system 1000 includes an electronic device 100 and a server 200.
- the electronic device 100 is a device that identifies a scene type and performs image processing corresponding to the scene type.
- the electronic device 100 includes a computer body, a set-top box (STB), an AI speaker, a TV, a desktop PC, a laptop, It can be implemented in smartphones, tablet PCs, smart glasses, smart watches, etc. However, it is not limited to this, and the electronic device 100 may be any device that can identify a scene type and perform image processing corresponding to the scene type.
- the electronic device 100 may receive a neural network model from the server 200 and identify a scene type using the neural network model.
- the electronic device 100 may transmit the scene type to the server 200, receive parameters corresponding to the scene type from the server 200, and image process the content using the parameters.
- the server 200 stores a plurality of neural network models and a plurality of parameters structured in a hierarchical tree structure, and may provide one of the plurality of neural network models to the electronic device 100.
- the server 200 may provide parameters corresponding to the scene type to the electronic device 100. Additionally, the server 200 may provide a neural network model corresponding to the scene type to the electronic device 100.
- the server 200 may update a plurality of neural network models based on new sample data.
- the coefficients of multiple neural network models may vary depending on updates, and the tree structure may change.
- FIG. 3 is a block diagram showing the configuration of an electronic device 100 according to an embodiment of the present disclosure.
- the electronic device 100 includes a memory 110, a communication interface 120, and a processor 130.
- the memory 110 may refer to hardware that stores information such as data in electrical or magnetic form so that the processor 130 or the like can access it. To this end, the memory 110 may be implemented with at least one hardware selected from non-volatile memory, volatile memory, flash memory, hard disk drive (HDD) or solid state drive (SSD), RAM, ROM, etc. .
- At least one instruction necessary for operation of the electronic device 100 or the processor 130 may be stored in the memory 110.
- an instruction is a code unit that instructs the operation of the electronic device 100 or the processor 130, and may be written in machine language, a language that a computer can understand.
- a plurality of instructions for performing specific tasks of the electronic device 100 or the processor 130 may be stored in the memory 110 as an instruction set.
- the memory 110 may store data, which is information in units of bits or bytes that can represent letters, numbers, images, etc.
- data which is information in units of bits or bytes that can represent letters, numbers, images, etc.
- a neural network model, an image processing engine, etc. may be stored in the memory 110.
- the memory 110 is accessed by the processor 130, and the processor 130 can read/write/modify/delete/update instructions, instruction sets, or data.
- the communication interface 120 is a configuration that performs communication with various types of external devices according to various types of communication methods.
- the electronic device 100 may communicate with the server 200 or a user terminal through the communication interface 120.
- the communication interface 120 may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, etc.
- each communication module may be implemented in the form of at least one hardware chip.
- the WiFi module and Bluetooth module communicate using WiFi and Bluetooth methods, respectively.
- various connection information such as SSID and session key are first transmitted and received, and various information can be transmitted and received after establishing a communication connection using this.
- the infrared communication module performs communication according to infrared communication (IrDA, infrared data association) technology, which transmits data wirelessly over a short distance using infrared rays between optical light and millimeter waves.
- IrDA infrared data association
- wireless communication modules include zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), and 5G. It may include at least one communication chip that performs communication according to various wireless communication standards such as (5th Generation).
- the communication interface 120 may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, etc.
- the communication interface 120 may include at least one of a LAN (Local Area Network) module, an Ethernet module, or a wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
- LAN Local Area Network
- Ethernet Ethernet
- wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
- the processor 130 generally controls the operation of the electronic device 100. Specifically, the processor 130 is connected to each component of the electronic device 100 and can generally control the operation of the electronic device 100. For example, the processor 130 may be connected to components such as the memory 110, the communication interface 120, and the display (not shown) to control the operation of the electronic device 100.
- the processor 130 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON).
- DSP digital signal processor
- MCU micro controller unit
- MPU micro processing unit
- AP application processor
- CP communication processor
- ARM processor ARM processor It may include one or more of the following, or may be defined by the corresponding term.
- the processor 130 may be implemented as a System on Chip (SoC) with a built-in processing algorithm, a large scale integration (LSI), or an FPGA (FPGA). It can also be implemented in the form of a Field Programmable gate array.
- SoC System on Chip
- LSI large scale integration
- FPGA field Programmable gate array
- the processor 130 may be implemented as a single processor or as a plurality of processors. However, hereinafter, for convenience of explanation, the operation of the electronic device 100 will be described using the term processor 130.
- the processor 130 may input the first frame included in the content into the first neural network model stored in the memory 110 to identify the scene type of the first frame.
- the processor 130 may input the first frame included in the content into the first neural network model and identify that the scene type of the first frame is a movie type.
- the first neural network model may be a neural network model received from the server 200 based on the scene type of the previous frame of the first frame.
- the first neural network model may be a basic neural network model that is the highest layer neural network model among a plurality of neural network models stored in a hierarchical tree structure in the server 200.
- the processor 130 controls the communication interface 130 to transmit the scene type of the first frame to the server 200, and receives a first message corresponding to the scene type of the first frame from the server 200 through the communication interface 130.
- a neural network model and a first parameter may be received.
- the second neural network model may be one of a plurality of second neural network models each corresponding to a plurality of scene types that can be output from the first neural network model.
- the plurality of scene types that can be output from the first neural network model are movie type, sports type, game type, and documentary type
- the plurality of second neural network models correspond to the movie type, the second neural network model, and the sports type. It may include a second neural network model, a second neural network model corresponding to the game type, and a second neural network model corresponding to the documentary type.
- the processor 130 controls the communication interface 130 to transmit a movie type, which is the scene type of the first frame, to the server 200, and transmits a second movie type corresponding to the movie type from the server 200 through the communication interface 130.
- a first parameter corresponding to the neural network model and movie type may be received.
- the processor 130 may update the first neural network model to the second neural network model and image process the first frame based on the first parameter.
- the processor 130 may update the first neural network model to a second neural network model if the first neural network model is not a basic neural network model, and may additionally store the second neural network model if the first neural network model is a basic neural network model.
- the processor 130 may identify the scene type of the second frame by inputting the second frame after the first frame into the second neural network model. For example, the processor 130 may input the second frame into a second neural network model and identify that the scene type of the second frame is a black-and-white movie type.
- the processor 130 controls the communication interface 120 to transmit the scene type of the second frame to the server 200, and transmits the scene type of the second frame from the server 200 through the communication interface 120.
- a neural network model and a second parameter may be received.
- the third neural network model may be one of a plurality of third neural network models each corresponding to a plurality of scene types that can be output from the second neural network model.
- the processor 130 may update the second neural network model to the third neural network model and image process the second frame based on the second parameter. Accordingly, a maximum of two neural network models stored in the memory 110 can be maintained, making it possible to identify scene types using various neural network models while reducing the capacity of the memory 110.
- the processor 130 identifies the scene type in more detail by using one of a plurality of neural network models implemented in a hierarchical tree structure step by step, and processes the image using parameters corresponding to the detailed identified scene type. can be performed.
- the processor 130 preprocesses the second frame to obtain a plurality of feature points, and when the second frame corresponds to the scene type of the first frame based on the plurality of feature points, the second frame is connected to the second neural network.
- the scene type of the second frame can be identified by inputting it into the model.
- the memory 110 further stores the basic neural network model
- the processor 130 stores the second frame in the basic neural network model when the second frame does not correspond to the scene type of the first frame based on a plurality of feature points.
- the scene type of the second frame may be identified by inputting the scene type. That is, if the processor 130 identifies that the scene type has changed, the processor 130 may identify the scene type using a basic neural network model.
- the electronic device 100 further includes a user interface (not shown), and the processor 130 receives a user input for an operation mode through the user interface, and, if the operation mode is the first mode, converts the second neural network model to the third mode. If the neural network model is updated and the operation mode is the second mode, the second neural network model may not be updated to the third neural network model. Through this operation, the load on the electronic device 100 may be reduced.
- the memory 110 further stores a plurality of image processing engines, and the processor 130 converts the frame included in the content into an image using an image processing engine corresponding to the scene type of the frame included in the content among the plurality of image processing engines. It can be handled. For example, the processor 130 identifies an image processing engine corresponding to the scene type of a frame included in the content among a plurality of image processing engines, receives parameters corresponding to the scene type from the server 200, and sets the parameters. It is also possible to perform image processing of frames by applying it to an image processing engine. Through this operation, the processor 130 can perform image processing optimized for the scene type.
- the processor 130 may update the scene type of the frame included in the content at preset intervals. For example, the processor 130 may update the scene type of a frame included in the content every 600 seconds. That is, the processor 130 sequentially identifies the scene types of frames included in the content, but the timing of transmission to the server 200 may be at a preset interval. However, the present invention is not limited to this, and the processor 130 may identify the scene type of the frame included in the content at preset intervals.
- the processor 130 may identify the scene type using a basic neural network model. Through this operation, the scene type identification operation can be periodically initialized.
- the electronic device 100 further includes a display (not shown), and the processor 130 can control the display to display the image-processed first frame.
- functions related to artificial intelligence may be operated through the processor 130 and memory 110.
- the processor 130 may be comprised of one or multiple processors.
- one or more processors may be general-purpose processors such as CPU, AP, DSP, graphics-specific processors such as GPU and VPU (Vision Processing Unit), or artificial intelligence-specific processors such as NPU.
- One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in the memory 110.
- the artificial intelligence dedicated processors may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
- Predefined operation rules or artificial intelligence models are characterized by being created through learning.
- created through learning means that a basic artificial intelligence model is learned using a large number of learning data by a learning algorithm, thereby creating a predefined operation rule or artificial intelligence model set to perform the desired characteristics (or purpose). It means burden.
- This learning may be accomplished in the device itself that performs artificial intelligence according to the present disclosure, or may be accomplished through a separate server and/or system. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
- An artificial intelligence model may be composed of multiple neural network layers.
- Each of the plurality of neural network layers has a plurality of weight values, and neural network calculation is performed through calculation between the calculation result of the previous layer and the plurality of weights.
- Multiple weights of multiple neural network layers can be optimized by the learning results of the artificial intelligence model. For example, a plurality of weights may be updated so that loss or cost values obtained from the artificial intelligence model are reduced or minimized during the learning process.
- DNN deep neural networks
- CNN Convolutional Neural Network
- DNN Deep Neural Network
- RNN Recurrent Neural Network
- RBM Restricted Boltzmann Machine
- DNN Deep Belief Network
- BDN Bidirectional Recurrent Deep Neural Network
- GAN Generative Adversarial Network
- DNN Deep Q-Networks
- FIG. 4 is a block diagram showing the detailed configuration of the electronic device 100 according to an embodiment of the present disclosure.
- FIG. 4 is a block diagram showing the detailed configuration of the electronic device 100 according to an embodiment of the present disclosure.
- the electronic device 100 may include a memory 110, a communication interface 120, and a processor 130. Additionally, according to FIG. 4 , the electronic device 100 may further include a display 140, a user interface 150, a camera 160, a microphone 170, and a speaker 180. Among the components shown in FIG. 4, detailed descriptions of parts that overlap with the components shown in FIG. 3 will be omitted.
- the display 140 is a component that displays images and may be implemented as various types of displays, such as a Liquid Crystal Display (LCD), Organic Light Emitting Diodes (OLED) display, or Plasma Display Panel (PDP).
- the display 140 may also include a driving circuit and a backlight unit that may be implemented in the form of a-si TFT, low temperature poly silicon (LTPS) TFT, or organic TFT (OTFT).
- the display 130 may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, etc.
- the user interface 150 may be implemented with buttons, a touch pad, a mouse, and a keyboard, or may be implemented with a touch screen that can also perform a display function and a manipulation input function.
- the button may be various types of buttons such as mechanical buttons, touch pads, wheels, etc. formed on any area of the exterior of the main body of the electronic device 100, such as the front, side, or back.
- the camera 160 is configured to capture still images or moving images.
- the camera 160 can capture still images at a specific point in time, but can also capture still images continuously.
- the camera 160 can capture the actual environment in front of the electronic device 100 by photographing the front of the electronic device 100 .
- the processor 130 may identify the scene type of the image captured through the camera 160.
- the camera 160 includes a lens, a shutter, an aperture, a solid-state imaging device, an analog front end (AFE), and a timing generator (TG).
- the shutter controls the time when light reflected by the subject enters the camera 160
- the aperture controls the amount of light incident on the lens by mechanically increasing or decreasing the size of the opening through which light enters.
- a solid-state imaging device outputs the image due to the photocharge as an electrical signal.
- the TG outputs a timing signal to read out pixel data from the solid-state imaging device, and the AFE samples and digitizes the electrical signal output from the solid-state imaging device.
- the microphone 170 is configured to receive sound input and convert it into an audio signal.
- the microphone 170 is electrically connected to the processor 130 and can receive sound under the control of the processor 130.
- the microphone 170 may be formed as an integrated piece, such as on the top, front, or side surfaces of the electronic device 100.
- the microphone 170 may be provided on a remote control separate from the electronic device 100. In this case, the remote control may receive sound through the microphone 170 and provide the received sound to the electronic device 100.
- the microphone 170 includes a microphone that collects analog sound, an amplifier circuit that amplifies the collected sound, an A/D conversion circuit that samples the amplified sound and converts it into a digital signal, and removes noise components from the converted digital signal. It may include various configurations such as filter circuits, etc.
- the microphone 170 may be implemented in the form of a sound sensor, and any configuration that can collect sound may be used.
- the speaker 180 is a component that outputs not only various audio data processed by the processor 130 but also various notification sounds or voice messages.
- FIG. 5 is a block diagram showing the configuration of the server 200 according to an embodiment of the present disclosure.
- the server 200 includes a communication interface 210, a memory 220, and a processor 230.
- the communication interface 210 is a configuration that performs communication with various types of external devices according to various types of communication methods.
- the server 200 may communicate with the electronic device 100 or a user terminal through the communication interface 210.
- the communication interface 210 may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, etc.
- each communication module may be implemented in the form of at least one hardware chip.
- the WiFi module and Bluetooth module communicate using WiFi and Bluetooth methods, respectively.
- various connection information such as SSID and session key are first transmitted and received, and various information can be transmitted and received after establishing a communication connection using this.
- the infrared communication module performs communication according to infrared communication (IrDA, infrared data association) technology, which transmits data wirelessly over a short distance using infrared rays between optical light and millimeter waves.
- IrDA infrared data association
- wireless communication modules include zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), and 5G. It may include at least one communication chip that performs communication according to various wireless communication standards such as (5th Generation).
- the communication interface 210 may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, etc.
- the communication interface 210 may include at least one of a LAN (Local Area Network) module, an Ethernet module, or a wired communication module that performs communication using a pair cable, coaxial cable, or optical fiber cable.
- LAN Local Area Network
- Ethernet Ethernet
- wired communication module that performs communication using a pair cable, coaxial cable, or optical fiber cable.
- the memory 220 may refer to hardware that stores information such as data in electrical or magnetic form so that the processor 230 or the like can access it. To this end, the memory 220 may be implemented with at least one hardware selected from non-volatile memory, volatile memory, flash memory, hard disk drive (HDD) or solid state drive (SSD), RAM, ROM, etc. .
- At least one instruction required for operation of the server 200 or the processor 230 may be stored in the memory 220.
- an instruction is a code unit that instructs the operation of the server 200 or the processor 230, and may be written in machine language, a language that a computer can understand.
- a plurality of instructions for performing specific tasks of the server 200 or the processor 230 may be stored in the memory 220 as an instruction set.
- the memory 220 may store data, which is information in bits or bytes that can represent letters, numbers, images, etc. For example, a plurality of neural network models and a plurality of parameters configured in a hierarchical tree structure may be stored in the memory 220.
- the memory 220 is accessed by the processor 230, and the processor 230 can read/write/modify/delete/update instructions, instruction sets, or data.
- the processor 230 generally controls the operation of the server 200. Specifically, the processor 230 is connected to each component of the server 200 and can generally control the operation of the server 200. For example, the processor 230 may be connected to components such as the communication interface 210 and memory 220 to control the operation of the server 200.
- the processor 230 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON). However, it is not limited to this, and the central processing unit ( central processing unit (CPU), micro controller unit (MCU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor It may include one or more of the following, or may be defined by the corresponding term.
- the processor 230 may be implemented as a System on Chip (SoC) with a built-in processing algorithm, a large scale integration (LSI), or an FPGA (FPGA). It can also be implemented in the form of a Field Programmable gate array.
- SoC System on Chip
- LSI large scale integration
- FPGA field Programmable gate array
- the processor 230 may be implemented as a single processor or as a plurality of processors. However, hereinafter, for convenience of explanation, the operation of the server 200 will be described using the term processor 230.
- the processor 230 receives the scene type of the first frame included in the content from the electronic device 100 through the communication interface 210, and selects the scene type of the first frame among the plurality of neural network models configured in a hierarchical tree structure.
- the communication interface 210 may be controlled to transmit the corresponding first neural network model and a first parameter corresponding to the scene type of the first frame among the plurality of parameters to the electronic device 100.
- the processor 230 receives the scene type of the second frame after the first frame from the electronic device 100 through the communication interface 210, and selects a second neural network corresponding to the scene type of the second frame among the plurality of neural network models.
- the communication interface 210 may be controlled to transmit the model and a second parameter corresponding to the scene type of the second frame among the plurality of parameters to the electronic device 100.
- the second neural network model may be one of a plurality of second neural network models each corresponding to a plurality of scene types that can be output from the first neural network model.
- the processor 230 may update each of a plurality of neural network models configured in a hierarchical tree structure. For example, the processor 230 may update each of a plurality of neural network models composed of a hierarchical tree structure as a new scene type is added. At this time, the processor 230 may update at least part of the plurality of neural network models.
- the processor 230 may collect learning data and periodically update each of the plurality of neural network models structured in a hierarchical tree structure.
- the learning data may include content received from the electronic device 100.
- the electronic device 100 receives parameters corresponding to the scene type from the server 200, performs image processing with the received parameters, enables high-performance image processing even with low specifications, and receives information from the server 200. Preprocessing is easy because the scene type can be identified by receiving one of multiple neural network models composed of a hierarchical tree structure.
- FIGS. 6 to 11. 6 to 11 individual embodiments are described for convenience of explanation. However, the individual embodiments of FIGS. 6 to 11 may be implemented in any number of combinations.
- FIG. 6 is a diagram for explaining the operation of the electronic device 100 and the server 200 according to an embodiment of the present disclosure.
- the server 200 can upgrade the training database from broadcast resources, etc. (610).
- the server 200 may control the training unit 620 to learn a plurality of neural network models structured in a hierarchical tree structure using a training database.
- the server 200 may provide the electronic device 100 with a neural network model corresponding to the scene type among a plurality of neural network models.
- the server 200 may upgrade the parameter setting table for image processing according to scene type (630).
- the server 200 may provide a parameter corresponding to the scene type among a plurality of parameters to the electronic device 100.
- the electronic device 100 may control the scene category control unit to identify the scene type for the input image (650).
- the electronic device 100 may provide the identified scene type to the server 200 and the image processing engine 660.
- the electronic device 100 receives a neural network model corresponding to a scene type among the plurality of neural network models from the server 200, it may update the neural network model.
- the electronic device 100 may control the image processing engine 660 to image process the input image using the parameter.
- FIG. 7 is a diagram illustrating a plurality of neural network models configured with a hierarchical tree structure according to an embodiment of the present disclosure.
- N0 may be a basic neural network model that is the highest layer (root category) neural network model among a plurality of neural network models. Through N0, it can be classified into one of N1, N2, N3, and N4 neural network models.
- N1 may be a movie/drama type
- N2 may be a sports type
- N3 may be a game type
- N4 may be a documentary type. That is, if the electronic device 100 classifies frame 1 using the N0 neural network model, frame 2 after frame 1 can be classified in more detail using one of the neural network models among N1, N2, N3, and N4. there is.
- N5 is a black-and-white movie type
- N6 is a black-and-white drama type
- N7 is a color movie type
- N8 is a color drama type. You can.
- frame 3 after frame 2 is classified in more detail using one of the neural network models N5, N6, N7, and N8. You can.
- the electronic device 100 can be implemented with low specifications while identifying more detailed scene types by classifying scene types in stages. Additionally, image processing performance may be improved because the electronic device 100 performs image processing using parameters corresponding to detailed scene types.
- FIG. 8 is a diagram for explaining in more detail a plurality of neural network models composed of a hierarchical tree structure according to an embodiment of the present disclosure.
- the server 200 may store a plurality of neural network models structured in a hierarchical tree structure.
- the server 200 may further store information for controlling the operation of the electronic device 100 based on each scene type. For example, when the server 200 receives information that the scene type is C2 type from the electronic device 100, the server 200 transmits a neural network model corresponding to the C2 type to the electronic device 100 and sends a signal to increase the frame rate. Additional can be provided.
- the server 200 can control the operation of the electronic device 100 according to the scene type, such as control signals such as color adjustment, contrast adjustment, frame rate adjustment, depth adjustment, contour removal, noise removal, luminance adjustment, etc. can be transmitted to the electronic device 100.
- control signals such as color adjustment, contrast adjustment, frame rate adjustment, depth adjustment, contour removal, noise removal, luminance adjustment, etc.
- FIG. 9 is a diagram for explaining information on a plurality of parameters according to an embodiment of the present disclosure.
- the server 200 may store information on parameters corresponding to each of a plurality of scene types.
- the server 200 may store the contrast increase value, smooth value, detail improvement value, etc. corresponding to the C1 type.
- FIG. 10 is a diagram for explaining an operation after classification of a scene type according to an embodiment of the present disclosure.
- the electronic device 100 can identify the scene type for the input image (1010). Then, the electronic device 100 transmits information about the identified scene type as Ci to the server 200 (1020) and performs image processing on the input image using parameters corresponding to the identified scene type. There is (1030).
- FIG. 11 is a flowchart illustrating an update of a scene type according to an embodiment of the present disclosure.
- an image (frame of content) is input (S1110), and the electronic device 100 can identify the scene type of the input image (S1115).
- the electronic device 100 sequentially identifies the scene types of frames included in the content, counts the number of each scene type (S1120), and determines the dominant scene type (Cd) and the number of dominant scene types (Fd). Can be identified (S1125).
- the electronic device 100 compares the number of dominant scene types (Fd) with the threshold value (Tmax_Cd) for changing to the next level subcategory (S1130), and if Fd is greater than Tmax_Cd, transmits d to the server 200. (S1135). That is, the electronic device 100 requests a neural network model corresponding to the next level subcategory.
- the electronic device 100 compares Fd with the threshold value (Tmin_Cd) for resetting to the highest category (basic neural network model) (S1140), and if Fd is less than Tmin_Cd, 0 is transmitted to the server 200. (S1145). That is, the electronic device 100 requests a basic neural network model.
- the electronic device 100 initializes the count (S1150), enters step S1115 when an additional frame is input (S1155-Y), and ends if no additional frame is input (S1155-N). there is.
- FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
- the first frame included in the content is input into the first neural network model to identify the scene type of the first frame (S1210). Then, the scene type of the first frame is transmitted to the server (S1220). Then, a second neural network model and a first parameter corresponding to the scene type of the first frame are received from the server (S1230). Then, the first neural network model is updated to the second neural network model, and the first frame is image processed based on the first parameter (S1240).
- the second neural network model may be one of a plurality of second neural network models each corresponding to a plurality of scene types that can be output from the first neural network model.
- the neural network model may be one of a plurality of third neural network models, each corresponding to a plurality of scene types that can be output from the second neural network model.
- the step of identifying the scene type of the second frame involves preprocessing the second frame to obtain a plurality of feature points, and when the second frame corresponds to the scene type of the first frame based on the plurality of feature points.
- the scene type of the second frame can be identified by inputting the second frame into the second neural network model.
- the step of identifying the scene type of the second frame includes, when the second frame does not correspond to the scene type of the first frame based on a plurality of feature points, inputting the second frame into a basic neural network model to identify the scene of the second frame.
- the type is identified, and the basic neural network model may be the highest-layer neural network model among a plurality of neural network models stored in a hierarchical tree structure on the server.
- the step of image processing the second frame includes updating the second neural network model to the third neural network model if the operation mode is the first mode, and updating the second neural network model to the third neural network model if the operation mode is the first mode.
- the second neural network model may not be updated to the third neural network model.
- the frame included in the content may be image processed using an image processing engine corresponding to the scene type of the frame included in the content among a plurality of image processing engines.
- the scene type of the frame included in the content may be updated at preset intervals.
- the step of identifying the scene type using a basic neural network model is further included, and the basic neural network model is stored in a hierarchical tree structure on the server. It may be the highest layer neural network model among multiple neural network models.
- step of displaying the image-processed first frame may be further included.
- an electronic device receives parameters corresponding to a scene type from a server and performs image processing with the received parameters, enabling high-performance image processing even with low specifications.
- the server stores a plurality of neural network models structured in a hierarchical tree structure
- the electronic device can identify the scene type by receiving one of the plurality of neural network models from the server, making preprocessing easy.
- the electronic device can identify various scene types, and the neural network model is stored in the server, making it easy to upgrade the neural network model.
- the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media (e.g., a computer).
- the device is a device capable of calling instructions stored from a storage medium and operating according to the called instructions, and may include an electronic device (eg, electronic device A) according to the disclosed embodiments.
- the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
- Instructions may contain code generated or executed by a compiler or interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
- the method according to the various embodiments described above may be included and provided in a computer program product.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play StoreTM).
- an application store e.g. Play StoreTM
- at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
- the various embodiments described above are stored in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof. It can be implemented in . In some cases, embodiments described herein may be implemented with a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software. Each piece of software may perform one or more functions and operations described herein.
- Non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories.
- Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.
- each component e.g., module or program
- each component may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be omitted. Additional components may be included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. It can be.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Facsimiles In General (AREA)
Abstract
전자 장치가 개시된다. 본 전자 장치는 제1 신경망 모델이 저장된 메모리, 통신 인터페이스 및 메모리 및 통신 인터페이스와 연결되어 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하며, 프로세서는 컨텐츠에 포함된 제1 프레임을 제1 신경망 모델에 입력하여 제1 프레임의 장면 타입을 식별하고, 제1 프레임의 장면 타입을 서버로 전송하도록 통신 인터페이스를 제어하고, 통신 인터페이스를 통해 서버로부터 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신하고, 제1 신경망 모델을 제2 신경망 모델로 업데이트하고, 제1 파라미터에 기초하여 제1 프레임을 영상 처리하며, 제2 신경망 모델은 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
Description
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 영상 처리를 수행하는 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 종류의 전자 장치가 개발되고 있다. 특히, 최근에는 영상 처리 과정에서 신경망 모델을 이용하는 전자 장치가 보급되면서 사용자 편의성이 향상되고 있다.
다만, 고성능의 신경망 모델이 개발됨에 따라 하드웨어 자원이 부족하고, 전처리가 복잡하며, 업그레이드가 용이하지 않은 문제가 있었다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 제1 신경망 모델이 저장된 메모리, 통신 인터페이스 및 상기 메모리 및 상기 통신 인터페이스와 연결되어 상기 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하며, 상기 프로세서는 컨텐츠에 포함된 제1 프레임을 상기 제1 신경망 모델에 입력하여 상기 제1 프레임의 장면 타입을 식별하고, 상기 제1 프레임의 장면 타입을 서버로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 서버로부터 상기 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신하고, 상기 제1 신경망 모델을 상기 제2 신경망 모델로 업데이트하고, 상기 제1 파라미터에 기초하여 상기 제1 프레임을 영상 처리하며, 상기 제2 신경망 모델은 상기 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
또한, 상기 프로세서는 상기 제1 프레임 이후의 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하고, 상기 제2 프레임의 장면 타입을 상기 서버로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 통신 인터페이스를 통해 상기 서버로부터 상기 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신하고, 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 제2 파라미터에 기초하여 상기 제2 프레임을 영상 처리하며, 상기 제3 신경망 모델은 상기 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나일 수 있다.
그리고, 상기 프로세서는 상기 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고, 상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되는 경우, 상기 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별할 수 있다.
또한, 상기 메모리는 기본 신경망 모델을 더 저장하고, 상기 프로세서는 상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되지 않는 경우, 상기 제2 프레임을 상기 기본 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하며, 상기 기본 신경망 모델은 상기 서버에 계층적 트리(hierarchical tree) 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
그리고, 사용자 인터페이스를 더 포함하며, 상기 프로세서는 상기 사용자 인터페이스를 통해 동작 모드에 대한 사용자 입력을 수신하고, 상기 동작 모드가 제1 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 동작 모드가 제2 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하지 않을 수 있다.
또한, 상기 메모리는 복수의 영상 처리 엔진을 더 저장하며, 상기 프로세서는 상기 복수의 영상 처리 엔진 중 상기 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 상기 컨텐츠에 포함된 프레임을 영상 처리할 수 있다.
그리고, 상기 프로세서는 기설정된 간격으로 상기 컨텐츠에 포함된 프레임의 장면 타입을 업데이트할 수 있다.
또한, 상기 메모리는 기본 신경망 모델을 더 저장하고, 상기 프로세서는 하나의 신경망 모델을 통해 장면 타입을 식별한 횟수가 기설정된 횟수 이상이면, 상기 기본 신경망 모델을 이용하여 장면 타입을 식별하고, 상기 기본 신경망 모델은 상기 서버에 계층적 트리 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
그리고, 디스플레이를 더 포함하며, 상기 프로세서는 상기 영상 처리된 제1 프레임을 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 서버는 통신 인터페이스, 계층적 트리(hierarchical tree) 구조로 구성된 복수의 신경망 모델 및 복수의 파라미터가 저장된 메모리 및 상기 메모리 및 상기 통신 인터페이스와 연결되어 상기 서버를 제어하는 적어도 하나의 프로세서를 포함하며, 상기 프로세서는 상기 통신 인터페이스를 통해 전자 장치로부터 컨텐츠에 포함된 제1 프레임의 장면 타입을 수신하고, 상기 복수의 신경망 모델 중 상기 제1 프레임의 장면 타입에 대응되는 제1 신경망 모델 및 상기 복수의 파라미터 중 상기 제1 프레임의 장면 타입에 대응되는 제1 파라미터를 상기 전자 장치로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
또한, 상기 프로세서는 상기 통신 인터페이스를 통해 상기 전자 장치로부터 상기 제1 프레임 이후의 제2 프레임의 장면 타입을 수신하고, 상기 복수의 신경망 모델 중 상기 제2 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 상기 복수의 파라미터 중 상기 제2 프레임의 장면 타입에 대응되는 제2 파라미터를 상기 전자 장치로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 제2 신경망 모델은 상기 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 컨텐츠에 포함된 제1 프레임을 제1 신경망 모델에 입력하여 상기 제1 프레임의 장면 타입을 식별하는 단계, 상기 제1 프레임의 장면 타입을 서버로 전송하는 단계, 상기 서버로부터 상기 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신하는 단계 및 상기 제1 신경망 모델을 상기 제2 신경망 모델로 업데이트하고, 상기 제1 파라미터에 기초하여 상기 제1 프레임을 영상 처리하는 단계를 포함하며, 상기 제2 신경망 모델은 상기 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
또한, 상기 제1 프레임 이후의 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하는 단계, 상기 제2 프레임의 장면 타입을 상기 서버로 전송하는 단계, 상기 서버로부터 상기 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신하는 단계 및 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 제2 파라미터에 기초하여 상기 제2 프레임을 영상 처리하는 단계를 더 포함하며, 상기 제3 신경망 모델은 상기 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나일 수 있다.
그리고, 상기 제2 프레임의 장면 타입을 식별하는 단계는 상기 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고, 상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되는 경우, 상기 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별할 수 있다.
또한, 상기 제2 프레임의 장면 타입을 식별하는 단계는 상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되지 않는 경우, 상기 제2 프레임을 기본 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하며, 상기 기본 신경망 모델은 상기 서버에 계층적 트리(hierarchical tree) 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
그리고, 동작 모드에 대한 사용자 입력을 수신하는 단계를 더 포함하며, 상기 제2 프레임을 영상 처리하는 단계는 상기 동작 모드가 제1 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 동작 모드가 제2 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하지 않을 수 있다.
또한, 상기 제1 프레임을 영상 처리하는 단계는 복수의 영상 처리 엔진 중 상기 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 상기 컨텐츠에 포함된 프레임을 영상 처리할 수 있다.
그리고, 상기 장면 타입을 식별하는 단계는 기설정된 간격으로 상기 컨텐츠에 포함된 프레임의 장면 타입을 업데이트할 수 있다.
또한, 하나의 신경망 모델을 통해 장면 타입을 식별한 횟수가 기설정된 횟수 이상이면, 기본 신경망 모델을 이용하여 장면 타입을 식별하는 단계를 더 포함하고, 상기 기본 신경망 모델은 상기 서버에 계층적 트리 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
그리고, 상기 영상 처리된 제1 프레임을 디스플레이하는 단계를 더 포함할 수 있다.
도 1a 및 도 1b는 이미지를 분류하는 방법을 설명하기 위한 도면들이다.
도 2는 본 개시의 일 실시 예에 따른 전자 시스템의 구성을 나타내는 블럭도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블럭도이다.
도 5는 본 개시의 일 실시 예에 따른 서버의 구성을 나타내는 블럭도이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치와 서버의 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 계층적 트리 구조로 구성된 복수의 신경망 모델을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 계층적 트리 구조로 구성된 복수의 신경망 모델을 좀더 구체적으로 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 복수의 파라미터에 대한 정보를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 장면 타입의 분류 이후의 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 장면 타입의 업데이트를 설명하기 위한 흐름도이다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 목적은 저사양의 하드웨어를 이용하더라도 고성능의 영상 처리를 수행하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1a 및 도 1b는 이미지를 분류하는 방법을 설명하기 위한 도면들이다.
이미지 또는 컨텐츠의 장면 타입을 분류하는 다양한 방법이 있다.
예를 들어, 도 1a에 도시된 바와 같이, 단일 신경망 모델을 이용하여 이미지 또는 컨텐츠의 장면 타입이 분류될 수 있다. 다만, 장면 타입이 다양해질수록 하드웨어 소비가 증가하는 문제가 있다.
또는, 도 1b에 도시된 바와 같이, 모션을 이동하여 로컬 영역을 정의하고 로컬 영역 픽셀 레벨과 로컬 히스토그램을 기반으로 이미지 장면 범주가 분류될 수도 있다. 이 경우, 정확도는 높으나, 전처리가 어려운 문제가 있다.
또한, 두 경우 모두 분류기, 네트워크 계수 등이 고정되어 있어 업그레이드가 어려울 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 시스템(1000)의 구성을 나타내는 블럭도이다. 도 2에 도시된 바와 같이, 전자 시스템(1000)는 전자 장치(100) 및 서버(200)를 포함한다.
전자 장치(100)는 장면 타입을 식별하고, 장면 타입에 대응되는 영상 처리를 수행하는 장치로서, 전자 장치(100)는 컴퓨터 본체, 셋탑박스(STB), AI 스피커, TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 스마트 안경, 스마트 워치 등으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 장면 타입을 식별하고, 장면 타입에 대응되는 영상 처리를 수행할 수 있는 장치라면 어떠한 장치라도 무방하다.
전자 장치(100)는 서버(200)로부터 신경망 모델을 수신하고, 신경망 모델을 이용하여 장면 타입을 식별할 수 있다. 전자 장치(100)는 장면 타입을 서버(200)로 전송하고, 서버(200)로부터 장면 타입에 대응되는 파라미터를 수신하고, 파라미터를 이용하여 컨텐츠를 영상 처리할 수 있다.
서버(200)는 계층적 트리(hierarchical tree) 구조로 구성된 복수의 신경망 모델 및 복수의 파라미터를 저장하며, 복수의 신경망 모델 중 하나를 전자 장치(100)로 제공할 수 있다. 서버(200)는 전자 장치(100)로부터 장면 타입이 수신되면, 장면 타입에 대응되는 파라미터를 전자 장치(100)로 제공할 수 있다. 또한, 서버(200)는 장면 타입에 대응되는 신경망 모델을 전자 장치(100)로 제공할 수도 있다.
서버(200)는 복수의 신경망 모델을 새로운 샘플 데이터에 기초하여 업데이트할 수 있다. 복수의 신경망 모델은 업데이트에 따라 각 계수가 달라질 수 있고, 트리 구조가 변경될 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블럭도이다.
도 3에 따르면, 전자 장치(100)는 메모리(110), 통신 인터페이스(120) 및 프로세서(130)를 포함한다.
메모리(110)는 프로세서(130) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(110)에는 전자 장치(100) 또는 프로세서(130)의 동작에 필요한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(130)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 또는, 메모리(110)에는 전자 장치(100) 또는 프로세서(130)의 특정 작업을 수행하는 복수의 인스트럭션이 인스트럭션 집합체(instruction set)로서 저장될 수도 있다.
메모리(110)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(110)에는 신경망 모델 및 영상 처리 엔진 등이 저장될 수 있다.
메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 인스트럭션, 인스트럭션 집합체 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
통신 인터페이스(120)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 전자 장치(100)는 통신 인터페이스(120)를 통해 서버(200) 또는 사용자 단말과 통신을 수행할 수 있다.
통신 인터페이스(120)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(120)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(120)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
프로세서(130)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(130)는 전자 장치(100)의 각 구성과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(130)는 메모리(110), 통신 인터페이스(120), 디스플레이(미도시) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(130)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(130)는 하나의 프로세서로 구현되거나 복수의 프로세서로 구현될 수 있다. 다만, 이하에서는 설명의 편의를 위해, 프로세서(130)라는 표현으로 전자 장치(100)의 동작을 설명한다.
프로세서(130)는 컨텐츠에 포함된 제1 프레임을 메모리(110)에 저장된 제1 신경망 모델에 입력하여 제1 프레임의 장면 타입을 식별할 수 있다. 예를 들어, 프로세서(130)는 컨텐츠에 포함된 제1 프레임을 제1 신경망 모델에 입력하여 제1 프레임의 장면 타입이 영화 타입인 것으로 식별할 수 있다. 여기서, 제1 신경망 모델은 제1 프레임의 이전 프레임의 장면 타입에 기초하여 서버(200)로부터 수신된 신경망 모델일 수 있다. 또는, 제1 신경망 모델은 서버(200)에 계층적 트리 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델인 기본 신경망 모델일 수도 있다.
프로세서(130)는 제1 프레임의 장면 타입을 서버(200)로 전송하도록 통신 인터페이스(130)를 제어하고, 통신 인터페이스(130)를 통해 서버(200)로부터 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신할 수 있다. 여기서, 제2 신경망 모델은 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
예를 들어, 제1 신경망 모델에서 출력 가능한 복수의 장면 타입은 영화 타입, 스포츠 타입, 게임 타입, 다큐멘터리 타입이고, 복수의 제2 신경망 모델은 영화 타입에 대응되는 제2 신경망 모델, 스포츠 타입에 대응되는 제2 신경망 모델, 게임 타입에 대응되는 제2 신경망 모델, 다큐멘터리 타입에 대응되는 제2 신경망 모델을 포함할 수 있다. 프로세서(130)는 제1 프레임의 장면 타입인 영화 타입을 서버(200)로 전송하도록 통신 인터페이스(130)를 제어하고, 통신 인터페이스(130)를 통해 서버(200)로부터 영화 타입에 대응되는 제2 신경망 모델 및 영화 타입에 대응되는 제1 파라미터를 수신할 수 있다.
프로세서(130)는 제1 신경망 모델을 제2 신경망 모델로 업데이트하고, 제1 파라미터에 기초하여 제1 프레임을 영상 처리할 수 있다. 또는, 프로세서(130)는 제1 신경망 모델이 기본 신경망 모델이 아니면 제1 신경망 모델을 제2 신경망 모델로 업데이트하고, 제1 신경망 모델이 기본 신경망 모델이면 제2 신경망 모델을 추가로 저장할 수도 있다.
프로세서(130)는 제1 프레임 이후의 제2 프레임을 제2 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별할 수 있다. 예를 들어, 프로세서(130)는 제2 프레임을 제2 신경망 모델에 입력하여 제2 프레임의 장면 타입이 흑백 영화 타입인 것으로 식별할 수 있다.
프로세서(130)는 제2 프레임의 장면 타입을 서버(200)로 전송하도록 통신 인터페이스(120)를 제어하고, 통신 인터페이스(120)를 통해 서버(200)로부터 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신할 수 있다. 여기서, 제3 신경망 모델은 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나일 수 있다.
프로세서(130)는 제2 신경망 모델을 제3 신경망 모델로 업데이트하고, 제2 파라미터에 기초하여 제2 프레임을 영상 처리할 수 있다. 따라서, 메모리(110)에 저장된 신경망 모델은 최대 두 개로 유지될 수 있어, 메모리(110)의 용량을 줄이면서도 다양한 신경망 모델을 이용하여 장면 타입을 식별할 수 있다.
또한, 프로세서(130)는 계층적 트리 구조로 구현된 복수의 신경망 모델 중 하나를 단계적으로 이용함에 따라 좀더 세부적으로 장면 타입을 식별하고, 세부적으로 식별된 장면 타입에 대응되는 파라미터를 이용하여 영상 처리를 수행할 수 있다.
프로세서(130)는 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고, 복수의 특징점에 기초하여 제2 프레임이 제1 프레임의 장면 타입에 대응되는 경우, 제2 프레임을 제2 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별할 수 있다.
또는, 메모리(110)는 기본 신경망 모델을 더 저장하고, 프로세서(130)는 복수의 특징점에 기초하여 제2 프레임이 제1 프레임의 장면 타입에 대응되지 않는 경우, 제2 프레임을 기본 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별할 수도 있다. 즉, 프로세서(130)는 장면 타입이 변경된 것으로 식별되면, 기본 신경망 모델을 이용하여 장면 타입을 식별할 수 있다.
전자 장치(100)는 사용자 인터페이스(미도시)를 더 포함하며, 프로세서(130)는 사용자 인터페이스를 통해 동작 모드에 대한 사용자 입력을 수신하고, 동작 모드가 제1 모드이면 제2 신경망 모델을 제3 신경망 모델로 업데이트하고, 동작 모드가 제2 모드이면 제2 신경망 모델을 제3 신경망 모델로 업데이트하지 않을 수 있다. 이러한 동작을 통해 전자 장치(100)의 부하를 줄일 수도 있다.
메모리(110)는 복수의 영상 처리 엔진을 더 저장하며, 프로세서(130)는 복수의 영상 처리 엔진 중 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 컨텐츠에 포함된 프레임을 영상 처리할 수 있다. 예를 들어, 프로세서(130)는 복수의 영상 처리 엔진 중 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 식별하고, 서버(200)로부터 장면 타입에 대응되는 파라미터를 수신하며, 파라미터를 영상 처리 엔진에 적용하여 프레임의 영상 처리를 수행할 수도 있다. 이러한 동작을 통해, 프로세서(130)는 장면 타입에 최적화된 영상 처리를 수행할 수 있다.
프로세서(130)는 기설정된 간격으로 컨텐츠에 포함된 프레임의 장면 타입을 업데이트할 수 있다. 예를 들어, 프로세서(130)는 600초마다 컨텐츠에 포함된 프레임의 장면 타입을 업데이트할 수 있다. 즉, 프로세서(130)는 컨텐츠에 포함된 프레임의 장면 타입을 순차적으로 식별하나, 서버(200)로 전송하는 시점은 기설정된 간격일 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(130)는 기설정된 간격으로 컨텐츠에 포함된 프레임의 장면 타입을 식별할 수도 있다.
프로세서(130)는 하나의 신경망 모델을 통해 장면 타입을 식별한 횟수가 기설정된 횟수 이상이면, 기본 신경망 모델을 이용하여 장면 타입을 식별할 수도 있다. 이러한 동작을 통해, 주기적으로 장면 타입의 식별 동작을 초기화할 수 있다.
전자 장치(100)는 디스플레이(미도시)를 더 포함하며, 프로세서(130)는 영상 처리된 제1 프레임을 디스플레이하도록 디스플레이를 제어할 수 있다.
한편, 본 개시에 따른 인공 지능과 관련된 기능은 프로세서(130)와 메모리(110)를 통해 동작될 수 있다.
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공 지능 모델은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공 지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공 지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN(Convolutional Neural Network), DNN (Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network), GAN(Generative Adversarial Network) 또는 심층 Q-네트워크(Deep Q-Networks) 등이 있으나, 이에 한정되는 것은 아니다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다. 전자 장치(100)는 메모리(110), 통신 인터페이스(120) 및 프로세서(130)를 포함할 수 있다. 또한, 도 4에 따르면, 전자 장치(100)는 디스플레이(140), 사용자 인터페이스(150), 카메라(160), 마이크(170), 스피커(180)를 더 포함할 수도 있다. 도 4에 도시된 구성 요소들 중 도 3에 도시된 구성 요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
디스플레이(140)는 이미지를 디스플레이하는 구성으로, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(130)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드 등으로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
카메라(160)는 정지 영상 또는 동영상을 촬상하기 위한 구성이다. 카메라(160)는 특정 시점에서의 정지 영상을 촬영할 수 있으나, 연속적으로 정지 영상을 촬영할 수도 있다.
카메라(160)는 전자 장치(100)의 전방을 촬영하여 전자 장치(100) 전방의 실제 환경을 촬영할 수 있다. 프로세서(130)는 카메라(160)를 통해 촬영된 이미지의 장면 타입을 식별할 수도 있다.
카메라(160)는 렌즈, 셔터, 조리개, 고체 촬상 소자, AFE(Analog Front End), TG(Timing Generator)를 포함한다. 셔터는 피사체에 반사된 빛이 카메라(160)로 들어오는 시간을 조절하고, 조리개는 빛이 들어오는 개구부의 크기를 기계적으로 증가 또는 감소시켜 렌즈에 입사되는 광량을 조절한다. 고체 촬상 소자는 피사체에 반사된 빛이 광전하로 축적되면, 광전하에 의한 상을 전기 신호로 출력한다. TG는 고체 촬상 소자의 픽셀 데이터를 리드아웃 하기 위한 타이밍 신호를 출력하며, AFE는 고체 촬상 소자로부터 출력되는 전기 신호를 샘플링하여 디지털화한다.
마이크(170)는 사운드를 입력받아 오디오 신호로 변환하기 위한 구성이다. 마이크(170)는 프로세서(130)와 전기적으로 연결되며, 프로세서(130)의 제어에 의해 사운드를 수신할 수 있다.
예를 들어, 마이크(170)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 또는, 마이크(170)는 전자 장치(100)와는 별도의 리모컨 등에 구비될 수도 있다. 이 경우, 리모컨은 마이크(170)를 통해 사운드를 수신하고, 수신된 사운드를 전자 장치(100)로 제공할 수도 있다.
마이크(170)는 아날로그 형태의 사운드를 수집하는 마이크, 수집된 사운드를 증폭하는 앰프 회로, 증폭된 사운드를 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 마이크(170)는 사운드 센서의 형태로 구현될 수도 있으며, 사운드를 수집할 수 있는 구성이라면 어떠한 방식이라도 무방하다.
스피커(180)는 프로세서(130)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소이다.
도 5는 본 개시의 일 실시 예에 따른 서버(200)의 구성을 나타내는 블럭도이다.
도 5에 따르면, 서버(200)는 통신 인터페이스(210), 메모리(220) 및 프로세서(230)를 포함한다.
통신 인터페이스(210)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 서버(200)는 통신 인터페이스(210)를 통해 전자 장치(100) 또는 사용자 단말과 통신을 수행할 수 있다.
통신 인터페이스(210)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(210)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(210)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
메모리(220)는 프로세서(230) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(220)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(220)에는 서버(200) 또는 프로세서(230)의 동작에 필요한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 여기서, 인스트럭션은 서버(200) 또는 프로세서(230)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 또는, 메모리(220)에는 서버(200) 또는 프로세서(230)의 특정 작업을 수행하는 복수의 인스트럭션이 인스트럭션 집합체(instruction set)로서 저장될 수도 있다.
메모리(220)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(220)에는 계층적 트리 구조로 구성된 복수의 신경망 모델 및 복수의 파라미터가 저장될 수 있다.
메모리(220)는 프로세서(230)에 의해 액세스되며, 프로세서(230)에 의해 인스트럭션, 인스트럭션 집합체 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(230)는 서버(200)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(230)는 서버(200)의 각 구성과 연결되어 서버(200)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(230)는 통신 인터페이스(210), 메모리(220) 등과 같은 구성과 연결되어 서버(200)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(230)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(230)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(230)는 하나의 프로세서로 구현되거나 복수의 프로세서로 구현될 수 있다. 다만, 이하에서는 설명의 편의를 위해, 프로세서(230)라는 표현으로 서버(200)의 동작을 설명한다.
프로세서(230)는 통신 인터페이스(210)를 통해 전자 장치(100)로부터 컨텐츠에 포함된 제1 프레임의 장면 타입을 수신하고, 계층적 트리 구조로 구성된 복수의 신경망 모델 중 제1 프레임의 장면 타입에 대응되는 제1 신경망 모델 및 복수의 파라미터 중 제1 프레임의 장면 타입에 대응되는 제1 파라미터를 전자 장치(100)로 전송하도록 통신 인터페이스(210)를 제어할 수 있다.
프로세서(230)는 통신 인터페이스(210)를 통해 전자 장치(100)로부터 제1 프레임 이후의 제2 프레임의 장면 타입을 수신하고, 복수의 신경망 모델 중 제2 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 복수의 파라미터 중 제2 프레임의 장면 타입에 대응되는 제2 파라미터를 전자 장치(100)로 전송하도록 통신 인터페이스(210)를 제어할 수 있다. 여기서, 제2 신경망 모델은 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
프로세서(230)는 계층적 트리 구조로 구성된 복수의 신경망 모델 각각을 업데이트할 수 있다. 예를 들어, 프로세서(230)는 새로운 장면 타입이 추가됨에 따라 계층적 트리 구조로 구성된 복수의 신경망 모델 각각을 업데이트할 수 있다. 이때, 프로세서(230)는 복수의 신경망 모델의 적어도 일부를 업데이트할 수 있다.
또는, 프로세서(230)는 학습 데이터를 수집하고, 주기적으로 계층적 트리 구조로 구성된 복수의 신경망 모델 각각을 업데이트할 수도 있다. 여기서, 학습 데이터는 전자 장치(100)로부터 수신된 컨텐츠를 포함할 수 있다.
이상과 같이, 전자 장치(100)는 서버(200)로부터 장면 타입에 대응되는 파라미터를 수신하고, 수신된 파라미터로 영상 처리를 수행하여 저사양으로도 고성능의 영상 처리가 가능하며, 서버(200)로부터 계층적 트리 구조로 구성된 복수의 신경망 모델 중 하나를 수신하여 장면 타입을 식별할 수 있어 전처리가 용이하다.
이하에서는 도 6 내지 도 11을 통해 전자 장치(100)의 동작을 좀더 구체적으로 설명한다. 도 6 내지 도 11에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 6 내지 도 11의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치(100)와 서버(200)의 동작을 설명하기 위한 도면이다.
먼저, 도 6의 좌측과 같이, 서버(200)는 방송 리소스 등으로부터 훈련 데이터베이스를 업그레이드할 수 있다(610). 서버(200)는 훈련 데이터베이스를 이용하여 계층적 트리 구조로 구성된 복수의 신경망 모델을 학습하도록 훈련 유닛(620)을 제어할 수 있다. 서버(200)는 전자 장치(100)로부터 장면 타입(Ci)이 수신되면, 복수의 신경망 모델 중 장면 타입에 대응되는 신경망 모델을 전자 장치(100)로 제공할 수 있다.
또한, 서버(200)는 장면 타입에 따른 영상 처리를 위한 파라미터 설정 테이블을 업그레이드할 수 있다(630). 서버(200)는 전자 장치(100)로부터 장면 타입이 수신되면, 복수의 파라미터 중 장면 타입에 대응되는 파라미터를 전자 장치(100)로 제공할 수 있다.
전자 장치(100)는 입력 이미지에 대한 장면 타입을 식별하도록 장면 카테고리 제어 유닛을 제어할 수 있다(650). 전자 장치(100)는 식별된 장면 타입을 서버(200)로 제공하고, 이미지 처리 엔진(660)으로 제공할 수 있다. 전자 장치(100)는 서버(200)로부터 복수의 신경망 모델 중 장면 타입에 대응되는 신경망 모델이 수신되면, 신경망 모델을 업데이트할 수 있다.
전자 장치(100)는 서버(200)로부터 복수의 파라미터 중 장면 타입에 대응되는 파라미터가 수신되면, 파라미터를 이용하여 입력 이미지를 영상 처리하도록 이미지 처리 엔진(660)을 제어할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 계층적 트리 구조로 구성된 복수의 신경망 모델을 설명하기 위한 도면이다.
계층적 트리 구조로 구성된 복수의 신경망 모델은 도 7에 도시된 바와 같이, Ni(i=1...K)의 신경망 모델을 포함할 수 있다. 예를 들어, N0는 복수의 신경망 모델 중 최상위 계층(root category)의 신경망 모델인 기본 신경망 모델일 수 있다. N0를 통해 N1, N2, N3, N4 중 하나의 신경망 모델로 분류될 수 있으며, 예를 들어 N1은 영화/드라마 타입, N2는 스포츠 타입, N3는 게임 타입, N4는 다큐멘터리 타입일 수 있다. 즉, 전자 장치(100)가 N0 신경망 모델을 이용하여 프레임 1을 분류한 경우, 프레임 1의 이후의 프레임 2는 N1, N2, N3, N4 중 하나의 신경망 모델을 이용하여 좀더 세부적으로 분류될 수 있다. 가령, N1을 통해 N5, N6, N7, N8 중 하나의 신경망 모델로 분류될 수 있으며, 예를 들어 N5는 흑백 영화 타입, N6은 흑백 드라마 타입, N7은 컬러 영화 타입, N8은 컬러 드라마 타입일 수 있다. 이 경우, 전자 장치(100)는 N1 신경망 모델을 이용하여 프레임 2를 분류한 경우, 프레임 2의 이후의 프레임 3은 N5, N6, N7, N8 중 하나의 신경망 모델을 이용하여 좀더 세부적으로 분류될 수 있다.
이상과 같이 전자 장치(100)는 단계적으로 장면 타입을 분류함에 따라 좀더 세부적인 장면 타입을 식별하면서도 저사양으로 구현될 수 있다. 또한, 전자 장치(100)는 세부적인 장면 타입에 대응되는 파라미터를 통해 영상 처리를 수행하기 때문에 영상 처리 성능이 개선될 수 있다.
도 8은 본 개시의 일 실시 예에 따른 계층적 트리 구조로 구성된 복수의 신경망 모델을 좀더 구체적으로 설명하기 위한 도면이다.
서버(200)는 도 8에 도시된 바와 같이, 계층적 트리 구조로 구성된 복수의 신경망 모델을 저장할 수 있다.
이때, 서버(200)는 각 장면 타입에 기초하여 전자 장치(100)의 동작을 제어하기 위한 정보를 더 저장할 수 있다. 예를 들어, 서버(200)는 전자 장치(100)로부터 장면 타입이 C2 타입이라는 정보가 수신되면, C2 타입에 대응되는 신경망 모델을 전자 장치(100)로 전송하며, 프레임 레이트를 높이라는 신호를 추가 제공할 수 있다.
즉, 서버(200)는 장면 타입에 따라 전자 장치(100)의 동작을 제어할 수 있으며, 가령 색 조정, 대비 조정, 프레임 레이트 조정, 뎁스 조정, 컨투어 제거, 노이즈 제거, 휘도 조정 등과 같은 제어 신호를 전자 장치(100)로 전송할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 복수의 파라미터에 대한 정보를 설명하기 위한 도면이다.
서버(200)는 도 9에 도시된 바와 같이, 복수의 장면 타입 각각에 대응되는 파라미터에 대한 정보를 저장할 수 있다.
예를 들어, 서버(200)는 C1 타입에 대응되는 대비 증가 값, 스무스(smooth) 값, 디테일 개선 값 등을 저장할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 장면 타입의 분류 이후의 동작을 설명하기 위한 도면이다.
먼저, 전자 장치(100)는 입력 이미지에 대한 장면 타입을 식별할 수 있다(1010). 그리고, 전자 장치(100)는 식별된 장면 타입에 대한 정보를 Ci로서 서버(200)로 전송하고(1020), 식별된 장면 타입에 대응되는 파라미터를 이용하여 입력 이미지에 대한 영상 처리를 수행할 수 있다(1030).
도 11은 본 개시의 일 실시 예에 따른 장면 타입의 업데이트를 설명하기 위한 흐름도이다.
먼저, 이미지(컨텐츠의 프레임)가 입력되고(S1110), 전자 장치(100)는 입력 이미지의 장면 타입을 식별할 수 있다(S1115). 전자 장치(100)는 컨텐츠에 포함된 프레임의 장면 타입을 순차적으로 식별하며, 각 장면 타입의 개수를 카운팅하고(S1120), 지배적인 장면 타입(Cd) 및 지배적인 장면 타입의 개수(Fd)를 식별할 수 있다(S1125).
전자 장치(100)는 지배적인 장면 타입의 개수(Fd)와 다음 레벨의 하위 카테고리로 변경하기 위한 임계 값(Tmax_Cd)를 비교하여(S1130) Fd가 Tmax_Cd보다 크면, d를 서버(200)로 전송할 수 있다(S1135). 즉, 전자 장치(100)는 다음 레벨의 하위 카테고리에 대응되는 신경망 모델을 요청하게 된다.
전자 장치(100)는 Fd가 Tmax_Cd 이하이면, Fd와 최상위 카테고리(기본 신경망 모델)로 재설정하기 임계 값(Tmin_Cd)를 비교하고(S1140), Fd가 Tmin_Cd보다 작으면 0를 서버(200)로 전송할 수 있다(S1145). 즉, 전자 장치(100)는 기본 신경망 모델을 요청하게 된다.
전자 장치(100)는 Fd가 Tmin_Cd 이상이면, 카운트를 초기화하고(S1150), 추가 프레임이 입력되면(S1155-Y) S1115 단계로 진입하고, 추가 프레임이 입력되지 않으면(S1155-N) 종료할 수 있다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 컨텐츠에 포함된 제1 프레임을 제1 신경망 모델에 입력하여 제1 프레임의 장면 타입을 식별한다(S1210). 그리고, 제1 프레임의 장면 타입을 서버로 전송한다(S1220). 그리고, 서버로부터 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신한다(S1230). 그리고, 제1 신경망 모델을 제2 신경망 모델로 업데이트하고, 제1 파라미터에 기초하여 제1 프레임을 영상 처리한다(S1240). 여기서, 제2 신경망 모델은 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나일 수 있다.
그리고, 제1 프레임 이후의 제2 프레임을 제2 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별하는 단계, 제2 프레임의 장면 타입을 서버로 전송하는 단계, 서버로부터 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신하는 단계 및 제2 신경망 모델을 제3 신경망 모델로 업데이트하고, 제2 파라미터에 기초하여 제2 프레임을 영상 처리하는 단계를 더 포함하며, 제3 신경망 모델은 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나일 수 있다.
여기서, 제2 프레임의 장면 타입을 식별하는 단계는 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고, 복수의 특징점에 기초하여 제2 프레임이 제1 프레임의 장면 타입에 대응되는 경우, 제2 프레임을 제2 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별할 수 있다.
또한, 제2 프레임의 장면 타입을 식별하는 단계는 복수의 특징점에 기초하여 제2 프레임이 제1 프레임의 장면 타입에 대응되지 않는 경우, 제2 프레임을 기본 신경망 모델에 입력하여 제2 프레임의 장면 타입을 식별하며, 기본 신경망 모델은 서버에 계층적 트리(hierarchical tree) 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
그리고, 동작 모드에 대한 사용자 입력을 수신하는 단계를 더 포함하며, 제2 프레임을 영상 처리하는 단계는 동작 모드가 제1 모드이면 제2 신경망 모델을 제3 신경망 모델로 업데이트하고, 동작 모드가 제2 모드이면 제2 신경망 모델을 제3 신경망 모델로 업데이트하지 않을 수 있다.
한편, 제1 프레임을 영상 처리하는 단계(S1240)는 복수의 영상 처리 엔진 중 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 컨텐츠에 포함된 프레임을 영상 처리할 수 있다.
그리고, 장면 타입을 식별하는 단계(S1210)는 기설정된 간격으로 컨텐츠에 포함된 프레임의 장면 타입을 업데이트할 수 있다.
한편, 하나의 신경망 모델을 통해 장면 타입을 식별한 횟수가 기설정된 횟수 이상이면, 기본 신경망 모델을 이용하여 장면 타입을 식별하는 단계를 더 포함하고, 기본 신경망 모델은 서버에 계층적 트리 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델일 수 있다.
또한, 영상 처리된 제1 프레임을 디스플레이하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 서버로부터 장면 타입에 대응되는 파라미터를 수신하고, 수신된 파라미터로 영상 처리를 수행하여 저사양으로도 고성능의 영상 처리가 가능하다.
또한, 서버는 계층적 트리(hierarchical tree) 구조로 구성된 복수의 신경망 모델을 저장하며, 전자 장치는 서버로부터 복수의 신경망 모델 중 하나를 수신하여 장면 타입을 식별할 수 있어 전처리가 용이하다.
그리고, 전자 장치는 다양한 장면 타입의 식별이 가능하며, 신경망 모델이 서버에 저장되어 있어 신경망 모델의 업그레이드가 용이한 효과가 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어로서 구현될 수도 있다. 소프트웨어 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (15)
- 전자 장치에 있어서,제1 신경망 모델이 저장된 메모리;통신 인터페이스; 및상기 메모리 및 상기 통신 인터페이스와 연결되어 상기 전자 장치를 제어하는 적어도 하나의 프로세서;를 포함하며,상기 프로세서는,컨텐츠에 포함된 제1 프레임을 상기 제1 신경망 모델에 입력하여 상기 제1 프레임의 장면 타입을 식별하고,상기 제1 프레임의 장면 타입을 서버로 전송하도록 상기 통신 인터페이스를 제어하고,상기 통신 인터페이스를 통해 상기 서버로부터 상기 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신하고,상기 제1 신경망 모델을 상기 제2 신경망 모델로 업데이트하고, 상기 제1 파라미터에 기초하여 상기 제1 프레임을 영상 처리하며,상기 제2 신경망 모델은,상기 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나인, 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 제1 프레임 이후의 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하고,상기 제2 프레임의 장면 타입을 상기 서버로 전송하도록 상기 통신 인터페이스를 제어하고,상기 통신 인터페이스를 통해 상기 서버로부터 상기 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신하고,상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 제2 파라미터에 기초하여 상기 제2 프레임을 영상 처리하며,상기 제3 신경망 모델은,상기 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나인, 전자 장치.
- 제2항에 있어서,상기 프로세서는,상기 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고,상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되는 경우, 상기 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하는, 전자 장치.
- 제3항에 있어서,상기 메모리는,기본 신경망 모델을 더 저장하고,상기 프로세서는,상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되지 않는 경우, 상기 제2 프레임을 상기 기본 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하며,상기 기본 신경망 모델은,상기 서버에 계층적 트리(hierarchical tree) 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델인, 전자 장치.
- 제2항에 있어서,사용자 인터페이스;를 더 포함하며,상기 프로세서는,상기 사용자 인터페이스를 통해 동작 모드에 대한 사용자 입력을 수신하고,상기 동작 모드가 제1 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 동작 모드가 제2 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하지 않는, 전자 장치.
- 제1항에 있어서,상기 메모리는,복수의 영상 처리 엔진을 더 저장하며,상기 프로세서는,상기 복수의 영상 처리 엔진 중 상기 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 상기 컨텐츠에 포함된 프레임을 영상 처리하는, 전자 장치.
- 제1항에 있어서,상기 프로세서는,기설정된 간격으로 상기 컨텐츠에 포함된 프레임의 장면 타입을 업데이트하는, 전자 장치.
- 제1항에 있어서,상기 메모리는,기본 신경망 모델을 더 저장하고,상기 프로세서는,하나의 신경망 모델을 통해 장면 타입을 식별한 횟수가 기설정된 횟수 이상이면, 상기 기본 신경망 모델을 이용하여 장면 타입을 식별하고,상기 기본 신경망 모델은,상기 서버에 계층적 트리 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델인, 전자 장치.
- 제1항에 있어서,디스플레이;를 더 포함하며,상기 프로세서는,상기 영상 처리된 제1 프레임을 디스플레이하도록 상기 디스플레이를 제어하는, 전자 장치.
- 전자 장치의 제어 방법에 있어서,컨텐츠에 포함된 제1 프레임을 제1 신경망 모델에 입력하여 상기 제1 프레임의 장면 타입을 식별하는 단계;상기 제1 프레임의 장면 타입을 서버로 전송하는 단계;상기 서버로부터 상기 제1 프레임의 장면 타입에 대응되는 제2 신경망 모델 및 제1 파라미터를 수신하는 단계; 및상기 제1 신경망 모델을 상기 제2 신경망 모델로 업데이트하고, 상기 제1 파라미터에 기초하여 상기 제1 프레임을 영상 처리하는 단계;를 포함하며,상기 제2 신경망 모델은,상기 제1 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제2 신경망 모델 중 하나인, 제어 방법.
- 제10항에 있어서,상기 제1 프레임 이후의 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하는 단계;상기 제2 프레임의 장면 타입을 상기 서버로 전송하는 단계;상기 서버로부터 상기 제2 프레임의 장면 타입에 대응되는 제3 신경망 모델 및 제2 파라미터를 수신하는 단계; 및상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 제2 파라미터에 기초하여 상기 제2 프레임을 영상 처리하는 단계;를 더 포함하며,상기 제3 신경망 모델은,상기 제2 신경망 모델에서 출력 가능한 복수의 장면 타입에 각각 대응되는 복수의 제3 신경망 모델 중 하나인, 제어 방법.
- 제11항에 있어서,상기 제2 프레임의 장면 타입을 식별하는 단계는,상기 제2 프레임을 전처리하여 복수의 특징점(feature point)을 획득하고,상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되는 경우, 상기 제2 프레임을 상기 제2 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하는, 제어 방법.
- 제12항에 있어서,상기 제2 프레임의 장면 타입을 식별하는 단계는,상기 복수의 특징점에 기초하여 상기 제2 프레임이 상기 제1 프레임의 장면 타입에 대응되지 않는 경우, 상기 제2 프레임을 기본 신경망 모델에 입력하여 상기 제2 프레임의 장면 타입을 식별하며,상기 기본 신경망 모델은,상기 서버에 계층적 트리(hierarchical tree) 구조로 저장된 복수의 신경망 모델 중 최상위 계층의 신경망 모델인, 제어 방법.
- 제11항에 있어서,동작 모드에 대한 사용자 입력을 수신하는 단계;를 더 포함하며,상기 제2 프레임을 영상 처리하는 단계는,상기 동작 모드가 제1 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하고, 상기 동작 모드가 제2 모드이면 상기 제2 신경망 모델을 상기 제3 신경망 모델로 업데이트하지 않는, 제어 방법.
- 제10항에 있어서,상기 제1 프레임을 영상 처리하는 단계는,복수의 영상 처리 엔진 중 상기 컨텐츠에 포함된 프레임의 장면 타입에 대응되는 영상 처리 엔진을 이용하여 상기 컨텐츠에 포함된 프레임을 영상 처리하는, 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220103551A KR20240025372A (ko) | 2022-08-18 | 2022-08-18 | 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법 |
KR10-2022-0103551 | 2022-08-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024039035A1 true WO2024039035A1 (ko) | 2024-02-22 |
Family
ID=89942066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/008464 WO2024039035A1 (ko) | 2022-08-18 | 2023-06-19 | 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240025372A (ko) |
WO (1) | WO2024039035A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018083668A1 (en) * | 2016-11-04 | 2018-05-11 | Deepmind Technologies Limited | Scene understanding and generation using neural networks |
KR20190106865A (ko) * | 2019-08-27 | 2019-09-18 | 엘지전자 주식회사 | 동영상 검색방법 및 동영상 검색 단말기 |
US20210042503A1 (en) * | 2018-11-14 | 2021-02-11 | Nvidia Corporation | Generative adversarial neural network assisted video compression and broadcast |
US20210142097A1 (en) * | 2017-06-16 | 2021-05-13 | Markable, Inc. | Image processing system |
KR102422962B1 (ko) * | 2021-07-26 | 2022-07-20 | 주식회사 크라우드웍스 | 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 |
-
2022
- 2022-08-18 KR KR1020220103551A patent/KR20240025372A/ko unknown
-
2023
- 2023-06-19 WO PCT/KR2023/008464 patent/WO2024039035A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018083668A1 (en) * | 2016-11-04 | 2018-05-11 | Deepmind Technologies Limited | Scene understanding and generation using neural networks |
US20210142097A1 (en) * | 2017-06-16 | 2021-05-13 | Markable, Inc. | Image processing system |
US20210042503A1 (en) * | 2018-11-14 | 2021-02-11 | Nvidia Corporation | Generative adversarial neural network assisted video compression and broadcast |
KR20190106865A (ko) * | 2019-08-27 | 2019-09-18 | 엘지전자 주식회사 | 동영상 검색방법 및 동영상 검색 단말기 |
KR102422962B1 (ko) * | 2021-07-26 | 2022-07-20 | 주식회사 크라우드웍스 | 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20240025372A (ko) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019164232A1 (ko) | 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 | |
WO2019172546A1 (en) | Electronic apparatus and control method thereof | |
WO2021101087A1 (en) | Electronic apparatus and controlling method thereof | |
WO2021071155A1 (en) | Electronic apparatus and control method thereof | |
WO2021101134A1 (en) | Electronic apparatus and control method thereof | |
WO2021107291A1 (en) | Electronic apparatus and control method thereof | |
WO2020105979A1 (en) | Image processing apparatus and control method thereof | |
WO2021162260A1 (en) | Electronic apparatus and control method thereof | |
WO2024039035A1 (ko) | 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법 | |
WO2020060071A1 (en) | Electronic apparatus and control method thereof | |
WO2023033538A1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
WO2022108008A1 (en) | Electronic apparatus and controlling method thereof | |
WO2024090778A1 (ko) | 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법 | |
WO2022065613A1 (en) | Electronic apparatus and method of controlling the same | |
WO2021071249A1 (en) | Electronic apparatus and control method thereof | |
WO2023043032A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2024043446A1 (ko) | 사용자의 위치를 식별하기 위한 전자 장치 및 그 제어 방법 | |
WO2024122821A1 (ko) | 리모트 컨트롤 신호로 주변 기기를 제어하기 위한 전자 장치 및 그 제어 방법 | |
WO2023058861A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2024048914A1 (ko) | 홀로그래픽 리소스를 획득하기 위한 디스플레이 장치 및 그 제어 방법 | |
WO2024063301A1 (ko) | Ui 오브젝트를 포함하는 템플릿을 획득하기 위한 전자 장치 및 그 제어 방법 | |
WO2024010185A1 (ko) | 잔상 발생을 최소화하기 위한 디스플레이 장치 및 그 제어 방법 | |
WO2024025089A1 (ko) | Ar 객체를 표시하기 위한 디스플레이 장치 및 그 제어 방법 | |
WO2024080485A1 (ko) | 사용자 음성에 대응되는 동작을 수행하기 위한 전자 장치 및 그 제어 방법 | |
WO2023132437A1 (ko) | 전자 장치 및 그 제어 방법 |
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: 23855006 Country of ref document: EP Kind code of ref document: A1 |