CN102118618B - 基于场编码的h.264多码率视频流实现方法 - Google Patents
基于场编码的h.264多码率视频流实现方法 Download PDFInfo
- Publication number
- CN102118618B CN102118618B CN 201110077730 CN201110077730A CN102118618B CN 102118618 B CN102118618 B CN 102118618B CN 201110077730 CN201110077730 CN 201110077730 CN 201110077730 A CN201110077730 A CN 201110077730A CN 102118618 B CN102118618 B CN 102118618B
- Authority
- CN
- China
- Prior art keywords
- field
- video flowing
- giving
- mode
- data
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于场编码(PAFF)的H.264多码率视频流实现方法,包括:对于一路基于场编码或将帧输入源以场为单位编码的H.264视频流,以对码流舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,舍弃码流的部分场;保持H.264视频流中实际视频编码的片数据(Slice data)不变,重新设置H.264视频流的序列参数集(SPS)和片头(Slice Header)的信息,形成H.264标准视频流。利用本发明所实现的多码率视频流方案,通过多种特定舍弃与封装方法生成具有不同码率和/或分辨率的H.264标准视频流,节约了编码运算资源,无须更新现有视频解码和播放系统,大幅降低了用户成本,提高了方案可行性。
Description
技术领域
本发明属于视频处理技术领域,具体涉及一种基于场编码的H.264多码率视频流实现方法。
背景技术
目前视频被越来越多地由各种各样的应用所采用,相应地,有各种各样的播放设备,这些设备包括计算机,平板电脑、智能手机、电视。针对这些设备的视频流的带宽和分辨率必需是不同的。
为了更好地兼容特定的观看设备以及信道带宽,传统方法须采用不同的设置对原始视频流进行多次编码。每一个设置的组合向用户产生一个满足视频流传输所需带宽以及分辨率的视频流。这种做法是十分昂贵的。它将消耗大量的编码计算资源,以及网络传输特别是骨干网络传输带宽资源。
H.264SVC(H.264可分级编码)是另一种实现多码率视频流的方法,作为H.264标准的一个扩展最初由JVT在2004年开始制定,并于2007年7月获得ITU批准。H.264SVC在编码产生的编码视频时间上(帧率)、空间上(分辨率)可扩展,可产生不同帧速率、分辨率或质量等级的解码视频。在理想的情形下,视频经过SVC编码器编码一次。编码后的视频流如被全部解码,将得到全分辨率、全帧率的视频。如果被部分解码,则可以依据解码数据的多少而得到部分分辨率或是部分帧率的视频。但SVC编码的问题在于SVC编码器消耗的计算资源远高于一路普通的H.264编码器,同时SVC解码需要专门的SVC解码器,这就意味着需要更新用户端大量的解码播放系统,而这意味着巨大的投入。
综上所述,现有技术中亟待出现一种能够在不显著增加编码所消耗的运算资源的情况下生成多码率视频流的实现方法,并且希望所生成的多码率视频流能够与目前广泛普及的H.264解码器实现兼容,从而避免对解码器的升级投入。
发明内容
针对现有技术中的上述问题,本发明提供了一种基于场编码(PAFF)的H.264多码率视频流实现方法。利用本方法所实现的多码率视频流方案,仅需一路编码视频,无须多次复杂的编码运算,且无须更新现有的视频解码和播放系统,可大幅降低用户的投资成本,提高了方案的可行性,有利于多码率视频流的推广应用。
为了达到上述设计目的,本发明采用的技术方案如下:
一种基于场编码的H.264多码率视频流实现方法,其特征在于:
对于一路基于场编码或将帧输入源以场为单位编码的H.264视频流,以对码流舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,舍弃码流的部分场;
保持H.264视频流中实际视频编码的片数据(Slice data)不变,重新设置H.264视频流的序列参数集(SPS)和片头(Slice Header)的信息,形成H.264标准视频流。
在上述方法中,对基于场编码或将帧输入源以场为单位编码的H.264视频流以NAL为单位进行拆分。
在上述方法中,优选地,所述舍弃码流的部分场的方式为:舍弃码流中若干P场和B场数据,并且被舍弃的场不能作为保留下来的场的参考场,并且属于同一帧的一对奇、偶场同时被舍弃或保留。
或者,优选地,所述舍弃码流的部分场的方式为:舍弃码流中的全部偶场数据,只保留奇场数据。
或者,优选地,所述舍弃码流的部分场的方式为:舍弃码流中的全部偶场数据,只保留奇场数据;然后舍弃奇场中的若干P场和B场数据,其中被舍弃的场不能作为保留下来的场的参考场。
或者,优选地,所述舍弃码流的部分场的方式为:舍弃码流中的全部奇场数据,只保留偶场数据;
或者,优选地,所述舍弃码流的部分场的方式为:舍弃码流中的全部奇场数据,只保留偶场数据;然后舍弃偶场中的若干P场和B场数据,其中被舍弃的场不能作为保留下来的场的参考场。
进一步优选地,对于所述舍弃部分场的码流,以舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,进一步继续舍弃码流的部分场。即对舍弃部分场之后的码流可以继续用各种舍弃方式进一步舍弃其中的部分场
进一步优选地,可以首先将所述基于场编码或将帧输入源以场为单位编码的H.264视频流分为若干段,然后对各段码流以舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,分别舍弃各段码流的部分场。即可以对视频流划分不同段并以不同的舍弃方法来舍弃各段中的部分场。
进一步优选地,在所述重新封装中,被重新设置的信息包括分辨率信息、场/帧标记信息和场/帧序号信息。
更进一步优选地,在所述重新封装中,所述场/帧序号信息按照所述舍弃部分场的码流重新排序,并修改H.264视频流的相关数据域。
更进一步优选地,在所述重新封装中,对舍弃了全部奇场或偶场的视频流,重新设置序列参数集(SPS)中的分辨率信息,并且将序列参数集(SPS)和片头(Slice Header)中的场模式标记修改为帧标记模式。
本发明所述的H.264多码率视频流实现方法,其优势之一在于:对于基于场编码或将帧输入源以场为单位编码的H.264视频流,只是通过以多种特定舍弃方法来舍弃其中的部分场,即可拆分出多种具有不同码率和/或分辨率的H.264标准视频流,从而无须对该视频流进行实际的解码和重新编码运算即可实现多种码率及分辨率,相比传统方式大幅节约了编码运算资源,提高了多码流视频流的生成效率。
本发明所述的H.264多码率视频流实现方法,另一优势在于:通过特定舍弃方法以及与舍弃方法对应的特定重新封装方式,所生成的视频流仍为H.264标准视频流,即仍然符合H.264标准的视频流格式,因而可以由已经广泛普及的H.264标准解码器直接解码和播放,无需升级现有的解码和播放系统,这降低了用户的投资成本,有利于多码率和多分辨率视频流的推广应用。
值得注意的是,对于一路H.264视频流,并非可通过任意舍弃方式舍弃其中部分数据,并修改封装数据,就能够构成一个H.264标准视频流。对于某些舍弃方式,将导致舍弃后的视频流参考数据缺失,并导致无法正常解码。而与特定的舍弃方式相对应,必须采用特定的封装修改方式,否则也将导致视频封装数据与视频实际的不一致。因而,本发明提供了特定舍弃方式,并且提供了与特定舍弃方式相适应的重新封装方式,从而保证了能够获得具有不同码率和/或分辨率的H.264标准视频流。
综上所述,本发明的有益效果是:针对一路基于场编码或将帧输入源以场为单位编码的H.264视频流,无须对视频的重新实际解码和编码,即可生成出多个不同分辨率和带宽的新的H.264标准视频流,节约运算资源,提高多码率视频流的生成效率,无需升级解码端,可大幅降低用户的投资成本。
具体实施方式
为进一步详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合具体实施例详予说明。
在具体实施例中,对一路基于场编码(PAFF)的原始H.264视频流,按本发明所述的实现方法拆分并重新封装,生成多个具有不同分辨率和码率的H.264标准视频流。其中基于场编码的原始H.264视频流记为Stream0,设定其分辨率为720x576,帧速率为每秒25帧即50场,平均带宽2Mbps,最大参考帧为2,最大GOP为50帧。
S100:对视频流Stream0以舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,舍弃码流的部分场。
具体来说,S100可以NAL为单位对H.264原始视频流进行拆分,并按如下不同方式分别进行舍弃:
S101:舍弃视频流Stream0中的若干P、B类型的场数据,舍弃时要求被去掉的场,不能作为保留下来的场的参考帧;且舍弃时属于同一帧的一对奇、偶场将统一去掉或保留;可选地,舍弃的奇、偶场数据不超过5对。记经过该舍弃方式处理后的视频流为Stream1。
S102:舍弃视频流Steam0中的全部奇场数据,只保留偶场数据,记经过该舍弃方式处理后的视频流为Stream2。
S103:舍弃视频流Steam0中的全部奇场数据,只保留偶场的视频数据;然后再舍弃偶场数据中的若干P、B类型的场,舍弃时要求被去掉的场,不能作为保留下来的场的参考帧;可选地,被舍弃的偶场数据不超过5个,记经过该舍弃方式处理后的视频流为Stream3。
S104:舍弃视频流Stream1中的全部奇场数据,只保留偶场的视频数据,记经过该方法处理后的视频流为Stream4。可见,S104对于所述舍弃部分场的码流Stream1,以舍弃全部奇场的方式进一步继续舍弃码流的部分场。
对舍弃部分场的码流,S200通过对进行舍弃操作后的视频流进行重新封装,对应不同舍弃方法可形成具有不同码率和/或分辨率的H.264标准视频流。S200的具体实现方法如下:
以NAL为单位进行重新封装处理。其中,对于H.264视频流中的片数据(Slice data)保持不变,本领域技术人员所公知的,在H.264视频流中片数据(Slice data)表示针对视频内容的实际视频编码数据。根据舍弃操作后的视频流在分辨率、场/帧编码模式、场/帧序号等方面特征的变化,将H.264视频流中的序列参数集(SPS)和片头(Slice Header)信息中的分辨率信息、场/帧标记信息和场/帧序号信息重新设置,包括:
分辨率重新设置:重新设置序SPS中的mb_width、mb_height信息;
场/帧标记重新设置:重新设置b_mb_adaptive_frame_filed标记、b_field_pic标记、b_bottom_field标记;
场/帧序号重新设置:按舍弃部份场后的视频序列重新排序,重新设置pic_order值,并依据pic_order值修改reference picture list reordering syntax中的与场/帧序号相关的数据域信息,包括:reordering_of_pic_nums_idc、abs_diss_pic_num_minus1和long_term_pic_num。
本领域技术人员所公知的,此处涉及的NAL,片数据Slice data,序列参数集SPS,片头Slice Header等概念以及mb_width、mb_height、b_mb_adaptive_frame_filed、b_field_pic、b_bottom_field、pic_order、referencepicture list reordering syntax、reordering_of_pic_nums_idc、abs_diss_pic_num_minus1和long_term_pic_num等参数标记在ITU组织所发布的H.264协议中均具有相应记载和定义,本领域技术人员能够明确其含义和实现方式,在此不再赘述。
对于在S100的舍弃操作中形成的不同的视频流,S200的具体设置如下:
S201:对Stream1视频流,SPS、SliceHeader信息无须改变,其分辨率仍为原视频流的分辨率。场/帧序号按舍弃后的视频序列重新排序并设置相关数据域。
S202:对Stream2视频流,SPS中分辨率信息改变,其分辨率为原视频流的分辨率的一半,即新视频流的图像分辨率宽度与原视频流相等,分辨率高度为原视频流的一半。SPS、SliceHeader信息中将原有的场模式标记修改帧标记模式。场/帧序号按舍弃后的视频序列重新排序并设置相关数据域。
S203:对Stream3视频流,SPS中分辨率信息改变,其分辨率为原视频流的分辨率的一半,即新视频流的图像宽度与原视频流相等,高度为原视频流的一半。SPS、SliceHeader信息中将原有的场模式标记修改帧标记模式。场/帧序号按舍弃后的视频序列重新排序并设置相关数据域。
S204:对Stream4视频流,SPS中分辨率信息改变,其分辨率为原视频流的分辨率的一半,即新视频流的图像宽度与原视频流相等,高度为原视频流的一半。SPS、SliceHeader信息中将原有的场模式标记修改帧标记模式。场/帧序号按舍弃后的视频序列重新排序并设置相关数据域。
通过以上重新封装的方法,生成具有不同分辨率和/或码率的H.264标准视频流,即Stream1-Stream4
以下为本具体实施例所产生各视频流的关键信息:
码流 | 分辨率 | 平均帧率 | 平均带宽 |
Stream0 | 720×576 | 25fps | 2Mbps |
Stream1 | 720×576 | 21~23fps | 1.90~1.95Mbps |
Stream2 | 720×288 | 25fps | 1.10~1.25Mbps |
Stream3 | 720×288 | 21~23fps | 0.95~1.05Mbps |
Stream4 | 720×288 | 21~23fps | 0.95~1.05Mbps |
[0049] 以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围的内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。
Claims (11)
1.一种基于场编码的H.264多码率视频流实现方法,其特征在于,
对于一路基于场编码或将帧输入源以场为单位编码的H.264视频流,以对码流舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,舍弃码流的部分场;
保持H.264视频流中实际视频编码的片数据(S1ice data)不变,重新设置H.264视频流的序列参数集(SPS)和片头(SliceHeader)的信息,形成H.264标准视频流。
2.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述舍弃码流的部分场的方式为舍弃码流中若干P场和B场数据,并且被舍弃的场不能作为保留下来的场的参考场,并且属于同一帧的一对奇、偶场同时被舍弃或保留。
3.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述舍弃码流的部分场的方式为舍弃码流中的全部偶场数据,只保留奇场数据。
4.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述舍弃码流的部分场的方式为舍弃码流中的全部偶场数据,只保留奇场数据;然后舍弃奇场中的若干P场和B场数据,其中被舍弃的场不能作为保留下来的场的参考场。
5.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述舍弃码流的部分场的方式为舍弃码流中的全部奇场数据,只保留偶场数据。
6.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述舍弃码流的部分场的方式为舍弃码流中的全部奇场数据,只保留偶场数据;然后舍弃偶场中的若干P场和B场数据,其中被舍弃的场不能作为保留下来的场的参考场。
7.根据权利要求1-6中任一项所述的基于场编码的H.264多码率视频流实现方法,其特征在于,对于所述舍弃部分场的码流,以舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,进一步继续舍弃码流的部分场。
8.根据权利要求1-6中任一项所述的基于场编码的H.264多码率视频流实现方法,其特征在于,首先将所述基于场编码或将帧输入源以场为单位编码的H.264视频流分为若干段,然后对各段码流以舍弃全部奇场或全部偶场的方式,或者以舍弃部分P场和B场的方式,或者以上述两种舍弃方式的组合,分别舍弃各段码流的部分场。
9.根据权利要求1所述的基于场编码的H.264多码率视频流实现方法,其特征在于,被重新设置的信息包括分辨率信息、场/帧标记信息和场/帧序号信息。
10.根据权利要求9所述的基于场编码的H.264多码率视频流实现方法,其特征在于,所述场/帧序号信息按照所述舍弃部分场的码流重新排序,并修改H.264视频流的相关数据域。
11.根据权利要求9所述的基于场编码的H.264多码率视频流实现方法,其特征在于,对舍弃了全部奇场或偶场的视频流,重新设置序列参数集(SPS)中的分辨率信息,并且将序列参数集(SPS)和片头(Slice Header)中的场模式标记修改为帧标记模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110077730 CN102118618B (zh) | 2011-03-30 | 2011-03-30 | 基于场编码的h.264多码率视频流实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110077730 CN102118618B (zh) | 2011-03-30 | 2011-03-30 | 基于场编码的h.264多码率视频流实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102118618A CN102118618A (zh) | 2011-07-06 |
CN102118618B true CN102118618B (zh) | 2012-10-31 |
Family
ID=44217186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110077730 Active CN102118618B (zh) | 2011-03-30 | 2011-03-30 | 基于场编码的h.264多码率视频流实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102118618B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107613297B (zh) | 2012-02-04 | 2020-10-23 | Lg 电子株式会社 | 视频编码方法、视频解码方法和使用其的设备 |
CN109600616B (zh) * | 2018-11-27 | 2022-11-04 | 西安汇明科技发展有限责任公司 | 一种基于h.264视频压缩标准的码流封装方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668025A (zh) * | 2004-03-10 | 2005-09-14 | 浙江大学 | 融合数据、语音、视频的多码率编解码及其等时传输方法 |
US7336709B2 (en) * | 2001-05-22 | 2008-02-26 | Intel Corporation | Method and apparatus for multi-rate encoding of video sequences |
CN101202912A (zh) * | 2007-11-30 | 2008-06-18 | 上海广电(集团)有限公司中央研究院 | 一种平衡码率和图像质量的码率控制方法 |
CN101222630A (zh) * | 2007-11-30 | 2008-07-16 | 武汉大学 | 一种实现实时双帧参考的时域可分级视频编码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379496B2 (en) * | 2002-09-04 | 2008-05-27 | Microsoft Corporation | Multi-resolution video coding and decoding |
-
2011
- 2011-03-30 CN CN 201110077730 patent/CN102118618B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7336709B2 (en) * | 2001-05-22 | 2008-02-26 | Intel Corporation | Method and apparatus for multi-rate encoding of video sequences |
CN1668025A (zh) * | 2004-03-10 | 2005-09-14 | 浙江大学 | 融合数据、语音、视频的多码率编解码及其等时传输方法 |
CN101202912A (zh) * | 2007-11-30 | 2008-06-18 | 上海广电(集团)有限公司中央研究院 | 一种平衡码率和图像质量的码率控制方法 |
CN101222630A (zh) * | 2007-11-30 | 2008-07-16 | 武汉大学 | 一种实现实时双帧参考的时域可分级视频编码方法 |
Non-Patent Citations (1)
Title |
---|
汪一鸣 等.序列图像的多码率混合编码及其性能分析.《通信学报》.2011,第22卷(第11期), * |
Also Published As
Publication number | Publication date |
---|---|
CN102118618A (zh) | 2011-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101690194B (zh) | 对视频数据编码和/或解码的方法和设备 | |
TWI527465B (zh) | 已寫碼區塊旗標寫碼 | |
CN102150428B (zh) | 用于使用自适应分段的视频编码的系统和方法 | |
KR102290420B1 (ko) | 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
CN103733623B (zh) | 视频译码中用于各种维度的译码参数集 | |
TWI523492B (zh) | 在視訊寫碼中之非巢套式補充增強資訊訊息 | |
ES2686936T3 (es) | Códec 3DVC basado en MVC que soporta el modo de predicción de movimiento de visualización interna (IVMP) | |
CN103843342B (zh) | 图像解码方法 | |
US10368098B2 (en) | Method and device for transmitting prediction mode of depth image for interlayer video encoding and decoding | |
TW201804806A (zh) | 在非僅四分樹分割之視頻寫碼之量化資訊的發信號 | |
CN104137561B (zh) | 解码图像的方法和使用其的装置 | |
CN102210144B (zh) | 用于快速频道转换的方法和系统 | |
KR20130110129A (ko) | 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
KR20090028369A (ko) | 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 | |
CN102577375A (zh) | 用于三维视频的层间依赖性信息 | |
CN104471942A (zh) | 重新使用参数集用于视频译码 | |
TWI739042B (zh) | 視訊編碼方法 | |
CN104270645A (zh) | 用于并行视频编码和解码的方法、设备和系统 | |
CN105284114A (zh) | 视频信号处理方法及装置 | |
CN112740668B (zh) | 译码方法、设备、系统 | |
US10230985B2 (en) | Video encoding and decoding method and apparatus using the same | |
CN113366855A (zh) | 基于条件的非对称四叉树分割 | |
CN105472371A (zh) | 视频码流处理方法和装置 | |
US20200059647A1 (en) | Guided transcoding | |
CN113396586A (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 | ||
C53 | Correction of patent for invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Yi Inventor after: Luo Han Inventor after: Yao Wentao Inventor before: Li Yi Inventor before: Lohan.Yao Wentao |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: LI YI LUO HAN . YAO WENTAO TO: LI YI LUO HAN YAO WENTAO |