CN1586063A - 流数据处理器、流数据处理方法、程序和媒体 - Google Patents
流数据处理器、流数据处理方法、程序和媒体 Download PDFInfo
- Publication number
- CN1586063A CN1586063A CNA038004976A CN03800497A CN1586063A CN 1586063 A CN1586063 A CN 1586063A CN A038004976 A CNA038004976 A CN A038004976A CN 03800497 A CN03800497 A CN 03800497A CN 1586063 A CN1586063 A CN 1586063A
- Authority
- CN
- China
- Prior art keywords
- packet
- buffer
- data
- stream
- processing
- 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
- 238000003672 processing method Methods 0.000 title claims description 3
- 239000000872 buffer Substances 0.000 claims description 314
- 238000000034 method Methods 0.000 claims description 74
- 230000006870 function Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000001914 filtration Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 101000625226 Homo sapiens Melanoregulin Proteins 0.000 description 4
- 102100024976 Melanoregulin Human genes 0.000 description 4
- CXRFDZFCGOPDTD-UHFFFAOYSA-M Cetrimide Chemical compound [Br-].CCCCCCCCCCCCCC[N+](C)(C)C CXRFDZFCGOPDTD-UHFFFAOYSA-M 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- PLMFYJJFUUUCRZ-UHFFFAOYSA-M decyltrimethylammonium bromide Chemical compound [Br-].CCCCCCCCCC[N+](C)(C)C PLMFYJJFUUUCRZ-UHFFFAOYSA-M 0.000 description 2
- LZMSXDHGHZKXJD-VJANTYMQSA-N trypanothione disulfide Chemical compound OC(=O)[C@@H](N)CCC(=O)N[C@H]1CSSC[C@H](NC(=O)CC[C@H](N)C(O)=O)C(=O)NCC(=O)NCCCNCCCCNC(=O)CNC1=O LZMSXDHGHZKXJD-VJANTYMQSA-N 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012321 sodium triacetoxyborohydride Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明的目的是提供适合于各种应用的一种流数据处理器,所述流数据处理器对在分组数据中输入的各种类型的流执行处理。在流数据处理器中,它独立地和顺序地判定形成输入流的分组是否要通过预定处理来处理,在一个分组一个分组地存储流数据之后,根据存在于任何比特位置中的分组识别符,分组选择和数据处理是可能的。
Description
技术领域
本发明涉及流数据处理器,该流数据处理器辨别是否要通过预定过程处理形成输入数据流的每个分组,如果分组是要通过预定过程处理的,则在执行预定过程之后,按预定格式(等等)输出,尤其,涉及可以处理具有不同格式以及(等等)的多个数据流的流数据处理器。
背景技术
传统的流数据处理器按特定格式在单个数据流上执行预定过程,并然后输出。例如,广泛地已知在ISO/IEC 13818-1(MPEG2系统)中的传输流为数据流的格式。对于传输流,把多个程序数据和其它次要信息组织到分组中,并且把用于识别分组的分组ID(识别符)分别给予各个分组,以及形成一个流。在传输流分组中,出现分组ID的比特的位置和长度是固定的。还有,在单个传输流中唯一地确定分组ID,同时在包含在多个传输流中的分组中可以出现分组ID的重复。
图10中示出传统的流数据处理器。
传统的流数据处理器包括流输入部分1001、分组滤波器1002、分组数据处理部分1003以及流输出部分1004。
流输入部分1001从输入流中的连续比特串检测分组标头,以及输出分组数据。
分组滤波器1002确定在输入分组数据中特定位置处的比特串作为分组ID,并把它与指定的比特串进行比较。当它们匹配时,就输出这个分组。
分组数据处理部分1003在分组数据上执行预定的过程。
流输出部分1004按预定的格式输出经处理的分组数据。
传统的流数据处理器只着手于分组识别的特定格式以及执行该格式的特定处理。此外,它不进行多个流的同时处理。
其次,在图11中示出流数据处理器,其中扩展了传统流数据处理器的功能,从而可以处理两类流。
在图11中,在分组分析部分1005中分析输入流的格式,并且根据格式,在分组选择器1006中选择两个分组滤波器1002的无论哪个处理结果,提供分组滤波器1002以致可以访问两种不同类型的格式。相似地,在分组选择器1006中选择两个分组数据处理部分1003的无论哪个处理结果,提供分组数据处理部分1003以致可以访问两种不同类型的格式。
图12是流数据处理器,通过并联地安排图11中的流数据处理器中的两个流数据处理器而进行了扩展,以致可以同时处理每个具有不同类型格式的两个数据流。
然而,当如图11和12中那样通过并联地安排多个传统分组滤波器和传统流数据处理器时,装置的大小随所处理的数据流的数量成正比地增加,导致成本的增加。
这样,使用传统技术,当处理具有又一种不同格式的数据流时,或当同时增加所处理的数据流的数量时,装置的大小进一步增加。
因为在具有多种不同格式的流中执行分组识别,所以对于每种格式需要一个分组滤波器。此外,如果并联地提供多个传统的流数据处理器以同时处理多个数据流,则装置的大小随同时处理的数据流的数量而成正比地增加。
此外,当对于流的每种格式提供一个分组滤波器时,除了对应于输入流的一个分组滤波器之外,其它分组滤波器的操作是不必要的。相似地,对于数据处理部分,除了执行分组数据的必要处理的一个数据处理部分之外,不需要操作其它数据处理部分。如此,在装置中存在许多不需要同时操作的部分,导致装置结构中的更大浪费。
发明内容
由于传统流数据处理器的这些问题,本发明的目的是提供可以得到较小装置和较低成本以及等等的一种流数据处理器。
本发明的第一方面是处理和编辑一个或多个数据流的流数据处理器,包括一个或多个流输入部分,用于接收输入数据流和执行分组标头检测和到存储分组的缓冲器的数据传递;仲裁部分,用于执行到存储分组的缓冲器的数据传递请求的仲裁;缓冲器存储单元分配引导装置,用于引导缓冲器存储单元的分配,缓冲器中之一,用于输入分组标头;缓冲器存储单元分配程序,用于根据缓冲器存储单元的分配引导而基于缓冲器存储单元分配信息来分配未使用的缓冲器存储单元;缓冲器存储单元分配信息存储部分,用于存储缓冲器存储单元分配信息;存储分组数据的分组缓冲器;控制分组缓冲器的分组缓冲器控制器;处理-等待缓冲器存储单元信息存储部分,用于存储待处理的缓冲器存储单元和它的处理排序;分组滤波器,用于根据分组识别符来确定是否要进行处理;一个或多个分组数据处理部分,用于执行分组数据的预定处理;以及一个或多个流输出部分,用于使分组数据再现为流,然后输出所述流。
本发明的第二方面是根据本发明的第一方面的流数据处理器,其中分组缓冲器包括一个存储器,以及流输入部分和处理部分分别执行对于数据缓冲器的仲裁和数据传递,以执行分组数据处理。
本发明的第三方面是根据本发明的第一方面的流数据处理器,其中把分组滤波器连接到仲裁部分,以及分组滤波器通过执行对仲裁部分的数据传递请求而得到存储在分组缓冲器中的分组的分组识别符和确定是否要进行处理。
本发明的第四方面是根据本发明的第一方面的流数据处理器,其中把分组滤波器连接到控制器,控制器把从存储在分组缓冲器中的分组读出的分组识别符提供给分组滤波器,以及分组滤波器根据这个来确定是否要进行处理。
本发明的第五方面是根据本发明的第一方面的流数据处理器,其中提供多个分组滤波器,用于从包括在特定类型的流中的分组数据的分组识别符作出是否要进行处理的确定,以启动用包括在不同类型的流中的分组的分组识别符进行的识别。
本发明的第六方面是根据本发明的第一方面的流数据处理器,其中流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、使分组识别符的全部和特定部分处于识别范围以外的分组识别符屏蔽表、与(AND)操作器以及比较器,以及它通过比较分组数据中的分组识别符和分组识别符屏蔽表的逻辑积以及分组识别符参考表和分组识别符屏蔽表的逻辑积来确定是否要处理分组,其中,使包括在流数据中具有不同比特长度的分组识别符的分组识别成为可能。
本发明的第七方面是根据本发明的第六方面的流数据处理器,其中流数据处理器进一步具有与分组识别符参考表一一对应的处理内容表,分组滤波器检测具有特定分组识别符的分组,并通过参考处理内容表来执行分组的处理。
本发明的第八方面是根据本发明的第一方面的流数据处理器,其中流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、流识别符参考表、AND操作器以及比较器,以及它通过比较分组数据中的分组识别符和分组识别符参考表以及比较分组数据中的流识别符和流识别符参考表来确定是否要处理分组,其中,即使当多个流中间存在分组识别符的重复时,分组选择还是可能的。
本发明的第九方面是根据本发明的第八方面的流数据处理器,其中流数据处理器进一步具有与流识别符参考表一一对应的处理内容表,并通过参考处理内容表来对具有包括在特定数据流中的特定分组识别符的分组执行分组处理。
本发明的第十方面是根据本发明的第一方面的流数据处理器,其中流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、使分组识别符的全部或特定部分处于识别范围以外的分组识别符屏蔽表、流识别符参考表、AND操作器以及比较器,以及它通过比较分组数据中的分组识别符和分组识别符屏蔽表的逻辑积以及分组识别符参考表和分组识别符屏蔽表的逻辑积以及比较分组数据中的流识别符和流识别符屏蔽表来确定是否要处理分组,其中,使包括在流数据中具有不同比特长度的分组识别符的分组识别成为可能。
本发明的第十一方面是根据本发明的第十方面的流数据处理器,其中流数据处理器进一步具有与分组识别符参考表一一对应的处理内容表,并通过参考处理内容表来对具有包括在特定数据流中的特定分组识别符的分组执行分组处理。
本发明的第十二方面是根据本发明的第一方面的流数据处理器,其中存储许多待处理的缓冲器存储单元的处理-等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码。
本发明的第十三方面是根据本发明的第一方面的流数据处理器,其中存储许多待处理的缓冲器存储单元的处理-等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码,以及进一步存储在分组数据处理部分中执行的预定处理的内容。
本发明的第十四方面是根据本发明的第一方面的流数据处理器,其中存储许多待处理的缓冲器存储单元的处理-等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码,以及进一步存储用于参考处理内容的表的号码。
本发明的第十五方面是根据本发明的第一方面的流数据处理器,其中在存储缓冲器存储单元分配信息的缓冲器存储单元分配信息存储部分中,当没有待分配的缓冲器时,即,当所有缓冲器都在使用时,在缓冲器存储单元分配程序中检测到这种情况,并且对于缓冲器存储单元分配请求,无缓冲器可分配。
本发明的第十六方面是流数据处理方法,用于处理和编辑一个或多个数据流,所述方法包括下列步骤:
通过一个或多个输入部分接收输入数据流,以及执行分组标头的检测和到存储分组的缓冲器的数据传递;
通过仲裁部分对到存储分组的缓冲器的数据传递的请求执行仲裁;
引导缓冲器存储单元的分配,通过引导装置,缓冲器中之一用于输入分组标头;
根据通过缓冲器存储单元分配程序的分配引导,根据缓冲器存储单元分配信息来分配未使用的缓冲器存储单元;
通过缓冲器存储单元分配信息存储部分来存储缓冲器存储单元分配信息;
通过分组缓冲器存储分组数据;
通过分组缓冲器控制器控制分组缓冲器;
通过处理-等待缓冲器存储单元信息存储部分来存储待处理的缓冲器存储单元和它的处理排序;
分组滤波器根据分组识别符确定是否进行处理;
通过一个或多个分组数据处理部分执行分组数据的预定处理;以及
再现作为流的分组数据,用于通过一个或多个流输出部分输出,
本发明的第十七方面是一种程序,所述程序使计算机功能如同接收输入数据流和执行分组标头的检测和到存储分组的缓冲器的数据传递的一个或多个流输入部分的全部或一部分;对到存储分组的缓冲器的数据传递请求执行仲裁的仲裁部分;引导缓冲器存储单元的分配的缓冲器存储单元分配引导装置,缓冲器中之一用于输入分组标头;根据缓冲器存储单元的分配引导,根据缓冲器存储单元分配信息分配未使用的缓冲器存储单元的缓冲器存储单元分配程序;存储缓冲器存储单元分配信息的缓冲器存储单元分配信息存储部分;存储分组数据的分组缓冲器;控制分组缓冲器的分组缓冲器控制器;存储待处理的缓冲器存储单元和它的处理排序的处理-等待缓冲器存储单元信息存储部分;根据分组识别符确定是否进行处理的分组滤波器;执行分组数据的预定处理的一个或多个分组数据处理部分;以及再现作为流的分组数据、用于在根据权利要求1的流数据处理器中输出。
本发明的第十八方面是支持根据本发明的第十七方面的程序的一种媒体,计算机可以对这种媒体进行处理。
附图简述
图1是根据本发明第一实施例的、能够处理各种类型的流的流数据处理器的系统图。
图2是与图1中所示的流输入部分有关的信号定时图。
图3是说明图,示出图1所示的缓冲器存储单元分配信息存储器303、分组缓冲器402以及处理-等待缓冲器存储单元信息存储器502之间的关系支持
图4是根据本发明第三实施例的方框图,示出图1中所示的分组滤波器601的详细结构。
图5是根据本发明第二实施例的、能够处理各种类型的流的流数据处理器的系统图。
图6是流程图,示出把流输入一个分组一个分组地存储到图1中的分组缓冲器中的操作。
图7是流程图,示出图1中的TD控制器701的详细操作。
图8是流程图,示出图1中的分组数据处理部分的详细操作。
图9是流程图,示出图1中的流输出部分的详细操作。
图10是方框图,示出传统流数据处理器的结构的一个例子。
图11是方框图,示出一种装置的结构的一个例子,在所述装置中扩展了传统流数据处理器以致可以处理各种类型的流。
图12是方框图,示出一种装置的结构的一个例子,在所述装置中提供了如图1所示的多个数据流装置以致可以处理各种类型的流。
(附图标记的说明)
101流输入部分1
102流输入部分2
111分组数据处理部分1
112分组数据处理部分2
121流输出部分1
122流输出部分2
200仲裁部分
301分组标头检测器
302缓冲器存储单元分配程序
303缓冲器存储单元分配信息存储器
401分组缓冲器控制部分
402分组缓冲器
501处理-等待缓冲器存储单元信息控制器
502处理-等待缓冲器存储单元信息存储器
601分组滤波器
701 TD控制器
800分组数据处理器
SI1、SI2来自流源(未示出)的流输入
REQ数据传递请求信号
ENB数据有效信号
SYNC分组开始信号
TSD传递数据
ARB接收数据传递请求的源
BSW缓冲器存储单元分配引导
Iab缓冲器存储单元分配信息
Iba缓冲器存储单元使用信息
WD分组缓冲器写数据
RD分组缓冲器读数据
Ctrl分组缓冲器控制信号
Nbuf处理-等待缓冲器存储单元号
Bwp到处理-等待缓冲器存储单元信息存储器的存储器目的地引导信号
PID存储在待处理缓冲器存储单元中的分组的分组识别符
Sc控制分组数据处理器800中的每个部件的操作的控制信号
Sr通知分组数据处理器800中的每个部件的的状态的状态信号
Ac1,Ac2,Ac3,...AcN缓冲器存储单元分配信息区域
bc1,bc2,bc3,...bcN缓冲器存储单元
Rc1,Rc2,Rc3,...RcN缓冲器存储单元目的地区域
Rp处理-等待缓冲器存储单元信息存储器读指针
Wp处理-等待缓冲器存储单元信息存储器写指针
TSIDREG流识别符寄存器
PIDREG分组识别符寄存器
MREG屏蔽信息寄存器
PREG分组识别符参考寄存器
STAB流识别符参考表
TST[1],TST[2],...TST[a]流识别符参考表元素
PTAB分组识别符参考表
LUT[1],LUT[2],...LUT[a]分组识别符参考表元素
MTAB屏蔽信息参考表
MSK[1],MSK[2],...MSK[a]屏蔽信息参考表元素
DTAB处理内容表
DT[1],DT[2],...DT[a]处理内容表元素
BAND对于每个比特的AND操作
CMP比较器
1001流输入部分
1002分组滤波器
1003分组数据处理部分
1004流输出部分
1005分组分析部分
1006分组选择部分
实施本发明的较佳方式
(第一实施例)
使用图1来描述本发明的第一实施例。
由于本发明的图1中的流输入部分101和流输入部分102的功能是相同的,所以下面只描述流输入部分101。
流输入部分101接收来自未示出的流源的流输入SI1,检测分组的头,以及把数据一个分组一个分组地传递到仲裁部分200。
使用图2来描述这种数据传递。
流输入部分101检测来自流源的数据输入,当它检测到分组的头时,它通过信号SYNC把分组标头的传递通知仲裁部分200。
当在所传递的数据中包括分组标头时,就产生表示分组标头的传递的信号SYNC,而当在所传递的数据中不包括分组标头时,就不产生这个信号。流输入部分101提供附加信息IM到来自流源的数据输入以执行数据传递。附加信息IM包括至少流识别符TSID和流类型表示码TSST,以及甚至在存储在分组缓冲器402中之后,启动有关分组属于哪种类型的流,以及流是从哪个流源输入的等的识别。除了流识别符TSID之外,可以提供表示分组标头输入流输入部分101的时间的时间戳等,用于数据处理和数据输出的定时控制。
流输入部分101还把来自流源的数据输入临时存储在内部缓冲器中。当存储了具有预定数量字节的数据时,就把信号REQ输出到仲裁部分200,所述信号REQ请求用于写入分组缓冲器402的数据传递。
使用图6来描述流输入部分101的处理算法。流输入部分101根据TD控制部分701的引导而开始它的操作,并且处理进行到步骤S701。
在步骤S701中,流输入部分101搜索包括在输入流中的分组标头。把完整的分组存储在分组缓冲器中和防止从分组的中间存储数据而完成这个步骤。当检测到分组标头时,处理进行到下一个步骤S703。
在步骤S703中,流输入部分101把输入流的数据存储在内部缓冲器中。然后处理进行到下一个步骤S705。
在步骤S705中,判定流输入部分101是否已经在内部缓冲器中存储了具有预定数量字节的数据。把预定数量的字节没有达到的情况判定为“否(NO)”,并且处理返回步骤S703。把预定数量的字节已达到的情况判定为“是(YES)”。然后,处理进行到下一个步骤S707。
在步骤S707中,流输入部分101把数据传递请求信号Req输出到仲裁部分200以便把存储在内部缓冲器中的数据传递到分组缓冲器402。然后,处理进行到下一个步骤709。
在步骤S709中,判定是否已经接收到流输入部分101的数据传递请求。即,判定来自仲裁部分200的、表示已经受收数据传递请求的数据有效信号ENB是否有效。把数据有效信号ENB不是有效的情况判定为“否”,然后,处理返回步骤S709,并且继续如此进行直到数据有效信号ENB变成有效。把数据有效信号ENB是有效的情况判定为“是”。然后,处理进行到下一个步骤S711。
在步骤S711中,流输入部分101输出到仲裁部分200以便把存储在内部缓冲器中的数据传递到分组缓冲器402。然后,处理进行到下一个步骤S713。
在步骤S713中,判定是否已经把数据的一个分组从流输入部分101传递到分组缓冲器402。把没有完成数据的一个分组的传递的情况判定为“否”,并且处理返回到步骤S703。把完成数据的一个分组的传递的情况判定为“是”,并且处理返回到步骤S701和准备下一个分组数据的输入。
仲裁部分200接收多个数据传递请求,诸如如上所述的写入分组缓冲器402的数据传递请求以及将在下面描述的从分组缓冲器402读出的数据传递请求,它执行仲裁以及决定执行哪种数据传递。当所接受的数据传递请求是写入分组缓冲器402的数据传递请求时,仲裁部分200产生数据有效信号ENB到所接受数据传递请求的数据传递请求源,以通知已经接受数据传递请求;接收传递数据TSD;以及把数据和表示分组标头包括在数据中的SYNC输出到分组标头检测器301。仲裁部分200还把表示仲裁所选择的数据传递请求源的信号ARB输出到分组标头检测器301和分组缓冲器控制器401。
当所接受的数据传递请求是从分组缓冲器402读出的数据传递请求时,把表示接受数据传递请求的数据传递请求源的信号ARB输出到分组缓冲器控制器401。分组缓冲器控制器401从分组缓冲器402读出数据,并把数据输出到仲裁部分200。当输出数据包括分组标头时,把表示分组标头的传递的信号SYNC输出到仲裁部分200。
当分组标头检测器301检测到传递数据WD中包括分组标头时,它输出缓冲器存储单元分配请求信号BSW以引导缓冲器存储单元分配程序302在分组缓冲器402中分配新的分组存储区域。
在下文中,把在分组缓冲器402中存储数据的一个分组的每个区域称为缓冲器存储单元。
当缓冲器存储单元分配程序302接收缓冲器存储单元分配请求信号BSW时,它借助将在下面描述的缓冲器存储单元使用信息Iba来决定未使用的缓冲器存储单元作为新的存储数据的区域,并把许多经分配的缓冲器存储单元作为缓冲器存储单元分配信息Iab输出到缓冲器存储单元分配信息存储器303和分组缓冲器控制器401。
缓冲器存储单元分配信息存储器303接收从缓冲器存储单元分配程序302输出的缓冲器存储单元分配信息Iab,以在已经如何分配的缓冲器存储单元上存储信息,并且缓冲器存储单元分配信息存储器303把缓冲器存储单元使用状态Iba通知缓冲器存储单元分配程序302。
分组缓冲器控制部分401控制从和到分组缓冲器402的数据读出和写入。更具体地,分组缓冲器控制部分401从表示接受通过仲裁部分200输出的数据传递请求的数据传递请求源的信号ARB和缓冲器存储单元分配程序302来计算对分组缓冲器402中哪个缓冲器存储单元执行传递。表示分组标头传递的信号SYNC还示出到缓冲器存储单元的第一传递。在到缓冲器存储单元的后继传递中,通过存储对于每个传递请求源的传递目的地来计算缓冲器存储单元中的传递目的地。
对于数据写入,分组缓冲器控制部分401接收来自分组标头检测器301的输入数据WD,并引导分组缓冲器402使用控制信号Ctrl进行写入,并把写入数据写入传递目的地。
当完成缓冲器存储单元的写入时,即,当在缓冲器存储单元中存储待处理的下一个数据时,把表示缓冲器号的信号Nbuf输出到处理-等待缓冲器存储单元信息控制器501。
对于数据读出,分组缓冲器控制部分401引导分组缓冲器402使用控制信号Ctrl进行读出,从传递目的地读出读出数据RD,并把它输出到仲裁部分200。还有,当在所读出的数据RD中包括分组标头时,分组缓冲器控制部分401把表示分组标头的传递的信号SYNCrd1输出到仲裁部分200。
分组缓冲器402根据分组缓冲器控制部分401的引导来执行数据写入和读出。要求分组缓冲器402包括一个存储器,因为存储器是公开地众知的,所以省略了对它的详细说明。
处理-等待缓冲器存储单元信息控制器501从分组缓冲器控制器401接收表示缓冲器(在该缓冲器中存在待处理的下一个数据)的号码的信号Nbuf,并把这个信号与表示在处理-等待缓冲器存储单元信息存储器502中的存储目的地的信号Bwp一起输出到处理-等待缓冲器存储单元信息存储器502。
处理-等待缓冲器存储单元信息存储器502根据处理-等待缓冲器存储单元信息控制器501的引导把表示缓冲器(在该缓冲器中存在待处理的下一个数据)的号码的信号Nbuf存储在通过信号Bwp表示的存储器目的地中。要求处理-等待缓冲器存储单元信息存储器502包括FIFO(先进先出)型存储器,因为这种存储器是公开地众知的,所以省略了对它的详细说明。
接着,参考图3,简单地描述上述缓冲器存储单元分配信息存储器303、分组缓冲器402和处理-等待缓冲器存储单元信息存储器502之间的关系。分组缓冲器402包括N个缓冲器存储单元bc1-bcN(N是2或更大的自然数),用于临时存储来自流输入部分101和102以及分组数据处理部分111和112的分组数据输入。
缓冲器存储单元分配信息存储器303具有分别与分组缓冲器402的缓冲器存储单元bc1,bc2,bc3,...bcN对应的缓冲器存储单元分配信息区域Ac1-AcN。缓冲器存储单元分配信息存储器303根据从缓冲器存储单元分配程序302提供的缓冲器存储单元分配信息Iab,把表示分配或没有分配的分配识别数据写入对应于所分配的缓冲器存储单元bcn(n是1或更大以及N或更小的自然数)的缓冲器存储单元分配信息区域Acn。即,为缓冲器存储单元分配信息存储器303准备象分组缓冲器402的缓冲器存储单元bc1-bcN那么多的缓冲器存储单元分配信息区域Ac1-AcN。
例如,分配识别数据是1和0的二进制数据,以及初始值是0。例如,当分配缓冲器存储单元bc1时,把1写入对应于缓冲器存储单元bc1的缓冲器存储单元分配信息区域Ac1。另一方面,在读出写入到缓冲器存储单元bc1的数据之后,根据从TD控制器701输出的控制信号Sc1把0写入缓冲器存储单元分配信息区域Ac1,使缓冲器存储单元bc1成为空的。
这样,把包括在分组缓冲器402中的缓冲器存储单元bc1-bcN中的各个分配状态表达为待提供给缓冲器存储单元分配程序302作为分配缓冲器存储单元信息Iba的、在缓冲器存储单元分配信息区域Ac1-AcN中的一组值。
处理-等待缓冲器存储单元信息存储器502具有缓冲器存储单元目的地区域Rc(Rc1-RcN),用于存储包括在分组缓冲器402中的缓冲器存储单元bc1-bcN中一个特定缓冲器存储单元的缓冲器存储单元号码Nbuf。最好,处理-等待缓冲器存储单元信息存储器502包括环形存储器,连续地和循环地记录缓冲器存储单元目的地区域Rc1-RcN。
通过写指针WP表示应该把缓冲器存储单元号码Nbuf写入到其中的缓冲器存储单元分配信息区域RcN(n是1或更大以及N或更小的自然数)。通过读指针RP来表示应该从其读出所写入的缓冲器存储单元号码Nbuf的缓冲器存储单元分配信息区域Rcn。如上所述,根据从处理-等待缓冲器存储单元信息控制器501输出的写指针更新信号Bwp使写指针WP移动,同时根据从TD控制器701输出的控制信号Sc2使读指针RP移动。
写指针WP的位置与读指针RP的位置不同的情况意味着通过读指针RP指出的由缓冲器存储单元分配信息区域Rcn表示的缓冲器存储单元bcn已经完成数据的存储和处于可读出的状态。写指针WP与读指针RP位置相同的情况意味着没有处于数据-可读出状态的缓冲器存储单元bcn。
分组滤波器601对分组识别符(在存储在缓冲器存储单元中的分组数据的特定比特位置处提供该分组识别符)以及比特串(通过TD控制器701指示)进行比较,并且把它们是匹配的还是不匹配的通知TD控制器701。从分组缓冲器402读出分组识别符,并通过TD控制器701控制分组缓冲器控制器401而提供给分组滤波器601。
TD控制器701根据状态信号Sr产生控制分组数据处理器800的每个部件操作的控制信号Sc,并把控制信号Sc输出到分组数据处理器800。因为产生状态信号Sr和控制信号Sc来控制分组数据处理器800是公开地众知的,所以省略了对它们的详细说明。
使用图7描述TD控制器701的处理算法的一个例子。
在通电之后或在初始化处理之后,TD控制器701开始它的操作,并且处理进行到步骤S801。
在步骤S801中,判定是否存在处理-等待缓冲器存储单元。在不存在处理-等待缓冲器存储单元的情况中,即,在比较处理-等待缓冲器存储单元信息存储器502中的写指针WP和读指针RP而它们的值是相等的情况中,判定为不存在处理-等待缓冲器存储单元,处理返回到步骤S801,并继续等待直到存在处理-等待缓冲器存储单元。在存在处理-等待缓冲器存储单元情况中,即,在比较处理-等待缓冲器存储单元信息存储器502中的写指针WP和读指针RP而它们的值是不相等的情况中,判定存在处理-等待缓冲器存储单元,并且处理进行到下一个步骤S803。
在步骤S803中,TD控制器701读出通过处理-等待缓冲器存储单元信息存储器502的读指针RP指出的地址的数据,并判定分组缓冲器402中待处理的缓冲器存储单元。然后,处理进行到下一个步骤S805。
在步骤S805中,TD控制器701读出表示存储在步骤S803中判定的待处理的缓冲器存储单元中的流的类型的码TSST,并判定存储在待处理的缓冲器存储单元中的流的类型。然后,处理进行到下一个步骤S807。
在步骤S807中,TD控制器701根据步骤S805中判定的流类型计算地址(在该地址处存储了待处理的缓冲器存储单元中的分组数据的分组识别符PID),并控制分组缓冲器控制部分401读出分组识别符PID,并把它传递到分组滤波器601。另一方面,分组滤波器601执行分组滤波。即,它对分组识别符PID和TD控制器701指示的比特串进行比较,并把它们的匹配或失配通知TD控制器701。然后,处理进行到下一个步骤S809。
在步骤S809中,判定分组滤波的结果是匹配还是失配。把失配的情况判定为“否”,并且处理进行到步骤S817。把匹配的情况判定为“是”,并且处理进行到步骤S811。
在步骤S811中,判定在分组数据上执行什么处理。然后,处理进行到下一个步骤S813。
在步骤S813中,TD控制器701命令分组数据处理部分执行在步骤S811中判定的数据处理。然后,处理进行到下一个步骤S815。
在步骤S815中,TD控制器701命令流输出部分输出已经在其上执行了数据处理的分组数据作为流。然后,处理进行到下一个步骤S817。
在步骤S817中,TD控制器701出空缓冲器存储单元,在完成所有处理之后,在这些缓冲器存储单元中所存储的分组数据已经变成不需要的了,以便存储新输入的分组数据或存储数据处理后的分组数据。然后,处理返回到步骤S801,并重复上述处理程序。
分组数据处理部分111的功能与分组数据处理部分112相同,因此只描述分组数据处理部分111。
分组数据处理部分111根据TD控制器701的引导在缓冲器存储单元中存储的分组数据上执行预定的处理。
使用图8来描述分组数据处理部分111的操作。
分组数据处理部分111根据TD控制器701的引导开始它的操作,并且处理进行到步骤S901。
在步骤S901中,判定是否从TD控制器701产生了用于分组数据处理部分111的数据处理指令。把没有产生数据处理指令的情况判定为“否”,并且处理继续进行等待数据处理指令的产生。把产生数据处理指令的情况判定为“是”,并且处理进行到步骤S903。
在步骤S903中,分组数据处理部分111把数据传递请求信号Req输出到仲裁部分200,以便每次通过预定数量的字节对来自分组缓冲器402的待处理数据进行读出。然后,处理进行到下一个步骤S905。
在步骤S905中,判定是否已经接受分组数据处理部分111的数据传递请求。即,判定来自仲裁部分200的、表示已经接受数据传递请求的数据有效信号ENB是否有效。把数据有效信号ENB是无效的情况判定为“否”,处理返回到步骤S905,并且继续如此进行直到数据有效信号ENB变成有效。把数据有效信号ENB是有效的情况判定为“是”。然后,处理进行到下一个步骤S907。
在步骤S907中,分组数据处理部分111读出来自分组缓冲器402的数据TSD,并把它存储在内部缓冲器中。然后,处理进行到下一个步骤S909。
在步骤S909中,分组数据处理部分111在存储在内部缓冲器中的数据上执行处理。然后,处理进行到下一个步骤S911。
在步骤S911中,分组数据处理部分111把数据传递请求信号Req输出到仲裁部分200,以便每次通过预定数量的字节把经处理的数据写回分组缓冲器402。然后,处理进行到下一个步骤S913。
在步骤S913中,判定是否已经接受分组数据处理部分111的数据传递请求。即,判定来自仲裁部分200的、表示已经接受数据传递请求的数据有效信号ENB是否有效。把数据有效信号ENB是无效的情况判定为“否”,处理返回到步骤S913,并且继续如此进行直到数据有效信号ENB变成有效。把数据有效信号ENB是有效的情况判定为“是”。然后,处理进行到下一个步骤S915。
在步骤S915中,分组数据处理部分111输出经处理的数据STD,并把它存储在分组缓冲器402中。然后,处理进行到下一个步骤S917。
在步骤S917中,判定在分组数据处理部分111中处理数据的一个分组之后是否已经写回到分组缓冲器402中。把没有完成数据的一个分组处理的情况判定为“否”,并且处理返回到步骤S903和继续进行数据处理。把完成数据的一个分组处理的情况判定为“是”,并且从返回到步骤S901和等待来自TD控制器701的下一个数据处理指令。
流输出部分121和流输出部分122的功能相同,因此,只描述流输出部分121。
流输出部分121根据TD控制器701的引导输出存储在缓冲器存储单元中的分组数据作为流SO1。
使用图9来描述流输出部分121的操作。
流输出部分121根据TD控制器701的引导开始它的操作,并且处理进行到步骤S1001。
在步骤S1001中,判定是否产生来自TD控制器701的用于流输出部分121的流输出指令。把没有产生流输出指令的情况判定为“否”,处理返回到步骤S1001,并且等待流输出指令。把产生流输出指令的情况判定为“是”,并且处理进行到下一个步骤S1003。
在步骤S1003中,流输出部分121把数据传递请求信号Req输出到仲裁部分200,以便每次通过预定数量的字节读出来自分组缓冲器402的流输出的数据。然后,处理进行到下一个步骤S1005。
在步骤S1005中,判定是否已经接受流输出部分121的数据传递请求。即,判定来自仲裁部分200的、表示已经受收数据传递请求的数据有效信号ENB是否有效。把数据有效信号ENB不是有效的情况判定为“否”,处理返回步骤S1005,并且继续如此进行直到数据有效信号ENB变成有效。把数据有效信号ENB是有效的情况判定为“是”。然后,处理进行到下一个步骤S1007。
在步骤S1007中,流输出部分121读出从分组缓冲器402读出的数据TSD,并把它存储在内部缓冲器中。然后,处理进行到下一个步骤S1009。
在步骤S1009中,流输出部分121输出存储在内部缓冲器中的数据作为流。然后,处理进行到下一个步骤S1011。
在步骤S1011中,判定流输出部分121是否已经输出数据的一个分组作为流。把没有完成一个分组的流输出的情况判定为“否”,处理返回到步骤S1003,并继续流输出。把完成一个分组的流输出的情况判定为“是”,处理返回到步骤S1001,并且等待来自TD控制器701的下一个流输出指令。
(第二实施例)
使用图5来描述本发明的第二实施例。
第一实施例中的图1和第二实施例中的图6的不同在于分组识别符PID是如何传递到分组滤波器601的。只描述这个不同之处。
在第二实施例中,TD控制器701读出特定的比特串(该比特串存在于分组缓冲器402中待处理的缓冲器存储单元中),并把它作为分组识别符PID传递到分组滤波器601。
通常,对于不同类型的流,在其中存在分组识别符的分组中,比特位置是不同的。在第二实施例的情况中,如果通过CPU来构成TD控制器701,并且使它的操作是可编程的,则可以读出在待处理的缓冲器存储单元中的不同位置上提供的比特串,以致可以执行各种类型的流的分组滤波。
(第三实施例)
使用图4来描述本发明的第二实施例。
图4是示意地示出分组滤波器601的视图,所述分组滤波器601使使用流识别符TSID和屏蔽信息MSK的各种类型的流的分组滤波成为可能。
屏蔽信息参考表MTAB包括(a)元素MSK[1],MSK[2],...,和MSK[a],以及每个元素的比特长度是L。流识别符参考表STAB包括(a)元素TST[1],TST[2],...,和TST[a],以及每个元素的比特长度是M。分组识别符参考表PTAB包括(a)元素LUT[1],LUT[2],...,和LUT[a],以及每个元素的比特长度是N(a、L、M和N是自然数)。处理内容表DTAB包括(a)元素DT[1],DT[2],...,和DT[a],以及存储根据分组滤波器的比较结果应该在待处理的分组上执行的处理内容。
在L、M和N之间保持L=M+N的关系。根据包括在本发明的流数据处理器中的流输入部分的数目来确定数据流识别符TSID的比特长度。通过TD控制器701事先设置上述元素中每个元素的值。
还有,在流识别符寄存器TSIDREG中设置通过流输入部分提供给待处理的分组的流识别符TSID,以及通过以0来扩展高阶比特以致分组识别符PID具有比特长度L而在分组识别符寄存器PIDREG中设置待处理的分组的分组识别符PID。
根据TD控制器701的分组滤波指令开始分组滤波。
首先,通过屏蔽信息寄存器MREG读出屏蔽信息参考表MTAB的数1的元素MSK[1],并且通过分组识别符参考寄存器PREG读出流识别符参考表STAB的数1的元素TST[1]和分组识别符参考表PTAB的数1的元素LUT[1]。
接着,通过对于每个比特的AND操作BAND处理流识别符寄存器TSIDREG和分组识别符寄存器PIDREG以及屏蔽信息寄存器MREG的连接。相似地,通过对于每个比特的AND操作BAND处理分组识别符参考寄存器PREG和屏蔽信息寄存器MREG。然后,通过比较器CMP比较上面两个AND操作的结果,如果它们是匹配的,则输出这些表的数1作为分组滤波的结果。
接着,对于这些表的所有的数,即,1到a,重复相似的比较和操作,并且输出比较结果匹配的数作为分组滤波的结果。具有如此的分组滤波,可以执行具有N比特或更少的任何比特长度的分组识别符的比较和核对。
这样,如果把本实施例中描述的分组滤波器应用于第一和第二实施例中的分组滤波器,则可以容易地和有效地执行各种类型的流的分组滤波。
本发明是一种程序,该程序导致计算机执行如上所述的本发明的流数据处理器的所有部分或装置(或器件、单元、电路、部分等等)的功能,该程序结合计算机一起操作。
还有,本发明是支持如上所述的本发明的程序的一种媒体,该程序是可读出的,并且通过计算机来读出,该程序结合计算机一起操作。
此外,在多个这样的装置或步骤中的本发明的装置(或器件、单元、电路、部分等等)的一部分和本发明的步骤(或处理、操作、动作等等)的一部分的每一个表示许多装置或步骤,或表示一种装置或步骤的功能或操作的一部分。
而且,在本发明的程序的一种使用形式中,可以通过发送媒体发送程序,通过计算机读出,并结合计算机一起操作。
另外,本发明的数据结构包括数据库、数据格式、数据表、数据列表、数据类型等等。
还有,记录媒体包括ROM等,以及发送媒体包括诸如互联网、光·无线电波·声波等的发送媒体。
而且,如上所述的本发明的计算机不限于诸如CPU之类纯纯粹的硬件,可以包括固件、OS以及进一步的外围设备。
如上所述,可以实施本发明的结构作为软件,或可以实施作为硬件。
工业应用性
如上所述,根据本发明可以实施一种系统,所述系统适合于对包括在各种类型的流中的分组进行数据处理,因此,可以使用所述系统作为诸如机顶盒、数字电视、游戏机以及家用网关之类的各种数字信息设备的流处理的平台。
此外,在本发明中,在把多个流中的数据一个分组一个分组地存储之后,对于每个分组执行所选择分组的分组滤波和数据处理,因此,不需要安排具有相同功能的多个数据处理部分,从而可以取得较小的装置和较低的成本。
Claims (18)
1.处理和编辑一个或多个数据流的流数据处理器,包括一个或多个流输入部分,用于接收输入数据流和执行分组标头检测和到存储分组的缓冲器的数据传递;仲裁部分,用于执行到存储分组的缓冲器的数据传递请求的仲裁;缓冲器存储单元分配引导装置,用于引导缓冲器存储单元的分配,缓冲器中之一,用于输入分组标头;缓冲器存储单元分配程序,用于根据缓冲器存储单元的分配引导而基于缓冲器存储单元分配信息来分配未使用的缓冲器存储单元;缓冲器存储单元分配信息存储部分,用于存储缓冲器存储单元分配信息;存储分组数据的分组缓冲器;控制分组缓冲器的分组缓冲器控制器;处理—等待缓冲器存储单元信息存储部分,用于存储待处理的缓冲器存储单元和它的处理排序;分组滤波器,用于根据分组识别符来确定是否要进行处理;一个或多个分组数据处理部分,用于执行分组数据的预定处理;以及一个或多个流输出部分,用于使分组数据再现为流,然后输出所述流。
2.如权利要求1所述的流数据处理器,其特征在于,所述分组缓冲器包括一个存储器,以及流输入部分和处理部分分别执行对于数据缓冲器的仲裁和数据传递,以执行分组数据处理。
3.如权利要求1所述的流数据处理器,其特征在于,把所述分组滤波器连接到仲裁部分,以及分组滤波器通过执行对仲裁部分的数据传递请求而得到存储在分组缓冲器中的分组的分组识别符,并确定是否要进行处理。
4.如权利要求1所述的流数据处理器,其特征在于,把所述分组滤波器连接到控制器,控制器把从存储在分组缓冲器中的分组读出的分组识别符提供给分组滤波器,以及分组滤波器根据这个来确定是否要进行处理。
5.如权利要求1所述的流数据处理器,其特征在于,提供多个分组滤波器,用于从包括在特定类型的流中的分组数据的分组识别符作出是否要进行处理的确定,以启动用包括在不同类型的流中的分组的分组识别符进行的识别。
6.如权利要求1所述的流数据处理器,其特征在于,所述流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、使分组识别符的全部和特定部分处于识别范围以外的分组识别符屏蔽表、与(AND)操作器以及比较器,且它通过比较分组数据中的分组识别符和分组识别符屏蔽表的逻辑积以及分组识别符参考表和分组识别符屏蔽表的逻辑积来确定是否要处理分组,其中,使包括在流数据中具有不同比特长度的分组识别符的分组识别成为可能。
7.如权利要求6所述的流数据处理器,其特征在于,所述流数据处理器还具有与分组识别符参考表一一对应的处理内容表,分组滤波器检测具有特定分组识别符的分组,并通过参考处理内容表来执行分组的处理。
8.如权利要求1所述的流数据处理器,其特征在于,所述流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、流识别符参考表、AND操作器以及比较器,且它通过比较分组数据中的分组识别符和分组识别符参考表同时比较分组数据中的流识别符和流识别符参考表来确定是否要处理分组,其中,即使当多个流中间存在分组识别符的重复时,分组选择还是可能的。
9.如权利要求8所述的流数据处理器,其特征在于,所述流数据处理器还具有与流识别符参考表一一对应的处理内容表,并通过参考处理内容表来对具有包括在特定数据流中的特定分组识别符的分组执行分组处理。
10.如权利要求1所述的流数据处理器,其特征在于,所述流数据处理器具有分组滤波器,所述分组滤波器包括分组识别符参考表、使分组识别符的全部或特定部分处于识别范围以外的分组识别符屏蔽表、流识别符参考表、AND操作器以及比较器,且它通过比较分组数据中的分组识别符和分组识别符屏蔽表的逻辑积以及分组识别符参考表和分组识别符屏蔽表的逻辑积以及比较分组数据中的流识别符和流识别符屏蔽表来确定是否要处理分组,其中,使包括在流数据中具有不同比特长度的分组识别符的分组识别成为可能。
11.如权利要求10所述的流数据处理器,其特征在于,所述流数据处理器进一步具有与分组识别符参考表一一对应的处理内容表,并通过参考处理内容表来对具有包括在特定数据流中的特定分组识别符的分组执行分组处理。
12.如权利要求1所述的流数据处理器,其特征在于,存储许多待处理的缓冲器存储单元的所述处理—等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码。
13.如权利要求1所述的流数据处理器,其特征在于,存储许多待处理的缓冲器存储单元的所述处理—等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码,以及进一步存储在分组数据处理部分中执行的预定处理的内容。
14.如权利要求1所述的流数据处理器,其特征在于,存储许多待处理的缓冲器存储单元的所述处理—等待缓冲器存储单元信息存储部分包括一个存储器单元,用于存储在分组数据处理部分中按缓冲器的处理排序处理的缓冲器的号码,以及进一步存储用于参考处理内容的表的号码。
15.如权利要求1所述的流数据处理器,其特征在于,在存储缓冲器存储单元分配信息的缓冲器存储单元分配信息存储部分中,当没有待分配的缓冲器时,即,当所有缓冲器都在使用时,在缓冲器存储单元分配程序中检测到这种情况,并且对于缓冲器存储单元分配请求,无缓冲器可分配。
16.一种流数据处理方法,用于处理和编辑一个或多个数据流,所述方法包括下列步骤:
通过一个或多个输入部分接收输入数据流,以及执行分组标头的检测和到存储分组的缓冲器的数据传递;
通过仲裁部分对到存储分组的缓冲器的数据传递的请求执行仲裁;
引导缓冲器存储单元的分配,通过引导装置,缓冲器中之一用于输入分组标头;
根据通过缓冲器存储单元分配程序的分配引导,根据缓冲器存储单元分配信息来分配未使用的缓冲器存储单元;
通过缓冲器存储单元分配信息存储部分来存储缓冲器存储单元分配信息;
通过分组缓冲器存储分组数据;
通过分组缓冲器控制器控制分组缓冲器;
通过处理—等待缓冲器存储单元信息存储部分来存储待处理的缓冲器存储单元和它的处理排序;
分组滤波器根据分组识别符确定是否进行处理;
通过一个或多个分组数据处理部分执行分组数据的预定处理;以及
再现作为流的分组数据,用于通过一个或多个流输出部分输出。
17.一种程序,所述程序使计算机功能如同接收输入数据流和执行分组标头的检测和到存储分组的缓冲器的数据传递的一个或多个流输入部分的全部或一部分;对到存储分组的缓冲器的数据传递请求执行仲裁的仲裁部分;引导缓冲器存储单元的分配的缓冲器存储单元分配引导装置,缓冲器中之一用于输入分组标头;根据缓冲器存储单元的分配引导,根据缓冲器存储单元分配信息分配未使用的缓冲器存储单元的缓冲器存储单元分配程序;存储缓冲器存储单元分配信息的缓冲器存储单元分配信息存储部分;存储分组数据的分组缓冲器;控制分组缓冲器的分组缓冲器控制器;存储待处理的缓冲器存储单元和它的处理排序的处理—等待缓冲器存储单元信息存储部分;根据分组识别符确定是否进行处理的分组滤波器;执行分组数据的预定处理的一个或多个分组数据处理部分;以及再现作为流的分组数据、用于在根据权利要求1的流数据处理器中输出。
18.如权利要求17所述的支持程序的一种媒体,计算机可以对这种媒体进行处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002100378A JP3808394B2 (ja) | 2002-04-02 | 2002-04-02 | ストリームデータ処理装置、ストリームデータ処理方法、プログラム、及び、媒体 |
JP100378/2002 | 2002-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1586063A true CN1586063A (zh) | 2005-02-23 |
CN100539575C CN100539575C (zh) | 2009-09-09 |
Family
ID=28672034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038004976A Expired - Fee Related CN100539575C (zh) | 2002-04-02 | 2003-04-01 | 流数据处理器、流数据处理方法、程序和媒体 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7680946B2 (zh) |
EP (1) | EP1492295B1 (zh) |
JP (1) | JP3808394B2 (zh) |
KR (1) | KR100939863B1 (zh) |
CN (1) | CN100539575C (zh) |
DE (1) | DE60312499T2 (zh) |
WO (1) | WO2003084164A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793340A (zh) * | 2012-10-31 | 2014-05-14 | 开曼晨星半导体公司 | 串行数据处理器 |
US9448967B2 (en) | 2012-10-31 | 2016-09-20 | Mstar Semiconductor, Inc. | Stream data processor |
CN110009104A (zh) * | 2019-03-29 | 2019-07-12 | 联想(北京)有限公司 | 一种信息处理方法及信息处理装置 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792121B2 (en) * | 2003-01-03 | 2010-09-07 | Microsoft Corporation | Frame protocol and scheduling system |
US7246356B1 (en) | 2003-01-29 | 2007-07-17 | Adobe Systems Incorporated | Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server |
US7617278B1 (en) | 2003-01-29 | 2009-11-10 | Adobe Systems Incorporated | Client controllable server-side playlists |
US7272658B1 (en) | 2003-02-13 | 2007-09-18 | Adobe Systems Incorporated | Real-time priority-based media communication |
US7287256B1 (en) | 2003-03-28 | 2007-10-23 | Adobe Systems Incorporated | Shared persistent objects |
US8199781B2 (en) | 2004-12-14 | 2012-06-12 | Samsung Electronics Co., Ltd | Device and method for demultiplexing received transport stream in digital broadcasting receiver |
KR100755434B1 (ko) * | 2004-12-14 | 2007-09-04 | 삼성전자주식회사 | 디지털 방송수신기의 역다중화장치 및 방법 |
KR100624317B1 (ko) | 2004-12-24 | 2006-09-19 | 삼성에스디아이 주식회사 | 주사 구동부 및 이를 이용한 발광 표시장치와 그의 구동방법 |
JP4270161B2 (ja) * | 2005-04-15 | 2009-05-27 | ソニー株式会社 | 情報記録再生システム、情報記録再生装置及び情報記録再生方法 |
US7945615B1 (en) | 2005-10-31 | 2011-05-17 | Adobe Systems Incorporated | Distributed shared persistent objects |
US8161159B1 (en) | 2005-10-31 | 2012-04-17 | Adobe Systems Incorporated | Network configuration with smart edge servers |
JP2007312357A (ja) * | 2006-04-18 | 2007-11-29 | Canon Inc | データ処理装置及びその制御方法、データ処理システム、プログラム、記憶媒体 |
US7664907B1 (en) * | 2006-11-02 | 2010-02-16 | Nvidia Corporation | Page stream sorter with dynamic binning |
US8351343B1 (en) | 2007-03-07 | 2013-01-08 | Marvell International Ltd. | Efficient change recognition algorithm |
KR100905218B1 (ko) * | 2007-04-09 | 2009-07-01 | 삼성전자주식회사 | 애드혹 네트워크에서 콘텐츠 중복 검출 방법 |
US7961878B2 (en) | 2007-10-15 | 2011-06-14 | Adobe Systems Incorporated | Imparting cryptographic information in network communications |
JP4714202B2 (ja) * | 2007-10-25 | 2011-06-29 | 日本電信電話株式会社 | フィルタ処理装置、フィルタ処理方法およびフィルタ処理プログラム |
JP4909290B2 (ja) * | 2008-01-22 | 2012-04-04 | 日本電信電話株式会社 | ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム |
US8051287B2 (en) | 2008-10-15 | 2011-11-01 | Adobe Systems Incorporated | Imparting real-time priority-based network communications in an encrypted communication session |
JP4659877B2 (ja) | 2008-12-03 | 2011-03-30 | 株式会社日立製作所 | ストリームデータ処理制御方法、ストリームデータ処理装置及びストリームデータ処理制御プログラム |
JP5149840B2 (ja) | 2009-03-03 | 2013-02-20 | 株式会社日立製作所 | ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置 |
US8332365B2 (en) | 2009-03-31 | 2012-12-11 | Amazon Technologies, Inc. | Cloning and recovery of data volumes |
US8014295B2 (en) | 2009-07-14 | 2011-09-06 | Ixia | Parallel packet processor with session active checker |
US8412841B1 (en) | 2009-08-17 | 2013-04-02 | Adobe Systems Incorporated | Media content streaming using stream message fragments |
US8166191B1 (en) | 2009-08-17 | 2012-04-24 | Adobe Systems Incorporated | Hint based media content streaming |
US8572260B2 (en) | 2010-11-22 | 2013-10-29 | Ixia | Predetermined ports for multi-core architectures |
US8819245B2 (en) | 2010-11-22 | 2014-08-26 | Ixia | Processor allocation for multi-core architectures |
US8654643B2 (en) * | 2011-07-27 | 2014-02-18 | Ixia | Wide field indexing for packet tracking |
US9794135B2 (en) | 2013-11-11 | 2017-10-17 | Amazon Technologies, Inc. | Managed service for acquisition, storage and consumption of large-scale data streams |
US9471585B1 (en) * | 2013-12-20 | 2016-10-18 | Amazon Technologies, Inc. | Decentralized de-duplication techniques for largescale data streams |
US9785510B1 (en) | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
US9734021B1 (en) | 2014-08-18 | 2017-08-15 | Amazon Technologies, Inc. | Visualizing restoration operation granularity for a database |
US10567500B1 (en) | 2015-12-21 | 2020-02-18 | Amazon Technologies, Inc. | Continuous backup of data in a distributed data store |
US10853182B1 (en) | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Scalable log-based secondary indexes for non-relational databases |
US10423493B1 (en) | 2015-12-21 | 2019-09-24 | Amazon Technologies, Inc. | Scalable log-based continuous data protection for distributed databases |
US10990581B1 (en) | 2017-09-27 | 2021-04-27 | Amazon Technologies, Inc. | Tracking a size of a database change log |
US10754844B1 (en) | 2017-09-27 | 2020-08-25 | Amazon Technologies, Inc. | Efficient database snapshot generation |
US11182372B1 (en) | 2017-11-08 | 2021-11-23 | Amazon Technologies, Inc. | Tracking database partition change log dependencies |
US11269731B1 (en) | 2017-11-22 | 2022-03-08 | Amazon Technologies, Inc. | Continuous data protection |
US11042503B1 (en) | 2017-11-22 | 2021-06-22 | Amazon Technologies, Inc. | Continuous data protection and restoration |
US10621049B1 (en) | 2018-03-12 | 2020-04-14 | Amazon Technologies, Inc. | Consistent backups based on local node clock |
US11126505B1 (en) | 2018-08-10 | 2021-09-21 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
US12034536B2 (en) * | 2018-11-16 | 2024-07-09 | Alexander Phillip Davies | Method of communication between nodes in a network |
US11042454B1 (en) | 2018-11-20 | 2021-06-22 | Amazon Technologies, Inc. | Restoration of a data source |
US10719411B1 (en) * | 2019-04-01 | 2020-07-21 | Rockwell Collins, Inc. | Error recovery of encrypted data frames in multi-node systems |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69631393T2 (de) | 1995-03-29 | 2004-10-21 | Hitachi Ltd | Dekoder für komprimierte und multiplexierte Bild- und Audiodaten |
CA2179223C (en) * | 1995-06-23 | 2009-01-06 | Manfred Von Willich | Method and apparatus for controlling the operation of a signal decoder in a broadcasting system |
JPH10290205A (ja) * | 1997-04-14 | 1998-10-27 | Matsushita Electric Ind Co Ltd | データ伝送装置 |
JP3309069B2 (ja) * | 1997-11-17 | 2002-07-29 | 株式会社日立製作所 | 多重符号化画像音声データの受信装置 |
EP0917356A1 (en) | 1997-11-17 | 1999-05-19 | CANAL+ Société Anonyme | Packet filtering |
JP3874225B2 (ja) | 1998-03-09 | 2007-01-31 | ソニー株式会社 | データ処理装置及びデータ処理方法 |
JP2000083064A (ja) | 1998-06-30 | 2000-03-21 | Matsushita Electric Ind Co Ltd | トランスポ―トストリ―ム処理装置 |
JP3234573B2 (ja) | 1998-08-31 | 2001-12-04 | 松下電器産業株式会社 | パケットフィルタリング装置 |
JP3353729B2 (ja) * | 1999-01-08 | 2002-12-03 | 日本電気株式会社 | ディジタル放送受信装置 |
US6389468B1 (en) * | 1999-03-01 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for distributing network traffic processing on a multiprocessor computer |
US6948186B1 (en) * | 1999-10-07 | 2005-09-20 | General Instrument Corporation | Multi-tasking message extractor |
US9668011B2 (en) * | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
AU2271201A (en) * | 1999-12-14 | 2001-06-25 | General Instrument Corporation | Hardware filtering of input packet identifiers for an mpeg re-multiplexer |
KR100810288B1 (ko) * | 1999-12-17 | 2008-03-06 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 방법과 기록매체 |
US20020107903A1 (en) * | 2000-11-07 | 2002-08-08 | Richter Roger K. | Methods and systems for the order serialization of information in a network processing environment |
JP3400772B2 (ja) * | 2000-04-25 | 2003-04-28 | 松下電器産業株式会社 | パケット送受信処理装置 |
JP2001339721A (ja) * | 2000-05-26 | 2001-12-07 | Matsushita Electric Ind Co Ltd | 動画像多重符号化信号処理回路及びその装置 |
US7024685B1 (en) * | 2000-09-13 | 2006-04-04 | International Business Machines Corporation | Transport demultiplexor with bit maskable filter |
JP2002094996A (ja) * | 2000-09-19 | 2002-03-29 | Toshiba Corp | 受信装置 |
JP2002318777A (ja) * | 2001-04-19 | 2002-10-31 | Matsushita Electric Ind Co Ltd | 高速シリアルインターフェース用のコマンド発行装置 |
US6691185B2 (en) * | 2001-07-13 | 2004-02-10 | Sun Microsystems, Inc. | Apparatus for merging a plurality of data streams into a single data stream |
-
2002
- 2002-04-02 JP JP2002100378A patent/JP3808394B2/ja not_active Expired - Fee Related
-
2003
- 2003-04-01 CN CNB038004976A patent/CN100539575C/zh not_active Expired - Fee Related
- 2003-04-01 KR KR1020037016288A patent/KR100939863B1/ko not_active IP Right Cessation
- 2003-04-01 DE DE60312499T patent/DE60312499T2/de not_active Expired - Lifetime
- 2003-04-01 WO PCT/JP2003/004151 patent/WO2003084164A1/ja active IP Right Grant
- 2003-04-01 EP EP03745451A patent/EP1492295B1/en not_active Expired - Lifetime
- 2003-04-01 US US10/476,282 patent/US7680946B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793340A (zh) * | 2012-10-31 | 2014-05-14 | 开曼晨星半导体公司 | 串行数据处理器 |
US9448967B2 (en) | 2012-10-31 | 2016-09-20 | Mstar Semiconductor, Inc. | Stream data processor |
CN103793340B (zh) * | 2012-10-31 | 2017-03-01 | 开曼晨星半导体公司 | 串行数据处理器 |
CN110009104A (zh) * | 2019-03-29 | 2019-07-12 | 联想(北京)有限公司 | 一种信息处理方法及信息处理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3808394B2 (ja) | 2006-08-09 |
DE60312499T2 (de) | 2007-07-05 |
EP1492295A1 (en) | 2004-12-29 |
JP2003298661A (ja) | 2003-10-17 |
KR20040094601A (ko) | 2004-11-10 |
DE60312499D1 (de) | 2007-04-26 |
CN100539575C (zh) | 2009-09-09 |
KR100939863B1 (ko) | 2010-01-29 |
EP1492295A4 (en) | 2005-04-27 |
WO2003084164A1 (fr) | 2003-10-09 |
EP1492295B1 (en) | 2007-03-14 |
US20040215803A1 (en) | 2004-10-28 |
US7680946B2 (en) | 2010-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1586063A (zh) | 流数据处理器、流数据处理方法、程序和媒体 | |
CN1184805C (zh) | 数据记录重放装置及程序记录媒体 | |
CN1308948C (zh) | 数据复制装置 | |
CN1376980A (zh) | 存储器 | |
CN1204504C (zh) | 文件传送系统、中继设备、和文件传送方法 | |
CN1873685A (zh) | 图像处理设备、方法和存储有程序的存储介质 | |
CN1293410A (zh) | 数据传送控制装置和电子装置 | |
CN1742480A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
CN1517869A (zh) | 处理器、运算处理方法和优先度决定方法 | |
CN1164069A (zh) | 可换存储媒体和控制方法及计算机系统 | |
CN1202774A (zh) | 异步传输模式通信设备 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1162890A (zh) | 多路分解设备 | |
CN1933535A (zh) | 打印装置、打印处理方法 | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN1848097A (zh) | 存储器地址生成装置以及具有它的处理器、存储器地址生成方法 | |
CN1318242A (zh) | 数据传输控制装置和电子设备 | |
CN100343850C (zh) | 数据处理方法及其系统 | |
CN101069181A (zh) | 存储设备和记录介质 | |
CN1146801C (zh) | 数据传送控制装置和电子装置 | |
CN101031884A (zh) | 处理器 | |
CN1536497A (zh) | 一种实现包过滤的防火墙及其实现包过滤的方法 | |
CN1113470C (zh) | 数据解码方法和系统 | |
CN1524232A (zh) | 传送装置和传送方法 | |
CN1445993A (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 | ||
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: 20090909 Termination date: 20200401 |