CN102369577B - 回放设备、记录方法和回放方法 - Google Patents
回放设备、记录方法和回放方法 Download PDFInfo
- Publication number
- CN102369577B CN102369577B CN201180001251.6A CN201180001251A CN102369577B CN 102369577 B CN102369577 B CN 102369577B CN 201180001251 A CN201180001251 A CN 201180001251A CN 102369577 B CN102369577 B CN 102369577B
- Authority
- CN
- China
- Prior art keywords
- medium
- content
- bytecode
- application
- copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
- G11B20/00173—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
- G11B20/00181—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00217—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
- G11B20/00224—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00855—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
- G11B20/00862—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server wherein the remote server can grant the permission to use a content
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91307—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
- H04N2005/91328—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a copy management signal, e.g. a copy generation management signal [CGMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91357—Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
回放设备中提供的字节码处理单元是读取并运行只读介质105上记录的字节码应用的平台单元20。回放设备包括:用于控制数字流AV回放的回放控制单元10;以及用于执行对回放设备而言唯一的机器唯一功能以对内容进行控制的机器唯一功能控制单元33。字节码应用使用的API包括用于回放控制功能的API和用于套接字通信的API。在字节码应用请求回放控制单元10控制回放时,它调用回放控制API以能够指示回放控制单元10执行该过程。在字节码应用请求执行回放设备的机器唯一功能时,它指示机器唯一功能控制单元通过套接字通信API经由功能调用来执行过程。
Description
技术领域
本发明涉及控制字节码应用的技术领域。
背景技术
字节码应用是一种采用能够执行的格式的程序,通过编译利用面向对象的程序设计语言的源代码描述的类结构获得。字节码应用由不取决于机器的代码(字节码)构成。近年来,回放设备在提高回放设备或内容的附加价值方面获得了成功,其方式是令字节码应用不仅执行回放控制以回放内容,而且执行交互式控制或额外的控制。
要在回放设备中实现以作为字节码应用使用的功能的功能之一是拷贝功能,在以下专利文献中列举了这些功能。
[引用列表]
[专利文献]
[专利文献1]
日本专利申请公开No.2010-9407
发明内容
[技术问题]
同时,常常发生如下情况:制造商在开发有关内容的特定功能方面取得了成功,但制造商几乎不能确定将该功能实现为机器固有功能还是标准化功能。
在将该功能实现为机器固有功能时,进行布置,使得可以经由设备固有的用户接口激活功能,例如用于设置设备的设置菜单。不过,在将特殊功能实现为机器固有功能时,用于激活特殊功能的用户接口仅限于制造商产生的用户接口,其看起来比内容供应商产生的用户接口更差。在那种情况下,在学习如何使用特殊功能时,用户将感到不方便,它为用户提供的价值将是低的。
另一方面,在将特殊功能实现为标准化功能时,将会由各种内容供应商开发并销售大量使用标准化功能的应用。这将提供用于激活特殊功能的多种用户接口,将允许用户经由更容易且更具有用户友好性的用户接口使用特殊功能。不过,在创造和公布用于特殊功能的API时,跟随的制造商可以开发装备有相同功能的产品而无需花费研究和开发成本,并将产品投入市场。在发生这种情况时,领先的制造商可能被追随的制造商赶上并加入市场占有率的战斗,无法收回研究和开发成本。
如上所述,两种实施具有相应的缺点:牺牲了用户友好性;或追随制造商能够乘虚而入。难以为这个问题找到最佳解决方案。
因此,本发明的目的是提供一种回放设备,其被实现为具有特殊功能作为机器固有功能,同时允许各种内容供应商开发使用机器固有功能的应用。
[问题的解决方案]
以上目的是通过一种用于回放记录介质上记录的内容并执行与所述内容相关的功能的回放设备实现的,与所述内容相关的所述功能包括标准化回放控制功能以及对于所述回放设备而言固有的机器固有功能,所述回放设备包括:用于从所述记录介质读取字节码应用并运行所述字节码应用的平台单元;用于执行回放控制功能的回放控制单元;以及用于执行所述机器固有功能的固有功能控制单元,其中所述平台单元包括可以由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,所述字节码应用指示所述回放控制单元通过调用所述回放控制程序设计接口来执行回放控制功能,并且所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能。
根据本发明的第一方面,提供了一种用于回放记录介质上记录的内容并执行与所述内容相关的功能的回放设备,与所述内容相关的所述功能包括标准化回放控制功能以及对于所述回放设备而言固有的机器固有功能,所述回放设备包括:平台单元,用于从所述记录介质读取字节码应用并运行所述字节码应用;回放控制单元,用于执行所述回放控制功能;以及固有功能控制单元,用于执行所述机器固有功能,其中所述平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,所述字节码应用指示所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
根据本发明的第二方面,提供了一种记录方法,其在记录介质上记录了内容和字节码应用,其中与所述内容相关的功能包括标准化回放控制功能以及对回放设备而言固有的机器固有功能,所述回放设备的平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,所述字节码应用指示所述回放设备中的所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
根据本发明的第三方面,提供了一种用于回放记录介质上记录的内容并执行与所述内容相关的功能的回放方法,与所述内容相关的所述功能包括标准化回放控制功能以及对于机器而言固有的机器固有功能,所述回放方法包括如下步骤:从所述记录介质读取字节码应用并令计算机的平台单元运行所述字节码应用;以及令所述计算机的固有功能控制单元执行所述机器固有功能,其中所述计算机的所述平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,所述字节码应用指示所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
[本发明的有利效果]
用于套接字连接的程序设计接口是作为本地API受支持的功能。因此,通过请求机器固有功能控制单元通过套接字连接与建立到机器固有功能控制单元的连接来执行机器固有功能,能够令应用使用机器固有功能而无需对已经标准化的用于数字流回放控制的API做任何增加或改变。预计在能够令应用使用机器固有功能且无需对已经标准化的用于数字流回放控制的API做任何增添或改变时,各内容供应商将开发出各种使用特殊功能的应用并投入市场。结果,将有各种用于激活特殊功能的用户接口,用户将能够通过更容易使用且用户友好性更好的用户接口使用特殊功能。
只要将特殊功能实现为机器固有功能,就可能防止追随的制造商提供类似产品。因此能够在市场上专营销售制造商开发的特殊功能作为机器固有功能的一些产品。
以上结构使得容易建立新的利润模型,其中领先的制造商允许内容供应商使用特殊功能,仅有成功开发特殊功能的制造商能够被内容供应商许可。这将产生制造商研究与开发的动力。
这样完成了本发明一方面的描述,这个方面是基于用于解决以上“技术问题”部分中指出的技术问题的技术概念做出的。尽管任选地,上述回放设备可以具有解决以下额外技术问题的结构。
(额外的技术问题1)
在将特殊功能实现为标准化功能时,难以扩展已经标准化的API。因此,在内容供应商第一次提供具有高级独创性的新业务时,内容供应商往往放弃在回放设备上提供原始业务。作为替代,内容供应商准备与包含主要故事电影的盘不同的独立盘,其上记录了在个人计算机(PC)上运行的应用,并让用户在PC上运行这个盘。这是当前提供原始业务的主流方法。现有业务的一个范例是一种应用广泛的业务,其中向与包含主要故事电影的盘不同的独立盘上记录用于移动终端的数字流和运行于PC上的应用,在PC上运行该独立盘以从独立盘向连接到PC的移动终端拷贝用于移动终端的数字流,由此能够在移动终端上回放要取出的内容(这项业务通称为“数字拷贝”)。然而,上述提供业务的方法提出了很多问题,因为(i)内容供应商必须准备与主盘独立的供PC使用的盘,(ii)用户必须有目的地使用PC,以便在该用户即使不使用PC观看电影时也能够利用该业务,以及(iii)设备制造商不能提升回放设备的功能,因为必须经由PC提供业务。所有这些给内容供应商、用户和设备制造商带来了相应不利。
因此,本发明的目的是提供一种业务,其中将只读介质上的应用程序链接到回放设备的原始功能,从而维持与其他回放设备的兼容性,并且不需要任何PC或其他第三方设备。
以上目的是通过以下回放设备实现的。
亦即,在以上回放设备中,记录介质是第一记录介质,其中在根目录下提供了第一目录和第二目录,在第一目录中记录了主要内容和字节码应用,在第二目录中记录了用于取出的内容,用于取出的内容是机器固有功能的目标并且格式与主要内容不同,机器固有功能是介质间拷贝,通过该功能从第一记录介质向第二记录介质拷贝构成用于取出的内容的文件。
利用以上结构,可以在一个盘中记录第一目录上记录的主要故事电影和第二目录上记录的用于移动终端的受保护内容,盘上的应用能够控制用于移动终端的受保护内容的传输。这样消除了对PC的需求,并仅利用回放设备实现了用于取出的业务。
此外,尽管任选地,上述回放设备可以具有解决以下额外技术问题的结构。
(额外的技术问题2)
在其发生时,如果向播放机模型的标准输出功能增加新的API,以便实施新开发的特殊功能作为标准输出功能,那么会出现向后兼容方面的问题,即,缺少这个额外API的回放设备将不再能够正常运行使用该额外API的应用。具体而言,问题在于,在应用运行时间,回放设备在应用使用的API和回放设备自身中实施的API之间进行链接过程。如果应用使用回放设备未持有的API,将发生链接错误,应用将无法运行。用于避免以上问题的一项措施是准备仅使用现有API的应用以及使用额外API的独立应用,然后检查回放设备版本等并相应地改变将运行的应用。不过,如果后来增加了众多功能且回放设备针对每种功能扩展了API,那么它会变得笨重和复杂,以管理能够安全使用API的程度和应当使用不同应用的点。在那种情况下,维持不同制造商的回放设备之间的应用兼容性变得极为困难。因此,在增加新功能时,通过标准主体等认真定义API,从而不会出现兼容问题,并为设备制造商和应用开发者公布额外的API,从而对可以安全使用API到什么程度以及应当在哪个点使用不同应用清楚明白。通过这种方式,已经采取措施,使得即使在更旧的设备上回放已经增加了新功能的产品,也应该能够播放该产品而不会有任何问题。不过,由于在每次增加新功能时都需要这个过程,并且因为必须要认真定义额外API,所以会出现新的问题,即,在完结之前需要时间,并且停顿了回放设备和应用实现的业务演化。
因此,本发明的另一目的是提供一种回放设备,其能够实现字节码应用的稳定激活而无需对API进行标准化。
以上目的是通过以上回放设备实现的,其中在所述第一记录介质的第一目录中记录用于所述机器固有功能的介质上的库,所述介质上的库为所述第一目录中记录的另一字节码应用提供用于执行所述机器固有功能的程序设计接口,在所述另一字节码应用调用用于执行所述机器固有功能的程序设计接口时,所述介质上的库(i)将对用于执行所述机器固有功能的程序设计接口的调用转换成套接字命令并向所述固有功能控制单元输出所述套接字命令;以及(ii)将来自所述固有功能控制单元的响应转换成返回值或事件并将所述返回值或事件返回到另一字节码应用,并且所述套接字连接构成传输所述套接字命令和响应的通信路径。
在以上结构中,在使用机器固有功能时,第一记录介质上记录的介质上的库使用API进行套接字连接。这样增大了在启动应用时第一记录介质上记录的介质上的库使用的API成功与回放设备中的本地API链接以进行套接字通信的概率,而且启动应用自身绝不会失败。
而且,只要使用用于套接字通信的程序设计接口,就不需要独立准备仅使用现有API的应用以及使用额外API的应用。于是,利用这种结构,仍然容易维持来自不同制造商的回放设备之间的应用兼容性。
利用以上结构,在增加新功能时,不需要谨慎地考虑额外API的定义,从而不会停顿回放设备和应用实现的业务演化。而且,可以将对关于机器固有功能的通信数据的协议分析的管理合并到库中,通信是在应用和回放设备之间进行的。这样消除了应用自身执行协议分析的需求,由此提高了应用的生产率。
尽管任选地,上述回放设备可以是以上回放设备,还包括:用于验证所述介质上的库的档案文件中存储的数字签名文件的真实性的验证单元,所述验证单元基于所述回放设备中嵌入的认证密钥计算所述介质上的库的档案文件中存储的数字签名文件的散列值,在计算出的散列值与所述介质上的库的档案文件中存储的数字签名文件中包括的数字签名的值匹配时,所述验证单元判定所述字节码应用是可信的,并且在所述验证单元判定所述字节码应用不可信时,即使所述固有功能控制单元从所述字节码应用接收到与不同于所述回放控制功能的机器固有功能相关的命令时,所述固有功能控制单元也拒绝执行与所述回放控制功能不同的机器固有功能。
利用这种结构,能够通过应用和回放设备之间的通信传输加密的数据,借此能够防止以未授权方式监测通信数据的内容、获得关于对回放设备而言固有的功能的信息、以及以未授权方式使用所获得信息。
附图说明
图1示出了与本发明相关的回放设备的使用动作的一个范例。
图2A和2B示出了实施例1中记录介质的内部结构和操作模式对象的内部结构。
图3示出了回放设备的内部结构。
图4示出了回放设备的软件层结构。
图5示出了外部服务器29和回放设备中的机器固有功能控制单元33。
图6是为了使用机器固有功能而由字节码应用执行的流程的流程图。
图7示出了数字拷贝中回放设备内部与外部之间的数据流。
图8为序列图,示出了在字节码应用、数字拷贝模块35和数字拷贝服务器36之间执行的数据发送/接收。
图9示出了数字拷贝模块35的详细结构。
图10是数字拷贝模块35中的数字拷贝过程的流程的流程图。
图11示出了BD-ROM的结构。
图12示出了BD-ROM的目录结构一个范例,其中记录用于流格式不同的移动终端的多个受保护内容。
图13A和13B示出了index.bdmv文件和标题之间关系的一个范例,以及标题的BD-J对象中包括的应用管理表的内容和播放表访问信息的内容。
图14是示出了应用中发出API呼叫的细节的序列图。
图15示出了数字拷贝模块35的状态传送。
图16是示出了终端中局部通信细节的序列图。
图17是流程图,示出了由BD-J应用执行的从功能确认到初始化的过程的流程。
图18是流程图,示出了从拷贝目的地状态确认到参数设置的过程的流程。
图19是子流程图,示出了用于选择拷贝源存储目录的流程细节。
图20是流程图,示出了由BD-J应用执行的从剩余拷贝数确认到密钥写入的过程的流程。
图21A到21C示出了在数字拷贝过程中显示的屏幕范例。
图22是流程图,示出了由数字拷贝模块执行的过程的流程。
图23是流程图,为图22流程图的继续。
图24示出了平台单元20,即图4所示字节码处理模块的更具体结构。
图25示出了将安全存储卡用作本地存储器时卡中的目录结构。
图26示出了应用的常规签名检验。
图27示出了基于回放设备持有的数字证书的签名检验。
图28示出了如何根据签名检验的结果限制功能。
图29是在做出使用机器固有功能的连接请求时执行的过程的流程图。
图30示出了如下情况:用户在通往回放设备的中途观看内容,并在移动终端上观看继续。
图31是实施例7中数据拷贝的流程图。
图32示出了拷贝源和拷贝目的地是同一记录介质的数字拷贝。
图33是流程图,示出了拷贝源和拷贝目的地是同一记录介质的数字拷贝流程。
图34示出了本发明的集成电路的架构。
具体实施方式
下文参考附图描述本发明的实施例。
具备解决以上问题的模块的本发明回放设备可以被实现为用于回放封装介质的播放机。可以将本发明的集成电路实现为要嵌入播放机中的系统LSI。可以将本发明的回放方法实现为由播放机实现的时间串行流程。可以将本发明的程序实现为安装在播放机中的计算机可读记录介质上以可执行格式记录的程序。
(实施例1)
实施例1涉及改善在回放设备内部和外部执行的通信以实现机器固有功能。
首先,在涉及本发明的回放设备的实施动作中,实施例描述了使用动作。图1示出了与本发明相关的回放设备的使用动作的一个范例。如图1所示,涉及本发明的回放设备为回放设备101。这种回放设备101构成家庭影院系统,随带有遥控器102、电视机103、安全存储卡104、只读介质105、移动终端106和安全存储卡107。
回放设备101具有插槽,可以向其中插入SD存储卡、插槽棒、CompactFlash、SmartMedia、多媒体卡和其他可移除介质104中的一些。此外,回放设备101具有诸如USB插槽的插槽,用于和移动终端106连接。
遥控器102是回放设备101的附件,从用户接收表示对回放设备101的指令的操作,并向回放设备101发送与接收的操作对应的指令信号。表示对回放设备的指令的操作包括令回放设备执行只读介质回放控制的操作或令回放设备执行机器固有功能的操作。而且,回放设备101具有网络通信功能,以与外部服务器进行通信。
电视机103通过显示电影的回放图像、菜单等为用户提供交互操作环境。
安全存储卡104是用于支持用于移动终端的受保护内容的记录介质,受保护内容是在回放设备执行机器固有功能时使用机器固有功能拷贝的。安全存储卡104例如是microSD卡或SDHC卡。安全存储卡104具有受保护区和系统区,其中加密的解密密钥存储在受保护区中。系统区存储用于对解密密钥解密的介质密钥块(MKB)和介质ID(MID)。
只读介质105是用于为家庭影院系统提供电影的记录介质。
可以在其中加载安全存储卡104的移动终端106可以使用安全存储卡104上记录的用于移动终端的受保护内容。为了使用用于移动终端的受保护内容,移动终端106利用拷贝目的地介质的系统区中记录的MKB对安全存储卡104的受保护区中写入的加密的解密密钥进行解密,从解密密钥提取密钥信息(标题密钥),并根据需要利用提取的密钥信息对用于移动终端的受保护内容中包含的加密数字流进行解密。在这里,“使用”表示将加密内容解密成用于取出的内容并播放内容。
这样就完成了家庭影院系统的描述。其次,将详细描述记录介质。
图2A示出了实施例1中记录介质的内部结构。如图2A所示,在实施例1中的记录介质上记录主要故事内容和用于移动终端的受保护内容。
主要故事内容是通过只读介质105的记录方法或保护方法存储的内容,包括流文件201、流信息文件202、播放表信息文件203、索引表204、档案文件205和操作模式对象206。
流文件201以传输流的格式存储数字流,在传输流格式中,复用视频流、一个或多个音频流和图形流。
流信息文件202确保对流文件的传输流中的任何源包进行随机存取,以及与另一传输流的无缝回放。通过这种流信息文件,将流文件作为“AV剪辑”进行管理。流信息文件包括条目图,示出了定位在GOP的头部的多条信息和源包数目,分别与帧周期的显现时间戳相关联,其中多条信息包括编码格式、帧速率、比特率和AV剪辑中流的分辨率。因此,通过向存储器中加载流信息文件,能够识别流文件中哪种传输流正试图进行存取,由此确保随机存取的执行。
播放表信息文件203是存储用于回放设备回放播放表的信息的文件。“播放表”表示通过逻辑地指定回放段的回放次序而定义的回放路径,其中在传输流(TS)的时间轴上定义回放段。播放表通过指明应当回放多个TS中哪个TS的哪部分,起到定义要按次序显示的场景序列的作用。播放表信息定义了播放表的“模式”。由播放表信息定义的回放路径是所谓的“多路径”。多路径由“主路径”以及一个或多个“子路径”构成,其中主路径是为主要TS定义的,子路径是为子TS定义的。
索引表204示出了操作模式对象(定义操作模式)和多个标题数字之间对应关系,可以在回放设备中提供的标题数字寄存器中存储标题数字。记录介质上记录的标题是(i)标题数字标识的操作模式对象和(ii)从操作模式对象回放的播放表的对。应当指出,可以在标题数字寄存器中存储的标题数字包括“0”、“1”到“999”以及未定义值“0xFFFF”。标题数字“0”是顶部菜单标题的标题数字。顶部菜单标题是可以由用户执行的菜单调用操作调用的标题。未定义值“0xFFFF”表示的标题数字是第一个播放标题的标题数字。第一播放标题是在加载记录介质之后立即向观看者显示警告、内容供应商的徽标等的标题。索引表包括与标题数字一一对应的条目(标题索引)。每条标题索引包括定义操作模式的操作模式对象。利用这种结构,标题索引表详细定义每个标题如何在对应的操作模式中工作。
档案文件205是通过将字节码应用的类结构的文件(类文件)与数字证书证明文件、磁盘签名文件、磁盘签名加密密钥文件和许可请求文件归档在一起产生的文件。加载应用是通过以下方式实现的:处理整个类档案文件,从而可以在加载类时利用数字证书、磁盘签名和磁盘签名加密密钥检验应用的可靠性。而且,在存在许可请求文件时,可以将应用操作限制到已经被授予预定权利的操作。
操作模式对象206是与索引表中所示的标题数字之一相关联的控制单元。当在标题数字寄存器中将与操作模式对象206相关联的标题数字设置为当前标题的标题数字时,操作模式对象206表示如何操作对应的标题。
图2B示出了操作模式对象的内部结构。如图2B所示,操作模式对象由“应用管理表”、“终端管理表”、“应用高速缓存信息”、“播放表访问信息”和“密钥分配表”构成。
“应用管理表”是向应用管理器或类加载器指示标题边界应用信令的控制表。“终端管理表”是指明用于实现GUI的HAVi配置,要用于GUI中的字体以及多媒体家庭平台(MHP)存在/缺少用户操作掩码的管理表。“应用高速缓存信息”是向高速缓存管理器指明标题选择时高速存入/高速读取档案文件的控制表。“播放表访问信息”是向回放控制单元指明标题选择时的播放表访问规格的控制表。“密钥分配表”是向事件管理器指明密钥和事件之间对应关系的控制表。
“类加载”是向档案文件中归档的类文件实例产生到平台的堆积区域中的过程。在产生的实例存在于堆积区域中时,可以执行作为堆积区域中产生的实例的应用。“应用信令”是用于定义是否自动运行应用(即类文件的实例)或是否将应用的寿命周期设置为标题边界或磁盘边界的控制。在这里,标题边界是在标题开始和结束之间的特定时间点向平台的堆积区域中产生档案文件中归档的类文件的实例;并在标题终止的同时从堆积区域擦除作为应用的实例的控制。磁盘边界是在插入和弹出磁盘之间的特定时间点向平台的堆积区域中产生档案文件中归档的类文件的实例;并在弹出磁盘的同时从堆积区域擦除作为应用的实例的控制。相反,即使在弹出磁盘时也不擦除堆积区域中的实例的控制被称为“磁盘非边界”。“HAVi设备配置”定义在应用执行GUI过程时图形平面的分辨率、显示字符等时使用的字体。
“播放表访问”是可以由被激活的应用回放的播放表的规格,是在选择标题时自动回放的播放表的规格。
“类档案文件的高速存入”是预先向高速缓存中读取类档案文件的过程,类档案文件是类加载的目标。“类档案文件的高速取出”是用于从高速缓存删除类档案文件的过程。“密钥和事件之间的对应关系”得自如下过程:将已在应用的事件收听器中注册的事件分配到可以由用户操作的密钥。有其他操作模式对象令回放设备通过使用游历命令工作。
这样完成了主要故事内容的解释。其次,将详细解释用于移动终端的受保护内容。
用于移动终端的受保护内容是用于取出的内容,其部分与主要故事内容相同,但在存储和保护格式上不同,包括流文件207、程序信息文件208、管理信息文件209和拷贝信息存储文件210。在这些中,流文件207、程序信息文件208和管理信息文件209是分别对应于构成主要故事内容的流文件201、流信息文件202和播放表信息文件203的管理信息。不过,拷贝信息存储文件210对于用于移动终端的受保护内容而言是唯一的。
拷贝信息存储文件210是存储拷贝信息的文件。拷贝信息包括内容ID。内容ID是由内容供应商分配给用于移动终端的受保护内容的128-位标识符,以便对其进行标识。对于作为机器固有功能目标的用于移动终端的受保护内容,在服务器的数据库中管理内容ID。分配内容ID,从而可以唯一地标识用于移动终端的每个内容。使用标识符中特定数量的高位比特识别内容供应商。
这就完成了与本发明相关的记录介质的解释。下文描述了与本发明相关的回放设备的内部结构。
图3示出了回放设备的内部结构。如图3所示,回放设备包括驱动设备1、解复用器2、视频解码器3、平面存储器组设备4、视频平面4a、图形平面4b、再现引擎5、叠加单元6、音频解码器7、机器接口8、微型计算机主机9、回放控制单元10、用户接口11和寄存器设备组12。
驱动设备1具有用于只读介质105的驱动器和用于安全存储卡104的驱动器。用于只读介质105的驱动器在其中加载只读介质105,并经由缓存从只读介质105读取构成数字流的源包序列。用于安全存储卡104的驱动器保持其中加载的记录介质,例如安全存储卡104,并访问记录介质。当经由USB电缆等在与回放设备连接的移动终端106中加载安全存储卡104时,还为移动终端106的驱动器分配插槽号,并将其作为“驱动器”管理。以“插槽”为单位管理安全存储卡104的驱动器。与多个插槽号相关联,指明只读介质105和加载在驱动器中的安全存储卡104的状态的设备列表被称为“设备列表”。
解复用器2通过对从只读介质105读出的源包序列解复用获得PES包,并将PES包输出到对应的解码器。
视频解码器3对读出的视频信息流解码并向平面设备4上写入未压缩的图画。
平面设备4由多个平面存储器构成。平面存储器是用于在线路单元中存储一屏像素数据的存储器,从而可以根据水平和垂直同步信号输出像素数据。每个平面存储器存储一屏通过对视频、副标题、GUI或背景图像解码获得的像素数据。
这些平面存储器构成层模型。这些平面存储器中存储的数据用于层叠加。通过向分层模型中两层的所有组合上执行叠加过程来实现层叠加。在叠加过程中,叠加两层的平面存储器中存储的像素数据的像素值。
视频平面4a,即构成平面存储器组4的平面存储器之一,存储分辨率为1920×1080的未压缩画面数据。
视频平面4b,即构成平面存储器组4的平面存储器之一,存储要叠加在视频平面上的未压缩图形。注意,这里“图形”表示以ARGB格式存储于图形平面中的像素数据显示的东西,包括利用字体扩展文本代码获得的字符和符号的位图以及对GIF/JPEG/PNG数据解码获得的GIF/JPEG/PNG图像(称为“绘制图像”)。
再现引擎5具有诸如Java 2D或OPEN-GL的基本软件,根据字节码应用的请求通过对JPEG数据或PNG数据解码来获得图像或小部件,并向图形平面上写入图像或小部件。将对JPEG数据解码获得的图像数据用于GUI的壁纸。向图形平面上写入对PNG数据解码获得的像素数据,以实现动画按钮的显示。在字节码应用显示菜单,用于接收标题、副标题或音频的选择时,使用通过对JPEG数据或PNG数据解码获得的图像或小部件,或在玩与流回放耦合的游戏时用于表示GUI分量。也可以在字节码应用访问WWW网站时,使用图像或小部件表示WWW网站的浏览器屏幕。
叠加单元6执行多个平面存储器的层叠加。
音频解码器7对解复用获得的PES包中构成音频流的PES包解码。
在回放设备经由接口与家庭影院系统中的另一设备连接时,在通过相互验证阶段和商议阶段传递之后,机器接口8过渡到数据传输阶段,以执行数据传输。在商议阶段中,掌握合作设备的能力(包括解码能力、回放能力和显示频率),在播放器设置寄存器中设置能力,从而确定用于成功数据传输的传输方法。在相互验证阶段和商议阶段之后,根据显示设备的水平同步周期,以高传送率向显示设备传输层叠加之后图画数据中未压缩/明文格式的一行像素数据。另一方面,在显示设备的水平和垂直消隐期间中,向与回放设备连接的其他设备(包括放大器和扬声器以及显示设备)传输未压缩/明文格式的音频数据。利用这种结构,诸如显示设备、放大器和扬声器的设备能够接收都是未压缩/明文格式的画面数据和音频数据,并实现再现输出。而且,在合作设备具有解码能力时,能够进行视频和音频流的穿透传输。在穿透传输中,能够在视频流和音频流处于压缩/加密格式时传输它们。
微型计算机主机9由MPU、ROM和RAM构成,并执行通过加载档案文件获得的字节码应用。
回放控制单元10控制驱动设备1以从只读介质105读取索引表、操作模式对象、播放表信息文件、流信息文件和流文件,并基于从记录介质读取的播放表信息和流信息执行回放控制。在读取流文件时,随机存取可用,即,可以从流文件读取与时间轴上任何时间点对应的源包。
用户接口11接收向遥控器102上执行的操作。
寄存器组12由多个播放机状态寄存器和多个播放机设置寄存器构成。播放机状态寄存器是在回放设备的MPU执行算术计算或位计算时使用的用于存储操作数的硬件资源。在将光盘插入回放设备中时,将播放机状态寄存器设置为初始值。而且,在回放设备的状态改变时(例如,在当前标题数字或当前播放表数字改变时),判断播放机状态寄存器中存储的值的有效性。播放机状态寄存器中存储的值包括当前标题数字、当前播放表数字和当前回放时间点。由于在将只读介质105插入回放设备时将播放机状态寄存器设置为初始值,其中存储的值是暂时的,在弹出只读介质105或关闭回放设备时,变得无效。
播放机设置寄存器与播放机状态寄存器不同之处是它们具有功率处理措施。利用功率处理措施,在关闭回放设备时,将播放机设置寄存器中存储的值保存到非易失性存储器中,在打开回放设备时将值恢复。可以在播放机设置寄存器中设置的值包括:在装运回放设备时,由回放设备的制造商确定的回放设备的各种配置;根据设置流程由用户设置的各种配置;以及在设备与合作设备连接时通过与合作设备协商探测的合作设备能力。
这就完成了回放设备内部结构的描述。下文描述了回放设备的软件层结构。
图4示出了回放设备的软件层结构。
基本层结构由文件系统13和实时OS 14构成。在基本层上方的层中,并行存在着命令处理模块15和字节码处理模块16。在这一层上方的层中,存在模块管理。
文件系统13允许以目录文件等为单位访问只读介质105或安全存储卡104。
实时OS 14是用于内置软件的操作系统(例如,Linux),由操作系统内核和基本输入/输出单元构成。
命令处理模块15,包括命令解释程序,解码并执行游历命令,并根据执行的结果选择要回放的播放表。向DVD视频中以类似语法写入游历命令。因此,通过执行游历命令,回放设备能够实现像DVD视频那样的回放控制。例如,在回放设备回放BD-ROM时,命令处理模块15对应于HDMV模块。
提供于平台单元20中的字节码处理模块16运行只读介质105上记录的档案文件中类结构的实例。在回放设备回放BD-ROM时,字节码处理模块16对应于例如BD-J模块。
模块管理器17保存从只读介质105读取的索引表并执行模式管理和分支控制。模块管理器17执行的模式管理是一种模块分配,其中它向命令处理模块15或字节码处理模块16分配动态脚本。
在以上层结构中,实时OS 14和字节码处理模块16构成字节码应用的平台单元20。平台单元20具有可以由字节码应用使用的程序设计接口。可以由字节码应用使用的程序设计接口包括:利用播放表信息为数字流的回放控制进行标准化的回放控制程序设计接口;以及已经为通信而标准化的通信控制程序设计接口。
接下来将描述字节码处理模块16的内部结构。字节码处理模块16包括类加载器21、应用管理器22、堆积存储器23、字节码解释程序24、内置库25和回放控制API 26。
类加载器21是系统应用之一,通过从档案文件中存储的类文件读取字节代码并将字节代码存储到堆积存储器23中来加载字节码应用。
应用管理器22是系统应用之一,基于操作模式对象中的应用管理表为字节码应用执行应用信令,例如开始或终止字节码应用。
堆积存储器23为堆栈区,其中布置的是系统应用的字节码和内置库,作为应用信令目标的通用应用的字节码以及这些字节码应用使用的参数。
字节码解释程序24将堆积存储器23中存储的字节码转换成本地代码并使MPU执行本地代码。
内置库25提供AV回放功能、网络通信功能和针对字节码应用的介质访问功能。已经通过标准化关联将AV回放功能、网络通信功能和介质访问功能进行标准化。
回放控制API 26是标准化的回放控制程序设计接口,是用于通过内置库25为字节码应用提供回放控制功能的程序设计接口。
这样完成了字节码处理模块16的描述。下文描述了实时OS 14和文件系统13的内部结构。实时OS 14包括本地API 27。文件系统13包括读取控制单元31、写控制单元32和机器固有功能控制单元33。
本地API 27是用于为字节码应用提供实时OS 14的基本功能的程序设计接口,也是OSI参考模型中的通信程序设计接口。允许使用实时OS 14的基本功能的API也称为“系统功能”。以上本地API 27包括用于通信的基本API,能够支持TCP/IP和UDP/IP。
读取控制单元31控制文件读取,以从只读介质105读出构成主要故事内容的文件和构成用于移动终端的受保护内容的文件,并为字节码处理模块16提供读出的文件。
写控制单元32控制文件写入,以从读取控制单元31接收构成用于移动终端的受保护内容的文件,并向安全存储卡104上写入文件。
机器固有功能控制单元33实现对机器而言固有的功能。在本发明的说明书中,机器固有功能是指仅能够被开发回放设备的制造商制造的播放机执行,不能被其他制造商制造的播放机执行的功能。
有各种机器固有功能。例如,在为回放设备提供游戏机功能的情况下,机器固有功能是仅在游戏机专用的操作设备上可用的功能。对于从被人手持时设备自身的运动探测用户操作的操作设备,或通过探测人的运动来探测用户操作的操作设备,机器固有功能是仅在操作设备上可用且对游戏机是固有的功能。此外,对于游戏机而言固有的在线功能可以是机器固有功能。如果以上各种功能是机器固有功能,解释将会复杂。因此,在以下描述中,假设专利文献1中描述的拷贝功能,即图2A和2B所示用于拷贝要取出的内容的拷贝功能是机器固有功能。
字节码应用对机器固有功能的使用受到限制。亦即,仅有允许使用机器固有功能的内容供应商生成的字节码应用能够使用机器固有功能。不允许使用机器固有功能的内容供应商生成的字节码应用不能够使用机器固有功能。为了检查是否允许内容供应商使用机器固有功能,机器固有功能控制单元向外部服务器发送一对内容ID和序列号,并令服务器判断作为主要故事内容供应源的内容供应商是否是使用机器固有功能的授权被许可者(允许使用其的实体)。在服务器判定其是被授权许可者时,执行机器固有功能;在服务器判定其不是授权许可者时,不执行机器固有功能。
下文将描述实现在上方层结构中使用机器固有功能的过程的字节码应用。
本实施例中的字节码应用其特征在于,通过套接字协议经由终端中的本地通信执行与机器固有功能控制单元33之间的命令-响应型通信。
在这里,“套接字”是指预定端口号和本地主机IP地址之一的绑定组合,在套接字通信中,介质上的库向机器固有功能控制单元发送命令,并从机器固有功能控制单元接收响应。
套接字协议首先执行四个步骤:套接字生成步骤,用于接收请求;绑定步骤,用于将IP地址(服务器的地址信息)和端口号绑定到套接字;侦听步骤,用于通过设置请求连接队列来准备连接请求;以及接受步骤,用于通过接收等待连接的请求并建立套接字连接来生成新的套接字连接,然后套接字协议执行经由套接字连接发送命令并接收响应的步骤。
在这些步骤中,套接字生成步骤、绑定步骤、侦听步骤、接受步骤和发送/接收步骤是使用系统功能执行的,系统功能例如是套接字功能、绑定功能、侦听功能、接受功能、发送功能、接收功能和关闭套接字功能。而且,IP地址和端口号与套接字的绑定是在SOCKADDR_IN结构中执行的。这些功能和结构是由实时OS 14的本地API 27提供的。除了其中使用的特殊端口之外,由实时OS 14的本地API提供终端中使用本地通信的套接字协议。因此,字节码应用能够仅仅使用实时OS 14的本地API 27,而无需使用字节码处理模块16中的内置库25,来使用机器固有功能。
作为用于终端中本地通信中的IP地址,使用本地主机的IP地址。这里,本地主机表示当前使用的系统,在需要时,使用TCP/IP执行与终端自身的通信。例如,IPv4中的本地主机的IP地址为“127.0.0.1”,IPv6中本地主机的IP地址是分配给“::1”的环回设备。
套接字协议排他地使用被称为“拷贝者套接字端口”的端口。因此,独立地实施用于数字拷贝过程的端口号。为了通知在该过程中使用的端口号,字节码应用需要确定要用于该过程中的一组端口号。
利用机器固有功能实现过程的字节码应用分成三种类型:(1)介质上的库,为其他字节码应用提供程序设计接口,以使用机器固有功能;(2)利用用于机器固有功能的程序设计接口实现交互式控制的字节码应用;(3)集成字节码应用,其中集成了以上介质上的库和字节码应用的功能。
下文解释了实现程序设计接口以使用机器固有功能的介质上的库。
图5示出了介质上的库28、回放设备中的机器固有功能控制单元33以及外部服务器29。在下文中,描述介质上的库28和外部服务器29。
介质上的库28是一种用于经由本地网络接入与机器固有功能控制单元33进行数据发送/接收的库,从而可以从只读介质105提供它,用于与其他字节码应用独立的数据发送/接收。内置库25内置于回放设备中。介质上的库28与内置库25不同之处在于,它是从只读介质105供应的。用于和机器固有功能控制单元33进行数据发送/接收的协议不取决于每种字节码应用,而是被定义为多个字节码应用共有的协议。利用介质上的库28和机器固有功能控制单元33之间的本地网络接入进行数字拷贝的协议被称为“数字拷贝套接字协议”。数字拷贝套接字协议将介质上的库28提供给字节码应用的API转换成数字拷贝套接字协议上的命令(该命令被称为“数字拷贝套接字命令”),并通过套接字通信向机器固有功能控制单元33发送命令以及从机器固有功能控制单元33接收响应。
外部服务器29管理能够使用机器固有功能的回放设备以及可能是机器固有功能的目标的内容。在机器固有功能控制单元33请求时,外部服务器29更新机器固有功能的使用历史并许可使用机器固有功能。
下文参考图5解释数据如何在上述介质上的库28、机器固有功能控制单元33和外部服务器29间流动。在图5中,在底部示出了只读介质105和安全存储卡104,回放设备和服务器在其上方,介质上的库28在其顶部。管路cm2表示介质上的库28和机器固有功能控制单元33之间的通信。通信是同一终端中的本地通信,是经由本地API 27执行的。箭头cp1表示从只读介质105到安全存储卡104的拷贝。拷贝是写入使用机器固有功能的管理信息,是根据通过终端中的本地通信从介质上的库28接收的指令执行的。
管路cm1表示介质上的库33和外部服务器29之间的通信。通信是终端间的全局通信。在机器固有功能控制单元33经由全局网络向外部服务器29发送通信请求时,向安全存储卡104中下载数据。如上所述,本实施例使得能够调用对终端固有的功能,并且不被定义为字节码处理模块的API,方式是向终端内部使用套接字通信API,这是常规的网络API。常规地,像BD-ROM中的BD-J应用的字节码应用主要使用网络API与外部服务器连接,以下载诸如奖励图形的额外内容和额外的副标题/应用。本实施例使得能够在同一终端中进行本地通信,无需扩展网络API。利用这种结构,字节码应用能够访问当前运行的回放终端,如同其为服务器一样,并能够调用各种功能,无需被现有API绑定。
这样完成了机器固有功能控制单元33的解释。接下来将解释为了使用机器固有功能而由字节码应用执行的流程。
图6是为了使用机器固有功能而由字节码应用执行的流程的流程图。
首先,字节码应用判断回放设备是否支持数字拷贝。在字节码应用请求介质上的库28检查回放设备是否支持数字拷贝时,介质上的库28判断是否有表示分配给数字拷贝的通信端口的系统属性(“digitalcopy.port”)(步骤S501)。
当在步骤S501中判定没有系统属性时,连接到固定端口(步骤S502)。当在步骤S501中判定有系统属性时,连接到由系统属性指定的端口(步骤S503)。接下来,判断连接到通信端口是否成功(步骤S504)。在连接到通信端口失败时,判定当前的回放设备不支持数字拷贝(步骤S508)。
在连接到通信端口成功时,数字拷贝库请求机器固有功能控制单元33通过通信端口进行初始化(步骤S505)。数字拷贝库通过当前连接的通信端口从机器固有功能控制单元33接收在步骤S505中发送的初始化请求(步骤S506)。当在步骤S506中接收到初始化成功响应时,这表示当前的回放设备能够执行机器固有功能,则执行机器固有功能(步骤S507)。当在步骤S506中未从机器固有功能控制单元33接收到响应或从其接收到初始化失败响应时,表示当前的回放设备不能执行机器固有功能,则不执行机器固有功能,过程返回(步骤S508)。通过这种方式,字节码应用基于端口连接是否成功以及机器固有功能控制单元33的初始化是否成功的判断结果,判断机器固有功能的可执行性。
如上所述,根据本实施例,利用作为本地API被支持的套接字功能向字节码应用提供机器固有功能。利用这种结构,能够令应用使用机器固有回放功能,而无需对已经标准化的用于数字流回放控制的API进行增添或改变。预计在能够令应用使用机器固有功能且无需对已经标准化的用于数字流回放控制的API做任何增添或改变时,各内容供应商将开发出各种使用特殊功能的应用并投入市场。结果,将有各种用于激活特殊功能的用户接口,用户将能够通过更容易使用且用户友好性更好的用户接口使用制造商开发的特殊功能。
只要将特殊功能实现为机器固有功能,就可能防止追随的制造商提供类似产品。因此能够在市场上专营销售制造商开发的特殊功能作为机器固有功能的一些产品。
(实施例2)
在实施例1中,未具体指明机器固有功能。在本实施例中,将对机器固有功能是数字拷贝的前提进行解释。在本实施例中涉及的数字拷贝是从只读介质105向安全存储卡104拷贝用于取出的内容的功能,使得可以在移动终端上观看内容,即介质间的拷贝。在回放设备在外部服务器控制下执行介质间拷贝时实现的允许经由移动终端取出只读介质105中的内容的业务被称为“e-移动业务”。作为e-移动业务的目标并假定要取出的内容(即,用于取出的内容)被称为“e-移动内容”。
E-移动业务相对于现有类似功能或业务的优点如下。
现有类似功能之一是AACS中的Managed Copy,现有类似业务之一是Apple Inc.的Digital Copy。
AACS中的Managed Copy需要译码。例如,用于两个小时回放的AV流需要经历两个小时的译码过程。另一方面,e-移动业务仅需要向安全存储卡104写入只读介质105上记录的内容的过程。该过程需要的时间远远短于译码。
在Apple Inc.的Digital Copy中,在同一套套件中包括了BD-ROM以及其上记录了要拷贝内容的DVD-视频盘和DVD-ROM盘,因此用户能够通过向个人计算机中插入DVD-ROM盘向存储卡拷贝数据,令其上记录的程序在个人计算机上运行。Digital Copy不适于用户,因为它很昂贵,因为其套装软件包含BD-ROM、DVD-视频和DVD-ROM盘。
与这种Digital Copy相比,e-移动不需要DVD-ROM盘令PC执行数字拷贝,因为e-移动业务直接令只读介质105上记录的字节码应用拷贝要取出的内容。
这样完成了e-移动业务的解释。接下来将详细解释介质间拷贝。
在外部服务器的权限管理下许可将一份用于移动终端的受保护内容私用。因此,机器固有功能控制单元33执行的数字拷贝需要在外部服务器之一,即数字拷贝服务器的权限管理下执行。
下文解释数字拷贝模块35和用于权限管理的数字拷贝服务器36。
图7示出了数字拷贝中回放设备内部与外部之间的数据流。为了实现数字拷贝,为机器固有功能控制单元33提供数字拷贝模块35,利用数字拷贝服务器36替换外部服务器29。
数字拷贝模块35通过从只读介质105读取构成用于移动终端的受保护内容的文件并向安全存储卡104上写入文件来拷贝构成用于移动终端的受保护内容的文件。用于文件读/写的多个参数是预先在数字拷贝模块35中设置的,数字拷贝模块35基于这些参数执行拷贝的前期和后期处理。
多个参数包括当前序列ID、当前源位置、当前服务器URL、当前输出设备和当前恢复位置。在数字拷贝模块35执行的预处理中,从服务器获得拷贝用于移动终端的目标受保护内容的剩余次数。更具体而言,数字拷贝模块35从表示当前源位置的文件路径标识的只读介质105的目录下的拷贝信息文件提取内容ID,并从当前输出设备标识的驱动器中加载的安全存储卡104提取介质ID。数字拷贝模块35向当前服务器URL标识的服务器发送内容ID、介质ID和当前序列ID的组合,令服务器搜索数据库,找到与组合匹配的拷贝剩余次数,数字拷贝模块35向字节码应用返回剩余拷贝次数,这是由服务器作为搜索结果提取的。
在后期处理(执行后期处理是为了下载所谓的“解密密钥”)中,数字拷贝模块35向服务器发送内容ID、序列ID、介质ID和当前输出设备的组合,令服务器在数据库中搜索与组合匹配的标题密钥,提取标题密钥,并产生解密密钥,数字拷贝模块35向安全存储卡104下载解密密钥。
数字拷贝服务器36具有标题密钥的数据库,标题密钥与用于移动终端的受保护内容的权限管理中使用的多个序列ID对应。数据库管理与序列ID一一对应的标题密钥。在数字拷贝服务器36从机器固有功能控制单元33接收到搜索请求,连同要用作关键字的内容ID、序列ID、介质ID和MKB时,数字拷贝服务器36在数据库中搜索与组合匹配的标题密钥,读出标题密钥,使用内容ID、序列ID、介质ID和MKB对标题密钥加密,并向数字拷贝模块35下载解密密钥,请求源具有所请求的搜索。
而且,数字拷贝服务器36管理多个与内容ID、序列ID和介质ID的组合对应的拷贝券。拷贝券是用于管理针对内容ID、序列ID和介质ID的每种组合的被许可个人拷贝数的权限管理信息。在本实施例中,基于数字拷贝操作公司确定的拷贝剩余次数管理许可的个人拷贝数。每次执行数字拷贝时,将剩余的拷贝次数减一。在数字拷贝服务器36从数字拷贝模块35接收到搜索请求,连同要用作关键字的内容ID、序列ID和介质ID的组合时,数字拷贝服务器36在数据库中搜索与组合匹配的剩余拷贝次数,读出并向数字拷贝模块35返回剩余的拷贝次数,请求源具有所请求的搜索。在这里,在响应于与内容ID、序列ID、介质ID和MKB的组合一起发送的搜索请求从数字拷贝模块35进行标题密钥的下载时,将剩余的拷贝次数减一。利用这种结构,数字拷贝的性能限于数字拷贝服务器36管理的剩余拷贝次数。
在下文中,将参考图7解释数字拷贝过程中的数据流。在图7中,在中间示出了回放设备,底部示出了安全存储卡104,顶部示出了只读介质105和数字拷贝服务器36。
数字拷贝过程中要处理的主要数据包括序列ID、内容ID、介质ID(MID)、介质密钥块(MKB)、用于移动终端的受保护内容和解密密钥。只读介质105对存储内容ID、用于移动终端的受保护内容、字节码应用和介质上的库28的文件进行存储。
序列ID是用于标识每个只读介质105的标识信息。数字拷贝服务器36的数据库管理市场上销售的只读介质105中作为机器固有功能的目标的只读介质105的序列ID。作为序列ID,可以使用BCA(突发脉冲切割区)中记录的PMSN(预先记录的介质序列号)。除此之外,可以由用户手工输入套件中所含的一张纸上印刷的赠券ID的值,以便使用。如果将PMSN用作序列ID,就不需要用户手工输入该值,自动认证成为可能。另一方面,如果将PMSN用于租赁盘,仅授权第一个租赁该租赁盘的用户使用该服务,这对第二用户和之后的用户而言是不公平的。对于租赁盘而言,希望手工输入赠券的ID,对于销售的盘而言,希望使用PMSN。
介质ID(MID)是拷贝目的地介质系统区中列举的值。
在图7中所示的操作范例中,拷贝的是用于移动终端的受保护内容,下载的是解密密钥。在这种下载中,从安全存储卡104读出MKB并与内容ID和序列ID一起发送给数字拷贝模块35。
在这里,跟踪序列ID的流动。在字节码应用获得序列ID时,字节码应用不将序列ID直接交给数字拷贝模块35,而是将其交给介质上的库28,介质上的库28将其交给数字拷贝服务器36。如箭头sd1、sd2和sd3所示,将字节码应用指定的序列ID交给数字拷贝库,然后将其交给套接字通信API,然后交给数字拷贝模块35,然后交给数字拷贝服务器36。
内容ID如下流动。读出内容ID并发送到服务器。数字拷贝模块35从字节码应用指定的磁盘上的拷贝信息文件读出内容ID,如箭头cd1所示。
如箭头md1所示,由数字拷贝模块35从字节码应用指定的安全存储卡104,即拷贝目的地的系统区读出介质ID和MKB。
将通过这种方式获得的序列ID、内容ID、介质ID(MID)和MKB发送到数字拷贝服务器36,如箭头sd3,cd2和md2所示。作为回报,如箭头dk1所示,从数字拷贝服务器36发送解密密钥。这是从服务器下载。数字拷贝模块35向拷贝目的地介质的受保护区写入解密密钥,如箭头dk2所示。这样完成了数字拷贝过程中处理的主要数据的流动。
写到拷贝目的地介质的受保护区的解密密钥包括用于对用于移动终端的受保护内容中的加密数据解密的密钥信息(标题密钥)。解密密钥已经加密,从而可以利用拷贝目的地介质系统区中记录的MKB对其解密。
这样完成了数字拷贝模块35、数字拷贝服务器36、字节码应用和安全存储卡104之间数据流的解释。接下来,将详细解释字节码应用和机器固有功能控制单元33之间进行的通信。
图8为序列图,示出了在字节码应用、数字拷贝模块35和数字拷贝服务器36之间执行的数据发送/接收。图8是表示系统中通信序列的序列图。在图8的水平方向上布置字节码应用、介质上的库28、数字拷贝模块35和数字拷贝服务器36。在垂直方向上绘制多个时间轴。这些时间轴是由设备中提供的时钟管理的。时间轴上的任何时间点都可能是API调用的定时。
在字节码应用和介质上的库28之间未建立通信路径,仅执行应用中的正常API调用。不过,在介质上的库28和数字拷贝模块35之间执行同一终端中的套接字通信。至于数字拷贝模块35和数字拷贝服务器36之间,形成不同终端之间的全局套接字通信。图8中的序列由如下阶段构成:a.机器信息;b.初始化;d.参数设置;e.剩余拷贝数确认;f.拷贝开始,g.拷贝进度确认;以及h.密钥写入。在下文中将描述这些阶段。
“a.功能确认阶段”由字节码应用和数字拷贝模块35之间通过介质上的库28的以下通信构成:字节码应用向介质上的库28执行功能确认;并接收表示数字拷贝是否可用的答案。
“b.初始化阶段”由字节码应用和数字拷贝模块35之间通过介质上的库28的以下通信构成:字节码应用向介质上的库28执行初始化;并接收表示初始化是否可用的答案。
“d.参数设置阶段”由字节码应用和数字拷贝模块35之间通过介质上的库28的以下通信构成:字节码应用向介质上的库28执行设置拷贝参数的过程;并接收表示参数设置是否可用的答案。亦即,在字节码应用接收到数字拷贝可用的通知时,字节码应用经由数字拷贝库将数字拷贝必需的参数设置到数字拷贝模块35中。
在字节码应用指定这些参数时,数字拷贝库利用与其连接的通信端口向数字拷贝模块35发送指定的参数。
“e.剩余拷贝数确认阶段”由经由介质上的库28和数字拷贝模块35在字节码应用和服务器之间的以下通信构成:字节码应用执行向介质上的库28确认剩余拷贝次数的过程;亦即从介质上的库28接收剩余拷贝次数。接下来,字节码应用确认剩余拷贝次数。在剩余拷贝次数的这种确认中,如在参数设置中那样,字节码应用利用与其连接的通信端口经由数字拷贝库询问数字拷贝模块35。由于剩余拷贝次数是由数字拷贝服务器36管理的,所以在接收到确认剩余拷贝次数的请求时,数字拷贝模块35从当前设置的参数提取内容ID、序列ID和介质ID,并向数字拷贝服务器36发送三个ID的值,如箭头所示。字节码应用、介质上的库28和数字拷贝模块35经由终端中的本地通信彼此连接,它们不需要任何外部因特网连接来进行彼此间的通信。不过,数字拷贝模块35和数字拷贝服务器36在其间执行通信需要全局因特网连接。数字拷贝服务器36基于接收的值探测剩余拷贝次数并向数字拷贝模块35返回剩余拷贝次数。数字拷贝模块35经由数字拷贝库通知字节码应用剩余拷贝次数。
“f.拷贝开始阶段”由字节码应用和数字拷贝模块35之间通过介质上的库28的以下通信构成:字节码应用请求介质上的库28开始拷贝;并从介质上的库28接收拷贝开始成功、拷贝开始失败和拷贝完成通知之一。在字节码应用发现剩余一次或多次拷贝时,其请求拷贝开始。如以上情况中那样,利用通信端口经由数字库向数字拷贝模块35发送这种拷贝开始请求。在接收拷贝开始请求时,数字拷贝模块35开始拷贝,在拷贝期间,根据需要响应于来自字节码应用的请求发送拷贝进度状态。
“g.拷贝进度确认阶段”由字节码应用和数字拷贝模块35之间通过介质上的库28的以下通信构成:字节码应用执行请求介质上的库28发送进度确认;并从介质上的库28接收进度状态的过程。
“h.密钥写阶段”由字节码应用和服务器之间通过介质上的库28和数字拷贝模块35的以下通信构成:字节码应用执行请求介质上的库28执行密钥写入;以及从介质上的库28接收解密密钥写入完成通知的过程。更具体而言,在接收到拷贝完成通知之后,字节码应用请求数字拷贝模块35写入解密密钥。在接收到解密密钥写请求时,数字拷贝模块35从当前设置的参数提取内容ID、序列ID、介质ID和MKB,并向数字拷贝服务器36发送这四个值。
数字拷贝服务器36基于接收的值产生解密密钥,并向数字拷贝模块35返回解密密钥。数字拷贝模块35向拷贝目的地介质写入从数字拷贝服务器36接收的解密密钥,在完成写入时,经由数字拷贝库通知字节码应用写入完成。
这样完成了针对回放设备中机器固有功能执行的三次通信的解释。下文详细描述数字拷贝的流程。
在可以执行数字拷贝时,字节码应用通过与介质上的库28执行应用间通信来执行数字拷贝。图10示出了介质上的库28执行的数字拷贝过程的流程。
这完成了通信序列的详细解释。下文描述数字拷贝模块35的内部结构。
图9示出了数字拷贝模块35的详细结构。数字拷贝模块35包括通信管理单元601、密钥信息读取单元602、介质状态管理单元603、拷贝执行单元604、拷贝状态通知单元605、拷贝进度管理单元606、密钥信息写入单元608、命令处理单元609以及自由空间判断单元610。
通信管理单元601向数字拷贝控制分配回放设备中的通信端口之一,并利用这个数字拷贝通信端口与字节码处理模块进行协议通信。更具体而言,通信管理单元601打开数字拷贝通信端口作为服务器插口,等待来自字节码处理模块的请求,在数字拷贝通信端口接收数据时,分析所接收数据并执行与所分析数据对应的过程。通信管理单元601经由数字拷贝通信端口向字节码处理模块返回分析结果。此外,通信管理单元601管理与数字拷贝服务器36之间的数据通信。更具体而言,通信管理单元601与数字拷贝服务器36进行通信以获得对用于移动终端的受保护内容的数字流解码所需的解密密钥。
密钥信息读取单元602从作为拷贝源的只读介质105并从作为拷贝目的地的安全存储卡104读取产生解密密钥所需的信息。更具体而言,密钥信息读取单元602从BCA(突发切割区)读取表示记录介质物理序列ID的PMSN(预先记录的介质序列号)(BCA是只读介质105(拷贝源)上提供的特殊区域),并从安全存储卡104(拷贝目的地)读取对于记录介质和存储产生解密密钥所需密钥信息的介质密钥块(MKB)而言唯一的信息(介质ID)。
介质状态管理单元603管理回放设备当前能够用作拷贝目的地的介质类型列表。例如,在回放设备具备SD卡槽和USB存储器槽,且当前仅插入SD卡时,它将SD卡识别为拷贝目的地的当前目标。在SD卡和USB存储器(或经由USB连接的移动终端)都插入时,它判定SD卡和USB存储器都能够用作拷贝目的地。此外,介质状态管理单元603管理拷贝目的地介质的自由空间。
拷贝执行单元604执行从只读介质105向另一介质拷贝由字节码应用指定的用于移动终端的受保护内容的过程。将字节码应用的指定经由介质上的库28发送到数字拷贝通信端口。注意,拷贝执行单元604进行的数据拷贝不足以回放拷贝目的地中的用于移动终端的受保护内容。如下文将要描述的,仅在密钥信息写入单元608向拷贝目的地完全写入解密密钥之后,才可能回放拷贝目的地中用于移动终端的受保护内容。
拷贝状态通知单元605在开始、标准结束、异常结束等之间管理拷贝状态的传送。拷贝状态通知单元605经由数字拷贝通信端口通过局部通信向当前与数字拷贝模块35连接的字节码应用通知状态传输。
拷贝进度管理单元606管理拷贝目标的剩余字节数和已拷贝字节数,并响应于字节码应用经由数字拷贝通信端口发送的请求通知进度的当前状态。
密钥信息写入单元608写入基于密钥信息读取单元602获得的只读介质105的序列ID、拷贝目的地介质的介质ID和MKB产生的解密密钥。基于数字拷贝服务器36中存储的秘密密钥产生解密密钥。因此,在密钥信息读取单元602获得只读介质105的序列ID、拷贝目的地介质的介质ID和MKB之后,数字拷贝模块35经由通信管理单元601向数字拷贝服务器36发送这些值和拷贝目标内容的内容ID。数字拷贝服务器36基于接收的值和数字拷贝服务器36自己保存的秘密密钥产生解密密钥,并向通信管理单元601发送产生的解密密钥。对解密密钥加密,使得可以利用拷贝目的地介质的MKB对其解密。在通信管理单元601接收到解密密钥之后,密钥信息写入单元608向拷贝目的地的受保护区写入解密密钥。解密密钥包括用于对用于移动终端的加密受保护内容解密的密钥信息(标题密钥)。
没有包括密钥信息的解密密钥,即使仅仅未经许可向另一介质拷贝了用于移动终端的受保护内容,也不能回放用于移动终端的受保护内容。
命令处理单元609根据介质上的库28发出的命令的操作码,利用命令的操作数通过命令处理单元609解释命令并控制通信管理单元601,从而进行控制。
自由空间判断单元610基于拷贝目的地介质中自由空间的余量和拷贝源中的内容判断拷贝目的地介质是否有拷贝所需量的自由空间。
数字拷贝模块35包括以上结构元件,这些结构元件的运行可以受到通过局部通信连接连接到数字拷贝通信端口的字节码应用控制。字节码处理模块中不包括能够直接控制操作的API。于是,未连接到数字拷贝通信端口的字节码应用不能控制操作。
图10是数字拷贝模块35执行的数字拷贝过程的流程图。数字拷贝模块35首先判断已插入回放设备中的只读介质105上是否有用于移动终端的受保护内容(步骤S101)。在存在应当在磁盘根目录紧下方的EMOVE目录下记录用于移动终端的受保护内容的规则时,数字拷贝模块35通过检查只读介质105上是否有EMOVE目录来判断只读介质105上是否有用于移动终端的受保护内容。EMOVE目录是用于存储e-移动业务目标的一组文件的目录。
当在步骤S101中判断没有用于移动终端的受保护内容时,停止数字拷贝过程;在判断有用于移动终端的受保护内容时,数字拷贝模块35通过指定用于数字拷贝套接字命令的通信端口来产生服务器套接字,并等待字节码应用连接到用于数字拷贝套接字命令的通信端口(步骤S102)。
在有用于移动终端的受保护内容的条件下产生服务器套接字的原因在于,希望端口开放的期间尽可能短,因为如果服务器套接字始终打开,可能会不必要地耗费资源,并可能有来自未被授权的应用的攻击。结果,仅当在步骤S101中判定有用于移动终端的受保护内容时才产生服务器套接字并打开端口。用于使打开端口的时间期间最小化的其他方法包括:仅在运行字节码应用时(即,仅在与字节码应用关联地回放标题时)才产生服务器套接字并打开端口;以及在从字节码应用接收到端口打开指令之后才打开端口。
在端口关闭时发出端口打开指令,因此需要通过除端口通信之外的方法接收端口打开指令。不过,增加API以实现该目的会使本申请不增加API来维持兼容性的目的落空。因此,需要不增加任何API来接收指令。为了传输端口打开指令,例如,通过以下方式使用通用系统属性API:在字节码应用在预定性质中设置值时,或在寄存器组的通用寄存器之一中设置预定值时,认识到已做出端口打开请求。在使用系统属性API时,例如,预先准备属性名称“digitalcopy.portstatus”,使得在将“OPEN”设置成属性名称表示的值时打开端口。当在步骤S102中产生服务器套接字并打开用于数字拷贝套接字命令的通信端口之后,等待字节码应用(包括数字拷贝库)连接到端口(步骤S103)。希望字节码应用如下做出连接请求:在数字拷贝模块35和字节码应用(数字拷贝库)之间相互交换预定的命令字符序列(或二进制数据),两方的每一方确认所接收数据是否匹配预期值。自然地,在所接收数据不匹配预期值时,判定其是未被授权的,停止后续过程(步骤S104)。
当在步骤S104中判定数字拷贝模块35成功与字节码应用连接时,数字拷贝模块35等待字节码应用对数字拷贝候选目的地列表的请求(回放设备支持的拷贝目的地介质列表),当其经由通信端口接收请求时,数字拷贝模块35确认回放设备支持的介质为用于移动终端的受保护内容的拷贝目的地(步骤S105)。在没有回放设备支持的介质作为用于移动终端的受保护内容的拷贝目的地时,停止数字拷贝;在有一个或多个受支持介质时,数字拷贝模块35经由通信端口向字节码应用发送介质列表(步骤S106)。在这个时间点上,数字拷贝模块35可以判断是否有充分大量的自由空间。不过,步骤S106中返回到字节码应用的介质列表包括没有充分量自由空间的介质和未插入的介质。原因在于,如果给出已经排除了没有充分量自由空间的介质的介质列表,则不能判定因那些理由排除特定介质:因为它们不受回放设备支持;或因为它们没有充分量的自由空间。希望在步骤S106中返回到字节码应用的介质列表包括没有充分量自由空间的介质,在介质受回放设备支持但缺少充分量自由空间时,用户可以有选择例如通过从介质删除不必要的文件来确保必要量的自由空间。类似地,在返回给字节码应用的介质列表包括未插入的介质时,可以通知用户他/她忘记插入介质了。
接下来,字节码应用为用户呈现获得的拷贝候选目的地列表,并通知数字拷贝模块35用户选择的介质(步骤S107)。数字拷贝模块35判断相对于所选介质,是否有充分量的自由空间来进行拷贝以及是否有剩余拷贝次数(步骤S108)。在判定没有充分量的自由空间或没有剩余拷贝次数时,数字拷贝模块35通知字节码应用没有充分量的自由空间或没有剩余拷贝次数。为了检查剩余拷贝次数,数字拷贝模块35需要查询数字拷贝服务器36。在字节码应用从数字拷贝模块35接收到没有充分量自由空间的通知时,字节码应用返回到步骤S107并促使用户选择另一介质或删除不必要的文件,或显示消息,建议用户利用相同类型但具有更大量自由空间的介质替换当前介质。在步骤S108中确认拷贝目的地介质中的自由空间包括不仅确认用户区中而且确认受保护区中的自由空间。
在已经在受保护区中写入内容解密密钥且没有用于要向其中写入的另一解密密钥的空间时,即使用户区中有自由空间,也必须通知字节码应用没有充分量的自由空间。如果未检查受保护区中的自由空间量,在数字拷贝过程的最后步骤中写入解密密钥可能导致失败。在发生这种情况时,用户会损失时间,在最坏的情况下,可能会浪费一次使用版权的机会,因为已经从数字拷贝服务器36下载了解密密钥。因此,在步骤S108中不仅要检查用户区中的自由空间而且要检查受保护区中的自由空间。当在步骤S108中判定有剩余拷贝次数且拷贝目的地介质中有充分量的自由空间时,数字拷贝模块35从磁盘向指定介质拷贝用于移动终端的受保护内容(步骤S109)。在执行拷贝时,字节码应用能够向数字拷贝模块35查询拷贝进度,以掌握拷贝的当前进度并向用户显示拷贝进度状态。在完成用于移动终端的受保护内容的数据拷贝时,数字拷贝模块35从数字拷贝服务器36获得用于对用于移动终端的受保护内容解密的解密密钥(步骤S110)。为了获得解密密钥,数字拷贝模块35经由网络接口向数字拷贝服务器36发送序列ID、内容ID、介质ID和MKB。数字拷贝服务器36基于数字拷贝服务器36持有的秘密密钥产生解密密钥,拷贝目的地介质使用其对用于移动终端的受保护内容解密。数字拷贝模块35接收由数字拷贝服务器36生成的解密密钥并向拷贝目的地介质的受保护区中写入解密密钥(步骤S111)。
如上所述,在本实施例中,介质上的库28和数字拷贝模块35通过终端中的局部通信向安全存储卡104上拷贝已记录在只读介质105上的用于移动终端的受保护内容。因此,回放设备的制造商能够允许指定的内容供应商使用介质间拷贝功能。这将产生使用介质间拷贝功能生成内容的动力并使内容丰富多彩。
(实施例3)
在实施例1中,只读介质105可以是数字拷贝的拷贝源,还存储了操作模式对象和字节码应用。在本实施例中,假设以上记录介质是“BD-ROM”。图11示出了BD-ROM(下文也缩写为“BD”)的结构。在本实施例中,主要将BD-ROM作为记录介质加以解释,记录介质存储用于回放诸如电影的AV内容的AV应用。不过,当然可以将BD-ROM用作计算机中使用的记录介质,非常像CD-ROM或DVD-ROM。像诸如DVD和CD的其他光盘那样的BD-ROM具有从内圆周到外圆周螺旋状延伸的记录区。在内圆周的前序和外圆周的后续之间是记录逻辑数据的逻辑地址空间。而且,在前序内部,有一个特殊区域被称为BCA(突发切割区),只能由驱动器读取。因为这个区域不能被应用读取,所以将其用于版权保护技术等。在BCA中记录了PMSN(预先记录的介质序列号)、标识记录介质的物理序列号。
从文件系统信息(容量)开始,在逻辑地址空间中记录诸如视频数据的应用数据。文件系统为UDF、ISO9660等。很像普通PC中那样,使用目录和文件结构,从而可以读出记录的逻辑数据。可以读取高达255字符的文件名和目录名。
在本实施例中,BD-ROM的目录和文件结构如下。在根目录(“ROOT”)下布置了BDMV目录、CERTIFICATE目录和EMOVE目录。在BDMV目录中记录在BD-ROM上处理的诸如AV内容和管理信息的数据。在应用的签名核验中使用的证书被记录为文件“discroot.crt”(固定的文件名),这是在CERTIFICATE目录下找到的。
主要故事内容例如是在BDMV目录下汇集的数据。存储构成主要故事内容的数字AV流的存储格式例如是BD-视频;保护格式例如是AACS。
在EMOVE目录中记录移动终端观看中使用的AV内容和管理信息。
例如,EMOVE目录下记录的数据表示用于移动终端的受保护内容。在图11所示的范例中,在DATA1、DATA2和DATA3目录中记录用于移动终端的相应不同受保护内容。
存储构成用于移动终端的受保护内容的数字AV流的存储格式例如是SD-视频;保护格式例如是CPRM。
在BDMV目录下是五个目录,即PLAYLIST目录、CLIPINF目录、STREAM目录、BDJO目录和JAR目录。在BDMV目录中放置两种类型的文件,“index.bdmv”和“MovieObject.bdmv”。STREAM目录是存储构成所谓数字流主体的文件,具有扩展名“m2ts”的文件("xxx.m2ts”,其中“xxx”是可变的,“m2ts”是固定的)的目录。在PLAYLIST目录中是扩展名为“mpls”的文件(“xxx.mpls”,其中“xxx”为可变的,“mpls”为固定的)。在CLIPINF目录中是扩展名为“clpi”的文件(“xxx.clpi”,其中“xxx”为可变的,“clpi”为固定的)。在JAR目录中是扩展名为“jar”的文件(“xxx.jar”,其中“xxx”为可变的,“jar”为固定的)。在BDJO目录中是扩展名为“bdjo”的文件(“xxx.bdjo”,其中“xxx”为可变的,“bdjo”为固定的)。
任何具有扩展名“m2ts”的文件都是通过复用视频流、一个或多个音频流和一个或多个子画面流获得的MPEG-ts(传输流)格式的AV数字流。视频流表示电影的视频部分,音频流表示电影的音频部分,子画面流表示电影的副标题部分。
具有扩展名“clpi”的文件是与数字AV流一一对应的多项流管理信息。流管理信息具有诸如数字AV流编码格式、帧速率、比特率和分辨率的信息,并具有显示GOP开始位置的条目图(EP_map)。
具有扩展名“mpls”的任何文件都是存储播放表信息的文件,播放表信息中记录了流回放段(“In Time/Out Time”)。
具有扩展名“jar”的任何文件都是Java档案文件,描述字节码应用(BD-J应用)的程序,其使用BD-J对象执行动态脚本控制。以上文件是BD-J应用控制每个标题的回放必需的,标题代表BD-ROM上记录的内容的回放设备。以上档案文件包括许可请求文件,许可在字节码应用和本地主机之间执行套接字通信。
具有扩展名“bdjo”的任何文件都是以BD-J模式存储操作模式对象的文件。
文件“index.bdmv”(固定文件名)充当用于整个BD-ROM的索引表。该文件具有organizationID(32位),这是指定影片提供商的标识符,discID(128位)是分配给提供商提供的每个BD-ROM的标识符,以及其他这种信息。一旦在回放设备中插入了磁盘,要读取的第一个文件是“index.bdmv”,从而可以由回放设备唯一地识别磁盘。此外,“index.bdmv”包括表示BD-ROM上可以回放的多个标题和定义相应标题的BD-J对象的之间对应关系的表格。
文件“MovieObject.bdmv”(固定文件名)是存储用于选择播放表的游历命令以及从/向播放机状态寄存器和播放机设置寄存器读和写的文件。这样就完成了BDMV目录的解释。下面解释EMOVE目录。
在EMOVE目录下,形成用于观看移动终端上BD-ROM上记录的内容以及多个拷贝源存储目录的AV数字流和管理信息。图中的DATA01、DATA02,…DATAxx表示拷贝源存储目录。拷贝源存储目录是数字拷贝目标的单位。例如,在BD-ROM上有四个拷贝目标时,在EMOVE目录下记录四个拷贝源存储目录(DATA01目录,DATA02目录,DATA03目录和DATA04目录)。
由于可以产生各种数量的拷贝源存储目录,所以可以在创作阶段预先产生对数字拷贝需求很高的用于移动终端的受保护内容,例如流格式不同的多个用于移动终端的受保护内容,以及内容不同的多个用于移动终端的各种受保护内容。这样完成了目录和BD-ROM文件结构的解释。而且,拷贝源存储目录中的一组文件可以是数字拷贝的目标。因为存储在拷贝源存储目录中而可以是数字拷贝目标的这样一组文件被称为“拷贝源单位”。
图12示出了BD-ROM的目录结构一个范例,其中记录用于流格式不同的移动终端的多个受保护内容。在本范例中假设有两个版本的用于移动终端的受保护内容:一个是VGA(视频图形阵列)格式;另一个是One-Seg格式,将相应两个版本的用于移动终端的受保护内容作为不同拷贝源单位处理,并记录在DATA01目录和DATA02目录中。
图12中所示的DATA01目录是VGA格式的用于移动终端的受保护内容的拷贝源存储目录。在DATA01目录下,有五个文件:EMOV_INF;MGR_DATA;PRG_MGR;PRG001.PGI和MOV001.SD1。EMOV_INF文件是存储分配给用于移动终端的相应内容以使它们可以唯一地被识别的内容ID(也称为“CID”)的拷贝信息文件。由于每个拷贝源存储目录中都有EMOV_INF文件,所以多个拷贝源存储目录可能具有不同的内容ID或具有相同的内容ID。在多个拷贝源存储目录具有不同内容ID时,数字拷贝服务器36能够将在相应内容ID存放的用于移动终端的多个受保护内容作为不同内容处理。在多个拷贝源存储目录具有相同内容ID时,数字拷贝服务器36能够将在相应内容ID存放的用于移动终端的多个受保护内容作为一个内容处理。
MOV001.SD1文件是MPEG4格式的加密视频流,画面数据的分辨率是640×480。用于随机存取的信息被归入视频流中。对应于数字流的MOV001.SD1文件例如是通过预定加密方法(例如,CPRM方法)加密的。用于对通过预定加密方法(例如,CPRM方法)加密的数字流解密的密钥信息未记录在BD-ROM上,从而受到保护,无法进行未被授权的回放。
PRG001.PGI文件是对应于播放表信息的信息,表示MOV001.SD1文件的回放次序,以及用于移动终端的受保护内容的音频流和标题名称的编码方法。用于BD-ROM中的主要故事内容的播放表由多个AV流的回放次序构成,用于主要故事内容的播放表与AV流内容的比例是“一对多”。另一方面,用于移动终端的受保护内容的播放表与AV流的比例为“一对一”。这意味着用于移动终端的受保护内容不是交互回放控制的目标,只限于用于在移动终端上观看AV流的简单回放控制。
MGR_DATA文件存储用于移动终端的受保护内容的恢复位置。
PRG_MGR文件存储用于移动终端的内容的总回放时间。
DATA02目录是One-Seg格式的用于移动终端的受保护内容的拷贝源存储目录。DATA02目录和DATA01目录的共同点在于,其中有EMOV_INF、MGR_DATA、PRG_MGR和PGR001.PG1文件。另一方面,DATA02目录与DATA01目录不同点在于,其包括MOV001.Sx1文件而不是MOV001.SD1文件,还包括DATA01目录中没有的MOV001.MAI和MOV001.MOI文件。
MOV001.Sx1文件是以MPEG4-AVC格式存储数字流的流文件,画面数据的分辨率为320×240。
MOI(介质对象信息)文件包括EntryPESPacketNum表格。EntryPESPacketNum表格示出了从判定为覆盖MPEG4-AVC的IDR图画的PES包头到下一PES包头的空间中存在的TS包数量。
MAI(介质属性信息)文件示出了构成MPEG4-AVC数字流的TS包不连续期间的开始时间、结束时间、位置信息和时间偏移。
DATA01目录中的MOV001.SD1文件存储用于随机存取的信息。另一方面,MOV001.Sx1文件不存储用于随机存取的这种信息。作为替代,MOV001.Sx1文件与MOV001.MAI和MOV001.MOI文件关联。亦即,One-Seg格式的用于移动终端的受保护内容还具有针对每个流的管理信息。通过这种方式,在BD-ROM中,在多个拷贝源存储目录中预先记录用于各种流格式的移动终端的受保护内容。这使得能够通过选择与MPEG4和MPEG4-AVC格式中期望流格式匹配的用于移动终端的受保护内容来执行数字拷贝。BD-ROM中存在多个拷贝源存储目录的意义重大,因为它使得能够不执行译码就能够取出期望流格式的内容。图12中所示的DATA03和DATA04目录可以通过其他存储格式存储用于取出的拷贝源单位,例如QuickTime格式和Windows Media Player格式。不过,为了简明的目的,省略了这些格式的描述。
在下文中,将描述如何管理只读介质105中的应用。
图13A示出了index.bdmv文件和标题之间的关系的一个范例。标题是由一对应用和AV流构成的回放单位。在index.bdmv文件中,描述了磁盘上的文件结构,使用该文件管理磁盘上每个标题和对应应用(BD-J应用对应于BD-J模式标题;脚本程序对应于HDMV模式标题)之间的引用关系。
在图13A中所示的范例中,存在标题“First Play”、“TopMenu”、“Title#1”、“Title#2”和“Title#3”。
“Top Menu”是在用户按下遥控器上的菜单键时或回放标题结束时播放的标题,主要用于选择标题或选择用于字幕/音频的预言。在做出标题选择之后,根据BD-J对象(99999.bdjo)中包括的应用管理表指示回放设备开始由档案文件(99999.jar)定义的菜单显示BD-J应用。
“First Play”是启动BD时自动回放的标题,主要用于显示关于BD的服务条件。
“Title#1”是主要故事视频的标题,在选择这个标题时,根据BD-J对象(00001.bdjo)中包括的播放表访问信息利用播放表信息文件(00001.mpls)回放数字流(00001.msts)。根据BD-J对象(00001.bdjo)中包括的应用管理表,指示回放设备开始由档案文件(00001.jar)定义的主要故事回放BD-J应用。
“Title#2”例如是奖励视频的标题,在选择这个标题时,根据BD-J对象(00002.bdjo)中包括的播放表访问信息利用播放表信息文件(00002.mpls)回放数字流(00002.m2ts)。
“Title#3”例如是与数字拷贝对应的标题,在选择这个标题时,加载数字拷贝管理BD-J应用(其管理数字拷贝的GUI等)的档案文件(88888.bdjo)和介质上的库的档案文件(11111.jar)。介质上的库的档案文件包括称为“e-MoveLibrary.class”的类文件,数字拷贝管理BD-J应用包括说明语句“ClassPass=e-MoveLibrary”,指出并入了这个类文件。利用这个说明,将数字拷贝管理BD-J应用中的API调用与介质上的库中的API调用连结起来。
注意,可以在不同档案文件中独立地记录,或者可以在一个JAR文件中记录构成Title#3的数字拷贝管理BD-J应用和介质上的库28。
以上范例仅仅是一个范例。例如,如果在与“Title#1”关联的BD-J对象中包括的播放表访问信息中未示出播放表,则不回放数字流。
而且,如果在与“Title#3”关联的BD-J对象中包括的播放表访问信息中示出了可播放的播放表,则与执行应用管理表和介质上的库28中所示BD-J应用并行地根据BD-J对象中包括的播放表访问信息由回放设备回放播放表。
图13B示出了标题的BD-J对象中包括的应用管理表的内容和播放表访问信息的内容。
在与Top Menu对应的BD-J对象(99999.bdjo)中包括的应用管理表中,列举了表示菜单显示BD-J应用的标识号的“99999”。因此,在选择Top Menu时,根据BD-J对象(99999.bdjo)中包括的应用管理表指示回放设备开始由档案文件(99999.jar)定义的菜单显示BD-J应用。
在与Title#1对应的BD-J对象(00001.bdjo)中包括的应用管理表中,列举了表示主要故事回放BD-J应用的标识号的“00001”。因此,在选择了Title#1时,根据BD-J对象(00001.bdjo)中包括的应用管理表,指示回放设备开始由档案文件(00001.jar)定义的主要故事回放BD-J应用。
而且,在BD-J对象(00001.bdjo)中包括的播放表访问信息中,列举了表示播放表信息文件(00001.mpls)的标识号的“00001”。因此,在选择了Title#1时,利用播放表信息文件(00001.mpls)指示回放设备回放流文件(00001.m2ts)。
在与Title#2对应的BD-J对象(00002.bdjo)中包括的应用管理表中,列举了表示奖励视频BD-J应用的标识号的“00002”。因此,在选择了Title#3时,根据BD-J对象(00002.bdjo)中包括的应用管理表,指示回放设备开始由档案文件(00002.jar)定义的奖励视频BD-J应用。
而且,在BD-J对象(00002.bdjo)中包括的播放表访问信息中,列举了表示播放表信息文件(00002.mpls)的标识号的“00002”。因此,在选择了Title#2时,利用播放表信息文件(00002.mpls)指示回放设备回放流文件(00002.m2ts)。
在与Title#3对应的BD-J对象(88888.bdjo)中包括的应用管理表中,列举了表示数字拷贝管理BD-J应用标识号的“88888”和表示介质上的库28的标识号的“11111”。因此,在选择了Title#3时,根据BD-J对象(88888.bdjo)中包括的应用管理表,指示回放设备开始由档案文件(88888.jar)定义的数字拷贝管理BD-J应用和由档案文件(11111.jar)定义的介质上的库28。
在以上范例中,仅在Title#3中有介质上的库28和数字拷贝管理BD-J应用,在Title#3的BD-J对象中包括的应用管理表中,列举了介质上的库28和数字拷贝管理BD-J应用。因此,在标题数字寄存器中设置Title#3的标题数字且Title#3变为当前标题之后,针对介质上的库28和数字拷贝管理BD-J应用执行类加载,并由字节码应用执行介质上的库28和数字拷贝管理BD-J应用。
另一方面,介质上的库28和数字拷贝管理BD-J应用不是Title#1和Title#2的组成元素,在Title#1和Title#2的应用管理表格中未予以列举。因此,在Title#3回放结束且开始Title#1或Title#2的回放时,介质上的库28和数字拷贝管理BD-J应用的运行结束。通过这种方式,介质上的库28和数字拷贝管理BD-J应用受到应用信令作用,其中将标题视为寿命周期。
通过这种方式,通过将介质上的库28的寿命周期设置成与数字拷贝管理BD-J应用的寿命周期相同(在本范例中,将Title#3的开始时间点到结束时间点的时间设置为可以执行介质上的库28和数字拷贝管理BD-J应用的寿命周期),可以限制寿命周期与介质上的库28的寿命周期不同的BD-J应用(在本范例中,是仅在与Title#3不同的Title#1或Title#2的应用管理表格中列举的BD-J应用)使用介质上的库28。
如上所述,根据本实施例,用户接收BD-ROM的供应,其中记录了(i)用于控制机器固有功能控制单元33的介质上的库28,(ii)利用介质上的库28执行机器固有功能的数字拷贝管理BD-J应用,以及(iii)作为机器固有功能的目标的SD_Video内容。利用这种结构,用户能够在BD-ROM插入回放设备的同时,无需使用PC就执行数字拷贝。
(实施例4)
本实施例描述了可以由机器固有功能控制单元33的命令处理单元609解释的命令。可以由命令处理单元609解释的命令包括以下。
1.初始化请求命令(REQUEST_INITIALIZE)
初始化请求命令对数字拷贝模块35进行初始化并使其他套接字命令可用。一旦进行了初始化,一些参数(序列ID、源位置、服务器URL、用于安全存储卡104的插槽、恢复点)就被重置。当再次执行命令且执行成功时,这些参数就被重置。
在传输、被传输和完结状态的任一种中命令都变得有效。对命令的响应包括OK响应和致命错误响应。OK响应表示数字拷贝模块35的初始化和激活。致命错误表示由于致命错误导致初始化失败。
2.查券命令(REQUEST_CHECKTICKET)
查券命令请求数字拷贝服务器36利用通过用于拷贝参数设置命令导致的参数设置检查拷贝券。在调用命令之前,需要由设置命令设置过程所需的全部参数。在检查拷贝券之后,介质上的库28能够通过发出命令请求执行数据传送。可以在数字拷贝模块35处于初始化状态或就绪状态的同时发出这个命令。对这个命令没有争论。对命令的响应包括OK响应、无效错误响应和连接错误响应。响应还包括繁忙错误响应。
OK响应表示已经接受了拷贝券的检查,数字拷贝模块35成功接收到券响应。无效错误响应表示未设置用于过程的一些参数,从而使券检查失败。连接错误响应表示响应未到达数字拷贝服务器36或未从数字拷贝服务器36接收到正确响应。
繁忙错误响应表示数字拷贝模块35不能访问BD-ROM,因为由于AV回放过程使BD-ROM被锁定。当正在与BD-ROM回放过程不同的过程中执行数字拷贝模块35时,发生这种错误。当这种错误代码返回时,介质上的库28必须尝试通过数据馈送检查券的请求而不是这种说明。
致命错误响应表示由于致命错误导致券请求失败。
3.通过数据馈送检查券请求(REQUEST_CHECKTICKET_BYDATA-FEED)
通过数据馈送检查券请求请求数字拷贝服务器36利用通过用于拷贝参数设置命令导致的参数设置检查拷贝券。在调用命令之前,需要由设置命令设置过程所需的全部参数。在检查拷贝券之后,介质上的库28能够通过发出命令请求执行数据传送。可以在数字拷贝模块35处于初始化状态或就绪状态的同时发出这个命令。在调用这个命令时,忽视设置命令设置的源位置,利用这条命令标识的二进制数据作为目标信息文件识别的二进制数据。
仅在查券请求返回时带有繁忙错误时才调用这条命令。因此,在查券请求不可能带着繁忙错误返回时,数字拷贝模块35不需要实施该命令。
讨论的是信息文件的长度。对命令的响应包括OK响应、无效错误响应、连接错误响应和致命错误响应。OK响应由状态编号和剩余拷贝次数构成。OK响应表示已经接受了拷贝券的检查,数字拷贝模块35成功接收到券响应。无效错误响应表示未设置用于过程的一些参数,从而使券检查失败。连接错误响应表示响应未到达数字拷贝服务器36或未从数字拷贝服务器36接收到正确响应。
不支持响应表示数字拷贝模块35不支持这条命令。在查券请求包括带着繁忙返回时,数字拷贝模块35不需要实施这条命令,并返回不支持错误响应。在查券请求可能带着繁忙返回时,数字拷贝模块35应当实施这条命令,并不应返回不支持错误响应。致命错误响应表示由于致命错误导致券请求失败。
4.拷贝请求命令(REQUEST_COPY命令)
拷贝请求命令使内容被输出到由输出设备设置命令设置的安全存储卡104。这条命令是异步的,介质上的库28能够通过进度获得命令检查传输过程。当在传输过程期间执行AV回放时,限制拷贝速度,直到AV回放结束,数据传输过程暂时停止。在调用取消请求,调用关闭请求或弹出BD-ROM时,取消拷贝过程。
在取消之后,是否清除部分拷贝的数据是实施的问题。在调用这条命令之前,必须由查券请求命令检查拷贝券。这条命令在就绪状态下是有效的。对命令的响应包括OK响应和致命错误响应。在接受拷贝请求且数字拷贝模块35开始拷贝内容时发出OK响应。致命错误响应表示数字拷贝模块35拷贝失败。
5.通过数据馈送进行拷贝请求命令(REQUEST_COPY_BYDATA-FEED命令)
通过数据馈送进行拷贝请求命令使内容被输出到由输出设备设置命令设置的安全存储卡104。这条命令是异步的,介质上的库28能够通过进度获得命令检查拷贝的进度。当在传输过程期间执行AV回放时,减小拷贝速度或变为零,直到AV回放结束。在调用取消请求,调用关闭请求或弹出BD-ROM时,取消拷贝过程。在取消之后,是否清除部分拷贝的数据是实施的问题。在调用这条命令之前,必须利用查券命令执行检查。仅在数字拷贝模块35处于就绪状态时这条命令才是有效的。在调用这个命令时,忽视设置命令设置的源位置,将通过数据馈送请求命令识别的二进制数据用作目标内容。仅在拷贝请求返回时带有繁忙时才调用这条命令。因此,对于这条命令而言,拷贝请求不可能返回带有繁忙错误。数字拷贝模块35不需要实施这条命令。作为讨论,可以使用管理数据文件、程序管理文件、程序文件或电影文件。对这条命令的响应包括OK响应、不支持响应和致命错误响应。OK响应表示接受拷贝请求并令数字拷贝模块35开始拷贝内容。
不支持响应表示数字拷贝模块35不支持这条命令。在查券请求不可能带着繁忙错误返回时,数字拷贝模块35不需要实施这条命令,仅需要返回不支持错误。数字拷贝模块35仅需要实施这条命令,但不需要返回不支持错误。
致命错误响应表示由于致命错误导致不能开始拷贝。
6.数据馈送请求命令(REQUEST_DATAFEED命令)
数据馈送请求命令使得开始拷贝为拷贝识别的数据块。仅在通过数据馈送进行拷贝的请求成功时,介质上的库28才能够调用这条命令。在依次识别具有相同文件名的文件时,介质上的库28向被识别的文件中增加数据。介质上的库28必须连续请求拷贝多个文件。在完成当前文件的拷贝之前,不应识别其他文件。数据块的大小应当为64KB或更小。在到达文件结尾时,将数据块的长度设置为“0”。
讨论的可以是BD-ROM上记录的文件的文件名、数据块长度或数据块的二进制数据。OK响应表示成功拷贝了数据块。不支持响应表示数字拷贝模块35不支持这条命令。致命错误响应表示数字拷贝模块35拷贝失败。当在传输状态下发生这种错误时,数字拷贝模块35必须过渡到停止状态。
7.取消请求命令(REQUEST_CANCEL命令)
取消请求命令请求取消当前的过程。在成功取消当前过程时,从安全存储卡104删除部分拷贝的数据。仅在数字拷贝模块35处于传输中/传输后状态时这条命令才是有效的。
8.完结请求命令(REQUEST_FINALIZE命令)
完结请求命令请求数字拷贝模块35执行密钥下载和过程的完结。一旦数字拷贝模块35开始完结,介质上的库28就不能取消完结。响应包括OK响应、连接错误响应和致命错误响应。OK响应表示数字拷贝服务器36已接受密钥下载请求,数字拷贝模块35成功接受密钥下载响应。连接错误响应表示数字拷贝模块35不能到达数字拷贝服务器36且未从数字拷贝服务器36接收到正确响应。致命错误响应表示由于致命错误导密钥下载请求失败。
9.关闭请求命令(REQUEST_CLOSE命令)
关闭请求命令是指示数字拷贝模块35完成关闭操作,然后关闭数字拷贝模块35,释放用于过程的资源并返回到未初始化状态的命令。可以在任何状态下调用这条命令。当在最终状态下调用该命令时,阻塞关闭操作,直到完成最终过程。当在传输中或传输后状态下调用该命令时,执行取消操作并开始关闭操作。响应包括表示关闭成功的OK响应,表示由于致命错误导致命令失败的致命响应。
10.服务器URL设置命令(SET_SERVERURL)
服务器URL设置命令设置数字拷贝服务器36的URL以为了拷贝过程而连接。在成功完成这条命令时,利用新服务器URL盖写当前服务器URL。响应包括表示过程中成功设置服务器URL的OK响应,表示由于致命错误导致命令失败的致命响应。在探测到blanc字符时,先前设置的URL变得有效。
11.源位置设置命令(SET_SRCLOCATION)
源位置设置命令设置要拷贝的内容的源位置。这个源位置必须存在于只读介质105中。在成功完成命令时,利用新的源位置盖写当前源位置。讨论的是表示已插入设备中的只读介质105中的目录的绝对路径。必须在/mnt/bdrom/EMOVE/DATA01中包含用于源位置设置的路径名。探测的文件路径需要包括有效内容。
响应包括表示拷贝过程中成功设置源位置的OK响应,表示由于致命错误导致命令失败的致命响应以及无效响应。OK响应表示已经为过程成功设置位置。由于以下任何原因发生无效响应:探测到的路径名未指定
12.序列ID设置命令(SET_SERIALID)
序列ID设置命令设置为这一拷贝过程指定的序列ID。在已经设置序列ID且成功完成这个命令时,利用新的序列ID盖写当前序列ID。响应包括表示过程中成功设置服务器ID的OK响应,表示由于致命错误导致命令失败的致命响应。
13.输出设备设置命令(SET_OUTPUTDEVICE)
输出设备设置命令为拷贝过程设置驱动设备的槽。在已经设置槽且成功完成这条命令时,利用新槽盖写当前目标槽。响应包括表示在过程中成功设置输出设备的OK响应,以及表示由于致命错误导致命令失败的致命响应。
14.恢复设置命令(SET_RESUME)
恢复设置命令为该过程设置恢复点。在通过这条命令指定恢复点时,在完成过程之后,数字拷贝模块35更新安全存储卡104的管理数据文件。这是针对要从恢复点回放的SZ_DATAV内容执行的。在设置恢复点时,在成功完成这条命令时,用新的恢复点盖写当前恢复点。仅在完成状态下将恢复点反映到目标安全存储卡104中。当在完成状态下调用这条命令时,它立即被反映到目标安全存储卡104中。作为讨论,可以以秒为单位指定偏移。响应包括表示在过程中成功设置恢复点的OK响应,以及表示由于致命错误导致命令失败的致命响应。
15.撤销列表设置命令(SET_REVOCATIONLIST)
撤销列表设置命令通过操作数指定设备列表长度和撤销列表设备列表。这条命令在数字拷贝模块35中设置撤销列表。撤销列表是过去进行过未经授权拷贝的未被授权回放设备的列表,在认证过程中用于安全存储卡104中安装的认证电路。这用于防止撤销列表中列示的未授权回放设备执行数字拷贝。介质上的库28需要在其调用查券请求命令之前设置数字拷贝模块35中的撤销列表。在已经设置撤销列表时,在以上命令成功时利用新撤销列表盖写当前的撤销列表。响应包括表示成功设置用于过程的撤销列表的OK响应,以及表示由于致命错误导致命令失败的致命响应。
16.设备列表获得命令(GET_DEVICELIST)
设备列表获得命令获得针对该过程回放设备支持的安全存储卡104插槽的设备列表。对这条命令的响应是以下格式:其中列出了已经分配了数字X的卡片槽、已经经由USB连接分配了数字X的卡片槽以及已经分配了数字X的其他设备。该响应表示成功完成了命令。在响应消息的末尾用其名称指定定位为多个插槽之一的本地存储器。
17.设备信息获得命令(GET_DEVICEINFO)
设备信息获得命令获得已插入指定插槽中的安全存储卡104的总空间/有效空间。这个槽名是设备列表获得命令获得的名称之一,响应包括总空间、自由空间和程序数目。在设备信息获得命令成功时,插入目标安全存储卡104,在其有效时,响应消息包括总空间/有效空间和程序数量。
18.进度获得命令(GET_PROGRESS)
进度获得命令获得表示数据传输进度状态的进度状态信息。响应包括剩余大小/总大小。在未传输数据时,仅仅返回OK。在已经传输了数据时(在数字拷贝模块35传输之后已经完成完结),返回“0/总大小”。在停止或取消传输过程时(停止,取消),返回已经拷贝的数据总大小。
19.状态获得命令(GET_STATE)
状态获得命令表示未初始化、初始化、准备就绪、传输中、传输后、完结、完成、取消或停止中的任一种。
20.参数获得命令(GET_PARAMETER)
参数获得命令是用于获得当前状态、当前源位置、当前输出设备、当前服务器URL、当前序列ID或当前恢复点的命令。在一些参数不存在时,返回空字符序列。
而且,独立于命令传输异步地输出到介质上的库28的事件包括以下异步事件。本范例中的异步事件包括:表示安全存储卡104被插入的异步设备状态插入事件;表示安全存储卡104被弹出的异步设备状态弹出事件;以及异步状态改变事件。异步状态改变事件通告,安全存储卡104中没有空间,在安全存储卡104中设置了写保护,或在安全存储卡104中发生了I/O错误。
在数字拷贝模块35的状态改变时,除了以下情况i)和ii),都发生异步状态改变事件。
i)异步状态改变事件表示在对数字拷贝模块35初始化之后的初始化状态,尽管数字拷贝模块35的状态未改变。
ii)尽管数字拷贝模块35的状态未改变,在数字拷贝模块35进入就绪状态之后发生表示就绪状态的异步状态改变事件,随后是查券请求命令。
在下文中,将解释利用以上命令实现数字拷贝的具体通信序列。
图14是示出了应用中发出API呼叫的细节的序列图。这个序列是使用用于介质上的库28的API写成的。在图14的水平方向上布置数字拷贝管理BD-J应用、介质上的库28和数字拷贝模块35。在垂直方向上绘制多个时间轴。用时间轴上的时间点表示发送/接收消息的时间。图14中的序列由如下阶段构成:a.功能确认;b.初始化;c.拷贝目的地状态确认;d.参数设置;e.剩余拷贝数确认;f.拷贝开始,g.拷贝进度确认;以及h.密钥写入。
“a.功能确认阶段”由以下应用间通信构成:API调用,其中BD-J应用调用“BCManager#getInstanceAPI”;以及数字拷贝库响应于调用进行的事件丢弃(丢弃BCManager或UnsupportedOperationException)。
BCManager#getInstanceAPI获得BCManager类的实例,其具有用于控制数字拷贝模块35的各种方法。在回放设备不支持数字拷贝时,丢弃“UnsupportedOperationException”。
“b.初始化阶段”由以下应用间通信构成:BD-J应用调用“BCManager#addBCStatusChangeListenerAPI”的API调用;数字拷贝库响应于调用丢弃事件,即BCManagerInitialEvent。
BCManager#addBCStatusChangeListenerAPI是用于监测数字拷贝模块35的状态变化的API。在探测到数字拷贝模块35的状态改变时,向BD-J应用通知改变之后的状态。
BCManager#initializeBCAPI是用于对数字拷贝模块35进行初始化的API。在调用这个API时,介质上的库28视图与数字拷贝模块35连接。在尝试连接失败时,丢弃UnsupportedOperationException。在初始化成功时,向BD-J应用通知BCInitializedEvent。
“c.拷贝目的地状态确认阶段”由以下应用间通信构成:BD-J应用调用“BCManager#getDeviceListAPI”的API调用;数字拷贝库响应于调用丢弃事件;BD-J应用调用“BCOutputDevice#getFreeSpaceAPI”的API调用;以及数字拷贝库响应于调用丢弃事件。
BCManager#getDeviceListAPI是用于获得受回放设备支持,作为拷贝目的地的介质列表(SD卡,USB存储器)的API。每种介质都被表示为BCOutputDevice类的实例。BCOutputDevice类具有用于获得由实例指出的介质类型和编号(SD_1,USB_1)的方法(BCOutputDevice#getName),用于获得自由空间量的方法(BCOutputDevice#getFreeSpace),以及用于获得总空间的方法(BCOutputDevice#getTotalSpace)。在图14中,响应于调用用于获得自由空间量的方法(BCOutputDevice#getFreeSpace),返回“10737418240(字节)”作为自由空间量的一个范例。
“d.参数设置阶段”由以下API调用构成:用于调用BCManager#setServerURLAPI的API调用;调用BCManager#setSourceLocationAPI的API调用;调用BCManager#setOutputDeviceAPI的API调用;以及调用BCManager#setSerialIdAPI的API调用。“d.参数设置阶段”中设置的参数是序列ID、拷贝源中内容的位置、数字拷贝服务器36的URL和作为拷贝目的地的介质。作为内容ID,使用写入作为拷贝目标的用于移动终端的受保护内容的EMOV_INF文件中的值。
由直到记录用于移动终端的内容的目录的绝对路径表示拷贝源中内容的位置。例如,为“/mnt/bdrom/EMOVE/DATA01”。在那种情况下,“/mnt/bdrom”对应于BD-ROM介质的安装点。
作为数字拷贝服务器36的URL,指定表示全局网络上服务器的URL。例如,是"http://xxx.yyy.zzz"。
从回放设备支持的拷贝目的地介质列表中选择要指定的拷贝目的地介质。在BD-J应用请求数字拷贝模块35发送回放设备当前支持的介质列表时,数字拷贝模块35发送以“<介质类型>_<编号>”形式表示的介质列表。例如,在回放设备支持一个SD卡槽和一个USB存储器槽时,发送包含“SD_1USB_1”的列表。作为另一范例,在回放设备不支持SD卡槽,支持两个USB存储器槽时,发送包含“USB_1USB_2”的列表。在接收拷贝目的地列表时,BD-J应用向用户呈现列表,从用户接收用户选作拷贝目的地的介质指示,并指定用户选择的介质作为拷贝目的地介质。
BCManager#setServerURL(URL)API是用于将数字拷贝服务器36的URL设置到数字拷贝模块35中的API。
BCManager#setSourceLocation(File srcdir)是用于将拷贝源中内容的位置设置到数字拷贝模块35中的API。由直到记录用于移动终端的内容的目录的绝对路径(例如,“/mnt/bdrom/EMOVE/DATA01”)表示拷贝源中内容的位置。
BCManager#setOutputDevice(设备)是用于将拷贝目的地介质设置到数字拷贝模块35中的API。拷贝目的地介质是从BCManager#getDeviceList()获得的介质列表中选择的。
BCManager#setSerialId(byte[])是用于将序列ID设置到数字拷贝模块35中的API。
“e.剩余拷贝数确认阶段”由以下应用间通信构成:BD-J应用调用“BCManager#checkTicket”的API调用;以及响应于调用的事件丢弃。
BCManager#checkTicketAPI是用于请求数字拷贝模块35检查剩余拷贝次数的API。在接收到检查剩余拷贝次数的请求时,数字拷贝模块35利用当前设置的参数向数字拷贝服务器36要求剩余拷贝次数。将获得的剩余拷贝次数返回到BD-J应用,作为BCCheckResponse类的实例。BD-J应用能够通过调用BCCheckResponse#remainingTimesOfCopy()来检查剩余拷贝次数。而且,在剩余拷贝次数为“1”(一)或更多时,向BD-J应用通知BCReadyEvent。
“f.拷贝开始阶段”由以下应用间通信构成:BD-J应用调用“BCManager#makeCopyAPI”的API调用;以及数字拷贝库响应于调用丢弃事件。
BCManager#makeCopyAPI是用于请求数字拷贝模块35开始拷贝的API。在请求数字拷贝模块35开始拷贝之后,介质上的库28向BD-J应用返回BCProgress实例,该实例表示进度状态,并由数字拷贝模块35异步地执行拷贝过程。
“g.拷贝进度确认阶段”由以下应用间通信构成:BD-J应用调用“BCProgress#remainingAPI”的API调用;数字拷贝库响应于调用丢弃事件;BD-J应用调用“BCProgress#totalAPI”的API调用;以及数字拷贝库响应于调用丢弃事件。
BCProgress#total()是用于获得表示迄今为止已拷贝的字节数量的已拷贝字节总数的API。
BCProgress#remaining()是用于获得要拷贝的剩余字节数的API(在图14中,响应于对BCProgress#remaining()的调用,返回“524288000(字节)”,作为要拷贝的剩余字节数的一个范例)。在完成拷贝过程之后,向BD-J应用通知BCTransferredEvent。
“h.密钥写阶段”由以下应用间通信构成:BD-J应用调用“BCManager#finalizeBCAPI”的API调用;响应于调用的事件丢弃;BD-J应用调用“BCManager#cancelCopy”的API调用;响应于调用的事件丢弃;BD-J应用调用“BCManager#closeAPI”的API调用;以及数字拷贝库响应于调用丢弃BCManager或UnsupportedOperationException。
BCManager#finalizeBC()是用于请求数字拷贝模块35写入解密密钥的API。在完成写入解密密钥之后,向BD-J应用通知BCCompleteEvent。
BCManager#cancelCopy()是用于取消数字拷贝模块35的拷贝过程的API。在取消成功时,向BD-J应用通知BCCancelEvent。
BCManager#close()是用于释放分配给数字拷贝模块35的资源以结束数字拷贝过程的API。
这样就完成了介质上的库28、数字拷贝模块35和数字拷贝服务器36之间的通信序列的解释。
图15示出了数字拷贝模块35的状态传送。数字拷贝模块35能够根据数字拷贝过程的进度在九种状态间传输。图15中的椭圆框表示数字拷贝模块35可能所处的状态,箭头表示触发状态传输的事件。附于箭头的注释是触发状态传输的事件的具体名称。
在这里,将描述机器固有功能控制单元33可能传输的图15中所示的状态。
NOT_INIT:数字拷贝模块35尚未初始化的状态。这种状态是刚刚加载BD-ROM之后数字拷贝模块35的初始状态。在BD-J应用调用另一状态下的BCManager#close并终止数字拷贝过程时,数字拷贝模块35再次返回到NOT_INIT状态。在以这种状态调用BCManager#initializeBC时,该状态传递到INITIALIZED状态,向BD-J应用通知BCInitializedEvent。
INITIALIZED:数字拷贝模块35已经初始化,并且可以从BD-J应用调用数字拷贝过程的功能的状态。在这种状态下,当BD-J应用设置必要的参数(例如,通过调用BCManager#setServerURL设置的数字拷贝服务器36的URL(URL),通过调用BCManager#setSourceLocation设置的拷贝源的源位置(File srcdir),通过调用BCManager#setOutputDevice设置的拷贝目的地介质(device),以及由BCManager#setSerialId(byte[])设置的序列ID),调用BCManager#checkTicket并发现剩余拷贝次数为一个或多个时,该状态传递到READY状态,向BD-J应用通知BCReadyEvent。在发现剩余拷贝次数为零时,状态保持为INITIALIZED状态,不传递到READY状态。在执行数字拷贝过程之后,在BD-J应用在READY、CANCELED、STOPPED或COMPLETED状态下调用BCManager#initializeBC()时,该状态传递到INITIALIZED状态,向BD-J应用通知BCInitializedEvent。
READY:如下状态,已经设置了数字拷贝过程所需的所有参数,参数有效,从而数字拷贝模块35准备好进行拷贝。当在这种状态下调用BCManager#makeCopy()时,该状态传递到TRANSFERRING状态。
TRANSFERRING:已经开始拷贝用于移动终端的受保护内容的状态。在完成用于移动终端的受保护内容的拷贝之后,该状态传递到TRANSFERRED状态,向BD-J应用通知BCTransferredEvent。而且,当在完成数据拷贝之前调用BCManager#cancelCopy时,取消数据拷贝,状态传递到CANCELED状态,向BD-J应用通知BCCancelEvent。当在数据拷贝期间由于去除拷贝目的地介质等导致发生错误时,状态传递到STOPPED状态,向BD-J应用通知BCStopByErrorEvent。
TRANSFERRED:已经完成用于移动终端的受保护内容的拷贝并且数字拷贝模块35准备好写入解密密钥的状态。当在这种状态下调用BCManager#finalizeBC()时,数字拷贝模块35传递到FINALIZING状态。而且,当在这种状态下调用BCManager#cancelCopy时,取消数据拷贝,向BD-J应用通知BCCancelEvent。
FINALIZING:从数字拷贝服务器36获得解密密钥且向拷贝目的地介质写入所获解密密钥的状态。一旦建立起这种状态,即使BD-J应用调用BCManager#cancelCopy(),它也不能取消,并拒绝取消请求。当在写入解密密钥期间由于去除拷贝目的地介质等导致发生错误时,状态传递到STOPPED状态,向BD-J应用通知BCStopByErrorEvent。在完成解密密钥的写入时,数字拷贝模块35转换到COMPLETED状态,并向BD-J应用通知BCCompleteEvent。
COMPLETED:已经完成用于移动终端的受保护内容的数据拷贝,已经完成了解密密钥的写入并且数字拷贝过程已成功的状态。在以这种状态调用BCManager#initializeBC()时,该状态再次转换到INITIALIZED状态,向BD-J应用通知BCInitializedEvent。
CANCELED:在拷贝中途已取消用于移动终端的受保护内容的数据拷贝的状态。在状态转换成CANCELED状态时,清除迄今为止已拷贝的一部分数据。
STOPPED:由于发生错误使数据拷贝或解密密钥的写入失败的状态。误差的可能原因是自由空间不足,由于拷贝目的地介质的写保护导致写入失败,在过程中途去除了拷贝目的地介质,以及由于拷贝目的地介质中的损伤导致发生I/O错误。拷贝失败的原因被归入在状态转换成STOPPED状态时发生的BCStopByErrorEvent实例中记录的详细信息中。BD-J应用可以通过参照BCStopByErrorEvent识别错误的原因。这样就结束了对执行数字拷贝时BD-J应用和介质上的库28之间传输的API调用内容的解释。
将数字拷贝套接字命令发送到与每个阶段中每次API调用对应的模块。图16示出了在使用这条命令的情况下图8中所示终端中局部通信的细节。
图16是示出了终端中局部通信细节的序列图,示出了用于介质上的库28和数字拷贝模块35之间执行的通信的数字拷贝套接字协议的一个范例。这个序列是使用数字拷贝套接字命令写成的。在图16的水平方向上布置介质上的库28和数字拷贝模块35。在垂直方向上绘制多个时间轴。发送/接收命令或响应的时刻是用时间轴上的时间点表示的。在这些时间轴之间传输图16中所示的命令和响应。图16中的序列由如下阶段构成:b.初始化;c.拷贝目的地状态确认;d.参数设置;e.剩余拷贝数确认;f.拷贝开始,g.拷贝进度确认;以及h.密钥写入。
图16中提供的范例假设回放设备仅支持SD卡槽。
“b.初始化阶段”由以下命令-响应型通信构成:由REQUEST_INITIALIZE命令的发出和响应(SD_1)的接收构成的命令-响应型通信,以及由GET_ASYNCPORT命令的发出和响应接收构成的命令-响应型通信。
REQUEST_INITIALIZE命令是在从BD-J应用调用BCManager#initializeBC时发出的套接字命令。在已经做出数字拷贝模块35初始化的请求且识别出要在与数字拷贝模块35的通信中使用的端口数量时,将这条命令发送到端口。
在其经由开放端口接收到字符序列“REQUEST_INITIALIZE”时,数字拷贝模块35判定已经做出初始化请求,并新打开用于异步事件的端口,用于清除参数(例如,先前已设置的数字拷贝服务器36的URL,拷贝源的源位置,拷贝目的地介质的输出设备以及序列ID)并通知状态转换,然后经由其接收套接字命令所经的端口发送字符序列“OK”,以通知初始化已完成。在其经由其发送套接字命令所经的端口接收到字符序列“OK”时,介质上的库28识别出已完成初始化。
GET_ASYNCPORT命令是用于获得已经为异步通知打开的端口的端口号的命令,异步通知用于通知状态转换,其中数字拷贝套接字协议由两种端口构成:(1)用于数字拷贝套接字命令(同步命令)的端口;以及(2)用于数字拷贝模块35的状态转换通知(异步事件)的端口。数字拷贝套接字命令的端口用于要从介质上的库28发出到数字拷贝模块35的命令;使用用于状态转换通知的端口,使得从数字拷贝模块35向介质上的库28单方面通知事件。在从BD-J应用调用BCManager#addBCStateChangeListner时,介质上的库28开始监测端口,看是否有状态转换通知,将从数字拷贝模块35发送的状态转换通知转换成介质上的库28API的事件,并向BD-J应用发送状态转换通知。
“c.拷贝目的地状态确认阶段”包括:由GET_DEVICELIST命令的发送和响应(SD_1)的接收构成的命令-响应型通信;以及由GET_DEVICEINFO_SD命令的发送和响应的接收构成的命令-响应型通信(<总空间><自由空间>)。
GET_DEVICELIST命令是用于请求数字拷贝模块35发送所支持介质列表的命令,在从BD-J应用调用BCManager#getDeviceList时,将GET_DEVICELIST命令发送到介质上的库28,并请求回放设备支持的介质列表作为拷贝目的地。
对GET_DEVICELIST命令的响应是所支持介质的列表,并经由用于套接字命令的端口返回。以<介质类型>_<编号>的形式返回所支持介质的列表。在支持多个介质时,它们以空白字符分开(例如:SD_1<sp>USB_1,其中<sp>表示空白字符)。图16示出了回放仅支持SD卡槽的范例,从而返回SD_1作为响应。
GET_DEVICEINFO命令具有讨论项,其可以指定介质类型,对其的响应可以是指定介质类型的总空间/自由空间。在从BD-J应用调用BCOutputDevice#getTotalSpace或BCOutputDevice#getFreeSpace且请求总空间或自由空间的信息时,介质上的库28经由用于套接字命令的端口向数字拷贝模块35发送GET_DEVICEINFO命令,并接收总空间或自由空间的信息。在命令名称和讨论项之间插入空白字符。例如,在请求SD_1(类型:SD卡,编号:1)的信息时,经由用于套接字命令的端口向数字拷贝模块35发送字符序列“GET_DEVICEINFO<sp>SD_1”。
“d.参数设置阶段”包括:由SET_SERVERURL命令的发送和响应(OK)的接收构成的命令-响应型通信;由SET_SRCLOCATION命令的发送和响应(OK)的接收构成的命令-响应型通信;由SET_OUTPUTDEVICE命令的发送和响应的接收构成的命令-响应型通信;以及由SET_SERIALID命令的发送和响应的接收构成的命令-响应型通信。类似地,在要设置数字拷贝所需的参数时,从介质上的库28经由数字拷贝套接字命令向数字拷贝模块35发送值,在数字拷贝模块35中设置参数。命令名称和讨论项被空白字符分开。
“e.剩余拷贝数确认阶段”包括由REQUEST_CHECKTICKET命令的发送和响应“OK”的接收构成的命令-响应型通信<剩余拷贝时间>。
REQUEST_CHECKTICKET命令用于检查剩余拷贝次数,将剩余拷贝次数作为响应加以通告。在已经设置必需的参数并且从BD-J应用调用了BCManager#checkTicket()时,介质上的库28向数字拷贝模块35发送REQUEST_CHECKTICKET。在接收REQUEST_CHECKTICKET命令时,数字拷贝模块35基于已设置的参数提取内容ID、序列ID和介质ID的值,并通过向数字拷贝服务器36发送三个提取的值来检查剩余拷贝次数。将从数字拷贝服务器36获得的剩余拷贝次数发送给介质上的库28,作为REQUEST_CHECKTICKET命令的返回值。
“f.拷贝开始阶段”包括由REQUEST_COPY命令的发送和响应“TRANSFERRED”的接收构成的命令-响应型通信。
REQUEST_COPY命令是指示开始拷贝SD-视频内容的命令。在从BD-J应用调用BCManager#makeCopy时,介质上的库28向数字拷贝模块35发送REQUEST_COPY命令,请求开始拷贝。在其确认剩余拷贝次数为一次或多次时,数字拷贝模块35开始拷贝数据,并返回OK作为REQUEST_COPY命令的返回值。
“g.拷贝进度确认阶段”包括由GET_PROGRESS命令的发送和响应“TRANSFERRED”的接收构成的命令-响应型通信。
GET_PROGRESS命令是用于获得要拷贝的字节总数以及剩余字节数的命令。当在数据拷贝期间从BD-J应用调用BCProgress#remaining()或BCProgress#total()时,介质上的库28向数字拷贝模块35发送GET_PROGRESS命令,从数字拷贝模块35获得要拷贝的字节总数和剩余字节数,并向BD-J应用返回获得的值。在完成数据拷贝时,数字拷贝模块35转换到TRANSFERRED状态,并经由用于异步事件的端口通知介质上的库28其已经转换到TRANSFERRED状态。
“h.密钥写入阶段”包括由REQUEST_FINALIZE命令的发送和响应“OK”、“FINALIZING”和“COMPLETED”的接收构成的命令-响应型通信。
REQUEST_FINALIZE命令指示提取内容ID、序列ID、介质ID和MKB的值并向数字拷贝服务器36发送提取的值以获得解密密钥。在完成数据拷贝之后从BD-J应用调用BCManager#finalizeBC()时,介质上的库28向数字拷贝模块35发送REQUEST_FINALIZE命令。在接收REQUEST_FINALIZE命令时,数字拷贝模块35基于已设置的参数提取内容ID、序列ID、介质ID和MKB的值,并向数字拷贝服务器36发送四个提取的值以获得解密密钥。数字拷贝模块35向作为拷贝目的地介质的安全存储卡104中的受保护区中写入获得的解密密钥,在完成写入时,经由用于异步事件的端口通知介质上的库28其已经转换到COMPLETED状态。
这样就完成了对介质上的库28和数字拷贝模块35之间进行的通信的数字拷贝套接字协议的描述。如上所述,通过回放设备中的局部通信(使用端口的套接字通信)在介质上的库28和数字拷贝模块35之间执行命令和事件通知的所有传输。在要获得剩余拷贝次数或解密密钥时,在数字拷贝模块35和数字拷贝服务器36之间进行全局通信。
图17是流程图,示出了由BD-J应用执行的从功能确认到初始化的过程的流程。在步骤S1中,判断是否有系统性质“digitalcopy.port”。在存在时,利用系统性质“digitalcopy.port”指出的端口执行套接字连接(步骤S2)。
在判定没有系统性质“digitalcopy.port”时,利用专用端口或空闲端口执行套接字连接(步骤S3)。之后,调用BCManager#getINstanceAPI(步骤S4),然后在步骤S5中,判断是否返回了BCManager。在判定返回了BCManager时,调用BCManager#addBCStateChangeListnerAPI(步骤S6),然后调用BCManagerinitialize(步骤S7)。判断是否丢弃BCInitialized(步骤S8)。当在步骤S5和步骤S8中判定“是”时,判定数字拷贝可用。当在步骤S5或步骤S8中判定“否”时,判定数字拷贝不可用。
图18是流程图,示出了从拷贝目的地状态确认到参数设置的过程的流程。调用BCManagergerdeviceListAPI(步骤S31),然后等待返回“受支持设备阵列”的设备列表(步骤S32)。在其返回时,判断安全存储卡104是否在受支持设备中(步骤S33),在安全存储卡104不在时,中止该过程。在有安全存储卡104时,显示用于安全存储卡104的插槽列表(步骤S34),并等待用户选择插槽(步骤S35)。在选择插槽“i”时,该过程前进到步骤S36,其中调用BCOutputDevice#getFreeSpaceAPI,讨论项指定插槽“i”(步骤S36),然后在步骤S37中等待返回剩余大小。在其返回时,该过程前进到步骤S38,其中判断剩余大小是否等于或大于SD_VIDEO目录的假设大小。在判定剩余大小小于SD_VIDEO目录时,该过程前进到步骤S35,让用户再次选择插槽。当在步骤S38中判定“是”时,该过程前进到步骤S39,其中,显示让用户输入序列ID的GUI,在步骤S40,等待输入序列ID,然后在步骤S41中,选择拷贝源存储目录。在输入它时,调用BCManagersetServerURLAPI、BCManagerSourceLocationAPI、BCManagersetOutputDeviceAPI和BCManagersetSerialIDAPI(步骤S42),然后判断响应于这些API调用是否返回了成功(步骤S43)。
图19是子流程图,示出了用于选择拷贝源存储目录的流程细节。显示与BD-ROM的EMOVE目录下多个拷贝源存储目录对应的流格式的列表(步骤S51),然后等待表示所选流格式的用户操作(步骤S52)。在做出选择时,识别/mnt/bdrom/EMOVE/DATAxx,这是用于对应于所选流格式xx的拷贝源存储目录xx的文件路径(步骤S53)。接下来,产生对具有/mnt/bdrom/EMOVE/DATAxx(这是识别的文件路径)的BCManagerSetServerURL的调用作为讨论项。
由文件路径/mnt/bdrom/EMOVE/DATAxx表示的拷贝源存储目录xx下的拷贝信息存储目录xx包含对于拷贝源存储目录xx而言唯一的内容IDxx。于是,机器固有功能控制单元33通过向服务器发送内容IDxx、序列ID和介质IDy,以检查相对于用于移动终端的受保护内容的剩余拷贝次数。而且,为了获得解密密钥,将内容IDxx、序列ID和介质IDy的组合发送到服务器。
利用以上流程图中所示的流程,在进行数字拷贝时,可以从各种格式的用于移动终端的受保护内容中选择数字拷贝的目标,各种格式例如是VGA格式和One-Seg格式。对于预先为了数字拷贝而在只读介质105上记录各种格式的用于移动终端的受保护内容的这种结构,可以通过任何流格式向安全存储卡104拷贝用于移动终端的受保护内容,而无需执行译码。
图20是流程图,示出了由BD-J应用执行的从剩余拷贝数确认到密钥写入的过程的流程。调用BCManagercheckTicketAPI(步骤S11),判断是否发出了BCReady事件(步骤S12),并判断是否做出了响应(步骤S13)。在步骤S14中,判断剩余拷贝次数是否为一次或多次,在是一次或多次时,调用BCManagerMAKE(步骤S15),并等待返回BCProgress(步骤S17)。此后,显示进度条(步骤S25),该过程进入由步骤S18到S21构成的循环。在这个循环中,调用BCProgress#remaingAPI(步骤S18),接收剩余字节数(步骤S19),判断剩余字节数是否为0(步骤S20),基于剩余字节数更新进度条(步骤S21),并重复由这些步骤构成的过程,直到在步骤S20中判定为“是”。
在步骤S22中,等待接收BCtransferredEvent。在接收到它时,调用BCManagerfinalizeBCAPI(步骤S23),等待接收BCComplete事件。在接收到它时,停止该过程。
在下文中,将描述以上流程图的流程显示的屏幕。图21A到21C示出了在数字拷贝过程中显示的屏幕范例。
图21A示出了屏幕画面范例,示出了用于安全存储卡104的插槽列表。该屏幕画面包括与插槽1到3一一对应的按钮。图21B示出了输入屏幕画面的范例,在该屏幕画面上输入序列ID的值并选择流格式。图21C示出了GUI的范例,示出了拷贝进度。由拷贝管理BD-J应用显示图21A到21C中所示的菜单,该菜单涉及主要故事内容中包括的视频流的回放。因此,可以利用主要故事内容或与之相关的事物的特征使菜单有吸引力。
图22是流程图,示出了由数字拷贝模块执行的过程的流程。在步骤S61中,等待接收REQUEST_INITIALIZE(步骤S60),在接收到它时,该过程前进到步骤S61,其中重置已经设置的当前序列ID、源位置、当前服务器URL、输出设备和恢复位置。然后等待GET_DEVICELIST的接收(步骤S62),在接收到它时,感测回放设备中每个有效驱动器的状态(步骤S63)。产生表示每个插槽号的驱动器状态的设备列表,将其作为响应返回(步骤S64)。在步骤S65中,等待接收用于当前URL的设置参数、源位置的文件路径、输出设备和序列ID。在步骤S66中,将设置参数命令的操作数设置为当前服务器URL、源位置、输出设备和序列ID。在步骤S67中,等待接收CHECK_COPY_REQUEST。在步骤S68中,从作为当前源位置的/mnt/bdrom/EMOVE/DATAxx的EMOV_INF提取内容IDxx。另一方面,从当前输出设备y中加载的安全存储卡104提取MIDy(步骤S69),在服务器中设置内容IDxx、MIDy和序列IDz,请求服务器探测剩余拷贝次数(步骤S70)。此后,等待接收剩余拷贝次数(步骤S71)。在接收到它时,在安全存储卡104中生成SD_VIDEO目录、MNG_INFO目录和PRG001目录(步骤S74)。做出指示,从DATAxx目录读取MGR_DATA和PRG_MGR并将它们写入MNG_INFO目录中(步骤S75)。在步骤S76中,从DATAxx目录读取PRG001.PGI,读取与之对应的流文件,并将这些写入PRG001目录中(步骤S76)。
图23是流程图,为图22流程图的继续。步骤S77和S78构成循环,其中等待接收COPY_PROGRESS(步骤S77),并等待接收写入完成(步骤S78)。在接收到COPY_PROGRESS时,返回总大小/剩余大小作为响应(步骤S85)。在完成写入时,该过程前进到步骤S79,其中等待接收REQUEST_FINALIZE。在接收到REQUEST_FINALIZE时,从当前输出设备y中加载的安全存储卡读取MKBy(步骤S80)。将内容IDxx、介质IDy、MKBy和序列IDz发送到服务器,请求服务器探测标题密钥(步骤S81)。在步骤S82中,等待接收解密密钥。在接收到解密密钥时,该过程前进到步骤S83,其中与安全存储卡104进行相互验证。然后在步骤S84中,向安全存储卡104中的受保护区中写入存储了解密密钥的VIDEO001.KEY。
如上所述,根据本实施例,请求用户在交互屏幕画面上输入序列ID并选择流格式,并基于用户提供的这些信息,向安全存储卡104写入对于预先记录在BD-ROM上的流格式而言唯一的用于移动终端的受保护内容。这样能够迅速向要带到户外的安全存储卡104上以期望的流格式记录用于移动终端的受保护内容。
(实施例5)
在以上实施例中,未详细描述内置库。本实施例详细描述内置库25。
内置库25由基本封装和扩展封装构成,基本封装例如是Java2Micro_Edition(J2ME)Personal Basis Profile(PBP1.0)和用于封装介质目标的Globally Executable MHP规范(GEM1.0.2)。利用这些封装的API,可以通过结构化程序设计来描述BD-J应用,结构化程序设计使用的方法、构造器、接口和类事件例如是用于网络过程的java.net,用于GUI过程的java.awt,用于语言过程的java.lang,用于记录介质的输入/输出过程的java.io,作为实用程序的java.util和用于介质框架的javax.media。
扩展封装(称为“BD-J扩展”)由以下库构成。
-利用JavaTM Media FrameWork未提供的多路径型播放表信息实现固有功能的“org.bluray.media”,例如使用多个数字流的多角度回放、利用多个视频流的画中画回放、利用多个音频流的音频混合回放,以及利用多个图形流的菜单回放或字幕回放
-令基于数字广播业务家庭平台中实现的“业务”的应用信令在与“标题”映射的同时工作的“org.bluray.ti”
-用于管理应用的寿命周期的“org.bluray.application”
-用于定义关键事件的常数并与视频回放实现同步的“org.bluray.ui”
-用于向BD-ROM上记录的内容(盘上内容)安装本地存储器中包含但BD-ROM上未记录的内容(盘外内容)的“org.bluray.vfs”
这些库包括从java.net、java.awt、java.lang、java.io、java.util以及javax.media类的方法继承的方法,利用这些类的接口作为嵌入接口和超级接口定义用于回放BD-ROM的回放控制。利用BD-J扩展的这些API,可以通过程序设计技术的扩展来生成BD-J标题,程序设计技术使用了java.net、java.awt、java.lang、java.io、java.util和javax.media类。
图24示出了由BD-J扩展定义的功能性结构元件。图24示出了图4所示平台单元20的内置库25的更详细结构。如图24所示,平台单元20的内置库25的BD-J扩展包括合并管理模块41、介质回放模块42、文件I/O模块43和网络模块44。注意,图24所示的回放控制单元10和机器固有功能控制单元33与图4所示的相同,为了解释的目的在此列举。
合并管理模块41将BD-ROM和本地存储器合并为一个虚拟文件系统。虚拟文件系统向本地存储器每个记录介质中的文件系统上的文件分配用于别名访问的文件路径,并利用别名访问的文件路径作为定位符令应用执行文件存取。在这里,在应用通过调用虚拟封装生成API(讨论项指定安装规则文件)来生成虚拟文件系统中的虚拟封装时,向本地存储器文件分配用于别名访问的文件路径。
这种调用生成的虚拟封装指明了已经增加了除了BD-ROM上的文件之外的文件的文件结构和/或已经利用其他文件替换了BD-ROM上的任何文件的文件结构。虚拟文件封装的实质是文件管理信息,表示已经增加了除BD-ROM上文件之外文件的以上文件结构,和/或已经用其他文件替换了BD-ROM上任何文件的以上文件结构,并且是通过向从BD-ROM读到存储器的文件管理信息增加新文件项目或通过用其他文件项目替代从BD-ROM读到存储器的文件管理信息的特定文件项获得的。
注意,安装规则文件是这样的文件,其中,用标签语言中的标签描述本地存储器中文件路径和别名访问文件路径之间的对应关系。而且,分配给本地存储器中文件的用于别名访问的文件路径是BDMV目录和BD-ROM中CLIPINF、PLAYLIST和STREAM目录的任一个的组合。
在该应用通过调用API产生虚拟封装时,可以由用于BD-ROM的定位符指定虚拟封装中的文件。这样就能够使用本地存储器中的文件,如同它们记录在BD-ROM上一样。
介质回放模块42为字节码应用提供了用于介质回放控制的API。在字节码应用调用介质回放控制API时,介质回放模块调用对应的AV回放库函数以控制AV回放。
文件I/O模块43处理从字节码应用到介质(向BD-ROM、本地存储器和BD写入器)的文件存取请求。网络模块44为字节码应用提供用于网络控制的API。使用网络模块44,根据来自字节码应用的网络控制请求进行网络连接。
网络模块44与因特网上的服务器实现连接。要求网络I/O模块支持TCP/IP协议栈或UDP/IP协议栈,并能够使用HTTP协议。与以太网和电话的物理连接可能彼此不同。为了使用网络连接,必须对平台进行认证并必须获得适当的许可。这样就完成了对内置库25中BD-J扩展的描述。接下来,将解释基于内置库25中的BD-J扩展的介质上的库28的特性。
本实施例的介质上的库28是专用于分析协议的“数字拷贝库”,为字节码应用提供API(数字拷贝库API),其看起来像是BD-JAPI的扩展,即回放控制API。用于与数字拷贝模块35进行数据发送/接收的协议不取决于每种字节码应用,协议的细节隐藏在数字拷贝库中,协议被定义为与多个字节码应用共有的协议。利用这种结构,字节码应用不需要分析用于与数字拷贝模块35进行数据发送/接收的协议。这样能够加强协议分析整理到库中,由此提高字节码应用的生产率。介质上的库28由档案文件定义,数字拷贝库中的许可请求文件许可字节码应用和本地主机之间的套接字通信。
这样就完成了内置库25的解释。接下来,将详细描述用于生成虚拟文件系统的本地存储器。作为本地存储器,可以使用安全存储卡104。
图25示出了将安全存储卡用作本地存储器时卡104中的目录结构。本地存储器具有以下三种类型的区域:“用户区”,用户能够自由向/从其读写数据且用户可看到;“受保护区”,用户不能向/从其写/读数据且仅有支持版权保护的系统能够写/读数据,且用户看不到;以及“系统区”,用户不能向/从其写/读数据,系统不能向其写数据,但系统能够从其读数据。用户区被分成额外的内容区和SD视频区。额外的内容区域存储在回放BD-ROM时补充使用的内容,SD视频区存储符合主要在移动终端上回放的SD视频(SD视频内容)的内容。额外内容区和SD视频区都提供于本地存储器用户区的根目录紧下方。额外内容区的目录名是由预定数量或更少的字符(BUDA)构成的固定值。应用能够将任何文件,例如从服务器下载的额外文件,存储到BUDA目录中(包括子目录和后续的文件)。
在BUDA目录下方,提供OrganizationID目录和DiscID目录。利用这种结构(其中,分配给具体提供商的目录包括对应于相应BD-ROM的目录),独立存储针对每个BD-ROM的下载数据。
另一方面,SD视频区的目录名为SD_VIDEO,像额外内容区的情况那样,在用户区根目录的紧下方提供它。在SD_VIDEO目录下方,提供SD视频内容目录(“PRGxxx”,其中“xxx”为可变的)和SD视频管理目录(“MGR_INFO”)。针对每种SD视频内容划分SD视频内容目录。SD视频管理目录存储整个SD视频区的管理文件。SD视频内容目录存储以上PRG001.PGI和MOV001.SD1。SD视频管理目录存储以上MGR_DATA和PRG_MGR。
在用户不能访问的受保护区中记录用于对用于移动终端的加密受保护内容解密的解密密钥(VIDEO001.KEY)。仅有支持版权保护的系统能够访问解密密钥。
在用户不能访问且仅有系统能够读取其数据的系统区中记录介质密钥块(MKB)和介质ID(MID),其中介质密钥块存储产生解密密钥所需的密钥信息,介质ID是唯一标识相应介质的标识符。即使介质是相同类型的,也为它们分配不同的介质ID。
将用作本地存储器的每个安全存储卡104表示为设备列表中的“BDJstorage=<devicename”。做出这种布置是为了区分用作局部存储器的安全存储卡104和其他安全存储卡104。亦即,用作本地存储器的安全存储卡104常常与BD-ROM组合以形成虚拟文件系统。在其中写入内容之后弹出这种安全存储卡104时,破坏掉包括卡作为部件的虚拟文件系统。这是不希望出现的情况。
有鉴于此,在请求数字拷贝模块35在拷贝目的地状态确认阶段中确认设备状态时,其返回针对每个安全存储卡104指出是否将其用作本地存储器的设备列表作为响应。利用这种结构,在将某一安全存储卡104用作本地存储器时,执行拷贝管理的数字拷贝管理BD-J应用能够显示在构造虚拟文件系统的同时不要弹出特定安全存储卡104的警告。更具体而言,数字拷贝管理BD-J应用能够显示正回放虚拟文件系统构造的虚拟封装中标题的同时不要弹出特定安全存储卡104的警告。
如上所述,本实施例使得能够将安全存储卡104用作要选为用于移动终端的受保护内容将拷贝到的目的地的本地存储器,同时小心不破坏虚拟文件系统。这样提高了记录介质的可用性。
(实施例6)
在以上实施例中,已经描述了使得能够独立于现有API调用各种功能的结构。在这种连接中,随着应用对磁盘能执行的控制范围扩展,安全变成越来越关注的问题。在实施例6中,描述了具有更高安全性的实施例范例。注意,在实施例6中,省略了与实施例1相同部分的解释,仅列举了与以上实施例之间的差异。下文中未列举的本实施例部分可以视为与以上实施例的相同。
图26示出了应用的常规签名检验。为了验证字节码应用是否可信,基于字节码应用档案文件中存储的数字签名进行签名验证,在盘上记录根证书(discroot.crt)。更具体而言,判断通过基于根证书解密档案文件中数字签名获得的散列值是否匹配构成档案文件的每个类文件的散列值。如果它们是匹配的,判定档案文件是可信的;如果它们不匹配,判定档案文件不可信。不过,利用这种验证方法,如果根证书和档案文件中的数字签名配对,则验证了真实性。在这些情况下,如果持有信任根证书的内容供应商以未授权的方式生成了档案文件,则没有方法探测它。结果,在如实施例1中所述允许使用对于回放设备而言固有的功能时,持有认证根证书的所有内容供应商都能够随意使用对回放设备而言固有的功能。
图27示出了基于回放设备持有的数字证书的签名检验。除了已经基于盘上记录的根证书做出数字签名之外,还在字节码应用的“Jar”文件中存储对回放设备而言唯一的基于数字证书的数字签名。更具体而言,在“Jar”文件中记录利用与对于回放设备而言唯一的数字证书对应的秘密密钥加密证明文件(MANIFIEST.MF)的散列值获得的加密值,作为对回放设备而言唯一的数字签名,其中证明文件的格式是存储在“Jar”文件中的类文件的散列值列表。除了基于根证书进行常规签名验证之外,回放设备还基于对回放设备而言唯一的证书进行签名验证。
图28示出了如何根据签名检验的结果限制功能。如图中所示,基于根证书的常规数字签名不够用,而是额外需要对于回放设备而言唯一的数字签名来调用对于回放设备固有的功能。由于没有对应于对回放设备而言唯一的证书的秘密密钥就不能生成对回放设备而言唯一的数字签名,所以以上结构能够防止第三方通过以未授权方式准备对回放设备而言唯一的数字签名来使用对回放设备而言固有的功能。此外,即使验证对回放设备唯一的数字签名失败,也不会影响对公共功能的常规调用。于是,有可能在公共功能方面维持兼容性。
图29是在做出使用机器固有功能的连接请求时执行的过程的流程图。本流程图对应于实施例1中的步骤S103,与其不同之处在于,安全性得到提高。在这个过程中,首先,数字拷贝模块35判断是否已经将对于回放设备而言唯一的数字签名附着到当前做出连接请求的字节码应用(步骤S201)。在判定未将对回放设备而言唯一的数字签名附着到字节码应用时,回放设备拒绝连接请求,并且不对经通信端口在其后做出的任何请求进行响应,或者可以关闭端口以拒绝所有通信。当在步骤S201中判定已经将对回放设备而言唯一的数字签名附着于字节码应用时,回放设备获得类文件的散列值(步骤S202)。由于在“Jar”文件的证明文件中写入了类文件的散列值,回放设备可以在步骤S202中仅计算格式为散列值列表的证明文件的散列值。接下来,回放设备利用回放设备持有的数字证书,通过解密对于附着于字节码应用的回放设备而言唯一的数字签名来获得写入数字签名中的散列值(步骤S203)。当在步骤S202和S203中获得的散列值匹配时,判定已经正确附着了数字签名,在散列值不匹配时,判定数字签名不可信(步骤S204)。在判定数字签名不可信时,回放设备不对之后经由通信端口做出的调用对回放设备而言固有的功能的任何请求做出响应,当在步骤S201中判定未附着数字签名时就是这种情况。在判定数字签名不可信时,回放设备产生加密的通信路径(步骤S205)。更具体而言,回放设备向字节码应用发送回放设备持有的数字证书,字节码应用利用从回放设备发送的数字证书产生加密的通信套接字(SSL套接字)。通过这样做,正常套接字(例如,套接字命令及其响应)不被加密,传输未加密的数据,不过,对于SSL套接字而言,传输利用从回放设备发送的数字证书加密的加密数据。亦即,在通信路径上对回放设备和字节码应用之间经由通信端口传输的所有数据加密。
如上所述,根据本实施例,回放设备验证附着于字节码应用的数字签名,字节码应用验证从回放设备发送的服务器证书,并经由通信端口传输SSL加密的数据。利用这种结构,能够排除未经授权的字节码应用和未经授权的回放设备,防止黑客为了以未授权方式获得/使用关于通信路径的数据的攻击。
(实施例7)
在以上实施例中,以数字拷贝作为对回放设备而言固有的功能的范例,已经描述了使得能够在安全环境中独立于现有API调用各种功能的结构。在本实施例中,改进了数字拷贝的可用性。注意,在实施例7中,省略了与以上实施例相同部分的解释,仅列举了与以上实施例之间的差异。下文中未列举的本实施例部分可以视为与以上实施例的相同。
图30示出了如下情况:用户在通往回放设备的中途观看内容,并在移动终端上观看继续。在用户也是离开家时希望观看其曾在家中在与回放设备连接的电视上看过的内容时,在移动终端上的回放最好不从开头开始,而是从用户在家中停止回放的位置开始。在那种情况下,在执行数字拷贝时,不仅需要拷贝内容,而且需要拷贝回放位置信息。在SD存储卡上记录数据的SD视频格式中,可以在SD视频管理文件“MGR_DATA”中记录回放位置信息,其指出恢复位置。于是能够在进行内容的数字拷贝时通过向SD视频管理文件中记录在家中停止利用回放设备回放的回放时间,实现以上便利。
图31是实施例7中数据拷贝的流程图。在向拷贝目的地介质上拷贝用于移动终端的受保护内容时,判断是否已指定记录回放位置信息的指令(步骤S301)。从字节码应用,经由用于数字拷贝套接字命令的通信端口,向数字拷贝模块35通知记录回放位置信息的指令。
在图30中所示的范例中,询问用户其是否希望通过字节码应用拷贝回放位置信息。可以始终指定拷贝回放位置信息的指令,不过,不限于此。在任何方式中,在其拷贝数据之前,数字拷贝模块35都判断字节码应用是否已指定记录回放位置信息的指令,如果未指定指令,数字拷贝模块35按照原样拷贝数据,不修改SD视频管理文件。当在步骤S301中判定已经指定记录回放位置信息的指令时,判断字节码应用是否已指定回放时间(步骤S302)。例如,在已经在回放设备上观看了30分钟的内容时,移交值“1,800,000(msec)”。在已经指定了回放时间且该值有效时,向SD视频管理文件中写入指定的时间(步骤S303)。当在步骤S301中判定已经指定记录回放位置信息的指令,但在步骤S302中判定未指定回放时间时,判断是否在播放机寄存器中记录了回放时间(步骤S304)在这里,因为回放设备具有多个寄存器,其它们之一被分配给回放恢复,所以检查分配给回放恢复的寄存器中存储的值。在一个值有效可作为存储在寄存器中用于回放恢复的回放时间时,向SD视频管理文件中写入该值(步骤S305)。如果已经指定了记录回放位置信息的指令,但未指定回放时间,也未在寄存器中存储有效的回放时间,数字拷贝模块35照原样拷贝数据,不修改SD视频管理文件。(步骤S306)。利用可以拷贝回放位置信息以及数字拷贝中的内容的以上结构,可以从用户在家中停止用回放设备回放的位置恢复移动终端上的回放。这进一步改善了数字拷贝的可用性。
(实施例8)
在以上实施例中,已经描述了在不同记录介质之间进行数字拷贝的结构。在本实施例中,对拷贝源和拷贝目的地是同一记录介质时进行数字拷贝的结构做了描述。
注意,在实施例8中,省略了与以上实施例相同部分的解释,仅列举了与以上实施例之间的差异。下文中未列举的本实施例部分可以视为与以上实施例相同。
图32示出了拷贝源和拷贝目的地是同一记录介质的数字拷贝。作为拷贝源和拷贝目的地相同的情况一个范例,考虑以下情况:BD-ROM上没有用于移动终端的受保护内容作为拷贝目标,字节码应用经由外部网络从服务器下载用于移动终端的受保护内容。不过,如图6所示,由于额外内容区与视频内容区是分开的,字节码应用不能向视频内容区中直接下载数据。字节码应用能够自由访问的区域限于字节码应用所属的“Organization”目录以及“Organization”目录下的区域。确定访问范围,以防止属于另一“Organization”的实体以未授权方式移动或删除内容。因此,字节码应用额外下载用于移动终端的受保护内容的流程如下:首先,字节码应用暂时向“Organization”组织中或下方包括的区域中存储内容;然后经由移动终端中的局部通信调用终端固有的功能。
图33是流程图,示出了拷贝源和拷贝目的地是同一记录介质的数字拷贝流程。
在拷贝源和拷贝目的地是同一记录介质的数字拷贝中,判断已插入回放设备中的盘上是否有用于移动终端的受保护内容以及如上所述在步骤S101中执行的判断是不必要的。
这是因为即使盘上没有用于移动终端的受保护内容,也可以在本地存储器上记录用于移动终端的受保护内容作为拷贝目标。当在本实施例中使端口打开时间最小化时,如实施例1中所述,例如,仅在字节码应用运行时(即,仅在回放BD-J标题时)打开端口,或在从字节码应用接收端口打开指令之后打开端口,而不管是否有用于移动终端的受保护内容。当在步骤S104中判定与字节码应用连接成功时,数字拷贝模块35等候用于移动终端的受保护内容的存储位置,用于移动终端的受保护内容是要由字节码应用指定的拷贝目标(步骤S401)。
由包含介质类型的绝对路径表示作为拷贝目标的用于移动终端的受保护内容的存储位置。例如,如果指定了BD-ROM上的位置,则由“/mnt/bdrom/EMOVE/DATA01”表示绝对路径。例如,并且如果指定了本地存储器(安全存储卡104等)上的位置,则由例如“/mnt/sdcard/BUDA/081A24ED/12345ABC/EMOVE/DATA01”表示绝对路径。在那种情况下,“/mnt/bdrom”对应于BD-ROM介质的安装点,“/mnt/sdcard”对应于安全存储卡104的安装点。亦即,通过在字节码应用指定的文件路径信息中包括介质的安装点,数字拷贝模块35能够判断哪个介质上有作为拷贝目标的用于移动终端的受保护内容。与步骤S107中选择的介质类型比较地使用在步骤S401中获得的拷贝目标的位置信息和从位置信息确定的介质类型(步骤S402)。
在判定在步骤S401中指定的介质(即,拷贝源介质)与在步骤S107中指定的介质(即拷贝目的地介质)不同时,控制前进到步骤S108,其中判断相对于选定的介质是否有充分量的自由空间执行拷贝以及是否有剩余拷贝次数;在判定介质彼此相同时,跳过对自由空间的检查,仅检查剩余拷贝次数(步骤S403)。当在步骤S403中判定有剩余拷贝次数时,数字拷贝模块35将在步骤S401中指定的拷贝目标移动到同一介质中的视频区域(步骤S404)。当在同一介质之内移动数据时,实际的数据拷贝不是必要的,而仅仅重写文件的管理信息。因此,在短时间内完成了移动数据的过程。从而可以跳过字节码应用进度的显示。
利用上述结构,即使BD-ROM上事先未记录用于移动终端的受保护内容,也可以通过额外下载用于移动终端的受保护内容并在数字拷贝处理中移动内容来进行数字拷贝。而且,在下载目的地和数字拷贝目的地是相同介质时,没有浪费自由空间,可以以高速执行拷贝自身。
(实施例9)
在本实施例中,解释以上实施例中描述的如何生成记录介质,即记录方法。
可以将本实施例的记录方法实现为实时记录,其中,实时产生AV文件(流文件)和非AV文件(除流文件之外的文件),并向记录介质中提供的AV数据记录区和非AV数据记录区中直接写入。不过,不限于此,可以将本实施例的记录方法实现为预格式记录,其中预先产生要记录到体积区中的比特流,基于比特流产生母盘,压制母盘,由此使得批量生产光盘成为可能。本实施例的记录方法适用于实时记录或预格式记录。在这里,预格式记录的记录方法包括以下步骤:(1)BD-ROM写作步骤;(2)版权保护步骤;(3)压制步骤;以及(4)用于封装通过压制获得的BD-ROM的封装步骤。
本实施例的记录方法与常规记录方法不同之处在于,其具有(1-1)步骤,用于生成数字拷贝支持菜单,这是在(1)BD-ROM写作步骤完成之后且执行(2)版权保护步骤之后执行的。
提供用于生成数字拷贝支持菜单的原因是其使得能够从BD-ROM的总体菜单或标题菜单显示用于数字拷贝的交互式控制菜单。此外,与(1)BD-ROM写作步骤到(2)版权保护步骤并行的,存在(i)编码步骤,用于产生构成用于移动终端的受保护内容的数字流,以及(ii)用于对编码步骤中产生的数字流加密的版权保护步骤。
而且,存在在服务器中登记序列ID的步骤,其中要登记的序列ID是封装中包括的那个,或是在光盘压制步骤中写在盘上的那个。
<补充说明>
到目前为止,已经通过申请人目前认为是最好的实施例描述了本发明。不过,在以下技术主题方面可以增加进一步改进或改变。是否选择任何实施例或改进和变化以实施本发明是任选的,可以由实施者主观确定。
<机器固有功能的变化>
在以上实施例中,以数字拷贝作为对回放设备而言固有的功能范例。该功能可以是记录功能或分配服务和记录介质上的应用之间的连接,不过,不限于此。亦即,本发明中对回放设备而言固有的功能不限于数字拷贝。例如,本发明适用于经由记录介质上的应用预选用于记录的期望程序的服务或用于与分配服务协同进行下载的服务。
<回放设备的变化>
在以上实施例中,仅描述了具有回放记录介质功能的回放设备。不过,本发明不限于这样的回放设备。例如,本发明适用于记录/具有记录功能的回放设备。
<程序设计语言的变化>
在以上实施例中,将JavaTM用作应用的程序设计语言。不过,不限于此,可以使用任何其他程序设计语言,例如UNIXTM OS等中使用的B-Shell,Perl Script或ECMA Script。
<记录介质的变化>
在以上实施例中,描述了由回放设备回放的BD-ROM。不过,当然,如果回放其上已记录以上实施例中所述BD-ROM上记录的必要数据的可重写光记录介质,会得到与以上实施例相同的效果。
而且,在以上实施例中,将BD-ROM或可重写光记录介质用作拷贝源记录介质的具体范例。不过,不限于这些,例如,可以使用可移除介质,即便携式记录介质,例如SD存储卡、存储棒、Compact FlashTM、SmartMediaTM、多媒体卡。
在将可移除介质用作拷贝源记录介质时,为可移除介质提供其中的数据具有图11所示体积区中记录的目录结构的区域(用户区),以及图25中所示的保护区和系统区。
在那种情况下,向拷贝目的地可移除介质拷贝拷贝源可移除介质上记录的用于移动终端的内容。当然,拷贝源可移除介质和拷贝目的地可移除介质是不同介质。
根据以上实施例,在将BD-ROM用作拷贝源记录介质时,例如,密钥信息读取单元602从BCA(突发切割区)读取表示记录介质物理序列ID的PMSN(预记录的介质序列号),BCA是提供于作为拷贝源的BD-ROM上的特殊区域。另一方面,在将可移除介质用作拷贝源记录介质时,可以读取对于作为拷贝源的可移除介质唯一的信息(介质ID)而不是PMSN。
通过这种方式,将可移除介质用作拷贝源记录介质时的操作与将可移除介质替代BD-ROM作为拷贝源记录介质时获得的操作相同,在以上实施例的解释和附图中,对可移除介质而言唯一的信息(介质ID)替代BD-ROM的序列ID。
而且,在将可移除介质用作拷贝源记录介质时,在记录了具有BD-ROM体积区中记录的目录结构的数据的区域(用户区)中记录的数据中,一些数据(例如流数据)是加密数据。
此外,在将可移除介质用作拷贝源记录介质时,可以在分配可移除介质之前事先在用户区中记录数据。在那种情况下,如果用户区中记录的数据中一些数据为加密数据,则在分配可移除介质之前事先在拷贝源记录介质的受保护区中记录解密密钥,其包括用于对加密数据解密的密钥信息(标题密钥)。在那种情况下,解密密钥应当是加密的,从而可以利用拷贝源记录介质的系统区中的MKB对其解密。
或者,在将可移除介质用作拷贝源记录介质时,在分配可移除介质之前事先可以不在用户区中记录数据,但在分配之后,在接收到下载请求等时,可以在用户区中记录目录结构为BD-ROM的体积区中记录的数据。用于请求下载的设备可以是在以上实施例中描述的回放设备,或者可以是与以上实施例中描述的回放设备不同用于执行下载的终端设备。在那种情况下,首先,将分配的可移除介质插入用于请求下载的设备中,在可移除介质与设备电连接时,该设备从可移除介质读取下载可移除介质的数据和介质ID的请求,并向分配服务器发送读出的数据。分配服务器向发送下载请求的设备返回一条数据,该数据对应于利用可移除介质的介质ID和MKB产生的解密密钥。发送下载请求的设备向可移除介质的用户区中记录接收的数据并向可移除介质的受保护区中记录接收的公共密钥文件。在那种情况下,如果用户区中记录的数据中一些数据为加密数据,则在拷贝源记录介质的受保护区中记录解密密钥,其包括用于对加密数据解密的密钥信息(标题密钥)。在那种情况下,解密密钥应当是加密的,从而可以利用拷贝源记录介质的系统区中的MKB对其解密。
在上述结构中,可以将可移除介质用作拷贝源记录介质。
利用以上结构,即使在与本实施例方法不同的方法中向另一可移除介质上仅记录用户区中记录的用于移动终端的内容,也可以防止未授权拷贝的回放,因为其他可移除介质没有关于解密密钥的信息。
此外,即使也向其他可移除介质上记录解密密钥,其他可移除介质的MKB也与拷贝源可移除介质的MKB不同,于是不能对加密的解密密钥进行解密,可以防止以未经授权的方式使用拷贝源可移除介质的用户区中记录的数据。
<拷贝期间的警告>
有如下风险:在拷贝期间正常回放BD-ROM内容可能不行,因为I/O处理被拷贝执行单元604独占。因此,建议事先通知用户回放将不可行,一定不要弹出盘,且在该期间内一定不要关掉设备。然而,用户仍然可能错误地弹出盘或关掉设备。不过,因为在这个时间点尚未完成解密密钥的写入过程,于是尚未减少剩余拷贝次数,所以即使在此数据拷贝失败,剩余拷贝次数也不减少。在下一步中从数字拷贝服务器36下载解密密钥时,减少由数字拷贝服务器36管理的剩余拷贝次数。
<判断是否有用于移动终端的受保护内容>
不能基于是否有“EMOVE”目录,而是基于是否有表示存在用于移动终端的受保护内容且事先被确定的文件,来判断是否有用于移动终端的受保护内容。
<介质列表的显示>
对于在显示介质列表时发现几乎没有自由空间或未插入设备中的介质,可以附带标记(或标志),表明其几乎没有自由空间或未插入设备中。
<用于连接到数字拷贝服务器36的连接URL>
作为用于连接到数字拷贝服务器36的连接URL,可以使用回放设备持有的固定URL或字节码应用指定的URL。数字拷贝服务器36可以是对每家内容供应商或每个地区都不同的服务器。相应地,希望使用字节码应用经通信端口指定的URL来连接数字拷贝服务器36。
<服务器证书>
服务器证书是回放设备向字节码应用发送来生成SSL套接字的数字证书,可以与用于使用机器固有功能的数字证书不同。如果是这样的话,回放设备准备两种类型的数字证书:一种用于加密通信;一种用于固有功能。此外,为了防止未经授权操作回放设备,字节码应用可以验证回放设备发送的服务器证书的真实性。例如,假设可能出现回放设备允许未经许可的拷贝的风险,优选字节码应用还验证回放设备的权限。如果在验证时发现回放设备发送的服务器证书在黑名单中,可以防止该回放设备通过字节码应用进行数字拷贝等。
<过程的变化>
在实施例8中,单个介质之内的数字拷贝是“移动”,因为它不会不必要地耗费介质上的空间,可以在短时间内完成数据拷贝。不过,如果有充分大自由空间可用或要拷贝的内容很小,那么可以进行拷贝,源文件保持原样。
<拷贝源单位的变化>
如果主要故事内容有四种变化,且在回放主要故事内容时可以回放四种变化的任一种,可以分别事先在DATA01、DATA02、DATA03和DATA04目录中记录与四种变化一一对应的用于移动终端的四个受保护内容。利用这种结构,可以拷贝主要故事内容各种版本的任一种来观看。
<字节码>
对于在以上实施例中描述的“字节码”,假设,例如,字长为两个字节或更少的代码让Java虚拟计算机对操作数栈、局部变量或对象数组进行操作。对操作数栈、局部变量或对象数组的操作包括从操作数栈提取,收集到操作数栈中,从对象数组提取对象引用,向对象数组中存储对象引用,结束方法并返回到调用源,数值类型的转换,比较,对操作数栈进行加/减/乘/余操作,符号变换和带有字插入的拷贝。在产生应用中可以使用具有这种特性且技术上与字节码相同的任何程序代码。
<类文件>
字节码应用是类文件的实例。在这里,类文件是一种结构文件,具有由一些块构成的数据结构,每个块具有详细结构,且可能进行各种数据的分级管理。在这里,详细结构是指有多个常数池、多条字段信息、多条方法信息和多条属性信息的结构。属性信息是抽象类,其子类构成类文件、字段信息和方法信息的较低结构。例如,在属性信息的多种属性中,代码属性是方法信息的属性。利用方法信息定义字节码应用的特性作为程序。在生成字节码应用时可以使用具有这样特性且可以视为技术上与以上类文件的内部结构相同的任何数据结构。
<集成电路的实施例>
本发明的集成电路是其中嵌入了逻辑电路内核的系统LSI,其中逻辑电路内核由逻辑电路和存储元件构成,在从回放设备的硬件结构移除诸如记录介质驱动器以及与外部设备的连接器的机械部分之后,存储元件保持其内容。通过在高密度衬底上实施裸芯片并封装它们来获得系统LSI。被称为多芯片模块的也是系统LSI,多芯片模块是通过在高密度衬底上实施多个裸芯片并封装它们获得的,因此多个裸芯片具有一个LSI的外观。
至于封装的类型,系统LSI具有QFP(四方扁平封装)类型和PGA(管脚格栅阵列)类型。在QFP型系统LSI中,将管脚附着于封装的四边。在PGA型系统LSI中,将很多管脚附着于整个底部。
这些管脚充当电源、地和与其他电路的接口。由于系统LSI中的管脚充当接口,所以在通过这样的管脚与其他电路连接时,系统LSI起到回放设备核心的作用。
图34示出了集成电路的架构。如图34所示,集成电路70的架构为系统LSI,包括前端单元71、信号处理单元72、后端单元73、介质接口74、存储控制器75和微型计算机主机76。集成电路70经由介质接口74和存储控制器75与回放设备的驱动器、存储器和发送/接收单元连接。回放设备具有用于BD-ROM、本地存储器、可移除介质等的驱动器。
前端单元71具有预编程的DMA主电路、I/O处理器等,通常执行分组处理。分组处理包括由解复用器处理源包拆包器和处理PID过滤器。以上分组处理是通过在声道缓存、各种平面存储器和回放设备的存储器中提供的各种缓存间实现DMA传输来实现的。
信号处理单元72由信号处理处理器、SIMD处理器等构成,通常执行信号处理。信号处理包括由视频解码器解码和由音频解码器解码。
后端单元73由加法器和滤波器构成,通常执行AV输出处理。AV输出处理包括像素处理,其中进行屏幕画面叠加、尺寸重新设定和图像格式转换,用于层叠加。而且,也执行数字/模拟转换等。
介质接口74是与驱动器和网络间的接口。
存储控制器75是用于存储器存取的从属电路。存储控制器75响应于前端单元、信号处理单元或后端单元做出的请求实现从/向存储器上分组或画面数据的读/写。经由存储控制器75从/向存储器上读/写使存储器起到交换缓存的作用以及视频平面、图形平面和视频解码器的各种缓存的作用。
微型计算机主机76由MPU、ROM和RAM构成,执行对介质接口、前端单元、信号处理单元和后端单元的完全控制。完全控制包括由回放控制单元、字节码处理模块、命令处理模块和模式管理模块执行的控制。微型计算机主机中的CPU包括取指令单元、解码器、执行单元、寄存器文件和程序计数器。用于执行以上在本实施例中所述的各种过程的程序作为嵌入程序,与基本输入/输出系统(BIOS)和各种中间件(操作系统)一起存储在微型计算机主机的微型计算机中提供的ROM中。因此,可以在这种系统LSI中嵌入回放设备的主要功能。
<程序实施例>
可以如下产生对应于以上实施例的程序。首先,软件开发商利用程序设计语言编写实现每个流程图和功能部件的源程序。在这种编写期间,软件开发者利用符合程序设计语言语法的类结构、变量、数组变量、对外部功能的调用等编写实现流程图和功能部件的源程序。
将编写的源程序作为文件发送到编译器。编译器转换源程序并产生目标程序。
编译器执行的转换包括诸如语法分析、优化、资源配置和代码生成的过程。在语法分析中,分析源程序的字符和短语、语法和含义并将源程序转换成中间程序。在优化中,对中间程序进行这种过程,如基本块设置、控制流分析和数据流分析。在资源配置中,为了适应目标处理器的指令集,将中间程序中的变量分配到目标处理器的寄存器或存储器。在代码生成中,将中间程序中的每条中间指令转换成程序代码,并获得目标程序。
产生的目标程序由一个或多个程序代码构成,程序代码令计算机执行流程图或功能部件每个流程中的每个步骤。有各种程序代码,例如处理器的本地代码和JavaTM字节代码。实现程序代码的步骤也有各种形式。例如,在可以利用外部功能实现每个步骤时,可以将用于调用外部功能的调用语句用作程序代码。实现一个步骤的程序代码可以属于不同的目标程序。在指令类型受到限制的RISC处理器中,可以通过组合算术运算指令、逻辑运算指令、分支指令等来实现流程图的每个步骤。
在产生目标程序之后,程序员激活链接器。链接器向目标程序和相关库程序分派存储空间,并将它们链接在一起以产生加载模块。产生的加载模块基于如下假设:它是由计算机读取的,令计算机执行流程图和功能部件流程中表明的流程。可以在计算机可读记录介质上记录这里描述的程序,然后以这种形式提供给用户。
[工业实用性]
构成本发明的回放设备能够提供将记录介质上的应用程序与回放设备的原始功能链接在一起的服务。具体而言,本发明可用于电影行业和用于生成图像内容的商用设备行业。
[参考符号列表]
101 回放设备
102 遥控器
103 显示设备
105 只读介质
106 移动终端
28 介质上的库
29 外部服务器
31 读取控制单元
32 写控制单元
33 机器固有功能控制单元
35 数字拷贝模块
36 数字拷贝服务器
Claims (15)
1.一种用于回放记录介质上记录的内容并执行与所述内容相关的功能的回放设备,与所述内容相关的所述功能包括标准化回放控制功能以及对于所述回放设备而言固有的机器固有功能,所述回放设备包括:
平台单元,用于从所述记录介质读取字节码应用并运行所述字节码应用;
回放控制单元,用于执行所述回放控制功能;以及
固有功能控制单元,用于执行所述机器固有功能,
其中所述平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,
所述字节码应用指示所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且
所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
2.根据权利要求1所述的回放设备,其中
所述记录介质是第一记录介质,其中在根目录下提供第一目录和第二目录,
在所述第一目录中记录主要内容和所述字节码应用,
在所述第二目录中记录用于取出的内容,所述用于取出的内容是所述机器固有功能的目标且在格式上与所述主要内容不同,并且
所述机器固有功能为介质间拷贝,通过所述介质间拷贝,从所述第一记录介质向第二记录介质拷贝构成所述用于取出的内容的文件。
3.根据权利要求2所述的回放设备,其中
在所述第二目录下提供多个拷贝源存储目录,
在所述多个拷贝源存储目录之一中记录所述用于取出的内容,
所述字节码应用指示所述固有功能控制单元将表示所述多个拷贝源存储目录之一的文件路径设置为当前源位置,并且
在将表示所述多个拷贝源存储目录之一的所述文件路径设置为所述当前源位置时,通过如下方式执行所述机器固有功能:从所述多个拷贝源存储目录之一读取所述用于取出的内容,以及向所述第二记录介质上写入所述用于取出的内容。
4.根据权利要求2所述的回放设备,其中
在所述第一记录介质的所述第一目录中记录用于所述机器固有功能的介质上的库,所述介质上的库为所述第一目录中记录的另一字节码应用提供用于执行所述机器固有功能的程序设计接口,
在所述另一字节码应用调用用于执行所述机器固有功能的所述程序设计接口时,所述介质上的库将对用于执行所述机器固有功能的所述程序设计接口的所述调用转换成套接字命令并向所述固有功能控制单元输出所述套接字命令;以及将来自所述固有功能控制单元的响应转换成返回值或事件并将所述返回值或事件返回到所述另一字节码应用,并且
所述套接字连接构成传输所述套接字命令和所述响应的通信路径。
5.根据权利要求2所述的回放设备,其中
在所述第一记录介质上记录标识所述用于取出的内容的内容ID,
构成所述内容ID的比特序列的一部分标识内容供应商,所述内容供应商是所述用于取出的内容的供应源,
所述字节码应用向所述固有功能控制单元发送包含一对内容ID和序列号的命令,
所述固有功能控制单元向服务器发送所述一对内容ID和序列号,令所述服务器判定作为所述用于取出的内容的所述供应源的所述内容供应商是否被授权使用所述机器固有功能,并且在所述服务器判定所述内容供应商被授权时执行所述机器固有功能,或在所述服务器判定所述内容供应商未被授权时不执行所述机器固有功能。
6.根据权利要求4所述的回放设备,其中
所述用于取出的内容中包括的数字流已被加密,
在所述固有功能控制单元向所述第二记录介质上写入时,所述固有功能控制单元向外部服务器发送所述第一记录介质的序列ID、所述数字流的内容标识符以及所述第二记录介质的介质标识符和加密密钥,并且
通过如下方式执行对所述第二记录介质而言唯一的保护方法:从所述外部服务器获得与所述序列ID、所述内容标识符和所述介质标识符对应的解密密钥以及所述加密密钥,并向所述第二记录介质中的受保护区中记录所述解密密钥。
7.根据权利要求4所述的回放设备,还包括:
验证单元,用于验证所述介质上的库的档案文件中存储的数字签名文件的真实性,
所述验证单元基于所述回放设备中嵌入的认证密钥计算所述介质上的库的所述档案文件中存储的所述数字签名文件的散列值,
在计算出的散列值与所述介质上的库的所述档案文件中存储的所述数字签名文件中包括的数字签名的值匹配时,所述验证单元判定所述字节码应用是可信的,并且
在所述验证单元判定所述字节码应用不可信时,即使所述固有功能控制单元从所述字节码应用接收到与不同于所述回放控制功能的机器固有功能相关的命令时,所述固有功能控制单元也拒绝执行与所述回放控制功能不同的所述机器固有功能。
8.根据权利要求2所述的回放设备,还包括:
通信管理单元,
其中由所述通信管理单元提供用于所述套接字连接的所述通信程序设计接口,在检测到从所述字节码应用发送的网络连接请求时,所述通信管理单元向所述字节码应用发送所述回放设备持有的数字证书,并且
在判定附着于所述数字证书的签名可信时,所述字节码应用从所述通信管理单元接收通信密钥,利用所述通信密钥对与所述机器固有功能相关的命令加密来产生加密命令,并向所述通信管理单元发送所述加密命令。
9.根据权利要求1所述的回放设备,其中
所述机器固有功能为,将记录在第一记录介质中内容,复制到与第一记录介质不同的第二记录介质的功能,所述标准回放控制功能为,对第一记录介质所记录的内容进行回放的功能,
所述平台单元从第一记录介质中读取库,所述平台单元执行字节码应用,其中所述库用来使字节码应用控制机器固有功能,
字节码应用,使用包含用于复制的内容存储位置以及序列号的变量,在调用字节码应用程序设计接口时,所述库通过回放设备中多个套接字中的第一套接字,向机器固有功能控制单元发送设定作为复制对象的内容的存储位置的命令以及设定序列号的命令,
机器固有功能控制单元从接收到的存储位置中取得作为复制对象的内容ID,向服务器发送一对内容ID和序列号,令服务器判定是否能够使用机器固有功能,基于从服务器接收的判定结果,执行机器固有功能,该判定结果为能够使用机器固有功能的指示。
10.一种记录方法,其在记录介质上记录了内容和字节码应用,其中
与所述内容相关的功能包括标准化回放控制功能以及对回放设备而言固有的机器固有功能,
所述回放设备的平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,
所述字节码应用指示所述回放设备中的所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且
所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
11.根据权利要求10所述的记录方法,其中
所述记录介质是第一记录介质,其中在根目录下提供第一目录和第二目录,
在所述第一目录中记录主要内容和所述字节码应用,
在所述第二目录中记录用于取出的内容,所述用于取出的内容是所述机器固有功能的目标且在格式上与所述主要内容不同,并且
所述机器固有功能为介质间拷贝,通过所述介质间拷贝,从所述第一记录介质向第二记录介质拷贝构成所述用于取出的内容的文件。
12.根据权利要求11所述的记录方法,其中
在所述第二目录下提供多个拷贝源存储目录,
在所述多个拷贝源存储目录之一中记录所述用于取出的内容,
所述字节码应用指示所述固有功能控制单元将表示所述多个拷贝源存储目录之一的文件路径设置为当前源位置,
在将表示所述多个拷贝源存储目录之一的所述文件路径设置为所述当前源位置时,所述固有功能控制单元通过如下方式执行所述机器固有功能:从所述多个拷贝源存储目录之一读取所述用于取出的内容,以及向所述第二记录介质上写入所述用于取出的内容。
13.根据权利要求11所述的记录方法,其中
在所述第一记录介质的所述第一目录中记录用于所述机器固有功能的介质上的库,所述介质上的库为所述第一目录中记录的另一字节码应用提供用于执行所述机器固有功能的程序设计接口,
在所述另一字节码应用调用用于执行所述机器固有功能的程序设计接口时,所述介质上的库将用于执行所述机器固有功能的程序设计接口转换成套接字命令,向所述固有功能控制单元输出所述套接字命令,将来自所述固有功能控制单元的响应转换成返回值或事件,并将所述返回值或事件返回到所述另一字节码应用,并且
所述套接字连接构成传输所述套接字命令和所述响应的通信路径。
14.一种用于回放记录介质上记录的内容并执行与所述内容相关的功能的回放方法,与所述内容相关的所述功能包括标准化回放控制功能以及对于机器而言固有的机器固有功能,所述回放方法包括如下步骤:
从所述记录介质读取字节码应用并令计算机的平台单元运行所述字节码应用;以及
令所述计算机的固有功能控制单元执行所述机器固有功能,
其中所述计算机的所述平台单元包括由所述字节码应用使用的程序设计接口,且所述程序设计接口包括回放控制程序设计接口和通信程序设计接口,
所述字节码应用指示所述回放控制单元通过调用所述回放控制程序设计接口来执行所述回放控制功能,并且
所述字节码应用利用所述通信程序设计接口与所述固有功能控制单元建立套接字连接,并指示所述固有功能控制单元经由所述套接字连接执行所述机器固有功能以使在所述回放设备内执行本地通信。
15.根据权利要求14所述的回放方法,其中
所述机器固有功能为,将记录在第一记录介质中内容,复制到与第一记录介质不同的第二记录介质的功能,所述标准回放控制功能为,对第一记录介质所记录的内容进行回放的功能,
在所述回放方法中,从第一记录介质中读取库,使平台执行字节码应用,其中所述库用来使字节码应用控制机器固有功能,
字节码应用,使用包含用于复制的内容存储位置以及序列号的变量,在调用字节码应用程序设计接口时,所述库通过回放设备中多个套接字中的第一套接字,向机器固有功能控制单元发送设定作为复制对象的内容的存储位置的命令以及设定序列号的命令,
机器固有功能控制单元从接收到的存储位置中取得作为复制对象的内容ID,向服务器发送一对内容ID和序列号,令服务器判定是否能够使用机器固有功能,基于从服务器接收的判定结果,执行机器固有功能,该判定结果为能够使用机器固有功能的指示。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35325210P | 2010-06-10 | 2010-06-10 | |
US61/353,252 | 2010-06-10 | ||
JP2010-132580 | 2010-06-10 | ||
JP2010132580 | 2010-06-10 | ||
PCT/JP2011/000496 WO2011155098A1 (ja) | 2010-06-10 | 2011-01-28 | 再生装置、記録媒体、再生方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102369577A CN102369577A (zh) | 2012-03-07 |
CN102369577B true CN102369577B (zh) | 2016-10-26 |
Family
ID=45096286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180001251.6A Expired - Fee Related CN102369577B (zh) | 2010-06-10 | 2011-01-28 | 回放设备、记录方法和回放方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8588580B2 (zh) |
EP (1) | EP2581908A4 (zh) |
JP (2) | JP4814407B1 (zh) |
CN (1) | CN102369577B (zh) |
WO (1) | WO2011155098A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106647403A (zh) * | 2016-12-27 | 2017-05-10 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库控制方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101057288B (zh) | 2004-11-09 | 2010-12-22 | 汤姆森许可贸易公司 | 把内容绑定到可移动存储器上的方法和装置 |
JP5396821B2 (ja) * | 2008-11-05 | 2014-01-22 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2010119563A1 (ja) * | 2009-04-17 | 2010-10-21 | パイオニア株式会社 | 情報記録装置及びコピー管理プログラム |
KR101758613B1 (ko) | 2010-03-09 | 2017-07-31 | 삼성전자주식회사 | 방송 컨텐츠 제공 방법 및 장치와 그 시스템 |
US20110283368A1 (en) * | 2010-05-11 | 2011-11-17 | Massimiliano Gasparri | Identification and end-use differentiation in digital media |
JP5529964B2 (ja) * | 2010-07-01 | 2014-06-25 | パナソニック株式会社 | 再生装置、再生方法、プログラム |
PL2544118T3 (pl) * | 2011-07-04 | 2017-01-31 | Siemens Convergence Creators Gmbh | Sposób ochrony treści danych |
US9037683B1 (en) * | 2012-03-05 | 2015-05-19 | Koji Yoden | Media asset streaming over network to devices |
JP5935883B2 (ja) * | 2012-05-21 | 2016-06-15 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
KR20140039504A (ko) * | 2012-09-24 | 2014-04-02 | 삼성전자주식회사 | 블루레이 디스크 재생 장치 및 블루레이 디스크 로딩 방법 |
US9137270B2 (en) * | 2012-12-03 | 2015-09-15 | International Business Machines Corporation | Binding multiple addresses to a socket in a network system |
US9088612B2 (en) * | 2013-02-12 | 2015-07-21 | Verizon Patent And Licensing Inc. | Systems and methods for providing link-performance information in socket-based communication devices |
US9569229B1 (en) | 2013-07-29 | 2017-02-14 | Western Digital Technologies, Inc. | Automatic start of an application at start up for a media player appliance |
CN103686379B (zh) * | 2013-12-18 | 2017-02-15 | 青岛海信电器股份有限公司 | 一种多媒体文件的播放方法、装置、以及电视机 |
US20160019877A1 (en) * | 2014-07-21 | 2016-01-21 | Jesse Martin Remignanti | System for networking audio effects processors, enabling bidirectional communication and storage/recall of data |
WO2016043040A1 (ja) * | 2014-09-19 | 2016-03-24 | 株式会社aLab | デバイスドライバ登録装置とこれを用いたデバイスドライバの登録方法 |
US9197696B1 (en) | 2015-01-19 | 2015-11-24 | Vuclip | Offline content distribution networks |
US20160307603A1 (en) * | 2015-04-15 | 2016-10-20 | Sony Corporation | Information processing device, information recording medium, information processing method, and program |
US9420027B1 (en) * | 2015-04-27 | 2016-08-16 | Wowza Media Systems, LLC | Systems and methods of communicating platform-independent representation of source code |
WO2017022386A1 (ja) * | 2015-08-04 | 2017-02-09 | ソニー株式会社 | 情報処理装置、情報記憶装置、および情報処理方法、並びにプログラム |
WO2017038493A1 (ja) * | 2015-09-01 | 2017-03-09 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
CN106597904A (zh) * | 2016-12-27 | 2017-04-26 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库路径规划控制方法 |
CN106502185A (zh) * | 2016-12-27 | 2017-03-15 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库路径规划控制系统 |
CN106647504A (zh) * | 2016-12-27 | 2017-05-10 | 贵州航天南海科技有限责任公司 | 一种易扩展的立体车库控制方法 |
WO2018138590A1 (en) | 2017-01-24 | 2018-08-02 | Semiconductor Energy Laboratory Co., Ltd. | Display device and electronic device |
TWI689819B (zh) * | 2018-09-27 | 2020-04-01 | 瑞昱半導體股份有限公司 | 音訊播放裝置及其運作方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502104A (zh) * | 2006-06-30 | 2009-08-05 | 索尼株式会社 | 信息处理设备,信息处理方法,记录介质和程序 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09222974A (ja) | 1996-02-16 | 1997-08-26 | Fuji Xerox Co Ltd | 言語解釈表示方法とその方法を用いた装置およびシステム |
US6438615B1 (en) * | 1997-01-31 | 2002-08-20 | Sun Microsystems, Inc. | System, method and article of manufacture for using multiple bidirectional ports in association with a java application or applet |
US20020099795A1 (en) * | 2001-01-19 | 2002-07-25 | Robert Betros | System and method for maintaining two-way asynchronous notification between a client and a web server |
JP2003345751A (ja) * | 2002-05-22 | 2003-12-05 | Nippon Telegr & Teleph Corp <Ntt> | プラットフォーム制御方法、プラットフォーム制御装置、プラットフォーム制御プログラムおよびそのプログラムを格納した記憶媒体 |
US20040030763A1 (en) * | 2002-08-08 | 2004-02-12 | Manter Venitha L. | Method for implementing vendor-specific mangement in an inifiniband device |
JP2004295463A (ja) | 2003-03-27 | 2004-10-21 | Nippon Telegr & Teleph Corp <Ntt> | アプリケーション管理システム及びその方法 |
US20050270973A1 (en) * | 2004-06-07 | 2005-12-08 | Raev Kaloyan V | Cluster architecture communications |
US20070192818A1 (en) * | 2004-10-12 | 2007-08-16 | Mikael Bourges-Sevenier | System and method for creating, distributing, and executing rich multimedia applications |
KR20060081647A (ko) | 2005-01-10 | 2006-07-13 | 엘지전자 주식회사 | 기록매체, 로컬 스토리지를 이용한 기록매체 재생방법 및재생장치 |
WO2006082892A1 (ja) * | 2005-02-04 | 2006-08-10 | Matsushita Electric Industrial Co., Ltd. | 読出装置、プログラム、読出方法 |
US20070041711A1 (en) * | 2005-08-22 | 2007-02-22 | Lg Electronics | Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium |
JP2007251803A (ja) * | 2006-03-17 | 2007-09-27 | Sharp Corp | 記録再生装置、携帯端末装置、記録再生システム、及び記録再生方法 |
JP5087903B2 (ja) * | 2006-06-30 | 2012-12-05 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
US8695103B2 (en) * | 2007-03-07 | 2014-04-08 | Rovi Solutions Corporation | Apparatus for and a method of copy-protecting a content carrying recording medium |
JP5406178B2 (ja) * | 2008-04-16 | 2014-02-05 | パナソニック株式会社 | 再生装置、再生方法、プログラム |
JP2010009407A (ja) | 2008-06-27 | 2010-01-14 | Sony Corp | 情報処理装置、およびデータ処理方法、並びにプログラム |
JP2010049448A (ja) * | 2008-08-21 | 2010-03-04 | Sony Corp | 情報処理装置、およびデータ処理方法、並びにプログラム |
US20110103769A1 (en) * | 2009-10-30 | 2011-05-05 | Hank Risan | Secure time and space shifted audiovisual work |
-
2011
- 2011-01-28 EP EP11745463.7A patent/EP2581908A4/en not_active Withdrawn
- 2011-01-28 JP JP2011524041A patent/JP4814407B1/ja not_active Expired - Fee Related
- 2011-01-28 US US13/016,066 patent/US8588580B2/en not_active Expired - Fee Related
- 2011-01-28 CN CN201180001251.6A patent/CN102369577B/zh not_active Expired - Fee Related
- 2011-01-28 WO PCT/JP2011/000496 patent/WO2011155098A1/ja active Application Filing
- 2011-07-01 JP JP2011147208A patent/JP5416172B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502104A (zh) * | 2006-06-30 | 2009-08-05 | 索尼株式会社 | 信息处理设备,信息处理方法,记录介质和程序 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106647403A (zh) * | 2016-12-27 | 2017-05-10 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2581908A4 (en) | 2016-04-13 |
CN102369577A (zh) | 2012-03-07 |
WO2011155098A1 (ja) | 2011-12-15 |
JP2012018672A (ja) | 2012-01-26 |
EP2581908A1 (en) | 2013-04-17 |
US20110305435A1 (en) | 2011-12-15 |
US8588580B2 (en) | 2013-11-19 |
JPWO2011155098A1 (ja) | 2016-05-26 |
JP5416172B2 (ja) | 2014-02-12 |
JP4814407B1 (ja) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102369577B (zh) | 回放设备、记录方法和回放方法 | |
US7533224B2 (en) | Apparatus, method and computer program for content utilization management | |
TWI331324B (zh) | ||
CN100474911C (zh) | 视频信息记录设备和方法 | |
US8261096B2 (en) | Information processing apparatus, information recording medium, information processing method, and computer program | |
EP1860569B1 (en) | Information processing device, information processing method, and computer program | |
US8433929B2 (en) | Data management device, stored data management method and computer program | |
TW200416687A (en) | Reproduction apparatus, optical disc, recording medium, program, and reproduction method | |
CN101819800A (zh) | 重放装置和重放方法 | |
EP2271981B1 (en) | Binding unit manifest file | |
JP2010049448A (ja) | 情報処理装置、およびデータ処理方法、並びにプログラム | |
JP5529964B2 (ja) | 再生装置、再生方法、プログラム | |
US20050281163A1 (en) | Content reproduction apparatus, content reproduction method, content management apparatus, content management method and computer program | |
US8438651B2 (en) | Data reproducing method, data recording/ reproducing apparatus and data transmitting method | |
JP2003134461A (ja) | 映像情報記録装置、映像情報再生装置、記録方法、記憶媒体、プログラム、および記録媒体 | |
JP2002041457A (ja) | コンテンツ再生装置とそのコンテンツ再生装置の実現のために用いられるサーバ装置及び中継サーバ装置とコンテンツ再生装置用プログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160321 Address after: Osaka Japan Applicant after: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT Co.,Ltd. Address before: Osaka Japan Applicant before: Matsushita Electric Industrial Co.,Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161026 Termination date: 20200128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |