CN110324615A - 一种码率分配方法及装置 - Google Patents
一种码率分配方法及装置 Download PDFInfo
- Publication number
- CN110324615A CN110324615A CN201810276298.7A CN201810276298A CN110324615A CN 110324615 A CN110324615 A CN 110324615A CN 201810276298 A CN201810276298 A CN 201810276298A CN 110324615 A CN110324615 A CN 110324615A
- Authority
- CN
- China
- Prior art keywords
- image
- bit rate
- image region
- image block
- target bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000009826 distribution Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008901 benefit Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 239000000203 mixture Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种码率分配方法及装置,涉及视频图像处理领域,解决了为图像子区域分配目标码率的问题。具体方案为:首先,根据图像序列目标码率对图像序列进行预编码,然后,根据预编码得到的N个图像块的图像块尺寸划分图像序列,得到M个图像子区域,M为大于或等于1的整数,且M小于或等于N;再根据预编码得到的N个图像块的图像块实际码率和图像序列目标码率确定M个图像子区域中每个图像子区域的目标码率。本申请实施例用于码率分配的过程。
Description
技术领域
本申请实施例涉及视频图像处理领域,尤其涉及一种码率分配方法及装置。
背景技术
随着互联网的高速发展,用户对高清(high definition,HD)视频、超高清(ultrahigh definition,UHD)(4K分辨率及以上)视频的需求日益增加,例如,基于移动设备的视频直播等新型多媒体业务。为了保证能给用户带来良好的视觉体验,对新型多媒体业务编码的编码实时性和编码效率提出了更高的要求,其中,编码时长是视频编码的一个关键因素。
目前,并行化编码是缩短编码时长的核心技术之一。图1为现有技术提供的一种并行化编码的示意图。首先,将整幅图像划分为多个图像子区域,每个图像子区域进行独立编码得到对应的子码流,再将子码流分别进行传输,最后根据所有的子码流进行解码得到原始分辨率的视频。但是,现有技术中,通常根据分级策略对视频进行编码,即根据图像组(group of pictures,GOP)级、图像级和编码树单元(coding tree unit,CTU)级的自顶向下分层编码,层级之间码率分配的时候需要相互依赖,即按照一定的视频时间空间顺序进行码率分配,当前图像的码率分配需要使用已编码图像的码率分配信息,无法用于并行化编码中的图像子区域的码率控制。因此,如何为图像子区域分配目标码率是一个亟待解决的问题。
发明内容
本申请实施例提供一种码率分配方法及装置,解决了为图像子区域分配目标码率的问题。
为达到上述目的,本申请实施例采用如下技术方案:
本申请实施例的第一方面,提供一种码率分配方法,包括:首先,根据图像序列目标码率对图像序列进行预编码,然后,根据预编码得到的N个图像块的图像块尺寸划分图像序列,得到M个图像子区域,并根据预编码得到的N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率,第i图像子区域目标码率表示第i个图像子区域的目标码率,N个图像块组成图像序列,其中,N为大于或等于1的整数,M为大于或等于1的整数,且M小于或等于N,i为整数,i的取值为1到M。本申请实施例提供的码率分配方法,利用对图像序列进行预编码得到的图像块实际码率和图像序列目标码率分别确定每个图像子区域的图像子区域目标码率,对于每个图像子区域,当前图像子区域的码率分配不再基于已编码的其他图像子区域,消除了并行编码时各个图像子区域的目标码率的相互依赖关系,图像子区域的编码过程真正独立,使得多个图像子区域的编码处理能够更好地实现并行化。
结合第一方面,在一种可能的实现方式中,根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率,包括:根据第i个图像子区域包括的pi个图像块的图像块实际码率确定第i图像子区域实际码率,第i图像子区域实际码率为第i个图像子区域的实际码率,pi为大于等于1且小于等于N的整数;根据第i图像子区域实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例,图像序列实际码率包括M个图像子区域对应的M个图像子区域实际码率之和;根据第i个图像子区域的实际码率分配比例和图像序列目标码率确定第i个图像子区域的第一目标码率;根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率。
结合上述可能的实现方式,在另一种可能的实现方式中,在根据第i个图像子区域的实际码率分配比例和图像序列目标码率确定第i个图像子区域的第一目标码率之后,方法还包括:判断第i个图像子区域的第一目标码率是否小于或等于预设阈值;若第i个图像子区域的第一目标码率小于或等于预设阈值,根据预设阈值调整第i个图像子区域的第一目标码率,得到第i个图像子区域的第二目标码率;根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率;若第i个图像子区域的第一目标码率大于所述预设阈值,根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率。从而,通过底层码率统计来决定图像子区域目标码率使其分配更为准确,编码获得的各个图像子区域质量更为均匀一致。对图像子区域目标码率补偿能提高纹理简单的图像子区域的编码效率,对应图像子区域平均能提升30%~40%的码率使用效率,充分利用带宽资源,获得更高质量的主观效果。
结合上述可能的实现方式,在另一种可能的实现方式中,根据第i图像子区域实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例,包括:根据第i图像子区域实际码率、预编码获得的图像序列头信息实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例,图像序列实际码率还包括M个预编码获得的图像序列头信息实际码率。
对于根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率,本申请实施例提供一种可能的实现方式,具体包括:根据第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。
对于根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率,本申请实施例提供一种可能的实现方式,具体包括:根据第i个图像子区域的第二目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。
从而,在统计每个图像子区域目标码率时,加入预编码获得的图像序列头信息统计会使图像子区域实际编码后的码率分布情况更接近图像预编码时的目标码率分配,更接近目标码率加权系数的分布情况,分配更加合理,码率利用效率更优。
结合上述可能的实现方式,在另一种可能的实现方式中,图像块为编码树单元,图像块尺寸为编码树单元尺寸;或者,图像块为编码单元,图像块尺寸为编码单元尺寸;或者,图像块为预测单元,图像块尺寸为预测单元尺寸;或者,图像块为变换单元,图像块尺寸为变换单元尺寸;或者,图像块为像素,图像块尺寸为像素尺寸。
结合上述可能的实现方式,在另一种可能的实现方式中,若图像块为编码树单元,图像块尺寸为编码树单元尺寸,根据图像序列目标码率对图像序列进行预编码,获得N个图像块、N个图像块中每个图像块的图像块尺寸和N个图像块中每个图像块的图像块实际码率,包括:根据GOP级、图像级和CTU级对图像序列分层,得到N个图像块和N个图像块中每个图像块的图像块尺寸;根据图像序列目标码率对分级后的图像或图像块分配目标码率;根据为分级后的图像或图像块分配的目标码率对图像序列进行预编码,得到N个图像块中每个图像块的图像块实际码率。
结合上述可能的实现方式,在另一种可能的实现方式中,在根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率之后,方法还包括:根据第i图像子区域目标码率对第i个图像子区域进行编码。
本申请实施例的第二方面,提供一种码率分配装置,包括:预编码单元,用于根据图像序列目标码率对图像序列进行预编码,获得N个图像块、N个图像块中每个图像块的图像块尺寸和N个图像块中每个图像块的图像块实际码率,N个图像块组成图像序列,N为大于或等于1的整数;划分单元,用于根据N个图像块的图像块尺寸划分图像序列,得到M个图像子区域,M为大于或等于1的整数,且M小于或等于N;确定单元,用于根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率,第i图像子区域目标码率表示第i个图像子区域的目标码率,其中,i为整数,i的取值为1到M。
结合第二方面,在一种可能的实现方式中,确定单元,具体用于:根据第i个图像子区域包括的pi个图像块的图像块实际码率确定第i图像子区域实际码率,第i图像子区域实际码率为第i个图像子区域的实际码率,pi为大于等于1且小于等于N的整数;根据第i图像子区域实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例,图像序列实际码率包括M个图像子区域对应的M个图像子区域实际码率之和;根据第i个图像子区域的实际码率分配比例和图像序列目标码率确定第i个图像子区域的第一目标码率;根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率。
结合上述可能的实现方式,在另一种可能的实现方式中,确定单元,还用于:判断第i个图像子区域的第一目标码率是否小于或等于预设阈值;若第i个图像子区域的第一目标码率小于或等于预设阈值,根据预设阈值调整第i个图像子区域的第一目标码率,得到第i个图像子区域的第二目标码率;根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率;若第i个图像子区域的第一目标码率大于所述预设阈值,根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率。
结合上述可能的实现方式,在另一种可能的实现方式中,确定单元,具体用于:根据第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。
结合上述可能的实现方式,在另一种可能的实现方式中,确定单元,具体用于:根据第i个图像子区域的第二目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。
结合上述可能的实现方式,在另一种可能的实现方式中,确定单元,具体用于:根据第i图像子区域实际码率、预编码获得的图像序列头信息实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例,图像序列实际码率还包括M个预编码获得的图像序列头信息实际码率。
结合上述可能的实现方式,在另一种可能的实现方式中,图像块为编码树单元,图像块尺寸为编码树单元尺寸;或者,图像块为编码单元,图像块尺寸为编码单元尺寸;或者,图像块为预测单元,图像块尺寸为预测单元尺寸;或者,图像块为变换单元,图像块尺寸为变换单元尺寸;或者,图像块为像素,图像块尺寸为像素尺寸。
结合上述可能的实现方式,在另一种可能的实现方式中,若图像块为编码树单元,图像块尺寸为编码树单元尺寸,预编码单元,具体用于:根据GOP级、图像级和CTU级对图像序列分层,得到N个图像块和N个图像块中每个图像块的图像块尺寸;根据图像序列目标码率对分级后的图像或图像块分配目标码率;根据为分级后的图像或图像块分配的目标码率对图像序列进行预编码,得到N个图像块中每个图像块的图像块实际码率。
结合上述可能的实现方式,在另一种可能的实现方式中,编码单元,用于根据第i图像子区域目标码率对第i个图像子区域进行编码。
需要说明的是,上述第二方面的功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,收发器,用于完成接收单元和发送单元的功能,处理器,用于完成预编码单元、划分单元、确定单元和编码单元的功能,存储器,用于处理器处理本申请实施例的码率分配方法的程序指令。处理器、收发器和存储器通过总线连接并完成相互间的通信。具体的,可以参考第一方面提供的码率分配方法中设备的行为的功能。
本申请实施例的第三方面,提供一种终端,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该处理器运行时,该处理器执行该存储器存储的该计算机执行指令,以使该终端执行如上述任意方面的方法。
本申请实施例的第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在设备或内置在设备的芯片中运行时,使得设备执行上述任意方面的码率分配方法。
本申请实施例的第五方面,提供一种包含指令的计算机程序产品,当计算机程序产品在设备或内置在设备的芯片中运行时,使得设备执行上述任意方面的码率分配方法。
本申请实施例的第六方面,提供一种视频编码器,包括非易失性存储介质以及中央处理器,非易失性存储介质存储有可执行程序,中央处理器与非易失性存储介质连接,当中央处理器执行可执行程序时,视频编码器执行上述任意方面的码率分配方法。
另外,上述任意方面的设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
本申请实施例中,码率分配装置的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请实施例类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为现有技术提供的一种并行化编码的示意图;
图2为本申请实施例提供的一种编解码系统架构的简化示意图;
图3为本申请实施例提供的一种码率分配方法的流程图;
图4为本申请实施例提供的一种预编码示意图;
图5为本申请实施例提供的一种图像子区域划分示意图;
图6为本申请实施例提供的另一种码率分配方法的流程图;
图7为本申请实施例提供的一种码率分配装置的组成示意图;
图8为本申请实施例提供的一种设备的组成示意图;
图9为本申请实施例提供的另一种码率分配装置的组成示意图。
具体实施方式
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
视频编码(video encoding)是将图像序列压缩成码流的处理过程。可理解的,视频为连续播放的图像序列。
视频解码(video decoding)是将码流按照特定的语法规则和处理方法恢复成重建图像序列的处理过程。
视频编码(video coding)可以作为视频编码和视频解码的统称。
码率是指编码速率,即图像序列在编码时每秒的平均比特数。
图像子区域是指对图像进行划分后,得到的原图像的一部分区域或分片可以称为该图像的图像子区域。对于图像序列而言,指对图像序列进行划分后,得到的原图像序列的一部分区域或分片可以称为该图像序列的图像子区域,也就是说,图像序列的图像子区域实际是每个子图像对应的图像序列。申请实施例中的图像子区域指的是形状为方形的图像子区域。
为了解决如何为图像子区域分配目标码率的问题,本申请实施例提供一种码率分配方法,其基本原理是:首先,根据图像序列目标码率对图像序列进行预编码,然后,根据预编码获得的N个图像块的图像块尺寸划分图像序列,得到M个图像子区域,其中,N为大于或等于1的整数,M为大于或等于1的整数,且M小于或等于N;再根据预编码获得的N个图像块的图像块实际码率和图像序列目标码率确定M个图像子区域中每个图像子区域的目标码率。本申请实施例提供的码率分配方法,利用对图像序列进行预编码得到的图像块实际码率和图像序列目标码率分别确定每个图像子区域的目标码率,对于每个图像子区域,当前图像子区域的码率分配不再基于已编码的其他图像子区域,消除了并行编码时各个图像子区域的目标码率的相互依赖关系,图像子区域的编码过程真正独立,使得多个图像子区域的编码处理能够更好地实现并行化。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图2示出的是可以应用本申请实施例的编解码系统架构的简化示意图。如图2所示,该系统架构可以包括:码率分配模块、Y个编码器和解码合并模块。其中,码率分配模块与每个编码器连接。每个编码器分别与解码合并模块连接。需要说明的是,在编码器与解码合并模块之间还可以包括传输模块,传输模块用于传输编码后的视频。
码率分配模块主要用于根据图像序列目标码率对图像序列进行预编码,获得N个图像块、N个图像块中每个图像块的图像块尺寸和N个图像块中每个图像块的图像块实际码率,N为大于或等于1的整数;根据N个图像块的图像块尺寸划分图像序列,得到M个图像子区域,M为大于或等于1的整数,且M小于或等于N;根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率,第i图像子区域目标码率表示第i个图像子区域的目标码率,其中,i为整数,i的取值为1到M。并将第i图像子区域目标码率和第i个图像子区域输入至第i个图像子区域对应的编码器i。
需要说明的是,在一种可能的实现方式中,码率分配模块划分图像序列得到的图像子区域的个数是与系统所支持的编码器的个数相关的。例如,系统支持Y个编码器,Y个编码器是不同的编码器,码率分配模块划分图像序列可以得到M个图像子区域,此时,M等于Y。当然,M也可以不等于Y。系统使用不同的命令调用Y个编码器对码率分配模块划分图像序列得到的M个图像子区域进行编码。在另一种可能的实现方式中,系统也可以支持一个编码器,系统使用不同的命令调用这个编码器对码率分配模块划分图像序列得到的M个图像子区域进行编码。本申请实施例对上述系统包括的编码器个数不作限定。
编码器i用于根据码率分配模块传输的第i图像子区域目标码率对码率分配模块传输的第i个图像子区域进行编码,并将编码后的第i个图像子区域传输至解码合并模块。
解码合并模块用于对M个图像子区域进行解码并合并为原始的图像序列,并输出原始的图像序列。
图3为本申请实施例提供的一种码率分配方法的流程图,如图3所示,该方法可以包括:
S301、根据图像序列目标码率对图像序列进行预编码,获得N个图像块、N个图像块中每个图像块的图像块尺寸和N个图像块中每个图像块的图像块实际码率。
本申请实施例所述的图像序列可以包括一幅图像也可以包括多幅图像。可理解的,连续播放图像序列包括的多幅图像也就是指视频。图像序列目标码率可以是预先指定的。
根据图像序列目标码率对图像序列进行预编码的方法可以参考现有技术。例如,根据图像序列目标码率利用现有编码器的码率分配算法对图像序列进行编码,码率分配算法可以自顶向下的分级策略,即依次根据GOP级、图像级、CTU级的顺序依次进行自适应码率分配和量化参数选择。
图4为本申请实施例提供的一种预编码示意图。首先,将图像序列分为多个图像组,一个图像组包括多个图像。在GOP级为图像组分配目标码率时,可以根据图像组的个数平均分配图像序列目标码率,此时,每个图像组的图像组目标码率相同;当然,也可以为图像组任意分配图像序列目标码率,不同的图像组间的图像组目标码率不同。然后,将每个图像组分为图像。在图像级为图像分配目标码率时,任意一个图像的目标码率由该图像所在的图像组的图像组目标码率和该图像所在的图像组中已编码图像的总目标码率决定的。如果没有已编码图像就由该图像所在的图像组的图像组目标码率决定。再将每个图像分为编码树单元。在CTU级为编码树单元分配目标码率时,任意一个编码树单元的目标码率由该编码树单元所在的图像的图像目标码率和该编码树单元所在的图像中已编码编码树单元的总目标码率决定的。因此,根据分级策略对图像序列划分后,可以得到N个图像块和N个图像块中每个图像块的图像块尺寸,图像块为编码树单元,图像块尺寸为编码树单元尺寸。从而,各级码率分配根据实际编码情况动态调整,相互依赖相互制约,使得最终图像序列实际码率更接近图像序列目标码率。最后,根据每层编码树单元的目标码率对图像序列进行预编码,得到N个编码树单元中每个编码树单元的实际码率。N个编码树单元中编码树单元的尺寸可以不同,N个编码树单元组成图像序列。一个编码树单元通常对应于一个方形图像区域,编码树单元包含这个方形图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素)。编码树单元中还包含语法元素,这些语法元素指示如何将编码树单元划分成至少一个编码单元(coding unit,CU),以及解码每个编码单元得到重建图像的方法。
需要说明的是,实际应用中还可以根据其他码率分配算法对图像序列进行预编码,本申请实施例对此不作限定。根据不同的码率分配算法对图像序列进行预编码得到的图像块的个数和图像块的尺寸可以不同。例如,图像块还可以是编码单元,图像块尺寸为编码单元尺寸;或者,图像块为预测单元,图像块尺寸为预测单元尺寸;或者,图像块为变换单元,图像块尺寸为变换单元尺寸;或者,图像块为像素,图像块尺寸为像素尺寸。预测单元(prediction unit,PU)是在视频编码过程中进行帧内预测和帧间预测的基本单元。变换单元(transform unit,TU)是在视频编码过程中进行变换和量化的基本单元。像素可以指图像中的一个小方格,小方格有一个明确的位置和被分配的色彩数值,而小方格的颜色和位置就决定图像所呈现出来的样子。因此,像素可以是指在由一个数字序列表示的图像中的一个最小单位,可以将像素视为整个图像中不可分割的单位或者是元素。例如,一个编码树单元对应的图像区域可以包括64×64、128×128或256×256个像素。在一个示例中,64×64个像素的编码树单元包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。可以理解的是,编码树单元也可以对应矩形图像区域或者其它形状的图像区域,一个编码树单元对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64×128个像素。另外,具体的编码方式本申请实施例也不作限定。
S302、根据N个图像块的图像块尺寸划分图像序列,得到M个图像子区域。
若一个图像子区域包括一个图像块,M等于N。若一个图像子区域包括多个图像块,M小于N。不同图像块间的尺寸可以不同。不同图像子区域间的尺寸也可以不同。一个图像子区域间包括的不同图像块间的尺寸也可以不同。假设图像块为编码单元,以编码单元对图像序列进行划分,如图5所示,第1个图像子区域包括3个编码单元,即编码单元1、编码单元2和编码单元4;第2个图像子区域包括7个编码单元,即编码单元3、编码单元5、编码单元6、编码单元7、编码单元8、编码单元9和编码单元11;第3个图像子区域包括2个编码单元,即编码单元10和编码单元12。
S303、根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率。
第i图像子区域目标码率表示第i个图像子区域的目标码率,其中,i为整数,i的取值为1到M。如图6所示,根据N个图像块的图像块实际码率和图像序列目标码率确定第i图像子区域目标码率包括以下详细步骤:
S3031、根据第i个图像子区域包括的pi个图像块的图像块实际码率确定第i图像子区域实际码率。
第i图像子区域实际码率为第i个图像子区域的实际码率。示例的,可以根据第一公式确定第i图像子区域实际码率。第一公式为:
其中,Acti表示第i图像子区域实际码率。Sctij表示第i个图像子区域中的第j个图像块的实际码率。pi表示第i个图像子区域包括的图像块的个数,pi为大于等于1且小于等于N的整数。j为整数,j的取值为1到pi。表示第i个图像子区域包括的pi个图像块对应的pi个图像块实际码率之和。
S3032、根据第i图像子区域实际码率和图像序列实际码率确定第i个图像子区域的实际码率分配比例。
示例的,可以根据第二公式确定第i个图像子区域的实际码率分配比例。第二公式为:
其中,wi表示第i个图像子区域的实际码率分配比例。表示M个图像子区域对应的M个图像子区域实际码率之和。可理解的,M个图像子区域对应的M个图像子区域实际码率之和为图像序列实际码率。M表示图像子区域的个数。k为整数,k的取值为1到M。
S3033、根据第i个图像子区域的实际码率分配比例和图像序列目标码率确定第i个图像子区域的第一目标码率。
示例的,可以根据第三公式确定第i个图像子区域的第一目标码率。第三公式为:
Ti=wi×Tall
其中,Ti表示第i个图像子区域的第一目标码率。Tall表示图像序列目标码率。
在实际应用中,图像序列实际码率与图像序列目标码率存在误差。为了减小图像序列实际码率与图像序列目标码率之间的误差,本申请实施例通过根据第二公式和第三公式对每个图像子区域的实际码率进行调整,从而,达到了减小图像序列实际码率与图像序列目标码率之间的误差的目的。
另外,编码复杂度由图像的纹理复杂度和运动复杂度共同决定。图像序列越均匀,运动越平缓其编码复杂度越低;反之,其编码复杂度越高。针对编码复杂度较低的图像子区域,本申请实施例可以通过以下步骤对编码复杂度较低的图像子区域的目标码率进行补偿,使图像更清晰。
假设第i个图像子区域为编码复杂度较低的图像子区域,如图6所示,在根据第三公式确定第i个图像子区域的第一目标码率,即S3033之后,还包括以下详细步骤:
S3034、判断第i个图像子区域的第一目标码率是否小于或等于预设阈值。
预设阈值可以为其中,Tavg表示平均码率,4为经验值。在一种可实现方式中,可以根据图像序列目标码率和图像子区域的个数M确定平均码率,用公式表示如下所示:
其中,Tall表示图像序列目标码率。M表示图像子区域的个数。
在另一种可实现方式中,预设阈值中的平均码率Tavg也可以与每个图像子区域相关。示例的,可以根据图像子区域的面积、图像子区域所在的图像的面积和图像序列目标码率确定平均码率。用公式表示如下所示:
其中,Tiavg表示与第i个图像子区域相关的平均码率。Tiavg用于设定第i个图像子区域的阈值,为加权平均码率。Ai表示第i个图像子区域的像素面积。W表示第i个图像子区域所在的图像的宽度。H表示第i个图像子区域所在的图像的高度。此时对于第i个图像子区域的预设阈值可以为
若第i个图像子区域的第一目标码率大于预设阈值,执行S3035;若第i个图像子区域的第一目标码率小于或等于预设阈值,执行S3036和S3037。
S3035、根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率。执行S304。
可理解的,根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率也就是将第i个图像子区域的第一目标码率确定为第i图像子区域目标码率。
S3036、根据预设阈值调整第i个图像子区域的第一目标码率,得到第i个图像子区域的第二目标码率。
假设当时,表示第i个图像子区域的编码复杂度较低,需要对第i个图像子区域的第一目标码率进行补偿。用公式可以表示为:其中,Ti′表示第i个图像子区域的第二目标码率。当时,表示第i个图像子区域的编码复杂度较高,无需对第i个图像子区域的第一目标码率进行补偿,即Ti′=Ti。
S3037、根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率。执行S304。
可理解的,根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率也就是将第i个图像子区域的第二目标码率确定为第i图像子区域目标码率。
从而,通过底层码率统计来决定图像子区域目标码率使其分配更为准确,编码获得的各个图像子区域质量更为均匀一致。对图像子区域目标码率补偿能提高纹理简单的图像子区域的编码效率,对应图像子区域平均能提升30%~40%的码率使用效率,充分利用带宽资源,获得更高质量的主观效果。
需要说明的是,对图像序列进行预编码的图像的图像帧号可以与待进行码率分配的图像子区域的帧号对应相同,也可以不同。同理,对图像序列进行预编码得到的图像块目标码率可以与图像子区域目标码率相同,也可以不同。
为了使图像子区域实际编码后的码率分布情况更接近图像预编码时的目标码率。在一种可能的实现方式中,根据第i个图像子区域的第一目标码率确定第i图像子区域目标码率时,可以根据第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。图像序列头信息包括视频参数集(video parameterset,VPS)、序列参数集(sequence parameter set,SPS)、图像参数集(picture parameterset,PPS)和分片头(slice header)。
示例的,假设第i个图像子区域的第一目标码率为50比特每秒((bit per second,bps),预编码获得的图像序列头信息实际码率为5bps,求第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率之和,最终,第i图像子区域目标码率为55bps。同理,根据第i个图像子区域的第二目标码率确定第i图像子区域目标码率时,可以根据第i个图像子区域的第二目标码率和预编码获得的图像序列头信息实际码率确定第i图像子区域目标码率。示例的,假设第i个图像子区域的第二目目标码率为60比特每秒((bit persecond,bps),预编码获得的图像序列头信息实际码率为5bps,求第i个图像子区域的第二目目标码率和预编码获得的图像序列头信息实际码率之和,最终,第i图像子区域目标码率为65bps。从而,在统计每个图像子区域目标码率时,加入预编码获得的图像序列头信息实际码率统计会使图像子区域实际编码后的码率分布情况更接近图像预编码时的目标码率分配,更接近目标码率加权系数的分布情况,分配更加合理,码率利用效率更优。
在另一种可能的实现方式中,可以在底层码率统计加权时加入预编码获得的图像序列头信息实际码率,使图像子区域实际编码后的码率分布情况更接近图像预编码时的目标码率分配,更接近目标码率加权系数的分布情况,分配更加合理,码率利用效率更优。示例的,根据第二公式确定第i个图像子区域的实际码率分配比例。第二公式还可以表示为:
其中,wi表示第i个图像子区域的实际码率分配比例。表示M个图像子区域对应的M个图像子区域实际码率之和。h表示预编码获得的图像序列头信息实际码率。可理解的,图像序列实际码率包括M个图像子区域对应的M个图像子区域实际码率之和,以及M个预编码获得的图像序列头信息实际码率。M表示图像子区域的个数。k为整数,k的取值为1到M。
在确定第i个图像子区域的目标码率之后,可以对第i个图像子区域进行编码,还包括以下步骤:
S304、根据第i图像子区域目标码率对第i个图像子区域进行编码。
编码方式可以使用固定码率的方式编码。例如,可以以运动受限的Tile集合(motion-constrained tile sets,MCTS)形式对图像子区域进行编码,比如每个图像子区域设置为单个MCTS进行编码,从而,多个图像子区域的码流可以拼接成单个码流进行解码。图像子区域是否设置为MCTS编码,本申请实施例对此不作限制。
MCTS是运动受限的Tile集合,指的是针对Tile的一种编码技术,这种技术在编码时对Tile内部的运动矢量加以限制,使得图像序列中相同位置的Tile在时域上不会参考该Tile区域位置以外的图像像素,因此时域上各个Tile可以独立解码。
Tile指的是视频编码标准高效视频编码(high efficiency video coding,HEVC)中针对待编码图像进行划分所得到的方块形编码区域,一帧图像可划分为多个Tile,这些Tile共同组成该帧图像。每个Tile可以独立编码。
从而,本申请实施例结合自顶向下及自底向上的方式提出的码率分配方法,该方法利用对图像序列进行预编码得到的图像块实际码率和图像序列目标码率分别确定每个图像子区域的图像子区域目标码率,对于每个图像子区域,当前图像子区域的码率分配不再基于已编码的其他图像子区域,消除了并行编码时各个图像子区域的目标码率的相互依赖关系,图像子区域的编码过程真正独立,使得多个图像子区域的编码处理能够更好地实现并行化。
上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,例如码率分配装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对码率分配装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出了上述和实施例中涉及的码率分配装置的一种可能的组成示意图,如图7所示,该码率分配装置可以包括:预编码单元701、划分单元702和确定单元703。
其中,预编码单元701,用于支持码率分配装置执行图3所示的码率分配方法中的S301,图6所示的码率分配方法中的S301。
划分单元702,用于支持码率分配装置执行图3所示的码率分配方法中的S302,图6所示的码率分配方法中的S302。
确定单元703,用于支持码率分配装置执行图3所示的码率分配方法中的S303,图6所示的码率分配方法中的S3031至S3037。
在本申请实施例中,进一步的,如图7所示,该码率分配装置还可以包括:编码单元704。
编码单元704,用于支持码率分配装置执行图3所示的码率分配方法中的S304,图6所示的码率分配方法中的S304。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的码率分配装置,用于执行上述码率分配方法,因此可以达到与上述码率分配方法相同的效果。
图8为本申请实施例提供的一种设备的组成示意图,如图8所示,设备可以包括至少一个处理器801,存储器802、通信接口803、通信总线804和编码器805。
下面结合图8对设备的各个构成部件进行具体的介绍:
处理器801是设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器801是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
其中,处理器801可以通过运行或执行存储在存储器802内的软件程序,以及调用存储在存储器802内的数据,执行设备的各种功能。
本申请实施例中处理器用于完成预编码单元701、划分单元702和确定单元703的功能。
在具体的实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,设备可以包括多个处理器,例如图8中所示的处理器801和处理器806。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以是独立存在,通过通信总线804与处理器801相连接。存储器802也可以和处理器801集成在一起。
其中,所述存储器802用于存储执行本申请方案的软件程序,并由处理器801来控制执行。
通信接口803,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口803可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线804,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
编码器805用于完成编码单元804的功能。
可选的,预编码单元701、划分单元702和确定单元703的功能也可以由编码器805完成。
图8中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,图8中示出的设备可以是终端,也可以是编码器、编解码器、视频编码器或视频编解码器。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的码率分配装置的另一种可能的组成示意图。如图9所示,该码率分配装置包括:处理模块901和通信模块902。
处理模块901用于对码率分配装置的动作进行控制管理,例如,处理模块901用于支持码率分配装置执行图3中的步骤,图6中的步骤、和/或用于本文所描述的技术的其它过程。相当于处理模块901用于完成预编码单元701、划分单元702、确定单元703和编码单元704的功能。通信模块902用于支持码率分配装置与其他网络实体的通信。码率分配装置还可以包括存储模块903,用于存储码率分配装置的程序代码和数据。
其中,处理模块901可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块902可以是收发器、收发电路或通信接口等。存储模块903可以是存储器。
当处理模块901为处理器,通信模块902为通信接口,存储模块903为存储器时,本申请实施例所涉及的码率分配装置可以为图8所示的设备。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种码率分配方法,其特征在于,包括:
根据图像序列目标码率对图像序列进行预编码,获得N个图像块、所述N个图像块中每个图像块的图像块尺寸和所述N个图像块中每个图像块的图像块实际码率,N为大于或等于1的整数;
根据所述N个图像块的图像块尺寸划分所述图像序列,得到M个图像子区域,M为大于或等于1的整数,且M小于或等于N;
根据所述N个图像块的图像块实际码率和所述图像序列目标码率确定第i图像子区域目标码率,所述第i图像子区域目标码率表示第i个图像子区域的目标码率,其中,i为整数,i的取值为1到M。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N个图像块的图像块实际码率和所述图像序列目标码率确定第i图像子区域目标码率,包括:
根据所述第i个图像子区域包括的pi个图像块的图像块实际码率确定所述第i图像子区域实际码率,所述第i图像子区域实际码率为所述第i个图像子区域的实际码率,pi为大于等于1且小于等于N的整数;
根据所述第i图像子区域实际码率和图像序列实际码率确定所述第i个图像子区域的实际码率分配比例,所述图像序列实际码率包括所述M个图像子区域对应的M个图像子区域实际码率之和;
根据所述第i个图像子区域的实际码率分配比例和所述图像序列目标码率确定所述第i个图像子区域的第一目标码率;
根据所述第i个图像子区域的第一目标码率确定所述第i图像子区域目标码率。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述第i个图像子区域的实际码率分配比例和所述图像序列目标码率确定所述第i个图像子区域的第一目标码率之后,所述方法还包括:
判断所述第i个图像子区域的第一目标码率是否小于或等于预设阈值;
若所述第i个图像子区域的第一目标码率小于或等于预设阈值,根据所述预设阈值调整所述第i个图像子区域的第一目标码率,得到所述第i个图像子区域的第二目标码率;
根据所述第i个图像子区域的第二目标码率确定所述第i图像子区域目标码率;
若所述第i个图像子区域的第一目标码率大于所述预设阈值,根据所述第i个图像子区域的第一目标码率确定所述第i图像子区域目标码率。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第i个图像子区域的第一目标码率确定所述第i图像子区域目标码率,包括:
根据所述第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率确定所述第i图像子区域目标码率。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第i个图像子区域的第二目标码率确定所述第i图像子区域目标码率,包括:
根据所述第i个图像子区域的第二目标码率和预编码获得的图像序列头信息实际码率确定所述第i图像子区域目标码率。
6.根据权利要求2或3所述的方法,其特征在于,所述根据所述第i图像子区域实际码率和图像序列实际码率确定所述第i个图像子区域的实际码率分配比例,包括:
根据所述第i图像子区域实际码率、预编码获得的图像序列头信息实际码率和图像序列实际码率确定所述第i个图像子区域的实际码率分配比例,所述图像序列实际码率还包括M个预编码获得的图像序列头信息实际码率。
7.根据权利要求1-6中任一项所述的方法,其特征在于,
所述图像块为编码树单元,所述图像块尺寸为编码树单元尺寸;
或者,所述图像块为编码单元,所述图像块尺寸为编码单元尺寸;
或者,所述图像块为预测单元,所述图像块尺寸为预测单元尺寸;
或者,所述图像块为变换单元,所述图像块尺寸为变换单元尺寸;
或者,所述图像块为像素,所述图像块尺寸为像素尺寸。
8.根据权利要求7所述的方法,其特征在于,若所述图像块为编码树单元,所述图像块尺寸为编码树单元尺寸,所述根据图像序列目标码率对图像序列进行预编码,获得N个图像块、所述N个图像块中每个图像块的图像块尺寸和所述N个图像块中每个图像块的图像块实际码率,包括:
根据图像组GOP级、图像级和编码树单元CTU级对所述图像序列分层,得到所述N个图像块和所述N个图像块中每个图像块的图像块尺寸;
根据所述图像序列目标码率对分级后的图像或图像块分配目标码率;
根据为分级后的图像或图像块分配的目标码率对所述图像序列进行预编码,得到所述N个图像块中每个图像块的图像块实际码率。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在所述根据所述N个图像块的图像块实际码率和所述图像序列目标码率确定第i图像子区域目标码率之后,所述方法还包括:
根据所述第i图像子区域目标码率对所述第i个图像子区域进行编码。
10.一种码率分配装置,其特征在于,包括:
预编码单元,用于根据图像序列目标码率对图像序列进行预编码,获得N个图像块、所述N个图像块中每个图像块的图像块尺寸和所述N个图像块中每个图像块的图像块实际码率,N为大于或等于1的整数;
划分单元,用于根据所述N个图像块的图像块尺寸划分所述图像序列,得到M个图像子区域,M为大于或等于1的整数,且M小于或等于N;
确定单元,用于根据所述N个图像块的图像块实际码率和所述图像序列目标码率确定第i图像子区域目标码率,所述第i图像子区域目标码率表示第i个图像子区域的目标码率,其中,i为整数,i的取值为1到M。
11.根据权利要求10所述的装置,其特征在于,所述确定单元,具体用于:
根据所述第i个图像子区域包括的pi个图像块的图像块实际码率确定所述第i图像子区域实际码率,所述第i图像子区域实际码率为所述第i个图像子区域的实际码率,pi为大于等于1且小于等于N的整数;
根据所述第i图像子区域实际码率和图像序列实际码率确定所述第i个图像子区域的实际码率分配比例,所述图像序列实际码率包括所述M个图像子区域对应的M个图像子区域实际码率之和;
根据所述第i个图像子区域的实际码率分配比例和所述图像序列目标码率确定所述第i个图像子区域的第一目标码率;
根据所述第i个图像子区域的第一目标码率确定所述第i图像子区域目标码率。
12.根据权利要求11所述的装置,其特征在于,所述确定单元,还用于:
判断所述第i个图像子区域的第一目标码率是否小于或等于预设阈值;
若所述第i个图像子区域的第一目标码率小于或等于预设阈值,根据所述预设阈值调整所述第i个图像子区域的第一目标码率,得到所述第i个图像子区域的第二目标码率;
根据所述第i个图像子区域的第二目标码率确定所述第i图像子区域目标码率;
若所述第i个图像子区域的第一目标码率大于所述预设阈值,根据所述第i个图像子区域的第一目标码率确定所述第i图像子区域目标码率。
13.根据权利要求11所述的装置,其特征在于,所述确定单元,具体用于:
根据所述第i个图像子区域的第一目标码率和预编码获得的图像序列头信息实际码率确定所述第i图像子区域目标码率。
14.根据权利要求12所述的装置,其特征在于,所述确定单元,具体用于:
根据所述第i个图像子区域的第二目标码率和预编码获得的图像序列头信息实际码率确定所述第i图像子区域目标码率。
15.根据权利要求11或12中任一项所述的装置,其特征在于,所述确定单元,具体用于:
根据所述第i图像子区域实际码率、预编码获得的图像序列头信息实际码率和图像序列实际码率确定所述第i个图像子区域的实际码率分配比例,所述图像序列实际码率还包括M个预编码获得的图像序列头信息实际码率。
16.根据权利要求10-15中任一项所述的装置,其特征在于,
所述图像块为编码树单元,所述图像块尺寸为编码树单元尺寸;
或者,所述图像块为编码单元,所述图像块尺寸为编码单元尺寸;
或者,所述图像块为预测单元,所述图像块尺寸为预测单元尺寸;
或者,所述图像块为变换单元,所述图像块尺寸为变换单元尺寸;
或者,所述图像块为像素,所述图像块尺寸为像素尺寸。
17.根据权利要求16所述的装置,其特征在于,若所述图像块为编码树单元,所述图像块尺寸为编码树单元尺寸,所述预编码单元,具体用于:
根据图像组GOP级、图像级和编码树单元CTU级对所述图像序列分层,得到所述N个图像块和所述N个图像块中每个图像块的图像块尺寸;
根据所述图像序列目标码率对分级后的图像或图像块分配目标码率;
根据为分级后的图像或图像块分配的目标码率对所述图像序列进行预编码,得到所述N个图像块中每个图像块的图像块实际码率。
18.根据权利要求10-17中任一项所述的装置,其特征在于,所述装置还包括:
编码单元,用于根据所述第i图像子区域目标码率对所述第i个图像子区域进行编码。
19.一种终端,其特征在于,所述终端包括:一个或多个处理器、存储器和通信接口;
所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如权利要求1-9中任意一项所述的方法。
20.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在设备或内置在设备的芯片中运行时,使得所述设备执行如权利要求1-9中任一项所述的方法。
21.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在设备或内置在设备的芯片中运行时,使得所述设备执行如权利要求1-9中任一项所述的方法。
22.一种视频编码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述视频编码器执行如权利要求1-9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810276298.7A CN110324615A (zh) | 2018-03-30 | 2018-03-30 | 一种码率分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810276298.7A CN110324615A (zh) | 2018-03-30 | 2018-03-30 | 一种码率分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110324615A true CN110324615A (zh) | 2019-10-11 |
Family
ID=68111444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810276298.7A Pending CN110324615A (zh) | 2018-03-30 | 2018-03-30 | 一种码率分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324615A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784745A (zh) * | 2019-11-26 | 2020-02-11 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN112218084A (zh) * | 2020-10-16 | 2021-01-12 | 西安邮电大学 | 面向监控视频的高效视频编码标准帧级码率控制方法 |
CN113014964A (zh) * | 2021-03-04 | 2021-06-22 | 深圳市东微智能科技股份有限公司 | 拼接墙回显码流的生成方法、装置、系统及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422075A (zh) * | 2002-12-26 | 2003-06-04 | 上海交通大学 | 数字电视视频编码器并行图象序列码率控制方法 |
CN101127909A (zh) * | 2007-09-29 | 2008-02-20 | 华为技术有限公司 | 一种图像码率控制方法及装置 |
US20080165845A1 (en) * | 2006-12-21 | 2008-07-10 | Kismat Singh | Method of selecting quantizer values in video compression systems |
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN102223526A (zh) * | 2010-04-15 | 2011-10-19 | 华为技术有限公司 | 图像编解码方法及相关装置 |
CN102396219A (zh) * | 2009-06-09 | 2012-03-28 | 索尼公司 | 对于具有稀疏直方图的图像的嵌入式图形编码 |
CN102780880A (zh) * | 2011-06-29 | 2012-11-14 | 上海子鼠云计算技术有限公司 | 云计算终端及其编解码控制方法 |
CN105681793A (zh) * | 2016-01-06 | 2016-06-15 | 四川大学 | 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法 |
CN106559671A (zh) * | 2015-09-30 | 2017-04-05 | 展讯通信(上海)有限公司 | 一种显示图像压缩方法及系统 |
CN106791848A (zh) * | 2016-12-20 | 2017-05-31 | 河南省电力勘测设计院 | 一种基于HEVC的Two‑Pass码率控制方法 |
-
2018
- 2018-03-30 CN CN201810276298.7A patent/CN110324615A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422075A (zh) * | 2002-12-26 | 2003-06-04 | 上海交通大学 | 数字电视视频编码器并行图象序列码率控制方法 |
US20080165845A1 (en) * | 2006-12-21 | 2008-07-10 | Kismat Singh | Method of selecting quantizer values in video compression systems |
CN101127909A (zh) * | 2007-09-29 | 2008-02-20 | 华为技术有限公司 | 一种图像码率控制方法及装置 |
CN102396219A (zh) * | 2009-06-09 | 2012-03-28 | 索尼公司 | 对于具有稀疏直方图的图像的嵌入式图形编码 |
CN102223526A (zh) * | 2010-04-15 | 2011-10-19 | 华为技术有限公司 | 图像编解码方法及相关装置 |
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN102780880A (zh) * | 2011-06-29 | 2012-11-14 | 上海子鼠云计算技术有限公司 | 云计算终端及其编解码控制方法 |
CN106559671A (zh) * | 2015-09-30 | 2017-04-05 | 展讯通信(上海)有限公司 | 一种显示图像压缩方法及系统 |
CN105681793A (zh) * | 2016-01-06 | 2016-06-15 | 四川大学 | 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法 |
CN106791848A (zh) * | 2016-12-20 | 2017-05-31 | 河南省电力勘测设计院 | 一种基于HEVC的Two‑Pass码率控制方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784745A (zh) * | 2019-11-26 | 2020-02-11 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN110784745B (zh) * | 2019-11-26 | 2021-12-07 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN112218084A (zh) * | 2020-10-16 | 2021-01-12 | 西安邮电大学 | 面向监控视频的高效视频编码标准帧级码率控制方法 |
CN112218084B (zh) * | 2020-10-16 | 2021-09-17 | 西安邮电大学 | 面向监控视频的高效视频编码标准帧级码率控制方法 |
CN113014964A (zh) * | 2021-03-04 | 2021-06-22 | 深圳市东微智能科技股份有限公司 | 拼接墙回显码流的生成方法、装置、系统及可读存储介质 |
CN113014964B (zh) * | 2021-03-04 | 2023-04-28 | 深圳市东微智能科技股份有限公司 | 拼接墙回显码流的生成方法、装置、系统及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110226316A (zh) | 用于对虚拟现实视频执行转换及流传输的系统及方法 | |
KR102266213B1 (ko) | 인트라 프레임 코딩된 프레임에 대한 코드 레이트 할당 방법, 컴퓨터 장비, 및 저장 매체 | |
CN104219522B (zh) | 一种视频图像编码中的码率控制方法及装置 | |
CN104471941B (zh) | 3d视频编码中的视图间子分割预测的方法和装置 | |
JP2023510179A (ja) | ポイントクラウドデータ送信装置、送信方法、処理装置および処理方法 | |
JP2020512772A (ja) | Vrビデオ用に画像解像度を最適化してビデオストリーミングの帯域幅を最適化する画像処理のための方法及び装置 | |
CN1070531A (zh) | 分层分隔视频信号的装置 | |
CN106031177A (zh) | 用于硬件加速的视频编码的主编码器 | |
CN108200431B (zh) | 一种视频编码码率控制帧层比特分配方法 | |
CN110324615A (zh) | 一种码率分配方法及装置 | |
US11825128B2 (en) | Method and apparatus for dynamic point cloud partition packing | |
PH12015500302B1 (en) | Method and apparatus for encoding and decoding image through intra prediction | |
KR20210128442A (ko) | 포인트 클라우드 데이터 처리 장치 및 방법 | |
CN103959790A (zh) | 高效视频编码中的预测残余的扫描 | |
CN104604235A (zh) | 用于视频处理的发送装置及其方法 | |
US10721476B2 (en) | Rate control for video splicing applications | |
CN1070530A (zh) | 分解两频道间视频信号的装置 | |
JP7046219B2 (ja) | ビデオ符号化方法、ビデオ符号化装置、電子機器およびコンピュータプログラム | |
CN104038769B (zh) | 帧内编码的码率控制方法 | |
JP2002300581A (ja) | 映像符号化装置、及び映像符号化プログラム | |
CN113347416B (zh) | 色度帧内预测方法和装置、及计算机存储介质 | |
JP2023508271A (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 | |
CN103096048B (zh) | 一种可伸缩视频编码量化参数确定方法及装置 | |
KR20130043054A (ko) | 영상 분할을 이용한 영상 처리 방법 및 장치 | |
CN109429064A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191011 |