CN107209693A - 缓冲器优化 - Google Patents
缓冲器优化 Download PDFInfo
- Publication number
- CN107209693A CN107209693A CN201580055771.3A CN201580055771A CN107209693A CN 107209693 A CN107209693 A CN 107209693A CN 201580055771 A CN201580055771 A CN 201580055771A CN 107209693 A CN107209693 A CN 107209693A
- Authority
- CN
- China
- Prior art keywords
- buffer
- schemes
- processing
- equipment
- encoded content
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4516—Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
-
- 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/18—Use of a frame buffer in a display terminal, inclusive of the display panel
Abstract
本文描述了缓冲器优化技术,其中图形处理系统被配置成依赖于用来解码和渲染的格式(例如,视频格式、位深度、分辨率、内容类型等)和诸如可用存储器和/或处理能力这样的设备能力,实现用于编码数据流的处理的多个缓冲器方案,并且在所述多个缓冲器方案之间进行选择。然后,通过使用缓冲器方案中被选择的那个方案来定义被运用来解码和渲染的缓冲器(至少包括配置缓冲器的大小),发生经由图形处理系统的对编码数据流的处理以用于显示和渲染。多个方案可以包括:用于当输入格式和输出格式相同时处理编码内容的至少一个缓冲器方案,以及用于当输入格式和输出格式不同时处理编码内容的不同缓冲器方案。
Description
背景技术
计算设备的用户可用的功能性在不断增加。这种增加的一个示例是由设备消费和输出视频的能力。为了支持视频的传输和存储,视频经常被压缩,这可以使用各种各样不同的压缩标准(例如,编解码器)来执行,所述压缩标准诸如是SMPTE VC-1、H.264/AVC和HEVC/H.265。编码数据流的安全解码可以由解码器来完成,解码器代表消费应用来执行解码。通常,视频处理和回放消耗了大量的存储器和处理能力。例如,操纵流行和新兴的高分辨率格式(例如1080p和4K)所需的存储器和处理能力可能是相当大的。因此,由于存储器限制和其他方面,具有有限能力的一些低端设备可能不能支持采用这些格式的内容。另外,传统的处理方案可能无法计及在设备和内容类型之间的差异,这会导致在一些情景下的低效处理。
发明内容
本文描述了缓冲器优化技术,其中计算设备的图形处理系统被配置成依赖于用来解码和渲染的格式(例如,视频格式、位深度、分辨率、内容类型等)和诸如可用存储器和/或处理能力这样的设备能力,实现用于编码数据流的处理的多个缓冲器方案,并在所述多个缓冲器方案之间进行选择。然后,通过使用缓冲器方案中被选择的那个方案来定义被运用于解码和渲染的缓冲器,发生经由图形处理系统的编码数据流的处理以用于解码和显示。这可以包括按照所选择的方案针对解码图片缓冲(DPB)和输出图片缓冲(OPB)两者来配置缓冲器的大小。多个方案可以包括:用于当输入格式和输出格式相同时处理编码内容的至少一个缓冲器方案,以及用于当输入格式和输出格式不同时处理编码内容的不同缓冲器方案。
本概要被提供来以简化的形式介绍概念的选择,这些概念在以下的详细说明中被进一步描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被用于限制所要求保护的主题的范围。
附图说明
图1图示了按照一个或多个实现的示例操作环境。
图2是描绘按照一个或多个实现的、可以与计算设备一起提供的图形处理系统的示例细节的图。
图3是描述按照一个或多个实现的、用于配置GPU来实现缓冲器方案的示例过程的细节的流程图。
图4是描述按照一个或多个实现的、使用所选择的缓冲器方案来分配缓冲器的示例过程的细节的流程图。
图5是描述按照一个或多个实现的、将缓冲器方案用于解码和渲染过程的组合管理的示例过程的细节的流程图。
图6是按照一个或多个实现的、可被运用于缓冲器优化的系统的框图。
具体实施方式
概述
通常,视频处理和回放消耗大量的存储器和处理能力,特别是对于诸如1080p和4K这样的流行和新兴的高分辨率格式,消耗可能是相当大的。因此,具有有限能力的一些低端设备可能不能支持采用这些格式的内容,和/或使用这样的设备而没有缓冲器/表面(surface)优化,处理可能是慢的和/或低效的。
本文描述了缓冲器优化技术,其中计算设备的图形处理系统被配置成依赖于用来解码和渲染的格式(例如,视频格式、位深度、分辨率、内容类型等)和诸如可用存储器和/或处理能力这样的设备能力,实现用于编码数据流的处理的多个缓冲器方案,并在所述多个缓冲器方案之间进行选择。然后,使用缓冲器方案中被选择的那个方案来定义被运用于解码和渲染的缓冲器,发生经由图形处理系统的编码数据流的处理以用于显示。这可以包括按照所选择的方案针对解码图片缓冲(DPB)和输出图片缓冲(OPB)两者来配置缓冲器的大小。多个方案可以包括:用于当输入格式和输出格式相同时处理编码内容的至少一个缓冲器方案,以及用于当输入格式和输出格式不同时处理编码内容的不同缓冲器方案。
运用本文描述的缓冲器优化技术使得能够进行解码图片缓冲(DPB)和输出图片缓冲(OPB)的组合管理。另外,各种各样不同的缓冲选项或许可用来进行选择,以便为具有不同能力和/或用于在不同上下文中渲染的设备定制体验。在一些情景下,可以通过选择适当的缓冲器方案来减少存储器使用,而对终端用户来说没有视觉视频质量的任何降级。当设备能力支持这样做时,可以选择被设计成有利于涉及资源利用的性能的缓冲器方案。因此,使用不同缓冲方案选项的常见方法可以被使用来跨越具有不同能力、内容格式、位深度和/或处理情景的一系列设备地优化图形处理。
在下面的讨论中,提供了标题为“操作环境”的章节,并且该章节描述了在其中可以运用一个或多个实现的一个环境。接下来,标题为“缓冲器优化细节”的章节描述了按照一个或多个实现的示例细节和过程。最后,标题为“示例系统”的章节描述了可以被用来实现一个或多个实现的示例计算系统、组件和设备。
操作环境
图1总地在100处图示了根据一个或多个实施例的操作环境。环境100包括计算设备102,其具有:带有一个或多个处理器和设备(例如,CPU、GPU、微控制器、硬件元件、固定逻辑器件等)的处理系统104、一个或多个计算机可读介质106、操作系统108和驻留在计算机可读介质上并且可由处理系统执行的一个或多个应用110。处理系统104可以从应用110取回并执行计算机程序指令,以向计算设备102提供广泛的功能性,包括但不限于游戏、办公生产力、电子邮件、媒体管理、打印、联网、web浏览等等。还可以包括与应用110相关的各种各样的数据和程序文件,其示例包括游戏文件、办公文档、多媒体文件、电子邮件、数据文件、网页、用户简档和/或偏好数据等等。
计算设备102可以被具体化为任何适当的计算系统和/或设备,作为示例而非限制,诸如游戏系统、台式计算机、便携式计算机、平板或板式计算机、比如个人数字助理(PDA)这样的手持计算机、蜂窝电话、机顶盒、可穿戴设备(例如,手表、带子、眼镜等)等。例如,如图1所示,计算设备102可以被实现为连接到显示设备118以显示媒体内容的电视客户端设备112、计算机114和/或游戏系统116。可替换地,计算设备可以是包括集成显示器122的任何类型的便携式计算机、移动电话或便携式设备120。任何的计算设备可以用各种组件以及用不同组件的任何组合来实现,所述组件诸如是一个或多个处理器和存储器设备。在下面相关于图6示出并描述了可以表示各种系统和/或设备(包括计算设备102)的计算系统的一个示例。
作为示例而非限制,计算机可读介质可以包括通常与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质。这样的介质可以包括ROM、RAM、闪存、硬盘、可拆卸介质等。计算机可读介质可以包括“计算机可读存储介质”和“通信介质”两者,其示例可以在对于图6的示例计算系统的讨论中找到。
计算设备102还可以包括与处理系统分离的图形处理单元(GPU)124,其操作来执行与由计算设备输出以供在显示设备118或集成显示器122上显示的图形相关的各种处理。可替换地,GPU可以与其它硬件(比如CPU)一起被实现为处理系统的组件。GPU124是计算设备的专用于图形处理的硬件组件。由GPU124提供的功能性可以包括控制以下方面:分辨率、像素着色操作、颜色深度、纹理映射、3D渲染以及其他与渲染用于应用的用户界面和图像相关联的任务。这可以包括诸如多边形绘制、位图传送和描绘、窗口尺寸调整和重新定位、线条绘制、字体缩放等处理任务。GPU124或许能够以比经由处理系统104的CPU或其它处理设备执行的软件更高的速度以硬件操纵这些处理任务。因此,GPU124的专用图形处理能力可以加速图形处理,减少处理系统104的工作负荷,并释放系统资源以用于其他任务。GPU124和其它处理硬件(例如,CPU)可以在不同的各自时间线上执行对命令的分开的顺序处理,以用于渲染帧、图形和/或其它处理任务。
为了操纵与编码内容相关的处理任务,GPU124可包括或以其它方式利用解码器模块126和渲染模块127。解码器模块126可以表示被配置成提供以下功能性的硬件、软件、固件、固定设备逻辑及其组合,所述功能性即:代表操作系统108和消费编码内容的其他应用110(例如,“消费应用”)来处理、解码、供应和以其他方式管理编码内容。渲染模块127可以表示被配置成提供以下功能性的硬件、软件、固件、固定设备逻辑及其组合,所述功能性即:处理由解码器模块126产生的解码内容和/或对其定序(sequencing)以用于比如经由计算设备的显示设备118或集成显示器122来显示。在所描绘的示例中,解码器模块126和渲染模块127被图示为独立的软件模块或硬件组件,然而,这些模块可以替换地被组合在一起,和/或被提供作为GPU的集成硬件组件、OS或其他应用的软件组件、经由任务特定的微处理器提供等等。
解码器模块126和渲染模块127可以被进一步配置成实现本文档中描述的用于缓冲器优化的各种操作和技术。为了这样做,如图1所描绘的,解码器模块126可以包括或利用解码缓冲器128,并且渲染模块127可以包括或利用输出缓冲器130。图1中所描绘的缓冲器表示在计算设备102的存储器中可以被分配来帮助处理内容的存储器空间。具体地,缓冲器可以保存用于数据流的视频内容的分组或帧数据,诸如从在线服务访问的电影、DVD、本地存储的视频文件等等。解码缓冲器128被配置成保存与由解码器模块126执行的解码相关联的分组或帧数据,其可以包括用于帧间解码的参考帧数据。输出缓冲器130被配置成保存与渲染模块126执行的渲染相关联的分组或帧数据。
缓冲器可以被分配在计算设备102的任何合适的存储器中,包括系统存储器、安全存储器、GPU124的专用存储器等等。虽然被描绘为单独的缓冲器,但是在一些情景下,缓冲器可以被组合在一起和/或可以部分地或完全地重叠。在一个或多个实现中,按照可以从系统支持的多个不同缓冲器方案中动态选择的缓冲器方案来配置和分配缓冲器。缓冲器的配置可以至少包括按照所选择的缓冲器方案来设置缓冲器的大小。关于缓冲器配置和缓冲器优化的其它方面的进一步细节将相关于以下附图进行讨论。
环境100还描绘了计算设备102可以经由网络132通信地耦合到服务提供商134,这使得计算设备102能够访问由服务提供商134使之可用的各种资源136并与之交互。资源136可以包括通常由一个或多个服务提供商在网络上使之可用的内容和/或服务的任何适当的组合。例如,内容可以包括文本、视频、广告、音频、多媒体流、动画、图像、网页等的各种组合。服务的一些示例包括但不限于在线计算服务(例如,“云”计算)、认证服务、基于web的应用、文件存储和协作服务、搜索服务、诸如电子邮件和/或即时消息传送的消息传送服务以及社交联网服务。
作为示例,计算设备102可以被导航来从服务提供商134处访问和下载编码内容138。编码内容138可以包括使用某种形式的数字版权管理(DRM)予以保护的视频内容、音乐或其他内容。通常,编码内容138由服务提供商侧的编码器(例如,在分发给客户端之前)使用合适的压缩标准和/或加密格式来编码。然后,可以经由消费侧的解码器进行解码,解码器被配置成识别、支持和操纵对于以一个或多个不同的压缩标准和/或加密格式编码的内容的解码。
用于内容的数字版权管理的各种各样合适的压缩标准和/或加密格式可以由编码器和解码器来支持,包括但不限于MPEG-1、MPEG-2、MPEG-4、VP8、SMPTE VC-1、H.264/AVC、H.264/MVC、H.264/SVC、H.2645/HEVC、HEVC/H.265等。因此,根据上文和下文描述的技术,解码器模块126可以被配置成解码使用多个压缩标准(包括本文列举的示例标准中的一个或多个)编码的编码内容138。
已经描述了示例操作环境,现在考虑与缓冲器优化的一个或多个实现相关联的示例细节和技术。
缓冲器优化细节
图形处理系统
图2总地以200描绘了可按照一个或多个实现与计算设备102一起提供的示例图形处理系统的细节。在本例中,解码器模块126和渲染模块127被图示成实施为GPU124的组件。在实现中,解码器模块126和/或渲染模块127可由与GPU124集成在一起的专用的且安全的硬件组件提供。如先前所提到的,也设想有其它的实现,诸如独立的硬件模块或者在软件、固件或固定逻辑器件中的实现,以及软件、固件、固定逻辑器件和硬件的组合。
在本例中,编码内容138的数据流201被表示为由计算设备102接收并且使用图形处理单元124来处理。数据流201可以包括多个个体的分组202,每个分组202可以包含头标(例如元数据)和数据部分。头标被配置成传送关于分组的信息,诸如分组类型、定序数据、设置参数、格式信息、用于编码的压缩标准的指示、关于分组中包含的数据的量和类型的指示以及可与用于解码器、渲染器、GPU和/或消费应用的操作设置相关的其他元数据、字段和参数。分组的数据部分表示内容有效载荷,诸如与视频数据流相关联的视频数据的帧或“片(slice)”,或者与音频流相关联的音频片段(snippet)数据。
在操作中,解码器模块126被配置成操纵与数据流201的分组202的解码相关的任务。这可以包括获得并响应来自消费应用的对于访问和利用该内容的一些部分的请求。为了这样做,解码器模块126可以利用解码缓冲器128来执行与解码相关的操作。解码的数据然后可以被提供给渲染模块127,渲染模块127被配置成操纵与渲染内容以用于经由计算设备的显示器输出有关的任务。渲染模块127可以利用输出缓冲器128来准备用于输出的内容、对解码的内容定序并且产生渲染的内容204以用于输出到显示设备。
如在图2中表示的,解码器模块126和渲染模块127都可以在缓冲器方案206的影响下操作,缓冲器方案206可以基于各种因素来动态选择。这些因素可以包括但不限于数据流的输入和输出格式(例如,分辨率、编码标准、帧速率、内容类型等)和设备能力,所述设备能力包括但不限于可用于图形处理操作的存储器的量。作为处理编码内容138的一部分,可以从系统所支持的多个缓冲器方案206中做出对缓冲器方案206的选择以便用于所述处理。例如,解码器模块126可以被配置成解析头标和/或具有用于编码内容的位流语法的其他元数据,位流语法指示内容的类型、内容格式、分辨率以及可被用来设立对数据流201的处理和用于所述处理的缓冲器的其他信息。
在一个或多个实现中,数据流的位流语法还可以包括对用于处理内容的指定方案的指示。在这种情况下,对指定方案的指示可以被用于标识、选择和设立该指定方案。附加地或替换地,位流语法可以被配置成包含指示解码缓冲器大小和/或输出/渲染缓冲器大小的数据。因此,缓冲器方案206的选择和/或缓冲器的配置可以至少部分地基于对头标和/或其他元数据的解析,以分析位流语法并且提取规定如何为相应的数据流设立缓冲的信息。
所选择的缓冲器方案206可被用于组合地管理解码过程和渲染过程。缓冲器方案206表示可与不同水平的质量、存储器利用和/或处理工作负载相关联的一系列可用选项。通过如本文所讨论的那样在不同的情景中选择性地应用不同的缓冲器方案,可以针对不同类型的内容和针对具有不同能力的设备来定制质量、存储器利用和/或处理工作负载。例如,在具有足够的存储器和处理能力的高端设备上可以针对质量来优化视频回放。同样,在可能具有有限的存储器和/或处理能力的设备上可以针对存储器使用来优化视频回放。一般来说,缓冲器方案通过针对不同情景来动态地改变缓冲器的配置而使得能进行优化。设想了各种各样不同的缓冲器方案206,其示例在下面讨论。
缓冲器方案
如先前所指出的,缓冲器优化技术可以提供各种各样不同的缓冲选项,其或许是可选择来针对具有不同能力的设备和/或针对不同处理上下文而定制缓冲器配置。可以经由设备和/或设备的图形处理系统所支持的一组缓冲器方案206来实现不同的缓冲选项。通过按照所选择的方案来选择性地配置相应的解码缓冲器128和输出缓冲器130,缓冲器方案206可以被选择并被应用于对解码图片缓冲(DPB)和输出图片缓冲(OPB)的组合管理。
一般来说,缓冲器方案206可以针对以下两种情景被定义,即其中用于解码的输入格式(例如,DPB)和用于渲染的输出格式(例如,OPB)相同的情景(例如,相同的分辨率、位深度、视频格式、内容的类型)和其中输入格式和输出格式不同的情景。因此,当输入格式和输出格式相同时,或许一种缓冲器方案可用于处理编码内容,而当输入格式和输出格式不同时,或者不同的缓冲器方案可用于处理编码内容。
附加地或替换地,在输入格式和输出格式不同的情况下,格式转换可以或者作为解码的一部分或者作为渲染的一部分发生。照这样,可以建立对应于和/或规定在该过程中何时发生格式转换的缓冲器方案206。在该示例中,可以使用三个或更多个缓冲器方案206来覆盖不同的情景。例如,系统支持的缓冲器方案206可以至少包括:第一缓冲器方案,用于当被用于解码和渲染的格式相同时处理编码内容;第二缓冲器方案,用于当被用于解码和渲染的格式不同且格式转换被作为解码的一部分执行时处理编码内容;以及第三缓冲器方案,用于当被用于解码和渲染的格式不同且格式转换被作为渲染的一部分执行时处理编码内容。自然地,所定义的不同缓冲器方案206的数量和类型可以变化,并且不打算受到本文列举的示例的限制。此外,图形处理系统可以被配置成在不同的被支持的缓冲器方案206之间动态切换以便优化不同情景中的处理。如所指出的,对缓冲器方案的选择可以取决于输入格式、输出格式和/或设备能力中的一项或其组合。
在所述上下文中,现在考虑关于可以根据本文所描述的技术而运用的不同缓冲器方案的一些附加细节和示例。
采用相同格式的DPB和OPB
在具有足够能力的设备(例如,“高端设备”)上,大量的存储器和处理能力或许可用于视频处理。附加地或替换地,输入内容可以具有相对低的分辨率,通过设备的可用存储器和计算能力可足以操纵该输入内容。在这些情况下,可以发生处理以维持最佳可能的质量并避免转换为较低质量格式。换句话说,被用于DPB和OPB的格式被尽可能保持相同。因此,可以建立至少一个缓冲器方案206,其被设计成利用采用相同格式的DPB和OPB来优化缓冲器。由于格式/分辨率对于输入和输出是相同的,所以可以在存储器中分配公共缓冲器表面,并且将其既用于解码/参考又用于输出/显示。换句话说,在这种情景下,解码缓冲器128和渲染缓冲器130可以部分地或完全地重叠。当然也可以使用分开的缓冲器/表面,但是相对于使用被用于双重目的的公共缓冲器,这样做会使得消耗更多的存储器。
对既用于解码和又用于输出的统一缓冲器的管理可以至少部分地经由位流语法来规定,位流语法可以定义解码处理、参考关系、图片重新排序和重新使用以及渲染处理。位流语法还可以规定可被用于进行如先前所指出的对缓冲器方案的选择的参数。这可以包括但不限于规定要为所述处理分配的缓冲器的大小。可以取决于输入帧/片大小、格式、应用、内容类型等来规定各种不同的缓冲器大小。内容提供者和/或应用开发者可以配置位流语法以控制在解码侧和渲染侧的缓冲的量。仅作为一个说明性示例,针对其中DPB和OPB采用相同格式的情况的缓冲器的分配可以如下地计算:
DPB大小+1+(由渲染器/应用持有的帧),其中DPB大小是从位流语法导出的和/或由位流语法规定的,+1是计及当前帧的解码,以及(由渲染器持有的帧)是按照被缓冲用于渲染过程的帧的数量而设置的。
采用不同格式的DPB和OPB
在诸如移动设备这样的一些设备上,可用的存储器和硬件能力是有限的。在这种情况下,可以发生处理以优化存储器使用,并且在必要时,比如对于具有高分辨率和/或高位深度的输入内容,可以牵涉到向较低质量格式的转换。换句话说,由于设备能力、当前工作负载和/或用于规定输出分辨率/质量的设置值,用于DPB和OPB的格式可以不同。例如,具有高分辨率和位深度(诸如4K分辨率和10或12位深度)的内容可以被转换成较低分辨率和较低位深度以便在一些设备上显示,诸如被转换成8位深度的720p,或另一种降低的分辨率格式。
在一种方法中,使用原始格式(即,原始分辨率和原始位深度)来执行解码处理,以便具有正确且一致的解码。然而,可以使用能显著减少存储器使用和计算的不同格式(诸如降低的分辨率和/或降低的位深度)来执行对用于输出/显示的帧的渲染。再次地,可以取决于输入帧/片大小、格式、应用、内容类型等来规定各种不同的缓冲器大小。被用于设立缓冲器的至少一些参数可以经由位流语法来指示。如所指出的,当用于DPB和OPB的格式不同时的缓冲器的配置可以取决于在处理期间何时进行格式转换。
仅作为一个说明性示例,在DPB和OPB采用不同格式的情况下,缓冲器的分配可以如下地计算:
用于DPB的解码缓冲器128的分配被计算为DPB大小+1,其中DPB大小是从位流语法导出的或是由位流语法规定的,而+1是要计及当前帧的解码
当在解码期间进行格式转换时,用于OPB的渲染缓冲器130的分配被计算为DPB大小+1+(由渲染器持有的帧),其中DPB大小是从位流语法导出的或是由位流语法规定的,+1是要计及处理该当前帧,以及(由渲染器持有的帧)是按照被缓冲用于渲染过程的帧的数量而设置的;
当在渲染期间进行格式转换时,用于OPB的渲染缓冲器130的分配被计算为(由渲染器持有的帧),其是按照被缓冲用于渲染过程的帧的数量而设置的。
按照前面所述,可以按照对用来选择和设立缓冲的位流语法的分析来确定用于DPB的缓冲器的配置。用于OPB的缓冲器的配置依赖于何时发生格式转换。当在解码期间进行格式转换时,可以按照针对DPB操作的对位流语法的分析以及用于渲染和显示过程的设立信息来确定用于OPB的缓冲器的配置。当在渲染期间进行格式转换时,按照用于渲染过程的设立信息来确定用于OPB的缓冲器的配置。
使用本文所描述的缓冲器方案可以达到存储器使用和处理负载的显著减少。例如,相对于在具有高质量视频回放的高端设备上的存储器使用(例如,对于输入和输出使用相同的格式),当在解码期间执行向较低分辨率的格式转换时,对于典型的4K视频回放,存储器使用可以减少大约40%至50%,而当在渲染期间执行格式转换时,存储器使用可以减少大约50%或更多。因此,在渲染和显示时的存储器传送带宽显著地减小。
考虑其中通过位流语法将DPB大小设置为4并且为渲染目的分配8个额外缓冲器表面的示例。给定原始分辨率或10位深度的4K,以及1080p和8位深度的降低的分辨率格式,缓冲器分配和大小计算可以如下:
当DPB和OPB采用相同格式时,帧缓冲器被如上指出地计算以分配采用相同格式的(4+1+8)=13个帧缓冲器。这给出了~312MB(例如,13×12×2)的帧缓冲器的总的大小
当在解码处进行格式转换时,帧缓冲器被如上指出地计算以分配(4+1)=5个高分辨率缓冲器和(4+1+8)=13个低分辨率缓冲器。这给出189MB(例如,5×12×2+13×3)的帧缓冲器的总的大小。这里,相对于使用相同的格式,存储器使用减少大约40%。
当在渲染处进行格式转换时,帧缓冲器被如上指出地计算以分配(4+1)=5个高分辨率缓冲器和8个低分辨率缓冲器。这给出144MB(5×12×2+8×3)的帧缓冲器的总的大小。这里,相对于使用相同的格式,存储器使用减少约53%。
示例过程
为了进一步举例说明,考虑对描绘按照缓冲器优化技术的一个或多个实现的示例过程的流程图的以下讨论。所描绘的(一个或多个)示例过程可以结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,所述方法可以借助于适当配置的计算设备来实现,所述适当配置的计算设备诸如是图1的示例计算设备102,其包括或以其它方式利用GPU124、解码器模块126和/或渲染模块127。
本文档中描述的过程可以利用先前描述的环境、系统、设备和组件并结合任何适当的硬件、软件、固件或其组合来实现。这些过程可以被表示为一组方框,其规定了由一个或多个实体执行的操作,并且不一定限于所示的用于由相应的方框执行操作的顺序。
一般而言,相关于本文的示例所描述的功能性、特征和概念可以在本章节中描述的示例过程的上下文中运用。此外,相关于本文档中不同附图和示例所描述的功能性、特征和概念可以在彼此间互换,并且不限于在特定的附图或过程的上下文中实现。此外,与本文中的不同代表性过程和对应附图相关联的方框可以以不同的方式一起被应用和/或组合。因此,相关于本文中不同示例环境、设备、组件和过程所描述的各个功能性、特征和概念可以以任何适当的组合来使用,并且不限于由本说明书中列举的示例来表示的特定组合。
图3是描述按照一个或多个实现的、用于配置GPU以实现缓冲器方案的示例过程300的细节的流程图。设备的图形处理系统被配置成依赖于被用于解码和渲染的格式以及设备的存储器能力来选择多个缓冲器方案中的一个以用于编码数据流的处理(方框302)。例如,图形处理系统可以支持如前所述的多个不同的缓冲器方案206。缓冲器方案206可以经由分别对应于解码器模块126和渲染模块127的解码和/或渲染过程来实现。在一个或多个实现中,可经由位流语法或者以其它方式通过被包含于内容流内的数据来指定缓冲器方案的一些方面。不同的缓冲器方案可以取决于被用于解码和渲染的格式、以及设备的存储器能力和/或其它能力。
通过使用缓冲器方案中被选择的那个方案来定义用于解码和渲染的缓冲器,经由图形处理系统来处理编码数据流以用于显示(方框304)。作为示例而非限制,解码器模块126或图形处理系统的其他组件可以操作来基于指示用于解码和渲染的格式的数据和可被收集的关于设备能力的数据来选择缓冲器方案中的一个。解码器模块126然后可以实施所选择的方案,以促成由该方案所规定的用于解码和/或渲染的缓冲器的配置。设想了各种不同的方案,其示例在本文档的各处被讨论。使用按照所选择的方案设立的缓冲器,可以发生用于编码数据流的处理的处理操作,以将数据解码为解码部分、准备并对用于显示的数据定序、以及传送该内容以用于经由显示设备显示。
图4是描述按照一个或多个实现的、使用所选择的缓冲器方案来分配缓冲器的示例过程400的细节的流程图。获得编码内容的数据流以用于经由设备显示(方框402)。例如,可以通过网络132从服务提供商134、从与计算设备相关联的存储器、从某种形式的计算机可读介质上的记录等等获得内容。建立用于编码内容的处理的输入格式和输出格式,以使得能够经由设备进行显示(方框404),并且设备的能力被查明(方框406)。如先前所指出的,用于解码和/或渲染的格式可以通过数据流的解析来确定。在一种方法中,这牵涉到头标和/或位流语法的分析,以提取指示要使用的格式、内容类型、缓冲器大小和/或可被运用来设立或选择适当缓冲方案的其它信息的参数。附加地,缓冲器方案的设立或选择可以取决于设备能力,诸如与设备相关联的显示器或显示适配器的类型、可用存储器的量、处理能力等等。在一种方法中,可以通过与设备的操作系统或其他应用的交互来确定设备的能力。在一个实现中,解码器模块126可以维持设备能力的记录,所述记录可以结合通过数据流解析所获得的参数而被使用来选择缓冲器方案并相应地设立缓冲器。
具体地,依赖于所建立的输入格式和输出格式以及所查明的设备的能力,从多个可用缓冲器方案中选择要用于编码内容的处理的缓冲器方案(方框408),并且按照所选择的缓冲器方案来分配用于编码内容的处理的缓冲器(方块410)。先前相关于图1到图3讨论了关于基于被支持的方案来在各种方案之间进行选择并且配置缓冲器的细节。一旦分配了缓冲器,则使用所分配的缓冲器来处理编码内容以用于经由设备显示(方框412)。所述处理可以包括由解码器模块126使用解码器缓冲器128对内容进行解码。所述处理还可以包括由渲染模块127使用输出缓冲器对解码的内容进行定序和渲染。如先前所指出的,可以经由显示设备118或集成显示器122呈现所渲染的内容。
图5是描述按照一个或多个实现的、使用缓冲器方案来组合地管理解码和渲染过程的示例过程500的细节的流程图。从解码器所支持的多个可用缓冲器方案中选择要用于编码内容的数据流的处理的缓冲器方案,该缓冲器方案规定用于解码和渲染过程的组合管理的参数(方框502)。如先前相关于图1到图4所讨论的,设想了各种缓冲器方案。通常,缓冲器方案206可以被选择并应用于对解码图片缓冲(DPB)和输出图片缓冲(OPB)的组合管理,这比如通过按照所选择的方案来选择性地配置对应的解码缓冲器128和输出缓冲器130来进行。可以针对以下两种情景定义缓冲器方案206,即其中用于解码的输入格式(例如,DPB)和用于渲染的输出格式(例如,OPB)相同的情景(例如,相同的分辨率、视频格式、内容类型),和其中输入格式和输出格式不同的情景。每个缓冲器方案可以规定用于解码和渲染的组合管理的参数。与不同缓冲器方案相关联的参数可以包括对于缓冲器大小和/或在不同输入和输出分辨率之间进行格式转换的不同约束,以及包括使得能够配置缓冲器的其他信息。
因此,按照所选择的缓冲器方案为解码图片缓冲器和输出图片缓冲器配置大小(方框504)。可以使用由所选择的缓冲器方案规定的参数以先前描述的方式来配置缓冲器的大小和其它特性。通过利用解码图片缓冲器和输出图片缓冲器进行的处理而对编码内容进行解码和渲染(方框506)。用于解码和渲染的操作可以经由计算设备的处理系统来执行。在一个或多个实现中,处理系统包括中央处理单元(CPU)和与中央处理单元分离的图形处理单元(GPU)。内容的处理的至少一部分可以经由GPU发生。在一种方法中,GPU可包括或利用解码器模块来执行解码以及可包括或利用渲染模块来执行渲染。解码器模块可以被配置成对使用多种压缩标准来编码的编码内容进行解码,所述压缩标准至少包括H.264/AVC和HEVC/H.265标准。解码器模块和渲染模块中的任一个或两者可以被实现为图形处理单元(GPU)的组件。
已经考虑了用于缓冲器优化的示例过程后,考虑对于按照一个或多个实现的示例系统的讨论。
示例系统
图6图示了包括示例计算设备602的示例系统600,该示例计算设备602代表可以实现本文描述的各种技术的一个或多个计算系统和/或设备。计算设备602可以是例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统和/或任何其他适当的计算设备或计算系统。
所图示的示例计算设备602包括处理系统604、一个或多个计算机可读介质606和一个或多个彼此通信耦合的I/O接口608。虽然未示出,但是计算设备602还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种各样总线体系结构中的任一种的处理器或局部总线。还设想了各种各样的其他示例,诸如控制和数据线。
处理系统604代表使用硬件来执行一个或多个操作的功能性。因此,处理系统604被图示为包括硬件元件610,其可以被配置为处理器、功能块等。这可以包括以硬件实现为使用一个或多个半导体形成的专用集成电路或其它逻辑器件。硬件元件610不受形成它们的材料或其中运用的处理机制的限制。例如,处理器可以包括(一个或多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子地可执行的指令。
计算机可读介质606被图示为包括存储器/存储装置612。存储器/存储装置612表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置612可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置612可以包括固定介质(例如,RAM、ROM、固定硬驱动器等)以及可拆卸介质(例如,闪存、可拆卸硬驱动器、光盘等)。计算机可读介质606可以以各种各样其他方式来配置,正如下面进一步描述的。
(一个或多个)输入/输出接口608代表允许用户向计算设备602输入命令和信息、并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、用于话音操作的麦克风、扫描仪、触摸功能性(例如,被配置成检测物理触摸的电容或其它传感器)、相机(例如,其可以运用可见的或比如红外频率这样的不可见波长来将不牵涉到触摸的移动检测为手势)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备602可以以下面进一步描述的各种各样的方式被配置来支持用户交互。
在本文中,可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。当在本文中使用时,术语“模块”、“功能性”和“组件”通常表示软件、固件、硬件或其组合。本文所描述的技术的特征是与平台无关的,这意味着这些技术可以在具有各种各样处理器的各种各样商品化计算平台上实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上,或跨越其被传送。计算机可读介质可以包括可由计算设备602访问的各种各样的介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“通信介质”。
与仅仅信号传输、载波或信号本身相反,“计算机可读存储介质”是指使得能够存储信息的介质和/或设备。因此,计算机可读存储介质不包括信号承载介质、瞬态信号或信号本身。计算机可读存储介质包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据这样的信息的方法或技术实现的硬件,诸如易失性和非易失性的、可拆卸和不可拆卸的介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或适合于存储所期望的信息并可由计算机访问的其他存储设备、有形介质或制品。
“通信介质”可以指被配置成比如经由网络向计算设备602的硬件传送指令的信号承载介质。通信介质通常可以将计算机可读指令、数据结构、程序模块或其他数据具体化在诸如载波、数据信号或其他传输机制这样的调制的数据信号中。通信介质还包括任何信息递送介质。术语“调制的数据信号”意指使其一个或多个特性以在信号中编码信息这样的方式来设置或改变的信号。作为示例而非限制,通信介质包括有线介质和无线介质,有线介质诸如是有线网络或直接连线的连接,无线介质诸如是声学、RF、红外和其他无线介质。
如前所述,硬件元件610和计算机可读介质606代表以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑,其可以在一些实施例中被运用来实现本文描述的技术的至少一些方面。硬件元件可以包括以下组件:集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及用硅或其他硬件设备的其他实现。在这种上下文中,硬件元件可以作为处理设备操作,其执行通过由该硬件元件以及作为被用来存储指令以供执行的硬件设备(例如,先前描述的计算机可读存储介质)具体化的指令、模块和/或逻辑而定义的程序任务。
还可以运用前述项的组合来实现本文所描述的各种技术和模块。因此,包括操作系统108、应用110、解码器模块126、渲染模块127和其他程序模块的软件、硬件或程序模块可以被实现为在某种形式的计算机可读存储介质上包含的和/或由一个或多个硬件元件610具体化的一个或多个指令和/或逻辑。计算设备602可以被配置成实现与该软件和/或硬件模块相对应的特定指令和/或功能。因此,如可由计算设备602作为软件来执行的模块的一些模块的实现可以至少部分地以硬件来完成,例如通过使用计算机可读存储介质和/或处理系统的硬件元件610来进行。指令和/或功能或许是可由一个或多个制品(例如,一个或多个计算设备602和/或处理系统604)执行/操作来实现本文所描述的技术、模块和示例的。
如图6中进一步图示的,示例系统600使得能够当在个人计算机(PC)、电视设备和/或移动设备上运行应用时实现用于无缝用户体验的普适环境。为了当在使用应用、播放视频游戏、观看视频等等的时候从一个设备转移到下一个设备时的共同的用户体验,服务和应用在所有三个环境中基本上类似地运行。
在示例系统600中,多个设备通过中央计算设备互连。对于该多个设备来说中央计算设备可以是本地的,或者可以位于该多个设备的远程。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到该多个设备的一个或多个服务器计算机的云。
在一个实施例中,这种互连体系结构使得能够跨多个设备传递功能性,以向该多个设备的用户提供共同的且无缝的体验。多个设备中的每一个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能向设备递送既是针对该设备定制的、然而又是为所有设备共有的体验。在一个实施例中,创建目标设备的类别,并且为设备的通用类别定制体验。设备的类别可以依据设备的物理特征、使用类型或其他共同特性来定义。
在各种实现中,计算设备602可以诸如针对计算机614、移动装置616和电视机618用途而采取各种各样不同的配置。这些配置中的每一个包括可具有大体上不同的构造和能力的设备,并且因此可以按照不同设备类别中的一个或多个来配置计算设备602。例如,计算设备602可以被实现为计算机614类别的设备,包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备602还可以被实现为移动装置616类别的设备,包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等的移动设备。计算设备602还可以被实现为电视机618类别的设备,包括在休闲观看环境中具有或连接到通常较大屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
本文所描述的技术可以由计算设备602的这各种配置来支持,并且不限于本文所描述的技术的特定示例。这通过在计算设备602上包括解码器模块126和渲染模块127来图示。由解码器模块126、渲染模块127和其他模块/应用所表示的功能性还可以通过使用分布式系统来全部或部分地实现,诸如经由如下所描述的平台622通过“云”620来实现。
云620包括和/或代表用于资源624的平台622。平台622对云620的硬件(例如,服务器)和软件资源的底层功能性进行抽象。资源624可以包括当在距计算设备602远程的服务器上执行计算机处理时可被利用的应用和/或数据。资源624还可以包括通过因特网和/或通过订户网络(诸如蜂窝网或Wi-Fi网)提供的服务。
平台622可以对用于将计算设备602与其他计算设备连接的资源和功能进行抽象。平台622还可以用来对资源的约略估计(scaling)进行抽象,以便向遇到的对于经由平台622实现的资源624的需求提供对应的规模水平。因此,在互连设备实施例中,本文所描述的功能性的实现可以分布在系统600的各处。例如,该功能性可以部分地在计算设备602上、以及经由对云620的功能性进行抽象的平台622来实现。
示例实现
本文所描述的缓冲器优化的示例实现包括但不限于以下示例中一个或多个示例的一个或任何组合:
一种计算机实现的方法,包括:获得编码内容的数据流以用于经由设备显示;建立用于所述编码内容的处理的输入格式和输出格式以使得能够经由所述设备显示;查明所述设备的能力;依赖于所建立的输入格式和输出格式以及所查明的设备能力而从多个可用缓冲器方案中选择要用于所述编码内容的处理的缓冲器方案;按照所选择的缓冲器方案来分配用于所述编码内容的处理的缓冲器;以及使用所分配的缓冲器来处理所述编码内容以用于经由所述设备显示。
如上所述的计算机实现的方法还包括:作为分配的一部分,为解码图片缓冲器和输出图片缓冲器配置大小,所述大小由被选择的缓冲器方案来规定。
如上所述的计算机实现的方法,还包括:作为处理的一部分,经由设备的图形处理单元使用所分配的缓冲器来对编码内容进行解码以产生解码内容,并且渲染该解码内容。
如上所述的计算机实现的方法,还包括:当输入格式和输出格式不同时,执行从输入格式到输出格式的格式转换,被选择的缓冲器方案被配置为控制所述格式转换是作为解码的一部分还是作为渲染的一部分来发生。
如上所述的计算机实现的方法,还包括:作为所述查明的一部分,确定设备的可用于编码内容的处理的存储器的量。
如上所述的计算机实现的方法,还包括:作为选择缓冲器方案的一部分,解析编码内容的位流语法以识别指定的方案,并且选择所指定的方案。
如上所述的计算机实现的方法,还包括:响应于确定经由所述设备可用的存储器不足以针对输出格式使用与输入格式相关联的分辨率或位深度,把输出格式设置成使得分辨率或位深度中的至少一个低于输入格式的对应的分辨率或位深度。
如上所述的计算机实现的方法,其中所述多个可用缓冲器方案至少包括:用于当输入格式和输出格式相同时处理编码内容的一个缓冲器方案;以及用于当输入格式和输出格式不同时处理编码内容的不同缓冲器方案。
一种或多种存储指令的计算机可读存储介质,所述指令在由计算设备执行时促使所述计算设备执行操作,所述操作包括:把所述计算设备的图形处理系统配置成依赖于用来解码和渲染的格式以及所述设备的存储器能力来选择多个缓冲器方案中的一个以用于编码数据流的处理;以及通过使用缓冲器方案中被选择的那个方案来定义被运用来解码和渲染的缓冲器,经由图形处理系统来处理编码数据流以用于显示。
如上所述的一个或多个计算机可读存储装置,其中多个缓冲器方案至少包括:第一缓冲器方案,用于当被用于解码和渲染的格式相同时处理编码内容;第二缓冲器方案,用于当被用于解码和渲染的格式不同且格式转换被作为解码的一部分执行时处理编码内容;以及第三缓冲器方案,用于当被用于解码和渲染的格式不同且格式转换被作为渲染的一部分执行时处理编码内容。
如上所述的一个或多个计算机可读存储装置,其中所述编码数据流包括视频内容,并且被用于解码和渲染的格式包括用于所述视频内容的分辨率。
如上所述的一个或多个计算机可读存储介质,其中所述多个可用缓冲器方案中的一个或多个被配置成:针对计算设备的存储器的分配,定义用于解码和渲染的单独缓冲器。
如上所述的一个或多个计算机可读存储介质,其中所述多个可用缓冲器方案中的至少一个被配置成:针对计算设备的存储器的分配,定义既运用于解码和又运用于渲染的公共缓冲器。
如上所述的一个或多个计算机可读存储介质,其中多个可用缓冲器方案中的每一个被配置成基于以下项中的一个或其组合来定义被运用于解码和渲染的缓冲器的大小:由编码内容的位流语法规定的解码缓冲器大小、为了当前图像的解码而保留的大小,或者为了渲染而缓冲的图像的数量。
一种系统,包括:处理系统;一个或多个模块,其经由所述处理系统可操作来执行用于编码内容的数据流的处理以便经由与所述系统相关联的显示设备显示的操作,所述操作包括以下操作:从由系统支持的多个可用缓冲器方案中选择要用于编码内容的数据流的处理的缓冲器方案,所述缓冲器方案规定用于解码和渲染的组合管理的参数;按照所选择的缓冲器方案来为解码图片缓冲器和输出图片缓冲器配置大小;以及通过利用解码图片缓冲器和输出图片缓冲器进行的处理来解码所述编码内容并且渲染解码内容。
如上所述的系统,其中由系统支持的多个可用缓冲器方案包括以下方案中的一个或多个:用于当输入格式和输出格式相同时处理编码内容的缓冲器方案;用于当输入格式和输出格式不同且格式转换被作为解码的一部分执行时处理编码内容的缓冲器方案;以及用于当输入格式和输出格式不同且格式转换被作为渲染的一部分执行时处理编码内容的缓冲器方案。
如上所述的系统,其中与不同缓冲器方案相关联的、用于解码和渲染的组合管理的参数包括:对于缓冲器大小以及在不同输入和输出分辨率之间的格式转换的不同约束。
如上所述的系统,其中所述处理系统包括中央处理单元(CPU)和与所述中央处理单元分离的图形处理单元(GPU)。
如上所述的系统,其中所述一个或多个模块包括被实现为图形处理单元(GPU)的组件的、用于执行解码的解码器模块以及用于执行渲染的渲染模块。
如上所述的系统,其中解码器模块被配置成对编码内容进行解码,该编码内容使用至少包括H.264/AVC和HEVC/H.265标准的多种压缩标准来编码。
结论
虽然已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不是必然地限于上面描述的特定特征或动作。相反,上面描述的特定特征和动作是作为实现权利要求的示例形式被公开的。
Claims (15)
1.一种通过选择性地应用不同的缓冲选项来优化跨多个具有不同能力的设备的图形处理的计算机实现的方法,包括:
获得编码内容的数据流以用于经由设备显示;
建立用于所述编码内容的处理的输入格式和输出格式以使得能够经由所述设备显示;
查明所述设备的能力;
依赖于所建立的输入格式和输出格式以及所查明的所述设备的能力,从多个可用缓冲器方案中选择要用于所述编码内容的处理的缓冲器方案;
按照所选择的缓冲器方案来分配用于所述编码内容的处理的缓冲器;和
使用所分配的缓冲器来处理所述编码内容以用于经由所述设备显示。
2.根据权利要求1所述的计算机实现的方法,还包括:作为所述分配的一部分,为解码图片缓冲器和输出图片缓冲器配置大小,所述大小由被选择的缓冲器方案规定。
3.根据权利要求2所述的计算机实现的方法,还包括:作为所述处理的一部分,经由所述设备的图形处理单元使用所分配的缓冲器来对所述编码内容进行解码以产生解码内容,并且渲染所述解码内容。
4.如权利要求3所述的计算机实现的方法,还包括:当所述输入格式和所述输出格式不同时,执行从所述输入格式到所述输出格式的格式转换,所述被选择的缓冲器方案被配置为控制所述格式转换是作为解码的一部分还是作为渲染的一部分来发生。
5.根据权利要求1所述的计算机实现的方法,还包括:作为所述查明的一部分,确定所述设备的可用于所述编码内容的处理的存储器的量。
6.根据权利要求1所述的计算机实现的方法,还包括:作为选择所述缓冲器方案的一部分,解析所述编码内容的位流语法以识别指定的方案,并且选择该指定的方案。
7.根据权利要求1所述的计算机实现的方法,还包括:响应于确定经由所述设备可用的存储器不足以针对输出格式使用与输入格式相关联的分辨率或位深度,把所述输出格式设置成使得分辨率或位深度中的至少一个低于所述输入格式的对应的分辨率或位深度,以减少存储器使用。
8.根据权利要求1所述的计算机实现的方法,其中所述多个可用缓冲器方案至少包括:
用于当输入格式和输出格式相同时处理编码内容的一个缓冲器方案;和
用于当输入格式和输出格式不同时处理编码内容的不同缓冲器方案。
9.一种或多种存储指令的计算机可读存储介质,所述指令在由计算设备执行时促使所述计算设备执行以下操作,包括:
把所述计算设备的图形处理系统配置成依赖于被用来解码和渲染的格式以及所述设备的存储器能力来选择多个缓冲器方案中的一个以用于编码数据流的处理;和
通过使用缓冲器方案中所选择的那个缓冲器方案来定义被运用于解码和渲染的缓冲器,经由所述图形处理系统处理所述编码数据流以用于显示。
10.一种系统,包括:
处理系统;
一个或多个模块,其经由所述处理系统可操作来执行用于编码内容的数据流的处理以便经由与所述系统相关联的显示设备显示的操作,包括以下操作:
从由所述系统支持的多个可用缓冲器方案中选择要用于编码内容的数据流的处理的缓冲器方案,所述缓冲器方案规定用于解码和渲染的组合管理的参数;
按照所选择的缓冲器方案来为解码图片缓冲器和输出图片缓冲器配置大小;和
通过利用解码图片缓冲器和输出图片缓冲器进行的处理来解码所述编码内容,并渲染解码内容。
11.根据权利要求10所述的系统,其中由所述系统支持的所述多个可用缓冲器方案包括以下中的一个或多个:
用于当输入格式和输出格式相同时处理所述编码内容的缓冲器方案;
当输入格式和输出格式不同且格式转换被作为解码的一部分执行时用于处理编码内容的缓冲器方案;以及
当输入格式和输出格式不同且格式转换被作为渲染的一部分执行时用于处理编码内容的缓冲器方案。
12.根据权利要求10所述的系统,其中与不同缓冲器方案相关联的、用于解码和渲染的组合管理的参数包括:对于缓冲器大小以及在不同输入和输出分辨率之间的格式转换的不同约束。
13.根据权利要求10所述的系统,其中所述处理系统包括中央处理单元(CPU)和与所述中央处理单元分离的图形处理单元(GPU)。
14.根据权利要求10所述的系统,其中所述一个或多个模块包括被实现为所述图形处理单元(GPU)的组件的、用于执行解码的解码器模块以及用于执行渲染的渲染模块。
15.根据权利要求10所述的系统,其中所述解码器模块被配置成对编码内容进行解码,该编码内容使用至少包括H.264/AVC和HEVC/H.265标准的多种压缩标准来编码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462063220P | 2014-10-13 | 2014-10-13 | |
US62/063220 | 2014-10-13 | ||
US14/661643 | 2015-03-18 | ||
US14/661,643 US10283091B2 (en) | 2014-10-13 | 2015-03-18 | Buffer optimization |
PCT/US2015/055051 WO2016060968A1 (en) | 2014-10-13 | 2015-10-12 | Buffer optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107209693A true CN107209693A (zh) | 2017-09-26 |
CN107209693B CN107209693B (zh) | 2021-01-01 |
Family
ID=55655882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580055771.3A Active CN107209693B (zh) | 2014-10-13 | 2015-10-12 | 缓冲器优化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10283091B2 (zh) |
EP (1) | EP3207714A1 (zh) |
CN (1) | CN107209693B (zh) |
WO (1) | WO2016060968A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156520A (zh) * | 2017-12-29 | 2018-06-12 | 珠海市君天电子科技有限公司 | 视频播放方法、装置、电子设备及存储介质 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016123546A1 (en) * | 2015-01-30 | 2016-08-04 | E Ink Corporation | Font control for electro-optic displays and related apparatus and methods |
CN104732486B (zh) * | 2015-03-23 | 2017-10-03 | 海信集团有限公司 | 一种图片的显示方法及装置 |
CN107454445A (zh) * | 2016-05-31 | 2017-12-08 | 北京风行在线技术有限公司 | 一种用于进行视频播放调度的方法和装置 |
KR102176723B1 (ko) * | 2016-09-23 | 2020-11-10 | 삼성전자주식회사 | 영상처리 장치, 디스플레이 장치, 및 그 제어방법 |
US10235740B2 (en) * | 2016-12-16 | 2019-03-19 | Dell Products L.P. | Flexible information handling system display resolution scaling |
US11012694B2 (en) | 2018-05-01 | 2021-05-18 | Nvidia Corporation | Dynamically shifting video rendering tasks between a server and a client |
US10713756B2 (en) | 2018-05-01 | 2020-07-14 | Nvidia Corporation | HW-assisted upscaling and multi-sampling using a high resolution depth buffer |
US10635439B2 (en) | 2018-06-13 | 2020-04-28 | Samsung Electronics Co., Ltd. | Efficient interface and transport mechanism for binding bindless shader programs to run-time specified graphics pipeline configurations and objects |
US10554963B1 (en) * | 2018-10-16 | 2020-02-04 | Raytheon Company | Video load balancing and error detection based on measured channel bandwidth |
CN113366846A (zh) | 2019-02-02 | 2021-09-07 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的缓冲区更新 |
MX2021008963A (es) | 2019-02-02 | 2021-08-24 | Beijing Bytedance Network Tech Co Ltd | Manejo de bufer para copia intra-bloque en codificacion de video. |
EP3915265A4 (en) * | 2019-03-01 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING |
EP3915252A4 (en) | 2019-03-04 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | IMPLEMENTATION OF ASPECTS IN AN INTRA BLOCK COPY IN VIDEO ENCODING |
JP2022539468A (ja) | 2019-07-06 | 2022-09-09 | 北京字節跳動網絡技術有限公司 | 映像符号化におけるイントラブロックコピーのための仮想予測バッファ |
CN114175633B (zh) | 2019-07-10 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的样点标识 |
KR20220030957A (ko) | 2019-07-11 | 2022-03-11 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717816A (en) * | 1993-01-13 | 1998-02-10 | Hitachi America Ltd. | Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames |
US20090238279A1 (en) * | 2008-03-21 | 2009-09-24 | Microsoft Corporation | Motion-compensated prediction of inter-layer residuals |
US20120320967A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Adaptive codec selection |
US20140253563A1 (en) * | 2010-06-17 | 2014-09-11 | Thincl, Inc. | Processing of graphics data of a server system for transmission including multiple rendering passes |
Family Cites Families (213)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2062200A1 (en) * | 1991-03-15 | 1992-09-16 | Stephen C. Purcell | Decompression processor for video applications |
US5887115A (en) * | 1993-01-13 | 1999-03-23 | Hitachi America, Ltd. | Method and apparatus for implementing a video tape recorder for recording digital video signals having either a fixed or variable data transmission rate |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US5506604A (en) | 1994-04-06 | 1996-04-09 | Cirrus Logic, Inc. | Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer |
US5901277A (en) * | 1994-07-29 | 1999-05-04 | Apple Computer, Inc. | Shared decompression buffer |
DE69524999T2 (de) * | 1994-08-01 | 2002-07-18 | Opentv Inc | Verfahren zum Komprimieren und Dekomprimieren von Dateien |
JP3694912B2 (ja) * | 1995-02-23 | 2005-09-14 | 株式会社日立製作所 | メモリ制御方法及び画像復号装置 |
US5691768A (en) * | 1995-07-07 | 1997-11-25 | Lucent Technologies, Inc. | Multiple resolution, multi-stream video system using a single standard decoder |
TW303570B (zh) * | 1995-09-29 | 1997-04-21 | Matsushita Electric Ind Co Ltd | |
US5956088A (en) * | 1995-11-21 | 1999-09-21 | Imedia Corporation | Method and apparatus for modifying encoded digital video for improved channel utilization |
US5915265A (en) * | 1995-12-22 | 1999-06-22 | Intel Corporation | Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system |
US5847762A (en) * | 1995-12-27 | 1998-12-08 | Thomson Consumer Electronics, Inc. | MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory |
US6188700B1 (en) * | 1996-11-07 | 2001-02-13 | Sony Corporation | Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers |
US6262776B1 (en) * | 1996-12-13 | 2001-07-17 | Microsoft Corporation | System and method for maintaining synchronization between audio and video |
KR19980068686A (ko) | 1997-02-22 | 1998-10-26 | 구자홍 | 엠펙 디코더(MPEG Decoder)의 레터 박스(Letter Box) 처리방법 |
US6707463B1 (en) * | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US5903282A (en) * | 1997-07-28 | 1999-05-11 | Lsi Logic Corporation | Video decoder dynamic memory allocation system and method with an efficient freeze mode |
US6223181B1 (en) * | 1997-07-31 | 2001-04-24 | Oak Technology, Inc. | Memory conserving and compression technique-compatible image rotation system |
US6397251B1 (en) * | 1997-09-02 | 2002-05-28 | International Business Machines Corporation | File server for multimedia file distribution |
KR100262500B1 (ko) * | 1997-10-16 | 2000-08-01 | 이형도 | 적응적 블록 현상 제거기능을 갖는 복호화기 |
JP3849144B2 (ja) * | 1997-12-31 | 2006-11-22 | ソニー株式会社 | 符号化データ出力装置及び方法並びに符号化データ制御装置及び方法 |
US6226038B1 (en) | 1998-04-03 | 2001-05-01 | Avid Technology, Inc. | HDTV editing and effects previsualization using SDTV devices |
JP2000023061A (ja) * | 1998-07-02 | 2000-01-21 | Sony Corp | テレビジョン受信機 |
US7139241B1 (en) * | 1998-09-14 | 2006-11-21 | Optibase Ltd. | Method for preventing buffer underflow during digital transport stream transmission, multiplexing and splicing |
US6697871B1 (en) * | 1999-09-21 | 2004-02-24 | Network Associates Technology, Inc. | System and method for efficient encoding and decoding of protocol messages |
US6658198B1 (en) * | 1999-11-04 | 2003-12-02 | Thomson Licensing S.A. | Precessed recording for rewritable disk medium |
JP3596863B2 (ja) * | 1999-11-26 | 2004-12-02 | シャープ株式会社 | 画像圧縮装置および画像伸張装置、ならびに画像圧縮方法および画像伸張方法をコンピュータに実行させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体 |
JP3694888B2 (ja) * | 1999-12-03 | 2005-09-14 | ソニー株式会社 | 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体 |
US6775274B1 (en) * | 2000-01-27 | 2004-08-10 | International Business Machines Corporation | Circuit and method for providing secure communication over data communication interconnects |
DE10102159C2 (de) * | 2001-01-18 | 2002-12-12 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen bzw. Decodieren eines skalierbaren Datenstroms unter Berücksichtigung einer Bitsparkasse, Codierer und skalierbarer Codierer |
DE60128993T2 (de) * | 2001-02-06 | 2008-02-28 | Nortel Networks S.A. | Mehrfachratenringpuffer und entsprechendes Betriebsverfahren |
FI118830B (fi) | 2001-02-08 | 2008-03-31 | Nokia Corp | Tietovirran toisto |
KR100750106B1 (ko) * | 2001-08-17 | 2007-08-21 | 삼성전자주식회사 | 비디오 신호 규격 자동 판단 장치 및 방법 |
US7646816B2 (en) * | 2001-09-19 | 2010-01-12 | Microsoft Corporation | Generalized reference decoder for image or video processing |
US20030126293A1 (en) * | 2001-12-27 | 2003-07-03 | Robert Bushey | Dynamic user interface reformat engine |
KR20040015965A (ko) * | 2002-08-14 | 2004-02-21 | 엘지전자 주식회사 | 포맷 변환 장치 |
US7508398B1 (en) * | 2002-08-27 | 2009-03-24 | Nvidia Corporation | Transparent antialiased memory access |
KR100503037B1 (ko) * | 2002-11-01 | 2005-07-21 | 삼성테크윈 주식회사 | 디지털 카메라와 그의 영상정보 저장방법 |
MY134659A (en) | 2002-11-06 | 2007-12-31 | Nokia Corp | Picture buffering for prediction references and display |
US7209266B2 (en) * | 2002-12-06 | 2007-04-24 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US20060056716A1 (en) * | 2003-04-09 | 2006-03-16 | Junichi Komeno | Osd-synthesized image decoding device, osd-synthesized image decoding method, program, and recording medium |
US7630440B2 (en) * | 2003-05-28 | 2009-12-08 | Broadcom Corporation | Context adaptive binary arithmetic code decoding engine |
AU2003244192A1 (en) * | 2003-06-25 | 2005-01-13 | Nokia Corporation | Image data compression parameter value controlling digital imaging device and image data compression parameter value decision method |
WO2005013274A1 (ja) * | 2003-07-30 | 2005-02-10 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
TWI220366B (en) | 2003-08-11 | 2004-08-11 | Mediatek Inc | Scalable video format conversion system |
US6903668B1 (en) * | 2003-11-18 | 2005-06-07 | M-Systems Flash Disk Pioneers Ltd. | Decompression accelerator for flash memory |
KR100624786B1 (ko) * | 2004-01-29 | 2006-09-19 | 엘지전자 주식회사 | 무선 네트워크망을 통해 통신하는 서버 시스템 |
US20050201471A1 (en) * | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
EP1727299A1 (en) * | 2004-03-19 | 2006-11-29 | NEC Corporation | Radio base station apparatus temporarily holding received signals in buffer |
JP4385841B2 (ja) * | 2004-04-22 | 2009-12-16 | ソニー株式会社 | 画像処理装置 |
US8005139B2 (en) * | 2004-06-27 | 2011-08-23 | Apple Inc. | Encoding with visual masking |
US8374238B2 (en) | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
US7672521B2 (en) * | 2004-08-30 | 2010-03-02 | Hewlett-Packard Development Company, L.P. | System and method for improved page composition |
ATE511314T1 (de) * | 2004-08-31 | 2011-06-15 | Panasonic Corp | Verfahren und vorrichtung zur kodierung bewegter bilder |
US9124907B2 (en) * | 2004-10-04 | 2015-09-01 | Nokia Technologies Oy | Picture buffering method |
US8218439B2 (en) * | 2004-11-24 | 2012-07-10 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive buffering |
US8615038B2 (en) * | 2004-12-06 | 2013-12-24 | Nokia Corporation | Video coding, decoding and hypothetical reference decoder |
US7536469B2 (en) * | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
GB0428160D0 (en) * | 2004-12-22 | 2005-01-26 | British Telecomm | Variable bit rate processing |
US8194707B2 (en) * | 2005-02-28 | 2012-06-05 | Broadcom Corporation | Method and system for dynamically allocating video multiplexing buffer based on queuing theory |
US7644335B2 (en) * | 2005-06-10 | 2010-01-05 | Qualcomm Incorporated | In-place transformations with applications to encoding and decoding various classes of codes |
JP2006350828A (ja) * | 2005-06-17 | 2006-12-28 | Matsushita Electric Ind Co Ltd | ストリーム制御装置 |
TWI318758B (en) * | 2005-06-21 | 2009-12-21 | Avermedia Information Inc | Method for adjusting display range of image obtained by document camera |
US7616137B2 (en) * | 2005-07-01 | 2009-11-10 | Stmicroelectronics, Sa | Method and apparatus for compression and decompression of an executable code with a RISC processor |
EP1949701A1 (en) | 2005-10-11 | 2008-07-30 | Nokia Corporation | Efficient decoded picture buffer management for scalable video coding |
US7903743B2 (en) * | 2005-10-26 | 2011-03-08 | Mediatek Inc. | Memory sharing in video transcoding and displaying |
PL1956847T3 (pl) * | 2005-11-08 | 2018-06-29 | Sun Patent Trust | Sposób kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów oraz urządzenia służące do tego celu |
US8121401B2 (en) * | 2006-01-24 | 2012-02-21 | Sharp Labortories of America, Inc. | Method for reducing enhancement of artifacts and noise in image color enhancement |
US8316425B2 (en) * | 2006-02-28 | 2012-11-20 | Konica Monolta Laboratory U.S.A., Inc. | Method and apparatus for authenticating printed documents |
US8693538B2 (en) | 2006-03-03 | 2014-04-08 | Vidyo, Inc. | System and method for providing error resilience, random access and rate control in scalable video communications |
WO2008018626A2 (en) * | 2006-08-10 | 2008-02-14 | Canon Kabushiki Kaisha | Image decoding apparatus |
KR101079586B1 (ko) * | 2006-09-04 | 2011-11-03 | 삼성전자주식회사 | 신호수신장치, 디스플레이장치 및 그 제어방법 |
US20100111497A1 (en) * | 2006-09-06 | 2010-05-06 | Zhikai Song | Media playing tool with a multiple media playing model |
US9058792B1 (en) * | 2006-11-01 | 2015-06-16 | Nvidia Corporation | Coalescing to avoid read-modify-write during compressed data operations |
CN102065262B (zh) * | 2006-11-07 | 2013-04-03 | 索尼株式会社 | 电子装置和控制信息接收方法 |
US20130166580A1 (en) * | 2006-12-13 | 2013-06-27 | Quickplay Media Inc. | Media Processor |
US9124650B2 (en) * | 2006-12-13 | 2015-09-01 | Quickplay Media Inc. | Digital rights management in a mobile environment |
JP5232796B2 (ja) * | 2006-12-14 | 2013-07-10 | トムソン ライセンシング | 適応エンハンスメントレイヤ予測を使用したビット深度スケーラブルなビデオデータを符号化及び/又は復号化する方法及び装置 |
US8914529B2 (en) | 2007-01-22 | 2014-12-16 | Microsoft Corporation | Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions |
US8737474B2 (en) * | 2007-06-27 | 2014-05-27 | Thomson Licensing | Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US8612643B2 (en) * | 2007-06-30 | 2013-12-17 | Microsoft Corporation | Interfaces for digital media processing |
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
FR2918520A1 (fr) * | 2007-07-03 | 2009-01-09 | Canon Kk | Procede et dispositif de transmission video |
US8441487B1 (en) * | 2007-07-30 | 2013-05-14 | Nvidia Corporation | Bandwidth compression for shader engine store operations |
US8090027B2 (en) * | 2007-08-29 | 2012-01-03 | Red Hat, Inc. | Data compression using an arbitrary-sized dictionary |
US8698838B1 (en) * | 2007-09-07 | 2014-04-15 | Zenverge, Inc. | Architecture for multiple graphics planes |
CN101389021B (zh) * | 2007-09-14 | 2010-12-22 | 华为技术有限公司 | 视频编解码方法及装置 |
US8094952B2 (en) * | 2007-09-19 | 2012-01-10 | Ricoh Company, Ltd. | Image processing apparatus and image processing method |
WO2009045683A1 (en) * | 2007-09-28 | 2009-04-09 | Athanasios Leontaris | Video compression and tranmission techniques |
US8245217B2 (en) * | 2007-10-12 | 2012-08-14 | Microsoft Corporation | Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine |
US8028094B2 (en) * | 2007-12-04 | 2011-09-27 | Vixs Systems, Inc. | USB video card and dongle device with video encoding and methods for use therewith |
US20090147840A1 (en) * | 2007-12-05 | 2009-06-11 | Kuldip Sahdra | Video encoding system with universal transcoding and method for use therewith |
US8243086B1 (en) * | 2007-12-13 | 2012-08-14 | Nvidia Corporation | Variable length data compression using a geometry shading unit |
US8295621B1 (en) * | 2007-12-13 | 2012-10-23 | Nvidia Corporation | Data decompression using a geometry shading unit |
US8254701B1 (en) * | 2007-12-13 | 2012-08-28 | Nvidia Corporation | Data compression using a geometry shading unit |
US8411569B2 (en) * | 2008-01-10 | 2013-04-02 | Alcatel Lucent | Method of splicing encoded multimedia data streams |
US20090322784A1 (en) * | 2008-02-27 | 2009-12-31 | Gabriele Sartori | System and method for virtual 3d graphics acceleration and streaming multiple different video streams |
CN101999234A (zh) * | 2008-04-18 | 2011-03-30 | 日本电气株式会社 | 网关装置、方法及程序 |
US8127058B1 (en) | 2008-07-29 | 2012-02-28 | Marvell International Ltd. | System and method of video decoding using hybrid buffer |
US8805106B2 (en) * | 2008-09-26 | 2014-08-12 | Futurewei Technologies, Inc. | System and method for compressing and decompressing images and video |
US8004431B2 (en) * | 2008-12-09 | 2011-08-23 | Qualcomm Incorporated | Fast parsing of variable-to-fixed-length codes |
US20100218232A1 (en) * | 2009-02-25 | 2010-08-26 | Cisco Technology, Inc. | Signalling of auxiliary information that assists processing of video according to various formats |
IT1398196B1 (it) * | 2009-06-25 | 2013-02-14 | St Microelectronics Srl | Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini |
US9161030B1 (en) * | 2009-09-07 | 2015-10-13 | Freescale Semiconductor, Inc. | Graphics overlay system for multiple displays using compressed video |
US8615043B2 (en) * | 2010-03-04 | 2013-12-24 | Texas Instruments Incorporated | Fixed length coding based image data compression |
CN103826129A (zh) | 2010-04-08 | 2014-05-28 | 株式会社东芝 | 图像解码方法以及图像解码装置 |
JP5397700B2 (ja) * | 2010-04-09 | 2014-01-22 | ソニー株式会社 | 情報処理装置および方法 |
US8301794B2 (en) | 2010-04-16 | 2012-10-30 | Microsoft Corporation | Media content improved playback quality |
KR101721268B1 (ko) * | 2010-04-29 | 2017-03-29 | 한국전자통신연구원 | 광대역 근거리 무선 통신 장치 및 방법 |
US9405845B2 (en) * | 2010-05-17 | 2016-08-02 | Microsoft Technology Licensing, Llc | Adaptable layouts for social feeds |
US8843568B2 (en) * | 2010-05-17 | 2014-09-23 | Microsoft Corporation | Email tags |
US8825809B2 (en) * | 2010-05-19 | 2014-09-02 | Microsoft Corporation | Asset resolvable bookmarks |
US8880700B2 (en) * | 2010-05-28 | 2014-11-04 | Red Hat, Inc. | Delivery of user-controlled resources in cloud environments via a resource specification language wrapper |
US8904033B2 (en) * | 2010-06-07 | 2014-12-02 | Adobe Systems Incorporated | Buffering media content |
US8739041B2 (en) * | 2010-06-17 | 2014-05-27 | Microsoft Corporation | Extensible video insertion control |
US20110314416A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Collected media content data |
US8849816B2 (en) * | 2010-06-22 | 2014-09-30 | Microsoft Corporation | Personalized media charts |
US20110320380A1 (en) * | 2010-06-23 | 2011-12-29 | Microsoft Corporation | Video content recommendations |
US9131033B2 (en) * | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
SG10201506682SA (en) * | 2010-09-30 | 2015-10-29 | Mitsubishi Electric Corp | Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method |
JP5520190B2 (ja) * | 2010-10-20 | 2014-06-11 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理システム、画像処理方法、動画像送信装置、動画像受信装置、プログラム及び情報記憶媒体 |
CN103202019A (zh) * | 2010-11-22 | 2013-07-10 | 索尼公司 | 编码装置和编码方法、以及解码装置和解码方法 |
WO2012093296A1 (en) * | 2011-01-05 | 2012-07-12 | Nds Limited | Coordinated 2-dimensional and 3-dimensional graphics processing |
CN105915902B (zh) * | 2011-03-08 | 2017-09-22 | Jvc 建伍株式会社 | 动图像编码装置以及动图像编码方法 |
KR101818577B1 (ko) * | 2011-04-05 | 2018-01-15 | 삼성전자 주식회사 | 통신 서비스 지원 중 전원 절약을 위한 휴대 단말기 운용 방법 및 이를 지원하는 휴대 단말기 |
JP2012221085A (ja) * | 2011-04-06 | 2012-11-12 | Seiko Epson Corp | 画像供給装置、表示システム、画像供給方法、及び、プログラム |
JP6087511B2 (ja) * | 2011-04-19 | 2017-03-01 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
US8724029B2 (en) * | 2011-05-26 | 2014-05-13 | Adobe Systems Incorporated | Accelerating video from an arbitrary graphical layer |
US8782270B2 (en) | 2011-06-07 | 2014-07-15 | Smith Micro Software, Inc. | Method and system for streaming live teleconferencing feeds to mobile client devices |
CA2839560C (en) * | 2011-06-16 | 2016-10-04 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Entropy coding of motion vector differences |
US8775850B2 (en) * | 2011-06-28 | 2014-07-08 | Amazon Technologies, Inc. | Transferring state information between electronic devices |
ES2958967T3 (es) * | 2011-06-30 | 2024-02-16 | Microsoft Technology Licensing Llc | Reducción de latencia en codificación y descodificación de vídeo |
MX2014000048A (es) * | 2011-07-02 | 2014-04-30 | Samsung Electronics Co Ltd | Metodo y aparato para multiplexar y desmultiplexar datos de video para identificar el estado de reproduccion de los datos de video. |
US8731067B2 (en) * | 2011-08-31 | 2014-05-20 | Microsoft Corporation | Memory management for video decoding |
WO2013031575A1 (ja) * | 2011-08-31 | 2013-03-07 | ソニー株式会社 | 画像処理装置および画像処理方法 |
US9888244B2 (en) * | 2011-10-05 | 2018-02-06 | Texas Instruments Incorporated | Methods and systems for encoding of multimedia pictures |
KR20130058584A (ko) * | 2011-11-25 | 2013-06-04 | 삼성전자주식회사 | 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치 |
US9196216B2 (en) * | 2011-12-07 | 2015-11-24 | Parade Technologies, Ltd. | Frame buffer management and self-refresh control in a self-refresh display system |
CN104040542B (zh) * | 2011-12-08 | 2017-10-10 | 甲骨文国际公司 | 用于在易失性存储器内保持关系型数据的列向量的技术 |
JP5722761B2 (ja) * | 2011-12-27 | 2015-05-27 | 株式会社ソニー・コンピュータエンタテインメント | 動画圧縮装置、画像処理装置、動画圧縮方法、画像処理方法、および動画圧縮ファイルのデータ構造 |
WO2013100960A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Method of and apparatus for performing an objective video quality assessment using non-intrusive video frame tracking |
US9167296B2 (en) * | 2012-02-28 | 2015-10-20 | Qualcomm Incorporated | Customized playback at sink device in wireless display system |
KR101307557B1 (ko) * | 2012-03-09 | 2013-09-12 | 엘지디스플레이 주식회사 | 표시장치와 그의 패널 셀프 리프레시 동작 제어방법 |
KR101158876B1 (ko) * | 2012-03-09 | 2012-06-25 | 엘지디스플레이 주식회사 | 표시장치와 그의 패널 셀프 리프레시 동작 제어방법 |
AU2012201684A1 (en) * | 2012-03-21 | 2013-10-10 | Canon Kabushiki Kaisha | Image compression |
US20130279877A1 (en) * | 2012-04-19 | 2013-10-24 | Qnx Software Systems Limited | System and Method Of Video Decoder Resource Sharing |
US8497788B1 (en) * | 2012-04-25 | 2013-07-30 | Pure Storage Inc. | Efficient techniques for aligned fixed-length compression |
US20130294526A1 (en) | 2012-05-01 | 2013-11-07 | Kevin Thornberry | Smooth reverse video playback on low-cost current generation set-top box hardware |
US20140028788A1 (en) * | 2012-07-30 | 2014-01-30 | Polycom, Inc. | Method and system for conducting video conferences of diverse participating devices |
US8823507B1 (en) * | 2012-09-19 | 2014-09-02 | Amazon Technologies, Inc. | Variable notification alerts |
EP2713624A1 (en) * | 2012-09-20 | 2014-04-02 | Advanced Digital Broadcast S.A. | Method and system for generating an instantaneous decoding refresh (IDR) picture slice in an H.264/AVC compliant video data stream |
CN104813669B (zh) * | 2012-09-21 | 2018-05-22 | 诺基亚技术有限公司 | 用于视频编码的方法和装置 |
US9462021B2 (en) * | 2012-09-24 | 2016-10-04 | Google Technology Holdings LLC | Methods and devices for efficient adaptive bitrate streaming |
US9591355B2 (en) * | 2012-10-19 | 2017-03-07 | Broadcom Corporation | Decoding video streams using decoders supporting a different encoding profile |
US9661340B2 (en) * | 2012-10-22 | 2017-05-23 | Microsoft Technology Licensing, Llc | Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats |
US9196014B2 (en) * | 2012-10-22 | 2015-11-24 | Industrial Technology Research Institute | Buffer clearing apparatus and method for computer graphics |
US9332398B2 (en) * | 2012-11-30 | 2016-05-03 | Qualcomm Incorporated | Provision of positioning data based on device capability |
JP2014116835A (ja) * | 2012-12-11 | 2014-06-26 | Toshiba Corp | 復号装置、符号化装置、復号方法、及び符号化方法 |
KR102284107B1 (ko) * | 2013-01-07 | 2021-07-30 | 삼성전자주식회사 | 영상을 부호화/복호화하기 위한 파라미터 세트 생성 방법 및 장치 |
US9734598B2 (en) * | 2013-01-15 | 2017-08-15 | Microsoft Technology Licensing, Llc | Engine for streaming virtual textures |
US20140204107A1 (en) * | 2013-01-22 | 2014-07-24 | Vixs Systems, Inc. | Video processor with frame buffer compression and methods for use therewith |
US9407920B2 (en) * | 2013-01-22 | 2016-08-02 | Vixs Systems, Inc. | Video processor with reduced memory bandwidth and methods for use therewith |
JP5853211B2 (ja) * | 2013-01-25 | 2016-02-09 | パナソニックIpマネジメント株式会社 | バスインタフェース装置、中継装置、およびそれらを備えたバスシステム |
US20140219361A1 (en) * | 2013-02-01 | 2014-08-07 | Samplify Systems, Inc. | Image data encoding for access by raster and by macroblock |
US10327017B2 (en) * | 2013-02-18 | 2019-06-18 | Texas Instruments Incorporated | Systems and methods for video processing |
US9674714B2 (en) * | 2013-03-14 | 2017-06-06 | Comcast Cable Communications, Llc | Systems and methods for providing services |
US9906785B2 (en) * | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9521438B2 (en) * | 2013-03-29 | 2016-12-13 | Microsoft Technology Licensing, Llc | Custom data indicating nominal range of samples of media content |
US10027723B2 (en) * | 2013-04-12 | 2018-07-17 | Provenance Asset Group Llc | Method and apparatus for initiating communication and sharing of content among a plurality of devices |
US9247316B2 (en) * | 2013-04-23 | 2016-01-26 | Microsoft Technology Licensing, Llc | Protected media decoding using a secure operating system |
GB2514777B (en) * | 2013-06-03 | 2018-12-19 | Displaylink Uk Ltd | Management of memory for storing display data |
CA2917719C (en) * | 2013-07-11 | 2021-12-14 | Dejero Labs Inc. | Systems and methods for transmission of data streams |
US11132300B2 (en) * | 2013-07-11 | 2021-09-28 | Advanced Micro Devices, Inc. | Memory hierarchy using page-based compression |
US9477605B2 (en) * | 2013-07-11 | 2016-10-25 | Advanced Micro Devices, Inc. | Memory hierarchy using row-based compression |
US10085034B2 (en) * | 2013-07-12 | 2018-09-25 | Sony Corporation | Image coding apparatus and method |
US10545651B2 (en) * | 2013-07-15 | 2020-01-28 | Fox Broadcasting Company, Llc | Providing bitmap image format files from media |
US10097604B2 (en) * | 2013-08-01 | 2018-10-09 | Spotify Ab | System and method for selecting a transition point for transitioning between media streams |
US9846532B2 (en) * | 2013-09-06 | 2017-12-19 | Seespace Ltd. | Method and apparatus for controlling video content on a display |
EP3044787B1 (en) * | 2013-09-12 | 2017-08-09 | Dolby Laboratories Licensing Corporation | Selective watermarking of channels of multichannel audio |
US9113039B2 (en) * | 2013-09-20 | 2015-08-18 | Intel Corporation | Wireless sharing of content between computing devices |
GB201318658D0 (en) * | 2013-10-22 | 2013-12-04 | Microsoft Corp | Controlling resolution of encoded video |
US10817178B2 (en) * | 2013-10-31 | 2020-10-27 | Hewlett Packard Enterprise Development Lp | Compressing and compacting memory on a memory device wherein compressed memory pages are organized by size |
US9538207B2 (en) * | 2013-12-05 | 2017-01-03 | Qognify Ltd. | Method and apparatus for managing video storage |
CN108108311A (zh) * | 2013-12-12 | 2018-06-01 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
US9549196B2 (en) * | 2014-02-04 | 2017-01-17 | Microsoft Technology Licensing, Llc | Data unit identification for compressed video streams |
US10037366B2 (en) * | 2014-02-07 | 2018-07-31 | Microsoft Technology Licensing, Llc | End to end validation of data transformation accuracy |
US9794626B2 (en) * | 2014-05-01 | 2017-10-17 | Qualcomm Incorporated | Partitioning schemes in multi-layer video coding |
US9247470B2 (en) * | 2014-06-27 | 2016-01-26 | Yp Llc | Systems and methods for location-aware call processing |
US9430326B2 (en) * | 2014-07-22 | 2016-08-30 | HGST Netherlands B.V. | Multiple ECC codeword sizes in an SSD |
US10341317B2 (en) * | 2014-10-20 | 2019-07-02 | Yp Llc | Systems and methods for implementing a personalized provider recommendation engine |
US20160117796A1 (en) * | 2014-10-27 | 2016-04-28 | Microsoft Technology Licensing, Llc | Content Adaptive Decoder Quality Management |
US20160173906A1 (en) * | 2014-12-11 | 2016-06-16 | Intel Corporation | Partition mode and transform size determination based on flatness of video |
EP3238395A4 (en) * | 2014-12-24 | 2018-07-25 | Intel Corporation | Apparatus and method for buffering data in a switch |
US10097833B2 (en) * | 2014-12-26 | 2018-10-09 | Intel Corporation | Method and system of entropy coding using look-up table based probability updating for video coding |
US9911397B2 (en) * | 2015-01-05 | 2018-03-06 | Ati Technologies Ulc | Extending the range of variable refresh rate displays |
US20160267884A1 (en) * | 2015-03-12 | 2016-09-15 | Oculus Vr, Llc | Non-uniform rescaling of input data for displaying on display device |
US9984664B2 (en) * | 2015-03-18 | 2018-05-29 | Ati Technologies Ulc | Method and apparatus for compensating for variable refresh rate display range limitations |
US10043425B2 (en) * | 2015-03-24 | 2018-08-07 | Microsoft Technology Licensing, Llc | Test patterns for motion-induced chromatic shift |
US10051294B2 (en) * | 2015-03-31 | 2018-08-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Compressed video buffering |
US9832476B2 (en) * | 2015-06-15 | 2017-11-28 | Microsoft Technology Licensing, Llc | Multiple bit rate video decoding |
US10210854B2 (en) * | 2015-09-15 | 2019-02-19 | Casio Computer Co., Ltd. | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument |
JP6697099B2 (ja) * | 2016-01-27 | 2020-05-20 | イノベーシック インコーポレイテッドInnovasic,Inc. | イーサネット(登録商標)フレームインジェクタ |
US20170220283A1 (en) * | 2016-01-29 | 2017-08-03 | Microsoft Technology Licensing, Llc | Reducing memory usage by a decoder during a format change |
US10108462B2 (en) * | 2016-02-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Virtualizing sensors |
US9918038B2 (en) * | 2016-02-29 | 2018-03-13 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method for multimedia capture |
US10404979B2 (en) * | 2016-03-17 | 2019-09-03 | Mediatek Inc. | Video coding with interpolated reference pictures |
US10855989B2 (en) * | 2016-06-09 | 2020-12-01 | Qualcomm Incorporated | Substream multiplexing for display stream compression |
US10349098B2 (en) * | 2016-07-20 | 2019-07-09 | Arris Enterprises Llc | Video and data multiplexing in an adaptive bitrate server |
US11677799B2 (en) * | 2016-07-20 | 2023-06-13 | Arris Enterprises Llc | Client feedback enhanced methods and devices for efficient adaptive bitrate streaming |
JP6936592B2 (ja) * | 2017-03-03 | 2021-09-15 | キヤノン株式会社 | 演算処理装置およびその制御方法 |
US20180262701A1 (en) * | 2017-03-10 | 2018-09-13 | Raytheon Company | Transporting ultra-high definition video from multiple sources |
KR102613286B1 (ko) * | 2017-04-26 | 2023-12-12 | 디티에스, 인코포레이티드 | 프레임 그룹에 대한 비트 레이트 제어 |
-
2015
- 2015-03-18 US US14/661,643 patent/US10283091B2/en active Active
- 2015-10-12 EP EP15787781.2A patent/EP3207714A1/en not_active Ceased
- 2015-10-12 CN CN201580055771.3A patent/CN107209693B/zh active Active
- 2015-10-12 WO PCT/US2015/055051 patent/WO2016060968A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717816A (en) * | 1993-01-13 | 1998-02-10 | Hitachi America Ltd. | Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames |
US20090238279A1 (en) * | 2008-03-21 | 2009-09-24 | Microsoft Corporation | Motion-compensated prediction of inter-layer residuals |
US20140253563A1 (en) * | 2010-06-17 | 2014-09-11 | Thincl, Inc. | Processing of graphics data of a server system for transmission including multiple rendering passes |
US20120320967A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Adaptive codec selection |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156520A (zh) * | 2017-12-29 | 2018-06-12 | 珠海市君天电子科技有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN108156520B (zh) * | 2017-12-29 | 2020-08-25 | 珠海市君天电子科技有限公司 | 视频播放方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016060968A1 (en) | 2016-04-21 |
US20160104457A1 (en) | 2016-04-14 |
CN107209693B (zh) | 2021-01-01 |
EP3207714A1 (en) | 2017-08-23 |
US10283091B2 (en) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209693A (zh) | 缓冲器优化 | |
US9930308B2 (en) | Platform-agnostic video player for mobile computing devices and desktop computers | |
CN103577269B (zh) | 媒体工作负荷调度器 | |
US20140074911A1 (en) | Method and apparatus for managing multi-session | |
US9712589B2 (en) | System and method for playing a video on mobile web environments | |
US20230362430A1 (en) | Techniques for managing generation and rendering of user interfaces on client devices | |
KR101473257B1 (ko) | 유저 인터페이스 데이터를 포함하는 컨텐츠 스트림을 재생하는 장치 및 방법 | |
CN108475158A (zh) | 基于轻扫手势让内容项目间能够转换的系统及方法 | |
JP5122644B2 (ja) | レーザコンテンツを使用して場面を構成するための方法及び装置 | |
CN110073642A (zh) | 用于经模糊处理的媒体的编码优化 | |
US20210392386A1 (en) | Data model for representation and streaming of heterogeneous immersive media | |
CN107103890B (zh) | 在固定方向显示器上显示应用的方法及设备 | |
CN109587546A (zh) | 视频处理方法、装置、电子设备和计算机可读介质 | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
CN109361950A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN105453014A (zh) | 可调节的视频播放器 | |
CN115190345B (zh) | 用于显示媒体的协调控制方法、客户端设备及存储介质 | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
JP2018522346A (ja) | 命令リストを生成することによるflashコンテンツのhtmlコンテンツへの変換 | |
Laghari et al. | The state of art and review on video streaming | |
CN109688462A (zh) | 降低设备功耗的方法、装置、电子设备及存储介质 | |
Kim et al. | Region of interest–based segmented tiled adaptive streaming using head-mounted display tracking sensing data | |
KR20160131827A (ko) | 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR20160131829A (ko) | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 알파 값을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
TW201216148A (en) | Remote management system and the method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |