CN1984339A - 用于存储数据分组的方法和*** - Google Patents
用于存储数据分组的方法和*** Download PDFInfo
- Publication number
- CN1984339A CN1984339A CNA2006101718166A CN200610171816A CN1984339A CN 1984339 A CN1984339 A CN 1984339A CN A2006101718166 A CNA2006101718166 A CN A2006101718166A CN 200610171816 A CN200610171816 A CN 200610171816A CN 1984339 A CN1984339 A CN 1984339A
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- data block
- packet
- grouping
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L13/00—Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00
- H04L13/02—Details not particular to receiver or transmitter
- H04L13/08—Intermediate storage means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种对将数据分组存储到缓冲器存储空间进行管理的方法,每个数据分组由至少两个数据块所组成,包括接收(40)当前数据分组的数据块的步骤和将接收的当前数据分组的数据块写入(42)缓冲器的空闲存储空间中。如果在缓冲器(12)中没有足够的空闲存储空间用于写入当前数据分组的接收的数据块,那么该方法停止(48)写入当前数据分组的接收的数据块,并将当前数据分组的至少一个被写入的数据块定义(48)为空闲存储空间,从而下一数据分组的接收的数据块可在当前数据分组的被写入的数据块上重写。应用于数字电视接收。
Description
技术领域
本发明涉及一种对将数据分组存储至缓冲器的存储空间进行管理的方法。
背景技术
全动数字电视需要大量的存储和数据传输带宽。因此,数字电视***采用视频压缩算法来减少必要的存储量和数据传输带宽。目前的数字电视***采用MPEG或者MPEG-2编码以减少所需的数据传输带宽。MPEG-2在ITU-TH.222.0(ISO/IEC 13818-1)“Generic Coding of Moving Picture And AssociatedAudio Information”中被定义。因此,视听序列,诸如电影或其他内容,以MPEG-2压缩格式被存储在媒体服务器上,并且所述视听序列被编码且通常被转化成模拟格式以便显示和/或传输给用户。
众所周知,按照MPEG2的传输流(TS)是一种包括压缩数字视频、压缩数字音频等的流。该TS被用于数字广播中,并且包含多路复用的多个节目。
有两种MPEG-2接收器被采用。首先,在机顶盒中,通过专用的硬件功能,也就是能够处理到来位流的MPEG-2 TS多路分离器,来处理到来的MPEG-2TS分组。在这种情况下,没有数据溢出。而且,如果有诸如信号暂时丢失的意外出现的话,MPEG-2 TS读取器将能够通过使用专用硬件功能容易地重新同步。
第二种MPEG-2接收器是使用利用PCI或USB接口的PC。通常,PCIMPEG-2 TS接收器是PCI主设备,并且没有FIFO溢出发生,因为通过专用的硬件将MPEG2-TS分组写入到PC***存储器中。此外,USB MPEG2-TS接收器通常采用等时的USB端点传输MPEG2-TS分组,这保证了数据读取位速率,而这类传输中的主要缺陷在于它保留了USB带宽(无论实际的位速率是多少)。
因此,所有这些MPEG-2接收器在以高复杂性为代价的前提下均不会遭遇溢出。
另一方面,有更简单的不采用USB等时端点的USB MPEG-2TS接收器。
然而,无采用哪种传输模式,卫星、有线或陆地,在这些接收器中均可能发生数据溢出和溢出管理的问题。传统上,溢出管理不能够保证大于接收数据位速率的数据读取位速率(例如,可能暂时过载的PC),并且不能够保持MPEG-2TS分组所需的同步。特别地,保证MPEG-2TS读取器能够接收完整的MPEG-2TS分组并且在其数据读取位速率暂时低于接收位速率时保持同步是关键的。
因此,需要一种改善的***和方法,用于以简单因而经济的方式存储数据分组和管理溢出情况。
发明内容
相应地,本发明提供一种如权利要求1所述的存储数据分组的方法。所述方法的其他特征将在从属权利要求2-5中被详述。
本发明进一步提供一种如权利要求6或者7所述的用于存储数据分组的***。
本发明进一步提供如权利要求8所述的MPEG-2TS接收器,和如权利要求9所述的计算机程序产品。
附图说明
图1表示一个数据分组;
图2表示一个用于存储诸如图1中数据分组的***;
图3表示在溢出情况下的图2的***;
图4A和4B是管理数据分组存储的方法的框图。
详细说明
图1表示由四个数据块db1、db2、db3和db4组成的数据分组DP。在所述的实施例中,数据分组DP是MPEG-2传输流分组。每个数据分组db1、db2、db3和db4分别包含数据A、B、C和D。
图2表示用于存储数据分组(比如图1中的数据分组DP)的***10。***10包含具有存储空间的先进先出缓冲器12,和对将数据分组存储至缓冲器12的存储空间进行管理的装置14。在接下来的描述中,缓冲器和它的存储空间将由标记12所标识。
缓冲器12包含八个数据单元(cell),dc1至dc8,用于存储数据。每个单元与一个唯一的地址相关。缓冲器12可以由计算机的随机存取存储器(RAM)来实现。
在这里的描述中,数据单元和数据块具有相同的大小,例如一个字节。当然,它们也可以具有不同的大小。
管理装置14包括读指针管理单元16和写指针管理单元18。
读指针管理单元管理读指针R,它指示将要从中读出数据的数据单元在缓冲器存储空间12的位置。在图2中,读指针R包含数据单元dc4的地址。
写指针管理单元18管理写指针W,它指示将要被写入数据的数据单元在缓冲器存储空间12的地址。在图2中,写指针W包含数据单元dc6的地址。
指针R和W沿着从数据单元dc1到数据单元dc8、再返回到数据单元dc1的相同行进循环路径行进过缓冲器存储空间。
管理装置14还能够存储数据分组的第一数据块被写入的数据单元的地址。这将在下面被解释。
更可取地,读/写指针被存储在指针寄存器(未示出)中。
图3表示溢出情况,即没有足够空闲存储空间用于写入接收到的数据块的情况。空闲存储空间既可以是没有数据的数据单元,也可以是具有已读取数据的数据单元。因此,缓冲器12的空闲存储空间由沿着进行路径从写指针W到读指针R之间的“距离”构成,例如在写指针W和读指针R之间的数据单元。
在图3的溢出情况中,写指针W已经在行进路径上追上了读指针R。因此,缓冲器的所有存储空间都装满未读出的数据。
在所描述的示例中,前三个数据块db1、db2和db3已经被接收,并且它们的对应数据A、B和C已经被写入。然而,不能写入接收的数据块db4的数据D。
图4A和4B是对将数据分组存储到缓冲器12的存储空间进行管理的方法的框图,它由管理装置14所实现。
存储数据分组的管理包括如图4A所示的数据分组读取方法和如图4B所示的数据分组写入方法。这两种方法将被同时并行执行。
参考图4A,读取方法包括第一个步骤30,读取在由读指针R所指示的数据单元中写入的数据。
本方法继续到步骤32,测试可读数据是否写入在下一数据单元。如果并非如此,也就是,如果写指针指示此下一数据单元,那么等待新数据的写入,这由引导回测试步骤32的箭头34所表示。
如果有可读数据,也就是,如果写指针没有指示下一数据单元,那么本方法继续到步骤36,递增读指针R以便它指示下一数据单元,并且返回到读取步骤30。
现在,参照图4B,写入方法包括第一个步骤40,接收正被接收的当前数据分组的数据块。
然后,方法包括步骤42,测试是否有足够的空闲存储空间用于写入新的随后接收的数据块。这通过确定从写指针到读指针的行进循环路径上的存储空间来实现。
如果存在足够的空闲存储空间,也就是,如果写指针W不等于读指针R,那么方法继续到步骤44,将接收的数据块写入到由写指针W所指示的数据单元中,并且递增写指针W,以便它指示行进循环路径的下一数据单元。
如果被写入的数据块是数据分组的第一个块,例如图1中的数据分组DP的数据块db1,那么它的位置地址由管理装置14所存储。这由图4B上的块46所表示。接着方法返回到接收步骤40,管理随后接收到的当前数据分组的数据块的存储。
如果没有足够的空闲存储空间,也就是,如果写指针W等于读指针R,那么方法继续到步骤48,停止写入当前数据分组的接收的数据块,并且将写指针W移动至当前正接收的数据分组的第一个写入数据块的位置地址,所述位置地址在步骤46中被存储。
然后,在等待步骤50,当前数据分组的新接收的数据块被丢弃,也就是,不写入到缓冲器12中。在接收到新数据分组的第一个块时,方法进行到接收步骤40。
由于写指针W的移动,能够有利地在先前数据分组的已经被写入的数据块上重写所接收的下一个数据分组的数据块。
实际上,在诸如MPEG-2数据接收的许多应用中,一个不完整的数据分组不能够被使用,并且之后被应用采用缓冲器12所丢弃。
重写此数据分组为随后的数据分组提供更多的空闲存储空间,因此减少再次发生溢出的机会。
Claims (9)
1、对将数据分组存储到缓冲器(12)的存储空间进行管理的方法,每个数据分组(DP)包括至少两个数据块(db1,db2,db3,db4),包括步聚:
-接收(40)当前数据分组的数据块,
-将接收的当前数据分组的数据块写入(42)缓冲器(12)的空闲存储空间中,
其特征在于:
-如果在缓冲器(12)中没有足够的空闲存储空间用于写入当前数据分组的接收的数据块,那么:
-停止(48)写入当前数据分组的接收的数据块,和
-将当前数据分组的至少一个被写入的数据块定义(48)为空闲存储空间的一部分,从而下一数据分组的接收的数据块可在当前数据分组的被写入的数据块上重写。
2、如权利要求1的方法,其特征在于,对于定义步骤(48),将当前数据分组的所有被写入的数据块定义为空闲存储空间的一部分。
3、如权利要求1或2的方法,其特征在于缓冲器(12)是先进先出缓冲器。
4、如权利要求3的方法,其中写指针(W)指示在缓冲器存储空间(12)中要写入数据块的位置,读指针(P)指示在缓冲器存储空间(12)中要读取接收的被写入数据块的位置,两个指针沿着相同的行进循环路径行进缓冲器存储空间,其特征在于它包括保存(43)当前数据分组的第一个被写入数据块的位置的步骤,并且:
-确定是否没有剩余的空闲存储空间(12)的步骤(44)包括:确定在循环路径上从写指针(W)到读指针(R)之间的存储空间(12),和
-将当前数据分组的至少一个被写入数据块定义为空闲存储空间的一部分的步骤(48)包括:将写指针(W)移动到保存的当前数据分组的第一个被写入数据块的位置上。
5.如权利要求1至4之任一的方法,其特征在于当前数据分组是MPEG-2传输流分组。
6.用于存储数据分组的***,每个数据分组(DP)包括至少两个数据块(db1,db2,db3,db4),包括具有存储空间的缓冲器,其特征在于它包括对将数据分组存储到缓冲器(12)的存储空间中进行管理的装置(14),该管理装置(14)被设置为执行如权利要求1或2所述的方法。
7、如权利要求6的***,其特征在于所述缓冲器是先进先出缓冲器,并且管理装置(14)被设置为执行如权利要求3或4所述的方法。
8、MPEG-2接收器,其特征在于,它包括如权利要求6或7的用于存储MPEG-2传输流数据分组的***。
9、可直接加载到数字计算机内部存储器中的计算机程序产品,包括当所述产品在计算机上运行时用于执行如权利要求1至5中任一项所述的步骤的软件代码部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05292080.8 | 2005-10-06 | ||
EP05292080A EP1773043A1 (en) | 2005-10-06 | 2005-10-06 | Method and system for storing data packets |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1984339A true CN1984339A (zh) | 2007-06-20 |
Family
ID=35976786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101718166A Pending CN1984339A (zh) | 2005-10-06 | 2006-09-29 | 用于存储数据分组的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070081528A1 (zh) |
EP (1) | EP1773043A1 (zh) |
JP (1) | JP2007124639A (zh) |
KR (1) | KR20070038881A (zh) |
CN (1) | CN1984339A (zh) |
TW (1) | TW200729955A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674479B (zh) * | 2008-09-11 | 2013-07-03 | 索尼株式会社 | 信息处理设备和方法 |
CN104794065A (zh) * | 2015-05-04 | 2015-07-22 | 常州工学院 | 一种多分组定长数据循环存取方法 |
CN111381837A (zh) * | 2018-12-28 | 2020-07-07 | 广州众诺电子技术有限公司 | 一种烧录方法、***及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101160057B1 (ko) * | 2008-09-09 | 2012-06-26 | 소프트온넷(주) | 더티pc 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법 및 시스템 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862136A (en) * | 1995-07-07 | 1999-01-19 | Northern Telecom Limited | Telecommunications apparatus and method |
US5880997A (en) * | 1995-12-22 | 1999-03-09 | Cypress Semiconductor Corp. | Bubbleback for FIFOS |
GB9606928D0 (en) * | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Memory devices |
US6101329A (en) * | 1997-02-18 | 2000-08-08 | Lsi Logic Corporation | System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data |
US5852630A (en) * | 1997-07-17 | 1998-12-22 | Globespan Semiconductor, Inc. | Method and apparatus for a RADSL transceiver warm start activation procedure with precoding |
US6021449A (en) * | 1997-08-01 | 2000-02-01 | International Business Machines Corporation | Video FIFO overflow control method that blocks video encoder data when overflow is imminent and resumes flow when frames sizes have returned to nominal size |
US5949441A (en) * | 1997-08-01 | 1999-09-07 | International Business Machines Corporation | Multimedia terminal with an encoder for converting analog video data to compressed digitized video data |
EP1035682A1 (en) * | 1999-03-06 | 2000-09-13 | Deutsche Thomson-Brandt Gmbh | Method and bus interface employing a memory in an integrated circuit for linking a bus with an application device |
US6907481B2 (en) * | 2001-03-06 | 2005-06-14 | Ati Technologies, Inc. | System for bit-rate controlled digital stream playback and method thereof |
TWI242131B (en) * | 2003-04-25 | 2005-10-21 | Via Networking Technologies In | Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory |
US7293132B2 (en) * | 2003-10-08 | 2007-11-06 | Samsung Electronics Co., Ltd. | Apparatus and method for efficient data storage using a FIFO memory |
US7248587B1 (en) * | 2005-04-11 | 2007-07-24 | Azul Systems, Inc. | Error recovery of variable-length packets without sequence numbers or special symbols used for synchronizing transmit retry-buffer pointer |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7571275B2 (en) * | 2005-08-31 | 2009-08-04 | Hamilton Sundstrand Corporation | Flash real-time operating system for small embedded applications |
-
2005
- 2005-10-06 EP EP05292080A patent/EP1773043A1/en not_active Withdrawn
-
2006
- 2006-09-22 TW TW095135234A patent/TW200729955A/zh unknown
- 2006-09-29 CN CNA2006101718166A patent/CN1984339A/zh active Pending
- 2006-09-29 KR KR1020060095590A patent/KR20070038881A/ko not_active Application Discontinuation
- 2006-10-02 US US11/540,538 patent/US20070081528A1/en not_active Abandoned
- 2006-10-05 JP JP2006273595A patent/JP2007124639A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674479B (zh) * | 2008-09-11 | 2013-07-03 | 索尼株式会社 | 信息处理设备和方法 |
CN104794065A (zh) * | 2015-05-04 | 2015-07-22 | 常州工学院 | 一种多分组定长数据循环存取方法 |
CN104794065B (zh) * | 2015-05-04 | 2018-01-09 | 常州工学院 | 一种多分组定长数据循环存取方法 |
CN111381837A (zh) * | 2018-12-28 | 2020-07-07 | 广州众诺电子技术有限公司 | 一种烧录方法、***及可读存储介质 |
CN111381837B (zh) * | 2018-12-28 | 2023-07-18 | 广州众诺微电子有限公司 | 一种烧录方法、***及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW200729955A (en) | 2007-08-01 |
KR20070038881A (ko) | 2007-04-11 |
EP1773043A1 (en) | 2007-04-11 |
JP2007124639A (ja) | 2007-05-17 |
US20070081528A1 (en) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6988144B1 (en) | Packet scheduling system and method for multimedia data | |
US6195368B1 (en) | Re-timing of video program bearing streams transmitted by an asynchronous communication link | |
US7693188B2 (en) | Video remultiplexer for dynamic remultiplexing, multi-mode operation and jitter reduced asynchronous communication | |
US6246701B1 (en) | Reference time clock locking in a remultiplexer for video program bearing transport streams | |
US20020131443A1 (en) | Bandwidth optimization of video program bearing transport streams | |
US10469915B2 (en) | Apparatus and method for delivering and receiving multimedia data in hybrid network | |
JP2008136204A (ja) | FlexMuxストリームをストリーム形成、受信及び処理する装置及び方法 | |
CN1259736A (zh) | 数据记录和/或再现装置、方法和***以及记录介质 | |
JP5587779B2 (ja) | メディアデータコンテナとメタデータコンテナとを有するファイルを格納し読み取るための装置及び方法 | |
US20180376180A1 (en) | Method and apparatus for metadata insertion pipeline for streaming media | |
US6831931B2 (en) | System and method for remultiplexing of a filtered transport stream | |
CN1984339A (zh) | 用于存储数据分组的方法和*** | |
CN103686077A (zh) | 应用于3g无线网络实时音视频数据传输的双缓冲方法 | |
US9319354B2 (en) | Network storage device and method for data transmission via a single serial network link | |
US20080144664A1 (en) | Data format and data transfer | |
CN109982113B (zh) | 一种视频文件处理方法及装置 | |
CN101014082A (zh) | 数据串流译码***、数字电视译码***及译码方法 | |
CN101147395B (zh) | 记录装置及记录方法 | |
CN101594531B (zh) | 传送器与电子设备之间信号流的简化传送方法 | |
TW200939783A (en) | Centralized TS packet buffer management in multiple transport steam MPEG-2 DEMUX | |
CN1254098C (zh) | 读取mpeg记录数据的方法和装置 | |
WO2010000628A1 (en) | Method and device to perform direct memory access | |
CN113055680B (zh) | 一种分布式转码方法 | |
CN105592281A (zh) | Mpeg视频处理方法、装置和*** | |
CN1805407A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070620 |