一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频处理方法、装置、设备及存储介质与流程

2022-03-14 04:31:57 来源:中国专利 TAG:


1.本技术实施例涉及音视频技术领域,特别涉及一种视频处理方法、装置、设备及存储介质。


背景技术:

2.视频信号是指包括多个帧的图像序列。由于视频信号数字化后数据带宽很高,计算机设备难以直接对之进行存储和处理,因而需要采用视频压缩技术来降低视频信号的数据带宽。
3.视频压缩技术是通过视频编码来实现的,在一些主流的视频编码技术中,采用了混合编码框架,对输入的原始视频信号进行一系列的操作和处理。在编码端,编码器对输入的原始视频信号(视频序列)进行块划分结构、预测编码、变换编码及量化、熵编码或统计编码等,以得到视频码流,针对编码后得到的视频码流,对该视频码流进行封装得到视频轨道,并进一步封装视频轨道以得到视频文件,使得视频文件以一种更容易被解析的结构存储在编码器中。在解码端,解码器对已经编码过的图像,需要进行解封装、解码等逆操作以呈现视频内容。
4.相关技术中,编码器可能采用不同的编码策略对视频序列进行编码,进而得到不同的视频码流。然而,相关技术中,难以对这些不同的视频码流进行区分,从而不利于存储、关联、传输等效率的提升。


技术实现要素:

5.本技术实施例提供了一种视频处理方法、装置、设备及存储介质,可用于提升视频轨道的存储、关联、传输效率等。所述技术方案如下:
6.一方面,本技术实施例提供了一种视频处理方法,所述方法包括:
7.获取对视频序列进行编码得到的视频码流;
8.确定所述视频码流的配置信息,所述配置信息用于指示所述视频码流的相关配置;其中,所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频码流对应的视频轨道是否包含知识图像以及所述视频轨道是否需要参考知识图像;
9.封装所述视频码流以及所述视频码流的配置信息,得到所述视频轨道。
10.另一方面,本技术实施例提供了一种视频处理方法,所述方法包括:
11.获取目标视频的视频文件;
12.解封装所述视频文件,得到所述目标视频的视频轨道;
13.解封装所述视频轨道,得到所述目标视频的视频码流以及所述视频码流的配置信息;其中,所述配置信息用于指示所述视频码流的相关配置,且所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频轨道是否包含知识图像,以及所述视频轨道是否需要参考知识图像;
14.解码所述视频码流,得到所述目标视频的视频序列。
15.再一方面,本技术实施例提供了一种视频处理装置,所述装置包括:
16.码流获取模块,用于获取对视频序列进行编码得到的视频码流;
17.第一确定模块,用于确定所述视频码流的配置信息,所述配置信息用于指示所述视频码流的相关配置;其中,所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频码流对应的视频轨道是否包含知识图像以及所述视频轨道是否需要参考知识图像;
18.轨道封装模块,用于封装所述视频码流以及所述视频码流的配置信息,得到所述视频轨道。
19.又一方面,本技术实施例提供了一种视频处理装置,所述装置包括:
20.文件获取模块,用于获取目标视频的视频文件;
21.第一解封装模块,用于解封装所述视频文件,得到所述目标视频的视频轨道;
22.第二解封装模块,用于解封装所述视频轨道,得到所述目标视频的视频码流以及所述视频码流的配置信息;其中,所述配置信息用于指示所述视频码流的相关配置,且所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频轨道是否包含知识图像,以及所述视频轨道是否需要参考知识图像;
23.码流解码模块,用于解码所述视频码流,得到所述目标视频的视频序列。
24.还一方面,本技术实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如视频处理方法。
25.还一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述视频处理方法。
26.还一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上述视频处理方法。
27.本技术实施例提供的技术方案可以带来如下有益效果:
28.通过在封装视频码流得到视频轨道的过程中,添加视频码流的配置信息,以指示视频码流的编码特性,从而便于实现对视频轨道的分类存储、便于实现不同视频轨道之间的关联、便于快速获取某一编码特性的视频轨道,提升了视频轨道的存储、关联、传输效率等。另外,由于各个视频轨道中包括视频码流的配置信息,进而服务器可以根据配置信息快速获取与客户端所在设备的播放能力相匹配的视频轨道,并将该视频轨道封装后发送给客户端,正是由于该视频轨道与客户端所在设备的播放能力相匹配,从而可以确保解码的成功率,进而提升解码效率。此外,本技术实施例中,视频码流的配置信息包括知识图像,由于在avs技术中针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的文件封装方式。
附图说明
29.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是本技术一个实施例提供的视频编码过程的示意图;
31.图2是本技术一个实施例提供的视频编码过程的流程图;
32.图3是本技术一个实施例提供的通信系统的框图;
33.图4是本技术一个实施例提供的流式传输系统的框图;
34.图5是本技术一个实施例提供的视频处理方法的流程图;
35.图6是本技术另一个实施例提供的视频处理方法的流程图;
36.图7是本技术又一个实施例提供的视频处理方法的流程图;
37.图8是本技术一个实施例提供的视频处理装置的框图;
38.图9是本技术另一个实施例提供的视频处理装置的框图;
39.图10是本技术又一个实施例提供的视频处理装置的框图;
40.图11是本技术一个实施例提供的服务器的结构框图;
41.图12是本技术一个实施例提供的终端的结构框图。
具体实施方式
42.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
43.首先结合图1对视频编码技术进行简单介绍。请参考图1,其示出了本技术一个实施例提供的视频编码过程的示意图。
44.视频信号是指包括一个或多个帧的图像序列。帧(frame)是视频信号空间信息的表示。以yuv模式为例,一个帧包括一个亮度样本矩阵(y)和两个色度样本矩阵(cb和cr)。从视频信号的获取方式来看,可以分为摄像机拍摄到的以及计算机生成的两种方式。由于统计特性的不同,其对应的压缩编码方式也可能有所区别。
45.在一些主流的视频编码技术中,如h.265/hevc(high efficient video coding,高效率视频压缩编码)、h.266/vvc(versatile video coding,通用视频编码)标准、avs(audio video coding standard,音视频编码标准)(如avs3)中,采用了混合编码框架,对输入的原始视频信号进行如下一系列的操作和处理:
46.1、块划分结构(block partition structure):输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作ctu(coding tree unit,编码树单元),或者lcu(large coding unit,最大编码单元)。ctu再往下,可以继续进行更加精细的划分,得到一个或多个基本编码的单元,称之为cu(coding unit,编码单元)。每个cu是一个编码环节中最基本的元素,当进行预测时,cu还需要进一步划分为不同的pu(predict unit,预测单元)。以下描述的是对每一个cu可能采用的各种编码方式。
47.2、预测编码(predictive coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前cu决定
在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域。帧间预测是指预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
48.3、变换编码及量化(transform&quantization):残差视频信号经过dft(discrete fourier transform,离散傅里叶变换)、dct(discrete cosine transform,离散余弦变换)等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前cu选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数来决定。qp(quantization parameter,量化参数)取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
49.4、熵编码(entropy coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流(或称为“视频码流”,为描述方便,以下统称为“视频码流”)。同时,编码产生其他信息,例如选择的模式、运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(variable length coding,简称vlc)或者基于上下文的二值化算术编码(content adaptive binary arithmetic coding,简称cabac)。
50.5、环路滤波(loop filtering):已经编码过的图像,经过反量化、反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重建图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重建图像进行滤波操作,例如去块效应滤波(deblocking),sao(sample adaptive offset,样本自适应偏移量)或者alf(adaptive lattice filter,自适应格型滤波器)等滤波器,可以有效的降低量化所产生的失真程度。由于这些经过滤波后的重建图像,将作为后续编码图像的参考,用于对将来的信号进行预测,所以上述的滤波操作也被称为环路滤波,及在编码环路内的滤波操作。
51.由上述介绍说明可知,在解码端,对于每一个cu,解码器获得压缩码流后,一方面进行熵解码,以获得各种模式信息及量化后的变换系数,然后各个变换系数经过反量化及反变换,得到残差信号;另一方面,根据已知的编码模式信息,可获得该cu对应的预测信号。将该cu的残差信号与预测信号相加之后,即可得到该cu的重建信号。解码图像的重建值,需要经过环路滤波的操作,以产生最终的输出信号。
52.在一个示例中,针对编码后得到的视频码流,对该视频码流进行封装得到视频轨道,并进一步封装视频轨道以得到视频文件,使得视频文件以一种更容易被解析的结构存储在计算设备中。如图2所示,在对视频序列进行视频编码后,需要对编码后的视频码流进行封装并传输给用户侧。在用户侧,需要进行解封装、解码等逆操作以呈现视频内容。
53.可选地,在视频码流封装环节增添的信息,通常有助于提升视频文件在服务器或中间传输节点的存储、关联、传输效率以及视频文件在用户侧的解码效率。然而,针对avs提出的新型视频编码技术,相关技术中还没有相应的文件封装方法。基于此,本技术实施例提
供了一种视频处理方法,可用于在文件封装环节增加指示编码特性的信息。并且,本技术实施例在文件封装环节增加的信息可用于指示avs独特的编码特性,以提升avs编码后得到的视频码流在服务器或中间传输节点的存储、关联、传输效率以及在用户侧的解码效率。
54.需要说明的一点是,本技术实施例提供的视频处理方法可以应用于avs(如avs3)或者下一代视频编解码标准中,本技术实施例对此不作限定。
55.请参考图3,其示出了本技术一个实施例提供的通信系统的简化框图。通信系统200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信系统200包括通过网络250互连的第一设备210和第二设备220。在图3的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
56.在另一实施例中,通信系统200包括执行已编码视频数据的双向传输的第三设备230和第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
57.在图3的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本技术公开的原理可不限于此。本技术实施例适用于pc(personal computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本技术的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本技术公开的操作来说可能是无关紧要的。
58.作为实施例,图4示出视频编码器和视频解码器在流式传输环境中的放置方式。本技术所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv(电视)、在包括cd(compact disc,光盘)、dvd(digital versatile disc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。
59.流式传输系统可包括采集子系统313,所述采集子系统可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。视频编码器303可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如pc、手机、平
板电脑、媒体播放器、专用视频会议设备、服务器等等。基于本技术所提供方法的视频编码器303,可以由1个或多个处理器或是1个或多个集成电路来实现。
60.相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子系统,例如图4中的客户端子系统306和客户端子系统308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子系统306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据304、副本307和副本309(例如视频码流)进行编码。
61.应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
62.下面,通过几个实施例对本技术技术方案进行介绍说明。
63.请参考图5,其示出了本技术一个实施例提供的视频处理方法的流程图。该方法可应用于对视频序列进行编码的服务器中,如图3所示的通信系统中的第一设备210中。该方法可以包括如下几个步骤(步骤510~530):
64.步骤510,获取对视频序列进行编码得到的视频码流。
65.视频序列是指包括一个或多个帧(或称为编码图像)的图像序列,本技术实施例中,服务器可以获取视频序列,并对该视频序列进行编码,以得到视频码流。其中,视频码流又称为位流(bitstream),是指编码图像所形成的二进制数据流。
66.服务器可以按照不同的编码策略对视频序列进行编码,以得到不同的视频码流。可选地,编码策略包括以下至少一项:视频码流的档次、视频码流的级别、视频码流的色度格式、视频码流的亮度样本和色度样本的样本精度、视频码流的帧率、视频码流对应的视频轨道是否包含知识图像、视频码流对应的视频轨道是否需要参考知识图像。
67.本技术实施例对编码策略的确定方式不作限定。可选地,编码策略由服务器根据视频序列确定,例如,服务器根据视频序列的帧数来确定编码策略,如针对帧数较多的视频序列,服务器确定以较低的帧率对该视频序列进行编码。可选地,编码策略由服务器根据自身的编码能力确定,基于此,在一个示例中,上述步骤510包括:获取编码能力信息;根据编码能力信息确定编码策略;按照编码策略对视频序列进行编码,得到视频码流。编码能力信息用于指示视频序列的编码设备(即服务器)的编码能力,服务器可获取自身的编码能力信息,以进一步根据该编码能力信息确定编码策略。本技术实施例对编码能力信息的内容不作限定,可选地,编码能力信息包括运算速度、运算精度、存储空间等。例如,针对运算精度较高的服务器,可以确定以较高的样本精度来对视频序列进行编码。通过采用不同的编码策略对视频序列进行编码,可以丰富视频码流的档次、级别等。
68.步骤520,确定视频码流的配置信息,配置信息用于指示视频码流的相关配置;其中,配置信息包括知识图像信息,知识图像信息用于指示视频码流对应的视频轨道是否包
含知识图像以及视频轨道是否需要参考知识图像。
69.由上述实施例可知,在视频码流封装环节增添的信息,通常有助于提升视频文件在服务器或中间传输节点的存储、关联、传输效率以及视频文件在用户侧的解码效率。基于此,本技术实施例中,服务器在对视频序列进行编码得到视频码流后,进一步确定该视频码流的配置信息,以在视频码流封装环节添加该配置信息。
70.视频码流的配置信息用于指示视频码流的相关配置,例如,视频码流的编解码配置、视频码流的版本配置等。本技术实施例中,视频码流的配置信息中包括知识图像信息,该知识图像信息用于指示视频码流对应的视频轨道是否包含知识图像以及视频轨道是否需要参考知识图像,其中,知识图像是指解码当前视频码流时使用的非当前视频码流的参考图像。由于在avs技术中针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的方式,并且,丰富了配置信息的内容。
71.为丰富知识图像信息所能指示的编码特性,可以为知识图像信息赋予不同的值,以指示不同的编码特性(含义)。在一个示例中,在知识图像信息的值为第一数值的情况下,知识图像信息用于指示视频轨道中不包含知识图像,且视频轨道不需要参考知识图像;在知识图像信息的值为第二数值的情况下,知识图像信息用于指示视频轨道中不包含知识图像,且视频轨道需要参考知识图像;在知识图像信息的值为第三数值的情况下,知识图像信息用于指示视频轨道中包含知识图像,且视频轨道不需要参考知识图像;在知识图像信息的值为第四数值的情况下,知识图像信息用于指示视频轨道中包含知识图像,且视频轨道需要参考知识图像。可选地,知识图像信息的值以二进制的形式表示,基于上述示例中示出的四种知识图像的值,本技术实施例中可以2位无符号整数来表示知识图像的值,如下述表一所示。
72.表一 知识图像信息
[0073][0074]
步骤530,封装视频码流以及视频码流的配置信息,得到视频轨道。
[0075]
服务器在得到了视频码流以及视频码流的配置信息后,即可在视频码流的封装环节中添加视频码流的配置信息,以指示视频码流的编码特性。本技术实施例在封装视频码流及其配置信息后,可以得到视频轨道。可选地,视频码流的配置信息以数据盒的形式位于视频轨道对应的样本入口。例如,针对avs编码技术,视频轨道对应的样本入口(avs3sampleentry)可以由视频样本入口扩展得到,该样本入口中包含数据盒avs3configurationbox。示例性地,数据盒avs3configurationbox可以通过扩展isobmff数据盒得到,下面示出了本技术实施例提供的一种avs3configurationbox的形式:
[0076][0077]
其中,library_indication这一字段即为知识图像信息,有关知识图像信息的介绍说明请参见上述实施例,此处不多赘述。另外,avs3configurationbox中包括的其它描述性字段(configurationversion、profile_id、level_id、chroma_format、sample_precision、frame_rate_code)的语义的介绍说明,请参见下述实施例,此处不多赘述。
[0078]
综上所述,本技术实施例提供的技术方案,通过在封装视频码流得到视频轨道的过程中,添加视频码流的配置信息,以指示视频码流的编码特性,从而便于实现对视频轨道的分类存储、便于实现不同视频轨道之间的关联、便于快速获取某一编码特性的视频轨道,提升了视频轨道的存储、关联、传输效率等。另外,由于各个视频轨道中包括视频码流的配置信息,进而服务器可以根据配置信息快速获取与客户端所在设备的播放能力相匹配的视频轨道,并将该视频轨道封装后发送给客户端,正是由于该视频轨道与客户端所在设备的播放能力相匹配,从而可以确保解码的成功率,进而提升解码效率。此外,本技术实施例中,视频码流的配置信息包括知识图像,由于在avs技术中针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的文件
封装方式。
[0079]
为丰富配置信息的内容,实现从多个维度指示编码特性,充分考虑视频码流的影响因素,本技术实施例中,视频码流的配置信息还包括其它内容。下面针对配置信息包括的其它内容进行介绍说明。
[0080]
在一个示例中,配置信息还包括以下至少一项:档次标号信息、级别标号信息、色度格式信息、样本精度信息、帧率指示信息。
[0081]
档次标号信息用于指示视频码流符合的档次。示例性地,档次标号信息对应于上述avs3configurationbox中的profile_id字段。为丰富档次标号信息所能指示的编码特性,可以为档次标号信息赋予不同的值,以指示不同的编码特性(档次),以档次标号信息的值为8位无符号整数为例,如下述表二所示,不同的档次标号信息的值对应于不同的档次。
[0082]
表二 档次标号信息
[0083]
档次标号信息的值档次0x00禁止0x20基准8位档次(main profile)0x22基准10位档次(main-10bit profile)0x32高性能10位档次(high-performance 10bit profile)其他保留
[0084]
级别标号信息,用于指示视频码流符合的级别。示例性地,级别标号信息对应于上述avs3configurationbox中的level_id字段。为丰富级别标号信息所能指示的编码特性,可以为级别标号信息赋予不同的值,以指示不同的编码特性(级别),以级别标号信息的值为8位无符号整数为例,如下述表三所示,不同的级别标号信息的值对应于不同的级别。
[0085]
表三 级别标号信息
[0086]
级别标号信息的值级别0x00禁止0x102.0.150x122.0.300x142.0.600x204.0.300x224.0.600x406.0.300x426.2.300x446.0.600x466.2.600x486.0.1200x4a6.2.1200x508.0.300x528.2.300x548.0.600x568.2.60
0x588.0.1200x5a8.2.1200x6010.0.300x6210.2.300x6410.0.600x6610.2.600x6810.0.1200x6a10.2.120其它保留
[0087]
色度格式信息,用于指示所述视频码流的色度格式。示例性地,色度格式信息对应于上述avs3configurationbox中的chroma_format字段。为丰富色度格式信息所能指示的编码特性,可以为色度格式信息赋予不同的值,以指示不同的编码特性(色度格式),以色度格式信息的值为2位无符号整数为例,如下述表四所示,不同的色度格式信息的值对应于不同的色度格式。
[0088]
表四 色度格式信息
[0089]
色度格式信息的值色度格式00保留014:2:010保留11保留
[0090]
样本精度信息,用于指示视频码流的亮度样本和色度样本的精度。示例性地,样本精度信息对应于上述avs3configurationbox中的sample_precision字段。为丰富样本精度信息所能指示的编码特性,可以为样本精度信息赋予不同的值,以指示不同的编码特性(样本精度),以样本精度信息的值为3位无符号整数为例,如下述表五所示,不同的样本精度信息的值对应于不同的样本精度。
[0091]
表五 样本精度信息
[0092]
样本精度信息的值样本精度000禁止001亮度样本和色度样本均为8比特精度010亮度样本和色度样本均为10比特精度011~111保留
[0093]
帧率指示信息,用于指示视频码流的帧率。示例性地,帧率指示信息对应于上述avs3configurationbox中的frame_rate_code字段。为丰富帧率指示信息所能指示的编码特性,可以为帧率指示信息赋予不同的值,以指示不同的编码特性(帧率),以帧率指示信息的值为4位无符号整数为例,如下述表六所示,不同的帧率指示信息的值对应于不同的帧率。
[0094]
表六 帧率指示信息
[0095][0096][0097]
在另一个示例中,配置信息还包括版本配置信息,版本配置信息用于指示视频码流的当前配置版本。示例性地,版本配置信息对应于上述avs3configurationbox中的configurationversion字段。可选地,当某一解码器(如客户端所在终端)无法识别该版本配置信息的情况下,该解码器不对该视频轨道中的视频码流进行解码。
[0098]
需要说明的一点是,在上述实施例中,关于各字段的名称和描述仅是示例性和解释性的,在实现上述各字段所定义功能的前提下,各字段的名称和描述可以结合实际情况进行设定,但都应当落入本技术保护范围之内。
[0099]
综上所述,本技术实施例提供的技术方案,通过在视频码流的配置信息中添加多个指示不同编码特性的信息,丰富了配置信息的内容,实现从多个维度指示编码特性,充分考虑视频码流的影响因素。并且,本技术实施例针对配置信息中的部分信息,赋予这些信息以不同的值,实现指示不同的编码特性。此外,本技术实施例中,配置信息中的部分信息的值可用于无符号整数来表示,从而便于快速读取配置信息的内容,并且,由于无符号整数所占的内存较小,本技术实施例还降低了配置信息需要占用的存储空间。
[0100]
服务器在对视频序列进行编码、封装等处理后,可以将封装得到的视频文件发送给客户端,进而客户端对接收到的视频文件进行解封装、解码等处理后播放。本技术实施例对服务器向客户端发送视频文件的方式不作限定,可选地,服务器主动将视频文件发送给客户端,例如,服务器将目标视频的各个视频轨道分别封装后得到多个视频文件,并将多个视频文件发送给客户端;或者,服务器在接收到客户端的视频获取请求后将视频文件发送给客户端,例如,服务器在接收到客户端的视频获取请求后,将目标视频的各个视频轨道分别封装后得到多个视频文件,并将多个视频文件发送给客户端;或者,服务器将目标视频的
某一视频轨道封装后得到一个视频文件,并将该视频文件发送给客户端。下面,以服务器将目标视频的某一视频轨道封装后得到一个视频文件,并将该视频文件发送给客户端为了,对向客户端发送视频文件的方法进行介绍说明。
[0101]
在一个示例中,上述方法还包括以下几个步骤(步骤541~549):
[0102]
步骤541,接收来自客户端的视频获取请求,视频获取请求用于请求获取目标视频的视频文件。
[0103]
在客户端有播放目标视频的需求时,客户端可以向服务器发送视频获取请求,以用于请求获取目标视频的视频文件。本技术实施例对视频获取请求的内容不作限定,可选地,视频获取请求包括以下至少一项:客户端所在设备的型号、目标视频的标识、客户端的标识、客户端所在设备的网络状况。
[0104]
步骤543,确定客户端所在设备的播放能力信息。
[0105]
服务器在接收到客户端的视频获取请求后,可以进一步确定客户端所在设备的播放能力信息,该播放能力信息是指客户端播放目标视频的能力。本技术实施例对服务器确定客户端所在设备的播放能力信息的方式不作限定,可选地,服务器根据客户端的视频获取请求确定客户端所在设备的播放能力信息,例如,服务器根据视频获取请求中客户端所在设备的型号,可以确定客户端所在设备的播放能力信息;或者,服务器在接收到视频获取请求后,向客户端发送信息获取请求,以请求获取客户端所在设备的播放能力信息,客户端所在设备在接收到信息获取请求后,向服务器发送播放能力信息。
[0106]
本技术实施例对播放能力信息的内容不作限定,可选地,播放能力信息包括以下至少一项:解码能力信息、呈现能力信息、网络状况信息。其中,解码能力信息用于指示客户端所在设备解码视频文件的能力;呈现能力信息用于指示客户端所在设备呈现视频文件的能力;网络状况信息用于指示客户端所在设备的网络状况。
[0107]
步骤545,根据目标视频的各个视频轨道中的配置信息,获取与播放能力信息匹配的视频轨道。
[0108]
视频轨道中的配置信息可用于指示视频码流的编码特性,不同播放能力的设备所能处理的视频码流可能是不相同,为了使得客户端所在设备达到较好的视频播放效果,本技术实施例中,服务器根据目标视频的各个视频轨道中的配置信息,获取与客户端所在设备的播放能力信息相匹配的视频轨道,以确保客户端所在设备后续能够成功播放目标视频,并达到其播放能力所及范围内的较佳播放效果。
[0109]
步骤547,封装与播放能力信息匹配的视频轨道,得到视频文件。
[0110]
服务器封装与播放能力信息相匹配的视频轨道得到视频文件。可选地,针对某一视频,服务器可以对该视频对应的视频序列、音频、字幕等分别编码并封装,得到视频轨道、音频轨道、字幕轨道等,然后服务器可以将这些轨道封装得到视频文件。
[0111]
步骤549,向客户端发送视频文件。
[0112]
服务器向客户端发送视频文件,以响应于客户端的视频获取请求。
[0113]
综上所述,本技术实施例提供的技术方案,通过服务器获取与客户端所在设备的播放能力信息相匹配的视频轨道,并将视频轨道封装后发送给客户端,相比于服务器将所有视频轨道分别封装并将封装得到的所有视频文件发送给客户端,本技术实施例降低了服务器的处理开销,减少了服务器和客户端所在设备之间的数据传输量,有助于提升视频文
件的传输效率。并且,由于视频轨道中的配置信息可用于指示视频码流的编码特性,不同播放能力的设备所能处理的视频码流可能是不相同,本技术实施例中,服务器根据各个视频轨道中的配置信息,获取与客户端所在设备的播放能力信息相匹配的视频轨道,以确保客户端所在设备后续能够成功播放视频,并达到其播放能力所及范围内的较佳播放效果。
[0114]
请参考图6,其示出了本技术一个实施例提供的视频处理方法的流程图。该方法可应用于对视频序列进行解码的终端中,如图3所示的通信系统中的第二设备220中。该方法可以包括如下几个步骤(步骤610~640):
[0115]
步骤610,获取目标视频的视频文件。
[0116]
客户端在存在播放目标视频的需求时,可以从服务器处获取目标视频的视频文件。有关客户端获取目标视频的视频文件的过程,请参见上述方法实施例,此处不多赘述。
[0117]
步骤620,解封装视频文件,得到目标视频的视频轨道。
[0118]
客户端接收到视频文件后对视频文件进行解封装处理,得到目标视频的视频轨道。
[0119]
步骤630,解封装视频轨道,得到目标视频的视频码流以及视频码流的配置信息;其中,配置信息用于指示视频码流的相关配置,且配置信息包括知识图像信息,知识图像信息用于指示视频轨道是否包含知识图像,以及视频轨道是否需要参考知识图像。
[0120]
客户端进一步解封装视频轨道,可以得到目标视频的视频码流以及视频码流的配置信息。
[0121]
在一个示例中,在知识图像信息的值为第一数值的情况下,知识图像信息用于指示视频轨道中不包含知识图像,且视频轨道不需要参考知识图像;在知识图像信息的值为第二数值的情况下,知识图像信息用于指示视频轨道中不包含知识图像,且视频轨道需要参考知识图像;在知识图像信息的值为第三数值的情况下,知识图像信息用于指示视频轨道中包含知识图像,且视频轨道不需要参考知识图像;在知识图像信息的值为第四数值的情况下,知识图像信息用于指示视频轨道中包含知识图像,且视频轨道需要参考知识图像。
[0122]
在一个示例中,配置信息还包括以下至少一项:档次标号信息,用于指示视频码流符合的档次;级别标号信息,用于指示视频码流符合的级别;色度格式信息,用于指示所述视频码流的色度格式;样本精度信息,用于指示视频码流的亮度样本和色度样本的精度;帧率指示信息,用于指示视频码流的帧率。
[0123]
在另一个示例中,配置信息还包括版本配置信息,版本配置信息用于指示视频码流的当前配置版本。
[0124]
步骤640,解码视频码流,得到目标视频的视频序列。
[0125]
客户端进一步解码视频码流,即可得到目标视频的视频序列,进而客户端可以根据该视频序列播放目标视频。
[0126]
应理解,步骤610至步骤640为解码端执行的操作,可以视为上述编码端执行的操作的逆过程,因此,有关步骤610至步骤640的介绍说明,请参见上述实施例,此处不多赘述。
[0127]
综上所述,本技术实施例提供的技术方案,通过客户端获取视频文件后,对该视频文件进行解封装等处理,得到视频轨道,该视频轨道中包括视频码流的配置信息,以指示视频码流的编码特性,便于客户端参考视频码流的编码特性对该视频码流进行解码,确保解码的成功率。并且,本技术实施例中,视频码流的配置信息包括知识图像,由于在avs技术中
针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的文件封装方式。
[0128]
请参考图7,其示出了本技术一个实施例提供的视频处理方法的流程图。该方法可应用于图3所示通信系统中。该方法可以包括如下几个步骤:
[0129]
步骤710,服务器获取对视频序列进行编码得到的视频码流。
[0130]
步骤720,服务器确定视频码流的配置信息,配置信息用于指示视频码流的相关配置,且配置信息包括知识图像信息。其中,知识图像信息用于指示视频码流对应的视频轨道是否包含知识图像以及视频轨道是否需要参考知识图像。
[0131]
步骤730,服务器封装视频码流以及视频码流的配置信息,得到视频轨道。
[0132]
步骤740,客户端向服务器发送视频获取请求。视频获取请求用于请求获取目标视频的视频文件。
[0133]
步骤750,服务器确定客户端所在设备的播放能力信息。可选地,播放能力信息包括以下至少一项:解码能力信息、呈现能力信息、网络状况信息。
[0134]
步骤760,服务器根据目标视频的各个视频轨道中的配置信息,获取与播放能力信息匹配的视频轨道。
[0135]
步骤770,服务器封装与播放能力信息匹配的视频轨道,得到视频文件。
[0136]
步骤780,服务器向客户端发送视频文件。
[0137]
下面以几个示例对本技术的技术方案进行介绍说明。
[0138]
示例一:
[0139]
服务器将同一内容,但不同解码、呈现需求的视频码流封装为不同的轨道。不同解码、呈现需求包括档次、级别、色度格式、样本精度等,本示例中以不同档次举例。
[0140]
假设服务器对于视频内容a,按照基准8位档次、基准10位档次、高性能10位档次分别编码并封装为视频轨道1、视频轨道2、视频轨道3。则:
[0141]
视频轨道1:track_id=1;profile_id=0x20;
[0142]
视频轨道2:track_id=2;profile_id=0x22;
[0143]
视频轨道3:track_id=3;profile_id=0x32。
[0144]
服务器接收客户端请求,将与客户端的解码与呈现能力相匹配的视频轨道封装后传输给客户端。
[0145]
针对客户端a:接收视频文件1,解码后消费,该视频文件1解封装后得到视频轨道track_id=1;profile_id=0x20。
[0146]
针对客户端b:接收视频文件2,解码后消费,该视频文件2解封装后得到视频轨道track_id=2;profile_id=0x22。
[0147]
示例二:
[0148]
服务器将同一内容,但不同帧率的视频码流封装为不同的视频轨道。
[0149]
假设服务器对于视频内容a,将帧率30fps(frames per second,每秒传输帧数)、帧率60fps的视频码流分别封装为视频轨道1、视频轨道2。则:
[0150]
视频轨道1:track_id=1;frame_rate_code=0101;
[0151]
视频轨道2:track_id=2;frame_rate_code=1000。
[0152]
服务器接收客户端请求,将与客户端的解码与呈现能力相匹配的视频轨道封装后
传输给客户端。
[0153]
针对客户端a:客户端a所在设备的网络卡顿,接收视频文件1,解码后消费,该视频文件1解封装后得到的视频轨道track_id=1;frame_rate_code=0101,视频帧率为30fps。
[0154]
针对客户端b:客户端b所在设备的网络流畅,接收视频文件2,解码后消费,该视频文件2解封装后得到的视频轨道track_id=2;frame_rate_code=1000,视频帧率为60fps。
[0155]
示例三:
[0156]
假设对于视频内容a:
[0157]
视频轨道1:track_id=1,library_indication=10;
[0158]
视频轨道2:track_id=2,library_indication=00。
[0159]
假设对于视频内容b:
[0160]
视频轨道1:track_id=1,library_indication=10;
[0161]
视频轨道2:track_id=2,library_indication=01。
[0162]
当客户端请求视频内容a时,在客户端所在设备网络流畅的情况下,服务器将视频轨道1与视频轨道2一起封装为视频文件,传输给客户端;
[0163]
当客户端请求视频内容a时,在客户端所在设备网络卡顿的情况下,服务器将视频轨道2封装为视频文件,传输给客户端。
[0164]
当客户端请求视频内容b时,无论客户端所在设备网络如何,服务器均将视频轨道1与视频轨道2一起封装为视频文件,传输给客户端。
[0165]
客户端接收视频文件a后,由于视频文件解封装得到的是不包含依赖知识图像的视频轨道,因此不需要申请额外解码资源(内存、cpu(central processing unit,中央处理单元)等);
[0166]
客户端接收视频文件b后,由于视频文件解封装得到的是包含依赖知识图像的视频轨道,因此需要申请额外解码资源(内存、cpu等)。
[0167]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0168]
请参考图8,其示出了本技术一个实施例提供的视频处理装置的框图。该装置具有实现上述视频处理方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的服务器,也可以设置在服务器中。该装置800可以包括:码流获取模块810、第一确定模块820和轨道封装模块830。
[0169]
码流获取模块810,用于获取对视频序列进行编码得到的视频码流。
[0170]
第一确定模块820,用于确定所述视频码流的配置信息,所述配置信息用于指示所述视频码流的相关配置;其中,所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频码流对应的视频轨道是否包含知识图像以及所述视频轨道是否需要参考知识图像。
[0171]
轨道封装模块830,用于封装所述视频码流以及所述视频码流的配置信息,得到所述视频轨道。
[0172]
在一个示例中,在所述知识图像信息的值为第一数值的情况下,所述知识图像信息用于指示所述视频轨道中不包含知识图像,且所述视频轨道不需要参考知识图像;在所述知识图像信息的值为第二数值的情况下,所述知识图像信息用于指示所述视频轨道中不
包含知识图像,且所述视频轨道需要参考知识图像;在所述知识图像信息的值为第三数值的情况下,所述知识图像信息用于指示所述视频轨道中包含知识图像,且所述视频轨道不需要参考知识图像;在所述知识图像信息的值为第四数值的情况下,所述知识图像信息用于指示所述视频轨道中包含知识图像,且所述视频轨道需要参考知识图像。
[0173]
在一个示例中,所述配置信息还包括以下至少一项:档次标号信息,用于指示所述视频码流符合的档次;级别标号信息,用于指示所述视频码流符合的级别;色度格式信息,用于指示所述视频码流的色度格式;样本精度信息,用于指示所述视频码流的亮度样本和色度样本的精度;帧率指示信息,用于指示所述视频码流的帧率。
[0174]
在一个示例中,所述配置信息还包括版本配置信息,所述版本配置信息用于指示所述视频码流的当前配置版本。
[0175]
在一个示例中,码流获取模块810,用于:获取编码能力信息,所述编码能力信息用于指示所述视频序列的编码设备的编码能力;根据所述编码能力信息确定编码策略;按照所述编码策略对所述视频序列进行编码,得到所述视频码流。
[0176]
在一个示例中,如图9所示,所述装置800还包括:请求接收模块840,用于接收来自客户端的视频获取请求,所述视频获取请求用于请求获取目标视频的视频文件;第二确定模块850,用于确定所述客户端所在设备的播放能力信息;轨道获取模块860,用于根据所述目标视频的各个视频轨道中的配置信息,获取与所述播放能力信息匹配的视频轨道;轨道封装模块870,用于封装与所述播放能力信息匹配的视频轨道,得到所述视频文件;文件发送模块880,用于向所述客户端发送所述视频文件。
[0177]
在一个示例中,所述播放能力信息包括以下至少一项:解码能力信息,用于指示所述客户端所在设备解码视频文件的能力;呈现能力信息,用于指示所述客户端所在设备呈现视频文件的能力;网络状况信息,用于指示所述客户端所在设备的网络状况。
[0178]
综上所述,本技术实施例提供的技术方案,通过在封装视频码流得到视频轨道的过程中,添加视频码流的配置信息,以指示视频码流的编码特性,从而便于实现对视频轨道的分类存储、便于实现不同视频轨道之间的关联、便于快速获取某一编码特性的视频轨道,提升了视频轨道的存储、关联、传输效率等。另外,由于各个视频轨道中包括视频码流的配置信息,进而服务器可以根据配置信息快速获取与客户端所在设备的播放能力相匹配的视频轨道,并将该视频轨道封装后发送给客户端,正是由于该视频轨道与客户端所在设备的播放能力相匹配,从而可以确保解码的成功率,进而提升解码效率。此外,本技术实施例中,视频码流的配置信息包括知识图像,由于在avs技术中针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的文件封装方式。
[0179]
请参考图10,其示出了本技术一个实施例提供的视频处理装置的框图。该装置具有实现上述视频处理方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的客户端所在设备,也可以设置在客户端所在设备中。该装置1000可以包括:文件获取模块1010、第一解封装模块1020、第二解封装模块1030和码流解码模块1040。
[0180]
文件获取模块1010,用于获取目标视频的视频文件。
[0181]
第一解封装模块1020,用于解封装所述视频文件,得到所述目标视频的视频轨道。
[0182]
第二解封装模块1030,用于解封装所述视频轨道,得到所述目标视频的视频码流以及所述视频码流的配置信息;其中,所述配置信息用于指示所述视频码流的相关配置,且所述配置信息包括知识图像信息,所述知识图像信息用于指示所述视频轨道是否包含知识图像,以及所述视频轨道是否需要参考知识图像。
[0183]
码流解码模块1040,用于解码所述视频码流,得到所述目标视频的视频序列。
[0184]
在一个示例中,在所述知识图像信息的值为第一数值的情况下,所述知识图像信息用于指示所述视频轨道中不包含知识图像,且所述视频轨道不需要参考知识图像;在所述知识图像信息的值为第二数值的情况下,所述知识图像信息用于指示所述视频轨道中不包含知识图像,且所述视频轨道需要参考知识图像;在所述知识图像信息的值为第三数值的情况下,所述知识图像信息用于指示所述视频轨道中包含知识图像,且所述视频轨道不需要参考知识图像;在所述知识图像信息的值为第四数值的情况下,所述知识图像信息用于指示所述视频轨道中包含知识图像,且所述视频轨道需要参考知识图像。
[0185]
在一个示例中,所述配置信息还包括以下至少一项:档次标号信息,用于指示所述视频码流符合的档次;级别标号信息,用于指示所述视频码流符合的级别;色度格式信息,用于指示所述视频码流的色度格式;样本精度信息,用于指示所述视频码流的亮度样本和色度样本的精度;帧率指示信息,用于指示所述视频码流的帧率。
[0186]
在一个示例中,所述配置信息还包括版本配置信息,所述版本配置信息用于指示所述视频码流的当前配置版本。
[0187]
综上所述,本技术实施例提供的技术方案,通过客户端获取视频文件后,对该视频文件进行解封装等处理,得到视频轨道,该视频轨道中包括视频码流的配置信息,以指示视频码流的编码特性,便于客户端参考视频码流的编码特性对该视频码流进行解码,确保解码的成功率。并且,本技术实施例中,视频码流的配置信息包括知识图像,由于在avs技术中针对视频编码首次引入知识图像这一概念,因此,本技术实施例针对avs技术,提供了一种指示avs编码技术的编码特点的文件封装方式。
[0188]
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0189]
请参考图11,其示出了本技术一个实施例提供的服务器的结构框图。该服务器可用于执行上述实施例中提供的服务器侧视频处理方法。具体来讲:
[0190]
服务器1100包括中央处理单元(central processing unit,cpu)1101、包括随机存取存储器(random access memory,ram)1102和只读存储器(read only memory,rom)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。服务器1100还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o(input/output)系统)1106,和用于存储操作系统1113、应用程序1114和其他程序模块1112的大容量存储设备1107。
[0191]
基本输入/输出系统1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中显示器1108和输入设备1109都通过连接到系
统总线1105的输入输出控制器1110连接到中央处理单元1101。基本输入/输出系统1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。
[0192]
大容量存储设备1107通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。大容量存储设备1107及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,大容量存储设备1107可以包括诸如硬盘或者cd-rom(compact disc read-only memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
[0193]
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom(erasable programmable read only memory,可擦除可编程只读存储器)、eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,cd-rom、dvd(digital video disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1107可以统称为存储器。
[0194]
根据本技术的各种实施例,服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。
[0195]
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述服务器侧视频处理方法。
[0196]
请参考图12,其示出了本技术一个实施例提供的终端1200的结构框图。该终端1200可以是诸如手机、平板电脑、多媒体播放设备、电视机、放映机、显示器、可穿戴设备、pc等电子设备。该终端可用于实施上述实施例中提供的客户端侧视频处理方法。具体来讲:
[0197]
通常,终端1200包括有:处理器1201和存储器1202。
[0198]
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用dsp(digital signal processing,数字信号处理)、fpga(field programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0199]
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可
读存储介质用于存储至少一个指令,至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集,且经配置以由一个或者一个以上处理器执行,以实现上述客户端侧视频处理方法。
[0200]
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。
[0201]
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0202]
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被服务器的处理器执行时以实现上述服务器侧视频处理方法。
[0203]
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被终端的处理器执行时以实现上述客户端侧视频处理方法。
[0204]
可选地,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、固态硬盘(ssd,solid state drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistance random access memory)和动态随机存取存储器(dram,dynamic random access memory)。
[0205]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器执行上述服务器侧视频处理方法。
[0206]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述客户端侧视频处理方法。
[0207]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
[0208]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献