用于应用H264视频编码标准的帧内预测方法及装置.pdf

上传人:b*** 文档编号:1345114 上传时间:2018-04-16 格式:PDF 页数:22 大小:1.16MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910131490.8

申请日:

2009.04.01

公开号:

CN101854540A

公开日:

2010.10.06

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 7/26申请日:20090401|||公开

IPC分类号:

H04N7/26; H04N7/50

主分类号:

H04N7/26

申请人:

辉达公司

发明人:

何熙

地址:

美国加利福尼亚州

优先权:

专利代理机构:

北京市磐华律师事务所 11336

代理人:

董巍;顾珊

PDF下载: PDF下载
内容摘要

本发明提供了一种用于应用H.264视频编码标准进行帧内预测计算的方法和装置。根据本发明的方法包括以下步骤:选取要进行帧内预测的图像块,提取该块的相邻已知像素值;判断所述图像块的预测模式,若预测模式为对角线左下、对角线右下、垂直向右、水平向下、垂直向左和水平向上其中之一,则对所述相邻已知像素值进行第一加法运算;将第一加法运算的结果分别进行第一移位运算和第二加法运算;将第二加法运算的结果进行第二移位运算;以及根据所述预测模式和所述图像块的大小从所述第一移位运算和所述第二移位运算的结果中选择相应的值输出。根据本发明的方法和电路装置能够减少大量的重复计算并提高计算效率,同时不会显著增加芯片的硬件开销面积。

权利要求书

1: 一种用于应用 H.264 视频编码标准进行帧内预测计算的方法, 所述方法包括下列步 骤: 选取要进行帧内预测的图像块, 提取该块的相邻已知像素值 ; 判断所述图像块的预测模式, 若预测模式为对角线左下、 对角线右下、 垂直向右、 水平 向下、 垂直向左和水平向上其中之一, 则对所述相邻已知像素值进行第一加法运算 ; 将第一加法运算的结果分别进行第一移位运算和第二加法运算 ; 将第二加法运算的结果进行第二移位运算 ; 以及 根据所述预测模式和所述图像块的大小从所述第一移位运算和所述第二移位运算的 结果中选择相应的值输出。
2: 根据权利要求 1 所述的方法, 其特征在于所述第一加法运算是根据下列公式进行 的: Predictor = P[n-1]+P[n]+1 其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 1, ..., Max, 表示从 所述图像块最左下角起到最右上角为止的每个相邻像素。
3: 根据权利要求 1 所述的方法, 其特征在于所述第二加法运算是根据下列公式进行 的: Predictor = P[n-1]+2*P[n]+P[n+1]+2, 当 n = 1, ..., Max-1 时, Predictor = 3*P[0]+P[1]+2, 当 n = 0 时, Predictor = P[Max-1]+3*P[Max]+2, 当 n = Max 时, 其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 0, ..., Max, 表示从 所述图像块最左下角起到最右上角为止的每个相邻像素。
4: 根据权利要求 1 所述的方法, 其特征在于所述第一移位运算是右移一位。
5: 根据权利要求 1 所述的方法, 其特征在于所述第二移位运算是右移二位。
6: 根据权利要求 1 所述的方法, 还包括当所述预测模式是水平、 垂直、 DC 和平面模式其 中之一时, 基于相邻像素的值计算像素预测值的步骤。
7: 根据权利要求 1 所述的方法, 其特征在于所述第一加法运算的位宽为 8 位、 16 位或 32 位。
8: 根据权利要求 1 所述的方法, 其特征在于所述第二加法运算的位宽为 9 位、 17 位或 33 位。
9: 一种用于应用 H.264 视频编码标准进行帧内预测计算的电路装置, 所述电路装置包 括下列可操作地连接的单元 : 相邻像素值提取单元, 用于提取要进行帧内预测计算的图像块的相邻已知像素值 ; 模式确定单元, 用于确定预测模式是否是对角线左下、 对角线右下、 垂直向右、 水平向 下、 垂直向左和水平向上其中之一 ; 第一加法运算单元, 用于将相邻已知像素值作为输入, 进行第一加法运算 ; 第一移位单元, 用于将通过第一加法运算单元计算的结果进行第一移位运算 ; 第二加法运算单元, 用于将通过第一加法运算单元计算的结果进行第二加法运算 ; 第二移位单元, 用于将通过第二加法运算单元计算的结果进行第二移位运算 ; 选择赋值单元, 用于根据预测模式和所述图像块的大小从第一移位单元和第二移位单 2 元输出的结果中选择相应的值。
10: 根据权利要求 9 所述的电路装置, 其特征在于所述第一加法运算单元根据下列公 式进行计算 : Predictor = P[n-1]+P[n]+1 其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 1, ..., Max, 表示从 所述图像块最左下角起到最右上角为止的每个相邻像素。
11: 根据权利要求 9 所述的电路装置, 其特征在于所述第二加法运算单元根据下列公 式进行计算 : Predictor = P[n-1]+2*P[n]+P[n+1]+2, 当 n = 1, ..., Max-1 时, Predictor = 3*P[0]+P[1]+2, 当 n = 0 时, Predictor = P[Max-1]+3*P[Max]+2, 当 n = Max 时, 其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 0, ..., Max, 表示从 所述图像块最左下角起到最右上角为止的每个相邻像素。
12: 根据权利要求 9 所述的电路装置, 其特征在于所述第一移位运算单元用于执行右 移一位的操作。
13: 根据权利要求 9 所述的电路装置, 其特征在于所述第二移位运算单元用于执行右 移二位的操作。
14: 根据权利要求 9 所述的电路装置, 其特征在于所述电路装置还包括水平、 垂直、 DC 或平面模式处理单元。
15: 根据权利要求 9 所述的电路装置, 其特征在于所述第一加法运算单元中的加法器 具有进位功能。
16: 根据权利要求 9 所述的电路装置, 其特征在于所述第一加法运算单元中的加法器 的位宽为 8 位、 16 位或 32 位。
17: 根据权利要求 9 所述的电路装置, 其特征在于所述第二加法运算单元中的加法器 的位宽为 9 位、 17 位或 33 位。
18: 一种图形处理系统, 包括 : 包含用于应用 H.264 视频编码标准进行帧内预测计算的电路装置的图形处理单元, 所 述电路装置包括下列可操作地连接的单元 : 相邻像素值提取单元, 用于提取要进行帧内预测计算的图像块的相邻已知像素值 ; 模式确定单元, 用于确定预测模式是否是对角线左下、 对角线右下、 垂直向右、 水平向 下、 垂直向左和水平向上其中之一 ; 第一加法运算单元, 用于将相邻已知像素值作为输入, 进行第一加法运算 ; 第一移位单元, 用于将通过第一加法运算单元计算的结果进行第一移位运算 ; 第二加法运算单元, 用于将通过第一加法运算单元计算的结果进行第二加法运算 ; 第二移位单元, 用于将通过第二加法运算单元计算的结果进行第二移位运算 ; 选择赋值单元, 用于根据预测模式和所述图像块的大小从第一移位单元和第二移位单 元输出的结果中选择相应的值。
19: 根据权利要求 18 所述的图形处理系统, 还包括图形卡, 所述图形处理单元可操作 地连接到所述图形卡。

说明书


用于应用 H.264 视频编码标准的帧内预测方法及装置

    技术领域 本发明涉及视频压缩中的帧内预测技术, 特别涉及实现应用 H.264 数字视频编码 标准的帧内预测方法及装置。
     背景技术 在传输 ( 特别是实时传输 ) 和存储数字视频数据时, 对于数据量非常大的原始视 频数据需要进行数据压缩和编码处理。 视频编码技术的标准在经历了 90 年代初的 MPEG-1、 MPEG-2 和 H.261、 H.263 等, 目前已发展到由 ITU-T 的 VCEG( 视频编码专家组 ) 和 ISO/IEC 的 MPEG 联合组建的 JVT( 联合视频组 ) 提出的新的数字视频编码标准 H.264。 H.264 标准使 图像压缩技术上升到了一个更高的阶段, 能够实现在较低带宽上提供高质量的图像传输。 H.264 已经逐渐在低码率的无线传输、 标准清晰度和高清晰度的电视广播、 Internet 视频 流、 传输高清晰度的 DVD 视频以及数码相机的高质量视频等领域得到广泛的应用。
     帧内预测是 H.264 标准中一项重要的视频压缩技术。在 H.264 标准中, 视频由多 个帧的图像组成, 每一帧图像能分成多个宏块 (MB)。 帧内预测是对单个宏块进行的, 通过利 用不同方向上的邻近块的相邻像素来预测当前块的像素值, 然后再将预测块和真实块之间 的不同点进行编码存储。这种方法是 H.264 标准所特有的, 尤其对于经常存在空间冗余的 平坦背景或平行线图特别有用。
     在 H.264 标准下, 像素被划分为四种图像块, 分别是 I4x4、 I8x8、 I16x16 亮度 (luma) 块 和 I8x8 色 度 (chroma) 块。 对 于 I4x4 和 I8x8 块 分 别 有 9 种 预 测 模 式, 即垂 直 (Vertical)、 水平 (Horizontal)、 DC、 对角线左下 (Diagonal_Down_Left)、 对角线右下 (Diagonal_Down_Right)、 垂直向右 (Vertical_Right)、 水平向下 (Horizontal_Down)、 垂 直向左 (Vertical_Left) 和水平向上 (Horizontal_Up)。图 1 以 I4x4 块为例, 示出了这 9 种预测模式。其中 A 至 M 表示当前要进行帧内预测的图像块的相邻像素, 灰色部分表示 要进行预测的当前图像块的像素。对于 I16x16 块和色度块, 分别有 4 种预测模式, 即垂 直 (Vertical)、 水平 (Horizontal)、 DC 和平面 (Plane) 模式, 其中垂直、 水平和 DC 与上述 I4x4 中的相应模式相同。在 H.264 标准中对每种大小的块在每种预测模式下都给出了预 测值的计算方法, 举例来说, 对于 I4x4 块的对角线左下模式, 每一个像素 (x, y) 的预测值 pred4x4L[x, y]( 其中 x, y 是 0 到 3 之间的整数 ) 利用如下公式进行计算 :
     如果 x 等于 3 且 y 等于 3, 则
     pred4x4L[x, y] = (P[6, -1]+3*P[7, -1]+2) >> 2
     否则 ( 即当 x ≠ 3 或 y ≠ 3 时 ),
     pred4x4L[x, y] = (P[x+y, -1]+2*P[x+y+1, -1]+P[x+y+2, -1]+2) >> 2
     其中 P[m, n] 是当前要预测的块的相邻像素的已知值, m = -1, ..., 7, 分别表示图 1 中的相邻像素 M, A, B, C, D, E, F, G 和 H 的位置 ; n = -1, ..., 3, 分别表示图 1 中的相邻像 素 M, I, J, K 和 L 的位置。
     在进行帧内预测计算时, 对于每个划分的图像块, 根据块的大小以及各种预测模
     式, 选取 H.264 标准中定义的相应公式分别计算预测值, 最后根据所设定的模式选择计算 出的预测值, 赋给所预测的像素块。由此可见, 帧内预测的计算量是十分巨大的。在现有的 设计中, 通常采用单一形式的数据通道来对所有预测模式进行计算, 这样的数据通道一次 只能预测一个像素, 效率非常低。如果想要同时计算多个像素, 也就是使电路的位宽增大, 唯一的方法只能是为每个像素均分配这样一个数据通道, 这样会导致电路的硬件面积开销 非常大, 产生大量冗余的单元。此外, 在 H.264 标准中针对不同块大小或预测模式的很多计 算公式是相同的, 因此如果按照现有设计对每个块每种模式分别计算的话会产生大量的冗 余计算, 这也会使计算的效率大大降低。 发明内容 在发明内容部分中引入了一系列简化形式的概念, 这将在具体实施方式部分中进 一步详细说明。 本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的 关键特征和必要技术特征, 更不意味着试图确定所要求保护的技术方案的保护范围。
     针对在现有的帧内预测计算中存在的上述问题, 本发明提出了一种全新的实现应 用 H.264 数字视频编码标准的帧内预测计算方法和实现该方法的电路装置, 其中将基于 H.264 标准下的相同公式的计算进行合并, 并且并行地执行。这样, 根据本发明的方法和 电路装置能够减少大量的重复计算并提高计算效率, 同时不会显著增加芯片的硬件开销面 积。
     本发明提出了一种实现应用 H.264 数字视频编码标准的帧内预测计算的方法。首 先, 选取要进行帧内预测的图像块, 提取该块的相邻已知像素值。 判断所述图像块的预测模 式, 若预测模式为对角线左下、 对角线右下、 垂直向右、 水平向下、 垂直向左和水平向上其中 之一, 则对所述相邻已知像素值进行第一加法运算 ; 将第一加法运算的结果分别进行第一 移位运算和第二加法运算 ; 将第二加法运算的结果进行第二移位运算 ; 以及根据所述预测 模式和所述图像块的大小从所述第一移位运算和所述第二移位运算的结果中选择相应的 值输出。上述第一加法运算是根据下列公式进行的 :
     Predictor = P[n-1]+P[n]+1,
     其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 1, ..., Max, 表 示从所述图像块最左下角起到最右上角为止的每个相邻像素。
     上述第二加法运算是根据下列公式进行的 :
     Predictor = P[n-1]+2*P[n]+P[n+1]+2, 当 n = 1, ..., Max-1 时,
     Predictor = 3*P[0]+P[1]+2, 当 n = 0 时,
     Predictor = P[Max-1]+3*P[Max]+2, 当 n = Max 时,
     其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 0, ..., Max, 表 示从所述图像块最左下角起到最右上角为止的每个相邻像素。 所述第一移位运算是右移一 位, 所述第二移位运算是右移二位。该方法还可以包括当所述预测模式是水平、 垂直、 DC 和 平面模式其中之一时, 基于相邻像素的值计算像素预测值的步骤。
     本发明还提出了一种实现根据上述方法的应用 H.264 数字视频编码标准的帧内 预测计算的电路装置。 本发明还提供了一种可以包含上述电路装置的图形处理单元 (GPU), 以及一种可以包括这种图形处理单元的图形卡。
     其他特征和实施方式将在下文中进行描述。附图说明 本发明的下列附图在此作为本发明的一部分用于理解本发明。 附图中示出了本发 明的实施例及其描述, 用来解释本发明的原理。在附图中,
     图 1 示出了 I 4x4 块的 9 种预测模式。
     图 2 示出了根据本发明的帧内预测方法的流程图。
     图 3 示出了实现本发明的帧内预测方法的电路装置框图。
     图 4a-4c 示出了将本发明的帧内预测方法应用于 I4x4 块计算的电路数据通道图。
     图 5 示出了将本发明的帧内预测方法应用于 I8x8 块计算的电路数据通道图。
     图 6 示出了将本发明的帧内预测方法应用于 I8x8 块参考采样过滤功能的数据通 道图。
     图 7a-7c 示出了能同时实现 I4x4 块的 8 种预测模式计算、 I8x8 块的 8 种模式计 算、 I8x8 块的参考采样过滤计算、 16x16 块和 I8x8 色度块的水平、 垂直和平面预测模式计算 的数据通道图。
     具体实施方式 在下文的描述中, 给出了大量具体的细节以便提供对本发明更为彻底的理解。然 而, 对于本领域技术人员来说显而易见的是, 本发明可以无需一个或多个这些细节而得以 实施。 在其他的例子中, 为了避免与本发明发生混淆, 对于本领域公知的一些技术特征未进 行描述。
     在 H.264 的 10 种帧内预测模式中, 对于水平、 垂直、 DC 和平面 4 种模式的计算相 对于其他 6 种模式较为简单, 将在下文进行描述。对于其他 6 种帧内预测模式, 即对角线左 下、 对角线右下、 垂直向右、 水平向下、 垂直向左和水平向上, 在 H.264 标准中提供的计算公 式可以归纳为以下 4 个 :
     Predictor = (P[n-1]+P[n]+1) >> 1(1)
     Predictor = (P[n-1]+2*P[n]+P[n+1]+2) >> 2(2)
     Predictor = (3*P[0]+P[1]+2) >> 2(3)
     Predictor = (P[Max-1]+3*P[Max]+2) >> 2(4)
     其中 Predictor 是像素的预测值, P[n] 是相邻像素的已知值, n = 0, ..., Max, 表示从块最左下角起到最右上角为止的每个相邻像素, 其中 P[0] 为最左下角的相邻像素, P[Max] 为最右上角的相邻像素。为了简明起见, 将 H.264 标准中以二维坐标形式表示的 P[x, y] 在本发明中以一维坐标 P[n] 的简化形式替代, P[n-1] 和 P[n] 表示已知像素值中相 邻的两个已知值。对于 I4x4 块, 这种二维和一维之间转化的对应表如表 1 所示 :
     二维表示 P[-1, 3]一维表示 P[0]6101854540 A CN 101854542说二维表示 P[-1, 2] P[-1, 1] P[-1, 0] P[-1, -1] P[0, -1] P[1, -1] P[2, -1] P[3, -1] P[4, -1] P[5, -1] P[6, -1] P[7, -1]明书一维表示 P[1] P[2] P[3] P[4] P[5] P[6] P[7] P[8] P[9] P[10] P[11] P[12]4/9 页表 1I4x4 块中二维表示和一维表示的相邻像素对应关系
     I8x8 块的相邻像素对应关系与 I4x4 的相类似, 在此不予赘述。
     可以看出, 公式 (1) 和 (2) 为 n = 1, ..., Max-1 时的两种计算通式, 而公式 (3) 和 (4) 分别为利用公式 (2) 时 n = 0 和 n = Max 时的端点值计算公式。
     将上述公式 (2) 进行变形, 可以得到另一种形式 :
     Predictor = {(P[n-1]+P[n]+1)+(P[n]+P[n+1]+1)} >> 2(2’ )
     由此可见, 上述公式 (2’ ) 的结果在进行逻辑右移 2 位之前, 即大括号中的计算结 果, 实际上是 (P[n-1]+P[n]+1) 与 (P[n]+P[n+1]+1) 两部分之和, 这两部分可以从公式 (1) 分别在 n = n-1 和 n 时右移一位前的中间计算结果中直接获得。由此, 在计算公式 (2’ )时 无需为其设计单独且复杂的运算电路, 而只需设置一个加法器并利用公式 (1) 的中间计算 结果再简单移位后即可获得。而公式 (1) 的计算只涉及一次加法 ( 加 1 运算可以由加法器 自身的进位功能实现, 无需再设置单独的加法器 ) 和一次逻辑移位操作, 因此只需两级加 法运算再配合以利用公式 (3) 和 (4) 对端点的单独计算, 即可一次算出像素在除了水平、 垂 直、 DC 和平面模式以外的所有模式下的预测值。
     图 2 示出了根据本发明的方法的流程图。如图 2 所示, 在步骤 201 中, 将一帧图像
     划分为若干个块。前进到步骤 202, 选取要进行帧内预测的块, 并提取该块的相邻已知像素 值。在步骤 203, 判断该块的大小是否是 I16x16 块或者是否为 I8x8 色度块。由于 I16x16 和色度块只有水平、 垂直、 DC 和平面四种预测模式, 而这四种预测模式均不涉及本发明的 “二级加法” 运算, 因此当块的尺寸为 I16x16 或为色度块时, 直接进入步骤 205 进行水平、 垂直、 DC 和平面四种预测模式的计算。当在步骤 203 中判断出块的大小不是 I16x16 且块 不是色度块时, 进入步骤 204, 判断帧内预测所选择的模式。若选择的模式为水平、 垂直或 DC 模式中的任一种, 则直接进入步骤 205 进行相应模式的计算 ; 若为其他模式, 即对角线 左下、 对角线右下、 垂直向右、 水平向下、 垂直向左或水平向上模式, 则进入步骤 206, 即进 入到根据本发明的 “二级加法” 运算中。在步骤 206, 利用所提取的相邻像素值, 根据上述 公式 (1) 进行第一加法运算, 即完成公式 (1) 中的 (P[n-1]+P[n]+1) 的加法运算, 其中加 1 的操作由加法器自身所具有的进位 +1 功能完成。将步骤 206 中计算出的值分别送到步 骤 207 的第二加法运算和步骤 208 的第一移位操作中。在步骤 208 中, 将 206 中计算所得 的结果右移一位, 从而完成了公式 (1) 的计算, 将最终结果输入到步骤 210 中。在步骤 207 中, 利用上述公式 (2’ ) 和由步骤 206 得出的值进行第二加法运算, 即完成公式 (2’ ) 中的 (P[n-1]+P[n]+1)+(P[n]+P[n+1]+1)。将步骤 207 的计算结果送到步骤 209 的第二移位操 作中。在步骤 209 中, 将 207 中计算所得的结果右移二位, 从而完成了公式 (2’ ) 的计算, 将 最终结果输入到步骤 210 中。最后, 在步骤 210 中, 根据所需要的预测模式和块的大小, 从 步骤 205、 步骤 208 和步骤 209 计算所得的值中选取相应的计算结果, 在步骤 211 中赋给所 预测的像素, 完成像素的帧内预测计算。 由此可见, 本发明正是利用了在各个不同的模式之间有大量相同的计算公式, 并 将这些相同的计算合并为简单的二级加法计算, 从而消除了大量冗余的计算。
     图 3 示出了实现本发明的帧内预测方法的电路装置的框图。根据图 3, 首先将划 分为块的图像数据输入到相邻像素值提取单元 301 中, 在该相邻像素值提取单元 301 中提 取块的已知相邻像素值。然后进入到模式确定单元 302 来确定预测模式是否为水平、 垂直、 DC 和平面模式其中一种。如果预测模式是为水平、 垂直、 DC 和平面模式其中一种, 则将相 邻像素值输入到水平、 垂直、 DC 或平面模式处理单元 303 进行相应的计算, 其结果直接输出 到选择赋值单元 308。若预测模式为对角线左下、 对角线右下、 垂直向右、 水平向下、 垂直向 左或水平向上模式其中一种, 则将已知相邻像素值输入到第一加法运算单元 304 进行第一 加法运算, 即实现公式 (1) 中的 (P[n-1]+P[n]+1) 的计算, 其中加 1 运算由第一加法运算单 元 304 中的加法器自身所具有的进位 +1 功能完成。将 304 中计算的结果分别输入到第一 移位单元 305 和第二加法运算单元 306 中。在第一移位单元 305 中进行右移一位, 完成公 式 (1) 的计算, 将结果直接输出到选择赋值单元 308。在第二加法运算单元 306 中执行第 二次加法运算, 即完成公式 (2’ ) 中的 {(P[n-1]+P[n]+1)+(P[n]+P[n+1]+1)}。将计算结果 输出到第二移位单元 307 中进行右移二位的移位操作, 移位后的结果也输出到选择赋值单 元 308。 在选择赋值单元 308 中, 根据所需的预测模式和块的大小选择出相应的预测计算结 果, 然后输出到块中的各个像素, 完成帧内预测计算。
     实施例 1
     图 4a-4c 示出了实现将本发明的帧内预测方法应用于 I4x4 块计算的电路数据通 道图。该数据通道用于计算 I4x4 块除 DC 模式以外的所有 8 种预测模式 ( 水平和垂直模式
     的计算将在下文中进行描述 )。如图 4a-4c 所示, 对于 I4x4 块共有 13 个已知的相邻像素, 即图中的 P[0] 至 P[12]。将这些已知值按图中所示的顺序并行输入到图 4b 所示的第一级 加法器 401 中, 即加法器 A1 至 A12 中。如图 4b 所示, 加法器 A1 计算 P[0]+P[1] 之和, 加法 器 A2 计算 P[1]+P[2] 之和, 以此类推, 加法器 A12 计算 P[11]+P[12] 之和。再利用加法器 本身的进位加 1 功能, 完成公式 (1) 中的 (P[n-1]+P[n]+1) 的计算。将第一级加法器 A1 至 A12 的输出结果直接引出到数据通道最底层的第一移位单元 403 中, 执行右移一位的操作, 由此完成了公式 (1) 的计算, 输出结果。同时, 将第一级加法器 401(A1 至 A12) 的输出分别 引入到第二级加法器 402(A13 至 A25) 中。如图 4b 所示, 加法器 A1 的输出分别引入到加法 器 A13 和 A14 中, 加法器 A2 的输出分别引入到加法器 A14 和 A15 中, 以此类推。由此, 第二 级加法器 402 利用第一级加法器 401 的计算结果, 完成公式 (2’ ) 中的 {(P[n-1]+P[n]+1)+ (P[n]+P[n+1]+1)} 的计算。将第二级加法器 402 的输出引出到第二移位单元 404 中, 执行 右移二位的操作, 由此完成了公式 (2’ ) 的计算, 输出结果。
     如图 4b 所示, 端点处的相邻像素值 P[0] 和 P[12] 的值还分别输入到加法器 A0 和 A26 中, 用于实现公式 (3) 和 (4) 的端点计算。将公式 (3) 变形为 :
     Predictor = {(2*P[0]+1)+(P[0]+P[1]+1)} >> 2(3’ )
     其中 Predictor 是像素的预测值, 由带进位功能的加法器 A0 计算 (2*P[0]+1) 的 结果, (P[0]+P[1]+1) 之和由加法器 A1 算出。将这两个计算结果共同输入到加法器 A13, 进 行 {(2*P[0]+1)+(P[0]+P[1]+1)} 的计算。然后, 将加法器 A13 的计算结果输入到第二移位 单元 404 中进行右移二位的操作, 由此完成了公式 (3’ ) 的计算。
     公式 (4) 的计算与公式 (3) 类似, 将公式 (4) 变形为 :
     Predictor = {(P[Max-1]+P[Max]+1)+(2*P[Max]+1)} >> 2(4’ )
     其中 Predictor 是像素的预测值, 由带进位功能的加法器 A26 计算 (2*P[Max]+1) 的结果 ( 在本实施例中 Max = 12), (P[Max-1]+P[Max]+1) 之和由加法器 A12 算出。然后, 将这两个计算结果共同输入到加法器 A25 来计算 {(P[Max-1]+P[Max]+1)+(2*P[Max]+1)}, 在将加法器 A25 的计算结果输入到第二移位单元 404 中进行右移二位的操作, 由此完成了 公式 (4’ ) 的计算。
     图 4c 示出了图 4b 所示的数据通道的另一种替换形式, 其中加法器 A0 和 A26 分别 用具有比加法器更为简单的结构的移位单元 S0 和 S1 来代替, 以降低电路布局的复杂度并 因此减小电路的硬件面积开销。(2*P[0]+1) 可以用如下方式实现 : 首先, 在移位单元 S0 中 将 P[0] 左移一位得到 2*P[0], 然后由于左移一位后最低有效位 (1sb) 自然为 0, 则将移位 后的结果的最低有效位 (1sb) 强制置为 1, 从而得到 (2*P[0]+1)。通过移位单元 S1 计算 (2*P[Max]+1) 的方式与 (2*P[0]+1) 类似。
     如上所述, 利用图 4b 和 4c 所示的数据通道, 可以完成公式 (1)-(4) 的计算, 因此 可以实现对 I4x4 块的除 DC 模式以外所有 8 种模式的预测计算。这一数据通道结构只需要 二级加法运算, 而且由于合并了大量冗余的计算, 因此只需 27 个或 25 个加法器以及少量的 移位寄存器即可实现, 大大提高了计算的速度, 而且并未显著增加面积的开销。
     实施例 2
     图 5 示出了实现将本发明的帧内预测方法应用于 I8x8 块计算的电路数据通道图。 I8x8 块的计算与实施例 1 中的 I4x4 块计算相类似, 唯一的区别在于 I8x8 块的已知相邻像素共有 25 个, 如图 5 中所示的 P[0] 至 P[24]。
     与实施例 1 相类似, 本领域技术人员可以理解的是, 也可以将图 5 中的加法器 A0 和 A50 替换为移位单元来实现公式 (3’ ) 和 (4’ ) 的计算。
     实施例 3
     根据本发明设计的数据通道结构规则, 这使得电路的布局布线非常方便。 同时, 也 可以利用此数据通道中的一些单元, 通过简单添加少量单元即可同时实现 H.264 标准中规 定的其他计算功能。
     图 6 示出了在实施例 2 和图 5 的 I8x8 块预测模式计算的数据通道基础上, 再同时 实现 I8x8 块参考采样过滤功能的数据通道图。根据 H.264 标准, 参考采样过滤功能所涉及 到的计算公式如下 :
     若所有相邻像素的值可用, 则
     Predictor[n] = (P[n-1]+2*P[n]+P[n+1]+2) >> 2
     Predictor[0] = (3*P[0]+P[1]+2) >> 2
     Predictor[24] = (P[23]+3*P[24]+2) >> 2
     若相邻像素 P[8] 的值不可用, 则 Predictor[7] = (P[6]+3*P[7]+2) >> 2
     Predictor[9] = (P[10]+3*P[9]+2) >> 2
     若相邻像素 P[7] 的值可用但 P[9] 的值不可用, 则
     Predictor[8] = (P[7]+3*P[8]+2) >> 2
     若相邻像素 P[7] 的值不可用但 P[9] 的值可用, 则
     Predictor[8] = (P[9]+3*P[8]+2) >> 2
     从以上公式中可以看出, 参考采样过滤功能主要是针对当相邻像素 P[7]、 P[8] 或 P[9] 不可用时设置了一些特殊处理的方法, 但所选用的公式的基本形式仍是上述公式 (2)、 (3) 和 (4)。
     如图 6 所示, 在实施例 2 的 I8x8 预测电路基础上, 将相邻像素值 P[7]、 P[8] 和 P[9] 分别直接输出到三个执行左移一位同时加一操作的移位单元, 并将移位操作的输出通 过多路选择器 M1 连接到第二级加法器中的加法器 A32、 A33 和 A34 上。当根据实施例 2 进 行 I8x8 块的帧内预测计算时, 多路选择器 M1 不选通移位单元的输出, 数据通道的功能和实 施例 2 中的数据通道一样。当需要进行参考过滤功能时, 只需控制多路选择器 M1 选择相应 的移位单元的输出即可。举例来说, 若相邻像素 P[7] 的值可用但 P[9] 的值不可用, 则由第 一级加法器中的加法器 A8 来计算 (P[7]+P[8]+1), 将其结果通过多路选择器 M1 中左起第二 个多路选择器输入到第二级加法器中的加法器 A33 的一端。加法器 A33 的另一个输入通过 控制多路选择器 M1 中左起第三个多路选择器来选择, 即将 P[8] 左移一位后得到 2*P[8], 然后将其最低有效位 (1sb) 强制置为 1 来获得 (2*P[8]+1)。最后, Predictor[8] 的参考 过滤值由经加法器 A33 计算的结果再右移二位得到, 即实现了上述的公式 Predictor[8] = (P[7]+3*P[8]+2) >> 2。
     因此, 通过在 I8x8 模式预测的数据通道基础上仅增加 3 个执行左移一位并加一操 作的移位单元和四个多路选择器, 即可以同时实现 H.264 中的 I 8x8 块的帧内预测模式计 算和参考采样过滤功能。当然, 和实施例 1 相类似的, 执行左移一位并加一操作的移位单元
     也可以用加法器来替代。
     实施例 4
     图 7a-7c 示出了能同时实现 I 4x4 块的 8 种模式计算、 I8x8 块的 8 种模式计算、 I8x8 块的参考采样过滤计算、 I4x4 块、 I8x8 块和 I16x16 块以及 I8x8 色度块的水平、 垂直 和平面模式计算的数据通道图, 该数据通道可以最多一次计算 64 个像素的预测值。
     如图 7a-7c 所示, 该数据通道由第一级加法器 A0 至 A25 以及 A52( 如图 7a 和 7c 所 示 ), 第二级加法器 A26 至 A51( 如图 7a 和 7c 所示 ), 6 个执行左移一位并将 1sb 置 1 操作 的移位单元 S2-S7 和多个多路选择器 701( 如图 7a 和 7b 所示 ) 构成, 连线关系如图 7a-7c 所示。 该数据通路可以同时对 2 个 I4x4 块进行 8 种预测模式的计算, 其中加法器 A0 至 A12、 A26 至 A38 和移位单元 S5 一起构成了一个类似实施例 1 的计算 I4x4 块的数据通道, 加法器 A14 至 A25、 A39 至 A52 和移位单元 S6 一起构成了计算另一个 I4x4 块的数据通道。通过控 制多路选择器 M1 和 M3 选通相应的数据通道, 可以实现如实施例 1 和图 4b 所示的 I4x4 块 模式预测。
     在计算 8x8 块模式预测时, 由加法器 A0 至 A24、 A27 至 A51 以及移位单元 S7 构成 了计算相应的数据通道。通过控制多路选择器 M1 和 M4 选通相应的数据通道, 可以实现如 实施例 2 和图 5 所示的 I8x8 块模式预测。 在计算 I8x8 块参考采样过滤计算时, 由加法器 A0 至 A24、 A27 至 A51 和移位单元 S2 至 S4、 S7 一起构成了计算相应的数据通道。通过控制多路选择器 M1 和 M2 选通相应的 数据通道, 可以实现如实施例 3 和图 6 所示的 8x8 块参考采样过滤的计算。
     I4x4、 I8x8、 I16x16 块和色度块的水平、 垂直和平面模式的计算将在下文进行介 绍。
     水平、 垂直、 平面和 DC 模式的计算
     水平和垂直模式的计算相对简单。 根据 H.264 标准的计算公式并参考图 1, 在水平 模式下, 处于同一水平方向上的像素预测值均取该水平方向上的左侧相邻像素值。在垂直 模式下, 处于同一垂直方向上的像素预测值均取该垂直方向上的顶部相邻像素值。 因此, 水 平和垂直模式无需进行任何计算, 只需将输入的相邻像素值直接输出赋给所预测的像素即 可。在数据通道的实现上, 只需将提取后的相邻像素值直接连线到输出的选择赋值单元即 可。因此, 尽管在图 4b- 图 7c 中未明确示出, 实施例 1、 2、 3 和 4 中所示的数据通道都可以 仅通过增加连线关系即可实现 I4x4、 8x8 和 I16x16 块的水平和垂直模式的计算。
     关于平面模式和 DC 模式, 由于在 H.264 标准中这些模式的计算公式并没有利用 到如前所述的公式 (1)-(4), 因此这些模式没有用到本发明的 “两级加法” 的设计思想。然 而, 对于本领域技术人员来说显而易见的是, 可以采用现有设计中已知的任意计算平面和 DC 模式的数据通道来与本发明的实施例 1-4 相结合, 从而实现完整的帧内预测计算。
     例如, 对于 I16x16 平面模式的计算, H.264 标准中给出的计算公式如下 :
     Predictor = a+15+b*n+c*m+1 (5)
     其中 n = -7...8, m = -7...8
     a = 16*p[-1, 15]+16*p[15, -1]
     b = (5*H+32) >> 6
     c = (5*V+32) >> 6
     由于公式 (5) 的计算也用到了一些加法, 因此为了提高硬件的利用效率, 也可以 通过设置多路选择器来选择本发明的二级加法数据通道中的一部分加法器, 实现平面模式 的一部分计算。图 7a-7c 所示的数据通道中就提供了一种利用现有的加法器完成平面模式 一部分计算的方法。 如图 7a-7c 所示, 通过设置并控制相应的多路选择器 M1, 加法器 A1-A16 可用来计算上述公式 (5) 中的一部分加法运算。当然, 若选出的加法器进行的是 I16x16 块 的平面模式运算时, 加法器的位宽也应设置为相应的 16 位。
     本发明的帧内预测计算方法可以适用于各种比特率的图像数据计算, 例如 8 位、 16 位或 32 位等等。相应地, 所选用的第一级加法器 / 加法运算中的加法器位宽也分别为 8 位、 16 位或 32 位等等, 第二级加法器 / 加法运算中的加法器位宽也相应地为 9 位、 17 位或 33 位等等
     本发明的上述具体实施例在此用于描述本发明, 而非意在将穷尽本发明或将本发 明限制在这里所披露的某些具体的实施方式上。本领域技术人员可以明白的是, 根据本发 明的教导可以有多种变型或改变。 选择这些实施例只是为了更好地解释本发明的原理及其 实际应用, 由此使得本领域其他技术人员可以更好地利用本发明。 可以设想, 具有各种变化 形式的各种实施例都是适合于这一应用的。 本发明的范围由附属的权利要求及其等效物所 限定。
    

用于应用H264视频编码标准的帧内预测方法及装置.pdf_第1页
第1页 / 共22页
用于应用H264视频编码标准的帧内预测方法及装置.pdf_第2页
第2页 / 共22页
用于应用H264视频编码标准的帧内预测方法及装置.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《用于应用H264视频编码标准的帧内预测方法及装置.pdf》由会员分享,可在线阅读,更多相关《用于应用H264视频编码标准的帧内预测方法及装置.pdf(22页珍藏版)》请在专利查询网上搜索。

本发明提供了一种用于应用H.264视频编码标准进行帧内预测计算的方法和装置。根据本发明的方法包括以下步骤:选取要进行帧内预测的图像块,提取该块的相邻已知像素值;判断所述图像块的预测模式,若预测模式为对角线左下、对角线右下、垂直向右、水平向下、垂直向左和水平向上其中之一,则对所述相邻已知像素值进行第一加法运算;将第一加法运算的结果分别进行第一移位运算和第二加法运算;将第二加法运算的结果进行第二移位运。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1