一种基于关键帧的编码方法及装置的制造方法

文档序号:8286199阅读:260来源:国知局
一种基于关键帧的编码方法及装置的制造方法
【技术领域】
[0001] 本申请涉及电通信技术领域,具体涉及一种基于关键帧的编码方法及装置。
【背景技术】
[0002] 当今社会,随着形式各样的电子终端系统以及各种播放器的产生,对视频文件的 格式要求也越来越复杂化、多样化。各家终端都有自己所支持的视频格式,以终端为载体的 播放器也有自己支持的视频格式,而网络上提供可下载的视频文件往往只有一种格式,再 者从一些视频录制工具输出的视频文件格式也往往比较单一,如果一种格式的视频文件需 要在另一终端进行播放或者另一种播放器进行播放,其格式有可能不能满足终端或者播放 器的需求,此时就需要进行视频格式转换即视频编码,以满足用户的需求。
[0003] 视频编码就是将一种格式的视频文件转换为另一格式的视频文件,在实际操作 中,通常会将输入数据的一种格式的源视频文件转换为不同清晰度等级的视频文件,不同 清晰度等级的视频文件具有不同解析度和/或不同码率。这样不同清晰度等级的视频文件 就可以满足不同的用户使用需求。
[0004] 但为了保证更优的压缩质量,不同清晰度等级的视频文件之间并不采用固定的关 键帧间隔。而且由于不同清晰度等级的视频文件的编码特性并不相同,也不能保证不同清 晰度等级的视频文件之间完全采用相同的关键帧间隔。因为视频文件切换时通常是从关键 帧开始播放,如果不同清晰度等级的视频文件之间关键帧的时间信息不能对齐,在用户观 看视频文件的过程中,进行不同清晰度等级的视频文件切换的时候,会导致视频不连续。而 且因为关键帧的时间信息不能对齐,在不同清晰度等级的视频文件切换的时候,需要消耗 大量的时间在寻找切换时间点附近的关键帧上,这个也会造成处理资源的消耗和时间成本 的增加。而且视频文件在播放过程中会插播一些重要的内容,因为关键帧的时间信息不能 对齐,在不同清晰度等级的视频文件切换的时候,造成的视频不连续很可能会导致这些重 要的内容会跳过而没有播放,造成视频播放质量下降。

【发明内容】

[0005] 本申请的目的在于提供一种基于关键帧的编码方法及装置,编码完成后,不同清 晰度级别的视频文件之间,它们的关键帧的时间位置都是对齐的或者基本对齐的。
[0006] 为了解决上述技术问题,本申请揭示了一种基于关键帧的编码方法,包括:根据待 编码视频的分辨率宽度/高度与基准的分辨率宽度/高度的比例关系,对所述待编码视频 进行下采样,得到基准视频,所述基准视频具有所述基准的分辨率宽度/高度,所述基准的 分辨率宽度/高度采用低于待编码视频的最低清晰度级别对应的分辨率宽度/高度;确定 所述基准视频的关键帧,并依据确定的基准视频的关键帧,将所述待编码视频编码生成不 同清晰度级别的视频文件,其中,所述不同的清晰度级别对应配置有不同的分辨率,所述清 晰度级别越低,相应的分辨率越低。
[0007] 进一步地,所述基准视频和不同清晰度级别的视频文件具有相同的帧率。
[0008] 进一步地,所述基准视频和不同清晰度级别的视频文件具有不同的帧率,其中,所 述基准视频具有所述第一目标帧率,所述待编码视频作帧率转换后得到具有第二目标帧率 的待编码视频或者所述待编码视频具有所述第二目标帧率。
[0009] 进一步地,确定所述基准视频的关键巾贞,包括:确定所述基准视频的关键巾贞并记录 所述关键帧的帧序号,并依据所述记录的帧序号、第一目标帧率、第二目标帧率设置具有第 -目标巾贞率的待编码视频的关键中贞。
[0010] 进一步地,依据所述记录的帧序号、第一目标帧率、第二目标帧率设置具有所述第 二目标帧率的待编码视频的关键帧,包括:分别根据所述记录的帧序号检测在所述具有第 二目标帧率的待编码视频中是否存在相应帧,当存在相应帧时,将所述相应帧设置为关键 帧;当不存在相应帧时,检测所述记录的帧序号与具有第二目标帧率的待编码视频中任一 帧的差值的绝对值是否小于或等于一增量,如果是,设置具有所述第二目标帧率的待编码 视频中任一帧为关键帧,否则检测下一个记录的帧序号;其中,所述增量根据第一目标帧率 和第二目标帧率的比值得到。
[0011] 进一步地,确定所述基准视频的关键帧,包括:分别检测所述基准视频的任一帧是 否发生了场景切换,如果发生了场景切换,则根据最小关键帧间隔判断所述任一帧是否为 关键帧并记录所述关键帧的帧序号;如果没有发生场景切换,则根据最大关键帧间隔判断 所述任一帧是否为关键帧并记录所述关键帧的帧序号。
[0012] 进一步地,如果发生了场景切换,则根据最小关键帧间隔判断所述任一帧是否为 关键帧并记录所述关键帧的帧序号,包括:当所述任一帧与前一关键帧的距离大于所述最 小关键帧间隔时,设置所述任一帧为关键帧并记录所述关键帧的帧序号;当所述任一帧与 前一关键帧的距离小于或等于所述最小关键帧间隔时,设置所述任一帧为I帧;如果没有 发生场景切换,则根据最大关键帧间隔判断所述任一帧是否为关键帧,包括:当所述任一帧 与前一关键帧的距离大于或等于所述最大关键帧间隔时,设置所述任一帧为关键帧并记录 所述关键帧的帧序号;当所述任一帧与前一关键帧的距离小于所述最大关键帧间隔时,设 置所述任一帧为P帧或B帧。
[0013] 为了解决上述技术问题,本申请揭示了一种基于关键帧的编码装置,包括:基准确 定模块,用于根据待编码视频的分辨率宽度/高度与基准的分辨率宽度/高度的比例关系, 对所述待编码视频进行下采样,得到基准视频,所述基准视频具有所述基准的分辨率宽度/ 高度,所述基准的分辨率宽度/高度采用低于待编码视频的最低清晰度级别对应的分辨率 宽度/高度;关键帧设置模块,用于确定所述基准视频的关键帧;编码模块,用于依据确定 的基准视频的关键帧,将所述待编码视频编码生成不同清晰度级别的视频文件,其中,所述 不同的清晰度级别对应配置有不同的分辨率,所述清晰度级别越低,相应的分辨率越低。
[0014] 进一步地,所述基准视频和不同清晰度级别的视频文件,具有相同的帧率,或者, 所述基准视频和不同清晰度级别的视频文件,具有不同的帧率,其中,所述基准视频具有所 述第一目标帧率,所述待编码视频作帧率转换后得到具有第二目标帧率的待编码视频或者 所述待编码视频具有所述第二目标帧率。
[0015] 进一步地,所述关键帧设置模块,用于确定所述基准视频的关键帧并记录所述关 键帧的帧序号,并依据所述记录的帧序号、第一目标帧率、第二目标帧率设置具有第二目标 帧率的待编码视频的关键帧。
[0016] 进一步地,所述关键帧设置模块,用于分别根据所述记录的帧序号检测在所述具 有第二目标帧率的待编码视频中是否存在相应帧,当存在相应帧时,将所述相应帧设置为 关键帧;当不存在相应帧时,检测所述记录的帧序号与具有第二目标帧率的待编码视频中 任一帧的差值的绝对值是否小于或等于一增量,如果是,设置具有所述第二目标帧率的待 编码视频中任一帧为关键帧,否则检测下一个记录的帧序号;其中,所述增量根据第一目标 帧率和第二目标帧率的比值得到。
[0017] 进一步地,所述关键帧设置模块,用于分别检测所述基准视频的任一帧是否发生 了场景切换;如果发生了场景切换,则根据最小关键帧间隔判断所述任一帧是否为关键帧, 当所述任一帧与前一关键帧的距离大于所述最小关键帧间隔时,设置所述任一帧为关键帧 并记录所述关键帧的帧序号;当所述任一帧与前一关键帧的距离小于或等于所述最小关键 帧间隔时,设置所述任一帧为I帧;如果没有发生场景切换,则根据最大关键帧间隔判断所 述任一帧是否为关键帧,当所述任一帧与前一关键帧的距离大于或等于所述最大关键帧间 隔时,设置所述任一帧为关键帧并记录所述关键帧的帧序号,当所述任一帧与前一关键帧 的距离小于所述最大关键帧间隔时,设置所述任一帧为P帧或B帧。
[0018] 与现有技术相比,本申请可以获得包括以下技术效果:
[0019] 本申请通过下采样数据预先设置关键帧及其他帧类型,使用此帧类型进行真正的 编码,从而保证了不同清晰度等级的视频文件编码时关键帧的时间位置是统一的,这样在 播放过程中可以做到不同清晰度等级的视频文件之间的无缝切换。
【附图说明】
[0020] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0021] 图1是本申请实施例一的方法流程图。
[0022] 图2是基于图1中步骤S102的方法流程图。
[0023] 图3是本申请实施例二的方法流程图。
[0024] 图4是基于图3中步骤S302的方法流程图。
[0025] 图5是基于图3中步骤S302的又一方法流程图。
[0026] 图6是本申请实施例三的装置结构图。
[0027] 图7是本申请实施例四的装置结构图。
【具体实施方式】
[0028] 以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用 技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0029] 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员 应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以 名称的差
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1