发明名称 基于H.264的立体视频编解码方法
摘要 一种基于H.264的立体视频编解码方法,步骤包括:1)双路视频采集端分别获取左右眼的视频图像,左右眼的视频图像分别传送到各自对应的视频缓存中等待处理;2)编码器模块对所述缓存中的双路视频图像数据进行处理:先对运动/视差补偿,提取矢量信息;然后在对视频图像进行H.264编码的过程中把所用矢量信息嵌入参考图像中,最终得到视频流,实现双路视频的可单路传输性;3)通过视频流发送模块发送已编码视频流到视频解码/接收端,实现立体视频的单路传输;4)所述视频解码/接收端包括普通H.264客户端和装有H.264立体图像解码器的客户端,得到单路视频显示或进而立体视频显示。
申请公布号 CN101540926B 申请公布日期 2010.10.27
申请号 CN200910030728.8 申请日期 2009.04.15
申请人 南京大学 发明人 季晓勇;王健;高民芳;杨晓琴;陈智勇;黄前山;刘芳;蒋里;刘栩;孙立;鲁昊明
分类号 H04N13/00(2006.01)I;H04N7/26(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 朱戈胜
主权项 一种基于H.264的立体视频编解码方法,其特征是该方法是在立体视频数据嵌入系统中完成,该系统包括双路视频采集端、编码器模块、视频流发送模块和视频解码/接收端;所述方法的步骤包括:1)双路视频采集端分别获取左右眼的视频图像,左右眼的视频图像分别传送到各自对应的视频缓存中等待处理;2)编码器模块对所述缓存中的双路视频图像数据进行处理:先对获取到的双路视频进行运动补偿、视差补偿;然后对参考图像依次进行分块、整数DCT变换、矢量信息嵌入和量化得到单路图像,最后进行H.264编码得到单路视频流,实现双路视频的可单路传输性,编码器模块的具体实现步骤包括:2.1)初始化图像参数,建立右或左通道所需的内存;2.2)分块:为便于统计实验结果及查看嵌入数据对图像质量影响的大小,对左路图像的分块模式进行固定,分为H.264编码器使用的16*16、16*8、8*16、8*8、8*4、4*8和4*4七种模式;2.3)设置运动补偿搜索窗及视差补偿搜索窗;2.4)帧内预测和帧间预测的判断:a、如果是左通道的第一帧,采用帧内编码;b、如果是右通道的第一帧,采用帧内编码,同时采用以左通道第一帧为参考帧的视差补偿预测,并存储所需的视差矢量和残差;使用H.264编码器中的运动估计函数进行视差匹配,分块方法按步骤2.2)中进行;c、如果是左通道的非第一帧,那么以前一帧作为参考帧进行运动估计,采用块匹配算法,确定搜索范围,全搜索找到MAE最小的块,作为最佳匹配块,即为预测块,并记下运动矢量MV0;d、如果是右通道的非第一帧,那么要进行两种预测:以右通道相应帧作为参考,记下运动矢量MV1;以左通道相应帧为参考帧做视差估计,找到最佳匹配块,记下视差矢量DV;2.5)求残差:a、左通道除第一帧后的每一帧中根据MV0找出预测块,用当前块减去预测块,得残差;b、右通道的每一帧,根据DV找到视差补偿预测块,求得残差,记为R1;根据MV 1找到运动补偿预测块,求得残差,记为R2;2.6)确定右通道预测块:如果R1>R2,那么将MV 1所指的匹配块作为预测块,最终残差为R2,存储运动矢量;反之,将DV所指的块作为预测块,最终残差为R1,存储视差矢量,置标志位为1;2.7)对宏块进行整数DCT变换,将矢量信息V_x,V_y嵌入到宏块DCT变换后的最后两位中,即按照zigzag扫描的最后两位,并置标志位为0或1;嵌入后对该 宏块进行量化,编码;所述标志位是宏块倒数第三位;所述标志位是0,则表示后面的矢量信息为运动矢量;所述标志位是1,则表示后面嵌入的为视差矢量;2.8)判断是否编完所有宏块,如果没有,转到下一宏块;如果编完,转到下一帧图像,直到编完所有图像;3)通过视频流发送模块发送已编码视频流到视频解码/接收端,实现立体视频的单路传输;4)所述视频解码/接收端包括普通H.264客户端和装有H.264立体图像解码器的客户端;普通H.264客户端对接收到的视频流进行单路图像解码,得到单路视频显示;装有H.264立体图像解码器的客户端根据嵌入的矢量信息对双路图像进行恢复,恢复得到的双路图像分别存入两个缓冲区,进而立体显示。
地址 210093 江苏省南京市鼓楼区汉口路22号