CN103430538A - 用于视频编码的基于反馈的参考帧选择 - Google Patents

用于视频编码的基于反馈的参考帧选择 Download PDF

Info

Publication number
CN103430538A
CN103430538A CN2012800101904A CN201280010190A CN103430538A CN 103430538 A CN103430538 A CN 103430538A CN 2012800101904 A CN2012800101904 A CN 2012800101904A CN 201280010190 A CN201280010190 A CN 201280010190A CN 103430538 A CN103430538 A CN 103430538A
Authority
CN
China
Prior art keywords
encoder
vision signal
frame
controll block
call number
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
CN2012800101904A
Other languages
English (en)
Inventor
D.赵
S.萨布林
A.杰弗里莫夫
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.)
Skype Ltd Ireland
Original Assignee
Skype Ltd Ireland
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 Skype Ltd Ireland filed Critical Skype Ltd Ireland
Publication of CN103430538A publication Critical patent/CN103430538A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

用于视频编码的基于反馈的参考帧选择
技术领域
本发明涉及通过网络传输视频信号。具体而言,本发明涉及通过网络传输视频信号的编码部分。
背景技术
为了通过网络传输视频信号,可以在离散部分中对视频信号进行编码。视频信号的每个部分可以是视频信号的帧。可替换地,视频信号的每个部分可以是视频信号的帧内像素的宏块(例如16x16像素块)或者视频信号的帧的“切片(slice)”。切片是视频信号的帧的可以被独立地编码和解码的段(section)。视频信号的编码部分可以通过网络被传输到接收器并且在接收器处被解码以便恢复原始视频信号(或者至少是原始视频信号的近似)。
在其中视频信号的要被编码的部分是视频信号的帧的系统中,可以使用两种类型的视频帧编码视频信号:内帧(也称为关键帧)和间帧。仅使用当前视频帧(使用帧内预测)以与图像编码中所使用的方式相似的方式压缩(即编码)关键帧。与此对照,使用在视频信号的间帧之前(或之后)的至少一个解码的帧的知识来压缩(即编码)间帧,因而允许视频信号的更高效的压缩,特别是当该帧中的情形与至少一个前(或后)帧中的情形类似时。为了解码器使用间帧正确地解码图像,解码器必须已经接收到间帧所依赖的所有帧。如果那些帧中的任意一个在解码器处未被接收到,那么当前的间帧的解码将导致错误。
同样,关键帧的频繁传输在视频流中是常见的,从而解码器可以在发生分组丢失时恢复丢失的信息。在一些可替换系统中,接收器可以在检测到分组丢失的情况下从发送器请求关键帧。
关键帧相对于间帧是大的(因此需要大量带宽用于传输),因而关键帧可能导致质量差的帧。为了解决必须定期传输关键帧的问题,也已知的是视频信号的一些帧(例如参考帧)在解码器处和编码器处被存储以便减少发送的关键字的数量。在此情况下,恢复帧可以从编码器传输到解码器。使用比紧接恢复帧之前的帧更早发送的存储的参考帧来编码恢复帧。由于参考帧存储在编码器和解码器两处,因而如果解码器请求恢复帧,则存储的参考帧在编码器处被用来生成恢复帧。解码器然后可以使用存储在解码器处的参考帧正确地解码恢复帧。
然而,仍然存在的一个问题是,如果最新的参考帧在编码器与解码器之间的传输中丢失,那么解码器将不能够正确地解码恢复帧。
存在视频压缩技术(比如VP7和VP8),其中网络跟踪解码器的状态并且做出关于如何基于从接收器接收的与帧的传输的成功相关的反馈最好地编码帧的“恢复”决定。图1示出用于根据VP7或VP8实现视频压缩的系统100的示意图。系统100包括编码器102和远程接口110。编码器102包括编码块104、解码块106和缓冲器108。编码器102的编码块104被布置成接收输入视频信号的帧。编码块104编码视频帧以生成编码的视频帧,其从编码器102输出以传输到接收器。编码的视频帧也被输入到解码块106,在该解码块中它们被解码并且然后被存储在缓冲器108中。存储在缓冲器108中的视频帧可以被传递到编码块104以用于编码视频信号的后续帧(例如用于编码视频信号的间帧)。接口110包括块112,其用于接收来自网络的反馈且用于确定传输到接收器的哪些帧在接收器的解码器处已被正确地接收到。接口110也包括块114,其接收来自块112的关于在接收器的解码器处正确接收到了哪些帧的确定并且使用该信息确定已在解码器处被正确地接收且可以因此被解码块104用于编码视频信号的后续帧的帧。
远程接口110可以向编码器102发送指令以命令解码器102在缓冲器108中特定位置(例如在缓冲器108中的位置1)存储下一个帧。于是,该帧可以稍后用于编码视频信号的后续帧。如果远程接口110确定了存储在缓冲器108中特定位置的帧已在接收器的解码器处被正确地接收,则块114向编码器102发送命令以指示可以依靠存储在缓冲器108中特定位置的帧来编码视频信号的后续帧。从接口110发送至编码器102的命令指示帧的参考帧缓冲器108中的特定位置。编码器102然后在来自缓冲器的特定位置处获得帧以用于生成后续帧,因为编码器102可以确信缓冲器108的特定位置处的帧在解码器处被正确地接收。
然而,VP7和VP8的系统100存在问题。例如,编码器102的参考帧缓冲器108的尺寸被限于仅(例如在特定位置)存储前一帧和又两帧。这大大限制了可以用于生成视频信号的后续帧的可能的帧的数量。而且,由于接口110远离编码器102,因而在从接口110发送命令与在编码器102处接收命令之间可能存在延迟,这可能不利地影响编码器102执行的编码的质量。
发明内容
根据本发明的第一方面,提供一种通过网络传输视频信号的方法,该方法包括:利用编码器编码视频信号的部分,以及通过网络将编码的部分传输到解码器;编码器向传输的视频信号部分分配索引号,每个索引号标识视频信号的相应部分;将视频信号的部分中的至少一些存储在与编码器关联的缓冲器中;在远离编码器的控制块处接收来自网络的反馈,该反馈指示每一个传输部分是否已被正确地接收;基于该反馈,控制块确定缓冲器中存储的视频信号的部分的子集,该子集要被编码器用于编码视频信号的后续部分;控制块向编码器传输消息,所述消息使用分配给部分的子集中的部分的索引号来标识视频信号的部分的所述子集;响应于接收到来自控制块的消息,编码器使用消息中的索引号来标识并获得来自缓冲器的部分的子集中的至少一个部分,其中编码器使用获得的所述至少一个部分来编码视频信号的后续部分。
视频信号的部分可以是例如视频信号的帧、宏块或切片。有利地,由于索引号被分配给视频信号的部分(而不是分配给缓冲器中的位置),索引号标识视频信号的特定部分(例如特定帧)。这意味着存储在缓冲器中的视频信号的部分可以使用它们的相应索引号来标识,即使这些部分随后从它们在缓冲器中的原始位置被移出。这是特别有用的,因为控制块远离编码器并且因而在从控制块传输消息与编码器接收消息之间可能存在延迟。通过使用标识视频信号的部分(例如帧)而不是标识缓冲器中的位置的索引号,控制块可以可靠地标识要被编码器用于编码视频信号的后续部分的部分的子集。因此,在优选实施例中,索引号允许编码器唯一地确定哪个帧由特定的索引号标识。
优选地,在等于编码器与解码器之间的平均往返时间的时间间隔内分配给所述部分的索引号是唯一的。
帧可以在编码器处被标识为针对未来参考而保存的帧,使得在没有来自编码器的明确动作的情况下该帧将不会从缓冲器中移除。利用H.264编码器,可以通过将该帧标记为“长期参考”帧来实现这一点。利用VP8编码器,可以通过将该帧标记为“金”帧或“可替换”帧来实现这一点。其他类型的编码器可以以不同的方式实现这一点。
根据本发明的第二方面,提供一种用于通过网络传输视频信号的系统,该系统包括:(i)编码器,其被配置成:编码视频信号的部分,并且通过网络将编码的部分传输到解码器;向传输的视频信号的部分分配索引号,每个索引号标识视频信号的相应部分;以及将视频信号的所述部分中至少一些存储在与编码器关联的缓冲器中;以及(ii)控制块,其远离编码器并且被配置成:接收来自网络的反馈,该反馈指示所述传输的部分中的每一个部分是否已被正确地接收;基于该反馈确定存储在缓冲器中的视频信号的部分的子集,所述子集要被编码器用于编码视频信号的后续部分;以及向编码器传输消息,所述消息使用分配给部分的所述子集中的部分的索引号来标识视频信号的部分的所述子集,其中编码器被配置成响应于接收到来自控制块的消息而使用消息中的索引号标识并获得来自缓冲器的部分的所述子集中的至少一个部分,并且使用获得的所述至少一个部分来编码视频信号的后续部分。
在编码器与控制块之间可以存在用于将消息从控制块传输至编码器的网络连接或USB连接。编码器可以是H.264编码器。
根据本发明的第三方面,提供一种控制由编码器编码并通过网络传输到解码器的视频信号的部分的传输的方法,其中编码器将索引号分配给视频信号的被传输的部分并将视频信号的部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,该方法包括:在远离编码器的控制块处接收来自网络的反馈:该反馈指示所述传输的部分中的每一个部分是否被正确地接收;基于该反馈控制块确定存储在缓冲器中的视频信号的部分的子集,所述子集要被编码器用于编码视频信号的后续部分;以及控制块向编码器传输消息,所述消息使用分配给部分的所述子集中的部分的索引号来标识视频信号的部分的子集,使得编码器可以使用消息中的索引号来标识用于编码视频信号的后续部分的部分的所述子集中的至少一个部分。
根据本发明的第四方面,提供一种计算机程序产品,其包括由在用于控制视频信号的部分的传输的控制块处的计算机处理装置执行的计算机可读指令,所述指令包括用于执行根据本发明的第三方面的方法的指令。
根据本发明的第五方面,提供一种用于控制由编码器编码并通过网络传输到解码器的视频信号的部分的传输的控制块,其中编码器将索引号分配给视频信号的被传输的部分并将视频信号的部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,其中控制块远离编码器并且控制块包括:用于接收来自网络的反馈的接收装置,该反馈指示所述传输的部分中的每一个部分是否被正确地接收;用于基于该反馈确定存储在缓冲器中的、要被编码器用于编码视频信号的后续部分的、视频信号的部分的子集的确定装置;以及用于向编码器传输消息的传输装置,所述消息使用分配给部分的所述子集中的部分的索引号标识视频信号的部分的子集,使得编码器可以使用消息中的索引号标识用于编码视频信号的后续部分的、部分的所述子集中的至少一个部分。
附图说明
为了更好地理解本发明并示出本发明如何可以付诸实施,现在将通过示例参考附图,在附图中:
图1示出用于实现视频压缩的现有技术的系统的示意图;
图2示出根据优选实施例的用于通过网络传输视频信号的系统;
图3示出视频信号中视频帧的第一序列;
图4示出视频信号中视频帧的第二序列;
图5是表示使用不同类型的编码技术编码视频帧所需的数据量的图表;
图6示出在不采用恢复帧的系统中在针对帧间编码序列的分组丢失的情况下错误如何随时间传播的表示;
图7示出在采用恢复帧的系统中在针对帧间编码序列的分组丢失的情况下错误如何随时间传播的表示;以及
图8是根据优选实施例的通过网络传输视频信号的过程的流程图。
具体实施方式
现在将仅通过示例描述本发明的优选实施例。
参考图2,描述了根据优选实施例的用于通过网络传输视频信号的系统200。该系统被用来通过网络流传送视频信号。系统200包括编码器202和远程接口(或“控制块”)210。编码器是H.264编码器。在可替换实施例中,编码器可以是可涉及用于编码视频信号的当前帧的视频信号的先前帧的任何其他类型的视频编码器(比如VP7或VP8编码器)。编码器202包括编码块204、解码块206和参考帧缓冲器208。编码器202的编码块204被布置成接收输入视频信号的帧。编码块204被布置成编码视频帧以生成编码的视频帧和边信息,其从编码器202输出以从编码器202传输。编码的视频帧可以通过网络传输到接收器,并且也可以被传输到控制块210。边信息可以(或可以不)通过网络与编码的视频帧一起被传输到接收器并且/或者可以(或可以不)被传输到网络和/或传输到控制块210。编码块204被布置成将编码的视频帧和边信息输入到解码块206。解码块206的输出耦合到参考帧缓冲器208。解码块206被布置成解码从编码块204输出的帧并且将解码的帧传递到参考帧缓冲器208。参考帧缓冲器208被布置成存储解码的帧的至少一些。参考帧缓冲器208被布置成将存储在其中的视频帧传递到编码块204以用于编码视频信号的后续帧(例如用于编码视频信号的间帧)。控制块210包括接收块212,其被布置成接收来自网络的反馈并且确定传送至接收器的帧中的哪些在接收器的解码器处被正确地接收到。控制块210还包括监视块213,其用于接收从编码器202传输的帧和边信息。控制块210还包括决定块214,其接收:(i)来自接收块212的关于所述帧中的哪些在接收器的解码器处被正确地接收到的确定,以及(ii)来自监视块213的输出信号,并且使用该信息确定已经在解码器处被正确地接收到且因此可以被编码块204用于编码视频信号的后续帧的至少一个参考帧。
控制块210远离编码器202。换言之,编码器202与控制块210之间的连接使用外部接口,比如(i)通过诸如因特网之类的网络通信的接口(其中控制块210在不同的网络节点上实现,对于该网络节点,编码器实现在其中)或(ii)主机设备与连接到主机设备的外围设备之间的接口(例如,其中编码器实现在相机中并且控制块实现在用户终端中,控制块210与编码器202之间的连接可以是USB连接)。换言之,控制块210在以下意义上远离编码器202:控制块210在编码器码的外部。而且,控制块210可以在单个节点处或在多个节点上实现。例如,接收块212、监视块213和决定块214可以在不同的网络节点处实现。接收块212、监视块213和决定块214可以使用不同的CPU。尽管监视块213被示出为接收边信息和编码的帧二者,但是在其他实施例中,监视块可以接收来自编码器202的边信息和编码的帧之一或一个都不接收。
决定块214被布置成向编码器202发送命令以指示存储在参考帧缓冲器208中的参考帧中的一个或多个已在接收器处被正确地解码并且可以依靠所述参考帧编码视频信号的后续帧。
如上文所描述,一些视频帧可被编码为间帧,这意味着它们被编码为当前帧与先前帧中的一个(或多个)之间的差异。其他视频帧(也称为内帧或关键帧)可以在不参考视频信号的任何其他帧的情况下被编码。图3示出其中阴影帧302是内帧且无阴影帧304是间编码帧的视频帧序列。箭头示出每个间帧304的编码如何取决于后退到(back to)最新编码的关键帧302的视频信号的先前帧。
间编码帧的使用允许系统以高效率压缩典型的视频信号。然而,在通过有损链接(或在传输控制协议(TCP)的情况下具有高延迟的链接上)的实时通信中这种编码方法的问题在于,丢失视频信号的帧/部分中的任何一个通常将会造成每个帧的解码过程中的错误,直到下一个关键帧出现在视频流中。
该问题的一种解决方案是使用所谓的“恢复帧”。图4示出与图3所示相似的视频信号中的视频帧序列。帧402是关键帧,帧404是间编码帧,并且帧406是恢复帧。从恢复帧406到第一关键帧402的箭头指示恢复帧406基于来自过去的某帧(在此情况下为第一关键帧402)被编码,而不是基于紧接的先前间帧而被编码。结果,第一关键帧402与恢复帧406之间的任何帧都可能在传输连接上丢失,但是接收的恢复帧406将是可基于第一关键帧402解码的。而且,恢复帧406之后的间帧是可基于正确解码的恢复帧406而解码的。
基于视频流中的先前帧编码的恢复帧通常比关键帧编码更高效。图5示出表示使用上面描述的不同类型的编码技术来编码视频帧所需的典型数据量的曲线图。从图5中可以看出,与恢复帧506相比,关键帧502需要更多的数据,该恢复帧自身与间帧504相比需要更多的数据编码。图5展示出生成关键帧是最昂贵的,接着是恢复帧,并且接着是“正常的”间帧。事实上,一般地,有利的是使用尽可能多的关于先前帧的信息以提高编码效率、错误保护以及减少抖动。尽管图5表示根据所使用的编码技术在帧中典型的数据量(用于典型的视频信号),帧中的数据量也取决于视频信号的内容。例如,对于纯随机视频信号,利用每种编码技术编码的帧的尺寸将是彼此非常相似的。对于纯静态视频信号(即,其中连续帧的整个序列具有相同的图像),恢复帧和间帧可能具有相同的尺寸。
图6示出在不采用恢复帧的系统中在针对间编码帧序列的分组丢失的情况下错误如何随时间传播的表示。图6中所示的所有帧是间帧。图6示出编码器生成间帧602的序列。这些帧通过网络传送至接收器处的解码器。在传输期间,从编码器传输的间帧中的两个丢失或损坏而无法维修。这在图6的线604中示出。图6的线606示出解码器已经接收到从编码器传输的除了丢失的两个之外全部视频帧。图6的线608示出错误通过在解码器处解码的视频信号的间帧序列的传播。第一箭头610指示在前四个解码的帧中不存在(或存在最小的)错误。然而,箭头612指示在从第五帧开始且持续至图6中所示的所有后续帧的解码视频流中存在明显错误。尽管在传输期间仅第五和第六帧丢失,但是第七至第十帧依赖于视频序列的第五和第六帧,以便被正确地解码。错误将在视频信号的每个后续帧中继续传播,直到下一个关键帧从编码器传输。
图7示出在不采用恢复帧的系统中针对间编码帧序列的分组丢失的情况下错误如何随时间传播的表示,所述系统比如图2中所示的优选实施例的系统200。下面参考图8中所示的流程图并且结合图2和图7来描述根据优选实施例的用于通过网络传输视频信号的方法。
在步骤S802中,编码器202的编码块204编码输入视频信号的视频帧。用来编码视频帧的特定方法可以如下面更详细地描述的那样随着帧改变。在步骤S804中,编码块204向视频信号的每一个帧分配索引号。索引号允许视频信号的每一个帧被标识。编码块204也伴随编码的视频帧生成边信息。边信息简化了在通过网络向接收器处的解码器传输视频帧期间视频帧的打包和处理。边信息可以包括或可以不包括分配给视频帧的索引号。边信息可以指示特定帧如何被编码(例如所使用的编码方法)以及视频信号的哪些其他帧被编码器202用来编码当前帧。
编码的视频帧被传递到解码块206,在该解码块中它们被解码。解码块206的输出应当与接收器处的解码器的输出相同,假设所有视频帧通过网络被成功地传送至接收器。通过基于解码块206的输出编码视频信号的后续帧,编码块204可以精确地以这样的方式编码视频信号的帧:使得它们将在接收器处的解码器处被正确地解码(假设没有发生传输错误)。
视频信号中的一些帧被指定为长期参考帧(或未来参考帧,在图7中表示为“FR”)。在步骤S806中,指定的长期参考帧被存储在参考帧缓冲器208中以供稍后用于在编码器202处生成视频信号的后续帧。图7示出视频信号的交替帧被指定为用于在长期参考缓冲器208中存储的长期参考帧(如图7的线704中所指示)。在其他实施例中,视频帧中不同的视频帧可以被指定为长期参考帧。例如,每三个帧中有一个或每四个帧中有一个可以是长期参考帧,并且因此可以被存储在长期参考缓冲器208中以供编码块204后续使用。与编码的帧一起传输的边信息可以指示哪些帧是长期参考帧,从而接收器处的解码器将会知道在解码器处将这些帧存储在长期参考缓冲器中以便随后用于对已经基于长期参考帧而被编码的视频信号的帧的解码中(如下面更详细地描述的那样)。
在步骤S808中,视频信号的编码的帧和可能的边信息通过网络从编码器202传输至接收器处的解码器。边信息可以或可以不被传送至接收器的解码器。对于接收器处的解码过程,边信息可能不是所需要的。边信息允许在网络级上更高效地处理视频流。边信息可以被提供给如图2中所示的控制块210的监视块213。边信息可以包括下面的各条信息中的一个或多个:
(i)分配给当前与边信息一起传输的帧的索引号。作为将该信息包括在边信息中的可替换方案,编码器202和控制块210可以在帧编号策略上达成一致并且它们中的每一个可以根据相同的算法(例如,对每一个帧将索引号增加1,或者可以使用定时器来产生索引号)独立地向所述帧分配索引号。如果帧在编码器202和控制器210之间丢失或延迟,这些方法可能遇到问题,并且编号可能变得不同步。
(ii)关于帧是否保存在参考帧缓冲器208中的指示。优选地,该指示可以指示缓冲器208中所述帧被存储的位置。该信息可能能够从具有编码的帧的切片头部中读取,但是通过将该信息包括在边信息中,简化了控制块210可以通过其确定该信息的过程。
(iii)用来编码当前帧的帧子集。对于控制块210,知道该信息可能是有用的,因为它将给出视频流恢复与否的指示。该信息可以从比特流中读取,但是从比特流中获得该信息可能在计算上是昂贵的。因此,通过将该信息包括在边信息中,可以减少控制块210处所需的计算。
因此,应当领会,边信息的使用具有以下优点:控制块210可以被更简单地实现,因为它不必解析比特流以获得边信息中的信息。控制块210可以独立于编码器而实现。该上下文中的术语“独立的”意指相同的控制块210可以用来控制若干不同的编码器。这在软件开发中可能是有用的,因为它减少了所需要的代码量。假设在编码器实现方式之间就边信息达成一致,用于与不同的编码器一起使用的控制块可能是相同的。如果边信息对于不同编码器而言是不同的,或者如果所述信息从比特流而非从边信息获得,则仅需要以特定于编码器的方式开发监视块213。如果边信息被传送至解码器,则这为解码器提供了知道视频流是否被正确解码的机制。
然而,在图7所示的示例中,视频信号中的两个帧没有通过网络成功地传输至解码器,如线706所示。
接收器处的解码器通过网络发送反馈消息以确认收到视频帧。在步骤S810中,这些反馈消息在控制块210处被接收。控制块210的接收块212根据该反馈确定从编码器202传输的视频帧中的哪些已经在接收器的解码器处被成功地接收。该信息被传递到控制块210的决定块214。在步骤S812中,决定块214确定存储在参考帧缓冲器208中的长期参考帧的、在接收器的解码器处已被正确接收的子集。所存储的长期参考帧的该子集标识那些可以被编码器202有效地用来编码视频信号的后续帧的长期参考帧。
在步骤S814中,从控制块210的决定块214向编码器202传输命令(或“消息”)以指示可以被编码块204用于编码视频信号的后续帧的长期参考帧的子集。该子集可以标识一个或多个长期参考帧。
在步骤S816中,编码器标识在命令中指示的子集中的帧。该命令使用帧的索引号标识子集中的帧。以此方式,帧本身被指示,而不是它们在参考帧缓冲器208中的位置被指示。
在步骤S818中,编码块204依据命令中标识的帧从参考帧缓冲器208获得至少一个适当的长期参考帧,并且然后使用所获得的长期参考帧来编码视频信号的至少一个后续帧。通过基于在命令中标识的长期参考帧来编码视频信号的后续帧,编码器可能一定会使用已经在接收器的解码器处正确接收的先前帧来编码后续帧。
如图7所示,接收器确认前两个参考帧已在接收器的解码器处被正确地接收到。然而,当在通过网络传输期间帧丢失时,那么从解码器到控制块210的反馈指示在解码器处没有正确地接收帧。从编码器202传输帧与在控制块210处接收针对该帧的反馈之间的时间近似等于往返时间(RTT)(在图7中表示为“往返网络延迟”)。RTT典型地长于视频信号的帧的持续时间(当该帧被播放时)。在这种情况下,控制块210不确定在视频信号的下一帧被编码和传输之前帧已经丢失。然而,对于第一帧,在控制块210确定了帧在传输期间已经丢失之后,控制块210确定流恢复帧(在图7中表示为“SR”)要被生成。在这种情况下从控制块210发送至编码器202的命令包括指示所述前两个(正确接收的)长期参考帧的索引号,使得流恢复帧由编码器202的编码块204基于所述前两个长期参考帧来编码。因此,流恢复帧可以在接收器的解码器处被正确地解码(基于前两个正确接收的长期参考帧-其已被存储在接收器中的解码器的缓冲器处)。
图7中的线712示出在解码器处错误通过视频信号的传播。前四个帧被正确地接收并且可以被解码(如箭头714所指示)。接下来的两个帧在解码器处未被接收因而不能被解码。下一帧也不能在解码器处被正确解码,因为它在编码器处基于在传输中丢失的先前帧中至少一个而被编码。箭头716指示错误通过视频信号的这三个帧传播。然而,流恢复帧然后在解码器处被接收,该流恢复帧基于正确接收的长期参考帧而被编码。解码器可以从与解码器关联的缓冲器获得正确接收的长期参考帧并且可以正确地解码该流恢复帧。流恢复帧之后的帧可以被正确解码,因为它们基于正确接收和解码的流参考帧而被编码。箭头718指示很少或没有错误通过视频信号中的流恢复帧之后的帧传播。
如从上面的描述可以看出,长期参考帧(“FR”)是保存在编码器存储器中(例如参考帧缓冲器208中)和保存在解码器存储器中用于未来参考的帧。流恢复帧(“SR”)是可以基于当前网络条件而完美地恢复视频流的帧。
控制块210充当用于编码器202的编码器应用编程接口(API),其向编码器202报告哪些帧可以在出现分组丢失时被可靠地用作参考帧。控制块210(在决定块214中)做出关于哪些长期参考帧应当被用来基于从网络接收的有关视频信号的先前帧的传输成功的反馈来编码后续帧的决定。控制块210然后简单地告知编码器202哪些长期参考帧用于编码视频信号的后续帧。因此,编码器202不需要能够执行这样的决定。这意味着可以简化编码器202。可能有利的是,以简单方式实现编码器202。特别地,控制块210可以用来向任何适当类型的编码器(比如H.264编码器、VP8或VP7编码器)提供命令。如上文所描述的边信息的使用可以简化控制块210的实现,其使得它更少CPU密集型。控制块210维持解码器缓冲器的状态,以便确定如何最好地编码视频信号的后续帧。
在一个实施例中,编码器202在相机中实现,该相机连接到实现控制块210的用户终端。在该实施例中,视频信号的编码帧的传输可以经由实现控制块210的用户终端而从编码器202传送至网络。
在另一个实施例中,编码器202在用户终端处实现并且控制块210在网络中的另一个节点处(例如在网络的服务器节点处或在实现解码器的接收器节点处)实现。通过使控制块210远离编码器202,用于实现编码器202和控制块210的处理资源被有利地相互分离。
而且,由于控制块210做出了关于哪些长期参考帧基于后续帧编码的决定,因而可以简化编码器202的设计和实现。例如,在编码器是H.264编码器的情况下,编码器可能不具有如上所述的恢复帧的概念。然而,根据H.264标准,H.264编码器的确具有在本地存储器参考和存储高达16帧的能力,从而允许控制块210结合如上描述的H.264编码器实现。
上面描述的方法和系统有利地使用标识帧的索引号(而不是如在上面的背景技术部分中描述的VP7或VP8中的缓冲器位置)。这使得系统能够处理异步操作模式,异步操作模式对硬件编码器(例如,其中编码器202处于外围设备中并且控制块210处于用户终端中)和远程系统(例如,其中编码器202和控制块在不同的网络节点处实现,比如服务器控制的远程解码器-例如其中编码器在web浏览器插件中实现-或者接收器控制的编码器,其中控制块在该接收器处实现)而言是典型的。这些被认为是异步操作模式,因为命令从控制块210传送至编码器202所花费的时间比在播放期间视频信号的帧的持续时间长。因此,当该命令由控制块210生成时,控制块210无法知道当该命令在编码器202处被接收时参考帧缓冲器208的内容将是什么。如果使用参考帧缓冲器208中的缓冲器位置而非标识帧本身的索引号,这可能造成问题。
索引号按照绝对数字标识帧。这里的术语“绝对的”意指索引号的模大于RTT/Tf,其中Tf是视频信号的帧在其播放时的持续时间。在这个意义上,对于在编码的帧的传输的往返时间内生成的帧而言,索引号将不会重复。优选地,索引号的模远大于RTT/Tf,以说明网络中的非寻常丢失和延迟。索引号可以仅在编码器202内部使用,并且不必是比特流的部分,从而维持与标准解码器的兼容性。索引号可以随着每一个编码的帧增长。可以要求编码器使用一些敏感的用于帧标识的比特数。例如,编码器可以是H.264编码器并且在H.264中使用的最小比特数是4比特,使得16帧序列具有唯一的索引号,但是之后索引号针对每16帧循环和重复。索引号的这种重复可被称为缠绕(wrapping)。如果8比特用于索引号,则我们可以获得带有唯一索引号的256帧序列。在每秒30帧处,这将表示在索引号开始重复之前8.5秒的时间。8.5秒远大于在大多数通信中的RTT,并且因此使用8比特帧索引号足以处理作为绝对的索引号(即在平均RTT的持续时间内对帧而言是唯一的)。应当确保,索引号的缠绕周期远大于典型的RTT,使得索引号可被认为是绝对的(即在平均RTT内唯一)。在这个意义上,索引号提供了在控制块210中标识帧的唯一方式。索引号可以仅用于控制块210与编码器202之间的通信,使得在编码器202自身内,在控制块210使用本文描述的索引号向编码器202唯一地标识帧之后可以通过一些其他标识方法标识帧。
下面呈现一个示例来强调使用标识特定帧而不是使用缓冲器位置来标识帧的优点。让我们假设编码器202将帧X放在参考帧缓冲器208中的位置N中。由X(而非由Y)寻址帧给出了(计数器X缠绕时间内)帧之间的唯一映射并且因此更鲁棒,特别是在控制块210与编码器202之间传输的消息存在大延迟(在时间上)的情况下或存在从控制块210发送的命令实际上可以以不同顺序在编码器202处被接收的机会(例如当控制块210在网络的服务器上或接收器上实现时)的情况下更是如此。
让我们假设,控制块发布命令0,其命令编码器202使用帧X(其当前存储在参考帧缓冲器208中的位置N处)恢复视频流,并且然后发布命令1,其命令编码器202将当前帧(Y)放在参考帧缓冲器的位置N中。然后,让我们假设命令0在网络中被延迟,使得命令1在编码器处202在命令0之前被接收。在本发明的实施例中,编码器202认识到,当命令0在编码器202处被接收时,在参考帧缓冲器208中不存在帧X,并且然后可以相应地处理这种情形。例如,编码器202可以确定关键帧必须被生成,或者可以确定使用仍存在于参考帧缓冲器208中的帧来编码当前帧的某种其他方式。
然而,如果该相同的情形发生在如下系统中:在该系统中,从控制块发送至编码器的命令标识参考帧缓冲器中的位置而非标识上面所述的优选实施例的帧的绝对索引号,则编码器将试图使用帧Y而非帧X恢复视频流,因为当命令0(其命令编码器使用参考帧缓冲器中位置N处的帧来恢复视频流)在编码器处被接收时,帧Y将处在参考帧缓冲器中的位置N中。这将最有可能导致破碎的视频流,在不求助于生成关键帧的情况下可能难以从该破碎的视频流恢复(如上文关于图5所描述的那样,这在存储和传输帧所需的数据量方面代价高)。
控制块210应当能够确定所传输的视频信号的帧中哪些被存储在编码器202处的参考帧缓冲器208中。为了实现这一点,编码器202可以向控制块210发送消息以告知控制块210哪些帧被存储在参考帧缓冲器208中。可替换地,标记为长期参考帧的所有帧被存储在参考帧缓冲器208中,并且控制块210监视传输的帧和边信息以确定哪些帧是长期参考帧并且因此存储在参考帧缓冲器208中。
在上面的总结中,本发明的实施例提供一种系统,通过该系统可以使用“绝对的”或“唯一的”索引号标识参考帧。这与标识缓冲器中的位置的现有技术的系统相反。由编码器202产生边信息,帮助控制块210(但不必是接收器的解码器)标识哪些帧需要被正确地接收以用于要被正确解码的当前帧(基本上是一组依据其编码当前帧的帧)。控制块210在编码器202外部(或“远离”编码器202),从而将决定做出过程与编码器202分离。
如上文所描述,帧的索引号可以在边信息中与传输帧一起传输至接收器。可替换地,取代传输索引号的是,系统可以利用实时传输协议(RTP)仔细检视来自网络的反馈,该反馈作为控制信号使用实时传输控制协议(RTCP)发送。以此方式,控制块210可以保持跟踪编码将会分配给每个帧的索引号(假设控制块210使用与编码器202所使用相同的编号的系统以用于确定帧的索引号)。
当控制块210可以确定分配给帧的索引号时,于是控制块210可以根据所述反馈确定长期参考帧的索引号的、已在接收器的解码器处被成功接收的子集,如上文所描述。
尽管在上述优选实施例中所述方法和系统被应用于视频信号的帧,但是在其他实施例中,所述方法和系统被应用于视频信号的其他部分,比如切片或宏块。
尽管在上述优选实施例中,长期参考帧被存储在参考帧缓冲器208中,但是在其他实施例中,其他类型的帧(例如短期参考帧)可以被存储用于生成视频信号的后续帧。短期参考帧将根据某种预定义规则以自动方式从缓冲器中移除。
上述优选实施例的系统被用来通过网络将视频信号从编码器流送至接收器处的解码器。在这个意义上,视频帧可以在其被解码时在接收器处被实时播放。如果视频信号在其被接收时未被实时播放,则解码器可以请求编码器通过网络重传在视频信号传输期间丢失或损坏的任何帧。
图2所示的块和图8所示的方法步骤可以在编码器202和控制块210内的软件或硬件模块中实现。这是一种实现方式选择。
而且,尽管已经参考优选实施例具体示出和描述了本发明,但是本领域技术人员应当理解,可以在不脱离如所附权利要求限定的本发明的范围的情况下在形式和细节方面进行各种变化。
权利要求书(按照条约第19条的修改)
1.一种控制由编码器编码以便通过网络传输到解码器的视频信号的部分的传输的方法,其中编码器将索引号分配给所传输的视频信号的部分并将视频信号的所述部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,该方法包括:
在远离编码器的控制块处接收来自网络的反馈,该反馈指示所传输的部分中的每一个部分是否已被正确地接收;
基于该反馈,控制块确定存储在缓冲器中的视频信号的所述部分的子集,所述子集要被编码器用于编码视频信号的后续部分;以及
控制块向编码器传输消息,所述消息使用分配给所述部分的子集中部分的索引号来标识视频信号的所述部分的子集,
使得编码器可以使用消息中的索引号来标识用于编码视频信号的后续部分的所述部分的子集中的至少一个部分。
2.一种用于控制由编码器编码以便通过网络传输到解码器的视频信号的部分的传输的控制块,其中编码器将索引号分配给所传输的视频信号的部分并将视频信号的所述部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,其中控制块远离编码器并且控制块包括:
用于接收来自网络的反馈的接收装置,该反馈指示所传输的部分中的每一个部分是否已被正确地接收;
用于基于该反馈确定存储在缓冲器中的、要被编码器用于编码视频信号的后续部分的、视频信号的部分的子集的确定装置;以及
用于向编码器传输消息的传输装置,所述消息使用分配给所述部分的子集中部分的索引号来标识视频信号的所述部分的子集,
使得编码器可以使用消息中的索引号来标识用于编码视频信号的后续部分的所述部分的子集的至少一个部分。
3.权利要求1或2的方法或控制块,其中视频信号的所述部分是(i)视频信号的帧、(ii)视频信号的宏块、或(iii)视频信号的切片。
4.权利要求1、2或3的方法或控制块,其中使用获得的所述至少一个部分编码的视频信号的后续部分之一是仅基于获得的所述至少一个部分编码的视频信号的恢复部分。
5.任一前述权利要求的方法或控制块,其中在等于编码器与解码器之间的平均往返时间的时间间隔内分配给所述部分的索引号是唯一的。
6.任一前述权利要求的方法或控制块,其中:
编码器告知控制块视频信号的哪些部分被存储在缓冲器中,或者
视频信号的所述部分在它们属于特定类型的情况下被存储在缓冲器中,并且其中控制块监视传输的视频信号的部分并确定那些属于特定类型的视频信号部分被存储在缓冲器中。
7.任一前述权利要求的方法或控制块,其中存储在缓冲器中的视频信号的所述部分是视频信号的长期参考部分。
8.任一前述权利要求的方法或控制块,其中:
索引号与这些索引号被分配至的视频信号的所述部分一起被传输,其中索引号可选地作为伴随这些索引号被分配至的传输的视频信号的部分的边信息而被传输,或者
索引号没有与这些索引号被分配至的视频信号的所述部分一起被传输,并且其中控制块监视视频信号的所述部分的传输并利用对视频信号的所述部分的传输的监视,从而确定已被分配给传输的视频信号的部分的索引号。
9.权利要求1和3-8中任一项的方法,其中视频信号的所述部分的传输包括:
利用编码器编码视频信号的部分,并且通过网络将编码的部分传输到解码器;
编码器向传输的视频信号的部分分配索引号,每个索引号标识视频信号的相应部分;以及
将视频信号的所述部分中的至少一些存储在与编码器关联的缓冲器中。
10.一种计算机程序产品,其包括由在用于控制视频信号的部分的传输的控制块处的计算机处理装置执行的计算机可读指令,所述指令包括用于执行根据权利要求1和3-9中任一项的方法的指令。

Claims (23)

1. 一种通过网络传输视频信号的方法,该方法包括:
利用编码器编码视频信号的部分,以及通过网络将编码的部分传输到解码器;
编码器向传输的视频信号部分分配索引号,每个索引号标识视频信号的相应部分;
将所述视频信号部分中的至少一些存储在与编码器关联的缓冲器中;
在远离编码器的控制块处接收来自网络的反馈,该反馈指示传输的部分的每一个部分是否已被正确地接收;
基于该反馈,控制块确定缓冲器中存储的视频信号的部分的子集,所述子集要被编码器用于编码视频信号的后续部分;
控制块向编码器传输消息,所述消息使用分配给所述部分的子集中的部分的索引号来标识视频信号的所述部分的子集;以及
响应于从控制块接收所述消息,编码器使用消息中的索引号标识并获得来自缓冲器的所述部分的子集中的至少一个部分,其中编码器使用获得的所述至少一个部分来编码视频信号的后续部分。
2. 权利要求1的方法,其中视频信号的所述部分是(i)视频信号的帧、(ii)视频信号的宏块、或(iii)视频信号的切片。
3. 权利要求1或2的方法,其中使用获得的所述至少一个部分来编码的视频信号的后续部分之一是仅基于获得的所述至少一个部分编码的视频信号的恢复部分。
4. 任一前述权利要求的方法,其中在等于编码器与解码器之间的平均往返时间的时间间隔内分配给所述部分的索引号是唯一的。
5. 任一前述权利要求的方法,进一步包括编码器告知控制块视频信号的哪些部分存储在缓冲器中。
6. 权利要求1-4中任一项的方法,其中视频信号的所述部分在它们属于特定类型的情况下被存储在缓冲器中,并且其中该方法进一步包括控制块监视传输的视频信号的部分并确定那些属于特定类型的视频信号部分被存储在缓冲器中。
7. 任一前述权利要求的方法,其中存储在缓冲器中的视频信号的所述部分是视频信号的长期参考部分。
8. 任一前述权利要求的方法,其中索引号与这些索引号被分配至的视频信号的所述部分一起被传输。
9. 权利要求8的方法,其中索引号作为伴随这些索引号被分配至的传输的视频信号的部分的边信息而被传输。
10. 权利要求1-7中任一项的方法,其中索引号没有与这些索引号被分配至的视频信号的所述部分一起被传输,并且其中控制块监视视频信号的所述部分的传输并利用对视频信号的所述部分的传输的监视,从而确定已被分配给传输的视频信号的部分的索引号。
11. 任一前述权利要求的方法,其中控制块向编码器传输消息的步骤包括通过网络连接和USB连接之一传输该消息。
12. 一种用于通过网络传输视频信号的系统,该系统包括:
(i)编码器,其被配置成:
编码视频信号的部分,并且通过网络将编码的部分传输到解码器;
向传输的视频信号的部分分配索引号,每个索引号标识视频信号的相应部分;以及
将视频信号的所述部分中至少一些存储在与编码器关联的缓冲器中;以及
(ii)控制块,其远离编码器并且被配置成:
接收来自网络的反馈,该反馈指示所述传输的部分中的每一个部分是否被正确地接收;
基于该反馈确定存储在缓冲器中的视频信号的部分的子集,所述子集要被编码器用于编码视频信号的后续部分;以及
向编码器传输消息,所述消息使用分配给所述部分的子集中部分的索引号来标识视频信号的所述部分的子集,
其中编码器被配置成响应于接收到来自控制块的消息而使用该消息中的索引号标识并获得来自缓冲器的所述部分的子集中的至少一个部分,并且使用获得的所述至少一个部分编码视频信号的后续部分。
13. 权利要求12的系统,其中视频信号的所述部分是(i)视频信号的帧、(ii)视频信号的宏块、或(iii)视频信号的切片。
14. 权利要求12或13的系统,其中编码器包括用于通过网络将视频信号的所述部分传输至解码器、并且用于将索引号作为伴随这些索引号被分配至的传输的视频信号的部分的边信息来传输的装置。
15. 权利要求12-14中任一项的系统,其中编码器是H.264编码器、VP7编码器和VP8编码器之一。
16. 权利要求12-15中任一项的系统,其中在编码器与控制块之间存在用于传输消息的网络连接和USB连接之一。
17. 权利要求12-16中任一项的系统,其中编码器位于用户终端中并且控制块位于(i)解码器也位于其中的网络的接收节点,或(ii)单独的网络节点。
18. 权利要求12-16中任一项的系统,其中控制块位于用户终端中并且编码器位于用户终端的外围设备中。
19. 权利要求18的系统,其中所述外围设备是相机。
20. 一种控制由编码器编码并通过网络传输到解码器的视频信号的部分的传输的方法,其中编码器将索引号分配给传输的视频信号的部分并将视频信号的所述部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,该方法包括:
在远离编码器的控制块处接收来自网络的反馈,该反馈指示所传输的部分中的每一个部分是否已被正确地接收;
基于该反馈,控制块确定存储在缓冲器中的视频信号的部分的子集,所述子集要被编码器用于编码视频信号的后续部分;以及
控制块向编码器传输消息,所述消息使用分配给所述部分的子集中部分的索引号来标识视频信号的所述部分的子集,
使得编码器可以使用消息中的索引号来标识用于编码视频信号的后续部分的所述部分的子集的至少一个部分。
21. 一种计算机程序产品,其包括由在用于控制视频信号的部分的传输的控制块处的计算机处理装置执行的计算机可读指令,所述指令包括用于执行根据权利要求20的方法的指令。
22. 一种用于控制由编码器编码并通过网络传输到解码器的视频信号的部分的传输的控制块,其中编码器将索引号分配给传输的视频信号的部分并将视频信号的所述部分中的至少一些存储在与编码器关联的缓冲器中,每个索引号标识视频信号的相应部分,其中控制块远离编码器并且控制块包括:
用于接收来自网络的反馈的接收装置,该反馈指示所述传输的部分中的每一个部分是否已被正确地接收;
用于基于该反馈确定存储在缓冲器中的要被编码器用于编码视频信号的后续部分的视频信号的部分的子集的确定装置;以及
用于向编码器传输消息的传输装置,所述消息使用分配给所述部分的子集中部分的索引号来标识视频信号的所述部分的子集,
使得编码器可以使用消息中的索引号来标识用于编码视频信号的后续部分的所述部分的子集中的至少一个部分。
23. 权利要求22的控制块,其中所述传输装置用于经由在控制块与编码器之间的网络连接和USB连接之一将消息传输至编码器。
CN2012800101904A 2011-02-24 2012-02-20 用于视频编码的基于反馈的参考帧选择 Pending CN103430538A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1103174.7A GB201103174D0 (en) 2011-02-24 2011-02-24 Transmitting a video signal
GB1103174.7 2011-02-24
PCT/EP2012/052880 WO2012113763A1 (en) 2011-02-24 2012-02-20 Feedback based reference frame selection for video coding

Publications (1)

Publication Number Publication Date
CN103430538A true CN103430538A (zh) 2013-12-04

Family

ID=43881594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012800101904A Pending CN103430538A (zh) 2011-02-24 2012-02-20 用于视频编码的基于反馈的参考帧选择

Country Status (5)

Country Link
US (1) US20120219067A1 (zh)
EP (1) EP2681915A1 (zh)
CN (1) CN103430538A (zh)
GB (1) GB201103174D0 (zh)
WO (1) WO2012113763A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028943A (zh) * 2015-09-10 2018-05-11 微软技术许可有限责任公司 利用长期参考图片来验证错误恢复以进行视频编码
CN111183648A (zh) * 2018-03-09 2020-05-19 深圳市大疆创新科技有限公司 用于支持基于快速反馈的视频编码的系统和方法
WO2020258296A1 (zh) * 2019-06-28 2020-12-30 深圳市大疆创新科技有限公司 图像处理方法、设备、无人飞行器和接收端
CN115462090A (zh) * 2021-04-09 2022-12-09 谷歌有限责任公司 使用关键帧库的高级视频代码化

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584825B2 (en) * 2012-09-27 2017-02-28 Qualcomm Incorporated Long-term reference picture signaling in video coding
US9577618B2 (en) 2012-12-20 2017-02-21 Advanced Micro Devices, Inc. Reducing power needed to send signals over wires
US10284850B2 (en) 2013-11-14 2019-05-07 Riversilica Technologies Pvt Ltd Method and system to control bit rate in video encoding
CN105306950B (zh) * 2015-12-07 2018-06-15 河南工程学院 一种反馈粗量化重建帧的视频压缩远程传输系统
US10819976B2 (en) * 2018-06-25 2020-10-27 Polycom, Inc. Long-term reference for error recovery without back channel
CN110996122B (zh) * 2019-12-12 2022-11-15 腾讯云计算(北京)有限责任公司 视频帧传输方法、装置、计算机设备及存储介质
US11265583B2 (en) 2020-01-06 2022-03-01 Plantronics Inc. Long-term reference for error recovery in video conferencing system
US11991232B2 (en) * 2021-05-28 2024-05-21 Spotify Ab Command buffering
CN113573063B (zh) * 2021-06-16 2024-06-14 百果园技术(新加坡)有限公司 视频编解码方法及装置
US20230034884A1 (en) * 2021-07-30 2023-02-02 Nvidia Corporation Video compression techniques for reliable transmission

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003839A1 (en) * 2000-07-04 2002-01-10 Ryohei Okawahara MPEG picture processing apparatus and data transferring method using the apparatus
WO2006072265A1 (en) * 2005-01-10 2006-07-13 Ntt Docomo, Inc. Apparatus for predictively encoding a sequence of frames
CN101115201A (zh) * 2007-08-30 2008-01-30 上海交通大学 视频解码方法与解码装置
CN101155311A (zh) * 2006-09-27 2008-04-02 中兴通讯股份有限公司 一种视频通信中的视频码流错误检测和处理方法
CN101690202A (zh) * 2007-04-09 2010-03-31 思科技术公司 用于压缩视频通信的带差错反馈的长期参考帧管理

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003839A1 (en) * 2000-07-04 2002-01-10 Ryohei Okawahara MPEG picture processing apparatus and data transferring method using the apparatus
WO2006072265A1 (en) * 2005-01-10 2006-07-13 Ntt Docomo, Inc. Apparatus for predictively encoding a sequence of frames
CN101155311A (zh) * 2006-09-27 2008-04-02 中兴通讯股份有限公司 一种视频通信中的视频码流错误检测和处理方法
CN101690202A (zh) * 2007-04-09 2010-03-31 思科技术公司 用于压缩视频通信的带差错反馈的长期参考帧管理
CN101115201A (zh) * 2007-08-30 2008-01-30 上海交通大学 视频解码方法与解码装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028943A (zh) * 2015-09-10 2018-05-11 微软技术许可有限责任公司 利用长期参考图片来验证错误恢复以进行视频编码
CN111183648A (zh) * 2018-03-09 2020-05-19 深圳市大疆创新科技有限公司 用于支持基于快速反馈的视频编码的系统和方法
WO2020258296A1 (zh) * 2019-06-28 2020-12-30 深圳市大疆创新科技有限公司 图像处理方法、设备、无人飞行器和接收端
CN115462090A (zh) * 2021-04-09 2022-12-09 谷歌有限责任公司 使用关键帧库的高级视频代码化

Also Published As

Publication number Publication date
US20120219067A1 (en) 2012-08-30
GB201103174D0 (en) 2011-04-06
WO2012113763A1 (en) 2012-08-30
EP2681915A1 (en) 2014-01-08

Similar Documents

Publication Publication Date Title
CN103430538A (zh) 用于视频编码的基于反馈的参考帧选择
US6973132B2 (en) Transmission header compressor not compressing transmission headers attached to intra-frame coded moving-picture data
CN101983509B (zh) 响应于错误反馈的视频刷新自适应算法
CN101272495B (zh) 用于传输基于分组的图像帧的方法和装置
US8929443B2 (en) Recovering from dropped frames in real-time transmission of video over IP networks
JP5084362B2 (ja) データ送信装置、及びデータ送受信システム
KR19980024351A (ko) 화상 부호화 장치, 화상 복호화 장치 및 화상 전송 방법
US20090097555A1 (en) Video encoding method and device
CN108141581B (zh) 视频编码
CN106817585B (zh) 一种利用长期参考帧的视频编码方法、电子设备和系统
US20130058409A1 (en) Moving picture coding apparatus and moving picture decoding apparatus
US9264737B2 (en) Error resilient transmission of random access frames and global coding parameters
CN101192903B (zh) 数据帧编解码控制方法
CN103813175A (zh) 传输装置、传输方法、接收装置、接收方法和计算机程序
US9774869B2 (en) Resilient signal encoding
CN115348456B (zh) 视频图像处理方法、装置、设备及存储介质
CN112995214B (zh) 一种实时视频传输系统、方法及计算机可读存储介质
CN101578873B (zh) 一种解码多视图视频内容的装置和方法
JP5098784B2 (ja) 映像通信装置
TWI538471B (zh) 具有限重傳功能之影像傳輸系統及其方法
US10567802B2 (en) Method for optimising the transmission of video data streams in a wireless network
JP2011211616A (ja) 動画像伝送装置、動画像伝送システム、動画像伝送方法およびプログラム
WO2015174893A1 (en) Methods, decoder and encoder for selection of reference pictures to be used during encoding
JP7264517B2 (ja) 送信装置、受信装置、制御方法、およびプログラム
JP4525697B2 (ja) 伝送ヘッダ圧縮装置、動画像符号化装置及び動画像伝送システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131204