admin 管理员组

文章数量: 1086019


2024年4月25日发(作者:ros系统和linux的区别)

Digital video l 

数字觎频l 

文章编号:1002—8692(201 1)03-0015-03 

AVS视频码流解析软件QtAVS的设计与实现 

史秦青a,万馨忆a,肖 融a,黄铁军 

(北京大学a.信息科学技术学院;b.数字媒体研究所,北京100871) 

【摘 要】码流分析对音视频编码标准产业化和应用十分重要。针对我国组织制订的AVS视频编解码标准GB/T 20090.2,利用新 

代面向对象、跨平台的图形用户界面语言Qt设计实现了AVS视频码流解析软件QtAVS,该软件能够正确解析AVS视频码流, 

并可在序列、帧、块3个层次上对码流元素进行可视化显示。QtAVS的所有源代码已在AVS工作组网站开放,可用于进一步开发 

AVS码流分析仪等软件和系统。 

【关键词】AVS标准;Qt语言;视频解码;码流分析 

【中图分类号】TN941.1;TN919.81 【文献标识码】A 

Design and Implementation of AVS Video Bitstream Analyzer QtAVS 

SHI Qinqing ̄,WAN Xinyi ,XIAO Rong",HUANG Ti ̄un 

( School of Electronics Engineering and Computer Science;b.Institute for D tal Media Technology,Peking University,Bering 100871,China) 

【Abstract】Video decoder plays a vital role in application and industiralization of the audio and video coding standards.Focused 

on GB/T 20090.2,a Chinese—designed AVS standard,the design and implementation of QtAVS using a cross—platform and object 

oriented UI framework language Qt is introduced,which can decode AVS stream correctly as well as display decoder elements on 

video sequence.frame and block levels.The source code of QtAVS which has already been publicly accessed at AVS working 

group website could be further used in development of AVS video stream analysis software or system. 

【Key words】AVS;Qt;video decoder;video stream analysis 

0 引言 

鉴于码流分析对AVS标准的产业化应用的重要性, 

数字媒体技术为多媒体产业的发展提供了一股新 

笔者等人利用Qt开发了AVS视频码流解析软件QtAVS。 

的力量,视频编解码技术作为多媒体技术的核心也在 

1 Qt及其设计方法 

这一潮流中得到越来越多的重视。我国自主开发的 

Ot是一个跨平台的C++图形用户界面应用程序框 

AVS视频编码标准更是由于其高效、低复杂度等显著 

架。它包含一个类库和用于跨平台开发与国际化的工 

优势倍受业内各界瞩目。 

具。它为应用程序开发者提供了建立艺术级图形用户 

AVS标准是我国具备自主知识产权的第二代信源 

界面所需的所有功能。Qt是完全面向对象的,易扩展且 

编码标准,是《信息技术先进音视频编码》系列标准的 

允许真正的组件编程。Qt API在所有支持的平台上均 

简称,包括系统、视频、音频、数字版权管理等4个主要 

相同,Qt工具在这些平台上的使用方式也一致,因而Qt 

技术标准和一致性测试等支撑标准。事实证明,AVS标 

的应用开发和部署与平台无关。 

准具有以下优点:1)高效性,在高清晰度电视(HDTV) 

基本上,Qt同X—Window上的Motif,Openwin,GTK 

视频编码性能上与H.264编码效率相当,比MPEG一2 

等图形界面库和Windows平台上的MFC,OWL,VCL, 

高出2倍以上Ⅲ;2)低复杂度,没有许多在HDTV和高 

ATL是同类型的,不过Qt还具有下列一些优点:优良的 

清视盘机应用中不需要的编码工具,编码算法复杂度 

跨平台特性、面向对象、丰富的API、支持2D/3D图形渲 

明显低于H.264:3)兼容现有MPEG一2系统,现有电 

染、支持OpenGL、大量的开发文档、XML支持等。 

视台基于MPEG一2编辑和传输系统不需要改变『21。 

信号和槽机制是Qt的核心机制 。可以定义一个函 

AVS作为一种高性能的视频编码标准,采用了一 

数是信号或者槽,一个信号对应一个槽,如果一个信号 

系列先进技术来达到高效的视频编码压缩,其中的核 

被调用,相应的槽也被调用。 

心技术[31包括8x8整数变换、帧内预测、1/4精度像素插 

当某个信号对其客户或所有者的内部状态发生改 

值、帧间预测、二维熵编码、去块效应滤波等。 

基金项目:国家“973”计划项目(2009CB3209006) 

。 年第, 卷第。 期c总第。 。期, 

视技求

E ngi

n e e

ring 

15 

video 

变,信号被一个对象发射。只有定义过这个信号的类 

及其派生类能够发射这个信号。当一个信号被发射 

时,与其相关联的槽将被立刻执行,就像一个正常的 

函数调用一样。信号一槽机制完全独立于任何GUI事 

件循环。只有当所有的槽返回以后,发射函数才返回。 

槽是普通的C++成员函数,可以被正常调用。当与其关 

联的信号被发射时,这个槽就会被调用。 

通过调用QObject对象的connect函数来将某个 

的参考帧计算后得到的包括一个或多个连续的编码图 

像的视频序列,是编码比特流的最高层语法结构,为接 

下来重排后的显示作准备。 

2.1.2原始码流提取 

在构建解码器过程中需要反复用到文件操作,例如 

读人或观察数据以及处理特殊含义的字节。在面向对象 

的设计中.可以设计专门处理文件操作的类,并且具有 

系列便捷的函数接口供AVS视频解码使用,例如:读 

对象的信号与另外一个对象的槽函数相关联.这样当 

发射者发射信号时,接收者的槽函数将被调用。 

2 QtAVS视频码流解析设计 

根据AVS视频编码标准【51,AVS视频解码器流程如 

图1所示。AVS视频采用混合编码框架,包括变换、量 

化、帧内预测、帧间预测、环路滤波等技术模块,所以 

解码过程就需要对提取的码流进行反量化、反变换、结 

合残差值与预测值并经过环路滤波后逐块重构图像。 

相应的,针对Qt面向对象的结构化特点,用解码和界 

面显示2个部分作为解码器主功能模块。解码部分对 

应自上而下的视频序列、帧、块,分别设计了解码元素 

及码流提起、帧处理、宏块及块处理类3层的分层结 

构,以不同粒度进行解码控制,并最终得到图像序列。 

界面显示部分需要显示并播放图像的同时能够显示所 

有相关信息,两者通过树结构关联在一起。 

…………… 

趣 

反量化 

…r 一 

反变换 

警 

帧内 

预测 

一 ≥ 

内,帧间 若 F谣 

一 

图1 AVS视频解码器流程图 

2.1解码模块的具体实现 

2.1.1 AVS解码元素 

AVS解码器的基本任务就是从读入的二进制码流 

提取出各帧的亮度、色度等信息,所以设计了总AVS 

解码类,每一个类实例按照如下流程处理一个AVS视 

频码流:1)查看是否有视频编解码:2)记录读人序 

列头;3)读人扩展以及用户信息;4)循环读入IBP帧 

并设置参考帧。AVS解码元素经过一遍扫描以及递归 

1 6 2011年第35卷第03期(总第353期) 

入或观察指定比特数据、整数、校验位,忽略指定比特数 

据、读入观察无符号整数、寻找起始码、 阶哥伦布编码 

读取一个整数、判断条带结束、填充比特。 

2.1.3 AVS帧分析 

针对AVS帧的处理包括如下步骤:首先,读入包括 

视频扩展标号、帧中心水平与垂直偏移等扩展信息并填 

入帧数据。之后,读入扩展及用户信息以及包括帧内预 

测I帧、前向预测P帧、双向预测B帧的帧头部信息。如 

果帧中块的信息还未读取,则从文件中读取。按照参考 

关系,更新条带宏块信息。条带解码过程需要计算宏块 

索引、条带的初始量化因子,且要判断是否为跳过模式, 

若是则需要更新宏块索引。其中,参考图像的选择方法 

是利用参考索引值来确定对当前图像进行解码处理所 

用的参考图像.参考图像的两场可有不同的参考索引 

值。参考索引值随着参考图像与当前图像距离的增加而 

增加,由帧IBP类型以及场顺序确定。 

2.1.4 AVS宏块及块计算 

因为最细粒度的表示信息是以块为单位的,所以设 

计解码器的关键在于AVS块信息的计算。为了和AVS 

宏块以及子块类型一致,将此部分用逻辑上的宏块类和 

计算亮度、色度的物理块类两级层次实现。 

宏块类解析指根据读人参数更新场距离,然后据当 

前帧类型与宏块索引进行宏块类型以及预测模式类型 

判定,之后读取块信息,进行环路滤波并更新宏块索引。 

在计算块亮度及色度矩阵的过程中,用到了一系列包括 

根据亮度以及色度样本加权预测公式进行的帧内预测 

和帧问预测算法以及1/2和1/4插值算法。对于每个块 

进行逆扫描,将所有元素初始化为0,将非0量化系数 

的值赋给数组中相应的元素,通过逆块扫描将数组映射 

还原;之后进行反量化和反变化,前者根据量化参数将 

量化系数矩阵转换为变换系数矩阵,后者将变换系数矩 

阵转换为残差样值矩阵;最后再经过环路滤波得到最终 

重构的图像。 

2.2主要界面模块的具体实现 

整体程序界面由4个部分构成(如图2和3所示), 

Digital video i 

数字钡频l 

最上方是浏览文件以及文件目录信息显示,下方由3 

个主体部分组合而成:宏块显示及图像视频播放部分、 

树形顺序显示码流各帧部分以及宏块内容及相关扩展 

播放顺序不同,因此需要对各帧顺序进行重排。图像重 

排序规则如下:当前解码图像是B帧,输出由此B帧解 

码的图像;当前解码图像是I帧或P帧,如果存在前一 

信息。下面将分别介绍各个部分的设计与实现方法。 

图2 AVS解码器程序界面一 

图3 AVS解码器程序界面二 

最上方提供用户浏览并选择视频文件的人口,在 

选定目标分析文件后则在文本框中显示目标文件的路 

径以供用户之后再次提取使用该视频提供方便。 

宏块显示以及图像视频播放部分是界面左上部, 

由2个标签页组成。第1个标签页为宏块显示信息,包 

括宏块的预测信息、类别信息(8X16,16x16等),并实 

现点击相应宏块实时在左下方文本框中显示对应宏块 

信息的功能。 

第2个标签页为图像及视频播放页,此处首先显 

示的是当前帧的图像,下方的RGB,Y,Cb,Cr选项选中 

后可以分别显示当前帧的原形及其y, , 分量。同时 

这一部分实现当前视频的播放功能,包括播放、暂停、 

快进、快退、停止等5项功能。 

对于视频播放功能的实现,由于编码顺序与视频 

个I帧或P帧的解码图像,输出前一个解码图像,如果 

不存在前一个I帧或P帧的解码图像,不输出任何解码 

图像;完成所有步骤后,如果缓冲区中还有未输出的解 

码图像,则输出该图像。 

视频播放部分需用到Qt中提供定时器信号和单触 

发定时器的相关类,它在内部使用定时器事件来提供更 

通用的定时器.当事先设定的时间过后会发射相应信号 

到相应槽,从而实现图像动态播放形成视频。界面右部 

是树形顺序显示码流各帧部分。首先建立树形显示根, 

之后在这个基础上顺序添加各帧,成为树形显示的节 

点。同时在此处实现用户点击码流中某一部分后,如果 

这一部分为视频扩展信息则在左下方的文本框中实时 

显示相应的扩展信息,如果为图像帧则在左上方显示相 

应帧的宏块信息和图像。 

左下方的宏块信息显示及扩展信息显示单元主要 

显示来自2个部分的信息:1)用户点击宏块后显示对 

应宏块的信息,包括宏块索引、宏块类型,B帧与P帧的 

运动矢量预测、当前块与运动矢量参考块间差距、前向 

预测矩阵、后向预测矩阵、残差值、预测值,I帧的帧内 

预测矩阵、残差值、预测值;2)用户点击树形结构中扩 

展信息部分后显示对应扩展信息内容,包括序列头信 

息、序列扩展信息、版权扩展信息、摄像扩展信息、序列 

尾信息、用户信息、视频编解码等一系列扩展信息。而 

在程序的开始阶段,当前文本框还没有显示任务时,文 

本框默认的初始信息为该解码器的使用说明,向初次使 

用的用户提供使用帮助。 

3 实验结果和后续工作 

依照上述方案笔者开发了AVS视频码流解析器 

QtAVS 1.0,源代码已经放在AVS工作组网站供下载 

(http://www.aVS.org.cn/fruits/softList.asp)。 

将QtAVS上的运行情况与北京思创微视科技有限 

公司出品的AVS码流分析仪(版本为1.0.0.175)进行比 

较.结果表明所实现的功能都已达到目标要求。对两者 

相同输入文件的分析结果进行比对,得到一致的实验结 

果.表明该解码器能够准确实现AVS视频解码功能。 

下一步工作将为进一步提高程序运行效率而优化 

改进,并添加诸如视频码流错误检索等相关辅助功能, 

以进一步完善该解析器。 

(下转第28页) 

。 年第。 卷第。 期 总第 期 17 

i Parts&applications 

l器件与应用 

这里采用包含当前帧在内的连续10帧(从n一9~n 

帧)原始图像像素灰度值进行时域平均作为相应像素的 

响应率,为了提高运算效率,采用迭代方法计算B 

Sum Vij(n)=Sum V J n一1) J(n)-Xij(n-9) (2) 

(3) 

■■■ 

a未处理原始图 b检测出的盲元点图 c实时肓元补偿后图像 

图6 实时盲元处理对比图 

再利用基于场景的实时盲元检测算法对得到的响应 

VPSS在视频处理方面的优势和强大的运算能力,保证了 

红外成像的实时性,系统帧频可达50 Hz以上。实时盲元 

率进行盲元检测,并将盲元矩阵相应位置的元素置1。其 

盲元检测过程如下: 

处理算法的设计使系统能实时准确地剔除系统盲元.改 

1)对(2h+1)x(2h+1)窗口内的像素灰度均值进行 

善红外图像质量。本系统具有较大的工程应用价值。 

查询,找出最大和最小的像素灰度值B一,日 。 

2)去掉B一,B ,求出窗口内剩余像素灰度的平均 

参考文献: 

值 ,即 

[1]邢素霞,张俊举,常本康,等.非制冷红外热成像技术的发展与现 

状【J1.红外与激光工程,2004,33(5):441—444. 

∑∑日 一~B [2] 

杨月娥.基于FPGA的视频帧同步机的设计[JJ_电视技术,2009,33 

B= 一(2h 

+1)X(2h+1)一2 

丛 —— (4)

(9):30—32. 

3)比较B~,日 与百之差的百分比,即令△: ~ 

王应军,杨国胜,范秋风,等.DSP+FPGA的实时图像处理硬件系统 

设计[Jll河南大学学报,2006,36(1):91—93. 

[4] 

秦文罡,让星,高爱华.非制冷红外焦平面阵列器件驱动电路的研 

或△ B--Brdln

。 

究[J1.红外,2008,29(6):1-4. 

[5J 

TI Company.TMS320DM643x DMP Video Processing Front End(VPFE) 

根据国标GB/T1744421998((红外焦平面验收测试技 

user s guide(Rev.D)[EB/OL].[2010—03—201.http://focus.ti.com/dsp/ 

术标准》中规定 ,当△≥9时,则认为该像素为盲元,并记 

docs/litabsmuhiplefilelist.tsp?sectionld=3&tabld=409&literatureNumber 

录下盲元的位置,将盲元矩阵中对应位置的元素置1。 

=spru977d&docCategoryld=6&familyId=1301. 

4)盲元补偿。对当前一帧原始图像中检测出的盲元 [6] 

TICompany.TMS320DM643xDMPVideoProcessingBackEnd(VPBE) 

位置用盲元像素4邻域均值来代替补偿,得到去除盲元 

user S guide[EB/Q1 】.[2010—03—20].http://www.google.COIIl hk/url?q= 

的图像。公式为 

http://focus.ti.com/dspldocs/litabsmuhiplefilelist.tsp%3FsectionId% 

3D3%26tabld% 

(5) 

3D409%261iteratureNumber%3Dspru977d%26doeCategoryld%3D6% 

图6a是本系统拍摄的384x288红热电烙铁实物图 

26familyld%3D1301&sa=U&ei=mPkKTfnBJMeGrAfh77nKCw&ved= 

0CA8QFjAA&usg=AFQJCNHTss3y—V1O3qzI2bk6D78at7M一4Q. 

片,网6b是原始图像中检测m盲元点位置图,图6c是经 『71 

李言俊,崔瑞青,赵桂芳,等.一种新的红外焦平面阵列盲元检测 

过盲元检测和补偿后的效果图。 

方法l Jll激光与红外,2007,37(1):5l一52. 

5 小结 [ ] 

GB/T 17444—1998,红外焦平面阵列特性参数测试技术规范[S].1998. 

本系统完全能满足384 ̄288 IRFPA的红外成像系 作者简介: 

统的要求。其设计创新之处在于系统中的时序控制_T作 吴传玺(1974-),硕士生,主要从事图像处理及SoPC系统研究。 

全部由FPGA完成,充分运用DM6437视频处理子系统 责任编辑:任健男 收稿日期:2010—07—28 

(上接第17页) 

参考文献: [4]唐新华.QT的信号与槽机制介绍[EB/OL],[2010—06—061.http:// 

【1】 黄铁军,高文.AVS标准制定背景与知识产权状况I Jll电视技术,www.ibm.com/developerworks/crdlinux/guitoolkit/qt/signal—slot/index. 

2005,29(7):4-7.htm1. 

[2]高文,黄铁军.信源编码标准AVS及其在数字电视中的应用I J1.电 [5]数字音视频编码技术标准工作组.GB/T 20090.2—2O06信息技术 

视技术,2003,27(11):4-6. 先进音视频编码第2部分:视频[s1.北京:中国标准出版社,2006. 

[3】王争,刘佩林.AVS解码器基于SystemC的实现『J】.中国有线电视, 

2006(1):53—57. 责任编辑:哈宏疆 收稿日期:2010—11—11 

28 。 年第。 卷第。 总第, 期 


本文标签: 视频 信息 图像 显示