CN100461747C - 一种多媒体码流的码率调整方法 - Google Patents
一种多媒体码流的码率调整方法 Download PDFInfo
- Publication number
- CN100461747C CN100461747C CNB2004100071554A CN200410007155A CN100461747C CN 100461747 C CN100461747 C CN 100461747C CN B2004100071554 A CNB2004100071554 A CN B2004100071554A CN 200410007155 A CN200410007155 A CN 200410007155A CN 100461747 C CN100461747 C CN 100461747C
- Authority
- CN
- China
- Prior art keywords
- packet
- buffer memory
- bag
- gate array
- code
- 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.)
- Expired - Fee Related
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 (5)
1.一种多媒体码流的码率调整方法,其特征在于,包括步骤:
采用现场可编程门阵列或其他可编程逻辑芯片检测传输码流中数据包的包标识;
将数据包通过所述现场可编程门阵列或其他可编程逻辑芯片中的第二缓存进行缓存后,根据所述包标识判断对应的数据包是否为空包,如果不是空包,则将该数据包写入所述现场可编程门阵列或其他可编程逻辑芯片外的第一缓存,否则禁止将该空包写入所述第一缓存;
当输出码率时钟有效时,判断所述第一缓存中是否具有一个整包的数据包,如果是则从所述第一缓存同步地读出一个数据包并输出,否则从所述现场可编程门阵列或其他可编程逻辑芯片中的内部空包存储区域同步地输出一个空包。
2.如权利要求1所述的方法,其特征在于,向所述第一缓存写数据包时以包为单位写入,即从该数据包的第一个字节开始。
3.如权利要求1所述的方法,其特征在于,所述第一缓存采用先进先出队列。
4.如权利要求3所述的方法,其特征在于,所述第一缓存深度至少为两个数据包的字节数。
5.如权利要求4所述的方法,其特征在于,根据所述第一缓存的半满中断信号是否有效来判断所述第一缓存是否具有一个整包的数据包。
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 CN1661985A (zh) | 2005-08-31 |
CN100461747C true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888220B (zh) * | 2008-12-02 | 2018-06-15 | 太阳专利信托公司 | 终端装置、发送方法、基站装置、接收方法以及集成电路 |
CN101951518B (zh) * | 2010-10-12 | 2012-05-16 | 高斯贝尔数码科技股份有限公司 | 一种低码率情形下的数字电视图像修正系统及修正方法 |
CN103001816B (zh) * | 2011-09-14 | 2016-08-10 | 华为技术有限公司 | 数据通信方法和设备 |
CN106231359B (zh) * | 2016-07-21 | 2019-04-02 | 四川九州电子科技股份有限公司 | 基于多数据源动态复用算法的Mpeg TS码流发送方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1138801A (zh) * | 1995-04-10 | 1996-12-25 | 计数设备公司 | 独立于传送定时进行调整和传送定时程序数据的方法和设备 |
CN1335711A (zh) * | 2000-06-14 | 2002-02-13 | 三菱电机株式会社 | 程序记录再现方法和装置 |
CN1437407A (zh) * | 2002-02-07 | 2003-08-20 | 华为技术有限公司 | 数字视频压缩码流在三级准同步系列传输中的适配方法 |
CN1449192A (zh) * | 2002-04-02 | 2003-10-15 | 深圳市中兴通讯股份有限公司 | 用于运动图像专家组-2的节目参考时钟的调整方法及装置 |
CN1455597A (zh) * | 2002-04-29 | 2003-11-12 | 深圳市中兴通讯股份有限公司 | 运动图像专家组-2传送流的传输方法 |
-
2004
- 2004-02-25 CN CNB2004100071554A patent/CN100461747C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1138801A (zh) * | 1995-04-10 | 1996-12-25 | 计数设备公司 | 独立于传送定时进行调整和传送定时程序数据的方法和设备 |
CN1335711A (zh) * | 2000-06-14 | 2002-02-13 | 三菱电机株式会社 | 程序记录再现方法和装置 |
CN1437407A (zh) * | 2002-02-07 | 2003-08-20 | 华为技术有限公司 | 数字视频压缩码流在三级准同步系列传输中的适配方法 |
CN1449192A (zh) * | 2002-04-02 | 2003-10-15 | 深圳市中兴通讯股份有限公司 | 用于运动图像专家组-2的节目参考时钟的调整方法及装置 |
CN1455597A (zh) * | 2002-04-29 | 2003-11-12 | 深圳市中兴通讯股份有限公司 | 运动图像专家组-2传送流的传输方法 |
Non-Patent Citations (2)
Title |
---|
基于EPLD实现MPEG-2中传输流的码率调整. 谷瑜青,茹国宝,甘海慧.系统工程与电子技术,第25卷第3期. 2003 |
基于EPLD实现MPEG-2中传输流的码率调整. 谷瑜青,茹国宝,甘海慧.系统工程与电子技术,第25卷第3期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN1661985A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4689872B2 (ja) | ディジタルビデオシステムにおける擬似ヘッダ挿入によるディジタルビデオストリーム復号化方法および装置 | |
CN1162007C (zh) | 从mpeg-2比特流中去除填充比特的可编程滤波器 | |
CN101674486B (zh) | 一种流媒体音视频同步方法及系统 | |
JP3633884B2 (ja) | 再生画像伝送装置 | |
US7940799B2 (en) | Code conversion method and device thereof | |
US6831931B2 (en) | System and method for remultiplexing of a filtered transport stream | |
US6577813B1 (en) | Transmitting system and transmitting apparatus | |
CN103686312A (zh) | 一种dvr多路音视频记录方法 | |
US7240013B2 (en) | Method and apparatus for controlling buffering of audio stream | |
US7120171B2 (en) | Packet data processing apparatus and packet data processing method | |
CN100461747C (zh) | 一种多媒体码流的码率调整方法 | |
US6687305B1 (en) | Receiver, CPU and decoder for digital broadcast | |
US8014452B2 (en) | Format conversion circuit | |
AU719855B2 (en) | Decoding system for motion picture data | |
JP3185863B2 (ja) | データ多重化方法および装置 | |
EP1581004B1 (en) | Encoder and its method | |
US20070081528A1 (en) | Method and system for storing data packets | |
CN1110160C (zh) | 含环形缓冲存储器的数据处理装置 | |
JP3642550B2 (ja) | 映像信号伝送方法及びその装置 | |
CN100388776C (zh) | 数字视频储存装置及储存数字视频数据的方法 | |
KR100991122B1 (ko) | 데이터 패킷 전송 방법 및 디바이스 | |
JP3369463B2 (ja) | デジタル信号伝送装置 | |
EP1222824B1 (en) | Method and device for writing data to a recording medium in a digital video system | |
CN113784188A (zh) | 一种ts流硬件解析方法及系统 | |
JP3367409B2 (ja) | 情報再生装置 |
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 |