视频传输方法、装置、飞行器、播放设备及存储介质

文档序号:1048039 发布日期:2020-10-09 浏览:15次 >En<

阅读说明:本技术 视频传输方法、装置、飞行器、播放设备及存储介质 (Video transmission method and device, aircraft, playing equipment and storage medium ) 是由 赵亮 周士贞 陈颖 于 2019-05-27 设计创作,主要内容包括:本申请公开了一种视频传输方法、装置、飞行器、播放设备及存储介质,包括:获取当前图像帧,对当前图像帧进行编码后向接收端发送(S110);若接收到接收端发送的错误反馈信息,根据当前图像帧确定纠错刷新帧(S120);对纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向接收端发送(S130),以使传输错误较快恢复。(The application discloses a video transmission method, a device, an aircraft, a playing device and a storage medium, which comprises the steps of obtaining a current image frame, coding the current image frame and then sending the current image frame to a receiving end (S110); if receiving the error feedback information sent by the receiving end, determining an error correction refresh frame according to the current image frame (S120); the partial region of the error correction refresh frame is intra-coded, and the coded error correction refresh frame is transmitted to the receiving end (S130) so that the transmission error is recovered quickly.)

视频传输方法、装置、飞行器、播放设备及存储介质

技术领域

本申请涉及视频传输技术领域,尤其涉及一种视频传输方法、装置、飞行器、播放设备及存储介质。

背景技术

目前,对实时性要求较高的视频传输通常通过将较多的视频帧进行帧间编码为预测帧(P帧),提高对信道的利用率,在相同信道条件下会有更清晰的画质。

预测帧的编解码需要参考其他视频帧的信息,现有技术通常在接收端预测帧解码失败时,发送端重新编码出一个完整的关键帧(I帧)发送给接收端,接收端解码该关键帧得到新的参考信息,以使后续的预测帧解码正确;但是由于关键帧的压缩效率比较低,容易出现编码码率突发,发送和接收该关键帧需要占用较多的时间,影响后续视频帧的发送和接收,该关键帧附近常会出现延迟增加和卡顿的情况;因此该种方式对无线传输物理信道不是很友好,尤其是在信道状况不是很好、或信道变化较快的场景,图传延迟和卡顿感会比较明显。

虽然有技术通过周期性进行视频渐近刷新(Gradual decoder refresh,GDR)解码需要的参考信息,但是如果要及时更新参考信息以保证预测帧正确解码,就需要缩短刷新周期,从而编码的冗余信息增多,信道的利用率也会降低,同样码率下画质降低;而刷新周期增大时也会使得参考信息无法及时更新,预测帧解码出错后,错误恢复速度比较慢。

发明内容

基于此,本申请提供了一种视频传输方法、装置、飞行器、播放设备及存储介质,旨在解决现有的视频传输过程中,在视频帧接收、解码错误时,容易出现编码码率突发,出现延迟增加和卡顿,而影响视频帧的传输等技术问题。

第一方面,本申请提供了一种视频发送方法,应用于发送端,包括:

获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送;

若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧;

对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。

第二方面,本申请提供了一种视频接收方法,应用于接收端,包括:

从发送端接收编码后的当前图像帧,解码所述当前图像帧;

若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧;

解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

第三方面,本申请提供了一种视频传输方法,包括:

发送端对获取的当前图像帧进行编码,将编码后的当前图像帧向接收端发送;

所述接收端接收、解码所述当前图像帧,若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息;

所述发送端根据所述错误反馈信息确定纠错刷新帧,对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送;

所述接收端解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

第四方面,本申请提供了一种视频发送装置,包括存储器和处理器;

所述存储器用于存储计算机程序;

所述处理器,用于执行所述计算机程序并在执行所述计算机程序时,实现如下步骤:

获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送;

若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧;

对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。

第五方面,本申请提供了一种飞行器,包括:

图像采集组件,用于采集图像;

前述的视频发送装置,用于获取图像采集组件采集到的图像,编码后向接收端发送;

飞行组件,用于飞行。

第六方面,本申请提供了一种视频接收装置,包括存储器和处理器;

所述存储器用于存储计算机程序;

所述处理器,用于执行所述计算机程序并在执行所述计算机程序时,实现如下步骤:

从发送端接收编码后的当前图像帧,解码所述当前图像帧;

若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧;

解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

第七方面,本申请提供了一种视频播放设备,包括:

前述的视频接收装置,用于从发送端接收图像,并进行解码;

显示组件,用于显示所述视频接收装置解码出的数据。

第八方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现前述的视频发送方法;或者

实现前述的视频接收方法。

本申请实施例提供了一种视频传输方法、装置、飞行器、播放设备及存储介质,通过在某图像帧传输出错时,对纠错刷新帧的部分区域进行帧内编码,既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以及时为接收端提供解码所需的参考数据,使得传输错误较快恢复。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种视频发送方法的流程示意图;

图2是发送端向接收端发送图像帧的场景示意图;

图3至图5是本申请视频发送方法其他实施方式的流程示意图;

图6、图7是图1中对纠错刷新帧的部分区域进行帧内编码的流程示意图;

图8、图9是本申请视频发送方法其他实施方式的流程示意图;

图10、图11是图1中对纠错刷新帧的部分区域进行帧内编码的流程示意图;

图12是图1中对纠错刷新帧的部分区域进行帧内编码的流程示意图;

图13是根据错误反馈信息中的区域索引信息确定帧内编码区域的示意图;

图14、图15是图1中对纠错刷新帧的部分区域进行帧内编码的流程示意图;

图16、图17是图1中对当前图像帧进行编码的流程示意图;

图18是对刷新周期中的间隔刷新帧进行帧内编码的示意图;

图19是对刷新周期中的间隔刷新帧的部分区域进行帧内编码的示意图;

图20是本申请视频发送方法另一实施方式的流程示意图;

图21是图20中对一图像帧进行帧内编码,对之后的若干图像帧进行帧间编码的示意图;

图22是本申请一实施例提供的一种视频接收方法的流程示意图;

图23、图24是图22中解码所述当前图像帧的流程示意图;

图25是图22中解码纠错刷新帧和刷新参考数据的流程示意图;

图26是本申请一实施例提供的一种视频传输方法的流程示意图;

图27是视频传输方法一实施方式的图像帧传输的示意图。

图28是本申请一实施例提供的一种视频发送装置的示意性框图;

图29是本申请一实施例提供的一种飞行器的示意性框图;

图30是本申请一实施例提供的一种视频接收装置的示意性框图;

图31是本申请一实施例提供的一种视频播放设备的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1是本申请一实施例提供的用于发送端的一种视频发送方法的流程示意图,所述视频发送方法可以应用在终端设备或者服务器中,用于向接收端发送视频等过程;其中终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理、穿戴式设备或者无人机等,服务器可以为独立的服务器,也可以为服务器集群。进一步而言,无人机可以为旋翼型无人机,例如四旋翼无人机、六旋翼无人机、八旋翼无人机,也可以是固定翼无人机,且该无人机上带有摄像设备。

如图1所示,本实施例视频发送方法包括步骤S110至步骤S130。

S110、获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送。

在本实施例中,发送端逐帧向接收端发送图像帧,如图2所示;示例性的,发送端上的摄像头实时获取图像帧,将获取的图像帧逐帧编码后向接收端发送。

例如,当前图像帧为设于发送端上的摄像头实时获取的图像帧,表示当前时刻发送端获取和要发送的图像帧。

示例性的,发送端对所述当前图像帧进行帧间(Interframe)编码,得到预测编码图像帧(Predictive-codedPicture),即P帧;通过参考之前的图像帧,采用运动预测的方式进行帧间预测编码。

如图2所示,发送端依次将第2个图像帧至第n-1个图像帧作为当前图像帧,进行帧间编码得到P帧后向接收端发送。

例如,参考第1个图像帧,对第2个图像帧进行帧间编码;参考第1个图像帧或者第2个图像帧,对第3个图像帧进行帧间编码。

S120、若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧。

在本实施例中,发送端将编码后的图像帧向接收端发送,如果接收端接收某一图像帧出错或者解码图像帧出错,则向发送端发送错误反馈信息。

示例性的,接收端接收、解码出任一图像帧后向发送端发送成功反馈信息,以及解码该图像帧;发送端收到成功反馈信息后获取新的图像帧,进行编码后向接收端发送;如果接收端接收某一图像帧出错或者解码图像帧出错,则向发送端发送错误反馈信息。

示例性的,接收端通过和发送端之间的上行信道将成功反馈信息、错误反馈信息向发送端发送。例如,上行信道还可以用于向发送端,如无人机传输飞控指令,以及各种控制指令,如拍照,录像,返航等指令。

示例性的,错误反馈信息包括所述接收端响应于丢包事件的反馈信息,或者包括所述接收端响应于完整性校验错误的反馈信息。

发送端在向接收端发送某一图像帧时,接收到接收端发送的错误反馈信息,则表示该图像帧发送或解码失败,则根据错误反馈信息对应的图像帧确定纠错刷新帧。

S130、对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。

不同于现有技术中对整个图像帧进行帧内(Intraframe)编码,在本实施例中,对纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。如图2所示,对第n个图像帧至第n+2个图像帧的部分区域进行帧内编码。

进行帧内编码时,不需要参考其他图像帧,可以完整描述图像帧或图像帧部分区域的图像背景和运动主体的信息,帧内编码后数据的数据量比较大,向接收端传输时占用的网络资源比较多;接收端在解码经帧内编码的图像帧或图像帧部分区域时,不需要参考其他图像帧就可解码出该部分数据,解码出的数据作为其他图像帧进行解码时所需的参考数据。

本实施例提供的视频发送方法通过在某图像帧传输出错时,对纠错刷新帧的部分区域进行帧内编码,既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以及时为接收端提供解码所需的参考数据,使得传输错误较快恢复。

在一些实施方式中,如图3所示,步骤S130中对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送,包括:

S1301、对所述纠错刷新帧的部分区域进行帧内编码,对所述纠错刷新帧的其余区域进行帧间编码,将编码后的纠错刷新帧向所述接收端发送。

帧间编码后数据的数据量比较小,向接收端传输时占用的网络资源比较少;因而可以实现编码后纠错刷新帧的数据量较小,而且包括帧内编码的区域,可用于接收端刷新参考数据。

在一些实施方式中,如图4所示,步骤S120若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧,包括:

S121、若接收到所述接收端发送的错误反馈信息,在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定预设个数的纠错刷新帧。

若接收到所述接收端发送的错误反馈信息,在错误反馈信息对应的图像帧,即当前图像帧和/或该当前图像帧之后的图像帧中确定预设个数的纠错刷新帧。

例如,发送端在S110获取第n个图像帧,对该图像帧进行编码后向接收端发送;但是在S120接收到接收端发送的错误反馈信息,则可以在第n个图像帧和/或第n个图像帧之后的图像帧中确定预设个数,如M个纠错刷新帧,n、M是不为0的自然数。如图2所示,M等于3。

示例性的,如图5所示,步骤S121在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定预设个数的纠错刷新帧,包括:

S1201、将以所述当前图像帧开始的预设个数的图像帧作为纠错刷新帧。

例如,如图2所示,将第n个图像帧开始的M个图像帧,即第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧。以更迅速的响应接收端的错误反馈信息,向接收端发送纠错刷新帧。

在一些实施方式中,如图6所示,步骤S130对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送,包括步骤S131至S134。

S131、将所述当前图像帧作为第一个纠错刷新帧,对所述第一个纠错刷新帧的部分区域进行帧内编码,将编码后的第一个纠错刷新帧向所述接收端发送。

在本实施方式中,将以错误反馈信息对应的当前图像帧开始的预设个数的图像帧作为纠错刷新帧。

示例性的,接收端在接收、解码第n个图像帧时出现错误,向发送端发送错误反馈信息,发送端将第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧;第一个纠错刷新帧为错误反馈信息对应的当前图像帧,即第n个图像帧。

示例性的,对第n个图像帧的部分区域进行帧内编码,其余区域进行帧间编码,之后将编码后的第n个图像帧向接收端发送。

S132、获取下一纠错刷新帧。

示例性的,无人机上的摄像头逐帧获取图像帧,在发送端对某一图像帧进行编码、传输的同时或者之后,发送端可以实时获取下一各图像帧。由于摄像头获取图像帧的速度大致恒定,因此发送端对图像帧进行传输的时长需要限定在一个较小的范围内,才不会使视频传输卡顿。在本实施例中,对纠错刷新帧的部分区域进行帧内编码,传输的码率较小,花费时间较短;可以实现至少在拍摄下一图像帧之前传输完毕纠错刷新帧,保证视频传输的实时性,减少延迟。

示例性的,获取摄像头新拍摄的图像帧,例如第n+s个图像帧作为所述下一纠错刷新帧,其中s小于M,且s是不为0的自然数。

S133、对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送。

示例性的,对第n+s个图像帧的部分区域进行帧内编码,其余区域进行帧间编码,之后将编码后的第n+s个图像帧向接收端发送。

在一些实施方式中,同一错误反馈信息对应的不同纠错刷新帧进行帧内编码的区域不同。从而,接收端可以根据解码不同的纠错刷新帧更新参考数据的不同部分。

S134、返回所述获取下一纠错刷新帧,以及对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送的步骤继续执行,直至最后一个纠错刷新帧编码后向所述接收端发送。

示例性的,如图7所示,步骤S134返回所述获取下一纠错刷新帧,以及对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送的步骤继续执行,直至最后一个纠错刷新帧编码后向所述接收端发送,包括:

S1341、判断最后一个纠错刷新帧是否已经编码后向所述接收端发送。

示例性的,若最后一个纠错刷新帧还未编码后向所述接收端发送,返回所述获取下一纠错刷新帧,以及对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送的步骤继续执行;若最后一个纠错刷新帧已经编码后向所述接收端发送,可以返回步骤S110继续执行。

示例性的,若s小于M-1,则返回步骤S132获取第n+s+1个图像帧,对该图像帧的部分区域进行帧内编码,将编码后的图像帧向接收端发送;若s等于M-1,则第n+M-1个图像帧,即最后一个纠错刷新帧已经进行部分帧内编码后向接收端发送了,不用返回获取新的纠错刷新帧。

示例性的,依次对步骤S121确定的预设个数的纠错刷新帧进行部分区域帧内编码,将编码后的所述纠错刷新帧向所述接收端发送。

在一些实施方式中,对于任一错误反馈信息,其对应的预设个数的纠错刷新帧进行帧内编码的区域的并集等于任一纠错刷新帧帧的范围。经过对预设个数的纠错刷新帧进行部分区域帧内编码,等效为一整个图像帧的所有区域均进行了帧内编码;因此,接收端通过解码所述预设个数的纠错刷新帧,可以将参考数据完整的刷新一遍,以提高接收端对后续的图像帧进行解码的准确性,防止接收的视频发生花屏的现象。

示例性的,步骤S130对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后,若接收到所述接收端发送的错误反馈信息,则表示接收端当前接收、解码的纠错刷新帧出现错误;发送端返回步骤S120、步骤S130继续执行,例如根据该纠错刷新帧,即当前图像帧确定纠错刷新帧,重新进行一轮纠错刷新帧的确定和部分区域帧内编码。

在一些实施方式中,如图8所示,步骤S130对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后,包括:

S140、返回所述获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送的步骤继续执行,直至接收到所述接收端发送的错误反馈信息。

示例性的,在将步骤S121确定的预设个数的纠错刷新帧进行部分区域帧内编码,向所述接收端发送之后,接收端的参考数据更新完成,可以进行正常的解码,如帧间解码。则发送端可以返回步骤S110获取例如摄像头新拍摄的图像帧,即当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送。如果之后接收到接收端发送的错误反馈信息,则执行步骤S120至S140,以实现接收端对参考数据的更新。

在另一些实施方式中,如图9所示,步骤S120若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧,包括:

S122、若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错序列。

具体的,所述纠错序列包括预设个数的纠错刷新帧和所述预设个数的纠错刷新帧之后的预测帧。

示例性的,接收端接收到发送端进行部分帧内编码的纠错刷新帧,解码纠错刷新帧可以对参考数据进行更新;对于发送端,可以参考纠错刷新帧对纠错刷新帧之后的若干图像帧进行帧间编码;对于接收端,可以基于参考数据对纠错刷新帧之后的若干图像帧进行帧间解码。

示例性的,接收端在接收、解码第n个图像帧时出现错误,向发送端发送错误反馈信息,发送端将第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧,将第n+M个图像帧至第n+M+p-1个图像帧确定为p个预测帧;纠错刷新帧和纠错刷新帧之后的预测帧组成错误反馈信息对应的纠错序列。

在一些实施方式中,如图9所示,步骤S140返回所述获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送的步骤继续执行,直至接收到所述接收端发送的错误反馈信息之前,包括:

S150、若接收到所述接收端在解码出所述纠错刷新帧时发送的正确反馈信息,对所述纠错序列中的预测帧进行帧间编码,将编码后的预测帧向所述接收端发送。

示例性的,步骤S150在步骤S130对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后执行。

示例性的,如果接收端接收各纠错刷新帧和解码各纠错刷新帧均正确,则参考数据进得到更新,可以向发送端发送正确反馈信息。发送端接收到正确反馈信息,则对纠错序列中的预测帧进行帧间编码,将编码后的预测帧向所述接收端发送。

示例性的,在对某一预测帧进行帧间编码时,可以参考该纠错序列中该预测帧之前的任一个预测帧。例如,在对第n+M个图像帧进行帧间编码时可以参考第n+M-1个图像帧;在对第n+M+p-1个图像帧进行帧间编码时可以参考第n个图像帧至第n+M+p-2个图像帧中的任一个。

示例性的,步骤S130对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后,若接收到所述接收端发送的错误反馈信息,则表示接收端当前接收、解码的纠错刷新帧出现错误;发送端返回步骤S120、步骤S130继续执行,例如根据该纠错刷新帧,即当前图像帧确定纠错刷新帧,重新进行一次纠错刷新帧的确定和部分区域帧内编码。

在一些实施方式中,如图10所示,步骤S131中对所述第一个纠错刷新帧的部分区域进行帧内编码,包括:

S1311、对所述第一个纠错刷新帧的头部区域进行帧内编码。

如图2所示,发送端根据接收端发送的错误反馈信息将第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧,其中第n个图像帧是第一个纠错刷新帧。将第一个纠错刷新帧的头部区域作为进行帧内编码的区域,其他区域可以进行帧间编码。

示例性的,对于某一图像帧,先获取的部分区域的图像为头部区域的图像,例如一图像帧的前面若干行像素。例如,发送端获取的各图像帧均为1920x1080的分辨率,在水平方向上,即每行有1920个像素点,在垂直方向上,即每列有1080个像素点;则前200行,共200×1920像素点所在的区域为该图像帧的头部区域。

在本实施方式中,步骤S133中的对所述纠错刷新帧的部分区域进行帧内编码,包括:

S1331、将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行帧内编码的区域进行帧内编码。

示例性的,如图2所示,将第n个图像帧进行帧内编码的区域向远离头部区域的方向移动,即后移,得到第n+1个图像帧进行帧内编码的区域;将第n+1个图像帧进行帧内编码的区域向远离头部区域的方向移动,即后移,得到第n+2个图像帧进行帧内编码的区域。

在图2中,同一纠错序列中各纠错刷新帧进行帧内编码的区域没有重合;例如,第n个图像帧进行帧内编码的区域为第0行至第200行的像素区域,第n+1个图像帧进行帧内编码的区域为第201行至第400行的像素区域,第n+2个图像帧进行帧内编码的区域为第401行至第800行的像素区域;各纠错刷新帧进行帧内编码的区域可以相等,也可以不相等。

在另一可行的实施方式中,同一纠错序列中各纠错刷新帧进行帧内编码的区域可以由部分重合;例如,第n个图像帧进行帧内编码的区域为第0行至第300行的像素区域,第n+1个图像帧进行帧内编码的区域为第201行至第500行的像素区域,第n+2个图像帧进行帧内编码的区域为第401行至第700行的像素区域;各纠错刷新帧进行帧内编码的区域可以相等,也可以不相等。

在本实施方式中,同一纠错序列中全部预设个数的纠错刷新帧进行帧内编码的区域的并集等于任一纠错刷新帧帧的范围。例如,同一纠错序列中的全部纠错刷新帧需要对第1行至第1080行的各像素范围进行帧内编码。如图2所示,第n个图像帧至第n+2个图像帧进行帧内编码的区域的并集等于一个完整图像帧的范围。因此,接收端通过解码所述预设个数的纠错刷新帧,可以将参考数据完整的刷新一遍,以提高接收端对后续的图像帧进行解码的准确性,防止接收的视频发生花屏的现象。

在一些实施方式中,如图11所示,步骤S121在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定预设个数的纠错刷新帧,包括:

S1211、根据所述当前图像帧中条带的数量,在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定相同数量的纠错刷新帧。

条带(Slice)包含一帧图像的部分或全部数据,换言之,一帧视频图像可以编码为一个或若干个条带。一个条带最少包含一个宏块(Macroblock),最多包含整帧图像的数据。在不同的编码实现中,同一帧图像中所构成的条带数目不一定相同。

在本实施例中,各图像帧包括至少两个条带;同一图像帧中的不同条带之间的编码、解码是独立的;条带的解码过程所参考的数据,例如预测编码不能越过该条带的边界,可以防止误码的扩散。

示例性的,图像帧中条带的数量为3,则在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定3个纠错刷新帧;如图2所示,确定第n个图像帧至第n+2个图像帧,为纠错刷新帧。

示例性的,步骤S1311对所述第一个纠错刷新帧的头部区域进行帧内编码,包括:

S1311’、对所述第一个纠错刷新帧的第一个条带进行帧内编码。

示例性的,对第一个纠错刷新帧的第一个条带进行帧内编码,其他条带进行帧间编码。条带进行帧内编码,得到I条带,即I slice;条带进行帧间编码,得到P条带,即Pslice。

示例性的,如图2所示,对第n个图像帧的第一个条带进行帧内编码。

示例性的,在I条带中只包含I类型宏块,即帧内预测宏块,不包含P宏块,即帧间预测宏块;在P条带中,除了相应的P宏块之外,还可以包含I宏块。

条带进行帧内编码或帧间编码后,得到I条带或P条带;I条带包括的条带类型信息slice_type为I条带对应的代码,I条带还包括该条带包含的第一个宏块在整帧中位置的信息等;P条带包括的条带类型信息slice_type为P条带对应的代码,P条带还包括该条带包含的第一个宏块在整帧中位置的信息等。

接收端从发送端接收到编码后的条带之后,根据条带类型信息slice_type判断进行帧内解码还是帧间解码;若条带类型信息slice_type为I条带对应的代码,则进行帧内解码,若条带类型信息slice_type为P条带对应的代码,则进行帧间解码;解码后根据各条带包含的第一个宏块在整帧中位置的信息将解码出的数据拼接为图像帧的数据。

示例性的,步骤S1331所述将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行帧内编码的区域进行帧内编码,包括:

S1331’、将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的条带序号加一,得到所述纠错刷新帧进行帧内编码的条带序号,对所述纠错刷新帧中对应于所述条带序号的条带进行帧内编码。

示例性的,如图2所示,将第n个图像帧进行帧内编码的条带序号加一,得到第n+1个图像帧进行帧内编码的条带序号为二;然后对第n+1个图像帧的第二个条带进行帧内编码,对第n+1个图像帧的第一个条带和第三个条带进行帧间编码;之后获取第n+2个图像帧,将第n+1个图像帧进行帧内编码的条带序号加一,得到第n+2个图像帧进行帧内编码的条带序号为三;然后对第n+2个图像帧的第三个条带进行帧内编码,对第n+2个图像帧的其他两个条带进行帧间编码。

同一纠错序列中各纠错刷新帧分别对一个条带进行帧内编码,全部预设个数的纠错刷新帧进行帧内编码的区域的并集等于任一纠错刷新帧帧的范围。接收端解码完一个纠错刷新帧后,更新图像帧中一个条带的参考信息;解码同一纠错序列中全部预设个数的纠错刷新帧后,图像帧中各条带的参考信息均得到更新;将纠错刷新帧中进行帧内编码的区域的划分结合至编码的单位,即条带中,可以降低计算量,提高准确率。

在另一些实施方式中,发送端从接收端接收的错误反馈信息包括区域索引信息。

示例性的,接收端在接收、解码当前图像帧中某区域的数据时出现错误,则根据将该区域的区域索引信息生成错误反馈信息,向发送端发送。

示例性的,发送端将编码后的当前图像帧向接收端发送时,接收到接收端发送的错误反馈信息,错误反馈信息包括对应于图像帧第201行至第400行的像素区域的区域索引信息。

如图12所示,步骤S131中对所述第一个纠错刷新帧的部分区域进行帧内编码,包括:

S1312、根据所获取错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域,对所述第一个纠错刷新帧进行帧内编码的区域进行帧内编码。

示例性的,根据错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域为第一个纠错刷新帧第201行至第400行的像素区域。

示例性的,对所述第一个纠错刷新帧进行帧内编码的区域进行帧内编码,其他区域进行帧间编码。例如,对第n个图像帧第201行至第400行的像素区域进行帧内编码,其他区域进行帧间编码;然后将编码后的第n个图像帧向接收端发送。

接收端解码第n个图像帧,特别是对第n个图像帧进行帧内编码的区域进行帧内解码后,可以更新该区域的参考数据;因此可以更快速的更新接收、解码出错区域的参考数据,利于错误状态的快速恢复,降低发生花屏现象的几率。

示例性的,如图13所示,根据错误反馈信息中的区域索引信息确定第n个图像帧进行帧内编码的区域为中部区域,然后对第n个图像帧的中部区域进行帧内编码,对第n个图像帧的头部区域和尾部区域进行帧间编码。

在本实施方式中,步骤S133中的对所述纠错刷新帧的部分区域进行帧内编码,包括:

S1332、将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行帧内编码的区域进行帧内编码。

示例性的,将第n个图像帧进行帧内编码的区域后移,得到第n+1个图像帧进行帧内编码的区域为尾部;然后对第n+1个图像帧的尾部区域进行帧内编码,对第n+1个图像帧的头部区域和中部区域进行帧间编码。

在一些实例中,第一个纠错刷新帧进行帧内编码的区域不在头部,因此当某一纠错刷新帧进行帧内编码的区域后移到尾部后,图像帧的头部区域可能还未进行帧内编码,需要后续的纠错刷新帧对该部分区域进行帧内编码。

示例性的,如图14所示,步骤S1332中的将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,包括:

S320、判断所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域是否在所述前一纠错刷新帧的尾部。

若所述前一纠错刷新帧进行帧内编码的区域不在所述前一纠错刷新帧的尾部,执行:

S321、将所述前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域。

示例性的,如图13所示,第n个图像帧进行帧内编码的区域为中部区域,不在第n个图像帧的尾部,则将第n个图像帧进行帧内编码的区域后移,得到第n+1个图像帧进行帧内编码的区域为尾部。

若所述前一纠错刷新帧进行帧内编码的区域在所述前一纠错刷新帧的尾部,执行:

S322、将所述纠错刷新帧的头部区域确定为所述纠错刷新帧进行帧内编码的区域。

示例性的,如图13所示,第n+1个图像帧进行帧内编码的区域为尾部,则将第n+2个图像帧进行帧内编码的区域为头部;然后对第n+2个图像帧的头部区域进行帧内编码,对第n+2个图像帧的中部区域和尾部区域进行帧间编码。

步骤S1332将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行部分区域帧内编码之后,若所述纠错刷新帧不是错误反馈信息对应的预设个数的纠错刷新帧中的最后一个,则返回步骤S132获取下一纠错刷新帧;若所述纠错刷新帧是错误反馈信息对应的预设个数的纠错刷新帧中的最后一个,则发送端可以返回步骤S110获取例如摄像头新拍摄的图像帧,即当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送。

通过错误反馈信息对应的纠错序列中各纠错刷新帧进行帧内编码区域的后移,以及进行帧内编码区域到达尾部后返回头部进行帧内编码;实现当纠错序列中全部的纠错刷新帧的部分区域进行帧内编码后,对图像帧中的全部区域进行了帧内编码;向接收端发送后,接收端可以完整的刷新整个图像帧对应的参考数据。

在一些实施方式中,如图15所示,步骤S121在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定预设个数的纠错刷新帧,包括:

S1212、根据所述当前图像帧中条带的数量,在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定相同数量的纠错刷新帧。

在本实施例中,各图像帧包括至少两个条带;同一图像帧中的不同条带之间的编码、解码是独立的;条带的解码过程所参考的数据,例如预测编码不能越过该条带的边界,可以防止误码的扩散。

示例性的,图像帧中条带的数量为3,则在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定3个纠错刷新帧;如图13所示,确定第n个图像帧至第n+2个图像帧,为纠错刷新帧。

示例性的,步骤S1312中的根据所获取错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域,包括:

S1312’、确定所述第一个纠错刷新帧中对应于所述错误反馈信息中条带序号的条带为进行帧内编码的区域。

示例性的,发送端对图像帧中各条带进行编码后发送给接收端,若接收端接收、解码某条带时出错,则根据该条带的条带序号生成错误反馈信息,将错误反馈信息发送给发送端。

例如,接收端接收、解码当前图像帧的第二个条带时出错,则向发送端发送的错误反馈信息包括第二个条带的条带序号。

发送端根据错误反馈信息中的条带序号确定所述第一个纠错刷新帧进行帧内编码的区域为第二个条带。

示例性的,对第一个纠错刷新帧的第二个条带进行帧内编码,第一个条带和第三个条带进行帧间编码。

示例性的,步骤S321中的将所述前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,包括:

S321’、将所述前一纠错刷新帧进行帧内编码的条带序号加一,得到所述纠错刷新帧进行帧内编码的条带序号。

例如,将第n个图像帧进行帧内编码的条带序号加一,得到第n+1个图像帧进行帧内编码的条带序号为三;然后对第n+1个图像帧的第三个条带进行帧内编码,对第n+1个图像帧的第一个条带和第二个条带进行帧间编码。

示例性的,步骤S322中的将所述纠错刷新帧的头部区域确定为所述纠错刷新帧进行帧内编码的区域,包括:

S322’、将所述纠错刷新帧的第一个条带确定为所述纠错刷新帧进行帧内编码的条带。

例如,由于第n+1个图像帧进行帧内编码的条带序号为对应于图像帧尾部的条带序号,即三,则获取第n+2个图像帧,将第n+1个图像帧进行帧内编码的条带序号确定为一,然后对第n+2个图像帧的第一个条带进行帧内编码,对第n+2个图像帧的其他两个条带进行帧间编码。

同一纠错序列中各纠错刷新帧分别对一个条带进行帧内编码,全部预设个数的纠错刷新帧进行帧内编码的区域的并集等于任一纠错刷新帧帧的范围。第一个纠错刷新帧先对接收、解码出错的区域进行帧内编码,接收端解码后可以先更新出错的参考信息,可以更快的恢复传输错误。

在一些实施方式中,如图16和图17所示,步骤S110中对所述当前图像帧进行编码,至少包括步骤S111至步骤S112。

S111、根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧。

在本实施方式中,步骤S110中对获取的当前图像帧进行编码时,除了对一些图像帧进行帧间编码,得到帧间编码帧,即P帧;还可间隔性的对一些图像帧进行帧内编码或者部分区域的帧内编码,以便接收端及时更新参考数据。

示例性的,在未接收到接收端发送的错误反馈信息时,按照刷新周期对获取的图像帧进行编码。

具体的,所述刷新周期包括相邻的刷新范围和预测范围。

具体的,同一刷新周期中预测范围内的图像帧均位于刷新范围内全部的图像帧之后。

在一个刷新周期中,发送端先对刷新范围内的图像帧进行帧内编码,接收端解码后可以更新图像帧的参考数据;然后发送端参考该刷新周期内刷新范围内的图像帧或者预测范围内之前的图像帧对新获取的图像帧进行帧间编码;接收端可以根据参考数据对帧间编码的图像进行解码。

示例性的,步骤S111根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧,包括:若所述当前图像帧的编号位于任一刷新周期的刷新范围,判定所述当前图像帧是间隔刷新帧;若所述当前图像帧的编号位于任一刷新周期的预测范围,判定所述当前图像帧不是间隔刷新帧。

示例性的,在未接收到接收端发送的错误反馈信息时,按照图像序列(group ofpictures,GOP)划分的规则判断当前图像帧是否为间隔刷新帧。

图像序列,也即图像组,是一个编码视频流中的一组连续的画面。每一个编码的视频流都由连续的图像序列组成。

示例性的,同一图像序列中的各图像帧之间的数据变化较小;例如可以将相邻两个数据变化较大的图像帧中的前一个作为前一个图像序列中的最后一帧,将将相邻两个数据变化较大的图像帧中的后一个作为后一个图像序列中的第一帧。

示例性的,所述图像序列包括相邻的刷新子序列和预测子序列,所述刷新子序列包括所述图像序列开始时的至少一个图像帧。

具体的,同一图像序列中的预测子序列位于刷新子序列之后。

在对一个图像序列中的图像帧进行编码时,发送端先对刷新子序列内的图像帧进行帧内编码,接收端解码后可以更新图像帧的参考数据;然后发送端参考该刷新子序列内的图像帧或者预测子序列内之前的图像帧对新获取的图像帧进行帧间编码;接收端可以根据参考数据对帧间编码的图像进行解码。

示例性的,步骤S111根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧,包括:若所述当前图像帧的编号位于任一图像序列的刷新子序列中,判定所述当前图像帧是间隔刷新帧;若所述当前图像帧的编号位于任一图像序列的预测子序列中,判定所述当前图像帧不是间隔刷新帧。

S112、若所述当前图像帧不是间隔刷新帧,对所述当前图像帧进行帧间编码。

示例性的,如图18所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个图像帧是间隔刷新帧,第2个至第8个图像帧不是间隔刷新帧;则分别对获取的第2个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧。例如,参考第1个图像帧对第2个至第8个图像帧进行帧间编码;或者参考第1个至第7个图像帧中的任一个对第8个图像帧进行帧间编码。

示例性的,如图19所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个至第3个图像帧是间隔刷新帧,第4个至第8个图像帧不是间隔刷新帧;则分别对获取的第4个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧。例如,参考第1个图像帧对第4个至第8个图像帧进行帧间编码;或者参考第1个至第7个图像帧中的任一个对第8个图像帧进行帧间编码。

在一些实施方式中,如图16所示,步骤S111根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧之后,包括:

S113、若所述当前图像帧是间隔刷新帧,对所述当前图像帧进行帧内编码。

示例性的,如图18所示,每个刷新周期中的第1个图像帧是间隔刷新帧;则对该图像帧整帧进行帧内编码,得到帧内编码帧,即I帧。

通过对一个刷新周期或一个图像序列中的间隔刷新帧进行帧内编码,接收端接收、解码各间隔刷新帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

在一些实施方式中,如图17所示,步骤S111根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧之后,包括:

S114、若所述当前图像帧是间隔刷新帧,对所述当前图像帧的部分区域进行帧内编码。

示例性的,如图19所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个至第3个图像帧是间隔刷新帧;对各间隔刷新帧的部分区域进行帧内编码。

示例性的,同一刷新周期或图像序列中各间隔刷新帧进行帧内编码的区域不同,且同一刷新周期或图像序列中所有间隔刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围。

示例性的,同一刷新周期或图像序列中不同间隔刷新帧进行帧内编码的区域可以部分重合,或者互相之间不重合。

通过对一个刷新周期或一个图像序列中各间隔刷新帧进行部分区域的帧内编码,接收端接收、解码各间隔刷新帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

示例性的,步骤S114若所述当前图像帧是间隔刷新帧,对所述当前图像帧的部分区域进行帧内编码,包括:若所述当前图像帧是间隔刷新帧,对所述当前图像帧的部分区域进行帧内编码,其余区域进行帧间编码。

对间隔刷新帧的部分区域进行帧内编码,既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以间隔性的为接收端提供解码所需的参考数据。

在一些实施方式中,如图20所示,步骤S110获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送之前,包括:

S101、对一图像帧进行帧内编码,将编码后的所述图像帧向接收端发送。

示例性的,如图21所示,图像帧a为某一时刻发送端向接收端发送的第一个图像帧。发送端对该图像帧进行帧内编码,得到I帧,将编码后的所述图像帧向接收端发送;以使接收端解码后快速得到完整的参考数据。

示例性的,发送端通过摄像头在某次开机后采集的第一个图像帧为初始图像帧,发送端将该图像帧进行帧内编码。

示例性的,步骤S101对一图像帧进行帧内编码,将编码后的所述图像帧向接收端发送之后,还包括:

S102、根据帧内编码的图像帧对所述图像帧之后的若干图像帧进行帧间编码,将编码后的图像帧向接收端发送。

在将图像帧a进行帧内编码、向接收端发送之后,接收端可以获取完整的参考数据;发送端可以参考图像帧a对获取的图像帧b进行帧间编码,得到P帧向接收端发送,接收端根据参考数据解码图像帧b。发送端可以参考图像帧a或者图像帧b对获取的图像帧c进行帧间编码,得到P帧向接收端发送,接收端根据参考数据解码图像帧c。

示例性的,步骤S102中进行帧间编码的图像帧的个数等于一个刷新周期中图像帧的个数减1。便于发送端规划刷新周期中的间隔刷新帧和非间隔刷新帧。

示例性的,对纠错刷新帧或者间隔刷新帧的部分区域进行帧内编码,其余区域进行帧间编码时,进行帧间编码的区域可以参考该纠错刷新帧或者间隔刷新帧之前图像帧的相应区域。

如图13所示,对第n+2个图像帧的第一个条带进行帧内编码,对第n+2个图像帧的其他两个条带进行帧间编码时,可以参考第n+1个图像帧中的第二个条带和第三个条带进行帧间编码,而已可以参考第n个图像帧中的第二个条带和第三个条带进行帧间编码。

通过上述方式,本申请实施例通过在某图像帧传输出错时,对纠错刷新帧的部分区域进行帧内编码,既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以及时为接收端提供解码所需的参考数据,使得传输错误较快恢复。

请参阅图22,图22是本申请一实施例提供的用于接收端的一种视频接收方法的流程示意图,所述视频接收方法可以应用在终端设备或者服务器中,用于从接收端接收视频等过程;其中终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理、穿戴式设备、投影仪或者显示器等,服务器可以为独立的服务器,也可以为服务器集群,例如提供视频直播服务的服务器。进一步而言,终端设备可以为用于从无人机获取视频数据的虚拟现实头戴式显示设备,如VR眼镜,或者用于从无人机获取视频数据的地面站等设备。

如图22所示,本实施例视频发送方法包括步骤S210至步骤S230。

S210、从发送端接收编码后的当前图像帧,解码所述当前图像帧。

示例性的,发送端获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送。例如,当前图像帧为设于发送端上的摄像头实时获取的图像帧,表示当前时刻发送端获取和要发送的图像帧。

示例性的,接收端实时从发送端接收编码后的各图像帧,对接收到的图像帧进行解码;然后将解码出的视频数据进行存储和/或播放。

S220、若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧。

在本实施例中,如果接收端接收某一图像帧出错或者解码图像帧出错,则向发送端发送错误反馈信息。

示例性的,接收端接收、解码出任一图像帧后向发送端发送成功反馈信息,以及解码该图像帧;发送端收到成功反馈信息后获取新的图像帧,进行编码后向接收端发送;如果接收端接收某一图像帧出错或者解码图像帧出错,则向发送端发送错误反馈信息。

示例性的,接收端通过和发送端之间的上行信道将成功反馈信息、错误反馈信息向发送端发送。例如,上行信道还可以用于向发送端,如无人机传输飞控指令,以及各种控制指令,如拍照,录像,返航等指令。

示例性的,错误反馈信息包括所述接收端在丢包事件时的反馈信息,或者包括所述接收端在完整性校验错误时的反馈信息。

发送端在向接收端发送某一图像帧时,接收到接收端发送的错误反馈信息,则表示该图像帧发送或解码失败,则根据错误反馈信息对应的图像帧确定纠错刷新帧。

不同于现有技术中对整个图像帧进行帧内(Intraframe)编码,在本实施例中,发送端对纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送;接收端接收发送端响应于错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧。

如图2所示,发送端对第n个图像帧至第n+2个图像帧的部分区域进行帧内编码。

S230、解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

接收端解码纠错刷新帧进行帧内编码的区域时,不需要参考其他图像帧就可解码出该部分数据,解码出的数据可以作为其他图像帧进行解码时所需的参考数据,实现对用于解码的参考数据的更新。

本实施例提供的视频接收方法,通过在某图像帧传输出错时,接收发送端对部分区域进行帧内编码的纠错刷新帧;既可以降低网络资源的资源占用,避免接收整帧进行帧内编码的图像帧导致码率突发而引起延迟和抖动增加,而且接收端可以及时更新解码所需的参考数据,使得传输错误较快恢复。

示例性的,如图23和图24所示,步骤S210中的解码所述当前图像帧,包括步骤S2101、步骤S211。

S2101、解析所述当前图像帧对应的编码格式。

示例性的,发送端向接收端发送编码后的图像帧时,发送的数据包括图像帧对应的编码格式;接收端通过解析接收的数据可以得到当前图像帧对应的编码格式。

S211、若所述当前图像帧对应的编码格式为帧间编码,根据用于解码的参考数据对所述当前图像帧进行解码。

在一些实施方式中,发送端对当前图像帧进行帧间(Interframe)编码,得到预测编码图像帧(Predictive-coded Picture),即P帧;接收端可以根据参考数据对帧间编码的图像帧进行解码。

在一些实施方式中,如图23所示,步骤S210中的解码所述当前图像帧,包括步骤S2121至步骤S2122。

S2121、若所述当前图像帧对应的编码格式为帧内编码,对所述当前图像帧进行帧内解码。

示例性的,如图18所示,每个刷新周期中的第1个图像帧是间隔刷新帧;发送端对该图像帧整帧进行帧内编码,得到帧内编码帧,即I帧。接收端接收到该图像帧后对该图像帧进行帧内解码。

S2122、根据帧内解码的结果刷新所述参考数据。

示例性的,接收端接收、解码间隔刷新周期或图像序列中的间隔刷新帧,如帧内编码帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

示例性的,如图23所示,步骤S2122根据帧内解码的结果刷新所述参考数据之后,包括:

S2123、向所述发送端发送正确反馈信息。

例如,如图18所示,接收端接收、解码刷新周期中的间隔刷新帧后,正确更新参考数据,则向发送端发送正确反馈信息。发送端接收到正确反馈信息后,对获取的刷新周期中的第2个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧后向接收端发送。

在另一些实施方式中,如图24所示,步骤S210中的解码所述当前图像帧,包括步骤S2131至步骤S2132。

S2131、若所述当前图像帧对应的编码格式为部分区域的帧内编码,对所述当前图像帧帧内编码的区域进行帧内解码,得到所述当前图像帧对应的刷新片段数据。

示例性的,如图19所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个至第3个图像帧是间隔刷新帧;发送端对各间隔刷新帧的部分区域进行帧内编码后发送给接收端,接收端接收到部分区域帧内编码的间隔刷新帧后,对间隔刷新帧帧内编码的区域进行帧内解码。

示例性的,同一刷新周期或图像序列中各间隔刷新帧进行帧内编码的区域不同,且同一刷新周期或图像序列中所有间隔刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围。

示例性的,同一刷新周期或图像序列中不同间隔刷新帧进行帧内编码的区域可以部分重合,或者互相之间不重合。

S2132、将所述参考数据中对应于所述帧内编码的区域的部分数据更新为所述刷新片段数据。

示例性的,接收端解码所述当前图像帧帧内编码的区域时,不需要参考其他图像帧就可解码出该部分数据,解码出的数据可以作为其他图像帧进行解码时所需的参考数据,实现对用于解码的参考数据的周期性更新。

通过对一个刷新周期或一个图像序列中各间隔刷新帧进行部分区域的帧内编码,接收端接收、解码各间隔刷新帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

示例性的,如图24所示,步骤S210中的解码所述当前图像帧,还包括:

S2133、若所述当前图像帧对应的编码格式为部分区域的帧内编码,根据所述参考数据对所述当前图像帧的其余区域进行帧间解码。

示例性的,发送端对间隔刷新帧的部分区域进行帧内编码,其余区域进行帧间编码;既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以间隔性的为接收端提供解码所需的参考数据。

示例性的,如图24所示,步骤S2132将所述参考数据中对应于所述帧内编码的区域的部分数据更新为所述刷新片段数据之后,包括:

S2134、若所述参考数据中全部的数据均更新一遍,向所述发送端发送正确反馈信息。

示例性的,同一刷新周期或图像序列中所有间隔刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围;如图19所示,接收端接收、解码一个刷新周期中的三个间隔刷新帧后,可以将参考数据完整的更新一遍,则向所述发送端发送正确反馈信息。

发送端接收到正确反馈信息后,可以对获取的刷新周期中的第4个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧后向接收端发送。

示例性的,接收端在接收、解码编码格式为帧间编码、帧内编码或者部分区域的帧内编码的图像帧时,若接收出错、或者解码出错,均向发送端发送出错图像帧对应的错误反馈信息。发送端接收到与任一图像帧对应的错误反馈信息时,根据该图像帧确定纠错刷新帧,以及对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。因此,发送端响应于接收端的错误反馈信息,确定错误反馈信息对应的纠错刷新帧,对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送;接收端接收、解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

在一些实施例中,接收端从发送端接收编码后的当前图像帧,解码所述当前图像帧,具体为:接收端从发送端接收对所述当前图像帧各个区域编码后的图像区域数据,解码所述当前图像帧的各图像区域数据。

示例性的,发送端对图像帧进行编码时,将图像帧分为多个区域分别进行编码得到图像区域数据,分别将各图像区域数据向接收端发送;接收端逐一接收、解码各图像区域数据。

例如,发送端将图像帧分为多个条带(Slice),同一图像帧中的不同条带之间的编码、解码是独立的。发送端将各条带进行编码得到的图像区域数据向接收端发送;接收端逐一接收、解码各图像区域数据。

示例性的,所述图像区域数据包括编码格式信息,可以根据所述编码格式信息对应的解码方式解码所述图像区域数据。

例如,发送端对条带进行帧内编码、帧间编码可以分别得到编码格式信息为帧内编码、帧间编码的图像区域数据,即I条带、P条带。

I条带包括的编码格式信息,如条带类型信息slice_type为I条带对应的代码;P条带包括的编码格式信息,如条带类型信息slice_type为P条带对应的代码;示例性的,I条带还包括该条带包含的第一个宏块在整帧中位置的信息(first_mb_in_slice)等,P条带还包括该条带包含的第一个宏块在整帧中位置的信息(first_mb_in_slice)等。

示例性的,编码格式为帧内编码的当前图像帧,编码后的各图像区域数据的编码格式信息均为帧内编码;编码格式为部分区域的帧内编码的当前图像帧,对应于进行帧内编码区域的图像区域数据的编码格式信息为帧内编码,其他区域对应的图像区域数据的编码格式信息为帧间编码。

例如,接收端接收到图像区域数据后,根据图像区域数据中的编码格式信息判断图像区域数据是I条带或P条带;若是I条带,则对该图像区域数据进行帧内解码;若是P条带,则对该图像区域数据进行帧间解码。

在一些实施方式中,步骤S220中的若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,包括:若接收编码后的当前图像帧时发生丢包事件,向所述发送端发送错误反馈信息。

示例性的,接收端从发送端接收编码后的图像帧,进行协议头解析和容错处理,如果确认正确则进行解码;如果帧头协议中编码帧序号不连续,则表示有丢包,即发生丢包事件。

例如,发送端有一个全局的编码帧计数器(frame_idx),记录一帧一帧编码的帧序号。该帧序号会随着协议头发送,如果接收端收到的相邻帧的帧号不连续,说明传输过程有丢帧,则向发送端发送错误反馈信息。

在一些实施方式中,若未从所述发送端正确接收编码后的图像区域数据,根据所述图像区域数据生成错误反馈信息,向所述发送端发送所述错误反馈信息。

示例性的,接收端逐一从发送端接收图像帧各个区域编码后的图像区域数据,若某次接收的图像区域数据对应的区域与前一次接收的图像区域数据对应的区域不连续,则表示中间有图像区域数据丢失未接收到,则向发送端发送错误反馈信息。

示例性的,接收端逐一从发送端接收图像帧各条带编码后的图像区域数据;发送端严格按照单个条带的图像区域数据为一个数据业务包进行发送,接收端可以根据物理层的业务包号索引对应得到图像区域数据的条带索引;若接收端某次接收的图像区域数据的条带索引与前一次接收的图像区域数据的条带索引不连续,则表示有条带对应的图像区域数据丢失未接收到,则向发送端发送错误反馈信息。示例性的,传输协议头中可以不包含当前发送码流对应的条带索引。

示例性的,接收端从发送端接收的,发送端当前图像帧各个区域编码后的图像区域数据包括数据包序号。

在一些实施方式中,若所述图像区域数据的包序号与前一图像区域数据的包序号不连续,根据所述前一图像区域数据的包序号和所述当前图像帧对应的第一个图像区域数据的数据包序号计算所述图像区域数据对应的区域索引信息;生成包括所述区域索引信息的错误反馈信息。

区域索引信息可以表示图像帧中与出错图像区域数据对应的区域位置。例如,某一时刻接收端接收的图像区域数据的包序号为17,但前一个接收到的图像区域数据的包序号为14,则说明未接收到包序号为15、16的图像区域数据;若当前图像帧对应的第一个图像区域数据的数据包序号为12,则可以将前一图像区域数据的包序号14减去当前图像帧对应的第一个图像区域数据的数据包序号12,然后加一得到所述图像区域数据对应的区域索引信息为3;或者将第一个未接收到的图像区域数据的包序号15减去当前图像帧对应的第一个图像区域数据的数据包序号12,得到所述图像区域数据对应的区域索引信息为3;表示第一个未接收到的图像区域数据为当前图像帧中的第三个条带之后的条带对应的图像区域数据,即第四个条带对应的图像区域数据。

示例性的,发送端向接收端发送的各图像区域数据包括所编码条带对应的条带索引。例如发送端向接收端发送的每个发送数据包均包括一个条带索引的传输协议头信息。

例如,若所述图像区域数据的条带索引与前一图像区域数据的条带索引不连续,根据所述前一图像区域数据的条带索引和所述当前图像帧对应的第一个图像区域数据的条带索引计算所述图像区域数据对应的区域索引信息;生成包括所述区域索引信息的错误反馈信息。

例如,某一时刻接收端接收的图像区域数据的条带索引为6,但前一个接收到的图像区域数据的条带索引为3,则说明未接收到条带索引为4、5的图像区域数据;当前图像帧对应的第一个图像区域数据的数据条带索引为1,则可以将前一图像区域数据的条带索引3减去当前图像帧对应的第一个图像区域数据的数据条带索引1,然后加一得到所述图像区域数据对应的区域索引信息为3;或者将第一个未接收到的图像区域数据的条带索引4减去当前图像帧对应的第一个图像区域数据的数据条带索引1,得到所述图像区域数据对应的区域索引信息为3;表示第一个未接收到的图像区域数据为当前图像帧中的第三个条带之后的条带对应的图像区域数据,即第四个条带对应的图像区域数据。

示例性的,计算所述图像区域数据对应的区域索引信息,生成包括所述区域索引信息的错误反馈信息;发送端从接收端接收的错误反馈信息包括区域索引信息。从而发送端可以根据所获取错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域,对所述第一个纠错刷新帧进行帧内编码的区域进行帧内编码;例如对第一个纠错刷新帧中的第四个条带进行帧内编码。

示例性的,接收端解码第一个纠错刷新帧,特别是对第一个纠错刷新帧进行帧内编码的区域进行帧内解码后,可以更新该区域的参考数据;因此可以更快速的更新接收、解码出错区域的参考数据,利于错误状态的快速恢复,降低发生花屏现象的几率。

示例性的,如图13所示,发送端根据错误反馈信息中的区域索引信息确定第n个图像帧进行帧内编码的区域为中部区域,然后对第n个图像帧的中部区域进行帧内编码,对第n个图像帧的头部区域和尾部区域进行帧间编码。接收端接收该图像帧后,对第n个图像帧的中部区域进行帧内解码,更新参考数据中中部区域对应的数据。

在另一些实施方式中,接收端从发送端接收的,发送端当前图像帧各个区域编码后的图像区域数据包括区域索引信息。

示例性的,接收端从发送端接收的某图像区域数据包括区域索引信息,如条带索引3。

若未从所述发送端正确接收编码后的图像区域数据,生成包括所述区域索引信息的错误反馈信息,向所述发送端发送所述错误反馈信息。

示例性的,若接收端接收条带索引3这一区域索引信息对应的图像区域数据时出错,例如虽然通过协议头解析得到了区域索引信息,但是图像数据不完整或者误码率过高,则生成包括条带索引3这一区域索引信息的错误反馈信息,向所述发送端发送所述错误反馈信息。发送端可以根据所获取错误反馈信息中的区域索引信息对第一个纠错刷新帧中的第三个条带进行帧内编码。

在一些实施方式中,步骤S220中的若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,包括:若接收到的当前图像帧未通过完整性校验,向所述发送端发送错误反馈信息,所述错误反馈信息包括所述当前图像帧头部区域对应的区域索引信息。

示例性的,在接收完当前图像帧后,如果解析出的帧尾协议中的编码帧长度和校验和(checksum)校验不通过,则判定未通过完整性校验;向所述发送端发送错误反馈信息。

示例性的,若接收到的当前图像帧未通过完整性校验,表示当前图像帧接收出错,可以向发送端发送的错误反馈信息包括当前图像帧头部区域对应的区域索引信息,如条带索引1;发送端根据条带索引为1的错误反馈信息后,对第一个纠错刷新帧中的第一个条带进行帧内编码。

示例性的,当前图像帧头部区域对应的条带索引为0,发送端根据条带索引为0的错误反馈信息后,对第一个纠错刷新帧中的第一个条带进行帧内编码。

在一些实施方式中,步骤S220中的若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,包括:若解码所述当前图像帧失败,向所述发送端发送错误反馈信息。

示例性的,若解码当前图像帧或者当前图像帧的图像区域数据时,遇到了码表中不存在的码字,或者根据语法(syntax)规定的参数(parameter)的取值范围判定解码出来的值不合理,则判定解码所述当前图像帧失败,向所述发送端发送错误反馈信息。

例如,解码当前图像帧的某图像区域数据时失败,则向发送端发送包含该图像区域数据区域索引信息的错误反馈信息。

在一些实施方式中,步骤S220中的接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧,包括:从所述发送端接收预设个数的编码后的纠错刷新帧,所述纠错刷新帧为所述发送端对根据所述错误反馈信息确定的纠错刷新帧的部分区域进行帧内编码得到的。

在本实施方式中,若发送端接收到所述接收端发送的错误反馈信息,在错误反馈信息对应的图像帧,即当前图像帧和/或该当前图像帧之后的图像帧中确定预设个数的纠错刷新帧。

例如,发送端接收到接收端发送的错误反馈信息后,将以所述错误反馈信息对应的图像帧开始的预设个数的图像帧作为纠错刷新帧。

例如,如图2所示,发送端将第n个图像帧开始的M个图像帧,即第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧。以更迅速的响应接收端的错误反馈信息,向接收端发送纠错刷新帧。

发送端对根据所述错误反馈信息确定的纠错刷新帧的部分区域进行帧内编码的步骤已经在上述应用于发送端的视频发送方法中说明,在此不做赘述。

示例性的,接收端从发送端接收的第一个纠错刷新帧进行帧内编码的区域可以为头部区域,如第一个条带。

示例性的,接收端从发送端接收的第一个纠错刷新帧进行帧内编码的区域也可以是根据错误反馈信息中的区域索引信息确定的区域,如中部区域或第四个条带。

在一些实施方式中,如图25所示,步骤S230中接收端解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据,包括步骤S231至步骤S232。

S231、对所述纠错刷新帧帧内编码的区域进行帧内解码,得到所述纠错刷新帧对应的刷新片段数据。

接收端从发送端接收到纠错刷新帧之后,对帧内编码的区域进行帧内解码,得到该区域对应的刷新片段数据。

示例性的,接收端接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧时,从所述发送端接收编码后的图像区域数据,所述图像区域数据包括所述发送端对所述纠错刷新帧的部分区域编码后的数据,以及编码格式信息。

在本实施方式中,纠错刷新帧中的部分区域进行帧内编码得到的图像区域数据的编码格式信息为帧内编码,其余区域进行帧间编码后得到的若干图像区域数据的编码格式信息为帧间编码。

示例性的,若接收端某时刻接收到的图像区域数据中的编码格式信息为帧内编码,则对图像区域数据中所述部分区域编码后的数据进行帧内解码,得到所述图像区域数据对应的刷新片段数据。

在一些实施方式中,所述图像区域数据还包括所述部分区域的区域索引信息。示例性的,接收端对所述部分区域编码后的数据进行帧内解码,得到所述区域索引信息对应的刷新片段数据。

示例性的,发送端对某纠错刷新帧的第三个条带进行帧内编码,对第一、第二个条带进行帧间编码,得到三个图像区域数据,其中第三个条带对应的图像区域数据的编码格式信息为帧内编码;则接收端接收到第三个条带对应的图像区域数据后,对该图像区域数据进行帧内解码,得到第三个条带对应的刷新片段数据。

示例性的,对所述纠错刷新帧帧内编码的区域进行帧内解码,根据用于解码的参考数据对其余区域进行帧间解码。例如,接收端接收第一、第二个条带对应的图像区域数据后,根据参考数据中对应于第一、第二个条带的数据进行帧间解码。

S232、根据所述纠错刷新帧对应的刷新片段数据刷新所述参考数据。

由于每个刷新帧只有部分区域进行帧内编码,接收端对帧内编码的部分区域进行解码得到对应于相应区域的部分参考数据,即刷新片段数据,则根据该刷新片段数据更新参考数据中与该区域对应的部分数据。

示例性的,将所述参考数据中对应于所述部分区域的部分数据更新为所述刷新片段数据。

在一些实施方式中,所述图像区域数据还包括所述部分区域的区域索引信息。示例性的,接收端将所述参考数据中对应于所述区域索引信息的部分数据更新为所述刷新片段数据。

示例性的,接收端接收到第三个条带对应的图像区域数据后,对该图像区域数据进行帧内解码,得到第三个条带对应的刷新片段数据;将参考数据中对应于第三个条带的部分数据更新为所述刷新片段数据。

在一些实施方式中,根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,向所述发送端发送正确反馈信息。

示例性的,同一错误反馈信息对应的预设个数的纠错刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围;如图2所示,接收端接收、解码三个纠错刷新帧后,可以将参考数据完整的更新一遍,则向所述发送端发送正确反馈信息。发送端接收到正确反馈信息后,可以继续对后续的图像帧进行编码。

示例性的,发送端根据接收端发送的错误反馈信息,根据错误反馈信息确定一纠错序列,该纠错序列包括预设个数的纠错刷新帧和若干非纠错刷新帧,如预测帧。接收端根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,向所述发送端发送正确反馈信息;发送端接收到正确反馈信息后,对纠错序列中的预测帧进行帧间编码,将编码后的预测帧向所述接收端发送。

示例性的,若接收端当前接收、解码的纠错刷新帧出现错误,则向发送端发送错误反馈信息;发送端根据该纠错刷新帧,确定预设个数的纠错刷新帧,重新进行一次纠错刷新帧的确定和部分区域帧内编码。

在一些实施方式中,接收端根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,返回步骤S210继续执行;即继续从发送端接收编码后的当前图像帧,解码所述当前图像帧的步骤继续执行,直至接收所述当前图像帧出错或者解码所述当前图像帧出错。

示例性的,接收端根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,向所述发送端发送正确反馈信息;发送端接收到该正确反馈信息之后,获取例如摄像头新拍摄的图像帧,即当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送;接收端从发送端接收编码后的当前图像帧,解码所述当前图像帧。

请参阅图26,图26是本申请一实施例提供的一种视频传输方法的流程示意图,用于前述的发送端向前述的接收端传输视频。

如图26所示,本实施例视频传输方法包括步骤S510至步骤S540。

S510、发送端对获取的当前图像帧进行编码,将编码后的当前图像帧向接收端发送。

在本实施例中,发送端逐帧向接收端发送图像帧,如图2所示;示例性的,发送端上的摄像头实时获取图像帧,将获取的图像帧逐帧编码后向接收端发送。

示例性的,所述发送端根据间隔刷新条件判断所述当前图像帧是否为间隔刷新帧;若所述当前图像帧不是间隔刷新帧,所述发送端对所述当前图像帧进行帧间编码。

示例性的,若所述当前图像帧的编号位于任一刷新周期的刷新范围,所述发送端判定所述当前图像帧是间隔刷新帧,所述刷新周期包括相邻的刷新范围和预测范围;若所述当前图像帧的编号位于任一刷新周期的预测范围,所述发送端判定所述当前图像帧不是间隔刷新帧。

示例性的,若所述当前图像帧的编号位于任一图像序列的刷新子序列中,所述发送端判定所述当前图像帧是间隔刷新帧,所述图像序列包括相邻的刷新子序列和预测子序列,所述刷新子序列包括所述图像序列开始时的至少一个图像帧;若所述当前图像帧的编号位于任一图像序列的预测子序列中,所述发送端判定所述当前图像帧不是间隔刷新帧。

在一些实施方式中,若所述当前图像帧是间隔刷新帧,所述发送端对所述当前图像帧进行帧内编码。

示例性的,如图18所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个图像帧是间隔刷新帧,第2个至第8个图像帧不是间隔刷新帧;则分别对获取的第2个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧。通过对一个刷新周期或一个图像序列中的间隔刷新帧进行帧内编码,接收端接收、解码各间隔刷新帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

在另一些实施方式中,若所述当前图像帧是间隔刷新帧,所述发送端对所述当前图像帧的部分区域进行帧内编码。

示例性的,若所述当前图像帧是间隔刷新帧,所述发送端对所述当前图像帧的部分区域进行帧内编码,其余区域进行帧间编码。

示例性的,如图19所示,每8个图像帧为一个刷新周期,其中每个刷新周期中的第1个至第3个图像帧是间隔刷新帧,第4个至第8个图像帧不是间隔刷新帧;则分别对获取的第4个至第8个图像帧进行帧间编码,得到各自对应的帧间编码帧,即P帧。

示例性的,同一刷新周期或图像序列中各间隔刷新帧进行帧内编码的区域不同,且同一刷新周期或图像序列中所有间隔刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围。

示例性的,同一刷新周期或图像序列中不同间隔刷新帧进行帧内编码的区域可以部分重合,或者互相之间不重合。

通过对一个刷新周期或一个图像序列中各间隔刷新帧进行部分区域的帧内编码,接收端接收、解码各间隔刷新帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

在一些实施方式中,在步骤S510发送端对获取的当前图像帧进行编码,将编码后的当前图像帧向接收端发送之前,所述发送端对一图像帧进行帧内编码,将编码后的所述图像帧向接收端发送;所述发送端根据帧内编码的图像帧对所述图像帧之后的若干图像帧进行帧间编码,将编码后的图像帧向接收端发送。

示例性的,如图21所示,图像帧a为某一时刻发送端向接收端发送的第一个图像帧。发送端对该图像帧进行帧内编码,得到I帧,将编码后的所述图像帧向接收端发送;以使接收端解码后快速得到完整的参考数据。在将图像帧a进行帧内编码、向接收端发送之后,接收端可以获取完整的参考数据;发送端可以参考图像帧a对获取的图像帧b进行帧间编码,得到P帧向接收端发送,接收端根据参考数据解码图像帧b。发送端可以参考图像帧a或者图像帧b对获取的图像帧c进行帧间编码,得到P帧向接收端发送,接收端根据参考数据解码图像帧c。

S520、所述接收端接收、解码所述当前图像帧,若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息。

接收端接收、解码发送端发送的当前图像帧。示例性的,若所述当前图像帧对应的编码格式为帧间编码,所述接收端根据用于解码的参考数据对所述当前图像帧进行解码。

在一些实施方式中,若所述当前图像帧对应的编码格式为帧内编码,所述接收端对所述当前图像帧进行帧内解码;所述接收端根据帧内解码的结果刷新所述参考数据。

示例性的,接收端接收、解码刷新周期或图像序列中的间隔刷新帧,如帧内编码帧后,可以将参考数据完整的更新一遍,以提高该刷新周期或图像序列中各非间隔刷新帧解码的准确性,防止花屏。

示例性的,所述接收端根据帧内解码的结果刷新所述参考数据之后,向所述发送端发送正确反馈信息。

在另一些实施方式中,若所述当前图像帧对应的编码格式为部分区域的帧内编码,所述接收端对所述当前图像帧帧内编码的区域进行帧内解码,得到所述当前图像帧对应的刷新片段数据;所述接收端将所述参考数据中对应于所述帧内编码的区域的部分数据更新为所述刷新片段数据。

示例性的,若所述当前图像帧对应的编码格式为部分区域的帧内编码,所述接收端根据所述参考数据对所述当前图像帧的其余区域进行帧间解码。

示例性的,接收端解码所述当前图像帧帧内编码的区域时,不需要参考其他图像帧就可解码出该部分数据,解码出的数据可以作为其他图像帧进行解码时所需的参考数据,实现对用于解码的参考数据的周期性更新。

示例性的,若所述参考数据中全部的数据均更新一遍,所述接收端向所述发送端发送正确反馈信息。

如图19所示,接收端接收、解码一个刷新周期中的三个间隔刷新帧后,可以将参考数据完整的更新一遍,则向所述发送端发送正确反馈信息。

发送端对间隔刷新帧的部分区域进行帧内编码,其余区域进行帧间编码;既可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加,而且可以间隔性的为接收端提供解码所需的参考数据。

在一些实施方式中,若接收端在接收图像帧时判定发生丢包事件,或者完整性校验错误,则向发送端发送错误反馈信息;所述错误反馈信息包括所述接收端响应于丢包事件的反馈信息,或者包括所述接收端响应于完整性校验错误的反馈信息。

示例性的,接收端通过和发送端之间的上行信道将成功反馈信息、错误反馈信息向发送端发送。

在一些实施方式中,若所述接收端接收编码后的当前图像帧时发生丢包事件,向所述发送端发送错误反馈信息。

示例性的,接收端从发送端接收编码后的图像帧,进行协议头解析和容错处理,如果确认正确则进行解码;如果帧头协议中编码帧序号不连续,则表示有丢包,即发生丢包事件。

示例性的,所述接收端从发送端接收对所述当前图像帧各个区域编码后的图像区域数据,解码所述当前图像帧的各图像区域数据。

具体的,所述图像区域数据包括编码格式信息。所述接收端根据所述编码格式信息对应的解码方式解码所述图像区域数据。

示例性的,若所述接收端未从所述发送端正确接收编码后的图像区域数据,根据所述图像区域数据生成错误反馈信息,向所述发送端发送所述错误反馈信息。

示例性的,接收端逐一从发送端接收图像帧各个区域编码后的图像区域数据,若某次接收的图像区域数据对应的区域与前一次接收的图像区域数据对应的区域不连续,则表示中间有图像区域数据丢失未接收到,则向发送端发送错误反馈信息。

示例性的,所述图像区域数据包括数据包序号。

具体的,若所述图像区域数据的包序号与前一图像区域数据的包序号不连续,所述接收端根据所述前一图像区域数据的包序号和所述当前图像帧对应的第一个图像区域数据的数据包序号计算所述图像区域数据对应的区域索引信息;所述接收端生成包括所述区域索引信息的错误反馈信息。

示例性的,所述图像区域数据包括区域索引信息。

具体的,若所述接收端未从所述发送端正确接收编码后的图像区域数据,生成包括所述区域索引信息的错误反馈信息。

在另一些实施方式中,若所述接收端接收到的当前图像帧未通过完整性校验,所述接收端向所述发送端发送错误反馈信息,所述错误反馈信息包括所述当前图像帧头部区域对应的区域索引信息。

示例性的,当前图像帧头部区域对应的条带索引为0,发送端根据条带索引为0的错误反馈信息后,对第一个纠错刷新帧中的第一个条带进行帧内编码。

在又一实施方式中,若所述接收端解码所述当前图像帧失败,所述接收端向所述发送端发送错误反馈信息。

例如,解码当前图像帧的某图像区域数据时失败,则向发送端发送包含该图像区域数据区域索引信息的错误反馈信息。

S530、所述发送端根据所述错误反馈信息确定纠错刷新帧,对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。

示例性的,所述发送端对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后,返回步骤S510所述对获取的当前图像帧进行编码,将编码后的当前图像帧向接收端发送的步骤继续执行,直至接收到所述接收端发送的错误反馈信息。

在一些实施方式中,所述发送端在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定预设个数的纠错刷新帧,对各所述纠错刷新帧的部分区域进行帧内编码。例如,所述发送端将以所述当前图像帧开始的预设个数的图像帧作为纠错刷新帧。

如图2所示,将第n个图像帧开始的M个图像帧,即第n个图像帧至第n+M-1个图像帧确定为M个纠错刷新帧。以更迅速的响应接收端的错误反馈信息,向接收端发送纠错刷新帧。

示例性的,所述发送端对所述纠错刷新帧的部分区域进行帧内编码,其余区域进行帧间编码。

示例性的,所述预设个数的纠错刷新帧进行帧内编码的区域的并集等于任一纠错刷新帧帧的范围。

在一些实施方式中,所述发送端将所述当前图像帧作为第一个纠错刷新帧,对所述第一个纠错刷新帧的部分区域进行帧内编码,将编码后的第一个纠错刷新帧向所述接收端发送;然后所述发送端获取下一纠错刷新帧;之后所述发送端对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送;然后返回所述发送端获取下一纠错刷新帧,以及所述发送端对所述纠错刷新帧的部分区域进行帧内编码,将编码后的所述纠错刷新帧向所述接收端发送的步骤继续执行,直至最后一个纠错刷新帧编码后向所述接收端发送。

在一些实施方式中,所述发送端对所述第一个纠错刷新帧的头部区域进行帧内编码;所述发送端将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行帧内编码的区域进行帧内编码。

示例性的,所述发送端根据所述当前图像帧中条带的数量,在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定相同数量的纠错刷新帧;所述发送端对所述第一个纠错刷新帧的第一个条带进行帧内编码;所述发送端将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的条带序号加一,得到所述纠错刷新帧进行帧内编码的条带序号,对所述纠错刷新帧中对应于所述条带序号的条带进行帧内编码。

经过对预设个数的纠错刷新帧进行部分区域帧内编码,等效为一整个图像帧的所有区域均进行了帧内编码;因此,接收端通过解码所述预设个数的纠错刷新帧,可以将参考数据完整的刷新一遍,以提高接收端对后续的图像帧进行解码的准确性,防止接收的视频发生花屏的现象。

在另一些实施方式中,所述错误反馈信息包括区域索引信息。

示例性的,接收端在接收、解码当前图像帧中某区域的数据时出现错误,则根据将该区域的区域索引信息生成错误反馈信息,向发送端发送。

所述发送端根据所获取错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域,对所述第一个纠错刷新帧进行帧内编码的区域进行帧内编码;所述发送端将所述纠错刷新帧的前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域,对所述纠错刷新帧进行帧内编码的区域进行帧内编码。

具体的,若所述前一纠错刷新帧进行帧内编码的区域不在所述前一纠错刷新帧的尾部,所述发送端将所述前一纠错刷新帧进行帧内编码的区域后移,得到所述纠错刷新帧进行帧内编码的区域;若所述前一纠错刷新帧进行帧内编码的区域在所述前一纠错刷新帧的尾部,所述发送端将所述纠错刷新帧的头部区域确定为所述纠错刷新帧进行帧内编码的区域。

示例性的,所述发送端根据所述当前图像帧中条带的数量,在所述当前图像帧和/或所述当前图像帧之后的图像帧中确定相同数量的纠错刷新帧;所述发送端确定所述第一个纠错刷新帧中对应于所述错误反馈信息中条带序号的条带为进行帧内编码的区域;若所述前一纠错刷新帧进行帧内编码的区域不在所述前一纠错刷新帧的尾部,所述发送端将所述前一纠错刷新帧进行帧内编码的条带序号加一,得到所述纠错刷新帧进行帧内编码的条带序号;若所述前一纠错刷新帧进行帧内编码的区域在所述前一纠错刷新帧的尾部,所述发送端将所述纠错刷新帧的第一个条带确定为所述纠错刷新帧进行帧内编码的条带。

示例性的,根据错误反馈信息中的区域索引信息确定所述第一个纠错刷新帧进行帧内编码的区域为第一个纠错刷新帧第201行至第400行的像素区域。

例如,对第n个图像帧第201行至第400行的像素区域进行帧内编码,其他区域进行帧间编码;然后将编码后的第n个图像帧向接收端发送。

接收端解码第n个图像帧,特别是对第n个图像帧进行帧内编码的区域进行帧内解码后,可以更新该区域的参考数据;因此可以更快速的更新接收、解码出错区域的参考数据,利于错误状态的快速恢复,降低发生花屏现象的几率。

S540、所述接收端解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

在一些实施方式中,所述接收端从所述发送端接收预设个数的编码后的纠错刷新帧。

示例性的,所述接收端对所述纠错刷新帧帧内编码的区域进行帧内解码,根据用于解码的参考数据对其余区域进行帧间解码。

示例性的,所述接收端对所述纠错刷新帧帧内编码的区域进行帧内解码,得到所述纠错刷新帧对应的刷新片段数据;所述接收端根据所述纠错刷新帧对应的刷新片段数据刷新所述参考数据。

示例性的,接收端解码纠错刷新帧进行帧内编码的区域时,不需要参考其他图像帧就可解码出该部分数据,解码出的数据可以作为其他图像帧进行解码时所需的参考数据,实现对用于解码的参考数据的更新。

在一些实施方式中,所述接收端从所述发送端接收预设个数的编码后的纠错刷新帧时,所述接收端从所述发送端接收编码后的图像区域数据,所述图像区域数据包括所述发送端对所述纠错刷新帧的部分区域编码后的数据,以及编码格式信息。

示例性的,若所述图像区域数据中的编码格式信息为帧内编码,所述接收端对所述部分区域编码后的数据进行帧内解码,得到所述图像区域数据对应的刷新片段数据;所述接收端将所述参考数据中对应于所述部分区域的部分数据更新为所述刷新片段数据。

示例性的,所述图像区域数据还包括所述部分区域的区域索引信息。

具体的,所述接收端对所述部分区域编码后的数据进行帧内解码,得到所述区域索引信息对应的刷新片段数据;然后所述接收端将所述参考数据中对应于所述区域索引信息的部分数据更新为所述刷新片段数据。

在一些实施方式中,所述接收端根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,向所述发送端发送正确反馈信息。

示例性的,同一错误反馈信息对应的预设个数的纠错刷新帧进行帧内编码的区域的并集等于各图像帧的图像范围;如图2所示,接收端接收、解码三个纠错刷新帧后,可以将参考数据完整的更新一遍,则向所述发送端发送正确反馈信息。发送端接收到正确反馈信息后,可以继续对后续的图像帧进行编码。

在一些实施方式中,若所述发送端接收到所述接收端发送的错误反馈信息,所述发送端根据所述当前图像帧确定纠错序列,所述纠错序列包括预设个数的纠错刷新帧和所述预设个数的纠错刷新帧之后的预测帧。

示例性的,接收端根据所述预设个数的纠错刷新帧对应的刷新片段数据刷新所述参考数据之后,向所述发送端发送正确反馈信息。

所述发送端对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送之后,若接收到所述接收端在解码出所述纠错刷新帧时发送的正确反馈信息,对所述纠错序列中的预测帧进行帧间编码,将编码后的预测帧向所述接收端发送。

示例性的,若接收端当前接收、解码的纠错刷新帧出现错误,则向发送端发送错误反馈信息;发送端根据该纠错刷新帧,确定预设个数的纠错刷新帧,重新进行一次纠错刷新帧的确定和部分区域帧内编码。

在一些实施方式中,所述发送端对所述纠错序列中的预测帧进行帧间编码,将编码后的预测帧向所述接收端发送之后,返回所述发送端对获取的当前图像帧进行编码,将编码后的当前图像帧向接收端发送,所述接收端接收、解码所述当前图像帧的步骤继续执行,直至所述接收端接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息。

示例性的,视频传输方法中的各刷新周期包括N个图像帧,其中间隔刷新帧包括连续的M帧,同时将各图像帧划分为M个条带进行编码,其中N大于M。接收端通过上行信道向发送端发送反馈信息。例如,反馈信息包括错误状态,错误状态为第一数值,如1时,表示该反馈信息为错误反馈信息,错误状态为第二数值,如0时,表示该反馈信息为正确反馈信息;错误反馈信息还可以包括接收、解码出错条带的条带索引slice_idx。

如图27所示为图像帧传输的一种示意图。

在该示例中,发送端的处理逻辑如下:

1、对第一帧进行帧内编码,将得到的I帧向接收端发送;

2、对第二帧至第N帧进行帧间编码,将得到的P帧向接收端发送;

3、进行周期性刷新,对刷新周期中的第1帧至第M帧进行部分区域的帧内编码,将得到的间隔刷新帧向接收端发送,这M个帧进行帧内编码的区域的并集等于一帧的范围,即刷新区域叠加起来为一整帧;

4、对刷新周期中的第M+1帧至第N帧进行帧间编码,将得到的P帧向接收端发送;

5、返回3、4继续执行;

6、如果在任意时刻发送端接收到接收端发送的反馈信息中错误状态为第一数值,立即根据该反馈信息对应的帧确定M个纠错刷新帧,对各纠错刷新帧进行部分区域的帧内编码,将得到的纠错刷新帧向接收端发送,这M个帧进行帧内编码的区域的并集等于一帧的范围,即刷新区域叠加起来为一整帧;其中,根据该反馈信息的条带索引slice_idx确定第1个纠错刷新帧进行帧内编码的区域;

7、对M个纠错刷新帧进行编码和发送后,对后续的N-M个帧进行帧间编码,将得到的P帧向接收端发送;

8、返回3、4继续执行;其中,若接收端发送的反馈信息中错误状态仍为第一数值,则根据该反馈信息的条带索引slice_idx确定刷新周期中的第1帧进行帧内编码的区域;若接收端发送的反馈信息中错误状态为第二数值,则确定刷新周期中的第1帧进行帧内编码的区域为第一个条带;

在该示例中,接收端的处理逻辑如下:

1、初始化反馈信息中错误状态为第二数值,条带索引slice_idx为0;

2、从发送端接收编码后的帧,进行协议头解析和容错处理,再解码;

3、当接收到一个I帧,或者一组完整的M个间隔刷新帧,或者一组完整的M个纠错刷新帧,并正确接收和解码后,将错误状态置为第二数值,将条带索引slice_idx置为0;

4、返回2、3继续执行;

其中,进行协议头解析时,如果物理层包序号或者帧头协议中编码帧序号不连续,表示有丢包,则把第一个丢的包序号和该帧第一个包序号之差记作slice_idx,同时将错误状态置为第一数值,将反馈信息向发送端发送。如果帧尾协议中的编码帧长度和checksum校验不通过,也将错误状态置为第一数值,slice_idx记作0,将反馈信息向发送端发送。

通过上述方式,本申请实施例提供的视频传输方法,通过在某图像帧传输出错时,发送端对纠错刷新帧的部分区域进行帧内编码,接收端可以及时更新解码所需的参考数据,使得传输错误较快恢复;而且可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加。

示例性的,将间隔刷新帧、纠错刷新帧按照图像帧的条带划分进行分割,每组刷新帧的个数与图像帧的条带数目相同,每个条带对应一个刷新帧的帧内编码区域。

示例性的,接收端通过上行信道向发送单发送反馈信息,发送端可以根据反馈信息调整刷新周期与刷新方式;如在接收到错误反馈信息后打破原有的刷新周期,及时编码M个纠错刷新帧以便接收端更新参考数据。

示例性的,传输协议保证发送的码流数据业务包含条带索引信息,接收端可以进行两者对应,从而能够判断出错位置的条带索引。可以有但不局限于以下两种实现方式:一个是每个发送数据包增加一个条带索引的传输协议头信息,另一个是传输协议头中不包含当前发送码流对应的条带索引,发送端严格按照单个条带为一个数据业务包进行发送,接收端可以根据物理层的业务包号索引对应得到条带索引。

示例性的,发送端接收到错误反馈信息时,重新调整刷新周期和刷新格式,不局限于以下实现方式:如果错误发生,以错误反馈信息的条带索引对应的刷新区域开始进行帧内编码和发送,经过M帧之后完成一整帧的区域刷新;刷新完成之后经过若干P帧之后开始新一刷新周期。

示例性的,将接收到一个I帧,或者一组完整的M个间隔刷新帧,或者一组完整的M个纠错刷新帧,并正确接收和解码作为错误恢复的判断依据。

示例性的,本申请实施例提供的视频发送方法,在上行错包比较高或者上行反馈不及时的情况下,依然可以进行解码显示,且发送端依然会保持周期性的刷新;在错误发生时,发送端会打破原有的刷新周期,第一时间发送出纠错刷新帧,且刷新区域为出错的条带索引对应区域,保证最快最大程度进行错误恢复;可以兼顾图传延迟卡顿以及错误恢复速度两个最为重要的图传指标。该视频发送方法例如特别适用于对图传延迟卡顿以及错误恢复速度有极高要求的应用场景,如穿越机。

请参阅图28,图28是本申请一实施例提供的视频发送装置600的示意性框图。该视频发送装置600包括处理器601和存储器602,处理器601和存储器602通过总线603连接,该总线603比如为I2C(Inter-integrated Circuit)总线。

具体地,处理器601可以是微控制单元(Micro-controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)等。

具体地,存储器602可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。

其中,所述处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时实现前述的视频发送方法。

示例性的,所述处理器601用于运行存储在存储器602中的计算机程序,并在执行所述计算机程序时实现如下步骤:

获取当前图像帧,对所述当前图像帧进行编码,将编码后的当前图像帧向接收端发送;

若接收到所述接收端发送的错误反馈信息,根据所述当前图像帧确定纠错刷新帧;

对所述纠错刷新帧的部分区域进行帧内编码,将编码后的纠错刷新帧向所述接收端发送。

请参阅图29,图29是本申请一实施例提供的飞行器10的示意性框图。

如图29所示,飞行器10包括:

图像采集组件11,用于采集图像;

上述的视频发送装置600,用于获取图像采集组件采集到的图像,编码后向接收端发送;

飞行组件12,用于飞行。

请参阅图30,图30是本申请一实施例提供的视频接收装置700的示意性框图。视频接收装置700包括处理器701和存储器702,处理器701和存储器502通过总线703连接,该总线703比如为I2C(Inter-integrated Circuit)总线。

具体地,处理器701可以是微控制单元(Micro-controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)等。

具体地,存储器702可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。

其中,所述处理器701用于运行存储在存储器702中的计算机程序,并在执行所述计算机程序时实现前述的视频接收方法。

示例性的,所述处理器701用于运行存储在存储器702中的计算机程序,并在执行所述计算机程序时实现如下步骤:

从发送端接收编码后的当前图像帧,解码所述当前图像帧;

若接收所述当前图像帧出错或者解码所述当前图像帧出错,向所述发送端发送错误反馈信息,接收所述发送端响应于所述错误反馈信息发送的部分区域进行帧内编码的纠错刷新帧;

解码所述纠错刷新帧,根据解码结果刷新用于解码的参考数据。

请参阅图31,图31是本申请一实施例提供的视频播放设备20的示意性框图。

如图31所示,视频播放设备包括:

上述的视频接收装置700,用于从发送端接收图像,并进行解码;

显示组件21,用于显示所述视频接收装置解码出的数据。

本申请上述实施例提供的视频发送装置、飞行器、视频接收装置、视频播放设备,通过在某图像帧传输出错时,发送端对纠错刷新帧的部分区域进行帧内编码,接收端可以及时更新解码所需的参考数据,使得传输错误较快恢复;而且可以降低网络资源的资源占用,避免对完整的图像帧进行帧内编码导致码率突发而引起延迟和抖动增加。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现上述实施例提供的视频发送方法的步骤。

其中,所述计算机可读存储介质可以是前述任一实施例所述的视频发送装置的内部存储单元,例如所述视频发送装置的硬盘或内存。所述计算机可读存储介质也可以是所述视频发送装置的外部存储设备,例如所述视频发送装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现上述实施例提供的视频接收方法的步骤。

其中,所述计算机可读存储介质可以是前述任一实施例所述的视频接收装置的内部存储单元,例如所述视频接收装置的硬盘或内存。所述计算机可读存储介质也可以是所述视频接收装置的外部存储设备,例如所述视频接收装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

56页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种柔性屏幕的显示方法及终端

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类