CN101137062A - 具有双核处理器的视频编码系统双核协同编码方法 - Google Patents
具有双核处理器的视频编码系统双核协同编码方法 Download PDFInfo
- Publication number
- CN101137062A CN101137062A CN 200710201791 CN200710201791A CN101137062A CN 101137062 A CN101137062 A CN 101137062A CN 200710201791 CN200710201791 CN 200710201791 CN 200710201791 A CN200710201791 A CN 200710201791A CN 101137062 A CN101137062 A CN 101137062A
- Authority
- CN
- China
- Prior art keywords
- frame
- nuclear
- core
- subtask
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及视频编码技术,特别涉及一种基于双核的视频协同编码技术。本发明针对双核解码器并行处理方法图像划分不灵活,编码效率不高的缺点,公开了一种双核编码系统双核协同编码方法。本发明采用串行处理方法,根据编码顺序分解为串行的两个子任务,分别由两个核协同完成。特别适合P帧、B帧的串行协同编码。本发明的有益效果是,采用基于宏块级别的串行协同编码技术,有效地解决了并行编码技术中条带划分不灵活的缺陷;通过合理的双核任务分配以及通信机制,使双核的运算资源达到充分的互补,显著提升了双核编码效率。
Description
技术领域
本发明涉及视频编码技术,特别涉及一种基于双核的视频协同编码技术。
背景技术
由于视频编码具有计算复杂的特性,对处理器提出了很高的要求,单个处理器为达到视频编码的实时处理能力,往往需要大幅提升主频。另外一种通行的做法是采用双处理器(双核)或多处理器(多核)的方法来实现视频的实时编码。
以双核系统为例,视频编码通常采用并行处理方法:将待编码的一帧图像划分为2n(n为整数,n=1,2,3…)个条带,每个核负责n个条带的编码。这种并行处理方法的缺点是一帧图像划分的条带数必须为2的整数倍,而且每个条带所包含的宏块数要大致相等,以保证双核并行编码任务的平均分配。
发明内容
本发明所要解决的技术问题,就是针对双核解码器并行处理方法图像划分不灵活,编码效率不高的缺点,提供一种双核编码系统双核协同编码方法。
本发明解决所述技术问题,采用的技术方案是,具有双核处理器的视频编码系统双核协同编码方法,包括以下步骤:
a.按照宏块编码的顺序,将一个宏块的编码任务分为两个串行的子任务:子任务1和子任务2;
b.将子任务1分配给第二核,将子任务2分别分配给第一核;
c.第一核将当前帧的信息传送给第二核;
d.第二核收到当前帧的信息后,开始对每个宏块运行子任务1;任务完成后向缓存区写入当前宏块的信息,并将当前宏块标志位置1,直至当前帧所有宏块都运行完子任务1;
e.第一核检测到当前宏块标志位置1后,读取当前宏块的信息,并运行子任务2,任务完成后将当前宏块标志位置0;
f.第一核在当前帧所有宏块都完成子任务2后,开始当前帧的滤波,并在滤波完成之前传递下一帧的信息给第二核,提前启动第二核对下一帧的编码任务;
具体的,所述子任务1包括:运动搜索、运动估计、模式判断;其余为子任务2的内容;
进一步的,步骤d中,第二核开辟一个足够大的缓存,存放一帧图像中所有宏块的标志位以及宏快信息;
进一步的,步骤f中,第一核完成若干个宏块行的滤波任务后,第一核暂时中断滤波,开始启动下一帧的编码任务,传递下一帧的相关信息至第二核,然后继续滤波。
具体的,所述当前帧的信息包括:帧类型、图像大小,帧级量化参数、运动搜索半径、当前帧序号;
具体的,所述帧类型为:P帧或B帧;
具体的,所述当前宏块的信息包括:宏块模式、参考帧索引、运动矢量。
本发明的有益效果是,采用基于宏块级别的串行协同编码技术,有效地解决了并行编码技术中条带划分不灵活的缺陷;通过合理的双核任务分配以及通信机制,使双核的运算资源达到充分的互补,显著提升了双核编码效率。
附图说明
图1是实施例的流程图。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明提出了一种基于双核的视频协同编码技术,采用串行处理方法,有效地解决了并行处理方法所存在的条带划分不灵活的缺陷。
本发明适用于前向帧间解码图像帧(P帧)和双向帧间解码图像帧(B帧)的串行协同编码。对于帧内解码图像帧(I帧)来说,因为没有复杂的运动估计运算,使用单核即可完成编码任务。
本发明的编码算法,双核间的任务分配是基于宏块级别的。一个宏块编码任务,根据编码顺序分解为串行的两个子任务。子任务1:完成运动搜索(MS)、运动估计(ME)、模式判断(MD)部分,由第二核运行;子任务2:完成宏块编码的剩余部分,包括离散余弦变换(DCT)、离散余弦反变换(IDCT)、量化(QT)、反量化(IQ)、熵编码部分,由第一核运行;基于帧级别的去块后滤波(DEBLOCK,以下简称滤波)部分,由第一核运行。
在通常的视频编码标准中(如AVS、H.264、VC-1、MPEG4等),滤波是一帧图像编码的最后一个步骤。当第一核在进行当前帧的滤波任务时,第二核已经完成了当前帧的所有任务,可以适时启动下一个P帧或B帧的编码,这样可以显著提升双核编码的效率。
本发明双核间的通信机制分为帧级通信和宏块级通信两个层次:
帧级通信
每帧图像编码前通信一次,由第一核将当前帧的相关信息传送至第二核。信息内容包括:帧类型(P帧或B帧)、图像大小、帧级量化参数、运动搜索半径、当前帧序号。
宏块级通信
为每一个宏块设置一个标志位,第一核和第二核通过对这些标志位的置位(置1)和复位(置0)来进行通信。一帧编码开始前所有宏块的标志位复位(置0)。
第二核在完成当前宏块的运动搜索、运动估计和模式判断后,将当前宏快的标志位置1,同时传递宏块相关信息,包括宏块模式、参考帧索引、运动矢量信息;第一核检测到当前宏块的标志位已经置位后开始当前宏块的剩余编码工作。
为减少双核间的互相等待,开辟一个足够大的缓存,存放一帧图像中所有宏块的标志位以及宏快模式、运动矢量等信息。这样保证了第二核在一帧编码过程中全速运行,无需任何等待。
实施例
参见图1,本例的具体实施步骤如下:
1)第一核启动当前帧的编码任务,传递当前帧的相关信息至第二核;
2)第二核接收到当前帧信息后,开始一帧所有宏快的运动搜索、运动估计和模式判断过程;
3)第二核在完成当前宏快的运动搜索、运动估计和模式判断过程后,写入当前宏快的宏快模式、参考帧索引、运动矢量信息,同时将当前宏快标志位置1;
4)第二核无需等待第一核的反馈,马上进行下一个宏块的编码,直至当前帧所有的宏块完成编码,进入下一帧编码的等待状态;
5)第一核在检测到当前待编码宏块的标志位置1后,读取当前宏快的宏快模式、参考帧索引、运动矢量信息,完成当前宏块的编码;
6)第一核在当前帧所有的宏块都完成编码后,开始当前帧的滤波;
7)当若干个宏块行(宏块行的具体数目,取决于所使用的视频编码标准以及视频编码算法的选择)的滤波完成后,第一核暂时中断滤波,开始启动下一帧的编码任务,传递下一帧的相关信息至第二核,然后继续滤波;这样可以显著提高双核编码的效率;
8)第一核完成当前帧所有宏块的滤波,返回到步骤5);
9)第二核接收到下一帧信息后,返回到步骤2)。
Claims (7)
1.具有双核处理器的视频编码系统双核协同编码方法,包括以下步骤:
a.按照宏块编码的顺序,将一个宏块的编码任务分为两个串行的子任务:子任务1和子任务2;
b.将子任务1分配给第二核,将子任务2分别分配给第一核;
c.第一核将当前帧的信息传送给第二核;
d.第二核收到当前帧的信息后,开始对每个宏块运行子任务1;任务完成后向缓存区写入当前宏块的信息,并将当前宏块标志位置1,直至当前帧所有宏块都运行完子任务1;
e.第一核检测到当前宏块标志位置1后,读取当前宏块的信息,并运行子任务2,任务完成后将当前宏块标志位置0;
f.第一核在当前帧所有宏块都完成子任务2后,开始当前帧的滤波,并在滤波完成之前传递下一帧的信息给第二核,提前启动第二核对下一帧的编码任务。
2.根据权利要求1所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,所述子任务1包括:运动搜索、运动估计、模式判断;其余为子任务2的内容。
3.根据权利要求1所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,步骤d中,第二核开辟一个足够大的缓存,存放一帧图像中所有宏块的标志位以及宏快信息。
4.根据权利要求1所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,步骤f中,第一核完成若干个宏块行的滤波任务后,第一核暂时中断滤波,开始启动下一帧的编码任务,传递下一帧的相关信息至第二核,然后继续滤波。
5.根据权利要求1所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,所述当前帧的信息包括:帧类型、图像大小,帧级量化参数、运动搜索半径、当前帧序号。
6.根据权利要求5所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,所述帧类型为:P帧或B帧。
7.根据权利要求1所述的具有双核处理器的视频编码系统双核协同编码方法,其特征在于,所述当前宏块的信息包括:宏块模式、参考帧索引、运动矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710201791 CN101137062A (zh) | 2007-09-20 | 2007-09-20 | 具有双核处理器的视频编码系统双核协同编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710201791 CN101137062A (zh) | 2007-09-20 | 2007-09-20 | 具有双核处理器的视频编码系统双核协同编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101137062A true CN101137062A (zh) | 2008-03-05 |
Family
ID=39160850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710201791 Pending CN101137062A (zh) | 2007-09-20 | 2007-09-20 | 具有双核处理器的视频编码系统双核协同编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101137062A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232292A (zh) * | 2008-11-11 | 2011-11-02 | 三星电子株式会社 | 用于处理以片为单位划分的运动图像的运动图像编码/解码设备和方法 |
CN101686388B (zh) * | 2008-09-24 | 2013-06-05 | 国际商业机器公司 | 视频流编码装置及其方法 |
CN104038766A (zh) * | 2014-05-14 | 2014-09-10 | 三星电子(中国)研发中心 | 用于以图像帧为基础执行并行视频编码的装置及其方法 |
WO2014205690A1 (zh) * | 2013-06-26 | 2014-12-31 | 北京大学深圳研究生院 | 视频压缩编码方法及编码器 |
CN104685886A (zh) * | 2012-06-29 | 2015-06-03 | 瑞典爱立信有限公司 | 用于视频处理的装置及其方法 |
CN105007490A (zh) * | 2015-08-03 | 2015-10-28 | 深圳市哈工大交通电子技术有限公司 | 基于OmapL138芯片的Jpeg压缩算法 |
CN105554505A (zh) * | 2014-10-22 | 2016-05-04 | 三星电子株式会社 | 应用处理器及其方法以及包括该应用处理器的系统 |
CN106162196A (zh) * | 2016-08-16 | 2016-11-23 | 广东中星电子有限公司 | 一种面向智能分析的视频编码架构及方法 |
-
2007
- 2007-09-20 CN CN 200710201791 patent/CN101137062A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686388B (zh) * | 2008-09-24 | 2013-06-05 | 国际商业机器公司 | 视频流编码装置及其方法 |
US9042456B2 (en) | 2008-11-11 | 2015-05-26 | Samsung Electronics Co., Ltd. | Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices |
US9432687B2 (en) | 2008-11-11 | 2016-08-30 | Samsung Electronics Co., Ltd. | Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices |
CN102232292A (zh) * | 2008-11-11 | 2011-11-02 | 三星电子株式会社 | 用于处理以片为单位划分的运动图像的运动图像编码/解码设备和方法 |
CN104685886A (zh) * | 2012-06-29 | 2015-06-03 | 瑞典爱立信有限公司 | 用于视频处理的装置及其方法 |
CN104396246A (zh) * | 2013-06-26 | 2015-03-04 | 北京大学深圳研究生院 | 视频压缩编码方法及编码器 |
WO2014205690A1 (zh) * | 2013-06-26 | 2014-12-31 | 北京大学深圳研究生院 | 视频压缩编码方法及编码器 |
CN104396246B (zh) * | 2013-06-26 | 2018-07-06 | 北京大学深圳研究生院 | 视频压缩编码方法及编码器 |
CN104038766A (zh) * | 2014-05-14 | 2014-09-10 | 三星电子(中国)研发中心 | 用于以图像帧为基础执行并行视频编码的装置及其方法 |
CN105554505A (zh) * | 2014-10-22 | 2016-05-04 | 三星电子株式会社 | 应用处理器及其方法以及包括该应用处理器的系统 |
CN105554505B (zh) * | 2014-10-22 | 2020-06-12 | 三星电子株式会社 | 应用处理器及其方法以及包括该应用处理器的系统 |
CN105007490A (zh) * | 2015-08-03 | 2015-10-28 | 深圳市哈工大交通电子技术有限公司 | 基于OmapL138芯片的Jpeg压缩算法 |
CN105007490B (zh) * | 2015-08-03 | 2018-05-15 | 深圳市哈工大交通电子技术有限公司 | 基于OmapL138芯片的Jpeg压缩算法 |
CN106162196A (zh) * | 2016-08-16 | 2016-11-23 | 广东中星电子有限公司 | 一种面向智能分析的视频编码架构及方法 |
CN106162196B (zh) * | 2016-08-16 | 2020-07-14 | 广东中星电子有限公司 | 一种面向智能分析的视频编码系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101137062A (zh) | 具有双核处理器的视频编码系统双核协同编码方法 | |
CN101015215B (zh) | 用于在视频编码解码器中实施快速模式决策的方法及设备 | |
CN104967857B (zh) | 对图像进行编码/解码的方法和设备 | |
CN105491377B (zh) | 一种计算复杂度感知的视频解码宏块级并行调度方法 | |
CN105791823B (zh) | 视频编码和解码的自适应模版匹配预测的方法和装置 | |
CN106027065B (zh) | 解码装置和解码方法 | |
CN107241598B (zh) | 一种针对多路h.264视频会议的GPU解码方法 | |
CN106464894A (zh) | 视频处理方法及装置 | |
CN101616323B (zh) | 对视频编码数据流进行解码的系统和方法 | |
CN101779463B (zh) | 用于处理图像的方法以及相应的电子设备 | |
CN104853204A (zh) | 用于视频编码器和解码器的方法和装置 | |
CN103297781A (zh) | 一种基于纹理方向的hevc帧内编码方法、装置和系统 | |
CN105981383A (zh) | 视频处理方法及装置 | |
CN101115201A (zh) | 视频解码方法与解码装置 | |
CN103442228B (zh) | 从h.264/avc标准到hevc标准的快速帧内转码方法及其转码器 | |
CN103297777A (zh) | 一种用于加速视频编码速度的方法及装置 | |
CN101707716B (zh) | 视频编码器和编码方法 | |
CN102625108A (zh) | 一种基于多核处理器实现的h.264解码方法 | |
CN109391816B (zh) | 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 | |
CN109246430B (zh) | 虚拟现实360度视频快速帧内预测和cu划分提前决策 | |
CN103384327A (zh) | 基于自适应阈值的avs快速模式选择算法 | |
CN101115207A (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
US20190279330A1 (en) | Watermark embedding method and apparatus | |
CN105025298A (zh) | 对图像进行编码/解码的方法和设备 | |
CN102196253B (zh) | 一种帧类型自适应选择的视频编码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080305 |