CN114979711B - 音视频或图像分层压缩方法和装置 - Google Patents

音视频或图像分层压缩方法和装置 Download PDF

Info

Publication number
CN114979711B
CN114979711B CN202110212042.1A CN202110212042A CN114979711B CN 114979711 B CN114979711 B CN 114979711B CN 202110212042 A CN202110212042 A CN 202110212042A CN 114979711 B CN114979711 B CN 114979711B
Authority
CN
China
Prior art keywords
image
audio
entropy
decoding
feature map
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.)
Active
Application number
CN202110212042.1A
Other languages
English (en)
Other versions
CN114979711A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110212042.1A priority Critical patent/CN114979711B/zh
Priority to CN202311236305.8A priority patent/CN117768655A/zh
Priority to JP2023551271A priority patent/JP2024507924A/ja
Priority to EP22758873.8A priority patent/EP4300976A1/en
Priority to PCT/CN2022/077341 priority patent/WO2022179509A1/zh
Publication of CN114979711A publication Critical patent/CN114979711A/zh
Priority to US18/453,933 priority patent/US20230396810A1/en
Application granted granted Critical
Publication of CN114979711B publication Critical patent/CN114979711B/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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供了音视频或图像压缩方法和装置。涉及基于人工智能(AI)的音视频或图像压缩技术领域,具体涉及基于神经网络的音视频或图像压缩技术领域。其中方法包括:将原始音视频或图像经过多层卷积操作变换到特征空间并提取特征空间不同层的特征,输出不同层取整后特征信号利用深层特征信号或熵估计结果预测浅层特征信号的概率分布,并对取整后的特征信号进行熵编码。本申请不同层间的信号相关性得以利用。这样,可以提升音视频或图像压缩性能。

Description

音视频或图像分层压缩方法和装置
技术领域
本发明实施例涉及基于人工智能(AI)的音视频或图像压缩技术领域,尤其涉及一种音视频或图像分层压缩方法及装置。
背景技术
音视频或图像编解码(视频编码和解码)广泛用于数字音视频或图像应用,例如广播数字电视、互联网和移动网络上的音视频或图像传输、音视频聊天和音视频会议等实时会话应用、DVD和蓝光光盘、音视频或图像内容采集和编辑系统以及可携式摄像机的安全应用。
即使在影片较短的情况下也需要对大量的音视频数据进行描述,当数据要在带宽容量受限的网络中发送或以其它方式传输时,这样可能会造成困难。因此,音视频或图像数据通常要先压缩然后在现代电信网络中传输。由于内存资源可能有限,当在存储设备上存储音视频时,音视频或图像的大小也可能成为问题。音视频或图像压缩设备通常在信源侧使用软件和/或硬件,以在传输或存储之前对视频数据进行编码,从而减少用来表示数字音视频或图像所需的数据量。然后,压缩的数据在目的地侧由视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够提高压缩率而几乎不影响音图像质量。
近年来,将深度学习应用于在音视频或图像编解码领域逐渐成为一种趋势。如谷歌已连续几年在CVPR会议上组织CLIC(Challenge on Learned Image Compression)专题竞赛,CLIC专注使用深度神经网络来提升图像的压缩效率,在2020年CLIC中还加入了视频或图像挑战类别。基于竞赛方案的性能评估,当前基于深度学习技术的图像编解码方案的综合压缩效率已经与最新一代视频图像编解码标准VVC(Versatile Video Coding)相当,而且在提升用户感知质量方面有独特优势。
VVC的视频标准制定工作已于2020年6月完成,标准收纳几乎所有能够带来显著压缩效率提升的技术算法。因此沿传统信号处理路径继续研究新型的压缩编码算法在短时间内难以获得大的技术突破。区别于传统图像算法通过人工设计来对图像压缩的各模块进行优化,端到端AI的图像压缩是作为一个整体共同进行优化,因此AI图像压缩方案的压缩效果更好。变分自编码器(Variational Autoencoder,AE)方法是当前AI图像有损压缩技术的主流技术方案。在目前的主流技术方案中,存在着在固定模型的高码率下模型压缩质量趋于平稳的AE极限问题,虽然通过增加算力可以缓解AE极限问题,但是会导致高算力问题。
发明内容
本申请提供一种音视频或图像分层压缩方法和装置,能够提高保证低码率压缩质量的情况下,高码率突破AE极限以及减少模型算力和运行时间。
第一方面,提供了一种音视频或图像的编码方法,包括:对待编码音频或图像经过编码网络获得所述待编码音频或图像的第一输出特征图和所述待编码音频或图像的第二输出特征图;对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图;对所述第二输出特征图经过取整以获得所述待编码音频或图像的第二取整特征图;根据第二熵估计的概率估计结果,对所述第二取整特征图进行熵编码得到第二编码码流;根据所述第二取整特征图或/和所述第二熵估计的概率估计结果,进行第一熵估计的概率估计;根据所述第一熵估计的概率估计结果,对所述第一取整特征图进行熵编码得到第一编码码流。
上述技术方案中,通过根据第二取整特征图或/和第二熵估计的概率估计结果进行第一熵估计的概率估计,使得不同网络间的信号相关性得以利用。这样,可以提升音频或图像压缩性能。
上述技术方案中,根据奈奎斯特采样定律高频信号需要更小感受野,低频信号需要更大感受野。编码网络内的浅层网络对应所述第一编码网络的感受野小,有利于捕获高频信息,编码网络内的深层网络对应待编码信号经过了第一编码网络和第二编码网络,感受野大,有利于捕获低频信号。高低频信息分层传输,高频信息只进行浅层网络计算,能够减小算力。
上述技术方案中,取整操作可以包括向下取整操作,或者采用四舍五入取整操作或者采用向上取整操作。
上述技术方案中,熵估计是用于对取整特征图中的各点进行概率估计,实现模型压缩的码率估计。
上述技术方案中,熵编码方案包括且不限于变长编码和算术编码方式。其中变长编码方案可以包括指数哥伦布编码(Exponential Golomb Codes)、上下文自适应可变长编码(CAVLC);算术编码方式可以包括基于上下文的自适应二进制算术编码(CABAC)。
在一种可能的实现方式中,所述方法还包括:对所述待编码音频或图像经过编码网络获得所述待编码音频或图像的第三输出特征图,以及对所述第三输出特征图取整获得所述待编码音频或图像的第三取整特征图;根据第三熵估计的概率估计结果,对所述第三取整特征图进行熵编码得到第三编码码流。
在一种可能的实现方式中,所述待编码音频或图像的第三熵估计结果和/或所述第三取整特征图作为所述第二熵估计的输入信息。
在一种可能的实现方式中,所述方法还包括:对所述待编码音频或图像经过编码网络获得所述待编码音频或图像的第k输出特征图,以及对所述第k输出特征图取整获得所述待编码音频或图像的第k取整特征图,其中k>3整数。
上述技术方案中,所述第k取整特征图和/或第k熵估计结果作为第n熵估计的输入信息,其中n<=k整数。
在一种可能的实现方式中,所述方法还包括:对所述至少一个取整特征图作为待编码音频或图像的解码网络输入,经过所述解码网络后获得所述待编码音频或图像的重构音频或图像;对待编码音频或图像与所述重构音频或图像的对应像素点求差以获得所述待编码音频或图像的残差图像;根据以下3种信息中的至少一种信息得到待解码音频或图像的无损熵估计的概率估计:
1)所述任意一个或多个熵估计结果;
2)所述任意一个或多个取整特征图;或
3)所述重构音频或图像;
根据所述无损熵估计结果,对所述残差图像进行熵编码以获得所述待编码音频或图像的无损编码码流。
在一种可能的实现方式中,所述任意一个编码网络为单个或多个的卷积网络。
在一种可能的实现方式中,所述第r熵估计的概率估计结果输出为第r取整特征图的均值和方差信息。
在一种可能的实现方式中,所述方法还包括:对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图之前,所述方法还包括:对所述第一输出特征图中的像素点的像素值与第一熵估计输出的均值相减得到第一偏移特征图。对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图包括:对所述第一偏移特征图经过取整以获得所述待编码音频或图像的所述第一取整特征图。
应理解,上一种可能的实现方式也可能应用于任意一个取整特征图的获得方式。
应理解,对上述图像压缩方法可以应用在神经网络的训练阶段,或者也可以应用在神经网络的推理阶段,本申请对此不做具体限定。
应理解,将待编码音频或图像经过编码网络操作变换到了特征空间,通过多个编码网络所对应的多个输出特征图从而提取到了特征空间中不同层的特征用来压缩,例如1,2,…,n层或者其中若干层,1,2,…,n层特征频率依次降低,另外用来压缩的特征层数可变,每层的特征通道数可变,以达到动态调整压缩能力。
第二方面,提供了一种音频或图像的解码方法,包括:获取待解码音频或图像的第一待解码码流;获取待解码音频或图像的第二待解码码流;根据所述待解码音频或图像的第二熵估计的概率估计结果,对所述解码图像的第二解码码流进行熵解码获得所述待解码音频或图像的第二解码特征图;根据所述第二特征图或/和所述第二熵估计的概率估计结果,对第一熵估计进行概率估计以获得第一熵估计的概率估计结果;根据所述第一熵估计的概率估计结果,对所述第一解码码流进行熵解码获得所述待解码音频或图像的第一解码特征图;所述第一解码特征图或/和所述第二解码特征图作为解码网络的输入,输出所述待解码音频或图像的重构音频或图像。
上述技术方案中,通过根据第二解码特征图或/和第二熵估计的概率估计结果进行第一熵估计的概率估计,使得特征空间中不同层间的信号相关性得以利用。这样,可以提升图像压缩性能。
上述技术方案中,解码过程的熵估计是用于对解码特征图中的各点进行概率估计,实现模型压缩的码率估计。
上述技术方案中,熵解码方案包括且不限于变长解码和算术解码方式。其中变长解码方案可以包括指数哥伦布解码(Exponential Golomb Codes)、上下文自适应可变长解码(CAVLC);算术解码方式可以包括基于上下文的自适应二进制算术解码(CABAC)。
在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的第三待解码码流;根据所述待解码音频或图像的第三熵估计的概率估计结果,对所述第三待解码码流进行熵解码获得所述待解码音频或图像的第三解码特征图,根据所述第三解码特征图或/和所述第三熵估计的概率估计结果,进行待解码音频或图像的第二熵估计的概率估计;所述输出所述待解码音频或图像的重构音频或图像具体包括:根据所述第一解码特征图、第二解码特征图以及所述第三解码特征图中的至少一种解码特征图作为解码网络的输入,所述解码网络输出所述待解码音频或图像的重构音频或图像。
在一种可能的实现方式中,根据所述第三解码特征图或/和所述第三熵估计的概率估计结果,进行待解码音频或图像的第二熵估计的概率估计。
在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的第m待解码码流;根据所述待解码音频或图像的第m熵估计的概率估计结果,对所述第m待解码码流进行熵解码获得所述待解码音频或图像的第m解码特征图,其中m>3整数。
在上述可能的实现方式中,所述第m解码特征图作为第t熵估计的输入信息,其中t<=m整数。
在一种可能的实现方式中,所述方法还包括:获取待解码音频或图像的无损待解码码流;根据以下3种信息中的至少一种信息得到待解码音频或图像的无损熵估计的概率估计结果。
1)所述至少一个解码特征图;
2)所述至少一个熵估计的概率估计结果;或
3)所述待解码音频或图像的重构音频或图像;
根据所述待解码音频或图像的无损熵估计的概率估计结果,对所述无损待解码码流进行熵解码获得所述待解码音频或图像的残差图像;对所述待解码音频或图像的重构音频或图像与所述待解码音频或图像的残差图像的对应像素点求和以获得所述待解码音频或图像的无损重构音频或图像。
在一种可能的实现方式中,所述方法还包括:当所述第一解码特征图作为解码网络的输入,对所述第一解码特征图中的像素点的像素值与第一熵估计输出的均值相加得到第一解码特征图。
应理解,上一种可能的实现方式也可能应用于任意一个解码特征图的获得方式。
应理解,对上述图像压缩方法可以应用在神经网络的训练阶段,或者也可以应用在神经网络的推理阶段,本申请对此不做具体限定。
由于采用了分层解码方案,一方面不同层提取不同频率分量的特征信息,从而对不同层的熵解码更有针对性和有效,有利于信号的压缩和编码性能的提升。另一方面,利用了层间特征信号的相关性,也有利于熵估计实现。这两方面因素保障了在低码率情况,即只利用少量分层解码特征进行重构输出也能保障压缩质量。同样的,这两方面使得在高码率情况,即利用更多的分层解码特征进行重构输出能进一步的提升压缩质量,突破AE极限。由于采用了分层结构,能够根据实际需求采用分层解码方案。当采用解码网络浅层输出,得到解码特征所需要的解码网络中的网络层数更少,从而减少了模型算力和运行时间。
第三方面,提供了一种音频或图像压缩处理装置,包括:
编码网络模块,将待编码音频或图像经过编码网络操作变换到了特征空间,通过多个编码网络所对应的多个输出特征图从而提取到了特征空间中不同层的特征用来压缩,例如1,2,…,n层或者其中若干层,1,2,…,n层特征频率依次降低,另外用来压缩的特征层数可变,每层的特征通道数可变,以达到动态调整压缩能力。
取整模块,用于将输出特征图中的各点取整为整数以便后续编码;
熵估计网络模块:用于对取整特征图中的各点进行概率估计,实现模型压缩的码率估计;
熵编解码模块,利用熵估计模型得到的概率分布,对多个取整特征图进行熵编码得到多个编码码流,降低了输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量。对编码码流进行解码得到各解码特征图;
解码网络模块,用于对解码特征图进行反变换,将解码特征图解析为音频或图像。
上述编码网络模块、取整模块和熵估计网络模块、熵编解码模块、解码网络模块的进一步实现功能可以参考第一、二方面或者第一、二方面的任意一种实现方式,此处不再赘述。
第四方面,本申请提供一种编码器,包括处理电路,用于执行根据上述第一方面及第一方面任一项所述的方法。
第五方面,本申请提供一种解码器,包括处理电路,用于执行上述第二方面及第二方面任一项所述的方法。
第六方面,本申请提供一种计算机程序产品,包括程序代码,当其在计算机或处理器上执行时,用于执行上述第一方面及第一方面任一项、上述第二方面及第二方面任一项所述的方法。
第七方面,本申请提供一种编码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述解码器执行上述第一方面及第一方面任一项所述的方法。
第八方面,本申请提供一种解码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述编码器执行上述第二方面及第二方面任一项所述的方法所述的方法。
第九方面,本申请提供一种非瞬时性计算机可读存储介质,包括程序代码,当其由计算机设备执行时,用于执行上述第一方面及第一方面任一项、上述第二方面及第二方面任一项所述的方法。
第十方面,本发明涉及编码装置,具有实现上述第一方面或第一方面任一项的方法实施例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述编码装置包括:编码网络模块,用于将原始图像经过多层卷积操作变换到特征空间,提取特征空间不同层的特征,用来压缩,例如1,2,…,n层或者其中若干层,1,2,…,n层特征频率依次降低,另外用来压缩的特征层数可变,每层的特征通道数可变,以达到动态调整压缩能力;取整模块,用于将输出特征取整为整数以便后续编码;熵估计网络模块,用于对取整后的取整特征图中的各点进行概率估计,实现模型压缩的码率估计;以及熵编码模块,利用熵估计模型得到的概率分布,对取整特征图进行熵编码,降低输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量。这些模块可以执行上述第一方面或第一方面任一项方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第十方面,本发明涉及解码装置,具有实现上述第二方面或第二方面任一项的方法实施例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述解码装置包括:熵估计网络模块,用于对解码特征图中的各点进行概率估计,实现模型压缩的码率估计;熵解码模块,利用熵估计模型得到的概率分布,对待解码码流进行熵解码得到解码特征图,降低输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量;解码网络模块,用于对压缩特征进行反变换,将解码特征图解析为音频或图像。这些模块可以执行上述第二方面或第二方面任一项方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在现有端到端音频或图像编码主流方案中,存在着在固定模型的高码率下模型压缩质量趋于平稳的AE极限问题,虽然通过增加算力可以缓解AE极限问题,但是会导致高算力问题。本申请增加了特征空间中不同层(不同的特征层)的特征信号传输,且利用了不同层间特征信号的相关性,提高编码质量,突破AE极限。对于特征频率高的特征层所对应的编码或解码网络的算力小,降低了复杂度。根据实际的编码质量要求,可调节压缩特征的层数和通道数,兼容目前的多码率模型,可实现单模型多码率。
附图及以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明、附图以及权利要求中是显而易见的。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1A为用于实现本发明实施例的音视频/图像译码系统示例的框图,其中该系统利用神经网络来编码或解码视频或图像;
图1B为用于实现本发明实施例的音视频/图像译码系统另一示例的框图,其中该视频或图像编码器和/或视频或图像解码器使用神经网络来编码或解码视频或图像;
图1C为用于实现本发明实施例的音视频或图像译码设备示意性框图;
图1D为用于实现本发明实施例的音视频或图像译码装置示意性框图;
图2为用于实现本发明实施例的编码器系统示例框图;
图3A为用于实现本发明实施例的音频或图像编码器的编码网络示例框架;
图3B为用于实现本发明实施例的音频或图像编码器的编码网络输入输出结构;
图4为用于实现本发明实施例的子编码网络示例结构图;
图5为编码网络示例图;
图6A-6B为熵估计单元示例框图;
图7A-7M为熵估计输入示例框图;
图8熵估计网络示例;
图9为用于实现本发明实施例的解码器系统示意框图;
图10A-10B解码熵估计单元框架示意图;
图11解码网络示意框图;
图12解码网络输入结构示意图;
图13为本申请实施例中解码网络结构示例图;
图14A-14C为本申请实施例结构示例;
图15为本申请实施例系统架构示例(无损);
图16为本申请实施例系统架构示例;
图17为本申请实施例系统架构示例(云应用);
图18A-18B为本申请实施例系统架构示例;和
图19为本申请实施例系统架构示例(音频)。
具体实施方式
本申请实施例所涉及的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本申请实施例提供一种基于AI的音视频或图像压缩技术,尤其是提供一种基于神经网络的音视频或图像压缩技术,具体提供一种基于端到端的音频或图像编解码系统。
在图像编码领域,术语“图像(picture)”、或“图片(image)”,可以用作同义词。图像编码(或通常称为编码)包括图像编码和图像解码两部分,其中视频由多个图像所组成,是连续图像的表示方式。音频编码(或通常称为编码)包括音频编码和音频解码两部分。音频或图像编码在源侧执行,通常包括处理(例如,压缩)原始视频图像以减少表示该音频或视频图像所需的数据量(从而更高效存储和/或传输)。音频或图像解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建音频或图像。实施例涉及的音频或图像(或通常称为音频或图像)的“编码”应理解为音频或图像的“编码”或“解码”。编码部分和解码部分也合称为编解码(编码和解码,CODEC)。
在无损音频或图像编码情况下,可以重建原始音频或图像,即重建的音频或图像与原始音频或图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在传统有损图像编码情况下,通过量化等执行进一步压缩,来减少表示音频或视频图像所需的数据量,而解码器侧无法完全重建音频或视频图像,即重建的音频或视频图像的质量比原始音频或视频图像的质量较低或较差。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,/>是输入向量,/>是输出向量,/>是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量/>经过如此简单的操作得到输出向量/>由于DNN层数多,系数W和偏移向量/>的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为/>上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(5)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(6)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
(7)生成式对抗网络
生成式对抗网络(generative adversarial networks,GAN)是一种深度学习模型。该模型中至少包括两个模块:一个模块是生成模型(Generative Model),另一个模块是判别模型(Discriminative Model),通过这两个模块互相博弈学习,从而产生更好的输出。生成模型和判别模型都可以是神经网络,具体可以是深度神经网络,或者卷积神经网络。GAN的基本原理如下:以生成图片的GAN为例,假设有两个网络,G(Generator)和D(Discriminator),其中G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z);D是一个判别网络,用于判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,如果为0,就代表不可能是真实的图片。在对该生成式对抗网络进行训练的过程中,生成网络G的目标就是尽可能生成真实的图片去欺骗判别网络D,而判别网络D的目标就是尽量把G生成的图片和真实的图片区分开来。这样,G和D就构成了一个动态的“博弈”过程,也即“生成式对抗网络”中的“对抗”。最后博弈的结果,在理想的状态下,G可以生成足以“以假乱真”的图片G(z),而D难以判定G生成的图片究竟是不是真实的,即D(G(z))=0.5。这样就得到了一个优异的生成模型G,它可以用来生成图片。
在以下译码系统10的实施例中,编码器20和解码器30根据图1A至图13进行描述。
图1A为示例性译码系统10的示意性框图,例如可以利用本申请技术的音视频或图像译码系统10(或简称为译码系统10)。音视频或图像译码系统10中的视频编码器20(或简称为编码器20)和音视频或图像解码器30(或简称为解码器30)代表可用于根据本申请中描述的各种示例执行各技术的设备等。
如图1A所示,译码系统10包括源设备12,源设备12用于将编码音频或图像等编码音频或图像数据21提供给用于对编码音频或图像数据21进行解码的目的设备14。
源设备12包括编码器20,另外即可选地,可包括音频或图像源16、音频或图像预处理器等预处理器(或预处理单元)18、通信接口(或通信单元)22。
音频或图像源16可包括或可以为任意类型的用于捕获现实世界图像等的音频或图像捕获设备,和/或任意类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器或任意类型的用于获取和/或提供现实世界图像、计算机生成图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像和/或其任意组合(例如增强现实(augmentedreality,AR)图像)的设备。所述音频或图像源可以为存储上述图像中的任意音频或图像的任意类型的内存或存储器。
为了区分预处理器(或预处理单元)18执行的处理,音频或图像(或图像数据)17也可称为原始音频或图像(或原始图像数据)17。
预处理器18用于接收(原始)音频或图像数据17,并对音频或图像数据17进行预处理,得到预处理图像(或预处理图像数据)19。例如,预处理器18执行的预处理可包括修剪、颜色格式转换(例如从RGB转换为YCbCr)、调色或去噪。可以理解的是,预处理单元18可以为可选组件。
音视频或图像编码器(或编码器)20用于接收预处理音频或图像数据19并提供编码音频或图像数据21(下面将根据图2等进一步描述)。
源设备12中的通信接口22可用于:接收编码音频或图像数据21并通过通信信道13向目的设备14等另一设备或任何其它设备发送编码音频或图像数据21(或其它任意处理后的版本),以便存储或直接重建。
目的设备14包括解码器30,另外即可选地,可包括通信接口(或通信单元)28、后处理器(或后处理单元)32和显示设备34。
目的设备14中的通信接口28用于直接从源设备12或从存储设备等任意其它源设备接收编码音频或图像数据21(或其它任意处理后的版本),例如,存储设备为编码音频或图像数据存储设备,并将编码音频或图像数据21提供给解码器30。
通信接口22和通信接口28可用于通过源设备12与目的设备14之间的直连通信链路,例如直接有线或无线连接等,或者通过任意类型的网络,例如有线网络、无线网络或其任意组合、任意类型的私网和公网或其任意类型的组合,发送或接收编码音频或图像数据(或编码数据)21。
例如,通信接口22可用于将编码音频或图像数据21封装为报文等合适的格式,和/或使用任意类型的传输编码或处理来处理所述编码后的音频或图像数据,以便在通信链路或通信网络上进行传输。
通信接口28与通信接口22对应,例如,可用于接收传输数据,并使用任意类型的对应传输解码或处理和/或解封装对传输数据进行处理,得到编码音频或图像数据21。
通信接口22和通信接口28均可配置为如图1A中从源设备12指向目的设备14的对应通信信道13的箭头所指示的单向通信接口,或双向通信接口,并且可用于发送和接收消息等,以建立连接,确认并交换与通信链路和/或例如编码后的图像数据传输等数据传输相关的任何其它信息,等等。
音视频或图像解码器(或解码器)30用于接收编码音频或图像数据21并提供解码音频或图像数据(或解码音频或图像数据)31(下面将根据图4等进一步描述)。
后处理器32用于对解码后的音频或图像等解码音频或图像数据31(也称为重建后的音频或图像数据)进行后处理,得到后处理后的音频或图像等后处理音频或图像数据33。后处理单元32执行的后处理可以包括例如颜色格式转换(例如从YCbCr转换为RGB)、调色、修剪或重采样,或者用于产生供显示设备34等显示的解码音频或图像数据31等任何其它处理。
显示设备34用于接收后处理音频或图像数据33,以向用户或观看者等显示图像。显示设备34可以为或包括任意类型的用于表示重建后音频或图像的播放器或显示器,例如,集成或外部显示屏或显示器。例如,显示屏可包括液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶显示器(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任意类型的其它显示屏。
译码系统10还包括训练引擎25,训练引擎25用于训练编码器20或解码器30以处理(例如处理输入音频或图像或图像区域或图像块以生成输入音频或图像或图像区域或图像块的预测值)。训练数据可以存入数据库(未示意)中,训练引擎25基于训练数据训练得到目标模型(例如:可以是用于音频或图像编码或解码的网络等)。需要说明的是,本申请实施例对于训练数据的来源不做限定,例如可以是从云端或其他地方获取训练数据进行模型训练。
尽管图1A示出了源设备12和目的设备14作为独立的设备,但设备实施例也可以同时包括源设备12和目的设备14或同时包括源设备12和目的设备14的功能,即同时包括源设备12或对应功能和目的设备14或对应功能。在这些实施例中,源设备12或对应功能和目的设备14或对应功能可以使用相同硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
根据描述,图1A所示的源设备12和/或目的设备14中的不同单元或功能的存在和(准确)划分可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。
编码器20(例如音视频或图像编码器20)或解码器30(例如音视频或图像解码器30)或两者都可通过如图1B所示的处理电路实现,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件、音视频或图像编码专用处理器或其任意组合。编码器20可以通过处理电路46实现,以包含参照图2编码器20论述的各种模块和/或本文描述的任何其它编码器系统或子系统。解码器30可以通过处理电路46实现,以包含参照图4解码器30论述的各种模块和/或本文描述的任何其它解码器系统或子系统。所述处理电路46可用于执行下文论述的各种操作。如图7所示,如果部分技术在软件中实施,则设备可以将软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且使用一个或多个处理器在硬件中执行指令,从而执行本发明技术。音视频或图像编码器20和视频或图像解码器30中的其中一个可作为组合编解码器(encoder/decoder,CODEC)的一部分集成在单个设备中,如图1B所示。
源设备12和目的设备14可包括各种设备中的任一种,包括任意类型的手持设备或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板或平板电脑、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备(例如,内容业务服务器或内容分发服务器)、广播接收设备、广播发射设备,等等,并可以不使用或使用任意类型的操作系统。在一些情况下,源设备12和目的设备14可配备用于无线通信的组件。因此,源设备12和目的设备14可以是无线通信设备。
在一些情况下,图1A所示的音视频或图像译码系统10仅仅是示例性的,本申请提供的技术可适用于音视频或图像编码设置(例如,音视频或图像编码或视频或图像解码),这些设置不一定包括编码设备与解码设备之间的任何数据通信。在其它示例中,数据从本地存储器中检索,通过网络发送,等等。音视频或图像编码设备可以对数据进行编码并将数据存储到存储器中,和/或音视频或图像解码设备可以从存储器中检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是编码数据到存储器和/或从存储器中检索并解码数据的设备来执行。
图1B是根据一示例性实施例包含图1A的音视频或图像编码器20和/或图1B的音视频或图像解码器30的视频或图像译码系统40的实例的说明图。音视频或图像译码系统40可以包含成像设备41、音视频或图像编码器20、音视频或图像解码器30(和/或藉由处理电路46实施的音视频或图像编/解码器)、天线42、一个或多个处理器43、一个或多个内存存储器44和/或显示设备45。
如图1B所示,成像设备41、天线42、处理电路46、音视频或图像编码器20、音视频或图像解码器30、处理器43、内存存储器44和/或显示设备45能够互相通信。在不同实例中,音视频或图像译码系统40可以只包含音视频或图像编码器20或只包含音视频或图像解码器30。
在一些实例中,天线42可以用于传输或接收音视频或图像数据的经编码比特流。另外,在一些实例中,显示设备45可以用于呈现音视频或图像数据。处理电路46可以包含专用集成电路(application-specific integratedcircuit,ASIC)逻辑、图形处理器、通用处理器等。音视频或图像译码系统40也可以包含可选的处理器43,该可选处理器43类似地可以包含专用集成电路(application-specific integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。另外,内存存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(static random access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性实例中,内存存储器44可以由超速缓存内存实施。在其它实例中,处理电路46可以包含存储器(例如,缓存等)用于实施图像缓冲器等。
在一些实例中,通过逻辑电路实施的音视频或图像编码器20可以包含(例如,通过处理电路46或内存存储器44实施的)音频或图像缓冲器和(例如,通过处理电路46实施的)音频或图形处理单元。音频或图形处理单元可以通信耦合至图像缓冲器。音频或图形处理单元可以包含通过处理电路46实施的音视频或图像编码器20,以实施参照图2和/或本文中所描述的任何其它编码器系统或子系统所论述的各种模块。逻辑电路可以用于执行本文所论述的各种操作。
在一些实例中,音视频或图像解码器30可以以类似方式通过处理电路46实施,以实施参照图1B的音视频或图像解码器30和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。在一些实例中,逻辑电路实施的音视频或图像解码器30可以包含(通过处理电路46或内存存储器44实施的)音频或图像缓冲器和(例如,通过处理电路46实施的)音频或图形处理单元。音频或图形处理单元可以通信耦合至图像缓冲器。音频或图形处理单元可以包含通过处理电路46实施的音视频或图像解码器30,以实施参照图4和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。
在一些实例中,天线42可以用于接收音视频或图像数据的经编码比特流。如所论述,经编码比特流可以包含本文所论述的与编码音频或视频帧相关的数据、指示符、索引值、模式选择数据等,例如与编码分割相关的数据(例如,变换系数或经量化变换系数,(如所论述的)可选指示符,和/或定义编码分割的数据)。音视频或图像译码系统40还可包含耦合至天线42并用于解码经编码比特流的视频或图像解码器30。显示设备45用于呈现视频帧。
应理解,本申请实施例中对于参考音视频或图像编码器20所描述的实例,音视频或图像解码器30可以用于执行相反过程。关于信令语法元素,音视频或图像解码器30可以用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,音视频或图像编码器20可以将语法元素熵编码成经编码比特流。在此类实例中,音视频或图像解码器30可以解析这种语法元素,并相应地解码相关音视频或图像数据。
图1C为本发明实施例提供的音视频或图像译码设备400的示意图。音视频或图像译码设备400适用于实现本文描述的公开实施例。在一个实施例中,音视频或图像译码设备400可以是解码器,例如图1A中的音视频或图像解码器30,也可以是编码器,例如图1A中的音视频或图像编码器20。
音视频或图像译码设备400包括:用于接收数据的入端口410(或输入端口410)和接收单元(receiver unit,Rx)420;用于处理数据的处理器、逻辑单元或中央处理器(central processing unit,CPU)430;例如,这里的处理器430可以是神经网络处理器430;用于传输数据的发送单元(transmitter unit,Tx)440和出端口450(或输出端口450);用于存储数据的存储器460。音视频或图像译码设备400还可包括耦合到入端口410、接收单元420、发送单元440和出端口450的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可实现为一个或多个处理器芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470(例如,基于神经网络NN的译码模块470)。译码模块470实施上文所公开的实施例。例如,译码模块470执行、处理、准备或提供各种编码操作。因此,通过译码模块470为音视频或图像译码设备400的功能提供了实质性的改进,并且影响了音视频或图像译码设备400到不同状态的切换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择执行程序时存储此类程序,并且存储在程序执行过程中读取的指令和数据。存储器460可以是易失性和/或非易失性的,可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图1D为示例性实施例提供的装置500的简化框图,装置500可用作图1A中的源设备12和目的设备14中的任一个或两个。
装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后将研发出的能够操控或处理信息的任何其它类型设备或多个设备。虽然可以使用如图所示的处理器502等单个处理器来实施已公开的实现方式,但使用一个以上的处理器速度更快和效率更高。
在一种实现方式中,装置500中的存储器504可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括允许处理器502执行本文所述方法的至少一个程序。例如,应用程序510可以包括应用1至N,还包括执行本文所述方法的音视频或图像译码应用。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与可用于感测触摸输入的触敏元件组合的触敏显示器。显示器518可以通过总线512耦合到处理器502。
虽然装置500中的总线512在本文中描述为单个总线,但是总线512可以包括多个总线。此外,辅助储存器可以直接耦合到装置500的其它组件或通过网络访问,并且可以包括存储卡等单个集成单元或多个存储卡等多个单元。因此,装置500可以具有各种各样的配置。
编码器和编码方法
图2为用于实现本申请技术的一种音视频或图像编码器20的示例的示意性框图。在图2的示例中,音视频或图像编码器20包括输入端(或输入接口)202、编码网络204、取整206、熵编码208、熵估计210和输出端(或输出接口)212。图2所示的音视频编码器20也可称端到端音频或图像编码器或基于端到端音频或图像编解码器的音频或图像编码器。
编码器20可用于通过输入端202等接收音频或图像(或音频或图像数据)17,例如,形成音视频或视频序列的音频或图像。接收的音频或图像、音频或图像数据也可以是预处理后的音频或图像(或预处理后的音频或图像数据)19。为简单起见,以下描述使用音频或图像17。音频或图像17也可称为当前音频或图像或待编码的音频或图像(尤其是在音视频编码中将当前音频或图像与其它音频区分开时,其它音频或图像例如同一音频或视频序列,即也包括当前音频或图像的音频或视频序列中的之前编码后音频或图像和/或解码后音频或图像)。
(数字)图像为或可以视为具有强度值的像素点组成的二维阵列或矩阵。阵列中的像素点也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像在水平方向和垂直方向(或轴线)上的像素点数量决定了图像的大小和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图像可以表示为或包括三个像素点阵列。在RBG格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点阵列。但是,在视频或图像编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如YCbCr,包括Y指示的亮度分量(有时也用L表示)以及Cb、Cr表示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图像中两者相同),而两个色度(chrominance,简写为chroma)分量Cb和Cr表示色度或颜色信息分量。相应地,YCbCr格式的图像包括亮度像素点值(Y)的亮度像素点阵列和色度值(Cb和Cr)的两个色度像素点阵列。RGB格式的图像可以转换或变换为YCbCr格式,反之亦然,该过程也称为颜色变换或转换。如果图像是黑白的,则该图像可以只包括亮度像素点阵列。相应地,图像可以为例如单色格式的亮度像素点阵列或4:2:0、4:2:2和4:4:4彩色格式的亮度像素点阵列和两个相应的色度像素点阵列。
在一个可能性中,视频或图像编码器20的实施例可包括图像分割单元(图1A或图1B中未示出),用于将图像17分割成多个(通常不重叠)图像块203。这些块在H.265/HEVC和VVC标准中也可以称为根块、宏块(H.264/AVC)或编码树块(Coding Tree Block,CTB),或编码树单元(Coding Tree Unit,CTU)。分割单元可用于对视频序列中的所有图像使用相同的块大小和使用限定块大小的对应网格,或在图像或图像子集或图像组之间改变块大小,并将每个图像分割成对应块。
在另一个可能性中,视频或图像编码器可用于直接接收图像17的块203,例如,组成所述图像17的一个、几个或所有块。图像块203也可以称为当前图像块或待编码图像块。
与图像17一样,图像块203同样是或可认为是具有强度值(像素点值)的像素点组成的二维阵列或矩阵,但是图像块203的比图像17的小。换句话说,块203可包括一个像素点阵列(例如,单色图像17情况下的亮度阵列或彩色图像情况下的亮度阵列或色度阵列)或三个像素点阵列(例如,彩色图像17情况下的一个亮度阵列和两个色度阵列)或根据所采用的颜色格式的任何其它数量和/或类型的阵列。块203的水平方向和垂直方向(或轴线)上的像素点数量限定了块203的大小。相应地,块可以为M×N(M列×N行)个像素点阵列,或M×N个变换系数阵列等。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20用于逐块对图像17进行编码,例如,对每个块203执行编码、取整和熵编码。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20用于对图像17进行编码,例如,对图像17执行编码、量化和熵编码。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20用于对音频数据17进行编码,例如,对音频数据17执行编码、量化和熵编码。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20还可以用于使用片(也称为视频片)分割编码图像,其中图像可以使用一个或多个片(通常为不重叠的)进行分割或编码。每个片可包括一个或多个块(例如,编码树单元CTU)或一个或多个块组(例如H.265/HEVC/VVC标准中的编码区块(tile)和VVC标准中的子图像(subpicture)。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20还可以用于使用片段分割音频,其中音频可以使用一个或多个片段(通常为不重叠的)进行分割或编码。
在另一个可能性中,图1A或图1B或图2所示的音视频或图像编码器20还可以用于使用片/编码区块组(也称为视频编码区块组)和/或编码区块(也称为视频编码区块)对图像进行分割和/或编码,其中图像可以使用一个或多个片/编码区块组(通常为不重叠的)进行分割或编码,每个片/编码区块组可包括一个或多个块(例如CTU)或一个或多个编码区块等,其中每个编码区块可以为矩形等形状,可包括一个或多个完整或部分块(例如CTU)。
编码网络单元204
如图2,编码网络单元204用于通过编码网络根据输入数据203来得到各特征层的输出特征图205。其中编码网络单元输出大于等于两个特征层所对应的至少两个输出特征图205。
在一个可能性中,编码网络单元如图3A所示,编码网络单元包含了K个子编码网络,每个子编码网络对应了所在的特征层以及对应的输出特征图。此时有K个输出特征图输出,其中K>=2。
在一个可能性中,编码网络输入为待编码音频或图像或待编码音频片段或图像块。
在一个可能性中,编码网络204中的编码网络的输入输出结构如图3B所示,编码网络单元由T个网络层所构成,其中M、L、T、K为正整数。第M输出特征图与第K输出特征图均为编码网络的输出,且编码网络输出的第K输出特征图为编码网络单元的网络层L后输出,第M输出特征图在网络层T后输出。可以理解,可以有多个输出特征图在编码网络单元中的不同网络层位置后输出,此处不做限定。
其中图3B中的任意一网络层可以为卷积层、归一化层、非线性激活层等。
在一个可能性中,编码网络204网络中图3A所对应的各子编码网络结构可以互为相同或者不同,第M和第N子编码网络的网络结构如图4所示。其中第M子编码网络的网络层1和第N子编码网络中的任意一网络层结构可以互不相同,且L和P可以相同或不同,L和P均为大于0的正整数。
在一个可能性中,编码网络204网络中的任意一子编码网络的网络结构示例如图5所示,可见示例中第N子编码网络包含了5个网络层,具体包括了一个归一化层、两个卷积层以及两个非线性激活层。
取整单元206
取整单元206用于通过例如标量量化或矢量量化对输出特征图205进行取整,得到取整特征图207。
在一个可能性中,音视频或图像编码器20(对应地,取整单元206)可用于输出取整参数(quantization parameter,QP),例如,直接输出或由熵编码单元270进行编码或压缩后输出,例如使得音视频解码器30可接收并使用量化参数进行解码。
如图6A所示,对N个特征层的输出特征图均进行取整操作,输出N个取整特征图,其中N为大于1的正整数。
在一个可能性中,输出特征图在进行取整前进行预处理,包括输出特征图中的像素点的像素值与熵估计输出的均值相减得到偏移特征图,对获得的偏移特征图取整得到取整特征图。
熵编码单元208
熵编码单元208用于将熵编码算法或方案(例如,可变长度编码(variable lengthcoding,VLC)方案、上下文自适应VLC方案(context adaptive VLC,CALVC)、算术编码方案、二值化算法、上下文自适应二进制算术编码(context adaptive binary arithmeticcoding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probability intervalpartitioning entropy,PIPE)编码或其它熵编码方法或技术)应用于至少两个特征层中的取整特征图,得到可以通过输出端212以编码比特流21等形式输出的编码音频或图像数据21,使得视频解码器30等可以接收并使用用于解码的参数。可将编码比特流21传输到视频解码器30,或将其保存在存储器中稍后由视频解码器30传输或检索。
在一个可能性中,熵编码由于不知道取整特征图的真实的字符概率,所以有需要可以统计这些或相关的信息添加至熵编码模块中,可以把这些信息传到解码端。
熵估计单元210
如图6A所示,熵估计单元210用于对取整特征图进行概率估计,以实现模型压缩的码率估计。其中虚线输入为可选输入。熵估计单元210对应了N个特征层所对应的N个熵估计模块。
如图6B所示,熵估计单元210用于对取整特征图进行概率估计,以实现模型压缩的码率估计。其中虚线输入为可选输入。熵估计单元210对应了N个特征层所对应的N个熵估计模块以及残差层所对应的无损熵估计模块。
在一种可能性中,如图7A所示,编码器中的第P熵估计结果作为第L熵估计的输入,其中L、P为正整数且L<P。
在另一种可能性中,编码器中的多个熵估计结果作为第L熵估计的输入,且多个熵估计中每个熵估计模块所对应的特征层序号均大于L,其中L为正整数。如图7B所示为例,L/I/T/K均为正整数且L<I,L<T,L<K。
在一种可能性中,如图7C所示,编码器中的第P取整特征图作为第L熵估计的输入,其中L、P为正整数且L<=P。
在另一种可能性中,编码器中的多个取整特征图作为第L熵估计的输入,且多个取整模块中每个取整模块所对应的特征层序号均大于L,其中L为正整数。如图7D所示为例,L/I/T/K均为正整数且L<=I,L<=T,L<K。
在一种可能性中,编码器中的至少一个取整特征图和至少一个熵估计结果作为第L熵估计的输入,其中L为正整数。其中作为第L熵估计的输入的取整特征图所对应的特征层序号大于等于L,作为第L熵估计的输入的熵估计结果所对应的特征层序号均大于L。如图7E所示为例,L/I/T/K均为正整数且L<=I,L<=T,L<K。
在一种可能性中,如图7F所示,编码器中的第P熵估计结果作为无损熵估计的输入,其P为正整数。
在另一种可能性中,编码器中的多个熵估计结果作为无损熵估计的输入。如图7G所示为例,I/T/K均为正整数。
在一种可能性中,如图7H所示,编码器中的第P取整特征图作为无损熵估计的输入,其P为正整数。
在另一种可能性中,编码器中的多个取整特征图作为无损熵估计的输入,如图7I所示为例,I/T/K均为正整数。
在一种可能性中,编码器中的至少一个取整特征图和至少一个熵估计结果作为无损熵估计的输入。如图7J所示为例,I/T/K均为正整数。
在一种可能性中,编码器中的至少一个取整特征图和重构音频或图像作为无损熵估计的输入。如图7K所示为例,I/T均为正整数。
在一种可能性中,编码器中的至少一个熵估计结果和重构音频或图像作为无损熵估计的输入。如图7L所示为例,I/T均为正整数。
在一种可能性中,编码器中的至少一个熵估计结果和重构音频或图像以及至少一个取整特征图作为无损熵估计的输入。如图7M所示为例,I/T/P均为正整数。
在一种可能性中,熵估计网络为卷积网络,卷积网络中包括了卷积层和非线性激活层。可见图8示例中熵估计网络中包含了5个网络层,具体包括了三个卷积层以及两个非线性激活层。
解码器和解码方法
图1A-1B示出了用于实现本申请技术的示例性音视频或图像解码器30。如图9所示,音视频或图像解码器30用于接收例如由编码器20编码的编码音频或图像数据21(例如编码比特流21),得到解码音频或图像308。编码图像数据或比特流包括用于解码所述编码图像数据的信息,例如表示编码视频片(和/或编码区块组或编码区块)的图像块的数据和相关的语法元素。在图9的示例中,解码器30包括熵估计单元304、熵解码单元306和解码网络单元308。
熵估计单元304
如图10A所示,熵估计单元304用于对解码特征图进行概率估计。其中虚线输入为可选输入。熵估计单元304对应了N个特征层所对应的N个熵估计模块。
如图10B所示,熵估计单元304用于对解码特征图进行概率估计,以实现模型压缩的码率估计。其中虚线输入为可选输入。熵估计单元304对应了N个特征层所对应的N个熵估计模块以及残差层所对应的无损熵估计模块。
在一种可能性中,如图7A所示,解码器中的第P熵估计结果作为第L熵估计的输入,其中L、P为正整数且L<P。
在另一种可能性中,解码器中的多个熵估计结果作为第L熵估计的输入,且多个熵估计中每个熵估计模块所对应的特征层序号均大于L,其中L为正整数。如图7B所示为例,L/I/T/K均为正整数且L<I,L<T,L<K。
在一种可能性中,解码器中的第P解码特征图作为第L熵估计的输入,其中L、P为正整数且L<=P。
在另一种可能性中,解码器中的多个解码特征图作为第L熵估计的输入,且多个熵解码模块所对应的特征层序号均大于L,其中L为正整数。
在一种可能性中,解码器中的至少一个解码特征图和至少一个熵估计结果作为第L熵估计的输入,其中L为正整数。其中作为第L熵估计的输入的解码特征图所对应的特征层序号大于等于L,作为第L熵估计的输入的熵估计结果所对应的特征层序号均大于L。
在一种可能性中,如图7F所示,解码器中的第P熵估计结果作为无损熵估计的输入,其P为正整数。
在另一种可能性中,解码器中的多个熵估计结果作为无损熵估计的输入。如图7G所示为例,I/T/K均为正整数。
在一种可能性中,解码器中的第P解码特征图作为无损熵估计的输入,其中P为正整数。
在另一种可能性中,解码器中的多个解码特征图作为无损熵估计的输入。
在一种可能性中,解码器中的至少一个解码特征图和至少一个熵估计结果作为无损熵估计的输入。
在一种可能性中,解码器中的至少一个解码特征图和重构音频或图像作为无损熵估计的输入。
在一种可能性中,解码器中的至少一个熵估计结果和重构音频或图像作为无损熵估计的输入。如图7K所示为例,I/T均为正整数。
在一种可能性中,解码器中的至少一个熵估计结果和重构音频或图像以及至少一个解码特征图作为无损熵估计的输入。
在一种可能性中,熵估计为卷积网络,卷积网络中包括了卷积层和非线性激活层。可见图8示例中熵估计网络中包含了5个网络层,具体包括了三个卷积层以及两个非线性激活层。
熵解码单元306
熵解码单元306用于解析比特流21(或一般为编码图像数据21)并对编码音频或图像数据21执行熵解码,得到解码特征图307和/或解码后的编码参数(图11中未示出)等。熵估计单元304可用于应用编码器20的熵编码单元208的编码方案对应的解码算法或方案。
在一个可能性中,如图10A所示,熵解码单元应用于至少两个特征层中所对应的待解码码流。
在一个可能性中,如图10B所示,熵解码单元应用于残差层中所对应的无损待解码码流。
在一个可能性中,熵编码由于不知道取整特征图的真实的字符概率,所以有需要可以统计这些或相关的信息添加至熵编码模块中,可以把这些信息传到解码端。
在一个可能性中,解码器30还可以用于对图像21或图像21中的图像块执行熵解码。
在一个可能性中,解码器30还可以用于对音频21或音频21中的音频片段执行熵解码。
解码网络单元
解码网络306用于将解码特征图307通过解码网络308以在像素域中得到重构音频或图像。
在一个可能性中,如图11所示为N个解码特征图输入解码网络的示意图,其中N大于1。
在一个可能性中,解码特征图在输入解码网络前进行预处理,包括输出特征图中的像素点的像素值与熵估计输出的均值相减得到偏移特征图,对解码特征图中的像素点的像素值与熵估计输出的均值相加得到更新的解码特征图,再将更新的解码特征图输入解码网络。
在一个可能性中,解码网络306中的输入输出结构如图12所示,解码网络306由P个网络层所构成,其中P>L且M、L、T、P均为正整数。其中第T解码特征图为解码网络306的网络层L后输入。第T解码特征图与第M解码特征图均为解码网络的输入,可以理解,可以有多个解码特征图在解码网络单元中的不同网络层位置后作为输入,此处不做限定。
图12中的任意一网络层可以为卷积层、归一化层、非线性激活层等。
在一个可能性中,解码网络306中可以存在包括叠加(concat)、相加、相减等操作。
在一个可能性中,解码网络306中各网络层结构可以互为相同或者不同。
在一个可能性中,解码网络306的结构示例如图13所示,可见示例中解码网络包含了12个网络层,具体包括了一个反归一化层、六个卷积层以及四个非线性激活层。其中m,n,t均为正整数,解码网络输出为解码图像或重构音频或图像。第t解码特征图、第n解码特征图、第m解码特征图均为解码网络的输入,其中t、n、m均为整数。
应理解,在编码器20和解码器30中,可以对当前步骤的处理结果进一步处理,然后输出到下一步骤。例如,在编码器单元或解码器单元之后,可以对编码器单元或解码器单元的处理结果进行进一步的运算或处理,例如裁剪(clip)或移位(shift)运算或滤波处理。
尽管上述实施例主要描述了音视频编解码,但应注意的是,译码系统10、编码器20和解码器30的实施例以及本文描述的其它实施例也可以用于静止图像处理或编解码,即音视频编解码中独立于任何先前或连续图像的单个图像的处理或编解码。音视频编码器20和音视频解码器30的所有其它功能(也称为工具或技术)同样可用于静态图像处理。
图14A示出了本申请的一种可能的系统架构,模型运行步骤如下:
编码端:
步骤1:输入数据通过编码网络输出了N个输出特征图;
步骤2:N个输出特征图经过取整操作得到N个取整特征图;
步骤3:结合熵估计依次(第N至第一顺序)估计各取整特征图的概率并对N个取整特征图进行熵编码,得到N个编码码流。
其中第M取整特征图可以作为第L熵估计的输入,所述L,M,N均为正整数且L>=1,L<M<=N:
其中第P熵估计可以作为第T熵估计的输入,所述T,P,N均为正整数且T>=1,T<P<=N;
解码端:
步骤1:获得N个待解码码流,结合熵估计依次(第N至第一顺序)进行熵解码获得N个解码特征图;
其中第M取整特征图可以作为第L熵估计的输入,所述L,M,N均为正整数且L>=1,L<M<=N:
其中第P熵估计可以作为第T熵估计的输入,所述T,P,N均为正整数且T>=1,T<P<=N;
步骤2:N个输出特征图经过解码网络得到输出数据。
图14B和图14C示出了本申请实施例提供的一种可能的场景下的系统架构700,模型运行步骤如下:
编码端:
步骤1:编码网络模块包括了四个特征层,通过四个子编码网络提取输入图像的四个输出特征图,其中每个编码网络的网络深度、特征层数、每层特征的通道数可变,以达到动态改变模型压缩能力的作用;
步骤2:如图14B所示,取整模块将第一至第四输出特征图取整为第一至第四取整特征图,对应了图14C中的y1,y2,y3,y4;
步骤3:熵估计模块依次估计压缩特征的概率,如图14B所示,第四取整特征图作为第三熵估计的输入,第三取整特征图作为第二熵估计的输入,第二取整特征图作为第一熵估计的输入。对应了图14C所示,用已知概率估计取整特征图y4的概率,用取整特征图y4估计取整特征图y3的概率,用取整特征图y3估计y2的概率,用取整特征图y2估计取整特征图y1的概率;
步骤4:如图14B所示,熵编码模块按照从深层到浅层的顺序,根据第四熵估计结果对第四取整特征图进行熵编码,根据第三熵估计结果对第三取整特征图进行熵编码,根据第二熵估计结果对第二取整特征图进行熵编码,根据第一熵估计结果对第一取整特征图进行熵编码。对应了图14C依次根据取整特征图y4,y3,y2,y1的概率对取整特征图y4,y3,y2,y1进行熵编码生成,用来网络传输或者保存成本地文件。
解码端:
步骤1:如图14B所示,熵估计网络模块根据第四熵估计结果对第四编码码流或第四待解码码流进行解码得到第四解码特征图,对应了图14B中根据已知概率估计y4概率,熵解码模块解码出y4
步骤2:如图14C所示,第三熵估计网络结合第四解码特征图,并对第三编码码流或第三待解码码流进行解码得到第三解码特征图,对应了图14B中用y4估计y3的概率,熵解码模块解码出y3
步骤3:如图14B所示,第二熵估计网络结合第三解码特征图,并对第二编码码流或第二待解码码流进行解码得到第二解码特征图,对应了图14B中用y3估计y2的概率,熵解码模块解码出y2
步骤4:如图14C所示,第一熵估计网络根据第二解码特征图,并对第一编码码流或第一待解码码流进行解码得到第一解码特征图,对应了图14B中用y2估计y1的概率,熵解码模块解码出y1
步骤5:解码网络模块根据解码特征图y4,y3,y2,y1得到重构音频或图像。
该实施例取N=128,不同bpp情况下压缩不同层的特征,具体如下
bpp≤0.5,压缩y4,y3
0.5<bpp≤1,压缩y4,y3,y2
bpp>1,压缩y4,y3,y2,y1
图15示出了本申请实施例提供的另一种可能的场景下的系统架构800,该实施例是一个无损压缩框架。
模型运行步骤如下:
编码端:
步骤1:编码网络模块分特征层提取输入数据x0每一特征层的输出特征图;
步骤2:取整模块将图像各个特征层的输出特征图取整为取整特征图;
步骤3:解码网络根据各特征层的解码特征图得到重构音频或图像x1;
步骤4:编码网络获得输入数据的残差x0-x1;
步骤5:熵估计网络模块按照从底层到浅层(特征层4至特征层1,最后残差层)的顺序依次进行熵估计获得各层的概率估计结果;
步骤6:熵编码模块依次(从底层到浅层)进行熵编码,各层生成的码流用来网络传输或者保存成本地文件。
解码端:
步骤1:熵估计网络和熵解码模块从底向上(特征层4至特征层1,最后残差层)依次解码出各层的解码特征图和残差;
步骤2:解码网络模块根据各解码特征图得到重构音频或图像x1;
步骤3:残差和重构音频或图像x1叠加得到输出数据或无损重构音频或图像。
在再一种实施例中,图16示出了一种可能的场景下的系统架构900。压缩解码运行步骤如下:
步骤1:AI编码单元模块用于将图像数据变换成冗余度更低的输出特征,且产生输出特征中各点的概率估计,其中AI编码单元模块包括了编码网络单元,取整单元以及熵估计单元;
通过摄像头等图像采集设备采集图像后可以以多种的图像表达方式,如RAW域,YUV或RGB表征方式作为AI编码单元的输入。AI编码单元模块中的数据处理过程可以在如神经网络处理器(NPU)或者图形处理器(GPU)设备上进行实现。
步骤2:熵编码/解码模块(以算术编码为例)用于降低输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量;
熵编码/解码模块的数据处理过程可以在中央处理器(CPU)上进行实现。
步骤3:AI解码单元模块用于对输出特征进行反变换,将输出特征解析为图像。其中AI解码单元模块包括了解码网络单元以及熵估计单元;
AI编码单元模块中的数据处理过程可以在如神经网络处理器(NPU)或者图形处理器(GPU)设备上进行实现。
步骤4:保存文件模块用于将熵编码模块生成的数据文件保存至终端的对应存储位置;
步骤5:加载文件模块用于从终端的对应存储位置加载数据文件,并输入到熵解码模块。
在再一种实施例中,图17示出了一种可能的场景下的系统架构1000,该实施例是云应用设备结构图,包括:
步骤1:本地与云侧的JPEG编/解码模块用于在端侧或者云侧对数字图像进行压缩/解压,以降低本地与云侧间数据传输的数据量;
步骤2:AI编码单元模块用于将图像变换成冗余度更低的输出特征,且产生输出特征中各点的概率估计。其中AI解码单元模块包括了解码网络单元以及熵估计单元;
步骤3:熵编码/解码模块(以算术编码为例)用于降低输出特征的编码冗余,进一步降低图像压缩过程中的数据传输量;
步骤4:AI解码单元模块用于对输出特征进行反变换,将输出特征解析为图像。其中AI解码单元模块包括了解码网络单元以及熵估计单元;
步骤5:保存文件模块用于将熵编码(以算术编码为例)模块生成的数据文件如编码码流或待解码码流保存至云侧的对应存储位置;
步骤6:加载文件模块用于从云侧的对应存储位置加载数据文件,并输入到熵解码单元。
图18A和图18B示出了本申请提供的一种实施例,模型运行步骤如下:
编码端:
步骤1:编码网络模块包括了四个特征层,通过四个子编码网络提取输入数据的四个输出特征图,对应了图18B中的y1,y2,y3,y4。其中每个编码网络的网络深度、特征层数、每层特征的通道数可变,以达到动态改变模型压缩能力的作用;
步骤2:如图18A所示,将第一至第三输出特征图进行预处理得到第一至第三偏移特征图,预处理操作对应了图18B中减法操作,将输出特征图的各像素点的像素值与熵估计输出的均值μ相减得到偏移特征图;
步骤3:如图18A所示,取整模块将第一至第三偏移特征图与第四输出特征图取整为第一至第四取整特征图;
步骤4:熵估计模块依次估计压缩特征的概率,如图18A和18B所示,用已知概率估计第四取整特征图的概率,第四取整特征图估计第三取整特征图的概率,第三取整特征图进行反处理后作为第二熵估计的输入来估计第二取整特征图的概率,第二取整特征图进行反处理后作为第一熵估计的输入来估计第一取整特征图的概率;
步骤5:如图18A所示,熵编码模块按照从深层到浅层的顺序,根据第四熵估计结果对第四取整特征图进行熵编码。根据第三熵估计结果如方差信息σ3,对第三取整特征图进行熵编码。根据第二熵估计结果如方差信息σ2对第二取整特征图进行熵编码。根据第一熵估计结果如方差信息σ1对第一取整特征图进行熵编码。对应了图18B依次根据各取整特征图的概率对第四至第一取整特征图进行熵编码生成,用来网络传输或者保存成本地文件。
编码端的反处理操作是将取整特征图的各像素点的像素值与熵估计输出的均值相加。
解码端:
步骤1:如图18A所示,熵估计网络模块根据第四熵估计结果对第四编码码流或第四待解码码流进行熵解码得到第四解码特征图;
步骤2:如图18A所示,第三熵估计网络根据第四解码特征图得到输出概率估计结果如方差信息σ3,结合第三熵估计输出结果对第三编码码流或第三待解码码流进行熵解码得到第三解码特征图,第三解码特征图进行反处理后作为更新的第三解码特征图,并将更新的第三解码特征图作为第二熵估计的输入来估计第二解码特征图的概率;
步骤3:如图18A所示,根据第二熵估计输出概率估计结果如方差信息σ2,对第二编码码流或第二待解码码流进行熵解码得到第二解码特征图,第二解码特征图进行反处理后作为更新的第二解码特征图,并将更新的第二解码特征图作为第一熵估计的输入来估计第一解码特征图的概率;
步骤4:如图18A所示,根据第一熵估计输出概率估计结果如方差信息σ1,对第一编码码流或第一待解码码流进行熵解码得到第一解码特征图,第一解码特征图进行反处理后作为更新的第一解码特征图;
步骤5:解码网络模块根据更新的第一、第二、第三解码特征图得到重构音频或图像。
解码端的反处理操作是将解码特征图的各像素点的像素值与熵估计输出的均值相加。
图19示出了本申请提供的一种实施例,该实施例是一个音频压缩框架。模型运行步骤如下:
编码端:
步骤1:编码网络模块分为了N个特征层,分层提取音频x每一层的输出特征;
步骤2:取整模块将音频x各个层的输出特征取整为各个层的取整特征;
步骤3:熵估计网络模块按照从底层(第n特征层)到浅层(第1层)的顺序依次估计各层取整特征的概率;
步骤4:熵编码模块从底层(第n特征层)到浅层(第1层)的顺序依次根据熵估计结果进行熵编码,各层的编码码流用来网络传输或者保存成本地文件。
解码端:
步骤1:熵估计网络和熵解码模块从底层(第n特征层)到浅层(第1层)的顺序依次解码出各层的解码特征;
步骤2:解码网络模块根据各层的解码特征重建出音频x'。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (22)

1.一种音视频或图像的编码方法,其特征在于,包括:
待编码音频或图像经过编码网络获得所述待编码音频或图像的第一输出特征图;
所述待编码音频或图像经过编码网络获得所述待编码音频或图像的第二输出特征图;
对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图;
对所述第二输出特征图经过取整以获得所述待编码音频或图像的第二取整特征图;
根据第二熵估计的概率估计结果,对所述第二取整特征图进行熵编码得到第二编码码流;
根据所述第二取整特征图或/和所述第二熵估计的概率估计结果,对第一熵估计进行概率估计以获得第一熵估计的概率估计结果;以及
根据所述第一熵估计的概率估计结果,对所述第一取整特征图进行熵编码得到第一编码码流。
2.根据权利要求1的方法,其特征在于,所述方法还包括:
对所述待编码音频或图像经过编码网络获得所述待编码音频或图像的第三输出特征图,以及对所述第三输出特征图取整获得所述待编码音频或图像的第三取整特征图;
根据第三熵估计的概率估计结果,对所述第三取整特征图进行熵编码得到第三编码码流。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述待编码音频或图像的第三熵估计结果和/或所述第三取整特征图,对所述第二熵估计进行概率估计以获得第二熵估计的概率估计结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述待编码音频或图像经过编码网络获得所述待编码音频或图像的第k输出特征图,以及对所述第k输出特征图取整获得所述待编码音频或图像的第k取整特征图,其中k>3整数。
5.根据权利要求4所述的方法,其特征在于,所述第k取整特征图作为第n熵估计的输入信息,其中n为整数且n<=k。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
至少一个取整特征图作为待编码音频或图像的解码网络的输入,输出所述待编码音频或图像的重构音频或图像;
对所述待编码音频或图像与所述重构音频或图像的对应像素点求差以获得所述待编码音频或图像的残差图像;
根据以下至少一种信息得到待解码音频或图像的无损熵估计的概率估计:
任意一个或多个熵估计结果;
任意一个或多个取整特征图;或
所述重构音频或图像;
根据所述无损熵估计的概率估计结果,对所述残差图像进行熵编码以获得所述待编码音频或图像的无损编码码流。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图之前,所述方法还包括:
对所述第一输出特征图中的像素点的像素值与第一熵估计输出的均值相减得到第一偏移特征图;
对所述第一输出特征图经过取整以获得所述待编码音频或图像的第一取整特征图包括:
对所述第一偏移特征图经过取整以获得所述待编码音频或图像的所述第一取整特征图。
8.根据权利要求2-5中任一项所述的方法,其特征在于,所述方法还包括:
对第m输出特征图经过取整以获得所述待编码音频或图像的第m取整特征图之前,所述方法还包括:
对所述第m输出特征图中的像素点的像素值与第m熵估计输出的均值相减得到第m偏移特征图;
对所述第m输出特征图经过取整以获得所述待编码音频或图像的第m取整特征图包括:
对所述第m偏移特征图经过取整以获得所述待编码音频或图像的所述第m取整特征图;
对第m取整特征图中的像素点的像素值与第m熵估计输出的均值相加后作为第t熵估计的输入,其中m为大于1的整数,t为小于m的整数。
9.一种图像的解码方法,其特征在于,包括:
获取待解码音频或图像的第一待解码码流;
获取所述待解码音频或图像的第二待解码码流;
根据所述待解码音频或图像的第二熵估计的概率估计结果,对所述待解码音频或图像的第二待解码码流进行熵解码获得所述待解码音频或图像的第二解码特征图;
根据所述第二解码特征图或/和所述第二熵估计的概率估计结果,对第一熵估计进行概率估计以获得第一熵估计的概率估计结果;
根据所述第一熵估计的概率估计结果,对所述第一待解码码流进行熵解码获得所述待解码音频或图像的第一解码特征图;
所述第一解码特征图或/和所述第二解码特征图作为解码网络的输入,输出所述待解码音频或图像的重构音频或图像。
10.根据权利要求9中所述的方法,其特征在于,所述方法还包括:
获取所述待解码音频或图像的第三待解码码流;
根据所述待解码音频或图像的第三熵估计的概率估计结果,对所述第三待解码码流进行熵解码获得所述待解码音频或图像的第三解码特征图;
根据所述第三解码特征图或/和所述第三熵估计的概率估计结果,进行待解码音频或图像的第二熵估计的概率估计;
所述第一解码特征图、所述第二解码特征图以及所述第三解码特征图中的至少一种解码特征图作为解码网络的输入,输出所述待解码音频或图像的重构音频或图像。
11.根据权利要求10所述的方法,其特征在于,根据所述第三解码特征图或/和所述第三熵估计的概率估计结果,进行待解码音频或图像的第二熵估计的概率估计。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取待解码音频或图像的第m待解码码流;
根据所述待解码音频或图像的第m熵估计的概率估计结果,对所述第m待解码码流进行熵解码获得所述待解码音频或图像的第m解码特征图,其中m>3整数。
13.根据权利要求12所述的方法,其特征在于,所述第m解码特征图和/或第m熵估计的概率估计结果作为第t熵估计的输入信息,其中t<=m整数。
14.根据权利要求9-13中任一项所述的方法,其特征在于,所述方法还包括:
获取待解码音频或图像的无损待解码码流;
根据以下至少一种信息得到待解码音频或图像的无损熵估计的概率估计结果:
所述至少一个解码特征图;
所述至少一个熵估计的概率估计结果;或
所述待解码音频或图像的重构音频或图像;
根据所述待解码音频或图像的无损熵估计的概率估计结果,对所述无损待解码码流进行熵解码获得所述待解码音频或图像的残差图像;
对所述待解码音频或图像的重构音频或图像与所述待解码音频或图像的残差图像的对应像素点求和以获得所述待解码音频或图像的无损重构音频或图像。
15.根据权利要求9-13中任一项所述的方法,其特征在于,当所述第一解码特征图作为解码网络的输入,对所述第一解码特征图中的像素点的像素值与第一熵估计输出的均值相加得到第一解码特征图。
16.一种编码器,其特征在于,包括处理电路,用于执行权利要求1-8任一项所述的方法。
17.一种解码器,其特征在于,包括处理电路,用于执行权利要求9-15任一项所述的方法。
18.一种编码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述编码器执行权利要求1-8任一项所述的方法。
19.一种解码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述解码器执行根据权利要求1-8任一项所述的方法。
20.一种编码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述编码器执行根据权利要求9-15任一项所述的方法。
21.一种图像处理器,其特征在于,包括处理电路,用于执行根据权利要求1至15任一项所述的方法。
22.一种非瞬时性计算机可读存储介质,其特征在于,包括程序代码,当其由计算机设备执行时,用于执行根据权利要求1-15任一项所述的方法。
CN202110212042.1A 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置 Active CN114979711B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202110212042.1A CN114979711B (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置
CN202311236305.8A CN117768655A (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置
JP2023551271A JP2024507924A (ja) 2021-02-25 2022-02-23 階層的オーディオ/ビデオ又は画像圧縮法及び装置
EP22758873.8A EP4300976A1 (en) 2021-02-25 2022-02-23 Audio/video or image layered compression method and apparatus
PCT/CN2022/077341 WO2022179509A1 (zh) 2021-02-25 2022-02-23 音视频或图像分层压缩方法和装置
US18/453,933 US20230396810A1 (en) 2021-02-25 2023-08-22 Hierarchical audio/video or picture compression method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110212042.1A CN114979711B (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311236305.8A Division CN117768655A (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置

Publications (2)

Publication Number Publication Date
CN114979711A CN114979711A (zh) 2022-08-30
CN114979711B true CN114979711B (zh) 2023-10-13

Family

ID=82972963

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311236305.8A Pending CN117768655A (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置
CN202110212042.1A Active CN114979711B (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311236305.8A Pending CN117768655A (zh) 2021-02-25 2021-02-25 音视频或图像分层压缩方法和装置

Country Status (5)

Country Link
US (1) US20230396810A1 (zh)
EP (1) EP4300976A1 (zh)
JP (1) JP2024507924A (zh)
CN (2) CN117768655A (zh)
WO (1) WO2022179509A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710990A (zh) * 2009-11-10 2010-05-19 华为技术有限公司 视频图像编码处理、解码处理方法和装置及编解码系统
CN109151475A (zh) * 2017-06-27 2019-01-04 杭州海康威视数字技术股份有限公司 一种视频编码方法、解码方法、装置及电子设备
CN109996071A (zh) * 2019-03-27 2019-07-09 上海交通大学 基于深度学习的可变码率图像编码、解码系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818346B (zh) * 2019-04-11 2023-04-18 富士通株式会社 图像编码方法和装置、图像解码方法和装置
CN111988629B (zh) * 2019-05-22 2024-02-09 富士通株式会社 图像编码装置和图像解码装置
CN111787323B (zh) * 2020-05-23 2021-09-03 清华大学 一种基于对抗学习的可变比特率生成式压缩方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710990A (zh) * 2009-11-10 2010-05-19 华为技术有限公司 视频图像编码处理、解码处理方法和装置及编解码系统
CN109151475A (zh) * 2017-06-27 2019-01-04 杭州海康威视数字技术股份有限公司 一种视频编码方法、解码方法、装置及电子设备
CN109996071A (zh) * 2019-03-27 2019-07-09 上海交通大学 基于深度学习的可变码率图像编码、解码系统及方法

Also Published As

Publication number Publication date
EP4300976A1 (en) 2024-01-03
JP2024507924A (ja) 2024-02-21
WO2022179509A1 (zh) 2022-09-01
CN114979711A (zh) 2022-08-30
US20230396810A1 (en) 2023-12-07
CN117768655A (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN114339262B (zh) 熵编/解码方法及装置
US20240105193A1 (en) Feature Data Encoding and Decoding Method and Apparatus
US20230362378A1 (en) Video coding method and apparatus
WO2021249290A1 (zh) 环路滤波方法和装置
WO2022063265A1 (zh) 帧间预测方法及装置
WO2023279961A1 (zh) 视频图像的编解码方法及装置
CN114339238A (zh) 视频编码的方法、视频解码的方法及其装置
CN114125446A (zh) 图像编码方法、解码方法和装置
US20240007637A1 (en) Video picture encoding and decoding method and related device
CN114915783A (zh) 编码方法和装置
CN114584776A (zh) 帧内预测模式的译码方法和装置
CN114979711B (zh) 音视频或图像分层压缩方法和装置
WO2022063267A1 (zh) 帧内预测方法及装置
CN116939218A (zh) 区域增强层的编解码方法和装置
CN117441186A (zh) 图像解码及处理方法、装置及设备
KR20230145096A (ko) 신경망 기반 픽처 프로세싱에서의 보조 정보의 독립적 위치결정
WO2023279968A1 (zh) 视频图像的编解码方法及装置
WO2022100173A1 (zh) 一种视频帧的压缩和视频帧的解压缩方法及装置
CN115834888A (zh) 特征图编解码方法和装置
WO2023165487A1 (zh) 特征域光流确定方法及相关设备
KR20240064698A (ko) 특징 맵 인코딩 및 디코딩 방법 및 장치
CN116797674A (zh) 图像编解码方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant