CN108337508B - 帧内预测装置和方法 - Google Patents

帧内预测装置和方法 Download PDF

Info

Publication number
CN108337508B
CN108337508B CN201810120773.1A CN201810120773A CN108337508B CN 108337508 B CN108337508 B CN 108337508B CN 201810120773 A CN201810120773 A CN 201810120773A CN 108337508 B CN108337508 B CN 108337508B
Authority
CN
China
Prior art keywords
block
coding
coded
coding block
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810120773.1A
Other languages
English (en)
Other versions
CN108337508A (zh
Inventor
赵光东
黄雄科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Jieli Technology Co Ltd
Original Assignee
Zhuhai Jieli Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Jieli Technology Co Ltd filed Critical Zhuhai Jieli Technology Co Ltd
Priority to CN201810120773.1A priority Critical patent/CN108337508B/zh
Publication of CN108337508A publication Critical patent/CN108337508A/zh
Application granted granted Critical
Publication of CN108337508B publication Critical patent/CN108337508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及一种帧内预测装置和方法。所述装置包括:控制单元和计算单元;控制单元用于将帧内宏块划分为多种编码块类型,并行读取各编码块类型当前的待编码块,获取待编码块的参考像素,根据参考像素获取待编码块的可能预测模式,计算单元接收控制单元发送的计算任务信息,计算任务信息包括编码块类型、参考像素以及可能预测模式,根据计算任务信息,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对帧内宏块进行编码的最优代价总和,根据各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型。本发明突破帧内预测并行性的限制,提高编码器帧内预测的效率。

Description

帧内预测装置和方法
技术领域
本申请涉及数字高清视频压缩编解码技术领域,特别是涉及一种帧内预测装置和方法。
背景技术
H.264是由国际电信联盟组织(ITU-T)的视频编码专家组(VCEG)与国际标准化组织IS0/IEC的运动图像专家组(MPEG)共同制定的。帧内预测是H.264视频编码标准的关键技术之一,具有很高的计算复杂度,在H.264视频编码标准中,帧内预测部分在决定采用4×4亮度块预测还是采用16×16亮度块时,需要遍历帧内4×4亮度块9种预测模式与16×16亮度块的4种模式,这毫无疑问给算法带来了很大的计算复杂度。特别是4×4亮度预测时,待编码块需要用到邻居块,主要包括top(上方)、left(左边)、topleft(左上)和topright(右上)的重建像素作为参考像素,要预测当前待编码块则必须保证邻居块重建像素数据已经准备好,即预测过程中难以避免地存在严重的数据依赖性,这也成为了妨碍提高编码器吞吐率的瓶颈,也大大限制了硬件并行化的思想。
同时,要确定最优的预测模式和最优的编码块划分方式,则需要遍历4×4和16×16待编码块,如果4×4和16×16待编码块的每种预测模式都要进行预测,对同一个编码块往往需要先进行多种预测模式的预测,这对硬件来说也是需要不少的时间或硬件开销,从而导致帧内预测的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决帧内预测效率低的帧内预测装置和方法。
一种帧内预测装置,所述装置包括:
控制单元和计算单元;
所述控制单元用于将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块;并行读取各编码块类型当前的待编码块;获取所述待编码块的参考像素;根据所述参考像素,获取所述待编码块的可能预测模式;
所述计算单元接收控制单元发送的计算任务信息;所述计算任务信息包括待编码块的编码块类型、待编码块的参考像素以及待编码块的可能预测模式;根据所述计算任务信息,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和;根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型。
上述帧内预测装置,通过控制单元将一个帧内的宏块划分为多种编码块类型,每中编码块类型又包括一个以上的待编码块,对于一个编码块类型而言,其包括的所有的待编码块组成一个完整的帧内宏块。通过并行读取各编码块类型的待编码块,并根据待编码块的参考像素,选择待编码块的可能预测模式,在计算单元中,各编码块类型的计算任务也是同时进行的,即同时进行计算,得到各编码块类型的最优代价总和,然后根据最优代价总和之间的比较,得到编码器对当前帧内宏块编码的编码类型,从而突破帧内预测并行性的限制,提高编码器帧内预测的效率。
在其中一个实施例中,所述控制单元包括模式划分模块;所述模式划分模块用于根据帧内宏块的预先设置的划分规则,将帧内宏块划分为多种编码块类型。
在其中一个实施例中,所述控制单元还包括参考像素处理模块;所述参考像素处理模块接收所述模式划分模块发送的编码块类型,用于并行读取各编码块类型当前的待编码块,并获取所述待编码块的参考像素。
在其中一个实施例中,所述控制单元还包括:预选模式模块;所述预选模式模块接收所述参考像素处理模块发送的所述参考像素,用于根据待编码块在H.264视频编码标准中的预测模式,以及位于所述待编码块上方、左边、左上和/或右上的参考像素,从所述预测模式中选择所述待编码块的可能预测模式。
在其中一个实施例中,所述计算单元包括:预测模块;所述预测模块用于根据所述待编码块的编码块类型,将所述待编码块划分为若干个最小处理单元,根据所述待编码块的参考像素以及所述可能预测模式,对所述各个最小处理单元进行预测值的计算,得到待编码块针对每种所述可能预测模式的预测值,根据所述预测值计算得到残差,根据所述残差得到每种可能预测模式进行编码时的SATD值。
在其中一个实施例中,所述计算单元还包括:块模式判断模块;所述块模式判断模块根据所述预测模块发送的待编码块的SATD值,选择所述SATD值中的最小值作为待编码块的最优代价值,并根据所述最优代价值确定所述各编码块类型的待编码块的所述最优代价总和,选择所述最优代价总和最小对应编码块类型以及所述最优代价总和最小对应的所述可能预测模式作为当前帧内宏块的编码模式。
在其中一个实施例中,所述计算单元还包括:残差计算模块;所述残差计算模块根据所述待编码块的所述最优代价值对应的所述残差依次进行离散余弦变化、量化、反量化以及反离散余弦变化得到重建回路值,将所述重建回路值与所述最优代价值对应的预测值进行和运算,得到一像素值;将所述像素值发送至控制单元,作为下一待编码块的参考像素。
在其中一个实施例中,所述编码块类型包括:4×4编码块、8×8编码块以及16×16编码块。
一种帧内预测方法,所述方法包括:
将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块;
并行读取各编码块类型当前的待编码块;获取所述待编码块的参考像素,根据所述参考像素,获取所述待编码块的可能预测模式;
根据所述参考像素以及所述可能预测模式,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和;
根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型。
上述帧内预测方法,通过将一个帧内的宏块划分为多种编码块类型,每中编码块类型又包括一个以上的待编码块,对于一个编码块类型而言,其包括的所有的待编码块组成一个完整的帧内宏块。通过并行读取各编码块类型的待编码块,并根据待编码块的参考像素,选择待编码块的可能预测模式,各编码块类型的计算任务也是同时进行的,即同时进行计算,得到各编码块类型的最优代价总和,然后根据最优代价总和之前的比较,得到编码器对当前帧内宏块编码的编码类型,从而突破帧内预测并行性的限制,提高编码器帧内预测的效率。
在其中一个实施例中,还可以通过以下方式读取各编码块类型当前的待编码块:获取当前已读取的待编码块,根据所述已读取的待编码块判断可进行读取的编码块,将所述可进行读取的编码块作为待编码块。
附图说明
图1为一个实施例中帧内预测装置的示意性结构图;
图2为一个实施例中4×4编码块划分帧内宏块的示意性结构图;
图3为一个实施例中控制单元的示意性结构图;
图4为一个实施例中计算单元执行计算流程的示意性结构图;
图5为另一个实施例中帧内预测装置的结构框图;
图6为一个实施例中帧内预测装置并行处理的示意性流程图;
图7为一实施例中帧内预测方法的示意性流程图;
图8为一实施例中帧内多流水线读取编码块的示意性流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种帧内预测装置,该装置包括:
控制单元102和计算单元104;
所述控制单元102用于将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块;并行读取各编码块类型当前的待编码块;获取所述待编码块的参考像素;根据所述参考像素,获取所述待编码块的可能预测模式;
所述计算单元104接收控制单元发送的计算任务信息;所述计算任务信息包括待编码块的编码块类型、待编码块的参考像素以及待编码块的可能预测模式;根据所述计算任务信息,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和;根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型。
上述帧内预测装置中,通过控制单元将一个帧内的宏块划分为多种编码块类型,每中编码块类型又包括一个以上的待编码块,对于一个编码块类型而言,其包括的所有的待编码块组成一个完整的帧内宏块。通过并行读取各编码块类型的待编码块,并根据待编码块的参考像素,选择待编码块的可能预测模式,在计算单元中,各编码块类型的计算任务也是同时进行的,即同时进行计算,得到各编码块类型的最优代价总和,然后根据最优代价总和之前的比较,得到编码器对当前帧内宏块编码的编码类型,从而突破帧内预测并行性的限制,提高编码器帧内预测的效率。
在一实施例中,控制单元包括模式划分模块,模式划分模块用于根据帧内宏块的预先设置的划分规则,将帧内宏块划分为多种编码块类型。
在本实施例中,划分规则是基于H.264协议,也就是,在进行帧内预测时,包括有4×4编码块和16×16编码块的预测,本实施例中,可以将帧内宏块划分为16个4×4编码块和1个16×16编码块,值得说明的是,这里对帧内宏块的划分并不是将帧内宏块的进行实际的划分,例如:帧内宏块为256个待预测的像素点,在进行本实施例的帧内预测时,模式划分模块将256个待预测的像素划分为16个4×4编码块或者1个16×16编码块,这两种编码块是同时存在的,因此在进行编码块的预测时,可以并行读取到各编码块类型的待编码块。
在一实施例中,编码块类型还包括8×8编码块,因此,上述模式划分模块在进行模式划分时,将帧内宏块划分为3中编码块类型,分别为4×4编码块、8×8编码块以及16×16编码块。在进行帧内预测时,若是从宏块的左上开始进行编码块的重建,那么控制单元同时读取4×4编码块左上的第一个4×4待编码块、8×8编码块左上的第一个8×8待编码块和16×16编码块。从而实现数据的并行处理。
在一实施例中,所述控制单元还包括参考像素处理模块;所述参考像素处理模块接收所述模式划分模块发送的编码块类型,用于并行读取各编码块类型当前的待编码块,并获取所述待编码块的参考像素。在H.264视频编码标准中,进行编码块像素的重建,需要用到邻块(当前编码块周围已重建的编码块),邻块包括top(上方)、left(左边)、topleft(左上)和topright(右上),获取邻块的像素作为参考像素。通过参考像素处理模块,可以根据当前待编码块在帧内宏块中的位置,获取重建所需要的参考像素。
在一实施例中,所述控制单元还包括:预选模式模块;所述预选模式模块接收所述参考像素处理模块发送的所述参考像素,用于根据待编码块在H.264视频编码标准中的预测模式,以及位于所述待编码块上方、左边、左上和/或右上的参考像素,从所述预测模式中选择所述待编码块的可能预测模式。
在本实施例中,在H.264视频编码标准中,4×4编码块和8×8编码块均有9中预测模式,16×16编码块有4种预测模式,但是由于待编码块在帧内宏块的位置不同,并不是所有待编码块都具有进行所有预测模式预测的参考像素,因此,可以根据待编码块在帧内宏块的位置,筛选出当前待编码块的可能预测模式,以图2 4×4编码块为例,图中,序号表示待编码块在帧内宏块中的位置,在进行待编码块2的预测时,由于只有上方和右上方的参考像素,因此待编码块2最多3种预测模式,因此在进行待编码块2的预测时,只需用3中预测模式对待编码块2进行预测;在进行待编码块3的预测时,由于待编码块3的参考像素均存在,因此待编码块3需要进行9种预测模式的预测。
在一实施例中,如图3所示,提供一种控制单元的示意性结构图,控制单元包括模式划分模块202、参考像素处理模块204和预选模式模块206,模式划分模块202将划分的多种编码块类型发送至参考像素处理模块204,参考像素处理模块204根据编码块类型,并行读取各编码块类型当前的待编码块,并获取待编码块的参考像素,预选模式模块206接收参考像素处理模块204发送的参考像素,然后根据待编码块的位置和参考像素,可以从预测模式中选择可能预测模式。
在一实施例中,计算单元包括:预测模块;所述预测模块用于根据所述待编码块的编码块类型,将所述待编码块划分为若干个最小处理单元,根据所述待编码块的参考像素以及所述可能预测模式,对所述各个最小处理单元进行预测值的计算,得到待编码块针对每种所述可能预测模式的预测值,根据所述预测值计算得到残差,根据所述残差得到每种可能预测模式进行编码时的SATD(Sum of Absolute Transformed Difference,变换后绝对值求和)值。
在本实施例中,将待编码块分为最小处理单元,因此不同类型的待编码块均是分为同样的最小处理单元,在进行预测值计算时,预测模块只需要接收预测模式“mode”信号和参考像素“nbr”信号,从而大幅度的提升编码器的处理能力。另外,对最小处理单元进行计算,可以得到待编码块的针对每种可能预测模式的预测值,即对每种可能预测模式均要进行预测,并求得一个预测值,通过对预测值进行计算,可以得到待编码块的残差,根据残差可以求得对应预测值的SATD值。将残差转换为SATD值,可以看做简单的时频变换。
在一实施例中,所述计算单元还包括:块模式判断模块;所述块模式判断模块根据所述预测模块发送的待编码块的SATD值,选择所述SATD值中的最小值作为待编码块的最优代价值,并根据所述最优代价值确定所述各编码块类型的待编码块的所述最优代价总和,选择所述最优代价总和最小对应编码块类型以及所述最优代价总和最小对应的所述可能预测模式作为当前帧内宏块的编码模式。
在本实施例中,由于SATD值是用来衡量视频残差信号大小,因此SATD值一定程度上可以反映生成码流的大小。因此,可以选择待编码块中最小的SATD值为最优代价值,以此可以计算得到以可能预测模式以及编码块类型进行编码的最优代价总和,选取最小的最优代价总和,以确定当前帧内宏块的编码模式,实质上,编码模式分为两个部分,其一是选择合适的编码块类型,其二是确定编码块类型中各个待编码块最优的预测模式,通过块模式判断模块可以进行这两个部分的判断。
值得说明的是,若是并行进行帧内预测,理论上是同时得到各编码块类型对应的最优代价总和。因此,对于帧图像来说,在进行并行预测时,也是同时完成一帧图像的预测的。
在一实施例中,所述计算单元还包括:残差计算模块;所述残差计算模块根据所述待编码块的所述最优代价值对应的所述残差依次进行离散余弦变化、量化、反量化以及反离散余弦变化得到重建回路值,将所述重建回路值与所述最优代价值对应的预测值进行和运算,得到一像素值;将所述像素值发送至控制单元,作为下一待编码块的参考像素。
在本实施例中,在完成当前待编码块的重建时,当前待编码块的像素可能会作为下一待编码块的参考像素,因此需要将当前待编码块的像素传回控制单元,以实现对下一待编码块的预测。
在一实施例中,如图4所示,提供一种计算单元的进行计算的示意性结构图,具体处理过程如下:
预测模块302接收控制单元发送过来的待编码块的编码块类型、待编码块的参考像素以及待编码块的可能预测模式,并开始进行待编码块针对各种可能预测模式进行预测,并计算对应的预测值和SATD值,在块模式判断模块304中选择最小的SATD值作为最优代价值,在编码块类型中所有待编码块都预测完成后,在块模式判断模块304进行还进行SATD值的累加,例如将16个4×4编码块的最优代价值进行累加,得到各编码块类型对应的最优代价总和,由于是并行处理的,同时得到3中编码块类型对应的最优代价总和,在编码块类型中有待编码块未预测完成时,残差计算模块306还需要根据待编码块的残差,依次经过DCT(Discrete Cosine Transform,离散余弦变化)、量化、反量化、IDCT(inverse DiscreteCosine Transformation,反离散余弦变化)得到的值与残差对应的预测值进行和运算,得到下一待编码块的参考像素,以便下一待编码块的完成编码,同时提高编码器的编码效率,最后块模式判断模块304还根据最优代价总和判定帧内宏块的编码模式,从而实现帧内预测。
在一实施例中,如图5所示,提供一种帧内预测装置的示意性结构图,该装置包括:
控制单元和计算单元;
控制单元包括模式划分模块401、参考像素处理单元402和预选模式模块403;计算单元包括预测模块404、块模式判断模块405和残差计算模块406。
以下以一帧内宏块为例,对本发明实施例的技术方案进行清楚的说明。
帧内宏块为16×16个像素点构成,每个像素点均需要进行帧内预测,在进行帧内预测时,模式划分模块401将16×16个像素点划分为16个4×4编码块、4个8×8编码块和1个16×16编码块三种编码块类型,参考像素处理模块402读取三种编码块形式中的待编码块,这个过程是并行处理的,以下以16个4×4编码块的预测为例进行说明,参考像素处理模块402读取图2中的编码块1,获取编码块0的像素作为编码块1的参考像素,因此只存在一种预测模式,根据该预测模式404进行预测值的计算,并进一步得到编码块1的残差和SATD值,根据该残差和预测值可以计算得到用于预测编码块2和编码块4的参考像素,对于编码块2,根据编码块0和编码块1,可以得到编码块2的参考像素,预选模式模块403读取编码块2,判断并选择编码块2对应的3种可能预测模式,预测模块404根据每种可能预测模式分别计算出编码块2的3种预测值,并进一步计算出3种预测值对应的3个残差和3个SATD值,块模式判断模块405选择3种SATD值中的最小值作为编码块2的最优代价值,残差计算模块406根据最优代价值对应的残差和预测值计算得到用于编码块3、8和9的参考像素,在完成16个待编码块的预测时,块模式判断模块405根据16个待编码块的最优代价值,进行累加得到4×4编码块的最优代价总和,由于本装置的并行性,同时也得到了8×8编码块和16×16编码块的最优代价总和,块模式判断模块405还根据4×4编码块、8×8编码块和16×16编码块的最优代价总和的大小,选择最优代价总和最小得到该帧内宏块编码模式的最优匹配结果。
在一实施例中,如图6所示,提供帧内预测装置并行处理时的示意性流程图,以下做简单说明:
控制单元对4×4编码块和8×8编码块筛选出可能预测模式,而16×16编码块不需要进行预测模式的筛选,然后计算单元进行对应预测模式的计算并选择出最优代价值对应的预测模式。
在一个实施例中,如图7所示,提供了一种帧内预测方法,该方法包括:
步骤502,将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块。
步骤504,并行读取各编码块类型当前的待编码块;获取所述待编码块的参考像素,根据所述参考像素,获取所述待编码块的可能预测模式。
步骤506,根据所述参考像素以及所述可能预测模式,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和。
步骤508,根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型。
上述帧内预测方法,通过将一个帧内的宏块划分为多种编码块类型,每中编码块类型又包括一个以上的待编码块,对于一个编码块类型而言,其包括的所有的待编码块组成一个完整的帧内宏块。通过并行读取各编码块类型的待编码块,并根据待编码块的参考像素,选择待编码块的可能预测模式,各编码块类型的计算任务也是同时进行的,即同时进行计算,得到各编码块类型的最优代价总和,然后根据最优代价总和之前的比较,得到编码器对当前帧内宏块编码的编码类型,从而突破帧内预测并行性的限制,提高编码器帧内预测的效率。
在一实施例中,对于步骤502,可以通过预先设置的划分规则,将帧内宏块划分为多种编码块类型,对于H.264视频编码标准,可以将帧内宏块分为4×4编码块、8×8编码块以及16×16编码块三种编码块类型。
在一实施例中,对于步骤504,可以根据待编码块在H.264视频编码标准中的预测模式,以及位于所述待编码块上方、左边、左上和/或右上的参考像素,从所述预测模式中选择所述待编码块的可能预测模式。
在一实施例中,对于步骤506,可以根据所述待编码块的编码块类型,将所述待编码块划分为若干个最小处理单元,根据所述待编码块的参考像素以及所述可能预测模式,对所述各个最小处理单元进行预测值的计算,得到待编码块针对每种所述可能预测模式的预测值,根据所述预测值计算得到残差,根据所述残差得到每种可能预测模式进行编码时的SATD值。选择所述SATD值中的最小值作为待编码块的最优代价值,并根据所述最优代价值确定所述各编码块类型的待编码块的所述最优代价总和。
在一实施例中,对于步骤508,可以选择所述最优代价总和最小对应编码块类型以及所述最优代价总和最小对应的所述可能预测模式作为当前帧内宏块的编码模式。
在一实施例中,上述方法还可以包括:根据所述待编码块的所述最优代价值对应的所述残差依次进行离散余弦变化、量化、反量化以及反离散余弦变化得到重建回路值,将所述重建回路值与所述最优代价值对应的预测值进行和运算得到一像素值;将所述像素值发送至控制单元,作为下一待编码块的参考像素。
在一实施例中,如图8所示,可以通过以下方式读取各编码块类型当前的待编码块:获取当前已读取的待编码块,根据所述已读取的待编码块判断可进行读取的编码块,将所述可进行读取的编码块作为待编码块。以图2中的帧内宏块为例,读取编码块0和编码块1后,可以同时开始读取编码块2和编码块4,预测完编码块2和编码块4,可以同时开始编码块3和编码块5的读取,依次读取完帧内所有的编码块,实质上,本实施例提供了一种多流水线读取编码块的技术方案,从而提高帧内预测的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种帧内预测装置,所述装置包括:
控制单元和计算单元;
所述控制单元用于将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块;采用多流水线的方式并行读取同一帧内宏块的不同编码块类型对应的待编码块;获取所述待编码块的参考像素;根据所述参考像素,获取所述待编码块的可能预测模式;
所述计算单元接收控制单元发送的计算任务信息;所述计算任务信息包括待编码块的编码块类型、待编码块的参考像素以及待编码块的可能预测模式;根据所述计算任务信息,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和;根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型;
所述控制单元包括模式划分模块;
所述模式划分模块用于根据帧内宏块的预先设置的划分规则,将帧内宏块划分为多种编码块类型;所述编码块类型包括:4×4编码块、8×8编码块以及16×16编码块,各所述编码块类型同时存在;
所述控制单元还包括参考像素处理模块;
所述参考像素处理模块接收所述模式划分模块发送的编码块类型,用于采用多流水线的方式并行读取同一帧内宏块的不同编码块类型对应的待编码块,并获取所述待编码块的参考像素;
在进行帧内预测时,当从宏块的左上开始进行编码块的重建时,所述控制单元同时读取同一帧内宏块的4×4编码块左上的第一个4×4待编码块、8×8编码块左上的第一个8×8待编码块和16×16编码块;
在H.264视频编码标准中,进行编码块像素的重建时,获取邻块的像素作为参考像素;所述邻块为当前编码块周围已重建的编码块,所述邻块包括上方、左边、左上和右上;
所述计算单元还包括:预测模块;
所述预测模块用于根据所述待编码块的编码块类型,将所述待编码块划分为若干个最小处理单元,根据所述待编码块的参考像素以及所述可能预测模式,对所述各个最小处理单元进行预测值的计算,得到待编码块针对每种所述可能预测模式的预测值,根据所述预测值计算得到残差,根据所述残差得到每种可能预测模式进行编码时的SATD值;不同所述编码类型的编码块表示为相同形式的最小处理单元,所述预测模块进行预测值计算时,仅接收预测模式信号和参考像素信号;所述控制单元对4×4待编码块和8×8编码块进行可能预测模式筛选,不对16×16编码块进行预测模式的筛选;
其中,针对帧内宏块的包括的16个4×4编码块进行预测时,采用多流水线的方式,读取同一流水线上的编码块0和编码块1后,并行读取不同流水线上的编码块2和编码块4,同时对所提取的编码块2和编码块4进行预测,再次对编码块3和编码块5进行读取,直至读取完同一帧内宏块包括的所有编码块;获取所述编码块0的像素作为所述编码块1的参考像素,进行预测值计算,得到所述编码块1的残差和SATD值,根据所述编码块1的残差和预测值得到用于同时预测所述编码块2和所述编码块4的参考像素;根据所述编码块0和所述编码块1得到所述编码块2的参考像素,读取所述编码块2,获取所述编码块2对应的预设个数的可能预测模式,根据每种可能预测模式分别计算得到所述编码块2的预测值,计算各可能模式下的预测值对应的残差和SATD值,将各所述SATD值中的最小值确定为所述编码块2的最优代价值,根据所述最优代价值对应的参照和预测值计算得到用于编码块3、编码块8以及编码块9的参考像素,依次计算得到同一帧内宏块的包括的16个4×4编码块的最优代价值,进行累积得到4×4编码块的最的最优代价总和;其中,同时并行得到同一帧内宏块的8×8编码块和16×16编码块的最优代价总和。
2.根据权利要求1所述的帧内预测装置,其特征在于,所述控制单元还包括:预选模式模块;
所述预选模式模块接收所述参考像素处理模块发送的所述参考像素,用于根据待编码块在H.264视频编码标准中的预测模式,以及位于所述待编码块上方、左边、左上和/或右上的参考像素,从所述预测模式中选择所述待编码块的可能预测模式。
3.根据权利要求1所述的帧内预测装置,其特征在于,所述计算单元还包括:块模式判断模块;
所述块模式判断模块根据所述预测模块发送的待编码块的SATD值,选择所述SATD值中的最小值作为待编码块的最优代价值,并根据所述最优代价值确定所述各编码块类型的待编码块的所述最优代价总和,选择所述最优代价总和最小对应编码块类型以及所述最优代价总和最小对应的所述可能预测模式作为当前帧内宏块的编码模式。
4.根据权利要求3所述的帧内预测装置,其特征在于,所述计算单元还包括:残差计算模块;
所述残差计算模块根据所述待编码块的所述最优代价值对应的所述残差依次进行离散余弦变化、量化、反量化以及反离散余弦变化得到重建回路值,将所述重建回路值与所述最优代价值对应的预测值进行和运算得到一像素值;将所述像素值发送至控制单元,作为下一待编码块的参考像素。
5.一种帧内预测方法,其特征在于,所述方法包括:
将帧内宏块划分为多种编码块类型,其中,每种编码块类型包括一个以上的待编码块;
采用多流水线的方式并行读取同一帧内宏块的不同编码块类型对应的待编码块;获取所述待编码块的参考像素,根据所述参考像素,获取所述待编码块的可能预测模式;
根据所述参考像素以及所述可能预测模式,得到待编码块在每种可能预测模式下的预测值,根据编码块类型中每个待编码块的预测值,得到各编码块类型对所述帧内宏块进行编码的最优代价总和;
根据所述各编码块类型的最优代价总和,得到编码器对当前帧内宏块编码的编码类型;
所述方法还包括:
根据帧内宏块的预先设置的划分规则,将帧内宏块划分为多种编码块类型;所述编码块类型包括:4×4编码块、8×8编码块以及16×16编码块;
接收所述模式划分模块发送的编码块类型,用于采用多流水线的方式并行读取同一帧内宏块的不同码块类型对应的待编码块,并获取所述待编码块的参考像素;
在进行帧内预测时,当从宏块的左上开始进行编码块的重建时,控制单元同时读取同一帧内宏块的4×4编码块左上的第一个4×4待编码块、8×8编码块左上的第一个8×8待编码块和16×16编码块;
在H.264视频编码标准中,进行编码块像素的重建时,获取邻块的像素作为参考像素;所述邻块为当前编码块周围已重建的编码块,所述邻块包括上方、左边、左上和右上;
所述方法还包括:
根据所述待编码块的编码块类型,将所述待编码块划分为若干个最小处理单元;
根据所述待编码块的参考像素以及所述可能预测模式,对所述各个最小处理单元进行预测值的计算,得到待编码块针对每种所述可能预测模式的预测值;
根据所述预测值计算得到残差,根据所述残差得到每种可能预测模式进行编码时的SATD值;不同所述编码类型的编码块表示为相同形式的最小处理单元,所述预测模块进行预测值计算时,仅接收预测模式信号和参考像素信号;所述控制单元对4×4待编码块和8×8编码块进行可能预测模式筛选,不对16×16编码块进行预测模式的筛选;
其中,针对帧内宏块的包括的16个4×4编码块进行预测时,采用多流水线的方式,读取同一流水线上的编码块0和编码块1后,并行读取不同流水线上的编码块2和编码块4,同时对所提取的编码块2和编码块4进行预测,再次对编码块3和编码块5进行读取,直至读取完同一帧内宏块包括的所有编码块;获取所述编码块0的像素作为所述编码块1的参考像素,进行预测值计算,得到所述编码块1的残差和SATD值,根据所述编码块1的残差和预测值得到用于同时预测所述编码块2和所述编码块4的参考像素;根据所述编码块0和所述编码块1得到所述编码块2的参考像素,读取所述编码块2,获取所述编码块2对应的预设个数的可能预测模式,根据每种可能预测模式分别计算得到所述编码块2的预测值,计算各可能模式下的预测值对应的残差和SATD值,将各所述SATD值中的最小值确定为所述编码块2的最优代价值,根据所述最优代价值对应的参照和预测值计算得到用于编码块3、编码块8以及编码块9的参考像素,依次计算得到同一帧内宏块的包括的16个4×4编码块的最优代价值,进行累积得到4×4编码块的最的最优代价总和;其中,同时并行得到同一帧内宏块的8×8编码块和16×16编码块的最优代价总和。
6.根据权利要求5所述的帧内预测方法,其特征在于,读取各编码块类型当前的待编码块的步骤,包括:
获取当前已读取的待编码块,根据所述已读取的待编码块判断可进行读取的编码块,将所述可进行读取的编码块作为待编码块。
7.根据权利要求5所述的帧内预测方法,其特征在于,所述方法还包括:
根据待编码块在H.264视频编码标准中的预测模式,以及位于所述待编码块上方、左边、左上和/或右上的参考像素,从所述预测模式中选择所述待编码块的可能预测模式。
8.根据权利要求5所述的帧内预测方法,其特征在于,所述方法还包括:
根据所述待编码块的所述最优代价值对应的所述残差依次进行离散余弦变化、量化、反量化以及反离散余弦变化得到重建回路值,将所述重建回路值与所述最优代价值对应的预测值进行和运算得到一像素值;
将所述像素值发送至控制单元,作为下一待编码块的参考像素。
CN201810120773.1A 2018-01-29 2018-01-29 帧内预测装置和方法 Active CN108337508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810120773.1A CN108337508B (zh) 2018-01-29 2018-01-29 帧内预测装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810120773.1A CN108337508B (zh) 2018-01-29 2018-01-29 帧内预测装置和方法

Publications (2)

Publication Number Publication Date
CN108337508A CN108337508A (zh) 2018-07-27
CN108337508B true CN108337508B (zh) 2021-09-17

Family

ID=62928373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810120773.1A Active CN108337508B (zh) 2018-01-29 2018-01-29 帧内预测装置和方法

Country Status (1)

Country Link
CN (1) CN108337508B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868596A (zh) * 2019-11-21 2020-03-06 北京数码视讯科技股份有限公司 分布式编码方法、装置、电子设备及可读存储介质
CN113038125B (zh) * 2021-05-28 2021-10-22 杭州博雅鸿图视频技术有限公司 帧内预测模式选择方法、装置、设备及存储介质
CN117412062A (zh) * 2023-09-28 2024-01-16 协创芯片(上海)有限公司 一种支持h265编码的多媒体芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252695A (zh) * 2008-04-15 2008-08-27 中国科学院计算技术研究所 一种视频编码器及其帧内预测模式选择方法
CN101572818A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种帧内预测模式的预测方法
CN102065298A (zh) * 2011-01-05 2011-05-18 西安电子科技大学 高性能宏块编码实现方法
CN102364950A (zh) * 2011-11-17 2012-02-29 武汉天喻信息产业股份有限公司 基于h.264/avc标准的帧内预测模式快速选择方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9756354B2 (en) * 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252695A (zh) * 2008-04-15 2008-08-27 中国科学院计算技术研究所 一种视频编码器及其帧内预测模式选择方法
CN101572818A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种帧内预测模式的预测方法
CN102065298A (zh) * 2011-01-05 2011-05-18 西安电子科技大学 高性能宏块编码实现方法
CN102364950A (zh) * 2011-11-17 2012-02-29 武汉天喻信息产业股份有限公司 基于h.264/avc标准的帧内预测模式快速选择方法及装置

Also Published As

Publication number Publication date
CN108337508A (zh) 2018-07-27

Similar Documents

Publication Publication Date Title
JP6728249B2 (ja) ブロック分割及びブロック統合をサポートする画像符号化
US8488672B2 (en) Mode uniformity signaling for intra-coding
KR101252704B1 (ko) 디블로킹 처리 방법, 디블로킹 처리 장치, 디블로킹 처리 프로그램 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100750137B1 (ko) 영상의 부호화,복호화 방법 및 장치
US20120057631A1 (en) Method and device for motion estimation of video data coded according to a scalable coding structure
US20070076795A1 (en) Method and apparatus for determining inter-mode in video encoding
CN101009833A (zh) 为可变块尺寸的运动估计确定编码模式的方法和设备
GB2487261A (en) Motion compensated image coding using diverse set of motion predictors
KR101579472B1 (ko) 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체
CN108337508B (zh) 帧内预测装置和方法
RU2519525C2 (ru) Способ кодирования с предсказанием вектора движения, способ декодирования с предсказанием вектора движения, устройство кодирования фильма, устройство декодирования фильма и их программы
KR101033769B1 (ko) 영상 데이터의 인트라 예측 모드 결정 방법
US20090016443A1 (en) Inter mode determination method for video encoding
CN101573985A (zh) 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
US20180192070A1 (en) Method of image encoding and facility for the implementation of the method
CA2788876A1 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
US10368068B2 (en) Encoder and method for video processing
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
CN116601957A (zh) 一种帧内预测方法、装置及解码器和编码器
US20110310975A1 (en) Method, Device and Computer-Readable Storage Medium for Encoding and Decoding a Video Signal and Recording Medium Storing a Compressed Bitstream
CN113365077B (zh) 帧间预测方法、编码器、解码器、计算机可读存储介质
CN116567232A (zh) 图像块的划分方法、视频编码方法、装置以及设备
CN112673630B (zh) 比特流解码器
CN112313950B (zh) 视频图像分量的预测方法、装置及计算机存储介质
JP5713719B2 (ja) 動画像符号化装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhao Guangdong

Inventor after: Huang Xiongke

Inventor before: Zhao Guangdong

Inventor before: Hao Xin

Inventor before: Huang Xiongke

GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province

Patentee after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province

Patentee before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.