CN105144727B - 视频流传输方法、设备、客户端设备和计算机可读介质 - Google Patents
视频流传输方法、设备、客户端设备和计算机可读介质 Download PDFInfo
- Publication number
- CN105144727B CN105144727B CN201480013866.4A CN201480013866A CN105144727B CN 105144727 B CN105144727 B CN 105144727B CN 201480013866 A CN201480013866 A CN 201480013866A CN 105144727 B CN105144727 B CN 105144727B
- Authority
- CN
- China
- Prior art keywords
- sequence
- channel
- coding
- transmission unit
- video
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000007704 transition Effects 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 35
- 230000001052 transient effect Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
- H04N21/234372—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution for performing aspect ratio conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/23439—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44004—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了用于在编码的视频数据的多个序列之间过渡的视频流方法,所述视频流方法可包括从编码的视频数据的第一序列接收传输单元并解码所述传输单元。响应于过渡到编码的视频数据的第二序列的请求,该方法可以确定是否可通过经由编码的视频数据的中间序列过渡到编码的视频数据的第二序列来减少过渡到编码的视频数据的第二序列的时间。如果可减少时间,该方法可包括从与过渡请求对应的编码的视频数据的中间序列接收至少一个传输单元,对来自中间序列的传输单元进行解码,并经由来自中间序列的解码的传输单元从第一序列过渡到第二序列。
Description
背景技术
本公开整体涉及视频流技术的领域。更具体地,本公开涉及在用于视频流的频道切换中减小与编解码相关的延迟。
便携式设备正越来越多地被用于观看传统节目(例如,电影、新闻和实况广播)。节目被编码并通过无线或有线网络发送到分发设备(例如,电缆盒)和/或便携式设备(例如,智能电话、膝上型计算机或平板计算机)。节目通常被编码并通过网络以解析成组块(例如“传输单位”)的编码数据发送。
组块可包括一个或多个参考帧和基于参考帧编码的多个帧。组块可包括未利用来自任何其他帧的信息编码的索引帧(I帧)、表达与索引帧中的内容不同的预测帧(P帧)、和双向帧(B帧),该双向帧表达与出现于双向帧前后的索引帧和预测帧的差异。组块中的帧可按照与应当呈现组块中帧表示的内容的次序不同的次序出现。
为了显示视频,接收组块的设备将缓冲组块并对组块中的帧解码以显示。解码可包括将每个帧变换成原始帧并按照正确次序布置帧。尽管用户可能由于缓冲和解码而在视频片段的开始观察到延迟,但因为组块是一个接一个地连续接收和解码的,所以在正常回放期间不会观察到缓冲和解码导致的延迟。
不过,在用户请求过渡到新频道中的视频源时,存在与切换到新视频源相关联的延迟。延迟的贡献因素可包括网络延迟、比特流缓冲的构建、解码延迟和显示延迟。在这一延迟期间,用户可能观察到视频显示中的间隙。为了减小间隙,一些方法会连续显示原始视频源的内容,直到新组块的视频内容准备好被显示。其他方法为了减小缓冲和/或解码延迟,在新视频源中遇到组块的索引帧时才过渡。不过,这些方法不会在用户做出请求时进行过渡。此外,在对实况流内容使用这些方法时,延迟导致新视频源的内容丢失。
在相同视频内容的低分辨率和高分辨率源之间过渡时,还可能观察到类似延迟。在相同内容之间过渡时,现有的方法由于延迟而跳过或重放一部分内容。
因此,需要在视频流期间的多个频道之间过渡时减少延迟的技术。
附图说明
因此,可以理解本发明的特征,下文将描述若干附图。然而,要指出的是,附图仅示出了本发明的特定实施例,因此不应被视为限制其范围,因为本发明可以涵盖其他同样有效的实施例。
图1为适合与本公开一起使用的视频分发系统的简化框图。
图2示出了根据本公开的实施例的接收视频内容的客户端设备的示例性显示器。
图3示出了根据本公开的实施例的直接从第一频道过渡到第二频道的方法。
图4示出了根据本公开的实施例的利用中间频道从第一频道过渡到第二频道的方法。
图5示出了根据本公开的另一实施例的利用中间频道从第一频道过渡到第二频道的方法。
图6示出了根据本公开的实施例的利用数据流组块之内的参考帧从第一频道过渡到第二频道的方法。
图7示出了根据本公开的实施例的从第一频道过渡到作为多个偏移频道中的一个偏移频道的第二频道的方法。
图8示出了根据本公开的实施例的经由交错频道从第一频道过渡到第二频道的方法。
图9示出了根据本公开的实施例的利用多个可缩放频道的回放方法。
图10示出了根据本公开的实施例的提供不同高宽比的视频内容的方法1000。
图11为与本公开一起使用的具有集成编码服务器和分发服务器的系统的简化方框图。
具体实施方式
本发明的实施例提供了用于在编码的视频数据的多个序列之间过渡的技术和设备。视频流传输方法可以包括从编码的视频数据的第一序列接收传输单元并对来自第一序列的传输单元进行解码。响应于过渡到编码的视频数据的第二序列的请求,该方法可以从编码的视频数据的第二序列接收传输单元,并对来自第二序列的传输单元进行解码。对来自第二序列的传输单元进行解码可以包括缓冲来自包括与过渡请求对应的帧的第二序列的选择的传输单元,对选择的传输单元的参考帧进行解码,直到达到与过渡请求对应的帧,而不对非参考帧进行解码,以及对与请求对应的帧之后的所有帧进行解码。
本发明的用于在编码的视频数据的多个序列之间过渡的实施例可以包括经由编码的视频数据的一个或多个中间序列过渡到请求的序列。经由中间序列过渡到请求序列可以减小过渡延迟。
图1为适合与本发明一起使用的视频分发系统100的简化框图。系统100可包括分发服务器110和经由通信网络130连接的多个客户端设备120、122。分发服务器110可以从供客户端设备120或122下载的节目源112和/或存储系统114接收各种视频内容项(例如,电影、电视节目和其他运动图片内容)。视频内容可以包括可由分发服务器110向一个或多个客户端设备120、122分发的一个或多个实况节目。
分发服务器110可以处理视频内容并提供视频内容项的几个副本作为编码的视频流,其每个都是在相应比特率、帧速率和/或帧大小下编码的。可以将视频流解析成表示预先确定的持续时间(例如,5或10秒)的视频内容的编码的视频的多个组块(例如,传输单元或GOP,但不限于此)。图1的实例示出了三种不同的视频节目A、B和C,它们可以传输到客户端设备120或122。视频节目A、B和C中的一个或多个节目可以是实况秀。可以由分发服务器110处理视频节目的每个视频节目以提供使用不同比特率、帧速率和/或帧大小的节目或在时间上偏移的视频项。例如,可以在频道1.0、1.1和1.2中提供节目A的内容,每个频道对应于具有不同参数的编码的视频。
分发服务器110可以在例如清单文件150中为客户端设备120或122提供关于可用节目和/或频道的信息。基于这种信息,客户端设备120或122可以选择特定节目和/或频道以通过网络130接收。对节目和/或频道的选择可以由用户或客户端设备响应于用户命令或变化的条件(例如,网络带宽或设备处理器可用性的变化)作出。在发出对新节目和/或频道的请求时,客户端设备120、122或分发服务器110可以决定如何从正在向客户端设备120传输的当前频道过渡到请求频道。在做出决定时,客户端设备120、122或分发服务器110可以选择应当向客户端设备120、122发送哪些频道和频道的组块。
从一个频道过渡到另一个频道可以包括利用具有不同比特率、帧速率和/或帧大小的一个或多个中间频道或在时间上偏移的频道。例如,如图1所示,如果接收到从频道1.0过渡到频道2.0的请求,该过渡可以包括在频道流140中传输中间频道1.1和1.2的至少一部分。利用附加频道进行过渡可以减小从频道1.0过渡到频道2.0期间节目的间隙。
如图1所示,可以向客户端设备120或122提供多个频道流140和142。频道流140可以提供与频道流142的视频内容不同的视频内容。频道流142可以利用能够以高质量提供的可用节目的低视频质量,提供视频内容作为预览。
清单文件150可以存储可用节目和频道的索引,将编码的视频流与节目相关联,并将每个编码的视频流的组块与其他视频流的对应组块相关。清单文件150可包括每个可用频道的详情以及通往频道或用于频道中每个组块的web地址。可以更新清单文件150以维护可用节目和频道的更新索引。可以在请求时或以预先确定的间隔向客户端设备1201、22提供清单文件150。清单文件可以存储表示各种类型数据的句法元素。
本发明的实施例涉及响应于来自客户端设备120或122的请求而从一个视频源过渡到另一个视频源。请求可以由用户发起,或者可以响应于传输网络状况或客户端设备120或122状况的变化而提供。
可以由一个或多个分发服务器和客户端设备120和122利用该过渡方法。在一个实施例中,分发服务器110可以使用一种或多种过渡方法来决定应当向客户端设备120或122发送哪些频道以处理过渡。在另一个实施例中,分发服务器110可以执行过渡方法,并对包括从一个频道到另一频道的过渡的视频重新编码。可以利用包括过渡的一个组块和来自两个频道的数据对数据重新编码。另选地,可利用包括达到过渡请求的数据的一个组块和包括过渡请求之后的数据的下一个组块来对数据重新编码。
客户端设备120或122可以使用下述过渡方法中的一种或多种从一个频道过渡到另一个频道。客户端设备120或122可以向分发服务器110发送请求,该分发服务器包括客户端设备120或122需要根据下述过渡方法处理请求的频道。在另一个实施例中,客户端设备120可以通过网络130接收所有频道并充当客户端设备122的本地分发设备。
图2示出了根据本发明实施例的接收视频内容的客户端设备200的示例性显示器210。显示器210可以包括一个或多个显示窗口220、230、240,以适应不同的视频内容。显示器210还可以包括标签250、252,带有对未显示视频内容的其他可用频道(例如频道D和频道E)的参考。显示窗口220可以显示以高质量提供的第一视频内容A。显示窗口230和240可以显示分别具有例如更低质量的第二视频内容B和第三视频内容C。例如,显示窗口230和240可以显示更低质量的视频,提供更低质量的视频作为可以利用更高质量接收(如果用户这样选择的话)的视频内容的预览。
可以从一个或多个分发服务器接收显示窗口220、230、240中显示的视频内容。显示窗口220、230、240中显示的或由标签250、252援引的每个视频内容都可以是实况视频内容。视频内容中的一个或多个可以是分发服务器上存储的预录制的视频内容。显示器210中显示或援引的不同视频内容可以对应于利用不同相机拍摄的节目的实况广播,每个相机提供实况广播的不同角度。
客户端设备200的用户选择在显示器210的显示窗口220、230、240中显示哪些视频内容。例如,用户可以在客户端设备200上做出选择,以在显示窗口220中显示当前作为预览在显示窗口230或240中提供的视频内容中的一者。响应于该选择,分发服务器可以接收两个请求。在显示窗口230或240中提供从视频内容的低分辨率过渡到高分辨率的第一请求,在显示窗口220中提供从视频内容的高分辨率过渡到低分辨率的第二请求。
响应于请求,分发服务器可以将提供组块所源自的频道改变到向客户端设备200发送的频道流中的每个频道流。为了减小切换延迟,在过渡期间维持良好质量的同时,分发服务器可以利用下文所述的一种或多种过渡方法。从一个频道到另一个频道的过渡方法可以利用一个或多个中间频道以减小客户端设备200处的延迟。利用不同频道的组块,客户端设备200可以根据下述过渡方法缓冲每个频道的组块并进行解码,以减小缓冲和/或解码延迟。
图3示出了根据本发明实施例的直接从第一频道过渡到第二频道的方法。图3示出了从解析成组块CH A.1-A.N的频道A过渡到解析成组块CHB.1-B.N的频道B。频道A可以表示当前由分发服务器向客户端设备发送的频道,频道B可以表示分发服务器和/或客户端设备将响应于请求而过渡到的频道。
如图3所示,可能在频道B的同步帧不符合请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过缓冲并解码频道B达到大致符合请求的目的帧来立即发起过渡。客户端可能在请求时已经正在接收频道B,或者,可以发出请求以响应于请求接收频道B。
为了在大致接收请求的时间显示频道B的内容,接收频道B的解码器可以判断哪个组块(例如组块(CH B.2))符合请求,缓冲组块CH B.2并迅速利用同步帧对数据解码达到过渡点。对组块进行缓冲可以包括缓冲达到与请求对应的帧的组块中的仅一部分。可以通过跳过对达到符合过渡点和/或请求的帧的帧进行解码,来提高解码的速度。
在一个实施例中,可以仅对组块中达到目的帧的参考帧解码,并且可以对目的帧之后的所有帧解码。参考帧可以包括对对应于请求的帧和这个帧之后的帧解码而需要的所有帧。被解码的参考帧可以包括I帧和/或P帧的全部。
可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码的帧。可以将同步帧SF编码成内部编码帧(通俗地讲,“I帧”)。例如,如果根据H.265编码协议对视频序列编码,可以将同步帧编码成瞬态解码器刷新帧(IDR帧)。其他编码协议可以提供同步帧的其他定义。
尽管同步帧SF被示为处在图3中每个组块的开始处,但同步帧可以位于组块之内的其他位置。此外,不同频道(例如A和B)之间的同步帧SF可以对准。在其他实施例中,一个频道中的同步帧SF可以与其他频道中的同步帧偏移预先确定的或随机数量的帧。
频道A和频道B可以对应于具有不同内容的视频,或者可以包括相同的但是在比特率、帧速率和/或帧大小的不同变体下提供的视频内容。例如,频道A可以是向用户提供作为预览的实况广播的低分辨率视频,并且信道B可以是响应于观看实况广播的请求而向用户提供的同一实况广播的高分辨率视频。在另一个实例中,频道A可以是利用第一相机拍摄的节目的实况广播,并且频道B可以是利用第二相机拍摄的节目的实况广播。
频道流可以表示响应于从频道A过渡到频道B的请求通过网络发送并由显示设备接收的数据。图3中示出了频道A和B的回放。
响应于从频道A过渡到频道B的请求,客户端设备可以发出用于从分发服务器接收清单文件的请求。接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块的列表。基于清单文件中的信息和请求过渡的详情,客户端设备可以选择频道B中对应于过渡请求的组块并请求向客户端设备发送选择的组块。客户端设备可以缓冲选择的组块并选择所接收组块中对应于过渡请求的目的帧。可以在客户端设备上对目的帧和目的帧之后的帧进行解码和显示。可以仅通过对目的帧解码所需的前方帧进行解码来对目的帧解码。于是,可以仅对目的帧之前的参考帧解码,并且可以对目的帧之后的所有帧解码。
图4示出了根据本发明实施例的利用中间频道从第一频道过渡到第二频道的方法。图4示出了从解析成组块CH A.1-A.N的频道A过渡到解析成组块CH B.1-B.N的频道B。从频道A过渡到频道B可以包括使用被解析成组块CH B′.1-B′.N的中间频道B′。可以在低于频道B质量的质量下提供中间频道B′。较低质量允许中间频道B′的内容比频道B的内容更快地被缓冲和解码。
频道A可以表示当前由分发服务器向客户端设备发送的频道,频道B可以表示分发服务器和/或客户端设备将响应于请求而过渡到的频道。可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码的帧。
频道A和频道B可以包括具有不同内容的视频,或者可以包括相同但是在比特率、帧速率和/或帧大小的不同变体下提供的视频内容。频道B′可以包括对应于频道B但质量更低(例如,更低比特率、帧速率和/或帧大小)的视频内容。
如图4所示,可在频道B的同步帧SF不符合过渡请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过首先过渡到中间频道B′,然后在频道B的下一个同步帧SF过渡到频道B,来立即发起过渡。
中间频道B′较低的质量(例如,更低的比特率、帧速率和/或帧大小)允许解码器比解码器本来对更高质量的频道B的数据解码更快地接收视频内容并解码。于是,利用中间频道允许减小解码延迟,并实现更快地过渡到频道B的内容。解码器可以对中间频道B′的内容解码,直到频道B的下一同步帧SF。在频道B的同步帧SF处,解码器可以立即切换到频道B并对频道B的内容解码,无需缓冲更高质量数据的任何前方帧。而切换到更低质量的中间频道B′可以短时间内提供更低质量的视频,可以在请求时进行过渡而没有显著延迟。
尽管中间频道B′的同步帧SF被示为与频道B的中间频道SF对准,但同步帧可以彼此偏移。在一个实施例中,如果在频道B的同步帧的时间处做出请求,可以直接向频道B过渡而无需使用中间频道B′。可以使用本公开中论述的一个或多个其他过渡实施例从频道A过渡到频道B。
频道流可以表示响应于从频道A过渡到频道B的请求而通过网络发送并由显示设备接收的数据。如图4所示,频道流可以提供数据以大致在请求时经由频道B′,从频道A的内容过渡到频道B的内容。尽管频道流将在短时间内包括具有处在更低比特率、帧速率和/或帧大小的频道B的内容的组块,但可以在请求时切换频道流的内容而没有显著延迟。尽管可以向客户端设备发送相应频道的整个组块,但可以仅对组块中数据的一部分解码以方便过渡。图4中示出了频道A和B的回放。
响应于从频道A过渡到频道B的请求,客户端设备可以发出请求,以从分发服务器接收清单文件。接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块的列表。基于清单文件中的信息和过渡请求的详情,客户端设备可以决定频道B中的目的帧是否与频道B中的同步帧中的一个同步帧对准。如果频道B中的目的帧与频道B中的同步帧对准,那么可以由客户端设备接收并解码以包含对准的同步帧的组块开始的组块。
如果频道B中的目的帧未与频道B中的同步帧对准,客户端设备可以确定是否可以利用一个或多个中间频道减少过渡时间。如果不能减少过渡时间,那么客户端设备可以请求向客户端设备发送仅来自频道B的组块并由客户端设备解码。然而,如果可以减少过渡时间,客户端设备可以选择中间频道中对应于过渡请求的组块并请求向客户端设备发送所选择的组块。客户端设备可以缓冲所选择的组块并选择组块中与目的帧对应的帧。可以对中间频道中的选择的组块和后续组块解码并显示,直到在频道B中遇到同步帧。一旦遇到频道B中的同步帧,可以由客户端设备接收、解码并显示频道B的组块。
图5示出了根据本发明另一实施例的利用中间频道从第一频道过渡到第二频道的方法。图5示出了从解析成组块CH A.1-A.N的频道A过渡到解析成组块CH B.1-B.N的频道B。从频道A过渡到频道B可以包括使用被解析成组块CH B′.1-B′.N的中间频道B′。中间频道B′可以包括比频道B中的组块更短的数据组块。例如,可以利用默认组块大小(例如10秒)提供频道B中的组块,并且可以利用比默认值更小的组块大小(例如3秒)提供中间频道B′中的组块。与频道B中同步帧的频率相比,中间频道B′中更短的组块实现了在中间频道B′中提供同步帧的更高频率。
频道A可以表示当前由分发服务器向客户端设备发送的频道,并且频道B可以表示分发服务器和/或客户端设备将响应于请求而过渡到的频道。可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码得帧。
频道A和频道B可以包括具有不同内容的视频,或者可以包括相同的但是在比特率、帧速率和/或帧大小的不同变体下提供的视频内容。频道B′可以包括对应于频道B的视频内容但以持续时间更短的组块编码的视频内容。在一个实施例中,频道B和B′中的视频内容质量可以类似,但因为使用更小组块对频道B′编码,所以频道B′的比特率可以比频道B的比特率更高。在一个实施例中,频道B和频道B′的比特率可以相似,但在频道B′中质量可以更低,以补偿更小的组块。可以由编码器根据视频内容、可用网络带宽、比特流的期望大小、客户端设备的参数或其他编码器设置来设置默认组块大小。即使将使用更大数量的比特或者将降低视频质量,也可以使中间频道的组块更小。
如图5所示,可在频道B的同步帧SF不符合过渡请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过首先过渡到中间频道B′,然后在频道B的下一个同步帧SF过渡到频道B来立即发起过渡。
中间频道B′中更高频率的同步帧SF提供了比频道B的同步帧可能更接近请求的同步帧。于是,在做出过渡请求时,可以比从频道A过渡到频道B更快地处理从频道A向中间频道B′的过渡。在过渡到中间频道B′之后,可以提供中间频道B′的内容并解码,直到遇到频道B的下一个同步帧,在此时可以从中间频道B′过渡到频道B,而没有显著延迟。
从频道A过渡到中间频道B′可以包括等待,直到遇到下一个同步帧SF。因为同步帧的频率更高,所以相比于与切换到频道B相关联的延迟,频道改变请求和中间频道B′中下一同步帧之间的延迟更小。在另选的实施例中,从频道A过渡到中间频道B′可以包括在中间频道B′中找到最接近的前一同步帧SF,并且缓冲和解码达到符合请求的帧(例如,根据图3中所示的实施例)的中间频道B′。
在一个实施例中,在接收到从频道A过渡到频道B的请求时,可以确定中间频道B′和频道B之间哪个频道包括请求之后或请求之前的最接近的同步帧SF。如果频道B具有最接近的同步帧SF或者在同一位置发现两个频道的同步帧SF,那么可以直接向频道B过渡而不使用中间频道B′。不过,如果在中间频道B′中发现了最接近的同步帧SF,那么从频道A过渡到频道B可以包括,首先过渡到中间频道B′,然后在频道B的下一个同步帧SF处过渡到频道B。在一个实施例中,可以包括多个中间频道,其中每个中间频道都提供持续时间不同的组块,所述持续时间小于默认组块持续时间。
频道B和频道B′的同步帧SF不必对准。频道B和频道B′的同步帧可以彼此偏移预先确定的长度。在另一个实施例中,可以设置频道B′的长度,使得频道B和频道B′的同步帧SF彼此偏移。使频道B和频道B′的同步帧SF不对准增加了同步帧将符合过渡到频道B的请求的机会。
频道流可以表示响应于从频道A过渡到频道B的请求而通过网络发送并由显示设备接收的数据。如图5所示,频道流可以大约在请求时提供从频道A的内容到频道B的内容的数据过渡。尽管频道流可以在短时间内包括具有处在更低质量或需要更大带宽的频道B的内容的组块,但可以在请求时切换频道流的内容而没有显著延迟。
响应于从频道A过渡到频道B的请求,客户端设备可以发出用来从分发服务器接收清单文件的请求。接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块的列表。基于清单文件中的信息和过渡请求的详情,客户端设备可以决定频道B中的目的帧是否与频道B中的同步帧中的一个同步帧对准。如果频道B中的目的帧与频道B中的同步帧对准,那么可以由客户端设备接收并解码以包含对准的同步帧的组块开始的组块。
如果频道B中的目的帧不与频道B中的同步帧对准,则客户端设备可以确定是否可以利用具有变化的组块持续时间的中间频道中的一个或多个中间频道减少过渡时间。如果不能减少过渡时间,那么客户端设备可以请求向客户端设备发送仅来自频道B的组块并由客户端设备解码。然而,如果可以减少过渡时间,客户端设备可以选择中间频道中对应于过渡请求的组块并请求向客户端设备发送选择的组块。客户端设备可缓冲选择的组块并选择组块中对应于目的帧的帧。可以对中间频道中的所选择组块和后续组块解码并显示,直到在频道B中遇到同步帧。一旦遇到频道B中的同步帧,可以由客户端设备接收、解码并显示频道B的组块、。
图6示出了根据本发明实施例的利用数据流的组块内提供的附加参考帧从第一频道过渡到第二频道的方法。图6示出了从解析成组块CH A.1-A.N的频道A过渡到解析成组块CH B.1-B.N的频道B。从频道A过渡到频道B可以包括使用与频道B相关联的多个参考帧RF。参考帧RF在可以快速解码的组块之内提供了附加的参考帧,以允许对请求之后的频道B数据快速解码。附加的参考帧可以是未利用编码器的默认设置在组块之内提供的帧。如图6所示,可以提供参考帧RF作为要过渡到的组块的部分。在另一个实施例中,可以提供参考帧RF′作为边频道,参考帧RF′对应于频道B的组块中的参考帧RF。
频道A可以表示当前由分发服务器向客户端设备发送的频道,频道B可以表示分发服务器和/或客户端设备将响应于请求而过渡到的频道。可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码帧。在请求时,可以在频道B中确定对应于过渡请求的目的频道。
由分发服务器提供的频道B的一个或多个组块可以包括分布于组块之内的附加参考帧(例如,P帧)。附加参考帧可以是频道B的部分或者可以在独立频道中提供。尽管利用默认设置,编码器可以限制在特定组块中提供的参考帧数量来限制组块大小,但可以在组块中包括附加的参考帧以改进到频道B的过渡。参考帧可以是除相应组块的同步帧(例如I帧)之外提供的帧。参考帧可以使用来自要解码的一个或多个先前帧的数据。在一个实施例中,参考帧可能仅需要待解码的同步帧的数据。于是,可以对参考帧的任一个进行快速解码而无需每个先前帧或超过一个先前帧。附加的参考帧也不需要待解码的参考帧之后的任何帧。
如图6所示,可能在频道B的同步帧SF不符合过渡请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过利用与请求对应的组块之内的可用附加参考帧来立即发起过渡。响应于过渡请求,可以向客户端设备发送具有附加参考帧的组块或具有附加参考帧的边频道。利用附加的参考帧,可以确定组块之内最接近请求的附加参考帧。最接近的参考帧可以是请求之前最接近的参考帧或者请求之后最接近的参考帧。
可以对所选择的参考帧(例如,图6中的参考帧FR5)解码并用作起始帧,以提供频道B的内容。另选地,可以将选择的参考帧用作参考,以对与目的帧对应的另一附近帧解码。因为选择的参考帧不需要对每单个先前帧或选定参考帧之后的任何帧解码,所以可以仅利用解码所需的帧对所选择的参考帧解码。例如,如果选择的参考帧仅需要待解码的组块的同步帧SF,则仅需要缓冲并解码同步帧SF和选择的参考帧,以开始提供频道B的内容。可以利用选择的参考帧中的信息对选择的参考帧之后的所有帧解码。
使用附加的参考帧提供了待在组块之内提供的更多过渡位置,而无需使用成本更高的同步帧SF(例如,I帧)。可以在组块之内以预先确定的间隔(例如每半秒)提供附加参考帧。可以在清单文件中对比特流进行索引,使得组块的所有比特无需被缓冲来解码对应于过渡请求的参考帧。例如,可以在清单文件中提供指向参考帧的指针,使得解码器能够定位最接近请求的参考帧。
可以由分发服务器在一个或多个频道中提供参考帧。可以在作为预览向用户提供的频道中提供附加参考帧。在另一个实施例中,可以响应于请求和/或仅在对应于该请求的组块中提供附加参考帧。
频道流可以表示响应于从频道A过渡到频道B的请求而通过网络发送并由显示设备接收的数据。如图所示,因为组块CH B.1对应于过渡请求,所以可以为组块CH B.1提供附加频道。
响应于从频道A过渡到频道B的请求,客户端设备可以发出请求,以从分发服务器接收清单文件。接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块。基于清单文件中的信息和过渡请求的详情,客户端设备可以判断频道B中的目的帧是否与频道B中的同步帧中的一个同步帧对准。如果频道B中的目的帧与频道B中的同步帧对准,那么可以由客户端设备接收并解码以包含对准的同步帧的组块开始的组块。
如果频道B中的目的帧不与频道B中的同步帧对准,客户端设备可以确定是否可以利用与对应于过渡请求的组块相关联的附加参考帧来减少过渡时间。如果不能减少过渡时间,那么客户端设备可以请求向客户端设备发送来自频道B的组块并由客户端设备解码。然而,如果可以减少过渡时间,客户端设备可以请求提供一个或多个附加参考帧作为对应于过渡请求的组块的一部分或边频道的一部分。客户端设备可以基于清单文件中的信息请求向客户端设备仅发送同步帧和对应于目的帧的参考帧。
客户端设备可以缓冲同步帧和参考帧并进行解码。可以使用解码的参考帧来提供目的帧并继续对目的帧之后的帧解码。可以由客户端设备显示解码的帧。
图7示出了根据本发明实施例,从第一频道过渡到作为多个偏移频道中的一个偏移频道的第二频道的方法。图7示出了从解析为组块CH A.1-A.N过渡到多个偏移频道B、B′、B″和B″′中的一个偏移频道。可以将偏移频道中的每个频道解析成组块CH B.1-B.N。从频道A过渡到偏移频道中的一个偏移频道可包括确定偏移频道中的哪个频道包括与最符合请求的同步帧,以及从频道A过渡到具有最接近的同步帧的频道。
频道A可以表示当前由分发服务器向客户端设备发送的频道,并且频道B可以表示分发服务器和/或客户端设备将响应于过渡请求而过渡到的频道。可以提供与频道B具有相同内容的附加频道B′、B″和B″′,但具有偏移的组块和/或同步帧。分发服务器可以对频道编码以提供具有偏移同步帧的频道。可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码帧。尽管频道B和附加频道B′、B″和B″′中的同步帧SF可能是偏移的,但在每个频道中可用的在给定时间处的内容可以相同。
频道A和频道B可以包括具有不同内容的视频,或者可以包括相同的但是在比特率、帧速率和/或帧大小的不同变体下提供的视频内容。如图7所示,在频道B的同步帧SF不符合过渡请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过过渡到具有离请求更近的同步帧SF的偏移频道B′、B″或B″′中的一个偏移频道,来立即发起过渡。
在客户端设备处接收到过渡请求时,设备可以从可用的偏移频道来确定包括最接近的同步帧SF的频道。最接近的同步帧可以是请求之前最接近的同步帧或者请求之后最接近的同步帧SF。客户端设备可以利用作为频道B内容的第一帧的最接近同步帧SF来处理从频道A过渡到频道B内容。因为同步帧SF不需要对任何其他帧进行缓冲和解码,所以可在对同步帧SF解码时立刻在客户端设备上显示频道B的内容。
分发服务器可以向客户端设备提供所有偏移频道。在一个实施例中,频道B和附加频道B′、B″和B″′都是以相同质量提供的。在另一个实施例中,偏移频道B′、B″和B″′可以是质量比频道B的质量更低的频道。一旦遇到具有更高质量的频道B的同步帧,就可以从偏移频道B′、B″和B″′向频道B过渡。
在另一个实施例中,响应于来自客户端设备的请求,分发服务器可以向客户端设备仅提供包括最接近的同步帧的偏移频道。可以经由清单文件向客户端设备提供关于偏移频道和同步帧位置的信息。于是,利用清单文件中的信息,客户端设备可以确定哪个频道应当被发送到客户端设备并在发往分发服务器的请求中包括请求的频道。
在一个实施例中,可以将偏移频道与具有不同长度组块的频道混合,以提供可用同步帧的更好分布。尽管同步帧被示为处在图7中的组块的开始,但同步帧可以位于组块之内的其他位置。
频道流可以表示响应于从频道A过渡到频道B的请求而通过网络发送并由显示设备接收的数据。
响应于从频道A过渡到频道B的请求,客户端设备可以发出请求,以从分发服务器接收清单文件。所接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块的列表。清单文件可以包括关于多个频道的信息,该多个频道包括频道B的内容并具有彼此偏移的同步帧。基于清单文件中的信息和过渡请求的详情,客户端设备可以确定来自可用频道的哪个组块能够被更快地接收并解码。客户端设备可以选择包括距过渡请求最接近的同步帧的频道。客户端设备可以向分发服务器发送请求,以发送所选择的频道和来自与请求对应的频道的组块。可以由客户端设备解码并显示所接收的组块。
图8示出了根据本发明另一实施例的经由交错频道从第一频道过渡到第二频道的方法。图8示出了经由交错频道B′、B″和B″′中的一个偏移频道从解析成组块CH A.1-A.N的频道A过渡到解析成组块CH B.1-B.N的频道B。从频道A过渡到频道B可以包括首先过渡到交错频道B′、B″和B″′中的一个偏移频道,并在频道B中遇到同步帧SF时过渡到频道B。
频道A可以表示当前由分发服务器向客户端设备发送的频道,并且频道B可以表示分发服务器和/或客户端设备将响应于请求而过渡到的频道。可以将每个组块的第一帧编码为同步帧SF,该同步帧可以被解码而不参考视频序列任何先前编码的帧。在给定时间,频道B、B′、B″和B″′的每个频道中可用的内容可以相同。
尽管在给定时间为附加频道B′、B″和B″′提供与频道B相同的内容,但它们可仅包括频道B的相应组块中提供的内容的一部分。每个附加频道B′、B″和B″′都可以具有不包括在该频道中的对应组块的预先确定部分。例如,附加频道B′、B″和B″′中每个组块的第一部分可以具有未提供在组块中的不同的预先确定部分(例如,基于帧的数量或预先确定的持续时间)。在同步帧SF提供于每个组块的开始处的实施例中,由于组块的开始点和长度不同,同步帧SF将彼此偏移。
频道A和频道B可以包括具有不同内容的视频,或者可以包括相同的但是在比特率、帧速率和/或帧大小的不同变体下提供的视频内容。如图8所示,在频道B的同步帧SF不符合过渡请求时,接收到从频道A过渡到频道B的请求。为了避免一直等到频道B的下一同步帧SF才过渡到频道B,可以通过过渡到具有离请求更近的同步帧SF的交错频道B′、B″或B″′中的一个偏移频道来立即发起过渡。
在客户端设备处接收到过渡请求时,客户端设备可以从交错频道确定包括最接近的同步帧SF的中间频道(例如,频道B″)。最接近的同步帧SF可以是请求之前最接近的同步帧SF或者请求之后最接近的同步帧SF。客户端设备可以利用作为频道B内容的第一帧的中间频道(例如,频道B″)的最接近的同步帧SF来处理从频道A过渡到频道B内容。因为同步帧SF不需要对任何其他帧进行缓冲和解码,所以可在对中间频道的同步帧SF解码时立刻在客户端设备上显示频道B的内容。一旦(例如,在频道B″的组块结尾)遇到频道B的同步帧SF,就可以从中间频道过渡到频道B的同步帧SF。如图8所示,可以将附加频道中的每个组块的末尾与频道B的同步帧对准。
分发服务器可以向客户端设备提供所有交错频道。交错频道B′、B″和B″′可以是质量比频道B更低的频道。可以比频道B更低的质量来提供频道B′、B″和B″′的内容,直到遇到频道B的同步帧SF。一旦遇到频道B的同步帧,就可以过渡到频道B。
在另一个实施例中,响应于来自客户端设备的请求,分发服务器可以向客户端设备仅提供包括最接近的同步帧的交错频道。可以经由清单文件向客户端设备提供关于交错频道和同步帧位置的信息。于是,利用清单文件中的信息,客户端设备可以确定哪个频道应当被发送到客户端设备并在发往分发服务器的请求中包括请求的频道。
频道流可以表示响应于从频道A过渡到频道B的请求而通过网络发送并由显示设备接收的数据。
响应于从频道A过渡到频道B的请求,客户端设备可以发出从分发服务器接收清单文件的请求。所接收的清单文件可以为客户端设备提供可用频道以及与那些频道相关联的组块的列表。清单文件可以包括中间频道的列表,该中间频道包括具有频道B的对应组块的帧的仅部分。基于清单文件中的信息和过渡请求的详情,客户端设备可决定频道B中的目的帧是否与频道B中同步帧中的一个同步帧对准。如果频道B中的目的帧与频道B中的同步帧对准,那么可以由客户端设备接收并解码以包含对准的同步帧的组块开始的组块。
如果频道B中的目的帧不与频道B中的同步帧对准,客户端设备可确定是否可以利用具有频道B的对应组块的不同部分的中间频道中的一个或多个频道拉来减少过渡时间。如果不能减少过渡时间,那么客户端设备可以请求仅向客户端设备发送来自频道B的组块并由客户端设备解码。不过,如果可以减少过渡时间,客户端设备可以从中间频道选择包括最接近过渡请求的同步帧的频道。可以选择来自所选择的频道中包括最接近的同步帧的组块并请求被发送给客户端设备。
客户端设备可缓冲并解码所选择的组块。可解码并显示中间频道中的所选择的组块和后续组块,直到在频道B中遇到同步帧。一旦遇到频道B中的同步帧,可以由客户端设备接收、解码、并显示频道B的组块。
图9示出了根据本发明的实施例的利用多个可缩放频道的回放方法。图9示出了解析成组块CH A.1-A.N的频道A以及以多种速率和/或在不同时刻提供参考帧RF的多个频道B-D。频道B-D包括参考帧(例如同步帧或I帧),可以用于支持频道A中内容在播放机上的快进(ffwd)和/或快退(rwd)功能。可以组合多个频道B-D以提供ffwd和/或rwd功能的不同速度。可以由HTTP实时流(HLS)协议植入利用I帧的ffwd和rwd功能,但并不受此限制。
频道B-D可以提供不同速率下的参考帧。例如,频道B和C可以包括每秒八分之一帧的参考帧(即,每八秒一帧)。频道D可包括每秒半帧的参考帧(即,每两秒一帧)。频道B-D还可以包括彼此偏移的参考帧。例如,如图9所示,尽管频道B和C具有以相同速率提供的参考帧,但频道可以彼此偏移。所有的频道B-D都可具有与其他频道中的参考帧偏移的参考帧。
控制从频道B-D中的一个或多个频道提供的参考帧,可以为特定的ffwd和/或rwd功能提供所需的参考帧。例如,可以将来自所有频道B-D的参考帧用于慢速ffwd和/或rwd操作(例如,2X)。因为所有频道B-D中的参考帧都彼此偏移,所以可以将不同频道组合成具有高频率的参考帧的单个流。对于更快的ffwd和/或rwd操作,可以使用更少数量的参考帧。为了提高ffwd和/或rwd操作的速度,可以去除来自一个或多个频道的参考帧。例如,可以仅使用频道B和C来提供具有更高速度(例如4X)的ffwd和/或rwd操作。类似地,可以使用频道B和C中的仅一者来提供最快速度(例如8X)的ffwd和/或rwd操作。
分发服务器可以基于从客户端设备或移动设备接收的命令提供频道B-D中的一个或多个频道。分发服务器或客户端设备可以决定应当拉入哪些频道而不拉入特定操作所不需要的频道。分发服务器或客户端设备可以选择特定ffwd和/或rwd操作所需的参考帧数量,并确定应当向客户端设备或移动设备发送的频道,以执行请求的操作。一旦完成了ffwd和/或rwd操作,就可以使用上述过渡方法中的一种或多种过渡回到提供原始内容的频道(例如,频道A)。可以在清单文件中向客户端设备提供关于可用频道的信息。客户端设备可以基于清单文件中提供的信息来请求特定操作所需的频道。
也可以将上述过渡方法应用于提供具有不同高宽比的视频内容的频道之间的过渡。传统上,在接收高宽比与显示器的高宽比不同的视频内容时,或者在视频内容一些边缘处带黑色区域来显示视频内容,或者缩放视频内容并在边缘进行裁剪。通常在接收视频内容并解码之后执行裁剪。利用此类方法,裁剪的视频内容要等待不在显示设备上显示的比特。
可以使用多个频道以提供具有不同高宽比的相同视频内容。例如,第一频道的视频内容可以提供使用第一高宽比(例如16∶9)的视频,并且第二频道可以提供具有第二高宽比(例如4∶3)的相同视频内容。尽管第一高宽比可以对应于初始视频源的高宽比,但第二高宽比可以对应于初始视频源经缩放和裁剪后的视频。
因为第二频道不包括裁剪的区域,所以可以使用更少数量的比特对第二频道中视频内容的中心进行编码。或者,可以使用与第一频道相同数量但质量比第一频道质量更高的第二频道编码比特对。
在另一个实施例中,第一频道可以提供视频的中心内容,并且附加频道可以提供各种高宽比的视频内容的边内容。附加频道中的一个或多个频道可以添加到视频内容的中心以提供不同高宽比。中心内容可以对应于4:3的高宽比,而附加频道可以提供边内容以生成附加高宽比。例如,第一频道可以提供中心内容,第二频道可以提供16∶9的高宽比的边内容,第三频道可以提供2.4∶1的高宽比的边内容。在请求16∶9的高宽比时,可以组合第二频道和具有中心内容的第一频道两者,以提供具有16∶9高宽比的视频内容。在请求2.4∶1的高宽比时,可以组合第三频道和具有中心内容的第一频道,以提供具有2.4∶1高宽比的视频内容。在设备上仅显示中心内容(例如,4∶3高宽比)时,可以向显示设备仅发送第一频道。在一个实施例中,中心内容和具有边内容的频道可以重叠以提供更好的预测和进行混合。
分发服务器或客户端设备可以执行原始视频内容的处理以提供多个频道,该多个频道用于在显示设备处显示不同高宽比。例如,分发服务器或客户端设备可以进行第二频道的裁剪和编码。可以响应于用户请求或设备的自动操作,向显示设备(例如,客户端设备或移动设备)提供用于不同高宽比的频道。在做出此类请求时,可以使用上述方法中的一种或多种来从第一频道过渡到另一个频道。响应于该请求,分发服务器或客户端设备可以向显示设备发送多个频道以提供所请求的高宽比。该请求可以由用户,例如在用户使视频显示最大化或最小化时发出。例如,可以在用户旋转设备且视频在水平和竖直显示之间过渡时,由设备自动做出请求。
可以经由清单文件向客户端设备提供关于各种高宽比的可用频道的信息。客户端设备可以基于清单文件中提供的信息来请求特定高宽比所需的频道。
图10示出了根据本公开的实施例的用于提供不同高宽比的视频内容的方法1000。方法1000可包括接收具有第一高宽比的视频内容,以及响应于提供具有第二高宽比的视频请求,提供具有第二高宽比的视频内容。可通过利用具有第二高宽比的现有视频内容或通过获得可与已经接收的视频内容组合的边流以提供第二高宽比,来提供具有第二高宽比的视频内容。
该方法1000可以包括接收具有第一高宽比的编码的视频(框1010)。可以对具有第一高宽比的编码的视频解码(框1012)并在显示设备上显示(框1014)。响应于接收具有第二高宽比的相同视频内容的请求(框1016),可以确定具有第二高宽比的编码的视频数据是否可用(框1018)。如果具有第二高宽比的编码的视频数据可用,那么可以接收(框1020)并解码(框1022)具有第二高宽比的视频。可以利用第二高宽比在显示设备上显示解码的视频流(框1024)。
如果具有第二高宽比的编码的视频数据不可用,那么可以确定是否接收并组合附加频道以提供第二高宽比(框1026)。如果不能利用附加频道获得第二高宽比,那么可以仍然在显示设备上显示第一高宽比(框1014)。
不过,如果可以将附加频道中的内容与具有第一高宽比的视频内容组合,那么可以接收(框1028)并解码(框1030)具有附加内容的频道(例如,边流)。可以将解码的内容与具有第一高宽比的视频内容组合(框1032)。如果在视频内容之间有重叠,那么也可以在视频内容上执行混合(框1032)。可以在显示设备上以第二高宽比显示组合的视频内容(框1024)。可以使用上述过渡方法中的一种或多种来从具有第一高宽比的视频过渡到具有第二高宽比的视频。
在另一个实施例中,上述从第一频道过渡到第二频道的方法可包括减慢第一和/或第二频道的回放,以提供更多时间供第二频道的内容准备好回放。减慢第二频道的回放能够帮助向第二频道提供平滑过渡。可减慢第二频道的回放使得用户注意不到。可以在请求时减慢第二频道的回放。在另一个实施例中,在确定需要更多时间来缓冲和解码第二频道的数据时,可减慢第一或第二频道或任何中间频道的回放。可通过将预期或计算的过渡时间与预先确定的时间进行比较来做出判断。如果预期的过渡时间超过预先确定的时间,可以调整一个或多个频道的回放速度。在另一个实施例中,可以减慢第一频道的回放和第二频道的回放两者,以提供更多时间来缓冲和解码第二频道的内容。可以将这些方法应用于上述从第一频道过渡到第二频道的方法中的任一种。
在另一个实施例中,上述从第一频道过渡到第二频道的方法可以包括调整过渡持续时间(例如,动画过渡),以控制从第一频道向第二频道进行过渡的速度。过渡可以包括动画过渡,其包括,例如一种或多种效果。效果可以包括提供百叶窗、模糊、棋盘、交叉衰落、幕帘、滑动、推动、刷动、放大和缩小。动画过渡可以包括在过渡期间在更小分辨率流和更大分辨率流之间的动画效果。可减慢过渡以提供更多时间供第二频道的内容准备好回放。减慢第二频道的过渡能够帮助向第二频道提供平滑过渡。可减慢第二频道的过渡使得用户注意不到。在确定需要更多时间来缓冲和解码第二频道的数据时,可减慢第一或第二频道或任何中间频道的过渡。可通过将预期或计算的过渡时间与预先确定的时间进行比较来做出判断。如果预期的过渡时间超过预先确定的时间,可以调节动画过渡的持续时间。可将这些方法应用于上述从第一频道过渡到第二频道的方法中的任一种。
可组合上述方法中的一种或多种以从一个频道过渡到另一个频道。
图11为与本发明一起使用的具有集成编码服务器1110和分发服务器1150的系统1100的简化方框图。编码服务器1110可以包括缓冲存储装置1115、预处理器1120、编码引擎1125、参数选择器1130、质量估计器1135和目标比特率估计器1140。分发服务器1150可以包括分段器1155和存储器1160。
编码服务器1110可接收一个或多个视频并向每个接收的视频的分发服务器提供不同版本的编码的视频。分发服务器1150可以使用不同版本的编码的视频以改善从一个视频频道向另一个视频频道的过渡。各种版本的编码的视频可包括不同大小、帧速率、定时、组块大小和/或公共视频序列的关键帧位置。各种版本可包括具有不同高宽比的视频内容或包括提供于独立频道中的视频内容的不同部分。
缓冲器1115可以存储通常来自相机或存储设备的输入视频,以供编码服务器1110的其他部件处理。例如,预处理器1120可以改变视频序列的大小和/或帧速率。预处理器1120可以向从缓冲器1115读出的视频应用大小、帧速率和/或定时修改。预处理器1120可在编码服务器1110生成序列的其各种编码的版本时,对公共视频序列执行不同大小、帧速率和/或定时修改。
编码引擎1125可向来自预处理器1120的视频序列应用数据压缩操作。编码引擎1125可根据任何常用视频编码协议操作,视频编码协议包括MPEG、H.263、H.264和HEVC(H.265)系列编码标准。编码引擎1125可向视频序列的不同要素应用编码参数,包括例如,编码模式选择和量化参数选择。编码模式选择可以选择待应用于被编码的帧的编码模式,例如,是否将输入帧编码为I帧、P帧或B帧。量化参数选择可选择量化参数以应用于变换系数(或其他数据),以在熵编码和传输之前截取这些数据要素。
参数选择器1130可以向预处理器1120和/或编码引擎1125生成参数数据,以支配它们的操作。例如,参数选择器1130可致使预处理器1120改变向编码引擎1125输出的数据的大小、帧速率和/或定时。参数选择器1130可向编码引擎1125施加编码模式和/或量化参数。参数选择器1130可以基于从目标比特率估计器1140接收的比特率估计和/或基于源视频的复杂性估计,选择编码参数。
质量估计器1135可估计由编码引擎输出的编码的视频数据的质量。质量估计器1135可输出数字数据,其表示编码的视频数据的质量的量化估计。
目标比特率估计器1140可基于待由分发服务器1150支持的数据速率来生成用于视频段的比特率估计值。
在操作期间,目标比特率估计器1140可向视频序列分配比特率,并基于由分发服务器1150提供的数据率和组块大小估计值来确定刷新率。响应于由目标比特率估计器1140选择的比特率并基于视频序列自身的分析,参数选择器1130可以选择用于预处理器1120和/或编码引擎1125的工作参数。例如,参数选择器1130可以致使预处理器1120调整视频序列的帧大小(或分辨率)。参数选择器1130还可以向视频序列内的帧选择编码模式和量化参数。编码引擎1125可通过运动补偿预测技术处理输入的视频并输出表示输入的视频序列的编码的视频数据。
质量估计器1135可评估编码的视频数据并估计根据选择的参数编码的视频序列的质量。质量估计器1135可确定编码的质量是否符合与由分发服务器1150设置的比特率相关联的预先确定的质量阈值。如果质量估计器1135确定编码符合阈值,质量估计器1135可使编码生效。相反,如果质量估计器1135确定编码不符合与目标比特率相关联的足够高质量阈值,质量估计器1135可修正由参数选择器1130应用的编码参数并可致使预处理器1120和编码引擎1125对源视频重复操作。
一旦参数选择器1130选择了满足由质量估计器1135建立的质量度量的一组处理和编码参数,编码服务器1110就可推进到由分发服务器1150支持的下一个比特率。再次,参数选择器1130和质量估计器1135可以递归地操作,选择参数,在预处理操作和编码中应用它们,估计由此获得的编码的视频数据的质量以及修改参数,直到符合质量要求。
在一些应用中,上文描述的模块可被提供为集成软件系统的元件,其中可将块提供为计算机程序的独立元件。例如,可利用可以存储指令或一组指令的非暂态计算机可读存储介质或物品来实施一些实施例,所述指令如果由处理器执行,可致使处理器执行根据所公开的实施例的方法。可将本发明的其他应用实现为专用硬件和软件部件的混合系统。
示例性方法和计算机程序指令可包含于非暂态机器可读存储介质上。此外,服务器或数据库服务器可以包括被配置成存储机器可执行程序指令的机器可读介质。本发明实施例的特征可实现于硬件、软件、固件、或其组合中并用于系统、子系统、部件或其子部件中。“机器可读存储介质”可以包括能够存储信息的任何介质。机器可读存储介质的实例包括电子电路、半导体存储器件、ROM、闪速存储器、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质或任何电磁或光存储设备。
应当理解,在任何实际具体实施的开发中(如在任何开发项目中那样),必须要做出许多决策以实现开发者的特定目标(例如符合与系统和商务相关的约束条件),并且这些目标将在不同具体实施之间变化。还应当理解,此类开发工作可能是复杂的且费时的,但尽管如此,对于受益于本公开的数字视频捕获、处理和分布领域的那些普通技术人员而言,这仍然是他们的日常工作。
尽管本文例示和描述的过程包括一系列步骤,但将认识到,本公开的不同实施例不受例示步骤次序的限制,因为除本文所示所述那些之外,一些步骤可以按照不同次序出现,一些与其他步骤同时进行。此外,可能不需要所有例示的步骤来实施根据本发明的方法。此外,应当理解,可结合本文所示及所述的设备和系统以及结合未例示的其他系统实施各种过程。
应当理解,以上描述旨在是示例性的而非限制性的。例如,可彼此结合地使用上述实施例。在回顾以上描述时,很多其他的实施例对于本领域的技术人员而言将是显而易见的。因此应当参考所附权利要求以及此权利要求被授权的等同物的完整范围来确定本发明的范围。
Claims (18)
1.一种视频流传输方法,包括,在客户端设备处,:
从编码的视频数据的第一序列接收传输单元;
对来自所述第一序列的所述传输单元进行解码;
响应于过渡到编码的视频数据的第二序列的请求,由清单文件确定是否可以通过经由编码的视频数据的中间序列过渡到编码的视频数据的第二序列来减少过渡到编码的视频数据的所述第二序列的时间,其中所述确定是从被从编码的视频数据的第二序列的传输单元的源接收到的清单文件中包含的数据得出的,该数据描述了中间序列的传输单元与第二序列的传输单元之间的相关性;
如果能够减少所述时间:
从编码的视频数据的与该过渡请求对应的中间序列接收至少一个传输单元,
对来自所述中间序列的传输单元进行解码,以及
经由解码的来自所述中间序列的传输单元从所述第一序列过渡到所述第二序列。
2.根据权利要求1所述的方法,其中以比编码的视频数据的所述第二序列的比特率低的比特率来对编码的视频数据的所述中间序列进行编码。
3.根据权利要求1所述的方法,其中所述中间序列中的传输单元的持续时间小于所述第二序列中的传输单元的持续时间。
4.根据权利要求1所述的方法,其中编码的视频数据的所述第一序列和编码的视频数据的所述第二序列的内容是实况广播。
5.根据权利要求1所述的方法,其中在所述第二序列中遇到同步帧时,处理从所述中间序列向所述第二序列的过渡。
6.根据权利要求1所述的方法,其中,如果不能减少所述时间,则接收来自与该过渡请求对应的编码的视频数据的第二序列的至少一个传输单元,并且解码来自第二序列的该传输单元。
7.一种视频流传输方法,包括,在客户端设备处,:
从编码的视频数据的第一序列接收传输单元;
对来自所述第一序列的所述传输单元进行解码;
响应于过渡到编码的视频数据的第二序列的请求,由清单文件确定是否可以通过经由编码的视频数据的多个中间序列中的一个中间序列过渡到编码的视频数据的所述第二序列来减少过渡到编码的视频数据的所述第二序列的时间,所述多个中间序列包括具有不同持续时间的交错序列中的每个交错序列中的传输单元,并且所述传输单元是交错的,使得多个交错序列的同步帧是交错的,其中所述确定是从被从编码的视频数据的第二序列的传输单元的源接收到的清单文件中包含的数据得出的,该数据描述了中间序列的传输单元与第二序列的传输单元之间的相关性;
如果能够减少所述时间:
从与该过渡请求对应的包括同步帧的中间序列接收传输单元,
对来自所述中间序列的所述传输单元进行解码,以及
经由解码的所述中间序列的传输单元从所述第一序列过渡到所述第二序列。
8.根据权利要求7所述的方法,其中编码的视频数据的所述第一序列和编码的视频数据的所述第二序列的内容是实况广播。
9.根据权利要求7所述的方法,其中所述多个交错序列的所述传输单元中的每个传输单元中的所述同步帧位于传输单元的开始处。
10.根据权利要求7所述的方法,其中所述多个交错序列的所述传输单元中的每个传输单元的最末帧与所述第二序列的所述同步帧中的一个同步帧对准。
11.根据权利要求7所述的方法,其中,如果不能减少所述时间,则接收来自与该过渡请求对应的编码的视频数据的第二序列的至少一个传输单元,并且解码来自第二序列的该传输单元。
12.一种用于视频流传输的客户端设备,包括:
用于存储来自编码的视频序列的传输单元的缓冲器;
用于对存储在所述缓冲器中的传输单元进行解码的解码器;和
控制器,所述控制器被配置为:
请求包括第一视频内容的传输单元被发送至所述缓冲器;
响应于过渡到第二视频内容的请求,请求包括关于包括所述第二视频内容的多个编码的视频序列的信息的清单文件;
选择要过渡到的所述多个编码的视频序列中的一个视频序列,并确定是否应当经由所述多个编码的视频序列中的一个或多个视频序列来向所选择的编码的视频序列进行过渡,其中所述选择和确定是从所述清单文件中包含的数据得出的,该数据描述了所选择的编码的视频序列与所述多个编码的视频序列中的所述一个或多个视频序列之间的相关性;
如果确定经由所述多个编码的视频序列中的一个或多个视频序列过渡到所选择的编码的视频序列,则请求来自所述多个编码的视频序列的至少一个传输单元被发送至所述缓冲器;以及
请求来自所选择的编码的视频序列的传输单元被发送至所述缓冲器。
13.根据权利要求12所述的客户端设备,其中,如果确定直接过渡到所选择的编码的视频序列,则请求来自所选择的编码的视频序列的传输单元被发送至所述缓冲器。
14.一种包含计算机可执行指令的非暂态计算机可读介质,所述非暂态计算机可读介质用于使得计算机执行指令,该计算机指令包括:
从编码的视频数据的第一序列接收传输单元;
对来自所述第一序列的所述传输单元进行解码;
响应于过渡到编码的视频数据的第二序列的请求,从清单文件确定是否可以通过经由编码的视频数据的中间序列过渡到编码的视频数据的所述第二序列来减少过渡到编码的视频数据的所述第二序列的时间,其中所述确定是从被从编码的视频数据的第二序列的传输单元的源接收到的清单文件中包含的数据得出的,该数据描述了中间序列的传输单元与第二序列的传输单元之间的相关性;
如果能够减少所述时间:
从与该过渡请求对应的编码的视频数据的中间序列接收至少一个传输单元,
对来自所述中间序列的传输单元进行解码,以及
经由解码的来自所述中间序列的传输单元从所述第一序列过渡到所述第二序列。
15.根据权利要求14所述的非暂态计算机可读介质,其中,如果不能减少所述时间,则接收来自与该过渡请求对应的编码的视频数据的第二序列的至少一个传输单元,并且解码来自第二序列的该传输单元。
16.一种包含计算机可执行指令的非暂态计算机可读介质,所述非暂态计算机可读介质用于使得客户端计算机执行指令,该计算机指令包括:
从编码的视频数据的第一序列接收传输单元;
对来自所述第一序列的所述传输单元进行解码;
响应于过渡到编码的视频数据的第二序列的请求,从清单文件确定是否可以通过经由编码的视频数据的多个中间序列中的一个中间序列过渡到编码的视频数据的所述第二序列来减少过渡到编码的视频数据的所述第二序列的时间,所述多个中间序列包括具有不同持续时间的交错序列中的每个交错序列中的传输单元,并且所述传输单元是交错的,使得多个交错序列的同步帧是交错的,其中所述确定是从被从编码的视频数据的第二序列的传输单元的源接收到的清单文件中包含的数据得出的,该数据描述了中间序列的传输单元与第二序列的传输单元之间的相关性;
如果能够减少所述时间:
从与该过渡请求对应的包括同步帧的中间序列接收传输单元,
对来自所述中间序列的所述传输单元进行解码,以及
经由解码的所述中间序列的传输单元从所述第一序列过渡到所述第二序列。
17.根据权利要求16所述的非暂态计算机可读介质,其中,如果不能减少所述时间,则接收来自与该过渡请求对应的编码的视频数据的第二序列的至少一个传输单元,并且解码来自第二序列的该传输单元。
18.一种用于视频流传输的设备,包括:
处理器;以及
包含指令的非暂态计算机可读介质,所述指令在被执行时能使得所述处理器执行根据权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911132024.1A CN110996126A (zh) | 2013-03-13 | 2014-02-25 | 视频流传输方法、设备、客户端设备和计算机可读介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/800,905 US9900629B2 (en) | 2013-03-13 | 2013-03-13 | Codec techniques for fast switching with intermediate sequence |
US13/800,905 | 2013-03-13 | ||
PCT/US2014/018285 WO2014163867A2 (en) | 2013-03-13 | 2014-02-25 | Codec techniques for fast switching |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911132024.1A Division CN110996126A (zh) | 2013-03-13 | 2014-02-25 | 视频流传输方法、设备、客户端设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105144727A CN105144727A (zh) | 2015-12-09 |
CN105144727B true CN105144727B (zh) | 2019-11-19 |
Family
ID=50382546
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911132024.1A Pending CN110996126A (zh) | 2013-03-13 | 2014-02-25 | 视频流传输方法、设备、客户端设备和计算机可读介质 |
CN201480013866.4A Active CN105144727B (zh) | 2013-03-13 | 2014-02-25 | 视频流传输方法、设备、客户端设备和计算机可读介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911132024.1A Pending CN110996126A (zh) | 2013-03-13 | 2014-02-25 | 视频流传输方法、设备、客户端设备和计算机可读介质 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9900629B2 (zh) |
EP (1) | EP2954681B1 (zh) |
KR (1) | KR102218385B1 (zh) |
CN (2) | CN110996126A (zh) |
TW (1) | TWI596933B (zh) |
WO (1) | WO2014163867A2 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140111859A (ko) * | 2013-03-12 | 2014-09-22 | 삼성전자주식회사 | 콘텐트 공유 방법 및 이를 위한 디바이스 |
EP3025525B1 (en) | 2013-07-25 | 2018-12-12 | Convida Wireless, LLC | End-to-end m2m service layer sessions |
US9900362B2 (en) | 2014-02-11 | 2018-02-20 | Kiswe Mobile Inc. | Methods and apparatus for reducing latency shift in switching between distinct content streams |
US20160323351A1 (en) | 2015-04-29 | 2016-11-03 | Box, Inc. | Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques |
KR102186742B1 (ko) * | 2015-06-25 | 2020-12-04 | 인더스마트 주식회사 | 고속 단거리 인터페이스용 안드로이드 시스템을 위한 다중 영상 장치 및 이미지 처리 방법 |
CA3014370A1 (en) * | 2016-02-16 | 2017-08-24 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Device, system and method for adaptive streaming |
WO2017196670A1 (en) | 2016-05-13 | 2017-11-16 | Vid Scale, Inc. | Bit depth remapping based on viewing parameters |
WO2017218785A1 (en) | 2016-06-15 | 2017-12-21 | Convida Wireless, Llc | Grant-less uplink transmission for new radio |
EP4336850A3 (en) | 2016-07-08 | 2024-04-17 | InterDigital Madison Patent Holdings, SAS | Systems and methods for region-of-interest tone remapping |
US20180091812A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Video compression system providing selection of deblocking filters parameters based on bit-depth of video data |
EP3520243A2 (en) | 2016-11-03 | 2019-08-07 | Convida Wireless, LLC | Frame structure in nr |
CN106791870B (zh) * | 2016-11-30 | 2019-11-05 | 华为技术有限公司 | 一种视频编码方法、视频解码方法以及相关设备 |
CN110301136B (zh) * | 2017-02-17 | 2023-03-24 | 交互数字麦迪逊专利控股公司 | 在流传输视频中进行选择性感兴趣对象缩放的系统和方法 |
CN110383848B (zh) | 2017-03-07 | 2022-05-06 | 交互数字麦迪逊专利控股公司 | 用于多设备呈现的定制视频流式传输 |
CN106961625B (zh) * | 2017-03-13 | 2020-02-21 | 华为技术有限公司 | 一种频道切换方法及其装置 |
CN106937141A (zh) * | 2017-03-24 | 2017-07-07 | 北京奇艺世纪科技有限公司 | 一种码流切换方法及装置 |
EP3393129A1 (en) * | 2017-04-21 | 2018-10-24 | Alcatel-Lucent España, S.A. | Multimedia content delivery with reduced delay |
US10523820B2 (en) * | 2017-06-02 | 2019-12-31 | Apple Inc. | High-quality audio/visual conferencing |
GB2563387B (en) * | 2017-06-09 | 2020-04-15 | Sony Interactive Entertainment Inc | Image processing device and system |
US10873775B2 (en) | 2017-06-12 | 2020-12-22 | Netflix, Inc. | Staggered key frame video encoding |
US11470131B2 (en) | 2017-07-07 | 2022-10-11 | Box, Inc. | User device processing of information from a network-accessible collaboration system |
CN111066329A (zh) * | 2017-09-08 | 2020-04-24 | 连株式会社 | 控制视频质量 |
US10791366B2 (en) * | 2017-11-30 | 2020-09-29 | Hulu, LLC | Fast channel change in a video delivery network |
CN108307248B (zh) * | 2018-02-01 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算设备及存储介质 |
CA3094034A1 (en) | 2018-04-26 | 2019-10-31 | Phenix Real Time Solutions, Inc. | Adaptive bit-rate methods for live broadcasting |
US11871451B2 (en) | 2018-09-27 | 2024-01-09 | Interdigital Patent Holdings, Inc. | Sub-band operations in unlicensed spectrums of new radio |
KR102654716B1 (ko) * | 2019-02-11 | 2024-04-04 | 한화비전 주식회사 | 요청된 영상 재생시점에 따라 영상을 재생하는 방법 및 그 장치 |
US10735516B1 (en) * | 2019-02-15 | 2020-08-04 | Signiant Inc. | Cloud-based authority to enhance point-to-point data transfer with machine learning |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
US11323730B2 (en) | 2019-09-05 | 2022-05-03 | Apple Inc. | Temporally-overlapped video encoding, video decoding and video rendering techniques therefor |
GB202015670D0 (en) * | 2020-10-02 | 2020-11-18 | Communication Security Group Inc | End-to-end encrypted group communications |
CN115734026A (zh) * | 2021-08-31 | 2023-03-03 | 北京字跳网络技术有限公司 | 视频的处理方法、装置及系统 |
KR20230034064A (ko) * | 2021-09-02 | 2023-03-09 | 삼성전자주식회사 | 디스플레이 장치 및 그의 동작 방법 |
CN114071179B (zh) * | 2021-11-22 | 2023-12-26 | 北京字跳网络技术有限公司 | 一种直播预览方法、装置、设备及介质 |
US11806078B1 (en) | 2022-05-01 | 2023-11-07 | Globe Biomedical, Inc. | Tear meniscus detection and evaluation system |
CN115802074B (zh) * | 2022-11-10 | 2024-03-29 | 中国联合网络通信集团有限公司 | 一种多路视频传输方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1487215A2 (en) * | 2003-06-13 | 2004-12-15 | Microsoft Corporation | Fast start-up for digital video streams |
WO2009133427A1 (en) * | 2008-04-28 | 2009-11-05 | Nds Limited | Frame accurate switching |
WO2010069427A1 (en) * | 2008-12-19 | 2010-06-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream |
CN102057593A (zh) * | 2008-06-03 | 2011-05-11 | 阿尔卡特朗讯美国公司 | 用于减少网际协议电视的信道改变响应时间的方法和设备 |
WO2011102791A1 (en) * | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for representation switching in http streaming |
EP2395754A1 (en) * | 2010-06-14 | 2011-12-14 | Thomson Licensing | Receiver and method at the receiver for enabling channel change with a single decoder |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415326B1 (en) * | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6909743B1 (en) * | 1999-04-14 | 2005-06-21 | Sarnoff Corporation | Method for generating and processing transition streams |
FI114527B (fi) | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
US20040160974A1 (en) | 2003-02-13 | 2004-08-19 | Read Christopher Jensen | Method and system for rapid channel change within a transport stream |
EP1634457B9 (en) * | 2003-06-16 | 2019-05-08 | Thomson Licensing | Encoding method and apparatus enabling fast channel change of compressed video |
US8249113B2 (en) | 2004-03-19 | 2012-08-21 | Broadlogic Network Technologies, Inc. | Method and system for providing faster channel switching in a digital broadcast system |
US20070174880A1 (en) * | 2005-07-05 | 2007-07-26 | Optibase Ltd. | Method, apparatus, and system of fast channel hopping between encoded video streams |
US8340098B2 (en) * | 2005-12-07 | 2012-12-25 | General Instrument Corporation | Method and apparatus for delivering compressed video to subscriber terminals |
US8330866B2 (en) * | 2006-02-21 | 2012-12-11 | Qualcomm Incorporated | Multi-program viewing in a wireless apparatus |
US7965771B2 (en) | 2006-02-27 | 2011-06-21 | Cisco Technology, Inc. | Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network |
JP5043096B2 (ja) | 2006-04-18 | 2012-10-10 | トムソン ライセンシング | チャネル変更方法及びデジタル・ビデオ装置 |
US8335873B2 (en) | 2006-09-14 | 2012-12-18 | Opentv, Inc. | Method and systems for data transmission |
US9344682B2 (en) | 2006-10-02 | 2016-05-17 | Telefonaktiebolaget L M Ericsson | Multi-media management |
EP2304956A1 (en) * | 2008-07-28 | 2011-04-06 | Thomson Licensing | Method and apparatus fast channel change using a scalable videdo coding (svc) stream |
CN102187667B (zh) * | 2008-08-26 | 2014-07-23 | Csir公司 | 从第一编码视频流切换到第二编码视频流的方法 |
US20100118938A1 (en) * | 2008-11-12 | 2010-05-13 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoder and method for generating a stream of data |
CN101753973B (zh) * | 2008-12-12 | 2013-01-02 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
KR101777347B1 (ko) * | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
JP5781550B2 (ja) * | 2010-03-08 | 2015-09-24 | サムスン エレクトロニクス カンパニー リミテッド | メディアコンテンツデータ再生装置及び方法 |
US9137278B2 (en) * | 2010-04-08 | 2015-09-15 | Vasona Networks Inc. | Managing streaming bandwidth for multiple clients |
US8918533B2 (en) * | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US20120076204A1 (en) * | 2010-09-23 | 2012-03-29 | Qualcomm Incorporated | Method and apparatus for scalable multimedia broadcast using a multi-carrier communication system |
EP2485472A1 (en) * | 2011-02-04 | 2012-08-08 | Thomson Licensing | Fast channel change companion stream solution with bandwidth optimization |
JP6008292B2 (ja) * | 2011-02-10 | 2016-10-19 | パナソニックIpマネジメント株式会社 | ビデオストリームの映像のデータ作成装置及び再生装置 |
WO2012111325A1 (ja) * | 2011-02-17 | 2012-08-23 | パナソニック株式会社 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像再生装置、映像再生方法及び映像再生プログラム |
KR101804516B1 (ko) * | 2011-08-31 | 2017-12-07 | 삼성전자주식회사 | 방송 수신 장치 및 방법 |
EP3068102B1 (en) * | 2011-12-29 | 2017-11-08 | Koninklijke KPN N.V. | Network-initiated content streaming control |
-
2013
- 2013-03-13 US US13/800,905 patent/US9900629B2/en active Active
-
2014
- 2014-02-25 WO PCT/US2014/018285 patent/WO2014163867A2/en active Application Filing
- 2014-02-25 EP EP14712806.0A patent/EP2954681B1/en active Active
- 2014-02-25 KR KR1020157025084A patent/KR102218385B1/ko active IP Right Grant
- 2014-02-25 CN CN201911132024.1A patent/CN110996126A/zh active Pending
- 2014-02-25 CN CN201480013866.4A patent/CN105144727B/zh active Active
- 2014-03-12 TW TW103108827A patent/TWI596933B/zh active
-
2017
- 2017-12-18 US US15/845,287 patent/US10638169B2/en active Active
-
2018
- 2018-11-05 US US16/180,115 patent/US20190075342A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1487215A2 (en) * | 2003-06-13 | 2004-12-15 | Microsoft Corporation | Fast start-up for digital video streams |
WO2009133427A1 (en) * | 2008-04-28 | 2009-11-05 | Nds Limited | Frame accurate switching |
CN102057593A (zh) * | 2008-06-03 | 2011-05-11 | 阿尔卡特朗讯美国公司 | 用于减少网际协议电视的信道改变响应时间的方法和设备 |
WO2010069427A1 (en) * | 2008-12-19 | 2010-06-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream |
WO2011102791A1 (en) * | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for representation switching in http streaming |
EP2395754A1 (en) * | 2010-06-14 | 2011-12-14 | Thomson Licensing | Receiver and method at the receiver for enabling channel change with a single decoder |
Also Published As
Publication number | Publication date |
---|---|
CN110996126A (zh) | 2020-04-10 |
US9900629B2 (en) | 2018-02-20 |
US20190075342A1 (en) | 2019-03-07 |
WO2014163867A2 (en) | 2014-10-09 |
US20180109824A1 (en) | 2018-04-19 |
TWI596933B (zh) | 2017-08-21 |
TW201448575A (zh) | 2014-12-16 |
US20140269932A1 (en) | 2014-09-18 |
CN105144727A (zh) | 2015-12-09 |
KR20150126860A (ko) | 2015-11-13 |
KR102218385B1 (ko) | 2021-02-22 |
EP2954681A2 (en) | 2015-12-16 |
US10638169B2 (en) | 2020-04-28 |
EP2954681B1 (en) | 2019-11-13 |
WO2014163867A3 (en) | 2015-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144727B (zh) | 视频流传输方法、设备、客户端设备和计算机可读介质 | |
CN106537923B (zh) | 自适应视频流的技术 | |
AU2014223523B2 (en) | Adaptive streaming techniques | |
CN111526418B (zh) | 用于在自适应流播环境中实行快速频道改变的系统和方法 | |
EP3448021B1 (en) | Video encoding and decoding method and device | |
US10003626B2 (en) | Adaptive real-time transcoding method and streaming server therefor | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
WO2017048447A1 (en) | Method and apparatus for providing power saving media content | |
CN109068169A (zh) | 一种视频播放方法及装置 | |
US10419581B2 (en) | Data cap aware video streaming client | |
JP2014090419A (ja) | 通信パラメータに従ってコンテンツをダウンロードするための方法、および、関連するコンテンツ受信機 | |
CN108028954A (zh) | 用于回放功率节省媒体内容的方法、系统和装置 | |
EP3354033B1 (en) | Dynamic seeking in video delivery systems | |
US20160366433A1 (en) | Coding of Video and Audio with Initialization Fragments | |
KR20130043666A (ko) | 가변 지속기간 미디어 세그먼트들을 사용하여 미디어 콘텐츠를 스트리밍하기 위한 방법 및 장치 | |
WO2017114393A1 (zh) | Http流媒体传输方法及装置 | |
CN118138781A (zh) | 一种视频播放方法、装置、系统、设备和存储介质 | |
CN108574692A (zh) | 用于使用jpeg 2000进行自适应流送的系统和方法 | |
JP2007274319A (ja) | 映像通信装置、映像通信方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |