CN115868161A - 基于强化学习的速率控制 - Google Patents
基于强化学习的速率控制 Download PDFInfo
- Publication number
- CN115868161A CN115868161A CN202080102562.0A CN202080102562A CN115868161A CN 115868161 A CN115868161 A CN 115868161A CN 202080102562 A CN202080102562 A CN 202080102562A CN 115868161 A CN115868161 A CN 115868161A
- Authority
- CN
- China
- Prior art keywords
- encoding
- video
- state
- video unit
- buffer
- 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
- 230000002787 reinforcement Effects 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 15
- 239000000872 buffer Substances 0.000 claims description 67
- 239000003795 chemical substances by application Substances 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 230000009471 action Effects 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000013139 quantization Methods 0.000 claims description 12
- 230000000306 recurrent effect Effects 0.000 claims description 12
- 230000000007 visual effect Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 15
- 238000012549 training Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect 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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/189—Methods 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/196—Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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
-
- 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/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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/189—Methods 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/192—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Body Structure For Vehicles (AREA)
- Golf Clubs (AREA)
- Feedback Control In General (AREA)
Abstract
本文描述的主题的实现提供了基于强化学习的速率控制的解决方案。在此解决方案中,视频编码器的编码状态被确定,该编码状态与由视频编码器对第一视频单元的编码相关联。通过强化学习模型并且基于视频编码器的编码状态来确定与视频编码器中的速率控制相关联的编码参数。基于编码参数对不同于第一视频单元的第二视频单元进行编码。通过这种方式,可以在减少计算开销的情况下实现更好的实时通信体验质量(QOE)。
Description
背景技术
在实时通信(RTC)中,一个常见的需求是与不同用户共享屏幕。例如,参与者可能需要向多用户视频会议中的其他参与者展示他或她的桌面屏幕。在这种情况下,技术目标是提供更好的体验质量(QOE),这通常由诸如视觉质量、掉线率、传输延迟等各种因素决定。速率控制通过确定针对视频编码器的编码参数以实现此目标比特率来实现此目标起着关键作用。
现有的速率控制方法主要针对自然场景的视频被设计。然而,与大多内容运动最流畅的自然视频不同,屏幕内容通常交织着复杂的突变和静止的场景。由于这种独特的运动特性,针对自然视频设计的现有速率控制方法不能很好地用于屏幕内容。
发明内容
根据本文描述的主题的实现,提供了一种基于强化学习(reinforcementlearning)的速率控制的解决方案。在该解决方案中,视频编码器的编码状态被确定,该编码状态与由视频编码器对第一视频单元的编码相关联。与视频编码器中的速率控制相关联的编码参数由强化学习模型确定并且基于视频编码器的编码状态。基于编码参数不同于第一视频单元的第二视频单元被编码。强化学习模型被配置为接收一个或多个视频单元的编码状态以确定用于另一视频单元的编码参数。编码状态具有有限的状态维数,可以实现更好的用于实时通信QOE,计算开销被减少。
本发明内容被提供是为了以简化的形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过在附图中对本文所述主题的一些实现的更详细描述,本文所述的主题的上述和其他目标、特征和优点将变得更加明显,其中:
图1图示了计算设备的框图,其中本文描述的主题的各种实现可以被实现;
图2图示了根据本文所述主题的实现的强化学习模块的框图;
图3图示了根据本文所述主题的实现在强化学习模块中使用的代理的示例;
图4图示了根据本文所述主题的实现的基于强化学习的速率控制的方法的流程图。
在整个附图中,相同或相似的附图标记表示相同或相似元件。
具体实施方式
现在将参考几个示例实现来讨论本文描述的主题。应当理解,这些实现被讨论仅仅是为了使本领域的技术人员能够更好地理解并因此实现本文描述的主题,而不是暗示对主题范围的任何限制。
如本文所用,术语“包括”及其变体应被理解为开放术语,意思是“包括但不限于”。术语“基于”应被理解为“至少部分基于”。术语“一个实现”和“实现”应被解释为“至少一个实现。术语“另一个实现”应被理解为“至少一个其他实现”。术语“第一”、“第二”等可指不同或相同的对象。其他定义,无论是明确的还是隐含的,可以被包括在下面。
图1图示计算设备100的框图,其中本文描述的主题的各种实现可以被实现。应当理解,图1中所示的计算设备100仅仅是为了说明的目的,而不是以任何方式暗示对本文描述的主题的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150和一个或多个输出设备160。
在一些实现中,计算设备100可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供方提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板电脑、因特网节点、通信器、台式计算机、膝上型计算机、笔记本电脑、平板电脑、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,包括这些设备的附件和外围设备或其任意组合。可以设想,计算设备100可以支持用户的任何类型的接口(例如“可穿戴”电路装置等)。
处理单元110可以是物理或虚拟处理器,并且可以基于存储在存储器120中的程序来实现各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110还可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备100通常包括各种计算机存储介质。这样的介质可以是计算设备100可访问的任何介质,包括但不限于易失性和非易失性介质,或可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储设备130可以是任何可拆卸或不可拆卸介质,并且可以包括机器可读介质(诸如存储器、闪存驱动器、磁盘或其他介质),其可以用于存储信息和/或数据并且可以在计算设备100中被访问。
计算设备100可以进一步包括附加的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管图1中未示出,但可以提供用于从可拆卸非易失性磁盘读取和/或写入可拆卸非易失性磁盘的磁盘驱动器和用于读取和/或者写入可拆卸的非易失光盘的光盘驱动器。在这种情况下,每个驱动器可以通过一个或多个数据介质接口连接到总线(未示出)。
通信单元140经由通信介质与另一计算设备通信。此外,计算设备100中的组件的功能可以由能够经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备100可以使用具有一个或多个其他服务器、联网的个人计算机(PC)或其他通用网络节点的逻辑连接在联网的环境中操作。
输入设备150可以是各种输入设备中的一个或多个,诸如鼠标、键盘、跟踪球、语音输入设备等。输出设备160可以是各种输出设备中的一个或多个,诸如显示器、扬声器、打印机等。通过通信单元140,计算设备100可以进一步与一个或多个外部设备(未示出)通信,诸如存储设备和显示设备,其中一个或多个设备使用户能够与计算设备100交互,或者如果需要,使计算设备100能够与一个或多个其他计算设备通信的任何设备(诸如网卡、调制解调器等)。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实现中,作为集成在单个设备中的备选方案,计算设备100的一些或所有组件也可以被布置在云计算架构中。在云计算架构中,这些组件可以远程被提供并且共同工作以实现本文所述主题中描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知道提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用合适的协议经由广域网(诸如,因特网)提供服务。例如,云计算提供方通过广域网提供应用,可以通过web浏览器或任何其他计算组件访问这些应用。云计算架构的软件或组件以及相应的数据可以被存储在远程位置的服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心中的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们作为针对用户的单个访问点。因此,云计算架构可被用于从远程位置的服务提供方提供本文所述的组件和功能。或者,它们可以从传统服务器提供,或者直接或以其他方式被安装在客户端设备上。
计算设备100可以被用于在本文描述的主题的实现中实现基于强化学习的速率控制。存储器120可以包括具有一个或多个程序指令的一个或更多个强化学习模块122。这些模块可由处理单元110访问和执行以执行本文描述的各种实现的功能。例如,输入设备150可以向强化学习模块122提供计算设备100的环境的视频或帧序列,以启用视频会议应用,而处理单元110和/或存储器120可以向强化学习模块122提供屏幕内容的至少一部分,以启用屏幕内容共享应用。多媒体内容可以由强化学习模块122编码以实现具有良好QOE的速率控制。
现在参考图2,图2示出了根据本文描述的实现的强化学习模块200的框图。例如,强化学习模块200可以在计算设备100中被实现为强化模块122。强化学习模块200包括编码器204,被配置为对来自计算设备100的其他组件(例如,处理单元110、存储器120、存储器130、输入设备150等)的多媒体内容进行编码。例如,输入设备150可以向强化学习模块200提供视频的一个或多个帧,而处理单元110和/或存储器120可以向强化学习模块200提供屏幕内容的至少一部分。例如,编码器204可以是视频编码器,尤其是针对来自计算设备100的屏幕内容而优化的视频编码器。
与速率控制相关联的编码参数(诸如量化参数(QP)或针对视频单元的λ(lambda)控制压缩粒度)(例如,帧、帧中的块或宏块)。较大的值意味着将有更高的量化、更多的压缩和更低的质量。较低的值意味着相反。因此,可以通过执行速率控制来调整编码器的编码参数(例如,量化参数或λ)来实现良好的QOE。尽管现在参考量化参数或λ,但应注意,量化参数或λ是用于说明目的而被提供的,并且与速率控制相关联的任何其他合适的编码参数可以被调整或控制。
如图2所示,强化学习模块200可以包括代理202,被配置为对编码器204的编码参数进行决策控制。在一些实现中,代理202可以采用由神经网络(例如,递归神经网络)实现的强化学习模型。
编码的比特流然后被输出到传输缓冲器。编码器204还可以包括这样的传输缓冲器(未示出)以实现比特流发送过程。被编码后,最近编码的视频单元的比特流将被存储或添加到传输缓冲器中。在传输期间,存储在传输缓冲器中的比特流以一定带宽通过一个或多个信道传输到一个或更多个接收器,并且传输的比特流将随着传输一起在该带宽从缓冲器中被移除。由于传入和传出比特流进出传输缓冲器,传输缓冲器的状态处于不断变化的过程中。
在每个时间步t,代理202观察编码器204的编码状态st。可以基于在时间步t-1对至少一个视频单元的编码来确定在时间步t的编码状态st。基于此输入信息,代理202进行推断并输出动作at。动作at指示编码器204在时间步t压缩视频单元的精细程度。动作at可以是用于速率控制的编码器204的编码参数(例如量化参数(QP)),或者可以被映射到编码器204中的编码参数。在获得编码参数后,编码器204可以开始编码视频单元,例如屏幕内容帧。然后,在时间步t对视频单元的编码将用于在时间步t+1更新针对代理202的编码状态st+1。应当理解,强化学习模块200可以被应用于除实时屏幕内容共享之外的任何其他合适的多媒体应用。
通过基于编码器的编码状态而不是传统的手工规则通过代理的动作来控制编码参数,根据本文描述的主题的实现的基于强化学习的解决方案可以在可忽略的下降率变化的情况下实现更好的视觉质量。编码器的编码状态具有有限的状态空间,因此允许在减少计算开销和提高效率的情况下决定编码参数。特别是,当屏幕内容中突然的场景变化发生时,训练有素的强化学习模型可以非常快地更新编码参数,以实现更好的QOE,这对于实时通信中的屏幕内容共享特别有益。基于强化学习的架构不限于任何编解码器,并且可以与各种不同的编解码器协作,例如H.264、HEVC和AV1。
在一些实现中,为了帮助强化学习模块200的代理202做出正确和可靠的决定,作为对代理202的输入的在时间步t的编码状态st可以包括多个元素,以从各个角度表示编码状态。例如,视频单元可以是帧,并且编码状态st可以包括表示在时间步t-1对至少一帧进行编码的结果的状态、在时间步t的传输缓冲器的状态、以及与在时间步t的用于传输编码帧的网络状态相关联的状态。
例如,在时间步t-1编码至少一帧的结果可以进一步包括在时间步t-1之前编码帧的结果,例如,在时间步t-2的帧。在示例中,该结果可以包括在时间步t-1编码帧的编码参数,例如QP或λ,以及在时间步t-1编码帧大小。如果帧被丢弃,在时间步t-1的编码帧的编码参数可以被设置为预定值,诸如零。在示例中,时间步t-1的帧大小可以由帧的帧大小比表示,该帧大小比由帧大小与平均目标帧大小的比率定义。换言之,在时间步长t-1的帧大小可以通过平均目标帧大小来归一化。例如,帧大小可以由帧的比特流大小表示,平均目标帧大小可以表示帧中的目标比特数的平均值,并且可以通过将目标比特率除以帧率来计算。目标比特率表示要被传输的比特的目标数目,并且帧速率表示用于传输帧的频率或速率。目标比特率和帧速率都可以从视频编码器来确定。
在示例中,传输缓冲器的状态可以包括缓冲器的使用,例如,占用空间与缓冲器的最大空间的比率,以帧为单位测量的所述缓冲器的剩余空间或其组合。可以通过将缓冲区的剩余空间除以平均目标帧大小来计算以帧为单位测量的缓冲区的剩余空间。该值从另一个方面描述了缓冲区的使用,其中帧速率的影响被考虑。
在示例中,与网络状态相关联的状态包括每像素目标比特(BPP)。此参数由像素使用的比特数定义,并且可以通过将目标比特率除以每单位时间帧中的像素数来计算。例如,目标比特率和帧中的像素数可以从视频编码器来确定。
在一些实现中,如上所述的编码状态是关于帧的,并且强化学习模块200基于帧做出决定。在其他实现中,强化模块200可以被应用或适配到任何其他合适的视频单元以用于压缩或编码。例如,强化模块可以在块级别做出决策,例如,宏块(H.264)、编码树单元(HEVC)、超级块(AV1)等。因此,用作代理202的输入的编码状态st可以包括表示在时间步t-1对至少一个块进行编码的结果的状态、在时间步t的传输缓冲器的状态、以及与在时间步t的用于传输编码块的网络状态相关联的状态。
例如,用于编码至少一个块的结果可以包括用于编码一个或多个相邻块的结果。相邻块可以包括在空间上位于正被处理的块的左侧、右侧、顶部和/或底部的块。空间相邻块的编码可以在时间步t-1或其他先前时间步处被执行。空间相邻块的编码结果可以被存储在存储器中,并且空间相邻块的编码结果可以从存储器中取回。附加地或替代地,相邻块可以包括在先前帧处的一个或多个相对应的块,其也被称为时间相邻块。时间相邻块的编码结果可以被存储并从存储器中取回。
在示例中,结果可以包括编码的至少一个块的编码参数,例如QP或λ,以及编码的至少一个块的大小。例如,编码块的大小可以由块大小比表示,块大小比由编码块的大小与平均目标块大小的比率定义。换句话说,块大小可以通过平均目标块大小来标准化。例如,块大小可以由用于编码块的比特流大小来表示,平均目标块大小可以表示块中的目标比特数的平均值,并且可以通过将目标比特率除以每单位时间传输的块的数量来计算。
在示例中,传输缓冲器的状态可以包括缓冲器的使用,例如,占用空间与缓冲器的最大空间的比率、以块为单位测量的缓冲器的剩余空间或其组合。以块为单位测量的缓冲器剩余空间可以通过将缓冲器的剩余空间除以平均目标块大小来计算。
在示例中,与网络状态相关联的状态包括每像素目标比特(BPP)。该参数由像素使用的位数定义,并且可以类似于关于帧的实现来计算。
编码状态已经针对诸如量化参数或λ的编码参数被描述。注意,编码状态还可以被应用于与编码器使用的速率控制相关联的任何其他合适的编码参数。
返回参考图2,由代理202输出的动作at可以控制编码器204的编码质量。例如,由代理202确定的动作可以被归一化,范围从0到1。在一些实现中,动作可以被映射到编码器可以理解的QP。例如,映射可以通过以下方式实现:
QPcur=QPmin+(QPmax-QPmin)*action (1)
其中QPmax和QPmin分别表示最大和最小QP,并且QPcur表示编码器204将用于编码的QP。尽管此映射函数被例示为线性函数,但应当理解,可以使用任何其他合适的函数来代替。较小的QP值使编码器以更精细的方式执行压缩,并获得更高的重建质量。然而,代价是它生成了更大的编码比特流。太大的比特流使缓冲器容易过冲,因此帧可能被丢弃(例如用于帧级速率控制)。另一方面,较大的QP值采用较粗的编码,但较小的编码比特流将被生成。
在一些其他的实现中,编码参数可以被实现为λ。由代理202输出的动作at然后可以被映射到编码器可以理解的λ中。例如,映射可以通过以下方式实现:
其中lambdamax和lambdamin分别表示最大和最小λ,并且lambdacur表示编码器204要使用的λ。此映射函数在λ的对数域中线性进行。除了如上所示的映射函数之外或作为其替代,可以将任何其他合适的函数用于映射。较低的λ值以更精细的方式控制编码,并获得更高的重建质量。然而,它可能导致更大的编码比特流,并且缓冲区可能很容易过冲,而较高的λ值需要较粗的编码,但将生成较小的编码比特。
仍然参考图2,在训练强化学习模块200时,有必要评估代理202所做的动作有多好。为此,在编码器204完成对每个视频单元的编码后,奖励rt被提供。当代理202获得一定量的训练样本时,代理202可以基于奖励rt来更新其策略。代理202可以被训练为朝向能够最大化累积奖励的方向收敛。为了获得更好的QOE,可以将反映QOE的一个或多个因素纳入奖励中。例如,奖励rt被配置为惩罚缓冲区过冲,并且随着编码参数导致更高的视觉质量而增加。例如,视觉质量随着量化参数或λ的减小而增加。
在示例中,奖励rt可以通过以下方式来计算:
其中a是常数因子,b是负数,rbase表示基本奖励,Bandwidthcur表示用于在时间步t传输比特流的信道的带宽,Bandwidthmax表示最大带宽,并且rfinal表示最终奖励。
基本奖励rbase由等式(3)来计算。例如,更高的视觉质量可以带来更好的QOE,尤其是在屏幕内容共享场景中。因此,期望使用更小的QP或λ来实现更高的视觉质量,并且如等式(3)所示,奖励随着当前量化参数QPcur的减小而增加。然而,非常小的QP值也可能导致较大的比特流大小,这可能容易导致缓冲区过冲,从而导致帧级速率控制的帧丢失。因此,针对缓冲区过冲,奖励被设置为负数(即b)。将负数设置为惩罚用于训练代理202以避免缓冲区过冲。
在计算rbase之后,最终奖励rfinal可以通过缩放来获得,如等式(4)所示。缩放因子与时间步t处的带宽与最大带宽之比有关。当时间步t处的带宽高时,奖励rt被缩放到较大的值,并且如果发生缓冲区过冲,惩罚也将较大。在高带宽条件下追求更好的视觉质量可能更具侵略性,另一方面,发生缓冲区过冲更为严重。应注意,可以使用任何其他合适的函数来代替计算奖励,而不背离本文描述的实现的精神。
在一些实现中,邻近策略优化(PPO)算法可以被采用来基于奖励rt训练代理202。PPO基于演员-评论家架构来实现,该架构包括针对演员的演员网络和针对评论家的评论家网络。演员充当代理202。演员网络的输入是编码状态,并且演员网络的输出是动作。演员网络被配置为估计策略πθ(at|st),其中θ表示策略参数(例如,演员网络中的权重),at和st分别表示时间步t处的动作和编码状态。评论家的评论家网络被配置为评估编码状态st有多好,并且仅在训练过程中工作。
在PPO算法中,策略损失Lpolicy可用于更新演员,价值损失Lvalue可被用于更新如下评论家:
其中,价值损失计算为的平方,γi-tri是折扣奖励(γ表示折扣),Vθ(st)是评论家为输入编码状态st生成的评估值,以及Vθ表示价值函数。在强化学习中,值函数表示代理的状态有多好。At表示在时间步长t的优势函数的估计器,并被计算为即,给定状态-动作对与代理状态的值函数之间的差。θ表示随机策略参数并且θold表示更新之前的策略参数。Clip()表示剪辑函数以及∈表示超参数。应注意,任何适当的改变都可以被应用于损耗函数。
在强化学习模块200中使用的编码状态使得能够启用针对代理202的轻量级网络架构,并且还能够使用轻量级网络结构来训练代理202。例如,实现代理202的神经网络可以包括一个或多个被配置为从编码状态st提取特征的输入全连接层。提取的特征可以被提供给一个或多个递归神经网络以从特征中提取时间特征或相关性。然后,可以将特征提供给一个或多个输出完全连接层,以做出决定,例如,在生成动作at。例如,递归神经网络可以是门控递归单元或长短期记忆(LSTM)。神经网络具有轻量级但高效的架构,以满足实时应用的需求,特别是屏幕内容编码(SCC)。
图3示出了根据本文所述主题的实现来训练代理202的神经网络300的示例。神经网络300包括演员网络302和评论家网络304。演员网络302和评论家网络304可以共享公共网络模块以减少要优化的参数。在此示例中,输入将通过两个完全连接(FC)层并转换为特征向量。应理解,网络中任何合适的激活函数可以被使用,尽管图3中图示了泄漏整流线性单元(RELU)。
考虑到速率控制是一个时间序列问题,引入两个门控递归单元(GRU),结合历史信息进一步提取特征。应当理解,也可以使用任何其他合适的递归神经网络。在GRU之后,演员和评论家网络开始有单独的网络模块。演员和评论家将分别使用FC层降低特征向量的维数。最后,两个网络都使用一个FC层来生成相应的输出,并且在演员网络中使用S型(sigmoid)层来将动作的范围归一化为[0,1]。应当理解,任何合适的激活函数都可以用来代替S型(sigmoid)函数。
神经网络300具有轻量级但高效的架构以满足实时应用的需求。针对屏幕内容编码(SCC),与传统的基于规则的速率控制方法相比,基于强化学习的解决方案可以实现更好的视觉质量,且下降率变化可以忽略不计。特别是,此方法可以在屏幕内容发生突然的场景变化后带来更快的质量刷新。基于增强网络的架构不限于任何编解码器,并且可以与各种不同的编解码器协作,例如H.264、HEVC和AV1。
图4图示了根据本文所述主题的实现的用于基于强化学习的速率控制的方法400的流程图。方法400可以由计算设备100实现,例如,由计算设备100中的强化学习模块122实现。方法400也可以由任何其他设备、设备集群或类似于计算设备100的分布式并行系统实现。出于描述目的,方法400参考图1被描述。
在框402,计算设备100确定视频编码器的编码状态。编码状态可以与视频编码器对第一视频单元进行编码相关联。视频编码器可以被配置为对屏幕内容进行编码以用于实时通信。例如,视频编码器可以是强化学习模块200中的编码器204,如图2所示。与编码第一视频单元相关联的编码状态包括:表示用于编码至少第一视频单元的结果的状态;缓冲器的状态,被配置为在传输之前缓冲由视频编码器编码的视频单元;以及与用于传输编码的视频单元的网络的状态相关联的状态。视频单元可以包括帧、块或帧中的宏块。在一些实现中,针对第一视频单元进行编码的结果包括编码的第一视频单元的编码参数和编码的第一视频单元的大小,缓冲器的状态包括缓冲器的使用,并且与网络的状态相关联的状态包括每像素目标比特。在一些实现中,缓冲器的使用包括以下至少一项:占用的空间与缓冲器的最大空间的比率;以及在视频单位中测量的缓冲器的剩余空间。
在框404,计算设备100通过强化学习模型并基于视频编码器的编码状态来确定与针对视频编码器的速率控制相关联的编码参数。编码参数可以是量化参数或λ。在一些实现中,编码参数是基于代理基于视频编码器的编码状态输出的动作来确定的。代理可以包括实现强化学习模型的神经网络,并且由代理输出的动作被映射到编码参数。
在框406处,计算设备100基于编码参数对不同于第一视频单元的第二视频单元进行编码。第一视频单元可以是第一帧,第二视频单元可以为第一帧之后的第二帧。备选地,第一视频单元可以是第一块,并且第二视频单元可以为相邻的第二块,例如,空间相邻块或时间相邻块。
在一些实现中,强化学习模型通过以下方式来训练:基于第二视频单元的编码确定针对编码参数的奖励,其中奖励被配置为惩罚缓冲区过冲,并且随着编码参数导致更高的视觉质量而增加。
在一些实现中,奖励包括:以这样的方式确定基本奖励,如果缓冲区过冲发生则基本奖励具有负值并且如果缓冲区过冲未发生则基础奖励通过负系数与编码参数成正比例;以及通过缩放因子缩放基本奖励以获得奖励,其中缩放因子基于与编码第二视频单元相关联的带宽与传输信道的最大带宽的比率。例如,奖励可以基于等式(3)和(4)来计算。
在一些实现中,通过以下方式进一步训练强化学习模型:基于视频编码器的编码状态确定与编码参数相关联的动作;确定用于编码第二视频单元的针对编码状态的评估值;基于奖励和评估值确定价值损失;基于动作确定策略损失;以及基于价值损失和策略损失更新强化学习模型。
在一些实现中,代理包括神经网络,其中该神经网络包括:至少一个输入完全连接层,被配置为从编码状态提取特征;至少一个递归神经网络,其被耦合以接收所提取的特征;以及至少一个输出完全连接层,被配置为决定针对代理的动作。
在一些实现中,基于演员-评论家架构训练神经网络,演员被配置为基于编码状态生成动作并且评论家被配置为生成针对编码状态的评估值;并且其中演员和评论家共享包括至少一个输入完全连接层和至少一个递归神经网络的神经网络的公共部分。
本文描述的主题的一些示例实现在下面被列出。
在第一方面,本文描述的主题提供了一种计算机实现的方法。该方法包括确定视频编码器的编码状态,该编码状态与由视频编码器对第一视频单元进行编码相关联;通过强化学习模型并基于视频编码器的编码状态确定与视频编码器中的速率控制相关联的编码参数;以及基于编码参数对不同于第一视频单元的第二视频单元进行编码。
在一些实现中,确定编码参数包括:通过强化学习模型基于视频编码器的编码状态确定动作;以及将动作映射到编码参数。
在一些实现中,第二视频单元在第一视频单元之后,并且其中用于对第一视频单元进行编码的编码状态包括:表示用于编码至少第一视频单元的结果的状态;缓冲器的状态,被配置为在传输之前缓冲由视频编码器编码的视频单元;以及与用于传输编码的视频单元的网络的状态相关联的状态。
在一些实现中,针对第一视频单元进行编码的结果包括编码的第一视频单元的编码参数和编码的第一视频单元的大小,缓冲器的状态包括缓冲器的使用,并且与网络的状态相关联的状态包括每像素目标比特。
在一些实现中,缓冲器的使用包括以下至少一项:占用的空间与缓冲器的最大空间的比率;以及在视频单位中测量的缓冲器的剩余空间。
在一些实现中,强化学习模型通过以下方式来训练:基于第二视频单元的编码确定针对编码参数的奖励,其中奖励被配置为惩罚缓冲区过冲,并且随着编码参数导致更高的视觉质量而增加。
在一些实现中,奖励包括:以这样的方式确定基本奖励,如果缓冲区过冲发生则基本奖励具有负值并且如果缓冲区过冲未发生则基础奖励通过负系数与编码参数成正比例;以及通过缩放因子缩放基本奖励以获得奖励,其中缩放因子基于与编码第二视频单元相关联的带宽与传输信道的最大带宽的比率。
在一些实现中,强化学习模型进一步通过以下来训练:基于视频编码器的编码状态确定与编码参数相关联的动作;确定用于编码第二视频单元的针对编码状态的评估值;基于奖励和评估值确定价值损失;基于动作确定策略损失;以及基于价值损失和策略损失更新强化学习模型。
在一些实现中,强化学习模型包括代理的神经网络,其中该神经网络包括:至少一个输入完全连接层,被配置为从编码状态提取特征;至少一个递归神经网络,其被耦合以接收所提取的特征;以及至少一个输出完全连接层,被配置为决定针对代理的动作。
在一些实现中,基于演员-评论家架构训练神经网络,演员被配置为基于编码状态来生成动作,评论家被配置为生成针对编码状态的评估值;以及其中演员和评论家共享神经网络的公共部分,公共部分包括至少一个输入完全连接层和至少一个递归神经网络。
在一些实现中,编码参数包括量化参数和λ参数中的至少一个。
在一些实现中,视频编码器被配置为对用于实时通信的屏幕内容进行编码。
在第二方面,本文描述的主题提供了一种电子设备。该电子设备包括处理单元;以及存储器,被耦合到处理单元并且具有其上存储在的指令,在该指令被处理单元执行时,使所述电子设备执行上述方法的任何步骤。
在第三方面,本文描述的主题提供了一种有形地存储在计算机存储介质上并且包括机器可执行指令的计算机程序产品,该机器可执行指令在由设备执行时,使设备执行根据第一方面中的方面的方法。计算机存储介质可以是非暂时性计算机存储介质。
在第四方面,本文描述的主题提供了一种在其上存储机器可执行指令的非暂时性计算机存储介质,该机器可执行指令在由设备执行时,使设备执行根据第一方面中的方面的方法。
本文描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
用于执行本文所述主题的方法的程序代码可以用一种或多种编程语言的任何组合来编写。程序代码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,当由处理器或控制器执行时,程序代码使得流程图和/或框图中指定的功能/操作被实现。程序代码可以完全或部分地在机器上被执行,部分地在计算机上、部分地在远程计算机上或完全地在远程机器或服务器上作为独立软件包被执行。
在本文描述的主题的上下文中,机器可读介质可以是任何有形介质,其可以包含或存储用于指令执行系统、装置或设备使用或与之相关的程序。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可包括但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或装置,或前述的任何适当组合。机器可读存储介质的更具体示例将包括具有一根或多根导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储装置或前述的任何合适的组合。
此外,虽然操作以特定顺序被描述,但这不应被理解为要求以所示的特定顺序或以顺序执行这些操作,或者执行所有所示的操作以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。同样,尽管在上述讨论中若干具体的实现细节被包含,但这些细节不应被解释为对本文所述主题的范围的限制,而是对特定实现可能特定的特征的描述。在单独实现的上下文中描述的某些特征也可以在单个实现中组合实现。相反,在单个实现中描述的各种特征也可以单独地或以任何合适的子组合在多个实现中实现。
尽管已经用特定于结构特征和/或方法行为的语言描述了主题,但是应当理解,在所附权利要求中指定的主题不一定限于上述特定特征或行为。相反,上述具体特征和动作被公开为实施权利要求的示例形式。
Claims (20)
1.一种计算机实现的方法,包括:
确定视频编码器的编码状态,所述编码状态与由所述视频编码器编码第一视频单元相关联;
通过强化学习模型以及基于所述视频编码器的所述编码状态确定编码参数,所述编码参数与针对所述视频编码器的速率控制相关联;以及
基于所述编码参数对不同于所述第一视频单元的第二视频单元进行编码。
2.根据权利要求1所述的方法,其中确定所述编码参数包括:
通过所述强化学习模型,基于所述视频编码器的所述编码状态来确定动作;以及
将所述动作映射到所述编码参数。
3.根据权利要求1所述的方法,其中与编码所述第一视频单元相关联的所述编码状态包括:
表示用于编码至少所述第一视频单元的结果的状态;
缓冲器的状态,所述缓冲器被配置为在传输之前缓冲由所述视频编码器编码的视频单元;以及
与用于传输所述编码的视频单元的网络的状态相关联的状态。
4.根据权利要求3所述的方法,其中用于在至少所述第一视频单元编码的所述结果包括编码的所述第一视频单元的所述编码参数和编码的所述第一视频单元的大小,所述缓冲器的所述状态包括所述缓冲器的所述使用,并且与所述网络的所述状态相关联的所述状态包括每像素目标比特。
5.根据权利要求4所述的方法,其中所述缓冲器的所述使用包括以下至少一项:
占用的空间与所述缓冲器的最大空间的比率;以及
在视频单位中测量的所述缓冲器的剩余空间。
6.根据权利要求1所述的方法,其中所述强化学习模型通过以下方式训练:
基于所述第二视频单元的所述编码确定针对所述编码参数的奖励,其中所述奖励被配置为惩罚缓冲区过冲,并且随着所述编码参数导致更高的视觉质量而增加。
7.根据权利要求6所述的方法,其中确定所述奖励包括:
以这样的方式确定基本奖励,如果缓冲区过冲发生则所述基本奖励具有负值并且如果所述缓冲区过冲未发生则所述基础奖励通过负系数与所述编码参数成正比例;以及
通过缩放因子缩放所述基本奖励以获得所述奖励,其中所述缩放因子基于与编码所述第二视频单元相关联的带宽与传输信道的最大带宽的比率。
8.根据权利要求6所述的方法,其中所述强化学习模型进一步通过以下来训练:
基于所述视频编码器的所述编码状态确定与所述编码参数相关联的动作;
确定用于编码所述第二视频单元的针对所述编码状态的评估值;
基于所述奖励和所述评估值确定价值损失;
基于所述动作确定策略损失;以及
基于所述价值损失和所述策略损失更新所述强化学习模型。
9.根据权利要求1所述的方法,其中所述强化学习模型包括代理的神经网络,其中所述神经网络包括:
至少一个输入完全连接层,被配置为从所述编码状态提取特征;
至少一个递归神经网络,其被耦合以接收所提取的所述特征;以及
至少一个输出完全连接层,被配置为决定针对所述代理的动作。
10.根据权利要求9所述的方法,其中所述神经网络是基于演员-评论家架构来训练,所述演员被配置为基于所述编码状态来生成所述动作,所述评论家被配置为生成针对所述编码状态的评估值;以及
其中所述演员和所述评论家共享所述神经网络的公共部分,所述公共部分包括所述至少一个输入完全连接层和所述至少一个递归神经网络。
11.根据权利要求1所述的方法,其中所述编码参数包括量化参数和λ参数中的至少一个。
12.根据权利要求1所述的方法,其中所述视频编码器被配置为对用于实时通信的屏幕内容进行编码。
13.一种设备,包括:
处理器;以及
存储器,具有其上存储有用于由处理器执行的指令,所述指令在由所述处理器执行时,使所述设备执行包括以下的动作:
确定视频编码器的编码状态,所述编码状态与由所述视频编码器编码第一视频单元相关联;
通过强化学习模型以及基于所述视频编码器的所述编码状态确定编码参数,所述编码参数与所述视频编码器中的速率控制相关联;以及
基于所述编码参数对不同于所述第一视频单元的第二视频单元进行编码。
14.根据权利要求13所述的设备,其中与编码所述第一视频单元相关联的所述编码状态包括:
表示用于编码至少所述第一视频单元的结果的状态;
缓冲器的状态,所述缓冲器被配置为在传输之前缓冲由所述视频编码器编码的视频单元;以及
与用于传输所述编码的视频单元的网络的状态相关联的状态。
15.根据权利要求14所述的设备,其中用于在至少所述第一视频单元编码的所述结果包括编码的所述第一视频单元的所述编码参数和编码的所述第一视频单元的大小,所述缓冲器的所述状态包括所述缓冲器的所述使用,并且与所述网络的所述状态相关联的所述状态包括每像素目标比特。
16.根据权利要求13所述的设备,其中所述强化学习模型通过以下方式训练:
基于所述第二视频单元的所述编码确定针对所述编码参数的奖励,其中所述奖励被配置为惩罚缓冲区过冲,并且随着所述编码参数导致更高的视觉质量而增加。
17.根据权利要求16所述的设备,其中确定所述奖励包括:
以这样的方式确定基本奖励,如果缓冲区过冲发生则所述基本奖励具有负值并且如果所述缓冲区过冲未发生则所述基础奖励通过负系数与所述编码参数成正比例;以及
通过缩放因子缩放所述基本奖励以获得所述奖励,其中所述缩放因子基于与编码所述第二视频单元相关联的带宽与传输信道的最大带宽的比率。
18.根据权利要求15所述的设备,其中所述强化学习模型包括代理的神经网络,其中所述神经网络包括:
至少一个输入完全连接层,被配置为从所述编码状态提取特征;
至少一个递归神经网络,其被耦合以接收所提取的所述特征;以及
至少一个输出完全连接层,被配置为决定针对所述代理的动作。
19.根据权利要求13所述的设备,其中所述视频编码器被配置为对用于实时通信的屏幕内容进行编码。
20.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有实施在其中的程序指令,所述程序指令可由处理器执行以使所述处理器执行包括以下的动作:
确定视频编码器的编码状态,所述编码状态与由所述视频编码器编码第一视频单元相关联;
通过强化学习模型以及基于所述视频编码器的所述编码状态确定编码参数,所述编码参数与所述视频编码器中的速率控制相关联;以及
基于所述编码参数对不同于所述第一视频单元的第二视频单元进行编码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/099390 WO2022000298A1 (en) | 2020-06-30 | 2020-06-30 | Reinforcement learning based rate control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115868161A true CN115868161A (zh) | 2023-03-28 |
Family
ID=79317298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080102562.0A Pending CN115868161A (zh) | 2020-06-30 | 2020-06-30 | 基于强化学习的速率控制 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20230319292A1 (zh) |
EP (1) | EP4173291A4 (zh) |
JP (1) | JP2023535290A (zh) |
KR (1) | KR20230028250A (zh) |
CN (1) | CN115868161A (zh) |
AU (1) | AU2020456664A1 (zh) |
BR (1) | BR112022022256A2 (zh) |
CA (1) | CA3182110A1 (zh) |
IL (1) | IL299266A (zh) |
MX (1) | MX2022016329A (zh) |
WO (1) | WO2022000298A1 (zh) |
ZA (1) | ZA202211950B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827683B (zh) * | 2022-04-18 | 2023-11-07 | 天津大学 | 基于强化学习的视频自适应码率控制系统及方法 |
CN114885215B (zh) * | 2022-04-28 | 2023-07-25 | 清华大学 | 码率自适应模型的训练、视频码率自适应方法及装置 |
CN115834924B (zh) * | 2022-11-02 | 2024-05-14 | 华中科技大学 | 面向交互式视频的松耦合编码码率-传输速率调节方法 |
US20240244225A1 (en) * | 2023-01-12 | 2024-07-18 | Mellanox Technologies, Ltd. | Content-aware, machine-learning-based rate control |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160019303A1 (en) * | 2014-07-21 | 2016-01-21 | Attensity Group, Inc. | System and method for identifying patterns in data for making recommendations or decisions |
CN108629422B (zh) * | 2018-05-10 | 2022-02-08 | 浙江大学 | 一种基于知识指导-战术感知的智能体学习方法 |
EP3868112A1 (en) * | 2018-10-19 | 2021-08-25 | Telefonaktiebolaget LM Ericsson (publ) | Methods of and devices for adaptive bit rate, abr, video resolution shaping of a video stream in a telecommunications system |
CN109769119B (zh) * | 2018-12-18 | 2021-01-19 | 中国科学院深圳先进技术研究院 | 一种低复杂度视频信号编码处理方法 |
US11373108B2 (en) * | 2019-07-10 | 2022-06-28 | Microsoft Technology Licensing, Llc | Reinforcement learning in real-time communications |
-
2020
- 2020-06-30 IL IL299266A patent/IL299266A/en unknown
- 2020-06-30 MX MX2022016329A patent/MX2022016329A/es unknown
- 2020-06-30 KR KR1020227041576A patent/KR20230028250A/ko unknown
- 2020-06-30 JP JP2022581327A patent/JP2023535290A/ja active Pending
- 2020-06-30 US US18/013,240 patent/US20230319292A1/en active Pending
- 2020-06-30 CN CN202080102562.0A patent/CN115868161A/zh active Pending
- 2020-06-30 CA CA3182110A patent/CA3182110A1/en active Pending
- 2020-06-30 BR BR112022022256A patent/BR112022022256A2/pt unknown
- 2020-06-30 WO PCT/CN2020/099390 patent/WO2022000298A1/en active Application Filing
- 2020-06-30 AU AU2020456664A patent/AU2020456664A1/en active Pending
- 2020-06-30 EP EP20943454.7A patent/EP4173291A4/en active Pending
-
2022
- 2022-11-02 ZA ZA2022/11950A patent/ZA202211950B/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4173291A4 (en) | 2024-03-20 |
BR112022022256A2 (pt) | 2023-01-31 |
KR20230028250A (ko) | 2023-02-28 |
AU2020456664A1 (en) | 2023-01-05 |
MX2022016329A (es) | 2023-01-24 |
US20230319292A1 (en) | 2023-10-05 |
IL299266A (en) | 2023-02-01 |
WO2022000298A1 (en) | 2022-01-06 |
ZA202211950B (en) | 2024-04-24 |
CA3182110A1 (en) | 2022-01-06 |
EP4173291A1 (en) | 2023-05-03 |
JP2023535290A (ja) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115868161A (zh) | 基于强化学习的速率控制 | |
Afonso et al. | Video compression based on spatio-temporal resolution adaptation | |
WO2021244341A1 (zh) | 图像编码方法及装置、电子设备及计算机可读存储介质 | |
US11361404B2 (en) | Electronic apparatus, system and controlling method thereof | |
Lee et al. | Deep neural network–based enhancement for image and video streaming systems: A survey and future directions | |
Zhao et al. | Adaptive quantization parameter cascading in HEVC hierarchical coding | |
CN109379550A (zh) | 基于卷积神经网络的视频帧率上变换方法及系统 | |
WO2021068598A1 (zh) | 共享屏幕的编码方法、装置、存储介质及电子设备 | |
CN107040781A (zh) | 使用动态分辨率切换的实时视频编码器速率控制 | |
US11115678B2 (en) | Diversified motion using multiple global motion models | |
JP2020520197A (ja) | ビデオ符号化方法、コンピュータ機器、及び記憶媒体 | |
CN113329226B (zh) | 数据的生成方法、装置、电子设备及存储介质 | |
WO2021057705A1 (zh) | 视频编解码方法和相关装置 | |
US20230023369A1 (en) | Video processing method, video processing apparatus, smart device, and storage medium | |
CN115209154A (zh) | 基于机器学习模型的视频压缩 | |
US20220408097A1 (en) | Adaptively encoding video frames using content and network analysis | |
Zhu et al. | A novel rate control algorithm for low latency video coding base on mobile edge cloud computing | |
CN114374841A (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
CN117834944A (zh) | 自适应视频语义通信的方法、装置、电子设备及存储介质 | |
CN115567712A (zh) | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 | |
JP2024525273A (ja) | コンテキストベース画像コード化 | |
CN102948147A (zh) | 基于变换系数直方图的视频速率控制 | |
Raufmehr et al. | A neuro-fuzzy QP estimation approach for H. 266/VVC-based live video broadcasting systems | |
CN116503242A (zh) | 生成元数据的方法、图像处理方法、电子设备和程序产品 | |
US20230087097A1 (en) | Frame sequence quality booster using information in an information repository |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40083645 Country of ref document: HK |