著录项信息
专利名称 | 一种视频编码方法及视频编码装置 |
申请号 | CN200810106656.6 | 申请日期 | 2008-05-14 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2008-09-24 | 公开/公告号 | CN101272498 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N7/26 | IPC分类号 | H04N7/26;H04N7/50查看分类表>
|
申请人 | 杭州华三通信技术有限公司 | 申请人地址 | 浙江省杭州市滨江区东信大道66号C厂房二、三***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江宇视科技有限公司 | 当前权利人 | 浙江宇视科技有限公司 |
发明人 | 黄建强;陈航锋;谭炽烈;孔令波 |
代理机构 | 北京银龙知识产权代理有限公司 | 代理人 | 许静 |
摘要
本发明提供了一种视频编码方法及视频编码装置。通过在多路视频编码之间复用运动搜索得到的运动矢量信息,本发明可以降低运动搜索的计算量,节约处理器计算资源,提高处理器的资源利用率。
1.一种视频编码方法,用于对同一视频源进行包括第一、第二路视频编码的至少两路视频编码,其特征在于,包括:
在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行第一路视频编码,获得第一路视频码流;
根据在第一路视频编码的运动搜索过程中获得的第一运动矢量和预先设定的第一、第二路视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;
利用所述第二运动矢量,对当前宏块进行第二路视频编码,获得第二路视频码流;或者,在第二路视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索,并利用运动搜索结果对所述当前宏块进行第二路视频编码,获得第二路视频码流。
2.如权利要求1所述的视频编码方法,其特征在于,所述利用所述第二运动矢量,对当前宏块进行第二路视频编码是:根据所述第二运动矢量对应的匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
3.如权利要求1所述的视频编码方法,其特征在于,
进一步根据第一、第二路视频编码的图像的大小比例设定所述对应关系;所述计算得到与所述第一运动矢量对应的第二运动矢量是:通过将所述第一运动矢量除以所述图像的大小比例,得到所述第二运动矢量。
4.如权利要求3所述的视频编码方法,其特征在于,
所述在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索包括:
在第一路视频编码的参考图像中进行整像素运动搜索,得到当前宏块的第一整像素运动矢量;
以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;
以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量。
5.如权利要求4所述的视频编码方法,其特征在于,
所述利用运动搜索结果对当前宏块进行第一路视频编码是:根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定第一路视频编码的参考图像中与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
6.如权利要求5所述的视频编码方法,其特征在于,
所述第一运动矢量为所述第一整像素运动矢量;
所述以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索包括:
在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;
以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
7.如权利要求5所述的视频编码方法,其特征在于,
所述第一运动矢量为所述第一半像素运动矢量;
所述以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索包括:
在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
8.如权利要求6或7所述的视频编码方法,其特征在于,
所述利用运动搜索结果对所述当前宏块进行第二路视频编码是:根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
9.一种视频编码装置,用于对同一视频源进行包括第一、第二路视频编码的至少两路视频编码,其特征在于,包括:
第一路视频编码模块,用于在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行第一路视频编码,获得第一路视频码流;
映射模块,用于根据在第一路视频编码的运动搜索过程中获得的第一运动矢量和预先保存的第一、第二路视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;
第二路视频编码模块,用于利用所述第二运动矢量,对当前宏块进行第二路视频编码,获得第二路视频码流;或者,用于在第二路视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索,并利用运动搜索结果对所述当前宏块进行第二路视频编码,获得第二路视频码流。
10.如权利要求9所述的视频编码装置,其特征在于,
所述第一路视频编码模块包括:
第一运动估计单元,用于:在第一路视频编码的参考图像中进行整像素运动搜索,得到当前宏块的第一整像素运动矢量;以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量;
第一编码单元,用于根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定第一路视频编码的参考图像中与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
11.如权利要求10所述的视频编码装置,其特征在于,
所述第一运动矢量为所述第一整像素运动矢量,所述对应关系是根据第一、第二路视频编码的图像的大小比例设定的;
所述映射模块,进一步用于通过将所述第一整像素运动矢量除以所述图像的大小比例,得到所述第二运动矢量;
所述第二路视频编码模块包括:
第二运动估计单元,用于:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量;
第二编码单元,用于根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
12.如权利要求10所述的视频编码装置,其特征在于,
所述第一运动矢量为所述第一半像素运动矢量,所述对应关系是根据第一、第二路视频编码的图像的大小比例设定的;
所述映射模块,进一步用于通过将所述第一半像素运动矢量除以所述图像的大小比例,得到所述第二运动矢量;
所述第二路视频编码模块包括:
第二运动估计单元,用于:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量;
第二编码单元,用于根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
一种视频编码方法及视频编码装置
技术领域
[0001] 本发明涉及视频编码技术领域,具体涉及一种视频编码方法及视频编码装置。
背景技术
[0002] 在基于网际协议(IP,Internet Protocol)技术的视频监控系统中,由于视频数据量非常大,不利于在网络上的传输,因此对视频数据的压缩成为一个非常重要的任务。在不同的监控终端中,都需要对输入的图像进行编码压缩。终端对输入图像的编码效果,直接影响了网络传输负荷以及接收端所能接收得到的图像质量。
[0003] 图1所示为现有技术的视频编码器的原理示意图,该视频编码器包括:变换器/量化器、去量化器/反变换器、帧缓冲区、运动估计器、运动补偿器和熵编码器等。
[0004] 其中,输入图像以宏块为单位输入编码器。
[0005] 变换器/量化器以指定方式将输入的宏块变换,然后将变换后的宏块量化。这里,离散余弦变换(DCT)是一种典型的图像变换算法。
[0006] 去量化器/反变换器从变换器/量化器接收变换后的宏块和量化后的视频数据,并对接收的视频数据执行去量化和反变换操作。
[0007] 帧缓冲区接收去量化器/反变换器的视频数据,逐画面地再现视频数据并存储视频数据。存储在帧缓冲区中的多个图像,是作为运动估计中的参考图像。
[0008] 运动估计器,接收将要被编码的当前宏块,并根据帧缓冲区中的参考图像,进行运动估计,输出包括块模式、运动矢量或参考图像标记的运动数据等信息。
[0009] 运动补偿器,根据运动估计器输入的运动数据,从参考图像中提取与当前宏块相应的宏块。
[0010] 在对当前宏块帧间编码(如P帧)时,从运动补偿器处接收与当前宏块相应的宏块,并在该相应的宏块与当前宏块之间执行差操作,得到差值块;有变换器/量化器对上述差值块进行变换和量化,然后由熵编码器进行熵编码,产生并输出视频码流;对于帧内编码(如I帧),则是执行帧内预测编码。
[0011] 在IP监控领域,一个典型应用是编码器对同一视频源编码输出两路甚至多路视频数据码流,分别满足不同场合的应用。根据具体应用的不同,两路或多路视频流在码率和分辨率方面会有所差异,有时使用不同的编码标准,例如其中一路码流使用活动图像专家组-4(MPEG-4,Moving Picture ExportsGroup-4)标准,另外的码流使用MPEG-2标准等。
通常,我们把其中清晰度要求较高,码率和分辨率设置较高的一路码流称为主流,另外的码流称为辅流。
[0012] 对于目前通用的数字信号处理(DSP)芯片,一方面受芯片厂商设计的限制,大多只具备D1图像格式的单画面的编码资源,因而编码后剩余的资源不多;另一方面,即使DSP芯片处理能力足够强大,如果能充分利用DSP资源,降低双流或多流编码运算复杂度,就能获得更多剩余DSP资源,从而使得DSP芯片可以将更多的剩余资源用于提高图像质量。因此,如何有效利用有限的处理器资源,在不同的环境下,取得更好的压缩效果与图像质量,是IP监控领域的一个重要问题。
发明内容
[0013] 本发明所要解决的技术问题是提供一种视频编码方法及视频编码装置,用于在对同一视频源进行两路或多路视频编码时,通过复用运动搜索结果,减少编码所需的处理器资源。
[0014] 为解决上述技术问题,本发明提供方案如下:
[0015] 一种视频编码方法,用于对同一视频源进行包括第一、第二路视频编码的至少两路视频编码,包括:
[0016] 在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行第一路视频编码,获得第一路视频码流;
[0017] 根据在第一路视频编码的运动搜索过程中获得的第一运动矢量和预先设定的第一、第二路视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;
[0018] 利用所述第二运动矢量,对当前宏块进行第二路视频编码,获得第二路视频码流;
或者,在第二路视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索,并利用运动搜索结果对所述当前宏块进行第二路视频编码,获得第二路视频码流。
[0019] 本发明所述的视频编码方法,其中,所述利用所述第二运动矢量,对当前宏块进行第二路视频编码是:根据所述第二运动矢量对应的匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0020] 本发明所述的视频编码方法,其中,进一步根据第一、第二路视频编码的图像的大小比例设定所述对应关系;所述计算得到与所述第一运动矢量对应的第二运动矢量是:通过将所述第一运动矢量除以所述图像的大小比例,得到所述第二运动矢量。
[0021] 本发明所述的视频编码方法,其中,所述在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索包括:
[0022] 在第一路视频编码的参考图像中进行整像素运动搜索,得到当前宏块的第一整像素运动矢量;
[0023] 以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;
[0024] 以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量。
[0025] 本发明所述的视频编码方法,其中,所述利用运动搜索结果对当前宏块进行第一路视频编码是:根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定第一路视频编码的参考图像中与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
[0026] 本发明所述的视频编码方法,其中,所述第一运动矢量为所述第一整像素运动矢量;
[0027] 所述以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索包括:
[0028] 在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;
[0029] 以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
[0030] 本发明所述的视频编码方法,其中,所述第一运动矢量为所述第一半像素运动矢量;
[0031] 所述以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索包括:
[0032] 在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
[0033] 本发明所述的视频编码方法,其中,所述利用运动搜索结果对所述当前宏块进行第二路视频编码是:根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0034] 一种视频编码装置,用于对同一视频源进行包括第一、第二路视频编码的至少两路视频编码,包括:
[0035] 第一路视频编码模块,用于在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行第一路视频编码,获得第一路视频码流;
[0036] 映射模块,用于根据在第一路视频编码的运动搜索过程中获得的第一运动矢量和预先保存的第一、第二路视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;
[0037] 第二路视频编码模块,用于利用所述第二运动矢量,对当前宏块进行第二路视频编码,获得第二路视频码流;或者,用于在第二路视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索,并利用运动搜索结果对所述当前宏块进行第二路视频编码,获得第二路视频码流。
[0038] 本发明所述的视频编码装置,其中,
[0039] 所述第一路视频编码模块包括:
[0040] 第一运动估计单元,用于:在第一路视频编码的参考图像中进行整像素运动搜索,得到当前宏块的第一整像素运动矢量;以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量;
[0041] 第一编码单元,用于根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定第一路视频编码的参考图像中与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
[0042] 本发明所述的视频编码装置,其中,
[0043] 所述第一运动矢量为所述第一整像素运动矢量,所述对应关系是根据第一、第二路视频编码的图像的大小比例设定的;
[0044] 所述映射模块,进一步用于通过将所述第一整像素运动矢量除以所述图像的大小比例,得到所述第二运动矢量;
[0045] 所述第二路视频编码模块包括:
[0046] 第二运动估计单元,用于:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量;
[0047] 第二编码单元,用于根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0048] 本发明所述的视频编码装置,其中,
[0049] 所述第一运动矢量为所述第一半像素运动矢量,所述对应关系是根据第一、第二路视频编码的图像的大小比例设定的;
[0050] 所述映射模块,进一步用于通过将所述第一半像素运动矢量除以所述图像的大小比例,得到所述第二运动矢量;
[0051] 所述第二路视频编码模块包括:
[0052] 第二运动估计单元,用于:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量;
[0053] 第二编码单元,用于根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0054] 从以上所述可以看出,本发明提供的视频编码方法及视频编码装置,通过在两路或多路视频编码的过程中,利用第一、第二路编码的相关性,复用运动搜索得到的运动矢量信息,从而可以降低运动搜索的计算量,节约处理器计算资源,提高处理器的资源利用率,进而使得处理器有更多的剩余资源可以用在提升图像质量及信息处理性能上。并且,对于物理芯片资源较紧缺的单流编码芯片,采用本编码装置的设计方法,能够实现双流编码,满足IP视频监控中单颗DSP芯片实现双流编码的需求。
附图说明
[0055] 图1为为现有技术的视频编码器的原理示意图;
[0056] 图2为本发明实施例所述视频编码装置的应用环境示意图;
[0057] 图3为本发明实施例所述编码装置的功能模块图;
[0058] 图4为本发明实施例所述视频编码方法的流程示意图。
具体实施方式
[0059] 现有技术中,对同一视频源进行两路或多路视频编码时,主流、辅流分别进行独立编码。由于处理器(如DSP芯片)的计算资源有限,所以不得不简化主流和辅流的编码算法,降低主流图像质量,以保证有足够的计算资源用于两路或多路图像编码。
[0060] 发明人在对现有技术的分析中发现:现有的处理器在对同一视频源进行两路或多路编码时,在每路编码中都重复对同一幅图像提取类似的运动估计信息,在很大程度上浪费了处理器资源。因此,本发明提供了一种视频编码方法及视频编码装置,通过在两路或多路视频编码中复用运动估计信息,以达到同时编码两路或多路高质量图像的需求。以下结合附图通过具体实施例对本发明作进一步说明。
[0061] 本实施例中以对同一视频源进行两路视频编码为例进行说明。
[0062] 图2所示为本实施例所述视频编码装置的应用环境。图2中包括摄像头(CA)、模数转换电路(AD)、存储器(SDRAM)与处理芯片(DSP/CPU)相连。摄像头(CA)采集到的模拟视频信号,经过模数转换电路(AD)转换后,得到数字图像信号存入存储器(SDRAM)中。作为编码装置的处理芯片(DSP或者CPU)采用本实施例提供的处理流程对存储在SDRAM中的数字图像进行两路视频编码,从而产生两路视频流:其中一路视频流为用于观看的清晰高分辨率图像,另外一路视频流为用于存储次清晰低分辨率图像。
[0063] 本实施例中,通过编码装置对当前采集进来的数字图像先进行清晰高分辨率编码,然后再利用高分辨率编码过程中得到的运动搜索信息进行次清晰低分辨率编码,从而避免了在两路编码中对有关运动搜索进行重复计算,提高了处理器计算资源的利用率,进而提高了图像质量。本文中的“第一”和“第二”并无次序之含义,仅为区分各路视频编码(如主流视频编码和辅流视频编码)中相同名称的矢量或匹配点等事物。
[0064] 图3为本实施例所述编码装置的功能模块图。该编码装置具体的可以是CPU或DSP芯片。如图3所示,该编码装置包括:
[0065] 主流视频编码模块,用于在主流视频编码的参考图像中对输入图像的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行主流视频编码,获得主流视频码流;
[0066] 映射模块,用于根据在主流视频编码的运动搜索过程中获得的第一运动矢量和预先保存的主流、辅流视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;这里,所述对应关系可以是主流、辅流视频编码的图像的大小比例关系,这点将在下文中说明;
[0067] 辅流视频编码模块,用于在辅流视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索,并利用运动搜索结果对所述当前宏块进行辅流视频编码,获得辅流视频码流。
[0068] 如图3所示,所述主流视频编码模块又具体包括:
[0069] 第一运动估计单元,用于:在主流视频编码的参考图像中进行整像素运动搜索,得到当前宏块的整像素运动矢量;以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;
以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量。这里,具体的运动搜索算法可以采用现有技术中已有的算法,按照所选定的搜索方法和匹配准则进行搜索。例如,可以采用新三步搜索法、钻石搜索法、分层搜索法、基于投影的搜索法和六边形搜索法等。
[0070] 第一编码单元,用于根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定主流视频编码的参考图像中与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
[0071] 所述辅流视频编码模块也包括有第二运动估计单元和第二编码单元。与第一运动估计单元不同的是,第二运动估计单元是根据来自映射模块的第二运动矢量信息开始运动搜索:在辅流视频编码的参考图像中,以所述第二运动矢量对应的匹配点为搜索起始点,在该对应的匹配点周围,按照预定的搜索方法和匹配准则做进一步的细搜索,进而确定辅流最终的运动矢量信息。
[0072] 例如,在所述第一运动矢量为所述第一整像素运动矢量,所述对应关系是第一、第二路视频编码的图像的大小比例时,所述第二运动估计单元在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;当然,所述第二运动估计单元还可以进一步以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。这种情况下,第二运动估计单元无需进行整像素的运动搜索,直接利用第二运动矢量进行半像素精度的运动搜索,从而可以大大降低运动搜索的计算量。
[0073] 又例如,在所述第一运动矢量为所述第一半像素运动矢量,所述对应关系是第一、第二路视频编码的图像的大小比例时,所述第二运动估计单元在第二路视频编码的参考图像中,以所第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。这种情况下,第二运动估计单元无需进行整像素和半像素的运动搜索,直接利用第二运动矢量进行1/4像素精度的运动搜索,从而可以大大降低运动搜索的计算量。
[0074] 所述第二编码单元,用于根据所述第二运动估计单元得到的所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定辅流视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0075] 所述映射模块中预先配置并保存了所述对应关系。所述对应关系可以是根据主流视频编码和辅流视频编码的图像的大小比例关系而设定的一种对应关系。例如,目前视频编码采用的常见图像格式有:通用中间格式(CIF,CommonIntermediate Format)、2CIF和数字电视系统显示格式D1等。如表1所示,它们分别代表了不同大小的图像分辨率:
[0076]
[0077] 表1
[0078] 这里,假设主流编码格式为D1,辅流编码格式为2CIF,可以看出,在运动矢量的x方向上:D1格式的图像每行像素720,2CIF格式的图像每行像素704,两者大致相等,因此,在x方向上图像大小比例关系可以取1∶1;D1格式的图像每帧行数576,2CIF格式的图像每帧行数288,因此,在y方向上图像大小比例关系可以取2∶1。因此,假设主流运动估计模块计算得到的所述第一运动矢量为(MVx,MVy),则将所述第一运动矢量在x方向和y方向的分量分别除以对应方向上的大小比例,可以得到第二运动矢量为(MVx,Mvy/2)。表2中列出了在主流的图像格式为D1且所述第一运动矢量为(MVx,MVy)的情况下,一些常见图像格式的辅流的第二运动矢量:
[0079]
[0080] 表2
[0081] 上述对应关系中,采用的是比较简单粗略的比例关系,例如对于D1和2CIF的x方向上,采用的是2∶1的粗略的比例关系,而实际比例则应是720∶704。因此,还可以根据图像的实际大小比例设置更为精准的对应关系。
[0082] 上述编码装置中的第一运动估计模块和第二运动估计模块的运动搜索都达到到
1/4像素精度。通常,高精度的运动搜索可以提高图像质量。当然,在实际应用中,可以根据具体环境的需要,选择合适的精度,例如进行更高精度如1/8像素精度的运动搜索,或者只进行到半像素精度的运动搜索。上述编码装置是以两路视频编码为例进行说明,可以看出,本实施例的思想完全能够适用于更多路的视频编码,只需要在其它路的视频编码中,通过映射关系,将主流视频编码过程中获取的运动矢量信息复用到该路视频编码中,其思想与辅流编码完全一致。
[0083] 上述编码装置中,所述辅流视频编码模块是根据所述第二运动矢量在辅流视频编码的参考图像中作进一步细搜索,然后,再利用搜索结果进行编码。这里,在满足辅流编码质量要求的前提下,所述辅流视频编码模块还可以直接利用所述第二运动矢量,对当前宏块进行辅流视频编码,获得辅流视频码流,而不必去进行细搜索。这样,可以进一步节约第二路视频编码所需的处理器资源。
[0084] 以下通过与现有技术的双流编码相比较,说明本实施例的优点:
[0085] 视频编码的主要计算包括变换/量化,反变换/反量化,熵编码,运动估计,运动补偿,其中运动估计部分占用处理芯片的性能最多,通常达到40%左右。传统的双流编码需要对同一输入源的图像进行两个互相孤立的编码计算。本实施例通过辅流编码复用主流编码过程中通过运动搜索得到的运动矢量,从而减少辅流编码中的重复计算,降低了辅流运动搜索的计算量(使得辅流计算量降低了35%左右),节约了处理器的计算资源,大幅度提高处理器资源的利用率,进而使得处理器有更多的剩余资源可以用在提升图像质量及信息处理性能上。并且,对于物理芯片资源较紧缺的单流编码芯片,采用本编码装置的设计方法,能够实现双流编码,满足IP视频监控中单颗DSP芯片实现双流编码的需求。
[0086] 上述实施例中的编码装置是以分辨率较高的主流视频编码过程中得到的第一运动矢量作为参考矢量,通过映射处理获取与所述第一运动矢量对应的第二运动矢量,利用该第二运动矢量进行分辨率较低的辅流视频编码。显然,本发明并不局限于以上应用,例如,本发明还可以利用辅流视频编码过程中获得的运动矢量作为参考矢量,同样可以根据辅流视频编码的运动矢量和主流视频编码的运动矢量之间的映射关系,通过映射处理获取与上述参考矢量对应的对应运动矢量,据此进行主流视频编码,其实现并无实质区别。
[0087] 基于上述编码装置,本实施例还相应的提供了一种视频编码方法,用于对同一视频源进行包括第一、第二路视频编码的至少两路视频编码。如图4所示,所述视频编码方法包括以下步骤:
[0088] 步骤S41,在第一路视频编码的参考图像中对所述视频源的当前宏块进行运动搜索,并利用运动搜索结果对当前宏块进行第一路视频编码,获得第一路视频码流;
[0089] 步骤S42,根据在第一路视频编码的运动搜索过程中获得的第一运动矢量和预先保存的第一、第二路视频编码的运动矢量之间的对应关系,计算得到与所述第一运动矢量对应的第二运动矢量;
[0090] 步骤S43,在第二路视频编码的参考图像中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索;
[0091] 步骤S44,利用步骤S43中得到的搜索结果,对所述当前宏块进行第二路视频编码,获得第二路视频码流。
[0092] 其中,上述步骤S41具体包括:
[0093] 步骤S411,在第一路视频编码的参考图像中进行整像素运动搜索,得到当前宏块的第一整像素运动矢量;
[0094] 步骤S412,以所述第一整像素运动矢量对应的第一整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第一整像素匹配点周边的第一半像素运动矢量;
[0095] 步骤S413,以所述第一半像素运动矢量对应的第一半整像素匹配点为中心进行
1/4像素搜索,得到当前宏块在所述第一半像素匹配点周边的第一1/4像素运动矢量。
[0096] 步骤S414,根据所述第一1/4像素运动矢量对应的第一1/4像素匹配点,确定与当前宏块相匹配的第一匹配块,并对当前宏块与所述第一匹配块相减得到的差值块进行变换、量化和熵编码,得到第一路视频码流。
[0097] 步骤S42中,所述第一运动矢量信息可以是上述步骤S411中得到的搜索结果,即第一整像素运动矢量,此时,步骤S42得到的第二运动矢量对应的就是整像素匹配点,因此,步骤S43中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索具体包括:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二整像素匹配点为中心进行半像素搜索,得到当前宏块在所述第二整像素匹配点周边的第二半像素运动矢量;进而,以所述第二半像素运动矢量对应的第二半整像素匹配点为中心进行
1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
[0098] 这里,步骤S42中,所述第一运动矢量信息还可以是上述步骤S412中得到的搜索结果,即第一半像素运动矢量,此时,步骤S42得到的第二运动矢量对应的就是半像素匹配点,因此,步骤S43中,以所述第二运动矢量对应的匹配点作为搜索起始点,对所述当前宏块进行运动搜索具体包括:在第二路视频编码的参考图像中,以所述第二运动矢量对应的第二半像素匹配点为中心进行1/4像素搜索,得到当前宏块在所述第二半像素匹配点周边的第二1/4像素运动矢量。
[0099] 本实施例所述视频编码方法,其中,所述第一路视频编码可以是分辨率较高的主流视频编码,而所述第二路视频编码是分辨率较低的辅流视频编码。当然,本实施例所述方法中,所述第一路视频编码还可以是分辨率较低的辅流视频编码,而所述第二路视频编码是分辨率较高的主流视频编码。上述两种情况下编码方法并无实质区别,都是通过在步骤S42中计算得到与第一运动矢量对应的第二运动矢量,进而,在步骤S43中,根据该第二运动矢量对应匹配点作为搜索起始点,对所述当前宏块进行运动搜索,最后,在步骤S44中,利用搜索结果进行第二路视频编码。
[0100] 当所述第一路视频编码是分辨率较低的辅流视频编码时,由于辅流分辨率较低,因此,根据对应关系计算第二运动矢量时,通常是通过将辅流的第一运动矢量乘以一个大于或等于1的倍数得到第二运动矢量,这将导致该第二运动矢量与当前宏块在主流视频编码的参考图像中的实际运动矢量之间的偏差增大。因而,在步骤S43中,以该第二运动矢量在主流视频编码的参考图像中所对应的的匹配点作为搜索起始点进行当前宏块的搜索时,可以进一步增加搜索范围,扩大搜索半径,以获取更加精准的搜索结果,有利于提高主流视频编码的质量。例如,当所述第一、二路视频编码分别是主、辅流视频编码时,步骤S43中在以所述第二运动矢量对应的第二整像素匹配点为起始点进行半像素搜索时,可以是搜索该第二整像素匹配点周围的8个半像素点;而当所述第一、二路视频编码分别是辅、主流视频编码时,步骤S43中在以所述第二运动矢量对应的第二整像素匹配点为起始点进行半像素搜索时,可以扩大搜索范围至该第二整像素匹配点周围的16个半像素点,以获得更加精确的搜索结果。
[0101] 在步骤S44中,可以利用所述第二1/4像素运动矢量,对所述当前宏块进行第二路视频编码,具体是:根据所述第二1/4像素运动矢量对应的第二1/4像素匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。
[0102] 当然,可以根据实际应用环境的需要,在对图像质量要求不高的情况下,在步骤S44中,也可以利用所述第二半像素运动矢量,对所述当前宏块进行第二路视频编码;在对图像质量要求高的情况下,还可以进一步进行精度更高的搜索,如1/8像素搜索,然后利用搜索得到的运动矢量信息进行视频编码。当然,在满足第二路视频编码质量要求的前提下,上述步骤S43和步骤S44中可以不必对当前宏块作进一步的细搜索,而是直接利用第二运动矢量对当前宏块进行第二路视频编码,获得第二路视频码流,即:根据所述第二运动矢量对应的匹配点,确定第二路视频编码的参考图像中与当前宏块相匹配的第二匹配块,并对当前宏块与所述第二匹配块相减得到的差值块进行变换、量化和熵编码,得到第二路视频码流。这样,可以进一步节约第二路视频编码所需的处理器资源。
[0103] 综上所述,本发明实施例所述视频编码方法及视频编码装置,通过在两路或多路视频编码的过程中,利用主辅流编码的相关性,复用运动搜索得到的运动矢量信息,从而可以降低运动搜索的计算量,节约处理器计算资源,提高处理器的资源利用率。
[0104] 本发明所述的视频编码方法及视频编码装置,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
法律信息
- 2012-05-02
专利权的转移
登记生效日: 2012.03.26
专利权人由杭州华三通信技术有限公司变更为浙江宇视科技有限公司
地址由310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更为310053 浙江省杭州市滨江区东信大道66号C厂房二、三层A区
- 2010-06-16
- 2008-12-10
- 2008-09-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
1996-12-04
|
1996-03-15
| | |
2
| |
1999-10-06
|
1998-06-26
| | |
3
| | 暂无 |
2003-12-24
| | |
4
| |
2005-06-29
|
2005-01-14
| | |
5
| |
1998-05-20
|
1997-10-06
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |