CN114667733A - 用于执行实时vvc解码的方法和装置 - Google Patents
用于执行实时vvc解码的方法和装置 Download PDFInfo
- Publication number
- CN114667733A CN114667733A CN202080079008.5A CN202080079008A CN114667733A CN 114667733 A CN114667733 A CN 114667733A CN 202080079008 A CN202080079008 A CN 202080079008A CN 114667733 A CN114667733 A CN 114667733A
- Authority
- CN
- China
- Prior art keywords
- decoding
- video
- threads
- reconstruction
- inter
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000002123 temporal effect Effects 0.000 claims abstract description 39
- 239000013598 vector Substances 0.000 claims description 47
- 238000001914 filtration Methods 0.000 claims description 43
- 238000013139 quantization Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 5
- 230000003116 impacting effect Effects 0.000 abstract 2
- 230000008569 process Effects 0.000 description 59
- 238000004891 communication Methods 0.000 description 24
- 238000005192 partition Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 17
- 241000023320 Luma <angiosperm> Species 0.000 description 15
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 15
- 238000012360 testing method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 229910052727 yttrium Inorganic materials 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000760358 Enodes Species 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
用于实施实时多功能视频编码(VVC)解码器的装置和方法使用多个线程来解决现有并行化技术中的限制,并且完全利用可用的CPU计算资源而不会影响编码效率。所提出的多线程(MT)框架使用CTU级并行处理技术而不会影响内存带宽。图像级并行处理通过考虑图像的参考层级结构将序列分为时间级。使用各种优化技术提供实施方案,以在具有多核CPU的异构平台上对于使用具有默认配置的VVC参考编码器生成的那些比特流实现实时VVC解码。
Description
技术领域
本实施方案中的至少一个实施方案整体涉及一种用于视频解码/或压缩的方法或装置。
背景技术
为了实现高压缩效率,图像和视频编码方案通常采用包括运动向量预测在内的预测以及变换来利用视频内容中的空间和时间冗余。一般来讲,帧内或帧间预测用于利用帧内或帧间相关性,然后对在原始图像与预测图像之间的差值(通常表示为预测错误或预测残差)进行变换、量化和熵编码。为了重构视频,通过对应于熵编码、量化、变换和预测的逆过程对压缩数据进行解码。
发明内容
本实施方案中的至少一个实施方案整体涉及一种如在VVC(多功能视频编码或H.266)标准中用于执行实时解码的方法或装置。
根据第一方面,提供了一种方法。方法包括用于分配线程以使用并行处理来对视频帧进行CABAC解码的步骤,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当帧处于较低时间层时,分配更高数量的线程;以及使用所述分配的线程对所述视频帧进行解码。
根据第二方面,提供了另一种方法。该方法包括用于生成用于编码单元的运动向量的步骤;执行帧间编码单元重构;执行帧内编码单元重构;以及执行所述视频的逆向再整形和环路滤波,其中所述生成步骤和执行步骤在视频的不同部分上同时执行。
根据另一方面,提供了一种装置。装置包括设备,该设备包括:存储器;和一个或多个处理器,该一个或多个处理器被配置为分配线程以使用并行处理来对视频帧进行CABAC解码,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当帧处于较低时间层时,分配更高数量的线程;以及使用所述分配的线程对所述视频帧进行解码。
根据另一方面,提供了另一种装置。装置包括设备,该设备包括:存储器;和一个或多个处理器,该一个或多个处理器被配置为生成用于编码单元的运动向量;执行帧间编码单元重构;执行帧内编码单元重构;以及执行所述视频的逆向再整形和环路滤波,其中设备被配置为在视频的不同部分上所述同时生成并执行。
根据至少一个实施方案的另一一般方面,提供了一种设备,该设备包括:根据解码实施方案中的任一实施方案的装置;和以下项中的至少一者:(i)天线,该天线被配置为接收信号,该信号包括视频块和特征图的张量;(ii)频带限制器,该频带限制器被配置为将所接收的信号限制为包括该视频块的频带;和(iii)显示器,该显示器被配置为显示表示视频块或分析特征/解码内容的任何接收设备的输出。
根据至少一个实施方案的另一一般方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质包含根据所描述的编码实施方案或变体中的任一实施方案或变体解码的数据内容。
根据至少一个实施方案的另一一般方面,提供了一种信号,该信号包括根据所描述的编码实施方案或变体中的任一实施方案或变体解码的视频数据。
根据至少一个实施方案的另一一般方面,比特流被格式化以包括根据所描述的编码实施方案或变体中的任一实施方案或变体生成的数据内容。
根据至少一个实施方案的另一一般方面,提供了一种计算机程序产品,该计算机程序产品包括指令,该程序在由计算机执行时该指令使该计算机执行所描述的编码实施方案或变体中的任一实施方案或变体。
通过将结合附图阅读的示例性实施方案的以下详细描述,一般方面的这些和其它方面、特征和优点将变得显而易见。
附图说明
图1示出了用于VVC的基于块的视频编码器的总图。
图2示出了多类型树结构中的块分区:(a)四叉分区;(b)垂直二叉分区;(c)水平二叉分区;(d)垂直三叉分区;(E)水平三叉分区。
图3示出了用于VVC的视频解码器的总框图。
图4示出了切片/图像解码阶段的示例性概述。
图5示出了使用WPP并行化的CABAC解码的示例。
图6示出了用于切片/图像重构阶段的示例性线程调度机制。
图7示出了使用WPP并行化的编码单元运动向量生成。
图8示出了CUMV解码阶段内的示例性并行化的示例。
图9示出了帧间编码单元重构解码阶段内的并行化。
图10示出了分离帧内编码单元并行重构的示例。
图11示出了帧间编码单元和帧内编码单元重构解码阶段的联合并行化。
图12示出了水平和垂直去块滤波解码阶段的交织处理。
图13示出了编码单元运动向量生成和帧间编码单元重构编码阶段的交织处理。
图14示出了帧间编码单元和帧内编码单元重构解码阶段的交织处理。
图15示出了帧间、帧内编码单元重构和逆向再整形解码阶段的交织处理。
图16a和图16b示出了a)示出示例性通信系统100的图,其中可以实施一个或多个公开的实施方案,和b)示出示例性WTRU的系统图。
图17示出了在所描述的一般方面的方法的一个实施方案。
图18示出了在所描述的一般方面的方法的第二实施方案。
图19示出了用于执行所述方法中的任何方法的装置。
具体实施方式
视频编码系统广泛用于压缩数字视频信号,以减少此类信号的存储需求和/或发射带宽。在各种类型的视频编码系统(诸如基于块的系统、基于小波的系统和基于对象的系统)中,目前基于块的混合视频编码系统是最广泛使用和部署的。基于块的视频编码系统的示例包括国际视频编码标准,诸如MPEG1/2/4第2部分、H.264/MPEG-4第10部分AVC、VC-1以及由ITU-T/SG16/Q.6/VCEG和ISO/IEC/MPEG的JCT-VC(视频编码联合协作小组)开发的称为高效视频编码(HEVC)的最新视频编码标准。
HEVC标准的第一版本在2013年10月完成,并且与先前一代的视频编码标准H.264/MPEG AVC相比,提供了大约50%的比特率节省或等效感知质量。尽管HEVC标准比其前身提供了显著的编码改进,但是有证据表明,用额外的编码工具可实现比HEVC优异的编码效率。基于此,VCEG和 MPEG两者都开始了用于未来视频编码标准化的新编码技术的探索工作。由ITU-T VECG和ISO/IEC MPEG在2015年10月成立联合视频探索组 (JVET),以开始对先进技术的重大研究,这些技术可以大大提高编码效率。JVET通过在HEVC测试模型(HM)之上集成几个附加的编码工具来维护一个称为联合探索模型(JEM)的参考软件。
在2017年10月,由ITU-T和ISO/IEC发布了关于具有超出HEVC的能力的视频压缩的联合提案征集(CfP)。在2018年4月,在第10次JVET 会议上接收并评估了23个CfP响应,这证明了压缩效率比HEVC提高了约 40%。基于此类评估结果,JVET启动了新项目以开发名为多功能视频编码 (VVC)的新一代视频编码标准。同月,建立了一个参考软件代码库,称为VVC测试模型(VTM),以用于演示VVC标准的参考实现。同时,为了便于评估新的编码工具,还生成了称为基准集(BMS)的另一个参考软件库。在BMS代码库中,除了VTM之外,包括附加编码工具列表,该附加编码工具列表提供更高的编码效率和适度的实现复杂度,并且在VVC标准化过程期间评估类似编码技术时被用作基准。具体地,除了JEM编码工具,例如,4x4不可分离二次变换(NSST),集成在BMS-2.0中的广义双向预测(GBi)、双向光流(BIO)、解码端运动向量细化(DMVR)和当前图像参考(CPR)之外,其包括网格编码量化工具。
与HEVC类似,VVC建立在基于块的混合视频编码框架上。图1给出了基于块的通用混合视频编码系统的框图。输入视频信号102逐块(称为编码单元(CU))处理。在VTM-1.0中,CU可多达128×128的像素。然而,与仅基于四叉树对块进行分区的HEVC不同,在VTM-1.0中,一个编码树单元(CTU)被分割成CU以适应基于四叉/二叉/三叉树的变化的局部特性。此外,HEVC中删除了多分区单元类型的概念,即VVC中不再存在 CU、预测单元(PU)和变换单元(TU)的分离;相反,每个CU总是用作预测和变换两者的基本单元,而没有进一步分区。在多类型树结构中,首先通过四叉树结构对一个CTU进行分区。然后,每个四叉树叶节点可进一步由二叉树结构和三叉树结构分区。如图2所示,存在五个分割类型:四叉分区、水平二叉分区、垂直二叉分区、水平三叉分区和垂直三叉分区。在图1中,可执行空间预测(160)和/或时间预测(162)。空间预测(或“帧内预测”)使用来自相同视频图像/切片中已编码的邻近块的样本(其称为参考样本)的像素预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已编码的视频图像的重构像素预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常由一个或多个运动向量(MV)发信号通知,该MV指示在当前CU与其时间参考之间的运动的大小和方向。而且,如果支持多个参考图像,则另外发送一个参考图像索引,其用于识别时间预测信号来自参考图像存储库(164)中的哪个参考图像。在空间和/或时间预测之后,编码器中的模式决策块(180)例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块中减去预测块 (116);并且预测残差使用变换(104)和量化(106)去相关。对量化的残差系数进行逆量化(110)和逆变换(112)以形成重构残差,然后该重构残差可添加回预测块(126)以形成CU的重构信号。进一步的环路滤波,诸如去块滤波、样本自适应偏移(SAO)和自适应环路滤波(ALF) 在被放入参考图像存储库(164)中并用于对未来视频块进行编码之前可被应用于(166)重构CU。为了形成输出视频比特流120,编码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数都被发送到熵编码单元(108)以进一步被压缩和打包以形成比特流。
在VVC中的帧间预测和环路滤波阶段,与HEVC相比,以下工具是新的。
1)帧间/帧内联合预测(CIIP)
2)解码端运动向量细化(DMVR)
3)逆向再整形
CIIP模式将帧间预测信号与帧内预测信号相组合。使用加权平均将帧间预测信号和帧内预测信号相组合。权重基于左侧块和上部块的编码模式。
在VVC中,如果满足以下条件,则每CU发信号通知附加标记以用于帧间/帧内联合预测(CIIP)模式。
·当在合并模式下对CU进行编码时
·CU含有大于64个亮度样本,即CU宽度乘以CU高度等于或大于 64
·CU高度和CU宽度小于128个亮度样本
VVC允许使用解码器处的基于双向匹配的运动向量细化来增加MV精度,也称为解码端运动向量细化(DMVR)。在解码器处执行模板匹配以在参考图像列表L0和L1中细化初始MV周围的MV。在初始MV周围以光栅扫描顺序在搜索范围内(整数样本的25点全搜索)在每个细化的MV候选者之间计算SAD。具有最低SAD的MV候选者用于生成双向预测信号。
在VVC中,可以对使用以下特征的每个CU应用DMVR。
·具有双向预测MV的CU级合并模式
·相对于当前图像,一个参考图像是过去的,并且另一个参考图像是未来的
·参考图像与当前图像两者之间的POC(图像顺序编号)距离相同
·CU包含大于64个亮度样本
·CU高度和CU宽度均大于或等于8个亮度样本
·具有CU级权重的双向预测(BCW)权重指数指示相等的权重
·未针对当前块启用加权预测(WP)
具有色度缩放的亮度映射(LMCS)作为新工具添加到VVC中,该新工具可以使用序列参数集(SPS)标记在序列级别启用/禁用。在环路滤波阶段之前立即应用LMCS。对于帧间编码后的块,在映射域中应用运动补偿预测,即向原始域中的亮度预测块应用正向映射函数以转换为映射域。对于帧内编码后的块,未应用正向映射。
LMCS由两个部分组成,即1.具有分段线性模型的亮度映射,2.亮度依赖性色度缩放。
1.具有分段线性模型的亮度映射
在图块组级别处发信号通知亮度映射模型。如果检测到当前图块组的亮度映射模型存在标记,则发信号通知对应的分段线性模型参数。发信号通知的码字用于计算缩放因子并调整16个相等段中的每个段的映射函数。
2.亮度依赖性色度残差缩放
也在图块组级别处发信号通知色度残差缩放。如果启用了亮度映射并且如果双树分区没有应用到当前图块组,则发信号通知附加标记以指示亮度依赖性色度残差缩放的使用。对区域小于或等于4 的色度块禁用亮度依赖性色度残差缩放。使用色度残差缩放的目的是补偿亮度信号与色度信号之间的相互作用。
图3示出了基于块的视频解码器的总框图。视频比特流202首先在熵解码单元208处被解包和熵解码。编码模式和预测信息被发送到空间预测单元260(如果是帧内编码)或时间预测单元262(如果是帧间编码)以形成预测块。残差变换系数被发送到逆量化单元210和逆变换单元212以重构残差块。然后预测块和残差块在226处加在一起。重构块可在被存储在参考图像存储库264中之前进一步经历环路滤波。然后向外发送参考图像存储库中的重构视频以驱动显示设备,以及用于预测未来的视频块。
在CPU、GPU或异构平台上进行VVC之前,若干发表的文章已经利用了视频编解码器的并行化能力。另一种方法提出了利用帧的独立区域并减少整体内存访问的HEVC去块滤波器。在其它方法中,GPU用于加速去量化、逆变换、帧内预测、去块滤波和SAO的HEVC解码阶段。在另一种方法中,提出了基于GPU的并行算法,包括样本分类的并行计算、每个编码树块的统计信息收集、最佳偏移值的并行计算和每一类边缘偏移和带偏移的最小失真、SAO合并和SAO滤波。
帧级并行性包括在满足运动补偿依赖性的同时处理多个帧。帧级并行性的主要局限性之一是该级别的并行性由运动向量的长度确定。这是一个主要瓶颈,尤其是对于具有大运动的序列。
切片级并行性允许彼此独立地处理切片。该级别的并行性的主要缺点是切片的数量由编码器确定。此外,在大多数情况下,编解码器可以限制为每个帧使用一个切片,从而导致几乎没有切片级并行性。另外,切片降低了编码效率。
可以通过采用波前并行处理(WPP)和图块来克服帧级并行性或切片级并行性的上述缺点。两种技术允许将每个图像划分成可以并行处理的多个分区。每个分区包含整数数量的编码单元,该编码单元不具有对其它分区的依赖性。图块的使用降低了编码效率并使光栅扫描处理复杂化。然而,图块使用的主要缺点是由于分区之间缺乏依赖性而对于更高数量的区块具有显著的率失真损失。
波前并行处理(WPP)允许对图像进行分区而不破坏编码依赖性或在使用切片或图块的并行性中重置CABAC概率。WPP方法将一个图像分区为CTU行,并允许跨CTU行边界进行预测和熵编码。为此,与切片和图块并行处理方法相比,WPP降低了压缩效率的损失。然而,波前依赖性不允许所有CTB行同时启动解码。因此,该行也不会同时完成解码。当使用高数量的WPP线程进行解码时,这使得并行化效率低下。
重叠波前(OWF)并行性通过使连续图像的执行重叠来提高WPP的实施效率。OWF技术的依赖性由运动搜索引起。在OWF中,CTU未准备好进行解码,直到参考图像中的运动搜索区域内的所有参考像素已解码。运动搜索依赖性限制了用于对多个帧进行编码的帧级并行处理线程的吞吐量。当搜索窗口的中心(由运动预测器决定)朝向参考图像的下部定位时,该问题加剧。另一方面,限制运动向量导致明显的视频编码损失,其表现为快速垂直运动。
因此,没有一种并行化技术可以完全利用当今多核系统上可用的CPU 处理能力。
所描述的实施方案解决了现有并行化技术的限制,并且完全利用可用的CPU计算资源而不会影响编码效率。所提出的多线程(MT)框架使用 CTU级并行处理技术而不会影响内存带宽。图像级并行处理通过考虑图像的参考层级结构将序列分为时间级。本公开讨论了各种优化技术,该各种优化技术用于在具有多核CPU的异构平台上对于使用具有默认配置的VVC 参考编码器生成的那些比特流实现实时VVC解码。提出用于解码器的等效技术也可与VVC编码器框架一起使用。
当前VVC草案包括用于使编码过程可并行化的若干方面。这包括图块和波前并行处理(WPP)。采用用于并行性的图块引起编码损失,因为区块之间没有依赖性。WPP将切片划分为CTU行,并且对行进行并行处理,同时保持编码依赖性。
当前实施方案提出了更细的并行性粒度,而不会影响编码效率。标题为“具有切片解码阶段的CABAC的并行化”的部分呈现了通过处理 CABAC解码而实现的更细的并行性粒度,并且切片解码阶段的其余部分被称为重构解码阶段。图4中示出了切片/图像解码阶段的架构图。在标题为“具有切片解码阶段的CABAC的并行化”的部分中描述了如图4所示的重构解码阶段例如帧间、帧内、再整形和环路滤波中的每一个重构解码阶段的并行化。
总之,提高流水线多级VVC解码器的更细的并行性粒度的关键贡献如下:
·在帧内CU重构阶段中,一旦完成所有分离/独立的帧内CTU(在帧间模式中对所有其帧内编码的CU参考像素进行编码的CTU)的参考像素帧间CU(左块、上块和右上块)重构过程,就可以并行重构该所有分离/独立的帧内CTU;
·帧间/帧内联合预测(CIIP)CU预测过程中的帧间CU和帧间预测可在图像的所有CTU间并行化。
·为了平衡计算复杂性,可与重构解码阶段并行执行启用WPP的 CABAC解码。用于对图像进行CABAC解码的初始分配的线程的数量基于先前图像的CABAC性能而动态地变化;
·解码器流水线的多个阶段可在图像内以及在时间层图像之间并行地执行。例如,CUMV、帧间CU重构和帧内CU重构解码阶段可在图像内或在图像之间并行地执行;
·预分析以在每个CTU中查找第一相关CU的位置并使用该信息来改进CUMV和帧内CU重构阶段处的波前并行处理(WPP)并行化;
·为了避免多次扫描图像,通过使水平滤波阶段和垂直滤波阶段交织来使去块滤波并行化。计算CTU内和CTU之间的水平边缘和垂直边缘的数量,以使滤波工作负荷在线程之间均匀地分布;
·添加附加条件以自适应地切换DMVR。仅当运动向量的长度小于预定义阈值时,DMVR用于合并候选者。基于运动向量的长度禁用DMVR使得参考区域可用并增加DMVR并行性。
VVC解码阶段的并行化方法可被分类为以下3个类别中的一个类别。
基于CTU之间的解码依赖性,针对每个解码阶段选择类别。它们是:
I.CTU级并行化(CTUP);
II.改进的重叠波前(IOWF)并行化;
III.基于负载均衡的并行化。
针对不具有CTU级依赖性的VVC解码阶段,例如再整形、样本自适应偏移(SAO)选择方法I。针对具有帧内CU预测的CTU级依赖性的VVC 解码阶段选择方法II。
流水线设计的方法I将细粒度并行性添加至现有的基于图块的方法。它是基于将图像灵活分区为CTU,使得禁止多个CTU分区之间的依赖性。每线程处理的CU的数量基于QTBT分区而动态地变化。
流水线设计的方法II通过遵循改进的重叠波前(IOWF)方法解决了波前并行处理(WPP)的低效率。在这些实施方案中提出的IOWF允许使连续图像、区域,例如图像的CTU内的CU以及使用波前的图像内的解码阶段的执行重叠。下面的标题为“具有切片解码阶段的CABAC的并行化”的部分强调了基于方法II的流水线设计。
流水线设计的方法III使由于高分支发散和低数据并行性而难以并行化的模块并行化。CABAC解码属于这一类。因此,CABAC解码与切片的重构解码阶段并行执行,如标题为“具有切片解码阶段的CABAC的并行化”的部分中所解释的。
具有切片解码阶段的CABAC的并行化
具有切片解码阶段的CABAC的并行化基于所提出的方法III。VVC解码器延迟的主要原因之一是用于CABAC引擎的上下文选择的数据依赖性。这主要是因为用于分格的内容选择依赖于先前解码的分格的值。此依赖性是实现CABAC并行性的瓶颈,特别是在解码器处。这继而增加了解码器延迟。如果图像的CABAC解码与其它图像的重构解码阶段并行完成,则可以减少此延迟。
CABAC与重构解码阶段之间的负载均衡由以下阶段组成。
I.线程优先级调度
CABAC解码复杂性将决定线执行优先级。例如,与其它切片相比,帧内切片的CABAC解码复杂性更高。因此,可以在解码顺序中比其先前图像更早地调度帧内切片CABAC解码活动。类似地,时间层0图像CABAC解码的复杂性高于时间层1等。因此,下一个图像组(GOP)较低时间层图像 CABAC解码可以与先前的GOP较高时间层图像CABAC解码并行地调度。这样,CABAC解码时间的波动可以在时间层图像之间平衡。因此,基于以下各项对线程调度进行优先级排序。
·基于帧/切片的所估计的复杂性对图像的CABAC解码过程进行早期调度。
II.针对启用WPP的CABAC解码的线程分配
如图5所示,针对图像的启用WPP的CABAC解码所分配的线程的初始数量依赖于帧解码复杂性。如果帧解码复杂性较高,例如用于低QP、帧内、帧间图像或较低时间层,则针对CABAC解码分配更多的线程。一旦针对CABAC解码分配了多个线程,则分配剩余的可用线程以处理先前图像的重构解码阶段。可用线程的总数通过以下方式分布在CABAC与重构解码阶段之间。
·与具有高QP的帧相比,为具有低QP的帧的CABAC解码分配较高数量的线程,与帧间相比,为帧内分配较高数量的线程,为P图像分配较高数量的线程,或当图像位于较低时间层时分配较高数量的线程。
·与具有单个图块或单个切片的图像相比,为具有多个图块和切片的图像的CABAC解码分配较高数量的线程。
III.分配的动态变化
用于对图像进行启用WPP的CABAC解码的初始分配的线程的数量基于该初始分配的CABAC性能而动态地变化。基于初始分配的CABAC与重构解码阶段之间的等待时间可以用作线程分配标准。分配给CABAC和重构解码阶段的线程数量的动态变化的目标是减少每帧CABAC处理时间波动。
·如果处理类似的先前帧所花费的时间高于实时约束,则为当前帧的CABAC解码分配的线程数量增加。
·如果CABAC解码与重构解码阶段之间的等待时间较高,则为当前帧的CABAC解码分配的线程数量减少。
·多个先前帧中的一个先前帧可以用于决定分配的动态变化。
·用于决定当前帧的线程的动态分配中的先前帧的权重基于POC距离、时间层和帧类型而变化
切片解码阶段的并行化
使用方法I和方法II对CABAC解码之后的各个解码阶段进行并行化。流水线设计遵循可并行处理的多个解码块的重叠执行的原则。如果线程已经完成块的执行,则该线程将继续执行下一可用块。并行处理将图像分区为CTU或CTU行,而不会影响依赖性。此类重叠执行可以在一个解码器模块内或模块之间发生。各小节对此进行了详细阐述。
线程调度
该部分说明图6中所示的用于下文在“CUMV生成”部分中详细描述的CUMV阶段的线程调度机制。创建线程池和先进先出(FIFO)活动队列以处理重构解码阶段活动。基于异构多核系统中可用CPU核心的数量来创建线程池。来自线程池的任何自由线程获取来自活动队列的第一可用任务,并利用CPU能力执行活动。切片解码线程推送要执行的任务列表,以将切片/图像解码为活动队列。切片解码线程初始推动第一CTU行任务的 CU运动向量生成,其中依赖性标记设置为假,和第二CTU行任务的CU运动向量生成,其中依赖性标记设置为真,直到最后一个CTU行。自由工作线程,称为第一工作线程,其将从任务队列中获取第一可用活动,并执行第一CTU的CU运动向量生成,并在不使用任何依赖性的情况下继续直到第一行中的最后一个CTU。另一个自由工作线程从队列中获取下一活动 (第二CTU行CU运动向量生成)并在使用WPP依赖性的情况下与第一工作线程并行处理该活动。此过程在所有切片/图像解码阶段中继续。
GPU并行处理
在标题为“解码阶段内的并行化”和“解码阶段之间的并行化”的部分中提出的并行化方案也适用于GPU并行化方案。修改VVC解码架构以便减少GPU内存使用,例如全局、高速缓存或常量内存使用,并减少GPU内存访问。代替用于CPU并行化的SIMD优化,利用GPU向量指令来增加并行化。此外,GPU内核启动在文件读取操作后立即完成。这消除了由于内存传输导致的性能限制。
解码阶段内的并行化
当前VVC设计依次处理每个CTU的解码阶段。此设计不是并行化友好的。为了改善VVC解码器阶段的并行性,建议将每个图像的解码阶段划分为以下子任务。
1.CU运动向量(CUMV)生成
2.帧间CU重构
a.帧间帧内联合预测(CIIP)
b.解码端运动向量细化(DMVR)
3.帧内CU重构
4.逆向再整形
5.环路滤波
a.去块滤波
b.自适应环路滤波
c.样本自适应偏移
CUMV生成
在进行到重构过程之前,针对整个帧间切片/图像完成CU运动向量推导过程。CU运动向量推导可以依赖于其左侧、上方和/或右上方的相邻CU 运动向量,其被称为波前行并行处理(WPP)依赖性。若要实现更好的并行处理能力,每个CTU行将以CTU编号递增的顺序被推送到活动队列中。如图7所示,来自线程池的自由工作线程将从活动队列中获取第一个可用 CTU行,并按顺序生成CTU的运动向量,直到完成整个CTU行。每个工作线程确保在继续到当前CTU运动向量生成之前右上方的CTU总是已完成生成运动向量。这样,最多H个(CTU行数)工作线程可用于整个图像运动向量生成的并行处理。图8示出了CUMV运动向量推导过程。图8中使用的变量在表1中解释。
表1.CUMV变量定义
变量 | 定义 |
模块(i) | CUMV运动推导过程中的第i个块 |
NT<sub>max</sub> | 用于CUMV模块的最大线程数 |
NT | 用于CUMV模块的所分配的线程数 |
用于推导CUMV运动向量的步骤可以总结如下。
·预分析以确定每个CTU中的依赖于其右上方CTU的第一CU的位置
·直到当前CTU中第一CU位置的CU,如在步骤1中,可与其右上方CTU并行处理
·每个CTU的剩余CU将需要右上方相关CU的可用性,而不是整个右上方CTU的可用性
帧间CU重构
在整个图像的CU运动向量推导之后,帧间CU重构过程已与帧内和 CIIP模式重构过程分离。图9中详细描述了帧间CU重构算法。图9中使用的变量在表2中解释。
表2.帧间CU重构变量定义
变量 | 定义 |
InterCU(i) | 第i个interCU重构解码阶段 |
NT<sub>max</sub> | 用于模块的最大线程数 |
NT | 模块上当前工作的线程数量 |
解码线程的其余部分将CTU或CTU组的帧间CU重构过程以CTU编号递增的顺序推送到活动队列。来自线程池的自由工作线程将从活动队列中获取第一可用CTU或CTU组,并执行整个CTU或CTU组(一个CTU 接一个)的帧间CU重构过程。所有工作线程都可以利用系统中可用的多个 CPU/GPU核心来并行执行其CTU组的帧间CU重构过程。这样,可以大幅减少整个切片/图像帧间CU重构的复杂性。
I.CIIP
当CU在合并模式下被编码,其中亮度样本的数量大于64,并且CU宽度和CU高度两者小于或等于128时,附加标记发信号通知帧间/帧内CU联合预测(CIIP)模式的使用。由于当前CU的帧间帧内联合,CIIP模式CU 的帧间预测可与其它帧间CU预测过程组合。可以在图像的所有CTU之间使帧间CU和CIIP帧间CU预测过程并行化。这样,可以通过使用多个工作线程并行处理而显著减少CIIP帧间CU重构过程时间。CIIP帧内CU重构过程与其它帧内CU重构过程组合。
II.DMVR
VVC允许获得细化的运动向量而不发送细化的运动向量,因此降低编码器的计算复杂性。然而,在过程中,DMVR增加了解码器的计算工作负荷和处理时间。在DMVR中,计算复杂性由于围绕搜索中心的搜索方案、用于选择细化的度量,例如绝对差值和(SAD)、和用于插入分数像素位置的双线性插值而增加。
随着运动向量(MV)的大小在编码器或解码器中受到限制,计算当前 CU的DMVR输出所需的参考区域数量减少。因此,限制区域内的搜索点的数量或MV的大小将以描述快速运动为代价增加DMVR并行性。
DMVR可以自适应地开启和关闭,而不具有信令开销。MV细化过程仅在满足以下条件时操作。
·编码单元是合并模式
·使用IC模式的单向、ATMVP、STMVP、仿射和合并候选被排除
·(POCref0–POCcur)和(POCref1–POCcur)中的仅一个值为负
在所述实施方案中的至少一个实施方案中,添加附件条件以当运动向量的长度小于预定义阈值时仅使用DMVR。基于运动向量的长度禁用 DMVR使得参考区域可用并增加DMVR并行性,以用于合并所预测的候选者。
帧内CU重构
帧内CU预测的传统WPP并行化将每个CTU行视为独立区域。在CTU 级上,每个CTU必须等待直到其左侧和右上方相邻CTU完成重构。此过程使当前CTU行始终比与其相邻的上一行延迟两个CTU。为了减轻这个问题,本文所描述的一般方面提出了用于帧内CU预测并行化的以下阶段。
I.预分析
·预分析阶段确定每个CTU的依赖于右上方CTU的第一相关CU的位置
·找到图像中的分离CTU的数量。分离CTU是其中所有其帧内编码的CU参考像素在帧间模式中编码的CTU。
II.并行化方案
·基于上述预分析结果,直到当前CTU中第一相关CU位置的CU可与其右上方CTU并行处理
·一旦完成其参考像素帧间CU(左侧、上方和右上方块)重构过程,则可并行重构所有分离的帧内CU。自由工作线程可以处理恒定数量的分离帧内CU。当更多分离的帧内编码CU可用时,每个自由工作线程可以与其它工作线程并行处理恒定数量的分离CU。
·上部行中的分离的帧内编码CTU将具有更高的优先级。上部行中的每个分离CTU将由自由工作线程处理。利用此线程调度方法,可以更快完成上部行的帧内CU重构过程,并且可以针对下几个 CTU行显著减少等待时间。如图10所示,在第一行中的每个分离 CTU的CU重构过程完成之后,该CTU由自由工作线程处理。
·WPP线程针对剩余的CTU依次执行第一CTU行帧内CU重构过程。此WPP线程与上述分离CTU重构过程并行运行。
去块滤波
去块是VVC环路滤波阶段中紧跟在逆向再整形之后的模块。在VVC 中,垂直去块滤波阶段基于水平去块滤波后的输出。因此,当前设计依次处理水平滤波阶段和垂直滤波阶段。然而,对于水平滤波阶段或垂直滤波阶段,CTU之间没有数据依赖性。因此,可以并行处理整个帧的所有 CTU。下面的“交织分组”部分提出了用于使水平滤波阶段和垂直滤波阶段交织以及用于由于CTU级并行化而缓减内存访问增加的技术。
IV.基于边缘的CTU分组
在VVC中,最大允许的CTU大小为128×128。因此,对于在8×8栅格上执行的去块,允许的垂直边缘的最大数量是:128/8=16。然而,由于 QTBTTT分区,垂直边缘和水平边缘的数量可在CTU内和CTU之间变化。因此,为了使处理负载在线程之间均匀地分布,将其处理为基于预定义边缘的数量来为每线程分配任务。
V.基于感兴趣区域(ROI)的CTU分组
代替对用于线程分配的连续CTU行进行分组,可以为每线程处理选择感兴趣区域(ROI)。基于感兴趣区域对用于DBF处理的CTU进行分组将导致更好的内存处理。
VI.交织分组
现有VVC设计依次处理水平滤波阶段和垂直滤波阶段。这需要多次扫描图像并增加内存访问。与依次处理整个图像相反,这里提出了使水平滤波阶段和垂直滤波阶段交织。在第一遍次中处理2个CTU行水平滤波,之后是垂直滤波。这保证了在当前CTU行的垂直滤波开始之前的针对当前 CTU行和下方CTU行的水平滤波像素的可用性。图12示出了水平去块滤波解码阶段和垂直去块滤波解码阶段的联合并行化。表3中解释了所使用的变量。
表3.交织的水平去块滤波和垂直去块滤波变量定义
变量 | 定义 |
HORDBF(i) | 第i个水平去块滤波解码阶段 |
VERDBF(i) | 第i个垂直去块滤波解码阶段 |
NT<sub>max</sub> | 用于模块的最大线程数 |
NT | 模块上当前工作的线程数量 |
解码阶段之间的并行化
解码阶段之间的并行化基于方法I。视频编码阶段之间的数据结构和依赖性限制了阶段内和阶段之间的并行性的可能性。例如,解码模块诸如CABAC具有高分支发散和低数据并行性。同样,具有低分支发散和较高数据并行性的模块诸如环路滤波是并行处理的良好候选者。提出的并行化技术基于分支发散和数据并行性的标准来执行VVC解码器的此类分析,以确定将一个模块与另一个模块并行化的有效性。下面解释了VVC模块的联合并行化的步骤,该联合并行化同时允许低分支发散和高数据发散。
时间层图像的并行处理
可以通过对时间图像层的并行解码来同时减少解码帧率以及延迟。例如,与非参考图像相比,新的参考图像占据较低的时间层,反之亦然。若要以并行方式处理连续帧,连续执行以下阶段:
·完成参考图像中并置CU、底部和右上方CU的预测过程。
·在下方和右侧CU预测过程完成后,启动参考图像中的并置CU的逆向再整形和去块。
·在参考图像中与其它CU预测过程并行地对并置CU应用逆向再整形和环路滤波。
·为当前CU生成预测缓冲区。
图像中多个解码模块的并行处理
为了实现多个解码模块的高效并行化,考虑了两个因素。它们是:高分支发散和总解码时间的百分比基于图谱分析,帧间CU预测、环路滤波阶段占据非常高百分比的解码时间。另一方面,帧内CU预测模块具有高分支发散。对此类模块内和模块之间的子阶段并行解码,以使总解码时间最小化。
I.CUMV生成和帧间CU重构
CUMV生成与帧间CU重构之间的并行化遵循方法II并使用以下步骤。
·在CABAC解码后,在WPP依赖性之后并行执行整个图像的 CUMV生成
·并行地执行整个图像的帧间CU重构
·与其他CTU的CUMV生成并行地调度上部行CTU的帧间CU重构
ο在完成上部CTU行CUMV生成过程之后,可以将那些自由工作线程分配给帧间CU重构过程,而不是其他CTU行CUMV 生成过程。对下方行CUMV生成过程进行工作线程的早期分配将导致资源浪费,因为它们与其上部CTU行具有WPP依赖性。将那些工作线程分配给帧间CU重构过程将有助于有效地利用资源。
·如图13所示,上部CTU行的帧间CU重构过程已经使用多个自由工作线程来启动,而CU运动向量生成过程由用于下方CTU行的 WPP工作线程执行。
II.CUMV生成、帧内和帧间CU重构
图11中示出了帧间CU重构阶段和帧内CU重构阶段的联合并行化,并且表4中解释了相关联的参数。帧内CU重构遵循帧间CU重构过程。然而,可以与其它CTU(例如,后几行CTU)的帧间CU重构并行地执行上部行CTU帧内CU重构过程。这将确保帧间CU重构样本的可用性,同时受益于帧间CU重构和帧内CU重构的联合并行化。
如图14所示,运动向量生成、帧间重构解码阶段和帧内CU重构解码阶段可以重叠。当WPP线程完成了特定CTU行的CUMV生成时,可以将自由工作线程用于帧间CU重构。一旦完成预定义数量的CTU的CU重构,自由工作线程就可开始执行第一CTU行帧内CU重构过程。等到另一个自由工作线程开始执行第二CTU行帧内CU重构过程时,第一CTU行中的许多CTU帧内CU重构过程已完成。以此方式,由于WPP依赖性造成的第二 CTU行帧内CU重构过程中的延迟可显著最小化。
表4.帧间与帧内CU联合重构变量定义
变量 | 定义 |
InterCU(i) | 第i个帧间CU重构解码阶段 |
IntraCU(i) | 第i个帧内CU重构解码阶段 |
NT<sub>max</sub> | 用于两个模块的最大线程数 |
NT | 两个模块上工作的总线程数 |
III.逆向再整形和帧内CU重构
其它CTU的CTU级逆向再整形过程和帧间、帧内CU重构并行执行。如图15所示,在完成整个图像的帧间和帧内CU重构之前,可以使用自由工作线程来调度上部CTU行的逆向再整形过程。该早期调度使得能够在整个图像的帧间和帧内CU重构完成之前完成上部行CTU整个重构过程,包括去块、SAO和ALF。一旦完成上部CTU行重构,就可以与当前图像解码并行启动下一个相关图像解码。
图16A是示出在其中一个或多个所公开的实施方案可得以实现的示例性通信系统100的图表。通信系统100可为向多个无线用户提供诸如语音、数据、视频、消息、广播等内容的多址接入系统。通信系统100可使多个无线用户能够通过系统资源(包括无线带宽)的共享来访问此类内容。例如,通信系统100可采用一个或多个信道接入方法,诸如码分多址接入 (CDMA)、时分多址接入(TDMA)、频分多址接入(FDMA)、正交 FDMA(OFDMA)、单载波FDMA(SC-FDMA)、零尾唯一字DFT扩展OFDM(ZT UW DTS-s OFDM)、唯一字OFDM(UW-OFDM)、资源块滤波OFDM、滤波器组多载波(FBMC)等。
如图16A所示,通信系统100可包括无线发射/接收单元(WTRU) 102a、102b、102c、102d、RAN 104、CN 106、公共交换电话网(PSTN) 108、互联网110和其他网络112,但是应当理解,所公开的实施方案设想了任意数量的WTRU、基站、网络和/或网络元件。WTRU 102a、102b、 102c、102d中的每一者可以是被配置为在无线环境中操作和/或通信的任何类型的设备。作为示例,WTRU 102a、102b、102c、102d(其中任何一个均可被称为“站”和/或“STA”)可被配置为传输和/或接收无线信号,并且可包括用户设备(UE)、移动站、固定或移动用户单元、基于订阅的单元、寻呼机、蜂窝电话、个人数字助理(PDA)、智能电话、膝上型电脑、上网本、个人计算机、无线传感器、热点或Mi-Fi设备、物联网 (IoT)设备、手表或其他可穿戴设备、头戴式显示器(HMD)、车辆、无人机、医疗设备和应用(例如,远程手术)、工业设备和应用(例如,在工业和/或自动处理链环境中操作的机器人和/或其他无线设备)、消费电子设备、在商业和/或工业无线网络上操作的设备等。WTRU 102a、102b、 102c和102d中的任一者可互换地称为UE。
通信系统100还可包括基站114a和/或基站114b。基站114a、114b中的每一者可为任何类型的设备,其被配置为与WTRU 102a、102b、102c、 102d中的至少一者无线对接以促进对一个或多个通信网络(诸如CN 106、互联网110和/或其他网络112)的访问。作为示例,基站114a、114b可为基站收发台(BTS)、节点B、演进节点B、家庭节点B、家庭演进节点 B、gNB、NR节点B、站点控制器、接入点(AP)、无线路由器等。虽然基站114a、114b各自被描绘为单个元件,但应当理解,基站114a、114b可包括任何数量的互连基站和/或网络元件。
基站114a可以是RAN 104的一部分,该RAN还可包括其他基站和/或网络元件(未示出),诸如基站控制器(BSC)、无线电网络控制器 (RNC)、中继节点等。基站114a和/或基站114b可被配置为在一个或多个载波频率(其可称为小区(未示出))上发射和/或接收无线信号。这些频率可在许可频谱、未许可频谱或许可和未许可频谱的组合中。小区可向特定地理区域提供无线服务的覆盖,该特定地理区域可为相对固定的或可随时间改变。小区可进一步被划分为小区扇区。例如,与基站114a相关联的小区可被划分为三个扇区。因此,在一个实施方案中,基站114a可包括三个收发器,即,小区的每个扇区一个收发器。在一个实施方案中,基站 114a可采用多输入多输出(MIMO)技术并且可针对小区的每个扇区利用多个收发器。例如,可使用波束成形在所需的空间方向上传输和/或接收信号。
基站114a、114b可通过空中接口116与WTRU 102a、102b、102c、 102d中的一者或多者通信,该空中接口可为任何合适的无线通信链路(例如,射频(RF)、微波、厘米波、微米波、红外(IR)、紫外(UV)、可见光等)。可使用任何合适的无线电接入技术(RAT)来建立空中接口116。
更具体地讲,如上所指出,通信系统100可为多址接入系统,并且可采用一个或多个信道接入方案,诸如CDMA、TDMA、FDMA、OFDMA、 SC-FDMA等。例如,RAN 104中的基站114a和WTRU 102a、102b、102c 可实现无线电技术诸如通用移动电信系统(UMTS)陆地无线电接入(UTRA),其可使用宽带CDMA(WCDMA)来建立空中接口116。 WCDMA可包括诸如高速分组接入(HSPA)和/或演进的HSPA(HSPA+) 之类的通信协议。HSPA可包括高速下行链路(DL)分组接入(HSDPA) 和/或高速UL分组接入(HSUPA)。
在一个实施方案中,基站114a和WTRU 102a、102b、102c可实现诸如演进的UMTS陆地无线电接入(E-UTRA)之类的无线电技术,其可使用长期演进(LTE)和/高级LTE(LTE-A)和/或高级LTE Pro(LTE-A Pro)来建立空中接口116。
在一个实施方案中,基站114a和WTRU 102a、102b、102c可实现诸如 NR无线电接入之类的无线电技术,其可使用新无线电(NR)来建立空中接口116。
在一个实施方案中,基站114a和WTRU 102a、102b、102c可实现多种无线电接入技术。例如,基站114a和WTRU 102a、102b、102c可例如使用双连接(DC)原理一起实现LTE无线电接入和NR无线电接入。因此, WTRU 102a、102b、102c所使用的空中接口可由多种类型的无线电接入技术和/或向/从多种类型的基站(例如,eNB和gNB)发送的传输来表征。
在其他实施方案中,基站114a和WTRU 102a、102b、102c可实现诸如 IEEE 802.11(即,无线保真(WiFi))、IEEE 802.16(即,全球微波接入互操作性(WiMAX))、CDMA2000、CDMA2000 1X、CDMA2000 EV- DO、暂行标准2000(IS-2000)、暂行标准95(IS-95)、暂行标准856 (IS-856)、全球移动通信系统(GSM)、GSM增强数据率演进 (EDGE)、GSM EDGE(GERAN)等无线电技术。
图16A中的基站114b可为例如无线路由器、家庭Node B、家庭eNode B或接入点,并且可利用任何合适的RAT来促进诸如商业场所、家庭、车辆、校园、工业设施、空中走廊(例如,供无人机使用)、道路等局部区域中的无线连接。在一个实施方案中,基站114b和WTRU102c、102d可实现诸如IEEE 802.11之类的无线电技术以建立无线局域网(WLAN)。在一个实施方案中,基站114b和WTRU 102c、102d可实现诸如IEEE 802.15之类的无线电技术以建立无线个域网(WPAN)。在又一个实施方案中,基站114b和WTRU 102c、102d可利用基于蜂窝的RAT(例如,WCDMA、 CDMA2000、GSM、LTE、LTE-A、LTE-A Pro、NR等)来建立微微小区或毫微微小区。如图16A所示,基站114b可具有与互联网110的直接连接。因此,基站114b可不需要经由CN 106访问互联网110。
RAN 104可与CN 106通信,该CN可以是被配置为向WTRU 102a、 102b、102c、102d中的一者或多者提供语音、数据、应用和/或互联网协议语音技术(VoIP)服务的任何类型的网络。数据可具有不同的服务质量 (QoS)要求,诸如不同的吞吐量要求、延迟要求、误差容限要求、可靠性要求、数据吞吐量要求、移动性要求等。CN 106可提供呼叫控制、账单服务、基于移动位置的服务、预付费呼叫、互联网连接、视频分发等,和/或执行高级安全功能,诸如用户认证。尽管未在图16A中示出,但是应当理解,RAN 104和/或CN 106可与采用与RAN 104相同的RAT或不同RAT的其他RAN进行直接或间接通信。例如,除了连接到可利用NR无线电技术的RAN 104之外,CN 106还可与采用GSM、UMTS、CDMA 2000、 WiMAX、E-UTRA或WiFi无线电技术的另一RAN(未示出)通信。
CN 106也可充当WTRU 102a、102b、102c、102d的网关,以访问 PSTN 108、互联网110和/或其他网络112。PSTN 108可包括提供普通老式电话服务(POTS)的电路交换电话网络。互联网110可包括使用常见通信协议(诸如传输控制协议(TCP)、用户数据报协议(UDP)和/或TCP/IP 互联网协议组中的互联网协议(IP))的互连计算机网络和设备的全球系统。网络112可包括由其他服务提供商拥有和/或操作的有线和/或无线通信网络。例如,网络112可包括连接到一个或多个RAN的另一个CN,其可采用与RAN 104相同的RAT或不同的RAT。
通信系统100中的一些或所有WTRU 102a、102b、102c、102d可包括多模式能力(例如,WTRU 102a、102b、102c、102d可包括用于通过不同无线链路与不同无线网络通信的多个收发器)。例如,图16A所示的 WTRU 102c可被配置为与可采用基于蜂窝的无线电技术的基站114a通信,并且与可采用IEEE 802无线电技术的基站114b通信。
图16B是示出示例性WTRU 102的系统图。如图16B所示,WTRU 102 可包括处理器118、收发器120、发射/接收元件122、扬声器/麦克风124、小键盘126、显示器/触摸板128、不可移动存储器130、可移动存储器132、电源134、全球定位系统(GPS)芯片组136和/或其他外围设备138等。应当理解,WTRU 102可包括前述元件的任何子组合,同时保持与实施方案一致。
处理器118可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)电路、任何其他类型的集成电路(IC)、状态机等。处理器118 可执行信号编码、数据处理、功率控制、输入/输出处理和/或任何其他功能,这些其他功能使WTRU 102能够在无线环境中工作。处理器118可耦合到收发器120,该收发器可耦合到发射/接收元件122。虽然图16B将处理器118和收发器120描绘为单独的部件,但是应当理解,处理器118和收发器120可在电子封装件或芯片中集成在一起。
发射/接收元件122可被配置为通过空中接口116向基站(例如,基站 114a)传输信号或从基站接收信号。例如,在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收RF信号的天线。在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收例如IR、UV或可见光信号的发射器/检测器。在又一个实施方案中,发射/接收元件122可被配置为传输和/或接收RF和光信号。应当理解,发射/接收元件122可被配置为传输和/或接收无线信号的任何组合。
尽管发射/接收元件122在图16B中被描绘为单个元件,但是WTRU 102可包括任何数量的发射/接收元件122。更具体地讲,WTRU 102可采用 MIMO技术。因此,在一个实施方案中,WTRU 102可包括用于通过空中接口116传输和接收无线信号的两个或更多个发射/接收元件122(例如,多个天线)。
收发器120可被配置为调制将由发射/接收元件122传输的信号并且解调由发射/接收元件122接收的信号。如上所指出,WTRU 102可具有多模式能力。因此,收发器120可包括多个收发器,以便使WTRU 102能够经由多种RAT(诸如NR和IEEE 802.11)进行通信。
WTRU 102的处理器118可耦合到扬声器/麦克风124、小键盘126和/ 或显示器/触摸板128(例如,液晶显示器(LCD)显示单元或有机发光二极管(OLED)显示单元)并且可从其接收用户输入数据。处理器118还可将用户数据输出到扬声器/麦克风124、小键盘126和/或显示器/触摸板 128。此外,处理器118可从任何类型的合适存储器(诸如不可移动存储器130和/或可移动存储器132)访问信息,并且将数据存储在任何类型的合适存储器中。不可移动存储器130可包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其他类型的存储器存储设备。可移动存储器 132可包括用户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其他实施方案中,处理器118可从未物理上定位在WTRU 102上(诸如,服务器或家用计算机(未示出)上)的存储器访问信息,并且将数据存储在该存储器中。
处理器118可从电源134接收电力并可被配置为向WTRU 102中的其他部件分配和/或控制电力。电源134可以是用于为WTRU 102供电的任何合适的设备。例如,电源134可包括一个或多个干电池组(例如,镍镉 (NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion) 等)、太阳能电池、燃料电池等。
处理器118还可耦合到GPS芯片组136,该GPS芯片组可被配置为提供关于WTRU 102的当前位置的位置信息(例如,经度和纬度)。除了来自GPS芯片组136的信息之外或代替该信息,WTRU 102可通过空中接口116从基站(例如,基站114a、114b)接收位置信息和/或基于从两个或更多个附近基站接收到信号的定时来确定其位置。应当理解,在与实施方案保持一致的同时,该WTRU 102可通过任何合适的位置确定方法来获取位置信息。
处理器118还可耦合到其他外围设备138,该其他外围设备可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件模块和/或硬件模块。例如,外围设备138可包括加速度计、电子指南针、卫星收发器、数字相机(用于照片和/或视频)、通用串行总线(USB)端口、振动设备、电视收发器、免提耳麦、模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器、虚拟现实和/或增强现实(VR/AR)设备、活动跟踪器等。外围设备138可包括一个或多个传感器,该传感器可为以下一者或多者:陀螺仪、加速度计、霍尔效应传感器、磁力计、方位传感器、接近传感器、温度传感器、时间传感器;地理位置传感器;测高计、光传感器、触摸传感器、磁力计、气压计、手势传感器、生物识别传感器和/或湿度传感器。
WTRU 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的发射和接收(例如,与用于UL(例如,用于发射)和下行链路 (例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。全双工无线电台可包括干扰管理单元,该干扰管理单元用于经由硬件(例如,扼流圈)或经由处理器(例如,单独的处理器(未示出)或经由处理器118)进行的信号处理来减少和/或基本上消除自干扰。在一个实施方案中, WTRU 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的发射和接收(例如,与用于UL(例如,用于发射)和下行链路(例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。
尽管WTRU在图16A至图16B中被描述为无线终端,但是可以设想到,在某些代表性实施方案中,这种终端可(例如,临时或永久地)使用与通信网络的有线通信接口。
鉴于图16A至图16B以及图16A至图16B的对应描述,本文参照以下中的一者或多者描述的功能中的一个或多个功能或全部功能可由一个或多个仿真设备(未示出)执行:WTRU102a-d、基站114a-b、演进节点B 160a-c、MME 162、SGW 164、PGW 166、gNB 180a-c、AMF182a-b、UPF 184a-b、SMF 183a-b、DN 185a-b和/或本文所述的任何其他设备。仿真设备可以是被配置为模仿本文所述的一个或多个或所有功能的一个或多个设备。例如,仿真设备可用于测试其他设备和/或模拟网络和/或WTRU功能。
仿真设备可被设计为在实验室环境和/或运营商网络环境中实现其他设备的一个或多个测试。例如,该一个或多个仿真设备可执行一个或多个或所有功能,同时被完全或部分地实现和/或部署为有线和/或无线通信网络的一部分,以便测试通信网络内的其他设备。该一个或多个仿真设备可执行一个或多个功能或所有功能,同时临时被实现/部署为有线和/或无线通信网络的一部分。仿真设备可直接耦合到另一个设备以用于测试目的和/或可使用空中无线通信来执行测试。
该一个或多个仿真设备可执行一个或多个(包括所有)功能,同时不被实现/部署为有线和/或无线通信网络的一部分。例如,仿真设备可在测试实验室和/或非部署(例如,测试)有线和/或无线通信网络中的测试场景中使用,以便实现一个或多个部件的测试。该一个或多个仿真设备可为测试设备。经由RF电路(例如,其可包括一个或多个天线)进行的直接RF耦合和/或无线通信可由仿真设备用于传输和/或接收数据。
类似于HEVC测试模型(HM),联合探索模型(JEM)软件也构建在基于块的混合视频编码框架(100)上。图1示出了基于块的混合视频编码系统的框图。注意,在本申请中,术语“重构”和“解码”可以互换使用。通常,但不一定,术语“重构”在编码端使用,而“解码”在解码端使用。
在编码之前,视频序列可经过预处理,例如,将颜色变换应用于输入彩色图像(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或执行输入图像分量的重新映射,以便获得对压缩更具弹性的信号分布(例如,使用颜色分量中的一个颜色分量的直方图均衡化)。元数据可与预处理相关联,并且附加到比特流。
输入视频信号102逐块地被处理。HEVC规范区分“块”和“单元”,其中“块”处理样本阵列中的特定区域(例如,亮度、Y),并且“单元”包括与块相关联的所有编码的颜色分量(例如,Y、Cb、Cr或单色)、语法元素和预测数据的并置块(例如,运动向量)。在本申请中,术语“块”可用于指各种大小的数据阵列,并且其可用于指如H.264/AVC中指定的宏块和分区,如在HEVC中的编码树单元(CTU)、编码单元 (CU)、预测单元(PU)、变换单元(TU)、编码块(CB)、预测块 (PB)和变换块(TB)中的任一者,AV1中的超级块或子分区,如在VVC (多功能视频编码)或其它视频编码标准中的CTU、CU、TU、CB和TB。
在HEVC中,扩展块尺寸用于有效地压缩高分辨率(1080p及以上)视频信号。在HEVC中,CU可为最多64×64像素。CU可以被进一步分区为预测单元,向这些预测单元应用单独的预测方法。对于每个输入视频块 (MB或CU),可执行空间预测(160)和/或时间预测(162)。
空间预测(或“帧内预测”)使用来自相同视频图像/切片中已编码的相邻块的样本(其称为参考样本)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。
时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已编码的视频图像的重构像素预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常由一个或多个运动向量发信号通知针对给定视频块的时间预测信号,该一个或多个运动向量指示当前块与其参考块之间的运动的大小和方向。另外,如果支持多个参考图像(诸如H.264/AVC或HEVC 的最新视频编码标准的情况),则对于每个视频块,另外发送其参考图像索引;并且该参考索引用于识别时间预测信号来自参考图像存储库(164) 中的哪个参考图像。
在空间和/或时间预测之后,编码器中的模式决策块(180)例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块中减去预测块 (116);并且预测残差使用变换(104)和量化(106)去相关。
编码器对编码块进行解码以提供用于进一步预测的参考。对量化残差系数进行逆量化(110)和逆变换(112)以形成重构残差,然后将重构残差添加回预测块(126)以形成重构视频块。
编码器也可以跳过变换,并且对未变换的残差信号直接应用量化。编码器也可绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接脉冲编码调制(PCM)编码中,不应用预测,并且将编码单元样本直接编码到比特流中。
在将重构视频块放入参考图像存储库(164)中并用于对未来视频块进行编码之前,可对重构视频块应用另外的环路滤波(166),诸如去块滤波、SAO(样本自适应偏移)和自适应环路滤波。为了形成输出视频比特流120,编码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数都被发送到熵编码单元(108)以进一步被压缩和打包以形成比特流。
图3示出了基于块的视频解码器(200)的总框图。视频解码器通常执行与对应的编码遍次互逆的解码遍次,解码遍次执行视频解码作为编码视频数据的一部分。视频比特流202首先在熵解码单元208处被解包和熵解码。编码模式和预测信息被发送到空间预测单元260(如果是帧内编码)或时间预测单元262(如果是帧间编码)以形成预测块。残差变换系数被发送到逆量化单元210和逆变换单元212以重构残差块。然后预测块和残差块在 226处加在一起。重构块可在被存储在参考图像存储库264中之前进一步经历环路滤波(266)。存储在参考图像存储库中的重构视频(220)可随后被存储、传输或用于驱动显示设备,以及用于预测未来视频块。
经解码的图像还可经历后处理,例如,颜色逆变换(例如,从YCbCr 4:2:0到RGB 4:4:4的转换)或逆重新映射,该逆重新映射执行在预编码处理中执行的逆重新映射过程。后处理可使用在预编码处理中导出并且在比特流中发信号通知的元数据。
HEVC和JEM均粘附到基于块的运动补偿混合视频编码/解码工作流程,如图1和图3所示,并且基于相同的功能模块,如空间预测(即,帧内预测)、时间预测(即,帧间预测)、变换、量化、熵编码和环路滤波。然而,若干编码模块,尤其是与运动补偿预测相关联的模块,被进一步扩展并改进。
图17中示出了根据本文所述的一般方面的方法1700的一个实施方案。方法开始于开始框1701,并且控制进行到框1710,其分配线程以使用并行处理对视频帧进行CABAC解码,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当帧处于较低时间层时,分配更高数量的线程。控制从框1710前进到框1720,以使用分配的线程对视频帧进行解码。
图18中示出了根据本文所述的一般方面的方法1800的第二个实施方案。该方法起始于开始框1801,并且控制前进到框1810,以生成用于编码单元的运动向量。控制从框1810进行到框1820,以用于执行帧间编码单元重构。控制从框1820进行到框1830,以用于执行帧内编码单元重构。控制从框1830进行到框1840,以用于执行所述视频的逆向再整形和环路滤波,其中所述生成步骤和执行步骤在视频的不同部分上同时执行。
图19示出了实施图17或图18的方法的装置1900的一个实施方案。该装置包括处理器1910并且可以通过至少一个端口互连到存储器1920。处理器1910和存储器1920两者还可以具有与外部连接的一个或多个附加互连部。
处理器1910还被配置为在比特流中插入或接收信息,并且使用所述方面中的任一方面来进行压缩、编码或解码。
本文所述的实施方案包括各个方面,包括工具、特征、实施方案、模型、方法等。具体描述了这些方面中的许多方面,
并且至少示出各个特性,通常以可能听起来具有限制性的方式描述。然而,这是为了描述清楚,并不限制这些方面的应用或范围。实际上,所有不同的方面可组合和互换以提供进一步的方面。此外,这些方面也可与先前提交中描述的方面组合和互换。
对于本领域的普通技术人员将显而易见的是,具体实施可产生格式化为携带例如可存储或可传输的信息的各种信号。信息可包括例如用于执行方法的指令或由所述具体实施中的一个具体实施产生的数据。例如,可格式化信号以携带所述实施方案的比特流。可格式化此类信号例如为电磁波 (例如,使用频谱的射频部分)或基带信号。格式化可包括例如对数据流编码并且用编码的数据流调制载体。信号携带的信息可以是例如模拟或数字信息。已知的是,信号可通过各种不同的有线或无线链路发射。信号可存储在处理器可读介质上。
前面部分描述了多个实施方案,跨各种权利要求类别和类型。这些实施方案的特征可以单独提供或以任何组合形式提供。此外,实施方案可包括以下特征、设备或方面中的一个或多个,单独地或以任何组合,跨各种权利要求类别和类型:
·生成经解码的视频流,其中分配线程以使用并行处理对视频帧进行CABAC解码,
·上述方法,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当帧处于较低时间层时,分配更高数量的线程;
·使用所述分配的线程对上述视频帧进行解码。
Claims (17)
1.一种对视频进行解码的方法,所述方法包括:
分配线程以使用并行处理来对视频帧进行CABAC解码,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当所述帧处于较低时间层时,分配更高数量的线程;以及,
使用所述分配的线程对所述视频帧进行解码。
2.一种对视频进行并行解码的方法,所述方法包括:
生成用于编码单元的运动向量;
执行帧间编码单元重构;
执行帧内编码单元重构;以及,
执行所述视频的逆向再整形和环路滤波,
其中所述生成步骤和执行步骤在所述视频的不同部分上同时执行。
3.一种设备,所述设备包括:
存储器;和一个或多个处理器,所述一个或多个处理器被配置为分配线程以使用并行处理来对视频帧进行CABAC解码,其中,与具有较高量化参数的帧的解码相比,为具有低量化参数的帧的解码分配更高数量的线程,相对于帧间解码,为帧内解码分配更高数量的线程,或者为P帧分配更高数量的线程,或者当所述帧处于较低时间层时,分配更高数量的线程;以及,
使用所述分配的线程对所述视频帧进行解码。
4.一种设备,所述设备包括:
存储器;和一个或多个处理器,所述一个或多个处理器被配置为生成用于编码单元的运动向量;
执行帧间编码单元重构;
执行帧内编码单元重构;以及,
执行所述视频的逆向再整形和环路滤波,
其中所述设备被配置为在所述视频的不同部分上所述同时生成并执行。
5.根据权利要求1所述的方法或根据权利要求3所述的设备,其中基于初始分配的性能动态地改变分配的线程的数量。
6.根据权利要求5所述的方法或设备,其中如果类似的先前帧的处理时间大于时间段,则分配给当前视频帧的线程的数量增加。
7.根据权利要求5所述的方法或设备,其中如果CABAC解码与重构解码之间的等待时间大于时间段,则分配给当前视频帧的线程的数量减少。
8.根据权利要求5所述的方法或设备,其中线程的分配基于先前帧的权重,所述先前帧的权重基于图像顺序编号距离、时间层和帧类型。
9.根据权利要求2所述的方法或根据权利要求4所述的设备,其中运动向量生成基于左侧、上方和/或右上方的相邻编码单元。
10.根据权利要求2所述的方法或根据权利要求4所述的设备,其中用于右上方编码树单元的运动向量的生成在进行到当前编码树单元运动向量生成之前完成。
11.根据权利要求2所述的方法或根据权利要求4所述的设备,其中经帧间编码的编码单元重构与帧内模式和帧间和帧内联合预测模式重构分开执行。
12.根据权利要求2所述的方法或根据权利要求4所述的设备,其中在所述编码单元的一个或多个部分上并行地执行编码单元重构。
13.根据权利要求2所述的方法或根据权利要求4所述的设备,其中当运动向量的长度小于阈值时使用解码端运动向量细化。
14.一种装置,所述装置包括:
根据权利要求3至13中任一项所述的设备;和
以下项中的至少一者:(i)天线,所述天线被配置为接收信号,所述信号包括视频块;(ii)频带限制器,所述频带限制器被配置为将所接收的信号限制为包括所述视频块的频带;和(iii)显示器,所述显示器被配置为显示表示视频块的输出。
15.一种非暂态计算机可读介质,所述非暂态计算机可读介质包含用于使用处理器播放的数据内容,所述数据内容根据权利要求1、2和5至13中任一项所述的方法或者由根据权利要求4至13中任一项所述的装置进行解码。
16.一种信号,所述信号包括用于使用处理器播放的视频数据,所述视频数据根据权利要求1、2和5至13中任一项所述的方法或者由根据权利要求4至13中任一项所述的装置进行解码。
17.一种计算机程序产品,所述计算机程序产品包括指令,当由计算机执行所述程序时,所述指令使所述计算机执行根据权利要求1、2和5至11中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962939858P | 2019-11-25 | 2019-11-25 | |
US62/939,858 | 2019-11-25 | ||
PCT/US2020/061909 WO2021108341A1 (en) | 2019-11-25 | 2020-11-24 | Methods and apparatus for performing real-time vvc decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114667733A true CN114667733A (zh) | 2022-06-24 |
Family
ID=73855552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080079008.5A Pending CN114667733A (zh) | 2019-11-25 | 2020-11-24 | 用于执行实时vvc解码的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230007283A1 (zh) |
EP (1) | EP4066496A1 (zh) |
JP (1) | JP2023502401A (zh) |
CN (1) | CN114667733A (zh) |
WO (1) | WO2021108341A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230100895A1 (en) * | 2021-09-24 | 2023-03-30 | Mediatek Inc. | Video processing circuit for performing size-based parallel in parallel out computation with bubble cycle reduction |
CN115146664B (zh) * | 2022-09-06 | 2022-12-23 | 无锡盈达聚力科技有限公司 | 图像采集方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080165864A1 (en) * | 2007-01-09 | 2008-07-10 | Alexandros Eleftheriadis | Systems and methods for error resilience in video communication systems |
US20120250772A1 (en) * | 2011-04-01 | 2012-10-04 | Microsoft Corporation | Multi-threaded implementations of deblock filtering |
CN103124345A (zh) * | 2011-11-18 | 2013-05-29 | 江南大学 | 并行编码方法 |
CN104038766A (zh) * | 2014-05-14 | 2014-09-10 | 三星电子(中国)研发中心 | 用于以图像帧为基础执行并行视频编码的装置及其方法 |
WO2016057817A1 (en) * | 2014-10-08 | 2016-04-14 | Vid Scale, Inc. | Optimization using multi-threaded parallel processing framework |
CN105992008A (zh) * | 2016-03-30 | 2016-10-05 | 南京邮电大学 | 一种在多核处理器平台上的多层次多任务并行解码算法 |
US20180124399A1 (en) * | 2015-04-06 | 2018-05-03 | Dolby Laboratories Licensing Corporation | In-loop block-based image reshaping in high dynamic range video coding |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314777B (zh) * | 2019-12-06 | 2021-03-30 | 北京沃东天骏信息技术有限公司 | 视频生成方法及装置、计算机存储介质、电子设备 |
-
2020
- 2020-11-24 CN CN202080079008.5A patent/CN114667733A/zh active Pending
- 2020-11-24 JP JP2022529082A patent/JP2023502401A/ja active Pending
- 2020-11-24 WO PCT/US2020/061909 patent/WO2021108341A1/en unknown
- 2020-11-24 US US17/779,212 patent/US20230007283A1/en active Pending
- 2020-11-24 EP EP20828190.7A patent/EP4066496A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080165864A1 (en) * | 2007-01-09 | 2008-07-10 | Alexandros Eleftheriadis | Systems and methods for error resilience in video communication systems |
US20120250772A1 (en) * | 2011-04-01 | 2012-10-04 | Microsoft Corporation | Multi-threaded implementations of deblock filtering |
CN103124345A (zh) * | 2011-11-18 | 2013-05-29 | 江南大学 | 并行编码方法 |
CN104038766A (zh) * | 2014-05-14 | 2014-09-10 | 三星电子(中国)研发中心 | 用于以图像帧为基础执行并行视频编码的装置及其方法 |
WO2016057817A1 (en) * | 2014-10-08 | 2016-04-14 | Vid Scale, Inc. | Optimization using multi-threaded parallel processing framework |
US20180124399A1 (en) * | 2015-04-06 | 2018-05-03 | Dolby Laboratories Licensing Corporation | In-loop block-based image reshaping in high dynamic range video coding |
CN105992008A (zh) * | 2016-03-30 | 2016-10-05 | 南京邮电大学 | 一种在多核处理器平台上的多层次多任务并行解码算法 |
Non-Patent Citations (1)
Title |
---|
YI-WEN CHEN ET AL: "CE4-related: Modified History-based MVP to support parallel processing", 《JVET MEETING》, 12 October 2018 (2018-10-12) * |
Also Published As
Publication number | Publication date |
---|---|
WO2021108341A1 (en) | 2021-06-03 |
JP2023502401A (ja) | 2023-01-24 |
US20230007283A1 (en) | 2023-01-05 |
EP4066496A1 (en) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112106367B (zh) | 基于编码和解码时延减少的基于模板的帧间预测技术 | |
CN112369032B (zh) | 用于降低解码器侧运动修正的译码等待时间的方法和装置 | |
US20200099946A1 (en) | Optimization using multi-threaded parallel processing framework | |
JP2023030205A (ja) | クロスプレーンフィルタリングを使用する強化されたクロマコーディング | |
JP2022519358A (ja) | オプティカルフローを用いたインター予測リファインメントのためのシステム、装置、および方法 | |
CN113396591A (zh) | 针对用于基于模板的视频译码的改进的线性模型估计的方法、架构、装置和系统 | |
WO2019089864A1 (en) | Overlapped block motion compensation | |
JP2022501906A (ja) | 双方向オプティカルフローのための複雑性低減およびビット幅制御 | |
US20220191502A1 (en) | Methods and apparatus for prediction refinement for decoder side motion vector refinement with optical flow | |
KR20210058938A (ko) | 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 | |
JP2022536967A (ja) | オプティカルフローによる動き補償のための精度精緻化 | |
CN114667733A (zh) | 用于执行实时vvc解码的方法和装置 | |
WO2020185747A1 (en) | Methods and systems for post-reconstruction filtering | |
RU2789522C2 (ru) | Методики промежуточного предсказания на основе шаблона, основанные на уменьшении задержки кодирования и декодирования | |
RU2811563C2 (ru) | Системы, устройства и способы для уточнения интерпрогнозирования с помощью оптического потока | |
WO2025059039A1 (en) | Feature tensor compression with distribution adjustment | |
JP2025501723A (ja) | ビデオ圧縮のための時間的注意ベースのニューラルネットワーク | |
WO2025059128A1 (en) | Feature tensor compression with downscaling | |
EP3942822A1 (en) | Inter prediction memory access bandwidth reduction method with optical flow compensation | |
JP2021532622A (ja) | 複数の領域を有するループ内フィルタ |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240823 Address after: Delaware, USA Applicant after: Interactive Digital VC Holdings Country or region after: U.S.A. Address before: Wilmington, Delaware, USA Applicant before: VID SCALE, Inc. Country or region before: U.S.A. |