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

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

Info

Publication number
KR20240058512A
KR20240058512A KR1020220139308A KR20220139308A KR20240058512A KR 20240058512 A KR20240058512 A KR 20240058512A KR 1020220139308 A KR1020220139308 A KR 1020220139308A KR 20220139308 A KR20220139308 A KR 20220139308A KR 20240058512 A KR20240058512 A KR 20240058512A
Authority
KR
South Korea
Prior art keywords
processor
streams
additional
stream
utilization
Prior art date
Application number
KR1020220139308A
Other languages
English (en)
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 KR1020220139308A priority Critical patent/KR20240058512A/ko
Priority to PCT/KR2023/011371 priority patent/WO2024090743A1/ko
Priority to US18/376,673 priority patent/US20240146958A1/en
Publication of KR20240058512A publication Critical patent/KR20240058512A/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

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

전자 장치가 개시된다. 본 전자 장치는 복수의 스트림을 디코딩하는 디코더, 복수의 스트림 각각에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼, 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 제1 프로세서 및 디코더, 복수의 버퍼 및 제1 프로세서에 연결되어 전자 장치를 제어하는 적어도 하나의 제2 프로세서를 포함하며, 제2 프로세서는 추가 스트림의 재생이 필요한 경우 추가 스트림의 재생에 필요한 제1 프로세서의 추가 사용률을 식별하고, 제1 프로세서의 잔여 사용률이 추가 사용률 미만이면 복수의 스트림 및 추가 스트림 중 적어도 하나를 다운 스케일링하도록 제1 프로세서를 제어할 수 있다.

Description

복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS FOR PLAYING A PLURALITY OF VIDEOS AT THE SAME TIME AND CONTROL METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 종류의 전자 장치가 개발되고 있다. 특히, 최근에는 복수의 비디오를 동시에 재생 가능할 정도로 디스플레이 장치의 하드웨어 및 소프트웨어 성능이 발달되었다.
복수의 비디오를 동시에 재생하기 위해서는 DSP(digital signal processor)와 같은 영상 처리를 위한 프로세서의 자원 관리가 중요한 요소이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 복수의 스트림을 디코딩하는 디코더, 상기 복수의 스트림 각각에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 제1 프로세서 및 상기 디코더, 상기 복수의 버퍼 및 상기 제1 프로세서에 연결되어 상기 전자 장치를 제어하는 적어도 하나의 제2 프로세서를 포함하며, 상기 제2 프로세서는 추가 스트림의 재생이 필요한 경우 상기 추가 스트림의 재생에 필요한 상기 제1 프로세서의 추가 사용률을 식별하고, 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
또한, 상기 제2 프로세서는 상기 잔여 사용률 및 상기 추가 사용률에 기초하여 상기 다운 스케일링될 스트림의 개수 또는 상기 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별할 수 있다.
그리고, 상기 제2 프로세서는 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나가 상기 다운 스케일링 레이트에 기초하여 기설정된 최저 해상도 미만으로 다운 스케일링되면, 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 상기 기설정된 최저 해상도로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시킬 수 있다.
또한, 상기 제2 프로세서는 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면, 상기 복수의 스트림 각각의 해상도 및 상기 추가 스트림의 해상도에 기초하여 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
그리고, 상기 제2 프로세서는 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
또한, 상기 제2 프로세서는 상기 잔여 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저 및 상기 잔여 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부를 포함할 수 있다.
그리고, 적어도 하나의 스케일러를 더 포함하며, 상기 제2 프로세서는 상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 상기 적어도 하나의 스케일러를 제어할 수 있다.
또한, 상기 적어도 하나의 스케일러는 신경망 모델을 이용하는 스케일러일 수 있다.
그리고, 상기 디코더는 멀티 포맷 디코더(multi format decoder)일 수 있다.
또한, 상기 복수의 버퍼 그룹 각각은 4개의 버퍼를 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 복수의 스트림을 디코딩하는 단계, 상기 복수의 스트림 각각을 복수의 버퍼 그룹에 저장하는 단계, 상기 전자 장치에 포함된 제1 프로세서에 의해, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 단계, 상기 전자 장치에 포함된 제2 프로세서에 의해, 추가 스트림의 재생이 필요한 경우 상기 추가 스트림의 재생에 필요한 상기 제1 프로세서의 추가 사용률을 식별하는 단계 및 상기 제2 프로세서가 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는 단계를 포함한다.
또한, 상기 제어하는 단계는 상기 잔여 사용률 및 상기 추가 사용률에 기초하여 상기 다운 스케일링될 스트림의 개수 또는 상기 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별할 수 있다.
그리고, 상기 제어하는 단계는 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나가 상기 다운 스케일링 레이트에 기초하여 기설정된 최저 해상도 미만으로 다운 스케일링되면, 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 상기 기설정된 최저 해상도로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시킬 수 있다.
또한, 상기 제어하는 단계는 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면, 상기 복수의 스트림 각각의 해상도 및 상기 추가 스트림의 해상도에 기초하여 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
그리고, 상기 제어하는 단계는 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어할 수 있다.
또한, 상기 제2 프로세서는 상기 잔여 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저 및 상기 잔여 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부를 포함할 수 있다.
그리고, 상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어하는 단계를 더 포함할 수 있다.
또한, 상기 적어도 하나의 스케일러는 신경망 모델을 이용하는 스케일러일 수 있다.
그리고, 상기 디코딩하는 단계는 멀티 포맷 디코더(multi format decoder)를 통해 상기 복수의 스트림을 디코딩할 수 있다.
또한, 상기 복수의 버퍼 그룹 각각은 4개의 버퍼를 포함할 수 있다.
도 1a 내지 도 1c는 본 개시의 일 실시 예에 따른 복수의 스트림(stream)을 처리하는 방법을 설명하기 위한 도면들이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블럭도이다.
도 4는 본 개시의 일 실시 예에 따른 제1 프로세서의 동작을 개략적으로 설명하기 위한 도면이다.
도 5 내지 도 7은 본 개시의 일 실시 예에 따른 제1 프로세서의 자원 관리를 설명하기 위한 도면들이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 목적은 DSP(digital signal processor)와 같은 영상 처리를 위한 프로세서의 자원 관리를 통해 복수의 스트림(stream)을 처리하는 효율을 높이기 위한 전자 장치 및 그 제어 방법을 제공함에 있다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1a 내지 도 1c는 본 개시의 일 실시 예에 따른 복수의 스트림을 처리하는 방법을 설명하기 위한 도면들이다.
전자 장치는 도 1a에 도시된 DVDE 코덱을 이용하여 영상 데이터를 디코딩할 수 있다. 예를 들어, 도 1a에 도시된 DVDE 코덱은 멀티 포맷 디코더(multi format decoder)의 일종으로, 도 1a에서는 설명의 편의를 위해 하나의 스트림이 수신되는 것으로 도시되었으나, 멀티 포맷 디코더는 복수의 스트림을 수신하고, 복수의 스트림을 디코딩할 수도 있다.
DVDE 코덱은 디코딩된 영상 데이터를 DDR(double data rate) 메모리 등의 메모리로의 로드(load) 및 지연(latency)의 최적화를 위해 4개의 분리된 버퍼(buffer)로 출력할 수 있다.
VDEC Interface라는 하드웨어는 4개의 버퍼에 저장된 영상 데이터를 relocation하여 하나의 프레임을 생성한 후, 생성된 프레임을 스케일러(scaler)로 출력할 수 있다.
스케일러는 수신된 프레임을 디스플레이의 해상도에 대응되도록 스케일링할 수 있다.
여기서, VDEC Interface라는 하드웨어 대신 DSP를 이용하여 relocation할 수도 있으며, 이 경우 VDEC Interface라는 하드웨어 없이도 영상 프레임을 획득할 수 있다.
특히, DSP를 이용하는 경우, 도 1b에 도시된 바와 같이, 복수의 스트림을 처리할 수 있다. 예를 들어, DSP는 도 1c에 도시된 바와 같이, 스트림 1, 스트림 2, 스트림 3 및 스트림 4를 수신하고, 2k 해상도의 스트림 1, 2k 해상도의 스트림 2, 2k 해상도의 스트림 3 및 2k 해상도의 스트림 4를 출력할 수 있다.
다만, DVDE 코덱의 성능보다 DSP의 사용량의 여유가 부족할 경우, relocation할 수 있는 스트림의 개수에 제한이 발생할 수 있다. 이 경우, 추가 스트림의 재생이 필요하더라도 추가 스트림을 재생하지 못하거나 기존 스트림의 재생을 중단해야 할 수도 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블럭도이다.
전자 장치(100)는 복수의 스트림을 영상 처리하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 TV, 데스크탑 PC, 노트북, 비디오 월(video wall), LFD(large format display), Digital Signage(디지털 간판), DID(Digital Information Display), 프로젝터 디스플레이, 스마트폰, 태블릿 PC 등과 같이 디스플레이를 구비하고, 복수의 스트림을 영상 처리한 후, 영상 처리된 복수의 스트림을 디스플레이하는 장치일 수 있다. 또는, 전자 장치(100)는 셋탑박스(STB) 등과 같이 디스플레이가 구비된 장치로 영상 처리된 복수의 스트림을 제공하는 장치일 수도 있다.
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 복수의 스트림을 영상 처리할 수 있다면 어떠한 장치라도 무방하다.
도 2에 따르면, 전자 장치(100)는 디코더(110), 복수의 버퍼(120), 제1 프로세서(130) 및 제2 프로세서(140)를 포함한다.
디코더(110)는 인코딩된 복수의 스트림을 디코딩할 수 있다. 예를 들어, 디코더(110)는 DVDE 코덱 규격을 통해 인코딩된 복수의 스트림을 디코딩할 수 있다.
다만, 이에 한정되는 것은 아니며, 디코더(110)는 멀티 포맷 디코더의 일종으로 구현되어, 복수의 스트림을 수신하고 복수의 스트림을 디코딩할 수 있다면 어떠한 코덱 규격을 이용하더라도 무방하다.
복수의 버퍼(120)는 복수의 스트림 각각에 대응되는 복수의 버퍼 그룹을 포함할 수 있다. 예를 들어, 복수의 버퍼(120)는 총 16개이며, 각각이 4개의 버퍼를 포함하는 4개의 그룹을 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 복수의 버퍼(120)는 얼마든지 다양한 개수로 구현될 수 있다. 또한, 하나의 버퍼 그룹에 포함된 버퍼의 개수도 얼마든지 다양할 수 있다.
복수의 버퍼 그룹 각각은 하나의 스트림을 저장할 수 있다. 예를 들어, 하나의 버퍼 그룹에 포함된 4개의 버퍼는 하나의 스트림을 분할하여 저장할 수 있다. 가령, 하나의 버퍼 그룹에 포함된 4개의 버퍼 중 제1 버퍼는 제1 픽셀에 대한 정보를 저장하고, 제2 버퍼는 제1 픽셀 옆의 제2 픽셀에 대한 정보를 저장하고, 제3 버퍼는 제2 픽셀 옆의 제3 픽셀에 대한 정보를 저장하고, 제4 버퍼는 제3 픽셀 옆의 제4 픽셀에 대한 정보를 저장하는 방식으로, 하나의 스트림에 포함된 데이터를 순차적으로 저장할 수 있다. 다만, 이에 한정되는 것은 아니며, 하나의 버퍼 그룹에 하나의 스트림이 저장되는 방식은 얼마든지 다양할 수 있다.
제1 프로세서(130)는 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득할 수 있다. 예를 들어, 제1 프로세서(130)는 DSP로 구현되며, 복수의 버퍼 그룹 중 제1 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득하고, 복수의 버퍼 그룹 중 제2 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득하고, 복수의 버퍼 그룹 중 제3 그룹에 포함된 4개의 버퍼로부터 순차적으로 수신된 데이터를 relocation하여 하나의 프레임을 획득하고, 복수의 버퍼 그룹 중 제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 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
적어도 하나의 제2 프로세서(140)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(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)는 추가 스트림의 재생이 필요한 경우 추가 스트림의 재생에 필요한 제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)는 잔여 사용률 및 추가 사용률을 식별하는 리소스 매니저 및 잔여 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부를 포함할 수 있다. 예를 들어, 잔여 사용률 및 추가 사용률을 식별하는 리소스 매니저 및 잔여 사용률 및 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부는 하드웨어적으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 제2 프로세서(140)는 리소스 매니저 및 샘플링 연산부 각각의 동작을 수행하는 소프트웨어 모듈에 기초하여 제1 프로세서(130)를 제어할 수도 있다.
전자 장치(100)는 적어도 하나의 스케일러를 더 포함하며, 제2 프로세서(140)는 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어할 수 있다. 여기서, 적어도 하나의 스케일러는 신경망 모델을 이용하는 스케일러일 수 있다.
제2 프로세서(140)는 전자 장치(100)의 디스플레이의 해상도에 기초하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어할 수 있다. 또는, 제2 프로세서(140)는 디스플레이 장치의 디스플레이의 해상도에 기초하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어하고, 업 스케일링된 스트림을 디스플레이 장치로 제공할 수도 있다. 이하에서는 전자 장치(100) 또는 디스플레이 장치의 디스플레이의 해상도를 타겟 해상도로 언급한다.
또는, 제2 프로세서(140)는 적어도 하나의 스케일러 중 타겟 해상도에 대응되는 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링할 수 있다. 예를 들어, 제2 프로세서(140)는 타겟 해상도가 FHD이면 제1 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하고, 타겟 해상도가 UHD이면 제2 스케일러를 이용하여 적어도 하나의 다운 스케일링된 스트림을 업 스케일링할 수 있다. 여기서, 제1 스케일러 및 제2 스케일러 각각은 신경망 모델을 이용하는 스케일러일 수 있다.
또는, 제2 프로세서(140)는 다운 스케일링된 스트림의 해상도 또는 타겟 해상도 중 적어도 하나에 기초하여 적어도 하나의 스케일러 중 하나의 스케일러를 이용할 수도 있다. 예를 들어, 제2 프로세서(140)는 다운 스케일링된 스트림의 해상도 및 타겟 해상도에 기초하여 업 스케일링 레이트가 기설정된 레이트 미만이면 제3 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링하고, 업 스케일링 레이트가 기설정된 레이트 이상이면 제4 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링할 수 있다.
또는, 제2 프로세서(140)는 다운 스케일링된 스트림의 타입에 기초하여 적어도 하나의 스케일러 중 하나의 스케일러를 이용할 수도 있다. 예를 들어, 제2 프로세서(140)는 다운 스케일링된 스트림의 타입이 영화 타입이면 제5 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링하고, 다운 스케일링된 스트림의 타입이 광고 타입이면 제6 스케일러를 이용하여 다운 스케일링된 스트림을 업 스케일링할 수 있다.
이상과 같은 적어도 하나의 스케일러를 선택하는 기준은 얼마든지 조합된 형태로 구현될 수도 있다.
한편, 본 개시에 따른 인공 지능과 관련된 기능은 제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)의 세부 구성을 나타내는 블럭도이다. 전자 장치(100)는 디코더(110), 복수의 버퍼(120), 제1 프로세서(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한, 도 3에 따르면, 전자 장치(100)는 스케일러(150), 통신 인터페이스(160), 메모리(170), 디스플레이(180), 사용자 인터페이스(190)를 더 포함할 수도 있다. 도 3에 도시된 구성 요소들 중 도 2에 도시된 구성 요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
통신 인터페이스(160)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 전자 장치(100)는 통신 인터페이스(160)를 통해 스트리밍 서버 등과 통신을 수행할 수 있다.
통신 인터페이스(160)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(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)는 이미지를 디스플레이하는 구성으로, 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)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
사용자 인터페이스(190)는 버튼, 터치 패드, 마우스 및 키보드 등으로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(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 버퍼 그룹에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 1을 획득하고, 제2 버퍼 그룹에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 2를 획득하고, 제3 버퍼 그룹에 포함된 4개의 버퍼로부터 디코딩된 데이터를 수신하고, 디코딩된 데이터를 relocation하여 2k 해상도의 스트림 3을 획득하고, 제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). 그리고, 전자 장치에 포함된 제1 프로세서에 의해, 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득한다(S830). 그리고, 전자 장치에 포함된 제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 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 디코더
120 : 복수의 버퍼 130 : 제1 프로세서
140 : 제2 프로세서 150 : 스케일러
160 : 통신 인터페이스 170 : 메모리
180 : 디스플레이 190 : 사용자 인터페이스

Claims (20)

  1. 전자 장치에 있어서,
    복수의 스트림을 디코딩하는 디코더;
    상기 복수의 스트림 각각에 대응되는 복수의 버퍼 그룹으로 구분된 복수의 버퍼;
    상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 제1 프로세서; 및
    상기 디코더, 상기 복수의 버퍼 및 상기 제1 프로세서에 연결되어 상기 전자 장치를 제어하는 적어도 하나의 제2 프로세서;를 포함하며,
    상기 제2 프로세서는,
    추가 스트림의 재생이 필요한 경우 상기 추가 스트림의 재생에 필요한 상기 제1 프로세서의 추가 사용률을 식별하고,
    상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  2. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 잔여 사용률 및 상기 추가 사용률에 기초하여 상기 다운 스케일링될 스트림의 개수 또는 상기 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별하는, 전자 장치.
  3. 제2항에 있어서,
    상기 제2 프로세서는,
    상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나가 상기 다운 스케일링 레이트에 기초하여 기설정된 최저 해상도 미만으로 다운 스케일링되면, 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 상기 기설정된 최저 해상도로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시키는, 전자 장치.
  4. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면, 상기 복수의 스트림 각각의 해상도 및 상기 추가 스트림의 해상도에 기초하여 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  5. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 전자 장치.
  6. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 잔여 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저; 및
    상기 잔여 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부;를 포함하는, 전자 장치.
  7. 제1항에 있어서,
    적어도 하나의 스케일러;를 더 포함하며,
    상기 제2 프로세서는,
    상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 상기 적어도 하나의 스케일러를 제어하는, 전자 장치.
  8. 제7항에 있어서,
    상기 적어도 하나의 스케일러는,
    신경망 모델을 이용하는 스케일러인, 전자 장치.
  9. 제1항에 있어서,
    상기 디코더는,
    멀티 포맷 디코더(multi format decoder)인, 전자 장치.
  10. 제1항에 있어서,
    상기 복수의 버퍼 그룹 각각은,
    4개의 버퍼를 포함하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    복수의 스트림을 디코딩하는 단계;
    상기 복수의 스트림 각각을 복수의 버퍼 그룹에 저장하는 단계;
    상기 전자 장치에 포함된 제1 프로세서에 의해, 상기 복수의 버퍼 그룹 각각으로부터 출력된 디코딩된 데이터를 relocation하여 하나의 프레임을 획득하는 단계;
    상기 전자 장치에 포함된 제2 프로세서에 의해, 추가 스트림의 재생이 필요한 경우 상기 추가 스트림의 재생에 필요한 상기 제1 프로세서의 추가 사용률을 식별하는 단계; 및
    상기 제2 프로세서가 상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제어하는 단계는,
    상기 잔여 사용률 및 상기 추가 사용률에 기초하여 상기 다운 스케일링될 스트림의 개수 또는 상기 다운 스케일링될 스트림의 다운 스케일링 레이트 중 적어도 하나를 식별하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제어하는 단계는,
    상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나가 상기 다운 스케일링 레이트에 기초하여 기설정된 최저 해상도 미만으로 다운 스케일링되면, 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 상기 기설정된 최저 해상도로 다운 스케일링하고, 상기 다운 스케일링될 스트림의 개수를 증가시키는, 제어 방법.
  14. 제11항에 있어서,
    상기 제어하는 단계는,
    상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면, 상기 복수의 스트림 각각의 해상도 및 상기 추가 스트림의 해상도에 기초하여 상기 복수의 스트림 및 상기 추가 스트림 중 적어도 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 제어 방법.
  15. 제11항에 있어서,
    상기 제어하는 단계는,
    상기 제1 프로세서의 잔여 사용률이 상기 추가 사용률 미만이면 상기 복수의 스트림 중 하나를 다운 스케일링하도록 상기 제1 프로세서를 제어하는, 제어 방법.
  16. 제11항에 있어서,
    상기 제2 프로세서는,
    상기 잔여 사용률 및 상기 추가 사용률을 식별하는 리소스 매니저; 및
    상기 잔여 사용률 및 상기 추가 사용률에 기초하여 다운 스케일링 레이트를 식별하는 샘플링 연산부;를 포함하는, 제어 방법.
  17. 제11항에 있어서,
    상기 적어도 하나의 다운 스케일링된 스트림을 업 스케일링하도록 적어도 하나의 스케일러를 제어하는 단계;를 더 포함하는, 제어 방법.
  18. 제17항에 있어서,
    상기 적어도 하나의 스케일러는,
    신경망 모델을 이용하는 스케일러인, 제어 방법.
  19. 제11항에 있어서,
    상기 디코딩하는 단계는,
    멀티 포맷 디코더(multi format decoder)를 통해 상기 복수의 스트림을 디코딩하는, 제어 방법.
  20. 제11항에 있어서,
    상기 복수의 버퍼 그룹 각각은,
    4개의 버퍼를 포함하는, 제어 방법.
KR1020220139308A 2022-10-26 2022-10-26 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법 KR20240058512A (ko)

Priority Applications (3)

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

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

Publications (1)

Publication Number Publication Date
KR20240058512A true KR20240058512A (ko) 2024-05-03

Family

ID=90831285

Family Applications (1)

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

Country Status (3)

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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560099B1 (ko) * 2005-02-17 2006-03-13 (주)인트로모바일 독립적인 채널로 구성된 콘텐츠 정보를 멀티 디스플레이할수 있는 이동 통신 단말기, 그 방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR101677527B1 (ko) * 2009-09-22 2016-11-21 삼성전자주식회사 복수의 입력소스들로부터의 비디오 신호들을 디스플레이하기 위한 방법 및 장치
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
WO2024090743A1 (ko) 2024-05-02
US20240146958A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
US10405126B2 (en) Mixed-order ambisonics (MOA) audio data for computer-mediated reality systems
US11481586B2 (en) Electronic apparatus and controlling method thereof
KR20210067699A (ko) 전자 장치 및 그 제어 방법
KR20210041757A (ko) 전자 장치 및 그 제어 방법
CN114979785A (zh) 视频处理方法和相关装置
TWI619383B (zh) 無線顯示雲端模式
KR20240058512A (ko) 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법
CN107920275B (zh) 视频播放方法、装置、终端及存储介质
US20220353459A1 (en) Systems and methods for signal transmission
KR20240017706A (ko) 신조어를 식별하기 위한 전자 장치 및 그 제어 방법
KR20240056112A (ko) 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법
KR20240058549A (ko) 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법
CN111314777A (zh) 视频生成方法及装置、计算机存储介质、电子设备
KR20240086279A (ko) 리모트 컨트롤 신호로 주변 기기를 제어하기 위한 전자 장치 및 그 제어 방법
US20240196039A1 (en) Electronic apparatus for controlling peripheral device with remote control signal and control method thereof
US20230409159A1 (en) Display apparatus and control method thereof
US20240037868A1 (en) Display apparatus for displaying augmented reality object and control method thereof
US20220092735A1 (en) Electronic apparatus and controlling method thereof
KR20240016843A (ko) Ar 객체를 표시하기 위한 디스플레이 장치 및 그 제어 방법
TWI539795B (zh) 使用變化區域的媒體編碼
US20240181340A1 (en) Display apparatus, server apparatus and control method thereof
KR20240025372A (ko) 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법
KR20240054085A (ko) P2p 연결을 형성하기 위한 전자 장치 및 그 제어 방법
US20230094993A1 (en) Electronic apparatus and controlling method thereof
US20240073637A1 (en) Electronic apparatus for identifying position of user and control method thereof