WO2024090743A1 - 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법 - Google Patents

복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2024090743A1
WO2024090743A1 PCT/KR2023/011371 KR2023011371W WO2024090743A1 WO 2024090743 A1 WO2024090743 A1 WO 2024090743A1 KR 2023011371 W KR2023011371 W KR 2023011371W WO 2024090743 A1 WO2024090743 A1 WO 2024090743A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
additional
streams
stream
utilization
Prior art date
Application number
PCT/KR2023/011371
Other languages
English (en)
French (fr)
Inventor
김남현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/376,673 priority Critical patent/US20240146958A1/en
Publication of WO2024090743A1 publication Critical patent/WO2024090743A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Definitions

  • This disclosure relates to an electronic device and a control method thereof, and more specifically, to an electronic device and a control method thereof for simultaneously playing multiple videos.
  • DSP digital signal processor
  • an electronic device includes a decoder for decoding a plurality of streams, a plurality of buffers divided into a plurality of buffer groups corresponding to the plurality of streams, and the plurality of buffers.
  • a first processor and the decoder for relocating decoded data output from each group to obtain one frame, at least one communicatively coupled to the plurality of buffers and the first processor, and configured to control the electronic device a second processor, wherein the at least one second processor identifies, based on the first determination that an additional stream is to be played, additional utilization of the first processor sufficient to play the additional stream; determining whether the additional utilization of the processor exceeds the available utilization of the first processor, and based on a second determination that the additional utilization of the first processor exceeds the available utilization of the first processor, the additional stream and
  • the first processor may be controlled to downscale at least one of each of the plurality of streams.
  • the at least one second processor may identify the number of streams to be downscaled based on the available utilization of the first processor and the additional utilization of the first processor.
  • the at least one second processor may identify a downscaling rate of a stream to be downscaled based on the available utilization of the first processor and the additional utilization of the first processor.
  • the at least one second processor processes at least one of the streams to be downscaled. Downscaling may be performed to the preset minimum resolution threshold, and the number of streams to be downscaled may be increased.
  • the at least one second processor based on the second determination that the additional utilization of the first processor exceeds the available utilization of the first processor, at least one of each of the additional stream and the plurality of streams.
  • the first processor may be controlled to downscale at least one of the additional stream and the plurality of streams according to the resolution of each stream.
  • the at least one second processor is configured to downscale one of the plurality of streams based on the second determination that the additional utilization of the first processor exceeds the available utilization of the first processor. 1
  • the processor can be controlled.
  • the at least one second processor may include a resource manager that identifies the available use rate and the additional use rate, and a sampling operation unit that identifies a downscaling rate based on the available use rate and the additional use rate.
  • it may further include at least one scaler, wherein the at least one second processor may control the at least one scaler to upscale the at least one downscaled stream of each of the additional stream and the plurality of streams. there is.
  • the at least one scaler may be configured to use a neural network model.
  • the decoder may include a multi format decoder.
  • each buffer of the plurality of buffer groups may include four buffers.
  • a control method of an electronic device includes decoding a plurality of streams, storing the plurality of streams in a corresponding plurality of buffer groups, by a first processor of the electronic device. Obtaining one frame by relocating decoded data output from each of the plurality of buffer groups, playing the additional stream, by a second processor of the electronic device, based on a determination that an additional stream is to be played.
  • controlling the first processor may identify the number of streams to be downscaled based on the available utilization of the first processor and the additional utilization of the first processor.
  • the step of controlling the first processor may identify a downscaling rate of a stream to be downscaled based on the available usage rate of the first processor and the additional usage rate of the first processor.
  • controlling the first processor may include, when the resolution of at least one stream to be downscaled by the downscaling rate is determined to be less than a preset minimum resolution threshold, at least one of the streams to be downscaled. may be downscaled to the preset minimum resolution threshold, and the number of streams to be downscaled may be increased.
  • control method may further include the second processor controlling the first processor to downscale each of the additional stream and the plurality of streams based on the determined additional usage rate.
  • the second processor controlling the first processor to downscale each of the additional stream and the plurality of streams based on the determined additional usage rate.
  • control method is configured to: based on the second determination that the additional utilization of the first processor exceeds the available utilization of the first processor, the at least one second processor The method may further include controlling the first processor to downscale the additional stream and at least one of the plurality of streams according to the resolution of each of the plurality of streams.
  • control method may further include enlarging the additional stream and at least one reduced stream of each of the plurality of streams.
  • a non-transitory computer-readable storage medium that stores computer-executable instructions for playing a plurality of streams.
  • Computer-executable instructions when executed by at least one processor of the electronic device, cause the electronic device to decode the plurality of streams.
  • the computer-executable instructions also cause the electronic device to store the plurality of streams in corresponding plurality of buffer groups.
  • the computer-executable instructions also cause the electronic device, by the first processor of the electronic device, to acquire one frame by rearranging decoded data output from each of the plurality of buffer groups.
  • Computer-executable instructions cause the electronic device to identify additional utilization of the first processor sufficient to play the additional stream based on the first determination that the additional stream is to be played by the second processor of the electronic device.
  • the computer-executable instructions also cause the electronic device to determine whether the additional utilization of the first processor exceeds the available utilization of the first processor.
  • Computer-executable instructions cause the electronic device to control the first processor by the second processor to downscale at least one of the additional streams based on the second determination that the additional utilization of the first processor exceeds the available utilization of the first processor. Let's do it.
  • the computer-executable instructions further cause the electronic device to identify at least one of a number of streams to be downscaled and a downscaling rate of the streams to be downscaled based on the availability of the first processor and the additional utilization of the first processor. You can do it.
  • FIGS. 1A to 1C are diagrams for explaining a method of processing a plurality of streams according to an embodiment of the present disclosure.
  • Figure 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram showing an exemplary configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram schematically illustrating the operation of a first processor according to an embodiment of the present disclosure.
  • 5 to 7 are diagrams for explaining resource management of a first processor according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the present invention provides an electronic device and a control method thereof that can potentially improve processing efficiency of a plurality of streams through resource management of a processor (eg, digital signal processor (DSP)) for image processing.
  • a processor eg, digital signal processor (DSP)
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the corresponding feature (e.g., numerical value, function, refers to the presence of components such as movements or parts, and does not exclude the presence 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,” may modify various elements regardless of order and/or importance. Alternatively or additionally, it is used only to distinguish one component from another and not to limit those components.
  • the term user may refer to a person using an electronic device and/or a device using the electronic device (eg, an artificial intelligence (AI) electronic device).
  • a device using the electronic device eg, an artificial intelligence (AI) electronic device.
  • AI artificial intelligence
  • FIGS. 1A to 1C are diagrams for explaining a method of processing a plurality of streams according to an embodiment of the present disclosure.
  • the electronic device may decode video data using the DVDE codec shown in FIG. 1A.
  • the DVDE codec shown in FIG. 1A may be a type of multi format decoder.
  • the DVDE codec in Figure 1A is shown as having one stream for illustration purposes.
  • a DVDE codec may include a multi-format decoder that receives multiple streams and decodes the multiple streams.
  • the DVDE codec uses four separate buffers (e.g., first buffer A) to load decoded video data into memory such as DDR (double data rate) memory and optimize latency. , second buffer B, third buffer C, and fourth buffer D).
  • first buffer A to load decoded video data into memory
  • DDR double data rate
  • VDEC Interface can generate one frame by relocating the image data stored in four buffers, and then output the generated frame to a scaler (not shown).
  • the scaler can scale the received frame to correspond to the resolution of the display.
  • image data may be relocated using a DSP instead of hardware (e.g., VDEC Interface).
  • image frames may be acquired without using hardware such as, but not limited to, the VDEC Interface.
  • multiple streams can be processed, as shown in FIG. 1B.
  • the DSP may receive first stream 1, second stream 2, third stream 3, and fourth stream 4, as shown in FIG. 1C.
  • the DSP may output a first stream 1 with 2k resolution, a second stream 2 with 2k resolution, a third stream 3 with 2k resolution, and a fourth stream 4 with 2k resolution.
  • the DSP usage is less than the performance of the DVDE codec, there may be a limit to the number of streams that can be relocated. In this case, even if playback of an additional stream is necessary, the additional stream may not be playable or playback of the existing stream may need to be stopped.
  • FIG. 2 is a block diagram showing the configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may be a device that processes images of multiple streams.
  • the electronic device 100 may include a TV, a desktop PC, a laptop, a video wall, a large format display (LFD), a digital signage, a digital information display (DID), a projector display, and a smartphone.
  • LFD large format display
  • DID digital information display
  • the electronic device 100 may be a device that processes images of a plurality of streams and then displays the plurality of image-processed streams.
  • the electronic device 100 may be a device that provides a plurality of image-processed streams to a device equipped with a display, such as a set-top box (STB).
  • STB set-top box
  • the electronic device 100 may be any device as long as it can process images of a plurality of streams.
  • the electronic device 100 includes a decoder 110, a plurality of buffers 120, a first processor 130, and a second processor 140.
  • the decoder 110 can decode a plurality of encoded streams.
  • the decoder 110 may decode a plurality of streams encoded through the DVDE codec standard.
  • the decoder 110 is implemented as a type of multi-format decoder that can be configured to comply with various codec standards, and can receive a plurality of encoded streams and decode the plurality of streams.
  • the plurality of buffers 120 may include a plurality of buffer groups corresponding to a plurality of streams. For example, there may be a total of 16 buffers 120. In this example, the plurality of buffers 120 may include four groups, and each group of the plurality of buffers 120 may include four buffers. However, the present invention is not limited to this, and the plurality of buffers 120 may be implemented using different numbers of buffers and/or groupings. For example, the number of buffers included in one buffer group may vary depending on design constraints.
  • Each of the plurality of buffer groups can store one stream.
  • four buffers included in one buffer group can split and store one stream.
  • the first buffer stores information about the first pixel
  • the second buffer stores information about the second pixel located next to the first pixel
  • the third buffer stores information about the second pixel located next to the first pixel.
  • the fourth buffer stores information about the fourth pixel located next to the third pixel, thereby sequentially storing data included in one stream. You can. However, it is not limited to this, and the way one stream is stored in one buffer group can be varied.
  • the first processor 130 may acquire one frame by relocating decoded data output from each of the plurality of buffer groups.
  • first processor 130 may be implemented as a DSP.
  • the first processor 130 may obtain one frame by relocating data sequentially received from four buffers included in the first group among the plurality of buffer groups.
  • the first processor 130 may obtain one frame by relocating sequentially received data from four buffers included in the second group among the plurality of buffer groups.
  • the first processor 130 may obtain one frame by relocating data sequentially received from four buffers included in the third group among the plurality of buffer groups.
  • the first processor 130 may obtain one frame by relocating sequentially received data from four buffers included in the fourth group among the plurality of buffer groups.
  • the first processor 130 may include another configuration that can acquire a plurality of frames by relocating a plurality of streams.
  • the first processor 130 may be implemented as a central processing unit (CPU) and acquire a plurality of frames by relocating a plurality of streams in software.
  • CPU central processing unit
  • the second processor 140 generally controls the operation of the electronic device 100. That is, the second processor 140 is connected to each component of the electronic device 100 (e.g., is communicatively coupled) and can generally control the operation of the electronic device 100.
  • the second processor 140 may be connected to components such as the decoder 110, a plurality of buffers 120, and the first processor 130 to control the operation of the electronic device 100.
  • At least one second processor 140 is one or more of a CPU, graphics processing unit (GPU), accelerated processing unit (APU), many integrated core (MIC), neural processing unit (NPU), hardware accelerator, or machine learning accelerator. It can be included. At least one second processor 140 may control one or any combination of other components of the electronic device 100 and perform operations related to communication or data processing. At least one second processor 140 may execute one or more programs or instructions stored in memory. For example, at least one second processor 140 may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in a memory.
  • the plurality of operations may be performed by one processor or by a plurality of processors.
  • the first operation, the second operation, and the third operation may all be performed by the first processor
  • the first operation and the second operation may be performed by a first processor (e.g., a general-purpose processor) and the third operation may be performed by a second processor (e.g., an AI-only processor).
  • At least one second processor 140 may be implemented as a single core processor including one core.
  • at least one second processor 140 may be implemented as one or more multicore processors including a plurality of cores (eg, homogeneous multi-cores or heterogeneous multi-cores).
  • each of the plurality of cores included in the multi-core processor may include processor internal memory such as cache memory and on-chip memory.
  • a common cache shared by multiple cores may be included in a multi-core processor.
  • each of the plurality of cores (or some of the plurality of cores) included in the multi-core processor may independently read and perform program instructions for implementing the method according to an embodiment of the present disclosure, and all of the plurality of cores may (or part of) may be linked to read and perform program instructions for implementing the method according to an embodiment of the present disclosure.
  • the plurality of operations may be performed by one core among a plurality of cores included in a multi-core processor, or may be performed by a plurality of cores.
  • the first operation, the second operation, and the third operation are performed by the method according to an embodiment, the first operation, the second operation, and the third operation are all performed on the first core included in the multi-core processor.
  • the first operation and the second operation may be performed by the first core included in the multi-core processor, and the third operation may be performed by the second core included in the multi-core processor.
  • At least one second processor 140 may be a system-on-chip (SoC), a single-core processor, a multi-core processor, or a single-core processor or multi-core processor in which one or more processors and other electronic components are integrated. It may refer to the core included in .
  • the core may be implemented as a CPU, GPU, APU, MIC, NPU, hardware accelerator, or machine learning accelerator, but embodiments of the present disclosure are not limited thereto.
  • the operation of the electronic device 100 will be described using the term second processor 140. However, it is not limited to this, and operations described as being performed by the second processor 140 may be understood as operations performed by the electronic device 100.
  • the second processor 140 When it is necessary to play additional streams in addition to the plurality of streams already being played, the second processor 140 does not stop playing the streams already being played, but increases the additional usage rate of the first processor 130 necessary (e.g., sufficient) for playing the additional streams.
  • the additional usage rate of the processor 130 can be identified as 20%.
  • the second processor 140 may control the first processor 130 to downscale at least one of the plurality of streams and the additional stream when the remaining (e.g., available) utilization of the first processor 130 is less than the additional utilization. there is. For example, if the current utilization of the first processor 130 is 100%, the second processor 140 determines that the remaining (e.g. available) utilization of the first processor 130 is 0% and plays stream 5. Since the remaining (e.g., usable) usage rate is less than the additional usage rate of 20%, the first processor 130 can be controlled to downscale at least one of the plurality of streams and the additional stream.
  • the first processor 130 may perform downscaling by controlling reading from a buffer. For example, assuming that the first processor 130 in FIG. 1A receives decoded data from buffer A to buffer D, the first processor 130 reads information about the first pixel from buffer A and , information about the second pixel next to the first pixel is not read from buffer B, information about the third pixel next to the second pixel is read from buffer C, and information about the third pixel next to the third pixel is read from buffer D. Downscaling can be performed in a way that does not read information about the data.
  • the method is not limited to this, and the method by which the first processor 130 performs downscaling may vary.
  • the remaining (eg, usable) usage rate of the first processor 130 can be increased (eg, increased).
  • the second processor 140 may identify at least one of the number of streams to be downscaled or the downscaling rate of the streams to be downscaled based on the remaining (e.g., available) utilization and the additional utilization.
  • the second processor 140 processes the first processor 130 ( 130) has a residual (e.g., available) utilization of 0%, and the remaining (e.g., available) utilization is less than the additional utilization of 20% for playing stream 5, so we downscale stream 4 to reduce the remaining (e.g., available) utilization. ) can increase (e.g. increase) utilization.
  • the second processor 140 may identify a downscaling rate for stream 4 to increase the remaining (e.g., available) utilization to 20%.
  • the second processor 140 may downscale two streams if the remaining (eg, usable) usage rate increases by 10% through downscaling of one stream.
  • the second processor 140 Based on the downscaling ratio, if at least one of the plurality of streams and the additional stream is downscaled to a resolution lower than the preset lowest resolution threshold, the second processor 140 downscales at least one of the plurality of streams and the additional stream to the preset lowest resolution threshold. You can downscale to the resolution threshold and increase the number of streams to be downscaled. For example, when downscaling stream 4 to 1/4, if the second processor 140 downscales stream 4 to a resolution lower than the preset lowest resolution threshold, it downscales stream 4 to the preset lowest resolution threshold and streams 3. Additional downscaling is possible. If the stream is downscaled to a resolution lower than the preset minimum resolution threshold, the image quality may be significantly lowered even if upscaling is performed thereafter. Therefore, the video quality of the downscaled stream can be maintained at a certain level or higher through the above operation.
  • the second processor 140 operates at least one of the plurality of streams and the additional stream based on the resolution of each of the plurality of streams and the resolution of the additional stream.
  • the first processor 130 can be controlled to downscale one. For example, if the remaining (e.g., usable) usage rate of the first processor 130 is less than the additional usage rate, the second processor 140 downloads the stream with the highest resolution among the resolutions of each of the plurality of streams and the additional streams.
  • the first processor 130 can be controlled to scale.
  • the second processor 140 may control the first processor 130 to downscale one of the plurality of streams when the remaining (eg, available) utilization rate of the first processor 130 is less than the additional utilization rate.
  • the additional stream can be viewed as the user requesting playback of the additional stream, and the user's viewing intention is high. Accordingly, the second processor 140 configures the first processor to downscale one of the plurality of streams without downscaling the additional stream. (130) can be controlled.
  • the second processor 140 may include a resource manager implemented to identify remaining (e.g., available) utilization and additional utilization.
  • processor 140 may include a sampling operation unit implemented to identify a downscaling rate based on remaining (e.g., available) utilization and additional utilization.
  • a resource manager that identifies the remaining (e.g., available) utilization and additional utilization and a sampling operation unit that identifies the downscaling rate based on the remaining (e.g., available) utilization and additional utilization can be implemented in hardware.
  • the present invention is not limited to this, and the second processor 140 may control the first processor 130 based on software modules that perform the respective operations of the resource manager and sampling operation unit.
  • the electronic device 100 further includes at least one scaler, and the second processor 140 can control at least one scaler to upscale at least one downscaled stream.
  • at least one scaler may perform upscaling using a neural network model.
  • the second processor 140 may control at least one scaler to upscale at least one downscaled stream based on the resolution of the display of the electronic device 100.
  • the second processor 140 may control at least one scaler to upscale at least one downscaled stream based on the resolution of the display device and provide the upscaled stream to the display device.
  • the resolution of the display of the electronic device 100 or the display device is referred to as the target resolution.
  • the second processor 140 may upscale at least one down-scaled stream using a scaler corresponding to the target resolution among at least one scaler. For example, if the target resolution is full high-definition (FHD), the second processor 140 may upscale at least one down-scaled stream using the first scaler. For another example, if the target resolution is UHD (ultra high-definition), at least one down-scaled stream can be up-scaled using a second scaler. In one embodiment, each of the first scaler and the second scaler may use a neural network model to perform upscaling.
  • FHD full high-definition
  • UHD ultra high-definition
  • the second processor 140 may use one of at least one scaler based on at least one of the resolution of the downscaled stream or the target resolution. For example, if the upscaling rate is less than a preset rate based on the resolution of the downscaled stream and the target resolution, the second processor 140 upscales the downscaled stream using a third scaler, and adjusts the upscaling rate. If is higher than the preset rate, the down-scaled stream can be up-scaled using the fourth scaler.
  • the second processor 140 may use one of at least one scaler based on the type of the down-scaled stream. For example, if the type of the down-scaled stream is a movie type, the second processor 140 may up-scale the down-scaled stream using the fifth scaler. Alternatively, if the type of the downscaled stream is an advertisement type, the downscaled stream can be upscaled using the sixth scaler.
  • functions related to artificial intelligence (AI) may be operated through the second processor 140 and memory.
  • the second processor 140 may be comprised of one processor or multiple processors.
  • one processor or multiple processors may be a general-purpose processor (e.g., CPU, AP, DSP, etc.), a graphics-specific processor (e.g., GPU, Vision Processing Unit (VPU)), or an artificial intelligence-specific processor (e.g., NPU). ) can be.
  • a general-purpose processor e.g., CPU, AP, DSP, etc.
  • a graphics-specific processor e.g., GPU, Vision Processing Unit (VPU)
  • an artificial intelligence-specific processor e.g., NPU.
  • One processor or a plurality of processors controls input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • the processor dedicated to artificial intelligence 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 predefined operation rules and/or artificial intelligence models created through learning.
  • being created through learning means that the basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, and predefined operation rules set to perform desired characteristics (e.g., purpose) or This means that an artificial intelligence model is created.
  • 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 that may be used to create artificial intelligence models may include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. However, it is not limited to this. However, the learning algorithm used in the present invention is not limited to the above-described examples.
  • 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.
  • Artificial neural networks include Deep Neural Network (DNN), Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), and BRDNN ( This may include Bidirectional Recurrent Deep Neural Network (GAN), Generative Adversarial Network (GAN), or Deep Q-Networks. However, it is not limited to this.
  • FIG. 3 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 decoder 110, a plurality of buffers 120, a first processor 130, and a second processor 140. Additionally, according to FIG. 3, the electronic device 100 may further include a scaler 150, a communication interface 160, a memory 170, a display 180, and a user interface 190.
  • the electronic device 100 of FIG. 3 may include and/or be similar in many respects to the electronic device 100 described above with reference to FIG. 2 . Additional features not mentioned above may be included. To the extent that it becomes a component of the electronic device 100 of FIG. Corresponding components of the electronic device 100 of FIG. 2 are similar in many respects, and repeated descriptions may be omitted for brevity.
  • the communication interface 160 may be implemented to communicate with various types of external devices according to various types of communication methods.
  • the electronic device 100 may communicate with a streaming server, etc. through the communication interface 160.
  • the communication interface 160 may include at least one of a Wi-Fi module, a Bluetooth module, an infrared communication module, an NFC module, and a wireless communication module.
  • each communication module may be implemented in the form of at least one hardware chip.
  • the Wi-Fi module and the Bluetooth module perform communication using the WiFi method and the Bluetooth method, respectively.
  • various connection information such as SSID (service set identifier) and session key are first transmitted and received, and a communication connection can be performed using the communication information.
  • various types of information can be transmitted and received.
  • 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
  • the wireless communication module may use zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced (LTE-A), and 4G (4th) in addition to the above-described communication methods.
  • Generation 3rd Generation
  • 3GPP 3rd Generation Partnership Project
  • LTE Long Term Evolution
  • LTE-A LTE Advanced
  • 4G (4th) 4G in addition to the above-described communication methods.
  • Generation), 5G (5th Generation), 5G New Radio (NR), etc. may include at least one communication chip that performs communication according to various wireless communication standards.
  • the communication interface 160 may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, etc.
  • the communication interface 160 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 170 may refer to hardware that stores information such as programs and data in electrical or magnetic form so that the second processor 140, etc. can access it.
  • the memory 170 may be implemented with at least one hardware selected from non-volatile memory, volatile memory, flash memory, hard disk drive (HDD), solid state drive (SSD), RAM, ROM, etc. there is.
  • the memory 170 may store at least one instruction necessary for operation of the electronic device 100 or the second processor 140.
  • an instruction is a code unit that instructs the operation of the electronic device 100 or the second processor 140, and may be written in machine language that a computer can understand (eg, execute).
  • a plurality of instructions for performing specific tasks of the electronic device 100 or the second processor 140 may be stored in the memory 170 as an instruction set.
  • data which is information in units of bits or bytes that can represent letters, numbers, images, etc.
  • data may be stored in the memory 170.
  • an upscaling module, etc. may be stored in the memory 170.
  • memory 170 may be accessed by second processor 140 .
  • the second processor 140 may perform at least one of reading/writing/editing/deleting/updating an instruction, an instruction set, or data.
  • the display 180 may be implemented to display an image.
  • the display 180 may be implemented as at least one of a Liquid Crystal Display (LCD), an Organic Light Emitting Diodes (OLED) display, and a Plasma Display Panel (PDP).
  • the display 180 may be implemented in a form such as a-si TFT, low temperature poly silicon (LTPS) TFT, or organic TFT (OTFT).
  • the display 180 may include a driving circuit, a backlight unit, etc.
  • the display 180 may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, etc.
  • the user interface 190 may be implemented with buttons, a touch pad, a mouse, and a keyboard. Alternatively, the user interface 190 may be implemented as a touch screen capable of performing both a display function and a manipulation input function.
  • the button is of various types such as a mechanical button, a touch pad, a wheel, etc. formed in any one of a plurality of areas of the electronic device 100, such as the front, side, or back of the main body of the electronic device 100. It may be at least one of the buttons.
  • the electronic device 100 may further include a microphone, speaker, camera, etc.
  • a microphone may be implemented to receive sound input and convert it into an audio signal.
  • the microphone is electrically connected to the second processor 140 and can receive sound under the control of the second processor 140.
  • the microphone may be formed as an integrated piece, such as on the top, front, or side surfaces of the electronic device 100.
  • the microphone may be provided on a remote control separate from the electronic device 100.
  • the remote control may receive sound through a microphone and provide the received sound to the electronic device 100.
  • the microphone 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 a filter circuit that removes noise components from the converted digital signal. It may include various configurations such as:
  • the microphone may be implemented in the form of a sound sensor.
  • a microphone can be any type that can collect sound.
  • the speaker may output not only various audio data processed by the second processor 140 but also various notification sounds or voice messages.
  • the electronic device 100 may include a camera.
  • the camera may be implemented to image (e.g., capture) still images or moving images.
  • a camera can capture still images from a specific point in time.
  • a camera can continuously capture still images.
  • the camera may include at least one of a lens, a shutter, an aperture, a solid-state imaging device, an analog front end (AFE), and a timing generator (TG).
  • the shutter can control the time when light reflected from a subject enters the camera.
  • the aperture controls the amount of light entering 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.
  • TG can output a timing signal for reading out pixel data of a solid-state imaging device.
  • AFE samples and digitizes electrical signals output from a solid-state imaging device.
  • the electronic device 100 may process a plurality of streams in various ways through resource management of a processor for image processing (eg, DSP). Accordingly, user convenience can be improved when comparing related electronic devices.
  • the electronic device 100 may minimize image quality degradation by up-scaling at least one down-scaled stream using at least one scaler using a neural network model.
  • FIG. 4 is a diagram schematically illustrating the operation of the first processor 130 according to an embodiment of the present disclosure.
  • the first processor 130 may acquire one frame by relocating decoded data output from each of the plurality of buffer groups. For example, as shown in FIG. 4, the first processor 130 receives decoded data from four buffers included in the first buffer group (e.g., stream 1), and relocates the decoded data to 2k You can obtain stream 1 of high resolution.
  • the processor 140 may receive decoded data from four buffers included in the second buffer group (stream 2), relocate the decoded data, and obtain stream 2 with 2k resolution.
  • the processor 140 may receive decoded data from four buffers included in the third buffer group (stream 3), relocate the decoded data, and obtain stream 3 with 2k resolution.
  • the processor 140 may receive decoded data from four buffers included in the fourth buffer group (stream 4), relocate the decoded data, and obtain stream 4 with 2k resolution.
  • the second processor 140 may include a resource manager 141 and a sampling operation unit 142.
  • the resource manager 141 may identify the current utilization of the first processor 130 and identify the remaining (eg, available) utilization based on the current utilization. Alternatively, the resource manager 141 may identify additional utilization of the first processor 130 that is necessary (e.g., sufficient) for playback of additional streams.
  • the sampling operation unit 142 may identify the downscaling rate based on the remaining (eg, available) usage rate and the additional usage rate.
  • 5 to 7 are diagrams for explaining resource management of the first processor 130 according to an embodiment of the present disclosure.
  • the decoder 110 can decode multiple streams.
  • the decoder 110 may output stream 1, stream 2, stream 3, and stream 4, as shown in FIG. 5.
  • they are indicated as stream 1, stream 2, stream 3, and stream 4, but multiple streams may each be stored in multiple buffer groups.
  • each of the plurality of streams may be in a decoded state.
  • the first processor 130 may acquire one frame by relocating a plurality of streams output from each of a plurality of buffer groups. For example, the first processor 130 relocates a plurality of streams output from each of the plurality of buffer groups and outputs stream 1 with 2k resolution, stream 2 with 2k resolution, stream 3 with 2k resolution, and stream 4 with 2k resolution. can do.
  • the resource manager 141 may identify the current utilization 520 of the first processor 130 and identify the remaining (eg, available) utilization of the first processor 130 based on the current utilization. For example, if the current utilization rate is 100%, the resource manager 141 may identify the remaining (eg, usable) utilization rate of the first processor 130 as 0%.
  • the resource manager 141 identifies the additional usage rate necessary (e.g., sufficient) for playback of the additional stream, and calculates the downscaling rate to secure resources with the sampling operation unit 142. You can request it.
  • the sampling operation unit 142 may identify the downscaling rate based on the remaining (eg, available) usage rate and the additional usage rate. For example, when a playback command of stream 5 510 is received, the resource manager 141 identifies the additional usage rate necessary (e.g., sufficient) for playback of stream 5 as 20%, and the sampling operation unit 142 determines the remaining ( For example, the downscaling rate can be identified based on 0% utilization and 20% additional utilization.
  • the sampling operation unit 142 may transmit a signal for downscaling at least one of the plurality of streams and the additional stream to the first processor 130.
  • the sampling operation unit 142 may transmit a signal for relocating streams 4 and 5 at 1k resolution to the first processor 130.
  • the first processor 130 relocates stream 4 at 1k resolution, and accordingly, the utilization rate 610 for processing stream 4 among the utilization rates of the first processor 130 is reduced by half. , the remainder can be secured as a residual (e.g., usable) utilization rate (620).
  • the first processor 130 relocates stream 5 to 1k resolution, and accordingly, the remaining (e.g. usable) usage rate of the first processor 130 is reduced. Possible)
  • the utilization rate may be converted to a utilization rate 710 for processing stream 5.
  • the electronic device 100 further includes at least one scaler 150, and at least one down-scaled stream can be up-scaled by at least one scaler 150.
  • a first scaler among at least one scaler 150 receives stream 4 with 1k resolution and upscales it to 2k resolution
  • a second scaler among at least one scaler 150 receives stream 5 with 1k resolution. Can be upscaled to 2k resolution.
  • the first scaler and the second scaler may use a neural network model to perform upscaling.
  • the first processor 130 can process five streams and reduce quality degradation through a scaler using a neural network model.
  • 5 to 7 illustrate a case where there is only one additional stream, but this is not limited to this.
  • the first processor 130 may relocate streams 3 and 4 at 1k resolution, and may relocate additional streams 5 and 6 at 1k resolution.
  • stream 3 with 1k resolution, stream 4 with 1k resolution, stream 5 with 1k resolution, and stream 6 with 1k resolution may be upscaled to 1k resolution through four scalers.
  • FIG. 8 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • Decode multiple streams (S810). Each of the plurality of streams is stored in a plurality of buffer groups (S820).
  • the first processor included in the electronic device 100 acquires one frame by relocating the decoded data output from each of the plurality of buffer groups (S830).
  • the second processor included in the electronic device 100 identifies the additional usage rate of the first processor required for playback of the additional stream (S840). If the remaining (e.g., available) usage rate of the first processor is less than the additional usage rate, the second processor controls the first processor to downscale at least one of the plurality of streams and the additional stream (S850).
  • the controlling step (S850) may identify at least one of the number of streams to be downscaled or the downscaling rate of the streams to be downscaled based on the remaining (eg, available) usage rate and the additional usage rate.
  • the controlling step (S850) when at least one of the plurality of streams and the additional stream is downscaled below the preset minimum resolution threshold based on the downscaling rate, at least one of the plurality of streams and the additional stream is reduced to the preset minimum resolution. You can downscale to the threshold and increase the number of streams to be downscaled.
  • controlling step (S850) is performed when the remaining (e.g., available) utilization of the first processor is less than the additional utilization, among the plurality of streams and the additional stream based on the resolution of each of the plurality of streams and the resolution of the additional stream.
  • the first processor may be controlled to downscale at least one.
  • controlling step (S850) may control the first processor to downscale one of the plurality of streams if the remaining (eg, usable) utilization rate of the first processor is less than the additional utilization rate.
  • the second processor may include a resource manager that identifies the remaining (e.g., available) utilization and additional utilization and a sampling operation that identifies a downscaling rate based on the remaining (e.g., available) utilization and additional utilization. You can.
  • the method may further include controlling at least one scaler to upscale at least one downscaled stream.
  • At least one scaler may be implemented to utilize a neural network model.
  • the decoding step (S810) may decode a plurality of streams through a multi format decoder.
  • each of the plurality of buffer groups may include four buffers.
  • an electronic device can process a plurality of streams in various ways when comparing related electronic devices through resource management of a processor for image processing (e.g., DSP), thereby improving user convenience. This can be improved.
  • a processor for image processing e.g., DSP
  • the electronic device downscales and processes at least one of the plurality of streams
  • the number of the plurality of streams can be increased, thereby increasing the content that the user can view simultaneously.
  • the electronic device may minimize image quality degradation by up-scaling at least one down-scaled stream using at least one scaler using a 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 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.
  • computer instructions for performing processing operations of a device according to the various embodiments described above may be stored in a non-transitory computer-readable medium.
  • Computer instructions stored in such a non-transitory computer-readable medium when executed by a processor of a specific device, cause the specific device to perform processing operations in the device according to the various embodiments described above.
  • a 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.
  • some components e.g., modules or programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

본 발명은 복수의 스트림을 재생하기 위한 방법, 장치 및 컴퓨터 판독 가능 매체를 제공한다. 일부 실시 예에서, 전자 장치는 복수의 스트림을 디코딩하는 디코더, 상기 복수의 스트림에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼, 하나의 프레임을 획득하는 제1 프로세서 및 적어도 하나의 제2 프로세서를 포함한다. 적어도 하나의 제2 프로세서는 추가 스트림을 재생하기에 충분한 제1 프로세서의 추가 사용률을 식별하고, 제1 프로세서의 추가 사용률이 제1 프로세서의 가용 사용률을 초과한다는 제2 결정에 기초하여, 추가 스트림 및 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 제1 프로세서를 제어한다.

Description

복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 종류의 전자 장치가 개발되고 있다. 예를 들어, 최근 디스플레이 장치의 하드웨어 및/또는 소프트웨어 성능의 발전으로 인해 복수의 비디오가 동시에 및/또는 실질적으로 동시에 재생될 수 있다.
다만, 영상 처리를 위한 프로세서(예를 들어, DSP(digital signal processor))의 자원 관리는 복수의 비디오를 동시에 및/또는 실질적으로 동시에 재생하기 위한 중요한 요소일 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 복수의 스트림을 디코딩하는 디코더, 상기 복수의 스트림에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 제1 프로세서 및 상기 디코더, 상기 복수의 버퍼 및 상기 제1 프로세서에 통신 가능하게 결합되고, 상기 전자 장치를 제어하도록 구성된 적어도 하나의 제2 프로세서를 포함하며, 상기 적어도 하나의 제2 프로세서는 추가 스트림이 재생되어야 한다는 제1 결정에 기초하여, 상기 추가 스트림을 재생하기에 충분한 상기 제1 프로세서의 추가 사용률을 식별하고, 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 가용 사용률을 초과하는지 결정하고, 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 제2 결정에 기초하여, 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
또한, 상기 적어도 하나의 제2 프로세서는 상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 개수를 식별할 수 있다.
그리고, 상기 적어도 하나의 제2 프로세서는 상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 다운 스케일링 레이트를 식별할 수 있다.
또한, 상기 적어도 하나의 제2 프로세서는 상기 다운 스케일링 레이트에 의해 다운스케일링된 적어도 하나의 상기 다운 스케일링될 스트림의 해상도가 기설정된 최저 해상도 임계치 미만으로 결정되면, 상기 다운 스케일링될 상기 스트림 중 적어도 하나를 상기 기설정된 최저 해상도 임계치로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시킬 수 있다.
그리고, 상기 적어도 하나의 제2 프로세서는 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 상기 제2 결정에 기초하여, 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나의 각 스트림 각각의 해상도에 따라 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
또한, 상기 적어도 하나의 제2 프로세서는 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 상기 제2 결정에 기초하여, 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
그리고, 상기 적어도 하나의 제2 프로세서는 상기 가용 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저 및 상기 가용 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부를 포함할 수 있다.
또한, 적어도 하나의 스케일러를 더 포함하며, 상기 적어도 하나의 제2 프로세서는 상기 추가 스트림 및 상기 복수의 스트림 각각의 상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 상기 적어도 하나의 스케일러를 제어할 수 있다.
그리고, 상기 적어도 하나의 스케일러는 신경망 모델을 이용하도록 구성될 수 있다.
또한, 상기 디코더는 멀티 포맷 디코더(multi format decoder)를 포함할 수 있다.
그리고, 상기 복수의 버퍼 그룹의 각각의 버퍼는 4개의 버퍼를 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 복수의 스트림을 디코딩하는 단계, 상기 복수의 스트림을 대응되는 복수의 버퍼 그룹에 저장하는 단계, 상기 전자 장치의 제1 프로세서에 의해, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 단계, 상기 전자 장치의 제2 프로세서에 의해, 추가 스트림이 재생되어야 한다는 결정에 기초하여, 상기 추가 스트림을 재생하기에 충분한 상기 제1 프로세서의 추가 사용률을 식별하는 단계, 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 가용 사용률을 초과하는지 결정하는 단계 및 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 결정에 기초하여, 상기 제2 프로세서가 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는 단계를 포함한다.
또한, 상기 제1 프로세서를 제어하는 단계는 상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 개수를 식별할 수 있다.
그리고, 상기 제1 프로세서를 제어하는 단계는 상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 다운 스케일링 레이트를 식별할 수 있다.
또한, 상기 제1 프로세서를 제어하는 단계는 상기 다운 스케일링 레이트에 의해 다운스케일링된 적어도 하나의 상기 다운 스케일링될 스트림의 해상도가 기설정된 최저 해상도 임계치 미만으로 결정되면, 상기 다운 스케일링될 상기 스트림 중 적어도 하나를 상기 기설정된 최저 해상도 임계치로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시킬 수 있다.
일부 실시 예에서, 상기 제어 방법은 상기 제2 프로세서가 상기 추가 사용률이 결정된 것에 기초하여 상기 추가 스트림 및 상기 복수의 스트림 각각을 다운스케일링하도록 상기 제1 프로세서를 제어하는 단계를 더 포함할 수 있다. 제1 프로세서의 가용 사용률을 초과하는 경우, 각각의 스트림의 해상도에 따라 적어도 하나의 추가 스트림 및 복수의 스트림 각각을 포함한다.
일부 실시 예에서, 상기 제어 방법은 상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 상기 제2 결정에 기초하여, 상기 적어도 하나의 제2 프로세서가 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나의 각 스트림 각각의 해상도에 따라 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는 단계를 더 포함할 수 있다.
일부 실시 예에서, 제어 방법은 추가 스트림 및 복수의 스트림 각각의 적어도 하나의 축소된 스트림을 확대하는 단계를 더 포함할 수 있다.
본 개시의 일 양태에 따르면, 복수의 스트림을 재생하기 위한 컴퓨터 실행 가능 명령을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 컴퓨터 실행 가능 명령어는 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때 전자 장치로 하여금 복수의 스트림을 디코딩하게 한다. 컴퓨터 실행 가능 명령어는 또한 전자 장치로 하여금 대응하는 복수의 버퍼 그룹에 복수의 스트림을 저장하게 한다. 컴퓨터 실행 가능 명령은 또한 전자 장치의 제1 프로세서에 의해 전자 장치가 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 재배치함으로써 하나의 프레임을 획득하게 한다. 컴퓨터 실행 가능 명령은 전자 장치가 전자 장치의 제2 프로세서에 의해 추가 스트림이 재생되어야 한다는 제1 결정에 기초하여 추가 스트림을 재생하기에 충분한 제1 프로세서의 추가 사용률을 식별하게 한다. 컴퓨터 실행 가능 명령은 또한 전자 장치가 제1 프로세서의 추가 사용률이 제1 프로세서의 사용 가능한 사용률을 초과하는지 여부를 결정한다. 컴퓨터 실행 가능 명령은 제1 프로세서의 추가 사용률이 제1 프로세서의 가용 사용률을 초과한다는 제2 결정에 기초하여, 전자 장치가 제2 프로세서에 의해 제1 프로세서를 제어하여 추가 스트림 중 적어도 하나를 다운스케일링하도록 한다.
일부 실시 예에서, 컴퓨터 실행 가능 명령은 또한 제1 프로세서의 가용률 및 제1 프로세서의 추가 사용률에 기초하여 전자 장치로 하여금 다운스케일링될 스트림의 개수 및 다운스케일링될 스트림의 다운스케일링 레이트 중 적어도 하나를 식별하도록 할 수 있다.
추가적인 양태는 다음의 설명에서 부분적으로 제시될 수 있고, 부분적으로는 설명으로부터 명백할 수 있고/있거나 제시된 실시 예의 실시에 의해 학습될 수 있다.
본 발명의 특정 실시 예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 취해진 다음의 설명으로부터 더욱 명백해질 수 있다:
도 1a 내지 1c는 본 개시의 일 실시 예에 따른 복수의 스트림(stream)을 처리하는 방법을 설명하기 위한 도면들이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 예시적인 구성을 나타내는 블럭도이다.
도 4는 본 개시의 일 실시 예에 따른 제1 프로세서의 동작을 개략적으로 설명하기 위한 도면이다.
도 5 내지 7은 본 개시의 일 실시 예에 따른 제1 프로세서의 자원 관리를 설명하기 위한 도면들이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 발명의 예시적인 실시 예는 다양하게 변형될 수 있다. 따라서, 특정 실시 예를 도면에 예시하고 상세한 설명에서 상세하게 설명한다. 그러나, 본 발명은 특정한 실시 예에 한정되는 것이 아니라, 본 발명의 범위 및 사상을 벗어나지 않는 범위 내에서 모든 변경, 균등물 내지 대체물을 포함할 수 있음을 이해해야 한다. 이와 달리 또는 추가적으로, 공지 기능 및/또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 수 있다.
본 발명은 영상 처리를 위한 프로세서(예를 들어, DSP(digital signal processor))의 자원 관리를 통해 복수의 스트림의 처리 효율을 잠재적으로 향상시킬 수 있는 전자 장치 및 그 제어 방법을 제공한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 대안으로 또는 추가적으로, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
대안으로 또는 추가적으로, 다만 제한되지는 않으며, 본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있다. 대안으로 또는 추가적으로, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함하는 것으로 이해되어야 한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 및/또는 전자 장치를 사용하는 장치(예: 인공 지능(artificial intelligence, AI) 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1a 내지 도 1c는 본 개시의 일 실시 예에 따른 복수의 스트림을 처리하는 방법을 설명하기 위한 도면들이다.
실시 예에서, 전자 장치는 도 1a에 도시된 DVDE 코덱을 이용하여 영상 데이터를 디코딩할 수 있다. 예를 들어, 도 1a에 도시된 DVDE 코덱은 멀티 포맷 디코더(multi format decoder)의 일종일 수 있다. 도 1a에서의 DVDE 코덱은 설명을 위해 하나의 스트림을 갖는 것으로 도시되었다. 예를 들어, DVDE 코덱은 복수의 스트림을 수신하고, 복수의 스트림을 디코딩하는 멀티 포맷 디코더를 포함할 수 있다.
DVDE 코덱은 디코딩된 영상 데이터를 DDR(double data rate) 메모리 등의 메모리로의 로드(load) 및 지연(latency)의 최적화를 위해 4개의 분리된 버퍼(buffer)(예를 들어, 제1 버퍼 A, 제2 버퍼 B, 제3 버퍼 C, 제4 버퍼 D)로 출력할 수 있다.
VDEC Interface라는 하드웨어는 4개의 버퍼에 저장된 영상 데이터를 relocation하여 하나의 프레임을 생성한 후, 생성된 프레임을 스케일러(scaler)(미도시)로 출력할 수 있다.
스케일러는 수신된 프레임을 디스플레이의 해상도에 대응되도록 스케일링할 수 있다.
실시 예에서, 이미지 데이터는 하드웨어(예: VDEC Interface) 대신 DSP를 사용하여 재배치될 수 있다. 이러한 실시 예에서, 이미지 프레임은 VDEC Interface와 같은 하드웨어를 사용하지 않고 획득될 수 있지만, 이에 제한되지 않는다.
실시 예에서, DSP를 이용하는 경우, 도 1b에 도시된 바와 같이, 복수의 스트림을 처리할 수 있다. 예를 들어, DSP는 도 1c에 도시된 바와 같이, 제1 스트림 1, 제2 스트림 2, 제3 스트림 3 및 제4 스트림 4를 수신할 수 있다. 또는, DSP는 2k 해상도의 제1 스트림 1, 2k 해상도의 제2 스트림 2, 2k 해상도의 제3 스트림 3 및 2k 해상도의 제4 스트림 4를 출력할 수 있다.
선택적 또는 추가적 실시 예에서, DVDE 코덱의 성능보다 DSP의 사용량의 여유가 부족할 경우, relocation할 수 있는 스트림의 개수에 제한이 발생할 수 있다. 이 경우, 추가 스트림의 재생이 필요하더라도 추가 스트림을 재생하지 못하거나 기존 스트림의 재생을 중단해야 할 수도 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블럭도이다.
전자 장치(100)는 복수의 스트림을 영상 처리하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 TV, 데스크탑 PC, 노트북, 비디오 월(video wall), LFD(large format display), Digital Signage(디지털 간판), DID(Digital Information Display), 프로젝터 디스플레이, 스마트폰, 태블릿 PC 등과 같이 디스플레이를 포함할 수 있다. 또는, 전자 장치(100)는 복수의 스트림을 영상 처리한 후, 영상 처리된 복수의 스트림을 디스플레이하는 장치일 수 있다. 또는, 전자 장치(100)는 셋탑박스(STB) 등과 같이 디스플레이가 구비된 장치로 영상 처리된 복수의 스트림을 제공하는 장치일 수도 있다.
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 복수의 스트림을 영상 처리할 수 있다면 어떠한 장치라도 무방하다.
도 2에 따르면, 전자 장치(100)는 디코더(110), 복수의 버퍼(120), 제1 프로세서(130) 및 제2 프로세서(140)를 포함한다.
디코더(110)는 인코딩된 복수의 스트림을 디코딩할 수 있다. 예를 들어, 디코더(110)는 DVDE 코덱 규격을 통해 인코딩된 복수의 스트림을 디코딩할 수 있다.
다만, 이에 한정되는 것은 아니며, 디코더(110)는 다양한 코덱 규격을 준수하도록 구성될 수 있는 일종의 멀티 포맷 디코더로 구현되어, 인코딩된 복수의 스트림을 수신하고 복수의 스트림을 디코딩할 수 있다.
복수의 버퍼(120)는 복수의 스트림에 대응되는 복수의 버퍼 그룹을 포함할 수 있다. 예를 들어, 복수의 버퍼(120)는 총 16개일 수 있다. 이 예에서, 복수의 버퍼(120)는 4개의 그룹을 포함할 수 있고, 복수의 버퍼(120)의 각 그룹은 4개의 버퍼를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 복수의 버퍼(120)는 다른 개수의 버퍼 및/또는 그룹화를 사용하여 구현될 수 있다. 예를 들어, 하나의 버퍼 그룹에 포함된 버퍼의 개수는 설계 상의 제약에 따라 달라질 수 있다.
복수의 버퍼 그룹 각각은 하나의 스트림을 저장할 수 있다. 예를 들어, 하나의 버퍼 그룹에 포함된 4개의 버퍼는 하나의 스트림을 분할하여 저장할 수 있다. 가령, 하나의 버퍼 그룹에 포함된 4개의 버퍼 중 제1 버퍼는 제1 픽셀에 대한 정보를 저장하고, 제2 버퍼는 제1 픽셀 옆에 위치한 제2 픽셀에 대한 정보를 저장하고, 제3 버퍼는 제2 픽셀 옆에 위치한 제3 픽셀에 대한 정보를 저장하고, 제4 버퍼는 제3 픽셀 옆에 위치한 제4 픽셀에 대한 정보를 저장하는 방식으로, 하나의 스트림에 포함된 데이터를 순차적으로 저장할 수 있다. 다만, 이에 한정되는 것은 아니며, 하나의 버퍼 그룹에 하나의 스트림이 저장되는 방식은 얼마든지 다양할 수 있다.
제1 프로세서(130)는 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 선택적 또는 추가적 실시 예에서, 제1 프로세서(130)는 DSP로 구현될 수 있다. 이러한 실시 예에서, 제1 프로세서(130)는 복수의 버퍼 그룹 중 제1 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 대안적으로 또는 추가적으로, 제1 프로세서(130)는 복수의 버퍼 그룹 중 제2 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 다른 예로, 제1 프로세서(130)는 복수의 버퍼 그룹 중 제3 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 다른 예로, 제1 프로세서(130)는 복수의 버퍼 그룹 중 제4 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다.
다만, 이에 한정되는 것은 아니며, 제1 프로세서(130)는 복수의 스트림을 relocation하여 복수의 프레임을 획득할 수 있는 다른 구성을 포함할 수 있다. 가령, 제1 프로세서(130)는 CPU(central processing unit)로 구현되어 소프트웨어적으로 복수의 스트림을 relocation하여 복수의 프레임을 획득할 수도 있다.
실시 예에서, 제2 프로세서(140)는 전자 장치(100)의 동작을 전반적으로 제어한다. 즉, 제2 프로세서(140)는 전자 장치(100)의 각 구성과 연결되어(예: 통신적으로 결합되어) 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 제2 프로세서(140)는 디코더(110), 복수의 버퍼(120), 제1 프로세서(130) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
적어도 하나의 제2 프로세서(140)는 CPU, GPU(Graphics Processing Unit), APU(Accelerated Processing Unit), MIC(Many Integrated Core), NPU(Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 적어도 하나의 제2 프로세서(140)는 전자 장치(100)의 다른 구성 요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 적어도 하나의 제2 프로세서(140)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 적어도 하나의 제2 프로세서(140)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작, 제3 동작이 수행될 때, 제1 동작, 제2 동작 및 제3 동작 모두 제1 프로세서에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 제1 프로세서(예를 들어, 범용 프로세서)에 의해 수행되고 제3 동작은 제2 프로세서(예를 들어, AI-전용 프로세서)에 의해 수행될 수도 있다.
실시 예에서, 적어도 하나의 제2 프로세서(140)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수 있다. 대안적으로 또는 추가적으로, 적어도 하나의 제2 프로세서(140)는 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 적어도 하나의 제2 프로세서(140)가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작 및 제3 동작이 수행될 때, 제1 동작, 제2 동작 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행되고 제3 동작은 멀티 코어 프로세서에 포함된 제2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 적어도 하나의 제2 프로세서(140)는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있다. 예를 들어, 코어는 CPU, GPU, APU, MIC, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다. 이하에서는 설명의 편의를 위해, 제2 프로세서(140)라는 표현으로 전자 장치(100)의 동작을 설명한다. 다만, 이에 한정되는 것은 아니며, 제2 프로세서(140)가 수행하는 것으로 설명된 동작은 전자 장치(100)가 수행하는 동작으로 이해될 수 있다.
제2 프로세서(140)는 이미 재생 중인 복수의 스트림 외에 추가 스트림 재생이 필요한 경우, 이미 재생 중인 스트림의 재생을 멈추지 않고 추가 스트림의 재생에 필요한(예: 충분한) 제1 프로세서(130)의 추가 사용률을 식별할 수 있다. 예를 들어, 제1 프로세서(130)가 스트림 1, 스트림 2, 스트림 3 및 스트림 4를 처리하는 중에 스트림 5의 재생 명령이 실행되면, 제2 프로세서(140)는 스트림 5를 재생하기 위한 제1 프로세서(130)의 추가 사용률을 20%로 식별할 수 있다.
제2 프로세서(140)는 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다. 예를 들어, 제2 프로세서(140)는 제1 프로세서(130)의 현재 사용률이 100%이면, 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 0%이고, 스트림 5를 재생하기 위한 추가 사용률 20%보다 잔여(예: 사용 가능) 사용률이 작으므로 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다.
일 실시 예에서, 제1 프로세서(130)는 버퍼로부터 독출을 제어하는 방식으로 다운 스케일링을 수행할 수 있다. 예를 들어, 도 1a에서 제1 프로세서(130)가 버퍼 A 내지 버퍼 D로부터 디코딩된 데이터를 수신하는 경우를 가정하면, 제1 프로세서(130)는 버퍼 A로부터 제1 픽셀에 대한 정보를 독출하고, 버퍼 B로부터 제1 픽셀 옆의 제2 픽셀에 대한 정보는 독출하지 않고, 버퍼 C로부터 제2 픽셀 옆의 제3 픽셀에 대한 정보를 독출하고, 버퍼 D로부터 제3 픽셀 옆의 제4 픽셀에 대한 정보는 독출하지 않는 방식으로 다운 스케일링을 수행할 수 있다.
다만, 이에 한정되는 것은 아니며, 제1 프로세서(130)가 다운 스케일링을 수행하는 방식은 얼마든지 다양할 수 있다.
이상과 같은 다운 스케일링을 통해 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률을 높일 수 있다(예: 증가).
일 실시 예에서, 제2 프로세서(140)는 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링될 스트림의 개수 또는 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별할 수 있다.
예를 들어, 제2 프로세서(140)는 제1 프로세서(130)가 스트림 1, 스트림 2, 스트림 3 및 스트림 4를 처리하여 제1 프로세서(130)의 현재 사용률이 100%이면, 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 0%이고, 스트림 5를 재생하기 위한 추가 사용률 20%보다 잔여(예: 사용 가능) 사용률이 작으므로 스트림 4를 다운 스케일링하여 잔여(예: 사용 가능) 사용률을 높일 수 있다(예: 증가). 예를 들어, 제2 프로세서(140)는 잔여(예: 사용 가능) 사용률을 20%로 높이기 위한 스트림 4의 다운 스케일링 레이트를 식별할 수 있다. 또는, 제2 프로세서(140)는 하나의 스트림의 다운 스케일링을 통해 잔여(예: 사용 가능) 사용률이 10%씩 높아진다면 2개의 스트림을 다운 스케일링할 수 있다.
제2 프로세서(140)는 다운 스케일링 레이터에 기초하여, 복수의 스트림 및 추가 스트림 중 적어도 하나가 기설정된 최저 해상도 임계치 미만의 해상도로 다운 스케일링되면, 복수의 스트림 및 추가 스트림 중 적어도 하나를 기설정된 최저 해상도 임계치로 다운 스케일링하고, 다운 스케일링될 스트림의 개수를 증가시킬 수 있다. 예를 들어, 제2 프로세서(140)는 스트림 4를 1/4로 다운 스케일링 시 기설정된 최저 해상도 임계치 미만의 해상도로 다운 스케일링되면, 스트림 4를 기설정된 최저 해상도 임계치로 다운 스케일링하고, 스트림 3을 추가로 다운 스케일링할 수 있다. 만약, 스트림이 기설정된 최저 해상도 임계치 미만의 해상도로 다운 스케일링되면 이후 업 스케일링을 수행하더라도 영상 화질이 상당히 낮아질 수 있다. 따라서, 이상과 같은 동작을 통해 다운 스케일링된 스트림의 영상 화질을 일정 수준 이상 유지할 수 있다.
제2 프로세서(140)는 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면, 복수의 스트림 각각의 해상도 및 추가 스트림의 해상도에 기초하여 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다. 예를 들어, 제2 프로세서(140)는 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면, 복수의 스트림 각각의 해상도 및 추가 스트림의 해상도 중 해상도 가장 높은 스트림을 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다.
제2 프로세서(140)는 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면 복수의 스트림 중 하나를 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다. 추가 스트림은 사용자가 추가 스트림의 재생을 요청한 것으로 사용자의 시청 의도가 높다고 볼 수 있으며, 그에 따라 제2 프로세서(140)는 추가 스트림은 다운 스케일링하지 않고 복수의 스트림 중 하나를 다운 스케일링하도록 제1 프로세서(130)를 제어할 수 있다.
실시 예에서, 제2 프로세서(140)는 잔여(예: 사용 가능) 사용률 및 추가 사용률을 식별하도록 구현된 리소스 매니저를 포함할 수 있다. 또는, 프로세서(140)는 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하도록 구현된 샘플링 연산부를 포함할 수 있다. 예를 들어, 잔여(예: 사용 가능) 사용률 및 추가 사용률을 식별하는 리소스 매니저 및 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부는 하드웨어적으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 제2 프로세서(140)는 리소스 매니저 및 샘플링 연산부 각각의 동작을 수행하는 소프트웨어 모듈에 기초하여 제1 프로세서(130)를 제어할 수도 있다.
전자 장치(100)는 적어도 하나의 스케일러를 더 포함하며, 제2 프로세서(140)는 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어할 수 있다. 일 실시 예에서, 적어도 하나의 스케일러는 신경망 모델을 이용하여 업 스케일링을 수행할 수 있다.
제2 프로세서(140)는 전자 장치(100)의 디스플레이의 해상도에 기초하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어할 수 있다. 또는, 제2 프로세서(140)는 디스플레이 장치의 해상도에 기초하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어하고, 업 스케일링된 스트림을 디스플레이 장치로 제공할 수도 있다. 이하에서는 전자 장치(100) 또는 디스플레이 장치의 디스플레이의 해상도를 타겟 해상도로 언급한다.
또는, 제2 프로세서(140)는 적어도 하나의 스케일러 중 타겟 해상도에 대응되는 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링할 수 있다. 예를 들어, 제2 프로세서(140)는 타겟 해상도가 FHD(full high-definition)이면 제1 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링할 수 있다. 다른 예를 들어, 타겟 해상도가 UHD(ultra high-definition)이면 제2 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링할 수 있다. 일 실시 예에서, 제1 스케일러 및 제2 스케일러 각각은 업 스케일링을 수행하기 위해 신경망 모델을 이용할 수 있다.
또는, 제2 프로세서(140)는 다운 스케일링된 스트림의 해상도 또는 타겟 해상도 중 적어도 하나에 기초하여 적어도 하나의 스케일러 중 하나의 스케일러를 이용할 수도 있다. 예를 들어, 제2 프로세서(140)는 다운 스케일링된 스트림의 해상도 및 타겟 해상도에 기초하여 업 스케일링 레이트가 기설정된 레이트 미만이면 제3 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링하고, 업 스케일링 레이트가 기설정된 레이트 이상이면 제4 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링할 수 있다.
또는, 제2 프로세서(140)는 다운 스케일링된 스트림의 타입에 기초하여 적어도 하나의 스케일러 중 하나의 스케일러를 이용할 수도 있다. 예를 들어, 제2 프로세서(140)는 다운 스케일링된 스트림의 타입이 영화 타입이면 제5 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링할 수 있다. 또는, 다운 스케일링된 스트림의 타입이 광고 타입이면 제6 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링할 수 있다.
이상과 같은 적어도 하나의 스케일러를 선택하기 위한 동작은 얼마든지 조합된 형태로 구현될 수도 있다.
일 실시 예에서, 본 개시에 따른 인공 지능(AI)과 관련된 기능은 제2 프로세서(140)와 메모리를 통해 동작될 수 있다.
제2 프로세서(140)는 하나의 프로세서 또는 복수의 프로세서로 구성될 수 있다. 일 실시 예에서, 하나의 프로세서 또는 복수의 프로세서는 범용 프로세서(예: CPU, AP, DSP 등), 그래픽 전용 프로세서(예: GPU, VPU(Vision Processing Unit)) 또는 인공 지능 전용 프로세서(예: NPU)일 수 있다.
하나의 프로세서 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나의 프로세서 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공 지능 모델은 기 정의된 연산 규칙 및/또는 인공 지능 모델이 학습을 통해 만들어진 것을 특징으로 한다.
본원에 사용된 바와 같이, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(예: 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 인공 지능 모델을 만들기 위해 사용될 수 있는 학습 알고리즘의 예는 지도형 학습(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) 등을 포함할 수다. 다만, 이에 한정되는 것은 아니다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다. 도 3에 따르면, 전자 장치(100)는 디코더(110), 복수의 버퍼(120), 제1 프로세서(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한, 도 3에 따르면, 전자 장치(100)는 스케일러(150), 통신 인터페이스(160), 메모리(170), 디스플레이(180), 사용자 인터페이스(190)를 더 포함할 수도 있다. 도 3의 전자 장치(100)는 도 2를 참조하여 상술한 전자 장치(100)를 포함할 수 있고 및/또는 많은 면에서 유사할 수 있다. 위에 언급되지 않은 추가 기능이 포함될 수 있다. 도 3의 전자 장치(100)의 구성 요소가 될 정도로. 도 2의 전자 장치(100)의 대응 구성 요소는 많은 측면에서 유사하며, 반복되는 설명은 간결함을 위해 생략될 수 있다.
통신 인터페이스(160)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하도록 구현될 수 있다. 예를 들어, 전자 장치(100)는 통신 인터페이스(160)를 통해 스트리밍 서버 등과 통신을 수행할 수 있다.
실시 예에서, 통신 인터페이스(160)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈, NFC 모듈, 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 예를 들어, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
다른 예에서, 와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID(service set identifier) 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 통신 정보를 이용하여 통신 연결이 수행될 수 있다. 이후, 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(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), 5G New Radio (NR) 등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(160)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(160)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
메모리(170)는 제2 프로세서(140) 등이 접근할 수 있도록 프로그램, 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 예를 들어, 메모리(170)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
실시 예에서, 메모리(170)에는 전자 장치(100) 또는 제2 프로세서(140)의 동작에 필요한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 본원에 사용된 바와 같이, 인스트럭션은 전자 장치(100) 또는 제2 프로세서(140)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할(예: 실행할) 수 있는 기계어로 작성된 것일 수 있다. 또는, 메모리(170)에는 전자 장치(100) 또는 제2 프로세서(140)의 특정 작업을 수행하는 복수의 인스트럭션이 인스트럭션 집합체(instruction set)로서 저장될 수도 있다.
또는, 메모리(170)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(170)에는 업 스케일링 모듈 등이 저장될 수 있다.
실시 예에서, 메모리(170)는 제2 프로세서(140)에 의해 액세스될 수 있다. 예를 들어, 제2 프로세서(140)는 인스트럭션, 인스트럭션 집합체 또는 데이터에 대한 독취/기록/수정/삭제/갱신 중 적어도 하나를 수행할 수 있다.
디스플레이(180)는 이미지를 디스플레이하도록 구현될 수 있다. 실시 예에서, 디스플레이(180)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 중 적어도 하나로 구현될 수 있다. 디스플레이(180) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있다. 또는, 디스플레이(180)는 구동 회로, 백라이트 유닛 등을 함께 포함될 수 있다. 실시 예에서, 디스플레이(180)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
사용자 인터페이스(190)는 버튼, 터치 패드, 마우스 및 키보드 등으로 구현될 수 있다. 또는, 사용자 인터페이스는(190)는 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 실시 예에서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 전자 장치(100)의 복수의 영역 중 임의의 하나의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼 중 적어도 하나일 수 있다.
부가적으로, 전자 장치(100)는 마이크, 스피커, 카메라 등을 더 포함할 수도 있다.
예를 들어, 마이크는 사운드를 입력받아 오디오 신호로 변환하도록 구현될 수 있다. 또는, 마이크는 제2 프로세서(140)와 전기적으로 연결되며, 제2 프로세서(140)의 제어에 의해 사운드를 수신할 수 있다.
예를 들어, 마이크는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 또는, 마이크는 전자 장치(100)와는 별도의 리모컨 등에 구비될 수도 있다. 이 경우, 리모컨은 마이크를 통해 사운드를 수신하고, 수신된 사운드를 전자 장치(100)로 제공할 수도 있다.
마이크는 아날로그 형태의 사운드를 수집하는 마이크, 수집된 사운드를 증폭하는 앰프 회로, 증폭된 사운드를 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
실시 예에서, 마이크는 사운드 센서의 형태로 구현될 수 있다. 예를 들어, 마이크는 사운드를 수집할 수 있는 임의의 타입일 수 있다.
실시 예에서, 스피커는 제2 프로세서(140)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력할 수 있다.
부가적으로, 전자 장치(100)는 카메라를 포함할 수 있다. 카메라는 정지 영상 또는 동영상을 촬상(예: 캡쳐)하도록 구현될 수 있다. 예를 들어, 카메라는 특정 시점에서의 정지 영상을 촬영할 수 있다. 다른 예를 들어, 카메라는 연속적으로 정지 영상을 촬영할 수 있다.
카메라는 렌즈, 셔터, 조리개, 고체 촬상 소자, AFE(Analog Front End), TG(Timing Generator) 중 적어도 하나를 포함할 수 있다. 예를 들어, 셔터는 피사체에 반사된 빛이 카메라로 들어오는 시간을 조절할 수 있다. 조리개는 빛이 들어오는 개구부의 크기를 기계적으로 증가 또는 감소시켜 렌즈에 입사되는 광량을 조절한다. 고체 촬상 소자는 피사체에 반사된 빛이 광전하로 축적되면, 광전하에 의한 상을 전기 신호로 출력한다. TG는 고체 촬상 소자의 픽셀 데이터를 리드아웃 하기 위한 타이밍 신호를 출력할 수 있다. AFE는 고체 촬상 소자로부터 출력되는 전기 신호를 샘플링하여 디지털화한다.
실시 예에서, 전자 장치(100)는 영상 처리(예: DSP)를 위한 프로세서의 자원 관리를 통해 복수의 스트림을 다양한 방식으로 처리할 수 있다. 따라서, 관련 전자 장치를 비교할 때, 사용자 편의성이 향상될 수 있다. 또는, 전자 장치(100)는 신경망 모델을 이용하는 적어도 하나의 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하여 화질 열화를 최소화할 수 있다.
이하에서는 도 4 내지 7을 통해 전자 장치(100)의 동작을 설명한다. 도 4 내지 7에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 4 내지 7의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 4는 본 개시의 일 실시 예에 따른 제1 프로세서(130)의 동작을 개략적으로 설명하기 위한 도면이다.
제1 프로세서(130)는 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 예를 들어, 제1 프로세서(130)는 도 4에 도시된 바와 같이, 제1 버퍼 그룹(예: 스트림 1)에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 1을 획득할 수 있다. 다른 예에서, 프로세서(140)는 제2 버퍼 그룹(스트림 2)에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 2를 획득할 수 있다. 다른 예에서, 프로세서(140)는 제3 버퍼 그룹(스트림 3)에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 3을 획득할 수 있다. 다른 예에서, 프로세서(140)는 제4 버퍼 그룹(스트림 4)에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 4를 획득할 수 있다.
다만, 이에 한정되는 것은 아니며, 제1 프로세서(130)가 처리하는 스트림의 개수, 처리된 스트림의 해상도 등은 본 발명의 범위를 벗어나지 않는 범위 내에서 다양하게 변경될 수 있다.
제2 프로세서(140)는 도 4에 도시된 바와 같이, 리소스 매니저(141) 및 샘플링 연산부(142)를 포함할 수 있다. 리소스 매니저(141)는 제1 프로세서(130)의 현재 사용률을 식별하고, 현재 사용률에 기초하여 잔여(예: 사용 가능) 사용률을 식별할 수 있다. 또는, 리소스 매니저(141)는 추가 스트림의 재생에 필요한(예: 충분한) 제1 프로세서(130)의 추가 사용률을 식별할 수 있다. 샘플링 연산부(142)는 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별할 수 있다.
도 5 내지 7은 본 개시의 일 실시 예에 따른 제1 프로세서(130)의 자원 관리를 설명하기 위한 도면들이다.
디코더(110)는 복수의 스트림을 디코딩할 수 있다. 예를 들어, 디코더(110)는 도 5에 도시된 바와 같이, 스트림 1, 스트림 2, 스트림 3, 스트림 4를 출력할 수 있다. 도 5에서는 설명의 편의를 위해 스트림 1, 스트림 2, 스트림 3, 스트림 4로 표시하였으나, 복수의 스트림은 각각 복수의 버퍼 그룹에 저장될 수 있다. 또는, 복수의 스트림은 각각은 디코딩된 상태일 수 있다.
제1 프로세서(130)는 복수의 버퍼 그룹 각각으로부터 출력된 복수의 스트림을 relocation하여 하나의 프레임을 획득할 수 있다. 예를 들어, 제1 프로세서(130)는 복수의 버퍼 그룹 각각으로부터 출력된 복수의 스트림을 relocation하여 2k 해상도의 스트림 1, 2k 해상도의 스트림 2, 2k 해상도의 스트림 3, 2k 해상도의 스트림 4를 출력할 수 있다.
리소스 매니저(141)는 제1 프로세서(130)의 현재 사용률(520)을 식별하고, 현재 사용률에 기초하여 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률을 식별할 수 있다. 예를 들어, 리소스 매니저(141)는 현재 사용률이 100%이면, 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 0%로 식별할 수 있다.
이후, 추가 스트림의 재생 명령이 수신되면, 리소스 매니저(141)는 추가 스트림의 재생에 필요한(예: 충분한) 추가 사용률을 식별하고, 샘플링 연산부(142)로 리소스 확보를 위한 다운 스케일링 레이트의 연산을 요청할 수 있다. 샘플링 연산부(142)는 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별할 수 있다. 예를 들어, 스트림 5(510)의 재생 명령이 수신되면, 리소스 매니저(141)는 스트림 5의 재생에 필요한(예: 충분한) 추가 사용률을 20%로 식별하고, 샘플링 연산부(142)는 잔여(예: 사용 가능) 사용률 0% 및 추가 사용률 20%에 기초하여 다운 스케일링 레이트를 식별할 수 있다.
샘플링 연산부(142)는 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하는 신호를 제1 프로세서(130)로 전송할 수 있다. 예를 들어, 샘플링 연산부(142)는 스트림 4 및 스트림 5를 1k 해상도로 relocation하는 신호를 제1 프로세서(130)로 전송할 수 있다.
제1 프로세서(130)는 도 6에 도시된 바와 같이, 스트림 4를 1k 해상도로 relocation하게 되며, 그에 따라 제1 프로세서(130)의 사용률 중 스트림 4를 처리하는 사용률(610)이 절반으로 감소하고, 나머지가 잔여(예: 사용 가능) 사용률(620)로 확보될 수 있다.
제1 프로세서(130)는 도 7에 도시된 바와 같이, 잔여(예: 사용 가능) 사용률이 확보되면 스트림 5를 1k 해상도로 relocation하게 되며, 그에 따라 제1 프로세서(130)의 잔여(예: 사용 가능) 사용률이 스트림 5를 처리하는 사용률(710)로 전환될 수 있다.
전자 장치(100)는 적어도 하나의 스케일러(150)를 더 포함하며, 적어도 하나의 다운 스케일링된 스트림은 적어도 하나의 스케일러(150)에 의해 업 스케일링될 수 있다.
예를 들어, 적어도 하나의 스케일러(150) 중 제1 스케일러는 1k 해상도의 스트림 4를 수신하여 2k 해상도로 업스케일링하고, 적어도 하나의 스케일러(150) 중제2 스케일러는 1k 해상도의 스트림 5를 수신하여 2k 해상도로 업스케일링할 수 있다. 실시 예에서, 제1 스케일러 및 제2 스케일러는 업 스케일링을 수행하기 위한 신경망 모델을 이용할 수 있다.
이상과 같은 동작을 통해, 제1 프로세서(130)는 5개의 스트림을 처리하면서도, 신경망 모델을 이용하는 스케일러를 통해 품질 열화를 줄일 수 있다.
도 5 내지 7에서는 추가 스트림이 하나인 경우를 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 추가 스트림이 둘인 경우, 제1 프로세서(130)는 스트림 3 및 스트림 4를 1k 해상도로 relocation하고, 추가 스트림 5 및 추가 스트림 6을 1k 해상도로 relocation할 수도 있다. 이 경우, 1k 해상도의 스트림 3, 1k 해상도의 스트림 4, 1k 해상도의 스트림 5, 1k 해상도의 스트림 6은 4개의 스케일러를 통해 1k 해상도로 업스케일링될 수도 있다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
복수의 스트림을 디코딩한다(S810). 복수의 스트림 각각을 복수의 버퍼 그룹에 각각 저장한다(S820). 전자 장치(100)에 포함된 제1 프로세서는 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득한다(S830). 전자 장치(100)에 포함된 제2 프로세서는 추가 스트림의 재생이 필요한(예: 충분한) 경우 추가 스트림의 재생에 필요한 제1 프로세서의 추가 사용률을 식별한다(S840). 제2 프로세서가 제1 프로세서의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서를 제어한다(S850).
제어하는 단계(S850)는 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링될 스트림의 개수 또는 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별할 수 있다.
또는, 제어하는 단계(S850)는 복수의 스트림 및 추가 스트림 중 적어도 하나가 다운 스케일링 레이트에 기초하여 기설정된 최저 해상도 임계치 미만으로 다운 스케일링되면, 복수의 스트림 및 추가 스트림 중 적어도 하나를 기설정된 최저 해상도 임계치로 다운 스케일링하고, 다운 스케일링될 스트림의 개수를 증가시킬 수 있다.
실시 예에서, 제어하는 단계(S850)는 제1 프로세서의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면, 복수의 스트림 각각의 해상도 및 추가 스트림의 해상도에 기초하여 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서를 제어할 수 있다.
또는, 제어하는 단계(S850)는 제1 프로세서의 잔여(예: 사용 가능) 사용률이 추가 사용률 미만이면 복수의 스트림 중 하나를 다운 스케일링하도록 제1 프로세서를 제어할 수 있다.
실시 예에서, 제2 프로세서는 잔여(예: 사용 가능) 사용률 및 추가 사용률을 식별하는 리소스 매니저 및 잔여(예: 사용 가능) 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부를 포함할 수 있다.
부가적으로, 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어하는 단계를 더 포함할 수 있다.
실시 예에서, 적어도 하나의 스케일러는 신경망 모델을 이용하도록 구현될 수 있다.
실시 예에서, 디코딩하는 단계(S810)는 멀티 포맷 디코더(multi format decoder)를 통해 복수의 스트림을 디코딩할 수 있다.
또는, 복수의 버퍼 그룹 각각은 4개의 버퍼를 포함할 수 있다.
이상과 같은 본 개시의 일 실시 예에 따르면, 전자 장치는 영상 처리(예: DSP)를 위한 프로세서의 자원 관리를 통해 관련 전잦 장치를 비교할 때, 복수의 스트림을 다양한 방식으로 처리할 수 있어 사용자 편의성이 향상될 수 있다.
즉, 전자 장치는 복수의 스트림 중 적어도 하나를 다운 스케일링하여 처리함에 따라 복수의 스트림의 개수를 증가시켜 사용자가 동시 시청할 수 있는 컨텐츠가 증가할 수 있다.
또는, 전자 장치는 신경망 모델을 이용하는 적어도 하나의 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하여 화질 열화를 최소화할 수 있다.
본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(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. 전자 장치에 있어서,
    복수의 스트림을 디코딩하는 디코더;
    상기 복수의 스트림에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼;
    상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 제1 프로세서; 및
    상기 디코더, 상기 복수의 버퍼 및 상기 제1 프로세서에 통신 가능하게 결합되고, 상기 전자 장치를 제어하도록 구성된 적어도 하나의 제2 프로세서;를 포함하며,
    상기 적어도 하나의 제2 프로세서는,
    추가 스트림이 재생되어야 한다는 제1 결정에 기초하여, 상기 추가 스트림을 재생하기에 충분한 상기 제1 프로세서의 추가 사용률을 식별하고,
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 가용 사용률을 초과하는지 결정하고,
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 제2 결정에 기초하여, 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 개수를 식별하는, 전자 장치.
  3. 제1항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 다운 스케일링 레이트를 식별하는, 전자 장치.
  4. 제3항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 다운 스케일링 레이트에 의해 다운스케일링된 적어도 하나의 상기 다운 스케일링될 스트림의 해상도가 기설정된 최저 해상도 임계치 미만으로 결정되면, 상기 다운 스케일링될 상기 스트림 중 적어도 하나를 상기 기설정된 최저 해상도 임계치로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시키는, 전자 장치.
  5. 제1항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 상기 제2 결정에 기초하여, 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나의 각 스트림 각각의 해상도에 따라 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  6. 제1항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 상기 제2 결정에 기초하여, 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  7. 제1항에 있어서,
    상기 적어도 하나의 제2 프로세서는,
    상기 가용 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저; 및
    상기 가용 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부;를 포함하는, 전자 장치.
  8. 제1항에 있어서,
    적어도 하나의 스케일러;를 더 포함하며,
    상기 적어도 하나의 제2 프로세서는,
    상기 추가 스트림 및 상기 복수의 스트림 각각의 상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 상기 적어도 하나의 스케일러를 제어하는, 전자 장치.
  9. 제8항에 있어서,
    상기 적어도 하나의 스케일러는,
    신경망 모델을 이용하도록 구성된, 전자 장치.
  10. 제1항에 있어서,
    상기 디코더는,
    멀티 포맷 디코더(multi format decoder)를 포함하는, 전자 장치.
  11. 제1항에 있어서,
    상기 복수의 버퍼 그룹의 각각의 버퍼는,
    4개의 버퍼를 포함하는, 전자 장치.
  12. 전자 장치의 제어 방법에 있어서,
    복수의 스트림을 디코딩하는 단계;
    상기 복수의 스트림을 대응되는 복수의 버퍼 그룹에 저장하는 단계;
    상기 전자 장치의 제1 프로세서에 의해, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 단계;
    상기 전자 장치의 제2 프로세서에 의해, 추가 스트림이 재생되어야 한다는 결정에 기초하여, 상기 추가 스트림을 재생하기에 충분한 상기 제1 프로세서의 추가 사용률을 식별하는 단계;
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 가용 사용률을 초과하는지 결정하는 단계; 및
    상기 제1 프로세서의 상기 추가 사용률이 상기 제1 프로세서의 상기 가용 사용률을 초과한다는 결정에 기초하여, 상기 제2 프로세서가 상기 추가 스트림 및 상기 복수의 스트림 각각 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는 단계;를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 프로세서를 제어하는 단계는,
    상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 개수를 식별하는, 제어 방법.
  14. 제12항에 있어서,
    상기 제1 프로세서를 제어하는 단계는,
    상기 제1 프로세서의 상기 가용 사용률 및 상기 제1 프로세서의 상기 추가 사용률에 기초하여, 다운 스케일링될 스트림의 다운 스케일링 레이트를 식별하는, 제어 방법.
  15. 제14항에 있어서,
    상기 제1 프로세서를 제어하는 단계는,
    상기 다운 스케일링 레이트에 의해 다운스케일링된 적어도 하나의 상기 다운 스케일링될 스트림의 해상도가 기설정된 최저 해상도 임계치 미만으로 결정되면, 상기 다운 스케일링될 상기 스트림 중 적어도 하나를 상기 기설정된 최저 해상도 임계치로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시키는, 제어 방법.
PCT/KR2023/011371 2022-10-26 2023-08-02 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법 WO2024090743A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/376,673 US20240146958A1 (en) 2022-10-26 2023-10-04 Electronic apparatus for playing a plurality of videos at the same time and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0139308 2022-10-26
KR1020220139308A KR20240058512A (ko) 2022-10-26 2022-10-26 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/376,673 Continuation US20240146958A1 (en) 2022-10-26 2023-10-04 Electronic apparatus for playing a plurality of videos at the same time and control method thereof

Publications (1)

Publication Number Publication Date
WO2024090743A1 true WO2024090743A1 (ko) 2024-05-02

Family

ID=90831285

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011371 WO2024090743A1 (ko) 2022-10-26 2023-08-02 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20240146958A1 (ko)
KR (1) KR20240058512A (ko)
WO (1) WO2024090743A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560099B1 (ko) * 2005-02-17 2006-03-13 (주)인트로모바일 독립적인 채널로 구성된 콘텐츠 정보를 멀티 디스플레이할수 있는 이동 통신 단말기, 그 방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20110032993A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 복수의 입력소스들로부터의 비디오 신호들을 디스플레이하기 위한 방법 및 장치
KR20130076674A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 복수의 컨텐츠를 처리하는 신호 처리 장치와 이를 디스플레이하는 디스플레이 장치 및 그 방법들
KR20200130969A (ko) * 2019-05-13 2020-11-23 주식회사 이누씨 어댑티브 멀티트랙 스트리밍 장치 및 방법
KR20220014005A (ko) * 2020-07-28 2022-02-04 삼성전자주식회사 전자장치, 서버 및 그 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560099B1 (ko) * 2005-02-17 2006-03-13 (주)인트로모바일 독립적인 채널로 구성된 콘텐츠 정보를 멀티 디스플레이할수 있는 이동 통신 단말기, 그 방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20110032993A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 복수의 입력소스들로부터의 비디오 신호들을 디스플레이하기 위한 방법 및 장치
KR20130076674A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 복수의 컨텐츠를 처리하는 신호 처리 장치와 이를 디스플레이하는 디스플레이 장치 및 그 방법들
KR20200130969A (ko) * 2019-05-13 2020-11-23 주식회사 이누씨 어댑티브 멀티트랙 스트리밍 장치 및 방법
KR20220014005A (ko) * 2020-07-28 2022-02-04 삼성전자주식회사 전자장치, 서버 및 그 제어방법

Also Published As

Publication number Publication date
KR20240058512A (ko) 2024-05-03
US20240146958A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
WO2021101087A1 (en) Electronic apparatus and controlling method thereof
WO2020226317A1 (en) Image processing apparatus and image processing method thereof
WO2019093744A1 (en) Display apparatus and control method thereof
WO2021107291A1 (en) Electronic apparatus and control method thereof
WO2020105979A1 (en) Image processing apparatus and control method thereof
WO2021071155A1 (en) Electronic apparatus and control method thereof
WO2016056804A1 (en) Content processing apparatus and content processing method thereof
WO2024090743A1 (ko) 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법
WO2021107293A1 (en) Electronic apparatus and control method thereof
WO2023282425A2 (ko) 지능적 가로-세로 영상 변환을 위한 전자 장치, 시스템 및 방법
WO2022114516A1 (ko) 전자 장치 및 이의 제어 방법
WO2024085381A1 (ko) 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법
WO2022059920A1 (ko) 전자 장치, 그 제어 방법 및 전자 시스템
WO2024090778A1 (ko) 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법
WO2024147482A1 (ko) 이미지를 업스케일링하기 위한 전자 장치 및 그 제어 방법
WO2024085473A1 (ko) P2p 연결을 형성하기 위한 전자 장치 및 그 제어 방법
EP4074027A1 (en) Systems and methods for signal transmission
JP2014150487A (ja) 撮像装置
WO2024122821A1 (ko) 리모트 컨트롤 신호로 주변 기기를 제어하기 위한 전자 장치 및 그 제어 방법
WO2024039035A1 (ko) 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법
WO2023058861A1 (ko) 전자 장치 및 그 제어 방법
WO2024122882A1 (ko) 디스플레이 장치 및 그 제어 방법
WO2024117506A1 (ko) 사운드를 모드에 따라 상이하게 처리하기 위한 전자 장치 및 그 제어 방법
WO2024043446A1 (ko) 사용자의 위치를 식별하기 위한 전자 장치 및 그 제어 방법
WO2023182667A1 (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: 23882850

Country of ref document: EP

Kind code of ref document: A1