CN113382264A - 在图像转码中的阿尔法通道后处理 - Google Patents

在图像转码中的阿尔法通道后处理 Download PDF

Info

Publication number
CN113382264A
CN113382264A CN202110627284.7A CN202110627284A CN113382264A CN 113382264 A CN113382264 A CN 113382264A CN 202110627284 A CN202110627284 A CN 202110627284A CN 113382264 A CN113382264 A CN 113382264A
Authority
CN
China
Prior art keywords
alpha channel
kernel
values
candidate
bilateral filter
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.)
Pending
Application number
CN202110627284.7A
Other languages
English (en)
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 CN113382264A publication Critical patent/CN113382264A/zh
Pending legal-status Critical Current

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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
    • 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
    • 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/186Methods 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 colour or a chrominance component
    • 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
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20028Bilateral filtering

Landscapes

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

Abstract

本公开涉及在图像转码中的阿尔法通道后处理。图像转码中的阿尔法通道后处理可以包括:从比特流的多个颜色通道来解码用于编码图像的颜色通道值,从所述比特流的阿尔法通道来解码用于所述编码图像的阿尔法通道值,基于用于编码所述阿尔法通道的压缩水平来确定双边滤波器,通过使用所述双边滤波器对阿尔法通道值进行滤波以获得滤波后的阿尔法通道值来对所述阿尔法通道值进行后处理,并且通过使用所述滤波后的阿尔法通道值和所述颜色通道值来生成与所述编码图像相对应的重构图像的至少一部分。

Description

在图像转码中的阿尔法通道后处理
技术领域
本公开涉及在图像转码中的阿尔法通道后处理。
背景技术
图像内容(例如,静止图像或视频帧)表示大量在线内容。例如,网页可以包括多个图像,并且用于渲染所述网页所花费的大部分时间和资源专用于渲染那些用于显示的图像。接收和渲染用于显示的图像所需的时间和资源的量部分地取决于所述图像被压缩的方式。这样,可以通过使用压缩和解压缩技术减小图像的总数据大小来更快地渲染图像。
发明内容
压缩和解压缩技术可以将伪影和其它重构误差引入图像。专门为阿尔法(alpha)通道设计的后处理可以通过减少这些误差的可见性来提高图像质量。
本文的教导的第一方面是一种通过使用阿尔法通道后处理来进行转码的方法。该方法可以包括:从比特流的多个颜色通道来解码用于编码图像的颜色通道值,以及从比特流的阿尔法通道来解码用于编码图像的阿尔法通道值。该方法还可以包括基于用于编码阿尔法通道的压缩水平来确定双边滤波器,通过使用双边滤波器对阿尔法通道值进行滤波以获得滤波后的阿尔法通道值来对阿尔法通道值进行后处理,并且通过使用滤波后的阿尔法通道值和颜色通道值来生成与编码图像相对应的重构图像的至少一部分。
本文的教导的另一方面是一种执行本文所述的通过使用阿尔法通道后处理来进行转码的方法的装置。该装置可以是图像解码器或帧解码器。该装置可以包括处理器和存储指令的存储器,该指令在执行时使处理器执行本文所述的通过使用阿尔法通道后处理来进行转码的方法。
在以下对实施例、所附权利要求书和附图的详细描述中公开了本公开的这些和其它方面。
附图说明
图1是根据本公开的实施方式的计算设备的图。
图2是根据本公开的实施方式的计算和通信系统的图。
图3是根据本发明的实施方式的用于编码和解码的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本发明的实施方式的解码器的框图。
图6是根据本公开的实施方式的通过使用阿尔法通道后处理来进行转码的方法的流程图。
图7A是用于阿尔法通道后处理的双边滤波器的空间内核的第一示例。
图7B是用于阿尔法通道后处理的双边滤波器的空间内核的第二示例。
图8A是用于阿尔法通道后处理的双边滤波器的范围内核的第一示例。
图8B是用于阿尔法通道后处理的双边滤波器的范围内核的第二示例。
图8C是用于阿尔法通道后处理的双边滤波器的范围内核的第三示例。
图9A是在没有本文所述的阿尔法通道后处理的情况下的重构图像。
图9B是图9A的包括本文所述的阿尔法通道后处理的重构图像。
具体实施方式
图像和视频压缩方案可以包括将图像或帧分解成较小的部分,诸如块,以及通过使用使在输出中的每个块所包括的信息的带宽利用最小化的技术来生成输出比特流。所述技术可以包括通过减少空间冗余、减少时间冗余或其组合来限制信息。例如,时间或空间冗余可用于预测块或其一部分,以使得在比特流中表示在预测块与原始块之间的差或残差。可以通过将残差的信息变换为变换系数、量化所述变换系数以及对经量化的变换系数进行熵转码来进一步压缩残差。其它转码信息(例如从所述编码块信息中重构所述块所需的信息)也可以被包含在所述比特流中。
所述图像可以包括三个颜色通道,例如一个亮度通道和两个色度通道,以及可选地用于描述透明度信息的阿尔法通道。当解码颜色通道时,可将去块滤波器应用于重构数据以减轻块边缘伪影。但是,阿尔法通道与颜色通道具有不同的特性,因此使去块滤波器对后处理不太有用。
本文的教导的实施方式描述了阿尔法通道后处理,并且更具体地描述了特定于阿尔法通道的后处理滤波器。本文首先参考其中可以实施本文的教导的系统来描述细节。
图1是根据本公开的实施方式的计算设备100的图式。所示计算设备100包括存储器110、处理器120、用户接口(UI)130、电子通信单元140、传感器150、电源160和总线170。如本文所使用,术语“计算设备”包括能够执行本文所公开的任何方法、或其任何一个或多个部分的任何单元、或单元的组合。
计算设备100可以是固定计算设备,例如,个人计算机(PC)、服务器、工作站、小型计算机或大型计算机;或移动计算设备,例如,移动电话、个人数字助理(PDA)、便携式计算机或平板PC。尽管图示为单个单元,但是计算设备100的任一个或多个元件可以集成在任何数目的分开的物理单元中。例如,用户接口130和处理器120可以集成在第一物理单元中,并且存储器110可以集成在第二物理单元中。
存储器110可以包括任何非暂时性计算机可用的或计算机可读的介质,例如,其中可以例如含有、存储、传送或传输数据112、指令114、操作系统116、或与它们相关联的任何信息以供计算设备100的其它组件使用或结合计算设备100的其它组件使用的任何有形设备。非暂时性计算机可用的或计算机可读的介质可以是例如,固态驱动器、存储卡、可移动介质、只读存储器(ROM)、随机存取存储器(RAM)、包括硬盘、软盘、光盘的任何类型的磁盘、磁卡或光卡、专用集成电路(ASIC)、或适合于存储电子信息的任何类型的非暂时性介质、或其任何组合。
尽管图示为单个单元,但是存储器110可以包括多个物理单元,例如,一个或多个主要存储器单元,例如随机存取存储器单元;一个或多个次级数据存储单元,例如磁盘;或其组合。例如,数据112或其一部分、指令114或其一部分、或两者可以存储于次级存储单元中,并且可以与处理相应数据112、执行相应指令114或两者相结合地加载到或以其他方式传递到主要存储单元。在一些实施方式中,存储器110或其一部分可以是可移除的存储器。
数据112可以包括信息,例如输入音频和/或视觉数据、编码音频和/或视觉数据、解码音频和/或视觉数据等等。视觉数据可以包括静止图像、视频序列的帧、和/或视频序列。指令114可以包括用于执行本文所公开的任何方法、或其任一个或多个部分的指导,例如代码。指令114可以在硬件、软件、或其任何组合中实施。例如,指令114可以实施为存储于存储器110中的信息,例如计算机程序,其可以由处理器120执行以执行如本文所描述的相应方法、算法、方面、或其组合中的任一个。
尽管示为包括在存储器110中,但是在一些实施方式中,指令114或其一部分可以实施为专用处理器或电路,所述专用处理器或电路可以包括用于执行如本文所描述的方法、算法、方面或其组合中的任一个的专用硬件。指令114的各部分可以跨过在同一机器或不同机器上的多个处理器来分布,或跨过例如局域网、广域网、因特网、或其组合的网络来分布。
处理器120可以包括能够操控或处理数字信号或其它电子信息的现有或以后开发的任何设备或系统,包括光学处理器、量子处理器、分子处理器、或其组合。例如,处理器120可以包括专用处理器、中央处理单元(CPU)、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、ASIC、现场可编程门阵列(FPGA)、可编程逻辑阵列、可编程逻辑控制器、微代码、固件、任何类型的集成电路(IC)、状态机、或其任何组合。如本文所使用,术语“处理器”包括单个处理器或多个处理器。
用户接口130可以包括能够与用户对接的任何单元,例如虚拟或物理小键盘、触摸板、显示器、触摸显示器、扬声器、麦克风、摄像机、传感器、或其任何组合。例如,用户接口130可以是视听显示设备,并且计算设备100可以例如与显示例如解码视频的视频相结合地,通过使用用户接口130视听显示设备呈现例如解码音频的音频。尽管示为单个单元,但是用户接口130可以包括一个或多个物理单元。例如,用户接口130可以包括用于与用户执行音频通信的音频接口、以及用于与用户执行基于视觉和触摸的通信的触摸显示器。
电子通信单元140可以通过有线或无线电子通信介质180,例如射频(RF)通信介质、紫外线(UV)通信介质、可见光通信介质、光纤通信介质、有线通信介质、或其组合,来传输、接收或传输并接收信号。例如,如图所示,电子通信单元140可操作地连接到例如天线的电子通信接口142,所述电子通信接口被配置成通过无线信号进行通信。
尽管在图1中将电子通信接口142示为无线天线,但是电子通信接口142可以是如图所示的无线天线、例如以太网端口、红外端口、串行端口的有线通信端口、或能够与有线或无线电子通信介质180对接的任何其它有线或无线单元。尽管图1示出单个电子通信单元140和单个电子通信接口142,但是可以使用任何数目的电子通信单元和任何数目的电子通信接口。
传感器150可以包括例如音频感测设备、可见光感测设备、运动感测设备、或其组合。例如,传感器150可以包括例如麦克风的声音感测设备、或现有或以后开发的任何其它声音感测设备,其可以感测由操作计算设备100的用户所发出的在计算设备100附近的声音,例如语音或其它言语。在另一示例中,传感器150可以包括相机、或现有或以后开发的任何其它图像感测设备,其可以感测图像,例如操作计算设备的用户的图像。尽管图示出单个传感器150,但是计算设备100可以包括多个传感器150。例如,计算设备100可以包括以指向计算设备100的用户的视场定向的第一相机,以及以远离计算设备100的用户的视场定向的第二相机。
电源160可以是用于为计算设备100供电的任何合适的设备。例如,电源160可以包括:有线外部电源接口;一个或多个干电池,例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion);太阳能电池;燃料电池;或能够为计算设备100供电的任何其它设备。尽管在图1中示出单个电源160,但是计算设备100可以包括多个电源160,例如,电池和有线外部电源接口。
尽管图示为分开的单元,但是电子通信单元140、电子通信接口142、用户接口130、电源160或其一部分可以被配置为组合单元。例如,电子通信单元140、电子通信接口142、用户接口130和电源160可以被实施为能够与外部显示设备对接的通信端口,以提供通信、电力或二者。
存储器110、处理器120、用户接口130、电子通信单元140、传感器150或电源160中的一个或多个可以经由总线170可操作地耦合。尽管图1中示出单个总线170,但是计算设备100可以包括多个总线。例如,存储器110、处理器120、用户接口130、电子通信单元140、传感器150和总线170可以经由总线170从电源160接收电力。在另一示例中,存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160或其组合可以例如通过经由总线170发送和接收电子信号来传送数据。
尽管图1中未分开地示出,但是处理器120、用户接口130、电子通信单元140、传感器150或电源160中的一个或多个可以包括内部存储器,例如,内部缓冲器或寄存器。例如,处理器120可以包括内部存储器(未示出),并且可以将数据112从存储器110读取到内部存储器(未示出)中以进行处理。
尽管图示为分开的元件,但是存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160和总线170、或其任何组合可以集成在一个或多个电子单元、电路或芯片中。
图2是根据本公开的实施方式的计算和通信系统200的图式。所示的计算和通信系统200包括计算和通信设备100A、100B、100C、接入点210A、210B以及网络220。例如,计算和通信系统200可以是多址系统,所述多址系统将通信(例如语音、音频、数据、视频、消息传递、广播或其组合)提供到一个或多个有线或无线通信设备,例如计算和通信设备100A、100B、100C。尽管为简单起见,图2示出三个计算和通信设备100A、100B、100C、两个接入点210A、210B以及一个网络220,但是可以使用任何数目的计算和通信设备、接入点和网络。
计算和通信设备100A、100B或100C可以是例如计算设备,例如图1中所示的计算设备100。例如,计算和通信设备100A、100B可以是用户设备,例如移动计算设备、膝上型计算机、瘦客户端或智能电话,并且计算和通信设备100C可以是服务器,例如大型机或集群。尽管将计算和通信设备100A以及计算和通信设备100B描述为用户设备,并且将计算和通信设备100C描述为服务器,但是任何计算和通信设备都可以执行服务器的一些或全部功能、用户设备的一些或全部功能、或服务器和用户设备的一些或全部功能。例如,服务器计算和通信设备100C可以接收、编码、处理、存储、传输音频数据或其组合;并且计算和通信设备100A以及计算和通信设备100B中的一个或两个可以接收、解码、处理、存储、呈现音频数据或其组合。
每个计算和通信设备100A、100B、100C可以被配置成例如通过网络220执行有线或无线通信,所述计算和通信设备可以包括用户装置(UE)、移动台、固定或移动订户单元、蜂窝电话、个人计算机、平板计算机、服务器、消费型电子产品、或任何类似设备。例如,计算和通信设备100A、100B、100C可以被配置成传输或接收有线或无线通信信号。尽管每个计算和通信设备100A、100B、100C被图示为单个单元,但是计算和通信设备可以包括任何数目的互连元件。
每个接入点210A、210B可以是被配置成通过有线或无线通信链路180A、180B、180C与计算和通信设备100A、100B、100C、网络220或两者通信的任何类型的设备。例如,接入点210A、210B可以包括基站、基站收发器(BTS)、节点-B、增强型节点-B(eNode-B)、家庭节点-B(HNode-B)、无线路由器、有线路由器、集线器、中继器、交换机、或任何类似的有线或无线设备。尽管每个接入点210A、210B被图示为单个单元,但是接入点可以包括任何数目的互连元件。
网络220可以是配置成通过有线或无线通信链路提供例如语音、数据、应用程序、互联网协议语音(VoIP)、或任何其它通信协议或通信协议的组合的服务的任何类型的网络。例如,网络220可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、移动或蜂窝电话网络、互联网或任何其它电子通信方式。所述网络可以使用通信协议,例如传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)、实时传输协议(RTP)、超文本传输协议(HTTP)、或其组合。
计算和通信设备100A、100B、100C可以通过使用一个或多个有线或无线通信链路、或通过有线和无线通信链路的组合经由网络220彼此通信。例如,如图所示,计算和通信设备100A、100B可以经由无线通信链路180A、180B通信,并且计算和通信设备100C可以经由有线通信链路180C通信。计算和通信设备100A、100B、100C中的任一个可以通过使用任何一个或多个有线或无线通信链路来通信。例如,第一计算和通信设备100A可以通过使用第一类型的通信链路经由第一接入点210A来通信,第二计算和通信设备100B可以通过使用第二类型的通信链路经由第二接入点210B来通信,并且第三计算和通信设备100C可以通过使用第三类型的通信链路经由第三接入点(未示出)来通信。类似地,接入点210A、210B可以经由一种或多种类型的有线或无线通信链路230A、230B与网络220通信。尽管图2示出经由网络220进行通信的计算和通信设备100A、100B、100C,但是计算和通信设备100A、100B、100C可以经由任何数目的通信链路(例如直接有线或无线通信链路)彼此通信。
在一些实施方式中,在计算和通信设备100A、100B、100C中的一个或多个之间的通信可以省略经由网络220的通信,并且可以包括经由例如数据存储设备的另一介质(未示出)来传递数据。例如,服务器计算和通信设备100C可以将例如编码音频数据的音频数据存储在例如便携式数据存储单元的数据存储设备中,并且计算和通信设备100A或计算和通信设备100B中的一个或两个可以例如通过将数据存储设备从服务器计算和通信设备100C物理地断开连接、并且将数据存储设备物理地连接到计算和通信设备100A或计算和通信设备100B而从数据存储单元访问、读取或检索所存储的音频数据。
计算和通信系统200的其它实施方式是可能的。例如,在实施方式中,网络220可以是自组织网络,并且可以省略接入点210A、210B中的一个或多个。计算和通信系统200可以包括图2中未示出的设备、单元或元件。例如,计算和通信系统200可以包括更多的通信设备、网络和接入点。
图3是根据本公开的实施方式的用于编码和解码的视频流300的图式。视频流300,例如由摄像机捕获的视频流或由计算设备生成的视频流,可以包括视频序列310。视频序列310可以包括相邻帧320的序列。尽管示出三个相邻帧320,但是视频序列310可以包括任何数目的相邻帧320。
来自相邻帧320的每个帧330可以表示来自视频流的单个图像。尽管在图3中未示出,但是帧330可以包括一个或多个段、图块或平面,所述一个或多个片段、图块或平面可以被独立地(例如并行地)转码或以其他方式处理。帧330可以包括块340。尽管在图3中未示出,但是块可以包括像素。例如,块可以包括16×16像素组、8×8像素组、8×16像素组、或任何其它像素组。除非本文另外指示,否则术语“块”可以包括帧的超块、宏块、片段、切片、或任何其它部分。帧、块、像素或其组合可以包括显示信息,例如亮度信息、色度信息,或可以用于存储、修改、传达或显示视频流或其一部分的任何其它信息。
图4是根据本公开的实施方式的编码器400的框图。在例如图1中所示的计算设备100或图2中所示的计算和通信设备100A、100B、100C的设备中,编码器400可以实施为例如存储在例如图1中所示的存储器110的数据存储单元中的计算机软件程序。计算机软件程序可以包括可以由处理器(例如图1中所示的处理器120)执行的机器可读指令,并且可以使所述设备对本文所描述的视频数据进行编码。编码器400可以实施为例如包括在计算设备100中的专用硬件。
编码器400具有用于在(通过实连接线示出的)前向路径中执行各种功能以通过使用视频流300作为输入来产生编码比特流或压缩比特流420的以下级:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400还可以包括(通过虚连接线示出的)重构路径,以重构用于对将来块进行编码的帧。在图4中,编码器400具有用于在重构路径中执行各种功能的以下级:去量化级410、逆变换级412、重构级414和环路滤波级416。编码器400的其它结构变型可以被用于对视频流300进行编码。
在一些情况下,由编码器400执行的功能可以在视频流300的滤波之后发生。也就是说,在编码器400接收视频流300之前,视频流300可以经历根据本公开的一种或多种实施方式的预处理。可替换地,编码器400本身可以在前进到执行关于图4所描述的功能之前(诸如在帧内/帧间预测阶段402处处理视频流300之前)对视频流300执行这样的预处理。
当视频流300在执行预处理之后被呈现用于进行编码时,可以以块为单位处理各个相邻帧320,诸如帧330。在帧内/帧间预测级402处,可以使用帧内预测(也称作内预测)或帧间预测(也称作间预测)来对各个块进行编码。在任何情况下,可以形成预测块。在帧内预测的情况下,预测块可以由当前帧中的先前已经编码和重构的样本形成。在帧间预测的情况下,预测块可以由在一个或多个先前构造的参考帧中的样本形成。
接下来,可以在帧内/帧间预测级402处将预测块从当前块中减去,以产生残差块(也称作残差)。变换级404通过使用基于块的变换来在例如频域中将残差变换成变换系数。量化级406通过使用量化器值或量化等级来将变换系数变换成离散量子值,该离散量子值被称为量化变换系数。例如,变换系数可以除以量化值并被截断。
量化变换系数然后由熵编码级408进行熵编码。熵编码系数以及用于对块进行解码的其它信息(其可以包括例如诸如用于指示所用预测的类型、变换类型、运动矢量、量化器值等的语法元素)一起然后被输出到压缩比特流420。可以通过使用各种技术来格式化压缩比特流420,所述各种技术诸如可变长度转码(VLC)或算术转码。压缩比特流420也可以被称为编码视频流或编码视频比特流,并且这些术语将在本文中可互换地使用。
(通过虚连接线示出的)重构路径可以用于确保编码器400和(在下面参考图5进行描述的)解码器500使用相同的参考帧,以对压缩比特流420进行解码。重构路径执行与在(在下面参考图5进行描述的)解码过程期间进行的功能类似的功能,包括在去量化级410处对量化变换系数进行去量化以及在逆变换级412处对去量化变换系数进行逆变换以产生派生的残差块(也称作派生的残差)。
在重构级414处,可以将在帧内/帧间预测级402处预测的预测块添加到派生的残差以创建重构块。环路滤波级416可以将环内滤波器或者其它滤波器应用于重构块以减少诸如块伪影的失真。可以在环路滤波级416处应用的滤波器的示例包括但不限于去块滤波器、方向增强滤波器和环路恢复滤波器。
编码器400的其它变型可以是用于编码所述压缩比特流420。在一些实施方式中,基于非变换的编码器可以针对某些块或帧在无需变换级404的情况下直接对残差信号进行量化。在一些实施方式中,编码器可以具有组合在共同级中的量化级406和去量化级410。
图5是根据本公开的实施方式的解码器500的框图。在例如图1中所示的计算设备100或图2中所示的计算和通信设备100A、100B、100C的设备中,解码器500可以实施为例如存储于例如图1中所示的存储器110的数据存储单元中的计算机软件程序。计算机软件程序可以包括可以由处理器(例如图1中所示的处理器120)执行的机器可读指令,并且可以使所述设备对本文所描述的视频数据进行解码。解码器500可以实施为例如包括在计算设备100中的专用硬件。
类似于上述的编码器400的重构路径,解码器500在一个示例中包括用于执行各种功能以从压缩比特流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可以被应用于重构块以减少块伪影。可以在环路滤波级512处应用的滤波器的示例包括但不限于去块滤波器、方向增强滤波器和环路恢复滤波器。可以将其它滤波应用于所述重构块。在此示例中,后置滤波级514被应用于所述重构块以减少块失真,并且所述结果作为输出视频流516输出。输出视频流516也可以被称为解码视频流,并且这些术语将在本文中可互换地使用。
解码器500的其它变型可以用于解码所述压缩比特流420。在一些实施方式中,解码器500可以在没有后置滤波级514的情况下产生输出视频流516或者以其他方式省略后置滤波级514。
如上所述,阿尔法通道描述了透明度信息。结果,阿尔法通道的数据具有与诸如典型亮度或色度通道的颜色通道不同的特性。例如,阿尔法通道通常包含在完全不透明区域(例如,在8位表示中的值为255的像素)和完全透明区域(例如,值为0的像素)之间的尖锐边缘。因此,与用于颜色工具的那些相比,使用阿尔法通道对图像的有损压缩可以受益于对阿尔法通道使用不同工具。与以上关于图4和图5描述的帧间或帧内预测工具相比,在某些情况下,可以使用游程长度编码(RLE)或其它技术来更有效地压缩阿尔法通道。即使在使用帧间或帧内预测工具的地方,阿尔法通道的特性也可以通过相对较大的量化值(与用于颜色通道的量化值相反)或通过其中减少用于表示底层透明度数据的像素的数量的附加子采样来进行更高的压缩。单独使用或与先前描述的用于阿尔法通道的压缩技术结合使用的另一种技术,将包含在编码阿尔法通道中的可用值的数量减少到由编码器(诸如编码器400)最佳选择的值的较小子集。
至少由于上述原因,阿尔法通道的有损压缩通常会导致非常明显的压缩伪影,如可能被称为振铃或蚊式噪声的平坦区域中的噪声。为了减轻颜色通道中的伪影,可以在重构通道之后,例如在后置滤波级514,应用去块滤波器。尽管去块滤波器甚至在阿尔法通道中对于块边缘伪影也可能有用,但是它们对于在阿尔法通道中减轻振铃或蚊式噪声可能不是有用的。抖动是当将减少的值集合(例如六个值)用于编码时可以用于减少重构的阿尔法通道中的伪影的另一种技术。即,在重构阿尔法通道之后,可以对既不是最小值(例如0)也不是最大值的值(例如与8位、12位等表示相关联的值)应用抖动。抖动可以使用随机或固定模式来扰动初始值,从而在阿尔法平面中产生平滑梯度。所述平滑梯度比原始的高度压缩的阿尔法平面在视觉上更令人愉悦。
虽然抖动可以是用于减少显带的有用技术,但对于振铃或蚊式伪影而言,不是太成功。需要特定于阿尔法通道的后处理滤波器。从图6开始描述适合于阿尔法通道后处理的双边滤波器。
图6是根据本公开的实施方式的使用阿尔法通道后处理进行转码的技术或方法600的流程图。方法600可以实施图像转码,例如解码。方法600可以被实施为例如可以由例如图2的计算和通信设备100A、100B、100C的计算设备之一的计算和通信设备所执行的软件程序。软件程序可以包括机器可读指令,所述机器可读指令可以存储在例如图1的存储器110的存储器中,并且当由例如图1的处理器120的处理器执行时可以使计算和通信设备执行方法600。在示例中,媒体数据是可以由解码器(诸如图4的编码器400的重构环路或图5的解码器)转码的图像。方法600可以至少部分地实施在后置滤波级514中。方法600可以使用专用硬件或固件来实施。可以使用多个处理器、存储器或两者。
在602,可以从编码比特流确定或识别图像解码的至少一部分。虽然在图6中未明确示出,但是所述确定可以包括获得(诸如经由诸如图2所示的网络220之类的有线或无线电子通信介质来接收、或者从电子数据存储介质(诸如图1中所示的存储器110)读取)压缩比特流(诸如压缩比特流420)。该部分可以包括当前块或其它图像部分,诸如图3中所示的块340。该部分可以对应于在编码图像的包括相应颜色平面数据的一个或多个颜色通道、包括阿尔法平面数据的阿尔法通道、或两者内的相应块。
在604处,从比特流的多个颜色通道解码用于所述编码图像的颜色通道值。可以根据与用于对颜色通道内的图像部分进行编码的编码过程相对应的解码过程,对用于表示图像部分(例如,块)的每个颜色通道分开地进行解码。例如,可以通过对用于块的颜色通道数据(例如,压缩的残差数据)进行熵解码、对熵解码值进行去量化、对去量化后的值进行逆变换以获得残差、生成用于编码所述块的帧间或帧内的预测块、以及通过将残差与预测块相组合来重构所述块的颜色通道值,来解码用于通道的颜色通道值,例如关于图5的解码器500所描述的。在该示例中,颜色通道被有损编码,但是本文的教导同样适用于颜色通道被无损编码的情况。
在一些实施方式中,参考第一颜色空间来表示颜色通道值。结果,比特流的多个颜色通道可以对应于第一颜色空间。例如,对颜色通道值进行解码可以包括:基于来自第一颜色通道的亮度分量(Y)以及来自相应的第二和第三色度分量的两个色度分量(U和V或Cb和Cr),对在颜色模型中表示的颜色通道值进行解码。因此,解码的颜色通道值可以包括亮度通道值、第一色度通道值和第二色度通道值。虽然可以将YUV或YCbCr颜色模型或颜色空间可以用作第一颜色空间(例如,用于压缩的颜色空间或已压缩的颜色空间),但是可以将其它颜色空间用作第一颜色空间。
在606处,从比特流的阿尔法通道对编码图像的阿尔法通道值进行解码。类似于颜色通道,可以根据与用于对在阿尔法通道中的图像部分进行编码的编码过程相对应的解码过程,来分别解码用于表示图像部分(例如,块)的阿尔法通道的数据。例如,可以通过对块的阿尔法通道数据(例如,压缩的残差数据)进行熵解码、对熵解码值进行去量化、对去量化后的值进行逆变换以获得残差、生成用于编码所述块的帧间或帧内的预测块、以及通过将残差与预测块相组合来重构所述块的阿尔法通道值,来解码阿尔法通道值,例如关于图5的解码器500所描述的。如先前提及的,附加或其它技术可以用于压缩阿尔法通道,例如减少已编码和随后解码的阿尔法值的数量。
如图6中的虚线所示,可以针对每个通道内的每个编码图像部分,重复在602处确定图像部分、在604处解码颜色通道值以及在608处解码阿尔法通道值。尽管示出为步骤序列,但是例如可以使用并行处理来同时执行对两个或更多个通道的数据的解码,或者可以在进行另一通道的数据之前在604或606处对相应通道的所有编码数据进行解码。
在606处对阿尔法通道值进行解码之后,方法600包括在608处基于用于对阿尔法通道进行编码的压缩水平来确定双边滤波器。例如,阿尔法通道的压缩水平可以通过在所述比特流内的、或者从所述比特流确定的一个或多个编码参数的值来识别,所述一个或多个编码参数与由编码器对阿尔法通道的压缩(例如,相对质量)有关。对双边滤波器的确定可以通过使用诸如解码器500的后置滤波级514的后置滤波级来进行。
在一些实施方式中,可以从用于编码阿尔法通道的阿尔法值的数量来确定压缩水平。例如,并且如上所述,编码阿尔法通道可以包括使用可用阿尔法通道值的减少的(即,适当的)子集。诸如编码器400之类的编码器可以通过形成所述值的不同组合、并且选择适当子集作为将使由原始图像的每个阿尔法值映射到所述组合内的最接近值所产生的误差最小化的那个组合,来最佳地选择所述适当子集的值。
适当子集的大小可以是在编码器处的并且因此在解码器处的固定值。然而,在阿尔法通道的可用值的适当子集的大小可以变化的情况下,可以通过阿尔法值的数量来指示压缩水平,使得较大数量的值与较小数量的值相比指示了更高的编码质量。因此,在8位系统(即256个值)中的6个值的适当子集表示比由8位系统中的10个值的适当子集产生的质量更低的编码阿尔法通道的质量。此外,在8位系统中的6个值的适当子集表示比从10位系统中的6个值的适当子集产生的质量更高的编码阿尔法通道的质量。
在一些实施方式中,可从(例如,从比特流解码的)阿尔法通道的量化器或量化值确定压缩水平。即,阿尔法通道的量化值指示压缩水平。量化值是用于在编码器中(诸如在图4的量化级406中)量化阿尔法通道值的那个值,无论使用多少个阿尔法值表示原始图像数据。较大的量化值表示与由较小量化值产生的质量相比更低的编码阿尔法通道的质量。
在608处确定的双边滤波器可以是基于压缩水平的多个候选双边滤波器中的一个。每个候选滤波器可以与不同压缩水平相关联。例如,在阿尔法通道的量化值指示压缩水平的情况下,第一候选双边滤波器与阿尔法通道的第一量化值相关联,第二候选双边滤波器与阿尔法通道的第二量化值相关联,第一量化值不同于第二量化值,并且第一候选双边滤波器不同于第二候选双边滤波器。
通常,与编码阿尔法通道的较低质量相比,编码阿尔法通道的较高质量与具有较弱强度的双边滤波器相关联。换句话说,编码阿尔法通道的质量越低,通过双边滤波器进行的滤波越强(例如,越大)。编码阿尔法通道的质量越高,通过双边滤波器进行的滤波越弱(例如,越小)。因此,在以上示例中,在第一量化值大于第二量化值的情况下,第一候选双边滤波器具有比第二候选双边滤波器更高的强度。相反,在第一量化值小于第二量化值的情况下,第一候选双边滤波器具有比第二候选双边滤波器更低的强度。
双边滤波器的参数确定其强度。因此,在608处使用压缩水平来确定双边滤波器可以包括通过使用压缩水平来确定或识别双边滤波器的至少一个参数。双边滤波器的参数可以从比特流确定、从编码数据推断出、或其组合。双边滤波器可以包括空间内核和范围内核,并且这些可以被认为是双边滤波器的参数。空间内核或范围内核中的至少一个可以基于用于编码阿尔法通道的压缩水平。
在一些实施方式中,双边滤波器的空间内核包括至少两个候选内核大小的二维(2D)内核。至少两个候选内核大小中的候选内核大小随压缩水平而增加。例如,较小候选内核大小与如由压缩水平的第一值所指示的用于编码阿尔法通道的较高质量相关联,而较大候选内核大小与如由压缩水平的第二值所指示的用于编码阿尔法通道的较低压缩质量相关联。用于压缩水平的第一值和用于压缩水平的第二值可以是阿尔法通道的不同量化值,或者可以是用于指示压缩水平的另一编码参数的不同值。
可以参考图7A和图7B来说明空间内核。图7A是用于阿尔法通道后处理的双边滤波器的空间内核的第一示例,而图7B是用于阿尔法通道后处理的双边滤波器的空间内核的第二示例。在这些示例中,空间内核包括以下等式(1)。
exp(-(i2+j2)/(2*半径)) (1)
在等式(1)中,i是距内核中心的水平距离,j是距内核中心的垂直距离,并且半径是确定内核大小的整数。在一些实施方式中,半径是基于压缩水平的整数。例如,半径可以为1或2,使得空间内核的内核大小为3x3或5x5。在图7A的空间内核中,半径为1,产生内核大小为3x3。内核中心包括乘数1。在图7B的空间内核中,半径为2,产生内核大小为5x5。同样,内核中心包括乘数1。
图7A的较小候选内核大小与用于编码阿尔法通道的较低压缩水平(即较高质量)相关联,而图7B的较大候选内核大小与用于编码阿尔法通道的较高压缩水平(即较低质量)相关联。假设例如所述范围内核不随着阿尔法通道的编码参数而改变,即范围内核不取决于压缩水平,两个候选双边滤波器将是可用的,其中一个包括图7A的范围内核和空间内核,而另一个包括图7B的范围内核和空间内核。每个候选双边滤波器可以与量化值范围或其它编码参数相关联,使得适当的候选双边滤波器基于用于编码阿尔法通道的量化值或其它编码参数值来被选择。
在一些实施方式中,双边滤波器的范围内核包括至少两个候选一维(1D)内核。至少两个候选1D内核的平滑(例如强度)水平随着压缩水平的增加而增加。范围内核可以参考图8A至8C来说明。图8A是用于阿尔法通道后处理的双边滤波器的范围内核的第一示例,图8B是用于阿尔法通道后处理的双边滤波器的范围内核的第二示例,以及图8C是用于阿尔法通道后处理的双边滤波器的范围内核的第三示例。在这些示例中,范围内核包括以下等式(2)。
exp(-k2/(2*sigma2)) (2)
在等式(2)中,k在0和两个像素值之间的最大绝对差之间变化。在像素值介于0到255之间的示例中,k的范围是从0到255。此外,在等式(2)中,sigma是为正整数的平滑参数,使得平滑参数的不同值产生具有不同平滑水平的候选一维(1D)内核。在一些实施方式中,sigma包括至少两个值之一,使得范围内核具有至少两个不同平滑水平之一。
在图8A的范围内核中,sigma是5。在图8B的范围内核中,sigma是10。最后,在图8C的范围内核中,sigma是20。图8A-8C的范围内核仅示出每个候选1D内核的前9个值。在此示例中,有256个值(对应于阿尔法通道值的8位表示)。与图8B中的用于sigma的较高值相比,图8A中的用于sigma的最小值与用于编码阿尔法通道的较低压缩水平(即较高质量)相关联。类似地,与图8C中的用于sigma的最高值相比,图8B中的用于sigma的较高值与用于编码阿尔法通道的较低压缩水平(即较高质量)相关联。更一般而言,sigma的值越高,内核的滤波强度越高。虽然示出了三个候选范围内核,但可以将更少或更多的候选范围内核与用于sigma的不同值一起使用。
假设例如范围内核不随着阿尔法通道的编码参数而改变,即范围内核不取决于压缩水平,三个候选双边滤波器将是在该示例中可用的,其中一个包括图8A的范围内核和空间内核,第二个包括图8B的范围内核和空间内核,并且第三个包括图8C的范围内核和空间内核。每个候选双边滤波器可以与量化值范围或其它编码参数相关联,使得适当的候选双边滤波器基于用于编码阿尔法通道的量化值或其它编码参数值来被选择。
在本文描述的双边滤波器的一些实施方式中,范围内核和空间内核中的每一个的参数基于编码阿尔法通道的压缩水平。在示例中,在比特流中发送的阿尔法通道的量化水平用于选择用于空间内核的半径的值和用于范围内核的sigma的值两者。即,候选双边滤波器可以由不同内核大小的空间内核与不同平滑强度的范围内核的组合所形成。在空间内核的半径的值可以为1或2、并且范围内核的sigma的值可以为5、10或20的示例中,可以有多达6个候选双边滤波器,每个滤波器与编码阿尔法通道的相应压缩水平相关联。
在一些实施方式中,在608处确定双边滤波器使用了在解码器中的固定决策树和如由阿尔法通道的一个或多个编码参数所指示的编码阿尔法通道的压缩水平。在示例中,可以从具有在从0(最低质量)到100(最高质量)的范围内的值的比特流,读取或者以其它方式确定阿尔法质量因子“q”。阿尔法质量因子“q”可以例如基于阿尔法通道的量化值、被编码到阿尔法通道中的不同阿尔法值的数量、或这些编码参数或其它编码参数的某种组合。决策树可以使用“q”来实施选择过程。在一个非限制性示例中,如果q在50以下,则双边滤波器使用具有半径等于2的空间内核和具有sigma等于20的范围内核。如果q在50与70之间,则双边滤波器使用具有半径等于1的空间内核和具有sigma等于20的范围内核。如果q在70与80之间,则双边滤波器使用具有半径等于1的空间内核和具有sigma等于10的范围内核。如果q在80与100之间,则双边滤波器使用具有半径等于1的空间内核和具有sigma等于5的范围内核。
一旦在608处确定了双边滤波器,方法600就包括在610处通过使用双边滤波器对阿尔法通道值进行后处理。后处理可以使用诸如解码器500的后置滤波级514的后置滤波级来进行。对阿尔法通道值进行后处理可以包括通过使用双边滤波器来对阿尔法通道值进行滤波以获得滤波后的阿尔法通道值。为简单起见,仅作为应用双边滤波器的一个示例,假设由等式(1)定义的空间内核具有等于1的半径,并且由等式(2)定义的范围内核具有等于5的sigma。对于其阿尔法值为100的在坐标(1,1)处的像素,滤波器循环通过在此内核中心周围处于所述空间内核的范围内的所有像素,因此在水平或垂直方向上的距离为1处,这意味着像素(0,0)、(0,1)、(0,2)、(1,0)、(1,1)、(1,2)、(2,0)、(2,1)、(2,2)。对于每个像素,计算权重,该权重是空间内核的权重乘以范围内核的权重。例如,对于坐标(0,0)处的像素,空间权重为0.3678794412。假设像素(0,0)的阿尔法值为102,则与当前像素的差值为2,因此范围权重为0.9231163464。最终权重为0.3678794412*0.9231163464。滤波后像素的新(即滤波后)阿尔法值是其周围像素的加权总和除以权重之和。当与内核中心相邻的像素不可用时,可以在所述计算中使用值0,或者可以使用利用现有相邻像素的填充。其它像素被类似地滤波。
在610处对阿尔法通道值进行后处理以获得滤波后的阿尔法通道值之后,在612处通过使用滤波后的阿尔法通道值和颜色通道值来生成与编码图像相对应的重构图像的至少一部分。在612处生成重构图像的至少一部分可以包括将包括滤波后的阿尔法通道值的阿尔法层与多个颜色层对准,每个颜色层包括相应颜色的解码后的颜色通道值。重构图像可以在614处诸如经由图5中所示的输出流516而被存储或输出,诸如用于呈现或显示给用户。
在一些实施方式中,可以针对所述图像的多个部分分别重复在608处确定双边滤波器、在610处对阿尔法通道值进行后处理、以及在612处生成重构图像的至少一部分(例如,块)。因为用于编码阿尔法通道的参数的值通常在整个图像上共享,所以可以在606处对所有阿尔法通道值进行解码之后,针对整个图像一次执行在608处确定双边滤波器、在610处对阿尔法通道值进行后处理、并在612处生成重构图像的至少一部分。
在604处对颜色通道值进行解码可以可选地包括解码的颜色通道值从第一颜色空间(例如,从YUV颜色空间)到第二颜色空间的颜色空间转换。第二颜色空间可以是RGB颜色空间,其包括红色通道(R)、绿色通道(G)和蓝色通道(B)。因此,解码的颜色通道值可以包括红色通道值、绿色通道值和蓝色通道值。也可以适当地使用其它颜色空间,其可以是视觉上可感知的颜色空间或者可以例如通过使用用户接口130进一步被转换成视觉上可感知的颜色空间以进行显示。颜色通道值可以在转换到第二颜色空间之前被转换到中间颜色空间。第二颜色空间可以是原始图像数据的输入颜色空间。
在一些实施方式中,输入图像可以是预乘图像,其中阿尔法通道(即,透明度)在转换到第一颜色空间(例如YUV)和在该第一颜色空间中进行编码之前被应用于例如红色、绿色和蓝色通道等的输入颜色空间。替代地,输入图像在输入颜色空间中包括未修改的像素值,该像素值在第一颜色空间中被转换为编码图像。
尽管在图6中未明确示出,但是可以使用除双边滤波器之外的其它滤波器来滤波在604处解码的颜色通道值。在示例中,滤波颜色通道值在612处生成重构图像之前使用后处理滤波器来进行。该滤波可以在诸如解码器500的后滤波级514的后置滤波级处进行。在一些实施方式中,后处理滤波器可以是去块滤波器。
通常,双边滤波器可以用作图像的边缘保持和噪声减少的平滑滤波器。但是,在图像压缩中,不希望在后处理中使用它,因为这将平滑颜色通道的细节。在对解压缩后的阿尔法值进行后处理中应用双边滤波器有效减少了通过有损压缩过程而增加的噪声,而没有细节的显著损失。滤波器对视觉质量的影响是如此之大,以至于与在不存在滤波器的情况下将是可接受的时相比,所述滤波器允许使用对阿尔法通道的更积极压缩。可以基于显式参数(即,在比特流中发送的参数)、隐式参数(即,从解码图像推导的那些参数)或两者来调整滤波器的强度,从而可以解决在编码质量中的差异。
图9A是在没有本文所述的阿尔法通道后处理时的重构图像。图9B是图9A的包括本文描述的阿尔法通道后处理的重构图像。如在图9A中可以看到,在图像的平坦区域(例如在字母“g”的左侧以及后续字母的上方和下方)中可见振铃或蚊式伪影。这些伪影由对阿尔法通道的压缩产生。如从图9B中可以看到,所述伪影通过应用本文中的阿尔法通道后处理而实质性减少了。
为了简化说明,将图6的方法600描绘和描述为一系列步骤或操作。然而,根据本公开的步骤或操作可以按各种顺序和/或同时发生。另外,可以使用本文未提出和描述的其他步骤或操作。此外,可能不需要所有说明的步骤或操作来实施根据所公开的主题的方法。
单词“示例”在本文中用于意指用作示例、实例或图示。在本文中被描述为“示例”等等的任何方面或设计不一定被解释为相对于其它方面或设计是优选的或有利的。而是,单词“示例”的使用旨在以具体方式呈现构思。如本申请中所使用的,术语“或”旨在意指包括性“或”而不是排他性“或”。也就是说,除非另外指定或者通过上下文中另外清楚指示,否则陈述“X包括A或B”旨在意指其自然包含性排列中的任一种。也就是说,如果X包括A、X包括B、或者X包括A和B两者,则在上述实例中的任一个下满足“X包括A或B”。此外,除非另外指定或者通过上下文中另外指示为针对单数形式,否则如本申请和所附权利要求中所使用的冠词“一”和“一个”通常应该被解释成意指“一个或多个”。此外,贯穿本公开使用术语“实施例”或术语“一个实施例”或“实施方式”或术语“一个实施方式”不旨在意指同一实施方式,除非被如此描述。术语“确定”和“识别”或其任何变体包括以无论任何方式使用图1或图2中所示的一个或多个设备来选择、明确、计算、查找、接收、确定、建立、获得或以其它方式识别或确定。
此外,为了简化说明,尽管本文的附图和描述可以包括操作或阶段的序列或次序,但是本文公开的方法的要素可以以各种顺序发生和/或同时发生。另外,本文公开的方法的元素可以与本文未明确呈现和描述的其它元素一起出现。此外,根据所公开的主题,可以从方法的实施中省略本文描述的方法的一个或多个要素。
发送计算和通信设备100A或者接收计算和通信设备100B的实施方式(以及存储在其上并且/或者由此执行的算法、方法、指令等)可以用硬件、软件或其任何组合来实现。所述硬件可包括例如计算机、IP核、ASIC、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它适合的电路。在权利要求中,术语“处理器”应该被理解为单独地或相结合地包含上述硬件中的任一个。术语“信号”和“数据”可互换地使用。另外,发送计算和通信设备100A或者接收计算和通信设备100B的各个部分不一定必须被以相同的方式实施。
此外,在一种实施方式中,例如,可使用计算机程序实施发送计算和通信设备100A或者接收计算和通信设备100B,该计算机程序当被执行时执行本文描述的各个方法、算法和/或指令中的任一种。此外或可替代地,例如,可以利用专用计算机/处理器,所述专用计算机/处理器可以包含用于执行本文描述的方法、算法或指令中的任一种的专门硬件。
发送计算和通信设备100A和接收计算和通信设备100B可以例如在实时视频系统中的计算机上实施。可替代地,发送计算和通信设备100A可以在服务器上实施,而接收计算和通信设备100B可以在与服务器分开的设备(例如手持通信设备)上实施。在这种情况下,发送计算和通信设备100A可以通过使用编码器400将内容编码成编码视频信号,并且将编码视频信号发送到通信设备。继而,通信设备然后可以通过使用解码器500对编码视频信号进行解码。可替换地,通信设备可以对在通信设备上本地存储的内容(诸如不由发送计算和通信设备100A发送的内容)进行解码。其它合适的发送计算和通信设备100A以及接收计算和通信设备100B实施方案是可用的。例如,接收计算和通信设备100B可以是通常静止的个人计算机,而不是便携式通信设备,和/或包括编码器400的设备也可以包括解码器500。
此外,本公开的实施现方式的一些或全部可以采取例如可以从计算机可用介质或计算机可读介质访问的计算机程序产品的形式。计算机可用介质或计算机可读介质可以是例如可以有形地包含、存储、通讯或者传输程序以用于由任何处理器使用或者连同任何处理器一起使用的任何设备。介质可以是例如电子、磁、光学、电磁或半导体设备。其它适合的介质也是可用的。已经描述了上述实施方式,以便容易理解本申请并且不限制本申请。相反,本申请旨在涵盖包括在所附权利要求书的范围内的各种修改和等同布置,该范围应被赋予如在法律许可下的最广泛解释,以便包含所有这样的修改和等同布置。

Claims (15)

1.一种通过使用阿尔法通道后处理进行转码的方法,包括:
从比特流的多个颜色通道来解码用于编码图像的颜色通道值;
从所述比特流的阿尔法通道来解码用于所述编码图像的阿尔法通道值;
基于用于编码所述阿尔法通道的压缩水平来确定双边滤波器;
通过使用所述双边滤波器对所述阿尔法通道值进行滤波以获得滤波后的阿尔法通道值,来对所述阿尔法通道值进行后处理;以及
通过使用所述滤波后的阿尔法通道值和所述颜色通道值,来生成与所述编码图像相对应的重构图像的至少一部分。
2.根据权利要求1所述的方法,其中,所述阿尔法通道的量化值指示所述压缩水平。
3.根据权利要求2所述的方法,其中:
所述双边滤波器包括多个候选双边滤波器中的一个;
第一候选双边滤波器与所述阿尔法通道的第一量化值相关联;
第二候选双边滤波器与所述阿尔法通道的第二量化值相关联;
所述第一量化值不同于所述第二量化值;以及
所述第一候选双边滤波器不同于所述第二候选双边滤波器。
4.根据权利要求1所述的方法,其中,所述双边滤波器包括空间内核和范围内核,并且所述空间内核和所述范围内核中的至少一个是基于用于编码所述阿尔法通道的所述压缩水平的。
5.根据权利要求4所述的方法,其中:
所述双边滤波器的所述空间内核包括具有至少两个候选内核大小中的一个候选内核大小的二维内核;以及
所述至少两个候选内核大小中的候选内核大小随着所述压缩水平而增加。
6.根据权利要求4所述的方法,其中:
所述双边滤波器的所述空间内核包括具有两个候选内核大小中的一个候选内核大小的二维内核;
较小的候选内核大小与如由所述压缩水平的第一值所指示的用于编码所述阿尔法通道的较高质量相关联;以及
较大的候选内核大小与如由所述压缩水平的第二值所指示的用于编码所述阿尔法通道的较低质量相关联。
7.根据权利要求4所述的方法,其中:
所述空间内核包括exp(-(i2+j2)/(2*半径));
i是距所述内核中心的水平距离;
j是距所述内核中心的垂直距离;以及
半径是基于所述压缩水平的整数。
8.根据权利要求7所述的方法,其中:
半径为1或2,使得所述空间内核的内核大小为3x3或5x5。
9.根据权利要求4至8中的任一项所述的方法,其中:
所述双边滤波器的所述范围内核包括至少两个候选一维(1D)内核中的一个;以及
所述至少两个候选1D内核的平滑水平随着所述压缩水平的增加而增加。
10.根据权利要求4至8中的任一项所述的方法,其中:
所述范围内核包括exp(-k2/(2*sigma2));
k是在两个像素值之间的绝对差;以及
Sigma是为正整数的平滑参数,使得用于所述平滑参数的不同值产生具有不同平滑水平的候选一维(1D)内核。
11.根据权利要求10所述的方法,其中,sigma包括至少两个值中的一个,使得所述范围内核具有至少两个不同平滑水平中的一个。
12.根据权利要求10所述的方法,其中,sigma为5、10或20。
13.根据权利要求1所述的方法,还包括:
通过使用除双边滤波器以外的颜色通道滤波器,来对所解码的颜色通道值中的至少一些进行滤波。
14.一种包括解码器的装置,所述解码器被配置为执行根据权利要求1至13中的任一项所述的方法。
15.一种用于通过使用阿尔法通道后处理来进行转码的装置,包括:
处理器;和
存储指令的存储器,所述指令在被执行时使所述处理器执行根据权利要求1至13中的任一项所述的方法。
CN202110627284.7A 2020-07-07 2021-06-04 在图像转码中的阿尔法通道后处理 Pending CN113382264A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20305775.7 2020-07-07
EP20305775.7A EP3937492A1 (en) 2020-07-07 2020-07-07 Alpha channel post processing in image coding

Publications (1)

Publication Number Publication Date
CN113382264A true CN113382264A (zh) 2021-09-10

Family

ID=71944036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110627284.7A Pending CN113382264A (zh) 2020-07-07 2021-06-04 在图像转码中的阿尔法通道后处理

Country Status (3)

Country Link
US (1) US20220014792A1 (zh)
EP (1) EP3937492A1 (zh)
CN (1) CN113382264A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571850A2 (en) * 2004-03-05 2005-09-07 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding image containing grayscale alpha channel image
US7190373B1 (en) * 2000-03-10 2007-03-13 Paul Anthony John Nolan Alpha channel filter
CN104025589A (zh) * 2011-11-03 2014-09-03 汤姆逊许可公司 基于图像细化的视频编码和解码
US20140293096A1 (en) * 2013-03-26 2014-10-02 Futurewei Technologies, Inc. Bilateral Denoising for Digital Camera Images
CN104365098A (zh) * 2012-06-01 2015-02-18 阿尔卡特朗讯公司 用于视频流编码的方法与装置
US20160248989A1 (en) * 2015-02-24 2016-08-25 Newtek, Inc. Method and Apparatus for Adaptively Mixing Video Source Signals
CN107871303A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种图像处理方法及装置
CN110163874A (zh) * 2019-05-21 2019-08-23 北部湾大学 基于同质区域分割的双边滤波算法
WO2019228481A1 (en) * 2018-05-30 2019-12-05 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for image processing
CN110855995A (zh) * 2018-08-21 2020-02-28 北京字节跳动网络技术有限公司 双边滤波器的映射改进

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2512658B (en) * 2013-04-05 2020-04-01 British Broadcasting Corp Transmitting and receiving a composite image
GB2512657A (en) * 2013-04-05 2014-10-08 British Broadcasting Corp Transmitting and receiving a composite image

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190373B1 (en) * 2000-03-10 2007-03-13 Paul Anthony John Nolan Alpha channel filter
EP1571850A2 (en) * 2004-03-05 2005-09-07 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding image containing grayscale alpha channel image
CN104025589A (zh) * 2011-11-03 2014-09-03 汤姆逊许可公司 基于图像细化的视频编码和解码
CN104365098A (zh) * 2012-06-01 2015-02-18 阿尔卡特朗讯公司 用于视频流编码的方法与装置
US20140293096A1 (en) * 2013-03-26 2014-10-02 Futurewei Technologies, Inc. Bilateral Denoising for Digital Camera Images
US20160248989A1 (en) * 2015-02-24 2016-08-25 Newtek, Inc. Method and Apparatus for Adaptively Mixing Video Source Signals
CN107871303A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种图像处理方法及装置
WO2019228481A1 (en) * 2018-05-30 2019-12-05 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for image processing
CN110855995A (zh) * 2018-08-21 2020-02-28 北京字节跳动网络技术有限公司 双边滤波器的映射改进
CN110163874A (zh) * 2019-05-21 2019-08-23 北部湾大学 基于同质区域分割的双边滤波算法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KUAL N. CHAUDHURY ET AL.: "Fast and Provably Accurate Bilateral Filtering", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》, vol. 25, no. 6 *
冒佳仪: "基于深度图像的虚实遮挡处理系统", 《硕士论文》 *
车丹丹: "图像\\视频特效制作的若干关键技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Also Published As

Publication number Publication date
US20220014792A1 (en) 2022-01-13
EP3937492A1 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
US20220353534A1 (en) Transform Kernel Selection and Entropy Coding
US10009625B2 (en) Low-latency two-pass video coding
US9407915B2 (en) Lossless video coding with sub-frame level optimal quantization values
US9247251B1 (en) Right-edge extension for quad-tree intra-prediction
US20200077122A1 (en) Lossy image compression using palettization of locally mixed colors
CN107302701B (zh) 译码插值滤波器类型
US11765377B2 (en) Alpha channel prediction
EP3571841A1 (en) Dc coefficient sign coding scheme
EP3198555B1 (en) Frequency-domain denoising
US9998753B1 (en) Prediction dependent transform coding
CN107079156B (zh) 用于交替块约束决策模式代码化的方法
US9210424B1 (en) Adaptive prediction block size in video coding
US11924476B2 (en) Restoration in video coding using filtering and subspace projection
US10645418B2 (en) Morphological anti-ringing filter for lossy image compression
US20220014792A1 (en) Alpha channel post processing in image coding
US11234022B2 (en) Iterative IDCT with adaptive non-linear filtering
US20240179352A1 (en) Restoration for video coding with self-guided filtering and subspace projection

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