CN112822493A - 基于复杂度来适应性地对视频帧进行编码 - Google Patents

基于复杂度来适应性地对视频帧进行编码 Download PDF

Info

Publication number
CN112822493A
CN112822493A CN202011021513.2A CN202011021513A CN112822493A CN 112822493 A CN112822493 A CN 112822493A CN 202011021513 A CN202011021513 A CN 202011021513A CN 112822493 A CN112822493 A CN 112822493A
Authority
CN
China
Prior art keywords
frame
frames
bit allocation
input frame
correlation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011021513.2A
Other languages
English (en)
Inventor
张习民
李相熙
基思·罗伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN112822493A publication Critical patent/CN112822493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开涉及基于复杂度来适应性地对视频帧进行编码。一种用于对视频帧进行编码的示例装置,该装置包括帧分析器,用于对所接收的帧集合执行前瞻分析。帧分析器包括前瞻视频分析器,用于对帧集合进行下采样并且使用恒定的量化参数(QP)对经下采样的帧进行编码。针对每个帧生成的比特的数量被用作每个帧的复杂度度量。该装置还包括编码器,用于使用经调整的比特分配来对输入帧进行编码,其中,该经调整的比特分配是基于输入帧相对于帧集合的复杂度的相对复杂度的。

Description

基于复杂度来适应性地对视频帧进行编码
技术领域
本公开总体上涉及用于对视频帧进行编码的技术,更具体地,涉及基于复杂度来适应性地对视频帧进行编码。
背景技术
编码器可以压缩视频帧以进行传输。例如,编码器可以将视频帧编码为使用比原始表示更少的比特的压缩形式。压缩可以是有损的或无损的。无损压缩通过识别和消除统计冗余来减少比特。无损压缩中不会丢失任何信息。有损压缩通过移除不必要的或较不重要的信息来减少比特。
发明内容
本公开的实施例提供了一种用于对视频帧进行编码的装置。该装置包括:帧分析器,用于在前瞻窗口内对所接收的帧集合执行前瞻分析,其中,帧分析器包括前瞻视频分析器,用于对帧集合进行下采样并且使用恒定的量化参数QP对经下采样的帧进行编码,其中,针对帧中的每个帧的生成的比特的数量被用作帧中的每个帧的复杂度度量;以及编码器,用于使用经调整的比特分配来对输入帧进行编码,其中,经调整的比特分配是基于输入帧相对于帧集合的复杂度的相对复杂度的。
本公开的实施例还提供了一种用于对视频帧进行编码的方法。该方法包括:通过处理器接收具有输入帧的帧集合、目标比特率、以及缓冲器大小;通过处理器对帧集合执行前瞻分析和时间相关性分析;通过处理器,基于输入帧相对于所分析的帧集合的相对复杂度,来估计针对输入帧的初始比特分配;通过处理器,基于估计的时间相关性水平来适应性地调整初始比特分配;通过处理器,基于缓冲器充满度来最终确定针对输入帧的比特分配;以及通过处理器,基于最终确定的比特分配来对输入帧进行编码。
本公开的实施例还提供了一种用于对视频帧进行编码的系统。该系统包括:用于在前瞻窗口内对所接收的帧集合执行前瞻分析的装置,其中,用于执行前瞻分析的装置包括:用于对帧集合进行下采样并且使用恒定的量化参数QP对经下采样的帧进行编码的装置,其中,针对帧中的每个帧的生成的比特的数量被用作帧中的每个帧的复杂度度量;以及用于使用经调整的比特分配来对输入帧进行编码的装置,其中,经调整的比特分配是基于输入帧相对于帧集合的复杂度的相对复杂度的。
附图说明
图1是示出用于基于内容来适应性地对视频帧进行编码的示例系统的框图;
图2是示出基于复杂度来适应性地对视频帧进行编码的方法的流程图;
图3是示出基于相对复杂度对比特进行分配的方法的流程图;
图4是示出基于前瞻窗口中的帧之间的时间相关性来适应性地调整组内帧(intraframe)的方法的流程图;
图5是示出基于时间相关性来适应性地调整组间帧(inter frame)的方法的流程图;
图6是示出可以基于复杂度来适应性地对视频帧进行编码的示例计算设备的框图;以及
图7是示出存储代码的计算机可读介质的框图,该代码用于基于复杂度来适应性地对视频帧进行编码。
本公开和附图通篇使用相同的数字来指代相似的组件和特征。100系列中的数字是指最初在图1中找到的特征;200系列中的数字是指最初在图2中找到的特征;以此类推。
具体实施方式
比特率控制是将一种视频解决方案与其他解决方案区分开的技术。在许多情况下,将帧大小控制为可预测的值可以被应用(尤其是与网络相关的应用)使用。使用最优的比特分配,可以同时获得主观和客观改进。然而,文献中似乎没有这样的解决方案,尤其是对于高效率视频编码(HEVC)和高级视频编码(AV1)编解码器。例如,HEVC测试模型(HM)参考速率控制基于每个帧在图片组(GOP)中的位置和目标压缩率来指派该帧的大小。如本文中所使用的,GOP是经编码视频流内的连续图片的集合。每个经编码视频流都包含连续的GOP。作为一个示例,如果使用GOP8,则GOP内的每个帧始终使用被分配给每8个帧的比特中的固定百分比的比特,并且始终给每8个帧分配相同量的比特。对于具有复杂场景和简单场景时段的剪辑,这样的基于纯压缩率的策略可能导致质量波动和较低的总体质量。此外,在低比特率编码和有限缓冲器大小的情况下,为了满足假想参考解码器(HRD)兼容性要求,最差的帧质量可能非常差。在一些视频解决方案(例如,x264和x265编码器)中,在对帧进行编码之前,可以启用前瞻来分析帧的集合。在使用前瞻时,比特分配可比基于纯压缩率的策略更好。然而,质量波动和最差帧质量可能仍然是低效的。
本公开总体上涉及用于对视频帧进行编码的技术。具体地,本文中描述的技术包括基于内容来适应性地对视频帧进行编码的装置、方法和系统。示例装置包括帧分析器,用于对所接收的帧集合执行前瞻分析和时间相关性分析。该装置还包括基于复杂度的比特分配器,用于基于输入帧相对于所分析的帧集合的相对复杂度来估计针对所分析的帧集合中的该输入帧的初始比特分配。该装置还包括时间适应性调整器,用于基于估计的时间相关性水平来适应性地调整初始比特分配。该装置还包括编码器,用于基于经调整的比特分配来对输入帧进行编码。
因此,本文中描述的技术使得能够针对静态剪辑为组内帧分配较多的比特,而针对较复杂的剪辑则分配较少的比特。在组间帧中,这些技术使得能够将较少的比特分配给相对简单的帧,以使得可以在较复杂的帧中使用较多的比特。与其他解决方案相比,针对AVC和HEVC进行的实验显示:对于最差的帧质量,该技术可以实现高达13分贝(dB)的质量增益。同时,这些技术以流畅的播放实现更好的主观质量。在示例游戏剪辑中,对于最差的帧,获得了4db的增益,并且获得了约0.7db的平均增益。针对包括应用程序窗口的屏幕内容,对于最差的帧,获得了13db的增益,并且获得了约4db的平均增益。例如,使用本文中描述的技术,在静态视频(例如,正在窗口中显示的文本)的情况下,可以调整图片组中的比特分配,以使得第一帧的内容被大大改进并且因此后续的组间帧可以取决于更高质量的帧。以这种方式,可在总体上改进视频质量。
图1是示出用于基于内容来适应性地对视频帧进行编码的示例系统的框图。可以使用图2至图5的方法200-500在图6中的计算设备600中实现示例系统100。
示例系统100包括在前瞻视频分析器104处接收的输入图片102。系统100包括通信地耦合到前瞻视频分析器104的基于相对复杂度的初始比特分配器106。基于相对复杂度的初始比特分配器106被示出为接收目标比特率108和缓冲器大小110。系统100包括通信地耦合到前瞻视频分析器104的时间相关性分析器112。系统100还包括通信地耦合到时间相关性分析器112和基于相对复杂度的初始比特分配器106的时间相关性适应性调整器114。系统100还包括通信地耦合到时间相关性适应性调整器114的目标缓冲器充满度计算器116。系统100还包括通信地耦合到目标缓冲器充满度计算器116的基于缓冲器充满度的调整器118。系统100还包括通信地耦合到基于缓冲器充满度的调整器118和编码器122的量化参数(QP)得出器120。编码器122还通信地耦合到实际缓冲器充满度更新器124。编码器122被示出为输出所输出的编码图片126。
在图1的示例中,系统100可以接收输入图片102并且输出编码图片126。例如,输入图片102可以是来自要编码的视频的一系列帧中的一个帧。系统100可以使用基于前瞻分析的比特分配方案来对帧进行编码。基于前瞻分析的比特分配方案包括基于相对复杂度的比特分配,用于基于每个帧相对于预分析的帧的集合的相对复杂度来估计该帧的初始比特分配。例如,预分析的帧可以是前瞻窗口内的帧。基于前瞻分析的比特分配方案包括:基于时间相关性对每个组内帧及其后续帧之间的初始比特分配、以及每个迷你图片组之间的组间帧比特分配的调整。如本文中所使用的,迷你图片组是指以类层级式比特分配模式编码的一组帧。利用比特分配和编码缓冲器状况,以目标缓冲器充满度为导向的调整可以最终确定编码过程期间的比特分配。
参照图1,前瞻视频分析器104可以接收输入图片102,并且在开始对输入图片102实际进行编码之前对N个图片执行前瞻分析。如本文中所使用的,前瞻是指在对未来的帧进行检查,例如,N-1个后续帧,给定前瞻窗口为N,其中包括当前帧。未来的帧可以被描述为在按照时间顺序排列的帧序列中在当前帧之后出现的那些帧。例如,前瞻视频分析器104可以针对输入图片102前瞻N-1个图片。在第一帧之后,当前帧可以变为第二后续帧,并且前瞻窗口也移动一个帧。在下面更详细地描述该过程,并且可以重复该过程直到附加的所接收的输入图片102的序列结束为止。在各种示例中,前瞻视频分析器104生成针对帧复杂度和时间相关性分析的统计信息。例如,该统计信息可以包括帧复杂度以及其他统计信息,例如,运动矢量和预测失真统计信息。前瞻视频分析器104可以基于实际编码生成的信息来生成帧复杂度统计信息。例如,前瞻视频分析器104可以对输入图片进行下采样,并且使用恒定的量化参数(QP)对经下采样的图片进行编码。在一些示例中,针对每个帧的所生成的比特的数量被用作输入图片102的复杂度度量。
在各种示例中,基于相对复杂度的初始比特分配器106可以基于第一帧与随后的N个帧的复杂度相比的相对复杂度、针对接下来的N个帧的比特预算、以及缓冲器大小110约束,计算针对序列中的第一帧的初始比特分配。例如,数字N可以表示前瞻窗口中的图片的数量。在各种示例中,一旦复杂度度量就绪,基于相对复杂度的初始比特分配器106就可以通过以下示例过程来执行初始比特分配。对于第一帧,基于相对复杂度的初始比特分配器106使用以下等式来初始化针对第一帧之后的前N个帧的比特预算:
Bit_budget=N*Average_FrameSize 等式1
其中,Average_FrameSize是指N个帧的平均帧大小。在一些示例中,如果N小于一秒内的帧的数量,则基于相对复杂度的初始比特分配器106可以将N增加到一秒内的帧的数量并且计算该预算。然后,基于相对复杂度的初始比特分配器106可以使用以下等式来计算复杂度的总和:
Sum_Com=Com[1]+…+Com[N] 等式2
如果N小于一秒内的帧的数量,则基于相对复杂度的初始比特分配器106可以将该总和增加到一秒的帧,其中新添加的复杂度为Com[N]。然后,基于相对复杂度的初始比特分配器106可以使用以下等式来计算第一帧的比特分配:
Bit_Allocate[1]=Bit_budget[1]*Com[1]/Sum_Com 等式3
在各种示例中,基于相对复杂度的初始比特分配器106可以检查缓冲器充满度,以找到无缓冲器违规的情况下的最大允许帧大小。基于相对复杂度的初始比特分配器106可以使用该最大允许帧大小来为所分配的比特设置上限。然后,基于相对复杂度的初始比特分配器106可以使用以下等式来更新比特预算(Bit_budget):
Bit_budget[next]=Bit_budget[previous]-Bit_Allocate[previous]+Average_FrameSize 等式4
然后,基于相对复杂度的初始比特分配器106可以针对序列中的所有帧重复上述处理。
时间相关性分析器112可以估计每个帧的时间相关性水平。例如,时间相关性分析器112可以在基于相对复杂度的初始比特分配器106计算初始比特分配的同时,估计每个帧的时间相关性水平。在各种示例中,时间相关性分析器112可以使用任何适当的时间相关性分析来估计每个帧的时间相关性水平。例如,时间相关性分析器112可以使用基于非变换系数比特的时间相关性方法来估计时间相关性水平。例如,时间相关性分析器112可以将每个组间帧分类到以下四个类别:非常低相关性类别、低相关性类别、中等相关性类别、以及高相关性类别。
然后,时间相关性适应性调整器114可以对帧的初始比特分配应用时间相关性适应性调整。例如,如果当前帧是组内帧或场景改变帧,则时间相关性适应性调整器114可以计算随后的N-1个帧之间的最小时间相关性。如本文中所使用的,场景改变是指图片内容从前一图片中的一个场景改变为当前图片中的另一场景。在各种示例中,场景改变帧可以被编码为任何帧类型。例如,场景改变帧可以被编码为组内帧。时间相关性适应性调整器114可以使用该最小时间相关性来调整针对组内帧或场景改变帧的初始比特分配。例如,如果时间相关性高,则可以将初始比特分配调整得更高。作为一个示例,如果N-1个帧中的最小相关性类别是非常低相关性或低相关性,则时间相关性适应性调整器114可以不进行调整并且使用初始比特分配。在其他情况下,如果最小相关性是中等的,则时间相关性适应性调整器114可以将初始比特分配增加t1%。在其他情况下,如果最小相关性高,则时间相关性适应性调整器114可以将初始比特分配增加t2%,其中t2>t1。在各种示例中,时间相关性适应性调整器114可以检查缓冲器充满度,以找到无缓冲器违规的情况下的最大允许帧大小。然后,时间相关性适应性调整器114可以使用最大允许帧大小来为所分配的比特设置上限。
在各种示例中,对于组间帧,时间相关性适应性调整器114可以执行基于迷你GOP的层级式比特分配调整。例如,时间相关性适应性调整器114可以基于相关性类别和GOP结构来预定义存储调整值的一组检查表。对于大小为M的给定迷你GOP,时间相关性适应性调整器114可以计算分配给M个帧的比特Bit_Allocate的总和以及M个帧中的最小相关性。对于迷你GOP中的每个帧,时间相关性适应性调整器114可以使用检查表来找到相应的调整值,并且将该相应的调整值与分配的比特Bit_Allocate的总和相乘以获得针对该帧的输出比特分配。
在一些示例中,然后,目标缓冲器充满度计算器116根据输出比特分配来计算目标缓冲器充满度。然后,将所生成的比特分配和目标缓冲器充满度发送到编码器122以进行编码处理。在各种示例中,实际编码过程可以使用比输出比特分配稍多或稍少的比特。因此,在QP得出器120执行QP推导之前,基于缓冲器充满度的调整器118可以将目标缓冲器充满度与来自实际缓冲器充满度更新器124的实际缓冲器充满度进行比较。例如,目标缓冲器充满度可以基于使用前瞻分析而为帧集合分配的比特,而实际缓冲器充满度可以基于在对前一帧集合编码时使用的实际的比特的数量。根据过去编码的帧所使用的比特与目标缓冲器充满度所显示的比特之间的差,基于缓冲器充满度的调整器118可以确定当前帧的最终比特分配,并且QP得出器120可以基于最终比特分配来相应地得出量化参数。例如,可以调整最终比特分配以减小目标缓冲器中分配的比特与实际缓冲器充满度中使用的实际比特的数量之间的差。然后,编码器122可以基于来自QP得出器120的每个帧的相应的量化参数来对该帧进行编码,并且输出编码图片126。
图1的图不旨在指示示例系统100包括图1中所示的所有组件。而是,可以使用更少的组件或图1中未示出的附加的组件(例如,附加的输入图片、所输出的编码图片、目标比特率、缓冲器大小、分析器、调整器、编码器等)来实现示例系统100。在一些示例中,基于相对复杂度的初始比特分配器106还可接收最大帧大小和最小帧大小约束。
图2是示出基于复杂度来适应性地对视频帧进行编码的方法的流程图。示例方法200可以在图1的系统100、图6的计算设备600、或图7的计算机可读介质700中实现。例如,方法200可以通过图6和图7的处理器602或处理器702执行。
在块202处,处理器接收包括输入帧的帧集合、目标比特率、以及缓冲器大小。例如,输入帧可以是要编码的当前帧。帧集合可以包括与输入帧之前的前瞻窗口相对应的数量的帧。帧集合还可以包括在包括输入帧的迷你图片组(GOP)内的帧。
在块204处,处理器对所接收的帧集合执行前瞻分析和时间相关性分析。例如,处理器可以基于输入帧之后的预定数量的帧来生成针对帧复杂度和时间相关性分析的统计信息。在各种示例中,处理器可以基于实际编码生成的信息来生成帧复杂度统计信息。例如,处理器可以对输入帧进行下采样,并且使用恒定的量化参数(QP)对经下采样的帧进行编码。在一些示例中,针对每个帧的所生成的比特的数量被用作输入帧的复杂度度量。例如,可以使用较多的比特来编码较复杂的帧,并且可以使用较少的比特来编码较不复杂的帧。
在块206处,处理器基于所分析的帧集合中的输入帧相对于所分析的帧集合的相对复杂度来估计针对该输入帧的初始比特分配。在一些示例中,处理器可以基于第一帧的相对复杂度、针对接下来的N个帧的比特预算、以及缓冲器大小来计算针对第一帧的初始比特分配。例如,处理器可以使用等式1-4来对前瞻窗口中的所有帧进行处理。在一些示例中,处理器可以使用图3的方法300来估计初始比特分配。
在块208处,处理器基于估计的时间相关性水平来适应性地调整初始比特分配。例如,处理器可以使用基于非变换系数比特的时间相关性方法来估计每个帧的时间相关性水平。作为一个示例,时间相关性分析器112可以将每个组间帧分类到以下四个类别,包括:非常低相关性类别、低相关性类别、中等相关性类别、以及高相关性类别。
在块210处,处理器基于缓冲器充满度更新来最终确定针对输入帧的比特分配。例如,处理器可以检查缓冲器充满度,以找到在无缓冲器违规的情况下的最大允许帧大小。然后,处理器可以使用最大允许帧大小来为输入帧的所分配的比特设置上限。例如,可以调整最终比特分配,以减小目标缓冲器中的所分配的比特和实际缓冲器充满度中使用的实际比特的数量之间的差。
在块212处,处理器基于最终确定的比特分配来对输入帧进行编码。在一些示例中,处理器可以基于最终比特分配来得出量化参数。例如,量化参数可以是范围为从0到51的值,其用作用于得出缩放矩阵的索引。然后,处理器可以基于每个帧的相应的量化参数来对该帧进行编码,并且输出编码的帧。
例如,处理器可以调整每个组内帧以及其后续帧之间的估计的初始比特分配、以及每个迷你帧组之间的组间帧比特分配。
该过程流程图不旨在指示示例方法200的块要以任何特定次序执行,或者在每种情况下都包括所有块。此外,取决于具体实现方式的细节,可以在示例性方法200内包括未示出的任何数量的附加块。
图3是示出基于相对复杂度对比特进行分配的方法的流程图。示例方法300可以在图1的系统100、图6的计算设备600、或图7的计算机可读介质700中实现。例如,方法300可以在图1的系统100的基于相对复杂度的初始比特分配器106中实现。在各种示例中,方法300可以经由图6和图7的处理器602或处理器702执行。
在块302处,处理器接收输入帧、目标比特率、缓冲器大小、以及所分析的帧集合。例如,输入帧可以是要编码的当前帧。目标比特率可以是用来传送编码的视频的比特率。缓冲器大小可以是目标缓冲器的大小。
在块304处,处理器基于所分析的帧集合的平均帧大小来初始化针对所分析的帧集合的比特预算。在各种示例中,比特预算可以基于帧的数量和帧的平均帧大小。例如,可以使用等式1来初始化比特预算。
在块306处,处理器计算所分析的帧集合中的各个帧的复杂度的总和。例如,处理器可以计算复杂度的总和。
在块308处,处理器基于针对输入帧的比特预算、输入帧的复杂度、以及所分析的帧集合的复杂度的总和,设置针对输入帧的比特分配。例如,响应于检测到输入帧相对于所分析的帧集合的复杂度具有更高的复杂度,输入帧可以接收较高的比特分配。类似地,响应于检测到输入帧相对于所分析的帧集合的复杂度具有更低的复杂度,输入帧可以接收较低的比特分配。
在判定菱形块310,处理器确定所分析的帧集合中是否存在附加的帧。如果在所分析的帧集合中没有剩余任何附加的帧,则该方法可以在块312处继续。如果在所分析的帧集合中存在附加的帧,则该方法可以在块314处继续。
在块312处,处理器对下一个帧集合进行处理。例如,下一个帧集合可以是随后的迷你图片组。
在块314处,处理器基于分配给输入帧的比特和所分析的帧集合的平均帧大小来更新针对所分析的帧集合中的下一帧的比特预算。例如,可以使用等式1来获得针对下一帧的比特预算。
该过程流程图不旨在指示示例方法300的块要以任何特定次序执行,或者在每种情况下都包括所有块。此外,取决于具体实现方式的细节,可以在示例性方法300内包括未示出的任何数量的附加块。
图4是示出基于前瞻窗口中的帧之间的时间相关性来适应性地调整组内帧的方法的流程图。示例方法400可以在图1的系统100、图6的计算设备600、或图7的计算机可读介质700中实现。例如,方法400可以在图1的系统100的时间相关性适应性调整器114中实现。在各种示例中,方法400可以经由图6和图7的处理器602或处理器702执行。
在块402处,处理器接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。例如,处理器可以使用基于非变换系数比特的时间相关性来估计每个帧的时间相关性水平。
在块404处,处理器检测组内帧的后续帧中具有最低相关性类别的帧。例如,后续帧可以是与组内帧相关联的图片组内的帧。
在判定菱形块406处,处理器确定检测到的帧是否具有低相关性类别或具有非常低相关性类别。如果检测到的帧具有低相关性类别或非常低相关性类别,则该方法可以在块408处继续。如果检测到的帧不具有低相关性类别或非常低相关性类别,则该方法可以在判定菱形块410处继续。
在块408处,处理器使用针对组内帧的初始比特分配。例如,处理器可以响应于检测到所检测到的帧具有低相关性类别或非常低相关性类别而使用针对组内帧的初始比特分配。
在判定菱形块410处,处理器确定检测到的帧是否具有中等相关性类别。如果所检测到的帧具有中等相关性类别,则该方法可以在块412处继续。如果所检测到的帧不具有中等相关性类别,则该方法可以在块414处继续。例如,如果所检测到的帧具有高相关性类别,则该方法可以在块414处继续。
在块412处,处理器将针对组内帧的初始比特分配增加第一百分比。例如,响应于检测到具有最低相关性类别的帧是中等相关性类别,处理器可以将初始比特分配增加第一百分比。
在块414处,处理器将针对组内帧的初始比特分配增加第二百分比,该第二百分比高于第一百分比。例如,响应于检测到具有最低相关性类别的帧是高相关性类别,处理器可以将初始比特分配增加第二百分比。
在块416处,处理器检查缓冲器充满度以找到在无缓冲器违规的情况下的最大允许帧大小,并且使用该最大允许帧大小来设置针对分配的比特的上限。例如,处理器检查实际编码缓冲器的缓冲器充满度,并且为针对组内帧的所分配的比特设置上限,以使得实际编码缓冲器不被超过。
该过程流程图不旨在指示示例方法400的块要以任何特定次序执行,或者在每种情况下都包括所有块。此外,取决于具体实现方式的细节,可以在示例性方法400内包括未示出的任何数量的附加块。
图5是示出基于时间相关性来适应性地调整组间帧的方法的流程图。示例方法500可以在图1的系统100、图6的计算设备600、或图7的计算机可读介质700中实现。例如,方法500可以在图1的系统100的时间相关性适应性调整器114中实现。在各种示例中,方法500可以通过图6和图7的处理器602或处理器702来执行。
在块502处,处理器基于相关性类别和迷你图片组(迷你GOP)结构,预定义一组检查表,这些检查表存储针对组间帧的调整值。例如,迷你GOP结构可以指定帧在GOP内被安排的顺序。在各种示例中,迷你GOP结构还可以指定对迷你GOP结构中的每个帧的层级式相对比特分配。
在块504处,处理器接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。在一些示例中,可以使用任何合适的时间相关性分析的方法来对所分析的帧集合进行分类。例如,可以使用相关性阈值将组间帧分类到相关性类别。作为一个示例,相关性阈值可以是零运动矢量的百分比。
在块506处,处理器检测所分析的帧集合中的迷你图片组。例如,可以基于所接收的迷你GOP结构来检测迷你图片组。
在块508处,处理器计算被分配给迷你图片组中的帧的比特的总和以及迷你图片组中的之间的最小相关性。例如,对于大小为M的给定GOP,处理器可以计算为M个帧分配的比特的总和和M个帧之间最小相关性。在一些示例中,最小相关性可以是在M个帧之间检测到的最低相关性类别。
在块510处,处理器针对迷你图片组中的每个帧,在检查表中找到相应的调整值,并且使用该调整值来调整分配的比特的总和以生成输出比特分配。例如,处理器可以将调整值乘以分配的比特的总和,以生成输出比特分配。
该过程流程图不旨在指示示例方法500的块要以任何特定次序执行,或者在每种情况下都包括所有块。此外,取决于具体实现方式的细节,可以在示例性方法500内包括未示出的任何数量的附加块。
现在参考图6,示出了示例计算设备的框图,该示例计算设备可以基于复杂度来适应性地对视频帧进行编码。该计算设备600可以是,例如,膝上型计算机、台式计算机、平板计算机、移动设备、或可穿戴设备等等。计算设备600可以包括中央处理单元(CPU)602以及存储器设备604,CPU 602被配置为执行存储的指令,存储器设备604存储可由CPU 602执行的指令。CPU 602可以通过总线606耦合到存储器设备604。此外,CPU 602可以是单核处理器、多核处理器、计算集群、或任意数量的其他配置。此外,计算设备600可以包括不止一个CPU 602。在一些示例中,CPU 602可以是具有多核处理器架构的片上系统(SoC)。在一些示例中,CPU 602可以是用于图像处理的专用数字信号处理器(DSP)。存储器设备604可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或任何其他合适的存储器系统。例如,存储器设备604可以包括动态随机存取存储器(DRAM)。
存储器设备604可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或任何其他合适的存储器系统。例如,存储器设备604可以包括动态随机存取存储器(DRAM)。
计算设备600还可以包括图形处理单元(GPU)608。如所示出的,CPU 602可以通过总线606耦合到GPU 608。GPU 608可以被配置为在计算设备600内执行任何数量的图形操作。例如,GPU 608可以被配置为呈现或操纵要被显示给计算设备600的用户的图形图像、图形帧、视频等。
存储器设备604可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或任何其他合适的存储器系统。例如,存储器设备604可以包括动态随机存取存储器(DRAM)。存储器设备604可以包括设备驱动器610,这些设备驱动器610被配置为执行用于训练多个卷积神经网络以执行与序列无关的处理的指令。设备驱动器610可以是软件、应用程序、应用代码等。
CPU 602还可以通过总线606连接到输入/输出(I/O)设备接口612,该接口612被配置为将计算设备600连接到一个或多个I/O设备614。I/O设备614可以包括例如键盘和指向设备,其中,指向设备可以包括触摸板或触摸屏等。I/O设备614可以是计算设备600的内置组件,或可以是从外部连接到计算设备600的设备。在一些示例中,存储器604可以通过直接存储器访问(DMA)通信地耦合到I/O设备614。
CPU 602还可以通过总线606链接到显示接口616,该显示接口616被配置为将计算设备600连接到显示设备618。显示设备618可以包括显示屏,该显示屏是计算设备600的内置组件。显示设备618还可以包括在计算设备600内部的或外部地连接到计算设备600的计算机监视器、电视、或投影仪等。
计算设备600还包括存储设备620。存储设备620是物理存储器,例如,硬盘驱动器、光盘驱动器、拇指驱动器、驱动器阵列、固态驱动器、或其任何组合。存储设备620还可以包括远程存储驱动器。
计算设备600还可以包括网络接口控制器(NIC)622。NIC 622可以被配置为通过总线606将计算设备600连接到网络624。网络624可以是广域网(WAN)、局域网(LAN)、或互联网等。在一些示例中,设备可通过无线技术与其他设备进行通信。例如,设备可以通过无线局域网连接与其他设备进行通信。在一些示例中,设备可以通过蓝牙
Figure BDA0002700763900000151
Figure BDA0002700763900000152
或类似技术与其他设备连接和进行通信。
计算设备600还包括相机626。例如,相机626可以包括一个或多个成像传感器。在一些示例中,相机626可以包括用于生成视频帧的处理器。
计算设备600还包括内容适应性视频编码器628。例如,内容适应性视频编码器628可以用于基于内容来适应性地对视频帧进行编码。内容适应性视频编码器628可以包括接收器630、帧分析器632、基于复杂度的比特分配器634、时间适应性调整器636、基于缓冲器的调整器638、以及编码器640。在一些示例中,内容适应性视频编码器628的每个组件630-640可以是微控制器、嵌入式处理器、或软件模块。接收器630可以接收包括输入帧的帧集合、目标比特率和缓冲器大小。帧分析器632可以对所接收的帧集合执行前瞻分析和时间相关性分析。在一些示例中,帧分析器632可以生成针对预定数量的帧的统计信息。例如,帧分析器632可以对帧集合进行下采样,并且使用恒定的量化参数(QP)对经下采样的帧进行编码。针对每个帧的所生成的比特的数量被用作每个帧的复杂度度量。在各种示例中,帧分析器632可以估计帧集合中的每个帧的时间相关性水平。基于复杂度的比特分配器634可以基于所分析的帧集合的输入帧与所分析的帧集合的相对复杂度,估计针对该输入帧的初始比特分配。时间适应性调整器636可以基于估计的时间相关性水平来适应性地调整初始比特分配。例如,时间适应性调整器636可以响应于检测到输入帧是组内帧,而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别来调整针对输入帧的初始比特分配。在一些示例中,时间适应性调整器636可以响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别是中等相关性类别,而将初始比特分配增加到第一阈值之上。在各种示例中,时间适应性调整器636可以响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别是高相关性类别,而将初始比特分配增加到第二阈值之上,该第二阈值高于第一阈值。在一些示例中,时间适应性调整器636可以响应于检测到输入帧是组间帧而在查找表中找到调整值。基于缓冲器的调整器638可以基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配。编码器640可以基于经调整的比特分配来对输入帧进行编码。在各种示例中,编码器640可以基于针对输入帧的最终确定的比特分配来对输入帧进行编码。因此,编码器640可以基于输入帧相对于帧集合的复杂度的相对复杂度,来使用经调整的比特分配对输入帧进行编码。
图6的框图并不旨在指示计算设备600包括图6中所示的全部组件。反而,计算设备600可以包括更少的或图6中未示出的附加的组件,例如,附加的缓冲器、附加的处理器等。例如,内容适应性视频编码器628还可以包括图1的任何其他组件。例如,内容适应性视频编码器628还可以包括:目标缓冲器充满度计算器,用于基于经调整的比特分配来计算目标缓冲器充满度;或者,量化参数得出器,用于基于针对输入帧的最终确定的比特分配来得出用于输入帧的量化参数。取决于具体实现方式的细节,计算设备600可包括图6中未示出的任意数量的附加组件。此外,接收器630、帧分析器632、基于复杂度的比特分配器634、时间适应性调整器636、基于缓冲器的调整器638、以及编码器640的任何功能可以部分地或整体地在硬件中和/或在处理器602中实现。例如,功能可以用专用集成电路实现、在处理器602中实现的逻辑中实现、或者在任何其他设备中实现。此外,CPU 602的任何功能可以部分地或完全地在硬件中和/或在处理器中实现。例如,内容适应性视频编码器628的功能可以用专用集成电路来实现、在处理器中实现的逻辑中实现、在诸如GPU 608之类的专用图形处理单元中实现的逻辑中实现、或在任何其他设备中实现。
图7是示出存储代码的计算机可读介质700的框图,该代码用于基于复杂度来适应性地对视频帧进行编码。计算机可读介质700可以由处理器702通过计算机总线704访问。此外,计算机可读介质700可以包括被配置为引导处理器702执行本文中所述的方法的代码。在一些实施例中,计算机可读介质700可以是非暂态计算机可读介质。在一些示例中,计算机可读介质700可以是存储介质。
如图7所示,本文中讨论的各种软件组件可以被存储在一个或多个计算机可读介质700上。例如,接收器模块706可以被配置为:接收包括输入帧的帧集合、目标比特率、以及缓冲器大小。帧分析器模块708可以被配置为:对所接收的帧集合执行前瞻分析和时间相关性分析。例如,帧分析器模块708可以被配置为:生成针对预定数量的帧的统计信息。在各种示例中,帧分析器模块708可以被配置为:估计帧集合中的每个帧的时间相关性水平。基于复杂度的比特分配器模块710可以被配置为:基于所分析的帧集合中的输入帧相对于所分析的帧集合的相对复杂度,来估计针对该输入帧的初始比特分配。时间适应性调整器模块712可以被配置为基于估计的时间相关性水平来适应性地调整初始比特分配。例如,时间适应性调整器模块712可以被配置为:响应于检测到输入帧是组内帧,而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别来调整针对输入帧的初始比特分配。在一些示例中,时间适应性调整器模块712可以被配置为:响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括中等相关性类别,而将初始比特分配增加到第一阈值之上。在各种示例中,时间适应性调整器模块712可以被配置为:响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别是高相关性类别,而将初始比特分配增加到第二阈值之上,该第二阈值高于第一阈值。在一些示例中,时间适应性调整器模块712可以被配置为:响应于检测到输入帧是组间帧而在查找表中找到调整值。基于缓冲器的调整器模块714可以被配置为:基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配。编码器716可以被配置为:基于经调整的比特分配来对输入帧进行编码。在各种示例中,编码器716可以被配置为:基于针对输入帧最终确定的比特分配来对输入帧进行编码。
图7的框图并不旨在指示计算机可读介质700包括图7中所示的全部组件。此外,取决于具体实现方式的细节,计算机可读介质700可包括任意数量的图7中未示出的附加组件。
示例
示例1是一种对视频帧进行编码的装置。该装置包括帧分析器,用于在前瞻窗口内对接收的帧集合执行前瞻分析。帧分析器包括前瞻视频分析器,用于对帧集合进行下采样并且使用恒定的量化参数(QP)对下采样的帧进行编码。针对每个帧的生成的比特的数量被用作每个帧的复杂度度量。该装置包括编码器,用于使用经调整的比特分配来对输入帧进行编码,其中,该经调整的比特分配是基于输入帧相对于帧集合的复杂度的相对复杂度的。
示例2包括如示例1所述的装置,包括或排除可选特征。在该示例中,该装置包括基于复杂度的比特分配器,用于基于所分析的帧集合的输入帧相对于所分析的帧集合的相对复杂度,来估计针对该输入帧的初始比特分配。
示例3包括如示例1至2中任一项所述的装置,包括或排除可选特征。在该示例中,帧分析器包括时间相关性分析器,用于对接收的帧集合执行时间相关性分析。帧分析器用于估计帧集合中的每个帧的时间相关性水平。
示例4包括如示例1至3中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括时间适应性调整器,用于:响应于检测到输入帧是组内帧,而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别,来适应性地调整针对输入帧的初始比特分配。
示例5包括如示例1至4中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括时间适应性调整器,用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括中等相关性类别,而将初始比特分配增加到第一阈值之上。
示例6包括如示例1至5中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括时间适应性调整器,用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括高相关性,而将初始比特分配增加到第二阈值之上,该第二阈值高于第一阈值。
示例7包括如示例1至6中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括时间适应性调整器,用于响应于检测到输入帧是组间帧而在查找表中找到调整值。
示例8包括如示例1至7中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括目标缓冲器充满度计算器,用于基于经调整的比特分配来计算目标缓冲器充满度。
示例9包括如示例1至8中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括基于缓冲器充满度的调整器,用于基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配。编码器用于基于针对输入帧的最终确定的比特分配来对输入帧进行编码。
示例10包括如示例1至9中任一项所述的装置,包括或排除可选特征。在该示例中,该装置包括量化参数得出器,用于基于针对输入帧最终确定的比特分配,来得出用于输入帧的量化参数。
示例11是一种对视频帧进行编码的方法。该方法包括:通过处理器接收包括输入帧的帧集合、目标比特率、以及缓冲器大小。该方法还包括:通过处理器对帧集合执行前瞻分析和时间相关性分析。该方法还包括:通过处理器,基于输入帧相对于所分析的帧集合的相对复杂度,来估计针对输入帧的初始比特分配。该方法还包括:通过处理器,基于估计的时间相关性水平来适应性地调整初始比特分配;通过处理器,基于缓冲器充满度来最终确定针对输入帧的比特分配。该方法包括:通过处理器,基于最终确定的比特分配来对输入帧进行编码。
示例12包括如示例11所述的方法,包括或排除可选特征。在该示例中,估计初始比特分配包括:基于所分析的帧集合的平均帧大小,来初始化针对所分析的帧集合的比特预算。估计初始比特分配还包括:计算所分析的帧集合中的各个帧的复杂度的总和;以及基于针对输入帧的比特预算、输入帧的复杂度、以及所分析的帧集合的复杂度的总和,设置针对输入帧的比特分配。
示例13包括如示例11至12中任一项所述的方法,包括或排除可选特征。在该示例中,最终确定比特分配包括:基于缓冲器充满度来为针对输入帧的比特分配设置上限。缓冲器充满度用于计算在无任何违缓冲器违规的情况下的最大允许帧大小。
示例14包括如示例11至13中任一项所述的方法,包括或排除可选特征。在该示例中,该方法包括:基于针对输入帧所分配的比特和所分析的帧集合的平均帧大小,来更新针对所分析的帧集合中的下一帧的比特预算。
示例15包括如示例11至14中任一项所述的方法,包括或排除可选特征。在该示例中,适应性地调整初始比特分配包括接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。适应性地调整初始比特分配还包括检测组内帧的后续帧中具有最低相关性类别的帧。适应性地调整初始比特分配还包括:响应于检测到具有最低相关性类别的帧包括低相关性类别或非常低相关性类别,而使用针对组内帧的初始比特分配。
示例16包括如示例11至15中任一项所述的方法,包括或排除可选特征。在该示例中,适应性地调整初始比特分配包括接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。适应性地调整初始比特分配还包括检测组内帧的后续帧中具有最低相关性类别的帧。适应性地调整初始比特分配还包括:响应于检测到具有最低相关性类别的帧包括中等相关性类别,而将针对组内帧的初始比特分配增加第一百分比。
示例17包括如示例11至16中任一项所述的方法,包括或排除可选特征。在该示例中,适应性地调整初始比特分配包括接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。适应性地调整初始比特分配还包括检测组内帧的后续帧中具有最低相关性类别的帧。适应性地调整初始比特分配还包括:响应于检测到具有最低相关性类别的帧包括高相关性类别,而将针对组内帧的初始比特分配增加第二百分比,该第二百分比高于第一百分比。
示例18包括如示例11至17中任一项所述的方法,包括或排除可选特征。在该示例中,适应性地调整初始比特分配包括:基于相关性类别和迷你图片组(迷你GOP)结构,预定义一组检查表,该组检查表存储针对组间帧的调整值。适应性地调整初始比特分配还包括接收所分析的帧集合中的组间帧,这些组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别。适应性地调整初始比特分配还包括:检测所分析的帧集合中的迷你图片组;计算被分配给迷你图片组中的帧的比特的总和以及迷你图片组中的帧之间的最小相关性。适应性地调整初始比特分配还包括:针对迷你图片组中的每个帧,在检查表中检测相应调整值,并且将该调整值与所分配的比特的总和相乘,以生成输出比特分配。
示例19包括如示例11至18中任一项所述的方法,包括或排除可选特征。在该示例中,该方法包括:基于经调整的比特分配来计算目标缓冲器充满度。
示例20包括如示例11至19中任一项所述的方法,包括或排除可选特征。在该示例中,该方法包括:基于针对输入帧的最终确定的比特分配来得出用于输入帧的量化参数。
示例21是至少一种计算机可读介质,用于对视频帧进行编码的,该计算机可读介质中存储有指令。该计算机可读介质包括引导处理器进行以下操作的指令:对接收的帧集合执行前瞻分析和时间相关性分析。该计算机可读介质还包括引导处理器进行以下操作的指令:基于所分析的帧集合的输入帧相对于所分析的帧集合的相对复杂度来估计针对该输入帧的初始比特分配。该计算机可读介质还包括引导处理器进行以下操作的指令:基于估计的时间相关性水平来适应性地调整初始比特分配。该计算机可读介质还包括引导处理器进行以下操作的指令:基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配。该计算机可读介质还包括引导处理器进行以下操作的指令:基于经调整的比特分配来对输入帧进行编码。
示例22包括如示例21所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于使处理器执行以下操作的指令:生成针对预定数量的帧的统计信息。
示例23包括如示例21至22中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于使处理器执行以下操作的指令:估计帧集合中的每个帧的时间相关性水平。
示例24包括如示例21至23中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于使处理器执行以下操作的指令:响应于检测到输入帧是组内帧,而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别,来调整针对输入帧的初始比特分配。
示例25包括如示例21至24中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于使处理器执行以下操作的指令:响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括中等相关性类别,而将初始比特分配增加到第一阈值之上。
示例26包括如示例21至25中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括高相关性而将初始比特分配增加到第二阈值之上的指令,该第二阈值高于第一阈值。
示例27包括如示例21至26中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于响应于检测到输入帧是组间帧而在查找表中找到调整值的指令。
示例28包括如示例21至27中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,该计算机可读介质包括用于基于经调整的比特分配来计算目标缓冲器充满度的指令。
示例29包括如示例21至28中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,计算机可读介质包括用于基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配并且基于针对输入帧最终确定的比特分配来对输入帧进行编码的指令。
示例30包括如示例21至29中任一项所述的计算机可读介质,包括或排除可选特征。在该示例中,计算机可读介质包括用于基于针对输入帧最终确定的比特分配来得出用于输入帧的量化参数的指令。
示例31是对视频帧进行编码的系统。该系统包括帧分析器,用于在前瞻窗口内对接收的帧集合中执行前瞻分析。帧分析器包括前瞻视频分析器,用于对帧集合进行下采样并且使用恒定的量化参数(QP)对经下采样的帧进行编码。针对每个帧的生成的比特的数量被用作每个帧的复杂度度量。该系统包括编码器,用于使用经调整的比特分配来对输入帧进行编码,其中,该经调整的比特分配是基于输入帧相对于帧集合的复杂度的相对复杂度的。
示例32包括如示例31所述的系统,包括或排除可选特征。在该示例中,该系统包括基于复杂度的比特分配器,用于基于所分析的帧集合的输入帧相对于所分析的帧集合的相对复杂度,来估计该输入帧的初始比特分配。
示例33包括如示例31至32中任一项所述的系统,包括或排除可选特征。在该示例中,帧分析器包括时间相关性分析器,用于对所接收的帧集合执行时间相关性分析。帧分析器用于估计帧集合中的每个帧的时间相关性水平。
示例34包括如示例31至33中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括时间适应性调整器,用于响应于检测到输入帧是组内帧,而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别,来适应性地调整针对输入帧的初始比特分配。
示例35包括如示例31至34中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括时间适应性调整器,用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括中等相关性类别,而将初始比特分配增加到第一阈值之上。
示例36包括如示例31至35中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括时间适应性调整器,用于:响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括高相关性,而将初始比特分配增加到第二阈值之上,该第二阈值高于第一阈值。
示例37包括如示例31至36中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括时间适应性调整器,用于响应于检测到输入帧是组间帧而在查找表中找到调整值。
示例38包括如示例31至37中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括目标缓冲器充满度计算器,用于基于经调整的比特分配来计算目标缓冲器充满度。
示例39包括如示例31至38中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括基于缓冲器充满度的调整器,用于基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配。编码器用于基于针对输入帧的最终确定的比特分配来对输入帧进行编码。
示例40包括如示例31至39中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括量化参数得出器,用于基于针对输入帧最终确定的比特分配来得出用于输入帧的量化参数。
示例41是对视频帧进行编码的系统。该系统包括引导处理器的指令,用于在前瞻窗口内对接收的帧集合执行前瞻分析的装置。用于执行前瞻分析的装置包括用于对帧集合进行下采样并且使用恒定的量化参数(QP)对经下采样的帧进行编码的装置。针对每个帧生成的比特的数量被用作每个帧的复杂度度量;并且该系统包括用于使用经调整的比特分配来对输入帧进行编码的装置,其中,该经调整的比特分配是基于该输入帧相对于帧集合的复杂度的相对复杂度的。
示例42包括如示例41所述的系统,包括或排除可选特征。在该示例中,该系统包括用于基于所分析的帧集合的输入帧相对于所分析的帧集合的相对复杂度来估计针对该输入帧的初始比特分配的装置。
示例43包括如示例41至42中任一项所述的系统,包括或排除可选特征。在该示例中,用于执行前瞻分析的装置包括用于对所接收的帧集合执行时间相关性分析的装置。用于执行时间相关性分析的装置用于估计帧集合中的每个帧的时间相关性水平。
示例44包括如示例41至43中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于响应于检测到输入帧是组内帧而基于输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别来适应性地调整针对输入帧的初始比特分配的装置。
示例45包括如示例41至44中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括中等相关性类别而将初始比特分配增加到第一阈值之上的装置。
示例46包括如示例41至45中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于响应于检测到输入帧是组内帧并且输入帧的后续帧中的最低相关性类别包括高相关性而将初始比特分配增加到第二阈值之上的装置,该第二阈值高于第一阈值。
示例47包括如示例41至46中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于响应于检测到输入帧是组间帧而在查找表中找到调整值的装置。
示例48包括如示例41至47中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于基于经调整的比特分配来计算目标缓冲器充满度的装置。
示例49包括如示例41至48中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于基于实际缓冲器充满度更新来最终确定针对输入帧的比特分配的装置。用于对输入帧进行编码的装置用于基于针对输入帧最终确定的比特分配来对输入帧进行编码。
示例50包括如示例41至49中任一项所述的系统,包括或排除可选特征。在该示例中,该系统包括用于基于针对输入帧最终确定的比特分配来得出用于输入帧的量化参数的装置。
并非本文中描述和示出的所有组件、特征、结构、特性等都需要包括在特定的一个或多个方面中。例如,如果说明书陈述“可以”、“可能”、“可”或“能够”包括组件、特征、结构或特性,则不要求包括该特定组件、特征、结构或特性。如果说明书或权利要求提及“一”或“一个”元素,则不意味存在仅仅一个元素。如果本说明书或权利要求提及“附加”元素,则并不排除存在多于一个附加元素。
应当注意,尽管已参考特定实现方式描述了一些方面,但根据一些方面其他实现方式也是可能的。此外,附图中示出的和/或本文中描述的电路元素或其他特征的布置和/或顺序不需要以所示出和描述的特定方式来布置。根据一些方面,许多其他布置是可能的。
在图中示出的每个系统中,元素在一些情况下可以各自具有相同的参考标号或不同的参考标号以意指所表示的元素可以是不同的和/或类似的。然而,元素可以足够灵活以具有不同实现方式,并且与本文中所示或所述的部分或全部系统一起工作。图中所示的各种元素可以是相同的或不同的。哪个被称为第一元素和哪个被称为第二元素是任意的。
应当理解,可以在一个或多个方面中的任何地方使用前述示例中的详情。例如,还可以关于本文中描述的方法或计算机可读介质中的任一者实现上面描述的计算设备的所有可选特征。此外,虽然本文中可能已经使用流程图和/或状态图来描述各方面,但本技术不限于那些图或者本文中的相应描述。例如,流程不需要移动通过每个所示的块或状态或者确切地按照本文中所示和描述的相同顺序来进行。
本技术不受限于本文中列出的具体细节。实际上,受益于本公开的本领域技术人员将认识到,可以在本技术的范围内对前述描述和附图进行许多其他变型。因此,所附权利要求包括限定本技术的范围的对这些权利要求的任意修改。

Claims (25)

1.一种用于对视频帧进行编码的装置,所述装置包括:
帧分析器,所述帧分析器用于在前瞻窗口内对所接收的帧集合执行前瞻分析,其中,所述帧分析器包括前瞻视频分析器,所述前瞻视频分析器用于对所述帧集合进行下采样并且使用恒定的量化参数QP对经下采样的帧进行编码,其中,针对所述帧中的每个帧的生成的比特的数量被用作所述帧中的每个帧的复杂度度量;以及
编码器,所述编码器用于使用经调整的比特分配来对输入帧进行编码,其中,所述经调整的比特分配是基于所述输入帧相对于所述帧集合的复杂度的相对复杂度的。
2.根据权利要求1所述的装置,还包括基于复杂度的比特分配器,用于基于所分析的所述帧集合的输入帧相对于所分析的所述帧集合的相对复杂度,来估计针对所述输入帧的初始比特分配。
3.根据权利要求1所述的装置,其中,所述帧分析器包括时间相关性分析器,用于对所接收的所述帧集合执行时间相关性分析,其中,所述帧分析器用于估计所述帧集合中的每个帧的时间相关性水平。
4.根据权利要求1所述的装置,还包括时间适应性调整器,用于响应于检测到所述输入帧是组内帧,而基于所述输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别,来适应性地调整针对所述输入帧的初始比特分配。
5.根据权利要求1所述的装置,还包括时间适应性调整器,用于响应于检测到所述输入帧是组内帧并且所述输入帧的后续帧中的最低相关性类别与中等相关性类别相对应,而将初始比特分配增加到第一阈值之上。
6.根据权利要求1所述的装置,还包括时间适应性调整器,用于响应于检测到所述输入帧是组内帧并且所述输入帧的后续帧中的最低相关性类别与高相关性相对应,而将初始比特分配增加到第二阈值之上,该第二阈值高于第一阈值。
7.根据权利要求1所述的装置,还包括时间适应性调整器,用于响应于检测到所述输入帧是组间帧而在查找表中找到调整值。
8.根据权利要求1到7中任一项所述的装置,还包括目标缓冲器充满度计算器,用于基于所述经调整的比特分配来计算目标缓冲器充满度。
9.根据权利要求1到7中任一项所述的装置,还包括基于缓冲器充满度的调整器,用于基于实际缓冲器充满度更新来最终确定针对所述输入帧的比特分配,其中,所述编码器用于基于针对所述输入帧最终确定的比特分配来对所述输入帧进行编码。
10.根据权利要求1到7中任一项所述的装置,还包括量化参数得出器,用于基于针对所述输入帧最终确定的比特分配,来得出用于所述输入帧的量化参数。
11.一种用于对视频帧进行编码的方法,所述方法包括:
通过处理器接收具有输入帧的帧集合、目标比特率、以及缓冲器大小;
通过所述处理器对所述帧集合执行前瞻分析和时间相关性分析;
通过所述处理器,基于所述输入帧相对于所分析的所述帧集合的相对复杂度,来估计针对所述输入帧的初始比特分配;
通过所述处理器,基于估计的时间相关性水平来适应性地调整所述初始比特分配;
通过所述处理器,基于缓冲器充满度来最终确定针对所述输入帧的比特分配;以及
通过所述处理器,基于最终确定的比特分配来对所述输入帧进行编码。
12.根据权利要求11所述的方法,其中,估计所述初始比特分配包括:
基于所分析的所述帧集合的平均帧大小,来初始化针对所分析的所述帧集合的比特预算;
计算所分析的所述帧集合中的各个帧的复杂度的总和;以及
基于针对所述输入帧的比特预算、所述输入帧的复杂度、以及所分析的所述帧集合的复杂度的总和,设置针对所述输入帧的比特分配。
13.根据权利要求11所述的方法,其中,最终确定所述比特分配包括:基于所述缓冲器充满度来为针对所述输入帧的所述比特分配设置上限,其中,所述缓冲器充满度用于计算在无任何缓冲器违规情况下的最大允许帧大小。
14.根据权利要求11所述的方法,还包括:基于分配给所述输入帧的比特和所分析的所述帧集合的平均帧大小,来更新针对所分析的所述帧集合中的下一帧的比特预算。
15.根据权利要求11到14中任一项所述的方法,其中,适应性地调整所述初始比特分配包括:
接收所分析的所述帧集合中的组间帧,所述组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别;
检测组内帧的后续帧中具有最低相关性类别的帧;以及
响应于检测到具有所述最低相关性类别的帧被分类到所述低相关性类别或所述非常低相关性类别,而使用针对所述组内帧的初始比特分配。
16.根据权利要求11到14中任一项所述的方法,其中,适应性地调整所述初始比特分配包括:
接收所分析的所述帧集合中的组间帧,所述组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别;
检测组内帧的后续帧中具有最低相关性类别的帧;以及
响应于检测到具有所述最低相关性类别的帧被分类到所述中等相关性类别,而将针对所述组内帧的初始比特分配增加第一百分比。
17.根据权利要求11到14中任一项所述的方法,其中,适应性地调整所述初始比特分配包括:
接收所分析的所述帧集合中的组间帧,所述组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别;
检测组内帧的后续帧中具有最低相关性类别的帧;以及
响应于检测到具有所述最低相关性类别的帧被分类到所述高相关性类别,而将针对所述组内帧的初始比特分配增加第二百分比,该第二百分比高于第一百分比。
18.根据权利要求11到14中任一项所述的方法,其中,适应性地调整所述初始比特分配包括:
基于相关性类别和迷你图片组迷你GOP结构,预定义一组检查表所述一组检查表存储针对组间帧的调整值;
接收所分析的所述帧集合中的组间帧,所述组间帧被分类到非常低相关性类别、低相关性类别、中等相关性类别、或高相关性类别;
检测所分析的所述帧集合中的迷你图片组;
计算被分配给所述迷你图片组中的帧的比特的总和、以及所述迷你图片组中的帧之间的最小相关性;以及
针对所述迷你图片组中的每个帧,在所述检查表中检测相应的调整值,并且将该调整值与所分配的所述比特的总和相乘,以生成输出比特分配。
19.根据权利要求11到14中任一项所述的方法,还包括:基于经调整的比特分配来计算目标缓冲器充满度。
20.根据权利要求11到14中任一项所述的方法,还包括:基于针对所述输入帧的最终确定的比特分配来得出用于所述输入帧的量化参数。
21.一种用于对视频帧进行编码的系统,所述系统包括:
用于在前瞻窗口内对所接收的帧集合执行前瞻分析的装置,其中,用于执行所述前瞻分析的所述装置包括:用于对所述帧集合进行下采样并且使用恒定的量化参数QP对经下采样的帧进行编码的装置,其中,针对所述帧中的每个帧的生成的比特的数量被用作所述帧中的每个帧的复杂度度量;以及
用于使用经调整的比特分配来对输入帧进行编码的装置,其中,所述经调整的比特分配是基于所述输入帧相对于所述帧集合的复杂度的相对复杂度的。
22.根据权利要求21所述的系统,还包括:用于基于所分析的所述帧集合的输入帧相对于所分析的所述帧集合的相对复杂度来估计针对所述输入帧的初始比特分配的装置。
23.根据权利要求21所述的系统,其中,用于执行所述前瞻分析的所述装置包括:用于对所接收的所述帧集合执行时间相关性分析的装置,其中,所述帧分析器用于估计所述帧集合中的每个帧的时间相关性水平。
24.根据权利要求21所述的系统,还包括:用于响应于检测到所述输入帧是组内帧而基于所述输入帧的后续帧中具有最低相关性类别的后续帧的相关性类别来适应性地调整针对所述输入帧的初始比特分配的装置。
25.根据权利要求21到24中任一项所述的系统,还包括:用于基于实际缓冲器充满度更新来最终确定针对所述输入帧的比特分配的装置,其中,用于对所述输入帧进行编码的所述装置基于针对所述输入帧最终确定的比特分配来对所述输入帧进行编码。
CN202011021513.2A 2019-11-15 2020-09-25 基于复杂度来适应性地对视频帧进行编码 Pending CN112822493A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/684,952 2019-11-15
US16/684,952 US11825088B2 (en) 2019-11-15 2019-11-15 Adaptively encoding video frames based on complexity

Publications (1)

Publication Number Publication Date
CN112822493A true CN112822493A (zh) 2021-05-18

Family

ID=69719769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011021513.2A Pending CN112822493A (zh) 2019-11-15 2020-09-25 基于复杂度来适应性地对视频帧进行编码

Country Status (4)

Country Link
US (1) US11825088B2 (zh)
KR (1) KR20210059604A (zh)
CN (1) CN112822493A (zh)
DE (1) DE102020126931A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102562380B1 (ko) * 2021-10-18 2023-08-02 (주)카이미디어 8k 스케일러블 비디오 부호화 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468726B1 (ko) * 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
US7822116B2 (en) * 2005-04-14 2010-10-26 Broadcom Corporation Method and system for rate estimation in a video encoder
US20080232468A1 (en) * 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
US8259794B2 (en) * 2008-08-27 2012-09-04 Alexander Bronstein Method and system for encoding order and frame type selection optimization
US20150172680A1 (en) * 2013-12-16 2015-06-18 Arris Enterprises, Inc. Producing an Output Need Parameter for an Encoder
US10555002B2 (en) * 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
US10200698B2 (en) * 2016-08-09 2019-02-05 Intel Corporation Determining chroma quantization parameters for video coding
US20180184089A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Target bit allocation for video coding
US10924741B2 (en) * 2019-04-15 2021-02-16 Novatek Microelectronics Corp. Method of determining quantization parameters
US11265552B1 (en) * 2019-09-27 2022-03-01 Apple Inc. Block-based low latency rate control

Also Published As

Publication number Publication date
DE102020126931A1 (de) 2021-05-20
KR20210059604A (ko) 2021-05-25
US11825088B2 (en) 2023-11-21
US20200084449A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
CN102006471B (zh) 视频编码的图片级速率控制
US12022096B2 (en) Human visual system adaptive video coding
JP2005510980A (ja) ビデオトランスコーディングにおけるレート制御方法およびシステム
CN111182303A (zh) 共享屏幕的编码方法、装置、计算机可读介质及电子设备
US11012088B2 (en) Data processing apparatuses, methods, computer programs and computer-readable media
US11197021B2 (en) Coding resolution control method and terminal
WO2015095166A2 (en) Producing an output need parameter for an encoder
CN111131828A (zh) 一种图像压缩方法及装置
WO2022000298A1 (en) Reinforcement learning based rate control
US20120195364A1 (en) Dynamic mode search order control for a video encoder
WO2021092821A1 (en) Adaptively encoding video frames using content and network analysis
US20100027617A1 (en) Method and apparatus for compressing a reference frame in encoding/decoding moving images
CN110012292B (zh) 用于压缩视频数据的方法和装置
CN112822493A (zh) 基于复杂度来适应性地对视频帧进行编码
CA2524809C (en) Methods and apparatus for improving video quality in statistical multiplexing
EP3552395A1 (en) Motion compensation techniques for video
EP3827588A1 (en) Spatial layer rate allocation
CN115733981A (zh) 一种码流控制方法、装置及电子设备
EP4415359A1 (en) Encoding of pre-processed image frames
JP7020068B2 (ja) 映像符号化装置、映像符号化方法、及びプログラム
CN116527911A (zh) 码率控制的方法及装置
CN118678081A (zh) 用于视频编码的计算机实现的方法和系统
CN114430501A (zh) 一种用于文件转码的内容自适应编码的方法及系统
CN116366850A (zh) 一种视频编码控制方法、装置和电子设备
CN114143188A (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