KR20150133037A - 콘텐츠 재생 방법 및 이를 구현하는 전자 장치 - Google Patents

콘텐츠 재생 방법 및 이를 구현하는 전자 장치 Download PDF

Info

Publication number
KR20150133037A
KR20150133037A KR1020140059856A KR20140059856A KR20150133037A KR 20150133037 A KR20150133037 A KR 20150133037A KR 1020140059856 A KR1020140059856 A KR 1020140059856A KR 20140059856 A KR20140059856 A KR 20140059856A KR 20150133037 A KR20150133037 A KR 20150133037A
Authority
KR
South Korea
Prior art keywords
content
playback
electronic device
mode
data
Prior art date
Application number
KR1020140059856A
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 KR1020140059856A priority Critical patent/KR20150133037A/ko
Priority to US14/698,107 priority patent/US9888277B2/en
Publication of KR20150133037A publication Critical patent/KR20150133037A/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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/234381Processing 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 temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/23439Processing 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 for generating different versions
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/440281Processing 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 temporal resolution, e.g. by frame skipping
    • 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephone Function (AREA)

Abstract

다양한 실시예들에 따른, 전자 장치에서 콘텐츠의 재생을 운영하는 방법은 상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 재생 관련 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 포함할 수 있으며 또다른 실시예도 가능하다.

Description

콘텐츠 재생 방법 및 이를 구현하는 전자 장치{CONTENT PLAYBACK METHOD AND ELECTRONIC DEVICE IMPLEMENTING THE SAME}
본 개시의 다양한 실시 예는 콘텐츠의 재생 품질 또는 재생 구간을 선택적으로 조절하여 콘텐츠를 재생하는 방법 및 이를 구현하는 전자 장치에 관한 것이다.
스마트폰, 태블릿 PC 등과 같은 전자 장치는 네트워크를 통해 다른 장치로부터 콘텐츠를 내려 받아 재생할 수 있다. 콘텐츠는, 네트워크 상태가 좋을 경우 고화질로 재생되고 네트워크 상태가 나쁠 경우 상대적으로 저화질로 재생될 수 있다. 콘텐츠의 화질은 네트워크 상태와 상관 없이 사용자의 선택에 의해 결정될 수도 있다.
종래 콘텐츠 재생 방법에 따르면, 콘텐츠의 중요부분과 비 중요부분이 구별 없이 재생되기 때문에 사용자의 의지와 관계없이, 네트워크 품질, 데이터 소모량 및 재생 시간과 관련해서 문제점이 발생한다.
네트워크 상태가 악화되어, 콘텐츠 감상을 위한 최저 요구 속도를 네트워크가 충족시키지 못할 경우에는 끊김 현상이 발생하여 콘텐츠 감상에 불편이 생기게 된다. 예를 들어, 중요 구간이 다운로드되지 못해, 사용자는 중요 구간을 시청할 수 없다.
중요 구간과 비 중요 구간의 데이터 소모량은 동등하다. 즉, 소모량에 대한 요금 또한 둘 다 동등하다. 대부분의 사용자는 제한된 용량의 데이터 요금 계획을 수립한다. 따라서, 비 중요 구간을 중요 구간과 동등하게 취급하는 것은 비용 측면에서 비효율적일 수 있다.
또한, 비 중요 구간을 중요 구간과 동등하게 취급하는 것은 시간 소모 측면에서도 비효율적일 수 있다.
본 개시의 다양한 실시 예들에 따른 방법 및 장치는 콘텐츠의 중요 구간을 우선적으로 재생할 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 방법 및 장치는 비용 측면에서 효율적으로 콘텐츠를 재생할 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 방법 및 장치는 시간 측면에서 효율적으로 콘텐츠를 재생할 수 있다.
다양한 실시예들에 따른, 전자 장치에서 콘텐츠의 재생을 운영하는 방법은 상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 재생 관련 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는 콘텐츠를 수신하기 위한 통신 모듈; 상기 콘텐츠 및 이의 재생과 관련된 설정 정보를 저장하는 메모리; 상기 콘텐츠를 재생하기 위한 디스플레이 및 오디오 모듈; 및 상기 통신 모듈, 상기 메모리, 상기 디스플레이 및 상기 오디오 모듈을 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 상기 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 수행하도록 설정될 수 있다.
본 개시의 다양한 실시 예들에 따른 방법 및 장치는 콘텐츠의 중요 구간을 우선적으로 재생할 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 방법 및 장치는 비용 측면에서 효율적으로 콘텐츠를 재생할 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 방법 및 장치는 시간 측면에서 효율적으로 콘텐츠를 재생할 수 있다.
도 1은 다양한 실시예에 따른, 전자 장치 101을 포함하는 네트워크 환경 100를 도시한다.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 101)의 재생 모듈 170의 블록도 200를 도시한다.
도 3은 다양한 실시예들에 따른 전자 장치 301의 블록도 300를 도시한다.
도 4은 다양한 실시예들에 따른 복수의 전자 장치들(예: 전자 장치 410 및 전자 장치 430) 사이의 통신 프로토콜 400을 도시한다.
도 5는 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 녹화 화면 500을 도시한다.
도 6은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 재생 모드 설정 화면 600을 도시한다.
도 7은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 데이터 사용량 화면 700을 도시한다.
도 8은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 건너뛰기 모드를 설명하기 위한 도면이다.
도 9 및 도 10은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 우선 및 품질 조절 모드를 설명하기 위한 도면이다.
도 11은 다양한 실시예에 따른, 전자 장치(예: 전자 장치 301)의 재생 정책 결정 방법을 설명하기 위한 흐름도이다.
도 12는 일 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
도 13은 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
도 14는 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
도 15는 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
도 16은 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는"포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 "제 1,""제2,""첫째,"또는"둘째,"등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시예에 따른, 전자 장치 101을 포함하는 네트워크 환경 100를 도시한다. 도 1을 참조하면, 상기 전자 장치 101는 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 140, 디스플레이 150, 통신 인터페이스 160 및 재생 모듈 170을 포함할 수 있다.
상기 버스 110는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서 120는, 예를 들면, 상기 버스 110를 통해 전술한 다른 구성요소들(예: 상기 메모리 130, 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 재생 모듈 170 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리 130는, 상기 프로세서 120 또는 다른 구성요소들(예: 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 재생 모듈 170 등)로부터 수신되거나 상기 프로세서 120 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 130는, 예를 들면, 커널 131, 미들웨어 132, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 133 또는 어플리케이션 134 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널 131은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 131은 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에서 상기 전자 장치 101의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 132는 상기 API 133 또는 상기 어플리케이션 134이 상기 커널 131과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 132는 상기 어플리케이션 134로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 134 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 133는 상기 어플리케이션 134이 상기 커널 131 또는 상기 미들웨어 132에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션 134는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션 134은 상기 전자 장치 101와 외부 전자 장치(예: 전자 장치 104) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치 101 의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치 104)로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치 104)로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치 101와 통신하는 외부 전자 장치(예: 전자 장치 104)의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다.
다양한 실시예에 따르면, 상기 어플리케이션 134은 상기 외부 전자 장치(예: 전자 장치 104)의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션 134은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션 134은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션 134은 전자 장치 101에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버 106 또는 전자 장치 104)로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.
상기 입출력 인터페이스 140은, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스 110를 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 재생 모듈 170에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서 120로 제공할 수 있다. 또한, 상기 입출력 인터페이스 140은, 예를 들면, 상기 버스 110을 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 재생 모듈 170로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 상기 프로세서 120를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
상기 디스플레이 150은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.
상기 통신 인터페이스 160은 상기 전자 장치 101와 외부 장치(예: 전자 장치 104 또는 서버 106) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스 160은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 네트워크 162는 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 전자 장치 101와 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션 134, 어플리케이션 프로그래밍 인터페이스 133, 상기 미들웨어 132, 커널 131 또는 통신 인터페이스 160 중 적어도 하나에서 지원될 수 있다.
한 실시예에 따르면, 상기 서버 106는 상기 전자 장치 101에서 구현되는 동작(또는, 기능)들 중 적어도 하나의 동작을 수행함으로써, 상기 전자 장치 101의 구동을 지원할 수 있다. 예를 들면, 상기 서버 106는 상기 전자 장치 101에 구현된 재생 모듈 170을 지원할 수 있는 재생 모듈 108을 포함할 수 있다. 예컨대, 상기 재생 모듈 108은 재생 모듈 170의 적어도 하나의 구성요소를 포함하여, 재생 모듈 170이 수행하는 동작들 중 적어도 하나의 동작을 수행(예: 대행)할 수 있다. 추가적으로, 상기 서버 106은 상기 재생 모듈들 170 및 108에 콘텐츠를 제공하는 콘텐츠 제공 모듈 109을 더 포함할 수 있다.
상기 재생 모듈 170은, 다른 구성요소들(예: 상기 프로세서 120, 상기 메모리 130, 상기 입출력 인터페이스 140, 또는 상기 통신 인터페이스 160 등)로부터 획득된 콘텐츠 중 적어도 일부를 처리하고, 이를 다양한 방법으로 사용자에게 제공 할 수 있다. 예를 들면, 상기 재생 모듈 170는 상기 프로세서 120를 이용하여 또는 이와는 독립적으로, 콘텐츠가 사용자에게 제공되도록 상기 전자 장치 101의 적어도 일부 기능을 제어할 수 있다. 한 실시예에 따르면, 재생 모듈 170의 적어도 하나의 구성은 상기 서버 106(예: 재생 모듈 108)에 포함될 수 있으며, 상기 서버 106로부터 재생 모듈 170에서 구현되는 적어도 하나의 동작을 지원받을 수 있다. 후술하는 도 2 내지 도 16을 통하여 상기 재생 모듈 170에 대한 추가적인 정보가 제공된다.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 101)의 재생 모듈 170의 블록도 200를 도시한다. 도 2을 참조하면, 상기 재생 모듈 170은 우선 재생 구간 인식 모듈(이하, 줄여서 '인식 모듈') 210, 획득 모듈 220, 정책 결정 모듈 230 및 모드 운영 모듈 240을 포함할 수 있다.
인식 모듈 210은 어플리케이션 134로부터 콘텐츠와 관련된 정보 예컨대, 메타 데이터 211 또는 태그 정보 212를 획득할 수 있다. 또는, 인식 모듈 210은 메모리 130에 직접 접근하여 메타 데이터 211 또는 태그 정보 212을 획득할 수도 있다. 또는, 인식 모듈 210은 통신 인터페이스 160을 이용하여 외부 장치(예: 서버 106)로부터 메타 데이터 211 또는 태그 정보 212를 수신할 수도 있다.
다음은 태그 정보 212의 일례이다.
Figure pat00001
인식 모듈 210은 메타 데이터 211 또는 태그 정보 212에 기초하여 콘텐츠에서 우선 재생 구간(중요 구간)을 인식할 수 있다. 인식된 중요 구간은 해당 콘텐츠의 재생 정책을 결정하기 위한 정보로 이용될 수 있다. 메타 데이터 211은 콘텐츠의 일부(예: 예비(reserved) 영역에 포함)일 수 있고, 태그 정보 212는 콘텐츠에 태깅된 별도의 정보일 수 있다. 메타 데이터 211 및 태그 정보 212는 예를 들어, 실행 가능 프로그램 정보, 파일 형식(예: AVI), 크기, 만든 날짜, 해상도, 프레임 속도(예: 30프레임/초), 재생 시간 및 중요 구간 정보 등을 포함할 수 있다. 여기서, 중요 구간 정보는 예를 들면, 동영상에서 중요 인물(예: 가수), 사물 또는 사건(예: 자동차 사고)이 등장하는 시간과 관련된 정보를 포함할 수 있다. 이러한 중요 구간 정보는 전자 장치 101의 사용자에 의해 설정될 수 있다. 대안적으로, 중요 구간 정보는 콘텐츠와 함께 다른 기기(예: 서버 106)로부터 수신될 수 있다. 인식 모듈 210은 중요 구간 정보를 확인함으로써 해당 콘텐츠 예컨대, 동영상의 중요 구간을 인식할 수 있다.
인식 모듈 210은 통계 정보와 전자 장치 101에 기 저장된 사용자 정보(예: 전자 장치 101의 사용자의 나이, 주소, 기 저장된 콘텐츠 정보 등)를 확인하여 해당 콘텐츠의 중요 구간을 인식할 수 있다. 통계 정보는 해당 콘텐츠를 시청한 사람들의 반응과 관련된 정보로써, 메타 데이터 211 및 태그 정보 212에 포함될 수도 있다. 한 실시예에 따르면, 통계 정보는 연령별, 성별 또는 지역별로 동영상에서 사람들의 반응이 가장 높은 시간과 관련된 정보를 포함할 수 있다. 이에 따라 인식 모듈 210은 반응이 가장 높은 시간 대를 중요 구간으로 인식할 수 있다.
획득 모듈 220은 재생 정책의 결정을 위한 각종 정보들을 획득(예: 계산, 수신 또는 확인)할 수 있다. 예를 들면, 획득 모듈 220은 통신 인터페이스 160을 통해 네트워크 162(예: LTE)로부터 수신되는 신호의 대역폭 및 수신 신호 세기(예: RSSI(Received Signal Strength Indication)), 서버에서 제공하는 컨텐츠의 데이터 다운로드 대역폭 중 적어도 하나에 기초하여 네트워크 속도 221(예: 그 단위가 bps(비트/초)임)를 계산할 수 있다. 대안적으로, 획득 모듈 220은 다른 구성 요소(예: 프로세서 120)에 의해 계산된 네트워크 속도 221를 프로세서 120로부터 수신할 수도 있다.
획득 모듈 220은 메타 데이터 211 또는 태그 정보 212에 접근하여 해당 콘텐츠의 재생 시간 222를 확인할 수 있다.
획득 모듈 220은 통신 인터페이스 160을 통해, 데이터 잔여량 223에 대한 정보를 요청하는 메시지를 외부 기기(예: LTE를 운영하는 통신업체의 서버)로 전송하고, 외부 기기로부터 데이터 잔여량 223을 포함하는 응답 메시지를 수신할 수 있다. 여기서 데이터 잔여량 223은 예를 들어, 전자 장치 101가 LTE 서비스에 가입된 경우, 과금 정책에 따라 주어진 기간(예: 한달) 동안 전자 장치 101가 LTE로부터 다운로드할 수 있는 데이터의 량(예: 1GB, 5GB 또는 무제한 등)을 의미할 수 있다. 대안적으로, 획득 모듈 220은 다른 구성 요소(예: 프로세서 120)에 의해 실시간으로 계산되는 데이터 잔여량 223을 프로세서 120로부터 전달받을 수도 있다. 어떠한 실시예에 따르면, 획득 모듈 220은 데이터 잔여량 223과 함께, 현재 시간을 기준으로 잔여 일수를 계산할 수 있다. 예를 들어, 주어진 기간이 한달이고 현재 시간이 2014년 3월 3일인 경우, 잔여 일수는 28일이다.
획득 모듈 220은 재생 정책과 관련하여 사용자에 의해 설정된 설정 정보 224를 메모리 130에서 확인할 수 있다. 설정 정보는 예를 들어, 배터리 소모 절약(절전) 상태 또는 시간 절약(동영상 시청시간 제한) 상태 등이 될 수 있으며 단말의 다양한 설정 내역 중 하나 이상을 포함할 수 있다. 또한, 획득 모듈 220은 인식 모듈 210로부터 우선 재생 구간 정보 225를 수신할 수 있다.
정책 결정 모듈 230은 획득 모듈 220에 의해 확인된 각종 정보들에 기초하여, 콘텐츠의 재생 모드를 결정할 수 있다. 대안적으로, 정책 결정 모듈 230은 사용자에 의해 설정된 정보에 기초하여 콘텐츠의 재생 모드를 결정할 수도 있다. 재생 모드는 예를 들어, 건너뛰기(skip) 모드 231, 고배속 모드 232, 품질 조정 모드 233, 우선 모드 234 및 결합 모드 235 중에서(물론, 재생 모드가 이들로 한정되는 것은 아님) 어느 하나로 결정될 수 있다. 건너뛰기 모드 231은 해당 콘텐츠 재생 시, 비 중요 구간의 건너뛰기(skip)를 사용자에게 알리는 동작과, 비 중요 구간을 뛰어넘기(skip)하는 동작을 포함할 수 있다. 고배속 모드 232는 콘텐츠의 적어도 일부를 정속도(즉, 콘텐츠의 프레임들을 모두 재생)보다 고배속으로 재생(예: 3배속 재생은 두 개의 프레임을 건너뛰고 한 개의 프레임을 재생하는 것임)하는 동작을 포함할 수 있다. 또 다른 실시 예로는, 고배속 모드 232는 사용자가 설정한 설정정보 224에 따라 동영상을 시청할 수 있는 시간이 제한되어 있는 경우, 제한 시간 내에 재생을 마칠 수 있도록 시간 절약을 위한 재생배속을 자동으로 결정하는 동작을 포함할 수도 있다. 품질 조정 모드 233은 콘텐츠의 적어도 일부의 품질을 조정하여 재생하는 동작을 포함할 수 있다. 우선 모드 234는 중요 구간을 비 중요 구간보다 먼저 재생하는 동작을 포함할 수 있다. 결합 모드 235는 상기 모드들 중 적어도 하나 이상이 결합된 것일 수 있다. 예를 들어, 결합 모드 235는 동영상의 스트리밍 재생 시, 비 중요 구간의 다운로드를 생략하고, 중요 구간만을 다운로드하여 스트리밍 재생하는 동작을 포함할 수 있다.
한 실시예에 따르면, 콘텐츠가 걸그룹 A의 뮤직 비디오인 경우 통계적으로 그 주된 시청자는 30대 남자와 20대 여자일 수 있다. 전자 장치 101의 사용자가 30대 남자이고 전자 장치 101이 걸그룹의 사진을 다수 보유한 경우, 해당 뮤직 비디오에서 중요 구간은 인식 모듈 210에 의해 걸그룹 A가 나온 시간대로 인식되고, 해당 뮤직 비디오는 정책 결정 모듈 230에 의해 재생 정책이 화질 우선 모드(예: 중요 구간 고화질 및 전 구간 저음질)로 결정될 수 있다. 전자 장치 101의 사용자가 20대 여자이고 전자 장치 101이 걸그룹의 음악 파일을 다수 보유한 경우, 해당 뮤직 비디오는 정책 결정 모듈 230에 의해 재생 정책이 음질 우선 모드(예: 저화질/고음질)로 결정될 수 있다. 전자 장치 101의 사용자가 20대 여자이고 전자 장치 101이 걸그룹의 음악 파일 및 여자 연예인 사진을 다수 보유한 경우, 해당 뮤직 비디오는 정책 결정 모듈 230에 의해 재생 정책이 화질 우선 모드로 결정될 수 도 있다. 전자 장치 101의 사용자가 40대 남자인 경우, 해당 뮤직 비디오는 정책 결정 모듈 230에 의해 재생 정책이 저품질 모드(예: 저화질/저음질)로 결정될 수 있다. 대안적으로, 40대는 30대의 인접 연령대이므로, 재생 정책이 화질 우선 모드로 결정될 수도 있다.
모드 운영 모듈 240은 정책 결정 모듈 230에 의해 결정된 재생 모드로 해당 콘텐츠의 재생을 운영할 수 있다.
재생 모듈 170은 프로세서 120과 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 프로세서 120이 재생 모듈 170의 전술한 구성요소들 210 내지 240 중에서 적어도 일부를 포함할 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치 301의 블록도 300를 도시한다. 상기 전자 장치 301는, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 구성할 수 있다. 도 3을 참조하면, 상기 전자 장치 301는 하나 이상의 어플리케이션 프로세서(AP: application processor) 310, 통신 모듈 320, SIM(subscriber identification module) 카드 324, 메모리 330, 센서 모듈 340, 입력 장치 350, 디스플레이 360, 인터페이스 370, 오디오 모듈 380, 카메라 모듈 391, 전력관리 모듈 395, 배터리 396, 인디케이터 397 및 모터 398 를 포함할 수 있다.
상기 AP 310는 운영체제 또는 응용 프로그램을 구동하여 상기 AP 310에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 310는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 310는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈 320(예: 상기 통신 인터페이스 160)은 상기 전자 장치 301(예: 상기 전자 장치 101)와 네트워크를 통해 연결된 다른 전자 장치들(예: 전자 장치 104 또는 서버 106) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈 320은 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327, NFC 모듈 328 및 RF(radio frequency) 모듈 329를 포함할 수 있다.
상기 셀룰러 모듈 321은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 321은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 324)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 321은 상기 AP 310가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 321은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈 321은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 321은, 예를 들면, SoC로 구현될 수 있다. 도 3에서는 상기 셀룰러 모듈 321(예: 커뮤니케이션 프로세서), 상기 메모리 330 또는 상기 전력관리 모듈 395 등의 구성요소들이 상기 AP 310와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 310가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 321)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP 310 또는 상기 셀룰러 모듈 321(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 310 또는 상기 셀룰러 모듈 321은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈 323, 상기 BT 모듈 325, 상기 GPS 모듈 327 또는 상기 NFC 모듈 328 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 3에서는 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327 또는 NFC 모듈 328이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327 또는 NFC 모듈 328 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327 또는 NFC 모듈 828 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 321에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 323에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈 329는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈 329는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 329는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 3에서는 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327 및 NFC 모듈 328이 하나의 RF 모듈 329을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈 321, Wifi 모듈 323, BT 모듈 325, GPS 모듈 327 또는 NFC 모듈 328 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드 324는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드 324는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 330(예: 상기 메모리 130)는 내장 메모리 332 또는 외장 메모리 334를 포함할 수 있다. 상기 내장 메모리 332는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 내장 메모리 332는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리 334는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 334는 다양한 인터페이스를 통하여 상기 전자 장치 301과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치 301는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈 340은 물리량을 계측하거나 전자 장치 301의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 340은, 예를 들면, 제스처 센서 340A, 자이로 센서 340B, 기압 센서 340C, 마그네틱 센서 340D, 가속도 센서 340E, 그립 센서 340F, 근접 센서 340G, color 센서 340H(예: RGB(red, green, blue) 센서), 생체 센서 340I, 온/습도 센서 340J, 조도 센서 340K 또는 UV(ultra violet) 센서 340M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 340은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈 340은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치 350은 터치 패널(touch panel) 352, (디지털) 펜 센서(pen sensor) 354, 키(key) 356 또는 초음파(ultrasonic) 입력 장치 358를 포함할 수 있다. 상기 터치 패널 352은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 352은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 352은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 352은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 354는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 356는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치 358는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 301에서 마이크(예: 마이크 388)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 301는 상기 통신 모듈 320를 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 360(예: 상기 디스플레이 150)은 패널 362, 홀로그램 장치 364 또는 프로젝터 366을 포함할 수 있다. 상기 패널 362은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 362은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 362은 상기 터치 패널 352과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 364은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 366는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 301의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 360은 상기 패널 362, 상기 홀로그램 장치 364, 또는 프로젝터 366를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 370는, 예를 들면, HDMI(high-definition multimedia interface) 372, USB(universal serial bus) 374, 광 인터페이스(optical interface) 376 또는 D-sub(D-subminiature) 378를 포함할 수 있다. 상기 인터페이스 370는, 예를 들면, 도 1에 도시된 통신 인터페이스 160에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 370는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 380은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 380의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 380은, 예를 들면, 스피커 382, 리시버 384, 이어폰 386 또는 마이크 388 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 391은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 395은 상기 전자 장치 301의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 395은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리 396의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 396는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치 301에 전원을 공급할 수 있다. 상기 배터리 396는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 397는 상기 전자 장치 301 혹은 그 일부(예: 상기 AP 310)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 398는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 301는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 4은 다양한 실시예들에 따른 복수의 전자 장치들(예: 전자 장치 410 및 전자 장치 430) 사이의 통신 프로토콜 400을 도시한다. 도 4을 참조하면, 예를 들어, 상기 통신 프로토콜 400은, 장치 발견 프로토콜(device discovery protocol) 451, 기능 교환 프로토콜(capability exchange protocol) 453, 네트워크 프로토콜(network protocol) 455 및 어플리케이션 프로토콜(application protocol) 457 등을 포함할 수 있다.
한 실시예에 따르면, 상기 장치 발견 프로토콜 451은 전자 장치들(예: 전자 장치 410 또는 전자 장치 430)이 자신과 통신 가능한 외부 전자 장치를 감지하거나 감지된 외부 전자 장치와 연결하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치 410(예: 전자 장치 101)은, 상기 장치 발견 프로토콜 451을 이용하여, 상기 전자 장치 410에서 사용 가능한 통신 방법(예: Wifi, BT 또는 USB 등)을 통해, 상기 전자 장치 410와 통신 가능한 기기(device)로, 전자 장치 430(예: 전자 장치 104)를 감지할 수 있다. 상기 전자 장치 410는, 상기 전자 장치 430과의 통신 연결을 위해, 상기 장치 발견 프로토콜 451을 이용하여, 감지된 전자 장치 430에 대한 식별 정보를 획득하여 저장할 수 있다. 상기 전자 장치 410는, 예를 들면, 적어도 상기 식별 정보에 기반하여, 상기 전자 장치 430와의 통신 연결을 개설할 수 있다.
어떤 실시예에 따르면, 상기 장치 발견 프로토콜 451은 복수의 전자 장치들 사이에서 상호 인증을 하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치 410는 적어도 전자 장치 430와 연결을 위한 통신 정보(예: MAC(media access control) address, UUID(universally unique identifier), SSID(subsystem identification), IP(internet protocol) address)에 기반하여, 상기 전자 장치 410와 상기 전자 장치 430 간의 인증을 수행할 수 있다.
한 실시예에 따르면, 상기 기능 교환 프로토콜 453은 전자 장치 410 또는 전자 장치 430 중 적어도 하나에서 지원 가능한 서비스의 기능과 관련된 정보를 교환하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치 410 및 전자 장치 430은 상기 기능 교환 프로토콜 453을 통하여, 각각이 현재 제공하고 있는 서비스의 기능과 관련된 정보를 서로 교환할 수 있다. 교환 가능한 정보는 전자 장치 410 및 전자 장치 430에서 지원 가능한 복수의 서비스들 중에서 특정 서비스를 가리키는 식별 정보를 포함할 수 있다. 예를 들어, 전자 장치 410는 상기 기능 교환 프로토콜 453을 통해 전자 장치 430로부터 상기 전자 장치 430가 제공하는 특정 서비스의 식별 정보를 수신할 수 있다. 이 경우, 제 1 전자 장치 410는 상기 수신된 식별 정보에 기반하여, 상기 전자 장치 410이 상기 특정 서비스를 지원할 수 있는지 여부를 판단할 수 있다.
한 실시예에 따르면, 상기 네트워크 프로토콜 455은 통신이 가능하도록 연결된 전자 장치들(예: 전자 장치 410, 전자 장치 430) 간에, 예컨대, 서비스를 연동하여 제공하기 위하여 송수신 되는, 데이터 흐름을 제어하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치 410 또는 전자 장치 430 중 적어도 하나는 상기 네트워크 프로토콜 455을 이용하여, 오류 제어, 또는 데이터 품질 제어 등을 수행할 수 있다. 추가적으로 또는 대체적으로, 상기 네트워크 프로토콜 455은 전자 장치 410와 전자 장치 430 사이에서 송수신되는 데이터의 전송 포맷을 결정할 수 있다. 또한, 전자 장치 410 또는 전자 장치 430 중 적어도 하나는 상기 네트워크 프로토콜 455를 이용하여 상호간의 데이터 교환을 위한 적어도 세션(session)을 관리(예: 세션 연결 또는 세션 종료)할 수 있다.
한 실시예에 따르면, 상기 어플리케이션 프로토콜 457은 외부 전자 장치로 제공되는 서비스와 관련된 데이터를 교환하기 위한, 절차 또는 정보를 제공하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치 410(예: 전자 장치 101)은 상기 어플리케이션 프로토콜 457을 통해 전자 장치 430(예: 전자 장치 104 또는 서버 106)로 서비스를 제공할 수 있다.
한 실시예에 따르면, 상기 통신 프로토콜 400은 표준 통신 프로토콜, 개인 또는 단체에서 지정한 통신 프로토콜(예: 통신 장치 제조 업체 또는 네트워크 공급 업체 등에서 자체적으로 지정한 통신 프로토콜) 또는 이들의 조합을 포함할 수 있다.
도 5는 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 녹화 화면 500을 도시한다.
전자 장치 301의 AP 310은 녹화 중에, 다른 구성 요소로부터 외부의 주변 상황 정보를 획득할 수 있다. AP 310는 획득된 정보를 이용하여, 녹화된 콘텐츠의 일부를 '중요 구간'으로 설정할 수 있다. 한 실시예에 따르면, AP 310은 센서 모듈 340(예: 가속도 센서 340E)과 연동(예: 감지 정보를 수신)하거나 오디오 모듈 380을 통해 마이크 388와 연동하여, 녹화 중에 발생되는 주변 상황을 실시간 모니터링하고, 모니터링 결과 충격이 발생되면, 충격 발생 시간에 대응되는 녹화 부분을 '중요 구간'으로 설정할 수 있다. AP 310은 설정 정보를 메타 데이터 또는 태그 정보로써 해당 콘텐츠와 함께 메모리 330에 저장할 수 있다. 대안적으로 또는 추가적으로, 설정 정보는 해당 콘텐츠와 함께 외부 장치(예: 서버 106)에 저장될 수 있다.
도 6은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 재생 모드 설정 화면 600을 도시한다.
사용자는 콘텐츠의 재생 정책을 설정할 수 있다. 예를 들면, 전자 장치 301의 AP 310은 사용자의 요청에 응답하여, 재생 모드 설정 화면 600을 표시하도록 디스플레이 360을 제어할 수 있다. 재생 모드 설정 화면 600은 예를 들어, 고배속 모드를 나타내는 항목 601, 건너뛰기 모드를 나타내는 항목 602, 데이터 절약 모드(예: 품질 조정 모드)를 나타내는 항목 603, 기본 모드(예: 콘텐츠의 전체 프레임들을 동일한 품질 및 정속도로 재생)를 나타내는 항목 604 및 자동 모드를 나타내는 항목 605를 포함할 수 있다. 재생 모드가 자동 모드로 설정되면, AP 310은 재생 정책과 관련된 정보(예: 획득 모듈 220에 의해 획득된 정보)에 기초하여 재생 정책을 결정할 수 있다.
도 7은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 데이터 사용량 화면 700을 도시한다.
전자 장치 301의 AP 310은 데이터 사용량 700을 획득할 수 있다. 한 실시예에 따르면, 전자 장치 301의 AP 310은 다른 구성 요소(예: 셀룰러 모듈 821)과 연동하여, 데이터 사용량 700을 실시간으로 측정할 수 있다. 다른 실시예에 따르면, AP 310은 데이터 사용량 700에 대한 정보를 요청하는 메시지를 외부 기기(예: LTE를 운영하는 통신업체의 서버)로 전송하고, 외부 기기로부터 데이터 사용량 700을 포함하는 응답 메시지를 수신할 수 있다. 또한 AP 310은 데이터 잔여량(예: 데이터 잔여량 = 정해진 동안 할당된 총량 - 데이터 사용량 700)을 계산할 수 있다. 정해진 조건이 만족되면(예: 입력장치 350으로부터 콘텐츠의 스트리밍 재생의 요청을 수신한 경우), AP 310은 데이터 사용량 700(또는 잔여량)을 표시하도록 디스플레이 360을 제어할 수 있다.
도 8은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 건너뛰기 모드를 설명하기 위한 도면이다.
전자 장치 301의 AP 310은 동영상의 재생 정책이 건너뛰기 모드로 결정된 경우, 해당 동영상의 중요 구간을 획득(예: 인식 또는 수신)할 수 있다. 예를 들면, 동영상 재생을 수행하기 전에, AP 310은 메모리 330에 저장된 해당 동영상의 메타 데이터(또는 태그 정보)를 확인함으로써, 해당 동영상의 중요 구간을 인식할 수 있다. 또는, 동영상을 다른 장치(예: 서버 106)로부터 다운로드하기 전에, AP 310은 서버 106에 중요 구간과 관련된 정보를 요청하여 서버 106으로부터 해당 정보를 수신할 수 있다.
중요 구간이 획득되면, AP 310은 해당 동영상의 재생을 건너뛰기 모드로 운영할 수 있다. 도 8 (a)를 참조하면, 비 중요 구간을 건너뛰기 전, AP 310은 안내 문구 810(예: 재생 시간의 단축을 위해 비 중요 부분을 건너뛰고 재생합니다)을 표시하도록 디스플레이 360을 제어할 수 있다. 도 8 (b)를 참조하면, 비 중요 구간을 건너 뛴 후, AP 310은 중요 구간의 프레임들을 정속으로 재생할 수 있다.
도 9 및 도 10은 다양한 실시예들에 따른, 전자 장치(예: 전자 장치 301)의 우선 및 품질 조절 모드를 설명하기 위한 도면이다.
도 9 (a)를 참조하면, 사용자가 재생 버튼 910을 누르면, 전자 장치 301의 AP 310은 재생할 동영상의 사양(specification)(예: 해상도 및 프레임 속도)을 확인할 수 있다. 한 실시예에 따르면, AP 310은 동영상의 태그 정보를 콘텐츠 제공 서버에 요청하도록 통신 모듈 320을 제어할 수 있다. 통신 모듈 320은 콘텐츠 제공 서버로부터 수신된 태그 정보를 AP 310으로 전달할 수 있다. AP 310은 태그 정보에서 동영상의 사양을 확인하고, 디스플레이 360(예: 패널 362)의 사양을 확인한 다음, 확인된 사양들을 상호 비교하여 동영상을 디스플레이 360에 최적화할 수 있다. 예를 들어, 동영상이 패널 362보다 고사양인 경우, AP 310은 저사양의 동영상을 콘텐츠 제공 서버에 요청하도록 통신 모듈 320을 제어할 수 있다.
사양 최적화 작업이 완료되면, AP 310은 동영상의 중요 구간을 인식할 수 있다. 한 실시예에 따르면, AP 310은 상기 수신된 태그 정보에서 중요 구간을 인식할 수 있다.
도 9 (b)를 참조하면, AP 310은 중요 구간 920을 표시하도록 디스플레이 360을 제어할 수 있다.
도 9 (c) 및 (d)를 참조하면, AP 310은 중요 구간(중요 구간) 920에서 I-프레임들 921을 콘텐츠 제공 서버에 요청하도록 통신 모듈 320을 제어할 수 있다. AP 310은 I-프레임들 921이 수신되는 속도를 기반으로 네트워크 속도를 계산할 수 있다.
AP 310은 네트워크 속도와 요구 속도를 비교할 수 있다. 여기서 요구 속도는 재생할 동영상이 끊김 없이 재생되기 위해 요구되는 네트워크 속도(예: 1Mbps(Mega bit per second))를 의미할 수 있다. AP 310은 비교 결과에 따라 동영상의 재생 품질을 조절할 수 있다.
한 실시예에 따르면, 비교 결과 "고화질 재생 가능 요구 속도 < 현재의 네트워크 속도"인 경우, AP 310은 통신 모듈 320, 디스플레이 360 및 오디오 모듈 380과 연동(예: 제어)하여, 동영상을 고품질로 재생하면서 여유 대역폭을 통해 중요 구간을 미리 확보할 수 있다. 이에 따라, 스트리밍 재생 중, 터널 진입 등으로 네트워크에 문제가 발생했을 때에도 중요 구간은 끊김 없이 재생될 수 있다.
비교 결과 "저화질 재생 가능 요구 속도 < 현재의 네트워크 속도 < 고화질 재생 가능 요구 속도"인 경우, AP 310은 통신 모듈 320, 디스플레이 360 및 오디오 모듈 380과 연동(예: 제어)하여, 중요 구간을 원래 비트 전송율로 재생하고, 나머지 부분을 비트 전송율을 감소시켜 재생할 수 있다. 예를 들면, 도 10에 도시된 바와 같이 비 중요 구간은 480p(pixel)/8fps의 저품질로 재생되고 중요 구간은 1080p/24fps의 고품질로 재생될 수 있다. 또한, 재생이 시작되면, AP 310은 순차적으로 데이터를 수신하는 동시에 여유 대역폭을 통해 중요 구간의 음성데이터를 수신할 수 있다. 즉, AP 310은 중요 구간의 스크린샷(예컨대, I-프레임들 921) 및 음성 데이터를 미리 확보할 수 있다. 이에 따라, 스트리밍 재생 중, 터널 진입 등으로 네트워크에 문제가 발생할 경우, 중요 구간의 스크린 샷 및 음성이 재생될 수 있다.
비교 결과 "현재의 네트워크 속도 < 저화질 재생 가능 요구 속도"인 경우, AP 310은 콘텐츠 재생을 음성 모드로 운영할 수 있다. 음성 모드의 일례로써, AP 310은 중요 구간의 I프레임들 921을 순차적으로 표시(즉, 슬라이드 쇼)하도록 디스플레이 360을 제어할 수 있다. 또한, AP 310은 음성 데이터만을 콘텐츠 제공 서버에 요청하여 수신하고, 슬라이드 쇼하면서 수신된 음성을 재생할 수 있다.
상술한 재생 품질 조정을 위한 인자들은 스케일러블 코딩Scalable Coding에서 고려되는 인자들(예; 비디오/오디오 비트 전송율(Kbps, SNR), 비디오/오디오 비트 depth(bit), 초당 프레임개수(FPS, framerate per second), 오디오 sample rate(KHz), 오디오 channel 개수(1 to 6), 비디오 프레임레이트(FPS), 색 공간(color garmut), 화면비(aspect ratio), 하이브리드 코덱(Lo:H.264/Hi:HEVC))를 포함할 수 있다.
어떠한 실시예에 따르면, 전자 장치는 콘텐츠를 수신하기 위한 통신 모듈; 상기 콘텐츠 및 이의 재생과 관련된 설정 정보를 저장하는 메모리; 상기 콘텐츠를 재생하기 위한 디스플레이 및 오디오 모듈; 및 상기 통신 모듈, 상기 메모리, 상기 디스플레이 및 상기 오디오 모듈을 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 상기 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 수행하도록 설정될 수 있다.
도 11은 다양한 실시예에 따른, 전자 장치(예: 전자 장치 301)의 재생 정책 결정 방법을 설명하기 위한 흐름도이다.
동작 1110에서 AP 310은 콘텐츠와 연관 있는 정보들을 획득하고, 이에 기초하여 콘텐츠의 중요 구간을 인식할 수 있다. 동작 1120에서 AP 310은 네트워크 속도, 데이터 잔여량, 재생 관련 설정 정보 및 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득할 수 있다. 동작 1130에서 AP 310은 인식된 중요 구간 및 획득된 정보에 기초하여 콘텐츠의 재생 정책을 결정할 수 있다. 한 실시예에 따르면, "네트워크 속도 > 임계치 V-th1"인 경우 AP 310은 재생 정책을 기본 모드(예: 고화질/정속 재생)로 결정할 수 있다. "네트워크 속도 > 임계치 V-th1" 및 "데이터 잔여량 < 임계치 D-th"인 경우, AP 310은 재생 정책을 데이터 절약 모드(예: 건너뛰기 모드, 품질 조정 모드, 고배속 모드 또는 음성 모드 등)로 결정할 수 있다. "네트워크 속도 > 임계치 V-th1" 및 "재생 시간 > 임계치 T-th"인 경우, AP 310은 재생 정책을 시간 절약 모드(예: 건너뛰기 모드, 우선 모드 또는 고배속 모드 등)로 결정할 수 있다. "네트워크 속도 < 임계치 V-th1"인 경우, AP 310은 재생 정책을 '품질 조정 모드'로 결정할 수 있다. "네트워크 속도 < 임계치 V-th2(V-th2 < V-th1)"인 경우, AP 310은 재생 정책을 결합 모드(품질 조정 모드 + 건너뛰기 모드)로 결정할 수 있다. 확인된 정보들 중에서 재생 관련 설정 정보가 최우선으로 고려될 수 있다. 즉, AP 310은 네트워크 속도, 데이터 잔여량 및 콘텐츠의 재생 시간과 상관 없이, 사용자가 설정한 재생 모드로 콘텐츠의 재생을 운영할 수 있다.
어떠한 실시예에 따르면, 데이터 절약 모드는 잔여량과 잔여 일수에 의해 결정될 수 있다. 예를 들면, "데이터 잔여량 > 임계치 D-th" 및 "잔여 일수 < 임계치 T-th"인 경우, AP 310은 재생 정책을 기본 모드로 결정할 수 있다. "데이터 잔여량 > 임계치 D-th" 및 "잔여 일수 > 임계치 T-th"인 경우, AP 310은 재생 정책을 데이터 절약 모드로 결정할 수 있다. 이러한 실시예에 따라 사용자는 데이터(예: 5GB)를 주어진 기간 동안 균등하게 배분해서 사용할 수 있다.
도 12는 일 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
동작 1210에서 AP 310은 다른 구성 요소(예: 마이크 388, 센서 모듈 340, 입력 장치 350 또는 통신 모듈 320)로부터 콘텐츠의 재생의 요청을 수신할 수 있다. 동작 1220에서 AP 310은 요청에 응답하여, 재생 정책(예: 동작 1130에 의해 결정된 재생 정책)에 기초하여 콘텐츠의 재생을 운영할 수 있다.
도 13은 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
동작 1310에서 AP 310은 다른 구성 요소로부터 콘텐츠의 스트리밍 재생의 요청을 수신할 수 있다. 동작 1320에서 AP 310은 요청에 응답하여, 네트워크의 속도를 측정할 수 있다. 동작 1330에서 AP 310은 측정된 네트워크 속도가 요청된 콘텐츠의 스트리밍 재생을 위해 유효한 값인지 여부를 결정할 수 있다. 측정된 속도가 유효한 값이면(예: 네트워크 속도 > 재생 요청된 콘텐츠의 최고 품질에서의 비트 전송율), 동작 1340에서 AP 310은 통신 모듈 320(예: 셀룰러 모듈 321) 및 디스플레이 360와 연동하여, 콘텐츠의 모든 구간의 스트리밍 재생을 고화질로 운영할 수 있다. 측정된 속도가 유효한 값이 아니면(예: 네트워크 속도 < 상기 비트 전송율), 동작 1350에서 AP 310은 셀룰러 모듈 321 및 디스플레이 360와 연동하여, 콘텐츠 재생 품질을 구간별로 차등적으로 조정할 수 있다. 예를 들어, AP 310은 비우선 구간의 경우 스트리밍 재생을 저화질로 운영하고 우선 구간의 경우 스트리밍 재생을 고화질로 운영할 수 있다. 동작 1360에서 AP 310은 스트리밍 재생의 종료 여부를 결정할 수 있다. 스트리밍 재생이 종료되지 않으면 프로세스는 동작 1320으로 진행될 수 있다. 스트리밍 재생이 종료되면 프로세스는 종료될 수 있다.
도 14는 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
동작 1410에서 AP 310은 다른 구성 요소로부터 콘텐츠의 스트리밍 재생의 요청을 수신할 수 있다. 동작 1420에서 AP 310은 요청에 응답하여, 재생 관련하여 사용자가 설정환 정보를 확인할 수 있다. 동작 1430에서 AP 310은 확인된 설정 정보에 대응되는 재생 모드(예: 기본 모드, 데이터 절약 모드, 시간 절약 모드 또는 자동 모드)로 스트리밍 재생을 운영할 수 있다.
도 15는 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
동작 1510에서 AP 310은 다른 구성 요소로부터 콘텐츠의 스트리밍 재생의 요청을 수신할 수 있다. 동작 1520에서 AP 310은 요청에 응답하여, 데이터 잔여량을 확인할 수 있다. 동작 1530에서 AP 310은 데이터 잔여량의 부족 여부를 결정할 수 있다. 데이터 잔여량이 충분하면(예: 데이터 잔여량 > 임계치 D-th1), 동작 1540에서 AP 310은 통신 모듈 320(예: 셀룰러 모듈 321) 및 디스플레이 360와 연동하여, 콘텐츠의 모든 구간의 스트리밍 재생을 고화질로 운영할 수 있다. 데이터 잔여량이 충분하지 않으면(예: 데이터 잔여량 < 임계치 D-th1), 동작 1550에서 AP 310은 데이터 잔여량의 고갈 여부를 결정할 수 있다. 데이터 잔여량이 고갈 상태가 아니면(예: 데이터 잔여량 > 임계치 D-th2(D-th2 < D-th1)), 동작 1560에서 AP 310은 비우선 구간의 경우 스트리밍 재생을 저화질로 운영하고 우선 구간의 경우 스트리밍 재생을 고화질로 운영할 수 있다. 데이터 잔여량이 고갈 상태이면(예: 데이터 잔여량 < 임계치 D-th2), 동작 1570에서 AP 310은 비우선 구간의 경우 콘텐츠의 오디오 재생을 운영하고 우선 구간의 경우 콘텐츠의 오디오 및 스크린샷 재생을 운영할 수 있다. 동작 1580에서 AP 310은 스트리밍 재생의 종료 여부를 결정할 수 있다. 스트리밍 재생이 종료되지 않으면 프로세스는 동작 1520으로 진행될 수 있다. 스트리밍 재생이 종료되면 프로세스는 종료될 수 있다.
도 16은 또 다른 실시예에 따른, 전자 장치(예: 전자 장치 301)의 콘텐츠 재생 방법을 설명하기 위한 흐름도이다.
동작 1610에서 AP 310은 외부 장치(예: 서버 106)으로부터 콘텐츠의 패킷을 다운로드하도록(예: 중요 구간의 패킷을 먼저 다운로드하도록) 통신 모듈 320을 제어할 수 있다.
동작 1620에서 AP 310은 상기 다운로드의 성능(DC: Download Capability)(예: bps)을 측정할 수 있다.
동작 1630에서 AP 310은 재생 관련하여 사용자가 설정한 정보를 확인(예: 메모리 330에 접근하여 설정 정보를 획득)할 수 있다. 한 실시예에 따르면, 설정 정보는 스크린샷/음성 모드, 저화질 모드, 고화질 모드 또는 HD(High Definition) 화질 모드일 수 있다.
동작 1640에서 AP 310은 설정 정보에 기초하여 사용자 요구 성능(UC: User demand Capability)(예: bps)을 결정할 수 있다.
동작 1650에서 AP 310은 다운로드 성능(DC)이 사용자 요구 성능(UC)을 만족하는지 여부를 결정할 수 있다. 만족하지 못하는 경우(예: UC ≥ DC), 동작 1655에서 AP 310은 결정된 사용자 요구 성능이 최저 요구 성능(예: 스크린샷/음성 모드에 해당되는 UC3)인지 여부를 확인할 수 있다. 동작 1655에서의 확인 결과 결정된 사용자 요구 성능이 최저 요구 성능인 경우 프로세스는 종료될 수 있다.
동작 1655에서의 확인 결과 결정된 사용자 요구 성능이 최저 요구 성능이 아닌 경우, 동작 1660에서 AP 310은 사용자 요구 성능을 한 단계 하향 조정한 후 동작 1650을 다시 수행할 수 있다. 예를 들면, 동작 1640에서 결정된 사용자 요구 성능이 'HD 화질 모드'에 해당되는 UC0인데, UC0 < DC인 경우, 사용자 요구 성능은 한 단계 낮은 UC1(예: 고화질 모드에 해당)로 결정될 수 있다.
동작 1650에서의 결정 결과 다운로드 성능(DC)이 사용자 요구 성능(UC)을 만족하는 경우, 동작 1670에서 AP 310은 다운로드된 패킷을 버퍼(예: 프레임 버퍼)에 저장할 수 있다.
동작 1680에서 AP 310은 버퍼에 저장된 량이 임계치(예: 버퍼에 저장 가능한 량의 10%)를 초과하는지 여부를 결정할 수 있다. "저장량 < 임계치"인 경우 프로세스는 동작 1670으로 진행될 수 있다.
"저장량 < 임계치"인 경우, 동작 1690에서 AP 310은 결정된 사용자 요구 성능(예: 고품질 모드에 해당되는 UC1)에 기초하여 스트리밍 재생을 운영(예: 고품질 모드로 스트리밍 재생)할 수 있다. 동작 1695에서 AP 310은 스트리밍 재생의 종료 여부를 결정할 수 있다. 스트리밍 재생이 종료되지 않으면 동작 1696에서 AP 310은 결정된 사용자 요구 성능이 최고 요구 성능(예: UC0)인지 여부를 결정할 수 있다. 최고 요구 성능이 아니면, 프로세스는 동작 1620으로 진행될 수 있다. 최고 요구 성능이면 프로세스는 동작 1695로 진행될 수 있다. 스트리밍 재생이 종료되면 프로세스는 종료될 수 있다.
어떠한 실시예에 따르면, 전자 장치에서 콘텐츠의 재생을 운영하는 방법은 상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 재생 관련 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 포함할 수 있다. 상기 재생 정책을 결정하는 동작은, 적어도 상기 데이터 잔여량에 기초하여 상기 재생 정책을 데이터 절약 모드로 결정하는 동작; 적어도 상기 재생 시간에 기초하여 상기 재생 정책을 시간 절약 모드로 결정하는 동작; 적어도 상기 네트워크 속도에 기초하여 상기 재생 정책을 품질 조정 모드로 결정하는 동작; 상기 설정 정보에 기초하여 상기 재생 정책을 상기 데이터 절약 모드, 상기 시간 절약 모드 및 상기 품질 조정 모드 중에서 하나로 결정하는 동작 중에서 적어도 하나를 포함할 수 있다. 상기 재생 정책을 상기 데이터 절약 모드로 결정하는 동작은, 상기 데이터 잔여량이 임계치보다 낮은 경우, 상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 품질 조정 모드, 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 및 상기 콘텐츠에서 일부 영상 프레임을 순차적으로 표시하고 상기 콘텐츠에서 음성 데이터를 다운로드하여 재생하는 음성 모드 중에서 하나로 결정하는 동작을 포함할 수 있다. 상기 재생 정책을 상기 시간 절약 모드로 결정하는 동작은, 상기 재생 시간이 임계치보다 낮은 경우(예: 상기 콘텐츠의 재생 시간이 총 1시간이고 만약 30분(임계치) 내에 재생 완료되도록 설정된 경우), 상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 상기 중요 구간을 상기 비 중요 구간보다 우선적으로 다운로드하여 재생하는 우선 모드 및 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 중에서 하나로 결정하는 동작을 포함할 수 있다. 상기 재생 정책을 상기 품질 조정 모드로 결정하는 동작은, 상기 네트워크 속도가 임계치보다 낮은 경우, 상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 품질 조정 모드로 결정하는 동작을 포함할 수 있다. 상기 중요 구간을 인식하는 동작은, 외부 장치로부터 상기 콘텐츠와 관련된 정보를 수신하는 동작 및 상기 수신된 정보에 기초하여 상기 중요 구간을 인식하는 동작을 포함할 수 있다. 상기 수신된 정보는 상기 콘텐츠와 관련된 통계 정보를 포함할 수 있다. 상기 중요 구간을 인식하는 동작은, 상기 통계 정보와 상기 전자 장치에 저장된 사용자 정보에 기초하여 상기 중요 구간을 인식하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시예에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 본 발명의 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 122)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서210에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 실시예에 따른 의 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.
101, 104: 전자 장치 106: 서버 110: 버스
120: 프로세서 130: 메모리
131: 커널 132: 미들웨어
133: 어플리케이션 프로그래밍 인터페이스(API)
134: 어플리케이션 140: 입출력 인터페이스
150: 디스플레이 160: 통신 인터페이스
162: 네트워크 170: 재생 모듈
210: 우선 재생 구간 인식 모듈
220: 획득 모듈 230: 정책 결정 모듈
240: 모드 운영 모듈
301: 전자장치 310: 어플리케이션 프로세서
330: 통신 모듈
324: SIM 카드
330: 메모리 332: 내장 메모리
334: 외장 메모리
340: 센서 모듈 350: 입력 장치
360: 디스플레이 모듈 370: 인터페이스
380: 오디오 모듈 391: 카메라 모듈
395: 전력 관리 모듈 396: 배터리
397 인디케이터 398: 모터

Claims (15)

  1. 전자 장치에서 콘텐츠의 재생을 운영하는 방법에 있어서,
    상기 콘텐츠의 중요 구간을 인식하는 동작;
    네트워크 속도, 데이터 잔여량, 재생 관련 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및
    상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 재생 정책을 결정하는 동작은,
    적어도 상기 데이터 잔여량에 기초하여 상기 재생 정책을 데이터 절약 모드로 결정하는 동작;
    적어도 상기 재생 시간에 기초하여 상기 재생 정책을 시간 절약 모드로 결정하는 동작;
    적어도 상기 네트워크 속도에 기초하여 상기 재생 정책을 품질 조정 모드로 결정하는 동작;
    상기 설정 정보에 기초하여 상기 재생 정책을 상기 데이터 절약 모드, 상기 시간 절약 모드 및 상기 품질 조정 모드 중에서 하나로 결정하는 동작 중에서 적어도 하나를 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 재생 정책을 상기 데이터 절약 모드로 결정하는 동작은, 상기 데이터 잔여량이 임계치보다 낮은 경우,
    상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 품질 조정 모드, 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 및 상기 콘텐츠에서 일부 영상 프레임을 순차적으로 표시하고 상기 콘텐츠에서 음성 데이터를 다운로드하여 재생하는 음성 모드 중에서 하나로 결정하는 동작을 포함하는 방법.
  4. 제 2 항에 있어서,
    상기 재생 정책을 상기 시간 절약 모드로 결정하는 동작은, 상기 재생 시간이 기 설정된 임계치보다 낮은 경우,
    상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 상기 중요 구간을 상기 비 중요 구간보다 우선적으로 다운로드하여 재생하는 우선 모드 및 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 중에서 하나로 결정하는 동작을 포함하는 방법.
  5. 제 2 항에 있어서,
    상기 재생 정책을 상기 품질 조정 모드로 결정하는 동작은, 상기 네트워크 속도가 임계치보다 낮은 경우,
    상기 재생 정책을, 상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 품질 조정 모드로 결정하는 동작을 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 콘텐츠의 재생의 요청을 수신하는 동작; 및
    상기 결정된 재생 정책에 기초하여 상기 콘텐츠를 재생하는 동작을 더 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 중요 구간을 인식하는 동작은,
    외부 장치로부터 상기 콘텐츠와 관련된 정보를 수신하는 동작; 및
    상기 수신된 정보에 기초하여 상기 중요 구간을 인식하는 동작을 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 수신된 정보는 상기 콘텐츠와 관련된 통계 정보를 포함하고,
    상기 중요 구간을 인식하는 동작은,
    상기 통계 정보와 상기 전자 장치에 저장된 사용자 정보에 기초하여 상기 중요 구간을 인식하는 동작을 포함하는 방법.
  9. 전자 장치에서 콘텐츠의 재생을 운영하는 방법에 있어서,
    상기 콘텐츠의 스트리밍 재생의 요청을 수신하는 동작;
    상기 요청에 응답하여 네트워크 속도를 측정하는 동작; 및
    상기 측정도 속도가 상기 임계치보다 작은 경우 상기 콘텐츠에서 비 중요 구간을 저화질로 스트리밍 재생하고 상기 콘텐츠에서 중요 구간을 고화질로 스트리밍 재생하는 동작을 포함하는 방법.
  10. 전자 장치에서 콘텐츠의 재생을 운영하는 방법에 있어서,
    상기 콘텐츠의 스트리밍 재생의 요청을 수신하는 동작;
    상기 요청에 응답하여 데이터 잔여량을 확인하는 동작;
    상기 데이터 잔여량이 제 1 임계치보다 낮고 제 2 임계치보다 높은 경우, 상기 콘텐츠에서 비 중요 구간을 저화질로 스트리밍 재생하고 상기 콘텐츠에서 중요 구간을 고화질로 스트리밍 재생하는 동작; 및
    상기 데이터 잔여량이 상기 제 2 임계치보다 낮은 경우, 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 순차적으로 표시하고 상기 콘텐츠에서 음성 데이터를 다운로드하여 재생하는 동작을 포함하는 방법.
  11. 콘텐츠를 수신하기 위한 통신 모듈;
    상기 콘텐츠 및 이의 재생과 관련된 설정 정보를 저장하는 메모리;
    상기 콘텐츠를 재생하기 위한 디스플레이 및 오디오 모듈; 및
    상기 통신 모듈, 상기 메모리, 상기 디스플레이 및 상기 오디오 모듈을 제어하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 콘텐츠의 중요 구간을 인식하는 동작; 네트워크 속도, 데이터 잔여량, 상기 설정 정보 및 상기 콘텐츠의 재생 시간 중에서 적어도 하나의 정보를 획득하는 동작; 및 상기 인식된 중요 구간 및 상기 확인된 정보 중에서 적어도 하나에 기초하여 상기 콘텐츠의 재생 정책을 결정하는 동작을 수행하도록 설정된 전자 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    적어도 상기 데이터 잔여량에 기초하여 상기 재생 정책을 데이터 절약 모드로 결정하는 동작;
    적어도 상기 재생 시간에 기초하여 상기 재생 정책을 시간 절약 모드로 결정하는 동작;
    적어도 상기 네트워크 속도에 기초하여 상기 재생 정책을 품질 조정 모드로 결정하는 동작;
    상기 설정 정보에 기초하여 상기 재생 정책을 상기 데이터 절약 모드, 상기 시간 절약 모드 및 상기 품질 조정 모드 중에서 하나로 결정하는 동작 중에서 적어도 하나를 수행하도록 설정된 전자 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는, 상기 데이터 잔여량이 임계치보다 낮은 경우,
    상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 품질 조정 모드, 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 및 상기 콘텐츠에서 일부 영상 프레임을 순차적으로 표시하고 상기 콘텐츠에서 음성 데이터를 다운로드하여 재생하는 음성 모드 중에서 하나를 상기 데이터 절약 모드로써 결정하는 동작을 수행하도록 설정된 전자 장치.
  14. 제 12 항에 있어서,
    상기 프로세서는, 상기 재생 시간이 기 설정된 임계치보다 낮은 경우,
    상기 콘텐츠에서 비 중요 구간의 재생을 생략하고 상기 중요 구간을 다운로드하여 재생하는 건너뛰기 모드, 상기 콘텐츠에서 상기 중요 구간을 상기 비 중요 구간보다 우선적으로 다운로드하여 재생하는 우선 모드 및 상기 콘텐츠에서 일부 영상 프레임들을 다운로드하여 재생하는 고배속 모드 중에서 하나를 상기 시간 절약 모드로써 결정하는 동작을 수행하도록 설정된 전자 장치.
  15. 제 12 항에 있어서,
    상기 프로세서는, 상기 네트워크 속도가 임계치보다 낮은 경우,
    상기 콘텐츠에서 비 중요 구간을 저품질로 다운로드하여 재생하고 상기 콘텐츠에서 상기 중요 구간을 고품질로 다운로드하여 재생하는 모드를 상기 품질 조정 모드로써 결정하는 동작을 수행하도록 설정된 전자 장치.
KR1020140059856A 2014-05-19 2014-05-19 콘텐츠 재생 방법 및 이를 구현하는 전자 장치 KR20150133037A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140059856A KR20150133037A (ko) 2014-05-19 2014-05-19 콘텐츠 재생 방법 및 이를 구현하는 전자 장치
US14/698,107 US9888277B2 (en) 2014-05-19 2015-04-28 Content playback method and electronic device implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140059856A KR20150133037A (ko) 2014-05-19 2014-05-19 콘텐츠 재생 방법 및 이를 구현하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20150133037A true KR20150133037A (ko) 2015-11-27

Family

ID=54539422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140059856A KR20150133037A (ko) 2014-05-19 2014-05-19 콘텐츠 재생 방법 및 이를 구현하는 전자 장치

Country Status (2)

Country Link
US (1) US9888277B2 (ko)
KR (1) KR20150133037A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190082578A (ko) * 2018-01-02 2019-07-10 엘지전자 주식회사 이동 단말기 및 그 제어 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3920598B1 (en) * 2015-09-24 2023-11-22 Assia Spe, Llc Method and apparatus to manage usage of an access point
KR102519902B1 (ko) * 2016-02-18 2023-04-10 삼성전자 주식회사 오디오 데이터를 처리하는 방법 및 이를 제공하는 전자 장치
US10958710B2 (en) * 2016-11-23 2021-03-23 Videri Inc. Display device reactive to wirelessly connected objects
US10713278B2 (en) * 2017-12-05 2020-07-14 Sap Se Flexible configuration of offline synchronization scope
CN108174243A (zh) * 2017-12-28 2018-06-15 广东欧珀移动通信有限公司 一种视频播放速率的调节方法、装置、存储介质及终端
CN109889918B (zh) * 2019-03-22 2020-12-29 清华大学深圳研究生院 一种教学视频播放速度的自适应调整方法
US11349904B2 (en) * 2019-04-03 2022-05-31 Citrix Systems, Inc. Selecting a mode of delivery to provide access to a file systems and methods

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125877A1 (en) * 2000-07-17 2004-07-01 Shin-Fu Chang Method and system for indexing and content-based adaptive streaming of digital video content
JP3852761B2 (ja) * 2002-05-14 2006-12-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、コンテンツ提供システム、端末装置及びコンテンツ送信方法並びにプログラム
US8028081B2 (en) 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US8806516B2 (en) * 2008-08-19 2014-08-12 Porto Technology, Llc Method and system for constructing and presenting a consumption profile for a media item
KR101243737B1 (ko) 2011-09-15 2013-03-13 주식회사에어플러그 버퍼링된 데이터량에 따라 이종망(異種網)들간에 사용망을 선택적으로 전환하면서 스트리밍 데이터를 수신하는 방법과 그 방법을 위한 장치
KR101922552B1 (ko) 2011-12-06 2018-11-29 삼성전자주식회사 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
KR20130088234A (ko) 2012-01-31 2013-08-08 (주)유라클 적응적 콘텐츠 제공장치 및 방법
US8407747B1 (en) 2012-03-13 2013-03-26 Google Inc. Adaptive trick play streaming
US8782727B1 (en) * 2012-04-04 2014-07-15 Google Inc. Adaptive video stream testing
US20140149562A1 (en) * 2012-11-29 2014-05-29 Verizon Patent And Licensing Inc. Method and system for providing user-based bandwidth management
US9544623B2 (en) * 2013-07-08 2017-01-10 The Trustees Of Princeton University Quota aware video adaptation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190082578A (ko) * 2018-01-02 2019-07-10 엘지전자 주식회사 이동 단말기 및 그 제어 방법

Also Published As

Publication number Publication date
US9888277B2 (en) 2018-02-06
US20150333951A1 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
KR20150133037A (ko) 콘텐츠 재생 방법 및 이를 구현하는 전자 장치
US9794441B2 (en) Electronic device using composition information of picture and shooting method using the same
US20150130705A1 (en) Method for determining location of content and an electronic device
KR20200074067A (ko) 이미지를 처리하는 전자장치 및 방법
KR102143871B1 (ko) 전자장치의 전원 제어장치 및 방법
US9386622B2 (en) Call service method and apparatus
US20150130685A1 (en) Displaying information on wearable devices
US9747945B2 (en) Method for creating a content and electronic device thereof
KR102294040B1 (ko) 데이터 송수신 방법 및 장치
US20150235366A1 (en) Method for processing image data and apparatus for the same
KR20150084541A (ko) 전원 관리 방법 및 그 방법을 처리하는 전자 장치
KR20150105802A (ko) 전자 장치의 비콘신호 제어방법 및 그 전자 장치
KR20160025059A (ko) 데이터 처리 방법 및 그 전자 장치
KR20160003450A (ko) 전자장치의 데이터를 공유하기 위한 방법 및 장치
US10747489B2 (en) Method for displaying content and electronic device therefor
KR20150124128A (ko) 전자 장치 및 이의 작업 연계 방법
KR20160001076A (ko) 데이터 관리 방법 및 그 방법을 처리하는 전자 장치
KR20150057309A (ko) 전자 장치의 방송 채널 정보 공유 방법 및 그 전자 장치
KR20150133509A (ko) 데이터 플로우 관리 방법 및 전자 장치
KR20160045441A (ko) 동영상 재생 방법 및 장치
KR20150116220A (ko) 미디어 스트리밍 방법 및 그 전자 장치
KR20160037019A (ko) 전자 장치, 그 제어 방법 및 기록 매체
KR20150059282A (ko) 데이터 처리 방법 및 그 전자 장치
KR102151705B1 (ko) 영상 획득 방법 및 그 방법을 처리하는 전자 장치
KR20150083703A (ko) 데이터 처리 방법 및 그 전자 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid