CN103546754A - 从h.264/avc到svc空间可分级的转码方法及系统 - Google Patents
从h.264/avc到svc空间可分级的转码方法及系统 Download PDFInfo
- Publication number
- CN103546754A CN103546754A CN201210245889.0A CN201210245889A CN103546754A CN 103546754 A CN103546754 A CN 103546754A CN 201210245889 A CN201210245889 A CN 201210245889A CN 103546754 A CN103546754 A CN 103546754A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- coding mode
- mode information
- inter4
- 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
本发明涉及一种从H.264/AVC到SVC空间可分级的转码方法,包括:对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;对源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;根据编码模式信息为多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;根据可选编码模式信息以及层间预测模式信息为多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。本发明能够快速、有效地实现从H.264/AVC到SVC的转码,转换效率高,且无需占用过多的存储空间。
Description
技术领域
本发明涉及视频编码与传输领域,特别涉及一种从H.264/AVC到SVC空间可分级的转码方法及系统。
背景技术
H.264/AVC视频编码标准有较高的压缩效率和较好的网络交互性,因此现在越来越多地被应用到各种各样的视频应用中,如视频点播、视频会议、视频监控和数字电视等。
互联网中的视频应用有两个方面需要特别注意。其一是不同终端用户拥有的网络带宽资源不尽相同,如果视频源仅提供和传输一种压缩视频流,就有可能出现视频流与某些用户网络状况不匹配。比如,网络状况差的用户接收的视频数据丢失严重,影响主观质量;对网络状况较好的用户就有可能出现带宽资源没有被充分利用,导致资源浪费。其二是现在的视频终端的种类越来越多,比如笔记本电脑、手机、PDA等,这些终端的芯片处理能力、能耗和屏幕分辨率可能相差很大,视频源仅提供单一的视频流时是无法满足不同用户的需求的,比如视频源提供了一个大分辨率版本的视频,它可以被一些PC终端正常接收并解码,但用手机就无法观看该视频。
H.264/SVC(H.264可分级编码)作为H.264标准的一个扩展可以较好解决上面提出的两个问题,即视频源从时域帧率、空域分辨率和编码质量三方面提供多个不同版本的视频源,终端可以根据本身的网络状况、处理能力和显示能力从SVC视频流中提取出适合对应的视频,实现了视频源和终端之间的松耦合。
虽然SVC能较好地解决前文中所提到的视频应用中出现的问题,但是由于SVC比较复杂,它在实际中应用的还不是很多,它的优越性还没有能很好地体现。然而H.264/AVC编码标准已经有较广泛的应用,并且H.264/AVC是SVC编码的基础,所以可以在视频源端将H.264/AVC视频流转码为SVC视频流,这样就能够满足不同终端的需求了。当前已有的一些从H.264/AVC到SVC的转码采用了全解全编的方法,该方法的压缩效率较高,视频PSNR下降较小;但是该方法复杂性较高、对存储空间提出了新的要求,因此需要寻找一种更加快速、有效的从H.264/AVC到SVC的转码方法。
发明内容
本发明的目的在于克服现有的从H.264/AVC到SVC的转码复杂性较高,对存储空间的要求较高等缺陷,从而提供一种快速、有效的转码方法。
为了实现上述目的,本发明提供了一种从H.264/AVC到SVC空间可分级的转码方法,包括:
步骤1)、对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;所述编码模式信息包括宏块预测方式、宏块分块方式、运动向量和参考帧索引;
步骤2)、对步骤1)所得到的源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;
步骤3)、根据步骤1)得到的编码模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;
步骤4)、根据步骤3)得到的可选编码模式信息以及层间预测模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。
上述技术方案中,所述的步骤2)包括:
步骤2-1)、将步骤1)所得到的源视频帧作为当前视频帧;
步骤2-2)、若满足下采样操作的终止条件,终止步骤2)的操作,执行步骤3),否则执行下一步;
步骤2-3)、按照采样比例对当前视频帧进行下采样,得到一中间视频帧,将这一中间视频帧作为当前视频帧,然后重新执行步骤2-2)。
上述技术方案中,所述下采样操作的下采样比例包括分辨率高的视频帧与分辨率低的视频帧在水平方向的分辨率之比以及在垂直方向的分辨率之比,所述下采样比例的大小2n,n为正整数。
上述技术方案中,所述的步骤3)包括:
步骤3-1)、将步骤1)所得到的所述源视频帧的编码模式信息作为分辨率最高的中间视频帧的可选编码模式信息;
步骤3-2)、从可选编码模式信息已知的中间视频帧中选取分辨率最低的帧作为第一中间视频帧,利用第一中间视频帧的可选编码模式信息生成第二中间视频帧的可选编码模式信息,直至步骤2)中所生成的中间视频帧的可选编码模式信息都已知;所述第二中间视频帧为可选编码模式信息未知的中间视频帧中分辨率最高的中间视频帧。
上述技术方案中,在所述的步骤3-2)中,利用第一中间视频帧的可选编码模式信息生成第二中间视频帧的可选编码模式信息包括:
(1)所述第一视频帧为intra帧,所述intra帧中分块方式包括两种:intra16×16和intra4×4;
①如果第一视频帧的可选编码模式信息记录了第一视频帧中四个相邻宏块中至少一个为intra4×4分块方式,则第二视频帧中对应的宏块必须编码为intra4×4分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
②如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块都是intra16×16时,则第二视频帧中对应的宏块采用intra16×16的分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
(2)所述第一视频帧为inter帧,所述inter帧包括有帧内预测宏块和帧间预测宏块;
①如果第一视频帧的可选编码模式信息记录了第一视频帧中四个相邻宏块中至少一个为intra4×4分块方式,则第二视频帧中对应的宏块必须编码为intra4×4分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块都是intra16×16时,则第二视频帧中对应的宏块采用intra16×16的分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
②如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中至少有一个为intra16×16分块方式,且不都是intra16×16时,则第二视频帧中对应的宏块采用intra预测方式,且宏块采用intra4×4分块方式,并将这些模式记录入第二视频帧的可选编码模式信息中;
③如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块均为skip mode模式,则第二视频帧中对应宏块编码采用skip mode模式,并将此模式记录入第二视频帧的可选编码模式信息中;
④如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块均为inter16×16的编码模式,且各个宏块的运动向量相等且均为mv,则第二视频帧中对应宏块采用运动向量是1/2×mv的inter16×16模式,并将此模式记录入第二视频帧的可选编码模式信息中;
⑤如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中任一宏块包含inter M×N分块方式(M>=8且N>=8),且此分块的运动向量为mv,则该分块在第二视频帧中对应一个(1/2×M)×(1/2×N)的分块,且运动向量为1/2×mv,并将这些模式信息记录入第二视频帧的可选编码模式信息中;
如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中任一宏块包含inter M×N分块方式(M<8或N<8),这些分块对应第二视频帧中的相应块时可以采用如下原则:由第一视频帧中两个相邻inter4×8对应到第二视频帧中的一个inter4×4块、由第一视频帧中两个相邻inter8×4对应到第二视频帧中的一个inter4×4块,由第一视频帧中四个相邻inter4×4对应到第二视频帧中的一个inter4×4块;得到的所述第二视频帧中的inter4×4块的运动向量由第一视频帧中的对应的各个块的运动向量推导而来,最后将这些分块和运动向量的模式信息记录入第二视频帧的可选编码模式信息中。
上述技术方案中,所述第二视频帧中的inter4×4块的运动向量由第一视频帧中的对应的各个块的运动向量推导的推导规则如下:
①当出现第一视频帧中四个相邻inter4×4块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的四个inter4×4块的运动向量都将缩小一倍,然后传递给第二视频帧使用,第二视频帧中对应的inter4×4块在以这四个运动向量对应到参考帧中的四个点构成的四边形中搜索该inter4×4块的最优运动向量;
②当出现第一视频帧中两个相邻inter4×8块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的两个相邻inter4×8块的运动向量都将缩小一倍,然后传递给第二视频帧使用,两个运动向量对应到参考帧中的两个点X和Y,设计一个矩形使得XY的长度与矩形的长相等,且XY是矩形的对称轴,矩形的宽为8个像素,第二视频帧中对应的inter4×4块将在此矩形区域中搜索该inter4×4块的最优运动向量;
③当出现第一视频帧中两个相邻inter8×4块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的两个inter8×4块的运动向量都将缩小一倍,然后传递给第二视频帧使用,两个运动向量对应到参考帧中的两个点X和Y,设计一个矩形使得XY的长度与矩形的长相等,且XY是矩形的对称轴,矩形的宽为8个像素,第二视频帧中对应的inter4×4块将在此矩形区域中搜索该inter4×4块的最优运动向量。
上述技术方案中,在所述的步骤4)中,所述的根据步骤3)得到的可选编码模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧选取最优编码模式包括:
步骤4-1)、将分辨率最低的中间视频帧的可选编码模式作为该中间视频帧的最优编码模式;
步骤4-2)、将分辨率最低的中间视频帧作为之前视频帧,将较分辨率最低的中间视频帧高一层的中间视频帧作为当前视频帧;
步骤4-3)、若所有的中间视频帧都已选取最优编码模式,则进行后续操作,否则执行下一步;
步骤4-4)、若当前视频帧的可选编码模式信息记录的该视频帧的某宏块中不包含inter M×N(M<8或N<8)模式时,在当前视频帧的可选编码模式信息中提供的可选编码模式和由所述之前视频帧的最优编码模式所获得的层间预测模式范围内通过RDO策略搜索,根据搜索结果确定该宏块的最优编码模式信息;若当前视频帧的可选编码模式信息记录的某宏块中包含inter M×N(M<8或N<8)模式时,直接应用当前视频帧的可选编码模式信息中提供的可选编码模式作为该宏块的最优编码模式信息;
步骤4-5)、将当前视频帧作为之前视频帧,将较当前视频帧高一层的中间视频帧作为当前视频帧。
本发明还提供了一种从H.264/AVC到SVC空间可分级的转码系统,包括解码模块、下采样模块、信息重用模块和SVC编码模块;其中,
所述的解码模块用于对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;所述编码模式信息包括宏块预测方式、宏块分块方式、运动向量和参考帧索引;
所述的下采样模块对由所述的解码模块解码得到的源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;
所述的信息重用模块根据所述的解码模块得到的编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;
所述的SVC编码模块根据所述的信息重用模块得到的可选编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。
本发明的优点在于:
本发明能够快速、有效地实现从H.264/AVC到SVC的转码,转换效率高,且无需占用过多的存储空间。
附图说明
图1是现有技术中的H.264/AVC解码过程的示意图;
图2是本发明方法的流程图;
图3是本发明方法中可选编码模式信息获取过程的示意图;
图4是本发明方法中SVC编码过程的示意图。
具体实施方式
现结合附图对本发明作进一步的描述。
为了便于理解,下面结合一个实例对本发明加以说明。
实例背景说明:某个视频会议有四个参与方A、B、C、D,四个参与方所持终端的分辨率分别为RA(704×576)、RB(704×576)、RC(352×288)和RD(176×144),视频输出端A所提供的视频是经过压缩的符合H.264/AVC标准的视频流SAVC-A。为了适应视频接收端的终端设备的分辨率的多样性,所述视频流SAVC-A需要被转换成SVC视频流SSVC。转换后所得到的视频流SSVC中应当包含三个空间分辨率分层,最高层(EL)视频流SSVC-EL分辨率为RB,中间层(ML)视频流SSVC-ML分辨率为RC,基本层(BL)视频流SSVC-BL分辨率为RD,这样B、C、D可以根据自己终端的分辨率分别请求并播放SSVC中的SSVC-EL、SSVC-ML和SSVC-BL。
参考图2,下文中将就视频流SAVC-A如何转换成SVC视频流SSVC做详细说明。
步骤1)、对视频输出端A所输出的AVC视频流进行解码,得到解码后的各个视频帧以及与所得到的视频帧所对应的编码模式信息。
在图1中示出了对AVC视频流进行解码的过程,该解码过程包括对H.264/AVC视频流进行熵解码,得到各宏块的残差信息和编码模式信息,接着对残差信息进行反量化、反变换和反向运动补偿,从而得到解码后的视频帧,生成解码视频流。该解码过程中所生成的已解码帧和编码模式信息在后续步骤中将会被用到,所述的编码模式信息用来指导视频帧如何进行SVC编码,具体包括宏块预测方式、宏块分块方式、运动向量和参考帧索引等信息。
对视频流SAVC-A解码后所得到的视频帧的分辨率为RA,解码后的视频帧记为FA,将FA对应的编码模式信息记为INFOFA。
步骤2)、对步骤1)所得到的视频帧做下采样操作,得到分辨率较低的多种视频帧。
为了编码出包含三个分辨率(RB、RC、RD)的SVC视频流,需要通过对FA的直接复制及其下采样操作获得符合RB、RC、RD分辨率要求的三种类型的视频帧。在本发明中,只考虑下采样比例为2n的情况,即第k+1层帧Fk+1的长和宽是第k层帧Fk长和宽的2倍,且最上层帧的分辨率与原视频的分辨率相同。如图3所示,帧FA的空间分辨率是RA,且RA=RB,所以直接将帧FA复制为F3,其分辨率为RB,以此作为视频流SSVC的最高层;对帧FA进行1/2下采样得到帧F2,其分辨率为RC,以此作为视频流SSVC的中间层;继续对帧F2进行1/2下采样得到帧F1,其分辨率为RD,以此作为视频流SSVC的基本层。
步骤3)、为步骤2)得到的分辨率较低的多种视频帧生成编码模式信息。
下采样前后的两个视频帧Fk+1和Fk之间有很强的相关性,因此如果知道了适合Fk+1帧的最优编码模式,就可以预测对Fk帧选用什么样的编码模式能使得编码效果最优。因此,在为分辨率较低的多种视频帧生成编码模式信息时,可以通过重用帧FA的编码模式信息的方式实现。
将帧FA的编码模式信息记为MODEFA,如图3所示,由于MODEFA中包含了帧FA中所有的编码信息,因此可以将其中的信息直接拿来指导帧F3进行SVC编码,并称之为F3的可选编码模式MODEF3。因为帧F2是通过帧F3下采样得来,所以它们之间有很强的相关性,可以通过MODEF3中的信息推导出适合帧F2的可选编码模式MODEF2,MODEF2可以用来指导帧F2的编码。同理可以进一步根据MODEF2推导出适合帧F1的可选编码模式MODEF1,MODEF1可以用来指导帧F1的编码。需要说明的是,在本实施例中,最高层视频帧的分辨率与源视频帧的分辨率相同,因此直接采用源视频帧的编码模式信息来指导最高层视频帧的SVC编码。但如果最高层视频帧的分辨率与源视频帧的分辨率不同(一般是低于源视频帧的分辨率),则也可以采用下面的方法得到最高层视频帧的可选编码模式。
根据MODEF3推导MODEF2的思想与根据MODEF2推导MODEF1的思想是一样的,下面以根据MODEF3推导MODEF2为例来详述其过程。
帧F3包括Intra帧和Inter帧,下面分别对这两种类型的帧进行说明。
(1)Intra帧。Intra帧中的宏块都为帧内预测宏块。MODEF3中记录了帧F3中的各个宏块的分块方式,而intra帧中分块方式包括两种:intra16×16和intra4×4。
①如果MODEF3记录了帧F3中四个相邻宏块中至少一个为intra4×4分块方式,则帧F2中对应的宏块必须编码为intra4×4分块方式,并将此模式记录入帧F2的可选编码模式MODEF2中;
②如果MODEF3记录了帧F3中的四个相邻宏块都是intra16×16时,则帧F2中对应的宏块采用intra16×16的分块方式,并将此模式记录入帧F2的可选编码模式MODEF2中。
(2)Inter帧。inter帧中可以有帧内预测宏块(intra)和帧间预测宏块(inter)。
①当inter帧中出现(1)中的情况时,则完全采用(1)中的方式进行处理;
②如果MODEF3记录了帧F3中的四个相邻宏块中至少有一个为intra16×16分块方式,且不都是intra16×16时,则帧F2中对应的宏块采用intra预测方式,且宏块采用intra4×4分块方式,并将这些模式记录入帧F2的可选编码模式MODEF2中;
③如果MODEF3记录了帧F3中的四个相邻宏块均为skip mode模式,则帧F2中对应宏块编码采用skip mode模式,并将此模式记录入帧F2的可选编码模式MODEF2中;
④如果MODEF3记录了帧F3中的四个相邻宏块均为inter16×16的编码模式,且各个宏块的运动向量相等且均为mv,则帧F2中对应宏块采用运动向量是1/2×mv的inter16×16模式,并将此模式记录入帧F2的可选编码模式MODEF2中;
⑤如果MODEF3记录了帧F3中的四个相邻宏块中任一宏块包含inter M×N分块方式(M>=8且N>=8),且此分块的运动向量为mv,则该分块在帧F2中对应一个(1/2×M)×(1/2×N)的分块,且运动向量为1/2×mv,并将这些模式信息记录入帧F2的可选编码模式MODEF2中。
如果MODEF3记录了帧F3中的四个相邻宏块中任一宏块包含inter M×N分块方式(M<8或N<8),如inter4×8、inter8×4、inter4×4,这些分块对应帧F2中的相应块时可以采用如下原则:由帧F3中两个相邻inter4×8对应到帧F2中的一个inter4×4块、由帧F3中两个相邻inter8×4对应到帧F2中的一个inter4×4块,由帧F3中四个相邻inter4×4对应到帧F2中的一个inter4×4块;得到的这个帧F2中的inter4×4块的运动向量由帧F3中的对应的各个块的运动向量推导而来,最后将这些分块和运动向量等模式信息记录入帧F2的可选编码模式MODEF2中。
帧F2中对应的inter4×4块运动向量的推导规则如下:
①当出现帧F3中四个相邻inter4×4块对应到帧F2中一个inter4×4块的情况时,帧F3中的四个inter4×4块的运动向量都将缩小一倍,然后传递给帧F2使用,帧F2中对应的inter4×4块在以这四个运动向量对应到参考帧中的四个点构成的四边形中搜索该inter4×4块的最优运动向量;
②当出现帧F3中两个相邻inter4×8块对应到帧F2中一个inter4×4块的情况时,帧F3中的两个相邻inter4×8块的运动向量都将缩小一倍,然后传递给帧F2使用,两个运动向量对应到参考帧中的两个点X和Y,设计一个矩形使得XY的长度与矩形的长相等,且XY是矩形的对称轴,矩形的宽为8个像素,帧F2中对应的inter4×4块将在此矩形区域中搜索该inter4×4块的最优运动向量;
③当出现帧F3中两个相邻inter8×4块对应到帧F2中一个inter4×4块的情况时,获得该inter4×4块运动向量的方法与帧F3中两个相邻inter4×8块对应到帧F2中一个inter4×4块的情况相似。
以上是对如何根据MODEF3推导MODEF2的说明,根据MODEF3推导出的MODEF2可以用来指导帧F2的SVC编码,以同样的原理可以根据MODEF2推导出MODEF1,并以此指导帧F1的SVC编码。
步骤4)、根据步骤2)得到的视频帧以及步骤3)得到的编码模式信息实现SVC编码。
如前所述,通过SVC编码所要得到的视频流SSVC中包含三个空间分辨率分层,因此在编码过程中需要分别生成三个空间分辨率分层。在生成三个空间分辨率分层时,首先需要为各个空间分辨率分层确定最优编码模式。这一确定最优编码模式的过程需要满足从三个空间分辨率分层的底层到高层的次序,即依次确定基本层L1、中间层L2以及最高层L3的最优编码模式。参考图4,具体过程如下。
基本层L1的输入有帧F1和帧F1的可选编码模式MODEF1,在此直接用MODEF1指导帧F1的编码,即MODEF1所记录的编码模式即为基本层L1的帧F1的最优编码模式MODEF1-best。如果MODEF1中记录了帧F1中某宏块为intra预测,则该宏块的分块方式可以直接获得(intra4×4或者intra16×16),但是宏块中具体块的预测方向需要通过SVC中的RDO进行决策;如果MODEF1中记录了某宏块为inter预测,则该宏块的分块方式、运动向量和参考帧索引都可以直接从MODEF1中直接获得,而无需进行多余的判断。
中间层L2的输入有帧F2和帧F2的可选编码模式MODEF2,MODEF2可以指导帧F2的编码,但是与基本层编码不同的是MODEF2中提供的可选编码模式不能直接作为帧F2的最优编码模式,帧F2最优编码模式MODEF2-best的获得需要综合考虑MODEF2和层间预测。当MODEF2记录的某宏块中不包含inter M×N(M<8或N<8)模式时,则该宏块最优编码模式MODEF2-best的获得需要在MODEF2中提供的可选编码模式和层间预测模式范围内通过RDO策略搜索;当MODEF2记录的某宏块中包含inter M×N(M<8或N<8)模式时,则该宏块最优编码模式MODEF2-best的获得不需要对层间预测模式进行计算,可以直接应用MODEF2中提供的可选编码模式作为帧F2的最优编码模式。
最高层L3的编码的处理方式与中间层L2编码的处理方式是一样的,最高层L3的输入有帧F3和帧F3的可选编码模式MODEF3,MODEF3可以指导帧F3的编码。当MODEF3记录的某宏块中不包含inter M×N(M<8或N<8)模式时,则该宏块最优编码模式MODEF3-best的获得需要在MODEF3中提供的可选编码模式和层间预测模式范围内通过RDO策略搜索;当MODEF3记录的某宏块中包含inter M×N(M<8或N<8)模式时,则该宏块最优编码模式MODEF3-best的获得不需要对层间预测模式进行计算,可以直接应用MODEF3中提供的可选编码模式作为帧F3的最优编码模式。
在得到各个空间分辨率分层的最优编码模式后,对各个分层进行后续编码,包括计算残差、转换、量化、熵编码和各层视频流的复用过程。对原视频流中的每一帧进行上述转码过程,就可以最终得到一个包含3个空间分辨率分层的SVC视频流SSVC;具有不同分辨率终端的B、C、D可以向SSVC请求与自己分辨率相同的视频流。
以上是对本发明的H.264/AVC到SVC空间可分级的转码方法的描述。
本发明除了提供上述转码方法外,还提供了一种从H.264/AVC到SVC空间可分级的转码系统,包括解码模块、下采样模块、信息重用模块和SVC编码模块;其中,
所述的解码模块用于对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;所述编码模式信息包括宏块预测方式、宏块分块方式、运动向量和参考帧索引;
所述的下采样模块对由所述的解码模块解码得到的源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;
所述的信息重用模块根据所述的解码模块得到的编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;
所述的SVC编码模块根据所述的信息重用模块得到的可选编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种从H.264/AVC到SVC空间可分级的转码方法,包括:
步骤1)、对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;所述编码模式信息包括宏块预测方式、宏块分块方式、运动向量和参考帧索引;
步骤2)、对步骤1)所得到的源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;
步骤3)、根据步骤1)得到的编码模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;
步骤4)、根据步骤3)得到的可选编码模式信息以及层间预测模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。
2.根据权利要求1所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,所述的步骤2)包括:
步骤2-1)、将步骤1)所得到的源视频帧作为当前视频帧;
步骤2-2)、若满足下采样操作的终止条件,终止步骤2)的操作,执行步骤3),否则执行下一步;
步骤2-3)、按照采样比例对当前视频帧进行下采样,得到一中间视频帧,将这一中间视频帧作为当前视频帧,然后重新执行步骤2-2)。
3.根据权利要求2所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,所述下采样操作的下采样比例包括分辨率高的视频帧与分辨率低的视频帧在水平方向的分辨率之比以及在垂直方向的分辨率之比,所述下采样比例的大小2n,n为正整数。
4.根据权利要求1所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,所述的步骤3)包括:
步骤3-1)、将步骤1)所得到的所述源视频帧的编码模式信息作为分辨率最高的中间视频帧的可选编码模式信息;
步骤3-2)、从可选编码模式信息已知的中间视频帧中选取分辨率最低的帧作为第一中间视频帧,利用第一中间视频帧的可选编码模式信息生成第二中间视频帧的可选编码模式信息,直至步骤2)中所生成的中间视频帧的可选编码模式信息都已知;所述第二中间视频帧为可选编码模式信息未知的中间视频帧中分辨率最高的中间视频帧。
5.根据权利要求4所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,在所述的步骤3-2)中,利用第一中间视频帧的可选编码模式信息生成第二中间视频帧的可选编码模式信息包括:
(1)所述第一视频帧为intra帧,所述intra帧中分块方式包括两种:intra16×16和intra4×4;
①如果第一视频帧的可选编码模式信息记录了第一视频帧中四个相邻宏块中至少一个为intra4×4分块方式,则第二视频帧中对应的宏块必须编码为intra4×4分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
②如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块都是intra16×16时,则第二视频帧中对应的宏块采用intra16×16的分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
(2)所述第一视频帧为inter帧,所述inter帧包括有帧内预测宏块和帧间预测宏块;
①如果第一视频帧的可选编码模式信息记录了第一视频帧中四个相邻宏块中至少一个为intra4×4分块方式,则第二视频帧中对应的宏块必须编码为intra4×4分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块都是intra16×16时,则第二视频帧中对应的宏块采用intra16×16的分块方式,并将此模式记录入第二视频帧的可选编码模式信息中;
②如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中至少有一个为intra16×16分块方式,且不都是intra16×16时,则第二视频帧中对应的宏块采用intra预测方式,且宏块采用intra4×4分块方式,并将这些模式记录入第二视频帧的可选编码模式信息中;
③如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块均为skip mode模式,则第二视频帧中对应宏块编码采用skip mode模式,并将此模式记录入第二视频帧的可选编码模式信息中;
④如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块均为inter16×16的编码模式,且各个宏块的运动向量相等且均为mv,则第二视频帧中对应宏块采用运动向量是1/2×mv的inter16×16模式,并将此模式记录入第二视频帧的可选编码模式信息中;
⑤如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中任一宏块包含inter M×N分块方式(M>=8且N>=8),且此分块的运动向量为mv,则该分块在第二视频帧中对应一个(1/2×M)×(1/2×N)的分块,且运动向量为1/2×mv,并将这些模式信息记录入第二视频帧的可选编码模式信息中;
如果第一视频帧的可选编码模式信息记录了第一视频帧中的四个相邻宏块中任一宏块包含inter M×N分块方式(M<8或N<8),这些分块对应第二视频帧中的相应块时可以采用如下原则:由第一视频帧中两个相邻inter4×8对应到第二视频帧中的一个inter4×4块、由第一视频帧中两个相邻inter8×4对应到第二视频帧中的一个inter4×4块,由第一视频帧中四个相邻inter4×4对应到第二视频帧中的一个inter4×4块;得到的所述第二视频帧中的inter4×4块的运动向量由第一视频帧中的对应的各个块的运动向量推导而来,最后将这些分块和运动向量的模式信息记录入第二视频帧的可选编码模式信息中。
6.根据权利要求5所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,所述第二视频帧中的inter4×4块的运动向量由第一视频帧中的对应的各个块的运动向量推导的推导规则如下:
①当出现第一视频帧中四个相邻inter4×4块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的四个inter4×4块的运动向量都将缩小一倍,然后传递给第二视频帧使用,第二视频帧中对应的inter4×4块在以这四个运动向量对应到参考帧中的四个点构成的四边形中搜索该inter4×4块的最优运动向量;
②当出现第一视频帧中两个相邻inter4×8块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的两个相邻inter4×8块的运动向量都将缩小一倍,然后传递给第二视频帧使用,两个运动向量对应到参考帧中的两个点X和Y,设计一个矩形使得XY的长度与矩形的长相等,且XY是矩形的对称轴,矩形的宽为8个像素,第二视频帧中对应的inter4×4块将在此矩形区域中搜索该inter4×4块的最优运动向量;
③当出现第一视频帧中两个相邻inter8×4块对应到第二视频帧中一个inter4×4块的情况时,第一视频帧中的两个inter8×4块的运动向量都将缩小一倍,然后传递给第二视频帧使用,两个运动向量对应到参考帧中的两个点X和Y,设计一个矩形使得XY的长度与矩形的长相等,且XY是矩形的对称轴,矩形的宽为8个像素,第二视频帧中对应的inter4×4块将在此矩形区域中搜索该inter4×4块的最优运动向量。
7.根据权利要求1所述的从H.264/AVC到SVC空间可分级的转码方法,其特征在于,在所述的步骤4)中,所述的根据步骤3)得到的可选编码模式信息为步骤2)得到的多种具有不同分辨率的中间视频帧选取最优编码模式包括:
步骤4-1)、将分辨率最低的中间视频帧的可选编码模式作为该中间视频帧的最优编码模式;
步骤4-2)、将分辨率最低的中间视频帧作为之前视频帧,将较分辨率最低的中间视频帧高一层的中间视频帧作为当前视频帧;
步骤4-3)、若所有的中间视频帧都已选取最优编码模式,则进行后续操作,否则执行下一步;
步骤4-4)、若当前视频帧的可选编码模式信息记录的该视频帧的某宏块中不包含inter M×N(M<8或N<8)模式时,在当前视频帧的可选编码模式信息中提供的可选编码模式和由所述之前视频帧的最优编码模式所获得的层间预测模式范围内通过RDO策略搜索,根据搜索结果确定该宏块的最优编码模式信息;若当前视频帧的可选编码模式信息记录的某宏块中包含inter M×N(M<8或N<8)模式时,直接应用当前视频帧的可选编码模式信息中提供的可选编码模式作为该宏块的最优编码模式信息;
步骤4-5)、将当前视频帧作为之前视频帧,将较当前视频帧高一层的中间视频帧作为当前视频帧。
8.一种从H.264/AVC到SVC空间可分级的转码系统,其特征在于,包括解码模块、下采样模块、信息重用模块和SVC编码模块;其中,
所述的解码模块用于对采用H.264/AVC编码的源视频流进行解码,得到解码后的源视频帧以及与所述源视频帧所对应的编码模式信息;所述编码模式信息包括宏块预测方式、宏块分块方式、运动向量和参考帧索引;
所述的下采样模块对由所述的解码模块解码得到的源视频帧做下采样操作,得到多种具有不同分辨率的中间视频帧;
所述的信息重用模块根据所述的解码模块得到的编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧生成对应的可选编码模式信息;
所述的SVC编码模块根据所述的信息重用模块得到的可选编码模式信息为所述的下采样模块得到的多种具有不同分辨率的中间视频帧选取最优编码模式信息,利用所述最优编码模式信息实现SVC编码,得到具有多种不同分辨率层的SVC视频流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210245889.0A CN103546754B (zh) | 2012-07-16 | 2012-07-16 | 从h.264/avc到svc空间可分级的转码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210245889.0A CN103546754B (zh) | 2012-07-16 | 2012-07-16 | 从h.264/avc到svc空间可分级的转码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546754A true CN103546754A (zh) | 2014-01-29 |
CN103546754B CN103546754B (zh) | 2016-09-14 |
Family
ID=49969748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210245889.0A Expired - Fee Related CN103546754B (zh) | 2012-07-16 | 2012-07-16 | 从h.264/avc到svc空间可分级的转码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546754B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581169A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 分级转码方法及装置 |
CN105791866A (zh) * | 2014-12-24 | 2016-07-20 | 北京数码视讯科技股份有限公司 | 视频编码中间数据获取方法、设备及系统 |
CN105898309A (zh) * | 2015-12-25 | 2016-08-24 | 乐视云计算有限公司 | 转码的方法和装置 |
CN105898308A (zh) * | 2015-12-18 | 2016-08-24 | 乐视云计算有限公司 | 变分辨率的编码模式预测方法及装置 |
CN106131551A (zh) * | 2016-07-14 | 2016-11-16 | 西安元智系统技术有限责任公司 | 一种用于移动视频直播的分级编码方法 |
CN107087212A (zh) * | 2017-05-09 | 2017-08-22 | 杭州码全信息科技有限公司 | 基于空间可伸缩编码的交互式全景视频转码与播放方法及系统 |
CN108769689A (zh) * | 2018-05-03 | 2018-11-06 | 深圳市网心科技有限公司 | skip宏块判定方法、视频转码方法、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100021258A (ko) * | 2008-08-14 | 2010-02-24 | 에스케이 텔레콤주식회사 | Svc 비트스트림의 h.264 비트스트림으로의 트랜스코딩 장치 및 방법 |
CN102318202A (zh) * | 2006-03-29 | 2012-01-11 | 维德约股份有限公司 | 用于可缩放与非可缩放视频编解码器之间的译码的系统和方法 |
-
2012
- 2012-07-16 CN CN201210245889.0A patent/CN103546754B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102318202A (zh) * | 2006-03-29 | 2012-01-11 | 维德约股份有限公司 | 用于可缩放与非可缩放视频编解码器之间的译码的系统和方法 |
KR20100021258A (ko) * | 2008-08-14 | 2010-02-24 | 에스케이 텔레콤주식회사 | Svc 비트스트림의 h.264 비트스트림으로의 트랜스코딩 장치 및 방법 |
Non-Patent Citations (3)
Title |
---|
LEI SUN ET AL.: "Video Conferencing Oriented Low-Complexity Coarse-Level Mode-Mapping Based H.264/AVC to H.264/SVC Spatial Transcoding", 《2011 APSIPA ANNUAL SUMMIT AND CONFERENCE, XI"AN》 * |
R. GARRIDO-CANTOS ET AL.: "Video transcoding for mobile digital television", 《TELECOMMUNICATION SYSTEMS》 * |
R. SACHDEVA ET AL.: "Adding SVC Spatial Scalability to Existing H.264/AVC Video", 《EIGTH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE, SHANGHAI》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791866A (zh) * | 2014-12-24 | 2016-07-20 | 北京数码视讯科技股份有限公司 | 视频编码中间数据获取方法、设备及系统 |
CN105791866B (zh) * | 2014-12-24 | 2018-10-30 | 北京数码视讯科技股份有限公司 | 视频编码中间数据获取方法、设备及系统 |
CN104581169A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 分级转码方法及装置 |
CN105898308A (zh) * | 2015-12-18 | 2016-08-24 | 乐视云计算有限公司 | 变分辨率的编码模式预测方法及装置 |
WO2017101350A1 (zh) * | 2015-12-18 | 2017-06-22 | 乐视控股(北京)有限公司 | 变分辨率的编码模式预测方法及装置 |
CN105898309A (zh) * | 2015-12-25 | 2016-08-24 | 乐视云计算有限公司 | 转码的方法和装置 |
CN106131551A (zh) * | 2016-07-14 | 2016-11-16 | 西安元智系统技术有限责任公司 | 一种用于移动视频直播的分级编码方法 |
CN106131551B (zh) * | 2016-07-14 | 2019-03-29 | 西安元智系统技术有限责任公司 | 一种用于移动视频直播的分级编码方法 |
CN107087212A (zh) * | 2017-05-09 | 2017-08-22 | 杭州码全信息科技有限公司 | 基于空间可伸缩编码的交互式全景视频转码与播放方法及系统 |
CN108769689A (zh) * | 2018-05-03 | 2018-11-06 | 深圳市网心科技有限公司 | skip宏块判定方法、视频转码方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103546754B (zh) | 2016-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9491467B2 (en) | Method and apparatus for image encoding/decoding | |
CN103546754B (zh) | 从h.264/avc到svc空间可分级的转码方法及系统 | |
CN101601300B (zh) | 用自适应增强层预测对位深度可分级视频数据进行编码和/或解码的方法和设备 | |
CN104813667B (zh) | 用于可伸缩视频编码的帧间层预测方法及装置 | |
US8619854B2 (en) | Scalable video encoding and decoding method using switching pictures and apparatus thereof | |
CN104969553B (zh) | 用于编码/解码图像的方法以及使用其的设备 | |
CN103546757B (zh) | 视频编码方法和系统 | |
US20050201463A1 (en) | Video transcoding method and apparatus and motion vector interpolation method | |
CN100555332C (zh) | 使用包括多个宏块的预测和非预测画面对画面序列编码的方法和装置 | |
CN111480338B (zh) | 视频数据的帧间预测方法和装置 | |
CN104041048A (zh) | 利用跳过模式进行视频编码和解码的方法和设备 | |
CN103124353A (zh) | 移动预测方法及视频编码方法 | |
KR20130037193A (ko) | 스케일러블 비디오 부호화 및 복호화 방법과 이를 이용한 장치 | |
US20090116546A1 (en) | Transcoding apparatus and method between two codecs each including a deblocking filter | |
CN107087204A (zh) | 图像解码方法及使用其的装置 | |
KR20130107861A (ko) | 인터 레이어 인트라 예측 방법 및 장치 | |
CN102740071A (zh) | 可分级视频编解码器的编码设备及其方法 | |
CN106101709A (zh) | 一种联合增强层的shvc质量可分级的基本层帧间预测方法 | |
WO2013051899A2 (ko) | 스케일러블 비디오 부호화 및 복호화 방법과 이를 이용한 장치 | |
US10750185B2 (en) | High speed scalable video coding device and method using multi-track video | |
KR20130085088A (ko) | 스케일러블 비디오 코딩에서의 고속 모드 결정 방법 및 그 장치 | |
CN110139099A (zh) | 基于预编码和编码satd值加权的帧间预测模式选择方法 | |
KR101072728B1 (ko) | Svc 비트스트림의 h.264 비트스트림으로의 트랜스코딩 장치 및 방법 | |
RU2809841C2 (ru) | Способ и устройство для внутрикадрового предсказания с использованием линейной модели | |
WO2024114817A1 (en) | A task-oriented video semantic coding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160914 Termination date: 20190716 |