CN110169073A - 用于视频编解码的解码器侧运动向量恢复 - Google Patents
用于视频编解码的解码器侧运动向量恢复 Download PDFInfo
- Publication number
- CN110169073A CN110169073A CN201880005962.2A CN201880005962A CN110169073A CN 110169073 A CN110169073 A CN 110169073A CN 201880005962 A CN201880005962 A CN 201880005962A CN 110169073 A CN110169073 A CN 110169073A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- candidate
- motion
- video data
- refinement
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
与方法、装置以及计算机可读媒介有关的本发明所描述的技术用于决定运动向量,所述技术与编码器以及解码器两者有关。例如,解码器接收与一组帧有关的压缩的视频数据,所述解码器使用解码器侧预测子细化技术计算来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估算所述当前帧的运动。所述计算包括检索与所述当前帧有关的第一运动向量,使用所述第一运动向量执行解码进程的第一部分,检索与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量,以及使用所述第二运动向量执行所述解码进程的第二部分。
Description
相关引用
本申请要求在35U.S.C§119(e)下的于2017年1月5日递交的标题为“METHODS OFMOTION VECTOR RESTORATION FOR DECODER-SIDE PREDICTOR REFINEMENT”,号码为62/442,472的美国临时申请案以及与于 2017年3月31日递交的标题为“METHODS OF MOTIONVECTOR RESTORATION FOR DECODER-SIDE PREDICTOR REFINEMENT”,号码为 62/479,350的美国临时申请案的优先权,其整体通过引用纳入其中。
技术领域
此处所描述的技术总体上涉及视频编解码,特别地涉及解码器侧运动向量恢复。
背景技术
视频编解码涉及数字视频信号的压缩(以及解压缩),视频编解码标准的示例包括H.264视频压缩标准,以及其后继的高效视频编码(High Efficiency Video Coding,HEVC)。运动视频通过以周期时间间隔(periodic time intervals)拍摄信号的快照(snapshot)所形成,以致播放这系列快照或帧,产生运动的观感。视频编码器包括预测模块,其使用相邻视频帧之间的相似性来尝试减少冗余 (redundancy)。从通常被称为参考帧的一个或多个过去帧或未来帧创建预测帧,不用作参考帧的帧通常称为非参考帧(non-reference frame)。
因为每一帧可能包括成千上万个像素,视频编解码技术通常不会一下子处理帧的所有像素。因此,编码帧被拆分成多个块,其通常被称为宏块(macroblock)。编码器试着找到与在参考帧中编码的块相似的一块,而不是直接编码每一块的原始像素值。如果编码器找到一相似块,所述编码器可以使用运动向量对所述块进行编码,运动向量是指向参考帧中匹配块的一个二维(two-dimensional)向量。
一些技术明确地发信运动向量至解码器,这些模式的示例包括高效视频编码(HEVC)中合并模式(merge mode)以及高级运动向量预测(advanced motion vectorprediction,AMVP)模式。然而,必须发信运动向量可能会消耗大量的数据,否则这些数据可以由发射器(transimitter)使用以对其他信息进行编码。因此,解码器侧运动向量细化工具可以用于细化、预测和/或生成运动信息,以致运动信息可以被推导而不需要明确地发信。
发明内容
根据本发明所公开的主题,提供了用于解码器侧运动向量恢复技术的装置、***以及方法,其提高了所述解码器侧运动向量恢复技术的执行速度以及效率。
一些实施例与用于解码视频数据的解码方法有关,所述方法包括接收与一组帧有关的压缩的视频数据,以及使用解码器侧预测子细化技术,计算用于来自于所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动。所述计算包括检索与所述当前帧有关的第一运动向量,使用所述第一运动向量执行解码进程的第一部分,检索与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量,以及使用所述第二运动向量执行所述解码进程的第二部分。
在一些示例中,所述第一运动向量包括未细化的运动向量,所述第二运动向量包括细化的运动向量,所述细化的MV是使用解码器侧预测子细化技术进行细化,所述解码进程的所述第一部分包括解析部分、运动向量推导部分或者两者,以及所述解码进程的所述第二部分包括重构部分。
在一些示例中,所述解码方法包括检索与第二帧有关的第三运动向量,其中所述第三运动向量是细化的运动向量,使用所述第一运动向量以及所述第三运动向量执行所述解码进程的所述第一部分,以及使用所述第二运动向量以及所述第三运动向量执行所述解码进程的所述第二部分。
在一些示例中,执行所述解码进程的所述第一部分包括使用所述第一运动向量以及所述第三运动向量执行运动向量推导部分,其中所述运动向量推导部分包括运动向量预测推导、合并候选推导或者两者。
在一些示例中,执行所述解码进程的所述第一部分包括参考所述第一运动向量作为所述当前帧的解码的运动向量。
在一些示例中,所述解码方法包括使用所述第二运动向量以及所述第三运动向量去执行运动补偿、重叠块运动补偿、去块或者它们的任何组合。
在一些示例中,所述解码方法包括决定编码树单元约束没有被应用于所述压缩的视频数据,以及检索与所述当前帧有关的所述第一运动向量包括检索所述当前帧的未细化的运动向量,以及与第二帧有关的细化的运动向量。
在一些示例中,检索与所述当前帧有关的所述第一运动向量包括检索当前编码树单元行的未细化的运动向量,上方编码树单元行、其他方块或者其他切片的细化的运动向量,以及与第二帧有关的细化的运动向量。
一些实施例与用于解码视频数据的解码方法有关。所述解码方法包括接收与一组帧有关的压缩视频数据,以及使用解码器侧预测子细化工具计算用于来自于所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动。所述计算包括接收表明起始运动向量候选列表的起始候选索引的信号,决定所述起始运动向量候选列表中的第一运动向量候选以及包括小于预定的阈值的差异的第二运动向量候选,从所述起始运动向量候选列表中移除所述第二运动向量候选、不添加所述第二运动向量候选到所述起始运动向量候选列表,或者两者,以及基于所述候选列表以及所述起始候选索引计算所述新的运动向量。
在一些示例中,所述解码方法包括分析新的运动向量候选,所述新的运动向量候选包括运动向量对,基于所述分析,决定所述运动向量对是沿着一相同的运动轨迹,以及添加所述运动向量对至所述起始运动向量候选列表。
在一些示例中,所述解码方法包括分析新的运动向量候选,所述运动向量候选包括运动向量对,基于所述分析,决定所述运动向量对是不沿着相同的运动轨迹,将所述运动向量对拆分成两个新的候选运动向量对,以及将所述两个候选运动向量添加至所述起始运动向量候选列表。
在一些示例中,所述拆分包括将所述运动向量对的第一运动向量添加至所述两个新的候选运动向量对的第一个,用所述第一运动向量的镜像的运动向量填充所述两个新的候选运动向量对的所述第一个,将所述运动向量对的第二运动向量添加至所述两个新的候选运动向量对的第二个,以及用所述第二运动向量的镜像的运动向量填充所述两个新的候选运动向量对的所述第二个。
一些实施例与用于编码视频数据的编码方法有关。所述方法包括计算与一组帧有关的压缩的视频数据,包括计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括计算与所述当前帧有关的第一运动向量,使用所述第一运动向量执行编码进程的第一部分,计算与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量,以及使用所述第二运动向量执行所述编码进程的第二部分。
在一些示例中,计算所述第一运动向量包括计算未细化的运动向量、未细化的运动向量集或者两者,以及执行所述编码进程的所述第一部分包括执行语法编码部分、运动向量推导部分、运动向量预测推导部分或者它们的一些组合。
在一些示例中,执行所述运动向量预测推导部分包括生成合并候选列表、生成高级的运动向量预测候选列表或者两者。
在一些示例中,所述编码方法包括使用所述未细化的运动向量、所述未细化的运动向量集或者两者执行运动向量编码、运动向量预测生成或两者,以致不使用解码器侧运动向量细化工具对所述未细化的运动向量、所述未细化的运动向量集或者两者进行细化。
在一些示例中,计算所述第二运动向量包括计算细化的运动向量,其中使用编码器侧细化技术计算所述细化的运动向量,将所述细化的运动向量存储于运动向量缓冲器集中,以及执行所述编码进程的所述第二部分包括执行运动补偿部分、重叠块运动补偿部分、去块部分或者它们的一些组合。
一些实施例与用于解码视频数据的装置有关。所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器接收与一组帧有关的压缩的视频数据,以及使用解码器侧预测子细化技术,计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动。所述计算包括检索与所述当前帧有关的第一运动向量,使用所述第一运动向量执行解码进程的第一部分,检索与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量,以及使用所述第二运动向量执行所述解码进程的第二部分。
在一些示例中,所述第一运动向量包括未细化的运动向量,所述第二运动向量包括细化的运动向量,其中使用解码器侧预测子细化技术对所述细化的MV 进行细化,所述解码进程的所述第一部分包括解析部分、运动向量推导部分或者两者,以及所述解码进程的所述第二部分包括重构部分。
在一些示例中,所述处理器用于执行存储于所述存储器中的指令,所述指令使得所述处理器去检索与第二帧有关的第三运动向量,其中所述第三运动向量是细化的运动向量,使用所述第一运动向量以及所述第三运动向量执行所述解码进程的所述第一部分,以及使用所述第二运动向量以及所述第三运动向量执行所述解码进程的所述第二部分。
一些实施例与用于解码视频数据的装置有关。所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器去接收与一组帧有关的压缩的视频数据,以及使用解码器侧预测子细化技术,计算用于来自于所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估算所述当前帧的运动。所述计算包括接收表明用于起始运动向量候选列表的起始候选索引的信号,决定所述起始运动向量候选列表中的第一运动向量候选以及包括小于预定的阈值的差异的第二运动向量候选,从所述起始运动向量候选列表中移除所述第二运动向量候选、不添加所述第二运动向量候选到所述起始运动向量候选列表中或者两者,以及基于所述候选列表以及所述起始候选索引计算所述新的运动向量。
在一些示例中,所述处理器用于执行存储在所述存储器中的指令,其使得所述处理器去分析新的运动向量候选,所述运动向量候选包括运动向量对,基于所述分析,决定所述运动向量对是沿着相同的运动轨迹,以及将所述运动向量对添加到所述起始运动向量候选列表中。
在一些示例中,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器去分析新的运动向量候选,所述运动向量候选包括运动向量对,基于所述分析,决定所述运动向量对是不沿着相同的运动轨迹,将所述运动向量对拆分成两个新的候选运动向量对,以及将所述运动向量对添加到所述起始运动向量候选列表中。
一些实施例与用于编码视频数据的装置有关。所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器去计算与一组帧有关的压缩的视频数据,包括计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括计算与所述当前帧有关的第一运动向量,使用所述第一运动向量执行所述编码进程的第一部分,计算与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量,以及使用所述第二运动向量执行所述编码进程的第二部分。
在一些示例中,计算所述第一运动向量包括计算未细化的运动向量、未细化的运动向量集或者两者,以及执行所述编码进程的所述第一部分包括执行语法编码部分、运动向量推导部分、运动向量预测推导部分或者它们的一些组合。
在一些示例中,计算所述第二运动向量包括计算细化的运动向量,其中所述细化的运动向量是使用编码器侧细化技术计算进行细化,将所述细化的运动向量存储于运动向量缓冲器集中,以及执行所述编码的所述第二部分,包括执行运动补偿部分、重叠的块运动补偿部分、去块部分或者它们的一些组合。
因此以及相对广泛地概述了本发明,所公开的本发明主题的特征在于更好的理解下面详细的描述,从而能够更好的理解对现有技术的贡献。当然,还存在所公开主题的额外的特征,其将在下文进行描述,并将构成所附权利要求的主题,应当理解的是,这里所使用的措辞和术语只是为了描述性的目的,而不应被认为是限制性的。
附图说明
在图式中,各种图式所示出的每一完全相同或接近相同的元件由一相同的参考符号所表示。为了简洁,并不是每一元件都在每个图式中示出,这些图式不必然按比例绘制,而是将重点放在说明本文中所描述的技术以及装置的各个方面。
图1示出了示例性视频编解码配置。
图2示出了用于推导时间推导的运动向量预测(MVP)的示例技术。
图3示出了使用双向匹配(bi-lateral matching)合并模式的基于模式的运动向量推导的示例技术。
图4示出了缩放运动轨迹的示例。
图5示出了使用模板匹配(template matching)合并模式的基于模式的运动向量推导的示例技术。
图6示出了示例性解码器架构。
图7示出了当执行如图6所示的解码器架构时的解码器管线(pipeline)执行的示例。
图8示出了当执行解码器侧预测子细化工具的解码器管线执行的示例。
图9示出了使用两个参考图像的解码器侧MV细化(DMVR)进程的示例。
图10示出了使用双向预测块去搜索新的(如,更好的)匹配块的示例性两阶段搜索进程。
图11示出了用于运动补偿(MC)块边界的在子块级执行的重叠块运动补偿(overlapped block motion compensation,OBMC)。
图12A示出了OBMC方法的示例性高级概述。
图12B示出了当使用起始MV时OBMC方法的示例性高级概述。
图13示出了用于当前CTU、左边列以及上方行的MV集合的高级描述。
图14示出了根据一些实施例的在相同运动轨迹以及不在相同运动轨迹中的多个候选MV对(MV pair)的示例。
图15示出了根据一些实施例的用于使用两个MV解码视频数据的示例性解码方法。
图16A示出了根据一些实施例的,用于修剪(pruning)运动向量候选列表的示例性方法。
图16B示出了根据一些实施例的,用于生成运动向量候选列表的示例性方法。
具体实施方式
发明人已经认识并意识到各种各样的技术可以用于改善解码器侧预测子细化技术的执行,例如基于模式的运动向量推导(pattern-based motion vector derivation,PMVD)、双向光流(bi-directional optical flow,BIO)以及解码器侧运动向量细化(decoder-side motion vector refinement,DMVR)。解码器侧预测子细化工具可能因为运动向量是如何计算以及重构而导致处理延迟。与不预测MV 的传统的解码方法的执行(例如,当运动向量信息从编码器被发信)相比,可以使用这些技术来允许类似的运行时间设定。例如,可以调整解码进程以致MV可以在进程中尽早的重构,从而允许解码器以隐藏提取数据所需要的等待时间周期的方式去预提取所需要的参考像素。如这一技术的示例,未细化的MV可以恢复回MV缓冲器和/或不改变,以致未细化的MV可以由解码器侧MV细化工具所使用或者用于推导用于后续块的参考MV或MV候选(例如,合并候选列表(merge candidatelist)以及高级运动向量预测子列表)。
然而,使用这种技术(例如,恢复未细化的MV)可能会导致块伪影(blockingartifact)和/或其他编解码的低效率。例如,除了使用(恢复的)未细化的MV用于解析,解码器也可以使用未细化的MV用于去块、重叠块运动补偿(overlapped block motioncompensation,OBMC)和/或时间同位的MV推导。此处所描述的技术允许解码器使用不同的MV(例如,不同于未细化的MV)用于在解析阶段之后执行的处理,如去块、OBMV和/或时间同位的MV推导。例如,用于解析(例如,MV/MVP推导)的第一MV可以是未细化的MV,以及用于其他处理的第二 MV可以是细化的MV,其他处理包括去块、OBMC和/或时间同位的MV推导。
在一些实施例中,解码器使用两组运动向量:解码器使用一组MV用于解码进程的第一部分(例如,用于解析,包括MV推导以及像素预提取),以及使用第二组MV用于解码进程的第二部分(例如,用于重构,包括运动补偿、OBMC 和/或去块)。在一些实施例中,引入CTU行数据以允许具有细化的MV的额外处理(例如,使用上CTU行的细化的MV)。例如,第一组MV包括当前编码树单元行的未细化的运动向量、上编码树单元行(upper coding tree unitrow)的细化的运动向量以及与第二帧有关的细化的运动向量。第二组MV可以包括当前图像的细化的MV以及其他图像的细化的MV。
这些或其他技术可以允许预解析处理以使用细化的MV来避免额外的块伪影。相比于使用未细化的MV用于在解析阶段后执行的处理,这种技术可以提供更高的编解码增益。本文进一步的描述了这些或其他技术。
在下文的描述中,为了提供对本发明主题的全面理解,给出了关于本发明主题的***和方法以及***和方法可能操作于的环境的许多特定的细节。然而,所公开的主题可以没有这些特定的细节来实施,以及在本领域中所公知的某些特征将不再赘述以避免所公开主题的复杂化,这些对本领域技术人员将是显而易见的。此外,所能够理解的是,下文所提供的示例是示例性的,并且预期存在在所公开主题的范围内的其他***以及方法。
图1示出了根据一些实施例的示例性视频编解码配置100。视频源102是视频源,例如可以是数字电视、基于互联网的视频、视频通话和/或诸如此类。编码器104将视频源编码成已编码视频,编码器104可以存在于生成视频源102 的相同的装置(例如用于视频通话的手机)中,和/或存在于不同的装置中。接收装置106从编码器104接收已编码视频,接收装置104可以通过广播网络 (broadcast network)、移动网络(例如,蜂窝网络(cellularnetwork))和/或互联网接收视频作为视频产品(例如数字视频光盘或其他计算机可读媒介)。例如,接收装置106可以是计算机、手机或电视。接收装置106包括用于解码已编码视频的解码器108,接收装置106也包括用于显示已解码视频的显示器110。
如上所述,部分解码进程依赖于运动向量。在编码器(例如编码器104)不包括直接在已编码视频中的最终MV信息的示例中,解码器(例如在接收装置106 中的解码器108)可以采用接收器侧预测工具,通过叫作接收器侧预测子细化工具或解码器侧预测子细化工具。接收器侧预测子细化工具的示例是基于模式的运动向量推导(PMVD)模式,其也可以称为帧率上转换(Frame Rate Up-Conversion,FRUC)模式。例如,在联合视频开发团队(JointVideo Exploration Team,JVET)文献JVET-F1001,标题为“Algorithm Description ofJoint Exploration Test Model 6(JEM 6)”中描述了PMVD,其整体通过引用纳入其中。
解码器侧预测子细化工具的其他示例包括双向光流(BIO)以及解码器侧运动向量细化(DMVR)。例如,BIO是三星在第三次JCTVC会议以及第52次VCEG 会议中提出的,并公开于文献JCTVC-C204以及VECG-AZ05中。例如参见2010 年10月7-15日,Elena Alshina和Alexander Alshin,“Bi-Directional Optical Flow)” (JCTVC-C204)(包括两个附加的微软Excel电子表格),以及2015年6月19-26 日,E.Alshina等人,“Known Tools PerformanceInvestigation for Next Generation Video Coding”(VCEG-AZ05)(包括微软PowerPoint演示),两者的内容整体通过引用纳入本文中。BIO利用光流以及稳定运动的假设去实现样本级(sample-level) 的运动细化。其代表性地仅应用于真正双向预测块,双向预测块从两个参考帧中预测得到,以及其中一个是先前帧以及另一个是后续帧。在VECG-AZ05中, BIO利用5×5窗口去推导一个样本的运动细化,所以对于一个N×N块,需要一个(N+4)×(N+4)块的运动补偿结果以及对应的梯度(gradient)信息来推导当前块的基于样本的运动细化。使用一个6抽头梯度滤波器以及一个6抽头插值滤波器去生成BIO中的梯度信息。因此,BIO的计算复杂度要远高于传统的双向预测的计算复杂度。对于额外的信息,参见D.Marpe,H.Schwarz以及T.Wiegand:“Context-Based Adaptive Binary Arithmetic Coding inthe H.264/AVC Video Compression Standard,IEEE Transactions on Circuits andSystems for Video Technology”,Vol.13,No.7pp.620-636,2003年7月,其整体通过引用纳入其中。
PMVD它本身可以使用不同的模式来执行,如双向匹配合并模式或模板匹配合并模式。典型地,解码器所使用的模式在已编码视频中被发信。因此编码器发信到解码器去使用PMVD模式,以及也发信哪一特定的PMVD模式。在一些示例中,当merge_flag或者skip_flag为真的时候,发信FRUC_mrg_flag。如果FRUC_mrg_flag是1,那么发信FRUC_merge_mode去指示是否选择双向匹配合并模式(例如,结合图2-4进一步描述)或者模板匹配合并模式(例如,结合图5 进一步描述)。
总之,两个PMVD模式使用已解码像素来推导用于当前块的运动向量。通过扫描所有参考帧中的所有MV推导新的时间运动向量预测(MVP),称为时间推导的MVP。图像通常指若干帧(例如,一个图像包括16个帧),这些参考帧被放入一个或两个参考图像列表中。对于P切片(slice),仅使用一个参考图像列表,对于B切片,使用两个参考列表。通常,对于B切片,两个参考图像列表用于存储过去和未来的图像,其用于过去图像的通常称为LST_0以及用于未来图像的称为LIST_1。
为了推导LIST_0时间推导的MVP,对于LIST_0参考帧中的每一LIST_0 MV,MV被缩放来指向当前帧。当前帧中由缩放的MV所指向的块是目标当前块。MV被进一步缩放来指向List_0中的refidx等于0的参考图像,所述参考图像用于所述目标当前块,进一步缩放的MV存储于用于所述目标当前块的 LIST_0 MV字段(field)中。图2示出了推导时间推导的MVP的示例200,解码器扫描refIdx等于1的LIST_0参考图像中所有LIST_0 MV,对于LIST_0 MV(由箭头202、204所示),为每一LIST_0 MV推导指向当前图像的缩放的MV(由参考图像201的虚线箭头206以及208所示)。由每一缩放的MV指向所述当前图像205中的4×4块210、212,然后,另一缩放的MV 214、216被分配给分别指向当前图像中的4×4块210、212,其中缩放的MV214、216沿着相关的缩放的MV 202、204,但起点在当前图像205中以及终点在LIST_0中refIdx等于 0的参考图像218中。解码器扫描所有参考图像中所有4×4块中的所有MV来生成当前帧的时间推导的LIST_0以及LIST_1 MVP。对于每一MV,MV被缩放来获得当前图像中的交叉块(crossed block)。解码器然后计算缩放的MVP并将其分配给交叉块(如由虚线箭头206、208所指示的块所示)。
图3示出了PMVD双向匹配合并模式的示例。对于双向匹配,解码器找到在LIST_0以及LIST_1中在相同轨迹(trajectory)上的两个最相似的参考块。如图3所示,对于当前图像(或“cur pic”)300,解码器从LIST_0中的参考帧Ref0 304 中选择一个宏块(或“块”)302以及在LIST_1中的参考帧Ref1 308中选择第二块306。解码器基本上假定运动是恒定的,并且使用两个宏块的中间点去生成运动轨迹310。解码器使用运动轨迹310去找到当前图像300中的当前预测宏块(或“块”)312。解码器计算块302与块306之间的差异。如果仅有很小的差异,那么解码器知道块是非常相似的。在一些示例中,解码器可以计算绝对距离的和(absolute distance)(或“SAD”)来计算两个块之间的差异。解码器改变运动轨迹来最小化块之间的差异。
解码器分别构建LIST_0以及LIST_1中的起始运动向量(MV)列表,解码器使用列表的11个候选,包括合并候选的7个MV以及4个时间推导的MV预测 (或MVP)。解码器评估这11个候选来选择所述最佳起始点。特别地,解码器搜索穿过两个相邻帧的MV对(pair)。当考虑每一列表的候选时,解码器分析22 个运动向量来推导22个运动向量对(motion vectorpairs),解码器通过扫描运动轨迹生成MV对。对于一个列表中的每一MV,通过组合这一MV以及镜像的 MV生成MV对,镜像的MV由缩放所述MV到另一个列表来推导。对于每一 MV对,使用这一MV对补偿两个参考块。图4示出了缩放运动轨迹的示例400。特别地,从当前图像到LIST_0中ref1的运动轨迹402被缩放为从当前图像到 LIST_1中ref0示出的运动轨迹404。解码器计算每一22个运动向量对的成本(例如使用SAD)以及选择具有最小成本的MV对作为双向匹配合并模式的起始点。
解码器接着细化所选择的MV对,解码器搜索起始点周围的不同的块来决定哪一块是最佳匹配。在一些示例中,当前PU被拆分成多个子PU。子PU的深度在序列参数集(sequence parameter set,SPS)中被发信(例如,3)。在一些示例中,最小子PU尺寸是4×4。对于每一子PU,LIST_0以及LIST_1中的多个起始MV被选择,其包括PU级推导的MV的多个MV、0 MV、当前子PU以及右下块的HEVC同位的TMVP、当前子PU的时间推导的MVP以及左边以及上方PU/子PU的MV。通过在PU级搜索中使用类似的机制,选择用于子PU的最佳MV对。在一些示例中,解码器使用菱形搜索算法(Diamond Search algorithm) 来搜索不同的块,然后使用最终的MV对作为PU级以及子PU级最佳的MV对。
总之,在一些示例中,双向匹配合并模式首先使用MV列表,计算候选MV 对来获得起始MV对,以及然后细化所述MV对来决定最终的最佳MV对。
对于模板匹配合并模式,假定解码器去解码当前块,所述解码器可以使用模板来使用相邻块以找到最佳匹配。因此解码器可以使用相邻块以来找到最佳匹配,然后使用最佳匹配运动向量。图5示出了模板匹配合并模式的的示例技术。参考图5,模板502包括来自当前块504的上方4行以及来自所述当前块 504的左边4列重构的像素来执行用于当前图像508的Ref 0 506中的匹配。因此,不像双向匹配合并模式,模板匹配合并模式不使用两个参考帧,它仅使用一个参考帧。
类似于双向匹配合并模式,两阶段匹配也应用于模板匹配。在PU级的匹配中,分别在LIST_0以及LIST_1中选择11个起始MV。这些MV包来自于合并候选的7个MV以及来自于时间推导的MVP中的4个MV。生成用于两个列表的两个不同的起始MV集合。对于一个列表中的每一MV,计算具有MV的模板的SAD成本。具有最小成本的MV是最佳MV。然后,执行菱形搜索来细化 MV,细化精度是1/8像素,细化搜索范围被限制于±8像素内。最终的MV是 PU级推导的MV,独立地生成LIST_0以及LIST_1中的MV。
对于第二阶段,子PU级搜索,当前PU被拆分成多个子PU,子PU的深度在SPS中发信(例如3),最小子PU尺寸是4×4块。对于在左边或上方PU边界的每一子PU,选择LIST_0以及LIST_1中的多个起始MV,其包括PU级推导的MV的多个MV、0 MV、当前子PU以及右下块的HEVC同位TMVP、当前子PU的时间推导的MVP以及左边以及上方PU/子PU的MV。通过使用PU 级搜索中类似的机制,选择所述用于子PU的最佳MV对,执行菱形搜索来细化所述MV对,执行用于这一子PU的运动补偿去生成用于这一子PU的预测子,对于不在左边或上方PU边界的这些PU,不应用第二阶段,也就是子PU级搜索,并且对应的MV被设置为等于第一阶段中的MV。
当发信双向预测MV对的时候(例如,对于合并模式,当选择双向预测合并候选的时候),为了更好的编解码效率,可以执行解码器侧MV细化(DMVR)进程来细化多个LIST_0以及LIST_1 MV。在JVET-D0029,标题为“Decoder-Side Motion Vector Refinement Based onBilateral Template Matching”中,HiSilicon提出了一种DMVR进程的示例,其整体通过引用纳入其中。图9示出了根据一些实施例,使用参考图像0 902以及参考图像1 904的DMVR进程900。在DMVR 进程900中,通过使用来自于MV0 908的参考块906以及MV1 912的参考块910的双向预测生成双向预测块(双向预测模板)。双向预测块用作为新的当前块 Cur’(在原始当前块914的位置)来执行运动估计以分别搜索参考图像0 902以及参考图像1 904中的较好匹配块。细化的MV(MV0’以及MV1’,未在图9中示出)用于生成用于当前块的最终的双向预测的预测块。
在一些实施例中,DMVR使用两阶段的搜索来细化当前块的多个MV来生成MV0’以及MV1’。图10示出了根据一些实施例的,使用双向预测块搜索新的匹配块(例如,更好的)的示例性两阶段搜索进程1000。如图10所示,对于参考图像0中的当前块,在正方形块1002(也称为L0_pred)首先计算当前MV候选的成本。例如,块1002的成本可以计算为(Cur’-L0_pred)的绝对差和(SAD)来计算初始成本。在搜索的第一阶段中,围绕着块1002执行整数像素正方形搜索。如这一示例中所示,评估了8个候选(图10中的8个大圆圈1004A-1004H,共同称为1004)。两个相邻圆圈(例如,1004A以及1004B)之间的距离,以及在正方形块1002与邻近圆圈(例如,1004B)之间的距离是1像素。可以使用8抽头滤波器生成用于每一块1004的8个候选块,以及可以使用SAD评估每一候选的成本。8个候选1004中具有最佳成本(例如,如果使用SAD,最低成本)的候选被选择为第一阶段中的最佳MV候选,如这一示例中的1004H所示。在第二阶段中,围绕来自于第一阶段的所述最佳MV候选(这一示例中,1004H)执行1/2像素的正方形搜索,如8个小圆圈1006A-1006H(共同地称为1/2像素1006)所示。也可以使用8抽头滤波器生成用于每一1/2像素1006的候选块,并且可以使用 SAD确定成本。具有最佳成本(例如,最低成本)的MV候选被选为最终的MV,其用于最终的运动补偿。对参考块1 904重复所述进程以确定用于参考图像1的最终MV,使用细化的MV重新生成最终双向预测块。
图6示出了根据一些实施例的示例性解码器架构600。熵解码器包括,例如 CABAC或CAVLC熵解码器,其解析来自于比特流中的语法。ColMV DMA610 存储同位的时间MV,MV调度(diapatch)612重构块的MV以及通过存储器接口仲裁器(memory interface arbiter)616将内存提取指令发送至MC高速缓冲存储器 (MC cache)614以及DRAM(未示出)中。逆转换618包括逆量化以及逆转换(IQIT),其生成重构的残差620。预测622生成帧间运动补偿以及帧内预测预测子,去块 624用于减少块伪影以及Rec DMA 626存储重构的像素到外部DRAM。这一架构的示例性元件的进一步细节公开于T.Huang等人,“A 249MPixel/s HEVCvideo-decoder chip for Quad Full HD applications”,IEEE国际固态电路会议(IEEEInternational Solid-State Circuits Conference,ISSCC)的技术论文摘要,pp.162-163,2013年2月,其整体通过引用纳入其中。值得注意的是,为了管线 (pipeline)所述架构,所述架构被分解为四个阶段:EC阶段602、IQIT(逆量化以及逆转换)/提取阶段604、重构阶段606以及环路滤波阶段608。在HEVC以及H.264 中,可以在EC阶段602(其包括解析)以及重构阶段606两者中推导最终的MV,在一些实施例中,解码器在解析阶段推导最终的MV,以及在解析阶段(EC阶段 602)预提取所需要的参考像素。例如,可以通过完成这个来减少/隐藏DRAM存取时间。
图7示出了根据一些实施例的,当执行如图6所示解码器架构的时候,解码器管线执行700的示例。图7包括解析阶段702,在所述阶段期间,运动向量以如上所述的方式进行重构。IQ/IT阶段704-1生成用于当前块的重构的残差。参考像素提取阶段704-2从存储器中提取参考像素数据,参考帧通常存储于外部存储器,例如DRAM。因此,如果解码器想要在参考帧上做运动补偿,解码器首先需要去外部存储器检索参考数据,通常需要大量的等待时间从外部存储器获得数据。帧内/MC(运动补偿)重构阶段706执行预测,去块(deblocking,DB)/ 样本自适应调整偏移(SAO)阶段708执行环路滤波进行以提高解码帧的质量。
通常,解码器首先解码CU0,然后是CU1等等。为了给出使用CU0的示例,在t0,解码器在解析阶段702对CU0进行解码,包括重构MV。然后,在t1 CU0 被移动至IQ/IT阶段704-1,为了在帧内/MC重构阶段706中的做运动补偿,解码器需要在先前阶段(参考像素提取阶段704-2)做预提取。
如图7中所看到的,为了隐藏从存储器提取数据的等待时间(例如,因此不影响管线执行),因为解码器需要在帧内/MC重构阶段706中执行的重构之前知道运动向量,数据在参考像素提取阶段704-2中被预提取并存储于局部存储器 (local memory)中(例如,SRAM或高速缓冲存储器)。例如,在MEPG-2/4、H.264/AVC以及HEVC视频编码器中,多个MV可以在所述解析阶段重构,根据多个重构的MV,可以从DRAM中提取所需要的参考像素并存储于局部存储器中,例如,SRAM或高速缓冲存储器。在帧内/MC重构阶段706,可以从所述局部存储器中加载参考数据而不需要等待周期。
然而,解码器侧预测子细化工具使用相邻块去推导运动向量(例如,PMVD,如模板匹配合并模式如何使用相邻块去推导运动向量)。然而,在第三阶段(帧内 /MC重构阶段706)以前不生成模板块(template block)。例如,当应用PMVD的时候,PMVD编码的块的最终MV取决于帧内/MC重构阶段706中的PMVD搜索进程,其意味着所述MV不能在解析阶段702中重构,并且因此在参考像素提取阶段704-2的数据预提取是不可行的。
图8示出了当执行解码器侧预测子细化工具时候,解码器管线执行的示例。例如,使用PMVD作为示例,在时间t2,因为用于CU0的MV取决于帧内/MC 重构阶段706中的PMVD搜索进程(其也在t2执行),MV不能在用于CU01的解析阶段(在时间t1)中被重构,因此用于CU1的数据不能在t2的参考像素提取阶段704-2被预提取。这一问题同样地影响每一CU的处理,从而导致每两个时隙(time slots)仅有一个CU处理完成。例如,图8示出了对于t4以及t5,解码器仅完成处理CU1,相比于图7,其中CU1在t4完成处理以及CU2在t5完成处理。
当解码器侧预测细化技术被用于解码的时候,可以解决数据预提取的问题。例如,所述技术允许仍然以隐藏等待周期的方式对数据进行预提取,如图7所示,而不是导致如图8所示的延迟。为了便于说明,下面讨论的技术引用PMVD作为示例,虽然本领域技术人员可以理解所述技术可以适用于其他解码器侧预测细化技术(例如,BIO以及DMVR)。
根据一些实施例,原始候选MV被保存在MV缓冲器中用于下一个解码进程。在一些实施例中,所选择的合并候选MV(例如,起始或未细化的MV)被存储回MV缓冲器,以致解码器可以参考相邻块以及同位块/图像。因此,根据一些示例,PMVD块的MC(例如,在帧内/MC重构阶段执行)使用PMVD推导的 MV,但是所选择的合并候选MV被存储回MV缓冲器用于未来的参考。例如,这可以允许MV在解析阶段702中被重构,以及参考像素可以在阶段704-2被预提取。如果当前块是PMVD编码的块,可以预提取更大的参考块(例如,包括细化搜索范围)。因此,在一些示例中,用于当前块的MV没有被细化,但是解码器使用细化的MV用于补偿。
在一些示例中,解码器可以被配置为不改变MV缓冲器中的MV,例如,解码器可以存储起始点(例如,起始MV)到MV缓冲器中,以及做细化以生成细化MV,所述细化MV仅用于生成运动补偿数据,而不需要改变所述MV缓冲器中的MV,用于未来参考(例如,合并候选列表以及AMVP候选列表生成)的 MV缓冲器不改变。
在一些示例中,解码器可以使用分离的缓冲器用于细化。例如,解码器可以检索起始MV,运行PMVD以及执行细化而不在原始的MV缓冲器中存储细化的MV–解码器将细化的MV存储于时间缓冲器中。
在一些示例中,解码器可以发信起始候选用于PMVD。例如,解码器可发信起始候选索引,其用于从MV候选列表中选择起始MV。如此一来,例如,以致解码器知道11个候选之外的哪一候选将用作为用于PMVD的起始候选。所述解码器可以首先生成11个起始候选,以及编码器可以发信解码器哪一候选最佳。因为解码器知道起始候选,这一信令可以允许所述解码器跳过模板匹配并继续进行到细化(例如,解码器可以使用模板匹配以及菱形搜索技术执行细化来细化在起始候选周围的MV)。虽然MV将由菱形搜索细化,在提出的方法中将仅存储所述起始候选,而不存储细化的运动向量。
在一些示例中,对于PMVD(例如,包括双向匹配合并模式以及模板匹配合并模式),合并候选中的LIST_0以及LIST_1 MV被用作为起始MV。在一些示例中,通过搜索所有这些MV可以隐含地推导最佳MV候选,这一方法将需要许多存储器带宽(memory bandwidth)。在这一示例中,用于双向匹配合并模式或模板匹配合并模式的合并索引被发信。所发信的合并索引可以指示,例如,模板匹配合并模式中LIST_0以及LIST_1中的最佳起始MV,以及双向匹配合并模式中最佳的两个MV对(一个从LIST_0中推导以及另一个从LIST_1中推导)。通过发信所述合并索引,模板匹配步骤可以被限制于,例如,所发信的合并候选周围的细化搜索。对于双向匹配,解码器可以执行成本估算以从两个MV对中选择最佳MV对以及执行细化搜索。对于双向匹配,如果合并候选是单向MV,可以通过使用镜像的(缩放的)MV生成另一个列表中它对应的MV。在一些实施例中,通过使用预定的MV生成方法,LIST_0、LIST_1中的最佳起始MV和/ 或MV对是已知的,LIST_0和/或LIST_1 MV的最佳起始MV,或者最佳MV 对被明确地发信以减少带宽需求。
在一些示例中,当发信一个合并索引的时候,解码器可以进一步利用所选择的MV来排除或选择第一阶段(PU级匹配)中的一些候选。例如,解码器可以排除候选列表中远离所选择MV的一些MV,如另一个示例,解码器可以挑选所述候选列表中最接近于所选择的MV但是在不同参考帧中的N个MV。
如上所述,一些技术通过生成一起始MV候选列表以及发信候选索引来发信起始MV(例如,去发信起始候选,用于如上所述的PMVD),使用PMVD作为示例,因为PMVD执行MV细化,两个相似的起始MV候选可能具有相同的细化的最终MV,因此,因为PMVD在起始候选的周围搜索局部最小值,它们可能具有相同的细化的最终MV,在候选列表中相似的MV可以从候选列表移除,或者修剪所述候选列表。
可以使用此处所描述的技术修剪和/或创建运动向量候选列表。图16A示出了根据一些实施例的,用于修剪运动向量候选列表的示例性方法1600。图16B 示出了根据一些实施例的,用于创建运动向量候选列表的示例性方法1650,例如,所述列表首先可以是空的,以及无论什么时候添加新的候选,所述技术可以决定所述新的候选是否是冗余的或者是否与列表中现有的运动向量候选相关联。如果所述候选是冗余的,那么将不会添加新的候选。
参见图16A,在步骤1602,解码器存储起始运动向量候选列表。例如,传统的合并候选列表生成进程(例如,以上所描述的)可以用于生成PMVD合并候选列表。参见步骤图16A中的步骤1604-1610,对于MV推导,可以将新添加的 MV与已经在候选列表中的多个MV进行比较。如果所述多个MV中的一个(或多个)与新添加的MV类似,新添加的MV将从列表中被移除。特别地,在步骤 1604中,解码器将新添加的MV与所述候选MV列表中现有的候选进行比较以决定候选的相似性。在步骤1606中,解码器所述相似性与预定的阈值进行比较,如果相似性不小于所述预定的阈值,解码器在步骤1608中移除所述候选(并前进到步骤1610)。否则,如果所述相似性小于所述预定的阈值,所述方法前进到步骤1610。在步骤1610中,如果候选MV列表中仍有候选需要检查,所述方法重回到步骤1604用于所述候选列表中每一剩下的候选。否则,如果所述MV候选列表中所有的MV都已与新的候选进行了比较(以及每一比较都大于步骤1606 中的阈值),在步骤1612中,解码器保留所述新的MV候选在所述MV候选列表中。在步骤1614中,方法1600取走起始运动向量候选列表中首先“N”个候选,N的值可以是以预定的值,N可以用于确保最终的列表尺寸小于预定的最大尺寸。在一些示例中,如果所述起始运动向量候选列表小于N个候选,那么步骤1614不修正所述起始运动向量候选列表,方法1600前进到步骤1616并结束。
参考图16B,方法1650包括与图16A中方法1600相似的一些步骤,包括步骤1602、1604、1606、1610以及1606,进一步的探讨如下。在步骤1602中,解码器存储起始运动向量候选列表。例如,所述起始运动向量候选列表可以是空的,在步骤1652,解码器生成新的运动向量候选,在步骤1604中,所述解码器将新的候选与所述起始MV候选列表中现有的候选进行比较以决定所述候选的相似性。在一些示例中,如果所述起始MV候选列表中还没有任何候选,虽然未示出,但方法1650可以直接前进到步骤1654并添加候选到起始MV候选列表中。在步骤1606,解码器将相似性与预定的阈值进行比较,如果所述相似性不小于所述预定的阈值,解码器前进到步骤1654并且不添加新的MV到列表中(以及前进到步骤1610)。如果所述相似性小于所述预定的阈值,方法1650前进到步骤1654并添加候选至列表。从步骤1654,所述方法1650前进到步骤1656 并决定列表尺寸是否等于预定的尺寸,如果不是,所述方法前进到步骤1610,否则,所述方法前进到步骤1616并结束。在步骤1610中,如果仍有候选需要检查,方法1650重回到步骤1604用于每一剩下的候选,否则,方法1650前进到步骤1616并结束。
在一些实施例中,MV的相似性可以基于(a)参考帧索引(或者POC)是否相同,和/或(b)MV差异是否小于阈值来决定。例如,可以使用方程式1来计算MVx 与MVy的绝对MV距离的和:
方程式1:abs(MVx0–MVx1)+abs(MVy0–MVy1)<K;
其中K是像素距离,例如1/2像素、一个整数像素、两个整数像素、三个整数像素、3又1/2个整数像素等等。
如另一个示例,MVx的绝对MV距离以及MVy的绝对MV距离可以使用下面的方程式2与K进行比较:
方程式2:abs(MVx0–MVx1)<K&&abs(MVy0–MVy1)<K;
像方程式1一样,其中K可以是1/2像素、一个整数像素、两个整数像素、三个整数像素、3又1/2个整数像素等等。
在一些实施例中,例如,对于双向匹配模式,可以检查候选MV对以决定它们是否在相同的运动轨迹中。例如,可以检查原始合并候选MV以决定LIST_0 以及LIST_1中的多个MV是否在相同的运动轨迹中。图14示出了根据一些实施例的,候选MV对是否在相同的运动轨迹中的示例,如1402所示,如果LIST_0 以及LIST_1中的多个MV在相同的运动轨迹中,候选MV被添加到列表;否则,如1404所示,如果LIST_0以及LIST_1中的多个MV不在相同的运动轨迹中, LIST_0以及LIST_1中的多个MV被分成两个候选MV。对于两个分开的候选 MV的每一个,如1406以及1408所示,用其他列表的镜像的MV填充缺失的列表MV。如另一示例,每一双向预测MV候选被拆分成两个候选,一个候选是LIST_0 MV,以及另一个是LIST_1 MV。然后,通过用有效列表的镜像MV 填充所述缺失列表MV,每一候选(例如,每一单向预测候选)用于生成所述缺失的列表MV。
在PMVD MV搜索中,MV搜索方法可以是预定的(例如,三个步骤的菱形搜索)。例如,对于菱形搜索,第一步菱形搜索的步长(step size)是一个像素的一半(1/2像素),第二步交叉搜索的步长是一个像素的四分之一(1/4像素),第三步交叉搜索的步长是一个像素的1/8(1/8像素)。在一些实施例中,发信(a)起始MV 的合并索引以及(b)粗粒性MVD(coarsegrain MVD)两者。MVD可以是第一步菱形搜索的细化位置索引,和/或传统的MVD,MVD单位可以是1/16像素、1/8 像素、1/4像素、1/2像素、1像素、2像素以及任何预定的单位。所选择合并索引的多个MV加上发信的MVD(或者细化位置的MV)可以用作为PMVD起始 MV,其存储到MV缓冲器用于合并候选以及AMVP候选推导参考。在一些示例中,对于编码器和/或解码器,PMVD搜索可以开始于PMVD起始MV,最终 PMVD推导的MV仅用于MC。PMVD编码的块的多个起始MV可以在解析阶段重构。
在一些示例中,仅一个MVD和/或仅一个MVD细化位置索引被发信。如果合并候选是双向预测候选,仅在LIST_0或LIST_1上添加MVD。对于双向匹配合并模式,如果在LIST_0上添加MVD,那么LIST_1起始MV可以是LIST_0 起始MV的镜像MV。
在一些示例中,粗粒性MVD未被编码但是在解码器的搜索进程中推导。例如,我们可以将所述搜索进程分割成三个阶段,第一步菱形搜索、第二步交叉搜索以及第三步交叉搜索。粗粒性MVD可以是第一步菱形搜索或第二步交叉搜索中的搜索进程的结果。
在HEVC中,图像被拆分成多个编码树单元(CTU),其是HEVC的基本处理单元,多个CTU以光栅扫描次序(raster scan order)进行编码。在管线的解码器架构中,因为行已经被处理过了,因此在解析阶段中上方的CTU行的大部分信息是可用的(例如,包括MV信息)。在一些示例中,可以参考(或使用)来自于上方CTU行的多个CTU中解码器侧推导的MV,例如,对于合并候选列表以及 AMVP列表生成,因为解析阶段的信息是可用的,即使因为当前CTU行中的所述解码器侧推导MV不可用而不能被使用,解码器可以使用这些CTU中推导的MV。
因此,在CTU行约束可以与本发明所描述技术一起使用的一些实施例中,以致可以参考(例如,当不参考PMVD编码的块的MV)或可以使用(例如,当存储合并候选MV、存储所述合并候选MV以及镜像的MV、发送合并索引到PMVD 以及双向镜像的MV(以及仅计算一个MV)、发信合并索引以及粗粒性MVD和/ 或AMVP模式以及PMVD)上方CTU行中的PMVD推导的MV。
例如,考虑到此处讨论的关于何时存储合并候选MV、存储合并候选MV 和镜像的MV以及发送所述合并索引用于PMVD以及双向镜像的MV(以及仅评估一个MV)的技术。当参考当前CTU行中PMVD编码的块的时候,所选择的合并候选MV可以用于合并候选推导以及AMVP候选推导。当参考上方CTU 行的PMVD编码的块时候,可以使用最终的PMVD推导的多个MV。
如另一示例,考虑到此处讨论的关于不参考PMVD编码的块的MV的技术。当参考当前CTU行中PMVD编码的块的时候,用于合并候选推导以及AMVP 候选推导的MV是不可用的,当参考上方CTU行的PMVD编码的块的时候,使用最终PMVD推导的MV。
CTU行约束可以被改变为CTU约束或者任何预定或者推导的区域约束,例如,当不参考PMVD编码的块的MV,如果应用CTU约束,虽然不同CTU中的PMVD编码的块的MV是可用的,当前CTU中的PMVD编码的块的MV是不可用的。
重叠块运动补偿(OBMC)是可以用于减少运动补偿中块伪影的编码工具。在 JVET-F1001,标题为“Algorithm Description of Joint Exploration Test Model 6 (JEM 6)”描述了OBMC如何在块边界执行的示例,其整体通过引用纳入其中。为了便于说明,下面的描述参考JVET-F1001,但是这一描述并不意味着对本发明的限制。
对于OBMC,在一些示例中,由当前块的MV对相邻块进行补偿。如图11 所示,其是JVET-F1001的第2.3.4小节中图14的摘录,在子块级执行OBMC 用于所有运动补偿(MC)块边界,其中“子块”尺寸设置为等于4×4。JVET-F1001 解释了当OBMC应用于当前子块的时候,除了当前运动向量,如果四个相连的相邻子块的运动向量是可用的并且如果与当前运动向量不相同,其也可以用于推导当前子块的预测块,这些个预测块基于多个运动向量,所述多个运动向量被组合去生成当前子块的最终预测信号。
JVET-F1001进一步解释了基于相邻子块的运动向量的预测块被标记为PN, N指示相邻上、下、左以及右子块的索引以及基于当前子块的运动向量的预测块标记为PC。当PN基于包括与当前子块相同的运动信息的相邻子块的运动信息时,PN不执行OBMC。否则,PN的每一样本被添加到PC中相同的样本,也就是PN的四行/列被添加到PC。权重因子{1/4,1/8,1/16,1/32}用于PN以及权重因子 {3/4,7/8,15/16,31/32}用于PC。小MC块是例外,(当编码的块高度或宽度等于4 或者使用子CU模式对CU进行编码的时候),其仅PN的两行/列被添加到PC。在权重因子{1/4,1/8}用于PN以及权重因子{3/4,7/8}用于PC的情况下,对于基于垂直的(水平的)相邻子块的运动向量生成的PN,以相同的权重因子将PN的相同行(列)的多个样本添加到PC。图12A示出了OBMC方法1200的示例性高级概述,MVA1202表示原始MV,使用解码器侧预测子技术,MVA1202被细化为 MVA’1204,MVA’1204用于在块边界的OBMC,生成基于MVA’1204 的混合部分1206以及1208。
如本文所述,提供了一种技术,相比于传统的解码方法,其允许类似的运行时间的解码器侧预测子细化技术。例如,包括使用起始MV(不是细化的MV) 或者部分细化的MV(起始MV+发信的MV偏移)以参考解析阶段以及预提取阶段(例如,图6中的阶段602以及604)的相邻块的一些实施例。在一些实施例中,这种技术可以导致使用用于其他处理的起始MV,例如去块、OBMC以及时间同位的MV推导。使用用于其他这种处理的起始MV可能引入块伪影。例如,当OBMC和/或去块使用恢复的MV的时候,可能会找到一些块伪影,以致不使用细化的MV执行OBMC或去块。图12B示出了使用起始MV1202(例如恢复的MV)应用OBMC的示例性结果1250,不像图12A具有基于MVA’1204’的混合部分1206以及1208,图12B中的混合部分1252以及1254是基于MVA 1202。如此一来,在一例中,这可能导致块伪影,因为相邻块是MVA’1204但用于混合部分的MV为MAV1202。
为了解决这一后解析处理问题,可以使用多个MV。图15示出了根据一些实施例的,用于使用两个MV解码视频数据的示例性解码方法1500。在步骤1502,解码器接收与一组帧有关的压缩的视频数据,在步骤1504-1510,解码器使用解码器侧预测子细化技术计算用于来自于所述一组帧中的一个帧的新的运动向量。特别地,在步骤1504,解码器检索(例如,从第一缓冲器)与当前帧有关的第一运动向量(例如,未细化的MV)。在步骤1506,解码器使用搜索第一运动向量执行解码进程的第一部分(例如,解析阶段、MV/MVP推导和/或MV细化技术)。在步骤1508,解码器检索与所述当前帧(例如,细化的MV)有关的第二运动向量(例如,从第二缓冲器)。在步骤1510,解码器使用所述第二运动向量执行解码进程的第二部分(例如,重构阶段、运动补偿部分、去块部分和/或OBMC)。
参见步骤1504-1510,在一些实施例中可以使用两组MV:(1)第一组MV用于解析阶段(例如,图7中的解析阶段),包括用于MV/MVP推导和/或像素预提取,以及(2)第二组MV用于重构(例如,在图7的帧内/MC重构阶段性中),包括用于运动补偿、OBMC和/或去块。所述第一组MV可以存储原始(未细化)MV,以及所述第二组MV可以存储细化的MV。这种技术可以促进,例如,OBMC 和/或去块去使用修正的MV,使用修正的MV可以避免额外的块伪影(例如,由使用未细化的MV运行OBMC和/或去块所导致的伪影)和/或相比于使用未细化的MV可以提供更好的编解码增益。
例如,为了处理潜在的块伪影,单独的未细化MV集可以用于解析阶段(例如,用于合并候选列表生成和/或AMVP候选列表生成)。根据一些实施例,未细化MV集中的多个MV未被解码器侧MV细化工具细化,以及可以用于MV 解析以及MV重构,然后重构的MV用于参考像素提取。由解码器侧MV细化工具细化的MV可存储于另一个MV缓冲器集中,所述细化的MV可用用于运动补偿、OBMC、去块和/或不会根据所述MV改变解析进程的其他工具。
因为在其他先前细化的图像中MV已经被细化了,使用这些其他图像中中细化的MV将不会引入以上结合图8所描述的预提取的问题。在一些实施例中,细化的MV集可以用于解析阶段的时间MV推导以及MV重构阶段,例如,对于合并候选列表生成以及AMVP候选列表生成,当推导空间相邻MV的时候,使用未细化的MV集,虽然当推导时间同位MV的时候,使用细化的MV集。
上方CTU行中的多个MV可能也已经细化了,如上所述。在一些实施例中,如果MV在上方CTU行中,第一MV集(例如,用于解析阶段)可以存储第二 MV集(例如,用于重构阶段)的多个MV。例如,如果MV在上方的CTU行中,那么解析阶段可以存取上方CTU行的第二MV集。例如,这可以减少未细化 MV缓冲器尺寸。例如,通过仅需要保持CTU的一个块行以及CTU的一个块列的MV,可以减少缓冲器的尺寸。MV将不会在解析阶段以及MV重构阶段(例如,用于合并候选列表生成以及AMVP候选列表生成)中由当前CTU行中的相邻空间块所参考,可以被丢弃。因此,在一些实施例中,仅需要存储细化的MV。在硬件实施中,未细化的MV可以仅被存储于解析管线阶段以及预提取管线阶段(例如,图7中的阶段702以及704-2)。在一些实施例中,技术可以使用来自于CU的细化的MV,CU在N个先前CU之前被处理。例如,如果我们认为在最后5个解码的CU之前的多个CU可以被使用(例如,不需要引入预提取问题),在最后5个解码CU之前的多个CU中的MV可用使用细化的MV。在一些实施例中,相同的概念可以用于方块(tile)/切片边界。例如,如果参考MV在不同的方块或者不同的切片中,那么解析阶段可以存取不同块或者不同切片中MV的第二MV集。
关于用于解析阶段的第一MV集,第一MV集(未细化的MV)可以用于合并 /AMVP候选生成和/或起始MV生成,生成的MV用于参考像素提取。在一些实施例中,如果没有应用CTU行约束,所述MV集包括(a)当前图像(例如,左边列、上方行以及当前CTU)的未细化的MV,以及(b)其他图像(例如,时间同位图像)的细化的MV。例如,参考图13,MV集包括当前CTU 1302、左边列 1304以及上方行1306的当前图像的未细化的MV。在一些实施例中,如果应用了CTU行约束,MV集包括(a)当前CTU行(左边列以及当前CTU)的未细化的 MV,(b)上方CTU行(上方行)的细化的MV,以及(c)其他图像的细化的MV。例如,参考图13,MV集包括用于当前CTU1302以及左边列1304的当前CTU行的未细化的MV,以及用于上方行1306的上方CTU行的细化的MV。
关于用于重构阶段的第二MV集,第二MV集可以用于运动补偿、OBMC 和/或去块。第二MV集包括(a)当前图像的细化的MV,以及(b)其他图像的细化的MV。例如,参考图13,MV集包括当前图像的细化的MV用于当前CTU 1302、左边列1304以及上方行1306。
提出的多个MV/MV集方法也可以应用于编码器中。例如,单独未细化的 MV集可以用于语法编码阶段、MV推导和/或MVP推导(例如,合并候选列表生成和/或AMVP候选列表生成)。根据一些示例,未细化的MV集中的多个MV 不由解码器侧MV细化工具进行细化,以及可以用于MV编码以及MVP生成。由解码器侧细化工具进行细化的多个MV可以存储在另一个MV缓冲器集中,细化的MV可以用于运动补偿、OBMC、去块和/或根据所述MV不会改变解析进程的其他工具。
同样,简单来说,解码器侧MV细化工具(例如,PMVD、DMVR以及BIO) 可以改变块的MV(例如,其可以导致上述的解析问题或参考像素预提取问题)。在一些实施例中,当存储回细化的MV后,细化的MV以及起始MV之间的差异可以约束到一预定的阈值。例如,如果细化的MV以及起始MV之间的差异大于所述预定的阈值(例如,4、8或16整数像素距离),那么首先剪切所述细化的MV(例如,设置为小于或等于所述阈值)然后存储为剪切的MV。例如,可通过起始MV±4、8或16整数像素对所述MV进行剪切,如果细化的MV以及起始MV之间的差异小于阈值,直接存储所述细化的MV。
可以通过移除MV/MVP推导(例如,在合并候选列表重构或AMVP列表重构)中这些细化的MV与其他MV之间的修剪进程来减少解码器侧MV细化工具改变块的MV的影响。例如,在一些实施例中,用于移除可能的候选之间冗余的修剪进程仅应用于这些未在解码器细化的MV。对于这些可能在解码器细化的候选,细化的MV可用直接被添加进候选列表而不需要使用修剪进程。在一些实施例中,可以将消除这种修剪与上述其他技术(例如,细化的MV剪切以及多个MV/MV集)结合来进一步减少影响。
在一些实施例中,OBMC应用于重构阶段(例如,图6中的阶段606)。因此,两种不同的技术可以用于OBMC(不论单独或者组合,例如使用不同的技术用于沿着不同边缘的子块)。第一技术是去使用起始MV或者部分细化的MV(例如,未细化的MV),其存储于MV缓冲器中用于OBMC。第二技术是去使用解码器侧细化的MV(例如,细化的MV)用于OBMC。
根据本发明所描述的原则的技术操作可以以任何合适的方式实施,以上流程图的进程和决策块表示可以包括在执行这些各种过程的算法中的步骤和动作。从这些进程中推导的算法可以实施为集成以及引导其操作的一个或多个单一或多用途处理器的软件,可以实施为功能等效电路(functionally-equivalent circuits),例如数字信号处理器电路(DSP)或专用集成电路(Application-Specific Integrated Circuit),或者可以以其他适当的方式实施。应当理解的是,本发明所包括的流程图不描述任何特定电路或任何特定编码语言或编码语言的类型的语法或操作。相反,所述流程图示出了功能信息,本领域技术人员可以使用其去制造电路或去实施计算机软件算法以执行实施本发明所描述各种技术的特定装置的进程。也应当理解的是,除非在此另有指明,每一流程图中所示的步骤和/或动作的序列仅是示例性的算法,其可以被实施以及在本文中所描述的原理的实施方式以及实施例中变化。
因此,在一些实施例中,本发明所描述的技术可以以实施为软件的计算机可读指令的方式实施,包括应用软件、***软件、固件、中间件(middleware)、嵌入式代码(embedded code)或计算机代码的其他任何适当的类型。这种计算机可读指令可以使用许多适当的编码语言和/或编码或脚本工具(scripting tool)的任何一种进行撰写,以及也可以被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码(intermediatecode)。
当本发所描述的技术被实施为计算机可执行指令的时候,这些计算机可执行指令可以以任何适当的方式实施,包括许多功能设施,每一个提供一个或多个操作以完成根据这些技术的算法操作的执行。“功能设施”,虽然具体化了是以计算机***的结构元件,但当与一个或多个计算机集成以及由一个或多个计算机以及执行的时候,其会导致所述一个或多个计算机去执行以特定的操作角色,功能设施可以是整个软件元素的一部分。例如,功能设施可以被实施为进程的功能、或作为离散进程、或作为进程的任何其他适当的单元。如果本发明所描述的技术被实施为多个功能设施,每一功能设施可以以它自己的方式实施,而不需要以相同的方式实施。此外,这些功能设施可以视情况以并行和/或串联的方式执行,并且可以使用计算机上共享内存在彼此之间传递信息,在计算机上它们使用消息传递协议或以任何其他合适的方式执行。
通常来说,功能设施包括例程、程序、对象、元件、数据结构等等,其执行特定的任务或实施特定的抽象数据类型。典型地,功能设施的功能可以在它们允许的***中按需求进行组合或者分布。在一些实施例中,一个或多个功能设施实施本发明的技术可能同时形成一个完整的软件包,在可选的实施例中,这些功能设施适用于彼此交互、不相关功能设施的和/或进程来实施软件程序应用。
本发明已经描述了一些示例性功能设施来实施一个或多个任务,然而,应当理解的是,所描述的功能设施以及任务的划分仅仅是说明可以实施本发明所描述的示例性技术的功能设施的类型,以及这些实施例并不限于一任何特定的编码、划分或功能设施的类型来实施。在一些实施例中,索引功能可以以单个功能设施来实施,应当理解的是,在一些实施例中,本发所描述的一些功能设施可以与其他分离地功能设施(也就是作为单个单元或分立单元)一起实施,或者这些功能设施的一些可以不被实现。
在一些实施例中,计算机可执行指令实施本发明所描述的技术(当以一个或多个功能设施或以任何其他方式实施的时候)可以在一个或多个计算机可读媒介上编码以提供功能至媒介。计算机可读媒介包括如硬盘驱动器磁性介质、如光盘(CD)或数字通用光盘(DVD)的光学媒介、永久或非永久固态内存(例如,闪存、磁RAM等)或任何其他适当的存储媒介。这种计算机可读媒介可以以任何适当的方式实施,如此处所使用的,“计算机可读媒介”(也叫“计算机可读存储媒介”) 指有形的存储媒介。有形的存储媒介是非瞬时的以及具有至少一个物理、结构元件。如此处所使用的,在“计算机可读媒介”中,至少一个物理、结构元件具有至少一个物理属性,其可以在创建具有嵌入式信息、在其上记录信息的进程或者任何其他编码具有信息媒介的进程的媒介的时候以一些方式改变。例如,计算机可读媒介的磁化结果的一部分的磁化装置可以在记录进程中改变。
此外,上面所描述的一些及时包括以某种方式存储信息(例如,数据和/或指令)以由这些技术使用的动作。在这些技术的一些实施例中,例如所述技术实施为计算机可读指令的实施例,信息在计算机可读存储介质上编码。这里将特定架构为用于存储信息的有利格式,这些结构可用于在编码在存储介质上时赋予信息的物理组织。这些有益结构可以通过影响与所述信息交互的一个或多个处理器的操作将功能提供至存储媒介,例如,通过增加由处理器执行的计算机操作的效率。
在一些但不是所有的实施例中,技术可以实施为计算机可执行指令,这些指令可以在任何适当的计算机***中操作的一个或多个适当的计算装置上执行,或者对一个或多个计算装置(或者一个或多个计算装置的一个或多个处理器)进行程序设计以执行所述计算机可执行指令。当以可以访问计算机装置或处理器的方式存储指令的时候,例如在数据存储区(例如,片上缓冲器或指令寄存器、通过总线访问的计算机可读存储媒介、通过一个或多个网络访问的以及由装置/ 处理器访问的计算机可读存储媒介以及),可以对计算装置或处理器进行程序设计来执行指令。包括这些计算机可执行指令的功能设施可以与单个多用途可程序设计数字计算装置集成并指导其操作,两个或多个多用途计算装置共享处理能力的协调***,并联合执行本文中所述的技术,用于执行本文所述技术的单个计算装置或计算装置的协同***(共同定位或地理分布的),用于执行这里描述的技术的一个或多个现场可程序设计门阵列(FPGA),或任何其它合适的***。
计算装置可以包括至少一个处理器、网络适配器以及计算机可读存储媒介。例如,计算装置可以是台式或者膝上型个人计算机、个人数字助理(PDA)、智能手机、服务器或者任何其他适当的计算装置。网络适配器可以是任何合适的硬件和/或软件,以使计算装置能够通过任何合适的计算网络与任何其他合适的计算装置进行有线和/或无线通信。计算网络可以包括无线接入点,交换机,路由器,网关,和/或其他网络装置以及任何合适的有线和/或无线通信介质用于在两个或多个计算机之间交换数据的介质,所述计算机包括因特网。计算机可读介质可适用于存储要被处理的数据和/或由处理器执行的指令。处理器实现对数据的处理和指令的执行。数据和指令可以存储在计算机可读存储介质上。
计算装置可以另外具有一个或多个元件和***装置,包括输入和输出装置。这些装置也可以用来呈现用户接口。可用于提供用户接口的输出装置的示例包括用于输出的可视呈现的打印机或显示器,用于输出的可听呈现的扬声器或其他声音生成装置。可用于用户接口的输入设备的示例包括键盘以及如鼠标、触摸垫,以及数字面板的定位装置。作为另一个示例,计算装置可以通过语音识别或以其他可听格式接收输入信息。
已经描述了其中所述技术在电路和/或计算机可执行指令中实现的实施例。应当理解,一些实施例可以是方法的形式,其中至少提供了一个示例。作为所述方法的一部分而执行的动作可以任何合适的方式进行排序。因此,可以构造以不同于所示的次序执行动作的实施例,其可包括同时执行一些动作,尽管示出为在说明性实施例中的顺序动作。
上述实施例的各个方面可以单独使用、组合使用,或者在上述实施例中未具体讨论的各种布置中使用,因此不局限于上述描述中所阐述的或附图中所示的部件的细节和布置。例如,在一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面相结合。
使用诸如"第一","第二","第三","第三"等序数词的使用,权利要求中所述的修改权利要求要素的权利要求本身并不意味着任何优先级,或在另一个或多个时间次序上执行一个权利要求要素的顺序,其中,执行方法的动作,但仅用作标记以将具有特定名称的一个权利要求元素与具有相同名称的另一元素进行区分(但用于序数词的使用)以区分所述权利要求要素。
此外,在此使用的措辞(phraseology)和术语(terminology)是为了描述的目的,而不应被认为是限制性的。此处所使用的“包括(including)”、“包括(comprising)”、“具有(having)”、“包括(containing)”、“涉及(invovlving)”以及变型旨在包括此后所列出的项目及其等效物以及附加的项目。
这里使用的词语"示例性"表示用作示例、实例或说明。因此,本文所述的任何实施例、实施、过程、特征等都应被理解为说明性的示例而不应理解为是优选的或有利的示例,除非另有说明。
因此,已经描述了至少一个实施例的几个方面,应当理解,各种改变、修改和改进对于本领域技术人员将容易想到。这样的改变、修改提及改进旨在作为本发明的一部分,并且旨在在本文中所描述的原理的精神和范围内。因此,前面的描述和附图仅仅是示例性的。
Claims (26)
1.一种用于解码视频数据的解码方法,其特征在于,所述方法包括:
接收与一组帧有关的压缩的视频数据;以及
使用解码器侧预测子细化技术,计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括:
检索与所述当前帧有关的第一运动向量;
使用所述第一运动向量执行解码进程的第一部分;
检索与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量;以及
使用所述第二运动向量执行所述解码进程的第二部分。
2.如权利要求1所述的用于解码视频数据的解码方法,其特征在于,其中:
所述第一运动向量包括未细化的运动向量;
所述第二运动向量包括细化的运动向量,其中使用解码器侧预测子细化技术对所述细化的MV进行细化;
所述解码进程的所述第一部分包括解析部分、运动向量推导部分或两者;以及
所述解码进程的所述第二部分包括重构部分。
3.如权利要求1所述的用于解码视频数据的解码方法,其特征在于,进一步包括:
检索与第二帧有关的第三运动向量,其中所述第三运动向量是细化的运动向量;
使用所述第一运动向量以及所述第三运动向量执行所述解码进程的所述第一部分;以及
使用所述第二运动向量以及所述第三运动向量执行所述解码进程的所述第二部分。
4.如权利要求3所述的用于解码视频数据的解码方法,其特征在于,其中执行所述解码进程的所述第一部分包括使用所述第一运动向量以及所述第三运动向量执行运动向量推导部分,其中所述运动向量推导部分包括运动向量预测推导、合并候选推导或者两者。
5.如权利要求4所述的用于解码视频数据的解码方法,其特征在于,其中执行所述解码进程的所述第一部分包括参考所述第一运动向量作为所述当前帧的解码的运动向量。
6.如权利要求3所述的用于解码视频数据的解码方法,其特征在于,进一步包括:使用所述第二运动向量以及所述第三运动向量去执行运动补偿、重叠块运动补偿、去块或任何上述的组合。
7.如权利要求1所述的用于解码视频数据的解码方法,其特征在于,进一步包括:
决定编码树单元约束没有被应用于所述压缩的视频数据;以及
检索与所述当前帧有关的所述第一运动向量包括检索:
所述当前帧的未细化的运动向量;以及
与第二帧有关的细化的运动向量。
8.如权利要求1所述的用于解码视频数据的解码方法,其特征在于,其中检索与所述当前帧有关的所述第一运动向量包括检索:
当前编码树单元行的未细化的运动向量;
上方编码树单元行、其他方块或者其他切片的细化的运动向量;以及
与第二帧有关的细化的运动向量。
9.一种用于解码视频数据的解码方法,其特征在于,所述方法包括:
接收与一组帧有关的压缩的视频数据;以及
使用解码器侧预测子细化技术,计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括:
接收表明起始运动向量候选列表的起始候选索引的一信号;
决定所述起始运动向量候选列表中的第一运动向量候选以及包括小于预定的阈值的差异的第二运动向量候选;
从所述起始运动向量候选列表中移除所述第二运动向量候选、不添加所述第二运动向量候选至所述起始运动向量候选列表,或者两者;以及
基于所述候选列表以及所述起始候选索引计算所述新的运动向量。
10.如权利要求9所述的用于解码视频数据的解码方法,其特征在于,进一步包括:
分析新的运动向量候选,所述运动向量候选包括运动向量对;
基于所述分析,决定所述运动向量对是沿着相同的运动轨迹;以及
添加所述运动向量对到所述起始运动向量候选列表。
11.如权利要求9所述的用于解码视频数据的解码方法,其特征在于,其中:
分析新的运动向量候选,所述运动向量候选包括运动向量对;
基于所述分析,决定所述运动向量对是不沿着相同的运动轨迹;
将所述运动向量对拆分成两个新的候选运动向量对;以及
将所述两个候选运动向量添加到所述起始运动向量候选列表。
12.如权利要求11所述的用于解码视频数据的解码方法,其特征在于,
其中所述拆分包括:
将所述运动向量对的第一运动向量添加到所述两个新的候选运动向量对的第一个;
用所述第一运动向量的镜像的运动向量填充所述两个新的候选运动向量对的所述第一个;
将所述运动向量对的第二运动向量添加至所述两个新的候选运动向量对的第二个;
用所述第二运动向量的镜像的运动向量填充所述两个新的候选运动向量对的所述第二个。
13.一种用于编码视频数据的编码方法,其特征在于,所述方法包括:
计算与一组帧有关的压缩的视频数据,包括计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括:
计算与所述当前帧有关的第一运动向量;
使用所述第一运动向量执行编码进程的第一部分;
计算与是当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量;以及
使用所述第二运动向量执行所述编码进程的第二部分。
14.如权利要求13所述的用于编码视频数据的编码方法,其特征在于,其中:
计算所述第一运动向量包括计算未细化的运动向量、未细化的运动向量集或者两者;以及
执行所述编码进程的所述第一部分包括执行语法编码部分、运动向量推导部分、运动向量预测推导部分或者它们的一些组合。
15.如权利要求14所述的用于编码视频数据的编码方法,其特征在于,其中执行所述运动向量预测推导部分包括生成合并候选列表、生成高级的运动向量预测候选列表或者两者。
16.如权利要求14所述的用于编码视频数据的编码方法,其特征在于,进一步包括使用所述未细化的运动向量、所述未细化的运动向量集或者两者执行运动向量编码、运动向量预测生成或两者,以致不使用解码器侧运动向量细化工具对所述未细化的运动向量、所述未细化的运动向量集或者两者进行细化。
17.如权利要求13所述的用于编码视频数据的编码方法,其特征在于,其中:
计算所述第二运动向量包括计算细化的运动向量,其中使用编码器侧细化技术计算所述细化的运动向量;
将所述细化的运动向量存储于运动向量缓冲器集中;以及
执行所述编码进程的所述第二部分包括执行运动补偿部分、重叠块运动补偿部分、去块部分或者它们的一些组合。
18.一种用于解码视频数据的装置,所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
接收与一组帧有关的压缩的视频数据;以及
使用解码器侧预测子细化技术,计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括:
检索与所述当前帧有关的第一运动向量;
使用所述第一运动向量执行解码进程的第一部分;
检索与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量;以及
使用所述第二运动向量执行所述解码进程的第二部分。
19.如权利要求18所述的用于解码视频数据的装置,其特征在于,其中:
所述第一运动向量包括未细化的运动向量;
所述第二运动向量包括细化的运动向量,其中使用解码器侧预测子细化技术对所述细化的MV进行细化;
所述解码进程的所述第一部分包括解析部分、运动向量推导部分或者两者;以及
所述解码进程的所述第二部分包括重构部分。
20.如权利要求18所述的用于解码视频数据的装置,其中所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
检索与第二帧有关的第三运动向量,其中所述第三运动向量是细化的运动向量;
使用所述第一运动向量以及所述第三运动向量执行所述解码进程的所述第一部分;以及
使用所述第二运动向量以及所述第三运动向量执行所述解码进程的所述第二部分。
21.一种用于解码视频数据的装置,所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
接收与一组帧有关的压缩的视频数据;以及
使用解码器侧预测子细化技术,计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估算所述当前帧的运动,包括:
接收表明起始运动向量候选列表的起始候选索引的信号;
决定所述起始运动向量候选列表中的第一运动向量候选以及包括小于预定的阈值的差异的第二运动向量候选;
从所述起始运动向量候选列表中移除所述第二运动向量候选、不添加所述第二运动向量候选到所述起始运动向量候选列表中或者两者;以及
基于所述候选列表以及所述起始候选索引计算所述新的运动向量。
22.如权利要求21所述的用于解码视频数据的装置,其中所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
分析新的运动向量候选,所述运动向量候选包括运动向量对;
基于所述分析,决定所述运动向量对是沿着相同的运动轨迹;以及
将所述运动向量对添加到所述起始运动向量候选列表中。
23.如权利要求21所述的用于解码视频数据的装置,其中所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
分析新的运动向量候选,所述运动向量候选包括运动向量对;
基于所述分析,决定所述运动向量对是不沿着相同的运动轨迹;
将所述运动向量对拆分成两个新的候选运动向量对;以及
将所述两个候选运动向量添加到所述起始运动向量候选列表中。
24.一种用于编码视频数据的装置,所述装置包括与存储器通信的处理器,所述处理器用于执行存储于所述存储器中的指令,其使得所述处理器:
计算与一组帧有关的压缩的视频数据,包括计算用于来自所述一组帧的当前帧的新的运动向量,其中所述新的运动向量基于一个或多个参考帧估计所述当前帧的运动,包括:
计算与所述当前帧有关的第一运动向量;
使用所述第一运动向量执行所述编码进程的第一部分;
计算与所述当前帧有关的第二运动向量,所述第二运动向量不同于所述第一运动向量;以及
使用所述第二运动向量执行所述编码进程的第二部分。
25.如权利要求24所述的用于编码视频数据的装置,其特征在于,其中:
计算所述第一运动向量包括计算未细化的运动向量、未细化的运动向量集或者两者;以及
执行所述编码进程的所述第一部分包括执行语法编码部分、运动向量推导部分、运动向量预测推导部分或者它们的一些组合。
26.如权利要求24所述的用于编码视频数据的装置,其特征在于,其中:
计算所述第二运动向量包括计算细化的运动向量,其中使用编码器侧细化技术计算所述细化的运动向量;
将所述细化的运动向量存储于运动向量缓冲器集中;以及
执行所述编码进程的所述第二部分包括执行运动补偿部分、重叠块运动补偿部分、去块部分或者它们的一些组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310137534.8A CN116170602A (zh) | 2017-01-05 | 2018-01-05 | 解码方法及解码装置 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762442472P | 2017-01-05 | 2017-01-05 | |
US62/442,472 | 2017-01-05 | ||
US201762479350P | 2017-03-31 | 2017-03-31 | |
US62/479,350 | 2017-03-31 | ||
US15/861,476 US20180192071A1 (en) | 2017-01-05 | 2018-01-03 | Decoder-side motion vector restoration for video coding |
US15/861,476 | 2018-01-03 | ||
PCT/CN2018/071518 WO2018127119A1 (en) | 2017-01-05 | 2018-01-05 | Decoder-side motion vector restoration for video coding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310137534.8A Division CN116170602A (zh) | 2017-01-05 | 2018-01-05 | 解码方法及解码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110169073A true CN110169073A (zh) | 2019-08-23 |
CN110169073B CN110169073B (zh) | 2023-03-10 |
Family
ID=62712096
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880005962.2A Active CN110169073B (zh) | 2017-01-05 | 2018-01-05 | 编码方法、编码装置、解码方法及解码装置 |
CN202310137534.8A Pending CN116170602A (zh) | 2017-01-05 | 2018-01-05 | 解码方法及解码装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310137534.8A Pending CN116170602A (zh) | 2017-01-05 | 2018-01-05 | 解码方法及解码装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180192071A1 (zh) |
EP (1) | EP3545682A4 (zh) |
CN (2) | CN110169073B (zh) |
BR (1) | BR112019013832A8 (zh) |
TW (1) | TWI677238B (zh) |
WO (1) | WO2018127119A1 (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021068955A1 (en) * | 2019-10-12 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Use and signaling of refining video coding tools |
US20210297659A1 (en) | 2018-09-12 | 2021-09-23 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking hmvp candidates depend on total number minus k |
CN113678452A (zh) * | 2019-03-01 | 2021-11-19 | 高通股份有限公司 | 对解码器侧运动矢量细化的约束 |
US11611780B2 (en) | 2019-10-05 | 2023-03-21 | Beijing Bytedance Network Technology Co., Ltd. | Level-based signaling of video coding tools |
US11641483B2 (en) | 2019-03-22 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
US11641464B2 (en) | 2019-09-19 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Scaling window in video coding |
US11695921B2 (en) | 2018-06-29 | 2023-07-04 | Beijing Bytedance Network Technology Co., Ltd | Selection of coded motion information for LUT updating |
US11722660B2 (en) | 2019-10-13 | 2023-08-08 | Beijing Bytedance Network Technology Co., Ltd | Interplay between reference picture resampling and video coding tools |
US11743454B2 (en) | 2019-09-19 | 2023-08-29 | Beijing Bytedance Network Technology Co., Ltd | Deriving reference sample positions in video coding |
US11877002B2 (en) | 2018-06-29 | 2024-01-16 | Beijing Bytedance Network Technology Co., Ltd | Update of look up table: FIFO, constrained FIFO |
US11895318B2 (en) | 2018-06-29 | 2024-02-06 | Beijing Bytedance Network Technology Co., Ltd | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
US11909951B2 (en) | 2019-01-13 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Interaction between lut and shared merge list |
US11909989B2 (en) | 2018-06-29 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Number of motion candidates in a look up table to be checked according to mode |
US11956464B2 (en) | 2019-01-16 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Inserting order of motion candidates in LUT |
US11973971B2 (en) | 2018-06-29 | 2024-04-30 | Beijing Bytedance Network Technology Co., Ltd | Conditions for updating LUTs |
US12015795B2 (en) | 2019-12-27 | 2024-06-18 | Beijing Bytedance Network Technology Co., Ltd | Signaling of slice types in video pictures headers |
US12034914B2 (en) | 2018-06-29 | 2024-07-09 | Beijing Bytedance Network Technology Co., Ltd | Checking order of motion candidates in lut |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11638027B2 (en) | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
US10523964B2 (en) * | 2017-03-13 | 2019-12-31 | Qualcomm Incorporated | Inter prediction refinement based on bi-directional optical flow (BIO) |
US10904565B2 (en) | 2017-06-23 | 2021-01-26 | Qualcomm Incorporated | Memory-bandwidth-efficient design for bi-directional optical flow (BIO) |
RU2763042C2 (ru) * | 2017-07-03 | 2021-12-27 | Вид Скейл, Инк. | Прогнозирование компенсации движения на основе двунаправленного оптического потока |
US10798402B2 (en) * | 2017-10-24 | 2020-10-06 | Google Llc | Same frame motion estimation and compensation |
CN109996081B (zh) * | 2017-12-31 | 2023-09-12 | 华为技术有限公司 | 图像预测方法、装置以及编解码器 |
JP7315480B2 (ja) * | 2018-01-30 | 2023-07-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US10812810B2 (en) * | 2018-02-06 | 2020-10-20 | Tencent America LLC | Method and apparatus for video coding in merge mode |
CN117528116A (zh) * | 2018-03-29 | 2024-02-06 | 华为技术有限公司 | 一种双向帧间预测方法及装置 |
KR102643116B1 (ko) * | 2018-03-30 | 2024-03-04 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
JP2021520710A (ja) | 2018-04-06 | 2021-08-19 | ヴィド スケール インコーポレイテッド | 簡易化された勾配導出による双方向オプティカルフロー方法 |
US10958928B2 (en) * | 2018-04-10 | 2021-03-23 | Qualcomm Incorporated | Decoder-side motion vector derivation for video coding |
FI3780616T3 (fi) * | 2018-04-13 | 2024-03-25 | Lg Electronics Inc | Menetelmä ja laite inter-ennustusta varten videonkäsittelyjärjestelmässä |
WO2019229683A1 (en) | 2018-05-31 | 2019-12-05 | Beijing Bytedance Network Technology Co., Ltd. | Concept of interweaved prediction |
US10863190B2 (en) * | 2018-06-14 | 2020-12-08 | Tencent America LLC | Techniques for memory bandwidth optimization in bi-predicted motion vector refinement |
CN110662043B (zh) * | 2018-06-29 | 2021-12-21 | 北京字节跳动网络技术有限公司 | 一种用于处理视频数据的方法、装置和计算机可读介质 |
EP3791585A1 (en) | 2018-06-29 | 2021-03-17 | Beijing Bytedance Network Technology Co. Ltd. | Partial/full pruning when adding a hmvp candidate to merge/amvp |
US10638153B2 (en) * | 2018-07-02 | 2020-04-28 | Tencent America LLC | For decoder side MV derivation and refinement |
CN110677667B (zh) | 2018-07-02 | 2022-06-07 | 北京字节跳动网络技术有限公司 | 查找表的使用 |
US10701384B2 (en) * | 2018-08-01 | 2020-06-30 | Tencent America LLC | Method and apparatus for improvement on decoder side motion derivation and refinement |
TWI750494B (zh) * | 2018-08-04 | 2021-12-21 | 大陸商北京字節跳動網絡技術有限公司 | 使用更新的運動信息的限制 |
US11184635B2 (en) * | 2018-08-31 | 2021-11-23 | Tencent America LLC | Method and apparatus for video coding with motion vector constraints |
WO2020057524A1 (en) | 2018-09-19 | 2020-03-26 | Huawei Technologies Co., Ltd. | Method for skipping refinement based on patch similarity in bilinear interpolation based decoder-side motion vector refinement |
WO2020061423A1 (en) * | 2018-09-21 | 2020-03-26 | Vid Scale, Inc. | Affine motion estimation for affine model-based video coding |
EP3850855B1 (en) * | 2018-09-24 | 2023-11-01 | Huawei Technologies Co., Ltd. | Image processing device and method for performing quality optimized deblocking |
WO2020070612A1 (en) | 2018-10-06 | 2020-04-09 | Beijing Bytedance Network Technology Co., Ltd. | Improvement for temporal gradient calculating in bio |
WO2020073928A1 (en) * | 2018-10-09 | 2020-04-16 | Huawei Technologies Co., Ltd. | Inter prediction method and apparatus |
WO2020084462A1 (en) * | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on block size |
WO2020084473A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Multi- iteration motion vector refinement |
CN117459722A (zh) | 2018-11-12 | 2024-01-26 | 北京字节跳动网络技术有限公司 | 组合帧间-帧内预测的简化 |
WO2020103872A1 (en) * | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Prediction refinement for combined inter intra prediction mode |
US11146810B2 (en) * | 2018-11-27 | 2021-10-12 | Qualcomm Incorporated | Decoder-side motion vector refinement |
WO2020141912A1 (ko) * | 2019-01-01 | 2020-07-09 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
WO2020141913A1 (ko) * | 2019-01-01 | 2020-07-09 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
KR20210094664A (ko) * | 2019-01-02 | 2021-07-29 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 비디오 인코딩/디코딩 시스템의 사이드 모션 정교화 |
CN117915081A (zh) | 2019-01-02 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 视频处理的方法 |
CN113228673B (zh) * | 2019-01-02 | 2023-03-03 | 华为技术有限公司 | 用于基于双向预测光流的逐像素校正的解码器和方法 |
JP7275286B2 (ja) * | 2019-01-10 | 2023-05-17 | 北京字節跳動網絡技術有限公司 | Lut更新の起動 |
CN113424533A (zh) | 2019-02-14 | 2021-09-21 | 北京字节跳动网络技术有限公司 | 复杂度降低的解码器侧运动推导 |
US11025948B2 (en) * | 2019-02-28 | 2021-06-01 | Tencent America LLC | Method and apparatus for motion prediction in video coding |
WO2020177682A1 (en) | 2019-03-03 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector management for decoder side motion vector refinement |
KR102635518B1 (ko) | 2019-03-06 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 변환된 단예측 후보의 사용 |
CN113597759B (zh) * | 2019-03-11 | 2022-09-13 | 北京字节跳动网络技术有限公司 | 视频编解码中的运动矢量细化 |
US11206425B2 (en) * | 2019-03-11 | 2021-12-21 | Alibaba Group Holding Limited | Inter prediction methods for coding video data |
CN109803175B (zh) * | 2019-03-12 | 2021-03-26 | 京东方科技集团股份有限公司 | 视频处理方法及装置、设备、存储介质 |
KR102501210B1 (ko) * | 2019-03-12 | 2023-02-17 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 결합된 인터 및 인트라-예측 모드의 제한되고 조정된 적용 |
US11172212B2 (en) * | 2019-06-06 | 2021-11-09 | Qualcomm Incorporated | Decoder-side refinement tool on/off control |
CN110460859B (zh) * | 2019-08-21 | 2022-03-25 | 浙江大华技术股份有限公司 | 历史运动矢量列表的使用方法、编解码器及存储装置 |
CN112218075B (zh) * | 2020-10-17 | 2022-10-28 | 浙江大华技术股份有限公司 | 候选列表的填充方法、电子设备、计算机可读存储介质 |
WO2023186040A1 (en) * | 2022-03-31 | 2023-10-05 | Mediatek Inc. | Bilateral template with multipass decoder side motion vector refinement |
US20230388535A1 (en) * | 2022-05-26 | 2023-11-30 | Tencent America LLC | Systems and methods for combining subblock motion compensation and overlapped block motion compensation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110080954A1 (en) * | 2009-10-01 | 2011-04-07 | Bossen Frank J | Motion vector prediction in video coding |
CN102611886A (zh) * | 2011-01-22 | 2012-07-25 | 华为技术有限公司 | 一种运动预测或补偿方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0500174D0 (en) * | 2005-01-06 | 2005-02-16 | Kokaram Anil | Method for estimating motion and occlusion |
US8553758B2 (en) * | 2007-03-02 | 2013-10-08 | Sony Corporation | Motion parameter engine for true motion |
KR101703362B1 (ko) * | 2008-09-04 | 2017-02-06 | 톰슨 라이센싱 | 암시적 모션 예측을 이용한 예측 리파인먼트를 위한 방법들 및 장치들 |
JP5579937B2 (ja) * | 2010-10-06 | 2014-08-27 | インテル コーポレイション | 低複雑度の動きベクトルを導出するシステム及び方法 |
CN102710934B (zh) * | 2011-01-22 | 2015-05-06 | 华为技术有限公司 | 一种运动预测或补偿方法 |
CN107835414B (zh) * | 2011-10-18 | 2020-11-06 | 株式会社Kt | 视频信号解码方法 |
KR102470694B1 (ko) * | 2012-02-04 | 2022-11-25 | 엘지전자 주식회사 | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 |
US10194146B2 (en) * | 2013-03-26 | 2019-01-29 | Qualcomm Incorporated | Device and method for scalable coding of video information |
WO2015006951A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Methods for fast encoder decision |
US10204658B2 (en) * | 2014-07-14 | 2019-02-12 | Sony Interactive Entertainment Inc. | System and method for use in playing back panorama video content |
US10560718B2 (en) * | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
US11638027B2 (en) * | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
-
2018
- 2018-01-03 US US15/861,476 patent/US20180192071A1/en active Pending
- 2018-01-05 CN CN201880005962.2A patent/CN110169073B/zh active Active
- 2018-01-05 WO PCT/CN2018/071518 patent/WO2018127119A1/en unknown
- 2018-01-05 EP EP18735922.9A patent/EP3545682A4/en active Pending
- 2018-01-05 BR BR112019013832A patent/BR112019013832A8/pt unknown
- 2018-01-05 CN CN202310137534.8A patent/CN116170602A/zh active Pending
- 2018-01-05 TW TW107100485A patent/TWI677238B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110080954A1 (en) * | 2009-10-01 | 2011-04-07 | Bossen Frank J | Motion vector prediction in video coding |
CN102611886A (zh) * | 2011-01-22 | 2012-07-25 | 华为技术有限公司 | 一种运动预测或补偿方法 |
Non-Patent Citations (3)
Title |
---|
JIANLE CHEN: ""Algorithm Description of Joint Exploration Test Model 4"", 《JOINT VIDEO EXPLORATION TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 114TH MEETING: CHENGDU, CN, 15–21 OCTOBER 2016》 * |
XU CHEN: ""EE3: Decoder-Side Motion Vector Refinement Based on Bilateral Template Matching"", 《JOINT VIDEO EXPLORATION TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 114TH MEETING: CHENGDU, CN, 15–21 OCTOBER 2016》 * |
YI-JEN CHIU: ""CE1: Report of self derivation of motion estimation in TMuC 0.9"", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG114TH MEETING: DAEGU, KR, 20-28 JANUARY, 2011》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11695921B2 (en) | 2018-06-29 | 2023-07-04 | Beijing Bytedance Network Technology Co., Ltd | Selection of coded motion information for LUT updating |
US11973971B2 (en) | 2018-06-29 | 2024-04-30 | Beijing Bytedance Network Technology Co., Ltd | Conditions for updating LUTs |
US11877002B2 (en) | 2018-06-29 | 2024-01-16 | Beijing Bytedance Network Technology Co., Ltd | Update of look up table: FIFO, constrained FIFO |
US12034914B2 (en) | 2018-06-29 | 2024-07-09 | Beijing Bytedance Network Technology Co., Ltd | Checking order of motion candidates in lut |
US11909989B2 (en) | 2018-06-29 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Number of motion candidates in a look up table to be checked according to mode |
US11706406B2 (en) | 2018-06-29 | 2023-07-18 | Beijing Bytedance Network Technology Co., Ltd | Selection of coded motion information for LUT updating |
US11895318B2 (en) | 2018-06-29 | 2024-02-06 | Beijing Bytedance Network Technology Co., Ltd | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
US20210297659A1 (en) | 2018-09-12 | 2021-09-23 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking hmvp candidates depend on total number minus k |
US11997253B2 (en) | 2018-09-12 | 2024-05-28 | Beijing Bytedance Network Technology Co., Ltd | Conditions for starting checking HMVP candidates depend on total number minus K |
US11909951B2 (en) | 2019-01-13 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Interaction between lut and shared merge list |
US11956464B2 (en) | 2019-01-16 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Inserting order of motion candidates in LUT |
US11962799B2 (en) | 2019-01-16 | 2024-04-16 | Beijing Bytedance Network Technology Co., Ltd | Motion candidates derivation |
CN113678452A (zh) * | 2019-03-01 | 2021-11-19 | 高通股份有限公司 | 对解码器侧运动矢量细化的约束 |
US11641483B2 (en) | 2019-03-22 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
US11641464B2 (en) | 2019-09-19 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Scaling window in video coding |
US11743454B2 (en) | 2019-09-19 | 2023-08-29 | Beijing Bytedance Network Technology Co., Ltd | Deriving reference sample positions in video coding |
US11758196B2 (en) | 2019-10-05 | 2023-09-12 | Beijing Bytedance Network Technology Co., Ltd | Downsampling filter type for chroma blending mask generation |
US11611780B2 (en) | 2019-10-05 | 2023-03-21 | Beijing Bytedance Network Technology Co., Ltd. | Level-based signaling of video coding tools |
US11743504B2 (en) | 2019-10-12 | 2023-08-29 | Beijing Bytedance Network Technology Co., Ltd | Prediction type signaling in video coding |
US11711547B2 (en) | 2019-10-12 | 2023-07-25 | Beijing Bytedance Network Technology Co., Ltd. | Use and signaling of refining video coding tools |
WO2021068955A1 (en) * | 2019-10-12 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Use and signaling of refining video coding tools |
US11722660B2 (en) | 2019-10-13 | 2023-08-08 | Beijing Bytedance Network Technology Co., Ltd | Interplay between reference picture resampling and video coding tools |
US12015795B2 (en) | 2019-12-27 | 2024-06-18 | Beijing Bytedance Network Technology Co., Ltd | Signaling of slice types in video pictures headers |
Also Published As
Publication number | Publication date |
---|---|
CN110169073B (zh) | 2023-03-10 |
CN116170602A (zh) | 2023-05-26 |
EP3545682A1 (en) | 2019-10-02 |
WO2018127119A1 (en) | 2018-07-12 |
TWI677238B (zh) | 2019-11-11 |
TW201841505A (zh) | 2018-11-16 |
BR112019013832A8 (pt) | 2023-02-07 |
US20180192071A1 (en) | 2018-07-05 |
EP3545682A4 (en) | 2020-04-29 |
BR112019013832A2 (pt) | 2020-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110169073A (zh) | 用于视频编解码的解码器侧运动向量恢复 | |
TWI669953B (zh) | 用於視訊編解碼的基於模型的運動向量推導 | |
CN106576171B (zh) | 一种对视频数据进行编码、解码的方法以及装置 | |
US9667992B2 (en) | Method for selecting motion vector predictor and device using same | |
CN106464905B (zh) | 用于块内复制模式编码的块向量预测方法 | |
CN108293113B (zh) | 图像编码***中的基于建模的图像解码方法和设备 | |
US9271013B2 (en) | Merge mode for motion information prediction | |
CN109845268A (zh) | 使用树结构的块分割 | |
JP2019110591A (ja) | 映像復号化方法 | |
CN102474610A (zh) | 用于对运动矢量进行编码/解码的方法和设备 | |
US20200244989A1 (en) | Method and device for inter-prediction mode-based image processing | |
CN103238333A (zh) | 进行图像编码/解码以使帧内预测模式的冗余最小化的方法和设备 | |
US11509890B2 (en) | Methods and apparatus for entropy coding and decoding aspects of video data | |
CN104604228B (zh) | 图像解码方法和使用其的装置 | |
CN105453567A (zh) | 用于非变换编码的扫描次序 | |
RU2809558C2 (ru) | Способ и устройство для кодирования и декодирования изображения | |
CN104349170A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220426 Address after: Hsinchu County, Taiwan, China Applicant after: MEDIATEK Inc. Address before: Hsinchu Science Park Road, Taiwan city of Hsinchu China Dusing 1 Applicant before: MEDIATEK Inc. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |