KR102332525B1 - 전자 장치 및 그 동작방법 - Google Patents

전자 장치 및 그 동작방법 Download PDF

Info

Publication number
KR102332525B1
KR102332525B1 KR1020170068661A KR20170068661A KR102332525B1 KR 102332525 B1 KR102332525 B1 KR 102332525B1 KR 1020170068661 A KR1020170068661 A KR 1020170068661A KR 20170068661 A KR20170068661 A KR 20170068661A KR 102332525 B1 KR102332525 B1 KR 102332525B1
Authority
KR
South Korea
Prior art keywords
content
prefetched
electronic device
streams
stream
Prior art date
Application number
KR1020170068661A
Other languages
English (en)
Other versions
KR20180131923A (ko
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 KR1020170068661A priority Critical patent/KR102332525B1/ko
Priority to PCT/KR2018/004472 priority patent/WO2018221855A1/en
Priority to EP18809368.6A priority patent/EP3593518B1/en
Priority to US15/957,192 priority patent/US10616364B2/en
Publication of KR20180131923A publication Critical patent/KR20180131923A/ko
Application granted granted Critical
Publication of KR102332525B1 publication Critical patent/KR102332525B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications

Abstract

전자 장치 및 전자 장치의 동작 방법이 개시된다. 개시된 전자 장치는, 통신 인터페이스, 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 프리패칭할 하나 이상의 라이브 컨텐츠 스트림을 결정하고, 상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 라이브 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하고, 구성된 플레이백 파이프라인에 따라 상기 하나 이상의 라이브 컨텐츠 스트림을 프리패칭하고, 프리패칭한 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하고, 상기 결정에 따라 상기 프리패칭된 하나 이상의 라이브 컨텐츠 스트림을 일정한 시간 간격으로 업데이트한다.

Description

전자 장치 및 그 동작방법{Electronic apparatus, and operating method for the same}
다양한 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로, 보다 구체적으로는, 컨텐츠 스트림의 프리패칭을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
스마트 또는 인터넷에 연결된 텔레비전은 인터넷 네트워크와 같은 데이터 네트워크로부터 데이터를 수신할 수 있으므로 시청자들은 디지털 방송 컨텐츠 뿐만 아니라 멀티미디어 컨텐츠를 수신할 수 있다. 이와 같이 스마트 텔레비전이나 인터넷에 연결된 텔레비전과 다양한 스마트 기기의 사용으로 인해 컨텐츠 제공자들은 보다 풍부한 컨텐츠, 광고, 인터랙티브 컨텐츠를 제공할 수 있게 되었다.
또한 최근에는 VoD 스트리밍 어플리케이션 (Video on Demand Streaming Application)을 통해 데이터 스트리밍 서비스의 영역이 점차 넓어지면서, 각 VoD 스트리밍 앱은 다음 재생할 컨텐츠 예측 및 프리패칭 방식을 이용하여 빠른 컨텐츠 재생 전화 및 더 나은 사용자 경험을 제공하고 있다. 특히, 프리패칭 방식은 이전 영상을 종료하고 다음 영상을 재생하는 과정에서 재생 준비 및 데이터 처리 시간으로 인해 발생하는 공백 시간을 감소시킬 수 있다는 점에서 해당 기능을 사용하는 앱이 점차 증가하고 있는 추세이다.
다양한 실시예들은, 컨텐츠 스트림의 프리패칭을 효과적으로 수행할 수 있는 전자 장치 및 그 동작 방법을 제공하는 것을 목적으로 한다.
일 실시예에 따른 전자 장치는, 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하고, 상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하고, 구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하고, 프리패칭한 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하고, 상기 결정에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트한다.
일 실시예에 따라 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠 인 경우에 상기 프리패칭한 컨텐츠 스트림을 업데이트하는 것으로 결정할 수 있다.
일 실시예에 따라 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 상기 프리패칭한 컨텐츠 스트림의 주소 정보, 프리패칭한 컨텐츠 스트림에 포함된 메타 정보, 또는 프리패칭을 요청한 컨텐츠 스트리밍 어플리케이션 중 적어도 하나에 기초하여, 상기 프리패칭한 컨텐츠 스트림의 타입을 결정할 수 있다.
실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 현재 선택된 채널에 인접한 하나 이상의 채널; 현재 포커싱된 컨텐츠 아이템에 인접하는 하나 이상의 컨텐츠 아이템; 및 컨텐츠 서치 결과로 나온 하나 이상의 컨텐츠 아이템 중 적어도 하나에 기초하여 상기 프리패칭할 하나 이상의 컨텐츠 스트림을 결정할 수 있다.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 프리패칭할 하나 이상의 컨텐츠 스트림에 대해 우선순위를 결정하고, 상기 우선순위가 높은 컨텐츠 스트림에 대응하여, 상기 가용 리소스가 할당된 플레이백 파이프라인을 구성할 수 있다.
일 실시예에 따라 전자 장치의 동작 방법은, 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하는 동작, 상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하는 동작,구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하는 동작, 프리패칭된 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하는 동작,및 상기 결정에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트하는 동작을 포함한다.
실시예들에 따른 전자 장치 및 그 동작 방법에 의하면, 컨텐츠 전환간에 발생하는 공백을 최소화함으로써 사용자 경험을 증대시킬 수 있고 또한 라이브 컨텐츠 스트림의 컨텐츠 전환을 효과적으로 수행할 수 있다.
도 1은 다양한 실시예들이 적용하는 네트워크 시스템의 개략도이다.
도 2는 일 실시예에 따른 전자 장치 100의 개략적인 블록도이다.
도 3은 도 2에 도시된 비디오 처리부 150의 세부적인 구성을 나타낸다.
도 4는 일 실시예에 따라 전자 장치 100에서의 동작을 나타내는 흐름도이다.
도 5는 전자 장치에서 채널 변경 방식의 일 예를 나타내는 도면이다.
도 6은 전자 장치에서 컨텐츠 아이템 목록 방식의 일 예를 나타내는 도면이다.
도 7은 전자 장치에서 서치 결과 목록을 보여주는 일 예를 나타낸다.
도 8은 일 실시예에 따른 파이프라인 구성의 예를 나타낸다.
도 9는 일 실시예에 따른 파이프라인 구성의 다른 예를 나타낸다.
도 10은 프리패칭한 스트림의 업데이트를 설명하기 위한 참고도이다.
도 11은 일 실시예에 따른 전자 장치의 동작의 다른 예를 나타낸다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형식으로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서의 실시예에서 "사용자"라는 용어는 제어 장치를 이용하여 영상 표시 장치의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
도 1은 다양한 실시예들이 적용하는 네트워크 시스템의 개략도이다.
도 1을 참조하면, 시스템은 전자 장치100, 방송 서버 200, 컨텐츠 서버 300, 네트워크 350를 포함할 수 있다.
방송 서버 200는 방송 컨텐츠 DB 210에 저장된 방송 컨텐츠를 네트워크 350를 통해서 전자 장치 100로 제공할 수 있다.
컨텐츠 서버 300는 컨텐츠 DB 310에 저장된 컨텐츠를 네트워크 350를 통해서 전자 장치 100으로 제공할 수 있다.
방송 서버 200이나 컨텐츠 서버 300와 같은 네트워크 제공자는 전자 장치 100로 배포될 TV 프로그램이나 멀티미디어 컨텐츠와 같은 컨텐츠를 생성하거나, 획득하거나, 패키지하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
전자 장치 100는 방송 서버 200으로부터 방송 컨텐츠를 수신하고, 수신된 방송 컨텐츠를 표시하거나 또는 컨텐츠 서버 300으로부터 컨텐츠를 수신하고, 수신된 컨텐츠를 표시할 수 있다.
전자 장치 100는 수신한 컨텐츠 스트림을 디코딩하고 랜더링할 복수개의 리소스를 구비할 수 있고, 이에 따라 복수개의 리소스중 가용 리소스를 이용하여 하나 이상의 컨텐츠 스트림에 대응하는 파이프라인을 구성하고, 컨텐츠 스트림을 프리패칭할 수 있다.
또한 전자 장치 100는 프리패칭한 컨텐츠 스트림이 라이브 컨텐츠 스트림인 경우, 일정 시간 간격으로 업데이트할 수 있다.
전자 장치 100는 컨텐츠를 수신하여 시청자에게 제공하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스 및/또는 코드를 포함할 수 있다. 전자 장치 100는 셋탑 박스에 연결될 수 있다. 셋탑 박스는 전자 장치 100를 컨텐츠 제공자와 같은 외부 소스에 연결하고, 외부 소스로부터 수신된 신호를 전자 장치 100의 화면에 표시될 수 있는 컨텐츠로 변환하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
전자 장치 100는, 디스플레이 장치, 이 디스플레이 장치에 연결된 셋탑, 이 디스플레이 장치에 페어링된 페어링 장치를 포함할 수 있다.
통신 네트워크 350는 다양한 유선 또는 무선 기술을 통해 복수의 엔티티간에 통신을 제공하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. 유선 또는 무선 기술은, T1/E1, DSL, 케이블 모뎀, FTTx, PLC 및/또는 WiMax를 포함할 수 있다. 통신 네트워크는 인터넷 또는 멀티미디어 네트워크를 포함할 수 있다.
한편, 일 실시예에 따른 전자 장치100는 TV일 수 있으나, 이는 일 실시예에 불과하며, 디스플레이를 포함하는 전자 장치로 구현될 수 있다. 예를 들어, 전자 장치100는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 전자 장치로 구현될 수 있다.
전자 장치100는 제어 장치에 의해 제어될 수 있으며, 제어 장치는 리모컨 또는 휴대폰과 같이 전자 장치100를 제어하기 위한 다양한 형태의 장치로 구현될 수 있다. 또한, 제어 장치는 적외선(infrared) 또는 블루투스(bluetooth)를 포함하는 근거리 통신을 이용하여 전자 장치 100를 제어할 수 있다.
도 2는 일 실시예에 따른 전자 장치 100의 개략적인 블록도이다.
도 2를 참조하면, 전자 장치 100는 방송 컨텐츠 수신기 110, 통신 인터페이스 120, 감지부 130, 디스플레이 140, 비디오 처리부 150, 오디오 출력부 160, 메모리170, 제어부 190을 포함할 수 있다.
방송 컨텐츠 수신기 110은 방송 서버 200로부터 방송 컨텐츠를 수신할 수 있다.
방송 컨텐츠 수신기 110은 예를 들어 튜너를 포함할 수 있다. 튜너는 유선 또는 무선으로 수신되는 방송 신호를 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 신호 처리를 하고, 수신된 많은 방송 신호의 전파 성분 중에서 전자 장치 100에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 방송 신호는 오디오(audio), 비디오(video) 및 부가 정보(예를 들어, EPG(Electronic Program Guide))를 포함한다. 튜너는 지상파 방송, 케이블 방송, 위성 방송, 인터넷 방송 등과 같이 다양한 소스로부터 방송 신호를 수신할 수 있다. 튜너는 아날로그 방송 또는 디지털 방송 등과 같은 소스로부터 방송 신호를 수신할 수도 있다.
통신 인터페이스 120은 컨텐츠 서버 300로부터 멀티미디어 컨텐츠를 수신할 수 있다.
감지부 130은 사용자의 영상을 감지하는 카메라, 사용자의 음성을 감지하는 마이크로폰, 사용자의 인터랙션을 감지하는 광수신부 나 다양한 센서를 포함할 수 있다.
디스플레이 140는 비디오 처리부 150에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이140는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이140는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.
비디오 처리부 150는 디스플레이 140에 의해 표시될 영상을 신호 처리하며, 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
일 실시예에 따라 비디오 처리부 150는 복수의 디코더 및 복수의 랜더러를 포함할 수 있다. 본 명세서에서 디코더나 랜더러는 리소스로 언급될 수 있으며, 가용 리소스는 파이프라인으로 구성될 수 있다.
비디오 처리부 150의 동작은 도 3을 참조하여 상세히 설명한다.
오디오 출력부 160는 오디오 신호를 출력할 수 있다. 오디오 출력부 160는 스피커, 헤드폰 출력 단자 또는 S/PDIF(Sony/Philips Digital Interface) 출력 단자 중 적어도 하나 또는 그 조합을 포함할 수 있다.
오디오 처리부 170는 오디오 출력부 160에서 출력될 오디오 신호를 처리할 수 있다.
오디오 처리부170는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부170에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 한편, 오디오 처리부170는 복수의 컨텐츠에 대응되는 오디오를 처리하기 위해 복수의 오디오 처리 모듈을 구비할 수 있다.
일 실시예에 따라 오디오 처리부 170는, 비디오 처리부와 마찬가지로, 복수개의 디코더를 구비하여, 하나 이상의 컨텐츠 스트림에 대응하는 파이프라인 구성시 오디오 디코더를 가용 리소스로 이용할 수 있다.
메모리 180은 오퍼레이팅 시스템, 하나 이상의 어플리케이션, 제어부 190에서 처리되는 데이터를 포함할 수 있다.
"메모리"라는 용어는 저장소, 제어부의 롬, 램 또는 전자 장치 100에 장착되는 메모리 카드(예를 들어, micro SD 카드, USB 메모리, 도시되지 아니함)를 포함한다. 또한, 메모리 180는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.
일 실시예에 따라 메모리 180는 컨텐츠 스트리밍 어플리케이션 181, 리소스 매니저 182, 파이프라인 구성정보/프리패칭 데이터 183을 포함할 수 있다.
컨텐츠 스트리밍 어플리케이션 181은 컨텐츠 서버 300로부터 컨텐츠를 스트리밍하여 디스플레이 140에 표시하고, 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하고, 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하고, 구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하고, 프리패칭된 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 유지할지 또는 업데이트할지 결정하고, 결정 결과에 따라 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트하는 하나 이상의 인스트럭션을 포함할 수 있다.
리소스 매니저 182는 비디오 처리부 150 에 포함된 가용 리소스를 결정하고, 가용 리소스를 관리하는 하나 이상의 인스트럭션을 포함할 수 있다.
파이프라인 구성정보/프리패칭 데이터 183는 컨텐츠 스트리밍 어플리케이션 181에 의해 결정된 파이프라인 구성 정보 및 프리패칭된 컨텐츠 데이터를 포함한다.
제어부 190는 전자 장치 100의 전반적인 동작 및 전자 장치 100의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부 190는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 메모리 190에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
제어부 190는 전자 장치 100의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치 100에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 전자 장치 100의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다.
일 실시예에 따라 제어부 190는 메모리 180에 저장된 컨텐츠 스트리밍 어플리케이션 181에 포함된 하나 이상의 인스트럭션 및 리소스 매니저 182에 포함된 하나 이상의 인스트럭션을 수행할 수 있다.
일 실시예에 따라 제어부 190는 컨텐츠 스트리밍 어플리케이션을 실행함으로써, 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하고, 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하고, 구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하고, 프리패칭된 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 유지할지 또는 업데이트할지 결정하고, 결정 결과에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트할 수 있다.
일 실시예에 따라 제어부 190는 컨텐츠 스트림의 타입이 라이브 컨텐츠인 경우에 업데이트하는 것으로 결정할 수 있다.
일 실시예에 따라 제어부 190는 프리패칭한 컨텐츠 스트림의 주소 정보, 프리패칭한 컨텐츠 스트림에 포함된 메타 정보, 또는 프리패칭을 요청한 컨텐츠 스트리밍 어플리케이션 중 적어도 하나에 기초하여, 프리패칭한 컨텐츠 스트림의 타입을 결정할 수 있다.
또한 일 실시예에 따라 제어부 190는 현재 선택된 채널에 인접한 하나 이상의 채널; 현재 포커싱된 컨텐츠 아이템에 인접하는 하나 이상의 컨텐츠 아이템; 및 컨텐츠 서치 결과로 나온 하나 이상의 컨텐츠 아이템 중 적어도 하나에 기초하여 상기 프리패칭할 하나 이상의 컨텐츠 스트림을 결정할 수 있다.
또한 일 실시예에 따라 제어부 190는 프리패칭할 하나 이상의 컨텐츠 스트림에 대해 우선순위를 결정하고, 우선순위가 높은 컨텐츠 스트림에 대응하여, 상기 가용 리소스가 할당된 플레이백 파이프라인을 구성할 수 있다.
전자 장치 100는 도 2에 도시된 구성 외에도 전자 장치 100의 외부에서부터 비디오, 오디오 및 부가 정보 등을 수신하는 입/출력부 및 다양한 센서를 더 포함할 수 있다
또한, 전자 장치 100는 그 용어에 한정되지 않고, 프로세서와 메모리를 포함하여 애플리케이션을 실행하는 장치이면, 랩탑, 스마트 폰, 태블릿, 웨어러블 장치, PDA 등 어떤 전자 장치라도 가능하다.
한편, 도 2에 도시된 전자 장치 100의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치 100의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 3은 도 2에 도시된 비디오 처리부의 일 예 150a의 세부적인 구성을 나타낸다.
전자 장치 100가 수신한 컨텐츠 스트림은 비디오 처리부 150에서 디멀티플렉싱, 디코딩, 랜더링, 스케일링 과정을 거쳐 디스플레이 140에 표시될 수 있다.
디멀티플렉싱 과정은 수신한 컨텐츠 스트림을 파싱하고 다중화된 스트림들을 분리하는 것을 나타낸다. 디멀티플렉싱 과정은 하드웨어 리소스 또는 소프트웨어 리소스로 구현될 수 있다.
디코딩 과정은 디멀티플렉싱된 스트림을 디코드하는 것을 나타내고 디코딩 과정은 하드웨어 리소스 또는 소프트웨어 리소스로 구현될 수 있다.
랜더링 과정은 디코딩된 스트림을 디스플레이 140에 표시될 수 있는 화면 이미지로 구성하는 것을 나타낸다. 랜더링 과정은 하드웨어 리소스 또는 소프트웨어 리소스로 구현될 수 있다.
스케일링 과정은 디코딩된 데이터 또는 랜더링된 데이터를 디스플레이 140의 특성에 맞게 조정하는 것을 나타낸다. 스케일링 과정은 하드웨어 리소스 또는 소프트웨어 리소스로 구현될 수 있다. 랜더링 과정과 스케일링 과정은 하나의 과정으로 통합될 수도 있고, 또는 스케일링 과정은 생략될 수 있다.
도 3을 참조하면, 비디오 처리부 150a은 3개의 디코더와 3개의 랜더러를 포함할 수 있다. 즉, 비디오 처리부 150a는 디코더 1 151a, 디코더 2 151b, 디코더 3 151c, 랜더러 1 152a, 랜더러 2 152b, 랜더러 3 152c를 포함할 수 있다. 도 3에 도시된 예에서는 비디오 처리부가 디코더와 랜더러를 포함하는 것으로 도시되었지만 이는 일 예에 불과하고, 비디오 처리부가 디멀티플렉서와 스케일러를 하드웨어 리소스로서 포함하는 것도 가능함은 물론이다.
도 4는 일 실시예에 따라 전자 장치 100에서의 동작을 나타내는 흐름도이다.
도 4를 참조하면, 동작 410에서, 전자 장치 100는 프리패칭할 하나 이상의 컨텐츠 스트림을 결정할 수 있다.
전자 장치 100의 제어부 190는 스트리밍 컨텐츠 어플리케이션 181을 실행함으로써 프리패칭할 하나 이상의 컨텐츠 스트림을 결정할 수 있다.
제어부 190는 사용자가 다음에 선택할 가능성이 높은 컨텐츠를 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
제어부 190는 유저 인터페이스 타입에 기반하여 사용자가 선택할 가능성이 높은 컨텐츠를, 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
일 실시예에 따라 채널 방식 UI 타입에서 제어부 190는 현재 디스플레이에서 표시되는 채널에 인접한 채널에 대응하는 하나 이상의 컨텐츠 스트림을 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
도 5에는 전자 장치 100가 채널 <15> 510의 컨텐츠를 표시하고 있고, 전자 장치 100의 디스플레이 우측에 채널 리스트 500이 표시되어 있다. 현재 채널 <15>를 시청하고 있는 경우에 그 다음 재생 가능성이 높은 컨텐츠는 인접한 채널 또는 가장 많이 시청했던 채널이 될 수 있다. 따라서 제어부 190는 현재 채널에 인접한 양 방향 인접 채널에 높은 가중치를 부여하고 그 다음 인접 채널에 그 다음의 가중치를 부여하여 프리패칭할 컨텐츠 스트림으로 결정할 수 있다.
일 실시예에 따라 컨텐츠 목록 방식 UI 타입에서 제어부 190는 현재 포커싱된 컨텐츠 아이템에 인접한 하나 이상의 컨텐츠를 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
도 6의 전자 장치 100는 썸네일이나 컨텐츠 아이템의 목록이 나열되어 있는 앱을 표시하고 있다. 이 경우 포커싱된 컨텐츠 아이템 600에 대응하는 컨텐츠 스트림을 재생할 가능성이 높고, 다음으로는, 이 포커싱된 컨텐츠 아이템 600에 인접한 상측 아이템 610, 좌측 아이템 620, 우측 아이템 630, 하측 아이템 640 을 재생할 가능성이 높다. 따라서 제어부 190는 포커싱된 컨텐츠 아이템 600 및 상하좌우 아이템 610 내지 640에 각각 가중치를 달리하여 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
일 실시예에 따라 컨텐츠 서치 UI 타입에서 제어부 190는 서치 결과 목록에 있는 하나 이상의 컨텐츠를 프리패칭할 하나 이상의 컨텐츠 스트림으로 결정할 수 있다.
도 7의 전자 장치 100는 서치 결과 유저 인터페이스 700을 표시하고 있고 서치 결과로서 서치 결과 아이템 1 710 내지 서치 결과 아이템 4 740을 표시한다. 사용자가 검색을 통해 컨텐츠를 찾는 경우, 해당 검색 결과 목록에 있는 컨텐츠를 재생할 가능성이 높으므로 서치 결과에서 높은 우선순위를 갖는 컨텐츠에 높은 가중치를 부여하여 하나 이상의 프리패칭할 컨텐츠 스트림으로 결정할 수 있다.
동작 420에서, 전자 장치 100는 가용 리소스를 고려하여, 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성할 수 있다.
동작 430에서, 전자 장치 100는 구성된 플레이백 파이프라인에 따라 하나 이상의 컨텐츠 스트림을 프리패칭할 수 있다.
제어부 190는 동작 420과 동작 430을 별도의 동작으로 수행할 수도 있지만, 함께 수행할 수도 있으므로 이하의 설명에서는 같이 설명하기로 한다.
제어부 190는 컨텐츠를 프리패칭하여 디스플레이에 표시할 준비를 시켜놓을 수 있도록 플레이백 파이프라인을 미리 구성할 수 있다.
제어부 190는 가용 리소스를 고려하여 프리패칭할 하나 이상의 컨텐츠 스트림에 대응하는 플레이백 파이프라인을 구성하는데, 이때 컨텐츠 스트림의 가중치 또는 우선순위에 따라 가용 리소스를 할당할 수 있다. 제어부 190는 우선순위가 높은 컨텐츠 스트림부터 가용 리소스중 하드웨어 리소스를 할당할 수 있다. 예를 들어, 리소스가 소프트웨어 디멀티플렉서, 하드웨어 디코더, 하드웨어 랜더러로 구성되는 경우, 컨텐츠 스트림의 우선순위가 높을수록 소프트웨어 디멀티플렉서로부터 랜더러까지 할당한 플레이백 파이프라인을 구성하고, 우선순위가 낮을수록 하드웨어 리소스 없이 소프트웨어 리소스를 할당할 수 있다. 이와 같이 플레이백 파이프라인을 미리 구성하는 경우, 컨텐츠 스트림을 미리 저장하는 시간 및 플레이백 파이프라인 구성 시간을 단축시킬 수 있어, 좀더 빠른 컨텐츠 전환을 제공할 수 있다.
도 8은 일 실시예에 따라 플레이백 파이프라인을 구성하는 예를 설명하기 위한 참고도이다.
도 8을 참조하면, 비디오 처리부 150a는 3개의 디코더와 3개의 랜더러를 리소스로 갖고 있다. 이중에서 디코더 1과 랜더러 1은 이미 사용되고 있는 리소스이고, 디코더 2, 3 및 랜더러 2,3 이 가용 리소스이다.
제어부 190는 프리패칭할 컨텐츠 스트림으로 컨텐츠 스트림 1, 2, 3, 4를 결정할 수 있고 각각 우선순위를 1, 2, 3, 4로 결정할 수 있다.
제어부 190는 우선순위가 높은 컨텐츠 스트림부터 가용 리소스를 할당하여 파이프라인을 구성할 수 있다. 따라서, 제어부 190는 메모리 180의 일부에, 구성한 플레이백 파이프라인 800을 저장할 수 있다. 제어부 190는 우선순위가 높은 컨텐츠 스트림 1에 대응하여, 소프트웨어 디멀티플렉서 2, 디코더 2, 랜더러 2를 할당한 파이프라인 810을 구성하고, 다음 우선 순위가 높은 컨텐츠 스트림 2에 대응하여, 소프트웨어 디멀티플렉서 3, 디코더 3, 랜더러 2를 할당한 파이프라인 820을 구성할 수 있다. 다음 우선순위가 높은 컨텐츠 스트림 3에 대응해서는, 가용 리소스가 없기 때문에 디멀티플렉서 4, 페이크 디코더 1 및 페이크 랜더러 1를 할당한 파이프라인 830을 구성할 수 있다. 마지막 라이브 컨텐츠 스트림 4에 대응해서는, 디멀티플렉서 5, 페이크 디코더 2, 페이크 랜더러 2를 할당한 파이프라인 840을 구성할 수 있다. 페이크 디코더나 페이크 랜더러는 실제로 리소스가 할당된 것은 아니며, 실질적으로는 널 값이 할당된 것과 같다. 또한, 제어부 190는 구성된 각 파이프 라인에 대응해서 각 파이프라인에 대응하는 컨텐츠 스트림을 프리패칭하여 저장할 수 있다.
도 9는 일 실시예에 따라 플레이백 파이프라인을 구성하는 다른 예를 설명하기 위한 참고도이다.
도 9를 참조하면, 비디오 처리부 150b는 3개의 디코더와 2개의 랜더러를 리소스로 갖고 있다. 이중에서 디코더 1과 랜더러 1은 이미 사용되고 있는 리소스이고, 디코더 2, 3 및 랜더러 2가 가용 리소스이다.
제어부 190는 프리패칭할 라이브 컨텐츠 스트림으로 컨텐츠 스트림 1, 2, 3, 4를 결정할 수 있고 각각 우선순위를 1, 2, 3, 4로 결정할 수 있다.
제어부 190는 우선순위가 높은 컨텐츠 스트림부터 가용 리소스를 할당하여 파이프라인을 구성할 수 있다. 따라서, 제어부 190는 메모리 180의 일부에, 구성한 플레이백 파이프라인 900을 저장할 수 있다. 제어부 190는 우선순위가 높은 컨텐츠 스트림 1에 대응하여, 소프트웨어 디멀티플렉서 2, 디코더 2, 랜더러 2를 할당한 파이프라인 910을 구성하고, 다음 우선 순위가 높은 컨텐츠 스트림 2에 대응하여, 소프트웨어 디멀티플렉서 3, 디코더 3, 페이크 랜더러 1를 할당한 파이프라인 920을 구성할 수 있다. 다음 우선순위가 높은 컨텐츠 스트림 3에 대응해서는, 가용 리소스가 없기 때문에 디멀티플렉서 4, 페이크 디코더 1 및 페이크 랜더러 2를 할당한 파이프라인 930을 구성할 수 있다. 마지막 컨텐츠 스트림 4에 대응해서는, 디멀티플렉서 5, 페이크 디코더 2, 페이크 랜더러 3를 할당한 파이프라인 940을 구성할 수 있다. 또한, 제어부 190는 구성된 각 파이프 라인에 대응해서 각 파이프라인에 대응하는 컨텐츠 스트림을 프리패칭하여 저장할 수 있다.
동작 440에서, 전자 장치 100는 프리패칭된 하나 이상의 컨텐츠 스트림의 타입에 따라 프리패칭한 컨텐츠 스트림을 버퍼에 그대로 유지할 지 또는 업데이트할지 여부를 결정할 수 있다.
전자 장치 100는 프리패칭된 컨텐츠 스트림의 타입을, 프리패칭시 요청한 컨텐츠 스트림의 주소 정보나, 프리패칭한 컨텐츠 스트림에 포함된 메타 정보, 또는 프리패칭을 요청한 컨텐츠 스트리밍 어플리케이션 중 적어도 하나에 기초해서 결정할 수 있다.
프리패칭된 컨텐츠 스트림이 라이브가 아닌 경우에는 업데이트의 필요성이 없지만 프리패칭된 컨텐츠 스트림이 라이브인 경우에는 주기적으로 업데이트할 필요가 있다.
전자 장치 100는 프리패칭된 컨텐츠 스트림의 타입이 라이브 컨텐츠인 경우에 프리패칭한 컨텐츠 스트림을 업데이트하는 것으로 결정하고 동작 450으로 진행할 수 있다.
전자 장치 100는 프리패칭된 컨텐츠 스트림의 타입이 라이브 컨텐츠가 아닌 경우에는 프리패칭한 컨텐츠 스트림을 버퍼에 그대로 유지하는 것으로 결정할 수 있다.
메모리 180의 일부에 프리패칭된 컨텐츠 스트림의 타입이 라이브 컨텐츠 인 경우, 라이브 컨텐츠 스트림의 특성상 일정 시간이 경과한 경우 프리패칭 데이터는 더 이상 최신 스트림이 아니어서 컨텐츠 전환에 의해 해당 스트림이 선택된 경우에도 사용할 수 없는 문제가 있다. 따라서 라이브 스트리밍 플레이백의 특성을 살리면서 프리패칭하는 기능을 수행하기 위해 플레이백 파이프라인 내에 저장하는 데이터를 일정한 시간 간격으로 업데이트하는 과정이 필요하다.
동작 450에서, 전자 장치 100는 프리패칭된 하나 이상의 컨텐츠 스트림을 일정 시간 간격으로 업데이트할 수 있다.
라이브 스트림의 경우 전자 장치 100는 컨텐츠 서버로부터 현재 시점 이전의 일정 구간의 스트림 데이터를 수신할 수 있다.
도 10을 참조하여, 프리패칭된 라이브 컨텐츠 스트림의 버퍼 업데이트를 설명한다.
도 10을 참조하면, 제어부 190는 예를 들어 10:00:00에 최초로 프리패칭을 수행할 수 있다. 프리패칭되는 데이터 스트림은 예를 들어 현재보다 30초 이전 분량인 09:59:30 부터 10:00:00까지의 스트림 데이터 1010을 프리패칭할 수 있다. 예를 들어, 업데이트 간격을 10초 설정한 경우, 제어부 190는 10:00:10에 09:59:40 부터 10:00:10 까지의 스트림 데이터 1020을 업데이트할 수 있다. 제어부 190는 첫번째 업데이트 수행시에, 저장된 스트림 데이터 분량 1011 만큼은 플러시 (flush) 시키고, 스트림 데이터 분량 1012 만큼은 유지를 시키고, 스트림 데이터 분량 1013 즉, 10:00:00 부터 10:00:10 까지의 데이터를 프리패칭할 수 있다.
마찬가지로 제어부 190는 10:00:20에 두번째 업데이트, 10:00:30에 세번째 업데이트, 10:00:40에 네번째 업데이트를 수행할 수 있다.
도 11은 일 실시예에 따라 전자 장치에서의 동작을 다른 예를 나타낸다.
도 11을 참조하면, 동작 1110에서 전자 장치 100는 프리패칭할 하나 이상의 라이브 컨텐츠 스트림을 결정할 수 있다.
동작 1120에서 전자 장치 100는 결정된 하나 이상의 라이브 컨텐츠 스트림에 대해서 각각 우선순위를 결정할 수 있다.
동작 1130에서, 전자 장치 100는 이용가능한 리소스를 확인하고, 결정된 우선순위에 따라 플레이백 파이프라인을 구성하고, 대응하는 라이브 컨텐츠 스트림을 프리패칭할 수 있다.
동작 1140에서, 전자 장치 100는 포커스 이동이나 채널 변경이 발생했는지를 판단할 수 있다. 포커스 이동이나 채널 변경이 발생한 경우에는 프리패칭할 라이브 컨텐츠 스트림을 다시 결정하거나, 스트림들에 대한 우선순위가 변경될 수 있기 때문에 동작 1110으로 진행한다.
포커스 이동이나 채널 변경이 발생하지 않은 경우, 동작 1150에서 전자 장치 100는 하나 이상의 라이브 컨텐츠 스트림을 프리패칭하고 나서 일정 시간이 경과했는지를 판단한다.
동작 1160에서, 전자 장치 100는 일정 시간이 경과한 경우 플레이백 파이프라인 내 버퍼를 업데이트할 수 있다.
실시예들에 따른 전자 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (11)

  1. 전자 장치에 있어서,
    통신 인터페이스;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    프리패칭할 하나 이상의 컨텐츠 스트림을 결정하고,
    상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하고,
    구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하고,
    프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠인지 아닌지에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하고,
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠임에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트하고,
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠가 아님에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 유지하는, 전자 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 프리패칭한 컨텐츠 스트림의 주소 정보, 프리패칭한 컨텐츠 스트림에 포함된 메타 정보, 또는 프리패칭을 요청한 컨텐츠 스트리밍 어플리케이션 중 적어도 하나에 기초하여, 상기 프리패칭한 컨텐츠 스트림의 타입을 결정하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    현재 선택된 채널에 인접한 하나 이상의 채널; 현재 포커싱된 컨텐츠 아이템에 인접하는 하나 이상의 컨텐츠 아이템; 및 컨텐츠 서치 결과로 나온 하나 이상의 컨텐츠 아이템 중 적어도 하나에 기초하여 상기 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 프리패칭할 하나 이상의 컨텐츠 스트림에 대해 우선순위를 결정하고,
    상기 우선순위가 높은 컨텐츠 스트림에 대응하여, 상기 가용 리소스가 할당된 플레이백 파이프라인을 구성하는, 전자 장치.
  6. 전자 장치의 동작 방법에 있어서,
    프리패칭할 하나 이상의 컨텐츠 스트림을 결정하는 동작,
    상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하는 동작,
    구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하는 동작,
    프리패칭된 컨텐츠 스트림의 타입이 라이브 컨텐츠인지 아닌지에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하는 동작,
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠임에 따라 상기 결정에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트하는 동작, 및
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠가 아님에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 유지하는 동작을 포함하는, 전자 장치의 동작 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 프리패칭한 컨텐츠 스트림의 업데이트 여부를 결정하는 동작은,
    상기 프리패칭한 컨텐츠 스트림의 주소 정보, 프리패칭한 컨텐츠 스트림에 포함된 메타 정보, 또는 프리패칭을 요청한 컨텐츠 스트리밍 어플리케이션 중 적어도 하나에 기초하여, 상기 프리패칭한 컨텐츠 스트림의 타입을 결정하는 동작을 포함하는, 전자 장치의 동작 방법.
  9. 제6항에 있어서,
    현재 선택된 채널에 인접한 하나 이상의 채널; 현재 포커싱된 컨텐츠 아이템에 인접하는 하나 이상의 컨텐츠 아이템; 및 컨텐츠 서치 결과로 나온 하나 이상의 컨텐츠 아이템 중 적어도 하나에 기초하여 상기 프리패칭할 하나 이상의 컨텐츠 스트림을 결정하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  10. 제6항에 있어서,
    상기 프리패칭할 하나 이상의 컨텐츠 스트림에 대해 우선순위를 결정하는 동작 및
    상기 우선순위가 높은 컨텐츠 스트림에 대응하여, 상기 가용 리소스가 할당된 플레이백 파이프라인을 구성하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  11. 전자 장치의 동작 방법을 상기 전자 장치의 프로세서에 의해 수행할 수 있도록 구현된 프로그램이 기록된 컴퓨터 판독가능 기록 매체에 있어서, 상기 전자 장치의 동작 방법은,
    프리패칭할 하나 이상의 컨텐츠 스트림을 결정하는 동작,
    상기 전자 장치의 가용 리소스를 고려하여 상기 결정된 하나 이상의 컨텐츠 스트림의 각각에 대응하는 플레이백 파이프라인을 구성하는 동작,
    구성된 플레이백 파이프라인에 따라 상기 하나 이상의 컨텐츠 스트림을 프리패칭하는 동작,
    프리패칭된 컨텐츠 스트림의 타입이 라이브 컨텐츠인지 아닌지에 따라 프리패칭한 컨텐츠 스트림을 업데이트할지 여부를 결정하는 동작,
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠임에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 일정한 시간 간격으로 업데이트하는 동작, 및
    상기 프리패칭한 컨텐츠 스트림의 타입이 라이브 컨텐츠가 아님에 따라 상기 프리패칭된 하나 이상의 컨텐츠 스트림을 유지하는 동작을 포함하는, 컴퓨터 판독가능 기록 매체.


KR1020170068661A 2017-06-01 2017-06-01 전자 장치 및 그 동작방법 KR102332525B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170068661A KR102332525B1 (ko) 2017-06-01 2017-06-01 전자 장치 및 그 동작방법
PCT/KR2018/004472 WO2018221855A1 (en) 2017-06-01 2018-04-18 Electronic apparatus and method of operating the same
EP18809368.6A EP3593518B1 (en) 2017-06-01 2018-04-18 Electronic apparatus and method of operating the same
US15/957,192 US10616364B2 (en) 2017-06-01 2018-04-19 Electronic apparatus and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170068661A KR102332525B1 (ko) 2017-06-01 2017-06-01 전자 장치 및 그 동작방법

Publications (2)

Publication Number Publication Date
KR20180131923A KR20180131923A (ko) 2018-12-11
KR102332525B1 true KR102332525B1 (ko) 2021-11-29

Family

ID=64455564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170068661A KR102332525B1 (ko) 2017-06-01 2017-06-01 전자 장치 및 그 동작방법

Country Status (4)

Country Link
US (1) US10616364B2 (ko)
EP (1) EP3593518B1 (ko)
KR (1) KR102332525B1 (ko)
WO (1) WO2018221855A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102429429B1 (ko) * 2017-03-24 2022-08-04 삼성전자주식회사 전자 장치 및 그 동작방법
US11388471B2 (en) 2019-09-27 2022-07-12 At&T Intellectual Property I, L.P. Pre-fetching of information to facilitate channel switching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199241A1 (en) * 2008-02-05 2009-08-06 Robert Allan Unger Near real-time multiple thumbnail guide with single tuner
US20120072611A1 (en) * 2008-05-23 2012-03-22 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867068A (zh) * 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
WO2007068090A1 (en) * 2005-12-12 2007-06-21 Audiokinetic Inc. System and method for authoring media content
CN101715650B (zh) * 2007-06-28 2012-03-21 纽约市哥伦比亚大学信托人 机顶盒对等端辅助的视频点播
US8285121B2 (en) * 2007-10-07 2012-10-09 Fall Front Wireless Ny, Llc Digital network-based video tagging system
US8867886B2 (en) * 2011-08-08 2014-10-21 Roy Feinson Surround video playback
US20130129304A1 (en) * 2011-11-22 2013-05-23 Roy Feinson Variable 3-d surround video playback with virtual panning and smooth transition
US10038927B2 (en) * 2011-12-22 2018-07-31 Cisco Technology, Inc. Out-of-band signaling and device-based content control
US9804668B2 (en) * 2012-07-18 2017-10-31 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US20140373032A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Prefetching content for service-connected applications
US20150089073A1 (en) * 2013-09-25 2015-03-26 Ericsson Television Inc System and method for effectuating fast channel change in an adpative streaming environment
US9628543B2 (en) * 2013-09-27 2017-04-18 Samsung Electronics Co., Ltd. Initially establishing and periodically prefetching digital content
US10091263B2 (en) * 2014-05-21 2018-10-02 Audible Magic Corporation Media stream cue point creation with automated content recognition
US9692800B2 (en) 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback
GB2533787A (en) * 2014-12-30 2016-07-06 Nokia Technologies Oy Source data adaptation and rendering
US9537971B2 (en) * 2015-01-29 2017-01-03 Huawei Technologies Co., Ltd. Systems, devices and methods for distributed content pre-fetching in mobile communication networks
US9524450B2 (en) 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
US9906590B2 (en) * 2015-08-20 2018-02-27 Verizon Digital Media Services Inc. Intelligent predictive stream caching
US9826261B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US9888284B2 (en) * 2015-10-26 2018-02-06 Nokia Technologies Oy Method and apparatus for improved streaming of immersive content
US10945048B2 (en) * 2015-12-29 2021-03-09 DISH Technologies L.L.C. Methods and apparatus for presenting advertisements during playback of recorded television content
US10565463B2 (en) * 2016-05-24 2020-02-18 Qualcomm Incorporated Advanced signaling of a most-interested region in an image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199241A1 (en) * 2008-02-05 2009-08-06 Robert Allan Unger Near real-time multiple thumbnail guide with single tuner
US20120072611A1 (en) * 2008-05-23 2012-03-22 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media

Also Published As

Publication number Publication date
EP3593518A4 (en) 2020-01-15
WO2018221855A1 (en) 2018-12-06
EP3593518B1 (en) 2024-02-14
EP3593518A1 (en) 2020-01-15
US10616364B2 (en) 2020-04-07
US20180352049A1 (en) 2018-12-06
KR20180131923A (ko) 2018-12-11

Similar Documents

Publication Publication Date Title
CN107113469B (zh) 控制装置的系统、数字装置及其控制方法
KR102288087B1 (ko) 멀티미디어 디바이스 및 그 제어 방법
KR101712537B1 (ko) 원격 장치 상에서의 적응성 미디어 콘텐츠 스크러빙
US20140223502A1 (en) Method of Operating an IP Client
US10945020B2 (en) Electronic apparatus and method of operating the same
US20130174202A1 (en) Image processing apparatus which can play contents and control method thereof
EP3379838B1 (en) Electronic apparatus and method of operating the same
JP7100052B2 (ja) 電子装置及びその制御方法
KR102332525B1 (ko) 전자 장치 및 그 동작방법
EP3203728A1 (en) Display apparatus and display method
CN104079589A (zh) 一种外挂字幕的显示方法、系统及数字多媒体渲染器
JP2022509802A (ja) ネイティブ放送局アプリケーションを含む受信装置
ES2880502T3 (es) Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión
CN110140357B (zh) 用于播放代用广告的电子装置及其控制方法
US20170272828A1 (en) Image display apparatus and method of operating the same
US9769415B1 (en) Bandwidth optimized channel surfing and interface thereof
EP4203484A1 (en) Electronic device and method for operating same
KR101447785B1 (ko) 방송 프로그램과 관계가 있는 콘텐츠 제공을 위한 직관적인 유저인터페이스 및 콘텐츠 서비스 시스템
KR20220039114A (ko) 전자 장치 및 그 동작 방법
KR20230116550A (ko) 전자 장치 및 전자 장치의 동작 방법
US20180035178A1 (en) Image display device and method of operating the same
CN115623276A (zh) 一种显示设备及广告插播方法
JP2014232920A (ja) 電子機器、電子機器の制御方法、及び電子機器のプログラム
JP2022509801A (ja) 放送局アプリケーションリモコンキー操作
JP2015115708A (ja) テレビ受像機、コンテンツ再生方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant