首页> 中国专利> 重放用于隐藏视频解码错误的旧分组和基于无线链路状况的视频解码等待时间调整

重放用于隐藏视频解码错误的旧分组和基于无线链路状况的视频解码等待时间调整

摘要

下面描述系统、装置、物品和方法,其包括用于重放用于隐藏视频解码错误的旧分组的操作以及用于基于无线链路状况的视频解码等待时间调整的操作。

著录项

  • 公开/公告号CN107113423A

    专利类型发明专利

  • 公开/公告日2017-08-29

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201580071912.0

  • 发明设计人 Y.弗里什曼;M.纳曼;

    申请日2015-12-09

  • 分类号

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人徐红燕

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 03:14:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-26

    授权

    授权

  • 2018-03-02

    实质审查的生效 IPC(主分类):H04N19/102 申请日:20151209

    实质审查的生效

  • 2017-08-29

    公开

    公开

说明书

相关申请

本申请要求于2015年1月31日提交的题为“REPLAYING OLD PACKETS FOR CONCEALINGVIDEO DECODING ERRORS(重放用于隐藏视频解码错误的旧分组)”的美国临时申请No.62/110,503以及于2015年1月31日提交的题为“VIDEO DECODING LATENCY ADJUSTMENT BASEDON WIRELESS LINK CONDITIONS(基于无线链路状况的视频解码等待时间调整)”的美国临时申请号62/110,505的权益,其内容明确地完全并入本文。

背景技术

视频编码器压缩视频信息,使得可以在给定带宽上发送更多信息。然后可以将压缩的信号发射到接收机,所述接收机在显示之前对信号进行解码或解压缩。

在一些传统的无线显示系统中,使用视频压缩以便减少空中带宽。由于无线介质是不可靠的,并且一些携带压缩视频的分组会丢失,所以解码器可以实现错误隐藏。现有的错误隐藏实现典型地使用帧缓冲器,其可以包含先前解码的图像。图像的丢失部分典型地可以用来自帧缓冲器的先前的图像的共位(co-located)部分替换。

附图说明

本文所描述的材料不是在附图中通过限制的方式而是通过示例的方式进行了说明。为了说明的简单和清楚,附图中所图示的元件不一定按比例绘制。例如,为了清楚起见,相对于其它元件,可能将某些元件的尺寸进行放大。此外,在认为适当的情况下,在图中重复参考标签以指示相应或类似的元件。

图1是示例视频处理系统的图示图;

图2是示例现有技术无线显示视频解码器的图示图;

图3是示例视频帧的图示图;

图4是示例无线显示视频解码器系统的图示图;

图5是被撕裂(torn)的视频帧的示例图示;

图6图示了模式决策逻辑的示例实现;

图7示出了等待时间变化系统的示例实现;

图8是图示了示例编译码过程的流程图;

图9提供示例视频编译码系统和操作中的视频编译码过程的图示图;

图10是示例视频编译码系统的图示图;

图11是示例系统的图示图;和

图12是全部根据本公开的至少一些实现进行布置的示例系统的图示图。

具体实施方式

尽管在下文的说明书阐述了可以显现在诸如例如片上系统(SoC)架构之类的架构中的各种实现,但是本文所描述的技术和/或布置的实现不受限于特定的架构和/或计算系统,并且可以由用于相似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或诸如机顶盒、智能电话等的各种计算设备和/或消费电子(CE)设备可以实现本文所描述的技术和/或布置。此外,尽管在下文的说明书可以阐述许多特定细节,诸如系统组件的逻辑实现、类型和相互关系、逻辑分区/集成选择等,但是可以在没有这些具体细节的情况下实践所要求保护的主题。在其它实例中,为了不模糊本文公开的材料,可以不详细地示出诸如例如控制结构和完整的软件指令序列之类的一些材料。

本文所公开的材料可以以硬件、固件、软件或其任何组合来实现。本文所公开的材料还可以被实现为存储在机器可读介质上的指令,其可以被一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或发射信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电气、光学、声学或其它形式的传播信号(例如载波、红外信号、数字信号等)以及其他。

在本说明书中对“一个实现”、“实现”、“示例实现”等的引用指示所描述的实现可以包括特定的特征、结构或特性,但是每个实现可以不必定包括特定的特征、结构或特性。此外,这样的短语不必定指代相同的实现。此外,无论本文是否明确描述,当结合实现来描述特定特征、结构或特性时,认为结合其它实现来达成这样的特征、结构或特性是在本领域技术人员的知识范围内的。

下面描述系统、装置、物品和方法,其包括用于重放用于隐藏视频解码错误的旧分组的操作以及用于基于无线链路状况的视频解码等待时间调整的操作。

如上所述,在一些传统无线显示系统中,使用视频压缩以便减少空中带宽。由于无线介质是不可靠的,并且一些携带压缩视频的分组会丢失,解码器可以会实现错误隐藏。现有的错误隐藏实现典型地使用帧缓冲器,其可以包含先前解码的图像。图像的丢失部分典型地可以用来自帧缓冲器的先前的图像的共位部分来替换。

此外,一些传统解决方案典型地可以使用帧缓冲器以便存储先前解码的图像。缓冲器很大,并且典型地以高带宽进行访问。它通常位于芯片外。这增加了产品成本和功耗。此外,已知的解决方案通常需要设计解码器,其可以正确地处理丢失的分组。这样的解码器的实现和生效可能是复杂的。

如下面将更详细描述的那样,代替使用帧缓冲器,本文所描述的一些实现可以利用软件来检测图像的哪些部分(例如,在片级别)丢失。代替使用帧缓冲器来构成丢失的像素,可以重新解码来自先前视频帧的共位片,以便隐藏丢失的分组。因此,可以不是在未压缩的像素域中而是在压缩分组域中执行错误隐藏。

与传统解决方案对照而言,本文所描述的一些实现可以不需要帧缓冲器,因此可以减少产品成本和功耗。本文所描述的一些实现可以不需要能处理丢失的分组的解码器。这可显著地简化解码器实现(其可在HW中进行)和生效,从而减少项目时间线和风险。例如,本文所描述的一些实现可以用于减少芯片上所导致的WiGig系统的复杂性。

图1是根据本公开的至少一些实现所布置的示例视频编译码系统100的图示图。在各种实现中,视频编译码系统100可以被配置为根据一个或多个高级视频编解码器标准进行视频编译码和/或实现视频编解码器。

此外,在各种实施例中,视频编译码系统100可以被实现为图像处理器、视频处理器和/或媒体处理器的一部分,并且可以根据本公开进行帧间预测、帧内预测、​​预测编译码和/或类似操作。

如本文所使用的,术语“编译码器”(coder)可以是指编码器(encoder)和/或解码器(decoder)。类似地,如本文所使用的,术语“编译码”(coding)可以是指经由编码器的编码(encoding)和/或经由解码器的解码(decoding)。例如,如本文所述的视频编码器和视频解码器(例如,参见图4)都可以是能够进行编译码的编译码器的示例。

在一些示例中,视频编译码系统100可以包括为了清楚起见而在图1中未示出的附加项目。例如,视频编译码系统100可以包括处理器、射频类型(RF)收发机、显示器和/或天线。此外,视频编译码系统100可以包括为了清楚起见而在图1中未示出的附加项目,诸如扬声器、麦克风、加速度计、存储器、路由器、网络接口逻辑等。

在一些示例中,在视频编译码系统100的操作期间,可以以视频数据帧的形式将当前视频信息提供给内部比特深度增加模块102。当前视频帧可以在模块104处被分割成最大编译码单元(LCU),并且然后被传递给残差预测模块106。残差预测模块106的输出可以通过变换和量化模块108经受已知的视频变换和量化处理。可以将变换和量化模块108的输出提供给熵编译码模块109以及给去量化和逆变换模块110。熵编译码模块109可以输出熵编码比特流111以用于到对应解码器的通信。

在视频编译码系统100的内部解码循环内,去量化和逆变换模块110可以实现由变换和量化模块108进行的操作的逆,以将残差预测模块106的输出提供给残差重构模块112。本领域技术人员可以认识到,如本文所述的变换和量化模块以及去量化和逆变换模块可以采用缩放技术。残差重构模块112的输出可以反馈到残差预测模块106,并且也可以被提供给包括解块滤波器114、采样自适应偏移滤波器116、自适应环路滤波器118、缓冲器120、运动估计模块122、运动补偿模块124和帧内预测模块126的环路。如图1中所示,运动补偿模块124或帧内预测模块126的输出都与残差预测模块106的输出组合成为解块滤波器114的输入,并且与LCU分割模块104的输出求差以充当到残差预测模块106的输入。

如下面将更详细描述的那样,代替使用帧缓冲器,本文所描述的一些实现可以利用软件来检测图像的哪些部分(例如,在片级别)丢失。代替使用帧缓冲器来构成丢失的像素,可以重新解码来自先前视频帧的共位片,以便隐藏丢失的分组。因此,可以不是在未压缩的像素域中而是在压缩分组域中执行错误隐藏。

与传统解决方案对照而言,本文所描述的一些实现可以不需要帧缓冲器,因此可以减少产品成本和功耗。本文所描述的一些实现可以不需要能处理丢失的分组的解码器。这可显著地简化解码器实现(其可在HW中进行)和生效,从而减少项目时间线和风险。例如,本文所描述的一些实现可以用于减少芯片上所导致的WiGig系统的复杂性。

如下面将更详细地讨论的,视频编译码系统100可用于执行下面结合图3-图4讨论的各种功能的一些或全部。

图2是示例现有技术无线显示视频解码器系统200的图示图。

如所图示的,在现有无线显示视频解码器系统200中,可以接收编码视频分组的流,并且可以输出解码的像素。帧缓冲器204可以用于存储先前解码的帧。当经由视频解码器202解码成功时,可以将新解码的像素写入帧缓冲器中。这些可以用于隐藏未来视频帧中的解码错误。当由于分组的丢失/迟到而引起解码失败时,可以从帧缓冲器读取相应的丢失像素,以便隐藏该错误。可以使用大而昂贵的高存储器带宽高功耗存储器以用于实现帧缓冲器。必须将解码器设计为处理丢失的分组而不会失败。

图3是根据本公开的至少一些实现所布置的示例视频帧300的图示图。

虽然现有的实现在未压缩(即,像素)域中执行错误隐藏,但是本文所描述的各种实现可以在压缩域中执行错误隐藏。在各种实现中,视频帧300可以被分割成一个或多个部分,其中每个视频分组仅属于一个部分。每个部分可以包括整个视频帧、单个片或若干片。在图示中,视频帧300可以被分割成四个部分(例如,片),例如,每个占据若干宏块行。

图4是根据本公开的至少一些实现所布置的示例无线显示视频解码器系统400的图示图。

如所图示,当接收到分组时,控制无线显示视频解码器系统400的软件(例如,重放滤波逻辑模块402)可以确定分组属于哪个部分。这可以通过分组报头中的信息来进行,诸如:WDE视频帧号、PES分组数据对齐指示(其在新的AVC片开始时被设置)、片报头的first_mb_in_slice字段或(由编码器生成的)包含在分组中的附加专有信息等和/或其组合。当重放滤波逻辑模块402确定图像的一部分的所有分组都被正确地接收时,可以发送分组以用于经由解码器406进行解码并且也存储在视频分组储存器404中(用于错误隐藏)。当重放滤波逻辑模块402确定某些分组丢失(或在其呈现时间之后到达)时,代替发送新分组(例如,不完整部分),可以发送存储在视频分组储存器404中的对应部分的分组以用于解码。这确保了解码器406总是接收到没有分组丢失的流。因此,解码器406不需要在硬件方面实现复杂的错误隐藏措施,也不需要保持帧缓冲器。

可以通过修改无线显示视频解码器400以支持旧分组--例如,其呈现时间/序列号已过去的分组--的解码,来完成简化该重放滤波逻辑模块402的软件实现。可以通过向无线显示视频解码器400传递的附加控制元数据或通过修改无线显示视频解码器400以接受具有旧序列号的分组并将它们视为旧分组以及忽略它们的呈现时间戳(其是已过去的,并且在常规解码器中将不被解码),来完成检测在无线显示视频解码器400中的这些分组(例如,可以修改解码器以便接受那些即使它们具有旧序列号的分组)。

可以实现这种技术的示例应用(sample application)是WiGig显示扩展(WDE)中的仅帧内(intra only)模式。这里,图像可以由许多片(每个宏块行在1到16个片之间)组成,并且所有宏块可以是帧内宏块(从头开始编码)。使用仅帧内编码意味着可以容易地将接收不完整的新片(例如,丢失的分组)替换为来自先前解码的图像的共位片。此外,片开端可以与WDE分组边界对齐。在该配置中,可以将几个片聚合成图像的单个部分,并且简单地用针对过去被正确接收的共位区域的分组替换丢失的内部编码分组。

图4中所图示的示例实现可以包括不是使用帧缓冲器而是使用压缩分组以便隐藏错误的思想。这减少了实现成本、复杂性并缩短了开发进度。

示例实现包括通过注意到分组的序列号(例如,WDE分组序列号)是旧的(低于被解码的最高序列号)而使解码器识别旧分组(替换丢失/晚到的分组)的思想。这简化了错误隐藏过程:SW只需要向解码器发送旧分组。可能不需要在SW和解码器之间的显式通信或同步。

由于SW确保发送到解码器的所有片是完好的(全部分组是新的或全部分组都是旧的),解码器不需要实现为了处理某些分组丢失/晚到的情况所需要的复杂的错误隐藏。这显著地减少了解码器实现和生效的复杂性(通常在HW中实现)。而且,当存在解码器错误时,在解码器实现中等待直到下一个视频帧的开始是常见的。在无线链路上,这意味着每个丢失/晚到的分组都将损坏视频帧的显著一部分,导致用户体验不佳。

当使用这个示例实现时,SW控制错误隐藏的粒度。在诸如WiGig WDE的情况下,其中可以将帧划分成许多片,伪影将被更加局部化(例如,一个片)。

注意,该思想主要针对其中所有片都是帧内(Intra)或P_skip片的编解码器。当编解码器还支持P个宏块(具有非零残差/运动矢量)时,仍然可以利用该思想,以便避免解码器中的复杂错误隐藏。在这种情况下,SW可以在具有丢失的分组的片的情况下馈送P_skip片(如果不使用本文所描述的技术,则这需要解码器来处理错误)。

为了帮助SW控制解码器将分组分成片,并且然后成为视频帧的一部分,可以在WDE分组报头中传达附加数据。这个数据提供以下信息:分组所属的片编号,指示这是否是片中的第一分组的比特,指示这是否是片中的最后一个分组的比特。除了片开始必须与WDE数据分组边界对齐的WiGig WDE限制之外,使用此信息使得即使屏幕的某些部分丢失也仍然能够继续解码新的分组。这有助于将无线信道中丢失分组的影响局部化。这里的概念是在报头部分中添加关于流的高级数据,以这种方式使得SW而不是解码器可以容易地获得关于分组的内容的信息(并且使用它来隐藏错误)。

如下面将更详细地讨论的,无线显示视频解码器400(例如,图4)可以用于执行下面结合图8和/或图9所讨论的各种功能中的一些或全部。

如将在下面更详细地讨论的,图5-图7中描述的示例实现讨论了可以在无线显示视频解码中在强健性和等待时间之间自动地进行平衡的算法。

现有解决方案通常需要用户在会话启动时(例如,在无线显示会话开始之前)在使用典型地不太强健(例如,更多的撕裂)的低等待时间/游戏模式和更强健(例如,解码视频上较少/无撕裂)的高等待时间模式之间进行选择。

下面讨论的示例实现监视解码视频中的撕裂次数,并且当撕裂频率太高时,切换到没有撕裂的较高等待时间模式。这可以通过添加一个视频帧的附加延迟来完成,并且总是解码完好地接收的最后一个图像(例如,没有撕裂地接收到的图像)。当无线链路状况改善时,可以移除该额外的视频帧等待时间。这个示例实现可以在没有来自用户干预的情况下工作。例如,这个实现可以根据无线链路状况在空中采用等待时间。这可以在不同的无线链路状况下给出强健的视频,同时将等待时间最小化。低等待时间对于无线对接而言通常至关重要,其中用户通过无线显示链路来与计算机交互。

图5是根据本公开的至少一些实现所布置的被撕裂的视频帧的示例图示。

在无线显示系统中,存在视频强健性和等待时间之间的折衷。当使用小于视频帧的等待时间时,解码器在知道对应于该视频帧的所有分组是否通过无线链路完好地到达解码器之前开始输出视频帧。当某些分组丢失时发生撕裂:其中解码视频帧500的一部分属于新接收的分组502,而其余部分(具有丢失分组的部分)是错误隐藏504的结果。通常,错误隐藏意味着显示来自先前接收的帧的像素。这导致在视频帧500中被称为撕裂506的伪影,其是可检测和令人烦恼的。

在现有系统中,为了避免显示图像500中的撕裂,用户可以选择更加强健的模式。在这个模式中,解码器等待直到完好地接收对应于每个视频帧的所有分组,并且然后才开始解码。这确保不会有撕裂506,但是意味着端到端(编码器到解码器)等待时间大于一个视频帧。高等待时间在诸如其中需要眼睛-手部协调以及对用户交互进行快速响应的游戏和生产力工作之类的交互式应用中是令人烦恼的。

如将在下面更详细地讨论的,图6-图7中讨论的示例实现包含两部分:动态地变化等待时间的方法以及决定是使用低等待时间还是高等待时间模式的模式决策逻辑。

图6图示了根据本公开的至少一些实现所布置的模式决策逻辑的示例实现。

在所图示的示例中,系统600典型地以低等待时间模式启动。如果在Y个视频帧内出现超过X个撕裂,则在操作602处可以声称无线链路为坏。然后,系统转换到高等待时间模式,其可能是强健的。在这种高等待时间模式下,没有撕裂,因为只有完全完好的视频帧才被发送到解码器。在没有撕裂/丢失的分组的Z个视频帧被解码之后,可以声称无线链路良好。此时,在操作604处,系统转换回低等待时间模式。X、Y和Z的值可以根据用例而预先建立和/或实时地确定。

关于帧撕裂与帧重复:根据我们的经验(在实验室中进行测试),人们不会注意到何时若干(例如,3个)视频帧被重复。相比之下,人们能够检测到在视频序列内部的具有撕裂或丢失像素的甚至单个图像(例如,由丢失分组引起的图像的黑色部分将被人作为图像中的闪光而被检测到)。因此,所提出的算法尝试将具有撕裂的图像数量最小化。此外,通过累积整个完好的视频帧,并允许额外的端到端等待时间,可以有避免帧重复的更好机会。虽然在低等待时间模式下,到达得太晚(例如,在其计划的解码/呈现时间之后)的分组将导致撕裂,但是当增加等待时间时,可能会更高的机会分组的重传将成功,并且视频帧将稍后但完好地到达。

此外,在一些无线技术(例如,诸如WiGig)中,当无线链路恶化时,链路的临时中断的概率增加。在这些中断期间,无线电通过搜索更好的传输参数来尝试改善链路状况。示例实现可以自动检测这种情况并临时切换到高等待时间模式。在这种模式下,链路中断将不太引人注意(折衷了由于链路中断而导致的分组的晚到达与改善的图像强健性(由于分组未按时到达而导致的较少撕裂))。关于直接检测无线链路的质量:典型来说重要的是有多少分组丢失/到达太晚而无法解码和呈现。该知识不能直接用于无线层。例如,即使多次重发分组,仍可以按时成功接收它(避免发生撕裂)。在第二个示例中,丢弃诸如包含(冗余)序列参数集的分组之类的某些分组不会在解码中引起任何问题,但如果无线层注意到它丢失,则可能会错误地将链接声明为坏。

此外,并不总是能够检测正在使用的任务的交互性质。然而,可以用来自OS和/或应用程序的提示来尝试这样的检测,这可能增加显著的复杂性。在所有情况下可能都是不可能的(例如,一些不提供此信息的传统应用)。此外,即使当应用需要强健性(无撕裂)时,示例实现也可能允许减少等待时间(冒着撕裂的风险)。即使它覆盖了预先存在的应用需求,但这也改善了用户体验。只有当链路状况为坏并且需要增加等待时间时才使用它。在没有示例实现的情况下,由于将更经常地使用高等待时间/强健模式--即使不是必要的(因为链路良好),所以用户体验将会降级。此外,可以在接收机(解码器)侧完成改变等待时间,同时在发射机(编码器)侧需要完成检测任务的性质,因此如果任务的交互性质的检测被使用,则需要发送附加的控制信息。相反,这里讨论的示例实现可以完全植入接收机侧,这可能更简单。示例实现不需要任何OS/应用程序提示。

图7示出了根据本公开的至少一些实现所布置的端到端等待时间可以如何经由无线等待时间变化系统700而动态变化的示例实现。

在所图示的示例中,当接收到新分组时,将它们发送到滤波逻辑模块702,滤波逻辑模块702累积完整的视频帧,其中所有分组都是完好的(并且没有分组丢失)。可以通过解析视频分组所包含的元数据诸如视频帧号或寻找诸如在非VCL分组上指示新视频帧开始的呈现时间以及没有分组丢失(例如,分组序列号中可能没有空)之类的指示来完成检测没有分组丢失。可以将累积的视频帧存储在“完好地接收的最后一个视频帧”储存器704中。

当在分组源切换模块706处低等待时间模式为有效的时,接收到的分组将立即由解码器708解码。当在分组源切换模块706处强健/高等待时间模式为有效的时,解码器708可以被馈送来自完好地接收的最后一个视频帧存储器704的分组。这些分组是一个或多个旧的视频帧。为了对其呈现时间是过去的这样分组进行解码,在解码之前修改分组中的呈现时间,或者可以修改解码器708以便支持旧分组的解码。可以通过一个信号(例如,由上述逻辑生成的模式选择信号)将解码器708置于允许对旧分组进行解码的特殊模式中。

如下面将更详细地讨论的,可以使用无线显示视频解码器400(例如,图4)和/或无线等待时间变化系统700(例如,图7)来执行下面结合图8和/或图9所讨论的各种功能中的一些或全部。

图8是图示了根据本公开的至少一些实现所布置的示例过程800的流程图。过程800可以包括由操作802等中的一个或多个所图示的一个或多个操作、功能或动作。

过程800可以在操作802处开始,“识别完整的帧部分”,其中可以识别完整帧的至少部分。例如,可以经由重放滤波逻辑模块从未解码的分组流中识别完整帧的至少部分。

过程800可以在操作804处继续,“存储未解码的累积的完整帧部分”,其中可以存储累积的视频帧的至少一部分。例如,在要被存储的累积的视频帧没有分组丢失、是完整的情况下,可以经由储存存储器将累积的视频帧的至少一部分存储为过去的未解码分组。

过程800可以在操作806处继续,“识别不完整的帧部分”,其中可以识别不完整的当前帧的至少一部分。例如,可以经由重放滤波逻辑模块从未解码的分组流中识别不完整的当前帧的至少一部分。

过程800可以在操作808处继续,“用存储的未解码的累积的完整帧部分替换已识别的不完整帧部分”,其中可以替换已识别的不完整帧部分。例如,经由重放滤波逻辑模块,已识别的不完整帧部分可以用与已识别的不完整帧部分相对应的存储的过去未解码的分组来替换。

过程800可以在操作810处继续,“解码当前帧”,其中可以解码当前帧。例如,可以经由解码器至少部分地基于替换的存储的过去未解码分组来解码当前帧。

过程800可以提供视频编译码,诸如视频编码、解码和/或比特流传输技术,其可以如本文所讨论的由编译码器系统所采用。

可以在本文讨论的实现的一个或多个示例中,并且特别地关于下面的图9,来说明与过程800和本文讨论的其它过程有关的一些附加和/或替代的细节。

图9提供根据本公开的至少一些实现所布置的操作中的示例视频编译码系统1000(对于更多细节,例如参见图10)和视频编译码过程900的图示图。在图示的实现中,过程900可以包括由动作910等中的一个或多个所图示的一个或多个操作、功能或动作。

通过非限制性示例的方式,本文将参考包括图1的编译码器100的示例视频编译码系统1000来描述过程900,如本文在下面关于图10进一步讨论的那样。在各种示例中,过程900可由包括编码器和解码器的系统或由具有采用编码器(以及可选地解码器)的一个系统和采用解码器(以及可选地编码器)的另一个系统的分立系统来进行。还要注意,如上所讨论的,编码器可以包括采用本地解码器作为编码器系统的一部分的本地解码环路。

如所图示,视频编译码系统1000(对于更多细节,例如参见图10)可以包括逻辑模块1050。例如,逻辑模块1050可以包括关于本文所描述的任何系统或子系统所讨论的任何模块。例如,逻辑模块850可以包括解码器调整逻辑模块1060,其可以包括重放滤波逻辑模块904、等待时间调整逻辑模块906和/或类似物。

过程900可以在操作910处开始,“识别完整的帧部分”,其中可以识别完整帧的至少部分。例如,可以经由重放滤波逻辑模块从未解码的分组流中识别完整帧的至少部分。

在重放滤波逻辑模块904的一些实现中,接收的未解码分组流可以仅包括帧内编译码帧,所接收的未解码分组流可能已经经由不可靠的传输介质(例如,经由WiGig等)被接收,和/或每帧可以具有一个或多个片。这些因素中的任何因素单独或组合地可以加强重放滤波逻辑模块904的功效。

过程900可以在操作920处继续,“存储未解码的累积的完整帧部分”,其中可以存储累积的视频帧的至少一部分。例如,在要被存储的累积的视频帧没有分组丢失、是完整的情况下,可以经由储存存储器将累积的视频帧的至少一部分存储为过去的未解码分组。

在重放滤波逻辑模块904的一些实现中,完整帧的部分可以包括在没有丢失分组的情况下按时接收的完整片。

过程900可以在操作930处继续,“识别不完整的帧部分”,其中可以识别不完整的当前帧的至少一部分。例如,可以经由重放滤波逻辑模块从未解码的分组流中识别不完整的当前帧的至少一部分。

在重放滤波逻辑模块904的一些实现中,可以至少部分地基于以下中的一个或多个来识别哪些分组从不完整的当前帧中丢失:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、与每个分组相关联的片编号等、和/或其组合。

过程900可以在操作940处继续,“替换已识别的不完整帧部分”,其中可以替换已识别的不完整帧部分。例如,经由重放滤波逻辑模块,已识别的不完整帧部分可以用与已识别的不完整帧部分相对应的存储的过去未解码分组来替换。

在重放滤波逻辑模块904的一些实现中,可以至少部分地基于以下中的一个或多个来识别来自存储的过去未解码分组的哪些分组对应于来自不完整的当前帧的丢失分组:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、与每个分组相关联的片编号等、和/或其组合。

附加地或替代地,用存储的过去未解码分组替换已识别的不完整帧部分还可以包括重置与替换的过去未解码分组相关联的时间戳,以将替换的过去未解码分组伪装成当前分组(这个操作在图9中未图示出)。

与操作910-940并行地或者代替操作910-940,过程900可以在操作950处继续,“动态地切换等待时间模式”,其中对解码器的馈送可以在低等待时间模式和高等待时间模式之间切换。例如,对解码器的馈送可以在传入的未解码视频分组流和存储的过去完整视频帧流之间进行切换。馈送的这种切换可以至少部分地基于经由等待时间调整逻辑模块的在低等待时间模式操作和高等待时间模式操作之间的转换。

例如,操作910、920、930、940可以在低等待时间模式下使用(其中撕裂是可能的)。在使用高等待时间模式的情形下,可以使用操作910、920、930,但是代替操作940(例如,旧视频帧的部分的错误隐藏),SW可以强制实施完整的旧视频帧(例如,完好地接收的最后一个视频帧)的解码。

在等待时间调整逻辑模块906的一些实现中,完整帧的部分可以包括在没有丢失分组的情况下按时接收到的完整帧。

在等待时间调整逻辑模块906的一些实现中,从高等待时间模式到低等待时间模式的转换可以至少部分地基于不可接受的撕裂频率发生。

在等待时间调整逻辑模块906的一些实现中,从高等待时间模式到低等待时间模式的转换可以至少部分地基于可接受的撕裂频率发生。

在等待时间调整逻辑模块906的一些实现中,从低等待时间模式到高等待时间模式的转换至少部分地基于检测到无线链路中断。

在一些实现中,低等待时间模式和高等待时间模式之间的决定可以基于撕裂的频率。这样的实现有时比直接监视链路中断更好。然而,为了决定应该使用哪个等待时间模式,除了监视撕裂的频率之外或者代替监视撕裂的频率,还可以使用监视链路中断。

作为操作940的一部分,除了操作940之外或者代替操作940,过程900可以在操作960处继续,“替换当前帧”,其中可以替换当前帧。例如,至少部分地基于低等待时间模式操作和高等待时间模式操作之间的转换,可以经由等待时间调整逻辑模块,将当前帧替换为与当前帧相对应的存储的过去未解码分组。

附加地或替代地,用存储的过去未解码分组替换当前帧可以进一步包括经由解码器在高等待时间模式中操作分组时忽略与替换的过去未解码分组相关联的不适当时间戳,以将替换的过去未解码分组伪装成当前分组(这个操作在图9中未图示出)。

过程900可以在操作970处继续,“解码当前帧”,其中可以解码当前帧。例如,可以经由解码器至少部分地基于替换的存储的过去未解码分组来解码当前帧。

过程900可以在操作980处继续,“显示解码帧”,其中可以显示当前解码帧。例如,可以经由显示器显示当前解码帧。

可以在本文讨论的实现的一个或多个示例中,并且特别地关于下面的图10,来说明与过程900和本文讨论的其它过程有关的一些附加和/或替代细节。

本文所描述的过程和/或系统的各种组件可以以软件、固件和/或硬件和/或其任何组合来实现。例如,本文所描述的过程和/或系统的各种组件可以至少部分地由诸如可以在诸如例如智能手机之类的计算系统中找到的计算片上系统(SoC)的硬件来提供。本领域技术人员可以认识到,本文所描述的系统可以包括在相应图中未描绘的附加组件。

如本文所述的任何实现中所使用的,术语“模块”可以指代“组件”或指代“逻辑单元”,如这些术语在下面所描述的。因此,术语“模块”可以指代被配置为提供本文所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域普通技术人员将理解,由硬件和/或固件执行的操作可以替代地经由软件组件来实现,软件组件可以体现为软件包、代码和/或指令集,并且还可以理解逻辑单元还可以利用软件的一部分来实现其功能性。

如在本文所述的任何实现中使用的,术语“组件”指代被配置为提供本文所描述的功能性的软件逻辑和/或固件逻辑的任何组合。软件逻辑可以体现为存储由可编程电路执行的指令的固件和/或软件包、代码和/或指令集。这些组件可以共同地或各个地体现为用于作为更大的系统例如集成电路(IC)、片上系统(SoC)等的一部分而实现。

如本文所述的任何实现中所使用的,术语“逻辑单元”是指被配置为提供本文所描述的功能性的固件逻辑和/或硬件逻辑的任何组合。如本文所述的任何实现中使用的,“硬件”可以包括例如单独地或以任何组合形式存储由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路和/或固件。逻辑单元可以集体地或单独地被体现为形成更大的系统例如集成电路(IC)、片上系统(SoC)等的一部分的电路。例如,逻辑单元可以体现在用于实现本文所讨论的系统的固件或硬件的逻辑电路中。此外,本领域普通技术人员将会理解,由硬件和/或固件执行的操作也可以利用软件的一部分来实现逻辑单元的功能性。

此外,本文所描述的过程的任何一个或多个块可以响应于由一个或多个计算机程序产品提供的指令来进行。这样的程序产品可以包括提供指令的信号承载介质,所述指令在例如由处理器执行时可以提供本文所描述的功能性。计算机程序产品可以以任何形式的计算机可读介质来提供。因此,例如,包括一个或多个处理器核心的处理器可以响应于由计算机可读介质传达给处理器的指令来进行一个或多个操作。

图10是根据本公开的至少一些实现所布置的示例视频编译码系统1000的图示图。在所图示的实现中,视频编译码系统1000尽管图示为具有视频编码器1002和视频解码器1004两者,但是在各种示例中,视频编译码系统1000可以包括仅视频编码器1002或仅视频解码器1004。视频编译码系统1000(其在各种示例中可以包括仅视频编码器1002或仅视频解码器1004)可以包括(一个或多个)成像设备1001、天线1002、一个或多个处理器1006、一个或多个存储器贮存器1008和/或显示设备1010。如所图示,(一个或多个)成像设备1001、天线1002、视频编码器1002、视频解码器1004、(一个或多个)处理器1006、存储器贮存器1008和/或显示设备1010可以能够彼此通信。

在一些实现中,视频编译码系统1000可以包括天线1003。例如,天线1003可以被配置为例如发射或接收视频数据的编码比特流。(一个或多个)处理器1006可以是任何类型的处理器和/或处理单元。例如,(一个或多个)处理器1006可以包括不同的中央处理单元、不同的图形处理单元、集成的片上系统(SoC)架构等、和/或其组合。此外,(一个或多个)存储器贮存器1008可以是任何类型的存储器。例如,(一个或多个)存储器贮存器1008可以是易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等等。在非限制性示例中,(一个或多个)存储器贮存器1008可以由高速缓存存储器来实现。此外,在一些实现中,视频编译码系统1000可以包括显示设备1010。显示设备1010可以被配置为呈现视频数据。

如所示,在一些示例中,视频编译码系统1000可以包括逻辑模块1050。虽然被图示为与视频解码器1004相关联,但是视频编码器1002可以类似地与所图示的逻辑模块1050相同和/或类似的逻辑模块相关联。因此,视频解码器1004可以包括逻辑模块1050的全部或部分。例如,天线1003、视频解码器1004、(一个或多个)处理器1006、(一个或多个)存储器贮存器1008和/或显示器1010可以能够彼此通信和/或与逻辑模块1050的一部分通信。类似地,视频编码器1002可以包括与逻辑模块1050相同和/或类似的逻辑模块。例如,(一个或多个)成像设备1001和视频编码器1002可以能够彼此通信和/或和与逻辑模块1050相同和/或类似的逻辑模块通信。

在一些实现中,逻辑模块1050可以如关于本文所描述的任何系统或子系统所讨论的那样体现各种模块。在各种实施例中,逻辑模块1050中的一些可以以硬件实现,而软件可以实现其它逻辑模块。例如,在一些实施例中,一些逻辑模块1050可以由专用集成电路(ASIC)逻辑来实现,而其它逻辑模块可以由诸如处理器1006的逻辑执行的软件指令来提供。然而,本公开不限于这方面,并且一些逻辑模块1050可以通过硬件、固件和/或软件的任何组合来实现。

例如,逻辑模块1050可以包括被配置为实现本文所述的一个或多个实现的操作的解码器调整模块1060和/或类似物。

图11是根据本公开的至少一些实现所布置的示例系统1100的图示图。在各种实现中,系统1100可以是媒体系统,尽管系统1100不限于此上下文。例如,系统1100可以并入到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板电脑或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备、相机(例如傻瓜相机、超变焦相机、数码单反相机(DSLR)相机)等。

在各种实现中,系统1100包括耦合到显示器1120的平台1102。平台1102可以从诸如(一个或多个)内容服务设备1130或(一个或多个)内容递送设备1140或其它类似内容源的内容设备接收内容。可以使用包括一个或多个导航特征的导航控制器1150与例如平台1102和/或显示器1120进行交互。在下面更详细地描述这些组件中的每一个。

在各种实现中,平台1102可以包括芯片组1105、处理器1110、存储器1112、天线1113、储存器1114、图形子系统1115、应用1116和/或无线电1118的任何组合。芯片组1105可以提供处理器111、存储器1112、储存器1114、图形子系统1115、应用1116和/或无线电11180之间的相互通信。例如,芯片组1105可以包括能够提供与储存器1114的相互通信的储存适配器(未描绘出)。

可以将处理器1110实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器1110可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等等。

可以将存储器1112实现为易失性存储器设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。

可以将储存器1114实现为非易失性储存器设备,诸如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部储存设备、附接储存设备、闪存、电池备份-SDRAM(同步DRAM)和/或网络可访问储存设备。在各种实现中,例如,当包括多个硬盘驱动器时,储存器1114可以包括增加对有价值数字媒体的储存性能的增强保护的技术。

图形子系统1115可以执行诸如静止或视频之类的图像的处理以进行显示。图形子系统1115例如可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统1115和显示器1120。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD兼容技术中的任何一种。可以将图形子系统1115集成到处理器1110或芯片组1105中。在一些实现中,图形子系统1115可以是通信地耦合到芯片组1105的独立设备。

本文所描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,可以将图形和/或视频功能性集成在芯片组内。替代地,可以使用分立的图形和/或视频处理器。作为仍另一实现,图形和/或视频功能可以由包括多核处理器的通用处理器来提供。在另外的实施例中,功能可以在消费电子设备中实现。

无线电1118可以包括能够使用各种合适的无线通信技术来发射和接收信号的一个或多个无线电。这样的技术可以涉及跨越一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨越这样的网络进行通信时,无线电1118可以根据任何版本中的一个或多个适用的标准进行操作。

在各种实现中,显示器1120可以包括任何电视型监视器或显示器。显示器1120可以包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器1120可以是数字和/或模拟的。在各种实现中,显示器1120可以是全息显示器。此外,显示器1120可以是可以接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用1116的控制下,平台1102可以在显示器1120上显示用户界面1122。

在各种实现中,(一个或多个)内容服务设备1130可以由任何国家、国际和/或独立服务主控,并且因此例如可以经由互联网对平台1102进行访问。(一个或多个)内容服务设备1130可以耦合到平台1102和/或显示器1120。平台1102和/或(一个或多个)内容服务设备1130可以耦合到网络1160以通信(例如,发送和/或接收)去往和来自网络1160的媒体信息。(一个或多个)内容递送设备1140还可以耦合到平台1102和/或耦合到显示器1120。

在各种实现中,(一个或多个)内容服务设备1130可以包括有线电视盒、个人计算机、网络、电话、启用互联网的设备或能够递送数字信息和/或内容的设施、以及能够经由网络1160或直接地在内容提供商和平台1102和/显示器1120之间单向或双向地传送内容的任何其它类似设备。应当理解,内容可以经由网络1160被单向地和/或双向地传送去往和来自系统1100中的任何一个组件和内容提供商。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。

(一个或多个)内容服务设备1130可以接收诸如有线电视节目之类的内容,包括媒体信息、数字信息和/或其它内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例不意味着以任何方式限制根据本公开的实现。

在各种实现中,平台1102可以从具有一个或多个导航特征的导航控制器1150接收控制信号。例如,控制器1150的导航特征可以用于与用户界面1122交互。在各种实施例中,导航控制器1150可以是指点设备,其可以是允许用户将空间(例如,连续和多维的)数据输入计算机中的计算机硬件组件(具体而言是人类接口设备)。诸如图形用户界面(GUI)以及电视和监视器之类的许多系统允许用户使用身体手势来控制和提供数据到计算机或电视。

通过显示器上显示的指针、光标、聚焦环或其它视觉指示器的移动,可以在显示器(例如显示器1120)上复制控制器1150的导航特征的移动。例如,在软件应用1116的控制下,位于导航控制器1150上的导航特征可以映射到用户界面1122上显示的虚拟导航特征。在各种实施例中,控制器1150可以不是分立组件,而是可以集成到平台1102和/或显示器1120中。然而,本公开不限于在本文所示出或描述的上下文中或元件。

在各种实现中,驱动器(未示出)可以包括使得用户能够在初始启动之后--例如在启用时--接触一个按钮以立即打开和关闭诸如电视的平台1102的技术。程序逻辑可以允许平台1102将内容流式传输到媒体适配器或(一个或多个)其它内容服务设备1130或(一个或多个)内容递送设备1140--即使当平台被关闭时。另外,芯片组1105可以包括用于例如(5.1)环绕声音频和/或高清晰度(7.1)环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成的图形平台的图形驱动器。在各种实施例中,图形驱动器可以包括外围组件互连(PCI)高速(Express)图形卡。

在各种实现中,可以集成系统1100中所示出的任何一个或多个组件。例如,可以集成平台1102和(一个或多个)内容服务设备1130,或者可以集成平台1102和(一个或多个)内容递送设备1140,或者例如可以集成平台1102、(一个或多个)内容服务设备1130和(一个或多个)内容递送设备1140。在各种实施例中,平台1102和显示器1120可以是集成单元。可以集成显示器1120和(一个或多个)内容服务设备1130,或者例如可以集成显示器1120和(一个或多个)内容递送设备1140。这些示例并不意味着限制本公开。

在各种实施例中,可以将系统1100实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统1100可以包括适合于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的部分,诸如RF频谱等等。当实现为有线系统时,系统1100可以包括适合于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、用于将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、开关结构、半导体材料、双绞线、同轴电缆、光纤等。

平台1102可以建立一个或多个逻辑或物理信道来传送信息。信息可以包括媒体信息和控制信息。媒体信息可以是指表示旨在针对用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如语音信息、静音时段、背景噪声、舒适噪声、音调等等。控制信息可以是指表示旨在针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统路由媒体信息、或者指示节点以预定方式处理媒体信息。然而,实施例不限于图11中所示出或描述的元件或上下文。

如上所述,系统1100可以以不同的物理风格或形状因数来体现。图12图示出了在其中可以体现系统1200的小形状因数设备1200的实现。在各种实施例中,例如,可以将设备1200实现为具有无线能力的移动计算设备。移动计算设备可以是指例如具有处理系统和诸如一个或多个电池之类的移动电源或供电的任何设备。

如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板电脑或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备、相机(例如傻瓜相机、超变焦相机、数码单反相机(DSLR)相机)等。

移动计算设备的示例还可以包括被布置成由人穿戴的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机和其它可穿戴计算机。在各种实施例中,例如,可以将移动计算设备实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过示例的方式将移动计算设备实现为智能电话来描述一些实施例,但是可以理解,也可以使用其它无线移动计算设备来实现其它实施例。实施例不受限于本上下文中。

如图12中所示,设备1200可以包括外壳1202、可以包括用户接口1210的显示器1204、输入/输出(I/O)设备1206和天线1208。设备1200还可以包括导航特征1212。显示器1204可以包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备1206可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。用于I/O设备1206的示例可以包括字母数字键盘、数字键盘、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件、图像传感器等。也可以通过麦克风(未示出)的方式将信息输入设备1200中。这样的信息可以由语音识别设备(未示出)进行数字化。实施例不限于本上下文中。

可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等等。软件的示例可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。关于是使用硬件元件和/或软件元件来对实施例进行实现的确定可以根据任意数量的因素而改变,所述因素诸如是期望的计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。

此外,本文讨论的任何一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令而进行。这样的程序产品可以包括信号承载介质,其提供指令,所述指令当由例如处理器执行时可以提供本文描述的功能性。计算机程序产品可以以一种或多种机器可读介质的任何形式来提供。因此,例如,包括一个或多个处理器核心的处理器可以响应于由一个或多个机器可读介质传达给处理器的程序代码和/或指令或指令集来进行本文的示例过程的一个或多个操作。通常,机器可读介质可以传达以程序代码和/或指令或指令集的形式的软件,其可以使得本文所述的任何设备和/或系统实现如本文所讨论的系统的至少一部分。

尽管参照各种实现已经描述了本文所阐述的特定特征,但是本说明书不旨在以限制的意义来进行解释。因此,对于本公开所属的本领域技术人员来说是显而易见的本文中所描述的实现的各种修改以及其它实现被认为是位于本公开内容的精神和范围之内。

下面的示例关于进一步的实施例。

在一个示例中,用于视频解码无线显示器的计算机实现的方法可以包括经由重放滤波逻辑模块从未解码分组流中识别完整帧的至少部分。在要被存储的累积视频帧是完整的而没有分组丢失的情况下,储存存储器将累积的视频帧的至少一部分作为过去未解码分组进行存储。重放滤波逻辑模块可以从未解码分组流中识别不完整当前帧的至少部分。重放滤波逻辑模块可以用与已识别的不完整帧部分相对应的存储的过去未解码分组替换所述已识别的不完整帧部分。解码器可以至少部分地基于替换的存储的过去未解码分组来解码当前帧。

在另一示例中,在用于视频解码无线显示的计算机实现的方法中,所接收的未解码分组流可以仅包括帧内编译码帧。经由不可靠的传输介质接收所接收的未解码的分组流。每个帧可以具有超过一个或多个片。完整帧的至少部分包括在没有丢失分组的情况下按时接收到的完整片。重放滤波逻辑模块可以至少部分地基于以下中的一个或多个来识别哪些分组从不完整的当前帧中丢失:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、和/或与每个分组相关联的片编号。重放滤波逻辑模块可以至少部分地基于以下中的一个或多个来识别来自存储的过去未解码分组的哪些分组与来自不完整当前帧的丢失分组相对应:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、和/或与每个分组相关联的片编号。用存储的过去未解码分组替换已识别的不完整帧部分还可以包括:重置与所述替换的过去未解码分组相关联的时间戳,以将所述替换的过去未解码分组伪装成当前分组。

在另一示例中,在用于视频解码无线显示器的计算机实现的方法中,完整帧的至少部分包括在没有丢失分组的情况下按时接收到的完整帧。等待时间调整逻辑模块可以在传入的未解码视频分组流和存储的过去完整视频帧的流之间切换对解码器的馈送,其中馈送的切换至少部分地基于低等待时间模式操作和高等待时间模式操作之间的转换。等待时间调整逻辑模块可以至少部分地基于不可接受的撕裂频率发生从低等待时间模式转换到高等待时间模式。等待时间调整逻辑模块可以至少部分地基于可接受的撕裂频率发生从高等待时间模式转换到低等待时间模式。等待时间调整逻辑模块可以至少部分地基于无线链路中断的检测从低等待时间模式转换到高等待时间模式。当在高等待时间模式中操作分组时,解码器可以忽略与替换的过去未解码分组相关联的不适当时间戳,以将所述替换的过去未解码分组伪装成当前分组。

在另一示例中,在用于视频解码无线显示器的计算机实现的方法中,所接收的未解码分组流可以仅包括帧内编译码帧。经由不可靠的传输介质接收所接收的未解码分组流。每个帧可以具有超过一个或多个片。完整帧的至少部分包括在没有丢失分组的情况下按时接收到的完整片。重放滤波逻辑模块可以至少部分地基于以下中的一个或多个来识别哪些分组从不完整的当前帧中丢失:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、和/或与每个分组相关联的片编号。重放滤波逻辑模块可以至少部分地基于以下中的一个或多个来识别来自存储的过去未解码分组的哪些分组与来自不完整当前帧的丢失分组相对应:与每个分组相关联的序列号、与选择分组相关联的时间戳、与每个分组相关联的帧号、和/或与每个分组相关联的片编号。用存储的过去未解码分组替换已识别的不完整帧部分还可以包括:重置与所述替换的过去未解码分组相关联的时间戳,以将所述替换的过去未解码分组伪装成当前分组。

在其它示例中,用于视频解码无线显示器的计算机实现的系统可以包括重放滤波逻辑模块,其被配置为从未解码的分组流中识别完整帧的至少部分。储存存储器可以被配置为在要被存储的累积的视频帧是完整的而没有分组丢失的情况下,将累积的视频帧的至少一部分作为过去未解码分组进行存储。重放滤波逻辑模块还可以被配置为从未解码的分组流中识别不完整当前帧的至少部分。重放滤波逻辑模块还可以被配置为用与已识别的不完整帧部分相对应的存储的过去未解码分组替换所述已识别的不完整帧部分。解码器可以被配置为至少部分地基于替换的存储的过去未解码分组来解码当前帧。

在另一个示例中,在用于视频解码无线显示器的计算机实现的系统中,所述完整帧的至少部分包括在没有丢失分组的情况下按时接收到的完整帧。等待时间调整逻辑模块可以被配置为在传入的未解码视频分组流和存储的过去完整视频帧的流之间切换对解码器的馈送,其中,馈送的切换至少部分地基于低等待时间模式操作和高等待时间模式操作之间的转换。等待时间调整逻辑模块可以被进一步配置为:至少部分地基于不可接受的撕裂频率发生,从低等待时间模式转换到高等待时间模式。等待时间调整逻辑模块还可以被配置为:至少部分地基于可接受的撕裂频率发生,从所述高等待时间模式转换到所述低等待时间模式。等待时间调整逻辑模块还可以被配置为:至少部分地基于无线链路中断的检测,从所述低等待时间模式转换到所述高等待时间模式。解码器可以被进一步配置为:在高等待时间模式中操作分组时,忽略与替换的过去未解码分组相关联的不适当时间戳,以将所述替换的过去未解码分组伪装成当前分组。

在另一示例中,至少一个机器可读介质可以包括多个指令,响应于在计算设备上被执行,所述多个指令使计算设备执行根据上述示例中的任一个的方法。

在又另一示例中,装置可以包括用于执行根据上述示例中的任一个的方法的装置。

上述示例可以包括特征的特定组合。然而,这样的上述示例在这方面不受限制,并且在各种实现中,上述示例可以包括仅采取这样的特征的子集,采取这样的特征的不同顺序,采取这样的特征的不同组合,和/或采取除明确列出的特征之外的另外的特征。例如,关于示例方法所描述的所有特征可以关于示例设备、示例系统和/或示例物品来实现,并且反之亦然。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号