一种视频元数据的处理方法及装置、存储介质与流程
本技术涉及视频数据处理,特别涉及一种视频元数据的处理方法及装置、存储介质。
背景技术:
1、现有视频标准、接口规范和产业规范已支持动态元数据的承载。例如,av1规定metadata obu并支持itu-t t.35类型元数据。hdr vivid等hdr体系也分别定义了动态元数据的语法语义和部分携带约束。
2、当前视频编码生产链路中,动态元数据往往以独立二进制文件、旁路文件或外部数据流形式提供。并且,通过承载规范规定元数据可以写入何种码流单元、在显示帧前如何放置以及元数据字段语义,但并不规定编码器在接收外部的逐帧元数据后,如何确定每一段元数据对应的源图像、编码图像和最终显示图像。所以在工程实现中,当前的编码器或封装模块主要根据承载规范,按照输入帧计数取得第n段元数据并附着到第n个待编码图像,或者在封装阶段按照当前编码队列位置、输出队列位置或循环队列槽位取出元数据并写入码流。
3、但是,这种只是简单按照输入帧计数或队列槽位写入的方式,在编码任务涉及跳过输入前缀、限制编码帧数,或编码结构中存在非显示帧和复显帧等场景时,容易导致动态元数据与最终输出的显示图像之间发生提前、滞后、复用错误或陈旧残留等,即导致元数据与最终输出的显示图像不一致的情况。
技术实现思路
1、基于上述现有技术的不足,本技术提供了一种视频元数据的处理方法及装置、存储介质,以解决现有技术无法保证元数据与最终输出显示图像一致的问题。
2、为了实现上述目的,本技术提供了以下技术方案:
3、本技术第一方面提供了一种视频元数据的处理方法,包括:
4、获取待编码视频及其关联的动态元数据集合;
5、根据帧边界指示信息确定出所述动态元数据集合的帧级边界;
6、根据编码任务的跳帧参数、编码范围以及所述动态元数据集合的帧数,确定元数据索引偏移;
7、基于所述待编码视频中未编码的每帧目标图像的索引信息、所述元数据索引偏移以及所述帧级边界,从所述动态元数据集合中确定出目标动态元数据;
8、将所述目标动态元数据与所述目标图像进行绑定;
9、根据编码后的所述目标图像的显示类型执行对应的动态元数据处理操作。
10、可选地,在上述的视频元数据的处理方法中,所述根据帧边界指示信息确定出所述动态元数据集合的帧级边界,包括:
11、根据所述帧边界指示信息中的至少一项信息,分别确定所述动态元数据集合的候选边界;其中,所述帧边界指示信息至少包括单帧固定长度、载荷内长度字段、外部偏移表、索引表、固定头部、注册载荷标记扫描结果中的一项或者多项;
12、若未确定出所述候选边界,则先通过辅助推导路径推导出候选边界;
13、若确定出所述候选边界,则对各个所述候选边界进行合法性检查;
14、从通过合法性检查的各个所述候选边界中确定出所述动态元数据集合的帧级边界。
15、可选地,在上述的视频元数据的处理方法中,所述从通过合法性检查的各个所述候选边界中确定出所述动态元数据集合的帧级边界,包括:
16、若存在唯一合法的所述候选边界,或合法的各个所述候选边界一致,则将合法的所述候选边界确定为所述动态元数据集合的帧级边界;
17、若存在多个不一致的合法的所述候选边界,则将用户选择的合法的所述候选边界确定为所述动态元数据集合的帧级边界,或选择预设优先级最高的合法的所述候选边界,作为所述动态元数据集合的帧级边界,并输出告警信息。
18、可选地,在上述的视频元数据的处理方法中,所述根据编码任务的跳帧参数、编码范围以及所述动态元数据集合的帧数,确定元数据索引偏移,包括:
19、若所述动态元数据集合仅覆盖编码范围或待编码片段,且所述动态元数据集合的帧数与待编码帧数一致时,将元数据索引偏移确定为零;
20、若所述动态元数据集合覆盖完整输入视频,且存在跳过前缀帧时,将跳过前缀帧的数量作为元数据索引偏移。
21、可选地,在上述的视频元数据的处理方法中,所述基于所述待编码视频中未编码的每帧目标图像的索引信息、所述元数据索引偏移以及所述帧级边界,从所述动态元数据集合中确定出目标动态元数据,包括:
22、基于所述待编码视频中待输入编码内核的每帧目标图像的索引信息以及所述索引偏移确定目标元数据序号;其中,所述索引信息为显示序号或归一化显示索引;
23、依据所述目标元数据序号和所述帧级边界,从动态元数据集合中取得对应字节区间内的动态元数据,作为目标动态元数据。
24、可选地,在上述的视频元数据的处理方法中,还包括:
25、若所述目标元数据序号越界,或所述目标动态元数据缺失或为非法数据,则执行失败操作或复用最近有效元数据;其中,所述最近有效元数据为最近一次成功绑定的动态元数据;
26、若不存在所述最近有效元数据,则执行失败操作,或跳过所述目标图像对应的动态元数据写出,或将默认的动态元数据确定为目标动态元数据,并输出告警信息。
27、可选地,在上述的视频元数据的处理方法中,包括:
28、若所述目标图像为直接显示图像,将与其绑定的所述目标动态元数据写入编码码流;
29、若所述目标图像为非显示图像,将与其绑定的所述目标动态元数据保存到重排序队列;
30、若所述目标图像为复显图像,根据复显指示信息、参考缓冲槽位以及标识信息,从所述重排序队列中匹配出被复显图像绑定的动态元数据写入编码码流;其中,所述标识信息为显示图像顺序计数或所述目标图像的标识。
31、可选地,在上述的视频元数据的处理方法中,还包括:
32、在所述重排序队列的槽位被复用前,释放槽位中的动态元数据;
33、针对所述被复显图像绑定的动态元数据,在确认其对应的参考槽位已被覆盖,且其对应的队列项不再被后续复显引用或引用计数归零时,释放所述被复显图像对应的动态元数据;
34、在编码结束或队列析构时释放残留的各个动态元数据。
35、本技术第二方面提供了一种视频元数据的处理装置,包括:
36、数据获取单元,用于获取待编码视频及其关联的动态元数据集合;
37、边界确定单元,用于根据帧边界指示信息确定出所述动态元数据集合的帧级边界;
38、偏移确定单元,用于根据编码任务的跳帧参数、编码范围以及所述动态元数据集合的帧数,确定元数据索引偏移;
39、元数据确定单元,用于基于所述待编码视频中未编码的每帧目标图像的索引信息、所述元数据索引偏移以及所述帧级边界,从所述动态元数据集合中确定出目标动态元数据;
40、绑定单元,用于将所述目标动态元数据与所述目标图像进行绑定;
41、处理单元,用于根据编码后的所述目标图像的显示类型执行对应的动态元数据处理操作。
42、可选地,在上述的视频元数据的处理装置中,所述边界确定单元,包括:
43、候选边界确定单元,用于根据所述帧边界指示信息中的至少一项信息,分别确定所述动态元数据集合的候选边界;其中,所述帧边界指示信息至少包括单帧固定长度、载荷内长度字段、外部偏移表、索引表、固定头部、注册载荷标记扫描结果中的一项或多项;
44、推导单元,用于在未确定出所述候选边界时,先通过辅助推导路径推导出候选边界;
45、合法检查单元,用于在确定出所述候选边界时,对各个所述候选边界进行合法性检查;
46、边界选取单元,用于从通过合法性检查的各个所述候选边界中确定出所述动态元数据集合的帧级边界。
47、可选地,在上述的视频元数据的处理装置中,所述边界选取单元,包括:
48、第一选取单元,用于在存在唯一合法的所述候选边界,或合法的各个所述候选边界一致时,将合法的所述候选边界确定为所述动态元数据集合的帧级边界;
49、第二选取单元,用于在存在多个不一致的合法的所述候选边界时,将用户选择的合法的所述候选边界确定为所述动态元数据集合的帧级边界,或选择预设优先级最高的合法的所述候选边界,作为所述动态元数据集合的帧级边界,并输出告警信息。
50、可选地,在上述的视频元数据的处理装置中,所述偏移确定单元,包括:
51、第一偏移确定单元,用于在所述动态元数据集合仅覆盖编码范围或待编码片段,且所述动态元数据集合的帧数与待编码帧数一致时,将元数据索引偏移确定为零;
52、第二偏移确定单元,用于在所述动态元数据集合覆盖完整输入视频,且存在跳过前缀帧时,将跳过前缀帧的数量作为元数据索引偏移。
53、可选地,在上述的视频元数据的处理装置中,所述元数据确定单元,包括:
54、序号确定单元,用于基于所述待编码视频中待输入编码内核的每帧目标图像的索引信息以及所述索引偏移确定目标元数据序号;其中,所述索引信息为显示序号或归一化显示索引;
55、数据提取单元,用于依据所述目标元数据序号和所述帧级边界,从动态元数据集合中取得对应字节区间内的动态元数据,作为目标动态元数据。
56、可选地,在上述的视频元数据的处理装置中,还包括:
57、第一恢复单元,用于在所述目标元数据序号越界,或所述目标动态元数据缺失或为非法数据时,执行失败操作或复用最近有效元数据;其中,所述最近有效元数据为最近一次成功绑定的动态元数据;
58、第二恢复单元,用于在不存在所述最近有效元数据时,执行失败操作,或跳过所述目标图像对应的动态元数据写出,或将默认的动态元数据确定为目标动态元数据,并输出告警信息。
59、可选地,在上述的视频元数据的处理装置中,所述处理单元,包括:
60、第一处理单元,用于在所述目标图像为直接显示图像时,将与其绑定的所述目标动态元数据写入编码码流;
61、第二处理单元,用于在所述目标图像为非显示图像时,将与其绑定的所述目标动态元数据保存到重排序队列;
62、第三处理单元,用于在所述目标图像为复显图像时,根据复显指示信息、参考缓冲槽位以及标识信息,从所述重排序队列中匹配出被复显图像绑定的动态元数据写入编码码流;其中,所述标识信息为显示图像顺序计数或所述目标图像的标识。
63、可选地,在上述的视频元数据的处理装置中,还包括:
64、第一释放单元,用于在所述重排序队列的槽位被复用前,释放槽位中的动态元数据;
65、第二释放单元,用于针对所述被复显图像绑定的动态元数据,在确认其对应的参考槽位已被覆盖,且其对应的队列项不再被后续复显引用或引用计数归零时,释放所述被复显图像对应的动态元数据;
66、第三释放单元,用于在编码结束或队列析构时释放残留的各个动态元数据。
67、本技术第三方面提供了一种电子设备,包括:
68、存储器和处理器;
69、其中,所述存储器用于存储程序;
70、所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的视频元数据的处理方法。
71、本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被处理器执行时,用于实现如上述任意一项所述的视频元数据的处理方法。
72、本技术提供的一种视频元数据的处理方法,先获取待编码视频及其关联的动态元数据集合。然后根据帧边界指示信息确定出动态元数据集合的帧级边界,从而保证可以获得各帧动态元数据的边界,使其形成有序的动态元数据,便于后续进行准确查找和绑定。然后根据编码任务的跳帧参数、编码范围以及动态元数据集合的帧数,确定元数据索引偏移,以补偿因跳过或截取导致的偏差。基于待编码视频中未编码的每帧目标图像的索引信息、元数据索引偏移以及帧级边界,从动态元数据集合中确定出目标动态元数据,并将目标动态元数据与目标图像进行绑定,从而即使针对存在跳帧的情况,也可以保证绑定关系与最终显示顺序对齐。最后根据编码后的目标图像的显示类型执行对应的动态元数据处理操作。从而针对直接显示帧、非显示帧和复显帧进行相应的处理,保证元数据与最终输出的显示图像完全一致。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com