CN117356094A - 用于视频处理的方法、设备和介质 - Google Patents
用于视频处理的方法、设备和介质 Download PDFInfo
- Publication number
- CN117356094A CN117356094A CN202280026660.XA CN202280026660A CN117356094A CN 117356094 A CN117356094 A CN 117356094A CN 202280026660 A CN202280026660 A CN 202280026660A CN 117356094 A CN117356094 A CN 117356094A
- Authority
- CN
- China
- Prior art keywords
- block
- video
- isc
- string
- reordering
- 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
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/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/182—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 a pixel
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的实施例提供了一种用于视频处理的解决方案。在一些实施例中,提出了一种用于视频处理的方法,该方法包括:对至少一个帧内串复制(ISC)参考串重排序,该至少一个ISC参考串与视频的块的至少一个串匹配;基于重排序的至少一个ISC参考串来重建块;以及执行重建块和视频的码流之间的转换。所提出的方法可以有利地提高编解码效率。
Description
技术领域
本公开的实施例一般性地涉及视频编解码技术,并且更具体地涉及利用重排序的帧内串复制(ISC)。
技术背景
帧内串复制(ISC)模式,也称为串匹配(SM)或串预测(SP),是提高屏幕内容编解码(SCC)性能的有效编解码工具。串是在编解码单元(CU)内按扫描顺序排列的一系列连续像素。串预测的基本操作是将当前CU分解为大小可变的多个串,并在预定搜索范围内逐一搜索与多个串匹配的参考串。在屏幕内容图片中可以更频繁地观察到对称性,因为许多文本字符和计算机生成的图形是对称的。但是,独立地对模式及其对称模式进行编解码是冗余的。
发明内容
本公开的实施例提供了一种用于视频处理的解决方案。
在第一方面中,提出了一种用于视频处理的方法。在该方法中,至少一个ISC参考串被重排序。所述至少一个ISC参考串与视频的块的至少一个串匹配。基于重排序的至少一个ISC参考串来重建块。在重建的块和视频的码流之间执行转换。
在第二方面中,提出了另一种用于视频处理的方法。在该方法中,确定是否为视频启用了至少一个ISC参考串的重排序。视频被处理,其包括是否启用至少一个ISC参考串的重排序的第一指示。
在第三方面中,提出了一种电子设备。该电子设备包括处理单元和存储器,存储器耦合到处理单元并具有存储在其上的指令,指令在由处理单元执行时使电子设备执行根据本公开的第一或第二方面的方法。
在第四方面中,提出了一种非瞬态计算机可读存储介质。非瞬态计算机可读存储介质存储指令,指令使处理器执行根据本公开的第一或第二方面的方法。
在第五方面中,提出了一种非瞬态计算机可读记录介质。非瞬态计算机可读记录介质存储视频的码流,视频由根据本公开的第一或第二方面的方法生成,其中方法由视频处理装置执行。
提供本发明内容是为了以简化的形式介绍以下在详细描述中进一步描述的概念的选择。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了根据本公开的一些实施例的示例视频编解码系统的框图;
图2示出了根据本公开的一些实施例的第一示例视频编码器的框图;
图3示出了根据本公开的一些实施例的示例视频解码器的框图;
图4示出了编码器框图的示例;
图5示出了当前CU的示例串划分;
图6示出了对称ISC的示例;
图7示出了根据本公开的一些实施例的用于视频处理的方法的流程图;
图8示出了根据本公开的一些其他实施例的另一种用于视频处理的方法的流程图;以及
图9示出了其中可以实现本公开的各种实施例的计算设备的框图。
在附图中,相同或相似的附图标记通常指代相同或相似元件。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是图示可以利用本公开的技术的示例视频编解码系统100的框图。如所示出的,视频编解码系统100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备之类的源。视频捕获设备的示例包括但不限于从视频内容提供商接收视频数据的接口、用于生成视频数据的计算机图形系统和/或其组合。
视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成码流。码流可以包括形成视频数据的编解码表示的位序列。码流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。经编码的视频数据可以通过网络130A经由I/O接口116直接传输至目的设备120。经编码的视频数据也可以存储在存储介质/服务器130B上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口连接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他现有和/或将来的标准。
图2是示出根据本公开的一些实施例的视频编码器200的示例的方框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。
视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器200可以包括划分单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重建单元212、缓冲213和熵编码单元214,该预测单元202可以包括模式选择单元203、运20动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。
划分单元201可以将图片划分成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内编解码或帧间编解码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择针对运动矢量的分辨率(例如,亚像素精度或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲213的除了与当前视频块相关联的图片之外的图片的经解码样本,来确定针对当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以是指由宏块构成的图片的一部分,所有宏块均基于同一图片内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以是指由独立于同一图片中的宏块的宏块构成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片,以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,该参考索引指示列表0或列表1中的包含参考视频块的参考图片,并且该运动矢量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元204可以对当前视频块执行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成多个参考索引和多个运动矢量,该多个参考索引指示列表0和列表1中的包含多个参考视频块的多个参考图片,并且该多个运动矢量指示在多个参考视频块与当前视频块之间的多个空间位移。运动估计单元204可以输出当前视频块的多个参考索引和多个运动矢量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的多个参考视频块来生成针对当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来通过信号传输当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中向视频解码器300指示一值,该值指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示在当前视频块的运动矢量与所指示的视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量以及运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以以预测性的方式通过信号传输运动矢量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的经解码样本来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各个语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本部分的残差视频块。
在其他示例中,例如在跳过模式中,针对当前视频块可以不存在针对当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成针对当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重建残差视频块。重建单元212可以将经重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重建视频块,以供存储在缓冲213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据并且输出包括该熵编码数据的码流。
图3是示出根据本公开的一些实施例的视频解码器300的示例的方框图,视频解码器300可以是图1所示的系统100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、以及重建单元306和缓冲307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200所描述的编码过程相对的解码过程。
熵解码单元301可以取回经编码的码流。经编码的码流可以包括经熵编码的视频数据(例如,经编码的视频数据块)。熵解码单元301可以对经熵编码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据中确定运动信息,该运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定该信息。AMVP被使用,包括基于相邻PB的数据和参考图片得出数个最可能的候选项。运动信息通常包括水平和竖直运动矢量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“合并模式”可以是指从空间或时间上相邻的块中导出运动信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器来执行内插。针对以亚像素精度被使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并且运动补偿单元302可以使用插值滤波器来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的大小、描述经编码视频序列的图片的每个宏块如何被划分的划分信息、指示每个划分如何被编码的模式、针对每个帧间编解码块的一个或多个参考帧(和参考帧列表)、以及对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”可以是指在熵编码、信号预测和残差信号重建方面可以独立于同一图片的其他条带而被解码的数据结构。条带可以是整个图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在码流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元304反量化(即,去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元305应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元302或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波器以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编解码步骤,但是应当理解的是取消编解码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.概述
本公开涉及视频编解码技术。具体来说,其与视频编解码中的帧内串复制有关。其可以应用于现有的视频编解码标准,如HEVC,或标准的通用视频编解码(VVC)。其也可以能够应用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准已主要通过众所周知的ITU-T和ISO/IEC标准的发展而发展起来了。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4视觉,这两个组织联合制定了H.264/MPEG-2视频和H.264/MMPEG-4高级视频编解码(AVC)以及H.264/HEVC标准。自从H.262,视频编解码标准基于混合视频编解码结构,其中利用时间预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)被创建,以致力于与HEVC相比降低50%码率的VVC标准。
VVC草案的最新版本,即通用视频编解码(草案8),可在以下网址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=9675
VVC的最新参考软件VTM可在以下网址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-8.0
2.1典型视频编解码器的编解码流程
图4示出了VVC的编码器框图的示例,其包含三个内环路滤波块:去块滤波器(DF)、采样自适应偏移(SAO)和自适应环路滤波器(ALF)。与使用预定义滤波器的DF不同,SAO和ALF利用当前图片的原始样本,通过分别添加偏移量和应用有限脉冲响应(FIR)滤波器来减少原始样本和重建样本之间的均方误差,其中编解码边信息通过信号传输偏移量和滤波器系数。ALF位于每张图片的最后处理阶段,可以被视为一种试图捕捉和修复先前阶段产生的伪影的工具。
2.2字符帧内串复制模式
帧内串复制(ISC)模式,也称为串匹配(SM)或串预测(SP),是提高SCC性能的有效编解码工具。串是CU内按扫描顺序排列的一系列连续像素。串预测将CU划分为多个串,以充分利用屏幕内容中各种大小、形状和位置的匹配模式。
串预测的基本操作是将正在被编解码的当前CU分解成可变大小的多个串,并在当前重建图片中的预定搜索范围内逐一搜索最佳匹配的参考串。在串预测编解码的CU中既没有变换也没有量化,并且最优参考串选择过程很简单。图5显示了将CU划分为五个串的示例。
ISC已在AVS-3中采用。
3.问题
ISC目前的设计存在以下问题:
在屏幕内容图片中可以更频繁地观察到对称性,因为许多文本字符和计算机生成的图形是对称的。独立地对模式及其对称模式进行编解码是冗余的。
4.详细描述
以下实施例应被视为解释一般概念的示例。这些实施例不应以狭隘方式解释。此外,这些实施例可以以任何方式进行组合。
min(x,y)返回x和y中较小的一个。
“串”可以是在变换单元(TU)/预测单元(PU)/编解码单元(CU)/变换块(TB)/预测块(PB)/编解码块(CB)内按扫描顺序排列的一系列连续像素。TU/PU/CU可以包括一个或多个颜色分量,例如只有用于双树划分的亮度分量,并且当前编解码的颜色分量是亮度;并且用于双树划分的两个色度分量和当前编解码的颜色分量是色度;或者对于单个树的情况为三个颜色分量。
在以下公开中,W和H表示所提到的块的宽度和高度。
1.提出了在用于预测或重建当前块之前,可以对ISC参考串中的样本进行重排序或重排列。这种方法被称为“重排序ISC”(RISC)。
a.假设当前块的串表示为P(i),并且参考串表示为S(i)(0<=i<L),其中S(ⅰ)是参考串中第i个样本的样本值,P(ⅰ)是作为预测或重建值的当前块的串中的第i个样本的样本值,并且L是串的长度。提出了P(i)=S(f(i)),其中f是1-1函数,将从0到L-1的第一索引映射到从0到L-1的第二索引。要求f不能是相同的函数。即对于从0到L-1的所有i-s,不允许f(i)=i。
2.作为RISC的示例,提出了ISC参考串在用于预测当前块之前可以首先水平或垂直翻转。这种方法被称为“对称ISC”(SISC),如图6所示。
3.是否和/或如何将RISC/SISC应用于第一块可以取决于第一块的颜色分量和/或颜色格式。
a.例如,RISC/SISC可以应用于第一块的第一分量(例如亮度),而正常帧内预测总是用于第一块的第二分量(例如Cb或Cr)。
b.例如,RISC/SISC可以应用于第一块的所有颜色分量。
4.是否和/或如何将RISC/SISC应用于第一块可以取决于第一块的尺寸。
a.只有W>=T1和H>=T2,RISC/SISC才适用。例如,T1=T2=4。
b.只有W<=T1和H<=T2,RISC/SISC才适用。例如,T1=T2=32。
c.只有max(W,H)<=T1,RISC/SISC才适用。例如,T1=32。
d.只有min(W,H)>=T1,RISC/SISC才适用。例如,T1=4。
e.只有W*H>=T1,RISC/SISC才适用。例如,T1=16。
f.只有W*H<=T1,RISC/SISC才适用。例如,T1=1024。
g.在上述项中,“>=”可以被“>”取代,“<=”可以会被“<”取代。
5.是否可以应用RISC/SISC可以在高级单元中通过信号传输,例如在序列参数集(SPS)/序列头/图片参数集(PPS)/图片头/条带头中。
a.例如,可以在序列头中通过信号传输risc_enable_flag,以指示risc是否可以应用于该序列。
i.只有ISC被允许用于序列时(例如ISC_enable_flag等于1),才可以通过信号传输risc_enable_flag。
b.例如,可以在序列头中通过信号传输sisc_enable_flag,以指示是否可以将sisc应用于该序列。
i.只有当ISC被允许用于序列(例如ISC_enable_flag等于1),才可以通过信号传输sisc_enable_flag。
6.在第一块上是否使用RISC/SISC的信息(表示为RISC_flag/SISC_flag)可以有条件地通过信号传输。
a.如果RISC_flag/SISC_flag不存在于码流中,则其被推断为诸如0之类的默认值。
b.只有ISC被用于第一块,RISC_flag/SISC_flag才被通过信号传输。
c.只有RISC/SISC被允许使用,RISC_flag/SISC_flag才被通过信号传输,其由包含第一块的高级单元指示。
d.如果确定RISC/SISC不能够应用于该块,则不通过信号传输RISC_flag/SISC_flag。
e.是否通过信号传输RISC_flag/SISC_flag可以取决于第一块的尺寸。
i.只有W>=T1和H>=T2,RISC_flag/SISC_flag才通过信号被传输。例如,T1=T2=4。
ii.只有W<=T1和H<=T2,RISC_flag/SISC_flag才通过信号被传输。例如,T1=T2=32。
iii.只有max(W,H)<=T1,RISC_flag/SISC_flag才被通过信号传输。例如,T1=32。
iv.只有min(W,H)>=T1,RISC_flag/SISC_flag才被通过信号传输。例如,T1=4。
v.只有W*H>=T1,RISC_flag/SISC_flag才通过信号被传输。例如,T1=16。
vi.只有W*H<=T1,RISC_flag/SISC_flag才被通过信号传输。例如,T1=1024。
vii.在上述项中,“>=”可以被“>”取代,“<=”可以会被“<”取代。
7.可以在块的第一语法元素(表示为RISC_flag)之后通过信号传输至少第二语法元素(被表示为x_element)。RISC_flag指示是否将RISC应用于该块。
a.x_element可以指示重排序方法。
b.以RISC_flag为条件来通过信号传输x_element。
i.只有RISC_flag指示使用RISC,x_element才通过信号传输。
c.x_element和/或RISC_flag可以通过算术编解码进行编解码。
i.x_element和/或RISC_flag可以被旁路编解码。
ii.x_element和/或RISC_flag可以用一个或多个上下文来编解码。
1)用于对当前块的RISC_flag进行编解码的上下文可以取决于相邻块的RIS_。
2)用于对当前块的x_element进行编解码的上下文可以取决于相邻块的x_element。
8.可以在块的第一语法元素(表示为SISC_flag)之后通过信号传输第二语法元素(指示为sisc_dir_flag)。
a.SISC_flag指示是否将SISC应用于该块。
b.sisc_dir_flag指示哪种类型的SISC被应用于块的所有串。例如,sisc_dir_flag=0表示使用水平SISC,而sisc_dir_flag=1表示使用垂直SISC。
c.以SISC_flag为条件来通过信号传输sisc_dir_flag。
i.只有SISC_flag指示使用SISC,才通过信号传输sisc_dir_flag。
d.sisc_dir_flag和/或SISC_flag可以通过算术编解码进行编解码。
i.sisc_dir_flag和/或SISC_flag被旁路编解码。
ii.sisc_dir_flag和/或SISC_flag用一个或多个上下文被编解码。
1)用于对当前块的SISC_flag进行编解码的上下文可以取决于相邻块的SISC_flag。
2)用于对当前块的sisc_dir_flag进行编解码的上下文可以取决于相邻块的sisc_dir_flags。
e.如果确定只有一种类型的SISC是可应用的,则不通过信号传输SISC_dir_flag。
9.可以在当前块中的串的第一语法元素和第二语法元素(表示为SISC_flag和sisc_dir_flag)之后通过信号传输语法元素集合(表示为sisc_str_flag)。
a.以SISC_flag为条件来通过信号传输sisc_str_flag。
i.只有SISC_flag指示使用SISC,才通过信号传输sisc_str_flag。
b.以isc_match_type为条件来通过信号传输sisc_str_flag。
i.只有isc_match_flag指示当前串与重建像素的串匹配,才通过信号传输sisc_str_flag。
c.可以通过算术编解码对sisc_str_flag进行编解码。
i.可以对sisc_str_flag进行旁路编解码。
ii.可以用一个或多个上下文对sisc_str_flag进行编解码。
1)用于对当前块的sisc_str_flag进行编解码的上下文可以取决于相邻块的sisc_str_flags。
d.如果确定只有一种SISC能够应用于当前块的所有串,则不通过信号传输sisc_str_flag。
5.实施例
5.1典型视频编解码器的编解码流程
7.1.2.2序列头
表14序列头定义
文件修改7,1,11
7.2.2.2序列头
翻转串复制帧内预测启用标志sisc_enable_flag
二进制变量。值“1”指示可以使用翻转串来复制帧内预测方法;值“0”指示反转串不应用于复用帧内预测方法。SiscEnableFlag的值等于sisc_enable_flag。如果码流中不存在sisc_enable_flag,则SiscEnableFlag的值为0。
7.2.6编解码单元
翻转串复制帧内模式标志sisc_flag
二进制变量。值“1”指示当前编解码单元是反向串复制帧内预测模式;值“0”指示当前编解码单元未处于反向串复制帧内预测模式。
SiscFlag具有等于sisc_flag的值。如果码流中不存在sisc_flag,则SiscFlag的值等于0。
翻转串复制帧内预测方向标志sisc_dir_flag
二进制变量。值“1”指示当前编解码单元应当使用垂直翻转串来复制帧内预测;值“0”指示当前编解码单元应使用水平翻转串复制帧内预测。SiscDirFlag的值等于sisc_dir_flag。如果码流中不存在sisc_dir_flag,则SiscDirFlag具有值0。
7.2.11串行复制的帧内预测
用于串复制的帧内预测的匹配类型sisc_str_flag[i]
值“1”指示当前编解码单元的I部分的匹配串需要翻转;值“0”指示不需要翻转部分I的匹配串。SiscStrFlag[i]等于sisc_str_flag[i]的值。
如果码流中不存在sisc_str_flag[i],则sisc_STRFLAG[i]的值为0。
8.3.3.2.1二进制符号模型的导出
表63语法元素对应的ctxIdxStart和ctxIdxMinc
| 符合语法的元素 | ctxIdxInc | ctxIdxStart | ctx的数目 |
| sisc_flag | 0 | 407 | 1 |
| sisc_dir_flag | 0 | 408 | 1 |
| isc_match_type | 0 | 407409 | 1 |
| sisc_str_flag | 0 | 410 | 1 |
8.3.4.1的概述
表65语法元素的反二值化方法
| 符合语法的元素 | 反二值化方法 |
| … | |
| sisc_flag | sisc_flag=synElVal |
| sisc_dir_flag | sisc_dir_flag=synElVal |
| sisc_str_flag | sisc_str_flag=synElVal |
9.7.3.2常见串模式的派生预测样本
A)初始化。
| NoOverlapStrNum=1 |
| RemainingStrLen=StrLen[i] |
| SymmStr=SiscFlag&&SiscStrFlag |
D)使k从1到1~NoOverlapStrNum。对于每个K,使J从0到NOOVERLAPSTRLEN[K]-1,执行以下操作:
如果当前预测块是亮度预测块,则当前预测块的左上角样本在当前图像的亮度样本矩阵中的位置是(xE,yE),并且当前预测单元部分I串矢量是Sv[i]。执行以下操作:
如果IscMatchType[i]等于1,或者IscMatchType[i]等于0并且PixelMatchTypeFlag[i][j]等于1,亮度预测采样矩阵predMatrixIsc元素predMatrix Isc[xj][yj]的值是当前图像未滤波重建的整个像素精度亮度采样矩阵中的位置(xPos,yPos)的采样值。
A)如果SiscFlag具有值0或SiscStrFlag具有值0。
| xPos=xE+xj+Sv[i]->x |
| yPos=yE+yj+Sv[i]->y |
B)否则,如果SiscFlag具有值1,并且SiscStrFlag具有值1,并且SiscDirFlag具有值0。
| xPos=xE+(CuWidth–xj–1)+Sv[i]->x |
| yPos=yE+yj+Sv[i]->y |
C)否则,如果SiscFlag具有值1,SiscStrFlag具有值1,并且SiscDirFlag具有值1。
| xPos=xE+xj+Sv[i]->x |
| yPos=yE+(CuHeight-yj–1)+Sv[i]->y |
否则,如果IsMatchType[I]等于0并且PixelMatchTypeFlag[i][j]等于0,则predMatrixIsc[xj][yj][YJ]等于当前预测单元的IsUnmatchedPrixely[I]的值。
如果当前预测块是色度预测块,并且xj&0x1和yj&0x1的值都等于0,则包括当前预测块的左上角样本的亮度预测块的右上角样本在当前图像的亮度样本矩阵中的位置是(xE,yE),并且当前预测单元部分I串矢量是Sv[i]。执行以下操作:
如果IscPixelMatchType[i][j]等于1并且IscMatchType[i]等于0,或者IscMatchType[i]等于1,则色度预测采样矩阵predMatrixIsc的元素predMatrixIsc[X][Y]的值是当前图像未滤波重建的整个像素精度色度采样矩阵中的位置(xPos,yPos)的采样值。
A)如果SiscFlag具有值0或SiscStrFlag具有值0。
| xPos=(xE+xj+Sv[i]->x)>>1 |
| yPos=(yE+yj+Sv[i]->y)>>1 |
B)否则,如果SiscFlag具有值0,并且SiscStrFlag具有值1,并且SiscDirFlag具有值0。
| xPos=(xE+(CuWidth–xj–1)+Sv[i]->x)>>1 |
| yPos=(yE+yj+Sv[i]->y)>>1 |
C)否则,如果SiscFlag具有值1,SiscStrFlag具有值1,并且SiscDirFlag具有值1。
| xPos=(xE+xj+Sv[i]->x)>>1 |
| yPos=(yE+(CuHeight-yj–1)+Sv[i]->y)>>1 |
如果IscMatchType[i]等于0并且IscPixelMatchType[i][j]等于0,则Cb分量色度预测样本矩阵PREDMATRIXISC的元素predMatrixIsc[X][Y]的值等于当前预测单元的IscUnmatchedPixelCb[i][j]的值;Cr分量色度预测样本矩阵prestrixisc的元素prestrixisc[x][y]的值等于当前预测单元的IscUnmatchedPixelCr[i][j]的值。
图7示出了根据本公开的一些实施例的用于视频处理的方法700的流程图。
如图7所示,在705,至少一个ISC参考串被重排序(或重排列)。至少一个ISC参考串与视频的块的至少一个串相匹配。在710,基于重排序的至少一个ISC参考串来重建块。在715,在重建的块和视频的码流之间执行转换。在本公开的上下文中,ISC参考串的重排序将被称为重排序ISC(RISC)。
根据本公开的一些实施例,在串预测之后,进一步对得到的ISC参考串进行重排序。如上所述,由于许多文本字符和计算机生成的图形是对称的,对称性在屏幕内容图片中越来越常见。ISC参考串的重排序可以避免独立地对模式及其对称模式进行冗余处理。这样,视频编解码可以更高效,并且因此可以提高SCC性能。
在一些实施例中,可以通过对至少一个ISC参考串中的一个ISC参考串的样本进行重排序来对该至少一个ISC参考串进行重排序。例如,在通过在预定搜索范围中搜索以与块的串匹配而获得ISC参考串之后,可以对ISC参考串的样本进行重排序。如果ISC参考串被表示为具有0<=i<L的S(i)(L表示任何合适的正整数),则重排序的ISC参考串可以被表示为S(f(i)),其中f()用于将从0到L-1的第一索引映射到从0到L-1的不同的第二索引。
在一些实施例中,可以通过水平地或垂直地翻转至少一个ISC参考串的多个样本来对至少一个ISC参考串进行重排序。如图6所示,在水平翻转中,块的五个串的样本被水平翻转。在垂直翻转中,块的五个串的样本被垂直翻转。在本公开的上下文中,ISC参考串的这种水平或垂直翻转将被称为对称ISC(SISC)。这样,视频中的图案及其对称图案可能不会被独立和冗余地处理,这在视频处理中更有效或更高效。
在一些实施例中,可以基于块的分量和/或格式来获得要重排序的至少一个ISC参考串。在一些实施例中,与块的一个或多个分量或甚至所有分量的至少一个串匹配的至少一个ISC参考串可以被重排序。例如,与块的第一分量(例如亮度)相对应的ISC参考串可以被重排序,而正常帧内预测总是用于块的第二分量(例如Cb或Cr)。作为另一示例,要重排序的ISC参考串可以对应于块的所有颜色分量。要重排序的ISC参考串的这种选择更加灵活和高效。
在一些实施例中,可以基于块的尺度来确定将对至少一个ISC参考串执行一种类型的重排序。例如,如果满足与块的宽度或高度中的至少一个相关联的条件,则可以确定该种类型的重排序要被执行。条件可以包括块的宽度在第一范围内,块的高度在第二范围内,块的宽度和高度的最小值在第三范围内,该块的宽度与高度的最大值在第四范围内,或者该块的宽度与高度的乘积在第五范围内。
作为示例,如果W>=T1且H>=T2,其中T1=T2=4,如果W<=T1且H<=T2,其中T1=T2=32,如果max(W,H)<=T1,其中T1=32,如果min(W,H)>=T1,其中T1=4,如果W*H>=T1其中T1=16,或者如果W*H<=T1其中T1=1024,则可以确定RISC或SISC是适用的。应该理解的是,“>=”可以替换为“>”,“<=”可以被替换为“<”。还应当理解,这里所述的特定值仅用于说明的目的,而不暗示对本公开的范围的任何限制。因此,ISC参考串的重排序可以适应块的尺度,从而进一步提高视频编解码的效率。
图8示出了根据本公开的一些其他实施例的用于视频处理的另一方法800的流程图。
如图8所示,在805,确定是否针对视频启用至少一个ISC参考串的重排序。在810,处理视频,该视频包括是否启用至少一个ISC参考串的重排序的第一指示。
根据本公开的一些实施例,可以在视频处理中启用对得到的ISC参考串的重排序。这样,可以简化视频处理,从而提高视频编解码的效率。
在一些实施例中,第一指示可以包括在视频的序列参数集(SPS)、序列头、图片参数集(PPS)、图片头或条带头中的至少一项中。在至少一个ISC参考串的重排序被应用于视频的块的情况下,第一指示可以被包括在包含该块的高级单元中,例如在SPS、序列头、PPS、图片头和/或条带头中。
为了说明的目的,第一指示可以由risc_enable_flag或sisc_enable_frag表示。如果risc_enable_flag或sisc_enable_frag等于1,则指示启用了对至少一个ISC参考串的重排序,反之亦然。应该理解,值“1”用于指示启用对至少一个ISC参考串的重排序,这只是说明性的,但而限制。在一些实施例中,risc_enable_flag或sisc_enable_frag的值“0”可以指示重排序的启用。
在一些实施例中,第一指示可以被包括在视频的序列的序列头中,以指示针对该序列启用了对至少一个ISC参考串的重排序。在一些实施例中,如果ISC被允许用于序列,则第一指示可以被包括在序列的序列头中。因此,可以避免不必要地通过信号传输第一指示,从而提高编解码效率。
在一些实施例中,可以在视频中包括第二指示,以指示是否针对视频的块应用对至少一个ISC参考串的重排序。例如,可以确定是否通过信号传输第二指示。如果确定第二指示被通过信号传输,则第二指示可以被包括在视频中。为了说明的目的,第一指示可以由RISC_flag或SISC_flag表示。
在一些实施例中,如果第二指示的值是默认值,则可以确定不存在第二指示。例如,如果RISC_flag或SISC_flag不存在于视频的码流中,则可以将其推断为默认值(例如0)。
在一些实施例中,如果ISC被用于块,则可以确定第二指示被通过信号传输。备选地,或者附加地,如果允许将至少一个ISC参考串的重排序用于块。例如,如果包含块的高级单元指示允许使用RISC或SISC,则可以通过信号传输第二指示。备选地,或者附加地,如果确定对至少一个ISC参考串的重排序不能够应用于该块,则第二指示可以不存在或者不被通过信号传输。因此,可以避免不必要的信令以进一步提高编解码效率。
在一些实施例中,可以基于块的尺寸来通过信号传输第二指示。例如,如果满足与块的宽度或高度中的至少一个相关联的条件,则可以确定通过信号传输第二指示。例如,如果W>=T1且H>=T2,其中T1=T2=4,如果W<=T1且H=T2,其中T1=T2=32,如果max(W,H)<=T1,其中T1=32,如果min(W,H)>=T1,其中T1=4,如果W*H>=T1其中T1=16,或者如果W*H<=T1,其中T1=1024,则第二指示可以通过信号被传输。应该理解,“>=”可以用“>”代替,“<=”可以被“<”代替。还应该理解,这里所述的特定值仅用于说明目的,而不对本公开的范围提出任何限制。这样,可以进一步减少第二指示的不必要的信令。
在一些实施例中,第二指示由视频中的用于块的第一语法元素承载。为了说明的目的,第一语法元素可以表示为RISC_flag,以指示是否将RISC应用于块。
在一些实施例中,用于块的第二语法元素被包括在视频中,以指示对至少一个ISC参考串的重排序的类型。例如,第二语法元素可以表示为x_element,其可以在用于块的RISC_flag之后通过信号传输以指示重排序类型或重排序方法。
在对至少一个ISC参考串执行水平或垂直翻转以对ISC参考串重排序的实施例中,第二语法元素可以指示至少一个ISC参考串是水平翻转还是垂直翻转。在这种情况下,第二语法元素可以表示为sisc_dir_flag,而第一语法元素可以被表示为SISC_flag,以指示是否将SISC应用于块。在一些实施例中,如果至少一个ISC参考串的多于一种类型的重排序能够应用于块,则第二语法元素可以被包括在视频中。例如,如果确定只有一种类型(或种类)的SISC是可应用的,则不通过信号传输sisc_dir_flag。
在一些实施例中,sisc_dir_flag可以指示哪种类型的SISC被应用于块的所有串。例如,sisc_dir_flag=0表示使用水平SISC,并且sisc_dir_flag=1表示使用垂直SISC。
在一些实施例中,如果第一语法元素指示对至少一个ISC参考串的重排序被应用于块,则第二语法元素可以被包括在视频中。例如,在使用RISC的实施例中,如果RISC_flag指示使用RISC,则通过信号传输x_element。在使用SISC的实施例中,只有当SISC_flag指示使用SISC,才通过信号传输sisc_dir_flag。
在一些实施例中,通过算术编解码对第一语法元素和第二语法元素中的一项或多项进行编解码。在一些实施例中,第一语法元素和第二语法元素中的一个或多个语法元素中的至少一个语法元素可以被旁路编解码。在一些实施例中,第一语法元素和第二语法元素中的一个或多个语法元素中的至少一个语法元素可以由一个或多个上下文编解码。一个或多个上下文可以与用于相邻块的第三语法元素和第四语法元素中的至少一个相关联。第三语法元素指示是否针对相邻块应用至少一个ISC参考串的重排序,并且第四语法元素指示针对相邻块的至少一个ISC参考串的重排序的类型。
例如,在使用RISC的实施例中,x_element和/或RISC_flag可以利用一个或多个上下文进行编解码。用于对当前块的RISC_flag进行编解码的上下文可以取决于相邻块的RISC_flag。用于对当前块的x_element进行编解码的上下文可以取决于相邻块的x_element。
在使用SISC的实施例中,可以利用一个或多个上下文来对SISC_dir_flag和/或SISC_flag进行编解码。用于对当前块的SISC_flag进行编解码的上下文可以取决于相邻块的SISC_flag。用于对当前块的sisc_dir_flag进行编解码的上下文可以取决于相邻块的sisc_dir_flags
在至少一个ISC参考串包括与块的多个串匹配的多个ISC参考串的一些实施例中,可在视频中包括用于块中的多个串的语法元素集合,以指示多个ISC参考串的重排序的相应类型。
为了说明的目的,语法元素集合可以表示为sisc_str_flag,其可以在块中的串的第一和第二语法元素(表示为SISC_flag和sisc_dir_flag)之后通过信号传输。如果多个ISC参考串的重排序的相应类型不同,则语法元素集合可以被包括在视频中。例如,如果确定只有一种类型的SISC能够应用于块的所有串,则可以不通过信号传输sisc_str_flag。
在一些实施例中,如果第一语法元素指示对多个ISC参考串的重排序被应用于块,则语法元素集合可以被包括在视频中。
在一些实施例中,如果块的多个串中的目标串的第五语法元素(表示为sc_match_flag)指示目标串与重建串匹配,则该语法元素集合中的语法元素可以包括在视频中以指示与目标串匹配的多个ISC参考串中的ISC参考串的重排序的类型。例如,以isc_match_type为条件来通过信号传输sisc_str_flag。如果isc_match_flag指示当前串(作为目标串)与重建串(例如重建像素的串)匹配,则可以通过信号传输sisc_str_flag。
在一些实施例中,语法元素的集合可以通过算术编解码来编解码。在一些实施例中,语法元素集合中的至少一个语法元素可以被旁路编解码。在一些实施例中,语法元素集合中的至少一个语法元素可以由一个或多个上下文编解码。一个或多个上下文可以与用于相邻块的另一语法元素集合相关联,并且该另一语法元素集合指示用于相邻块的多个ISC参考串的相应类型的重排序。
以这种方式,关于是否和/或如何对一个或多个ISC参考串重排序的信息可以被编解码到视频的码流中,同时可以减少甚至避免不必要信息的信号传输。因此,可以显著提高编解码效率,并且视频处理更加有效和高效。
可以根据以下条款来描述本公开的实施方式,这些条款的特征可以以任何合理的方式进行组合。
条款1.一种用于视频处理的方法,包括:对至少一个帧内串复制(ISC)参考串重排序,至少一个ISC参考串与视频块的至少一个串匹配;基于重排序的至少一个ISC参考串来重建块;以及执行重建块和视频的码流之间的转换。
条款2.根据条款1的方法,其中对至少一个ISC参考串重排序包括:对至少一个ISC参考串中的一个ISC参考串的样本重排序。
条款3.根据条款1的方法,其中对至少一个ISC参考串重排序包括:水平或垂直翻转至少一个ISC参考串的多个样本。
条款4.根据条款1的方法,进一步包括:基于块的分量和/或格式来获得至少一个ISC参考串。
条款5.根据条款4的方法,其中块的至少一个串包括块的一个或多个分量的至少一个串,并且获得至少一个ISC参考串包括:获得与块的一个或多个分量的至少一个串匹配的至少一个ISC参考串。
条款6.根据条款1的方法,还包括:基于块的尺度,确定将对至少一个ISC参考串执行一种类型的重排序。
条款7.根据条款6的方法,其中块的尺寸包括块的宽度和高度,并且确定将对至少一个ISC参考串执行该类型的重排序包括:响应于与块的宽度或高度中的至少一个相关联的条件被满足,确定将对至少一个ISC参考串执行该类型的重排序,条件包括以下至少一项:块的宽度在第一范围内,块的高度在第二范围内,块的宽度和高度的最小值在第三范围内,块的宽度和高度的最大值在第四范围内或者块的宽度与高度的乘积在第五范围内。
条款8.一种用于视频处理的方法,包括:确定至少一个帧内串复制(ISC)参考串的重排序是否针对视频被启用;以及处理视频,视频包括是否启用至少一个ISC参考串的重排序的第一指示。
条款9.根据条款8的方法,其中第一指示被包括在视频的序列参数集、序列头、图片参数集、图片头或条带头中的至少一项中。
条款10.根据条款8的方法,其中第一指示被包括在视频的序列的序列头中,以指示至少一个ISC参考串的重排序针对序列被启用。
条款11.根据条款10的方法,其中如果ISC被允许用于序列,则第一指示被包括在序列的序列头中。
条款12.根据条款8的方法,还包括:确定至少一个ISC参考串的重排序是否被应用于视频的块;确定第二指示是否通过信号被传输以指示至少一个ISC参考串的重排序是否被应用于块;以及根据确定第二指示通过信号被传输,确定第二指示被包括在视频中。
条款13.根据条款12的方法,其中确定第二指示是否通过信号被传输包括:响应于第二指示的值为默认值,确定第二指示不存在。
条款14.根据条款12的方法,其中确定第二指示是否通过信号被传输包括:响应于ISC被用于块,确定第二指示通过信号被传输。
条款15.根据条款12的方法,其中确定第二指示是否通过信号被传输包括:确定至少一个ISC参考串的重排序是否被允许用于块;以及根据确定至少一个ISC参考串的重排序被允许,确定第二指示通过信号被传输。
条款16.根据条款15的方法,其中确定第二指示是否通过信号被传输包括:根据确定至少一个ISC参考串的重排序不能够应用于块,确定第二指示不存在。
条款17.根据条款12的方法,其中确定第二指示是否通过信号被传输包括:基于块的尺度来确定第二指示是否通过信号被传输。
条款18.根据条款17的方法,其中块的尺寸包括块的宽度和高度,并且确定第二指示是否通过信号被传输包括:响应于与块的宽度或高度中的至少一项相关联的条件被满足,确定第二指示通过信号被传输,条件包括以下至少一项:块的宽度在第一范围内、块的高度在第二范围内、块的宽度和高度的最小值在第三范围内、块的宽度与高度的最大值在第四范围内、或者块的宽度与高度的乘积在第五范围内中的至少一个。
条款19.根据条款12的方法,其中第二指示由视频中的块的第一语法元素承载。
条款20.根据条款19的方法,其中块的第二语法元素被包括在视频中,以指示至少一个ISC参考串的重排序的类型。
条款21.根据条款20的方法,其中用于块的至少一个ISC参考串的重排序包括至少一个ISC参考串的水平或垂直翻转,并且用于块的第二语法元素指示至少一个ISC参考串水平地还是垂直地被翻转。
条款22.根据条款21的方法,其中如果至少一个ISC参考串的多于一种类型的重排序能够应用于块,则第二语法元素被包括在视频中。
条款23.根据条款20的方法,其中如果第一语法元素指示至少一个ISC参考串的重排序被应用于块,则第二语法元素被包括在视频中。
条款24.根据条款20至23中任一项的方法,其中第一语法元素和第二语法元素中的一项或多项通过算术编解码被编解码。
条款25.根据条款24的方法,其中第一语法元素和第二语法元素中的一项或多项中至少一项被旁路编解码。
条款26.根据条款24的方法,其中第一语法元素和第二语法元素中的一项或多项中至少一项由一个或多个上下文编解码。
条款27.根据条款26的方法,其中一个或多个上下文与用于相邻块的第三语法元素和第四语法元素中的至少一个相关联,第三语法单元指示至少一个ISC参考串的重排序是否被应用于相邻块,并且第四语法元素指示用于相邻块的至少一个ISC参考串的重排序的类型。
条款28.根据条款21的方法,其中至少一个ISC参考串包括与块的多个串匹配的多个ISC参考串,并且用于块的多个串的语法元素集合被包括在视频中,以指示多个ISC参考串的重排序的相应类型。
条款29.根据条款28的方法,其中如果多个ISC参考串的重排序的相应类型不同,则语法元素集合被包括在视频中。
条款30.根据条款28的方法,其中如果第一语法元素指示多个ISC参考串的重排序被应用于块,则语法元素集合被包括在视频中。
条款31.根据条款28至30中任一项的方法,其中如果用于块的多个串中的目标串的第五语法元素指示目标串与重建串匹配,则语法元素集合的语法元素被包括在视频中,以指示与目标串匹配的多个ISC参考串中的ISC参考串的重排序的类型。
条款32.根据条款28至30中任一项的方法,其中语法元素集合通过算术编解码被编解码。
条款33.根据条款32的方法,其中语法元素集合的至少一个语法元素被旁路编解码。
条款34.根据条款32的方法,其中语法元素集合的至少一个语法元素通过一个或多个上下文被编解码。
条款35.根据条款34的方法,其中一个或多个上下文与用于相邻块的另一语法元素集合相关联,并且另一语法元素集合指示用于相邻块的多个ISC参考串的相应类型的重排序。
条款36.一种电子设备,包括:处理单元;以及存储器,存储器耦合到处理单元并且具有存储在其上的指令,指令在由处理单元执行时使电子设备执行根据条款1至7或条款8至35中的任一项的方法。
条款37.一种非瞬态计算机可读存储介质,存储指令,使处理器执行根据条款1至7或条款8至35中任一项的方法。
条款38.一种非瞬态计算机可读记录介质,存储通过根据条款1至7或条款8至35中任一项的方法生成的视频的码流,其中该方法由视频处理装置执行。
示例设备
图9示出了可以在其中实现本公开的各种实施例的计算设备900的框图。计算设备900可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图9中示出的计算设备900仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图9所示,计算设备900包括通用计算设备900。计算设备900可以至少包括一个或多个处理器或处理单元910、存储器920、存储单元930、一个或多个通信单元940、一个或多个输入设备950以及一个或多个输出设备960。
在一些实施例中,计算设备900可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备900可以支持到用户的任何类型的接口(诸如"可穿戴"电路装置等)。
处理单元910可以是物理处理器或虚拟处理器,并且可以基于存储在存储器920中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备900的并行处理能力。处理单元910也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备900通常包括各种计算机存储介质。这样的介质可以是由计算设备900可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器920可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元930可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备900中被访问的介质。
计算设备900还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图9中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元940经由通信介质与另一计算设备通信。另外,计算设备900中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备900可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备950可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备960可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元940,计算设备900还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备900还可以与一个或多个使用户能够与计算设备900交互的设备通信,或任何使计算设备900能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备900的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备900可以被用于实现视频编码/解码。存储器920可以包括具有一个或多个程序指令的一个或多个视频编解码模块925。这些模块能够由处理单元910访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备950可以接收视频数据作为待编码的输入970。视频数据可以由例如视频编解码模块925处理,以生成经编码的码流。经编码的码流可以经由输出设备960作为输出980被提供。
在执行视频解码的示例实施例中,输入设备950可以接收经编码的码流作为输入970。经编码的码流可以由例如视频编解码模块925处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备960作为输出980被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (38)
1.一种用于视频处理的方法,包括:
对至少一个帧内串复制(ISC)参考串重排序,所述至少一个ISC参考串与视频的块的至少一个串匹配;
基于重排序的所述至少一个ISC参考串来重建所述块;以及
执行重建的所述块与所述视频的码流之间的转换。
2.根据权利要求1所述的方法,其中对所述至少一个ISC参考串重排序包括:
对所述至少一个ISC参考串中的一个ISC参考串的样本重排序。
3.根据权利要求1所述的方法,其中对所述至少一个ISC参考串重排序包括:
水平地或垂直地翻转所述至少一个ISC参考串的多个样本。
4.根据权利要求1所述的方法,还包括:
基于所述块的分量和/或格式来获得所述至少一个ISC参考串。
5.根据权利要求4所述的方法,其中
所述块的所述至少一个串包括所述块的一个或多个分量的至少一个串,并且
获得所述至少一个ISC参考串包括:
获得与所述块的所述一个或多个分量的所述至少一个串匹配的所述至少一个ISC参考串。
6.根据权利要求1所述的方法,还包括:
基于所述块的尺度来确定将要对所述至少一个ISC参考串执行一类型的重排序。
7.根据权利要求6所述的方法,其中
所述块的所述尺寸包括块的宽度和高度,并且
确定将要对所述至少一个ISC参考串执行所述类型的重排序包括:
响应于与所述块的所述宽度或所述高度中的至少一项相关联的条件被满足,确定将要对所述至少一个ISC参考串执行所述类型的重排序,所述条件包括以下至少一项:
所述块的宽度在第一范围内,
所述块的高度在第二范围内,
所述块的所述宽度和所述高度的最小值在第三范围内,
所述块的所述宽度和所述高度的最大值在第四范围内,或者
所述块的所述宽度和所述高度的乘积在第五范围内。
8.一种用于视频处理的方法,包括:
确定至少一个帧内串复制(ISC)参考串的重排序是否针对视频被启用;以及
处理所述视频,所述视频包括关于所述至少一个ISC参考串的所述重排序是否被启用的第一指示。
9.根据权利要求8所述的方法,其中所述第一指示被包括在所述视频的以下至少一项中:序列参数集、序列头、图片参数集、图片头或条带头。
10.根据权利要求8所述的方法,其中所述第一指示被包括在所述视频的序列的序列头中,以指示所述至少一个ISC参考串的所述重排序针对所述序列被启用。
11.根据权利要求10所述的方法,其中如果ISC被允许用于所述序列,所述第一指示被包括在所述序列的所述序列头中。
12.根据权利要求8所述的方法,还包括:
确定所述至少一个ISC参考串的所述重排序是否被应用于所述视频的块;
确定第二指示是否通过信号被传输以指示所述至少一个ISC参考串的所述重排序是否被应用于所述块;以及
根据确定所述第二指示通过信号被传输,确定所述第二指示被包括在所述视频中。
13.根据权利要求12所述的方法,其中确定所述第二指示是否通过信号被传输包括:
响应于所述第二指示的值是默认值,确定所述第二指示不存在。
14.根据权利要求12所述的方法,其中确定所述第二指示是否通过信号被传输包括:
响应于ISC被用于所述块,确定所述第二指示通过信号被传输。
15.根据权利要求12所述的方法,其中确定所述第二指示是否通过信号被传输包括:
确定所述至少一个ISC参考串的所述重排序是否被允许用于所述块;以及
根据确定所述至少一个ISC参考串的所述重排序被允许,确定所述第二指示通过信号被传输。
16.根据权利要求15所述的方法,其中确定所述第二指示是否通过信号被传输包括:
根据确定所述至少一个ISC参考串的所述重排序不能应用于所述块,确定所述第二指示不存在。
17.根据权利要求12所述的方法,其中确定所述第二指示是否通过信号被传输包括:
基于所述块的尺度来确定所述第二指示是否通过信号被传输。
18.根据权利要求17所述的方法,其中
所述块的所述尺寸包括所述块的宽度和高度,并且
确定所述第二指示是否通过信号被传输包括:
响应于与所述块的所述宽度或所述高度中的至少一项相关联的条件被满足,确定所述第二指示通过信号被传输,所述条件包括以下至少一项:
所述块的宽度在第一范围内,
所述块的高度在第二范围内,
所述块的所述宽度和所述高度的最小值在第三范围内,
所述块的所述宽度和所述高度的最大值在第四范围内,或者
所述块的所述宽度和所述高度的乘积在第五范围内。
19.根据权利要求12所述的方法,其中所述第二指示由所述视频中的用于所述块的第一语法元素承载。
20.根据权利要求19所述的方法,其中用于所述块的第二语法元素被包括在所述视频中,以指示所述至少一个ISC参考串的所述重排序的类型。
21.根据权利要求20所述的方法,其中
用于所述块的所述至少一个ISC参考串的所述重排序包括水平或垂直翻转所述至少一个ISC参考串,并且
用于所述块的所述第二语法元素指示所述至少一个ISC参考串是水平地还是垂直地被翻转。
22.根据权利要求21所述的方法,其中如果所述至少一个ISC参考串的多于一种类型的所述重排序能够应用于所述块,所述第二语法元素被包括在所述视频中。
23.根据权利要求20所述的方法,其中如果所述第一语法元素指示所述至少一个ISC参考串的所述重排序被应用于所述块,所述第二语法元素被包括在所述视频中。
24.根据权利要求20至23中任一项所述的方法,其中所述第一语法元素和所述第二语法元素中的一项或多项通过算术编解码被编解码。
25.根据权利要求24所述的方法,其中所述第一语法元素和所述第二语法元素中的所述一项或多项中的至少一项被旁路编解码。
26.根据权利要求24所述的方法,其中所述第一语法元素和所述第二语法元素中的所述一项或多项中的至少一项通过一个或多个上下文被编解码。
27.根据权利要求26所述的方法,其中
所述一个或多个上下文与用于相邻块的第三语法元素和第四语法元素中的至少一项相关联,
所述第三语法元素指示至少一个ISC参考串的重排序是否被应用于所述相邻块,并且
所述第四语法元素指示用于所述相邻块的所述至少一个ISC参考串的所述重排序的类型。
28.根据权利要求21所述的方法,其中
所述至少一个ISC参考串包括与所述块的多个串匹配的多个ISC参考串,并且
用于所述块的所述多个串的语法元素集合被包括在所述视频中,以指示所述多个ISC参考串的所述重排序的相应类型。
29.根据权利要求28所述的方法,其中如果所述多个ISC参考串的所述重排序的所述相应类型不同,所述语法元素集合被包括在所述视频中。
30.根据权利要求28所述的方法,其中如果所述第一语法元素指示所述多个ISC参考串的所述重排序被应用于所述块,所述语法元素集合被包括在所述视频中。
31.根据权利要求28至30中任一项所述的方法,其中如果用于所述块的所述多个串中的目标串的第五语法元素指示所述目标串与重建串匹配,所述语法元素集合的语法元素被包括在所述视频中,以指示与所述目标串匹配的所述多个ISC参考串中的ISC参考串的所述重排序的类型。
32.根据权利要求28至30中任一项所述的方法,其中所述语法元素集合通过算术编解码被编解码。
33.根据权利要求32所述的方法,其中所述语法元素集合的至少一个语法元素被旁路编解码。
34.根据权利要求32所述的方法,其中所述语法元素集合的至少一个语法元素通过一个或多个上下文被编解码。
35.根据权利要求34所述的方法,其中
所述一个或多个上下文与用于相邻块的另外的语法元素集合相关联,并且
所述另外的语法元素集合指示用于所述相邻块的多个ISC参考串的重排序的相应类型。
36.一种电子设备,包括:
处理单元;以及
存储器,所述存储器被耦合到所述处理单元并且具有存储在其上的指令,所述指令在由所述处理单元执行时使所述电子设备执行根据权利要求1至7或者权利要求8至35中任一项所述的方法。
37.一种非瞬态计算机可读存储介质,存储指令,所述指令使处理器执行根据权利要求1至7或者权利要求8至35中任一项所述的方法。
38.一种非瞬态计算机可读记录介质,存储通过根据权利要求1至7或者权利要求8至35中任一项所述的方法生成的视频的码流,其中所述方法由视频处理装置执行。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNPCT/CN2021/085245 | 2021-04-02 | ||
| CN2021085245 | 2021-04-02 | ||
| PCT/CN2022/084911 WO2022206973A1 (en) | 2021-04-02 | 2022-04-01 | Method, device, and medium for video processing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117356094A true CN117356094A (zh) | 2024-01-05 |
Family
ID=83458061
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202280026660.XA Pending CN117356094A (zh) | 2021-04-02 | 2022-04-01 | 用于视频处理的方法、设备和介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240179343A1 (zh) |
| CN (1) | CN117356094A (zh) |
| WO (1) | WO2022206973A1 (zh) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1494456A1 (en) * | 2003-07-01 | 2005-01-05 | Deutsche Thomson-Brandt GmbH | Method for run-length encoding of a bitmap data stream |
| CN104683805B (zh) * | 2013-11-30 | 2019-09-17 | 同济大学 | 图像编码、解码方法及装置 |
| MX361228B (es) * | 2014-03-04 | 2018-11-29 | Microsoft Technology Licensing Llc | Inversión de bloque y modo de omisión en predicción de intracopia de bloque. |
| CN113727108B (zh) * | 2020-05-26 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法及相关设备 |
| CN112565767B (zh) * | 2020-06-04 | 2022-04-01 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法及相关设备 |
-
2022
- 2022-04-01 CN CN202280026660.XA patent/CN117356094A/zh active Pending
- 2022-04-01 WO PCT/CN2022/084911 patent/WO2022206973A1/en not_active Ceased
- 2022-04-01 US US18/285,251 patent/US20240179343A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20240179343A1 (en) | 2024-05-30 |
| WO2022206973A1 (en) | 2022-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN118044182A (zh) | 用于视频处理的方法、设备和介质 | |
| CN117581536A (zh) | 用于视频处理的方法、设备和介质 | |
| US20240205394A1 (en) | Method, device, and medium for video processing | |
| US20240364879A1 (en) | Method, apparatus, and medium for video processing | |
| WO2023198120A1 (en) | Method, apparatus, and medium for video processing | |
| JP7726609B2 (ja) | ビデオ処理のための方法、装置及び媒体 | |
| CN120476584A (zh) | 用于视频处理的方法、装置和介质 | |
| CN120500844A (zh) | 用于视频处理的方法、装置和介质 | |
| EP4434231A1 (en) | Method, apparatus, and medium for video processing | |
| CN118511517A (zh) | 用于视频处理的方法、装置及介质 | |
| WO2022206973A1 (en) | Method, device, and medium for video processing | |
| US20250211738A1 (en) | Method, apparatus, and medium for video processing | |
| WO2024061136A1 (en) | Method, apparatus, and medium for video processing | |
| JP7806226B2 (ja) | ビデオ処理のための方法、装置及び媒体 | |
| WO2024208366A1 (en) | Method, apparatus, and medium for video processing | |
| WO2026017095A1 (en) | Method, apparatus, and medium for video processing | |
| WO2024208338A1 (en) | Method, apparatus, and medium for video processing | |
| WO2024061331A1 (en) | Method, apparatus, and medium for video processing | |
| CN120530644A (zh) | 用于视频处理的方法、装置和介质 | |
| CN118383029A (zh) | 视频处理方法、装置和介质 | |
| CN119301953A (zh) | 用于视频处理的方法、装置和介质 | |
| CN119631406A (zh) | 用于视频处理的方法、装置和介质 | |
| CN120530630A (zh) | 用于视频处理的方法、装置和介质 | |
| CN120036002A (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 |