CN101977313A - 视频信号编码装置和方法 - Google Patents
视频信号编码装置和方法 Download PDFInfo
- Publication number
- CN101977313A CN101977313A CN 201010288777 CN201010288777A CN101977313A CN 101977313 A CN101977313 A CN 101977313A CN 201010288777 CN201010288777 CN 201010288777 CN 201010288777 A CN201010288777 A CN 201010288777A CN 101977313 A CN101977313 A CN 101977313A
- Authority
- CN
- China
- Prior art keywords
- unit
- coding
- image
- units
- core
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 64
- 230000016776 visual perception Effects 0.000 claims description 37
- 230000000007 visual effect Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000002441 reversible effect Effects 0.000 claims description 11
- 230000008447 perception Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 5
- 230000003321 amplification Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000036963 noncompetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频信号编码装置,该视频信号编码装置在多核处理器上实现,该装置包括多核感知计算单元、分配单元以及编码单元;其中,所述多核感知计算单元用于感知所在多核处理器中当前的可用处理器核的个数与这些可用处理器核的情况,将所述可用处理器核的全部或部分用作编码单元;所述可用处理器核为多核处理器中除了被其他工作占用以及被用作所述多核感知计算单元和分配单元以外的处理器核;所述分配单元用于将待编码的原始图像切分成多个图像单元后,将所述图像单元分配到所述的编码单元中;所述的编码单元各自对所接收到的图像单元进行编码操作。本发明能够很大程度地提高编码速度,能够充分提高编码器可支持的图像分辨率。
Description
技术领域
本发明涉及信号处理领域,更具体地,涉及视频信号编码装置和方法。
背景技术
视频朝高分辨率发展已经成为不争的事实。由于高分辨率的视频信号具有数据量大、实时性高等特点,使得高分辨率视频信号的采集和编码具有很大的技术难度,成为制约人们体验高清视频的瓶颈。鉴于高分辨率视频信号所具有的前述数据量大、实时性高等特点,使得针对多核处理器芯片提供有效的视频编码方法成为编码高分辨率视频信号的首选。当前,多核处理器芯片已经成为一种发展趋势,处理器芯片生产商都向市场推出了大规模并行多核处理器芯片产品。这为采用多核处理器编码高分辨率视频信号提供了可能。
在本发明中,所述多核处理器是指基于单个半导体芯片的、内部具有多个功能一样的处理器核的处理器;如Intel Durecore、Cell处理器等。所述多核处理单元是指一个多核处理器在逻辑上所划分的多个核心处理单元,这些处理单元的功能可通过软件编译或软件编码实现,可支持多线程处理操作。
现有技术的视频信号编码方法大多只利用单处理器实现串行编码,随着视频信号分辨率、实时性要求的不断提高,通过单处理器的串行编码所实现的视频信号编码方法越来越不能满足日益增长的对视频信号高分辨率和实时性的要求。现有技术中,还存在基于集群服务器的视频信号编码方法,这种方法采用多个处理器实现并行视频信号编码,但集群服务器是由多个计算机通过网络连接而组成的集群计算机系统。与单个的多核处理器相比,其庞大的体积、复杂的体系、昂贵的价格,使其不具有灵活性、便利性、移植性以及普适性,因此很难大范围推广和应用。此外,基于集群服务器的视频信号编码方法为减少通信消耗一般采用任务分配粒度较大的并行编码方法,如基于视频序列图像组级别编码,这就降低了并行任务的同步性能,导致了处理器较大的空闲时间,降低了处理器的利用率。
发明内容
本发明所要解决的问题是克服现有的视频信号编码装置价格昂贵,体系复杂,不具有灵活性、便利性、移植性以及普适性的缺陷,从而提供一种实现简单、价格低廉且具有灵活性、便利性、移植性以及普适性的视频信号编码装置。
为了实现上述目的,本发明提供了一种视频信号编码装置,该视频信号编码装置在多核处理器上实现,该装置包括多核感知计算单元、分配单元以及编码单元;其中,
所述多核感知计算单元用于感知所在多核处理器中当前的可用处理器核的个数与这些可用处理器核的情况,将所述可用处理器核的全部或部分用作编码单元;所述可用处理器核为多核处理器中除了被其他工作占用以及被用作所述多核感知计算单元和分配单元以外的处理器核;
所述分配单元用于将待编码的原始图像切分成多个图像单元后,将所述图像单元分配到所述的编码单元中;
所述的编码单元各自对所接收到的图像单元进行编码操作。
上述技术方案中,所述的多核感知计算单元与所述的分配单元在所述多核处理器中的一个处理器核上实现;或者所述多核感知计算单元与所述的分配单元各自在所述多核处理器中的一个处理器核上实现。
上述技术方案中,所述编码单元包括有至少一个编码单元任务队列,所述编码单元任务队列中包括有一个或多个对图像单元进行编码的任务。
上述技术方案中,所述的图像单元为宏块或片。
本发明还提供了一种在所述的视频信号编码装置上实现的图像单元分配方法,包括:
步骤1)、从多核处理器中找出当前空闲的可用处理器核的个数以及各个可用处理器核的情况,根据这些信息确定编码单元;
步骤2)、确定每个编码单元的编码状态,将编码装置所能具备的所有编码状态尽可能公平地分配给各个编码单元;
步骤3)、将待编码的图像切分成图像单元,计算所述图像单元的视觉感知值;
步骤4)、确定每个编码单元所需处理的图像单元的个数;
步骤5)、根据步骤3)计算得到的图像单元的视觉感知值以及步骤4)计算得到的每个编码单元所需处理的图像单元的个数,将所述图像单元分配到相应的编码单元上;
其中,所述的步骤3)还能够在所述的步骤1)之前执行。
上述技术方案中,所述的步骤2)包括:
步骤2-1)、比较编码器所能具备的所有编码状态的数目k与编码单元的数目N之间的大小,若k大于N,则执行步骤2-2),若k等于N,则执行步骤2-3),若k小于N,则执行步骤2-4);
步骤2-2)、在k种编码状态中,根据反映编码效果的判定标准选择N种较佳状态作为优化的编码状态,将这N种优化的编码状态分配给N个编码单元,每种编码状态对应一个编码单元,然后结束本步骤;
步骤2-3)、将每一种编码状态对应一个编码单元,然后结束本步骤;
上述技术方案中,在所述的步骤2-2)中,所述的判定标准包括峰值信噪比效用函数、增幅效用函数、绝对误差和效用函数、差值的平方和效用函数、平均平方误差效用函数中的任意一种。
上述技术方案中,所述的步骤3)包括:
步骤3-1)、采用视觉模型计算图像单元中的像素的视觉感知值;
步骤3-2)、对像素的视觉感知值求和来计算图像单元的视觉感知值。
上述技术方案中,在所述的步骤3-1)中,所述的视觉模型为恰好可察觉失真视觉模型、最小可察觉失真视觉模型、经典视觉注意力模型Itti模型、基于视觉刺激驱动的信息处理模型、基于观察任务驱动的信息处理模型、基于生物启发的视觉注意模型、基于注意力驱动的模型中的任意一种。
上述技术方案中,在所述的步骤4)中,确定每个编码单元所需处理的图像单元的个数时,要使各个编码单元的任务队列的编码时间尽可能相等。
上述技术方案中,在所述的步骤5)中,采用直接分配方法、快速分配方法和全局最优分配法中的一种将图像单元分配到编码单元。
上述技术方案中,所述的快速分配方法包括:
步骤5-1-1)、计算待编码图像的所有图像单元的视觉感知值的平均值,然后对图像单元个数M与编码单元个数N之间的大小进行判断,若图像单元个数M大于编码单元个数N,则执行下一步,否则执行步骤5-1-5);
步骤5-1-2)、从第一个图像单元开始,将该图像单元的视觉感知值依次和紧接着的第二个图像单元的视觉感知值进行累加,直到累加结果最接近前一步骤计算得到的平均值后,记下累加的图像单元个数m,将从1到m的图像单元作为第一分组;
步骤5-1-3)、在编码单元对应的最佳图像编码的个数(m1,m2,...,mk)中,找出与m最接近的me值,然后将该分组分配至me编码单元;
步骤5-1-4)、第m+1个图像单元开始,重复步骤5-1-2)计算出下一个分组,然后重复步骤5-1-3)以分配合适的编码单元,直至分配完所有图像单元为止;
步骤5-1-5)、根据图像单元的视觉感知值做逆序排列,然后按逆序排列的结果将图像单元分配到各个编码单元。
上述技术方案中,所述的全局分配方法包括:
步骤5-2-1)、从每一帧图像第一个编码单元开始,选择连续的mi(i=1,2,...,N)个图像单元分配至编码单元1中,此时共有N种方法;然后依次选择连续的mj(j=1,2,...,N且j≠i)个图像单元分配至编码单元2中,此时共有N-1中选择方法;以此类推,以后每一次都可以从m1,m2,...,mN中选择一个作为编码单元分配的图像单元个数,可供选择的个数依次递减;最后得到N!种分组方法;
步骤5-2-2)、在{m1,m2,...,mN}中,以一帧图像前连续个m2图像单元作为第一个预分组,并计算出该分组的视觉感知值,记为JND(2,1);然后再从m2+1图像单元开始,选出m1个连续的图像单元,作为第二个预分组,并计算出该分组的视觉感知值,记为JND(2,2);依次可计算出所有N个预分组,这样有第一次预分组的视觉感知值之和,为{JND(2,1),JND(2,2),...,JND(2,N)};该次分组顺序为:{m2,m1,...,mN};依次进行完所有N!个预分配,记录每次得出视觉感知值之和,以及分配向量;
步骤5-2-3)、从N!种预分配方法中选出最佳分配方法。
本发明又提供了一种在所述的视频信号编码装置上实现的视频信号预编码方法,包括:
步骤1)、从多核处理器中找出当前空闲的可用处理器核的个数以及各个可用处理器核的情况,根据这些信息确定编码单元;
步骤2)、确定每个编码单元的编码状态,将编码装置所能具备的所有编码状态尽可能公平地分配给各个编码单元;
步骤3)、将待编码的图像切分成图像单元,计算所述图像单元的视觉感知值;
步骤4)、确定每个编码单元所需处理的图像单元的个数;
步骤5)、根据步骤3)计算得到的图像单元的视觉感知值以及步骤4)计算得到的每个编码单元所需处理的图像单元的个数,将所述图像单元分配到相应的编码单元上;
步骤6)、在所述编码单元上实现对图像单元预编码;
其中,所述的步骤3)还能够在所述的步骤1)之前执行。
本发明的有益效果是:本发明的应用于多核处理器的视频信号编码装置和方法,针对多核处理器的视频信号编码提出了从图像单元级对编码进行并行处理。本发明根据当前可用处理器核数,针对每个任务的处理时间不同,在分配单元对每个任务可以编码单元中的图像单元队列进行动态调节,将每个编码任务分配到每个可用处理器核中,并保证每个编码任务尽可能同步运行,充分利用多核处理器性能,减少整个装置的空闲时间,能够很大程度地提高编码速度,能够充分提高编码器可支持的图像分辨率。
此外,本发明可在多个处理器核上进行并行编码,使CPU资源得到更充分、更合理的高效应用。
附图说明
图1为多核处理器的结构示意图;
图2为根据本发明一个具体实施例的视频信号编码装置的示意图;
图3为本发明多核编码器中的多核并行编码状态示意图;
图4为本发明多核编码器中的图像单元为宏块时的图像标示图;
图5为本发明多核编码器中的图像单元为片时的图像标示图;
图6为本发明多核编码器中的编码单元采用并行多任务处理过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的视频信号编码装置和方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了多核处理器的结构示意图。如图1所示,多核处理器包括多个处理器核(Core),每个处理器核可由操作系统或其它方式分配不同的工作任务。
图2示出了根据本发明的一个具体实施例的视频信号编码装置的示意图。该视频信号编码装置包括多核感知计算单元100,分配单元200,以及多个编码单元,如编码单元301,编码单元302等。下面对这些单元的功能分别予以说明。
多核感知计算单元100用于感知当前可用处理器核的个数N,并将可用处理器核的个数和各个可用处理器核的情况输出到所述的分配单元200中。
分配单元200用于将原始图像的每个图像单元分配到不同处理器核的编码单元中。在下文中将结合本发明的具体实施例,详细描述分配方法。
编码单元用于对所接收到的图像单元进行编码操作,所述编码操作包括运动估计、帧内预测、DCT变换、量化以及熵编码等与编码有关的操作。
本发明的视频信号编码装置在多核处理器上实现,图3中示出了图2中所提到的视频信号编码装置在图1中所列举的多核处理器上实现的一个具体实施例。在该图中,标记为“已用”的处理器核被视频信号编码以外的工作占用,而其余空闲的处理器核则可用来实现视频信号编码装置。其中,空闲处理器核中的一个用作所述的多核感知计算单元,另一个空闲处理器核用作所述的分配单元,其余的空闲处理器核用作编码单元。在其他的实施例中,所述的多核感知计算单元和分配单元可以在一个处理器核上实现,另外,用户也可以自行从多核处理器中选择一定数量的空闲处理器核作为编码单元,未必需要将除了用于实现所述多核感知计算单元和分配单元的处理器核外的所有空闲处理器核都用来实现编码单元。
以上是对本发明的视频信号编码装置的各个组成部分的功能描述,下面在上述装置的基础上,对该装置如何对高分辨率视频信号进行编码的过程加以说明。
众所周知,视频信号是由多帧图像组合而成的,组成高分辨率视频信号的是多帧具有高分辨率的图像。每一帧图像的基本组成单位是图像单元。所述图像单元的具体类型根据实际图像而定,在具体实施例中,可以是宏块(MB),也可以是片(Slice)。假设一帧图像由M个图像单元组成,当图像单元为宏块(MB)时,如图4所示,这M个宏块在图像中的位置可用(a,b)标记;当图像单元为片(Slice)时,如图5所示,一帧图像可视为由M个Slice组成。
鉴于图像所具有的上述特点,本发明的视频信号编码装置在接收到高分辨率视频信号后,首先提取出信号中的各帧图像,由所述的分配单元200将每一帧图像切分成图像单元。然后将所得到的图像单元分配给各个编码单元,由各个编码单元并行做编码操作,从而达到提高编码效率的目的。下面对上述过程做详细说明。
步骤1)、从多核处理器中找出当前空闲的可用处理器核的个数以及各个可用处理器核的情况,根据这些信息确定编码单元。当前可用处理器核除了用作多核感知计算单元100,分配单元200以外,剩余部分中的部分或全部被用作编码单元。
步骤2)、确定每个编码单元的编码状态。
在前文中提到,编码单元要完成运动估计、帧内预测、DCT变换、量化以及熵编码等编码操作,因此编码单元根据其功能可进一步包括运动估计模块、帧内预测模块、DCT变换模块、量化模块以及熵编码模块等功能模块,每个功能模块都从不同的方面对视频信号编码的编码效率,码率以及质量产生不同的影响,而且每个功能模块都具有不同的复杂度,需要消耗不同的设备资源。因此用作编码器的各个编码单元通常会采用不同的可扩展方式,提供可扩展的编码。例如:分层编码,包括时域分层、空域分层及SNR分层等;质量可扩展编码;复杂度可扩展编码等。从编码复杂度来看,不同的编码方式对应不同的编码器复杂度。根据本发明的该具体实施例,仅以复杂度可扩展编码为参照,来详述编码器状态控制过程。其它可扩展方式,如分层编码、质量可扩展编码等,均根据其可扩展输出与复杂度的对应关系,对应为一种复杂度可扩展的方式。因此,在本实施例中,编码器依据复杂度可扩展的等级,可将编码状态与编码方式相对应。因此,假设一个由多核处理器实现的编码器可包含k个编码方式,记为(s1,s2,...,sk),对应的编码时间为(t1,t2,...,tk)。为讨论方便,约定t1≥t2≥,...,≥tk。当以图像单元为单位设定编码器编码状态时,该图像单元可以有k种状态。
由于在多核处理器中,编码单元的数目N通常大于或等于一个,而编码状态k的数目也大于一个,因此需要确定每个编码单元的编码状态。基于k、N间大小的不同情况,分别加以讨论。
当k>N时,对(s1,s2,...,sk)进行优选,即,在k种编码状态中,根据反映编码效果的判定标准选择N种较佳状态,作为优化的编码状态。根据本发明的一个具体实施例,采用PSNR(Peak Signal to Noise Ratio,峰值信噪比)作为判定标准,定义效用函数Ui:Ui=PSNRi/ti,其中i表示该公式对应于第i个编码状态,且i∈{1,2,...,k},PSNRi为编码状态si的峰值信噪比,ti为编码状态si的编码时间。峰值信噪比和编码时间取其相应的平均经验值即可。
本领域普通技术人员可以理解,也可以采用增幅效用函数Ui=ΔPSNRi/Δti作为判定标准,ΔPSNRi为编码状态si的峰值信噪比相对前一编码状态信噪比的增幅,Δti为编码状态si的编码时间相对前一编码状态时间的增幅。
同理,也可以采用其它反映编码效果的判定标准并定义相应的效用函数,例如,利用SAD(Sum of Absolute Difference,绝对误差和)定义Ui=SADi·ti,利用SSD(Sum of Squared Difference,差值的平方和)定义Ui=SSDi·ti或利用MSE(Mean Squared Error,平均平方误差)定义Ui=MSEi·ti。
利用所定义的效用函数依次计算出每个编码状态的效用Ui,选取其中最高的N个编码状态作为当前帧编码状态,依次分给N个编码单元;
当k=N时,则每种编码状态对应一个编码单元;
如上所述,对于N个可用处理核,分别确定其对应的编码状态(s′1,s′2,...,s′N),相应的有对应编码时间,记为(t′1,t′2,...,t′N)。
步骤3)、将一帧完整图像切分成图像单元,计算各个图像单元的视觉感知值。
在大多数的实际应用中,人的视觉系统是视频的最终接受者,因此,视频信号编码的质量很大程度上取决于人的主观感受效果。大量实验结果表明,人类的视觉系统并不能感知图像和视频中的所有变化的细节信息。因此目前有很多研究在计算人眼感知的变化门限。当图像和视频中的变化没有达到一定门限值时,由于人眼并不能感知到图像和视频的变化,因此可以在消除时间冗余、空间冗余、编码冗余的基础上进一步降低视觉冗余,从而进一步提高压缩效果。消除视觉冗余可以用到已有的多种视觉模型,作为一种优选实现方式,本实施例中采用了JND(Just Noticeable Distortion,恰好可察觉失真)视觉模型。该视觉模型通过对人眼视觉系统的研究发现,人眼区别光线亮度的敏感度随着亮度的增加而降低,亮度越高,JND也越大。因此,在图像和视频的高亮度区域中存在大量人类视觉系统无法察觉的冗余信息。可以跟据这一特性进一步压缩图像和视频中的冗余信息。当然,本领域普通技术人员可以理解,本发明并不局限于JND模型控制,在其他实施例中,还包含其它HVS的控制方法,如MND(Minimally Noticeable Distortion,最小可察觉失真)。
在另一方面,人的视觉注意力也是影响人的视觉系统的一个很重要因素,例如由Itti等人提出的经典视觉注意力模型Itti模型,基于视觉刺激驱动的信息处理模型,基于观察任务驱动的信息处理模型,基于生物启发的视觉注意模型,基于注意力驱动的模型等都对这一问题进行了阐述。这些视觉模型均可以用作本发明中压缩图像和视频冗余信息的控制模型。为叙述方便,以下仅以JND视觉模型为例展开讨论。
图像单元的视觉感知值的计算以图像单元中的像素的视觉感知值计算为基础,例如采用JND模型时,计算每个像素的恰好可察觉失真(JND)值作为视觉感知值,进而根据如下公式(1)计算图像单元的视觉感知值JNDUnit(其为相应的像素JND值JND(x,y)的计算,(x,y)为像素标记),则一帧图像的(JND1,JND2,...,JNDM)便可以确定。
其中,i,j分别表示图像单元在一帧图像中的位置标记,如行号和列号。
在得到图像单元的视觉感知值以后,还可以进一步计算出图像单元所帧图像的视觉感知值(JND1,JND2,...,JNDM),其中JNDi为图像单元的视觉感知值。
需要说明的是,步骤3)与步骤1)和步骤2)之间具有独立性,可以如本实施例所述的那样,在完成步骤1)、步骤2)之后实现步骤3),在其他实施例中,也可以在完成步骤3)后再做步骤1)、步骤2),还可以并行完成。
步骤4)、确定每个编码单元所需处理的图像单元个数。
为了充分发挥多核处理器中各个处理器核并行计算的功能,需要将图像的各个图像单元分配到各个编码单元上,由这些编码单元分别做编码操作。但在分配图像单元之前,首先需要确定每个编码单元所能处理的图像单元的个数。
假设每个编码单元分配的图像单元分别为:(m1,m2,...,mN),则有:
m1+m2+...+mN=M (2)
为了充分利用多核处理器性能,需要尽量保证编码单元同步运行,并采用队列分配方式进行编码。要使每个编码单元中的任务队列的编码时间尽可能相等,则有:
m1t′1≈m2t′2≈...≈mNt′N=T (3)
将式(3)带入式(2),可得:
这样,可以获得每个编码单元的图像单元个数。
步骤5)、为每个编码单元分配图像单元。
为每个编码单元分配图像单元就是要将图像切分后所得到的图像单元分配到编码单元的任务队列中,分配后的编码单元的任务队列如图6所示。在该图中,多核处理器视频信号编码装置包括n个编码单元,每个编码单元对应一个处理器核,而每个编码单元同时并行或串行执行编码单元任务队列,每个编码单元任务队列中包括有一个或多个对图像单元进行编码的任务。在图6中,n个编码单元中的任务队列对多个图像单元进行编码。例如,301编码单元中的任务队列包含有图像单元(1,1)、图像单元(1,2)、......、图像单元(1,k1)共k1个图像单元。
由于视频信号编码通常会基于一些标准实现,例如H.264、AVS、MPEG4等,因此将图像单元分配到编码单元的任务队列有不同的实现方式。根据本发明的各种实施例,在此提供了3种不同的分配方法,可根据具体标准灵活挑选最适合的方法。
方法一:直接分配方法
对于一帧有M个图像单元,其对应的恰好可察觉失真度JNDUnit分别为(JND1,JND2,...,JNDM)
则依据JNDUnit的值,按逆序排列,记为(JND′1,JND′2,...,JND′M),其中JND′1≤JND′2≤...≤JND′M;
将这些图像单元分配到每个编码单元中,分配的方法:
当M>N时,已知M mod N=q,M/N=j,其中“mod”表示取模、“/”表示取商;则前q个编码单元从(JND′1,JND′2,...,JND′M)中顺序依次分配j+1个图像单元,后N-q个编码单元从剩余的图像单元中依次分配j个图像单元。
当M<N或当M=N时,按照JND′1,JND′2,...,JND′M顺序直接分配。
如将前m1个分配至编码单元1中,接下来的m2个分配至编码单元2中,依次类推,最后mN个分配至编码单元N中。
方法二:快速分配方法
1、当M>N时
初始化:
JNDsum=0;
m=0;
i=1;
循环开始:
如果i<=M,则执行以下步骤,否则不执行:
JNDsum=JNDsum+JNDi;
m=i;
i=i+1;
跳至循环开始;
如果
则:
JNDsum=JNDsum-JND m ;
m=m-1;
则第一个分组已确定出。
2)下面,对第一个分组,分配合适的编码单元:
在编码单元对应的最佳图像编码的个数(m1,m2,...,mk)中,找出与m最接近的me值,然后将该分组分配至me编码单元。
3)第m+1个图像单元开始,重复步骤1)计算出下一个分组,重复步骤2),分配合适的编码单元。直至分配完所有图像单元为止。
在这里,如果出现编码单元已经分配给其它分组的情况,则在剩余的(m1,...,mj,...)中找寻最合适的me值,并分配给相应的编码单元。
2、当M=N时
采用方法一的思路,直接分配方法分配,即将M个图像单元,对应有M个JNDUnit,为(JND1,JND2,...,JNDM)。
则依据JNDUnit的值,按逆序排列,记为(JND′1,JND′2,...,JND′M),其中JND′1≤JND′2≤...≤JND′M;
将这些图像单元分配到每个编码单元中,不同的是,按JND′Unit的值,第1个分配至编码单元1中,第2个分配至编码单元2中,依次第M个分配至编码单元N中。
3、当M<N时
分配方法同当M=N的分配策略。只是,该情况分配时,会出现多余的可用处理器核,留做其它应用使用。
方法三:全局最优分配法
从每一帧图像第一个编码单元开始,选择连续的mi(i=1,2,...,N)个图像单元分配至编码单元1中,此时共有N种方法。随后,依次选择连续的mj(j=1,2,...,N且j≠i)个图像单元分配至编码单元2中,此时共有N-1中选择方法。以此类推,以后每一次都可以从m1,m2,...,mN中选择一个作为编码单元分配的图像单元个数,可供选择的个数依次递减。因此,很容易得出,整帧图像所有图像单元共有N!种分组方法。
举例说明,对每一帧图像,从第一个编码单元开始,选择连续的编码单元进行预分组,如第一个分组,在{m1,m2,...,mN}中,以一帧图像前连续m1个图像单元作为第一个预分组,并计算出该分组的JNDsum,记为JND(1,1),然后再从m1+1图像单元开始,选出m2个连续的图像单元,作为第二个预分组,并计算出该分组的JNDsum,记为JND(1,2),依次可计算出所有N个预分组,这样有第一次预分组的JNDsum,为{JND(1,1),JND(1,2),...,JND(1,N)}。该次分组顺序为:{m1,m2,...,mN}。
第二次预分配:第一个分组,在{m1,m2,...,mN}中,以一帧图像前连续个m2图像单元作为第一个预分组,并计算出该分组的JNDsum,记为JND(2,1),然后再从m2+1图像单元开始,选出m1个连续的图像单元,作为第二个预分组,并计算出该分组的JNDsum,记为JND(2,2),依次可计算出所有N个预分组,这样有第一次预分组的JNDsum,为{JND(2,1),JND(2,2),...,JND(2,N)}。该次分组顺序为:{m2,m1,...,mN}
依次进行完所有N!个预分配。记录每次得出JNDsum向量,如(JND(1,1),JND(1,2),...,JND(1,N)),以及分配向量,如(m1,m2,...,mN)。
将该最优分组依次分配至对应的编码单元即可。
Claims (14)
1.一种视频信号编码装置,其特征在于,该视频信号编码装置在多核处理器上实现,该装置包括多核感知计算单元(100)、分配单元(200)以及编码单元;其中,
所述多核感知计算单元(100)用于感知所在多核处理器中当前的可用处理器核的个数与这些可用处理器核的情况,将所述可用处理器核的全部或部分用作编码单元;所述可用处理器核为多核处理器中除了被其他工作占用以及被用作所述多核感知计算单元(100)和分配单元(200)以外的处理器核;
所述分配单元(200)用于将待编码的原始图像切分成多个图像单元后,将所述图像单元分配到所述的编码单元中;
所述的编码单元各自对所接收到的图像单元进行编码操作。
2.根据权利要求1所述的视频信号编码装置,其特征在于,所述的多核感知计算单元(100)与所述的分配单元(200)在所述多核处理器中的一个处理器核上实现;或者所述多核感知计算单元(100)与所述的分配单元(200)各自在所述多核处理器中的一个处理器核上实现。
3.根据权利要求1所述的视频信号编码装置,其特征在于,所述编码单元包括有至少一个编码单元任务队列,所述编码单元任务队列中包括有一个或多个对图像单元进行编码的任务。
4.根据权利要求1所述的视频信号编码装置,其特征在于,所述的图像单元为宏块或片。
5.一种在权利要求1-4之一所述的视频信号编码装置上实现的图像单元分配方法,包括:
步骤1)、从多核处理器中找出当前空闲的可用处理器核的个数以及各个可用处理器核的情况,根据这些信息确定编码单元;
步骤2)、确定每个编码单元的编码状态,将编码装置所能具备的所有编码状态尽可能公平地分配给各个编码单元;
步骤3)、将待编码的图像切分成图像单元,计算所述图像单元的视觉感知值;
步骤4)、确定每个编码单元所需处理的图像单元的个数;
步骤5)、根据步骤3)计算得到的图像单元的视觉感知值以及步骤4)计算得到的每个编码单元所需处理的图像单元的个数,将所述图像单元分配到相应的编码单元上;
其中,所述的步骤3)还能够在所述的步骤1)之前执行。
6.根据权利要求5所述的图像单元分配方法,其特征在于,所述的步骤2)包括:
步骤2-1)、比较编码器所能具备的所有编码状态的数目k与编码单元的数目N之间的大小,若k大于N,则执行步骤2-2),若k等于N,则执行步骤2-3),若k小于N,则执行步骤2-4);
步骤2-2)、在k种编码状态中,根据反映编码效果的判定标准选择N种较佳状态作为优化的编码状态,将这N种优化的编码状态分配给N个编码单元,每种编码状态对应一个编码单元,然后结束本步骤;
步骤2-3)、将每一种编码状态对应一个编码单元,然后结束本步骤;
7.根据权利要求6所述的图像单元分配方法,其特征在于,在所述的步骤2-2)中,所述的判定标准包括峰值信噪比效用函数、增幅效用函数、绝对误差和效用函数、差值的平方和效用函数、平均平方误差效用函数中的任意一种。
8.根据权利要求5所述的图像单元分配方法,其特征在于,所述的步骤3)包括:
步骤3-1)、采用视觉模型计算图像单元中的像素的视觉感知值;
步骤3-2)、对像素的视觉感知值求和来计算图像单元的视觉感知值。
9.根据权利要求8所述的图像单元分配方法,其特征在于,在所述的步骤3-1)中,所述的视觉模型为恰好可察觉失真视觉模型、最小可察觉失真视觉模型、经典视觉注意力模型Itti模型、基于视觉刺激驱动的信息处理模型、基于观察任务驱动的信息处理模型、基于生物启发的视觉注意模型、基于注意力驱动的模型中的任意一种。
10.根据权利要求5所述的图像单元分配方法,其特征在于,在所述的步骤4)中,确定每个编码单元所需处理的图像单元的个数时,要使各个编码单元的任务队列的编码时间尽可能相等。
11.根据权利要求5所述的图像单元分配方法,其特征在于,在所述的步骤5)中,采用直接分配方法、快速分配方法和全局最优分配法中的一种将图像单元分配到编码单元。
12.根据权利要求11所述的图像单元分配方法,其特征在于,所述的快速分配方法包括:
步骤5-1-1)、计算待编码图像的所有图像单元的视觉感知值的平均值,然后对图像单元个数M与编码单元个数N之间的大小进行判断,若图像单元个数M大于编码单元个数N,则执行下一步,否则执行步骤5-1-5);
步骤5-1-2)、从第一个图像单元开始,将该图像单元的视觉感知值依次和紧接着的第二个图像单元的视觉感知值进行累加,直到累加结果最接近前一步骤计算得到的平均值后,记下累加的图像单元个数m,将从1到m的图像单元作为第一分组;
步骤5-1-3)、在编码单元对应的最佳图像编码的个数(m1,m2,...,mk)中,找出与m最接近的me值,然后将该分组分配至me编码单元;
步骤5-1-4)、第m+1个图像单元开始,重复步骤5-1-2)计算出下一个分组,然后重复步骤5-1-3)以分配合适的编码单元,直至分配完所有图像单元为止;
步骤5-1-5)、根据图像单元的视觉感知值做逆序排列,然后按逆序排列的结果将图像单元分配到各个编码单元。
13.根据权利要求11所述的图像单元分配方法,其特征在于,所述的全局分配方法包括:
步骤5-2-1)、从每一帧图像第一个编码单元开始,选择连续的mi(i=1,2,...,N)个图像单元分配至编码单元1中,此时共有N种方法;然后依次选择连续的mj(j=1,2,...,N且j≠i)个图像单元分配至编码单元2中,此时共有N-1中选择方法;以此类推,以后每一次都可以从m1,m2,...,mN中选择一个作为编码单元分配的图像单元个数,可供选择的个数依次递减;最后得到N!种分组方法;
步骤5-2-2)、在{m1,m2,...,mN}中,以一帧图像前连续个m2图像单元作为第一个预分组,并计算出该分组的视觉感知值,记为JND(2,1);然后再从m2+1图像单元开始,选出m1个连续的图像单元,作为第二个预分组,并计算出该分组的视觉感知值,记为JND(2,2);依次可计算出所有N个预分组,这样有第一次预分组的视觉感知值之和,为{JND(2,1),JND(2,2),...,JND(2,N)};该次分组顺序为:{m2,m1,...,mN};依次进行完所有N!个预分配,记录每次得出视觉感知值之和,以及分配向量;
步骤5-2-3)、从N!种预分配方法中选出最佳分配方法。
14.一种在权利要求1-4之一所述的视频信号编码装置上实现的视频信号预编码方法,包括:
步骤1)、从多核处理器中找出当前空闲的可用处理器核的个数以及各个可用处理器核的情况,根据这些信息确定编码单元;
步骤2)、确定每个编码单元的编码状态,将编码装置所能具备的所有编码状态尽可能公平地分配给各个编码单元;
步骤3)、将待编码的图像切分成图像单元,计算所述图像单元的视觉感知值;
步骤4)、确定每个编码单元所需处理的图像单元的个数;
步骤5)、根据步骤3)计算得到的图像单元的视觉感知值以及步骤4)计算得到的每个编码单元所需处理的图像单元的个数,将所述图像单元分配到相应的编码单元上;
步骤6)、在所述编码单元上实现对图像单元预编码;
其中,所述的步骤3)还能够在所述的步骤1)之前执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010288777 CN101977313B (zh) | 2010-09-20 | 2010-09-20 | 视频信号编码装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010288777 CN101977313B (zh) | 2010-09-20 | 2010-09-20 | 视频信号编码装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101977313A true CN101977313A (zh) | 2011-02-16 |
CN101977313B CN101977313B (zh) | 2012-11-21 |
Family
ID=43577155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010288777 Active CN101977313B (zh) | 2010-09-20 | 2010-09-20 | 视频信号编码装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101977313B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682741A (zh) * | 2012-05-30 | 2012-09-19 | 华为技术有限公司 | 一种多显示控制系统及多显示控制系统的实现方法 |
CN103870338A (zh) * | 2014-03-05 | 2014-06-18 | 国家电网公司 | 一种基于cpu核管理的分布式并行计算平台及方法 |
CN109640111A (zh) * | 2019-01-29 | 2019-04-16 | 视联动力信息技术股份有限公司 | 一种图片传输方法和装置 |
CN113938685A (zh) * | 2021-09-26 | 2022-01-14 | 中国科学院计算技术研究所 | 面向大规模图像存储的认知型软件可调整图像编码装置 |
CN114245133A (zh) * | 2022-02-23 | 2022-03-25 | 北京拙河科技有限公司 | 视频分块编码方法、编码传输方法、系统和设备 |
CN115209079A (zh) * | 2022-02-23 | 2022-10-18 | 北京拙河科技有限公司 | 一种适用于高速摄像机长时间存储数据的方法和设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013173721A1 (en) | 2012-05-18 | 2013-11-21 | Home Box Office, Inc. | Audio-visual content delivery |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1993674A (zh) * | 2004-03-31 | 2007-07-04 | 科威尔公司 | 多芯架构中的资源管理 |
US20080059769A1 (en) * | 2006-08-30 | 2008-03-06 | James Walter Rymarczyk | Multiple-core processor supporting multiple instruction set architectures |
CN101267564A (zh) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | 一种多处理器视频编码芯片装置和方法 |
CN101466041A (zh) * | 2009-01-16 | 2009-06-24 | 清华大学 | 一种用于多核处理器的多视点视频编码的任务调度方法 |
CN101710986A (zh) * | 2009-11-18 | 2010-05-19 | 中兴通讯股份有限公司 | 基于同构多核处理器的h.264并行解码方法和系统 |
-
2010
- 2010-09-20 CN CN 201010288777 patent/CN101977313B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1993674A (zh) * | 2004-03-31 | 2007-07-04 | 科威尔公司 | 多芯架构中的资源管理 |
US20080059769A1 (en) * | 2006-08-30 | 2008-03-06 | James Walter Rymarczyk | Multiple-core processor supporting multiple instruction set architectures |
CN101267564A (zh) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | 一种多处理器视频编码芯片装置和方法 |
CN101466041A (zh) * | 2009-01-16 | 2009-06-24 | 清华大学 | 一种用于多核处理器的多视点视频编码的任务调度方法 |
CN101710986A (zh) * | 2009-11-18 | 2010-05-19 | 中兴通讯股份有限公司 | 基于同构多核处理器的h.264并行解码方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682741A (zh) * | 2012-05-30 | 2012-09-19 | 华为技术有限公司 | 一种多显示控制系统及多显示控制系统的实现方法 |
CN102682741B (zh) * | 2012-05-30 | 2014-12-03 | 华为技术有限公司 | 一种多显示控制系统及多显示控制系统的实现方法 |
CN103870338A (zh) * | 2014-03-05 | 2014-06-18 | 国家电网公司 | 一种基于cpu核管理的分布式并行计算平台及方法 |
CN109640111A (zh) * | 2019-01-29 | 2019-04-16 | 视联动力信息技术股份有限公司 | 一种图片传输方法和装置 |
CN109640111B (zh) * | 2019-01-29 | 2021-02-02 | 视联动力信息技术股份有限公司 | 一种图片传输方法、装置和可读介质 |
CN113938685A (zh) * | 2021-09-26 | 2022-01-14 | 中国科学院计算技术研究所 | 面向大规模图像存储的认知型软件可调整图像编码装置 |
CN114245133A (zh) * | 2022-02-23 | 2022-03-25 | 北京拙河科技有限公司 | 视频分块编码方法、编码传输方法、系统和设备 |
CN115209079A (zh) * | 2022-02-23 | 2022-10-18 | 北京拙河科技有限公司 | 一种适用于高速摄像机长时间存储数据的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101977313B (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101977313B (zh) | 视频信号编码装置和方法 | |
CN101494785B (zh) | 一种h.264感兴趣区域编码的方法 | |
CN103227919B (zh) | 一种基于多核处理器Tilera的SVC编码方法 | |
CN1176562A (zh) | 视频编码的量化方法和装置 | |
CN108200431B (zh) | 一种视频编码码率控制帧层比特分配方法 | |
US20100098162A1 (en) | System and Method for Bit-Allocation in Video Coding | |
CN1767655A (zh) | 一种多视点视频图像视差估计的方法 | |
CN102625108B (zh) | 一种基于多核处理器实现的h.264解码方法 | |
EP2622865A1 (en) | Method and apparatus for arbitrary resolution video coding using compressive sampling measurements | |
CN1143301A (zh) | 视频信号编码系统控制器 | |
CN101534436A (zh) | 一种视频图像宏块级自适应码率分配方法 | |
CN103327325A (zh) | 基于hevc标准的帧内预测模式快速自适应选择方法 | |
CN101674472A (zh) | 多视点视频编码的多级码率控制方法 | |
CN102685532A (zh) | 自由视点四维空间视频编码系统的编码方法 | |
CN107277519B (zh) | 一种判断视频帧的帧类型的方法及电子设备 | |
CN104754335B (zh) | 一种视频编码码率控制方法 | |
CN102281446A (zh) | 一种分布式视频编码中基于视觉感知特性的量化方法 | |
CN104994382A (zh) | 一种感知率失真的优化方法 | |
US10812832B2 (en) | Efficient still image coding with video compression techniques | |
CN103096048B (zh) | 一种可伸缩视频编码量化参数确定方法及装置 | |
CN104113761B (zh) | 一种视频编码中的码率控制方法及编码器 | |
CN101969560B (zh) | 一种多核平台下MPEG2高清编码器的Slice码率分配方法 | |
CN101917618B (zh) | 多视点视频编码分层b帧预测结构的计算复杂度控制方法 | |
CN1187983C (zh) | 用在多路复用系统中调节比特率的装置和方法 | |
CN103458238A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200103 Address after: Room 308, 3 / F, building 26, lanxiyuan District 4, Shunyi District, Beijing Patentee after: Beijing Ruixin high throughput technology Co., Ltd Address before: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Patentee before: Institute of Computing Technology, Chinese Academy of Sciences |