CN1661985A - 一种多媒体码流的码率调整方法 - Google Patents
一种多媒体码流的码率调整方法 Download PDFInfo
- Publication number
- CN1661985A CN1661985A CN2004100071554A CN200410007155A CN1661985A CN 1661985 A CN1661985 A CN 1661985A CN 2004100071554 A CN2004100071554 A CN 2004100071554A CN 200410007155 A CN200410007155 A CN 200410007155A CN 1661985 A CN1661985 A CN 1661985A
- Authority
- CN
- China
- Prior art keywords
- packet
- bag
- memory
- buffer memory
- sign
- 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
技术领域
本发明涉及数字视频技术,特别涉及一种多媒体码流的码率调整方法。
背景技术
运动图象专家组(Motion Picture Experts Group:MPEG-2)是数字电视采用的国际标准,该标准规定了模拟视频、音频信号的压缩方式,并定义了用于视频压缩数据、音频压缩数据、控制数据及私有数据复用的数据结构,包括:节目流PS(Programme Stream)及传输流TS(Transport Stream)。其中传输流是一种固定包长的数据结构,主要用于压缩码流的传输。一般为188字节或是204字节,其中第1个字节是包同步字节为0x47H;接下来的第2、3字节的低13位是包标识PID(Packet Identifier),用以标识此数据包内携带的信息类别,比如视频数据、音频数据等,其基本的包结构如图1所示。
现有技术在MPEG-2发端送出固定码率的传输流,由于传输介质的不同或接收端的对码率的要求不同,因而固定码率的传输流适应性差。如果传输码流中节目码率较低,则浪费传输带宽,如果传输码流码率过高,超过接受端承受能力,则引起丢包、无法同步等错误。
发明内容
本发明的目的在于提供一种多媒体码流的码率调整方法,以解决现有技术中固定码率的传输流适应性差的问题。
为解决上述问题,本发明提供下述方案:
一种多媒体码流的码率调整方法,包括下述步骤:
检测传输码流中数据包的包标识;
根据所述包标识判断对应的数据包是否为空包,如果不是空包,则将该数据包写入存储器,否则禁止将该空包写入存储器;
当输出码率时钟有效时,判断所述存储器中是否具有一个整包的数据包,如果是则读出一个数据包并输出,否则输出一个空包。
所述的存储器为缓冲存储器。
采用现场可编程门阵列或其他可编程逻辑芯片检测数据包的包标识。
向缓存写数据包时以包为单为写入,即从该数据包的第一个字节开始。
所述缓存采用先进先出队列。
所述缓存深度至少为两个数据包的字节数。
根据所述缓存的半满中断信号是否有效来判断缓存是否具有一个整包的数据包。
本发明采用以FPGA为核心的硬件结构处理传输码流,在数据的读写、包标识PID检测、中断响应等处理具有延迟固定和处理速度快的特点,提高了处理效率和可靠性,有效的解决了码率不匹配引起的各种问题,充分的利用传输带宽。
附图说明
图1为MPEG-2传输流包结构示意图;
图2为本发明码率调整原理框图;
图3为本发明的流程图;
图4为码率调整功能框图。
具体实施方式
本发明通过调整传输流中的空包(即包标示PID为0x1ffH的数据包)数来调整输出的传输码流码率。调整的前提是输出码率必须大于输入码率中的有效码率,即在去掉输入码流中的空包后的有效码流必须小于设定的输出码率。
参阅图2所示,本发明采用先入先出队列(FIFO)实现传输流的缓存,即图中的第一缓存,并通过FIFO的状态来确定添加空包的时机,第一缓存的深度至少为2个数据包字节长度。PID检测、FIFO控制等可以采用现场可编程门阵列FPGA(Field Programable Gate Array)或是其他的可编程逻辑芯片完成,在本实施例中采用FPGA。
参阅图3和图4,本发明具体实现步骤如下:
步骤10:输入MPEG-2传输码流。
步骤20:由FPGA检测输入码流中数据包的包标示PID,如果包标示PID为0x1ffH,则确定数据包为空包,禁止FIFO的写信号以丢弃空包,否则进行步骤30。
禁止写信号是为了保证写入FIFO的数据中没有传输流空包。
由于包标示PID字段是在传输流数据包的第2、3字节,为了保证在检测PID字段完成后数据包能够完整的写入第一缓存,在FPGA内部实现最少3个字节的第二缓存。
步骤30:将数据包写入第一缓存。
为了保证以包为单位从第一缓存(FIFO)读出数据包,无论是在初始状态还是复位后重新启动都必须要从传输流数据包的第一个字节即同步字节开始写入第一缓存。
步骤40:输出码率时钟有效时,检查FIFO的状态,即检查FIFO中的数据包。
在本实施例中,通过判断FIFO的半满中断信号是否有效来检查FIFO的状态,也可采用其他方式。
步骤50:判断半满中断信号是否有效,如果有效则表示FIFO内部已经有超过FIFO深度一半的数据(即至少有一个数据包),进行步骤60,否则表明FIFO中数据还没有到半满,则进行步骤70。
步骤60:从FIFO中同步的读出一个数据包。
步骤70:从预设在FPGA内部空包存储区域同步的输出一个空包。
步骤80:输出码流。
输出码率时钟根据需不同情况和需求预先设定。
本发明方法在具体应用时,由于在输入去除空包而输出重新添加空包,这样会改变的输入码流的数据包间距,影响传输流的一个基本时钟特性(ProgramClock Reference,PCR),因此需要对PCR进行调整,保证PCR信息的正确性。
Claims (7)
1、一种多媒体码流的码率调整方法,其特征在于包括步骤:
检测传输码流中数据包的包标识;
根据所述包标识判断对应的数据包是否为空包,如果不是空包,则将该数据包写入存储器,否则禁止将该空包写入存储器;
当输出码率时钟有效时,判断所述存储器中是否具有一个整包的数据包,如果是则读出一个数据包并输出,否则输出一个空包。
2、如权利要求1所述的方法,其特征在于,所述存储器为缓冲存储器。
3、如权利要求1所述的方法,其特征在于,采用现场可编程门阵列或其他可编程逻辑芯片检测数据包的包标识。
4、如权利要求2所述的方法,其特征在于,向缓存写数据包时以包为单为写入,即从该数据包的第一个字节开始。
5、如权利要求2所述的方法,其特征在于,所述缓存采用先进先出队列。
6、如权利要求5所述的方法,其特征在于,所述缓存深度至少为两个数据包的字节数。
7、如权利要求6所述的方法,其特征在于,根据所述缓存的半满中断信号是否有效来判断缓存是否具有一个整包的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100071554A CN100461747C (zh) | 2004-02-25 | 2004-02-25 | 一种多媒体码流的码率调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100071554A CN100461747C (zh) | 2004-02-25 | 2004-02-25 | 一种多媒体码流的码率调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1661985A true CN1661985A (zh) | 2005-08-31 |
CN100461747C CN100461747C (zh) | 2009-02-11 |
Family
ID=35011061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100071554A Expired - Fee Related CN100461747C (zh) | 2004-02-25 | 2004-02-25 | 一种多媒体码流的码率调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461747C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951518A (zh) * | 2010-10-12 | 2011-01-19 | 高斯贝尔数码科技股份有限公司 | 一种低码率情形下的数字电视图像修正系统及修正方法 |
CN103001816A (zh) * | 2011-09-14 | 2013-03-27 | 华为技术有限公司 | 数据通信方法和设备 |
CN102239657B (zh) * | 2008-12-02 | 2014-04-09 | 松下电器产业株式会社 | 编码率设定方法和无线通信装置 |
CN106231359A (zh) * | 2016-07-21 | 2016-12-14 | 四川九州电子科技股份有限公司 | 基于多数据源动态复用算法的Mpeg TS码流发送方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69633808T2 (de) * | 1995-04-10 | 2005-11-03 | Hewlett-Packard Development Co., L.P., Houston | Interaktives Video-auf-Abrufsystem mit Paketübertragung über eine ATM-Fernmeldeleitung |
JP2001359049A (ja) * | 2000-06-14 | 2001-12-26 | Mitsubishi Electric Corp | プログラム記録再生方法および装置 |
CN1248506C (zh) * | 2002-02-07 | 2006-03-29 | 华为技术有限公司 | 数字视频压缩码流在三级准同步系列传输中的适配方法 |
CN1314269C (zh) * | 2002-04-02 | 2007-05-02 | 中兴通讯股份有限公司 | 用于运动图像专家组-2的节目参考时钟的调整方法及装置 |
CN1275467C (zh) * | 2002-04-29 | 2006-09-13 | 中兴通讯股份有限公司 | 运动图像专家组-2传送流的传输方法 |
-
2004
- 2004-02-25 CN CNB2004100071554A patent/CN100461747C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102239657B (zh) * | 2008-12-02 | 2014-04-09 | 松下电器产业株式会社 | 编码率设定方法和无线通信装置 |
CN103888220A (zh) * | 2008-12-02 | 2014-06-25 | 松下电器产业株式会社 | 终端装置、发送方法、基站装置、接收方法以及集成电路 |
CN103888220B (zh) * | 2008-12-02 | 2018-06-15 | 太阳专利信托公司 | 终端装置、发送方法、基站装置、接收方法以及集成电路 |
CN101951518A (zh) * | 2010-10-12 | 2011-01-19 | 高斯贝尔数码科技股份有限公司 | 一种低码率情形下的数字电视图像修正系统及修正方法 |
CN101951518B (zh) * | 2010-10-12 | 2012-05-16 | 高斯贝尔数码科技股份有限公司 | 一种低码率情形下的数字电视图像修正系统及修正方法 |
CN103001816A (zh) * | 2011-09-14 | 2013-03-27 | 华为技术有限公司 | 数据通信方法和设备 |
CN103001816B (zh) * | 2011-09-14 | 2016-08-10 | 华为技术有限公司 | 数据通信方法和设备 |
CN106231359A (zh) * | 2016-07-21 | 2016-12-14 | 四川九州电子科技股份有限公司 | 基于多数据源动态复用算法的Mpeg TS码流发送方法 |
CN106231359B (zh) * | 2016-07-21 | 2019-04-02 | 四川九州电子科技股份有限公司 | 基于多数据源动态复用算法的Mpeg TS码流发送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100461747C (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4689872B2 (ja) | ディジタルビデオシステムにおける擬似ヘッダ挿入によるディジタルビデオストリーム復号化方法および装置 | |
CN1255014A (zh) | 从mpeg-2比特流中去除填充比特的可编程滤波器 | |
CN101600107A (zh) | 调整视频录像播放速度的方法、系统及装置 | |
JP2001346205A (ja) | 信号の誤りを隠蔽する方法 | |
CN100339906C (zh) | 控制音频流缓冲的方法和装置 | |
US7940799B2 (en) | Code conversion method and device thereof | |
JP3052824B2 (ja) | オーディオ再生時刻調整回路 | |
CN1968213A (zh) | 封包串流处理系统及方法 | |
CN1669310A (zh) | 用于实施特技模式的视频数据传输方法和设备 | |
CN1661985A (zh) | 一种多媒体码流的码率调整方法 | |
CN100346644C (zh) | 一种数字视频截屏的实现方法 | |
CN1812591A (zh) | 用以执行资料流的信号同步的系统与方法 | |
AU719855B2 (en) | Decoding system for motion picture data | |
CN100388776C (zh) | 数字视频储存装置及储存数字视频数据的方法 | |
EP1773043A1 (en) | Method and system for storing data packets | |
CN1067831C (zh) | Mpeg-2视频解码器及其输入缓冲器的控制方法 | |
WO2004052015A1 (ja) | 符号化装置およびその方法 | |
CN1110951C (zh) | Hdtv视频解码器中的系统控制器 | |
JP3642550B2 (ja) | 映像信号伝送方法及びその装置 | |
EP1378119A1 (en) | Method and apparatus for controlling the insertion of stuffing data into a bitstream to be recorded | |
CN1248506C (zh) | 数字视频压缩码流在三级准同步系列传输中的适配方法 | |
JP2002223449A (ja) | 画像圧縮符号化装置及び画像圧縮符号化方法 | |
CN1282363C (zh) | Dvb数字电视延时播出系统 | |
CN100350765C (zh) | 影音播放系统传输数据的方法 | |
KR100662651B1 (ko) | 디지털 비디오 시스템에서 데이터를 리코딩 매체로 기록하기 위한 방법 및 디바이스 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20130225 |