CN101330621A - 统一的视频解码和显示 - Google Patents

统一的视频解码和显示 Download PDF

Info

Publication number
CN101330621A
CN101330621A CNA2008101269927A CN200810126992A CN101330621A CN 101330621 A CN101330621 A CN 101330621A CN A2008101269927 A CNA2008101269927 A CN A2008101269927A CN 200810126992 A CN200810126992 A CN 200810126992A CN 101330621 A CN101330621 A CN 101330621A
Authority
CN
China
Prior art keywords
frame
frame buffer
video
compressed
decoding
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
Application number
CNA2008101269927A
Other languages
English (en)
Other versions
CN101330621B (zh
Inventor
贾伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN101330621A publication Critical patent/CN101330621A/zh
Application granted granted Critical
Publication of CN101330621B publication Critical patent/CN101330621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Abstract

本发明描述用于解码和显示视频数据的实施例。这些实施例中的若干实施例利用统一的帧缓冲器管理系统,以有助于在解码和显示经压缩视频时更好地进行存储器管理。一个途径描述一种解码和显示经压缩视频数据的方法。所述方法涉及接收经压缩视频帧,和分配帧缓冲器以用于解码所述经压缩视频帧。指派帧识别符给所述所分配的帧缓冲器。将所述经压缩视频帧解码到所述帧缓冲器中,和将所述帧识别符传递到显示器模块。

Description

统一的视频解码和显示
技术领域
本发明的实施例涉及解码经压缩视频信息。
背景技术
视频压缩方案的常见方法涉及跟踪视频的一个帧与下一帧之间的变化。并非存储视频的每一帧的独立、完整的图像,多数视频压缩标准涉及提供一个或一个以上参考帧,且通过注意这些参考帧如何改变而建立大多数帧。
举例来说,在一些较普及的视频压缩标准中,单个完整图像在序列的开始处编码;所述完整图像被描述为帧内帧(I帧)。此I帧提供对一个或一个以上预测帧(P帧)的参考,其依赖于先前解码的帧(I帧或早期的P帧中的任一者)。大多数编码视频将由双向预测帧(B帧)构成,其依赖于若干先前解码的参考帧(I帧或P帧)。
参考帧的准确使用随着不同的视频编码方案而变化。举例来说,在MPEG-2编码方案下,仅两个最新近的参考帧可用作参考帧;然而,在H.264编码方案下,可在长得多的时间段内需要参考帧,且因此需要保留参考帧。
目前,解码经压缩视频是平台特定任务。用以例如在计算机上回放视频的解码器通常以将其锁定到其写入的平台的方式而写入,例如将特定存储器处理任务建立于解码器中。因此,开发用于不同平台的解码器(例如,便携式媒体回放装置)通常涉及完全重写解码器。
发明内容
本文所描述的是用于解码和显示视频数据的实施例。这些实施例中的若干者利用统一的帧缓冲器管理系统以有助于在解码和显示经压缩视频中的较佳存储器管理。一种方法描述解码和显示经压缩视频数据的方法。所述方法涉及接收经压缩视频帧,和分配帧缓冲器用于解码经压缩视频帧。将帧识别符指派给所分配的帧缓冲器。将经压缩视频帧解码到帧缓冲器中,且将帧识别符传递到显示器模块。
另一方法涉及用于视频解码和显示的系统。所述系统包括播放器模块,其用于接收经压缩视频数据的位流且用于在系统中传递信息。所述系统还包括用于解码经压缩视频数据的核心解码器。包括显示器模块以用于输出视频流。还包括帧缓冲器管理器以用于在帧缓冲器模块内分配帧缓冲器。
在另一实施例中,描述一种操作帧缓冲器管理器的方法。所述方法涉及接收帧缓冲器的请求。接着,确定不需要的帧缓冲器是否可用于再循环;如果所述不需要的帧缓冲器可用,那么使其再循环用作所请求的帧缓冲器。如果不需要的帧缓冲器不可用,那么从可用的存储器分配所请求的帧缓冲器。
附图说明
并入本说明书中并形成本说明书的一部分的附图说明本发明的实施例,并连同描述内容一起用于解释本发明的原理:
图1是可在其上实施本发明的实施例的示范性计算机系统的方框图。
图2是根据一个实施例的示范性位流的描述。
图3是根据一个实施例的用于位流的解码顺序和显示顺序的描述。
图4是根据一个实施例的用于视频解码和显示的系统的方框图。
图5是根据一个实施例的解码和显示经压缩视频数据的示范性过程的流程图。
图6是根据一个实施例的帧缓冲器管理器的操作的示范性过程的流程图。
图7是根据一个实施例的解码和显示经压缩视频数据的示范性过程的数据流程图。
具体实施方式
现将详细参考本发明的若干实施例。虽然将结合替代实施例来描述本发明,但应了解并不期望将本发明限于这些实施例。相反,本发明期望涵盖可包括在如由所附权利要求书所界定的本发明的精神和范围内的替代、修改和均等物。
此外,在以下详细描述中,陈述众多具体细节以便提供对所主张标的物的全面理解。然而,所属领域技术人员应认识到可在没有这些具体细节或其均等物的情况下实践实施例。在具它情况下,未详细描述众所周知的方法、程序、组件和电路以便不会不必需地模糊标的物的方面和特征。
在过程或方法方面呈现和论述下文的详细描述的部分。尽管在描述本方法的操作的本文的图(例如,图5)中揭示方法的步骤和定序,但所述步骤和定序是示范性的。实施例良好适用于执行本文的图的流程图中所述的步骤的各种其它步骤或变化,且以不同于本文所描绘和描述序列的序列。
在程序、步骤、逻辑块、处理和关于可在计算机存储器上执行的数据位的操作的其它符号表示方面呈现详细描述的一些部分。这些描述和表示是数据处理领域技术人员用以将其工作的实质最有效传达给所属领域其他技术人员的手段。本文中程序、计算机执行步骤、逻辑块、过程等通常被认为是导致所要结果的步骤或指令的自一致序列。所述步骤是需要物理量的物理操纵的那些步骤。通常,尽管并非必需的,但这些量采用能够在计算机系统中存储、转移、组合、比较和另外操纵的电或磁信号的形式。主要由于通常使用的原因,已经证明有时将这些信号称作位、值、元素、符号、字符、项、数字等是方便的。
然而,应牢记所有这些和类似的术语应与适当的物理量相关联且仅为应用于这些量的便利标签。除非另有从以下论述显而易见的明确陈述,否则将了解在本发明中,利用例如“存取”、“写入”、“包括”、“存储”、“传输”、“横穿”、“关联”、“识别”等术语的论述始终指代计算机系统或类似电子计算装置的动作和过程,其操纵表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置内的物理量的其它数据。
计算装置通常包括至少某一形式的计算机可读媒体。计算机可读媒体可为可由计算装置存取的任何可用媒体。举例来说(而非限制),计算机可读媒体可包含计算机存储媒体和通信媒体。计算机存储媒体包括易失性和非易失性、可移除和不可移除媒体,其以任何方法或技术来实施以用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息。计算机存储媒体包括(但不限于)RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CD-ROM、数字多功能盘或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置、或可用以存储所要信息且可由计算装置存取的任何其它媒体。通信媒体通常包含经调制数据信号(例如载波或其它传送机构)中的计算机可读指令、数据结构、程序模块或其它数据,且包括任何信息传递媒体。术语“经调制数据信号”意味着以下信号:其具有以致使对所述信号中的信息进行编码的方式设定或改变的一个或一个以上特性。举例来说(而非限制),通信媒体包括例如有线网络或直接有线连接等有线媒体,和例如声学、RF、红外和其它无线媒体等无线媒体。上述中的任何的组合也应包括在计算机可读媒体的范围内。
可在计算机可执行指令的一般情况中描述一些实施例,例如程序模块、可由一个或一个以上计算机或其它装置执行的指令。通常,程序模块包括例程、程序、目标、组件、数据结构等,其执行特定任务或实施特定抽象数据类型。程序模块的功能性通常可根据需要组合或分布于各种实施例中。
尽管本文所描述的实施例可参考作为计算机系统的离散组件的CPU和GPU,但所属领域技术人员将认识到CPU和GPU可集成在单个装置中,且CPU和GPU可共享例如指令逻辑、缓冲器、功能单元等的各种资源;或可为图形和通用操作提供单独的资源。因此,本文描述为与GPU相关联的电路和/或功能性中的任何或全部也可实施于合适配置的CPU中或由其执行。
此外,虽然本文描述的实施例可参考GPU,但应了解本文描述的电路和/或功能性也可实施于其它类型的处理器中,例如通用或其它专用协处理器,或实施于CPU中。
基础计算系统
现参看图1,其展示示范性计算机系统112的方框图。应了解,本文所描述的计算机系统112说明可在其上有利实施实施例的操作平台的示范性配置。然而,在本发明的范围内,也可使用具有不同配置的其它计算机系统来替代计算机系统112。即,计算机系统112可包括不同于结合图1所描述的那些元件的元件。此外,可在可经配置以使其能够不仅为类似计算机系统112的计算机系统的任何系统上实践实施例。应了解可在许多不同类型的计算机系统112上实践实施例。系统112可实施为例如台式计算机或服务器计算机系统,其具有耦合到专用图形渲染GPU的强大的通用CPU。在所述实施例中,可包括组件以添加外围总线、专用音频/视频组件、IO装置等。
类似地,系统112可实施为手持装置(例如,手机等)或机顶视频游戏控制台装置,例如可购自华盛顿州雷蒙德市的微软公司(Microsoft Corporation of Redmond,Washington)的
Figure A20081012699200081
或可购自日本东京市的索尼计算机娱乐公司(Sony ComputerEntertainment Corporation of Tokyo,Japan)的
Figure A20081012699200082
系统112也可实施为“系统芯片”,其中计算装置的电子器件(例如,组件101、103、105、106等)全部含于单个集成电路电路小片中。实例包括具有显示器的手持仪器、汽车导航系统、便携式娱乐系统等。
计算机系统112包含:地址/数据总线100,其用于传送信息;中央处理器101,其与总线100耦合以用于处理信息和指令;易失性存储器单元102(例如,随机存取存储器[RAM]、静态RAM、动态RAM等),其与总线100耦合以用于存储用于中央处理器101的信息和指令;和非易失性存储器单元103(例如,只读存储器[ROM]、可编程ROM、快闪存储器等),其与总线100耦合以存储用于处理器101的静态信息和指令。此外,计算机系统112也包含用于存储信息和指令的数据存储装置104(例如,硬盘驱动器)。
计算机系统112也包含可选图形子系统105、可选字母数字输入装置106、可选光标控制或指向装置107和信号通信接口(输入/输出装置)108。可选字母数字输入装置106可向中央处理器101传送信息和命令选择。可选光标控制或指向装置107耦合到总线100以向中央处理器101传送用户输入信息和命令选择。同样耦合到总线100的信号通信接口(输入/输出装置)108可为串行端口。通信接口108也可包括无线通信机构。利用通信接口108,计算机系统112可在例如因特网或企业内部网(例如局域网)的通信网络上以通信方式耦合到其它计算机系统,或可接收数据(例如,数字电视信号)。计算机系统112还可包含图形子系统105,其用于(例如)通过在由视频电缆111连接的附接显示器装置110上显示信息而将信息呈现给计算机用户。在其它实施例中,图形子系统105是单独的离散组件。在其它实施例中,图形子系统105并入于另一组件中。在其它实施例中,图形子系统105以其它方式包括于系统112中。
视频回放系统
在以下实施例中,描述视频解码和回放的模块化方法。在一个实施例中,描述帧缓冲器管理器的使用。此帧缓冲器管理器通过从视频回放系统的核心解码器组件中移除缓冲器分配任务而允许较有效地利用视频回放中的存储器缓冲器。
描述另一方法,其中视频回放系统中的平台特定元件与核心视频解码器分隔开。此方法在发展视频回放装置时提供许多优点。第一,此分隔允许统一的视频回放方法:视频播放器的平台特定元件是一致的,且仅核心解码器需要改变,以便支持不同的视频压缩方案。第二,因为核心解码器不再是平台特定的,所以发展用于不同平台的视频回放装置无需涉及再建解码器。
应了解,虽然以下实施例在帧的方面描述操作,但实施例良好适用于涉及视频数据的其它呈现的应用。举例来说,在涉及H.264编码方案的实施例中,可使用切片(slice)而非需要全部数据帧。
视频位流
现参看图2,描述根据一个实施例的示范性位流200。虽然位流200展示为并入特定、所列举特征、元素和排序,但应了解实施例良好适用于涉及额外、较少或不同特征、元素或布置的应用。具体而言,应了解,如位流200中所示的帧数据的编码顺序希望仅为示范性和说明性的。
在一些实施例中,以二进制数据流(例如,类似于位流200的位流)的形式将经压缩视频数据传递到视频回放系统或模块。在所述实施例中,位流可以一些将用以解码经压缩视频信息的识别标头信息(例如,识别压缩/解压缩方案(编码解码器)或与数字权利管理(DRM)相关联的一些信息而开始。
将位流200展示为以编码I帧201开始。如先前所论述,帧内帧(I帧)表示完整图像;可将其视为与静止图像同义。位流200以经编码P帧202、经编码B帧203、经编码B帧204、经编码P帧205和经编码B帧206继续。
被呈现以位流200的视频回放装置将从位流200提取I帧211。接着,视频回放装置将解码P帧212。P帧212是预测帧,且依赖于另一参考帧;如箭头221所示,P帧212依赖于I帧211。在解码B帧213(双向预测帧)时,视频回放装置将参考两个参考帧,例如如箭头231所示的I帧211和如箭头232所示的P帧212。解码B帧214将需要类似参考帧,如由箭头241和242所示,而解码P帧215将需要参考仅单个先前参考帧,例如P帧212。
视使用中的编码解码器而定,可需要不同的参考帧来解码帧。举例来说,在MPEG-2编码解码器中,仅需要两个最新近的参考帧。举例来说,参考位流200,一旦P帧215已经解码,那么I帧211不再是必需的;P帧212和P帧215是两个最新近的参考帧。相反,在H.264方案下,不存在可丢弃参考帧的确定点;直至参考帧已被明确指示为不必需的,其应仍可用于帮助解码未来帧。在H.264下,例如,I帧211仍为必需的直至位流200中所编码的某数据指示其它情况,不管随后已解码了多少P帧。
解码顺序和回放顺序
在许多视频压缩方案下,从位流解码帧的顺序并不与由视频回放装置显示帧的顺序相同。举例来说,必须在试图解码B帧本身之前解码B帧的参考帧,但回放顺序可将参考帧中的一者放在B帧之后。
参看图3,根据一个实施例,呈现用于位流300的解码顺序310和显示顺序320。虽然图3描绘特定、所列举特征、元素和排序,但应了解实施例良好适用于涉及额外、较少或不同特征、元素或布置的应用。具体而言,应了解,如图3中所示的帧数据的编码和解码以及回放顺序希望仅为示范性和说明性的。
在所描绘实施例中的位流300展示相当于八个帧的数据:I帧301、P帧302、B帧303、B帧304、P帧305、B帧306、B帧307和P帧308。如解码顺序310所示,视频回放装置将以位流300所呈现的顺序来解码这些帧。在一些实施例中,将实时解码位流300,例如一接收到构成I帧301的数据,视频回放装置就将解码I帧301。
如所描绘的实施例中所示,含于位流300中的帧的显示顺序不同于解码顺序。如由显示顺序320所示,首先显示I帧301,接着B帧303、B帧304、P帧302、B帧306、B帧307和P帧305。解码顺序与显示顺序之间的这个区别具有若干结果。
第一,如果经压缩视频将被解压缩和实时显示,那么经解码帧需要在显示之前缓冲,例如通过延迟显示一个解码周期,如由时间图399所示。图3中所描绘的一个帧延迟允许解码和显示帧保持同步:即,每当显示P帧时,解码下一P帧。
第二,因为参考帧(例如,P帧)以不同于其解码时的顺序而显示,所以每一P帧需要同时可用于视频回放装置的解码部分和视频回放装置的显示部分。举例来说,如图3中所示,P帧302在时间1解码,但直至时间4才显示。同样在时间4,在解码P帧305时可能需要P帧302。
在处理所述第二结果时,通常利用两种方法中的一种。或者视频回放装置的显示器元件具有其自身分配的缓冲器(其中复制经解码参考帧直至要显示它时为止),或者解码器负责以回放顺序而不是以解码顺序转发经解码帧。第一种方法涉及存储器复制:经解码参考帧已存在于解码器所保持的缓冲器中,且拷贝到回放模块所使用的缓冲器。第二方法面临除了解码任务以外的对于解码器的额外责任。
用于视频解码和显示的系统
以下实施例描述用于视频解码和显示的系统。所描述系统允许对于视频解码和显示所引起若干问题的较统一且存储器有效的方法,例如由帧数据的解码顺序与显示顺序方面的差异引起的问题。
现参看图4,描述根据一个实施例的用于视频解码和显示的系统400。虽然系统400经描绘为包括特定、所列举特征、元素和布置,但应了解实施例良好适用于涉及额外、较少、或不同特征、元素、或布置的应用。此外,应了解在其它实施例中,归因于系统400的元件的功能性可组合成较少元件或在额外元件上扩展。
系统400并入有播放器模块410、核心解码器420、显示器模块430、帧缓冲器管理器440和帧缓冲器模块450。在所描绘实施例中,播放器模块410有助于在系统400内的其它模块之间传递信息。核心解码器420提供必需解码功能性以解码(例如)经由位流401接收的经压缩视频数据。在一些实施例中,可利用多个核心解码器420以支持多个视频压缩方案;或者,在一些实施例中,单个核心解码器420可支持若干视频压缩方案。在所描绘实施例中,显示器模块430以适当回放顺序输出经解码帧信息,例如通过输出到视频流499。
系统400还展示为包括帧缓冲器管理器440。帧缓冲器管理器440用以分配和管理对帧缓冲器模块450的存取。此外,在一些实施例中,帧缓冲器管理器440(例如)在显示器模块430已将存储在帧缓冲器中的帧输出到视频流499之后再循环不需要的帧缓冲器。帧缓冲器模块450又用以存储信息,例如视频数据的经解码帧。在一些实施例中,结合单个帧缓冲器模块450而使用帧缓冲器管理器440(例如)通过消除对核心解码器与显示器模块之间的参考帧的冗余拷贝的需要而增加了系统400的有效操作。
另外,在一些实施例中,系统400的功能性已被分离,使得核心解码器420是与平台无关的。不同于传统的解码和回放模块,核心解码器420无需用平台特定动作来编程,例如存储器或缓冲器存取;而是,由播放器模块410、帧缓冲器管理器440和显示器模块430来执行平台相关动作。以此方式,通过允许完整的再使用核心解码器420而有助于额外解码和显示器装置的发展。
解码和显示经压缩视频数据的方法
现参看图5,描绘根据一个实施例的解码和显示经压缩视频数据的示范性方法的流程图500。
现参看步骤510,帧缓冲器管理器分配帧缓冲器以用于解码所接收的经压缩帧数据。在所描绘实施例中,帧缓冲器管理器提供对帧缓冲器的存取。由于每一新的经压缩帧(例如)通过播放器模块而接收,帧缓冲器被分配用于所述帧。此帧缓冲器可是新近分配的,或可是再循环的帧缓冲器,例如先前分配给帧的不再需要的帧缓冲器。在不同实施例中,在此步骤期间利用不同的方法。下文参看图6陈述一个所述实施例。
举例来说,参看图4,当经由位流401接收新帧时,播放器模块410请求来自帧缓冲器管理器440的帧缓冲器分配。帧缓冲器管理器440为新帧分配帧缓冲器,且将指针返回到播放器模块410。
参看步骤520,将帧数据和帧缓冲器指针连同任何其它必需信息一起传递到核心解码器以用于解码。在一些实施例中,一旦已为所述帧分配帧缓冲器,就将经压缩帧信息连同所分配帧缓冲器的指针一起传递到核心解码器。核心解码器将参考任何适当的参考帧来解码经压缩帧数据。
继续上述实例,播放器模块410将经压缩帧数据连同所分配帧缓冲器的指针一起传递到核心解码器420。
参看步骤530,在解码后,核心解码器将帧相关信息返回到播放器模块。在一些实施例中,例如在利用H.264方案的情况下,核心解码器可需要为显示器模块提供信息来作为“提示”,以便指示哪些帧应以什么顺序显示。在所述实施例中,核心解码器可提供图像顺序号(POC)信息以指示定序。
此外,在一些实施例中,核心解码器维持内部帧缓冲器使用表(例如)以识别在何处存储参考帧。在一个所述实施例中,核心解码器还将提供更新的帧缓冲器使用表,以便识别可再循环的任何参考帧。在H.264方案下,如果参考帧不再是必需的,那么含于位流中的信息将如此指示;对于其它方案,参考帧可在解码预置数量的额外帧之后变得不必需。类似地,如果新近解码的帧是参考帧,那么其位置将被添加到核心解码器的帧缓冲器使用表。
继续上述实例,核心解码器420将帧相关信息输出到播放器410。核心解码器420还可输出POC信息。核心解码器420还可提供更新的帧缓冲器使用表,从而指示可再循环的任何帧缓冲器,和/或新近经解码的帧是否为参考帧。
现参看步骤540,播放器模块将相关信息传递到显示器模块。在一些实施例中,所述信息将包括存储经解码帧的帧缓冲器的指针。此外,在一些实施例中,播放器模块还可转发任何POC信息,以帮助显示器模块确定哪些帧以什么顺序而输出。
包括上述实例,播放器模块410向显示器模块430提供关于新近经解码帧的POC信息和存储经解码帧的帧缓冲器的指针。显示器模块430可接着在适当时间将经解码帧输出到视频流499。
帧缓冲器管理器的操作方法
现参看图6,描述根据一个实施例的帧缓冲器管理器的操作方法的流程图600。
现参看步骤610,接收对帧缓冲器的请求。在一些实施例中,所述请求将通过播放器模块在接收到来自经压缩视频位流的相当于一个帧的数据时来传输。举例来说,当对应于一个帧的经压缩数据经由位流401而被接收时,播放器模块410可将所述请求传输到帧缓冲器管理器440。
现参看步骤620,帧缓冲器管理器从显示器模块清求当前帧缓冲器使用。在一些实施例中,由于显示器模块显示(或消耗)存储在帧缓冲器中的经解码帧,所以那些帧缓冲器可再循环。在所描述实施例中,帧缓冲器管理器与显示器模块核查以确定一个或一个以上帧缓冲器是否准备好再循环。举例来说,帧缓冲器管理器440请求显示器模块430的当前帧缓冲器使用。
现参看步骤630,通过帧缓冲器管理器接收显示器模块的帧缓冲器使用。在一些实施例中,显示器模块可返回准备好再循环的帧缓冲器的列表,而非其当前帧缓冲器使用的完整列表。举例来说,显示器模块430将其当前帧缓冲器使用返回到帧缓冲器管理器440。
现参看步骤640,帧缓冲器管理器再循环未使用的帧缓冲器以由新帧使用;如果没有所述未使用的帧缓冲器准备好再循环,那么帧缓冲器管理器为新帧分配新的帧缓冲器。在一些实施例中,新近指派的帧缓冲器与帧识别符(帧ID)相关联,所述帧识别符用作帧缓冲器的存储器地址的指针。帧缓冲器管理器可维持这些帧ID与所分配帧缓冲器之间的映射表。
此外,在一些实施例中,可存在帧缓冲器极限。在所述实施例中,如果帧缓冲器使用达到最大极限,那么帧缓冲器管理器可循环回步骤620,且重复步骤620和630直至帧缓冲器变得可用为止。所述情况可在(例如)帧被解码快于其被显示时出现。
举例来说,帧缓冲器管理器440再循环由显示器模块430先前使用的帧缓冲器以用于新近接收的帧,且使帧ID与所述帧缓冲器相关联。此帧ID返回到播放器模块410。
现参看步骤650,帧缓冲器管理器接收更新的核心解码器帧缓冲器使用信息。在一些实施例中,当核心解码器不再需要存储在帧缓冲器中的参考帧时,其可更新其帧缓冲器使用信息。不需要的帧缓冲器可接着由帧缓冲器管理器来再循环,例如通过将帧缓冲器添加到可用帧缓冲器的内部列表,且稍后将帧缓冲器指派给新帧。
举例来说,在核心解码器420解码经解压缩的帧之后,其将更新的帧缓冲器使用信息传递到播放器模块410,从而指示不再需要存储在帧缓冲器中的参考帧。播放器模块410接着将此更新的帧缓冲器使用信息传递到帧缓冲器管理器440,其更新可用帧缓冲器的内部列表以指示帧缓冲器可再循环。
解码视频的一个帧的数据流程图
现参看图7,描述根据一个实施例的示范性数据流程图700。数据流程图700描述在解码经压缩视频的一个帧时视频回放装置的模块之间的一系列交互。
当经压缩视频的帧到达视频回放装置时,例如播放器模块710的播放器模块将其接收。一接收到经压缩视频数据的帧,播放器模块就将对帧缓冲器的请求发送到帧缓冲器管理器740,如箭头701所示。
在所述实施例中,帧缓冲器管理器740一接收到所述请求就与显示器模块730核查其当前帧缓冲器使用,如箭头702所示。显示器模块730以其当前帧缓冲器使用来作出响应,如箭头703所示。
帧缓冲器管理器740为新近接收的帧分配帧缓冲器。如果帧缓冲器存在,其并未由核心解码器或显示器模块使用,那么帧缓冲器管理器740将再循环现存帧缓冲器。否则,帧缓冲器管理器740将分配新的帧缓冲器,除非已达到帧缓冲器使用的极限。在所述后者状况下,帧缓冲器管理器740可继续轮询显示器模块730,直至现存帧缓冲器准备好再循环为止。
帧缓冲器管理器740将指派帧识别符(帧ID)给所分配的帧缓冲器,并将帧ID传回播放器模块710,如箭头704所示。
播放器模块710将视频数据的经压缩帧和帧ID传递到核心解码器720,如箭头705所示。核心解码器720将解码数据的经压缩帧,且将经解压缩数据写入所分配帧缓冲器。核心解码器720可需要与帧缓冲器管理器740核查,以便将指派的帧ID映射到存储器位置,如箭头791所示。
在解码之后,核心解码器720将返回任何帧相关信息(例如POC数据)和任何更新的帧缓冲器使用到播放器模块710,如箭头706所示。
在所述实施例中,播放器模块710将帧相关信息和帧ID传递到显示器模块(例如,显示器模块730),如箭头707所示。显示器模块730将使用帧相关信息来确定解码帧的回放顺序。显示器模块730可需要参考帧缓冲器管理器740,以便将指派的帧ID映射到存储经解码帧的存储器位置,如箭头792所示。
播放器模块710还可将核心解码器的帧缓冲器使用信息传递到帧缓冲器管理器740,如箭头708所示。帧缓冲器管理器740可使用核心解码器的帧缓冲器使用信息来更新可用帧缓冲器的内部列表。
因此描述本发明的实施例。虽然已在特定实施例中描述了本发明,但应了解本发明不应被解释为限于所述实施例,而应解释为根据所附权利要求书。

Claims (20)

1.一种解码和显示经压缩视频数据的方法,其包含:
存取经压缩视频帧;
分配帧缓冲器以用于解码所述经压缩视频帧;
指派帧识别符给所述帧缓冲器;
将所述经压缩视频帧解码到所述帧缓冲器中;以及
将所述帧识别符传递到显示器模块。
2.根据权利要求1所述的方法,其进一步包含:
接收帧相关信息。
3.根据权利要求2所述的方法,其中所述帧相关信息包含图像顺序号(POC)信息。
4.根据权利要求1所述的方法,其中所述分配包含:
存取对所述帧缓冲器的请求;
从所述显示器模块请求当前帧缓冲器使用;
从所述显示器模块接收所述当前帧缓冲器使用;以及
倘若由所述当前帧缓冲器使用识别的可用帧缓冲器存在,那么再循环所述可用帧缓冲器。
5.根据权利要求4所述的方法,其进一步包含:
倘若所述可用帧缓冲器不存在,那么从所分配存储器分配所述帧缓冲器。
6.根据权利要求1所述的方法,其进一步包含:
接收更新的参考帧缓冲器使用列表,其包含多个帧识别符的列表,其中所述多个帧识别符中的每一者与参考帧缓冲器相关联。
7.根据权利要求6所述的方法,其进一步包含:
参考所述更新的参考帧缓冲器使用列表来更新可用帧缓冲器的列表。
8.根据权利要求7所述的方法,其中所述分配包含:
从可用帧缓冲器的所述列表中选择所述帧缓冲器;以及
使帧识别符与所述帧缓冲器相关联。
9.一种用于视频解码的系统,其包含:
播放器模块,其用于接收经压缩视频数据的位流且用于传递信息;
核心解码器,其耦合到所述播放器模块以用于解码经压缩视频数据;
显示器模块,其耦合到所述播放器模块以用于输出视频流;
帧缓冲器管理器,其耦合到所述播放器模块以用于分配多个帧缓冲器;以及
帧缓冲器模块,其耦合到所述播放器模块且包含所述多个帧缓冲器。
10.根据权利要求9所述的系统,其中经压缩视频数据的所述位流包含多个经压缩视频帧。
11.根据权利要求10所述的系统,其中所述播放器模块经配置以在接收到所述多个经压缩视频帧中的一者时从所述帧缓冲器管理器请求所述多个帧缓冲器中的一者,且其中所述帧缓冲器管理器进一步经配置以分配所述多个帧缓冲器中的所述一者且使帧识别符与所述多个帧缓冲器中的所述一者相关联。
12.根据权利要求11所述的系统,其中所述播放器模块进一步经配置以将所述多个经压缩视频帧中的所述一者和所述帧识别符传递到所述核心解码器。
13.根据权利要求12所述的系统,其中所述播放器模块进一步经配置以从所述核心解码器接收帧信息,且将所述帧信息和所述帧识别符传递到所述显示器模块。
14.根据权利要求9所述的系统,其中所述帧缓冲器管理器经配置以在接收到对所述多个帧缓冲器中的一者的请求时在可用帧缓冲器存在的情况下再循环所述可用帧缓冲器,否则分配新的帧缓冲器。
15.根据权利要求9所述的系统,其中所述经压缩视频数据包含大体上根据H.264视频标准版本的数据。
16.根据权利要求9所述的系统,其进一步包含:
多个核心解码器,其耦合到所述播放器模块,其中所述多个核心解码器用于根据多个不同视频标准来解码经压缩视频数据。
17.根据权利要求9所述的系统,其中所述核心解码器是与平台无关的。
18.一种帧缓冲器管理器的操作方法,其包含:
接收对帧缓冲器的请求;
确定不需要的帧缓冲器是否可用于再循环;
如果所述不需要的帧缓冲器可用,那么再循环所述不需要的帧缓冲器以用作所述帧缓冲器;以及
如果所述不需要的帧缓冲器不可用,那么从可用存储器分配所述帧缓冲器。
19.根据权利要求18所述的方法,其中所述确定包含:
从显示器模块请求当前帧缓冲器使用;
从所述显示器模块接收所述当前帧缓冲器使用;以及
从核心解码器接收更新的核心解码器帧缓冲器使用。
20.根据权利要求18所述的方法,其进一步包含:
更新多个可用帧缓冲器的列表。
CN200810126992.7A 2007-06-20 2008-06-20 解码和显示经压缩视频数据的方法和系统 Active CN101330621B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/821,069 2007-06-20
US11/821,069 US8477852B2 (en) 2007-06-20 2007-06-20 Uniform video decoding and display

Publications (2)

Publication Number Publication Date
CN101330621A true CN101330621A (zh) 2008-12-24
CN101330621B CN101330621B (zh) 2014-09-24

Family

ID=40136462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810126992.7A Active CN101330621B (zh) 2007-06-20 2008-06-20 解码和显示经压缩视频数据的方法和系统

Country Status (5)

Country Link
US (1) US8477852B2 (zh)
JP (1) JP4836010B2 (zh)
KR (2) KR101034080B1 (zh)
CN (1) CN101330621B (zh)
TW (1) TWI393065B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635938A (zh) * 2011-03-25 2014-03-12 爱立信(中国)通信有限公司 在流传输客户端中用于处理视频流传输数据的方法、流传输客户端、计算机程序和计算机程序产品
CN103795973A (zh) * 2012-10-30 2014-05-14 德州仪器公司 用于非实时操作系统中的音频/视频同步的抖动取消
CN103843341A (zh) * 2011-09-27 2014-06-04 瑞典爱立信有限公司 用于管理视频解码过程中的画面的解码器及其方法
CN110659225A (zh) * 2018-06-28 2020-01-07 华为技术有限公司 内存管理方法以及相关装置
CN114513672A (zh) * 2022-03-07 2022-05-17 芯原微电子(北京)有限公司 多格式编码参考帧统一管理方法、装置、设备和介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8427494B2 (en) * 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8726125B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Reducing interpolation error
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8849051B2 (en) 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8502709B2 (en) * 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US9307267B2 (en) 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
US20100225655A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Concurrent Encoding/Decoding of Tiled Data
US20100226441A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
US8638337B2 (en) * 2009-03-16 2014-01-28 Microsoft Corporation Image frame buffer management
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
KR20130005167A (ko) * 2011-07-05 2013-01-15 삼성전자주식회사 영상 신호 디코딩 장치 및 그것의 디코딩 방법
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
WO2013162980A2 (en) * 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
KR102280170B1 (ko) * 2013-10-04 2021-07-21 삼성전자주식회사 프레임의 특성에 따라 부하를 분배하는 방법 및 장치

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163136A (en) 1989-11-13 1992-11-10 Archive Corporation System for assembling playback data frames using indexed frame buffer group according to logical frame numbers in valid subcode or frame header
US5189671A (en) 1991-12-20 1993-02-23 Raynet Corporation Apparatus and method for formatting variable length data packets for a transmission network
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
JP3005385B2 (ja) 1993-03-22 2000-01-31 鐘紡株式会社 ハフマン復号化回路
KR100283710B1 (ko) 1993-11-30 2001-03-02 제이 엘. 차스킨 전송 데이타 패킷 어셈블링 시스템내의 데이타 워드 인디케이터
JPH0818953A (ja) * 1994-07-01 1996-01-19 Hitachi Ltd 動画像復号表示装置
US6047357A (en) 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US5774206A (en) 1995-05-10 1998-06-30 Cagent Technologies, Inc. Process for controlling an MPEG decoder
JPH09261647A (ja) 1996-03-21 1997-10-03 Matsushita Electric Ind Co Ltd 動画再生制御方法および動画再生制御装置
US6041403A (en) 1996-09-27 2000-03-21 Intel Corporation Method and apparatus for generating a microinstruction responsive to the specification of an operand, in addition to a microinstruction based on the opcode, of a macroinstruction
US5821886A (en) 1996-10-18 1998-10-13 Samsung Electronics Company, Ltd. Variable length code detection in a signal processing system
US6298370B1 (en) 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
KR100750520B1 (ko) 1997-09-25 2007-08-21 소니 가부시끼 가이샤 부호화 스트림 생성 장치 및 방법, 데이터 전송 시스템 및 방법, 편집 시스템 및 방법
US6246347B1 (en) 1997-10-27 2001-06-12 Philips Electronics North America Corporation Controller for a variable length decoder
KR100252866B1 (ko) 1997-12-13 2000-04-15 김영환 반도체소자 및 이의 제조방법
CN1183778C (zh) 1998-02-13 2005-01-05 松下电器产业株式会社 图象解码装置及记录媒体
US6008745A (en) 1998-02-17 1999-12-28 Sun Microsystems, Inc. Variable length decoding using lookup tables
JP3014997B2 (ja) 1998-02-26 2000-02-28 鐘紡株式会社 可変長符号復号装置
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
CN1306697A (zh) 1998-06-25 2001-08-01 赤道技术公司 可变长度编码与解码的处理电路和处理方法
JP2000049621A (ja) 1998-07-31 2000-02-18 Hitachi Ltd ハフマン復号化方法及びデータ処理装置
JP2000059234A (ja) 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
JP3711762B2 (ja) 1998-09-16 2005-11-02 富士ゼロックス株式会社 画像符号化装置および方法
US6560674B1 (en) 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
US6434649B1 (en) 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6654539B1 (en) * 1998-10-26 2003-11-25 Sony Corporation Trick playback of digital video data
EP1021048A3 (en) 1999-01-14 2002-10-02 Kabushiki Kaisha Toshiba Digital video recording system and its recording medium
US7327791B1 (en) 1999-02-22 2008-02-05 Mitsubishi Denki Kabushiki Kaisha Video decoding method performing selective error concealment and resynchronization
US6480489B1 (en) 1999-03-01 2002-11-12 Sun Microsystems, Inc. Method and apparatus for data re-assembly with a high performance network interface
US6339658B1 (en) 1999-03-09 2002-01-15 Rockwell Science Center, Llc Error resilient still image packetization method and packet structure
JP3493574B2 (ja) 1999-03-11 2004-02-03 Necエレクトロニクス株式会社 逆量子化装置及び逆量子化方法
JP2000324484A (ja) * 1999-05-13 2000-11-24 Hitachi Ltd 画像データ処理装置
EP1089473A1 (en) 1999-09-28 2001-04-04 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Apparatus and method for time-aligning data frames of a plurality of channels in a telecommunication system
US7495669B2 (en) 2002-12-26 2009-02-24 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US6552673B2 (en) 2000-02-25 2003-04-22 Texas Instruments Incorporated Efficient table access for reversible variable length code decoding using a hash function
JP2001285861A (ja) 2000-03-29 2001-10-12 Mitsubishi Electric Corp 画像信号符号化装置
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
JP3662171B2 (ja) 2000-06-05 2005-06-22 三菱電機株式会社 符号化装置及び符号化方法
US6560690B2 (en) 2000-12-29 2003-05-06 Intel Corporation System and method for employing a global bit for page sharing in a linear-addressed cache
US6543023B2 (en) 2001-02-05 2003-04-01 Agere Systems Inc. Parity-check coding for efficient processing of decoder error events in data storage, communication and other systems
US6587057B2 (en) 2001-07-25 2003-07-01 Quicksilver Technology, Inc. High performance memory efficient variable-length coding decoder
US6981073B2 (en) 2001-07-31 2005-12-27 Wis Technologies, Inc. Multiple channel data bus control for video processing
KR20030016859A (ko) 2001-08-22 2003-03-03 한국전자통신연구원 허프만 부호의 복호화 방법
US6963612B2 (en) 2001-08-31 2005-11-08 Stmicroelectronic, Inc. System for detecting start codes in MPEG video streams and method of operating the same
US6696992B1 (en) 2001-10-02 2004-02-24 Allan Chu Efficient data encoding and decoding processes
US6563440B1 (en) 2001-10-19 2003-05-13 Nokia Corporation Apparatus and method for decoding Huffman codes using leading one/zero string length detection
US6650996B1 (en) 2001-12-20 2003-11-18 Garmin Ltd. System and method for compressing data
US7286543B2 (en) 2002-02-27 2007-10-23 International Business Machines Corporation Memory system with apparatus and method to enable balanced bandwidth utilization
US6891976B2 (en) 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7158539B2 (en) 2002-04-16 2007-01-02 Microsoft Corporation Error resilient windows media audio coding
TWI310137B (en) 2002-04-19 2009-05-21 Microsoft Corp Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
US6563441B1 (en) 2002-05-10 2003-05-13 Seiko Epson Corporation Automatic generation of program logic to decode variable-length codes
JP3671025B2 (ja) 2002-05-22 2005-07-13 株式会社リコー 光走査装置及び画像形成装置
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
JP4562999B2 (ja) * 2002-07-11 2010-10-13 パナソニック株式会社 画像復号化方法および画像復号化装置
JP4197320B2 (ja) 2002-07-15 2008-12-17 シーメンス アクチエンゲゼルシヤフト 構造化された文章、特にxml文章の符号化/復号化のための方法及び装置
KR100504471B1 (ko) * 2002-08-08 2005-08-03 엘지전자 주식회사 비디오 디코딩 시스템
US6825782B2 (en) 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US6906647B2 (en) 2002-09-20 2005-06-14 Ntt Docomo, Inc. Method and apparatus for arithmetic coding, including probability estimation state table creation
JP2004135067A (ja) * 2002-10-10 2004-04-30 Seiko Epson Corp 動画像再生処理方法、動画像再生装置および動画像再生処理プログラム
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
US7012963B2 (en) 2002-11-14 2006-03-14 Opentv, Inc. Positioning of images in a data stream
US7069407B1 (en) 2002-12-20 2006-06-27 Cypress Semiconductor Corporation Method and apparatus for a multi-channel high speed framer
FR2849327A1 (fr) * 2002-12-20 2004-06-25 St Microelectronics Sa Procede et dispositif de decodage audio/video, circuit pilote video et boitier decodeur l'incorporant
WO2004066635A1 (ja) 2003-01-17 2004-08-05 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法および動画像復号化方法
US7627042B2 (en) 2003-01-23 2009-12-01 Ittiam Systems (P) Ltd. System, method, and apparatus for error recovery in coded video signals
KR100539923B1 (ko) 2003-02-10 2005-12-28 삼성전자주식회사 화상통화시 화자의 영상을 구분하여 차등적 부호화할 수있는 비디오 엔코더 및 이를 이용한 비디오신호의 압축방법
CN100568964C (zh) 2003-02-18 2009-12-09 诺基亚有限公司 图像解码方法
KR100584579B1 (ko) * 2003-04-21 2006-05-30 삼성전자주식회사 광주사 장치
JP2004364211A (ja) 2003-06-09 2004-12-24 Matsushita Electric Ind Co Ltd 動画像復号化装置
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
TWI240560B (en) 2003-12-03 2005-09-21 Via Tech Inc Control device, system and method for reading multi-pixel
US7606313B2 (en) 2004-01-15 2009-10-20 Ittiam Systems (P) Ltd. System, method, and apparatus for error concealment in coded video signals
EP1578131A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Encoding/decoding methods and systems, computer program products therefor
DE502004006570D1 (de) * 2004-04-15 2008-04-30 Tektronix Int Sales Gmbh Verfahren zur Konfiguration einer Filtervorrichtung für einen in Frames organisierten Datenstrom, und Protokolltester
US7113115B2 (en) 2004-06-30 2006-09-26 Intel Corporation Variable length code table look ups
US7074153B2 (en) 2004-08-18 2006-07-11 General Motors Corporation Planetary transmissions having three gear sets and input clutches
US7132963B2 (en) 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
TWI245548B (en) * 2004-10-20 2005-12-11 Inst Information Industry Method and device for video decoding
US7933336B2 (en) 2004-11-30 2011-04-26 Humax Co., Ltd. Image down-sampling transcoding method and device
US7817900B2 (en) * 2005-06-30 2010-10-19 Microsoft Corporation GPU timeline with render-ahead queue
US7432835B2 (en) 2005-07-05 2008-10-07 Matsushita Electric Industrial Co., Ltd. Variable length decoding method and device
US7119723B1 (en) 2005-07-28 2006-10-10 Texas Instruments Incorporated Decoding variable length codes while using optimal resources
US7129862B1 (en) 2005-07-29 2006-10-31 Texas Instruments Incorporated Decoding bit streams encoded according to variable length codes
US7372378B2 (en) 2005-12-01 2008-05-13 Nvidia Corporation Efficient decoding of n-tuple variable bit length symbols
US7372379B1 (en) 2006-03-28 2008-05-13 Nvidia Corporation Method and system for decoding N-tuple variable length code
US7324026B2 (en) 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US7881582B2 (en) * 2006-06-12 2011-02-01 International Business Machines Corporation Slowing display of digital video
US7975120B2 (en) * 2006-12-27 2011-07-05 Freescale Semiconductor, Inc. Dynamic allocation of message buffers
CN101017574A (zh) 2007-02-16 2007-08-15 上海广电集成电路有限公司 一种适于jpeg码流的哈夫曼解码方法
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635938A (zh) * 2011-03-25 2014-03-12 爱立信(中国)通信有限公司 在流传输客户端中用于处理视频流传输数据的方法、流传输客户端、计算机程序和计算机程序产品
CN103635938B (zh) * 2011-03-25 2016-09-07 爱立信(中国)通信有限公司 在流传输客户端中用于处理视频流传输数据的方法、流传输客户端
CN103843341A (zh) * 2011-09-27 2014-06-04 瑞典爱立信有限公司 用于管理视频解码过程中的画面的解码器及其方法
CN103843341B (zh) * 2011-09-27 2017-06-13 瑞典爱立信有限公司 用于管理视频解码过程中的画面的解码器及其方法
CN103795973A (zh) * 2012-10-30 2014-05-14 德州仪器公司 用于非实时操作系统中的音频/视频同步的抖动取消
CN103795973B (zh) * 2012-10-30 2018-08-03 德州仪器公司 视频显示方法及系统
CN110659225A (zh) * 2018-06-28 2020-01-07 华为技术有限公司 内存管理方法以及相关装置
CN114513672A (zh) * 2022-03-07 2022-05-17 芯原微电子(北京)有限公司 多格式编码参考帧统一管理方法、装置、设备和介质

Also Published As

Publication number Publication date
KR20080112146A (ko) 2008-12-24
US8477852B2 (en) 2013-07-02
JP2009005345A (ja) 2009-01-08
KR20110022653A (ko) 2011-03-07
JP4836010B2 (ja) 2011-12-14
CN101330621B (zh) 2014-09-24
TWI393065B (zh) 2013-04-11
US20080317138A1 (en) 2008-12-25
KR101034080B1 (ko) 2011-05-13
TW200912797A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
CN101330621B (zh) 解码和显示经压缩视频数据的方法和系统
US11055811B2 (en) Graphics processing unit partitioning for virtualization
US7698528B2 (en) Shared memory pool allocation during media rendering
US20020170039A1 (en) System for operating system and platform independent digital stream handling and method thereof
WO2018119955A1 (zh) 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品
US20130023340A1 (en) System and method for providing cloud game service
US20110317763A1 (en) Information processing apparatus and information processing method
CN102981887A (zh) 数据处理方法及电子设备
KR100536764B1 (ko) 스트리밍 데이터를 저장 장치에 기록하기 위한 정보 처리장치
CN101009836A (zh) 基于双处理器的嵌入式视频播放装置
CN101116088B (zh) 用于提供数字图像的可扩展编解码器体系结构的系统和方法
CN102289358A (zh) 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统
TWI611304B (zh) 媒體影子檔案與系統
KR102243696B1 (ko) 비디오 컨텐츠의 하드웨어 기반 또는 소프트웨어 기반 디코딩을 검출하기 위한 구성
CN107079200B (zh) 处理瘦客户端终端中的数据
CN111466118A (zh) 包括处理功能性的外部模块
CN114780179B (zh) 一种用于安卓系统的按键响应方法及装置
US7523468B1 (en) Virtual processing chains
RU2351002C2 (ru) Программный интерфейс приложения демультиплексора
CN104679697A (zh) 文件读取方法、装置及光驱驱动板和光驱设备
CN117857872A (zh) 一种内存处理方法及显示设备
CN116781923A (zh) 视频处理方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant