高效视频编码的帧内预测参考点预处理方法

文档序号:9870837阅读:332来源:国知局
高效视频编码的帧内预测参考点预处理方法
【技术领域】
[0001] 本发明属于图像处理技术领域,特别设及一种帖内预测参考点的预处理方法,可 用于视频编码。
【背景技术】
[0002] 高效视频编码肥VC作为新一代的视频编码标准,在2013年由视频编码组(JCT-VC, Joint Collaborative Team on Video Coding)联合制定。皿VC标准主要针对高清和超高 清分辨率视频的压缩,相比于H.264/AVC的优异性能,编码效率提高了一倍。
[0003] 预测过程在肥VC中占据着极其重要的作用,肥VC中预测分为帖内预测和帖间预测 两种。帖内预测主要是根据已经编码的像素块来对下一个要编码的像素块进行预测编码, W去除相应的空间冗余信息;帖间预测则是根据当前帖中已经编码的相邻块W及参考帖中 相对应位置的块来对下一个像素块进行预测,W去除相应的时间冗余信息。视频是由许多 帖静止的图像组成的,在皿VC中根据每一帖所采用预测方式的不同,可W分为I帖、P帖和B 帖=种,其中,I帖表示关键帖,其只采用帖内预测的帖,它可W不依赖其他帖的数据单独完 成解码过程,获得解码图像;P帖表示前向预测帖,其使用前一帖重建帖作为参考帖,通过帖 间预测的方式得到,在解码端,在解码P帖之前必须先解码恢复它的参考帖;B帖表示双向预 测帖,其使用当前帖的前一帖和后一帖同时作为参考帖,在解码端解码B帖时,不仅要先得 到前一帖的重建图像,还要得到后一帖的重建图像。I帖是视频编码的起点,I帖采用的帖内 预测过程是整个视频编码中不可或缺的部分。参考点预处理是帖内预测的前期准备工作, 因此,提高帖内预测参考点预处理的速度在视频编码中有着很重要的意义。
[0004] 目前没有相关帖内预测参考点预处理方面的硬件实现,但在高效视频编码肥VC标 准中对参考样点预处理需要缓存整幅重建图,即高效视频编码肥VC标准中所有参考样点在 做完每一阶段的处理后都要缓存中间结果。该方法由于要存储整幅重建图浪费了大量的资 源,不利于硬件的实现,且对每一阶段处理结果缓存需要消耗大量的时间。

【发明内容】

[0005] 本发明的目的在于提出一种视频编码的帖内预测参考点预处理方法,W解决现有 高效视频编码皿VC标准中在对参考样点预处理时因要缓存整幅重建图而浪费大量资源和 消耗大量时间的问题,易于硬件实现。
[0006] 本发明的技术思路是:利用高级综合化S将参考点预处理做成流水结构,即依次按 顺序对参考样点赋值,对参考样点赋值的同时将之前赋值的参考样点依次进行平滑处理, 实现对参考样点的流水处理。
[0007] 根据上述思路,本发明实现对参考样点预处理的技术方案,包括:
[000引1. 一种视频编码的帖内预测参考点预处理方法,其特征在于:是在高级综合化S平 台上通过如下流水结构实现:
[0009] (1)初始化:
[0010] 创建S个移位寄存器31、1?2、1?,五个关键点存储单元1(1、1(2、1(3、1(4、1(5,1个结果存 储单元B_o[i]和标志位flag[i],其中0< = i< = 4N,N是当前预测单元PU边长所包含像素点 的个数,flag[ i ]用来标记当前预测单元PU参考点的可用性;
[0011] (2)根据当前预测单元PU所在的最大编码单元LCU的位置,更新顶部缓冲区top、左 边缓冲区left和当前最大编码单元缓冲区mlcu的值;
[0012] (3)根据参考点是否为重建值或参考点是否存在,判断参考点的可用性:
[0013] 当参考点是重建值时,则参考点为可用,执行步骤(4),
[0014] 当参考点不是重建值或参考点不存在时,则参考点为不可用,并对参考点标志位 flag[i]赋值为0;
[0015] (4)根据重建值的位置对参考点的标志位flag[i]赋值:如果重建值不在当前最大 编码单元LCU内部,则对参考点标志位f lag[ i ]赋值为1,否则,赋值为2;
[0016] (5)对五个关键点存储单元1(1、1(2、1(3、1(4和1(5进行赋值:
[0017] 当第0个标志位flag[0]、第N个标志位flag[N]、第2N个标志位flag[2N]、第3N个标 志位flag[3N]、第4N个标志位flag[4N]为加寸,将五个关键点存储单元1(1、1(2、1(3、1(4、1(5分别 赋值为128;
[0018] 当第0个标志位flag[0]、第N个标志位flag[N]、第2N个标志位flag[2N]、第3N个标 志位f lag[3N]、第4N个标志位f lag[4N]不为0时,从步骤(2)的缓冲区中取出第0个、第N个、 第2N个、第3N个、第4N参考点,分别存储到五个关键点存储单元1(1、1(2、1(3、1(4、1(5中;
[0019] (6)判断第i个标志位flag[i]是否为0,如果为0,则将Rl赋值为128,否则从步骤 (2)的缓冲区中取出第i个参考点存储到Rl中,其中对于第0个标志位flag[0]、第N个标志位 f lag[N]、第2N个标志位f lag[2N]、第3N个标志位f lag[3N]、第4N个标志位flag[4N],则将Rl 直接赋值为五个关键点存储单元Kl、K2、K3、K4、K5。
[0020] (7)对参考点做平滑处理:
[0021] 当i取0和1时,将第一个关键点存储单元Kl赋值到第0个结果存储单元8_〇[0]中;
[0022] 当i的取值为2、3、4.....4N时,根据步骤巧)中的关键点存储单元K1、K2、K3、K4、K5 和N的大小选择对应的平滑方法,并将平滑后的参考点存储到第i-1个结果存储单元8_〇[1-1忡;
[0023] (8)将第二个移位寄存器R2存储到第=个移位寄存器R3中,将第一个移位寄存器 Rl存储到第二个移位寄存器R2中,再判断i是否等于4N:如果是,则直接将第一个移位寄存 器Rl输出到i个结果存储单元8_〇[1]中,结束预处理,否则,令i = i+l返回步骤(6)。
[0024] 本发明具有如下优点:
[0025] 第一,本发明用缓存区存储图像的部分重建值,而非缓存整幅图像,节约了资源。
[0026] 第二,本发明设置五个关键的参考点,将滤波平滑和双线性平滑两种平滑方法统 一到了 一起。
[0027] 第=,本发明对参考样点赋值的同时将之前赋值的参考样点依次进行平滑处理, 实现对参考样点的流水处理,减少了时延,提高了吞吐率。
【附图说明】
[0028] 图1是本发明的实现流程图。
【具体实施方式】
[0029] 参照图1,本发明的实现步骤如下:
[0030] 步骤1:初始化。
[0031] 创建S个移位寄存器31、1?2、1?,五个关键点存储单元1(1、1(2、1(3、1(4、1(5,1个结果存 储单元B_o[i]和标志位flag[i],其中0< = i< = 4N,N是当前预测单元PU边长所包含像素点 的个数;
[0032] 其中S个移位寄存器R1、R2、R3用来存储参考点,五个关键点存储单元K1、K2、K3、 K4、K5用来存储第0个、第N个、第2N个、第3N个、第4N个参考点,flag[i]用来标记当前预测单 元PU参考点的可用性,结果存储单元8_〇[ i ]用来存储平滑后的参考点。
[0033] 步骤2:对缓冲区进行更新。
[0034] 将当前最大编码单元LCU左侧的最大编码单元LCU中最右边的一列参考点重建值 存储到左边缓冲区left;将当前最大编码单元LCU的参考点重建值缓存到当前最大编码单 元缓冲区mlcu;将当前最大编码单元LCU中最后一行的参考点重建值依次缓存到顶部缓冲 区top中,其中顶部缓冲区top的大小为64*(m+l),m为一幅图像经过扩展后的宽度除W64得 到的整数,左边缓冲区left的大小为64,当前最大编码单元缓冲区mlcu的大小为64*64。
[0035] 步骤3:判断参考点的可用性,并对其赋值。
[0036] 将帖内预测得到的预测值与原始像素点作差得到残差值,再将残差值经过变换量 化和反变换反量化得到残差值;将残差值后与预测值相加就得到了参考点的重建值,根据 参考点重建值对判断参考点的可用性,并对参考点标志位进行赋值:
[0037] 当参考点不是重建值或参考点不存在时,则参考点为不可用,并对参考点标志位 flag[i]赋值为0;
[0038] 当参考点是重建值时,根据重建值的位置对参考点的标志位flag[i]赋值,如果重 建值不在当前最大编码单元LCU内部,则对参考点标志位flag[ i ]赋值为1,否则对参考点标 志位flag[i]赋值为2。
[0039] 步骤4:对五个关键点存储单元1(1、1(2、1(3、1(4、1(5进行赋值。
[0040] 所述的五个关键点存储单元1(1、1(2、1(3、1(4、1(5分别用于存储不同的参考点,根据对 五个关键点存储单元存储的值和当前预测单元的PU的大小可W将线性平滑和滤波平滑统 一到一起,五个关键参考点存储单元的赋值原则如下:
[0041 ]当第0个标志位f lag[0]、第N个标志位f lag[N]、第2N个标志位f lag[2N]、第3N个标 志位flag[3N]、第4N个标志位flag[4N]为加寸,将五个关键点存储单元1(1、1(2、1(3、1(4、1(5分别 赋值为128;
[0042] 当第0个标志位flag[0]、第N个标志位flag[N]、第2N个标志位flag[2N]、第3N个标 志位flag[3N]、第4N个标志位flag[4N]为1时,从当前最大编码单元缓冲区mlcu中取出第0 个、第N个、第2N个、第3N个、第4N参考点,分别赋值到五个关键点存储单元K1、K2、K3、K4、K5 中;
[0043] 当第0个标志位flag[0]、第N个标志位flag阳]为2时,从左边缓冲区left中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1