用于视频流的方法和系统与流程

文档序号:18005546发布日期:2019-06-25 23:19阅读:239来源:国知局
用于视频流的方法和系统与流程

本发明涉及视频处理,尤其涉及执行视频流的方法和系统。



背景技术:

流式视频或流式媒体是在提供者传送同时,持续地由最终用户或客户接收或呈现给最终用户或客户的视频或媒体。视频数据可以通过互联网进行编码和传输。不用等待整个文件被下载以供观看,电子装置可以在传输视频图像和音频信号被传输时,通过访问数据流来重新生成视频图像和音频信号。流媒体技术在电话会议、体育赛事、无线电广播、电视广播等中特别有用。

需要有助于推进视频处理(例如视频流)的技术需求和工业应用的新方法和系统。



技术实现要素:

一个示例性实施例是一种执行视频流的电子或计算机系统。系统包括视频发送器,其将视频数据转换成具有不同的传输优先级的多层比特流分组。多层比特流分组的较低层的比特流分组在被传输到视频接收器时具有较高的优先级。

本文讨论了其他示例性实施例。

附图说明

图1示出了根据示例性实施例的执行视频流的系统。

图2示出了根据示例性实施例的视频发送器。

图3示出了根据示例性实施例的视频接收器。

图4示出了根据示例性实施例的视频发送器的网络适配器。

图5示出了根据示例性实施例的自适应编码方法。

图6示出了根据示例性实施例的自适应编码方案。

图7a示出了根据示例性实施例的自适应解码方案。

图7b示出了根据另一示例性实施例的自适应解码方案。

图8示出了根据示例性实施例的执行视频流的电子或计算机系统,其包含自适应通信装置。

图9示出了图示根据示例性实施例的两个自适应通信装置如何为分组传输进行通信的图。

图10示出了根据示例性实施例的执行视频流的设备。

图11示出了根据示例性实施例的自适应通信装置的接收子系统。

图12示出了图示根据示例性实施例的通过多个信道分发低级分组的图。

图13示出了根据示例性实施例的执行视频流的方法。

图14示出了根据另一示例性实施例的执行视频流的方法。

具体实施方式

示例性实施例涉及新方法和系统,其以非传统方式执行视频流,以提高视频相关技术和应用领域中的视频处理的性能。

视频流,尤其是通过网络的实时视频流,需要低延迟或等待时间、高视频质量和高可靠性。良好性能的一个重大障碍是物理信道的操作条件波动。当网络带宽突然下降或存在高分组错误率(per)时,要求视频流系统适应分组丢失并降低数据速率。同时,希望视频质量下降不太明显,并且不应存在压缩伪像。期望视频回放流畅而不会出现卡顿。实时视频流需要更准确的视频比特率控制和错误恹复能力,以在信道条件波动或变化的情况下允许低等待时间和视觉无损质量。

传统的视频流传输方案在各个方面都存在问题。例如,许多传统方案的一个缺陷是它们没有考虑网络流的实时要求,因此由于分组丢失而具有错误传播问题。传统方案不足以隐藏错误而不留下一些视觉伪像。作为另一个示例性缺陷,传统方案不能有效地适应通信信道的可用数据速率的连续变化,因此不能满足诸如游戏流和视频会议之类的应用的要求(例如等待时间、可靠性等)。此外,由于数据分组的保护不足,传统方案在视频流所需的稳健性方面不令人满意。

示例性实施例解决了上述与用于视频流的传统方案相关联的一个或多个技术问题。示例性实施例提供了新方法和系统中的技术解决方案,在各个方面提高视频流的性能。示例性实施例通过提供以非传统方式操作以有助于视频相关技术的新技术解决方案,在执行视频流中实现改进的性能,例如改进的等待时间、可靠性、稳健性和图像质量。

示例性实施例包括视频流系统,其将原始视频或视频数据转换成多层比特流分组以进行传输。针对分组调度、调制、分组长度选择等,对不同视频分组层采用不同的策略。示例性系统通过以较可靠的方法发送较重要的层的分组,并以较高数据速率的方法发送较不重要的层的分组,从而执行非平等视频流。每层比特流对流视频具有不同的影响。例如,示例性电子系统通过保证对解码视频流所必需的和对图像质量具有最大影响的最低层的传输,同时传输尽可能多的较高层分组,从而改进可靠性和图像质量。

一个或多个示例性实施例使用确认分组来改进可靠性和稳健性,所述确认分组指示分组接收状态,使得传输错误被适应,并改进了错误恹复能力。作为示例,示例性实施例在检测到传输失败时重新发送具有较高优先级的较重要的视频分组,并且在视频分组被肯定确认或变得过时丢弃视频分组。

示例性实施例包括一个或多个自适应通信装置,其被并入和采用为通过使用较高可靠性的信道来发送较高重要性的分组,并且使用较高数据速率的信道来发送较低重要性的分组,从而改进视频流的执行。作为示例,自适应通信装置包括至少一个网络接口以提供最少一个通信信道。在识别要传输的视频分组的服务要求之后,自适应通信装置确定如何将视频分组转换成至少一个低级分组,并选择一个或多个最佳信道以进行传输。例如,可以由另一自适应通信装置通过一个或多个信道接收低级分组,以重现原始视频分组。

一个或多个示例性实施例分别采用错误恹复编码和解码方法来执行视频帧的块级自适应编码和解码。在这些示例中的一些中,视乎比特流分组的接收状态,视频接收器自适应地确定是否使用较高层比特流分组来解码每个图像块。视频接收器将确认分组发回视频发送器以通知每个比特流分组的接收。视频发送器的自适应视频编码器基于最新的确定信息估计由视频接收器观察到的错误传播。视频发送器基于估计的解码错误标志确定参考帧重建,从而消除自适应视频编码器的参考帧和视频接收器的自适应视频解码器的解码帧之间的差异,并相应地改进性能,例如可靠性、稳健性和图像质量。

一个或多个示例性实施例通过提供非传统方案来促进同步,减少等待时间。作为示例,视频接收器基于源视频输入接口的估计的vsync时间来控制其视频输出接口的垂直同步(vsync)信号的时间,从而减少由于视频输入和输出接口的两个时钟的异步性而导致的显示等待时间。

图1示出了根据示例性实施例的执行视频流的系统100。

如图所示,系统100包括视频发送器110,其通过一个或多个网络与视频接收器150通信。系统100通过克服传统方案的一个或多个缺陷,以改进的性能执行视频流。

作为示例,视频发送器110将视频数据转换或变换成具有不同的传输优先级的多层比特流分组,使得所述多层比特流分组的较低层的比特流分组在被传输到视频接收器150时具有较高的优先级。

作为示例,视频发送器110通过执行非平等视频流达至具有高可靠性和低等待时间的视频流。“非平等”指不同层的比特流分组被不同地划分优先级和处理以用于传输。出于说明的目的,视频发送器110生成不同类型的比特流分组或不同重要性的视频分组,并且将重点放在发送较重要的视频分组,而利用剩余带宽来发送具有较低优先级的较不重要的视频分组。当检测到传输错误时(例如,当视频接收器150未成功接收到视频分组时),视频发送器110发送具有较高优先级的较重要的视频分组。可以使用各种通信协议来管理数据或分组传输。作为示例,使用面向连接的协议,例如传输控制协议(tcp)。

在示例性实施例中,视频发送器110连接到诸如摄像机的视频源装置,并且通过诸如原始视频输出接口的接口接收视频数据或原始视频。“原始视频”表示在进一步处理(例如压缩)之前由视频源装置捕获、存储或输出的视频数据。例如,原始视频可以是yuv或rgb(红色、绿色、蓝色)格式。在传输到视频接收器150以进行解码和显示之前,处理(例如压缩或编码)原始视频。视频发送器110将视频数据编码成具有多个层的压缩或编码视频比特流,其被进一步转换成多层比特流分组以通过一个或多个有线或无线网络进行传输。

作为示例,视频发送器110和视频源装置是两个单独的装置,例如独立视频传输盒和bluray播放器,其中视频传输盒是专门设计的。作为另一示例,视频发送器110和视频源装置被集成为实现两种功能的单个装置,例如具有专门设计的集成视频发送器模块的膝上型计算机。

在示例性实施例中,视频接收器150连接到诸如电视(tv)的接收显示装置(sinkdisplaydevice)。视频接收器150对接收到的比特流分组进行解码,并通过接口(例如原始视频输出接口)将解码的视频发送到接收接收显示装置。

作为示例,视频接收器150和接收显示装置是两个单独的装置,例如独立视频接收器盒和tv,其中视频接收器盒是专门设计的。另一个例子,视频接收器150和接收显示装置被集成为实现两种功能的单个装置,例如具有专门设计的视频接收器模块的头戴式显示器和有机发光二极管(oled)。

在示例性实施例中,当视频数据从视频发送器110传输到视频接收器150时,通过交换vsync分组来同步视频发送器110和视频接收器150之间的垂直同步(vsync)时间,从而减少等待时间和改进视频流的性能。

图2示出了根据示例性实施例的视频发送器210。如图所示,视频发送器210包括自适应视频编码器212、网络适配器214和传输(tx)同步器216。

作为示例,自适应视频编码器212将视频数据编码成多层视频比特流。网络适配器214将从自适应视频编码器212接收到的多层视频比特流转换成具有不同传输优先级的多层比特流分组,与视频接收器交换网络管理分组以估计可用网络带宽,以及确定自适应视频编码器212的多层视频比特流的多个编码比特率。tx同步器216记录原始视频输入的垂直同步(vsync)时间,并通过vsync分组将vsync时间传输到视频接收器。

在示例性实施例中,自适应视频编码器212从视频源装置接收原始视频或视频数据221,然后压缩视频数据221以生成多层视频比特流(也称为多层比特流),其中使用诸如可适性视频编码(svc)的编码算法。例如,多层视频比特流包括作为最低层的基层和作为较高层的一个或多个增强层。基层对解码视频比特流是必需的,并且对视频流或图像质量具有最大影响。增强层被用来改善流质量。作为示例,出于传输目的,将基层比特流编码为基层比特流分组,并且将增强层比特流编码为增强层比特流分组。较低层比特流分组对图像质量具有更高的影响,因此被分配有更高的传输优先级。

在一个示例性实施例中,自适应视频编码器212将多层视频比特流222(例如基层比特流和/或增强层比特流)转发到网络适配器214以进行进一步处理。在另一个示例性实施例中,自适应视频编码器212通过网络适配器214从网络接收数据223(例如确认分组、比特率估计信息等)。作为示例,确认分组可以是肯定确认或否定确认。当接收到肯定确认(即,肯定地确认)时,这指示视频接收器正确接收到比特流分组。当接收到否定确认(即,否定地确认)时,这指示视频接收器未接收到比特流分组。在一些示例中,自适应视频编码器212在预定义时段内没有接收到确认分组。基于在超时内的肯定确认、否定确认和/或缺少确认分组,自适应视频编码器212适应于损坏的视频比特流。如本文所用,损坏的视频比特流指的是其中一个或多个比特丢失或损坏的比特流。

作为示例,网络适配器214从自适应视频编码器212接收多层视频比特流222,并将比特流放入多个分组中以进行传输。例如,网络适配器214知道每个比特流的层,使得网络适配器214对于不同层的分组采用不同的策略来进行分组调度、调制、分组长度选择和丢弃。这样,属于较低层的较重要的比特流分组(例如基层分组)比较不重要的比特流分组具有较高的概率被传输到视频接收器。

在示例性实施例中,网络适配器214通过网络接收数据或反馈225(例如,确认分组、其他网络管理分组等),然后将确认状态转发给自适应视频编码器212。作为示例,如果在超时内接收到否定确认或没有接收到肯定确认,则网络适配器214重新发送具有高优先级的较重要的分组以改进可靠性和错误恹复能力。在另一示例性实施例中,网络适配器214周期性地执行信道比特率估计,并且向自适应视频编码器221通知可以使用的最新比特率。

作为示例,tx同步器216跟踪指示视频发送器210的当前发送器系统时间的时间器计数器。例如,计数器在每个发送器系统周期更新,使得发送器系统周期由嵌入在视频发送器210内的晶体确定。视频发送器210周期性地记录其vsync信号的上升沿时间,其是当视频发送器210从视频源装置检测到视频输入的vsync信号226的上升沿时由定时器计数器报告的计数器值。

在示例性实施例中,tx同步器216通过vsync分组227将其vsync时间周期性地发送到视频接收器(例如参考图1的视频接收器150)的接收(rx)同步器,使得rx同步器存储和更新与实际发送器系统时间非常接近的估计的发送器系统时间。作为示例,tx同步器216接收估计的接收器系统时间228,从而确定是否过了分组期限和相应的分组是否过时。

图3示出了根据示例性实施例的视频接收器350。如图所示,视频接收器350包括网络适配器352、自适应视频解码器354和rx同步器356。

作为示例,网络适配器352从视频发送器(例如参考图1的视频发送器110和参考图2的视频发送器210)接收多层比特流分组,并生成确认分组,所述确认分组被传回视频发送器以指示多层比特流分组的比特流分组的接收状态,使得视频发送器适应于传输错误。自适应视频编码器354与网络适配器352通信,并对多层比特流分组进行解码,以生成解码的视频数据。rx同步器356与视频发送器交换一个或多个vsync分组,以同步视频发送器和视频接收器350的时间。

在示例性实施例中,在视频解码开始之前,rx同步器356与视频发送器的自适应视频发送器交换vsync分组365,以同步估计的发送器系统时间与发送器系统时间。例如,rx同步器356将其本地时间(例如接收器系统时间)发送到视频发送器,以促进视频发送器的接收器时间或接收器系统时间估计。作为示例,rx同步器356持续地调整vsync信号366的时间,从而将接收显示装置的vsync信号和视频源装置的vsync信号之间的等待时间保持小而有界。

作为示例网络适配器352从视频发送器接收比特流分组361(例如基层比特流分组和增强层比特流分组),并基于所接收的比特流分组的序列号生成肯定或否定确认分组。网络适配器352利用稳健且低等待时间的方法(例如sub-ghz工业科学医学频段(ism)频段)发回诸如确认分组362的反馈。基于比特流分组接收状态,自适应视频解码器354自适应地对编码的视频数据(例如视频帧的每个块的视频数据)执行解码,并输出解码或解压缩的视频364以进行显示。

图4示出了根据示例性实施例的视频发送器的网络适配器414。

如图所示网络适配器414包括分组管理器415和网络接口416。作为一个示例性优点,网络适配器414通过最小化分组错误率,并通过支持非平等流来划分传输比特流分组的优先级,其中较重要的分组被赋予较高的传输优先级,从而有助于改进性能,例如改进可靠性和视频或图像质量。

作为示例,分组管理器415接收由自适应视频编码器(例如参考图2的自适应视频编码器212)输出的多层视频比特流,从多层视频比特流生成多层比特流分组,以及通知自适应视频编码器基于从视频接收器接收到的确认分组适应于传输错误。网络接口416通过网络将具有不同优先级的多层比特流分组发送到视频接收器。作为示例,多层比特流分组被划分传输优先级,使得多层比特流分组的较低层的比特流分组在被传输到视频接收器时具有较高的优先级。

一个或多个示例性实施例包括与分组管理器415相关的至少三种类型的数据流,如下所示:

1.分组管理器415从自适应视频编码器接收多层视频比特流(例如基层视频流431和增强层视频比特流432),生成不同层的比特流分组,以及执行非平等流来通过网络接口416将这些分组433(例如基层比特流分组和/或增强层比特流分组)发送到网络。

2.分组管理器415通知自适应视频编码器基于所接收的确认分组436和439适应于传输错误。

3.分组管理器415通过网络接口416与视频接收器交换网络管理分组434和435来估计可用网络带宽,然后基于估计的可用网络带宽确定编码比特率,并且将这些编码比特率(例如基层编码比特率437和增强层编码比特率438)通知给自适应视频编码器。

在示例性实施例中,分组管理器415从不同层的传入比特流(例如由自适应视频编码器输出的多层视频比特流)生成比特流分组或视频分组。作为示例,传入比特流包括基层比特流和增强层比特流,所述增强层比特流的层比基层比特流的层高。基层比特流具有较低的数据速率,但是基层比特流分组(或简称为基层分组)的丢失对图像质量具有较大的影响。因此,即使在一些示例中传输效率受到损害,使用更稳健的传输方法来发送这些基层分组也是可以承受的。通过降低基层分组的分组错误率,正确传输基层分组的概率增加,从而提高了可靠性。增强层比特流具有高得多的数据速率,但是这些增强层比特流分组(或简称为增强层分组)的丢失对图像质量的影响较小。因此,即使在一些示例中稳健性受到损害,传输层越高,使用具有越高数据速率和越高传输效率的分组生成方法。

在示例性实施例中,将较稳健的调制方案、较长的前向纠错码和较短的分组长度应用于多层比特流分组的较低层。较低层还分配有服务质量(qos)标签,使得较低层获得更好的网络服务。

另一示例性实施例包括以下方案,用于分组管理器415为不同层的比特流分组应用各种程度的稳健性、数据速率和传输效率:

1.分组管理器415提供具有不同级别的稳健性和数据速率的不同调制方法,例如保护间隔、二进制相移键控(bpsk)、正交相移键控(qpsk)和64正交幅度调制(qam)等。分组的视频层越低,分组管理器415使用越稳健的调制方法。

2.分组管理器415添加不同长度的前向纠错(fec)码,以允许视频接收器利用fec码来校正比特错误。分组的视频层越低,分组管理器415使用的fec码越长。

3.如果分组中的一个或多个比特丢失或损坏,则该分组会损坏。分组错误率随着分组长度而增加。同时,由于固定长度的分组头,较短的分组长度具有较高的开销百分比,因此降低了传输效率。因此,分组的视频层越低,分组管理器415选择的视频分组长度越短。

4.服务质量(qos):较重要的视频分组被分配有qos标签以获得更好的网络服务,例如较低的错误率、较高的吞吐量、较低的延迟、较低的抖动等。

示例性实施例还包括分组调度,其通过对优先传输较重要的视频或比特流分组来支持非平等流。当利用确认分组检测到传输失败时,视频发送器(例如视频发送器110和210)重新发送具有较高优先级的较重要的分组。作为示例,所生成的视频分组首先被存储在一个或多个分组缓冲器中以获得缓冲的视频分组(或称为缓冲比特流分组或缓冲分组)。分组管理器415将缓冲分组分组为多个队列,使得相同视频层的比特流分组被放入相同的队列中。出于说明目的,每个视频分组被分配有显示期限。

作为示例,如果以下任一情况为真,则缓冲分组有资格被调度以进行传输或重传(有资格被调度的缓冲分组也称为合格的缓冲比特流分组,或者合格的缓冲分组,或者合格的分组):

1.网络接口416尚未选择缓冲分组进行传输;

2.网络接口416已选择了缓冲分组以进行传输或重传,但是网络接口416已接收到指示视频接收器还未接收到缓冲分组的否定确认分组;和

3.网络接口416已选择了缓冲分组以进行传输或重传,但网络接口416在预定义或用户定义的超时后仍未从视频接收器接收到肯定确认。

在示例性实施例中,分组管理器415采用双层调度方法来确定要发送哪个视频分组或分组。分组管理器415从与最低视频层(例如基层)的分组队列或队列扫描到与最高视频层(例如最高增强层)相关联的分组队列或队列。选择具有至少一个合格的分组的第一扫描队列以作进一步考虑。因此,视频层越低,视频层具有的调度优先级越高。在所选队列中的合格的分组中,分组管理器415还选择具有最早传输期限的分组以进行传输。

在示例性实施例中,当不能发送视频分组时,或者当发送了视频分组但在传输期限之后未确认视频分组时,由于视频流的实时要求,视频分组变得无用。作为示例,定义了如果层l的视频接收器在与视频分组相关联的显示期限之前未成功传输到视频接收器,则将导致层l解码中的错误。在这种情况下,不被传送的视频分组被认为是过时的,这表明该视频分组可以因为它对解码没有用而被丢弃。作为示例,视频分组的显示期限大致等于视频分组的传输期限,因为期望视频分组在显示期限前被传输以确保良好的视频质量或图像质量。视频发送器的分组管理器通过与视频接收器交换网络管理分组来估计接收器系统时间。当确定视频分组是否过时时,分组管理器检查估计的接收器系统时间是否已超过了与视频分组相关联的显示期限。如果是,则丢弃视频分组。在示例中,如果视频分组被肯定确认,则丢弃该视频分组。在另一示例中,如果视频分组已过时或肯定确认,则从队列中移除该视频分组。

在示例性实施例中,视频发送器的分组管理器通过与视频接收器交换网络管理分组确定用于传输多层比特流分组的可用网络带宽。作为示例,可用网络带宽是最小网络带宽。作为另一示例,可用网络带宽是平均网络带宽。在示例中,基于可用网络带宽,分组管理器确定视频发送器的自适应视频编码器的多层比特流的多个编码比特率,使得以下条件(1)和(2)中的至少一个被满足:(1)基层比特率小于最小网络带宽;以及(2)总编码比特率小于平均网络带宽。因此,可靠性和等待时间得到改进。

作为示例,分组管理器通过监视网络状态和与视频接收器交换管理分组来收集信道状态统计,例如分组间等待时间、信道信号强度、比特错误率和网络传播等待时间等,从而持续地估计有效可用的网络带宽(即,可用于发送视频的比特率)。例如,分组管理器能够以高得多的置信度估计最坏情况下的最小网络带宽和预期的平均网络带宽:

1.预期的平均网络带宽navg

2.预期的最小带宽nmin,即可以高置信度(比如99.999%的概率)提供的网络带宽,其中nmin<navg。作为示例,当视频发送器发现由于观察到一些诸如信号强度较弱或分组错误率较高等异常情况而使网络变得更不稳时间,将nmin的估计调整为更保守,以保持较高的置信水平。

在示例性实施例中,基于nmin和navg,分组管理器向自适应视频编码器通知不同视频层的允许的比特率。比特流分组的等待时间取决于流量负载,而流量负载又与编码比特率和有效网络带宽密切相关。视频发送器确保编码比特率小于有效网络带宽,以使等待时间较小或最小。视频发送器对信道容量的控制相对较少。可以控制等待时间的一个重要参数是编码比特率。估计navg和nmin后,分组管理器确定不同层的比特流的编码比特率。作为示例,为了保证基层比特流的传送,预期基层比特流的比特率小于nmin。因此,即使网络带宽突然下降,视频发送器也至少可以使用最小带宽nmin来发送基层比特流以保证在最坏情况下传送基层分组。如果基层比特流的比特率不限于nmin以下,即使非平等流也不能避免基层比特流过载网络信道,并损害流性能。在示例中,增强层比特率限制低于(navg-nmin),使得使用剩余带宽尽可能地提高图像质量。在示例中,当带宽下降至低于navg时,由于瞬时编码比特率大于预期带宽,因此必须丢弃一些增强层分组。丢弃增强层分组的影响相对不太重大。确定了不同层的目标比特率时,分组管理器将目标比特率发送到自适应视频编码器以选择由自适应视频编码器使用的编码参数。基于目标比特率和原始视频输入,自适应视频编码器为不同层选择适合的编码参数,使得每层的编码的比特率小于每层的允许的编码率。在一些示例中,由于navg和nmin的估计随着时间持续地变化,分组管理器相应地调整不同层的编码比特率。

对于许多传统方案,解码器必须接收编码的视频比特流的所有视频分组,才能正确地解码视频。由于这些方案的低等待时间约束,发送器不能按时重新发送丢失或损坏的分组,因此接收器必须解码具有不完整或损坏的比特流的帧,这是不稳健的,而且降低了视频质量。

一个或多个示例性实施例通过提供技术解决方案来解决传统方案的这些技术问题,其中基于分组接收状态做出自适应编码决定。作为示例,自适应视频编码器和自适应视频解码器分别采用多层编码和解码算法。未压缩的原始视频被转换成多层视频比特流,其进一步转换成具有传输优先级的多层比特流分组。

在示例性实施例中,视频接收器的自适应视频解码器根据是否接收到增强层块段自适应地对视频帧的每个像素块进行解码。接收到的增强层分组越多,图像质量越高。作为示例,视频接收器持续地向视频发送器报告分组接收状态。基于所确认的最新的接收错误,自适应视频编码器估计经过每一片增强层的解码错误传播。因此,自适应视频编码器以与解码器对相应帧进行解码相同的方式重建参考帧。即使存在分组接收错误,在执行帧间预测时,自适应视频编码器也如自适应视频解码器自适应视频解码器参考相同的像素块。

在示例性实施例中,定义了每个帧由多个像素块组成。块比特流段(blockbitstreamsegment)是呈现第l层比特流的像素块所需的编码的比特。假设bf,b,l是对第f帧的第b块的第l层像素相关数据进行解码所需的块比特流段。视乎编码方法,第l层像素相关数据可以是执行帧间预测块的运动补偿后的第l层残差、执行i块的帧内预测后的第l层残差或其他适当信息。完整的块段可以在一个分组中携带,或者可以分成多个部分段,由多个分组携带。视频分组包含指示每个完整或部分的块段与哪些层、哪些块和哪些帧相关联的附加信息。

接收到比特流分组时,自适应视频解码器检查接收到哪些块段,并且如果接收到块段的所有比特,则将每个对应的块段接收标志设置为“1”,否则设置为“0”。视频接收器持续地向视频发送器确认分组接收状态。如果视频接收器确认接收到块段的所有比特,则自适应视频编码器将每个块段的确认标志设置为“1”,否则设置为“0”。

作为示例,基于接收标志,视频接收器如下为每个块确定解码错误标志。假设rf,b,l是指示是否正确地接收到bf,b,l的接收标志。如果满足以下所有条件,则将bf,b,l的解码错误标志df,b,l设置为“0”。否则,将df,b,l设置为“1”:

1.rf,b,l=1,即接收到s;和

2.所有被依赖的块段(即bf,b,l所依赖的其他块段)的解码错误标志必须是“0”。这条件还意味着所有被依赖的块段的接收标志为“1”。

作为示例,即使增强层l的一些分组丢失或未及时接收,自适应视频解码器仍然可以使用其他第l层块段来恹复尽可能多的图像细节,相应的解码错误标志设置为“0”。

作为示例,基于确认接收到bf,b,l的确认标志af,b,l,自适应视频编码器估计在自适应视频解码器的错误传播,并确定每个块的估计的解码错误标志ef,b,l。如果满足以下所述条件,则将由自适应视频编码器估计的估计的解码错误标志ef,b,l设置为“0”,否则设置为“1”:

1.af,b,l=1,即确认了bf,b,l;

2.所有被依赖的块段(即bf,b,l所依赖的其他块段)的估计的解码错误标志必须是“0”。这条件还暗示所有被依赖的块段的确认标志是“1”。

图5示出了根据示例性实施例的自适应编码方法500。作为示例,方法500可以由电子装置或计算机系统执行,例如参考图1的包括自适应视频编码器212的视频发送器210。方法500例如通过在重构参考帧时自适应地决定是否结合每个块的增强层像素相关数据与基层像素相关数据组合来改进视频流。

框502表示对从视频源接收到的视频数据进行编码以获得重建的基层数据。作为示例,这由自适应视频编码器或基层编码器执行。框504表示对视频数据进行编码以获得重建的增强层数据。作为示例,这由自适应视频编码器或增强层编码器执行。框506表示当重建参考帧时,确定是否使用重建的增强层数据来与重建的基层数据组合。作为示例,在生成参考帧时根据估计的解码错误标志来决定是否使用重建的增强层数据。

图6示出了根据示例性实施例的自适应编码方案600。自适应编码方案600示出了在重构参考帧时如何将估计的解码错误标志集成到自适应决策中。

作为示例,自适应视频编码器或编码器基于接收器确认来执行自适应参考帧重建。由于网络适配器的非平等流策略,保证接收到基层分组,但不保证接收到增强层分组。因此,编码器在重构参考帧时确定是否组合每个块的增强层像素相关数据与基层像素相关数据。

在示例性实施例中,通过将参考帧618与输入帧或源帧611进行比较,运动估计模块602在参考帧618中找到最佳匹配参考块。基层编码器608对基层视频比特流进行编码以生成重构的基层像素或残差616。基层编码器608的输出用于生成基层比特流分组624。在一些示例中,执行帧间编码,将运动向量613输入到基层编码器608。在一些其他示例中,基层视频比特流对源视频帧的缩减版本进行编码,在输入到基层编码器608之前,帧内块像素中的基层像素相关数据或帧间块残差612由缩减模块或缩减器603缩减。

增强层编码器606对增强层比特流进行编码,以生成重构的增强层像素或残差621。增强层编码器606的输出还用于生成增强层比特流分组623。在一些示例中,执行帧间编码,使用运动向量。在一些其他示例中,增强层编码器606参考基层编码结果615以执行层间预测。

在一些示例中,基层比特流对源视频帧的缩减版本进行编码,基层像素相关数据(即重建的基层像素或残差)616在被用于重建参考帧之前由放大模块或放大器604放大。

在一些示例中,如果增强层块段的估计的解码错误标志是“0”,当重建参考帧的块以获得重建的帧619时,则做出决定625以在数字组合器622组合重建的增强层数据621与重建的基层数据616。否则,仅使用重建的基层数据616来重建参考帧。重构的帧619存储在帧存储610中。在一些示例中,做出帧内/帧间块决定617,以确定是否将运动补偿像素614发送到数字组合器622以生成重建的帧619。

图7a示出了根据示例性实施例的自适应解码方案700。作为示例,自适应解码方案700可以由电子装置或计算机系统执行,例如参考图3的自适应视频解码器354。

作为示例,框770表示对基层视频比特流进行解码以获得解码的基层数据。作为示例,这由自适应视频解码器或基层解码器执行。框780表示对增强层视频比特流进行解码以获得解码的增强层数据。作为示例,这由自适应视频解码器或增强层解码器执行。框790表示在生成解码帧时确定是否使用解码的增强层数据来与解码的基层数据组合。作为示例,在生成解码帧时根据解码错误标志来决定是否使用解码的增强层数据。

图7b示出了根据另一示例性实施例的自适应解码方案750。为了说明的目的,自适应解码方案750示出如何将解码错误标志集成到解码过程中以做出自适应编码决定。

如图7b所示,基层解码器702接收基层比特流分组711,并生成解码的基层数据,例如基层像素或残差714。在一些示例中,当基层比特流分组丢失时,在基层解码器702执行错误隐藏。方案750检查增强层块段的解码错误标志。如果解码错误标志是“0”,则增强层解码器704接收增强层比特流分组712和生成解码的增强层数据,例如增强层像素或残差717。在一些示例中,当增强层比特流分组丢失时,在增强层解码器704执行错误隐藏。

作为示例,运动补偿模块708接收嵌入在比特流中的运动向量716,并利用参考帧中的另一块执行运动补偿以预测像素。在一些示例中,基层视频比特流对源视频帧的缩减版本进行编码。基层残差714由放大模块或放大器706放大,并且输出数据719进入数字组合器720。当不需要放大处理时基层残差714直接进入数字组合器720。

作为示例,当增强层块段的解码错误标志是“0”时,做出决定718,在数字组合器720组合解码的增强层数据(例如增强层像素或残差717)和解码的基层数据(例如基层像素或残差714或719),以生成解码帧721。当增强层块段的解码错误标志是“1”,仅使用解码的基层数据来生成解码帧721。

作为示例,解码帧721存储在帧存储710中。可以将新参考帧722发送到运动补偿模块708以执行运动补偿。作为另一示例,运动补偿模块708的输出723根据帧内或帧间块决定715输入到数字组合器720。

对于传统方案,如果视频源通过视频电缆直接与接收显示器连接,则视频同步信号(例如像素时钟、vsync和水平同步(hsync))直接从源装置传输到显示装置。然而,在视频流的情况下,流系统可以流传输压缩的像素数据而不是同步信号。源装置的视频输出时钟和接收显示器的视频输入时钟不同步,其由嵌入在两个单独装置中的两个单独的晶体驱动。因此,即使系统能够减少比特流等待时间,两个时钟之间的微小差异也可导致实际显示等待时间随时间将变得与一帧等待时间一样大。发送器不可能通过网络向接收器发送像素时钟。

一个或多个示例性实施例通过以下方式解决这些技术问题:允许视频发送器或发送器和视频接收器或接收器彼此交换管理分组,以确保源装置的vsync时间和接收显示器的vsync时间之间的差异是小而有界的,其中术语vsync时间指检测到vsync上升沿的时间。在两个vsync时间同步之前,在发送器的tx同步器将其系统时间与在接收器的rx同步器的系统时间同步。之后,tx同步器执行vsync同步操作,包括以下两个步骤:

1.持续监视输入视频接口的vsync信号,并在检测到vsync上升沿时记录系统定时器的值。

2.将定时器值放入vsync分组中,并将定时器值发送到接收器。

发送器的分组管理器以每两个连续操作之间的一些时间间隔持续地重复上述操作。因此,即使两个vsync之间的时间间隔随着时间而增加,也可以在接收到最新的vsync分组时对其进行校正和最小化。

示例性实施例提供了一种以改进的等待时间加速执行视频流的方法。当视频数据从视频发送器传输到视频接收器时,示例性方法通过在视频发送器和视频接收器之间交换vsync分组,同步视频输出接口和视频输入接口的垂直同步(vsync)时间,从而减少视频流的等待时间。

在一些示例中,视频输出接口以规则的时间间隔生成vsync上升沿,其中该间隔由本地晶体驱动的电子计数器确定。在一些其他示例中,rx同步器基于预期时间间隔和vsync分组来确定下一个上升沿。在视频流开始之前,视频发送器向rx同步器通知两个连续的vsync上升沿之间的预期时间间隔,表示为t。rx同步器将下一个vsync的时间(表示为vr)初始化为-1,这意味着下一个vsync的时间尚未定义。在接收器系统的每个时钟周期,接收器检查接收器是否已接收到新的vsync分组,其携带最新的发送器vsync时间,表示为vs。如果接收到vsync分组,则接收器设置vr=vs+t。每当当前接收器系统时间等于vr,rx同步器将输出vsync上升沿,并更新vr,使得vr=vr+t。

一个或多个示例性实施例包括自适应通信装置,其具有至少一个网络接口以发送和接收视频分组,就像仅使用了单个网络接口。

不同的网络接口使用相同或不同类型的物理收发器。例如,网络接口可以是2.4ghz802.11n无线保真(wifi)、5ghz802.11acwifi、4g基带、以太网端口、homeplug、lifi等。每个网络接口支持至少一个信道,并配置为在给定时间使用可用信道之一。例如,2.4ghz802.11nwifi接口11个具有不同频率的可用信道,并且在给定时间选择一个信道。每个网络接口持续地监视所选信道的最新条件,例如比特错误率、接收信号强度指示(rssi)和媒体访问延迟等,并将这些条件报告给信道管理器。如果条件恶化太多,则信道管理器指示网络接口扫描其他可用的信道,并切换到具有更有利条件的另一信道以获得更好的通信性能。

示例性自适应通信装置对于通过允许信道分集来允许高度可靠的通信(例如无线通信)是有用的。自适应通信装置允许使用多个网络接口来建立具有不同特性的多个信道。作为示例,自适应通信装置具有以多个射频(rf)频率操作的多个无线接口。当在一个频率的无线通信在特定时间受到干扰时,很可能仍然能够在使用不同频率的另一个信道中发送视频分组。

示例性自适应通信装置与主机装置(例如如上所述的视频发送器或视频接收器)连接,以向主机装置提供通信服务。主机装置定义多个服务类别的服务要求以及如何将每个传出分组映射到服务类别。如本文所用,传出分组是由主机装置输出并由自适应通信装置接收的分组。在从主机装置接收到传出分组时,自适应通信装置识别服务类别并生成至少一个低级视频分组,并动态地选择由一个或个网络接口设置的至少一个最合适的信道来发送低级分组。低级分组生成方法和信道选择都取决于服务类别的要求。在一些示例中,自适应通信装置向网络接口通知关于每个低级分组的分组长度、最佳调制参数、信道编码参数和服务质量(qos)设置。在一些其他示例中,当从至少一个通信信道接收到低级分组时,第二自适应通信装置重新生成原始主机分组(即,由主机装置输出的分组),然后将原始主机分组转发到第二自适应通信装置的主机装置。

图8示出了根据示例性实施例的包含执行视频流的自适应通信装置的计算机或电子系统800。

如图所示,系统800包括视频发送器810、视频接收器850、与视频发送器810连接的自适应通信装置820,以及与视频接收器750连接的自适应通信装置840。自适应通信装置820通过一个或多个网络830与自适应通信装置840通信。

在示例性实施例中,视频发送器810和视频接收器850分别使用自适应通信装置820和自适应通信装置840来代替诸如wifi的标准网络接口。自适应通信装置820和840中的每一个至少提供快速数据信道和至少提供稳健反向信道。在另一示例中,在系统800中仅使用一个自适应通信装置(自适应通信装置820或自适应通信装置840)。

作为示例,视频发送器810和视频接收器850为非平等视频流定义至少以下三个分组服务类别,即:

1.基层视频类别,

2.增强层视频类别,以及

3.稳健类别。

作为示例,基层视频分组被映射到基层视频类别,而增强层视频分组被映射到增强层视频类别。基层视频类别要求具有高稳健性和较低的数据速率。增强层视频类别要求具有最低的稳健性和最高的数据速率。基于基层视频类别要求,分组仲裁器输出参数集以指示至少一个网络接口以高稳健性生成视频分组。基于增强层视频要求,分组仲裁器输出参数集以指示至少一个网络接口以最高数据速率生成分组。确认和管理数据分组被映射到稳健类别,并通过稳健信道被发送,其支持最高的稳健性和最低的数据速率。例如,以下列表按降序显示每个类别的稳健性要求:

1.稳健类别,

2.基层视频类别,和

3.增强层视频类别。

作为另一个示例,以下列表按降序显示每个类别的数据速率要求:

1.增强层视频类别,

2.基层视频类别,和

3.稳健类别。

图9示出了图表900,其图示了根据示例性实施例的两个自适应通信装置如何为分组传输进行通信。

仅出于描述的目的,该两个自适应通信装置分别被称为发送装置和接收装置。作为示例,发送装置接收主机分组或分组910,其包括两个服务类别a的主机分组(示为a1和a2)和一个服务类别b的主机分组(示为b1)。发送装置发现在长期演进(lte)接口上建立的信道1最适合服务于类别b分组,因此发送装置将b1转换为低级分组b’1,并通过信道1发送b’1。发送装置发现在802.11ac接口上建立的信道2最适合服务于类别a分组,因此发送装置将a1和a2转换为低级分组a’1和a’2,并通过信道2发送它们。接收装置通过信道1和信道2接收这些低级分组以进行解码,以获得解码或重建的主机分组920,其包括与主机分组910的那些相同的主机分组。

一个或多个示例性实施例包括执行具有改进性能的视频流的设备。该设备包括具有传输子系统的自适应通信装置。传输子系统包括分组仲裁器、信道管理器和至少一个网络传输接口。作为示例,信道管理器基于从视频发送器接收到的分组服务类别配置信息和从至少一个网络传输接口接收到的信道状态统计,为分组仲裁器生成指令。分组仲裁器从视频发送器接收多层比特流分组,从多层比特流分组的每个比特流分组生成至少一个低级分组,以及选择一个或多个通信信道以传输至少一个低级分组。

图10示出了根据示例性实施例的执行视频流的设备1000。

如图所示,设备1000包括具有传输子系统1010的自适应通信装置1001。传输子系统1010包括分组仲裁器1012、信道管理器1014、解复接器(demux)1016,以及至少一个网络传输接口tx#11018-1......tx#n1018-n。

作为示例,信道管理器1014从主机装置(例如视频发送器)接收分组服务类别配置信息1021和从各个网络接口tx#11018-1......tx#n1018-n接收信道状态统计1022。基于信息,信道管理器1014发送命令1023以指示分组仲裁器1012如何处理分组仲裁器1012从主机装置接收的传出主机分组或主机分组1024。

作为示例,分组仲裁器1012监视多个信道中的瞬时条件。基于分组服务类别和各种信道条件1025,分组仲裁器1012从每个主机分组(例如,多层比特流分组的每个比特流分组)生成至少一个低级分组。在一些示例中,分组仲裁器1012确定每个低级分组的信道参数集,并选择一个或多个最佳信道来发送分组。信道参数包括但不限于信道调制方法和参数、信道编码方法和参数,以及qos参数等。分组仲裁器1012将低级分组和参数集1026转发到demux1016,其选择与所选信道相对应的至少一个网络传输接口。

图11示出了根据示例性实施例的自适应通信装置的接收子系统1120。

如图所示,接收子系统1120包括分组再生器1122、mux1126和至少一个网络接收接口rx#1128-1......rx#n1128-n。作为示例,所述至少一个网络接收接口rx#1128-1......rx#n1128-n从传输子系统接收至少一个低级分组,并且将所述至少一个低级分组转发到分组再生器1122。分组再生器1122通过mux1126从不同网络接口接收一个或多个低级分组以生成主机分组(例如,存在于多层比特流分组的原始比特流分组),并将重新生成的主机分组转发到主机装置(例如视频接收器)。

在一些示例中,主机分组由多个低级分组携带,分组再生器1122等待接收到所有低级分组以生成原始高级分组(即主机分组)。在一些其他示例中,当确定之前接收到主机分组的相同副本时,分组再生器1122丢弃重新生成的主机分组。

作为示例,主机装置(例如视频发送器、视频接收器等)定义如何识别每个主机分组的服务类别的分组分类方式,以及每个服务类别的服务要求。分组仲裁器(例如分组仲裁器1012)使用由信道管理器(例如信道管理器1014)指示的分类方法来检查分组头,以实时确定每个传出主机分组的服务类别。例如,具有特定端口号的分组被映射到视频服务类别,而相应的服务要求保证了20mbps的吞吐量和5ms的等待时间。在另一示例中,具有另一端口号的分组被映射到用于网络服务和检查电子邮件的网结服务类型。对性能保证没有要求,但要求最小化功耗和通信服务费。作为示例,服务要求包括但不限于:

-平均分组延迟

-最大分组延迟

-持续的吞吐量

-预期的分组错误率

-用于分组传输或接收的功率

-网络服务费

-安全要求:例如,主机装置或主机可以禁止通过任何公共wifi网络发送信用卡号。它可以要求自适应通信装置仅通过移动电话网络或可信wifi网结发送分组。

作为示例,在确定服务类别时,分组仲裁器生成低级分组并选择信道以实时发送低级分组以优先服务类别所需的性能。在一些示例中,信道管理器将以下信息发送到分组仲裁器以支持这些操作:

1.每个网络接口的可用调制和编码方法以及每种调制和编码方法相应的比特错误率和物理数据速率。

2.如何基于即时信道条件选择至少一个信道来发送特定服务类别的分组的方法。例如,如果要求是高可靠性,则选择噪声最小的信道。

3.每个服务类别的qos设置或参数。

作为示例,分组仲裁器基于瞬时信道条件和分组服务类别的要求,动态地选择至少一个信道,其是最合适每个分组的信道。当一个信道明显优于其他信道时,分组仲裁器使用该最佳信道。在一些示例中,多个合适的信道具有服务类别的类似的期望状况,发送器使用多个合适的信道发送分组以平衡流量负载。使用多个物理信道的示例性优点是分散分组丢失的风险。不同信道的信道条件不可能同时恶化,因此很可能在给定时间仅影响其中一个信道上的传输,从而提高传输可靠性。

使用多个信道的一个示例性方法是分组仲裁器以循环(roundrobin)方式在多个合适的信道中选择信道。在这示例中,表示为d1的自适应通信装置具有两个wifi接口并且分别使用两个非重叠的wifi信号a和b。还有另一个使用wifi信道a的wifi装置d2,但其不连接与d1相同的接入点。当wifi装置d2空闲时,d1发现信道a和b都是合适的,因此d1通过该两个信道分发分组传输。如果wifi装置d2稍后发送数据并且干扰信道a上的d1,则信道b中的其他分组不受影响,因此丢失所有分组的风险降低。

在示例性实施例中,自适应通信装置(例如参考图9的发送装置)将传出主机分组分解为多个低级分组,将序列号附加到每个低级分组,以及通过至少一个最适合于满足分组服务要求的信道发送它们。用作接收装置的另一自适应通信装置从不同信道接收低级分组,并按照序列顺序重新生成原始分组,然后将原始分组转发到其主机。

在示例中,服务类别需要异常低的分组错误率,并且分组仲裁器复制低级分组的多个副本,并通过多个信道发送分组的每个副本。每个复制的低级分组都具有相同的序列号。接收装置稍后丢弃复制的低级分组。

图12示出了图示根据示例性实施例的通过多个信道分发低级分组的图1200。

如图所示,传出主机分组1210被分解为三个低级分组。分组1通过信道1发送,而分组2和3通过信道2发送。然后,接收装置从两个信道接收由相同的三个分组组成的分组1220。

作为示例,给定了所选信道的操作状况和与分组相关联的服务要求,分组仲裁器确定用于低级分组生成的最佳参数集,即分组长度、网络接口所使用的调制方案和前向纠错编码方法和服务质量(qos)设置。存在许多参数集的组合,每个参数集导致不同的传输速率和分组错误率。一些调制方案(例如64正交幅度调制(qam))具有较高的传输速率和较高的分组错误率,而其他调制方案(例如二进制相移键控(bpsk))具有较低的物理传输速率和较低的分组错误率。当无线电信号衰减或受到来自其他射频(rf)装置的干扰时,错误率将增加。在那些更糟糕的情况下,分组适配器请求网络接口使用具有较低比特错误率的调制方法,即使其效率较低。在其他情况下,应该使用具有更高物理速率的调制方案。较长的前向纠错码降低了分组错误率,但也增加了传输开销。较长的分组长度会提高传输效率,但也会增加分组错误率。因此,基于当前信道条件,分组仲裁器自适应地选择最佳参数集以优化每个分组的服务要求。如果最佳分组长度小于原始分组,则分组仲裁器将原始分组分解为具有最佳长度的多个较短的低级分组。在一些示例中,为了决定最佳参数集,主机装置需要定义分组参数成本函数。假设有两个优化目标,即传输速率和分组错误率。成本函数表示为f(t,e),其中t和e是预期的传输速率和分组错误率。假设t(p)是使用在特定网络接口上的参数集p的传输速率,而e(p)是使用相同参数集p的分组错误率。基于成本函数,分组仲裁器可以找到最佳参数集p’,使得f(t(p’),e(p’))是最佳的。分组仲裁器将低级分组和最佳分组参数集p’发送到与p’相关联的网络接口以相应地在物理介质中生成和发送低级分组。

作为示例,信道条件定义为包括但不限于以下的信息:信噪比、物理层(phy)层、比特错误率、传输延迟、持续的吞吐量和其他特性等。某些通道条件取决于接口类型和/或接口配置,并且不会随时间而变化。例如,由于波长较长,使用900mhzism频带的通信装置具有较长的传输范围,但具有比5ghzwifi更低的带宽。其他信道条件(例如信噪比和比特错误率等)将动态地变化,并且每个接口必须持续地检查每个信道的变化条件。可以使用不同的方法来确定这些条件。例如,具有wifi接口的装置可以监视rssi。某些用户级应用例如ping也可用于检查通道条件,例如往返等待时间。

作为示例,如果信道的操作条件比最小期望要求差,则信道管理器主动切换到不同信道以搜索更好的信道。由于网络接口不能同时改变信道和执行分组传输/接收,因此在改变信道时网络接口不可用于服务主机装置,并且对于大多数网络接口,这持续时间可能相当长。在自适应通信装置具有多个网络接口的情况下,分组仲裁器可以将分组重定向到不受信道切换影响的另一个最佳操作信道。在信道切换之后,如果新设置信道优于现有信道,则分组仲裁器将切换为再次使用新信道。

作为示例,信道的可靠性不仅取决于分组错误率,还取决于检测分组传输错误和重新发送分组所需的时间。在一个示例中,包括具有多样化物理属性的多个网络接口的自适应通信装置与面前连接协议组合,以通过提高重传效率来进一步提高可靠性。使用面向连接协议例如传输控制协议(tcp)的接收装置使用确认分组来通知发送装置重新发送损坏的数据分组。重传延迟在很大程度上取决于发送装置接收确认分组的速度。在一个示例中,自适应通信装置提供支持高传输速率的至少一个高速信道(表示为快速数据信道),以及支持具有低分组错误率的稳健分组传输的至少一个较慢但较稳健的信道(表示为稳健反向信道)。自适应通信装置的主机定义至少两个分组服务类别,即稳健服务类别和快速服务类别。面向连接的协议的数据分组属于快速类型。由接收器发送以确认数据分组接收的确认分组属于稳健服务类别。两个自适应通信装置,每个设置快速数据信道和稳健反向信道,分别通过数据信道和稳健信道相互交换数据分组和确认分组。快速服务类别的服务要求是相对于稳健服务类别较高的数据速率。稳健服务的服务要求是高可靠性。实现稳健信道的物理网络收发器或接口应具有允许稳健分组传输的物理特性,例如较低的比特错误率、较长的范围或使用较少拥挤的rf频率等。

作为示例,用于实现稳健信道的网络收发器的一种类型是sub-ghz收发器,例如sub-ghzism收发器或802.11ah装置。这种类型的分组适合于通过sub-ghz信道传输。例如,稳健类别的服务要求是:

1.至多每秒几百千比特的带宽

2.~1ms的低和可预测的延迟。

作为示例,sub-ghz信道通常提供1~2mbps的带宽。虽然数据速率对于其他常见应用(例如网络浏览和视频流)来说太低,但足够于发送确认分组。sub-ghz信道比wifi等其他高速收发器更强大,其对较高的物理速率进行了优化。用于sub-ghz信道的sub-ghz波长较长,因此它可以传播较长的距离,因此即使在较远的距离也允许低分组错误。作为另一示例,网络接口(例如wifi、正交频分复用(ofdm)、移动基带等)是实现快速数据信道的合适选择。

作为示例,在一些视频流应用中,例如游戏流、无人机摄像机视频流和家庭视频流,视频接收器提供反回信道以发送交互信号以允许用户远程控制输出源视频的装置。例如,游戏流系统的反回信道携带来自鼠标、键盘或游戏手柄的控制信号以与游戏控制台交互。在无人机流中,反回信道携带信号以远程控制无人机飞行操作。在将机顶盒视频流传输到另一台电视的家庭视频流系统中,反回信道携带红外遥控信号来控制机顶盒。交互分组的服务要求与确认分组的服务要求非常相似。两者都需要低的分组错误率,但不需要高数据速率。结果,自适应通信装置将确认分组和交互分组都映射到稳健服务类别,并使用稳健信道来发送和接收这两种类型的分组。通常,自适应通信装置可以将所有类型的分组分配给稳健服务类别,这些分组需要低分组错误率,但不需要高数据速率。

为了进一步提高可靠性,示例性实施例复制确认和交互分组。接收器和发送器通过数据和稳健信道同时发送和接收这些分组,从而进一步增加通过任一信道成功接收的概率。视频发送器通过低级分组的序列号识别复制的分组接收,并相应地丢弃复制的那个。

图13示出了根据示例性实施例的执行视频流的方法1300。方法1300执行具有改进的性能的视频流,例如改进的可靠性和错误恹复能力。

框1302表示发送从视频数据生成并被划分传输优先级的多层比特流分组。作为示例,多层比特流分组包括基层分组和增强层分组。基层分组属于较低层,具有较高的传输优先级,增强层分组属于高层,具有较低的传输优先级。

框1304表示通过接收确认来通知视频发送器比特流分组的接收状态,从而改进错误恹复能力以执行视频流。例如,当观察特定比特流分组的传输失败或错误时,视频接收器产生确认分组以通知视频发送器该错误。基于这种最新的确认信息,视频发送器估计错误传播并相应地采取动作,例如将比特流分组重新发送到视频接收器,使得较低层分组具有较高优先级。

图14示出了根据另一示例性实施例的执行视频流的方法1400。

作为示例,方法1400可以由自适应通信装置执行,例如参考图8的自适应通信装置820或840,或参考图10的自适应通信装置1001。仅出于说明目的,自适应通信装置包括多个网络接口以促进自适应信道传输。例如,当一个网络接口正在发送数据(例如视频分组)时,另一个网络接口正在切换到更好的信道。完成信道切换后,两个网络接口都可用于发送数据。

框1410表示利用多个网络接口的第一网络接口,通过通信信道将由自适应通信装置生成的低级分组传输到第二装置。例如,由自适应通信装置从视频分组或比特流分组转换成低级分组。第二装置可以是接收器,例如参考图3的视频接收器350。

框1420表示利用多个网络接口的第二网络接口,并根据信道条件,切换到另一通信信道以进行低级分组的传输。第二网络接口与第一网络接口不同。作为示例,信道条件是包括但不限于以下的信息:信噪比、物理层(phy)速率、比特错误率、传输延迟、持续的吞吐量和其他特性等。当通过其发送分组的通信信道的信道条件不符合要求时,第二网络接口切换到具有更好信道条件的另一个通信信道,以利用改进的可靠性来进行分组传输。

框1430表示利用第一网络接口和第二网络接口,通过另一通信信道传输低级分组。例如,在完成信道切换之后,两个网络接口用于通过具有更好的信道条件的信道发送低级分组。

根据示例性实施例的方法提供为示例,并且来自一种方法的示例不应被解释为限制来自另一方法的示例。附图和其他信息示出了示例性数据和示例性结构;其他数据和其他数据库结构可以与示例性实施例一起实现。此外,不同附图中讨论的方法可以添加到其他图中的方法或与其他图中的方法交换。此外,具体的数字数据值(例如特定的数量、数目、类别等)或其他特定信息应该被解释为用于讨论示例性实施例的说明。这样的特定信息不是提供来限制示例性实施例。

如本文所用,术语“视频分组”和“比特流分组”可互换使用,并且指从视频比特流或比特流编码或生成的分组。

如本文所用,术语“视频发送器”是将音频和/或视频信号或数据从一个位置传输到另一个位置的装置。例如,“视频发送器”从源装置(例如摄像机)和对数据进行编码以进行传输。

如本文所用,“视频接收器”是从另一装置(例如视频发送器)接收音频和/或视频信号或数据的装置。

如本文所用,“vsync分组”是当视频发送器观察到vsync上升沿时携带系统时间的分组。

如本文所用,“确认分组”是网络分组,其包括指示是否接收到分组、消息或分段的信息。

如本文所用,“系统时间”指的是计算机系统对时间经过的概念。例如,系统时间可以通过系统时钟来测量,该系统时钟通常被实现为自某个任意开始日期以来已经发生的滴答数(tick)的简单计数。

如本文所用,“发送器系统时间”指的是视频发送器的系统时间。“接收器系统时间”是指视频接收器的系统时间。

如本文所用,利用基于所请求的服务类别优化比特率和可靠性的参数来生成“低级分组”。

如本文所用,“显示期限”指的是用分组数据对一些原始像素进行解码并且应该将其发送到视频输出接口的时间。

如本文所用,“分组期限”等于“显示期限减去预期的分组传输等待时间”。

如本文所用,“视频质量”和“图像质量”可互换使用。“视频质量”是通过视频传输/处理系统的视频的特征,是对感知视频降级的正式或非正式测量(通常与原始视频相比)。

如本文所用,“可用网络带宽”是可用于数据传输的网络带宽。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1