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

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

Info

Publication number
KR20180083132A
KR20180083132A KR1020170005227A KR20170005227A KR20180083132A KR 20180083132 A KR20180083132 A KR 20180083132A KR 1020170005227 A KR1020170005227 A KR 1020170005227A KR 20170005227 A KR20170005227 A KR 20170005227A KR 20180083132 A KR20180083132 A KR 20180083132A
Authority
KR
South Korea
Prior art keywords
frame
stream
buffer
decoder
frames
Prior art date
Application number
KR1020170005227A
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 KR1020170005227A priority Critical patent/KR20180083132A/ko
Priority to PCT/KR2017/014818 priority patent/WO2018131806A1/en
Priority to EP17891557.5A priority patent/EP3545684A1/en
Priority to US15/854,128 priority patent/US10945020B2/en
Publication of KR20180083132A publication Critical patent/KR20180083132A/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/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
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

전자 장치 및 그 동작 방법이 개시된다. 개시된 전자 장치는, 제1스트림을 디코딩하는 제1 디코더; 제2스트림을 디코딩하는 제2 디코더; 상기 제1 디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 상기 제2 디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 수신하는 버퍼; 및 상기 제1스트림으로부터 상기 제2스트림으로의 전환을 요청하는 재생 전환 이벤트에 대응하여, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임으로부터 상기 하나 이상의 제2프레임을 식별하고, 상기 식별된 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어하는 콘트롤러를 포함하고, 상기 콘트롤러는, 상기 제1프레임의 타임스탬프 값과 구별되는 상기 제2프레임의 타임스탬프 값 또는 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그와 구별되는, 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그에 기초하여, 상기 제1프레임으로부터 상기 제2프레임을 식별할 수 있다.

Description

전자 장치 및 그 동작방법{Electronic apparatus, and operating method for the same}
다양한 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로, 보다 구체적으로는, 컨텐츠 재생 전환을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
스마트 또는 인터넷에 연결된 텔레비전은 인터넷 네트워크와 같은 데이터 네트워크로부터 데이터를 수신할 수 있으므로 시청자들은 디지털 방송 컨텐츠 뿐만 아니라 멀티미디어 컨텐츠를 수신할 수 있다. 이와 같이 스마트 텔레비전이나 인터넷에 연결된 텔레비전과 다양한 스마트 기기의 사용으로 인해 컨텐츠 제공자들은 보다 풍부한 컨텐츠, 광고, 인터랙티브 컨텐츠를 제공할 수 있게 되었다.
현저히 개선된 데이터 프로세싱 성능을 가진 스마트 텔레비전들은 컨텍스트에 기반한 컨텐츠를 제공함으로써 사용자 경험을 증대시키고 풍부하게 할 수 있다. 이와 같이 컨텍스트에 기반하여 컨텐츠를 제공하기 위해서, 스마트 텔레비전 또는 스마트 텔레비전에 연결된 셋탑박스는 텔레비전 스크린에 어떤 컨텐츠가 표시되고 있는지를 실시간으로 인식할 필요가 있다.
따라서 TV에서 표시되는 컨텐츠를 인식할 수 있는 기술인 컨텐츠 자동 인식 (Automatic Content Recognition)이 이용되고 있으며, 컨텐츠 자동 인식 기술의 주요 두가지 기술은, 디지털 워터마킹(digital watermarking)과 컨텐츠 핑거프린팅(digital fingerprinting)이다. 디지털 워터마킹은, 방송 컨텐츠에 워터마크 데이터를 매립하는 전처리를 수행하여 방송 신호를 보내고 TV는 이와 같이 매립된 워터마크를 검출하여 방송 컨텐츠를 식별하는 방법이다. 컨텐츠 핑거프린팅은, 컨텐츠로부터 핑커프린트를 추출하고 이를 데이터베이스와 매칭시킴으로써 TV 에 표시되는 컨텐츠를 식별하기 위해 오디오 또는 비디오 컨텐츠 핑거프린팅을 이용한다. 컨텐츠 핑거프린팅 방식에서, TV는 TV 디스플레이서 표시되는 컨텐츠로부터 핑거프린트를 계속해서 추출하고 추출된 핑거프린트를 핑거프린트 데이터베이스를 운영하는 핑거프린트 서버로 보낸다. 핑거프린트 서버는 수신된 TV에서 수신된 핑거프린트를 핑거프린트 데이터베이스에 저장된 핑거프린트와 매칭시킴으로써 TV에서 표시되는 컨텐츠를 식별할 수 있다. 또한 핑거프린트 서버는 식별된 컨텐츠에 대한 정보를 TV로 제공하는 동작을 수행할 수 있다.
또한 커스터마이즈드 스트리밍 서비스(customized streaming service)의 증가와 함께 커스터마이즈 애드 서비스(customized ad service) 또한 증가하고 있는 추세에서, 서버쪽에서 각 클라이언트 별 커스터마이징 서비스를 제공하는 방법중 하나로 본편 영상 사이에 광고가 표시되는 시간 구간을 애드 슬롯(AD slot) 또는 대체 슬롯(Replacement slot)으로 결정하고, 이 애드 슬롯(AD slot) 또는 대체 슬롯(Replacement slot)에 사용자에게 맞는 광고를 삽입하는 방식이 있다. 이는 각각의 독립적인 컨텐츠를 제공하기만 하면 되어 컨텐츠를 제공하는 쪽에서 특별한 기술을 요하지 않을 뿐더러 본 편 영상과 광고를 미리 인코딩하는 방식에 비해 훨씬 더 효율적인 방법으로 서비스 제공 업체에서 사용될 수 있다.
한편 이와 같이 TV 등의 디스플레이 장치에서 복수의 소오스로부터 컨텐츠를 수신하여 재생하는 경우 디스플레이 장치의 한정된 하드웨어 자원으로 복수의 소오스로부터의 컨텐츠를 관리하는 방안이 요구된다.
다양한 실시예들은, 재생할 컨텐츠의 전환을 효율적으로 할 수 있는 전자 장치 및 전자 장치의 동작 방법을 제공하는 것을 목적으로 한다.
일 실시예에 따른 전자 장치는, 제1스트림을 디코딩하는 제1 디코더; 제2스트림을 디코딩하는 제2 디코더; 상기 제1 디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 상기 제2 디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 수신하는 버퍼; 및 상기 제1스트림으로부터 상기 제2스트림으로의 전환을 요청하는 재생 전환 이벤트에 대응하여, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임으로부터 상기 하나 이상의 제2프레임을 식별하고, 상기 식별된 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어하는 콘트롤러를 포함하고, 상기 콘트롤러는, 상기 제1프레임의 타임스탬프 값과 구별되는 상기 제2프레임의 타임스탬프 값 또는 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그와 구별되는, 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그에 기초하여, 상기 제1프레임으로부터 상기 제2프레임을 식별할 수 있다.
일 실시예에 따라 상기 콘트롤러는, 상기 재생 전환 이벤트에 따라 결정된 재생 전환 시점에 상기 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어할 수 있다.
일 실시예에 따라 상기 재생 전환 시점은, 상기 재생 전환 이벤트에 포함된 타임스탬프 시간 정보와 상기 제1스트림에 대응하는 제1프레임의 타임스탬프 값이 일치하는 시점을 포함할 수 있다.
일 실시예에 따라 상기 제1스트림은 디지털 TV (라이브) 컨텐츠에 대응하고, 상기 제2스트림은 멀티미디어 컨텐츠에 대응할 수 있다.
일 실시예에 따라 상기 재생 전환 이벤트에 따라 전환 요청된 제2스트림은 대체 슬롯에 표시될 대체 컨텐츠를 포함할 수 있다.
일 실시예에 따라 상기 재생 전환 이벤트는, 상기 대체 슬롯의 시작 시점, 상기 대체 슬롯의 길이, 상기 대체 슬롯에 표시될 상기 대체 컨텐츠의 소오스 정보중 적어도 하나를 포함할 수 있다.
일 실시예에 따라 상기 콘트롤러는, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임을, 핑거프린트를 추출하는 ACR 모듈로 전송하도록 상기 버퍼를 제어할 수 있다.
일 실시예에 따라 상기 콘트롤러에서 상기 제1프레임과 상기 제2프레임의 식별에 상기 제1플래그와 상기 제2플래그가 이용되는 경우, 상기 제1디코더는 상기 하나 이상의 제1프레임에 상기 제1플래그를 부가하여 상기 버퍼로 제공하고, 상기 제2디코더는 상기 하나 이상의 제2프레임에 상기 제2플래그를 부가하여 상기 버퍼로 제공할 수 있다.
일 실시예에 따라 상기 콘트롤러는, 재생 전환 종료 시점에 응답하여, 상기 버퍼에 저장된 상기 하나 이상의 제2프레임으로부터 상기 하나 이상의 제1프레임을 식별하고, 상기 식별된 하나 이상의 제1프레임을 출력하도록 상기 버퍼를 제어하고, 상기 제1프레임 식별시, 상기 제2프레임의 타임스탬프 값과 구별되는 상기 제1프레임의 타임스탬프 값 또는 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그와 구별되는, 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그에 기초하여, 상기 제2프레임으로부터 상기 제1프레임을 식별할 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은, 제1디코더를 이용하여 제1스트림하는 디코딩하는 동작; 제2디코더를 이용하여 제2스트림을 디코딩하는 동작; 상기 제1 디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 상기 제2 디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 버퍼에 저장하는 동작; 및 상기 제1스트림으로부터 상기 제2스트림으로의 전환을 요청하는 재생 전환 이벤트에 대응하여, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임으로부터 상기 하나 이상의 제2프레임을 식별하고, 상기 식별된 하나 이상의 제2프레임을 출력하는 동작을 포함하고, 상기 제1프레임의 타임스탬프 값과 구별되는 상기 제2프레임의 타임스탬프 값 또는 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그와 구별되는, 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그에 기초하여, 상기 제1프레임으로부터 상기 제2프레임이 식별될 수 있다.
일 실시예에 따라 전자 장치의 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 개시된다.
실시예들에 따른 전자 장치 및 그 동작 방법에 의하면, 재생할 컨텐츠 전환을 효과적으로 수행할 수 있다.
도 1은 다양한 실시예들이 적용하는 네트워크 시스템의 개략도이다.
도 2는 일 실시예에 따른 전자 장치 100의 개략적인 블록도이다.
도 3은 일 실시예에 따라 전자 장치에서의 동작을 나타내는 흐름도이다.
도 4는 도 2에 도시된 비디오 처리부 150의 세부적인 구성을 나타낸다.
도 5는 일 실시예에 따라 타임스탬프를 이용하여 프레임을 식별하는 방법의 과정을 나타내는 흐름도이다.
도 6은 도 5에 도시된 방법을 설명하기 위한 참고도이다.
도 7은 일 실시예에 따라 플래그를 이용하여 프레임을 식별하는 방법의 과정을 나타내는 흐름도이다.
도 8은 도 7에 도시된 방법을 설명하기 위한 참고도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형식으로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서의 실시예에서 "사용자"라는 용어는 제어 장치를 이용하여 영상 표시 장치의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
도 1은 다양한 실시예들이 적용하는 네트워크 시스템의 개략도이다.
도 1을 참조하면, 시스템은 전자 장치100, 방송 컨텐츠 서버 200, ACR 서버 250, 컨텐츠 서버 300, 네트워크 350를 포함할 수 있다.
방송 서버 200는 방송 컨텐츠 DB 210에 저장된 방송 컨텐츠를 네트워크 350를 통해서 전자 장치 100로 제공할 수 있다.
컨텐츠 서버 300는 컨텐츠 DB 310에 저장된 컨텐츠를 네트워크 350를 통해서 전자 장치 100으로 제공할 수 있다.
방송 서버 200이나 컨텐츠 서버 300와 같은 네트워크 제공자는 ACR 기반 디바이스와 같은 전자 장치 100로 배포될 TV 프로그램이나 멀티미디어 컨텐츠와 같은 컨텐츠를 생성하거나, 획득하거나, 패키지하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. 또한 네트워크 제공자는 컨텐츠 자동 인식 동작을 지원하기 위해 컨텐츠를 ACR 서버 250에 제공할 수 있다.
전자 장치 100는 방송 서버 200으로부터 방송 컨텐츠를 수신하고, 수신된 방송 컨텐츠를 표시하거나 또는 컨텐츠 서버 300으로부터 컨텐츠를 수신하고, 수신된 컨텐츠를 표시할 수 있다.
전자 장치 100는 컨텐츠를 수신하여 시청자에게 제공하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스 및/또는 코드를 포함할 수 있다. 전자 장치 100는 ACR 모듈 130을 포함할 수 있다. ACR 모듈 130은 전자 장치를 위해 컨텐츠 자동 인식 기능을 제공하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
전자 장치 100는 스크린에 표시되는 컨텐츠를 주어진 레이트로 샘플링하여 핑거프린트를 추출하고 추출된 핑거프린트를 일정한 레이트로 ACR 서버로 전송할 수 있다. 예를 들어, 전자 장치 100의 ACR 모듈 130은 스크린에 표시되는 컨텐츠를 1초에 10회 샘플링하여 핑거프린트를 추출하고 추출된 핑거프린트를 1초에 10개의 핑거프린트를 ACR 서버 250로 전송할 수 있다.
전자 장치 100는 셋탑 박스에 연결될 수 있다. 셋탑 박스는 ACR 기반 디바이스와 같은 전자 장치 100를 컨텐츠 제공자와 같은 외부 소스에 연결하고, 외부 소스로부터 수신된 신호를 전자 장치 100의 화면에 표시될 수 있는 컨텐츠로 변환하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
전자 장치 100는, ACR 모듈 130이 탑재된 디스플레이 장치, 이 디스플레이 장치에 연결된 셋탑, 이 디스플레이 장치에 페어링된 페어링 장치를 포함할 수 있다.
ACR 서버 250는 전자 장치 100에서의 컨텐츠 자동 인식 동작을 지원하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. ACR 서버 250는 전자 장치 100으로 컨텐츠 자동 인식 어플리케이션 및/또는 서비스들을 제공할 수 있다. ACR 서버 250는 하나 이상의 컨텐츠 자동 인식 기술을 제공할 수 있고 또한 전자 장치 100와 동기화를 제공할 수 있다. ACR 서버 250는 컨텐츠 자동 인식을 위해 복수의 서로 다른 핑거프린팅 기술을 지원할 수 있다.
ACR 서버 250는 핑거프린트 DB 260을 구비하고 있으며, 전자 장치 100로부터 핑거프린트를 수신한 경우, 수신된 핑거프린트를 핑거프린트 DB 260에 기초하여 분석을 함으로써, 전자 100에서 표시되고 있는 컨텐츠와 후속 컨텐츠 사이의 대체 슬롯에 관한 정보를 획득하고, 대체 슬롯에 관한 정보를 전자 장치 100으로 전송할 수 있다.
ACR 서버 250는 전자 장치 100로부터 수신된 핑거프린트와 핑거프린트 DB 260에 저장된 핑거프린트를 매칭시켜 전자 장치 100에서 표시되는 컨텐츠에 대응하는 정보를 결정할 수 있다. 컨텐츠에 대응하는 정보는, 현재 전자 장치 100에서 표시되는 컨텐츠와 이 컨텐츠에 후속하여 표시될 후속 컨텐츠 사이의 대체 슬롯에 관한 정보를 포함할 수 있다. 대체 슬롯에 관한 정보는, 대체 컨텐츠의 표시 시점을 나타내는 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯에서 표시될 대체 컨텐츠의 주소 정보의 하나 이상을 포함할 수 있다. ACR 서버 250는 이와 같이 결정된 대체 슬롯에 관한 정보를 동시에 또는 순차적으로 전자 장치 100로 전송할 수 있다.
핑거프린트 데이터베이스 260는 핑커프린트를 제공하는 서버로부터 획득된 핑거프린트를 저장하고, 획득된 핑거프린트와 컨텐츠 식별 정보/미디어 시간 사이의 연관성을 유지하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
통신 네트워크 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를 제어할 수 있다.
도 1에 도시된 바와 같은 시스템에서 전자 장치 100는 복수의 소오스로부터의 컨텐츠, 즉, 방송 서버 200로부터의 방송 컨텐츠 및 컨텐츠 서버 300로부터의 멀티미디어 컨텐츠를 수신하여 재생할 수 있으므로, 하나의 소오스로부터의 컨텐츠를 재생하다가 다른 소오스로부터의 컨텐츠 재생 요청을 받으면 컨텐츠 전환이 필요할 수 있다. 또한, 예를 들어, 전자 장치 200는 방송 서버 200로부터의 방송 컨텐츠를 재생하다가 ACR 서버 250로부터 대체 슬롯에 관한 정보를 수신한 경우, 대체 슬롯에 표시될 대체 컨텐츠로의 전환이 필요할 수 있다. 이하에서는 이와 같이 전자 장치 100에서 재생 컨텐츠의 전환을 효과적으로 관리할 수 있는 방법을 설명한다.
도 2는 일 실시예에 따른 전자 장치 100의 개략적인 블록도이다.
도 2를 참조하면, 전자 장치 100는 방송 컨텐츠 수신기 110, 통신 인터페이스 120, ACR 모듈 130, 디스플레이 140, 비디오 처리부 150, 오디오 출력부 160, 오디오 처리부 170, 제어부 180을 포함할 수 있다.
방송 컨텐츠 수신기 110은 방송 서버 200로부터 방송 컨텐츠를 수신할 수 있다.
방송 컨텐츠 수신기 110은 예를 들어 튜너를 포함할 수 있다. 튜너는 유선 또는 무선으로 수신되는 방송 신호를 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 신호 처리를 하고, 수신된 많은 방송 신호의 전파 성분 중에서 전자 장치 100에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 방송 신호는 오디오(audio), 비디오(video) 및 부가 정보(예를 들어, EPG(Electronic Program Guide))를 포함한다. 튜너는 지상파 방송, 케이블 방송, 위성 방송, 인터넷 방송 등과 같이 다양한 소스로부터 방송 신호를 수신할 수 있다. 튜너는 아날로그 방송 또는 디지털 방송 등과 같은 소스로부터 방송 신호를 수신할 수도 있다.
또한 방송 컨텐츠 수신기 110는 수신된 MPEG 오디오/비디오 다중(multiplexed) 비트 스트림에서 오디오 스트림과 비디오 비트스트림을 각각 분리하고, 분리된 오디오 비트스트림과 비디오 비트스트림은 디코딩을 위해 각각 오디오 처리부 170와 비디오 처리부 150로 출력할 수 있다.
통신 인터페이스 120은 컨텐츠 서버 300로부터 멀티미디어 컨텐츠를 수신할 수 있다. 또한 통신 인터페이스 120은 ACR 서버 250과의 통신을 수행할 수 있다.
일 실시예에 따라 통신 인터페이스 120은 ACR 모듈 130의 제어에 따라 디스플레이 140에 표시되는 컨텐츠를 인식하는데 이용되는 컨텐츠 인식 정보, 예를 들어, 이 컨텐츠에 대응하는 핑거프린트를 주기적으로 ACR 서버 250로 전송할 수 있다.
일 실시예에 따라 통신 인터페이스 120은 대체 슬롯에 관한 정보를 주기적으로 ACR 서버 250로부터 수신하고 이를 ACR 모듈 130으로 제공할 수 있다. 대체 슬롯에 관한 정보는 대체 컨텐츠의 표시 시점을 나타내는 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯에서 표시될 대체 컨텐츠의 주소 정보를 포함할 수 있다.
ACR 모듈 130은, 전자 장치 100를 위해 컨텐츠 자동 인식 기능을 제공하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. ACR 모듈 130은 전자 장치 100의 컨텐츠 자동 인식 동작을 지원하기 위해 통신 네트워크를 통해서 ACR 서버 250와 통신할 수 있다.
ACR 모듈 130은 디스플레이 140에 표시되는 컨텐츠의 인식을 위해 ACR 서버 250로 핑거프린트를 주기적으로 제공할 수 있다. ACR 모듈 130은 ACR 서버 250으로부터 ACR 관련 정보나 컨텐츠를 수신할 수 있다. ACR 모듈 130은 전자 장치의 내부 또는 외부에서 일어나는 이벤트를 모니터링하는 동기화 이벤트 매니저를 실행하도록 동작할 수 있다. 동기화 이벤트 매니저는 모니터링이 수행되는 기간 동안 계속해서 실행될 수 있도록 백그라운드 프로세스로 실행될 수 있다. 외부 이벤트 중의 하나는 컨텐츠 자동 인식 매칭에 대응하는 이벤트를 포함할 수 있다. 내부 이벤트 중의 하나는 전자 장치에 의해 수행되는 컨텐츠 자동 인식에 대응하는, 프로세스, 어플리케이션 및/또는 기능을 포함할 수 있다. 이벤트 트리거를 검출한 것에 응답해서, 동기화 이벤트 매니저는 적절한 어플리케이션을 요청하거나 수신할 수 있다. 동기화 이벤트 매니저는 하드웨어, 소프트웨어, 펌웨어 등으로 구현될 수 있다.
ACR 모듈 130은 ACR 서버 250를 이용하여 전자 장치와 연관된 시청자 정보, 시청자 인터랙션을 확인할 수 있고 이 확인된 시청자 정보나 시청자 인터랙션에 기초하여 ACR 서버 250가 대체 슬롯에 표시될 광고를 다변화하여 제공하게 할 수 있다. 대체 슬롯은 디스플레이에 표시되는 컨텐츠와 이 컨텐츠에 후속하는 후속 컨텐츠 사이의 시간 구간을 나타내는 것으로, 대체 컨텐츠가 표시될 수 있는 구간을 말하며, 다음 애드 팟 (AD pot) 또는 컨텐츠의 표시 중의 커머셜 브레이크를 포함할 수 있다. 대체 슬롯에 표시될 수 있는 대체 컨텐츠에는 제한이 없으며, 어떠한 종류의 컨텐츠라도 포함할 수 있다. 대체 컨텐츠의 일 예로는 광고 컨텐츠가 될 수 있다.
일 실시예에 따라 ACR 모듈 130은 디스플레이 140에 표시되는 컨텐츠를 모니터링하여 표시되는 컨텐츠로부터 일정한 주기로 핑거프린트를 획득하고 획득된 핑거프린트를 ACR 서버 250로 전송할 수 있다.
일 실시예에 따라 ACR 모듈 130은 ACR 서버 250로부터 대체 슬롯에 관한 정보를 수신할 수 있다. 대체 슬롯에 관한 정보는 대체 컨텐츠의 표시 시점을 나타내는 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯에 표시될 대체 컨텐츠의 주소 정보를 포함할 수 있다.
일 실시예에 따라 ACR 모듈 130은 대체 슬롯의 시작 지점이 되기 전에 대체 컨텐츠를 수신할 수 있도록 대체 컨텐츠의 주소 정보를 이용하여 대체 컨텐츠를 액세스할 수 있다. 대체 컨텐츠의 주소 정보는 예를 들어 대체 컨텐츠의 URL 정보를 포함할 수 있다.
일 실시예에 따라 ACR 모듈 130은 재생 스트림의 전환을 요청하는 재생 전환 이벤트를 생성하고 이를 비디오 처리부 150으로 전송할 수 있다. 일 실시예에 따라 재생 전환 이벤트는 대체 슬롯에 대체 컨텐츠를 표시하라는 명령을 포함할 수 있다. 이 경우, 재생 전환 이벤트는 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯의 소오스를 포함할 수 있다.
디스플레이 140는 비디오 처리부 150에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이140는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이140는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.
비디오 처리부 150는 디스플레이 140에 의해 표시될 영상을 신호 처리하며, 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
일 실시예에 따라 비디오 처리부 150는 재생 전환 이벤트를 수신하고 재생 전환 이벤트에 응답하여 복수의 스트림들의 재생 전환을 제어할 수 있다. 비디오 처리부 150는 제어부 180 또는 ACR 모듈 130로부터 재생 전환 이벤트를 수신할 수 있다.
재생 전환 이벤트는 예를 들어 제1스트림으로부터 제2스트림으로 재생을 전환하는 요청을 포함할 수 있다. 예를 들어 제1스트림은, 라이브 컨텐츠를 포함하고, 제2스트림은 멀티미디어 컨텐츠를 포함할 수 있다. 재생 전환 이벤트는 재생 전환 시점 정보, 재생전환된 스트림이 표시되는 시간의 길이 정보, 재생 전환된 스트림의 소오스 정보를 포함할 수 있다.
일 실시예에 따라 ACR 모듈 130로부터 수신하는 재생 전환 이벤트는 대체 슬롯에 대체 컨텐츠를 표시하라는 명령을 포함할 수 있다. 이 경우, 재생 전환 이벤트는 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯의 소오스를 포함할 수 있다.
일 실시예에 따라 비디오 처리부 150는 재생 전환 이벤트에 대응하여, 제1스트림으로부터 제2스트림을 식별하고, 식별된 제2스트림을 출력할 수 있다. 비디오 처리부 150는 제1스트림으로부터 제2스트림 식별시, 시간 정보 즉, 타임 스탬프 정보 또는 플래그를 이용할 수 있다. 이에 대해서는 도 3 내지 도 8을 참조하여 상세히 설명한다.
오디오 출력부 160는 오디오 처리부 170에서 처리된 오디오 신호를 출력할 수 있다.
오디오 출력부 160는 스피커, 헤드폰 출력 단자 또는 S/PDIF(Sony/Philips Digital Interface) 출력 단자 중 적어도 하나 또는 그 조합을 포함할 수 있다.
오디오 처리부 170는 오디오 출력부 160에서 출력될 오디오 신호를 처리할 수 있다.
오디오 처리부170는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부170에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 한편, 오디오 처리부170는 복수의 컨텐츠에 대응되는 오디오를 처리하기 위해 복수의 오디오 처리 모듈을 구비할 수 있다.
일 실시예에 따라 오디오 처리부 170는 ACR 모듈 130로부터 재생 전환 이벤트를 수신하고 재생 전환 이벤트에 응답하여 복수의 스트림들의 재생 전환을 제어할 수 있다. 오디오 처리부 170가 재생 전환 제어하는 방법은 비디오 처리부 150에서 수행되는 방법과 마찬가지로 수행될 수 있다.
제어부 180는 전자 장치 100의 전반적인 동작 및 전자 장치 100의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부 180는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 메모리 190에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
제어부 180는 전자 장치 100의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치 100에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 전자 장치 100의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다.
위 설명에서 ACR 관련 동작을 ACR 모듈 130이 수행하는 것으로 설명되었지만, ACR 모듈 130의 일부 또는 전부의 동작이나 기능은 제어부 180에 의해 수행될 수도 있다.
메모리 190는 오퍼레이팅 시스템, 제어부 180에서 처리되는 데이터, 제어부 180에서 실행되는 하나 이상의 인스트럭션을 포함할 수 있다.
특히 일 실시예에 따른 메모리 190는 ACR 모듈 130에 의해 수행되는 하나 이상의 인스트럭션 및 비디오 처리부 150에 의해 수행되는 하나 이상의 인스트럭션을 포함할 수 있다.
일 실시예에서 "메모리"라는 용어는 저장소, 제어부의 롬, 램 또는 전자 장치 100에 장착되는 메모리 카드(예를 들어, micro SD 카드, USB 메모리, 도시되지 아니함)를 포함한다. 또한, 메모리 190는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.
전자 장치 100는 도 2에 도시된 구성 외에도 전자 장치 100의 외부에서부터 비디오, 오디오 및 부가 정보 등을 수신하는 입/출력부, 사용자의 영상, 사용자의 인터랙션을 감지하는 감지부를 더 포함할 수 있다.
또한, 전자 장치 100는 그 용어에 한정되지 않고, 프로세서와 메모리를 포함하여 애플리케이션을 실행하는 장치이면, 랩탑, 스마트 폰, 태블릿, 웨어러블 장치, PDA 등 어떤 전자 장치라도 가능하다.
한편, 도 2에 도시된 전자 장치 100의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치 100의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 3은 일 실시예에 따라 전자 장치에서의 동작을 나타내는 흐름도이다.
도 3을 참조하면, 동작 310에서, 전자 장치 100는 제1디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 제2디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 버퍼에 저장할 수 있다.
동작 320에서, 제1스트림으로부터 제2스트림으로 전환을 요청하는 재생 전환 이벤트에 대응하여, 전자 장치 100는 버퍼에 저장된 하나 이상의 제2프레임을 타임스탬프 값 또는 플래그에 기초하여 하나 이상의 제1프레임으로부터 식별하고, 식별된 하나 이상의 제2프레임을 디스플레이와 같은 이미지 출력부로 출력할 수 있다. 도 3에 도시된 동작을 도 4에 도시된 비디오 처리부 150의 세부 구성을 이용하여 구체적으로 설명한다.
도 4는 도 2에 도시된 비디오 처리부 150의 세부적인 구성을 나타낸다.
도 4를 참조하면, 비디오 처리부 150은 제1 디코더 151, 제2 디코더 152, 버퍼 153, 콘트롤러 154, 제1모듈 155, 제2모듈 156를 포함할 수 있다.
제1 디코더 151은 제1소오스로부터 수신한 제1스트림을 디코드하고 디코드된 하나 이상의 제1프레임 버퍼 153으로 전송할 수 있다. 제1소오스로부터 수신한 제1스트림은 예를 들어, 방송 컨텐츠 수신기 110로부터 수신한 방송 컨텐츠 스트림을 포함할 수 있다.
제2 디코더 152는 제2소오스로부터 수신한 제2스트림을 디코드하고 디코드된 하나 이상의 제2프레임을 버퍼 153으로 전송할 수 있다. 제2소오스로부터 수신한 제2스트림은 예를 들어, 통신 인터페이스 120로부터 수신한 멀티미디어 컨텐츠 스트림을 포함할 수 있다.
버퍼 153은 제1 디코더 151 및 제2 디코더 152 중 적어도 하나로부터 디코드된 데이터를 프레임 단위로 수신하고, 콘트롤러 154의 제어에 따라, 수신된 프레임들을 제1 모듈 155 또는 제2 모듈 156으로 전송할 수 있다.
재생 전환 이벤트가 실행되기 전까지 제1디코더로부터의 하나 이상의 제1프레임이 제1모듈 155로 출력되어 제1프레임에 대응하는 제1스트림이 전자 장치의 화면에 표시될 수 있다.
일 실시예에 따라 버퍼 153은 제1디코더 151로부터 제1스트림에 대응하는 제1프레임을 수신하여 저장하다가, 제1스트림에서 제2스트림으로 재생 전환을 요청하는 재생 전환 이벤트에 따라 제2디코더 152로부터 제2스트림에 대응하는 제2프레임을 수신하여 저장할 수 있다. 버퍼 153은 제1디코더 151로부터 제1프레임도 계속 수신하기 때문에 결국 버퍼 153에는 제1프레임과 제2프레임을 함께 저장할 수 있다.
콘트롤러 154는 제1스트림으로부터 제2스트림으로의 전환을 요청하는 재생 전환 이벤트 400를 제어부 180 또는 ACR 모듈 130로부터 수신할 수 있다. 재생 전환 이벤트 400는 제1스트림으로부터 제2스트림으로의 재생이 전환되는 시점 410, 재생전환된 제2스트림이 재생되는 시간의 길이 정보 420, 재생전환될 제2스트림의 소오스 정보 430 중 적어도 하나를 포함할 수 있다.
콘트롤러 154는 수신한 재생 전환 이벤트에 대응하여, 버퍼 153에 저장된 하나 이상의 제1프레임으로부터 하나 이상의 제2프레임을 식별하고, 식별된 하나 이상의 제2프레임을 제1모듈 155에 출력하도록 버퍼 153을 제어할 수 있다.
일 실시예에 따라 콘트롤러 154는 제1프레임의 타임스탬프 값과 구별되는 제2프레임의 타임스탬프 값 또는 제1디코더에 의해 제1프레임에 부가된 제1플래그와 구별되는, 제2디코더에 의해 제2프레임에 부가된 제2플래그에 기초하여, 제1프레임으로부터 제2프레임을 식별할 수 있다.
일 실시예에 따라 콘트롤러 154는 재생 전환 이벤트에 따라 결정된 재생 전환 시점에 하나 이상의 제2 프레임을 제1모듈 155로 출력하도록 버퍼 153을 제어할 수 있다.
일 실시예에 따라 재생 전환 시점은, 재생 전환 이벤트에 포함된 타임스탬프 시간 정보와 상기 제1스트림에 대응하는 제1프레임의 타임스탬프 값이 일치하는 시점을 포함할 수 있다.
일 실시예에 따라 재생 전환 이벤트에 따라서 전환 요청된 제2스트림은 대체 슬롯에 표시될 대체 컨텐츠를 포함할 수 있다.
일 실시예에 따라 재생 전환 이벤트는, 대체 슬롯의 시작 지점, 대체 슬롯의 길이, 대체 슬롯에 표시될 상기 대체 컨텐츠의 소오스 정보중 적어도 하나를 포함할 수 있다.
일 실시예에 따라 콘트롤러 154는, 제1 스트림으로부터 제2스트림으로 재생을 전환하는 동안 버퍼 153에 저장된 하나 이상의 제2프레임을 제1모듈 155로 전송하고, 제1프레임을 제2모듈 156으로 전송할 수 있다.
일 실시예에 따라, 콘트롤러 154는, 재생 전환 종료 시점에 응답하여, 제2 스트림의 재생을 종료하기 위해, 버퍼 153에 저장된 하나 이상의 제2프레임으로부터 하나 이상의 제1프레임을 식별하고, 식별된 하나 이상의 제1프레임을 제1모듈 155로 출력하도록 버퍼 153을 제어할 수 있다.
제1모듈 155는 예를 들어 버퍼 153로부터 수신한 프레임을 스케일링하는 비디오 스케일러가 될 수 있다. 또는 제1모듈 155는 스케일러를 포함하는 이미지 출력부가 될 수 있다.
제2모듈 156은 버퍼 153으로부터 수신한 프레임을 이용하여 정보를 추출하는 모듈일 수 있다. 제2 모듈 156은 예를 들어, 핑거프린트를 추출하는 ACR 모듈 130이 될 수 있다. 제2모듈 156은 비디오 처리부 150의 내부 또는 외부에 위치될 수 있다.
이제 도 5 및 도 6을 참조하여, 타임스탬프를 이용하여 프레임을 식별하는 방법을 설명한다.
도 5는 일 실시예에 따라 타임스탬프를 이용하여 프레임을 식별하는 방법의 과정을 나타내는 흐름도이다.
도 6은 도 5에 도시된 방법을 설명하기 위한 참고도이다.
도 5를 참조하면, 동작 510에서 제1디코더는 제1스트림을 디코딩하고 버퍼로 전달할 수 있다.
방송 컨텐츠의 전송에 이용되는 MPEG 스트림을 수신하여 처리하는 비디오 디코더는 입력되는 비디오 비트스트림에서 각종 헤더 정보나 스타트 코드 등과 같은 오버헤드 데이터를 제거하고 순수한 데이터 정보를 디코딩하여 원래 화면의 픽셀값을 복원하여 모니터로 출력한다.
비디오 비트스트림에는 시스템 타임 클럭(System Time Clock:STC), 각 프레임을 언제 디코딩할 것인지를 나타내는 디코딩 타임스탬프(Decoding Time Stamp), 복원된 데이터를 언제 디스플레이할 것인지를 나타내는 프리젠테이션 타임 스탬프(Presentation Time Stamp)가 다중화되어 있다. 이러한 디코딩 타임 스탬프나 프리젠테이션 타임 스탬프는 각 소오스로부터의 스트림마다 고유하기 때문에, 하나의 소오스로부터의 비트스트림과 다른 소오스로부터의 비트스트림을 식별하는데 이용될 수 있다.
도 6을 참조하면, 제1디코더 151은 제1스트림으로서, 예를 들어, 라이브 컨텐츠 스트림을 수신하여 디코딩하고 디코딩된 제1스트림에 대응하는 하나 이상의 제1 프레임 610을 버퍼 153으로 전달할 수 있다. 버퍼 153은 제1디코더 151로부터 수신한 하나 이상의 제1프레임 610을 그것이 출력되기 전까지 저장하고 있을 수 있다. 제1프레임 610는 제1스트림에 대응하는 제1타임스탬프를 포함할 수 있다.
재생 전환 이벤트가 실행되기 전까지 제1디코더로부터의 하나 이상의 제1프레임이 제1모듈 155로 출력되어 제1프레임에 대응하는 제1스트림, 즉, 방송 컨텐츠가 전자 장치의 화면에 표시될 수 있다.
동작 520에서, 콘트롤러 154는 제1스트림으로부터 제2스트림으로 재생 전환을 요청하는 재생 전환 이벤트 650를 수신할 수 있다. 제1 스트림과 제2 스트림은 그것이 소오스를 달리하는 어떠한 스트림이라도 될 수 있다. 이하의 예에서는, 제1스트림은 라이브 컨텐츠 스트림, 제2스트림은 멀티미디어 컨텐츠로 예를 들어 설명한다.
일 예에 따라 콘트롤러 154는 ACR 모듈 130로부터 재생 전환 이벤트 650를 수신할 수 있다. ACR 모듈 130로부터 수신하는 재생 전환 이벤트 650는 대체 슬롯에 대체 컨텐츠를 표시하기 위해 라이브 컨텐츠 스트림으로부터 멀티미디어 컨텐츠로 재생 전환을 요청하는 이벤트일 수 있다. 대체 슬롯은 컨텐츠의 재생이 전환되는 시간 구간을 나타낼 수 있다.
이러한 재생 전환 이벤트 650는 대체 슬롯의 시작 지점 651, 대체 슬롯의 길이 652, 대체 슬롯의 소오스 653을 포함할 수 있다. 대체 슬롯의 시작 지점 651은 대체 슬롯에 대체 컨텐츠가 표시되기 시작하는 시점 즉, 제1스트림인 라이브 컨텐츠 스트림으로부터, 제2스트림인 멀티미디어 컨텐츠로 전환되는 시점을 나타낼 수 있다. 대체 슬롯의 길이 652는 대체 컨텐츠가 표시되는 시간의 길이를 나타낼 수 있다. 이러한 대체 슬롯의 길이 652에 의해 대체 슬롯이 종료되는 시점 즉, 대체 컨텐츠인 멀티미디어 컨텐츠의 표시가 종료되어 다시 라이브 컨텐츠 스트림으로 재생이 전환되는 시점이 결정될 수 있다. 대체 슬롯의 소오스 653은 대체 슬롯에 표시될 대체 컨텐츠의 소오스를 나타낼 수 있다. 대체 슬롯의 소오스 653은 대체 슬롯에 표시될 대체 컨텐츠가 예를 들어 제2디코더 152로부터 수신되는 멀티미디어 컨텐츠임을 나타낼 수 있다.
동작 530에서, 제2디코더는 제2스트림을 디코딩하고 버퍼로 전달할 수 있다.
재생 전환 이벤트에 따라 제2디코더 152는 제2 스트림 즉, 멀티미디어 컨텐츠 스트림을 수신하여 디코딩하고, 디코딩된 스트림에 대응하는 하나 이상의 제2프레임을 버퍼 153으로 전달할 수 있다. 일 예에 따라 콘트롤러 154는 제1스트림으로부터 제2스트림으로 재생 전환을 요청하는 재생 전환 이벤트 650를 수신함에 따라 제2 스트림으로의 재생 전환을 위한 준비 작업으로써 버퍼 153로 하여금 제2디코더 152로부터의 제2프레임 630을 수신하게 할 수 있다. 물론 버퍼 153은 제1디코더 151로부터의 제1프레임도 계속하여 수신하고 있는 상태이므로, 결국 버퍼 153은 제1디코더 151로부터의 하나 이상의 제1프레임과 제2디코더 152로부터의 하나 이상의 제2프레임을 섞어서 저장하고 있는 상태가 될 수 있다. 예를 들어 버퍼 153은 제1디코더 151로부터 몇 개의 제1프레임을 수신하여 저장한 다음 제2디코더로부터 몇 개의 제2프레임을 수신하여 저장하는 것과 같이 버퍼 153은 제1디코더 151 과 제2디코더 152로부터 수신한 프레임들을 정해진 순서없이 프레임을 수신하는 순서 대로 차곡차곡 쌓아놓게 된다. 따라서 버퍼 153에는 제1디코더 151로부터의 하나 이상의 제1프레임과 제2디코더 152로부터의 하나 이상의 제2프레임이 정해진 순서 없이 섞여서 들어있게 된다.
동작 540에서, 콘트롤러는 재생 전환 시점이 되었는지를 판단할 수 있다.
예를 들어 콘트롤러는 재생 전환 이벤트 650에 포함된 대체 슬롯의 시작 지점 651을 이용하여 재생 전환 시점이 되었는지를 판단할 수 있다. 예를 들어, 대체 슬롯의 시작 지점 651은, 제1스트림의 미리 정해진 타임스탬프 값으로 표시될 수 있다. 예를 들어, 대체 슬롯의 시작 지점 651이 제1스트림의 타임스탬프 값 <7> 을 나타내는 경우 콘트롤러는 제1스트림에 대응하는 하나이상의 제1프레임중 타임스탬프 값 <7>을 가지는 제1프레임까지만 출력하게 하고 이후 시점을 제2스트림으로의 재생 전환 시점으로 결정할 수 있다.
재생 전환 시점이 되지 않은 경우에는 제1디코더와 제2 디코더는 계속하여 제1스트림을 디코딩하고 버퍼로 전달, 및 제2스트림을 디코딩하고 버퍼로 전달하는 과정을 한다.
동작 550에서, 재생 전환 시점을 만족한 경우, 콘트롤러는 재생 전환 요청된 제2프레임을 제1프레임의 제1타임스탬프와 식별되는 제2타임스탬프를 이용하여 식별하고, 식별된 제2타임스탬프를 가진 제2프레임을 출력할 수 있다.
도 6을 참조하면, 콘트롤러 154는 버퍼 153에 저장된 하나 이상의 제1프레임과 하나 이상의 제2프레임을 타임스탬프를 이용하여 식별할 수 있다. 하나의 스트림에 대응하는 프레임들은 연속적인 타임스탬프 값을 가진다. 즉, 제1스트림에 대응하는 하나 이상의 제1프레임은 일련의 연속적인 타임스탬프 값을 가지고, 제2 스트림에 대응하는 하나 이상의 제2프레임은 또다른 일련의 연속적인 타임스탬프 값을 가진다. 따라서 제1스트림에 대응하는 제1프레임의 타임스탬프 값과 제2스트림에 대응하는 제2프레임의 타임스탬프 값은 불연속적이다. 따라서, 콘트롤러 154는 프레임이 가지는 타임스탬프 값을 이용하여 제1스트림에 대응하는 제1프레임으로부터 제2스트림에 대응하는 제2프레임을 식별할 수 있다. 예를 들어, 도 6을 참조하면, 제1스트림에 대응하는 제1프레임들은 타임스탬프 값이 0, 1, 2, 3, 4.. 로 증가한다. 그리고 제2스트림에 대응하는 제2프레임들은 타임스탬프 값이 100, 101, 102, 103, 104.. 로 증가한다. 도 6의 버퍼 153에는 제1프레임들과 제2프레임들이 섞여서 저장되어 있지만, 버퍼 153에 저장된 첫번째 프레임은 타임스탬프 값이 0, 두번째 프레임은 타임스탬프 값이 1로 연속적이지만, 세번째 프레임은 타임스탬프 값이 100으로서, 앞의 첫번째 프레임이나 두번째 프레임과 불연속한 타임스탬프 값이다. 따라서 콘트롤러 154는 이와 같이 서로 다른 스트림에 대응하는 프레임들은 불연속한 타임스탬프 값을 가지는 것, 즉, 제1타임스탬프 값을 가지는 제1프레임으로부터 제2타임스탬프 값을 가지는 제2프레임을 식별할 수 있다.
통상적으로 하나의 스트림에 대응하여 프레임들의 타임스탬프 값은 리니어하게 증가한다. 다만, 예를 들어, 하나의 스트림에 대응하는 프레임들일지라도 프레임 드롭(frame drop) 등의 이슈로 인해 타임스탬프 값이 일정하게 증가하지 않고 갭이 발생할 수 있는데, 이와 같은 경우에는 임의의 타임스탬프 임계값을 설정하여, 설정된 임계값 범위 내에서 타임스탬프 값의 차이가 발생하는 경우에는 같은 소오스의 프레임으로 판단할 수 있다. 예를 들어, 타임 스탬프 값이 1,2,3,4,5.. 와 같은 값으로 증가하는 경우에, 임계값을 5으로 설정할 수 있다. 따라서 타임 스탬프 5 를 가지는 프레임 후에 나오는 프레임이 타임 스탬프 값 7을 가진다면, 연속된 프레임의 타임 스탬프 값 차이는 <7-5=2> 로서 임계값 5 보다 작으므로, 타임스탬프 값 7을 가지는 프레임은 같은 소오스에 대응하는 프레임으로 결정할 수 있다. 그러나 타임스탬프 값 5를 가지는 프레임 후에 나오는 프레임이 타임스탬프 값 100을 가진다면, 이는 타임스탬프 값의 차이가 임계값 5보다 크므로, 타임스탬프 값 7을 가지는 프레임은 다른 소오스에 대응하는 프레임으로 결정할 수 있다.
콘트롤러 154는 하나 이상의 제1프레임으로부터 하나 이상의 제2프레임을 식별하고, 식별된 하나 이상의 제2프레임을 제1모듈 155로 출력하도록 버퍼 153를 제어할 수 있다. 버퍼 153는 콘트롤러 154의 제어에 따라 하나 이상의 제2프레임을 제1모듈 155, 예를 들어, 스케일러로 출력할 수 있다.
동작 560에서, 콘트롤러는 제1프레임을 제2모듈로 전달하도록 버퍼를 제어할 수 있다.
콘트롤러 154는 또한 제1 프레임 즉, 라이브 컨텐츠 스트림을 제2 모듈, 예를 들어, ACR 모듈 130로 전달하도록 버퍼 153을 제어할 수 있다. 이는, 라이브 컨텐츠 스트림이 재생되지 않는 경우에도 이러한 라이브 컨텐츠 스트림으로부터 핑거프린트를 추출하는데 이용될 수 있게 하기 위함이다.
일 실시예에 따라 재생 전환 종료 시점이 된 경우 콘트롤러는 스트림의 재생 전환을 종료하고 다시 원래대로 재생을 되돌릴 수 있다. 재생 전환 종료 시점은 예를 들어 재생 전환 이벤트 650에 포함된 대체 슬롯의 길이 652에 의해 결정될 수 있다. 대체 슬롯의 길이 만큼 시간이 경과한 시점이 재생 전환 종료 시점이 될 수 있다.
일 실시예에 따라 콘트롤러는 재생 전환 종료 시점에 응답하여, 제1타임스탬프 값을 이용하여 상기 버퍼에 저장된 하나 이상의 제2프레임으로부터 하나 이상의 제1프레임을 식별하고, 식별된 하나 이상의 제1프레임을 제1모듈 155로 출력하도록 버퍼를 제어할 수 있다.
이제 도 7 및 도 8을 참조하여, 플래그를 이용하여 프레임을 식별하는 방법을 설명한다.
도 7은 일 실시예에 따라 플래그를 이용하여 프레임을 식별하는 방법의 과정을 나타내는 흐름도이다.
도 8은 도 7에 도시된 방법을 설명하기 위한 참고도이다.
도 7을 참조하면, 동작 710에서 제1디코더는 제1스트림을 디코딩하여 나온 제1프레임에 제1플래그를 부가하여 버퍼로 전달할 수 있다. 제1디코더가 제1프레임에 부가하는 제1플래그는, 제1스트림에 대응하는 제1프레임을 제2스트림에 대응하는 제2프레임과 구별하기 위한 값이다. 즉, 제1디코더와 제2디코더는 각각 디코딩하는 프레임에 서로 다른 플래그를 부여함으로써 스트림이 제1디코더로부터 나온 것인지 제2디코더로부터 나온 것인지를 식별할 수 있다.
도 6을 참조하면, 제1디코더 151은 제1스트림으로서, 예를 들어, 라이브 컨텐츠 스트림을 수신하여 디코딩하고 디코딩된 제1스트림에 대응하는 하나 이상의 제1 프레임 810에 제1플래그 820를 부가하여 버퍼 153으로 전달할 수 있다. 버퍼 153은 제1디코더 151로부터 수신한 하나 이상의 제1프레임 810을 그것이 출력되기 전까지 저장하고 있을 수 있다.
재생 전환 이벤트가 실행되기 전까지 제1디코더로부터의 하나 이상의 제1프레임이 제1모듈 155로 출력되어 제1프레임에 대응하는 제1스트림, 즉, 방송 컨텐츠가 전자 장치의 화면에 표시될 수 있다.
동작 720에서, 콘트롤러는 제1스트림으로부터 제2스트림으로 전환을 요청하는 재생 전환 이벤트를 수신할 수 있다.
콘트롤러 154는 제1스트림으로부터 제2스트림으로 재생 전환을 요청하는 재생 전환 이벤트 650를 수신할 수 있다. 제1 스트림과 제2 스트림은 그것이 소오스를 달리하는 어떠한 스트림이라도 될 수 있다. 이하의 예에서는, 제1스트림은 라이브 컨텐츠 스트림, 제2스트림은 멀티미디어 컨텐츠로 예를 들어 설명한다.
일 예에 따라 콘트롤러 154는 ACR 모듈 130로부터 재생 전환 이벤트 650를 수신할 수 있다. ACR 모듈 130로부터 수신하는 재생 전환 이벤트 650는 대체 슬롯에 대체 컨텐츠를 표시하기 위해 라이브 컨텐츠 스트림으로부터 멀티미디어 컨텐츠로 재생 전환을 요청하는 이벤트일 수 있다.
이러한 재생 전환 이벤트 650는 대체 슬롯의 시작 지점 651, 대체 슬롯의 길이 652, 대체 슬롯의 소오스 653을 포함할 수 있다. 이는 도 6을 참조하여 설명한 바와 같다.
동작 730에서, 제2디코더는 제2스트림을 디코딩하여 나온 제2프레임에 제2플래그를 부가하여 버퍼로 전달할 수 있다.
재생 전환 이벤트에 따라 제2디코더 152는 제2 스트림 즉, 멀티미디어 컨텐츠 스트림을 수신하여 디코딩하고, 디코딩된 스트림에 대응하는 하나 이상의 제2프레임에 제2플래그를 부가하여 버퍼 153으로 전달할 수 있다. 도 6을 참조하여 설명한 바와 같이, 버퍼 153는 제1디코더 151로부터의 하나 이상의 제1프레임과 제2디코더 152로부터의 하나 이상의 제2프레임을 정해진 순서 없이 섞어서 저장하게 될 수 있다.
동작 740에서, 콘트롤러는 재생 전환 시점이 되었는지를 판단할 수 있다.
예를 들어 콘트롤러는 재생 전환 이벤트 650에 포함된 대체 슬롯의 시작 지점 651을 이용하여 재생 전환 시점이 되었는지를 판단할 수 있다.
재생 전환 시점이 되지 않은 경우에는 제1디코더와 제2 디코더는 계속하여 제1스트림을 디코딩하고 버퍼로 전달, 및 제2스트림을 디코딩하고 버퍼로 전달하는 과정을 한다.
동작 750에서, 재생 전환 시점을 만족한 경우, 콘트롤러는 재생 전환 요청된 제2프레임을 제1프레임의 제1플래그와 식별되는 제2플래그를 이용하여 식별하고, 식별된 제2플래그를 가진 제2프레임을 디스플레이와 같은 이미지 출력 장치로 출력할 수 있다.
도 8을 참조하면, 콘트롤러 154는 제1플래그가 부가된 하나 이상의 제1프레임으로부터 제2플래그가 부가된 하나 이상의 제2프레임을 식별하고, 식별된 하나 이상의 제2프레임을 제1모듈 155로 출력하도록 버퍼 153를 제어할 수 있다. 버퍼 153는 콘트롤러 154의 제어에 따라 하나 이상의 제2프레임을 제1모듈 155로 출력할 수 있다. 즉, 버퍼 153는 하나 이상의 제2 프레임 즉, 멀티미디어 컨텐츠를 예를 들어 제1모듈 155의 일 예인 스케일러로 출력할 수 있다.
동작 760에서, 콘트롤러는 제1프레임을 제2모듈로 전달하도록 버퍼를 제어할 수 있다.
콘트롤러 154는 또한 제1 프레임 즉, 라이브 컨텐츠 스트림을 ACR 모듈 130로 전달하도록 버퍼 153을 제어할 수 있다. 이는, 라이브 컨텐츠 스트림이 재생되지 않는 경우에도 이러한 라이브 컨텐츠 스트림으로부터 핑거프린트를 추출하는데 이용될 수 있게 하기 위함이다.
일 실시예에 따라 재생 전환 종료 시점이 된 경우 콘트롤러는 스트림의 재생 전환을 종료하고 다시 원래대로 재생을 되돌릴 수 있다. 재생 전환 종료 시점은 예를 들어 재생 전환 이벤트 650에 포함된 대체 슬롯의 길이 652에 의해 결정될 수 있다. 대체 슬롯의 길이 만큼 시간이 경과한 시점이 재생 전환 종료 시점이 될 수 있다.
일 실시예에 따라 콘트롤러는 재생 전환 종료 시점에 응답하여, 제1플래그를 이용하여 상기 버퍼에 저장된 하나 이상의 제2프레임으로부터 하나 이상의 제1프레임을 식별하고, 식별된 하나 이상의 제1프레임을 제1모듈 155로 출력하도록 버퍼를 제어할 수 있다.
도 5 내지 8을 참조하여 대체 컨텐츠의 비디오 프레임들에 대하여 설명되었지만, 이는 오디오 프레임들에 대해서도 동일하게 적용할 수 있다.
실시예들에 따른 전자 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (19)

  1. 전자 장치에 있어서,
    제1스트림을 디코딩하는 제1 디코더;
    제2스트림을 디코딩하는 제2 디코더;
    상기 제1 디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 상기 제2 디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 수신하는 버퍼; 및
    상기 제1스트림으로부터 상기 제2스트림으로의 전환을 요청하는 재생 전환 이벤트에 대응하여, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임으로부터 상기 하나 이상의 제2프레임을 식별하고, 상기 식별된 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어하는 콘트롤러를 포함하고,
    상기 콘트롤러는, 상기 제1프레임의 타임스탬프 값과 구별되는 상기 제2프레임의 타임스탬프 값 또는 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그와 구별되는, 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그에 기초하여, 상기 제1프레임으로부터 상기 제2프레임을 식별하는, 전자 장치.
  2. 제1항에 있어서,
    상기 콘트롤러는,
    상기 재생 전환 이벤트에 따라 결정된 재생 전환 시점에 상기 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어하는, 전자 장치.
  3. 제2항에 있어서,
    상기 재생 전환 시점은, 상기 재생 전환 이벤트에 포함된 타임스탬프 시간 정보와 상기 제1스트림에 대응하는 제1프레임의 타임스탬프 값이 일치하는 시점을 포함하는, 전자 장치.
  4. 제1항에 있어서,
    상기 제1스트림은 디지털 TV (라이브) 컨텐츠에 대응하고, 상기 제2스트림은 멀티미디어 컨텐츠에 대응하는, 전자 장치.
  5. 제1항에 있어서,
    상기 재생 전환 이벤트에 따라 전환 요청된 제2스트림은 대체 슬롯에 표시될 대체 컨텐츠를 포함하는, 전자 장치.
  6. 제5항에 있어서,
    상기 재생 전환 이벤트는, 상기 대체 슬롯의 시작 시점, 상기 대체 슬롯의 길이, 상기 대체 슬롯에 표시될 상기 대체 컨텐츠의 소오스 정보중 적어도 하나를 포함하는, 전자 장치.
  7. 제5항에 있어서,
    상기 콘트롤러는,
    상기 버퍼에 저장된 상기 하나 이상의 제1프레임을, 핑거프린트를 추출하는 ACR 모듈로 전송하도록 상기 버퍼를 제어하는, 전자 장치.
  8. 제1항에 있어서,
    상기 콘트롤러에서 상기 제1프레임과 상기 제2프레임의 식별에 상기 제1플래그와 상기 제2플래그가 이용되는 경우,
    상기 제1디코더는 상기 하나 이상의 제1프레임에 상기 제1플래그를 부가하여 상기 버퍼로 제공하고, 상기 제2디코더는 상기 하나 이상의 제2프레임에 상기 제2플래그를 부가하여 상기 버퍼로 제공하는, 전자 장치.
  9. 제1항에 있어서,
    상기 콘트롤러는, 재생 전환 종료 시점에 응답하여, 상기 버퍼에 저장된 상기 하나 이상의 제2프레임으로부터 상기 하나 이상의 제1프레임을 식별하고, 상기 식별된 하나 이상의 제1프레임을 출력하도록 상기 버퍼를 제어하고,
    상기 제1프레임 식별시, 상기 제2프레임의 타임스탬프 값과 구별되는 상기 제1프레임의 타임스탬프 값 또는 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그와 구별되는, 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그에 기초하여, 상기 제2프레임으로부터 상기 제1프레임을 식별하는, 전자 장치.
  10. 전자 장치의 동작 방법에 있어서,
    제1디코더를 이용하여 제1스트림하는 디코딩하는 동작;
    제2디코더를 이용하여 제2스트림을 디코딩하는 동작;
    상기 제1 디코더로부터 디코딩된 제1스트림에 대응하는 하나 이상의 제1프레임 및 상기 제2 디코더로부터 디코딩된 제2스트림에 대응하는 하나 이상의 제2프레임을 버퍼에 저장하는 동작; 및
    상기 제1스트림으로부터 상기 제2스트림으로의 전환을 요청하는 재생 전환 이벤트에 대응하여, 상기 버퍼에 저장된 상기 하나 이상의 제1프레임으로부터 상기 하나 이상의 제2프레임을 식별하고, 상기 식별된 하나 이상의 제2프레임을 출력하는 동작을 포함하고,
    상기 제1프레임의 타임스탬프 값과 구별되는 상기 제2프레임의 타임스탬프 값 또는 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그와 구별되는, 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그에 기초하여, 상기 제1프레임으로부터 상기 제2프레임이 식별되는, 전자 장치의 동작 방법.
  11. 제10항에 있어서,
    상기 재생 전환 이벤트에 따라 결정된 재생 전환 시점에 상기 하나 이상의 제2프레임을 출력하도록 상기 버퍼를 제어하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 재생 전환 시점은, 상기 재생 전환 이벤트에 포함된 타임스탬프 시간 정보와 상기 제1스트림에 대응하는 제1프레임의 타임스탬프 값이 일치하는 시점을 포함하는, 전자 장치의 동작 방법.
  13. 제10항에 있어서,
    상기 제1스트림은 디지털 TV (라이브) 컨텐츠에 대응하고, 상기 제2스트림은 멀티미디어 컨텐츠에 대응하는, 전자 장치의 동작 방법.
  14. 제10항에 있어서,
    상기 재생 전환 이벤트 따라 전환 요청된 제2스트림은 대체 슬롯에 표시될 대체 컨텐츠를 포함하는, 전자 장치의 동작 방법.
  15. 제14항에 있어서,
    상기 재생 전환 이벤트는, 상기 대체 슬롯의 표시 시점, 상기 대체 슬롯의 길이, 상기 대체 슬롯에 표시될 상기 대체 컨텐츠의 소오스 정보중 적어도 하나를 포함하는, 전자 장치의 동작 방법.
  16. 제14항에 있어서,
    상기 버퍼에 저장된 상기 하나 이상의 제1프레임을, 핑거프린트를 추출하는 ACR 모듈로 전송하도록 상기 버퍼를 제어하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  17. 제10항에 있어서,
    상기 제1프레임과 상기 제2프레임의 식별에 상기 제1플래그와 상기 제2플래그가 이용되는 경우,
    상기 제1디코더는 상기 하나 이상의 제1프레임에 상기 제1플래그를 부가하여 상기 버퍼로 제공하고, 상기 제2디코더는 상기 하나 이상의 제2프레임에 상기 제2플래그를 부가하여 상기 버퍼로 제공하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  18. 제10항에 있어서,
    재생 전환 종료 시점에 응답하여, 상기 버퍼에 저장된 상기 하나 이상의 제2프레임으로부터 상기 하나 이상의 제1프레임을 식별하고, 상기 식별된 하나 이상의 제1프레임을 출력하도록 상기 버퍼를 제어하는 동작, 및
    상기 제1프레임 식별시, 상기 제2프레임의 타임스탬프 값과 구별되는 상기 제1프레임의 타임스탬프 값 또는 상기 제2디코더에 의해 상기 제2프레임에 부가된 제2플래그와 구별되는, 상기 제1디코더에 의해 상기 제1프레임에 부가된 제1플래그에 기초하여, 상기 제2프레임으로부터 상기 제1프레임을 식별하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  19. 제10항 내지 제18항 중 어느 한 항에 기재된 전자 장치의 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170005227A 2017-01-12 2017-01-12 전자 장치 및 그 동작방법 KR20180083132A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170005227A KR20180083132A (ko) 2017-01-12 2017-01-12 전자 장치 및 그 동작방법
PCT/KR2017/014818 WO2018131806A1 (en) 2017-01-12 2017-12-15 Electronic apparatus and method of operating the same
EP17891557.5A EP3545684A1 (en) 2017-01-12 2017-12-15 Electronic apparatus and method of operating the same
US15/854,128 US10945020B2 (en) 2017-01-12 2017-12-26 Electronic apparatus and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170005227A KR20180083132A (ko) 2017-01-12 2017-01-12 전자 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20180083132A true KR20180083132A (ko) 2018-07-20

Family

ID=62783731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170005227A KR20180083132A (ko) 2017-01-12 2017-01-12 전자 장치 및 그 동작방법

Country Status (4)

Country Link
US (1) US10945020B2 (ko)
EP (1) EP3545684A1 (ko)
KR (1) KR20180083132A (ko)
WO (1) WO2018131806A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030478A (ko) * 2018-08-17 2021-03-17 그레이스노트, 인코포레이티드 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소
WO2022055256A1 (ko) * 2020-09-08 2022-03-17 삼성전자 주식회사 전자 장치 및 그 동작 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303689B2 (en) * 2017-06-06 2022-04-12 Nokia Technologies Oy Method and apparatus for updating streamed content
CN113796093B (zh) 2019-05-10 2023-09-29 六科股份有限公司 具有确定输入缓冲区切换延迟特征的内容修改系统
CN112087633B (zh) * 2019-06-12 2022-08-09 腾讯科技(深圳)有限公司 视频解码方法、装置及存储介质
US11418821B1 (en) 2021-02-09 2022-08-16 Gracenote, Inc. Classifying segments of media content using closed captioning
US20220286737A1 (en) * 2021-03-05 2022-09-08 Gracenote, Inc. Separating Media Content into Program Segments and Advertisement Segments

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015584B2 (en) * 2002-10-18 2011-09-06 Seachange International, Inc. Delivering interactive content to a remote subscriber
US7669217B2 (en) * 2004-07-02 2010-02-23 Panasonic Corporation AV stream reproducing apparatus, decoder switching method, method program, program storage medium, and integrated circuit
WO2006020560A2 (en) * 2004-08-09 2006-02-23 Nielsen Media Research, Inc Methods and apparatus to monitor audio/visual content from various sources
US20090222873A1 (en) * 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
US20080109557A1 (en) * 2006-11-02 2008-05-08 Vinay Joshi Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques
US8082179B2 (en) * 2007-11-01 2011-12-20 Microsoft Corporation Monitoring television content interaction to improve online advertisement selection
KR20090106104A (ko) 2008-04-04 2009-10-08 브로드밴드미디어주식회사 Vod 서비스와 실시간 스트리밍 서비스가 동시 구현가능한 iptv 방송 서비스 시스템 및 방법
US8863165B2 (en) * 2010-11-01 2014-10-14 Gracenote, Inc. Method and system for presenting additional content at a media system
KR20120135856A (ko) 2011-06-07 2012-12-17 김대영 디지털 방송 수신기의 영상 재생 장치
JPWO2013099290A1 (ja) * 2011-12-28 2015-04-30 パナソニック株式会社 映像再生装置、映像再生方法、映像再生プログラム、映像送信装置、映像送信方法及び映像送信プログラム
KR20140125766A (ko) * 2012-02-10 2014-10-29 엘지전자 주식회사 영상 표시 장치 및 그 동작 방법
US10110967B2 (en) 2015-01-24 2018-10-23 Valens Semiconductor Ltd. Increasing visually lossless compression ratio to provide bandwidth for an additional stream

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030478A (ko) * 2018-08-17 2021-03-17 그레이스노트, 인코포레이티드 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소
WO2022055256A1 (ko) * 2020-09-08 2022-03-17 삼성전자 주식회사 전자 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20180199094A1 (en) 2018-07-12
EP3545684A4 (en) 2019-10-02
EP3545684A1 (en) 2019-10-02
WO2018131806A1 (en) 2018-07-19
US10945020B2 (en) 2021-03-09

Similar Documents

Publication Publication Date Title
US20220182720A1 (en) Reception apparatus, reception method, and program
KR20180083132A (ko) 전자 장치 및 그 동작방법
US10593369B2 (en) Providing enhanced content
KR102058761B1 (ko) 단말 장치, 서버 장치, 정보 처리 방법, 프로그램, 및 링킹 애플리케이션 공급 시스템
RU2601446C2 (ru) Оконечное устройство, серверное устройство, способ обработки информации, программа и система подачи сцепленного приложения
US8583555B1 (en) Synchronizing multiple playback device timing utilizing DRM encoding
KR20140007907A (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법, 프로그램 및 방송 시스템
US20100238303A1 (en) Systems and methods for memorializing a viewer&#39;s viewing experience
KR20140125766A (ko) 영상 표시 장치 및 그 동작 방법
KR20150045918A (ko) 영상 표시 장치 및 그 동작 방법
KR20150120963A (ko) 영상 표시 장치 및 그 동작 방법
CN108429924B (zh) 用于播放替换用广告的显示装置及其控制方法
US20110197226A1 (en) Linking Real Time Media Context to Related Applications and Services
EP2442581A1 (en) Video assets having associated graphical descriptor data
RU2630261C2 (ru) Передающее устройство, способ обработки информации, программа, приемное устройство и система взаимодействия приложения
US20180131981A1 (en) Electronic apparatus and operating method thereof
RU2630432C2 (ru) Приемное устройство, способ обработки информации, программа, передающее устройство и система взаимодействия передающих программ
KR101919014B1 (ko) 전자 장치 및 그 동작방법
JP5316543B2 (ja) データ伝送装置およびデータ受信装置
KR20160061019A (ko) 영상 표시 장치 및 그 동작 방법
EP3533231B1 (en) Electronic apparatus and operating method thereof
KR102049119B1 (ko) 클라우드 환경에서 녹화 서비스 제공 방법 및 장치
JP2022183550A (ja) 受信装置、クライアント端末装置、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal