CN104079944B - 视频编码的运动矢量列表构建方法和系统 - Google Patents

视频编码的运动矢量列表构建方法和系统 Download PDF

Info

Publication number
CN104079944B
CN104079944B CN201410307197.3A CN201410307197A CN104079944B CN 104079944 B CN104079944 B CN 104079944B CN 201410307197 A CN201410307197 A CN 201410307197A CN 104079944 B CN104079944 B CN 104079944B
Authority
CN
China
Prior art keywords
movable information
sub
block
candidate
information candidate
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
CN201410307197.3A
Other languages
English (en)
Other versions
CN104079944A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410307197.3A priority Critical patent/CN104079944B/zh
Publication of CN104079944A publication Critical patent/CN104079944A/zh
Priority to PCT/CN2015/081922 priority patent/WO2016000538A1/zh
Priority to EP15174361.4A priority patent/EP2963927A1/en
Priority to US14/788,248 priority patent/US9961360B2/en
Application granted granted Critical
Publication of CN104079944B publication Critical patent/CN104079944B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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
    • 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/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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

Abstract

本发明公开一种视频编码的运动矢量列表构建方法和系统,一种视频编码的运动矢量列表构建方法,所述方法包括:获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者;确定所述多个子块的子运动信息候选者可用性;采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表。

Description

视频编码的运动矢量列表构建方法和系统
技术领域
本申请涉及视频编码技术领域,尤其涉及一种视频编码的运动矢量列表构建方法和系统。
背景技术
随着互联网产业和数字电视水平的不断发展和普及,数字视频已经在不经意间进入我们的日常生活,并已深深融入日常各行各业中,密不可分。视频压缩是数字视频应用中必不可少的技术。视频压缩是指运用数据压缩技术将数字视频数据中的冗余信息去除,降低表示原始视频所需的数据量,以便视频数据的传输与存储。
现有的视频压缩技术中,通常需要构建当前预测块的运动矢量列表。现有的当前预测块的运动矢量列表构建方法如下。首先,分别获得当前预测块基于空间邻域块和时域对应块的运动信息候选者列表(Candidate List)。然后,获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者,选择所述多个子块的子运动信息候选者中的优选子运动信息候选者。再,在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,若不相同,则将优选子运动信息候选者插入到运动信息候选者列表中,若相同,则不插入;若该候选者无运动信息时,则需要再选择另一个候选者,并获得该候选者的运动信息和在列表中的位置信息,再该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,根据判断结果,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中。
因为,在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,根据判断结果,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中;若该候选者无运动信息,需要在所述运动信息候选者列表中再选择一个候选者进行上述操作,因此,上述构建运动矢量列表的方法的复杂度较高,且花费的时间较长。
发明内容
本申请实施例提供一种视频编码的运动矢量列表构建方法和系统,解决了现有技术中。
本申请实施例第一方面提供一种视频编码的运动矢量列表构建方法,所述方法包括:获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者;确定在所述多个子块的子运动信息候选者可用性;采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表。
在第一方面第一种可能的实现方式中,所述确定多个所述子运动信息候选者的可用性,具体包括:判断所述多个子块是否有运动信息;
确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。
结合第一方面、第一方面的第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前,或在处理深度图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
在第一方面第三种可能的实现方式中,所述确定多个所述子运动信息候选者的可用性,具体包括:判断所述多个子块是否有运动信息;
若所述多个子块均有运动信息,判断所述多个子块的运动信息是否相同;在所述多个运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
在第一方面第四种可能的实现方式中,所述确定多个所述子运动信息候选者的可用性,具体包括:判断所述多个子块是否有运动信息;若所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充;判断所述多个子块的运动信息是否相同;在所述多个运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
结合第一方面的第四种可能的实现方式,在第一方面第五种可能的实现方式中,所述对没有运动信息的子块进行运动信息填充,具体为:利用没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对所述没有运动信息的子块进行运动信息填充。
结合第一方面、第一方面的第一种到第五种任一可能的实现方式,在第一方面第六种可能的实现方式中,所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:采用所述可用的子运动信息对应的子块中处于非边缘位置的子块的运动信息候选者更新所述运动参数候选列表。
本申请实施例第二方面提供一种视频编码的运动矢量列表构建系统,所述系统包括:
获得单元,用于获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;和用于获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者;
确定单元,用于确定所述多个子块的子运动信息候选者可用性;
控制单元,用于采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表。
在第二方面第一种可能的实现方式中,所述确定单元具体用于:判断所述多个子块是否有运动信息;和确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。
结合第二方面、第二方面的第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述控制单元具体用于:在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前,或在处理深度图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
在第二方面第三种可能的实现方式中,所述确定单元具体用于:判断所述多个子块是否有运动信息;若所述多个子块均有运动信息,判断所述多个子块的运动信息是否相同;在所述多个运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;所述控制单元具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
在第二方面第四种可能的实现方式中,所述确定单元具体用于:判断所述多个子块是否有运动信息;若所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充;判断所述多个子块的运动信息是否相同;在所述多个运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;
所述控制单元具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
结合第二方面的第四种可能的实现方式,在第二方面第五种可能的实现方式中,所述确定单元具体用于利用没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对所述没有运动信息的子块进行运动信息填充。
结合第二方面、第二方面的第一种到第五种任一可能的实现方式,在第二方面第六种可能的实现方式中,采用所述可用的子运动信息对应的子块中处于非边缘位置的子块的运动信息候选者更新所述运动参数候选列表。
本申请实施例有益效果如下:
本申请通过上述视频编码的运动矢量列表构建方法和系统在获得当前预测块的运动信息候选者列表和其多个子块的子运动信息候选者后,直接在所述多个子块的子运动信息候选者中可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,而不需要去判断用于更新所述运动信息候选者列表的子运动信息与候选者列表中的某个候选者的运动信息是否相同,再去确定是否更新所述运动信息候选者列表,从而降低了构建当前预测块的运动矢量列表的复杂度,减少了花费的时间,解决了现有技术中在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中,而导致构建运动矢量列表的复杂度较高,且花费的时间较长的技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请一实施例提供的一种视频编码的运动矢量列表构建方法的流程图;
图2为图1中运动矢量列表构建方法的当前预测块的位置示意图;
图3为图2中的当前预测块划分为子块后的示意图;
图4为本申请另一实施例提供的一种视频编码的运动矢量列表构建系统的结构示意图;
图5为本申请又一实施方式视频编码设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
实施例一
如图1所示,为本申请实施例提供的一种视频编码的运动矢量列表构建方法的流程图。所述视频编码的运动矢量列表构建方法应用于数字视频编码的压缩技术中。所谓视频编码就是指通过特定的压缩技术(如MPEG-2、H.263、AVC等),将某个视频格式的文件转换成另一种视频格式文件的方式。随着多媒体技术的迅猛发展,三维视频已成为一个重要的应用领域。三维视频能够给用户提供更加真实的立体视觉体验。
具体地,本申请实施例提供的视频编码的运动矢量列表构建方法的应用于三维视频编码技术中,如HEVC(High Efficiency Video Coding)等三维编码技术中。三维编码技术是采用相邻重构像素对当前块进行帧内预测,从相邻块的运动矢量中选择预测运动矢量构建运动矢量列表进行运动补偿的帧间预测等。
在三维编码技术中,使用了编码单元(Coding Unit,CU)、预测单元(PredictionUnit,PU)和变换单元(Transform Uint,TU)3个概念描述整个编码过程。其中,CU为宏块或者子宏块,每个CU均为2Nx2N的像素块(N为2的冥次方)。每个CU是通过PU来实现预测过程,PU尺寸受限于所述的CU,可以是方块(如2Nx2N,NxN),也可以为矩形(2NxN,Nx2N)。
所述视频编码的运动矢量列表构建方法包括以下步骤:
步骤101,获得当前预测块(PU,Predition Unit)的基于空间邻域块和时域对应块的运动信息候选者列表。所述空间领域块为位置与当前预测块相邻的块,如图2所示,A0、A1、B0、B1、B2都是当前预测块的空间邻域块,其中,A0为当前预测块左下角的对角块,A1为当前预测块左下角的左侧块,B0为当前预测块右上角的对角块,B1为位于预测块右上角的上侧块,B2为当前预测块左上角的对角块。另外,所述空间邻域块均携带有具有运动信息和位置信息,即A0、A1、B0、B1、B2均携带有运动信息,以及与当前运动块之间的位置信息。所述时域对应块为TMVP(Temporal Motion Vector prediction),所述时域对应块为在当前预测块所在帧之前的某一帧时与该当前预测块对应的参考块。示例性的,所述空间邻域块和时域对应块可用性的遍历过程依次为A1->B1->B0->A0->B2->TMVP,即,基于空间邻域块和时域对应块的当前预测块的运动信息候选者列表为A1->B1->B0->A0->B2->TMVP。
步骤102,获得所述当前预测块的多个子块(Sub-PU)基于各自的视点间对应块的子运动信息候选者。在需要获得当前预测块的多个子块基于各自的视点间对应块的子运动信息候选者时,首先需要将当前预测块划分成若干等尺寸的子块,如图3所示,以将图2中的32x32当前预测块划分为16个8x8大小的子块为例进行举例说明,16个子块的序号为0-15。遍历每个子块,对每个子块根据视差矢量(DV Disparity Vector)信息找到参考视中对应块,以获得多个子块(Sub-PU)基于各自的视点间对应块的子运动信息候选者(IV-MCP,Inter-view Motion Compensated Prediction)。在其它实施方式中,也可以对64x64d的当前预测块划分,进而以获得多个子块(Sub-PU)基于各自的视点间对应块的子运动信息候选者。如将64x64d的当前预测块划分为16个16x16的子块,或者64个8x8的子块,遍历每个子块,对每个子块根据视差矢量信息找到参考视中对应块,也能够获得多个子块基于各自的视点间对应块的子运动信息候选者。
步骤103,确定所述多个子块的子运动信息候选者可用性。具体地,可以根据所述子块的运动信息确定对应子运动信息候选者的可用性。所述多个子块的子运动信息候选者的可用性结果至少包括三种,第一种是所述多个子块的子运动信息候选者都可用,第二种是所述多个子块的子运动信息候选者都不可用,第三种是所述多个子块的子运动信息候选者中部分子运动信息候选者可用。
步骤104,采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表。
具体地,所述可用的子运动信息候选者可用为一个,也可以为多个。可以选择将多个所述子运动信息候选者中处于边缘位置的子块更新所述运动信息候选者列表,也可以采用所述多个子块中处于非边缘位置的子块更新所述运行信息候选者列表。如图3所示,可选择子块0、子块1、子块2、子块3、子块4、子块7、子块8、子块11、子块12、子块13、子块14和子块15中的任一个子块的子运动信息候选者更新所述运动信息候选者列表,也可以选择子块5、子块6、子块9和子块10中的任一子块的子运动信息候选者更新所述运动信息候选者列表。优选地,采用所述多个子块中处于非边缘位置的子块更新所述运行信息候选者列表,即,选择子块5、子块6、子块9和子块10中的任一子块的子运动信息候选者更新所述运动信息候选者列表。
另外,更新方式具体至少有如下几种:
一、在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前。即,更新后的运动信息候选者列表为IV-MCP->A1->B1->B0->A0->B2->TMVP。在本实施方式中,所述纹理图像具体为彩色图像。
二、在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。即,更新后的运动信息候选者列表可以为A1->IV-MCP->B1->B0->A0->B2->TMVP,也可以为A1->B1->IV-MCP->B0->A0->B2->TMVP等。在本实施方式中,所述深度图像具体为灰度图像,每个像素灰度值代表深度信息。
三、将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。即,更新后的运动信息候选者列表为IV-MCP->B1->B0->A0->B2->TMVP。
另外,若多个子运动块的子运动信息候选者都不可用时,则不需要更新所述运动信息候选者列表。
上述视频编码的运动矢量列表构建方法是在获得当前预测块的运动信息候选者列表和其多个子块的子运动信息候选者后,直接在所述多个子块的子运动信息候选者中可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,而不需要去判断用于更新所述运动信息候选者列表的子运动信息与候选者列表中的某个候选者的运动信息是否相同,再去确定是否更新所述运动信息候选者列表,从而降低了构建当前预测块的运动矢量列表的复杂度,减少了花费的时间,解决了现有技术中在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中,而导致构建运动矢量列表的复杂度较高,且花费的时间较长的技术问题。
在具体实施过程中,确定所述多个子块的子运动信息候选者可用性的,具体为:判断所述多个子块是否有运动信息,根据所述多个子块有无运动信息确定所述多个子运动信息候选者是否可用,具体确定方式如下:
第一、在所述多个子块均无运动信息,则直接确定所述多个运动补偿预测量不可用,不需要更新所述运动信息候选者列表。
第二、在所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充,再判断所述多个子块的运动信息是否相同;在全部子块的运动信息相同时,则确定所述子运动信息候选者不可用。当全部子块的运动信息不相同时,则可确定所述子运动信息候选者可用,在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,因此,可以当作不可用来处理,从而有助于进一步降低最终运动信息候选者列表中包含相同候选者的可能性,有助于提高编码压缩性能。
具体地,在对没有运动信息的子块进行运动信息填充时,可以采用该没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对该没有运动信息的子块进行运动信息填充。具体地,所述子块的时域对应块为该子块所在帧的前一帧对应的子块,所述子块的空间邻域子块为该子块在空间位置上相邻的子块。
第三、在所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充,再判断所述多个子块的运动信息是否相同。该方式中,对没有运动信息的子块进行运动信息填充的方式与第二中对没有运动信息的子块进行运动信息填充的方式相同。
当全部子块的运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者。此时,所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
当全部子块的运动信息不相同时,则也可确定所述子运动信息候选者可用,在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
因为,在全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,尤其是与第一个候选者,因此,还可以利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者。因为,子运动信息候选者是一种视间预测得到的运动信息候选者(基于不同view的运动相关性预测得到),比运动信息候选者列表中的候选者(基于当前view的空域相邻块和时域对应块的运动相关性预测得到的)有着更高的预测精度,因此,利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者的方式,既避免了与运动信息候选者列表中的第一个候选者相同的可能性,同时又可以利用预测精度更高的子运动信息候选者,从而有助于提高编码压缩性能。
第四,在所述多个子块均有运动信息时,直接判断所述多个子块的运动信息是否相同。当全部子块的运动信息相同时,则确定多个所述子运动信息候选者均不可用。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,因此,可以当作不可用来处理,从而有助于进一步降低最终运动信息候选者列表中包含相同候选者的可能性,有助于提高编码压缩性能。
当全部子块的运动信息不相同时,则可确定所述子运动信息候选者可用,在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
第五、在所述多个子块均有运动信息时,直接判断所述多个子块的运动信息是否相同。
在所述多个运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者。此时,所述采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,尤其是与第一个候选者,因此,还可以利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者。因为,子运动信息候选者是一种视间预测得到的运动信息候选者(基于不同view的运动相关性预测得到),比运动信息候选者列表中的候选者(基于当前view的空域相邻块和时域对应块的运动相关性预测得到的)有着更高的预测精度,因此,利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者的方式,既避免了与运动信息候选者列表中的第一个候选者相同的可能性,同时又可以利用预测精度更高的子运动信息候选者,从而有助于提高编码压缩性能。
当全部子块的运动信息不相同时,则也可确定所述子运动信息候选者可用,在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
第六、在所述多个子块全部有运动信息或者部分有运动信息时,确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。也就是说,在所述多个子块中一个子块有运动信息时,直接确定该子块对应的子运动信息候选者为可用的子运动信息候选者;在所述多个子块中全部或者部分子块有运动信息时,则不管该运动信息是否相同,均可直接将该等有运动信息的子块对应的子运动信息候选者者确定为可用的运动信息候选者。
此时,在处理纹理图像时,将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
具体地,可以根据所述子块的编码方式判断所述子块是否需有运动信息,如所述子块为帧内编码时,则判断所述子块无运动信息;如所述子块为帧间编码时,则判断所述子块有运动信息。
进一步地,在利用有运动信息的子块的运动信息对没有运动信息的子块进行运动信息填充后,或在所述多个子块均有运动信息,且所述多个子块的运动信息相同时,所述采用多个所述子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。即,直接将所述子运动信息候选者(IV-MCP)替换掉运动信息候选者列表中的A1,即,更新后的运动信息候选者列表为IV-MCP->B1->B0->A0->B2->TMVP。
实施例二
基于同样的发明构思,本申请还提供一种视频编码的运动矢量列表构建系统200。运动矢量列表构建系统200用于执行视频编码技术,所谓视频编码就是指通过特定的压缩技术(如MPEG-2、H.263、AVC等),将某个视频格式的文件转换成另一种视频格式文件的方式。随着多媒体技术的迅猛发展,三维视频已成为一个重要的应用领域。三维视频能够给用户提供更加真实的立体视觉体验。
具体地,本申请的运动矢量列表构建系统200用于执行三维视频编码技术如HEVC(High Efficiency Video Coding)等三维编码技术中。三维编码技术是采用相邻重构像素对当前块进行帧内预测,从相邻块的运动矢量中选择预测运动矢量构建运动矢量列表进行运动补偿的帧间预测等。
在三维编码技术中,使用了编码单元(Coding Unit,CU)、预测单元(PredictionUnit,PU)和变换单元(Transform Uint,TU)3个概念描述整个编码过程。其中,CU为宏块或者子宏块,每个CU均为2Nx2N的像素块(N为2的冥次方)。每个CU是通过PU来实现预测过程,PU尺寸受限于所述的CU,可以是方块(如2Nx2N,NxN),也可以为矩形(2NxN,Nx2N)。
如图4所示,为所述视频编码的运动矢量列表构建系统200的结构示意图。所述视频编码的运动矢量列表构建系统200包括获得单元210、控制单元220和确定单元230。
所述获得单元210用于获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;和用于获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者。
所述空间领域块为位置与当前预测块相邻的块,如图2所示,A0、A1、B0、B1、B2都是当前预测块的空间邻域块,其中,A0为当前预测块左下角的对角块,A1为当前预测块左下角的左侧块,B0为当前预测块右上角的对角块,B1为位于预测块右上角的上侧块,B2为当前预测块左上角的对角块。另外,所述空间邻域块均携带有具有运动信息和位置信息,即A0、A1、B0、B1、B2均携带有运动信息,以及与当前运动块之间的位置信息。所述时域对应块为TMVP(Temporal Motion Vector prediction),所述时域对应块为在当前预测块之前的某一时刻与该当前预测块对应的参考块。示例性的,所述空间邻域块和时域对应块可用性的遍历过程依次为A1->B1->B0->A0->B2->TMVP,即,基于空间邻域块和时域对应块的当前预测块的运动信息候选者列表为A1->B1->B0->A0->B2->TMVP。
在所述获得单元210需要获得当前预测块的多个子块基于各自的视点间对应块的子运动信息候选者时,首先需要将当前预测块划分成若干等尺寸的子块,如图3所示,以将图2中的32x32当前预测块划分为16个8x8大小的子块为例进行举例说明,16个子块的序号为0-15。遍历每个子块,对每个子块根据视差矢量(DV Disparity Vector)信息找到参考视中对应块,以获得多个子块(Sub-PU)基于各自的视点间对应块的子运动信息候选者(IV-MCP,Inter-view Motion Compensated Prediction)。在其它实施方式中,也可以对64x64d的当前预测块划分,进而以获得多个子块(Sub-PU)基于各自的视点间对应块的子运动信息候选者。如将64x64d的当前预测块划分为16个16x16的子块,或者64个8x8的子块,遍历每个子块,对每个子块根据视差矢量信息找到参考视中对应块,也能够获得多个子块基于各自的视点间对应块的子运动信息候选者。
所述确定单元230用于确定所述多个子块的子运动信息候选者可用性。具体地,可以根据所述子块的运动信息确定对应子运动信息候选者的可用性。所述多个子块的子运动信息候选者的可用性结果至少包括三种,第一种是所述多个子块的子运动信息候选者都可用,第二种是所述多个子块的子运动信息候选者都不可用,第三种是所述多个子块的子运动信息候选者中部分子运动信息候选者可用。
所述控制单元220用于采用可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表。
具体地,所述可用的子运动信息候选者可用为一个,也可以为多个。可以选择将多个所述子运动信息候选者中处于边缘位置的子块更新所述运动信息候选者列表,也可以采用所述多个子块中处于非边缘位置的子块更新所述运行信息候选者列表。如图3所示,可选择子块0、子块1、子块2、子块3、子块4、子块7、子块8、子块11、子块12、子块13、子块14和子块15中的任一个子块的子运动信息候选者更新所述运动信息候选者列表,也可以选择子块5、子块6、子块9和子块10中的任一子块的子运动信息候选者更新所述运动信息候选者列表。优选地,采用所述多个子块中处于非边缘位置的子块更新所述运行信息候选者列表,即,选择子块5、子块6、子块9和子块10中的任一子块的子运动信息候选者更新所述运动信息候选者列表。
另外,所述控制单元220更新方式具体至少有如下几种:
一、在处理纹理图像时,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前。即,更新后的运动信息候选者列表为IV-MCP->A1->B1->B0->A0->B2->TMVP。在本实施方式中,所述纹理图像具体为彩色图像。
二、在处理深度图像,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。即,更新后的运动信息候选者列表可以为A1->IV-MCP->B1->B0->A0->B2->TMVP,也可以为A1->B1->IV-MCP->B0->A0->B2->TMVP等。在本实施方式中,所述深度图像具体为灰度图像,每个像素灰度值代表深度信息。
三、所述控制单元220用于将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。即,更新后的运动信息候选者列表为IV-MCP->B1->B0->A0->B2->TMVP。
另外,若多个子运动块的子运动信息候选者都不可用时,则不需要更新所述运动信息候选者列表。
上述视频编码的运动矢量列表构建系统是在获得单元210获得当前预测块的运动信息候选者列表和其多个子块的子运动信息候选者后,直接通过所述控制单元220将所述多个子块的子运动信息候选者中可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,而不需要去判断用于更新所述运动信息候选者列表的子运动信息与候选者列表中的某个候选者的运动信息是否相同,再去确定是否更新所述运动信息候选者列表,从而降低了构建当前预测块的运动矢量列表的复杂度,减少了花费的时间,解决了现有技术中在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中,而导致构建运动矢量列表的复杂度较高,且花费的时间较长的技术问题。
在具体实施过程中,所述确定单元230具体用于:判断所述多个子块是否有运动信息,根据所述多个子块有无运动信息确定所述多个子运动信息候选者是否可用,具体确定方式如下:
第一、所述确定单元230在所述多个子块均无运动信息,则直接确定所述多个运动补偿预测量不可用,不需要更新所述运动信息候选者列表。
第二、在所述多个子块中部分子块无运动信息时,则所述控制单元220对没有运动信息的子块进行运动信息填充后,所述确定单元230再判断所述多个子块的运动信息是否相同。在全部子块的运动信息相同时,则所述确定单元230用于确定所述子运动信息候选者不可用。当全部子块的运动信息不相同时,则所述确定单元230用于可确定所述子运动信息候选者可用,在处理纹理图像时,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,因此,可以当作不可用来处理,从而有助于进一步降低最终运动信息候选者列表中包含相同候选者的可能性,有助于提高编码压缩性能。
具体地,在需要控制单元220对没有运动信息的子块进行运动信息填充时,该没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对该没有运动信息的子块进行运动信息填充。具体地,所述子块的时域对应块为该子块所在帧的前一帧对应的子块,所述子块的空间邻域子块为该子块在空间位置上相邻的子块。
第三、在所述多个子块中部分子块无运动信息,则控制单元220用于对没有运动信息的子块进行运动信息填充,再判断所述多个子块的运动信息是否相同。该方式中,对没有运动信息的子块进行运动信息填充的方式与第三中对没有运动信息的子块进行运动信息填充的方式相同。
当全部子块的运动信息相同时,则所述确定单元230用于确定多个所述子运动信息候选者为所述可用的子运动信息候选者。此时,所述控制单元220具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
当全部子块的运动信息不相同时,则所述确定单元230用于也可确定所述子运动信息候选者可用,此时,在处理纹理图像时,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,尤其是与第一个候选者,因此,还可以利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者。因为,子运动信息候选者是一种视间预测得到的运动信息候选者(基于不同view的运动相关性预测得到),比运动信息候选者列表中的候选者(基于当前view的空域相邻块和时域对应块的运动相关性预测得到的)有着更高的预测精度,因此,利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者的方式,既避免了与运动信息候选者列表中的第一个候选者相同的可能性,同时又可以利用预测精度更高的子运动信息候选者,从而有助于提高编码压缩性能。
第四,在所述多个子块均有运动信息时,直接判断所述多个子块的运动信息是否相同,当全部子块的运动信息相同时,则确定多个所述子运动信息候选者均不可用。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,因此,可以当作不可用来处理,从而有助于进一步降低最终运动信息候选者列表中包含相同候选者的可能性,有助于提高编码压缩性能。
当全部子块的运动信息不相同时,则所述确定单元230可确定所述子运动信息候选者可用,此时,在处理纹理图像时,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,所述控制单元220用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
第五、在所述多个子块均有运动信息时,直接判断所述多个子块的运动信息是否相同。在所述多个运动信息相同时,则所述确定单元230确定多个所述子运动信息候选者为所述可用的子运动信息候选者。此时,所述控制单元220具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
因为,当全部子块的运动信息相同时,所述子块的子运动信息候选者的运动信息事实上已经从子块等级退化为预测块等级,此时,子运动信息候选者与运动信息候选者列表中的候选者相同的可能性会比较高,尤其是与第一个候选者,因此,还可以利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者。因为,子运动信息候选者是一种视间预测得到的运动信息候选者(基于不同view的运动相关性预测得到),比运动信息候选者列表中的候选者(基于当前view的空域相邻块和时域对应块的运动相关性预测得到的)有着更高的预测精度,因此,利用子运动信息候选者直接替换掉运动信息候选者列表中的第一个候选者的方式,既避免了与运动信息候选者列表中的第一个候选者相同的可能性,同时又可以利用预测精度更高的子运动信息候选者,从而有助于提高编码压缩性能。
当全部子块的运动信息不相同时,则所述确定单元230也可确定所述子运动信息候选者可用,此时,在处理纹理图像时,所述控制单元220具体用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,所述控制单元220具体用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
第六、在所述多个子块全部有运动信息或者部分有运动信息时,则所述确定单元230确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。也就是说,在所述多个子块中一个子块有运动信息时,直接确定该子块对应的子运动信息候选者为可用的子运动信息候选者;在所述多个子块中全部或者部分子块有运动信息时,则不管该运动信息是否相同,均可直接将该等有运动信息的子块对应的子运动信息候选者者确定为可用的运动信息候选者。
此时,在处理纹理图像时,所述控制单元220具体用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前;在处理深度图像,所述控制单元220具体用于将所述子运动运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
具体地,可以根据所述子块的编码方式判断所述子块是否需有运动信息,如所述子块为帧内编码时,则判断所述子块无运动信息;如所述子块为帧间编码时,则判断所述子块有运动信息。
进一步地,在控制单元220利用有运动信息的子块的运动信息对没有运动信息的子块进行运动信息填充后,或在所述多个子块均有运动信息,且所述多个子块的运动信息相同时,所述控制单元220采用多个所述子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,具体为:控制单元220将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。即,直接将所述子运动信息候选者(IV-MCP)替换掉运动信息候选者列表中的A1,即,更新后的运动信息候选者列表为IV-MCP->B1->B0->A0->B2->TMVP。
上述所述运动矢量列表构建系统200能够执行实施例一的方法中所有的步骤。
上述视频编码的运动矢量列表构建系统是在获得单元210获得当前预测块的运动信息候选者列表和其多个子块的子运动信息候选者后,直接通过所述控制单元220将所述多个子块的子运动信息候选者中可用的子运动信息候选者中的一个子运动信息候选者更新所述运动信息候选者列表,而不需要去判断用于更新所述运动信息候选者列表的子运动信息与候选者列表中的某个候选者的运动信息是否相同,再去确定是否更新所述运动信息候选者列表,从而降低了构建当前预测块的运动矢量列表的复杂度,减少了花费的时间,解决了现有技术中在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中,而导致构建运动矢量列表的复杂度较高,且花费的时间较长的技术问题。
实施例三
如图5所示,基于同一发明构思以及上述各实施例,本发明实施例提供一种视频编码设备,该设备包括连接到总线730的处理器710及存储器720。以及用于与其他设备相连的物理接口(这里未示出)。
通过对处理器710进行设计编程,将前述所示的方法所对应的代码固化到存储器720内,从而使处理器710在运行时能够执行存储器720中存储的指令,实现前述实施例中的所示的方法。如何对处理器710进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
上述视频编码设备是在获得当前预测块的运动信息候选者列表和其多个子块的子运动信息候选者后,直接在所述多个子块的子运动信息候选者的可用时,采用多个所述子运动信息候选者中可用的子运动信息候选者更新所述运动信息候选者列表,而不需要去判断用于更新所述运动信息候选者列表的子运动信息与候选者列表中的某个候选者的运动信息是否相同,再去确定是否更新所述运动信息候选者列表,从而降低了构建当前预测块的运动矢量列表的复杂度,减少了花费的时间,解决了现有技术中在构建运动矢量列表过程中,需要在所述运动信息候选者列表中选择一个候选者并获得该候选者的运动信息和在列表中的位置信息,在该候选者有运动信息时,判断该候选者的运动信息是否与所述优选子运动信息候选者的运动信息相同,再决定是否将所述优选子运动信息候选者插入到运动信息候选者列表中,而导致构建运动矢量列表的复杂度较高,且花费的时间较长的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (14)

1.一种视频编码的运动矢量列表构建方法,其特征在于,所述方法包括:
获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;
获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者;
确定所述多个子块的子运动信息候选者可用性;
采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中。
2.如权利要求1所述的方法,其特征在于,所述确定所述多个子块的子运动信息候选者可用性,具体包括:
判断所述多个子块是否有运动信息;
确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。
3.如权利要求1或2所述的方法,其特征在于,所述采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中,具体为:
在处理纹理图像时,将所述子运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前,或
在处理深度图像时,将所述子运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
4.如权利要求1所述的方法,其特征在于,所述确定多个所述子运动信息候选者可用性,具体包括:
判断所述多个子块是否有运动信息;
若所述多个子块均有运动信息,判断所述多个子块的运动信息是否相同;
在所述多个子块的运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;
所述采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中,具体为:
将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
5.如权利要求1所述的方法,其特征在于,所述确定多个所述子运动信息候选者可用性,具体包括:
判断所述多个子块是否有运动信息;
若所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充;
判断所述多个子块的运动信息是否相同;
在所述多个子块的运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;
所述采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中,具体为:
将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
6.如权利要求5所述的方法,其特征在于,所述对没有运动信息的子块进行运动信息填充,具体为:
利用没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对所述没有运动信息的子块进行运动信息填充。
7.如权利要求1-2、4-6中任一权利要求所述的方法,其特征在于,所述采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中,具体为:
采用所述可用的子运动信息对应的子块中处于非边缘位置的子块的运动信息候选者更新所述运动信息候选列表。
8.一种视频编码的运动矢量列表构建系统,其特征在于,所述系统包括:
获得单元,用于获得当前预测块的基于空间邻域块和时域对应块的运动信息候选者列表;和用于获得所述当前预测块的多个子块的基于各自的视点间对应块的子运动信息候选者;
确定单元,用于确定所述多个子块的子运动信息候选者可用性;
控制单元,用于采用可用的子运动信息候选者中的一个子运动信息候选者直接插入到所述运动信息候选者列表中。
9.如权利要求8所述的系统,其特征在于,所述确定单元具体用于:判断所述多个子块是否有运动信息;和确定有运动信息的子块对应的子运动信息候选者为所述可用的子运动信息候选者。
10.如权利要求8或9所述的系统,其特征在于,所述控制单元具体用于:在处理纹理图像时,将所述子运动信息候选者插入到所述运动信息候选者列表中的第一个候选者之前,或在处理深度图像时,将所述子运动信息候选者插入到所述运动信息候选者列表中除所述第一个候选者之前之外的位置。
11.如权利要求8所述的系统,其特征在于,所述确定单元具体用于:判断所述多个子块是否有运动信息;若所述多个子块均有运动信息,判断所述多个子块的运动信息是否相同;在所述多个子块的运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;
所述控制单元具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
12.如权利要求8所述的系统,其特征在于,所述确定单元具体用于:判断所述多个子块是否有运动信息;若所述多个子块中部分子块无运动信息,则对没有运动信息的子块进行运动信息填充;判断所述多个子块的运动信息是否相同;在所述多个子块的运动信息相同时,则确定多个所述子运动信息候选者为所述可用的子运动信息候选者;
所述控制单元具体用于:将多个所述子运动信息候选者中的一个子运动信息候选者替换所述运动信息候选者列表的第一个候选者。
13.如权利要求12所述的系统,其特征在于,所述确定单元具体用于利用没有运动信息的子块的时域对应子块或者空间邻域子块的运动信息对所述没有运动信息的子块进行运动信息填充。
14.如权利要求8-9、11-13中任一权利要求所述的系统,其特征在于,采用所述可用的子运动信息对应的子块中处于非边缘位置的子块的运动信息候选者更新所述运动信息候选列表。
CN201410307197.3A 2014-06-30 2014-06-30 视频编码的运动矢量列表构建方法和系统 Active CN104079944B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410307197.3A CN104079944B (zh) 2014-06-30 2014-06-30 视频编码的运动矢量列表构建方法和系统
PCT/CN2015/081922 WO2016000538A1 (zh) 2014-06-30 2015-06-19 视频编码的运动矢量列表构建方法和系统
EP15174361.4A EP2963927A1 (en) 2014-06-30 2015-06-29 Motion vector list constructing method and system for video coding
US14/788,248 US9961360B2 (en) 2014-06-30 2015-06-30 Motion vector list constructing method and system for video coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410307197.3A CN104079944B (zh) 2014-06-30 2014-06-30 视频编码的运动矢量列表构建方法和系统

Publications (2)

Publication Number Publication Date
CN104079944A CN104079944A (zh) 2014-10-01
CN104079944B true CN104079944B (zh) 2017-12-01

Family

ID=51600952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410307197.3A Active CN104079944B (zh) 2014-06-30 2014-06-30 视频编码的运动矢量列表构建方法和系统

Country Status (4)

Country Link
US (1) US9961360B2 (zh)
EP (1) EP2963927A1 (zh)
CN (1) CN104079944B (zh)
WO (1) WO2016000538A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101706309B1 (ko) * 2013-04-10 2017-02-14 에이치에프아이 이노베이션 인크. 3차원 비디오 코딩을 위한 뷰간 후보자 유도 방법 및 장치
CN104079944B (zh) 2014-06-30 2017-12-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
CN108616758B (zh) * 2016-12-15 2023-09-29 北京三星通信技术研究有限公司 多视点视频编码、解码方法及编码器、解码器
US20180310017A1 (en) * 2017-04-21 2018-10-25 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding
CN110662070B (zh) 2018-06-29 2022-03-18 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
CN110662043B (zh) 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
CN115988203A (zh) 2018-06-29 2023-04-18 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
TWI723444B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
GB2589241B (en) 2018-07-02 2023-06-07 Beijing Bytedance Network Tech Co Ltd Update of look-up tables
US10743016B2 (en) * 2018-07-06 2020-08-11 Mediatek Inc. Inherited motion information for decoding a current coding unit in a video coding system
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN110876058B (zh) * 2018-08-30 2021-09-21 华为技术有限公司 一种历史候选列表更新方法与装置
WO2020047807A1 (zh) * 2018-09-05 2020-03-12 华为技术有限公司 帧间预测方法、装置以及编解码器
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020098655A1 (en) * 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Motion vector storage for inter prediction
CN111357290B (zh) 2019-01-03 2023-08-22 北京大学 视频图像处理方法与装置
CN111357288B (zh) * 2019-01-03 2021-08-31 深圳市大疆创新科技有限公司 视频图像处理方法与装置
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
WO2020169104A1 (en) 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Joint coding of palette mode usage indication
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN114175662B (zh) 2019-07-20 2023-11-24 北京字节跳动网络技术有限公司 调色板模式使用指示的条件相关编解码
CN117221536A (zh) * 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
CN113709498B (zh) * 2020-05-20 2023-06-02 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946536A (zh) * 2012-10-09 2013-02-27 华为技术有限公司 候选矢量列表构建的方法及装置
WO2013068547A2 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient multi-view coding using depth-map estimate and update
CN103747264A (zh) * 2014-01-03 2014-04-23 华为技术有限公司 预测运动矢量的方法、编码设备和解码设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049455B2 (en) * 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
CN104604232A (zh) * 2012-04-30 2015-05-06 数码士控股有限公司 用于编码多视点图像的方法及装置,以及用于解码多视点图像的方法及装置
RU2621621C2 (ru) 2012-07-18 2017-06-06 Сони Корпорейшн Способ и устройство обработки изображения
US9544566B2 (en) * 2012-12-14 2017-01-10 Qualcomm Incorporated Disparity vector derivation
US9667996B2 (en) * 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
CN104079944B (zh) * 2014-06-30 2017-12-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013068547A2 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient multi-view coding using depth-map estimate and update
CN102946536A (zh) * 2012-10-09 2013-02-27 华为技术有限公司 候选矢量列表构建的方法及装置
CN103747264A (zh) * 2014-01-03 2014-04-23 华为技术有限公司 预测运动矢量的方法、编码设备和解码设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3D-CE1: Simplification of 3D Merge list construction;Jin Young Lee等;《Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20140404;第1节;表2-3 *
CE3 related: Simplifications to sub-PU level inter-view motion prediction;Xin Zhao等;《Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20131101;全文 *

Also Published As

Publication number Publication date
US20150382011A1 (en) 2015-12-31
US9961360B2 (en) 2018-05-01
EP2963927A1 (en) 2016-01-06
WO2016000538A1 (zh) 2016-01-07
CN104079944A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
CN104079944B (zh) 视频编码的运动矢量列表构建方法和系统
CN102835109B (zh) 图像编码方法以及图像编码装置
CN103563389B (zh) 具有方向性分区的帧内预测模式译码
CN104796709B (zh) 对图像边界的编码单元进行编码和解码的方法和设备
CN104412587B (zh) 用于三维视频编码或解码系统的方法和设备
CN104025601A (zh) 编码三维图像的方法和设备以及解码方法和设备
CA2966862C (en) Method and apparatus of alternative transform for video coding
CN107615765A (zh) 视频编解码系统中在帧内块复制模式和帧间预测模式之间的资源共享的方法和装置
CN107431815A (zh) 处理视频信号的方法及其设备
CN104871538A (zh) 通过在平坦检查中使用相邻像素信息和/或将平滑功能应用于量化参数/像素值以改进视觉的质量的方法和装置
CN104768011A (zh) 图像编解码方法和相关装置
CN104837025A (zh) 使用不对称分区的公共合并候选组编码/解码视频的方法
CN103108184A (zh) 用于多视角视频编码的方法
KR20150034696A (ko) 현재 블록의 분할을 예측하여 비디오를 코딩하는 방법, 디코딩 방법 및 이에 상응하는 코딩 및 디코딩 장치 및 컴퓨터 프로그램
CN103428499A (zh) 编码单元的划分方法及使用该方法的多视点视频编码方法
CN107258084A (zh) 使用自适应扫描顺序编码/解码视频信号的方法和设备
CN102215392A (zh) 用于估计像素值的帧内预测方法或装置
CN103716629A (zh) 用于图像处理的方法、装置编码器和解码器
CN114143540A (zh) 视频编码方法及装置、视频解码方法及装置、电子设备
CN103747264B (zh) 预测运动矢量的方法、编码设备和解码设备
CN103716631A (zh) 用于图像处理的方法、装置、编码器和解码器
CN104365107B (zh) 图像解码装置、图像解码方法、接收装置、接收方法
CN103974069A (zh) 可重用的视频编码方法和编码器
CN101682755B (zh) 通过对图像进行分区来对图像编码/解码的方法和设备
CN104104947A (zh) 一种视频编码方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant