CN108464008B - 电子设备和由电子设备控制的内容再现方法 - Google Patents

电子设备和由电子设备控制的内容再现方法 Download PDF

Info

Publication number
CN108464008B
CN108464008B CN201780006246.1A CN201780006246A CN108464008B CN 108464008 B CN108464008 B CN 108464008B CN 201780006246 A CN201780006246 A CN 201780006246A CN 108464008 B CN108464008 B CN 108464008B
Authority
CN
China
Prior art keywords
content
electronic device
received
buffered
received content
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201780006246.1A
Other languages
English (en)
Other versions
CN108464008A (zh
Inventor
李钟赫
郑多熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108464008A publication Critical patent/CN108464008A/zh
Application granted granted Critical
Publication of CN108464008B publication Critical patent/CN108464008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/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/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/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种电子设备包括:通信器,被配置为经由网络从外部设备接收内容;显示器,被配置为在通信器正在接收内容的同时显示接收到的内容;处理器;以及存储器,存储可由处理器执行的一个或多个程序。所述一个或多个程序包括用于以下操作的指令:缓冲接收到的内容、将网络状态与内容的比特率进行比较以及基于比较结果确定何时开始再现内容。

Description

电子设备和由电子设备控制的内容再现方法
技术领域
根据示例性实施例的装置和方法涉及电子设备和由电子设备执行的内容再现方法,并且更具体地,涉及一种接收内容并确定是否开始再现接收到的内容的电子设备、以及一种由电子设备执行的内容再现方法。
背景技术
流传输服务涉及用于实时发送和利用数据的技术。根据流传输服务,用户可以在仅下载内容的一部分之后再现或回放内容,而无需下载全部内容。换言之,通过仅发送内容的一部分,即,仅发送实时观看视频所需的内容量来执行流传输。随着提供这种流传输服务的技术显著进步,实时互联网协议电视(IPTV)和视频点播(VOD)在数字媒体消费者中变得非常流行。特别地,随着移动设备得到更广泛的采用,经由无线网络在移动设备上对数字流传输服务的需求和使用正在飞速增长。
流传输服务很大程度上受网络条件的影响。由于网络使用频率、量和模式在不同用户间可能不同,网络的健康状况和条件(包括传输速率、延迟和错误率)可能因时间和地点而大不相同。特别地,因为用于移动装置的流传输服务依赖于无线网络并且无线网络可能会因环境因素出现衰落或干扰,因此与有线网络相比,在无线网络上流传输的质量可能波动更大。
为了在次优网络条件下提供可靠的流传输服务,可能需要缓冲来减轻网络性能不稳定的一些负面影响。缓冲是当从第一装置向第二装置发送数据并且在第一装置和第二装置之间存在数据处理速度的差异时临时存储多余数据的方法。缓冲用于所有类型的计算机***。
对于媒体流,在内容被再现之前,通过预先接收并存储一定量的内容来执行缓冲。通过执行缓冲,如果网络速度瞬间降低,则可以再现所存储的内容。相反,如果网络速度再次提升,则可以存储任何不能立即再现的多余数据,然后根据需要进行再现。
通常,电子设备可以在缓冲一定量的数据时开始再现内容数据。因此,根据网络条件,用户可能无法长时间观看视频。
发明内容
问题的解决方案
示例性实施例提供了用于根据网络情况自适应地确定是否开始再现接收到的内容的设备和方法。
发明的有益效果
根据本公开的各种实施例,电子设备可以基于网络情况自适应地确定是否开始再现流传输的内容。
附图说明
从以下结合附图对示例性实施例的描述中,上述和/或其它方面将变得显而易见并且更容易理解,其中:
图1示出了根据示例性实施例的用于流传输服务的***的框图;
图2是根据示例性实施例的网络环境中的电子设备的示意图;
图3是根据示例性实施例的程序模块的框图;
图4是根据示例性实施例的用于解释缓冲概念的图;
图5是根据示例性实施例的流传输***的框图,在该***中电子设备基于数据下载速度开始内容再现;
图6是根据示例性实施例的由电子设备执行的根据网络状态再现接收到的内容的方法的流程图;
图7是根据示例性实施例的由电子设备执行的当电子设备和服务器彼此发送或接收内容时根据网络状态播放接收到的内容的方法的流程图;
图8是根据本公开的实施例由电子设备执行的根据接收到的内容的容量和接收内容所用的时间段来再现接收到的内容的方法的流程图;
图9是根据示例性实施例的由电子设备执行的当电子设备和服务器彼此发送或接收内容时根据接收到的内容的下载时间再现接收到的内容的方法的流程图;
图10是示出根据示例性实施例的用于内容再现所需的各个缓冲时间的表;以及
图11是根据本公开实施例的电子设备的框图。
具体实施方式
示例性实施例提供了用于根据网络情况自适应地确定是否开始再现接收到的内容的设备和方法。
根据示例性实施例的一个方面,一种电子设备包括:通信器,被配置为经由网络从外部设备接收内容;显示器,被配置为在通信器正在接收内容的同时显示接收到的内容;处理器;以及存储器,存储可由处理器执行的一个或多个程序。所述一个或多个程序可以包括指令,用于:缓冲接收到的内容、将网络状态与内容的比特率进行比较以及基于比较结果确定何时开始再现内容。
所述一个或多个程序还可以包括指令,用于:将经缓冲的内容能够再现的时间段与接收内容所用的时间段进行比较,以及基于比较结果确定何时开始再现内容。
通信器可以接收具有第一比特率的第一内容项目和具有第二比特率的第二内容项目中的至少一个,其中第一内容项目和第二内容项目具有相同的主题。第一比特率可以不同于所述第二比特率。
所述一个或多个程序还可以包括指令,用于:对从外部设备接收到的内容的下载速度与内容的比特率进行比较。
所述一个或多个程序还可以包括指令,用于:响应于接收到的内容的下载速度高于所述内容的比特率,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并具有与接收到的内容的比特率不同的比特率。
所述一个或多个程序还可以包括指令,用于:响应于接收到的内容的下载速度高于所述内容的比特率,开始再现接收到的内容。
所述一个或多个程序还可以包括指令,用于:响应于经缓冲的内容能够再现的时间段大于接收所述内容所用的时间段,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并具有与接收到的内容的比特率不同的比特率。
所述一个或多个程序还可以包括指令,用于:响应于经缓冲的内容能够再现的时间段大于接收所述内容所用的时间段,开始再现接收到的内容。
根据示例性实施例的一个方面,一种由电子设备控制的再现从外部设备接收的内容的方法,包括:经由网络从外部设备接收内容;缓冲接收到的内容;将接收到的内容的比特率与网络状态进行比较;以及根据比较结果确定何时开始再现接收到的内容。
所述方法还可以包括:当网络的当前带宽的比特率高于接收到的内容的比特率时,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并且具有与接收到的内容的比特率不同的比特率。
确定可以包括:当网络的当前带宽的比特率高达接收到的内容的比特率时,开始再现接收到的内容。
所述方法还可以包括:将经缓冲的内容能够再现的时间段与接收内容所用的时间段进行比较,以及还基于比较结果确定何时开始再现接收到的内容。
将经缓冲的内容能够再现的时间段与接收内容所用的时间段进行比较可以包括:确定经缓冲的内容能够再现的时间段是否大于接收内容所用的时间段;以及请求外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并且具有与接收到的内容的比特率不同的比特率。
比较可以包括:当经缓冲的内容能够再现的时间段大于接收内容所用的时间段时,开始再现接收到的内容。
根据示例性实施例的一个方面,一种非暂时性计算机可读记录介质,其上记录有用于执行由电子设备控制的实时再现从外部设备接收的内容的方法的程序,所述方法包括:经由网络从外部设备接收内容;缓冲接收到的内容;将接收到的内容的比特率与网络的当前比特率进行比较;以及根据比较结果确定何时开始再现接收到的内容。
下文中,将参照附图来描述各种示例实施例。然而,这不旨在将本公开限制为具体实施方式,而是应清楚,本公开涵盖不脱离本公开的精神和技术范围的所有修改、等同物和/或替代。相同的附图标记表示相同的元件。
在本公开中,应理解,诸如“包括”、“具有”等的术语旨在指示存在特征(例如,数字、功能、操作或组件,例如部件),而不旨在排除可能存在或可能添加一个或多个其它特征。
如在本公开中所使用的,术语“A或B”、“A和/或B中的至少一个”和“A和/或B中的一个或多个”可以包括列出的项目中的任何一个以及项目的至少一个组合的全部。例如,“A或B”、“A和B中至少一项”或“A或B中至少一项”可以包括:(1)至少一个A,(2)至少一个B,或(3)至少一个A和至少一个B。
尽管可以使用诸如“第一”、“第二”等术语来描述各种组件,但是这些组件不必限于上述术语。上述术语仅用于将一个组件与另一组件区分开来。例如,第一用户设备和第二用户设备可以表示不同的用户设备,而与顺序或重要性无关。例如,在不背离本公开教导的情况下,下面讨论的第一组件可以被称为第二组件,并且类似地,第二组件也可以被称为第一组件。
当将组件(第一组件)“与”另一组件(第二组件)“可操作性地或可通信地耦接”/“可操作性地或可通信地耦接到”另一组件(第二组件)或“连接到”另一组件(第二组件)时,所述第一组件可以直接连接到第二组件,或通过其他组件(第三组件)连接。另一方面,当第一组件“与”第二组件“直接耦接”/“直接耦接到”第二组件或“直接连接到”第二组件时,在第一组件与第二组件之间不存在其他组件。
根据情况,在本公开中使用的表述“被配置为(或设置为)”可以与以下各项交换使用:例如,“适用于”、“具有......的能力”、“设计用于”、“适于”、“制作用于”或“能够......”。表述“被配置为(或设置为)”可以不仅指在硬件方面“专门设计用于”。相反,在一些情况下,表述“设备被配置为”可以指该设备与另一个设备或部件一起“能够......”的情况。例如,短语“被配置为(或设置为)执行A、B和C的处理器”可以是用于执行A、B和C的专用处理器(例如,嵌入式处理器)、或通过执行存储在存储器设备中的至少一个软件程序来执行A、B和C的通用处理器(例如,中央处理单元(CPU)或应用处理器(AP))。
本公开中使用的术语仅用于描述具体实施例,并不旨在限制本公开。单数形式的表述可以涵盖复数表述,除非在上下文中具有明确的不同的意义。除非另外定义,否则这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员通常所理解的含义相同的含义。还将理解,在常用词典中定义的术语应被解释为其含义与在相关技术的上下文中的其含义相同或相似,而不应被解释为理想的或过于正式的意义,除非本文中明确如此定义。在一些情况下,本文中定义的术语可以不被解释为排除本公开的实施例。
根据各种实施例的电子设备可以包括以下至少一项:例如,智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器、台式PC、膝上型PC、上网本计算机、工作站、服务器、个人数字助手(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗设备、相机和可穿戴设备,但是不限于此。根据各种示例性实施例,可穿戴设备可以包括以下至少一项:饰品类型可穿戴设备(例如,手表、戒指、手链、脚链、项链)、眼镜、隐形眼镜、头戴式设备(HMD)、衣料或服饰集成类型穿戴设备(例如,电子服装)、身体附着类型可穿戴设备(例如,皮肤贴或纹身)和身体植入类型可穿戴设备(例如,可植入电路),但是不限于此。
根据一些实施例,电子设备可以是家用电器。家用电器可以包括以下至少一项:例如电视(TV)、数字视频盘(DVD)播放器、音频播放器、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动控制面板、安全控制面板、TV盒(例如,Samsung
Figure BDA0001725421160000061
)、视频游戏机、电子词典、电子钥匙、摄像机和电子相框,但是不限于此。
根据其他实施例,电子设备可以包括以下至少一项:各种医疗设备(例如,各种便携式医疗测量设备(例如,血糖测量设备、心跳测量设备、血压测量设备和体温计)、核磁共振血管造影(MRA)、核磁共振成像(MRI)、计算机断层扫描(CT)和超声波机器)、导航设备、全球导航卫星***(GNSS)、事件数据记录仪(EDR)、飞行数据记录仪(FDR)、车载信息娱乐设备、海上电子设备(例如,海上导航设备或陀螺罗盘)、航空电子设备、安全设备、车辆头单元、工业或家用机器人、自动柜员机(ATM)、销售点(POS)和物联网(例如,灯泡、各种传感器、电表或燃气表、洒水器、火警、恒温器、街灯、烤面包机、运动器材、热水箱、加热器和锅炉),但是不限于此。
根据一些实施例,电子设备可以包括家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪和/或各种测量仪器(例如,水表、电表、燃气表或电子测波计),但是不限于此。电子设备可以是以上列出的设备的组合。
电子设备还可以是柔性电子设备。电子设备不限于以上列出的设备,并且可以包括根据新技术发展的新电子设备。
图1示出了根据示例性实施例的用于流传输服务的***1的框图。
如图1所示,为了使***1提供流传输服务,服务器110可以经由网络120向电子设备100发送内容。不同于首先接收全部内容然后开始对接收到的内容进行再现(回放)的下载方法,流传输服务通过仅从服务器110接收实时再现内容所需的内容量来执行。本文中,实时再现/播放内容可以意味着在整个内容被接收并被本地存储之前执行内容的再现/回放。因此,在正在进行再现/回放的同时,内容的一部分仍然可以被下载和/或缓冲。然而,由于从服务器110接收内容的速度可能不同于由电子设备100再现内容的速度,所以可以执行缓冲以无缝地提供流传输服务。
电子设备100可以接收用于缓冲的内容数据并且将接收到的内容数据存储在缓冲器103中。电子设备100可以从缓冲器103读取内容数据以再现内容数据,并且再现内容数据。
缓冲器103可以是存储器缓冲器、磁盘缓冲器、和/或以任何可用作缓冲器的存储介质实现的缓冲器。
在本公开中,内容下载速度是指从服务器110接收内容或数据的速度,并且可以与网络带宽、网络速度、内容被存储(即,写入)在存储单元或缓冲器103中的速度等同义。内容下载速度可以以每秒比特数(bit/s、b/s、bps)、每秒字节数(B/s)、波特(Bd)等来表示。内容下载速度可以表示由电子设备100测量的网络速度。
在本公开中,内容再现(回放)速度是指在每个预定时间段数据被处理以再现(播放)内容(例如视频)的速率,并且表示内容或数据在电子设备100中被再现(播放)的速度。内容再现速度可以与内容比特率或从存储单元或缓冲器103读取内容或数据的速度同义。内容再现速度可以以每秒比特数(bit/s、b/s、bps)、每秒字节数(B/s)、波特(Bd)等来表示。
关于在图1中示为***1的流传输***,为了提供平滑的流传输服务,电子设备100可以在开始内容再现之前缓冲一定量的要再现的内容之后,开始内容的再现。由于网络条件可能不断变化,即使当电子设备100在开始再现之前通过执行缓冲来提供流传输服务时,再现也可能被中断。因此,如果再现被停止,则电子设备100可以通过在再现被恢复之前缓冲一定量的内容来提供流传输服务。在本公开中,“在开始再现之前”可以包括“在第一次开始再现之前”或“在再现被停止之后的恢复再现之前”。
然而,在执行缓冲的同时,用户可能不得不在再现停止的状态中等待。因此,需要最小化再现停止和缓冲产生的次数。最小化缓冲的一种方法是在开始再现之前缓冲要再现的所有内容。然而,在开始再现之前缓冲要再现的所有内容与下载方法并无不同,并且在这种情况下,用户需要等待直到所有内容被缓冲为止。因此,需要确定要缓冲的数据量,使得再现停止和缓冲产生的次数被最小化,并且用户的等待时间被最小化。
电子设备100可以设置优化的缓冲量。当经缓冲的内容的量等于或大于预定缓冲量时,电子设备100可以开始再现内容。备选地,当经缓冲的内容可再现的时间段等于或大于预定持续时间时,电子设备100可以开始再现内容。电子设备100可以基于内容再现速度和网络速度来确定内容再现开始时间点。
图2是根据示例性实施例的网络环境200中的电子设备201的框图。可以在图2的网络环境200中实现上述流传输服务。网络环境200可以包括图1的网络120。电子设备201可以是图1的电子设备100。
参考图2,电子设备201可以包括总线210、处理器220、存储器230、输入/输出(I/O)接口250、显示器260和通信接口270。根据示例性实施例,电子设备201可以不包括一个或多个上述组件,或者可以包括其他附加组件。
总线210可以例如将处理器220、存储器230、I/O接口250、显示器260和/或通信接口270彼此连接。总线210可以包括用于向处理器220、存储器230、I/O接口250、显示器260和通信接口270发送信息(例如,控制消息和/或数据)并从处理器220、存储器230、I/O接口250、显示器260和通信接口270接收信息(例如,控制消息和/或数据)的电路。
处理器220可以包括以下项中的一个或多个:中央处理单元(CPU)、应用处理器(AP)和/或通信处理器(CP)。处理器220可以控制电子设备201的至少一个组件和/或执行与通信或数据处理相关的操作。
处理器220可以执行存储在存储器230中的至少一个程序。处理器220可以缓冲经由网络262接收到的内容,实时再现经缓冲的内容,将网络262的状态与内容的比特率进行比较,并基于比较的结果来确定何时开始内容的再现。例如,处理器220可以将内容下载速度与接收到的内容的比特率进行比较,并且当内容下载速度高于接收到的内容的比特率时,处理器220可以开始内容的再现。
处理器220可以将经缓冲的内容可再现的时间段与接收经缓冲的内容所用的时间段进行比较,并因此可以确定何时开始内容的再现。例如,当经缓冲的内容可再现的时间段大于接收经缓冲的内容所用的时间段时,处理器220可开始内容的再现。
存储器230可以是易失性和/或非易失性存储器。存储器230可以存储例如与电子设备201的至少一个组件相关的命令或数据。根据示例实施例,存储器230可以存储软件和/或程序240。程序240可以包括例如内核241、中间件243、应用编程接口(API)245和/或应用程序(即,应用)247。内核241、中间件243和API 245中的至少一些可以被称作操作***(OS)。
内核241可以例如控制或管理用于执行在其他程序(例如,中间件243、API 245和应用程序247)中实现的操作或功能的***资源(例如,总线210、处理器220和存储器230)。当中间件243、API 245或应用程序247访问电子设备201的单独组件时,内核241可以提供用于控制或管理***资源的接口。
中间件243可以例如操作为API 245或应用程序247的中继器,以与内核241通信以交换数据。
此外,中间件243可以根据优先级处理从应用程序247接收到的至少一个操作请求。例如,中间件243可以向从应用程序247接收到的至少一个操作请求分配使用电子设备201的***资源(例如,总线210、处理器220或存储器230)的优先级。例如,中间件243可以根据所分配的优先级处理操作请求,以针对操作请求执行调度或负载均衡。
API 245是例如使得应用程序247控制由内核241或中间件243提供的功能的接口,并且例如可以包括用于控制文件、控制窗口、处理图像或控制字符的至少一个接口或功能(例如,命令)。
I/O接口250可以例如操作为能够向电子设备201的至少一个组件发送从用户或外部设备输入的命令或数据的接口。此外,I/O接口250可以向用户或外部设备输出从电子设备201的至少一个组件接收的命令或数据。
显示器260可以以例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、微机电***(MEMS)显示器、电子纸显示器等来实现,但是不限于此。显示器260可以例如向用户显示各种类型的内容(例如文本、图像、视频、图标或符号)。显示器260可以包括触摸屏,并且例如可以接收通过使用电子笔或用户的身体部位进行的触摸、手势、接近或悬停输入。显示器260可以实时显示内容。
通信接口270可以建立电子设备201与外部设备(例如,第一外部电子设备202、第二外部电子设备204或服务器206)之间的通信。例如,通信接口270可以通过经有线或无线通信的网络262来与外部设备(例如,第二外部电子设备204或服务器206)进行通信。
通信接口270可以从连接到网络262的外部设备或服务器接收内容。通信接口270可以从外部设备或服务器接收包括相同内容但具有不同的比特率的第一内容项目和第二内容项目之一。本文描述的比特率可以指编码比特率,该比特率是用来表示诸如音频或视频的连续流媒体的每单位再现/回放时间所使用的比特数。
无线通信可以例如使用诸如以下项的蜂窝通信协议:长期演进(LTE)、高级LTE(LTE-A)、码分多址(CDMA)、宽带CDMA(WCDMA)、通用移动电信***(UMTS)、无线宽带(WiBro)和/或全球移动通信***(GSM)。此外,无线通信可以包括短距离通信264。短距离通信264可以包括例如Wi-Fi、蓝牙、近场通信(NFC)和/或全球导航卫星***(GNSS)。根据区域或带宽,GNSS可以包括以下至少一项:全球定位***(GPS)、Glonass(俄罗斯全球导航卫星***)、北斗导航卫星***(BDS)和伽利略***(欧洲基于全球卫星的导航***)。本文中,“GPS”和“GNSS”可以互换使用。有线通信可以包括通用串行总线(USB)、高清多媒体接口(HDMI)、推荐标准232(RS-232)和/或普通老式电话服务(POST)。网络262可以包括电信网络,诸如计算机网络、局域网(LAN)、广域网(WAN)、互联网和/或电话网络。
第一外部电子设备202和第二外部电子设备204中的每一个可以是与电子设备201相同或不同的类型。根据示例实施例,服务器206可以包括具有一个或多个服务器的组。根据一些实施例,由电子设备201执行的全部或部分操作可以由一个或多个电子设备(例如,第一外部电子设备202和第二外部电子设备204)或服务器来执行。根据示例性实施例,当电子设备201需要自动地或基于请求执行功能或服务时,作为由电子设备201执行功能或服务的替代或附加,电子设备201可以请求另一设备(例如,第一外部电子设备202或第二外部电子设备204、或服务器206)执行至少一些相关功能或服务。其他设备(例如,第一外部电子设备202或第二外部电子设备204、或服务器206)可以执行所请求的功能或者附加功能,并且可以向电子设备201发送执行所请求的功能或者附加功能的结果。然后,电子设备201无改变地提供接收到的结果,或者通过附加地处理接收到的结果来提供所请求的功能或服务。为此目的,可以使用例如云计算技术、分布式计算技术或客户端-服务器计算技术。
图3是根据示例性实施例的程序模块310的框图。可以使用包括在电子设备100中的程序模块310来实现上述流传输服务。
如图3所示,程序模块310(例如,程序240)可以包括对与电子设备201相关的资源进行控制的OS和/或在OS上驱动的各种应用(例如,应用程序247)。OS可以是例如Android、iOS、Windows、Symbian、Tizen、或Bada。
程序模块310可以包括内核320、中间件330、API 360和/或应用370。程序模块310的至少一部分可以预先加载到电子设备上,或者可以从外部电子设备(例如,第一外部电子设备202或第二外部电子设备204、或服务器206)下载。
内核320(例如,内核241)可以包括***资源管理器321和/或设备驱动器323。***资源管理器321可以控制、分配或恢复***资源。根据示例性实施例,***资源管理器321可以包括进程管理器、存储器管理器或文件***管理器。设备驱动器323可以包括例如显示器驱动器、相机驱动器、蓝牙驱动器、共享存储器驱动器、USB驱动器、键区驱动器、Wi-Fi驱动器、音频驱动器或进程间通信(IPC)驱动器。
中间件330可以提供应用370共同需要的功能,或者可以通过API 360向应用370提供各种功能,使得应用370有效地使用电子设备的有限***资源。根据示例性示例实施例,中间件330(例如,中间件243)可以包括:运行时间库353、应用管理器341、窗口管理器342、多媒体管理器343、资源管理器344、电源管理器345、数据库管理器346、包管理器347、连接管理器348、通知管理器349、位置管理器350、图形管理器351和/或安全管理器352。
运行时间库353可以包括例如由编译器使用的库模块,以便在执行应用370的同时通过编程语言额外地包括新的功能。运行时间库353可以执行I/O管理、存储器管理或算术函数。应用管理器341可以管理例如至少一个应用370的生命周期。窗口管理器342可以管理在屏幕上使用的图形用户界面(GUI)资源。
多媒体管理器343可以确定再现或回放各种媒体文件所需的格式,并可以通过使用适合于该格式的编解码器对媒体文件执行编码或解码。多媒体管理器343还可以对上述流传输***中接收到的内容执行编码或解码。多媒体管理器343可以基于网络状态来选择要由服务器接收的内容。这将在下文中详细地描述。
资源管理器344可以管理资源,例如应用370中的至少一个应用的源代码、存储器或存储空间。电源管理器345可以通过与基本输入/输出***(BIOS)一起操作来管理电池或电源,并且可以提供操作电子设备所需的电力信息等。数据库管理器346可以产生、搜索或改变要由应用370中的至少一个应用使用的数据库。
包管理器347可以安装或更新以包文件形式分发的应用。连接管理器348可以管理无线连接,例如Wi-Fi或蓝牙。通知管理器349可以以不干扰用户的方式来指示或通知事件(例如,到达消息、计划约定或接近通知)。
位置管理器350可以管理电子设备的位置信息。
图形管理器351可管理要提供给用户的图形效果或与图形效果相关的用户界面。安全管理器352可以提供***安全或用户认证所需的所有安全功能。根据实施例,当电子设备(例如,电子设备101)包括电话功能时,中间件330还可以包括电话管理器,用于管理电子设备的语音或视频呼叫功能。
中间件330可以包括形成上述组件的各种功能的组合的中间件模块。中间件330可以根据OS的类型提供专门化的模块,以提供差异化的功能。此外,中间件330可以动态删除一些组件,或可以添加新组件。
API 360(例如,API 245)是例如一组API编程功能,且可以根据不同的OS以不同配置来提供。例如,在Android或iOS的情况下,可以根据平台提供一个API集,在Tizen的情况下,可以根据每个平台提供至少两个API集。
应用370(例如,应用程序247)可以包括能够提供功能的至少一个应用,例如,主页功能371、拨号盘功能372、短消息服务(SMS)/多媒体消息服务(MMS)功能373、即时消息(IM)功能374、浏览器功能375、相机功能376、闹钟功能377、联系人功能378、语音拨号功能379、电子邮件功能380、日历功能381、媒体播放器功能382、相册功能383、时钟功能384、健康护理功能(例如,监测运动或血糖量)、和环境信息提供功能(例如,气压、湿度或温度)。
根据示例性实施例,媒体播放器382可以再现/播放由上述流传输***之一接收到的内容。例如,媒体播放器382可以读取并再现/播放存储在缓冲器103中的内容数据。
应用370可以支持在电子设备(例如,电子设备100)和外部电子设备(例如,第一外部电子设备202或第二外部电子设备204)之间进行信息交换(下文中,为了方便描述,称为“信息交换应用”)。例如,信息交换应用可以包括用于向外部电子设备发送特定信息的通知中继应用或者用于管理外部电子设备的设备管理应用。
例如,通知中继应用可以包括用于向外部电子设备(例如,电子设备202或204)中继从电子设备的另一应用(例如,SMS/MMS应用、电子邮件应用、健康护理应用或环境信息应用)产生的通知信息的功能。通知中继应用可以从外部电子设备接收通知信息,并可以将接收到的通知信息提供给用户。
设备管理应用可以管理(例如,安装、删除或更新)与电子设备通信的外部电子设备(例如,外部电子设备202或204)的至少一个功能。所述至少一个功能的示例包括:开启/关闭外部电子设备(或其一些组件)、调整亮度或分辨率、调整显示器、以及操作外部电子设备中的应用或由外部电子设备提供的服务(例如,呼叫服务或消息服务)。
根据示例性实施例,应用370可以是根据外部电子设备(例如,第一外部电子设备202或第二外部电子设备204)的属性而分配的应用(例如,移动医疗设备的健康管理应用)。应用370可以包括从外部电子设备(例如,服务器206、或第一外部电子设备202或第二外部电子设备204)接收到的应用。应用370可以是预加载的应用或可从服务器下载的第三方应用。程序模块310的组件的名称可以根据OS的类型而变化。
根据一些示例性实施例,图3和其他图中所示的各种组件(包括图3的程序模块310)可以通过软件、固件、硬件或其组合来实现。程序模块310的至少一部分可以由例如处理器220的处理器来实现(即,执行)。程序模块310的至少一部分可以包括用于执行至少一个功能的模块、程序、例程、指令集或进程。
图4是根据示例性实施例的用于解释缓冲概念的图。可以在上述流传输***中实现图4中所示的缓冲。
在图4中,水平线表示以比特流表示的内容数据的总大小。在本公开中,内容数据的总大小可以是未被再现/未被播放的内容数据的总量。例如,内容数据的总大小可以与相应内容数据的文件大小一致。
缓冲开始时间是指存储在缓冲器中的数据在再现期间完全耗尽并且因此需要额外缓冲的时间点,或者是指在可以启动内容的再现之前需要缓冲的时间点。假设从缓冲开始时间接收到的内容是Q,则Q可以表示内容的总大小。
为了提供平滑的流传输服务,如果在开始内容再现之前需要缓冲,则需要确定要缓冲的数据量,然后接收该数据量以开始内容的再现。在图4中,Q1对应于要被缓冲的数据量。电子设备100可以在缓冲了量Q1之后开始再现。
Q2对应于在经缓冲的内容数据量Q1被再现的同时从网络接收的内容数据量。类似地,Q3对应于在内容数据量Q2被再现的同时从网络接收的内容数据量。可以重复这样的处理直到执行整个内容数据被再现为止。
如上所述,在流传输服务中,当电子设备100从服务器接收一定量或更多的数据时,内容再现可以开始。现在将描述根据本公开的实施例的即使当电子设备100未从服务器接收一定量或更多的数据时,基于数据接收环境开始内容再现的方法。
图5是根据示例性实施例的流传输***5的框图,其中电子设备通过将数据下载速度与内容的比特率进行比较来开始内容再现。
如图5所示,电子设备100可以包括作为应用510的一部分的媒体播放器511。媒体播放器511可以是图3的媒体播放器382。电子设备100可以包括多媒体管理器521,其是中间件520的一部分。多媒体管理器521可以是图3的多媒体管理器343。
媒体播放器511是能够再现多媒体内容的程序。例如,媒体播放器511可以是例如在再现多媒体内容的浏览器内显示的网页,或者可以是视频播放器。
多媒体管理器521可以包括自适应流传输引擎522和缓冲器523。然而,实施例不限于此,并且多媒体管理器521可以包括用于媒体再现所需的其他组件,诸如多路复用器、解复用器、编码器等。
自适应流传输引擎522可以在从服务器540接收内容的同时连续地检查服务器540和电子设备100之间的网络带宽状态,以便接收适合于网络530的状况的内容。
因此,自适应流传输引擎522可以通过根据网络速度选择适当的内容来使服务质量多样化。自适应流传输引擎522可以改善网络带宽和流传输服务的稳定性。
自适应流传输引擎522可以是例如标准的基于超文本传输协议(HTTP)的流传输协议。自适应流传输引擎522可以经由HTTP向电子设备100发送流数据、包含内容再现列表的文件以及包括内容的多个文件。
在自适应流传输引擎522中,因为仅需要服务器540经由HTTP从电子设备100接收数据下载或流传输请求并且响应该请求,所以任何能够读取存储的文件并经由HTTP响应发送数据的网络服务器可以用作服务器540。
服务器540可以以规则的时间间隔将媒体数据分成多个文件并且可以产生能够访问这些文件的元数据。元数据可以是前述的内容再现列表。
在自适应流传输引擎522中,服务器540可以包括可以代表整个内容的元数据文件。代表性元数据文件可以包括用于比特率的各个播放列表文件。针对每个比特率的播放列表文件可以包括与每个比特率相对应的多个分割的(即,分段的)视频文件。
因此,自适应流传输引擎522可以通过根据服务器540和电子设备100之间的网络速度选择适当的内容来使服务质量多样化。
当设备向另一设备发送数据时,缓冲器523可以用于通过补偿两个设备的数据传输速度或处理速度之间的差异来降低这两个设备之间的性能差距。一般来说,在CPU与终端或另一I/O设备之间的数据发送或接收期间,缓冲器可以用作I/O区域。服务器540可以存储各种类型的内容,例如视频、静止图像和文档。在流传输***5中,服务器540可以针对相同类型的内容存储具有不同容量的多条内容。
服务器540可以将单个视频文件复制并存储到具有相同内容但具有不同比特率的多个视频文件中。由于随着视频比特率的增加,视频包括更多的信息,因此图像质量可以提高。然而,随着比特率的增加,视频文件的大小也会增加。例如,具有500kbps比特率的视频文件可能具有450kb的文件大小,具有相同内容但具有2000kbps比特率的另一视频文件可能具有1770kb的文件大小,而具有6000kbps比特率的又一视频文件可能具有5200kb的文件大小。
电子设备100可以根据各种状况和网络条件,选择性地向服务器540请求具有低比特率的视频或者具有高比特率的视频,并且可以从服务器540接收所请求的视频。
关于图5的流传输***5,当从服务器540接收到一定量的数据时,媒体播放器511可以开始再现内容。例如,当从服务器540缓冲的数据量等于或大于10MB或缓冲数据可再现的时间段等于或大于10秒时,媒体播放器511可开始再现内容。
自适应流传输引擎522可以根据网络530的状况,选择性地从服务器540接收内容或请求媒体播放器511再现接收到的内容。缓冲器523可以基于接收到的数据量和数据被接收的时间段,选择性地从服务器540接收内容或请求媒体播放器511再现接收到的内容。
现在将详细描述自适应流传输引擎522和缓冲器523请求再现接收到的内容的操作。
图6是根据示例性实施例的由电子设备100执行的根据网络状态再现接收到的内容的方法的流程图。
在操作610中,电子设备100可以请求外部电子设备(例如,服务器540)发送内容。内容可以被流传输到电子设备100。当接收到大小等于或大于阈值大小的内容或接收到的内容的可用再现时间等于或大于阈值持续时间时,电子设备100可以开始再现接收到的内容。然而,实施例不限于此。
在操作620中,电子设备100可以接收具有低比特率的内容。接收到的内容可以存储在缓冲器523中。在操作630中,电子设备100可以将接收到的内容的比特率(例如,编码率)与当前网络带宽的比特率(例如,数据传输率)进行比较。在操作640中,当当前网络带宽的比特率高于接收到的内容的比特率时,电子设备100可以请求服务器540发送具有高比特率的内容。在操作660中,当根据当前网络带宽的比特率不高于接收到的内容的比特率时,电子设备100可以根据预定内容再现(回放)条件再现接收到的内容。
在操作650中,当电子设备100从服务器540接收具有高比特率的内容时,电子设备100可以开始播放接收到的内容。换言之,即使当内容的大小小于阈值大小并且即使当接收到的内容的可用再现时间小于阈值持续时间时,电子设备100也可以开始再现接收到的内容。
图7是根据示例性实施例的由电子设备100执行的当电子设备100和服务器540彼此发送或接收内容时根据网络状态再现接收到的内容的方法的流程图。
在操作710中,电子设备100可以请求服务器540发送内容。在操作720中,响应于来自电子设备100的请求,服务器540可以向电子设备100发送具有低比特率的内容。可以以流传输形式(即,同时下载和再现/回放)发送内容,如上参考图4所示。
在操作730中,电子设备100可以将接收到的内容的比特率与当前网络带宽的比特率进行比较。在操作740中,当当前网络带宽的比特率高于接收到的内容的比特率时,电子设备100可以请求服务器540发送具有更高比特率的内容。
在操作750中,服务器540可以向电子设备100发送在内容方面与发送的内容相同但比发送的内容具有更高比特率的内容。在操作760中,即使当不满足用于再现流传输内容的条件时,电子设备100也可以开始再现接收到的内容。
图8是根据本公开的实施例由电子设备100执行的根据接收到的内容的大小和接收到的内容的下载时间来再现接收到的内容的方法的流程图。
在操作810中,电子设备100可以请求外部电子设备(例如,服务器540)发送内容。内容可以被流传输到电子设备100。当接收到大小等于或大于阈值大小的内容(例如,经缓冲的内容的数据量等于或大于阈值)时或当接收到的内容的可用再现时间等于或大于阈值持续时间(例如,经缓冲的内容可再现的时间段等于或大于阈值)时,电子设备100可以将接收到的内容的再现设置为开始。然而,实施例不限于此。
在操作820中,电子设备100可以接收具有低比特率的内容。接收到的内容可以存储在缓冲器523中。在操作830中,电子设备100可以计算在开始再现之前接收到的内容可再现的时间段与接收该内容所用的时间段之间的比值。例如,当比值大于1时,这可以意味着在存储在缓冲器532中的所有内容数据被再现之前,可以将新内容数据存储在缓冲器532中。在操作840中,当比值大于1时,电子设备100可以请求服务器540发送具有高比特率的内容。在操作860中,当比值小于1时,电子设备100可以根据预定的内容再现条件来再现接收到的内容。
在操作850中,当电子设备100从服务器540接收具有高比特率的内容时,电子设备100可以开始再现接收到的内容。换言之,即使当内容的大小小于阈值大小并且即使当接收到的内容的可用再现时间小于阈值持续时间时,电子设备100也可以开始再现接收到的内容。
图9是根据示例性实施例的由电子设备100执行的当电子设备100和服务器540彼此发送或接收内容时根据接收到的内容的下载时间再现接收到的内容的方法的流程图。
在操作910中,电子设备100可以请求服务器540发送内容。在操作920中,响应于来自电子设备100的请求,服务器540可以向电子设备100发送具有低比特率的内容。可以以流传输形式(即,同时下载和再现/回放)发送内容,如上参考图4所示。
在操作930中,电子设备100可以计算在开始再现之前接收到的内容的可再现时间段与接收内容所用的时间段(即,下载时间)之间的比值。在操作940中,当比值大于1时,电子设备100可以请求服务器540发送具有高比特率的内容。
在操作950中,服务器540可以向电子设备100发送具有比先前发送的内容更高比特率的相同内容。在操作960中,即使当不满足用于再现流传输内容的条件时,电子设备100也可以开始再现接收到的内容。
如上所述,电子设备100通过将接收到的内容的比特率与当前网络带宽的比特率进行比较,或通过将接收到的内容可再现的时间段与接收内容所用的时间段进行比较,来确定是否开始再现接收到的内容适用于以下两种情况:当关于比特率的条件和关于时间段的条件中的一个被满足以及当这两个条件都被满足时。
图10是示出根据示例性实施例的用于内容再现所需的各个缓冲时间的表。
在图10中,根据协议类型,示出了根据对比例开始再现所需的缓冲时间的变化。在该示例中,当协议类型是HTTP时,根据对比例(即,使用现有技术方法)和本公开的示例性实施例开始再现所需的缓冲时间分别是3.3065秒和0.7427秒。根据本公开的示例性实施例,与常规方法相比,观察到缓冲时间减少了77.5%。
当协议类型是HTTP实时流传输(HLS)时,根据对比例和本公开的示例性实施例开始再现所需的缓冲时间分别是4.3592秒和0.3925秒。因此,根据本公开的示例性实施例,与现有技术方法相比,缓冲时间减少了90.9%。当协议类型是平滑(Smooth)时,根据对比例和本公开的示例性实施例开始再现所需的缓冲时间分别是2.0897秒和0.6133秒。因此,根据本公开的示例性实施例,与现有技术方法相比,缓冲时间减少了70.6%。
当协议类型是WV时,根据对比例和本公开的示例性实施例开始再现所需的缓冲时间分别是3.4065秒和0.9427秒。根据本公开的示例性实施例,与现有技术方法相比,缓冲时间减少了72%。
如此,根据本公开的示例性实施例,电子设备100可以通过减少开始再现内容所需的时间来减少用户观看流传输视频所需的等待时间。
图11是根据示例性实施例的电子设备1100的框图。电子设备1100可以是图2的电子设备201。
如图11所示,电子设备1100可以包括控制器1110、显示器1120、传感器1130、视频处理器1180、音频处理器1115、音频接口1125、电源1160、调谐器1140、通信器1150、I/O接口1170和存储装置1190。
图2的通信接口270可以与图11的通信器1150相对应,图2的处理器220可以与图11的控制器1110相对应,图2的存储器230可以与图11的存储装置1190相对应,并且图2的I/O接口250可以与图11的I/O接口1170相对应。
视频处理器1180处理由电子设备1100接收到的视频数据。视频处理器1180可以对视频数据执行各种图像处理任务,例如解码、缩放、噪声过滤、帧速率变换和分辨率变换。
显示器1120通过转换由控制器1110处理的图像信号、数据信号、屏上显示(OSD)信号、控制信号来产生驱动信号。显示器1120可以是等离子体显示面板(PDP)、液晶显示器(LCD)、有机发光器件(OLED)、柔性显示器和/或3D显示器。显示器1120可以被被配置为触摸屏,因此可以用作输入设备以及输出设备。
在控制器1110的控制下,显示器1120可以在其屏幕上显示经由调谐器1140接收到的广播信号中包括的视频图像。显示器1120还可以显示经由通信器1150或I/O接口1170输入的内容(例如,视频)。在控制器1110的控制下,显示器1120可以输出存储装置1190中存储的图像。显示器1120可以还显示用于执行语音识别的语音用户界面(UI)(例如,包括语音命令词向导)、或用于执行动作识别的动作UI(例如,包括用于动作识别的用户动作向导)。
音频处理器1115可以处理音频数据。音频处理器1115可以对音频数据执行各种处理任务,例如解码、放大或噪声过滤。音频处理器1115可以包括多个音频处理模块来处理与多条内容相对应的音频。
在控制器1110的控制下,音频接口1125可以输出经由调谐器1140接收的广播信号中包括的音频。音频接口1125还可以输出经由通信器1150或I/O接口1170输入的音频(例如,语音或声音)。在控制器1110的控制下,音频接口1125还可以输出存储装置1190中存储的音频。音频接口1125可以包括扬声器1126、耳机输出端口1127和/或索尼/飞利浦数字接口(S/PDIF)输出端口1128。
在控制器1110的控制下,电源1160将从外部电源输入的电力供应给电子设备1100的内部组件。在控制器1110的控制下,电源1160还可以将由位于电子设备1100中的一个或多个电池输出的电力供应给电子设备1100的内部组件。
调谐器1140可以调谐到并且仅选择电子设备1100想要从经由有线或无线广播信号的放大、混合、共振等获得的许多无线电波分量中接收的频道的频率。广播信号包括音频、视频和附加信息(例如,电子节目指南(EPG))。
调谐器1140可以根据用户输入(例如,从外部控制装置接收的控制信号、频道号输入、频道加减输入、以及在EPG屏幕图像上的频道输入)来接收与频道号(例如,有线广播频道2)相对应的频带中的广播信号。
调谐器1140可以从多种源(例如,地面广播、有线广播、卫星广播和互联网广播)接收广播信号。调谐器1140还可以从诸如模拟广播或数字广播之类的源接收广播信号。经由调谐器1140接收的广播信号可以被解码(例如,经由音频解码、视频解码或附加信息解码)并因此可以分离为音频、视频和/或附加信息。在控制器1110的控制下,音频、视频和/或附加信息可以存储在存储装置1190中。
电子设备1100可以包括单个调谐器1140或多个调谐器1140。调谐器1140可以被容纳在电子设备1100内部,或者实现为具有电连接到电子设备1100的调谐器的单独设备(例如,通过I/O接口1170连接到机顶盒的调谐器)。
传感器1130可以感测用户的语音、用户的图像或与用户的交互。
麦克风1131可以接收用户说出的语音。麦克风1131可以将接收到的语音转换为电信号,并将电信号输出到控制器1110。麦克风1131可以与电子设备1100相集成或与电子设备1100分离。分离的麦克风1131可以经由通信器1150或I/O接口1170电连接到电子设备1100。本领域普通技术人员将容易理解,根据电子设备1100的性能和结构,可以不包括麦克风1131。
相机1132可以在相机1132的识别范围内接收与包括手势在内的用户动作相对应的图像(例如,连续帧)。用户动作可以包括用户的身体部位或用户部位(例如,用户的面部、面部表情、手、拳头和手指)的动作等。在控制器1110的控制下,相机1132可以将接收到的图像转换为电信号,并将电信号输出到控制器1110。
控制器1110可以通过使用接收到的动作的识别结果来选择在电子设备1100上显示的菜单,或者可以执行与动作识别结果相对应的控制。例如,控制可以是频道调节、音量调节、指示符移动或光标移动。
相机1132可以包括镜头和图像传感器。相机1132可以通过使用多个镜头和图像处理来支持光学缩放或数字缩放。相机1132的识别范围可以根据相机1132的角度和周围环境条件而变化。当相机1132由多个相机组成时,可以使用多个相机来获得三维(3D)静止图像或3D运动图像。
相机1132可以与电子设备1100相集成或与电子设备1100分离。包括分离的相机1132的分离设备可以经由通信器1150或I/O接口1170电连接到电子设备1100。
本领域普通技术人员将容易理解,根据电子设备1100的性能和结构,可以不包括相机1132。
光接收器(即,光传感器)1133经由显示器1120的边框的光窗口从外部控制装置接收光信号(包括控制信号)。光接收器1133可以从外部控制装置接收与用户输入(例如,触摸、压力、触摸手势、语音或动作)相对应的光信号。可以在控制器1110的控制下从接收到的光信号中提取控制信号。
在控制器1110的控制下,I/O接口1170可以从外部源接收视频、音频(例如,语音或音乐)和附加信息(例如,EPG)。I/O接口1170可以包括高清多媒体接口(HDMI)端口1171、组件插孔1172、PC端口1173和/或USB端口1174。
本领域普通技术人员将容易理解,可以根据各种实施例多样化地实现I/O接口1170的结构和操作。
控制器1110可以控制电子设备1100的整体操作和在电子设备1100的内部组件之间的信号传送,并处理数据。当存在用户的输入或满足存储的预设条件时,控制器1110可以执行存储在存储装置1190中的操作***(OS)和各种应用。
控制器1110可以处理图像信号,并将处理后的图像信号发送到显示器1120。因此,可以在显示器1120上显示与处理后的图像信号相对应的图像。控制器1110可以经由由传感器1130感测到的用户命令或内部程序来控制电子设备1100。
控制器1110可以包括随机存取存储器(RAM)1181、只读存储器(ROM)1182和处理器1183,其中,随机存取存储器(RAM)1181存储由电子设备1100的外部源输入的信号或数据或用作由电子设备1100执行的各种操作的存储器区域,只读存储器(ROM)1182存储用于控制电子设备1100的控制程序。
处理器1183可以包括用于执行视频图形处理的图形处理单元(GPU)。处理器1183可以实现为包括核和GPU的片上***(SoC)。
图形处理器1184可以通过使用算术单元和渲染单元来产生包括多种对象(例如图标、图像和文本)的屏幕图像。算术单元基于由传感器1130感测的用户交互,根据屏幕图像的布局计算要显示的每个对象的属性值,例如坐标值、形状、大小、颜色等。渲染单元基于由算术单元计算的属性值来产生包括对象在内的各种布局的屏幕图像。由渲染单元产生的屏幕图像显示在显示器1120的显示区域上。
第一接口1185-1到第n接口1185-n连接到电子设备1100的上述组件。第一接口1185-1到第n接口1185-n之一可以是经由网络与外部装置连接的网络接口。
RAM 1181、ROM 1182、处理器1183、图形处理器1184以及第一接口1185-1到第n接口1185-n可以经由内部总线1186相互连接。
本实施例中使用的术语“电子设备的控制器”可以包括处理器1183、ROM 1182和RAM 1181。
在控制器1110的控制下,存储装置1190可以存储各种数据、程序或应用以驱动和控制电子设备1100。存储装置1190可以存储与视频处理器1180、显示器1120、音频处理器1115、音频接口1125、电源160、调谐器1140、通信器1150、传感器1130和I/O接口1170的驱动相对应的输入/输出信号或数据。存储装置1190可以存储用于控制电子设备1100和控制器1110的控制程序、由制造商最初提供或从电子设备1100外部下载的应用、与应用相关联的图形用户界面(GUI)、用于提供GUI的对象(例如,图像文本、图标和按钮)、用户信息、文档、数据库和/或相关数据。
根据示例性实施例,术语“存储装置(存储器)”可以包括存储装置1190、控制器1110的ROM 1182和RAM 1181或设置在电子设备1100中的存储卡(例如,微SD卡或USB存储器)。存储装置1190可以包括非易失性存储器、易失性存储器、硬盘驱动器(HDD)、或固态驱动器(SSD)。
存储装置1190可以包括广播接收模块、频道控制模块、音量控制模块、通信控制模块、语音识别模块、动作识别模块、光接收模块、显示控制模块、音频控制模块、外部输入控制模块、电力控制模块、以无线方式(例如,蓝牙)连接的外部装置的电力控制模块、语音数据库(DB)和/或动作DB。存储装置1190的这些模块和DB可以以软件实现,以执行广播接收控制功能、频道控制功能、音量控制功能、通信控制功能、语音识别功能、动作识别功能、光接收控制功能、显示控制功能、音频控制功能、外部输入控制功能、电力控制功能和/或电子设备1100中以无线方式(例如,蓝牙)连接的外部装置的电力控制功能。控制器1110可以通过使用存储在存储装置1190中的软件来执行这些功能。
具有显示器1120的电子设备1100可以电连接到具有调谐器的外部装置(例如,机顶盒)。例如,可以通过使用模拟TV、数字TV、3D-TV、智能TV、LED TV、OLED TV、等离子体TV、监视器等来实现电子设备1100,但是本公开所属的本领域普通技术人员将容易理解,本公开的实施例不限于此。
电子设备1100可以包括用于检测电子设备1100的内部或外部状态的传感二器(例如,照度传感器或温度传感器)。
根据本公开的各种实施例,电子设备可以基于网络情况自适应地确定是否开始再现流传输的内容。
通过例如以程序模块形式存储在计算机可读存储介质中的命令,可以实现根据各种实施例的设备(例如,模块和其功能)或方法(例如,操作)中的至少一些。当通过处理器(例如,处理器120)执行命令时,所述至少一个处理器可以执行与命令相对应的功能。例如,计算机可读存储介质可以是存储器230。
计算机可读存储介质的示例包括硬盘、软盘、磁介质(例如,磁带)、光学介质(例如,压缩盘只读存储器(CD-ROM)或数字多用途盘(DVD))、磁光介质(例如,软光盘)、以及硬件设备(例如,只读存储器(ROM)、随机存取存储器(RAM)或闪存)。程序命令的示例可以包括由计算机通过使用解释器等执行的高级语言代码以及由编译器进行的机器语言代码。硬件设备可以被配置为用作一个或多个软件模块以便执行根据各种实施例的操作,反之亦然。
根据各种实施例的模块或程序模块可以包括至少一种前述组件。可以省略前述组件的一些,或除上述组件之外,还可以包括其他组件。根据各种实施例的模块、程序模块或其他组件执行的操作可以通过顺序、并行、重复或启发式方法来执行。一些操作可以以另一顺序执行,或者可以省略一些操作,或者除了操作之外,还可以包括其他操作。应当理解的是,应仅以描述性意义而不是限制性目的来考虑本文中描述的实施例。对每个实施例中的特征或方面的描述一般应当被看作可用于其他实施例中的其他类似特征或方面。尽管已参考附图描述了一个或多个实施例,但本领域普通技术人员应当理解,在不脱离所附权利要求所限定的精神和范围的情况下,可以进行形式和细节上的多种改变。

Claims (12)

1.一种电子设备,包括:
通信器,被配置为经由网络从外部设备接收内容;
显示器;
处理器;以及
存储器,存储能够由处理器执行的一个或多个程序,
其中所述一个或多个程序包括指令,用于:
确定用于开始再现接收到的内容所需要的缓冲量,
缓冲接收到的内容,
响应于经缓冲的内容的量等于所确定的缓冲量,开始再现经缓冲的内容,
其中:
当经缓冲的内容的量小于所确定的缓冲量时,将接收到的内容的下载速度与接收到的内容的回放速度进行比较,所述回放速度是经缓冲的内容在所述电子设备中被再现的速度,以及
响应于接收到的内容的下载速度大于接收到的内容的回放速度,开始再现经缓冲的内容。
2.根据权利要求1所述的电子设备,其中,所述一个或多个程序还包括指令,用于:
将经缓冲的内容能够再现的时间段与接收所述内容所用的时间段进行比较;以及
基于比较结果确定何时开始再现所述内容。
3.根据权利要求1所述的电子设备,其中,所述通信器还被配置为接收具有第一回放速度的第一内容项目和具有第二回放速度的第二内容项目中的至少一个,
其中,所述第一内容项目和所述第二内容项目具有相同的主题,以及
其中,所述第一回放速度不同于所述第二回放速度。
4.根据权利要求1所述的电子设备,其中,所述一个或多个程序还包括指令,用于响应于接收到的内容的下载速度高于所述内容的回放速度,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并具有与接收到的内容的回放速度不同的回放速度。
5.根据权利要求2所述的电子设备,其中,所述一个或多个程序还包括指令,用于响应于经缓冲的内容能够再现的时间段大于接收所述内容所用的时间段,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并具有与接收到的内容的回放速度不同的回放速度。
6.根据权利要求2所述的电子设备,其中,所述一个或多个程序还包括指令,用于响应于经缓冲的内容能够再现的时间段大于接收所述内容所用的时间,开始再现接收到的内容。
7.一种由电子设备控制的再现从外部设备接收的内容的方法,所述方法包括:
经由网络从所述外部设备接收内容;
确定用于开始再现接收到的内容所需要的缓冲量;
缓冲接收到的内容;
响应于经缓冲的内容的量等于所确定的缓冲量,开始再现经缓冲的内容,
其中:
当经缓冲的内容的量小于所确定的缓冲量时,将接收到的内容的下载速度与接收到的内容的回放速度进行比较,所述回放速度是经缓冲的内容在所述电子设备中被再现的速度,以及
响应于接收到的内容的下载速度大于接收到的内容的回放速度,开始再现经缓冲的内容。
8.根据权利要求7所述的方法,还包括:响应于接收到的内容的下载速度高于接收到的内容的回放速度,请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并且具有与接收到的内容的回放速度不同的回放速度。
9.根据权利要求7所述的方法,还包括:
将经缓冲的内容能够再现的时间段与接收所述内容所用的时间段进行比较;以及
还基于比较结果来确定何时开始再现接收到的内容。
10.根据权利要求9所述的方法,其中将经缓冲的内容能够再现的时间段与接收所述内容所用的时间段进行比较包括:
确定经缓冲的内容能够再现的时间段是否大于接收所述内容所用的时间段;以及
请求所述外部设备发送附加内容,所述附加内容具有与接收到的内容相同的主题并且具有与接收到的内容的回放速度不同的回放速度。
11.根据权利要求9所述的方法,其中将经缓冲的内容能够再现的时间段与接收所述内容所用的时间段进行比较包括:响应于经缓冲的内容能够再现的时间段大于接收所述内容所用的时间段,开始再现接收到的内容。
12.一种非暂时性计算机可读记录介质,其上记录有程序,当所述程序被至少一个处理器执行时执行根据权利要求7所述的方法。
CN201780006246.1A 2016-02-01 2017-01-31 电子设备和由电子设备控制的内容再现方法 Active CN108464008B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160012455A KR102547320B1 (ko) 2016-02-01 2016-02-01 전자 장치 및 전자 장치의 제어 방법
KR10-2016-0012455 2016-02-01
PCT/KR2017/001005 WO2017135647A1 (en) 2016-02-01 2017-01-31 Electronic device and content reproduction method controlled by the electronic device

Publications (2)

Publication Number Publication Date
CN108464008A CN108464008A (zh) 2018-08-28
CN108464008B true CN108464008B (zh) 2020-12-18

Family

ID=59386226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780006246.1A Active CN108464008B (zh) 2016-02-01 2017-01-31 电子设备和由电子设备控制的内容再现方法

Country Status (5)

Country Link
US (1) US10630750B2 (zh)
EP (1) EP3412020B1 (zh)
KR (1) KR102547320B1 (zh)
CN (1) CN108464008B (zh)
WO (1) WO2017135647A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911513B2 (en) * 2018-07-16 2021-02-02 Netflix, Inc. Techniques for determining an upper bound on visual quality over a completed streaming session
KR102502577B1 (ko) * 2018-08-30 2023-02-22 삼성전자주식회사 외부 전자 장치 내에서 멀티미디어 콘텐트를 이어서 재생하기 위한 전자 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242359A (zh) * 2008-02-27 2008-08-13 华为技术有限公司 动态码率分配方法、分组域流媒体服务器
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置
CN101771492A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 调整流媒体码率的方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218439B2 (en) 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US9047236B2 (en) * 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US9167007B2 (en) 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US8499059B2 (en) * 2009-05-04 2013-07-30 Rovi Solutions Corporation System and methods for buffering of real-time data streams
US9014545B2 (en) * 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US8997160B2 (en) 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US8811167B2 (en) * 2011-02-24 2014-08-19 Cisco Technology, Inc. Shaping multimedia stream bit-rates to adapt to network conditions
US9954788B2 (en) * 2011-06-03 2018-04-24 Apple Inc. Bandwidth estimation based on statistical measures
US9503490B2 (en) * 2012-02-27 2016-11-22 Qualcomm Incorporated Dash client and receiver with buffer water-level decision-making
US8861932B2 (en) * 2012-05-18 2014-10-14 At&T Mobility Ii Llc Video service buffer management
TWI520590B (zh) 2012-12-17 2016-02-01 財團法人工業技術研究院 影音串流傳輸方法、影音裝置以及影音提供裝置
US9215267B2 (en) * 2013-03-14 2015-12-15 Disney Enterprises, Inc. Adaptive streaming for content playback
US20140325550A1 (en) * 2013-04-25 2014-10-30 Verance Corporation Real-time anti-piracy for broadcast streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242359A (zh) * 2008-02-27 2008-08-13 华为技术有限公司 动态码率分配方法、分组域流媒体服务器
CN101771492A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 调整流媒体码率的方法和装置
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置

Also Published As

Publication number Publication date
WO2017135647A1 (en) 2017-08-10
EP3412020B1 (en) 2021-05-05
CN108464008A (zh) 2018-08-28
EP3412020A4 (en) 2018-12-12
KR20170091437A (ko) 2017-08-09
US10630750B2 (en) 2020-04-21
US20170223084A1 (en) 2017-08-03
KR102547320B1 (ko) 2023-06-23
EP3412020A1 (en) 2018-12-12

Similar Documents

Publication Publication Date Title
KR102425818B1 (ko) 스크린 미러링 서비스 제공장치 및 방법
US10135898B2 (en) Method, terminal, and system for reproducing content
KR102279600B1 (ko) 휴대 기기에서의 동작 방법, 컨텐츠 재생 장치에서의 동작 방법, 휴대 기기 및 컨텐츠 재생 장치
US9612719B2 (en) Independently operated, external display apparatus and control method thereof
US9119156B2 (en) Energy-efficient transmission of content over a wireless connection
US20180349001A1 (en) Automatic Home Screen Determination Based on Display Device
CN105824772B (zh) 用于使用多个处理器来管理数据的方法和装置
US10019224B2 (en) Electronic device and method of operating the same
KR20180108310A (ko) 복수의 외부 장치들로 오디오 데이터를 전송하는 방법 및 전자 장치
US10853026B2 (en) Method and apparatus for streaming audio by using wireless link
KR20180109340A (ko) 전자 장치 및 전자 장치의 화면 공유 방법
KR20150099891A (ko) 데이터 변환 처리 방법 및 이를 지원하는 전자 장치
KR102193704B1 (ko) 전자 장치의 락 스크린 디스플레이 방법 및 그 전자 장치
KR20160042739A (ko) 화면을 공유하기 위한 방법 및 그 전자 장치
KR102498815B1 (ko) 전자 장치 및 전자 장치의 비디오 편집 방법
KR20170043324A (ko) 전자 장치 및 전자 장치의 영상 인코딩 방법
US20170094219A1 (en) Method and electronic device for providing video of a specified playback time
CN108464008B (zh) 电子设备和由电子设备控制的内容再现方法
KR102229603B1 (ko) 오디오 데이터 운용 방법과 이를 지원하는 전자 장치
US20230393862A1 (en) User Interface Extendability Over Wireless Protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant