CN114938453B - 视频编码方法、芯片、存储介质及计算机设备 - Google Patents

视频编码方法、芯片、存储介质及计算机设备 Download PDF

Info

Publication number
CN114938453B
CN114938453B CN202210847090.2A CN202210847090A CN114938453B CN 114938453 B CN114938453 B CN 114938453B CN 202210847090 A CN202210847090 A CN 202210847090A CN 114938453 B CN114938453 B CN 114938453B
Authority
CN
China
Prior art keywords
image
image block
coding tree
coding
image 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
CN202210847090.2A
Other languages
English (en)
Other versions
CN114938453A (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.)
Shenliu Micro Intelligent Technology Shenzhen Co ltd
Original Assignee
Shenliu Micro Intelligent Technology Shenzhen 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 Shenliu Micro Intelligent Technology Shenzhen Co ltd filed Critical Shenliu Micro Intelligent Technology Shenzhen Co ltd
Priority to CN202210847090.2A priority Critical patent/CN114938453B/zh
Publication of CN114938453A publication Critical patent/CN114938453A/zh
Application granted granted Critical
Publication of CN114938453B publication Critical patent/CN114938453B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T3/602Block rotation, e.g. by recursive reversing or rotating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

本申请实施例公开了一种视频编码方法、芯片、存储介质及计算机设备,其中,本申请实施例基于水平分割线和垂直分割线将待处理视频帧划分为四个图像块;将水平分割线上侧的两个图像块进行垂直镜像处理,将垂直分割线左侧的两个图像块进行水平镜像处理;将四个图像块中的部分图像块确定为第一图像块,将其他图像块确定为第二图像块;对第一图像块进行编码处理;在第一图像块的第一个编码树单元的编码处理完成后,将更改第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。通过本申请,在先编码完成的编码树单元可以作为相邻图像块的编码树单元编码时的参考单元,提高了视频在编码过程中的压缩效率。

Description

视频编码方法、芯片、存储介质及计算机设备
技术领域
本申请涉及视频处理技术领域,具体涉及一种视频编码方法、芯片、存储介质及计算机设备。
背景技术
随着数字技术和芯片技术的迅速发展,用户对高清视频的需求变得日益广泛,电视、智能手机、数字摄像机等提供的各种形式视频正在向高清转变。高清晰度的视频在各个领域的应用越来越广,随着视频的分辨率增大,在对视频进行编码处理时的数据量也越来越大,对视频编码的压缩效率的要求也越来越高。
此外,为了减少视频所需的带宽,在视频编码过程中,通过消除视频帧的帧间冗余以及帧内冗余的方式对视频进行压缩,因此在视频编码过程中需要帧内预测,在解码过程中需要根据预测信息还原视频帧。并且,视频编码中一般会将视频帧划分为多个编码树单元(Coding Tree Unit,CTU),基于编码树单元对视频帧进行编码处理。基于上述编码原理,对于正在处理的编码树单元来说,需要参考其相邻的编码树单元,以便于预测运算的正确运行,若无法利用相邻编码树单元,或者对于相邻编码树单元利用的过少,则会导致压缩效率较低。
在相关技术方案中,存在视频在编码过程中压缩效率低的技术问题。
发明内容
本申请实施例提供一种视频编码方法、芯片、存储介质及计算机设备,能够提高视频在编码过程中的压缩效率。
第一方面,本申请实施例提供一种视频编码方法,包括:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
第二方面,本申请实施例还提供一种视频编码芯片,所述视频编码芯片包括处理器,所述处理器被配置为:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
第三方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的视频编码方法。
第四方面,本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本申请任一实施例提供的视频编码方法。
本申请实施例提供的技术方案,对于待处理视频帧,基于水平分割线和垂直分割线将其划分为四个图像块,将水平分割线上侧的两个图像块进行垂直镜像处理,然后,将垂直分割线左侧的两个图像块进行水平镜像处理,然后,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,对第一图像块进行编码处理,并且在第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。通过本申请的方案,在先编码完成的编码树单元可以作为相邻图像块的编码树单元编码时的参考单元,提高了视频在编码过程中的压缩效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的视频编码方法的第一种流程示意图。
图2为将待处理视频帧划分为多个编码树单元的示意图。
图3为将一帧视频帧划分为多个图像块的示意图。
图4为本申请实施例提供的视频编码方法中对待处理视频帧划分的多个图像块的镜像处理的示意图。
图5a至图5c为本申请实施提供的视频编码方法的编码过程的一种示意图。
图6a至图6c为本申请实施提供的视频编码方法的编码过程的另一种示意图。
图7为本申请实施例提供的视频编码芯片的结构示意图。
图8为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种视频编码方法,该视频编码方法的执行主体可以是本申请实施例提供的视频编码芯片,或者集成了该视频编码芯片的计算机设备,其中该视频编码芯片可以采用硬件或者软件的方式实现。其中,计算机设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。或者,计算机设备还可以是服务器等。
请参阅图1,图1为本申请实施例提供的视频编码方法的第一种流程示意图。本申请实施例提供的视频编码方法的具体流程可以如下:
101、基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块。
采用H.264/AVC/HEVC等视频编码标准的视频编码技术中均使用了编码树单元的概念。在进行帧内预测时,当前正在处理的编码树单元需要使用其相邻的左、左上、上和右上的编码树单元的数据,以便于预测的正确运行。当参考单元不足时,当前的编码树单元的压缩效率减慢,参考单元数量越少,压缩效率就越慢,反之,参考单元的数量相对越多,压缩效率就越高。
如图2所示,图2为将待处理视频帧划分为多个编码树单元的示意图。在对一帧视频帧进行编码时,将该视频帧划分为多个编码树单元,这多个编码树单元构成编码树单元阵列,图2中的一个小方格为一个编码树单元。在编码树单元的大小不变的情况下,若视频的分辨率越高,则划分的编码树单元的数量越多。其中,一个编码树单元的大小可以根据需要设置,例如编码树单元的大小可以设置为64像素×64像素。若从第一行编码树单元开始对视频帧进行编码,第一行编码树单元的第一个编码树单元完全没有参考单元,第一行的其他编码树单元只有左侧相邻的编码树单元能够作为参考单元使用,这会导致第一行编码树单元的压缩效率较慢。
或者,为了在视频编码过程中提高处理速度,将一帧完整的视频帧进行分块处理,将多个图像块进行并行处理,以提高处理速度。如图3所示,图3为将一帧视频帧划分为多个图像块的示意图,将一帧视频帧分割为四个图像块。在分块之后,如果直接基于四个流水线分别对四个图像块处理,对于每一个图像块,按照与一帧视频帧同样的方式进行单独编码。也就是说,对于每一个图像块,按照图像处理的顺序,从图像的左上角处的第一个编码树单元开始处理。对于每一个图像块来说,这种方案与从第一行编码树单元开始对视频帧进行编码的方案存在同样的缺陷,即图像块中的第一行编码树单元最多只有一个参考单元,并且,除此之外,还引入了其他的缺陷,如图3所示,对于右上角的第2个图像块的第一列编码树单元来说,在原本的完整视频帧中可以使用其左侧的编码树单元作为预测时的参考单元,但是经过分块处理后,各个图像块并行处理,第2个图像块的第一列编码树单元就缺少了左侧的编码树单元作为参考,导致该位置处出现显著的编码损失。也就是说,这种方案导致原本可以相互参考的相邻编码树单元被阻断了空间上的联系,造成分割位置处在编码时出现编码损失的现象,并且图像分块越多,则损失也越多。
为了解决上述问题,本申请实施例提供一种视频编码方法。本申请实施例中,在视频编码过程中,从待编码处理的视频中获取待处理视频帧。在获取到待处理视频帧之后,通过一条水平分割线和一条垂直分割线对该待处理视频帧进行分块处理,得到四个图像块。其中,对待处理视频帧可以采用均匀分块的方案,也可以采用非均匀分块的方案进行划分。
例如,在一实施例中,水平分割线为待处理视频帧的水平中心线,垂直分割线为待处理视频帧的垂直中心线。该实施例通过待处理视频帧的水平中心线和垂直中心线将一个完整的视频帧进行四等分,得到四个大小相同的四个图像块。
又例如,在另一实施例中,基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块之前,方法还包括:确定待处理视频帧的感兴趣区域;基于感兴趣区域确定水平分割线和垂直分割线的位置。该实施例识别出该待处理视频帧的感兴趣区域,基于该感兴趣确定出水平分割线和垂直分割线的位置,例如,以感兴趣区域的中心点作为水平分割线和垂直分割线的交点。如果该中心点不是图像的中心点,则划分得到的四个图像块的大小不等。使用这种不均等分块的方案时,任一图像块在长或宽的方向上至少有两个编码树单元。
102、将水平分割线上侧的两个图像块进行垂直镜像处理,并在垂直镜像处理后,将垂直分割线左侧的两个图像块进行水平镜像处理。
以水平分割线为待处理视频帧的水平中心线,垂直分割线为待处理视频帧的垂直中心线为例,将待处理视频帧均等分块处理后,得到四个大小均为待处理视频帧四分之一的图像块。
接下来,先将水平中心线上侧的两个图像块进行垂直镜像处理,在垂直镜像处理后,再将垂直分割线左侧的两个图像块进行水平镜像处理,如图4所示,图4为本申请实施例提供的视频编码方法中对待处理视频帧划分的多个图像块的镜像处理的示意图。四个图像块中的“F”是位置标记,用于表示三个块经过镜像处理后发生的变换。为了便于说明,从左至右、从上之下,将四个图像块记为Slice1、Slice2、Slice3和Slice4。对于这四个图像块,Slice1经过了垂直镜像和水平镜像处理,其原本右下角处的像素点被变换至左上角;Slice2经过了垂直镜像,原本的左下角处的像素点被变换至左上角;Slice3经过了水平镜像,原本右上角处的像素点被变换至左上角。由此,可以看出,经过上述镜像处理后,Slice1、Slice2、Slice3中原本位于待处理视频帧的中心位置处的像素点均被变换至图像块的左上角。对于四个图像块来说,如果都是从图像块的左上角开始处理,相当于从待处理视频帧的中心位置处开始处理。基于该原理,对于各个图像块中的一些编码树单元来说,具有了以下相对关系:Slice1的左上角第一个编码树单元在待处理视频帧中是Slice4的第一个编码树单元的左上角的编码树单元。Slice2的左上角第一个编码树单元在待处理视频帧中是Slice4的第一个编码树单元的上侧的编码树单元。Slice3的左上角第一个编码树单元在待处理视频帧中是Slice4的第一个编码树单元的左侧的编码树单元。接下来,Slice1、Slice2、Slice3以及Slice4中的第一行编码树单元在编码时可以利用这种相对位置关系实现相邻编码树单元之间的相互参考。
103、将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块。
104、对第一图像块进行编码处理。
105、在第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。
完成上述镜像处理过程后,将四个图像块中的部分图像块,比如将1个或2个或3个图像块作为第一图像块,将剩余的其他图像块作为第二图像块。
例如,在一实施例中,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,包括:将四个图像块中位于右下角的图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块。
或者,在另一实施例中,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,包括:将四个图像块中位于右上角的图像块以及位于右下角的图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块。
本申请实施例中,将每个图像块均划分为编码树单元阵列,对于第一图像块,从第一图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,对第一图像块中的编码树单元依次进行编码处理;在对第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的第一个编码树单元的参考单元,从第二图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,启动对第二图像块的编码处理。
与第二图像块相比,第一图像块早一个编码树单元开始编码,使得第一图像块中编码完成的第一个编码树单元可以成为第二图像块的第一个编码树单元的参考单元,以提高编码的效率。此外,当第一图像块有多个时,第一图像块中编码完成的第一个编码树单元也可以成为其他第一图像块的编码树单元的参考单元。
也就是说,在第一图像块的第一个编码树单元编码完成后,四个图像块可以并行地处理。例如,在一实施例中,本申请实施例的视频编码方法应用于视频编码芯片,视频编码芯片包括处理器,处理器包括至少四个处理器单元;基于四个处理器单元,并行地对四个图像块进行编码处理。例如,对于四核处理器,一个处理器核心为一个处理器单元。
或者,在另一实施例中,由处理器创建四个线程,由四个线程并行地对四个图像块进行编码处理。四个线程可以由不同的处理器单元执行,也可以由一个处理器单元执行。
接下来,结合各个编码树单元的编码顺序,举例两个具体的编码过程对该方案进一步详细说明。对于一个图像块,在一个时间片对一个编码树单元编码处理。
例如,以将Slice4作为第一图像块,将Slice1、Slice2、Slice3作为第二图像块为例,如图5a至图5c所示,图5a至图5c为本申请实施提供的视频编码方法的编码过程的一种示意图,图示中的“/”之后的数字为时间片编号。如图5a所示,在第一个时间片,先对Slice4的第一个编码树单元D1进行编码处理。如图5b所示,在第二个时间片,对Slice4的第二个编码树单元D2进行编码处理,D1可以作为D2编码时的参考单元;与此同时,对Slice1的第一个编码树单元A1、Slice2的第一个编码树单元B1、Slice3的第一个编码树单元C1进行编码处理,D1可以作为A1、B1、C1编码时的参考单元,图5b中A1、B1、C1旁边的D1是将Slice4中的D1分别照与Slice1、Slice2、Slice3同样的镜像方式处理后所在的对应位置,表示出了在原始的待处理视频帧中A1、B1、C1分别与D1之间的相对位置关系。如图5c所示,按照同样的方式表示几个编码树单元之间的相对位置关系,在此不再赘述。在第三个时间片,对Slice4的第三个编码树单元D3进行编码处理,D2可以作为D3编码时的参考单元;与此同时,对Slice1的第二个编码树单元A2、Slice2的第二个编码树单元B2、Slice3的第二个编码树单元C2进行编码处理,A1和C1可以作为A2编码时的参考单元,A1和C1可以作为C2编码时的参考单元,B1、D1和D2可以作为B2编码时的参考单元。按照这种方式依次编码下去,完成各个图像块的第一行编码树单元的编码。之后,依次进行其他行的编码树单元的编码。
由此可以看出,除了Slice4的第一行编码树单元只有一个参考单元之外,Slice1和Slice3的第一行编码树单元都有两个参考单元。Slice4的第一行编码树单元有3个参考单元。
此外,对于其他行的编码树单元,除了Slice4的各行第一个编码树单元只有3个参考单元外,其他编码树单元都有其相邻的左、左上、上和右上的编码树单元作为参考单元。
又例如,以将Slice2、Slice4作为第一图像块,将Slice1、Slice3作为第二图像块为例。该实施例中,在第一个时间片,对第一图像块的第一个编码树单元进行编码处理;对于每一第一图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第一图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理;在第二个时间片,将第一图像块的第一个编码树单元作为第二图像块的第一个编码树单元的参考单元,对第二图像块的编码树单元阵列中位于第一行第一列的编码树单元进行编码处理;对于每一第二图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第二图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理。
如图6a至图6c所示,图6a至图6c为本申请实施提供的视频编码方法的编码过程的另一种示意图,图示中的“/”之后的数字为时间片编号。如图6a所示,在第一个时间片,先对Slice2的第一个编码树单元B1、Slice4的第一个编码树单元D1进行编码处理。如图6b所示,在第二个时间片,对Slice2的第二个编码树单元B2、Slice4的第二个编码树单元D2进行编码处理,B1和D1可以作为D2和B2编码时的参考单元;与此同时,对Slice1的第一个编码树单元A1、Slice3的第一个编码树单元C1进行编码处理,B1和D1可以作为A1和C1编码时的参考单元,如图6c所示,在第三个时间片,对Slice2的第三个编码树单元B3、Slice4的第三个编码树单元D3进行编码处理,B2和D2可以作为D3和B3编码时的参考单元;与此同时,对Slice1的第二个编码树单元A2、Slice3的第二个编码树单元C2进行编码处理,A1和C1可以作为A2和C2编码时的参考单元。按照这种方式依次编码下去,完成各个图像块的第一行编码树单元的编码。之后,依次进行其他行的编码树单元的编码。
由此可以看出,除了Slice2和Slice4的第1个编码树单元没有参考单元之外,四个图像块中的第一行编码树单元的编码树单元都有两个参考单元。
此外,对于其他行的编码树单元,除了Slice4的各行第一个编码树单元只有3个参考单元外,其他编码树单元都有其相邻的左、左上、上和右上的编码树单元作为参考单元。
需要说明的是,为了便于读者理解本方案,上述两个实施例的图示中所示的编码树单元的数量较少,在实际应用中,编码树单元的数量可能远多于图示中的数量。
由上述所举例的两个实施例的过程可以看出,视频的第一行编码树单元的参考单元的数量也有明显提示,除了第一个编码树单元之外,第一行编码树单元中的每个编码树单元平均有两个参考单元,相对于第一行编码树单元只有一个参考单元的情况,显著提高了视频的压缩效率。
此外,本方案除了提高视频第一行编码树单元的压缩效率之外,相对于上文中将视频帧划分为四个图像块后各自进行编码的方案,本申请实施例的方案在对待处理视频帧进行分块以并行处理的同时,通过对各个图像块进行合理的镜像处理,使得分割处的编码树单元能够相互参考,能够避免分割位置处在编码时出现编码损失的现象。
再者,对于四个图像块,经过镜像处理后,从左上角开始处理,相当于从待处理视频帧的中心位置处开始处理,本申请的方案可以先编码出图像的中心区域,如果有其它的并行处理算法也同时在相邻视频帧之间展开,先得到的中心区域更容易为其它视频帧提供参考数据,因为中心区域往往是视觉关注的中心,也往往是最清晰、最容易有动态事物出现的地方。
基于上述说明,可以理解的是,在其他实施例中,还可以将Slice1、Slice3作为第一图像块,将Slice2、Slice4作为第二图像块,或者,将Slice1作为第一图像块,将Slice2、Slice3、Slice4作为第二图像块,等等,其原理与上文中的实施例类似,同样能够达到上述效果,在此不再一一赘述。因此,任何将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块的方案都包含在本申请的保护范围内。
在一实施例中,该方法还包括:
当所述四个图像块编码完成后,得到每一图像块对应的帧内预测图像块;
对于每一所述图像块,将所述图像块对应的帧内预测图像块按照所述图像块对应的镜像方式进行镜像处理;
将经过镜像处理后的所述四个图像块进行合并处理,得到所述待处理视频帧对应的帧内预测图像。
经过上述编码处理后,得到各个图像块对应的帧内预测图像,在一实施例中,可以根据各个图像块对应的镜像方式,对帧内预测图像进行同样方式的镜像处理,使得镜像处理后的帧内预测图能够与镜像处理之前的图像块对应。例如,对于Slice1对应的帧内预测图像块来说,Slice1之前经过了水平镜像和垂直镜像,则在得到帧内预测图像块之后,将该帧内预测图像块进行水平镜像和垂直镜像处理,处理后的帧内预测图像块与未经镜像处理的Slice1是对应的。然后,合并多个图像块对应的帧内预测图,得到待处理视频帧对应的帧内预测图。
或者,在另一实施例中,在得到每个图像块对应的帧内预测图像块之后,也可以直接存储帧内预测图像块,在解码过程中,当使用该帧内预测图完成解码后,对解码得到的各个图像块再进行对应的镜像处理,以得到原始的视频帧。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的视频编码方法,对于待处理视频帧,基于水平分割线和垂直分割线将其划分为四个图像块,将水平分割线上侧的两个图像块进行垂直镜像处理,然后,将垂直分割线左侧的两个图像块进行水平镜像处理,然后,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,对第一图像块进行编码处理,并且在第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。通过本申请的方案,在先编码完成的编码树单元可以作为相邻图像块的编码树单元编码时的参考单元,提高了视频在编码过程中的压缩效率。
在一实施例中还提供一种视频编码芯片。请参阅图7,图7为本申请实施例提供的视频编码芯片300的结构示意图。该视频编码芯片300包括处理器301,该处理器301被配置为:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
其中,该处理器301可以是CPU(Central Processing Unit,中央处理器),也可以是GPU(Graphics Processing Unit,图形处理器)等。
在一些实施例中,所述水平分割线为所述待处理视频帧的水平中心线,所述垂直分割线为所述待处理视频帧的垂直中心线。
在一些实施例中,该处理器301还被配置为:将所述四个图像块中位于右下角的图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块。
在一些实施例中,该处理器301还被配置为:将所述四个图像块中位于右上角的图像块以及位于右下角的图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块。
在一些实施例中,该处理器301还被配置为:
确定所述第一图像块和所述第二图像块划分的编码树单元阵列;
从所述第一图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,对所述第一图像块中的编码树单元依次进行编码处理;
在对所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的第一个编码树单元的参考单元,从所述第二图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,启动对所述第二图像块的编码处理。
在一些实施例中,该处理器301还被配置为:
在第一个时间片,对所述第一图像块的第一个编码树单元进行编码处理;
对于每一所述第一图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第一图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理;
在第二个时间片,将所述第一图像块的第一个编码树单元作为所述第二图像块的第一个编码树单元的参考单元,对所述第二图像块的编码树单元阵列中位于第一行第一列的编码树单元进行编码处理;
对于每一所述第二图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第二图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理。
在一些实施例中,所述处理器包括至少四个处理器单元;该处理器301还被配置为:基于所述四个处理器单元,并行地对所述四个图像块进行编码处理。
在一些实施例中,该处理器301还被配置为:确定所述待处理视频帧的感兴趣区域;以及,基于所述感兴趣区域确定所述水平分割线和所述垂直分割线的位置。
在一些实施例中,该处理器301还被配置为:当所述四个图像块编码完成后,得到每一图像块对应的帧内预测图像块;对于每一所述图像块,将所述图像块对应的帧内预测图像块按照所述图像块对应的镜像方式进行镜像处理;以及,将经过镜像处理后的所述四个图像块进行合并处理,得到所述待处理视频帧对应的帧内预测图像。
应当说明的是,本申请实施例提供的视频编码芯片与上文实施例中的视频编码方法属于同一构思,通过该视频编码芯片可以实现视频编码方法实施例中提供的任一方法,其具体实现过程详见视频编码方法实施例,此处不再赘述。
由上可知,本申请实施例提出的视频编码芯片,对于待处理视频帧,基于水平分割线和垂直分割线将其划分为四个图像块,将水平分割线上侧的两个图像块进行垂直镜像处理,然后,将垂直分割线左侧的两个图像块进行水平镜像处理,然后,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,对第一图像块进行编码处理,并且在第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。通过本申请的方案,在先编码完成的编码树单元可以作为相邻图像块的编码树单元编码时的参考单元,提高了视频在编码过程中的压缩效率。
本申请实施例还提供一种计算机设备,该计算机设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(PC,Personal Computer)等终端设备。如图8所示,图8为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图8所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测芯片和触摸控制器两个部分。其中,触摸检测芯片检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测芯片上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与显示面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图8中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,对于待处理视频帧,基于水平分割线和垂直分割线将其划分为四个图像块,将水平分割线上侧的两个图像块进行垂直镜像处理,然后,将垂直分割线左侧的两个图像块进行水平镜像处理,然后,将四个图像块中的部分图像块确定为第一图像块,将除第一图像块外的其他图像块确定为第二图像块,对第一图像块进行编码处理,并且在第一图像块的第一个编码树单元的编码处理完成后,将第一图像块的第一个编码树单元作为第二图像块的参考单元,启动对第二图像块的编码处理。通过本申请的方案,在先编码完成的编码树单元可以作为相邻图像块的编码树单元编码时的参考单元,提高了视频在编码过程中的压缩效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种视频编码方法中的步骤。例如,该计算机程序可以执行如下步骤:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种视频编码方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频编码方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频编码方法、芯片、介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种视频编码方法,其特征在于,包括:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
2.如权利要求1所述的视频编码方法,其特征在于,所述水平分割线为所述待处理视频帧的水平中心线,所述垂直分割线为所述待处理视频帧的垂直中心线。
3.如权利要求2所述的视频编码方法,其特征在于,所述将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块,包括:
将所述四个图像块中位于右下角的图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块。
4.如权利要求2所述的视频编码方法,其特征在于,所述将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块,包括:
将所述四个图像块中位于右上角的图像块以及位于右下角的图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块。
5.如权利要求4所述的视频编码方法,其特征在于,所述方法还包括:
确定所述第一图像块和所述第二图像块划分的编码树单元阵列;
从所述第一图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,对所述第一图像块中的编码树单元依次进行编码处理;
在对所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的第一个编码树单元的参考单元,从所述第二图像块的编码树单元阵列中位于第一行第一列的编码树单元开始,启动对所述第二图像块的编码处理。
6.如权利要求5所述的视频编码方法,其特征在于,所述方法还包括:
在第一个时间片,对所述第一图像块的第一个编码树单元进行编码处理;
对于每一所述第一图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第一图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理;
在第二个时间片,将所述第一图像块的第一个编码树单元作为所述第二图像块的第一个编码树单元的参考单元,对所述第二图像块的编码树单元阵列中位于第一行第一列的编码树单元进行编码处理;
对于每一所述第二图像块的第一行编码树单元中除第一个编码树单元之外的其他编码树单元,将两个第二图像块在上一时间片编码完成的编码树单元作为当前时间片的编码树单元的参考单元,对当前时间片的编码树单元进行编码处理。
7.如权利要求1所述的视频编码方法,其特征在于,所述方法应用于视频编码芯片,所述视频编码芯片包括处理器,所述处理器包括至少四个处理器单元;所述方法还包括:
基于所述四个处理器单元,并行地对所述四个图像块进行编码处理。
8.如权利要求1所述的视频编码方法,其特征在于,所述基于水平分割线和垂直分割线,将所述待处理视频帧划分为四个图像块之前,所述方法还包括:
确定所述待处理视频帧的感兴趣区域;
基于所述感兴趣区域确定所述水平分割线和所述垂直分割线的位置。
9.如权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
当所述四个图像块编码完成后,得到每一图像块对应的帧内预测图像块;
对于每一所述图像块,将所述图像块对应的帧内预测图像块按照所述图像块对应的镜像方式进行镜像处理;
将经过镜像处理后的所述四个图像块进行合并处理,得到所述待处理视频帧对应的帧内预测图像。
10.一种视频编码芯片,其特征在于,所述视频编码芯片包括处理器,所述处理器被配置为:
基于水平分割线和垂直分割线,将待处理视频帧划分为四个图像块;
将所述水平分割线上侧的两个图像块进行垂直镜像处理,并在所述垂直镜像处理后,将所述垂直分割线左侧的两个图像块进行水平镜像处理;
将所述四个图像块中的部分图像块确定为第一图像块,将除所述第一图像块外的其他图像块确定为第二图像块;
对所述第一图像块进行编码处理;
在所述第一图像块的第一个编码树单元的编码处理完成后,将所述第一图像块的第一个编码树单元作为所述第二图像块的参考单元,启动对所述第二图像块的编码处理。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至9任一项所述的视频编码方法。
12.一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1至9任一项所述的视频编码方法。
CN202210847090.2A 2022-07-19 2022-07-19 视频编码方法、芯片、存储介质及计算机设备 Active CN114938453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210847090.2A CN114938453B (zh) 2022-07-19 2022-07-19 视频编码方法、芯片、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210847090.2A CN114938453B (zh) 2022-07-19 2022-07-19 视频编码方法、芯片、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN114938453A CN114938453A (zh) 2022-08-23
CN114938453B true CN114938453B (zh) 2022-09-30

Family

ID=82869174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210847090.2A Active CN114938453B (zh) 2022-07-19 2022-07-19 视频编码方法、芯片、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN114938453B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586420A (zh) * 2020-04-30 2020-08-25 中山大学 镜像模板匹配帧内预测方法、装置及视频解码方法、装置
JP2020137119A (ja) * 2019-02-12 2020-08-31 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
CN112514390A (zh) * 2020-03-31 2021-03-16 深圳市大疆创新科技有限公司 视频编码的方法和装置
CN114520916A (zh) * 2020-11-19 2022-05-20 腾讯科技(深圳)有限公司 视频编码方法、装置、终端设备以及存储介质
CN114727104A (zh) * 2019-03-22 2022-07-08 华为技术有限公司 对经编码视频码流进行编/解码的方法及相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020137119A (ja) * 2019-02-12 2020-08-31 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
CN114727104A (zh) * 2019-03-22 2022-07-08 华为技术有限公司 对经编码视频码流进行编/解码的方法及相关设备
CN112514390A (zh) * 2020-03-31 2021-03-16 深圳市大疆创新科技有限公司 视频编码的方法和装置
CN111586420A (zh) * 2020-04-30 2020-08-25 中山大学 镜像模板匹配帧内预测方法、装置及视频解码方法、装置
CN114520916A (zh) * 2020-11-19 2022-05-20 腾讯科技(深圳)有限公司 视频编码方法、装置、终端设备以及存储介质

Also Published As

Publication number Publication date
CN114938453A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
AU2023200732B2 (en) Adaptive transfer function for video encoding and decoding
WO2020182158A1 (zh) 编码方法、解码方法及装置
US9430810B2 (en) Drawing method, apparatus, and terminal
CN111770340B (zh) 视频编码方法、装置、设备以及存储介质
US20190230349A1 (en) Prediction mode selection method, video encoding device, and storage medium
US9086749B2 (en) System and method for improved processing of touch sensor data
CN103959198A (zh) 降低3d工作负荷的功率
JP6745020B2 (ja) 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置
US11887276B2 (en) Image processing method and display apparatus for adjusting format and resolution of input image in parallel and matrix manner
CN111223438B (zh) 像素补偿表的压缩方法及装置
CN112887608A (zh) 图像处理方法、装置、图像处理芯片和电子设备
JP2015501581A (ja) Hm4.0における4x4及び8x8変換係数の有意性マップ符号化のコンテキスト削減
US11562772B2 (en) Video processing method, electronic device, and storage medium
CN114938453B (zh) 视频编码方法、芯片、存储介质及计算机设备
CN113986168A (zh) 一种图像显示方法、装置、设备及可读存储介质
CN109214977A (zh) 图像处理装置及其控制方法
CN114697650A (zh) 基于下采样的帧内划分方法、相关装置设备及介质
CN111918061A (zh) 编码块的划分方法及装置、存储介质及电子设备
JP2021013145A (ja) 動画像伝送装置、動画像伝送方法
CN116389763B (zh) 基于多种编码器的视频编码方法和装置
WO2024078110A1 (zh) 图像展示方法、装置、终端设备和存储介质
US11985358B2 (en) Artifact removal method and apparatus based on machine learning, and method and apparatus for training artifact removal model based on machine learning
US20230102584A1 (en) Systems and Methods for Multi-Core Image Encoding
US20220038749A1 (en) Artifact removal method and apparatus based on machine learning, and method and apparatus for training artifact removal model based on machine learning
WO2020260766A1 (en) Method, apparatus, computer program product for storing motion vectors for video encoding

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
GR01 Patent grant
GR01 Patent grant