在运动的情况下的渐进更新的制作方法

文档序号:16365080发布日期:2018-12-22 08:23阅读:165来源:国知局
在运动的情况下的渐进更新的制作方法

远程连接可能引起带宽的变化,这可能在压缩数据以用于传输时造成问题。在其中运动是数据压缩的考虑因素的情况下尤其如此。考虑示例,其中,股票行情功能区(stocktickerribbon)要被更新,其中,股票行情功能区在视频馈送内水平滚动。如果股票行情功能区要被更新,则在低带宽下,运动的区域的质量将是低的,并且文本可能不可读且脏污。因为滚动股票行情功能区中的低带宽和运动,质量永远不会改善,这是因为内容永远不会被渐进更新。其他解决方案使用较低帧速率以更好的质量来更新滚动区域。然而,在低带宽情况下,用户体验将非常差,这是因为帧速率可能低至每秒1到2帧(并且在其他情况下甚至更低)。本申请指向的是关于用于渐进更新内容的改善处理的一般技术环境。



技术实现要素:

本公开内容的非限制性示例描述了对内容区域的整体运动的检测。可以检测内容区域的整体运动。可以就区域的当前质量水平进行确定。基于检测到整体运动,残差值可以被生成以用于区域的渐进更新。残差值是使用区域的当前质量水平作为基础来生成的,以确定用于与区域的当前质量水平相比处于更高质量水平的、区域的渐进更新的量化更新。用于区域的渐进更新的帧数据可以被编码。帧数据可以包括用于区域的渐进更新的残差值和运动矢量。帧数据可以被发送以用于解码。还描述了其他示例。

本公开内容的其他非限制性示例描述了对在远程桌面连接上访问的内容区域的整体运动的检测。可以与客户端处理设备建立远程桌面连接。内容区域的整体运动可以被检测。基于检测到整体运动,残差值可以被生成以用于区域的渐进更新。残差值是使用区域的当前质量水平作为基础来生成的,以确定用于与区域的当前质量水平相比处于更高质量水平的、区域的渐进更新的量化更新。用于区域的渐进更新的帧数据可以被编码。帧数据可以包括用于区域的渐进更新的残差值和运动矢量。帧数据可以被发送到远程客户端设备以用于解码。

提供本概述是为了以简化的形式介绍对构思的选择,所述构思在以下的详细描述中被进一步描述。本概述不旨在确定所要求保护的主题的关键特征或必要特征,其也不旨在用于限制所要求保护的主题的范围。示例的另外的方面、特征和/或优点将部分地在下面的描述中被阐述,并且部分地将根据描述而显而易见,或者可以通过对本公开内容的实践来获知。

附图说明

参考以下附图描述了非限制性和非穷举性示例。

图1是示出了可以用其实现本公开内容的各方面的计算设备的示例的框图。

图2a和图2b是用其可以实践本公开内容的各方面的移动计算设备的简化框图。

图3是其中可以实践本公开内容的各方面的分布式计算系统的简化框图。

图4示出了可在可以在其上实践本公开内容的各方面的一个或多个计算设备上实现的示例性系统。

图5示出了用于渐进更新内容的、用其可以实践本公开内容的各方面的示例性方法。

图6是用于渐进更新具有运动的内容的、用其可以实践本公开内容的各方面的示例性方法。

图7是用于编码内容的、用其可以实践本公开内容的各方面的示例性方法。

图8是用于解码内容的、用其可以实践本公开内容的各方面的示例性方法。

具体实施方式

本文描述的示例实现了用于在变化的网络条件和带宽下(例如,当在lan、wan等上访问内容时)提供丰富的用户体验的能力。例如,远程桌面连接可以被建立以连接被连接到相同网络或互联网的两个处理设备。示例可以扩展到任何远程连接,并且不限于远程桌面连接示例。当远程地访问内容时,内容可以基于可用带宽以渐进方式来更新。这通过本文描述的基础压缩方案和操作来实现。所描述的示例指向在具有或不具有运动的场景中渐进更新内容。可以实现编解码器以递送渐进质量更新方案。

示例可以针对任何压缩标准和编码/解码方案而被配置。在一个实例中,h.264(下文中称为“h.264”)或mpeg-4第10部分(先进视频编码)(mpeg-4avc)是示例性压缩标准。然而,本领域技术人员应当认识到,本文描述的示例不限于h.264。本文描述的示例扩展到任何编解码器、解码器和模拟和/或数字编码方案。yuv是通常用作模拟编码/解码的彩色图像流水线的部分的颜色空间。颜色空间依据一个亮度(y')和两个色度(uv)分量来定义。可以考虑人类感知来编码彩色图像或视频。yuv允许色度分量的降低的带宽,从而通常使得与使用直接rgb表示相比传输错误或压缩伪像能够由人类感知更有效地掩蔽。ycbcr(和相关的颜色空间)用作视频和数字摄影系统中彩色图像流水线的一部分。y是亮度分量,cb和cr是蓝色差分和红色差分色度分量。本文描述的示例进一步扩展到适用于任何类型的色度子采样。色度子采样是通过实现低于亮度信息的分辨率的色度信息的分辨率来编码图像的实践,其利用人类视觉系统对色差的低于亮度的敏锐度。内容区域可以以不同质量来编码,其中,可以发生不同级别的色度子采样,例如,yuv4:2:0、yuv4:2:2、yuv4:4:4等。

在其中没有运动的低带宽情况下,较低质量编码的内容被发送,以建立初始质量水平。在随后的帧上,不具有运动的屏幕区域被更新为亮度和色度的完全保真度。例如,用h.264编解码器,完全保真度(例如yuv4:4:4)被实现。在美国专利第8,817,179号的描述中描述了色度子采样和视频帧编码/解码,所述专利通过引用方式被并入本文。在一个示例中,从前一帧改变的显示器区域被编码并发送到远程客户端。数据可以在远程客户端处被解码,其中,对解码的数据的处理引起内容的渐进更新。在示例中,在预定时间段内变得静止的区域可以获得渐进更新,以引起更好的质量。

运动可以是其中内容区域中的一个或多个宏块发生变化的实例。区域可以包括一个或多个宏块。在其中运动被检测到的示例中,可以就运动是否是整体运动进行确定。整体运动是宏块区域的沿水平或垂直方向或对角线方向的滚动。在整体运动被检测到的情况下,滚动区域被渐进地更新,其中,区域的质量水平可以在后续帧上增加。滚动区域用残差(预测值)以及运动矢量一起编码,以便通过渐进更新来获得内容区域的更好质量水平。处理操作可以被应用以确定残余帧。这样的处理操作是本领域技术人员已知的。残余帧是通过从期望的帧(例如,当前帧)中减去参考帧(例如,前一帧)来形成的。与这样的帧之间的差异相关联的值是残差值。处理操作可以被执行以基于用于残差值的门限分析来确定最接近的匹配块或区域。门限分析可以用于确定区域是要被跳过还是被标记以用于渐进更新。对于被确定为渐进的区域,残差值是用运动矢量编码的并用更好的质量更新。为更新区域的质量不需要对整个帧进行编码。示例性编码器可以使用诸如运动估计之类的各种处理操作来构建描述残差值的帧。示例性解码器可以使用运动矢量和残差值来基于参考帧(例如,前一帧)来重新构建区域的解码的宏块。

因此,本公开内容提供了多种技术优点,包括但不限于:内容(包括具有运动的内容区域)的渐进更新、用于将整体运动与其他运动实例区分开的能力、适用于不同编码/解码方案的可扩展性、用于在变化的网络条件和带宽下提供丰富的用户体验的能力、处理设备的更高效的操作(例如,节省计算循环/计算资源)以及网络上的改善的内容传输(包括延时和网络抖动的减少)以及其他示例。

图1-3和相关联的描述提供了对其中可以实践本发明的示例的各种操作环境的讨论。然而,关于图1-3示出和讨论的设备和系统是出于示例和说明的目的,并且不是限制本文描述的可用于实践本发明的示例的大量计算设备配置。

图1是示出用其可以实践本公开内容的示例的计算设备102(例如,移动处理设备)的物理组件的框图。例如,计算设备102可以是如本文描述的用于实现与帧数据的编码/解码相关执行的处理的示例性计算设备。在基本配置中,计算设备102可以包括至少一个处理单元104和系统存储器106。取决于计算设备的配置和类型,系统存储器106可以包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪速存储器或这样的存储器的任何组合。系统存储器106可以包括操作系统107和适合于运行诸如io管理器124、其他实用工具126和应用128之类的软件程序/模块120的一个或多个程序模块108。作为示例,系统存储器106可以存储用于执行的指令。系统存储器106的其他示例可以存储与应用相关联的数据。例如,操作系统107可以适合于控制计算设备102的操作。此外,本发明的示例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定的应用或系统。该基本配置在图1中由虚线122内的那些组件示出。计算设备102可以具有另外的特征或功能。例如,计算设备102还可以包括另外的数据存储设备(可移除和/或不可移除的),例如磁盘、光盘或磁带。这样另外的存储装置在图1中由可移除存储设备109和不可移除存储设备110示出。

如上所述,许多程序模块和数据文件可以存储在系统存储器106中。当在处理单元104上执行时,程序模块108(例如,输入/输出(i/o)管理器124、其他实用工具126和应用128)可以执行包括但不限于贯穿本公开内容描述的操作的阶段中的一者或多者的过程。可以根据本发明的示例使用的其他程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序、照片编辑应用、创作应用等。

此外,本发明的示例可以在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中或者在包含电子元件或微处理器的单个芯片上实践。例如,本发明的示例可以经由其中图1所示的组件中的每个或许多组件可以被集成到单个集成电路上的片上系统(soc)来实践。这样的soc器件可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路被集成(或“烧录”)到芯片衬底上。当经由soc操作时,本文描述的功能可以经由与计算设备102的其他组件一起集成在单个集成电路(芯片)上的专用逻辑单元来操作。还可以使用能够执行例如与(and)、或(or)和非(not)之类的逻辑运算的其他技术来实践本公开内容的示例,包括但不限于机械、光学、流体和量子技术。另外,本发明的示例可以在通用计算机或任何其他电路或系统内被实践。

计算设备102还可以具有一个或多个输入设备112,例如键盘、鼠标、笔、声音输入设备、用于语音输入/辨识的设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备114。上述设备是示例,并且其他设备可以被使用。计算设备104可以包括允许与其他计算设备118通信的一个或多个通信连接116。合适的通信连接116的示例包括但不限于rf发射机、接收机和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

如本文使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储例如计算机可读指令、数据结构或程序模块之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器106、可移除存储设备109和不可移除存储设备110都是计算机存储介质示例(即,存储器存储装置)。计算机存储介质可以包括ram、rom、电可擦除只读存储器(eeprom)、闪速存储器或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可用于存储信息且可由计算设备102访问的任何其他制品。任何这样的计算机存储介质都可以是计算设备102的部分。计算机存储介质不包括载波或其他传播或调制的数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块或调制的数据信号中的其他数据(例如,载波或其他传输机制)体现,并且包括任何信息递送介质。术语“调制的数据信号”可以描述将一个或多个特性以对信号中的信息进行编码的方式设置或改变的信号。作为示例而非限制,通信介质可以包括:有线介质,例如有线网络或直接有线连接;以及无线介质,例如声学、射频(rf)、红外线和其他无线介质。

图2a和图2b示出了用其可以实践本发明的示例的移动计算设备200,例如,移动电话、智能电话、个人数字助理、平板个人计算机、平板手机、平板型计算机、膝上型计算机等。移动计算设备200可以是如本文描述的用于与帧数据的编码/解码相关的处理的示例性计算设备。例如,移动计算设备200可以被实现为远程桌面应用和相关联的应用程序命令控件、示例性编码器和示例性解码器中的一者或多者。应用命令控件涉及通过用户界面(ui)或图形用户界面(gui)与应用一起用于对命令的呈现和控制。在一个示例中,可以将应用命令控件专门编程以与单个应用一起工作。在其他示例中,应用命令控件可以被编程为跨多于一个应用工作。参考图2a,示出了用于实现示例的移动计算设备200的一个示例。在基本配置中,移动计算设备200是具有输入元件和输出元件二者的手持式计算机。移动计算设备200通常包括显示器205和允许用户将信息录入到移动计算设备200中的一个或多个输入按钮210。移动计算设备200的显示器205还可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件215允许另外的用户输入。侧输入元件215可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备200可以包括更多或更少的输入元件。例如,在一些示例中,显示器205可以不是触摸屏。在又一替代示例中,移动计算设备200是便携式电话系统,例如蜂窝电话。移动计算设备200还可以包括可选按键板235。可选按键板235可以是物理按键板或在触摸屏显示器或任何其他“软”输入面板(sip)上生成的软按键板。在各种示例中,输出元件包括用于示出gui的显示器205、视觉指示器220(例如,发光二极管)和/或音频换能器225(例如,扬声器)。在一些示例中,移动计算设备200包括振动换能器,其用于向用户提供触觉反馈。在又一示例中,移动计算设备200包括输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,hdmi端口)以用于向外部设备发送信号或从外部设备接收信号。

图2b是示出移动计算设备的一个示例的架构的框图。换言之,移动计算设备200可以包括系统(即,架构)202以实现一些示例。在一个示例中,系统202被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统202被集成为计算设备,例如集成的个人数字助理(pda)、平板计算机和无线电话。

可以将一个或多个应用程序266加载到存储器262中并在操作系统264上运行或与操作系统264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统202还包括存储器262内的非易失性存储区域268。非易失性存储区域268可用于存储在系统202掉电的情况下不应当丢失的持久信息。应用程序266可以使用非易失性存储区域268中的信息并将信息存储在非易失性存储区域268中,所述信息例如由电子邮件应用使用的电子邮件或其他消息等等。同步应用(未示出)也驻留在系统202上,并且被编程为与驻留在主计算机上的对应同步应用交互,以使存储在非易失性存储区域268中的信息与存储在主计算机处的对应信息保持同步。如应当领会,其他应用可以被加载到存储器262中并在本文描述的移动计算设备200上运行。

系统202具有电源270,其可以实现为一个或多个电池。电源270还可以包括外部电源,例如对电池进行补充和充电的ac适配器或电动对接支架。

系统202可以包括外围设备端口230,其执行促进系统202与一个或多个外围设备之间的连接的功能。去往和来自外围设备端口230的传输是在操作系统(os)264的控制下进行的。换言之,由外围设备端口230接收的通信可以经由操作系统264传播到应用程序266,反之亦然。

系统202还可以包括执行发送和接收射频通信的功能的无线接口层272。无线接口层272促进系统202与“外界”之间的经由通信运营商或服务提供商的无线连接。在操作系统264的控制下进行去往和来自无线接口层272的传输。换言之,由无线接口层272接收的通信可以经由操作系统264传播到应用程序266,反之亦然。

视觉指示器220可以用于提供视觉通知,并且/或者音频接口274可以用于经由音频换能器225产生可听通知。在示出的示例中,视觉指示器220是发光二极管(led),并且音频换能器225是扬声器。这些设备可以直接耦合到电源270,使得当被激活时,它们在由通知机制指示的持续时间内保持开启,但处理器260和其他组件可能关闭以节省电池电量。led可以被编程为无限期地保持开启,直到用户采取行动以指示设备的上电状态。音频接口274用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器225之外,音频接口274还可以耦合到麦克风以接收可听输入,例如以促进电话对话。根据本发明的示例,麦克风还可以充当音频传感器以促进对通知的控制,如以下将描述的。系统202还可以包括视频接口276,其实现机载相机230的用于记录静止图像、视频流等的操作。

实现系统202的移动计算设备200可以具有另外的特征或功能。例如,移动计算设备200还可以包括另外的数据存储设备(可移除和/或不可移除的),例如磁盘、光盘或磁带。这样的另外的存储装置在图2b中由非易失性存储区域268示出。

由移动计算设备200生成或捕获并经由系统202存储的数据/信息可以本地地存储在移动计算设备200上(如以上描述的),或者数据可以存储在设备可以经由无线单元272或经由有线连接来访问的任何数量的存储介质上,所述有线连接在移动计算设备200和与移动计算设备200相关联的单独计算设备(例如,诸如互联网之类的分布式计算网络中的服务器计算机)之间。如应当领会的,可以经由移动计算设备200经由无线单元272或经由分布式计算网络访问这样的数据/信息。类似地,根据包括电子邮件和协作数据/信息共享系统的众所周知的数据/信息传输和存储手段,可以在计算设备之间容易地传输这样的数据/信息以用于存储和使用。

图3示出了用于提供可靠地访问存储系统上的目标数据并处理到一个或多个客户端设备的通信故障的应用的系统的架构的一个示例,如以上描述的。图3的系统可以是如本文描述的用于帧数据的编码/解码的示例性系统。与编程模块108、应用120和存储装置/存储器相关联地访问、交互或编辑的目标数据可以存储在不同的通信信道中或以其他存储类型存储。例如,可以使用目录服务322、网络门户324、邮箱服务326、即时消息传送存储库328或社交网络站点330、应用128、io管理器124、其他实用工具126来存储各种文档,并且存储系统可以使用这些类型的系统或类似系统中的任一者来实现数据利用,如本文描述的。服务器320可以提供存储系统以供在通用计算设备102和移动设备200上操作的客户端通过网络315使用。例如,网络315可以包括互联网或任何其他类型的局域网或广域网,并且客户端节点可以被实现为体现在个人计算机、平板计算设备中和/或由移动计算设备200(例如,移动处理设备)体现的计算设备102。客户端计算设备102或200的这些示例中的任一者可以从存储库316获得内容。

图4示出了可在一个或多个计算设备上实现的示例性系统400,在所述计算设备上可以实践本公开内容的各方面。系统400可以是用于编码和解码对帧数据的处理的示例性系统。示例性系统的组件可以是硬件组件或在硬件组件上实现和/或由硬件组件执行的软件。在示例中,示例性系统400可以包括任何硬件组件(例如,asic、用于执行/运行os的其他设备)以及在硬件上运行的软件组件(例如,应用、应用编程接口、模块、虚拟机、运行时库)。在一个示例中,系统400可以提供环境以供软件组件运行、遵守为操作设置的约束并利用系统/处理设备的资源或设施。例如,软件(例如,应用、操作指令、模块)可以在一个或多个处理设备上运行,所述处理设备例如计算机、移动设备(例如,智能手机/电话、平板计算机)和/或任何其他电子设备。作为处理设备操作环境的示例,参考了图1-3的操作环境。在其他示例中,本文公开的系统的组件可以跨多个设备分布。

本领域技术人员将领会,示例性系统400的规模可以变化,并且与图4中描述的组件相比可以包括更少或更多的组件。在一些示例中,在示例性系统400的组件之间的对接可以远程发生,例如在示例性系统的组件可以以服务器/客户端关系跨分布式网络的一个或多个设备分布的情况下。在示例中,一个或多个数据存储库/存储装置或其他存储器与系统400相关联。示例性系统的组件可以具有与其相关联的一个或多个数据存储装置/存储器/存储库。与示例性系统的组件相关联的数据以及由系统400的组件执行的处理操作/指令可以存储在所述组件上。此外,呈现了示例性系统的组件可以与其他应用服务对接。应用服务可以是可以扩展系统400的一个或多个组件的功能的任何资源。应用服务可以包括但不限于:网络搜索服务、电子邮件应用、日历、设备管理服务、地址簿服务、信息服务等)、业务线(lob)管理服务、客户关系管理(crm)服务、调试服务、会计服务、工资单服务以及由第三方托管或控制的服务和/或网站等等。应用服务还可以包括由第三方托管的其他网站和/或应用,例如:社交媒体网站;照片分享网站;视频和音乐流式传输网站;搜索引擎网站;体育、新闻或娱乐网站等。应用服务还可以与示例性系统的组件相关联地提供分析、数据编译和/或存储服务等。

系统还可以包括存储装置414、416,其可以用于存储与系统400的一个或多个组件的操作相关联的数据。存储装置414和416是任何物理或虚拟存储器空间。示例性存储装置414和416可以是第一方源、第二方源和第三方源中的任一者。存储装置414可以与服务器设备402连接。在一个示例中,存储装置414可以用于存储包括文档、文件、视频、音频、图像等的内容。例如,客户端设备404可以通过经由远程连接(例如,远程桌面连接)与服务设备402连接来远程访问存储在存储装置414中的内容。存储设备416可以与客户端设备404连接。在一个示例中,存储设备416可以用于本地地存储用于客户端设备404的内容。与示例性系统400的任何组件相关联的数据可以存储在存储装置414和416中,其中,系统的组件可以在包括云计算平台和基础设施服务的分布式网络上连接到这样的存储装置。

服务器设备402可以是一个或多个处理设备。在至少图1-3中提供了处理设备的示例以及其他示例。在系统400中,服务器设备402可以包括编码器406以及其他组件。编码器406可以以各种不同的形式来实现。例如,编码器402可以是被包括在电子设备中的硬件视频编码器,例如手持设备或其他消费者电子设备。在一些示例中,编码器406可以是针对yuv4:2:0、yuv4:4:4或任何其他视频编码(或其他优化的编码格式)优化的基于硬件的编码器。替代地,编码器406可以是通过执行被配置为执行编码的软件模块来实现的软件编码器。编码器406生成比特流以作为对传输信道408的输入。

传输信道408可以是服务器设备402和客户端设备404之间建立的连接。在示例中,传输信道408可以是互联网上的远程连接。在替代示例中,传输信道408可以是处理设备之间的硬连线连接。传输信道408可以以各种形式实现。例如,在一些示例中,传输信道408可以包括存储装置。例如,传输信道408可以包括数据库、平面文件存储装置、磁盘存储器、存储器存储装置等中的一者或多者。替代地或另外地,传输信道408可以包括一个或多个网络信道,例如有线或无线以太网信道、设备互连总线信道等。在替代示例中,传输信道408可以是在服务器设备402和客户端设备404之间建立的远程连接。例如,可以在处理设备之间建立远程桌面连接以使得内容能够例如由客户端设备404远程访问。

客户端设备404可以是一个或多个处理设备。在至少图1-3中提供了处理设备的示例以及其他示例。在系统400中,客户端设备402可以包括解码器410和显示器412以及其他组件。例如,解码器410可以是被包括在电子设备中的硬件视频解码器,例如手持式或其他消费者电子设备。在一些示例中,解码器410可以是针对yuv4:2:0、yuv4:4:4或任何其他视频解码(或其他优化的解码格式)优化的基于硬件的解码器。替代地,解码器410可以是通过执行被配置为执行解码的软件模块来实现的软件解码器。显示器412可以是用于以视觉形式呈现信息的输出设备。例如,显示器412可以被配置为输出由解码器410处理的解码的帧数据。在一个示例中,显示器412可以是与客户端设备404连接的或者是客户端设备404的部分的电子显示器。

图5示出了用于渐进更新内容的、用其可以实践本公开内容的各方面的示例性方法500。作为示例,方法500可以由示例性处理设备和/或系统(例如,图1-4所示的处理设备和/或系统)执行。在示例中,方法500可以在包括至少一个处理器的设备上执行,所述处理器被配置为存储和执行操作、程序或指令。在方法500中执行的操作可以与由执行计算机程序、应用编程接口(api)或机器学习处理以及其他示例的系统和/或服务执行的操作相对应。

方法500在其中区域被处理的操作502处开始。区域是表示内容的至少一部分的一个或多个宏块。可以在一个或多个帧(例如,帧数据)中处理区域以用于编码和解码目的。

流程前进到判定操作504,其中确定了正在被处理的区域是否被标记为脏。操作504可以包括评估是否存在区域内的一个或多个宏块的变化(与前一帧相比)。在这样做时,操作504可以用区域的前一帧数据来评估区域的当前帧数据。如果区域从前一帧改变,则区域中包含的宏块可以被标记为脏。

如果确定了区域被标记为脏,则流程可以进入分支是(yes)并且前进到操作510,其中,区域以初始质量水平被编码。初始质量水平可以根据可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作510包括以确定的初始质量水平以yuv4:2:0对区域进行编码。操作510还可以包括将区域标记为渐进的。将区域标记为渐进的提供关于区域要被渐进更新(其中,对于区域而言质量水平可以随时间增加)的指示。如果没有足够的带宽可用于细化前一帧中的所有脏宏块,则可以将剩余的宏块标记为跳过的渐进的。例如,标记为跳过的渐进的宏块可以保持处于初始质量水平,直到有足够的带宽来处理宏块。

流程可以前进到判定操作516,其中,确定了处理是否完成。例如,操作516可以评估是否存在要处理的另外的区域。在另一示例中,操作516中的处理可以评估区域已经被渐进更新为全色度(例如,基于对先前发生的渐进更新的迭代)。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到另外的区域要被处理。如果存在要被执行的进一步处理(包括对用于区域的渐进更新的另外的迭代),则流程进入分支否并返回到操作502。区域的另外的处理的一个示例可以是宏块是否被标记为跳过的渐进的。可以执行编码处理的进一步迭代以处理这样的宏块。

如果确定区域未被标记为脏,则流程进入分支否并且前进到判定操作506,其中,确定了区域是否被标记为渐进的。在一个示例中,在其中预定时间量内没有对区域的改变的情况下,可以渐进更新区域。可以应用处理操作来评估区域保持静止或未变化的时间段。用于确定是否渐进更新区域的时间量的门限可以变化。对于标记为渐进的区域,区域内的宏块可以处于不同的质量水平。例如,一个块可以已被标记为渐进的而另一块已被标记为跳过的渐进的。可以在不同的迭代中更新这样的块的质量水平,引起任何给定点处的不同质量水平。在区域的处理中,如果区域被标记为渐进的(判定操作506),则流程进入分支是并且区域可以被渐进地更新,其中,区域以更高的质量水平被编码(操作512)。在一些示例中,判定操作506可以识别被标记为跳过的渐进的宏块并更新这样的宏块的质量水平。较高质量水平的质量可以取决于可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作512包括以确定的较高质量水平以yuv4:2:0对区域进行编码。这可以包括对帧数据中的另外的色度信息进行编码以从初始质量水平增加质量水平,或者替代地修改与帧数据相关的色度子采样。操作510还包括将区域标记为渐进高。将区域标记为渐进高提供了关于区域要被渐进更新的指示,其中,质量水平可以在下一渐进更新中随时间进一步增加。流程可以前进到判定操作516,其中,确定了处理是否完成。例如,操作516可以评估是否存在要处理的另外的区域或者区域是否可以被渐进地更新。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到另外的区域要被处理。如果存在要被执行的进一步处理,则流程进入分支否并返回到操作502。

如果确定了区域未被标记为渐进的,则流程可以进入分支否并且前进到判定操作508,其中,确定了区域是否被标记为渐进高。在一个示例中,在其中在预定时间量内没有对区域的改变的情况下,可以渐进更新区域。可以应用处理操作来评估区域保持静止或未变化的时间段。用于确定是否渐进地更新区域的时间量的门限可以变化。在区域的处理中,如果区域被标记为渐进高(判定操作508),则流程进入分支是并且可以渐进地更新区域,其中,区域以更高的质量水平(例如,完全保真度(例如,全色度))被编码(操作514)。如以上识别的,质量水平可以取决于可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作514包括以全色度(例如,以yuv4:4:4)对区域进行编码。流程可以前进到判定操作516,其中,确定了处理是否完成。例如,操作516可以评估是否存在要处理的另外的区域或者是否可以渐进地更新区域。如果否,则流程进入分支是并且处理结束(或保持空闲)直到要处理另外的区域。如果有另外的区域要被处理,则流程进入分支否并返回到操作502。

如果区域未被标记为渐进高,则判定操作508可以使流程进入分支否,并且流程可以前进到判定操作516。如以上识别的,判定操作516是关于处理是否完成的确定。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到要处理另外的区域。如果处理未完成,则流程进入分支否并返回到操作502。

由于方法500的处理操作涉及编码操作,所以理解本公开内容的本领域技术人员应当认识到相同类型的处理反向应用以便解码(并且最终渐进地更新)区域的宏块。例如,可以接收、解码和处理编码的区域以更新区域的一个或多个宏块的质量水平。如以上识别的,可以在不同的编码/解码迭代中处理区域的宏块。换言之,不同宏块的质量水平可以变化并且可以在不同时间点处更新。

应用的处理操作可以评估可用带宽并改变执行方法500的处理操作的顺序。可以对何时编码帧数据和发送更新施加控制。例如,可以在下一帧中发送编码的帧数据,或者可以应用处理操作来保持帧数据(例如,保持3帧)以在稍后的时间点处处理。这可以取决于可用带宽而变化,例如,当在远程连接上渐进地更新内容区域时。

图6是用其可以实践本公开内容的各方面的用于渐进更新具有运动的内容的示例性方法600。作为示例,方法600可以由示例性处理设备和/或系统(例如,图1-4所示的处理设备和/或系统)执行。在示例中,方法600可以在包括至少一个处理器的设备上执行,所述处理器被配置为存储和执行操作、程序或指令。在方法600中执行的操作可以与由执行计算机程序、应用编程接口(api)或机器学习处理以及其他示例的系统和/或服务执行的操作相对应。

方法600在操作602处开始,其中,区域被处理。可以在一个或多个帧(例如,帧数据)中处理区域以用于编码和解码目的。

流程前进到判定操作604,其中,确定了正在被处理的区域是否被标记为脏。操作604可以包括评估是否存在区域内的一个或多个宏块的变化(与前一帧相比)。在这样做时,操作604可以用区域的前一帧数据来评估区域的当前帧数据。如果区域从前一帧变化,则包含的宏块将被标记为脏。如果确定了区域被标记为脏,则流程进入分支是,并且方法600前进到判定操作610,其中,针对运动评估区域。

操作610可以被配置为确定是否在区域中检测到运动。在其中第一次处理区域的情况下,在第一遍中未检测到运动。在第一遍中,根据带宽分配,可以以初始质量水平对区域进行编码并且可以将区域标记为渐进的、跳过的渐进的等。当区域随后被处理(例如,第二遍)时,操作610可以包括检测区域先前已被处理。在这样做时,操作610针对运动评估区域。运动可以是其中内容区域中的一个或多个宏块发生变化的实例。区域可以包括一个或多个宏块。当一个或多个宏块在区域内变化时,可以检测到运动(操作610)。

如果检测到运动,则流程进入分支是并前进到判定操作611,其中,确定了是否检测到整体运动。本文公开的处理操作可以使得编码器能够被配置为在运动的实例和整体运动的实例之间进行区分。判定操作611确定检测到的运动是否是整体运动。整体运动是区域沿水平或垂直方向或对角线方向滚动。例如,已经以初始质量水平处理的(宏块的)区域可以改变位置。对区域的整体运动的识别可以使得编码器能够辨识当区域被移动(例如,滚动)时可以渐进地修改区域的质量。对整体运动的检测(操作611)可以包括重新构建与区域相关的前一帧数据。例如,可以在前一帧数据的重新构建中执行诸如逆量化或逆离散余弦变换(dct)以及其他示例之类的处理操作。可以将区域的当前帧数据与区域的前一帧数据进行比较,以检测是否存在是整体运动的结果的变化。在示例中,可以由编码器执行对整体运动的处理(包括对整体运动的检测)。基于正被使用的编码器类型,对整体运动的检测可以不同。在一个示例中,h.264编码器检测并处理运动,包括对整体运动的检测和对与检测到的整体运动相关联的运动矢量的编码。

通过可以确定参考帧(例如,前一帧)和期望的帧(例如,当前帧)之间的增量的操作来确定残余帧数据。与这样的帧之间的差异相关联的值是残差值。可以执行处理操作以基于残差值的门限分析来确定最接近的匹配块或区域。在一个示例中,可以基于对当前帧的宏块与已被重新构建的前一帧(运动之前)的对应宏块之间的绝对差之和(sad)的计算来确定宏块之间的匹配。可以将确定的sad值与预定门限值进行比较。本文的示例可包括生成门限值以评估sad值。在一个示例中,门限值可以是用于评估与区域的宏块相关联的量化参数的、训练的数据。可以通过对参考图片和重新构建的图片之间的差异的统计分析来获得门限值。在一个实例中,通过使用均值(msad)和标准偏差(σsad)计算门限(sad门限,qp)来确定门限值,以根据量化参数(qp)确定统计置信区间。可以针对不同的qp重复计算处理操作。获得的门限(例如,msad和σsad)值和相应的qp可以存储在可以用于查找给定qp的门限的表中。可以存储门限值(例如,sad门限,qp)并将其与一个或多个量化参数相关联。

可以在编码处理期间量化宏块以使得比特流能够变得更可压缩以用于数据传输目的。取决于编码方案,对移动的处理可能不是直接的像素对像素匹配。像素匹配可能不准确,但那不一定是人眼可见的。用于分析sad值的生成的门限值具有内置的容差水平,其可以解释像素匹配的变化。在至少一个示例中,建立置信水平区间以识别宏块的一个或多个像素之间的匹配。如以上识别的,门限值可以评估与区域相关联的不同量化参数。例如,输入帧可以被分类成文本、图像和视频区域,并且文本区域可以具有比其他区域更高的质量(更低的qp)。对于先前编码的帧的不同量化参数,门限值可以是不同的。在示例中,可以针对不同参数设置不同的门限(例如,低、中、高等)。

训练门限值可以包括计算平均sad并基于训练图像的分布找到对应于质量的适当置信区间。例如,针对固定量化参数(qp),针对重新构建的帧(例如,前一帧数据)和下一帧之间的滚动序列的宏块计算平均sad。针对区域的每个宏块计算sad,并针对区域计算均值。可以针对qp范围(例如,从18到41)中的每个qp重复对平均sad的计算。与门限计算相关的描述的示例还可以被配置为考虑qp的变化。可以针对区域的所有帧数据重复计算处理,并且可以确定帧数据的计算的均值。取决于不同的编解码器和编码方案,可以应用不同的处理操作以使用计算的数据找到门限值。在一个示例中,对于完全匹配编码单元,可以利用高斯分布假设来找到一个或多个门限值。对于部分匹配编码单元,可以针对不同的编解码器采用不同的方案。例如,在mpeg-4avc第10部分h.264中,动态死区处理可以用于辅助量化以在宏块内部提供自适应质量。在另一示例中,对于hevc/h.265编解码器,可以使用四叉树处理来在应用量化之前将编码单元进一步划分为更小的尺寸。

本领域技术人员应当认识到,一旦确定了门限值,就可以以不同的方式应用用于确定运动类型的门限分析。在一个示例中,当sad值低于门限值时,指示检测到整体运动。然而,在另一示例中,当sad值高于门限时,可以指示检测到整体运动,并且可以用初始质量水平对区域编码。可以利用门限分析来确定区域的不同宏块是否要被跳过或标记以用于渐进更新。在一些实例中,并非所有宏块都需要被更新以向人眼传达质量水平的增加。对于被确定为渐进的区域,残差值用运动矢量来编码并以更好的质量来更新。

在其中未检测到运动的示例中,方法600的流程从判定操作610进入分支否,并且前进到操作614。此外,在其中运动被检测到但是判定操作611确定运动不是整体运动的示例中,方法600的流程从判定操作611进入分支否,并且前进到操作614。

在操作614处,以初始质量水平对区域进行编码。初始质量水平可以取决于可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作614包括以确定的初始质量水平以yuv4:2:0对区域进行编码。操作614还可以包括将区域标记为渐进的。将区域标记为渐进的提供了关于区域要被渐进更新的指示,其中,区域的质量水平可以随时间增加。随着整体运动继续更新,可以渐进更新区域,其中,区域的质量可以随时间而改善。在替代示例中(图6中未示出),如果没有足够的带宽来细化前一帧中的所有脏宏块,则可以将剩余的宏块标记为跳过的渐进的。例如,被标记为跳过的渐进的宏块可以保持在初始质量水平处,直到有足够的带宽来处理宏块。流程可以前进到判定操作620,其中,确定了处理是否完成。例如,操作620可以评估是否存在要处理的另外的区域或者区域是否是用于渐进更新的候选者。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到示例性编码器要执行进一步的处理。如果编码器要执行进一步的处理,则流程进入分支否并返回到操作602。在其中检测到整体运动的情况下,处理可以迭代地继续更新具有整体运动的区域的质量水平。区域的另外的处理的一个示例可以是宏块是否被标记为跳过的渐进的。可以执行编码处理的进一步迭代以处理这样的宏块。

在其中检测到整体运动的示例中,来自判定操作611的流程前进到操作612,其中,区域以其当前质量水平被标记。以给定质量水平标记区域有助于为渐进更新区域的质量水平提供上下文。例如,整体运动可能已经劣化了区域的质量。对区域质量水平的评估可以用于看出区域的质量劣化了多少。这可以辅助确定用于调整区域的质量水平的策略。以当前质量水平标记区域改善了渐进更新(当发生渐进更新时),这是因为编码器不必在每次检测到整体运动时都不断重置质量水平。当前质量水平是区域的质量水平,是区域最近更新的质量水平。在第一实例中,当前质量水平可以是初始质量水平。随着区域的渐进更新发生,标记(操作612)可以改变区域的质量水平。如以上识别的,区域的当前质量水平的标记(操作612)可以进一步辅助防止在质量水平改变时重新开始编码(从原始质量水平)。在一些替代示例中,调整质量水平可以引起质量水平在渐进增加之前减少。理解本公开内容的本领域技术人员应当认识到,除了图6所示的之外,可以发生另外的质量水平调整。

如果区域正被随后处理(例如,第二遍、第三遍等),则流程可以前进到判定操作606,其中,确定了区域是否被标记为渐进的。对于被标记为渐进的区域,区域内的宏块可以处于不同的质量水平。例如,一个块可能已被标记为渐进的并且另一块已被标记为跳过的渐进的。可以在不同的迭代中更新这样的块的质量水平,从而引起任何给定点处的不同的质量水平。在区域的处理中,当在被标记为渐进的区域中检测到整体运动时,用运动矢量对残差值进行编码,并用对应的先前区域更新质量。否则,在低带宽情况下,运动中的区域可能以初始质量水平编码,并且所得到的用户体验可能是不期望的,这是因为初始质量水平将低于否则将是的渐进水平。例如,如果前一参考帧中的区域已被更新为最高质量水平,则对运动区域进行编码的编码器仅发送运动矢量,在另一实例中,如果前一参考帧中的区域具有中等质量水平,则当前运动区域可以使用中等质量水平作为渐进更新区域的基础。如果区域被标记为渐进的(判定操作606),则流程进入分支是并且区域可以被渐进地更新,其中,区域以比当前质量水平更高的质量水平被编码(操作616)。在一些示例中,判定操作606可以识别标记为跳过的渐进的宏块并更新这样的宏块的质量水平。较高质量水平的质量可以取决于可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作616包括以确定的较高质量水平以yuv4:2:0对区域进行编码。这可以包括对帧数据中的另外的色度信息进行编码以从初始质量水平增加质量水平,或者替代地修改与帧数据相关的色度子采样。操作616还包括将区域标记为渐进高。将区域标记为渐进高提供了关于要在后续处理迭代中渐进地更新区域的指示,其中,质量水平可以在下一渐进更新中随时间进一步增加。流程可以前进到判定操作620,其中,确定了处理是否完成。例如,操作620可以评估是否要由示例性编码器执行进一步处理。如果此时没有进一步处理要发生,则流程进入分支是并且处理结束(或保持空闲)直到编码器执行进一步处理。如果要由编码器执行进一步处理,则流程进入分支否并返回到操作602。区域的另外的处理的一个示例可以是宏块是否被标记为跳过的渐进的。可以执行编码处理的进一步迭代以处理这样的宏块。

如果确定了区域未被标记为渐进的,则流程可以进入分支否并且前进到判定操作608,其中,确定了区域是否被标记为渐进高。在区域的处理中,如果区域被标记为渐进高(判定操作608),则流程进入分支是并且可以渐进地更新区域,其中,区域以更高的质量水平(例如,完全保真度)被编码(操作618)。如以上识别的,质量水平可以取决于可用带宽和基于可用带宽的速率控制处理而变化。在一个示例中,操作618包括用全色度对区域进行编码,例如,以yuv4:4:4。流程可以前进到判定操作620,其中,确定了处理是否完成。例如,操作620可以评估是否存在要处理的另外的区域或者是否要重新评估区域(例如,在其中检测到运动的实例中)。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到编码器要执行进一步处理。如果编码器要执行进一步处理,则流程进入分支否并返回到操作602。区域的另外的处理的一个示例可以是宏块是否被标记为跳过的渐进的。可以执行编码处理的进一步迭代以处理这样的宏块。

如果区域未被标记为渐进高,则判定操作608可以使流程进入分支否,并且流程可以前进到判定操作620。如以上识别的,判定操作620确定处理是否完成。例如,操作620可以评估是否存在用于处理的另外的区域或者是否要重新评估区域(例如,在其中检测到运动的实例中)。如果处理完成,则流程进入分支是并且处理结束(或保持空闲)直到要处理另外的区域。如果编码器要执行进一步处理,则流程进入分支否并返回到操作602。区域的另外的处理的一个示例可以是宏块是否被标记为跳过的渐进的。可以执行编码处理的进一步迭代以处理这样的宏块。

由于方法600的处理操作涉及编码操作,理解本公开内容的本领域技术人员应当认识到,相同类型的处理反向应用以便解码(并且最终渐进地更新)区域的宏块。例如,可以接收、解码和处理编码的区域以更新区域的质量水平。如以上指示的,可以在不同的编码/解码迭代中处理区域的宏块。换言之,不同宏块的质量水平可以变化并且可以在不同时间点处被更新。应用的处理操作可以评估可用带宽并改变执行方法600的处理操作的顺序。可以对何时编码帧数据和发送更新施加控制。例如,可以在下一帧中发送编码的帧数据,或者可以应用处理操作来保持帧数据(例如,保持3帧)以在稍后的时间点处处理。这可以取决于可用带宽而变化,例如,当在远程连接上渐进地更新内容区域时。此外,编码器/解码器可以被配置为并行处理多个区域。

图7是用其可以实践本公开内容的各方面的用于对内容进行编码的示例性方法700。作为示例,方法700可以由示例性处理设备和/或系统(例如,图1-4所示的处理设备和/或系统)执行。在示例中,方法700可以在包括至少一个处理器的设备上执行,所述处理器被配置为存储和执行操作、程序或指令。在方法700中执行的操作可以与由执行计算机程序、应用编程接口(api)或机器学习处理以及其他示例的系统和/或服务执行的操作相对应。

方法700在操作702处开始,其中,远程连接被建立。前面描述了远程连接的示例。作为示例,可以在两个处理设备之间建立远程连接。在一个示例中,可以在客户端处理设备和服务器处理设备之间建立远程桌面连接。

流程可以前进到操作704,其中,针对内容区域检测整体运动。作为示例,处理设备可以远程访问内容(由另一处理设备管理),其中,内容可以存储在远程处理设备或与远程处理设备连接的存储装置上。可以接收更新内容区域(例如,滚动区域)的输入。对区域的整体运动的检测可以包括:重新构建前一帧,通过计算当前帧的宏块与前一帧的宏块之间的绝对差之和(sad)值来评估当前帧,以及通过将计算的sad值与门限sad值进行比较来执行门限分析以检测区域的整体运动。

流程可以前进到操作706,其中,确定了具有整体运动的区域的当前质量水平。在示例中,操作706还可以包括确定区域被标记以用于渐进更新。确定当前质量水平和将区域标记为渐进的示例在图5和图6的前面的描述中被描述。

基于对整体运动(以及在一些示例中确定区域被标记以用于渐进更新)的检测,流程可以前进到操作708,其中,生成用于渐进更新的残差值。在一个示例中,残差值被生成以用于以与区域的现有质量水平相比更高质量水平更新区域。本文中执行的处理操作可以被配置为使用先前区域的质量作为用于确定(并且最终在渐进更新的一遍中执行)具有小比特率消耗的量化更新的基础来确定用于整体运动更新的残差值。

流程可以前进到操作710,其中,帧数据被编码以用于区域的渐进更新。在操作710中,编码的帧数据包括用于具有整体运动的区域的渐进更新的残差值和运动矢量,其中,用于更新区域的残差值以与现有质量水平相比更高的质量水平被编码。在示例中,操作710还可以包括将区域标记为渐进高,以用于区域的后续渐进更新。当对帧数据进行编码(操作710)以用于渐进更新时,先前区域的质量被用作执行具有小比特率消耗的量化更新的基础,所述小比特率消耗可以用于修改下一渐进更新中的区域的质量。

流程可以前进到操作712,其中,编码的帧数据被发送。例如,编码的帧数据可以被发送到客户端处理设备,所述客户端处理设备可以解码帧数据并更新在客户端处理设备上显示的内容区域的显示。更新客户端处理设备上的显示可以包括以更高质量水平显示内容区域。

流程可以前进到判定操作714,其中,确定了是否要进一步更新内容区域。在整体运动的大多数情况下,内容被不断更新。如果检测到对内容的更新,则流程进入分支是并返回到操作704以检测区域的后续整体运动。如果未检测到对内容的更新,则流程进入分支否并且处理保持空闲,直到发生对内容的进一步更新。

图8是可以实践本公开内容的各方面的用于解码内容的示例性方法800。作为示例,方法800可以由示例性处理设备和/或系统(例如,图1-4所示的处理设备和/或系统)执行。在示例中,方法800可以在包括至少一个处理器的设备上执行,所述处理器被配置为存储和执行操作、程序或指令。在方法800中执行的操作可以与由执行计算机程序、应用编程接口(api)或机器学习处理以及其他示例的系统和/或服务执行的操作相对应。

方法800在操作802处开始,其中,远程连接被建立。前面描述了远程连接的示例。作为示例,可以在两个处理设备之间建立远程连接。在一个示例中,可以在客户端处理设备和服务器处理设备之间建立远程桌面连接。

流程可以前进到操作804,其中,编码的帧数据被接收。作为示例,可以在远程连接上接收编码的帧数据。流程可以前进到操作806,其中,帧数据被解码。解码(操作806)帧数据包括使用残差值和运动矢量来重新构建帧数据以重新构建解码的块。流程可以前进到操作808,其中,与帧数据相关联的内容的显示被渐进地更新。

流程可以前进到判定操作810,其中,确定了另外的帧数据是否被接收。在整体运动的大多数情况下,内容被不断更新。如果另外的帧数据被接收,则流程进入分支是并返回到操作804。如果未检测到对内容的更新,则流程进入分支否并且处理保持空闲直到进一步的帧数据被接收。

已贯穿说明书对“一个示例”或“示例”进行了引用,这意味着在至少一个示例中包括特定描述的特征、结构或特性。因此,这样的短语的使用可以指代多于仅一个示例。此外,所描述的特征、结构或特性可以在一个或多个示例中以任何合适的方式组合。

然而,相关领域的技术人员可以认识到,可以在没有具体细节中的一者或多者的情况下或者用其他方法、资源、材料等来实践示例。在其他实例中,仅仅为了避免模糊实施例的各方面而尚未详细示出或描述众所周知的结构、资源或者操作。

虽然已经说明和描述了样本示例和应用,但是应当理解,示例不限于以上描述的精确配置和资源。在不脱离所要求保护的示例的范围的情况下,可以对方法和系统的本文公开的布置、操作和细节进行对于本领域技术人员而言显而易见的各种修改、改变和变化。

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