CN110447228A - 运动向量差(mvd)预测 - Google Patents
运动向量差(mvd)预测 Download PDFInfo
- Publication number
- CN110447228A CN110447228A CN201880020102.6A CN201880020102A CN110447228A CN 110447228 A CN110447228 A CN 110447228A CN 201880020102 A CN201880020102 A CN 201880020102A CN 110447228 A CN110447228 A CN 110447228A
- Authority
- CN
- China
- Prior art keywords
- mvd
- sign
- block
- component
- candidate item
- 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/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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/567—Motion estimation based on rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开描述用以提高对指示运动向量差MVD分量正负号的信息的译码效率的技术。视频译码器可确定MVD分量正负号预测值,并基于所发射或所接收的指示符来确定所述MVD分量正负号预测值是否为所述MVD分量正负号。在一些实例中,所述指示符可经上下文译码,这会提高译码效率。
Description
本申请案要求2017年3月23日提交的美国临时申请案第62/475,801号的权益,所述申请案的全部内容特此以引用的方式并入本文中。
技术领域
本公开涉及视频编码和解码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如描述于以下各者中的技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、ITU-T H.265、高效视频译码(HEVC)标准和这类标准的扩展。视频装置可通过实施这些视频压缩技术而更有效地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术可执行空间(图片内)预测和/或时间(图片间)预测来减少或去除视频序列中固有的冗余。关于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的部分)分割成视频块,例如译码树块和译码块。空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。
发明内容
一般来说,本公开描述涉及帧间预测和帧间相关信息译码的技术。作为一个实例,本公开描述涉及运动向量差(MVD)正负号预测或量值预测的实例技术。尽管关于MVD正负号预测或量值预测进行了描述,但实例技术可适用于用于编码或解码的其它类型的信息。
MVD是当前块的运动向量预测值(MVP)与当前块的实际运动向量(MV)之间的差。MVD包含x分量和y分量,x分量和y分量中的每一个具有量值(例如,数值)和正负号(例如,正或负)。
在一或多个实例中,视频译码器(例如,视频编码器或视频解码器)确定MVD分量正负号预测值。MVD分量正负号预测值是x分量或y分量的正负号应为的预测值。视频译码器还可译码(例如,编码或解码)指示所述MVD分量正负号预测值是正确的还是不正确的指示符(例如,MVD分量正负号预测值等于MVD的实际正负号,还是不等于MVD的实际正负号)。视频解码器可基于MVD分量正负号预测值和指示符而确定当前块的MVD。在一些实例中,视频译码器可基于上下文译码指示符,与基于旁路译码指示符相比较,基于上下文译码指示符可减少需要用信号发送的位的数目。
在一个实例中,本公开描述一种解码视频数据的方法,所述方法包括确定运动向量差(MVD)分量正负号预测值、接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符、基于所述MVD分量正负号预测值和所述指示符而确定所述MVD分量正负号,、基于所述所确定的MVD分量正负号而确定当前块的MVD,以及基于所述所确定的MVD而重建构所述当前块。
在一个实例中,本公开描述一种编码视频数据的方法,所述方法包括确定当前块的MVD的运动向量差(MVD)分量正负号、确定MVD分量正负号预测值、确定指示所述MVD分量正负号是否等于所述MVD分量正负号预测值的指示符,以及用信号发送对应于所述指示符的信息。
在一个实例中,本公开描述一种用于解码视频数据的设备,所述设备包括:一或多个存储媒体,其被配置成存储视频数据;和视频解码器,其耦合到所述一或多个存储媒体并包括一或多个固定功能或可编程处理电路。所述视频解码器被配置成确定运动向量差(MVD)分量正负号预测值、接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符、基于所述MVD分量正负号预测值和所述指示符而确定所述MVD分量正负号、基于所述所确定的MVD分量正负号而确定当前块的MVD,以及基于所述所确定的MVD而重构建所述当前块。
在一个实例中,本公开描述一种上面存储有指令的计算机可读存储媒体,当所述指令被执行时,使得用于解码视频数据的设备的一或多个处理器确定运动向量差(MVD)分量正负号预测值、接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符、基于所述MVD分量正负号预测值和所述指示符而确定所述MVD分量正负号、基于所述所确定的MVD分量正负号而确定当前块的MVD,以及基于所述所确定的MVD而重构建所述当前块。
在下文的附图和描述中阐述本公开的一或多个方面的细节。本公开中所描述的技术的其它特征、目标和优点将从描述、图式和权利要求书中显而易见。
附图说明
图1是说明可使用本公开中所描述的一或多种技术的实例视频编码和解码系统的框图。
图2是说明简化仿射运动模型的概念图。
图3是说明运动向量的实例测量值或度量的概念图。
图4是说明仿射运动向量的实例测量值或度量的概念图。
图5是说明实例假设重构建和成本方程的概念图。
图6是说明可实施本公开中所描述的一或多种技术的实例视频编码器的框图。
图7是说明可实施本公开中所描述的一种或多种技术的实例视频解码器的框图。
图8是说明根据本公开中所描述的技术解码视频数据的实例方法的流程图。
图9是说明根据本公开中所描述的技术编码视频数据的实例方法的流程图。
具体实施方式
视频译码技术利用帧间预测作为编码或解码当前视频数据块的一种实例方式。在帧间预测中,视频编码器基于当前块与参考图片中的块之间的差来确定残余块。当前块的运动向量(MV)识别参考图片中的块。视频编码器可用信号发送指示残余块和运动向量的信息,而非当前块的像素值。接着,视频解码器基于残余块和由MV所指代的参考图片中的块(例如,通过对残余块中的值和参考图片中的块求和)来重构建当前块。用信号发送MV和残余块可能需要比用信号发送当前块的实际像素值更少的位。
为了进一步减少用信号发送的位的数目而非用信号发送指示MV的信息,视频编码器可用信号发送指示MV与运动向量预测值(MVP)之间的差的信息。MV与MVP之间的差被称作运动向量差(MVD)。举例来说,MVD+MVP=MV。视频解码器可接收信息,例如对应于MVP的候选列表中的条目的索引,视频解码器根据所接收到的信息确定MVP。视频解码器还接收指示MVD的信息,并基于MVP和MVD来确定MV。视频解码器接着用MV重构建当前块。
MV、MVP和MVD可各自包含两个分量:x分量和y分量。每一x分量和y分量具有量值(例如,数值)和符号(例如,正或负)。在一些技术中,视频编码器可用信号发送指示每一MVD分量量值的信息,和指示每一MVD分量符号的信息。
在这些技术中,视频编码器可旁路译码每一MVD分量的正负号信息,即,在不使用上下文的情况下译码二进制数(bin),这样可能不会存在值基础(例如,二进制值等于1的概率为50%)。然而,与旁路译码技术相比较,基于上下文的译码技术倾向于减少需要用信号发送的位数目。因此,基于上下文译码MVD分量的正负号信息时可能有益。
当执行基于上下文的译码时,导致正负号信息在一个方向上偏置(例如,更可能为正或更可能为负)的条件改进了熵译码,这是因为可基于先前处理的二进制数来确定二进制数的概率(例如,二进制数为一或零的概率),且任何给定二进制值的概率可以小于或大于50%。然而,在视频编码器用信号发送正负号信息的技术中,正负号信息可能不存在偏置(例如,正负号为正的可能性为50%,且正负号为负的可能性为50%)。因此,在不存在偏置的情况下用信号发送正负号信息的技术可能无法对正负号信息使用基于上下文的译码,和/或与可用信号发送在一个方向上偏置的正负号信息的技术(如下文进一步详细描述)相比较,可能无法有效地使用基于上下文的译码。因此,可用信号发送在一个方向上偏置的正负号信息的技术解决了涉及使用基于上下文的译码的技术问题。
本公开描述基于上下文译码正负号信息的实例技术。如本公开中所描述,视频译码器(例如,视频编码器或视频解码器)可从一或多个MVD候选项中确定MVD分量正负号预测值。举例来说,MVD分量正负号预测值可对应于提供更佳译码度量的MVD候选项的正负号。视频译码器还可确定MVD分量正负号预测值是否实际上等于MVD分量正负号。
在一个实例中,视频编码器可用信号发送指示MVD分量正负号是否等于MVD分量正负号预测值的指示符(例如,语法元素或标志),且视频解码器可接收所述指示符。视频解码器可基于MVD分量正负号预测值和所述指示符来确定MVD分量正负号,并基于所确定的MVD分量正负号来确定当前块的MVD。
作为一实例,假设MVD的x分量的实际MVD分量正负号为正。在一种情况下,视频译码器可确定x分量的MVD分量正负号预测值为负。在这个实例中,视频编码器可用信号发送指示MVD分量正负号不等于MVD分量正负号预测值的指示符,且视频解码器可接收所述指示符。在一种情况下,视频译码器可确定x分量的MVD分量正负号预测值为正。在这个实例中,视频编码器可用信号发送指示MVD分量正负号等于MVD分量正负号预测值的指示符,且视频解码器可接收所述指示符。
通过使用MVD分量正负号预测值,可使指示MVD分量正负号是否等于MVD分量正负号预测值的指示符偏置。举例来说,MVD分量正负号等于MVD分量正负号预测值的可能性更高,或MVD分量正负号不等于MVD分量信号预测值的可能性更高。因此,视频译码器可基于上下文译码指示符,这可能会减少需要用信号发送的位数目。
以此方式,通过允许使用基于上下文的译码技术来确定MVD分量的符号,实例技术可提供技术解决方案。举例来说,使用MVD正负号预测值使得能够使用基于上下文的译码技术来编码或解码指示MVD分量正负号(例如,实际MVD分量正负号)是否等于MVD分量正负号预测值的指示符。
图1是说明可使用本公开的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,所述源装置12提供在稍后时间由目的地装置14解码的经编码视频数据。源装置12经由计算机可读媒体16将经编码视频数据提供到目的地装置14。源装置12和目的地装置14可包含广泛范围的装置中的任一个,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、平板计算机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些状况下,源装置12和目的地装置14经装备以用于无线通信。因此,源装置12和目的地装置14可为无线通信装置。本公开中描述的技术可应用于无线和/或有线应用。源装置12是实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14是实例视频解码装置(即,用于解码视频数据的装置)。
图1的所说明的系统10只是一个实例。可由任何数字视频编码和/或解码装置执行用于处理视频数据的技术。在一些实例中,所述技术可由视频编码器/解码器执行,通常被称作视频译码器或“编码解码器(CODEC)”。源装置12和目的地装置14是源装置12在其中生成经译码视频数据以供发射到目的地装置14的译码装置(编码和/或解码装置)的实例。在一些实例中,源装置12和目的地装置14以大致上对称的方式操作,使得源装置12和目的地装置14中的每一个包含视频编码和解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频发射,例如以用于视频流式传输、视频重放、视频广播或视频电话。
在图1的实例中,源装置12包含视频源18、被配置成存储视频数据的存储媒体19、视频编码器20和输出接口22。目的地装置14包含输入接口26、被配置成存储经编码视频数据的存储媒体28、视频解码器30和显示装置32。在其它实例中,源装置12和目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部摄像机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成显示装置。
视频源18是视频数据的来源。视频数据可包含一系列图片。视频源18可包含视频捕获装置,例如摄像机、含有先前所捕获视频的视频存档和/或用于从视频内容提供者接收视频数据的视频馈入接口。在一些实例中,视频源18生成基于计算机图形的视频数据,或实况视频、所存档视频和计算机生成的视频的组合。存储媒体19可被配置成存储视频数据。在每一状况下,可由视频编码器20编码所捕获、预捕获或计算机生成的视频。
输出接口22可将经编码视频信息输出到计算机可读媒体16。输出接口22可包含各种类型的组件或装置。举例来说,输出接口22可包含无线发射器、调制解调器、有线网络连接组件(例如,以太网卡)或另一物理组件。在输出接口22包含无线发射器的实例中,输出接口22可被配置成发射根据蜂窝式通信标准,例如4G、4G-LTE、高级LTE、5G等等调制的数据,例如经编码视频数据。在输出接口22包含无线发射器的一些实例中,输出接口22可被配置成发射根据其它无线标准,例如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、蓝牙TM标准等等调制的数据,例如经编码视频数据。在一些实例中,输出接口22的电路集成到视频编码器20的电路和/或源装置12的其它组件中。举例来说,视频编码器20和输出接口22可为芯片上系统(SoC)的部分。SoC也可包含其它组件,例如通用微处理器、图形处理单元等等。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包含能够将经编码视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一些实例中,计算机可读媒体16包含通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。通信媒体可包含任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换机、基站或可适用于促进从源装置12到目的地装置14的通信的任何其它设备。目的地装置14可包含被配置成存储经编码视频数据和经解码视频数据的一或多个数据存储媒体。
在一些实例中,输出接口22可将例如经编码视频数据的数据输出到中间装置,例如存储装置。类似地,目的地装置14的输入接口26可从中间装置接收经编码数据。中间装置可包含多种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在一些实例中,中间装置对应于文件服务器。实例文件服务器包含网络服务器、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。
目的地装置14可通过包含因特网连接的任何标准数据连接来存取经编码的视频数据。此可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的组合。经编码视频数据从存储装置的发射可为流式传输发射、下载发射或其组合。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收数据。输入接口26可包含各种类型的组件或装置。举例来说,输入接口26可包含无线接收器、调制解调器、有线网络连接组件(例如,以太网卡)或另一物理组件。在输入接口26包含无线接收器的实例中,输入接口26可被配置成接收根据蜂窝式通信标准,例如4G、4G-LTE、高级LTE、5G等等调制的数据,例如位流。在输入接口26包含无线接收器的一些实例中,输入接口26可被配置成接收根据其它无线标准,例如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、蓝牙TM标准等等调制的数据,例如位流。在一些实例中,输入接口26的电路可集成到视频解码器30的电路和/或目的地装置14的其它组件中。举例来说,视频解码器30和输入接口26可为SoC的部分。SoC也可包含其它组件,例如通用微处理器、图形处理单元等等。
存储媒体28可被配置成存储经编码视频数据,例如输入接口26接收的经编码视频数据(例如,位流)。显示装置32向用户显示经解码视频数据。显示装置32可包含多种显示装置中的任一种,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20和视频解码器30各自可实施为多种合适的电路中的任一种,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器执行所述指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可以集成为相应装置中的组合编码器/解码器(编码解码器)的部分。
在一些实例中,视频编码器20和视频解码器30根据视频译码标准或规范编码和解码视频数据。举例来说,视频编码器20和视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也被称作ISO/IEC MPEG-4AVC)(包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展)或另一视频译码标准或规范来编码和解码视频数据。在一些实例中,视频编码器20和视频解码器30根据高效视频译码(HEVC)(其被称为或为ITU-T H.265)、其范围和屏幕内容译码扩展、其3D视频译码扩展(3D-HEVC)、其多视图扩展(MV-HEVC)或其可缩放扩展(SHVC)来编码和解码视频数据。
本公开通常可涉及“用信号发送”某些信息,例如语法元素。术语“用信号发送”通常可涉及语法元素和/或用以解码经编码视频数据的其它数据的通信。此类通信可实时或接近实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时以位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
在HEVC和其它视频译码规范中,视频数据含一系列图片。图片也可被称作“帧”。图片可包含一或多个样本阵列。图片的每一相应样本阵列可包含用于相应色彩分量的样本阵列。图片可包含三个样本阵列,表示为SL、SCb以及SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。在其它情况下,图片可为单色的且可仅包含明度样本阵列。
作为编码视频数据的部分,视频编码器20可编码视频数据的图片。换句话说,视频编码器20可生成视频数据的图片的经编码表示。图片的经编码表示在本文中可被称作“经译码图片”或“经编码图片”。
为生成图片的经编码表示,视频编码器20可编码图片的块。视频编码器20可在位流中包含视频块的经编码表示。在一些实例中,为编码图片的块,视频编码器20执行帧内预测或帧间预测以生成一或多个预测性块。另外,视频编码器20可生成块的残余数据。残余块包含残余样本。每一残余样本可指示生成的预测性块中的一个的样本与块的对应样本之间的差。视频编码器20可将变换应用于残余样本块以生成变换系数。此外,视频编码器20可量化变换系数。在一些实例中,视频编码器20可生成用以表示变换系数的一或多个语法元素。视频编码器20可对表示变换系数的语法元素中的一或多个进行熵编码。
更具体地,当根据HEVC或其它视频译码规范编码视频数据时,为生成图片的经编码表示,视频编码器20可将图片的每一样本阵列分割成译码树块(CTB)并且编码CTB。CTB可为图片的样本阵列中的N×N样本块。在HEVC主规范中,CTB的大小可以在16×16到64×64的范围内变化,但也可在技术上支持8×8CTB大小。
图片的译码树单元(CTU)可包含一或多个CTB并且可包含用以编码一或多个CTB的样本的语法结构。举例来说,CTU可包含明度样本的CTB、色度样本的两个对应CTB,以及用以编码CTB的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包含单个CTB和用以编码CTB的样本的语法结构。CTU也可被称作“树块”或“最大译码单元(LCU)”。在本公开中,“语法结构”可定义为在位流中按特定次序一起呈现的零或多个语法元素。在一些编码解码器中,经编码图片是含有图片的所有CTU的经编码表示。
为编码图片的CTU,视频编码器20可将CTU的CTB分割成一或多个译码块。译码块可为N×N样本块。在一些编码解码器中,为编码图片的CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将CTB分割成译码块,因此命名为“译码树单元”。译码单元(CU)可包含一或多个译码块和用以编码一或多个译码块的样本的语法结构。举例来说,CU可包含明度样本的译码块和具有明度样本阵列、Cb、样本阵列和Cr样本阵列的图片的色度样本的两个对应译码块,以及用以编码译码块的样本的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包含单个译码块和用以对译码块的样本进行译码的语法结构。
此外,视频编码器20可编码视频数据的图片的CU。在一些编码解码器中,作为编码CU的部分,视频编码器20可将CU的译码块分割成一或多个预测块。预测块是被应用相同预测的矩形(即,正方形或非正方形)样本块。CU的预测单元(PU)可包含CU的一或多个预测块和用以预测所述一或多个预测块的语法结构。举例来说,PU可包含明度样本的预测块、两个对应的色度样本预测块以及用以预测所述预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包含单个预测块和用以对预测块进行预测的语法结构。
视频编码器20可生成用于CU的PU的预测块(例如,明度、Cb和Cr预测块)的预测性块(例如,明度、Cb和Cr预测性块)。视频编码器20可使用帧内预测或帧间预测生成预测性块。如果视频编码器20使用帧内预测生成预测性块,那么视频编码器20可基于包含CU的图片的经解码样本生成预测性块。如果视频编码器20使用帧间预测来生成当前图片的PU的预测性块,那么视频编码器20可基于参考图片(即,除当前图片以外的图片)的经解码样本生成PU的预测性块。在HEVC中,视频编码器20生成用于经帧间预测PU的“coding_unit”语法结构内的“prediction_unit”语法结构,而不是生成经帧内预测PU的“coding_unit”语法结构内的“prediction_unit”语法结构。更确切地,在HEVC中,关于经帧内预测PU的语法元素直接包含在“coding_unit”语法结构中。
视频编码器20可生成CU的一或多个残余块。举例来说,视频编码器20可生成CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一个中的明度样本与CU的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以生成CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一个中的Cb样本与CU的原始Cb译码块中对应样本之间的差异。视频编码器20还可生成CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一个中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。
此外,视频编码器20可将CU的残余块分解为一或多个变换块。举例来说,视频编码器20可使用四叉树分割将CU的残余块分解为一或多个变换块。变换块是被应用相同变换的矩形(例如,正方形或非正方形)样本块。CU的变换单元(TU)可包含一或多个变换块。举例来说,TU可包含明度样本的变换块、色度样本的两个对应变换块,以及用以变换所述变换块样本的语法结构。因此,CU的每一TU可具有明度变换块、Cb变换块以及Cr变换块。TU的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包含单个变换块和用以对变换块的样本进行变换的语法结构。
视频编码器20可将一或多个变换应用于TU的变换块以产生TU的系数块。系数块可以是变换系数的二维阵列。变换系数可为标量。在一些实例中,一或多个变换将变换块从像素域转换到频域。因此,在此类实例中,变换系数可以是被视为在频域内的标量。变换系数层级是表示在变换系数值的计算的按比例缩放之前与解码过程中的特定2维频率索引相关联的值的整数量。
在一些实例中,视频编码器20跳过对变换块应用变换。在此类实例中,视频编码器20可以与变换系数相同的方式处理残余样本值。因此,在视频编码器20跳过应用变换的实例中,以下对变换系数和系数块的论述可适用于残余样本的变换块。
在生成系数块之后,视频编码器20可量化系数块以可能地减小用以表示系数块的数据量,从而潜在地提供进一步压缩。量化大体上是指将一范围的值压缩成单个值的过程。举例来说,可通过使一值除以恒定值,并且接着四舍五入为最靠近整数,进行量化。为量化系数块,视频编码器20可量化系数块的变换系数。量化可减少与变换系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。在一些实例中,视频编码器20跳过量化。
视频编码器20可生成指示一些或所有潜在经量化变换系数的语法元素。视频编码器20可对指示经量化变换系数的语法元素中的一或多个进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。因此,经编码块(例如,经编码CU)可包含指示经量化变换系数的经熵编码语法元素。
视频编码器20可输出包含经编码视频数据的位流。换句话说,视频编码器20可输出包含视频数据的经编码表示的位流。视频数据的经编码表示可包含视频数据的图片的经编码表示。举例来说,所述位流可包含形成视频数据和相关联数据的经编码图片的表示的位序列。在一些实例中,经编码图片的表示可包含图片的块的经编码表示。
视频解码器30可接收由视频编码器20生成的位流。如上文所提及,位流可包含视频数据的经编码表示。视频解码器30可解码所述位流以重构建视频数据的图片。作为解码位流的部分,视频解码器30可从位流获取语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构建视频数据的图片。用以重构建视频数据的图片的过程可与由视频编码器20执行以编码图片的过程大体互逆。
举例来说,作为解码视频数据的图片的部分,视频解码器30可使用帧间预测或帧内预测生成预测性块。另外,视频解码器30可基于从位流获得的语法元素确定变换系数。在一些实例中,视频解码器30逆量化所确定的变换系数。逆量化将量化值映射到经重构建值。举例来说,通过确定乘以量化步长大小的值,视频解码器30可逆量化所述值。此外,视频解码器30可在所确定的变换系数上应用逆变换以确定残余样本的值。视频解码器30可基于残余样本和所生成的预测性块的对应样本来重构建图片的块。举例来说,视频解码器30可将残余样本添加到所生成的预测性块的对应样本以确定块的经重构建样本。
更具体地,在HEVC和其它视频译码规范中,视频解码器30可使用帧间预测或帧内预测来生成当前CU的每一PU的一或多个预测性块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构建当前CU的TU的变换块。视频解码器30可基于当前CU的PU的预测性块的样本和当前CU的TU的变换块的残余样本来重构建当前CU的译码块。在一些实例中,视频解码器30可以通过将当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应的经解码样本上来重构建当前CU的译码块。通过重构建用于图片的每个CU的译码块,视频解码器30可重构建图片。
图片的切片可包含图片的整数数目个块。举例来说,在HEVC和其它视频译码规范中,图片的切片可包含所述图片的整数数目个CTU。可按例如光栅扫描次序的扫描次序将切片的CTU连续地排序。在HEVC中,切片定义为一个独立切片段和在同一存取单元内的下一独立切片段(如果存在)之前的所有后续相依切片段(如果存在)中所含的整数数目个CTU。此外,在HEVC中,切片段定义为在图块扫描中连续地排序并且含于单个NAL单元中的整数数目个CTU。图块扫描是分割图片的CTB的特定依序排序,其中在图块中的CTB光栅扫描中连续地排序CTB,而在图片的图块的光栅扫描中连续地排序图片中的图块。图块是图片中的特定图块列和特定图块行内的CTB的矩形区域。
如上文所提及,视频编码器20和视频解码器30可将CABAC编码和解码应用于语法元素。为了将CABAC编码应用于语法元素,视频为了将CABAC编码应用于语法元素,视频编码器20可将语法元素二进制化以形成被称为“二进制数”的一系列一或多个位。另外,视频编码器20可识别译码上下文(也被称为符号或二进制数概率)。译码上下文可以识别二进制数具有特定值的概率。举例来说,译码上下文可以指示对0值二进制数进行译码的0.7概率,以及对1值二进制数进行译码的0.3概率。在识别出译码上下文之后,视频编码器20可将区间划分成下部子区间和上部子区间。所述子区间中的一个可与值0相关联,且另一子区间可与值1相关联。所述子区间的宽度可与由所识别的译码上下文关于相关联值所指示的概率成正比。如果语法元素的二进制数具有与下部子区间相关联的值,那么经编码值可等于下部子区间的下边界。如果语法元素的相同二进制数具有与上部子区间相关联的值,那么经编码值可等于上部子区间的下边界。为了编码语法元素的下一个二进制数,视频编码器20可重复这些步骤,其中区间为与经编码位的值相关联的子区间。当视频编码器20针对下一个二进制数重复这些步骤时,视频编码器20可使用基于由经识别的译码上下文指示的概率及经编码的二进制数的实际值的经修改概率。
当视频解码器30对语法元素执行CABAC解码时,视频解码器30可识别译码上下文(也被称为符号或二进制数概率)。视频解码器30可接着将区间划分成下部子区间和上部子区间。所述子区间中的一个可与值0相关联,且另一子区间可与值1相关联。所述子区间的宽度可与由所识别的译码上下文关于相关联值所指示的概率成正比。如果经编码值在下部子区间内,那么视频解码器30可解码具有与下部子区间相关联的值的二进制数。如果经编码值在上部子区间内,那么视频解码器30可解码具有与上部子区间相关联的值的二进制数。为了解码语法元素的下一个二进制数,视频解码器30可重复这些步骤,其中区间为含有经编码值的子区间。当视频解码器30针对下一个二进制数重复这些步骤时,视频解码器30可使用基于由经识别的译码上下文指示的概率及经解码的二进制数的经修改概率。视频解码器30可接着对二进制数去二进制化以恢复语法元素。
视频编码器20可使用旁路CABAC译码来编码一些二进制数。与对二进制数执行常规CABAC译码相比,对二进制数执行旁路CABAC译码在计算上可较便宜。此外,执行旁路CABAC译码可允许较高的平行度和通过量。使用旁路CABAC译码来编码的二进制数可被称为“旁路二进制数”。将旁路二进制数分组在一起可增加视频编码器20和视频解码器30的处理量。旁路CABAC译码引擎可能够在单个循环中对若干二进制数进行译码,而常规CABAC译码引擎在一循环中可仅能够对单个二进制数进行译码。旁路CABAC译码引擎可较简单,因为旁路旁路CABAC译码引擎可较简单,因为旁路CABAC译码引擎并不选择上下文,且可对两个符号(0和1)假定概率1/2。因此,在旁路CABAC译码中,区间直接以二分之一分裂。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(也被称作ISO/IECMPEG-4AVC)、ITU-T H.265(也被称作HEVC),包含例如可缩放视频译码(SVC)、多视图视频译码(MVC)以及屏幕内容译码(SCC)的扩展。
视频译码标准还包含未来视频译码标准,例如JVET测试模型,其为超出HEVC的开发活动。视频译码标准还包含专有视频编解码器,如其它组织开发的Google VP8、VP9、VP10以及视频编码解码器,例如Alliance for Open Media。
在HEVC和JVET用作测试模型的联合探索模型(JEM)的实例中,运动向量差(MVD),其为用于导出框间预测值的运动向量(MV)与其运动向量预测值(MVP)之间的差,在位流中用信号发送给视频解码器30。MV、MVP和MVD是向量并具有两个分量:水平和竖直。当MVDx(例如,MVD的x分量)或MVDy(例如,MVDy的y分量)不等于零时,其正负号用信号发送。通常使用CABAC旁路模式(未经上下文译码)来用信号发送正负号。
举例来说,作为帧间预测的部分,视频编码器20确定当前块的MV。然而,而非用信号发送当前块的MV的向量分量,通过用信号发送MV与MVP之间的MVD,可能存在位节省。确定MVP可能存在各种实例方式。作为一个实例,作为高级运动向量预测(AMVP)模式的部分,视频编码器20基于相邻块的运动向量来构建候选MVP的列表。在此类实例中,MVD是MV与候选MVP的列表中的MVP之间的差。
视频解码器30可以类似方式构建候选MVP的列表(例如,使用与视频编码器20相同的过程),使得视频解码器30处候选MVP的列表与视频编码器20处候选MVP的列表相同。视频编码器20可用信号发送对应于候选MVP的列表中的条目的索引,其指示当前块的MVP在候选MVP的列表内所处的位置。举例来说,如果视频编码器20选择的MVP在候选MVP的列表的第一条目内,那么视频编码器20可用信号发送“0”作为索引。根据所述索引,视频解码器30确定当前块的MVP,并将MVP添加到MVD,视频编码器20用信号发送所述MVD以确定当前块的MV。
在HEVC中,平移运动模型用于运动补偿预测(MCP)(例如,帧间预测)。然而在现实世界中存在多种类别的运动,例如放大/缩小、旋转、远景运动(perspective motion)和其它不规则运动。在JEM中,应用简化的仿射变换运动补偿预测以改进译码效率。仿射变换是帧间预测的另一实例(例如,仿射变换模式是另一类型的帧间预测模式)。如图2所示,通过两个控制点运动向量描述块的仿射运动场。
通过下式描述块的运动向量场(MVF):
图2说明具有控制点36和40的当前块41。在图2中,(v0x,v0y)是左上角控制点36的运动向量34,且(v1x,v1y)是右上角控制点40的运动向量38。当前块41的MVF指示当前块41内子块的运动向量。举例来说,(vx,vy)定义位于当前块41内(x,y)处的子块的运动向量。视频编码器20和视频解码器30可基于当前块41的子块的MVF来执行帧间预测技术。
在一些实例中,视频编码器20用信号发送指示运动向量34的(v0x,v0y)和运动向量38的(v1x,v1y)的值的信息。然而,为了减少需要用信号发送的信息量,类似于AMVP模式,视频编码器20可用信号发送指示MVP(例如,对应于候选MVP的列表内的条目的索引)和MVD的信息。接着,视频解码器30可根据相应的MVP和MVD来确定控制点(例如,左上角控制点36和右上角控制点40)的运动向量(例如,左上角控制点36的MV 34的一个MVP和MVD,和右上角控制点40的MV 38的一个MVP和MVD)。
在上述实例中,MVD包含x分量(MVDx)和y分量(MVDy)。MVDx和MVDy各自包含量值和正负号。在本公开中所描述的一或多个实例中,而非简单地用信号发送量值和正负号信息,实例技术描述使用预测技术来确定MVDx和MVDy的量值和正负号的方式。
视频编码器20和视频解码器30可能未必对量值和正负号都应用预测技术,且可针对量值和正负号中的一个执行预测技术。然而,可针对量值和正负号执行实例预测技术。
此外,在更详细地描述某些条件下,视频编码器20和视频解码器30可能不会执行预测技术。举例来说,如果MVDx或MVDy的量值小于阈值,那么视频编码器20和视频解码器30可能不会执行预测技术。
在描述用于确定MVDx和MVDy的正负号和量值的实例预测技术之前,以下内容描述用于指示系数块(例如,由TU的变换引起或量化之后的块)的量值和正负号的一些实例技术。为了改进正负号位信息的译码效率,已在文献中提出了系数正负号预测方法。在一些技术中,例如在Felix Henry、Gordon Clare的“残余系数正负号预测(Residual CoefficientSign Prediction)”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11,Doc.JVET-D0031的联合视频勘探组(JVET),2016年10月,(以下称JVET-D0031)中,已在JEM之上提出了正负号预测方法。基本上,为了预测一个系数的正负号,使用此正负号的正值和负值来重构建TB(例如,有可能是变换块,其为TU的部分),且使用候选正负号值的每个块重构建被称为假设重构建。通过给定的空间域成本函数来评估两个假设重构建,且最小化成本函数的假设给出预测的正负号值。
此外,为了预测TB的多个符号,例如,N个符号,使用候选符号预测值的不同组合来重构建TB,其包含2N个不同的假设重构建。类似地,通过给定的空间域成本函数来评估每种假设,且最小化成本函数的假设给出预测的正负号值组合。
成本函数通常使用假设之一来测量先前重构建的相邻像素与当前测试的经重构建块之间的空间不连续性。展示当前块的块边界处的最平滑像素值转变的假设被认为是最佳预测。
举例来说,在一些技术(例如,JVET-D0031)中,使用假设重构建的最左侧和最顶部像素来测量成本。图5中说明假设重构建和成本方程的一个实例。
图5说明具有顶行假设重构建值p0,0到p3,0的当前块58,其基于顶部相邻块60的底部两行,其为先前重构建的相邻像素。当前块58还包含第一列假设重构建值p0,0到p0,3,其基于左相邻块62的最右侧两列,其为先前重构建的相邻像素。
在一些技术中使用的特定正负号预测方案中,视频编码器20首先解量化TU(例如,变换单元),然后选择将预测正负号的n个系数。以光栅扫描次序扫描系数,且当收集要处理的n个系数时,随着定义的阈值解量化的值优于低于所述阈值的值。
利用这n个值,如下文所描述执行2n次简化的边界重构建,n个系数的正负号的每个唯一组合进行一次重构建。为了降低执行正负号预测的复杂度,执行基于模板的假设重构建。对于特定假设重构建,仅从添加到块预测的逆变换重新产生块的最左侧和最顶部像素。尽管第一(竖直)逆变换完成,但第二(水平)逆变换仅需要创建最左侧和最顶部的像素输出,因此更快。另外一个标志“topLeft”已被添加到逆变换函数中以允许发生这种情况。
另外,通过使用“模板”系统来减少所执行的逆变换操作的数量。以此方式,当预测块中的个正负号时,仅执行n+1次逆变换操作:
1)对解量化系数进行操作的单个逆变换,其中被预测的所有正负号的值被设置为正。一旦添加到当前块的预测,这就对应于第一假设的边界重构建。
2)对于预测了正负号的n个系数中的每一个,对含有对应的解量化(和正)系数的其它空块执行逆变换操作作为其唯一的非空元素。最左侧和最顶部的边界值保存在所谓的“模板”中,以便在以后的重构建过程中使用。
用于稍后假设的边界重构建开始于采用先前假设的适当保存的重构建,其仅需要将单个预测正负号从正变为负以便构建期望的当前假设。然后通过从与预测的正负号对应的模板的假设边界加倍和减去来近似所述正负号的变化。然后,如果已知重新用于构建后来的假设,那么在成本核算之后的边界重构建被保存。
模板名称 | 创建方式 |
T001 | inv xform single+ve 1<sup>st</sup> sign-hidden coeff |
T010 | inv xform single+ve 2<sup>nd</sup> sign-hidden coeff |
T100 | inv xform single+ve 3<sup>rd</sup> sign-hidden coeff |
表1展示3个正负号8个条目案例的保存/恢复和模板应用程序
在一些实例中,这些近似可以仅在正负号预测过程中使用,而不是在最终重构建期间使用。
对于具有较大量值的变换系数,正负号预测通常给出更好的机会来实现正确的预测。这是因为对于具有较大量值的变换系数的不正确的正负号预测通常展示出对边界样本平滑度的更多差异。
利用正负号预测,代替译码显式正负号值,译码正负号预测的正确性。例如,为了预测实际上具有正值的系数正负号,如果预测正负号也为正,即,正负号预测是正确的,那么译码“0”二进制数。否则,如果预测正负号为负,即,正负号预测不正确,那么译码“1”二进制数。以此方式,所述技术可以利用变换系数的层级值(量值)作为用于译码正负号预测的正确性的上下文,因为较大量值的变换系数倾向于更可能为“0”二进制数。
本公开公开了预测MVD的符号(例如,极性)和量值的实例技术。所述描述使用MVD作为一实例,然而,类似的方法可应用于其它信息。举例来说,此类信息可为在位流中用信号发送的其它语法元素,或可在视频编码器20及/或视频解码器30处用信号发送等导出的其它元素。在较具体实例中,信息可以是合并索引的量值。
所描述技术可用于预测正负号或其它信息,且一些指示符可用信号发送以识别预测值是否匹配于实际正负号或其它信息。在另一实例中,所描述方法可用于推断正负号是否等于预测值,如下文进一步详细描述。
所描述技术可以任何组合或其它替代例使用,所述组合或替代例可以不是明确描述的,而是结合其它方法或算法从所提供的实例导出。
对于MVD正负号预测或MVD正负号推断,如果MVD分量不等于零,那么视频编码器20可用信号发送MVD正负号的信息。在本公开中,提出了而非用信号发送每非零分量的正负号,视频编码器20可用信号发送指示MVD分量正负号是否等于预测值的指示符,例如标志。举例来说,视频编码器20可确定实际的MVD分量正负号并确定MVD分量正负号预测值。作为一实例,基于平衡译码复杂度、视频质量和位流频宽的各种成本函数,视频编码器20可确定当前块的MV,并基于可供使用的MVP和MV来确定当前块的MVD。基于所确定的MVD,视频编码器20可确定x分量和y分量的MVD分量正负号。
视频编码器20可执行单独的操作以确定两个MVD分量中的每一个的正负号的MVD分量正负号预测值。对MVD分量正负号预测值的确定可基于已经译码的块。
视频解码器30可执行与视频编码器20类似的技术,以确定MVD分量正负号预测值。作为一个实例,视频解码器30可被预配置成用于执行视频编码器20执行以确定MVD分量正负号预测值的相同操作,且可能不会需要来自视频编码器20的关于如何确定MVD分量正负号预测值的信息。作为另一实例,视频编码器20可用信号发送指示视频解码器30如何确定MVD分量正负号预测值的信息。因此,在两个实例中,视频编码器20和视频解码器30确定的MVD分量正负号预测值是相同的。
视频编码器20可用信号发送指示实际的MVD分量正负号是否等于MVD分量正负号预测值的指示符。举例来说,视频编码器20可用信号发送等于1的MVD正负号预测值标志,以指示MVD分量正负号等于MVD分量正负号预测值。在这个实例中,如果视频编码器20针对MVD分量正负号预测值中的每一个用信号发送1,那么视频解码器30可将MVD分量正负号设置为等于MVD分量正负号预测值。
否则,如MVD分量正负号预测值不等于实际的MVD分量正负号,那么视频编码器20可用信号发送预测值标志0。在此类实例中,视频解码器30可将MVD分量正负号设置为MVD分量正负号预测值的相反值。基于直到所述点可用的信息(例如,已经编码或解码的块),在编码器(例如,视频编码器20)和解码器侧(例如,视频解码器30)上导出预测值。
作为一个实例,假设实际的MVDx正负号为负,且实际的MVDy正负号为正。在这个实例中,假设MVDx正负号预测值为负,且MVDy正负号预测值为负。因此,视频编码器20可用信号发送MVDx的指示符(例如,标志值1),这是因为MVDx正负号预测值的正负号(例如,负)等于实际MVDx正负号的正负号(例如,负)。视频编码器20可用信号发送MVDy的指示符(例如,标志值0),这是因为MVDy正负号预测值的正负号(例如,负)不等于实际MVDy正负号的正负号(例如,正)。在这个实例中,对于MVDx的正负号,视频解码器30可将MVDx的正负号设置为等于MVDx正负号预测值的正负号,这是因为所述指示符指示了MVDx的正负号等于MVDx正负号预测值的正负号(例如,所述指示符指示了MVDx正负号预测值是正确的)。对于MVDy的正负号,视频解码器30可将MVDy的正负号设置为与MVDy正负号预测值的正负号相反,这是因为所述指示符指示了MVDy的正负号不等于MVDy正负号预测值的正负号(例如,所述指示符指示了MVDy正负号预测值是不正确的)。
视频编码器20和视频解码器30可以各种方式来确定MVD分量正负号预测值。在一个实例中,通过利用MVD候选项(使用正和负符号值)执行块重构建来获得正负号预测值,并选择一个候选正负号作为正负号预测值。可以通过将所有可能的正负号添加到MVD分量绝对值来生成MVD候选项。举例来说,在一个实例中,绝对MVD值是(1,1),则MVD候选项可以是(-1,1)、(1,-1)、(1,1)、(-1,-1)。其中一个候选项是真正的MVD,在理想状况下应将其设置为MVD正负号预测值。如果一个分量是零,那么不需要进行正负号预测,且可能不会针对零MVD分量用信号发送正负号预测值标志。
因此,视频编码器20和视频解码器30可被配置成确定MVD候选项。如果绝对MVD值是(MVDx,MVDy),那么在一个实例中,MVD候选项是:(+MVDx,+MVDy)、(-MVDx,+MVDy)、(+MVDx,-MVDy)以及(-MVDx,-MVDy)。视频编码器20和视频解码器30可选择一个MVD候选项的正负号作为MVD分量正负号预测值。举例来说,视频编码器20和视频解码器30可从MVD候选项的正负号中选择MVDx和MVDy的正负号。如本实例中所见,MVD候选项包含MVD分量具有不同正负号的一或多个MVD。可能存在MVD候选项的其它实例,例如四个实例MVD候选项的子集。
如上文所描述,通过通过将MVP添加到MVD候选项,视频编码器20和视频解码器30可导出MV候选项。使用MV候选项执行帧间预测技术。举例来说,将可以经量化变换系数的形式用信号发送的经重构建残差添加到预测值,因此导出多个经重构建块。
举例来说,视频编码器20和视频解码器30可各自利用MVD候选项执行块重构建以生成经重构建块。作为一个实例,假设MVP是(MVPx,MVPy)。视频编码器20和视频解码器30可确定四个运动向量候选项MV1到MV4,如下:(MVPx-MVDx,MVPy-MVDy)、(MVPx+MVDx,MVPy-MVDy)、(MVPx-MVDx,MVPy+MVDy)以及(MVPx+MVDx,MVPy+MVDy)。视频编码器20和视频解码器30可识别运动向量候选项MV1到MV4中的每一个的块。所识别块中的每一个被称作经重构建块。
视频编码器20和视频解码器30可基于度量选择一个经重构建块。举例来说,根据特定测量值或度量来选择最佳经重构建块,且选择对应的MVD候选项的分量正负号作为MVD正负号预测值。在知晓MVD正负号预测值和MVD正负号预测值标志的情况下,可重构建真正的MVD。使用不同的MV候选项重构建的经重构建块不需要一定与当前块大小相同。举例来说,经重构建块的经重构建部分可以是块边界附近的若干行和列,以执行度量计算。为简单起见,在一些实例中,仅重构建部分像素样本以选择最佳的MV候选项。举例来说,块包含表示所述块内像素颜色的一或多个像素样本。部分像素样本意味着不需要重构建块的所有像素样本,且仅为了确定MVD正负号预测值而重构建块的像素样本的子集。在一个实例中,对于每一MV候选项,仅重构建位于顶部和左侧边界处的4×4块中的部分像素样本(例如,其为块中的所有像素样本的子集)MV候选项,且根据特定测量值或度量使用经重构建边界像素来选择最佳的MV候选项。
换句话说,在以上实例中,对于给出了特定MVD量值的每一可能的MVD正负号,视频编码器20和视频解码器30可确定哪一MV提供最佳结果,并确定MVD正负号组合作为两个MVD分量(例如,MVDx和MVDy)的MVD分量正负号预测值。如上文所描述,视频编码器20和视频解码器30可确定运动向量候选项MV1到MV4。
视频编码器20和视频解码器30可确定运动向量候选项MV1、MV2、MV3和MV4中的每一个指代的参考图片中的块(例如,经重构建块)。基于MV1、MV2、MV3和MV4中的每一个指代的经重构建块,视频编码器20和视频解码器30可确定四个MVD值中的哪一个是MVD分量正负号预测值。举例来说,假设基于下文所述的一或多个度量,视频编码器20和视频解码器30确定MV3是最佳选择。在这个实例中,MV3等于(MVPx-MVDx,MVPy+MVDy)。因此,MVDx正负号预测值为负,且MVDy正负号预测值为正。
举例来说,视频编码器20和视频解码器30可确定所选择经重构建块的MVD候选项。在这个实例中,所选择的经重构建块是由MV3所指代的块。用以确定MV3的MVD值是(-MVDx,+MVDy)。因此,视频编码器20和视频解码器30可确定所选择的经重构建块的MVD候选项作为(-MVDx,+MVDy)。在这个实例中,视频编码器20和视频解码器30可选择所选择的经重构建块的所确定的MVD候选项的正负号作为MVD分量正负号预测值。举例来说,MVD的x分量的MVD分量正负号预测值为负,这是因为选择了-MVDx,且MVD的y分量的MVD分量正负号预测值为正,这是因为选择了+MVDy。
除了MVD分量正负号预测值(例如,MVDx正负号预测值和MVDy正负号预测值)以外,视频编码器20还可确定实际的MVD分量正负号。如果相应的MVD分量正负号预测值等于实际的MVD分量正负号,那么视频编码器20可用信号发送指示相应的MVD分量正负号预测值等于实际的MVD分量正负号的指示值。如果相应的MVD分量正负号预测值不等于实际的MVD分量正负号,那么视频编码器20可用信号发送指示相应的MVD分量正负号预测值不等于实际的MVD分量正负号的指示值。
举例来说,假设MVDx的实际的MVD分量正负号为正,且MVDy的实际的MVD分量正负号为正,且MVDx正负号预测值为负且MVDy正负号预测值为正。在这个实例中,对于MVDx,视频编码器20可用信号发送指示MVDx正负号的MVDx正负号预测值是不正确的预测值的指示值(例如,指示值为0),这是因为实际的MVDx正负号不等于MVDx正负号预测值。对于MVDy,视频编码器20可用信号发送指示MVDy正负号的MVDy正负号预测值是正确的预测值(例如,指示值为1),这是因为实际的MVDy正负号不等于MVDy正负号预测值。
视频解码器30可执行与视频编码器20类似的操作以确定MVD分量正负号预测值。举例来说,视频解码器30,类似于视频编码器20,可确定MVDx正负号预测值为负,且MVDy正负号预测值为正。在这个实例中,对于MVDx,视频解码器30可接收指示MVDx正负号的MVDx正负号预测值是不正确的预测值的指示值。因此,视频解码器30可确定MVDx的正负号与MVDx正负号预测值相反(例如,MVDx的正负号为正)。对于MVDy,视频解码器30可接收指示MVDy正负号的MVDy正负号预测值是正确的指示值。因此,视频解码器30可确定MVDy的正负号与MVDy正负号预测值相同(例如,MVDy正负号正负号为正)。
以下内容描述视频编码器20和视频解码器30可用于确定MVD分量正负号预测值的实例度量。多种测量值或度量可用于选择待用作正负号预测值的MVD候选项。在一个实例中,测量对应于每一MVD候选项的经重构建块与已经解码并重构建的相邻块之间的不连续性。可选择给出最小不连续性的MVD候选项作为MVD正负号预测值。在一个实例中,可将不连续性计算为经重构建块内的边界样本与相邻块内的对应边界样本之间的绝对差总和或平方(或任何其它幂)差总和。此类度量背后的想法是相邻样本没有太大的不同。换句话说,其可以是经重构建的候选项和相邻块的水平和竖直边缘上的绝对梯度之和。在另一实例中,可将绝对最大差或梯度选择为不连续性测量值。在实例中描述了l0、l1和L2范数,可使用其它Ln范数,或对于确定不连续性的任何其它已知范数。
在另一实例中,度量可以是对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量。视频编码器20和视频解码器30可确定由运动向量候选项MV1到M4中的一个所指代的经重构建块与相邻于经重构建块的块之间的差。视频编码器20和视频解码器30可针对由运动向量候选项MV1到MV4所指代的所有四个经重构建块执行此类操作。所确定的差可以是不连续性的测量值,且视频编码器20和视频解码器30可确定哪一经重构建块具有最小不连续性。视频编码器20和视频解码器30可确定运动向量候选项MV1到MV4中的哪一个指代具有最小不连续性的经重构建块,并确定用于确定指代具有最小不连续性的经重构建块的MV1到MV4中的一个的MVD候选项的MVD正负号值。在这个实例中,视频编码器20和视频解码器30可将MVD候选项的MVD正负号值设置为MVD分量正负号预测值。
在一个实例中,可将测量值或度量计算为当前块的模板与由MV候选项(MVP+MVD候选项)所指的参考块的模板之间的绝对差总和(SAD)或平方(或任何其它幂)差总和(SSD)。在另一实例中,可将测量值或度量计算为当前块的模板与由MV候选项(MVP+MVD候选项)所指的参考块的模板之间的平均移除SAD或平均移除SSD。在又另一实例中,使用SAD或SSD,但将平均移除SAD或平均移除SSD用于补偿照明的块。举例来说,用于补偿照明的块的平均移除SAD或平均移除SSD将补偿当前块与参考块之间的颜色分量强度差。模板可为L形模板,如图3中所示。
举例来说,图3说明当前图片内的当前块48。图3还说明根据不同的MVD候选项确定的运动向量候选项42和运动向量候选项44。运动向量候选项42指代(例如,识别)参考图片内的参考块50,且运动向量候选项44指代(例如,识别)参考图片内的参考块52。
当前块48周围的L形模板46包含在当前块48上方和左侧的像素样本值。视频编码器20和视频解码器30可以类似方式确定在参考块50和52左上方的像素样本值,如所说明。视频编码器20和视频解码器30可确定L形模板(例如,L形模板46和在参考块50和52上方的L形模板)之间的不连续性。基于哪一模板提供最少不连续性,视频编码器20和视频解码器30可识别运动向量候选项42或44中的一个。假设视频编码器20和视频解码器30识别了运动向量候选项42。在这个实例中,视频编码器20和视频解码器30可确定用于生成运动向量候选项42的MVD分量的正负号,并选择MVD分量的正负号作为MVD分量正负号预测值。
在一个实例中,用于确定MVD分量正负号预测值的度量是基于当前块的模板和由运动向量候选项所指的参考块的模板。运动向量候选项的实例包含MV1到MV4。模板(例如,L形模板46和在参考块50和52上方的模板)可为由MV1到MV4所指代的经重构建块(例如,参考块50和52)上方的L形内的像素值和在当前块48上方的L形内的像素值。视频编码器20和视频解码器30可确定当前块48的模板46相对于经重构建块(例如,参考块50和52)的模板的不连续性,以确定哪一模板提供最少不连续性。
视频编码器20和视频解码器30可确定具有提供了最少不连续性的模板的经重构建块(例如,参考块50或52中的一个),并确定经重构建块的运动向量候选项。视频编码器20和视频解码器30可确定用于生成所确定的运动向量候选项的MVD候选项。在这个实例中,视频编码器20和视频解码器30可将MVD候选项的MVD正负号值设置为MVD分量正负号预测值。
L形模板仅为模板的一个实例。其它实例模板是可能的,例如在块上方的像素的水平带,或紧靠着块的像素的竖直带。
在一些实例中,可将测量值或度量计算为MV候选项(MVP+MVD候选项)与相邻块的MV之间的绝对差或平方(或任何其它幂)差总和。举例来说,用以确定MVD分量正负号预测值的度量是基于相邻块的运动向量候选项和运动向量。作为一个实例,视频编码器20和视频解码器30可确定MV1到MV4中的每一个与相邻于当前块的一或多个块的MV之间的差。视频编码器20和视频解码器30可确定最接近于相邻于当前块的一或多个块的MV的运动向量候选项(例如,MV1到MV4中的一个)。视频编码器20和视频解码器30可确定用于生成所确定的运动向量候选项的MVD候选项。在这个实例中,视频编码器20和视频解码器30可将MVD候选项的MVD正负号值设置为MVD分量正负号预测值。
因为仿射运动向量可表示局部运动而非整个CU运动,所以在一些实例中,可根据仿射运动位置减小“不连续性”或“模板之间的差”的测量值或度量。图4展示减小左上方仿射运动向量的测量值的实例。举例来说,在图4中,而非使用在整个块上方或在块左侧的像素样本值,仅使用上方像素样本值的部分和左侧像素样本值的部分。举例来说,减小的模板56通常为L形,但相对于图3中的块48,不像L形模板46那样包围整个块。模板56的这种减小的L形相对于当前块58的左上控制点的仿射运动位置54。不同控制点的模板形状可以是不同的。举例来说,对于当前块58的右上控制点,可能不存在可用于右侧的像素样本值,这是因为那些像素样本值尚未被解码。因此,当前块58的右上控制点的模板可以是一行或多行像素样本值,而非L形。
对于如上文所描述的使用模板匹配的MV正负号预测,模板内的部分像素样本用于减小复杂度。举例来说,仅模板内的每一2×2像素中的一个像素用于导出最佳MVD候选项。
另一种变化可为块是否为双向预测的。在此状况下,可用信号发送两个MVD,且可存在四个MVD分量,每一MVD可具有早先展示的四个候选项。在此状况下,总共16对MVD候选项可导出并检查以选择一对作为正负号预测值。
在另一实例中,首先通过执行单向帧间预测导出对应于参考图片列表0(L0)的MVD,如上文所描述。在获得对L0的最佳重构建之后,通过利用所选择的L0预测值候选项和L1帧间预测值候选项执行双向预测而导出参考图片列表1(L1)的MVD。在使用L0预测值候选项和L1帧间预测值候选项的情况下,视频编码器20和视频解码器30可确定至多四个参考块样本值,从中选择最佳的经重构建的候选项。基于用于确定最佳的经重构建的候选项的L1的运动向量,视频编码器20和视频解码器30指派L1 MVD的MVD正负号预测值。在又另一实例中,可通过分别执行L0和L1的单向预测而导出L0和L1 MVD候选项,且可导出L0和L1的MVD正负号预测值。在最后两个实例中,待检查的MVD正负号的数目从16减少到8,因此降低复杂度。在一个实例中,首先可导出L1预测值候选项,然后导出L0预测值候选项。
另一种交互可以利用重叠块运动补偿(OBMC)工具进行。这个工具利用使用相邻块的MV导出的帧间预测值候选项来执行附加平均。在MVD正负号估计期间,OBMC工具可能不会用于正负号估计过程以降低复杂度。在另一实例中,在添加经重构建的残差之前,将OBMC应用于帧间预测值候选项。
MV候选项(MVP+MVD候选项)可为子像素运动向量。为了降低运动补偿的复杂度,可将MV候选项(MVP+MVD候选项)四舍五入为整数值以进行计算。换句话说,四舍五入的候选项用于在无子像素运动插值的情况下提取用于计算测量值的像素。
上述内容描述对于使用MVD分量正负号预测值确定MVD分量正负号的实例技术。使用MVD分量正负号预测值的一个实例益处在于:指示值可基于上下文而编码和解码,其往往会比基于旁路的译码使用更少的位,这是因为MVD分量正负号预测值可朝向正负号预测值偏置。
如上文所描述,当对于二进制数的值存在50-50的机会时可使用旁路译码(例如,50%的机会为0且50%的机会为1)。然而,若存在偏置,使得机会不再是50-50,那么基于上下文的译码技术可供使用和/或可改进译码。
在各种技术中,视频编码器20可用信号发送指示MVD分量的正负号的标志。因为MVD分量的正负号有50-50的机会为正或负,所以视频编码器20可基于旁路译码所述标志。在本公开中所描述的实例技术中,指示符标志指示MVD分量正负号预测值是正确的还是不正确的。一般来说,考虑到视频的连续性,MVD分量正负号预测值通常可能比不正确更正确。因此,指示MVD分量正负号预测值是正确的还是不正确的指示符标志可朝向正确偏置(例如,指示符标志等于1比等于0更频繁)。因此,视频编码器20可基于上下文编码(例如,CABAC编码),且视频解码器30可基于上下文解码(例如,CABAC解码)指示MVD分量正负号预测值是否等于实际的MVD分量正负号(例如,MVD分量正负号预测值是正确的还是不正确的)的指示符。尽管在各种实例中,指示符标志等于1而非等于0的可能性更高,但即使指示符标志等于0而非等于1的可能性更高,也可以获得基于上下文的译码(还被称作熵译码或上下文译码)。
以此方式,实例技术可提供技术问题的技术解决方案,其改进视频编码和解码的操作。举例来说,实例技术可允许基于上下文编码和解码(例如,上下文编码或解码)通常限于基于旁路的译码(例如,旁路译码)的信息的方式。
在一些实例中,基于旁路的译码可足以用于用信号发送信息。在一些实例中,与基于上下文的译码相关联的复杂度可能大于用信号发送较少位的益处。在此类实例中,视频编码器20和视频解码器30可能不会执行MVD分量正负号预测技术。相反地,视频编码器20可用信号发送指示MVD分量的正负号为正还是负的标志。在一些状况下,MVD正负号可能不会具有朝向正负号预测值的强偏置,且上下文概率可保持在0.5左右,在此类状况下,基于上下文的译码可能是低效的。
以下内容描述一些可能的MVD正负号异常(例如,可能不使用一或多个实例MVD分量正负号预测技术的时间)。MVD正负号预测值可能并不总是有效的。在一个实例中,MVD正负号预测值不与OBMC一起使用,这是因为OBMC可以使不连续性测量值平滑,且选择最佳块重构建可能不是显而易见的。
在另一实例中,如果MVD小于某一阈值,那么导出的帧间预测值可能类似,因此经重构建块候选项可能类似。在此状况下,可能不会使用MVD正负号预测。类似地,即使MVD较大,但在添加到MVP之后,最终的MV可能较小,例如小于某一阈值,在此类状况下,可能不会使用MVD正负号预测。
举例来说,可将阈值设置为等于4(一个完整的样本移位),或8或任何其它值。绝对MV、MVP、MVD可与阈值相比较,且基于比较结果,例如,如果更小或更大,则不应用MVD正负号预测。
在又另一实例中,如果MV候选项需要插值,即,MV分量是分数像素以导出帧间预测,那么可能不会使用所述分量的MVD正负号预测。类似地,如果绝对MVD分量是分数像素,那么可能不会使用MVD正负号预测。在另一实例中,如果残差等于零,那么不应用MVD正负号预测。
在一些实例中,如果关于不同MV候选项计算的不连续性测量值没有太大不同(例如,任何两个测量值之间的差不超过某一阈值),那么阈值可以是位深依赖的,例如,如果30是两个度量之间的差,那么MVD正负号候选项可被视为不可靠且不使用MVD正负号预测。
在此类状况下,当不使用MVD正负号预测时,用信号发送的MVD正负号预测值可被视为实际的MVD正负号,或可使用默认的MVD正负号预测值。
以下内容描述MVD正负号预测值标志上下文。如果MVD正负号预测值是可靠的,那么用信号发送的MVD正负号预测值标志(例如,指示符标志)指示MVD正负号等于预测值,例如,指示符标志被设置成1。在此状况下,指示符标志值可具有偏置,且指示符标志可经上下文译码(例如,基于上下文译码),如上文所描述。
可以各种方式选择上下文。上下文可基于以下内容,且因为MVD正负号预测准确度可能不同,所以标志可具有不同统计数据:
·MVD和/或MVP分量绝对值
·帧间预测方向,例如uni-L0-、uni-L1-或双向预测
·参考图片索引
·是否使用特定工具,例如在当前块中应用OBMC
·当不使用MVD正负号预测时,上一章节中描述的实例(如果适用),而非不使用MVD正负号预测,可将单独的上下文指派给MVD正负号预测标志并应用MVD正负号预测。
上述实例所描述确定MVD分量的正负号的方式。以下内容描述确定MVD量值的实例技术,例如基于MVD量值预测。关于MVD正负号预测或MVD正负号推断描述的类似技术还可用于预测MVD的量值。在一个实例中,MVD量值以类似于变换系数层级值的方式译码,即,对指示系数值是否大于1的标志和指示系数值是否大于2的标志译码。然而,而非明确地译码那些标志,对指示预测的MVD量值是否大于1的标志和/或指示预测的MVD量值是否大于2的标志进行上下文译码(例如,基于上下文译码)。
举例来说,视频编码器20可用信号发送指示MVD分量值是否大于相应阈值的一或多个语法元素,且视频解码器30可接收所述一或多个语法元素。标志大于1是指示MVD分量值是否大于阈值1的语法元素的一个实例。标志大于2是指示MVD分量值是否大于阈值2的语法元素的一个实例。对于MVD分量值大于2,视频编码器20可用信号发送实际的MVD分量值且视频解码器30可接收所述值。以此方式,视频解码器30可基于所接收的一或多个语法元素确定MVD分量值。
一般来说,如可从上述实例看出,可按下文描述MVD正负号预测程序:
1.每非零MVD分量用信号发送MVD正负号预测标志。
2.基于某些条件,MVD正负号预测标志可被视为实际的MVD正负号
3.通过创建可能的正负号和绝对MVD值之间的组合来建置MV候选项
4.基于某度量识别最佳的块重构建候选项
5.将对应的MVD正负号用作正负号预测值
6.通过检查MVD正负号标志值来导出实际的MVD(可用信号发送值或可推断或导出MVD正负号而不用信号发送),如果它是一个值,例如1,则将MVD正负号设置为等于正负号预测值,如果是其它值,例如0,则将MVD正负号设置为与正负号预测值相反的正负号。
可将类似程序应用于其它信息和语法元素。举例来说,可通过使用合并列表中具有相关联合并索引的所有合并候选项作为MV候选项来导出合并索引预测值,且根据某测量值选择的合并候选项的合并索引(上文提供了多个实例)可用作合并索引预测值。
在另一实例中,可以类似方式导出AMVP标志预测值、参考索引预测值、最可能的模式预测值(例如帧内MPM预测值)或其它语法元素。可通过用以上描述中导出的信息替换MVD正负号来获得过程描述。
图6是说明可实施本公开的技术的实例视频编码器20的框图。出于解释的目的而提供图6,且不应将其视为对如本公开中所广泛例示和描述的技术的限制。本公开的技术可为可适用于各种译码标准或方法。
处理电路包含视频编码器20,且视频编码器20被配置成执行本公开中所描述的实例技术中的一或多种。举例来说,视频编码器20包含集成电路,且图6中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为分开的电路块,或所述单元中的两个或更多个可组合成共同硬件电路块。硬件电路块可形成为形成例如算术逻辑单元(ALU)、初等函数单元(EFU)以及例如“与”、“或”、“与非”、“或非”、“异或”、“同或”和其它类似逻辑块的逻辑块的运算块的电子组件的组合。
在一些实例中,图6中所说明的单元中的一或多个可为在处理电路上执行的软件单元。在此类实例中,用于这些软件单元的目标代码存储于存储器中。操作系统可使视频编码器20检索目标代码且执行所述目标代码,这使视频编码器20执行实施实例技术的操作。在一些实例中,软件单元可为视频编码器20在启动时执行的固件。因此,视频编码器20是具有执行实例技术的硬件的结构组件,或具有在硬件上执行以使硬件专门执行实例技术的软件/固件。
在图6的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残差生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构建单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元和运动补偿单元(未展示)。
视频数据存储器101可被配置成存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据以供在视频编码器20例如以帧内或帧间译码模式编码视频数据时使用的参考图片存储器。视频数据存储器101和经解码图片缓冲器116可由多种存储器装置中的任一种形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器101和经解码图片缓冲器116可由相同存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器101可与图1的存储媒体28相同或为图1的存储媒体28的部分。
视频编码器20接收视频数据。视频编码器20可对视频数据的图片的切片中的每一CTU进行编码。CTU中的每一个可以与图片的大小相等的明度译码树块(CTB)以及对应的CTB相关联。作为编码CTU的一部分,预测处理单元100可执行四分树分割以将CTU的CTB划分为逐渐更小的块。更小的块可以是CU的译码块。举例来说,预测处理单元100可根据树结构分割与CTU相关联的CTB。
视频编码器20可对CTU的CU进行编码以生成CU的经编码表示(即,经译码CU)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块和对应的色度预测块相关联。视频编码器20可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假设特定CU的大小是2Nx2N,则视频编码器20可以支持用于帧内预测的2Nx2N或NxN的PU大小,以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非对称分割。
帧间预测处理单元120可生成PU的预测数据。作为生成PU的预测数据的部分,帧间预测处理单元120对PU执行帧间预测。PU的预测数据可以包含PU的预测块以及PU的运动信息。帧间预测处理单元120可根据PU是否在I切片、P切片或B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,那么帧间预测处理单元120不对PU执行帧间预测。因此,对于在I模式中编码的块,经预测块是使用来自同一帧内的经先前编码的相邻块的空间预测而形成的。如果PU在P切片中,那么帧间预测处理单元120可使用单向帧间预测以产生PU的预测性块。如果PU在B切片中,那么帧间预测处理单元120可使用单向或双向帧间预测来产生PU的预测性块。
帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元126可以对I切片、P切片以及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式产生PU的预测性数据的多个集合。帧内预测处理单元126可使用来自相邻PU的样本块的样本以产生用于PU的预测块。假设对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻PU可以在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可以使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可以取决于与PU相关联的区的大小。
预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集的速率/失真量度选择CU的PU的预测性数据。所选择的预测数据的预测块在本文中可被称作所选择的预测块。
残差生成单元102可基于用于CU的译码块(例如,明度、Cb和Cr译码块)和用于CU的PU的选定预测性块(例如,预测性明度、Cb和Cr块),产生用于CU的残余块(例如,明度、Cb和Cr残余块)。举例来说,残差生成单元102可生成CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选预测性块中的对应样本之间的差的值。
变换处理单元104可执行将CU的残余块分割成CU的TU的变换块。举例来说,变换处理单元104可执行四叉树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可与明度变换块及两个色度变换块相关联。CU的TU的明度变换块以及色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与区中的每一个相关联的节点。CU的TU可以对应于RQT的叶节点。
变换处理单元104可通过将一或多个变换应用到TU的变换块而产生用于CU的每个TU的变换系数块。变换处理单元104可以将各种变换应用到与TU相关联的变换块。举例来说,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用到变换块。在此类实例中,变换块可被视作变换系数块。
量化单元106可量化系数块中的变换系数。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可以通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化的程度。量化可引入信息损耗。因而,经量化变换系数可具有比初始系数低的精确度。
逆量化单元108和逆变换处理单元110可分别将逆量化和逆变换应用于系数块,以从系数块重构建残余块。重构建单元112可将重构建残余块添加到来自预测处理单元100所产生的一或多个预测性块的对应样本,以产生与TU相关联的重构建变换块。通过以此方式重建构用于CU的每一TU的变换块,视频编码器20可重建构CU的译码块。
滤波器单元114可执行一或多个去块操作来减少与CU相关联的译码块中的块效应。在滤波器单元114对经重构建译码块执行一或多个去块操作之后,经解码图片缓冲器116可存储经重构建译码块。帧间预测处理单元120可使用含有经重构建译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构建构译码块来对与CU处于相同图片中的其它PU执行帧内预测。
熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以生成经熵编码数据。例如,熵编码单元118可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118生成的经熵编码数据的位流。举例来说,位流可包含表示CU的变换系数的值的数据。
在一些实例中,可使用预测处理单元100(或更确切地说,帧间预测处理单元120)和熵编码单元118实施本公开的技术。举例来说,预测处理单元100可基于当前块的实际运动向量和运动向量预测值(MVP)来确定当前块的运动向量差(MVD)。MVP可从高级运动向量预测(AMVP)技术导出,其中MVP是相邻块的运动向量或作为仿射模式的部分。MVD包含MVD分量值(例如,MVD的绝对值)和正负号(例如,分量值的正负号)。因此,预测处理单元100可基于当前块的MVD确定当前块的MVD分量正负号。
预测处理单元100可确定MVD分量正负号预测值。作为一个实例,预测处理单元100可确定MVD候选项,并选择一个MVD候选项的正负号作为MVD分量正负号预测值。MVD候选项可为MVD分量具有不同正负号的一或多个MVD(例如,假设MVD分量值是(1,1),则MVD候选项是(1,1)、(-1,1)、(1,-1)和(-1,-1))。
预测处理单元100可利用MVD候选项执行块重构建以生成经重构建块,基于度量从所述经重构建块选择一个经重构建块,并确定所选择的经重构建块的MVD候选项。在这个实例中,预测处理单元100可选择所选择的经重构建块的所确定的MVD候选项的正负号,以作为MVD分量正负号预测值。
度量的一个实例包含对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量值。在一些实例中,度量是基于当前块的模板和由运动向量候选项所指的参考块的模板。在一些实例中,度量是基于相邻块的运动向量候选项和运动向量。
预测处理单元100可确定指示MVD分量正负号是否等于MVD分量正负号预测值的指示符(例如,如果MVD分量正负号等于MVD分量正负号预测值,那么指示符等于1,且如果MVD分量正负号不等于MVD分量正负号预测值,那么指示符等于0)。熵编码单元118可用信号发送指示符的信息。举例来说,熵编码单元118可上下文编码(例如,使用CABAC基于上下文编码)指示符。
图7是说明经配置以实施本公开的技术的实例视频解码器30的框图。图7是出于解释的目的而提供,且并不将技术限制为本公开中所大致例示和描述者。出于解释的目的,本公开在HEVC译码的情形中描述视频解码器30。然而,本公开的技术可适用于其它译码标准或方法。
处理电路包含视频解码器30,且视频解码处理电路包含视频解码器30,且视频解码器30被配置成执行本公开中所描述的实例技术中的一或多种。举例来说,视频解码器30包含集成电路,且图7中说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为分开的电路块,或所述单元中的两个或更多个可组合成共同硬件电路块。硬件电路块可形成为形成例如算术逻辑单元(ALU)、初等函数单元(EFU)以及例如“与”、“或”、“与非”、“或非”、“异或”、“同或”和其它类似逻辑块的逻辑块的运算块的电组件的组合。
在一些实例中,图7中所说明的单元中的一或多个可为在处理电路上执行的软件单元。在此类实例中,用于这些软件单元的目标代码存储于存储器中。操作系统可使视频解码器30检索目标代码并且执行所述目标代码,这使视频解码器30执行实施所述实例技术的操作。在一些实例中,软件单元可为视频解码器30在启动时执行的固件。因此,视频解码器30是具有执行实例技术的硬件的结构组件,或具有在硬件上执行以使硬件专门执行实例技术的软件/固件。
在图7的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构建单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。
视频数据存储器151可存储待由视频解码器30的组件解码的经编码视频数据(例如,经编码视频位流)。存储于视频数据存储器151中的视频数据可(例如)经由视频数据的有线或无线网络传递或通过存取物理数据存储媒体从计算机可读媒体16获得,例如,从例如相机的本地视频源。视频数据存储器151可形成经译码图片缓冲器(CPB),其存储来自经编码视频位流的经编码视频数据。经解码图片缓冲器162可为存储参考视频数据以供视频解码器30在以例如帧内或帧间译码模式解码视频数据时使用或供输出的参考图片存储器。视频数据存储器151和经解码图片缓冲器162视频数据存储器151和经解码图片缓冲器162可由多种存储器装置中的任一种形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器151和经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于所述组件在芯片外。视频数据存储器151可与图1的存储媒体28相同或为图1的存储媒体28的部分。
视频数据存储器151接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器151接收经编码视频数据(例如,NAL单元),且可解析NAL单元以获得语法元素。熵解码单元150可熵解码NAL单元中的经熵编码语法元素。预测处理单元152、逆量化单元154、逆变换处理单元156、重构建单元158以及滤波器单元160可基于从位流提取的语法元素来产生经解码的视频数据。熵解码单元150可执行与熵编码单元118的过程大体上互逆的过程。
除了获得来自位流的语法元素之外,视频解码器30可对未分割的CU执行重构建操作。为了对CU执行重构建操作,视频解码器30可对CU的每一TU执行重构建操作。通过对CU的每一TU执行重构建操作,视频解码器30可重构建CU的残余块。
作为对CU的TU执行重构建操作的一部分,逆量化单元154可逆量化(即,解量化)与TU相关联的系数块。在逆量化单元154逆量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块,以便产生与TU相关联的残余块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆卡忽南-拉维变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用到系数块。
对于视频数据的图片的CTU的CTB内的多个量化群组的至少一个相应的量化群组,逆量化单元154可以至少部分地基于在位流中用信号发送的局部量化信息来导出相应量化群组的相应量化参数。另外,在此实例中,逆量化单元154可基于相应量化群组的相应量化参数,逆量化CTU的CU的TU的变换块的至少一个变换系数。在此实例中,相应量化群组定义为呈译码次序的连续CU或译码块的群组,使得相应量化群组的界限必须是CU或译码块的界限,且相应量化群组的大小大于或等于阈值。视频解码器30(例如,逆变换处理单元156、重构建单元158和滤波器单元160)可基于变换块的经逆量化变换系数,重构建CU的译码块。
如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以生成PU的预测性块。帧内预测处理单元166可使用帧内预测模式来基于样本空间相邻块产生PU的预测性块。帧内预测处理单元166可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。
如果PU是使用帧间预测经编码,那么熵解码单元150可确定所述PU的运动信息。运动补偿单元164可基于PU的运动信息来确定一或多个参考块。运动补偿单元164可基于所述一或多个参考块生成PU的预测性块(例如,预测性明度、Cb和Cr块)。
重构建单元158可使用CU的TU的变换块(例如,明度、Cb和Cr变换块)以及CU的PU的预测性块(例如,明度、Cb和Cr块)(即,在适用时,帧内预测数据或帧间预测数据)来重构建CU的译码块(例如,明度、Cb和Cr译码块)。举例来说,重构建单元158可将变换块(例如,明度、Cb及Cr变换块)的样本添加到预测性块(例如,预测性明度、Cb及Cr块)的对应样本以重构建CU的译码块(例如,明度、Cb及Cr译码块)。
滤波器单元160可执行解块操作以减少与CU的译码块相关联的成块假影。视频解码器30可将CU的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以供后续运动补偿、帧内预测和在显示装置(例如,图1的显示装置32)上呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。
可使用预测处理单元152(且更确切地说,运动补偿单元164)和熵解码单元150实施本公开的技术。预测处理单元152可确定运动向量差(MVD)分量正负号预测值,并可接收指示MVD分量正负号等于MVD分量正负号预测值的指示符。预测处理单元152可基于MVD分量正负号预测值和指示符确定MVD分量正负号,并基于所确定的MVD分量正负号确定当前块的MVD。预测处理单元152可基于所确定的MVD(例如,将MVD添加到运动向量预测值以确定当前块的运动向量,根据所述运动向量确定预测性块,并将预测性块的样本添加到残余块以重构建当前块)来重构建当前块。
作为一个实例,预测处理单元152可确定MVD候选项并选择一个MVD候选项的正负号作为MVD分量正负号预测值。举例来说,预测处理单元152可接收MVD分量值(例如,无关于所述值的正负号的信息),且根据所述分量值,预测处理单元152可确定具有不同正负号的一或多个MVD(例如,如果(1,1)是分量值,那么(1,1)、(-1,1)、(1,-1)以及(-1,-1)是MVD候选项)。
预测处理单元152可利用MVD候选项执行块重构建以生成经重构建块,基于度量从所述经重构建块中选择一个经重构建块,并确定所选择的经重构建块的MVD候选项。预测处理单元152可选择所选择的经重构建块的所确定的MVD候选项的正负号作为MVD分量正负号预测值。
度量的一个实例包含对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量值。在一个实例中,所述度量是基于当前块的模板和由运动向量候选项所指的参考块的模板。在一个实例中,所述度量是基于相邻块的运动向量候选项和运动向量。
如所描述,预测处理单元152可接收MVD分量值。因此,预测处理单元152可基于所接收的MVD分量值和所确定的MVD分量正负号而确定MVD。
在一些实例中,指示符可经上下文编码。因此,熵解码单元150可上下文解码指示符(例如,在使用CABAC解码指示符的情况下,基于上下文解码所述指示符)。
除了上述实例技术以外或代替上述实例技术,视频解码器30还可以类似于MVD分量正负号的方式确定MVD量值(例如,MVD分量值),基于所确定的MVD量值确定当前块的MVD,并基于所确定的MVD重构建当前块。
在一些实例中,视频解码器30可基于多个标志确定运动向量差(MVD)量值,其中每一标志指示MVD量值是否大于相应阈值(例如,类似于变换系数层级值),基于所确定的MVD量值确定当前块的MVD,并基于所确定的MVD重构建当前块。
图8是说明根据本公开中所描述的技术解码视频数据的实例方法的流程图。为易于描述,图8的实例是相对于视频解码器30的熵解码单元150和预测处理单元152而描述的。
预测处理单元152可确定运动向量差(MVD)分量正负号预测值(180)。举例来说,预测处理单元152可确定MVD候选项(例如,如果量值是(MVDx,MVDy),那么MVD候选项是(+MVDx,+MVDy)、(-MVDx,+MVDy)、(+MVDx,-MVDy)以及(-MVDx,-MVDy))。在这个实例中,MVD候选项包含MVD分量具有不同正负号的一或多个MVD。预测处理单元152可选择一个MVD候选项的正负号作为MVD分量正负号预测值。
作为一个实例,预测处理单元152可利用MVD候选项执行块重构建以生成经重构建块。预测处理单元152可基于度量而从所述经重构建块中选择一个经重构建块,并确定所选择的经重构建块的MVD候选项。在这个实例中,预测处理单元152可选择所选择的经重构建块的所确定的MVD候选项的正负号作为MVD分量正负号预测值。
所述度量的一个实例包含对应于每一MVD候选项的重构建块与已经解码和重构建的相邻块之间的不连续性测量值。在一些实例中,所述度量是基于当前块的模板和由运动向量候选项所指的参考块的模板。在一些实例中,所述度量是基于相邻块的运动向量候选项和运动向量。
熵解码单元150可接收指示MVD分量正负号是否等于MVD分量正负号预测值的指示符(182)。举例来说,熵解码单元150可接收指示MVD分量正负号预测值为正确的或不正确的指示符标志。作为接收的部分,熵解码单元150可基于一或多个上下文上下文解码(例如,基于上下文解码)指示符。一或多个上下文的实例包含MVD的绝对值、对应的运动向量预测值(MVP)、帧间预测方向、参考图片索引以及是否使用特定译码工具的指示中的一或多个。
预测处理单元152可基于MVD分量正负号预测值和指示符而确定MVD分量正负号(184)。举例来说,如果MVD分量正负号预测值预测MVD分量的正负号为正且指示值为1,那么预测处理单元152可确定MVD分量的正负号为正。如果指示值为0,那么预测处理单元152可确定MVD分量的正负号为负。
预测处理单元152可基于所确定的MVD分量正负号确定当前块的MVD(186)。举例来说,预测处理单元152可将当前块的MVD确定为等于具有所确定的MVD分量正负号的MVD分量的量值。换句话说,预测处理单元152可确定MVD分量值(例如,量值),并基于所确定的MVD分量值和所确定的MVD分量正负号而确定当前块的MVD。尽管针对一个MVD分量进行了描述,但预测处理单元152可执行类似运算以确定其它MVD分量。运算结果可为当前块的MVD。
在一些实例中,预测处理单元152可接收MVD分量值。在一些实例中,预测处理单元152可接收指示MVD分量值是否大于相应阈值的一或多个语法元素(例如,大于1的标志、大于2的标志,以及MVD分量值的实际值大于2)。在此类实例中,预测处理单元152可基于所接收的一或多个语法元素而确定MVD分量值。
预测处理单元152可基于所确定的MVD而重构建当前块(188)。举例来说,预测处理单元152可将所确定的MVD添加到运动向量预测值(MVP),以确定当前块的运动向量(MV)。基于MV,预测处理单元152可从参考图片中的块检索样本值。预测处理单元152可将来自参考图片中的块的样本值与从视频编码器20接收到的残余块的值相加,并重构建当前块。对于仿射模式,预测处理单元152可执行类似运算以确定控制点的MV,并基于控制点的MV,确定子块的运动向量场(MVF),且基于由MVF的运动向量所指代的样本值而重构建子块。
在以上实例中,预测处理单元152利用MVD正负号预测技术来确定MVD分量正负号。然而,在一些实例中,预测处理单元152可能不会执行预测技术以确定MVD分量的正负号。举例来说,在以上实例中,假设当前块是第一块。对于第二块,预测处理单元152可确定MVD分量,并确定所述第二块的MVD分量(例如,MVD分量的量值)小于阈值。在这个实例中,熵解码单元150可接收指示MVD分量的正负号的指示符。
图9是说明根据本公开中所描述的技术编码视频数据的实例方法的流程图。为易于描述,图9的实例是相对于视频编码器20的预测处理单元100和熵编码单元118而描述的。
预测处理单元100可确定当前块的MVD的运动向量差(MVD)分量正负号(190)。举例来说,基于各种成本函数,预测处理单元100可确定MVD分量的量值和引起最佳编码的MVD分量的正负号,同时平衡计算能力和视频质量。MVD分量正负号可为正或负。
预测处理单元100可确定MVD分量正负号预测值(192)。举例来说,预测处理单元100可确定MVD候选项(例如,如果量值是(MVDx,MVDy),那么MVD候选项是(+MVDx,+MVDy)、(-MVDx,+MVDy)、(+MVDx,-MVDy)以及(-MVDx,-MVDy)。在这个实例中,MVD候选项包含MVD分量具有不同正负号的一或多个MVD。预测处理单元100可选择一个MVD候选项的正负号作为MVD分量正负号预测值。
作为一个实例,预测处理单元100可利用MVD候选项执行块重构建,以生成经重构建块。预测处理单元100可基于度量从所述经重构建块中选择一个经重构建块,并确定所选择的经重构建块的MVD候选项。在这个实例中,预测处理单元152可选择所选择的经重构建块的所确定的MVD候选项的正负号作为MVD分量正负号预测值。
所述度量的一个实例包含对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量值。在一些实例中,所述度量是基于当前块的模板和由运动向量候选项所指的参考块的模板。在一些实例中,所述度量是基于相邻块的运动向量候选项和运动向量。
预测处理单元100可确定指示MVD分量正负号是否等于MVD分量正负号预测值的指示符(194)。举例来说,预测处理单元100可比较MVD分量正负号预测值与所确定的MVD分量正负号。基于所述比较,预测处理单元100可确定指示符是否指示MVD分量正负号预测值是正确的(例如,MVD分量正负号预测值与MVD分量正负号相同)还是不正确的(例如,MVD分量正负号预测值与MVD分量正负号不相同)。
熵编码单元118可用信号发送对应于指示符的信息(196)。举例来说,熵编码单元118可基于一或多个上下文而熵编码指示符。一或多个上下文的实例包含MVD的绝对值、对应的运动向量预测值(MVP)、帧间预测方向、参考图片索引以及是否使用特定译码工具的指示中的一或多个。
在以上实例中,预测处理单元100利用MVD正负号预测技术来用信号发送用于确定MVD分量正负号的信息。然而,在一些实例中,预测处理单元100可能不会执行预测技术来用信号发送用于确定MVD分量的正负号的信息。举例来说,在以上实例中,假设当前块是第一块。对于第二块,预测处理单元100可确定MVD分量,并确定所述第二块的MVD分量(例如,MVD分量的量值)小于阈值。在这个实例中,熵编码单元118可用信号发送指示MVD分量的正负号的指示符。
出于说明的目的,已相对于HEVC标准的扩展描述了本公开的某些方面。然而,本公开中描述的技术可适用于其它视频译码过程,包括尚未开发的其它标准或专有视频译码过程。
如本公开中所描述,视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,在适用时,视频译码可指视频编码或视频解码。在本公开中,用语“基于”可指示仅基于,至少部分地基于,或一定程度上基于。本公开可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块以及用于对所述一或多个样本块中的样本进行译码的语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树块、译码块和其它类型的视频数据块。
本公开中的技术可应用于支持多种多媒体应用中的任一个的视频译码,所述多媒体应用例如空中电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,根据HTTP(DASH)的动态自适应流式传输)、数字视频编码到数据存储媒体上、存储在数据存储媒体上的数字视频的解码,或其它应用。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非依序地执行动作或事件。
在一或多个实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体或通信媒体,所述通信媒体包含有助于例如根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可为可被一或多个计算机或一或多个处理电路存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于以指令或数据结构的形式存储所要的程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。然而,应理解,有形计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而实际上是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各个的组合也应包含在计算机可读媒体的范围内。
本公开中所描述的功能性可由固定功能和/或可编程处理电路执行。举例来说,指令可由固定功能和/或可编程处理电路执行。此类处理电路可包含例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码或并入在组合编码解码器中的专用硬件和/或软件模块内提供。并且,所述技术可完全实施于一或多个电路或逻辑元件中。处理电路可以各种方式耦合到其它组件。举例来说,处理电路可经由内部装置互连件、有线或无线网络连接或另一通信媒体耦合到其它组件。
本公开的技术可实施于广泛多种装置或设备中,包括无线手持机、集成电路(IC)或一组IC(例如芯片组)。本公开中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。确切地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些和其它实例在随附权利要求书的范围内。
Claims (30)
1.一种解码视频数据的方法,所述方法包括:
确定运动向量差MVD分量正负号预测值;
接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符;
基于所述MVD分量正负号预测值和所述指示符,确定所述MVD分量正负号;
基于所述所确定的MVD分量正负号,确定当前块的MVD;以及
基于所述所确定的MVD,重建构所述当前块。
2.根据权利要求1所述的方法,其中接收所述指示符包括基于一或多个上下文而上下文解码所述指示符。
3.根据权利要求2所述的方法,其中所述一或多个上下文包括所述MVD的绝对值、对应的运动向量预测值MVP、帧间预测方向、参考图片索引以及是否使用特定译码工具的指示中的一或多个。
4.根据权利要求1所述的方法,其中确定所述MVD分量正负号预测值包括:
确定MVD候选项;以及
选择所述MVD候选项中的一个的正负号作为所述MVD分量正负号预测值。
5.根据权利要求4所述的方法,其中所述MVD候选项包括所述MVD候选项的MVD分量具有不同正负号的一或多个MVD。
6.根据权利要求4所述的方法,其进一步包括:
利用所述MVD候选项执行块重构建,以生成多个经重构建块;
基于度量选择所述多个经重构建块中的经重构建块;以及
确定所述所选择的经重构建块的MVD候选项,
其中选择所述正负号包括选择所述所选择的经重构建块的所述所确定的MVD候选项的所述正负号作为所述MVD分量正负号预测值。
7.根据权利要求6所述的方法,其中所述度量包括对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量值。
8.根据权利要求6所述的方法,其中所述度量是基于所述当前块的模板和由运动向量候选项所指的参考块的模板。
9.根据权利要求6所述的方法,其中所述度量是基于相邻块的运动向量候选项和运动向量。
10.根据权利要求1所述的方法,其中所述当前块包括第一块,且其中所述指示符包括第一指示符,所述方法进一步包括:
确定第二块的MVD分量;
确定所述第二块的所述MVD分量小于阈值;以及
接收指示所述MVD分量的正负号的第二指示符。
11.根据权利要求1所述的方法,其进一步包括:
确定MVD分量值,
其中确定所述当前块的所述MVD包括基于所述所确定的MVD分量值和所述所确定的MVD分量正负号而确定所述当前块的所述MVD。
12.根据权利要求11所述的方法,其中确定所述MVD分量值包括接收所述MVD分量值。
13.根据权利要求11所述的方法,其中确定所述MVD分量值包括:
接收指示所述MVD分量值是否大于相应阈值的一或多个语法元素;以及
基于所述所接收的一或多个语法元素,确定所述MVD分量值。
14.一种编码视频数据的方法,所述方法包括:
确定当前块的MVD的运动向量差MVD分量正负号;
确定MVD分量正负号预测值;
确定指示所述MVD分量正负号是否等于所述MVD分量正负号预测值的指示符;以及
用信号发送对应于所述指示符的信息。
15.根据权利要求14所述的方法,其中用信号发送对应于所述指示符的信息包括基于一或多个上下文而上下文编码所述指示符。
16.根据权利要求15所述的方法,其中所述一或多个上下文包括所述MVD的绝对值、对应的运动向量预测值MVP、帧间预测方向、参考图片索引以及是否使用特定译码工具的指示中的一或多个。
17.根据权利要求14所述的方法,其中确定所述MVD分量正负号预测值包括:
确定MVD候选项;以及
选择所述MVD候选项中的一个的正负号作为所述MVD分量正负号预测值。
18.根据权利要求17所述的方法,其中所述MVD候选项包括所述MVD候选项的MVD分量具有不同正负号的一或多个MVD。
19.根据权利要求17所述的方法,其进一步包括:
利用所述MVD候选项执行块重构建,以生成多个经重构建块;
基于度量选择所述多个经重构建块中的经重构建块;以及
确定所述所选择的经重构建块的MVD候选项,
其中选择所述正负号包括选择所述所选择的经重构建块的所述所确定的MVD候选项的所述正负号作为所述MVD分量正负号预测值。
20.根据权利要求19所述的方法,其中所述度量包括对应于每一MVD候选项的重构建块与已经解码并重构建的相邻块之间的不连续性测量值。
21.根据权利要求19所述的方法,其中所述度量是基于所述当前块的模板和由运动向量候选项所指的参考块的模板。
22.根据权利要求19所述的方法,其中所述度量是基于相邻块的运动向量候选项和运动向量。
23.根据权利要求14所述的方法,其中所述当前块包括第一块,且其中所述指示符包括第一指示符,所述方法进一步包括:
确定第二块的MVD分量;
确定所述第二块的所述MVD分量小于阈值;以及
用信号发送指示所述MVD分量的正负号的第二指示符。
24.一种用于解码视频数据的设备,所述设备包括:
一或多个存储媒体,其被配置成存储视频数据;以及
视频解码器,其耦合到所述一或多个存储媒体且包括一或多个固定功能或可编程处理电路,其中所述视频解码器被配置成:
确定运动向量差MVD分量正负号预测值;
接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符;
基于所述MVD分量正负号预测值和所述指示符,确定所述MVD分量正负号;
基于所述所确定的MVD分量正负号,确定当前块的MVD;以及
基于所述所确定的MVD,重构建所述当前块。
25.根据权利要求24所述的设备,其中为了接收所述指示符,所述视频解码器被配置成基于一或多个上下文而上下文解码所述指示符。
26.根据权利要求25所述的设备,其中所述一或多个上下文包括所述MVD的绝对值、对应的运动向量预测值MVP、帧间预测方向、参考图片索引以及是否使用特定译码工具的指示中的一或多个。
27.根据权利要求24所述的设备,其中为了确定所述MVD分量正负号预测值,所述视频解码器被配置成:
确定MVD候选项;以及
选择所述MVD候选项中的一个的正负号作为所述MVD分量正负号预测值。
28.根据权利要求27所述的设备,其中所述MVD候选项包括所述MVD候选项的MVD分量具有不同正负号的一或多个MVD。
29.根据权利要求27所述的设备,其中所述视频解码器被配置成:
利用所述MVD候选项执行块重构建,以生成多个经重构建块;
基于度量选择所述多个经重构建块中的经重构建块;以及
确定所述所选择的经重构建块的MVD候选项,
其中为了选择所述正负号,所述视频解码器被配置成选择所述所选择的经重构建块的所述所确定的MVD候选项的所述正负号作为所述MVD分量正负号预测值。
30.一种上面存储有指令的计算机可读存储媒体,当所述指令被执行时,使得用于解码视频数据的设备的一或多个处理器:
确定运动向量差MVD分量正负号预测值;
接收指示MVD分量正负号是否等于所述MVD分量正负号预测值的指示符;
基于所述MVD分量正负号预测值和所述指示符,确定所述MVD分量正负号;
基于所述所确定的MVD分量正负号,确定当前块的MVD;以及
基于所述所确定的MVD,重构建所述当前块。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762475801P | 2017-03-23 | 2017-03-23 | |
US62/475,801 | 2017-03-23 | ||
US15/933,070 | 2018-03-22 | ||
US15/933,070 US10701391B2 (en) | 2017-03-23 | 2018-03-22 | Motion vector difference (MVD) prediction |
PCT/US2018/024066 WO2018175911A1 (en) | 2017-03-23 | 2018-03-23 | Motion vector difference (mvd) prediction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110447228A true CN110447228A (zh) | 2019-11-12 |
CN110447228B CN110447228B (zh) | 2023-07-11 |
Family
ID=63581214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880020102.6A Active CN110447228B (zh) | 2017-03-23 | 2018-03-23 | 运动向量差(mvd)预测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10701391B2 (zh) |
CN (1) | CN110447228B (zh) |
WO (1) | WO2018175911A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129683A1 (en) * | 2019-12-23 | 2021-07-01 | Beijing Bytedance Network Technology Co., Ltd. | Improvements on merge mode with motion vector difference |
CN113678452A (zh) * | 2019-03-01 | 2021-11-19 | 高通股份有限公司 | 对解码器侧运动矢量细化的约束 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10659801B2 (en) * | 2016-03-24 | 2020-05-19 | Lg Electronics Inc. | Method and apparatus for inter prediction in video coding system |
CN111937391B (zh) * | 2018-04-02 | 2024-03-29 | 寰发股份有限公司 | 用于视频编解码系统中的子块运动补偿的视频处理方法和装置 |
KR20210016581A (ko) | 2018-06-05 | 2021-02-16 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Ibc 및 atmvp 간의 상호 작용 |
WO2019244117A1 (en) | 2018-06-21 | 2019-12-26 | Beijing Bytedance Network Technology Co., Ltd. | Unified constrains for the merge affine mode and the non-merge affine mode |
KR102701593B1 (ko) | 2018-06-21 | 2024-08-30 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 칼라 컴포넌트 간의 서브 블록 mv 상속 |
US11051025B2 (en) * | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
US10805624B2 (en) * | 2018-07-16 | 2020-10-13 | Tencent America LLC | Determination of parameters of an affine model |
US11665365B2 (en) * | 2018-09-14 | 2023-05-30 | Google Llc | Motion prediction coding with coframe motion vectors |
GB2579763B (en) | 2018-09-21 | 2021-06-09 | Canon Kk | Video coding and decoding |
GB2577318B (en) | 2018-09-21 | 2021-03-10 | Canon Kk | Video coding and decoding |
CN117768651A (zh) | 2018-09-24 | 2024-03-26 | 北京字节跳动网络技术有限公司 | 处理视频数据的方法、装置、介质、以及比特流存储方法 |
GB2595053B (en) * | 2018-10-18 | 2022-07-06 | Canon Kk | Video coding and decoding |
GB2578151B (en) | 2018-10-18 | 2021-06-09 | Canon Kk | Video coding and decoding |
KR20200054111A (ko) * | 2018-11-08 | 2020-05-19 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
JP7391958B2 (ja) | 2018-11-08 | 2023-12-05 | オッポ広東移動通信有限公司 | ビデオ信号符号化/復号方法及び前記方法に用いられる機器 |
EP3861723A4 (en) * | 2018-11-10 | 2022-04-20 | Beijing Bytedance Network Technology Co., Ltd. | ROUNDS IN PAIRS OF MEDIUM CANDIDATE BILLS |
US11197017B2 (en) | 2018-12-06 | 2021-12-07 | Tencent America LLC | Methods and apparatuses for video coding |
US12010336B2 (en) | 2019-01-01 | 2024-06-11 | Lg Electronics Inc. | Method and apparatus for processing video signal on basis of inter prediction |
CN113508593A (zh) * | 2019-02-27 | 2021-10-15 | 北京字节跳动网络技术有限公司 | 基于回退的运动矢量场的基于子块运动矢量推导 |
MX2021015524A (es) * | 2019-06-14 | 2022-02-03 | Lg Electronics Inc | Metodo y dispositivo de codificacion de imagenes usando diferencias de vectores de movimiento. |
US11432002B2 (en) * | 2019-07-08 | 2022-08-30 | Hyundai Motor Company | Method and apparatus for encoding and decoding video using inter-prediction |
US11653001B2 (en) * | 2020-09-11 | 2023-05-16 | Ofinno, Llc | Intra block copy |
JP2024511725A (ja) * | 2021-03-05 | 2024-03-15 | ボドナー、ザカリー | 眼位異常を測定および分類するためのシステムおよび方法 |
CA3227220A1 (en) * | 2021-09-28 | 2023-04-06 | Qualcomm Incorporated | Motion vector difference sign prediction for video coding |
US20230095946A1 (en) * | 2021-09-28 | 2023-03-30 | Ofinno, Llc | Block Vector Difference Signaling for Intra Block Copy |
US12069244B2 (en) * | 2021-09-30 | 2024-08-20 | Qualcomm Incorporated | Decoder side motion derivation using spatial correlation |
WO2023131546A1 (en) * | 2022-01-04 | 2023-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Motion vector difference derivation |
US11936903B2 (en) * | 2022-04-19 | 2024-03-19 | Tencent America LLC | Bilateral matching based scaling factor derivation for JMVD |
US20240031596A1 (en) * | 2022-07-19 | 2024-01-25 | Tencent America LLC | Adaptive motion vector for warped motion mode of video coding |
US12047586B2 (en) * | 2022-07-20 | 2024-07-23 | Tencent America LLC | Method and apparatus for inter prediction mode dependent scaling factors |
CA3208760A1 (en) * | 2022-08-08 | 2024-02-08 | Comcast Cable Communications, Llc | Magnitude coding and decoding using prediction |
US20240064308A1 (en) * | 2022-08-22 | 2024-02-22 | Comcast Cable Communications, Llc | Magnitude Prediction with Candidate Pruning |
WO2024054609A1 (en) * | 2022-09-09 | 2024-03-14 | Comcast Cable Communications, Llc | Sign coding and decoding using prediction |
US20240195975A1 (en) * | 2022-12-09 | 2024-06-13 | Comcast Cable Communications, Llc | Context modeling for sign and magnitude prediction |
EP4398573A1 (en) * | 2023-01-03 | 2024-07-10 | Comcast Cable Communications LLC | Magnitude coding for selected subset of prediction candidates |
WO2024155690A1 (en) * | 2023-01-17 | 2024-07-25 | Ofinno, Llc | Determining motion vector difference symbols selected for prediction |
WO2024173936A1 (en) * | 2023-02-17 | 2024-08-22 | Ofinno, Llc | Residual prediction in video coding |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4533957A (en) * | 1982-08-26 | 1985-08-06 | Nec Corporation | Method of processing picture signal to increase average run length and apparatus therefor |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
CN1801941A (zh) * | 2005-11-18 | 2006-07-12 | 宁波中科集成电路设计中心有限公司 | 多模标准解码器中运动矢量预测复用设计方法 |
US20130170553A1 (en) * | 2012-01-04 | 2013-07-04 | Qualcomm Incorporated | Coding motion vector difference |
WO2013155267A2 (en) * | 2012-04-11 | 2013-10-17 | Qualcomm Incorporated | Motion vector rounding |
WO2013188745A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Disparity vector selection in video coding |
US20130336407A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Temporal motion vector prediction in hevc and its extensions |
WO2014009600A1 (en) * | 2012-06-22 | 2014-01-16 | Nokia Corporation | Method and apparatus for video coding |
US20140078251A1 (en) * | 2012-09-19 | 2014-03-20 | Qualcomm Incorporated | Selection of pictures for disparity vector derivation |
CN103703781A (zh) * | 2011-07-01 | 2014-04-02 | 高通股份有限公司 | 使用自适应运动向量分辨率的视频译码 |
US20140092968A1 (en) * | 2012-10-01 | 2014-04-03 | Centre National De La Recherche Scientifique (C.N. R.S) | Method and device for motion information prediction refinement |
US20150382010A1 (en) * | 2014-06-30 | 2015-12-31 | Qualcomm Incorporated | Method for motion vector difference (mvd) and intra block copy vector difference (bvd) coding of screen content video data |
US20160057420A1 (en) * | 2014-08-22 | 2016-02-25 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
US20160219290A1 (en) * | 2015-01-26 | 2016-07-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
CN106464904A (zh) * | 2014-06-20 | 2017-02-22 | 高通股份有限公司 | 用于视频译码的帧内块复制块向量信令 |
WO2017043769A1 (ko) * | 2015-09-10 | 2017-03-16 | 삼성전자 주식회사 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363512B2 (en) * | 2012-03-08 | 2016-06-07 | Blackberry Limited | Motion vector sign bit hiding |
TWI655864B (zh) * | 2016-11-22 | 2019-04-01 | 聯發科技股份有限公司 | 視訊編碼中用於運動向量符號預測的方法及裝置 |
-
2018
- 2018-03-22 US US15/933,070 patent/US10701391B2/en active Active
- 2018-03-23 CN CN201880020102.6A patent/CN110447228B/zh active Active
- 2018-03-23 WO PCT/US2018/024066 patent/WO2018175911A1/en active Application Filing
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4533957A (en) * | 1982-08-26 | 1985-08-06 | Nec Corporation | Method of processing picture signal to increase average run length and apparatus therefor |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
CN1801941A (zh) * | 2005-11-18 | 2006-07-12 | 宁波中科集成电路设计中心有限公司 | 多模标准解码器中运动矢量预测复用设计方法 |
CN103703781A (zh) * | 2011-07-01 | 2014-04-02 | 高通股份有限公司 | 使用自适应运动向量分辨率的视频译码 |
US20130170553A1 (en) * | 2012-01-04 | 2013-07-04 | Qualcomm Incorporated | Coding motion vector difference |
WO2013155267A2 (en) * | 2012-04-11 | 2013-10-17 | Qualcomm Incorporated | Motion vector rounding |
WO2013188745A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Disparity vector selection in video coding |
US20130336407A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Temporal motion vector prediction in hevc and its extensions |
WO2014009600A1 (en) * | 2012-06-22 | 2014-01-16 | Nokia Corporation | Method and apparatus for video coding |
US20140078251A1 (en) * | 2012-09-19 | 2014-03-20 | Qualcomm Incorporated | Selection of pictures for disparity vector derivation |
US20140092968A1 (en) * | 2012-10-01 | 2014-04-03 | Centre National De La Recherche Scientifique (C.N. R.S) | Method and device for motion information prediction refinement |
CN106464904A (zh) * | 2014-06-20 | 2017-02-22 | 高通股份有限公司 | 用于视频译码的帧内块复制块向量信令 |
US20150382010A1 (en) * | 2014-06-30 | 2015-12-31 | Qualcomm Incorporated | Method for motion vector difference (mvd) and intra block copy vector difference (bvd) coding of screen content video data |
US20160057420A1 (en) * | 2014-08-22 | 2016-02-25 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
US20160219290A1 (en) * | 2015-01-26 | 2016-07-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
WO2017043769A1 (ko) * | 2015-09-10 | 2017-03-16 | 삼성전자 주식회사 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113678452A (zh) * | 2019-03-01 | 2021-11-19 | 高通股份有限公司 | 对解码器侧运动矢量细化的约束 |
WO2021129683A1 (en) * | 2019-12-23 | 2021-07-01 | Beijing Bytedance Network Technology Co., Ltd. | Improvements on merge mode with motion vector difference |
Also Published As
Publication number | Publication date |
---|---|
US10701391B2 (en) | 2020-06-30 |
US20180278951A1 (en) | 2018-09-27 |
WO2018175911A1 (en) | 2018-09-27 |
CN110447228B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110447228A (zh) | 运动向量差(mvd)预测 | |
CN110024403B (zh) | 一种编解码视频数据的方法、装置和计算机可读存储媒体 | |
CN106797477B (zh) | 用于解码及编码视频数据的方法和设备 | |
CN107211156B (zh) | 一种译码视频数据的方法、装置及计算机可读存储媒体 | |
CN105874796B (zh) | 用于基于调色板的视频译码的颜色索引译码 | |
CN110024393A (zh) | 用于视频译码的低复杂度符号预测 | |
CN106717004B (zh) | 视频译码中的跨分量预测和自适应色彩变换的协调 | |
CN110100436A (zh) | 使用导出色度模式译码视频数据 | |
CN105580372B (zh) | 用于3d视频译码的组合式双向预测合并候选者 | |
CN105075272B (zh) | 在基于调色板的视频译码中确定调色板索引的方法及设备 | |
CN105393538B (zh) | 用于视频编解码的方法、装置及计算机可读存储介质 | |
CN103688541B (zh) | 在视频译码中缓冲预测数据的设备和方法 | |
CN109792533A (zh) | 在视频译码中用于仿射运动模型的运动向量预测 | |
CN108141605A (zh) | 帧内块复制合并模式及不可用帧内块复制参考区域的填充 | |
CN108781289A (zh) | 针对视频译码工具的受约束块层级优化和用信号发送 | |
CN110393010A (zh) | 视频译码中的帧内滤波旗标 | |
CN109792531A (zh) | 用于视频译码的运动向量译码 | |
CN107710764A (zh) | 确定用于视频译码的照明补偿状态的系统及方法 | |
CN109716772A (zh) | 用于视频译码的变换选择 | |
CN105103557B (zh) | 用于视频译码的方法、装置和存储媒体 | |
CN109076230A (zh) | 二值化二次变换指数 | |
CN107690810A (zh) | 确定用于视频译码的照明补偿状态的系统及方法 | |
CN109891890A (zh) | 视频译码中基于子pu的双向运动补偿 | |
CN109076235A (zh) | 用于在视频译码中的并置参考索引的一致性约束 | |
CN107925764A (zh) | 视频译码中的系数等级译码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |