用于计算机生成的内容的多用户编辑的设备以及方法
技术领域
本公开涉及编辑和修改诸如用于计算机游戏、动画或者电影的计算机生成的场景的计算机生成的内容的领域。
背景技术
当利用在本领域中已知的通用编辑技术来修改用于游戏、动画、或者电影的计算机生成的(CG)内容时,一次只有一个用户可以编辑内容。这限制了CG内容的制作过程,因为编辑者必须一个接着一个地轮班作业。此外,已知的技术通常只局限于一个硬件平台。然而,仅使用一个平台限制了在进行制作的过程中或者稍后当切换到新硬件设备时的切换平台的可能性,因为用于编辑内容的软件多数与不同的硬件规格或者平台不兼容。
此外,当期望用于不同的显示类型的不同的输出信号时,输出信号通常被一个接着一个地渲染,因此限制了审阅CG内容的能力。
因此,期望的是允许CG内容的更加高效的以及灵活的编辑。
发明内容
在第一方面中,提供一种允许多个用户修改诸如计算机生成的场景的计算机生成的内容的设备。该设备包括:I/O适配器,被配置成耦接到至少第一和第二用户客户端;存储器,被配置成存储关于计算机生成的内容的数据;以及电路,被可操作地耦接到I/O适配器和存储器。电路被配置成将计算机生成的内容的被存储的数据的一部分的第一副本传输到第一用户客户机端以及将该部分的第二副本传输到第二用户客户端,以致第一和第二用户客户端可以分别地、同时地以及彼此独立地修改该部分的第一和第二副本。电路进一步被配置成从第一用户客户端接收被修改的第一副本以及从第二用户客户端接收被修改的第二副本,并且利用被修改的第一和第二副本来更新存储在存储器中的计算机生成的内容的数据。
因此,根据本公开的设备允许在各自的用户客户端操作的至少两个用户同时在相同的计算机生成的内容上彼此独立地工作。因此,诸如编辑者、设计者等等的用户可以以适时重叠的方式工作,以使得编辑或者修改计算机生成的内容的过程更快或者更高效。每一个用户可以在他们的用户客户端上本地地修改他们自己的CG内容数据的该部分的副本。当用户已经完成他或她在本地的数据部分的副本上的工作,他/她可以上传将被修改的本地副本上传到根据本公开的一些实施例的设备。在一些实施例中,可以使电路适用于从第一和第二用户客户端分别地、多次地、诸如周期性地接收被修改的第一和第二副本。设备例如可以经由I/O适配器将第一和第二副本传输到用户客户端,并且可以经由I/O适配器接收来自用户客户端的被修改的副本。
I/O适配器可以被配置成以有线或者无线的方式,例如,经由局域网、内部网、和/或因特网,耦接到第一和第二用户客户端。
存储器可以包括任何类型的易失性或者非易失性存储器,例如,一个以上的硬盘、光盘、磁盘、磁光盘、诸如闪存的半导体存储器,等等。在一些实施例中,电路可以包括处理器,例如中央处理单元(CPU)、图像处理器、专用处理器或者通用处理器。
在一些实施例中,I/O适配器进一步被配置成耦接到另外的用户客户端,并且电路被配置成将被存储的数据的该部分的另外的副本传输到另外的用户客户端,从另外的用户客户端接收被修改的另外的副本,以及当更新存储在存储器中的计算机生成的内容的数据时,使用被修改的另外的副本。
在一些实施例中,电路被配置成,响应于从第一用户客户端接收数据的该部分的副本的请求,将所存储的数据的该部分的第一副本传输到第一用户客户端。类似地,电路可以被配置成,响应于从第二用户客户端接收数据的该部分的副本的请求,将数据的该部分的第二副本传输到第二用户客户端。
在一些实施例中,电路可以被配置成同时或者以适时重叠的方式传输第一和第二副本。在其他实施例中,可以使电路适用于在将第二副本传输到第二用户客户端之前,将第一副本传输到第一用户客户端,或者在将第一副本传输到第一用户客户端之前,将第二副本传输到第二用户客户端。在一些实施例中,电路可以在从第二用户客户端接收到被修改的第二副本之前,从第一用户客户端接收被修改的第一副本,或者反之亦然。
在一些实施例中,电路可以被配置成,响应于接收被修改的第一副本,利用被修改的第一副本来更新存储在存储器中的计算机生成的内容的数据。另外地或者附加地,电路可以被配置成,响应于从第二用户客户端接收被修改的第二副本,利用被修改的第二副本来更新存储在存储器中的计算机生成的内容的数据。然而,较佳的是,电路被配置成在已经接收到被修改的第一和第二副本中的每一个之后,利用被修改的第一和第二副本来更新存储在存储器中的数据。这允许电路在更新存储在存储器中的数据之前,聚集被修改的第一和第二副本,并且利用聚集的被修改的第一和第二副本来更新存储的数据。
在本公开的上下文中的短语“同时"可以涉及适时重叠的方式。换句话说,用户客户端可以,例如同时地或者部分同时地,分别对第一和第二副本进行操作。通常,这涉及这样的情形,其中,在第一副本已被传输到第一用户客户端之后,在被修改的第一副本已从第一用户客户端被接收之前,第二副本被传输到第二用户客户端,以致两个用户客户端同时具有相同的数据部分的副本。这不一定意味着第一和第二副本同时被传输,或者被修改的第一和第二副本同时被接收,或者第一用户和第二用户分别同时实际操作第一用户客户端和第二用户客户端。
总的来说,计算机生成的(CG)内容例如可以涉及用于游戏、动画、或者电影的CG内容。特别地,计算机生成的内容可以涉及在诸如在线或者离线计算机游戏的计算机游戏中的游戏关卡。虽然计算机生成的内容在有些情况下可以是2D内容,但是较佳的是,CG内容是3D内容。
根据至少一个实施例,存储在存储器中的计算机生成的内容的数据至少包括一个改变列表,并且电路进一步被配置成,响应于从第一用户客户端接收被修改的第一副本且在从第二用户客户端接收被修改的第二副本之前,利用所接收到的被修改的第一副本来更新至少一个改变列表,并且将数据的该部分的被修改的第一副本已从第一用户客户端被接收的通知传输到第二用户客户端。例如,操作第一用户客户端的第一用户可能已经完成他/她在第一副本上的工作,或者可能另外希望保存他/她的修改到数据部分。第一用户然后上传被修改的第一部分到设备。因为第一和第二副本对应于所存储的数据的相同的部分,因而由第一用户在第一副本上执行的修改也可以影响第二用户在第二副本上的工作。因此,这个实施例允许第二用户被通知关于由第一用户执行的修改。
在一些实施例中,通知包括说数据的该部分的被修改的副本已从第一用户客户端被接收的通知。另外,在一些实施例中,通知包括关于修改的第一副本的更多细节,诸如包括在被修改的第一副本中的修改的列表或者细节,乃至修改的第一副本的整体。操作第二用户客户端的第二用户然后可以评估该通知,以判定由第一用户在被修改的第一副本中执行的修改是否影响第二用户在数据部分的第二副本上的工作。如果是,那么,第二用户例如可以决定基于来自第一用户副本的被修改的第一副本来执行另外的修改,以获得被修改的第二副本。替代地,第二用户可以决定继续在从存储器检索到的并且预先由设备所发送的数据部分的第二副本上工作,即,没有第一用户的修改。在一些实施例中,第二用户能够将包括在被修改的第一副本中的,但是不在预先被传输到第二用户客户端的第二副本中的一些要素、对象或者修改整合到被修改的第二副本中,并且可以进一步执行另外的修改。在那种情况下,被修改的第二副本将包括被包括在被修改的第一副本中的一些或者所有的修改,并且可以进一步包括由第二用户客户端进行的另外的修改。
利用所接收到的被修改的第一副本来更新至少一个改变列表例如可以包括将被修改的第一副本或者它的一部分包括在改变列表中。例如,相较于预先被传输到第一用户客户端的第一副本而在被修改的第一副本中执行的修改或者其参考可以被添加到改变列表中。在一些实施例中,另外,当更新改变列表时,第一用户客户端的识别、操作第一用户客户端的第一用户的识别、接收被修改的第一副本的时间等等也可以被包括。
在另一个实施例中,电路进一步被配置成,响应于将通知传输到第二用户客户端,从第二用户客户端接收关于被修改的第一副本的确认信息,以及在至少一个改变列表中存储所接收到的确认信息。在此实施例中,操作第二用户客户端的第二用户可以指示他批准或者不批准被修改的第一副本或者它的一部分,例如,只有包括在被修改的第一副本中的但是不包括在预先被传输到第二用户客户端的第二副本中的修改、对象、或者资源中的一些。因此,确认信息可以包括关于被修改的第一副本或者它的一部分的批准或者不批准。诸如批准或者不批准信息的确认信息可以例如与被修改的第一副本或者包括在修改的第一副本中的修改一起被存储在改变列表中。因此,其他用户可以容易地看到第二用户已经批准或者没有批准由操作第一用户客户端的第一用户执行的修改。
I/O适配器也可以被配置成耦接到领先用户客户端,并且电路可以进一步被配置成将至少一个改变列表传输到领先用户客户端,并且响应于接收来自领先用户客户端的用于至少一个列表的至少一部分的批准指示,基于该批准指示来更新在存储器中存储的计算机生成的内容的数据的该部分。在此实施例中,操作领先用户客户端的领先用户可以批准或者不批准改变列表或者它的一部分,例如各个修改、资源、或者对象。改变列表例如包括从用户客户端接收到的被修改的副本,例如从第一用户客户端接收到的被修改的第一副本和/或从第二用户客户端接收到的被修改的第二副本、或者只有包括在在预先被传输到用户客户端的副本之上的修改的副本中的修改、或者这些修改的参考。
此外,如上所阐述的,在一些实施例中,改变列表可以进一步包括来自其他用户的确认信息。因此,领先用户可以评估包括被修改的副本、或者包括在其中的修改、以及来自其他用户的确认信息的改变列表,来决定包括在列表中的被修改的副本或者它的一部分,例如各个修改或者层,是否应当被用来更新存储在存储器中的计算机生成的内容的数据。在一些实施例中,领先用户可以总体上批准或者不批准包括在改变列表中的被修改的副本,或者,可以批准或者不批准被修改的副本的一部分,例如被修改的副本的各个修改或者层。
根据另一个实施例,被传输到第一用户客户端的数据的该部分的第一副本对应第一整体观,且被传输到第二用户客户端的数据的该部分的第二副本对应不同于第一个整体观的第二整体观。例如,CG内容可以是3D内容,并且第一和第二整体观可以对应不同的观点和/或不同的视角。因此,第一和第二用户可以审阅和修改CG内容数据的相同的部分的不同的观点。
在另一个实施例中,I/O适配器进一步被配置成耦接到至少第一和第二浏览客户端,并且电路进一步被配置成将对应第三整体观的数据的该部分的第三副本传输到第一浏览客户端,以及将对应不同于第三整体观的第四整体观的数据的该部分的第四副本传输到第二浏览客户端。浏览客户端例如可以被用于查看或者审阅CG内容或者它的一部分。因此,这个实施例允许第一和第二浏览客户端从不同的观点或者视角来审阅CG内容,等等。
根据另一个实施例,电路被配置成以平台无关的格式发送第一和第二副本。在此实施例中,具有不同的硬件规格和/或不同的平台的不同的用户客户端可被用于修改计算机生成的内容,而没有要将副本本地转换成另一个格式的任何需要。因此,编辑处理的灵活性和效率被提高。
根据另一个实施例,第一副本在将第二副本传输到第二用户客户端之前被传输到第一用户客户端,并且电路进一步被配置成连同第二副本一起将第二副本的层不可以被第二用户客户端修改的指示传输到第二用户客户端。电路可以被配置成在接收到被修改的第二副本之后,当更新存储在存储器中的数据时,忽视被修改的第二副本的层。根据这个实施例,操作第二用户客户端的第二用户将被警告其它用户当前正在数据的层上工作,并且为了避免矛盾,第二用户不允许修改该层。作为具体的实例,第一用户可以在CG内容的光线上工作,并且已经从设备接收到数据部分的第一副本。然后,当第二用户客户端接收相同的数据部分的第二副本时,第二用户将会被通知他/她不被允许修改对应于数据的该部分的光线的第二副本的层。
层可以对应于字符数据、vfx数据、音频数据、元数据、编辑数据、以及环境数据中的至少一个。字符数据例如可以包括关于在CG场景中的字符的数据,例如,涉及字符的外观和/或个性特征。环境数据例如可以包括诸如多个光源、光源的位置、光源的尺寸、光线的颜色和/或光的强度的光特征、和/或诸如雾的程度、潮湿的程度、降雨的程度、可视距离、和/或下雪的程度的天气特征。
在另一方面,本公开提供一种具有存储在其上的指令的非临时性的、机器可读的介质,当机器执行指令时,使得机器执行一种方法。该方法包括将存储在存储器中的诸如计算机生成的场景的计算机生成的内容的数据的一部分的第一副本传输到第一用户客户端,以及将数据的该部分的第二副本传输到第二用户客户端,以致第一和第二用户客户端能够分别地、同时地以及彼此独立地修改该部分的第一和第二副本。该方法进一步包括从第一用户客户端接收被修改的第一副本以及从第二用户客户端接收被修改的第二副本,并且使用被修改的第一和第二副本来更新存储在存储器中的数据。
根据至少一个实施例,数据的该部分的第一和第二副本以3D格式被传输。类似地,在该部分的第三和第四副本分别被传输到第一和第二浏览客户端的实施例中,数据的该部分的第三和第四副本可以以3D格式被传输。
在一些实施例中,将数据的该部分的第一副本传输到第一用户客户端的步骤是响应于从第一用户客户端接收对数据的该部分的副本的请求。类似地,将数据的该部分的第二副本传输到第二用户客户端的步骤可以是响应于从第二用户客户端接收对数据的该部分的请求。
在一些实施例中,可以使电路适用于在从第二用户客户端接收被修改的第二副本之前、之后、或者同时,接收被修改的第一副本。通常,电路被配置成经由I/O适配器传输数据部分的第一和第二副本,以及经由I/O适配器接收被修改的数据部分的第一和第二副本。同样,可以使电路适用于经由I/O适配器接收对数据部分的副本的请求。
在另一个实施例中,存储在存储器中的计算机生成的内容的数据包括至少一个改变列表,并且该方法进一步包括,响应于从第一用户客户端接收被修改的第一副本和从第二用户客户端接收被修改的第二副本之前,利用所接收到的修改的第一副本来更新至少一个改变列表,并且将数据的该部分的被修改的第一副本已经从第一用户客户端被接收的通知传输到第二用户客户端。
在另一个实施例中,该方法进一步包括,响应于将通知传输到第二用户客户端,从第二用户客户端接收关于被修改的第一副本的确认信息,以及在至少一个改变列表中存储所接收到的确认信息。
根据另一个实施例,该方法进一步包括将至少一个改变列表传输到领先用户客户端,并且,响应于从领先用户客户端接收用于至少一个列表的至少一部分的批准指示,基于该批准指示来更新存储在存储器中的计算机生成的内容的数据的该部分。
在另一个实施例中,被传输到第一用户客户端的数据的该部分的第一副本对应第一整体观,并且被传输到第二用户客户端的数据的该部分的第二副本对应不同于第一整体观的第二整体观。
在另一个实施例中,该方法进一步包括将对应于第三整体观的数据的该部分的第三副本传输到第一浏览客户端,以及将对应于第四整体观的数据的该部分的第四副本传输到第二浏览客户端。
根据另一个实施例,第一和第二副本以平台无关的格式被传输。
在另一个实施例中,第一副本在将第二副本传输到第二用户客户端之前被传输到第一用户客户端,并且该方法进一步包括:连同第二副本一起将第二副本的层不可以被第二用户客户端修改的指示传输到第二用户客户端。特别地,较佳的是,该方法进一步包括当更新存储在存储器中的数据时,在从第二用户客户端接收被修改的第二副本之后,忽视被修改的第二副本的层。
在另一个实施例中,层对应于字符数据、vfx数据、音频数据、元数据、编辑数据、以及环境数据中的至少一个。环境数据例如可以包括诸如多个光源、光源的位置、光源的尺寸、光线的颜色和/或光的强度的光特征、以及诸如雾的程度、潮湿的程度、降雨的程度、可视距离、和/或下雪的程度的天气特征。
在又一个方面,本公开提供一种系统,该系统包括上述种类的设备以及耦接到该设备的I/O适配器的至少第一用户客户端和第二用户客户端。第一和第二用户客户端可以彼此独立地包括计算装置,例如,个人计算机(PC)、平板计算机、智能手机、个人数字助理(PDA)、工作站、笔记本电脑、上网本电脑、诸如Xbox开发套件、游戏站开发套件的游戏机开发套件,或者任何其它一种可被用于修改或者编辑计算机生成的内容的一部分的装置。第一和第二用户客户端可以彼此独立地包括一个以上的显示器,例如一个以上的2D显示器和/或一个以上的3D显示器。
在一些实施例中,系统进一步包括耦接到设备的I/O适配器的至少第一浏览客户端,其中,第一浏览客户端包括用于显示数据部分的副本的显示器,例如,2D或者3D显示器。
第一和第二用户客户端可以彼此独立地被配置成将对数据部分的副本的请求传输到设备,例如,分别响应于从第一和第二用户接收取出命令。取出命令例如可以分别包括在第一或者第二用户客户端的显示器上分别选择按钮的第一或者第二用户。
在一些实施例中,第一和第二用户客户端可以彼此独立地与设备的I/O适配器有线或者无线通信地耦接。例如,第一和/或第二用户客户端可以包括LAN适配器、WLAN适配器、或者用于耦接到设备的I/O适配器的其它类型的接口。
附图说明
当结合附图阅读以下详细的描述时,本公开的进一步特征以及好处对于本领域技术人员而言将变得显而易见,其中:
图1显示根据实施例的系统的示意图;
图2显示系统的实施例的另一个示意图;
图3显示根据实施例的存储在存储器中的数据的结构;
图4A-4C显示根据实施例的方法的流程图;以及
图5显示根据实施例的系统的示意图。
具体实施方式
贯穿以下的描述以及在附图中,相同的参考数字将被用于表示相同的元件。
图1显示根据实施例的系统的示意图。系统包括设备1,其在图1的实施例中是计算机生成的(CG)内容编辑工作站。CG编辑工作站包括用于将该CG编辑工作站1耦接到多个用户客户端的I/O适配器(没有示出),多个用户客户端在图1的实施例中被称为编辑终端21、22、23。如图1所示,每一个编辑终端可以包括各种装置中的一个,例如个人计算机、笔记本电脑、PDA、移动电话、智能手机、和/或诸如AR眼镜的增强现实(AR)装置。特别地,编辑终端可以考虑到虚拟现实(VR),例如动作、手势、以及声音控制的编辑,但不限于此。
编辑终端21、22、23允许各个用户请求存储在CG编辑工作站1的存储器(没有示出)中的数据部分的副本。在接收到来自编辑终端21、22、23的请求之后,CG编辑工作站1将所请求的数据部分的副本传输到终端21、22、23中的每一个终端。操作编辑终端21、22、23的用户然后可以彼此独立地以及同时地修改他们各自的(本地的)数据部分的副本。当操作编辑终端21、22、23中的一个编辑终端的用户已经完成他/她在本地的数据部分的副本上的工作时,该用户可以将被修改的数据部分的副本传输回到CG编辑工作站1。在一些实施例中,用户也可以在他/她工作期间的任何期望的时间,乃至重复地传输被修改的副本,作为该用户的工作进展。例如,被修改的数据部分的副本可以定期地,诸如例如,以5分钟和3小时之间的周期,特别是以10分钟和2小时之间的周期,并且较好地,以30分钟和1小时之间的周期,被传输到工作站。
除了被耦接到CG编辑工作站1的编辑终端21、22、23之外,多个审阅输出端31、32、33也被耦接到CG工作站1的I/O适配器。审阅输出端31、32、33可以是浏览客户端,每一个浏览客户端包括至少一个显示器,用于显示例如以诸如视频和/或音频流的媒体流的形式,从CG编辑工作站1所接收的CG内容的数据部分。特别地,审阅输出端31、32、33可以涉及不同类型的输出端,可以包括不同类型的显示器。例如,用作为浏览客户端的审阅输出端31、32、33中的一些可以包括液晶显示器(LCD)、投影仪、等离子电视、发光二极管(LED)显示器、阴极射线管(CRT)显示器、触敏显示器等等。审阅输出端31、32、33可以包括诸如计算机、移动电话、PDA的视频信号输出装置,或者诸如计算机或电视屏幕的显示器,并且,在有些情况下,可以包括增强现实(AR)和虚拟现实(VR)装置,但不限于此。AR和VR装置例如可以支持动作、手势、和/或声音控制的CG内容的输出。
CG编辑工作站1进一步被耦接到在图1中大体上由参考数字41、42、43所指示的多个平台。多个平台例如可以包括一个以上的个人计算机(PC)、平板电脑、诸如XboxPlayStation等等的游戏机、电视屏幕、投影仪、上网本、笔记本电脑、移动电话、智能手机等等。多个平台从CG编辑工作站1接收CG内容,并输出CG内容。在一些情况下,平台41、42和43可以包括AR和VR装置,但不限于此。平台41、42和43可以运行各个应用程序,以渲染和显示CG内容。另外,平台41、42和43可以与CG编辑工作站1双向通信,从而使得其可以将数据发送回CG编辑工作站1。
此外,CG编辑工作站1还经由因特网连接被耦接到因特网5。因特网连接为CG编辑工作站1提供例如到一个以上的因特网连接的装置51、一个以上的通用平台52和/或一个以上的输出装置53的另外的连接。因特网连接的装置51例如可以包括AR和VR装置,但不限于此。因特网连接的装置51、一个以上的通用平台52、和/或一个以上的输出装置53可以与CG编辑工作站1双向通信,从而使得其可以将数据发送回CG编辑工作站1。
总的来说,编辑终端21、22、23允许编辑者,即用户,编辑或者修改CG内容的数据,并且在内容的构建和修改上合作。终端21、22、23从CG编辑工作站1取出所需的数据部分的副本,并传输回被修改更新的数据的副本。
CG编辑工作站1在存储器中存储CG内容数据,并且管理数据。工作站1将所请求的数据部分的副本传输到编辑终端21、22、23,并且利用从编辑终端21、22、23传输的被修改的数据部分的副本来更新工作站1的存储器。工作站1进一步处理来自编辑终端21、22、23的由相互矛盾的被修改的副本所导致的相互矛盾的数据,而没有数据损失,并且,在一些实施例中,当从其它终端中的一个终端接收到被修改的副本时,立刻实时地更新编辑终端21、22、23。工作站1也可以以必要的数据格式将更新的内容数据输出到任何或者所有的被连接的诸如浏览客户端的输出端和平台。
多个平台41、42、43从CG编辑工作站1以适当的格式接收将要在平台41、42、43上被渲染和显示的数据部分的副本。被传输的数据部分的副本可以被持续地传递和更新,并且因此反映在CG编辑工作站1上对内容所作的任何变化。
图2显示根据实施例的包括设备1的系统的另一个示意图,设备1例如可以是图1所示的CG编辑工作站。如图2所示,设备1分别处理每一个连接的用户客户端21、23以及输出装置31、32、33。例如,内容数据的不同部分可以被传输到用户客户端21、23、浏览客户端31、32、33、以及平台41、42中的每一个。此外,设备1也可以给客户端21、23、31-33提供与诸如不同观点和/或不同视角的不同整体观相对应的相同的数据部分的副本。例如,用户客户端21、23中的每一个用户客户端可以被提供有与不同整体观相对应的相同的数据部分的各自的副本,因此,每个用户客户端21、23可以修改诸如从不同整体观获取的相同的CG内容的不同的观点。
如还可以从图2中看到的,访问CG内容数据的每一个客户端经由设备1的应用核心11来这样做。在该实施例中,用户客户端施加的任何改变经过应用核心11,并且被存储在设备1的存储器12中,存储器12被可操作地耦接到应用核心11。在一些实施例中,每一个客户端持续地接收存储在存储器12中的当前数据的更新,并且因此可以看到对象当前是否正被其他客户端修改。这些对象(或者层)只要其被一个用户客户端修改,就可以被锁定。
图3显示数据在诸如图1的实施例中的工作站1的设备的存储器12中是如何被组织的示意图。设备将每一个用户的修改的历史保存为改变列表,在图3中被称为“提交的改变/改变历史"。特别地,存储器12可以为在设备1注册的每一个用户或者每一个用户客户端存储改变列表。不同的用户客户端或者用户的改变列表可以在层中被组织。首先,所有的改变在各个用户的用户终端上被执行,并且然后被传输到设备。设备然后利用从用户客户端接收到的被修改的副本来更新各个用户客户端或者用户的改变列表。其他用户能够例如实时地查看改变。在有些情况下,用户可以被允许观看其他用户编辑内容。例如,用户A可以连接到设备并查看由用户B进行的改变,并且由于实况更新,他/她可以查看用户C正在进行的改变。
不同的用户或者用户客户端的改变列表然后被领先用户所整合。不能被整合在一起的多个修改的可能的矛盾被领先用户作为个人修改的人工整合,或者作为群整合,即许多修改一起,来解决。
为了保持单个资源的修改完整,尤其是如果它们与其他对象有关,那么这些资源可以以分级次序被链接到其它资源(亲子关系的生成),以保持内容完整。
修改可以被保存为改变列表。改变列表可以包括由一个用户客户端中所执行的修改、或者对于这些修改的参考,可以包括另外的信息。受这些改变影响的对象没有通过设备被锁定,而是被追踪为改变列表(或者改变历史),并且被链接到特定的用户或者用户客户端。因此,每一个用户或者用户客户端可以具有其自己的改变列表。领先用户然后可以逐个用户地,或者也可以基于时间或者在内容中的位置,来批准或者不批准改变。典型的情况是用户A具有更新特定的内容中的所有车辆的任务。这些改变然后可以由领先用户批准,独立于由其他用户对这些车辆所完成的任何改变,因为这个任务被清楚地分配给用户A。接受来自用户A的修改同样拒绝了其他用户的相互矛盾的修改(这些可以被自动地拒绝或者被人工地拒绝)。在改变列表内,被改变的对象可以被聚集为层,例如,发光对象可以被概括为发光对象层改变列表,也同样通过改变它们的用户被自动地索引。
在一些实施例中,领先用户不必人工批准所有的改变。例如,系统可以识别矛盾(例如,在大于一个改变列表中被改变的一个对象)并且将其突出显示用于人工批准。领先用户被支持为其可以自动地批准所有的对象或者由一个用户在特定层的修改,例如,由用户A完成的所有的光线对象的改变可以被批准。
采用这种方法,用户可以基于未经批准的数据来修改数据。这些情形可以被领先用户(在一般设置中被设置)所禁止,或者被标记,以致允许领先用户一起批准这些改变。
领先用户可以是负责几个其他用户或者编辑者的用户。他/她的任务可以是解决相互矛盾的修改,并且批准或者不批准所有提交的修改。
批准过程通过以下被支持:(1)可以通过诸如用户、用户客户端、时间、位置、内容层等等的几种手段来被排序和筛选的改变列表,以及(2)突出在用于修改内容的编辑应用程序内部的修改。
改变列表和编辑者被相互连接,因此领先用户可以点击改变列表中的改变,并且可以立刻看到在编辑应用程序中被修改的副本或者资源。
虽然改变列表是所有被施加的改变的概览,但是当在编辑应用程序内部的概览中被观察时,其没有详细显示修改的实际影响。通过在编辑程序中观看被修改的资源或者内容的副本,领先用户能够决定修改是否被批准。
图4A-C显示图解根据实施例的显示操作用户客户端的用户A如何能够修改位于设备的存储器中的数据部分,而不必请求专有权来修改数据部分的方法的流程图。为了增强可读性,流程图被分配在三个图中。
当用户A利用用户客户端登陆到数据库服务器时,方法在方框102开始。
当用户A已经登陆到数据库服务器时,在方框104中,用户A在被批准的内容上下载最新的更新。换句话说,当用户A登陆到数据库服务器时,数据库服务器将所请求的CG内容的数据部分的副本传输到由用户A操作的用户客户端。
然后,方法继续到方框106,在此确定在改变列表中是否有对于所请求的数据部分有用的另外的内容。如果没有另外的内容,那么在方框108中,用户A可以修改内容,即在他/她的用户客户端上的本地的数据部分的副本。
当用户A在本地的数据部分的副本上工作时,在方框110,用户A的用户客户端将修改的更新连续地发送到服务器。当用户A在他/她的用户客户端上关闭用于修改数据部分的应用程序时,在方框112中,应用程序将最后的修改发送到服务器。随后,在方框114,领先用户被告知从用户A接收到的修改。
在方框106,如果确定在改变列表中另外的内容可用于所请求的数据部分,那么在方框116,用户A可以浏览另一个用户的提交的改变列表。在方框118中,用户A然后可以检查来自用户B的还没有被批准的改变,如在改变列表中所包括的。
在方框120中,用户A然后可以在用户A的用户客户端上本地整合来自用户B的改变。在方框122中,用户A然后可以在由用户B预先进行的改变之上修改数据部分。
在方框124中,用户A的用户客户端将由用户A进行的修改发送到服务器。在方框126,服务器识别来自用户A的修改不是基于被批准的内容,但是已经在用户B的改变之上进行。随后,在方框128,警报从服务器被发送到用户A,为用户A提供选择。在方框130中,选择第一选项,用户A可以请求来自领先用户的关于用户B的修改的批准,以保持与用户B的整合的修改的工作。批准请求然后可以以高优先级被转发到领先用户。
作为第二选项,用户A可以选择撤消来自用户B的还没有被批准的所有改变。跟随这个选项,在方框132中,用户A的用户客户端将回退所有来自用户B的整合的修改,并且要求用户A批准受回退所影响的他/她的修改的任何矛盾。如果矛盾已经被确定,那么在方框136中,矛盾可以通过保持用户A的改变或者通过撤消用户A的改变来被解决。如果用户A的改变被保留,那么方法继续方框134,其中用户A的用户客户端上传用户A的修改,该修改具有与批准的状态矛盾或者不一致的备注,以及可以具有到用户B的改变列表的链接。等效地,当在方框128中,用户A选择无论如何继续操作时,方法同样进行到方框134。
在方框136中,如果已经确定矛盾将通过撤消用户A的改变来被解决,那么在方框138中,用户A可以撤消所有的矛盾的改变。随后,在方框140中,用户A然后在最新的被批准的版本上工作,在其之上加上用户A自己的改变。方法然后进行到方框108。
当在方框134中,已经上传了由用户A进行的具有与批准的状态矛盾和不一致的备注的改变即修改时上传,上传的用户A的改变被链接到用户B的改变列表,用于在方框142中,由领先用户进行的可能的联合批准。该方法然后进行到方框108。
图5是根据另一个实施例的系统的示意图。图5所示的系统包括复合应用程序211,复合应用程序211被耦接到复合数据库212,用于数据存储同步。复合应用程序211可以被耦接到在图5中大体由参考数字221所指示的一个以上的用户客户端,其例如可以包括瘦客户端或者游戏机。此外,复合应用程序211还被耦接到在图5中大体由参考数字231所指示的多个不同的浏览客户端。利用复合应用程序211,浏览客户端231可以选择不同的观点或者整体观中的一个,在图5中由整体观A-D所指示。
复合应用程序211和复合数据库212进一步被连接到资源生成系统241,包括多个DCC应用程序和用户。应用程序可以与复合数据库和复合应用程序相互作用,以接收计算机生成的内容的一个以上的数据部分的副本。此外,资源生成系统241的DCC应用程序可以将上传修改的副本上传到复合应用程序211。例如,基于领先用户的批准,上传的修改的副本然后可以被用来更新存储在复合数据库211中的计算机生成的内容的数据。
当阅读上述说明书,所描述的实施例的许多变化、替换和改变对于本领域技术人员来说将变得显而易见,并且意欲被包括在如所附权利要求书中所阐述的本公开的范围之内。例如,计算机生成的内容可以是诸如计算机游戏、动作或者电影的场景的内容。特别地,计算机生成的内容可以涉及诸如在线计算机游戏的计算机游戏的游戏关卡。附加地或者另外地,诸如用户客户端或者浏览客户端的一个以上的客户端可以包括诸如一个以上的LCD显示器、LED显示器、CRT显示器、触敏显示器、投影仪等等的不同类型的显示器。在说明书、权利要求书和/或附图中公开的本发明的特征可以是单独的或者组合的用于以各种形式实现本发明的材料。