专利名称:信息处理装置和方法,记录媒体,以及程序的制作方法
相关申请的交叉引用本发明包括与2004年11月8日向日本专利办公室提出申请的日本专利申请JP 2004-323180相关的主题,作为参考在这里包括了其全部内容。
背景技术:
本发明涉及一信息处理装置和方法,一记录媒体,以及一程序,尤其涉及一适合通过由附加其它方的缓冲器信息至在设备之间被发送或接收的数据来控制通信设备中的一个以只执行设备间较佳通信的信息处理装置和方法,一记录媒体,以及一程序。
一成像设备被已知为是由用于取得主体图像的摄像机块和用于记录由摄像机块捕获的图像数据至记录媒体以及重现从中的图像数据的记录/重现块所组成。这些记录/重现块以及摄像机块由一串行线相互连接,它们之间的通信通过这条串行线实现。
在如以上描述的成像设备中,通常摄像机块用于执行成像设备的控制而记录/重现块和摄像机块都控制它们之间的通信。
应该注意的是在日本专利公开号为Hei 11-175270(以下称为专利文件1)公开了一系统,在其中发送方通过在网络上不同的信道发送打印数据和控制命令而接收方监控接收缓冲器的空闲空间以及预报控制命令的接收概率,从而根据预报控制打印数据的接收速率。也就是说,专利文件1描述了一例子,其中通信由发送方和接收方控制。
发明概要然而,以上提到的通过记录/再现块和摄像机块实现的通信控制存在一个问题,该问题为任何控制命令的规格修改需要接收方以及发送方的设置的修改,从而花费许多时间和劳动。
为了阻止这个问题,一方法可被提出,在其中通信的控制仅仅由两个块中的一个所执行。然而,如果两个块中的一个试图执行整个成像设备的控制(也就是说,包括在记录/再现块和摄像机块之间的通信的控制),那么该块仅仅具有与它本身的发送数据关联的信息;因此,一个块不能具有有关其它块的通信缓冲器状态的信息。
因此,任何通过仅使用与仅仅与块中的一个关联的发送数据关联的信息来在串行线上尝试控制通信可导致诸如在其它块上通信缓冲器溢出的意外状态。这可使在串行线上控制通信变得困难。
因此,本发明的主题是通过仅仅由设备中的一个进行的控制提供在多个设备之间的较佳的通信。
在实现本发明并根据其中的一个实施例中,提供了具有第一信息处理装置以及用于控制通过网络与第一信息处理装置通信的第二信息处理装置的信息处理系统。以上提到的第一信息处理装置包括用于把发送缓冲器的空闲空间信息附加到被发送到第二信息处理装置的第一数据的附加装置,在该发送缓冲器内数据被发送至第二信息处理装置;以及用于发送通过附加装置附加了发送缓冲器空闲空间信息的第一数据至第二信息处理装置的第一发送装置。以上提到的第二信息处理装置包括用于发送第二数据至第一信息处理装置的第二发送装置;用于接收从第一信息处理装置发送的第一数据的数据接收装置;用于基于附加到由数据接收装置接收的第一数据的发送缓冲器空闲空间信息确定发送缓冲器空闲空间是否比预定值小的空闲空间确定装置;以及用于如果发送缓冲器空闲空间通过空闲空间确定装置被发现比预定值小,控制与第一信息处理装置通信以使通过第一发送装置的第一数据的发送在通过第二发送装置的第二数据的发送之前被执行的通信控制装置。
以上提到的第二数据是控制命令数据以及以上提到的第一数据是通知数据和结果数据中的至少一个,该通知数据用于通知已经被第一信息处理装置接收的第二数据,该结果数据表示由第一信息处理设备响应第二数据执行处理的结果。
在实现本发明并根据其中的另一实施例中,提供通过网络执行通信的第一信息处理装置。以上提到的第一信息处理装置包括用于接收来自另一信息处理装置的第一数据的接收装置;用于把发送缓冲器的空闲空间信息附加到被发送到另一信息处理装置的第二数据的附加装置,在该发送缓冲器内数据被发送至该另一信息处理装置;以及用于发送被附加了发送缓冲器空闲空间信息的第二数据至另一信息处理装置的发送装置。在第一信息处理设备中,如果发送缓冲器空闲空间基于附加到由发送装置发送的第二数据的发送缓冲器空闲空间信息通过另一信息处理装置被发现比预定值小,那么通过发送装置的第二数据的发送在通过接收装置的第一数据的接收之前被执行。
以上提到的第一数据是控制命令数据而以上提到的第二数据是通知数据中和结果数据的至少一个,该通知数据用于通知已经被接收装置接收的第一数据,该结果数据表示根据第一数据执行处理的结果。
如果存在作为第二数据的候选的通知数据和结果数据,那么发送装置发送通知数据而不是结果数据。
以上提到的第一信息处理装置进一步包括用于确定接收缓冲器的空闲空间是否被存储的空闲空间确定装置,在该接收缓冲器内第一数据由接收装置所接收。如果接收缓冲器空闲空间通过空闲空间确定装置被发现比预定值小,那么发送装置把通知的发送放在待用状态而发送结果数据。
在实现本发明并还根据其中的另一实施例中,提供用于通过网络执行通信的信息处理装置的第一信息处理方法。该方法包括下列步骤接收来自另一信息处理装置的第一数据;把发送缓冲器的空闲空间信息附加到被发送到另一信息处理装置的第二数据,在该发送缓冲器内数据被发送到另一信息处理装置;以及发送被附加了发送缓冲器空闲空间信息的第二数据至另一信息处理设备。通过这种方法,如果发送缓冲器空闲空间通过另一信息处理装置基于附加到在发送步骤内被发送的第二数据的发送缓冲器空闲空间信息被发现比预定值小,那么在发送步骤内的第二数据的发送在接收步骤内的第一数据的接收之前被执行。
在实现本发明并还根据其中的另一实施例中,提供记录用于使计算机执行通过网络的通信处理的程序的第一记录媒体。以上提到的程序包括以下步骤从另一信息处理装置接收第一数据;把发送缓冲器的空闲空间信息附加到被发送到另一信息处理装置的第二数据,在该发送缓冲器内数据被发送到另一信息处理装置;以及发送被附加了发送缓冲器空闲空间信息的第二数据至另一信息处理设备。通过该程序,如果发送缓冲器空闲空间通过另一信息处理装置基于附加到在发送步骤内被发送的第二数据的发送缓冲器空闲空间信息被发现比预定值小,那么在发送步骤内的第二数据的发送在接收步骤内的第一数据的接收之前被执行。
在实现本发明并根据其中不同的实施例中,提供用于使计算机执行通过网络的通信处理的第一程序。以上提到的第一程序包括以下步骤从另一信息处理装置接收第一数据;把发送缓冲器的空闲空间信息附加到被发送到另一信息处理装置的第二数据,在该发送缓冲器内数据被发送到另一信息处理装置;以及发送被附加了发送缓冲器空闲空间信息的第二数据至另一信息处理设备。通过该第一程序,如果发送缓冲器空闲空间通过另一信息处理装置基于附加到在发送步骤内被发送的第二数据的发送缓冲器空闲空间信息被发现比预定值小,那么在发送步骤内的第二数据的发送在于接收步骤内的第一数据的接收之前被执行。
在实现本发明并还根据其中不同的实施例中,提供用于控制通过网络执行的通信的第二信息处理装置。以上描述的第二信息处理装置包括发送第一数据至另一信息处理装置的发送装置;用于接收附加于另一处理设备的发送缓冲器的空闲空间信息的第二数据的接收装置,第二数据是从另一处理设备发送的;用于基于附加到由接收装置接收的第二数据的发送缓冲器空闲空间信息确定发送缓冲器空闲空间是否比预定值小的空闲空间确定装置;以及用于如果发送缓冲器空闲空间通过空闲空间确定装置被发现比预定值小,控制与另一信息处理装置通信以使在通过发送装置的第一数据的发送之前执行通过接收装置的第二数据的接收的通信控制装置。
以上提到的第一数据是控制命令数据而以上提到的第二数据是通知数据和结果数据中的至少一个,该通知数据用于通知被发送装置发送的第一数据已经被另一信息处理装置接收,该结果数据表示另一信息处理装置内响应于第一数据所执行的处理的结果。
以上提到的通信控制装置控制另一信息处理装置以阻止通过发送装置的下一第一数据的发送直到接收装置接收如第二数据的、相应于通过发送装置发送的第一数据的通知数据,从而优先执行通过接收装置的第二数据的接收。
在实现本发明并还根据其中不同的实施例中,提供用于信息处理装置控制通过网络要执行的通信的第二信息处理方法。以上提到的第二信息处理方法包括以下步骤发送第一数据至另一信息处理装置;接收附加到另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,该第二数据是从另一信息处理装置发送的;基于附加到在接收步骤内接收到的第二数据的发送缓冲器空闲空间信息确定发送缓冲器空闲空间是否比预定值小;并且,如果发送缓冲器空闲空间在空闲空间确定步骤内被发现比预定值小,那么控制与另一信息处理装置的通信以在发送步骤内的第一数据的发送之前执行在接收步骤内的第二数据的接收。
在实现本发明并根据其中独立的实施例中,提供用于记录使计算机执行控制通过网络执行的通信的处理的程序的第二记录媒体。以上提到的第一程序包括以下步骤发送第一数据至另一信息处理装置;接收附加了另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,该第二数据是从另一信息处理装置发送的;基于附加到在接收步骤内接收到的第二数据的发送缓冲器空闲空间信息确定发送缓冲器空闲空间是否比预定值小;并且,如果发送缓冲器空闲空间在空闲空间确定步骤内被发现比预定值小,那么控制与另一信息处理装置的通信以在发送步骤内的第一数据的发送之前执行在接收步骤内的第二数据的接收。
在实现本发明并还根据其中独立的实施例中,提供用于使计算机执行控制通过网络执行的通信的处理的第二程序。以上提到的第二程序包括以下步骤发送第一数据至另一信息处理装置;接收附加了另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,该第二数据是从另一信息处理装置发送的;基于附加到在接收步骤内接收到的第二数据的发送缓冲器空闲空间信息确定发送缓冲器空闲空间是否比预定值小;并且,如果发送缓冲器空闲空间在空闲空间确定步骤内被发现比预定值小,那么控制与另一信息处理装置的通信以在发送步骤内的第一数据的发送之前执行在接收步骤内的第二数据的接收。
发送缓冲器的空闲空间信息被附加到由第一信息处理设备被发送到第二信息处理设备的第一数据并且如此被附加了发送缓冲器空闲空间信息的第一数据被发送到第二信息处理装置,在该发送缓冲器内被发送到第二信息处理装置的数据被存储。第二数据通过第二信息处理装置被发送到第一信息处理装置并且来自第一信息处理装置的第一数据由第二信息处理装置接收。然后,基于附加到接收到的第一数据的发送缓冲器空闲空间信息,确定发送缓冲器的空闲空间是否比预定值小。如果空闲空间被发现较小,那么与第二信息处理装置的通信被控制以使相对于第二数据的发送,偏好第一数据的发送。
来自信息处理装置的第一数据被接收。发送缓冲器内的空闲空间信息被附加到被发送到信息处理装置的第二数据,在该发送缓冲器内被发送到信息处理装置的数据被存储。因此,附加了发送缓冲器空闲空间信息的第二数据被发送到信息处理装置。然后,如果发送缓冲器的空闲空间通过信息处理设备基于附加到第二数据的发送缓冲器空闲空间信息被发现比预定值小,那么相对于第一数据的发送,偏好第二数据的发送。
第一数据被发送到信息处理装置。附加了信息处理装置的发送缓冲器空闲空间信息的第二数据被接收,发送缓冲器空闲空间信息从信息处理装置中被发送。基于附加到接收到的第二数据的发送空闲空间信息确定发送缓冲器空闲空间是否比预定值小。如果发送缓冲器空闲空间被发现较小,那么与信息处理装置的通信被控制以相对于第一数据的发送,偏好第二数据的接收。
网络指示一机制,其中至少两个相互连接的设备能够相互发送信息。可通过网络相互通信的设备可以是独立的设备或配置了一设备的组件块。
通信可以是无线通信或有线通信或两者皆可,其中无线通信在一个区域内执行而有线通信在另一区域内执行。通信也可以是从一设备至另一设备执行的有线通信以及从后者至前者执行的无线通信。
如以上描述的以及根据本发明,设备之间较佳的通信只通过控制一设备来执行。此外,本发明的实施例促进命令规范的更改。
图1是框图,示出了被实现为本发明的一实施例的记录/重现装置的典型配置;图2是框图,示出了图1所示的摄像机块的通信块以及记录/重现块的通信块的详细典型配置;图3是框图,示出了摄像通信接口以及主通信接口的详细典型配置;图4是示出了在图1示出的摄像机块和记录/重现块之间被发送和接收的数据的图;图5是流程图,指示了图1示出的记录/重现装置的图像显示控制处理;图6是流程图,指示了在图5示出的步骤内执行的命令通信控制处理;
图7是示出了图6示出的命令通信控制处理的图;图8是流程图,指示了在图6示出的步骤524内执行的记录/重现块的命令包发送控制处理;图9是流程图,指示了在图6示出的步骤524内执行的记录/重现块的命令包发送控制处理;图10是流程图,指示了相应于图8示出的处理的摄像机块的命令包接收控制处理;图11是图8示出的流程图的后续流程图;图12是流程图,指示了图8、9、10、以及11示出的处理的关系;图13是流程图,指示了在图6示出的步骤S27内执行的摄像机块的命令ACK包发送控制处理;图14是流程图,指示了相应于图13示出的处理的记录/重现块的命令ACK包接收处理;图15是箭头图,指示了图13示出的处理与图14示出的处理之间的关系;图16是流程图,指示了在图6的步骤S31内描述的摄像机块的结果包发送处理;图17是流程图,指示了相应于图16示出的处理的记录/重现块的结果包接收控制处理;图18是箭头图,指示了图16示出的处理与图17示出的处理之间的关系;图19是箭头图,指示了当以复制的方式做出包发送请求时被执行的包发送/接收控制处理的例子;图20是箭头图,指示了当以复制的方式做出包发送请求时被执行的包发送/接收控制处理的另一例子;图21是箭头图,指示了当以复制的方式做出包发送请求时被执行的包发送/接收控制处理的另一例子;图22是箭头图,指示了当以复制的方式做出包发送请求时被执行的包发送/接收控制处理的另一例子;以及图23是框图,示出了个人计算机的典型配置,可对该个人计算机应用本发明。
较佳实施例的详细描述以下结合附图描述本发明的实施例。
现在,参考图1,示出了被实现为本发明的一实施例的记录/重现装置的典型配置的框图。
如图1所示,记录/重现装置1与PC(个人计算机)2通过USB(通用串行总线)电缆3相互连接,从而提供它们之间的双向通信。
记录/重现装置1由摄像机块11与记录/重现块12组成。
摄像机块11由摄像机CPU21、成像块22、缓冲器23、显示块24、NVRAM(非易失性随机存取存储器)25、通信块26、和电源块27所组成,从而控制在成像块22中执行的成像处理和在显示块24上的图像显示。
记录/重现块12由主CPU41、操作器块42、USB I/F(接口)43、音频信号处理块44、音频输入/输出块45、扬声器46、麦克风47、记录/重现块48、缓冲器49、电源块50、存储块51、以及通信块52,从而控制对记录到加载在记录/重现块48上的盘60的图像或音乐(或它们的数据)的访问。
应该注意的是摄像机块11的通信块26与记录/重现块12的通信块52通过通信总线71相互连接,该总线71由串行线161以及通信控制线163组成(参考图2),从而互相按需传送各种类型的数据。
摄像机块11的摄像机CPU21与记录/重现块12的主CPU41通过在记录/重现块12的主CPU41的控制下串行通信经由通信块26、通信总线71、以及通信块52传送数据。摄像机CPU21通过通信块52、通信总线71、以及通信块26接收来自记录/重现块12的主CPU41的命令,从而相应地控制摄像机块11的组件。
例如,根据从主CPU41接收到的命令,摄像机CPU21控制成像块22以取得主体的图像。摄像机CPU21提供从成像块22提供的作为成像处理结果的主体图像(其中的数据)至缓冲器23。而且,根据来自主CPU41的命令,摄像机CPU21从缓冲器23中读取图像数据并且执行在读取的图像数据上的JPEG(联合图象专家组)编码。然后,摄像机CPU21发送编码的图像数据至主CPU41。
此外,根据由主CPU41给出的命令,摄像机CPU21把从主CPU41接收到的图像数据存储到缓冲器23中以及,根据由主CPU41给出的命令,从缓冲器23中读取图像数据并且提供图像数据给显示块24以及从NVRAM25中读取诸如图标图像、背景图像、以及计数器图像(以下称为固定图像数据)之类很有可能在显示块24上被显示两次或多次的图像数据,以把固定图像数据提供该显示块24。
应该注意的是在显示块24上的显示具有按类型的层结构,诸如背景图像层、照片图像层、以及图标图像层,例如,每个层被独立地配置以允许在显示和不显示之间选择。缓冲器23由每个层的缓冲器组成。
由诸如CMOS(互补金属氧化物半导体)或CCD(电荷耦合器件)的成像设备以及AF(自动对焦)模块所组成的成像块22聚焦一主体,取得聚焦的主体的图像,并且提供取得的图像(数据)至摄像机CPU21。缓冲器23暂时地存储由摄像机CPU21提供的图像数据。由例如液晶显示器构成的显示块24显示相应于从摄像机CPU21中接收到的图像数据的图像。
NVRAM25是可重写的存储器并存储固定图像数据。应该注意的是存储在NVRAM25内的固定图像数据可根据由主CPU41给出的命令由摄像机CPU21重写。
在摄像机CPU21的控制下,通信块26与记录/重现块12的通信块52通过通信总线71发送和接收通信控制信号,从而通过串行通信发送和接收各种类型的数据。
电源线路27通过电源线72连接到记录/重现块12的电源块50。电源线路27通过电源线72被提供来自电源块50的电力。在摄像机CPU21的控制下,电源线路27提供由电源块50提供的电力至摄像机块11的组件。
记录/重现块12的主CPU41在例如操作器块42给出的操作信号的控制下,使用盘60写或读图像和音乐数据,执行各种计算,以及控制用于音乐重现的组件。在由操作器块42给出的操作信号的控制下,主CPU41也生成用于控制摄像机块11的组件的命令以及通过通信块52、通信总线71、以及通信块26发送生成的命令至摄像机块11的摄像机CPU21。也就是说,在记录/重现块12与摄像机块11之间的通信也由主CPU41控制。
由排列在例如记录/重现装置1的表面上的按钮和刻度所构成的操作器块42接收用于记录/重现装置1的用户指令,诸如成像、图像显示、或音乐重现,并提供表示这些指令的操作信号至主CPU41。在主CPU41的控制下,USB I/F43通过USB电缆3提供来自记录/重现块48的图像和音乐数据至PC2。USB I/F43被提供例如下载的图像和音乐数据。USB I/F43提供接收到的数据至记录/重现块48。
音频信号处理块44在例如由主CPU41提供的音乐数据上执行1-7 RLL(1-7限制的运行周期编码)调制处理以及提供经处理的音乐数据至记录/重现块48。并且,音频信号处理块44在由记录/重现块48提供的音乐数据上执行1-7RLL解调处理以及提供经处理的音乐数据至音频输入/输出块45。
音频输入/输出块45提供相应于从音频信号处理块44接收到的音乐数据的声音至扬声器46。并且,音频输入/输出块45提供由麦克风47提供的声音至音频信号处理块44。扬声器46发出从音频输入/输出块45接收到的音频信号。麦克风47拾到该声音并把它提供给音频输入/输出块45。
在主CPU41的控制下,记录/重现块48提供从盘60中读到的图像和音乐数据至缓冲器49并且从缓冲器49中读取图像和音乐数据。应该注意的是盘60可包括例如光盘(诸如CD(光盘)和DVD(数字化视频光盘))、磁光盘(诸如(MD小型磁盘)以及Hi-Mini-Disc)、以及磁盘。
记录/重现块48提供从缓冲器49读取的音乐数据至音频信号处理块44并且把由音频信号处理块44提供的音乐数据记录至盘60。此外,记录/重现块48提供从缓冲器49读取的图像数据至主CPU41并且把从主CPU41提供的图像数据记录至盘60。
缓冲器49存储从盘60中读取的由记录/重现块48提供的图像和音乐数据。
在主CPU41的控制下,电源块50根据记录/重现块12的操作状态提供电力给记录/重现块12的每个组件以及在主CPU41的控制下,通过电源线72提供电力给摄像机块11的电源线路27。
存储块51存储与存储在例如NVRAM 25内的固定图像数据关联的信息(以下称为固定图像数据关联的信息)。主CPU41从存储块51中读取固定图像数据关联的信息并且基于该固定图像数据关联的信息通过通信块52、通信总线71、以及通信块26发送图像显示命令至摄像机CPU21。
在主CPU41的控制下,通信块52与摄像机块11的通信块26通过通信总线71发送和接收通信控制信号,从而通过串行通信发送和接收各种数据。
在如以上描述的配置的记录/重现装置1中,主CPU41控制整个记录/重现装置1以及通信。也就是说,根据从操作器块42提供的操作信号,主CPU41控制记录/重现块12的每个组件以及生成用于控制摄像机块11的每个块、发送生成的命令至摄像机块11的摄像机CPU21的命令。
所以,在记录/重现装置1内,根据通过通信总线71由主CPU41提供的命令,摄像机CPU21把相应于存储在NVRAM25内的固定图像数据的图像显示到显示块24上并且把相应于从主CPU41提供的图像数据的图像显示到显示块24上。另一方面,根据主CPU41给出的命令,摄像机CPU21发送获得的作为成像结果的图像数据至CPU41以在盘60上记录图像数据。此外,主CPU41通过扬声器46发出代表记录在盘60上的音乐数据的音频信号。
参考图2,示出了摄像机块11的通信块26以及记录/重现块12的通信块52的详细典型配置。
摄像机块11的通信块26是由通信控制块101、摄像机通信I/F102、S/P(串行/并行)转换块103、接收队列控制器104、接收队列105、发送队列控制器106、缓冲器107、发送队列108、以及P/S(并行/串行)转换块109所组成。
记录/重现块12的通信块52是由通信控制块131、主通信I/F132、S/P转换块133、接收队列控制器134、接收队列135、发送队列控制器136、发送队列138、以及P/S转换块139所组成。
摄像机块11的通信块26以及记录/重现块12的通信块52分别通过摄像机通信I/F102以及主通信I/F132相互连结,从而发送和接收各种数据。为了更加具体,摄像机通信I/F102是由串行I/F111和端口112组成的而记录/重现块12的主通信I/F132是由串行I/F141和端口142组成的,从而在摄像机块11和记录/重现块12之间发送和接收数据、时钟、以及控制信号。
串行I/F111和串行I/F141通过由串行数据线161-1和串行时钟线161-2所组成的串行线161相互连结。串行I/F111和串行I/F141分别通过串行数据线161-1发送和接收来自P/C转换块109和P/S转换块139的打包的数据(以下称为包)。串行I/F111通过串行时钟线161-2提供从通信控制块101中接收的时钟信号至串行I/F141。
端口112和端口142通过8-线通信控制线163相互连结,与通信控制块101和通信控制块131发送和接收各种控制信号。
当由记录/重现块12提供的包(用于控制摄像机块11的命令包)已经从接收队列控制器104中被接收时,图2示出的摄像机块11的摄像机CPU21从接收队列控制器104获取接收队列105的空闲空间信息并基于获取的空闲空间信息确定接收队列105是否具有足够的空闲空间接收下一数据。
如果在接收队列105内被发现有足够的空闲空间,那么摄像机CPU21生成通过打包用于表示命令接收完成的数据获取的命令ACK包以及提供生成的命令ACK包至发送队列控制器106,从而请求通信控制块101发送命令ACK包。也就是说,命令ACK包是指示下一命令是可接收的包。
摄像机CPU21也根据提供的命令控制摄像机块11的组件,生成通过打包用于在执行完成后表示每个命令执行的完成的数据获取的结果包,以及提供生成的结果包至发送队列控制器106,从而请求通信控制块101发送结果包。应该注意的是如果数据涉及命令执行完成,那么结果数据包也与结果包一起被生成,在后者被提供至发送队列控制器106之后前者立即被提供至发送队列控制器106。
根据包(命令包或结果包)发送请求以及来自摄像机CPU21的包接收确认,通信控制块101与记录/重现装置块12的通信控制块131通过端口112发送和接收各种控制信号。在通信控制块131的控制下,通信控制块101通过串行I/F111提供由合并的时钟生成器(未显示)生成的预定时钟至记录/重现块12,从而控制发送队列控制器106与时钟同步以发送累积在缓冲器107或发送队列108的包至记录/重现块12。在这个时候,时钟也被提供给S/P转换块103和P/S转换块109。
应该注意的是在摄像机CPU21的控制下,通信控制块101控制发送队列控制器106,使得关于要从摄像机块11发送的包,相对于结果包优先发送命令ACK包。
与由通信控制块101提供的时钟同步,S/P转换块103S/P-转换从串行I/F111接收到的包并提供经转换的包至接收队列控制器104。
接收队列控制器104把从S/P转换块103接收到的包累积到接收队列105,以及在摄像机CPU21的控制下,提供接收队列105内的包至摄像机CPU21。并且,响应于摄像机CPU21的请求,接收队列控制器104发送接收队列105的空闲空间信息至摄像机CPU21。
当命令ACK包已经从摄像机CPU21中被提供时,发送队列控制器106把接收到的命令ACK包累积在缓冲器107内,并且当结果包已经从摄像机CPU21中被提供时,把接收到的结果包累积到发送队列108中。也就是说,由于相对于结果包,命令ACK包被优先发送,所以命令ACK包不被累积在发送队列108中。发送队列控制器106包含一信息附加块113。信息附加块113存储发送队列108的总容量以监控它的空闲空间。
响应于来自通信控制块101的发送队列,发送队列控制器106读取来自缓冲器107的命令ACK包或来自发送队列108的结果包并且控制信息附加块113以把发送队列108的总容量和空闲空间信息(以下称为发送队列信息)附加到读取包,从而提供包和信息至P/S转换包109。
与通信控制块101提供的时钟同步,P/S转换块109P/S转换从发送队列控制器106中接收的包并且提供经转换的包至串行I/F111。
图2示出的记录/重现块12的主CPU41保留摄像机块11的发送队列108的总容量和空闲空间信息。主CPU41执行由接收队列控制器134提供的包的奇偶校验检查和包分析并且在获得附加到包上的发送队列信息后,更新发送队列108的总容量和空闲空间信息。
根据通过操作器块42输入的用户指令,主CPU41生成通过把预定的处理的命令打包获得的命令包,提供生成的命令包至发送队列控制器136,以及控制通信控制块131以使命令包的发送处理将在从摄像机块11提供的包的发送处理之前被执行。
然而,主CPU41确定用于先前发送的命令的命令ACK包是否已经被接收到并且保留命令发送在等待状态(或阻止命令发送)直到命令ACK包被发现已经被接收。也就是说,在这种情况下,主CPU41控制通信控制块131以偏好来自摄像机CPU21的包发送请求。
主CPU41也确定根据从摄像机块11接收到的包所更新的发送队列108的空闲空间是否比预定的阈值低。如果空闲空间被发现比预定的阈值低,那么主CPU41把命令发送放置在等待状态,从而控制通信控制块131偏好来自摄像机CPU21的包发送请求。
如果对应于先前接收到的命令的命令ACK包被发现被接收并且发送队列108的空闲空间被发现比预定的阈值大,那么然后主CPU41对通信控制块131请求命令包的发送。应该注意的是如果命令伴有数据,那么命令数据包随着命令包一起被生成,两者先后被提供给发送队列控制器136。
根据包(或命令包)发送请求以及来自主CPU41的包接收确认,通信控制块131通过端口142与摄像机块11的通信控制块101发送和接收控制信号,从而控制在摄像机块11与记录/重现块12之间的包通信。在这个时候,在主CPU41的控制下,通信控制块131优先于从通信控制块101发送的来自摄像机CPU21的包发送请求接受来自主CPU41的包(或命令包)发送请求。
当通信控制块131发送包发送/接收确认信号到摄像机块11的通信控制块101时,来自摄像机块11的时钟被提供至通信控制块131以及S/P转换块133和P/S转换块139。通信控制块131接收时钟导致发送队列控制器136与时钟同步发送存储在发送队列138中的包至摄像机块11。
与来自串行I/F141的时钟同步,S/P转换块133S/P转换从串行I/F141中接收的包并且提供经转换的包至接收队列控制器134。
接收队列控制器134把从S/P转换块133接收到的数据累积到接收队列135中并且在主CPU41的控制下,把来自接收队列135的数据提供至主CPU41。而且,响应于来自主CPU41的请求,接收队列控制器134通知主CPU41接收队列135的空闲空间。
当命令包从主CPU41提供时,发送队列控制器136把接收到的命令包累积到发送队列138中。响应于来自主CPU41的请求,发送队列控制器136通知主CPU41发送队列138的空闲空间信息。响应于来自通信控制块101的发送请求,发送队列控制器136从发送队列138中读取命令包并且提供命令包至P/S转换块139。
与从通信控制块131提供的时钟同步,P/S转换块139P/S转换从发送队列控制器136接收到的数据并且提供经转换的数据至串行I/F141。
参考图3,示出了摄像机通信I/F102和主通信I/F132的详细典型配置。应该注意的是,参考图3,与那些先前参考图2描述的组件类似的组件被以相同的参考编号表示并且在描述中被省略。
摄像机通信I/F102由串行I/F111、DMA(直接存储器存取)缓冲器171、以及端口112所组成。主通信I/F132由串行I/F141、DMA缓冲器181、以及端口142所组成。
摄像机块11的串行I/F111以及记录/重现块12的串行I/F141通过是串行线161的串行数据线(C_SIO)161-1以及串行时钟线(SCK)161-2相互连结。
串行I/F111通过串行时钟线161-2发送由通信控制块101提供的预定时钟至串行I/F141。串行I/F111也通过串行数据线161-1执行与串行I/F141的串行通信以按需提供串行通信的数据至DMA缓冲器171,从而把数据存储在缓冲器内。如串行I/F111,串行I/F141按需提供串行通信的数据至DMA缓冲器181,从而把数据存储在缓冲器内。
端口112和端口142通过163-1至163-8的8条通信控制线相互连结。通信控制线163-1发送来自主通信I/F132的REQ(请求)信号(或drive REQ(驱动请求))至摄像机通信I/F102(或它的端口112),从而在通信控制块101上执行中断。从摄像机通信I/F102,通信控制线163-2发送来自端口112的REQ(请求)信号(或camera_REQ(摄像机请求))至主通信I/F132,从而在通信控制块131上执行中断。当在主CPU41的控制下通过例如串行线161请求串行通信的建立时,通信控制块101和通信控制块131通过通信控制线163-1或通信控制线163-2发送REQ信号。
通信控制线163-3发送来自主通信I/F132的ACK(确认)信号(drice_ACK(驱动ACK))至摄像机通信I/F102,从而导致在通信控制块101上的中断。通信控制线163-4发送来自摄像机通信I/F102的ACK信号(camera_ACK(摄像机ACK))至主通信I/F132,从而导致在通信控制块131上的中断。
通信控制线163-5发送来自主通信I/F132的NACK(否认确认)信号(drice_NACK(驱动NACK))至摄像机通信I/F102,从而导致在通信控制块101上的中断。通信控制线163-6发送来自摄像机通信I/F102的NACK信号(camera_NACK(摄像机NACK))至主通信I/F132,从而导致在通信控制块131上的中断。
在此,在摄像机CPU21或主CPU41的控制下,通信控制块101和通信控制块131在来自对方的数据正常接收后或当承认发送自对方的请求时,发送ACK信号至对方并且在来自对方的数据异常接收后,发送NACK信号至对方。
在主CPU41的控制下,通信控制线163-7发送来自主通信I/F132的用于初始化摄像机CPU21的RESET(复位)信号至摄像机通信I/F102。在主CPU41的控制下,通信控制线163-8通过摄像机通信I/F102发送来自主通信I/F132的用于启动摄像机CPU21的WAKE(唤醒)至摄像机CPU21。
以下参考图4详细描述在摄像机块11和记录/重现块12之间被发送和接收的数据。
记录/重现块12的主CPU41通过串行数据线161-1发送通过打包用于指示摄像机块11一项操作的命令获得的命令包201至摄像机块11。在这个时候,主CPU41可按需发送通过打包预定数据获得的命令数据包与命令包201一起至摄像机块11。
为了更加明确,命令包201是通过串行I/F141、串行线161、以及串行I/F111从记录/重现块12的主CPU41中发送至摄像机块11的摄像机CPU21。命令包201包括用于由主CPU41给出至摄像机CPU21的指令的命令。
命令包201与包括根据要被发送的命令的类型的数据的命令数据包一起被发送。例如,在用于把记录在盘60的图像数据显示在摄像机块11的显示块24上的命令的情况下,要被显示在显示块24上的图像数据被打包以在命令包201之后被作为命令数据包立即发送。
应该注意的是,如果相应于先前发送的命令包201的命令ACK包211没有被记录/重现块12接收到,那么命令包201的发送由记录/重现块12所阻止。也就是说,在这种情况下,在记录/重现块12内,相应于先前发送的命令包201的命令ACK包211的接收是被优先考虑的。
如果基于附加到摄像机ACK包211以及从摄像机块11中接收的结果包212的摄像机块11的发送队列108的空闲空间信息,发送队列108的空闲空间被发现比预定的阈值低(也就是说,如果发送队列108被确定保留在等待状态以及在发送队列108内发生数据溢出),那么命令包201的发送也是被阻止的。
也就是说,在这种情况下,在记录/重现块12内,命令ACK包211和结果包212的接收被优先考虑,因此用于这些包的通信路径被释放。也就是说,附加了发送队列请求的命令ACK包(或结果包)可以是要求释放来自摄像机块11中的发送的通信路径或指示是否释放通信路径的包。
从主CPU41中接收命令包201,摄像机块11的摄像机CPU21通过串行数据线161-1发送通过打包用于指示命令包201接收的完成的数据而获取的命令ACK包211至记录/重现块12。
为了更加明确,命令ACK包211通过串行I/F111、串行数据线161-1、以及串行I/F141被从摄像机块11的摄像机CPU21发送至记录/重现块12的主CPU41。每个命令ACK包211被写入来自主CPU41的命令包201接收的完成以及被附加了关于摄像机块11的发送队列108的总容量以及空闲空间的信息的发送队列信息。应该注意的是该发送队列信息仅仅是指示发送队列108的空闲空间的信息;也就是说,该信息可以仅仅是发送队列108的空闲空间信息或关于总容量和累积的数据容量的信息。
命令ACK包211总是对于每个命令包201被生成并且如果接收队列105准备好接收下一个命令包201,也就是说,接收队列105的空闲空间被发现比预定的阈值大,那么命令ACK包211优先于结果包212而被发送。
摄像机块11的摄像机CPU21执行相应于从主CPU41接收的命令包201的命令的操作,并且在操作完成后,通过串行数据线161-1发送由打包用于指示该结束的结果数据而获得的结果包212至记录/重现块12。在这个时候,摄像机CPU21可发送由打包预定数据所获得的结果数据包与结果包212一起至记录/重现块12。
为了更加明确,结果包212通过串行I/F111、串行数据线161-1、以及串行I/F141被从摄像机块11的摄像机CPU21发送至记录/重现块12的主CPU41。结果包212具有指示相应于来自主CPU41的命令包201的操作完成的通知并且被附加了关于摄像机块11的发送队列108的总容量以及空闲空间的信息的发送队列信息。
结果包212被附加了包括根据接收到的以及完成的命令的类型的数据的结果数据包,并且该结果包212以及该结果数据包被发送。例如,在相应于用于控制成像块22以输入主体的视频以及记录输入的图像数据至记录/重现块12的盘60中的命令的结果的情况下,从成像块22输入的以及记录到盘60的图像数据被打包以在结果包212后作为结果数据包被顺序发送。
结果包212在摄像机块11内的发送优先级比命令ACK包211低。因此,如果对于命令ACK包211发送的请求是在结果包212之前做出,那么结果包212在命令ACK包211的发送之后被发送。
应该注意的是结果包212不总是为一个一个的命令包201生成;也就是说,根据命令的类型,两个或更多结果包被生成或没有结果包被生成。例如,对于任何无限地执行某项任务的命令,不生成结果包212。
以下根据图5示出的流程图描述了记录/重现装置1的图像显示控制处理。
用户操作操作器块42以给出用于显示记录在盘60上的图像的指令。操作器块42接受用户指令并提供表示指令的操作信号至主CPU41。
在步骤S1,主CPU等待直到用于图像显示的指令到来。当操作信号从操作器42中被提供时,主CPU41就在步骤S1确定用于图像显示的指令已经来到,之后过程进行到步骤S2以打开摄像机块11的电力。
也就是说,主CPU41通过电源线72提供电力给摄像机块11的电源线路27并且同时,控制通信控制块131以通过端口142的通信控制信163-8发送用于启动摄像机CPU 21的WAKE信号。WAKE信号通过端口112和通信控制块131被提供给摄像机CPU21。摄像机CPU21响应于WAKE信号而启动并且控制电源线路27以提供电力至摄像机块11预定的组件。
所以,摄像机块11的电力被打开,在此之后摄像机CPU21控制通信控制块10以初始化所有端口112的通信控制线163-2、163-4、以及163-6(camera_***)。通信控制块131识别在摄像机方上的通信控制线163-2、163-4、以及163-6已经进入初始化的状态并且提供该信息至主CPU41。
主CPU41从所有通信控制线163-2、163-4以及163-6已经进入初始化状态的信息来识别摄像机块11的启动。然后,过程到步骤S3,在此主CPU41控制摄像机CPU21以分配用于存储从盘60提供的图像数据的数据区域至合并到摄像机CPU21的RAM(随机存取存储器),未示出。
也就是说,主CPU41生成通过打包用于把图像数据的数据区域分配到合并在摄像机CPU21内的RAM的命令而获取的命令包。响应地,主CPU41以及摄像机CPU21发送和接收生成的命令包,执行接收到的命令包的处理,以及执行命令通信控制处理,该命令通信控制处理是一直到命令包处理完成的过程。该命令通信控制处理将在随后结合图6被详细描述。应该注意的是类似的命令通信控制处理也在从后续步骤S4到S7中被执行。
在该命令通信控制处理内,由主CPU41生成的命令包从记录/重现块12发送到摄像机块11的摄像机CPU21。摄像机CPU21发送相应于接收到的命令包的命令ACK包并且同时,执行该命令。当该命令被执行时,图像数据的数据区域被分配到摄像机块11的摄像机CPU21内的RAM。所以,摄像机CPU21识别命令执行的完成,从而发送结果包至记录/重现块12。
接收来自摄像机CPU21的结果包,主CPU41识别步骤S3命令执行的完成,在此之后过程继续到步骤S4,在此主CPU41控制记录/重现块48以发送从盘60读取的图像数据至摄像机块11。
也就是说,主CPU41导致图像数据被摄像机CPU21接收,从而生成通过打包用于把图像数据存储到合并在摄像机块11的摄像机CPU21内的RAM中的命令所获得的命令包。响应地,主CPU41以及摄像机块11的摄像机CPU21执行命令通信控制处理(图6)。
在该命令通信控制处理内,由主CPU41生成的命令包以及包括图像数据的命令数据包从记录/重现块12发送到摄像机块11的摄像机CPU21。摄像机CPU21发送相应于接收到的命令包的命令ACK包并且同时,执行该命令。当该命令被执行时,由摄像机块11接收到的图像数据被存储到摄像机CPU21内的RAM。所以,摄像机CPU21识别命令执行的完成,从而发送结果包至记录/重现块12。
接收结果包,主CPU41识别步骤S4的命令执行的完成,之后过程继续到步骤S5,在此主CPU41把来自摄像机CPU21的RAM的图像数据存储到摄像机块11的缓冲器23中。应该注意的是显示块24上的显示具有不同类型的层结构,诸如背景图像层、照片图像层、以及图标层,这些层可被单独选择为显示和不显示。缓冲器23是基于专门对于每个层的缓冲器。
也就是说,对于摄像机CPU21,主CPU41生成通过打包用于把摄像机CPU21的RAM内的图像数据存储到摄像机块11的缓冲器23的用于预定层(照片图像层)的缓冲器的命令所获取的命令包。响应地,主CPU41以及摄像机块11的摄像机CPU21执行命令通信控制处理(图6)。
在该命令通信控制处理内,由主CPU41生成的命令包从记录/重现块12发送到摄像机块11的摄像机CPU21。摄像机CPU21发送相应于接收到的命令包的命令ACK包并且同时,执行该命令。当该命令被执行时,在摄像机CPU21的RAM内的图像数据被存储在摄像机块11的缓冲器23内的用于照片图像层的缓冲器内。所以,摄像机CPU21识别命令执行的完成,从而发送结果包至记录/重现块12。
接收结果包,主CPU41识别步骤S5的命令执行的完成,之后过程继续到步骤S6,在此主CPU41使摄像机CPU21打开摄像机块11的显示块24的电源。
也就是说,对于摄像机CPU21,主CPU41生成通过打包用于打开摄像机块11的显示块24的电源的命令所获得的命令包。响应地,主CPU41以及摄像机块11的摄像机CPU21执行命令通信控制处理(图6)。
在该命令通信控制处理内,由主CPU41生成的命令包从记录/重现块12发送到摄像机块11的摄像机CPU21。摄像机CPU21发送相应于接收到的命令包的命令ACK包并且同时,执行该命令。当该命令被执行时,电力被摄像机块11的电源线路27提供到显示块24以打开显示块24的电力。所以,摄像机CPU21识别命令执行的完成,从而发送结果包至记录/重现块12。
接收结果包,主CPU41识别步骤S6的命令执行的完成,之后过程继续到步骤S7,在此主CPU41打开在显示块24上形成显示的照片图像层,从而把来自缓冲器23内用于照片图像层缓冲器的图像数据显示到照片图像层。
也就是说,主CPU41控制摄像机CPU21以打开在摄像机块11的显示块24上形成显示的照片图像层,从而生成通过打包用于把来自缓冲器23内用于照片图像层缓冲器的图像数据显示到照片图像层的命令所获取的命令包。响应地,主CPU41以及摄像机块11的摄像机CPU21执行命令通信控制处理(图6)。
在该命令通信控制处理内,由主CPU41生成的命令包从记录/重现块12发送到摄像机块11的摄像机CPU21。摄像机CPU21发送相应于接收到的命令包的命令ACK包并且同时,执行该命令。当该命令被执行时,形成在显示块24上显示的照片图像层被打开,之后图像数据从缓冲器23内的用于照片图像层的缓冲器中被读取,相应于图像数据的图像被显示在照片图像层上。所以,摄像机CPU21识别命令执行的完成,从而发送结果包至记录/重现块12。
接收结果包,主CPU41识别相应于记录到盘60的图像已经被显示到摄像机块11内的显示块24上的照片图像层上,从而结束图像显示控制处理。
因此,记录/重现块12的主CPU41生成通过打包用于要为摄像机块11的摄像机CPU21执行被控制的处理的命令所获取的命令包,以及控制摄像机块11以通过命令通信控制处理执行相应于生成的命令的处理。
应该注意的是,在以上的描述中,在使用的例子中,记录/重现块12接收结果包然后发送下一命令包,然而,由于来自记录/重现块12的包发送的优先在摄像机块11和记录/重现块12之间是高的,只要相应于先前命令的命令ACK包已经被接收并且摄像机块11的发送队列108的空闲空间不是小的,记录/重现块12可根据先前的内容以及下一命令在结果包的接收之前发送下一命令包。
例如,在结果相应于用于把来自成像块22输入的图像数据记录至记录/重现块12的盘60上的命令的情况下,被记录至盘60的来自成像块22输入的图像数据在结果包212之后被作为结果数据包顺序地发送。在这样的情况下,只要相应于用于把来自成像块22输入的图像数据记录至记录/重现块12的盘60上的命令的命令ACK包已经被接受并且摄像机块11的发送队列108的空闲空间不是小的,记录/重现块12甚至可在结果包212被接收之前发送用于控制成像块22输入例如下一图像的命令包201。
以下参考图6和图7示出的流程图描述在图5示出的步骤S3到S7内执行的命令通信控制处理。为了更加明确,图5示出的步骤S3到S7仅仅在要被处理的命令的处理内容中互不相同而在命令通信控制中一般是相同的,所以这些步骤将参考图6作为整体描述。
应该注意的是,在图6示出的例子中,为了顺序地描述用于一条命令的一系列命令通信控制处理操作,由摄像机块11以及记录/重现块12执行的处理操作以方便描述的通信控制操作的顺序被示出。也就是说,在图6示出的例子中,步骤S21到步骤S23、S28、以及S32执行记录/重现块12的处理,步骤S25、S26、S29以及S30执行摄像机块11的处理,而步骤S24、S27以及S31执行摄像机块11和记录/重现块12共有的操作。
在以下,步骤S21到S23的处理操作也一般地被称为命令包发送准备处理,步骤S25和S26的处理操作也一般被称为命令ACK包发送准备处理,步骤S29和S30的处理操作也一般被称为结果包发送准备处理。
在步骤S21,记录/重现块12的主CPU41生成通过打包预定命令所获取的命令包(例如,在图5示出的步骤S3的情况下,用于使摄像机CPU21接收图像数据以把图像数据存储至摄像机块11的摄像机CPU21内的RAM中的命令)并且提供生成的命令包至发送队列控制器136。在步骤S22,主CPU41确定相应于先前发送的命令的命令ACK包是否已经被接收。
在步骤S22,如果主CPU41确定相应于先前发送的命令的命令ACK包没有被接收,那么过程跳过步骤S23和S24而到步骤S25。也就是说,在这种情况下,主CPU41不做出命令包发送请求;如果摄像机CPU21做出命令ACK包发送请求,那么主CPU41接受该请求。
换句话说,主CPU41延迟(或阻止)命令包发送直到先前的命令ACK包被从摄像机块11发送并且被主CPU41在随后描述的步骤S27内接收到。应该注意的是命令ACK包不是相应于当前命令包的命令ACK包而是相应于先前命令包的先前命令ACK包。
如果相应于先前发送的命令的命令ACK被发现在步骤S22内已被接收,那么主CPU41在步骤S23基于发送队列108的存储的空闲空间信息确定发送队列108的空闲空间是否比预定的阈值大。
如果在步骤S23发送队列108的空闲空间被发现比预定的阈值小,那么由于表示先前命令处理结果的结果包被存储在发送队列108内,步骤S24到S30的处理操作被跳过。过程继续到步骤S31,在此结果包被优先发送和接收。也就是说,在这种情况下,主CPU41不做出命令包发送请求但是接受由摄像机CPU21做出的结果包发送请求。
换句话说,主CPU41延迟(或阻止)命令包的发送直到先前的结果包被从摄像机块11中发送并且由主CPU41接受以确定发送队列108的空闲空间比预定的阈值大。
应该注意的是,由于此时在步骤S22先前的命令ACK包被确定已被接收,与步骤S25到S27的命令ACK包关联的处理操作也被跳过。如果命令ACK包与没有被接收的先前的命令ACK包一起存储在缓冲器107内,那么过程进行到步骤S27,在此在结果包被发送之前发送命令ACK包。在这种情况下,结果包不是相应于当前命令包而是相应于先前命令包。
如果在步骤S32主CPU41基于发送队列108的空闲空间信息确定发送队列108的空闲空间比预定的阈值大,那么请求通信控制块131发送命令包201。
响应地,在步骤S24,在主CPU41和摄像机CPU21的控制下,记录/重现块12的通信控制块131与摄像机块11的通信控制块101执行图7示出的命令包发送/接收控制处理M1。
在命令包发送/接收控制处理M1中,在主CPU41的控制下,记录/重现块12的通信控制块131通过串行数据线161-1发送命令包201,以及在摄像机CPU21的控制下,通信控制块101从记录/重现块12中接收命令包201。
通过记录/重现块12的通信控制块131的命令包发送控制处理将参考图8和图9被详细描述而相应的通过摄像机块11的通信控制块101的命令包接收控制处理将参考图10和图11被详细描述。
通过步骤S24的命令包发送/接收控制处理,摄像机块11的摄像机CPU21从记录/重现块12中接收命令包201。摄像机CPU21在命令包201上执行奇偶校验检查以分析命令包201,识别命令包201的接收的完成,以及执行命令包201的命令处理。然后过程到步骤S25。
在步骤S25,如果摄像机CPU21从接收队列控制器104中获取接收队列105的空闲空间信息以确定接收队列105的空闲空间是否比预定的阈值大,那么从而确定下一命令包是否是可接收的。
如果在步骤S25接收队列105的空闲空间被发现比预定的阈值小,那么步骤S26到S28的处理操作被跳过。在步骤S29,摄像机CPU21开始结果包发送准备处理。在这种情况下,结果包不是相应于当前命令包而是相应于先前命令包。
也就是说,摄像机CPU21确定下一命令包不能被接收直到存储在接收队列105内的命令包的命令已经被执行并且完成以及存储在接收队列105内的命令包的空闲空间被发现比预定的阈值大,从而延迟(或阻止)命令ACK包的发送。因此,如果在随后详细描述的步骤S30内生成结果包,由于命令已经在延迟期间被执行并完成,那么随后描述的步骤S31的包发送/接收处理被优先执行。
如果在步骤S25接收队列105的空闲空间被发现比预定的阈值大,那么下一命令包是可接收的。然后,在步骤S26,摄像机CPU21生成指示在接收内完成的命令包201接收的完成的命令ACK包211,并提供生成的包至发送队列控制器106,从而对通信控制块101请求命令ACK包211的发送。
响应地,在摄像机CPU21和主CPU41的控制下,摄像机块11的通信控制块101和记录/重现块12的通信控制块131在步骤S27执行图7示出的命令ACK包发送/接收控制处理M2。
在命令ACK包发送/接收控制处理M2内,在摄像机CPU21的控制下,摄像机块11的通信控制块101通过串行数据线161-1发送命令ACK包211,以及在主CPU41控制下,记录/重现块12的通信控制块131接收来自摄像机块11的命令ACK包。
通过摄像机块11的通信控制块101的命令ACK包发送控制处理将参考图13做详细描述以及通过记录/重现块12的通信控制块131的命令ACK包接收控制处理将参考图14做详细描述。
通过该命令ACK包发送/接收控制处理,相应于发送的命令的命令ACK包在记录/重现块12内被接收并且主CPU41的发送队列108的空闲空间信息基于附加到命令ACK包的发送队列信息被更新。
接收命令ACK包,在步骤S28记录/重现块12的主CPU41确定在步骤S21生成的命令包是否已经被发送。如果生成的命令包被发现还没有被发送,那么过程返回到步骤S22以重复上述的处理操作。也就是说,在步骤S27,生成的命令包被发现没有被发送,响应于先前命令的命令包ACK包被发送和接收。
如果记录/重现块12的主CPU41在步骤S28内确定命令包已经被发送,那么由于接收到的命令ACK包相应于步骤S21内生成的命令包,主CPU41可开始下一命令包201的发送准备(或步骤S21到S23的处理操作),从而识别下一命令是可发送的。
另一方面,在摄像机块11内,命令包201内的命令被与步骤S27内的命令ACK包发送/接收控制处理同时执行。当步骤S27的命令ACK包发送/接收控制处理完成时,摄像机CPU21在步骤S29确定命令包201内的命令的执行是否已经完成。摄像机CPU21等待直到命令包201内的命令的执行结束。
如果摄像机CPU21在步骤S29确定命令包201内的命令的执行已经完成,那么摄像机CPU21在步骤S30生成指示命令包201内的命令的执行完成的结果包212并且提供生成的结果包至发送队列控制器106,同时向通信控制块101请求结果包212的发送。
响应地,在摄像机CPU21和主CPU41的控制下,摄像机块11的通信控制块101和记录/重现块12的通信控制块131在步骤S31执行图7示出的结果包发送/接收控制处理M3。
在结果包发送/接收控制处理M3内,在摄像机CPU21的控制下,摄像机块11的通信控制块101通过串行数据线161-1发送结果包212,以及在主CPU41控制下,通信控制块131接收来自摄像机块11的结果包212。
通过摄像机块11的通信控制块101的结果包发送控制处理将参考图16做详细描述以及通过记录/重现块12的通信控制块131的结果包接收控制处理将参考图17做详细描述。
通过该结果包发送/接收控制处理,结果包在摄像机块11内被发送,以使存储在摄像机块11内的发送队列108内的结果包的数量下降以增加发送队列108的空闲空间。在记录/重现块12内,相应于先前发送的命令的结果包被接收并且,基于附加到接收的结果包的发送队列信息,主CPU41的发送队列108的空闲空间被更新。
通过步骤S31的处理,在步骤S32内,接收到结果包的记录/重现块12的主CPU41确定在步骤S21生成的命令包是否已经被发送。如果生成的命令包被发现还没有被发送,那么过程返回到步骤S22以重复上述的处理操作。也就是说,在步骤S31的处理中,生成的命令包被发现没有被发送,相应于先前命令的结果包被发送和接收。
如果记录/重现块12的主CPU41在步骤S32确定命令包已经在被发送,那么对于该命令的通信控制处理结束。
应该注意的是根据要被发送和接收的命令的内容,对于某些命令不生成结果包。在这种情况下,上述图6示出的处理的步骤S29到S31的处理操作被跳过。
因此,在记录/重现块12和摄像机块11之间命令通信中,控制整体记录/重现装置1的记录/重现块12的命令发送是被优先考虑的。然而,每个要被从摄像机块11发送的包在发送之前被附加摄像机块11的发送队列108的空闲空间信息,以使在命令通信内执行控制的记录/重现块12可获得有关摄像机块11的发送队列108状态的信息。所以,如果发送队列108的空闲空间超过预定的阈值,那么来自摄像机块11的包发送可优先于来自记录/重现块12的包发送。
由于包保留在摄像机块11方,来自摄像机块11的包发送的优先可防止发送队列108的溢出。这可进而防止命令通信的控制变得困难。
此外,摄像机块11发送命令ACK包,该包指示一对一相应于命令包的命令的接收已经完成并且下一命令准备接收,并且记录/重现块12不能发送下一命令包除非相应于发送的包的命令ACK包被接收。该配置防止摄像机块11接收过多的命令包(从而导致在接收队列105内的溢出)。
此外,该命令ACK包也被附加摄像机块11的发送队列108的空闲空间信息。因此,如果结果包很长时间在例如延迟的命令执行的完成的情况下没有被接收,那么命令ACK包对于每个命令被发送和接收,从而使在命令通信内执行控制的记录/重现块12能够时常获取有关摄像机块11的发送队列108状态的信息。
也就是说,在记录/重现块12内,摄像机块11的发送队列108的状态可被时常地知道,以使如果摄像机块11的状态更改的过程(或正在执行的处理)不总是被维持,那么命令通信的控制被防止变得困难。
如以上描述的,只控制记录/重现块12和摄像机块11之间的命令通信内的记录/重现块12的主CPU41允许舒适的通信。
此外,如果命令规范被修改,只有控制整个记录/重现装置1(包括命令通信的控制)的记录/重现块12可被相应地修改,从而免除摄像机块11的修改。
以下参考图8到11的流程图以及图12的箭头图描述了图6示出的步骤24的命令包发送/接收控制处理。图8和图9示出了记录/重现块12的命令包发送控制处理,而图10和图11示出了摄像机块11的命令包接收控制处理。图12示出了通过记录/重现块12的处理和通过摄像机块11的处理之间的关系。
在以下,通过记录/重现块12和通过摄像机块11的处理操作分别参考图8到图11被描述。在这些块之间处理中的关系参考图12相应的步骤是容易理解的。应该注意的是,在图12中,那些不与被记录/重现块12和摄像机块11共同执行的处理直接关联的步骤被适当地跳过。
首先,记录/重现块12的命令包发送控制处理将参考图8和图9所示的流程图被描述。
在步骤S51,记录/重现块12的通信控制块131等待直到主CPU41请求命令包的发送。当命令包发送请求被发现从主CPU41中接收时,过程继续到步骤S52,在此通信控制块131通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11。
通过通信控制线163-1和端口112接收REQ信号(drive_REQ),摄像机块11通过端口112和通信控制线163-4返回ACK信号(camera_ACK)(图10和12中示出的步骤S72)。
在步骤S53,记录/重现块12的通信控制块131通过通信控制线163-4和端口142接收ACK信号(camera_ACK)并且通知其中的主CPU41,之后过程继续到步骤S54。在步骤S54,通信控制块131通过端口142和通信控制线163-3基于通过主CPU41的命令包发送准备的完成发送ACK信号(drive_ACK)至摄像机块11,之后过程继续到步骤S55,在此通信控制块131等待直到从摄像机块11中接收到时钟信号。
通过通信控制线163-3接收ACK信号(drive_ACK),摄像机块11通过串行I/F111和串行时钟线161-2发送预定的时钟信号(图10和12的步骤S74)。
在步骤S55,记录/重新块12的通信控制块131确定时钟通过串行线161-2和串行I/F141已经被接收,之后过程继续到步骤S56,在此通信控制块131控制发送队列控制器136以与接收到的时钟同步的方式发送命令包至摄像机块11。
为了更加明确,主CPU41在图6的步骤S21内生成命令包并且提供生成的命令包至发送队列控制器136。发送队列控制器136把提供的命令包存储在发送队列138内并且在通信控制块131的控制下,在步骤S56内从发送队列138中读取命令包,提供命令包至P/S转换块139。P/S转换块139以与来自摄像机块11的时钟同步的方式P/S转换命令包并且提供经转换的命令包至串行I/F141。串行I/F141通过串行数据线161-1发送接收到的命令包至摄像机块11。
通过串行数据线161-1接收命令包,摄像机块11通过端口112和通信控制线163-4返回ACK信号(camera_ACK)(图11和12的步骤S77或S79)。
在步骤S57内,通过通信控制线163-4和端口142从摄像机块11中接收ACK信号(camera_ACK),记录/重现块12的通信控制块131通知其中的主CPU并且,在主CPU41的控制下,确定是否有任何数据包要发送,或有任何命令数据包在发送队列138内。如果要发送的数据包被发现,那么过程继续到步骤S59,在步骤S59,通信控制块131通过端口142和通信控制线163-3基于通过主CPU41的命令数据包发送准备的完成发送ACK信号(drive_ACK)至摄像机块11,之后过程继续到步骤S60,在此通信控制块131等待直到从摄像机块11中接收到时钟信号。
通过通信控制线163-3接收ACK信号(drive_ACK),摄像机块11通过串行I/F111和串行时钟线161-2返回预定的时钟(图10和12的步骤S81或步骤S85)。
在步骤S60,记录/重现块12的通信控制块131确定时钟已经通过串行时钟线161-2和串行I/F141被接收,之后过程继续到步骤S61,在此通信控制块131控制发送队列控制器136以与接收到的时钟同步的方式发送命令数据包至摄像机块11,之后过程返回步骤S58以重复上述的处理。
也就是说,步骤S59到S61的处理操作被重复直到所有的命令数据包在记录/重新块12内被发送并且相应的摄像机块11的处理也被重复(图11和12的步骤S84到S86)。
如果在步骤S58没有再发现要被发送的数据包,那么通信控制块131结束该命令包发送控制处理。随后,过程继续到图6的步骤S25,在此执行命令ACK包发送准备处理。
以下参考图10和11示出的流程图描述摄像机块11的命令包接收控制处理。
记录/重现块12通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11(图8和12的步骤S52)。
在步骤S71,摄像机块11的通信控制块101等待直到REQ信号(drive_REQ)被从记录/重现块12中接收。通信控制块101通过通信控制线163-1以及端口112接收REQ信号(drive_REQ)并且通知其中的摄像机CPU21,之后过程继续到步骤S72。在步骤S72,通信控制块101通过端口112以及通信控制线163-4基于通过摄像机CPU21的命令包发送请求的接受发送ACK信号(camera_ACK)至记录/重现块12。
通过通信控制线163-4接收ACK信号(camera_ACK),记录/重现块12通过端口142和通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图8和12的步骤S54)。
在步骤S73,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21,之后过程继续到步骤S74。在步骤S74,在摄像机CPU21的控制下,通信控制块101通过串行I/F111和串行时钟线161-2发送由合并的时钟生成器(未示出)生成的预定的时钟至记录/重现块12。
通过串行时钟线161-2接收时钟,记录/重现块12通过串行数据线161-1发送命令包至摄像机块11(图8和12的步骤S56)。
在步骤S75,摄像机块11的摄像机CPU21通过串行数据线161-1、串行I/F111、S/P转换块103、以及接收队列控制器104接收命令包并且在接收到的命令包上执行奇偶校验检查和分析,之后如果在命令包内没有找到错误,那么过程继续到图11的步骤S76。
为了更加明确,串行I/F111通过串行数据线161-1接收命令包并且提供接收到的命令包至S/P转换块103。S/P转换块103在接收到的命令包上基于来自通信控制块101的时钟执行S/P转换并且提供经转换的命令包至接收队列控制器104。在摄像机CPU21的控制下,接收队列控制器104把提供的命令包存储在接收队列105内并且从中读取命令包,提供命令包到摄像机CPU21。
应该注意的是,虽然没有示出,如果在步骤S75检测到错误,那么摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-6发送NACK信号(camera_NACK)至记录/重现块12。所以,命令包在记录/重现块12内被重新发送。
在步骤S76,摄像机CPU21确定命令数据包是否在命令包之后被接收,也就是说,确定是否有任何数据包要接收。如果没有发现要接收的数据包,那么过程继续到步骤S77,在此摄像机CPU21控制通信控制块101以通过端口112以及通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12,从而结束该命令包接收控制处理。随后,过程继续到图6的步骤S25,在此执行命令ACK包发送准备处理。
如果摄像机CPU21在步骤S76确定有要接收的数据包,那么过程继续到步骤S78,在此摄像机CPU21从接收队列控制器104中获得接收队列105的空闲空间信息并且等待直到接收队列105变得准备好接收。如果接收队列105被发现准备接收,那么过程继续到步骤S79,在此摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12,之后过程继续到步骤S80。
通过通信控制线163-4接收ACK信号(camera_ACK),记录/重现块12通过端口142和通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图9和12的步骤S59)。
在步骤S80,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21,之后过程继续到步骤S81。在步骤S81,在摄像机CPU21的控制下,通信控制块101通过串行I/F111和串行时钟线161-2发送由合并的时钟生成器(未示出)生成的预定的时钟至记录/重现块12。
通过串行时钟线161-2接收时钟,记录/重现块12通过串行数据线161-1返回命令数据包至摄像机块11(图9和12的步骤S61)。
在步骤S82,摄像机块11的摄像机CPU21通过串行数据线161-1、串行I/F111、S/P转换块103、以及接收队列控制器104接收命令包并且在接收到的命令包上执行奇偶校验检查和分析。如果在命令包内没有找到错误,那么过程继续到步骤S83。
在步骤S83,摄像机CPU21确定是否再有要被接收的数据包。如果没有找到要接收的数据包,那么摄像机CPU21结束该命令ACK包发送准备处理。
如果摄像机CPU21在步骤S83确定有要接收的数据包,那么过程继续到步骤S84。
如果有要发送的数据包,那么记录/重现块12通过端口142以及通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图9和12的步骤S59)。
在步骤S84,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21,之后过程继续到步骤S85。在步骤S85,在摄像机CPU21的控制下,通信控制块101通过串行I/F111和串行时钟线161-2发送由合并的时钟生成器(未示出)生成的预定的时钟至记录/重现块12。
通过串行时钟线161-2接收时钟,记录/重现块12通过串行数据线161-1返回命令数据包至摄像机块11(图9和12的步骤S61)。
在步骤S86,摄像机块11的摄像机CPU21通过串行数据线161-1、串行I/F111、S/P转换块103、以及接收队列控制器104接收命令包并且在接收到的命令包上执行奇偶校验检查和分析。如果在命令包内没有找到错误,那么过程返回到步骤S83以重复上述处理。
也就是说,步骤S84到S86的处理操作被重复直到所有的命令数据包已经在摄像机块11内被接收并且相应的通过记录/重现块12的处理也被重复(图9和12的步骤S59到S61)。
以下参考图13和14的流程图以及图15的箭头图描述了图6示出的步骤27的命令ACK包发送/接收控制处理。图13示出了摄像机块11的命令ACK包发送控制处理。图14示出了记录/重现块12的命令ACK包接收控制处理。图15示出了记录/重现块12和摄像机块11之间处理中的关系。
在以下,通过记录/重现块12和通过摄像机块11的处理操作分别参考图13和图14被描述。在这些块之间处理中的关系参考图15相应的步骤是容易理解的。应该注意的是,在图15中,那些不与被记录/重现块12和摄像机块11共同执行的处理直接关联的步骤被适当地跳过。
首先,通过摄像机块11的命令ACK包发送控制处理将参考图13的流程图被描述。
在步骤S101,摄像机块11的通信控制块101等待直到摄像机CPU21请求命令ACK包的发送。当命令ACK包发送请求来自从摄像机CPU21时,过程继续到步骤S102,在此通信控制块101通过端口112以及通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12。
通过通信控制线163-2接收REQ信号(camera_REQ),记录/重现块12通过端口142和通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图14和15中示出的步骤S122)。
在步骤S103,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21,检查通过记录/重现块12的主CPU41的接受,之后过程继续到步骤S104。
在步骤S104,基于通过摄像机CPU21的命令ACK包发送准备的完成,通信控制块101控制发送队列控制器106以把有关发送队列108的总容量以及空闲空间的发送队列信息附加到命令ACK包,之后过程继续到步骤S105。在步骤S105,通信控制块101通过串行时钟线161-2发送预定的时钟至记录/重现块12以及控制发送队列控制器106以发送附加了发送队列信息的命令ACK包。
为了更加明确,摄像机CPU21在图6的步骤S26内生成命令ACK包并且提供生成的命令ACK包至发送队列控制器106。发送队列控制器106把提供的命令ACK包存储在缓冲器107内。在步骤S104,在通信控制块101的控制下,发送队列控制器106从缓冲器107内读取命令ACK包并且导致信息附加块113把发送队列108的总容量和空闲空间的发送队列信息附加到命令ACK包。在步骤S105,发送队列控制器106提供附加了发送队列信息的命令ACK包至P/S转换块109。
此时,通信控制块101通过串行时钟线161-2发送预定的时钟至记录/重现块12和P/S转换块109。与通信控制块101提供的时钟同步,P/S转换块109P/S转换命令ACK包并且提供经转换的命令ACK包至串行I/F111。串行I/F111通过串行数据线161-1发送来自P/S转换块109的命令ACK包至记录/重现块12。
记录/重现块12通过串行时钟线161-2接受时钟,与接收到的时钟同步,通过串行数据线161-1接收命令ACK包。然后记录/重现块12通过端口142和通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图14和15的步骤S126)。
在步骤S106,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21。所以,摄像机CPU21确认命令ACK包已经被记录/重现块12接收并且结束该命令ACK包发送控制处理。然后,过程继续到图6的步骤S28,在此确定步骤S21内生成的命令包的发送。
以下参考图14示出的流程图描述记录/重现块12的命令ACK包接收控制处理。
摄像机块11通过端口112和通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12(图13和15的步骤S102)。
在步骤S121,记录/重现块12的通信控制块131等待直到REQ信号(camera_REQ)从摄像机块11中来。通信控制块131通过端口142以及通信控制线163-2接收REQ信号(camera_REQ),并且通知其中的主CPU41,之后过程继续到步骤S122。在步骤S122,通信控制块131通过端口142和通信控制线163-3基于通过主CPU41对命令ACK包发送请求的接受,发送ACK信号(drive_ACK)至摄像机块11。
应该注意的是,在图13示出的例子中,没有REQ信号(drive_REQ)被从记录/重现块12中发送(也就是说,没有REQ信号不被接近于同时地在摄像机块11和记录/重现块12中所接收),以使当主CPU41变得准备好接收命令ACK包时,通信控制块131发送ACK信号(drive_ACK)至摄像机块11。
通过通信控制线163-3接收ACK信号(drive_ACK),摄像机块11通过串行时钟线161-2发送预定的时钟并且通过串行数据线161-1发送命令ACK包(图13和15的步骤S105)。
在步骤S123,记录/重现块12的主CPU41通过串行数据线161-1以与通过串行时钟线161-2接收的时钟同步的方式接收命令ACK包,之后过程继续到步骤S124。
为了更加明确,通过串行时钟线161-2和串行I/F141接收到的时钟被提供至通信控制块131和至S/P转换块133。串行I/F141提供通过串行数据线161-1接收的命令ACK包至S/P转换块133。S/P转换块133以与来自串行I/F141的时钟同步的方式S/P转换命令ACK包并且提供经转换的命令ACK包至接收队列控制器134。
在主CPU41的控制下,接收队列控制器134把提供的命令ACK包存储在接收队列135内并且从接收队列135中读取命令ACK包,提供命令ACK包至主CPU41。
在步骤S124,记录/重现块12的主CPU41在命令ACK包上执行奇偶校验检查和分析。如果在命令ACK包内没有检测出错误,那么主CPU41获得附加到命令ACK包上的发送队列信息,之后过程继续到步骤S125。
应该注意的是,虽然没有示出,如果在步骤S124检测到错误,那么主CPU41控制通信控制块131以通过端口142和通信控制线163-5发送NACK信号(drive_NACK)至摄像机块11。所以,命令ACK包在摄像机块11内被重新发送。
在步骤S125,记录/重现块12的主CPU41基于获取的发送队列信息更新存储的摄像机块11的发送队列108的空闲空间信息,之后过程继续到步骤S126。发送队列108的更新的空闲空间信息与在上述图6的步骤S23内的预定阈值比较,从而执行命令通信控制。
在步骤S126,记录/重现块12的主CPU41控制通信控制块131以通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11,从而结束该命令ACK包接收控制处理。然后,过程继续到步骤S28,在此确定在步骤S21内生成的命令包的发送。
以下参考图16和17的流程图以及图18的箭头图描述了图6示出的步骤31的结果包发送/接收控制处理。图16示出了摄像机块11的结果包发送控制处理。图17示出了记录/重现块12的结果包接收控制处理。图18示出了记录/重现块12和摄像机块11之间的处理中的关系。
在以下,通过通过摄像机块11和记录/重现块12的处理操作分别参考图16和图17被描述。在这些块之间处理中的关系参考图18相应的步骤是容易理解的。应该注意的是,在图18中,那些不与被摄像机块11和记录/重现块12共同执行的处理直接关联的步骤被适当地跳过。
首先,通过摄像机块11的结果包发送控制处理将参考图16的流程图被描述。
在步骤S141,摄像机块11的通信控制块101等待直到摄像机CPU21做出结果包发送请求。当结果包发送请求来自摄像机CPU21时,过程继续到步骤S142,在此通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12。
通过通信控制线163-2接收REQ信号(camera_REQ),记录/重现块12通过通信控制线163-3返回ACK信号(drive_ACK)至摄像机块11(图17和18中示出的步骤S162)。
在步骤S143,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21以及通过记录/重现块12的主CPU41确认接收的接受,之后过程继续到步骤S144。在步骤S144,基于通过摄像机CPU21的结果包发送准备的完成,通信控制块101控制发送队列控制器106以把有关发送队列108的总容量以及空闲空间的发送队列信息附加到结果包,之后过程继续到步骤S145。在步骤S145,通信控制块101通过串行时钟线161-2发送预定的时钟至记录/重现块12以及控制发送队列控制器106以发送附加了发送队列信息的结果包。
为了更加明确,摄像机CPU21在图6的步骤S30内生成结果包并且提供生成的结果包至发送队列控制器106。发送队列控制器106把接收的结果包存储在发送队列108内,在步骤S104,从发送队列108内读取结果包并且导致信息附加块113把有关发送队列108的总容量和空闲空间的发送队列信息附加到结果包,从而在步骤S105提供附加了发送队列信息的结果包至P/S转换块109。
此时,通信控制块101通过串行时钟线161-2发送预定的时钟至记录/重现块12和P/S转换块109。与通信控制块101提供的时钟同步,P/S转换块109P/S转换结果包并且提供经转换的结果包至串行I/F111。串行I/F111通过串行数据线161-1发送来自P/S转换块109的结果包至记录/重现块12。
通过串行时钟线161-2接受时钟以及与通过串行数据线161-1接收到时钟同步的方式接收结果包,记录/重现块12通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11(图17和18的步骤S168或S170)。
在步骤S146,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21。摄像机CPU21确认结果包是否已经被记录/重现块12接收。在步骤S147,摄像机CPU21确定是否有要发送的数据包,也就是说,是否有结果数据包在发送队列108内。如果没有发现要被发送数据包,那么摄像机CPU21结束该命令包发送控制处理。随后,过程继续到图6的步骤S32,在此确定在步骤S21生成的命令包的发送。
如果在步骤S147内发现要发送的数据包,那么过程继续到步骤S148,在此通信控制块101通过串行时间线161-2基于通过摄像机CPU21的结果包发送准备的完成发送预定的时钟至记录/重现块12并且控制发送队列控制器106以发送附加了发送队列信息的结果数据包。
记录/重现块12通过串行时钟线161-2接收时钟,并且以与接收到的时钟同步的方式通过串行数据线161-1接收结果数据包。当记录/重现块12准备好接收,记录/重现块12通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11(图17和18的步骤S168)。
在步骤S149,通信控制块101通过通信控制线163-3和端口112接收ACK信号(drive_ACK)并且通知其中的摄像机CPU21。所以,摄像机CPU21确认结果包已经被记录/重现块12所接收,之后过程返回步骤S147以重复上述的处理。
也就是说,步骤S148和S149内的处理操作被重复直到所有结果包在摄像机块11内被发送并且相应的记录/重现块12的处理也被重复(图17和18的步骤S167到S169)。
以下参考图17示出的流程图描述记录/重现块12的结果包接收控制处理。
摄像机块11通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12(图16和18的步骤S142)。
在步骤S161,记录/重现块12的通信控制块131等待直到REQ信号(camera_REQ)从摄像机块11收到。当REQ信号被通过端口142以及通信控制线163-2所接收时,通信控制块131通知其中的主CPU41,之后过程继续到步骤S162。在步骤S162,通信控制块131通过端口142和通信控制线163-3基于通过主CPU41对结果包发送请求的接受,发送ACK信号(drive_ACK)至摄像机块11。
应该注意的是,如图14示出的例子,在图17示出的例子,没有REQ信号(drive_REQ)被从记录/重现块12中发送(也就是说,没有REQ信号不被接近于同时地在摄像机块11和记录/重现块12中所接收),以使当主CPU41变得准备号接收命令ACK包时,通信控制块131发送ACK信号(drive_ACK)至摄像机块11。
通过通信控制线163-3接收ACK信号(drive_ACK),摄像机块11通过串行时钟线161-2发送预定的时钟并且通过串行数据线161-1发送结果包(图16的步骤S145)。
在步骤S163,记录/重现块12的主CPU41通过串行数据线161-1以与通过串行时钟线161-2接收的时钟同步的方式接收结果包,之后过程继续到步骤S164。
为了更加明确,通过串行时钟线161-2和串行I/F141接收到的时钟被提供至通信控制块131和S/P转换块133。串行I/F141也提供通过串行数据线161-1接收的结果包至S/P转换块133。S/P转换块133以与来自串行I/F141的时钟同步的方式S/P转换结果包并且提供经转换的结果包至接收队列控制器134。
在主CPU41的控制下,接收队列控制器134把提供的结果包存储在接收队列135内并且从接收队列135中读取结果包,提供结果包至主CPU41。
在步骤S164,记录/重现块12的主CPU41在接收到的结果包上执行奇偶校验检查和分析。如果在结果包内没有检测出错误,那么主CPU41获得附加到结果包上的发送队列信息,之后过程继续到步骤S165。
应该注意的是,虽然没有示出,如果在步骤S164检测到错误,那么主CPU41控制通信控制块131以通过端口142和通信控制线163-5发送NACK信号(drive_NACK)至摄像机块11。所以,命令ACK包在摄像机块11内被重新发送。
在步骤S165,记录/重现块12的主CPU41基于获取的发送队列信息更新存储的摄像机块11的发送队列108的空闲空间信息,之后过程继续到步骤S166。发送队列108的更新的空闲空间信息与在上述图6的步骤S23内的预定阈值比较,从而执行命令发送控制。
在步骤S166,记录/重现块12的主CPU41确定是否在结果包后结果数据包被接收,也就是说是否有任何数据要被接收。如果找到要被接收的数据,那么过程继续到步骤S167,在此主CPU41获得接收队列135的空闲空间信息并且等待直到接收队列135变得准备好接收。当发现接收队列135准备好接收时,那么主CPU41在步骤S168控制通信控制块131以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12,之后过程继续到步骤S169。
通过通信控制线163-3接收ACK信号(drive_ACK),摄像机块11通过串行时钟线161-2发送预定的时钟以及通过串行数据线161-1发送结果数据包(图16的步骤S149)。
在步骤S169,记录/重现块12的主CPU41通过串行数据线161-1以与通过串行时钟线161-2接收的时钟同步的方式接收结果数据包,之后过程返回到步骤S166以重复上述的处理。
也就是说,在记录/重现块12中,步骤S167到S169的处理操作被重复直到所有的结果数据包被接收并且相应的摄像机块11的操作也被重复(图16和18的步骤S148和S149)。
如果在步骤S166内没有找到要接收的数据,那么过程继续到步骤S170,在此主CPU41控制通信控制块131以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12,从而结束该结果包接收控制处理。随后,过程继续到步骤S32,在此确定步骤S21内生成的命令包的发送。
因此,发送队列信息被附加到每个是命令包的执行结果的结果包上以及分别一对一地相应于命令包的命令ACK包上,以使在摄像机块11方的发送队列信息可被获取。该配置防止摄像机块11由于例如在摄像机块11的发送队列内仅仅通过控制记录/重现块12的溢出而变得不受控制,从而通过串行线提供在摄像机块和记录/重现块之间舒服的包通信。
在记录/重现块12内,一旦命令包被发送到摄像机块11,下一命令包不能被发送直到相应于发送的命令包的命令ACK包被接收。也就是说,在记录/重现块12内,每次命令包被发送,相应的命令ACK包总是被接收。
所以,把发送队列信息附加到每个命令ACK包总是在每次命令包被发送时允许发送队列信息的获得。这比仅仅把发送队列信息附加到结果包上更有优势,因为在摄像机块方上的缓冲器信息可被时常地获得。
此外,如果附加了发送队列信息的命令ACK包(或结果包)被记录/重现块接收并且由发送队列信息指示的发送队列空闲空间比预定的阈值小,那么记录/重现块不发送命令,从而通过摄像机块释放用于发送的通信路径。也就是说,附加了发送队列信息的命令ACK包(或结果包)被认为是指示用于清除发送路径的请求的包。
应该注意的是,在以上的描述中,在使用的例子中,只有来自记录/重现块12的REQ信号(drive_REQ)或来自摄像机块11的REQ信号(camera_REQ)中的一个已经在每个包发送/接收操作内被发送,也就是说,来自记录/重现块12的REQ信号(drive_REQ)和来自摄像机块11的REQ信号(camera_REQ)没有导致接近同时的中断。然而,可以有这样的情况,其中来自记录/重现块12的REQ信号(drive_REQ)和来自摄像机块11的REQ信号(camera_REQ)导致了接近同时的中断。
以下参考图19到图22的箭头图描述了当来自记录/重现块12的REQ信号(drive_REQ)和来自摄像机块11的REQ信号(camera_REQ)导致了接近同时的中断时被执行的包发送/接收控制处理。
应该注意的是,图19到图22示出的包发送/接收控制处理是参考以上图8到图18描述的包发送/接收控制处理的另一例子。记录/重现块12和摄像机块11的各自的处理实质上是相同的,其中来自记录/重现块12的REQ信号(drive_REQ)和来自摄像机块11的REQ信号(camera_REQ)没有被发送。因此,图19到图22示出的包发送/接收控制处理的说明和详细描述被跳过。
首先,将参考图19的箭头图描述一例子,其中来自记录/重现块12的REQ信号(drive_REQ)的发送比来自摄像机块11的REQ信号(camera_REQ)的发送足够快。
在步骤S201,当主CPU41对记录/重现块12的通信控制块131请求命令包的发送时,过程继续到步骤S202,在此通信控制块131通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11。
响应地,在步骤S221,摄像机块11的通信控制块通过端口112和通信控制线163-1接收REQ信号(drive_REQ)。
另一方面,摄像机块11的摄像机CPU21完成先前命令的处理,作为其中的结果,对通信控制块101请求结果包的发送。在步骤S222,通信控制块101被摄像机CPU21请求结果包的发送。由于REQ信号(drive_REQ)已经在步骤S221被接收,通信控制块101发送它的通知至摄像机CPU21以把结果包发送请求设置为等待状态,从而使REQ信号(camera_REQ)的发送中止。
接下来,在步骤S223,摄像机块11的通信控制块101通过端口112和通信控制线163-4基于通过摄像机CPU21对命令包接收的接受发送ACK信号(camera_ACK)。
在步骤S203,记录/重现块12的通信控制块131通过通信控制线163-4和端口142接收ACK信号(camera_ACK)。当通过主CPU41的命令包发送准备已经完成时,过程继续到步骤S204,在此通信控制块131通过端口142和通信控制线163-3发送ACK信号(drive_ACK)。
在步骤S224,摄像机块11的通信控制块101通过通信控制线163-3接收ACK信号(drive_ACK),之后过程继续到步骤S225,在此通信控制块101通过串行I/F111和串行时钟线161-2发送预定的时钟。
在步骤S205,记录/重现块12的通信控制块131通过串行时钟线161-2和串行I/F141接收时钟并且通知其中的主CPU41。在步骤S206,主CPU41控制发送队列控制器136以与在步骤S205内接收到的时钟同步的方式发送命令包至摄像机块11。
在步骤S226,摄像机块11的摄像机CPU21通过串行数据线161-1接收命令包并且分析接收到的命令包。如果在命令包内没有检测出错误,那么过程继续到步骤S227,在此摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12。
在步骤S207,记录/重现块12的通信控制块131从摄像块11通过通信控制线163-4和端口142接收ACK信号(camera_ACK)并且通知其中的主CPU41。从而,主CPU41确认命令发送已经完成。
另一方面,摄像机块11的摄像机CPU21请求通信控制块101保持备用状态的结果包在通过通信控制块101的ACK信号(camera_ACK)的发送之后的重新发送。在步骤S228,通信控制块101从摄像机CPU21接收结果包发送请求。在步骤S229,通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12。
由于命令发送已经在步骤S207完成,记录/重现块12的通信控制块131在步骤S208从摄像机块11中接收REQ信号(camera_REQ)。
应该注意的是,在图19的步骤S208和S229之后的处理操作一般与图16到18的结果包发送/接收控制处理(或步骤S162和S143之后的处理操作)相同,所以它们的描述将为了简略而被省略。
以下参考图20示出的箭头图描述了一种情况,其中来自摄像机块11的REQ信号(camera_REQ)在来自记录/重现块12的REQ信号(drive_REQ)的发送之后立即被接收。
当在步骤S241来自主CPU41的命令包发送请求到来时,过程继续到步骤S242,在此记录重现块2的通信控制块131通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11。
另一方面,摄像机块11的摄像机CPU21完成先前命令执行的操作并且请求通信控制块101结果包的发送作为完成的结果。在步骤S261,摄像机块11的通信控制块101接受来自摄像机CPU21的结果包的发送的请求。在步骤S262,通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12并且等待来自记录/重现块12的ACK(drive_ACK)(也就是说,结果包接收请求的接受)。
然而,在步骤S263,摄像机块11的通信控制块101接收REQ信号(drive_REQ),该信号是通过端口112和通信控制线163-1的命令包发送请求。REQ信号(drive_REQ)而不是ACK信号(drive_ACK)的接收告诉通信控制块101在记录/重现块12中没有REQ信号(camera_REQ)被接收到。通信控制块101通知其中的主CPU21。摄像机CPU21接收命令包发送请求并且等待结果包发送请求。在步骤S264,摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)。
REQ信号(camera_REQ)通过通信控制线163-2来自摄像机块11。然而,由于REQ信号(drive_REQ)已经在步骤S242被接收,记录/重现块12的通信控制块131忽略REQ信号(camera_REQ)的接收并且不发送ACK信号(drive_ACK)(或阻止它的发送),之后过程继续到步骤S243。
在步骤S243,记录/重现块12的通信控制块131从摄像块11通过通信控制线163-4接收ACK信号(camera_ACK)。当通过主CPU41的命令包发送准备已经完成时,过程继续到步骤S244,在此通信控制块131通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11。
在步骤S265,摄像机块11的通信控制块101通过通信控制线163-3接收ACK信号(drive_ACK),之后过程继续到步骤S266,在此通信控制块101通过串行I/F111和串行时钟线161-2发送预定的时钟。
在步骤S245,记录/重现块12的通信控制块131通过串行时钟线161-2和串行I/F141接收时钟并通知其中的主CPU41。在步骤S246,主CPU41控制发送队列控制器136以与在步骤S245内接收到的时钟同步的方式发送命令包至摄像机块11。
在步骤S267,摄像机块11的摄像机CPU21通过串行数据线161-1接收命令包并分析接收到的命令包。如果在命令包内没有检测出错误,那么过程继续到步骤S268,在此摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12。
在步骤S247,记录/重现块12的通信控制块131通过通信控制线163-4和端口142接收来自摄像机块11的ACK信号(camera_ACK)并且通知其中的主CPU41。从而,主CPU41确认命令发送已经完成。
另一方面,在通过通信控制块101的ACK信号(camera_ACK)的发送后,摄像机块11的摄像机CPU21向通信控制块101请求保持在备用状态的结果包的重新发送。在步骤S269,通信控制块101接收结果包发送请求,之后过程继续到步骤S270,在此通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12。
由于命令发送已经在步骤S247完成,记录/重现块12的通信控制块131在步骤S248从摄像机块11接收REQ信号(camera_REQ)。
应该注意的是,在图20示出的步骤S248和S270之后的处理操作一般与图16到18的结果包发送/接收控制处理(或步骤S162和S143之后的处理操作)相同,所以它们的描述为了简略而被省略。
以下参考图21示出的箭头图描述了一种情况,其中来自摄像机块11的REQ信号(camera_REQ)在来自记录/重现块12的REQ信号(drive_REQ)的发送之前立即被接收。
当先前的命令的执行已经完成时,摄像机块11的摄像机CPU21向通信控制块101请求结果包的发送作为完成的结果。在步骤S301,结果包的发送由摄像机CPU21请求。在步骤S302,通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12并且等待来自记录/重现块12的ACK信号(drive_ACK)(也就是说,结果包接收请求的接受)。
另一方面,当记录/重现块12的通信控制块131在步骤S281接收来自主CPU41的命令包发送请求时,之后REQ信号(camera_REQ)立即通过通信控制线163-2来自摄像机块11中。
然而,由于记录/重现块12的通信控制块131已经在REQ信号(camera_REQ)的发送之前立即在步骤S281内已经接收到来自主CPU41的命令包发送请求,通信控制块131忽略REQ信号(camera_REQ)的接收并且不发送(或阻止它的发送)ACK(drive_ACK)信号,之后过程继续到步骤S282。在步骤S282,响应于来自主CPU41的命令包发送请求,通信控制块131通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11。
在步骤S303,摄像机块11的通信控制块101接收REQ信号(drive_REQ),该信号是通过端口112和通信控制线163-1的命令包发送请求。由于REQ信号(drive_REQ)而不是ACK信号(drive_ACK)被从记录/重现块12中接收,通信控制块101意识到在记录/重现块12中没有REQ信号(camera_REQ)被接收到,并且通知其中的主CPU21。摄像机CPU21接受命令包发送请求并且等待结果包发送请求,之后过程继续到步骤S304,在此摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)。
在步骤S283,记录/重现块12的通信控制块131从摄像块11通过通信控制线163-4接收ACK信号(camera_ACK)。当命令包发送准备已经完成时,过程继续到步骤S284,在此通信控制块131通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11。
在步骤S305,摄像机块11的通信控制块101通过通信控制线163-3接收ACK信号(drive_ACK)。在步骤S306,通信控制块101通过串行I/F111和串行时钟线161-2发送预定的时钟。
在步骤S285,记录/重现块12的通信控制块131通过串行时钟线161-2和串行I/F141接收时钟并通知其中的主CPU41。在步骤S286,主CPU41控制发送队列控制器136以与接收到的时钟同步的方式发送命令包至摄像机块11。
在步骤S307,摄像机块11的摄像机CPU21通过串行数据线161-1接收命令包并分析接收到的命令包。如果在命令包内没有检测出错误,那么过程继续到步骤S308,在此摄像机CPU21控制通信控制块101以通过端口112和通信控制线163-4发送ACK信号(camera_ACK)至记录/重现块12。
在步骤S287,记录/重现块12的通信控制块131通过通信控制线163-4和端口142接收来自摄像机块11的ACK信号(camera_ACK)并且通知其中的主CPU41。从而,主CPU41确认命令发送已经完成。
另一方面,在通过通信控制块101的ACK信号(camera_ACK)的发送后,摄像机块11的摄像机CPU21向通信控制块101请求保持在备用状态的结果包的重新发送。在步骤S309,通信控制块101接收来自摄像机CPU21的结果包发送请求。在步骤S310,通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12。
由于命令发送已经在步骤S287完成,记录/重现块12的通信控制块131在步骤S288从摄像机块11接收REQ信号(camera_REQ)。
应该注意的是,在图21示出的步骤S288和S310之后的处理操作一般与图16到18的结果包发送/接收控制处理(或步骤S162和S143之后的处理操作)相同,所以它们的描述为了简略而被省略。
以下参考图22示出的箭头图描述了一种情况,其中来自摄像机块11的REQ信号(camera_REQ)的发送比来自记录/重现块12的REQ信号(drive_REQ)的发送足够快。
完成先前命令的执行后,摄像机块11的摄像机CPU21向通信控制块101请求结果包的发送作为完成的结果。在步骤S341,摄像机块11的通信控制块101接收来自摄像机CPU21的结果包发送请求。在步骤S302,通信控制块101通过端口112的通信控制线163-2发送REQ信号(camera_REQ)至记录/重现块12并且等待来自记录/重现块12的ACK信号(drive_ACK)(也就是说,结果包接收请求的接受)。
在步骤S321,记录/重现块12的通信控制块131通过通信控制线163-2接收REQ信号(camera_REQ)。当通过主CPU41的结果包接收准备已经完成时,通信控制块131通过端口142和通信控制线163-3在步骤S322内发送是对结果包接收请求的接受的ACK信号(drive_ACK)至摄像块11。然后,过程继续到步骤S323。
记录/重现块12的主CPU41向通信控制块131请求下一命令包的发送。在步骤S323,记录/重现块12的通信控制块131从主CPU41接收命令包发送请求;然而,由于ACK信号(drive_ACK)已经在步骤S322内被发送至摄像块11,通信控制块131通知其中的主CPU41把命令包发送请求设置为备用状态,从而不执行(或停止)REQ信号(drive_REQ)的发送。
在步骤S343,摄像块11的通信控制块101通过端口112和通信控制线163-3接收ACK信号(drive_ACK)。当结果包发送准备(包括发送队列信息的附加)通过主CPU21已经完成时,过程继续到过程步骤S344。在步骤S344,通信控制块101通过串行I/F111和串行时钟线161-2发送预定的时钟并控制发送队列控制器106通过串行数据线161-1发送结果包。
在步骤S324,记录/重现块12的主CPU41通过串行数据线161-1接收结果包并分析接收到的结果包。如果在结果包内检测出错误,那么过程继续到步骤S325,在此主CPU41控制通信控制块131以通过端口142和通信控制线163-3发送ACK信号(drive_ACK)至摄像机块11。
在步骤S345,摄像机块11的通信控制块101通过通信控制线163-3和端口112接收来自记录/重现块12的ACK信号(drive_ACK)并且通知其中的主CPU21。因此,摄像机CPU21确认结果包的发送已经完成。
另一方面,在通过通信控制块131的ACK信号(drive_ACK)的发送后,记录/重现块12的主CPU41向通信控制块131请求保持在备用状态的下一命令包的重新发送。在步骤S326,通信控制块131接收命令包发送的请求。在步骤S327,通信控制块131通过端口142的通信控制线163-1发送REQ信号(drive_REQ)至摄像机块11。
响应地,在步骤S221,摄像机块11的通信控制块101通过端口112和通信控制线163-1接收REQ信号(drive_REQ)。
应该注意的是,在图22示出的步骤S327和S346之后的处理操作一般与图8到12的结果包发送/接收控制处理(或步骤S53和S72之后的处理操作)相同,所以它们的描述为了简略而被省略。
因此,如果来自记录/重现块12的REQ信号(drive_REQ)与来自摄像机块11的REQ信号(camera_REQ)导致在接近于同时的中断并且,如果在表明REQ信号(camera_REQ)的接受的ACK信号(drive_ACK)的发送之前命令发送请求从摄像机块11中来,那么记录/重现块12优先考虑其中的命令发送请求。响应地,根据来自记录/重现块12的REQ信号(drive_REQ)或ACK信号(drive_ACK),摄像机块11确定摄像机块11的REQ信号(camera_REQ)是否已经被接受。
应该注意的是,图19到22使用了一例子,其中结果包的发送从摄像机块11中所请求;一般的相同的处理也在结果包的情况下被执行,该描述为了简明而被省略。
在以上的描述中,一例子被使用,其中构建成记录/重现装置1的摄像机块11和记录/重现块12通过串行线相互连接。本发明也能应用于诸如摄像机和记录/重现装置的单独的装置的通信。在这种情况下,本发明也能应用于例如个人计算机和包括移动电话、PDA(个人数字助理)、AV(音频视频)设备、以及家用设备的CE(消费者电器)设备的通信。
除了串行线,本发明也可应用于例如因特网、LAN(局域网)、以及无线通信。
上述的一系列处理操作既可由软件也可由硬件执行。在这种情况下,图1示出的记录/重现装置1的摄像机块11和记录/重现块12也可由例如图23所示的个人计算机401来配置。
在图23,CPU(中央处理器)411执行由存储在ROM(只读存储器)412内的程序或从存储器块418中装载至RAM(随机存取存储器)413中的程序指示的处理操作。RAM413有时也存储对于CPU411执行各种处理操作必要的数据。
CPU411、ROM412、以及RAM413通过总线414相互连接。总线414也连接到输入/输出接口415。
接口的输入/输出415与基于例如键盘和鼠标的输入块416,与基于例如诸如CRT(阴极射线管)或LCD(液晶显示器)以及扬声器的输出块417,与基于例如HDD(硬盘驱动器)的存储器块418,以及与基于例如调制解调器或终端适配器的通信块419。通信块419通过例如无线网络执行通信处理。应该注意的是,输入/输出接口415按需与成像块22(在图1示出的摄像机块11的情况下)连接。
输入/输出接口415也与驱动器420相连,在驱动器420上磁盘421、光盘422、磁光盘423、或半导体存储器424被按需加载,从加载的记录介质中读取的程序被按需安装在存储器块418内。
当上述一系列处理操作由软件执行时,组成软件的程序被安装在计算机内,该计算机被建立在专用的硬件设备中或被从网络或记录介质安装到例如通用个人计算机内,在该通用个人计算机内可安装各种用于各种功能执行的程序。
应该注意的是,这些程序中的每个不被形式所限制只要它能整体地执行上述一系列处理操作。例如,程序可以是模块结构在其中每个程序是相应于上述功能块中的每一个的模块,是部分或所有功能块被结合的模块,或通过划分功能块所获得的模块。
如图23所示,这些记录介质不仅仅由磁盘421(包括软盘)421、光盘422(包括CD-ROM(光盘只读存储器)和DVD(数字化视频光盘))、磁光盘423(包括MD(小型磁盘)(商标))、或与装置本身单独分布的半导体存储器424所组成的包介质所组成,也由存储程序并被提供给用户以合并至装置本身的ROM412或存储器块418所组成。
应当在此注意的是,用于描述每个记录在记录介质中的程序的步骤不仅仅包括以按照时间序列执行的处理操作也包括并行地或独立地执行的处理操作(例如,并行处理或基于对象的处理)。
程序可通过一台计算机或多个计算机以分布式方式所处理。并且,程序也可被传送到一个或多个远程计算机用于执行。
还应该注意的是在此使用的术语“系统”表示由多个组件单元配置的整个装置。
虽然本发明优选实施例已经利用专用名词描述了,这样的描述仅仅属于说明性目的,并且应该理解的是在没有脱离以下权利要求书所述的精神或者范围的情况下是可以作出改变和变化的。
权利要求
1.一种信息处理系统,具有第一信息处理装置和第二信息处理装置,所述第二信息处理装置用于通过网络控制与所述第一信息处理装置的通信,所述第一信息处理装置包括附加装置,用于把发送缓冲器的空闲空间信息附加到被发送至所述第二信息处理装置的第一数据,在所述发送缓冲器内数据被发送到所述第二信息处理装置;以及第一发送装置,用于发送通过所述附加装置附加了发送缓冲器空闲空间信息的所述第一数据至所述第二信息处理装置;所述第二信息处理装置包括第二发送装置,用于发送第二数据至所述第一信息处理装置;数据接收装置,用于接收从所述第一信息处理装置发送的所述第一数据;空闲空间确定装置,用于基于附加到通过所述数据接收装置接收到的所述第一数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及通信控制装置,如果通过所述空闲空间确定方式发现所述发送缓冲器空闲空间比所述预定的值小,控制与所述第一信息处理装置的通信,以使通过所述第一发送装置的所述第一数据的发送在通过所述第二发送装置的所述第二数据的发送之前被执行。
2.根据权利要求1所述的信息处理系统,其特征在于,所述第二数据是控制命令数据;以及所述第一数据是用于通知所述第二数据已经被所述第一信息处理装置所接收的通知数据以及指示由所述第一信息处理装置响应于所述第二数据执行的处理的结果的结果数据中的至少一个。
3.一种通过网络执行通信的信息处理装置,包括接收装置,用于接收来自另一信息处理装置的第一数据;附加装置,用于把发送缓冲器的空闲空间信息附加到被发送至所述另一信息处理装置的第二数据,在所述发送缓冲器内数据被发送到所述另一信息处理装置;以及发送装置,用于发送附加了发送缓冲器空闲空间信息的所述第二数据至所述另一信息处理装置;其中,如果通过所述另一信息处理装置基于被附加到通过所述发送装置发送的所述第二数据的所述发送缓冲器空闲空间信息发现所述发送缓冲器空闲空间比预定的值小,通过所述发送装置的所述第二数据的发送在通过所述接收装置的所述第一数据的接收之前被执行。
4.根据权利要求3所述的信息处理装置,其特征在于,所述第一数据是控制命令数据;所述第二数据是用于通知所述第一数据已经被所述的接收装置接收的通知数据以及指示根据所述第一数据执行的处理的结果的结果数据中的至少一个。
5.根据权利要求4所述的信息处理装置,其特征在于,如果存在所述通知数据和所述结果数据作为所述第二数据的候选者,所述发送装置发送所述通知数据而不是所述结果数据。
6.根据权利要求5所述的信息处理装置,进一步包括空闲空间确定装置,用于确定接收缓冲器的空闲空间是否被存储,在所述接收缓冲器内所述第一数据由所述接收装置所接收;其中,如果接收缓冲器空闲空间通过所述空闲空间确定装置被发现比预定值小,所述发送装置把所述通知数据的发送设置成备用状态并发送所述结果包。
7.一种用于通过网络执行通信的信息处理装置的信息处理方法,包括以下步骤接收来自另一信息处理装置的第一数据;把发送缓冲器的空闲空间信息附加到被发送至所述另一信息处理装置的第二数据,在所述发送缓冲器内数据被发送到所述另一信息处理装置;以及发送附加了发送缓冲器空闲空间信息的所述第二数据至所述另一信息处理装置;其中,如果所述发送缓冲器空闲空间通过所述另一信息处理装置基于被附加到在所述发送装置步骤内发送的所述第二数据的所述发送缓冲器空闲空间信息被发现比预定的值小,在所述发送步骤内的所述第二数据的发送在由所述接收步骤内的所述第一数据的接收之前被执行。
8.一种记录用于使计算机执行通过网络的通信处理的程序的记录介质,所述程序包括以下步骤接收来自另一信息处理装置的第一数据;把发送缓冲器的空闲空间信息附加到被发送至所述另一信息处理装置的第二数据,在所述发送缓冲器内数据被发送到所述另一信息处理装置;以及发送附加了发送缓冲器空闲空间信息的所述第二数据至所述另一信息处理装置;其中,如果所述发送缓冲器空闲空间通过所述另一信息处理装置基于被附加到在所述发送装置步骤内发送的所述第二数据的所述发送缓冲器空闲空间信息被发现比预定的值小,在所述发送步骤内的所述第二数据的发送在所述接收步骤内的所述第一数据的接收之前被执行。
9.一种用于使计算机执行通过网络的通信处理的程序,所述程序包括以下步骤接收来自另一信息处理装置的第一数据;把发送缓冲器的空闲空间信息附加到被发送至所述另一信息处理装置的第二数据,在所述发送缓冲器内数据被发送到所述另一信息处理装置;以及发送附加了发送缓冲器空闲空间信息的所述第二数据至所述另一信息处理装置;其中,如果所述发送缓冲器空闲空间通过所述另一信息处理装置基于被附加到在所述发送装置步骤内发送的所述第二数据的所述发送缓冲器空闲空间信息被发现比预定的值小,在所述发送步骤内的所述第二数据的发送在由所述接收步骤内的所述第一数据的接收之前被执行。
10.一种用于控制通过网络执行的通信的信息处理装置,包括发送装置,用于发送第一数据至另一信息处理装置;接收装置,用于接收被附加了所述另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,所述第二数据从所述另一信息处理装置中被发送;空闲空间确定装置,用于基于附加到通过所述数据接收装置接收到的所述第二数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及通信控制装置,用于如果所述发送缓冲器空闲空间通过所述空闲空间确定装置被发现比预定的值小,控制与所述另一信息处理装置的通信以使通过所述接收装置的所述第二数据的接收在通过所述发送装置的所述第一数据的发送之前被执行。
11.根据权利要求10所述的信息处理系统,其特征在于,所述第一数据是控制命令数据;以及所述第二数据是用于通知由所述发送装置发送的所述第一数据已经被所述另一信息处理装置接收的通知数据以及指示在所述另一信息处理装置内响应于所述第一数据执行的处理的结果的结果数据中的至少一个。
12.根据权利要求11所述的信息处理系统,其特征在于,所述通信控制装置控制所述另一信息处理装置以阻止通过所述发送装置的下一第一数据的发送,直到所述接收装置接收作为所述第二数据的、相应于通过所述发送方式装置的所述第一数据的所述通知数据,从而优先执行通过所述接收装置的所述第二数据的接收。
13.一种用于控制通过网络执行的通信的信息处理装置的信息处理方法,包括以下步骤发送第一数据至另一信息处理装置;接收被附加了所述另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,所述第二数据从所述另一信息处理装置中被发送;基于附加到在所述接收步骤内接收到的所述第二数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及如果所述发送缓冲器空闲空间在所述空闲空间确定步骤内被发现比预定的值小,控制与所述另一信息处理装置的通信以使在所述接收步骤内的所述第二数据的接收在所述发送步骤内所述第一数据的发送之前被执行。
14.一种记录用于使计算机执行控制通过网络执行的通信处理的程序的记录介质,所述程序包括以下步骤发送第一数据至另一信息处理装置;接收被附加了所述另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,所述第二数据从所述另一信息处理装置中被发送;基于附加到在所述接收步骤内接收到的所述第二数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及如果所述发送缓冲器空闲空间在所述空闲空间确定步骤内被发现比预定的值小,控制与所述另一信息处理装置的通信以使在所述接收步骤内的所述第二数据的接收在所述发送步骤内所述第一数据的发送之前被执行。
15.一种用于使计算机执行控制通过网络执行的通信处理的程序,包括以下步骤发送第一数据至另一信息处理装置;接收被附加了所述另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,所述第二数据从所述另一信息处理装置中被发送;基于附加到在所述接收步骤内接收到的所述第二数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及如果所述发送缓冲器空闲空间在所述空闲空间确定步骤内被发现比预定的值小,控制与所述另一信息处理装置的通信以使在所述接收步骤内的所述第二数据的接收在所述发送步骤内所述第一数据的发送之前被执行。
16.一信息处理系统,具有第一信息处理装置和第二信息处理装置,后者用于控制通过网络与所述第一信息处理装置的通信,所述第一信息处理装置包括附加区域,用于把发送缓冲器的空闲空间信息附加到被发送至所述第二信息处理装置的第一数据,在所述发送缓冲器内数据被发送到所述第二信息处理装置;以及第一发送部件,用于发送通过所述附加部件附加了发送缓冲器空闲空间信息的所述第一数据至所述第二信息处理装置;所述第二信息处理装置包括第二发送部件,用于发送第二数据至所述第一信息处理装置;数据接收部件,用于从所述第一信息处理装置中接收发送的所述第一数据;空闲空间确定部件,用于基于附加到通过所述数据接收部件接收到的所述第一数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及通信控制部件,用于如果所述发送缓冲器空闲空间通过所述空闲空间确定部件被发现比预定的值小,控制与所述第一信息处理装置的通信以使通过所述第一发送部件的所述第一数据的发送在通过所述第二发送部件的所述第二数据的发送之前被执行。
17.一执行通过网络通信的信息处理装置,包括接收部件,用于接收来自另一信息处理装置的第一数据;附加部件,用于把发送缓冲器的空闲空间信息附加到被发送至所述另一信息处理装置的第二数据,在所述发送缓冲器内数据被发送到所述另一信息处理装置;以及发送部件,用于发送附加了发送缓冲器空闲空间信息的所述第二数据至所述另一信息处理装置;其中,如果所述发送缓冲器空闲空间通过所述另一信息处理装置基于被附加到通过所述发送部件发送的所述第二数据的所述发送缓冲器空闲空间信息被发现比预定的值小,通过所述发送部件的所述第二数据的发送在通过所述接收部件的所述第一数据的接收之前被执行。
18.一种用于控制通过网络执行的通信的信息处理装置,包括发送部件,用于发送第一数据至另一信息处理装置;接收部件,用于接收被附加了所述另一信息处理装置的发送缓冲器的空闲空间信息的第二数据,所述第二数据从所述另一信息处理装置中被发送;空闲空间确定部件,用于基于附加到通过所述接收部件接收到的所述第二数据上的所述发送缓冲器空闲空间信息确定所述发送缓冲器空闲空间是否比预定的值小;以及通信控制部件,用于如果所述发送缓冲器空闲空间通过所述空闲空间确定部件被发现比预定的值小,控制与所述另一信息处理装置的通信以使通过所述接收部件的所述第二数据的接收在通过所述发送部件的所述第一数据的发送之前被执行。
全文摘要
具有第一和第二信息处理装置的信息处理系统,第二装置通过网络控制与第一装置的通信,第一装置包括,把发送缓冲器的空闲空间信息附加到被发送至第二装置的第一数据的附加单元,在发送缓冲器内数据被发送到第二装置,和用于发送附加后的第一数据至第二装置的第一发送单元,第二装置包括,发送第二数据至第一装置的第二发送单元,接收从第一装置发送的第一数据的数据接收单元,基于附加到由数据接收单元接收到的第一数据的发送缓冲器空闲空间信息确定该空闲空间是否比预定值小的空闲空间确定单元,以及当发现比预定值小,控制与第一装置的通信以使通过第一发送单元的第一数据的发送在通过第二发送单元的第二数据的发送之前被执行的通信控制单元。
文档编号H04L29/02GK1783784SQ20051012016
公开日2006年6月7日 申请日期2005年11月8日 优先权日2004年11月8日
发明者铃木真奈美 申请人:索尼株式会社