CN110636372A - 视频解码方法、视频解码器的初始化方法以及装置 - Google Patents
视频解码方法、视频解码器的初始化方法以及装置 Download PDFInfo
- Publication number
- CN110636372A CN110636372A CN201910951679.5A CN201910951679A CN110636372A CN 110636372 A CN110636372 A CN 110636372A CN 201910951679 A CN201910951679 A CN 201910951679A CN 110636372 A CN110636372 A CN 110636372A
- Authority
- CN
- China
- Prior art keywords
- video
- video data
- resolution
- video decoder
- code rate
- 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.)
- Granted
Links
Images
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/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, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
Abstract
本申请提供一种视频解码方法、视频解码器的初始化方法以及装置,所述方法包括:获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;将所述切换请求发送给服务器;接收所述服务器返回的所述更高码率的视频数据;利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,所述视频解码器的输入缓存区中的每个缓存空间的大小与设定的最大码率相适应,所述更高码率小于等于所述最大码率,在码流切换时,无需对当前解码器进行销毁重建,继而解决了在视频码流切换过程中的播放黑屏或暂停的问题,提高用户的视频观看体验。
Description
技术领域
本申请涉及流媒体技术领域,具体而言,涉及一种视频解码方法、视频解码器的初始化方法以及装置。
背景技术
随着移动互联网的发展,流媒体业务既有更为广泛的应用范围,同时又面临着新的问题:
无线信道的不稳定性对流媒体业务的播控系统提出了更高的要求,因此,一般的移动、流媒体系统都需要专门针对不同的设备或者网络环境提供不同码率的码流,并且移动流媒体客户端会根据自适应码流算法来以切换不同码率的码流,进而保障用户体验质量。在从低码率视频切换到高码率视频来播放的过程中,目前市场上的视频播放应用,一般都会存在播放黑屏或暂停,这个就是由于解码器经历了销毁到重建的过程,通过在不同机型的设备上进行测试,这个过程大概需要100~140ms,降低视频播放质量。
申请内容
鉴于此,本申请实施例的目的在于提供一种视频解码方法、视频解码器初始化方法以及装置,以解决在将视频码流切换为更高码率的过程中的播放黑屏或暂停的问题。
第一方面,本申请实施例提供一种视频解码方法,所述方法包括:获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;将所述切换请求发送给服务器;接收所述服务器返回的所述更高码率的视频数据;利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
在上述实现过程中,由于现有技术中的解码器的输入缓冲区中的每个缓存空间的大小是根据当前播放码率的视频数据的分辨率来分配的,其中,码率与分辨率是呈正相关的,视频数据中的每帧视频数据的大小与分辨率呈正相关,因此,在需要切换到更高码率时,由于解码所述当前播放码率的视频数据的解码器的输入缓冲区中的缓存空间无法存储所述更高码率的视频数据,继而需要将当前解码器进行销毁重建,继而导致播放黑屏或暂停,因此,本申请通过在获取到切换请求之前,将所述视频解码器的输入缓存区中的每个缓存空间的大小设置为与设定的最大码率相适应的内存大小,而更高码率小于等于该最大码率,继而在获取到需要将当前播放的视频数据切换到更高码率的视频数据的切换请求时,能够利用当前解码器进行直接解码,无需对当前解码器进行销毁重建,继而解决了在视频码流切换过程中的播放黑屏或暂停的问题,提高用户的视频观看体验。
基于第一方面,在一种可能的设计中,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;将所述视频播放请求发送给所述服务器;接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率;基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
在上述实现过程中,在接收表征需要播放所述视频内容的视频播放请求之后,通过从与所述视频内容对应的至少两个视频数据的分辨率中,确定出值最大的分辨率,继而在对视频解码器进行初始化的过程中,对所述视频数据的帧格式对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,继而保证所述视频解码器的每个缓存空间能够存储与所述视频内容对应的不同码率的视频数据,所以省去了后续在切换到更高码率时的缓存区的销毁重建。
基于第一方面,在一种可能的设计中,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息;将所述视频播放请求发送给所述服务器;接收所述服务器返回的所述服务器从预先存储的身份标识与分辨率的对应关系中查找出的与所述身份标识对应的至少两个历史分辨率,以及与所述标识信息对应的视频数据的帧格式;其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率;从所述至少两个历史分辨率中,确定出分辨率的值最大的历史分辨率;所述值最大的历史分辨率为所述最大码率对应的分辨率;基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的历史分辨率匹配的内存大小。
在上述实现过程中,由于某些用户为了节约流量或者是习惯使然,所以完全不会使用很高的码率来观看视频,因此,在接收表征需要播放所述视频内容的视频播放请求之后,其中,所述视频播放请求中包括表征用户身份的身份标识,通过确定用户在当前时刻之前观看的视频数据的至少两个历史分辨中的值最大的历史分辨率来初始化与所述帧格式对应的解码器,因此,在该用户需要对当前播放的视频数据进行码率切换时,不仅不会造成视频播放黑屏和暂停,而且,还会为用户节约内存空间,实现个性化定制,提高用户体验。
基于第一方面,在一种可能的设计中,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;将所述视频播放请求发送给所述服务器;接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的帧格式;基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;获取当前网络状态;其中,所述当前网络状态为无线网络或移动网络;获取预先设定的在所述当前网络状态下的最高分辨率;其中,不同网络状态下的最高分辨率不同;所述最高分辨率为所述最大码率对应的分辨率;在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述最高分辨率匹配的内存大小。
在上述实现过程中,在用户在移动网络环境下观看视频时,移动流量消耗大,若使用很高的码率来播放视频,会增加用户流量费负担,在用户在无线网络环境下观看视频时,可以使用较高的码率来播放视频。因此,可以为两种网络状态设定不同的最大分辨率,在接收表征需要播放所述视频内容的视频播放请求之后,可以利用与所述当前网络状态匹配的最大分辨率初始化视频解码器,因此,在用户在移动网络环境下观看视频时,不会消耗太多的移动流量,在用户在无线网络环境下观看视频时,保证用户的视频观看质量,提高用户体验。
第三方面,本申请实施例提供一种视频播放装置,所述装置包括:切换请求获取单元,用于获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;切换请求发送单元,用于将所述切换请求发送给服务器;视频数据接收单元,用于接收所述服务器返回的所述更高码率的视频数据;解码单元,用于利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
基于第三方面,在一种可能的设计中,所述装置还包括:第一播放请求接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;第一播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第一元信息接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;第一分辨率确定单元,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率;第一视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;第一初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
基于第三方面,在一种可能的设计中,所述装置还包括:第二播放请求接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息;第二播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第二历史分辨率接收单元,用于接收所述服务器返回的所述服务器从预先存储的身份标识与分辨率的对应关系中查找出的与所述身份标识对应的至少两个历史分辨率,以及与所述标识信息对应的视频数据的帧格式;其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率;第二分辨率确定单元,用于从所述至少两个历史分辨率中,确定出分辨率的值最大的历史分辨率;所述值最大的历史分辨率为所述最大码率对应的分辨率;第二视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;第二初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的历史分辨率匹配的内存大小。
基于第三方面,在一种可能的设计中,所述装置还包括:第四播放请接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;第四播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第四历史分辨率接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的帧格式;第四视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;网络状态获取单元,用于获取当前网络状态;其中,所述当前网络状态为无线网络或移动网络;第四分辨率确定单元,用于获取预先设定的在所述当前网络状态下的最高分辨率;其中,不同网络状态下的最高分辨率不同;所述最高分辨率为所述最大码率对应的分辨率;第四初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述最高分辨率匹配的内存大小。
第四方面,本申请实施例提供一种视频解码器的初始化装置,所述装置包括:第三播放请求接收单元,用于接收表征需要播放视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;第三播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第三元信息接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;第三分辨率确定单元,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;第三视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;第三初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
第五方面,本申请实施例提供一种电子设备,所述电子设备包括:显示屏、视频解码器和处理器;所述处理器分别与所视频解码器和所述显示屏连接;所述处理器,用于获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;将所述切换请求发送给服务器;接收所述服务器返回的所述更高码率的视频数据;以及将所述更高码率的视频数据发送给所述视频解码器;所述视频解码器,用于对所述更高码率的视频数据进行解码,得到解码后的视频数据,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与所述视频内容具有的最大码率相适应;所述显示屏,用于显示所述解码后的视频数据。
第六方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面和第二方面所述的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的视频解码方法的流程图。
图2为本申请实施例提供的视频解码器初始化方法的流程图。
图3为本申请实施例提供的视频播放装置的结构示意图。
图4为本申请实施例提供的视频解码器的初始化装置的结构示意图。
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1为本申请实施例提供的一种视频解码方法的流程图,所述方法包括步骤:S100、S200、S300、S400以及S500。
S100:客户端获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容。
S200:所述客户端将所述切换请求发送给服务器。
S300:所述服务器接收所述切换请求。
S400:所述服务器基于所述切换请求向所述客户端发送所述更高码率的视频数据;
S500:所述客户端接收所述更高码率的视频数据;
S600:所述客户端利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
下面对上述方法进行详细介绍。
码率也叫比特率,表示经过压缩编码后的视频数据每秒需要用多少个比特来表示,即把每秒显示的图像进行压缩后的数据量,一般采用的单位是kbps即千位每秒。码率越高,画质的损失就越小,所得到的画面就越接近于原始画面。
在实际实施过程中,S100可以按照如下方式实施,在用户需要对安装在电子设备上的客户端当前播放的某一视频内容的视频数据切换到更高码率的视频数据时,用户通过电子设备从显示在电子设备的显示界面上的与所述视频内容对应的至少两个视频码率中选择需要切换的所述更高码率,在选中需要切换的所述更高码率时,客户端获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求,可以理解的是,所述切换请求中包括表征所述视频内容的标识信息,以及所述更高码率的值。
网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。可以理解的是,当前码率越低,需要的网络带宽越小。因此,作为一种实施方式,在当前网络带宽与当前播放视频内容的视频数据的码率不匹配时,例如,在当前网络状态足以支持比当前播放视频的码率更高的码率的视频数据的正常播放时,客户端根据当前网络带宽和当前播放视频的码率以及自适应码流算法来从与所述视频内容对应的至少两个视频码率中选中需要切换的更高码率时,相当于获取表征需要从当前播放的视频数据切换到所述更高码率的视频数据的切换请求。由于利用自适应码流算法来对当前播放时的视频的码率进行切换的具体实施方式属于本领域惯用技术手段,因此不再赘述。
S200:所述客户端将所述切换请求发送给服务器。
客户端在获取到表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之后,将所述切换请求发送给服务器。可以理解的是,所述切换请求中包括表征所述视频内容的标识信息,以及所述更高码率的值。
S300:所述服务器接收所述切换请求。
S400:所述服务器基于所述切换请求向所述客户端发送所述更高码率的视频数据。
所述服务器获取到所述切换请求时,基于所述标识信息,从预先存储标识信息与视频数据的对应关系中,查找出与所述标识信息对应的至少两种码率的视频数据,从说至少两种码率的视频数据中确定出码率的值与所述更高码率的值相同的所述更高码率的视频数据,继而将所述更高码率的视频数据发送给所述客户端。
S500:所述客户端接收所述更高码率的视频数据。
在服务器将所述更高码率的视频数据发送给客户端之后,所述客户端接收所述更高码率的视频数据。
S600:所述客户端利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
其中,所述视频解码器的输入缓存区中的每个缓存空间的大小可以是在未进行任何解码之前就被设置为与设定的最大码率相适应。
作为一种实施方式,所述视频解码器的输入缓存区中的每个缓存空间的大小也可以是在执行了至少一次视频解码的操作之后才被设置为与设定的最大码率相适应。
值的一提的是,将所述视频解码器的输入缓存区中的每个缓存空间的大小设置为与设定的最大码率相适应的动作发生在获取所述切换请求之前。
所述客户端在接收到所述更高码率的视频数据之后,基于所述当前播放的视频数据的播放时长,从所述更高码率的视频数据中确定出未播放的视频数据,将所述未播放的视频数据输入至解码所述当前播放的视频数据的视频解码器中的缓存区中的缓存空间,由于所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率,因此,所述解码器的缓存空间能够存储所述未播放的视频数据,所述视频解码器从所述缓存空间中读取所述未播放的视频数据并进行解码,得到解码后的视频数据。其中,解码的具体实施方式为本领域惯用技术手段,因此不再赘述。
作为一种实施方式,在S100之前,所述方法还包括步骤:A1、B1、C1、D1、E1、F1、G1和H1。
A1:客户端接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息。
在用户需要通过电子设备的客户端对所述视频内容进行播放时,用户通过电子设备的客户端选中需要播放的视频时,客户端接收表征需要播放所述视频内容的视频播放请求。其中,所述视频播放请求中包括表征所述视频内容的标识信息,可以理解的是,不同的视频内容对应的标识信息不同。
B1:客户端将所述视频播放请求发送给所述服务器。
客户端在接收到所述视频播放请求之后,将所述视频请求发送给所述服务器。
C1:所述服务器接收所述视频播放请求。
D1:所述服务器基于所述视频播放请求中的标识信息,向所述客户端发送与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式。
所述服务器基于所述视频请求中的标识信息,从预先存储的标识信息与视频数据的元信息的对应关系中,查找出与所述视频请求中的标识信息对应的至少两个视频数据中的每个视频数据的元信息,将与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息发送给客户端。
E1:所述客户端接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息。
F1:所述客户端从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率。
视频分辨率,就是视频的尺寸大小,如标准的720P视频就是每一横排有1280个像素,每一列有720个像素,总的像素就是1280x720个,这个乘积即是视频的分辨率。一般情况下,分辨率越大,视频就越清晰。其中,视频分辨率和视频码率呈正相关的关系。
所述客户端在接收到与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息之后,对所述至少两个视频数据的分辨率进行作差比较,确定出分辨率的值最大的分辨率。
例如,在所述至少两个视频数据的分辨率包括:720P和1080P时,所述值最大的分辨率为1028P。
G1:所述客户端基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器。
由于不同的视频解码器能够解码的视频数据的帧格式不同,因此,作为一种实施方式,所述客户端在获取到与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息之后,根据与所述标识信息对应的元信息中的视频数据的帧格式,从预先存储的帧格式与视频解码器的对应关系中查找出与所述视频数据的帧格式对应的视频解码器。
H1:所述客户端在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
其中,视频数据的分辨率越大,视频数据中的每帧数据的尺寸也越大,存储该视频数据中的每帧数据所需的缓存空间的内存也越大,其中,一个缓存空间存放一帧数据。
例如,在所述值最大的辨率为1080P(1920*1080)时,为每个缓存空间分配的内存大小为1920(长)*1080(宽)*4bit(一帧包括的bit数)。其中,长与所述值最大的分辨率的横排的像素数相同,宽与所述值最大的分辨率的列排的像素数相同,长也可以比所述值最大的分辨率的横排的像素数大,宽也可以比所述值最大的分辨率的列排的像素数大,一帧包括的bit数根据实际需求设定。
由于某些用户为了节约流量,所以完全不会使用很高的码率来观看视频,因此,作为一种实施方式,在S100之前,所述方法还包括步骤:A2、B2、C2、D2、E2、F2、G2和H2。
A2:所述客户端接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息。
用户通过电子设备的客户端输入登录账号和密码,并登录成功后,所述用户通过电子设备在客户端所提供的多个视频中选中需要播放的视频,客户端接收表征需要播放所述视频内容的视频播放请求。其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息。其中,不同用户的身份标识信息不同,在本实施例中,所述身份标识信息为用户观看该客户端所提供的视频的内容所用的账号。
B2:将所述视频播放请求发送给所述服务器。
C2:所述服务器接收所述视频播放请求。
D2:所述服务器基于所述视频播放请求中的身份标识,从预先存储的身份标识与分辨率的对应关系中查找出的与所述身份标识对应的至少两个历史分辨率,以及基于所述视频播放请求中的标识信息,从预先存储的标识信息与帧格式的对应关系中,查找出与所述标识信息对应的视频数据的帧格式,将所述至少两个历史分辨率和所述视频数据的帧格式发送给所述客户端。其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率。
E2:所述客户端接收所述服务器返回的所述至少两个历史分辨率,以及与所述视频数据的帧格式;其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率。
F2:所述客户端从所述至少两个历史分辨率中,确定出分辨率的值最大的历史分辨率;所述值最大的历史分辨率为所述最大码率对应的分辨率。
例如,在所述至少两个历史分辨率包括:720P和480P时,所述值最大的历史分辨率为720P。
G2:所述客户端基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器。
H2:所述客户端在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的历史分辨率匹配的内存大小。
其中,步骤F2-H2的具体实施方式请参照步骤F1-H1,因此在此不再赘述。
在用户在移动网络环境下观看视频时,移动流量消耗大,若使用很高的码率来播放视频,会增加用户流量费负担,在用户在移动网络环境下观看视频时,若使用较低的码率来播放视频,必然会降低视频观看质量,因此,作为一种实施方式,在S100之前,所述方法还包括步骤:A4、B4、C4、D4、E4、F4、G4和H4。
A4:客户端接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息。
B4:客户端将所述视频播放请求发送给所述服务器。
C4:所述服务器基于所述视频请求中的标识信息,向所述客户端发送与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的帧格式。
D4:所述客户端接收所述至少两个视频数据中的每个视频数据的元信息。
其中,步骤A4-D4的具体实施方式请参照步骤A1和D1,因此,在此不再赘述。
E4:基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器。
F4:获取当前网络状态;其中,所述当前网络状态为无线网络或移动网络。
G4:获取预先设定的在所述当前网络状态下的最高分辨率;其中,不同网络状态下的最高分辨率不同;所述最高分辨率为所述最大码率对应的分辨率。
所述客户端在获取到所述当前网络状态之后,从预先存储的网络状态与分辨率的对应关系中,查找出与所述当前网络状态匹配的最高分辨率。可以理解的是,在当前网络为无线网络时,初始化视频解码器所用的最高分辨率要大于当前网络为移动网络所用的最高分辨率。
例如,设定网络状态为移动网络时的最高分辨率为720P,设定网络状态为无线网络时的最高分辨率为1080P。
H4:在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述最高分辨率匹配的内存大小。
其中,步骤G4-H4的具体实施方式请参照步骤G1和H1,因此,在此不再赘述。
请参照图2,本申请实施例提供一种视频解码器的初始化方法,所述方法包括步骤:S10、S20、S30
S10:客户端接收表征需要播放视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息。
S20:将所述视频播放请求发送给所述服务器。
S30:所述服务器接收所述视频播放请求。
S40:所述服务器基于所述视频播放请求中的标识信息,向所述客户端发送与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式。
S50:所述客户端接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式。
S60:所述客户端从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率。
S70:所述客户端基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器。
S80:所述客户端在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
其中,S10-S80的具体实施方式请参照步骤A1-H1,因此在此不再赘述。
请参照图3,本申请实施例提供一种视频播放装置,所述装置包括:
切换请求获取单元410,用于获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容。
切换请求发送单元420,用于将所述切换请求发送给服务器。
视频数据接收单元430,用于接收所述服务器返回的所述更高码率的视频数据。
解码单元440,用于利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
作为一种实施方式,所述装置还包括:第一播放请求接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;第一播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第一元信息接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;第一分辨率确定单元,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率;第一视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;第一初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
作为一种实施方式,所述装置还包括:第二播放请求接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息;第二播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第二历史分辨率接收单元,用于接收所述服务器返回的所述服务器从预先存储的身份标识与分辨率的对应关系中查找出的与所述身份标识对应的至少两个历史分辨率,以及与所述标识信息对应的视频数据的帧格式;其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率;第二分辨率确定单元,用于从所述至少两个历史分辨率中,确定出分辨率的值最大的历史分辨率;所述值最大的历史分辨率为所述最大码率对应的分辨率;第二视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;第二初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的历史分辨率匹配的内存大小。
作为一种实施方式,所述装置还包括:第四播放请接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;第四播放请求发送单元,用于将所述视频播放请求发送给所述服务器;第四历史分辨率接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的帧格式;第四视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;网络状态获取单元,用于获取当前网络状态;其中,所述当前网络状态为无线网络或移动网络;第四分辨率确定单元,用于获取预先设定的在所述当前网络状态下的最高分辨率;其中,不同网络状态下的最高分辨率不同;所述最高分辨率为所述最大码率对应的分辨率;第四初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述最高分辨率匹配的内存大小。
请参照图4,本申请实施例提供一种视频解码器的初始化装置,所述装置包括:
第三播放请求接收单元510,用于接收表征需要播放视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息。
第三播放请求发送单元520,用于将所述视频播放请求发送给所述服务器。
第三元信息接收单元530,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式。
第三分辨率确定单元540,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率。
第三视频解码器确定单元550,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器。
第三初始化单元560,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
本实施例对的各功能单元实现各自功能的过程,请参见上述图1和图2所示实施例中描述的内容,此处不再赘述。
请参照图5,图5为本申请实施例提供的一种电设备,所述电子设备上安装有图1所示的客户端,在本申请实施例中,电子设备可以是平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等。
电子设备可以包括:存储器102、处理器101、视频解码器、显示屏104和通信总线,通信总线用于实现这些组件的连接通信。
存储器102用于存储帧格式与视频解码器的对应关系,以及本申请实施例提供的视频解码方法及装置对应的计算程序指令等各种数据,其中,存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM)等。
处理器101用于读取并运行存储于存储器中的与视频解码方法对应的计算机程序指令时,执行本申请实施例提供的视频播发方法,以获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;将所述切换请求发送给服务器;接收所述服务器返回的所述更高码率的视频数据;以及将所述更高码率的视频数据发送给所述视频解码器。
处理器101用于读取并运行存储于存储器中的与视频解码器初始化方法对应的计算机程序指令时,执行本申请实施例提供的视频解码器初始化方法,以在初始化视频解码器的过程中,为视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
其中,处理器101可能是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、分立门或者晶体管逻辑器件、分立硬件组件。
所述视频解码器,用于对所述更高码率的视频数据进行解码,得到解码后的视频数据,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与所述视频内容具有的最大码率相适应。
所述显示屏104,用于显示所述解码后的视频数据。
此外,本申请实施例还提供了一种存储介质,在该存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本申请任一项实施方式所提供的方法。
综上所述,本申请各实施例提出的视频解码方法、视频解码器初始化方法以及装置,由于现有技术中的解码器的输入缓冲区中的每个缓存空间的大小是根据当前播放码率的视频数据的分辨率来分配的,其中,码率与分辨率是呈正相关的,视频数据中的每帧视频数据的大小与分辨率呈正相关,因此,在需要切换到更高码率时,由于解码所述当前播放码率的视频数据的解码器的输入缓冲区中的缓存空间无法存储所述更高码率的视频数据,继而需要将当前解码器进行销毁重建,继而导致播放黑屏或暂停,因此,本申请通过在获取到切换请求之前,将所述视频解码器的输入缓存区中的每个缓存空间的大小设置为与设定的最大码率相适应的内存大小,而更高码率小于等于该最大码率,继而在获取到需要将当前播放的视频数据切换到更高码率的视频数据的切换请求时,能够利用当前解码器进行直接解码,无需对当前解码器进行销毁重建,继而解决了在视频码流切换过程中的播放黑屏或暂停的问题,提高用户的视频观看体验。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种视频解码方法,其特征在于,所述方法包括:
获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;
将所述切换请求发送给服务器;
接收所述服务器返回的所述更高码率的视频数据;
利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
2.根据权利要求1所述的方法,其特征在于,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:
接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;
将所述视频播放请求发送给所述服务器;
接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;
从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率;
基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;
在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
3.根据权利要求1所述的方法,其特征在于,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:
接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征用户身份的身份标识,以及表征所述视频内容的标识信息;
将所述视频播放请求发送给所述服务器;
接收所述服务器返回的所述服务器从预先存储的身份标识与分辨率的对应关系中查找出的与所述身份标识对应的至少两个历史分辨率,以及与所述标识信息对应的视频数据的帧格式;其中,所述至少两个历史分辨率为所述用户在当前时刻之前观看的视频数据的分辨率;
从所述至少两个历史分辨率中,确定出分辨率的值最大的历史分辨率;所述值最大的历史分辨率为所述最大码率对应的分辨率;
基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;
在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的历史分辨率匹配的内存大小。
4.根据权利要求1所述的方法,其特征在于,获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求之前,所述方法还包括:
接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;
将所述视频播放请求发送给所述服务器;
接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的帧格式;
基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;
获取当前网络状态;其中,所述当前网络状态为无线网络或移动网络;
获取预先设定的在所述当前网络状态下的最高分辨率;其中,不同网络状态下的最高分辨率不同;所述最高分辨率为所述最大码率对应的分辨率;
在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述最高分辨率匹配的内存大小。
5.一种视频解码器的初始化方法,其特征在于,所述方法包括:
接收表征需要播放视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;
将所述视频播放请求发送给所述服务器;
接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;
从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;
基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;
在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
6.一种视频播放装置,其特征在于,所述装置包括:
切换请求获取单元,用于获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;
切换请求发送单元,用于将所述切换请求发送给服务器;
视频数据接收单元,用于接收所述服务器返回的所述更高码率的视频数据;
解码单元,用于利用解码所述当前播放的视频数据的视频解码器对所述更高码率的视频数据进行解码,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一播放请求接收单元,用于接收表征需要播放所述视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;
第一播放请求发送单元,用于将所述视频播放请求发送给所述服务器;
第一元信息接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;
第一分辨率确定单元,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;所述值最大的分辨率为所述最大码率对应的分辨率;
第一视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;其中,所述对应的视频解码器为解码所述当前播放的视频数据的视频解码器;
第一初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小。
8.一种视频解码器的初始化装置,其特征在于,所述装置包:
第三播放请求接收单元,用于接收表征需要播放视频内容的视频播放请求;其中,所述视频播放请求中包括表征所述视频内容的标识信息;
第三播放请求发送单元,用于将所述视频播放请求发送给所述服务器;
第三元信息接收单元,用于接收所述服务器返回的与所述标识信息对应的至少两个视频数据中的每个视频数据的元信息;其中,一个所述元信息包括:该视频数据的分辨率和帧格式;
第三分辨率确定单元,用于从所述至少两个视频数据的分辨率中,确定出分辨率的值最大的分辨率;
第三视频解码器确定单元,用于基于所述视频数据的帧格式,以及预先存储的帧格式与视频解码器的对应关系,确定出与所述视频数据的帧格式对应的视频解码器;
第三初始化单元,用于在初始化所述对应的视频解码器的过程中,为所述对应的视频解码器的输入缓存区中的每个缓存空间分配与所述值最大的分辨率匹配的内存大小,以使初始化之后的视频解码器能够解码所述视频内容的任一分辨率的视频数据。
9.一种电子设备,其特征在于,所述电子设备包括:显示屏、视频解码器和处理器;所述处理器分别与所视频解码器和所述显示屏连接;
所述处理器,用于获取表征需要从当前播放的视频数据切换到更高码率的视频数据的切换请求;其中,所述当前播放的视频数据与所述更高码率的视频数据属于同一视频内容;将所述切换请求发送给服务器;接收所述服务器返回的所述更高码率的视频数据;以及将所述更高码率的视频数据发送给所述视频解码器;
所述视频解码器,用于对所述更高码率的视频数据进行解码,得到解码后的视频数据,其中,所述视频解码器的输入缓存区中的每个缓存空间的大小被设置为与设定的最大码率相适应,其中,所述更高码率小于等于所述最大码率;
所述显示屏,用于显示所述解码后的视频数据。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910951679.5A CN110636372B (zh) | 2019-10-08 | 2019-10-08 | 视频解码方法、视频播放装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910951679.5A CN110636372B (zh) | 2019-10-08 | 2019-10-08 | 视频解码方法、视频播放装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636372A true CN110636372A (zh) | 2019-12-31 |
CN110636372B CN110636372B (zh) | 2022-02-25 |
Family
ID=68975751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910951679.5A Active CN110636372B (zh) | 2019-10-08 | 2019-10-08 | 视频解码方法、视频播放装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636372B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112752152A (zh) * | 2020-12-28 | 2021-05-04 | 海信视像科技股份有限公司 | 投送视频播放方法及显示设备 |
CN116668764A (zh) * | 2022-11-10 | 2023-08-29 | 荣耀终端有限公司 | 处理视频的方法及装置 |
CN116668764B (zh) * | 2022-11-10 | 2024-04-19 | 荣耀终端有限公司 | 处理视频的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140086336A1 (en) * | 2012-09-24 | 2014-03-27 | Qualcomm Incorporated | Hypothetical reference decoder parameters in video coding |
CN104521235A (zh) * | 2012-07-10 | 2015-04-15 | 思科技术公司 | 解码图像缓冲区尺寸管理 |
CN105407107A (zh) * | 2015-12-24 | 2016-03-16 | 成都信息工程大学 | 一种流媒体数据的传输方法及装置 |
CN105744358A (zh) * | 2016-03-18 | 2016-07-06 | 青岛海信电器股份有限公司 | 视频播放的处理方法及装置 |
WO2018011042A1 (en) * | 2016-07-14 | 2018-01-18 | Koninklijke Kpn N.V. | Video coding |
CN108282686A (zh) * | 2017-01-18 | 2018-07-13 | 广州市动景计算机科技有限公司 | 视频画面处理方法、装置及电子设备 |
CN108550103A (zh) * | 2018-03-07 | 2018-09-18 | 浙江华睿科技有限公司 | 一种图像处理方法及装置 |
-
2019
- 2019-10-08 CN CN201910951679.5A patent/CN110636372B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104521235A (zh) * | 2012-07-10 | 2015-04-15 | 思科技术公司 | 解码图像缓冲区尺寸管理 |
US20140086336A1 (en) * | 2012-09-24 | 2014-03-27 | Qualcomm Incorporated | Hypothetical reference decoder parameters in video coding |
CN105407107A (zh) * | 2015-12-24 | 2016-03-16 | 成都信息工程大学 | 一种流媒体数据的传输方法及装置 |
CN105744358A (zh) * | 2016-03-18 | 2016-07-06 | 青岛海信电器股份有限公司 | 视频播放的处理方法及装置 |
WO2018011042A1 (en) * | 2016-07-14 | 2018-01-18 | Koninklijke Kpn N.V. | Video coding |
CN108282686A (zh) * | 2017-01-18 | 2018-07-13 | 广州市动景计算机科技有限公司 | 视频画面处理方法、装置及电子设备 |
CN108550103A (zh) * | 2018-03-07 | 2018-09-18 | 浙江华睿科技有限公司 | 一种图像处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
钱浩: "VNC图像传输关键技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112752152A (zh) * | 2020-12-28 | 2021-05-04 | 海信视像科技股份有限公司 | 投送视频播放方法及显示设备 |
CN116668764A (zh) * | 2022-11-10 | 2023-08-29 | 荣耀终端有限公司 | 处理视频的方法及装置 |
CN116668764B (zh) * | 2022-11-10 | 2024-04-19 | 荣耀终端有限公司 | 处理视频的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110636372B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11451604B2 (en) | Video transcoding method and apparatus, a server system, and storage medium | |
CN110636346B (zh) | 一种码率自适应切换方法、装置、电子设备及存储介质 | |
WO2016138844A1 (zh) | 音视频文件直播方法和系统、服务器 | |
CN112087633B (zh) | 视频解码方法、装置及存储介质 | |
JP4000844B2 (ja) | コンテンツ配信システム、コンテンツ配信システムの配信サーバ及び表示端末、コンテンツ配信プログラム | |
US20150156557A1 (en) | Display apparatus, method of displaying image thereof, and computer-readable recording medium | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
CN108462899B (zh) | 基于设备能力的流媒体码流自适应传输方法、播放设备及播放系统 | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
CN104702976A (zh) | 一种视频播放方法及设备 | |
US10104143B1 (en) | Manifest segmentation | |
US10116719B1 (en) | Customized dash manifest | |
US11412311B2 (en) | Methods and systems for saving data while streaming video | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN110636372B (zh) | 视频解码方法、视频播放装置、电子设备及存储介质 | |
CN108200470A (zh) | 一种视频码率调整方法及设备 | |
US20080056381A1 (en) | Image compression and decompression with fast storage device accessing | |
JP4655065B2 (ja) | コンテンツ配信システム、コンテンツ配信システムの配信サーバ及び表示端末、コンテンツ配信プログラム | |
CN113141352B (zh) | 多媒体数据的传输方法、装置、计算机设备和存储介质 | |
EP3522525B1 (en) | Method and apparatus for processing video playing | |
CN108574881B (zh) | 一种投影类型推荐方法、服务器及客户端 | |
CN112817913B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN111885417B (zh) | Vr视频播放方法、装置、设备以及存储介质 | |
CN113014940A (zh) | 一种直播优化方法和装置 | |
CN115643429A (zh) | 视频播放方法、装置、电子设备及计算机可读存储介质 |
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 |