CN116156174B - 数据编码处理方法、装置、计算机设备和存储介质 - Google Patents

数据编码处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116156174B
CN116156174B CN202310159482.4A CN202310159482A CN116156174B CN 116156174 B CN116156174 B CN 116156174B CN 202310159482 A CN202310159482 A CN 202310159482A CN 116156174 B CN116156174 B CN 116156174B
Authority
CN
China
Prior art keywords
prediction unit
motion vector
cost value
coded
coding
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
CN202310159482.4A
Other languages
English (en)
Other versions
CN116156174A (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.)
Granfei Intelligent Technology Co.,Ltd.
Original Assignee
Glenfly Tech 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 Glenfly Tech Co Ltd filed Critical Glenfly Tech Co Ltd
Priority to CN202310159482.4A priority Critical patent/CN116156174B/zh
Publication of CN116156174A publication Critical patent/CN116156174A/zh
Application granted granted Critical
Publication of CN116156174B publication Critical patent/CN116156174B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

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

Abstract

本申请涉及一种数据编码处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量;基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量;对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量;计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元;基于优选预测单元对所述待编码块进行编码处理。采用本方法能够提高编码效率。

Description

数据编码处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及编码技术领域,特别是涉及一种数据编码处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在大多数图像和视频中,当前待编码块的运动趋势与其空域相邻块和时域相邻块具有较强的相关性。Merge Mode(编码预测模式)是HEVC(视频压缩)标准中新增的一种运动估计模式。该模式充分利用了上述特性,将某个相邻块的MV(Motion Vector,运动矢量)直接作为当前块的MV,节省当前块编码MV所消耗的码率,从而提高编码效率。
传统技术中,在Merge模式中,HEVC编码器会对每个MV进行代价计算,从而从多个相邻块中选取其中一个相邻块的运动矢量作为当前块的运动矢量,在计算MV的代价时,一般需要进行分数像素插值,且MV的值是比较分散的,并不利于集中处理,这就意味着,每个MV要分开计算代价,会严重拖累硬件的处理速度,最终导致编码速度较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高编码效率的数据编码处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据编码处理方法。所述方法包括:
确定待编码块的目标预测单元,确定与各所述目标预测单元分别对应的初始运动矢量;所述初始运动矢量为所述待编码块的相邻块的运动矢量;
基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量;
对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量;
计算各所述编码运动矢量的预测编码代价值,并根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元;
基于所述优选预测单元对所述待编码块进行编码处理。
在其中一个实施例中,所述确定待编码块的目标预测单元,包括:
获取与待编码块对应的未划分预测单元;
从多种预设划分方式中确定出目标划分方式,并按照目标划分方式对所述待编码块进行划分,得到已划分预测单元;
将所述未划分预测单元和所述已划分预测单元,作为目标预测单元。
在其中一个实施例中,每个目标预测单元的初始运动矢量存储于相应预测单元的真实运动矢量列表中;
所述基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量,包括:
针对任一目标预测单元,构建所针对的目标预测单元的虚拟运动矢量列表;
确定初始运动矢量的分布位置的优先级顺序,按照所述优先级顺序遍历所述真实运动矢量列表中的初始运动矢量,若当前遍历的初始运动矢量满足预设保留条件,则将当前遍历的初始运动矢量存储进所针对的目标预测单元的虚拟运动矢量列表中;
将各个目标预测单元的虚拟运动矢量列表中存储的初始运动矢量,作为中间运动矢量。
在其中一个实施例中,所述对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量,包括:
从各所述目标预测单元中选取任意一个作为当前目标预测单元,并将所述当前目标预测单元的中间运动矢量均作为所述待编码块的编码运动矢量;
若除所述当前目标预测单元以外的各其他的目标预测单元中,存在有与所述待编码块当前的编码运动矢量不同的中间运动矢量,则将该不同的中间运动矢量也作为所述待编码块的编码运动矢量。
在其中一个实施例中,所述编码运动矢量携带预测单元标识;所述计算各所述编码运动矢量的预测编码代价值,包括:
针对任意一个编码运动矢量,均采用以下步骤进行预测编码代价值的计算:
若根据所述编码运动矢量携带的预测单元标识,确定所述编码运动矢量存在于至少一个目标预测单元的虚拟运动矢量列表中,则获取相应目标预测单元的属性信息;
根据所述属性信息和预先确定的各参考代价值,确定所述编码运动矢量对应的预测编码代价值。
在其中一个实施例中,所述参考代价值的确定方式,包括:
基于所述待编码块的尺寸,将所述待编码块和所述参考块分别划分成预设数量个子待编码块和子参考块,所述子待编码块和子参考块的数量和尺寸相同;
将对应相同位置的子待编码块和子参考块构成一组待处理块;
将各待处理块的像素值分别代入预先构建的代价计算表达式,得到与各个待处理块分别对应的参考代价值。
在其中一个实施例中,所述目标预测单元的属性信息包括目标预测单元的尺寸信息和位置信息;所述根据所述属性信息和预先确定的各参考代价值,确定所述编码运动矢量对应的预测编码代价值,包括:
基于所述目标预测单元的尺寸信息和位置信息,从各所述参考代价值中选取目标参考代价值进行求和处理,将得到的和确定为所述编码运动矢量对应的预测编码代价值。
在其中一个实施例中,所述目标预测单元包括未划分预测单元和已划分预测单元;所述编码运动矢量携带预测单元标识;
所述根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元,包括:
将存在于所述未划分预测单元中的编码运动矢量的预测编码代价值,与预设的未划分预测单元的未划分代价阈值进行比较,确定出所述未划分预测单元的第一最小编码代价值;
将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出所述已划分预测单元的第二最小编码代价值;
将所述第一最小编码代价值和所述第二最小编码代价值中数值较小的代价值所对应的目标预测单元,确定为优选预测单元。
在其中一个实施例中,所述已划分预测单元包括第一已划分预测单元和第二已划分预测单元;
所述将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出所述已划分预测单元的第二最小编码代价值,包括:
将存在于第一已划分预测单元中的编码运动矢量的预测编码代价值,与预设的第一已划分预测单元的第一已划分代价阈值进行比较,确定第一子编码代价值;
将存在于第二已划分预测单元中的编码运动矢量的预存编码代价值,与预设的第二已划分预测单元的第二已划分代价阈值进行比较,确定第二子编码代价值;
根据所述第一子编码代价值和所述第二子编码代价值的和,确定出所述已划分预测单元的第二最小编码代价值。
在其中一个实施例中,所述根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元之后,基于所述优选预测单元对所述待编码块进行编码处理之前,还包括:
确定各非预测编码代价值中的最小非预测编码代价值;
将所述优选预测单元对应的最小编码代价值与所述最小非预测编码代价值进行比较,若所述最小编码代价值小于所述非预测编码代价值,则基于所述优选预测单元对所述待编码块进行编码处理;
若所述最小编码代价值大于所述非预测编码代价值,则退出预测编码模式,基于非预测编码模式对所述待编码块进行编码处理。
第二方面,本申请还提供了一种数据编码处理装置。所述装置包括:
第一预测单元确定模块,用于确定待编码块的目标预测单元,确定与各所述目标预测单元分别对应的初始运动矢量;所述初始运动矢量为所述待编码块的相邻块的运动矢量;
筛选模块,用于基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量;
去重模块,用于对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量;
第二预测单元确定模块,用于计算各所述编码运动矢量的预测编码代价值,并根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元;
编码模块,用于基于所述优选预测单元对所述待编码块进行编码处理。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据编码处理方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据编码处理方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据编码处理方法的步骤。
上述数据编码处理方法、装置、计算机设备、存储介质和计算机程序产品,确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量;基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量;对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量;计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元;基于优选预测单元对所述待编码块进行编码处理。其中,在计算预测编码代价值之前,通过确定目标预测单元,并对目标预测单元对应的初始运动矢量进行筛选处理之后,再进一步进行去重处理,从而减少了运动矢量的数量,在减少运动矢量的基础上,再展开代价值计算,可以有效的节省硬件资源的开销,提升编码速率。
附图说明
图1为一个实施例中数据编码处理方法的应用环境图;
图2为一个实施例中数据编码处理方法的流程示意图;
图3为一个实施例中数据编码处理方法的预设划分方式结构示意图;
图4为一个实施例中数据编码处理方法的结构框图;
图5为一个实施例中数据编码处理步骤的流程示意图;
图6为另一个实施例中数据编码处理方法的流程示意图;
图7为另一个实施例中数据编码处理方法的流程示意图;
图8为另一个实施例中数据编码处理方法的流程示意图;
图9为一个实施例中数据编码处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据编码处理方法,可以应用于如图1所示的数据编码处理系统中。其中,图1所示的数据编码处理系统可以包括整数像素运动估计模块(IME模块)、分数像素运动估计模块(FME模块)、编码预测模式测试(Merge Test)模块、模式判决模块以及代价计算模块。其中,IME模块可以用来进行整数像素运动估计,IME模块可以向代价计算模块发送代价计算的请求,代价计算模块返回代价计算结果,IME模块对代价计算模块返回的代价计算结果进行比较,确定出CU(编码单元或编码块)划分方式,得到多个待编码块。
其中,FME模块可以用于进行分数像素运动估计,FME模块可以对每个CU进行分数像素运动估计,每个CU向代价计算模块发送代价计算的请求,代价计算模块返回代价计算结果,FME模块对代价计算模块返回的代价计算结果进行比较,得到CU的PU(预测单元)的划分方式及预测单元对应的非Merge Mode(预测编码模式)的代价,Merge Test模块可以采用本申请提供的数据编码处理方法对每个CU进行Merge Test,从而确定出优选预测单元。在确定出优选预测单元之后,模式判决模块,通过比较Merge Mode和非Merge Mode,得到最终的最优mode(模式)。
其中,图1中的数据编码处理系统可以作为编码端独立部署在终端中,也可以独立部署在服务器中,还可以根据实际需求将数据编码处理系统中的各模块分别部署于同时包括终端和服务器的计算机设备中,其中,终端通过网络与服务器进行通信。数据存储系统可以存储服务器需要处理的数据。数据存储系统可以集成在服务器上,也可以放在云上或其他网络服务器上。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,计算机设备确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量;基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量;对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量;计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元;基于优选预测单元对所述待编码块进行编码处理。
在一个实施例中,如图2所示,提供了一种数据编码处理方法,以该方法应用于计算机设备为例进行说明,计算机设备中部署有图1中的数据编码处理系统,其中,计算机设备可以为服务器或终端,包括以下步骤:
步骤S202,确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量。
其中,待编码块可以是计算机设备在对图像和视频等进行编码处理时,根据整数像素运动估计后的结果,对CTU(编码树单元)进行划分后得到的。目标预测单元可以是计算机设备在对待编码块进行分数像素运动估计后确定的,初始运动矢量为待编码块的相邻块的运动矢量,相邻块可以是时域相邻块、空域相邻块等,每一个目标预测单元可以分别对应有相应的初始运动矢量。
在其中一个实施例中,确定待编码块的目标预测单元,包括:获取与待编码块对应的未划分预测单元;从多种预设划分方式中确定出目标划分方式,并按照目标划分方式对待编码块进行划分,得到已划分预测单元;将未划分预测单元和已划分预测单元,作为目标预测单元。
其中,未划分预测单元可以是计算机设备对待编码块未进行划分得到的预测单元,预设划分方式可以是按照HEVC编码标准规定确定的对待编码块进行划分的方式,计算机设备可以通过对待编码块进行分数像素运动估计,获得分数像素运动估计结果,根据分数像素运动估计结果从多种预设划分方式中选取一种作为目标划分方式,然后根据目标划分方式对待编码块进行划分,得到已划分预测单元,目标预测单元即包括未划分预测单元和根据目标划分方式确定的已划分预测单元。
在一个实施例中,如图3所示,待编码块的大小为4N*4N,由于未划分预测单元是对待编码块未进行划分得到的,因此,未划分预测单元的大小也为4N*4N,多种预设划分方式可以包括垂直划分方式(Vertical Split)、垂直左划分方式(Vertical Left Split)、垂直右划分方式(Vertical Right Split)、水平划分方式(Horizontal Split)、水平上划分方式(Horizontal Up Split)以及水平下划分方式(Horizontal Down Split),其中,Vertical Split为将大小为4N*4N的待编码块划分成2N*4N、2N*4N组成的划分预测单元,Vertical Left Split为将大小为4N*4N的待编码块划分成N*4N、3N*4N组成的划分预测单元,Vertical Right Split为将大小为4N*4N的待编码块划分成3N*4N、N*4N组成的划分预测单元,Horizontal Up Split为将大小为4N*4N的待编码块划分成4N*2N、4N*2N组成的划分预测单元,Horizontal Up Split为将大小为4N*4N的待编码块划分成4N*N、4N*3N组成的划分预测单元,Horizontal Down Split为将大小为4N*4N的待编码块划分成4N*3N、4N*N组成的划分预测单元,针对多种预设划分方式,计算机设备可以根据分数像素运动估计结果(如各预设划分方式对应的非预测编码代价值),将非预测编码代价值最小的预设划分方式选取为目标预设划分方式。
上述实施例中,计算机设备通过从多种划分方式中确定出目标划分方式,从而使得最终确定的目标预测单元只包括未划分预测单元和根据目标划分方式确定的已划分预测单元,有效的减少了待编码块的预测单元的数量,相当于减少了运动矢量的数量,在减少运动矢量的基础上,再展开代价值计算,可以有效的节省硬件资源的开销,提升编码速率。
步骤S204,基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量。
其中,初始运动矢量可以存储在运动矢量列表中,计算机设备可以按照一定的规则和顺序将各初始运动矢量存储进运动矢量列表中,因此,计算机设备在对各目标预测单元的各初始运动矢量进行筛选时,可以按照初始运动矢量的分布位置的优先级顺序展开筛选。
步骤S206,对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量。
其中,编码运动矢量是计算机设备最终用于进行代价值计算的运动矢量,去重处理可以是计算机设备去除掉中间运动矢量中重复相同的运动矢量,计算机设备在对中间运动矢量进行去重处理之后,即可得到编码运动矢量。
步骤S208,计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元。
其中,优选预测单元可以是各目标预测单元中编码代价最小的预测单元,预测编码代价值可以是用于表征各编码运动矢量的编码代价大小的值,每一个目标预测单元中的编码运动矢量均对应有相应的预测编码代价值,计算机设备可以根据各预测编码代价值,从各目标预测单元中确定出优选预测单元。
步骤S210,基于优选预测单元对待编码块进行编码处理。
其中,计算机设备在确定出优选预测单元之后,则可以根据优选预测单元分别对应的初始运动矢量作为待编码块的初始运动矢量,对待编码块进行编码处理。
上述数据编码处理方法中,确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量;基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量;对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量;计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元;基于优选预测单元对所述待编码块进行编码处理。其中,在计算预测编码代价值之前,通过确定目标预测单元,并对目标预测单元对应的初始运动矢量进行筛选处理之后,再进一步进行去重处理,从而减少了运动矢量的数量,在减少运动矢量的基础上,再展开代价值计算,可以有效的节省硬件资源的开销,提升编码速率。
在其中一个实施例中,每个目标预测单元的初始运动矢量存储于相应预测单元的真实运动矢量列表中,即针对每一个预测单元,均相应的设置有真实运动矢量列表,基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量,包括:针对任一目标预测单元,构建所针对的目标预测单元的虚拟运动矢量列表;确定初始运动矢量的分布位置的优先级顺序,按照优先级顺序遍历真实运动矢量列表中的初始运动矢量,若当前遍历的初始运动矢量满足预设保留条件,则将当前遍历的初始运动矢量存储进所针对的预测单元的虚拟运动矢量列表中;将各个目标预测单元的虚拟运动矢量列表中存储的初始运动矢量,作为中间运动矢量。
其中,虚拟运动矢量列表是计算机设备新建立的用来存放中间运动矢量的列表,针对每一个目标预测单元,计算机设备均会建立对应的虚拟运动矢量列表,在建立虚拟运动矢量列表之后,计算机设备会确定真实运动矢量列表中初始运动矢量的分布位置的优先级顺序,优先处理优先级高的分布位置的初始运动矢量,若当前遍历的初始运动矢量满足预设保留条件,则将当前遍历的初始运动矢量存储进所针对的目标预测单元的虚拟运动矢量列表中,若当前遍历的初始运动矢量不满足预设保留条件,则剔除当前遍历的初始运动矢量。
其中,预设保留条件可以是计算机设备对以往编码某个视频的统计结果进行大数据统计分析确定的,具体的,计算机设备选择真实运动矢量列表中,分布位置的优先级顺序排在前3的初始运动矢量作为中间运动矢量的概率较大(如大于90%),因此,预设保留条件可以为预测虚拟运动矢量列表中的矢量数目未达到预设数目阈值,其中,预设矢量数据阈值可以设置为3、2等任意比真实运动矢量列表中的初始运动矢量数量小的数值,且预测虚拟运动矢量列表中不存在当前遍历的初始运动矢量,表1是编码某个视频的统计结果:
表1
其中,从表中可知,从第1帧到第14帧,每一帧选择分布位置的优先级顺序排在前3的初始运动矢量作为中间运动矢量的概率之和都是大于90%的。
上述实施例中,计算机设备根据对以往编码某个视频的统计结果进行大数据统计分析,确定预设保留条件,然后按照初始运动矢量的分布位置的优先级顺序遍历的初始运动矢量,使满足预设保留条件的初始运动矢量存储进所针对的目标预测单元的虚拟运动矢量列表中,不仅减少了初始运动矢量的数量,还使得保留的初始运动矢量是符合历史统计结果的,可以有效提升后续计算的精度。
其中,计算机设备在对初始运动矢量进行筛选之后,得到各目标预测单元的虚拟运动矢量列表,进一步的,可以根据目标预测单元的虚拟运动矢量列表中的中间运动矢量,确定待编码块的编码运动矢量,因此,在一个实施例中,对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量,包括:从各目标预测单元中选取任意一个作为当前目标预测单元,并将当前目标预测单元的中间运动矢量均作为待编码块的编码运动矢量;若除当前目标预测单元以外的各其他的目标预测单元中,存在有与待编码块当前的编码运动矢量不同的中间运动矢量,则将该不同的中间运动矢量也作为待编码块的编码运动矢量。
其中,计算机设备可以根据目标预测单元的虚拟运动矢量列表中的中间运动矢量,确定待编码块的编码运动矢量,在确定待编码块的编码运动矢量时,为了防止各虚拟运动矢量列表中的中间运动矢量出现重复的情况,计算机设备可以先从各目标预测单元中选取任意一个作为当前目标预测单元,并将当前目标预测单元的中间运动矢量均作为待编码块的编码运动矢量,然后针对其他的目标预测单元,将其存在有与待编码块当前的编码运动矢量不同的中间运动矢量也作为待编码块的编码运动矢量。
上述实施例中,计算机设备在确定待编码块的编码运动矢量时,为了防止各虚拟运动矢量列表中的中间运动矢量出现重复的情况,进行了去重处理,去除掉了重复的中间运动矢量,可以便于后续减少计算量。
在一个实施例中,编码运动矢量携带预测单元标识,其中,预测单元标识可以为用于表征编码运动矢量是否在相应的目标预测单元有效的标识,例如,可以设置预测单元标识为1时,表示编码运动矢量在相应的目标预测单元是有效的,设置预测单元标识为0时,表示编码运动矢量在相应的目标预测单元是无效的,当然,预测单元标识的设定可以为任意标识符,只要可以区分出编码运动矢量在相应的运动矢量是否有效即可。其中,计算各编码运动矢量的预测编码代价值,包括:针对任意一个编码运动矢量,均采用以下步骤进行预测编码代价值的计算:若根据编码运动矢量携带的预测单元标识,确定编码运动矢量存在于至少一个目标预测单元的虚拟运动矢量列表中,则获取相应目标预测单元的属性信息;根据属性信息和预先确定的各参考代价值,确定编码运动矢量对应的预测编码代价值。
其中,属性信息可以是目标预测单元的尺寸信息、目标预测单元在待编码块的位置信息等,参考代价值可以是计算机设备根据待编码块的尺寸等预先计算得到的代价值。
具体的,计算机设备可以依次处理每一个编码运动矢量,若针对某一个编码运动矢量携带的预测单元标识,确定该编码运动矢量存在目标预测单元1和目标预测单元2的虚拟运动矢量列表中(即目标预测单元1的标识为1、目标预测单元2的标识为1),则可以获取目标预测单元1和目标预测单元2的属性信息,根据目标预测单元1、目标预测单元2的属性信息以及各参考代价值,确定编码运动矢量对应的预测编码代价值,若确定该编码运动矢量仅存在目标预测单元1的虚拟运动矢量列表中(即只有目标预测单元1的标识为1),则可以获取目标预测单元1的属性信息,根据目标预测单元1的属性信息以及各参考代价值,确定编码运动矢量对应的预测编码代价值。
上述实施例中,计算机设备在计算编码运动矢量的预测编码代价值时,由于编码运动矢量可能被多个目标预测单元共享,因此,通过预测单元标识确定出编码运动矢量实际的情况,然后再获取相应目标预测单元的属性信息;根据属性信息和预先确定的各参考代价值,可以高效得到每种预测编码代价值。
在一个实施例中,参考代价值的确定方式,包括:基于待编码块的尺寸,将待编码块和参考块分别划分成预设数量个子待编码块和子参考块,子待编码块和子参考块的数量和尺寸相同;将对应相同位置的子待编码块和子参考块构成一组待处理块;将各待处理块的像素值分别代入预先构建的代价计算表达式,得到与各个待处理块分别对应的参考代价值。
其中,计算机设备在计算参考代价值时,可以结合待编码块的尺寸,将待编码块和参考块分别进行划分,得到预设数量个子待编码块和子参考块,然后将对应相同位置的子待编码块和子参考块构成一组待处理块,根据各待处理块的像素值以及预先构建的代价计算表达式,得到与各个待处理块分别对应的参考代价值,其中,子待编码块和子参考块的数量和尺寸相同。
在一个实施例中,待编码块的尺寸的大小为4Nx4N,如图4所示,当前块为待编码块,参考块可以是计算机设备从参考帧中找到的,具体的,计算机设备可以从参考帧中找到和当前块位置相同且大小相同的块A,然后从相邻块中选取任意一个候选运动矢量记为(x0,y0),根据x0、y0的值对块A进行一个偏移,得到偏移之后的块B,块B即为参考块。在确定出参考块之后,计算机设备可以将当前块和参考块划分成16个NxN大小的块,得到子待编码块(C00…C33)以及子参考块(R00…R33),对应相同位置的子待编码块和子参考块可以构成一组待处理块(如C00和R00、C33和R33),然后结合如下代价计算表达式,可以得到参考代价值:
其中,m和n可以表示图3中的子待编码块和子参考块,如m=0、n=0,则可以表示C00和R00,SubSADmn表示计算得到的参考代价值,Cmn(x,y)可以表示表示子待编码块Cmn中坐标为(x,y)的像素值,Rmn(x,y)可以表示子参考块Rmn中坐标为(x,y)的像素值。
上述实施例中,计算机设备通过各待处理块的像素值以及预先构建的代价计算表达式,可以高效的得到与各个待处理块分别对应的参考代价值。
在其中一个实施例中,目标预测单元的属性信息包括目标预测单元的尺寸信息和位置信息;根据属性信息和预先确定的各参考代价值,确定编码运动矢量对应的预测编码代价值,包括:基于目标预测单元的尺寸信息和位置信息,从各参考代价值中选取目标参考代价值进行求和处理,将得到的和确定为编码运动矢量对应的预测编码代价值。
其中,计算机设备在确定各目标预测单元的尺寸信息和位置信息之后,则可以从各参考代价值中选取目标参考代价值进行求和处理,例如,针对其中一个目标预测单元,如果该目标预测单元的大小为4Nx4N,则基于尺寸大小为4Nx4N待编码块计算得到的参考代价值均被选定为目标参考代价值,将目标参考代价值的和确定为编码运动矢量对应的预测编码代价值,又如,如果该目标预测单元的大小为Nx4N,且该目标预测单元位于待编码块的右边,则基于尺寸大小为4Nx4N待编码块计算得到的参考代价值只有部分被选定为目标参考代价值。
上述实施例中,计算机设备在实际计算编码运动矢量对应的预测编码代价值时,是结合待编码块的尺寸信息和位置信息展开的,可以提升预测编码代价值的确定精度。
在其中一个实施例中,目标预测单元包括未划分预测单元和已划分预测单元;编码运动矢量携带预测单元标识,如图5所示,根据预测编码代价值,从各目标预测单元中确定出优选预测单元,包括以下步骤:
步骤S502,将存在于未划分预测单元中的编码运动矢量的预测编码代价值,与预设的未划分预测单元的未划分代价阈值进行比较,确定出未划分预测单元的第一最小编码代价值。
其中,计算机设备可以根据编码运动矢量携带的预测单元标识,确定编码运动矢量存在于哪些相应的目标预测单元中,目标预测单元可以包括未划分预测单元和已划分预测单元,其中,针对未划分预测单元,可以只有一个编码运动矢量存在于未划分预测单元的情况,也可以存在有多个编码运动矢量存在于未划分预测单元的情况。
其中,若只存在一个编码运动矢量,则将该编码运动矢量的预测编码代价值与预先设定的未划分代价阈值进行比较,将两者中较小的作为未划分预测单元的第一最小编码代价值。
其中,若存在多个编码运动矢量,则计算机设备可以先任意选择一个编码运动矢量对应的预测编码代价值与未划分代价阈值进行比较,若该编码运动矢量对应的预测编码代价值大于未划分代价阈值,则计算机设备可以重新选取新的编码运动矢量对应的预测编码代价值与未划分代价阈值进行比较,在比较过程中,当存在有预测编码代价值小于未划分代价阈值时,则将小于未划分代价阈值的预测编码代价值作为新的未划分代价阈值,将后续的预测编码代价值与新的未划分代价阈值进行比较,直至所有的编码运动矢量对应的预测编码代价值均比较完成,选取代价值最小的作为第一最小编码代价值。
步骤S504,将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出已划分预测单元的第二最小编码代价值。
其中,针对已划分预测单元,可以只有一个编码运动矢量存在于已划分预测单元的情况,也可以存在有多个编码运动矢量存在于已划分预测单元的情况。
其中,若已划分预测单元只存在一个编码运动矢量,则将该编码运动矢量的预测编码代价值与预先设定的已划分代价阈值进行比较,将两者中较小的作为已划分预测单元的第二最小编码代价值。
其中,若已划分预测单元存在多个编码运动矢量,则计算机设备可以先任意选择一个编码运动矢量对应的预测编码代价值与已划分代价阈值进行比较,若该编码运动矢量对应的预测编码代价值小于未划分代价阈值,则计算机设备可以将小于已划分代价阈值的预测编码代价值作为新的已划分代价阈值,并重新选取新的编码运动矢量对应的预测编码代价值与新的已划分代价阈值进行比较,在比较过程中,当预测编码代价值大于已划分代价阈值时,则已划分代价阈值保持不变,直至所有的编码运动矢量对应的预测编码代价值均比较完成,选取代价值最小的作为第二最小编码代价值。
步骤S506,将第一最小编码代价值和第二最小编码代价值中数值较小的代价值所对应的目标预测单元,确定为优选预测单元。
其中,计算机设备在确定出各目标预测单元分别对应的最小代价值之后,即未划分预测单元对应的第一最小编码代价值,已划分预测单元对应的第二最小编码代价值,还会将第一最小编码代价值和第二最小编码代价值进行比较,两者中数值最小的预测单元即为优选预测单元。
上述实施例中,计算机设备在确定出优选预测单元时,分别针对未划分预测单元和已划分预测单元设定对应的代价阈值,从而基于代价阈值以及预测编码代价值,可以高效准确的确定出未划分预测单元对应的第一最小编码代价值,已划分预测单元对应的第二最小编码代价值。
在其中一个实施例中,所述已划分预测单元包括第一已划分预测单元和第二已划分预测单元,其中,已划分预测单元可以由两部分组成,即第一已划分预测单元和第二已划分预测单元。将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出已划分预测单元的第二最小编码代价值,包括:将存在于第一已划分预测单元中的编码运动矢量的预测编码代价值,与预设的第一已划分预测单元的第一已划分代价阈值进行比较,确定第一子编码代价值;将存在于第二已划分预测单元中的编码运动矢量的预存编码代价值,与预设的第二已划分预测单元的第二已划分代价阈值进行比较,确定第二子编码代价值;根据第一子编码代价值和第二子编码代价值的和,确定出已划分预测单元的第二最小编码代价值。
其中,已划分预测单元是由第一已划分预测单元和第二已划分预测单元组成的,因此,计算机设备可以根据编码运动矢量携带的预测单元标识,确定编码运动矢量是存在于第一已划分预测单元中,还是存在于第二已划分预测单元,其中,针对第一已划分预测单元和第二已划分预测单元,可以只有一个编码运动矢量存在的情况,也可以有多个编码运动矢量存在的情况。
具体的,针对第一已划分预测单元可以对应设置有第一已划分代价阈值,针对第二已划分预测单元,可以对应设置有第二已划分代价阈值,第二最小编码代价值是根据第一已划分预测单元对应的第一子编码代价值,与第二已划分预测单元对应的第二子编码代价值的和确定的,计算机设备针对第一已划分预测单元确定第一子编码代价值的方式、针对第二已划分预测单元确定第二子编码代价值的方式可以参考上述确定未划分预测单元的第一最小编码代价值的方式,在此不做阐述。
上述实施例中,计算机设备针对已划分预测单元的实际情况,分别对已划分预测单元的第一已划分预测单元和第二已划分预测单元展开计算,确定出第一已划分预测单元对应的第一子编码代价值,第二已划分预测单元对应的第二子编码代价值,最后将两者的和,确定为第二最小编码代价值,可以提升运算精度。
在其中一个实施例中,根据预测编码代价值,从各目标预测单元中确定出优选预测单元之后,基于优选预测单元对待编码块进行编码处理之前,还包括:确定各非预测编码代价值中的最小非预测编码代价值;将优选预测单元对应的最小编码代价值与最小非预测编码代价值进行比较,若最小编码代价值小于非预测编码代价值,则基于优选预测单元对待编码块进行编码处理;若最小编码代价值大于非预测编码代价值,则退出预测编码模式,基于非预测编码模式对待编码块进行编码处理。
其中,计算机设备在确定待编码块的目标预测单元时,同时可以计算得到目标预测单元的非预测编码代价值,计算机设备会将优选预测单元对应的最小编码代价值与最小非预测编码代价值进行比较,从而进一步确定预测编码模式和非预测编码模哪个更适合展开对待编码块的编码处理,具体的,若最小编码代价值小于非预测编码代价值,则基于优选预测单元对待编码块进行编码处理;若最小编码代价值大于非预测编码代价值,则退出预测编码模式。
上述实施例中,计算机设备针对不同编码模式的代价值进行比较,从而确定出最终对待编码块进行编码的模式,有效的保证了编码效率。
在一个实施例中,如图6所示,为一个实施例中数据编码处理方法的流程示意图:
其中,图6中涉及到的是计算机设备如何构建虚拟运动矢量列表的流程示意图。
首先,计算机设备可以按照标准规定的方式构建Real Merge List(真实运动矢量列表),Real Merge List的初始运动矢量的个数为N,进一步的,计算机设备可以从头到尾遍历Real Merge List中的Merge MV(初始运动矢量),如果当前遍历到的第i个Merge MV满足如下2个条件,则计算机设备可以将该Merge MV插入到Fake Merge List(虚拟运动矢量列表)的末尾位置j,具体的,2个条件可以为:Fake Merge List中已存在的Merge MV数量小于3;当前遍历到的Merge MV与Fake Merge List中已存在的任何一个Merge MV的值都不相等。
在一个实施例中,如图7所示,为一个实施例中数据编码处理方法的流程示意图:
其中,图7涉及到的是计算机设备确定待编码块的虚拟运动矢量列表的流程示意图,待编码块的虚拟运动矢量列表中存储的运动矢量即为编码运动矢量。其中,待编码块的虚拟运动矢量列表可以是由目标预测单元的虚拟运动矢量列表确定的,例如,本实施例中涉及到目标预测单元PU0、PU1以及PU2,即计算机设备为PU0构建的Fake Merge List,记为FML0,并设置其size(大小,可以指FML0中Merge MV的个数)为M0;为PU1构建的Fake MergeList,记为FML1,并设置其size为M1;为PU2构建的Fake Merge List,记为FML2,并设置其size为M2。
进一步的,计算机设备可以将PU0、PU1以及PU2中任意一个的所有Merge MV插入到待编码块的虚拟运动矢量列表,例如,本实施例中将FML0的所有Merge MV插入到待编码块的虚拟运动矢量列表中,针对FML1、FML2中的Merge MV,插入到待编码块的虚拟运动矢量列表中,流程如下:第一步:假设FMLj的size为Mj,(j=1,2);第二步:遍历FMLj,如果FMLj[m].MV(0<=m<Mj)(即当遍历到该Merge MV时,待编码块的虚拟运动矢量的数量大于等于0,小于目标预测单元的虚拟运动矢量的数量),则确定该Merge MV是否存在于待编码块的虚拟运动矢量列表(CUFML)中,如果是,则不需要将该Merge MV再插入CUFML中,直接执行第三步;如果不是,则需要将该Merge MV再插入待编码块的虚拟运动矢量列表(CUFML)中,即将FMLj[m].MV插入CUFML的末尾后,执行第三步;第三步:假设FMLj[m].MV在CUFML中的位置为i,则令:CUFML[i].Hit[j]=1(表示CUFML中的第i个MV存在于PUj的Fake Merge List中);CUFML[i].MergeIndex[j]=FMLj[m].MergeIndex(将PUj的Fake Merge List中的地址信息赋给CUFML中属于PUj的第i个MV的地址信息)。
在一个实施例中,如图8所示,为一个实施例中数据编码处理方法的流程示意图:
其中,图8涉及到的是计算机设备确定出各目标预测单元的最小编码代价值的流程示意图:其中,N可以是CUFML的size,计算机设备可以针对PU0、PU1以及PU2,分别获取最优Merge MV,记为BestMergeMVj(最优运动矢量),及其对应的最小SAD(代价值),记为MergeMinSADj(最小代价阈值),(0<=j<3),具体过程如下:
计算机设备可以将MergeMinSADj初始化为MaxSAD(预设代价阈值);如果计算机设备确定CUFM[i].Hit[j]=1(即CUFML中的第i个MV存在于PUj的Fake Merge List中),则比较SAD[i][j](预测编码代价值)与MergeMinSADj的大小(0<=i<N,0<=j<3)。若SAD[i][j]小于MergeMinSADj,则将SAD[i][j]更新为MergeMinSADj的值,并重新选取CUFML中的第i+1个MV与更新后的MergeMinSADj展开比较,若SAD[i][j]大于MergeMinSADj,则直接重新选取CUFML中的第i+1个MV与当前的MergeMinSADj展开比较,在比较结束后,MergeMinSADj的值即为PUj的最小SAD值(即最小编码代价值),对应的CUFM[i].MV即为PUj的最优Merge MV。
具体的,针对PU0,其可以为No Split Mode(未划分预测单元),其最小SAD记为Merge_MinSAD_NoSplit(即未划分最小编码代价值);Merge_MinSAD_NoSplit=MergeMinSAD0(未划分最小编码代价值=最小代价阈值0);针对PU1、PU2,为Split Mode(已划分预测单元),其最小SAD记为Merge_MinSAD_Split(即已划分最小编码代价值);Merge_MinSAD_Split=MergeMinSAD1+MergeMinSAD2(已划分最小编码代价值=最小代价阈值1+最小代价阈值2)。
最后,计算机设备会比较Merge_MinSAD_NoSplit与Merge_MinSAD_Split分别对应的最小编码代价值,将二者中较小的SAD作为Merge Mode的最小SAD,记为Merge_MinSAD;
具体的,如果Merge_MinSAD_NoSplit<Merge_MinSAD_Split,则最优的Merge Mode为No Split Mode(未划分预测模式),最优的Merge MV为BestMergeMV0(最优运动矢量0);Merge_MinSAD=Merge_MinSAD_NoSplit;
否则,则最优的Merge Mode为Split Mode(已划分预测模式),最优的Merge MV为BestMergeMV1(最优运动矢量1)、BestMergeMV2(最优运动矢量2);Merge_MinSAD=Merge_MinSAD_Split。
在一个实施例中,为了对数据编码处理方法的完整流程进行说明,以下为一个实施例中数据编码处理方法的完整步骤:
其中,计算机机设备在进行编码时,可以分成如下三个阶段:阶段一:做完整数像素运动估计后决定CU的划分;阶段二:循环所有的CU,每个CU做完分数像素运动估计后,决定CU最优的PU划分方式,可以记录如下2种Mode:No Split Mode,记为ModeA,对应的PU记为PU0;最优的有Split Mode,记为ModeB,对应的2个PU分别记为PU1、PU2,如果ModeA的代价比ModeB小,那么该阶段的最优PU划分为ModeA;如果ModeA的代价比ModeB大,那么该阶段的最优PU划分为ModeB;阶段三:对每个CU进行Merge Test,用来决定是否选择Merge Mode。
因此,计算机设备可以对PU0、PU1、PU2这3种PU进行Merge Test,也就意味着PU最多只有3种,相比原来的13种大大减少。在阶段三对PU0、PU1、PU2进行Merge Test后,再综合比较PU0、PU1、PU2的Merge代价和非Merge代价,来最终决定PU的划分与否,会更加精确。
针对阶段3,首先,计算机设备可以按照标准规定的方式构建PU0、PU1、PU2的RealMerge List(真实运动矢量列表),Real Merge List的初始运动矢量的个数为N,进一步的,计算机设备可以从头到尾遍历Real Merge List中的Merge MV(初始运动矢量),如果当前遍历到的第i个Merge MV满足如下2个条件,则计算机设备可以将该Merge MV插入到FakeMerge List(虚拟运动矢量列表)的末尾位置j,具体的,2个条件可以为:Fake Merge List中已存在的Merge MV数量小于3;当前遍历到的Merge MV与Fake Merge List中已存在的任何一个Merge MV的值都不相等。其中,计算机设备为PU0构建的Fake Merge List,记为FML0,并设置其size(大小,可以指FML0中Merge MV的个数)为M0;为PU1构建的Fake MergeList,记为FML1,并设置其size为M1;为PU2构建的Fake Merge List,记为FML2,并设置其size为M2。
其次,计算机设备可以根据为PU0、PU1、PU2构建的Real Merge List(真实运动矢量列表,将PU0、PU1以及PU2中任意一个的所有Merge MV插入到待编码块的虚拟运动矢量列表,例如,本实施例中将FML0的所有Merge MV插入到待编码块的虚拟运动矢量列表中,针对FML1、FML2中的Merge MV,插入到待编码块的虚拟运动矢量列表中,流程如下:第一步:假设FMLj的size为Mj,(j=1,2);第二步:遍历FMLj,如果FMLj[m].MV(0<=m<Mj)(即当遍历到该Merge MV时,待编码块的虚拟运动矢量的数量大于等于0,小于目标预测单元的虚拟运动矢量的数量),则确定该Merge MV是否存在于待编码块的虚拟运动矢量列表(CUFML)中,如果是,则不需要将该Merge MV再插入CUFML中,直接执行第三步;如果不是,则需要将该MergeMV再插入待编码块的虚拟运动矢量列表(CUFML)中,即将FMLj[m].MV插入CUFML的末尾后,执行第三步;第三步:假设FMLj[m].MV在CUFML中的位置为i,则令:CUFML[i].Hit[j]=1(表示CUFML中的第i个MV存在于PUj的Fake Merge List中);CUFML[i].MergeIndex[j]=FMLj[m].MergeIndex(将PUj的Fake Merge List中的地址信息赋给CUFML中属于PUj的第i个MV的地址信息)。
最后,计算机设备可以针对PU0、PU1以及PU2,分别获取最优Merge MV,记为BestMergeMVj(最优运动矢量),及其对应的最小SAD(代价值),记为MergeMinSADj(最小代价阈值),(0<=j<3),具体过程如下:
计算机设备可以将MergeMinSADj初始化为MaxSAD(预设代价阈值);如果计算机设备确定CUFM[i].Hit[j]=1(即CUFML中的第i个MV存在于PUj的Fake Merge List中),则比较SAD[i][j](预测编码代价值)与MergeMinSADj的大小(0<=i<N,0<=j<3)。若SAD[i][j]小于MergeMinSADj,则将SAD[i][j]更新为MergeMinSADj的值,并重新选取CUFML中的第i+1个MV与更新后的MergeMinSADj展开比较,若SAD[i][j]大于MergeMinSADj,则直接重新选取CUFML中的第i+1个MV与当前的MergeMinSADj展开比较,在比较结束后,MergeMinSADj的值即为PUj的最小SAD值(即最小编码代价值),对应的CUFM[i].MV即为PUj的最优Merge MV。
具体的,针对PU0,其可以为No Split Mode(未划分预测单元),其最小SAD记为Merge_MinSAD_NoSplit(即未划分最小编码代价值);Merge_MinSAD_NoSplit=MergeMinSAD0(未划分最小编码代价值=最小代价阈值0);针对PU1、PU2,为Split Mode(已划分预测单元),其最小SAD记为Merge_MinSAD_Split(即已划分最小编码代价值);Merge_MinSAD_Split=MergeMinSAD1+MergeMinSAD2(已划分最小编码代价值=最小代价阈值1+最小代价阈值2)。
最后,计算机设备会比较Merge_MinSAD_NoSplit与Merge_MinSAD_Split分别对应的最小编码代价值,将二者中较小的SAD作为Merge Mode的最小SAD,记为Merge_MinSAD;
具体的,如果Merge_MinSAD_NoSplit<Merge_MinSAD_Split,则最优的Merge Mode为No Split Mode(未划分预测模式),最优的Merge MV为BestMergeMV0(最优运动矢量0);Merge_MinSAD=Merge_MinSAD_NoSplit;
否则,则最优的Merge Mode为Split Mode(已划分预测模式),最优的Merge MV为BestMergeMV1(最优运动矢量1)、BestMergeMV2(最优运动矢量2);Merge_MinSAD=Merge_MinSAD_Split。
进一步的,计算机设备比较Merge Mode与Non Merge Mode(非预测编码模式)的最小SAD,Non Merge Mode的最小SAD可以在FME模块中得到,记为NonMerge_MinSAD(非预测编码最小值);如果Merge_MinSAD<NonMerge_MinSAD,则最优的Mode为Merge Mode;否则,最优的Mode为非Merge Mode。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据编码处理方法的数据编码处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据编码处理装置实施例中的具体限定可以参见上文中对于数据编码处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据编码处理装置900,包括:第一预测单元确定模块902、筛选模块904、去重模块906、第二预测单元确定模块908和编码模块910,其中:
第一预测单元确定模块902,用于确定待编码块的目标预测单元,确定与各目标预测单元分别对应的初始运动矢量;初始运动矢量为待编码块的相邻块的运动矢量。
筛选模块904,用于基于各个初始运动矢量的分布位置的优先级顺序,对各目标预测单元的各初始运动矢量进行筛选,得到各目标预测单元分别对应的中间运动矢量。
去重模块906,用于对各目标预测单元的中间运动矢量进行去重处理,得到待编码块的编码运动矢量。
第二预测单元确定模块908,用于计算各编码运动矢量的预测编码代价值,并根据预测编码代价值,从各目标预测单元中确定出优选预测单元。
编码模块910,用于基于优选预测单元对待编码块进行编码处理。
在一个实施例中,第一预测单元确定模块,还用于获取与待编码块对应的未划分预测单元;从多种预设划分方式中确定出目标划分方式,并按照目标划分方式对待编码块进行划分,得到已划分预测单元;将未划分预测单元和已划分预测单元,作为目标预测单元。
在一个实施例中,每个目标预测单元的初始运动矢量存储于相应预测单元的真实运动矢量列表中,筛选模块,还用于针对任一目标预测单元,构建所针对的目标预测单元的虚拟运动矢量列表;确定初始运动矢量的分布位置的优先级顺序,按照优先级顺序遍历真实运动矢量列表中的初始运动矢量,若当前遍历的初始运动矢量满足预设保留条件,则将当前遍历的初始运动矢量存储进所针对的目标预测单元的虚拟运动矢量列表中;将各个目标预测单元的虚拟运动矢量列表中存储的初始运动矢量,作为中间运动矢量。
在一个实施例中,去重模块,还用于从各目标预测单元中选取任意一个作为当前目标预测单元,并将当前目标预测单元的中间运动矢量均作为待编码块的编码运动矢量;若除当前目标预测单元以外的各其他的目标预测单元中,存在有与待编码块当前的编码运动矢量不同的中间运动矢量,则将该不同的中间运动矢量也作为待编码块的编码运动矢量。
在一个实施例中,编码运动矢量携带预测单元标识,第二预测单元确定模块,还用于针对任意一个编码运动矢量,均采用以下步骤进行预测编码代价值的计算:若根据编码运动矢量携带的预测单元标识,确定编码运动矢量存在于至少一个目标预测单元的虚拟运动矢量列表中,则获取相应目标预测单元的属性信息;根据属性信息和预先确定的各参考代价值,确定编码运动矢量对应的预测编码代价值。
在一个实施例中,装置还包括代价值计算模块;
代价值计算模块,用于基于待编码块的尺寸,将待编码块和参考块分别划分成预设数量个子待编码块和子参考块,子待编码块和子参考块的数量和尺寸相同;将对应相同位置的子待编码块和子参考块构成一组待处理块;将各待处理块的像素值分别代入预先构建的代价计算表达式,得到与各个待处理块分别对应的参考代价值。
在一个实施例中,目标预测单元的属性信息包括目标预测单元的尺寸信息和位置信息;第二预测单元确定模块,还用于基于目标预测单元的尺寸信息和位置信息,从各参考代价值中选取目标参考代价值进行求和处理,将得到的和确定为编码运动矢量对应的预测编码代价值。
在一个实施例中,目标预测单元包括未划分预测单元和已划分预测单元;编码运动矢量携带预测单元标识第二预测单元确定模块,第二预测单元确定模块,还用于将存在于未划分预测单元中的编码运动矢量的预测编码代价值,与预设的未划分预测单元的未划分代价阈值进行比较,确定出未划分预测单元的第一最小编码代价值;将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出已划分预测单元的第二最小编码代价值;将第一最小编码代价值和第二最小编码代价值中数值较小的代价值所对应的目标预测单元,确定为优选预测单元。
在一个实施例中,已划分预测单元包括第一已划分预测单元和第二已划分预测单元;第二预测单元确定模块,还用于将存在于第一已划分预测单元中的编码运动矢量的预测编码代价值,与预设的第一已划分预测单元的第一已划分代价阈值进行比较,确定第一子编码代价值;将存在于第二已划分预测单元中的编码运动矢量的预存编码代价值,与预设的第二已划分预测单元的第二已划分代价阈值进行比较,确定第二子编码代价值;根据第一子编码代价值和第二子编码代价值的和,确定出已划分预测单元的第二最小编码代价值。
在其中一个实施例中,装置还包括比较模块;
比较模块,用于确定各非预测编码代价值中的最小非预测编码代价值;将优选预测单元对应的最小编码代价值与所述最小非预测编码代价值进行比较,若最小编码代价值小于所述非预测编码代价值,则基于优选预测单元对待编码块进行编码处理;若最小编码代价值大于非预测编码代价值,则退出预测编码模式,基于非预测编码模式对所述待编码块进行编码处理。
上述数据编码处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,终端上可以运行有本申请中所涉及到的数据编码处理系统,从而完成编码处理。其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据编码处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据编码处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据编码处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据编码处理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (12)

1.一种数据编码处理方法,其特征在于,所述方法包括:
获取与待编码块对应的未划分预测单元;从多种预设划分方式中确定出目标划分方式,并按照目标划分方式对所述待编码块进行划分,得到已划分预测单元;将所述未划分预测单元和所述已划分预测单元,作为目标预测单元,确定与各所述目标预测单元分别对应的初始运动矢量;所述初始运动矢量为所述待编码块的相邻块的运动矢量;
基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量;
对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量;
计算各所述编码运动矢量的预测编码代价值,并根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元;
基于所述优选预测单元对所述待编码块进行编码处理。
2.根据权利要求1所述的方法,其特征在于,每个目标预测单元的初始运动矢量存储于相应预测单元的真实运动矢量列表中;
所述基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量,包括:
针对任一目标预测单元,构建所针对的目标预测单元的虚拟运动矢量列表;
确定初始运动矢量的分布位置的优先级顺序,按照所述优先级顺序遍历所述真实运动矢量列表中的初始运动矢量,若当前遍历的初始运动矢量满足预设保留条件,则将当前遍历的初始运动矢量存储进所针对的目标预测单元的虚拟运动矢量列表中;
将各个目标预测单元的虚拟运动矢量列表中存储的初始运动矢量,作为中间运动矢量。
3.根据权利要求1所述的方法,其特征在于,所述对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量,包括:
从各所述目标预测单元中选取任意一个作为当前目标预测单元,并将所述当前目标预测单元的中间运动矢量均作为所述待编码块的编码运动矢量;
若除所述当前目标预测单元以外的各其他的目标预测单元中,存在有与所述待编码块当前的编码运动矢量不同的中间运动矢量,则将该不同的中间运动矢量也作为所述待编码块的编码运动矢量。
4.根据权利要求1所述的方法,其特征在于,所述编码运动矢量携带预测单元标识;所述计算各所述编码运动矢量的预测编码代价值,包括:
针对任意一个编码运动矢量,均采用以下步骤进行预测编码代价值的计算:
若根据所述编码运动矢量携带的预测单元标识,确定所述编码运动矢量存在于至少一个目标预测单元的虚拟运动矢量列表中,则获取相应目标预测单元的属性信息;
根据所述属性信息和预先确定的各参考代价值,确定所述编码运动矢量对应的预测编码代价值。
5.根据权利要求4所述的方法,其特征在于,所述参考代价值的确定方式,包括:
基于所述待编码块的尺寸,将所述待编码块和参考块分别划分成预设数量个子待编码块和子参考块,所述子待编码块和子参考块的数量和尺寸相同;
将对应相同位置的子待编码块和子参考块构成一组待处理块;
将各待处理块的像素值分别代入预先构建的代价计算表达式,得到与各个待处理块分别对应的参考代价值。
6.根据权利要求4所述的方法,其特征在于,所述目标预测单元的属性信息包括目标预测单元的尺寸信息和位置信息;所述根据所述属性信息和预先确定的各参考代价值,确定所述编码运动矢量对应的预测编码代价值,包括:
基于所述目标预测单元的尺寸信息和位置信息,从各所述参考代价值中选取目标参考代价值进行求和处理,将得到的和确定为所述编码运动矢量对应的预测编码代价值。
7.根据权利要求1所述的方法,其特征在于,所述目标预测单元包括未划分预测单元和已划分预测单元;所述编码运动矢量携带预测单元标识;
所述根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元,包括:
将存在于所述未划分预测单元中的编码运动矢量的预测编码代价值,与预设的未划分预测单元的未划分代价阈值进行比较,确定出所述未划分预测单元的第一最小编码代价值;
将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出所述已划分预测单元的第二最小编码代价值;
将所述第一最小编码代价值和所述第二最小编码代价值中数值较小的代价值所对应的目标预测单元,确定为优选预测单元。
8.根据权利要求7所述的方法,其特征在于,所述已划分预测单元包括第一已划分预测单元和第二已划分预测单元;
所述将存在于已划分预测单元中的编码运动矢量的预测编码代价值,与预设的已划分预测单元的已划分代价阈值进行比较,确定出所述已划分预测单元的第二最小编码代价值,包括:
将存在于第一已划分预测单元中的编码运动矢量的预测编码代价值,与预设的第一已划分预测单元的第一已划分代价阈值进行比较,确定第一子编码代价值;
将存在于第二已划分预测单元中的编码运动矢量的预测编码代价值,与预设的第二已划分预测单元的第二已划分代价阈值进行比较,确定第二子编码代价值;
根据所述第一子编码代价值和所述第二子编码代价值的和,确定出所述已划分预测单元的第二最小编码代价值。
9.根据权利要求1所述的方法,其特征在于,所述根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元之后,基于所述优选预测单元对所述待编码块进行编码处理之前,还包括:
确定各非预测编码代价值中的最小非预测编码代价值;
将所述优选预测单元对应的最小编码代价值与所述最小非预测编码代价值进行比较,若所述最小编码代价值小于所述最小非预测编码代价值,则基于所述优选预测单元对所述待编码块进行编码处理;
若所述最小编码代价值大于所述最小非预测编码代价值,则退出预测编码模式,基于非预测编码模式对所述待编码块进行编码处理。
10.一种数据编码处理装置,其特征在于,所述装置包括:
第一预测单元确定模块,用于获取与待编码块对应的未划分预测单元;从多种预设划分方式中确定出目标划分方式,并按照目标划分方式对所述待编码块进行划分,得到已划分预测单元;将所述未划分预测单元和所述已划分预测单元,作为目标预测单元,确定与各所述目标预测单元分别对应的初始运动矢量;所述初始运动矢量为所述待编码块的相邻块的运动矢量;
筛选模块,用于基于各个初始运动矢量的分布位置的优先级顺序,对各所述目标预测单元的各初始运动矢量进行筛选,得到各所述目标预测单元分别对应的中间运动矢量;
去重模块,用于对各所述目标预测单元的中间运动矢量进行去重处理,得到所述待编码块的编码运动矢量;
第二预测单元确定模块,用于计算各所述编码运动矢量的预测编码代价值,并根据所述预测编码代价值,从各所述目标预测单元中确定出优选预测单元;
编码模块,用于基于所述优选预测单元对所述待编码块进行编码处理。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202310159482.4A 2023-02-23 2023-02-23 数据编码处理方法、装置、计算机设备和存储介质 Active CN116156174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310159482.4A CN116156174B (zh) 2023-02-23 2023-02-23 数据编码处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310159482.4A CN116156174B (zh) 2023-02-23 2023-02-23 数据编码处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN116156174A CN116156174A (zh) 2023-05-23
CN116156174B true CN116156174B (zh) 2024-02-13

Family

ID=86354122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310159482.4A Active CN116156174B (zh) 2023-02-23 2023-02-23 数据编码处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116156174B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103416058A (zh) * 2011-03-09 2013-11-27 佳能株式会社 视频编码和解码
CN108134939A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种运动估计方法及装置
CN113301349A (zh) * 2021-07-27 2021-08-24 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质
WO2021168624A1 (zh) * 2020-02-24 2021-09-02 深圳市大疆创新科技有限公司 视频图像编码方法、设备及可移动平台
CN113709470A (zh) * 2019-03-11 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113965753A (zh) * 2021-12-20 2022-01-21 康达洲际医疗器械有限公司 一种基于码率控制的帧间图像运动估计方法与系统
WO2022104498A1 (zh) * 2020-11-17 2022-05-27 Oppo广东移动通信有限公司 帧内预测方法、编码器、解码器以及计算机存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015173404A (ja) * 2014-03-12 2015-10-01 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN113287309A (zh) * 2018-12-27 2021-08-20 Oppo广东移动通信有限公司 编码预测方法、装置及计算机存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103416058A (zh) * 2011-03-09 2013-11-27 佳能株式会社 视频编码和解码
CN108134939A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种运动估计方法及装置
CN113709470A (zh) * 2019-03-11 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2021168624A1 (zh) * 2020-02-24 2021-09-02 深圳市大疆创新科技有限公司 视频图像编码方法、设备及可移动平台
WO2022104498A1 (zh) * 2020-11-17 2022-05-27 Oppo广东移动通信有限公司 帧内预测方法、编码器、解码器以及计算机存储介质
CN113301349A (zh) * 2021-07-27 2021-08-24 杭州博雅鸿图视频技术有限公司 运动矢量选择方法、装置、电子设备及存储介质
CN113965753A (zh) * 2021-12-20 2022-01-21 康达洲际医疗器械有限公司 一种基于码率控制的帧间图像运动估计方法与系统

Also Published As

Publication number Publication date
CN116156174A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US11178419B2 (en) Picture prediction method and related apparatus
US10542276B2 (en) Data caching method and apparatus for video decoder
US9451266B2 (en) Optimal intra prediction in block-based video coding to calculate minimal activity direction based on texture gradient distribution
US10455229B2 (en) Prediction mode selection method, apparatus and device
CN109660800B (zh) 运动估计方法、装置、电子设备及计算机可读存储介质
WO2020034921A1 (zh) 运动估计的方法、装置、电子设备及计算机可读存储介质
CN109788287B (zh) 视频编码方法、装置、计算机设备和存储介质
CN111246212B (zh) 一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端
US20190246119A1 (en) Interframe predictive coding method and device
CN110662072B (zh) 运动信息候选者列表构建方法、装置及可读存储介质
WO2022022013A1 (zh) 模式选择方法、装置、计算机可读存储介质及电子设备
CN107566834B (zh) 帧内预测单元划分方法、装置及电子设备
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN116156174B (zh) 数据编码处理方法、装置、计算机设备和存储介质
CN114422779A (zh) 预测单元尺寸决策的方法、装置、电子设备及介质
CN113794883B (zh) 一种编解码方法、装置及其设备
JP2014099848A (ja) イメージ分割システム及びその方法
CN115529459B (zh) 中心点搜索方法、装置、计算机设备、存储介质
CN116527908B (zh) 运动场估计方法、装置、计算机设备和存储介质
CN106331720B (zh) 一种视频解码相关信息存储方法和装置
CN116208775B (zh) 运动估计方法、装置、计算机设备和硬件编码器
CN114666600B (zh) 基于不规则模板的数据编码方法、装置、电子设备及介质
EP4354858A1 (en) Encoding method and apparatus using inter-frame prediction, device, and readable storage medium
EP4391541A1 (en) Motion estimation method and apparatus in encoding process, device, storage medium, and program product
CN117880514A (zh) 图像感兴趣区域检测方法、视频编码方法、装置、计算机设备、存储介质和计算机程序产品

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 200135, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Granfei Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: 200135 Room 201, No. 2557, Jinke Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Gryfield Intelligent Technology Co.,Ltd.

Country or region before: China