CN1701612A - 数据替换输出设备和方法 - Google Patents
数据替换输出设备和方法 Download PDFInfo
- Publication number
- CN1701612A CN1701612A CNA038252511A CN03825251A CN1701612A CN 1701612 A CN1701612 A CN 1701612A CN A038252511 A CNA038252511 A CN A038252511A CN 03825251 A CN03825251 A CN 03825251A CN 1701612 A CN1701612 A CN 1701612A
- Authority
- CN
- China
- Prior art keywords
- data
- replacement
- replacing
- output
- 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.)
- Granted
Links
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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
-
- 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/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2221—Secondary servers, e.g. proxy server, cable television Head-end being a cable television head-end
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
- H04N21/23617—Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
-
- 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
- H04N21/4348—Demultiplexing of additional data and video streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Television Systems (AREA)
Abstract
数据替换输出设备10根据在(i)在时间间隔期间接收的构成替换对象数据的数据单元的数目与(ii)在该时间间隔期间输出的构成替换数据的数据单元的数目之间比较的结果,确定是否执行替换数据的顺序输出。该确定是在每次接收替换对象数据而不执行数据的顺序输出时作出的。如果它确定执行顺序输出,则数据替换输出设备10在每次接收构成数据流的数据时输出替换数据,以及在每次接收构成非替换对象数据的数据而不执行数据的顺序输出时输出非替换对象数据;如果它确定不执行顺序输出,则在每次接收构成数据流的数据单元时输出非替换对象数据。
Description
技术领域
本发明涉及数据替换输出设备,它接收来自外面的数据,用相应的数据来替换接收的数据的一部分,并输出带有替换品的数据。
背景技术
若干年以前,在日本开始利用广播卫星来BS(广播卫星)数字广播。计划在2003年末将开始利用地面波的地面数字广播,并在几年内地面数字广播将完全取代模拟地面广播。
地面数字广播把由字符信息和/或静止图像组成的数据广播节目以及由视频数据与音频数据组成的传统的广播节目提供给观众。在数据广播节目广播时,构成数据广播节目的素材数据通过DSM-CC数据轮播(data carousel)传输方法进行发送。
DSM-CC数据轮播传输方法是在国际标准ISO/IEC 13818-6中规定的。更具体地,在DSM-CC数据轮播传输方法中,构成数据广播节目的素材数据以预定的单元被循环地和重复地发送。
所以,地面数字广播的观众在传统广播节目广播时可以通过数据广播节目得到对于传统广播节目的附加信息,例如天气预报或与传统广播节目有关的某些类型的信息。
另一方面,由数据广播节目提供的天气预报或新闻的内容需要按照其中提供这样的信息的地区的位置进行改变。例如,对于居住在日本西部地区的观众,东部地区的天气预报并不是必要的,而是希望得到西部地区的详细天气预报。
另外,每个本地地区需要被提供以本地新闻。
传统上,从主站接收广播节目的本地站用为本地区专门准备的部分节目替换一部分接收的广播节目。
专利文件1公开一种用为本地区专门准备的部分节目替换一部分接收的广播节目的技术。按照专利文件1,前和后识别码分别被附着到广告的素材数据的开始端和末端,以便检测在前识别码和后识别码之间的边界。发送站把广告素材数据连同表示检测的边界的信号一起发送到接收站,具有由边界检测信号建议的那样多的延时。每个接收站用由接收站准备好的另一个广告素材数据替换接收的广告数据,而同时使得边界检测信号与在接收站产生的同步信号同步。
上述的技术已经解决观众瞥见从发送站发送的广告素材数据的问题,它是没有用由接收站准备的广告数据素材替换的素材的一部分。
专利文件1:日本专利特许公开申请号2001-045371
然而,被假定应用于模拟广播的上述的传统的替换技术不能应用于地面数字广播以用相应的数据替换数据广播节目的素材数据,因为地面数字广播在广播节目传输方法和广播节目素材数据的数据结构方面不同于模拟广播。
另外,当由主站广播的数据广播节目在素材数据的数据尺寸方面不同于由接收站广播的数据广播节目时,主站和本地站必须使用不同的带宽以在同一个周期中广播它们的数据广播节目的素材数据。
发明公开内容
本发明的目的是提供数据替换输出设备和方法,它们用相应的数据来替换接收数据的一部分并输出具有替代物的数据,同时以相同的速度输入和输出数据。
以上目的是通过一种用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备达到的,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,该数据替换输出设备包括:确定单元,用来根据在(i)在从参考时间到当前时间的时间间隔期间接收的、构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及数据输出单元,用于如果确定单元确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,用于在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及用于如果确定单元确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法而达到,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,该数据替换输出方法包括:确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的、构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序而达到,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据替换输出控制程序包括:确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的、构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过其中记录在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读记录介质而达到,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据替换输出控制程序包括:确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的、构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
通过上述结构,数据替换输出设备用相应的数据来替换接收数据的一部分并输出具有替换物的数据,而同时以相同的速度输入和输出数据。因此,在广播数据广播节目时由主站和本地站以相同的速度发送数据。这使得任何本地站能够使用与主站相同的带宽并以对于本地站独特的方式用相应的数据替换部分节目来广播数据广播节目,而不用改变带宽。
在上述的数据替换输出设备中,该确定单元可包括:判断子单元,用来在每次接收数据单元时,判断接收的数据单元是否构成替换对象数据;以及比较子单元,用来比较在时间间隔期间接收的、构成替换对象数据的数据单元的总数与在该时间间隔期间输出的、构成替换数据的数据单元的总数,其中
如果作为由比较子单元进行比较的结果发现在时间间隔期间输出的、构成替换数据的数据单元的总数不大于在该时间间隔期间接收的、构成替换对象数据的数据单元的总数,则确定单元确定执行数据的顺序输出。
通过上述结构,如果构成输出替换数据的数据单元的数目超过构成输入替换对象数据的数据单元的数目,则禁止输出替换数据。然后,非替换对象数据保持输出,直至构成输出替换数据的数据单元的数目不大于构成输入替换对象数据的数据单元的数目为止。这使得非替换对象数据没有延时地输出。
在上述的数据替换输出设备中,数据输出单元可包括用来存储非替换对象数据的存储子单元,以及数据输出单元在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时,从存储子单元读出构成非替换对象数据的数据单元并输出读出的数据单元,以及如果确定单元确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时,从存储子单元读出构成非替换对象数据的数据单元并输出读出的数据单元。
通过上述的结构,提前得到和存储非替换对象数据。这使得有可能如果需要构成非替换对象数据的数据单元,则复制构成存储的非替换对象数据的数据单元,并输出复制的数据单元,而不用在每次需要时得到和输出数据单元。
在上述的数据替换输出设备中,该确定单元可包括:判断子单元,用来在每次接收数据单元时,判断接收的数据单元是否构成替换对象数据;计算子单元,用来通过从(ii)在时间间隔期间接收的、构成替换对象数据的数据单元的总数中减去(i)在该时间间隔期间输出的、构成替换数据的数据单元的总数而计算替换过量计数值;以及计数值判断子单元,用来判断替换过量计数值是否小于如在顺序地输出的构成替换数据的预定数目的数据单元中的预定的数目,以及如果计数值判断子单元判断替换过量计数值不小于预定的数目,则确定单元确定执行数据的顺序输出。
通过上述的结构,构成输出替换数据的数据单元的数目并没有过分地超过构成输入替换对象数据的数据单元的数目。这使得非替换对象数据能够无延时地输出,使得用户能够经由接收设备无延时地得到非替换对象数据。
在上述的数据替换输出设备中,该确定单元可包括:判断子单元,用来在每次接收数据单元时,判断接收的数据单元是否构成替换对象数据;计算子单元,用来通过从(ii)在时间间隔期间接收的、构成替换对象数据的数据单元的总数中减去(i)在该时间间隔期间输出的、构成替换数据的数据单元的总数而计算替换过量计数值;以及计数值判断子单元,用来判断替换过量计数值是否不小于如在顺序地输出的构成替换数据的预定数目的数据单元中的预定的数目的一半,以及如果计数值判断子单元判断替换过量计数值不小于预定的数目的一半,则确定单元确定执行数据的顺序输出。
通过上述的结构,有可能输出比构成输入的替换对象的数据单元更多的构成替换数据的数据单元。这使得替换数据能够以比替换对象数据输入的速度更高的速度输出,使得用户能够经由接收设备高速地得到替换数据。
在上述的数据替换输出设备中,数据流可包括多种类型的替换对象数据,数据输出单元包括替换数据存储子单元,用来存储分别相应于多种类型的替换对象数据的多种类型的替换数据,以及确定单元根据在每对(i)在时间间隔期间接收的、构成多种类型中一种类型的替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成相应于在(i)中那种类型的替换对象数据的多种类型中一种类型的替换数据的数据单元的总数之间的比较结果,确定是否执行构成任何的多种类型的替换数据的预定数目的数据单元的顺序输出。
另外,在上述的数据替换输出设备中,数据流可包括多种类型的替换对象数据,该数据输出单元包括替换后数据存储子单元,用来存储分别相应于多种类型的替换对象数据的多种类型的替换数据,以及确定单元根据在(i)在时间间隔期间接收的、构成该多种类型的替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的、构成该多种类型的替换数据的数据单元的总数之间的比较结果,确定是否执行构成任何的多种类型的替换数据的预定数目的数据单元的顺序输出。
通过上述的结构,数据替换输出设备对于多种类型的每种类型的输入数据,用相应的数据替换部分接收数据并输出带有替换物的数据,而以相同的速度输入和输出数据。这使得任何本地站使用与主站相同的带宽并以对于本地站独特的方式用相应的数据替换部分数据广播节目而能够广播数据广播节目,而不改变带宽。
在上述的数据替换输出设备中,确定单元可对一种类型的替换对象数据与相应类型的替换数据的每对计算替换过量计数值,以及如果由确定单元计算的一个或多个替换过量计数值小于“0”,则确定单元根据预定的准则在相应于小于“0”的一个或多个替换过量计数值的一个或多个类型的替换数据中间选择一种类型的替换数据,并确定执行构成选择的类型的替换数据的预定数目的数据单元的顺序输出。
通过上述的结构,如果构成任何类型的输入替换对象数据的数据单元的数目超过构成相应类型的输出替换数据的数据单元的数目,则输出构成相应类型的输出替换数据的数据单元。这使得有可能通过参考构成相应类型的输入替换对象数据的数据单元的数目,对于每种类型的替换数据控制不过分地输出构成替换数据的数据单元的数目。
在上述的数据替换输出设备中,该确定单元可选择相应于在一个或多个替换过量计数值中间的最小数值的一种类型的替换数据,并确定执行构成选择的类型的替换数据的预定数目的数据单元的顺序输出。
上述的结构防止构成任何类型的输出替换数据的数据单元的数目过分地增加或减小,因为最好输出相应于替换超过计数的最小数值的那种类型的替换数据。
在上述的数据替换输出设备中,不同的优先级可以分别被分配给多种类型的替换数据,以及确定单元可以在相应于一个或多个替换过量计数值的一种或多种类型的替换数据中间选择已被分配以最高优先级的一种类型的替换数据,并确定执行构成选择的类型的替换数据的预定数目的数据单元的顺序输出。
在上述的数据替换输出设备中,可以从多种类型的替换数据中预先选择一种类型的替换数据,以及如果对于预先选择的类型的替换数据的替换过量计数值小于“0”,则确定单元预先选择的类型的替换数据,以及如果对于预先选择的类型的替换数据的替换过量计数值不小于“0”,则确定单元选择相应于一个或多个替换过量计数值中间的最小数值的一种类型的替换数据,并确定执行构成选择的类型的替换数据的预定数目的数据单元的顺序输出。
上述的结构防止重要类型的替换数据被延时地发送,因为首先输出具有最高优先级的类型的替换数据。
在上述的数据替换输出设备中,不同的优先级可以分别被分配给多种类型的替换数据和非替换对象数据,该确定单元计算对于一种类型的替换对象数据和相应类型的替换数据的每对的替换过量计数值,并且如果由确定单元计算的一个或多个替换过量计数值小于“0”,以及如果被分配给相应于小于“0”的替换过量计数值的一种类型的替换数据的任何优先级不小于被分配给非替换对象数据的优先级,则确定单元确定执行构成相应于任何小于“0”的替换过量计数值的任何类型的替换数据的预定数目的数据单元的顺序输出。
上述的结构防止重要类型的非替换对象数据被延时地发送,因为首先输出具有最高优先级的类型的替换对象数据。
以上目的是通过用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备达到的,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的M个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出设备包括:替换判断单元,用来判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及数据输出单元,用来如果替换判断单元判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及用来如果替换判断单元判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的M个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出方法包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的M个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出控制程序包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过其中记录在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读记录介质而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的M个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出控制程序包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
通过上述的结构,如果由于替换对象数据和替换用途数据之间在数据尺寸上的差别而构成要被输出的替换用途数据的数据单元的数目相对于构成所输入的相应的替换对象数据的数据单元的数目是不够的,则输出如需要的那样多的单元的伪数据,以填补替换用途数据的不足,保持以相同的速度输入和输出数据。
以上目的是通过用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备达到的,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的多个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出设备包括:替换判断单元,用来判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;检测单元,用来如果替换判断单元判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;判断单元,用来判断由检测单元检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及数据输出单元,用来如果判断单元判断由检测单元检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测单元检测的数据单元的数目一样多的构成伪数据的数据单元,以及用来如果判断单元判断由检测单元检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与由检测单元检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及用来如果替换判断单元判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的多个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出方法包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及数据输出步骤,用于如果判断步骤判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,用于如果判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及用于如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的多个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出控制程序包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及数据输出步骤,用于如果判断单元判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,用于如果判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及用于如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
以上目的也可通过其中记录在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据、并输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读记录介质而达到,其中替换对象数据、非替换对象数据、以及替换数据中的每一个由多个具有相同尺寸的数据单元组成,数据流包含构成替换对象数据的多个数据单元的序列,替换数据由替换用途数据和伪数据组成,数据替换输出控制程序包括:替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及数据输出步骤,用于如果判断单元判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,用于如果判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及用于如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
通过上述的结构,如果替换对象数据在数据尺寸上小于相应的替换用途数据,则输出与所输入的构成替换对象数据的数据单元的数目一样多的单元的伪数据,以保持以相同的速度输入和输出数据。
附图简述
图1是显示在本发明的实施例1中的数据替换输出设备10的结构的功能性方框图。
图2显示由输入数据接收单元100接收的素材数据TS分组流的数据结构。
图3显示TS分组、分段、与模块之间的关系。
图4显示被包含在输入到数据替换输出设备10的素材数据的TS分组流(输入TS分组流41)中的TS分组的例子,以及被包含在从数据替换输出设备10输出的TS分组流(输出TS分组流42)中的TS分组的例子,输出TS分组流42包含替换在输入TS分组流41中的替换对象分组的替换后(post-replacement)分组。
图5显示由从由块号=0表示的分段到由块号=9表示的分段的10个分段组成的替换后模块50的例子。
图6A和6B是显示由数据替换输出设备10执行的替换输出控制处理的过程的流程图。
图7显示被表示为“模块ID=3”并具有与替换后模块50相同的数据结构的替换后模块70的例子。
图8是显示数据替换输出设备20的结构的功能性方框图。
图9显示由图10所示的替换对象分组组成的替换对象模块90。
图10显示被包含在输入到数据替换输出设备20的TS分组流(输入TS分组流51)中的TS分组的例子,以及被包含在从数据替换输出设备20输出的TS分组流(输出TS分组流52)中的TS分组的例子,输出TS分组流52包含替换在输入TS分组流51中的替换对象分组的替换后分组或空分组。
图11显示由图10所示的替换后分组组成的替换后模块110。
图12是显示由数据替换输出设备20执行的替换输出控制处理的过程的流程图。
图13是显示由数据替换输出设备30执行的替换输出控制处理的过程的流程图。
图14显示被包含在输入到数据替换输出设备30的TS分组流(输入TS分组流61)中的TS分组的例子,以及被包含在从数据替换输出设备30输出的TS分组流(输出TS分组流62)中的TS分组的例子,输出TS分组流62包含替换在输入TS分组流61中的替换对象分组的替换后分组或空分组。
图15是显示由数据替换输出设备40执行的替换输出控制处理的过程的流程图。
图16显示被包含在输入到数据替换输出设备40的TS分组流(输入TS分组流71)中的TS分组的例子,以及被包含在从数据替换输出设备40输出的TS分组流(输出TS分组流72)中的TS分组的例子,输出TS分组流72包括包含三个替换后分组的分段。
图17A和17B是显示由数据替换输出设备50执行的替换输出控制处理的过程的流程图。
图18是显示数据替换输出设备30的结构的功能性方框图。
图19是显示数据替换输出设备40的结构的功能性方框图。
图20是显示数据替换输出设备50的结构的功能性方框图。
图21A和21B是显示由数据替换输出设备50执行的图17A和17B所示的替换输出控制处理的修正方案(1)的过程的流程图。
图22A和22B是显示由数据替换输出设备50执行的图17A和17B所示的替换输出控制处理的修正方案(3)的过程的流程图。
实现本发明的最佳模式
实施例1
结构
图1是显示在本发明的实施例1中的数据替换输出设备10的结构的功能性方框图。如图1所示,数据替换输出设备10由输入数据接收单元100、替换对象分组确定单元101、模块替换单元102、替换后分组保持单元103和输入分组保持单元104组成。
数据替换输出设备10由CPU、ROM、RAM、硬盘、译码器、滤波器等硬件组成,其中计算机程序被存储在ROM或硬盘中,以及数据替换输出设备10的每个功能作为按照计算机程序的CPU运行的结果而被实现。
输入数据接收单元100接收包含素材数据和通过DSM-CC数据轮播传输方法从外面发送的TC分组流,并把接收的TS分组流输出到替换对象分组确定单元101和模块替换单元102。
每个TS分组流是具有188个八位字节的固定长度的数据分组(此后称为TS分组)的序列。一个TS分组流由包含构成数字广播节目的视频数据与音频数据以及也包含构成数据广播节目的素材数据的一组TS分组组成。另外,必要的信息被附着到每个TS分组。
TS分组流在以下的国际标准中被定义:ISO/IEC 13818-1“Information technology---Generic coding of moving picturesand associated audio information:Systems(信息技术---活动图像和相关的音频信息的通用编码:系统)”;以及ISO/IEC 13818-6“Information technology---Generic coding of moving picturesand associated audio information:Part 6 Extensions forDSM-CC(信息技术---活动图像和相关的音频信息的通用编码:第6部分DSM-CC的扩展)”。TS分组流典型地用于在数字广播中发送视频、音频等等的多路复用数据。
在DSM-CC数据轮播传输方法中,数据传输的最小单元是TS分组。一组一个或多个TS分组构成被称为“分段”的单元。
每个分段包含1到23个TS分组。一组分段构成一个模块,它是最小的有意义的单元。每个模块包含1到255个分段。
在分段的开始端的TS分组(此后称为“开始分组”)包含“模块ID”、“分段号”、“块号”和“分段长度”。
模块ID是包括包含开始分组的当前分段的模块的识别号。
块号是当前的分段在构成模块的分段序列中的位置的识别号。
分段号是构成包含当前分段的模块的分段号的识别号。
这里应当指出,实际上,开始分组包含“上一个分段号”而不是“分段号”,其中上一个分段号显示在包含当前分段的模块中上一个分段的块号。然而,在以下的说明中,为了方便起见而使用“分段号”(更具体地,分段号等于通过把“1”加到上一个分段号而得到的数值)。所以,即使使用“上一个分段号”而不是“分段号”,仍得到在本实施例和实施例2-5中说明的数据替换输出设备的功能。
分段长度是当前分段的数据尺寸的识别号。
这里,由于每个TS分组具有如早先描述的固定的长度,每个分段的数据尺寸可以与被包含在分段中TS分组的数目相关。因此,在以下的说明中,每个分段的数据尺寸用代表被包含在分段中的TS分组的数目的“pnum”表示,而不是“分段长度”。
替换对象分组确定单元101参考被包含在由输入数据接收单元100接收的TS分组流中每个开始分组中的模块ID,并对在接收的TS分组流中每个TS分组判断TS分组是否被包括在要被替换的数据(替换对象数据)中,并把判断结果通知模块替换单元102。应当指出,此后,由替换对象分组确定单元101判断的被包括在替换对象数据中的TS分组被称为“替换对象分组”。
图3显示TS分组、分段、与模块之间的关系。
如图3所示,分段310由23个TS分组组成:TS分组300到TS分组303。
包含在每个TS分组中的“PID”是数据类型(例如视频数据、音频数据、素材数据、或类型素材数据)的识别号。
标记“mid”是“模块ID”的缩写。标记“snum”是“分段号”的缩写。标记“bnum”是“块号”的缩写。
分段310的开始分组(TS分组300)包含“PID=100”、“mid=0”、“snum=45”、“bnum=0”和“pnum=23”。符号“mid=0”表示包含当前的分段的模块被表示为“0”。符号“snum=45”表示模块由45个分段组成。符号“bnum=0”表示当前的分段被表示为“分段0”,也就是模块中的第一分段。符号“pnum=23”表示当前的分段由23个TS分组组成。
另外,如图3所示,模块320由45个分段组成:分段310到分段312。
图2显示由输入数据接收单元100接收的素材数据TS分组流的数据结构。在图2上,框200到216分别代表构成TS分组流的TS分组。在图2上,框号越小,由块号表示的TS分组越早被接收。也就是说,在图2上,TS分组200最早被接收,以及TS分组216最近才被接收。
每个分段的每个开始分组包含“PID”、“mid”、“snum”、“bnum”和“pnum”的数值。
在图2所示的例子中,开始分组200包含“PID=100”、“mid=0”、“snum=2”、“bnum=0”和“pnum=3”。这些识别号的数值表示具有开始分组200的分段被包含在模块0中,该模块由两个分段组成,当前的分段是“分段0”,即模块中的第一分段,以及当前的分段由三个TS分组组成。这些识别号表示的内容可以由替换对象分组确定单元101识别。
如图2所示的另外的开始分组,即分组201、205、211和212类似地包含识别号“PID”、“mid”、“snum”、“bnum”和“pnum”。在这些识别号中,“mid”、“snum”、“bnum”和“pnum”提供包含当前分段的模块的识别信息,构成模块的分段数目,在构成模块的分段的序列中当前分段的位置,以及被包含在当前的分段中的TS分组数目。此后,由识别号“mid”、“snum”、“bnum”和“pnum”提供的信息被称为“分段信息”。
TS分组202-204、206-210和213-216,即除了开始分组以外的分组只包含PID。这是因为分段信息可以从具有与TS分组相同的PID的开始分组中得到。例如,TS分组202和203的分段信息从开始分组中得到,以及TS分组204、206和209的分段信息从开始分组201中得到。
在流中每次分段改变时,必须提供分段信息。例如,在图2所示的例子中,被表示为PID=101的素材数据的模块“0”的第一分段(被表示为bnum=0)从开始分组201开始并在TS分组204结束。结果,在这个分段后面的分段的开始分组需要包含该分段信息。在图2上,这个下一个分段被表示为以PID=100表示的数据的模块“0”的bnum=1,以及这个分段的开始分组是TS分组205。而且,下一个分段被表示为以PID=101表示的素材数据的模块“0”的bnum=1,以及这个分段的开始分组是TS分组211。而且,下一个分段被表示为以PID=100表示的数据的模块“1”的bnum=0,以及这个分段的开始分组是TS分组212。
MPEG2标准规定发送的流不应当包括具有相同的PID并属于不同分段的TS分组的混合。也就是说,在传输具有相同PID的TS分组时,属于下一个分段的TS分组不能在属于当前分段的所有TS分组被发送之前被发送。
这是因为如果接收其中这种具有相同的PID和属于不同分段的TS分组被安排成混合状态的TS分组流,则由分段信息表示的TS分组的数目不能与实际接收的TS分组的数目相匹配。例如,如果接收到图2所示的TS分组流并且如果TS分组205被插入在接收的TS分组流中的TS分组202与203之间,则虽然被表示为“bnum=0”的分段的分段信息表示被包含在分段中的TS分组的数目是“3”,正如由“pnum=3”所表示的,但输入数据接收单元100将认为在分段中实际接收的TS分组的数目是“2”。
由于MPEG2标准中规定的上述的限制,在以下的说明中,假设TS分组逐个分段地被输出。
替换后分组保持单元103保持替换后模块。
这里应当指出,“替换后模块”是指在包含多个替换对象分组的替换对象模块的替换中要被输出的模块。每个替换后模块由多个TS分组组成。此后,构成替换后模块的TS分组被称为替换后分组。
图5显示替换后模块的例子。如图5所示,替换后模块50由从用块号=0表示的分段到用块号=9表示的分段的10个分段组成。
输入分组保持单元104把非替换对象分组保持为一个队列。
这里应当指出,“非替换对象分组”是由替换对象分组确定单元101判断为不是替换对象分组的TS分组。
模块替换单元102从由输入数据接收单元100接收的TS分组流中删除由替换对象分组确定单元101判断为替换对象分组的TS分组,并把由替换对象分组确定单元101判断为非替换对象分组的TS分组存储在输入分组保持单元104中。
另外,在将在后面描述的替换输出控制处理中,模块替换单元102顺序地对于在接收的TS分组流中的每个TS分组选择非替换对象分组或替换后分组作为要输出的TS分组,并以与所接收的TS分组被发送的比特速率相同的比特速率输出选择的TS分组。
更具体地,每次从外面输入TS分组时,输出由模块替换单元102选择的TS分组。
通过上述的操作,被包含在接收的TS分组流中的替换对象分组用替换后分组来替换,并且TS分组在替换后被顺序地输出,其中TS分组以相同的比特速率被输入和输出。
图4显示被包含在输入到数据替换输出设备10的素材数据的TS分组流(输入TS分组流41)中的TS分组的例子,以及被包含在从数据替换输出设备10输出的TS分组流(输出TS分组流42)中的TS分组的例子,输出TS分组流42包含替换在输入TS分组流41中的替换对象分组的替换后分组。
在图4上,框400-415代表被包含在输入TS分组流41中的TS分组,以及框450-465代表被包含在输出TS分组流42中的TS分组。
另外,在输入TS分组流41中的TS分组400、403、407、410和413是各个分段的开始分组。类似地,在输出TS分组流42中的TS分组450、456、460和463是各个分段的开始分组。
在输入TS分组流41中属于被表示为“mid=0”的模块的TS分组400-402、407-409和413-415是替换对象分组。在输出TS分组流42中的TS分组450-455和463-465是被模块替换单元102插入的替换后分组。
在输入TS分组流41中的TS分组403-406和410-412是非替换对象分组,所以它们不由模块替换单元102用其它TS分组替换,而是被包括在内,因为它们在输出TS分组流42中分别作为分组456-459和460-462。
这里应当指出,在图4所示的输入TS分组流41的例子中,为了方便起见,所有的TS分组属于被表示为PID=100的相同的数据类型。然而,在输入TS分组流41中的TS分组可以属于被表示为其它PID值的其它的数据类型。
运行
1.在实施例1中替换输出控制处理的运行
下面描述由数据替换输出设备10执行的替换输出控制处理。
图6A和6B是显示由数据替换输出设备10执行的替换输出控制处理的过程的流程图。现在参照图6A和6B将描述该运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元102把替换过量计数值设置为“0”(步骤S601)。
替换过量计数值是相应于在模块替换单元102输出的替换后分组的总数与模块替换单元102从输入数据接收单元100接收的替换对象分组的总数之间的差值的计数值。
在步骤S601之后,模块替换单元102从输入数据接收单元100获取TS分组(步骤S602),然后模块替换单元102在这个步骤之前判断是否输出任何TS分组,以及如果它输出任何TS分组,则判断紧接在以前输出的TS分组是否为在紧接在以前输出的TS分组所属于的分段中最后的TS分组(步骤S603)。
步骤S603的判断例如可以按以下方式达到:替换后分组保持单元103和输入分组保持单元104事先具有输出分组管理表,它存储保持单元输出的分组的“PID”、“块号”、“pnum”的数值和相应于“块号”的每个数值的“输出分组的数目”的数值,以及每次保持单元103或104的任一输出TS分组到模块替换单元102时,保持单元把相应的“块号”的“输出分组的数目”的数值增加“1”,并判断“输出分组的数目”的增加的数值是否与“pnum”一致。
在上述的运行中,每次判断“输出分组的数目”的增加的数值与“pnum”一致时,则“输出分组的数目”可被复位为“0”,以使得相同的判断过程可以对属于相同PID和相同“块号”的TS分组重复执行。
如果模块替换单元102在步骤S603判断它在这个步骤之前没有输出任何TS分组,或紧接在之前输出的TS分组是在紧接在之前输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“是”),则模块替换单元102根据从替换对象分组确定单元101发送的判断结果判断得到的TS分组是否为替换对象分组(步骤S611)。
如果模块替换单元102在步骤S611判断取得的TS分组是替换对象分组(步骤S611中的“是”),则模块替换单元102判断替换过量计数值是否大于“0”(步骤S612)。如果模块替换单元102在步骤S612判断替换过量计数值大于“0”(步骤S612中的“是”),则模块替换单元102从输入分组保持单元104读出在非替换对象分组队列中间的第一个非替换对象分组,并输出读出的分组(步骤S615),从替换过量计数值中减去“1”(步骤S607),以及返回到步骤S602。
如果模块替换单元102在步骤S612判断替换过量计数值不大于“0”(步骤S612中的“否”),则模块替换单元102从替换后分组保持单元103读出替换后分组,并输出读出的分组(步骤S613),以及返回到步骤S602。
如果模块替换单元102在步骤S611判断取得的TS分组不是替换对象分组(步骤S611中的“否”),则模块替换单元102使得输入分组保持单元104把在步骤S602取得的TS分组保持在队列中,把替换过量计数值加“1”(步骤S614),以及前进到步骤S615。
如果模块替换单元102在步骤S603判断它在这个步骤之前输出任何TS分组,以及紧接在之前输出的TS分组不是在紧接在之前输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“否”),则模块替换单元102从替换后分组保持单元103或输入分组保持单元104读出在同一个分段中在紧接在之前输出的TS分组后面的TS分组,并输出读出的TS分组(步骤S604)。然后,模块替换单元102根据从替换对象分组确定单元101发送的判断结果的通知判断得到的TS分组是否为替换对象分组(步骤S605)。
如果模块替换单元102在步骤S605判断得到的TS分组不是替换对象分组(步骤S605中的“否”),则模块替换单元102判断在步骤S604输出的TS分组是否为得到的TS分组(步骤S608)。如果模块替换单元102判断输出的TS分组不是得到的TS分组(步骤S608中的“否”),则模块替换单元102使得输入分组保持单元104把在步骤S602得到的TS分组保持在队列中(步骤S609),并且前进到步骤S610,其中模块替换单元102根据输出的TS分组是否从替换后分组保持单元103读出的来判断在步骤S604输出的TS分组是否为替换后分组(步骤S610)。如果模块替换单元102在步骤S610判断输出的TS分组是替换后分组(步骤S610中的“是”),则模块替换单元102把替换过量计数值加“1”(步骤S616),并且返回到步骤S602。
如果模块替换单元102在步骤S605判断得到的TS分组是替换对象分组(步骤S605中的“是”),则模块替换单元102根据输出的TS分组是否为从输入分组保持单元104读出的来判断在步骤S604输出的TS分组是否为非替换对象分组(步骤S606)。如果模块替换单元102判断输出的TS分组是非替换对象分组(步骤S606中的“是”),则模块替换单元102从替换过量计数值中减去“1”(步骤S607),并且返回到步骤S602。
如果模块替换单元102在步骤S606判断输出的TS分组不是非替换对象分组(步骤S606中的“否”),则模块替换单元102返回到步骤S602。另外,如果模块替换单元102在步骤S608判断在步骤S604中输出的TS分组是得到的TS分组(步骤S608中的“是”),则模块替换单元102返回到步骤S602。另外,如果模块替换单元102在步骤S610判断输出的TS分组不是替换后分组(步骤S610中的“否”),则模块替换单元102返回到步骤S602。
2.在实施例1中替换输出控制处理的具体的例子
现在利用图4所示的具体例子解释替换输出控制处理的运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元102把替换过量计数值设置为“0”(步骤S601),然后从输入数据接收单元100获取在图4所示的输入TS分组流中的第一个TS分组的TS分组400(步骤S602)。在下一个步骤S603,模块替换单元102判断是肯定的,因为它在这个步骤之前没有输出任何TS分组(步骤S603中的“是”),并且所以转到步骤S611。在步骤S611,模块替换单元102根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是替换对象分组(步骤S611中的“是”),并且转到步骤S612,以判断替换过量计数值是否大于“0”(步骤S612)。
这时,替换过量计数值是“0”,所以模块替换单元102判断替换过量计数值不大于“0”(步骤S612中的“否”),并且转到步骤S613。在步骤S613,模块替换单元102从替换后分组保持单元103读出替换后分组(TS分组500,它是图5所示的在由块号=0表示的分段中的第一个TS分组),并输出读出的分组(步骤S613),以及返回到步骤S602。
在以上步骤读出的TS分组500被作为图4所示的输出TS分组流42中的TS分组450而输出。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取在图4所示的输入TS分组流41中的TS分组401(步骤S602),并且前进到步骤S603,以判断紧接在前面输出的TS分组是否为紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603)。在步骤S603,模块替换单元102的判断是否定的(步骤S603中的“否”),因为紧接在前面输出的TS分组450是TS分组500,它是图5所示的由块号=0表示的分段中的第一TS分组,以及在分段信息中的“pnum=6”表示分段包含另外5个TS分组,并且前进到步骤S604。在步骤S604,模块替换单元102从替换后分组保持单元103读出TS分组501,它在图5所示的由块号=0表示的分段中紧接在以前被输出的TS分组500的后面,并输出读出的分组501作为图4所示的输出的TS分组流42中的TS分组451(步骤S604),并且前进到步骤S605,以根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S605)。
在步骤S605,模块替换单元102的判断是肯定的(步骤S605中的“是”),因为获取的TS分组401被通知为是替换对象分组(步骤S605中的“是”),以及转到步骤S606,以判断在步骤604输出的TS分组451是否为非替换对象分组(步骤S606)。
在步骤S606,模块替换单元102的判断是否定的,因为TS分组451是替换对象分组(步骤S606中的“否”),并返回到步骤S602。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组402(步骤S602),经过类似于前一轮中TS分组401的过程,以及在步骤S604,从替换后分组保持单元103读出TS分组502,它在由块号=0表示的分段中的TS分组501的后面,并输出读出的分组502作为图4所示的输出的TS分组流42中的TS分组452(步骤S604)。然后,在经过类似于以下步骤中TS分组401的过程后,模块替换单元102返回到步骤S602。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组403(步骤S602)。在接着的步骤S603,模块替换单元102判断紧接在前面输出的TS分组不是紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“否”),因为紧接在前面输出的TS分组452是替换后分组502,它不是由“块号=0”表示的分段中的最后的TS分组。在接着的步骤S604,模块替换单元102从替换后分组保持单元103读出TS分组503,它在图5所示由块号=0表示的分段中紧接在以前被输出的TS分组502的后面,并输出读出的分组503作为图4所示的输出的TS分组流42中的TS分组453(步骤S604),并前进到步骤S605,以根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组403是否为替换对象分组(步骤S605)。
在步骤S605,模块替换单元102的判断是否定的(步骤S605中的“否”),因为获取的TS分组403被通知为不是替换对象分组,以及转到步骤S608,以判断在步骤604输出的TS分组453是否为获取的TS分组403(步骤S608)。
在步骤S608,模块替换单元102的判断是否定的,因为输出TS分组453是替换后分组503,而不是获取的TS分组403(步骤S608中的“否”),并前进到步骤S609。
在步骤S609,模块替换单元102使得输入分组保持单元104把在步骤S602获取的TS分组403保持在队列中(步骤S609),并前进到步骤S610。在步骤S610,模块替换单元102判断在步骤S604输出的TS分组453是替换后分组503(步骤S610中的“是”)。模块替换单元102然后把替换过量计数值加“1”(步骤S616),并返回到步骤S602。
在以下的轮中,模块替换单元102在步骤S602从输入数据接收单元100分别获取图4所示的输入TS分组流41中的TS分组404和405,经过类似于前一轮中TS分组403的过程。也就是,在步骤S604,模块替换单元102从替换后分组保持单元103读出在由块号=0表示的分段中的TS分组503后面的TS分组504和505,并输出读出的分组504和505作为图4所示的输出的TS分组流42中的TS分组454和455(步骤S604)。然后,在经过类似于前一轮中TS分组403的过程后,模块替换单元102使得输入分组保持单元104把在步骤S602顺序获取的TS分组404和405保持在队列中(步骤S609),并且每次在步骤S610把替换过量计数值加“1”,以及返回到步骤S602。这时,输入分组保持单元104把TS分组403、404和405以这个次序保持在队列中,以及替换过量计数值是“3”。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组406(步骤S602)。在接着的步骤S603,模块替换单元102判断紧接在前面输出的TS分组455是紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“是”),因为紧接在前面输出的TS分组455是图5所示如“块号=0”表示的分段中的最后的替换后分组505。在接着的步骤S611,模块替换单元102根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组不是替换对象分组(步骤S611中的“否”)。在接着的步骤S614,模块替换单元102使得输入分组保持单元104把在步骤S602获取的TS分组406保持在队列中,把替换过量计数值加“1”(步骤S614),并且前进到步骤S615。在接着的步骤S615,模块替换单元102从输入分组保持单元104读出非替换对象分组(TS分组403,它是队列中的第一分组),并输出读出的分组403作为输出的TS分组流42中的TS分组456(步骤S615),从替换过量计数值中减去“1”(步骤S607),以及返回到步骤S602。这时,输入分组保持单元104把TS分组404、405和406以这个次序保持在队列中,以及替换过量计数值是“3”。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组407(步骤S602),以及前进到步骤S603,以判断紧接在前面输出的TS分组是否为紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603)。在步骤S603,模块替换单元102的判断是否定的(步骤S603中的“否”),因为紧接在前面输出的TS分组456是输入TS分组流41中的TS分组403,并且是属于被表示为“模块ID=1”的模块的由“块号=0”表示的分段的开始分组,以及在分段信息中的“pnum=4”表示分段包括另外三个TS分组,并前进到步骤S604。在步骤S604,模块替换单元102从输入分组保持单元104读出TS分组404,它在紧接在以前被输出的TS分组403的后面,并输出读出的分组404作为图4所示的输出的TS分组流42中的TS分组457(步骤S604),并前进到步骤S605,以根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组407是否为替换对象分组(步骤S605)。
在步骤S605,模块替换单元102的判断是肯定的(步骤S605中的“是”),因为获取的TS分组407被通知为是替换对象分组(步骤S605中的“是”),并转到步骤S606,以判断在步骤604输出的TS分组457是否为非替换对象分组(步骤S606)。
在步骤S606,模块替换单元102的判断是肯定的,因为TS分组457是非替换对象分组(步骤S606中的“是”)。在下一个步骤S607,模块替换单元102从替换过量计数值中减去“1”(步骤S607),并返回到步骤S602。这时,输入分组保持单元104把TS分组405和406以这个次序保持在队列中,以及替换过量计数值是“2”。
在以下的轮中,模块替换单元102在步骤S602从输入数据接收单元100分别获取图4所示的输入TS分组流41中的TS分组408和409,经过类似于前一轮中TS分组407的过程。也就是,在步骤S604,模块替换单元102从输入分组保持单元104读出在TS分组404后面的TS分组405和406,并输出读出的分组405和406作为图4所示的输出TS分组流42中的TS分组458和459(步骤S604)。然后,在从替换过量计数值中减去“1”以后(步骤S607),模块替换单元102返回到步骤S602。
这时,输入分组保持单元104输出TS分组405和406,并且没有TS分组被保持在队列中,以及替换过量计数值是“0”。
如上所述,至今为止在这个运行例子中的进展表明,即使生成3个TS分组的超过量,即在替换对象分组(在图40所示输入TS分组流41中的TS分组400-402)与替换后分组(在图4所示输出TS分组流42中的TS分组453-455)之间的差值,但通过禁止相应于替换对象分组的替换后分组(在图40所示输入TS分组流41中的TS分组407-409)输出,仍可以消除3个TS分组的超过量。这表明本实施例在调节TS分组的超过量时的有效性。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组410(步骤S602)。在接着的步骤S603,模块替换单元102判断紧接在前面输出的TS分组455是紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“是”),因为紧接在前面输出的TS分组459是由“模块ID=1”表示的模块的由“块号=0”表示的分段中的最后的TS分组406。在接着的步骤S611,模块替换单元102根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组410不是替换对象分组(步骤S611中的“否”)。在接着的步骤S614,模块替换单元102使得输入分组保持单元104把在步骤S602获取的TS分组410保持在队列中,把替换过量计数值加“1”(步骤S614),并前进到步骤S615。在下一个步骤S615,模块替换单元102从输入分组保持单元104读出TS分组410,并输出读出的分组410作为输出的TS分组流42中的TS分组460(步骤S615),从替换过量计数值中减去“1”(步骤S607),以及返回到步骤S602。
在下一轮的步骤S602中,模块替换单元102从输入数据接收单元100获取图4所示的输入TS分组流41中的TS分组411(步骤S602)。在接着的步骤S603,模块替换单元102判断紧接在前面输出的TS分组不是紧接在前面输出的TS分组所属于的分段中最后的TS分组(步骤S603中的“否”),因为紧接在前面输出的TS分组460是在被表示为“模块ID=1”的模块的由“块号=2”表示的分段中的第一TS分组的TS分组410,以及在分段信息中的“pnum=3“表示分段包括另外两个TS分组,并前进到步骤S604。在步骤S604,由于在步骤S602获取的TS分组411是在紧接在以前被输出的TS分组的TS分组410后面的TS分组,模块替换单元102输出获取的TS分组411作为图4所示的输出的TS分组流42中的TS分组461(步骤S604),并前进到步骤S605,以根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组411是否为替换对象分组(步骤S605)。
在步骤S605,模块替换单元102的判断是否定的(步骤S605中的“否”),因为获取的TS分组411是非替换对象的对象分组,以及转到步骤S608,以判断在步骤604输出的TS分组461是否为获取的TS分组411(步骤S608)。
在步骤S608,模块替换单元102的判断是肯定的,因为输出的TS分组461是获取的TS分组411(步骤S608中的“是”),并返回到步骤S602。
在以下的轮中,模块替换单元102从输入数据接收单元100获取在图4所示的输入TS分组流41中的TS分组412(步骤S602),经过类似于前一轮中TS分组411的过程,并输出获取的分组412作为图4所示的输出的TS分组流42中的TS分组462。
在以下的轮中,模块替换单元102在步骤S602从输入数据接收单元100分别获取在图4所示的输入TS分组流41中的TS分组413-415,经过类似于前一轮中TS分组409-402的过程,从替换后分组保持单元103读出图5所示的TS分组510-512,并输出读出的分组510-512作为图4所示的输出的TS分组流42中的TS分组463-465。
实施例2
实施例2中的数据替换输出设备20的特征在于,即使替换后模块在数据尺寸上小于替换对象模块,数据替换输出设备20仍以与接收替换对象模块的比特速率相同的比特速率输出代替替换对象模块的替换后模块。
结构
图8是显示数据替换输出设备20的结构的功能性方框图。如图8所示,数据替换输出设备10由输入数据接收单元100、替换对象分组确定单元101、模块替换单元202和替换后分组保持单元103组成。
在以下的说明中,将省略在实施例1中已作为数据替换输出设备10的部件进行解释的部件,并且主要将解释与实施例1的不同之处。
模块替换单元202从输入数据接收单元100接收TS分组流,并在接收的流中包含的TS分组中删除被替换对象分组确定单元101判断为替换对象分组的TS分组,并输出被替换对象分组确定单元101判断为非替换对象分组的TS分组。
模块替换单元202包括生成空分组的空分组生成单元2021。模块替换单元202在将在后面描述的替换输出控制处理过程中顺序选择非替换对象分组、替换后分组和空分组中的一个分组,用于接收的TS分组流中的每个TS分组,并以与接收的TS分组流被发送的比特速率相同的比特速率输出选择的TS分组。
这里应当指出,空分组是具有与TS分组相同的数据尺寸的伪分组,并用来补充要被输出的TS分组的短缺。
运行
1.在实施例2中替换输出控制处理的运行
下面描述由数据替换输出设备20执行的替换输出控制处理。
图12是显示由数据替换输出设备20执行的替换输出控制处理的过程的流程图。现在参照图12描述该运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元202从输入数据接收单元100获取TS分组(步骤S1201),然后根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S1202)。
如果模块替换单元202判断获取的TS分组是替换对象分组(步骤S1202中的“是”),则模块替换单元202比较在“in_bnum”与“out_snum”之间的数值,并判断“in_bnum”是否不大于“out_snum”(步骤S1203)。
这里应当指出,“in_bnum”代表当前的替换对象分组所属于的分段的“块号“,以及”out_snum“代表包含当前分段的替换后模块的“分段号”。
如果模块替换单元202判断“in_bnum”不大于“out_snum”(步骤S1203中的“是”),则模块替换单元202进一步比较在“in_ppos”与“out_pnum”之间的数值,并判断“in_ppos”是否不大于“out_pnum”(步骤S1204)。
这里应当指出,“in_ppos”是当前的替换对象分组在构成由“in_bnum”的数值表示的分段的TS分组序列中的位置的识别号,以及“out_pnum”是在替换后模块的一个分段中包含的TS分组的数目的识别号,该分段相应于由“in_bnum”的数值表示的分段(两个分段由相同的“块号”数值表示)。
如果模块替换单元202判断“in_ppos”不大于“out_pnum”(步骤S1204中的“是”),则模块替换单元202输出在替换后模块的分段中由“in_ppos”表示的替换后分组,该分段相应于由“in_bnum”的数值表示的分段(两个分段由相同的“块号”数值表示)(步骤S1205),并返回到步骤S1201。
如果模块替换单元202判断获取的TS分组不是替换对象分组(步骤S1202中的“否”),则模块替换单元202输出获取的TS分组(步骤S1207),并返回到步骤S1201。
如果模块替换单元202判断“in_bnum”大于“out_snum”(步骤S1203中的“否”),则模块替换单元202输出空分组(步骤S1206),并返回到步骤S1201。
另外,如果模块替换单元202判断“in_ppos”大于“out_pnum”(步骤S1204中的“否”),则模块替换单元202输出空分组(步骤S1206),并返回到步骤S1201。
2.在实施例2中替换输出控制处理的具体例子
图10显示被包含在输入到数据替换输出设备20的TS分组流(输入TS分组流51)中的TS分组的例子,以及被包含在从数据替换输出设备20输出的TS分组流(输出TS分组流52)中的TS分组的例子,输出TS分组流52包含代替在输入TS分组流51中的替换对象分组的替换后分组或空分组。在图10所示的例子中,假定用2000个八位字节的替换后模块代替3000个八位字节的替换对象模块。
图9显示由图10所示的替换对象分组组成的替换对象模块90。图9所示的替换对象分组900-903相应于图10所示的输入TS分组流51中的替换对象分组1001-1004。图9所示的替换对象分组904-907相应于图10所示的输入TS分组流51中的替换对象分组1009-1012。图9所示的替换对象分组908-911相应于图10所示的输入TS分组流51中的替换对象分组1013-1016。图9所示的替换对象分组912-915相应于图10所示的输入TS分组流51中的替换对象分组1018-1021。图9所示的替换对象分组916-917相应于图10所示的输入TS分组流51中的替换对象分组1022-1023。
图11显示由图10所示的替换后分组组成的替换后模块110。图11所示的替换后分组1111-1114相应于图10所示的输出TS分组流52中的替换后分组1051-1054。图11所示的替换后分组1121-1124相应于图10所示的输出TS分组流52中的替换后分组1059-1062。图11所示的替换后分组1131-1133相应于图10所示的输出TS分组流52中的替换后分组1063-1065。
现在利用图10所示的具体例子解释替换输出控制处理的运行。
模块替换单元202从输入数据接收单元100获取在图10所示输入TS分组流51中的TS分组1001(步骤S1202),然后根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1001是否为替换对象分组(步骤S1202)。
模块替换单元102判断获取的TS分组1001是替换对象分组(步骤S1202中的“是”),因为它已被这样地告知,并前进到步骤S1203,以判断“in_bnum”是否不大于“out_snum”。
TS分组1001属于被表示为“块号=0”的分段,因此对于TS分组1001的“in_bnum”是“0”。如图11所示,替换后模块的分段号是“3”。结果,模块替换单元202判断“in_bnum”不大于“out_snum”(步骤S1203中的“是”),并前进到步骤S1204,以判断“in_ppos”是否不大于“out_pnum”。
TS分组1001是被表示为“块号=0”的分段的第一TS分组,因此对于TS分组1001的“in_ppos”是“1”。如图11所示,被表示为“块号=0”的分段1110具有“pnum=4”,因此“out_pnum=4”。结果,模块替换单元202判断“in_ppos”不大于“out_pnum”(步骤S1204中的“是”),并前进到步骤S1205。在步骤1205,模块替换单元202从替换后分组保持单元103读出图11所示的被表示为“块号=0”的分段1110中的替换后分组1111,其中替换后分组1111是该分段的第一分组,因此相应于具有“in_ppos=1”的替换对象分组。模块替换单元202然后输出读出的TS分组作为输出TS分组流52中的TS分组1051(步骤S1205),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输TS分组流51中的TS分组1002-1004(步骤S1201),经过类似于TS分组1001的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=0”的分段1110中的替换后分组1112-1114,其中替换后分组1112-1114是分段中的第二、第三和第四分组,所以分别相应于具有“in_ppos=2”、“in-ppos=3”和“in_ppos=4”的替换对象分组。模块替换单元202然后输出读出的TS分组作为输出TS分组流52中的TS分组1052-1054(步骤S1205),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1005(步骤S1201),然后根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1005是否为替换对象分组(步骤S1202)。
模块替换单元202判断获取的TS分组1005不是替换对象分组(步骤S1202中的“否”),因为TS分组1005是非替换对象分组,并前进到步骤S1207。在步骤S1207,模块替换单元202然后输出获取的TS分组1005作为输出TS分组流52中的TS分组1055(步骤S1207),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1006-1008(步骤S1201),经过类似于TS分组1005的过程,输出获取的TS分组1006-1008作为输出TS分组流52中的TS分组1056-1058(步骤S1207),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1009-1012(步骤S1201),经过类似于TS分组1001的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=1”的分段1120中的替换后分组1121-1124,其中替换后分组1121-1124是分段中的第一、第二、第三和第四分组,所以分别相应于具有“in_ppos=1”、“in_ppos=2”、“in_ppos=3”和“in_ppos=4”的替换对象分组。模块替换单元202然后输出读出的TS分组作为在输出TS分组流52中的TS分组1059-1062(步骤S1205),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1013-1015(步骤S1201),经过类似于TS分组1001的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=2”的分段1130中的替换后分组1131-1133,其中替换后分组1131-1133是分段中的第一、第二和第三分组,所以分别相应于具有“in_ppos=1”、“in_ppos=2”和“in_ppos=3”的替换对象分组。模块替换单元202然后输出读出的TS分组作为在输出TS分组流52中的TS分组1063-1065(步骤S1205),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1016(步骤S1201),然后根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1016是否为替换对象分组(步骤S1202)。
模块替换单元202判断获取的TS分组1016是替换对象分组(步骤S1202中的“是”),因为它已被这样告知,并前进到步骤S1203,以判断“in_bnum”是否不大于“out_snum”。
TS分组1016属于被表示为“块号=2”的分段,因此对于TS分组1016的“in_bnum”是“2”。如图11所示,替换后模块的分段号是“3”。结果,模块替换单元202判断“in_bnum”不大于“out_snum”(步骤S1203中的“是”),并前进到步骤S1204,以判断“in_ppos”是否不大于“out_pnum”。
TS分组1016是被表示为“块号=2”的分段的第四TS分组,因此对于TS分组1016的“in_ppos”是“4”。如图11所示,被表示为“块号=0”的分段1110具有“pnum=3”,因此“out_pnum=3”。结果,模块替换单元202判断“in_ppos”大于“out_pnum”(步骤S1204中的“否”),并前进到步骤S1206。在步骤1206,模块替换单元202生成和输出作为输出TS分组流52中的空分组1066的空分组(步骤S1206),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1017(步骤S1201),经过类似于TS分组1005的过程,输出获取的TS分组1017作为在输出TS分组流52中的TS分组1067(步骤S1207),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1018(步骤S1201),然后根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1018是否为替换对象分组(步骤S1202)。
模块替换单元202判断获取的TS分组1018是替换对象分组(步骤51202中的“是”),因为它已被这样告知,并前进到步骤S1203,以判断“in_bnum”是否不大于“out_snum”。
TS分组1018属于被表示为“块号=3”的分段,因此对于TS分组1018的“in_bnum”是“3”。如图11所示,替换后模块的“分段号”是“3”。结果,模块替换单元202判断“in_bnum”大于“out_snum”(步骤S1203中的“否”),并前进到步骤S1206。在步骤S1206,模块替换单元202生成和输出空分组(步骤S1206),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1019-1023(步骤S1201),经过类似于TS分组1018的过程,生成和输出空分组作为在输出TS分组流52中的空分组1068-1073(步骤S1206),并返回到步骤S1201。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图10所示的输入TS分组流51中的TS分组1024(步骤S1201),经过类似于TS分组1005的过程,输出获取的TS分组1024作为在输出TS分组流52中的TS分组1074(步骤S1207),并返回到步骤S1201。
在实施例2中替换输出控制过程只能被应用于其中替换后模块在数据尺寸上小于替换对象模块的情形。
上述的替换输出控制过程例如能被应用于其中遵从MPEG2标准(ISO/IEC 13818-6)一个模块用另一个模块代替的情形,该MPEG2标准规定除了模块中最后的分段以外模块中所有的分段必须具有相同的数据尺寸。
另外,上述的替换输出控制过程可被应用于其中用另一个数据代替的数据不遵从MPEG2标准的情形,或其中替换对象模块以“分段”的单位(以如在以上的实施例中规定的意义)被发送以及每个分段大于替换后模块中的每个相应的分段的情形。
实施例3
实施例3中的数据替换输出设备30的特征在于,除了具有在实施例2中数据替换输出设备20的功能以外,还具有即使在替换后模块中的分段在数据尺寸上大于在替换对象模块中相应的分段,仍以与接收替换对象模块的比特速率相同的比特速率输出用来代替替换对象模块的替换后模块的功能。
结构
图18是显示数据替换输出设备30的结构的功能性方框图。如图18所示,数据替换输出设备30除了模块替换单元302以外,具有与数据替换输出设备20相同的部件。在以下的说明中,将省略已进行解释的部件,并且主要将解释其中可看到本实施例的模块替换单元302与实施例2中的模块替换单元202之间的差别的替换输出控制处理过程。
运行
1.在实施例3中替换输出控制处理的运行
图13是显示由数据替换输出设备30执行的替换输出控制处理的过程的流程图。现在参照图13将描述该运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元302把输出对象分段设置为被表示为“块号=0”并被替换后分组保持单元103保持的分段(步骤S1301),从输入数据接收单元100获取TS分组(步骤S1302),然后根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S1303)。
如果模块替换单元302判断获取的TS分组是替换对象分组(步骤S1303中的“是”),则模块替换单元302比较在“in_pnum”与“out_pnum”之间的数值,并判断“in_pnum”是否不小于“out_pnum”(步骤S1305)。
这里应当指出,“in_pnum”代表其中包含获取的TS分组的分段中包含的TS分组的数目(“pnum”),以及“out_pnum”代表在输出对象分段中包含的TS分组的数目(“pnum”)。
如果模块替换单元302判断“in_pnum”不小于“out_pnum”(步骤S1305中的“是”),则模块替换单元302进一步比较在“in_ppos”与“out_pnum”之间的数值,并判断“in_ppos”是否不大于“out_pnum”(步骤S1306)。
这里应当指出,如参照图12已经解释的,“in_ppos”是当前的替换对象分组在构成分段的TS分组序列中的位置的识别号。
如果模块替换单元302判断“in_ppos”不大于“out_pnum”(步骤S1306中的“是”),则模块替换单元302输出在输出的对象分段中由“in_ppos”表示的替换后分组(步骤S1308),并判断获取的TS分组(替换对象分组)是否为它属于的分段中最后的TS分组,以及判断“in_pnum”是否不小于“out_pnum”(步骤S1309)。
如果模块替换单元302在步骤S1309的判断是否定的(步骤S1309中的“否”),则模块替换单元302返回到步骤S1302。如果模块替换单元302在步骤S1309的判断是肯定的(步骤S1309中的“是”),则模块替换单元302把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中的以前设置的输出对象分段后面的分段,如果在替换后模块中以前设置的输出对象分段后面没有分段,则模块替换单元302把输出对象分段设置为在步骤S1301中设置的分段,即被表示为“块号=0”的分段(步骤S1310),并返回到步骤S1302。
如果模块替换单元302判断获取的TS分组不是替换对象分组(步骤S1303中的“否”),则模块替换单元302输出获取的TS分组(步骤S1304),并返回到步骤S1302。
如果模块替换单元302判断“in_pnum”小于“out_pnum”(步骤S1305中的“否”),则模块替换单元302生成和输出空分组(步骤S1307),并前进到步骤S1309。另外,如果模块替换单元302判断“in_ppos”大于“out_pnum”(步骤S1306中的“否”),则模块替换单元302生成和输出空分组(步骤S1307),并前进到步骤S1309。
2.在实施例3中替换输出控制处理的具体的例子
图14显示被包含在输入到数据替换输出设备30的TS分组流(输入TS分组流61)中的TS分组的例子,以及被包含在从数据替换输出设备30输出的TS分组流(输出TS分组流62)中的TS分组的例子,输出TS分组流62包含代替在输入TS分组流61中的替换对象分组的替换后分组或空分组。在如图14所示的例子中,假定用2000个八位字节的替换后模块代替3000个八位字节的替换对象模块。
在图14所示的输入TS分组流61中,被包含在被表示为“mid=0”的模块中的TS分组1401-1404、1409-1412、1413-1416和1418-1423代表替换对象分组,以及被包含在被表示为“mid=1”的模块中的TS分组1405-1408、1417和1424代表非替换对象分组。
现在利用图14所示的具体例子解释替换输出控制处理的运行。
模块替换单元302把输出对象分段设置为被表示为“块号=0”的并由替换后分组保持单元103保持的分段(步骤S1301),从输入数据接收单元100获取在图14所示输入TS分组流61中的第一TS分组1401(步骤S1302),并根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1401是否为替换对象分组(步骤S1303)。
模块替换单元302判断获取的TS分组是替换对象分组(步骤S1303中的“是”),因为它已被这样地告知,并前进到步骤S1305,以判断“in_pnum”是否不小于“out_pnum”(步骤S1305)。
包含获取的TS分组1401的分段总共包含四个TS分组(“pnum=4”)。而如图11所示的被表示为“块号=0”、已被设置为输出对象分段的分段1110总共包含四个TS分组(“pnum=4”)。因此,这时,“in_pnum”和“out_pnum”都是4。所以模块替换单元302判断“in_pnum”不小于“out_pnum”(步骤S1305中的“是”),并前进到步骤S1306,以判断“in_ppos”是否不大于“out_pnum”(步骤S1306)。
TS分组1401是被表示为“块号=0”的分段的开始分组,所以“in_ppos”是“1”。而如上所述,图11中被表示为“块号=0”的分段1110总共包含四个TS分组(“pnum=4”),以及“out_pnum”是“4”。通过比较这些数值,模块替换单元302判断“in_ppos”不大于“out_pnum”(步骤S1306中的“是”)。在以下的步骤S1308,模块替换单元302读出相应于“in_ppos=1”的替换后分组1111,因为它是在图11上被表示为“块号=0”的分段1110的输出对象分段中的第一TS分组,以及输出读出的替换后分组1111作为图14所示的输出TS分组流62中的TS分组1451(步骤S1308),然后前进到步骤S1309,以判断获取的TS分组1401是否为它属于的被表示为“块号=0”的分段中最后的TS分组,以及判断“in_pnum”是否不小于“out_pnum”(步骤S1309)。获取的TS分组1401是在被表示为“块号=0”的分段中第一TS分组。所以模块替换单元302判断获取的TS分组不是它属于的被表示为“块号=0”的分段中最后的TS分组(步骤S1309中的“否”),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100分别获取在图14所示的输入TS分组流61中的TS分组1402和1403(步骤S1302),经过类似于TS分组1401的过程,从替换后分组保持单元103读出如图11所示的被表示为“块号=0”的分段1110中的替换后分组1112和1113,然后输出读出的TS分组作为输出TS分组流62中的TS分组1452和1453(步骤S1308),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1404(步骤S1302),经过除了步骤S1309的判断以外的类似于TS分组1401的过程,从替换后分组保持单元103读出如图11所示的被表示为“块号=0”的分段1110中相应于“in_ppos=4”的替换后分组1114,然后输出读出的TS分组作为输出TS分组流62中的TS分组1454(步骤S1308)。
在以下的步骤S1309,模块替换单元302判断获取的TS分组1404是它属于的被表示为“块号=0”的分段中最后的TS分组,并判断“in_pnum”不小于“out_pnum”。由于它在步骤S1309中的判断是肯定的(步骤S1309中的“是”),模块替换单元302把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段(表示为“块号=0”的分段1110)后面的分段(图11所示被表示为“块号=1”的分段1120)(步骤S1310),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100分别获取在图14所示的输入TS分组流61中的TS分组1405-1408(步骤S1302),并进行判断获取的TS分组是否为替换对象分组(步骤S1303)。
模块替换单元302判断获取的TS分组1405-1408不是替换对象分组(步骤S1303中的“否”),因为它已被这样地告知,以及输出获取的TS分组1405-1408作为图14所示的输出TS分组流62中的TS分组1455-1458(步骤S1304),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100分别获取在图14所示的输入TS分组流61中的TS分组1409-1411(步骤S1302),经过类似于TS分组1401的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=1”的分段1120中的第一、第二和第三TS分组的替换后分组1121-1123,它们相应于“in_ppos=1”、“in_ppos=2”和“in_ppos=3”,然后输出读出的TS分组作为在输出TS分组流62中的TS分组1459-1461(步骤S1308),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1412(步骤S1302),经过类似于TS分组1404的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=1”的分段1120中相应于“in_ppos=4”的第四个替换后分组1124,然后输出读出的TS分组作为在输出TS分组流62中的TS分组1462(步骤S1308)。
在以下的步骤S1309,模块替换单元302判断获取的TS分组1412是它属于的被表示为“块号=1”的分段中最后的TS分组,以及判断“in_pnum”不小于“out_pnum”。由于它在步骤S1309中的判断是肯定的(步骤S1309中的“是”),模块替换单元302把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段(表示为“块号=1”的分段1120)后面的分段(图11所示被表示为“块号=2”的分段1130)(步骤S1310),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100分别获取在图14所示的输入TS分组流61中的TS分组1413、1414和1415(步骤S1302),经过类似于TS分组1401的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=2”的分段1130中的第一和第二TS分组的替换后分组1131和1132,它们相应于“in_ppos=1”和“in_ppos=2”,然后输出读出的TS分组作为在输出TS分组流62中的TS分组1463、1464和1465(步骤S1308),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1416(步骤S1302),并前进到步骤S1303,以根据从替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1416是否为替换对象分组(步骤S1303)。
模块替换单元302判断获取的TS分组1416是替换对象分组(步骤S1303中的“是”),因为它已被这样告知,以及前进到步骤S1305,以判断“in_pnum”是否不小于“out_pnum”。
包含获取的TS分组1416的分段总共包含四个TS分组(“pnum=4”)。而如图11所示的被表示为“块号=2”的已被设置为输出对象分段的分段1130总共包含三个TS分组(“pnum=3”)。因此,这时,“in_pnum”大于“out_pnum”。所以模块替换单元302判断“in_pnum”不小于“out_pnum”(步骤S1305中的“是”),以及前进到步骤S1306,以判断“in_ppos”是否不大于“out_pnum”(步骤S1306)。
TS分组1416是被表示为“块号=2”的分段的第四分组,所以“in_ppos”是“4”。而图11所示被表示为“块号=2”的分段1130总共包含三个TS分组(“pnum=3”),以及“out_pnum”是“3”。通过比较这些数值,模块替换单元302判断“in_ppos”大于“out_pnum”(步骤S1306中的“否”)。在以下的步骤S1307,模块替换单元302生成和输出空分组作为输出TS分组流62中的空分组1466(步骤S1307),以及前进到步骤S1309。
在步骤1309,模块替换单元302判断获取的TS分组1416是否为它属于的被表示为“块号=2”的分段中最后的TS分组,并判断“in_pnum”是否不小于“out_pnum”。由于它在步骤S1309中的判断是肯定的(步骤S1309中的“是”),模块替换单元302把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段(表示为“块号=2”的分段1130)后面的分段(图11所示的被表示为“块号=0”的分段1110)(步骤S1310),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1417(步骤S1302),经过类似于TS分组1405-1408的过程,以及输出获取的TS分组1417作为在图14所示的输出TS分组流62中的TS分组1467(步骤S1304),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1418-1420(步骤S1302),经过类似于TS分组1401-1403的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=0”的分段1120中的第一、第二和第三TS分组的替换后分组1111-1113,它们相应于“in_ppos=1”、“in_ppos=2”和“in_ppos=3”,然后输出读出的TS分组作为在输出TS分组流62中的TS分组1468-1470(步骤S1308),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1421(步骤S1302),经过类似于TS分组1404的过程,从替换后分组保持单元103读出图11所示的被表示为“块号=0”的分段1110中相应于“in_ppos=4”的第四个替换后分组1114,然后输出读出的TS分组作为在输出TS分组流62中的TS分组1471(步骤S1308)。
在步骤S1309,模块替换单元302判断获取的TS分组1421是它所属于的被表示为“块号=0”的分段中最后的TS分组,以及判断“in_pnum”不小于“out_pnum”。由于它在步骤S1309中的判断是肯定的(步骤S1309中的“是”),模块替换单元302把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段(表示为“块号=0”的分段1110)后面的分段(图11所示被表示为“块号=1”的分段1120)(步骤S1310),并返回到步骤S1302。
在下一轮的处理中,模块替换单元302从输入数据接收单元100分别获取在图14所示的输入TS分组流61中的TS分组1422和1423(步骤S1302),以及根据从替换对象分组确定单元101发送的判断结果的通知来分别判断获取的TS分组1422和1423是否为替换对象分组(步骤S1303)。
模块替换单元302判断获取的TS分组是替换对象分组(步骤S1303中的“是”),因为它已被这样地告知,以及前进到步骤S1305,以判断“in_pnum”是否不小于“out_pnum”(步骤S1305)。
包含获取的TS分组1422和1423的分段总共包含两个TS分组(“pnum=2”)。而如图11所示的被表示为“块号=1”的已被设置为输出对象分段的分段1120总共包含四个TS分组(“pnum=4”)。因此,这时,“in_pnum”小于“out_pnum”。所以模块替换单元302判断“in_pnum”小于“out_pnum”(步骤S1305中的“否”)。在以下的步骤S1307,模块替换单元302生成和输出空分组作为输出TS分组流62中的空分组1472和1473(步骤S1307)。此后,在获取的TS分组1422的情形下,模块替换单元302在步骤S1309的判断是否定的,因为获取的TS分组不是它所属于的分段中最后的TS分组,并返回到步骤S1302。此外,在获取的TS分组1423的情形下,模块替换单元302在步骤S1309的判断是否定的,因为获取的TS分组是它所属于的分段中最后的TS分组,但“in_pnum”小于“out_pnum”。因为它在步骤S1309的判断是否定的(步骤S1309中的“否”),模块替换单元302返回到步骤S1302。
在下一轮的处理中,模块替换单元202从输入数据接收单元100获取在图14所示的输入TS分组流61中的TS分组1424(步骤S1302),经过类似于TS分组1405-1408的过程,并输出获取的TS分组1424作为图14所示的输出TS分组流62中的TS分组1474(步骤S1304),并返回到步骤S1302。
实施例4
在实施例4中的数据替换输出设备40的特征在于,如果替换对象分组被包含在输入TS分组流中分开的位置,则数据替换输出设备40在输入的替换对象分组的数目达到一定数目后输出替换后分组。
结构
图19是显示数据替换输出设备40的结构的功能性方框图。如图19所示,数据替换输出设备40除了输入分组保持单元404和模块替换单元402以外,具有与实施例1中的数据替换输出设备10相同的部件。在以下的说明,将省略已进行解释的部件,并主要将解释其中可看到在(i)本实施例的输入分组保持单元404和模块替换单元402与(ii)实施例1中的相应的部件之间的差别的替换输出控制处理。
运行
1.在实施例4中替换输出控制处理的运行
图15是显示由数据替换输出设备40执行的替换输出控制处理的过程的流程图。现在参照图15将描述该运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元402把输出对象分段设置为由替换后分组保持单元103保持的替换后模块中的第一分段,以及把替换分组输入计数值设置为“0”(步骤S1501)。
替换分组输入计数值是相应于在计算机程序被启动后模块替换单元402从输入数据接收单元100接收的替换对象分组的总数与模块替换单元102从输入分组保持单元404输出的替换后分组的总数之间的差值的计数值。
在步骤S1501后,模块替换单元402从输入数据接收单元100获取TS分组(步骤S1502),然后根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S1503)。
如果模块替换单元402在步骤S1503判断获取的TS分组是替换对象分组(步骤S1503中的“是”),则模块替换单元402把替换分组输入计数值加“1”(步骤S1505),并判断替换分组输入计数值是否不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506)。
如果模块替换单元402在步骤S1506判断替换分组输入计数值不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506中的“是”),则模块替换单元402读出在由替换后分组保持单元103保持的替换后模块中输出对象分段中包含的所有替换后分组,并把读出的替换后分组以其中替换后分组被安排在输出对象分段中的次序插入到由输入分组保持单元404保持的非替换对象分组的队列中在第一分段的最后的分组后面的位置(步骤S1507)。
更具体地,在步骤S1507,模块替换单元402通过从在由输入分组保持单元404保持的队列中的第一分组开始逐个检查每个分组,搜索在分段中最后的非替换对象分组,并把读出的替换后分组插入到队列中的在(i)首先检测到的分段中最后的非替换对象分组与(ii)在检测的分组后面的分组之间的位置处。如果在分段中检测的最后的非替换对象分组后面没有分组,则模块替换单元402把读出的替换后分组插入到队列中的检测的最后的非替换对象分组的后面,按照其中把替换后分组安排在输出的对象分段中的次序。
另外,如果由输入分组保持单元404保持的队列中的第一分组是开始分组,则模块替换单元402把读出的替换后分组插入到队列中的开始分组之前,也就是,在队列的开始端,按照其中把替换后分组安排在输出的对象分段中的次序。另外,如果在由输入分组保持单元404保持的队列中没有非替换对象分组,则模块替换单元402把读出的替换后分组插入到队列中的队列的开始端,按照其中把替换后分组安排在输出的对象分段中的次序。
另外,如果输入分组保持单元404只保持替换后分组,则模块替换单元402把读出的替换后分组插入到队列中的队列的末端,按照其中把替换后分组安排在输出的对象分段中的次序。
模块替换单元402可以通过例如首先在由输入分组保持单元404保持的队列中的非替换对象分组中间搜索包含与“PID”不同的的识别号(“mid”、“bnum”等等)的非替换对象分组,然后确定紧接在包含与“PID”不同的的识别号(“mid”、“bnum”等等)的检测的非替换对象分组的前面的非替换对象分组作为分段的最后分组,而搜索和检测分段中最后的非替换对象分组。
在以下的步骤S1508,模块替换单元402从替换分组输入计数中减去在步骤S1507被插入到由输入分组保持单元404保持的队列中的替换后分组的数目,并把在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段后面的分段设置为新的输出对象分段(步骤S1508)。然后模块替换单元402输出由输入分组保持单元404保持的队列中的第一TS分组(步骤S1509),并判断是否达到预定的替换结束时间(步骤S1510)。
如果它判断已达到预定的替换结束时间(步骤S1510中的”是”),则模块替换单元402生成与由替换分组输入计数值表示的数目一样多的空分组,使得输入分组保持单元404保持生成的空分组,并把替换分组输入计数值设置为“0”(步骤S1511)。
如果它在步骤S1510判断还没有达到预定的替换结束时间(步骤S1510中的“否”),则模块替换单元402返回到步骤S1502。
如果它在步骤S1503判断获取的TS分组不是替换对象分组(步骤S1503中的“否”),则模块替换单元402使得输入分组保持单元404保持在步骤S1502获取的TS分组(步骤S1504),并前进到步骤S1506。
如果它在步骤S1506判断替换分组输入计数值小于被包含在输出对象分段中的替换后分组的数目(步骤S1506中的“否”),则模块替换单元402前进到步骤S1509。
2.实施例4中替换输出控制处理的具体的例子
图16显示被包含在输入到数据替换输出设备40的TS分组流(输入TS分组流71)中的TS分组的例子,以及被包含在从数据替换输出设备40输出的TS分组流(输出TS分组流72)中的TS分组的例子,输出TS分组流72包括包含三个替换后分组的分段。
在图16所示的输入TS分组流71中,被包含在表示为“mid=0”的模块中的TS分组1601、1602、1608和1609是替换对象分组,以及被包含在表示为“mid=1”的模块中的TS分组1603-1607和1610-1613是非替换对象分组。另外,在框中具有“*”标记的TS分组1651-1654是在以前的替换输出控制处理中从输入分组保持单元404输出的非替换对象分组(如果以前没有执行替换输出控制处理,则TS分组1651-1654是由输入分组保持单元404保持的空分组)。另外,被包含在表示为“mid=0”的模块中的TS分组1659-1661是替换后分组,以及被包含在表示为“mid=1”的模块中的TS分组1655-1658、1662和1663-1666分别是被包含在输入TS分组流71中的非替换对象分组(被包含在表示为“mid=1”的模块中的TS分组1603-1607和1610-1613)。
现在利用图16所示的具体的例子将解释替换输出控制处理的运行。
模块替换单元402把输出对象分段设置为在由替换后分组保持单元103保持的替换后模块中的第一分段,并把替换分组输入计数值设置为“0”(步骤S1501)。然后模块替换单元402从输入数据接收单元100获取图16所示的输入TS分组流71中的TS分组1601(步骤S1502),然后根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1601是否为替换对象分组(步骤S1503)。
模块替换单元402在步骤S1503判断获取的TS分组是替换对象分组(步骤S1503中的“是”),因为它已被这样地告知,然后把替换分组输入计数值加“1”(步骤S1505),并前进到步骤S1506,以判断替换分组输入计数值是否不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506)。
模块替换单元402判断替换分组输入计数值小于被包含在输出对象分段中的替换后分组的数目(步骤S1506中的“否”),因为这时,替换分组输入计数值是“1”,以及被包含在输出对象分段中的替换后分组的数目是“3”。然后模块替换单元402输出由输入分组保持单元404保持的队列中的第一TS分组(图16所示的输出TS分组流72中的TS分组1651)(步骤S1509),判断还没有达到预定的替换结束时间(步骤1510中的“否”),并返回到步骤S1502。
这里应当指出,在图16所示的例子中假定,在图16所示的输入TS分组流71中的TS分组1613被获取后立即达到替换结束时间。
在下一轮的处理中,模块替换单元402从输入数据接收单元100获取在图16所示的输入TS分组流71中的TS分组1602(步骤S1502),经过类似于TS分组1601的过程,把替换分组输入计数值加“1”,结果是“2”(步骤S1505),输出由输入分组保持单元404保持的队列中的第一TS分组作为图16所示的输出TS分组流72中的TS分组1652(步骤S1509),判断还没有达到预定的替换结束时间(步骤1510中的“否”),并返回到步骤S1502。
在下一轮的处理中,模块替换单元402从输入数据接收单元100获取在图16所示的输入TS分组流71中的TS分组1603(步骤S1502),并前进到步骤S1503,以根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1603是否为替换对象分组(步骤S1503)。
在步骤S1503,模块替换单元402判断获取的TS分组不是替换对象分组(步骤S1503中的“否”),因为它是非替换对象分组。模块替换单元402然后使得输入分组保持单元404保持在步骤S1502获取的TS分组1603(步骤S1504),并前进到步骤S1506,以判断替换分组输入计数值是否不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506)。
这时,替换分组输入计数值是“2”,以及被包含在输出对象分段中的替换后分组的数目是“3”。所以模块替换单元402判断替换分组输入计数值小于被包含在输出对象分段中的替换后分组的数目(在步骤S1506中的“否”)。在接着的步骤S1509,模块替换单元402输出由输入分组保持单元404保持的队列中的第一TS分组作为图16所示的输出TS分组流72中的TS分组1653(步骤S1509),以及在接着的步骤S1510,模块替换单元402判断还没有达到预定的替换结束时间(步骤S1510中的“否”),并返回到步骤S1502。
在下一轮的处理中,模块替换单元402从输入数据接收单元100分别获取在图16所示的输入TS分组流71中的TS分组1604-1607(步骤S1502),经过类似于TS分组1603的过程,以及由于替换分组输入计数值保持为“2”,所以输出图16所示的输出TS分组流72中的TS分组1654-1657(步骤S1509),模块替换单元402判断还没有达到预定的替换结束时间(步骤S1510中的“否”),并返回到步骤S1502。
这里应当指出,在步骤S1509输出的TS分组中间,TS分组1655-1657相应于早先获取的并由输入分组保持单元404保持的TS分组1603-1605,以及这时,TS分组1606和1607已按次序被输入分组保持单元404获取和保持。
在下一轮的处理中,模块替换单元402从输入数据接收单元100获取在图16所示的输入TS分组流71中的TS分组1608(步骤S1502),并前进到步骤S1503,以根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组1608是否为替换对象分组(步骤S1503)。
在步骤S1503,模块替换单元402判断获取的TS分组是替换对象分组(步骤S1503中的“是”),因为它已被这样地告知,然后把替换分组输入计数值加“1”(步骤S1505),并前进到步骤S1506以判断替换分组输入计数值是否不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506)。
在步骤S1506,模块替换单元402判断替换分组输入计数值不小于被包含在输出对象分段中的替换后分组的数目(步骤S1506中的“是”),因为这时,替换分组输入计数值是“3”,以及被包含在输出对象分段中的替换后分组的数目是“3”,然后前进到步骤S1507。
如上所述,这时,输入分组保持单元404保持TS分组1606和1607。TS分组1606是在表示为“mid=1”的模块中的第一个分段的表示为“bnum=0”的分段中最后的分组。TS分组1607是在表示为“mid=1”的模块中的第二个分段的表示为“bnum=1”的分段中第一分组。结果,由模块替换单元402检测的、由输入分组保持单元404保持的队列中的第一分段的最后的非替换对象分组是TS分组1606。
模块替换单元402读出当前被包含在由替换后分组保持单元103保持的替换后模块中的三个替换后分组,并把读出的这三个替换后分组按照其中替换后分组被安排在输出对象分段中的次序插入到由输入分组保持单元404保持的非替换对象分组的队列中在第一分段的最后的分组(TS分组1606)后面的位置(步骤S1507)。在接着的步骤S1508,模块替换单元402从作为替换分组输入计数值的“3”中减去作为在步骤S1507被插入到由输入分组保持单元404保持的队列中的替换后分组的数目的“3”,从而把替换分组输入计数值设置为结果“0”,并把在由替换后分组保持单元103保持的替换后模块中先前设置的输出对象分段后面的分段设置为新的输出对象分段(步骤S1508)。模块替换单元402然后输出由输入分组保持单元404保持的队列中的第一TS分组(TS分组1606)作为输出TS分组流72中的TS分组1658(步骤S1509),在下一个步骤S1510判断还没有达到预定的替换结束时间(步骤S1510中的“否”),并返回到步骤S1502。
在下一轮的处理中,模块替换单元402从输入数据接收单元100获取在图16所示的输入TS分组流71中的TS分组1609(步骤S1502),经过类似于TS分组1601的过程,把替换分组输入计数值加“1”,结果是“2”(步骤S1505),输出由输入分组保持单元404保持的队列中的第一TS分组作为图16所示的输出TS分组流72中的TS分组1659(步骤S1509),判断还没有达到预定的替换结束时间(步骤S1510中的“否”),并返回到步骤S1502。
在下一轮的处理中,模块替换单元402从输入数据接收单元100分别获取在图16所示的输入TS分组流71中的TS分组1610-1613(步骤S1502),经过类似于TS分组1603的过程,以及由于替换分组输入计数值保持为“1”,所以输出图16所示的输出TS分组流72中的TS分组1660-1663(步骤S1509),模块替换单元402判断在TS分组1610-1612的情形下还没有达到预定的替换结束时间(步骤S1510中的“否”),并返回到步骤S1502。
如前所述,在TS分组1613被获取后立即达到替换结束时间。因此,在步骤S1510中对于TS分组1613的下一轮处理中,模块替换单元402判断达到预定的替换结束时间(步骤S1510中的“是”),并前进到步骤S1511,在其中模块替换单元402生成由替换分组输入计数的数值“1”表示的一个空分组,使得输入分组保持单元404保持空分组,并把替换分组输入计数值设置为“0”(步骤S1511)。
在完成步骤S1511后,替换输出控制处理结束。此后获取的TS分组被输入分组保持单元404保持在队列中,然后由模块替换单元402在每次它获取一个TS分组时逐个地输出。
实施例5
在实施例5中的数据替换输出设备50的特征在于输出替换后模块,每个替换后模块代替相应于替换后模块的多个替换对象模块。
结构
图20是显示数据替换输出设备50的结构的功能性方框图。如图20所示,数据替换输出设备50除了替换后分组保持单元503和模块替换单元502以外,具有与实施例1中的数据替换输出设备10相同的部件。在数据替换输出设备50的结构的以下说明中,将省略已进行解释的部件,并主要将解释它们的差别。
替换后分组保持单元503事先具有替换超过计数对应表,它表示在“相应的替换后模块”的“模块ID数值”、“输出分段数目”和相应的替换后模块的替换过量计数值之间的对应关系,其中“输出分段数目”是在各个相应的替换后模块中最近输出的分段的块的数目。替换后分组保持单元503具有表上显示的相应的替换后模块。
“相应的替换后模块”是相应于从外面输入的多种类型的替换对象模块的替换后模块。更具体地,互相相关的相应的替换后模块和替换对象模块共同具有相同的模块ID。
替换过量计数值是相应于构成从数据替换输出设备50输出的相应的替换后模块的替换后分组(此后称为相应的替换后分组)的总数与构成从外面输入的多种类型的替换对象模块的替换对象分组的总数之间的差值的计数值。替换过量计数值是由模块替换单元502对于每个相应的替换后模块进行计算的,并且替换过量计数值的计算的数值被存储在替换过量计数值对应表中。
现在将解释其中可看到在本实施例的模块替换单元502与实施例1的模块替换单元102之间的差别的替换输出控制处理。
运行
1.在实施例5中替换输出控制处理的运行
图17A和17B是显示由数据替换输出设备50执行的替换输出控制处理的过程的流程图。现在参照图17A和17B将描述该运行。
在用于执行替换输出控制处理的计算机程序被启动后,模块替换单元502把所有的替换过量计数值设置为“0”(步骤S1701)。
模块替换单元502然后从输入数据接收单元100获取TS分组(步骤S1702),然后根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S1703)。
如果模块替换单元502在步骤S1703判断获取的TS分组不是替换对象分组(步骤S1703中的“否”),则模块替换单元502使得输入分组保持单元404保持在步骤S1702获取的TS分组(步骤S1704),并前进到步骤S1705。
在步骤S1705,模块替换单元502判断模块替换单元502在这个步骤之前是否输出任何TS分组,并判断紧接在之前输出的TS分组是否为在紧接在之前输出的TS分组属于的分段中的最后的TS分组(步骤S1705)。
如果模块替换单元502在步骤S1703中判断获取的TS分组是替换对象分组(步骤S1703中的“是”),则它前进到步骤S1705。
如果模块替换单元502在步骤S1705判断在这个步骤之前没有输出任何TS分组,或紧接在之前输出的TS分组是在紧接在之前输出的TS分组所属于的分段中的最后的TS分组(步骤S1705中的“是”),则模块替换单元502前进到步骤S1712,以根据由替换对象分组确定单元101发送的判断结果的通知来判断获取的TS分组是否为替换对象分组(步骤S1712)。
如果模块替换单元502在步骤S1712判断获取的TS分组是替换对象分组(步骤S1712中的“是”),则它前进到步骤S1713。在步骤S1713,模块替换单元502参考替换超过计数对应表,并识别相应于包括其包含获取的分组的分段的模块的模块ID(在本实施例中假定为“i”)的相应的替换后模块(此后称为“相应的替换后模块(i)”),其中模块ID被包括在分段的开始分组中。模块替换单元502然后从相应的替换后模块(i)的替换过量计数值(此后称为“替换过量计数值(i)”)中减去“1”,并把替换过量计数值(i)设置为结果的数值(步骤S1713)。
在以下的步骤S1714中,模块替换单元502参考替换超过计数对应表,并识别在表中具有最小的替换过量计数值(此后称为“替换过量计数值(j)”)的并由本实施例中的“模块ID=j”标识的相应的替换后模块(此后称为“相应的替换后模块(j)”)(步骤S1714)。在以下的步骤S1715中,模块替换单元502判断替换过量计数值(j)是否小于“0”(步骤S1715)。
如果它判断替换过量计数值(j)小于“0”(步骤S1715中的“是”),则模块替换单元502把替换过量计数值(j)加“1”,并把替换过量计数值(j)设置为结果的数值(步骤S1716)。在以下的步骤S1714中,模块替换单元502把相应的替换后模块(j)的输出分段数目设置为下一个块号(如果没有找到下一个块号,则设置输出分段号为“0”,正如在“块号=0”中那样),从替换后分组保持单元503输出被包含在由输出分段号表示的分段中的第一相应的替换后分组(步骤S1717),并返回到步骤S1702。
如果模块替换单元502判断替换过量计数值(j)不小于“0”(步骤S1715中的“否”),则它输出在由输入分组保持单元104保持的TS分组中间的第一TS分组(步骤S1718),并返回到步骤S1702。
如果模块替换单元502在步骤S1705判断在这个步骤之前它没有输出任何TS分组,以及紧接在之前输出的TS分组不是紧接在之前输出的TS分组所属于的分段中的最后的TS分组(步骤S1705中的“否”),则模块替换单元502从替换后分组保持单元503或输入分组保持单元104读出在同一个分段中在紧接在之前输出的TS分组后面的TS分组,并输出读出的TS分组(步骤S1706)。模块替换单元502然后根据输出的TS分组是否为从输入分组保持单元104读出的来判断在步骤S1706中输出的TS分组是否为非替换对象分组(步骤S1707)。
如果模块替换单元502判断输出的TS分组是非替换对象分组(步骤S1707中的“是”),则它进一步判断获取的TS分组是否为替换对象分组(步骤S1708)。
如果模块替换单元502在步骤S1708判断获取的TS分组是替换对象分组(步骤S1708中的“是”),则模块替换单元502前进到步骤S1709。在步骤S1709,模块替换单元502参考替换超过计数对应表,并识别相应于包括其包含获取的分组的分段的模块的模块ID(在本实施例中假定为“i”)的相应的替换后模块(此后称为“相应的替换后模块(i)”),其中模块ID被包括在分段的开始分组中。模块替换单元502然后从相应的替换后模块(i)的替换过量计数值(此后称为“替换过量计数值(i)”)中减去“1”,以及把替换过量计数值(i)设置为结果的数值(步骤S1709),并返回到步骤S1702。另外,如果模块替换单元502在步骤S1708判断获取的TS分组不是替换对象分组(步骤S1708中的“否”),则模块替换单元502返回到步骤S1702。
如果模块替换单元502在步骤S1707判断输出的TS分组是替换对象分组(步骤S1707中的“否”),则模块替换单元502进一步判断获取的TS分组是否为替换对象分组(步骤S1710)。
如果模块替换单元502在步骤S1710判断获取的TS分组不是替换对象分组(i)(步骤S1710中的“否”),则模块替换单元502参考替换超过计数对应表,并识别所输出的TS分组属于的相应的替换后模块(i),以及把替换过量计数值(i)设置为结果的数值(步骤S1711),并返回到步骤S1702。另外,如果模块替换单元502在步骤S1710判断获取的TS分组是替换对象分组(i)(步骤S1710中的“是”),则模块替换单元502返回到步骤S1702。
修正方案
至今为止,已解释了本发明的数据替换输出设备的五个实施例,但本发明不限于上述的实施例,并且它可以如下地修正。
(1)在实施例1的替换输出控制处理的例子中,替换对象模块和和替换后模块具有相同的模块ID(模块ID=0)。然而,替换对象模块和替换后模块可以具有不同的模块ID。
例如,在实施例1的替换输出控制处理的例子中,替换对象模块可以用图7所示的表示为“模块ID=3”并具有与图5所示的表示为“模块ID=0”的替换后模块50相同的数据结构的替换后模块70代替,通过它,替换对象模块在实施例1中被代替。
另外,当替换后模块被输出时,替换后模块的模块ID可以被改变。在这种情形下,具有不同的模块ID的替换后模块不需要预先准备。另外,在这种情形下,用于循环冗余检验的数值按照模块ID的数值被确定。
(2)在实施例4中,模块替换单元402在图15所示的替换输出控制处理过程的流程图的步骤S1506中,判断替换分组输入计数值是否不小于被包含在输出对象分段中的替换后分组的数目。然而,在这个步骤中,模块替换单元可以把替换分组输入计数值与小于替换后分组的数目的一个数值进行比较,所述数值例如是替换后分组的数目的一半或替换后分组的数目的三分之一。
这样的安排减小输出替换后分组所需要的时间,使得观众能够用较小的等待时间观看替换后分组的数据广播。
(3)在实施例5中,模块替换单元502在图17A和17B所示的替换输出控制处理的流程图的步骤S1714和S1715中识别具有小于“0”的替换过量计数值的最小数值的相应的替换后模块,以及输出被包含在识别的相应的替换后模块中的相应的替换后分组。然而,可以事先给相应的替换后模块指定优先级,然后模块替换单元可以识别具有最高优先级和具有小于“0”的替换超过计数的数值的相应的替换后模块,以输出被包含在其中的相应的替换后分组。
例如,模块替换单元502可以不执行步骤S1714-S1715而执行以下步骤S1814。也就是说,在步骤S1814,模块替换单元502试图选择具有最高优先级的模块ID和具有小于0的替换过量计数值的相应的替换后模块。然后在步骤S1815,模块替换单元502判断在步骤S1814中的选择是否成功。如果模块替换单元502在步骤S1815判断选择是成功的(步骤S1815中的“是”),则它前进到步骤S1816,在其中把在步骤S1814中选择的相应的替换后模块的替换过量计数值(称为替换过量计数值(j))加“1”,以及把替换过量计数值(j)设置为结果的数值,然后移到步骤S1717。如果模块替换单元502在步骤S1815判断选择是不成功的(步骤S1815中的“否”),则它前进到步骤S1718。图21A和21B是由数据替换输出设备50执行的图17A和17B所示的替换输出控制处理的修正方案(1)的过程的流程图。
这里应当指出,在步骤S1814中,模块替换单元502可以在多个可选择的相应的替换后模块中间自动选择具有最小或最大的模块ID数值的相应的替换后模块。替换地,在步骤S1814中,模块替换单元502可以在多个可选择的相应的替换后模块中间选择具有最小的替换过量计数值的相应的替换后模块。
这里应当指出,在修正方案(1)中,也可以事先给非替换对象分组指定优先级。在这种情形下,如果模块替换单元502在步骤S1815判断选择是成功的(步骤S1815中的“是”),则它前进到比较替换对象分组与非替换对象分组之间的优先级的步骤。如果模块替换单元502在该步骤中判断非替换对象分组比替换对象分组具有更高的优先级,则它前进到步骤S1718,反之,模块替换单元502前进到步骤S1816。
上述的运行可以通过其中不使用优先级的另一个方法达到。例如,多个相应的替换后模块中的一个替换后模块可以事先被确定为最高优先权模块,以及模块替换单元502可以不执行步骤S1714-S1715而执行以下步骤S2015。也就是说,在步骤S2015,模块替换单元502判断最高优先权模块的替换过量计数值(称为替换过量计数值(1))是否小于“0”(步骤S1715)。在这种情形下,如果模块替换单元502在步骤S2015判断替换过量计数值(1)小于“0”(步骤S2015中的“是”),则它前进到步骤2016以把超过计数值(1)加“1”,以及把超过计数值(1)设置为结果的数值,然后前进到步骤S1717。如果模块替换单元502在步骤S2015判断替换过量计数值(1)不小于“0”(步骤S2015中的“否”),则它前进到与图17A和17B显示的步骤S1714和S1715相同的步骤S2017和S2018。图22A和22B是由数据替换输出设备50执行的图17A和17B所示的替换输出控制处理的修正方案(3)的过程的流程图。
(4)在实施例5中,在图17A和17B所示的替换输出控制处理中,模块替换单元502计算对于每个相应的替换后模块的替换过量计数值,以便在控制被包含在相应的替换后模块中相应的替换后分组的输出时使用它。然而,模块替换单元可以进一步计算作为所有的相应的替换后模块的替换过量计数值的总和的总的替换过量计数值。
例如,在图17A和17B显示的流程图中,模块替换单元502除执行步骤S1701以外,还可以执行步骤S2101,以把总的替换过量计数值设置为“0”。模块替换单元502然后除执行步骤S1709以外,还执行从总的替换过量计数值中减去“1”并把总的替换过量计数值设置为结果的数值的步骤。模块替换单元502然后除执行步骤S1711和S1716以外,还分别执行把“1”加到总的替换过量计数值并把总的替换过量计数值设置为结果的数值的步骤。模块替换单元502然后在步骤S1715判断替换过量计数值(j)是否小于“0”以及总的替换过量计数值是否小于“0”。如果在步骤S1715的判断是肯定的,则模块替换单元502前进到步骤S1717。
这种安排禁止相应的替换后模块过度地输出,并在输出相应的替换后模块时减小延时。
(5)在实施例1、4和5中,接收的非替换对象分组由输入分组保持单元104或404保持。然而,接收的非替换对象分组可以由替换后分组保持单元103或503事先以模块为单位来保持。然后,可以从替换后分组保持单元103或503输出相应于非替换对象分组的替换后分组。
(6)在实施例1-5中,数据传输是按照MPEG2标准被执行的。然而,本发明可被应用于不遵从MPEG2标准的其它情形。
工业可应用性
本发明可应用于数据替换输出设备所使用的技术,用来接收来自外面的数据单元,用相应的数据代替部分接收数据,并输出带有代替物的数据单元。
Claims (23)
1.一种数据替换输出设备,用于接收由替换对象数据和非替换对象数据组成的数据流,用替换数据代替替换对象数据,以及输出包含替换数据的数据流,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,该数据替换输出设备包括:
确定单元,用来根据在(i)在从参考时间到当前时间的时间间隔期间接收的构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及
数据输出单元,用于如果确定单元确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,用来在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及用于如果确定单元确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
2.权利要求1的数据替换输出设备,其中确定单元包括:
判断子单元,用来在每次接收数据单元时判断接收的数据单元是否构成替换对象数据;以及
比较子单元,用来比较在时间间隔期间接收的构成替换对象数据的数据单元的总数与在该时间间隔期间输出的构成替换数据的数据单元的总数,其中
如果作为由比较子单元进行比较的结果发现在时间间隔期间输出的构成替换数据的数据单元的总数不大于在该时间间隔期间接收的构成替换对象数据的数据单元的总数,则确定单元确定执行数据的顺序输出。
3.权利要求2的数据替换输出设备,其中数据输出单元包括:
存储子单元,用来存储非替换对象数据,以及
数据输出单元在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时,从存储子单元读出构成非替换对象数据的数据单元并输出读出的数据单元,以及如果确定单元确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时,从存储子单元读出构成非替换对象数据的数据单元并输出读出的数据单元。
4.权利要求1的数据替换输出设备,其中确定单元包括:
判断子单元,用来在每次接收数据单元时,判断接收的数据单元是否构成替换对象数据;
计算子单元,用来通过从(ii)在该时间间隔期间接收的构成替换对象数据的数据单元的总数中减去(i)在该时间间隔期间输出的构成替换数据的数据单元的总数来计算替换过量计数值;以及
计数值判断子单元,用来判断替换过量计数值是否小于如在顺序地输出的构成替换数据的预定数目的数据单元中的预定的数目,以及
如果计数值判断子单元判断替换过量计数值不小于预定的数目,则确定单元确定执行数据的顺序输出。
5.权利要求1的数据替换输出设备,其中确定单元包括:
判断子单元,用来在每次接收数据单元时,判断接收的数据单元是否构成替换对象数据;
计算子单元,用来通过从(ii)在该时间间隔期间接收的构成替换对象数据的数据单元的总数中减去(i)在该时间间隔期间输出的构成替换数据的数据单元的总数来计算替换过量计数值;以及
计数值判断子单元,用来判断替换过量计数值是否不小于如在顺序地输出的构成替换数据的预定数目的数据单元中的预定的数目的一半,以及
如果计数值判断子单元判断替换过量计数值不小于预定的数目的一半,则确定单元确定执行数据的顺序输出。
6.权利要求1的数据替换输出设备,其中
数据流包括多种类型的替换对象数据,
数据输出单元包括:
替换数据存储子单元,用来存储分别相应于多种类型的替换对象数据的多种类型的替换数据,以及
确定单元根据在每一对(i)在该时间间隔期间接收的构成多种类型中一种类型的替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成相应于在(i)中的那种类型的替换对象数据的该多种类型中一种类型的替换数据的数据单元的总数之间的比较结果,来确定是否执行构成多种类型中任一种类型的替换数据的预定数目的数据单元的顺序输出。
7.权利要求6的数据替换输出设备,其中
确定单元计算对于一种类型的替换对象数据与相应的类型的替换数据的每一对的替换过量计数值,以及
如果由确定单元计算的一个或多个替换过量计数值小于“0”,则确定单元根据预定的准则在相应于小于“0”的一个或多个替换过量计数值的一种或多种类型的替换数据中间选择一种类型的替换数据,以及确定执行构成所选择类型的替换数据的预定数目的数据单元的顺序输出。
8.权利要求7的数据替换输出设备,其中
确定单元选择相应于在一个或多个替换过量计数值中间的最小数值的一种类型的替换数据,以及确定执行构成所选择类型的替换数据的预定数目的数据单元的顺序输出。
9.权利要求7的数据替换输出设备,其中
不同的优先级被分别分配给多种类型的替换数据,以及
确定单元在相应于一个或多个替换过量计数值的一种或多种类型的替换数据中间选择已被分配以最高优先级的一种类型的替换数据,以及确定执行构成所选择类型的替换数据的预定数目的数据单元的顺序输出。
10.权利要求7的数据替换输出设备,其中
一种类型的替换数据是从多种类型的替换数据中预先选择的,以及
如果对于预先选择的类型的替换数据的替换过量计数值小于“0”,则确定单元选择预先选择的类型的替换数据,以及
如果对于预先选择的类型的替换数据的替换过量计数值不小于“0”,则确定单元选择相应于一个或多个替换过量计数值中间的最小数值的一种类型的替换数据,以及
确定执行构成所选择类型的替换数据的预定数目的数据单元的顺序输出。
11.权利要求6的数据替换输出设备,其中
不同的优先级分别被分配给多种类型的替换数据和非替换对象数据,
确定单元计算对于一种类型的替换对象数据和相应类型的替换数据的每一对的替换过量计数值,以及
如果由确定单元计算的一个或多个替换过量计数值小于“0”,以及如果被分配给相应于小于“0”的替换过量计数值的一种类型的替换数据的任何优先级不小于被分配给非替换对象数据的优先级,则确定单元确定执行构成相应于任何小于“0”的替换过量计数值的任何类型的替换数据的预定数目的数据单元的顺序输出。
12.权利要求1的数据替换输出设备,其中
数据流包括多种类型的替换对象数据,
数据输出单元包括
替换后数据存储子单元,用来存储分别相应于多种类型的替换对象数据的多种类型的替换数据,以及
确定单元根据在每对(i)在该时间间隔期间接收的构成该多种类型的替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成该多种类型的替换数据的数据单元的总数之间的比较结果,确定是否执行构成任何的多种类型的替换数据的预定数目的数据单元的顺序输出。
13.一种数据替换输出设备,用于接收由替换对象数据和非替换对象数据组成的数据流,用替换数据代替替换对象数据,以及输出包含替换数据的数据流,其中
替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的M个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
该数据替换输出设备包括:
替换判断单元,用来判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及
数据输出单元,用来如果替换判断单元判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则在每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及用来如果替换判断单元判断接收的数据单元属于非替换对象数据,则在每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
14.一种数据替换输出设备,用于接收由替换对象数据和非替换对象数据组成的数据流,用替换数据代替替换对象数据,以及输出包含替换数据的数据流,其中
替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的多个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
该数据替换输出设备包括:
替换判断单元,用来判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;
检测单元,用来如果替换判断单元判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;
判断单元,用来判断由检测单元检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及
数据输出单元,用于如果判断单元判断由检测单元检测的数据单元的数目小于N,则在每次接收多个数据单元的序列时顺序输出与由检测单元检测的数据单元的数目一样多的构成伪数据的数据单元,以及
用于如果判断单元判断由检测单元检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)在每次接收多个数据单元的序列时顺序输出与在N与由检测单元检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及
用于如果替换判断单元判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
15.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,该数据替换输出方法包括:
确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及
数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
16.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序,其中替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,该数据替换输出控制程序包括:
确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及
数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
17.在其中记录有在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读介质,其中替换对象数据、非替换对象数据和替换数据中的每个由多个具有相同尺寸的数据单元组成,该数据替换输出控制程序包括:
确定步骤,用于根据在(i)在从参考时间到当前时间的时间间隔期间接收的构成替换对象数据的数据单元的总数与(ii)在该时间间隔期间输出的构成替换数据的数据单元的总数之间比较的结果,来确定是否执行对构成替换数据的预定数目的数据单元的顺序输出,该确定是在每次接收构成替换对象数据的数据单元而不执行数据的顺序输出时作出的;以及
数据输出步骤,用于如果确定步骤确定执行数据的顺序输出,则在每次接收构成数据流的数据单元时通过输出构成替换数据的数据单元来执行数据的顺序输出,在每次接收构成非替换对象数据的数据单元而不执行数据的顺序输出时输出构成非替换对象数据的数据单元,以及如果确定步骤确定不执行数据的顺序输出,则在每次接收构成数据流的数据单元时输出构成非替换对象数据的数据单元。
18.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法,其中
替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的M个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
数据替换输出方法包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及
数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则在每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
19.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序,其中
替换对象数据、非替换对象数据和替换数据中的每个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的M个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
数据替换输出控制程序包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及
数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
20.在其中记录有在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读介质,其中
替换对象数据、非替换对象数据和替换数据中的每个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的M个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
数据替换输出控制程序包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的M个数据单元的序列还是属于非替换对象数据;以及
数据输出步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的M个数据单元的序列,则每次接收M个数据单元的序列时顺序输出构成替换用途数据的N个数据单元和构成伪数据的(M-N)个数据单元,其中M≥N,以及N是不小于“1”的整数,以及如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
21.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出方法,其中
替换对象数据、非替换对象数据和替换数据中的每一个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的多个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
该数据替换输出方法包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;
检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;
判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1“的整数;以及
数据输出步骤,用于如果判断步骤判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,以及
如果替换判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)在每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及
如果替换判断步骤判断接收的数据单元属于非替换对象数据,则在每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
22.在用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序,其中
替换对象数据、非替换对象数据替换数据中的每个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的多个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
数据替换输出控制程序包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;
检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;
判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及
数据输出步骤,用于如果判断步骤判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,以及
如果判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及
如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
23.在其中记录有用于接收由替换对象数据和非替换对象数据组成的数据流、用替换数据代替替换对象数据和输出包含替换数据的数据流的数据替换输出设备中使用的数据替换输出控制程序的计算机可读介质,其中
替换对象数据、非替换对象数据和替换数据中的每个由多个具有相同尺寸的数据单元组成,
数据流包含构成替换对象数据的多个数据单元的序列,
替换数据由替换用途数据和伪数据组成,
数据替换输出控制程序包括:
替换判断步骤,用于判断接收的数据单元是属于构成替换对象数据的多个数据单元的序列还是属于非替换对象数据;
检测步骤,用于如果替换判断步骤判断接收的数据单元属于构成替换对象数据的多个数据单元的序列,则检测被包含在构成替换对象数据的序列中的数据单元的数目;
判断步骤,用于判断在检测步骤中检测的数据单元的数目是否小于N,其中N是不小于“1”的整数;以及
数据输出步骤,用于如果判断步骤判断在检测步骤中检测的数据单元的数目小于N,则每次接收多个数据单元的序列时顺序输出与由检测步骤检测的数据单元的数目一样多的构成伪数据的数据单元,以及
如果判断步骤判断在检测步骤中检测的数据单元的数目大于N,则(i)顺序输出构成替换用途数据的N个数据单元和(ii)每次接收多个数据单元的序列时顺序输出与在N与在检测步骤中检测的数据单元的数目之间的差值一样多的构成伪数据的数据单元,以及
如果替换判断步骤判断接收的数据单元属于非替换对象数据,则每次接收构成非替换对象数据的数据单元时输出构成非替换对象数据的数据单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP274539/2002 | 2002-09-20 | ||
JP2002274539 | 2002-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1701612A true CN1701612A (zh) | 2005-11-23 |
CN100385949C CN100385949C (zh) | 2008-04-30 |
Family
ID=32025001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038252511A Expired - Fee Related CN100385949C (zh) | 2002-09-20 | 2003-09-22 | 数据替换输出设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060242324A1 (zh) |
EP (1) | EP1540963A1 (zh) |
KR (1) | KR20050057352A (zh) |
CN (1) | CN100385949C (zh) |
AU (1) | AU2003264879A1 (zh) |
WO (1) | WO2004028164A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9277251B2 (en) * | 2013-03-15 | 2016-03-01 | Echostar Technologies L.L.C. | Geographically independent determination of segment boundaries within a video stream |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966120A (en) * | 1995-11-21 | 1999-10-12 | Imedia Corporation | Method and apparatus for combining and distributing data with pre-formatted real-time video |
JPH11177520A (ja) * | 1997-12-10 | 1999-07-02 | Sony Corp | データ多重化装置 |
EP0926894A1 (en) * | 1997-12-23 | 1999-06-30 | CANAL+ Société Anonyme | Scrambling unit for a digital transmission system |
DE19960295B4 (de) * | 1999-12-14 | 2012-06-21 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Anordnung zum Ändern des Informationsinhaltes eines digitalen Video-Transportstromes in ausgewählten Regionen |
ES2381530T3 (es) * | 2000-03-31 | 2012-05-29 | Opentv, Inc. | Sistema y método para la inserción de metadatos locales |
US20020144260A1 (en) * | 2001-03-29 | 2002-10-03 | Koninklijke Philips Electronics N.V. | Method for adaptive data/content insertion in MPEG2 transport stream |
US20020147990A1 (en) * | 2001-04-10 | 2002-10-10 | Koninklijke Philips Electronics N.V. | System and method for inserting video and audio packets into a video transport stream |
-
2003
- 2003-09-22 CN CNB038252511A patent/CN100385949C/zh not_active Expired - Fee Related
- 2003-09-22 AU AU2003264879A patent/AU2003264879A1/en not_active Abandoned
- 2003-09-22 EP EP03797723A patent/EP1540963A1/en not_active Withdrawn
- 2003-09-22 WO PCT/JP2003/012065 patent/WO2004028164A1/en active Application Filing
- 2003-09-22 KR KR1020057004470A patent/KR20050057352A/ko not_active Application Discontinuation
- 2003-09-22 US US10/526,509 patent/US20060242324A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR20050057352A (ko) | 2005-06-16 |
US20060242324A1 (en) | 2006-10-26 |
AU2003264879A1 (en) | 2004-04-08 |
WO2004028164A1 (en) | 2004-04-01 |
EP1540963A1 (en) | 2005-06-15 |
CN100385949C (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100338949C (zh) | 接收系统和lsi电路 | |
CN1141842C (zh) | 图象数据发送方法和装置及图象数据再生装置 | |
CN1121011C (zh) | 信息接收装置和信息接收方法 | |
CN1199438C (zh) | 数据显示控制装置 | |
CN1264347C (zh) | 数字广播方法 | |
CN1118772C (zh) | 数字数据发送接收系统及其方法 | |
CN1169368C (zh) | 终端装置和用于终端装置的还原方法 | |
CN101064563A (zh) | 通信系统、通信方法、移动台和基站 | |
CN1178508C (zh) | 数据收发系统及其方法 | |
CN1700336A (zh) | 信息处理设备、方法及程序 | |
CN1202072A (zh) | 数字广播发送方法、发送装置和重放装置 | |
CN1216492C (zh) | 广播装置和广播方法 | |
CN1201519C (zh) | 数据一致性检测装置、数据一致性判断装置及数据挑选装置 | |
CN1416276A (zh) | 中间数据接收装置、方法、程序和记录媒体以及发送装置、传输方法 | |
CN100341318C (zh) | 存储型接收装置 | |
CN1258271C (zh) | 数字广播接收设备 | |
CN1298121C (zh) | 基于存储的广播系统、发送器和接收器 | |
CN1248131A (zh) | 电视节目广播系统 | |
CN1212531A (zh) | 信息接收方法和信息接收装置以及媒体 | |
CN1319989A (zh) | 多频道显示数据产生装置、媒介和信息组件 | |
CN1261881C (zh) | 信息处理设备和方法 | |
CN1647536A (zh) | 从属数据流传输方法 | |
CN1215403C (zh) | 传输装置、源分组生成装置、分组模式确定方法 | |
CN1249983C (zh) | 电子水印嵌入设备及其方法 | |
CN1166122C (zh) | 用于HAVi架构的调谐器功能部件模块 |
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: 20080430 Termination date: 20120922 |