CN111183648A - 用于支持基于快速反馈的视频编码的系统和方法 - Google Patents

用于支持基于快速反馈的视频编码的系统和方法 Download PDF

Info

Publication number
CN111183648A
CN111183648A CN201880064609.1A CN201880064609A CN111183648A CN 111183648 A CN111183648 A CN 111183648A CN 201880064609 A CN201880064609 A CN 201880064609A CN 111183648 A CN111183648 A CN 111183648A
Authority
CN
China
Prior art keywords
data unit
data
image frame
feedback information
received
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.)
Pending
Application number
CN201880064609.1A
Other languages
English (en)
Inventor
马宁
朱磊
陈颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN111183648A publication Critical patent/CN111183648A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

系统和方法可以支持视频编码。所述系统可以提供用于提高编码效率、保持一致的传输负荷、并保证传输之后的媒体内容的质量的技术方案,这是用于实现令人满意的用户体验的关键因素。视频编码器可以从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息。视频解码器可以解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据。

Description

用于支持基于快速反馈的视频编码的系统和方法
技术领域
本公开的实施例总体上涉及视频处理,更具体地但非排他地,涉及视频编码。
背景技术
近年来视频内容的消费量激增,这主要是由于各种类型的便携式、手持式或可穿戴设备的普及。典型地,视频数据或其它媒体内容在源处被编码成编码的(压缩的)比特流,然后通过通信信道将其发送到接收机。希望提高编码效率、保持一致的传输负荷、并保证传输之后的媒体内容的质量。这是本发明的实施例旨在解决的一般领域。
发明内容
本文描述的是可以支持视频编码的系统和方法。视频编码系统(或编码器)可以从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息。该系统可以基于已接收的反馈信息,确定针对视频流中的图像帧中的第一数据单元的第一参考数据单元;以及基于所述第一参考数据单元,对所述图像帧中的所述第一数据单元进行编码。
本文还描述的是可以支持视频解码的系统和方法。视频解码系统(或解码器)可以解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据。该系统可以至少基于一个或多个数据包中包含的参考信息,确定图像帧中的第一数据单元是否被正确地接收;以及向编码器提供反馈信息,其中,所述反馈信息指示所述图像帧中的所述第一数据单元是否被正确地接收。
附图说明
图1示出根据各个实施例的可移动物体环境。
图2示出根据各个实施例的可移动物体环境中的示例性承载件。
图3示出根据各个实施例的用于实现基于反馈信息的编码和数据传输的示例性系统。
图4示出根据各个实施例的用于支持数据单元级别的基于反馈的编码的示例性处理。
图5示出根据各个实施例的用于数据编码的示例性处理。
图6示出根据各个实施例的用于利用参考信息的数据编码的示例性处理。
图7示出根据各个实施例的用于组成参考帧的示例性处理。
图8示出根据各个实施例的用于生成反馈信息的示例性处理。
图9示出根据各个实施例的用于维护和同步参考管理信息的示例性处理。
图10示出根据各个实施例的用于支持视频编码的流程图。
图11示出根据各个实施例的用于支持视频解码的流程图。
具体实施方式
在附图的图中通过示例而非限制的方式示出本发明,在附图中,相同的附图标记表示相似的元件。应当注意到:在本公开中针对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同实施例,且这种引用意味着至少一个实施例。
本发明的如下描述使用无人飞行器(UAV)作为可移动物体的示例。对于本领域技术人员显而易见的是,可以使用其他类型的可移动物体而没有限制。
对于通过不可靠信道(例如,经由UAV和遥控器之间的无线连接)的视频传输,可能在数据传输期间出现数据丢失和数据错误,其可能导致视频解码错误。当数据丢失和数据错误出现时,其不能被传输设备预见。因此,可能需要用于纠正已检测的视频数据错误的错误恢复机制。传统上,周期性的容错帧或帧组用于纠正传输错误。这种方法可以导致通过通信信道的不稳定的负荷,其影响用户体验。另外,其可能浪费信道带宽且降低信道利用率。例如,使用周期性的容错帧或容错帧组可能引入传输时延或抖动。另外,这种错误恢复机制可以导致帧的不同的部分使用不同的预测模式,其可以造成(在使用容错帧组的情况下的)图像显示中的不连续性和滚动效应(rolling effect)、以及(在周期性地使用单个容错帧内帧的情况下的)喘息效应(breathing effect)。
根据各个实施例,快速反馈机制可以在数据单元级别(例如,针对图像帧中的每个图像条带)实现。例如,当在编码图像帧的同时遇到与发送和接收图像条带有关的错误时,该系统可以将被正确地接收的所有图像条带中的最新图像条带用作参考图像条带,以保证参考信息在时间维度与当前图像帧最接近。因此,因为无需发送容错帧(例如,I帧)或容错帧组,所以快速反馈机制可以减小通信信道上的压力。另外,因为参考帧可以包括最新的已接收的图像条带,所以该系统可以获得更高的压缩率。
根据本发明的各个实施例,该系统可以提供用于提高编码效率、保持一致的传输负荷、并保证传输之后的媒体内容的质量的技术方案,这是用于实现令人满意的用户体验的关键因素。
根据本发明的各个实施例,视频编码系统(或编码器)可以从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息。该系统可以基于已接收的反馈信息,确定针对视频流中的图像帧中的第一数据单元的第一参考数据单元;以及基于所述第一参考数据单元,对所述图像帧中的所述第一数据单元进行编码。
根据本发明的各个实施例,视频解码系统(或解码器)可以解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据。该系统可以至少基于一个或多个数据包中包含的参考信息,确定图像帧中的第一数据单元是否被正确地接收;以及向编码器提供反馈信息,其中,所述反馈信息指示所述图像帧中的所述第一数据单元是否被正确地接收。
图1示出根据各个实施例的可移动物体环境。如图1所示,可移动物体环境100中的可移动物体118可以包括承载件102和负载104。尽管可移动物体118可以被描绘为飞行器,但是该描述并不旨在限制,并且可以使用任何合适类型的可移动物体。本领域技术人员将理解,本文在飞行器系统的上下文中描述的任何实施例可以应用于任何合适的可移动物体(例如,UAV)。在某些实例中,负载104可以被设置在可移动物体118上,而不需要承载件102。
根据本发明的各种实施例,可移动物体118可以包括一个或多个移动机构106(例如,推进机构)、感测系统108和通信系统110。
移动机构106可以包括旋翼、螺旋桨、叶片、发动机、电机、轮子、轴、磁体、喷嘴、动物或人类中的一个或多个。例如,可移动物体可以具有一个或多个推进机构。移动机构106可以都是相同类型的。备选地,移动机构106可以是不同类型的移动机构。移动机构106可以使用诸如支撑元件(例如,驱动轴)的任何合适的方法安装在可移动物体118上(反之亦然)。移动机构106可以安装在可移动物体118的任何合适的部分上,诸如顶部、底部、前部、后部、侧面或其合适的组合。
在一些实施例中,移动机构106可以使可移动物体118能够垂直地从表面起飞或垂直地降落在表面上,而不需要可移动物体118的任何水平移动(例如,无需沿着跑道行进)。可选地,移动机构106可以可操作地允许可移动物体118以特定姿态和/或朝向悬停在空中。移动机构106中的一个或多个可以独立于其它移动机构受到控制。备选地,移动机构106可以被配置为同时受到控制。例如,可移动物体118可以具有多个水平朝向的旋翼,其可以向可移动物体提供升力和/或推力。可以致动多个水平朝向的旋翼以向可移动物体118提供垂直起飞、垂直着陆和悬停能力。在一些实施例中,水平取向旋翼中的一个或多个可以沿顺时针方向旋转,而水平旋翼中的一个或多个可以沿逆时针方向旋转。例如,顺时针旋翼的数量可以等于逆时针旋翼的数量。为了控制由每个旋翼产生的升力和/或推力,从而调整可移动物体118(例如,相对于多达三个平移度和三个旋转度)的空间布置、速度和/或加速度,可以独立地改变每个水平朝向的旋翼的转速。
感测系统108可以包括可感测可移动物体118(例如,相对于各个平移度和各个旋转度)的空间布置、速度和/或加速度的一个或多个传感器。一个或多个传感器可以包括GPS传感器、运动传感器、惯性传感器、近距离传感器或图像传感器中的任一个。感测系统108提供的感测数据可用于(例如,使用合适的处理单元和/或控制模块)控制可移动物体118的空间布置、速度和/或朝向。备选地,感测系统108可以用于提供与可移动物体周围的环境有关的数据,例如天气条件、到可能障碍物的接近度、地理特征的位置、人造结构的位置等。
通信系统110能够经由无线信号116与具有通信系统114的终端112进行通信。通信系统110、114可以包括适合于无线通信的任意数量的发射机、接收机和/或收发机。所述通信可以是单向通信,使得数据只能在一个方向上传输。例如,单向通信可以仅涉及可移动物体118向终端112发送数据,或反之亦然。可以从通信系统110的一个或多个发射机向通信系统112的一个或多个接收机发送数据,或反之亦然。备选地,所述通信可以是双向通信,使得可以在可移动物体118和终端112之间的两个方向上发送数据。双向通信可以涉及从通信系统110的一个或多个发射机向通信系统114的一个或多个接收机发送数据,并且反之亦然。
在一些实施例中,终端112可以向可移动物体118、承载件102和负载104中的一个或多个提供控制数据,并且从可移动物体118、承载件102和负载104中的一个或多个接收信息(例如,可移动物体、承载件或负载的位置和/或运动信息;由负载感测的数据,例如由负载相机捕获的图像数据;以及由负载相机捕获的图像数据生成的数据)。在某些实例中,来自终端的控制数据可以包括用于可移动物体、承载件和/或负载的相对位置、移动、致动或控制的指令。例如,控制数据(例如,通过移动机构106的控制)可以导致可移动物体的位置和/或朝向的修改,或(例如,通过承载件102的控制)导致负载相对于可移动物体的移动。来自终端的控制数据可以导致对负载的控制,诸如对相机或其他图像捕捉装置的操作的控制(例如,拍摄静止或移动的图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。
在某些实例中,来自可移动物体、承载件和/或负载的通信可以包括来自(例如,感测系统108或负载104的)一个或多个传感器的信息和/或基于感测信息生成的数据的信息。通信可以包括来自一个或多个不同类型的传感器(例如,GPS传感器、运动传感器、惯性传感器、近距离传感器或图像传感器)的感测信息。这样的信息可以涉及可移动物体、承载件和/或负载的定位(例如位置,朝向)、移动或加速度。来自负载的这种信息可以包括由负载捕捉的数据或所感测的负载的状态。由终端112发送的控制数据可以被配置为控制可移动物体118、承载件102或负载104中的一个或多个的状态。备选地或组合地,承载件102和负载104也可以各自包括被配置为与终端112进行通信的通信模块,使得该终端可以独立地与可移动物体118、承载件102和有效负载104中的每一个进行通信并对其进行控制。
在一些实施例中,可移动物体118可被配置为与除了终端112之外的或者替代终端112的另一远程装置通信。终端112还可以被配置为与另一远程装置以及可移动物体118进行通信。例如,可移动物体118和/或终端112可以与另一可移动物体或另一可移动物体的承载件或负载通信。当需要时,远程装置可以是第二终端或其它计算装置(例如,计算机、膝上型电脑、平板电脑、智能电话或其它移动装置)。远程装置可以被配置为向可移动物体118发送数据、从可移动物体118接收数据、向终端112发送数据、和/或从终端112接收数据。可选地,远程装置可以与互联网或其它电信网络连接,使得从可移动物体118和/或终端112接收的数据可以上传到网站或服务器。
图2示出根据各个实施例的可移动物体环境中的示例性承载件。承载件200可以用于将诸如图像捕捉设备之类的负载202耦接到诸如UAV之类的可移动物体。
承载件200可以被配置为允许负载202绕着一个或多个轴(例如,以下三个轴:相对于可移动物体的X轴或俯仰轴、Z轴或横滚轴、以及Y轴或者偏航轴)。例如,承载件200可以被配置为允许负载202仅围绕轴中的一个、两个或三个轴旋转。轴可以彼此正交或可以不彼此正交。围绕任何轴的旋转范围可以被限制或可以不被限制,并且可以针对每个轴而变化。旋转的轴可以彼此相交或不相交。例如,正交轴可以彼此相交。它们可以在或者可以不在负载202处相交。备选地,它们可以不相交。
承载件200可以包括具有一个或多个框架构件的框架组件211。例如,框架构件可以被配置为与负载202(例如,图像捕捉设备)耦接并且支撑负载202。
在一些实施例中,承载件201可以包括一个或多个承载件传感器213,其用于确定承载件201或者由承载件201承载的负载202的状态。状态信息可以包括关于承载件、其部件和/或负载202的空间布置(例如位置、朝向或姿态)、速度(例如线速度或角速度)、加速度(例如线加速度或角加速度)和/或其他信息。在一些实施例中,从传感器数据中获取或计算的状态信息可被用作反馈数据以控制承载件的部件(例如框架构件)的旋转。这种承载件传感器的示例可以包括运动传感器(例如,加速度计)、旋转传感器(例如,陀螺仪)、惯性传感器等。
承载件传感器213可以耦接到承载件(例如,框架构件和/或致动器构件)的任何一个或多个合适的部分,并且可以或可以不相对于UAV移动。附加地或备选地,承载件传感器中的至少一些可以直接耦接到由承载件201承载的负载202。
承载件传感器213可以与承载件的一些或全部致动器构件耦接。例如,三个承载件传感器可以被分别耦接到三轴承载件的致动器构件212,并且被配置为测量三轴承载件的各个致动器构件212的驱动。这种传感器可以包括电位计或其它类似的传感器。在实施例中,可以在电机的电机轴上插入传感器(例如电位计),以测量电机转子和电机定子的相对位置,由此测量转子和定子的相对位置并产生表示该相对位置的位置信号。在实施例中,每个与致动器耦接的传感器被配置为提供其所测量的相应的致动器构件的位置信号。例如,可以使用第一电位计来生成第一致动器构件的第一位置信号,可以使用第二电位器来生成第二致动器构件的第二位置信号,并且可以使用第三电位计来生成第三致动器构件的第三位置信号。在一些实施例中,承载件传感器213也可以耦接到承载件的一些或全部框架构件。传感器可以能够传送关于承载件和/或图像捕捉设备的一个或多个框架构件的位置和/或朝向的信息。传感器数据可以用于确定图像捕捉设备相对于可移动物体和/或参考框架的位置和/或朝向。
承载件传感器213可以提供可被发送到承载件或可移动物体上的一个或多个控制器(未示出)的位置和/或朝向数据。传感器数据可以在基于反馈的控制方案中使用。控制方案可以用于控制对一个或多个致动器构件(例如,一个或多个电机)的驱动。可以位于承载件上或者位于承载承载件的可移动物体上的一个或多个控制器可以生成用于驱动致动器构件的控制信号。在某些实例中,可以基于从承载件传感器接收的指示承载件或承载件201所承载的负载202的空间布置的数据来生成控制信号。如前文所述,承载件传感器可以位于承载件或负载202上。由控制器产生的控制信号可以被不同的致动器驱动器接收。基于控制信号,不同的致动器驱动器可以控制不同致动器构件的驱动,例如,以实现承载件的一个或多个部件的旋转。致动器驱动器可以包括适合于控制相应的致动器构件的驱动和从相应的传感器(例如,电位计)接收位置信号的硬件和/或软件部件。控制信号可以被同时发送到致动器驱动器,以产生对致动器构件的同时驱动。备选地,控制信号可以被顺序地发送,或者仅被发送到致动器驱动器中的一个。有利地,控制方案可以用于提供用于驱动承载件的致动器构件的反馈控制,从而能够实现承载件部件的更精确和准确的旋转。
在某些实例中,承载件201可以经由一个或多个阻尼元件间接地耦接到UAV。阻尼元件可以被配置为减少或消除由可移动物体(例如,UAV)的移动引起的负荷(例如,负载、承载件或二者)的移动。阻尼元件可以包括适于对所耦接的负荷的运动进行阻尼的任何元件,例如,主动阻尼元件、被动阻尼元件或具有主动和被动阻尼特性二者的混合阻尼元件。由本文提供的阻尼元件阻尼的运动可以包括振动、摆动、摇动或撞击中的一个或多个。这种运动可以源自传递到负荷的可移动物体的运动。例如,所述运动可以包括由推进系统和/或UAV的其它部件的操作引起的振动。
阻尼元件可通过消散或减少传递到负荷的运动量(例如,振动隔离)而将负荷与不希望的运动源隔离,来提供运动阻尼。阻尼元件可以减小负荷原本将经受的运动的量值(例如,幅度)。由阻尼元件所施加的运动阻尼可以用于使负荷稳定,从而提高由负荷(例如,图像捕捉设备)捕捉的图像的质量,并且降低基于已捕捉的图像来生成全景图像所需的图像拼接步骤的计算复杂度。
本文所述的阻尼元件可以由任何合适的材料或材料组合形成,包括固体、液体或气体材料。用于阻尼元件的材料可以是可压缩的和/或可变形的。例如,阻尼元件可以由海绵、泡沫、橡胶、凝胶等制成。例如,阻尼元件可以包括大致球形的橡胶球。阻尼元件可以是任何合适的形状,例如,大致球形、矩形、圆柱形等。备选地或附加地,阻尼元件可以包括压电材料或形状记忆材料。阻尼元件可以包括一个或多个机械元件,例如,弹簧、活塞、液压装置、气动装置、缓冲器、阻尼器、隔离器等。可以选择阻尼元件的特性以提供预定量的运动阻尼。在某些实例中,阻尼元件可以具有粘弹特性。阻尼元件的特性可以是各向同性的或各向异性的。例如,阻尼元件可以提供沿着所有运动方向的相等运动阻尼。反之,阻尼元件可以仅沿着运动方向的子集(例如,沿着单个运动方向)提供运动阻尼。例如,阻尼元件可以主要沿着Y(偏航)轴提供阻尼。由此,所示出的阻尼元件可以被配置为减小垂直运动。
尽管各个实施例可以被描述为利用单一类型的阻尼元件(例如,橡胶球),但是应当理解,可以使用任何合适的阻尼元件类型的组合。例如,可以使用任何合适的一种或多种类型的一个或多个阻尼元件将承载件耦接到可移动物体。阻尼元件可以具有相同或不同的特征或特性,例如,刚度、粘弹性等。每个阻尼元件可以被耦接到负荷的不同部分或仅被耦接到负荷的特定部分。例如,阻尼元件可以位于负荷与可移动物体之间的接触点或耦接点或表面附近。在某些实例中,负荷可以嵌入在一个或多个阻尼元件内或由其包围。
图3示出根据各个实施例的用于实现基于反馈信息的编码和数据传输的示例性系统300。系统300可以包括通过一个或多个通信信道(未示出)相互通信的发送设备310(例如,发送终端或发射机)和接收设备320(例如,接收终端或接收机)。
发送设备310可以使用编码器302。例如,编码器302可以在发送设备310上运行或被连接至发送设备310的不同的设备上运行。编码器302可以被配置为:编码(例如,压缩)输入帧307(例如,视频帧和/或静止图像帧)中的一个或多个数据单元。
而且,(在将编码数据308打包303成一个或多个数据包之后)发送设备310可以向接收设备320发送由编码器302生成的编码数据308。(在解包313或解开一个或多个数据包之后)接收设备320可以利用解码器312。解码器312可以被配置为:解码(例如,解压缩)已接收的编码数据308,以生成经重构的帧317(例如,用于显示或回放目的)。另外,接收设备320可以被配置为:(例如,使用反馈生成模块311)基于在接收设备320处所采集的接收状况和错误状态信息生成反馈信息316。例如,可以在接收上下文管理模块315中维护关于编码数据308的接收状况和错误状态信息。
根据各个实施例,接收设备320可以向发送设备310发送反馈信息316,以提高对输入帧307中的一个或多个数据单元进行编码的效率。发送设备310可以被配置为:处理已接收的反馈信息316(例如,使用反馈处理模块305);以及基于从接收机320接收的反馈信息316,对输入帧307中的一个或多个数据单元进行编码。例如,反馈处理模块305可以处理反馈信息316中的接收状况和错误状态信息;以及在发送上下文管理模块306中维护这些信息。在一些实施例中,用于发送反馈信息316的通信信道(也称为反馈信道)可以或可以不与用于发送编码后的数据308的通信信道(也称为数据信道)相同。
在各种实施例中,基于反馈信息的数据/图像编码可以促进接收机处有效、高效和可靠的错误恢复(例如,从数据丢失或解码错误),同时最小化这种错误恢复的性能影响(例如,对延时和/或视频传输的质量的影响)。例如,由与编码数据相关联的头部/尾部提供的额外上下文信息还可以提高系统的整体效率。
处理300(或本文描述的任何其它处理、或其变型和/或组合)的一些或所有方面可以由UAV机载的一个或多个处理器、UAV的负载(例如,成像装置)、和/或远程终端执行。处理300(或本文描述的任何其他处理,或其变型和/或其组合)的一些或全部方面可以在配置有可执行指令的一个或多个计算机/控制系统的控制下执行,并且可以实施为通过硬件或硬件和代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)的组合在一个或多个处理器上共同执行的代码。代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。描述操作的顺序不意图被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实施过程。
如图3中所示,与发送设备310相关联的编码器302可以被配置为:对输入帧307中的一个或多个数据单元进行编码;以及生成被发送至接收没备320的编码数据308。编码数据308可以或可以不以附加的头信息/尾信息包围,所述头信息/尾信息可以用于促进编码数据308的验证和/或解码。在一些实施例中,编码数据308可以至少部分地基于从接收设备320接收的反馈信息316进行编码。
根据各个实施例,接收设备320可以被配置为:生成反馈信息316。反馈信息316可以至少部分地响应于接收编码数据308而生成。例如,已接收编码数据308的接收设备320可以在已接收的数据的验证中检测错误。在这种情况下,可以生成验证错误的指示的反馈信息316。在一些实施例中,验证可以至少部分地基于如本文所述的头部和/或尾部信息。作为另一个示例,接收设备320可能已经接收到编码数据308,并且已经验证其完整性/可靠性,但是由于解码错误不能正确地解码数据。在这些情况下,可以生成指示验证错误和/或解码错误的反馈信息316。在又一个示例中,反馈信息316的生成可以不直接响应于编码数据308的接收,而是可以基于缺少接收数据。例如,可以基于已经接收的包的序列号确定表示帧的至少一部分的包丢失。在一些实施例中,反馈信息316的生成可以由其它事件(例如,硬件/软件故障、定时器经过(例如,自上次生成反馈信息以来已经过的预定时间量)、接收机环境的改变、用户输入等)触发。
在一些实施例中,反馈信息316可以指示在接收设备320处是否已发生错误并且可选地指示错误的类型。另外,反馈信息316可以包括在接收设备320处的上下文信息,例如,上一图像单元(例如,上一帧或上一图像条带)或上一图像单元之前在接收机处被成功地解码的任何图像单元的标识符。发射机可以结合接收状况和错误状态指示符使用这种上下文信息来定制下一图像单元的编码,以提高数据传输的可靠性和效率。例如,当在接收机处存在错误时,上下文信息对于确定发射机处的合适的错误恢复机制会是有用的,以便最小化带宽和/或比特率的改变,同时实质上维持所发送的比特流的质量。
如图3中所示,反馈信息316可以被发送至发送设备310。反馈信息316可以以固定或可变的时间间隔发送。所述间隔可以由发射机和接收机相互商定。可以基于各种因素(例如,信道容量、发射机应用关于错误恢复的快速性的要求、在预定时间段内的错误率(例如,误比特速率或误比特率)、关于先前数据发送的数据等),来动态地确定该间隔。
根据实施例,发送设备310可以被配置为:至少部分地基于从接收设备320接收的反馈信息316,(例如,经由模式选择部301)确定用于编码输入帧307中的数据单元的模式。例如,确定编码模式可以包括:从多个编码模式中选择编码模式。在一些示例中,确定编码模式可以包括:选择和/或组成要用于数据编码的参考数据单元(例如,参考帧)。
在一些示例中,可以基于反馈信息中包括的接收状况和错误状态信息确定编码模式。例如,如果已经出现错误,则可以使用与预先确定的错误恢复机制相关联的编码模式。在一些情况下,还可以使用诸如错误类型和其它信息之类的附加信息来确定编码模式。如果还没有出现错误,则可以使用默认编码模式(例如,帧间帧模式)。另外地或可选择地,可以基于对反馈信息中所包括的数据单元标识符(例如,条带标识符)和当前数据单元的数据单元标识符进行比较来确定模式。比较结果可以用于(例如,基于预先确定的阈值)确定编码模式。
在一些实施例中,可以使用其它因素来确定编码模式,例如发射机和接收机之间的通信信道的特性(例如,容量、噪声,以及错误率)、发射机和/或接收机处的用例或应用特定要求、接收机处的状态、发射机处的状态等。
一旦确定编码模式,输入帧307中的各个数据单元就可以根据对应的编码模式(例如,率控制器304可以用于根据已选择的编码模式来控制码率)被编码。编码数据308可以在一个或多个数据包中被发送至接收设备320。可选地,在一些实施例中,编码数据308可以在被发送至接收设备320之前与附加的元数据信息(例如,头信息和/或尾信息)一起打包。这些元数据信息可以促进在接收设备320处的高效的验证和/或解码。在一些其他实施例中,编码数据308可以不与附加的元数据信息一起打包。如图3中所示,附加的元数据信息309可以使用单独的信道(例如,与用于发送编码数据308的通信信道不同的信道)发送。
根据各个实施例,接收设备320可以被配置为:验证已接收的编码数据。验证314可以基于与编码数据相关联的元数据信息和/或编码数据自身来执行。验证314可以包括检查编码数据的完整性和/或可靠性。在各种实施例中,验证314可以在任何合适的时间点处发生,并且可以对编码数据的至少一部分执行验证。例如,在编码数据被接收机处的解码器解码之前,可以关于编码数据的至少一部分进行验证314。备选地或附加地,可以在解码之后关于解码数据的至少一部分进行验证。
与接收设备320相关联的解码器312可以被配置为:对编码数据308进行解码。解码器312可以根据与编码模式相对应的解码模式来执行解码任务。例如,如果数据单元在帧内模式或单元内模式下被编码,则仅使用在帧内或帧中的数据单元内所包含的信息来解码该数据单元。在一些实施例中,与编码数据308相关联的头信息/尾信息对于解码输入数据帧307中的各个数据单元可能是有用的。例如,头信息/尾信息可以指示与数据单元相关联的编码/解码类型(例如,指示图像条带是I条带还是P条带)。头信息/尾信息还可以指示与编码数据单元相关的参考数据单元的索引,使得解码器可以查找参考数据单元以解码编码数据单元。因此,解码器312可以对编码数据308进行解码,以重构经重构的帧317中的各个数据单元。在一些实施例中,经重构的帧317可以在与接收机204相同或不同的终端上显示或回放。
图4示出根据各个实施例的用于支持数据单元级别的基于反馈的编码的示例性处理400。如图4中所示,在编码侧410的编码器可以编码输入帧403(例如,图像帧)中的各个数据单元。在各个实施例中,编码器可以参考各个参考数据单元中的信息,以编码输入帧403中的不同的数据单元。例如,输入帧403可以包括多个数据单元(例如,图像条带:p20、p21和p22)。输入帧403可以基于参考帧404被编码,参考帧404可以包括多个参考数据单元(例如,参考图像条带:p10、p11和p12)。
根据各个实施例,编码处理400可以在数据单元级别执行(即,相同的数据/图像帧中的不同的数据单元可以使用不同的编码模式被编码)。例如,输入帧中的数据单元可以被配置为:以单元内模式被编码,即,输入帧中的数据单元可以无需使用参考数据单元被编码。在另一方面,相同输入帧中的其他数据单元可以被配置为:以单元间模式进行编码,即,输入帧中的数据单元可以使用一个或多个参考数据单元被编码。例如,当图像帧中的多个数据单元参考先前已编码的不同的图像帧中的参考数据单元时,所述不同的参考数据单元可以被组合为单个参考图像帧,以利用各个现有的编码框架和结构。备选地,图像帧中的每个数据单元可以使用特定的参考数据单元单独进行编码,而无需组成实际的参考数据帧。
如图4中所示,图像条带p20和p22可以分别使用参考图像帧404中的参考图像条带p10和p12,以单元间模式(例如,P条带模式)进行编码。(例如,参考图像条带p10和p12可以从先前已编码的相同的图像帧中选择。备选地,参考图像条带p10和p12可以从先前已编码的不同的图像帧中选择。)在另一方面,图像帧403中的图像条带p21可以被配置为:以I条带模式进行编码,即,图像帧403中的图像条带p21可以无需使用参考图像条带而被编码。(例如,参考图像帧404中的参考图像条带p11可以是具有不重要的值的虚(dummy)条带。)
根据各个实施例,这种参考信息412可以从编码侧410被发送至解码侧420,从而使在解码侧420的解码器可以基于参考信息412解码已接收的编码数据。另外,解码侧420可以生成反馈信息411并将反馈信息411发送至编码侧410。例如,反馈信息411在确定编码模式和选择参考数据单元中可能是有益的。
图5示出根据各个实施例的用于数据编码的示例性处理500。如图5中所示,输入帧501中的数据单元511可以被编码成编码数据504,编码数据504可以包括比特序列。在一些实施例中,对数据单元511进行编码可以包括:压缩、应用加密或以其他方式变换数据帧中的数据。编码数据504可以被打包成一个或多个数据包。每个包505可以包括编码数据504的至少一部分,以及,可选地包括关于编码数据504的元数据508A和元数据508B。在一些实施例中,元数据508A和元数据508B可以包括包505的标识符或序号。包标识符可以被接收机用于检测包的丢失或包的失序。可以通过数据通信信道(其可以与反馈通信信道相同或不同)向接收机发送打包后的数据包505。
在解码侧520,解码器可以被配置为:解开并验证已接收的数据包505。例如,每个数据包505的元数据508A和元数据508B可以被提取并用于验证编码数据504的完整性、检测在传输期间可能已经出现的任何错误、以及检查从编码侧510接收的数据单元511是否可以在解码侧520被重构。另外,解码侧520可以检查从编码侧510接收的帧501(包括数据单元511)是否可以在解码侧520被重构。例如,如果帧501中的数据单元511的多个包之一缺失,则帧502不可以被构造。作为另一示例,可以通过检查与编码数据相关联的检错码来检测错误。在一些实施例中,验证可以在实际解码编码数据之前发生。备选地或附加地,元数据对于在解码过程之后验证解码数据的有效性可以是有用的。
在一些实施例中,元数据可以包括前缀于编码后的数据504之前的头部数据508A和/或附加于编码后的数据504之后的尾数据508B。例如,头508A可以包括:诸如编码数据单元的数据单元标识符、编码数据单元的类型(例如,I条带、P条带、B条带)、(例如,距离当前的数据单元标识符的)参考数据单元偏移、(例如,当编码完成时的)时间戳、帧速率(例如,每秒的帧数)、数据速率或比特率(例如,每秒的兆比特数)、分辨率等之类的字段。尾508B可以包括:诸如编码数据单元的检错码或纠错码、数据单元的长度、尾标识符等之类的字段。检错码或纠错码的示例可以包括重复码、奇偶校验位、校验和、循环冗余校验(CRC)、加密函数等。在一些实施例中,可能只有头508A或只有尾508B是可用的。在一些实施例中,头508A和尾508B可以包括比上文所述的更多或更少的信息。例如,头和/或尾可以包括来自编码数据的发送方的数字签名和/或希望的反馈传输间隔。
在一些实施例中,元数据中所包括的检错码和数据单元长度可以用于检查编码数据的数据完整性(例如,没有数据损坏或数据丢失)。元数据中所包括的数据单元标识符可以用于保证数据单元先前没有被接收机接收过,并且可以用于检测失序的数据单元、和/或“被跳过的”数据单元。数据单元的编码类型可以用于确定是否需要将附加的数据用于数据单元的重构。例如,I条带不需要任何附加的数据来解码该条带,但P条带需要一个或多个参考条带。参考数据单元偏移可以用于标识解码数据单元(例如,P条带)所需的参考数据单元。在确定编码帧是否可以被重构期间,参考数据单元偏移可以用于确定在接收机处是否能够获得参考数据单元和参考数据单元是否已被正确地重构。已接收的数据单元只在如果上述条件均被满足时才可以被重构。
在一些实施例中,接收机可以使用时间戳来计算发射机处的帧的编码与接收机处的帧的接收之间的时间间隔。该时间间隔对于确定通信信道的条件、已接收的数据的有效性、反馈传输间隔等可能是有用的。所述确定可以基于时间间隔和一个或多个预先确定的阈值之间的比较。帧速率和数据速率可以用于确定合适的解码和/或回放策略。在一些实施例中,元数据中所包括的数字签名可以用于认证编码数据来自可信的源。在一些实施例中,接收机可以使用元数据中包括的期望反馈传输间隔来确定合适的反馈传输间隔。
在验证之后,编码数据504可以被解码器解码,该解码器与生成编码数据504的编码器相对应。如图5中所示,解码数据可以用于重构经重构的数据帧502中的数据单元512。在一些实施例中,解码可以包括:解压缩、解密或以其他方式重构帧数据。重构可以包括以预定方式组合解码数据。
在实施例中,元数据可以被提供为由编码器生成的比特流的一部分。例如,除了用于存储编码数据的部分之外,根据某些编码标准的一些编码格式还包括用于存储这种用户定义的元数据的部分。本文描述的元数据可以被存储为比特流的这种用户定义的元数据的一部分。如在别处所描述的,元数据可以在编码数据的解码之前被接收机提取。在后一个实施例中有利地是,所发送的数据可以被标准兼容的解码器(其支持具有这种用户定义的元数据部分的编码格式)处理,而无需比特流之外的元数据的非标准处理。在备选实施例中,本文描述的元数据可以独立于由编码器所生成的比特流(例如,在单独的数据结构中)提供。在又一些其他实施例中,元数据的一部分可以被置于比特流之外,而元数据的其他部分可以被置于比特流之内。
在一些实施例中,比特流之内或比特流之外的元数据的传输是可由用户或系统管理员配置的。在一些示例中,元数据的传输可以基于用于编码/解码所述帧的编解码器的类型来自动地确定。如果编解码器支持用户定义的元数据,则元数据作为比特流的一部分发送。否则,元数据在比特流之外被发送。
各种编码(例如,压缩/解压缩)标准限制了可以用于进行编码/解码的参考数据单元的类型。例如,编码标准可以要求P帧仅可以使用短期参考数据单元进行编码,而不允许长期参考数据单元的使用。本文描述的技术允许使用任意参考数据单元的编码和解码,由此避免对编码标准的支持的需求。因此,来自接收机的反馈信息可以指定用于对数据单元进行编码的期望参考数据单元。并且,来自发射机的元数据可以描述要用于对数据单元进行解码的参考数据单元。
图6示出根据各个实施例的用于利用参考信息的数据编码的示例性处理600。如图6中所示,在编码侧610,输入帧中的一个或多个数据单元602可以被编码,以生成可以包括比特序列的编码数据604。在一些实施例中,对数据帧602中的一个或多个数据单元进行编码可以包括:压缩、应用加密或以其他方式变换输入帧602中的数据。编码数据604可以被打包到一个或多个数据包中。每个包605可以包括编码数据604的至少一部分,以及,可选地包括关于编码数据604的元数据608A和元数据608B。在一些实施例中,元数据608A和元数据608B也包括包的标识符或序号。接收机可以使用包标识符来检测包的丢失或失序。经打包的数据包605可以通过数据通信信道(其可以与反馈通信信道相同或不同)向接收机发送。
根据各个实施例,数据帧601中的数据单元的编码可以依赖于参考数据单元。例如,图像帧602中的图像条带p21的编码可以依赖于图像帧601中的参考图像条带p11。可以紧接在图像帧602之前对图像帧601进行编码。备选地,在图像帧601和图像帧602之间可以存在预先确定的偏移。因此,在解码侧620,图像帧612中的图像条带p21可以基于图像帧611中的对应的参考图像条带p11被重构。
图7示出根据各个实施例的用于组成参考帧的示例性处理700。如图7中所示,在编码侧710,该系统可以基于参考帧704来编码输入帧(例如,图像帧703)。
根据各个实施例,编码处理700可以在数据单元基础上执行。如图7中所示,可以基于先前的编码帧来组成参考帧704。例如,可以包括多个数据单元(例如,图像条带:p20、p21和p22)的图像帧703可以基于可以包括多个参考数据单元(例如,图像条带:p20、p21和p22)的参考帧704被编码。在各个实施例中,参考帧704可以是先前的编码数据帧。备选地,可以使用从多个先前的编码数据帧中选择的多个参考数据单元来组成参考帧704。
根据各个实施例,用于组成参考帧704的参考数据单元的选择可以基于从解码侧720接收的反馈信息711来确定。例如,反馈信息711可以指示帧702中的数据单元p11未被正确地接收,并且不可以被用作参考数据单元。那么,编码器可以到达较早数据帧中的数据单元p01,并且组成包括来自帧702的参考单元p10和参考单元p12和来自帧701的参考单元p01的参考帧704。接着,参考信息712可以被发送至解码侧720。因此,解码侧720可以将参考信息用于对编码数据进行解码。
根据各个实施例,数据帧703中的不同的数据单元可以使用不同的编码模式进行编码。例如,数据帧703中的数据单元p21(其可以是图像条带)可以被配置为作为I条带编码,即,数据帧703中的数据单元p21可以无需使用参考数据单元被编码。在一个示例中,所组成的参考帧704中的对应的参考数据单元可以是虚条带(即,填充有替代图像单元p11或p01中的值的不重要的值)。
图8示出根据各个实施例的用于生成反馈信息的示例性处理800。如图8中所示,为了确定数据单元(例如,图像条带)是否被正确地接收且可以被用作参考数据单元,解码侧可以使用以下策略以生成反馈信息。
在步骤801处,解码侧上的接收没备可以确定在数据传输期间是否存在数据丢失。例如,在编码侧,每个数据包可以被分配有(例如,使用连续编号的)包标识符。在各个实施例中,当在已接收的包的标识符的列表中检测到间断时,接收设备可以检测到数据丢失。因此,当检测到数据丢失时,解码侧可以确定数据单元未被正确地接收(例如,通过将接收状况和错误状态指示符设置为“错误”)。
否则,在步骤802处,接收设备可以确定已接收的数据中是否存在错误。在各个实施例中,接收设备可以将与编码数据相关联的元数据用于确定已接收的数据中是否存在错误。例如,数据包的头部分或尾部分中所存储的元数据可以用于验证已接收的数据包中的数据完整性。因此,当检测到数据错误时,解码侧可以确定数据单元未被正确地接收(例如,通过将接收状况和错误状态指示符设置为“错误”)。
而且,在步骤803处,当没有检测到数据丢失或数据错误时,接收设备可以检查数据单元的解码是否依靠其他数据单元。例如,当数据单元是单元内单元(intra-unit)时(例如,当图像条带是I条带时),接收设备可以确定数据单元已经被正确地接收并且可以被用作参考数据单元(例如,通过将接收状况和错误状态指示符设置为“正常”)。
在另一方面,例如,当数据单元的解码依赖于对其他数据单元(例如,另一数据帧中的数据单元)的参考时,数据单元的解码可以依靠其他数据单元。在步骤804处,解码侧可以确定所参考的数据单元中是否存在错误(例如,使用相同或类似的策略)。例如,当接收侧检测到包含所参考的数据单元的数据包缺失时,即使当前数据单元可以被正确地接收时,接收侧也可以确定错误与当前数据单元相关联。因此,该系统可以将接收状况和错误状态指示符设置为“错误”。否则,解码侧可以例如通过将接收状况和错误状态指示符设置为“正常”,确定数据单元被正确地接收。
图9示出根据各个实施例的用于维护和同步参考管理信息的示例性处理900。如图9中所示,发送设备901可以被配置为:对输入帧911进行编码;以及向接收设备902发送编码数据,接收设备902可以生成经重构的帧912。接收设备902可以从发送设备901接收包含编码数据的数据包910。基于接收状况和错误状态信息,接收设备902可以生成参考管理信息921。在各个实施例中,参考管理信息921可以包括标识符(例如,被正确地接收的数据单元的序号)。例如,数据单元可以是图像条带,图像条带中的每个图像条带在编码侧可以被分配有唯一的序号。在各个实施例中,可以使用数据结构(例如,列表)维护被正确地接收的数据单元的标识符。例如,可以在参考条带管理列表中维护被正确地接收的图像条带的序号。
根据各个实施例,接收设备902可以生成反馈信息920并将其发送至编码侧(例如,发送设备901)。反馈信息920可以包括各种参考管理信息921(例如,被正确地接收的所有图像条带的序号)。
根据各个实施例,发送设备901可以从已接收的反馈信息920提取并维护参考管理信息922。在各个实施例中,发送设备901和接收设备902可以以动态方式同步参考管理信息921和参考管理信息922。例如,当接收设备902确定数据单元已经被正确地接收(和重构)时,接收设备902可以将参考管理信息921更新为包括该数据单元的标识符。而且,对参考管理信息921的更新可以被包括在反馈信息920中,反馈信息920被发送至发送设备并可以被提取和用于更新参考管理信息922。
根据各个实施例,发送设备901可以基于已接收的反馈信息920组成参考帧。例如,发送设备901可以被配置为:选择已经被正确地接收(和重构)的数据单元,以组成参考帧。在另一个示例中,发送设备901可以被配置为:选择不被认为错误地接收的任何数据单元。例如,可以在从接收设备902接收参考管理信息922的更新之前,选择来自最近的数据帧的数据单元来组成参考帧。在假设数据单元实际可能未被正确地接收(或重构)的风险的同时获得效率上,第二种方法可能是有利的,在这种情况下,发送设备可能需要制定错误恢复机制,该错误恢复机制可以涉及基于参考管理信息922来选择旧的数据单元。
图10示出根据各个实施例的用于支持视频编码的流程图。如图10中所示,在步骤1001处,视频编码器可以从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息。在步骤1002处,该系统可以基于已接收的反馈信息,确定针对视频流中的图像帧中的第一数据单元的第一参考数据单元。随后,在步骤1003处,该系统可以基于所述第一参考数据单元对图像帧中的第一数据单元进行编码。
图11示出根据各个实施例的用于支持视频解码的流程图。如图11中所示,在步骤1101处,视频解码器可以解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据。在步骤1102处,该系统可以至少基于所述一个或多个数据包中包含的参考信息,确定图像帧中的第一数据单元是否被正确地接收。随后,在步骤1103处,该系统可以向编码器提供反馈信息,其中,所述反馈信息指示图像帧中的所述第一数据单元是否被正确地接收。
本发明的许多特征可以以硬件、软件、固件或其组合的形式执行,或者使用硬件、软件、固件或其组合执行,或者借助于硬件、软件、固件或其组合执行。因此,可以使用处理系统(例如,包括一个或多个处理器)来实现本发明的特征。示例性处理器可以包括但不限于:一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、图形处理单元、物理处理单元、数字信号处理单元、协处理器、网络处理单元、音频处理单元、加密处理单元等。
本发明的特征可以以计算机程序产品的形式、或者使用计算机程序产品、或者借助于计算机程序产品执行,计算机程序产品例如是具有存储在其上/内的指令的存储介质(媒介)或计算机可读介质(媒介),这些指令可用于对处理系统进行编程以执行本文陈述的任何特征。-存储介质可以包括但不限于:任何类型的盘,包括:软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统(包括分子存储器IC)或者适于存储指令和/或数据的任何类型的介质或设备。
存储在任何一个机器可读介质(媒介)上的本发明的特征可以并入软件和/或固件中,用来对处理系统的硬件进行控制,并且用来使处理系统能够利用本发明的结果与其他机构进行交互。这样的软件或固件可以包括但不限于应用代码、装置驱动器、操作系统和执行环境/容器。
本发明的特征还可以使用例如诸如专用集成电路(ASIC)和现场可编程门阵列(FPGA)设备的硬件组件以硬件实现。实现硬件状态机以执行在此描述的功能对于相关领域的技术人员将是显而易见的。
此外,可以使用包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质在内的一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器,来方便地实现本公开的实施例。编程技术人员可以根据本公开的教导容易地准备适当的软件编码,这对软件领域的技术人员将是显而易见的。
虽然上文已经描述了本发明的各个实施例,但应该理解,它们已经以示例而非限制的方式提出。对于相关领域的技术人员明显的是,在不脱离本发明的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。
上文已经借助于功能构建框描述了本发明,所述功能构建框说明指定功能的执行及其关系。为了描述的方便,这些功能构建框的边界在本文中经常被任意定义。只要适当地执行指定的功能和关系,就可以定义替代边界。因此,任何这种替代边界都在本发明的范围和精神之内。
因此任何这样的替代边界都在本发明的范围和精神之内。因此任何这样的替代边界都在本发明的范围和精神之内。本发明的宽度和范围不应该由上述示例性实施例中的任何一个所限制。本发明的宽度和范围不应该由上述示例性实施例中的任何一个所限制。所述修改和变化包括所公开的特征的任何相关的组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各个实施例以及适合于预期的特定用途的各种修改。本发明的范围旨在由下文的权利要求及其等同项定义。

Claims (40)

1.一种用于视频编码的方法,包括:
从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息;
基于已接收的反馈信息,确定针对所述视频流中的图像帧中的第一数据单元的第一参考数据单元;以及
基于所述第一参考数据单元对所述图像帧中的所述第一数据单元进行编码。
2.根据权利要求1所述的方法,其中,所述反馈信息指示所述一个或多个先前图像帧中的所述一个或多个数据单元是否被接收机正确地接收。
3.根据权利要求1所述的方法,还包括:基于已接收的反馈信息,确定针对所述图像帧中的第二数据单元的第二参考数据单元。
4.根据权利要求3所述的方法,其中,所述第一参考数据单元是从所述视频流中的第一先前图像帧中选择的,且所述第二参考数据单元是从所述视频流中的第二先前图像帧中选择的。
5.根据权利要求4所述的方法,其中,反馈信息指示与所述图像帧中的所述第二数据单元相对应的所述第一先前图像帧中的至少一个数据单元未被正确地接收。
6.根据权利要求4所述的方法,其中,所述第一参考数据单元和所述第二参考数据单元用于组成参考帧,所述参考帧用于对包括所述第一数据单元和所述第二数据单元的图像帧进行编码。
7.根据权利要求3所述的方法,其中,所述图像帧中的至少一个数据单元在没有参考数据单元的情况下被编码。
8.根据权利要求1所述的方法,还包括:将针对所述图像帧中的所述第一数据单元的编码数据打包成一个或多个数据包。
9.根据权利要求8所述的方法,其中,每个所述数据包被分配有标识符,所述标识符由所述接收设备用于生成所述反馈信息。
10.根据权利要求1所述的方法,其中,所述图像帧中的所述第一数据单元是图像条带,且所述第一参考数据单元是所述视频流中的所述先前图像帧中的参考图像条带。
11.一种视频编码系统,包括:
存储器,存储一个或多个计算机可执行指令;以及
一个或多个处理器,被配置为访问所述存储器并执行所述计算机可执行指令以执行包括以下操作的步骤:
从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息;
基于已接收的反馈信息,确定针对所述视频流中的图像帧中的第一数据单元的第一参考数据单元;以及
基于所述第一参考数据单元对所述图像帧中的所述第一数据单元进行编码。
12.根据权利要求11所述的系统,其中,所述反馈信息指示所述一个或多个先前图像帧中的所述一个或多个数据单元是否被接收机正确地接收。
13.根据权利要求11所述的系统,其中,所述步骤还包括:基于已接收的反馈信息,确定针对所述图像帧中的第二数据单元的第二参考数据单元。
14.根据权利要求13所述的系统,其中,所述第一参考数据单元是从所述视频流中的第一先前图像帧中选择的,且所述第二参考数据单元是从所述视频流中的第二先前图像帧中选择的。
15.根据权利要求14所述的系统,其中,反馈信息指示与所述图像帧中的所述第二数据单元相对应的所述第一先前图像帧中的至少一个数据单元未被正确地接收。
16.根据权利要求14所述的系统,其中,所述第一参考数据单元和所述第二参考数据单元用于组成参考帧,所述参考帧用于对包括所述第一数据单元和所述第二数据单元的图像帧进行编码。
17.根据权利要求13所述的系统,其中,所述图像帧中的至少一个数据单元在没有参考数据单元的情况下被编码。
18.根据权利要求11所述的系统,其中,所述步骤还包括:将针对所述图像帧中的所述第一数据单元的编码数据打包成一个或多个数据包。
19.根据权利要求18所述的系统,其中,每个所述数据包被分配有标识符,所述标识符由所述接收设备用于生成所述反馈信息。
20.一个或多个非暂时性计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令在由计算系统执行时将所述计算系统配置为执行包括以下的操作:
从与解码器相关联的接收设备接收与接收针对在视频流中的一个或多个先前图像帧中的一个或多个数据单元的编码数据有关的反馈信息;
基于已接收的反馈信息,确定针对所述视频流中的图像帧中的第一数据单元的第一参考数据单元;以及
基于所述第一参考数据单元对所述图像帧中的所述第一数据单元进行编码。
21.一种用于视频解码的方法,包括:
解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据;
至少基于所述一个或多个数据包中包含的参考信息,确定所述图像帧中的所述第一数据单元是否被正确地接收;以及
向所述编码器提供反馈信息,其中,所述反馈信息指示所述图像帧中的所述第一数据单元是否被正确地接收。
22.根据权利要求21所述的方法,其中,所述图像帧中的所述第一数据单元是图像条带。
23.根据权利要求21所述的方法,还包括:使用所述参考信息来确定第一参考数据单元。
24.根据权利要求23所述的方法,还包括:使用所述第一参考数据单元来重构所述图像帧中的所述第一数据单元。
25.根据权利要求23所述的方法,还包括:确定所述第一参考数据单元是否被正确地接收。
26.根据权利要求25所述的方法,其中,当对应的数据包丢失或所述对应的数据包中的数据不正确时,所述第一参考数据单元被确定为未被正确地接收。
27.根据权利要求25所述的方法,其中,当所述第一参考数据单元被正确地接收时,所述反馈信息指示所述第一数据单元未被正确地接收。
28.根据权利要求23所述的方法,还包括:基于参考帧来重构所述图像帧,其中,所述参考帧包括至少部分地基于所述参考信息确定的多个参考数据单元。
29.根据权利要求28所述的方法,其中,所述多个参考数据单元包括所述第一参考数据单元和用于重构所述图像帧中的第二数据单元的第二参考数据单元。
30.根据权利要求27所述的方法,其中,所述图像帧中的至少一个数据单元在没有参考数据单元的情况下被重构。
31.一种视频解码系统,包括:
存储器,存储一个或多个计算机可执行指令;以及
一个或多个处理器,被配置为访问所述存储器并执行所述计算机可执行指令以执行包括以下操作的步骤:
解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据;
至少基于所述一个或多个数据包中包含的参考信息,确定所述图像帧中的所述第一数据单元是否被正确地接收;以及
向所述编码器提供反馈信息,其中,所述反馈信息指示所述图像帧中的所述第一数据单元是否被正确地接收。
32.根据权利要求31所述的系统,还包括:使用所述参考信息来确定第一参考数据单元。
33.根据权利要求32所述的系统,还包括:使用所述第一参考数据单元来重构所述图像帧中的所述第一数据单元。
34.根据权利要求32所述的系统,还包括:确定所述第一参考数据单元是否被正确地接收。
35.根据权利要求34所述的系统,其中,当对应的数据包丢失或所述对应的数据包中的数据不正确时,所述第一参考数据单元被确定为未被正确地接收。
36.根据权利要求34所述的系统,其中,当所述第一参考数据单元被正确地接收时,所述反馈信息指示所述第一数据单元未被正确地接收。
37.根据权利要求32所述的系统,还包括:基于参考帧来重构所述图像帧,其中,所述参考帧包括至少部分地基于所述参考信息确定的多个参考数据单元。
38.根据权利要求37所述的系统,其中,所述多个参考数据单元包括所述第一参考数据单元和用于重构所述图像帧中的第二数据单元的第二参考数据单元。
39.根据权利要求38所述的系统,其中,所述图像帧中的至少一个数据单元在没有参考数据单元的情况下被重构。
40.一个或多个非暂时性计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令在由计算系统执行时将所述计算系统配置为执行包括以下的操作:
解开从与编码器相关联的发送设备接收的一个或多个数据包,其中,所述一个或多个数据包包含针对视频流中的图像帧中的第一数据单元的编码数据;
至少基于所述一个或多个数据包中包含的参考信息,确定所述图像帧中的所述第一数据单元是否被正确地接收;以及
向所述编码器提供反馈信息,其中,所述反馈信息指示所述图像帧中的所述第一数据单元是否被正确地接收。
CN201880064609.1A 2018-03-09 2018-03-09 用于支持基于快速反馈的视频编码的系统和方法 Pending CN111183648A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/078637 WO2019169640A1 (en) 2018-03-09 2018-03-09 System and method for supporting video coding based on fast feedback

Publications (1)

Publication Number Publication Date
CN111183648A true CN111183648A (zh) 2020-05-19

Family

ID=67846828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880064609.1A Pending CN111183648A (zh) 2018-03-09 2018-03-09 用于支持基于快速反馈的视频编码的系统和方法

Country Status (3)

Country Link
US (1) US20200413074A1 (zh)
CN (1) CN111183648A (zh)
WO (1) WO2019169640A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023242587A1 (en) * 2022-06-16 2023-12-21 Mbda Uk Limited Method for image encoding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193312A (zh) * 2006-11-22 2008-06-04 中兴通讯股份有限公司 基于反馈的自适应错误恢复装置、视频通信系统和方法
CN101272494A (zh) * 2008-01-25 2008-09-24 浙江大学 利用合成参考帧的视频编解码方法及装置
US20110249729A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Error resilient hierarchical long term reference frames
CN102946533A (zh) * 2011-09-02 2013-02-27 斯凯普公司 视频编码
CN103430538A (zh) * 2011-02-24 2013-12-04 斯凯普公司 用于视频编码的基于反馈的参考帧选择
WO2017066235A1 (en) * 2015-10-15 2017-04-20 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3550838B1 (en) * 2013-03-25 2020-10-28 BlackBerry Limited Resilient signal encoding
WO2018120198A1 (zh) * 2016-12-30 2018-07-05 深圳市大疆创新科技有限公司 图像处理方法、装置、无人飞行器和接收端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193312A (zh) * 2006-11-22 2008-06-04 中兴通讯股份有限公司 基于反馈的自适应错误恢复装置、视频通信系统和方法
CN101272494A (zh) * 2008-01-25 2008-09-24 浙江大学 利用合成参考帧的视频编解码方法及装置
US20110249729A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Error resilient hierarchical long term reference frames
CN103430538A (zh) * 2011-02-24 2013-12-04 斯凯普公司 用于视频编码的基于反馈的参考帧选择
CN102946533A (zh) * 2011-09-02 2013-02-27 斯凯普公司 视频编码
WO2017066235A1 (en) * 2015-10-15 2017-04-20 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding

Also Published As

Publication number Publication date
WO2019169640A1 (en) 2019-09-12
US20200413074A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US20210160480A1 (en) System and methods for feedback-based data transmission
CN110225338B (zh) 图像处理方法、装置、无人飞行器和接收端
US20190324449A1 (en) System and method for supporting synchronization in a movable platform
US20190320184A1 (en) Image processing method and device
WO2017044795A1 (en) Playing spherical video on a limited bandwidth connection
US20200413074A1 (en) System and method for supporting video coding based on fast feedback
US20220004188A1 (en) Virtual Vehicle Control System
US10554953B2 (en) Distortion of video for seek in 360 degree video
JP6851278B2 (ja) ユーザ状態及び複雑度によってビットレートを決定するコンテンツ配信装置、システム、プログラム及び方法
KR20210042967A (ko) 패킹 전략 시그널링
KR20210141295A (ko) 엣지 컴퓨팅 서비스를 이용한 영상 컨텐츠 전송 방법 및 장치
US20200112653A1 (en) Systems and methods for synchronizing frame timing between physical layer frame and video frame
WO2022140971A1 (zh) 图像传输方法、装置、平台、设备及计算机可读存储介质
US11138052B2 (en) System and method for supporting data communication in a movable platform
EP4142292A1 (en) Image content transmitting method and device using edge computing service
WO2022141121A1 (zh) 图像传输方法、可移动平台、遥控装置、系统及存储介质
US20230076650A1 (en) Image content transmission method and apparatus using edge computing service
Ray et al. Prism: Handling Packet Loss for Ultra-low Latency Video
EP4138395A1 (en) Image content transmission method and apparatus using edge computing service
US20210266609A1 (en) Method and apparatus for transmitting video content using edge computing service
US9894276B2 (en) System and method for supporting three-dimensional display in first person view (FPV)
WO2022091213A1 (ja) 動画像通信のためのシステム、受信装置、送信装置、方法、プログラム、及びプログラムを記録した記録媒体
JP2016134673A (ja) 送信装置、送信方法、及びプログラム

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200519

WD01 Invention patent application deemed withdrawn after publication