[go: up one dir, main page]

CN111193934A - 一种帧内预测方法、系统、计算机设备及可读存储介质 - Google Patents

一种帧内预测方法、系统、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN111193934A
CN111193934A CN202010277506.2A CN202010277506A CN111193934A CN 111193934 A CN111193934 A CN 111193934A CN 202010277506 A CN202010277506 A CN 202010277506A CN 111193934 A CN111193934 A CN 111193934A
Authority
CN
China
Prior art keywords
register
pixels
reference pixel
upper left
read
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.)
Pending
Application number
CN202010277506.2A
Other languages
English (en)
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.)
Hangzhou Xiongmai Integrated Circuit Technology Co Ltd
Original Assignee
Hangzhou Xiongmai Integrated Circuit 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 Hangzhou Xiongmai Integrated Circuit Technology Co Ltd filed Critical Hangzhou Xiongmai Integrated Circuit Technology Co Ltd
Priority to CN202010277506.2A priority Critical patent/CN111193934A/zh
Publication of CN111193934A publication Critical patent/CN111193934A/zh
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种帧内预测方法、系统、计算机设备及可读存储介质,涉及视频编解码领域、数字芯片技术领域,包括如下步骤:写入初始像素,划分LCU,首个CU预测及重建,更新寄存器,其他CU预测及重建,遍历所有CU,重复更新寄存器步骤以及其他CU预测及重建步骤,直至所有CU均完成预测及重建。本发明所提供的方法,对于大量只会被读取一次的参考像素,采用新的参考像素覆盖,占用原有的存储空间,不需要重新开辟存储空间存储新的参考像素,以实现减少片上存储空间的目标。

Description

一种帧内预测方法、系统、计算机设备及可读存储介质
技术领域
本发明涉及视频编解码领域、数字芯片技术领域,具体涉及一种帧内预测方法、系统、计算机设备及可读存储介质。
背景技术
HEVC(High Efficiency Video Cdoing)是由ITU(InternationalTelecommunication Unio,国际电信组织)和MPEG(Moving Picture Experts Group,运动图像专家组)联合成立的组织JCTVC(Joint Collaborative Team on Video Coding)在2013年发布的新的视频编码标准。相比上一代视频编码标准,即H.264/AVC,其目标是在相同的视觉质量下,压缩率降低一倍。
视频编码主要是利用各种编码工具去除视频信息的空间冗余、时间冗余、信息冗余等,实现压缩效果,利于存储及传输等。HEVC视频编码标准延续了上一代编码标准的基本方法,例如基于块的编码、帧内预测、帧间预测、变换量化、环路滤波、熵编码等。其中帧内预测主要是利用当前视频帧已编码完成的内容预测剩余视频帧内容的一种方法,去除大量的视频空间冗余。在HEVC中,帧内预测是基于块来进行的,若干个像素点组成一个方形块作为一个预测单元。当前预测块的预测值计算,需要当前块的预测模式以及周围的参考像素。其中,预测模式由前端输入,而参考像素需要当前模块管理。在HEVC标准中,当前块周围一共五个紧邻位置的重建像素会被用来作为当前块的参考像素,分别是上方,右上方,左上方,左方,左下方,如图1所示。当前块完成预测以及重建过程后,得到的重建像素依然会被部分存储,作为接下来的其他预测块的参考像素,需要存储的重建像素点位于当前块的最右的一列以及最下方的一行,如图1所示。
为了进一步提升编码效率,HEVC中引入了四叉树的编码块划分方式,其中最大的编码块可以是64×64。在编码端,根据编码效率选择可以划分为4个32×32的编码块,也可以不继续划分。对于一个32×32的编码块,也可以选择继续划分为4个16×16的编码块。如此依次进行,最小的编码块大小可以是4×4。在解码端,当前64×64块的划分方式已确定,只需要根据当前块的大小,进行相应的帧内预测即可。在一个最大块64×64的帧内预测计算过程中,无论是编码端还是解码端都需要重复多次的参考像素写入、读取以及大量参考像素存储需求,硬件开销较大,速度较慢,成为实时高速视频编解码的硬件设计关键瓶颈之一。
发明内容
为解决前述问题,本发明提供了一种帧内预测方法,以克服现有技术中参考像素存储方法的不足,高效利用芯片资源,提高参考像素存储效率,满足高清高速的视频编解码需求。
为了达到上述目的,本发明采用如下技术方案:
一种帧内预测方法,包括如下步骤:
写入初始像素:将位于N*N的LCU左侧的N/2个像素存储于水平寄存器,N/2个像素由LCU的最顶端开始计数;将位于N*N的LCU上侧的N个像素存储于垂直寄存器;将位于N*N的LCU左上角的像素存储于左上寄存器;
划分:将N*N的LCU划分成若干CU;
首个CU预测及重建:读取左上角的CU的参考像素在水平寄存器、垂直寄存器和左上寄存器中对应位置的像素,基于读取的像素对左上角的CU进行预测并重建;
更新寄存器:将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在重建后的CU的最右一列像素中对应位置的像素更新至左上寄存器;
其他CU预测及重建:对下一个CU进行预测,读取当前CU的参考像素在更新后的水平寄存器、垂直寄存器以及左上寄存器中对应位置的像素,基于读取的像素对当前CU进行预测并重建;
遍历所有CU,重复更新寄存器步骤以及其他CU预测及重建步骤,直至所有CU均完成预测及重建。
可选的,在遍历所有CU步骤中,按照zig-zag的顺序依次进行预测和重建。
可选的,CU的横坐标为CU的右上参考像素和上方参考像素在水平寄存器中的对应位置;CU的纵坐标的低三位为CU的左侧参考像素和左下参考像素在垂直寄存器中的对应位置;CU的纵坐标的低三位为CU的左上参考像素在左上寄存器中的对应位置,仅读取一个像素。
可选的,水平寄存器的读取及写入地址计算公式为:
Figure 543469DEST_PATH_IMAGE001
其中,x为当前CU的横坐标;CUSize为当前CU大小,HoriAddr为水平寄存器读取及写入地址,HoriSize为水平寄存器读取及写入像素数目;
垂直寄存器的读取及写入地址计算公式为:
Figure 888999DEST_PATH_IMAGE002
其中,y为当前CU的纵坐标;CUSize为当前CU大小,VertAddr为垂直寄存器读取及写入地址,VertSize为垂直寄存器读取及写入像素数目;
左上寄存器的读取及写入地址计算公式为:
Figure 977041DEST_PATH_IMAGE003
其中,TplfAddr为左上寄存器读取及写入地址,TplfSize为左上寄存器读取及写入像素数目。
可选的,当左上角的CU为32*32时,左上角的CU的左下参考像素为位于64*64的LCU左侧的32个像素,32个像素由LCU的最顶端开始计数。
可选的,N*N的LCU为64*64的LCU、32*32的LCU以及16*16的LCU其中之一。
可选的,在其他CU预测及重建步骤中,如果读取的像素对当前CU无效,则由该当前CU的其他读取的像素填充。
本发明具有如下有益效果:
本发明所提供的技术方案,大量减少参考像素所需的存储空间的方法是根据帧内预测过程中参考像素的使用特性决定的。现有技术中,一个64*64的LCU经过划分后,所有的CU的最右一列以及最下方的一行都需要存储,供其他块的预测使用,如果把所有的CU的参考像素都存储下来,那么当64*64的LCU全部划分为4*4的CU时,所需要的存储空间最多,至少需要1792个像素的空间,其中左上参考像素共265个,右上参考像素和上方参考像素共768个,左方参考像素和左下参考像素共768个。因为只有满足最糟糕的存储需求,即全部划分为4*4的CU,方能满足其他划分方式的存储需求。这就造成无论是编码端还是解码端都需要重复多次的参考像素写入、读取以及大量参考像素存储需求,导致硬件开销大、速度慢的弊端。而当前CU的预测值的计算基于之前重建完成的CU产生的参考像素。但是,由于参考像素只采用当前块周围的一行及一列像素,其他位置像素不参考,所以大量的参考像素只会被使用一次,之后便不会再使用,因此,对于大量只会被读取一次的参考像素,采用新的参考像素覆盖,占用原有的存储空间,不需要重新开辟存储空间存储新的参考像素,以实现减少片上存储空间的目标。
本发明中,只需要一列32个像素的空间用于左方以及左下的参考像素存储(垂直寄存器),以及一行64个像素的空间作为上方以及右上的参考像素存储(水平寄存器),加上8个左上方参考像素的存储空间(左上寄存器),即可实现整个64×64的LCU的参考像素管理。 一共只需32 + 64 + 8 = 104个像素的空间用于参考像素存储,而不需要1792个,大大降低片上存储空间的需求,从而减小芯片面积。
同时,由于只需104个像素的存储空间,最终使用寄存器堆的方式实现参考像素的存储,不需要使用SRAM,因而进一步降低了参考像素的读写复杂度,带来了处理速度上的提升。如果是SRAM的实现方式,一个时钟周期内只能读取一个存储块内的N个像素,一般N=4,这样对于不同的CU的参考像素读取以及写入需要的时钟周期不同,也就是说,采用SRAM的实现方式,至少需要4个时钟周期完成读取或写入。而采用寄存器对的方式实现水平垂直及左上参考像素管理,对各种尺寸的CU都可以直接将对应位置的参考像素写入对应寄存器即可,一个周期即可完成所需的参考像素全部读出或写入,显著降低了参考像素的读写时间,加速帧内预测,有利于满足高清高速的视频编解码需求。
此外,本发明还提供了一种帧内预测系统,包括:
寄存器,包括水平寄存器、垂直寄存器和左上寄存器,水平寄存器用于存储CU的上方参考像素和右上参考像素对应位置的像素,作为CU的上方参考像素和右上参考像素,垂直寄存器用于存储CU的左侧参考像素和左下参考像素对应位置的像素,作为CU的左侧参考像素和左下参考像素,左上寄存器用于存储CU的左上参考像素对应位置的像素,作为CU的左上参考像素。
划分模块,用于将LCU划分成若干CU,以进行预测及重建;
读写模块,用于读取当前CU的参考像素在水平寄存器、垂直寄存器和左上寄存器中对应位置的像素作为当前CU的参考像素,以及将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在垂直寄存器中对应位置的像素更新至左上寄存器;
预测及重建模块,基于读取的像素对当前CU进行预测并重建。
本发明所提供的帧内预测系统的有益效果与前述帧内预测方法的有益效果推理过程相似,在此不再赘述。
同时,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
同时,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
本发明的这些特点和优点将会在下面的具体实施方式以及附图中进行详细的揭露。本发明最佳的实施方式或手段将结合附图来详尽表现,但并非是对本发明技术方案的限制。另外,在每个下文和附图中出现的这些特征、要素和组件是具有多个,并且为了表示方便而标记了不同的符号或数字,但均表示相同或相似构造或功能的部件。
附图说明
下面结合附图对本发明作进一步说明:
图1为现有技术中HEVC参考像素的示意图。
图2为本发明实施例一中水平寄存器和垂直寄存器的像素更新和储存状态的示意图。
图3为本发明实施例一中遍历顺序的示意图。
具体实施方式
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在本说明书中引用的“一个实施例”或“实例”或“例子”意指结合实施例本身描述的特定特征、结构或特性可被包括在本专利公开的至少一个实施例中。短语“在一个实施例中”在说明书中的各位置的出现不必都是指同一个实施例。
实施例一
如图2和图3所示,本实施例提供了一种帧内预测方法,本实施例中,LCU为64*64,具体包括如下步骤:
写入初始像素:将位于64*64的LCU左侧的32个像素存储于水平寄存器,32个像素由LCU的最顶端开始计数;将位于64*64的LCU上侧的64个像素存储于垂直寄存器;将位于64*64的LCU左上角的像素存储于左上寄存器。
划分:将64*64的LCU划分成若干CU。在本实施例中,划分的方式如图2所示,将64*64 LCU划分成4个32*32 CU,再将位于右上的32*32CU划分成4个16*16 CU,再将位于左下的16*16 CU划分成4个8*8 CU,为便于描述,在本实施例中,位于左上的32*32 CU称为CU1,CU1右侧16*16 CU称为CU2,CU2右侧16*16 CU称为CU3,CU1右侧、CU2下侧的四个8*8 CU中,位于左上角的8*8 CU称为CU3。
首个CU预测及重建:读取CU1的上方参考像素和右上参考像素在水平寄存器中对应位置的像素,作为CU1的上方参考像素和右上参考像素;读取CU1的左上参考像素在左上寄存器中对应位置的像素,作为CU1的左上参考像素;读取CU1的左侧参考像素在垂直寄存器中对应位置的像素,作为CU1的左侧参考像素。当左上角的CU为32*32时,左上角32*32的CU的左下参考像素采用位于64*64的LCU左侧的32个像素,32个像素由LCU的最顶端开始计数。由于本实施例中对于LCU的划分,左上角的CU(即CU1)为32*32,因此,本实施例中,CU1的左下参考像素与CU1的左侧参考像素相同,均为写入初始像素步骤中存储于垂直寄存器中的像素,CU1的上方参考像素和右上参考像素为写入初始像素步骤中存储于水平寄存器中的像素,CU1的左上参考像素为写入初始像素步骤中存储于左上寄存器中的像素。如图2所示,进行首个CU预测和重建时,水平寄存器内所存储的像素由带有左倾斜线的横条表示,垂直寄存器内所存储的像素由带有左倾斜线的竖条表示,基于读取的各参考像素对CU1进行预测并重建。
更新寄存器:将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在重建后的CU的最右一列像素中对应位置的像素更新至左上寄存器。如图2所示,具体到本实施例中,对CU1进行重建后,其最右一列像素和最下一行像素均由带有交叉网格的条格表示,将重建后的CU1的最下一行像素更新至水平寄存器,更新后的水平寄存器中所存储的像素则包括带有交叉网格的横条和带有左倾斜线的横条,由于CU2的左上参考像素在重建后的CU1的最右一列像素中对应位置的像素也被更新,因此,将CU2的左上参考像素在重建后的CU1的最右一列像素中对应位置的像素更新至左上寄存器,同时将重建后的CU1的最右一列像素更新至垂直寄存器,更新后的垂直寄存器则仅包括带有交叉网格的竖条。
其他CU预测及重建:对下一个CU进行预测,读取当前CU的参考像素在更新后的水平寄存器、垂直寄存器以及左上寄存器中对应位置的像素,基于读取的像素对当前CU进行预测并重建;具体到本实施例中,如图2所示,对CU2进行预测,读取更新后的水平寄存器、垂直寄存器以及左上寄存器中对应位置的像素,此时,水平寄存器中所存储的像素则包括带有交叉网格的横条和带有左倾斜线的横条,而垂直寄存器则仅包括带有交叉网格的竖条,读取其中CU2的参考像素对应位置的像素对CU2进行重建,重建后,其最右一列像素和最下一行像素均由带有右倾斜线的横条以及竖条表示。
如图2所示,再次更新水平寄存器,将重建后的CU2的最下一行像素更新至水平寄存器,此时更新后的水平寄存器中所存储的像素则包括带有交叉网格的横条、带有右倾斜线的横条和带有左倾斜线的横条,由于CU3的左上参考像素在重建后的CU2的最右一列像素中对应位置的像素也被更新,因此,将CU3的左上参考像素在重建后的CU2的最右一列像素中对应位置的像素更新至左上寄存器,同时将重建后的CU2的最右一列像素更新至垂直寄存器,更新后的垂直寄存器则包括带有右倾斜线的竖条和带有交叉网格的竖条。
如图3所示,按照zig-zag的顺序遍历所有CU,重复更新寄存器步骤以及其他CU预测及重建步骤,依次对各个CU进行预测和重建,在重建的过程中,对CU 3完成重建后,水平寄存器中所存储的像素则包括带有交叉网格的横条、带有右倾斜线的横条和空白横条,由于CU4的左上参考像素在重建后的CU3的最右一列像素中对应位置的像素也被更新,因此,将CU4的左上参考像素在重建后的CU3的最右一列像素中对应位置的像素更新至左上寄存器,同时将重建后的CU3的最右一列像素更新至垂直寄存器,更新后的垂直寄存器则包括空白竖条和带有交叉网格的竖条。
再基于CU3完成重建后更新过的水平寄存器、左上寄存器和垂直寄存器预测并重建CU4,完成CU4的预测和重建后,更新水平寄存器、左上寄存器和垂直寄存器,具体步骤与前述对于CU1、CU2、CU3的预测和重建以及水平寄存器、左上寄存器和垂直寄存器更新步骤相类似,在此不再赘述,直至所有CU均完成预测及重建。
而在前述对于其他CU的预测及重建步骤中,如果读取的像素对当前CU无效,则由该当前CU的其他读取的像素填充。填充时采用就近原则,选择最靠近该读取的无效像素的有效像素填充当前读取的无效像素。如果五个位置全都不存在,则全部设成默认值(1<<(BitDepth-1)),如果BitDepth为8,则默认值为128;如果上方参考像素不存在,则用左侧最上方的像素填充,如果左侧参考像素不存在,则同样由上方最左侧的像素填充;如果右上参考像素不存在,则由上方最右侧的像素填充,如果左下参考像素不存在,则由左侧最下方的像素填充。
在本实施例中,CU的横坐标为CU的右上参考像素和上方参考像素在水平寄存器中的对应位置,其读取及写入地址计算公式为:
Figure 309321DEST_PATH_IMAGE004
其中,x为当前CU的横坐标;CUSize为当前CU大小,HoriAddr为水平寄存器读取及写入地址,HoriSize为水平寄存器读取及写入像素数目;
CU的纵坐标的低三位为CU的左侧参考像素和左下参考像素在垂直寄存器中的对应位置,其读取及写入地址计算公式为:
Figure 39380DEST_PATH_IMAGE005
其中,y为当前CU的纵坐标;CUSize为当前CU大小,VertAddr为垂直寄存器读取及写入地址,VertSize为垂直寄存器读取及写入像素数目;
CU的纵坐标的低三位为CU的左上参考像素在左上寄存器中的对应位置,仅读取一个像素,其水平寄存器的读取及写入地址计算公式为:
Figure 770575DEST_PATH_IMAGE006
其中,TplfAddr为左上寄存器读取及写入地址,TplfSize为左上寄存器读取及写入像素数目。
由于hevc标准中LCU最大为64*64,因此,可适用64*64的LCU的前提下,还可兼容适用32*32的LCU以及16*16的LCU。
在本实施例中,当前CU的预测值的计算基于之前重建完成的CU产生的参考像素。但是,由于参考像素只采用当前块周围的一行及一列像素,其他位置像素不参考,所以大量的参考像素只会被使用一次,之后便不会再使用,因此,对于大量只会被读取一次的参考像素,采用新的参考像素覆盖,占用原有的存储空间,不需要重新开辟存储空间存储新的参考像素,以实现减少片上存储空间的目标。
在本实施例中,只需要一列32个像素的空间用于左方以及左下的参考像素存储(垂直寄存器),以及一行64个像素的空间作为上方以及右上的参考像素存储(水平寄存器),加上8个左上方参考像素的存储空间(左上寄存器),即可实现整个64×64的LCU的参考像素管理。 一共只需32 + 64 + 8 = 104个像素的空间用于参考像素存储,而不需要1792个,大大降低片上存储空间的需求,,从而减小芯片面积。
同时,由于只需104个像素的存储空间,最终使用寄存器堆的方式实现参考像素的存储,不需要使用SRAM,因而进一步降低了参考像素的读写复杂度,带来了处理速度上的提升。如果是SRAM的实现方式,一个时钟周期内只能读取一个存储块内的N个像素,一般N=4,这样对于不同的CU的参考像素读取以及写入需要的时钟周期不同,也就是说,采用SRAM的实现方式,至少需要4个时钟周期完成读取或写入。而采用寄存器对的方式实现水平垂直及左上参考像素管理,对各种尺寸的CU都可以直接将对应位置的参考像素写入对应寄存器即可,一个周期即可完成所需的参考像素全部读出或写入,显著降低了参考像素的读写时间,加速帧内预测,有利于满足高清高速的视频编解码需求。
实施例二
本实施例与实施例一不同的是,本实施例中,LCU为32*32,写入初始像素步骤为:将位于32*32的LCU左侧的16个像素存储于水平寄存器,16个像素由LCU的最顶端开始计数;将位于32*32的LCU上侧的32个像素存储于垂直寄存器;将位于左上角的像素存储于左上寄存器;划分步骤为:将32*32的LCU划分成若干CU。
实施例三
本实施例与实施例一不同的是,本实施例中, LCU为16*16,写入初始像素步骤为:将位于16*16的LCU左侧的8个像素存储于水平寄存器,8个像素由LCU的最顶端开始计数;将位于16*16的LCU上侧的16个像素存储于垂直寄存器;将位于左上角的像素存储于左上寄存器;划分步骤为:将16*16的LCU划分成若干CU。
实施例四
本实施例提供一种帧内预测系统,适用于实施例一、实施例二以及实施例三所述的帧内预测方法,包括:
寄存器,包括水平寄存器、垂直寄存器和左上寄存器,水平寄存器用于存储CU的上方参考像素和右上参考像素对应位置的像素,作为CU的上方参考像素和右上参考像素,垂直寄存器用于存储CU的左侧参考像素和左下参考像素对应位置的像素,作为CU的左侧参考像素和左下参考像素,左上寄存器用于存储CU的左上参考像素对应位置的像素,作为CU的左上参考像素。
划分模块,用于将LCU划分成若干CU,以进行预测及重建;
读写模块,用于读取当前CU的参考像素在水平寄存器、垂直寄存器和左上寄存器中对应位置的像素作为当前CU的参考像素,以及将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在垂直寄存器中对应位置的像素更新至左上寄存器;
预测及重建模块,基于读取的像素对当前CU进行预测并重建。
实施例五
本实施例提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述的任意实施例中的方法。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。据此,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可实现上述任意一项实施例所述的方法。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)

1.一种帧内预测方法,其特征在于,所述帧内预测方法包括如下步骤:
写入初始像素:将位于N*N的LCU左侧的N/2个像素存储于水平寄存器,N/2个像素由LCU的最顶端开始计数;将位于N*N的LCU上侧的N个像素存储于垂直寄存器;将位于N*N的LCU左上角的像素存储于左上寄存器;
划分:将N*N的LCU划分成若干CU;
首个CU预测及重建:读取左上角的CU的参考像素在水平寄存器、垂直寄存器和左上寄存器中对应位置的像素,基于读取的像素对左上角的CU进行预测并重建;
更新寄存器:将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在重建后的CU的最右一列像素中对应位置的像素更新至左上寄存器;
其他CU预测及重建:对下一个CU进行预测,读取当前CU的参考像素在更新后的水平寄存器、垂直寄存器以及左上寄存器中对应位置的像素,基于读取的像素对当前CU进行预测并重建;
遍历所有CU,重复更新寄存器步骤以及其他CU预测及重建步骤,直至所有CU均完成预测及重建。
2.根据权利要求1所述的帧内预测方法,其特征在于,在遍历所有CU步骤中,按照zig-zag的顺序依次进行预测和重建。
3.根据权利要求1所述的帧内预测方法,其特征在于,CU的横坐标为CU的右上参考像素和上方参考像素在水平寄存器中的对应位置;CU的纵坐标的低三位为CU的左侧参考像素和左下参考像素在垂直寄存器中的对应位置;CU的纵坐标的低三位为CU的左上参考像素在左上寄存器中的对应位置,仅读取一个像素。
4.根据权利要求3所述的帧内预测方法,其特征在于,水平寄存器的读取及写入地址计算公式为:
Figure 588223DEST_PATH_IMAGE001
其中,x为当前CU的横坐标;CUSize为当前CU大小,HoriAddr为水平寄存器读取及写入地址,HoriSize为水平寄存器读取及写入像素数目;
垂直寄存器的读取及写入地址计算公式为:
Figure 833259DEST_PATH_IMAGE002
其中,y为当前CU的纵坐标;CUSize为当前CU大小,VertAddr为垂直寄存器读取及写入地址,VertSize为垂直寄存器读取及写入像素数目;
左上寄存器的读取及写入地址计算公式为:
Figure 737630DEST_PATH_IMAGE003
其中,TplfAddr为左上寄存器读取及写入地址,TplfSize为左上寄存器读取及写入像素数目。
5.根据权利要求1所述的帧内预测方法,其特征在于,当左上角的CU为(N/2)*(N/2)时,左上角的CU的左下参考像素为位于N*N的LCU左侧的N/2个像素,N/2个像素由LCU的最顶端开始计数。
6.根据权利要求1至5之一所述的帧内预测方法,其特征在于,N*N的LCU为64*64的LCU、32*32的LCU以及16*16的LCU其中之一。
7.根据权利要求1至5之一所述的帧内预测方法,其特征在于,在其他CU预测及重建步骤中,如果读取的像素对当前CU无效,则由该当前CU的其他读取的像素填充。
8.一种帧内预测系统,其特征在于,所述帧内预测系统包括:
寄存器,包括水平寄存器、垂直寄存器和左上寄存器,水平寄存器用于存储CU的上方参考像素和右上参考像素对应位置的像素,作为CU的上方参考像素和右上参考像素,垂直寄存器用于存储CU的左侧参考像素和左下参考像素对应位置的像素,作为CU的左侧参考像素和左下参考像素,左上寄存器用于存储CU的左上参考像素对应位置的像素,作为CU的左上参考像素;
划分模块,用于将LCU划分成若干CU,以进行预测及重建;
读写模块,用于读取当前CU的参考像素在水平寄存器、垂直寄存器和左上寄存器中对应位置的像素作为当前CU的参考像素,以及将重建后的CU的最下一行像素更新至水平寄存器,将重建后的CU的最右一列像素更新至垂直寄存器,更新时覆盖水平寄存器或垂直寄存器对应位置已存储的像素,根据LCU的划分,将划分后的CU的左上参考像素在垂直寄存器中对应位置的像素更新至左上寄存器;
预测及重建模块,基于读取的像素对当前CU进行预测并重建。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
CN202010277506.2A 2020-04-10 2020-04-10 一种帧内预测方法、系统、计算机设备及可读存储介质 Pending CN111193934A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010277506.2A CN111193934A (zh) 2020-04-10 2020-04-10 一种帧内预测方法、系统、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010277506.2A CN111193934A (zh) 2020-04-10 2020-04-10 一种帧内预测方法、系统、计算机设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111193934A true CN111193934A (zh) 2020-05-22

Family

ID=70710924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010277506.2A Pending CN111193934A (zh) 2020-04-10 2020-04-10 一种帧内预测方法、系统、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111193934A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114727116A (zh) * 2022-04-06 2022-07-08 展讯通信(上海)有限公司 编码方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363455A (zh) * 2014-10-29 2015-02-18 复旦大学 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法
CN105791829A (zh) * 2016-03-30 2016-07-20 南京邮电大学 一种基于多核平台的hevc并行帧内预测方法
CN107105234A (zh) * 2010-08-17 2017-08-29 M&K控股株式会社 用于解码图像的装置
US20190373267A1 (en) * 2015-09-29 2019-12-05 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
CN110662079A (zh) * 2019-10-23 2020-01-07 中国人民解放军国防科技大学 一种基于h.265hevc帧内预测的参考像素片上存储方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107105234A (zh) * 2010-08-17 2017-08-29 M&K控股株式会社 用于解码图像的装置
CN104363455A (zh) * 2014-10-29 2015-02-18 复旦大学 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法
US20190373267A1 (en) * 2015-09-29 2019-12-05 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
CN105791829A (zh) * 2016-03-30 2016-07-20 南京邮电大学 一种基于多核平台的hevc并行帧内预测方法
CN110662079A (zh) * 2019-10-23 2020-01-07 中国人民解放军国防科技大学 一种基于h.265hevc帧内预测的参考像素片上存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张亚运: "基于FPGA的视频编解码关键算法研究与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114727116A (zh) * 2022-04-06 2022-07-08 展讯通信(上海)有限公司 编码方法及装置

Similar Documents

Publication Publication Date Title
JP2024059922A (ja) 画像コーデック方法、エンコーダ、デコーダおよび記憶媒体
CN107615765A (zh) 视频编解码系统中在帧内块复制模式和帧间预测模式之间的资源共享的方法和装置
CN105594210B (zh) 一种视频处理装置和相关视频处理方法
JP5969914B2 (ja) 動画像圧縮伸張装置
KR100695141B1 (ko) 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
EP2104356A1 (en) Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
KR20090104050A (ko) 비디오 이미지의 블럭을 디코딩하는 방법
US20240107050A1 (en) Image coding/decoding method, coder, decoder, and storage medium
CN111355962A (zh) 适用于多参考帧的视频解码高速缓存方法、计算机装置及计算机可读存储介质
US9414062B2 (en) Adaptive motion estimation cache organization
KR20060002549A (ko) 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조
CN111193934A (zh) 一种帧内预测方法、系统、计算机设备及可读存储介质
CN104253998A (zh) 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法
US20230047433A1 (en) Video decoding method, video encoding method, related devices, and storage medium
US20050259887A1 (en) Video deblocking method and apparatus
DE112016002247T5 (de) Systeme und verfahren zur adressierung eines zwischenspeichers mit aufgespaltenen indizes
KR102743406B1 (ko) 이미지 디코딩 방법, 디코더 및 저장 매체
CN102111615B (zh) 直接存储器存取搬移实现视频滤波的方法及系统
CN100356780C (zh) 用于压缩视频信号解码的图像存储方法
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
CN110662079B (zh) 一种基于h.265hevc帧内预测的参考像素片上存储方法
CN1113638A (zh) 用于运动补偿视像解码器的存储系统
CN103702132B (zh) 滤波方法、装置及设备
CN100403276C (zh) 存储器存取方法
EP2073553A1 (en) Method and apparatus for performing de-blocking filtering of a video picture

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200522