CN107231557A - 用于在视频编码中的高级帧内预测的递归块分区中的智能重排 - Google Patents

用于在视频编码中的高级帧内预测的递归块分区中的智能重排 Download PDF

Info

Publication number
CN107231557A
CN107231557A CN201611258788.1A CN201611258788A CN107231557A CN 107231557 A CN107231557 A CN 107231557A CN 201611258788 A CN201611258788 A CN 201611258788A CN 107231557 A CN107231557 A CN 107231557A
Authority
CN
China
Prior art keywords
block
group
chunk
prediction
frame
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
CN201611258788.1A
Other languages
English (en)
Other versions
CN107231557B (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 CN107231557A publication Critical patent/CN107231557A/zh
Application granted granted Critical
Publication of CN107231557B publication Critical patent/CN107231557B/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • 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
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive

Abstract

本发明涉及用于在视频编码中的高级帧内预测的递归块分区中的智能重排。可以使用帧间或帧内预测来编码和解码视频数据流。可以基于从最低层子块到最高层大块的深度来处理帧的块,并且帧的块被划分为要被帧间预测的块、具有要被帧间预测的子块和要被帧内预测的子块的块、以及要被帧内预测的块的组。首先编码要进行帧间预测的块,其次编码具有要帧间预测和帧内预测的子块的块,最后编码要帧内预测的块。由于更多的像素数据可用于一些块的帧内预测,来自帧间预测块的数据的可用性可以相对于以扫描次序处理块提高帧内预测的性能。

Description

用于在视频编码中的高级帧内预测的递归块分区中的智能 重排
技术领域
本发明涉及用于在视频编码中的高级帧内预测的递归块分区中的智能重排。
背景技术
数字视频可以用于各种应用,包括例如视频会议、高清晰度视频娱乐、视频广告或用户生成的视频的共享。数字视频流可以使用帧或静止图像的序列来表示视频。每个帧可以包括多个块,其又可以包含描述像素的颜色、亮度或像素的其它属性的值的信息。数字视频流可以包含大量数据,并且消耗计算设备的大量计算或通信资源以用于处理、传输或存储视频数据。已经提出了各种方法来减少视频流中的数据量,包括压缩和其它编码技术。
发明内容
本发明大体上涉及对视频数据进行编码和解码。本文所描述的用于对视频流进行编码的方法的实施方式包括:在所述视频流的帧中识别多个块,在所述帧中从所述多个块中识别将要使用帧间预测编码的第一组块;在所述帧中,从所述多个块中识别包括块的第二组块,其中每一块包括具有至少一个要使用帧间预测来编码的子块以及至少一个要使用帧内预测来编码的子块的多个子块;以及在所述帧中从所述多个块识别要使用帧内预测进行编码的第三组块。该方法还包括使用帧间预测至少部分地编码第一组块以形成第一组编码块;使用处理器至少部分地解码第一组编码块以形成第一组解码块;使用帧间预测至少部分地编码来自所述第二组块的至少一个块以形成第二组帧间预测的编码块,其中来自所述第二组块的所述至少一个块将使用帧间预测来编码;使用所述处理器至少部分地解码所述第二组帧间预测的编码块以形成第二组帧间预测的解码块;使用帧内预测,使用所述第一组解码块的至少一个块或来自第二组帧间预测解码块的至少一个块来对来自所述第二组块的至少一个块进行编码,以形成第二组帧内预测编码块,其中来自第二组块的至少一个块要使用帧内预测进行编码;使用帧内预测,使用来自所述第一组解码块中的至少一个块或来自所述第二组帧间预测解码块中的至少一个块来编码第三组块,以形成第三组编码块;以及向编码的比特流插入所述第一组编码块、所述第二组帧间预测的编码块、所述第二组帧内预测的编码块和所述第三组编码的块。
本文所描述的用于解码视频比特流的方法的实施方式包括:在视频流中的帧中识别使用帧间预测来编码的第一组的编码块;在所述帧中识别包括块的第二组的编码块,其中,每个块包括具有至少一个使用帧间预测编码的子块和至少一个使用帧内预测编码的子块的多个子块;以及在帧中识别使用帧内预测编码的第三组编码块。该方法还包括:使用进行帧间预测的处理器解码第一组编码块以形成第一组解码块;使用进行帧间预测的处理器解码来自所述第二组编码块中的至少一个块以形成第二组帧间预测的解码块,其中,来自所述第二组编码块的至少一个块使用帧间预测进行编码;使用帧内预测,使用至少一个来自第一组解码块的块或至少一个来自第二组帧间预测解码块中的块解码来自第二组的编码块中的至少一个块,以形成第二组帧内预测解码的块,其中使用帧内预测编码来自所述第二组编码块的至少一个块;以及使用帧内预测,使用来自所述第一组解码块中的至少一个块或来自所述第二组帧间预测解码块中的至少一个块来解码所述第三组编码块,以形成第三组解码块。
本文的教导的另一实施方式是一种用于对视频流进行编码的装置,其包括存储器和处理器。所述处理器被配置执行在存储器中的指令,以在视频流的帧中识别多个块,在帧中从所述多个块识别要利用帧间预测进行编码的第一组块;在所述帧中从所述多个块识别包括块的第二组块,其中每一块包括多个子块,所述多个子块具有至少一个将使用帧间预测来编码的子块和至少一个将使用帧内预测来编码的子块;并且在所述帧中从所述多个块识别将使用帧内预测来编码的第三组块。所述处理器还被配置成以使用帧间预测至少部分地对所述第一组块进行编码以形成第一组的编码块;至少部分地解码所述第一组的编码块以形成第一组解码块;使用帧间预测至少部分地对来自所述第二组块的至少一个块进行编码以形成第二组帧间预测的编码块,其中来自所述第二组块的所述至少一个块是使用帧间预测来编码的;至少部分地解码所述第二组帧间预测的编码块以形成第二组帧间预测的解码块;使用帧内预测,使用来自所述第一组解码块中的至少一个块或者来自第二组帧间预测解码块的至少一个块来从所述第二组块中编码至少一个块,以形成第二组帧内预测编码块,其中来自第二组块的至少一个块要使用帧内预测编码;使用帧内预测,使用来自所述第一组解码块中的至少一个块或来自所述第二组帧间预测解码块中的至少一个块编码所述第三组块,以形成第三组编码块;以及向编码比特流插入所述第一组编码块、第二组帧间预测的编码块、第二组帧内预测的编码块和第三组编码块。
本发明还提供了一种用于解码视频流的对应装置以及一个或多个携带计算机程序代码的计算机可读介质,计算机程序代码被布置为当在合适的计算机装置上执行时执行所描述的方法或实现所描述的装置。
在下文中将更详细地描述这些和其它方面和实施方式中的变型。
附图说明
本文的描述参考附图,其中除非另有说明,否则相似的附图标记在几个视图中指代相似的部件。
图1是视频编码和解码系统的示意图。
图2是可以实现发送站或接收站的计算设备的框图。
图3是要编码和随后解码的视频流的图。
图4是根据本公开的方面的编码器的框图。
图5是根据本公开的另一方面的解码器的框图。
图6是根据本公开的方面的用于对视频流进行编码的过程的流程图。
图7是根据本公开的另一方面的用于对视频流进行解码的过程的流程图。
图8是根据本公开的方面的要编码或解码的递归分区块的图。
具体实施方式
数字视频用于各种目的,包括例如通过视频会议的远程商务会议、高清晰度视频娱乐、视频广告和用户生成的视频的共享。图像和视频压缩可以提高数据传输和存储数字视频的效率。压缩技术可以用于减少要传输或存储的信息量。基于互联网的多媒体服务(诸如流视频网站)可以依靠良好的压缩技术来提高服务质量并且同时控制带宽和内容传送的成本。
与编码视频流相关的压缩方案可以包括将每个图像分成块,并且使用一种或多种技术生成数字视频输出比特流以限制输出中包括的信息。可以对接收的比特流进行解码以从有限信息重新创建块和源图像。对视频流或其一部分(例如帧或块)进行编码可以包括使用视频流中的时间和空间相似性来提高编码效率。例如,可以基于视频流中的先前编码的帧中的先前编码的块,通过基于先前编码的块预测当前块的运动和颜色信息并且识别在预测值和当前块之间的差(残差)来编码视频流的当前块。以此方式,仅需要将用于产生其的残差和参数添加到比特流,而不是包括当前块的整体。该技术可以被称为帧间预测。
在视频压缩中,基于块的编码器-解码器系统(编解码器)可以首先将图像帧划分为块。编码器可以扫描(例如,以光栅扫描次序)帧中的块,并且基于先前处理的块为每个块选择最优预测模式。编码器可从块中减去预测块并对预测残差进行编码。本发明的方面描述一种新的编码方案,其在预测编码之前执行块的额外通过,以便基于所使用的预测模式重新排序块的编码和解码。通过这种重新排序,编码器有效地改变编码和解码过程中的块的数据依赖性,允许帧中稍后编码的块使用来自先前编码块的所有重构像素信息,提高帧内预测的质量和总体编码效率。解码器可执行用于解码的块的相同重新排序,其依赖于包含于编码视频比特流中的比特以指示哪些块可使用帧间预测来解码且哪些块可使用帧内预测来解码。
将块分组为三个组以用于编码或解码可允许使用帧内预测模式,其中来自块的多于两个边的像素数据可用于形成预测块。在一些帧内预测模式中,例如在以光栅扫描次序处理帧的块的情况下,帧内预测模式限于使用来自在以光栅扫描次序预测的块之前出现的块的像素数据的模式。使用帧间预测来编码或解码的块以及至少部分地首先对这些块进行编码允许在一些情况下使用来自块的所有四个边上的块的像素数据来用于预测,从而提高编码或解码过程的性能。
下面首先讨论的是可以实现本公开的各方面的环境。
图1是其中可以实现本公开的各方面的视频编码和解码系统100的示意图。发送站102可以是例如具有诸如图1中所描述的硬件的内部配置的计算机。然而,发送站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的视频流传输协议。可以向编码器和解码器系统100添加额外的组件。例如,显示器或视频摄像机可以附接到发送站102以捕获要编码的视频流。
图2是可以实现发送站或接收站的计算设备200的框图。例如,计算设备200可以实现图1的发送站102和接收站106中的一个或两个。计算设备200可以是包括多个计算设备的计算系统的形式,或者可以是单个计算设备的形式,例如移动电话、平板计算机、膝上型计算机、笔记本计算机和台式计算机等。
计算设备200中的CPU 202可以是中央处理单元。替选地,CPU202可以是能够操纵或处理信息的现在存在或将来开发的任何其它类型的设备或多个设备。尽管所公开的实施方式可以用所示的单个处理器(例如CPU 202)来实现,但是可以使用多个处理器来实现在速度和效率方面的优点。
在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的非暂时性存储设备可以用作存储器204。存储器204可以包括由CPU202使用总线212访问的代码和数据206。存储器204还可以包括操作系统208和应用程序210,应用程序210包括允许CPU 202执行这里描述的方法的至少一个程序。如所示,例如,应用程序210可以包括应用1至N,其还包括执行这里描述的方法的视频流解码应用。计算设备200还可以包括辅助存储器214,辅助存储器214例如可以是与移动计算设备一起使用的存储器卡。因为视频通信会话可以包含大量的信息,所以它们可以全部或部分地存储在辅助存储器214中,并且根据处理需要被加载到存储器204中。
计算设备200还可以包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是将显示器与可操作以感测触摸输入的触敏元件组合的触敏显示器。显示器218可以经由总线212耦合到CPU 202,并且可以被配置为显示在接收站106中解码的视频流的渲染。附加于显示器218或作为替选,可以提供允许用户编程或以其它方式使用计算设备200的其它输出设备。当输出设备是或包括显示器时,显示器可以以各种方式实现,包括通过液晶显示器(LCD)、阴极射线管(CRT)或发光二极管(LED)显示器(例如,有机LED(OLED)显示器)。
计算设备200还可以包括图像感测设备220或者与图像感测设备220进行通信,图像感测设备220例如是相机,或者现在存在或者将来开发的可以感测诸如操作计算设备200的用户的图像的图像的图像感测设备220。图像感测设备220可以被定位成使得其指向操作计算设备200的用户。在示例中,图像感测设备220的位置和光轴可以被配置使得视场包括与显示器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进一步细分为单独的帧,例如单个帧306。每个帧306可以捕获具有一个或多个对象(诸如人、背景元素、图形、文本、黑色墙壁或任何其它信息)的场景。
帧306可以被划分为段308。无论帧306是否被划分成段308,帧306可以被划分为块310的集合,其可以包含对应于在一些示例中的数据帧310中的8×8像素组。块310还可以是任何其它合适的尺寸,例如16×8像素组、8×16像素组、16×16像素组、4×4像素或任何其它尺寸,并且根据应用可以进一步细分为更小的块。除非另有说明,以其它方式术语“块”可以包括宏块、子块(即,宏块或块的细分)、段、片、残差块或帧的任何其它部分。帧、块、像素或其组合可包括显示信息,例如亮度信息、色度信息或可用于存储、修改、传送或显示视频流或其一部分的任何其它信息。块310也可以布置在数据平面中。例如,每个平面中的对应块310可以分别包含用于块310的像素的亮度和色度数据。
图4是根据本公开的实施方式的编码器400的框图。如上所述,可以在发送站102中诸如通过提供存储在存储器204中的计算机软件程序来实现编码器400。计算机软件程序可以包括机器指令,其当由诸如CPU 202的处理器执行时,使发送站102以图4所述的方式对视频数据进行编码。编码器400还可以被实现为包括在例如发送站102中的专用硬件。编码器400具有以下级以在前向路径(由实连接线示出)中执行各种功能,以使用视频流300作为输入来产生编码或压缩比特流420:帧内/帧间预测阶段402、变换阶段404、量化阶段406和熵编码阶段408。编码器400还可以包括重构路径(由虚连接线所示)以重构用于未来块的编码的帧。在图4中,编码器400具有以下级来执行重构路径中的各种功能:去量化阶段410、逆变换阶段412、重构阶段414和环路滤波阶段416。编码器400的其它结构变型可以用于对视频流300进行编码。
当视频流300被呈现用于编码时,视频流300内的每个帧306可以以块310为单位被处理。在帧内/帧间预测阶段402,块可以使用帧内预测(例如,即在单个帧内)或帧间预测(即,从帧到帧)来编码。在任一情况下,可形成预测块。然后从块中减去预测块以产生残差块(本文中也称为残差)。
帧内(intra-fram)预测(本文中也称为帧内(intra)预测)或帧间(inter-frame)预测(本文中也称为帧间(inter)预测)是在现代图像/视频压缩方案中使用的技术。在帧内预测的情况下,可以从当前帧中先前已编码和重构的的空间附近块形成预测块。在帧间预测的情况下,预测块可以从先前构造的参考帧的一个或多个块形成,该参考帧例如是最后一帧(即,紧接当前帧之前的相邻帧)、金色帧或构造的或替选的参考帧。
然后从当前块中减去预测块。然后,差值或残差被编码并传送到解码器。图像或视频编解码器可支持许多不同的帧内和帧间预测模式;块可使用预测模式中的一个以获得与块最相似的预测块,以最小化要在残差中编码的信息,以便重新创建块。还可以对变换系数块的预测模式进行编码和传输,使得解码器可以使用相同的预测模式在解码和重构过程中形成预测块。
接下来,仍参考图4,可以在帧内/帧间预测阶段402从当前块减去预测块,以产生残差块(也称为残差)。变换阶段404将残差变换为例如在频域中的变换系数块。基于块的变换的示例包括Karhunen-Loeve变换(KLT)、离散余弦变换(DCT)、沃尔什-哈达玛变换(WHT)、奇异值分解变换(SVD)和非对称离散正弦变换(ADST)。在一个示例中,DCT将块变换到频域。在DCT的情况下,变换系数值基于空间频率,其中在矩阵的左上角具有最低频率(例如,DC)系数,并且在矩阵的右下角具有最高频率系数。
量化阶段406使用量化器值或量化等级将变换系数转换为离散量子值,其称为量化变换系数。然后,量化的变换系数由熵编码阶段408进行熵编码。熵编码的系数与用于对块进行解码的其它信息(其可以包括例如所使用的预测类型、运动矢量和量化值)一起然后被输出到压缩比特流420。可以使用各种技术(例如可变长度编码(VLC)或算术编码)来格式化压缩比特流420。压缩比特流420也可以称为编码视频流,并且这些术语在本文中可互换使用。
图4中的重构路径(由虚连接线示出)可以用于向编码器400和解码器500(下面描述)两者提供相同的参考帧以解码压缩比特流420。重构路径执行类似于发生在下面更详细地讨论的解码过程期间的功能的功能,包括在去量化阶段410对量化的变换系数进行去量化以产生去量化的变换系数,并且在逆变换阶段412对去量化的变换系数进行逆变换,以产生导数残差块(即,导数残差)。在重构阶段414,可以将在帧内/帧间预测阶段402处预测的预测块添加到导数残差以创建重构块。在一些实施方式中,环路滤波阶段416可应用于重构块以减少例如块伪影的失真。
编码器400的其它变型可以用于编码压缩比特流420。例如,基于非变换的编码器400可以在没有变换阶段404的情况下直接量化残差块。编码器400可以具有组合成单个阶段的量化阶段406和去量化阶段410。
图5是根据本发明的实施方式的解码器500的框图。解码器500可以例如通过提供存储在存储器204中的计算机软件程序例如在接收站106中实现。计算机软件程序可以包括机器指令,当由CPU 202执行时,使得接收站106以图5中描述的方式解码视频数据。解码器500还可以在包括在例如发送站102或接收站106中的硬件或固件中实现。
类似于上文所论述的编码器400的重构路径,解码器500在一个示例中包括以下阶段以执行各种功能以从压缩比特流420产生输出视频流516:熵解码阶段502、去量化阶段504、逆变换阶段506、帧内/帧间预测阶段508、重构阶段510、环路滤波阶段512和解块滤波阶段514。解码器500的其它结构变体可用于对压缩比特流420进行解码。
当呈现用于解码的压缩比特流420时,压缩比特流420内的数据元素可以由熵解码阶段502(使用例如算术编码)解码以产生一组量化变换系数。去量化阶段504对量化的变换系数进行去量化,并且逆变换阶段506对去量化的变换系数进行逆变换,以产生可以与编码器400中的逆变换阶段412创建的导数残差相同的导数残差。使用从压缩比特流420解码的报头信息,解码器500可以使用帧内/帧间预测阶段508来创建与例如在帧内/帧间预测阶段402中在编码器400中创建的相同的预测块。在帧间预测的情况下,参考帧(从其生成预测块)可以在比特流中传送,或者由解码器500使用包含在比特流内的信息来构造。
在重构阶段510,可将预测块添加到导数残差以创建可与编码器400中的重构阶段414创建的块相同的重构块。在一些实施方式中,环路滤波阶段512可以应用于重构块以减少块伪影。后处理级可以应用于重构块以进一步细化图像。在此示例中,解块滤波阶段514可应用于重构块以减少块失真,且所述结果被输出为输出视频流516。输出视频流516还可被称为解码视频流,且术语在本文中可互换使用。
解码器500的其它变型可以用于对压缩比特流420进行解码。例如,解码器500可以在没有诸如解块滤波阶段514的后处理的情况下产生输出视频流516。
图6是根据本公开的方面的用于对视频流进行编码的过程600的流程图。在该示例中,视频流首先使用帧间预测对块进行编码,然后其次对具有至少一个使用帧间预测编码的子块和至少一个使用帧内预测编码的子块的块进行编码,最后使用帧内预测。过程600可在编码器(例如编码器400)中实现以实现预测模式块排序以编码视频流。过程600可以被实现为例如由诸如发送站102或接收站106的计算设备执行的软件程序。软件程序可以包括存储在诸如存储器204的存储器中的机器可读指令,其在由诸如CPU 202的处理器执行时使得计算设备执行过程600。
过程600可以使用专用硬件或固件来实现。一些计算设备可以具有多个存储器、多个处理器或两者。过程600的操作可以使用不同的处理器、存储器或两者来分布。本文中单数形式的术语“处理器”和“存储器”的使用包括仅具有一个处理器或一个存储器的计算设备以及具有可用于执行所述操作中的一些或全部的多个处理器或存储器的设备。然而,根据本公开的操作可以以各种次序和/或同时发生。另外,根据本公开的操作可以与本文中未呈现和描述的其它操作一起发生。此外,并非所有示出的操作都可能需要用于实施方式根据所公开的主题的方法。
过程600假定具有多个帧(每个帧具有多个块)的视频数据流正使用例如在例如发送站102的计算装置上执行的编码器400的视频编码器来编码。视频数据或流可以由计算设备以任何数量的方式接收,诸如通过在网络上、通过电缆接收视频数据,或者通过从主存储器或其它存储设备(包括磁盘驱动器或可移动介质,诸如压缩闪存(CF)卡、安全数字(SD)卡或能够传送视频数据的任何其它设备)读取视频数据。可以从连接到操作编码器的计算设备的视频相机接收视频数据。
在操作602,在视频流的帧中识别多个块,例如大的64×64像素块。识别可以指以任何方式选择、挑选、确定或以其它方式识别。多个块中的任何块可以被进一步分区并递归地分区成更小的子块。当块被分区成较小的组的块时,处理次序首先基于深度,使得较小的较低级块在处理较大的较高级块之前被处理和完成。基于从最低级到最高级的深度,以扫描次序处理每个级的块,在下一级的大块之前处理大块内的较小子块。在帧级,大块仍然可以使用光栅扫描次序,其中每个级的块被布置成行和列的矩形阵列,并且阵列的块从从左上角开始一次访问一个,并且从顶行开始并向下移动按行次序访问,以获得更好的缓存效率。
在操作604,使用帧间预测来从多个块中识别要编码的第一组块。如上所述,参考图4和图5,帧间预测包括使用来自另一帧的像素数据来预测块中的像素数据。在一些实施方式中,通过基于帧的扫描次序中从最低级到最高级的深度检查帧中的块来识别第一组块。使用帧间预测编码的每个块和包括多个子块的每个块(其中每个子块将使用帧间预测来编码)被添加到第一组块。
在操作606,从多个块中识别第二组块。可以基于第一组中的块的相同扫描次序中从最低级到最高级的深度在帧中识别第二组块。也就是说,当以帧的扫描次序检查帧中的块时,包括具有至少一个要使用帧间预测编码的子块和至少一个要使用帧内预测编码的子块的多个子块的每个块可以被添加到第二组块。
在操作608,从多个块中识别要使用帧内预测来编码的第三组块。可以基于与第一组相同的块的扫描次序中从最低级到最高级的深度,在帧中识别第三组块。也就是说,当以帧的扫描次序检查帧中的块时,使用帧内预测来编码的每个块和包括多个子块的每个块(其中每个子块将使用帧内预测来编码)被添加到第三组块。因此,可以在对帧的块的单次扫描期间,通过分析用于最优预测模式的扫描次序的块并且一旦选择了最优预测模式则将块分类成组来执行操作604、606和608。
可以通过尝试不同的预测模式并比较结果来确定哪个预测模式要用于块。例如,可以比较用于各种预测模式的所得残差块的绝对差的和。可以为给定块选择具有最小速率失真成本的预测模式。注意,虽然一般将帧间预测描述为使用另一帧的块来预测当前帧的块,但本发明考虑可通过使用运动向量和当前帧内的另一块来使用当前帧内的帧间预测来编码当前块。当块未被进一步分区时或者当块包括多个子块时,这样的块将被包括在第一组块内,其中每个子块将使用帧间预测来编码。作为识别操作604、606和608的一部分而被测试的帧内预测模式可以被限制为通常用于帧的扫描次序的帧内预测模式。
在下一操作610,第一组块至少部分地被编码。通常,这种部分编码是有损的,意味着反转编码操作将不会导致与输入完全相同的像素值。如图所示,参考图4,例如,对视频数据块进行编码可以包括:形成预测块,在这种情况下使用运动矢量从另一帧或当前帧开始;从要编码的块中减去预测块;使用变换来变换块;然后量化变换数据。第一组块的编码可以基于从最低级到最高级的深度以扫描次序发生,跳过属于第二组块和第三组块的那些块。来自第一组块的部分编码块也可以称为编码块。
在操作612,通过反转编码的有损操作来部分地解码由第一组块产生的编码块。在该示例中,这涉及对参考图4的重构环路描述的使用帧间预测生成的预测块进行去量化、逆变换和将逆变换块相加。这产生等于当稍后在解码器处对块进行解码时形成的像素数据的像素数据。例如,编码器可以在完成要包括在输出视频比特流中的块的编码之前在执行过程600中的剩余操作的同时,维持存储器中的部分编码块的副本。
在下一操作614处,在对第一组块进行编码之后,至少部分地对使用来自第二组块的帧间预测进行编码的至少一个子块进行编码。类似地,如上关于第一组块所描述的,第二组块的编码可以基于从最低级到最高级的深度以扫描次序发生,跳过属于使用帧内预测来编码的第二组块的子块和属于第三组块的块。来自第二组块的部分编码块也可以称为编码块。
在操作616,通过反转编码的有损操作来部分地解码由第二组块产生的帧间预测的编码块。类似地,如上关于第一组块所描述的,这产生等于当随后在解码器处对块进行解码时形成的像素数据的像素数据。例如,编码器可以在完成要包括在输出视频比特流中的块的编码之前在执行过程600中的剩余操作的同时,维持存储器中的部分编码块的副本。
在操作618,在对第一组块进行编码之后,使用帧内预测和部分编码和解码的第一组块的至少一个或来自第二组块的使用帧间预测的部分编码和解码的子块的至少一个来对来自第二组块的至少一个块进行编码。帧内预测使用来自块周围的块的像素来预测当前块内的像素值。在对要使用帧间预测编码的第一组块或第二组块中的一些或所有块进行编码和解码之后,可以基于从最低级到最高级的深度的扫描次序来执行该处理。如上所述,具有来自帧间预测块的编码和解码结果可以通过允许在编码过程中包括附加预测模式来提高帧内预测编码块的性能。因此,操作618可以包括使用帧内预测对要编码的每个块重新计算最优帧内预测模式选择。如果以基于从最低级到最高级的深度的扫描次序或者在替选实施方式中以预定义编码次序对所有块进行编码,这些帧内预测模式中的一些可以使用来自在当前块之后已经被编码的帧间编码块的信息。结果,由于帧间编码块已经被处理,当前块的帧内编码可利用来自在当前块之后已经被先前编码的帧间编码块的经重构的像素值。这些重构的像素值的可用性可有助于在使用帧内预测模式时改进预测质量,因此提高视频帧的整体编码效率。
在操作620,在编码第一组块和第二组块之后,使用帧内预测和部分编码和解码的第一组块中的至少一个或来自第二组块的使用帧间预测的部分编码和解码的子块的至少一个对第三组块进行编码。如上所述,在第一组块或第二组块中的一些或所有块被编码和解码之后,可以以基于从最低级到最高级的深度的扫描次序来执行该处理。
通过将要编码的当前帧的块划分为三组块,第一组包括要使用帧间预测编码的块和以及具有其中每个子块将使用帧间预测编码的子块的块,第二组包括具有至少一个要使用帧间预测编码的子块和至少一个要使用帧内预测编码的子块的块,第三组包括要使用帧内预测编码的块和具有其中每个子块将使用帧内预测来编码的子块的块,可以操纵对块进行编码的次序,以对帧内编码块提供更好的预测,并且因此提高编码效率。编码块的次序由过程600操纵以在第二组块之前对第一组块进行编码,并且在第三组块之前对第二组块进行编码。
更具体地,并且如上面关于图4和5所述,帧内预测包括使用来自要编码的块的周边块的像素数据来预测块中的像素值。用于形成预测块的块在用于预测之前经常被编码和解码。也就是说,因为编码和解码可以是有损操作,所以编码和解码块中的像素值将不会精确地等于原始块的像素值。通过在将块用作预测块以预测另一块之前对块进行编码和解码,编码器可使用解码器将用于帧内预测相同块的相同像素值。在以光栅扫描次序进行编码的情况下,例如,帧内预测通常仅使用来自当前块的上方和左侧的像素来形成预测块。这种布置保证了在要被预测的块之前出现的块的像素数据在被用于预测之前已经被至少部分地编码和解码。
根据本文的教导,编码器可以首先对第一组块进行编码。来自第一组块的这些帧间预测块然后可以被解码以形成重构的或解码的块,其可以用于使用第二组块中的帧内预测进行编码的块的帧内预测以及用于第三组块的帧内预测。类似地,编码器可其次使用来自第二组块的帧间预测来对块进行编码。来自第二组块的这些帧间预测块然后可以被解码以形成重构的或解码的块,其可以用于使用第二组块中的帧内预测来编码的块的帧内预测以及用于第三组块的帧内预测。以此方式,可使用相对于当前块的任何位置中的块来扩展第二组块和第三组块中的那些块的帧内预测模式以包括帧内预测模式,其中当前块的至少一些块(即,以扫描次序中较早的帧内编码块和帧间编码块)已经被编码和解码用于预测。
图8可以用来解释这个过程。图8是根据本发明的方面的要编码或解码的帧800中的块的图。在该示例中,帧800表示被分区为四个32×32像素块A、B、C和D的64×64像素块。块A被进一步分区为四个16×16像素块A0、A1、A2和A3。块A3进一步分区为四个4×4像素块A30、A31、A32和A33。编码器400处理每个块以为每个块选择预测模式。每个大块或小块可以在编码过程中使用帧内预测或帧间预测。编码器400基于按照扫描次序从最低级到最高级的块的分区的深度来处理每个块,使得首先处理块A30、A31、A32和A33,接着是块A0、A1、A2和A3,其次是块A、B、C和D。
编码器400基于在编码和解码块中使用的预测模式来排序每个块,在处理较大块之前在大块内的每个级处理较小的子块。编码器400将块分类为三个组。第一组块包括要使用帧间预测编码的块和递归地分割为子块的块,其中每个子块将使用帧间预测来编码。第二组块包括被递归地分割为子块的块,其中该块的至少一个子块将使用帧间预测来编码,并且该块的至少一个子块要使用帧内预测来编码。第三组块包括要使用帧内预测编码的块和递归地分割为子块的块,其中每个子块将使用帧内预测进行编码。
为了用于解释图6的过程的说明的目的,图8的块A0、A32和C被确定为使用帧内预测编码,而剩余的块被确定为使用帧间预测编码。在该示例中,在4×4像素级,第一组块包括块A30、A31和A33,第二组块包括块A32。在16×16像素级,第一组块包括块A1和A2,第二组块包括块A3,第三组块包括块A0。在32×32像素级、第一组块包括块B和D,第二组块包括块A,第三组块包括块C。
使用为每个块确定的预测模式,根据每个级的组分类来处理和编码块,其中首先处理第一组块,第二处理第二组块,并且最后处理第三组块,根据从最低级到最高级减小的深度处理级。帧内预测块可使用来自帧间预测块的重构像素值。在图8所示的示例中,以块A30、A31、A33和A32的次序处理和编码4×4像素级块,以A1、A2、A3和A0的次序处理和编码16×16像素级块,并且以B、D、A和C的次序处理和编码32×32像素级块。然后,熵编码的、量化的残差块可以被打包成视频比特流以用于传输或存储和随后的解码。预测模式也可以被熵编码并且作为压缩数据的一部分被包括。无需对排序定义进行编码或传输。
图7是根据本发明的另一方面的用于对视频比特流进行解码的过程700的流程图。广泛地,在过程700中,使用帧间预测对视频比特流的第一组块进行解码,使用帧间预测或帧内预测对视频比特流的第二组块进行解码,然后使用帧内预测对第三组块解码。根据所公开的实施方式的方面,过程700可以在诸如解码器500的解码器中实现。过程700可以被实现为例如由诸如发送站102或接收站106的计算设备执行的软件程序。软件程序可以包括存储在诸如存储器204存储器中的机器可读指令,其在由诸如CPU 202的处理器执行时使得计算设备执行过程700。过程700还可以使用硬件来实现。如上所述,一些计算设备可以具有多个存储器和多个处理器,并且在这种情况下,过程700的操作可以使用不同的处理器和存储器来分布。
为了简化说明,将过程700描绘和描述为一系列操作。然而,根据本公开的操作可以以各种次序和/或同时发生。另外,根据本公开的操作可以与本文未呈现和描述的其它操作一起发生。此外,并非所有示出的操作都可能被需要用于实现根据所公开的主题的方法。
在操作702,过程700识别可以使用帧间预测解码的第一组编码块,第一组编码块包括使用帧间预测编码的块或包括多个子块的块,其中每个子块使用帧间预测来编码。在操作704,过程700识别可使用帧间预测或帧内预测来解码的第二组编码块,第二组编码块包括具有多个子块的块,其中至少一个子块使用帧间预测来编码,并且至少一个子块使用帧内预测来编码。在操作706,过程700识别可使用帧内预测来解码的第三组编码块,第三组编码块包括使用帧内预测编码的块或包括多个子块的块,其中每个子块使用帧内预测编码。如上面关于图6所讨论的,可以以基于从最低级到最高级的深度的扫描次序识别帧的块,扫描次序例如可以是光栅扫描次序或另一扫描次序。在该示例中,解码器可以执行报头信息的熵解码以产生每个块的预测模式。然后根据所使用的预测模式将所有块分组成三个组。因此,操作702、704和706可以作为一个操作执行。
例如,在对块进行编码时,可以由编码器使用在视频比特流中包括的比特来识别可以使用每种预测方法解码的块。这些比特由编码器包括在编码视频比特流中以指导解码器关于使用哪一预测模式。结果,块可以被分类成用于解码的组,而不需要视频比特流中除了通常包括以识别预测模式的比特之外的的附加比特。
在操作708,使用帧间预测对第一组块进行解码。例如,每个熵解码的残差块被逆变换和去量化以形成残差块。解码器使用帧间预测产生用于当前块的预测块,且通过将预测块添加到残差块来重构当前块,如关于图5所描述。可以以基于从最低级到最高级的深度的帧的扫描次序对第一组块进行解码。扫描次序可以是光栅扫描次序或其它扫描次序(Z字形等)。
在操作710,使用帧间预测对来自第二组编码块中的至少一个块进行解码,其中使用帧间预测对来自第二组编码块中的至少一个块进行编码。如关于操作708所描述,每一熵解码的残差块被逆变换和去量化以形成残差块。解码器使用帧间预测产生用于当前块的预测块,且通过将预测块添加到残差块来重构当前块,如关于图5所描述。在操作710中来自第二组编码块的至少一个块可以基于以从最低级到最高级的深度的帧的扫描次序被解码。
在操作712,使用帧内预测来解码来自第二组编码块中的至少一个块,其中使用帧内预测对来自第二组编码块中的至少一个块进行编码,并且根据帧内预测模式,使用帧间预测来解码来自第一组块和第二组块的块。例如,每个熵解码的残差块被逆变换和去量化以形成残差块。解码器使用帧内预测产生用于当前块的预测块,且通过如关于图5所描述,将预测块添加到残差块来重构当前块。在操作712中来自第二组编码块的至少一个块可以以基于从最低级到最高级的深度的帧的扫描次序(例如,光栅扫描次序)来解码。
在操作714,使用帧内预测来解码第三组编码块,且取决于帧内预测模式,使用帧间预测来解码来自第一组块和第二组的块。例如,每个熵解码的残差块被逆变换和去量化以形成残差块。解码器使用帧内预测产生用于当前块的预测块,且通过将预测块添加到残差块来重构当前块,如关于图5所描述。可以以基于从最低级到最高级的深度的帧的扫描次序对第三组编码块进行解码。
在该示例中,根据从最低级到最高级的块的深度(其中,在下一级的较大块之前处理每个级处的较小子块)以及关于所述编码器所描述的所述次序分类来执行块的处理,首先处理包含使用帧间预测而编码的块及具有使用帧间预测编码的块的每一子块的递归地分割的块的所述第一组块,然后处理包括递归分区块(其具有使用帧间预测编码的块的至少一个子块和使用帧内预测编码的块的至少一个子块)的第二组块,然后处理包括使用帧内预测编码的块和递归分区的块(具有最后使用帧内预测编码的块的每个子块)的第三组块。在其它情况下,块的处理可以根据另一个预定义的扫描次序,并且这种次序的选择可以被编码,使得解码器可以以相同的次序处理块。除了预定义的扫描次序之外,不需要编码或传输排序定义。
根据本文的教导,帧内预测块可使用来自帧间预测块的重构像素值,即使那些帧间预测块以正常扫描次序在其之后被编码/解码。通过基于块的预测模式对块的编码和解码重新排序,编码器可以有效地改变编码/解码过程中的块的数据依赖性。以此方式,帧中稍后编码的块可以使用来自先前编码块的所有重构像素信息,以提高预测的质量,因此提高编码效率。
上文所描述的编码和解码的方面图解说明编码和一些解码技术。然而,应当理解,作为权利要求中使用的那些术语的编码和解码可以意味着数据的压缩、解压缩、变换或任何其它处理或变化。
词语“示例”在本文中用于表示用作示例、实例或说明。在本文中被描述为“示例”的任何方面或设计不一定被解释为相对于其它方面或设计是优选的或有利的。相反,使用词语“示例”旨在以具体的方式呈现概念。如本申请中所使用的,术语“或”旨在表示包括性的“或”而不是排他性的“或”。也就是说,除非另有规定或从上下文中清楚,以其它方式“X包括A或B”意在表示任何自然的包括性排列。也就是说,如果X包括A;X包括B;或X包括A和B两者,则在任何前述情况下满足“X包括A或B”。此外,除非另有说明或从上下文中清楚地指示单数形式,否则本申请和所附权利要求中使用的冠词“a”和“an”通常应被解释为意指“一个或多个”。此外,贯穿全文使用术语“实施方式”或“方面”并不旨在表示相同的实施例或实施方式,除非这样描述。
发送站102和/或接收站106(以及其上存储的和/或由其执行的算法、方法、指令等等,包括由编码器400和解码器500)的实施方式可以以在硬件、软件或其任何组合实现。硬件可以包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它合适的电路。在权利要求中,术语“处理器”应当被理解为单独地或组合地包括任何前述硬件。术语“信号”和“数据”可互换使用。此外,发送站102和接收站106的部分不一定必须以相同的方式实现。
此外,在一个方面,例如,发送站102或接收站106可以使用具有计算机程序的通用计算机或通用处理器来实现,所述计算机程序在被执行时执行任何相应的方法、算法和/或指令。附加地或替选地,例如,可以使用可以包含用于执行本文所述的任何方法、算法或指令的其它硬件的专用计算机/处理器。
发送站102和接收站106可以例如在视频会议系统中的计算机上实现。替选地,发送站102可以在服务器上实现,并且接收站106可以在与服务器分离的设备上实现,诸如手持通信设备。在这种情况下,发送站102可以使用编码器400将内容编码为编码视频信号,并将编码视频信号发送到通信设备。继而,通信设备然后可以使用解码器500对编码的视频信号进行解码。替选地,通信设备可以解码在通信设备上本地存储的内容,例如,未由发送站102发送的内容。其它合适的发送站102和接收站106实施方式是可用的。例如,接收站106可以是通常固定的个人计算机而不是便携式通信设备,和/或,包括编码器400的设备还可以包括解码器500。
此外,本公开的实施方式的全部或一部分可以采用可从例如有形计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是能够例如有形地包含、存储、传送或传输由任何处理器使用或与任何处理器结合使用的程序的任何设备。介质可以是例如电子、磁性、光学、电磁或半导体器件。也可使用其它合适的介质。
已经描述了上述实施例、实施方式和方面以便于容易理解本公开,并且不限制本公开。相反,本公开旨在覆盖包括在所附权利要求的范围内的各种修改和等同布置,其范围符合最宽泛的解释,以包括法律允许的所有这样的修改和等同结构。
在以下编号的条款中提供本发明的实施例:
条款1.一种对视频流进行编码的方法,包括:
使用执行帧间预测的处理器至少部分地编码第一组块以形成第一组编码块,所述第一组块位于所述视频流的当前帧内;
使用所述处理器至少部分地解码所述第一组编码块以形成第一组解码块;
在对所述第一组块进行部分编码之后,使用执行帧间预测的所述处理器至少部分地编码第二组块,以形成第二组帧间预测编码块;
使用所述处理器至少部分地解码所述第二组帧间预测编码块以形成第二组帧间预测解码块;
在所述第二组块包括至少一个块的条件下,在部分地编码所述第一组块之后,使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块的至少一个的至少一个块来编码来自所述第二组块的至少一个块,以形成第二组帧内预测编码块;和
将所述第一组编码块、所述第二组帧间预测编码块和所述第二组帧内预测编码块插入到编码比特流中。
条款2.根据条款1所述的方法,还包括:
在第三组块包括至少一个块的条件下,在部分地编码所述第一组块且编码所述第二组块之后,使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的至少一个块来编码所述第三组块,以形成第三组编码块;和
将所述第三组编码块插入到所述编码比特流中。
条款3.根据条款2所述的方法,还包括:
以扫描次序处理所述帧的多个块,以确定每个块的预测模式;和
在来自所述多个块的块中的至少一个使用帧内预测或所述块包括多个子块且其中每个子块使用帧内预测的条件下,将所述块分配给所述第三组块。
条款4.根据条款3所述的方法,还包括:
通过以下步骤确定每个块的预测模式:
对多个预测模式中的每一个,对当前块计算残差块;和
基于所述多个预测模式来选择导致最小速率失真成本的所述当前块的预测模式。
条款5.根据条款3或4所述的方法,还包括:
通过以下步骤确定每个子块的预测模式:
对多个预测模式中的每一个,对当前块计算残差块;和
基于所述多个预测模式来选择导致最小速率失真成本的所述当前块的预测模式。
条款6.根据条款3至5中任一项所述的方法,其中扫描次序首先基于每个块的像素的深度或每个子块的像素的深度中的至少一个。
条款7.根据条款3至5中任一项所述的方法,其中所述扫描次序是光栅扫描次序。
条款8.根据条款2至7中任一项所述的方法,其中对所述第三组块进行编码包括:
从多个帧内预测模式中确定所述第三组块中的当前块的最优帧内预测模式,其中所述多个帧内预测模式中的至少一个包括所述第一组解码块中的所述至少一个块或所述第二组帧间预测解码块中的至少一个块的像素;和
使用所述最优帧内预测模式对所述第三组块的所述当前块进行编码。
条款9.根据条款2至8中任一项所述的方法,其中在所述第二组块被至少部分地编码之前至少部分地对所述第一组块进行编码,并且在对所述第三组块进行编码之前至少部分地对第二组块进行编码。
条款10.根据任一前述条款所述的方法,还包括:
以扫描次序处理所述帧的多个块,以确定每个块的预测模式;
在来自所述多个块的块中的至少一个使用帧间预测或所述块包括多个子块且其中每个子块使用帧间预测的条件下,将所述块分配给所述第一组块;和
在来自所述多个块的块包括多个子块且其中至少一个子块使用帧间预测、并且至少一个子块使用帧内预测的条件下,将所述块分配给所述第二组块。
条款11.根据条款10所述的方法,还包括:
通过以下步骤确定每个块的预测模式:
对多个预测模式中的每一个,对当前块计算残差块;和
基于所述多个预测模式来选择导致最小速率失真成本的所述当前块的预测模式。
条款12.根据条款10或11所述的方法,还包括:
通过以下步骤确定每个子块的预测模式:
对多个预测模式中的每一个,对当前块计算残差块;和
基于所述多个预测模式来选择导致最小速率失真成本的所述当前块的预测模式。
条款13.根据条款10至13中任一项所述的方法,其中扫描次序首先基于每个块的像素的深度或每个子块的像素的深度中的至少一个。
条款14.根据条款10至13中任一项所述的方法,其中所述扫描次序是光栅扫描次序。
条款15.根据任一前述条款所述的方法,其中编码要使用帧内预测来编码的所述第二组块包括:
为所述第二组块的要使用帧内预测编码的当前块从多个帧内预测模式中确定最优帧内预测模式,其中所述多个帧内预测模式中的至少一个包括所述第一组解码块的至少一个块或第二组帧间预测解码块中的至少一个块的像素;和
使用所述最优帧内预测模式对所述第二组块的所述当前块进行编码。
条款16.一种对视频流进行解码的方法,包括:
在第一组编码块包括至少一个块的条件下,使用执行帧间预测的处理器来解码所述第一组编码块以形成第一组解码块;
在第二组编码块包括至少一个块的条件下,在对所述第一组编码块进行解码之后,使用执行帧间预测的所述处理器,解码所述第二组编码块以形成第二组帧间预测解码块;和
在所述第二组编码块包括至少一个块的条件下,在解码所述第一组编码块之后,使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的至少一个块来解码所述第二组解码块,以形成第二组帧内预测解码块。
条款17.根据条款16所述的方法,还包括:
在第三组编码块包括至少一个块的条件下,在解码所述第一组编码块和所述第二组编码块之后,使用帧内预测,使用来自所述第一组解码块中的至少一个或者来自所述第二组帧间预测解码块的至少一个的至少一个块来解码所述第三组编码块,以形成第三组解码块。
条款18.根据条款17所述的方法,还包括:
熵解码所述视频比特流以获得所述帧的多个块中的每个块的预测模式;和
在来自所述多个块的块中的至少一个使用帧内预测进行编码或者所述块包括多个子块且其中使用帧内预测对每个子块进行编码的条件下,将所述块分配给所述第三组编码块。
条款19.根据条款17或18所述的方法,其中在对所述第二组编码块进行解码之前对所述第一组编码块进行解码,并且在对所述第三组编码块进行解码之前对所述第二组编码块进行解码。
条款20.根据条款16所述的方法,还包括:
熵解码所述视频比特流以获得所述帧的多个块中的每个块的预测模式;
在来自所述多个块的块中的至少一个使用帧间预测被编码或者所述块包括多个子块且其中每个子块使用帧间预测被编码的条件下,将所述块分配给所述第一组编码块;和
在来自所述多个块的块包括多个子块且其中至少一个子块使用帧间预测来进行编码、并且至少一个子块使用帧内预测来进行编码的条件下,将所述块分配给所述第二组编码块。
条款21.一种用于对视频流进行编码的装置,包括:
存储器;和
处理器,所述处理器被配置成执行存储器中的指令以:
在第一组块包括至少一个块的条件下,使用执行帧间预测的处理器至少部分地编码所述第一组块以形成第一组编码块;
在所述第一组块包括至少一个块的条件下,至少部分地解码所述第一组编码块以形成第一组解码块;
在第二组块包括至少一个块的条件下,在对所述第一组块进行部分编码之后,使用帧间预测至少部分地编码所述第二组块,以形成第二组帧间预测编码块;
在所述第二组块包括至少一个块的条件下,至少部分地解码所述第二组帧间预测编码块以形成第二组帧间预测解码块;
在所述第二组块包括至少一个块的条件下,在部分地编码所述第一组块之后,使用帧内预测,使用来自所述第一组的解码块或所述第二组的帧间预测解码块的至少一个的至少一个块来编码来自所述第二组块中的至少一个块,以形成第二组帧内预测编码块;和
将所述第一组编码块、所述第二组帧间预测编码块和所述第二组帧内预测编码块插入到编码比特流中。
条款22.根据条款21所述的装置,其中所述处理器被配置成:
在第三组块包括至少一个块的条件下,在部分地编码所述第一组块且编码所述第二组块之后,使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的至少一个块来编码第三组块,以形成第三组编码块;和
将所述第三组编码块插入到所述编码比特流中。
条款23.根据条款22所述的装置,其中所述处理器被配置成:
计算所述帧的多个块的一个或多个预测模式的残差值;和
当预测模式是帧内预测模式时,将来自所述多个块的块分配给所述第三组块作为具有小速率失真成本的帧的块。
条款24.根据条款22或23所述的装置,其中所述处理器被配置成:
以扫描次序处理所述帧的多个块,以确定每个块的预测模式;和
在来自所述多个块的块中的至少一个使用帧内预测或所述块包括多个子块且其中每个子块使用帧内预测的条件下,将所述块分配给所述第三组块。
条款25.根据条款22至24中任一项所述的装置,其中所述处理器被配置成在所述第二组块之前至少部分地编码所述第一组块,并且在编码所述第三组块之前至少部分地编码所述第二组块。
条款26.根据条款22至25中任一项所述的装置,其中所述处理器被配置成通过以下操作对所述第三组块进行编码:
从多个帧内预测模式中确定所述第三组块中的当前块的最优帧内预测模式,其中所述多个帧内预测模式中的至少一个包括所述第一组解码块中的所述至少一个块或所述第二组帧间预测解码块中的至少一个块的像素;和
使用所述最优帧内预测模式对所述第三组块的所述当前块进行编码。
条款27.根据条款21至26中任一项所述的装置,其中所述处理器被配置成:
计算所述帧的多个块的一个或多个预测模式的残差值;
当预测模式是帧间预测模式时,将来自所述多个块的块分配给所述第一组块作为具有小速率失真成本的块;和
将来自所述多个块的块分配给所述第二组块作为包括多个子块的块,其中当预测模式是帧间预测模式时,每个块的所述多个子块中的至少一个子块具有小的速率失真成本,并且当预测模式是帧内预测模式时,每个块的所述多个子块中的至少一个子块具有小的速率失真成本。
条款28.根据条款21至27中任一项所述的装置,其中所述处理器被配置成:
以扫描次序处理所述帧的多个块,以确定每个块的预测模式;
在来自所述多个块的块中的至少一个使用帧间预测或所述块包括多个子块且其中每个子块使用帧间预测的条件下,将所述块分配给所述第一组块;和
在来自所述多个块的块包括多个子块且其中至少一个子块使用帧间预测、并且至少一个子块使用帧内预测的条件下,将所述块分配给所述第二组块。
条款29.根据条款21至28中任一项所述的装置,其中所述处理器被配置成通过以下步骤对要使用帧内预测编码的所述第二组块进行编码:
从多个帧内预测模式来确定所述第二组块的要使用帧内预测编码的当前块的最优帧内预测模式,其中所述多个帧内预测模式中的至少一个包括所述第一组解码块的所述至少一个块或所述第二组帧间预测解码块中的至少一个块的像素;和
使用所述最优帧内预测模式对所述第二组块的所述当前块进行编码。
条款30.一种用于对视频流进行解码的装置,所述装置被布置为:
在第一组编码块包括至少一个块的条件下,使用执行帧间预测的处理器来解码所述第一组编码块以形成第一组解码块;
在第二组编码块包括至少一个块的条件下,在解码所述第一组编码块之后,使用执行帧间预测的所述处理器,解码所述第二组编码块,以形成第二组帧间预测解码块;和
在所述第二组编码块包括至少一个块的条件下,在解码所述第一组编码块之后,使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的至少一个块来解码所述第二组编码块,以形成第二组帧内预测编码块。

Claims (19)

1.一种对视频流进行编码的方法,包括:
使用帧间预测来编码第一组块以形成第一组帧间预测编码块,所述第一组块包括位于所述视频流的当前帧内的多个块中的至少一些块,并且所述多个块中的每一个块具有相同的像素尺寸;
解码所述第一组编码块以形成第一组解码块;
使用帧间预测来对第二组块的子块进行编码以形成第二组帧间预测编码块,所述第二组块包括位于所述当前帧内的所述多个块中的至少一些块、并且具有至少一个要使用帧内预测来编码的子块;
解码所述第二组帧间预测编码块以形成第二组解码块;
使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的像素值来对所述第二组块中的至少一个子块进行编码,以形成第二组帧内预测编码块;和
将所述第一组编码块、所述第二组帧间预测编码块和所述第二组帧内预测编码块插入到编码比特流中。
2.根据权利要求1所述的方法,还包括:
使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的像素值来编码第三组块以形成第三组编码块,所述第三组块包括位于所述当前帧内的所述多个块中的至少一些块;和
将所述第三组编码块插入到所述编码比特流中。
3.根据权利要求2所述的方法,还包括:
以扫描次序处理所述帧的所述多个块;和
在来自所述多个块的块的预测模式是帧内预测或所述块包括多个子块且其中每个子块的预测模式是帧内预测的条件下,将所述块分配给所述第三组块。
4.根据权利要求3所述的方法,其中所述扫描次序基于每个块的分区深度。
5.根据权利要求3或4所述的方法,其中所述扫描次序是光栅扫描次序。
6.根据权利要求2至4中任一项所述的方法,其中在编码所述第二组块之前编码所述第一组块,并且在编码所述第三组块之前编码所述第二组块。
7.根据权利要求1或2所述的方法,还包括:
以扫描次序处理所述帧的所述多个块以确定每个块的预测模式;
在来自所述多个块的块使用帧间预测或所述块包括多个子块且其中每个子块使用帧间预测的条件下,将所述块分配给所述第一组块;和
在来自所述多个块的块包括多个子块且其中至少一个子块使用帧间预测、并且至少一个子块使用帧内预测的条件下,将所述块分配给所述第二组块。
8.根据权利要求7所述的方法,还包括:
在对所述第一组块进行编码之前,通过以下步骤确定每个块的所述预测模式:
对多个预测模式中的每一个,对当前块计算残差块;
将所述当前块分区为子块;
对多个预测模式中的每一个,对所述当前块的所述子块计算残差子块;
基于所述多个预测模式来选择导致最小速率失真成本的所述当前块的所述预测模式和所述分区。
9.根据权利要求7所述的方法,其中所述扫描次序是光栅扫描次序。
10.根据权利要求1至4中任一项所述的方法,其中编码所述第一组块包括:
使用帧间预测对所述第一组块的块的多个子块中的每一个进行编码。
11.一种对视频比特流进行解码的方法,包括:
使用帧间预测来解码第一组编码块以形成第一组解码块,所述第一组解码块包括位于当前帧内的多个块中的至少一些块,并且所述多个块中的每一个块具有相同的像素尺寸;
使用帧间预测来解码第二组编码块的子块以形成第二组帧间预测解码块,所述第二组块包括位于所述当前帧内的所述多个块中的至少一些块,并且具有使用帧内预测编码的至少一个子块;和
使用帧内预测,使用来自所述第一组解码块或所述第二组解码块中的至少一个的像素值来解码所述第二组编码块的至少一个子块以形成第二组帧内预测解码块。
12.根据权利要求11所述的方法,还包括:
使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的像素值来解码第三组编码块,以形成包括位于所述当前帧内的所述多个块的至少一些块的第三组解码块。
13.根据权利要求12所述的方法,还包括:
熵解码所述视频比特流以获得所述帧的所述多个块中的每个块的预测模式;和
在来自所述多个块的块使用帧内预测来编码或者所述块包括使用帧内预测编码的多个子块的条件下,将所述块分配给所述第三组编码块。
14.根据权利要求12所述的方法,其中在所述第二组编码块的所述子块被解码之前解码所述第一组编码块,并且在解码所述第三组编码块之前解码所述第二组编码块的所述子块。
15.根据权利要求11至14中任一项所述的方法,还包括:
在来自所述多个块的块使用帧间预测来编码或者所述块包括多个子块且其中每个子块使用帧间预测来编码的条件下,将所述块分配给所述第一组编码块;和
在来自所述多个块的块包括多个子块且其中至少一个子块使用帧间预测来编码、并且至少一个子块使用帧内预测来编码的条件下,将所述块分配给所述第二组编码块。
16.一种用于对视频流进行编码的装置,包括:
存储器;和
处理器,所述处理器被配置成执行存储器中的指令以:
使用帧间预测来对第一组块进行编码以形成第一组帧间预测编码块,所述第一组块包括位于所述视频流的当前帧内的多个块中的至少一些块,并且所述多个块的每个块具有相同的像素尺寸;
解码所述第一组编码块以形成第一组解码块;
使用帧间预测来对第二组块的子块进行编码以形成第二组帧间预测编码块,所述第二组块包括位于所述当前帧内的所述多个块中的至少一些块,并且具有至少一个要使用帧内预测来编码的子块;
解码所述第二组帧间预测编码块以形成第二组解码块;
使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的像素值来对所述第二组块中的至少一个子块进行编码,以形成第二组帧内预测编码块;和
将所述第一组编码块、所述第二组帧间预测编码块和所述第二组帧内预测编码块插入到编码比特流中。
17.根据权利要求16所述的装置,其中,所述处理器被配置成:
使用帧内预测,使用来自所述第一组解码块或所述第二组帧间预测解码块中的至少一个的像素值来编码第三组块以形成第三组编码块,所述第三组块包括位于所述当前帧内的所述多个块中的至少一些块;和
将所述第三组编码块插入到所述编码比特流中。
18.根据权利要求17所述的装置,其中所述处理器被配置成在所述第二组块中的所述至少一个子块之前对所述第一组块进行编码,且在编码所述第三组块之前对所述第二组块中的所述至少一个子块进行编码。
19.一种用于对视频流进行解码的装置,包括:
存储器;和
处理器,所述处理器被配置成执行存储器中的指令以:
使用帧间预测来解码第一组编码块以形成第一组解码块,所述第一组解码块包括位于当前帧内的多个块中的至少一些块,并且所述多个块中的每一个块具有相同的像素尺寸;
使用帧间预测来解码第二组编码块的子块以形成第二组帧间预测解码块,所述第二组块包括位于所述当前帧内的所述多个块中的至少一些块,并且具有至少一个使用帧内预测编码的子块;和
使用帧内预测,使用来自所述第一组解码块或所述第二组解码块中的至少一个的像素值来解码所述第二组编码块的至少一个子块,以形成第二组帧内预测解码块。
CN201611258788.1A 2016-03-25 2016-12-30 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置 Active CN107231557B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/081,082 2016-03-25
US15/081,082 US10390026B2 (en) 2016-03-25 2016-03-25 Smart reordering in recursive block partitioning for advanced intra prediction in video coding

Publications (2)

Publication Number Publication Date
CN107231557A true CN107231557A (zh) 2017-10-03
CN107231557B CN107231557B (zh) 2020-05-12

Family

ID=57794392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611258788.1A Active CN107231557B (zh) 2016-03-25 2016-12-30 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置

Country Status (5)

Country Link
US (2) US10390026B2 (zh)
CN (1) CN107231557B (zh)
DE (2) DE102016125604A1 (zh)
GB (2) GB2582118B (zh)
WO (1) WO2017164951A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557643A (zh) * 2018-05-31 2019-12-10 北京字节跳动网络技术有限公司 交织预测的概念
CN111971959A (zh) * 2018-02-09 2020-11-20 弗劳恩霍夫应用研究促进协会 基于分区的帧内编码概念
US11930182B2 (en) 2019-01-02 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Motion vector derivation between dividing patterns

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
US10715784B2 (en) * 2018-08-24 2020-07-14 Verizon Patent And Licensing Inc. Methods and systems for preserving precision in compressed depth data representative of a scene
US10735744B2 (en) * 2018-10-22 2020-08-04 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
CN114342408A (zh) * 2019-08-26 2022-04-12 北京字节跳动网络技术有限公司 视频编码中帧内编码模式的扩展

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233989A1 (en) * 2001-08-28 2004-11-25 Misuru Kobayashi Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method decoding method and program usable for the same
EP1696673A1 (en) * 2004-09-01 2006-08-30 Mitsubishi Electric Information Technology Centre Europe B.V. Intra-frame prediction for high-pass temporal-filtered frames in wavelet video coding
US20120128070A1 (en) * 2009-02-23 2012-05-24 Korean Broadcasting System Video Encoding Method for Encoding Division Block, Video Decoding Method for Decoding Division Block, and Recording Medium for Implementing the Same
CN102907100A (zh) * 2010-05-17 2013-01-30 Sk电信有限公司 使用帧内块和帧间块相混合的编码块的视频编码/解码设备及其方法
CN103621083A (zh) * 2011-06-30 2014-03-05 三菱电机株式会社 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
US20140307787A1 (en) * 2013-04-15 2014-10-16 Santa Clara University Method and apparatus of depth prediction mode selection
CN104378645A (zh) * 2011-05-20 2015-02-25 株式会社Kt 对视频信号进行解码的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7157283B2 (en) * 2002-08-02 2007-01-02 3M Innovative Properties Company Continuous process for the production of combinatorial libraries of modified materials
KR100750136B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9378185B2 (en) * 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
US9715559B2 (en) 2014-03-17 2017-07-25 Qualcomm Incorporated Hash-based encoder search for intra block copy

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233989A1 (en) * 2001-08-28 2004-11-25 Misuru Kobayashi Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method decoding method and program usable for the same
EP1696673A1 (en) * 2004-09-01 2006-08-30 Mitsubishi Electric Information Technology Centre Europe B.V. Intra-frame prediction for high-pass temporal-filtered frames in wavelet video coding
US20120128070A1 (en) * 2009-02-23 2012-05-24 Korean Broadcasting System Video Encoding Method for Encoding Division Block, Video Decoding Method for Decoding Division Block, and Recording Medium for Implementing the Same
CN102907100A (zh) * 2010-05-17 2013-01-30 Sk电信有限公司 使用帧内块和帧间块相混合的编码块的视频编码/解码设备及其方法
CN104378645A (zh) * 2011-05-20 2015-02-25 株式会社Kt 对视频信号进行解码的方法
CN103621083A (zh) * 2011-06-30 2014-03-05 三菱电机株式会社 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
US20140307787A1 (en) * 2013-04-15 2014-10-16 Santa Clara University Method and apparatus of depth prediction mode selection

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111971959A (zh) * 2018-02-09 2020-11-20 弗劳恩霍夫应用研究促进协会 基于分区的帧内编码概念
CN110557643A (zh) * 2018-05-31 2019-12-10 北京字节跳动网络技术有限公司 交织预测的概念
CN110557643B (zh) * 2018-05-31 2022-08-30 北京字节跳动网络技术有限公司 交织预测的概念
US11871022B2 (en) 2018-05-31 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Concept of interweaved prediction
US11930182B2 (en) 2019-01-02 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Motion vector derivation between dividing patterns

Also Published As

Publication number Publication date
GB2548669A (en) 2017-09-27
DE102016125604A1 (de) 2017-09-28
US20170280143A1 (en) 2017-09-28
WO2017164951A1 (en) 2017-09-28
GB2582118A (en) 2020-09-09
US10506240B2 (en) 2019-12-10
GB2582118B (en) 2020-12-02
DE202016008164U1 (de) 2017-06-20
GB202009462D0 (en) 2020-08-05
GB2548669B (en) 2020-09-16
GB201621998D0 (en) 2017-02-08
US20190342559A1 (en) 2019-11-07
US10390026B2 (en) 2019-08-20
CN107231557B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
CN107231557A (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排
US20220353534A1 (en) Transform Kernel Selection and Entropy Coding
CN104885467B (zh) 用于下一代视频编码的内容自适应参数变换
CN104718758B (zh) 用于对视频流中的帧进行的编码方法、解码方法及编码装置
US10142628B1 (en) Hybrid transform in video codecs
CN107027032B (zh) 最后帧运动向量分区方法和装置
CN107534669A (zh) 用于多用户视频会议的单一流传输方法
US20170347094A1 (en) Block size adaptive directional intra prediction
CN107027038A (zh) 动态参考运动矢量编码模式
CN107071440A (zh) 使用先前帧残差的运动矢量预测
CN104704826B (zh) 两步量化和编码方法和装置
CN109983770A (zh) 多级复合预测
EP3571841B1 (en) Dc coefficient sign coding scheme
CN110073663A (zh) 使用级别图的变换系数代码化
CN109891894A (zh) 使用域变换递归滤波器的视频编译恢复
CN107318015A (zh) 用于视频编码的混合预测模式
CN106131580A (zh) 使用环形缓冲区的视频数据处理
CN110169059A (zh) 视频代码化的复合预测
CN107018416A (zh) 用于视频和图像压缩的自适应贴片数据大小编码
CN107079156A (zh) 交替块约束决策模式代码化
CN110679151A (zh) 使用参数化运动模型的视频代码化
US20140118460A1 (en) Video Coding
CN106131565A (zh) 使用联合抖动‑帧缓冲区的视频解码及渲染
CN109906610A (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