以GPU加速的软件视频转码器制造技术

技术编号:15867721 阅读:186 留言:0更新日期:2017-07-23 17:11
本申请涉及一种以GPU加速的软件视频转码器,如本文所述的本发明专利技术具体实施例针对上述习知方法的问题提出解决方案。在以下的说明中,给出各种范例用来图解说明,而非旨在限制。具体实施例均针对一种利用多个中央处理单元(CPU)核心及/或一个或多个图形处理单元(GPU)来分担视频转码的工作量的转码系统,这包含利用GPU内的两种组件:用于解码步骤的专属硬件码或可编程视频解码器,以及用于缩放及编码的计算着色器。该系统结合工业标准微软DXVA方法的用法以便用GPU以GPU编码方案及缩放视频的中间步骤来加速视频解码。

GPU accelerated software video transcoder

The utility model relates to a software video transcoding device accelerated by GPU, such as a specific embodiment of the present invention, and provides a solution for the problems of the prior knowledge method. In the following illustration, a variety of examples are used to illustrate, not to restrict. Specific embodiments for using a plurality of central processing unit (CPU) core and / or one or more graphics processing unit (GPU) transcoding system to share the workload of video transcoding, which included the use of two kinds of components in GPU: decoding step for exclusive code or hardware programmable video decoder. As for the encoding and zoom. The system combines the usage of the industry standard Microsoft DXVA method to accelerate video decoding using GPU as an intermediate step in the GPU encoding scheme and scaling video.

【技术实现步骤摘要】
以GPU加速的软件视频转码器本申请是申请号为200980153781.5,申请日为2009年11月04日,专利技术名称为“以GPU加速的软件视频转码器”的中国专利申请的分案申请。相关申请案的交互参照本申请案为目前待审专利申请案第12/189,060号(其申请于2008年8月8日,标题为“以GPU加速的软件视频编码器”,为申请于2007年12月9日的美国专利申请案第11/960,640号的部分延续申请案)的部分延续申请案,而美国专利申请案第11/960,640号主张申请于2007年5月11日的美国临时专利申请案第60/928,799号的权益,以及与申请于2007年12月5日的美国专利申请案第11/951,222号有关,以上所有文献全部并入本文作为参考。
所揭示的具体实施例大体有关于视频显示技术,且更特别的是有关于数字视频数据的转码(transcode)。
技术介绍
转码是经数字编码的一格式至另一格式的直接数字至数字式的转换。转码在内容适配(contentadaptation)的许多领域中可发现而且常用来把不兼容或过时的数据转换成更合适的格式。它也用来存档或分散内容于不同类型的数字媒体供使用于不同的重放器件,例如把CD格式的歌曲转换成MP3格式用以在计算机及MP3播放器上重放。转码也常用于移动电话内容适配的领域。就此情形而言,由于移动器件及其性能有多样性,转码是必要的。此种多样性要求内容适配的中间状态以便确保来源内容将适当地在目标器件上重放。利用转码的一种受欢迎的领域为多媒体信息服务(MMS),其用于以媒体(影像、声音、文字及视频)收发信息于移动电话之间的技术。例如,当拍照手机用来取得数字相片时,常产生分辨率(resolution)至少有640x480的高质量影像。传送影像至另一手机可需要将此高分辨率影像转码成有较少色彩的分辨率较低影像以便更适合目标器件的屏幕大小及显示限制。家庭剧院软件也利用转码,例如以减少视频文件所使用的硬盘空间。本申请案中最常见的操作是MPEG-2文件至MPEG-4格式的转码。在有大量的在线多媒体内容及众多不同的可利用器件下,由任何输入格式实时转码至任何输出格式对于任何移动器件上的任何多媒体内容提供真正的搜寻性能正变成有必要。现有转码方案通常只利用处理系统的CPU资源。因着视频数据的大小,这表示系统有实质的处理负担,尽管有额外的可用资源,然而例如GPU带宽在此类操作中常常没有加以充分利用。因此,亟须一种转码程序(transcodingprocess)让GPU及CPU资源可用在执行在转码管线(transcodepipeline)的任务。
技术实现思路
揭示于本文的具体实施例包括用于把视频流从第一数字格式转码成第二数字格式的设备,包括:解码器,其接收经编码成该第一数字格式的该视频流以及产生经解码的视频流,其中,该解码器利用图形处理单元(GPU)电路以及通过该GPU电路与GPU硬件解码器、GPU可编程解码器及中央处理单元(CPU)软件解码器中的至少一个的组合来实现;缩放器,其改变该经解码的视频流的图片大小以产生经解码及缩放的视频流,其中,该缩放器通过CPU缩放器或GPU缩放器中的一个来实现;以及,编码器,其接收该经解码及缩放的视频流以及产生经编码成该第二数字格式的输出流。在具体实施例中,该视频流由包括含有至少一个GPU及一个CPU的处理器平台的转码管线系统接收。在具体实施例中,该GPU硬件解码器包括硬件/可编程视频处理器,其中,解码操作的第一部分由GPU硬件执行而该解码操作的第二部分由在该GPU内的可编程GPU着色器执行。在具体实施例中,该GPU可编程解码器包含允许通过卸载由该CPU执行的某些操作给该GPU执行来硬件加速该解码器的应用程序接口(API)。在具体实施例中,呈该第一数字格式的该视频流包括多个视频位流以及该解码器组件包括多个解码器组件,其中,该多个视频位流中的每一视频位流输入至各自的解码器组件。具体实施例进一步包括视频混色组件,其根据确定混色效果将该多个视频位流组合成经混色的输出流。在具体实施例中,该多个视频位流包括MPEG视频数据,该设备进一步包括多个框架池,该框架池将MPEG框架的解码顺序重新排序成显示顺序。在具体实施例中,该输出流传送至显示器件。具体实施例进一步包括,框架率逻辑组件,其使该经混色的输出流的框架率与该显示器件的刷新速率匹配。在具体实施例中,该经解码及缩放的视频流传送至耦合至该CPU的存储器器件。在具体实施例中,该经解码及缩放的视频流的第一副本可用于该CPU,以及该经解码及缩放的视频流的第二副本可用于该GPU。在具体实施例中,该视频流包含一音频信道,该设备进一步包括:去复用器,其于产生该经解码的视频流之前由包含该视频流的视频框架分离出该音频信道;以及,复用器(multiplexer),其将该音频信道加回到经编码成该第二数字格式的该输出流以及在该编码器中编码。在具体实施例中,该音频信道在加回到该输出流之前把它从第一音频格式转码成第二音频格式。描述于本文的具体实施例进一步包含一种把视频流从第一数字格式转码成第二数字格式的方法,其包括下列步骤:由数据储存所接收经编码成该第一数字格式的该视频流;解码收到的该视频流以产生经解码的视频流,其中,该解码方法通过图形处理单元(GPU)资源与中央处理单元(CPU)资源的组合来实现,该解码方法利用与GPU硬件解码器、GPU可编程解码器及CPU软件解码器中的至少一个结合的该GPU资源;缩放该经解码的视频流的图片大小以产生经解码及缩放的视频流,其中,该缩放器通过CPU缩放器或GPU缩放器中的一个来实现;以及,编码该经解码及缩放的视频流以产生经编码成该第二数字格式的输出流。具体实施例进一步包括下列步骤:使用该GPU硬件解码器、该GPU可编程解码器或该CPU软件解码器中的一个来选择适当的解码方法。在具体实施例中,该选择步骤由使用者选择、自动程序、或由该第一数字格式决定中的一种来完成。具体实施例进一步包括下列步骤:传送该经解码及缩放的视频流传送至与在处理平台上的CPU耦合的存储器器件,该处理平台包含该CPU与GPU,使得该经解码及缩放的视频流的第一副本可用于该CPU而该经解码及缩放之视频流的第二副本可用于该GPU。在具体实施例中,该GPU硬件解码器包括硬件/可编程视频处理器,其中,解码操作的第一部分由GPU硬件执行而该解码操作的第二部分由在该GPU内的可编程GPU着色器执行,以及,其中,该GPU可编程解码器包含允许通过卸载由该CPU执行的某些操作给该GPU执行来硬件加速该解码器的应用程序接口(API)。在具体实施例中,呈该第一数字格式的该视频流包括多个视频位流以及该解码器组件包括多个解码器组件,其中,该多个视频位流中的每一视频位流输入至各自的解码器组件,该方法进一步包括下列步骤:根据确定混色效果,将该多个视频位流混合成经混色的输出流。在具体实施例中,该多个视频位流包括MPEG视频数据,该方法进一步包括下列步骤:汇集该多个框架于框架池以将MPEG框架的解码顺序重新排序成显示顺序;以及,传送该输出流至显示器件。具体实施例进一步包括使该经混色的输出流的框架率与该显示器件的刷新速率匹配。描述于本文的具体实施例进一步包含一种视频处理系统,包括:中本文档来自技高网
...
以GPU加速的软件视频转码器

【技术保护点】
一种用于把视频流从第一数字格式转码成第二数字格式的设备,包括:解码器,其接收经编码成该第一数字格式的该视频流以及产生经解码的视频流,其中,该第一数字格式的该解码器包括多个位流,该解码器利用中央处理单元CPU资源以及其中该CPU卸载解码阶段的至少一部分至图形处理单元GPU;缩放器,其改变该经解码的视频流的图片大小以产生经解码及缩放的视频流,其中,该缩放器通过CPU缩放器或GPU缩放器中的一个来实现,其中该经解码及缩放的视频流经输出至该CPU及该GPU两者,其中该CPU及该GPU处理该视频流;编码器,其接收该经解码及缩放的视频流以及产生经编码成该第二数字格式的输出流;视频混色组件,其根据确定混色效果将该多个位流组合成经混色的输出流;以及框架率逻辑组件,其使该经混色的输出流的框架率与显示器件的刷新速率匹配。

【技术特征摘要】
2008.11.04 US 12/264,8921.一种用于把视频流从第一数字格式转码成第二数字格式的设备,包括:解码器,其接收经编码成该第一数字格式的该视频流以及产生经解码的视频流,其中,该第一数字格式的该解码器包括多个位流,该解码器利用中央处理单元CPU资源以及其中该CPU卸载解码阶段的至少一部分至图形处理单元GPU;缩放器,其改变该经解码的视频流的图片大小以产生经解码及缩放的视频流,其中,该缩放器通过CPU缩放器或GPU缩放器中的一个来实现,其中该经解码及缩放的视频流经输出至该CPU及该GPU两者,其中该CPU及该GPU处理该视频流;编码器,其接收该经解码及缩放的视频流以及产生经编码成该第二数字格式的输出流;视频混色组件,其根据确定混色效果将该多个位流组合成经混色的输出流;以及框架率逻辑组件,其使该经混色的输出流的框架率与显示器件的刷新速率匹配。2.如权利要求1所述的设备,其中,该视频流由包括含有至少一个GPU及一个CPU的处理器平台的转码管线系统接收。3.如权利要求2所述的设备,其中,该GPU硬件解码器包括硬件/可编程视频处理器,其中,解码操作的第一部分由GPU硬件执行而该解码操作的第二部分由在该GPU内的可编程GPU着色器执行。4.如权利要求2所述的设备,其中,该GPU可编程解码器包含允许通过卸载由该CPU执行的某些操作给该GPU执行来硬件加速该解码器的应用程序接口(API)。5.如权利要求1所述的设备,其中,该解码器包括多个解码器组件,其中,该多个位流中的每一视频位流输入至各自的解码器组件以用于解码。6.如权利要求5所述的设备,其中,该多个位流包括MPEG视频数据,该设备进一步包括多个框架池,该框架池将MPEG框架的解码顺序重新排序成显示顺序。7.如权利要求6所述的设备,其中,该输出流传送至该显示器件。8.如权利要求1所述的设备,其中,该经解码及缩放的视频流传送至耦合至该CPU的存储器器件。9.如权利要求1所述的设备,其中,该经解码及缩放的视频流的第一副本可用于该CPU,以及该经解码及缩放的视频流的第二副本可...

【专利技术属性】
技术研发人员:M·L·施密特R·梅亚坎罗特尔
申请(专利权)人:先进微装置公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1