CN101674474A - 一种编码方法、装置及系统 - Google Patents
一种编码方法、装置及系统 Download PDFInfo
- Publication number
- CN101674474A CN101674474A CN 200810216098 CN200810216098A CN101674474A CN 101674474 A CN101674474 A CN 101674474A CN 200810216098 CN200810216098 CN 200810216098 CN 200810216098 A CN200810216098 A CN 200810216098A CN 101674474 A CN101674474 A CN 101674474A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- motion vector
- directional information
- described 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施方式公开了一种编码方法,包括:在编码过程中,根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧;当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。本发明实施方式还提供一种装置和系统,可在保证图像的连续性的情况下,提高视频序列的编码质量。
Description
技术领域
本发明实施例涉及移动通信技术领域,特别是涉及一种编码方法、装置及系统。
背景技术
在视频传输过程中,由于传输带宽的限制,编码后的视频空间质量不能满足客户的需求,为了提高编码后序列的空间质量,通常,在视频编码过程中通过采用自适应帧率技术,可以使得在有限的带宽条件下及不影响序列的主观视觉连续性的基础上,对部分图像不编码,从而可以有效的提高编码的视频图像的质量。
现有技术中的自适应帧率技术是利用buffer的充满度来决定是否要跳过该视频帧,即不编码该视频帧,在编码当中,如果检测到编码buffer的充满度超出某个阈值,那么不编码该视频帧,而编码下一视频帧,以避免编码buffer的上溢。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺点:
该现有技术方案单从避免buffer的上溢来考虑是否需要跳过视频帧,而没有考虑视频帧被丢弃后,对整个序列时间连续性及编码质量的影响,从而从感观上造成图像的连续性很差。
发明内容
本发明实施例目的在于提供一种编码方法、装置及系统,可以提高视频序列的编码质量,也可以保证图像的连续性。
根据本发明实施例的一方面,提供一种编码方法,包括:
在编码过程中,根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧;
当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。
根据本发明实施例的另一方面,提供一种编码装置,包括:
判断模块,用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧;
编码模块,用于当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。
根据本发明实施例的另一方面,提供一种编码系统,包括:
编码装置,用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧,并当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧;
发送装置,用于发送编码后的相邻视频帧。
采用上述提供的编码方法、装置及系统,根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧,从而可在保证图像的连续性的情况下,提高视频序列的编码质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的编码系统的结构图;
图2为本发明实施例一和实施例二的编码装置的第一种应用结构图;
图3为本发明实施例一和实施例二的方向信息处理模块的结构图;
图4为本发明实施例一的方向信息的平面图;
图5为本发明实施例一和实施例二的编码装置的第二种应用结构图;
图6为本发明实施例一和实施例二的编码装置的第三种应用结构图;
图7为本发明实施例三的编码装置的第一种应用结构图;
图8为本发明实施例三的幅值处理模块的结构图;
图9为本发明实施例三的编码装置的第二种应用结构图;
图10为本发明实施例三的编码装置的第三种应用结构图;
图11为本发明实施例一的编码方法的第一种应用情况的流程图;
图12为本发明实施例一的编码方法的第二种应用情况的流程图;
图13为本发明实施例一的编码方法的第三种应用情况的流程图;
图14-图17为针对视频测试序列的比较图;
图18为本发明实施例二的编码方法的第一种应用情况的流程图;
图19为本发明实施例二的编码方法的第二种应用情况的流程图;
图20为本发明实施例二的编码方法的第三种应用情况的流程图;
图21为本发明实施例三的编码方法的第一种应用情况的流程图;
图22为本发明实施例三的编码方法的第二种应用情况的流程图;
图23为本发明实施例三的编码方法的第三种应用情况的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的编码系统10的结构图。在本实施例中,编码系统10分别与存储装置40和服务器50通信连接,编码系统10用于将编码后的视频码流发送至存储装置40进行存储或发送至服务器50进行传输。编码系统10包括编码装置20及发送装置30。编码装置20用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧,并当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。经由发送装置30发送至存储装置40或服务器50。同时,编码装置20进一步用于根据视频帧的运动矢量的方向信息及所述视频帧的运动矢量的幅值判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。在本实施例中,该视频帧的邻近视频帧可以为该视频帧的前后1-6个连续视频帧,在其它实施例中,可以根据需要增加该邻近视频帧的数量,即可以超过6个连续视频帧。
图2为本发明实施例一和实施例二的编码装置20的第一种应用结构图。在本实施例一中,编码装置20包括获取模块200、存储模块210、方向信息处理模块220、判断模块230及编码模块240。
获取模块200用于获取视频序列,并存储于存储模块210。
在本实施例一中,方向信息处理模块220还包括方向信息获取子模块2200及方向信息预测子模块2210,如图3所示。在本实施例中,方向信息获取子模块2200用于从存储模块210获取视频序列中视频帧的运动矢量的方向信息,并将所获取的视频帧的运动矢量的方向信息存储于方向信息预测子模块2210。将该视频帧所包括的像素或图像区域的运动矢量的方向信息映射于平面图,以0至2Л将平面图划分为n个方向信息区域,即每一个区域可表示像素或图像区域的运动矢量的方向信息,其中n为自然数,为使描述简单,取n的值为8,如图4所示,图4中有8个区域,n也可为其它数值。方向信息获取子模块2200统计映射于平面图中每个区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比,并根据每个区域的运动矢量的数量的大小或该区域运动矢量占总的运动矢量个数的百分比的大小对区域进行排序,及从排序后的区域中选出最前面的m个方向信息区域作为该视频帧的运动矢量的方向信息,0<m<n。在其它实施例中,也可采用直方图的方法来获取该视频帧的运动矢量的方向信息,或采用其它方式来获取该视频帧的运动矢量的方向信息。
方向信息预测子模块2210用于存储所获取的视频帧的运动矢量的方向信息,并根据存储的非当前视频帧的运动矢量的方向信息预测该视频帧的运动矢量的方向信息。
在本实施例一中,方向信息预测子模块2210可将当前视频帧的前一帧或后一帧的运动矢量的方向信息预测为当前视频帧的运动矢量的方向信息,也可根据K个视频帧的运动矢量的方向信息的变化值或平均变化值来预测当前视频帧相对于该当前视频帧的前一帧或后一帧的方向信息的变化值,从而预测该当前视频帧的运动矢量的方向信息,其中K大于1,其中K个视频帧的运动矢量的方向信息不包括获取的当前视频帧的运动矢量的方向信息,其中K个视频帧为当前视频帧有前K个或后K个视频帧。
判断模块230用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。判断模块230进一步用于比较所述视频帧的运动矢量的方向信息与预设信息,并根据比较结果判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。在本实施例中,预设信息包括预测的视频帧的运动矢量的方向信息和门限值。当预设信息为预测的视频帧的运动矢量的方向信息时,判断模块230进一步用于比较该视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息,并当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同时,判断需要跳过所述视频帧或跳过所述视频帧的邻近视频帧。在本实施例一中,判断模块230进一步用于判断方向信息获取子模块2200获取的该视频帧的运动矢量的方向信息对应的m个方向信息区域与方向信息预测子模块2210预测的该视频帧的运动矢量的方向信息对应的m’个方向信息区域是否有不相同的方向信息区域。
若判断模块230判断没有不相同的方向信息区域时,则认为该视频帧的运动矢量方向信息与预测的该视频帧的运动矢量的方向信息相同。
若判断模块230判断有不相同的方向信息区域时,判断不相同的区域中的该视频帧相对于预测的该视频帧是否存在相邻的方向信息区域。若判断模块230判断存在相邻的方向信息区域,则认为该视频帧的运动矢量方向信息与预测的该视频帧的运动矢量的方向信息相同。若判断模块230判断不存在相邻的方向信息区域,则认为该视频帧的运动矢量方向信息与预测的该视频帧的运动矢量的方向信息不相同。
在本实施例二中,方向信息处理模块220还包括方向信息矢量距离计算模块2220,用于统计视频帧映射于平面图中每个区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比,并构建成一个该视频帧的矢量集合Vk=(v1,v2,…vn),其中vi,i=1,2,…,n是第i个方向区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比。在本实施例中,方向信息矢量距离计算模块2220根据矢量集合VK计算当前视频帧相对于该视频帧的相邻视频帧的方向信息的矢量距离Dk。在本实施例中,可以根据公式Dk=F(Vk,Vk-1)来计算,其中,函数在其它实施例中,也可采用其它公式,其目的只需要得到方向信息的矢量距离Dk。
判断模块230还用于判断该方向信息的矢量距离Dk是否大于门限值,若判断大于该门限值,则需要跳过当前视频帧或跳过当前视频帧的邻近视频帧。若判断小于该门限值,即相当于该视频帧的运动矢量方向信息相对于该视频帧的相邻视频帧的运动矢量方向信息没有发生变化,则不需要跳过当前视频帧或当前视频帧的邻近视频帧。在本实施例中,门限值可以为0.33,也可以根据图像的质量对门限值进行调整。
在本实施例一和实施例二中,若判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同或判断该方向信息的矢量距离Dk大于门限值,则通知编码模块240跳过该视频帧或跳过该视频帧的邻近视频帧,即对这些帧不读取及不编码。若判断模块230若判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同或判断该方向信息的矢量距离Dk不大于门限值,则通知编码模块240编码该视频帧。编码模块240从存储模块210读取该视频帧以进行编码;或者,编码模块240先读取存储模块210中的存储的视频帧序列,在编码视频帧时,根据该视频帧的判断结果选择是否编码。当编码模块240接收到判断模块230的跳过当前的视频帧或当前的视频帧的邻近视频帧的通知时,跳过该视频帧或该视频帧的邻近视频帧,对跳过的该视频帧或该视频帧的邻近视频帧不编码,并当跳过该视频帧时,编码该视频帧的相邻视频帧,或当跳过该视频帧的邻近视频帧时,编码该视频帧的邻近视频帧的相邻视频帧。在本实施例中,该视频帧的邻近视频帧可以为该视频帧的前后1-6个连续视频帧,在其它实施例中,可以根据需要增加该邻近视频帧的数量,即可以超过6个连续视频帧。当编码模块240接收到判断模块230的编码当前的视频帧的通知时,编码该视频帧,并等待邻近视频帧的判断结果。
在本实施例一和实施例二中提供的编码装置20,当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同或判断该方向信息的矢量距离Dk大于门限值,则跳过该视频帧或该视频帧的邻近视频帧,不对该视频帧或该视频帧的邻近视频帧编码,当判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同或判断该方向信息的矢量距离Dk不大于门限值时,对该视频帧进行编码,即不跳过该视频帧或该视频帧的邻近视频帧,从而可在保证图像的连续性的情况下,提高视频序列的编码质量。
图5为本发明实施例一和实施例二的编码装置20的第二种应用结构图。在本实施例中,编码装置20还包括序列读取模块250。在本实施例中,判断模块230用于当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同或判断该方向信息的矢量距离Dk不大于门限值时,通知序列读取模块250从存储模块210读取该视频帧。序列读取模块250用于当接收判断模块230的读取该视频帧的通知时,从存储模块210读取该视频帧,并发送至编码模块240以编码该视频帧。
判断模块230还用于当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同或判断该方向信息的矢量距离Dk大于门限值时,通知序列读取模块250从存储模块210不读取该视频帧或该视频帧的邻近视频帧,并当不读取该视频帧时,将读取该视频帧的相邻帧发送至编码模块240以编码读取的视频帧,或当不读取该视频帧的邻近视频帧时,将读取该视频帧的邻近视频帧的相邻视频帧发送至编码模块240以编码读取的视频帧。
图6为本发明实施例一和实施例二的编码装置20的第三种应用结构图。在本实施例中,编码装置20还包括序列标记模块260。在本实施例中,序列标记模块260用于对从存储模块210读取的视频帧进行标记。序列标记模块260还用于当判断模块230判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同或判断该方向信息的矢量距离Dk不大于门限值时,标记该视频帧为需编码的视频帧,并当判断模块230判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同或判断该方向信息的矢量距离Dk大于门限值时,标记该视频帧或该视频帧的邻近视频帧为不需编码的视频帧,并当标记该视频帧为不需要编码的视频帧时,标记该视频帧的相邻视频帧为需要编码的视频帧,或当标记该视频帧的邻近视频帧为不需要编码的视频帧时,标记该视频帧的邻近视频帧的相邻视频帧为需要编码的视频帧,即该视频帧或该视频帧的邻近视频帧为跳帧。
编码模块240用于先从存储模块210读取所有的视频帧,再根据每个视频帧的标记对视频帧进行操作。或者,编码模块240接收序列标记模块260发送的已标记为需要编码的视频帧,从而对该视频帧进行编码。
图7为本发明实施例三的编码装置20的第一种应用结构图。在本实施例三中,编码装置20包括实施例一中的所有模块,还包括幅值处理模块270。幅值处理模块270包括幅值获取子模块2700及幅值预测子模块2710,如图8所示。
幅值获取子模块2700用于获取视频帧的运动矢量的幅值。
幅值预测子模块2710用于预测幅值获取子模块2700所获取的该视频帧的运动矢量的幅值。在本实施例中,幅值预测模块270通过将该视频帧的前一帧或后一帧的运动矢量的幅值预测为该视频帧的运动矢量的幅值;或通过将存储的该视频帧的前L个或后L个已连续编码的视频帧的运动矢量的幅值的平均值预测为该视频帧的运动矢量的幅值。
判断模块230进一步用于当判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同时,判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值是否大于预设值。在本实施例三中,当判断模块230判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值大于预设值时或判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同时,通知编码模块240跳过该视频帧或该视频帧的邻近视频帧,并当跳过该视频帧时,编码该视频帧的相邻视频帧,或当跳过该视频帧的邻近视频帧时,编码该视频帧的邻近视频帧的相邻视频帧,及通知幅值获取子模块2700通过获取该视频帧或该视频帧的邻近视频帧的相邻视频帧的运动矢量的幅值,及通知幅值预测子模块2710将该视频帧或该视频帧的邻近视频帧的相邻视频帧的运动矢量的幅值预测为该相邻视频帧的相邻视频帧的运动矢量的幅值。在本实施例中,这个预设值可以为8,当然,也可以为其它值,其值可以根据图像的质量而定。
判断模块230进一步用于当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的预测幅值的差值不大于预设值时,通知编码模块240编码该视频帧,并通知幅值获取预测子模块2700通过将所述该所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值求平均值预测为视频帧的相邻视频帧的运动矢量的幅值,或将所述该视频帧的运动矢量的幅值预测为视频帧的相邻视频帧的运动矢量的幅值。或者,编码模块240先读取存储模块210中的存储的视频帧序列,在编码视频帧时,根据该视频帧的判断结果选择是否编码。当编码模块240接收到判断模块230的跳过当前的视频帧或跳过当前的视频帧的邻近视频帧的通知时,跳过该视频帧或跳过当前的视频帧的邻近视频帧,并当跳过该视频帧时,编码该视频帧的相邻视频帧,或当跳过该视频帧的邻近视频帧时,编码该视频帧的邻近视频帧的相邻视频帧。当编码模块240接收到判断模块230的编码当前的视频帧的通知时,编码该视频帧,并等待相邻视频帧的判断结果。
本实施例三提供的编码装置20,当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同时,进一步判断视频帧的运动矢量的幅值与视频帧的运动矢量的预测幅值的差值是否大于预设值,当判断幅值差值大于预设值时,跳过该视频帧或跳过该视频帧的邻近视频帧,对跳过的该视频帧或跳过的该视频帧的邻近视频帧不编码,当判断幅值差值不大于预设值时,对该视频帧进行编码,即不跳过该视频帧或该视频帧的邻近视频帧,也可在保证图像的连续性的情况下,更好的提高视频序列的编码质量。实施例二与实施例一不同的是,实施例三会在实施例一的基础上增加跳帧的次数,从而使得编码视频序列的连续性没有实施例一的编码视频序列的连续性好,但相对于现有技术而言,实施例三的视频序列的编码质量要高于现有技术的编码序列的质量,并且可保证图像的连续性。
图9为本发明实施例三的编码装置20的第二种应用结构图。在本实施例中,编码装置20还包括序列读取模块250。在本实施例中,判断模块230用于当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的预测幅值的差值不大于预设值时,通知序列读取模块250从存储模块210读取该视频帧。序列读取模块250用于当接收判断模块230的读取该视频帧的通知时,从存储模块210读取该视频帧,并发送至编码模块240以编码该视频帧。
判断模块230还用于当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的预测幅值的差值大于预设值时,通知序列读取模块250从存储模块210不读取该视频帧或该视频帧的邻近视频帧,并当不读取该视频帧时,将读取该视频帧的相邻帧发送至编码模块240以编码读取的视频帧,或当不读取该视频帧的邻近视频帧时,将读取该视频帧的邻近视频帧的相邻视频帧发送至编码模块240以编码读取的视频帧。
图10为本发明实施例三的编码装置20的第三种应用结构图。在本实施例中,编码装置20还包括序列标记模块260。在本实施例中,序列标记模块260用于对从存储模块210读取的视频帧进行标记。序列标记模块260还用于当判断模块230判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的预测幅值的差值不大于预设值时,标记该视频帧为需编码的视频帧,并当判断模块230判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的预测幅值的差值大于预设值时,标记该视频帧或该视频帧的邻近视频帧为不需编码的视频帧,并当标记该视频帧为不需要编码的视频帧时,标记该视频帧的相邻视频帧为需要编码的视频帧,或当标记该视频帧的邻近视频帧为不需要编码的视频帧时,标记该视频帧的邻近视频帧的相邻视频帧为需要编码的视频帧,即该视频帧或该视频帧的邻近视频帧为跳帧。
编码模块240用于先从存储模块210读取所有的视频帧,再根据每个视频帧的标记对视频帧进行操作,即若第K个视频帧为被标记为需编码的视频帧,编码模块240编码该视频帧,若第K个视频帧为被标记不需编码的视频帧,编码模块240不对该视频帧进行编码。或者,编码模块240接收序列标记模块260发送的已标记为需要编码的视频帧,从而对该视频帧进行编码。
图11为本发明实施例一的编码方法的第一种应用情况的流程图。
步骤S300,获取视频序列,并存储该视频序列。
步骤S302,获取视频序列中视频帧的运动矢量的方向信息。在本实施例一中,步骤S302还可包括以下步骤:
步骤A、将视频帧所包括的像素或图像区域的运动矢量的方向信息映射于平面图,以0至2Л将平面图划分为n个方向信息区域,即每一个方向信息区域可表示像素或图像区域的运动矢量的方向信息,为使描述简单,取n的值为8,如图3所示,n也可为其它数值;
步骤B、统计映射于平面图中每个方向信息区域的运动矢量的数量或该方向信息区域运动矢量占总的运动矢量个数的百分比;
步骤C、根据每个方向信息区域的运动矢量的数量的大小或该方向信息区域运动矢量占总的运动矢量个数的百分比的大小对方向信息区域进行排序,及从排序后的方向信息区域中选出最前面的m个方向信息区域作为视频帧的运动矢量的方向信息。
在其它实施例中,也可采用直方图的方法来获取视频帧的运动矢量的方向信息,或采用其它方式来获取视频帧的运动矢量的方向信息。
步骤S304,存储获取的视频帧的运动矢量的方向信息,并根据存储的非当前视频帧的运动矢量的方向信息预测当前帧视频帧的运动矢量的方向信息。在本实施例一中,将该视频帧的前一帧或后一帧的运动矢量的方向信息预测为视频帧的运动矢量的方向信息,也可根据K个视频帧的运动矢量的方向信息的变化值或平均变化值来预测当前视频帧相对于该当前视频帧的前一帧或后一帧的方向信息的变化值,从而预测该当前视频帧的运动矢量的方向信息,其中K大于1,其中K个视频帧中的运动矢量的方向信息不包括获取的当前视频帧的运动矢量的方向信息。
当执行完步骤S302及步骤S304后,执行步骤S306。
步骤S306,比较该视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息。在本实施例一中,步骤S306还包括以下步骤:
步骤AA、判断该视频帧的运动矢量的方向信息对应的m个方向信息区域与预测的该视频帧的运动矢量的方向信息对应的m’个方向信息区域是否有不相同的方向信息区域;若判断没有不相同的方向信息区域时,则执行步骤BB;若判断有不相同的方向信息区域时,则执行步骤CC;
步骤BB、判断该视频帧的运动矢量方向信息与预测的该视频帧的运动矢量的方向信息相同;
步骤CC、判断不相同的方向信息区域中该视频帧的运动矢量的方向信息相对于预测的该视频帧的运动矢量的方向信息是否存在相邻的方向信息区域;若判断不存在相邻的方向信息区域,则执行步骤DD;若判断存在相邻的方向信息区域,则执行步骤BB;
步骤DD、判断该视频帧的运动矢量方向信息与预测的该视频帧的运动矢量的方向信息不相同;
在执行步骤S306时,若判断相同,则执行步骤S308;若判断不相同,则执行步骤S310。
步骤S308、编码该视频帧,并执行步骤S312,发送编码后的该视频帧,及返回步骤S302,对相邻视频帧进行操作;
步骤S310、跳过视频帧或该视频帧的邻近视频帧,并当跳过该视频帧时,编码该视频帧的相邻视频帧,或当跳过该视频帧的邻近视频帧时,编码该视频帧的邻近视频帧的相邻视频帧,并执行步骤S312,发送编码后的视频帧,及返回步骤S302。
图12为本发明实施例一的编码方法的第二种应用情况的流程图。在实施例中,图12中的步骤S400至步骤S406与图11中的步骤S300至步骤S306相同。
当视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息相同时,执行步骤S408,读取该视频帧。当视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息不相同时,执行步骤S414,跳过当前视频帧或跳过当前视频帧的邻近视频帧,并当跳过当前视频帧时,读取当前视频帧的相邻视频帧,或当跳过当前视频帧的邻近视频帧时,读取当前视频帧的邻近视频帧的相邻视频帧,同时,返回步骤S402。
当执行完步骤S408及步骤S414后,执行步骤S410,编码所读取的该视频帧。
步骤S412,输出编码后的该视频帧。
图13为本发明实施例一的编码方法的第三种应用情况的流程图。在实施例中,图13中的步骤S500至步骤S506与图11中的步骤S300至步骤S306相同。
当视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息相同时,执行步骤S508,标记该视频帧为需要编码的视频帧。当视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息不相同时,执行步骤S514,跳过当前视频帧或跳过当前视频帧的邻近视频帧,并标记跳过的当前视频帧或跳过的当前视频帧的邻近视频帧为不编码的视频帧,及当标记当前视频帧为不需要编码的视频帧时,标记当前视频帧的相邻视频帧为需要编码的视频帧,或当标记当前视频帧的邻近视频帧为不需要编码的视频帧时,标记当前视频帧的邻近视频帧的相邻视频帧为需要编码的视频帧,同时,返回步骤S502。
当执行完步骤S508或步骤S514后,执行步骤S510,编码标记为需要编码的视频帧,从而使得不会编码标记为不需要编码的视频帧,即只对标记为需要编码的视频帧进行编码,对标记为不需要编码的视频帧进行不编码,相当于跳过了某些视频帧。
步骤S512,输出编码后的视频帧。
在本实施例一中提供的编码方法,当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同时,跳过视频帧或跳过视频帧的邻近视频帧,即不对跳过的视频帧或跳过的视频帧的邻近视频帧编码,并当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧,当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同时,对该视频帧进行编码,即不跳过视频帧或该视频帧的邻近视频帧,从而可在保证图像的连续性的情况下,提高视频序列的编码质量。
举例来说,图14-图17为针对视频测试序列的比较图,其中,noskip表示未跳帧,skip表示跳帧后。在本实施例一中,视频测试序列为帧率为15fps,分辨率为qcif的football序列、foreman序列、mobile序列及news序列,这个四个序列为本领域内技术人员所熟悉的视频测试序列。下表为目标码率为80kbps时未跳帧和跳帧后编码序列的平均峰值信噪比(Peak Signal to Noise Ratio,PSNR):
从上表和图14-图17可以看出,跳帧后编码的PSNR比未跳帧时编码的PSNR要高,即采用本发明提供的实施例一可以在保证图像的连续性的情况下,提高视频序列的编码质量。
图18为本发明实施例二的编码方法的第一种应用情况的流程图。
在本实施例二中,步骤S600、获取视频序列,并存储该视频序列。
步骤S602、统计视频帧映射于平面图中每个区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比,并构建成一个该视频帧的矢量集合Vk=(v1,v2,…vn),其中vi,i=1,2,…,n是第i个方向区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比。
步骤S604、根据矢量集合VK计算当前视频帧相对于该视频帧的相邻视频帧的方向信息的矢量距离Dk。在本实施例中,可以根据公式Dk=F(Vk,Vk-1)来计算,其中,函数在其它实施例中,也可采用其它公式,其目的只需要得到方向信息的矢量距离Dk。
步骤S606、判断该方向信息的矢量距离Dk是否大于门限值。若大于门限值,则执行步骤S610。若不大于门限值,则执行步骤S608。
步骤S608、编码该视频帧,并执行步骤S612与返回步骤S602。
步骤S610、跳过当前视频帧或跳过当前视频帧的邻近视频帧,当跳过当前视频帧时,编码当前视频帧的相邻视频帧,或当跳过当前视频帧的邻近视频帧时,编码当前视频帧的邻近视频帧的相邻视频帧,并执行步骤S612与返回步骤S602。
步骤S612、输出编码后的视频帧。
图19为本发明实施例二的编码方法的第二种应用情况的流程图。在本实施例中,步骤S700至步骤S706与图18中的步骤S600至步骤S606相同。
在步骤S706中,当判断该方向信息的矢量距离Dk大于门限值时,执行步骤S708。当判断该方向信息的矢量距离Dk不大于门限值时,执行步骤S710。
步骤S708、跳过当前视频帧或跳过当前视频帧的邻近视频帧,即不读取当前视频帧或当前视频帧的邻近视频帧,当跳过当前视频帧时,读取当前视频帧的相邻帧,或当跳过当前视频帧的邻近视频帧时,读取当前视频帧的邻近视频帧的相邻视频帧,并返回步骤S702。
步骤S710、读取当前视频帧。
步骤S712、编码所读取的当前视频帧。
步骤S714、输出编码后的视频帧。
图20为本发明实施例二的编码方法的第三种应用情况的流程图。在本实施例中,步骤S800至步骤S806与图18中的步骤S600至步骤S606相同。
在步骤S806中,当判断该方向信息的矢量距离Dk大于门限值时,执行步骤S808。当判断该方向信息的矢量距离Dk不大于门限值时,执行步骤S810。
步骤S808、跳过当前视频帧或跳过当前视频帧的邻近视频帧,并标记跳过的当前视频帧或跳过的当前视频帧的邻近视频帧为不编码的视频帧,及当标记当前视频帧为不需要编码的视频帧时,标记当前视频帧的相邻视频帧为需要编码的视频帧,或当标记当前视频帧的邻近视频帧为不需要编码的视频帧时,标记当前视频帧的邻近视频帧的相邻视频帧为需要编码的视频帧。
步骤S810、标记当前视频帧为需要编码的视频帧。
步骤S812、编码标记为需要编码的视频帧。
步骤S814、输出编码后的视频帧。
本实施例二提供的编码方法,通过判断该方向信息的矢量距离Dk大于门限值时时,跳过当前视频帧或跳过当前视频帧的邻近视频帧,即对跳过的当前视频帧或跳过的当前视频帧的邻近视频帧不编码,当判断该方向信息的矢量距离Dk不大于门限值时,对该视频帧进行编码,即不跳过视频帧,也可在保证图像的连续性的情况下,更好的提高编码视频序列的质量。虽然实施例二与实施例一相比,其编码视频序列的连续性没有实施例一的编码视频序列的连续性好,但相对于现有技术而言,实施例二的视频序列的编码质量要高于现有技术的视频序列的编码质量,并且可保证图像的连续性。
图21为本发明实施例三的编码方法的第一种应用情况的流程图。
在本实施例三中,步骤S900与图11中的步骤S300相同;
步骤S902、获取视频序列中视频帧的运动矢量的方向信息、幅值;
步骤S904、存储该视频帧的运动矢量的方向信息和幅值,并预测该视频帧的方向信息,及预测该视频帧的运动矢量的幅值;在本实施例中,将该视频帧的前一帧或后一帧的运动矢量的幅值预测为该视频帧的运动矢量的幅值;或通过将存储的该视频帧的前L个或后L个已连续编码的视频帧的运动矢量的幅值的平均值预测为该视频帧的运动矢量的幅值。
步骤S906与步骤S306相同;
步骤S908,在执行步骤S904中,当判断方向信息相同时,判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值是否大于预设值;当判断差值大于预设值时,执行步骤S910,当判断差值不大于预设值时,执行步骤S914。
步骤S910,当步骤S906中判断相同或步骤S908中判断大于预设值时,跳过当前视频帧或跳过当前视频帧的邻近视频帧,当跳过当前视频帧时,编码当前视频帧的相邻视频帧,或当跳过当前视频帧的邻近视频帧时,编码当前视频帧的邻近视频帧的相邻视频帧,并返回步骤S902对该编码后的相邻视频帧的相邻视频帧进行操作,同时,执行步骤S912,发送编码后的视频帧。在本实施例中,相邻视频帧为该视频帧的下一视频帧。此时,在对编码后的相邻视频帧的相邻视频帧的步骤S902至步骤S904的操作过程中,在执行步骤S904中时,将获取的视频帧的下一视频帧的运动矢量的幅值预测为下一视频帧的下一视频帧的运动矢量的幅值。
步骤S916,编码该视频帧,并执行步骤S912,发送编码后的视频帧,及返回步骤S902,对相邻视频帧进行操作。此时,在对编码后的相邻视频帧的相邻视频帧的步骤S902至步骤S904的操作过程中,在执行步骤S904中时,将所述获取的所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值求平均值预测为视频帧的相邻视频帧的运动矢量的幅值,或将所述获取的视频帧的运动矢量的幅值预测为视频帧的相邻视频帧的运动矢量的幅值。
图22为本发明实施例二的编码方法的第二种应用情况的流程图。在本实施例中,图22中的步骤S1000至步骤S1008与图21中的步骤S900于步骤S908相同。
在步骤S1008中,当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值不大于预设值时,执行步骤S1010,读取该视频帧,并返回步骤S1002。
在步骤S1006中,当该视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息不相同,或在步骤S1008中,当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值大于预设值时,执行步骤S1016,跳过当前视频帧或跳过当前视频帧的邻近视频帧,即不读取跳过当前视频帧或跳过当前视频帧的邻近视频帧,而当跳过当前视频帧时,将读取当前视频帧的相邻帧,或当跳过当前视频帧的邻近视频帧时,读取当前视频帧的邻近视频帧的相邻视频帧,并返回步骤S1002。在本实施例中,相邻视频帧为该视频帧或该视频帧的邻近视频帧的下一视频帧。
当执行完步骤S1016或步骤S1010后,执行步骤S1012,编码所读取的视频帧。
步骤S1014,输出编码后的视频帧。
图23为本发明实施例二的编码方法的第三种应用情况的流程图。在本实施例中,图23中的步骤S1100至步骤S1108与图21中的步骤S900于步骤S908相同。
在步骤S1108中,当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值不大于预设值时,执行步骤S1110,标记该视频帧为需要编码的视频帧,并返回步骤S1102。
在步骤S1106中,当该视频帧的运动矢量的方向信息与预测的该视频帧的运动矢量的方向信息不相同,或在步骤S1108中,当判断该视频帧的运动矢量的幅值与预测的该视频帧的运动矢量的幅值的差值大于预设值时,执行步骤S1118,跳过当前视频帧或跳过当前视频帧的邻近视频帧,并标记跳过的当前视频帧或跳过的当前视频帧的邻近视频帧为不编码的视频帧,及当标记当前视频帧为不需要编码的视频帧时,标记当前视频帧的相邻视频帧为需要编码的视频帧,或当标记当前视频帧的邻近视频帧为不需要编码的视频帧时,标记当前视频帧的邻近视频帧的相邻视频帧为需要编码的视频帧,并返回步骤S1102。
当执行完步骤S1116或步骤S1110后,执行步骤S1112。
步骤S1112,编码标记为需要编码的视频帧,从而使得不会编码标记为不需要编码的视频帧,即只对标记为需要编码的视频帧进行编码,对标记为不需要编码的视频帧进行不编码,相当于跳过了某些视频帧。
步骤S1114,输出编码后的视频帧。
本实施例三提供的编码方法,当视频帧的运动方向信息与其预测方向信息相同时,进一步判断视频帧的运动矢量的幅值与视频帧的运动矢量的预测幅值的差值是否大于预设值,当判断幅值差值大于预设值时,跳过当前视频帧或跳过当前视频帧的邻近视频帧,不对跳过的当前视频帧或跳过的当前视频帧的邻近视频帧编码,当判断幅值差值不大于预设值时,对该视频帧进行编码,即不跳过视频帧,也可在保证图像的连续性的情况下,更好的提高编码视频序列的质量。实施例三与实施例一不同的是,实施例三会在实施例一的基础上增加跳帧的次数,从而使得编码视频序列的连续性没有实施例一的编码视频序列的连续性好,但相对于现有技术而言,实施例三的视频序列的编码质量要高于现有技术的视频序列的编码质量,并且可保证图像的连续性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (31)
1、一种编码方法,其特征在于,包括:
在编码过程中,根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧;
当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。
2、根据权利要求1所述的编码方法,其特征在于,所述根据视频帧的运动矢量的方向信息判断是否跳过所述视频或跳过所述视频帧的邻近视频帧的步骤包括:
比较所述视频帧的运动矢量的方向信息与预设信息;
根据比较结果判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。
3、根据权利要求2所述的编码方法,其特征在于,所述预设信息为预测的视频帧的运动矢量的方向信息,所述比较所述视频帧的运动矢量的方向信息与预设信息的步骤包括:
比较所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息;
当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同时,则需要跳过所述视频或跳过所述视频帧的邻近视频帧;
当所述视频帧的运动矢量的方向信息相对于所述预测的视频帧的运动矢量的方向信息相同时,则编码所述视频帧。
4、根据权利要求3所述的编码方法,其特征在于,所述比较所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息的步骤之前,包括:
获取所述视频帧的运动矢量的方向信息;
根据存储的非当前所述视频帧的运动矢量的方向信息预测所述视频帧的运动矢量的方向信息。
5、根据权利要求4所述的编码方法,其特征在于,所述根据存储的非当前所述视频帧的运动矢量的方向信息预测所述视频帧的运动矢量的方向信息的步骤包括:
将所述视频帧的前一帧或后一帧的运动矢量的方向信息预测为所述视频帧的运动矢量的方向信息;或
根据K个视频帧的运动矢量的方向信息的变化值或平均变化值来预测所述视频帧相对于所述视频帧的前一帧或后一帧的方向信息的变化值,从而预测所述视频帧的运动矢量的方向信息,其中K大于1,其中所述K个视频帧的运动矢量的方向信息不包括获取的所述视频帧的运动矢量的方向信息,其中所述K个视频帧为所述视频帧的前K个或后K个视频帧。
6、根据权利要求4所述的编码方法,其特征在于,所述获取视频帧的运动矢量的方向信息的步骤包括:
将所述视频帧所包括的像素或图像区域的运动矢量的方向信息映射于平面图,以0至2π将平面图划分为n个方向信息区域,其中,每一个方向信息区域可表示所述视频帧中的像素或图像区域的运动矢量的方向信息,n为自然数;
统计每个方向信息区域的运动矢量的数量或该方向信息区域运动矢量占总的运动矢量个数的百分比;
根据每个方向信息区域的运动矢量的数量的大小或该方向信息区域运动矢量占总的运动矢量个数的百分比的大小对方向信息区域进行排序,及从排序后的方向信息区域中选出最前面的m个方向信息区域,将这m个方向信息区域对应的运动矢量方向信息作为所述视频帧的运动矢量的方向信息,其中,m为自然数,m<n。
7、根据权利要求6所述的编码方法,其特征在于,所述比较所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息的步骤包括:
判断所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息是否有不相同的方向信息区域;
若判断没有不相同的方向信息区域时,则所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同。
8、根据权利要求7所述的编码方法,其特征在于,所述比较所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息的步骤进一步包括:
若判断有不相同的方向信息区域时,判断不相同的方向信息区域中所述视频帧的运动矢量的方向信息相对于所述预测的视频帧的运动矢量的方向信息是否存在相邻的方向信息区域;
若判断不存在相邻的方向信息区域,则所述视频帧的运动矢量方向信息与所述预测的视频帧的运动矢量的方向信息不相同;
若判断存在相邻的方向信息区域,则所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同。
9、根据权利要求2所述的编码方法,其特征在于,所述预设信息为门限值,所述比较所述视频帧的运动矢量的方向信息与预设信息的步骤还包括:
将所述每个方向信息区域的运动矢量的数量或该方向信息区域运动矢量占总的运动矢量个数的百分比构建成所述视频帧的矢量集合Vk=(v1,v2,…vn),其中vi,i=1,2,…,n是第i个方向区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比;
根据矢量集合VK计算所述视频帧相对于所述视频帧的相邻视频帧的方向信息的矢量距离Dk;
判断所述方向信息的矢量距离Dk是否大于门限值;
当所述方向信息的矢量距离Dk大于所述门限值,则跳过所述视频帧或跳过所述视频帧的邻近视频帧;
当所述方向信息的矢量距离Dk不大于所述门限值,则编码所述视频帧。
10、根据权利要求1所述的编码方法,其特征在于,还包括:
根据视频帧的运动矢量的方向信息及所述视频帧的运动矢量的幅值判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。
11、根据权利要求10所述的编码方法,其特征在于,所述根据视频帧的运动矢量的方向信息及所述视频帧的运动矢量的幅值判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧的步骤包括:
当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息相同时,判断所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值的差值是否大于预设值。
12、根据权利要求11所述的编码方法,其特征在于,所述判断所述视频帧的运动矢量的幅值与预测的所述视频帧的运动矢量的幅值的差值是否大于预设值的步骤进一步包括:
若所述视频帧的运动矢量的幅值与预测的所述视频帧的运动矢量的幅值的差值大于预设值,则跳过所述视频帧或跳过所述视频帧的邻近视频帧;
若判断差值不大于预设值时,编码所述视频帧。
13、根据权利要求11所述的编码方法,其特征在于,所述判断所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值的差值是否大于预设值的步骤之前,包括:
获取所述视频帧的运动矢量的幅值;
将所述视频帧的前一帧或后一帧的运动矢量的幅值预测为所述视频帧的运动矢量的幅值;或
将存储的所述视频帧的前L个或后L个已连续编码的视频帧的运动矢量的幅值的平均值预测为所述视频帧的运动矢量的幅值。
14、一种编码装置,其特征在于,包括:
判断模块,用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧;
编码模块,用于当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧。
15、根据权利要求14所述的编码装置,其特征在于,所述判断模块进一步用于比较所述视频帧的运动矢量的方向信息与预设信息,并根据比较结果判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。
16、根据权利要求14所述的编码装置,其特征在于,所述预设信息为预测的视频帧的运动矢量的方向信息,所述判断模块进一步用于比较所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息,并当所述视频帧的运动矢量的方向信息与所述预测的视频帧的运动矢量的方向信息不相同时,判断需要跳过所述视频帧或跳过所述视频帧的邻近视频帧。
17、根据权利要求16所述的编码装置,其特征在于,还包括:
方向信息处理模块,用于获取所述视频帧的运动矢量的方向信息,并存储获取的视频帧的运动矢量的方向信息,并根据存储的非当前所述视频帧的运动矢量的方向信息预测所述视频帧的运动矢量的方向信息。
18、根据权利要求17所述的编码装置,其特征在于,所述方向信息处理模块进一步用于将所述视频帧的前一帧或后一帧的运动矢量的方向信息预测为所述视频帧的运动矢量的方向信息;或根据K个视频帧的运动矢量的方向信息的变化值或平均变化值来预测所述视频帧相对于所述视频帧的前一帧或后一帧的方向信息的变化值,从而预测所述视频帧的运动矢量的方向信息,其中K大于1,其中所述K个视频帧的运动矢量的方向信息不包括获取的所述视频帧的运动矢量的方向信息,其中所述K个视频帧为所述视频帧的前K个或后K个视频帧。
19、根据权利要求17所述的编码装置,其特征在于,所述方向信息处理模块进一步用于将所述视频帧所包括的像素或图像区域的运动矢量的方向信息映射于平面图,以0至2π将平面图划分为n个方向信息区域,其中,每一个方向信息区域可表示所述视频帧中的像素或图像区域的运动矢量的方向信息,并统计每个方向信息区域的运动矢量的数量或所述区域运动矢量占总的运动矢量个数的百分比,根据每个方向信息区域的运动矢量的数量的大小或所述区域运动矢量占总的运动矢量个数的百分比的大小对方向信息区域进行排序,及从排序后的方向信息区域中选出最前面的m个方向信息区域,将这m个方向信息区域对应的运动矢量方向信息作为所述视频帧的运动矢量的方向信息,其中,n、m皆为自然数,m<n。
20、根据权利要求19所述的编码装置,其特征在于,所述判断模块进一步用于判断所述视频帧的运动矢量的方向信息与预测的所述视频帧的运动矢量的方向信息是否有不相同的方向信息区域,并当没有不相同的方向信息区域时,判断所述视频帧的运动矢量的方向信息与预测的所述视频帧的运动矢量的方向信息相同。
21、根据权利要求20所述的编码装置,其特征在于,所述判断模块进一步用于当有不相同的方向信息区域时,判断不相同的方向信息区域中所述视频帧的运动矢量的方向信息相对于预测的所述视频帧的运动矢量的方向信息是否存在相邻的方向信息区域。
22、根据权利要求21所述的编码装置,其特征在于,所述判断模块进一步用于当不存在相邻的方向信息区域时,判断所述视频帧的运动矢量方向信息与预测的所述视频帧的运动矢量的方向信息不相同,并当存在相邻的方向信息区域时,判断所述视频帧的运动矢量的方向信息相对于预测的所述视频帧的运动矢量的方向信息相同。
23、根据权利要求19所述的编码装置,其特征在于,所述方向信息处理模块进一步用于将所述每个方向信息区域的运动矢量的数量或该方向信息区域运动矢量占总的运动矢量个数的百分比构建成所述视频帧的矢量集合Vk=(v1,v2,…vn),其中vi,i=1,2,…,n是第i个方向区域的运动矢量的数量或该区域运动矢量占总的运动矢量个数的百分比,及根据矢量集合VK计算所述视频帧相对于所述视频帧的相邻视频帧的方向信息的矢量距离Dk。
24、根据权利要求23所述的编码装置,其特征在于,所述预设信息为门限值,所述判断模块进一步用于判断所述方向信息的矢量距离Dk是否大于门限值,并当所述方向信息的矢量距离Dk大于所述门限值,跳过所述视频帧或跳过所述视频帧的邻近视频帧。
25、根据权利要求24所述的编码装置,其特征在于,所述编码模块进一步用于当所述视频帧的运动矢量的方向信息与预测的所述视频帧的运动矢量的方向信息相同,或当所述方向信息的矢量距离Dk不大于所述门限值时,编码所述视频帧。
26、根据权利要求14所述的编码装置,其特征在于,所述判断模块进一步用于根据视频帧的运动矢量的方向信息及所述视频帧的运动矢量的幅值判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。
27、根据权利要求26所述的编码装置,其特征在于,所述判断模块进一步用于当所述视频帧的运动矢量的方向信息相对于预测的所述视频帧的运动矢量的方向信息相同时,判断所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值的差值是否大于预设值,及当所述视频帧的运动矢量的幅值与所述预测的视频帧的运动矢量的幅值的差值大于预设值时,判断需要跳过所述视频帧或跳过所述视频帧的邻近视频帧。
28、根据权利要求27所述的编码装置,其特征在于,还包括:
幅值处理模块,用于获取所述视频帧的运动矢量的幅值,将所述视频帧的前一帧或后一帧的运动矢量的幅值预测为所述视频帧的运动矢量的幅值,或将存储的所述视频帧的前L个或后L个已连续编码的视频帧的运动矢量的幅值的平均值预测为所述视频帧的运动矢量的幅值。
29、根据权利要求28所述的编码装置,其特征在于,所述编码装置进一步用于当不大于预设值时,编码所述视频帧。
30、一种编码系统,其特征在于,包括:
编码装置,用于根据视频帧的运动矢量的方向信息判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧,并当跳过所述视频帧时,编码所述视频帧的相邻视频帧,或当跳过所述视频帧的邻近视频帧时,编码所述视频帧的邻近视频帧的相邻视频帧;
发送装置,用于发送编码后的相邻视频帧。
31、根据权利要求30所述的编码系统,其特征在于,所述编码装置进一步用于根据视频帧的运动矢量的方向信息及所述视频帧的运动矢量的幅值判断是否跳过所述视频帧或跳过所述视频帧的邻近视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810216098 CN101674474B (zh) | 2008-09-12 | 2008-09-12 | 一种编码方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810216098 CN101674474B (zh) | 2008-09-12 | 2008-09-12 | 一种编码方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101674474A true CN101674474A (zh) | 2010-03-17 |
CN101674474B CN101674474B (zh) | 2011-08-24 |
Family
ID=42021426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810216098 Expired - Fee Related CN101674474B (zh) | 2008-09-12 | 2008-09-12 | 一种编码方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101674474B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118256B (zh) * | 2013-01-29 | 2017-02-15 | 北京大学深圳研究生院 | 基于方向和距离判别的运动矢量预测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69630643T2 (de) * | 1995-08-29 | 2004-10-07 | Sharp Kk | Videokodierungsvorrichtung |
JP3879741B2 (ja) * | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
KR100718135B1 (ko) * | 2005-08-24 | 2007-05-14 | 삼성전자주식회사 | 멀티 포맷 코덱을 위한 영상 예측 장치 및 방법과 이를이용한 영상 부호화/복호화 장치 및 방법 |
CN1801939A (zh) * | 2005-12-22 | 2006-07-12 | 天津大学 | 基于空间分辨率变换的视频转换编码方法 |
-
2008
- 2008-09-12 CN CN 200810216098 patent/CN101674474B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118256B (zh) * | 2013-01-29 | 2017-02-15 | 北京大学深圳研究生院 | 基于方向和距离判别的运动矢量预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101674474B (zh) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100811572B1 (ko) | 송신 장치 및 송신 방법, 수신 장치 및 수신 방법, 송수신 장치 및 송수신 방법, 및 기록 매체 | |
CN100579229C (zh) | 用于处理具有多个参考图片的隔行视频的方法 | |
CN1905679B (zh) | 图像编码装置、图像编码方法、图像解码装置、图像解码方法和通信装置 | |
KR101118438B1 (ko) | 향상된 품질을 위한 대체 참조프레임을 이용한 비디오 압축 방법 | |
US7697770B2 (en) | Picture coding method and picture decoding method | |
CN101325710B (zh) | 视频编码中具有多种成本计算方法的运动细化引擎及方法 | |
US20150172711A1 (en) | Method and apparatus for encoding and decoding image through intra prediction | |
EP2129134A1 (en) | Time-varying image encoding method and device, and time-varying image decoding device | |
CN102025991A (zh) | 编码方法、译码方法、编码装置、译码装置、图像处理系统、编码程序和译码程序 | |
US9143798B2 (en) | Apparatus for coding or decoding intra image based on line information of reference image block | |
KR100538731B1 (ko) | 화소블록의클래스정보에대응되는매핑계수를이용하는화상부호화및화상복호화 | |
CN101014132A (zh) | 编码数据选定设定、再编码数据生成和再编码方法及装置 | |
CN100589580C (zh) | 改进的内插像素值的计算方法 | |
US8571103B2 (en) | Scalable video decoder and controlling method for the same | |
CN101360240B (zh) | 编码方法、译码方法、编码装置、译码装置、图象处理系统 | |
CN101325709B (zh) | 用于视频编码的具有可选择分割的运动细化引擎及其方法 | |
US20050249278A1 (en) | Moving image coding method, moving image decoding method, moving image coding device, moving image decoding device, moving image coding program and program product of the same | |
US8964836B2 (en) | Method and apparatus for spatial predictive encoding and/or decoding of video data | |
CN102215392A (zh) | 用于估计像素值的帧内预测方法或装置 | |
CN101674474B (zh) | 一种编码方法、装置及系统 | |
CN100556149C (zh) | 向量预测方法 | |
JPH0132710B2 (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160420 Address after: American California Patentee after: Snaptrack, Inc. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: Huawei Technologies Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 Termination date: 20180912 |
|
CF01 | Termination of patent right due to non-payment of annual fee |