论文部分内容阅读
2002年Joint Photographic Experts Group(联合图像专家小组:JPEG)制订了基于JPEG2000的运动图像标准:Motion JPEG2000(即JPEG2000 part III,简称为MJ2或MJ2K),该标准对视频序列各帧独立采用JPEG2000编码,各帧编码数据完全独立,编码得到的视频序列具有可分级性(scalable)。与其他视频编码标准相比,Motion JPEG2000抗干扰能力强、生成的编码序列易于编辑,因此目前越来越多地应用于数码相机,数字摄像机(digital video:DV)、数字影院、视频编辑器、监控、远程医疗等领域,2005年好莱坞7大影业巨头联合确定MotionJPEG2000为未来数字影院标准,得到工业界和娱乐界支持的Motion JPEG2000标准必在不久的将来大展身手。本文针对当前Motion JPEG2000的应用领域,探讨了Motion JPEG2000编码中的某些关键技术。在总容量一定的条件下,采用可变码率编码可以得到图像质量稳定的序列。本文首先研究了Motion JPEG2000可变码率编码问题,提出了针对非实时应用、基于率失真函数预测的可变码率控制算法和针对实时处理、适合硬件实现的可变码率控制方案。基于率失真函数预测的码率控制算法仅选择序列中部分帧进行JPEG2000编码,同时记录各编码帧率失真函数,位于各编码帧之间的未编码帧的率失真函数则根据帧间相关性由已知信息预测得到。与以往文献中的可变码率控制方法相比,基于率失真函数预测的码率控制算法在码控所需存储容量相同的条件下可获得质量更加平滑的编码序列。在本文提出的实时可变码率控制方案中,将参加码控各帧的率失真函数记录在一组查找表中,通过在查找表组中搜索适当截止门限,平滑存储器组中各帧的编码质量。该方法延迟固定、查找表结构适合硬件快速完成截止门限的搜索工作,该方案适用于分辨率、压缩率固定的消费电子产品(如DV,数码相机等)。Motion JPEG2000标准中各帧独立地采用JPEG2000编码,JPEG2000的压缩后率失真最优化(Post compression rate distortion optimization:PCRDopt)码控算法在Tier1阶段编码结束后才进行,在Tier1阶段必须对所有码块的所有扫描通道(pass)编码并记录其对应的率失真函数,需要占用大量存储空间和编码时间,而一些Tier 1阶段生成的编码未能进入最终合成的码流,造成存储容量和编码量的巨大浪费。当编码帧率较高时,这些浪费阻碍了Motion JPEG2000实时编码的实现,本文接着研究了如何利用Motion JPEG2000视频特性尽早终止各帧JPEG2000编码时Tier1阶段不必要的编码,减少编码器对存储容量的需求和编码计算的浪费,提出了一种Motion JPEG2000码率控制算法,利用相同场景各帧率失真函数相似、JPEG2000编码能够精确控制生成码率的特点,根据已编码帧的率失真信息估计出同一场景待编码帧截止门限的下限,对那些率失真斜率小于该值的扫描通道停止编码。为了进一步减少编码量,本文对算法做了进一步改进,在Tier1阶段增加反馈机制,每个码块编码结束后重新判断后续码块的编码停止门限,使得后续码块的编码停止门限逐渐接近图像的实际截止门限。该算法适用于任何压缩率。支持感兴趣区域(region of interesting:ROI)编码是JPEG2000/Motion JPEG2000的重要特征,在用于远程医疗会诊等方面的Motion JPEG2000系统中通常希望能够支持动态ROI编码,即ROI区域、优先级可以在编码过程中变化。本文第三章探讨了感兴趣区域编码问题,提出了二种动态、码块优先的ROI编码算法DIRC、DWARC,二者均支持多个感兴趣区域有各自独立的优先级并且优先级可以在编码过程中动态改变,其生成码流与标准完全兼容。DIRC算法在各编码层(layer)对ROI和背景分别设定目标码率,在最终形成的码流中感兴趣区域码块其在各层的截止门限由高码率确定,而背景码块对应的截止门限由低码率决定。DWARC算法可以精确控制ROI编码生成码率,在标准JPEG2000编码基础上统计并调整ROI、背景各自生成比特数,使得ROI获得更好的编码质量。编码码流在网络、无线信道中传输时,数据可能发生错误或丢失,本文第四章探讨了Motion JPEG2000错误掩盖(error concealment: EC)技术。不同子带错误对图象质量影响不同,其中低频子带错误影响最严重,本文提出了一种当低频子带完全被破坏时利用视频序列的时域参考信息进行错误掩盖的算法。算法以正确接收的、与受损帧属于同一场景的帧做参考帧,对受损帧和参考帧分别用Sobel算子提取边缘信息,根据边缘图像运动估计结果将受损帧分为高运动帧、部分高运动帧和完全低运动帧,对前二种帧用运动补偿法重构图像,对完全低运动帧用代替法修复LL子带数据。文章进一步讨论了在高频子带、LL子带均发生错误的情况下如何应用该算法恢复LL子带。实验证明了算法的有效性。