[发明专利]使用软件驱动器及硬件驱动器彼此联合来实现混合视频编码器的方法及装置有效
申请号: | 201480005575.0 | 申请日: | 2014-01-21 |
公开(公告)号: | CN104937931B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 李坤傧;刘政宏;周汉良;朱启诚 | 申请(专利权)人: | 联发科技股份有限公司 |
主分类号: | H04N19/00 | 分类号: | H04N19/00 |
代理公司: | 北京三友知识产权代理有限公司11127 | 代理人: | 汤在彦 |
地址: | 中国台湾新竹*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 软件 驱动器 硬件 彼此 联合 实现 混合 视频 编码器 方法 装置 | ||
交叉引用
本发明请求美国临时案申请号61/754,938(申请日2013年1月21日)、美国申请号14/154,132(申请日2014年1月13日)的优先权,且这些申请案的所有内容以引用方式纳入。
技术领域
本发明的实施例与视频编码有关,更具体来说,与一种使用软件驱动与硬件驱动彼此联合以实现混合视频编码的方法及装置有关。
背景技术
尽管全硬件的视频编码器满足性能要求,但是全硬件的解决方案成本高昂。可编程驱动器(即一种执行代码命令的功能的软件驱动器)的计算能力越来越强,但依然无法满足视频编码的高端特性,例如720p@30fps或1080p@30fps的视频编码。此外,可编程驱动器的能源消耗也比全硬件的解决方案更高。更进一步,当使用可编程驱动器时,存储器频宽也将成为一个问题。此外,当不同的应用程序(包括操作系统OS)也在相同的可编程驱动器上运行时,在视频编码过程中可编程驱动器的资源将会实时变化。
因此,需要一种新型的视频编码设计,其能够综合基于硬件实现以及基于软件实现的优势来完成视频编码操作。
发明内容
为了解决上述问题,本发明的实施例中提供了一种软件驱动器与硬件驱动器彼此结合来实现勋和视频编码的方法及装置。
依据本发明的第一实施例,提供一种视频编码方法。该方法至少包含以下步骤:由软件驱动器执行多个指令来处理视频编码操作的第一部分,其中该视频编码操作的第一部分包含至少运动估计功能;输送该运动估计功能产生的运动估计结果至硬件驱动器;以及由该硬件驱动器处理该视频编码操作的第二部分。
依据本发明的第二实施例,提供一种视频编码方法。该方法至少包含以下步骤:由软件驱动器执行多个指令以及高速缓存来处理视频编码操作的第一部分;由硬件驱动器处理该视频编码操作的第二部分;通过该高速缓存执行该软件驱动器与该硬件驱动器之间的数据传输;以及执行地址同步来保证该高速缓存的同一条目是由该软件驱动器以及该硬件驱动器正确地取址以及存取。
依据本发明的第三实施例,提供一种混合视频编码器。该混合视频编码器包含软件驱动器与硬件驱动器。软件驱动器配置为执行多个指令来处理视频编码操作的第一部分,其中该视频编码操作的第一部分包含至少运动估计功能。硬件驱动器耦接至该软件驱动器,该硬件驱动器配置为接收该运动估计功能产生的运动估计结果,并且处理该视频编码操作的第二部分。
依据本发明的第四实施例,提供一种混合视频编码器。该混合视频编码器包含软件驱动器与硬件驱动器。软件驱动器,配置为执行多个指令来处理视频编码操作的第一部分,其中该软件驱动器包含高速缓存;以及硬件驱动器,配置为处理该视频编码操作的第二部分,其中通过该高速缓存执行该软件驱动器与该硬件驱动器之间的数据传输,并且该硬件驱动器进一步执行地址同步来保证该高速缓存的同一条目被正确地取址并且由该软件驱动器以及该硬件驱动器存取。
根据本发明,混合视频编码器或解码器的全硬件解决方案和全软件解决方案之间的设计提出了很好的权衡成本和其他因素(例如,功率消耗,内存带宽等)。在一设计中,至少软件实现运动估计,除了软件实现的其他编码步骤由硬件完成视频编码。此处,建议的解决方案称为混合机制/混合视频编码。
在本发明中,揭露了多种方法与装置,这些方法与装置具有相同点,即都是由在可编程驱动器上执行软件指令来至少实现运动估计,可编程驱动器的举例说明为中央处理器(CPU)例如基于ARM处理器或其类似、数字信号处理器(DSP)、图形处理器单元(GPU)等。
所提出的解决方案采用混合机制,其中至少由软件实现运动估计,以合理利用可编程处理器(即软件驱动器)中可用的新指令以及该可编程处理器的较大的高速缓存。此外,视频编码操作的其他部分的至少一部分,例如运动补偿、帧间预测、变换/量化、反变换、反量化、后端处理(例如去区块过滤、采样适应性便宜过滤、适应性环路滤波等等)、熵编码等等,是由硬件驱动器(即纯硬件)实现。在所提出的混合解决方案中,可编程处理器的高速缓存中存储的至少部分数据能够被硬件驱动器与软件驱动器两者存取。举例来说,至少一部分源视频帧存储在高速缓存中,并且被硬件驱动器与软件驱动器两者存取。另举一例来说,至少一部分参考帧存储在高速缓存中,并且被硬件驱动器与软件驱动器两者存取。在另举一例,由软件功能或者硬件功能产生的至少一部分中间数据存储在高速缓存中,并且被硬件驱动器与软件驱动器两者存取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联发科技股份有限公司,未经联发科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480005575.0/2.html,转载请声明来源钻瓜专利网。