在客户端装置上解码视频流的制作方法

文档序号:34906054发布日期:2023-07-27 16:13阅读:41来源:国知局
在客户端装置上解码视频流的制作方法

本发明涉及用于在客户端装置上解码视频流的方法、设备、计算机程序和计算机可读介质。


背景技术:

1、视频内容的编码和解码是许多已知系统中的考虑因素。视频内容可经编码以供例如在数据通信网络上传输。当对此视频内容进行解码时,可能需要增加视频的质量水平和/或恢复原始视频中所含的尽可能多的信息。已经开发许多视频译码格式及其相关联编解码器,其尝试实现这些所期望的特性,但常常需要操作系统层级处的重大软件更新和/或硬件升级。此外,为了增加经解码视频内容的质量,通常需要增加编码和解码程序的复杂性,这可能增加功率使用并增加可递送视频内容的时延。


技术实现思路

1、根据本公开的第一方面,提供一种在客户端装置上解码视频流的方法。所述方法包括:从客户端装置上的客户端应用调用由客户端装置上可用的媒体播放器库实施的解码功能,由媒体播放器库实施的所述解码功能包含对由客户端装置的操作系统实施的解码功能的另一调用;修改由媒体播放器库实施的解码功能以包含关于视频流是否使用多层译码方案编码的确定;以及响应于确定视频流使用多层译码方案编码:处理视频流以提取多层译码方案的基础流和增强流;使用对由客户端装置的操作系统实施的解码功能的所述另一调用来解码基础流以生成经解码基础流;解码经编码增强流以生成经解码增强流;将经解码增强流应用于经解码基础流以生成经解码视频流数据;以及将经解码视频流数据传回到由媒体播放器库实施的解码功能。

2、所述客户端装置可以是装置。操作系统可以是由开发的操作系统,例如ios、macos或tvos。媒体播放器库可以是libvlc。多层译码方案可以是mpeg-5第2部分低复杂性增强视频编码(lcevc)。

3、可使用多层解码功能执行经编码增强流的解码。多层解码功能可包括相对于基础流对操作系统视频解码功能的调用,且可被配置成将增强流的经解码版本应用于对操作系统视频解码功能的调用的输出以生成经解码视频流数据。

4、所述方法可在支持例如lcevc等多层译码方案的经修改视频工具箱模块内执行。经修改视频工具箱模块可经由vlckit封装存取。经修改视频工具箱模块可通过将一个或多个补丁应用于libvlc,例如通过将一个或多个lcevc特定补丁应用于libvlc来获得。对视频工具箱模块的修改可包括创建提供解码使用lcevc方案编码的视频流的能力的的vtdecompressionsession对象的概括化。

5、方法可进一步包括创建vlckit的例项。经编码视频流可解复用为cmsamplebuffer。方法可进一步包括确定视频流是否使用lcevc编码。如果确定视频流使用lcevc编码,则方法可包括从视频流提取lcevc有效负载。lcevc有效负载可使用vtdecompressionsession对象解码。方法可进一步包括将经解码lcevc有效负载重排序为呈现次序。视频流中的增强流可经解码且应用于例如经解码lcevc有效负载等经解码增强流,以生成经解码视频流。如果确定视频流不使用lcevc编码,则方法可包括使用vtdecompressionsession对象解码视频流。在任一情况下,方法可进一步包括将经解码视频流传回为cvpixelbuffer。可确定cvpixelbuffer是否处于正确的次序。如果确定cvpixelbuffer不处于正确的次序,则cvpixelbuffer可重排序为呈现次序。方法可进一步包括将经解码视频流移出队列以供呈现。

6、根据本公开的第二方面,提供一种客户端装置。所述客户端装置包括:操作系统,其包括操作系统视频解码功能;客户端应用,其用于显示视频;以及媒体播放器库,其包括供客户端应用使用的媒体播放器视频解码功能,所述媒体播放器视频解码功能包括对操作系统视频解码功能的调用。媒体播放器视频解码功能经修改以包含在接收到使用多层译码方案编码的视频流后选择性地实施多层解码功能的操作系统视频解码功能的封装,所述视频流包括基础流和增强流,多层解码功能包括相对于基础流对操作系统视频解码功能的调用,所述多层解码功能被配置成将增强流的经解码版本应用于对操作系统视频解码功能的调用的输出以生成经解码视频流数据,且所述多层解码功能进一步被配置成将经解码视频流数据传回到媒体播放器视频解码功能以供客户端应用使用。

7、所述客户端装置可以是装置。操作系统可以是由开发的操作系统,例如ios、macos或tvos。媒体播放器库可以是libvlc。多层译码方案可以是lcevc。

8、媒体播放器视频解码功能可包含支持例如lcevc等多层译码方案的经修改视频工具箱模块。经修改视频工具箱模块可经由vlckit封装存取。经修改视频工具箱模块可通过将一个或多个补丁应用于libvlc,例如通过将一个或多个lcevc特定补丁应用于libvlc来获得。对视频工具箱模块的修改可包括创建提供解码使用lcevc方案解码的视频流的能力的的vtdecompressionsession对象的概括化。

9、客户端装置可进一步包括解复用器以将经编码视频流解复用为cmsamplebuffer。经修改视频工具箱模块可确定视频流是否使用lcevc编码。如果确定视频流使用lcevc编码,则可从视频流提取lcevc有效负载。lcevc有效负载可使用vtdecompressionsession对象解码。在此情况下,经修改视频工具箱模块可将经解码lcevc有效负载重排序为呈现次序。视频流中的增强流可经解码且应用于经解码增强流,例如应用于经解码lcevc有效负载,以生成经解码视频流。如果确定视频流并非使用lcevc编码,则可使用vtdecompressionsession对象解码视频流。在任一情况下,经解码视频流可传回为cvpixelbuffer。可确定cvpixelbuffer是否处于正确的次序。如果确定cvpixelbuffer不处于正确的次序,则cvpixelbuffer可重排序为呈现次序。经解码视频流可移出队列以供呈现。

10、根据本公开的第三方面,提供一种存储指令的计算机可读存储介质,所述指令可由至少一个处理器执行以执行第一方面的方法。

11、从参考附图作出的仅借助于实例给出的以下描述将了解另外的特征。



技术特征:

1.一种在客户端装置上解码视频流的方法,所述方法包括:

2.根据权利要求1所述的方法,其进一步包括,响应于确定所述视频流并非使用所述多层译码方案编码,使用对由所述操作系统实施的所述解码功能的所述另一调用解码所述视频流。

3.根据权利要求1或权利要求2所述的方法,其中由所述媒体播放器库实施的所述解码功能将传回到由所述媒体播放器库实施的所述解码功能的所述经解码视频流数据的帧重排序以供显示。

4.根据权利要求1至3中任一项所述的方法,其中所述客户端装置为移动装置。

5.根据权利要求1至4中任一项所述的方法,其中由操作系统实施的所述解码功能经硬件加速。

6.根据权利要求1至5中任一项所述的方法,其中所述客户端装置的所述操作系统为ios、macos和tvos中的一个。

7.根据权利要求1至6中任一项所述的方法,其中所述多层译码方案为低复杂性增强视频译码(lcevc)方案。

8.根据权利要求1至7中任一项所述的方法,其中所述修改所述解码功能包括将补丁应用于所述媒体播放器库。

9.根据权利要求8所述的方法,其中将所述补丁应用于所述媒体播放器库包括修改包括用于由所述媒体播放器库实施的所述解码功能的计算机程序代码的文件,以及添加用于由所述客户端装置的所述操作系统实施的所述解码功能的另一文件。

10.一种客户端装置,其包括:

11.根据权利要求10所述的客户端装置,其中所述多层译码方案为低复杂性增强视频译码(lcevc)方案。

12.根据权利要求10或11中任一项所述的客户端装置,其中所述多层解码功能对所述经解码基础流的帧进行重排序以供显示。

13.根据权利要求10至12中任一项所述的客户端装置,其中所述操作系统视频解码功能的内部方法不可供所述客户端应用和所述媒体播放器库中的至少一个使用。

14.根据权利要求10至13中任一项所述的客户端装置,其中所述操作系统视频解码功能经硬件加速。

15.一种存储指令的计算机可读存储介质,所述指令可由至少一个处理器执行以执行根据权利要求1至9中任一项所述的方法。


技术总结
本申请涉及在客户端装置上解码视频流。所述客户端装置上的客户端应用调用由媒体播放器库实施的解码功能,所述解码功能包含对由所述客户端装置的操作系统实施的解码功能的另一调用,且经修改以包含关于所述视频流是否使用多层译码方案编码的确定。如果是,则处理所述视频流以提取基础流和增强流,使用对由所述操作系统实施的所述解码功能的所述另一调用解码所述基础流,解码所述经编码增强流,将所述经解码增强流应用于所述经解码基础流以生成经解码视频流数据,且将所述经解码视频流数据传回到由所述媒体播放器库实施的所述解码功能。

技术研发人员:D·汉德佛德,F·夏尔巴芬,D·帕拉诺
受保护的技术使用者:威诺瓦国际有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1