一种码流分析方法和装置.pdf

上传人:1** 文档编号:1277412 上传时间:2018-04-12 格式:PDF 页数:12 大小:422.32KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910161863.6

申请日:

2009.08.05

公开号:

CN101990094A

公开日:

2011.03.23

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04N 7/26登记生效日:20160819变更事项:专利权人变更前权利人:炬芯(珠海)科技有限公司变更后权利人:炬新(珠海)微电子有限公司变更事项:地址变更前权利人:519085 广东省珠海市唐家湾镇高新区科技四路1号1#厂房一层C区变更后权利人:519085 广东省珠海市横琴新区宝华路6号105室-1023|||专利权的转移IPC(主分类):H04N 7/26变更事项:专利权人变更前权利人:炬力集成电路设计有限公司变更后权利人:炬芯(珠海)科技有限公司变更事项:地址变更前权利人:519085 广东省珠海市唐家湾镇哈工大路1号15栋1单元1号变更后权利人:519085 广东省珠海市唐家湾镇高新区科技四路1号1#厂房一层C区登记生效日:20141223|||授权|||实质审查的生效IPC(主分类):H04N 7/26申请日:20090805|||公开

IPC分类号:

H04N7/26; G06F3/048

主分类号:

H04N7/26

申请人:

炬力集成电路设计有限公司

发明人:

赵新中; 陈家大; 马明刚; 万宜; 陈展; 梁炜新; 张俊; 何东岭; 谢宜昊

地址:

519085 广东省珠海市唐家湾镇哈工大路1号15栋1单元1号

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

谢安昆;宋志强

PDF下载: PDF下载
内容摘要

本发明公开了一种码流分析装置,包括由多于一个的解码器所组成的解码器库、组件模块和用户界面模块。所述组件模块用于根据输入的码流选择相应的解码器,并根据来自用户界面模块的操作指示,调用解码器库对应的接口单元,以及接收来自解码器库的数据,将所述数据输出至用户界面模块;所述用户界面模块用于提供用户可见的人机交互界面,接收来自用户的操作指示,将所述操作指示输出至组件模块;以及在所述人机交互界面上显示来自组件模块的数据。本发明还公开了一种基于上述码流分析装置实现的码流分析方法。本发明提出的码流分析装置可以支持多种编码标准的多媒体码流。

权利要求书

1: 一种码流分析装置, 其特征在于, 包括 : 解码器库, 由多于一个的解码器和统一的接口单元所组成, 每个解码器用于对一种编 码格式码流进行解码, 提取出码流中的数据 ; 所述统一的接口单元至少包括识别接口单元 以及参数集信息接口单元, 识别接口单元用于根据码流的属性信息识别码流的格式 ; 参数 集信息接口单元用于输出从码流中提取的数据 ; 组件模块, 调用解码器识别接口单元选择相应的解码器, 并根据来自用户界面模块的 操作指示, 调用解码器库的统一的接口单元, 以及接收来自解码器库的参数集信息接口单 元输出的数据, 将所述数据输出至用户界面模块 ; 用户界面模块, 用于提供用户可见的人机交互界面, 接收来自用户的操作指示, 将所述 操作指示输出至组件模块 ; 以及在所述人机交互界面上显示来自组件模块的数据。
2: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述组件模块进一步包括 : 分析 单元, 用于对来自解码器库的数据进行分析, 将分析结果输出至用户界面模块。
3: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述组件模块进一步包括 : 统计 单元, 用于根据预先定义或者用户自定义的公式, 对来自解码器库的数据进行相关统计计 算, 并将计算结果输出至用户界面模块。
4: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述解码器提供的统一的接口 单元还包括 : 主要信息接口单元, 用于解码码流中的主要节点以及主要节点的上层节点, 列出码流 的语法层次结构信息 ; 所述主要节点为码流语法层次中预先指定的第 n 层节点, n 为自然 数; 主要节点解码接口单元, 用于对当前选中的主要节点以及所述主要节点的下层节点进 行解码。
5: 根据权利要求 4 所述的码流分析装置, 其特征在于, 所述码流为视频码流, 所述主要 节点为帧对应的语法结构节点。
6: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述组件模块进一步包括 : 编辑 模块, 用于根据用户指令, 对来自解码器库的数据中的头部信息进行修改 ; 所述解码器提供的接口单元进一步包括 : 保存文件接口单元, 用于按照所述编辑模块 实施的修改, 对修改后的码流进行保存。
7: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述解码器提供的统一的接口 单元还包括 : 关闭解码器接口单元, 用于释放解码器使用的软硬件资源。
8: 根据权利要求 1 所述的码流分析装置, 其特征在于, 所述解码器提供的统一的接口 单元还包括 : 解码器信息接口单元, 用于提供解码器解码过程中的相关信息。
9: 根据权利要求 1 至 8 任一项所述的码流分析装置, 其特征在于, 所述用户界面模块进 一步包括 : 码流层次结构表示界面, 用树状结构表示码流的语法结构 ; 或 数据列表界面, 用表格给出了码流各个参数的语义 ; 或 解码结果表示界面, 用图像展示解码结果。
10: 一种码流分析方法, 其特征在于, 包括如下步骤 : 根据输入的码流的属性信息, 从多于一个的解码器中选择与该属性信息匹配的解码 2 器; 用所选择的解码器对所述码流进行解码, 提取出码流中的数据 ; 在用户可见的人机交互界面上显示所述提取自码流中的数据。
11: 根据权利要求 10 所述的方法, 其特征在于, 所述在用户可见的人机交互界面上显 示所述提取自码流中的数据的步骤包括 : 对所述数据进行分析, 在人机交互界面上显示分析结果。
12: 根据权利要求 10 所述的方法, 其特征在于, 所述在用户可见的人机交互界面上显 示所述提取自码流中的数据的步骤包括 : 根据预先定义或者用户自定义的公式, 对所述数据进行相关统计计算, 在人机交互界 面上显示计算结果。
13: 根据权利要求 10 所述的方法, 其特征在于, 所述用所选择的解码器对所述码流进 行解码, 提取出码流中的数据的步骤包括 : 解码码流中的主要节点以及主要节点的上层节点, 列出码流的语法层次结构信息 ; 所 述主要节点为码流语法层次中预先指定的第 n 层节点, n 为自然数。
14: 根据权利要求 13 所述的方法, 其特征在于, 所述列出码流的语法层次结构信息之 后进一步包括 : 将用户选择的主要节点作为当前主要节点, 对当前主要节点的下层节点进行解码。
15: 根据权利要求 10 所述的方法, 其特征在于, 所述在用户可见的人机交互界面上显 示所述提取自码流中的数据之后, 进一步包括 : 对所述数据中的头部信息进行修改, 并保存修改后的码流。

说明书


一种码流分析方法和装置

    【技术领域】
     本发明涉及音视频编解码技术领域, 特别涉及一种码流分析的方法和装置。背景技术 近年来, 随着集成电路技术的不断革新和发展, 消费电子产业得到了长足的发展。 消费电子产品所具有的一大功能是对多媒体内容的兼容, 因此各大消费电子产品厂商十分 重视多媒体解码器和编码器的研发。在相关研发过程中, 获取并分析多媒体码流中的编码 信息都是十分重要的环节, 该环节被称为码流分析。
     涉足多媒体编解码器的公司都发布了用于进行码流分析的工具, 但这些公司发布 的码流分析工具的适用范围一般仅限于本公司的编码标准, 只能支持一种或很少的几种编 码格式码流。而目前流行的编码标准分属好几个公司, 没有哪一种码流分析工具可以支持 全部常用的编码标准。目前进行码流分析时, 使用码流分析工具 A 对符合 A 公司编码标准 的多媒体码流进行分析 ; 当需要对符合 B 公司编码标准的多媒体码流进行分析时, 只能换
     用另一个码流分析工具, 使用起来很不方便。 发明内容
     有鉴于此, 本发明的目的在于, 提出一种码流分析方法和装置, 可以对符合各种常 用编码标准的多媒体码流进行分析。
     本发明实施例提出的一种码流分析装置包括 :
     解码器库, 由多于一个的解码器和统一的接口单元所组成, 每个解码器用于对一 种编码格式码流进行解码, 提取出码流中的数据 ; 所述统一的接口单元至少包括识别接口 单元以及参数集信息接口单元, 识别接口单元用于根据码流的属性信息识别码流的格式 ; 参数集信息接口单元用于输出从码流中提取的数据 ;
     组件模块, 调用解码器识别接口单元选择相应的解码器, 并根据来自用户界面模 块的操作指示, 调用解码器库的统一的接口单元, 以及接收来自解码器库的参数集信息接 口单元输出的数据, 将所述数据输出至用户界面模块 ;
     用户界面模块, 用于提供用户可见的人机交互界面, 接收来自用户的操作指示, 将 所述操作指示输出至组件模块 ; 以及在所述人机交互界面上显示来自组件模块的数据。
     所述组件模块进一步包括 : 分析单元, 用于对来自解码器库的数据进行分析, 将分 析结果输出至用户界面模块。
     所述组件模块还可以进一步包括 : 统计单元, 用于根据预先定义或者用户自定义 的公式, 对来自解码器库的数据进行相关统计计算, 并将计算结果输出至用户界面模块。
     所述解码器提供的统一的接口单元还包括 :
     主要信息接口单元, 用于解码码流中的主要节点以及主要节点的上层节点, 列出 码流的语法层次结构信息 ; 所述主要节点为码流语法层次中预先指定的第 n 层节点, n 为自 然数 ;主要节点解码接口单元, 用于对当前选中的主要节点以及所述主要节点的下层节 点进行解码。
     所述码流为视频码流, 所述主要节点为帧对应的语法结构节点。
     所述组件模块进一步包括 : 编辑模块, 用于根据用户指令, 对来自解码器库的数据 中的头部信息进行修改 ;
     所述解码器提供的接口单元进一步包括 : 保存文件接口单元, 用于按照所述编辑 模块实施的修改, 对修改后的码流进行保存。
     所述解码器提供的统一的接口单元还包括 : 关闭解码器接口单元, 用于释放解码 器使用的软硬件资源。
     所述解码器提供的统一的接口单元还包括 : 解码器信息接口单元, 用于提供解码 器解码过程中的相关信息。
     所述用户界面模块进一步包括 :
     码流层次结构表示界面, 用树状结构表示码流的语法结构 ; 或
     数据列表界面, 用表格给出了码流各个参数的语义 ; 或
     解码结果表示界面, 用图像展示解码结果。
     本发明实施例提出的一种码流分析方法包括如下步骤 :
     根据输入的码流的属性信息, 从多于一个的解码器中选择与该属性信息匹配的解 码器 ;
     用所选择的解码器对所述码流进行解码, 提取出码流中的数据 ;
     在用户可见的人机交互界面上显示所述提取自码流中的数据。
     所述在用户可见的人机交互界面上显示所述提取自码流中的数据的步骤包括 :
     对所述数据进行分析, 在人机交互界面上显示分析结果。
     所述在用户可见的人机交互界面上显示所述提取自码流中的数据的步骤包括 :
     根据预先定义或者用户自定义的公式, 对所述数据进行相关统计计算, 在人机交 互界面上显示计算结果。
     所述用所选择的解码器对所述码流进行解码, 提取出码流中的数据的步骤包括 :
     解码码流中的主要节点以及主要节点的上层节点, 列出码流的语法层次结构信 息; 所述主要节点为码流语法层次中预先指定的第 n 层节点, n 为自然数。
     所述列出码流的语法层次结构信息之后进一步包括 :
     将用户选择的主要节点作为当前主要节点, 对当前主要节点的下层节点进行解 码。
     所述在用户可见的人机交互界面上显示所述提取自码流中的数据之后, 进一步包 括:
     对所述数据中的头部信息进行修改, 并保存修改后的码流。
     从以上技术方案可以看出, 在码流分析装置中设置多种解码器, 采用统一的平台 运行各种解码器, 对于输入的码流自动识别出对应的解码器进行解码, 从而实现支持多种 编码标准的多媒体码流。 更进一步地, 本发明采用按需解码的方式, 可以精确地响应使用者 的分析需求, 并极大地提升了工具的运行效率 ; 本发明方案可以在对码流数据分析的基础 上, 进行信息统计、 码流编辑等操作, 更加丰富了码流分析的功能。附图说明
     图 1 为本发明实施例提出的码流分析装置的结构框图 ; 图 2 为图 1 所示码流分析装置的用户界面模块 103 所显示的主界面的示意图 ; 图 3 为 mpeg4 格式码流的语法层次结构示意图 ; 图 4 为本发明实施例的码流分析装置的运行流程图 ; 图 5 为本发明实施例的码流分析流程图。具体实施方式
     为使本发明的目的、 技术方案和优点更加清楚, 下面结合附图对本发明作进一步 的详细阐述。
     本发明实施例提出的码流分析装置的结构框图如图 1 所示, 该码流分析装置主要 包括解码器库 101、 组件模块 102 和用户界面模块 103。
     解码器库 101 包括多于一个的解码器, 每个解码器对应一种格式的码流, 用于对 该格式的码流进行解码, 提取码流中的数据。所述数据包括从码流数据包净荷中提取的多 媒体解码数据, 以及从码流数据包头中提取的相关信息。所述码流格式可以包括但不限于 H.264、 mpeg1、 mpeg2、 mpeg4、 mp3、 mp4、 wmv 等。各个解码器提供统一的接口单元 ; 所述接口 单元至少包括识别接口单元以及参数集信息接口单元, 识别接口单元用于根据码流的属性 信息识别码流的格式 ; 参数集信息接口单元用于对外输出从码流中提取的数据。
     组件模块 102 用于调用解码器识别接口单元选择相应的解码器, 并根据来自用户 界面模块 103 的操作指示, 调用解码器库 101 对应的接口单元, 以及接收来自解码器库 101 的数据, 将所述数据输出至用户界面模块 103。
     组件模块 102 提供如下功能单元实现分析、 统计、 编辑操作 :
     分析单元, 用于对解码数据进行分析, 显示解码数据的相关参数信息, 例如, 显示 当前帧图像的大小, 编码压缩效率。
     统计单元, 用于根据预先定义或者用户自定义的公式, 根据解码数据和 / 或头部 信息进行相关统计计算, 并在码流结果表示界面或数据列表界面显示计算结果, 比如统计 码流中特定类型的帧占全部帧的比例。帧类型包括 I 类型、 P 类型以及 B 类型。
     编辑单元, 用于对头部信息进行修改, 比如更改当前帧的时间戳 (time_stamp)。
     用户界面模块 103 用于提供用户可见的人机交互界面, 将码流数据形象地展示, 接收来自用户的操作指示, 将所述操作指示输出至组件模块 102 ; 以及在所述人机交互界 面上显示来自组件模块 102 的数据。
     用户界面模块 103 所显示的主界面分为三个部分, 分别是码流层次结构表示界面 201、 数据列表界面 202 以及解码结果表示界面 203, 如图 2 所示。其中, 码流层次结构表示 界面 201 用树状结构表示了欲分析的码流的语法结构, 数据列表界面 202 用表格给出了码 流各个参数的语义, 解码结果表示界面 203 用图像展示了解码结果。
     多媒体编码数据具有压缩率高的特点, 解码是一个相当耗费计算资源的过程。以 下以常见的 mpeg4 格式为例说明多媒体码流的结构特点。图 3 根据 mpeg4 视频码流标 准 -ISO/IEC 14496-2 形象地给出了 mpeg4 格式码流的语法层次结构。图中, mpeg4ASPBitstream 表示了一个符合 mpeg4ASP profile 的码流, VOSi 代表了此码流的第 i 个视 觉对象序列 (Visual Object Sequence), VOi 代表了 VOSi 中的第 i 个视觉对象 (Visual Object), VOLi 代表了 VOi 中的第 i 个视觉对象层 (Video Object Layer), VOPi 代表了 VOLi 中的第 i 个视觉对象平面 (Video Object Plane), MBi 代表了 VOPi 中的第 i 个宏块 (Macro Block), SB1 到 SB6 代表了 MBi 中的六个子块 (Sub-Block)。多媒体数据都具有与图 3 类似 的码流语法层次结构, 这是由各种压缩标准所规定的。
     现有技术中采用的方式通常是只对码流中的一部分内容进行分析, 例如分析内容 限于文件头和数据包头 ; 或者, 只分析码流的比特率信息。这样从码流中得到的数据具有 很大的局限。本发明方案可以对码流中的全部信息进行分析, 但为了节约计算资源采用按 需分析的方式。本发明将各类型多媒体数据语法结构上的每个单元称为 “节点” 或 “语法 节点” 。码流中包括多个层次的节点, 并将其中某一层节点定义为 “主干节点” 或者 “主要节 点” 。例如在视频码流中, 将帧所对应的节点称为 “主干节点” 或者 “主要节点” , 在图 3 中, 帧所对应的节点是 VOP。
     解码器库包含了多于一个的解码器, 按组件模块的调用需求, 这些解码器将对码 流进行解码。本发明实施例的解码器库包含了 H.264 解码器, mp3 解码器, mpeg1/2 解码器, jpeg 解码器。每个解码器库设计了多个接口单元。对于每一个解码器来说, 都应该具有如 下接口单元 : 识别接口单元 : 每一种码流归属于一类编码标准, 因此每种码流都有独特的起始 码来标识自己属于何种编码格式, 该起始码即为前文所述的属性信息。例如, 十六进制数 0x000001B0 为 Visual Object Sequence 的起始码, 标识了 mpeg4 码流一个 VOS 的开始。解 码器将根据自身支持的的编码格式判断本解码器是否支持当前码流的解码。
     主要信息接口单元 : 解码码流中的主要节点以及主要节点的上层节点, 列出码流 的语法层次结构信息 ;
     主要节点解码接口单元 : 解码当前选中的主要节点, 如果该节点之下还有码流 语法层次的话, 解码这些层次之上的节点, 比如主要节点——帧之下还有 Macro Block 和 Sub-Block 两层节点 ;
     参数集信息接口单元 : 每一个节点都有其不同的参数集信息, 音频数据还有音频 脉冲数据信息, 视频还有图像数据信息, 解码器的此接口将提供这些信息 ;
     保存文件接口单元 : 解码器按照用户操作保存被修改后的码流 ;
     解码器信息接口单元 : 用于提供解码器解码过程中的相关信息, 以便实现错误控 制, 解码状态控制等功能。 例如, 在出错时解码器可以输出出错状态值 ; 在解码耗时较长时, 可以通过这一接口提供解码进度。
     关闭解码器接口单元 : 在替换解码器或关闭分析工具时, 释放解码器使用的软硬 件资源 ;
     由以上描述可知, 多媒体数据分层结构复杂, 解码过程耗费资源。有鉴于此, 本发 明将码流分析装置的运行流程设计成按需进行的方式, 如图 4 所示, 包括如下步骤 :
     步骤 401 : 打开阶段 : 根据输入的码流的属性信息, 从多于一个的解码器中选择 与该属性信息匹配的解码器 ; 用所选择的解码器对所述码流进行解码, 提取出码流中的数 据;
     步骤 402 : 分析阶段 : 在用户可见的人机交互界面上显示所述提取自码流中的数据。 步骤 403 : 关闭阶段 : 关闭码流文件, 关闭解码器, 释放程序运行时占用的资源。 如 果使用者对码流进行了编辑, 则将修改的内容进行保存。
     以下通过一具体实施例对按需解码过程的过程进行具体说明。 本发明实施例的具 体流程如图 5 所示, 包括如下步骤 :
     步骤 501 : 根据输入的码流的属性信息, 选择与该属性信息匹配的解码器。
     本发明实施例在实现各个解码器时, 每个解码器都包括一个识别子模块, 用于判 断输入的码流的属性信息是否与本解码器匹配。 组件模块通过调用各个解码器的识别子模 块, 来选择可以支持这一码流的解码器。 当找到能支持当前码流的解码器后, 组件模块将会 调用该解码器对码流进行分析, 后续的解码动作都由该解码器完成 ; 如果没有一个解码器 能支持当前的码流, 则表示不支持这一码流, 通过用户界面模块显示相应的提示信息。
     步骤 502 : 由所述支持当前码流的解码器获取码流主要信息。
     码流主要信息可以由各个解码器单独来定义, 一般可以定义为 : 主要节点以及主 要节点的上层节点的相关信息。比如对于视频码流来说, 码流主要信息定义在帧以及帧以 上的层次, 特别地, mpeg4 ASP Bitstream 将码流主要信息定义在 VOP、 VOL、 VO、 VOS 四层。 这一定义决定了首次打开码流时的解码复杂度, 因此是影响工具效率的因素之一。
     步骤 503 : 根据使用者的选择确定当前节点, 根据预先定义的主要节点判断当前 节点是否为主要节点, 若是则执行步骤 504, 否则转至步骤 505。
     具体实施方式如下 : 使用者用鼠标点击码流层次结构表示界面中显示的某一个节 点, 用户界面模块将用户点击节点的信息发送到组件模块, 组件模块收到用户界面模块的 信息后, 将使用者点击的节点作为当前节点, 调用支持当前码流的解码器判断当前节点是 否为其所定义的主要节点, 解码器将判断结果返回组件模块。
     步骤 504 : 组件模块调用解码器获取当前主要节点下的子节点信息。本实施例如 图 3 所示, 主要节点会包含两层子节点。
     步骤 505 : 组件模块调用解码器对当前模块进行解码, 获取语法节点的头部信息 和解码得到的数据。 码流的每一个语法节点都有对应的头部信息, 如 mpeg4 ASP Bitstream 的 VOL 节 点 就 会 有 帧 类 型 (picture_type)、 时 间 戳 (time_stamp)、 宽 度 (width)、 高度 (height) 等头部信息。解码得到的数据, 比如音频码流解码出来的是脉冲编码调制波形数 据, 视频码流解码出来的是某一色度空间的图像数据。
     步骤 506 : 对头部信息和数据进行分析、 统计和 / 或编辑操作。当头部信息和解码 数据被获取后, 头部信息会以字符串的形式展示在数据列表界面, 解码数据以波形或图像 的形式展示在码流结果表示界面。
     步骤 507 : 当使用者进行了码流的编辑操作, 然后请求保存修改后码流文件的副 本时, 保存修改后的码流文件。该步骤仅当使用者进行了码流编辑操作时执行, 为可选步 骤。
     步骤 508 : 使用者继续点击码流语法节点进行分析, 此时流程将转到步骤 503, 若 使用者未点击其他码流语法节点, 则执行步骤 509。
     步骤 509 : 使用者选择退出后, 组件模块将释放解码器资源, 关闭解码器, 释放运
     行时资源, 并退出程序。
     本发明提出的码流分析方法和装置可以对多种音频文件、 视频文件以及图像数据 进行分析。码流信息被直观地展示给用户, 对于音频文件, 可以分析文件的采样率、 码率等 参数, 分析每一个采样点的值 ; 对于视频文件, 可以读取编码器、 帧类型、 宏块类型等参数, 可以观察每帧的图像、 每个宏块的运动向量、 宏块色度空间数据等等信息。
     本发明方案中, 码流分析装置的架构包括用户操作窗口、 组件和解码器库, 很好地 解决了多种解码器、 多种数据类型在同一平台运行和共享的问题。这一问题的解决能提升 码流分析装置的兼容性和功能。在流程设计上采用 “按需解码” 的方式, 可以精确地响应使 用者的分析需求, 并且极大地提升了运行效率。本发明对于解码器设计了 7 个接口, 统一了 不同码流格式的解码器, 提供了码流分析、 信息统计、 码流编辑的功能。按照本发明的码流 分析方案支持码流数据的分析、 信息统计和码流编辑, 有功能丰富、 兼容性好和易于扩展的 特点。
     通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借 助软件加必需的硬件平台的方式来实现, 当然也可以全部通过硬件来实施, 但很多情况下 前者是更佳的实施方式。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部 或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中, 如 ROM/RAM、 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备 ( 可以是个人计算机, 服务 器, 或者网络设备等 ) 执行本发明各个实施例或者实施例的某些部分所述的方法。
     以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。

一种码流分析方法和装置.pdf_第1页
第1页 / 共12页
一种码流分析方法和装置.pdf_第2页
第2页 / 共12页
一种码流分析方法和装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种码流分析方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种码流分析方法和装置.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101990094A43申请公布日20110323CN101990094ACN101990094A21申请号200910161863622申请日20090805H04N7/26200601G06F3/04820060171申请人炬力集成电路设计有限公司地址519085广东省珠海市唐家湾镇哈工大路1号15栋1单元1号72发明人赵新中陈家大马明刚万宜陈展梁炜新张俊何东岭谢宜昊74专利代理机构北京德琦知识产权代理有限公司11018代理人谢安昆宋志强54发明名称一种码流分析方法和装置57摘要本发明公开了一种码流分析装置,包括由多于一个的解码器所组成的解码器库、组件模块和用户界面模块。。

2、所述组件模块用于根据输入的码流选择相应的解码器,并根据来自用户界面模块的操作指示,调用解码器库对应的接口单元,以及接收来自解码器库的数据,将所述数据输出至用户界面模块;所述用户界面模块用于提供用户可见的人机交互界面,接收来自用户的操作指示,将所述操作指示输出至组件模块;以及在所述人机交互界面上显示来自组件模块的数据。本发明还公开了一种基于上述码流分析装置实现的码流分析方法。本发明提出的码流分析装置可以支持多种编码标准的多媒体码流。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页CN101990094A1/2页21一种码流分析装置,其特征在于,包括解。

3、码器库,由多于一个的解码器和统一的接口单元所组成,每个解码器用于对一种编码格式码流进行解码,提取出码流中的数据;所述统一的接口单元至少包括识别接口单元以及参数集信息接口单元,识别接口单元用于根据码流的属性信息识别码流的格式;参数集信息接口单元用于输出从码流中提取的数据;组件模块,调用解码器识别接口单元选择相应的解码器,并根据来自用户界面模块的操作指示,调用解码器库的统一的接口单元,以及接收来自解码器库的参数集信息接口单元输出的数据,将所述数据输出至用户界面模块;用户界面模块,用于提供用户可见的人机交互界面,接收来自用户的操作指示,将所述操作指示输出至组件模块;以及在所述人机交互界面上显示来自组。

4、件模块的数据。2根据权利要求1所述的码流分析装置,其特征在于,所述组件模块进一步包括分析单元,用于对来自解码器库的数据进行分析,将分析结果输出至用户界面模块。3根据权利要求1所述的码流分析装置,其特征在于,所述组件模块进一步包括统计单元,用于根据预先定义或者用户自定义的公式,对来自解码器库的数据进行相关统计计算,并将计算结果输出至用户界面模块。4根据权利要求1所述的码流分析装置,其特征在于,所述解码器提供的统一的接口单元还包括主要信息接口单元,用于解码码流中的主要节点以及主要节点的上层节点,列出码流的语法层次结构信息;所述主要节点为码流语法层次中预先指定的第N层节点,N为自然数;主要节点解码接。

5、口单元,用于对当前选中的主要节点以及所述主要节点的下层节点进行解码。5根据权利要求4所述的码流分析装置,其特征在于,所述码流为视频码流,所述主要节点为帧对应的语法结构节点。6根据权利要求1所述的码流分析装置,其特征在于,所述组件模块进一步包括编辑模块,用于根据用户指令,对来自解码器库的数据中的头部信息进行修改;所述解码器提供的接口单元进一步包括保存文件接口单元,用于按照所述编辑模块实施的修改,对修改后的码流进行保存。7根据权利要求1所述的码流分析装置,其特征在于,所述解码器提供的统一的接口单元还包括关闭解码器接口单元,用于释放解码器使用的软硬件资源。8根据权利要求1所述的码流分析装置,其特征在。

6、于,所述解码器提供的统一的接口单元还包括解码器信息接口单元,用于提供解码器解码过程中的相关信息。9根据权利要求1至8任一项所述的码流分析装置,其特征在于,所述用户界面模块进一步包括码流层次结构表示界面,用树状结构表示码流的语法结构;或数据列表界面,用表格给出了码流各个参数的语义;或解码结果表示界面,用图像展示解码结果。10一种码流分析方法,其特征在于,包括如下步骤根据输入的码流的属性信息,从多于一个的解码器中选择与该属性信息匹配的解码权利要求书CN101990094A2/2页3器;用所选择的解码器对所述码流进行解码,提取出码流中的数据;在用户可见的人机交互界面上显示所述提取自码流中的数据。11。

7、根据权利要求10所述的方法,其特征在于,所述在用户可见的人机交互界面上显示所述提取自码流中的数据的步骤包括对所述数据进行分析,在人机交互界面上显示分析结果。12根据权利要求10所述的方法,其特征在于,所述在用户可见的人机交互界面上显示所述提取自码流中的数据的步骤包括根据预先定义或者用户自定义的公式,对所述数据进行相关统计计算,在人机交互界面上显示计算结果。13根据权利要求10所述的方法,其特征在于,所述用所选择的解码器对所述码流进行解码,提取出码流中的数据的步骤包括解码码流中的主要节点以及主要节点的上层节点,列出码流的语法层次结构信息;所述主要节点为码流语法层次中预先指定的第N层节点,N为自然。

8、数。14根据权利要求13所述的方法,其特征在于,所述列出码流的语法层次结构信息之后进一步包括将用户选择的主要节点作为当前主要节点,对当前主要节点的下层节点进行解码。15根据权利要求10所述的方法,其特征在于,所述在用户可见的人机交互界面上显示所述提取自码流中的数据之后,进一步包括对所述数据中的头部信息进行修改,并保存修改后的码流。权利要求书CN101990094A1/6页4一种码流分析方法和装置技术领域0001本发明涉及音视频编解码技术领域,特别涉及一种码流分析的方法和装置。背景技术0002近年来,随着集成电路技术的不断革新和发展,消费电子产业得到了长足的发展。消费电子产品所具有的一大功能是对。

9、多媒体内容的兼容,因此各大消费电子产品厂商十分重视多媒体解码器和编码器的研发。在相关研发过程中,获取并分析多媒体码流中的编码信息都是十分重要的环节,该环节被称为码流分析。0003涉足多媒体编解码器的公司都发布了用于进行码流分析的工具,但这些公司发布的码流分析工具的适用范围一般仅限于本公司的编码标准,只能支持一种或很少的几种编码格式码流。而目前流行的编码标准分属好几个公司,没有哪一种码流分析工具可以支持全部常用的编码标准。目前进行码流分析时,使用码流分析工具A对符合A公司编码标准的多媒体码流进行分析;当需要对符合B公司编码标准的多媒体码流进行分析时,只能换用另一个码流分析工具,使用起来很不方便。。

10、发明内容0004有鉴于此,本发明的目的在于,提出一种码流分析方法和装置,可以对符合各种常用编码标准的多媒体码流进行分析。0005本发明实施例提出的一种码流分析装置包括0006解码器库,由多于一个的解码器和统一的接口单元所组成,每个解码器用于对一种编码格式码流进行解码,提取出码流中的数据;所述统一的接口单元至少包括识别接口单元以及参数集信息接口单元,识别接口单元用于根据码流的属性信息识别码流的格式;参数集信息接口单元用于输出从码流中提取的数据;0007组件模块,调用解码器识别接口单元选择相应的解码器,并根据来自用户界面模块的操作指示,调用解码器库的统一的接口单元,以及接收来自解码器库的参数集信息。

11、接口单元输出的数据,将所述数据输出至用户界面模块;0008用户界面模块,用于提供用户可见的人机交互界面,接收来自用户的操作指示,将所述操作指示输出至组件模块;以及在所述人机交互界面上显示来自组件模块的数据。0009所述组件模块进一步包括分析单元,用于对来自解码器库的数据进行分析,将分析结果输出至用户界面模块。0010所述组件模块还可以进一步包括统计单元,用于根据预先定义或者用户自定义的公式,对来自解码器库的数据进行相关统计计算,并将计算结果输出至用户界面模块。0011所述解码器提供的统一的接口单元还包括0012主要信息接口单元,用于解码码流中的主要节点以及主要节点的上层节点,列出码流的语法层次。

12、结构信息;所述主要节点为码流语法层次中预先指定的第N层节点,N为自然数;说明书CN101990094A2/6页50013主要节点解码接口单元,用于对当前选中的主要节点以及所述主要节点的下层节点进行解码。0014所述码流为视频码流,所述主要节点为帧对应的语法结构节点。0015所述组件模块进一步包括编辑模块,用于根据用户指令,对来自解码器库的数据中的头部信息进行修改;0016所述解码器提供的接口单元进一步包括保存文件接口单元,用于按照所述编辑模块实施的修改,对修改后的码流进行保存。0017所述解码器提供的统一的接口单元还包括关闭解码器接口单元,用于释放解码器使用的软硬件资源。0018所述解码器提供。

13、的统一的接口单元还包括解码器信息接口单元,用于提供解码器解码过程中的相关信息。0019所述用户界面模块进一步包括0020码流层次结构表示界面,用树状结构表示码流的语法结构;或0021数据列表界面,用表格给出了码流各个参数的语义;或0022解码结果表示界面,用图像展示解码结果。0023本发明实施例提出的一种码流分析方法包括如下步骤0024根据输入的码流的属性信息,从多于一个的解码器中选择与该属性信息匹配的解码器;0025用所选择的解码器对所述码流进行解码,提取出码流中的数据;0026在用户可见的人机交互界面上显示所述提取自码流中的数据。0027所述在用户可见的人机交互界面上显示所述提取自码流中的。

14、数据的步骤包括0028对所述数据进行分析,在人机交互界面上显示分析结果。0029所述在用户可见的人机交互界面上显示所述提取自码流中的数据的步骤包括0030根据预先定义或者用户自定义的公式,对所述数据进行相关统计计算,在人机交互界面上显示计算结果。0031所述用所选择的解码器对所述码流进行解码,提取出码流中的数据的步骤包括0032解码码流中的主要节点以及主要节点的上层节点,列出码流的语法层次结构信息;所述主要节点为码流语法层次中预先指定的第N层节点,N为自然数。0033所述列出码流的语法层次结构信息之后进一步包括0034将用户选择的主要节点作为当前主要节点,对当前主要节点的下层节点进行解码。00。

15、35所述在用户可见的人机交互界面上显示所述提取自码流中的数据之后,进一步包括0036对所述数据中的头部信息进行修改,并保存修改后的码流。0037从以上技术方案可以看出,在码流分析装置中设置多种解码器,采用统一的平台运行各种解码器,对于输入的码流自动识别出对应的解码器进行解码,从而实现支持多种编码标准的多媒体码流。更进一步地,本发明采用按需解码的方式,可以精确地响应使用者的分析需求,并极大地提升了工具的运行效率;本发明方案可以在对码流数据分析的基础上,进行信息统计、码流编辑等操作,更加丰富了码流分析的功能。说明书CN101990094A3/6页6附图说明0038图1为本发明实施例提出的码流分析装。

16、置的结构框图;0039图2为图1所示码流分析装置的用户界面模块103所显示的主界面的示意图;0040图3为MPEG4格式码流的语法层次结构示意图;0041图4为本发明实施例的码流分析装置的运行流程图;0042图5为本发明实施例的码流分析流程图。具体实施方式0043为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。0044本发明实施例提出的码流分析装置的结构框图如图1所示,该码流分析装置主要包括解码器库101、组件模块102和用户界面模块103。0045解码器库101包括多于一个的解码器,每个解码器对应一种格式的码流,用于对该格式的码流进行解码,提取码流中的数据。。

17、所述数据包括从码流数据包净荷中提取的多媒体解码数据,以及从码流数据包头中提取的相关信息。所述码流格式可以包括但不限于H264、MPEG1、MPEG2、MPEG4、MP3、MP4、WMV等。各个解码器提供统一的接口单元;所述接口单元至少包括识别接口单元以及参数集信息接口单元,识别接口单元用于根据码流的属性信息识别码流的格式;参数集信息接口单元用于对外输出从码流中提取的数据。0046组件模块102用于调用解码器识别接口单元选择相应的解码器,并根据来自用户界面模块103的操作指示,调用解码器库101对应的接口单元,以及接收来自解码器库101的数据,将所述数据输出至用户界面模块103。0047组件模块。

18、102提供如下功能单元实现分析、统计、编辑操作0048分析单元,用于对解码数据进行分析,显示解码数据的相关参数信息,例如,显示当前帧图像的大小,编码压缩效率。0049统计单元,用于根据预先定义或者用户自定义的公式,根据解码数据和/或头部信息进行相关统计计算,并在码流结果表示界面或数据列表界面显示计算结果,比如统计码流中特定类型的帧占全部帧的比例。帧类型包括I类型、P类型以及B类型。0050编辑单元,用于对头部信息进行修改,比如更改当前帧的时间戳TIME_STAMP。0051用户界面模块103用于提供用户可见的人机交互界面,将码流数据形象地展示,接收来自用户的操作指示,将所述操作指示输出至组件模。

19、块102;以及在所述人机交互界面上显示来自组件模块102的数据。0052用户界面模块103所显示的主界面分为三个部分,分别是码流层次结构表示界面201、数据列表界面202以及解码结果表示界面203,如图2所示。其中,码流层次结构表示界面201用树状结构表示了欲分析的码流的语法结构,数据列表界面202用表格给出了码流各个参数的语义,解码结果表示界面203用图像展示了解码结果。0053多媒体编码数据具有压缩率高的特点,解码是一个相当耗费计算资源的过程。以下以常见的MPEG4格式为例说明多媒体码流的结构特点。图3根据MPEG4视频码流标准ISO/IEC144962形象地给出了MPEG4格式码流的语法。

20、层次结构。图中,MPEG4ASP说明书CN101990094A4/6页7BITSTREAM表示了一个符合MPEG4ASPPROFILE的码流,VOSI代表了此码流的第I个视觉对象序列VISUALOBJECTSEQUENCE,VOI代表了VOSI中的第I个视觉对象VISUALOBJECT,VOLI代表了VOI中的第I个视觉对象层VIDEOOBJECTLAYER,VOPI代表了VOLI中的第I个视觉对象平面VIDEOOBJECTPLANE,MBI代表了VOPI中的第I个宏块MACROBLOCK,SB1到SB6代表了MBI中的六个子块SUBBLOCK。多媒体数据都具有与图3类似的码流语法层次结构,这。

21、是由各种压缩标准所规定的。0054现有技术中采用的方式通常是只对码流中的一部分内容进行分析,例如分析内容限于文件头和数据包头;或者,只分析码流的比特率信息。这样从码流中得到的数据具有很大的局限。本发明方案可以对码流中的全部信息进行分析,但为了节约计算资源采用按需分析的方式。本发明将各类型多媒体数据语法结构上的每个单元称为“节点”或“语法节点”。码流中包括多个层次的节点,并将其中某一层节点定义为“主干节点”或者“主要节点”。例如在视频码流中,将帧所对应的节点称为“主干节点”或者“主要节点”,在图3中,帧所对应的节点是VOP。0055解码器库包含了多于一个的解码器,按组件模块的调用需求,这些解码器。

22、将对码流进行解码。本发明实施例的解码器库包含了H264解码器,MP3解码器,MPEG1/2解码器,JPEG解码器。每个解码器库设计了多个接口单元。对于每一个解码器来说,都应该具有如下接口单元0056识别接口单元每一种码流归属于一类编码标准,因此每种码流都有独特的起始码来标识自己属于何种编码格式,该起始码即为前文所述的属性信息。例如,十六进制数0X000001B0为VISUALOBJECTSEQUENCE的起始码,标识了MPEG4码流一个VOS的开始。解码器将根据自身支持的的编码格式判断本解码器是否支持当前码流的解码。0057主要信息接口单元解码码流中的主要节点以及主要节点的上层节点,列出码流的。

23、语法层次结构信息;0058主要节点解码接口单元解码当前选中的主要节点,如果该节点之下还有码流语法层次的话,解码这些层次之上的节点,比如主要节点帧之下还有MACROBLOCK和SUBBLOCK两层节点;0059参数集信息接口单元每一个节点都有其不同的参数集信息,音频数据还有音频脉冲数据信息,视频还有图像数据信息,解码器的此接口将提供这些信息;0060保存文件接口单元解码器按照用户操作保存被修改后的码流;0061解码器信息接口单元用于提供解码器解码过程中的相关信息,以便实现错误控制,解码状态控制等功能。例如,在出错时解码器可以输出出错状态值;在解码耗时较长时,可以通过这一接口提供解码进度。0062。

24、关闭解码器接口单元在替换解码器或关闭分析工具时,释放解码器使用的软硬件资源;0063由以上描述可知,多媒体数据分层结构复杂,解码过程耗费资源。有鉴于此,本发明将码流分析装置的运行流程设计成按需进行的方式,如图4所示,包括如下步骤0064步骤401打开阶段根据输入的码流的属性信息,从多于一个的解码器中选择与该属性信息匹配的解码器;用所选择的解码器对所述码流进行解码,提取出码流中的数据;说明书CN101990094A5/6页80065步骤402分析阶段在用户可见的人机交互界面上显示所述提取自码流中的数据。0066步骤403关闭阶段关闭码流文件,关闭解码器,释放程序运行时占用的资源。如果使用者对码流。

25、进行了编辑,则将修改的内容进行保存。0067以下通过一具体实施例对按需解码过程的过程进行具体说明。本发明实施例的具体流程如图5所示,包括如下步骤0068步骤501根据输入的码流的属性信息,选择与该属性信息匹配的解码器。0069本发明实施例在实现各个解码器时,每个解码器都包括一个识别子模块,用于判断输入的码流的属性信息是否与本解码器匹配。组件模块通过调用各个解码器的识别子模块,来选择可以支持这一码流的解码器。当找到能支持当前码流的解码器后,组件模块将会调用该解码器对码流进行分析,后续的解码动作都由该解码器完成;如果没有一个解码器能支持当前的码流,则表示不支持这一码流,通过用户界面模块显示相应的提。

26、示信息。0070步骤502由所述支持当前码流的解码器获取码流主要信息。0071码流主要信息可以由各个解码器单独来定义,一般可以定义为主要节点以及主要节点的上层节点的相关信息。比如对于视频码流来说,码流主要信息定义在帧以及帧以上的层次,特别地,MPEG4ASPBITSTREAM将码流主要信息定义在VOP、VOL、VO、VOS四层。这一定义决定了首次打开码流时的解码复杂度,因此是影响工具效率的因素之一。0072步骤503根据使用者的选择确定当前节点,根据预先定义的主要节点判断当前节点是否为主要节点,若是则执行步骤504,否则转至步骤505。0073具体实施方式如下使用者用鼠标点击码流层次结构表示界。

27、面中显示的某一个节点,用户界面模块将用户点击节点的信息发送到组件模块,组件模块收到用户界面模块的信息后,将使用者点击的节点作为当前节点,调用支持当前码流的解码器判断当前节点是否为其所定义的主要节点,解码器将判断结果返回组件模块。0074步骤504组件模块调用解码器获取当前主要节点下的子节点信息。本实施例如图3所示,主要节点会包含两层子节点。0075步骤505组件模块调用解码器对当前模块进行解码,获取语法节点的头部信息和解码得到的数据。码流的每一个语法节点都有对应的头部信息,如MPEG4ASPBITSTREAM的VOL节点就会有帧类型PICTURE_TYPE、时间戳TIME_STAMP、宽度WI。

28、DTH、高度HEIGHT等头部信息。解码得到的数据,比如音频码流解码出来的是脉冲编码调制波形数据,视频码流解码出来的是某一色度空间的图像数据。0076步骤506对头部信息和数据进行分析、统计和/或编辑操作。当头部信息和解码数据被获取后,头部信息会以字符串的形式展示在数据列表界面,解码数据以波形或图像的形式展示在码流结果表示界面。0077步骤507当使用者进行了码流的编辑操作,然后请求保存修改后码流文件的副本时,保存修改后的码流文件。该步骤仅当使用者进行了码流编辑操作时执行,为可选步骤。0078步骤508使用者继续点击码流语法节点进行分析,此时流程将转到步骤503,若使用者未点击其他码流语法节点。

29、,则执行步骤509。0079步骤509使用者选择退出后,组件模块将释放解码器资源,关闭解码器,释放运说明书CN101990094A6/6页9行时资源,并退出程序。0080本发明提出的码流分析方法和装置可以对多种音频文件、视频文件以及图像数据进行分析。码流信息被直观地展示给用户,对于音频文件,可以分析文件的采样率、码率等参数,分析每一个采样点的值;对于视频文件,可以读取编码器、帧类型、宏块类型等参数,可以观察每帧的图像、每个宏块的运动向量、宏块色度空间数据等等信息。0081本发明方案中,码流分析装置的架构包括用户操作窗口、组件和解码器库,很好地解决了多种解码器、多种数据类型在同一平台运行和共享的。

30、问题。这一问题的解决能提升码流分析装置的兼容性和功能。在流程设计上采用“按需解码”的方式,可以精确地响应使用者的分析需求,并且极大地提升了运行效率。本发明对于解码器设计了7个接口,统一了不同码流格式的解码器,提供了码流分析、信息统计、码流编辑的功能。按照本发明的码流分析方案支持码流数据的分析、信息统计和码流编辑,有功能丰富、兼容性好和易于扩展的特点。0082通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明各个实施例或者实施例的某些部分所述的方法。0083以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。说明书CN101990094A1/3页10图1图2图3说明书附图CN101990094A2/3页11图4说明书附图CN101990094A3/3页12图5说明书附图。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1