CN114554207A - 运动矢量约束范围确定方法、装置、设备和存储介质 - Google Patents

运动矢量约束范围确定方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114554207A
CN114554207A CN202210022057.6A CN202210022057A CN114554207A CN 114554207 A CN114554207 A CN 114554207A CN 202210022057 A CN202210022057 A CN 202210022057A CN 114554207 A CN114554207 A CN 114554207A
Authority
CN
China
Prior art keywords
motion vector
frame image
reference frame
coding
constraint range
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
CN202210022057.6A
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.)
Shanghai Lota Information Technology Co ltd
Original Assignee
Shanghai Lota Information 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 Shanghai Lota Information Technology Co ltd filed Critical Shanghai Lota Information Technology Co ltd
Priority to CN202210022057.6A priority Critical patent/CN114554207A/zh
Publication of CN114554207A publication Critical patent/CN114554207A/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/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/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
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders

Landscapes

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

Abstract

本发明实施例公开了一种运动矢量约束范围确定方法、装置、设备和存储介质,该方法包括:确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。本方案显著提升了视频编码的压缩效率。

Description

运动矢量约束范围确定方法、装置、设备和存储介质
技术领域
本申请实施例涉及视频处理技术领域,尤其涉及一种运动矢量约束范围确定方法、装置、设备和存储介质。
背景技术
视频数据作为当下广泛使用的多媒体数据之一,其被应用于许多场景。视频数据的处理过程中,为了提高传输和存储效率,通常会使用不同的编码方式进行视频压缩以去冗余信息。当前视频编码标准大都基于混合编码框架制定。在该框架下,视频中的每一帧首先会被划分成为固定大小的最大编码单元,每个编码单元首先使用帧间或者帧内预测技术得到预测图像。其中,预测图像与原始图像的差称为残差,该残差会经过变换量化后送入熵编码器进行编码,再通过反量化反变换,并结合预测图像进行重建,最后经过环路滤波得到重建图像。其中,重建图像在编码器中会进行编码图像缓冲,作为后续编码帧的帧间预测的参考图像。
在视频正式编码过程中,帧间预测是一种重要的压缩方法,能够有效减少视频中的时域冗余。在该预测过程中,编码器需要对当前编码单元的原始图像,在参考帧的重建图像中搜索内容接近的块,并将两者的相对位移即运动矢量进行编码压缩。由于当前帧编码单元的运动估计过程依赖于参考帧的重建图像,即需要等待参考帧的编码重建完成,而目前编码器为了充分利用现代处理器的多线程能力,提高实际编码速度,都采用了多帧并行编码的方法,即由多个处理器线程同时编码多个视频帧,如果这些同时编码的图像间存在参考关系,则会严重降低编码并行度。
为此一般编码器会采取限制运动搜索范围的方法来降低帧间依赖。即只要当参考帧的一部分编码完成,当前编码单元即可以开始在该重建完成的区域上进行运动估计和后续编码,从而提高多帧编码并行度。在实现上,一般编码器中会有参数指定编码单元的最大运动矢量值,对应了运动估计限制区域的边界相对于当前编码块在图像中位置的偏移,如分别定义为水平方向和垂直方向的运动矢量范围约束。但是采用固定运动矢量范围约束的方式,在面对不同的视频场景时存在以下问题:当视频运动程度小于该预定约束时,会损失一部分潜在的并行度;当视频运动剧烈程度大于该预定值时又会导致运动估计无法达到最优值,从而引起编码效率降低。而现有技术中采用动态运动矢量约束范围的方法中,大多为利用已经编码的信息来估计当前编码帧或者编码单元的运动程度,从而达到根据视频内容动态调整运动矢量约束范围的目的。但对于视频中运动剧烈程度发生变化,或者图像中某一个区域运动与其他区域不同时,该类算法均会失效。除此之外,其并没有考虑到编码单元的复杂度信息,也导致了编码处理过程中的并行度和压缩效率交换比偏离预期。
发明内容
本发明实施例提供了一种运动矢量约束范围确定方法、装置、设备和存储介质,解决了现有技术中运动矢量约束范围求取灵活性差,视频编码效率低的问题,提高了视频编码的压缩效率。
第一方面,本发明实施例提供了一种运动矢量约束范围确定方法,该方法包括:
确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
第二方面,本发明实施例还提供了一种运动矢量约束范围确定装置,包括:
编码信息获取模块,用于确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
矢量统计模块,用于根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
约束范围确定模块,用于根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
第三方面,本发明实施例还提供了一种运动矢量约束范围确定设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的运动矢量约束范围确定方法。
第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的运动矢量约束范围确定方法。
本发明实施例中,通过确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息,根据编码信息确定参考帧图像中每个编码块的运动矢量统计数据,其中,该运动矢量统计数据包括水平方向和垂直方向的矢量损失数据,再根据运动矢量统计数据计算得到参考帧图像的运动矢量约束范围,实现了动态的进行运动矢量约束范围的确定,解决了现有技术中运动矢量约束范围求取灵活性差,视频编码效率低的问题,提高了视频编码的压缩效率。
附图说明
图1为本发明实施例提供的一种运动矢量约束范围确定方法的流程图;
图2为本发明实施例提供的一种当前帧图像对应的参考帧图像运动矢量约束范围的示意图;
图3为本发明实施例提供的另一种运动矢量约束范围确定方法的流程图;
图4为本发明实施例提供的一种计算运动矢量约束范围的方法的流程图;
图5为本发明实施例提供的另一种运动矢量约束范围确定方法的流程图;
图6为本发明实施例提供的两种参考帧结构关系示意图;
图7为本发明实施例提供的一种运动矢量约束范围确定装置的结构框图;
图8为本发明实施例提供的一种运动矢量约束范围确定设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明实施例提供的一种运动矢量约束范围确定方法的流程图,可应用于在视频编码中,该方法可以由计算设备如服务器、智能终端、笔记本、平板电脑等来执行,具体包括如下步骤:
步骤S101、确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息。
在视频数据传输和存储过程中,为了减少视频码率提升存储和传输效率,需要对视频数据进行压缩。通过视频数据压缩以减少数据冗余(空间冗余、时间冗余、结构冗余、信息熵冗余等)和视觉冗余。在视频数据压缩过程中,可通过视频压缩编码方法实现。目前通常为基于混合编码的方法实现,如将变换编码、运动估计和运动补偿,以及熵编码三种方式相结合来进行压缩编码。通常使用变换编码来消去除图像的帧内冗余,用运动估计和运动补偿来去除图像的帧间冗余,用熵编码来进一步提高压缩的效率。
其中,运动估计和运动补偿是消除图像序列时间方向相关性的有效手段。前述的变换编码、熵编码等方法是在一帧图像的基础上,通过这些方法可以消除图像内部各像素间在空间上的相关性。除了空间上的相关性外,视频图像同样具备时间相关性。如针对背景静止画面主体运动变化较小的数字视频,每一帧画面之间的区别很小,图像画面之间的相关性很大。此时,即可通过运动估计和运动补偿的方法来实现视频编码压缩。
其中,运动估计指将输入图像分割成若干彼此不相重叠的小图像子块,然后在前一图像或者后一个图像某个搜索窗口的范围内为每一个图像块寻找一个与之最为相似的图像块,该搜寻的过程即为运动估计。通过计算最相似的图像块与该图像块之间的位置信息,可以得到对应的运动矢量。由此,在编码过程中可以将当前图像中的块与参考图像运动矢量所指向的最相似的图像块相减,得到一个残差图像块,由于残差图像块中的每个像素值很小,所以在压缩编码中可以获得更高的压缩比,该相减过程即为运动补偿。
在一个实施例中,在进行视频编码压缩处理时,为了提高当前帧图像的运动估计搜索效率,需要对其参考帧图像中运动矢量范围进行约束,以使得当前帧图像中的编码块在参考帧图像中进行搜索时效率提高。如图2所示,图2为本发明实施例提供的一种当前帧图像对应的参考帧图像运动矢量约束范围的示意图,其中,当前帧图像01中分割有多个编码块,以其中一个编码块011为例,在确定编码块011相对于参考帧图像02的运动矢量时,其在参考帧图像02对应位置的编码块021中,以一定的运动矢量约束范围进行搜索,以找到最相似的编码块,示例性的为编码块022。其中,该示例中针对编码块021其运动矢量约束范围如参考帧图像02中虚线所围成的区域,该区域可通过水平方向和垂直方向的运动矢量约束范围进行表征,即针对编码块022而言,其在水平和垂直方向上的移动搜索距离分别受到水平方向和垂直方向的运动矢量约束范围的约束,即在该约束范围内进行搜索。
在一个实施例中,对当前帧图像的所有参考帧图像进行遍历,依次确定每个参考帧图像的运动矢量约束范围,以供当前帧图像进行编码时进行运动估计。在针对每个参考帧图像确定对应的运动矢量约束范围时,首先获取该参考帧图像的编码信息,即依据该参考帧图像的编码信息来动态确定运动矢量范围。
可选的,该参考帧图像的编码信息可以是该参考帧图像的预编码信息,如在视频正式编码之前进行的预编码过程中记录的信息,示例性的可以是Lookahead预编码过程的Lookahead信息。具体的,该Lookahead预编码过程会缓冲输入视频的多个连续图像形成一个原始图像队列,在该队列上通过遍历不同帧类型和参考结构组合,计算该组合的预编码代价进行动态帧类型决策。上述决策一般以mini-GOP(Group ofPictures,一组图像)为单位进行,其中,GOP指编码过程中的一个不依赖组外其他图像,连续且可以独立进行解码的图像集合,一般以首个I帧(该帧被称为RAP帧,Random Access Picture)和后续若干个mini-GOP图像组构成;mini-GOP指一个连续的以一个P帧和若干个B帧组成的图像集合。其中,I帧为只进行帧内预测编码的图像;P帧为只进行前向帧间预测和帧内预测编码图像;B帧为可以使用双向帧间预测和帧内预测的编码图像。可选的,该参考帧图像的编码信息还可以是在多轮编码中使用的前一轮的实际编码信息。
步骤S102、根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据。
在一个实施例中,该获取的参考帧图像的编码信息记录有参考帧图像中每个编码块的运动矢量,基于各个编码块的运动矢量生成运动矢量统计数据。可选的,该运动矢量统计数据可以以直方图形式表征。
示例性的,以编码信息为Lookahead预编码信息为例,Lookahead中已经包含了较为准确的运动矢量信息,通常而言编码器在处理帧间依赖时会采用比Lookahead块更大的编码单元为单位,比如LCU块、LCU行甚至整幅图像。更大的编码单元组成的区域会覆盖多个Lookahead中划分的编码块,本方案中对对多个编码块的信息进行了综合统计以得到运动矢量统计数据。具体的,在一个实施例中采用直方图统计的方法。传统的直方图统计的是落入某个取值区间的样本数量,实际上是将所有样本视为等权重的。在视频编码中,不同复杂度的编码块对最终视频失真影响是不同的,直接使用传统直方图统计会导致同样的算法在复杂度不同的视频序列上引起不同大小的失真,故本方案中的统计数据为运动矢量损失数据,其包括水平方向和垂直方向的矢量损失数据,以实现更佳合理的准确估计。当然,在另一个实施例中也可采用传统的直方图统计的方式实现最终的运动矢量约束范围的确定,但其准确度效果相对较差。
步骤S103、根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
在一个实施例中,在确定参考帧图像的运动矢量约束范围时,基于前述确定的运动矢量统计数据确定,而非采用固定大小的运动矢量约束范围。具体的,可以是设置期望损失比例值以确定合理的期望代价损失,在对前述的运动矢量统计数据中记录的运动矢量损失进行累加,根据该累加得到的运动矢量损失与期望代价损失之间的关系确定合理的运动矢量约束范围。
由上述方案可知,通过确定当前帧图像的参考帧图像,获取参考帧图像的编码信息,该编码信息记录由参考帧图像的准确的运动矢量,基于此生成参考帧图像中每个编码块的运动矢量统计数据,再根据运动矢量统计数据计算得到参考帧图像的运动矢量约束范围,通过利用参考帧图像的编码信息来动态确定每个参考帧图像的运动矢量约束范围,在进行运动矢量约束范围的确定时,统计数据为运动矢量损失,充分考虑了编码单元的复杂度,如编码单元复杂度非常低,使用帧内编码或者较小的运动矢量约束范围相比于较大运动矢量约束范围的压缩效率损失更小,避免了编码单元复杂度很高的情况下,使用较小运动矢量约束范围限制带来较大的编码效率损失的问题,解决了运动估计中不同图像之间的依赖引起的多帧并行编码下的并行度增加的问题。同时,本方案利用参考帧图像的编码信息,该编码信息为预编码信息,其基于视频的原始图像和预测图像,并不需要进行重建,因而这些信息在当前图像开始编码前就已经确定,也避免了冷启动的问题,进一步在不改变该依赖的情况下最大化运动矢量约束范围,从而提高编码压缩效率。
图3为本发明实施例提供的另一种运动矢量约束范围确定方法的流程图,给出了一种具体的确定运动矢量统计数据的方法,如图3所示,具体包括:
步骤S201、确定当前帧图像的参考帧图像,获取所述参考帧图像的预编码信息,所述预编码信息包括所述参考帧图像中每个编码块对应的运动矢量。
步骤S202、根据所述预编码信息获取每个编码块的运动矢量,基于每个编码块的运动矢量确定当前编码块对应落入的间隔区间。
示例性的,针对一个参考帧图像而言,假定其划分为4个编码块(实际划分过程中可以是划分为8*8,或16*16的多个编码块,本实施例以4个编码块为例进行说明),分别记为编码块1、编码块2、编码块3和编码块4,在计算参考帧图像的运动矢量约束范围时,以计算确定水平矢量约束范围和垂直矢量约束范围进行说明,此处以水平矢量约束范围的确定为具体示例进行描述,垂直矢量约束范围同理。针对编码块1、编码块2、编码块3和编码块4,假定获取到的编码信息中分别记录的水平运动矢量为-10、10、100和150。其中,间隔区间示例性的为64象素区间,示例性的,间隔区间0对应[0,64),间隔区间1对应[64,128),间隔区间2对应[128,192),以此类推。
每个编码块对应的运动矢量记为hor,则基于每个编码块的运动矢量确定当前编码块对应落入的间隔区间的计算方式可以是max(0,hor)/64,将每个编码块对应的运动矢量带入该公式分别计算得到的其落入的区间结果如下表所示:
表1
编码块 1 2 3 4
水平运动矢量 -10 10 100 150
落入间隔区间 0 0 1 2
步骤S203、分别计算每个编码块的代价损失,根据每个编码块的代价损失以及落入的间隔区间计算得到每个间隔区间的运动矢量损失数据作为运动矢量统计数据。
其中,每个编码块的代价损失计算包括利用其帧内代价损失以及帧间代价损失计算得到,在一个实施例中,帧内代价损失以及帧间代价损失可以是Satd(Sum of AbsoluteTransformed Differences,绝对变换差之和)代价损失,其代表预测编码后的图像与原始图像残差经过哈达玛变换后求得的绝对值之和。
在一个实施例中,计算每个编码块的代价损失时,可利用预编码信息中已经存储记录的每个编码块的帧内代价损失以及帧间代价损失计算生成。可选的,每个编码块的代价损失的计算方式可以是:
Lossi=IntraSatd-Min(IntraSatd,InterSatdi)
其中,Lossi表示当前编码块参考第i个参考帧的损失,IntraSatd表示当前编码块在预编码阶段计算帧内预测模式的Satd代价损失;InterSatdi表示当前编码块在预编码阶段参考第i个参考帧得到的帧间预测Satd代价损失。
在一个实施例中,确定每个编码块的代价损失后,根据每个编码块的代价损失以及落入的间隔区间计算得到每个间隔区间的运动矢量损失数据作为运动矢量统计数据。可选的,运动矢量统计数据以直方图数据为例,该直方图数据可以以数组的形式表征,数组中每个元素为直方图数据中每个区间输出的落入该区间的编码块对应代价损失之和,如针对第0个间隔区间落入了两个代码块,则输出的数组元素中具体的数值为该两个代码块的代价损失之和。以表1所示为例,对应每个编码块的帧内代价损失和帧间代价损失以及计算得到的每个编码块的代价损失值如下表2所示:
表2
编码块 1 2 3 4
水平运动矢量 -10 10 100 150
落入间隔区间 0 0 1 2
帧间损失 100 200 300 400
帧内损失 150 150 250 390
代价损失 0 50 50 10
相应的,确定出的直方图数据如下表所示:
表3
间隔区间 4 3 2 1 0
约束范围 4*64 3*64 2*64 1*64 0*64
水平损失 0 0 10 50 0+50
步骤S204、根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
在一个实施例中,通过设置期望损失比例值以确定合理的期望代价损失,在对前述的运动矢量统计数据中记录的运动矢量损失进行累加,根据该累加得到的运动矢量损失与期望代价损失之间的关系确定合理的运动矢量约束范围。具体的计算过程如图4所示,图4为本发明实施例提供的一种计算运动矢量约束范围的方法的流程图,具体包括:
步骤S2041、根据所述参考帧图像的代价损失以及期望损失比例值计算得到所述参考帧图像的期望代价损失。
其中,参考帧图像的代价损失为参考帧图像中各个编码块的最优代价损失之和,该最优代价指每个编码块中帧内代价损失和帧间代价损失中的较小值,以表2所示的每个编码块的帧内代价损失和帧间代价损失计算得到的参考帧图像的代价损失为100+150+250+390=890。该期望损失比例值可以是人为设置的可适应性调整的数值,示例性的设置为5%,其中期望代价损失为参考帧图像的代价损失与期望损失比例值的乘机,其为890*5%=44.5。
步骤S2042、对间隔区间进行依次遍历,并相应计算累加损失。
在一个实施例中,对间隔区间进行依次遍历时,根据下标大小由大到小进行依次遍历并计算累加损失,相应的以表3所示数据为例,计算得到的累计损失数值如表4所示:
表4
间隔区间 4 3 2 1 0
约束范围 4*64 3*64 2*64 1*64 0*64
水平损失 0 0 10 50 0+50
累加损失 0 0 10 60 110
步骤S2043、根据所述累加损失和所述期望代价损失确定遍历终止的间隔区间,根据所述间隔区间的间隔尺度以及所述遍历终止的间隔区间的位置确定所述参考帧图像的运动矢量约束范围。
其中,在对各个间隔区间依次进行遍历时,根据累加损失与期望代价损失的比对以确定遍历终止的间隔区间。具体的,以上述表格示例性数据为例,当遍历到间隔区间2时,其累加损失为10,小于期望代价损失44.5,则继续遍历间隔区间1,其累加损失为60,大于期望代价损失44.5则停止遍历。即在进行间隔区间的遍历过程中,在累加损失大于期望代价损失时停止进行遍历。相应的,该遍历终止的间隔区间为1。
在一个实施例中,根据间隔区间的间隔尺度以及遍历终止的间隔区间的位置确定参考帧图像的运动矢量约束范围时,计算公式可以是:约束范围=间隔尺度*(终止位置+1),以上述数据为例,该参考帧图像的约束范围=64*(1+1)=128。其中,该运动矢量约束范围(本例计算的为水平运动矢量约束范围,垂直运动矢量约束范围计算方式同理)设置为128时,其中运动矢量超出该值的编码块(如上例中的编码块4,其运动矢量为150),所产生的代价损失(10)恰好不会超过期望损失值(44.5),即不超过设置的期望损失比例值(5%),当把该运动矢量约束范围继续减少时,比如减小至64,其产生的损失(10+50)即会超过期望损失。
由上述可知,通过动态确定参考帧图像的运动矢量约束范围,且该确定的过程利用参考帧图像的编码信息,该编码信息以预编码信息为例,为不需要依赖图像得到的信息,解决了运动估计中不同图像之间的依赖引起的多帧并行编码下的并行度增加的问题。同时,本方案利用参考帧图像的编码信息,其基于视频的原始图像和预测图像,并不需要进行重建,因而这些信息在当前图像开始编码前就已经确定,也避免了冷启动的问题,进一步在不改变该依赖的情况下最大化运动矢量约束范围,从而提高编码压缩效率。针对运动矢量统计数据而言,采用代价损失数据作为统计数据,避免了使用常规的直方图数据导致的没有考虑编码块复杂程度进而导致运动矢量约束范围不合理的问题。
在上述技术方案的基础上,所述获取所述参考帧图像的编码信息,包括:如果所述参考帧图像的编码信息不可用,则设置当前帧图像的运动矢量约束范围为默认范围。示例性的,该默认范围可以是64,由此针对某些参考帧编码信息不可用的情况,也能够实现运动矢量约束范围的确定,进一步完善了运动矢量约束范围的确定机制。
图5为本发明实施例提供的另一种运动矢量约束范围确定方法的流程图,对确定的运动矢量约束范围进行了进一步的更新优化,如图5所示,具体包括:
步骤S301、确定当前帧图像的第一参考帧图像,获取所述第一参考帧图像的编码信息。
步骤S302、根据所述编码信息确定所述第一参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据。
步骤S303、根据所述运动矢量统计数据计算得到所述第一参考帧图像的运动矢量约束范围。
步骤S304、确定所述第一参考帧图像参考的第二参考帧图像,如果所述第二参考帧图像也为所述当前帧图像的参考帧图像,则根据所述第一参考帧图像相对于所述当前帧图像的运动矢量约束范围以及所述第二参考帧图像相对于所述第一参考帧图像的运动矢量约束范围,对所述第二帧图像相对于所述当前帧图像的运动矢量约束范围进行更新。
在一个实施例中,利用视频编码参考帧结构关系,在不改变前述方案引起的编码并行度的情况下,进一步更新部分参考帧图像的运动矢量约束范围,从而提高视频的压缩效率。具体的,很多情况下,当前帧图像的参考帧之间也会形成互相参考的关系。如图6所示,图6为本发明实施例提供的两种参考帧结构关系示意图。在该两种参考帧结构中,当前帧图像P同时参考了第一参考帧图像R0和第二参考帧图像R1,而第一参考帧图像R0和第二参考帧图像R1之间也存在参考关系,即第二参考帧图像R1为第一参考帧图像R0的参考图像,假定通过前述方案确定的当前帧图像P中计算得到的第一参考帧图像R0的运动矢量约束范围为2,计算得到的第二参考帧图像R0的运动矢量约束范围为3,第一参考帧图像R0参考第二参考帧图像R1的运动矢量约束范围为3,此时存在当前帧图像P到第二参考帧图像R1的链路,即P->R0->R1,当前帧图像P参考第二帧图像R1的运动矢量约束范围已扩大到5,此时将原本计算得到的当前帧图像的第二参考帧图像的运动矢量范围由3更新调整为5。
调整的原因在于,当前帧图像P中任意处于位置x处的编码单元开始编码前,需要等待所有直接依赖的参考帧图像编码完成整个运动矢量搜索范围区域的编码。即对于第一参考帧图像R0来说需要等待x+2位置,对于第二参考帧图像R1来说需要等待x+3位置。但由于第一参考帧图像R0参考第二参考帧图像R1,因此此时R1已经完成了x+2+3位置的编码,将对于第二参考帧图像R1参考帧的运动矢量约束范围扩张到x+5位置不会产生额外的依赖。进一步的,如果能够遍历当前帧图像所有参考帧形成的所有直接和间接参考链可以将前述确定的当帧图像中每个参考帧图像的运动矢量约束范围值进行扩大而不影响编码并行度,同时提升了运动矢量搜索范围保证了更为精确的运动矢量搜索结果。
由上述方案可知,针对当前帧图像确定出的参考帧图像的运动矢量约束范围,进一步遍历每个参考帧图像参考的帧图像是否也为当前帧图像参考的参考帧图像,如果是则根据该链路关系中参考帧图像的运动矢量约束范围进行原有参考帧图像的运动矢量约束范围的扩大,在不影响编码并行度同时提升了运动矢量搜索范围,保证了更为精确的运动矢量搜索结果
图7为本发明实施例提供的一种运动矢量约束范围确定装置的结构框图,该装置用于执行上述实施例提供的运动矢量约束范围确定方法,具备执行方法相应的功能模块和有益效果。如7所示,该装置具体包括:编码信息获取模块101、矢量统计模块102和约束范围确定模块103,其中,
编码信息获取模块101,用于确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
矢量统计模块102,用于根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
约束范围确定模块103,用于根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
由上述方案可知,通过确定当前帧图像的参考帧图像,获取参考帧图像的编码信息,该编码信息记录由参考帧图像的准确的运动矢量,基于此生成参考帧图像中每个编码块的运动矢量统计数据,再根据运动矢量统计数据计算得到参考帧图像的运动矢量约束范围,通过利用参考帧图像的编码信息来动态确定每个参考帧图像的运动矢量约束范围,在进行运动矢量约束范围的确定时,统计数据为运动矢量损失,充分考虑了编码单元的复杂度,如编码单元复杂度非常低,使用帧内编码或者较小的运动矢量约束范围相比于较大运动矢量约束范围的压缩效率损失更小,避免了编码单元复杂度很高的情况下,使用较小运动矢量约束范围限制带来较大的编码效率损失的问题,解决了运动估计中不同图像之间的依赖引起的多帧并行编码下的并行度增加的问题。同时,本方案利用参考帧图像的编码信息,该编码信息为预编码信息,其基于视频的原始图像和预测图像,并不需要进行重建,因而这些信息在当前图像开始编码前就已经确定,也避免了冷启动的问题,进一步在不改变该依赖的情况下最大化运动矢量约束范围,从而提高编码压缩效率。。
在一个可能的实施例中,所述编码信息获取模块101具体用于:
获取所述参考帧图像的预编码信息,所述预编码信息包括所述参考帧图像中每个编码块对应的运动矢量。
在一个可能的实施例中,所述矢量统计模块102具体用于:
根据所述预编码信息获取每个编码块的运动矢量,基于每个编码块的运动矢量确定当前编码块对应落入的间隔区间;
分别计算每个编码块的代价损失,根据每个编码块的代价损失以及落入的间隔区间计算得到每个间隔区间的运动矢量损失数据。
在一个可能的实施例中,所述矢量统计模块102具体用于:
根据每个编码块的帧内代价损失以及帧间代价损失确定编码块的代价损失。
在一个可能的实施例中,所述约束范围确定模块103具体用于:
根据所述参考帧图像的代价损失以及期望损失比例值计算得到所述参考帧图像的期望代价损失;
对间隔区间进行依次遍历,并相应计算累加损失;
根据所述累加损失和所述期望代价损失确定遍历终止的间隔区间,根据所述间隔区间的间隔尺度以及所述遍历终止的间隔区间的位置确定所述参考帧图像的运动矢量约束范围。
在一个可能的实施例中,所述编码信息获取模块101具体用于:
如果所述参考帧图像的编码信息不可用,则设置当前帧图像的运动矢量约束范围为默认范围。
在一个可能的实施例中,所述编码信息获取模块101具体用于:
确定当前帧图像的第一参考帧图像;
所述约束范围确定模块103还用于:
在根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围之后,确定所述第一参考帧图像参考的第二参考帧图像,如果所述第二参考帧图像也为所述当前帧图像的参考帧图像,则根据所述第一参考帧图像相对于所述当前帧图像的运动矢量约束范围以及所述第二参考帧图像相对于所述第一参考帧图像的运动矢量约束范围,对所述第二帧图像相对于所述当前帧图像的运动矢量约束范围进行更新。
图8为本发明实施例提供的一种运动矢量约束范围确定设备的结构示意图,如图8所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图8中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图8中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的运动矢量约束范围确定方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的运动矢量约束范围确定方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的运动矢量约束范围确定方法,具体包括:
确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
值得注意的是,上述运动矢量约束范围确定装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (10)

1.运动矢量约束范围确定方法,其特征在于,包括:
确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
2.根据权利要求1所述的运动矢量约束范围确定方法,其特征在于,所述获取所述参考帧图像的编码信息,包括:
获取所述参考帧图像的预编码信息,所述预编码信息包括所述参考帧图像中每个编码块对应的运动矢量。
3.根据权利要求2所述的运动矢量约束范围确定方法,其特征在于,所述根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,包括:
根据所述预编码信息获取每个编码块的运动矢量,基于每个编码块的运动矢量确定当前编码块对应落入的间隔区间,所述间隔区间的间隔尺度大小固定,各个所述间隔区间组成连续的区间范围;
分别计算每个编码块的代价损失,根据每个编码块的代价损失以及落入的间隔区间计算得到每个间隔区间的运动矢量损失数据。
4.根据权利要求3所述的运动矢量约束范围确定方法,其特征在于,所述计算每个编码块的代价损失,包括:
根据每个编码块的帧内代价损失以及帧间代价损失确定编码块的代价损失。
5.根据权利要求3所述的运动矢量约束范围确定方法,其特征在于,所述根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围,包括:
根据所述参考帧图像的代价损失以及期望损失比例值计算得到所述参考帧图像的期望代价损失;
对间隔区间进行依次遍历,并相应计算累加损失;
根据所述累加损失和所述期望代价损失确定遍历终止的间隔区间,根据所述间隔区间的间隔尺度以及所述遍历终止的间隔区间的位置确定所述参考帧图像的运动矢量约束范围。
6.根据权利要求1所述的运动矢量约束范围确定方法,其特征在于,所述获取所述参考帧图像的编码信息,包括:
如果所述参考帧图像的编码信息不可用,则设置当前帧图像的运动矢量约束范围为默认范围。
7.根据权利要求1所述的运动矢量约束范围确定方法,其特征在于,所述确定当前帧图像的参考帧图像,包括:
确定当前帧图像的第一参考帧图像;
在根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围之后,还包括:
确定所述第一参考帧图像参考的第二参考帧图像,如果所述第二参考帧图像也为所述当前帧图像的参考帧图像,则根据所述第一参考帧图像相对于所述当前帧图像的运动矢量约束范围以及所述第二参考帧图像相对于所述第一参考帧图像的运动矢量约束范围,对所述第二帧图像相对于所述当前帧图像的运动矢量约束范围进行更新。
8.运动矢量约束范围确定装置,其特征在于,包括:
编码信息获取模块,用于确定当前帧图像的参考帧图像,获取所述参考帧图像的编码信息;
矢量统计模块,用于根据所述编码信息确定所述参考帧图像中每个编码块的运动矢量统计数据,所述运动矢量统计数据包括水平方向和垂直方向的矢量损失数据;
约束范围确定模块,用于根据所述运动矢量统计数据计算得到所述参考帧图像的运动矢量约束范围。
9.一种运动矢量约束范围确定设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的运动矢量约束范围确定方法。
10.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的运动矢量约束范围确定方法。
CN202210022057.6A 2022-01-10 2022-01-10 运动矢量约束范围确定方法、装置、设备和存储介质 Pending CN114554207A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210022057.6A CN114554207A (zh) 2022-01-10 2022-01-10 运动矢量约束范围确定方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210022057.6A CN114554207A (zh) 2022-01-10 2022-01-10 运动矢量约束范围确定方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN114554207A true CN114554207A (zh) 2022-05-27

Family

ID=81669860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210022057.6A Pending CN114554207A (zh) 2022-01-10 2022-01-10 运动矢量约束范围确定方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114554207A (zh)

Similar Documents

Publication Publication Date Title
CN101860748B (zh) 基于分布式视频编码的边信息生成***及方法
US11102501B2 (en) Motion vector field coding and decoding method, coding apparatus, and decoding apparatus
WO2021114846A1 (zh) 一种视频降噪处理方法、装置及存储介质
US20070199011A1 (en) System and method for high quality AVC encoding
JP2007503776A (ja) インター符号化に使われる参照画像数を最小化するための方法および装置
EP1653744A1 (en) Non-integer pixel sharing for video encoding
JPH08307874A (ja) 映像信号符号化装置
KR20020077884A (ko) 블록 매칭 프로세스를 사용하는 비디오 코딩 방법
KR20070003502A (ko) 에러 은닉 방법 및 장치
CN101166277B (zh) 在用于处理运动图像的设备中访问存储器的方法
JPH08265761A (ja) 映像データ後処理方法
KR20050119422A (ko) 움직임 보상에 기반한 입력 영상의 노이즈 예측 및 그장치와, 이를 사용한 노이즈 제거 및 동영상 부호화 방법,이를 수행하기 위한 프로그램이 기록된 기록 매체
JP2011229145A (ja) 符号化ユニットにおける動画符号化においてハイブリッド多仮説予測を行う方法、および関連装置
KR100541623B1 (ko) 움직임 보상을 이용한 예측 코딩 방법 및 장치
CN108810549B (zh) 一种面向低功耗的流媒体播放方法
CN110300302B (zh) 一种视频编码方法、装置和存储介质
CN115118976A (zh) 一种图像编码方法、可读介质及其电子设备
JP3426668B2 (ja) 動画像符号化方法
WO2007089916A2 (en) Dynamic reference frame decision method and system
US9300975B2 (en) Concurrent access shared buffer in a video encoder
JP2001036908A (ja) 動画像圧縮装置
CN114554207A (zh) 运动矢量约束范围确定方法、装置、设备和存储介质
US20070153909A1 (en) Apparatus for image encoding and method thereof
US8126277B2 (en) Image processing method, image processing apparatus and image pickup apparatus using the same
JP2002247584A (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