发明内容
本发明实施例提出一种视频编码和解码方法,用于减轻网络的负担,同时避免对解码器的无用消耗。
本发明实施例还提出一种视频编码和解码装置,用于减轻网络的负担,同时避免对解码器的无用消耗。
本发明实施例的技术方案是这样实现的:
一种视频编码方法,包括:获取视频图像,该视频图像每帧包含m行、n列,共n×m个像素;
将所述视频图像的每帧中的像素划分为k1×k2场,每场包含
行、
列,共
个像素,设置划分后每场的行序列号和列序列号;划分出的每场中,相邻两行像素在划分前的帧中的间隔为k1行,相邻两列像素在划分前的帧中的间隔为k2列;其中,m能够被k1整除,n能够被k2整除;
对每场像素分别进行编码,形成k1×k2路视频数据,设置每路视频数据的行序列号和列序列号。
一种视频解码方法,包括:
获取显示装置能够支持的像素大小,将显示装置支持的像素行数计为X,将显示装置支持的像素列数计为Y;
计算出需要x×y路视频数据进行解码,其中,所述
为划分后每场中像素的行数,m为划分前视频图像每帧中像素的行数,k1为编码后视频数据的行数;所述
为划分后每场中像素的列数,n为划分前视频图像每帧中像素的列数,k1为编码后视频数据的列数;
为上取整;
选取x×y路视频数据,其中,选取的行相邻的两路视频数据的行序列号的差值不小于
选取的列相邻的两路视频数据的列序列号的差值不小于
为下取整;
将选取的x×y路视频数据分别进行解码;
将解码得到的x×y个视频图像还原为一个视频图像并显示。
一种视频编码装置,包括:划分模块和编码模块;其中,
划分模块,用于获取视频图像,该视频图像每帧包含m行、n列,共n×m个像素;将所述视频图像的每帧中的像素划分为k1×k2场,每场包含
行、
列,共
个像素,设置划分后每场的行序列号和列序列号;划分出的每场中,相邻两行像素在划分前的帧中的间隔为k1行,相邻两列像素在划分前的帧中的间隔为k2列;其中,m能够被k1整除,n能够被k2整除;
编码模块,对每场像素分别进行编码,形成k1×k2路视频数据,设置每路视频数据的行序列号和列序列号。
一种视频解码装置,包括:计算模块、选取模块、解码模块和还原模块;其中,
所述计算模块,用于获取显示装置能够支持的像素大小,将显示装置支持的像素行数计为X,将显示装置支持的像素列数计为Y;计算出需要x×y路视频数据进行解码,其中,所述
为划分后每场中像素的行数,m为划分前视频图像每帧中像素的行数,k1为编码后视频数据的行数;所述
为划分后每场中像素的列数,n为划分前视频图像每帧中像素的列数,k1为编码后视频数据的列数;
为上取整;
所述选取模块,用于选取x×y路视频数据,其中,选取的行相邻的两路视频数据的行序列号的差值不小于
选取的列相邻的两路视频数据的列序列号的差值不小于
为下取整;
所述解码模块,用于将所述选取模块选取出的视频数据分别进行解码;
所述还原模块,用于将所述解码模块解码得到的x×y个视频图像还原为一个视频图像并显示。
可见,本发明提出的视频编码和解码方法、以及视频编码和解码装置,通过固定的算法,将原始的视频图像划分为多个新的视频图像,对多个新的视频图像分别编码为多路视频数据并保存;在解码时,根据显示装置能够支持的像素数,在所保存的多个视频数据中选取出部分视频数据,将选取出的视频数据分别解码,还原为新的视频图像。当显示装置能够支持的像素数小于原始视频图像的像素数时,能够只选取出一部分数据进行解码,通过这种方式,避免了在网络中传输无用的视频信息、同时避免了解码器解码得出冗余信息,因此减轻了网络的负担,同时避免了对解码器的无用消耗。
具体实施方式
本发明提出一种编码和解码方法,可以应用于视频监控、网络视频等技术领域,能够减轻网络的负担,同时避免对解码器的无用消耗。
本发明提出的编码方法包括:采集视频图像,该视频图像每帧包含m行、n列,共n×m个像素;
将所述视频图像的每帧中的像素划分为k1×k2场,每场包含
行、
列,共
个像素,设置划分后每场的行序列号和列序列号;划分出的每场中,相邻两行像素在划分前的帧中的间隔为k1行,相邻两列像素在划分前的帧中的间隔为k2列;其中,m能够被k1整除,n能够被k2整除;
对每场像素分别进行编码,形成k1×k2路视频数据,设置每路视频数据的行序列号和列序列号。
上述方法中,将每帧中的像素划分为k1×k2场的方式可以为:采用以下公式(一)进行划分:
..................公式(一)
所述公式(一)的等号右边的矩阵中,每个子块为划分后的一场,子块中各元素的值代表该场中各像素在划分前的行号和列号;划分后每场的行序列号为对应子块的行序列号,划分后每场的列序列号为对应子块的列序列号;
其中, 1,......,m-2,m-1分别为划分前每帧中像素的行号;
L1=[0 k2 2k2......n-k2],L2=[1 k2+1 2k2+1......n-k2+1],......,Lk2-1=[k2-2 2k2-2 3k2-2......n-2],Lk2=[k2-1 2k2-1 3k2-1......n-1];0,1,......,n-2,n-1分别为划分前每帧中像素的列号;
所述每路视频数据的行序列号为划分后所述场的行序列号,每路视频数据的列序列号为划分后所述场的列序列号。例如:对划分后行序列号为II,列序列号为I的场进行编码,编码后形成的视频数据的行序列号为II,列序列号为I。
本发明实施例还提出一种视频解码方法,用于解码上述编码后形成的视频数据,该方法包括:
获取显示装置能够支持的像素大小,将显示装置支持的像素行数计为X,将显示装置支持的像素列数计为Y;
计算出需要x×y路视频数据进行解码,其中,所述
为划分后每场中像素的行数,m为划分前视频图像每帧中像素的行数,k1为编码后视频数据的行数;所述
为划分后每场中像素的列数,n为划分前视频图像每帧中像素的列数,k1为编码后视频数据的列数;
为上取整;
选取x×y路视频数据,其中,选取的行相邻的两路视频数据的行序列号的差值不小于
选取的列相邻的两路视频数据的列序列号的差值不小于
为下取整;
将选取的x×y路视频数据分别进行解码;
将解码得到的x×y个视频图像还原为一个视频图像并显示。
上述方法中,将x×y个视频图像还原为一个视频图像的方式为:
提取所述各个视频图像在同一时刻的场;按照场中像素在划分前的行号和列号,将所述同一时刻所有场中的像素合并为一帧,使合并后每个像素的位置与划分前的位置相同。
以下举具体的实施例,对本发明提出的编码和解码方法作详细介绍。
方法实施例一:编码方法实施例
在本实施例中,摄像头采集的视频图像中每帧包含m=8行、n=8列,共8×8=64个像素;将每帧中的像素划分为k1×k2=4×4场,划分后每场包含 行、 列,共4个像素;划分出的每场中,相邻两行像素在划分前的帧中的间隔为k1=4行,相邻两列像素在划分前的帧中的间隔为k2=4列。
第一步,将每帧划分为4×4场,划分的方式可以为:
(1)首先,生成4个2行1列的矩阵:
(2)之后,生成4个1行2列的矩阵:L1=[0 4],L2=[1 5],L3=[2 6],L3=[3 7]
(3)采用下式进行计算
等号右边的矩阵中,H1L1、H1L2、......H4L4分别为一个子块,每个子块代表划分后的一场,该场的行序列号为子块的行序列号、该场的列序列号为子块的列序列号;子块中的值代表对应场中各像素在划分前的行号和列号。在本实施例中,划分后的4×4场的行序列号分别为I、II、III、IV,列序列号分别为I、II、III、IV。
例如:H1L2代表行序列号为I、列序列号为II的一场;
可见该场中有2行、2列,共4个像素,每个像素在划分前的行号和列号分别为:第0行第1列、第0行第5列、第4行第1列、第4行第5列。
参照附图,图2为本发明实施例视频图像每帧中的像素结构示意图。其中P代表像素,P的前后两个下标分别代表该像素的行号和列号。
将图2所示的帧划分为4×4场,参见图3,图3为本发明实施例划分的4×4场的结构示意图。
第二步:将划分后的每场像素分别进行编码,形成4×4路视频数据,每路视频数据的行序列号等于划分后所述场的行序列号,每路视频数据的列序列号等于划分后所述场的列序列号。例如,将行序列号为I、列序列号为II的场进行编码后,得到的视频数据的行序列号为I、列序列号为II。
方法实施例二:解码方法实施例
在本实施例中,对实施例一编码得到的视频数据进行解码。
第一步:获取显示装置能够支持的像素大小,在本实施例中,显示装置能够显示X=4行、Y=4列像素。
第二步:计算需要多少路视频数据进行解码。计算方式为:
为上取整;其中,x和y分别代表需要几行、几列视频数据进行解码。在本实施例中,计算出需要x×y=4路视频数据进行解码。
第三步:在实施例一得到的16路视频数据中,选取出4路合适的视频数据。对于待选的16路视频数据,每路视频数据的行序列号为划分后对应场的行序列号,每路视频数据的列序列号为划分后对应场的列序列号。对于选取出的4路视频数据,选取的行相邻的两路视频数据的行序列号的差值不小于
选取的列相邻的两路视频数据的列序列号的差值不小于
为下取整。
实施例一中得到的视频数据共4行、4列,因此,选取的视频数据的行序列号的差值应不小于2,列序列号的差值也应不小于2,使相邻行序列号及列序列号的差值尽可能大,以此保证解码后的画面质量。
根据上述规则,选取出4路视频数据,每路视频数据的行序列号和列序列号分别为:第I行第I列、第I行第III列、第III行第I列、第III行第III列。参见图4,图4为本发明实施例解码时选取的视频数据位置示意图。
第四步,将选取得4路视频数据分别进行解码。
第五步,将解码得到的4个视频图像还原为一个视频图像,并显示还原的视频图像。
其中,还原视频图像的方式可以为:提取所述各个视频图像在同一时刻的场;按照场中像素在划分前的行号和列号,将所述同一时刻所有场中的像素合并为一帧,使合并后每个像素的位置与划分前的位置相同。
参见图5,图5为本发明实施例解码时还原出的视频图像中一帧的结构示意图。
需要指出的是,上述编码和解码的实施例中,为了便于说明,假设划分前视频图像中每帧的像素数、划分成的每场中的像素数、以及显示装置能够支持的像素数均较小,实际使用中的像素数较大,但方法与上述实施例中的方法相同。
容易理解的是,还原出的视频图像中每帧的像素数可能略大于显示装置能够支持的像素数,此时,可以将冗余像素删除后显示视频图像。
另外,在编码之前确定K1和K2的具体数值时,可以考虑两组参数:1)、摄像头采集的原始视频图像一帧中像素的行数m和列数n,2)、解码后显示装置能够支持的像素的行数X和列数Y;
确定的方式为:将K1尽可能地确定为m和X的最大公约数,将K2尽可能地确定为n和Y的最大公约数,这样,既能够达到本发明减轻网络和解码器负担的目的;又使编码出的视频数据的路数较少,计算相对简单。
本发明实施例还提出一种视频编码装置,包括:划分模块和编码模块;其中,
划分模块,用于获取视频图像,该视频图像每帧包含m行、n列,共n×m个像素;将所述视频图像的每帧中的像素划分为k1×k2场,每场包含
行、
列,共
个像素,设置划分后每场的行序列号和列序列号;划分出的每场中,相邻两行像素在划分前的帧中的间隔为k1行,相邻两列像素在划分前的帧中的间隔为k2列;其中,m能够被k1整除,n能够被k2整除;
编码模块,对每场像素分别进行编码,形成k1×k2路视频数据,设置每路视频数据的行序列号和列序列号。
上述装置中,划分模块采用以下公式进行划分:
所述公式的等号右边的矩阵中,每个子块代表划分后的一场,子块中各元素的值代表该场中各像素在划分前的行号和列号;划分后每场的行序列号为对应子块的行序列号,划分后每场的列序列号为对应子块的列序列号;
其中, ..., 1,......,m-2,m-1分别为划分前每帧中像素的行号;
L1=[0 k2 2k2......n-k2],L2=[1 k2+1 2k2+1......n-k2+1],......,Lk2-1=[k2-2 2k2-2 3k2-2......n-2],Lk2=[k2-1 2k2-1 3k2-1......n-1];0,1,......,n-2,n-1分别为划分前每帧中像素的列号;
所述编码模块设置每路视频数据的行序列号为划分后所述场的行序列号,列序列号为划分后所述场的列序列号。
本发明实施例还提出一种视频解码装置,包括:计算模块、选取模块、解码模块和还原模块;其中,
所述计算模块,用于获取显示装置能够支持的像素大小,将显示装置支持的像素行数计为X,将显示装置支持的像素列数计为Y;计算出需要x×y路视频数据进行解码,其中,所述
为划分后每场中像素的行数,m为划分前视频图像每帧中像素的行数,k1为编码后视频数据的行数;所述
为划分后每场中像素的列数,n为划分前视频图像每帧中像素的列数,k1为编码后视频数据的列数;
为上取整;
所述选取模块,用于选取x×y路视频数据,其中,选取的行相邻的两路视频数据的行序列号的差值不小于
选取的列相邻的两路视频数据的列序列号的差值不小于
为下取整;
所述解码模块,用于将所述选取模块选取出的视频数据分别进行解码;
所述还原模块,用于将所述解码模块解码得到的x×y个视频图像还原为一个视频图像并显示。
上述装置中,还原模块用于提取所述解码模块解码得到的各个视频图像在同一时刻的场;按照场中像素在划分前的行号和列号,将所述同一时刻所有场中的像素合并为一帧,使合并后每个像素的位置与划分前的位置相同。
本发明提出的编码和解码方法及装置可以应用于视频监控、网络视频等多种领域。当本发明应用于图1所示的视频监控系统时,由服务器来获取工作站中的显示装置能够支持的像素大小、并完成计算需要多少路视频数据进行解码、选取出合适的视频数据的工作;服务器选取出x×y路视频数据后,将选取出的视频数据发送至工作站,工作站对各路视频数据分别解码,并将解码得到的场合并为新的视频图像并显示出来。
当显示装置能够支持的像素数小于原始视频图像的像素数时,能够只选取出一部分数据进行解码,实现本发明的发明目的;当显示装置能够支持的像素数等于原始视频图像的像素数时,解码后还原出的视频图像与摄像头采集到的视频图像完全相同。
综上可见,本发明提出的视频编码和解码方法、以及视频编码和解码装置,能够通过固定的算法,将摄像头采集的原始视频图像划分为多个新的视频图像,对多个视频图像分别进行编码,形成多个视频数据并保存;在解码时,根据显示装置能够支持的像素数大小,在原先保存的多个视频数据中选取出一部分视频数据,将选取出的视频数据分别解码,还原为新的视频图像。通过这种方式,避免了网络在网络中传输无用的视频信息、同时避免了解码器解码得出冗余信息,因此能够减轻网络的负担,同时避免了对解码器的无用消耗。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。