CN105723676A - 通用屏幕内容编解码器 - Google Patents
通用屏幕内容编解码器 Download PDFInfo
- Publication number
- CN105723676A CN105723676A CN201480057687.0A CN201480057687A CN105723676A CN 105723676 A CN105723676 A CN 105723676A CN 201480057687 A CN201480057687 A CN 201480057687A CN 105723676 A CN105723676 A CN 105723676A
- Authority
- CN
- China
- Prior art keywords
- content
- screen frame
- screen
- frame
- codec
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/10—Display system comprising arrangements, such as a coprocessor, specific for motion video images
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Discrete Mathematics (AREA)
Abstract
描述了用于提供通用屏幕内容编解码器的方法和系统。一方法包括接收包括多个屏幕帧的屏幕内容,其中屏幕帧的至少一个屏幕帧包括多个类型的屏幕内容。该方法还包括使用单个编解码器来编码各屏幕帧的包括该多个类型的屏幕内容的该至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。该多个类型的屏幕内容可包括文本、视频或图像内容。包括各个内容类型的块可被分开地和总体地编码。
Description
背景
屏幕内容,或由计算系统在显示器上向用户显示的描述信息的数据,通常包括多个不同类型的内容。这些内容可包括,例如,文本内容、视频内容、静态图像(例如,窗口或其它GUI元素的显示)、以及幻灯片或其它呈现素材。屏幕内容被越来越多地远程递送,例如使得两个或多个远程计算系统可共享公共的显示从而允许两个位于远程的个体同时查看相同屏幕,或另外地在电话会议中递送使得屏幕在多个个体之间共享。由于屏幕内容被远程递送,并且归因于渐增的屏幕分辨率,希望将此内容压缩到低于其本身位图尺寸的大小、以节省带宽并增强传输效率。
虽然存在针对图形数据(诸如屏幕内容)的多种压缩解决方案,这些压缩解决方案不足以用于可变屏幕内容。例如,传统的运动图片专家组(MPEG)编解码器因压缩解决方案依赖于顺序帧之间的差异而提供针对视频内容的令人满意的压缩。此外,许多设备具有集成的可高效解码这样编码的数据的MPEG解码器。然而,MPEG编码不提供针对非视频内容(尽管如此其可随时间变化)的大量的数据压缩,并因此未被典型地用于屏幕内容,尤其是针对远程屏幕显示。
为了解决以上的问题,编解码器的混合可被用于图形数据的远程递送。例如,文本数据可使用无损编解码器,而针对屏幕背景数据或视频数据,压缩该数据的有损编解码器(例如,MPEG-4AVC/264)可被使用。此外,在一些情况下,可在渐进的基础上执行有损压缩。然而,这种对混合编解码器的使用产生了问题。首先,由于一个以上的编解码器被用于编码图形数据,因此在接收该图形数据的远程计算系统处也使用多个不同的编解码器。具体而言,当远程计算系统是瘦客户端设备时,不太可能本地硬件支持所有这样的编解码器。因此,在通用处理器上的软件解码被执行,其是计算资源密集的并使用大量功率消耗。此外,由于在屏幕图像的不同区域中使用具有不同处理技术和有损水平的不同编解码器,图形残余或伪像可在低带宽情况中出现。
概述
概括来说,本申请涉及被用于屏幕内容的通用编解码器。具体而言,本申请一般涉及用于处理屏幕内容的方法和系统,该屏幕内容诸如包括多个不同类型的屏幕内容的各屏幕帧。这样的屏幕内容可包括文本、视频、图像、特殊效果或其它类型的内容。通用编码可符合基于标准的编解码器,从而允许计算系统接收经编码的屏幕内容以使用被普遍地合并到这样的计算系统内的专用处理单元来解码该内容,并避免消耗功率的软件解码过程。
在第一方面,一方法包括接收包括多个屏幕帧的屏幕内容,其中各屏幕帧中的至少一个屏幕帧包括多个类型的屏幕内容。该方法还包括使用单个编解码器来编码各屏幕帧中包括该多个类型的屏幕内容的该至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
在第二方面,一系统包括计算系统,该计算系统具有可编程电路和包含计算机可执行指令的存储器。计算机可执行指令在被执行时,致使计算系统向编码器提供多个屏幕帧,其中各屏幕帧的至少一个屏幕帧包括多个类型的屏幕内容。它们还致使计算系统使用单个编解码器来编码各屏幕帧的包括该多个类型的屏幕内容的至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
在第三方面,揭示了包括存储于其上的计算机可执行指令的计算机可读存储介质。当被计算系统执行时,计算机可执行指令致使计算系统执行包括接收包括多个屏幕帧的屏幕内容的方法,其中屏幕帧的至少一个屏幕帧包括文本内容、视频内容和图像内容。该方法还包括使用单个编解码器来编码各屏幕帧的包括该文本内容、视频内容和图像内容的该至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
提供本发明内容以便以简化的形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图简述
图1示出系统的示例说明性安排,其中在计算系统处从远程源接收到的图形数据被处理;
图2示出利用多个编解码器的示例远程桌面协议流水线安排;
图3示出根据本发明的一示例实施例的利用通用屏幕内容编解码器的示例远程桌面协议流水线安排;
图4是图3的安排内的数据流的逻辑图;
图5是根据一示例实施例的被执行来实现通用屏幕内容编解码器的示例过程集的流程图;
图6是根据一示例实施例的通用屏幕内容编解码器的实现的详细体系架构图;
图7示出根据一示例实施例的被用于视频内容编码器中的示例数据流;
图8示出根据一示例实施例的被用于图像内容编码器中的示例数据流;
图9示出根据一示例实施例的被用于特殊效果内容编码器中的示例数据流;
图10示出根据一示例实施例的被用于文本内容编码器中的示例数据流;
图11示出根据一示例实施例的如图7中示出的视频内容编码器的运动估计组件内的示例数据流;
图12是根据一示例实施例的被用于图11的视频运动估计组件中的方形运动搜索的逻辑图;
图13是根据一示例实施例的被用于图11的视频运动估计组件中的菱形运动搜索的逻辑图;
图14是根据一示例实施例的被用于图10的文本运动估计组件中的逆六边形运动搜索的逻辑图;
图15示出运动向量平滑滤波器的示例体系架构,诸如分别被合并到图9和10的特殊效果内容编码器和文本内容编码器中;
图16示出根据一示例实施例的图8的图像内容编码器中所包括的运动估计组件的示例体系架构;
图17是根据一示例实施例的被用于图16的运动估计组件中的方形运动搜索的逻辑图;
图18是示出可用来实施本发明的各实施例的计算设备的示例物理组件的框图;
图19A和19B是可用来实施本发明的各实施例的移动计算设备的简化框图;以及
图20是可用来实施本发明的各实施例的分布式计算系统的简化框图。
详细描述
如以上简单描述的,本发明的各实施例涉及被用于屏幕内容的通用编解码器。具体而言,本申请一般涉及用于处理屏幕内容的方法和系统,该屏幕内容诸如包括多个不同类型的屏幕内容的屏幕帧。这样的屏幕内容可包括文本、视频、图像、特殊效果或其它类型的内容。通用编解码器可符合基于标准的编解码器,从而允许计算系统接收经编码的屏幕内容以使用被普遍地合并到这样的计算系统内的专用处理单元来解码该内容,并避免消耗功率的软件解码过程。
为解决在远程屏幕显示系统中的某些限制,华盛顿州雷蒙德市的微软公司开发了远程桌面协议(RDP)。在这个协议中,屏幕帧被分析,其中不同的内容被不同地分类。当RDP被使用时,基于要被压缩且被传送到远程系统以供后续重构和显示的屏幕内容的类型,可应用混合的编解码器集合。例如,屏幕的文本部分可使用无损编解码器,而图像和背景数据使用用于逐渐地改善屏幕质量的渐进编解码器。屏幕内容的视频部分使用基于标准的视频编解码器(诸如MPEG-4AVC/264)来编码;这样的基于标准的编解码器传统上被限制为编码视频内容或其它单一类型的内容。因此,使用多个编解码器的集合允许RDP不同地处理每种内容类型,从而维护不大可能快速改变的内容的质量,同时允许对更动态、改变的内容(例如,视频)的较低质量。然而,这种编解码器的混合集合通过要求进行编码、进行传送的计算系统以及进行接收、进行解码的计算系统两者均与所有使用的编解码器兼容而导致在编码器和解码器两者处的计算复杂度。此外,编解码器的混合通常导致屏幕内容中的视觉伪像,尤其在低带宽情况期间。
在一些实施例中,并且与现有的RDP方案相反,本发明的通用编解码器被构造成使得其输出比特流符合特定的基于标准的编解码器,诸如基于MPEG的编解码器。因此,可使用单个编解码器,其中编码针对要被传送的特定类型的内容被定制,而不是通常在其中多个内容类型被传送的情况那样使用多个编解码器。这避免了在使用不同的编解码器编码的区域之间的边界处可发生的屏幕图像质量上的可能的不一致性。接收该比特流的计算系统可使用常用的硬件解码器来解码接收到的比特流。此外,由于无损编解码器和有损编解码器之间不同的特性,针对混合编解码器控制比特率是困难的。这避免了在该进行接收的计算机的通用处理器中解码比特流,并因而降低进行接收的计算机的功率消耗。
在本发明的一些实施例中,使用帧预分析模块来实现通用编解码器,该帧预分析模块包括运动估计或启发式直方图处理来获得特定区域的特性。分类器可确定某帧的每个特定区域中内容的类型并将内容类型隔离成不同的宏块。这些宏块可基于内容的类型使用不同的参数和质量来被编码,并可(例如,使用不同的运动估计技术)被不同地处理。然而,每个类型的内容被一般地编码,使得所得到的结果被提供为与基于标准的编解码器兼容的比特流。这样的基于标准的编解码器的一个示例可以是MPEG-4AVC/264;然而,也可使用其它编解码器,诸如HEVC/H.265。
图1示出系统100的示例说明性安排,其中远程屏幕内容分布可被执行并且其中通用编解码器可被实现。如所示,系统100包括计算设备102,其包括诸如CPU的可编程电路104。计算设备102还包括配置用于存储可以由可编程电路104执行的计算指令的存储器106。适合用作计算设备102的计算系统的示例类型以下结合图12-14讨论。
通常,存储器106包括远程桌面协议软件108和编码器110。远程桌面协议软件108通常被配置来将呈现在计算设备102的本地显示器112上的屏幕内容复制到远程计算设备(被示为远程设备120)上。在一些实施例中,远程桌面协议软件108生成与华盛顿州雷蒙德市的Corporation(微软公司)定义的远程桌面协议(RDP)兼容的内容。
如在以下更加详细地讨论的,编码器110可被配置成将通用内容编解码器应用到多个内容类型的内容(例如,文本、视频、图像),使得内容被压缩以供传输到远程设备120。在各示例实施例中,编码器110可生成符合基于标准的编解码器(诸如基于MPEG的编解码器)的比特流。在特定示例中,编码器110可符合一个或多个编解码器,诸如MPEG-4AVC/H.264或HEVC/H.265编解码器。其它类型的基于标准的编码方案或编解码器也可被使用。
如图1所示,经编码的屏幕内容可通过计算设备102的通信接口114被传送到远程设备120,该通信接口114将经编码的屏幕内容经由通信连接116(例如,互联网)提供到远程设备120的通信接口134。通常,如以下所讨论的,例如归因于在形成通信连接116的网络上发生的附加的流量,通信连接116可具有不可预测的可用带宽。因此,可经由通信连接116传送不同质量的数据。
在本发明的上下文中,在一些实施例中,远程设备120包括主可编程电路124(诸如CPU)以及专用可编程电路125。在示例实施例中,专用可编程电路125是基于标准的解码器,诸如被设计来编码或解码具有特定标准(例如MPEG-4AVC/H.264)的内容的MPEG解码器。在特定实施例中,远程设备120对应于这样的客户端设备:其相对于计算设备102是本地或远程的,且用作可用于接收屏幕内容的客户端设备。因此,从远程设备120的角度而言,计算设备102对应于图形(例如,显示)内容的远程源。
此外,远程设备包括存储器126和显示器128。存储器126包括远程桌面客户端130和显示缓冲器132。远程桌面客户端130可以是,例如,被配置用于接收并解码接收自计算设备102的屏幕内容的软件组件。在一些实施例中,远程桌面客户端130被配置来接收并处理屏幕内容以供在显示器128上呈现远程屏幕。在一些实施例中,屏幕内容可以,根据华盛顿州雷蒙德市的Corporation(微软公司)定义的远程桌面协议来传送。显示缓冲器132在存储器中将要被显示在显示器128上的屏幕内容的当前副本存储为例如位图,其中各区域在更新可用时可被选择或替代。
现在参考图2,显示了实现RDP协议的示例流水线安排200。如图2中看到的,流水线安排200包括RDP流水线202。RDP流水线202包括接收来自屏幕捕捉组件(未显示)的屏幕图像的输入模块204,该屏幕捕捉组件将这些屏幕图像(帧)传递到RDP流水线202。差和增量处理器206确定当前和紧接在前的帧之间的不同,并且高速缓存处理器208对当前帧进行高速缓存以供与后续帧进行比较。运动处理器210确定相邻帧之间经历的运动的量。
在显示的实施例中,分类组件212将每个屏幕帧中的内容分类为视频内容214、屏幕图像或背景内容216或文本内容218。例如,特定屏幕帧可被分段成宏块,并且每个宏块根据该宏块中的内容来分类。例如,视频内容214被传递到视频编码器220,其被显示为根据基于MPEG的编解码器(诸如MPEG-4AVC/264)来执行编码。屏幕图像或背景内容216被传递到渐进编码器222,其执行递归地改善编码的过程,其中低质量的图像数据被初始地编码并提供到远程系统,并且接着如果宽带允许则随着时间推移被改善。此外,文本内容218被提供到文本编码器224,其使用明文、无损编解码器对文本进行编码。来自视频编码器220、渐进编码器222和文本编码器224中的每一者的经编码的内容被传递回RDP流水线202中的复用器226,其聚集宏块并将对应的比特流输出到远程系统。
相反,图3示出了根据本发明的一示例实施例的利用通用屏幕内容编解码器的示例远程桌面协议流水线安排300。如图3中看到的,流水线安排300包括RDP流水线302。RDP流水线302包括接收来自屏幕捕捉组件(未显示)的屏幕图像的输入模块304,该屏幕捕捉组件将这些屏幕图像(帧)传递到RDP流水线302。RDP流水线302将所有捕捉的帧传递到通用编码器306,其使用共同的、通用的屏幕内容编解码器来对整个屏幕帧进行编码。来自通用编码器的输出被提供到RDP流水线302中的输出模块308,该输出模块308进而输出符合单个、基于标准的编解码器的比特流,该比特流可使用接收设备的硬件解码器(例如,MPEG-4AVC/264硬件解码器)来容易地解码。
现在参考图4,示出了图3的流水线安排300内的数据流400的逻辑图。如示出的,RDP流水线302包括RDP调度器402,该RDP调度器402接收经捕捉的屏幕帧并将这样的屏幕帧数据提供到编解码器预处理器404。编解码器预处理器404将完整屏幕帧作为屏幕原始数据406与比特率和色彩转换信息以及指示是否以低复杂度来编码数据的标记一起发送到通用编码器306。通用编码器306在完整屏幕编解码器单元408处接收屏幕原始数据406和相关联的编码信息。完整屏幕编解码器单元408生成完整屏幕帧的经编码的版本,从而生成经编码的比特流410和描述该编码的元数据412。描述该编码的元数据412包括例如,被提供到RDP流水线302中的编解码器后处理器414的量化参数(QP)。此外,QP可被用于决定是停止还是继续捕捉。一般而言,这告诉编解码器后处理器414已经被编码的屏幕帧的质量。编解码器后处理器414可基于量化参数来向RDP调度器402指示调整用于编码的一个或多个参数(例如,如果质量基于可用带宽是不足的,等),使得RDP调度器402可重新调度屏幕帧编码。编解码器后处理器414还向RDP调度器提供经编码的比特流以供在分析和调度后续屏幕帧时使用。
一旦编解码器后处理器414确定整个屏幕帧是可接受的,其就向复用器416指示经编码的比特流410和元数据412准备好被传送到远程系统以供显示,并且复用器416将视频与任意其它伴随数据(例如,音频或其它数据)组合以供传输。替换地,编解码器后处理器414可选择向复用器416指示传送经编码的比特流410并还可向RDP调度器402指示尝试随着时间推移渐进地改善该图像。这个循环过程可一般地被重复,直到达到如被编解码器后处理器414确定的预先确定的阈值的质量,或直到不存在用于该帧的充足带宽(在此时,编解码器后处理器414用信号通知复用器416传递该屏幕帧,而不管是否已经达到质量阈值)。
现在参考图5,示出了根据一示例实施例的被执行来实现通用屏幕内容编解码器的示例方法500的流程图。该方法500一般地被实现为在每个屏幕帧被捕捉后并在传输到远程计算系统以供显示前对该每个屏幕帧执行的顺序操作集。在一些实施例中,方法500的操作可由图4的完整屏幕编解码器单元408来执行。
在示出的实施例中,完整屏幕帧在输入操作502处被接收到并被传递到帧预分析操作504。帧预分析操作504计算输入屏幕帧的特性,诸如其大小、内容类型以及描述屏幕帧的其它元数据。帧预分析操作504输出特定块大小(诸如16x16块大小)的编码单元。宏块内/宏块间处理操作506执行模式决定、各种类型的移动预测(在以下进一步详细讨论)、以及针对被包括在每个宏块上的屏幕帧中的各种类型的内容中的每一种的特定编码过程。熵编码器508从宏块内/宏块间处理操作506的各个内容编码过程中接收经编码的数据以及残余系数,并提供具有一般与可用于屏幕或图形内容的所选的基于标准的编解码器兼容的格式的屏幕帧的最终、统一的编码。
图6示出根据一示例实施例的帧预分析操作504和宏块内/宏块间处理操作506的细节。在预分析操作504内,场景改变检测过程602确定场景相对于前一屏幕帧是否改变。如果该帧不是第一帧或者场景改变点,则将存在帧之间可被利用的某个不同(即,少于整个帧会被重新编码)。因此,原始屏幕帧被传递到简单运动估计过程604,其相对于前一屏幕帧生成针对该屏幕帧内的元素的绝对差之和(SAD)和运动向量(MV)。
如果该屏幕帧是新帧或新场景或基于简单运动估计过程604中的运动估计参数,帧类型决定过程606确定帧是对应于I-帧、P-帧还是B-帧。一般而言,I-帧对应于参考帧,并且被定义为完全指定的图片。I-帧可以例如是第一帧或场景改变帧。P-帧被用于定义前向预测的图片,而B-帧被用于定义双向预测的图片。P-帧和B-帧被表示为运动向量和变换系数。
如果该帧是I-帧,则该帧被传递到试探直方图过程608,其计算输入的、完整屏幕内容的直方图。基于所计算的直方图以及也在试探直方图过程608处被计算的平均绝对差,I-帧分析过程610生成被分类过程612使用的数据,分类过程612可被用在决策树中来检测帧的特定区域(宏块)中的数据是否对应于视频、图像、文本或特殊效果数据。
如果该帧是P-帧,则该帧被传递到P-帧群集过程614,其使用绝对差之和和运动向量来统一分类信息。P-帧分析过程616接着分析该帧来生成帮助分类过程612确定该帧的每个宏块中内容的类型的元数据。类似地,如果该帧是B-帧,则该帧被传递到B-帧群集过程618,其使用绝对差之和和运动向量来统一绝对差之和信息。B-帧分析过程620接着分析该帧来生成帮助分类过程612确定该帧的每个宏块中内容的类型的元数据。在P-帧和B-帧的情况下,注意的是,这些不太可能对应于文本内容类型,因为它们表示被定义为来自前一帧的差的运动改变帧,并被旨在用于编码帧之间的移动(例如,如在视频或图像移动中)。
分类过程612使用由分析过程610、616、620生成的元数据,并向宏块内/宏块间处理操作506内的各个内容编码过程输出元数据和宏块数据。内容编码过程可被用于例如自定义对各个类型的内容执行的编码,以允许通用编解码器基于单个帧中呈现的内容的类型来选择性地改变该帧内的质量。具体而言,在显示的实施例中,分类过程612将视频内容622路由到视频宏块编码过程624,将屏幕和背景内容626路由到屏幕和背景宏块编码过程628,将特殊效果内容630路由到特殊效果宏块编码过程632,并将文本内容634路由到文本宏块编码过程636。一般而言,编码过程624、628、632、636中的每一者可使用不同的模式决定和运动估计算法来不同地编码每个宏块。这样的编码过程的示例在以下参考图7-10被进一步讨论。编码过程624、628、632、636中的每一者可将经编码的内容路由到熵编码器508,如以上提到的,该熵编码器508组合经编码的宏块并以符合基于标准的编解码器的方式来编码整个屏幕帧以供作为比特流传输到远程系统。
现在参考图7,示出了视频编码器700中使用的示例数据流。在示例实施例中,视频编码器700可被用于执行图6的视频宏块编码过程624。一般而言,视频编码器700基于在视频编码器处接收到的模式决定来区分宏块内内容502和宏块间内容704。对于宏块内内容702,因为已知这是视频数据,所以可使用高复杂度宏块内预测操作706,表明可执行针对所有模式(例如,16x16、8x8和4x4模式)的帧内预测。对于宏块间内容704,可使用混合运动估计操作708。混合运动估计操作708基于跨宏块间内容704中所涉及的块的组合估计来执行运动估计,以确保跨帧的正确/准确的运动和对视觉质量的维护。因为大部分RDP内容已经被压缩,所以这个混合运动估计操作708导致比传统的视频内容更高的压缩率。
从高复杂度宏块内预测操作706或混合运动估计操作708,变换和量化操作710以及逆量化和变换操作712被执行。进一步的运动预测操作714被进一步地执行,其中经预测的运动被传递到自适应环路滤波器716。在一些实施例中,自适应环路滤波器716被实现为自适应去块滤波器,从而进一步改善所得到的经编码的图像。所得到的图像块接着被传递到图片参考高速缓存718,其存储经聚集的屏幕帧。注意的是,图片参考高速缓存718也被提供以供混合运动估计操作708使用,例如以允许在该运动估计过程中使用宏块间比较。
现在参考图8,示出了图像内容编码器800中使用的示例数据流。在示例实施例中,图像内容编码器800可被用于执行图6的屏幕和背景宏块编码过程628。一般而言,类似于以上讨论的视频编码器700,图像内容编码器800基于在图像内容编码器800处接收到的模式决定来区分宏块内内容802和宏块间内容804。图像内容编码器800包括类似于视频编码器700的高复杂度宏块内预测操作806。然而,在图像内容编码器800中,包括简单运动估计操作808以及全局运动估计操作810,而不是被视频编码器执行的混合运动估计。一般而言,全局运动估计操作810可被用于(诸如在被滚动的文档或移动的窗口的情况下)其中某一图像的大部分被移动的较大范围的运动,而简单运动估计操作808可被用于在屏幕上发生的较小范围的运动。相比于传统视频编码器,使用全局运动估计操作810允许具有更高效率的更准确的运动估计,其将在小的区域上执行计算来确定帧之间的移动。在一些实施例中,简单运动估计操作808和全局运动估计操作810可如以下在图16中示出地被执行。
如使用视频编码器,从高复杂度宏块内预测操作806或全局运动估计操作810,变换和量化操作812以及逆量化和变换操作814被执行。进一步的运动预测操作816被进一步地执行,其中经预测的运动被传递到自适应环路滤波器818。在一些实施例中,自适应环路滤波器818被实现为自适应去块滤波器,从而进一步改善所得到的经编码的图像。所得到的图像块接着被传递到图片参考高速缓存718,其存储包括所有类型的宏块在内的经聚集的屏幕帧。注意的是,图片参考高速缓存718也被提供以供简单运动估计操作808使用,例如以允许在该运动估计过程中使用宏块间比较。
现在参考图9,示出了特殊效果内容编码器900中使用的示例数据流。特殊效果一般指可在演示中发生的特定效果,诸如淡入/淡出效果。针对特殊效果使用特定、分开的压缩策略允许对这样的效果的更好的压缩,从而导致被更加高效地编码的比特流。在示例实施例中,特殊效果内容编码器900可被用于执行图6的特殊效果宏块编码过程632。
一般而言,类似于以上讨论的视频编码器700和图像内容编码器800,特殊效果内容编码器900基于在特殊效果内容编码器900处接收到的模式决定来区分宏块内内容902和宏块间内容904。特殊效果内容编码器900包括类似于以上讨论的高复杂度宏块内预测操作906。然而,在特殊效果内容编码器900中,加权运动估计操作908被执行,之后是运动向量平滑滤波操作910,而非混合运动估计或简单运动估计。加权运动估计操作908使用亮度变化和简单运动检测来检测这样的特殊效果,而无需使用计算密集的视频编码来检测帧之间的改变。运动向量平滑滤波操作被提供来改善运动向量的编码性能以及改善特殊效果屏幕内容的视觉质量。可被用于执行运动向量平滑滤波操作910的运动向量平滑滤波的一示例被示出在图15中,将在以下被进一步详细讨论。在一些实施例中,使用加权运动估计操作908和运动向量平滑滤波操作910提供关于对这样的改变的编码的实质(例如,多达或超过大约二十次)性能改变。
类似于视频编码器700和图像内容编码器800,从高复杂度宏块内预测操作906或运动向量平滑滤波操作910,变换和量化操作912以及逆量化和变换操作914被执行。进一步的运动预测操作916被进一步地执行,其中经预测的运动被传递到自适应环路滤波器918。在一些实施例中,自适应环路滤波器918被实现为自适应去块滤波器,从而进一步改善经编码的图像。所得到的图像块接着被传递到图片参考高速缓存718。注意的是,图片参考高速缓存718也被提供以供加权运动估计操作908使用,例如以允许在该运动估计过程中使用宏块间比较。
参考图10,示出了文本内容编码器1000中使用的示例数据流。在示例实施例中,特殊效果内容编码器1000可被用于执行图6的文本宏块编码过程636。如关于编码器700-900所描述的,文本内容编码器1000基于在文本内容编码器1000处接收到的模式决定来区分宏块内内容1002和宏块间内容1004。文本内容编码器1000对宏块内内容1002执行低复杂度运动预测操作1006,因为该内容一般具有低复杂度。具体而言,在一些实施例中,低复杂度运动预测操作1006仅执行4x4预测模式。对于宏块间内容1004,文本内容编码器1000执行文本运动估计操作1008,该文本运动估计操作1008在一些实施例中执行逆六边形运动估计。这样的运动估计的一个示例被图形地描绘在图14中,其中相对于文本块执行垂直、水平和有角度的运动估计。可在文本运动估计操作1008后应用运动向量平滑滤波器1010,该运动向量平滑滤波器1010被示出在图15的示例中,并在以下被进一步详细讨论。
类似于编码器700-900,从低复杂度运动预测操作1006或运动向量平滑滤波操作1010,变换和量化操作1012以及逆量化和变换操作1014被执行。进一步的运动预测操作1016被进一步地执行。所得到的文本块接着被传递到图片参考高速缓存718,其存储经聚集的屏幕帧。注意的是,图片参考高速缓存718也被提供以供文本运动估计操作1008使用,例如以允许在该运动估计过程中使用宏块间比较。
统一地参考图7-10,注意的是,基于在每个屏幕帧中检测到的不同类型的内容,不同的运动估计可被执行。附加地并且如之前提到的,可使用针对每个块的不同质量参数以确保针对屏幕帧的图像、文本和视频部分的可读性或图片质量。例如,编码器中的每一者可被构造来生成具有不同量化参数(QP)值的经编码的数据,从而表示不同的质量。具体而言,文本编码器1000可被配置成生成具有低QP值(并因此高质量)的经编码的文本,而视频数据可被视频编码器700编码以提供成比例更高的QP和更低的质量(取决于可用于编码计算系统来将经编码的内容传送到远程设备的带宽)。现在参考图11-17,提供了关于由以上描述的编码器执行的各种运动估计过程的附加细节。
具体地,参考图11,运动估计组件1100可被用在视频编码器(诸如图7的视频编码器700)中。在一些实施例中,运动估计组件1100可执行图7的混合运动估计操作708。如图11中看到的,使用方形运动估计1102来执行初始运动估计,其中对宏块内的内容执行垂直和水平运动估计。这导致运动向量集被生成,以示出屏幕帧内的各个内容的X-Y运动。如看到的,例如在图12中,方形运动估计1102被用于检测运动向量(被显示为“PMV”),表示运动中的对象的中点的运动。快速跳跃决定1104确定该运动估计是否足以描述视频内容内对象的运动。一般而言,这将是其中存在少量运动的情况,其可被用于多个视频帧。然而,如果方形运动估计1102是不可接受的,则屏幕宏块被传递到下采样组件1106,其包括下采样操作1108、下采样平面运动估计1110和运动向量生成操作1112。该经下采样的运动向量集接着被提供到菱形运动估计1114。菱形运动估计1114生成从在其运动要被估计的点的周围采样的对角间隔的点的中点中定义的运动向量。这样的菱形运动估计的一个示例被示出在图13中,其中对角运动可在下采样后被检测,从而增加这样的运动计算的有效性。
从菱形运动估计1114或如果快速跳跃决定1104确定下采样不被需要(例如,在方形运动估计1102后,运动估计已经充足),结束操作1118指示针对该宏块的运动估计的完成。
图14是根据一示例实施例的被用于图10的文本运动估计组件中的逆六边形运动估计1400的逻辑图。如在图14中示出的,所使用的逆六边形运动估计1400对六边形点阵执行采样,随后在频域中互相关,其中在网格上定义整个宏块的子单元格以注册文本数据的非整数、角度改变或移动。当在文本内容编码器1000的上下文内使用时,这允许对文本的角度移动的更准确的跟踪。
图15示出运动向量平滑滤波器1500的示例体系架构,在一些实施例中,该运动向量平滑滤波器1500可被用于分别实现图9和10中的运动向量平滑滤波器910、1010。在一些显示的实施例中,运动向量平滑滤波器在运动向量输入操作1502接收运动向量,并将运动向量路由到低通滤波器1504和运动向量高速缓存窗口。低通滤波器1504被用于滤波宏块内存在的运动向量的垂直和水平分量。运动向量高速缓存窗口1506存储过去相邻滤波器,并也被传递到低通滤波器1504来平滑先前的相邻运动向量。加权中值滤波器1508提供对宏块的毗连部分中相邻运动向量的进一步平滑以避免滤波器故障并确保经编码的运动被平滑。因此,对历史运动向量和滤波器的使用允许平滑运动,该平滑运动因加权中值滤波器1508确保与特殊效果或其它改变的顺应性而被保存。
图16示出根据一示例实施例的图8的图像内容编码器中所包括的运动估计组件1600的示例体系架构。例如,运动估计组件1600被用于执行图像内容编码器800的简单运动估计操作808和全局运动估计操作810两者。在示出的实施例中,首先跨宏块间内容执行方形运动估计操作1602以实现简单运动估计。如在图17中看到的,方形运动估计操作1602针对内容中的每个位置基于该位置四周的四个围绕点的移动来确定向量。运动向量和宏块间内容接着被传递到全局运动估计操作1604,其包括运动模型估计操作1606和梯度图像计算操作1608。具体而言,来自方形运动估计操作1602的运动向量被传递到运动模型估计操作1606来跟踪全局运动,并且梯度图像可被用于协助确定图像的全局运动。这种安排对于背景图像或其中屏幕的较大图像或部分将被同步移动的其它情况尤其有用。
图18-20及相关联的描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图18-20所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图18是示出可用来实施本发明的各实施例的计算设备1800的示例物理组件(即硬件)的框图。以下描述的计算设备组件可适合于担当以上描述的计算设备,诸如图1的远程设备102、120。在基本配置中,计算设备1800可包括至少一个处理单元1802以及系统存储器1804。取决于计算设备的配置和类型,系统存储器1804可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪存、或者此类存储器的任何组合。系统存储器1804可包括操作系统1805和适合于运行诸如上面结合图1讨论的远程桌面协议软件108和编码器110之类的软件应用1820,尤其是结合图2-17描述的编码,的一个或多个程序模块1806。例如,操作系统1805可适合于控制计算设备1800的操作。此外,可结合图形库、其他操作系统、或者任何其他应用程序来实践本发明的实施例,并且这些实施例不限于任何特定的应用或系统。该基本配置在图18中由虚线1808内的那些组件示出。计算设备1800可具有附加特征或功能。例如,计算设备1800也可以包括附加的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或带。这些附加存储在图18中由可移动存储设备1809和不可移动存储设备1810示出。
如上所声明的,大量程序模块和数据文件可被存储在系统存储器1804中。尽管在处理单元1802上执行,但是程序模块1806(例如远程桌面协议软件108和编码器110)可以执行包括但不限于下列过程:本文中所示的通用编解码器编码器或解码器的操作。根据本发明的各实施例可使用的其他程序模块,且尤其是用于生成屏幕内容的其它程序模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
此外,可在电气电路中实践本发明的实施例,该电气电路包括离散电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器或者在包含电子元件或微处理器的单个芯片上的电路。例如,可以通过片上系统(SOC)来实践本发明的各实施例,其中,可以将图18中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于远程桌面协议软件108和编码器110的功能可以通过在单个集成电路(芯片)上集成有计算设备1800的其它组件的专用逻辑来操作。还可使用能够执行逻辑操作(诸如举例而言,与、或、以及非)的其他技术来实践本发明的实施例,这些技术包括但不限于机械、光学、流体和量子技术。另外,可在通用计算机内或者在任何其他电路或系统中实践本发明的实施例。
计算设备1800也可具有一个或多个输入设备1812,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备1814,如显示器、扬声器、打印机等等。前述设备是示例,并且可使用其他设备。计算设备1800可包括允许与其他计算设备1818通信的一个或多个通信连接1816。合适的通信连接1816的示例包括但不限于RF发射机、接收机、和/或收发机电路系统、通用串行总线(USB)、并行和/或串行端口。
如本文中所使用的术语计算机可读介质摂可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构或程序模块这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。系统存储器1804、可移除存储设备1809、以及不可移除存储设备1810都是计算机存储介质示例(即,存储器存储)。计算机存储介质可包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储信息且可由计算设备1800访问的任何其他制品。任何此类计算机存储介质可以是计算设备1800的一部分。计算机存储介质不包括载波或者其他经传播或经调制的数据信号。
通信介质可通过计算机可读指令、数据结构、程序模块、或者经调制的数据信号(诸如载波或者其他传送机制)中的其他数据体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对信号中的信息进行编码的方式来设置或改变其一个或多个特征的信号。通过示例而非限制,通信介质可包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声、射频(RF)、红外和其他无线介质之类的无线介质。
图19A和19B示出可用来实施本发明的各实施例的移动计算设备1900,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图19A,示出了用于实现各实施例的移动计算设备1900的一个实施例。在基本配置中,移动计算设备1900是具有输入元件和输出元件两者的手持计算机。移动计算设备1900通常包括显示器1905以及允许用户将信息输入移动计算设备1900的一个或多个输入按钮1910。移动计算设备1900的显示器1905还可用作输入设备(例如,触摸屏显示器)。如果被包括在内,任选的侧输入元件1915允许进一步的用户输入。侧输入元件1915可以是旋转开关、按钮、或者任何其他类型的手动输入元件。在替换实施例中,移动计算设备1900可合并或多或少的输入元件。例如,在一些实施例中,显示器1905可以不是触摸屏。在又一替换实施例中,移动计算设备1900是便携式电话系统,诸如蜂窝电话。移动计算设备1900还可包括任选的小键盘1935。可选的小键盘1935可以是物理小键盘或者在触摸屏显示器上生成的“软”键区。在各个实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器805、可视指示器1920(例如,发光二极管)、和/或音频换能器1925(例如,扬声器)。在一些实施例中,移动计算设备1900合并用于向用户提供触觉反馈的振动换能器。在又一实施例中,移动计算设备1900合并输入和/或输出端口,诸如音频输入(例如,话筒插孔)、音频输出(例如,头戴式耳机插孔)、以及用于发送信号或接收来自外部设备的信号的视频输出(例如,HDMI端口)。
图19B是示出移动计算设备的一个实施例的架构的框图。即,移动计算设备1900可结合一系统(即架构)1902以实现某些实施例。在一个实施例中,系统1902被实现为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些实施例中,系统1902被集成为计算设备,诸如集成个人数字助理(PDA)和无线电话。
一个或多个应用程序1966可被加载到存储器1962中,并且在操作系统1964上或者与其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息收发程序等等。系统1902还包括存储器1962内的非易失性存储区域1968。非易失性存储区域1968可用于存储持久性信息,如果系统1902断电,该持久性信息则不会丢失。应用程序1966可使用和存储非易失性存储区域1968中的信息,诸如电子邮件应用所使用的电子邮件或其他消息等。同步应用(未示出)还驻留在系统1902上,并且被编程为与驻留在主机计算机上的相应同步应用交互以使存储在非易失性存储区域1968中的信息保持与存储在主机计算机的相应信息同步。如应理解的,其他应用可被加载到存储器1962中并在移动计算设备1900上运行,包括此处所述的远程桌面软件108(和/或可选地编码器110、或远程设备120)。在一些类似的系统中,可经由系统1902来执行逆过程,其中该系统用作用于使用通用屏幕内容编解码器来解码所生成的比特流的远程设备120。
系统1902具有可被实现为一个或多个电池的电源1970。电源1970可能进一步包括外部电源,诸如补充电池或对电池再充电的AC适配器或供电底座(powereddockingcradle)。
系统1902还可包括执行发射和接收射频通信的功能的无线电1972。无线电1972通过通信运营商或服务供应商促进了系统1902与“外部世界”之间的无线连接性。在操作系统1964的控制下进行与无线电1972之间的传输。换句话说,可经由操作系统1964将无线电1972接收到的通信散布到应用程序1966,反之亦然。
可视指示器1920可用于提供可视通知,和/或音频接口1974可用于经由音频换能器1925生成听得见的通知。在所解说的实施例中,可视指示器1920是发光二极管(LED)而音频换能器1925是扬声器。这些设备可直接耦合到电源1970以使它们在激活时保持开启达通知机制所陈述的持续时间,即使处理器1960以及其他组件可能关闭以节约电池电量。LED可被编程为无限地保持开启,直至用户采取措施来指示该设备的开启状态。音频接口1974用于向用户提供听得见的信号且接收来自用户的听得见的信号。例如,除了耦合到音频换能器1925以外,音频接口1974还可耦合到话筒以接收听得见的输入,诸如促进电话交谈。根据本发明的实施例,话筒还可用作音频传感器以促进对通知的控制,如将在下文中所描述的。系统1902可进一步包括允许板载相机1930的操作来记录静止图像、视频流等的视频接口1976。
实现系统1902的移动计算设备1900可具有附加特征或功能。例如,移动计算设备1900还可包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或带。这种附加存储设备在图19B中用非易失性存储区1968示出。
如上所述,通过移动计算设备1900生成或捕捉且经由系统1902存储的数据/信息可在本地被存储在移动计算设备1900上,或者该数据可被存储在可由该设备经由无线电1972或者经由移动计算设备1900与关联于移动计算设备1900的单独计算设备(例如,分布式计算网络中的服务器计算机(诸如因特网))之间的有线连接访问的任意数量的存储介质上。如应当领会的,可经由移动计算设备1900、经由无线电1972、或者经由分布式计算网络访问此类数据/信息。类似地,可以在根据熟知的数据/信息转移和存储装置(包括电子邮件和协同数据/信息共享系统)的用于存储和使用的计算设备之间容易地转移此类数据/信息。
图20示出了用于处理如以上描述的在计算系统处从远程源(诸如计算设备2004、平板2006或移动设备2008)接收的数据的系统的架构的一个实施例。在服务器设备2002处显示的内容可按不同的通信信道或其它存储类型来被存储。例如,可使用目录服务2022、web门户2024、邮箱服务2026、即时消息收发存储2028、或者社交网站2030来存储各种文档。远程桌面协议软件108可生成遵循RDP的、遵循MPEG的(或遵循其它标准的)数据流供例如通过web(例如,通过网络2015)显示在远程系统处。作为示例,客户端计算设备可被实现为计算设备102或远程设备120,并体现为个人计算机2004、平板计算设备2006和/或移动计算设备2008(如智能电话)中。除了接收被用于要在图形始发系统处预处理或在接收计算系统处后处理的图形数据之外,计算设备102、120、1800、1800、2002、2004、2006、2008的这些实施例中的任意可获得来自存储2016的内容。
例如,以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作解说来描述本发明的实施例。框图中所注释的功能/动作可以不按照如任一流程图中所示的次序发生。例如,连续示出的两个框实际上可基本并发地执行,或者取决于所涉及的功能/动作,这些框有时可以相反的次序执行。
本申请中所提供的一个或多个实施例的描述和解说并非旨在限制或限定如以任何方式要求保护的本发明的范围。本申请中所提供的实施例、示例和细节被认为足以传达占有且使其他人能够得到和使用要求保护的发明的最佳模式。要求保护的发明不应当被解释为限于本申请中所提供的任一实施例、示例或细节。不管是组合还是单独地示出和描述,各个(结构和方法)特征旨在选择性地包括或省略以产生具有一组特定特征的实施例。已经提供有本申请的描述和解说,本领域技术人员可设想落入在不背离要求保护的发明的更宽范围的本申请中体现的一般发明性概念的更宽泛方面的精神的变体、修改、以及替换实施例。
Claims (10)
1.一种方法,包括:
接收包括多个屏幕帧的屏幕内容,其中所述屏幕帧的至少一个屏幕帧包括多个类型的屏幕内容;
使用单个编解码器来编码所述屏幕帧的包括所述多个类型的屏幕内容的所述至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
2.如权利要求1所述的方法,其特征在于,所述多个类型的屏幕内容包括文本内容、图像内容和视频内容。
3.如权利要求1所述的方法,其特征在于,编码所述屏幕帧的所述至少一个屏幕帧包括:
将所述屏幕帧的所述至少一个屏幕帧分成多个区域;
确定所述多个区域的第一区域包括第一内容类型并且所述多个区域的第二区域包括第二内容类型,所述第一和第二内容类型被包括在屏幕内容的所述多个类型中;
基于所述第一和第二内容类型使用参数分开地编码所述第一和第二区域,生成第一和第二经编码的区域;
将组合的经编码的帧传递到熵编码器,所述组合的经编码的帧至少包括所述第一和第二经编码的区域;以及
在所述熵编码器处从所述组合的经编码的帧中生成经编码的至少一个屏幕帧。
4.如权利要求1所述的方法,其特征在于,编码所述屏幕帧的所述至少一个屏幕帧包括:
执行帧预分析;
处理被包括在所述屏幕帧的所述至少一个屏幕帧中的宏块;以及
对所述宏块的每一个执行熵编码,从而生成经编码的至少一个屏幕帧。
5.如权利要求1所述的方法,其特征在于,还包括将所述经编码的至少一个屏幕帧以及描述所述经编码的至少一个屏幕帧的元数据传送到远程系统。
6.如权利要求1所述的方法,其特征在于,编码所述屏幕帧的所述至少一个屏幕帧包括至少部分基于所述内容类型来执行运动估计过程。
7.如权利要求6所述的方法,其特征在于,所述运动估计过程包括加权运动估计过程。
8.如权利要求6所述的方法,其特征在于,所述运动估计过程对被包括在所述屏幕帧的所述至少一个屏幕帧中的视频内容执行下采样。
9.一种系统,包括:
计算系统,包括:
可编程电路;
包括计算机可执行指令的存储器,当所述计算机可执行指令被执行时,致使所述计算系统:
向编码器提供多个屏幕帧,其中所述屏幕帧的至少一个屏幕帧包括多个类型的屏幕内容;
使用单个编解码器来编码所述屏幕帧的包括所述多个类型的屏幕内容的所述至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
10.一种包括存储在其上的计算机可执行指令的计算机可读存储介质,当所述计算机可执行指令被计算系统执行时,致使所述计算系统执行一方法,所述方法包括:
接收包括多个屏幕帧的屏幕内容,其中所述屏幕帧的至少一个屏幕帧包括文本内容、视频内容和图像内容;
使用单个编解码器来编码所述屏幕帧的包括所述文本内容、视频内容和图像内容的所述至少一个屏幕帧,以生成符合基于标准的编解码器的经编码的比特流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/019,451 US20150063451A1 (en) | 2013-09-05 | 2013-09-05 | Universal Screen Content Codec |
US14/019,451 | 2013-09-05 | ||
PCT/US2014/053623 WO2015034793A1 (en) | 2013-09-05 | 2014-09-01 | Universal screen content codec |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105723676A true CN105723676A (zh) | 2016-06-29 |
Family
ID=51570867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480057687.0A Pending CN105723676A (zh) | 2013-09-05 | 2014-09-01 | 通用屏幕内容编解码器 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20150063451A1 (zh) |
EP (1) | EP3042484A1 (zh) |
JP (1) | JP2016534654A (zh) |
KR (1) | KR20160052688A (zh) |
CN (1) | CN105723676A (zh) |
AU (1) | AU2014315430A1 (zh) |
CA (1) | CA2923023A1 (zh) |
MX (1) | MX2016002926A (zh) |
RU (1) | RU2016107755A (zh) |
WO (1) | WO2015034793A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
CN107396113A (zh) * | 2017-03-02 | 2017-11-24 | 北方工业大学 | 用于hevc屏幕内容图像的三维块匹配滤波算法 |
CN110971903A (zh) * | 2019-10-17 | 2020-04-07 | 西安万像电子科技有限公司 | 编码方法、设备及系统 |
CN111095891A (zh) * | 2017-06-12 | 2020-05-01 | 斯海尔有限公司 | 用于将图像数据和其他数据类型编码为一种数据格式并将其解码的系统和方法 |
CN111200740A (zh) * | 2020-01-09 | 2020-05-26 | 西安万像电子科技有限公司 | 编码方法及编码器 |
WO2021169817A1 (zh) * | 2020-02-27 | 2021-09-02 | 北京字节跳动网络技术有限公司 | 视频处理方法及电子设备 |
CN113491134A (zh) * | 2018-12-28 | 2021-10-08 | 多玩国株式会社 | 图像收发系统、数据收发系统、收发方法、计算机程序、图像发送系统、图像接收装置、发送系统、接收装置 |
CN113728633A (zh) * | 2019-04-01 | 2021-11-30 | 北京字节跳动网络技术有限公司 | 对基于历史的运动矢量预测使用插值滤波器 |
US11503288B2 (en) | 2019-08-20 | 2022-11-15 | Beijing Bytedance Network Technology Co., Ltd. | Selective use of alternative interpolation filters in video processing |
US11588872B2 (en) | 2017-06-12 | 2023-02-21 | C-Hear, Inc. | System and method for codec for combining disparate content |
WO2024188249A1 (en) * | 2023-03-13 | 2024-09-19 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979960B2 (en) | 2012-10-01 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions |
US9582240B2 (en) * | 2012-12-26 | 2017-02-28 | Vmware, Inc. | Using contextual and spatial awareness to improve remote desktop imaging fidelity |
KR102131326B1 (ko) * | 2013-08-22 | 2020-07-07 | 삼성전자 주식회사 | 영상 프레임 움직임 추정 장치, 그것의 움직임 추정 방법 |
WO2015058397A1 (en) | 2013-10-25 | 2015-04-30 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
EP3061253A4 (en) | 2013-10-25 | 2016-08-31 | Microsoft Technology Licensing Llc | PAIRING OF BLOCKS BY HASHING VIDEO AND IMAGE CODING |
TWI538487B (zh) * | 2013-12-05 | 2016-06-11 | 財團法人工業技術研究院 | 螢幕視訊之預測編碼的方法與系統 |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
KR102185245B1 (ko) | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사 |
US20150262404A1 (en) * | 2014-03-13 | 2015-09-17 | Huawei Technologies Co., Ltd. | Screen Content And Mixed Content Coding |
TWI508531B (zh) * | 2014-06-04 | 2015-11-11 | Hon Hai Prec Ind Co Ltd | 視訊編碼裝置及方法 |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
JP6462119B2 (ja) | 2014-09-30 | 2019-01-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | コンピューティングデバイス |
KR102376700B1 (ko) * | 2015-08-12 | 2022-03-22 | 삼성전자주식회사 | 비디오 컨텐츠 생성 방법 및 그 장치 |
CN105677279B (zh) * | 2016-01-08 | 2018-10-12 | 全时云商务服务股份有限公司 | 桌面区域共享方法、系统及相应的共享端和观看端 |
US10237566B2 (en) * | 2016-04-01 | 2019-03-19 | Microsoft Technology Licensing, Llc | Video decoding using point sprites |
US20170300312A1 (en) * | 2016-04-13 | 2017-10-19 | Microsoft Technology Licensing, Llc | Progressive updates with motion |
US10503458B2 (en) * | 2016-07-28 | 2019-12-10 | Intelligent Waves Llc | System, method and computer program product for generating remote views in a virtual mobile device platform using efficient macroblock comparison during display encoding, including efficient detection of unchanged macroblocks |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US10368080B2 (en) | 2016-10-21 | 2019-07-30 | Microsoft Technology Licensing, Llc | Selective upsampling or refresh of chroma sample values |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US10638144B2 (en) * | 2017-03-15 | 2020-04-28 | Facebook, Inc. | Content-based transcoder |
US11115445B2 (en) * | 2019-05-16 | 2021-09-07 | Cisco Technology, Inc. | Content type auto detection for online collaboration screen sharing |
CN110505522A (zh) * | 2019-09-16 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 视频数据的处理方法、装置、及电子设备 |
CN111787329B (zh) * | 2020-06-01 | 2023-04-14 | 视联动力信息技术股份有限公司 | 一种数据处理方法、系统、装置、电子设备及存储介质 |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
US11546617B2 (en) | 2020-06-30 | 2023-01-03 | At&T Mobility Ii Llc | Separation of graphics from natural video in streaming video content |
CN115580723B (zh) * | 2022-12-09 | 2023-06-09 | 中南大学 | 一种屏幕内容图像的编码优化方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135693A1 (en) * | 2003-12-23 | 2005-06-23 | Ahmed Mohamed N. | JPEG encoding for document images using pixel classification |
US20090284442A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Processing Computer Graphics Generated By A Remote Computer For Streaming To A Client Computer |
US20100104021A1 (en) * | 2008-10-27 | 2010-04-29 | Advanced Micro Devices, Inc. | Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100378636B1 (ko) * | 1994-09-02 | 2003-06-18 | 사르노프 코포레이션 | 전역대지역블록이동추정방법및장치 |
US6567559B1 (en) * | 1998-09-16 | 2003-05-20 | Texas Instruments Incorporated | Hybrid image compression with compression ratio control |
US6587583B1 (en) * | 1999-09-17 | 2003-07-01 | Kurzweil Educational Systems, Inc. | Compression/decompression algorithm for image documents having text, graphical and color content |
US7224731B2 (en) * | 2002-06-28 | 2007-05-29 | Microsoft Corporation | Motion estimation/compensation for screen capture video |
US20040032906A1 (en) * | 2002-08-19 | 2004-02-19 | Lillig Thomas M. | Foreground segmentation for digital video |
US7747086B1 (en) * | 2005-07-28 | 2010-06-29 | Teradici Corporation | Methods and apparatus for encoding a shared drawing memory |
US8160144B1 (en) * | 2006-05-10 | 2012-04-17 | Texas Instruments Incorporated | Video motion estimation |
KR101599875B1 (ko) * | 2008-04-17 | 2016-03-14 | 삼성전자주식회사 | 멀티미디어의 컨텐트 특성에 기반한 멀티미디어 부호화 방법 및 장치, 멀티미디어의 컨텐트 특성에 기반한 멀티미디어 복호화 방법 및 장치 |
US8180165B2 (en) * | 2008-12-19 | 2012-05-15 | Microsoft Corp. | Accelerated screen codec |
JP5413080B2 (ja) * | 2009-09-15 | 2014-02-12 | 株式会社リコー | 画像処理装置及び画像処理方法 |
US9357228B2 (en) * | 2010-05-27 | 2016-05-31 | The Hong Kong University Of Science And Technology | Motion estimation of images |
CN101977322A (zh) * | 2010-11-10 | 2011-02-16 | 上海交通大学 | 基于通用视频编码标准的屏幕编码系统 |
WO2013056200A1 (en) * | 2011-10-14 | 2013-04-18 | Brightsentry, Inc. | Method and apparatus for video compression of stationary scenes |
US9013536B2 (en) * | 2013-03-13 | 2015-04-21 | Futurewei Technologies, Inc. | Augmented video calls on mobile devices |
US9210434B2 (en) * | 2013-06-12 | 2015-12-08 | Microsoft Technology Licensing, Llc | Screen map and standards-based progressive codec for screen content coding |
-
2013
- 2013-09-05 US US14/019,451 patent/US20150063451A1/en not_active Abandoned
-
2014
- 2014-09-01 MX MX2016002926A patent/MX2016002926A/es unknown
- 2014-09-01 CA CA2923023A patent/CA2923023A1/en not_active Abandoned
- 2014-09-01 JP JP2016540298A patent/JP2016534654A/ja not_active Withdrawn
- 2014-09-01 AU AU2014315430A patent/AU2014315430A1/en not_active Abandoned
- 2014-09-01 RU RU2016107755A patent/RU2016107755A/ru not_active Application Discontinuation
- 2014-09-01 WO PCT/US2014/053623 patent/WO2015034793A1/en active Application Filing
- 2014-09-01 EP EP14767211.7A patent/EP3042484A1/en not_active Ceased
- 2014-09-01 KR KR1020167008968A patent/KR20160052688A/ko not_active Application Discontinuation
- 2014-09-01 CN CN201480057687.0A patent/CN105723676A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135693A1 (en) * | 2003-12-23 | 2005-06-23 | Ahmed Mohamed N. | JPEG encoding for document images using pixel classification |
US20090284442A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Processing Computer Graphics Generated By A Remote Computer For Streaming To A Client Computer |
US20100104021A1 (en) * | 2008-10-27 | 2010-04-29 | Advanced Micro Devices, Inc. | Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396113B (zh) * | 2017-03-02 | 2020-02-07 | 北方工业大学 | 用于hevc屏幕内容图像的三维块匹配滤波算法 |
CN107396113A (zh) * | 2017-03-02 | 2017-11-24 | 北方工业大学 | 用于hevc屏幕内容图像的三维块匹配滤波算法 |
US11588872B2 (en) | 2017-06-12 | 2023-02-21 | C-Hear, Inc. | System and method for codec for combining disparate content |
US11330031B2 (en) | 2017-06-12 | 2022-05-10 | C-Hear, Inc. | System and method for encoding image data and other data types into one data format and decoding of same |
CN111095891A (zh) * | 2017-06-12 | 2020-05-01 | 斯海尔有限公司 | 用于将图像数据和其他数据类型编码为一种数据格式并将其解码的系统和方法 |
US11811521B2 (en) | 2017-06-12 | 2023-11-07 | C-Hear, Inc. | System and method for encoding image data and other data types into one data format and decoding of same |
CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
CN113491134A (zh) * | 2018-12-28 | 2021-10-08 | 多玩国株式会社 | 图像收发系统、数据收发系统、收发方法、计算机程序、图像发送系统、图像接收装置、发送系统、接收装置 |
CN113728633A (zh) * | 2019-04-01 | 2021-11-30 | 北京字节跳动网络技术有限公司 | 对基于历史的运动矢量预测使用插值滤波器 |
US11483552B2 (en) | 2019-04-01 | 2022-10-25 | Beijing Bytedance Network Technology Co., Ltd. | Half-pel interpolation filter in inter coding mode |
US11595641B2 (en) | 2019-04-01 | 2023-02-28 | Beijing Bytedance Network Technology Co., Ltd. | Alternative interpolation filters in video coding |
US11936855B2 (en) | 2019-04-01 | 2024-03-19 | Beijing Bytedance Network Technology Co., Ltd. | Alternative interpolation filters in video coding |
US11503288B2 (en) | 2019-08-20 | 2022-11-15 | Beijing Bytedance Network Technology Co., Ltd. | Selective use of alternative interpolation filters in video processing |
US12075038B2 (en) | 2019-08-20 | 2024-08-27 | Beijing Bytedance Network Technology Co., Ltd. | Selective use of alternative interpolation filters in video processing |
CN110971903A (zh) * | 2019-10-17 | 2020-04-07 | 西安万像电子科技有限公司 | 编码方法、设备及系统 |
CN111200740A (zh) * | 2020-01-09 | 2020-05-26 | 西安万像电子科技有限公司 | 编码方法及编码器 |
WO2021169817A1 (zh) * | 2020-02-27 | 2021-09-02 | 北京字节跳动网络技术有限公司 | 视频处理方法及电子设备 |
WO2024188249A1 (en) * | 2023-03-13 | 2024-09-19 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Also Published As
Publication number | Publication date |
---|---|
WO2015034793A1 (en) | 2015-03-12 |
MX2016002926A (es) | 2016-08-18 |
US20150063451A1 (en) | 2015-03-05 |
EP3042484A1 (en) | 2016-07-13 |
RU2016107755A3 (zh) | 2018-05-15 |
AU2014315430A1 (en) | 2016-03-24 |
KR20160052688A (ko) | 2016-05-12 |
CA2923023A1 (en) | 2015-03-12 |
RU2016107755A (ru) | 2017-09-07 |
JP2016534654A (ja) | 2016-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105723676A (zh) | 通用屏幕内容编解码器 | |
CN105379279B (zh) | 屏幕映射以及用于屏幕内容编码的基于标准的渐进式编解码器 | |
CN111670580B (zh) | 渐进压缩域计算机视觉和深度学习系统 | |
CA2742111C (en) | Video conference rate matching | |
CN104854866B (zh) | 下一代视频的内容自适应、特性补偿预测 | |
US9609338B2 (en) | Layered video encoding and decoding | |
Liang et al. | Detection of double compression for HEVC videos with fake bitrate | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
US8582876B2 (en) | Hybrid codec for compound image compression | |
US11386873B2 (en) | Method and apparatus for efficient application screen compression | |
US20170300312A1 (en) | Progressive updates with motion | |
Sarisaray-Boluk et al. | Performance comparison of data reduction techniques for wireless multimedia sensor network applications | |
CN105745924A (zh) | 色度下转换和上转换处理 | |
Wang et al. | Video steganalysis based on centralized error detection in spatial domain | |
CN105706447A (zh) | 动画图像编码设备、动画图像解码设备、动画图像编码方法、动画图像解码方法以及程序 | |
CN110784719B (zh) | 在视频注释的存在下视频数据的高效编码 | |
US20210289206A1 (en) | Block-based spatial activity measures for pictures | |
Yu et al. | Learned video compression with channel-wise autoregressive entropy model | |
CN118696346A (zh) | 用于视频监控的智能多流视频编码 | |
KR20240090245A (ko) | 기계용 스케일러블 비디오 코딩 시스템 및 방법 | |
KR20240128005A (ko) | 서브픽처를 사용하여 특징의 비디오 코딩을 위한 시스템 및 방법 | |
Bakhshi Golestani et al. | Proceedings of the 4th Summer School on Video Compression and Processing (SVCP) 2018 | |
Mohanty et al. | R–D Optimization of EED-based Compressed Image Using Linear Regression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160629 |