CN116506645A - 视频压缩方法、装置、电子设备及存储介质 - Google Patents

视频压缩方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116506645A
CN116506645A CN202310518746.0A CN202310518746A CN116506645A CN 116506645 A CN116506645 A CN 116506645A CN 202310518746 A CN202310518746 A CN 202310518746A CN 116506645 A CN116506645 A CN 116506645A
Authority
CN
China
Prior art keywords
video
video block
blocks
block
coding
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
CN202310518746.0A
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202310518746.0A priority Critical patent/CN116506645A/zh
Publication of CN116506645A publication Critical patent/CN116506645A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开提供了一种视频压缩方法、装置、电子设备及存储介质,属于多媒体技术领域。方法包括:对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息;对于所述视频帧中的第i行视频块,基于第i‑1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,第i行视频块为视频帧中的非首行视频块;基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;基于所述视频帧中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。上述方法能提高熵编码模型的预测精度,使更新后的码字更加准确简练,提高了视频编码性能,且减少了传输中的资源消耗。

Description

视频压缩方法、装置、电子设备及存储介质
技术领域
本公开涉及多媒体技术领域,特别涉及一种视频压缩方法、装置、电子设备及存储介质。
背景技术
随着多媒体技术的发展,视频能够通过网络进行传输。由于相比于语音或者图像而言,视频一般包含较多的数据量,若不进行压缩处理直接传输视频,则会消耗大量的资源,因此如何对视频进行压缩成为本领域研究的重点。
相关技术中,通常采用WPP(Wavefront Parallel Processing,波前并行处理)技术来对视频进行编码,以达到对视频进行压缩的目的。WPP技术是以一帧视频中一行编码树单元(Coding Tree Unit,CTU)为单位进行并行编码。
但是,上述技术方案中,由于在编码过程中非首行的编码树单元,仅能获取到位于当前行中首个编码树单元右上方的编码树单元的编码方式的信息,因此当前行中各个编码树单元的编码模型的预估会有轻微的损失,从而导致视频的编码性能较低。
发明内容
本公开提供一种视频压缩方法、装置、电子设备及存储介质,能够提高熵编码模型的预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。本公开的技术方案如下:
根据本公开实施例的一方面,提供一种视频压缩方法,包括:
对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
基于所述视频中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
根据本公开实施例的另一方面,提供一种视频压缩装置,包括:
第一编码单元,被配置为执行对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
更新单元,被配置为执行对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
第二编码单元,被配置为执行基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
排序单元,被配置为执行基于所述视频中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
在一些实施例,所述更新单元,被配置为执行对于所述视频帧中的第i行视频块,基于所述第i-1行视频块中尾部视频块的编码信息,获取所述第i-1行视频块中尾部视频块的熵编码状态,所述熵编码状态用于表示编码到所述第i-1行视频块中尾部视频块时各个码字出现的概率;基于所述熵编码状态,更新所述第i行视频块中的首个视频块的熵编码模型。
在一些实施例,所述第二编码单元,包括:
编码子单元,被配置为执行基于所述第i行视频块中的首个视频块的更新后的熵编码模型,对所述第i行视频块中的首个视频块的重新进行编码,得到所述首个视频块的码字;
确定子单元,被配置为执行基于所述首个视频块的码字,确定所述首个视频块的熵编码状态;
所述编码子单元,还被配置为执行基于所述首个视频块的熵编码状态,更新所述第i行视频块中其他视频块的码字。
在一些实施例,所述编码子单元,包括:
获取子子单元,被配置为执行基于所述第i行视频块中的首个视频块的编码信息,获取所述首个视频块的编码划分模式;
编码子子单元,被配置为执行基于所述编码划分模式,采用所述首个视频块的更新后的熵编码模型,对所述首个视频块的重新进行编码,得到所述首个视频块的码字。
在一些实施例,所述装置还包括:
获取单元,被配置为执行获取所述视频的压缩需求,所述压缩需求包括压缩后的视频大小以及视频质量;
确定单元,被配置为执行基于所述视频的压缩需求,确定所述视频中的多个视频块的编码划分模式。
在一些实施例,所述编码子子单元,被配置为执行基于所述视频帧中各个视频块的编码信息,获取所述第i-1行视频块中尾部视频块与所述第i行视频块中首个视频块之间的量化差值,所述量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距;基于所述编码划分模式和所述首个视频块更新后的熵编码模型,对所述量化差值重新进行编码,得到所述首个视频块的量化参数对应的码字。
在一些实施例,所述编码子单元,还被配置为执行对于所述第i行视频块中的非首个视频块,基于所述视频块的前一个视频块的熵编码状态,更新所述视频块的熵编码模型;基于所述视频块的更新后的熵编码模型,对所述视频块重新进行编码,得到所述视频块的码字。
根据本公开实施例的另一方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述视频压缩方法。
根据本公开实施例的另一方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述视频压缩方法。
根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述视频压缩方法。
本公开实施例提供了一种视频压缩方法,在对视频中视频帧内的多行视频块进行并行编码的情况下,通过上一行视频块的尾部视频块的编码信息,对当前行首个视频块的熵编码模型进行更新,由于在并行编码过程中每一行的尾部视频块的编码信息由该尾部视频块之前所有视频块的编码信息确定,也即是,每一行的尾部视频块的编码信息能够反映该行所有视频块的编码信息,因此更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频压缩方法的实施环境示意图。
图2是根据一示例性实施例示出的一种视频压缩方法的流程图。
图3是根据一示例性实施例示出的另一种视频压缩方法的流程图。
图4是根据一示例性实施例示出的一种基于波前并行处理技术的原理进行并行编码的示意图。
图5是根据一示例性实施例示出的一种对熵编码模型进行更新的示意图。
图6是根据一示例性实施例示出的一种视频压缩装置的框图。
图7是根据一示例性实施例示出的另一种视频压缩装置的框图。
图8是根据一示例性实施例示出的一种终端的框图。
图9是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本公开中涉及到的视频都是在充分授权的情况下获取的。
电子设备可以被提供为终端或者服务器,当电子设备被提供为终端时,可以由该终端实现视频压缩的方法所执行的操作。当被提供为服务器时,可以由该服务器实现视频压缩方法所执行的操作。终端和服务器之间可以通过无线网络或有线网络,传输视频。对于终端和服务器中的任一电子设备,在电子设备传输视频之前,电子设备可以执行本公开实施例提供的视频压缩方法,对所要传输的视频进行压缩。然后,电子设备可以向其他设备传输压缩后的视频。
图1是根据一示例性实施例示出的一种视频压缩方法的实施环境示意图。以电子设备被提供为终端为例,参见图1,该实施环境具体包括:终端101和服务器102。
终端101为智能手机、智能手表、台式电脑、手提电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4播放器(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)和膝上型便携计算机等设备中的至少一种。终端101上安装有支持视频传输的应用程序。该应用程序可以是视频类应用程序、通讯类应用程序或者会议类应用程序等,本公开实施例对此不加以限制。用户能够通过终端101登录该应用程序来获取该应用程序提供的服务。终端101能够通过无线网络或有线网络与服务器102相连,进而能够将视频发送给服务器102。在发送视频之前,终端101能够对所要传输的视频进行压缩。
终端101泛指多个终端中的一个,本实施例以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以为几个,或者上述终端为几十个或几百个,或者更多数量,本公开实施例对终端的数量和设备类型均不加以限定。
服务器102为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器102能够通过无线网络或有线网络与终端101和其他终端相连,服务器102能够接收终端101发送的视频。服务器102可以将接收到的视频传输给其他设备。服务器102也能够终端101传输视频。在发送视频之前,服务器102能够对所要传输的视频进行压缩。在一些实施例中,上述服务器的数量可以更多或更少,本公开实施例对此不加以限定。当然,服务器102还包括其他功能服务器,以便提供更全面且多样化的服务。
图2是根据一示例性实施例示出的一种视频压缩方法的流程图,参见图2,该视频压方法应用于终端中,包括以下步骤:
在步骤201中,终端对视频中视频帧内的多行视频块进行并行编码,得到视频帧中各个视频块的编码信息,每行视频块中包括多个视频块。
在本公开实施例中,视频中包括多个视频帧。对于任一视频帧,终端能够对视频帧进行分块,得到多行视频块。每一行视频块中包括多个视频块。本公开实施例对视频帧中视频块的数量和尺寸不加以限定。然后,终端对视频帧中的多行视频块进行并行编码。也即是,终端可以同时对视频帧中的多行视频块分别进行编码。在对任一行视频块进行编码的过程中,终端对该行视频块的各个视频块依次进行熵编码。通过对视频块进行熵编码,终端能够得到视频块的编码信息。视频块的编码信息可以反映编码视频块的过程中所使用的编码方式以及所使用的编码参数等信息。
在步骤202中,对于视频帧中的第i行视频块,终端基于第i-1行视频块中尾部视频块的编码信息,更新第i行视频块中的首个视频块的熵编码模型,第i行视频块为视频帧中的非首行视频块。
在本公开实施例中,在对视频帧中所有的视频块进行编码后,终端能够基于视频块的编码信息,确定从开始编码视频帧中的第一个视频块到编码到该视频块时各个码字的出现情况。对于视频帧中非首行视频块,终端能够根据上一行视频中尾部视频块的编码信息,来更新非首行视频块中的首个视频块的熵编码模型。也即是,终端根据编码到第i-1行视频块中尾部视频块时各个码字的出现情况,对第i行视频块中的首个视频块的熵编码模型中码字的概率分布进行更新。其中,尾部视频块为第i-1行视频块中的最后一个视频块。
在步骤203中,终端基于更新后的熵编码模型,更新第i行视频块中多个视频块的码字。
在本公开实施例中,终端根据第i行中首个视频块的更新后的熵编码模型,对第i行视频块中多个视频块的码字依次进行更新。在进行码字更新的过程中,终端根据首个视频块的更新后的熵编码模型,基于第i行中各个视频块的编码信息,对第i行中的各个视频块重新进行编码,得到各个视频块更新后的码字。
在步骤204中,终端基于视频帧中多个视频块的位置,对多个视频块的码字进行排序,得到视频帧的压缩码流。
在本公开实施例中,终端基于多个视频块在视频帧中的位置,可以按照从左到右、从上到下的顺序,对视频帧中多个视频块的码字进行排序,从而得到视频帧的压缩码流。终端基于上述步骤201至步骤204中的方式,对视频帧中的各个视频帧分别进行压缩。终端可以向其他电子设备传输视频的压缩码流,以实现视频传输的目的。
本公开实施例提供了一种视频压缩方法,在对视频中视频帧内的多行视频块进行并行编码的情况下,通过上一行视频块的尾部视频块的编码信息,对当前行首个视频块的熵编码模型进行更新,由于在并行编码过程中每一行的尾部视频块的编码信息由该尾部视频块之前所有视频块的编码信息确定,也即是,每一行的尾部视频块的编码信息能够反映该行所有视频块的编码信息,因此更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例中,对于视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新第i行视频块中的首个视频块的熵编码模型,包括:
对于视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,获取第i-1行视频块中尾部视频块的熵编码状态,熵编码状态用于表示编码到第i-1行视频块中尾部视频块时各个码字出现的概率;
基于熵编码状态,更新第i行视频块中的首个视频块的熵编码模型。
本公开实施例提供的方案,通过上一行视频块中尾部视频块的编码信息,确定上一行视频块中尾部视频块的熵编码状态,由于上一行视频块中尾部视频块的熵编码状态能够反映从开始编码到该尾部视频块所编码的各个码字的概率,使得基于该熵编码状态更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型的预测精度,从而提高了视频编码性能。
在一些实施例中,基于更新后的熵编码模型,更新第i行视频块中多个视频块的码字,包括:
基于第i行视频块中的首个视频块的更新后的熵编码模型,对第i行视频块中的首个视频块的重新进行编码,得到首个视频块的码字;
基于首个视频块的码字,确定首个视频块的熵编码状态;
基于首个视频块的熵编码状态,更新第i行视频块中其他视频块的码字。
本公开实施例提供的方案,由于更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,熵编码模型的预测精度有所提高,基于更新后的熵编码模型,对当前行的首个视频块重新进行编码,使得更新后的码字更加准确简练,并且,通过更新后的码字确定首个视频块的熵编码状态,并对后续的其他视频块的码字进行更新,使得其他视频块的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例中,基于第i行视频块中的首个视频块的更新后的熵编码模型,对第i行视频块中的首个视频块的重新进行编码,得到首个视频块的码字,包括:
基于第i行视频块中的首个视频块的编码信息,获取首个视频块的编码划分模式;
基于编码划分模式,采用首个视频块的更新后的熵编码模型,对首个视频块的重新进行编码,得到首个视频块的码字。
本公开实施例提供的方案,由于并行编码过程中,已对视频帧中各个视频块按照各自的编码划分方式进行划分,因此,在对各个视频块的码字进行更新的过程中,能够从并行编码过程得到的编码信息中直接得到编码划分方式,无需重新规划各个视频块的编码划分方式,通过已确定的编码划分方式和更新后的熵编码模型,对视频块的码字进行更新,不仅能够提高更新码字的效率,还使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例中,视频中多个视频块的编码划分模式的确定过程,包括:
获取视频的压缩需求,压缩需求包括压缩后的视频大小以及视频质量;
基于视频的压缩需求,确定视频中的多个视频块的编码划分模式。
本公开实施例提供的方案,通过视频的压缩需求中所指示的视频大小以及视频质量,来确定视频帧中各个视频块的编码划分模式,使得压缩后的视频能够满足压缩需求。
在一些实施例中,基于编码划分模式,采用首个视频块的更新后的熵编码模型,对首个视频块的重新进行编码,得到首个视频块的码字,包括:
基于视频帧中各个视频块的编码信息,获取第i-1行视频块中尾部视频块与第i行视频块中首个视频块之间的量化差值,量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距;
基于编码划分模式和首个视频块更新后的熵编码模型,对量化差值重新进行编码,得到首个视频块的量化参数对应的码字。
本公开实施例提供的方案,在对当前行的首个视频块的码字进行更新的过程中,通过编码信息中的编码划分模式和更新后的熵编码模型,对该首个视频块与上一行中尾部视频块之间的量化差值进行编码,由于量化差值一般比视频块所使用的量化参数较小,因此编码后的首个视频块的量化参数对应的码字更加简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例中,基于首个视频块的熵编码状态,更新第i行视频块中其他视频块的码字,包括:
对于第i行视频块中的非首个视频块,基于视频块的前一个视频块的熵编码状态,更新视频块的熵编码模型;
基于视频块的更新后的熵编码模型,对视频块重新进行编码,得到视频块的码字。
本公开实施例提供的方案,在对非首行视频块中任一非首个视频块的码字进行更新的过程中,通过视频块的前一个视频块的熵编码状态,来更新视频块的熵编码模型,由于前一个视频块的熵编码状态能够反映从开始编码到该前一个视频块所编码的各个码字的概率,使得更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型的预测精度,基于更新后的熵编码模型,对视频块重新进行编码,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
上述图2所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开提供的方案进行进一步阐述,图3是根据一示例性实施例示出的另一种视频压缩方法的流程图。以电子设备被提供为终端为例,参见图3,该视频压缩方法包括:
在步骤301中,终端对视频中视频帧内的多行视频块进行并行编码,得到视频帧中各个视频块的编码信息,每行视频块中包括多个视频块。
在本公开实施例中,视频帧中的视频块可以是编码树单元,本公开实施例对此不加以限定。对于视频中的任一视频帧,视频帧中包括多行视频块。终端对多行视频块进行并行编码。也即是,终端可以按照光栅扫描顺序进行多线程处理。每个线程从左到右处理一行视频块。对于视频帧中的任一视频块的编码,终端可以采用熵编码算法来进行编码,本公开实施例对此不加以限定。熵编码算法可以是香农(Shannon)编码、哈夫曼(Huffman)编码或者算术编码(arithmetic coding)等,本公开实施例对此不加以限定。
在一些实施例中,在进行并行编码的过程中,终端可以基于波前并行处理技术的原理来进行并行编码。可选地,终端可以直接采用波前并行处理技术,对视频帧内的多行视频块进行并行编码。终端也可以只采用波前并行处理技术中的并行方式,而关闭波前并行处理技术的相关语义。该相关语义可以是每一行视频块中首个视频块的码字的偏移量(entry_point_offset)。也即是,终端采用波前并行处理技术中的并行方式,对视频帧内的多行视频块进行并行编码,但不记录每一行视频块中首个视频块的码字的偏移量,从而也无需对每一行的偏移量进行编码,不仅提高了视频的压缩效率,还节省了偏移量所占用的码字,使得得到的视频的压缩码流所占的数据量更小,减少视频传输过程中的资源消耗。本公开实施例对并行编码的过程中所采用的具体编码方式不加以限定。
图4是根据一示例性实施例示出的一种基于波前并行处理技术的原理进行并行编码的示意图。参见图4,以对视频帧中的第i行视频块进行编码为例来进行说明。在进行并行编码的过程中,对于视频帧中的任一视频块的编码,终端可以通过熵编码模型,对视频块进行熵编码。在对第i行视频块中的首个视频块A进行编码的过程中,终端获取位于首个视频块A右上角的视频块B的熵编码状态,对首个视频块A的熵编码模型进行初始化。初始化过程指的是将视频块A的熵编码模型中各个码字的概率分布设置为右上角的视频块B的熵编码状态所指示的各个码字的概率。然后,终端通过初始化后的熵编码模型,对首个视频块A进行编码。然后,在对第i行视频块中的非首个视频块进行编码的过程中,终端通过视频块的前一个视频块的熵编码状态,对该视频块的熵编码模型进行初始化。然后,终端通过初始化后的熵编码模型,对非首个视频块进行编码。通过上述过程,终端对第i行视频块中的各个视频块依次进行编码。其中,在开始编码之前,终端能够对熵编码模型进行初始化。此次初始化过程指的是将熵编码模型的熵编码状态中各个码字的概率设置为0。
在对视频帧中的视频块进行编码的过程中,终端能够根据视频的压缩需求,对视频块进行预测、变换、量化以及编码等操作。视频的压缩需求可以是压缩速率、压缩大小或者压缩质量等,本公开实施例对此不加以限定。在对视频块进行预测的过程中,终端可以采用帧间预测方式或者帧内预测方式来进行预测,本公开实施例对此不加以限定。不同预测方式的预测参数不同。然后,终端能够根据视频块的预测信息与真实信息进行残差。然后,终端对预测信息与真实信息之间的残差进行变换,使得即使丢弃某些像素的信息,依旧能够保持视频块的质量。变换的方式可以是离散余弦变换,本公开实施例对此不加以限定。然后,终端基于量化参数,对变换后的视频数据进行量化。然后,终端可以采用熵编码进行编码,以压缩视频数据。在并行编码完成后,终端能够根据上述编码过程,获取各个视频块的编码划分模式、量化参数、变换参数以及预测参数等多种信息,本公开实施例对此不加以限定。
在步骤302中,对于视频帧中的第i行视频块,终端基于第i-1行视频块中尾部视频块的编码信息,更新第i行视频块中的首个视频块的熵编码模型,第i行视频块为视频帧中的非首行视频块。
在本公开实施例中,视频块的编码信息可以包括并行编码过程中得到的码字。在对视频帧中所有的视频块进行并行编码后,终端能够基于视频块的编码信息,确定从开始编码视频帧中的第一个视频块到编码到该视频块时各个码字的出现情况。对于视频帧中非首行视频块,终端能够根据上一行视频中尾部视频块的编码信息,来更新非首行视频块中的首个视频块的熵编码模型中码字的概率分布。相应地,终端更新非首行视频块中的首个视频块的熵编码模型的过程为:对于视频帧中的第i行视频块,终端基于第i-1行视频块中尾部视频块的编码信息,获取第i-1行视频块中尾部视频块的熵编码状态。然后,终端基于熵编码状态,更新第i行视频块中的首个视频块的熵编码模型。其中,熵编码状态用于表示编码到第i-1行视频块中尾部视频块时各个码字出现的概率。本公开实施例提供的方案,通过上一行视频块中尾部视频块的编码信息,确定上一行视频块中尾部视频块的熵编码状态,由于上一行视频块中尾部视频块的熵编码状态能够反映从开始编码到该尾部视频块所编码的各个码字的概率,使得基于该熵编码状态更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型的预测精度,从而提高了视频编码性能。
例如,图5是根据一示例性实施例示出的一种对熵编码模型进行更新的示意图。参见图5,以对视频帧中的第i行视频块的首个视频块的熵编码模型为例来进行说明。终端获取第i-1行视频块中尾部视频块C的编码信息。终端基于尾部视频块C的编码信息,确定尾部视频块C的熵编码状态。也即是,终端确定编码到尾部视频块C时各个码字出现的概率。然后,终端将视频块A的熵编码模型中各个码字的概率分布设置为尾部视频块C的熵编码状态所指示的各个码字的概率。
需要说明的是,由于视频帧中首行视频块内各个视频块的熵编码模型,都由前一个已编码的视频块熵编码状态来更新,因此,各个视频块的熵编码模型均能够反映已编码的视频块中码字出现的概率,无需对首行视频块的上编码模型进行更新。
在步骤303中,终端基于第i行视频块中的首个视频块的更新后的熵编码模型,对第i行视频块中的首个视频块的重新进行编码,得到首个视频块的码字。
在本公开实施例中,在对第i行视频块中的首个视频块的熵编码模型进行更新之后,终端通过更新后的熵编码模型,对该首个视频块的重新进行编码,以实现对该首个视频块的码字进行更新的目的。本公开实施例提供的方案,由于更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,熵编码模型的预测精度有所提高,基于更新后的熵编码模型,对当前行的首个视频块重新进行编码,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例中,由于并行编码过程中,各个视频块的编码划分模式、量化参数、变换参数以及预测参数等编码信息已确定,因此,在对视频块的码字进行更新的过程中,终端可以采用上述已确定的编码信息中的至少一种,来对视频块的码字重新进行编码,无需再重新配置。可选地,终端可以根据视频块的编码信息中的编码划分模式,对视频块进行重新编码。相应地,终端基于第i行视频块中的首个视频块的编码信息,获取首个视频块的编码划分模式。然后,终端基于编码划分模式,采用首个视频块的更新后的熵编码模型,对首个视频块的重新进行编码,得到首个视频块的码字。本公开实施例提供的方案,由于并行编码过程中,已对视频帧中各个视频块按照各自的编码划分方式进行划分,因此,在对各个视频块的码字进行更新的过程中,能够从并行编码过程得到的编码信息中直接得到编码划分方式,无需重新规划各个视频块的编码划分方式,通过已确定的编码划分方式和更新后的熵编码模型,对视频块的码字进行更新,不仅能够提高更新码字的效率,还使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
其中,上述编码划分模式可以根据视频的压缩需求来确定。相应地,终端确定视频块的编码划分模式的过程为:终端获取视频的压缩需求,压缩需求包括压缩后的视频大小以及视频质量。然后,终端基于视频的压缩需求,确定视频中的多个视频块的编码划分模式。本公开实施例提供的方案,通过视频的压缩需求中所指示的视频大小以及视频质量,来确定视频帧中各个视频块的编码划分模式,使得压缩后的视频能够满足压缩需求。
在一些实施例中,在视频帧中的任一视频块重新进行编码的过程中,终端可以对上述各个视频块的编码划分模式、量化参数、变换参数以及预测参数等编码信息进行编码,以便解码端能够获取到上述编码信息,从而基于上述编码信息,对压缩的视频进行解压。可选地,终端可以对视频块的量化参数进行编码。相应地,终端基于编码划分模式,采用首个视频块的更新后的熵编码模型,对首个视频块的重新进行编码,得到首个视频块的码字的过程,包括:终端基于视频帧中各个视频块的编码信息,获取第i-1行视频块中尾部视频块与第i行视频块中首个视频块之间的量化差值。然后,终端基于编码划分模式和首个视频块更新后的熵编码模型,对量化差值重新进行编码,得到首个视频块的量化参数对应的码字。其中,量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距。本公开实施例提供的方案,在对当前行的首个视频块的码字进行更新的过程中,通过编码信息中的编码划分模式和更新后的熵编码模型,对该首个视频块与上一行中尾部视频块之间的量化差值进行编码,由于量化差值一般比视频块所使用的量化参数较小,因此编码后的首个视频块的量化参数对应的码字更加简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在步骤304中,终端基于首个视频块的码字,确定首个视频块的熵编码状态,熵编码状态用于表示编码到首个视频块时各个码字出现的概率。
在本公开实施例中,对首个视频块编码完成后,终端能够获取该首个视频块的码字以及位于该首个视频块之前的所有视频块的码字。然后,终端根据编码到首个视频块时各个码字的出现情况,确定首个视频块的熵编码状态。其中,位于第i行首个视频块之前的所有视频块指的是位于首行到第i-1行中所有的视频块。本公开实施例提供的方案,通过更新后的码字确定首个视频块的熵编码状态,利于对后续的其他视频块的码字进行更新,使得其他视频块的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在步骤305中,终端基于首个视频块的熵编码状态,更新第i行视频块中其他视频块的码字。
在本公开实施例中,终端通过第i行视频块中首个视频块的熵编码状态,更新第i行视频块中第二个视频块的熵编码模型。然后,终端通过第二个视频块的熵编码模型,对第i行视频块中第二个视频块重新进行编码。然后,终端根据第二个视频块的码字,确定第二个视频块的熵编码状态。然后,终端通过第二个视频块的熵编码状态,更新第i行视频块中第三个视频块的熵编码模型。然后,终端通过第三个视频块的熵编码模型,对第i行视频块中第三个视频块重新进行编码,得到第三个视频块。以此类推,直到终端对第i行视频块中的尾部视频块编码完成。相应地,终端更新第i行视频块中其他视频块的码字的过程,包括:对于第i行视频块中的非首个视频块,终端基于视频块的前一个视频块的熵编码状态,更新视频块的熵编码模型。然后,终端基于视频块的更新后的熵编码模型,对视频块重新进行编码,得到视频块的码字。本公开实施例提供的方案,在对非首行视频块中任一非首个视频块的码字进行更新的过程中,通过视频块的前一个视频块的熵编码状态,来更新视频块的熵编码模型,由于前一个视频块的熵编码状态能够反映从开始编码到该前一个视频块所编码的各个码字的概率,使得更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型的预测精度,基于更新后的熵编码模型,对视频块重新进行编码,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在步骤306中,终端基于视频帧中多个视频块的位置,对多个视频块的码字进行排序,得到视频帧的压缩码流。
在本公开实施例中,本公开实施例对多个视频块的码字之间的排序方式不加以限定。可选地,终端根据视频帧中多个视频块的位置,可以按照从左到右、从上到下的顺序,对视频帧中多个视频块的码字进行排序,从而得到视频帧的压缩码流。终端采用上述步骤301至步骤306中的视频压缩方式,对视频帧中的各个视频帧分别进行压缩,以实现对视频进行压缩的目的。
本公开实施例提供了一种视频压缩方法,在对视频中视频帧内的多行视频块进行并行编码的情况下,通过上一行视频块的尾部视频块的编码信息,对当前行首个视频块的熵编码模型进行更新,由于在并行编码过程中每一行的尾部视频块的编码信息由该尾部视频块之前所有视频块的编码信息确定,也即是,每一行的尾部视频块的编码信息能够反映该行所有视频块的编码信息,因此更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型的预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图6是根据一示例性实施例示出的一种视频压缩装置的框图。参见图6,该视频压缩装置包括:第一编码单元601、更新单元602、第二编码单元603以及排序单元604。
第一编码单元601,被配置为执行对视频中视频帧内的多行视频块进行并行编码,得到视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
更新单元602,被配置为执行对于视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新第i行视频块中的首个视频块的熵编码模型,第i行视频块为视频帧中的非首行视频块;
第二编码单元603,被配置为执行基于更新后的熵编码模型,更新第i行视频块中多个视频块的码字;
排序单元604,被配置为执行基于视频中多个视频块的位置,对多个视频块的码字进行排序,得到视频帧的压缩码流。
本公开实施例提供了一种视频压缩装置,在对视频中视频帧内的多行视频块进行并行编码的情况下,通过上一行视频块的尾部视频块的编码信息,对当前行首个视频块的熵编码模型进行更新,由于在并行编码过程中每一行的尾部视频块的编码信息由该尾部视频块之前所有视频块的编码信息确定,也即是,每一行的尾部视频块的编码信息能够反映该行所有视频块的编码信息,因此更新后的熵编码模型能够更加准确地反映已编码的视频块中码字出现的概率,提高了熵编码模型预测精度,使得更新后的码字更加准确简练,从而得到的视频的压缩码流所占的数据量更小,不仅提高了视频编码性能,还能够减少视频传输过程中的资源消耗。
在一些实施例,图7是根据一示例性实施例示出的另一种视频压缩装置的框图,参见图7,更新单元602,被配置为执行对于视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,获取第i-1行视频块中尾部视频块的熵编码状态,熵编码状态用于表示编码到第i-1行视频块中尾部视频块时各个码字出现的概率;基于熵编码状态,更新第i行视频块中的首个视频块的熵编码模型。
在一些实施例,继续参见图7,第二编码单元603,包括:
编码子单元6031,被配置为执行基于第i行视频块中的首个视频块的更新后的熵编码模型,对第i行视频块中的首个视频块的重新进行编码,得到首个视频块的码字;
确定子单元6032,被配置为执行基于首个视频块的码字,确定首个视频块的熵编码状态;
编码子单元6031,还被配置为执行基于首个视频块的熵编码状态,更新第i行视频块中其他视频块的码字。
在一些实施例,继续参见图7,编码子单元6031,包括:
获取子子单元60311,被配置为执行基于第i行视频块中的首个视频块的编码信息,获取首个视频块的编码划分模式;
编码子子单元60312,被配置为执行基于编码划分模式,采用首个视频块的更新后的熵编码模型,对首个视频块的重新进行编码,得到首个视频块的码字。
在一些实施例,继续参见图7,视频压缩装置还包括:
获取单元605,被配置为执行获取视频的压缩需求,压缩需求包括压缩后的视频大小以及视频质量;
确定单元606,被配置为执行基于视频的压缩需求,确定视频中的多个视频块的编码划分模式。
在一些实施例,继续参见图7,编码子子单元60312,被配置为执行基于视频帧中各个视频块的编码信息,获取第i-1行视频块中尾部视频块与第i行视频块中首个视频块之间的量化差值,量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距;基于编码划分模式和首个视频块更新后的熵编码模型,对量化差值重新进行编码,得到首个视频块的量化参数对应的码字。
在一些实施例,继续参见图7,编码子单元6031,还被配置为执行对于第i行视频块中的非首个视频块,基于视频块的前一个视频块的熵编码状态,更新视频块的熵编码模型;基于视频块的更新后的熵编码模型,对视频块重新进行编码,得到视频块的码字。
需要说明的是,上述实施例提供的视频压缩装置在对视频进行压缩时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将电子设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频压缩装置与视频压缩方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
电子设备被提供为终端时,图8是根据一示例性实施例示出的一种终端800的框图。该终端图8示出了本公开一个示例性实施例提供的终端800的结构框图。该终端800可以是:智能手机、平板电脑、MP3播放器、MP4播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器801所执行以实现本公开中方法实施例提供的视频压缩方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头组件806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在显示屏805的下层时,由处理器801根据用户对显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制显示屏805的显示亮度。具体地,当环境光强度较高时,调高显示屏805的显示亮度;当环境光强度较低时,调低显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
电子设备被提供为服务器时,图9是根据一示例性实施例示出的一种服务器900的框图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)901和一个或一个以上的存储器902,其中,该存储器902中存储有至少一条程序代码,该至少一条程序代码由该处理器901加载并执行以实现上述各个方法实施例提供的视频压缩方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器802或者存储器902,上述指令可由终端800的处理器801或者服务器900的处理器901执行以完成上述视频压缩方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述视频压缩方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种视频压缩方法,其特征在于,所述方法包括:
对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
基于所述视频帧中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
2.根据权利要求1所述的视频压缩方法,其特征在于,所述对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,包括:
对于所述视频帧中的第i行视频块,基于所述第i-1行视频块中尾部视频块的编码信息,获取所述第i-1行视频块中尾部视频块的熵编码状态,所述熵编码状态用于表示编码到所述第i-1行视频块中尾部视频块时各个码字出现的概率;
基于所述熵编码状态,更新所述第i行视频块中的首个视频块的熵编码模型。
3.根据权利要求1所述的视频压缩方法,其特征在于,所述基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字,包括:
基于所述第i行视频块中的首个视频块的更新后的熵编码模型,对所述第i行视频块中的首个视频块的重新进行编码,得到所述首个视频块的码字;
基于所述首个视频块的码字,确定所述首个视频块的熵编码状态;
基于所述首个视频块的熵编码状态,更新所述第i行视频块中其他视频块的码字。
4.根据权利要求3所述的视频压缩方法,其特征在于,所述基于所述第i行视频块中的首个视频块的更新后的熵编码模型,对所述第i行视频块中的首个视频块的重新进行编码,得到所述首个视频块的码字,包括:
基于所述第i行视频块中的首个视频块的编码信息,获取所述首个视频块的编码划分模式;
基于所述编码划分模式,采用所述首个视频块的更新后的熵编码模型,对所述首个视频块的重新进行编码,得到所述首个视频块的码字。
5.根据权利要求4所述的视频压缩方法,其特征在于,所述视频中多个视频块的编码划分模式的确定过程,包括:
获取所述视频的压缩需求,所述压缩需求包括压缩后的视频大小以及视频质量;
基于所述视频的压缩需求,确定所述视频中的多个视频块的编码划分模式。
6.根据权利要求4所述的视频压缩方法,其特征在于,所述基于所述编码划分模式,采用所述首个视频块的更新后的熵编码模型,对所述首个视频块的重新进行编码,得到所述首个视频块的码字,包括:
基于所述视频帧中各个视频块的编码信息,获取所述第i-1行视频块中尾部视频块与所述第i行视频块中首个视频块之间的量化差值,所述量化差值用于表示并行编码过程中两个视频块所使用的量化参数之间的差距;
基于所述编码划分模式和所述首个视频块更新后的熵编码模型,对所述量化差值重新进行编码,得到所述首个视频块的量化参数对应的码字。
7.根据权利要求3所述的视频压缩方法,其特征在于,所述基于所述首个视频块的熵编码状态,更新所述第i行视频块中其他视频块的码字,包括:
对于所述第i行视频块中的非首个视频块,基于所述视频块的前一个视频块的熵编码状态,更新所述视频块的熵编码模型;
基于所述视频块的更新后的熵编码模型,对所述视频块重新进行编码,得到所述视频块的码字。
8.一种视频压缩装置,其特征在于,所述装置包括:
第一编码单元,被配置为执行对视频中视频帧内的多行视频块进行并行编码,得到所述视频帧中各个视频块的编码信息,每行视频块中包括多个视频块;
更新单元,被配置为执行对于所述视频帧中的第i行视频块,基于第i-1行视频块中尾部视频块的编码信息,更新所述第i行视频块中的首个视频块的熵编码模型,所述第i行视频块为所述视频帧中的非首行视频块;
第二编码单元,被配置为执行基于更新后的熵编码模型,更新所述第i行视频块中多个视频块的码字;
排序单元,被配置为执行基于所述视频中多个视频块的位置,对所述多个视频块的码字进行排序,得到所述视频帧的压缩码流。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至7任一项所述视频压缩的方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7任一项所述的视频压缩方法。
CN202310518746.0A 2023-05-09 2023-05-09 视频压缩方法、装置、电子设备及存储介质 Pending CN116506645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310518746.0A CN116506645A (zh) 2023-05-09 2023-05-09 视频压缩方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310518746.0A CN116506645A (zh) 2023-05-09 2023-05-09 视频压缩方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116506645A true CN116506645A (zh) 2023-07-28

Family

ID=87318070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310518746.0A Pending CN116506645A (zh) 2023-05-09 2023-05-09 视频压缩方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116506645A (zh)

Similar Documents

Publication Publication Date Title
US11388403B2 (en) Video encoding method and apparatus, storage medium, and device
CN112907725B (zh) 图像生成、图像处理模型的训练、图像处理方法和装置
CN110121084B (zh) 切换端口的方法、装置和系统
CN109168032B (zh) 视频数据的处理方法、终端、服务器及存储介质
CN111586413B (zh) 视频调整方法、装置、计算机设备及存储介质
CN110750734A (zh) 天气显示方法、装置、计算机设备及计算机可读存储介质
CN111813367A (zh) 调整音量的方法、装置、设备以及存储介质
CN111613213B (zh) 音频分类的方法、装置、设备以及存储介质
CN111083554A (zh) 直播礼物显示的方法和装置
CN111107357A (zh) 一种图像处理的方法、装置及系统
CN110543403B (zh) 一种功耗评估的方法及装置
CN109714628B (zh) 播放音视频的方法、装置、设备、存储介质及系统
CN116074512A (zh) 视频编码方法、装置、电子设备以及存储介质
CN113822955B (zh) 图像数据处理方法、装置、计算机设备及存储介质
CN110460856B (zh) 视频编码方法、装置、编码设备及计算机可读存储介质
CN112151017B (zh) 语音处理方法、装置、系统、设备及存储介质
CN111770339B (zh) 视频编码方法、装置、设备及存储介质
CN111698512B (zh) 视频处理方法、装置、设备及存储介质
CN116506645A (zh) 视频压缩方法、装置、电子设备及存储介质
CN109040753B (zh) 预测模式选择方法、装置及存储介质
CN111310701B (zh) 手势识别方法、装置、设备及存储介质
CN110598156B (zh) 绘图数据的处理方法、装置、终端、服务器及存储介质
CN111246240A (zh) 存储媒体数据的方法和装置
CN111866047B (zh) 数据解码方法、装置、计算机设备及存储介质
CN114422782B (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