已阅读5页,还剩55页未读, 继续免费阅读
(信号与信息处理专业论文)h264avc视频编码标准的研究及其在jm中的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电学院硕士学位论文 摘要 本论文主要讨论了当前最新标准h 2 6 4 ,也被称为m p e g - 4 第1 0 部分的相 关技术及其在j m 软件中实现。首先本文对整个标准的制定背景,应用范围和它 的自身特点作了简要的介绍。然后对其中某些关键技术如分层技术,预测技术, 块变换与量化技术,以及熵编码技术和它们在j m 中如何实现作了比较详细地论 述。最后在各章中我们还对它们的性能进行了分析。 关键词:h 2 6 4 、高级图像编码方式、图像联合开发小组、j m 、n a l 单 元、双向预测方式、多假设预测方式、块变换、量化、c a v l c 、c a v b c 南京邮电学院硕士学位论文 a b s t r a c t t h i sp a p e ri s s u e dt h ek e y t e c h n i q u e s o fn e w e s t v i d e oc o d i n gs t a n d a r d ( h 2 6 4 a v c ) a n d r e a l i z a t i o ni n j o i n tm o d e l ( j m ) f i r s t l y , i tb r i e f l y i n t r o d u c e d b a c k g r o u n do fm a k i n gt h i ss t a n d a r d ,a p p l i c a t i o na r e a s ,a n di t s d e s i g n f e a t u r e h i g h l i g h t s s e c o n d l y , t h ep a p e rd i s c u s s e d s o m eo f k e y t e c h n i q u e s s u c ha ss t r u c t u r eo f l a y e r s ,m o t i o n c o m p e n s a t e dp r e d i c t i o n , l o w c o m p l e x i t yt r a n s f o r ma n dq u a n t i z a t i o n ,e n t r o p yc o d i n ga n dh o w t or e a l i z e i nj o i n tm o d e li n d e t a i l f i n a l l y w ea l s oa n a l y s e st h ep e r f o r m a n c eo fv a r i o u s t e c h n i q u e sb ym a t l a b e m u l a t o r k e y w o r d :h2 6 4 、a v c 、j v t 、n a l u n i t 、b i d i r e c t i o n a l m o d e 、m u l t i h y p o t h e s i s m o d e ,b l o c k t r a n s f o r m ,q u a n t i z a t i o n 、c a v l c ,c a b a c 南京邮电学院硕士学位论文 第一章h 2 6 4 a v c 标准概述 h2 6 4 a v c 标准是当前国际上最新的图像编码标准。被i t u t 命名为 h 2 6 4 ,i s o i e c 则把此标准叫做国际标准1 4 4 9 6 - - 1 0 ( m p e g - 4 的第1 0 部分) 高级图像编码( a v c ) 。制定此标准的主要目的就在于增强图像的压缩效率和改 善图像数据在网络中的传输。h 2 6 4 标准在当前图像标准中压缩效率是最高的, 它比h 2 6 3 标准提高将近一倍。本章首先介绍本标准的制定背景,然后突出标 准的应用范围和技术特点,最后简述整个标准的编码流程,这样可更好理解解码 过程。 1 1 标准的制定背景 上个世纪8 0 年代以来,i s o i e c 制定的m p e g x 和i t u t 制定的h 2 6 x 两大系列视频编码国际标准的推出,开创了视频通信和存储应用的新纪元。从 h2 6 1 视频编码建议,到h 2 6 2 1 3 、m p e g 1 1 2 1 4 等都有一个共同的不断追求的 目标,即在尽可能低的码率( 或存储容量) 下获得尽可能好的图像质量。而且, 随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现 出来。这就是i e o i e c 和l t u - t 两大国际标准化组织联手制定的视频新标准 h 2 6 4 所要解决的问题。 h2 6 1 是最早出现的视频编码建议,目的是规范i s d n 网上的会议电视和可 视电话应用中的视频编码技术。它采用的算法结合了可减少时阳j 冗余的帧问预测 和可减少空间冗余的d c t 变换的混合编码方法。和i s d n 信道相匹配,其输出 码率是p 6 4 k b i t s 。p 取值较小时,只能传清晰度不太高的图像,适合于面对 面的电视电话:p 取值较大时( 如p 6 ) ,可以传输清晰度较好的会议电视图像。 h2 6 3 建议的是低码率图像压缩标准,在技术上是h 2 6 1 的改进和扩充,支持 码率小于6 4 k b i t s 的应用。但实质上h 2 6 3 以及后来的h 2 6 3 + 和h 2 6 3 + + 己发 展成支持全码率应用的建议,从它支持众多的图像格式这一点就可看出,如 s u b q c i f 、q c i f 、c i f 、4 c i f 甚至1 6 c i f 等格式。 m p e g 一1 标准的码率为1 2 m b i t s 左右,可提供3 0 帧c i f ( 3 5 2 x 2 8 8 ) 质 3 南京邮电学院硕士学位论文 量的图像,是为c d r o m 光盘的视频存储和播放所制定的。m p e g i 标准视频 编码部分的基本算法与h 2 6 1 h 2 6 3 相似,也采用运动补偿的帧间预测、二维 d c t 、v l c 游程编码等措施。此外还引入了帧内帧( 1 ) 、预测帧( p ) 、双向预 测帧( b ) 和直流帧( d ) 等概念,进一步提高了编码效率。在m p e g 一1 的基础 上,m p e g - 2 标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例 如它的运动矢量的精度为半像素;在编码运算中( 如运动估计和d c t ) 区分“帧” 和“场”:引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪 比可分级性等。近年推出的m p e g 一4 标准引入了基于视听对象( a v o : a u d i o - v i s u a l0 b i e c l ) 的编码,大大提高了视频通信的交互能力和编码效率。 m p e g _ 4 中还采用了一些新的技术,如形状编码、自适应d c t 、任意形状视频 对象编码等。但是m p e g _ 4 的基本视频编码器还是属于和h 2 6 3 相似的一类混 合编码器。 总之,h 2 6 1 建议是视频编码的经典之作,h 2 6 3 是其发展,并将逐步在实 际上取而代之,主要应用于通信方面,但h 2 6 3 众多的选项往往令使用者无所 适从。m p e g 系列标准从针对存储媒体的应用发展到适应传输媒体的应用,其 核心视频编码的基本框架是和h 2 6 1 一致的,其中引人注目的m p e g 一4 的“基 于对象的编码”部分由于尚有技术障碍,目前还难以普遍应用。因此,在此基础 上发展起来的新的视频编码建议h 2 6 4 克服了两者的弱点,在混合编码的框架 下引入了新的编码方式,提高了编码效率,面向实际应用。同时,它是两大国际 标准化组织的共同制定的,其应用前景应是不言而喻的。 h 2 6 4 是i t u t 的v c e g ( 视频编码专家组) 和i s o ,i e c 的m p e g ( 活动 图像编码专家组) 的联合视频组( j v t :j o i n t v i d e ot e a m ) 开发的一个新的数字 视频编码标准,它既是i t u t 的h 2 6 4 ,又是i s o i e c 的m p e g - 4 的第10 部 分。1 9 9 8 年1 月份丌始草案征集,1 9 9 9 年9 月,完成第一个草案,2 0 0 1 年5 月制定了其测试模式t m l 8 ,2 0 0 2 年6 月的j v t 第5 次会议通过了h2 6 4 的 f c d 板。 h 2 6 4 和以前的标准一样,也是d p c m 加变换编码的混合编码模式。但它 采用“回归基本”的简洁设计,不用众多的选项,获得比h 2 6 3 + + 好得多的压 缩性能:加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利 d 南京邮电学院硕士学位论文 于对误码和丢包的处理:应用目标范围较宽,以满足不同速率、不同解析度以及 不同传输( 存储) 场合的需求;它的基本系统是开放的,使用无需版权。 在技术上,h 2 6 4 标准中有多个闪光之处,如统一的v l c 符号编码,高精 度、多模式的位移估计,基于4 4 块的整数变换、分层的编码语法等。这些措 施使得h 2 6 4 算法具有很高编码效率,在相同的重建图像质量下,能够比h 2 6 3 节约5 0 左右的码率。h 2 6 4 的码流结构网络适应性强,增加了差错恢复能力, 能够很好地适应l p 和无线网络的应用。 1 2 标准的应用范围 新的标准被设计应用于至少包括以下应用领域: 建立在有线、卫星、有线调制解调器、d s l 等上广播 可用于光或磁设备的存储如d v d 通过i s d n 、以太网、局域网、d s l 、无线移动网等进行会话服务 通过i s d n 、以太网、局域网、d s l 、无线移动网等图像传输或多媒体流 服务 通过i s d n 、以太网、局域网、d s l 、无线移动网等多媒体消息服务( m m s ) 具体应用为有线电视( c a i v ) 、卫星图像直接广播( d b s ) 、数字地面电视 广播( d t t b ) 、交互存贮媒介( i s m ) 、多媒体邮件( m m m ) 、i p 包网络上多媒 体服务( m s p n ) 、实时通信服务( r t c ) 、远程图像监视( r v s ) 等。 而且这新标准也考虑被未来网络所利用。为了处理这些各种各样的应用和网 络,标准利用分层技术。见下图: 图1 2i l2 6 4 a v c 图像编码器的结构 5 南京邮电学院硕士学位论文 1 3 标准的技术亮点 ( 1 ) 分层设计 h 2 6 4 的算法在概念上可以分为两层:视频编码层( v c l :v i d e oc o d i n g l a y e r ) 负责高效的视频内容表示,网络提取层( n a l :n e t w o r ka b s t r a c t i o n l a y e r ) 负责以网络所要求的恰当的方式对数据进行打包和传送。h 2 6 4 编码器 分层结构如上图1 2 所示。在v c l 和n a l 之间定义了一个基于分组方式的接口, 打包和相应的信令属于n a l 的一部分。这样,高编码效率和网络友好性的任务 分别由v c l 和n a l 来完成。 v c l 层包括基于块的运动补偿混合编码和一些新特性。与前面的视频编码 标准一样,h 2 6 4 没有把前处理和后处理等功能包括在草案中,这样可以增加标 准的灵活性。 n a l 负责使用下层网络的分段格式来封装数据,包括组帧、逻辑信道的信 令、定时信息的利用或序列结束信号等。例如,n a l 支持视频在电路交换信道 上的传输格式,支持视频在i n t e r n e t 上利用r t p u d p i p 传输的格式。n a l 包 括自己的头部信息、段结构信息和实际载荷信息,即上层的v c l 数据。( 如果采 用数据分割技术,数据可能由几个部分组成) 。 ( z ) 高精度、多模式运动估计 h 2 6 4 支持1 4 或1 1 8 像素精度的运动矢量。在1 4 像素精度时可使用6 抽 头滤波器来减少高频噪声,对于1 1 8 像素精度的运动矢量,可使用更为复杂的8 抽头的滤波器。在进行运动估计时,编码器还可选择“增强”内插滤波器来提高 预测的效果。 在h 2 6 4 的运动预测中,一个宏块( m b ) 可以被分为不同的子块,形成7 种不同模式的块尺寸。这种多模式的灵活和细致的划分,更切合图像中实际运动 物体的形状,大大提高了运动估计的精确程度。在这种方式下,在每个宏块中可 以包含有1 、2 、4 、8 或1 6 个运动矢量。 在h 2 6 4 中,允许编码器使用多于一帧的先前帧用于运动估计,这就是所 谓的多帧参考技术。例如2 帧或3 帧刚刚编码好的参考帧,编码器将选择对每 个目标宏块能给出更好的预测帧,并为每一宏块指示是哪一帧被用于预测。 在先前标准中,采用双向编码图像( b 帧) 是不能作为其他图像的参考帧。 6 南京邮电学院硕士学位论文 新标准去除这种限制,这大大增加编码的灵活性。同时在新标准中还对b 帧的 获取作了重大的突破,不再是必须要通过前一帧和后一帧的线性预测而得到,也 可以通过两个前向帧或两个后向帧的预测得到,这就是标准中称作为多假设预测 方法。这样可有效的改善预测精度。 ( 3 ) 4 4 块的整数变换 h 2 6 4 与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操 作而不是实数运算,其过程和d c t 基本相似。这种方法的优点在于:在编码器 中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也 就是说,这里没有“反变换误差”。变换的单位是4 x 4 块,而不是以往常用的 8 8 块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变 换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸 块的变换方式对图像中较大厦积的平滑区域不产生块之间的灰度差异,可对帧内 宏块亮度数据的1 6 个4 4 块的d c 系数( 每个小块一个,共1 6 个) 进行第二 次4 4 块的变换,对色度数据的4 个4 4 块的d c 系数( 每个小块一个,共4 个) 进行2 2 块的变换。 h 2 6 4 为了提高码率控制的能力,量化步长的变化的幅度控制在1 2 ,5 左 右,而不是以不变的增幅变化。变换系数幅度的归一化被放在反量化过程中处理 以减少计算的复杂性。为了强调彩色的逼真性,对色度系数采用了较小量化步长。 ( 4 ) 场编码模式 在h 2 6 4 中,对于一幅图像,可以按照帧的模式,也可以按照场的模式进 行编码。同时,h 2 6 4 还支持在宏块级自适应的场帧编码模式转换。 ( 5 ) 熵编码 对于s l i c e 层以上的数据,h 2 6 4 采用e x p g o l o m b 码,这是一种没有自适 应能力的v l c 。而对于s l i c e 层( 含) 以下的数据,如果是残差,h 2 6 4 有两种熵 编码的方式:基于上下文的自适应变长码( c o n t e x t b a s e da d a p t i v ev a r i a b l e l e n g t hc o d i n g ,c a v l c ) 和基于上下文的自适应二进制算术编码( c o n t e x t b a s e d a d a p t i v eb i n a r ya r i t h m e t i cc o d i n g ,c a b a c ) ;如果不是残差,h 2 6 4 采用 e x p - g o l o m b 码或c a b a c 编码,c a b a c 是可选项,其编码性能比u v l c 稍好, 但计算复杂度也高由视编码器的设置而定。 7 南京邮电学院硕士学位论文 ( 6 ) 帧内预测 在先前的h 2 6 x 系列和m p e g x 系列标准中,都是采用的帧间预测的方式。 在h 2 6 4 中,当编码i n t r a 图像时可用帧内预测。对于每个4 4 块( 除了边缘 块特别处置以外) ,每个像素都可用1 3 个最接近的先前已编码的像素的不同加 权和( 有的权值可为0 ) 来预测,即此像素所在块的左、上边的1 3 个像素。显 然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除 去相邻块之间的空间冗余度,取得更为有效的压缩。 ( 7 ) 而向i p 和无线环境 h2 6 4 草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多 发环境中传输,如移动信道或i p 信道中传输的健壮性。 为了抵御传输差错,h 2 6 4 视频流中的时间同步可以通过采用帧内图像刷新 来完成,空间同步由条结构编码( s l i c es t r u c t u r e dc o d i n g ) 来支持。同时为了便 于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。另外, 帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编 码效率,还可以考虑传输信道的特性。 除了利用量化步长的改变来适应信道码率外,在h 2 6 4 中,还常利用数据 分割的方法来应对信道码率的变化。从总体上说,数据分割的概念就是在编码器 中生成具有不同优先级的视频数据以支持网络中的服务质量q o s 。例如采用基 于语法的数据分割( s y n t a x - b a s e dd a t ap ar t i t i o n i n g ) 方法,将每帧数据的按其 重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。还可以采用 类似的时间数据分割( t e m p o r a l d a t ap a r t i t i o n i n g ) 方法,通过在p 帧和b 帧中 使用多个参考帧来完成。 在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间,时间分 辨率来支持无线信道的大比特率变化。可是,在多播的情况下,要求编码器对变 化的各种比特率进行响应是不可能的。因此,不同于m p e g 4 中采用的精细分 级编码f g s ( f i n eg r a n u l a rs c a l a b i l i t y ) 的方法( 效率比较低) ,h 2 6 4 采用流 切换的s p 帧来代替分级编码。 8 南京邮电学院硕士学位论文 1 4 标准的编码流程 在h 2 6 4 标准中标准所定义的范围如图1 4 1 图1 4 1 图像编码的范围 由图中不难看出标准只是对虚线框图内的解码进行标准化,定义其语法和 掩个语法元素的解码过程以及解码器的输入、输出,没有对编码器作出任何规 定。为了更好叙述以后章节解码过程,本文在此画出与解码相对应的编码框图。 图1 4 2 m p e g - 4a v c 编码框架 如图1 4 2 所示,与以往的技术标准相比,h 2 6 4 ,a v c 编码标准有许多先进 的编码技术,帧内预测,整数变换编码和先进的量化处理,滤波处理,变形块搜 索等等。 9 南京邮电学院硕士学位论文 第二章h 2 6 4 标准中的分层技术及在j m 中的实现 h 2 6 4 的算法在概念上可以分为两层:视频编码层( v c l : v i d e oc o d i n gl a y e r ) 负责高效的视频内容表示,网络提取层( n a l : n e t w o r k a b s t r a c t i o nl a y e r ) 负责以网络所要求的恰当的方式对数据进行打包和 传送。 2 1n a l 层 n a l 层的设计主要是为了提供“友好网络”,使得v c l 层中内容能够简单 而有效应用于各种各样的系统中。 n a l 层可把v c l 层的数据封装成以下传输层: 为各种实时的有线和无线网络服务的r t p 厂r p 协议 文件格式如i s om p 4 存贮格式和m m s 格式 为有线和无线会话服务的h 3 2 x 协议 为广播服务的m p e g 一2 系统 2 1 1 n a l 单元的定义 n a l 层是由n a l 单元( n a lu n i t ) 所构成。每个n a l 单元第一个字节是头 信息,说明n a l 单元的数据类型。接下来是负载数据,它包含整数个编码的图 像数据字节。在负载中也有可能包含仿效阻止字节( e m u l a t i o np r e v e n t i o n b y t e s ) ,用来避免负载数据中包含有起始码前缀( s t a r t c o d ep r e f i x ) 。 在标准中定义了两种传输n a l 单元结构的流格式,分别为面向数据包的传 输格式和面向比特流的传输格式。在比特流格式中,每个n a l 单元都是由称为 起始码前缀( s t a r tc o d ep r e f i x ) 的三个字节流( 0 x 0 0 0 0 0 1 ) 丌始。为了在n a l 单元中只有一个唯一起始码前缀,负载数据中如果包含有此三个字节就在第三个 字节前插入仿效阻止字节( 0 x 0 3 ) 。这样可把起始码前缀作为对n a l 单元的唯 1 0 南京邮电学院硕士学位论文 一标识。在每个n a l 单元最后字节也许包含附加数据,用于负载数据字节同步。 具体阐述可见标准中附录b ( 包含有n a l 单元语法和解码过程) 。在数据包格式 中,编码的图像数据将被封装到传输协议( 如r t p ) 包中,在此数据包中将不 包含起始码前缀。 n a l 层定义在标准中的语法为: n a l u n i t ( n u m b y t e s l n n a l 。u n i t ) f c d e s c r i p t o t f o r b i d d e n _ z e r o _ b i t a r 1 1 n a l _ r e s i d e a i i u 1 2 j n a l _ u n l t _ t y p e a l iu f s l n u m b y t e s l n r b s p 一0 f o r ( i i ;i i n f i l e 表示需要打开的视频文件。 当文件格式为比特流时,其n a l 单元中就应包含了起始码前缀( s t a r t c o d e p r e f i x ) 并作为与其他n a l 单元相区别唯一标识。其在标准附录b 中的语法为: b y t e s t r e a m m l _ u n i t ( n u m b y t e s l n n a l u n i t ) ;c d e s c r i p t o r w h i l e ( t l e x t - b i t ! ;( 2 4 ) ! 一o x 0 0 0 0 0 1 z e r o _ 埘t ei e q u a it o0 x 0 0 h 8 j i nn l o r ed a l a _ i nb y t e s t r e a m ( ) s t a r t _ c o d e _ p r e f l x _ o n e _ 3 h y t e s ,e q u a lt oo x 0 0 0 0 0 i , f f 2 4 j n a l u n i t ( n u m b y l d s l n n a l u n i t ) 在j m 中代码首先是找起始码前缀三个字节( 0 x 0 0 0 0 0 1 ) ,由上边语法可知 也许在此三个字节前可能有许多个0 字节,必须先要剔除了。然后再找下一个 1 1 南京邮电学院硕士学位论文 起始码前缀,此时整个n a l 单元就应为第二个起始码前缀前面字节到前一个起 始码前缀后面字节之间的字节数。接着读取n a l 单元第一个字节,具体语法可 见上面n a l 定义语法。操作是在函数g e t a n n e x b n a l u 中。其程序框图如下: 图2 1 1j m 中获取n a l 单元的流程图 另外数据包格式可见j m - 7 5 b 代码中函数g e t r t p n a l u ,可参考r t p 协 南京邮电学院硕士学位论文 议来理解,在此不作深入的研究。 2 1 2 n a l 单元的分类 n a l 单元可分为v c l 单元和非v c l 单元。v c l 单元中包含着图像数据的 抽样值。非v c l 单元包含着与图像数据相关的附加信息,如参数设置信息( 作 为图像解码的头信息) 和增强信息( 时间信息等) 。参数设置信息作为v c l 单元 解码的信息。它包括两种参数设置:( 1 ) 序列参数设置信息( 2 ) 图像参数设置信息。 对于每个v c l 单元都对应有这两种参数设置。参数设置信息能够提供强大纠错 能力,阻止数据的流失。在某些应用中参数设置信息可以和传输v c l 单元信息 公用一个信道( 称为“带内”传输) ,在另一些应用中,如下图 图2 】2 利用可靠的“带外”传输参数设置信息 参数设置信息可利用比传输v c l 单元信息更可靠的“带外”信道进行传输。 在标准中根据n a l 单元第一字节中n a l u n i t _ t y p e ,把n a l 单元又进行具 体细分。见下表: 1 3 南京邮电学院硕士学位论文 t a b l e7 - l n a l 。u n i tt y p ec o d e s n a lu n l l 】= p e c o n t e n to fn 、lu n i ta n dr b s ps y n t a xs t r u c t u r ec 0 u n s l x c i f i e d 1( = x l e ds l i c eo f an o n - d r p i c t u r e 2 3 ,4 s l i c e l a y e r w i t h o u tp a r t i t i o n i l n , r b s d ( j 2c o d e ds l i c od a t ap a r t i t i o na s l i c e d a t a _ p a r t i t i o n j j a ) r _ r b s p ) 3c o & x ls l i c ed a t a p a r t i t i o nh s l i c e _ d a t a _ p a r t i t i o nb l a y e rr b s p l 4c o d e ds l i c ed a t ap a r t i t i o nc4 s l i c e _ d a t a p a r t i t i o n _ c j a y e r _ r b s p ( j sc o d e ds l i c eo f a n d r p i c t u r e 2 3 s l i c e _ l a y e r _ w i t h o u u p a r t i t i o n i n g _ r b s p ) 6 s u p p l e m e n l a le n h a n c e m e n ti n f o m z a t i o ni s e i e s e i _ r b s d ( ) 7 s c v t u e n c ep a r a m e l e rs e t s e q _ p a r a m e t e r _ s e l r b s p t 8 p i c t u r ep a l a m 雌e rs 讲 i p i c _ o a r a m e t e rs e tr b s o _ 【) 9 a c c e s su n i td e l l m i t e r 6 a c c e s su n i t d e l i m i t e rr b s 口1 ) 1 0e n do f s e q u 。n c e 7 e n do l - s e qr i s p ( ) 1 1 l a do fs r e a m 8 e l l ( l o i _ s t r e a m r b s p t 1 2卜川e rd a t a q f i l l e r d a l ar b s 州j 1 3 2 3r es c r x e d 2 43 iu n s p d c i f i e d 其中n a l u n i t _ t y p e 为0 和1 3 - - 3 1 不作说明,1 5 类型的n a l 单元为v o l 单元,6 1 0 类型的n a l 单元为非v c l 单元。 它在j m 一7 5 b 中用了s w i t c h - - c a s e 结构实现的,代码为 s w i t c h ( n a l u - n a lu n i t _ t y p e ) c a s en a l ut y p e _ s l i c e : c a s cn a l u j y p e - i d r :( 略) c a s e n a l ut y p ed p a :( 略) c a s e n a l ut y p ed p b :( 略) c a s en a l ut y p ed p c :( 略) c en a l u j y p es e l : 南京邮电学院硕士学位论文 c a s en a l ut y p ep p s : p r o c a s s p p s ( n a l u ) ;获取图像参数设置信息给p p s 结构,并保存在p i c p a r s e t i d l b r e a k ; c a s en a l u j y p e _ s p s : p r o c e s s s p s ( n a l u ) ;获取序列参数设置信息给s p s 结构,井保存在s c q p a r s e t i d 】 b r e a k ; c 踮e n a l ut y p ep d :( 略) c a s en a l u j y p e e o s e q :( 略) c r s en a l ut y p ee o s t r e a m :( 略) c a s en a l ut y p ef i l l :( 略) d e f a u l t : p r i n t f ( ”f o u n dn a l ut y p e 咄,i o n du n d e f i n e d ,i g n o r en a l u ,m o v i n go n n ”,n a l u - n a l u n i t _ t y p e , n a l u - l e n ) ; 这段代码是在函数r e a d n e w _ s l i c e o q b 。 2 1 3 n a l 单元的结构 从上面对n a l 单元的语法分析可知,n a l 单元除了第一字节说明本单 元的属性外,还有就是负载部分,它在标准中是以r b s p 数据结构封装着。而 r b s p 结构中又包含s o d b 数据结构,它与r b s p 结构区别为: 如果s o d b 结构中数据为0 字节,r b s p 结构也将不存在。 否则,在r b s p 结构中,紧接在s o d b 后一个比特,在标准中称为 r b s p _ s t o p _ o n e _ b i t 等于1 。然后加0 使得字节对齐。 图2 1 3 画出n a l 单元结构框图: n a l 单元 囤21 3n a l 单元的结构图 如果加1 后字节不对齐 则再加0 使字节对齐 对于在j m 一7 5 b 中从r b s p 数据结构中获取s o d b 结构的代码为 i n tr b s p t o s o d b ( b y t e + s t r e a m b u f f e hi n tl a s t b y t c _ p o s ) i n tc t r _ b i t , b i t o f f s e t ; b i t o f f s e t ;o : 1 5 南京邮电学院硕士学位论文 发现r b s p _ s t o p _ o n e _ b i t ( 1 ) c t r _ b i t2 ( s t r e a m b u f f a r 1 a s t _ b y t ep o s - 1 】( o x o ! b i t o f f s e t ) ) ; w h i l e ( c t r _ b i p o ) b i t o 如e t + + ; i f ( b i t o f f s e t2 ;8 、 i f f l a s t b y t e _ p o s 0 1 p r i n t f ( ”p a n i c :a l lz e r od a t as e q u e n c ei nr b s p 、1 1 “) ; a s s e r t ( 1 a s t _ b y t e _ p o si _ 0 ) ; l l b y t e _ p o s 21 ; b i t o f f s e ! = 0 : ) c t r _ b i t = s t r e a m b u f f e r 1 a s t _ b y t e p o s - l 】( o x o l ( b i t o f f s c t ) ) ; 函数参数l a s t _ b y t e _ p o s 为n a l 单元字节数减去第一个字节,s t r e a m b u f f e r 为存放n a l 单元内容的第2 字节的地址。 2 2n a l 单元流的结构 在n a l 单元流中可能包含有一个或多个已编码好的图像序列,每个序列是 由一系列的接入单元( a c c e s su n i t s ) ,它们使用同样序列参数设置信息,能构 独立于其他序列进行解码。 每个接入单元组成可见下图2 2 1 它由一组n a l 单元所形成,其包含一幅 图像的信息,解码后可构成一幅图像。由图可知在接入单元可包含接入单元定界 符( a c c e s su n i td e l i m i t e r ) 帮助确定接入单元的开始,也可包含辅助增强信息 如时间信息。这里主编码图像( p r i m a r y c o d e d p i c t u r e ) 是由v c l 单元所组成, 其中包含图像抽样值条或条数据分片信息。随后冗余编码图像信息( r e d u n d a n t c o d e dp i c t u r e ) 包含与主编码图像信息一样的图像内容,主要用于数据的丢失或 衰变后恢复,在解码中不作要求。最后,如果当前接入单元( 图像) 是图像序列 中最后一帧图像,就在本接入单元中加入序列尾( e n do fs e q u e n c e ) 。如果当前 接入单元( 图像) 是整个n a l 单元流中最后一幅图像,则在本接入单元后还需 加入传输流尾( e n do fs t r e a m ) 。 1 6 南京邮电学院硕士学位论文 开* r a o o l e l t d d i l e r l1 | s 曰 一 r p i m p , o w m 洳 1 f 斟h 1 - 妇l i i c 喇o i | e , e n d e l l u e n c e 刊a f j b t 日m l 一 兰囊 图2 2 接入单元酌煞构 在每个编码图像序列开始第一接入单元总是i d r ( i n s t a n t a n e o u sd e c o d i n g 非v c l 单元v c l 单元 接厶堇元拍川蚺;。 1 7 南京邮电学院硕士学位论文 第三章h 2 6 4 标准中的预测技术及其实现 h 2 6 4 a v c 标准中的基本预测技术是基于块,而不是基于对象的。它的编 码器是利用混合的编码方案来提高编码效率,这些方案包括高级的预测技术和有 效熵编码技术。在运动预测中它使用不同的块的大小进行预测,以树结构的方式 来组织预测模式。其主要的特点也包含在多参考帧预测方式和通用b 帧的概念 上。下面我们就从运用在标准中两种不同预测方式分别加以讨论。 3 1 帧内预测 在1 4 4 9 6 2 标准“1 的m p e g - 4 视频编码规范中,采用的帧内预测是对d c t 编码并量化后的数据作a c d c 预测的,其方法是利用当前块的d c 系数与相邻 ( 水平和垂直方向) 块的d c 之间的差值,根据其大小选择预测方向,然后分别 对d c 和a c 系数作预测,详细内容可参考文献”1 。 在h 2 6 4 删,c ”1 中采用的方法与上述不同,帧内预测是在变换编码之前进行 的,并且运用了多种不同的帧内预测方法,最大程度地减少图像的空间冗余信息。 就亮度信号而言,帧内预测可分为4 x 4 和1 6 x 1 6 两种预测方式,其中4 x 4 方式 有9 种可选的预测模式,1 6 x 1 6 方式有4 种可选方式;而lp c m 编码方式是作 为这两种方式的替代方式,允许编码器不经过预测和变换编码过程,而是直接把 编码的抽样值传送过去。对色差信号则采用8 x 8 预测方式,只有1 种预测模式。 在h 2 6 4 ,a v c 标准的帧内预测中,当前块的抽样值总是利用邻块的抽样值 来获取。这样也许会因为在相邻的帧间编码的宏块的运动补偿误差而引起图像误 差的扩散。因此,在图像编码过程中还有一种限制帧内编码模式,此时只允许相 邻的帧内预测宏块为才可以作为其他当前宏块的参考宏块 3 1 1 4 x 4 帧内预测 4 x 4 帧内预测方法是独立地基于在4 4 块上,用于对图像细节部分进 行编码。它的基本思路是从不同的方向计算、比较块中各个像素之间的亮度差 值,即梯度值。通过选择具有最小预测误差的方向作为最佳的预测方向。下面 1 8 南京邮电学院硕士学位论文 妻圜 图3 1 14 x 4 子块中及其参考样点分布 ( 1 ) 模式2 :d c 预测 如果所有的参考样点均在图像内,那么: d c = ( a + b + c + d + i + j + k + l + 4 ) 1 8 如果a ,b ,c ,d 在图像外,而l ,j ,k 和l 在图像中,那么 d c = = ( i + j + k + l + 2 ) ,4 如果i ,j ,k 和l 在图像外,而a ,b ,c ,d 在图像中, d c = ( a + b + c + d + 2 ) ,4 如果所有的参考样点均在图像外,那么: d c = 1 2 8 在j m 一7 5 b 中的代码为: s 0 = 0 : i f ( b l o c k a v a i l a b l e u p b l o c k a v a i l a b l e _ l e e ) ( s 02 ( p _ a + p _ b + pc + p _ d + p - i + p _ j + p _ k + p l + 4 ) ( 2 + b l o c k _ s i z e ) ; e l s ei f ( ! b l o c k a v a i l a b l e u p b l o c k _ a v a i l a b l e _ l e f t ) s 0 2 ( p - 1 十吖+ pk + p _ l + 2 ) b l o c ks i z e ; e l s ei f ( b l o c k _ a v a i l a b l e “p ! b l o c k _ a v a i l a b l e _ l e i t ) s 0 2 ( p a + p b + p c + p d + 2 ) b l o c k s i z e ;) e l s e i f ( ! b l o c k a v a i l a b l e u p ! b l o c k _ a v a i l a b l e l e f t ) s o = 1 2 8 ; f o r0 = 0 :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年医学科高龄骨折康复方案
- 光有购房协议书能上学不
- 弘扬传统文化与传承爱国精神
- 核医学心脏负荷试验护理措施
- 2026河南省烟草专卖局(公司)高校毕业生招聘190人备考题库含答案详解(黄金题型)
- 2026江西赣州市托育综合服务中心招聘业务园长1人备考题库含答案详解(a卷)
- 2026重庆奉节县教育事业单位招聘25人备考题库带答案详解(满分必刷)
- 2026北京大学房地产管理部招聘1名劳动合同制人员备考题库及答案详解(历年真题)
- 2026年上半年成都市温江区面向社会考核招聘副高级及以上职称教师备考题库(7人)及答案详解(基础+提升)
- 2026内蒙古呼和浩特职业技术大学第二批人才引进23人备考题库附参考答案详解(预热题)
- 酒店英语面试问题及回答
- 装表接电实训 装表接电概述 课件
- 历史专业英语词汇
- 设计构成PPT完整全套教学课件
- 水文学课件ppt版 课件第七章
- 新教材选择性必修三有机化学基础全册课件
- GB/T 77-2007内六角平端紧定螺钉
- GB/T 28021-2011饰品有害元素的测定光谱法
- GA/T 992-2012停车库(场)出入口控制设备技术要求
- 医学统计学二项分布 课件
- 给排水计算书汇总-
评论
0/150
提交评论