多格式传输流解码器的制作方法

文档序号:7726742阅读:286来源:国知局
专利名称:多格式传输流解码器的制作方法
技术领域
本发明涉及多格式传输流解码器,该多格式传输流解码器是将按照各自不同的格式生成的多个传输流作为输入,对该输入的多个传输流进行所希望的处理后,生成新的传输流。若进一步详细叙述,则本发明涉及多格式传输流解码器,该多格式传输流解码器实时识别依次输入的构成不同格式传输流的小包数据是否为处理对象,在是处理对象时,对该小包数据根据固有的格式进行所希望的处理。
背景技术
对数字内容进行各种处理及编辑而加以附带利用的要求,以往仅仅对于广播电台那样的内容制作或传送源才有可能实现的。但是,近年来由于数字技术的进步,作为基础设施的数字传送系统的质量及数量日益提高和增加。即,由于提供数字内容的传输流的丰富、用户进行处理所需要的硬件性能的提高及其所需的成本的降低,因此以往仅仅由广播电台等设施进行的传输流的编辑及构成传输流的小包数据的编辑在用户侧也能够盼望实现的环境条件正不断完善。
但是,为了在用户侧对每个数字内容进行所希望的处理,必须有允许访问下述处理装置的装置,即该处理装置能对于依次输入的构成传输流的一个个小包数据,实时进行选择,再对选择的小包数据进行相对应的处理或加工。
作为这样的装置的一个例子,图41所示是以往实现的一个装置,它具有实时识别构成传输流的一个个小包数据并有选择地进行抽取的功能。该图所示的传输解码器从形成多个节目的各个节目的小包数据串构成的单一传输流,仅抽取构成特定单一节目的小包数据组,输出给AV解码器。即,如后所述,该传输解码器中设置在构成单一传输流的多个小包数据内有选择地仅抽取特定的小包数据的装置。
该传输流解码器TDAc包含接受从外部传输流源(未图示)供给的传输流TS的流输入器500C、节目小包滤波器PCF、主存储器控制器700C、主存储器900C、以及控制整个传输流解码器TDAc的动作的TD扩展器TDCc。
回到图41,分别说明传输流解码器TDAc的各构成要素。流输入器500C将从外部传输流源(未图示)输入的传输流TS暂时保持在内部具有的输入缓冲器中,以每个传送单位TSd向节目小包滤波器PCF传送。
节目小包滤波器PCF至少具有三个小包滤波器,它们是根据对从源输入器500以每个传送单位TSd传送来的全部节目内容小包数据Pc的各小包数据所附加的小包标识符PID有选择地仅输出管理小包数据PcA的小包滤波器1100_00、有选择地仅输出特定节目的节目图像内容小包数据PcV的小包滤波器1100_01、以及有选择地仅输出该特定节目的节目声音内容小包数据PcS的小包滤波器1100_02。另外,将从输入的传输流TS所包含的全部小包数据P抽取的管理小包数据PcA与形成特定节目内容的节目内容小包数据Pc(PcV及PcA)合起来总称为选择单一节目小包数据串Pes。
如上所述,在必须识别节目小包滤波器PCF所包含的管理小包数据PcA抽取用、节目图象内容小包数据PcV抽取用及节目声音内容小包数据PcS抽取用的三种小包滤波器的各小包滤波器时,则分别表示为管理小包滤波器1100_00、图像小包滤波器1100_01及声音小包滤波器1100_02,在不需要识别时或对它们总称时,则简单表示为小包滤波器1100。
在节目小包滤波器PCF中,根据抽取的构成一个节目的内容种类数γ(γ为自然数),即设置相当于应抽取的节目内容小包数据Pc的种类数的γ个小包滤波器1100_01~1100_0γ、以及从传输流TS抽取管理小包数据PcA的一个管理小包滤波器1100_00,一共设置γ+1个管理小包滤波器1100_00~1100_0γ。为了说明方便起见,在本例中所叙述的情况仅具有管理小包滤波器1100_00、图象小包滤波器1100_01及声音小包滤波器1100_02这三种小包滤波器。
传输流TS中包含的构成多个节目的节目内容小包数据Pc内,管理小包数据PcA(PAT、PMT1、PMT2、PMT3)、构成节目1的节目图像内容小包数据PcV(Pc101_1、Pc101_2、……)及节目声音内容小包数据PcS(Pc111_1、Pc111_2、……)、按照各自到达传输流解码器TDAc的顺序,利用图像小包滤波器1100_01及声音小包滤波器1100_02抽取。
然后,被抽取的节目内容管理表PAT、节目内容小包数据管理表PMT1、PMT2及PMT3、以及节目内容小包数据Pc101_1、Pc111_1、Pc101_2、Pc111_2、……按照到达传输流解码器TDAc的顺序,作为选择单一节目小包数据串PeS输出给主存储器控制器700C。这样,节目小包滤波器PCF实时识别输入的传输流TS的一个个小包数据,具有有选择地进行抽取的功能。
主存储器700C将节目小包滤波器PCF输入的选择单一节目小包数据串Pes以每个传送单位TSd暂时加以保持,同时控制主存储器900C,对于主存储器900C的各个不同的固定区域,将每个管理小包数据PcA、单一节目图像内容小包数据串PssV及单一节目声音内容小包数据串PssS存入主存储器900C的规定区域。
即,主存储器900C通过主存储器控制器700C,将节目小包滤波器PCF输入的选择单一节目小包数据串Pes所包含的各小包数据P进行选择,分为管理小包数PcA、节目图像内容小包数据PcV及节目声音内容小包数据PcA的某一个数据,作为管理小包数据PcA、单一节目图像内容小包数据串PssV及单一节目声音内容小包数据串PssS进行存储。
再有,主存储器控制器700C从主存储器900C读出单一节目图像内容小包数据串PssV及单一节目声音内容小包数据串PssS,以每个传输单位TSD暂时加以保持,同时作为单一节目小包数据串Pss输出给以AV解码器2000C为代表的外部设备。
另外,传输流解码器TDAc生成表示上述各构成要素动作状态的状态信号SrWC,输出给TD控制器TDCc。Td控制器TDCc根据状态信号SrWC,生成控制传输流解码器TDAc的各构成要素动作的控制信号ScWC,输出给传输流解码器TDAc。
这样,TD控制器TDCc控制传输流解码器TDAc的整个动作,从输入至传输流解码器TDAc的单一传输流TS按照输入的顺序仅抽取构成单一节目的节目内容小包数据Pc,作为单一节目小包数据串Pss输出给AV解码器2000C等外部设备。AV解码器2000C将输入的单一节目小包数据串Pss所包含的节目图像内容小包数据PcV及节目声音内容小包数据PcS依次进行节目,生成图像声音信号Sav,供用户进行收看及收听。
图43所示为选择单一节目小包数据串Pes的一个例子,该选择单一节目小包数据串Pes是利用传输流解码器TDAc,从图42所示的具有小包结构的单一传输流TS所包含的三个节目中,仅抽取一个节目的节目内容小包数据PC(节目图像内容小包数据PcV及节目声音内容小包数据PcS)及管理小包数据PcA(PAT、PMT)而构成。
在本例中,仅抽取构成节目1的节目内容小包数据Pc101_1、Pc111_1、Pc101_2、Pc111_2、……及表示这些节目内容小包数据的节目内容管理表PAT及节目内容小包数据管理表PMT1,作为抽取小包数据串Pse,从节目小包滤波器PCF输出给主存储器控制器700C。
另外,有时还抽取表示指定节目以外的节目2及节目3的节目内容小包数据管理表PMT2及PMT3。这样,从输入的传输流TS中连续排列的小包数据P仅离散地抽取与规定节目对应的小包数据P。
图44所示为主存储器900C中的选择单一节目小包数据串Pes所包含的节目内容小包数据Pc的各自存储状态的一个例子。主存储器900C具有存储节目图像内容小包数据PcV即节目内容小包数据Pc101_1、Pc101_2、Pc101_3、Pc101_4、……的图像小包存储区A(video)、以及存储节目声音内容小包数据PcS即节目内容小包数据Pc111_1、Pc111_2、Pc111_3、Pc111_4……的声音小包存储区A(audio)。
另外,还具有存储管理小包数据PcA的构成要素即节目内容管理表PAT的信息的PAT存储区A(PAT)以及存储节目内容小包数据管理表PMT的信息的PMT存储区A(PMTα)。若具体来说,则节目1的节目内容小包数据管理表PMT1存入节目内容小包数据管理表PMT存储区A(PMT1)。
节目图像内容小包数据PcV即节目内容小包数据Pc101_1、Pc101_2、Pc101_3、Pc101_4、……在图像小包存储区A(video)内相互没有间隔进行存储,通过这样形成单一节目图像内容小包数据串PssV。同样,节目声音内容小包数据PcS即节目内容小包数据Pc101_1、Pc111_2、Pc111_3、Pc111_4、……在声音小包存储区A(audio)内相互没有间隔进行存储,通过这样形成单一节目声音内容小包数据串PssS。
这样,在主存储器900C内构成的单一节目图像内容小包数据串PssV及单一节目声音内容小包数据串PssS,利用主存储器控制器700C,作为图45所示例子的单一节目小包数据串Pss读出,输出给AV解码器2000C。
另外,关于传输流,估计是众所皆知的知识,下面参照图42说明本发明书中的传输。下面说明输入至传输流解码器TDAc的单一传输流TS。传输流TS是在图42中分别用一个框表示的多个小包数据P构成。对这些小包数据P分别附加固有的小包标识符(Packet ID)PID,以便对它们进行识别。另外,这些小包数据P在传输流TS中以固定的格式构成。
这些小包数据P分成几类,包括α种(α为2及2以上的整数)节目的每个节目形成其内容的多个节目内容小包数据Pc、对每个节目记有这些节目内容小包数据Pc的小包标识符PID的节目内容小包数据管理表(Program Map Table,节目映射表)PMT、以及对每个节目记有对应的节目内容小包数据管理表PMT的节目内容管理表(Program Association Table,节目关联表)PAT等。
将具有管理这些节目内容小包数据Pc的信息的节目内容管理表PAT及节目内容小包数据管理表PMT总称为管理小包数据PcA。另外,在图42中所示的例子是,至少提供三个不同的节目1、节目2及节目3的情况下(α>=3)的传输流TS的结构。
节目内容小包数据Pc101_1、Pc101_2、……是节目1的图像数据,节目内容小包数据Pc111_1、Pc111_2、……是节目1的声音数据。同样,节目内容小包数据Pc201_1、Pc201_2、……是节目2的图像数据,节目内容小包数据Pc211_1、Pc211_2、……是节目2的声音数据。
另外,节目内容小包数据Pc301_1、Pc301_2、……是节目3的图像数据,节目内容小包数据Pc311_1、Pc311_2、……是节目3的声音数据。如上所述,将具有图像数据的节目内容小包数据Pc总称为节目图像内容小包数据PcV,将具有声音数据的节目内容小包数据Pc总称为节目声音内容小包数据PcS。
另外,能够提供的节目数(α)当然不限定于3,仅仅与提供的节目数对应的所需要的节目内容小包数据Pc包含在传输流TS中。再有,根据节目的不同内容,同样还可以包含与图像及声音以外的信息(例如文字信息)对应的节目内容小包数据Pc。
若更详细叙述,则传输流Ts在节目内容小包数据Pc之间,以根据传送路径及处理上的主要原因所决定的频次,将节目内容该表PAT及节目内容小包数据管理表PMT排列而构成。在图42中,在形成节目1、2及3的全部三类节目的多个节目内容小包数据Pc内,在节目内容小包数据Pc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1及Pc311_1之前配置管理小包数据PcA,该管理小包数据PcA由对每个节目记有节目内容小包数据Pc的小包标识符PID的节目内容小包数据管理表PMT1、PMT2、PMT、以及表示与这些节目内容小包数据管理表PMT的各小包标识符PID对应的节目的节目内容管理表PAT构成。
另外,在本说明中,对同一构件或信号附加由共同的数字或英文字母构成的符号作为标识符来表示,在即使是同一构件或信号而需要一个个加以识别时,对该识别符再附加由数字或英文字母构成的后缀作为个别标识符来表示。因而,在同一构件或信号中不需要一个个识别时,对标识符不附加后缀来表示。若具体来说,则节目内容小包数据Pc101是节目内容小包数据Pc101_1、Pc101_2、……Pc101_β(β为任意的自然数)的总称。关于上述节目内容小包数据Pc111、Pc201、Pc211、Pc301及Pc401也相同。
在节目内容管理表PAT中,记有该传输流TS所包含的全部节目的节目内容小包数据管理表PMT的小包标识符PID。即,节目1的节目内容小包数据管理表PMT的小包标识符PID记为100,节目2的节目内容小包数据管理表PMT的标记符PID记为200,节目3的节目内容小包数据管理表PMT的小包标识符PID记为300,……,节目α的节目内容小包数据管理表PMT的小包标识符PID记为α00。
再有,在节目内容小包数据Pc101_2、Pc111_2、Pc201_2、Pc211_2、Pc301_2及Pc311_2之前,再配置前述的由节目内容小包数据管理表PMT1、PMT2、PMT3及节目内容管理表PAT构成的管理小包数据PcA。另外,在传输流TS包含4个及4个以上的节目(α>=4)时,在图42中虽未明示,但当然在管理小包数据PcA中包含节目内容小包数据管理表PMT4~PMTα,在传输流TS中包含与各节目相对应的节目内容小包数据Pc。
根据传输流TS所包含的小包数据P的不同种类,管理小包数据PcA的配置频次有很大不同。再有,管理小包数据PcA不一定只限于图42所示例子那样作为小包数据P的一个组合进行配置。根据情况不同,有时在管理小包数据PcA的构成单位即节目内容管理表PAT、节目内容小包数据管理表PMT与节目内容小包数据Pc的各部分之间还随机插入配置其它的小包数据P。
如上所述构成的以往的传输流解码器,在输入的传输流为单一传输流的情况下,对于从该传输流仅同时重放单一的节目并向用户提示的用途已经足够了。这是由于,AV解码器只要将输入进来的构成单一节目的单一节目小包数据串Pss所包含的小包数据P按照输入进来的顺序进行解码即可。
再有,由于输入的单一传输流由固有的格式构成,因此这些小包数据P全部只要根据同一格式进行解码即可。但是,对于上述传输流解码器。在以下大致区别的三种节目重放形态中,不管是否将重放的节目同时向用户提示,都不能适应。
(重放形态1)
是在仅允许输入单一传输流、即仅备有一个流输入器的情况下,从该传输流同时重放多个节目的情况。
(重放形态2)是允许输入多个传输流、即输入的传输流由根据各自固定的格式生成的小包数据构成的情况。在本生成形态中,同时输入的传输流不管是多个还是单一,均可再细分为下面分类的六种重放形态。
重放形态2-1从多个传输流的各传输流仅重放单一节目的情况。
重放形态2-2从多个传输流的各传输流同时重放多个节目的情况。
重放形态2-3从多个传输流的一个特定传输流仅重放单一节目的情况。
重放形态2-3从多个传输流的一个特定传输流仅重放单一节目的情况。
重放形态2-4从多个传输流的一个特定传输流同时重放多个节目的情况。
重放形态2-5从多个传输流的几个特定传输流同时重放多个节目的情况。
重放形态2-6从多个传输流的几个特定传输流仅重放单一节目的情况。
(重放形态3)是必须以从传输流抽取的选择单一节目小包数据串Pes所包含的小包数据P(Pc、PAT、PMT)为单位进行数据处理的情况。所谓这种情况的数据处理,包括对节目内容小包数据Pc、节目内容管理表PAT或节目内容小包数据管理表PMT本身进行加工的情况,或者对每个小包数据P分别进行规定处理的情况等。
下面具体叙述对于上述各重放形态以往的传输流解码器不能适用的理由。
在重放形态1中,在从单一传输流Ts同时重放的多个节目内,必须将用户所希望的特定节目以用户所希望的方法进行提示。在这种情况下,至少必须准备使其能够识别选择单一节目小包数据串Pes或单一节目小包数据串Pss中混合存在的节目内容小包数据Pc的各小包数据与对应的节目的关系,而且加以管理,并且该识别管理结果能够作为信息加以利用。
在以往的传输流解码器中,如上所述,由于也能够抽取多个节目的节目内容小包数据管理表PMT,因此能够知道单一传输流Ts中包含什么样的节目的节目内容小包数据Pc。但是,由于将输入至节目小包滤波器PCF的多个节目内容小包数据Pc仅根据构成一个特定节目的节目内容小包数据Pc的小包标识符PID这一项来简单地进行滤波后输出,因此与该特定节目以外的节目各自对应的节目内容小包数据Pc在选择单一节目小包数据列Pes内就不存在。当然,不能获得与各节目内容小包数据Pc对应的节目及识别管理结果的信息。
在重放形态2中,能够同时输入根据每个传输流规定的格式生成的小包数据所构成的多个传输流TS。即,对于多个流输入器的各个流输入器,供给种类、方式或供应商等为代表的不同格式的ε种传输流TS1~TSε。
在这样的状态下,在从多个传输流TS1~TSε的各传输流仅重放单一节目的重放形态2-1、从多个传输流TS1~TSε的一个特定传输流仅重放单一节目的重放形态2-3、以及从多个传输流TS1~TSε的几个特定传输流仅重放单一节目的重放形态2-6的无论哪一个形态中,必须要区别重放的节目所属的传输流Ts,识别选择单一节目小包数据串Pes或单一节目小包数据串Pss中的节目内容小包数据Pc与传输流TS的关系,进一步对每个识别了的传输流Ts再识别小包数据的格式。但是,如上所述,在以往的传输流解码器中不能进行那样的区别及识别。
另外,在从多个传输流TS1~TSε的各传输流同时重放多个节目的重放形态2-2、从多个传输流TS1~TSε的一个特定传输流同时重放多个节目的重放形态2-4、以及从多个传输流TS1~TSε的几个特定传输流同时重放多个节目的重放行改2-5的无论哪一个形态中,为了在重放的多个节目内提示用户所希望的节目,需要传输流TS1~TSε及与节目有关的选择单一节目小包数据串Pes所包含的全部小包数据P之间的关系及识别信息。还必须将构成不同传输流TS的小包数据P(分别根据不同格式构成)依次根据与该小包数据P的格式相应的模式进行节目。但是,如上所述,在以往的传输流解码器中不能进行那样的识别。
关于重放形态3,有时对于与传输流TS所包含的节目相对应的小包数据P(Pc、PAT、PMT)的各小包数据,要根据用户的要求进行不同的处理。例如,某个节目为了向用户提示,则将对应的节目内容小包数据Pc简单地依次输出,使AV解码器2000C进行解码,然后输出给监控器。而别的节目为了存入外部存储装置,则按照该存储装置及外围设备的传递条件,构成包含对应节目内容小包数据Pc的新的传输流TSr(未图示)后输出。
在这种情况下,为了按照要求的传送条件,对节目内容小包数据Pc进行管理,并生成新的传输流TSr,就需要上述的识别管理信息。再有,在根据需要而对小包数据P本身进行加工时,为了确定作为对象的小包数据P,并正确处理加工后的小包数据P,也需要上述的识别管理信息。这些条件必须根据进行处理的小包数据P的格式进行切换。但是,如上所述,在以往的传输流解码器中不能进行那样的识别。
如上所述,以往的传输流解码器适合于从单一传输流重放单一节目的用途。但是,对于单一传输流所包含的多个节目的节目内容小包数据Pc,不能对每个节目进行识别。另外,即使是单一传输流,由于不知道能够输入小包数据处理装置的多个传输流TS1~TSε的哪一个正在输入,同时不知道构成现在输入的传输流TS的小包数据格式,因此对小包数据不能进行所希望的处理。
在多个传输流输入时,对每个节目不能识别节目内容小包数据Pc,再加上还不能区别传输流,不能识别传输流与重放节目的节目内容小包数据的关系。再有,由于不知道构成输入的传输流的小包数据格式,因此不能对小包数据进行所希望的处理。
这样,在以往的传输流解码器中,不仅输入的传输流是单一还是多个不能使用,而且对于重放多个节目或对小包数据进行所希望的处理的用途也不能使用。另外,在多个传输流输入时,对于重放单一节目的用途也不能使用。
再有,无论在上述哪一个重放形态中,不仅是单一及多个,而且为了对从输入的传输流TS重放的多个节目的各自内容进行相应的处理,对于每个小包滤波器必须设置接口,与进行适合小包数据格式的处理的装置相对应。为此,将导致装置规模庞大、结构复杂、处理负担增大、不能适应规格或要求处理的变化、以至于使成本增加等诸多问题。
本发明鉴于上述的问题,目的在于提供多格式小包数据处理装置,它实时识别输入进来的每个传输流以不同格式生成的一个个小包数据是否为规定的处理对象,在是处理对象时,进行适合该小包数据的格式的处理。

发明内容
本发明为了达到上述的目的,具有下述的特征。
本发明的第一方面的多格式传输流解码器,将根据预先规定的多个格式的某一个格式生成的、同时由附加了为了对其识别的小包数据识别信息的连续多个第一小包数据构成的第一传输流的至少一个作为输入,对所述第一小包数据有选择地进行用户所希望的处理,生成第二传输流,包括存储对多个第一小包数据的各小包数据进行预先规定的至少一个处理顺序的小包数据处理顺序存储器、将表示第一小包数据内成为用户所希望的处理对象的小包数据及处理顺序内与所希望的处理对应的处理顺序的处理要求信息输入的处理要求信息输入器、对第一传输流附加表示规定格式的传输流识别信息的传输流识别信息附加器、将第一小包数据一个个依次保持同时保持的第一小包数据抽取传输流识别信息及小包数据识别信息的小包数据保持识别器、以及将抽取的传输流识别信息及小包数据识别信息与处理要求信息比较并生成表示保持的第一小包数据是否为预先所希望的处理对象的处理对象判断信号的处理对象小包数据数据选定器。
如上所述,在第一方面中,对输入的传输流能够根据各固有的格式进行适当的解码。
本发明的第二方面是在第一方面中,处理要求信息包含表示第一小包数据内是用户所希望的处理对象的小包数据的对象小包数据识别信息、与处理对象的第一小包数据对应的对象传输流识别信息、以及对处理对象的第一小包数据预先规定的处理顺序内与处理对应的处理顺序信息。
本发明的第三方面是在第二方面中,处理对象小包数据数据选定器仅在抽取的传输流识别信息及小包数据识别信息与各对象传输流识别信息及对象小包数据识别信息及处理对象的第一小包数据一致时,生成表示对第一小包数据进行所希望的处理的处理对象判断信号。
本发明的第四方面是在第三方面中,小包数据保持识别器具有将第一小包数据的各小包数据按照输入进来的顺序保持规定时间的第一小包数据保持器、将对第一小包数据保持器存储的第一小包数据进行处理顺序的处理时生成的中间生成物进行存储用的第二小包数据保持器、以及将对第一小包数据进行处理顺序的处理时生成的最终生成物进行存储用的第三小包数据保持器。
本发明的第五方面是在第四方面中,在处理对象判断信号表示保持的第一小包数据不是预先规定的处理对象时,第一小包数据保持器为了存储其它的第一小包数据而打开。
本发明的第六方面是在第五方面中,还包含在处理对象判断信号表示保持的第一小包数据是预先规定的处理对象时对保持的第一小包数据根据处理顺序信息进行处理的数据处理器。
附图简要说明

图1所示为本发明实施形态有关的多格式小包数据数据的结构方框图。
图2为图1所示的控制器周边的主要部分详细方框图。
图3所示为图1所示的缓冲器单元分配信息存储器及小包缓冲器的详细说明图。
图4所示为图3所示的存储结束缓冲器单元编号存储器的详细说明图。
图5所示为图4所示的存储结束缓冲器单元编号存储器的变型例的说明图。
图6所示为图1所示的多格式传输流解码器中各种信号的波形图。
图7所示为图1所示的多格式传输流解码器的主要动作流程图。
图8所示为图7所示的传输流TS1~TSε的小包数据P存储子程序的详细动作流程图。
图9所示为对图7所示的传输流TS1~TSε的小包数据P要求处理执行子程序的详细动作流程图。
图10所示为图9所示的多格式小包数据处理子程序的详细动作流程图。
图11所示为图10所示的小包缓冲器确认子程序的详细动作流程图。
图12所示为图10所示的小包数据滤波控制子程序的详细动作流程图。
图13所示为图10所示的与访问对象小包数据对应的处理要求表取得子程序的详细动作流程图。
图14所示为图13所示的与访问对象小包数据对应的处理要求表取得子程序的变形例的详细动作流程图。
图15所示为图10所示的解扰控制子程序的详细动作流程图。
图16所示为图10所示的小包模式选择控制子程序的详细动作流程图。
图17所示为图16所示的小包模式选择控制子程序的变形例的详细动作流程图。
图18所示为图10所示的主存储器控制子程序的详细动作流程图。
图19所示为图10所示的流输出控制子程序的详细动作流程图。
图20所示为图19所示的第一流输出设定子程序的详细动作流程图。
图21所示为图19所示的第二流输出设定子程序的详细动作流程图。
图22所示为图19所示的流输出控制子程序的详细动作流程图。
图23为本发明的对小包数据进行处理的说明图。
图24为本发明的对小包数据进行处理的说明图。
图25为本发明的缓冲器单元最小容量的说明图。
图26所示为管理字节BM的结构说明图。
图27所示为辅助数据的结构说明图。
图28所示为控制表的结构说明图。
图29所示为入口表的结构说明图。
图30为入口表说明图。
图31所示为处理要求表Pdt的结构说明图。
图32所示为解扰判断参数的相互关系的说明图。
图33所示为控制器与小包分析器之间交换的信号内容的说明图。
图34所示为DMA总线仲裁器与主存储器控制器之间交换的信号内容的说明图。
图35所示为控制器与流输出器之间交换的信号内容的说明图。
图36所示为输入至图1所示的多格式传输流解码器的二个传输流的小包结构示意图。
图37所示为在图1所示的多格式传输流解码器中对从图36所示的二个输入传输流确定的内容小包数据进行处理的情况的说明图。
图38所示为在图37的处理在存入图1所示的主存储器的内容小包数据的说明图。
图39所示为从图38所示的主存储器输出的多个TS多个节目小包数据串的结构说明图。
图40所示为输入至图1所示的多格式传输流解码器的在ITU-T建议H.220.0中规定的二个输入传输流的结构说明图。
图41所示为考虑到能够从单一传输流提供多个节目内容小包数据的数据输出的、以往主要由硬件实现的传输流解码器的结构方框图。
图42所示为输入至图41所示的以往传输流解码器的传输流的结构说明图。
图43为利用图41所示的以往的传输流解码器从单一传输流抽取而构成的选择单一节目小包数据的数据串的说明图。
图44所示为选择单一节目小包数据的数据串存入图41所示的主存储器的状态的示意图。
图45所示为输入图41所示的主存储器或从其输出的单一节目小包数据的数据串的结构说明图。
实施发明的最佳形态为了更详细说明本发明,下面根据附图进行说明。
图1所示为本发明实施形态例有关的多格式传输流解码器TD。多格式传输流解码器TD包含从外部的传输流源(未图示)分别接受以小包为单位供给的多个ε(ε>=2)传输流TS1~TSε的流输入器TSR1~TSRε、数据缓冲装置DBA、定时器600、主存储器控制器700、主存储器900、TD控制器TDC及附带处理要求输入器APR。
下面根据图1说明输入至本发明的多格式传输流解码器TD的传输流流程的简要情况。另外,关于本申请复杂的构成要素的详细内容将在本实施例的最后部分加以叙述。第一流输入器TSR-1~第ε流输入器TSR-ε对分别从外部传输流源(未图示)以小包为单位供给的传输流TS1~TSε,附加为了分别识别它们用的ID即传输流标识符TSID。这时,流输入器TSR-ε识别输入的传输流中小包大小等格式。
传输流标识符TSID将输入的多个(1~ε)以内的任意传输流TS作为I(1≤i≤ε)表示。根据该考虑方法,将输入至多格式传输流解码器TD的任意传输流TS作为第i传输流标识符TSi表示。
然后,流输入器TSR将附加了传输流标识符TSID的传输流TS暂时保持在内容具有的输入缓冲器中,再将它们以每个规定的传送单位TSd1~传送单位TSdε传送给数据缓冲装置DBA。
TD控制器TDC控制整个多格式传输流解码器TD的动作。
数据缓冲装置DBA包含小包缓冲仲裁器PBA、小包选择器400、流输出管理器550、中间处理用缓冲器单元使用存储器530、小包分析器1000、流输出器1300及控制器PBAC。小包缓冲仲裁器PBA以小包数据P为单位识别从流输入器TSR以每个传送单位TSd输入的传输流TS,进行缓冲。小包选择器400判断缓冲的小包数据P是否为所希望的小包数据P。
小包缓冲仲裁器PBA包含DMA总线仲裁器210、TSd输入开始检测器220、缓冲器单元分配器230、缓冲器单元分配信息存储器240、写入对象缓冲器单元指定器250、小包缓冲器控制器260、小包缓冲器270、存储结束缓冲器单元编号存储器控制器280、存储结束缓冲器单元编号存储器290、出错标记设定器295及小包访问器300。
DMA总线仲裁器210只具有与输入的传输流TS的数量ε相同的输入口组合。这样,由于对每个输入的传输流TS具有输入口组合,能够分别识别输入至多格式传输流解码器TD的第I传输流TSi。
再有,DMA总线仲裁器210对与输入的传输流TS的数量ε对应备有的每个流输入器TSR1~TSRε,备有输出数据有效信号Sde1~Sdeε的输出口。
DMA总线仲裁器210根据第I流输入器TSRi输入的第I小包头部检测信号Spsi及第I请求信号Srqi,将第I小包头部检测信号Spsi输出给TSd输入开始检测器220。
TSd输入开始检测器220根据小包头部检测信号Spi及传送单位TSd,对每个小包数据P检测传送单位TSd的输入是否开始,同时将输入开始的传送单位TSd供给小包缓冲器控制器260。
小包缓冲器控制器260对写入要求信号Swd进行应答,将TSd输入开始检测器220供给的传送单位Tsdi写入小包缓冲器270分配的缓冲器单元。
小包访问器300经由小包缓冲器控制器260及DMA总线仲裁器210,有选择地对刚存入小包缓冲器270的缓冲器单元之后的小包数据P进行访问,进行读出、比较或编辑等处理后,经由DMA总线仲裁器210及小包缓冲器控制器260,对原来的小包数据P进行重写更新。
数据缓冲装置DBA在对处理对象小包数据P进行上述所希望的处理之后,作为选择多个TS多个节目小包数据串Pemm输出给主存储器控制器700。
主存储器900将从数据缓冲装置DBA输出的第一传输流TS1~第ε传输流TSε抽取的选择多TS多节目小包数据串Pemm进行存储,同时对以AV解码器为代表的外部设备(未图示)作为多TS多节目小包数据串Pmsm进行输出。
主存储器控制器700将选择多TS多节目小包数据串Pemm及多TS多节目小包数据串Pmsm以每个传送单位TSd暂时加以保持。主存储器控制器700还控制主存储器900的动作,将暂时保持的选择多TS多节目小包数据串Pemm以每个传送单位TSd输出给主存储器900,同时控制主存储器900,在其内部形成多TS多节目图像内容小包数据串PmsmV及多TS多节目声音内容小包数据串PmsmS。
下面参照图2及图3,简单说明上述的缓冲器单元分配信号存储器240、小包缓冲器270与存储结束缓冲器单元编号存储器290的关系。如图2所示,将小包缓冲器270大致区分,包含m(m为2ε及2ε以上的整数)个一次缓冲器单元Bc_I1~Bc_Im、n(n为大于m/2的整数)个二次缓冲器单元Bc_M1~BC_Mn、以及一个及一个以上的三次缓冲器单元Bc_O这是由于,对每个输入的传输流TS,需要一个小包数据P的存储用及存储的小包数据P读出用的不同的一次缓冲器单元BC_I。另外,在输入第一传输流TS1及第二传输流TS2的二个(ε=2)传输流TS时,一次缓冲器单元Bc_I的个数m为4(2×2)及4以上的整数。
另外,二次缓冲器单元Bc_M由于只要与一次缓冲器单元BC_I的读出用对应设置即可,因此需要数n为m/2及m/2以上的整数。再有,三次缓冲器单元Bc_O由于只要在对一个小包数据P的处理过程的中间数据累积完成后输出即可,因此只要一个及一个以上就行。
一次缓冲器单元Bc_I1~Bc_Im分别经由TSd输入开始检测器220及小包缓冲器控制器260,将以传送单位TSd输入的小包数据P仅存储第一规定时间T1,接受对存储的小包数据P的处理。利用小包缓冲器控制器260,读出一次缓冲器单元Bc_I存储的小包数据P的小包标识符PID及传输流标识符TSID作为抽取小包识别信息PIDe及抽取传输流标识符TSIDe。
再有,在解扰器1100及段数据选择器1200处理时读出一次缓冲器单元Bc_I。然后,在一次缓冲器单元Bc_I中存储的小包数据P内被加扰的被加扰数据Dsdi输出给解扰器1100。另外,在一次缓冲器单元Bc_I中存储的小包数据P是段数据时,将要选择段数据Ssdi2输出给段数据选择器1200。
解扰器1100将一次缓冲器单元Bc_I输入的被加扰数据Dsdi进行解扰,生成被解扰数据Dsdo。段数据选择器1200将一次缓冲器单元Bc_I输入的要选择段数据Ssdi2进行段数据选择,生成被选择小包数据Ssdo。
二次缓冲器单元Bc_M与解扰器1100连接,将被解扰数据Dsdo仅存储第二规定时间T2(T2<T1)。再有,段数据选择器1200与二次缓冲器Bc_M连接,读出存储的被解扰数据Dsdo内的解扰的实数据作为要选择段数据Ssdi1,进行段数据选择,生成被选择小包数据Ssdo。
三次缓冲器单元Bc_O与段数据选择器1200连接,将从要选择段数据Ssdi1或要选择段数据Ssdi2的某一个要选择段数据生成的被选择小包数据Ssdo仅存储第三规定时间T3(T3<T2)。
缓冲器单元BC的各单元能够暂时存储规定大小的数据,即能够进行缓冲。将为此所必需的缓冲器单元Bc的容量称为最低缓冲器容量MBU。最低缓冲器容量MBU可根据构成小包数据P的小包数据P的数据大小适当设定。若设定最低缓冲器容量MBU小于小包大小,则虽然能够对节目内容小包数据Pc的抽取进行更精细地控制,但DMA总线仲裁器210中的输入输出仲裁频次增大,导致为此而进行的控制工时增大,处理效率下降。
另外,若设定最低缓冲器容量MBU大于小包大小,例如为几倍左右,则一个缓冲器单元Bc中能够存储多个小包数据P。但是,在这种情况下,由于不能区别一个缓冲器单元Bc中存储的多个小包数据P,因此不能以小包数据P为单位进行控制或访问。所以,最低缓冲器容量MBU应该根据传输流解码器的内部处理速度、小包数据P的输入速率、小包大小及对小包数据P的访问频次进行适当设定。
另外,在本例中,最低缓冲器容量这样设定,使其能够存储一个小包数据P,具体来说设定为188个字节。另外,也可以根据需要,使其能够存储对一个小包数据P追加为了识别或管理小包数据P用的具有规定字节数的辅助数据。但是,也可以根据需要,如上所述使其设定为小于小包大小,即将一个小包分割存储在多个缓冲器单元Bc。
另外,最低缓冲器容量MBU不管有无分割,它是对存储的数据加上相当于管理信息的管理字节的量。管理信息中至少包含表示存储的分割或不分割的数据是属于输入的多个传输流Ts中哪一个传输流的传输流识别信息。
另外,在将小包分割存储时,最低缓冲器容量MBU成为小包数据P分割后的数据的最大大小与包含分割信息及传输流小包识别的管理数据大小之和。在这种情况下,缓冲器单元Bc的个数N的最小值即缓冲器单元最少个数Nmin成为对2ε乘以分割数D的数值(缓冲器单元最少个数Nmin为2εD)。
再有,下面叙述不同小包数据P之间的输入速率的差异。即,在输入至多格式传输流解码器TD的多个ε的传输流TS1~TSε中,各传输流所包含的小包数据P的输入速率在多数情况下下对每个传输流TSi都不相同。现在,以输入二个(ε=2)传输流TS1及TS2的情况为例进行说明。在将第一传输流TS1的节目1的节目内容小包数据Pc101及Pc111、和第二传输流TS2的第四节目内容小包数据Pc401及Pc411进行缓冲时,考虑节目内容小包数据Pc401的输入速率绝对大于节目内容小包数据Pc101的输入速率的情况。
在这种情况下,即使设节目内容小包数据Pc101与Pc401同时到达多格式传输流解码器TD,由DMA总线仲裁器210r进行仲裁,1个小包数据(例如节目内容小包数据Pc101)的缓冲器比另一个小包数据(例如节目内容小包数据Pc401)先开始。然后,在节目内容小包数据Pc101的缓冲器开始后,接着节目内容小包数据Pc401的缓冲开始。但是,由于节目内容小包数据Pc401的输入速率绝对大于节目内容小包数据Pc401的输入速率,因此在节目内容小包数据Pc101的缓冲途中,节目内容小包数据Pc101的输入已经结束。
要适应这样的状态,为了在节目内容小包数据Pc101进行缓冲中,对后来输入的高速率的节目内容小包数据Pc411进行缓冲,必须备有缓冲器单元Bc。这种情况下的缓冲器单元最少个数Nmin,虽然根据输入的传输流TS的节目内容小包数据Pc的输入速率来决定,但若使最低缓冲器容量MBU为一定,则缓冲器单元最少个数Nmin一般与输入传输流TS的数量成正比。
另外,在本例中,最低缓冲器容量MBU这样决定,使其能够存储对一个小包数据P附加规定的管理数据后的数据,具体来说取192个字节,使其能够存放对188个字节的一个小包数据P附加4个字节的管理数据后的数据。另外,4个字节的管理数据中,包含上述的传输流识别信息,同时还包含表示该小包数据P的到达时间的时间标志信息。关于这一内容,将在随后参照图16进行说明。
另外,下面参照图3、图24、图25、图26及图27,说明一次缓冲器单元Bc-I、二次缓冲器单元Bc-M及三次缓冲器单元Bc-O中存储的数据。在图25中所示的例子的情况是,第一传输流TS1的小包数据P1由第一格式FMTI构成,第二传输流TS2的小包数据P2由第二格式FMT2构成。
随便说一下,由第一格式是FMT1构成的小包数据P1(TS1),从头部开始按照属性管理字节BMh、辅助数据AXD、实数据PDB及处理管理字节BMp的顺序排列而构成。若设属性管理字节BMh、辅助数据AXD、实数据PDB及处理管理字节BMp的字节大小分别为M、NI、RI及M,则为了存储这样的小包数据PI(TS1FMT1),缓冲器单元Bc所要求的最小容量MBU成为2M+N1+R1。
同样,由第二第格式FMT2构成的小包数据P2(TS2),从头部开始按照属性管理字节BMh、辅助数据AXD、实数据PDB及处理管理字节BMp的顺序排列而构成。若设属性管理字节BMh、实数据PDB及处理管理字节BMp的字节大小分别为M、R2及M,则为了存储这样的小包数据P2(TS2FMT2),缓冲器单元Bc所要求的最小容量MBU成为2M+R2。
再回到图2,下面以在奇数号的一次缓冲器单元Bc-I中存储第一格式FMT1的小包数据P、在偶数号的一次缓冲器单元Bc-I中存储第二第格式FMT2(段数据)的小包数据P为例进行说明。在奇数号的一次缓冲器单元Bc-I中按照处理管理字节BMp、复制数据AXD、实数据PDI及属性管理字节BMh的顺序存储,在偶数号的一次缓冲器单元Bc-I中按照处理管理字节BMp、实数据PD2及属性管理字节BMh的顺序存储。
奇数号的一次缓冲器单元Bc-I中存储的辅助数据AXD及实数据PD作为第一流Ph01从流输出器1300输出。偶数号的一次缓冲器单元Bc-I中存储的实数据Ph02从流输出器1300输出。
再有,处理管理字节BMp及辅助数据AXD及实数据PD从奇数号的一次缓冲器单元Bc-I作为被加扰数据Dsdi输出给解扰器1100。解扰器1100将被加扰数据Dsdi的辅助数据AXD及实数据PD进行解扰,生成解扰器辅助数据AXD’。然后,将处理管理字节BMp及被解扰辅助数据AXD’及被解扰实数据PD’作为被解扰数据Dsdo输出给二次缓冲器单元Bc-M。
在二次缓冲器单元Bc-M中,被解扰数据Dsdo按照处理管理字节BMp、被解扰辅助数据AXD’及被解扰实数据PD’的顺序存储。然后,处理管理字节BMp、被解扰辅助数据AXD’及被解扰实数据PD’从二次缓冲器单元Bc-M作为要选择段数据Ssdi1输出给段数据选择器1200。
段数据选择器1200对要选择段数据Ssdi1进行选择,生成被选择实数据PD”,输出给三次缓冲器单元Bc-O。
处理管理字节BMp及辅助数据AXD实数据PD从偶数号的一次缓冲器单元Bc-I作为要选择段数据Ssdi2输出给段数据选择器1200。段数据选择器1200对要选择段数据Ssdi2进行选择,生成被选择实数据PD”,作为被选择小包数据Ssdo输出三次缓冲器单元Bc-O。
这样,根据小包数据P的格式处理的被选择实数据PD”存入三次缓冲器单元Bc-O。
缓冲器单元分配信息存储240具有与小包缓冲器270的一次缓冲器单元Bc-I1~Bc-Im的各单元对应的一次缓冲器单元分割信息区AL1~Aim单元、以及与二次缓冲器单元Bc-M1~Bc-Mn的各单元对应的二次缓冲器单元分配信息区AM1~Amn。缓冲器单元分配信息存储器240根据缓冲器单元分配器230供给的一次缓冲器单元分配信息Iba,将表示有无分割的分配识别数据写入分配的与一次缓冲器单元Bc-I对应的一次缓冲器单元分配信息区AI。即,在缓冲器单元分配信息存储器240中备有与小包缓冲器270的一次缓冲器单元Bc-I1~Bc-Im相同数量的一次缓冲器单元分配信息区AI1~AIm。
同样,缓冲器单元分配信息存储器240根据中间处理用缓冲器单元使用存储器530供给的二次缓冲器单元分配信息mrp,将表示有无分配的分配识别数据写入分配的与二次缓冲器单元Bc-M对应的二次缓冲器单元分配信息区AM。即,在缓冲器单元分配信息存储器240中备有与小包缓冲器270的二次缓冲器单元Bc-M1~Bc-Mn相同数量的二次缓冲器单元分配信息区AM1~Amn。
例如,分配识别数据是1及0的二值数值,初始值为0。然后,在一次缓冲器单元Bc-I1被分配时,与一次缓冲器单元Bc-I1对应的一次缓冲器单元分配信息区AI1中例如写入1。另外,在写入一次缓冲器单元Bc_I1的数据被读出后,根据控制器PBAC输出的控制信号Sc,在一次缓冲器单元分配信息区AI1中写入0,一次缓冲器单元Bc_I1被打开。对于二次缓冲器单元Bc_M,也与上述情况相同。
这样,小包缓冲器270的各一次缓冲器单元Bc_I1~Bc_Im的各分配状况就以一次缓冲器单元分配信息区AI1~AIm中的数值集合来表示,作为分配一次缓冲器单元信息Iab,供给缓冲器单元分配器230。同样,二次缓冲器单元Bc_M1~Bc_Mn的各分配状况就以二次缓冲器单元分配信息区AM1~AMn中的数值集合来表示,作为分配二次缓冲器单元信息mWp,供给中间处理用缓冲器单元使用存储器530。
下面参照图7,详细说明上述多格式传输流解码器TD的主要动作。多格式传输流解码器TD在电源接通后开始其动作。
首先,在步骤#100的“初始化子程序”中,包含存储结束缓冲器单元编号存储器290的写指针Wp及读指针RP的值都复位为0在内,进行装置的初始化。然后,处理进入下一个步骤#200。
在步骤#200的“传输流TS1~TSε的提供节目及能够处理指示”子程序中,根据TD控制器TDC的主存储器900的PAT存储区Ar(PAT)及PMT存储区Ar(PMT)中对每个传输流TS1~TSε分别存储的节目内容管理表PAT1~PATε及节目内容小包数据管理表PMT1~PMTε,生成表示传送的节目及多格式传输流解码器TD能够向用户提供的处理功能的节目内容提示信号Sp,输出给附带处理要求输入器APR。
附带处理要求输入器APR根据节目内容提示信号Sp,用显示器等适当的显示装置,向用户一览提示传送节目及提供处理功能。用户操作附带处理要求输入器APR,在提示的节目及处理功能内,选择所希望的节目及处理功能。
在步骤#300的“对传输流TS1~TSε的处理要求检测”子程序中,附带处理要求输入器APR根据节目内容提示信号Sp,检测对多个传输流TS1~TSε的用户处理要求,生成处理要求信号Se,输出给TD控制器TDC。
在步骤#400的“对传输流TS1~TSε的处理内容决定”子程序中,Td控制器TDC根据处理要求信号Se,决定在多格式传输流解码器Td一侧应该进行的具体处理内容。具体来说,TD控制器TDC根据附带处理要求输入器APR输入的处理要求信号Se,生成成为处理对象的节目、对节目的处理方法、以及处理所需要的器件等装置的信息为代表的处理内容信息。生成处理内容信息。
在步骤#500的“处理对象小包数据识别信息小包标识符PIDd及传输流标识符TSIDd生成”子程序中,Td控制器TDC根据在步骤#400中决定的处理内容信息,生成表示应处理的小包数据P的处理对象小包数据识别信息小包标识符PIDd及表示应处理的小包数据P分别属于的传输流TSε的对象传输流识别信息TSIDd,输出给小包选择器400。
在步骤#600的“传输流TS1~TSε的小包数据P存储”子程序中,依次输入至多格式传输流解码器TD的ε个传输流TS1~TSε所包含的小包数据P1~Pε开始向数据缓冲装置DBA进行缓冲。另外,小包数据Pi以小包数据P/n单位(n为自然数)存储在数据缓冲装置DBA的一次缓冲器单元Bc_I的各单元中。关于本步骤中的处理,将在随后参照图8详细叙述。在规定数量的小包数据P结束存储的时刻,开始下一个步骤#700的处理。换句话说,在数据缓冲装置DBA的多个一次缓冲器单元Bc_I内,在小包数据P存储了规定数量的缓冲器单元Bc的各单元的状态下,开始步骤#700的处理。
在步骤#700的“传输流TS1~TSε的处理对象小包数据P选择”子程序中,在依次存入数据缓冲装置DBA的一次缓冲器单元Bc_I的小包数据P中,选择处理对象的小包数据。具体来说,是通过判断存入一个一次缓冲器单元Bc_I的小包数据是否在步骤#400中特定的小包数据P及是否具有在步骤#500中决定的小包标识符PID(处理对象小包数据识别信息PIDd),进行作为处理对象小包数据P的选择。
在步骤#8000的“对传输流TS1~TSε的小包数据P的要求处理执行”子程序中,对在步骤#700中选择的小包数据P,执行在步骤#400中决定内容的用户要求处理。在本实施形态中,在依次存入一次缓冲器单元Bc_I的多个传输流TS1~TSε的小包数据P1~Pε中,仅抽取在步骤#700中选择的特定节目的节目内容小包数据P,所示的例子是抽取选择多个TS多个节目小包数据串Pemm(Pem1、Pem2)、关于这一情况,将在随后参照图26详细叙述。另外,要求的处理不限于选择抽取构成特定节目的节目内容小包数据Pc,当然也能够用于各种数字处理。
在#900的“传输流TS1~TSε处理后小包数据P存储”子程序中,将步骤#8000中抽取的选择多个节目小包数据串Pemm输出给主存储器控制器700,生成多个节目小包数据串Pmsm。
另外,如上所述,步骤#600主要是利用硬件的被动性处理,步骤#700~#900主要是利用软件主动性处理。因而,步骤#600与步骤#700~#900最好是作为并行处理来构成的。为此,最好在开始步骤#700的对象处理小包数据P选择子程序之前,在步骤#600中,小包数据P仅存入适当数量的一次缓冲器单元Bc_I。关于这一情况,将在随后参照图8进行说明。
但是,在本图中所示的是采用将步骤#600、#700、#8000及#900等作为一连串步骤反复处理的结构。下面简单说明这样的结构的动作。在一开始进行步骤#600的“传输流TS1~TSε的小包数据P存储”子程序时,等待小包数据P存入规定数量的缓冲器单元Bc后,连续执行步骤#700、#8000及#900的处理。然后,在第二次以后的步骤#600中,在小包数据P存入不是规定数量而是一个一次缓冲器单元Bc_I之后,执行步骤#700~#900的处理。
下面参照图9所示的流程图,说明上述步骤#800中利用数据缓冲装置DBA的“对传输流TS1~TSε的小包数据P要求处理执行”的详细情况。另外,在本图中,如有关图7的叙述那样,所示的结构能够适用于将步骤#600与步骤#700~#900作为并行处理的情况,也能够适用于作为连续处理的情况。
首先,在步骤S802中,TD控制器TDC从存储结束缓冲器单元编号存储器290读出写指针WP及读指针RP的各数值。写指针WP是唯一表示写入依次输入进来的第I传输流Tsi的小包数据Pi的一次缓冲器单元Bc_I的参数,读指针RP是表示读出数据的对象即一次缓冲器单元Bc_I的参数。然后,处理进入下一个步骤S804。
在步骤S804中,利用TD控制器TDC,判断在步骤S802中读出的写指针WP与读指针RP的数值是否相同。在相同的情况下为Yes,即判断为在多格式传输流解码器TD中,未存放包括传输流TS1~TSε在内的输入,则处理返回前述的步骤S804。这是为了防止对缓冲器单元中没有以完全的形态存储的小包数据P进行访问。
另外,在步骤S804中,在不相同的情况下为No,即判断为存在应处理的小包单元。这意味着,具有以完全的形态存储了小包数据P的一次缓冲器单元Bc_I。换句话说,这意味着该小包数据P中,相对于用户要求是处理对象候补的小包数据P的至少一个存入小包缓冲器270。然后,处理进入下一个步骤S806。
在步骤S806中,决定为了检验存储的小包数据P(在该时刻是处理对象候补)是否为实际处理对象而访问的一次缓冲器单元Bc_I。具体来说,TD控制器TDC用读指针RP指示的缓冲器单元指定区Rcm读出缓冲器单元编号Nbcn。然后,处理进入下一个步骤S81。
如上所述,通过构成步骤S804及S806,能够适用于将步骤#600与步骤#700~#900作为并行处理的情况,也能够适用于作用连续处理的情况。即,在作为并行处理的情况下,在小包缓冲器270中未存储适当数量的小包数据P(最差的情况下,任何一次缓冲器单元Bc_I都没有完全存储小包数据)时,能够避免想要执行用户所要求的处理的状态。另外,在作为连续处理的情况下,如上所述,对于步骤#600与步骤#700设置了不同的开始时间,保证规定数量的一次缓冲器单元Bc_I的存储结束,但由于传输流TS的传输路径上的理由等,小包数据P的存储会产生异常,在这样的情况下也能够防止因下溢而产生的处理异常。
在步骤S810中,从读指针RP指示的标记存储区Fc读出存储的出错标记值。然后,处理进入下一个步骤S812。
在步骤S812中,根据读出的出错标记值,判断出错标记是否置位。在判断为Yes、即处理对象候补的小包数据P包含错误时,处理就绕过上述的步骤#8000、S818及S820,进入步骤S822,该一次缓冲器单元Bc_I为了今后输入进来的小包数据P进行缓冲而打开。
另外,在步骤S812中,在判断为No、即处理对象候补的小包数据P不包含错误时,处理经过上述的步骤#8000、S818及S820,进入步骤S822。即,执行前述的步骤#400R决定的处理(#8000),将处理完的小包数据P从数据缓冲装置DBA3输出(S820)后,将该缓冲器单元Bc打开(S822)。
在步骤#8000中,对于作为处理对象的每个第I传输流Tsi按照固有的格式构成的小包数Pi,进行用户所希望的处理。然后,处理进入下一个步骤S818。另外,关于本子程序中的处理,将在随后参照图10进行说明。
在步骤S818中,经过上述步骤#8000根据用户的要求进行了适当处理的小包数据P,从三次缓冲器单元Bc_O以每个传送单位TSd读出,经由小包缓冲器控制器260,开始向DMA总线仲裁器210传送。然后,处理进入下一个步骤S820。
在步骤S820中,利用TD控制器TDC,对在步骤S800开始的每个传送单位TSd的位数进行计数,通过这样反复判断向DMA总线仲裁器210的数据传送是否结束。另外,在数据传送结束的时刻,处理进入下一个步骤S822。这样,经过上述步骤S802~S820,对一个小包数据P结束用户的要求处理。然后,处理进入下一个步骤S822。
另外,在上述的步骤S810中,若判断为No、即现在访问中的小包数据P不是根据上述用户的要求处理的对象时,处理就绕过上述的步骤#8000、S818及S820,直接进入步骤S822。然后,仅选择是处理对象的小包数据P,在步骤#8000中,根据用户的要求进行处理,再经过步骤S818及S820,将步骤#8000的处理结果所得到的小包数据P输出给数据缓冲装置DBA的外部。
在步骤S822中,TD控制器TDC将与读指针RP表示的缓冲器单元编号Nbcn相当的一次缓冲器单元Bc_I打开。具体来说,将写入与在上述步骤S806中读出的缓冲器单元编号Nbcn对应的一次缓冲器单元分割信息区Ain的分配识别数据重写为没有分配。然后,处理进入下一个步骤S824。
在步骤S824中,TD控制器TDC使读指针RP表示的标记存储区Fc的出错标记值为低电平,通过这样将出错标记复位。然后,处理返回上述的步骤S802。
如上所述,为了对依次输入的多个传输流TS1~TSε所包含的多个节目进行用户选择的所希望的处理,仅对不同的传输流Ts所包含的所有小包数据P内的对应的小包数据P有选择地进行处理。但是,在不同的传输流TS中,或者小包数据P的输入速率不同,或者存在具有同一小包标识符PID的小包数据P,因而多个小包数据P同时输入。
因此,在本实施形态中,对于输入的多个传输流TS1~TSε的小包数据P的各小包数据,通过附加传输流标识符TSID及时间标志St,这样将每一个小包数据P与小包标识符PID组合,就能够确实进行识别。然后,利用写指针Wp对下述过程进行管理,它将一个个能够识别的多个传输流TS1~TSε小包数据P的各小包数据,按照输入进来的顺序,在规定的时间存入规定的一次缓冲器单元Bc_I。然后,利用读指针RP对下述过程进行管理,它识别存入的小包数据P是否为处理对象,在是处理对象时,进行处理后加以输出。
即,利用二次缓冲器单元Bc_M作为处理作业空间,对存入一次缓冲器单元Bc_I的小包数据P进行处理,在三次缓冲器单元Bc_O内从小包数据P的处理生成物再构成为小包数据,然后将再构成的小包数据输出给小包缓冲器270的外部。关于这些作业,将在随后参照图10~图19进行说明。
另外,在传输流Ts中包含错误时,小包数据P在缓冲后的处理将产生漏洞,或者导致整个多格式传输流解码器TD的动作效率下降。因此,在本实施形态中,将存放包含数据错误的小包数据P的一次缓冲器单元Bc_I利用软件进行管理及打开,通过这样来防止上述的问题。正是通过硬件和软件的混合结构来控制并保证该一连串的动作。
另外,如上所述,输入的多个传输流TS1~TSε是由分别附加固有的小包标识符PID的小包数据P而构成的。如上所述,对于这样的传输流TS,利用本发明的多格式传输流解码器TD,能够对构成传输流TS的全部小包数据P分别进行不同的处理。
但是,输入的多个传输流TS1~TSε,如同参照图40说明的以ITU-T建议H.220.0为代表的传输流TS那样,也能够适用于对每个小包数据组附加固有的小包标识符PID的情况。对于这样的传输流,用TD控制器TDC生成的处理对象小包数据识别信息小包标识符PIDd及从一次缓冲器单元Bc_I存储的小包数据P读出的抽取缓冲器小包识别信息PIDe都表示小包数据组。但是,在利用上述的小包选择器400判断为匹配时,在属于具有匹配的小包标识符PID的小包数据组的全部小包数据P内,仅对属于同一数据流TS的小包数据P进行同一处理。
如上所述,对于具有图36所示的小包结构的传输流TS,该传输流TS的全部小包数据P具有小包标识符PID,通过指定属于该小包标识符PID的高位适当的位的传输流TS,将每个传输流TS指定的位的小包标识符PID为相同的小包数据P作为一组,对每个组进行固有的处理,这本质上与此是相同的。
下面参照图10,说明上述#8000的多格式小包数据处理子程序的详细情况。在本子程序中,首先执行步骤#8200的“小包缓冲器存储确认”子程序。
在步骤#8200中,在小包数据Pi在从流输入器以小包为单位的小包数据存入小包数据单元结束之前,处于等待状态。若存储结束,则从存储的缓冲器单元Bc读出头部的管理字节。然后,进入下一个步骤#8300的“格式分析”子程序。
在步骤#8300中,判断在步骤#8200中抽取的管理字节内的格式标识符(FID)。若该格式存在,则进入该格式的处理。这里,设格式3为该格式。然后,处理进入下一个步骤#8400的“小包数据滤波控制”子程序。
在步骤#8400中,根据上述的步骤#8200及#8300的处理结果,选择是取得还是抛弃存储的小包数据(滤波)。从该小包缓冲器单元中存储的小包数据抽取小包标识符PID。再抽取管理字节中的传输流标识符TSID。在小包选择器400中设定该传输流标识符TSID及小包标识符PID,起动小包选择器400的小包数据滤波器。
另外,将该传输流标识符TSID语小包标识符PID合在一起作为小包选择的比较模式,这是由于在从多传输流的其它流输入器的输入中,在分配小包标识符用于不同用途时,若仅用小包标识符进行滤波,则有时不要取得的也取得了,因此要与来自流输入器Tr的输入对应进行小包选择。
例如,在北美地面波数字广播(MPEG-TS)中,小包标识符PID=000是PAT(Progrum Association Table,节目关联表)。PAT是具有载明小包标识符的数据的段,而该标识符具有载明接收广播及解码所必需的小包标识符PID的表映射(PMT)。
另外,在北美卫星数字广播(DirecTV)中,小包标识符(SCID)=000是Null小包。Null是为调整广播的位速率而埋入的小包,它不存在信息(在TD中被抛弃的小包)。在美国的商业应用中同时接收地面波数字及卫星数字广播时,用多格式传输流解码器TD在根据传输流标识符TSID-0与北美地面波连接接收、而在根据传输流标识符TSID=1与北美卫星连接接收时,为了取得PAT,若仅用小包标识符=000来进行小包选择,则连不需要的北美卫星的Null小包也取得了。为了避免这种情况,则根据(传输流识别符TSID/PID)=(0/000)的模式来进行小包选择。
为此,控制器PBAC读取小包选择的结果,判断与作为小包选择而设定的模式是否一致。然后,处理进入下一个步骤#8500的“与访问对象小包对应的处理要求表分析”子程序。
在步骤#8500中,取得在步骤#8400中用FMT1的小包选择器400比较并一致的小包,为了进行与处理要求相应的处理,进行前期准备。在用小包选择器400比较并一致的情况下,与设定滤波器模式相对应,读出TD控制器TDC设定的处理要求表Pdt。该处理要求表Pdt是对每个设定滤波器模式设定的。用控制器PBAC读出一致的设定模式用的处理要求表Pdt。这以后的处理就根据该取出的处理要求表Pdt的各参数值来进行。然后,处理进入下一个步骤#8600的“解扰控制”子程序。
在步骤#8600中,控制器PBAC抽取表示小包数据的加扰信息的数据即TSC(Transport Scramble Controller[载明规格名],传输加扰控制器),分析用#500_FMT读出的处理要求表Pdt的参数,判断是否进行解扰处理。在对小包数据加扰(用TS(判断)而且设定用处理要求表Pdt进行解扰(参数4及参数7的某一项为“进行”)的情况下,用解扰器1100起动解扰处理。在其它的情况下,不起动解扰控制器,处理进入下一个步骤#8700的“小包数据模式选择控制”子程序。
在步骤#8700中,控制进行小包数据模式选择的段数据选择器1200。段数据选择器1200比较控制器PBAC传送的小包数据是否与TD控制器TDC设定的设定模式一致(滤波),进行处理以仅取得与该设定模式一致的数据。控制器PBAC读出来自段数据器1200的滤波结果,根据结果,分析一致的数据的大小,保持该数据大小的取得数据信息,进入接下来为了输出给主存储器900的主存储器控制。另外,还可以对用段数据选择器1200取得的结果,仅在控制器PBAC追加附加数据。在这种情况下,对段数据选择器1200取得的数据大小加上控制器PBAC附加的附加俗话剧大小进行保持。然后,处理进入下一个步骤#8800的“主存储器控制”子程序。
在步骤#8800中,为了输出给最终的主存储器900,进行主存储器控制器700的控制。如前所述,在#8700的“小包数据模式选择控制(Q“业务信息选择控制”?)”子程序之前的处理中,生成最终输出给主存储器900的数据。同时,控制器PBAC在该时刻之前,对输出给主存储器900的数据大小及存放数据的小包缓冲器的地址进行管理。另外,控制器PBAC将处理要求表Pdt的主存储器输出信息(参数5)中具有的输出信道通知主存储器控制器700,将这些输出数据传送给主存储器控制器700。主存储器700在根据该信息指定的输出信道,将输出数据存入主存储器900。然后,处理进入下一个步骤#8900“流输出控制”子程序。
在步骤#8900中,从多格式传输流解码器TD通过与主存储器900不同的路径进行小包数据的输出控制。即,在本发明有关的多格式传输流解码器TD中,能够进行多传输流及格式处理,同时也能够输出多传输流。流输出器1300在步骤#8800中,被设置作为与存入主存储器900的同时从别的路径输出小包数据用的输出装置。
在这里,控制该流输出器1300,与主存储器输出的同时,从别的路径进行流输出的控制,控制器PBAC根据处理要求表Pdt的流输出信息(参数6),判断是否进行流输出。
在流输出信息为有效、进行流输出时,将流输出的小包数据传送给流输出器1300。传送给流输出器1300的数据还包含具有时间信息的管理字节进行传送。
流输出器1300接受来自控制器PBAC的小包数据,首先设置管理字节的时间信息(ATS)。同时设置TD控制器TDC设定的流输出延迟值,在现在的时间(定时器值)到达ATS+流输出延迟值的时刻,将小包数据输出给外部路径。这时,管理字节仅用作判断基准,仅输出实小包数据。
控制器PBAC对于用流输出器1300的流输出的结束情况进行管理,若判断为已经结束,则打开分配的小包缓冲器单元,对接下来的输入小包数据处于能够再分配的状态。
如上所述,是一个小包数据从分配一个小包缓冲器单元起的一连串的流程,若该一连串的处理结束,则再次从步骤#8300起,对接下来的小包缓冲器单元进行处理。
这里说明的是从步骤#8300至#8900的流程,但即使在进行从步骤#8300至#8900的处理的时间内接收输入流,也在该瞬间按照依次到达的顺序存入小包缓冲器单元。
下面参照图11,说明上述步骤#8200的“小包缓冲器确认”子程序的详细情况。
若本子程序开始运行,则首先在步骤S8202中,将控制单元本身具有的控制器PBAC用控制表Clt、作为控制用而使用的状态信号初始化,将前面的小包使用过的信息暂时复位。然后,处理进入下一个步骤S8204。
在步骤S8204中,从写入对象缓冲器单元指定器250读出写指针WP及读指针RP。然后,判断读出的写指针WP与读指针RP是否相同。在判断为相同时,处理进入步骤S9206。另外,在WP与RP不相同时,处理进入步骤S8208。
在步骤S8206中,在第I流输入器TSRi输入的小包数据I向缓冲器270的传送结束之前,处于等待状态。这是由于写指针WP若小包存入小包缓冲器,则利用硬件加1,因此在写指针WP与读指针RP相同时,用控制器PBAC处理的对象小包不存在。因此,等待小包数据存入小包缓冲器。然后,处理进行下一个步骤S8208。
在步骤S8208中,已经经过上述步骤S8204或S8206,确定已经确认存入处理对象候补的小包数据的缓冲器单元Bc。即,从缓冲器单元分配信息存储器240读出一次缓冲器单元分配信息Iba。一次缓冲器单元分配信息Iba是现在的RP表示的缓冲器单元编号Nbc。通过该处理,知道控制器PBAC处理的缓冲器单元Bc。然后,处理进入下一个步骤S8210。
在步骤S8210中,将读指针RP加1。读指针RP用软件控制。即,由于在步骤S8208中,检测到取定的处理对象小包缓冲器单元,因此处于能够存放下一个小包输入结束时刻的缓冲器单元编号Nbc的状态。然后,处理进入下一个步骤S8212。
在步骤S8212中,从存储结束缓冲器单元编号存储器290读出分配的缓冲器单元编号Nbc。通过这样,知道存储结束缓冲器单元编号存储器290中保持的、对在步骤S8210中分配的缓冲器单元Bc存储结束的小包数据存储结果。然后,处理进入下一个步骤S8214。
在步骤S8214中,将在步骤S8212中读出的缓冲器单元编号Nbc保存在小包处理所需要的控制表Clt中。图28所示为控制表Clt的参数。缓冲器单元编号Nbc保存在控制表Clt的参数PMc6中(输入TSP用缓冲器单元)。然后,处理进入下一个步骤S8216。
在步骤S8216中,抽取步骤S8212读出的、已存储的小包缓冲器单元中的管理字节。然后,处理进入下一个步骤S8218。
在步骤S8218中,在步骤S8216中读出的管理字节的信息内,将FID值保存在控制表Clt的参数PMc9中(格式标识符)。然后,结束本“小包缓冲器存放确认”子程序的处理。
流输入器TSR在利用TD控制器TDC指定输入流TS的格式及第一~第ε流输入器TSR1~TSRε的连接之后,开始供给传输流。这时,利用TD控制器TDC,在多格式传输流解码器TD开始动作的时刻起,利用定时器600计时。传输流的供给开始,利用图1的缓冲器单元分配器230分配缓冲器单元Bc,对管理字节BM的小包到达时间信息ATS附加小包输入开始时刻的定时器600的值(时间信息)。
同样,对格式标识符FID附加TD控制器TDC设定的格式值,对多流标识符传输流标识符TSID附加对于第一~第ε流输入器TSR1~TSRε的连接是通过指定而连接的第I流输入器TSRi的编号(I),从而构成属性管理字节BMh。
流输出设定信息HSOUT在小包数据输入时刻不存储信息。将实数据PD依次存入盖管理字节之后实数据PD指定的小包缓冲器单元。
另外,上述情况是在实数据Pd之前附加管理字节,但也可以考虑在图23及图24所示的实数据Pd之后附加管理字节的情况。在这种情况下,附加格式标识符FID及传输流标识符TSID的装置与上述情况相同。小包到达时间信息ATS是附加利用图1的缓冲器单元分配器230决定缓冲器单元Bc的分配并对指定缓冲器单元Bc存储指定大小的小包数据结束时刻的定时器600的值(时间信息)而生成的。以后的处理则利用该附加的管理字节信息进行。
利用在上述步骤#8200“小包缓冲器确认”子程序中得到的格式标识符FID,执行下一个步骤#8300的“格式分析”子程序,识别与输入的传输流TS的各自固有的格式相对应的格式处理。
下面参照图12,说明步骤#8400的“小包数据滤波”子程序的详细情况。根据上述步骤#8300的“格式分析”所得到的格式标识符FID,决定格式处理。这里虽说明关于其中一个格式的处理,但当然根据每个传输流TS预先规定的格式,将进行同样的处理。
首先,在步骤S8402中,抽取小包数据内的出错信息。例如在MPEG的情况下,TEI(Transport Error Indicator,传输错误指示器)相当于出错信息。然后,处理进入下一个步骤S8404。
在步骤S8404中,将前述步骤S8216中抽取的管理字节BM的传输流标识符TSID保存在控制表Clt的参数PMc8中。然后,处理进入下一个步骤S8406。
在S8406中,根据在步骤S8402抽取的出错信息,判断处理中的小包数据是否出错。在传输流是正常传输流的情况下,处理进入下一个步骤S8408。另外,在处理中的小包数据是出错小包的情况下,处理进入步骤S8418。
在步骤S8408中,抽取小包数据内的小包标识符PID。在小包选择器400中设定该小包标识符PID及前述的步骤S8404中保存的传输流标识符TSID,并起动小包选择处理。然后,处理进入下一个步骤S8410。
在步骤S8410中,小包选择器400与步骤S8408的小包选择处理起动相应开始小包选择处理。小包选择器400将TD控制器TDC设定并取得的小包信息与处理中的小包的传输流标识符TSID/小包标识符PID进行比较(滤波)。即,比较处理对象传输流标识符TSIDd与抽取的船速滑溜标识符TSIDe,比较处理对象小包数据识别信息PIDd与抽取缓冲器小包识别信息PIDe。控制器PBAC在小包选择器400的小包选择(滤波)处理结束之前处于等待状态。小包选择器400若小包选择处理结束,则将小包选择处理已结束的情况通过控制单元。然后,处理进行下一个步骤S8412。
在步骤S8412中,在知道上述步骤S8410的小包选择结束后,从小包选择器400读出小包选择的结果。然后,判断步骤S8410的比较结果是否一致。在比较结果是一致时,处理进入下一个步骤S8414。另外,在比较结果是不一致时,处理进入后述的步骤S8416。
在步骤S8414中,将根据步骤S8412的小包选择结果判断进行比较是一致的设定模式信息(下面称为入口)保存在控制表Clt的参数PMc4中。然后,结束本子程序的处理。
另外,在步骤S8416中,根据上述的S8414中的比较判断为不一致,将控制表Clt的参数PMc1(小包信息)更新为1(小包选择不一致)。在到达该例程时,表示处理小包是不要的小包,在以后的小包处理中不用。这样,结束本子程序,处理则跳过前述的步骤#8500、#8600及#8800的子程序,进入步骤#8900的“流输出控制”子程序中的后述的“小包单元打开”。
另外,在步骤S8418中,根据判断为是上述步骤S8406中的出错小包,将控制表Clt的参数PMc(小包信息)更新为2(输入流出错)。与前述步骤S8416中的小包选择结果不一致的情况相同,在到达该例程时,表示处理小包是不要的小包,在以后的小包处理中不用。因此,结束本子程序,处理进入#900的“小包单元打开”。
下面参照图13,说明#8500的“与访问对象小包数据对应的处理要求表取得”子程序的详细情况。与前述的步骤#8400的“小包数据滤波控制”子程序相同,在本子程序中,根据步骤S8300的“格式分析”子程序所得到的格式标识符FID,对每个传输流TS的格式设定处理要求表。另外,下面虽然是以一个格式为例进行说明,但当然以下所述的处理也能够适合各每一个格式。另外,如前面已经说明的那样,本子程序处理仅在前述步骤#8400的“小包数据滤波控制”子程序的小包选择处理中判断为是要取得的小包数据的情况下进行。
在具体叙述本子程序的处理之前,首先参照图28(控制表结构)及图31(处理要求表),说明控制表Clt及处理要求表Pdt。步骤#8400中的小包取得是通过比较TD控制器TDC设定的小包识别符PIDd与输入小包数据的小包标识符PIDe(滤波)来进行判断的,这在前面已经说明。在图1的多格式传输流解码器TD中,同样根据TD控制器TDC设定的处理要求表Pdt,决定取得的小包的处理。即,TD控制器TDC将取得小包的小包标识符PIDe与对取得小包的处理要求表Ptd组合起来进行设定。
图31所示为处理要求表Pdt的一个例子。另外,处理要求表Pdt是包含在控制信号ScW中、供给小包缓冲仲裁器PBAc的信息。处理要求表Pdt中主要记有是否进行解扰、主存储器输出、流输出的指定及各处理所需要的信息。
处理要求表Pdt包含7个参数,即PMp1、PMp2、PMp3、PMp4、PMp5、PMp6及PMp7。参数PMp1用0或1的数值表示,与处理要求表Pdt的使用信息相对应。即,参数PMp1为0,表示处理要求表Pdt是无效的,参数PMp1为1,表示处理要求表Pdt是有效的。
参数PMp2与指定输出给主存储器900的选择多个TS多个节目小包数据串Pemm的形式的输出形式信息相对应。
参数PMp3与例如用0~P表示存储解扰密钥的编号的解扰信息。
参数PMp4用0或1的数值表示,与解扰允许信息相对应。参数PMp4为0,表示解扰来进行,参数PMp4为1,表示解扰已进行。
参数PMp5与用0~CHN(CHN为任意自然数)表示的主存储器输出信息相对应。0~CHN表示输出给主存储器90时的信道编号。
参数PMp6用0或1的数值表示,与流输出信息相对应。参数PMp6为0,表示处理要求Pdt对流输出是无效的。参数PMp6为1,表示处理要求表Pdt对流输出是有效的。
参数PMp7用0或1的数值表示,与流输出解扰允许信息相对应。参数PMp7为0,表示流输出时不进行解扰。参数PMp7为1,表示流输出时进行解扰。这样,在处理要求表Pdt中,对每个传输流TS记有根据用户的要求应该进行处理的信息。
下面,图28所示为控制表Clt的一个例子。另外,控制表Clt是根据多个信号利用控制器PBAC生成的信息。控制表Clt包含10个参数,即PMc1、PMc2、PMc3、PMc4、PMc5、PMc6、PMc7、PMc8、PMc9及PMc10。
参数PMd1用0、1或2的数值表示,与小包数据信息相对应。即,参数PMc1为0,表示小包数据是正常的。参数PMc1为1,表示小包数据选择不一致,即缓冲器单元Bc中存储的小包数据不是处理对象。参数PMc1为2,表示输入流出错。
参数PMc2用0或1表示,与加扰信息相对应。参数PMc2为0,表示小包数据未加扰。参数PMc2为1,表示小包数据已加扰。
参数PMc3用0或1表示,与解扰信息相对应。参数PMc3为0,表示未进行解扰。参数PMc3为1,表示进行了解扰(?)。
参数PMc4用0或1表示,与流输出解扰信息相对应。参数PMc4为0,表示未进行解扰。参数PMc4为1,表示进行了解扰。
参数PMc5与用0~N-1(N为任意自然数)的数值表示的小包比较结果(入口)信息相对应。0~N-1的各数值是表示比较结果的入口编号。
参数PMc6用0~M(M为任意自然数)的数值表示,与输入TSP用缓冲器单元信息相对应。0~M的各数值表示存储输入小包数据的缓冲器单元Bc的缓冲器单元编号Nbc。
参数PMc7用0~M(M为任意自然数)的数值表示,与解扰TSP用缓冲器单元信息相对应。0~M的各数值表示存储解扰小包数据的缓冲器单元Bc的缓冲器单元编号Nbc。
参数PMc8用1~ε的数值表示,与表示各个流输入器TSR1~ε的流标识符TSID相对应。
参数PMc9用1~L(L为任意自然数)的数值表示,与表示每个传输流TS所规定的规定格式的格式标识符FID相对应。
参数PMc10表示记有对该小包数据的处理要求一览表的处理要求表Pdt。这样,在控制表Clt中记有对处理对象即小包数据的控制信息。
如图13所示,若开始执行步骤#8500,则首先在步骤S8502中,从控制信号ScW读出与所述小包选择处理所取得的小包数据一致的入口所对应的处理要求表Pdt。即,读出控制表Clt的参数PMc10所记载的处理要求表Pdt。然后,处理进入下一个步骤S8504。
在步骤S8504中,对控制表Clt的参数PMc1~PMc10的对应部分附加读出的处理要求表Pdt中的参数PMc1~PMc7的值,生成控制表Clt。这即使仅读出Td控制器TDC设定的处理要求表Pdt也能够解决。但是,由于TD控制器TDC有可能动态更新该处理要求Pdt,再有多格式传输流解码器TD必须用小包取得设定时的表的信息进行处理,因此用控制表Clt进行管理。然后,处理进入下一个步骤S8506。
在步骤S8506中,在处理管理字节BMp的流输出要求信息HSOUT中设置步骤S8502中取得的处理要求表Pdt的参数PMp6(流输出信息)的值。这是因为,在后面的流输出处理(#8900)中,流输出器1300根据该处理管理字节BMp来判断流输出。然后,处理进入下一个步骤S8510。
在步骤S8510中,根据步骤S8502中取得的处理要求表Pdt的表使用信息(PMp1),判断取得的处理要求表Pdt的信息是否有效。在处理要求表Pdt是有效时,处理要求Pdt的取得结束,结束本子程序。另外,在处理要求表Pdt是无效时,处理进入步骤S8512。
在步骤S8512中,将控制表Clt的小包信息(PMc1)的值更新为2(小包选择不一致)。即,在处理要求表Pdt是无效时,将输入的小包数据作为出错进行管理。
以上是步骤#8500的“与访问对象小包数据对应的处理要求表取得”子程序的详细情况。另外,如图2所示,说明的是管理字节BM附加在实数据PD的头部时的处理,但即使在如图23及图24所示的管理字节BM附加在实数据PD的后面的情况下,也能够采用同样的多格式传输流解码器TD,这种情况下面参照图14所示的流程进行说明。
在管理字节BM附加在实数据PD的后面的情况下,如图14所示,要在附加在小包数据的实数据PD的头部情况(图13)的流程图中,在步骤S8506与S8510之间重新设置步骤S8508的处理。即,在前述的步骤S8508中,更新处理管理字节BMp中的流输出要求信息HSOUT。但是,在管理字节BM附加在实数据PD的后面的情况下,如图23及图24所示,将设定流输出要求信息HSOUT的属性管理字节BMh写入缓冲器单元Bc的头部作为处理管理字节BMp。通过这样,以后的处理能够同样进行处理。
下面参照图15、图28、图31、图32及图33,说明上述步骤#8600的“解扰控制”子程序的详细情况。若在上述的步骤#8400及#8500中,选择访问对象小包数据,取得记有对处理小包数据的处理内容的处理要求表Pdt,则开始本子程序。
首先,在步骤S9602中,抽取处理对象的小包数据的加扰判断字段。在传输流TS是基于MPEG的情况下,TSC(Transport Scramble Control,传输加扰控制)充当加扰判断字节。利用该加扰判断字段,能够直到对访问对象小包数据有无加扰。然后,处理进入下一个步骤S8604。
在步骤S8604中,读出前述步骤#8500中取得的处理要求表Pdt的解扰允许(参数PMp4)及流输出解扰允许(参数PMp7)。然后,处理进入下一个步骤S8606。
在步骤S8606中,根据步骤S8602中读出的加扰判断字段、步骤S8604中读出的解扰允许(PMp4)及流输出解扰允许(PMp7),判断是否进行加扰处理。首先,在用加扰判断字段能够判断对小包数据未进行加扰时,处理进入S8610C。在用加扰判断字段能够判断对小包数据进行了加扰时,处理进入步骤S8608。
在步骤S8608中,用步骤S8604中读取的解扰允许(参数4)及流输出解扰允许(参数7)判断是否进行解扰处理。即,若参数PMp4及参数PMp7的至少某一个值为1,则判断为进行解扰。然后,处理进入步骤S8610B。另外,若参数PMp4及参数PMp7的值都不是1,则判断为不进行解扰。然后,处理进入步骤S8610A。
在步骤S8610A中,根据上述步骤S8608中不进行解扰的判断,设定控制表Clt的加扰信息(PMc2)、解扰信息(PMc3)及流输出解扰信息(PMc4)的值。然后,结束本子程序的处理。
在步骤S8610C中,根据上述步骤S8606在小包数据未进行加扰的判断,设定控制表Clt的加扰信息(PMc2)、解扰信息(PMc3)及流输出解扰信息(PMc4)的值。然后,结束本子程序的处理。
在步骤S8610B中,根据上述步骤S8608中进行解扰的判断,设定控制表Clt的加扰信息(PMc2)、解扰信息(PMc3)及流输出解扰信息(PMc4)的值。然后,处理进入下一个步骤S8612。
下面参照图32,说明判断可否进行解扰。在该图中,从左面起设置加扰判断字段栏、参数PMp4栏、参数PMp7栏、解扰进行栏、参数PMc2栏、参数PMc3栏、参数PMc4栏及重写加扰判断字段栏。另外,如上所述,参数PMp4及PMp7是构成处理要求表Pdt的参数,参数PMc2、PMc3及PMc4是构成控制表Clt的参数。
加扰判断字段栏的值从被加扰数据Dsdi抽取。参数PMp4及参数PMp7从控制信号ScW所包含的处理要求表Pdt抽取。解扰进行栏根据加扰判断字段栏、参数PMp4及参数PMp7栏的值,存储未进行或进行的某一项。
参数PMc2根据加扰判断字段及参数PMp4的值,设置0(未加扰)或1(加扰)的某一个值。
参数PMc3根据参数PMp4及解扰进行的值,设置0(解扰未进行)或1(解扰进行)的某一个值。
参数PMc4根据参数PMp7及解扰进行的值,设置0(解扰未进行)或1(解扰进行)的某一个值。
重写加扰判断字段根据加扰判断字段及参数PMp4的值,设置0(重写)或1(不重写)的某一个值。
根据前述的步骤S8606及S8608中设定的信息,按照图32所示的关系,设置控制表Clt的加扰信息(PMc2)、解扰信息(PMc3)及流输出解扰信息(PMc4)。
在步骤S8612中,重写小包数据内的加扰判断字段的值。这里进行重写,使得将加扰有变为加扰无。然后,处理进入下一个步骤S8614。
在步骤S8614中,读出小包缓冲器的中间处理用缓冲器单元允许信息。该中间处理用缓冲器单元允许信息表示在中间处理用缓冲器单元允许信息为允许的情况下,相当于允许的小包缓冲器单元是正在使用中。然后,处理进入下一个步骤S8616。
在步骤S8616中,根据步骤S8614中读出的中间处理用缓冲器单元允许信息,判断是否有未使用缓冲器单元Bc。在没有未使用缓冲器单元Bc时,在该部分成为能够使用的缓冲器单元之前,处于等待状态。然后,处理进入下一个步骤S8618。
在步骤S8618中,从步骤S8616中判断为未使用的缓冲器单元Bc中,决定存储解扰处理的输出数据的中间处理用缓冲器单元Bc_M。使与该中间处理用缓冲器单元Bc_M对应的中间处理用缓冲器单元允许信息为允许。通过这样,表示中间处理用缓冲器单元Bc_M是正在使用中,防止因禁止以外的处理使用该中间处理用缓冲器单元Bc_M。然后,处理进入下一个步骤S8620。
在步骤S8620中,在控制表Clt的解扰小包数据用缓冲器单元信息(PMc7)中设置上述步骤S8618中分配的中间处理用缓冲器单元Bc_M的缓冲器单元编号Nbc。然后,处理进入下一个步骤S8622。
在步骤S8622中,从存储该小包数据P的缓冲器单元Bc,向步骤S8618中分配的中间处理用缓冲器单元Bc_M传送解扰传送后的数据。实际上,在有加扰的小包数据P中,存在未进行加扰的部分(主要是头部部分)及进行加扰的部分(主要是称为净负荷的实数据PD的部分)。这里,将不进行加扰的头部部分从小包缓冲器Bc向中间处理用缓冲器单元Bc_M传送数据(复制)。为此,在设定传送源地址、传送对象地址及传送字节数之后,开始传送。然后,处理进入下一个步骤S8624。(在前后预先进行缓冲器单元RC_I、Bc_M及Bc_O的定义,参照图2)在步骤S8624中,等待步骤S8622中开始传送的未加扰部分的传送结束。然后,处理进入下一个步骤S8626。
在步骤S8626中,将进行了加扰的对象数据部分进行解扰处理。解扰处理是用图1的解扰器1100进行。下面参照图33,说明利用解扰器1100进行解扰处理所需要的设定。
如图10所示,首先读出处理小包的处理要求表Pdt的解扰信息(PMp3)。解扰信息中表示用TD控制器TDC设定的解扰用密钥存储的地点。然后,处理进入下一个步骤S8628。
在步骤S8628中,将与上述步骤S8626中读出的解扰信息相应的密钥数据置入解扰器1100的解扰密钥。然后,处理进行下一个步骤S8630。
在步骤S8630中,设定该小包数据P的解扰器1100的小包缓冲器读出地址、小包缓冲器读出传送大小、小包缓冲器写入开始地址及小包缓冲器写入传送大小。另外,如图33所示的例子那样,解扰密钥、小包缓冲器读出地址、小包缓冲器读出传送大小、小包缓冲器写入开始地址及小包缓冲器写入传送大小作为解扰指示控制数据Dcrl,从控制器PBAC供给小包分析器1000的解扰器1100。然后,解扰对象数据开始向解扰器1100传送。处理进入下一个步骤S8632。
在步骤S8632中,传送至解扰器1100的加扰数据开始解扰。然后,处理进入下一个步骤S8634。
在步骤S8632中,等待利用解扰器1100对加扰数据进行解扰除了结束。若解扰处理结束,解扰器1100作为解扰结束通知数据Dcrlo发出传送结束通知。通过这样,控制器PBAC能够判断解扰除了已经结束。在解扰处理结束时刻,步骤#8600中的全部处理将结束。另外,在解扰结束的时刻,如图2所示,在传送源附加的管理字节BM及解扰的小包数据1’存入中间处理用小包缓冲器单元_M1。
下面参照图16及图33的[段选择器的输入信息及数粗豪信息]、图28的[控制表结构]及图31的[处理要求表结构],说明步骤#8700“小包模式选择处理的详细情况。在步骤#8600的“解扰控制”子程序的处理后,对解扰处理的小包数据,利用段数据选择器1200进行小包模式选择处理。在该段数据选择器1200中,摘要是比较设定的模式与小包数据,对小包进行取捨(进行滤波)。在段数据选择器1200中,除了标准的段数据以外,当然也能够适合传输流小包数据、PES小包、基本码流等标准。这里作为一个例子,说明对段数据利用段数据选择器1200进行小包模式选择的方法。
首先,在步骤S8702中,读出控制表Clt。然后,处理进入下一个步骤S8704。
然后,根据步骤#8400的“小包数据滤波”子程序中取得的小包标识符PID,抽取进行滤波的入口。即,读出步骤#8400中保存在控制表Clt中的入口。然后,读出与入口对应的入口表TE。
另外,图6所示为入口表TE的结构。入口表TE是根据解扰结束通知数据Dcrlo用控制器PBAC生成的信息。在入口表TE中记有对一个小包及一个小包以上连续的数据进行滤波时表示以小包为单位的结束/继续状态的状态信息、以及在超过小包继续时剩下的继续字节数的信息。
入口表TE包含二个参数,即PMe1即PMe2。参数PMe1用0或1的数据表示,与状态信息相对应。即,状态信息PMe1为0,表示该数据以一个小包结束,在该小包数据后还没有数据。
参数PMe2表示在参数PMe1为1(有后续)时剩下的长度。如图07所示,控制器PBAC对规定数M的入口表TE进行管理。
在步骤S8704中,控制器PBAC读出该入口的入口表TE内的状态值。然后,处理进入下一个步骤S8706。
在步骤S8706中,根据步骤S8702中读出的控制表Clt的小包信息(参数PMc1),判断小包数据的状态。在参数PMc不是0、即缓冲器单元Bc中存储的小包数据不是处理对象(参数PMc1=1,小包选择不一致)时,或存储的小包数据中有错误(参数PMc1=2,输入流出错)时,不进行选择。在这种情况下,处理进入步骤#8900的“流输出控制”子程序,不进行任何处理,将该缓冲器单元Bc打开。通过该处理,小包被抛弃,什么也没有输出。另外,在小包是正常(参数PMc=0)时,处理进入下一个步骤S8708。
在步骤S8708中,计算出传送至段滤波器选择器1200的数据的头部地址。然后,处理进入下一个步骤S8710。
在步骤S8710中,读出处理要求表Pdt,抽取输出形式信息(参数PMp2)。通过这样,确定对象小包数据规定的固有小包格式。在本说明书中,以段输出指定的为例,说明以后的处理。然后,处理进入下一个步骤SS8712。
在步骤S8712中,根据步骤S8702中读出的控制表Clt的加扰信息(参数PMc2),判断处理对象候补的小包数据是否为加扰状态。在判断为是加扰状态(PMc2=1有加扰)时,处理进入步骤#8900的“流输出控制”子程序,对处理对象候补的小包数据不进行任何处理,将该缓冲器单元Bc打开。通过该处理,缓冲器单元Bc中存储的对象候补的小包数据P被抛弃,不输出加扰数据。
另外,在步骤S8712中,在判断为处理对象候补的小包数据是未进行加扰的状态(PMc2=0无加扰)时,处理进入步骤S8714。另外,这里所示的是不输出加扰数据的例子,但在也想输出加扰数据时,通过采用跳过该步骤S8712后进入步骤S8714的结构,就能够在不改变图1所示的多格式传输流解码器TD的结构的情况下很容易实现。
在步骤S8714中,根据入口表TE的参数PMe1,能够判断处理对象小包数据的状态,即是否有后续。在判断为有后续(PMe1=1)时,必须在读出处理对象候补小包数据的信息之后,对后续的小包数据进行滤波器处理。为此,处理进入步骤S8740。
另外,在步骤8714中,在判断为该小包数据是段模式的开始(PMe1=0)时,根据该处理对象小包数据进行段滤波器模式选择。为此,处理进入下一个步骤S8716。
在步骤S8716中,进行处理对象候补的小包数据是段段模式的开始时的处理。
首先,抽取表示小包数据的段数据长度的段长度字段(MPEG情况下为步骤Section-length)。然后,处理进入下一个步骤S8718。
在步骤S8718中,在输入至段数据选择器1200的段数据长度信息中设定步骤S8716中抽取的段数据长度。然后,处理进入下一个步骤S8720。
图33所示的段数据选择器1200的输入信息及输出信息。控制器PBAC在步骤S8718中设定步骤S8704中读出的状态(PMe1)、步骤S8708中计算的传送数据的传送地址、传送大小及传送对象地址,作为段选择指示控制数据Scrl。传送对象地址是设定图2所示的输出用区域即三次缓冲器单元Bc-O的头部地址。若设定结束,则再将传送起动命令包含段选择指示控制数据Scrl,输出给的选择器1200。
在步骤S8720中,根据步骤S8718中输出的段选择指示控制数据Scrl,起动段数据选择器1200。然后,处理进入下一个步骤S8722。
在步骤S8722中,在段数据选择器1200的选择处理结束之前,处于等待状态。如图33所示,段数据选择器1200生成由滤波结果(Mpe1)、滤波通过数据大小、剩余长度值及传送结束通知构成的输出段选择指示控制数据Scrlo,输出给控制器PBAC。根据该传送结束通知,检测段数据选择器1200已经选择处理结束。然后,处理进入下一个步骤S8724。
在步骤8724中,读出用段数据选择器1200选择的选择结果。从段数据选择器1200输出的输出段选择结束信号Scrlo,读出段选择结果即滤波后的状态、滤波通过数据大小及剩余长度的信息。然后,处理进入下一个步骤S8726。
在步骤S8726中,根据步骤S8724中读出的滤波后的状态(段选择结束信号Scrlo),判断该处理对象候补小包数据即段数据的结束/继续状态。在判断为正在继续(状态=1)时,处理进入S8750。另外,在判断为数据结束(状态=0)时,处理进入步骤S8728。
在步骤S8728中,根据步骤S8726中的判断为段数据选择后小包数据已经结束,将入口表TE的状态更新为无后续(PMe1=0)。另外,将剩余长度值更新为0(PMe2=0)。然后,在段数据选择后的小包数据结束时,结束本子程序的处理。
在步骤S8740中,进行步骤S8714中判断为正在继续的段数据的处理。即,入口表TE的状态表示有后续(PMe1=1)时,读出入口表TE的剩余长度值(PMe2)。然后,处理进入步骤S8742。
在步骤S8742中,在图33所示的输出段选择结束信号Scrlo的状态信息中设定已经读出的状态(PMe1),同样在输出段选择结束信号Scrlo的段数据长字段信息中设定剩余长度值(PMe2),然后输出。然后,处理返回前述的步骤S8720,如已经说明的那样,设定段选择指示控制数据Scrlo信号,起动段数据选择器1200。
另外,在步骤S8750中,进行在步骤S8726中段数据选择后判断为小包数据正在继续时的处理。即,如图33所示,将输出段选择结束信号Scrlo的剩余长度值更新为入口表TE的剩余长度值(PMe2)。然后,处理进入下一个步骤S8752。
在步骤S8752中,将图33所示的输出段选择结束信号Scrlo的滤波后的状态更新为入口表TE的状态。在这种情况下,更新为有后续(PMe1=1)。这样,通过更新表的内容,在接下来处理后续的段数据时,能够判断继续的小包数据。然后,结束本子程序。
如上所述,执行步骤#8700的“段数据模式选择”子程序的结果,是在输出用区域即三次缓冲器单元Bc-O中存储输出的数据。
下面用图2及图17,说明格式3的数据大小大于小包单元的小包数据的处理情况。
在本发明的传输流解码器中,在输入数据的小包数据大于小包单元时,分割为小包单元最大缓冲器容量以下的数据大小,对1个小包存入多个小包单元。
若设格式3的小包数据大小为K,则若K/N为最大小包容量以下,则能够进行处理。另外,N表示分割数。
TD控制器设定这样的K/N的数据大小。这里,具体来说所示的是K=480、最大数据容量=192、N=3时的例子,但即使是该例子以外来分割小包数据,若满足上述限制条件,则同样能够处理。
若TD控制器设定160的数据大小,则流输入器在480个字节内,在输入了160个字节的时刻,附加管理字节,以164个字节为单位,小包缓冲器控制器对小包单元通知存储结束信号。对于接下来的从第161个字节至320个字节的输入及从第321个字节至480个字节的输入也进行同样的处理,存入缓冲器单元。下面用图17,说明这样存储的分割小包数据的处理情况。
在步骤S8750中,将每个上述分割小包数据存入小包单元的成为数据单位的头部数据写入小包缓冲器单元O区域的头部地址。这是对后级的AV数据通知以该160个字节为单位进行数据分割,通过这样同时通知表示AV解码处理的处理开始的信号。若该头部数据的写入结束,则进入步骤S8752。
然后,在步骤S8752中,从存储的小包单元将该分割数据传送至小包缓冲器单元O区域的上述步骤S8750中写入的头部数据的下一个地址。若开始传送,则进入步骤S8754。
在步骤S8754中,等级步骤S8752中传送的分割小包数据的传送结束。若传送结束,则结束该小包的处理。
在该步骤S8754结束的时刻的小包缓冲器单元O区域中,如图2所示,处于存储与头部数据相应的160个字节的分割数据的状态。通过对其按照达到顺序进行处理,就对原来的小包数据插入表示分割界线的头部数据,输出给后级的AV数据。另外,这里所示的是与特定的AV解码器的接口相对应的处理。但在其他的AV解码器那样将输入的数据照原样输出的情况下,当然通过省略步骤S8750的处理,也能够很容易适应将输入数据输出的情况。
下面参照图18,说明步骤#8800的“主存储器控制”子程序的详细情况。另外,本子程序对于图2所具有的全部格式是进行同样的处理。另外,以上的说明由于输入的小包是用管理字节BMh来识别小包分析器270准备的缓冲器中的终端,因此若输入小包小于缓冲器,则与其它大小无关,能够进行处理。
在步骤S8802中,读出控制表Clt的处理要求表Pdt(PMc10)。然后,处理进入下一个步骤S8804。
在步骤S8804中,从步骤S8802中读出的处理要求表Pdt读出主存储器输出信息(PMp5)。在该主存储器输出信息中设定输出给主存储器900的有限输出信道,对各输出信道用起始地址SP及结束地址EP进行划分。另外,各信道具有写指针WPc及读指针RPc。利用TD控制器TDC设定该起始地址SP、结束地址EP、写指针WPc的初始值及读指针RPc的初始值。然后,处理进入下一个步骤S8808。
在步骤S8808中,判断该输出信道可否使用。即,由TD控制器TDC指示该输出信道允许使用。控制器PBAC判断该输出信道是否能够使用(允许传送)。在TD控制器TDC不允许处理要求表Pdt指定的输出信道输出时,控制器PBAC不进行传送。在这种情况下,进#900的流输出控制流程。不进行任何处理,打开相应的小包缓冲器单元,利用该处理,即使如图2所示。在输出用区域(小包单元O)存储了数据,小包也抛弃,不进行任何输出。另外,在允许的情况下,处理进入步骤S8810。
在步骤S8810中,读出对步骤S8804中设定的主存储器输出用心道TD控制器TDC设定的起始地址SP。然后,处理进入下一个步骤S8812。
在步骤S8812中,读出对步骤S8804中设定的主存储器输出用信道TD控制器TDC设定的结束地址EP。然后,处理进入下一个步骤S8814。
在步骤S8814中,在图35所示的选择多TS多节目小包数据串Pemm的存储起始地址(起始地址SP)中设定步骤S8810中读出的SP。然后,处理进入下一个步骤S8816。
在步骤S8816中,在图35所示的选择多TS多节目小包数据串Pemm的存储结束地址(结束地址EP)中设定步骤S8812中读出的EP。然后,处理进入下一个步骤S8818。
在步骤S8818中,读出对步骤S8804的主存储器输出用信道TD控制器TDC设定的写入地址(写指针WPc)。然后,处理进入下一个步骤S8820。
在步骤S8820中,读出对步骤S8804的主存储器输出用信道TD控制器TDC设定的读出地址(读指针RPc)。然后,处理进入下一个步骤S8822。
在步骤S8822中,读出图35所示的选择多TS多节目小包数据串Pemm的剩下的设定。剩下的设定是小包缓冲器传送开始地址及小包传送大小。设定图2所示的输出用区域(小包单元-O)头部地址作为小包缓冲器传送开始地址。小包传送大小是通过前述段数据选择器1200的数据大小。因此,读出图33所示的输出段选择结束信号Scrlo的滤波通过数据大小,设定小包传送大小。在以上的设定之后,发出传送起动命令,主存储器控制器700起动。然后,处理进入下一个步骤S8824。
在步骤S8824中,在步骤8822中起动的主存储器控制器700的处理结束之前,处于等待状态。控制器PBAC根据图35所示的输出信号Pctrlo的传送结束通知,检测主存储器控制器700的处理结束。然后,处理进入下一个步骤S8826。
在步骤S8826中,在利用主存储器控制器700进行传送控制后,根据图35所示的输出信号Pctrlo的溢出信息,判断是否引起溢出。引起溢出的状态是在传送小包数据而写指针WPc前进时超过读指针RPc的情况。在引起溢出时,处理进入步骤S8834。在传送正常结束(溢出信息为无溢出)时,处理进入步骤S8828。
在步骤S8828中,读出图35所示的输出信号Pctrlo的传送后写入地址(写指针WPc)。然后,处理进入下一个步骤S8830。
在步骤S8830中,用步骤S8828中读出的传送后写入地址(写指针WPc)更新该输出信道的写指针WPc。通过这样,写指针WPc前进,能够将主存储器900中存储了数据的情况通知TD控制器TDC。然后,处理进入下一个步骤S8832。
然后,在步骤S8832中,利用状态信号SrW通知主存储器900传送已结束,本子程序的处理结束。
在步骤S8834中,对步骤S8826中的判断为溢出状态进行应答,利用状态信号SrW通知主存储器900已溢出,本子程序的处理结束。
下面参照图1、图19、图35、图28及图31,说明上述步骤#8900的“流输出控制”子程序的详细情况。另外,流输出控制也与主存储器控制处理相同,对于图2所示的全部格式是进行同样的处理。在流输出处理中,如在这之前已说明的处理那样,除了所需要的小包数据在缓冲器单元Bc之间传送处理外,另外从已经存储的缓冲器单元Bc向流输出器1300输出数据。即,向该主存储器900的输出及流输出是通过同时处理来进行的。
本发明的多格式传输流解码器TD是对应于多传输流输入的。同样,关于流输出也能够输出多传输流。这里说明二个传输流TS1及TS2的多传输流输出的方法。
首先,在步骤S8902中,读出控制表Clt。然后,处理进入下一个步骤S8904。
在步骤S8904中,根据步骤S8902中读出的控制表Clt的小包信息(PMc1),判断现在缓冲器单元Bc中存储的小包数据是否为流输出对象。在利用小包标识符PID的小包数据选择是不一致时(小包数据信息=1)或输入流出错时,处理进入步骤S8958,转移至缓冲器单元Bc的打开处理。
另外,在步骤S8904中,在判断为小包数据是正常(小包数据信息=0)时,处理进入步骤#10000的“第一流输出设定”子程序。另外,关于步骤#10000的处理,将在后面参照图20进行叙述,而从步骤#10000的内部,处理产生分支,进行步骤#11000的“第二流输出设定”子程序。然后,在步骤#10000及步骤#11000分别进行之后,处理进入下一个步骤#13000的“流输出控制”子程序,进行流输出。从步骤#11000的内部,处理产生分支,进入前述的步骤S8958,这将在随后参照图21进行详细叙述。
在本例中,所示的是将与输出给主存储器900的小包数据相同的小包数据进行流输出(图1的Pho1及pho2)时的处理。但是,在用接受输出流的电路能够判断小包数据时,也可以考虑将输入流照原样从流输出器1300输出那样的用途。在适应这样的用途时,通过省略该步骤S8904,能够与全部小包数据输出相对应。
下面参照图20,说明步骤#10000的“第一流输出设定”子程序的详细情况。在上述的步骤S8904中,在判断为小包数据是正常时,本子程序开始进行。
首先,在步骤S10006中,读出第一流输出(图1的Pho1)的流输出设定。然后,处理进入下一个步骤S10008。另外,流输出器1300根据TD控制器TDC能够设定的流输出设定进行动作。在流输出设定中有流输出信息及流标识符等二个设定。所谓流输出信息,是流输出处理是否进行流输出的信息。所谓流标识符,是规定将第一~第ε流输入器TSR1~TSRε的哪一个流数据(TSi)输出给流输出器1300的信息,是前述的对象传输流识别信息TSIDd。
在步骤S10008中,取出步骤S10006中读出的流输出信息。然后,处理进入下一个步骤S10010。
在步骤S10010中,判断步骤S10008中取出的用TD控制器TDC设定的流输出信息中,是否设定进行高速输出。在设定高速输出(流输出信息=1)时,处理进入步骤S10012。另外,在没有设定高速输出(流输出信息=0)时,处理进入步骤#11000的“第二流输出设定”子程序。
在步骤S10012中,取出步骤S10006中读出的流标识符TSIDd。然后,处理进入下一个步骤S10014。
在步骤S10014中,读出步骤S10002中读出控制表Clt的抽取传输流标识符TSIDe。然后,处理进入下一个步骤S10016。
在步骤S10016中,判断步骤S10006中取出的对象传输流识别信息TSIDd与步骤S10012中取出的抽取传输流标识符TSIDe是否一致。在判断为一致时,处理进入将传输流输出用的步骤S10018。在判断为不一致时,传输流不输出给流输出器1300,处理进入步骤S10036的“第二流输出设定”子程序。
在步骤S10018中,读出控制表Clt的缓冲器单元编号(PMc6)。在控制器PBAC中,根据加扰信息(PMc2)、流输出解扰信息(PMc4)、输入小包数据用缓冲器单元信息(PMc6)及解扰小包数据用缓冲器单元信息(PMc7),判断缓冲器单元编号。然后,处理进入下一个步骤S10020。
在步骤S10020中,将步骤S10018中决定的缓冲器单元编号写入输出顺序缓冲器单元编号存储器520。然后,处理进入下一个步骤S10022。
在步骤S10022中,将输出顺序缓冲器单元编号存储器控制器510的写指针WPc仅加1。利用该处理,对写指针WPc及读指针RPc进行管理,通过这样能够适当进行流输出。读指针RPc若流输出器1300处于相应的写指针WPc的小包数据的输出结束,则读指针RPc仅加1。这样,第一流输出设定结束。然后,处理进入步骤S10026,开始第二流输出的判断。
下面参照图21,说明步骤#11000的“第二流输出设定”子程序的详细情况。本子程序中的步骤S10026~步骤S10042的处理分别与步骤#10000的“第一流输出设定”子程序中的步骤S10006~S10022相对应。不同之点在于,本步骤作为第二流是与高速输出相对应。因此,在图21中,在步骤S10026~步骤S10042的各步骤中,标明高速输出以代替第二流。所以省略关于各步骤处理的说明。
但是,在步骤S11032及步骤S11036中都判断为No时,处理进入步骤#1100。这样,在“第二流输出设定”子程序之后,通过依次追加设置同样内容的“第I流输出设定”子程序,就能够进行任意数量的流输出。
下面参照图22,说明步骤#12000的“流输出控制”子程序的详细情况。如上所述,若步骤#10000或#11000的处理结束,则本步骤的处理开始。
首先,在步骤S12046中,进行该缓冲器单元Bc的传送设定。图35所示的传送开始地址或传送字节数指定步骤S10014或步骤S11034中判断的缓冲器单元Bc编号的头部地址。存储的小包数据的传送字节数,根据将传输流识别信息TSIDe与利用控制器PBAC进行管理的格式信息进行比较的格式进行设定。设定后,发出流输出的传送起动命令,开始流输出用的数据传送。然后,处理进入下一个步骤S12048。
在步骤S12048中,根据读指针RPc判断第一传输流的小包数据从缓冲器单元向流输出器1300的传送是否结束。即,若读指针RPc利用流输出器1300而前进,则判断为传送结束。在判断为传送结束时,处理进入下一个步骤S12050。另外,在没有判断为传送结束时,在判断为传送结束之前不处于等待状态,处理进入步骤S12052。
在步骤S12050中,与利用步骤S12048判断为第一传输流的小包数据的传送结束相应,该缓冲器单元打开。然后,处理进入下一个步骤S12052。
在步骤S12052中,与上述步骤S12048中的相同,根据读指针RPc判断第二传输流的小包数据从缓冲器单元向流输出器1300的传送是否结束。若判断为结束,则处理进入下一个步骤S12054。
在步骤S12054中,与步骤S12054相同,该缓冲器单元打开。然后,结束本子程序的处理。
另外,在步骤S12052中,在没有判断为传送结束时,处理就结束本子程序的处理。
下面参照图36、图37、图38、图39及图40,说明上述的多格式传输流解码器TD的基本概念。在本实施形态中,用于将多个传输流TS1~TSε所包含的多个节目内容数据有选择地根据传输流TS所固有的格式进行加工的用途。
图36说明输入至本发明有关的多格式传输流解码器的、各提供多个节目内容的二个(ε=2)的传输流TS 1及Ts2的结构。在该图中,所示的是至少提供3个不同的节目1、节目2、节目3、……、节目α1的第一传输流TS1的结构例子、以及至少提供六个不同的节目1、节目2、节目4、节目5、节目6、……节目α2的第二传输流TS2的结构例子。
另外,第二传输流TS2中的节目1、节目2及节目3与传输流TS1中的节目1、节目2及节目3基本上是不同的,但也可以是相同的。另外,第二传输流TS24中的节目1、节目2及节目3因纸面的关系未图示。
在该图中也如参照图42说明的那样,构成传输流TS的小包数据P的各小包数据分别作为一个方框来表示。对每个小包数据分别附加固有的小包标识符PID。
这样,输入至本发明有关的多格式传输流解码器的多个传输流TS的多传输流重复存在具有相同节目编号的节目。再有,由于对小包数据P对每个传输流TS附加小包标识符PID,因此在多个传输流TS的各传输流中,重复存在具有同一小包标识符PID的小包数据P。
在第一传输流TS1中,节目内容小包数据Pc101_1、Pc101_2、……是构成节目1的图像数据,节目内容小包数据Pc111_1、Pc111_2、……是构成节目1的声音数据。同样,节目内容小包数据Pc201_1、Pc201_2、……是节目2的图像数据,节目内容小包数据Pc211_1、Pc211_2、……是节目2的声音数据。再有,节目内容小包数据Pc301_1、Pc301_2、……是节目3的图像数据,节目内容小包数据Pc311_1、Pc311_2、……是节目3的声音数据。
在第二传输流TS2中,节目内容小包数据Pc401_1、Pc401_2、……是构成节目4的图像数据,节目内容小包数据Pc411_1、Pc411_2、……是构成节目4的声音数据。同样,节目内容小包数据Pc501_1、Pc501_2、……是节目5的图像数据,节目内容小包数据Pc511_1、Pc511_2、……是节目5的声音数据。再有,节目内容小包数据Pc601_1、Pc601_2、……是节目6的图像数据,节目内容小包数据Pc611_1、Pc611_2、……是节目6的声音数据。
另外,当然输入的传输流TS也可以是3及3以上,各传输流TS能够提供的节目数也可以3及3以上。另外,传输流TS中包含根据提供的节目数而对应的节目内容小包数据Pc。根据节目的内容,同样还包含与图像及声音以外的数据(例如文字信息)相对应的节目内容小包数据Pc。
另外,在第一传输流TS1及第二传输流TS2中,还根据节目内容小包数据Pc之间的传送路径及处理上的主要原因所决定的频次,排列节目内容管理表PAT及节目内容小包数据管理表PMT而构成。
关于第一传输流TS1,节目1、2及3的节目内容内,在节目内容小包数据Pc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1及Pc311_1之前,配置记有全部节目内容的小包标识符PID的节目内容小包数据管理表PMT1、PMT2及PMT3、以及表示这些节目内容小包数据管理表PMT的各小包标识符PID及对应节目的节目内容管理表PAT。
在节目内容管理表PAT中这样描述,即节目1的节目内容小包数据管理表PMT的小包标识符PID为100,节目2的节目内容小包数据管理表PMT的小包标识符PID为200,节目3的节目内容小包数据管理表PMT的小包标识符PID为300,……,节目α1的节目内容小包数据管理表PMT的小包标识符PID为α100。
关于第二传输流TS2,节目4、5及6的全部三种节目内容内,在节目内容小包数据Pc401_1、Pc411_1、Pc501_1、Pc511_1、Pc601_1及Pc611_1之前,配置记有全部节目内容的小包标识符PID的节目内容小包数据管理表PMT1、PMT2及PMT3、以及表示这些节目内容小包数据管理表PMT的各小包标识符PID及对应节目的节目内容管理表PAT。
在节目内容管理表PAT中这样描述,即节目4的节目内容小包数据管理表PMT的小包标识符PID为400,节目5的节目内容小包数据管理表PMT的小包标识符PID为500,节目6的节目内容小包数据管理表PMT的小包标识符PID为600,……,节目α2的节目内容小包数据管理表PMT的小包标识符PID为α200。
另外,由于传输流TS所包含的小包数据P的不同种类,其到达频次有很大不同,因此节目内容管理表PAT、节目内容小包数据管理表PMT、节目内容小包数据Pc及其它小包在同一传输流TS的内部也有时是随机插入配置,这与输入单一传输流TS的情况相同。
另外,在图36中,由于画图上的关系,看起第一传输流TS1与第二传输流TS2好像以小包为单位同步,但大多数情况下是不同步的。因而,有时第一传输流TS1中的节目内容小包数据Pc与第二传输流TS2中的节目内容小包数据Pc同时输入多格式传输流解码器TD,但也有时不是同时输入。再有,由于构成第一传输流TS1及第二传输流TS2的小包数据P分别根据每个传输流TS所固有的格式生成的,因此若传输流TS不同,则多数情况下小包数据P的大小也不同。
图37所示的情况是,利用本发明有关的多格式传输流解码器从具有图36所示的小包结构的第一传输流TS1抽取第一选择多节目小包数据串Pem1,从第二传输流TS2抽取第二选择多节目小包数据串Pem2。在本例中,第一选择多节目小包数据串Pem1包含节目1及节目2的小包数据P,第二选择多节目小包数据串Pem2包含节目3及节目4的小包数据P,换句说话,对构成第一传输流TS1的节目1及节目2的小包数据P的各小包数据进行所希望的处理后,作为第一选择多节目小包数据串Pem1抽取,同样,对构成第二传输流TS2的节目3及节目4的小包数据P的各小包数据进行所希望的处理后,作为第二选择多节目小包数据串Pem2抽取。然后,将第一选择多节目小包数据串Pem1与第二选择多节目小包数据串Pem2混合,作为选择多TS多节目小包数据串Pemm输出给主存储器控制器700。
主存储器控制器700属于对输入的选择多TS多节目小包数据串Pemm所包含的多个传输流TS的节目内容小包数据Pc进行仲裁,输出给主存储器900。结果,在主存储器900的内部形成多TS多节目小包数据串Pmsm。这是由于,传输流TS所包含的小包数据P若传输流TS不同,则其小包数据大小、传送速率及到达时刻等不同,因此有时不同的传输流TS所包含的小包数据P同时输入。
另外,在图36及图37所示的例子中,由于每个传输流TS抽取具有不同节目编号的节目,因此在选择多TS多节目小包数据串Pemm中,看起来好像不存在节目编号或小包标识符PID重复的小包数据P。但是,在第一传输流TS1及第二传输流TS2中抽取相同节目编号的节目的情况下,在选择多TS多节目小包数据串Pemm中,存在具有相同节目编号的不同节目内容小包数据Pc。另外,关于小包标识符PID,由于它与节目编号无关,是每个传输流TS中附加给该小包数据串P所固有的,因此在选择多TS多节目小包数据串Pemm中存在具有同一小包标识符PID的不同小包数据P。
另外,也有时抽取指定节目以外的表示传输流TS1的节目3的节目内容小包数据管理表MT3或第二传输流TS2的节目6的节目内容小包数据管理表PMT6。这样,从输入的传输流TS中连续排列的小包数据P仅离散地抽取与规定的多个节目相对应的小包数据P,同时按照到达多格式传输流解码器TD的顺序输出。
图38所示的一个例子是,从通过在外部设置的调谐器单元输入至多格式传输流解码器TD的传输流Ts1及TS2抽取的选择多TS多节目小包数据串Pemm所包含的小包数据P的各小包数据在主存储器900中的存储状态。另外,在该图中,在多格式传输流解码器TD中,主存储器900以外的构成要素用TD’表示。
主存储器900具有存储构成多TS多节目图像内容小包数据串PmsmV的节目内容小包数据Pc101_1、Pc401_1、Pc201_1及Pc501_1、……的图像小包存储区A(video)、以及存储构成多TS多节目声音内容小包数据串PmsmS的节目内容小包数据Pc111_1、Pc411_1、Pc211_1及Pc511_1、……的声音小包存储区A(audio)。
主存储器900还具有存储节目内容管理表PAT的信息及节目内容小包数据管理表PMT的PAT存储区Ar(PAT)。但是,与主存储器900的PAT存储器A(PAT)不同,在PAT存储区Ar(PAT)中,细分为应该专用存储输入的传输流TS1~TSε的各传输流的区域。在这样的构成中,主存储器900具有对每个传输流TS分别存储节目内容管理表PAT存储器Ar(PAT)、以及对每个传输流TS分别存储节目内容小包数据管理表PMT的信息的PMT存储区Ar(PMT)。
另外,PMT存储区Ar(PMT)当然仅备有传输流TS所包含的节目内容小包数据管理表PMT(节目)的种类(α)。通过这样的构成,由于能够识别对输入的每个传输流TS读入的管理小包数据PcA并进行管理,因此对每个传输流能够容易知道与今后传送的节目有关的信息。
通过将节目图像内容小包数据PcV的节目内容小包数据Pc101_1、Pc401_1、Pc201_1及Pc501_1、……相互没有间隔地存入图像小包存储区A(video)内,形成节目图像内容小包数据PcV(多TS多节目图像内容小包数据串PmsmV)。同样,通过将节目声音内容小包数据PcS的节目内容小包数据Pc111_1、Pc411_1、Pc2111_1及Pc511_1、……相互没有间隔地存入声音小包存储区A(audio)内,形成节目声音内容小包数据PcS(多TS多节目声音内容小包数据串PmsmS)。
图39所示为选择多TS多节目小包数据串Pemm生成的多TS多节目小包数据串Pmsm的结构的一个例子。在本例中,抽取第一传输流TS1的节目1的节目图像内容小包数据PcV的节目内容小包数据Pc101_1、Pc101_2、……及节目2的节目图像内容小包数据PcV即节目内容小包数据Pc节目201_1、Pc201_2、……。然后,抽取第二传输流TS2的节目4的节目图像内容小包数据PcV即节目内容小包数据Pc401_1、Pc401_2、……及节目5的节目图像内容小包数据PcV即节目内容小包数据Pc501_1、Pc501_2、……,按照例如节目内容小包数据Pc101_1、Pc401_1、Pc201_1、Pc501_1、Pc101_2、Pc401_2、Pc201_2、Pc501_2、……的顺序,作为多TS多节目图像内容小包数据串PmsmV输出给主存储器900。
同样,抽取第一传输流TS1的节目1及节目2的节目声音内容小包数据PcS即节目内容小包数据Pc111_1、Pc111_2、……及节目内容小包数Pc211_1、Pc211_2、……,同时抽取传输TS2的节目3及节目4的节目声音内容小包数据PcS即节目内容小包数据Pc411_1、Pc411_2、……及节目内容小包数据Pc511_1、Pc511_2、……,按照节目内容小包数据Pc111_1、Pc411_1、Pc211_1、Pc511_1、Pc111_2、Pc411_2、Pc211_2、Pc511_2……顺序,作为多TS多节目声音内容小包数据串PmsmS声音流,输出给主存储器900。
至此已经说明了用分别具有固有的小包标识符PID的小包数据构成的传输流TS的情况。但是,以ITU-T建议H.220.0为代表的传输流TS对于构成它们的全部小包数据P的各小包数据P,没有附加固有的小包标识符PID。对于按照构成该传输流TS的小包数据P的每个内容分类的每个所谓小包数据组,赋予固有的小包标识符PID。
图40所示的例子是对每个那样的小包数据组附加小包标识符PID的二个传输流TS1及TS2的小包结构。与图36所示的例子相同,在图40中所示的也是至少提供三个不同的节目1、节目2、节目3、……、节目α1的第一传输流TS1的结构例子、以及至少提供六个不同的节目1、节目2、节目3、节目4、节目5、节目6、……、节目α2的第二传输流TS2的结构例子。
在第一传输流TS1中,节目1的图像数据规定为节目内容小包数据Pc101,声音数据规定为节目内容小包数据Pc111。节目2的图像数据规定为节目内容小包数据Pc201,声音数据规定为节目内容小包数据Pc201,声音数据规定为节目内容小包数据Pc211。节目3的图像数据规定为节目内容小包数据Pc301,声音数据规定为节目内容小包数据Pc311。
关于第二传输流TS2,也与第一传输流TS1相同,节目4的图像数据规定为节目内容小包数据Pc401;声音数据规定为节目内容小包数据PC411。节目5的图像数据规定为节目内容小包数据Pc401,声音数据规定为节目内容小包数据Pc511。节目6的图像数据规定为节目内容小包数据Pc601,声音数据规定为节目内容小包数据Pc611。
这样,对于构成传输流TS的全部小包数据P的各小包数据P,没有附加固有的小包标识符PID,而对每种该小包数据P附加固有的小包标识符PID,除此以外,图40所示的传输流TS也与参照图36说明的传输流TS同样构成。
下面说明对具有这样小包结构的多个传输流TS1~TSε采用上述多格式传输流解码器TD时的动作。对于按照每个小包数据P的内容分类的每个小包数据组附加固有的标识符PID,这与仅指出图36所示的传输流TS的小包数据P的小包标识符PID高三位实质上是相同的。即,在本例中,也从第一传输流TS1抽取节目内容小包数据Pc101及节目内容小包数据Pc201,同时从第二传输流TS2抽取节目内容小包数据Pc401及节目内容小包数据Pc501,通过这样能够生成与图38所示的节目图像内容小包数据PcV实质上相同的节目图像内容小包数据。
同样,小包标识符PID为201的全部小包数据P规定节目2的图像数据即节目内容小包数据Pc201。小包标识符PID为211的全部小包数据P规定节目2的声音数据即节目内容小包数据Pc211。
再有,小包标识符PID为301的全部小包数据P规定节目3的图像数据即节目内容小包数据Pc301。小包标识符Pid为311的全部小数据P规定节目3的声音数据即节目内容小包数据Pc311。
这样,对于构成传输流TS的全部小包数据P的各小包数据P,没有附加固有的小包标识符PID,而对每种该小包数据P附加固有的小包标识符PID,除此以外,本图所示的传输流TS也与参照图36说明的传输流TS同样构成。另外,原则上具有同一小包标识符PID的多个小包数据P,在流生成时是按照其提示的顺序排列。结果,在接收侧,对依次输入的传输流TS的全部小包数据P的各小包数据P,按照每个小包标识符PID接收的顺序进行规定的处理,通过这样能够抽取信息。
下面说明对具有这样小包结构的传输流TS采用上述本发明实施形态有关的多格式传输流解码器TD时的动作。对于按照每个小包数据P的内容分类的每个小包数据组附加固有的标识符PID,这与图36所示的传输流TS中仅指出小包数据P的小包标识符PID的高三位实质上是相同的。即,在本例中,也通过抽取节目内容小包数据Pc101及节目内容小包数据Pc201,能够生成与图38所示的节目图像内容小包数据PcV实质上相同小包结构的多节目图像内容小包数据串。同样,通过抽取节目内容小包数据Pc111及小包数据Pc211,能够生成与图38所示的节目声音内容小包数据PcS实质上相同小包结构的多节目声音内容小包数据串。
另外,构成第一传输流TS1的小包数据,是按照第一传输流TS1所固有的规定格式生成的。同样,构成第二传输流TS2的小包数据,是按照第二传输流TS2所固有的规定格式生成的。关于这一点,将在随后参照图5进行说明。
这如上所述,构成第一传输流TS1的小包数据及构成第二传输流TS2的小包数据是按照各传输流所固有的格式构成的。因此,对于构成第一传输流TS1的小包数据与构成第二传输流TS2的小包数据,常常其大小是不相同的。另外,还由于,在第一传输流TS1及第二传输流TS2中,即使其小包大小是相同的,但各小包数据不一定同时刻到达多格式传输流解码器TD。
即,若传输流TS不同,则变成有可能迟到达的小包数据P超过先到达的小包数据P输出给主存储器900。在这样的情况下,通过按照到达的顺序作为混合选择多节目小包数据串Pems输出,就不可能在存储器900中正确形成多TS多节目小包数据串Pmsm。因而,在这样的状态下,多TS多节目小包数据串Pmsm中必须有传输流TS中的小包数据P的时间序列信息,以便能够重放从不同传输流TS抽取的小包数据P。
这样,在主存储器900内构成的多TS多节目图像内容小包数据串PmsmV及多节目声音内容小包数据串PmsmS,利用主存储器控制器700,作为图38所示的多TS多节目小包数据串Pmsm读出,向多格式传输流解码器TD的外部输出。
因此,在本实施形态中具有数据缓冲功能,该数据缓冲功能将依次输入进来的构成传输流TS的全部小包数据P一个一个进行缓冲中,同时识别一个一个进行缓冲的小包数据P,判断该小包数据P是否为用户所希望的处理对象,并实时控制对该小包数据P的访问及处理。再有,为了保证实时处理时间内的访问或加工时间,将对象小包数据在缓冲器单元内仅确保规定时间,这一情况是通过软件控制来保证的,而关于除此之外的被动性处理作为委托给硬件控制来完成。结果,提供的多格式传输流解码器能够从小包数据P为单位进行更灵活的识别管理,在对识别的小包数据P按照每个固有的格式适当进行处理后,也容易对过程的处理时序进行调整。
再回到图1,详细说明多格式传输流解码器的各构成要素。第一流输入器TSR-1~第三流输入器TSR-ε对分别从外部的传输流源(未图示)以小包为单位供给的传输流TSI~TSε为了分别识别各传输流用的TD即传输流标识符TSID。
定时器600开始起动多格式传输流解码器TD,同时开始计时,将各小包数据P到达的时间信息TT输出给流输出器1300及流输入器TSR。
传输流标识符TSID将输入的多个(1~)传输流内的任意传输流TS作为I(1≤i≤ε)表示。根据该管理方法,将输入至多格式传输流解码器TD的任意传输流TS作为第I传输流标识符TSi来表示。
另外,即使第I传输流TSi作为传输流TS是同一格式,但有时构成传输流的小包数据P的格式不同,因此再利用格式标识符FID来管理小包数据P的格式,关于这种情况将在随后参照图28进行详细说明。
然后,流输入器TSR将附加了传输流标识符TSID的传输流TS暂时保持在内部具有的输入缓冲器,然后将它们按照每个规定的传送单位TSd1~传送单位TSdε,传送给数据缓冲装置DBA。再有,第一流输入器TSR1r~第ε流输入器TSRε在分别输入进来的第一传输流TS1~第ε传输流TSε中有数据错误时,对其进行检测后,将第一出错信号E1~第出错信号Eε输出给数据缓冲装置DBA内的出错标记设定器295。另外,传送单位TSd1~TSdε的大小可考虑到数据缓冲装置DBA中的仲裁负荷及传送效率来适当决定。
数据缓冲装置DBA对第一流输入器TSR1~第ε流输入器TSRε供给的传送单位TSd1~TSdε的第一传输流TS1~第ε传输流TSε以小包数据P为单位进行管理及存储,在对处理对象小包数据P进行所希望的处理后,作为选择多TS多节目小包数据串Pemm输出给主存储器控制器700。
主存储器900将从数据缓冲装置DBA输出的第一传输流TS1~第ε传输流TSε抽取的选择多TS多节目小包数据串Pemm加以存储,同时作为多TS多节目小包数据串Pmsm输出给以AV解码器为代表的外部设备(未图示)。
主存储器控制器700将选择多TS多节目小包数据串Pemm及多TS多节目小包数据串Pmsm以每个传送单位TSd暂时保持。主存储器控制器700再控制主存储器900的动作,将暂时保持的选择多TS多节目小包数据串Pemm以每个传送单位TSd输出给主存储器900,同时控制主存储器900,在其内部形成多TS多节目图像内容小包数据串PmsmV及多TS多节目声音内容小包数据串PmsmS。
TD控制器TDC预先存储了输入至多格式传输流解码器TD的每种传输流TS的数据结构信息。然后,TD控制器TDC生成表示实际输入的传输流TS的数据结构的传输流结构信号Sts,数促会给流输入器TSR,通过这样来控制流输入器TSR,使其相应于输入的传输流TS进行适当的动作。在这种情况下,用户也可以利用附带处理要求输入器APR等,指示TD控制器TDC所存储的结构信息。
用户也可以利用附带处理要求输入器APR等,将实际输入的传输流TS的结构信息提供TD控制器TDC,以代替预先将传输流TS的数据结构信息存入TD控制器TDC。再有,也可以这样构成多格式传输流解码器TD,使其读入实际输入的传输流TS,并检测其数据结构。
TD控制器TDC是控制整个多格式传输流解码器TD的动作。另外,多格式传输流解码器TD生成表示上述各构成要素动作状态的状态信号SrW,输出给TD控制器TDC。TD控制器TDC根据状态信号SrW,生成控制多格式传输流解码器TD的各构成要素动作的控制信号ScW,对多格式传输流解码器TD进行控制。另外,由于状态信号SrW及控制信号ScW的生成和多格式传输流解码器Td的控制是众所周知的技术,因此省略其说明。
数据缓冲装置DBA包含小包缓冲仲裁器PBA、小包选择器400、流输出管理器500、中间处理用缓冲器单元使用存储器530、小包分析器1000、流输出器1300及控制器PBAC。小包缓冲仲裁器PBA将从流输入器TSR以每个传送单元TSd输入的传输流TS以小包数据P为单位进行识别并进行缓冲。小包选择器400判断缓冲的小包数据P是否为所希望的小包数据P。
中间处理用缓冲器单元使用存储器530根据后述的二次缓冲器单元分配信息mrp,分配供给存储从小包缓冲器270的一次缓冲器单元Bc_I读出后被解扰的被加扰数据Dsdi的二次缓冲器单元Bc_M。然后,表示分配的二次缓冲器单元Bc_M的分配二次缓冲器单元信息mwp,输出给缓冲器单元分配信息存储器240。另外,关于小包缓冲器270,将在随后参照图3、图4及图5进行说明。
下面参照图2主要说明流输出管理器500、小包分析器1000及流输出器1300。小包分析器1000包含解扰器1100及段数据选择器1200。解扰器1100根据控制器PBAC输入的解扰指示控制数据Dcrl,将DMA总线仲裁器210输入的被加扰数据Dsdi进行解扰,生成被解扰数据Dsdo,同时生成解扰结束通知数据Dcrlo。被解扰数据Dsdo输入至DMA总线仲裁器210,解扰结束通知数据Dcrlo输入至控制器PBAC。
段数据选择器1200对DMA总线仲裁器210输入的要选择段数据Ssdi进行段选择,生成被选择小包数据Ssdo。被选择小包数据Ssdo输出给DMA总线仲裁器210。段数据选择器1200再对控制器PBAC输入的段选择指示控制数据Scrl进行选择,生成段选择结束信号Scrlo。段选择结束信号scrlo输入至控制器PBAC。
流输出管理器500包含输出顺序缓冲器单元编号存储器控制器510及输出顺序缓冲器单元编号存储器520。输出顺序缓冲器单元存储器控制器510与小包缓冲器控制器260连接,相互交换流输出管理信号Shf,同时生成流输出缓冲器单元决定信号Hrp。输出顺序缓冲器单元编号存储器520根据输出顺序缓冲器单元编号存储器控制器510输入的流输出缓冲器单元决定信号Hrp,对小包缓冲器270的流输出所使用的缓冲器单元编号进行管理。
流输出器1300根据定时器600输入的时间信息TT及控制器PBAC输入的流输出指示控制数据Hcrl,将DMA总线仲裁器210输入的流输出数据Hsdi作为第一流Pho1及第二流Pho2输出。
小包缓冲仲裁器PBA包含DMA总线仲裁器210、TSd输入开始检测器220、缓冲器的一分配器230、缓冲器单元分配信息存储器240、写入对象缓冲器单元指定器250、小包缓冲器控制器260、小包缓冲器270、存储结束缓冲器单元编号存储器控制器280、存储结束缓冲器单元编号存储器290、出错标记设定器295及小包访问器300。
DMA总线仲裁器210具有接受来自第一流输入器TSR1输出的第一小包头部检测信号Sps1、第一请求信号Srq1及第一传送单位TSd1的输入的第一输入口组合。同样,具有接受来自第ε流输入器TSRε输出的第ε小包头部检测信号Spsε第ε请求信号Srgε及第ε传送单位TSdε的输入的第ε输入口组合。即,DMA总线仲裁器210具有仅与输入的传输流TS的数量ε相同的输入口组合。这样,通过对每个输入的传输流TS具有输入口组合,能够分别识别输入至多格式传输流解码器TD的第I传输流TSi。
再有,DMA总线仲裁器210具有对第一流输入器TSR1输出第一数据有效信号Sde1的第一输出口。同样,DMA总线仲裁器210具有对第ε流输入器TSR输出第ε数据有效信号Sdeε的第一输出口。即,DMA总线仲裁器210备有对按照输入的传输流TS的数量ε而准备的每个流输入器TSR1~TSRε输出数据有效信号Sde1~Sdeε的输出口。
DMA总线仲裁器210主要是在第一流输入器TSR1~第ε流输入器TSR与小包缓冲器控制器260之间对第一传输流TS1~第ε传输流TSε的以传送单位TSd1~TSdε的输入输出进行仲裁。即,DMA总线仲裁器210根据第I流输入器TSRi输入的第I小包头部检测信号Spsi及第I请求信号Srqi,将第I小包头部检测信号Spsi输出给TSd输入开始检测器220。第I流输入器TSRi对DMA总线仲裁器210输入的第I数据有效信号Sdei进行应答,供给第I传送单位Tsdi。进而,DMA总线仲裁器210将小包缓冲器控制器260输入的选择多节目小包数据串Pem输出给主存储器控制器700。
TSd输入开始检测器220根据小包头部检测信号Sps及传送单位TSd,对每个小包数据P检测传送单位TSd的输入已经开始,同时将输入开始的传送单位TSd供给小包缓冲器控制器260。Tsd输入开始检测器为了存储输入开始的小包数据P,生成要求分配一个小包缓冲器270的缓冲器单元的缓冲器单元要求信号Sba,输出给缓冲器单元分配器230。然后,若缓冲器单元Bc被分配,则TSd输入开始检测器220生成表示是能够开始对该分配缓冲器单元写入节目内容小包数据Pc的状态的写入允许信号Sw,输出给写入对象缓冲器单元指定器250。
缓冲器单元分配器230对缓冲器单元要求信号Sba进行应答,根据后述的分配一次缓冲器单元信息Iab,分配供输入开始的小包数据P存储用的缓冲器单元。然后,生成表示分配的缓冲器单元的一次缓冲器单元分配信息Iba,输出给缓冲器单元分配信息存储器240。
缓冲器单元分配信息存储器240将缓冲器单元分配器230输入的一次缓冲器单元分配信息Iba进行存储。进而,缓冲器单元分配信息存储器240将该一次缓冲器单元分配信息Iba供给写入对象缓冲器单元指定器250及存储结束缓冲器单元编号存储器控制器280。另外,缓冲器单元分配信息存储器240进一步根据一次缓冲器单元分配信息Iba,生成表示构成小包缓冲器270的各缓冲器单元Bc的分配状况的分配一次缓冲器单元信号Iab,反馈给缓冲器单元分配器230。
写入对象缓冲器单元指定器250对TSd输入开始检测器220输入的写入允许信号Sw进行应答,生成指示对用缓冲器单元分配信息存储器240输入的一次缓冲器单元分配信号Iba表示的被分配的缓冲器单元写入传送单位TSd的写入要求信号Swd,输出给小包缓冲器控制器260。
小包缓冲器控制器260对写入要求信号Swd进行应答,将TSd输入开始检测器220供给的传送单位Tddi写入小包缓冲器270的被分配的缓冲器单元。这时,DMA总线仲裁器210将是来自TSRi1的数据通知小包缓冲器控制器260。即,对于TSd预先附加表示它是输入至多格式传输流解码器TD的多个ε个传输流TS1~TSε的哪一个传输流TSi的数据的标记,这将在后面说明,小包缓冲器控制器260比较缓冲器单元中存储的数据所附加的这些信息与DMA总线仲裁器210通知的信息,通过这样区别并存储正确的传输流信息。
再有,小包缓冲器控制器260对写入被分配的缓冲器单元的数据字节数进行计数,通过这样检测出已写入一个小包数据P大小的传送单位Tsdi,生成表示来自DMA总线仲裁器210的一个小包数据P的数据传送结束的传送结束信号Stf,输出给存储结束缓冲器单元编号存储器控制器280。另外如上所述,包含输入传输流TSi的一个小包数据Pi的数据大小的规定格式信息预先包含在多格式传输流解码器TD内存储的数据结构信息中。
存储结束缓冲器单元编号存储器控制器280根据缓冲器单元分配信息存储器240输入的一次缓冲器单元分配信息Iba及小包缓冲器控制器260输入的传送结束信号Stf,生成表示写入一个小包数据P的缓冲器单元的缓冲器单元编号信号Sbn、以及将表示写入缓冲器单元编号Nbc的存储区的写指针Wp进1的写指针更新信号Swp,输出给存储结束缓冲器单元编号存储器290。
出错标记设定器295根据第一流输入器TSR1~第2流输入器TSRε输入的第一出错信号E1~第ε出错信号Eε、以及小包缓冲器控制器260输入的传送结束信号Stf,生成使出错标记置位的出错标记信号Fe,该出错标记是表示在出错标志存储器290EF的出错标志区Fc中存储了包含数据错误的小包数据P的缓冲器单元Bcm的出错标记,然后输出给存储结束缓冲器单元编号存储器290。
即,对写指针Wp所示的缓冲器单元指定区域Rcm,记录缓冲器单元编号信号Sbn所示的缓冲器单元编号Nbc,同时对写指针Wp所示的标记存储区Fcm,记入出错标记信号Fe所示的标记值。然后,将写指针Wp的位置进1,同时指示记录缓冲器单元编号Nbc的缓冲器单元指定区Rcm的下一个区域、以及记入标记值的标记存储区Fcm的下一个区域。
在存储结束缓冲器单元编号存储器290中,应该记入缓冲器单元编号Nbcn的缓冲器单元指定区Rcm及根据出错标记信号Fe应该写入标记值的标记存储区Fcm是由同一个写指针Wp指示的。而且,应该读出记入的缓冲器编号Nbcn的缓冲器单元指定区Rcm及应该读出标记值的标记存储区Fcm是由同一个读指针RP指示的。读指针RP是根据控制器PBAC输出的控制信号Sc前进的。
另外,在本实施形态中,存储结束缓冲器单元编号存储器290如在随后参照图3说明的那样,由于最好是用环形存储器构成,因此这样对缓冲器单元每结束一次写入,则写指针Wp就进1,通过这样能够适当更新存储结束缓冲器单元编号存储器290的存储器中存储的缓冲器单元编号Nbc。
另外,小包访问器300经由小包缓冲器控制器260及DMA总线仲裁器210,有选择地访问刚存入小包缓冲器270的缓冲器单元之后的小包数据P,在进行读出、参照或编辑等处理后,或者经由DMA总线仲裁器210及小包缓冲器控制器260,将原来的小包数据P重写更新等。
为此,小包缓冲器控制器260读取后述的读指针Rp指示的缓冲器单元中存储的小包数据P的小包标识符PID,抽取缓冲器小包识别信息PIDe,同时输出给DMA总线仲裁器210。
另外,小包缓冲仲裁器PBA生成表示上述各构成要素的动作状态的状态信号Sr,输出给控制器PBAC。控制器PBAC根据状态信号Sr,生成控制小包缓冲仲裁器PBA的各构成要素动作的控制信号Sc,输出给小包缓冲仲裁器PBA。另外,由于状态信号Sr及生成控制信号Sc1的控制器PBAC的控制是众所周知的技术,因此省略其说明。
小包缓冲仲裁器PBA将第一流输入器TSR1以传送单位TSd1输入的传输流TS1~第ε流输入器TSRε以传送单位TSd2输入的传输流TSi以小包即小包数据P为单位进行识别管理,并进行缓冲。控制器PBAC控制小包缓冲仲裁器PBA的动作。
另外,在本发明中,将传输流TS所含的小包数据P分别存入缓冲器单元Bc,同时识别存储的小包数据P的内容,能够对该小包数据P进行访问及处理,还能够对该小包数据P按照其格式进行所希望的处理。
下面参照图2及图3,简单说明上述的缓冲器单元分配信息存储器240、小包缓冲器270及存储结束缓冲器单元编号存储器290的关系,如图2所示,小包缓冲器270大致区分包含m个(m为2ε以上(含2ε)的整数)个一次缓冲器单元Bc_I1~Bc_Im、n(n为大于m/2的整数)个二次缓冲器单元Bc_M1~BC_Mn、以及一个以上(含一个)三次缓冲器单元Bc_O。
这是由于,对于每个输入的传输流TS,需要一个小包数据P的存储用及存储的小包数据P的读出用的不同一次缓冲器单元Bc_I。另外,在第一传输流TS1及第二传输流TS2的二个(ε=2)传输流TS输入时,一次缓冲器单元Bc_I的个数m为4(即2×2)以上(含4)的整数。
另外,二次缓冲器单元Bc_M由于只要与一次缓冲器Bc_I的读出对应设置即可,因此需要数n为m/2以上(含m/2)的整数。再有,三次缓冲器单元Bc_O由于只要在累积完成对一个小包数据P的处理过程的中间数据后输出即可,因此可以是一个以上(含一个)。
一次缓冲器单元Bc_I1~Bc_Im分别将经由TSd输入开始检测器220及小包缓冲器控制器260以传送单位TSd输入的小包数据P仅存储第一规定时间T1,接受对存储的小包数据P的处理。利用小包缓冲器控制器260,读出一次缓冲器单元BcI中存储的小包数据P的小包标识符PID及传输流标识符TSID,作为抽取小包识别信息PIDe及抽取传输流标识符TSIDe。
再有,一次缓冲器单元Bc_I与解扰器1100及段数据选择器1200连接。然后,将一次缓冲器单元Bc_I中存储的小包数据P内被加扰的被加扰数据Dsdi输出给解扰器1100。另外,在一次缓冲器单元Bc_I中存储的小包数据P是段数据时,要选择段数据Ssdi2输出给段数据选择器1200。
解扰器1100将一次缓冲器单元Bc_I输入的被加扰数据Dsdi进行解扰,生成被解扰数据Dsdo。段数据选择器1200将一次缓冲器单元Bc_I输入的要选择段数据Ssdi2进行段数据选择,生成被选择小包数据Ssdo。
二次缓冲器单元Bc_M与解扰器1100连接,将被解扰数据Dsdo仅存储第二规定时间T2(T2<T1)。再有,段数据选择器1200与二次缓冲器单元Bc_M连接,读出存储的被解扰数据Dsdo内的被解扰的实数据,作为要选择段数据Ssdi1,并进行段数据选择,生成被选择小包数据Ssdo。
三次缓冲器单元Bc_O与段数据选择器1200连接,将从要选择段数据Ssdi1或要选择段数据Ssdi2的某一个数据生成的被选择小包数据Ssdo仅存储第三规定时间T3(T3<T2)。
缓冲器单元Bc的各单元能够暂时存储规定大小的数据,即进行缓冲。将为此所必需的缓冲器单元Bc的容量称为最低缓冲器容量MBU。最低缓冲器容量MBU可根据构成小包数据P的小包数据P的数据大小适当设定。若设定最低缓冲器容量MBU小于小包大小,则虽能够对节目内容小包数据Pc的抽取进行更精细的控制,但DMA总线仲裁器210中的输入输出仲裁频次增大,导致为此所需的控制工时增大,处理效率变差。另外,若设最低缓冲器容量MBU大于小包大小,例如几倍左右,则一个缓冲器单元Bc也能够存储多个小包数据P。但是,这种情况由于不能区别一个缓冲器单元Bc中存储的多个小包数据P,因此不能以小包数据P为单位进行控制或访问。因而,最低缓冲器容量MBU应该根据传输流解码器的内部处理速度、小包数据P的输入速率、小包大小及对小包数据P的访问频次适当设定。
另外,在本例中,最低缓冲器容量MBU设定为使其能够存储一个字节数据P,具体来说设定为188个字节。另外,也可以根据需要,能够对一个小包数据追加具有识别或管理小包数据P用的规定字节数的辅助数据后进行存储。但是,也可以根据需要,如上所述设定为小于小包大小,即将一个小包分割存储在几个缓冲器单元Bc。
另外,最低缓冲器容量MBU不管有无分割,它是对存储的数据加上相当于管理信息的管理字节的容量。管理信息中至少包含表示存储的分割或未非割数据属于输入的多个传输流TS的哪一个传输流的传输流识别信息。
另外,在将小包分割存储的情况下,最低缓冲器容量MBU为小包数据P分割后的数据最大大小与包含分割信息及传输流小包识别信息的管理数据大小之和。在这种情况下,缓冲器单元Bc的个数N的最小值即缓冲器单元最少个数Nmin为2ε乘以分割数D的值(缓冲器单元最少个数Nmin为2εD)。
下面再叙述不同小包数据P之间的输入速率不同的情况。即,输入至多格式传输流解码器TD的多个(ε个)传输流TS1~TSε的各传输流所含的小包数据P的输入速率,多数情况下对于每个传输流TSi是不同的。现在以二个(ε=2)传输流TS1及TS2输入的情况为例进行说明。下面考虑在将第一传输流TS1的节目1的节目内容小包数据Pc101及Pc111、以及第二传输流TS2的第四节目内容小包数据Pc401及Pc411进行缓冲时,节目内容小包数据Pc401的输入速率绝对大于节目内容小包数据Pc101的输入速率的情况。
在这种情况下,即使设节目内容小包数据Pc101与Pc401同时到达多格式传输流解码器TD,也由于DMA总线仲裁器210r进行仲裁,一方(例如节目内容小包数据Pc101)比另一方(例如节目内容小包数据Pc401)先开始缓冲。然后,在节目内容小包数据Pc101的缓冲开始之后,接着节目内容小包数据Pc401的缓冲开始。但是,由于节目内容小包数据Pc401的输入速率绝对大于节目内容小包数据Pc101的输入速率,因此在节目内容小包数据Pc101的输入速率,因此在节目内容小包数据Pc401的缓冲途中,节目内容小包数据Pc101的输入就结束。
要适应这样的状态,在节目内容小包数据Pc101的缓冲中,必须备有后输入的高速率节目内容小包数据Pc411进行缓冲用的缓冲器单元Bc。这种情况的缓冲器单元最少个数Nmin虽根据输入传输流TS的节目内容小包数据Pc的输入速率来决定,但若设最低缓冲器容量MBU为一定,则缓冲器单元最少个数Nmin一般与输入传输流TS的数量成正比,并增加与输入传输流之间输入速率明显不同的节目内容小包数据Pc的数量相应的部分。
另外,在本例中,最低缓冲器容量MBU这样规定,使其能够存储对一个小包数据P附加规定管理数据的大小,具体来说使其能够存储对188个字节的一个小包数据P的附加4个字节的管理数据的大小,即设定为192个字节。另外,四个字节的管理数据包含上述的传输流识别信息,同时还包含表示该小包数据P的到达时间的时间标记信息。关于这种情况,将在随后参照图16进行说明。
另外,关于一次缓冲器单元Bc_I、二次缓冲器单元Bc_M及三次缓冲器单元Bc_O中存储的数据,下面参照图3、图24、图25、图26及图27进行说明。在图25中所示的例子是,第一传输流TS1的小包数据P1根据第一格式FMT1构成,第二传输流TS2的小包数据P2根据第二格式FMT2构成。
顺便说一下,根据第一格式FMT1构成的小包数据P1(TS1),是从头部开始按照属性管理字节BMh、辅助数据AXD、实数据PDB及处理管理字节BMp的顺序排列构成的。若设属性管理字节BMh、辅助数据AXD、实数据PDB及处理管理字节BMp的字节大小分别为M、N1、R1及M,则为了存储这样的小包数据P1(TS1FMT1),缓冲器单元Bc所要求的最小容量MBU为2M+N1+R1。
同样,根据第二格式FMT2构成的小包数据P2(TS2),是从头部开始按照属性管理字节BMh、实数据PDM及处理管理字节BMp的顺序排列构成的。若设属性管理字节BMh、辅助数据AXO、实数据PDB及处理管理字节BMp的字节大小分别为M、R2及M,则为了存储这样的小包数据P2(TS2FMT2),缓冲器单元Bc所要求的最小容量MBU为2M+R2。
下面参照图26及图27说明管理字节BM的结构。如图26所示,管理字节BM中有2类,即属性管理字节BMh及处理管理字节BMp。属性管理字节BMh包含小包到达时间信息ATS(Arrival Time Stamp,到达时间标记)、格式标识符FID(Format IDefication)、多流标识符传输流标识符TSIP(TS Idefication)及流输出要求信息存储区HSOUTR(HiSpeed OUTput Region,高速输出)。
利用流输入器TSR附加小包到达时间信息ATS、格式标识符FID及多流识别符传输流识别符TSID。在本发明有关的多格式传输流解码器TD中,为了进行多流及多格式的小包数据控制,在将小包数据P存入缓冲器单元Bc时,可以对实数据PD附加控制器PBAC为了进行小包处理所必需的信息后进行存储。
如图27所示,辅助数据AXD包含辅助数据信息VALID、流输出I/F用时间信息HSTS(HiSpeed Time Stamp,高速时间标记)及流出错信息ERR。辅助数据AXD是在根据与接受流输出单元流输出器1300输出的数据的设备连接的连接I/F标准进行处理时所必需的信息。
辅助数据信息VALID是表示现在的辅助数据AXD是否为接受侧的设备能够使用的信息,辅助数据AXD为有效时,设为Active。该输出I/F用时间信息HSTS是27MHz系统的时间信息,是根据管理字节BM的小包到达时间信息ATS利用控制器PBAC生成。流出错信息ERR是表示流输出的该流是否出错流的信息,在是出错流时,设为Active。
再回到图2,以在奇数号的一次缓冲器单元Bc_I中存储第一格式FMT1的小包数据P、在偶数号的一次缓冲器单元Bc_I中存储第二格式FMT2(段数据)的小包数据P的情况为例进行说明。在奇数号的一次缓冲器单元Bc_I中,按照处理管理字节BMp、辅助数据AXD、实数据PD1及属性管理字节BMh的顺序存储。在偶数号的一次缓冲器单元Bc_I中,按照处理管理字节BMp、实数据PD2及属性管理字节BMh的顺序存储。
在奇数号的一次缓冲器单元Bc_I中存储的辅助数据AXD及实数据PD作为第一流Pho1从流输出器1300输出。在偶数号的一次缓冲器单元Bc_I中存储的实数据PD作为第二流Pho2从流输出器1300输出。
再有,处理管理字节BMp及辅助数据AXD及实数据PD从奇数号的一次缓冲器单元Bc_I作为被加扰数据Dsdi输出给解扰器1100。解扰器1100将被加扰数据Dsdi的辅助数据AXD及实数据Pd进行解扰,生成被解扰辅助数据AXD’。然后,将处理管理字节BMp及被解扰辅助数据AXD’及被解扰实数据PD’作为被解扰数据Dsdo输出给二次缓冲器单元Bc_M。
在二次缓冲器单元Bc_M中,被解扰数据Dsdo按照处理管理字节BMp、被解扰辅助数据AXD’及被解扰实数据PD’的顺序进行存储。然后,处理管理字节BMp、被解扰辅助数据AXD’及被解扰实数据PD’从二次缓冲器单元Bc_M作为要选择段数据Ssdi1输出给段数据选择器1200。
段数据选择器1200对要选择段数据Ssdi1进行选择,生成被选择实数据PD”,输出给三次缓冲器单元Bc_0。
处理管理字节BMp及辅助数据AXD及实数据PD从偶数号的一次缓冲器单元Bc_I作为要选择段数据Ssdi2输出给段数据选择器1200。段数据选择器1200对要选择段数据Ssdi2进行选择,生成被选择实数据PD”,作为被选择小包数据Ssdo输出给三次缓冲器单元Bc_O。
这样,根据小包数据P的格式进行处理的被选择实数据PD”存入三次缓冲器单元Bc_O。
缓冲器单元分配信息存储器240具有与小包缓冲器270的一次缓冲器单元Bc_I1~Bc_Im的各单元对应的一次缓冲器单元分配信息区AI1~Aim、以及与二次缓冲器单元Bc_M1~Bc_Mn的各单元对应的二次缓冲器单元分配信息区AM1~AMn。缓冲器单元分配信息存储器240根据缓冲器单元分配器230供给的一次缓冲器单元分配信息Iba,对与分配的一次缓冲器单元Bc_I对应的一次缓冲器单元分配信息区AI写入表示有无分配的分配识别数据。即,在缓冲器单元分配信息存储器240中备有与小包缓冲器270的一次缓冲器单元Bc_I1~Bc_Im相同数量的一次缓冲器单元分配信息区AI1~AIm。
同样,缓冲器单元分配信息存储器240根据中间处理用缓冲器单元使用存储器530供给的二次缓冲器单元分配信息mrp,对与分配的二次缓冲器单元Bc_M对应的二次缓冲器单元分配信息区AM写入表示有无分配的分配识别数据,即,在缓冲器单元分配信息存储器240中备有与小包缓冲器270的二次缓冲器单元Bc_M1~Bc_Mn相同数量的二次缓冲器单元分配信息区AM1~AMn例如,分配识别数据为1与0的二值数据,初始值为0。然后,在一次缓冲器单元Bc_I1被分配时,对与一次缓冲器单元Bc_I1对应的一次缓冲器单元分配信息区AI1例如写入1。另外,在将写入一次缓冲器单元Bc_I1的数据读出后,根据控制器PBAC输出的控制信号Sc,对一次缓冲器单元分配信息区AI1写入0,一次缓冲器单元Bc_I1被打开。关于二次缓冲器单元Bc_M,这也同样。
这样,小包缓冲器270的各一次缓冲器单元Bc_I1~Bc_Im的各自分配状况用一次缓冲器单元分配信息区AI1,AIm中的数值集合来表示,作为分配一次缓冲器单元信息Iab,供给缓冲器单元分配器230。同样,二次缓冲器单元Bc_M1~Bc_Mn的各自分配状况用二次缓冲器单元分配信息区AM1~AMn中的数值集合来表示,作为分配二次缓冲器单元信息mwp,供给中间处理用缓冲器单元使用存储器530。
如图3所示,存储结束缓冲器单元编号存储器290包含缓冲器单元编号存储器290BCN及出错标记存储器290EF。缓冲器单元编号存储器290BCN具有存储表示小包缓冲器270的一次缓冲器单元Bc_I1~Bc_Im的一个特定单元的缓冲器单元编号NbcN的缓冲器单元指定区Rc(Rc1~RcM)。另外,M为2以上(含2)而且N以下(含N)的自然数。存储结束缓冲器单元编号存储器290组好它的用环形存储器构成的缓冲器单元指定区Rc1~RcM连续而且循环进行记录。结果,与缓冲器单元分配信息存储器240的情况不同,不需要备有与缓冲器单元分配信息存储器240的一次缓冲器单元Bc_I1~Bc_Im相同数量的区域,只要备有M个缓冲器单元指定区Rc1~RcM即可。
应该记入缓冲器单元编号Nbcn的缓冲器单元指定区Rcm(m为1以上(含1)M以下(含M)的自然数)是利用写指针WP指示的。而且,应该读出记入的缓冲器单元编号Nbcn的缓冲器单元指定区Rcm是利用读指针Rp指示的。写指针WP表示与读指针RP所示的位置相比为下一个或相同的缓冲器单元指定区Rcm。写指针WP如上所述,根据存储结束缓冲器单元编号存储器控制器280输出的写指针更新信号Swp前进,而读指针RP根据控制器PBAC输出的控制信号Sc前进。
在写指针WP比读指针RP的位置前进1时,读指针RP所示的缓冲器单元指定区Rcm中所示的缓冲器单元Bcn,意味着将数据存储结束而处于可读出的状态。在写指针WP与读指针RP表示同一位置时,意味着没有处于数据可读出状态的缓冲器单元Bcn。
出错标记存储器290EF具有与缓冲器单元编号存储器290BCN的缓冲器单元指定区Rc1~RcM的各指定区对应的标记存储区Fc(Fc1~FcM)。出错标记存储器290EF基本上与存储结束缓冲器单元编号存储器290相同,最好由环形存储器构成,根据出错标记设定器295输入的出错标记信号Fe,在标记存储区Fc1~FcM中连续而且循环记录标记值。
图4中说明存储结束缓冲器单元编号存储器290的变形例。本变形例中的存储结束缓冲器单元编号存储器290R,简单地说是缓冲器单元编号存储器290BCN的缓冲器单元指定区RC与出错标记存储器290EF的标记存储区Fc一体化而构成缓冲器单元属性存储区Rcp(Rcp1~RcpM)。而且,缓冲器单元编号信号Sbn与出错标记信号Fe结合成一体,作为表示各缓冲器单元Bc的数据存储状况的属性数据Pbc,记录在缓冲器单元属性存储区Rcp。另外,通过这样利用一种数据来管理一次缓冲器单元Bc_I的状态,能够力图更提高一次缓冲器单元Bc_I的获得及打开处理的效率。
下面参照图5所示的波形图,以2个(ε=2)传输流TS1及TS2输入的情况为例,简单说明第一流输入器TSR1及第二流输入器TSR1、DMA总线仲裁器210及小包缓存器控制器260的动作。
以130个字节的数据构成的小包数据P1,其每一个字节与具有规定频率的第一输入传送时钟Ck1同步输入至第一流输入器TSR1。同样,以188个字节的数据构成的小包数据P2构成第二传输流TS2,其每一个字节与具有规定频率的第二输入传送时钟Ck2同步输入至第二流输入器TSR2。另外,小包数据P的取得同步用的同步字节Bsync,在第二传输流TS2中包含在该小包数据P2的头部,而在第一传输流TS1中,小包数据P1中不包含该同步字节Bsync。
在本例中所示的是第一输入传送时钟Ck1与地热输入传送时钟Ck2是相同的情况。但是,输入传送时钟Ck的频率是每个输入的传输流TS规定的。因此,当然有的情况下,第一输入传送时钟Ck1与第二输入传送时钟Ck2的频率是不相同的。虽然也有的情况下,传输流TS是以一个比特为单位输入至流输入器TSR的,但由于处理内容与输入数据单位无关,基本上是相同的,因此下面仅说明以一个字节为单位输入的情况。另外,在该图中所示的例子是,在第二传输流TS2中检测出数据错误,而另一方面在第一传输流TS1中未检测出数据错误的情况。
第一流输入器TSR1对每个小包数据P1,在检测出最初一个字节的同步数据的时刻,检测出小包数据P1的小包头部。然后,每检测出小包头部,就生成第一小包头部检测信号Sps1,输出给DMA总线仲裁器210。
第一流输入器TSR1再在检测出小包头部的时刻,根据时间信息TT,生成表示小包数据P1到达时刻的时间标记St及表示该小包数据P1是第一传输流TS1的传输流标识符TSID(1)。另外,传输流标识符TSID换句话说,表示该传输流TS是输入至DMA总线仲裁器210的第一输入口组合,还表示是从第一流输入器TSR1输入。
另外,时间标记St即对一个传输流TS分配一次缓冲器单元Bc_I的时刻的时间信息TT,存入缓冲器单元Bc的头部。再有,设定大小的小包数据存入分配的一次缓冲器单元Bc_I的存储结束时刻的时间TT,存储在该一次缓冲器单元Bc_I中存储的小包数据P的最后尾部。
另外,时间标记St的字节数虽可以根据多格式传输流解码器TD中的处理精度任意决定,但在本例中最好用三个字节表示。另外,传输流标识符TSID的字节数由于只要能识别输入至多格式传输流解码器TD的全部传输流TS就足够了,因此在本例中用一个字节表示。第一流输入器TSR1将时间标记St与传输流标识符TSID合在一起,合成管理信息IM,附加在输入的小包数据P1的头部,生成第一传送单位TSd1。
第二流输入器TSR2也与第一流输入器TSR1相同,对每个小包数据P2,在检测出最初一个字节的同步数据的时刻,检测出小包数据P2的小包头部。然后,每检测出小包头部,就生成第二小包头部检测信号Sps2,输出给DMA总线仲裁器210。
第二流输入器TSR2再在检测出小包头部的时刻,生成表示小包数据P2到达时刻的时间标记St及表示该小包数据P2是第二传输流TS2的传输流标识符TSID(2)。另外,传输流标识符TSID换句话说,表示该传输流TS是输入至DMA总线仲裁器210的第二输入口组合,还表示是从第二流输入器TSR2输入。
第二流输入器TSR2将时间标记St与传输流标识符TSID合在一起,生成管理信息IM,附加在输入的小包数据P2的头部,生成第二传送单位TSd2。
这样,通过将时间标记St及传输流标识符TSID作为管理信息IM附加给小包数据P,能够正确识别各不同的传输流TS所含的小包数据P。再有,如上所述,在不同的小包数据P之间因输入速率不同而引起的所谓后到达的小包数据P在先到达的小包数据P结束输入之前就结束输入的情况,即产生所谓超前小包的情况下,也能够根据管理信息IM按照输入的顺序正确处理这些小包。
第一流输入器TSR1还从小包头部数起,每隔8个字节,对DMA总线仲裁器210生成要求接受第一传送单位TSd1的输入的第一请求信号Srq1,输出给DMA总线仲裁器210。换句话说,第一传送单位TSd1是8个字节,对各小包(188个字节)每隔8个字节输出传送第一传送单位TSd1用的第一请求信号Srq1。
即,在检测出第一传输流TS1的小包数据P1头部的时刻,由于生成3个字节的时间标记St及一个字节的传输流标识符TSID构成的共计四个字节的管理信息IM,因此在从头部输入四个字节的时刻,第一流输入器TSR1生成第一请求信号Srq1。另外,对于第五个字节以后,每隔八个字节生成第一请求信号Srq1。即,各小包数据P的第一个输出的传送单位TSd的最初四个字节,是利用多格式传输流解码器TD生成的管理信息Im,而不是传输流TS的小包数据P的本身的数据。
另外,在必须对多个传输流TS1~TSε的各传输流进行识别时,则表示为时间标记Sti、传输流标识符TSIDi及管理信息Imi。I是表示输入至流输入器TSR1~TSRε的哪一个的传输流TS的自然数(1≤i≤ε)。具体来说,关于第一传输流TS1,则表现为第一小包头部检测信号Sps1、第一请求信号Srq1、第一数据有效信号Sde1、第一传送单位TSd1、时间标记St1、传输流识别符TSID1及第一流输入器TSR1。
同样,关于第二传输流TS2,则表现为第二小包头部检测信号Sps2、第二请求信号Srq2、第二数据有效信号Sde2、第二传送单位TSd2、时间标记St2、第二小包头部检测信号Sps2、传输流标识符TSID2及流输入器TSR2。但是,小包数据P2的最初第二传送单位TSd2中与小包数据P1的最初第一传送单位TSd1不同,它含有同步字节Bsync。
即,在检测出第二传输流TS2的小包数据P2的头部即同步字节Bsync的时刻,由于生成三个字节的时间标记St及一个字节的传输流标识符TSID构成的共计四个字节的管理信息IM,因此在从头部的头部字节Bsync起输入四个字节的时刻,第二流输入器TSR2生成第二请求信号Srq2。另外,对于第五个字节以后,每隔八个字节生成第二请求信号Srq2。
DMA总线仲裁器210对第一请求信Srq1进行应答,对其输入输出进行仲裁,作好从第一流输入器TSR1输入第一传送单位TSd1的准备。然后,在准备完成的时刻(比第一请求信号Srq1推迟时间Ta),生成第一数据有效信号Sde1,输出给第一流输入器TSR1。该时间Ta是因包含数据缓冲装置DBA的内部处理时间引起而自然决定的,允许因数据缓冲装置DBA的状态不同而有少许变动。
如参照图1说明的那样,第一流输入器TSR1对第一数据有效信号Sde1进行应答,将内部缓冲器存储的小包数据P1的数据每隔八个字节作为第一传送单位TSd1输出给DMA总线仲裁器210。
采用与有关第一流输入器TSR1及DMA总线仲裁器210所说明的同样的方法,第二流输入器TSR2生成第二小包头部检测信号Sps2及第二请求信号Srq2,输出给DMA总线仲裁器210。DMA总线仲裁器210对第二请求信号Srq2进行应答,将第二数据有效信号Sde2输出给第二流输入器TSR2。
第二流输入器TSR2生成第二传送单位TSd2,同时对第二数据有效信号Sde2进行应答,将生成的第二传送单位TSd2输出给DMA总线仲裁器210。
DMA总线仲裁器210将第一流输入器TSR1及第二流输入器TSR2输入的第一小包头部检测信号Sps1、第二小包头部检测信号Sps2、第一传送单位TSd1及第二传送单位TSd2输出给TSd输入开始检测器220。
TSd输入开始检测器220根据DMA总线仲裁器210输入的第一小包头部检测信号Sps1及第一传送单位TSd1,对每个小包数据P1检测出第一传送单位TSd1的输入已经开始,同时将第一传送单位TSd1供给小包缓冲器控制器260。
同样,TSd输入开始检测器220根据DMA总线仲裁器210输入的第二小包头部检测信号Sps2及第二传送单位TSd2,对每个小包数据P2检测出第二传送单位TSd2的输入已经开始,同时将第二传送单位TSd2供给小包缓冲器控制器260。
如上所述,TSd输入开始检测器220每检测出第一传送单位TSd1或第二传送单位TSd2的输入开始,则为了存储现在开始输入的小包数据P,生成要求分割一个小包缓冲器270的一次缓冲器单元Bc_I1~Bc_Im的缓冲器单元要求信号Sba,输出给缓冲器单元分配器230。再有,生成表示处于能够对分配的缓冲器单元开始写入的状态的写入允许信号Sw,输出给写入缓冲器单元指定器250。
小包缓冲器控制器260将经由DMA总线仲裁器210及TSd输入开始检测器220输入的第一传送单位TSd1及迭传送单位TSd2,根据写入对象缓冲器单元指定器250输入的写入要求信号Swd,写入小包缓冲器270的被分配的缓冲器单元Bc。然后,在写入一个小包数据P大小的第一传送单位TSd1或第二传送单位TSd2的时刻,生成传送结束信号Stf,输出给存储结束缓冲器单元编号存储器控制器280。
如上所述,在对被分配的一次缓冲器单元Bc_I开始小包数据P的写入后,例如在第11个字节第一传输流TS1中有数据出错时,流输入器TSR1生成第一出错信号E1,输出给出错标记设定器295。
出错标记设定器295生成在接受了第一出错信号E1的时刻为高电平状态、在接受了传送结束信号Stf的时刻为低电平状态的二值信号即第一锁存出错信号LE1。同样,出错标记设定器295生成在接受了第二出错信号E2的时刻为高电平状态、在接受了传送结束信号Stf的时刻为低电平状态的二值信号即第二锁存出错信号LE2。这些第一锁存出错信号LE1及第二锁存出错信号LE2作为出错标记信号Fe输出给存储结束缓冲器单元编号存储器290。
在图5所示的例中最130个字节的小包数据P1(TS1)及188个字节的小包数据P2(TS2)同时输入至多格式传输流解码器TD时,大小比较小的小包数据P1的传送比小包数据P2先结束。结果,在第二传输流TS2的最初小包数据P2继续传送的期间,第一传输流TS1的下一个小包数据P1到达多格式传输流解码器TD,产生所谓小包数据超前的情况。
另外,该超前即使在小包数据的大小相同的情况下,在输入传送时钟Ck的频率不同时也会产生。再有,若输入传送时钟Ck的频率差足够大,则大小比较大的小包数据有时也能够超前于大小比较小的小包数据。
下面参照图7,详细说明上述的多格式传输流解码器TD的主要动作。多格式传输流解码器TD在电源接通后开始其动作。
首先,在步骤#100的“初始化子程序”中,包含存储结束缓冲器单元编号存储器290的写指针Wp及读指针RP的值都复位为0在内,进行装置的初始化。然后,处理进入下一个步骤#200。
在步骤#200的“传输流TS1~TSε的提供节目及能够处理提示”子程序中,根据在TD控制器TDC的主存储器900的PAT存储区Ar(PAT)及PMT存储区Ar(PMT)对每个传输流TS1~TSε分别存储的节目内容管理表PAT1~PATε及节目内容小包数据管理表PMT1~PMTε,生成表示传送的节目及多格式传输流解码器TD能够向用户提供的处理功能的节目内容提示信号Sp,输出给附带处理要求输入器APR。
附带处理要求输入器APR根据节目内容提示信号Sp,用显示器等适当的显示装置,向用户一览提示传送节目及提供处理功能。用户操作附带处理要求输入器APR,在提示的节目及处理功能内,选择所希望的节目及处理功能。
在步骤#300的“对传输流TS1~TSε的处理要求检测”子程序中,附带处理要求输入器APR根据节目内容提示信号Sp,检测对多个传输流TS1~TSε的用户处理要求,生成处理要求信号Se,输出给TD控制器TDC。
在步骤#400的“对传输流TS1~TSε的处理内容决定”子程序中,Td控制器TDC根据处理要求信号Se,决定在多格式传输流解码器TD一侧应该进行的具体处理内容。具体来说,TD控制器TDC根据附带处理要求输入器APR输入的处理要求信号Se,生成作为处理对象的节目、对节目的处理方法、及处理所需要的器件等装置的信息为代表的处理内容信息。生成处理内容信息。
在步骤#500的“处理对象小包数据十倍信心小包标识符PIDd及传输流标识符TSIDd生成”子程序中,TD控制器TDC生成根据步骤#400中决定的处理内容信息表示应该处理的小包数据P的处理对象小包数据识别信息小包标识符PIDd、以及表示应该处理的小包数据P的各小包数据所属的传输流TSε的对象传输流识别信息TSIDd,输出给小包选择器400。
在步骤#600的“传输流TS1~TSε的小包数据P存储”子程序中,依次输入至多格式传输流解码器TD的ε个传输流TS1~TSε所含的小包数据P1~Pε开始向数据缓冲装置DBA的缓冲。另外,小包数据Pi以小包数据P/n为单位(n为自然数)存入数据缓冲装置DBA的一次缓冲器单元Bc_I的各单元。关于本步骤的处理,将在随后参照图8详细叙述。在规定数量的小包数据P存储结束的时刻,开始下一个步骤#700的处理。换句话说,在数据缓冲装置DBA的多个一次缓冲器单元Bc_I内,小包数据P存储了缓冲器单元Bc的规定数量单元的状态下,开始步骤#700的处理。
在步骤#700的“传输流TS1~TSε的处理对象小包数据P选择”子程序中,在依次存入数据缓冲装置DBA的一次缓冲器单元Bc_I的小包数据P中,选择处理对象的小包数据P。具体来说,判断一个一次缓冲器单元Bc_I中存储的小包数据P是否为步骤#400中决定的小包数据P,判断是否具有步骤#500中决定的小包标识符PID(处理对象小包数据识别信息PIDd),通过这样进行作为处理对象小包数据P的选择。
在步骤#8000的“对传输流TS1~TSε的小包数据P的要求处理进行”子程序中,对步骤#700中选择的小包数据P,进行步骤#400中决定的内容的用户要求处理。在本实施形态中所示的例子是,依次存入一次缓冲器单元Bc_I的多个传输流TS1~TSε的小包数据P1~Pε中,仅抽取步骤#700中选择的特定节目的节目内容小包数据P,抽取选择多Ts多节目小包数据串Pemm(Pem1、Pem2),关于这种情况,将在随后参照图26进行详细叙述。另外,当然要求处理不限于构成特定节目的节目内容小包数据Pc的选择抽取,可以适用于各种数字处理。
在#900的“传输流TS1~TSε的处理后小包数据P存储”子程序中,步骤#8000中抽取的选择多节目小包数据串Pemm输出给主存储器控制器700,生成多节目小包数据串Pmsm。
另外,如上所述,步骤#600是主要利用硬件的被动性处理,步骤#700~#900是主要利用软件的主动性处理。因此,步骤#600与步骤#700~#900最好是作为并行处理而构成。为此,在开始步骤#700中的对象处理小包数据P选择子程序之前,最好在步骤#600中,对适当数量的一次缓冲器单元Bc_I存入小包数据P。关于这一点,将在随后参照图8进行说明。
但是,在该图中所示的是将步骤#600、#700、#8000及#900作为一连串的重复处理的结构。下面简单说明这样的结构中的动作。在开始进行步骤#600的“传输流TS1~TSε的小包数据P存储”子程序时,在等待对规定数量的缓冲器单元Bc存入小包数据P之后,连续进行步骤#700、#8000及#900的处理。然后,在第二次以后的步骤#600中,在不是对规定数量而是对一个一次缓冲器单元Bc_I存储小包数据P之后,进行步骤#700~#900的处理。
这种情况下的所谓规定数量根据数据缓冲装置DBA的一连串动作速度决定的,使其对于利用软件进行的步骤#700~#900的处理不引起允许以外的下溢或溢出,这样来决定的。因此,规定数量的最小值为1。实际上,保证对规定数量的一次缓冲器单元Bc_I存入小包数据P,是用从步骤#600开始之后到步骤#700开始为止的时间进行管理的。
图37所示为上述步骤#700的“传输流TS1~TSε的处理对象小包数据P选择”子程序与步骤#8000的“对传输流TS1~TSε的小包数据P的要求处理进行”子程序的关系的示意图。对依次输入至多格式传输流解码器TD的传输流TS的全部小包数据P,分别判断是否为步骤#700中的处理对象。然后,仅对判断为是处理对象的小包数据P(在图37中用粗线箭头表示),在步骤#8000中根据用户的要求进行处理。
如上所述,在本实施形态中,根据用户要求的处理是从第一传输流TS1抽取节目1及节目2后,进行所希望的处理,并从第二传输流TS2抽取节目4及节目5后,进行所希望的处理。因此,在步骤#700中,在一次缓冲器单元Bc_I中存储的全部小包数据P内,关于第一传输流TS1,仅选择具有传输流标识符TSID(1)及100多号和200多号的小包标识符PID的节目内容小包数据Pc、以及管理小包数据PcA。
同样,关于第二传输流TS2,仅选择具有传输流标识符TSID(2)及400多号和500多号的小包标识符PID的节目内容小包数据Pc、以及管理小包数据PcA。然后,所选择的节目内容小包数据Pc及管理小包数据PcA,在步骤#8000中,利用一次缓冲器单元Bc_I、二次缓冲器单元Bc_M及三次缓冲器单元Bc_O进行所希望的处理后,从缓冲器单元Bc(三次缓冲器单元Bc_O)向数据缓冲装置DBA的外部作为选择多TS多节目小包数据串Pemm输出。
另外,在步骤#8000中,若用户的要求处理是特定节目的节目内容小包数据Pc的加工,则在上述的例中,在所选择的管理小包数据PcA及节目内容小包数据Pc内,仅对形成特定节目的节目内容小包数据Pc进行加工。关于这一点,将在随后参照图10、图11、图12、图13、图14、图15、图16、图17及图18进行详细叙述。
下面参照图8,详细说明上述步骤#600的“传输流TS1~TSε的小包数据P存储”子程序的动作。与输入至多格式传输流解码器TD的传输流TS1~TSε的各传输流对应,各备有一组步骤S602、S604、S606、S608、S610、S612及S614。即,存在步骤S602_1~S602_ε、步骤S604_1~S604_ε、步骤S606_1~S606_ε、步骤S608_1~S608_ε、步骤S610_1~S610_ε、步骤S612_1~S612_ε及步骤S614_1~S614_ε。
下面对作为输入至多格式传输流解码器TD的第一传输流TS1~第ε传输流TSε的代表的第I传输流标识符TSi有关的动作进行说明。另外,图8中仅具体表示I为1的情况及I为ε的情况。
首先,在步骤S602_I中,从外部传输流供给源将第I传输流TSi输入至流输入器TSRi。然后,处理进入下一个步骤S604_I。
在步骤S604_I中,第I流输入器TSRi检测输入的第I传输流TSi的小包头部。具体来说,第I流输入器TSRi根据TD控制器TDC输入的传输流结构信号Sts,并根据输入进来的第I传输流TSi的结构,检测输入进来的小包数据P的头部。然后,处理进入下一个步骤S606_1。
在步骤S606_1中,第I流输入器TSRi开始检测输入进来的第I传输流TSi中是否包含数据出错。另外,在本步骤中开始的数据出错检测在后述的步骤S644中结束之前,与其它步骤S612_I~S640中的处理平行继续进行,在检测出数据出错的时刻,生成表示有数据出错的传输流TS的出错信号Ei’(1≤i′≤ε,i’也以与I相同)后输出。然后,处理分支成为步骤S608_I及步骤S610_I。
在步骤S608_I中,第I流输入器TSRi生成第I小包头部检测信号Spsi。然后,处理进入后述的步骤S622。
另一方面,在步骤S610_I中,第I流输入器TSRi根据检测出第I传输流TSi的头部字节的时间,生成时间标记Sti,生成与DMA总线仲裁器210的输入口组合相关联的传输流标识符TSIDi,然后,生成管理信息IMi。然后,处理进入下一个步骤S612_I。
在步骤S612_I中,第I流输入器TSRi将小包头部以后的小包数据存入内置的输入缓冲器。若第I传送单位TSdi部分的存储结束,则处理进入下一个步骤S614_I。另外,第I流输入器TSRi中内置的输入缓冲器的容量必须根据输入流的传送速率等适当确定,使得不漏掉输入小包数据。当然,至少必须大于第I传送单位TSdi。
在步骤S614_I中,第I流输入器TSRi将第I请求信号Srqi输出给DMA总线仲裁器210。然后,处理进入下一个步骤S616。
这样,对于输入至多格式传输流解码器TD的全部传输流TS1~TSε(1≤i≤ε)的各传输流,将上述的S604_I、S606_I、S610_I、S612_I及S614_I作为一组,平行进行这作为一组的处理。结果,全部传输流TS1~TSε的小包数据P1~Pε在到达多格式传输流解码器TD的时刻,成为缓冲对象。
然后,在步骤S616中,DMA总线仲裁器210根据第一请求信号Srq1~第ε请求信号Srqε的各请求信号,准备从第一流输入器TSR1~第ε流输入器TSRε的各流输入器以第一小包数据P1~第ε传输流TSε的各传送单位TSd的输入,并进行仲裁。然后,允许第一传送单位TSd1~第ε传送单位TSdε内的某一个输入。然后,处理进入下一个步骤S618。
在步骤S618中,DMA总线仲裁器210将步骤S616中的仲裁结果、即将允许第I传送单位TSdi的输入的第I数据有效信号Sdei输出给第I流输入器TSRi。然后,处理进入下一个步骤S620。
在步骤S620中,根据步骤S618中输出的第I数据有效信号Sdei,从第I流输入器TSRi开始将第I传送单位TSdi向DMA总线仲裁器210传送。另外,第I传送单位TSdi经由DMA总线仲裁器210,输出给TSd输入开始检测器220。然后,处理进入下一个步骤S622。
在步骤S622中,TSd输入开始检测器20根据在步骤S608_I中输入开始的第I小包头部检测信号Spsi,检测出第I传送单位TSdi的输入已经开始。TSd输入开始检测器220根据前述的步骤S618中输出的第一数据有效信号Sdei,在检测出一个小包数据P部分的数据以第I传送单位TSdi连续多次输入进来的最初数据的时刻,检测出第I传送单位TSdi的输入开始。
即,在第一数据有效信号Sde1输出的状态下,检测出第一传送单位TSd1的输入开始,在第二数据有效信号Sde2输出的状态下,检测出第二传送单位TSd2的输入开始。TSd输入开始检测器220在步骤S616的仲裁结果、即第I小包头部检测信号Spsi输入后传送单位TSd开始输入的时刻,检测出第I流输入器TSRi输入进来的小包头部的输入开始。然后。处理进入下一个步骤S624。
在步骤S624中,TSd输入开始检测器220生成缓冲器单元要求信号Sba,输出给缓冲器单元分配器230,同时生成写入允许信号Sw,输出给写入对象缓冲器单元指定器250。然后,处理进入下一个步骤S626。
在步骤S626中,缓冲器单元分配器230根据缓冲器单元分配信息存储器240供给的分配一次缓冲器单元Iab,分配供写入步骤S612_I中开始传送的传送单位TSd的缓冲器单元Bc。然后,处理进入下一个步骤S628。
在步骤S628中,缓冲器单元分配器230生成表示步骤S612_I中分配的一次缓冲器单元Bc_I的一次缓冲器单元分配信息Iba,输出给缓冲器单元分配信息存储器。然后,处理进入下一个步骤S630。
在步骤S630中,缓冲器单元分配信息存储器240根据一次缓冲器单元分配信息Iba,生成分配一次缓冲器单元信息Iba,生成分配一次缓冲器单元信息Iab后加以存储。然后,处理进入下一个步骤S632。
在步骤S632中,缓冲器单元分配信息存储器240将缓冲器单元分配器230输入的一次缓冲器单元分配信号Iba输出给写入对象缓冲器单元指定器250及存储结束缓冲器单元编号存储器控制器280。然后,处理进入下一个步骤S634。
在步骤S634中,TSd输入开始检测器220生成允许对小包缓冲器270的一次缓冲器单元Bc_I写入传送单位TSdi的写入允许信号Sw,输出给写入对象缓冲器单元指定器250。然后,处理进入下一个步骤S636。
在步骤S636中,写入对象缓冲器单元指定器250对写入允许信号Sw进行应答,生成对一次缓冲器单元分配信息Iba指示的、被分配的一次缓冲器单元Bc_I要求写入(存储)的写入要求信号Swd,输出给小包缓冲器控制器260。然后,处理进入下一个步骤S638。
在步骤S638中,小包缓冲器控制器260将经由TSd输入开始检测器220供给的传送单位Tsdi,对写入要求信号Swd(一次缓冲器单元分配信息Iba)及步骤S616的仲裁结果所指示的一次缓冲器单元Bc_I以小包数据P的传送单位TSdi进行写入(存储)。然后,处理进入下一个步骤S640。
在步骤S640中,对每个传送单位TSdi从第I流输入器TSRi向DMA总线仲裁器210输出第I请求信号Srqi(步骤S614_I)。DMA总线仲裁器210对第I请求信号Srqi进行应答,并进行仲裁(步骤S616),输出给与第I数据有效信号Sdei对应的第I流输入器TSRi(步骤S618)。第I流输入器TSRi对第I数据有效信号Sdei进行应答,开始小包数据P的下一个第I传送单位TSdi的传送。这一连串的动作对输入的传输流TS1~TSε的各传输流重复进行。
在这期间,小包缓冲器控制器260将写入一次缓冲器单元Bc_I的数据字节数对每个第I传送单位TSdi不同的I的值(不同的传输流)进行计数,检测出各一个小包数据P部分的传送单位TSdi对缓冲器单元的存储结束(S640)。现在,已经以第I传输流TSi为代表说明了与第一传输流TS1~第ε传输流TSε有关的动作,但如上所述,多个(不同的传输流标识符TSID)传输流TS是同时输入至多格式传输流解码器TD。
因此,必须将I值不同的多个传送单位TSdi同时存入各自的一次缓冲器单元Bc_I。因此,在步骤S640中,要检测那样的一个一个的一次缓冲器单元Bc_I中传送单位TSdi的存储结束。
再进一步,生成传送结束信号Stf,输出给存储结束缓冲器单元编号存储器控制器280。计数的数值根据TD控制器TDC中预先存储的表示传输流结构信息的传输流TS的小包数据P的数据大小求得。然后,处理进入下一个步骤S642。
在步骤S642中,出错标记设定器295对小包缓冲器控制器260输出的传送结束信号Stf进行应答,在上述步骤S606_I~S640之间,根据第一流输入器TSR1~第ε流输入器TSRε的某一个输出的出错信号Ei’(1≤i′≤ε,I’与I可以相同,也可以不相同),向写指针WP表示的标记存储区Fcm写入出错标记值。即,在步骤S606_I~S640之间,在对正存储在一次缓冲器单元Bc_I中的小包数据P检测出数据出错时,在传送结束信号Stf输入的时刻,向标记存储区Fcn写入与出错标记置位相当的值。
另一方面,在步骤S606_I~S640之间,在没有检测出数据出错、并且小包数据P存入一次缓冲器单元Bc_I时,在步骤S644中,在传送结束信号Stf输入的时刻,向标记存储器Fcn写入与出错标记未置位相当的值。另外,若设标记存储区Fc的初始值为出错标记未置位,则在步骤S644中,向标记存储区Fcn什么也不写入。
在这种情况下,关于写入出错标记置位的标记存储区Fc的复位,将在随后参照图9进行说明。然后,处理进入下一个步骤S644。
在步骤S644中,将步骤S606_I中开始的利用第I流输入器TSRi进行的第I传输流TS的数据出错检测结束。然后,处理进入下一个步骤S646。
在步骤S646中,存储结束缓冲器单元编号存储器控制器280根据传送结束信号Stf及一次缓冲器单元分配信息Iba,生成表示一个小包数据P的数据存储已经结束的一次缓冲器单元Bc_I的缓冲器单元编号信号Sbn。即,缓冲器单元编号信号Sbn相当于在传送结束信号Stf输入时一次缓冲器单元分配信息Iba所表示的一次缓冲器单元Bc_I的缓冲器单元编号Nbc。然后,处理进入下一个步骤S648。
在步骤S648中,存储结束缓冲器单元编号存储器290将缓冲器单元编号信号Sbn所表示的缓冲器编号Nbc记录在写点WP所指示的区域。同样,存储结束缓冲器单元编号存储器290向出错标记信号Fe所表示的标记存储区Fcn写入出错标记值。然后,处理进入下一个步骤S650。
在步骤S650中,存储结束缓冲器单元编号存储器控制器280将写指针更新信号Swp输出给存储结束缓冲器单元编号存储器290,将存储结束缓冲器单元存储器控制器280的写指针WP进1。然后,结束本步骤#600中的“传输流TS1~TSε的小包数据P存储”子程序。
利用上述的步骤,在步骤#600中,在保持输入至多格式传输流解码器TD的多个传输流TS1~TSε的各传输流所含的小包数据P的各小包数据与传输流TS的从属关系及与不同的传输流TS的时间关系的信息的状态下,能够顺序地而且实时地进行缓冲。
另外,关于该的步骤S644中的出错标记值的写入,下面参照图6所示的波形图,更具体地说明各构成要素的动作。在图6所示的例中,在第二传输流TS2的从最初小包数据P的第二个字节到第二个小包数据P的第三个字节的期间,相当于从上述的步骤S606_I到步骤640的期间。然后,第二流输入器TSR1在最初小包数据P2的第11个字节检测出数据出错,将出错信号E2(I’=2)输出给出错标记设定器295。由于仲裁期间Ta变动,上述期间当然在各小包头部检测信号Sps~传送结束信号Stf的发生范围内变动。
出错标记设定器295将出错信号E锁存,生成锁存出错信号LE,然后进行保持。然后,在传送结束信号Stf输入的时刻,若锁存出错信号LE及传送结束信号Stf都为高电平,则生成向存储结束缓冲器单元编号存储器290的标记存储器Fc写入标记置位的出错标记信号Fe。
另一方面,在输入的传输流TS中未检测出数据出错时,由于传送结束信号Stf输入时刻锁存出错信号LE为低电平,因此不生成向存储结束缓冲器单元编号存储器290ra的标记存储器Fc写入标记置位的出错标记信号Fe。
这样,即使在同时输入的任意数的传输流TS的某一个中包含数据出错时,也能够以小包缓冲器270的一次缓冲器单元Bc_I中存储的小包数据P为单位,对有无数据出错进行识别及管理。结果,通过丢弃输入传输流TS所含的数据出错部分或再一次取入,就能够正确获得传输流TS传送的信息。
再有,对传送结束信号Stf进行应答,向存储结束缓冲器单元编号存储器290的标记存储器Fc进行出错标记值的写入,这是在本实施形态那样多个传输流TS1~TSε同时输入的情况。其理由是为了防止下面的情况,即如上所述,由于不同的传输流TS的小包数据P的输入速率之差,在后到达的小包数据P的缓冲比先到达的小包数据P的缓冲更快结束时,本来对先到达的小包检测出数据出错,却向存储了后到达而先结束缓冲的小包的一次缓冲器单元Bc_I对应的标记存储区Fc误记入出错标记置位。
工业上的实用性如上所述,本发明是在分别由多种小包数据构成的多信道节目内容复用的多个传输流输入的传输流解码器中,能够从任意的传输流有选择地抽取任意的小包数据。结果,能够提供对传输流能够以小包数据为单位进行处理以得到用户所希望的效果的接口。
权利要求
1.一种多格式传输流解码器,将根据预先规定的多个格式的某一个格式生成的、同时由附加了为了对其识别的小包数据识别信息的连续多个第一小包数据构成的第一传输流的至少一个作为输入,对所述第一小包数据有选择地进行用户所希望的处理并生成第二传输流,其特征在于,包括存储对所述多个第一小包数据的各小包数据进行预先规定的至少一个处理顺序的小包数据处理顺序存储装置,将表示所述第一小包数据内成为所述用户所希望的处理对象的小包数据及所述处理顺序内与所希望的处理对应的处理顺序的处理要求信息输入的处理要求信息输入装置,对所述第一传输流附加表示规定格式的传输流识别信息的传输流识别信息附加装置,将所述第一小包数据一个个依次保持、同时从该保持的第一小包数据抽取所述传输流识别信息及所述小包数据识别信息的小包数据保持识别装置,以及将抽取的传输流识别信息及所述小包数据识别信息与所述处理要求信息比较并生成表示所述保持的第一小包数据是否为预先所述所希望的处理对象的处理对象判断信号的处理对象小包数据数据选定装置。
2.如权利要求1所述的多格式传输流解码器,其特征在于,所述处理要求信息,包含表示所述第一小包数据内是所述用户所希望的处理对象的小包数据的对象小包数据识别信息,与该处理对象的第一小包数据对应的对象传输流识别信息,以及对该处理对象的第一小包数据预先规定的处理顺序内与处理对应的处理顺序信息。
3.如权利要求2所述的多格式传输流解码器,其特征在于,所述处理对象小包数据数据选定装置仅在所述抽取的传输流识别信息及所述小包数据识别信息与各所述对象传输流识别信息及对象小包数据识别信息及该处理对象的第一小包数据一致时,生成表示所述保持的第一小包数据是所述希望的处理对象的处理对象判断信号。
4.如权利要求3所述的多格式传输流解码器,其特征在于,所述小包数据保持识别装置,具有将所述第一小包数据的各小包数据按照输入进来的顺序、保持仅规定时间的第一小包数据保持装置,将对所述第一小包数据保持装置存储的第一小包数据进行所述处理顺序的处理时生成的中间生成物进行存储用的第二小包数据保持装置,以及将对所述第一小包数据进行所述处理顺序的处理时生成的最终生成物进行存储用的第三小包数据保持装置。
5.如权利要求4所述的多格式传输流解码器,其特征在于,在所述处理对象判断信号表示所述保持的第一小包数据不是预先规定的处理对象时,所述第一小包数据保持装置为了存储其它的第一小包数据而打开。
6.如权利要求4所述的多格式传输流解码器,其特征在于,还包括在所述处理对象判断信号表示所述保持的第一小包数据是预先规定的处理对象时,对该保持的第一小包数据根据所述处理顺序信息进行处理的数据处理装置。
全文摘要
在对各不同格式的第一传输流进行所希望的处理后生成第二传输流的多格式传输流解码器中,处理要求信息输入器(APR)将处理对象小包数据(Pi)及表示处理内容的处理要求信息(ScW)输入,流识别信息附加器(TSRi)对第一传输流(TSi)附加流识别信息(TSID),小包数据保持识别器(DBA)一个个保持第一小包数据(Pi),同时将该第一小包数据(Pi)的流识别信息(TSIDe)及小包数据识别信息(PIDe)与处理要求信息(ScW)比较,判断是否为处理对象。
文档编号H04L12/56GK1625884SQ0280686
公开日2005年6月8日 申请日期2002年9月10日 优先权日2001年9月14日
发明者冈本晓, 后藤昌一, 山田干彦, 沟端教彦 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1