版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本发明涉及图像处理领域,并且更具体地,涉及图像处理方法、装置、无人飞行器和接收端。
背景技术:
无线和不可靠信道上低时延视频传输系统是目前的热点研究和应用方向。对于不可靠信道的视频传输来说,数据传输过程中会发生数据丢失及数据传输错误的情况,导致视频解码出错。但是发送端无法预测何时发生数据丢失和数据传输错误。因此,需要有相应的错误恢复机制,来纠正已经发生的视频数据错误。
但是,目前常用的纠正数据传输错误的方法会浪费信道资源带宽、带来传输时延抖动,影响用户的体验。
技术实现要素:
为了解决现有技术的上述以及其他潜在问题,本发明实施例提供一种图像处理方法、装置、无人飞行器和接收端。
第一方面,提供了一种发送端中的图像处理方法,包括:获取当前图像帧;响应于反馈信息,根据所述反馈信息确定用于编码所述当前图像帧的参考帧,其中,所述反馈信息是由接收端以可变的反馈时间间隔发送的,所述反馈信息用于指示在所述反馈信息之前所述发送端向所述接收端发送的图像帧的传输状态;根据所述参考帧,对所述当前图像帧进行帧间编码,以生成编码数据;向所述接收端发送所述编码数据。
第二方面,提供了一种接收端中的图像处理方法,包括:生成反馈信息,所述反馈信息用于指示在所述反馈信息之前发送端向所述接收端发送的图像帧的传输状态;以可变的反馈时间间隔向所述发送端发送所述反馈信息;接收所述发送端发送的当前图像帧的编码数据,其中,所述发送端对当前图像帧进行编码时采用的参考帧是所述发送端根据所述反馈信息确定的。
第三方面,提供了一种发送端中的图像处理装置,包括:获取模块,用于获取当前图像帧;确定模块,用于响应于反馈信息,根据所述反馈信息确定用于编码所述当前图像帧的参考帧,其中,所述反馈信息是由接收端以可变的反馈时间间隔发送的,所述反馈信息用于指示在所述反馈信息之前所述发送端向所述接收端发送的图像帧的传输状态;编码模块,用于根据所述参考帧,对所述当前图像帧进行帧间编码,以生成编码数据;发送模块,用于向所述接收端发送所述编码数据。
第四方面,提供了一种发送端中的图像处理装置,包括:至少一个存储器,用于存储计算机可执行指令;至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施第一方面所述的方法。
第五方面,提供了一种无人飞行器,包括第三方面或第四方面的图像处理装置。
第六方面,提供了一种接收端中的图像处理装置,包括:生成模块,用于生成反馈信息,所述反馈信息用于指示在所述反馈信息之前发送端向所述接收端发送的图像帧的传输状态;发送模块,用于以可变的反馈时间间隔向所述发送端发送所述反馈信息;接收模块,用于接收所述发送端发送的当前图像帧的编码数据,其中,所述发送端对当前图像帧进行编码时采用的参考帧是所述发送端根据所述反馈信息确定的。
第七方面,提供了一种接收端中的图像处理装置,至少一个存储器,用于存储计算机可执行指令;至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施第二方面所述的方法。
第八方面,提供了一种接收端,包括第六方面或第七方面的图像处理装置。
第九方面,提供了一种存储介质,所述存储介质存储指令,所述指令可以用于执行第一方面中的方法。
第十方面,提供了一种存储介质,所述存储介质存储指令,所述指令可以用于执行第二方面中的方法。
根据本发明的实施例,发送端根据接收到的反馈信息确定用于编码当前图像帧的参考帧。由此,可以不用向接收端发送帧内编码帧或容错帧组,即可以使得接收端恢复数据错误,提高信道资源的利用率,提升用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1根据本发明实施例的发送端中的图像处理方法的示意性流程图;
图2是根据本发明实施例的参考帧选择的示意图;
图3是根据本发明实施例的接收端中的图像处理方法的示意性流程图;
图4是根据本发明实施例的接收端中的图像处理方法的另一示意性流程图;
图5是根据本发明实施例的接收端中的图像处理方法的再一示意性流程图;
图6是根据本发明实施例的图像处理方法的示意性流程图;
图7是根据本发明实施例的图像处理装置的示意性框图;
图8是根据本发明另一实施例的图像处理装置的示意性框图;
图9是根据本发明再一实施例的图像处理装置的示意性框图;
图10是根据本发明再一实施例的图像处理装置的示意性框图;
图11是根据本发明实施例的无人飞行器的示意性框图;
图12是根据本发明实施例的接收端的示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本公开实施例,而非限制本公开实施例的范围。
还应理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图1是根据本发明实施例的发送端中的图像处理方法的示意性流程图。该方法由发送端中的图像处理装置执行,所述图像处理装置可以是各种类型的用于图像处理的芯片、图像处理器等,所述发送端用于向接收端发送图像帧的编码数据。如图1所示,方法100包括:
s110,获取当前图像帧;
s120,响应于反馈信息,根据所述反馈信息确定用于编码所述当前图像帧的参考帧,其中,所述反馈信息是由接收端以可变的反馈时间间隔发送的,所述反馈信息用于指示在所述反馈信息之前所述发送端向所述接收端发送的图像帧的传输状态;
需要说明的是,传输状态指的是图像帧的传输是否出现错误。具体地说,指的是图像帧的传输过程中是否出现数据丢失或数据错误。或者,可以理解为图像帧是否被正确传输,以及正确传输后是否被成功解码。
s130,根据所述参考帧,对所述当前帧进行帧间编码,以生成编码数据;
可以看出,每次在编码当前图像帧时,采用的编码方式均为帧间编码方式或称为帧间预测编码方式,得到预测编码帧。其中,预测编码帧是指不但压缩本图像帧内的空间冗余信息,还会利用本图像帧与指定的参考帧之间的时间冗余来压缩数据的编码方式,也就是进行时域预测并进行编码,这种帧间编码帧的压缩效率要比帧内编码帧高很多。由此,发送端向接收端发送的编码后的帧均为帧间编码帧,能够提高信道资源的利用率,降低传输时延。
可选地,在对当前图像帧进行帧间编码时,可以将码率控制到一个特定的范围内(例如,低于最大码率,高于最小码率)或者接近目标平均码率。可选地,可以控制码率依赖于当前图像帧的复杂度,带宽限制,缓存容量或其他因素而变化。
s140,向所述接收端发送所述编码数据。
因此,根据本发明实施例的图像处理方法,发送端中的图像处理装置根据接收到的反馈信息,确定编码当前图像的参考帧。由于发送端可以根据反馈信息确定出已被正确传输的图像帧,并从已被正确传输的图像帧中选择作为参考帧的图像帧,使得接收端只要成功接收当前图像帧的编码数据,即可以恢复传输错误。由此,发送端中的图像处理装置无需发送帧内编码帧或者容错帧组,即可以使得接收端中的图像处理装置恢复传输错误,提高信道资源的利用率,提升用户体验。
本发明实施例中的发送端可以在任何合适的环境下移动,例如,空气中(例如,定翼飞机、旋翼飞机,或既没有定翼也没有旋翼的飞机)、水中(例如,轮船或潜水艇)、陆地上(例如,汽车或火车)、太空(例如,太空飞机、卫星或探测器),以及以上各种环境的任何组合。发送端可以是无人飞行器,例如无人机(unmannedaerialvehicle,简称为“uav”)。在一些实施例中,可发送端可以承载生命体,例如,人或动物。
本发明实施例中的接收端可以是计算机、手持式电子设备、通讯设备、视频监控设备等。
在s120中,发送端中的图像处理装置根据反馈信息确定已被正确传输的图像帧;并根据已被正确传输的图像帧确定参考帧。
与现有通过周期性发送容错帧(帧内编码帧)或容错帧组来纠正数据传输错误的技术方案不同,本发明实施例中的方法,发送端中的图像处理装置通过根据已被正确传输的图像帧确定的参考帧,对当前图像帧进行帧间编码,接收端只要成功接收当前图像帧的编码数据,即可以恢复传输错误。由此,发送端中的图像处理装置无需向接收端中的图像处理装置发送容错帧或容错帧组,即可以使得接收端中的图像处理装置恢复传输错误,提高信道资源的利用率,提升用户体验。
在本发明实施例中,作为示例而非限定,反馈信息包括下列信息中的至少一种:用于指示在所述反馈信息之前发送的最后一帧图像帧是否被正确传输的指示信息;已被正确传输的图像帧的帧号;以及在所述反馈信息之前最后一帧已被正确传输的图像帧的帧号。
可以理解的是,图像帧的帧号是全局唯一的,并且图像帧的帧号和编码数据一起发送给接收端的。
举例来说,如图2中所示出的,假设在当前图像帧(编号6)之前,发送端已经向接收端发送了5个图像帧,对应编号依次为1-5,并且编号为2、3和4的图像帧被正确传输。反馈信息中包括已被正确传输的图像帧的帧号。此时,反馈信息具体可以为“234”。或者,反馈信息包括最后一帧已被正确传输的图像帧的帧号,此时,反馈信息可以为“4”,发送端中的图像处理装置根据反馈信息可以知道编号为5的图像帧未被成功传输。由此,发送端中的图像处理装置在编码编号为6的图像帧时,可以选择编号为4的图像帧为参考帧,或者选择编号为3和4的图像帧为参考帧。
或者,假设在当前图像帧(编号9)之前,发送端已经向接收端发送了8个图像帧,对应编号依次为1-8,并且接收端已经针对编号为1-5的图像帧进行过反馈。在此次反馈信息中只需要对编号为8的图像帧的传输状态进行反馈。反馈信息中包括用于指示编号为8的图像帧是否正确传输的指示位,假定指示位的值为“0”表示编号为8的图像帧未被正确传输,指示位的值为“1”表示编号为8的图像帧已被正确传输。如果指示位的值为1,发送端中的图像处理装置选择编号为8的图像帧作为参考帧,对编号为9的图像帧进行帧间编码。如果指示位的值为0,发送端中的图像处理装置可以确定编号为5的图像帧是否被正确传输,如果编号为5的图像帧被正确传输,选择编号为5的图像帧作为参考帧,对编号为9的图像帧进行帧间编码。
或者,进一步地,发送端中的图像处理装置将已被正确传输的图像帧中的至少一部分保存到参考帧管理队列中,发送端中的图像处理装置将参考帧管理队列中的图像帧,确定为参考帧。由此,每次接收到接收端发送的反馈信息时,根据反馈信息确定已被正确传输的图像帧,并更新参考帧管理队列。相对应地,接收端中的图像处理装置在确定已被正确传输的图像帧后,也将正确传输的图像帧中的至少一部分保存在参考帧管理队列中。发送端中的参考帧管理队列与接收端中的参考帧管理队列中保存的信息相同。
或者,发送端中的图像处理装置中包括用于存储所有编码数据对应的图像帧的物理或逻辑上的缓存,发送端中的图像处理装置可以只将已被正确传输的图像帧中的至少一部分对应的帧号保存到参考帧管理队列中,发送端中的图像处理装置将参考帧队列中的帧号对应的图像帧确定为参考帧。相对应地,接收端中的图像处理装置中包括用于存储所有解码数据对应的图像帧的物理或逻辑上的缓存,接收端中的图像处理装置可以将正确传输的图像帧中的至少一部分对应的帧号保存在参考帧管理队列中。
在本发明实施例中,接收端中的图像处理装置是以可变的反馈时间间隔向发送端发送反馈信息的,例如,接收端中的图像处理装置在时间段1内采用反馈时间间隔1向发送端中的图像处理装置发送反馈信息,接收端中的图像处理装置在时间段1之后的时间段2内采用反馈时间间隔2向发送端中的图像处理装置发送反馈信息,反馈时间间隔1与反馈时间间隔2不同。具体地,时间段1与时间段2可以系统预设或用户设置。由此可以获得合适的编码效率和信道利用率。其中,可变的反馈时间间隔可以是发送端中的图像处理装置确定后发送给接收端的图像处理装置的,也可以是接收端中的图像处理装置自己确定的。
具体来说,反馈时间间隔可以是根据实际情况采用多种方法确定的。例如,反馈时间间隔是根据下列信息中的至少一种确定的:反馈信道的负载情况;发送端的应用场景对错误恢复及时性的需求;预设时段内的传输错误率;以及历史数据传输状态。或者,当该发送端为无人机时,该反馈时间间隔是根据发送端的姿态信息动态确定的。
其中,可以根据反馈信道负载确定该反馈时间间隔,例如,当反馈信道的负载达到阈值时,将反馈时间间隔调大;当反馈信道的负载小于阈值时,将反馈时间间隔调小。
其中,可以根据应用场景的错误恢复及时性需求确定该反馈时间间隔。例如,当前应用场景的错误恢复及时性需求为每发5个图像帧的编码数据至少有3个是正确的,实际传输过程中,若传输正确率达到3/5,则调大该反馈时间间隔,若传输正确率不到3/5,则调小该反馈时间间隔。
其中,可以根据历史数据传输状态确定该反馈时间间隔。例如在预设时间段内,当连续出现指示传输错误的反馈信息的个数小于第一预置数值时,或者在预设时间段内出现指示传输错误的反馈信息的总个数小于第二预置数值时,则可以调大该反馈时间间隔。在预设时间段内,当连续出现指示传输错误的反馈信息的个数不小于第一预置数值时,或者在预设时间段内出现指示传输错误的反馈信息的总个数不小于第二预置数值时,则可以调小该反馈时间间隔。
其中,当发送端例如为无人飞行器时,发送端中的图像处理装置可以根据发送端的姿态信息确定该反馈时间间隔,其中该姿态信息包括但不限于三维位置、三维角度、三维速度、三维加速度和三维角速度。例如,当第一设备的三维速度较大时,说明在发送端上捕获的图像画面的变化差异较大,可以调小该反馈时间间隔;例如,当发送端的三维速度较小时(例如为0),说明在发送端上捕获的图像画面的变化差异较小(例如无差异),可以调大该反馈时间间隔。
其中,发送端可以根据发送端中的传感系统测量的姿态信息确定发送端的姿态信息。发送端的姿态信息可以包括下列信息中的至少一种:三维位置、三维角度、三维速度、三维加速度和三维角速度。发送端中的传感系统可以包括下列器件中的至少一种:陀螺仪、电子罗盘、惯性测量单元(inertialmeasurementunit,简称为“imu”)、视觉传感器、全球定位系统(globalpositioningsystem,简称为“gps”)和气压计。
本发明实施例通过可变的反馈时间间隔,向发送端发送反馈信息,能在一定程度上降低信道负担。
可选地,作为一种实施例,该反馈时间间隔可以直接由接收端的图像处理装置根据反馈信道负载、应用场景的错误恢复及时性需求与历史数据传输状态中的任一种或多种信息确定。
具体方法参见上文描述,这里不再赘述。
可选地,作为一种实施例,该反馈时间间隔可以由发送端与接收端协商确定。
具体地,接收端根据下列信息中的至少一种确定反馈时间间隔1:反馈信道负载、应用场景的错误恢复及时性需求与历史数据传输状态;该接收端接收发送端发送的反馈时间间隔2;该接收端根据反馈时间间隔1与反馈时间间隔2,确定最终的反馈时间间隔3。举例来说,假设接收端根据反馈信道的负载情况确定出反馈时间间隔为第一间隔,而接收端接收到的发送端根据发送端的姿态信息确定的反馈时间间隔为第二间隔。假设预先约定为,当第一间隔大于第二间隔时,接收端采用第二间隔作为反馈时间间隔。则当接收端确定的第一间隔大于第一设备确定的第二间隔时,以第二间隔作为最终的反馈时间间隔。
在本发明实施例中,接收端通过采用可变的反馈时间间隔向发送端发送反馈信息,可以在一定程度上提高信道利用率。
在本发明实施例中,由于反馈信息是接收端中的图像处理装置以可变的反馈时间间隔发送的,因此,在发送端中的图像处理装置未接收到反馈信息的时间段内,发送端中的图像处理装置可以将在当前图像帧之前发送的预设数量的图像帧确定为参考帧。例如,选择当前图像帧最近的图像帧作为参考帧。当发送端中的图像处理装置接收到反馈信息,并且反馈信息中携带的图像帧的帧号出现跳变时,发送端中的图像处理装置选择已被成功传输的图像帧作为参考帧编码当前图像帧。
在上述所有实施例中,发送端中的图像处理装置向接收端中的图像处理装置发送对当前图像帧进行帧间编码后的编码数据时,发送端中的图像处理装置对编码数据进行打包处理,获得数据包,其中,数据包中包括包序号和校验值中的至少一项。之后接收端中的图像处理装置接收到数据包后根据包序号和校验值中的至少一项确定当前图像帧的传输状态。
可选地,在实时传输协议(real-timetransportprotocol,简称为“rtp”)中,包序号是rtp包序号。在传输控制协议/因特网互联协议(transmissioncontrolprotocol/internetprotocol,简称为“tcp/ip”)中,包序号是ip包序号。
在本发明实施例中,作为示例而非限定,发送端中的图像处理装置将当前图像帧编码后的编码数据打包为一个数据包,数据包的包号与当前图像帧的帧号具有对应关系。接收端中的图像处理装置根据接收到的数据包的包序号是否连续检测是否发生数据丢失,当接收端中的图像处理装置确定接收到的数据包的包号中缺少与所述当前图像帧对应的数据包的包号时,接收端中的图像处理装置确定发生数据丢失,即所述当前图像帧传输失败。或者,接收端中的图像处理装置根据数据包中的数据计算校验值,当计算得出的校验值与该数据包中携带的校验值不一致时,接收端中的图像处理装置确定出现数据错误,即当前图像帧传输失败。
或者,发送端中的图像处理装置将当前图像帧编码后的编码数据打包为多个数据包,所有数据包的包号均对应所述当前图像帧的帧号。此时,同样的,接收端中的图像处理装置根据数据包的包号是否连续检测是否发生数据丢失。例如,发送端中的图像处理装置将当前图像帧编码后的编码数据打包为4个数据包,包号分别为1、2、3和4,当接收端中的图像处理装置确定接收到的数据包的包号只有1、2和4时,确定发生数据丢失,即当前图像帧的传输失败。或者接收端中的图像处理装置根据上述的计算校验值的方式确定是否发生数据错误。
可选地,在上述实施例中,数据包中的校验值为循环冗余校验(cyclicalredundancycheck,简称为“crc”)值。
以上结合图1和图2从发送端侧详细描述了根据本发明实施例的图像处理的方法,下面将结合图3从接收端侧详细描述根据本发明另一实施例的图像处理的方法。应理解,发送端侧描述的接收端与发送端的交互及相关特性、功能等与接收端侧的描述相应,为了简洁,适当省略重复的描述。
图3示出了根据本发明另一实施例的图像处理的方法,该方法可以由接收端中的图像处理装置执行,所述图像处理装置可以是各种类型的用于图像处理的芯片、图像处理器等。如图3所示,方法300包括:
s310,生成反馈信息,所述反馈信息用于指示在所述反馈信息之前发送端向所述接收端发送的图像帧的传输状态;
s320,以可变的反馈时间间隔向所述发送端发送所述反馈信息;
s330,接收所述发送端发送的当前图像帧的编码数据,其中,所述发送端对当前图像帧进行编码时采用的参考帧是所述发送端根据所述反馈信息确定的。
因此,根据本发明实施例的图像处理方法,接收端中的图像处理装置向发送端中的图像处理装置以可变的反馈时间间隔发送反馈信息,使得发送端中的图像处理装置能够根据接收到的反馈信息,确定编码当前图像帧的参考帧。由此,发送端中的图像处理装置无需发送帧内编码帧或者容错帧组,即可以使得接收端中的图像处理装置恢复传输错误,提高信道资源的利用率,提升用户体验。
可选地,如图4所示,在s320之前,所述方法300还包括:
s340,将已被正确传输的图像帧中的至少一部分保存到参考帧管理队列中。
在本发明实施例中,可选地,所述反馈信息包括下列信息中的至少一种:用于指示在所述反馈信息之前发送的最后一帧图像帧是否被正确传输的指示信息;已被正确传输的图像帧的帧号;以及在所述反馈信息之前最后一帧被正确传输的图像帧的帧号。
在本本发明实施例中,可选地,如图5所示,所述方法300还包括:
s350,确定所述可变的反馈时间间隔。
在本发明实施例中,可以根据下列信息中的至少一种确定所述可变的反馈时间间隔:反馈信道的负载情况、所述发送端的应用场景对错误恢复及时性的需求、和预设时段内的传输错误率。
在本发明实施例中,可以通过接收所述发送端发送的所述可变的反馈时间间隔,确定所述可变的反馈时间间隔。
在本发明实施例中,可选地,所述可变的反馈时间间隔是所述发送端根据所述发送端的姿态变化速率动态确定的。
可选地,在本本发明实施例中,可以接收所述发送端发送的数据包,其中,所述数据包是所述发送端将对编码数据进行打包处理获得的,所述数据包还包括:包序号和校验值中的至少一项;
其中,所述方法300还包括:根据所述包序号和校验值中的至少一项,确定所述当前图像帧的传输状态。
在本本发明实施例中,可选地,所述发送端为无人飞行器。
图6示出了根据本发明再一实施例的图像处理的方法,如图6所示,方法600包括:
s610,发送端向接收端发送图像帧;
s620,接收端根据图像帧的传输状态,生成反馈信息;
s630,接收端以可变的反馈时间间隔向发送端发送反馈信息;
s640,发送端根据反馈信息确定用于编码当前图像帧的参考帧;
s650,发送端根据参考帧,对当前图像帧进行帧间编码,以生成编码数据;
s660,发送端向接收端发送所述编码数据;
s670,接收端根据所述参考帧,对所述编码数据进行帧间解码,以生成解码数据;
s680,接收端根据解码数据,显示当前图像帧。
可以理解的是,方法600中接收端与发送端之间的交互及相关特性、功能等与方法100中的描述相对应,为了简洁,在此不再赘述。
以上描述了根据本发明实施例的图像处理方法,以下将描述根据本发明实施例的图像处理装置。但应理解,以下描述的图像处理装置可以实现以上的图像处理方法,为了避免重复,以下将简洁描述。
图7是根据本发明实施例的发送端中的图像处理装置的示意性框图。如图7所示,图像处理装置10包括:
获取模块11,用于:获取当前图像帧;
确定模块12,用于响应于发送的反馈信息,根据所述反馈信息确定用于编码所述当前图像帧的参考帧,其中,所述反馈信息是由接收端以可变的反馈时间间隔发送的,所述反馈信息用于指示在所述反馈信息之前所述发送端向所述接收端发送的图像帧的传输状态;
编码模块13,用于根据所述参考帧,对所述当前图像帧进行帧间编码,以生成编码数据;
发送模块14,用于向所述接收端发送所述编码数据。
因此,根据本发明实施例的发送端中的图像处理装置根据接收到的反馈信息,确定编码当前图像的参考帧。由此,无需发送帧内编码帧或者容错帧组,即可以使得接收端中的图像处理装置恢复传输错误,提高信道资源的利用率,提升用户体验。
可选地,作为一个实施例,所述确定模块12用于:
根据所述反馈信息确定已被正确传输的图像帧;
根据所述已被正确传输的图像帧确定所述参考帧。
可选地,作为一个实施例,所述确定模块12还用于:
将所述已被正确传输的图像帧中的至少一部分保存到参考帧管理队列中;
将所述参考帧管理队列中的图像帧,确定为所述参考帧。
可选地,作为一个实施例,所述确定模块12还用于:
响应于未接收到所述反馈信息,将在所述当前图像帧之前发送的预设数量的图像帧确定为所述参考帧。
可选地,作为一个实施例,所述反馈信息包括下列信息中的至少一种:
用于指示在所述反馈信息之前发送的最后一帧图像帧是否被正确传输的指示信息;
已被正确传输的图像帧的帧号;以及
在所述反馈信息之前最后一帧被正确传输的图像帧的帧号。
可选地,作为一个实施例,所述确定模块12还用于:
确定所述可变的反馈时间间隔;
其中,所述发送模块14还用于:向所述接收端发送所述可变的反馈时间间隔。
可选地,作为一个实施例,所述确定模块12用于:
根据下列信息中的至少一种确定所述可变的反馈时间间隔:
反馈信道的负载情况;
所述发送端的应用场景对错误恢复及时性的需求;以及
预设时段内的传输错误率。
可选地,作为一个实施例,所述确定模块12用于:
确定所述发送端的姿态变化速率;
根据所述姿态变化速率调整所述反馈时间间隔。
可选地,作为一个实施例,所述发送模块14用于:
将所述编码数据进行打包处理,获得数据包,其中,所述数据包还包括:包序号和校验值中的至少一项;
向所述接收端发送所述数据包。
可选地,作为一个实施例,所述发送端为无人飞行器。
应理解,图像处理装置10可以执行方法100及其各种可选实施例,为了简洁,在此不再赘述。
图8是根据本发明实施例的接收端中的图像处理装置的示意性框图。如图8所示,图像处理装置20包括:
生成模块21,用于生成反馈信息,所述反馈信息用于指示在所述反馈信息之前发送端向所述接收端发送的图像帧的传输状态;
发送模块22,用于以可变的反馈时间间隔向所述发送端发送所述反馈信息;
接收模块23,用于接收所述发送端发送的当前图像帧的编码数据,其中,所述发送端对当前图像帧进行编码时采用的参考帧是所述发送端根据所述反馈信息确定的。
因此,根据本发明实施例的接收端中的图像处理装置向发送端中的图像处理装置以可变的反馈时间间隔发送反馈信息,使得发送端中的图像处理装置能够根据接收到的反馈信息,确定编码当前图像帧的参考帧。由此,发送端中的图像处理装置无需发送帧内编码帧或者容错帧组,即可以使得接收端中的图像处理装置恢复传输错误,提高信道资源的利用率,提升用户体验。
可选地,作为一个实施例,所述发送模块22还用于:
将已被正确传输的图像帧中的至少一部分保存到参考帧管理队列中。
可选地,作为一个实施例,所述反馈信息包括下列信息中的至少一种:
用于指示在所述反馈信息之前发送的最后一帧图像帧是否被正确传输的指示信息;
已被正确传输的图像帧的帧号;以及
在所述反馈信息之前最后一帧被正确传输的图像帧的帧号。
可选地,作为一个实施例,所述发送模块22还用于:
确定所述可变的反馈时间间隔。
可选地,作为一个实施例,所述发送模块22用于:
根据下列信息中的至少一种确定所述可变的反馈时间间隔:
反馈信道的负载情况;
所述发送端的应用场景对错误恢复及时性的需求;以及
预设时段内的传输错误率。
可选地,作为一个实施例,所述接收模块23还用于:
接收所述发送端发送的所述可变的反馈时间间隔。
可选地,作为一个实施例,所述可变的反馈时间间隔是所述发送端根据所述发送端的姿态变化速率动态确定的。
可选地,作为一个实施例,所述接收模块23用于:
接收所述发送端发送的数据包,其中,所述数据包是所述发送端将所述编码数据进行打包处理获得的,所述数据包还包括:包序号和/或校验值;
根据所述包序号和校验值中的至少一项,确定所述当前图像帧的传输状态。
可选地,作为一个实施例,所述发送端为无人飞行器。
应理解,图像处理装置20可以执行方法300及其各种可选实施例,为了简洁,在此不再赘述。
图9是根据本发明另一实施例的发送端中的图像处理装置的示意性框图。如图9所示,图像处理装置1000包括至少一个存储器1010,用于存储计算机可执行指令;至少一个处理器1020。所述至少一个处理器1020单独或共同地用于:访问所述至少一个存储器1010,并执行所述计算机可执行指令,以实施方法100及其各种可选实施例,为了简洁,在此不再赘述。
图10是根据本发明另一实施例的接收端中的图像处理装置的示意性框图。如图10所示,图像处理装置2000包括至少一个存储器2010,用于存储计算机可执行指令;至少一个处理器2020。所述至少一个处理器2020单独或共同地用于:访问所述至少一个存储器2010,并执行所述计算机可执行指令,以实施方法300及其各种可选实施例,为了简洁,在此不再赘述。
可选地,本发明实施例中的处理器可以是中央处理器(centralprocessingunit,简称为“cpu”),网络处理器(networkprocessor,简称为“np”)或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,简称为“asic”),可编程逻辑器件(programmablelogicdevice,简称为“pld”)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,简称为“cpld”),现场可编程逻辑门阵列(field-programmablegatearray,简称为“fpga”),通用阵列逻辑(genericarraylogic,简称为“gal”)或其任意组合。
可选地,本发明实施例中的存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
图11是根据本发明实施例的无人飞行器的示意性框图。如图11所示,无人飞行器30包括图7所示的图像处理装置10,或者无人飞行器30包括图9所示的图像处理装置1000。
图12是根据本发明实施例的接收端的示意性框图。如图12所示,接收端40包括图8所示的图像处理装置20或图10所示的图像处理装置2000。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。