CN107318015A - 用于视频编码的混合预测模式 - Google Patents

用于视频编码的混合预测模式 Download PDF

Info

Publication number
CN107318015A
CN107318015A CN201611234065.8A CN201611234065A CN107318015A CN 107318015 A CN107318015 A CN 107318015A CN 201611234065 A CN201611234065 A CN 201611234065A CN 107318015 A CN107318015 A CN 107318015A
Authority
CN
China
Prior art keywords
prediction
block
frame
template
pixel
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
Application number
CN201611234065.8A
Other languages
English (en)
Other versions
CN107318015B (zh
Inventor
许耀武
保罗·威尔金斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN107318015A publication Critical patent/CN107318015A/zh
Application granted granted Critical
Publication of CN107318015B publication Critical patent/CN107318015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

本发明涉及用于视频编码的混合预测模式。针对视频流的当前帧的当前块,使用具有与当前块的像素位置的子集符合的像素位置的模板来确定预测块。具有与模板相同的像素位置的图案的所述预测块的第一部分被填充有帧间预测像素值,并且所述预测块的剩余部分被填充有帧内预测像素值。可以使用第一部分的帧间像素值、与当前块邻近的像素的像素值或者这两者来确定帧内预测像素值。

Description

用于视频编码的混合预测模式
技术领域
本公开大体上涉及使用帧内与帧间组合预测来编码和解码可视数据,诸如视频流数据。
背景技术
数字视频流通常表示使用帧或者静止图像的序列的视频。每个帧能够包括数个块,而这些块可以包含描述色值、亮度或者其他像素的属性的信息。典型视频流中的数据量很大,并且视频的传输和存储可能使用到相当的计算或通信资源。由于视频数据中所涉及的数据量很大,传输和存储需要高性能的压缩。这通常涉及使用运动矢量的帧间预测、使用当前帧的像素的帧内预测或者两者兼具。
发明内容
一种根据本公开的一个方面的用于对视频信号进行编码或解码的方法,其中,所述视频信号包括定义视频序列的帧,每个帧具有块,并且每个块具有像素,所述方法包括:确定用于当前块的预测的模板;确定针对预测块的第一部分的帧间预测像素;确定针对与所述预测块的所述第一部分非重叠的所述预测块的第二部分的帧内预测像素值;以及使用所述预测块对所述当前块进行编码或解码。所述模板具有与所述当前块的像素位置的真子集相符合的尺寸(也称为像素、像素位或像素位置的图案或布置),并且所述第一部分具有与所述模板相同图案的所述尺寸。
本文所述的另一种编码或解码的方法包括:使用对来自第一参考帧的像素值的帧内预测,确定针对当前帧中的当前块的像素值的预测块;以及使用所述预测块,对所述当前块进行编码或解码。基于具有作为所述当前块的尺寸的真子集的像素位置的模板,使用帧内预测来确定来自所述第一参考帧的所述像素值。
本文所述的装置的一个方面是一种用于对视频信号进行编码或解码的装置,所述视频信号包括定义视频序列的帧,每个帧具有块,并且每个块具有像素。所述装置包括处理器以及非暂时性存储器,其存储指令,所述指令使得所述处理器执行如下方法,包括:使用帧间预测以及具有与当前块的像素的真子集符合的尺寸的模板,确定针对所述当前块的预测块的像素值的第一部分,以便所述第一部分具有所述尺寸;使用帧内预测,确定所述预测块的像素值的第二部分;以及使用所述预测块,对所述当前块进行编码或解码。
在下文的详细描述、所附权利要求以及附图中更加详细地描述了本公开的这些和其他方面,包括变型。
附图说明
下面参照附图来描述本文的内容,其中在几个视图中,相似的附图标记是指相似的部分。
图1是视频编码和解码系统的示意图。
图2是能够实现发射站或者接收站的计算设备的示例的框图。
图3是待编码并且随后解码的视频流的图示。
图4是根据本文教导的方面的视频压缩系统的框图。
图5是根据本文教导的另一方面的视频解压缩系统的框图。
图6是根据本文教导的一个方面的用于通过帧内与帧间组合预测来编码或解码块的过程的流程图。
图7A至7C是示出根据本文教导的模板的实施例的图。
图8是用于图示出各种帧内预测模式的4x4块的图。
图9A至9H是示出用于图8的块的帧内预测模式的示例的图。
图10是用于说明图6的过程的示例的图。
具体实施方式
可以通过各种技术对视频流进行压缩,以减小传送或者存储视频流所需的带宽。视频流能够被编码成可涉及压缩的比特流,并且再被传送至解码器,其能够解码或解压缩视频流以使其备用于查看或者进一步处理。使用压缩来编码视频流涉及在视频质量与比特流大小之间做出权衡的参数,其中,提高所解码的视频流的感知质量能够增加传送或者存储比特流所需的比特数。
一种用于获得优越压缩性能的技术通过空间和/或运动补偿预测而利用视频信号的空间与时间的相关性。例如,帧间预测使用运动矢量来识别类似于待编码的当前块的先前经编码和解码的块。通过编码运动矢量以及两个块之间的差异,解码器能够重新创建当前块。另一方面,帧内预测能够使用来自相同帧的信息来预测当前块并且编码两个块之间的差异以通过解码来重新创建当前块。编码器能够使用多个帧间和帧内预测模式中的两个或多个来编码帧的块并且测量用于每个块的每个模式的率/失真以选择具有最小失真的预测模式,诸如针对产生率通过计算绝对差之和(SAD)来测定,例如,通过经编码的比特流中的比特数来测定。
本文中的教导描述了在块内使用帧间与帧内组合预测。能够根据模板来使用帧间预测。能够将模板连同一个或多个运动矢量一起使用于通过一个或多个参考帧(例如,视频流中在时间上接近当前帧的帧)的像素形成预测块的一部分。能够再将预测块的这个部分和/或邻近当前块的像素使用于对预测块的剩余部分进行帧内预测。预测块可以被用于形成残差,将其连同表示模板的比特、运动矢量以及帧内预测模式一起传送以由解码器来解码。使用如本文所述的帧间与帧内组合预测来编码的块相对于单独使用任一技术来编码的块能够具有改进的率/失真测度。下面在描述可以实现本文教导的环境后,更加详细地阐述细节。
图1是视频编码和解码系统100的示意图。例如,发射站102能够是具有诸如图2中所述的内部硬件配置的计算机。然而,发射站102的其他合适的实施方式也可行。例如,发射站102的处理能够被分布于多个设备之间。
网络104能够使发射站102与接收站106相连接,用于视频流的编码和解码。具体地,能够在发射站102中编码视频流并且能够在接收站106中解码经编码的视频流。例如,网络104能够是因特网。网络104也能够是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网络或者将视频流从发射站102传递至该示例中的接收站106的任何其他装置。
在一个示例中,接收站106能够是具有诸如图2中所述的内部硬件配置的计算机。然而,接收站106的其他合适的实施方式也可行。例如,接收站106的处理能够被分布于多个设备之间。
视频编码和解码系统100的其他实施方式也可行。例如,一种实施方式能够省略网络104。在其他实施方式中,视频流能够被编码并且再被存储以便在稍后的时间传送至接收站106或者具有存储器的任何其他设备。在一个实施方式中,接收站106(例如,经由网络104、计算机总线和/或一些通信路径)接收经编码的视频流并且存储视频流,用于稍后解码。在示例的实施方式中,实时传输协议(RTP)被使用于在网络104上传送经编码的视频。在另一个实施方式中,可以使用除RTP以外的传输协议,例如,基于超文本传输协议(HTTP)的视频流送协议。
当用于视频会议系统时,例如,发射站102和/或接收站106可以包括编码以及解码视频流的能力,如下所述。例如,接收站106能够是视频会议参与者,其从视频会议服务器(例如,发射站102)接收经编码的视频比特流以解码,并且查看以及进一步编码和其本身的视频比特流并且将其发送至视频会议服务器以供其他参与者解码和查看。
图2是能够实现发射站或者接收站的计算设备200的示例的框图。例如,计算设备200能够实现图1的发射站102和接收站106中的一个或两个。计算设备200能够呈包括多个计算设备的计算系统的形式,或者呈单个计算设备的形式,例如,移动电话、平板型计算机、膝上型计算机、笔记本型计算机、桌面型计算机或诸如此类。
计算设备200中的CPU 202能够是常规的中央处理单元。替选地,CPU 202能够是能够操纵或者处理现有的或以后开发的信息的任何其他类型的设备或者多个设备。虽然所公开的实施方式能够用所示的单个处理器来实践,例如CPU 202,但使用一个以上处理器能够在速度和效率方面获得优势。
在一实施方式中,计算设备200中的存储器204能够是只读存储器(ROM)设备或者随机存取存储器(RAM)设备。能够使用任何其他合适类型的存储设备作为存储器204。存储器204能够包括由CPU 202使用总线212来访问的代码和数据206。存储器204能够进一步包括操作系统208以及应用程序210,应用程序210包括允许CPU 202执行本文所述方法的至少一个程序。例如,应用程序210能够包括应用1至N,其进一步包括执行本文所述方法的视频编码应用。计算设备200也能够包括二级存储体214,例如,其能够是与移动计算设备配用的存储卡。因为视频通信会话可以包含大量的信息,它们能够被整个地或部分地存储于二级存储体214中并且视处理需要而被加载到存储器204中。
计算设备200也可以包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是触敏显示器,其将显示器与能够操作以感测触摸输入的触敏元件相结合。显示器218能够经由总线212而被耦合至CPU 202。除显示器218之外或者作为其替选,能够提供允许用户编程或以其他方式使用计算设备200的其他输出设备。当输出设备是显示器或者包括显示器时,该显示器能够以各种方式来实现,包括液晶显示器(LCD)、阴极射线管(CRT)显示器或者发光二极管(LED)显示器,诸如有机LED(OLED)显示器。
计算设备200也能够包括图像感测设备220或者与其通信,例如,相机或者现有的或以后开发的任何其他图像感测设备220,其能够感测图像,诸如操作计算设备200的用户的图像。图像感测设备220能够被定位成使得其指向操作计算设备200的用户。在一示例中,图像感测设备200的位置和光轴能够被配置成使得视场包括与显示器218紧邻并且自其可见显示器218的区域。
计算设备200也能够包括声音感测设备222或者与其通信,例如,麦克风或者现有的或以后开发的任何其他声音感测设备,其能够感测计算设备200附近的声音。声音感测设备222能够被定位成,使得其指向操作计算设备200的用户,并且能够被配置成接收声音,例如,在用户操作计算设备200时,由用户发表的演说或者其他话语。
虽然图2将计算设备200的CPU 202以及存储器204描绘成整合到单个单元中,但能够利用其他配置。CPU 202的操作能够跨能够直接地或者在局域网或其他网络上耦合的多个机器分布(每个机器具有处理器中的一个或多个)。存储器204能够跨多个机器分布,诸如基于网络的存储器或者在多个机器中执行计算设备200的操作的存储器。虽然在此描绘为单个总线,但计算设备200的总线212能够由多个总线组成。进一步,二级存储体214能够被直接耦合至计算设备200的其他组件或者能够经由网络来访问,并且能够包括诸如存储卡的单个整合单元或者诸如多个存储卡的多个单元。计算设备200由此能够以广泛的各种配置来实现。
图3是待编码并且随后解码的视频流300的示例的图示。视频流300包括视频序列302。在下一层级,视频序列302包括数个相邻帧304。虽然描绘三个帧作为相邻帧304,但视频序列302能够包括任何数目的相邻帧304。相邻帧304能够再被进一步细分成各个帧,例如,帧306。在下一层级,帧306能够被分成一系列平面或片段308。例如,片段(或平面)308能够是允许并行处理的帧的子集。片段308也可能是能够将视频数据分成单独的色彩的帧的子集。例如,彩色视频数据的帧306能够包括一个亮度平面以及两个色度平面。可以在不同的分辨率下采样片段308。
无论将帧306分成片段308与否,帧306都可以进一步被细分成块310,其能够包含对应于例如帧306中的16×16像素的数据。块310也能够被布置成包括来自像素数据的一个或多个平面的数据。块310也能够是任何其他合适的大小,诸如4x4像素、8x8像素、16x8像素、8x16像素、16x16像素或者更大。除非另作说明,否则术语块与宏块在本文中可互换使用。如下详述,根据本文所述的教导,帧306能够被分割。
图4是根据一实施方式的编码器400的框图。如上所述,编码器400能够被实现于在发射站102中,诸如通过提供计算机软件程序,其被存储于存储器例如存储器204中。计算机软件程序能够包括机器指令,所述指令当由诸如CPU 202的处理器来执行时,使得发射站102以如下图4和图6中所述的方式来编码视频数据。编码器400也能够被实现为包括在例如发射站102中的专用硬件。编码器400在前向路径(由连接实线所示)中具有以下执行各种功能以使用视频流300来产生经编码或经压缩的比特流420作为输入的级:帧内/帧间预测级402、变换级404、量化级406以及熵编码级408。编码器400也可以包括重构路径(由连接虚线所示),以为对将来的块进行编码而重构帧。在图4中,编码器400在重构路径中具有以下执行各种功能的级:去量化级410、逆变换级412、重构级414以及环路滤波级416。编码器400的其他结构性变型能够被使用于编码视频流300。
当提供视频流300用于编码时,每个帧306能够以块为单位来处理。参阅图6,在帧内/帧间预测级402,能够使用帧内的预测(也称为帧内预测)或者帧间的预测(也称为帧间预测)或者两者的组合来编码每个块。在任何情形下,都能够形成预测块。就帧内预测而言,可以从当前帧中的先前曾被编码和重构的样本中形成预测块的全部或部分。就帧间预测而言,可以从一个或多个先前已构建的参考帧中的样本形成预测块的全部或部分。
接下来,仍参照图4,在帧内/帧间预测级402,能够从当前块中减去预测块,以产生残差块(也称为残差)。变换级404使用基于块的变换,将残差变换成例如频域中的变换系数。例如,这样的基于块的变换包括离散余弦变换(DCT)以及非对称离散正弦变换(ADST)。其他基于块的变换也可行。进一步,可以对单个残差应用不同变换的组合。在应用变换的一个示例中,DCT将残差块变换到变换系数值是基于空间频率的频域。最低频率(DC)系数在矩阵的左上角,并且最高频率系数在矩阵的右下角。值得注意的是,预测块的大小以及由此所产生的残差块的大小可以不同于变换块的大小。例如,预测块可以被分成更小的块,对它们应用单独的变换。
量化级406使用量化器值或者量化电平而将变换系数转换成离散量子值,其被称作经量化的变换系数。例如,变换系数可以除以量化器值并且被截断。然后,通过熵编码级408熵编码经量化的变换系数。熵编码可以使用任意数目的技术来执行,包括令牌以及二叉树。然后,再将经熵编码的系数连同可以包括例如所用的预测类型、变换类型、运动矢量以及量化器值的用于解码块的其他信息一起输出至经压缩的比特流420。在经压缩的比特流420内,解码块所需的信息可以被熵编码成块、帧、宏块条和/或区段报头。经压缩的比特流420也能够被称作经编码的视频流或者经编码的视频比特流,并且所述术语在本文中可互换使用。
图4中的重构路径(由连接虚线所示)能够被使用于确保编码器400和解码器500(如下述)使用相同的参考帧来解码经压缩的比特流420。重构路径执行与在下文更加详述讨论的解码过程期间发生的功能类似的功能,包括在去量化级410去量化经量化的变换系数以及在逆变换级412逆变换经去量化的变换系数,以产生导出的残差块(也称为导出残差)。在重构级414,能够将在帧内/帧间预测级402预测的预测块添加到导出残差以创建经重构的块。环路滤波级416能够被应用于经重构的块以减少失真,诸如块效应。
编码器400的其他变型能够被使用于编码经压缩的比特流420。例如,基于非变换的编码器400能够在没有针对某些块或帧的变换级404的情况下直接量化残差信号。在另一个实施方式中,编码器400能够将量化级406以及去量化级410合并成单个级。
图5是根据另一实施方式的解码器500的框图。解码器500能够被实现于在接收站106中,例如通过提供被存储于存储器204中的计算机软件程序。计算机软件程序能够包括机器指令,所述指令当由诸如CPU 202的处理器来执行时,使得接收站106以如下图5和图6中所述的方式来解码视频数据。解码器500也能够被实现于包括在例如发射站102或者接收站106内的硬件中。
类似于上文所讨论的编码器400的重构路径,在一个示例中,解码器500包括以下执行各种功能以从经压缩的比特流420中产生输出视频流516的级:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512以及去块滤波级514。解码器500的其他结构性变型能够被使用于解码经压缩的比特流420。
当提供经压缩的比特流420用于解码时,经压缩的比特流420内的数据元素可以由熵解码级502来解码,以产生一组经量化的变换系数。去量化级504去量化经量化的变换系数(例如通过将经量化的变换系数乘以量化器值),并且逆变换级506使用所选择的变换类型来逆变换经去量化的变换系数,以产生与在编码器400中通过逆变换级412所创建的导出残差相同的导出残差。在帧内/帧间预测级402,使用从经压缩的比特流420所解码的报头信息,解码器500能够使用帧内/帧间预测级508来创建与例如帧内/帧间预测级402于编码器400中所创建的预测块相同的预测块。在重构级510,能够将预测块添加到导出残差以创建经重构的块。环路滤波级512能够被应用于经重构的块以减少块效应。能够将其他滤波应用于经重构的块。在该示例中,将去块滤波级514应用于经重构的块以减少成块失真,并且将结果输出作为输出视频流516。输出视频流516也能够被称作经解码的视频流,并且所述术语在本文中可互换使用。
解码器500的其他变型能够被使用于解码经压缩的比特流420。例如,解码器500能够在没有去块滤波级514的情况下产生输出视频流516。
如上简述,使用来自参考帧的像素或者使用来自附近块的像素,可以通过运动矢量对块进行编码或解码,以生成预测块。在一些情形下,将两个技术组合可以更好地匹配图像内的对象,改善视频的压缩。
图6是根据本公开的一个实施方式的用于通过帧内与帧间组合预测来编码或解码块的过程600的流程图。能够在诸如计算设备200的系统中实现方法或过程600以助于对视频流的编码和解码。例如,能够将过程600实现为由诸如发射站102或者接收站106的计算设备来执行的软件程序。软件程序能够包括存储在诸如存储器204的存储器中的机器可读指令,其当由诸如CPU 202的处理器来执行时,使得计算设备执行过程600。过程600也能够整个地或部分地使用硬件来实现。如上所述,一些计算设备可以具有多个存储器和多个处理器,并且在这样的情形下,使用不同的处理器和存储器,可以分配过程600的步骤或操作。在本文中使用单数形式的术语“处理器”和“存储器”涵盖仅具有一个处理器和一个存储器的计算设备以及具有多个处理器和存储器的设备,它们可以被各自使用于执行一些但未必全部所述的步骤。
简化说明起见,将过程600描绘和描述为一系列步骤或操作。然而,根据本公开的步骤和操作能够以各种顺序和/或同时进行。此外,根据本公开的步骤或操作可以与本文中未提出和描述的其他步骤或操作同时进行。另外,并非所述的全部步骤或操作均必须用于实现根据所公开主题所述的方法。针对输入信号的每个块和每个帧,可以重复过程600。
当过程600是编码过程时,输入信号能够例如是视频流300。能够由执行过程600的计算设备200以任何数目的方式来接收输入信号。例如,能够由图像感测设备200捕捉输入信号或者通过连接至总线212的输入端从另一个设备接收输入信号。在另一个实施方式中,能够从二级存储体214中检索输入信号。接收的其他方式以及输入信号的其他来源也可行。例如,当过程600是解码过程时,输入信号能够是经编码的比特流,诸如经压缩的比特流420。
视频压缩方案能够首先将图像帧分成大块。编码器可以递归地将大块分解成更小的块。这些块之间的递归关系能够通过一个或多个树结构来表示。针对表示树结构上的叶节点的每个块,编码器可以选择帧内或帧间预测或者这两者的组合来产生预测块。
在602中,确定用于当前块的预测的模板。就确定而言,我们指的是选择、计算、发现、恢复、读取或者以任何方式确定。模板具有符合当前的像素的真子集的尺寸(即,对应于当前的像素的真子集的像素的图案)。真子集是数学用语,意思是子集不包括集合的全部元素。换言之,模板具有少于待编码的当前块的像素位置。模板可以是与当前块尺寸(例如,矩形块,诸如4x4、8x8、16x8、8x16、32x32等)相关联的多个模板中的一个(例如在实施本发明的软件和硬件中以某种方式预定义的多个模板中的一个)。每个块的大小可以与相应的模板相关联。
理想地但非必然地,对于块大小适用的多个模板中的每个具有至少一列和至少一行,即,在至少一列和一行中的像素或像素位置。列中的一个或多个可以具有等于当前块的第一尺寸的像素位置的数目(或者基数),并且一个或多个行可以具有等于当前块的第二尺寸的像素位置的数目(或者基数)。在一些情形下,列和行具有共同的像素起源位置(例如,角)。这能够参阅图7A至7B看出,它们是示出根据本文教导的模板的实施例的图。
更具体地,图7A至7C中的每个均是可以被使用于4x4块的预测的相应模板702、704、706。模板702、704、706中的每个方块均表示单个像素,即单个像素位置。模板702表示沿4x4块的右下边缘的像素位置的图案,模板704表示沿4x4块的左上边缘的像素,并且模板706表示4x4块的阶梯形右下角中的像素。在这些示例的每个中,尺寸包括至少两个针对长度和宽度中的每个不同的尺寸,以致模板702、704、706不为矩形。其他模板也可能用于4x4块,并且其他模板也会适用于不同大小的待编码的块。虽然在模板内像素位置(即,预测像素的位置)应理想地但非必然地连续,但形状能够不同于所示的那些,以便不同的大小具有不同的形状。
当过程600是编码过程时,确定模板能够包括依次例如从以某种方式预定义的多个模板中选择每个模板并且将其使用于率/失真环路中,以确定哪个模板在对如下所述使用模板来帧间预测的当前块的一部分进行编码时产生最低的率/失真测度。在另一个实施方式中,如本文所述,由每个模板所确定的像素与由各种帧内预测模式所生成的像素配用,并且在率/失真环路中比较不同的模板与不同的帧内预测模式的组合,以确定哪个模板与帧内预测模式的组合在对当前块进行编码时总体上产生最低的率/失真测度。当只有一个模板可用时,这样的技术并无必要,并且可以使用用于在多个模板可用时确定模板的其他技术。
当过程600是解码过程时,在602中,可以通过解码报头信息来确定模板。例如,每个模板可以被分配有通常为编码器和解码器所知的索引或者标识符。然后,编码器可以编码其在602中确定的模板的索引或者标识符以便传送至解码器,从而解码器能够在602中使用索引或者标识符来确定模板。
在604中确定模板之后,将其使用于确定预测块的第一部分的帧间预测像素值。第一部分具有模板的尺寸。确定帧间预测值能够包括在参考帧内针对最接近地匹配待编码的当前块内的对应像素的像素值的、布置于模板内的像素值,执行第一运动搜索。也就是说,找到第一运动矢量,其引致符合模板形状的当前块内的像素值的最佳匹配。最佳匹配的像素值填入针对当前块的预测块的第一部分中。
该确定帧间预测像素值的示例在单个参考帧(例如最后一帧、黄金帧或者替选的参考帧)中找到最佳匹配当前块的像素的像素。视频编码方案能够将在包括待编码的当前块的当前帧之前或者之后的多个参考值使用于帧间预测。例如,双向预测能够在视频序列中在当前帧之前和之后的时间上相邻的帧中找到与当前块的像素最佳拟合的像素,并且将预测块的第一部分(集,落入模板边界内的部分)内的值组合。在此情形下,使用两个运动矢量以及两个参考帧。在任何情形下,每个运动矢量以及用于每个参考帧的标识符或索引都可以被编码成视频比特流,以便传送至解码器。
在解码器中,在604确定帧间预测像素值可以包括使用运动矢量以及参考帧以从参考帧中选择像素值,用于包括在由模板所定义的预测块的第一部分中。
在604确定帧间预测像素值之后,在606中,确定针对预测块的第二部分的帧内预测像素值。第二部分与第一部分不重叠并且可以包含预测块除第一部分以外的全部部分。可以使用多个可用的帧内预测模式中的帧内预测模式来确定帧内预测像素值。因此,在606确定帧内预测像素值也可以包括确定可用帧内预测模式中的帧内预测模式。
如参照在602中确定模板所简述,可以由编码器选择帧内预测模式作为率/失真环路的一部分,独立地或者结合以上参照确定模板和帧间预测像素所述的率/失真环路。例如,随同每个模板或者在单独地确定模板之后,可以测试各种帧间预测模式,以找到哪种类型的预测对于给定的在经编码的视频比特流中传送的比特率或者比特数将具有最少的失真,包括比特流中所包括的开销比特,用于识别所用预测的类型。能够通过计算残差块的测度来测定失真,所述残差块是从待解码的当前块中减去产生的预测块之后剩余的数据。残差块的测度的一个示例是绝对差之和(SAD)。在逐像素的基础上,能够通过对预测块与当前块之间的绝对差求和来计算SAD。SAD越小,则预测块越精确地预测待解码的当前块。当单独地确定帧内预测模式时,可以只考虑与预测块的第二部分相关联的率/失真测度,而不是整个预测块。
图8是用于图示出各种帧内预测模式的4x4块的图。虽然图8使用4x4块的示例,但本文所公开的技术能够与其他块大小一起使用。图8中的4x4块是由像素a至p来表示,并且其外围像素被标注A至M。在本文教导的一个实施方式中,像素A至M的像素值能够被使用于预测像素a至p的像素值,这是通过将外围像素A至M的值扩展至与待预测的块具有相同大小的预测块。
在图8的示例中使用出现在当前块的上方和左方的像素A至M,原因是通常按光栅扫描顺序从帧的右上角从左到右地沿帧的从上降到下的行来编码帧的块。通过这种方式,针对给定的块,块外围的像素A至M将被编码并且随后在使用于预测块之前被解码,以致外围像素在编码器中获得的值将与解码器遇到的值相同。然而,如下所讨论,可以使用其他像素。
图9A至9H是示出用于图8的块的帧内预测模式的示例的图。在图9A中示出一般称作垂直帧内预测模式的帧内预测模式。在该模式中,对应于待预测的块的像素a、e、i和m的位置的预测块像素被设定成外围像素A的值,对应于待预测的块的像素b、f、j和n的位置的预测块像素被设定成像素B的值,对应于待预测的块的像素c、g、k和o的位置的预测块像素被设定成像素C的值,并且对应于待预测的块的像素d、h、l和p的位置的预测块像素被设定成像素D的值。用于实现垂直帧内预测模式的替选技术可以将两个或多个外围像素的值组合以诸如通过求外围像素的值的平均值而计算待用于预测块中的像素值。
图9B示出水平帧内预测模式。在该示例中,像素I被使用于设定对应于待预测的块的像素a、b、c和d的位置的预测块像素的值,像素J被使用于设定对应于待预测的块的像素e、f、g和h的位置的预测块像素的值,像素K被使用于设定对应于待预测的块的像素i、j、k和l的位置的预测块像素的值,并且像素L被使用于设定对应于待预测的块的像素m、n、o和p的位置的预测块像素的值。如在上述预测模式中,能够将外围像素(例如,它们的值)组合以设定预测块的像素值,而并非跨预测块的全部像素位置仅重复单个外围像素的值。
图9C示出倾斜帧内预测模式或者斜对角线帧内预测模式,其中将沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈117°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9C中的箭头方向形成预测块。例如,预测块中对应于待预测块的像素i和m的像素被设定成由像素J和K构成的值,以此类推。
图9D示出另一个斜对角线帧内预测模式,其中沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈63°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9D中的箭头方向形成预测块。例如,预测块中对应于待预测块的像素a和e的像素被设定成由像素A和B构成的值,以此类推。
图9E示出另一个斜对角线帧内预测模式,其中沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈153°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9E中的箭头方向形成预测块。例如,预测块中对应于待预测块的像素c和d的像素被设定成由像素B和C构成的值,以此类推。
图9F示出另一个斜对角线帧内预测模式,其中沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈27°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9F中的箭头方向形成预测块。例如,预测块中对应于待预测块的像素a和b的像素被设定成由像素I和J构成的值,以此类推。
图9G示出另一个斜对角线预测模式,其中沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈135°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9G中的箭头方向形成预测块。例如,预测块中对应于待预测块中的像素b和e的像素被设定成由像素B和C构成的值,以此类推。
图9H示出另一个斜对角线预测模式,其中沿箭头的方向传送外围像素以生成预测块,所述箭头与水平线约呈45°角形成对角线。在这种对角线帧内预测模式的示例中,外围像素或者两个或三个外围像素的组合被传送以向图9H中的箭头方向形成预测块。例如,预测块中对应于待预测块中的像素c和h的像素被设定成由像素B和C构成的值,以此类推。
其他帧内预测模式也可以从外围像素A至M的组合中形成单个值并且将预测块的像素a-p设定成单个值。这些模式有时被称作DC预测以及TM预测,从像素A至M的子集的组合中形成单个像素值并且将该单值传送到整个预测块中,并且在本文中可以被称作单值帧内预测模式。
再度参照图6,过程600可以通过如关于用于模板的索引或者标识符所述的将其编码到比特流中而将用于帧内预测模式的标识符传送至解码器。也就是说,编码器与解码器能够共享表格或者其他设备以将帧内预测模式与索引或者其他标识符链接,以致编码器能够识别对解码器所确定的帧内预测模式,以供其重构预测块的第二部分。当在解码器中实现过程600时,在606确定帧内预测像素值可以涉及解码从编码器所接收的帧内预测模式的索引或者标识符,以便确定帧内预测像素值。
图10是用于说明图6的过程的示例的图。在该示例中,示出4x4预测块1000。在该阐述中,使用图8的编字系统。参考帧是最后一帧并且运动矢量是(-4,4),其指出最后一帧中从当前帧的当前块开始的四个左方的像素以及四个向下的像素,如图10中的预测块的位置所示。使用图7B的模板704,确定第一部分1002的帧间预测像素值A1、B1、C1、I1、J1、K1、M1。更具体地,通过将模板形状的像素1004从最后一帧的运动矢量所指示的位置复制到(例如,模板形状的)第一部分1002,填充第一部分1002。针对预测块1000的剩余的3x3第二部分1006,使用域内预测模式,确定帧内预测像素值f、g、h、j、k、l、n、o、p。
使用根据本文教导的帧内预测来产生第二部分1006,可能存在至少两种技术。在第一种技术中,出现在针对其生成预测块1000的当前块的上方和左方的外围像素A至M或者这些外围像素的组合在由图9A至9H的箭头组中的一个所指示的方向上被传送以填入第二部分1006的缺失像素位置中,同时跳过第一部分1002的像素位置。例如,类似于图9B中所示那个的修改后的水平帧内预测模式能够通过将预测块的像素f、g和h设定成外围像素J的值、将预测块的像素j、k和l设定成像素K的值并且将预测块的像素n、o和p设定成像素L的值来实现。能够类似地修改图9B至9H的其他帧内预测模式。
在另一种技术中,确定帧内预测像素值能够包括使用帧间预测像素值的像素值中的至少一些来生成帧内预测像素值。在图10中,例如,类似于图9B中所示那个的修改后的水平帧内预测模式能够通过将预测块的像素f、g和h设定成帧间预测像素I1的值、将预测块的像素j、k和l设定成帧间预测像素J1的值并且将预测块的像素n、o和p设定成帧间预测像素K1的值来实现。通过这种方式,使用对来自第一参考帧的像素值的帧内预测,可以确定针对当前帧中的当前块的像素值的预测块,其中,基于模板,使用帧内预测,确定来自第一参考帧的像素值。能够类似地修改图9B至9H的其他帧内预测模式。
在其他示例中,先前不可用的帧内预测模式可以被使用。常规地,帧内预测模式使用当前块上方和左方的那些像素来确定预测块,因为它们是仅有的在对当前块进行预测时已经被编码和解码的像素。然而,在本文中,由于预测块的第一部分使用来自经编码和解码的参考帧的像素值,各种形状的模板允许帧内预测以不可用于现有帧内预测模式中的方向和方式来执行。例如,使用图7A的模板702来确定针对预测块的第一部分的帧间预测像素值将提供4x4预测块的全部四边上的经编码和解码的像素—来自上方和左方的相邻块的像素,以及预测块的向右和向下的帧间预测像素。所有这些像素可在不同的水平、垂直、对角线或者单值帧内预测模式中获得。在一个示例中,水平帧内预测模式可用,其传送来自右方的帧间预测像素的像素值,并且在另一个示例中,垂直帧内预测模式可用,其传送来自下方的帧间预测像素的像素值。
进一步,在一些帧内预测模式中,可以将从相邻块到当前块的像素与帧间预测像素一起使用。
再度参照图6,使用预测块,将当前块编码和解码。在608使用预测块来编码当前块能够包括确定针对当前块的残差,以及将残差随同解码当前块所需的信息一起编码到经编码的比特流中。例如,编码过程能够包括使用如参照图4所述的变换处理级404、量化级406以及熵编码级408来处理残差。解码当前块所需的信息可以包括模式指示符(有时被称为标志),其指示当前块已被编码,使用到模板、模板的指示符、由于运动搜索所找到的运动矢量、参考帧的标识以及哪个帧内预测模式曾被使用于确定预测块的第二部分的指示符。信息可以被包括在帧、宏块条、区段或者块报头中,而且并非全部信息都需要在相同的报头中被传送。此外,并非全部信息都需要被传送。如果解码器能够对数据执行测试以选择解码模式而不传送比特,则能够节省带宽。其他修改也可行。
在608中使用预测块来解码当前块包括从比特流中解码针对当前块的残差,以及将预测块添加至该残差。例如,解码过程能够包括使用如参照图5所述的熵解码级502、去量化级504以及逆变换级502来处理残差。然后,还如参照图5所述,在重构级510中能够重构当前块。
如本文所述的使用帧间与帧内组合预测来确定预测块可以允许以超过单独使用帧间或帧内预测的更高精确度来预测一帧的多个块。这允许使用更少的比特来编码和传送视频帧,由此降低带宽的需求,是合乎需要的结果。
如上所述的编码和解码方面说明了编码和解码技术的一些示例。然而,将理解的是,诸如权利要求中所使用的那些术语的编码和解码可能意指压缩、解压缩、变换或者任何其他对数据的处理或更改。
在本文中,词语“示例”、“实施例”或“方面”被使用于意指用作示例、实例或者说明。在本文中使用这些词语所描述的任何方面或设计并不一定必须被理解为优选或者有利于其他方面或设计。相反,使用这些词语旨在以具体的方式呈现概念。如本申请中所用,术语“或”旨在意指可兼的“或”而不可兼的“或”。也就是说,除非另作指定,或者从下文显而易见,否则“X包括A或B“旨在意指自然包括的排列。也就是说,在前述实例中的任何一个的情况下,如果X包括A;X包括B;或者X包括A和B,则满足“X包括A或B”。此外,如本申请和所附权利要求中所使用的冠词“一”通常应被理解为意指“一个或多个”,除非另作说明或者从上下文显而易见是针对单数形式。此外,在全文中使用的术语“一实施方式”或“一个实施方式”旨在意指相同的实施例或实施方式,除非如此描述。
发射站102和/或接收站106(以及存储于其上和/或包括通过编码器400和解码器500而由此执行的算法、方法、指令等)的实施方式能够被实现于硬件、软件或者其任何组合中。例如,硬件能够包括计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微码、微控制器、服务器、微处理器、数字信号处理器或者任何其他合适的电路。在权利要求中,术语“处理器”应被理解为包含前述硬件中的任何一个,以单个方式或者以组合的方式。术语“信号”和“数据”可互换使用。进一步,发射站102和接收站106的部分不一定必须以相同的方式来实现。
进一步,在一个方面,例如,发射站102或者接收站106能够使用具有计算机程序的通用计算机或者通用处理器来实现,所述计算机程序当被执行时实施本文所述的相应方法、算法和/或指令中的任何一个。附加地或者替选地,例如,能够利用专用计算机/处理器,其能够包含用于实施本文所述的相应方法、算法和/或指令中的任何一个其他硬件。
例如,发射站102和接收站106能够被实现在视频会议系统中的计算机上。替选地,发射站102能够被实现在服务器上,并且接收站106能够被实现在于服务器分开的设备上,诸如手持式通信设备。在该实例中,发射站102能够使用编码器400将内容编码成经编码的视频信号并且将经编码的视频信号发射至通信设备。进而,通信设备能够再使用解码器500对经编码的视频信号进行解码。替选地,通信设备能够解码在通信设备上本地存储的内容,例如,并非由发射站102发射的内容。其他合适的发射和接收的实施方案也可用。例如,接收站106能够是通常固定的个人计算机而非便携式通信设备,并且/或者括编码器400的设备也可以包括解码器500。
进一步,本公开的实施方式的全部或部分能够采取例如可从有形的计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如能够有形地包含、存储、通信或传输程序以供任何处理器使用或者结合其使用的任何设备。介质能够是例如电子、磁性、光学、电磁或者半导体系统设备。其他合适的介质也可用。
描述上述实施例、实施方式和方面为的是易于理解本发明而并非对本发明的限制。反之,在法律允许的最大程度上,本发明旨在覆盖属于所附权利要求的范围内的各种修改和等价布置,所述权利要求应符合最宽的范围以致涵盖所有这样的修改和等价结构。

Claims (20)

1.一种用于使用计算设备对视频信号进行编码的方法,所述视频信号包括限定视频序列的帧,所述帧具有块,并且所述块具有像素,所述方法包括:
确定用于当前块的预测的模板,其中所述模板具有与所述当前块的像素位置的真子集对应的像素位置的图案,
使用所述模板确定针对预测块的第一部分的帧间预测像素值,其中,所述第一部分对应于所述模板的所述图案;
确定针对所述预测块的第二部分的帧内预测像素值;以及
使用所述预测块,对所述当前块进行编码。
2.根据权利要求1所述的方法,其中,确定所述帧内预测像素值包括:使用所述帧间预测像素值中的至少一些,生成所述帧内预测像素值。
3.根据权利要求1所述的方法,其中,所述模板是多个模板中的一个,所述多个模板中的每一个具有至少一列和至少一行,所述至少一列具有等于所述当前块的第一尺寸的像素位置的数量,并且所述至少一行具有等于所述当前块的第二尺寸的像素位置的数量。
4.根据权利要求1所述的方法,其中,所述预测块的所述第一部分具有至少一列和至少一行,所述至少一列和至少一行在所述预测块的右下角、所述预测块的左上角或者所述预测块的左下角具有共同的起源像素位置。
5.根据权利要求4所述的方法,其中,确定所述帧内预测像素值包括:使用包括水平预测模式、垂直预测模式、对角线预测模式和单值预测模式的多个帧内预测模式中的一个来执行帧内预测。
6.根据权利要求5所述的方法,其中,执行所述帧内预测包括:将所述多个帧内预测模式中的所述一个应用于所述帧间预测像素值中的至少一个。
7.根据权利要求1所述的方法,其中,确定所述模板包括使用率/失真测度而从多个模板中选择所述模板。
8.根据权利要求7所述的方法,进一步包括:
将用于所述模板的标识符、在确定针对所述预测块的所述第一部分的所述帧间预测像素值中所使用的运动矢量以及用于在确定针对所述预测块的所述第二部分的所述帧内预测像素值中所使用的帧内预测模式的标识符编码到经编码的比特流内,以用于在解码器中使用。
9.一种用于使用计算设备对经编码的比特流中的视频信号进行解码的方法,所述视频信号包括限定视频序列的帧,所述帧具有块,并且所述块具有像素,所述方法包括:
使用对来自第一参考帧的像素值的帧内预测,确定针对当前帧中的当前块的像素值的预测块,其中,基于一模板,使用帧内预测来确定来自所述第一参考帧的所述像素值,所述模板具有作为所述当前块的像素位置的真子集的像素位置;以及
使用所述预测块,对所述当前块进行解码。
10.根据权利要求9所述的方法,进一步包括:
基于所述模板,使用帧间预测来确定来自第二参考帧的第二像素值;以及
将来自所述第一参考帧的所述像素值与来自所述第二参考帧的所述第二像素值组合以生成组合像素值,
其中,对来自所述第一参考帧的所述像素值帧内预测包括对所述组合像素值的帧内预测。
11.根据权利要求10所述的方法,其中,所述模板是多个模板中的一个,所述方法进一步包括:
从编码器接收在经编码的比特流中的用于所述多个模板中的所述一个的标识符、所述帧间预测中所使用的运动矢量以及用于帧内预测的帧内预测模式的标识符。
12.根据权利要求9所述的方法,其中,所述预测块的第一部分包括来自所述第一参考帧的所述像素值,并且其中,所述预测块的剩余像素位置包括来自所述帧内预测的像素值。
13.根据权利要求12所述的方法,其中,所述预测块具有4x4的尺寸,并且所述第一部分包括在右下角或者左上角具有共同的起源像素位置的单个行和单个列。
14.一种用于对经编码的比特流中的视频信号进行解码的装置,所述视频信号包括限定视频序列的帧,所述帧具有块,并且所述块具有像素,所述装置包括:
处理器;以及
非暂时性存储器,所述非暂时性存储器存储指令,所述指令在被执行时使得所述处理器执行如下操作,所述操作包括:
使用帧间预测以及具有与当前块的像素位置的真子集对应的像素位置的图案的模板,确定针对所述当前块的预测块的第一部分的像素值,以便所述第一部分对应于所述模板的所述图案;
使用帧内预测来确定所述预测块的第二部分的像素值;以及使用所述预测块来对所述当前块进行解码。
15.根据权利要求14所述的装置,其中,所述操作还包括:
通过从经编码的比特流中解码所述模板的标识符,从多个模板中确定所述模板,所述多个模板中的每一个包括像素位置的不同图案。
16.根据权利要求14所述的装置,其中,所述操作还包括:
通过使用多个帧内预测模式中的帧内预测模式以及所述第一部分的像素值的至少一个像素值来生成所述第二部分的像素值,以使用帧内预测来确定所述预测块的所述第二部分的像素值。
17.根据权利要求16所述的装置,其中,确定所述第一部分的像素值包括:使用在所述视频序列中出现在当前帧之前的包括所述当前块的一个或多个帧以及出现在所述当前帧之后的一个或多个帧,确定所述第一部分的像素值。
18.根据权利要求16所述的装置,其中,所述第一部分的像素值的所述至少一个像素值包括所述第一部分的行的像素值或者所述第一部分的列的像素值中的至少一个。
19.根据权利要求18所述的装置,其中,所述帧内预测模式包括水平帧内预测模式、垂直帧内预测模式和对角线帧内预测模式。
20.根据权利要求14所述的装置,其中,针对长度和宽度中的每一个,所述模板包括至少两个不同的尺寸,以使所述模板不为矩形。
CN201611234065.8A 2016-04-26 2016-12-28 一种视频信号编码方法、解码方法和解码装置 Active CN107318015B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/138,397 US10404989B2 (en) 2016-04-26 2016-04-26 Hybrid prediction modes for video coding
US15/138,397 2016-04-26

Publications (2)

Publication Number Publication Date
CN107318015A true CN107318015A (zh) 2017-11-03
CN107318015B CN107318015B (zh) 2020-02-07

Family

ID=57794391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611234065.8A Active CN107318015B (zh) 2016-04-26 2016-12-28 一种视频信号编码方法、解码方法和解码装置

Country Status (5)

Country Link
US (1) US10404989B2 (zh)
CN (1) CN107318015B (zh)
DE (2) DE102016125591A1 (zh)
GB (1) GB2549820B (zh)
WO (1) WO2017189048A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253822A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Adaptive filter strength signalling for geometric partition mode
CN114245114A (zh) * 2020-09-08 2022-03-25 安讯士有限公司 用于对图像帧进行帧内编码的方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017073362A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
WO2018132150A1 (en) * 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
GB2579824B (en) * 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
GB2580326A (en) 2018-12-28 2020-07-22 British Broadcasting Corp Video encoding and video decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409838A (zh) * 2001-09-14 2009-04-15 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
CN102369733A (zh) * 2009-02-23 2012-03-07 韩国科学技术院 用于对分割块进行编码的视频编码方法、用于对分割块进行解码的视频解码方法以及用于实施上述方法的记录媒体
WO2013080789A1 (en) * 2011-11-28 2013-06-06 Canon Kabushiki Kaisha Moving image encoding apparatus, method of controlling the same, and program

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260783A (en) 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
JP2902284B2 (ja) 1993-11-12 1999-06-07 ケイディディ株式会社 動画像の符号化装置
EP2096871B1 (en) * 2001-09-14 2014-11-12 NTT DoCoMo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
US7302006B2 (en) 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
EP1582063B1 (en) * 2003-01-07 2018-03-07 Thomson Licensing DTV Mixed inter/intra video coding of macroblock partitions
CN1843038B (zh) * 2003-08-26 2010-09-22 汤姆森特许公司 用于解码混合内部-相互编码块的方法和装置
EP1585061A1 (en) 2004-04-07 2005-10-12 Deutsche Thomson-Brandt Gmbh Block adaptive predictive coding
KR100750136B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
CN101502124B (zh) * 2006-07-28 2011-02-23 株式会社东芝 图像编码和解码的方法以及装置
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5238523B2 (ja) * 2009-01-13 2013-07-17 株式会社日立国際電気 動画像符号化装置、動画像復号化装置、および、動画像復号化方法
CN101877785A (zh) 2009-04-29 2010-11-03 祝志怡 一种基于混合预测的视频编码方法
CN107071437B (zh) 2010-07-02 2019-10-25 数码士有限公司 用于帧内预测的解码图像的方法
EP2719182B1 (en) * 2011-06-07 2018-05-02 Thomson Licensing Method for encoding and/or decoding images on macroblock level using intra-prediction
US20130051467A1 (en) 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409838A (zh) * 2001-09-14 2009-04-15 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
CN102369733A (zh) * 2009-02-23 2012-03-07 韩国科学技术院 用于对分割块进行编码的视频编码方法、用于对分割块进行解码的视频解码方法以及用于实施上述方法的记录媒体
WO2013080789A1 (en) * 2011-11-28 2013-06-06 Canon Kabushiki Kaisha Moving image encoding apparatus, method of controlling the same, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253822A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Adaptive filter strength signalling for geometric partition mode
CN114245114A (zh) * 2020-09-08 2022-03-25 安讯士有限公司 用于对图像帧进行帧内编码的方法和装置
CN114245114B (zh) * 2020-09-08 2024-03-22 安讯士有限公司 用于对图像帧进行帧内编码的方法和装置

Also Published As

Publication number Publication date
WO2017189048A1 (en) 2017-11-02
CN107318015B (zh) 2020-02-07
DE202016008155U1 (de) 2017-04-10
GB2549820B (en) 2020-05-13
GB2549820A (en) 2017-11-01
GB201621882D0 (en) 2017-02-01
US20170310973A1 (en) 2017-10-26
US10404989B2 (en) 2019-09-03
DE102016125591A1 (de) 2017-10-26

Similar Documents

Publication Publication Date Title
CN107318015A (zh) 用于视频编码的混合预测模式
JP7110370B2 (ja) ビデオ符号化のための機械学習モデルの量子化パラメータに適用される非線形関数の使用
CN110268715A (zh) 变换核选择与熵编译
CN104539966B (zh) 图像预测方法及相关装置
US9438910B1 (en) Affine motion prediction in video coding
CN104885467B (zh) 用于下一代视频编码的内容自适应参数变换
CN107027038A (zh) 动态参考运动矢量编码模式
CN104718758B (zh) 用于对视频流中的帧进行的编码方法、解码方法及编码装置
CN107454403A (zh) 块尺寸可调整的方向性帧内预测
Liu et al. Content-based light field image compression method with Gaussian process regression
CN104704826B (zh) 两步量化和编码方法和装置
CN107534669A (zh) 用于多用户视频会议的单一流传输方法
CN109983770A (zh) 多级复合预测
CN107231557A (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排
CN107071440A (zh) 使用先前帧残差的运动矢量预测
CN107027025B (zh) 一种基于宏像素块自适应预测的光场图像压缩方法
CN106060547A (zh) 解码高分辨率图像的方法和装置
CN110073663A (zh) 使用级别图的变换系数代码化
JP2019508918A (ja) 参照フレームのバッファ追跡を通じた動きベクトル参照の選択
CN107027033A (zh) 用于视频压缩的贴片拷贝
CN107302700A (zh) 自适应方向环路滤波器
CN109891894A (zh) 使用域变换递归滤波器的视频编译恢复
CN110268716A (zh) 由球面投影处理等量矩形对象数据以补偿畸变
CN107667532A (zh) 用于非基带信号代码化的变换选择
CN107302701A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant