CN110741636A - 用于视频编码的变换块级扫描顺序选择 - Google Patents

用于视频编码的变换块级扫描顺序选择 Download PDF

Info

Publication number
CN110741636A
CN110741636A CN201880036916.9A CN201880036916A CN110741636A CN 110741636 A CN110741636 A CN 110741636A CN 201880036916 A CN201880036916 A CN 201880036916A CN 110741636 A CN110741636 A CN 110741636A
Authority
CN
China
Prior art keywords
scan order
candidate scan
transform
block
zero
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
CN201880036916.9A
Other languages
English (en)
Other versions
CN110741636B (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
Priority to CN202310250203.5A priority Critical patent/CN116233434A/zh
Publication of CN110741636A publication Critical patent/CN110741636A/zh
Application granted granted Critical
Publication of CN110741636B publication Critical patent/CN110741636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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是根据本公开的实施方式的帧的一部分的表示的框图。
图7示出了根据本公开的实施方式的变换块的示例和用于对变换块进行编码或解码扫描顺序的示例的图。
图8是选择用于编码或解码变换块的扫描顺序的技术的示例的流程图。
图9是用于确定在变换块中的块结束位置之前零值系数数量的技术的示例的流程图。
图10是使用相邻变换块的累加成本值来选择扫描顺序的技术的示例的流程图。
图11示出了根据本公开实施方式的候选扫描顺序集合。
图12示出了根据本公开的实施方式的视频帧内的当前变换块和当前变换块的相邻变换块。
具体实施例
视频压缩方案可以包括通过将视频序列的每个图像或帧分成更小的部分(诸如块)来编码视频流,并且使用限制输出中每个块所包括的信息的技术来生成输出比特流。编码比特流可以被解码以根据有限的信息重新创建块和源图像。用于对视频流编码或对编码比特流解码的普通视频压缩和解压缩技术包括根据扫描顺序编码变换块中的量化变换系数。扫描顺序将量化变换系数的二维阵列(例如,来自二维平面矩形的变换块)转换成一维序列。然后,根据系数在一维序列中的顺序对其进行处理。
为了扫描要编码或解码的系数,可能有许多可用的扫描顺序。例如,扫描顺序可以从变换块的顶部开始逐行扫描变换块(例如光栅或水平扫描),或者从变换块的左侧开始逐列扫描变换块(例如竖直扫描)。在另一个示例中,扫描顺序可以在不完全水平或竖直的方向上处理系数(例如,对角扫描、锯齿形扫描等)。某些扫描顺序在某些情况下可能比其他扫描顺序更适合用于编码或解码系数。例如,变换块可能以一连串零结束。在这种情况下,块结束位置被编码以发信号通知跟随块结束位置之后的所有系数都是零值系数。然而,块结束位置的区位取决于所使用的扫描顺序。这是因为用于扫描变换块中系数的图样在扫描顺序之间不同,并且一些图样将比其他图样更快地定位最后一个非零系数。编码器或解码器的效率通过使用扫描顺序来提高,该扫描顺序最大化位于变换块中块结束位置之后的零值系数的数量。
使用这种扫描顺序的一种解决方案包括通过识别左侧和上方相邻超级块的每个变换块中的每个非零系数来处理超级块(例如,帧内的64×64块)。对于这些非零系数中的每一个,邻近系数的值(例如,在同一变换块中当前非零系数的左侧或上方)被处理和聚集,以确定非零系数相对于变换块中其他非零系数的区位。每个变换块中每个非零系数的值根据方向聚集,然后根据方向的相对强度加权。然后可以选择具有加权聚集值最低的方向。然而,该解决方案是复杂的,因为它需要在超级块级别处理系数,并且对于编码器或解码器来说是繁重的,因为它需要处理相邻超级块的所有变换块中的所有非零系数来选择当前超级块的扫描顺序。此外,该解决方案要求最终为当前超级块选择的扫描顺序用于扫描当前超级块的所有变换块中的系数。
本公开的实施方式包括用于扫描顺序的变换块级选择的系统和技术。通过为候选扫描顺序中的每一个识别变换块内的块结束位置来处理候选扫描顺序集合。为候选扫描顺序中的每一个确定成本值,以反映位于相应块结束位置之前的变换块的系数的数量。具体而言,候选扫描顺序的成本值反映(例如,可以指示或指定)位于该候选扫描顺序的块结束位置之前的零值系数的数量。成本值可以指示用于编码系数的计算成本(例如,计算资源的量)。成本值可以取决于或指示从参数组中选择的一个或多个参数,参数组由下列构成:用于编码系数的时间、用于编码系数的空间(例如,计算机存储器的大小)、用于编码系数的操作(例如,算术操作)的数量、要编码的系数数量以及编码(例如,熵编码)系数的比特成本(例如,比特数)。然后基于这些成本值选择候选扫描顺序之一。选择的扫描顺序用于扫描变换块中的系数,诸如用于将这些系数编码成比特流或者用于将这些系数解码成输出视频流。在一些实施方式中,扫描顺序的选择可以包括当前变换块的相邻变换块(例如,在同一块、超级块等内)的候选扫描顺序的处理成本值或排名。
本文首先参考可以其中可以实施变换块级别扫描顺序选择的系统来描述用于变换块级别扫描顺序选择的技术的进一步细节。图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中的处理器202可以是常规的中央处理单元。替选地,处理器202可以是能够操纵或处理现在存在或以后开发的信息的另一种类型的设备或多个设备。例如,尽管所公开的实施方式可以用所示的一个处理器(例如,处理器202)来实现,但是速度和效率方面的优势可以通过使用多于一个处理器来实现。
在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。然而,其他合适类型的存储设备可以用作存储器204。存储器204可以包括由处理器202使用总线212访问的代码和数据206。存储器204还可以包括操作系统208和应用程序210,应用程序210包括允许处理器202执行本文描述的技术的至少一个程序。例如,应用程序210可以包括应用1至N,其还包括执行本文描述的技术的视频编码应用。计算设备200还可以包括辅助存储装置214,其可以是例如与移动计算设备一起使用的存储卡。因为视频通信会话可能包含大量信息,所以它们可以全部或部分存储在辅助存储器214中,并根据处理需要加载到存储器204中。
计算设备200还可以包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是触敏显示器,该触敏显示器将显示器与触敏元件相组合,触敏元件可操作来感测触摸输入。显示器218可以经由总线212耦合到处理器202。作为显示器218的补充或替选,可以提供允许用户编程或以其他方式使用计算设备200的其他输出设备。当输出设备是或包括显示器时,显示器可以以各种方式实施,包括通过液晶显示器(LCD)、阴极射线管(CRT)显示器或诸如有机LED(OLED)显示器的发光二极管(LED)显示器来实施。
计算设备200还可以包括图像感测设备220或者与图像感测设备220通信,图像感测设备220例如是相机或者现在存在或者以后开发的能够感测图像(诸如操作计算设备200的用户的图像)的任何其他图像感测设备220。图像感测设备220可以被定位成使得它被指引朝向操作计算设备200的用户。在一示例中,图像感测设备220的位置和光轴可以被配置成使得视野包括直接邻近显示器218并且从其可以看到显示器218的区域。
计算设备200还可以包括声音感测设备222或者与声音感测设备222通信,声音感测设备222例如是麦克风或者可以感测计算设备200附近的声音的任何其他现在存在或者以后开发的声音感测设备。声音感测设备222可以被定位成使得其被指引朝向操作计算设备200的用户,并且可以被配置成在用户操作计算设备200时接收用户发出的声音,例如语音或其他话语。
尽管图2将计算设备200的处理器202和存储器204描绘为集成到一个单元中,但是也可以使用其他配置。处理器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,块310可以包含对应于例如帧306中的16×16像素的数据。块310还可以被布置成包括来自像素数据的一个或多个段308的数据。块310也可以是任何其他合适的大小,例如4×4像素、8×8像素、16×8像素、8×16像素、16×16像素或更大。除非另有说明,否则术语块和宏块(macroblock)在本文可以互换使用。
图4是根据本公开实施方式的编码器400的框图。如上所述,编码器400可以在发送站102中实施,诸如通过提供存储在例如存储器204的存储器中的计算机软件程序。计算机软件程序可以包括机器指令,当由诸如处理器202的处理器执行时,使得发送站102以图4描述的方式编码视频数据。编码器400也可以实施为包括在例如发送站102中的专用硬件。在一个特别理想的实施方式中,编码器400是硬件编码器。
编码器400具有以下级以在前向路径(由实连接线示出)中执行各种功能,以使用视频流300作为输入来产生编码的或压缩的比特流420:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400还可以包括重建路径(由虚连接线示出),以重建用于编码未来块的帧。在图4中,编码器400具有以下级来执行重建路径中的各种功能:去量化级410、逆变换级412、重建级414和回路过滤级416。编码器400的其他结构变型可以用于编码视频流300。
当视频流300被呈现用于编码时,诸如帧306的相应相邻帧304可以以块为单位进行处理。在帧内/帧间预测级402,可以使用帧内预测(也称为帧内预测)或帧间预测(也称为帧间预测)对相应块进行编码。在任何情况下,都可以形成预测块。在帧内预测的情况下,可以从当前帧中先前已经编码和重建的样本形成预测块。在帧间预测的情况下,可以从一个或多个先前构建的参考帧中的样本形成预测块。
接下来,可以在帧内/帧间预测级402从当前块中减去预测块,以产生残余块(也称为残差或预测残差)。变换级404使用基于块的变换将残差变换成例如频域中的变换系数。量化级406使用量化器值或量化级将变换系数转换成离散的量子值,这些变换系数被称为量化的变换系数。例如,变换系数可以除以量化器值并被截断。
量化的变换系数然后由熵编码级408熵编码。熵编码的系数以及用于解码该块的其他信息(例如,其可以包括诸如用于指示所使用的预测类型、变换类型、运动矢量、量化器值等的语法元素)然后被输出到压缩比特流420。压缩比特流420可以使用各种技术来格式化,诸如可变长度编码(VLC)或算术编码。压缩比特流420也可以被称为编码视频流或编码视频比特流,并且这些术语在本文可以互换使用。
重建路径(由虚连接线示出)可用于确保编码器400和解码器500(下面参考图5描述)使用相同的参考帧来解码压缩比特流420。重建路径执行与解码过程中发生的功能类似的功能(下面参考图5描述),包括在去量化级410对量化的变换系数进行去量化,以及在逆变换级412对去量化的变换系数进行逆变换,以产生导出残余块(也称为导出残差)。在重建级414,可以将在帧内/帧间预测级402预测的预测块添加到导出残差以创建重建块。回路过滤级416可以应用于重建的块,以减少失真,诸如块伪影。
编码器400的其他变型可以用于编码压缩比特流420。在一些实施方式中,对于某些块或帧,基于非变换的编码器可以直接量化残差信号,而无需变换级404。在一些实施方式中,编码器可以将量化级406和去量化级410组合在公共级中。
图5是根据本公开实施方式的解码器500的框图。解码器500可以在接收站106中实施,例如,通过提供存储在存储器204中的计算机软件程序。计算机软件程序可以包括机器指令,当由诸如处理器202的处理器执行时,使得接收站106以图5中描述的方式对视频数据解码。解码器500也可以用包括在例如发送站102或接收站106中的硬件来实施。
解码器500类似于上面讨论的编码器400的重建路径,在一个示例中包括执行各种功能以从压缩比特流420产生输出视频流516的以下级:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重建级510、回路过滤级512和可选的后过滤级514。解码器500的其他结构变型可以用于对压缩比特流420解码。
当压缩比特流420被呈现用于解码时,压缩比特流420内的数据元素可以由熵解码级502解码,以产生量化的变换系数集合。去量化级504将量化的变换系数去量化(例如,通过将量化的变换系数乘以量化器值),并且逆变换级506对去量化的变换系数进行逆变换以产生导出残差,该导出残差可以与编码器400中的逆变换级412创建的导出残差相同。使用从压缩比特流420解码的标头信息,解码器500可以使用帧内/帧间预测级508来创建与编码器400中(例如,在帧内/帧间预测级402)创建的相同的预测块。
在重建级510,预测块可以被添加到导出残差以创建重建块。回路过滤级512可以应用于重建块,以减少块伪影(例如,使用去块滤波、样本自适应偏移滤波等,或其组合)。可以对重建的块应用其他滤波。在这个示例中,后过滤级514被应用于重建块以减少块失真,并且结果作为输出视频流516被输出。输出视频流516也可以被称为解码视频流,并且这些术语在本文可以互换使用。解码器500的其他变型可以用于解码压缩比特流420。在一些实施方式中,解码器500可以产生输出视频流516,而无需后过滤级514。
图6是根据本公开的实施方式的诸如图3所示的帧304的帧部分600的表示的框图。如图所示,帧的部分600包括四个64×64块610,在矩阵或笛卡尔平面中为两行和两列。在一些实施方式中,64×64块可以是最大编码单元,N=64。每个64×64块可以包括四个32×32块620。每个32×32块可以包括四个16×16块630。每个16×16块可以包括四个8×8块640。每个8×8块640可以包括四个4×4块650。每个4×4块650可以包括16个像素,其可以在笛卡尔平面或矩阵中的每个相应块中以四行四列来表示。像素可以包括表示在帧中捕获的图像的信息,例如亮度信息、颜色信息和区位信息。在一些实施方式中,诸如所示的16×16像素块的块可以包括:亮度块660,该亮度块660可以包括亮度像素662;和两个色度块670、680,诸如一个U或Cb色度块670,以及一个V或Cr色度块680。色度块670、680可以包括色度像素690。例如,亮度块660可以包括16×16个亮度像素662,并且每个色度块670、680可以包括8×8个色度像素690,如图所示。尽管示出了块的一种布置,但是可以使用任何布置。尽管图6示出了N×N块,但是在一些实施方式中,可以使用N×M块。例如,可以使用32×64块、64×32块、16×32块、32×16块或任何其他大小的块。在一些实施方式中,可以使用N×2N块、2N×N块或它们的组合。
在一些实施方式中,视频编码可以包括有序块级别编码。有序块级别编码可以包括以诸如光栅扫描顺序的顺序对帧的块进行编码,其中,块可以从帧左顶角的块或帧的一部分开始被识别和处理,并且沿着从左到右的行和从顶行到底行前进,依次识别每个块以进行处理。例如,帧的顶行和左列中的64×64块可以是被编码的第一块,紧挨着第一块右侧的64×64块可以是被编码的第二块。从顶部开始的第二行可以是被编码的第二行,使得第二行左列中的64×64块可以在第一行最右列中的64×64块之后被编码。
在一些实施方式中,对块进行编码可以包括使用四叉树编码,这可以包括以光栅扫描顺序对块内的较小块单元进行编码。例如,可以使用四叉树编码来编码图6所示的帧部分的左底角所示的64×64块,其中,可以编码左顶32×32块,然后可以编码右顶32×32块,然后可以编码左底32×32块,然后可以编码右底32×32块。每个32×32块可以使用四叉树编码来编码,其中,左顶16×16块可以被编码,然后右顶16×16块可以被编码,然后左底16×16块可以被编码,然后右底16×16块可以被编码。每个16×16块可以使用四叉树编码来编码,其中,左顶8×8块可以被编码,然后右顶8×8块可以被编码,然后左底8×8块可以被编码,然后右底8×8块可以被编码。可以使用四叉树编码来编码每个8×8块,其中,可以编码左顶4×4块,然后可以编码右顶4×4块,然后可以编码左底4×4块,然后可以编码右底4×4块。在一些实施方式中,对于16×16块,可以省略8×8块,并且可以使用四叉树编码来编码16×16块,其中,可以编码左顶4×4块,然后可以以光栅扫描顺序来编码16×16块中的其他4×4块。
在一些实施方式中,视频编码可以包括通过例如从相应的编码帧中省略原始帧中的信息中的一些信息来压缩原始帧或输入帧中包括的信息。例如,编码可以包括减少频谱冗余、减少空间冗余、减少时间冗余或其组合。
在一些实施方式中,减少频谱冗余可以包括使用基于亮度分量(Y)和两个色度分量(U和V或者Cb和Cr)的颜色模型,这种颜色模型可以被称为YUM或YCbCr颜色模型或颜色空间。使用YUM颜色模型可以包括使用相对大量的信息来表示帧的一部分的亮度分量,并且使用相对少量的信息来表示帧的部分的每个对应的色度分量。例如,帧的部分可以由高分辨率亮度分量和两个较低分辨率色度分量来表示,高分辨率亮度分量可以包括16×16像素块,较低分辨率色度分量中的每一个将帧的一部分表示为8×8像素块。像素可以指示例如0到255范围内的值,并且可以使用例如八比特来存储或传输。尽管本公开是参考YUM颜色模型描述的,但是可以使用任何颜色模型。
在一些实施方式中,减少空间冗余可以包括使用例如离散余弦变换(DCT)将块变换到频域。例如,编码器的单元,诸如图4所示的变换级404,可以使用基于空间频率的变换系数值来执行DCT。
在一些实施方式中,减少时间冗余可以包括使用帧之间的相似性来基于一个或多个参考帧使用相对少量的数据来编码帧,该参考帧可以是视频流的先前编码、解码和重建的帧。例如,当前帧的块或像素可以类似于参考帧的空间对应的块或像素。在一些实施方式中,当前帧的块或像素可以类似于不同空间区位处的参考帧的块或像素,并且减少时间冗余可以包括生成指示当前帧中的块或像素的区位与参考帧中的块或像素的相应区位之间的空间差异或平移的运动信息。
在一些实施方式中,减少时间冗余可以包括识别参考帧的对应于当前帧的当前块或像素的部分。例如,可以搜索可能存储在存储器中的参考帧或参考帧的一部分,以识别用于生成预测器的一部分,以用于以最大效率编码当前帧的当前块或像素。例如,搜索可以识别参考帧的一部分,对于该部分,当前块与基于该参考帧的一部分生成的预测块之间的像素值的差异被最小化,并且可以被称为运动搜索。在一些实施方式中,被搜索的参考帧的一部分可能是有限的。例如,可被称为搜索区域的被搜索的参考帧的一部分可包括参考帧的有限数量的行。在一个示例中,识别参考帧的用于生成预测器的一部分可以包括计算成本函数,诸如搜索区域的一部分的像素与当前块的像素之间的绝对差之和(SAD)。
在一些实施方式中,用于在参考帧中生成预测器的参考帧部分的区位与当前帧中的当前块之间的空间差异可以表示为运动矢量。预测器块与当前块之间像素值的差异可以被称为差分数据、残差数据、预测误差或残余块。在一些实施方式中,生成运动矢量可以被称作运动估计,并且当前块的像素可以使用笛卡尔坐标如fx,y基于区位来指示。类似地,参考帧的搜索区域的像素可以使用笛卡尔坐标如rx,y基于区位来指示。当前块的运动矢量(MV)可以基于例如当前帧的像素与参考帧的相应像素之间的SAD来确定。
尽管本文为了清楚起见参考帧的矩阵或笛卡尔表示来描述,但是帧可以以任何数据结构被存储、发送、处理或其任意组合,使得可以为帧或图像有效地表示像素值。例如,帧可以以诸如所示矩阵的二维数据结构或以诸如矢量阵列的一维数据结构来被存储、传输、处理或其任意组合。在一个实施方式中,帧的表示,诸如所示的二维表示,可以对应于帧作为图像渲染时的物理区位。例如,在帧左顶角的块的左顶角的区位可以对应于帧作为图像渲染的左顶角的物理区位。
在一些实施方式中,基于块的编码效率可以通过将输入块分成一个或多个预测分区来提高,预测分区可以是用于预测编码的矩形(包括正方形)分区。在一些实施方式中,使用预测分区的视频编码可以包括从多个候选预测分区方案中选择预测分区方案。例如,在一些实施方式中,64×64编码单元的候选预测分区方案可以包括大小范围从4×4到64×64的矩形大小预测分区,该大小诸如4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32或64×64。在一些实施方式中,使用预测分区的视频编码可以包括完整的预测分区搜索,这可以包括通过使用每个可用的候选预测分区方案对编码单元进行编码,并且选择诸如产生最小率失真误差的方案的最佳方案,来选择预测分区方案。
在一些实施方式中,编码视频帧可以包括识别用于编码诸如块610的当前块的预测分区方案。在一些实施方式中,识别预测分区方案可以包括确定是将块编码为最大编码单元大小(如图所示,最大编码单元大小可以是64×64)的单个预测分区,还是将块分成多个预测分区,这些预测分区可以对应于子块,如图所示的32×32块620、16×16块630或8×8块640,并且可以包括确定是否分成一个或多个更小的预测分区。例如,一个64×64的块可以被分成四个32×32的预测分区。四个32×32预测分区中的三个可被编码为32×32预测分区,第四个32×32预测分区可被进一步分成四个16×16预测分区。四个16×16预测分区中的三个可被编码为16×16预测分区,第四个16×16预测分区可被进一步分成四个8×8预测分区,这四个8×8预测分区中每一个可被编码为8×8预测分区。在一些实施方式中,识别预测分区方案可以包括使用预测分区判定树。
在一些实施方式中,当前块的视频编码可以包括从多个候选预测编码模式中识别最佳预测编码模式,这可以在处理具有各种统计性质的视频信号时提供灵活性,并且可以提高压缩效率。例如,视频编码器可以评估每个候选预测编码模式以识别最佳预测编码模式,该模式可以是例如最小化当前块的误差度量(例如率失真成本)的预测编码模式。在一些实施方式中,搜索候选预测编码模式的复杂性可以通过基于当前块与相应预测块之间的相似性来限制可用候选预测编码模式的集合来降低。在一些实施方式中,通过执行定向细化模式搜索,可以降低搜索每个候选预测编码模式的复杂性。例如,可以为有限的候选块大小集合(诸如16×16、8×8和4×4)生成度量;与每个块大小相关联的误差度量可以是降序;并且可以评估额外的候选块大小,诸如4×8和8×4块大小。
在一些实施方式中,基于块的编码效率可以通过将当前残余块分成一个或多个变换分区来提高,变换分区可以是用于变换编码的矩形(包括正方形)分区。在一些实施方式中,使用变换分区的视频编码可以包括选择均匀变换分区方案。例如,诸如块610的当前残余块,可以是64×64块,并且可以在不使用64×64变换进行分区的情况下进行变换。
尽管在图6中没有明确表达,但是残余块可以使用均匀变换分区方案进行变换分区。例如,可以使用包括四个32×32变换块的均匀变换分区方案、使用包括十六个16×16变换块的均匀变换分区方案、使用包括六十四个8×8变换块的均匀变换分区方案或者使用包括256个4×4变换块的均匀变换分区方案来对64×64残余块进行变换分区。
在一些实施方式中,使用变换分区的视频编码可以包括使用多种形式的变换分区编码来识别残余块的多个变换块大小。在一些实施方式中,多种形式变换分区编码可以包括递归地确定是使用当前块大小变换还是通过分割当前块以及对每个分区进行多形式变换分区编码来变换当前块。例如,图6中示出的左底块610可以是64×64残余块,并且多种形式的变换分区编码可以包括确定是使用64×64变换来编码当前的64×64残余块,还是通过将64×64残余块分成诸如四个32×32块620的分区以及对每个分区进行多种形式的变换分区编码来编码64×64残余块。在一些实施方式中,确定是否对当前块进行变换分区可以基于将使用当前块大小变换编码当前块的成本与使用分区大小变换编码每个分区的成本之和进行比较。
图7示出了根据本公开的实施方式的变换块700的示例和用于编码或解码变换块700的扫描顺序702-708的示例的图。在一些实施方式中,编码器的元件,例如图4所示的编码器400的变换级404,可以生成变换块700。在一些实施方式中,编码器的元件,例如图4所示的编码器400的量化级406,可以量化变换块700以生成量化的变换块。如本文所用,除非另有明确指示,术语“变换块”可以指变换系数或量化变换系数的块、矩阵或其他数据结构。虽然为了简单起见,显示了4×4块,但是可以使用任何大小的块。例如,可以使用64×64块、64×32块、32×64块、32×32块、32×16块、16×32块、16×16块、16×8块、8×16块、8×8块、8×4块或4×8块。
在图7所示的变换块700中,每个区位所示的值表示相应区位的变换系数值。为了清楚起见,块的变换系数的区位可以被称为变换系数的“位置”、“区位”或其变型。如本文所使用的,对变换系数之间的“接近度”、“空间接近度”或“距离”的引用可以指示块的变换系数的变换系数矩阵表示中的接近度或距离。
变换块700中的系数中的一些是非零系数,诸如那些不具有值“0”的系数。变换块700中的系数中的其他系数是零值系数,诸如那些值为“0”的系数。在一些实施方式中,变换块700可以以扫描顺序处理,以提高熵编码效率。例如,扫描顺序可以倾向于将块结束处的零值系数分组,并且可以从输出比特流中以扫描顺序省略块结束的连续零值系数(即,零系数尾部),而不会丢失数据。
在一些实施方式中,变换块700的编码系数可以包括以扫描顺序编码这些系数,诸如水平扫描顺序702、竖直扫描顺序704、对角扫描顺序706或锯齿形扫描顺序708对变换块700的系数进行编码。扫描顺序的每个块中显示的值表示相应系数被熵编码的顺序。虽然为了简单起见,显示了4×4块,但是可以使用任何大小的块。例如,可以使用64×64块、64×32块、32×64块、32×32块、32×16块、16×32块、16×16块、16×8块、8×16块、8×8块、8×4块或4×8块。
取决于使用的扫描顺序,非零系数之一将是使用扫描顺序扫描的最后一个非零系数。例如,当使用水平扫描顺序702时,变换块700的系数701是最后一个非零系数。因此,用于水平扫描顺序702的变换块700中的块结束位置被识别为系数701的区位。在另一个示例中,当使用竖直扫描顺序704时,变换块700的系数703是最后一个非零系数。因此,竖直扫描顺序704的变换块700中的块结束位置被识别为系数703的区位。
在一些实施方式中,以扫描顺序编码变换系数矩阵的系数可以包括通过以扫描顺序在矢量中包括每个变换系数来生成变换系数的一维阵列,诸如矢量。例如,可以是在变换系数矩阵左顶角的系数的DC系数,可以是扫描顺序矢量的第一元素,可以具有(0,0)的变换系数矩阵区位,并且可以具有(0)的扫描顺序位置。
如本文所使用的,变换系数的术语“顺序”、“扫描位置”、“矢量位置”或其变型表示扫描顺序或扫描顺序矢量中变换系数的相对位置或索引。尽管图7示出了顺序扫描图样的示例,但是可以使用非连续扫描图样来编码系数。
现在参照图8-10描述编码或解码视频帧的技术。图8是选择用于编码或解码变换块的扫描顺序的技术800的示例的流程图。图9是用于确定在变换块中的块结束位置之前的零值系数的数量的技术900的示例的流程图。图10是使用相邻变换块的累加成本值来选择扫描顺序的技术1000的示例的流程图。
技术800、技术900或技术1000中的一个或多个可以实施为例如软件程序,该软件程序可以由诸如发送站102或接收站106的计算设备执行。例如,软件程序可以包括机器可读指令,该机器可读指令可以存储在诸如存储器204或辅助存储装置214的存储器中,并且当由诸如处理器202的处理器执行时,可以使得计算设备执行技术800、技术900或技术1000中的一个或多个。技术800、技术900或技术1000中的一个或多个可以使用专用硬件或固件来实现。如上文所解释,一些计算设备可以具有多个存储器或处理器,并且在技术800、技术900或技术1000中的一个或多个中描述的操作可以使用多个处理器、存储器或两者来分配。
为了便于解释,技术800、技术900和技术1000各自被描绘和描述为一系列步骤或操作。然而,根据本公开的步骤或操作可以以各种顺序和/或同时发生。此外,可以使用本文没有呈现和描述的其他步骤或操作。此外,可能不需要所有示出的步骤或操作来实施根据所公开主题的技术。
首先参考图8,示出了选择用于编码或解码变换块的扫描顺序的技术800的示例的流程图。在802,为候选扫描顺序集合中的每个候选扫描顺序识别块结束位置。给定候选扫描顺序的块结束位置表示根据该候选扫描顺序的最后一个非零变换系数在变换块内的区位。例如,该候选扫描顺序集合可以包括第一候选扫描顺序和第二候选扫描顺序。第一块结束位置可以被识别为根据第一候选扫描顺序的在变换系数中最后一个非零变换系数的变换块内的区位,并且第二块结束位置可以被识别为根据第二候选扫描顺序的在变换系数中最后一个非零变换系数的变换块内的区位。
变换块内块结束位置的区位指的是变换块的变换系数的一维序列中变换块的最后一个非零系数的索引。例如,候选扫描顺序可以将变换块的变换系数从二维阵列转换成一维序列。该一维序列中变换系数的顺序反映了根据候选扫描顺序处理那些变换系数的顺序。基于候选扫描顺序的特定类型,最后一个非零系数的索引(例如,块结束位置的区位)可以在一维序列中更早或更晚。
识别候选扫描顺序的块结束位置可以包括基于候选扫描顺序确定对变换块的特定数量的变换系数进行编码或解码(基于变换块是通过执行技术800被编码还是解码可适用)。该特定数量的变换系数包括要编码或解码的非零变换系数和零值变换系数。更具体地,该特定数量的变换系数包括变换块的所有非零变换系数和位于最后一个非零系数之前的变换块的零值变换系数中每一个。下面参照图9描述用于确定要编码或解码的变换系数的数量的实施方式和示例。
在804,基于块结束位置,为候选扫描顺序确定成本值。例如,可以基于位于在上述第一候选扫描顺序的块结束位置之前的变换系数的数量来确定该第一候选扫描顺序的成本值,并且可以基于位于在上述第二候选扫描顺序的块结束位置之前的变换系数的数量来确定该第二候选扫描顺序的成本值。
候选扫描顺序的成本值基于位于候选扫描顺序的块结束位置之前的变换块内的零值系数的数量来确定。这样,具有在变换系数的一维序列中较早的块结束位置的候选扫描顺序将具有比具有在该一维序列中较晚的块结束位置的候选扫描顺序更低的成本值。下面参照图9描述用于确定在变换块中的块结束位置之前的零值系数的数量的实施方式和示例。
在806,基于成本值选择候选扫描顺序之一。选择可以包括选择成本值中最低的一个。例如,在候选扫描顺序集合包括上述第一候选扫描顺序和第二候选扫描顺序的情况下,基于第一候选扫描顺序的成本值和第二候选扫描顺序的成本值,选择第一候选扫描顺序或第二候选扫描顺序之一作为用于编码或解码变换块的扫描顺序。
例如,选择第一候选扫描顺序或第二候选扫描顺序之一可以包括确定第一候选扫描顺序的成本值是否小于第二候选扫描顺序的成本值。响应于确定第一候选扫描顺序的成本值小于第二候选扫描顺序的成本值,选择第一候选扫描顺序作为用于编码或解码变换块的扫描顺序。然而,响应于确定第一候选扫描顺序的成本值大于第二候选扫描顺序的成本值(例如,或者第二候选扫描顺序的成本值小于第一候选扫描顺序的成本值),选择第二候选扫描顺序作为用于编码或解码变换块的扫描顺序。
替选地,选择候选扫描顺序可以不仅仅包括简单地确定候选扫描顺序中哪一个具有最低成本值。例如,候选扫描顺序集合可以包括上述第一候选扫描值和第二候选扫描值以及第三候选扫描值和第四候选扫描值。第一候选扫描值和第二候选扫描值可以根据相同的角度但在不同的方向扫描变换块的变换系数。例如,第一候选扫描顺序可以具有从左底到右顶的45度对角线方向,第二候选扫描顺序可以具有从右顶到左底的45度对角线方向。对于第一候选扫描顺序和第二候选扫描顺序两者,可以不确定成本值。相反,第一候选扫描顺序和第二候选扫描顺序可以共享共同的成本值。
因此,选择候选扫描顺序之一可以包括确定第一候选扫描顺序具有候选扫描顺序集合中的最低成本值。在这种情况下,将选择第一候选扫描顺序或第二候选扫描顺序之一。确定选择第一候选扫描顺序或第二候选扫描顺序中的哪一个可以包括确定第三候选扫描顺序是否具有比第四候选扫描顺序更大的成本值。例如,第三候选扫描顺序和第四候选扫描顺序具有不同的成本值,因为它们以不同的顺序处理变换块的变换系数。对应于第三候选扫描顺序和第四候选扫描顺序的不同顺序可以指示是从左底到右顶方向还是从右顶到左底方向更佳。
这样,响应于确定第三候选扫描顺序具有比第四候选扫描顺序更大的成本值,选择第一候选扫描顺序作为用于编码或解码变换块的扫描顺序。然而,响应于确定第三候选扫描顺序的成本值等于或小于第四候选扫描顺序的成本值,选择第二候选扫描顺序作为用于编码或解码变换块的扫描顺序。
在808,根据选择的扫描顺序编码或解码变换块。例如,可以通过根据选择的扫描顺序扫描变换系数来编码或解码变换块。在810,编码或解码的变换块被输出到输出元素。例如,在编码操作期间,编码的变换块被输出到比特流,诸如稍后可以被解码的比特流。在另一个示例中,在解码操作期间,解码的变换块被输出以供解码器进一步处理,然后被输出到输出视频流,诸如可以在接收站的计算设备(例如,图2中所示的计算设备200和图1中所示的接收站106)上显示的视频流。
在一些实施方式中,技术800可以包括基于变换块的相邻变换块的变换系数来确定候选扫描顺序中至少一些的成本值。然后,基于相邻变换块的变换系数确定的那些成本值可以用于选择用于编码或解码变换块的扫描顺序。例如,可以累加基于相邻变换块的变换系数确定的用于候选扫描顺序确定的成本值,以产生累加的成本值。在这样的实施方式中,选择用于编码或解码变换块的扫描顺序可以包括确定候选扫描顺序之一具有累加成本值中最低的累加成本值,并且选择该候选扫描顺序作为用于编码或解码变换块的扫描顺序。
在另一个示例中,可以对基于相邻变换块的变换系数确定的用于候选扫描顺序的成本值进行排名和累加,以产生累加的排名。在这样的实施方式中,选择用于编码或解码变换块的扫描顺序可以包括确定候选扫描顺序之一具有累加的排名中最低累加的排名(例如,当排名被表达为数字时最接近“1”),并且选择该候选扫描顺序作为用于编码或解码变换块的扫描顺序。下面参照图10描述了使用相邻变换块的累加成本值或累加排名来选择扫描顺序的实施方式和示例。
接下来参考图9,示出了用于确定在变换块中的块结束位置之前零值系数的数量的技术900的示例的流程图。在902,确定要编码或解码的变换系数的总数。变换系数的总数表示根据给定的候选扫描顺序位于块结束位置之前的变换系数的数量。变换系数的总数包括非零系数和非零系数。
在904,确定变换块中非零系数的总数。对于每个候选扫描顺序,变换块中非零系数的总数是相同的,因为每个候选扫描顺序必须在可识别候选扫描顺序的块结束位置之前扫描每个非零系数。
在906,确定位于变换块内并且在变换块中块结束位置之前的零值系数的总数。确定位于变换块内并且在块结束位置之前的零值系数的总数包括计算要编码或解码的变换系数的总数与变换块中非零系数的总数之间的差值。
例如,可以使用以下伪代码来执行技术900,其中候选扫描顺序的成本值反映了对于该候选扫描顺序位于变换块内并且在块结束位置之前的零值系数的总数:
Figure BDA0002300615010000231
Figure BDA0002300615010000241
因此,给定候选扫描顺序的成本值与该候选扫描顺序的位于变换块内并且在块结束位置之前的零值系数的总数正相关。
在一些实施方式中,伪代码可以基于技术900的实施方式而不同。例如,候选扫描顺序集合可以包括多于或少于六个候选扫描顺序。给定候选扫描顺序的成本值可以是位于变换块内且在变换块中块结束位置之前的零值系数总数的某种函数(例如,等于位于在变换块内且在变换块中块结束位置之前的零值系数总数)。
接下来参考图10,示出了使用相邻变换块的累加成本值来选择扫描顺序的技术1000的示例的流程图。在1002,为当前变换块确定候选扫描顺序的成本。例如,成本可以是如参照图8所示的技术800所描述确定的成本值。在1004,确定当前变换块的左侧和上方相邻变换块的候选扫描顺序的累加成本。例如,可能存在当前变换块的一个或多个左侧相邻变换块。在另一个示例中,可能存在当前变换块的一个或多个上方相邻变换块。在又一示例中,可以存在当前变换块的左侧和上方相邻变换块的组合。
累加左侧和上方相邻变换块的候选扫描顺序的成本包括确定每个相邻变换块的每个候选扫描顺序的成本值,并且然后将相同候选扫描顺序的成本值共同相加以产生累加成本。例如,左侧相邻变换块的第一候选扫描顺序的成本值可以是1,并且上方相邻变换块的相同第一候选扫描顺序的成本值可以是2。因此,该第一候选扫描顺序的累加成本将是3。在1006,选择累加成本最低的候选扫描顺序。在另一个示例中,在用于产生累加成本之前,成本值可以由因子(例如,相应的变换块大小)加权。
在一些实施方式中,技术1000可以包括使用相邻变换块的累加排名替代累加成本值来选择扫描顺序。例如,代替为给定变换块的候选扫描顺序确定成本值,可以根据块结束位置、位于块结束位置之前的零值系数的数量等中的一个或多个来对该给定变换块可用的候选扫描顺序进行排名。例如,排名可以用数字形式表达,诸如“1”反映最佳排名,并且“N”反映最低排名,其中N是候选扫描顺序集中候选扫描顺序的数量。然后,可以将每个相邻变换块处给定候选扫描顺序的排名相加,以产生该候选扫描顺序的累加排名。然后可以比较候选扫描顺序中每一个的累加排名。因此,为当前变换块选择的候选扫描顺序之一具有这些累加排名中最低的一个。
在一些实施方式中,技术1000可以省略确定当前变换块的候选扫描顺序的成本。例如,可以仅基于为相邻变换块的候选扫描顺序确定的成本来选择为编码或解码当前变换块选择的扫描顺序。在这样的实施方式中,候选扫描顺序的累加成本的操作不包括使用为当前变换块确定的候选扫描顺序的成本。
在一些实施方式中,对于相邻变换块中的一些的一些候选扫描顺序,成本值可能不可用。例如,可能已经使用第一候选扫描顺序、第二候选扫描顺序和第三候选扫描顺序处理了当前变换块(例如,使得为当前变换块确定了第一候选扫描顺序、第二候选扫描顺序和第三候选扫描顺序中每一个的成本值)。第一相邻变换块可能已经使用第一候选扫描顺序和第二候选扫描顺序进行了处理,而第二相邻变换块可能已经使用第二候选扫描顺序和第三候选扫描顺序进行了处理。这样,可以从第一相邻变换块和第二相邻变换块使用第二候选扫描顺序的成本值。然而,第一候选扫描顺序的成本值只能从第一相邻变换块使用,并且第三候选扫描顺序的成本值只能从第二相邻变换块使用。
图11示出了根据本公开实施方式的候选扫描顺序集合1100。候选扫描顺序集合包括候选扫描顺序1102、1104、1106、1108、1110和1112。候选扫描顺序1102、1104、1106、1108、1110和1112中的每一个具有不同的角度和/或方向来扫描变换块中的系数。例如,候选扫描顺序1102具有水平0度角,候选扫描顺序1104具有从左底到右顶的水平22.5度角,候选扫描顺序1106具有从左底到右顶的45度角,候选扫描顺序1108具有从右顶到左底的45度角,候选扫描顺序1110具有从右顶到左底的竖直22.5度角,并且候选扫描顺序1112具有竖直0度角。
候选扫描顺序集合1100可以被表示为包括索引引用的元素的阵列或其他数据对象。例如,候选扫描顺序集合1100可以被称为候选[x],其中x={0,1,2,3,4,5}。例如,候选扫描顺序1102具有索引[0],并且因此在候选[0]处被引用,候选扫描顺序1104具有索引[1],因此在候选[1]处被引用,等等。在某些情况下,候选扫描顺序集合1100的大小可以基于为其选择扫描顺序的变换块的大小。例如,当变换块较大时,可能有更多数量的候选扫描顺序。
然而,从其中选择用于编码或解码变换块的扫描顺序的候选扫描顺序集合可以不同于候选扫描顺序集合1100。例如,作为候选扫描顺序1102、1104、1106、1108、1110或1112中的一个或多个的补充或替代,其他扫描顺序,诸如图7中所示的扫描顺序702、704、706或708中的一个或多个可以包括在候选扫描顺序集合1100中。在另一个示例中,除了图7或11中所示的扫描顺序之外的扫描顺序可以被包括在候选扫描顺序集合中,诸如作为候选扫描顺序1102、1104、1106、1108、1110或1112中的一个或多个的补充或替代。
图12示出了根据本公开的实施方式的视频帧内的当前变换块1200和当前变换块1200的相邻变换块1202-1208。本公开的一些实施方式包括基于仅关于当前变换块(例如,当前变换块1200)确定的成本值来选择用于编码或解码变换块的扫描顺序。然而,其他实施方式包括基于来自这种当前变换块的相邻变换块(例如,相邻变换块1202-1208)的成本值或排名来选择扫描顺序。例如,可以执行以上关于图10描述的技术1000,以基于为相邻变换块1202-1208中的个别块确定的成本值或排名来产生累加成本或累加排名,并且可以基于这些累加成本或累加排名来选择用于当前变换块1200的候选扫描顺序。以这种方式,相邻变换块1202-1208可以基本上对用于编码或解码当前变换块1200的候选扫描顺序进行表决,诸如基于来自相邻变换块1202-1208的累加成本值或累加排名。
上述编码和解码的方面示出了编码和解码技术的一些示例以及被配置为执行编码和/或解码技术的这些示例的全部或一部分的硬件组件。然而,应当理解,如权利要求中使用的那些条款,编码和解码可以意味着数据的压缩、解压缩、变换或任何其他处理或改变。
本文使用的词语“示例”是指用作示例、实例或说明。本文描述为“示例”的任何方面或设计不一定被解释为优选于或优于其他方面或设计。相反,使用词语“示例”或“实施方式”是为了以具体的方式呈现概念。如在本申请中所使用的,术语“或”意在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或者上下文清楚地指示,叙述“X包括A或B”意在表示自然的包含其排列。也就是说,如果X包括A;X包括B;或者X既包括A也包括B,那么在前述情况中的任一情况下都满足“X包括A或B”。此外,在本申请和所附权利要求中使用的冠词“一(a/an)”通常应该被解释为意指“一个或多个”,除非另有说明或者从上下文中清楚地指示为指向单数形式。此外,除非如此描述,否则本公开通篇使用术语“实施方式”或术语“一个实施方式”并不意味着相同的实施例或实施方式。
发送站102和/或接收站106的实施方式(以及存储在其上和/或由此执行(包括由编码器400和解码器500执行)的算法、方法、指令等)可以用硬件、软件或其组合来实现。硬件(例如,硬件组件1000和/或硬件组件1100)可以包括例如计算机、知识产权(IP)核心、专用集成电路(ASIC)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其他合适的电路。在权利要求中,术语“处理器”应该被理解为涵盖前述硬件中的任一种,无论是单独的还是组合的。术语“信号”和“数据”可以互换使用。此外,发送站102和接收站106的部分未必以相同的方式实施。
此外,在一个方面,例如,发送站102或接收站106可以使用通用计算机或通用处理器通过计算机程序来实施,该计算机程序在被执行时实现本文描述的相应的方法、算法和/或指令中的任一个。作为补充或替选,例如,可以使用专用计算机/处理器,其可以包含用于实现本文描述的方法、算法或指令中任一个的其他硬件。
发送站102和接收站106可以例如在视频会议系统中的计算机上实施。替选地,发送站102可以在服务器上实施,接收站106可以在诸如手持通信设备的分离于服务器的设备上实施。在这种情况下,使用编码器400,发送站102可以将内容编码成编码视频信号,并将编码视频信号发送到通信设备。接着,通信设备可以使用解码器500解码所编码的视频信号。替选地,通信设备可以解码本地存储在通信设备上的内容,例如,没有被发送站102发送的内容。其他合适发送和接收实施方案是可用的。例如,接收站106可以是通常固定的个人计算机,而不是便携式通信设备,并且/或者包括编码器400的设备也可以包括解码器500。
此外,本公开实施方式的全部或部分可以采取可从例如计算机可用介质或计算机可读介质访问的计算机程序产品的形式。计算机可用介质或计算机可读介质可以是能够例如有形地包含、存储、通信或传输由任何处理器使用或与任何处理器结合使用的程序的任何设备。该介质可以是例如电子、磁性、光学、电磁或半导体设备。其他合适的介质也是可用的。
已经描述了上述实施例、实施方式和方面,以便于容易理解本公开,并且不限制本公开。相反,本公开旨在覆盖包括在所附权利要求的范围内的各种修改和等同布置,范围将被赋予法律许可的最广泛的解释,从而涵盖所有这些修改和等同布置。

Claims (21)

1.一种用于根据基于先前解码的变换块的变换系数选择的扫描顺序来解码当前变换块的方法,所述方法包括:
根据第一候选扫描顺序将所述变换系数中的最后一个非零变换系数的在所述先前解码的变换块内的区位识别为第一块结束位置;
根据第二候选扫描顺序将所述变换系数中的最后一个非零变换系数的在所述先前解码的变换块内的区位识别为第二块结束位置;
基于位于所述第一块结束位置之前的所述变换系数的数量来确定所述第一候选扫描顺序的成本值;
基于位于所述第二块结束位置之前的所述变换系数的数量来确定所述第二候选扫描顺序的成本值;
基于所述第一候选扫描顺序的成本值和所述第二候选扫描顺序的成本值,选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的扫描顺序;以及
使用所选择的扫描顺序来解码所述当前变换块。
2.根据权利要求1所述的方法,其中,根据所述第一候选扫描顺序识别所述变换系数中的所述最后一个非零变换系数的在所述先前解码的变换块内的所述区位包括:
确定第一数量,所述第一数量是包括非零变换系数和零值变换系数的基于所述第一候选扫描顺序要解码的所述变换系数的总数。
3.根据权利要求2所述的方法,其中,基于位于所述第一块结束位置之前的所述变换系数的数量来确定所述第一候选扫描顺序的成本值包括:
确定第二数量,所述第二数量是基于所述第一候选扫描顺序要解码的所述变换系数的非零系数的总数;以及
计算所述第一数量与所述第二数量之间的差。
4.根据权利要求1至3中的任一项所述的方法,其中,选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的扫描顺序包括:
确定所述第一候选扫描顺序的成本值是否小于所述第二候选扫描顺序的成本值;以及:
响应于确定所述第一候选扫描顺序的成本值小于或等于所述第二候选扫描顺序的成本值,选择所述第一候选扫描顺序作为用于解码所述当前变换块的扫描顺序;或者
响应于确定所述第一候选扫描顺序的成本值大于所述第二候选扫描顺序的成本值,选择所述第二候选扫描顺序作为用于解码所述当前变换块的扫描顺序。
5.根据权利要求1至4中的任一项所述的方法,所述先前解码的变换块是所述当前变换块的相邻变换块,所述方法还包括:
基于所述变换块的一个或多个其他相邻变换块的变换系数,为所述第一候选扫描顺序和所述第二候选扫描顺序中的每一个确定其他成本值。
6.根据权利要求5所述的方法,其中:
所述第一候选扫描顺序的成本值、所述第二候选扫描顺序的成本值以及所述其他成本值被累加以产生累加成本值,并且
选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的扫描顺序包括:
确定所述第一候选扫描顺序具有所述累加成本值中最低的累加成本值;以及
选择所述第一候选扫描顺序作为用于解码所述当前变换块的扫描顺序。
7.根据权利要求5或6所述的方法,其中,对所述成本值进行排名和累加以产生累加排名,并且选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的扫描顺序包括:
确定所述第一候选扫描顺序具有所述累加排名中最低的累加排名;以及
选择所述第一候选扫描顺序作为用于解码所述当前变换块的扫描顺序。
8.根据权利要求1至7中的任一项所述的方法,其中:
所述第一候选扫描顺序和所述第二候选扫描顺序包括在候选扫描顺序集合中,并且
所述候选扫描顺序集合基于所述先前解码的变换块的大小。
9.一种用于根据基于先前解码的变换块的变换系数选择的扫描顺序来解码当前变换块的装置,所述装置包括:
存储器;和
处理器,所述处理器被配置为执行存储在所述存储器中的指令,以用于:
根据第一候选扫描顺序将所述变换系数中的最后一个非零变换系数的所述先前解码的变换块内的区位识别为第一块结束位置;
根据第二候选扫描顺序将所述变换系数中的最后一个非零变换系数的所述先前解码的变换块内的区位识别为第二块结束位置;
基于位于所述第一块结束位置之前的所述变换系数的数量来确定所述第一候选扫描顺序的成本值;
基于位于所述第二块结束位置之前的所述变换系数的数量来确定所述第二候选扫描顺序的成本值;
基于所述第一候选扫描顺序的成本值和所述第二候选扫描顺序的成本值,选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的所述扫描顺序;以及
使用所选择的扫描顺序来解码所述当前变换块。
10.根据权利要求9所述的装置,其中,根据所述第一候选扫描顺序识别所述变换系数中的所述最后一个非零变换系数的所述先前解码的变换块内的区位的指令包括用于以下的指令:
确定第一数量,所述第一数量是包括非零变换系数和零值变换系数的基于所述第一候选扫描顺序要解码的所述变换系数的总数。
11.根据权利要求10所述的装置,其中,基于位于所述第一块结束位置之前的所述变换系数的数量来确定所述第一候选扫描顺序的成本值的指令包括用于以下的指令:
确定第二数量,所述第二数量是所述变换系数的非零系数的总数;以及
计算所述第一数量与所述第二数量之间的差。
12.根据权利要求9至11中的任一项所述的装置,其中,选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为用于解码所述当前变换块的所述扫描顺序的指令包括用于以下的指令:
确定所述第一候选扫描顺序的成本值是否小于所述第二候选扫描顺序的成本值;
响应于确定所述第一候选扫描顺序的成本值小于或等于所述第二候选扫描顺序的成本值,选择所述第一候选扫描顺序作为解码所述当前变换块的扫描顺序;以及
响应于确定所述第一候选扫描顺序的成本值大于所述第二候选扫描顺序的成本值,选择所述第二候选扫描顺序作为解码所述当前变换块的扫描顺序。
13.根据权利要求9至12中的任一项所述的装置,其中:
所述先前解码的变换块是所述当前变换块的相邻变换块,并且
所述指令还包括基于所述变换块的一个或多个其他相邻变换块的变换系数来确定所述第一候选扫描顺序和所述第二候选扫描顺序中的每一个的其他成本值的指令。
14.根据权利要求13所述的装置,其中:
所述第一候选扫描顺序的成本值、所述第二候选扫描顺序的成本值和所述其他成本值被累加以产生累加成本值,并且
选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为解码所述当前变换块的扫描顺序的指令包括用于以下的指令:
确定所述第一候选扫描顺序具有所述累加成本值中最低的累加成本值;以及
选择所述第一候选扫描顺序作为解码所述当前变换块的扫描顺序。
15.根据权利要求13或14所述的装置,其中:
对所述成本值进行排名和累加,以产生累加排名,并且
选择所述第一候选扫描顺序或所述第二候选扫描顺序中的一个作为解码所述当前变换块的扫描顺序的指令包括用于以下的指令:
确定所述第一候选扫描顺序具有所述累加排名中最低的累加排名;以及
选择所述第一候选扫描顺序作为解码所述当前变换块的扫描顺序。
16.根据权利要求9至15中的任一项所述的装置,其中,所述第一候选扫描顺序和所述第二候选扫描顺序包括在候选扫描顺序集合中,其中,所述候选扫描顺序集合基于所述先前解码的变换块的大小。
17.一种用于解码当前变换块的方法,所述方法包括:
根据第一候选扫描顺序识别位于先前解码的变换块的最后一个非零系数之前的零值变换系数的第一数量;
根据第二候选扫描顺序识别位于所述先前解码的变换块的最后一个非零系数之前的零值变换系数的第二数量;
确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量;以及
响应于确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量,使用所述第一候选扫描顺序来解码所述当前变换块。
18.根据权利要求17所述的方法,其中,所述先前解码的变换块是所述当前变换块的相邻变换块,所述方法还包括:
根据所述第一候选扫描顺序和所述第二候选扫描顺序中的每一个,识别位于所述当前变换块的一个或多个其他相邻变换块的最后一个非零系数之前的零值变换系数的其他数量。
19.根据权利要求18所述的方法,其中:
累加所述零值变换系数的第一数量、所述零值变换系数的第二数量和所述零值变换系数的其他数量以产生累加成本值,以及
确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量包括确定所述第一候选扫描顺序具有所述累加成本值中最低的累加成本值。
20.根据权利要求18或19所述的方法,其中:
对所述零值变换系数的第一数量、所述零值变换系数的第二数量、所述零值变换系数的其他数量进行排名和累加,以产生累加排名,以及
确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量包括确定所述第一候选扫描顺序具有所述累加排名中最低的累加排名。
21.一种用于解码当前变换块的装置,所述装置包括:
存储器;和
处理器,所述处理器被配置为执行存储在所述存储器中的指令,以用于:
根据第一候选扫描顺序识别位于先前解码的变换块的最后一个非零系数之前的零值变换系数的第一数量;
根据第二候选扫描顺序识别位于所述先前解码的变换块的最后一个非零系数之前的零值变换系数的第二数量;
确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量;以及
响应于确定所述零值变换系数的第一数量小于所述零值变换系数的第二数量,使用所述第一候选扫描顺序解码所述当前变换块。
CN201880036916.9A 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择 Active CN110741636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310250203.5A CN116233434A (zh) 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762599325P 2017-12-15 2017-12-15
US62/599,325 2017-12-15
US15/880,939 US10382758B2 (en) 2017-12-15 2018-01-26 Transform block-level scan order selection for video coding
US15/880,939 2018-01-26
PCT/US2018/051036 WO2019118026A1 (en) 2017-12-15 2018-09-14 Transform block-level scan order selection for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310250203.5A Division CN116233434A (zh) 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择

Publications (2)

Publication Number Publication Date
CN110741636A true CN110741636A (zh) 2020-01-31
CN110741636B CN110741636B (zh) 2023-03-21

Family

ID=66814040

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310250203.5A Pending CN116233434A (zh) 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择
CN201880036916.9A Active CN110741636B (zh) 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310250203.5A Pending CN116233434A (zh) 2017-12-15 2018-09-14 用于视频编码的变换块级扫描顺序选择

Country Status (4)

Country Link
US (2) US10382758B2 (zh)
EP (1) EP3725076B1 (zh)
CN (2) CN116233434A (zh)
WO (1) WO2019118026A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045420A1 (zh) * 2021-09-27 2023-03-30 上海哔哩哔哩科技有限公司 图像处理方法及装置、电子设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030384B1 (ko) * 2018-06-19 2019-11-08 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치
US11606568B1 (en) 2021-08-18 2023-03-14 Meta Platforms, Inc. End-of-block detection of quantized transform coefficient matrices in video encoding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090046941A1 (en) * 2005-11-30 2009-02-19 Koninklijke Philips Electronics, N.V. Encoding method and apparatus applying coefficient reordering
US20110206135A1 (en) * 2008-10-28 2011-08-25 Virginie Drugeon Image coding method, image decoding method, image coding apparatus, image decoding apparatus, integrated circuit and program
WO2012113328A1 (zh) * 2011-02-23 2012-08-30 华为技术有限公司 一种变换系数块的扫描方法和装置
GB2496194A (en) * 2011-11-07 2013-05-08 Sony Corp Entropy encoding video data using reordering patterns
CN104272735A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
WO2017138832A1 (en) * 2016-02-12 2017-08-17 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8737613B2 (en) * 2008-11-20 2014-05-27 Mediatek Inc. Scanning methods of transform-based digital data processing that conditionally adjust scan order according to characteristics information and related apparatus thereof
US9641846B2 (en) * 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US20120163456A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US20120236931A1 (en) * 2010-12-23 2012-09-20 Qualcomm Incorporated Transform coefficient scan
KR101739580B1 (ko) * 2010-12-30 2017-05-25 에스케이 텔레콤주식회사 적응적 스캔 장치 및 그 스캔 방법
US9414056B2 (en) * 2011-01-13 2016-08-09 Samsung Electronics Co., Ltd. Video-encoding method and apparatus for same and video-decoding method and apparatus for same using a selective scan mode
US10499059B2 (en) 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
US9386306B2 (en) 2012-08-15 2016-07-05 Qualcomm Incorporated Enhancement layer scan order derivation for scalable video coding
US11223832B2 (en) * 2014-07-24 2022-01-11 Qualcomm Incorporated Methods and apparatus for encoding video data using block palettes and sub-block and pixel scanning orders
KR102159252B1 (ko) * 2016-02-12 2020-10-14 후아웨이 테크놀러지 컴퍼니 리미티드 스캔 순서 선택을 위한 방법 및 장치
GB2557335A (en) * 2016-12-07 2018-06-20 Sony Corp Image data encoding and decoding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090046941A1 (en) * 2005-11-30 2009-02-19 Koninklijke Philips Electronics, N.V. Encoding method and apparatus applying coefficient reordering
US20110206135A1 (en) * 2008-10-28 2011-08-25 Virginie Drugeon Image coding method, image decoding method, image coding apparatus, image decoding apparatus, integrated circuit and program
CN102197651A (zh) * 2008-10-28 2011-09-21 松下电器产业株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、集成电路及程序
WO2012113328A1 (zh) * 2011-02-23 2012-08-30 华为技术有限公司 一种变换系数块的扫描方法和装置
GB2496194A (en) * 2011-11-07 2013-05-08 Sony Corp Entropy encoding video data using reordering patterns
CN104272735A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
WO2017138832A1 (en) * 2016-02-12 2017-08-17 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045420A1 (zh) * 2021-09-27 2023-03-30 上海哔哩哔哩科技有限公司 图像处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP3725076A1 (en) 2020-10-21
EP3725076B1 (en) 2023-08-02
US20190364281A1 (en) 2019-11-28
CN116233434A (zh) 2023-06-06
US20190191164A1 (en) 2019-06-20
US10951894B2 (en) 2021-03-16
CN110741636B (zh) 2023-03-21
WO2019118026A1 (en) 2019-06-20
US10382758B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
CN107027032B (zh) 最后帧运动向量分区方法和装置
US10142628B1 (en) Hybrid transform in video codecs
US9344742B2 (en) Transform-domain intra prediction
CN112203088B (zh) 用于非基带信号代码化的变换选择
WO2017209793A1 (en) Block size adaptive directional intra prediction
US9615100B2 (en) Second-order orthogonal spatial intra prediction
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
CN110169068B (zh) Dc系数符号代码化方案
CN110741641B (zh) 用于视频压缩的方法和装置
CN110169059B (zh) 视频代码化的复合预测
US9392288B2 (en) Video coding using scatter-based scan tables
US11917156B2 (en) Adaptation of scan order for entropy coding
CN110741636B (zh) 用于视频编码的变换块级扫描顺序选择
EP3673653B1 (en) Embedding information about token tree traversal

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