CN102833551B - 一种Slice级编解码端联合时间最小化方法 - Google Patents
一种Slice级编解码端联合时间最小化方法 Download PDFInfo
- Publication number
- CN102833551B CN102833551B CN201210360206.6A CN201210360206A CN102833551B CN 102833551 B CN102833551 B CN 102833551B CN 201210360206 A CN201210360206 A CN 201210360206A CN 102833551 B CN102833551 B CN 102833551B
- Authority
- CN
- China
- Prior art keywords
- decoding
- slice level
- decoding end
- encoder
- frame
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种Slice级编解码端联合时间最小化方法,包括Slice级编解码端联合时间最小化模型,所述Slice级编解码端联合时间最小化模型包括编码器端和若干个解码器端,所述解码器端与编码器端连接,本发明提出了Slice级编解码端联合时间最小化模型来描述使得编码时间和解码时间总和最小的联合最优值,同时在符合H.264国际视频编码标准的编码器和解码器上使用Slice级并行算法,以达到编码端和解码端的联合最优化,使得编解码端负载均衡、所需的总时间最小,更好地满足了视频通信系统对实时性的要求。
Description
技术领域
本发明涉及视频编解码器设计和优化领域,特别是一种Slice级编解码端联合时间最小化方法。
背景技术
在视频编解码研究领域,随着压缩比的不断提高,编解码器的计算复杂度也迅速上升,因而使用多核处理器来实现并行编解码成为一个热门的研究课题。目前,视频编解码并行技术主要有指令级并行(ILP)、数据级并行(DLP)和线程级并行(TLP)。其中,线程级并行(TLP)技术的主要目标是在多核处理器中均衡负载计算量,它根据线程粒度的不同,又可以分为GOP级、Frame级、Slice级和Macroblock级。
由于Slice间参数的独立性,使得在Slice级实现并行编解码相对容易。在Slice级线程并行技术中,每一个视频帧内的计算复杂度并不是均匀分布的,所以需要解决如何对视频帧进行自适应分片的问题,以达到均衡负载每个Slice计算量的目的。在已有的分片算法中,Zhang和Wu依据前一编码帧的复杂度进行自适应分片,但该方法应用于场景突变较大的视频效果并不好。因此,Jung等人使用快速Macroblock模式选择来作一个预处理,使得复杂性计算不仅仅依赖于前一帧,避免了上述问题,自适应分片与平均分片的效果对比见说明书附图1、图2。
然而,上述方法仅仅是针对编码端或者解码端进行单独的并行优化,由于视频编码器和解码器有不同的模块组成和计算复杂度,编码端最优的分片方法和位置对解码端来说往往不是最优的。当考虑到一个视频通信系统的瓶颈在于解码端的时候,就需要设计一个方法在编码端计算解码所需的时间,从而实现编码端和解码端的联合并行优化。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种Slice级编解码端联合时间最小化方法,实现编码端和解码端的联合并行优化。
为解决上述技术问题,本发明所采用的技术方案是:一种Slice级编解码端联合时间最小化方法,包括Slice级编解码端联合时间最小化模型,所述Slice级编解码端联合时间最小化模型包括编码器端和若干个解码器端,所述解码器端与编码器端连接,其特征在于,该方法为:
1)对视频序列前3帧采用均衡分片初始化,并记录边界位置;
2)令编码器帧序号Frame_Number=Frame_Number+1,使用符合H.264国际标准的编码器和解码器,得到系统方程式 T=Te+α*Td的计算负载;其中Te表示编码耗费时间,Td表示解码耗费时间,α表示解码端的权重;T表示系统编解码所需的总时间;
3)检查Frame_Number-1是否等于被测试视频序列的帧数,若不等于则还有下一帧,则计算边界的调整量和下一帧的边界,然后跳到2),若等于则结束。
与现有技术相比,本发明所具有的有益效果为:本发明提出了Slice级编解码端联合时间最小化模型来描述使得编码时间和解码时间总和最小的联合最优值,同时在符合H.264国际视频编码标准的编码器和解码器上使用Slice级并行算法,以达到编码端和解码端的联合最优化,使得编解码端负载均衡、所需的总时间最小,更好地满足了视频通信系统对实时性的要求。
附图说明
图1为平均分片效果图;
图2为自适应分片效果图;
图3为本发明一实施例联合最小化模型示意图;
图4为blue_sky序列不同分片位置解码端和编码端耗费时间示意图;
图5为本发明一实施例第10帧到第20帧的RAMD示意图;
图6为本发明一实施例QP=22,D=5时不同α取值的加速性能对比图;
图7为本发明一实施例QP=22时,在不同延迟情况下针对blue_sky序列的加速性能对比图;
图8为本发明一实施例D=5时,不同QP取值情况下针对blue_sky序列的加速性能对比图。
具体实施方式
本发明首先使用符合H.264国际视频编码标准的并行编码器x.264和解码器FFmpeg,利用强力搜索算法,验证了不同分片位置会造成编码端和解码端耗费时间的不同。经过分析后,我们发现如果忽略这一问题,随着解码端负载的增大,这个系统的性能也会随之主见下降。因此对于不同数量的编码器和解码器,很有必要实现每一帧的自适应分片来达到两者联合性能的最优化。
本发明构造了一个编码器和解码器联合的简化模型,如图3所示,假设在该模型中有1个编码器和3个解码器,并且所有的解码器都具有相同的计算能力。基于此模型,本发明提出了检验联合分片方法性能的系统方程式:T=Te+α*Td,当T达到最小值时,联合分片方法的性能达到最优,其中Te表示编码耗费时间,Td表示解码耗费时间,α表示解码端的权重,并按一定规则赋值,即如果编码端和解码端对于系统的重要性相同,则α等于实际解码端的数量,若系统瓶颈在于编码端,则α赋值减小,反之则增大,实验时α取值范围是0到100。
本发明在Intel Core-i7-2670QM(2.2GHz)CPU,8GB内存,运行Linux操作系统的计算机上得到实现。其中,编码端采用符合H.264国际标准的x.264开源编码器,解码端采用同样符合H.264国际标准的FFmpeg编码器。其中,编码器参数配置如表1所示:
表1 编码器参数配置
Parameter | Setting |
x264 Version | 0.120.x |
Number of Slice partition | 4 |
Number of Encoded Frames | 100 |
Frame Rate | fps |
Prediction Structure | IBBP |
Resolution | CIF,HD720p,HD1080p |
Number of References | 1 |
QP | 22-34 |
Preset | veryfast |
Entropy Coding | CABAC |
本发明采用HEVC标准所使用的视频测试序列,参数如表2所示:
表2 视频测试序列参数
Name | Content | Resolution | Properties |
vidyo4 | vidyo4 | 1280x720 | .. |
blue_sky | Top of two trees against blue sky | 1920x1080 | camera rotation |
traffic | traffic | 2560x1600 | .. |
本发明在验证编码端和解码端最优分片位置不同时,采用了上述软硬件,使用强力搜索的方法,编码并解码了视频序列blue_sky,具体实施如下:测试序列的每一帧都分为2个slice进行编码,其中前9帧采用均衡的分片,即每一个slice包含相同数目的Macroblock,而在第10帧而令第一个slice包含的Macroblock数目从0递增到每一帧所包含的最大Macroblock数,并记录下所有分片位置编码器和解码器所耗费的时间,从而得到最优的分片位置。同时,根据数据我们定义了RAMD(Relative Average Macroblock Difference)值——编码器和解码器最优分片位置差值的绝对值除以每一帧所包含的Macroblock数,来验证我们的观点,得到的结果如附图4和5所示。
其次,我们提出了发明内容章节所述的简化模型及系统方程式,使用Jung等人提出的算法实现编码端和解码端自适应分片。同时对于如何在编码端获得解码端耗费时间问题,我们假设编解码两端之间存在反馈通道,并通过修改已有的多核MPEG2视频编码自适应任务分配算法加以达到目的,完整过程如下:
对视频序列前3帧采用均衡分片初始化,并记录边界位置;
令编码器帧序号Frame_Number=Frame_Number+1,使用符合H.264国际标准的编解码器,如JM编码并解码视频序列,得到系统方程式 T=Te+α*Td所述的计算负载;
检查Frame_Number-1是否达到测试视频序列帧数,,若不等于则还有下一帧,则计算边界的调整量和下一帧的边界,然后跳到,若等于则结束。
最后,本发明提出Slice级编解码端联合时间最小化模型及方法在上述软硬件环境下实现,得到相关数据,实验结果如图6、图7、图8所示,完成对视频通信系统编解码端的联合并行优化。
从实验结果可以看出,本发明所提出的联合最小化分片的模型和方法取得了良好的性能加速比,并且可以看出随着α的增大,整个视频通信系统的加速性能也得到了越来越大的提升。另外,针对为获取解码端时间而造成的延迟的考虑,本发明发现随着延迟的增大,加速比有所下降,这是不可避免的,但总体来说加速比还是令人满意的,也使得本发明更加能够适应于实践场合。同时,本发明透过实验数据亦考虑了不同QP情况下加速比的变化,发现随着QP的上升加速比会下降。
Claims (4)
1.一种Slice级编解码端联合时间最小化方法,包括Slice级编解码端联合时间最小化模型,所述Slice级编解码端联合时间最小化模型包括编码器端和若干个解码器端,所述解码器端与编码器端连接,其特征在于,该方法为:
1)对视频测试序列前3帧采用均衡分片初始化,并记录边界位置;
2)令编码器帧序号Frame_Number=Frame_Number+1,使用符合H.264国际标准的编码器和解码器,得到系统方程式 T=Te+α*Td的计算负载;其中Te表示编码耗费时间,Td表示解码耗费时间,α表示解码端的权重,T表示系统编解码所需的总时间;
3)检查Frame_Number-1是否等于视频测试序列的帧数,若不等于则还有下一帧,则计算边界的调整量和下一帧的边界,然后跳到2),若等于则结束。
2.根据权利要求1所述的Slice级编解码端联合时间最小化方法,其特征在于,所述步骤2)中,编码器端采用符合H.264国际标准的x.264开源编码器,解码器端采用符合H.264国际标准的FFmpeg解码器。
3.根据权利要求1所述的Slice级编解码端联合时间最小化方法,其特征在于,所述步骤1)中,视频测试序列为HEVC标准所使用的视频测试序列。
4.根据权利要求1所述的Slice级编解码端联合时间最小化方法,其特征在于,所述步骤2)中,α取值范围为0到100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210360206.6A CN102833551B (zh) | 2012-09-25 | 2012-09-25 | 一种Slice级编解码端联合时间最小化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210360206.6A CN102833551B (zh) | 2012-09-25 | 2012-09-25 | 一种Slice级编解码端联合时间最小化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102833551A CN102833551A (zh) | 2012-12-19 |
CN102833551B true CN102833551B (zh) | 2014-10-29 |
Family
ID=47336485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210360206.6A Expired - Fee Related CN102833551B (zh) | 2012-09-25 | 2012-09-25 | 一种Slice级编解码端联合时间最小化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102833551B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248893B (zh) * | 2013-05-10 | 2015-12-23 | 四川大学 | 从h.264/avc标准到hevc标准的快速帧间转码方法及其转码器 |
CN103702126B (zh) * | 2013-12-10 | 2017-01-18 | 清华大学深圳研究生院 | 一种基于视频标准hevc的并行编码优化方法 |
CN107071424B (zh) * | 2017-03-17 | 2018-09-25 | 山东科技大学 | 一种基于编码时间预测模型的负载均衡方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502119A (zh) * | 2006-08-02 | 2009-08-05 | 汤姆逊许可公司 | 用于视频编码的自适应几何分割方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090304086A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Method and system for video coder and decoder joint optimization |
-
2012
- 2012-09-25 CN CN201210360206.6A patent/CN102833551B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502119A (zh) * | 2006-08-02 | 2009-08-05 | 汤姆逊许可公司 | 用于视频编码的自适应几何分割方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102833551A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10104401B2 (en) | Efficient software for transcoding to HEVC on multi-core processors | |
US8804820B2 (en) | Rate control with look-ahead for video transcoding | |
Alvarez-Mesa et al. | Parallel video decoding in the emerging HEVC standard | |
US9510028B2 (en) | Adaptive video transcoding based on parallel chunked log analysis | |
US10264268B2 (en) | Pre-encoding for high efficiency video coding | |
KR20180035881A (ko) | 이미지 예측 방법 및 장치 | |
WO2010030752A3 (en) | System and method for decoding using parallel processing | |
CN106231320B (zh) | 一种支持多机并行编码的联合码率控制方法及系统 | |
KR20200036953A (ko) | 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치 | |
CN102833551B (zh) | 一种Slice级编解码端联合时间最小化方法 | |
KR20130006616A (ko) | 비디오 인코딩 및 디코딩을 위한 암시적인 적응 움직임 벡터 예측자 선택을 위한 방법 및 장치 | |
US9955168B2 (en) | Constraining number of bits generated relative to VBV buffer | |
US8681864B2 (en) | Video coding apparatus and video coding control method | |
US20150172680A1 (en) | Producing an Output Need Parameter for an Encoder | |
Chi et al. | Improving the parallelization efficiency of HEVC decoding | |
Chen et al. | Efficient software H. 264/AVC to HEVC transcoding on distributed multicore processors | |
Yu et al. | Early termination of coding unit splitting for HEVC | |
US20170034538A1 (en) | Encode/Decode Strategy for Mitigating Irregular Stream Decoding Time | |
WO2009066284A3 (en) | A method and system for compressing digital video streams | |
Heng et al. | A highly parallelized H. 265/HEVC real-time UHD software encoder | |
CN112272950A (zh) | 帧内预测中的平面和dc模式的边界滤波 | |
US20090323810A1 (en) | Video encoding apparatuses and methods with decoupled data dependency | |
US20170034522A1 (en) | Workload balancing in multi-core video decoder | |
US20080025408A1 (en) | Video encoding | |
Carreira et al. | Selective motion vector redundancies for improved error resilience in HEVC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 Termination date: 20210925 |
|
CF01 | Termination of patent right due to non-payment of annual fee |