WO2017061298A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2017061298A1
WO2017061298A1 PCT/JP2016/078351 JP2016078351W WO2017061298A1 WO 2017061298 A1 WO2017061298 A1 WO 2017061298A1 JP 2016078351 W JP2016078351 W JP 2016078351W WO 2017061298 A1 WO2017061298 A1 WO 2017061298A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
drm
reproduction
stream data
data
Prior art date
Application number
PCT/JP2016/078351
Other languages
English (en)
French (fr)
Inventor
高林 和彦
平林 光浩
山岸 靖明
五十嵐 卓也
Original Assignee
ソニー株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US15/761,739 priority Critical patent/US20180270208A1/en
Publication of WO2017061298A1 publication Critical patent/WO2017061298A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • H04N21/44055Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • MPEG-DASH Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP
  • the present disclosure has been made in view of such a situation, and makes it possible to more reliably control the reproduction of content data.
  • the verification code generation unit generates and generates a hash value for the stream data of the segment before encryption using key information used for encryption or decryption of the stream data of the segment
  • the hash value can be the verification code.
  • An event message box for storing an event message is generated, and an event message box generation unit for storing the verification code generated by the verification code generation unit is further included in the generated event message box.
  • the event message box generated by the event message box generation unit and storing the verification code can be added to the stream data.
  • the contents of the reproduction control can include skip reproduction prohibition and prohibition section designation of the stream data, designation of a section that needs to be reproduced in advance, and trick reproduction prohibition and prohibition section designation.
  • the image processing method also generates a verification code of the stream data of the segment for a segment that performs reproduction control of the stream data encoded with the image data, and generates the verification An image processing method for adding a code to the stream data.
  • An image processing apparatus includes a generation unit that generates a verification code of the stream data of the segment, and a generation unit that performs reproduction control of stream data encoded with image data.
  • a verification unit that compares the generated verification code with a verification code added to the stream data, and the segment or the subsequent segment according to the match or mismatch between the verification codes in the verification by the verification unit
  • the image processing apparatus includes a reproduction control unit that controls reproduction of both of the stream data.
  • the image processing method also generates a verification code of the stream data of the segment for a segment that performs reproduction control of the stream data encoded with the image data, and generates the verification Image processing for checking the code and a verification code added to the stream data, and controlling the reproduction of the stream data of the segment and / or the subsequent segment according to the match or mismatch of the verification codes Is the method.
  • the image processing apparatus describes a DRM rule description in which the content of the reproduction control is described as a DRM (Digital Rights Management) rule for a segment that performs reproduction control of stream data encoded with image data.
  • the image processing apparatus includes: a generation unit that generates the data; and an addition unit that adds the DRM rule description generated by the generation unit to the stream data.
  • the contents of the reproduction control can include skip reproduction prohibition and prohibition section designation of the stream data, designation of a section that needs to be reproduced in advance, and trick reproduction prohibition and prohibition section designation.
  • the generation unit can generate a segment playback control information box that stores the DRM rule description and stores information related to the playback control of the segment.
  • the generation unit can generate a protection system specific header box that stores the segment playback control information box and stores information unique to the DRM.
  • the common description generation unit that generates a common description in a format independent of the DRM indicating the content of the reproduction control, and the common description generated by the common description generation unit is control information related to reproduction of the stream data.
  • a common description adding unit to be added to MPD Media Presentation Description
  • the contents of the reproduction control can include skip reproduction prohibition and prohibition section designation of the stream data, designation of a section that needs to be reproduced in advance, and trick reproduction prohibition and prohibition section designation.
  • the image processing method is also a DRM that describes the content of the reproduction control as a DRM (Digital Rights Management) rule for a segment that performs reproduction control of stream data encoded with image data.
  • a DRM Digital Rights Management
  • a rule description is generated, and the generated DRM rule description is added to the stream data.
  • the image processing apparatus obtains a DRM rule description that describes the contents of playback control added to stream data obtained by encoding image data as a DRM (Digital Rights Management) rule.
  • a decoding unit that decrypts the stream data of the encrypted segment based on the DRM rule description acquired by the acquisition unit, and the reproduction of the stream data of the segment decrypted by the decoding unit
  • An image processing apparatus including a reproduction control unit for controlling.
  • the image processing method also obtains a DRM rule description that describes the content of playback control as a DRM (Digital Rights Management) rule added to stream data obtained by encoding image data. And decoding the stream data of the encrypted segment based on the acquired DRM rule description, and controlling the reproduction of the stream data of the decrypted segment.
  • DRM Digital Rights Management
  • a verification code for the stream data of the segment is generated for the segment that controls the reproduction of the stream data encoded with the image data, and the generated verification code Is added to the stream data.
  • a verification code of the stream data of the segment is generated for the segment that performs reproduction control of the stream data encoded with the image data, and the generated verification code And the verification code added to the stream data are collated, and reproduction of the stream data of the segment and / or the subsequent segment is controlled according to the match or mismatch of the verification codes.
  • the content of the reproduction control is described as a DRM (Digital Rights Management) rule for a segment that performs reproduction control of stream data encoded with image data.
  • a DRM rule description is generated, and the generated DRM rule description is added to the stream data.
  • DRM rule description that describes the content of playback control added to stream data obtained by encoding image data as a DRM (Digital Rights Management) rule. Based on the acquired DRM rule description, the encrypted segment stream data is decrypted, and reproduction of the decrypted segment stream data is controlled.
  • DRM Digital Rights Management
  • an image can be processed.
  • the reproduction of content data can be controlled more reliably.
  • FIG. 25 For explaining an example of the flow of the media segment decoding process. It is a figure explaining the other structural example of an event message box. It is a figure explaining the other example of description of an event message box. It is a flowchart explaining the other example of the flow of an event message box production
  • FIG. 31 is a flowchart following FIG. 30 for explaining an example of the flow of media segment decoding processing.
  • FIG. It is a block diagram which shows the main structural examples of a delivery system.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • First embodiment content reproduction system
  • Second embodiment another example of an event message box
  • Third embodiment distributed system
  • Fourth embodiment computer
  • a playback rule is described as an MPD (Media Presentation Description) or another XML document used for content playback, and the playback client follows the rule.
  • MPDs are usually not protected against tampering. Therefore, the rules described there may be altered.
  • DRM Digital Rights Management
  • a framework almost equivalent to so-called DRM Digital Rights Management
  • DRM Digital Rights Management
  • a method has been considered in which the time at which the next request becomes valid is described in the “access token” used when requesting each segment from the server, and the request before that time is rejected.
  • the “access token” is generally used to authenticate whether or not there is an access right to specific “content”. For example, it was considered that the “access token” for the next request that acquired the segment of the “advertisement” section should describe a time that is valid only after the playback time of the previous segment has elapsed (In general, “access tokens” have a mechanism for each service, and falsification prevention measures are taken).
  • a “token” that describes the time limit according to the timing of the request in the previous section is issued for each client section request. Therefore, the processing on the server side may be complicated.
  • DRM technologies have a mechanism for prohibiting / suppressing specific operations on clients as DRM rules.
  • a method of controlling playback using this DRM technology was considered.
  • the conventional DRM technology is limited to the application of the playback rules relating to the section in the content made up of one file (for example, the file of ISO base media file format), and a plurality of stream data are combined and reproduced as one content. It is difficult to perform accurate playback control simply by applying such DRM technology to MPEG-DASH.
  • MPD used for reproduction in MPEG-DASH.
  • the MPD has a configuration as shown in FIG.
  • the playback client selects an optimum one from the representation attributes included in the period of the MPD (Media Presentation in FIG. 1).
  • the authoring device 101-1 through the authoring device 101-3 are devices that generate content data to be distributed and played back by the content playback system 100.
  • the authoring device 101-1 to the authoring device 101-3 are referred to as the authoring device 101 when there is no need to distinguish between them.
  • the authoring apparatus 101 generates content data using the DRM technology provided by the DRM server 105 described later.
  • the authoring apparatus 101-1 supplies the generated content data to the content server 102-1.
  • the authoring apparatus 101-2 supplies the generated content data to the content server 102-2.
  • the authoring apparatus 101-3 supplies the generated content data to the content server 102-3.
  • the intermediate server 103 performs streaming distribution as new content by appropriately combining the content distributed by the content server 102.
  • the DRM server 105 provides DRM technology to other apparatuses (for example, the authoring apparatus 101 and the reproduction client 104) of the content reproduction system 100.
  • the DRM server 105 provides arbitrary information for copyright protection or the like as the DRM technology.
  • the DRM server 105 provides information (eg, key information) used for data encryption / decryption, data verification / communication partner authentication, and the like.
  • the DRM server 105 can provide such DRM technology to an arbitrary device.
  • Content data consists of a media segment and an MPD.
  • the media segment is segment unit data including image data (or multimedia data).
  • the media segment includes data to be reproduced (in other words, the media segment is data to be reproduced).
  • MPD is control information (document) that controls playback of a media segment.
  • MPD is data independent of media segments, and can control the reproduction of an arbitrary number of media segments. For example, by using MPD, a plurality of media segments can be provided as one content.
  • the content server 102-1 provides an arbitrary number of media segments 121-1 and an arbitrary number of MPDs 122-1 for controlling playback of the media segments 121-1 as content data. That is, the media segment 121-1 includes image data (or multimedia data) of “advertisement”.
  • the MPD 122-1 includes control information for reproducing the image data (or multimedia data) of the “advertisement”. These contents data are stored and managed in the database 111-1.
  • the database 111-1 may be built in the content server 102-1, or may be configured as a device different from the content server 102-1.
  • the content server 102-2 provides an arbitrary number of media segments 121-2 and an arbitrary number of MPDs 122-2 that control playback of the media segments 121-2 as content data. That is, the media segment 121-2 includes image data (or multimedia data) of “warning” and “main part A”.
  • the MPD 122-2 includes control information for reproducing the image data (or multimedia data) of the “warning” or “main part A”.
  • These contents data are stored and managed in the database 111-2.
  • the database 111-2 may be built in the content server 102-2, or may be configured as a device different from the content server 102-2.
  • the content server 102-3 provides an arbitrary number of media segments 121-3 and an arbitrary number of MPDs 122-3 that control playback of the media segments 121-3 as content data. That is, the media segment 121-3 includes the image data (or multimedia data) of “main part B”.
  • the MPD 122-3 includes control information for reproducing the image data (or multimedia data) of the “main part B”. These content data are stored and managed in the database 111-3.
  • the database 111-3 may be built in the content server 102-3, or may be configured as a device different from the content server 102-3.
  • the databases 111-1 to 111-3 are referred to as the database 111 when it is not necessary to distinguish them from each other.
  • the media segments 121-1 to 121-3 are referred to as media segments 121 when there is no need to distinguish them from each other.
  • MPD 122-1 to MPD 122-3 are referred to as MPD 122 when there is no need to distinguish them from each other.
  • the playback client 104 acquires and analyzes the MPD 122, acquires the media segment 121 according to the description of the MPD 122, and plays back the media segment 121 by a method according to the description of the MPD 122. Also, the playback client 104 acquires and uses information related to DRM from the DRM server 105 as necessary when acquiring and playing back the media segment 121. For example, the playback client 104 acquires a decryption key from the DRM server 105 and decrypts the encrypted data of the media segment 121 using the decryption key.
  • the intermediate server 103 acquires the MPD 122 from the content server 102, edits one or a plurality of MPDs 122, and generates a new MPD (combined MPD 123). That is, the intermediate server 103 edits the existing content (MPD 122) to generate the composite MPD 123, and provides it to the playback client 104 as new content.
  • the user (administrator or operator) of the intermediate server 103 may be different from the user (administrator or operator) of the content server 102 or may be the same as each other.
  • the data processed by the intermediate server 103 is only the MPD 122, and the media segment 121 is not processed. That is, when the playback client 104 performs playback based on the composite MPD 123, the playback client 104 acquires the media segment 121 to be played back from the content server 102 (database 111). Also in this case, the playback client 104 acquires and uses information related to DRM from the DRM server 105 as necessary when acquiring and playing back the media segment 121.
  • the intermediate server 103 generates an MPD (combined MPD 123) that reproduces the media segment 121 as new content by editing the existing MPD 122 (for example, combining a plurality of MPDs 122).
  • the intermediate server 103 generates a composite MPD 123 that causes the media segment 121 to be played back as content as shown in FIG. 7 from the MPD 122 acquired from each content server 102.
  • period 1 consisting of one or more “advertising” media segments 121
  • period 2 consisting of one or more “warning” media segments 121
  • period 4 consisting of one or more “advertising” media segments 121
  • Period-5 Period-5
  • period 1 is a section (range) in which the image of “advertisement” is displayed. That is, period 1 (Period-1) is a section in which the media segment 121-1 of "advertisement” is played.
  • Period 2 is a section (range) in which the “warning” image is displayed. That is, period 2 (Period-2) is a section in which the “warning” media segment 121-2 is played.
  • period 3 Period-3) is a section (range) in which the image of “main part A” is displayed. That is, period 3 (Period-3) is a section in which the media segment 121-2 of “main part A” is played.
  • Period 4 is a section (range) in which an image of “advertisement” is displayed. That is, period 4 (Period-4) is a section in which the media segment 121-1 of “advertisement” is played. Furthermore, period 5 (Period-5) is a section (range) in which the image of “main part B” is displayed. That is, period 5 (Period-5) is a section in which the media segment 121-3 of “main part B” is played.
  • Period 1 (Period-1) and Period 4 (Period-4) of “Advertisement” and Period 2 (Period-2) of “Warning” are the sections that the viewer of the content 131 wants to watch. is there. Accordingly, playback control such as “prohibit fast-forward”, “prohibit skip”, “prohibit playback from midway”, or the like may be performed in these sections as in the example of FIG.
  • the “reproduction control” may be any control as long as it controls the reproduction method. For example, it may be one that prohibits or suppresses a predetermined playback method (sets a playback method that is prohibited or suppressed). In other words, the playback control may be one that permits or recommends a predetermined playback method (sets a playback method that is permitted or recommended). Although this predetermined reproduction method is arbitrary, for example, a reproduction method other than normal reproduction that reproduces data at a predetermined speed in time series may be used.
  • the playback control is so-called fast-forward playback in which playback is performed faster than normal playback, rewind playback (reverse playback) played back in the opposite direction to time series, slow playback played back at lower speed than normal playback, or so-called pause.
  • Trick play also referred to as trick play
  • “No ⁇ ⁇ ⁇ Fast Forward”, “No Rewind”, “No Fast Rewind”, “No Slow Forward”, “No Slow Reverse”, etc. are individually controlled (for example, prohibited) ).
  • the playback control may prohibit skip playback that skips a part of a section (range) (No Skip).
  • the reproduction control may specify a section (range) that needs to be reproduced in advance of the section (range) (Only After).
  • the playback control may prohibit jump-in playback in which playback is started in the middle of a predetermined section (range) (No Jump-In). For example, when an instruction to start playback from the middle of the set section is given (random access), the playback is controlled to start from the beginning of the section or a specific position outside the section.
  • any control related to the reproduction control such as designation of a section (range) to be controlled, designation of a reproduction start position (jump destination), designation of permission or prohibition, designation of a parameter, etc. is included in this reproduction control. It may be.
  • the reproduction control may include control relating to display of the reproduced image such as color and image size, or may include control relating to a computer graphic image (for example, subtitles) superimposed on the image, Control other than images such as sound may be included.
  • control relating to display of the reproduced image such as color and image size
  • control relating to a computer graphic image for example, subtitles
  • Control other than images such as sound may be included.
  • the number of items to be controlled is arbitrary, and a plurality of items (which may include items not described above) among the items described above may be controlled.
  • trick play is prohibited for period 1 (Period-1), period 2 (Period-2), and period 4 (Period-4).
  • No Trick and skip playback prohibition (No Skip) may be performed.
  • period 1 (Period-1) is specified for period 2 (Period-2), and period 3 (Period-3) and period 4 (Period-4) are specified.
  • period 1 (Period-1) and period 2 (Period-2) are designated, and period 4 (Period-4) is designated for period 5 (Period-5).
  • the rule input unit 161 acquires information (reproduction rules) related to reproduction control from the outside.
  • the source of the reproduction rule is arbitrary.
  • a reproduction rule input by the user may be accepted by a software user interface (UI) or a file in which the reproduction rule is described may be read.
  • This reproduction rule may be any type of data.
  • the reproduction rule may be an XML file described in XML.
  • the rule input unit 161 supplies the acquired reproduction rule to the MAC value generation unit 163 and the DRM rule description generation unit 166.
  • the DRM rule description adding unit 167 adds the DRM rule description supplied from the DRM rule description generating unit 166 to a predetermined position of the media segment 121 generated by the DASH format data generating unit 162.
  • the DRM rule description adding unit 167 supplies the media segment 121 to which the DRM rule description has been added to the media segment providing unit 168.
  • An example (description example) of the syntax of the event message box ('emsg' box) 171 is shown in the syntax 181 of FIG.
  • an example of the semantics of each parameter used in the syntax 181 is shown in the semantic 182 of FIG.
  • the MAC value ie, segment data aus code box ('sdac'acbox) 172 is stored in "message_data []".
  • the authoring apparatus 101 can specify a segment from which verification data necessary for reproducing stream data of a certain segment can be obtained. . That is, the authoring apparatus 101 (content server 102) can control the playback order of each segment.
  • the reproduction client 104 can reproduce each segment in order along the time series (only normal reproduction is permitted). At this time, for example, if the playback client 104 performs fast forward playback, rewind playback, skip playback, etc., the playback of a part of the data is omitted, so that a correct verification code cannot be obtained. Therefore, verification code verification fails and reproduction fails.
  • the authoring apparatus 101 can realize desired reproduction control more reliably (content data reproduction can be more reliably controlled).
  • rule_id Applicable rule identifier 1: No skip 2: Only After 3: No Trick Play 4: No Jump-In range_s, range_e: Start / end of No skip in movie fragment sample number play_before_count: Number of Periods targeted for Only After pb_period_id: Identifier of Period targeted for Only after Pb_segment_s, pb_segment_e: Within Only after target Period Target segment start / end movie fragment number nt_range_count: Number of No Skip target range in segment (movie fragment) nt_range_s, nt_range_e: No Trick Play Target range start / end sample number nj_range_s, nj_range_e: No Jump-In Start / end of target range sample number goto_segment: movie fragment number to start playback when Jump-In
  • the DRM rule description adding unit 167 adds a protection system specific header box ('pssh' box) 191 storing the above DRM rule description to the media segment 121. Note that the DRM rule description adding unit 167 can add a protection system specific header box ('pssh') box) 191 of any segment to the media segment 121 of any segment.
  • playback rules are defined for four playback methods. However, playback methods that can be controlled for playback are arbitrary and are not limited to this example. For example, in this DRM rule description, it is possible to define various playback method controls as described with reference to FIGS.
  • the media segment providing unit 168 supplies the media segment 121 having such a configuration to the content server 102.
  • the common description generation unit 263 generates a description (common description) in a common format that does not depend on DRM and indicates the reproduction rule (that is, the content of the reproduction control) supplied from the rule input unit 161.
  • the common description generating unit 263 supplies the generated common description to the common description adding unit 264.
  • the DRM specific description adding unit 267 adds the DRM specific description supplied from the DRM specific description generating unit 266 to a predetermined position of the MPD 122 supplied from the D common description adding unit 264 (MPD 122 added with the common description). .
  • the DRM specific description adding unit 267 supplies the MPD 122 added with the DRM specific description to the MPD providing unit 268.
  • FIG. 19 shows an example of common description.
  • a common description 271 a playback rule is described in an XML document using a ⁇ playbackControl> tag.
  • the common description adding unit 264 adds such a common description 271 to a predetermined position of the MPD 122.
  • the reproduction rule can be more easily associated with the update (for example, change, division, addition, synthesis, etc.) of the MPD 122.
  • the description regarding the reproduction control can be added to the MPD 122 in the intermediate server 103.
  • the intermediate server 103 may have the configuration of the MPD generation unit 152 shown in FIG. In this way, for example, the intermediate server 103 can only add the common description and the DRM specific description added to the MPD 122 used to generate the composite MPD 123 to the newly generated composite MPD 123.
  • a common description or a DRM specific description about a new reproduction rule acquired by the rule input unit 261 can be added.
  • the rule input unit 161 acquires a reproduction rule from the outside in step S101.
  • step S102 the DRM rule description generation unit 166 generates a DRM rule description based on the reproduction rule acquired in step S101, and further generates a segment playback control information box ('spci' box). Stores the DRM rule description.
  • step S104 the MAC value generation unit 163 through the event message data addition unit 165 generate an event message box ('emsg' box) and add it to the media segment.
  • an event message box ('emsg' box)
  • the media segment processing ends.
  • step S123 the MAC value generation unit 163 determines whether data (Segment ('mdat')) is encrypted. If it is determined that the data (Segment ('mdat')) is encrypted, the process proceeds to step S124.
  • step S123 If it is determined in step S123 that the data (Segment ('mdat')) is not encrypted, the process proceeds to step S126.
  • step S128 the event message data generation unit 164 generates a segment data aus code box ('sdac' box) and stores the MAC value.
  • step S129 the event message data generation unit 164 generates an event message box ('emsg' box) and stores a segment data aus code box ('sdac' box). Further, the event message data adding unit 165 adds the event message box ('emsg' box) to the media segment.
  • the process of step S129 ends, the process proceeds to step S130.
  • step S122 If it is determined in step S122 that the segment is not a No Skip target segment, the process proceeds to step S130.
  • the authoring apparatus 101 (content server 102) can more reliably realize desired reproduction control (reproduction of content data can be more reliably controlled).
  • step S152 the DASH format data generation unit 262 acquires the MPD under the target period and extracts a period element.
  • step S153 the DASH format data generation unit 262 determines whether or not MPD coupling is necessary. If it is determined that it is necessary, the process proceeds to step S154.
  • step S154 the DASH format data generation unit 262 determines whether it is the first period (Period). If it is determined that it is the first period, the process proceeds to step S155.
  • step S155 the DASH format data generation unit 262 generates the combined output MPD.
  • step S156 If it is determined in step S154 that it is not the first period, the process proceeds to step S156.
  • step S156 the DASH format data generation unit 262 adds the description of the target period (Period element) to the output MPD.
  • step S158 the process proceeds to step S158. If it is determined in step S153 that MPD coupling is not necessary, the process proceeds to step S157.
  • step S159 the MPD generation unit 152 determines whether or not the processing target period is the last period. If it is determined that there is an unprocessed period, the process returns to step S152, and the subsequent processes are repeated. Each process of step S152 to step S159 is executed for each period, and if it is determined in step S159 that the period to be processed is the last period, the MPD process ends.
  • the intermediate server 103 can also perform the same MPD process. That is, the flowchart of FIG. 22 can also be applied to the description of the flow of the MPD process by the intermediate server 103. Therefore, the intermediate server 103 can perform reproduction control over a wider range. Further, the intermediate server 103 can perform appropriate reproduction control according to the update of the MPD more easily by performing the MPD process in this way. For example, the intermediate server 103 can not only add the common description and the DRM specific description added to the MPD 122 used to generate the combined MPD 123 to the newly generated combined MPD 123, but also the rule input unit 261. It is also possible to add a common description or a DRM specific description about the new playback rule acquired by the above.
  • FIG. 23 is a block diagram illustrating a main configuration example of the playback client 104 (FIG. 5).
  • the playback client 104 includes an application unit 411, a DASH client unit 412, a playback control unit 413, a MAC value storage unit 414, a DRM processing unit 415, and a media playback unit 416.
  • the application unit 411 has a user interface and receives an instruction input from the user.
  • the DASH client unit 412 performs processing related to acquisition of the media segment. For example, the DASH client unit 412 acquires and interprets the MPD from the intermediate server 103, the content server 102, and the like, selects a media segment (Media) Segment) to be reproduced, and acquires the MPD from the content server 102 and the like.
  • the playback control unit 413 performs processing related to playback control of content data. For example, the playback control unit 413 analyzes the media segment acquired by the DASH client unit 412 and controls playback of content data.
  • the MAC value storage unit 414 stores information on MAC values such as MAC value matching results.
  • the DRM processing unit 415 performs processing related to DRM. For example, the DRM processing unit 415 obtains a DRM license necessary for reproduction, decrypts an encrypted media segment, and the like.
  • the media control unit 416 performs decoding, display / output, etc. on the media after DRM decoding.
  • DRM technology licenses are required to comply with the rules determined by DRM as a whole, but the strength required for the robustness of the implementation is the processing of each processing unit of the application unit 411 to the playback control unit 413. Compared to the DRM processing unit 415 and the media playback unit 416, it is looser. For example, even when the application unit 411 or the “DASH” client unit 412 is modified to bypass the playback rule and an operation that is originally prohibited is performed, the DRM processing unit 415 detects it or reduces the effectiveness of the bypass. Can do.
  • the DASH client unit 412 acquires the designated MPD in step S201.
  • step S202 the DASH client unit 412 acquires a media client to be played based on the MPD acquired in step S201.
  • step S203 the DRM processing unit 415 decrypts the media segment encrypted by the DRM technique.
  • step S204 the playback control unit 413 controls the playback of the media segment decoded by the processing of step S203 by the media playback unit 416 based on the processing result of step S203.
  • step S204 When the process in step S204 is completed, the reproduction process is completed.
  • the DRM processing unit 415 starts the segment playback control information box ('spci' box) from the protection system specific header box ('pssh' box) of the segment (Segment) in step S221. ) To get.
  • step S222 the DRM processing unit 415 determines whether or not the segment is a No. Jump-In target segment that prohibits playback from the middle of a predetermined section. If it is determined that the segment is not the target segment of No Jump-In, the process proceeds to step S223.
  • step S226 the DRM processing unit 415 determines whether or not the segment includes a No skip target range. If it is determined that the target range of No) skip is included, the process proceeds to step S227.
  • step S2228 the DRM processing unit 415 supplies the decrypted data (Segment ('mdat')) to the media playback unit 416.
  • step S228 ends, the process proceeds to step S241 in FIG.
  • the DRM processing unit 415 acquires the MAC value of the segment from the event message box ('emsg' box). In step S242, the DRM processing unit 415 uses the MAC value calculated from the data (Segment ('mdat')) decoded by the process of step S227 and the event message box ('emsg' box) by the process of step S241. Check the acquired MAC value.
  • step S244 the MAC value storage unit 414 stores the collation result determined in step S243 together with the period identification information (Period ID) and the segment identification information (Segment ID).
  • Period ID period identification information
  • Segment ID segment identification information
  • step S243 in FIG. 26 If it is determined in step S243 in FIG. 26 that the collation is NG (collation has failed), the process proceeds to step S245.
  • step S245 the DRM processing unit 415 notifies the reproduction control unit 413 of a processing error.
  • step S229 the DRM processing unit 415 notifies the playback control unit 413 of a processing error and a go_to_segment value that specifies a jump destination (playback start position).
  • the playback control unit 413 performs playback control on Jump-In using the go_to_segment value.
  • step S230 the DRM processing unit 415 performs a processing error notification and a playback condition error notification to the playback control unit 413.
  • the process of step S230 ends, the media segment decoding process ends, and the process returns to FIG.
  • step S226 in FIG. 25 If it is determined in step S226 in FIG. 25 that the segment does not include the No skip target range, the process proceeds to step S231.
  • step S231 the DRM processing unit 415 decrypts the encrypted data (Segment ('mdat')).
  • step S232 the DRM processing unit 415 supplies the decrypted data (Segment ('mdat')) to the media playback unit 416.
  • the process of step S232 ends, the media segment decoding process ends, and the process returns to FIG.
  • Second Embodiment> ⁇ Other examples of event message box> Note that the segment playback control information box ('spci') box is stored not only in the protection system specific header box ('pssh' box) but also in the event message box ('emsg' box). Good. The event message box ('emsg' box) is originally supposed to be inserted by service layer processing.
  • the segment playback control information box ('spci' ⁇ box) in the event message box ('emsg' box) when storing the segment playback control information box ('spci' ⁇ box) in the event message box ('emsg' box), the segment playback control information stored in the event message box ('emsg'msgbox)
  • the information in the box ('spci' box) takes precedence over the information in the segment playback control information box ('spci' box) stored in the protection system specific header box ('pssh' box) in the same segment.
  • the protection system specific header box 'pssh' box
  • ⁇ Event message box> An example (description example) of syntax of the event message box ('emsg' box) 171 in this case is shown in syntax 421 of FIG.
  • syntax 421 of FIG. An example of the semantics of each parameter (semantics of the event message box ('emsg' box) 171) used in the syntax 421 is shown in the semantics 422 of FIG.
  • message_data contains information of the segment playback control information box ('spci' box) in the protection system specific header box ('pssh' box), if any. Will be overwritten.
  • the DRM rule description generation unit 166 when the emsg box generation process is started, the DRM rule description generation unit 166 generates a DRM rule description based on the reproduction rule in step S301, and further, the segment playback control information box ('spci') box) and store the DRM rule description.
  • step S302 the DRM rule description generation unit 166 generates an event message box ('emsg' box), and the segment playback control information box ('spci' box) generated in step S301 is displayed in the event message box ('spci' box). 'emsg' (box).
  • step S303 to step S312 is executed in the same manner as each processing from step S121 to step S130 in FIG.
  • the authoring apparatus 101 by performing the emsg ⁇ box generation processing, the authoring apparatus 101 (content server 102) can store the DRM rule description in the event message box ('emsg' box). As a result, the DRM rule description can be updated more easily.
  • the DRM processing unit 415 determines whether or not there is an event message box ('emsg'ebox) of the segment (Segment) in step S401. If it is determined that it exists, the process proceeds to step S402.
  • step S402 the DRM processing unit 415 obtains a segment playback control information box ('spci' box) from the event message box ('emsg' box) of the segment (Segment).
  • a segment playback control information box ('spci' box) from the event message box ('emsg' box) of the segment (Segment).
  • step S401 If it is determined in step S401 that the event message box ('emsg' box) of the segment does not exist, the process proceeds to step S403.
  • step S403 the DRM processing unit 415 obtains a segment playback control information box ('spci' box) from the protection system specific header box ('pssh' box) of the segment (Segment).
  • step S404 the process proceeds to step S404.
  • the reproduction client 104 can reproduce the content data according to the reproduction control designated by the distribution side more reliably in this case as well. Further, more various and detailed reproduction control can be realized.
  • FIG. 32 is a diagram illustrating a main configuration example of a distribution system to which the present technology is applied.
  • a distribution system 500 shown in FIG. 32 is a system for distributing still images and moving images. As illustrated in FIG. 32, the distribution system 500 includes a distribution data generation device 501, a distribution server 502, a network 503, a terminal device 504, and a terminal device 505.
  • the distribution data generation device 501 generates distribution data in a distribution format from still image or moving image data to be distributed.
  • the distribution data generation device 501 supplies the generated distribution data to the distribution server 502.
  • the distribution server 502 stores and manages the distribution data generated by the distribution data generation device 501 in a storage unit or the like, and provides the distribution data distribution service to the terminal device 504 and the terminal device 505 via the network 503. To do.
  • the network 503 is a communication network serving as a communication medium.
  • the network 503 may be any communication network, a wired communication network, a wireless communication network, or both of them.
  • it may be a wired LAN (Local Area Network), a wireless LAN, a public telephone line network, a wide area communication network for a wireless mobile body such as a so-called 3G line or 4G line, or the Internet, or a combination thereof. May be.
  • the network 503 may be a single communication network or a plurality of communication networks.
  • a part or all of the network 503 is configured by a communication cable of a predetermined standard such as a USB (Universal Serial Bus) cable, an HDMI (registered trademark) (High-Definition Multimedia Interface) cable, or the like. You may be made to do.
  • a communication cable of a predetermined standard such as a USB (Universal Serial Bus) cable, an HDMI (registered trademark) (High-Definition Multimedia Interface) cable, or the like. You may be made to do.
  • the distribution server 502, the terminal device 504, and the terminal device 505 are connected to the network 503 and can communicate with each other.
  • the connection method to these networks 503 is arbitrary.
  • these devices may be connected to the network 503 by wired communication or may be connected by wireless communication. Further, for example, these devices may be connected to the network 503 via an arbitrary communication device (communication equipment) such as an access point, a relay device, or a base station.
  • communication equipment such as an access point, a relay device, or a base station.
  • the terminal device 504 and the terminal device 505 are each an arbitrary electronic device having a communication function such as a mobile phone, a smartphone, a tablet computer, and a notebook computer.
  • the terminal device 504 and the terminal device 505 request the distribution server 502 to distribute a distribution file based on an instruction from a user, for example.
  • the distribution server 502 transmits the requested distribution data to the request source.
  • the terminal device 504 or the terminal device 505 that requested the distribution receives and reproduces the distribution data.
  • the present technology described above in each embodiment is applied as the distribution data generation device 501. That is, the above-described authoring apparatus 101 is used as the distribution data generation apparatus 501.
  • the present technology described above in each embodiment is applied as the distribution server 502. That is, the above-described content server 102, intermediate server 103, DRM server 105, etc. are used as the distribution server 502.
  • the present technology described in each embodiment is applied as the terminal device 504 and the terminal device 505. That is, the above-described playback client 104 is used as the terminal device 504 or the terminal device 505.
  • the delivery data generation device 501, the terminal device 504, and the terminal device 505 can obtain the same effects as those of the above-described embodiments. That is, the distribution system 500 can control the reproduction of the content data more reliably.
  • FIG. 33 is a block diagram illustrating a configuration example of hardware of a computer that executes the above-described series of processes by a program.
  • An input / output interface 610 is also connected to the bus 604.
  • An input unit 611, an output unit 612, a storage unit 613, a communication unit 614, and a drive 615 are connected to the input / output interface 610.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 614 and installed in the storage unit 613.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 614 and installed in the storage unit 613.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • various types of information associated with content data may be transmitted through a transmission path different from the transmission path through which the content data is transmitted.
  • Various information associated with the content data may be recorded on a recording medium different from the recording medium on which the content data is recorded.
  • the content data and various types of information may be associated with each other in arbitrary units such as a plurality of frames of an image, one frame, or a part of a frame.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本開示は、コンテンツデータの再生をより確実に制御することができるようにする画像処理装置および方法に関する。 例えば、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、セグメントのストリームデータの検証コードを生成し、生成された検証コードを、セグメントのストリームデータに付加する。また、例えば、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、セグメントのストリームデータの検証コードを生成し、その生成された検証コードと、セグメントのストリームデータに付加されている検証コードとを照合し、検証コード同士の一致または不一致に応じて、そのセグメント若しくは後続のセグメントまたはその両方のストリームデータの再生を制御する。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、コンテンツデータの再生をより確実に制御することができるようにした画像処理装置および方法に関する。
 近年、インターネット上のストリーミングサービスの基盤技術としてMPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)が普及し始めている(例えば、非特許文献1参照)。
 このMPEG-DASHにおいて、特定の"ピリオド"または"セグメント"(以下、特定区間とする)に対して、再生クライアントにおけるトリックプレイなどの特定の操作を禁止・抑制することが考えられている。例えば、DRM(Digital Rights Management)の技術的な仕組みを利用して、再生を制御する方法が考えられた。
MPEG-DASH(Dynamic Adaptive Streaming over HTTP)(URL:http://mpeg.chiariglione.org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam-1)http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip
 しかしながら、従来のDRM技術は、1つのファイル(例えばISO base media file formatのファイル)からなるコンテンツ内の区間に関する再生ルールの適用にとどまっており、複数のストリームデータを組み合わせて1つのコンテンツとして再生することができるMPEG-DASHにこのようなDRM技術を単純に適用して正確な再生制御を行うことは困難であった。
 本開示は、このような状況に鑑みてなされたものであり、コンテンツデータの再生をより確実に制御することができるようにするものである。
 本技術の第1の側面の画像処理装置は、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する検証コード生成部と、前記検証コード生成部により生成された前記検証コードを、前記ストリームデータに付加する検証コード付加部とを備える画像処理装置である。
 前記検証コード生成部は、暗号化される前の前記セグメントの前記ストリームデータに対して、前記セグメントの前記ストリームデータの暗号化若しくは復号に用いられる鍵情報を用いてハッシュ値を生成し、生成した前記ハッシュ値を前記検証コードとすることができる。
 イベントメッセージを格納するイベントメッセージボックスを生成し、生成した前記イベントメッセージボックスに、前記検証コード生成部により生成された前記検証コードを格納するイベントメッセージボックス生成部をさらに備え、前記検証コード付加部は、前記イベントメッセージボックス生成部により生成された、前記検証コードが格納された前記イベントメッセージボックスを、前記ストリームデータに付加することができる。
 前記イベントメッセージボックス生成部は、さらに、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を、前記イベントメッセージボックスに格納することができる。
 前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成するDRMルール記述生成部と、前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加するDRMルール記述付加部とをさらに備えることができる。
 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、トリック再生の禁止および禁止区間指定、並びに、ジャンプイン再生の禁止、禁止区間指定、および再生開始位置指定を含むようにすることができる。
 前記再生制御の内容を示すDRM(Digital Rights Management)に非依存の形式の共通記述を生成する共通記述生成部と、前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部とをさらに備えることができる。
 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含むようにすることができる。
 本技術の第1の側面の画像処理方法は、また、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、生成された前記検証コードを、前記ストリームデータに付加する画像処理方法である。
 本技術の第2の側面の画像処理装置は、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する生成部と、前記生成部により生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合する照合部と、前記照合部による照合において前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する再生制御部とを備える画像処理装置である。
 本技術の第2の側面の画像処理方法は、また、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合し、前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する画像処理方法である。
 本技術の第3の側面の画像処理装置は、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成する生成部と、前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加する付加部とを備える画像処理装置である。
 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含むようにすることができる。
 前記生成部は、前記DRMルール記述を格納する、前記セグメントの再生制御に関する情報を格納するセグメントプレイバックコントロールインフォメーションボックスを生成することができる。
 前記生成部は、前記セグメントプレイバックコントロールインフォメーションボックスを格納する、前記DRM固有の情報を格納するプロテクションシステムスペシフィックヘッダボックスを生成することができる。
 前記再生制御の内容を示す前記DRMに非依存の形式の共通記述を生成する共通記述生成部と、前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部とをさらに備えることができる。
 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含むようにすることができる。
 本技術の第3の側面の画像処理方法は、また、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成し、生成された前記DRMルール記述を、前記ストリームデータに付加する画像処理方法である。
 本技術の第4の側面の画像処理装置は、画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得する取得部と、前記取得部により取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号する復号部と、前記復号部により復号された前記セグメントの前記ストリームデータの再生を制御する再生制御部とを備える画像処理装置である。
 本技術の第4の側面の画像処理方法は、また、画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得し、取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号し、復号された前記セグメントの前記ストリームデータの再生を制御する画像処理方法である。
 本技術の第1の側面の画像処理装置および方法においては、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、そのセグメントのストリームデータの検証コードが生成され、生成された検証コードが、ストリームデータに付加される。
 本技術の第2の側面の画像処理装置および方法においては、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、そのセグメントのストリームデータの検証コードが生成され、生成された検証コードと、ストリームデータに付加されている検証コードとが照合され、検証コード同士の一致または不一致に応じて、そのセグメント若しくは後続のセグメントまたはその両方のストリームデータの再生が制御される。
 本技術の第3の側面の画像処理装置および方法においては、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、その再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述が生成され、生成されたDRMルール記述が、ストリームデータに付加される。
 本技術の第4の側面の画像処理装置および方法においては、画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述が取得され、取得されたDRMルール記述に基づいて、暗号化されたセグメントのストリームデータが復号され、復号されたセグメントのストリームデータの再生が制御される。
 本開示によれば、画像を処理することができる。特に、コンテンツデータの再生をより確実に制御することができる。
MPDの構成例を示す図である。 MPDの階層構造を説明する図である。 MPDの階層構造を説明する図である。 MPDの階層構造を説明する図である。 コンテンツ再生システムの主な構成例を示す図である。 配信されるデータの例を説明する図である。 コンテンツデータの例を説明する図である。 コンテンツデータの再生制御の例を説明する図である。 オーサリング装置の主な構成例を示すブロック図である。 メディアセグメント生成部の主な構成例を示すブロック図である。 イベントメッセージボックスの主な構成例を説明する図である。 イベントメッセージボックスの主な記述例を説明する図である。 セグメントデータオースコードボックスの主な記述例を示す図である。 プロテクションシステムスペシフィックヘッダボックスの主な構成例を説明する図である。 プロテクションシステムスペシフィックヘッダボックスの主な記述例を説明する図である。 セグメントプレイバックコントロールインフォメーションボックスの主な記述例を説明する図である。 メディアセグメントの主な構成例を示す図である。 MPD生成部の主な構成例を示すブロック図である。 MPDの記述例を示すブロック図である。 メディアセグメント処理の流れの例を説明するフローチャートである。 イベントメッセージボックス生成処理の流れの例を説明するフローチャートである。 MPD処理の流れの例を説明するフローチャートである。 再生クライアントの主な構成例を示すブロック図である。 再生処理の流れの例を説明するフローチャートである。 メディアセグメント復号処理の流れの例を説明するフローチャートである。 メディアセグメント復号処理の流れの例を説明する、図25に続くフローチャートである。 イベントメッセージボックスの他の構成例を説明する図である。 イベントメッセージボックスの他の記述例を説明する図である。 イベントメッセージボックス生成処理の流れの他の例を説明するフローチャートである。 メディアセグメント復号処理の流れの例を説明するフローチャートである。 メディアセグメント復号処理の流れの例を説明する、図30に続くフローチャートである。 配信システムの主な構成例を示すブロック図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(コンテンツ再生システム)
 2.第2の実施の形態(イベントメッセージボックスの他の例)
 3.第3の実施の形態(配信システム)
 4.第4の実施の形態(コンピュータ)
 <1.第1の実施の形態>
  <再生制御>
 近年、インターネット上のストリーミングサービスの基盤技術としてMPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)が普及し始めている。
 このMPEG-DASHにおいて、特定の"ピリオド"または"セグメント"(以下、特定区間とする)に対して、再生クライアントにおけるトリックプレイなどの特定の操作を禁止・抑制することが考えられている。
 例えば、コンテンツ再生に使われるMPD(Media Presentation Description)または別のXML文書として再生時のルールを記述しておき、再生クライアントはそのルールに従う方法が考えられた。しかしながら、通常、MPDは改竄等に対する保護を施されていない。よって、そこに記述されたルールは改変されてしまうおそれがあった。別のXML文書の場合も同様である。これらに対して改竄防止等の対策を施すことはできるが、そのためにはいわゆるDRM(Digital Rights Management)とほぼ同等な枠組み(サービスとクライアント間での認証情報あるいはトラスト・モデルの共有など)が必要となる。また、改竄防止を施した場合を含めて、サービス側が再生クライアントを契約など何らかのかたちでコントロールできる場合以外には、単に”再生メタデータ”として提供されたルールが再生クライアントにおいて遵守される保証がなかった。
 また、例えば、各セグメントをサーバにリクエストする際に使用する”アクセス・トークン”に次のリクエストが有効になる時刻を記載しておき、その時刻以前のリクエストは拒絶する方法が考えられた。”アクセス・トークン”は、一般的に、特定の”コンテンツ”に対するアクセス権の有無を認証するために利用されている。例えば、”広告” 区間のセグメントを取得した次のリクエストのための”アクセス・トークン”は前セグメントの再生時間経過後でなければ有効とならないような時刻を記載しておくことが考えられた(なお、”アクセス・トークン”はサービス毎の仕組みで改竄防止策などが施されていることが一般的である)。しかしながら、この方法の場合、特定区間の再生を担保するためには、個々のクライアントの区間ごとのリクエストに対してそれ以前の区間のリクエストのタイミングに応じた期限を記載した”トークン”を発行することが必要となりサーバ側の処理が煩雑になるおそれがあった。
 ところで、一部のDRM技術ではDRMのルールとしてクライアントにおける特定操作の禁止・抑制のための仕組みを持っている。このDRM技術を利用して再生を制御する方法が考えられた。しかしながら、従来のDRM技術は、1つのファイル(例えばISO base media file formatのファイル)からなるコンテンツ内の区間に関する再生ルールの適用にとどまっており、複数のストリームデータを組み合わせて1つのコンテンツとして再生することができるMPEG-DASHにこのようなDRM技術を単純に適用して正確な再生制御を行うことは困難であった。
 なお、DRMルールとしてこのような”再生制御ルール”を運用することの利点は、DRMの技術的な仕組みを利用して再生をより実効的にコントロールできるというだけでなく、DRM技術のライセンス契約に紐づいたコンプライアンス・ルールとして、そのDRM機能を組み込んだ再生クライアント(機器またはアプリケーション)全体の挙動をエンフォースできることである。
  <MPD>
 まず、MPEG-DASHにおいて再生に用いられるMPDについて説明する。MPDは、例えば図1に示されるような構成を有する。MPDの解析(パース)においては、再生クライアントは、MPD(図1のMedia Presentation)のピリオド(Period)に含まれるリプレゼンテーション(Representation)の属性から最適なものを選択する。
 再生クライアントは、選択したリプレゼンテーション(Representation)の先頭のセグメント(Segment)を読んでイニシャライズセグメント(Initialization Segment)を取得し、処理する。続いて、再生クライアントは、後続のセグメント(Segment)を取得し、再生する。
 なお、MPDにおける、ピリオド(Period)、リプレゼンテーション(Representation)、およびセグメント(Segment)の関係は、図2のようになる。つまり、1つのメディアコンテンツは、時間方向のデータ単位であるピリオド(Period)毎に管理することができ、各ピリオド(Period)は、時間方向のデータ単位であるセグメント(Segment)毎に管理することができる。また、各ピリオド(Period)について、ビットレート等の属性の異なる複数のリプレゼンテーション(Representation)を構成することができる。
 したがって、このMPDのファイル(MPDファイルとも称する)は、ピリオド(Period)以下において、図3に示されるような階層構造を有する。また、このMPDの構造を時間軸上に並べると図4の例のようになる。図4の例から明らかなように、同一のセグメント(Segment)に対して複数のリプレゼンテーション(Representation)が存在している。再生クライアントは、これらのうちのいずれかを適応的に選択することにより、通信環境や自己のデコード能力などに応じて適切なストリームデータを取得し、再生することができる。
  <コンテンツ再生システム>
 図5は、本技術を適用した画像処理システムの一実施の形態であるコンテンツ再生システムの主な構成例を示すブロック図である。図5に示されるコンテンツ再生システム100は、MPEG-DASHを用いて、画像や音声等からなる(少なくとも画像を含む)コンテンツのストリーミング配信やストリーミング再生を行うシステムである。ストリーミングとは、伝送されたデータを順次再生することにより、伝送と再生とを並行して行う方法であり、ストリーミング配信は、そのようなストリーミング方式に対応した配信方法であり、ストリーミング再生は、そのようなストリーミング再生に対応した再生方法である。
 コンテンツのデータ(コンテンツデータ)は、少なくとも画像データを含む。コンテンツデータが、音声データや制御データ等その他のデータを含んでいてもよい。つまり、コンテンツデータは、所謂マルチメディアデータであってもよい。このコンテンツデータは、上述したようにストリーミング配信(ストリーミング再生)される。つまり、このコンテンツデータは、ストリーミング方式に対応したデータである。このようなストリーミング方式に対応した(ストリーミング配信(再生)用の)コンテンツデータをストリームデータとも称する。
 なお、コンテンツ再生システム100が、コンテンツのダウンロード配信やダウンロード再生を行うようにしてもよい。ダウンロード再生とは、全データの伝送(ダウンロード)後、再生を行う再生方法であり、ダウンロード配信とは、そのようなダウンロード再生に対応した配信方法(つまり、再生を考慮せずに全データを伝送する方法)である。つまり、本技術は、ダウンロード配信やダウンロード再生を行うシステムにも適用することができる。なお、このようなダウンロード方式に対応した(ダウンロード配信(再生)用の)コンテンツデータをダウンロードデータとも称する。
 以下においては、このコンテンツデータにおいて、画像データが符号化されている場合について説明するが、画像データは符号化されていてもよいし、符号化されていなくてもよい。
 図5に示されるように、コンテンツ再生システム100は、オーサリング装置101-1乃至オーサリング装置101-3、並びに、コンテンツサーバ102-1乃至コンテンツサーバ102-3を有する。
 オーサリング装置101-1乃至オーサリング装置101-3は、コンテンツ再生システム100で配信、再生されるコンテンツデータを生成する装置である。以下において、オーサリング装置101-1乃至オーサリング装置101-3を互いに区別して説明する必要がない場合、オーサリング装置101と称する。オーサリング装置101は、後述するDRMサーバ105が提供するDRM技術を利用してコンテンツデータを生成する。オーサリング装置101-1は、生成したコンテンツデータをコンテンツサーバ102-1に供給する。オーサリング装置101-2は、生成したコンテンツデータをコンテンツサーバ102-2に供給する。オーサリング装置101-3は、生成したコンテンツデータをコンテンツサーバ102-3に供給する。
 コンテンツサーバ102-1乃至コンテンツサーバ102-3は、コンテンツデータの配信(供給)を行う。コンテンツサーバ102-1は、オーサリング装置101-1が生成したコンテンツデータを配信する。例えば、コンテンツサーバ102-1は、「広告」のコンテンツデータをストリーミング配信する。コンテンツサーバ102-2は、オーサリング装置101-2が生成したコンテンツデータを配信する。例えば、コンテンツサーバ102-2は、「警告」や「本編A」のコンテンツデータをストリーミング配信する。コンテンツサーバ102-3は、オーサリング装置101-3が生成したコンテンツデータを配信する。例えば、コンテンツサーバ102-1は、「本編B」のコンテンツデータをストリーミング配信する。以下において、コンテンツサーバ102-1乃至コンテンツサーバ102-3を互いに区別して説明する必要が無い場合、コンテンツサーバ102と称する。
 なお、図5においては、オーサリング装置101およびコンテンツサーバ102がそれぞれ3つずつ示されているが、コンテンツ再生システム100は、任意の数のオーサリング装置101およびコンテンツサーバ102を有することができる。
 また、コンテンツ再生システム100は、中間サーバ103、再生クライアント104、およびDRMサーバ105を有する。
 中間サーバ103は、コンテンツサーバ102が配信するコンテンツを適宜組み合わせて新たなコンテンツとしてストリーミング配信する。
 再生クライアント104は、中間サーバ103が配信するコンテンツデータを取得し、ストリーミング再生する。また、再生クライアント104は、必要に応じてDRMサーバ105が提供するDRM技術を利用して再生を行う。なお、再生クライアント104が、コンテンツサーバ102が配信するコンテンツを再生することができるようにしてもよい。
 DRMサーバ105は、コンテンツ再生システム100の他の装置(例えば、オーサリング装置101や再生クライアント104)にDRM技術を提供する。例えば、DRMサーバ105は、DRM技術として、著作権保護等のための任意の情報を提供する。例えば、DRMサーバ105は、データの暗号化・復号やデータの照合・通信相手認証等に用いる情報(例えば鍵情報等)を提供する。DRMサーバ105は、任意の装置に対してこのようなDRM技術の提供を行うことができる。
 図5においては、中間サーバ103、再生クライアント104、およびDRMサーバ105がそれぞれ1つずつ示されているが、コンテンツ再生システム100は、これらの装置を任意の数だけ有することができる。
  <コンテンツデータ>
 次に、コンテンツ再生システム100において配信、再生されるコンテンツデータについて説明する。コンテンツデータは、メディアセグメントとMPDよりなる。メディアセグメントは、画像データ(若しくはマルチメディアデータ)を含むセグメント単位のデータである。つまり、メディアセグメントには、再生されるデータが含まれる(換言するにメディアセグメントは、再生されるデータである)。MPDは、メディアセグメントの再生を制御する制御情報(ドキュメント)である。MPDは、メディアセグメントと独立したデータであり、任意の数のメディアセグメントの再生を制御することができる。例えば、MPDを用いることにより、複数のメディアセグメントを1つのコンテンツとして提供することが可能になる。
 コンテンツサーバ102-1は、任意の数のメディアセグメント121-1と、それらのメディアセグメント121-1の再生を制御する任意の数のMPD122-1とを、コンテンツデータとして提供する。つまり、メディアセグメント121-1は、「広告」の画像データ(若しくはマルチメディアデータ)を含む。そしてMPD122-1は、この「広告」の画像データ(若しくはマルチメディアデータ)を再生する制御情報を含む。これらのコンテンツデータは、データベース111-1に記憶され、管理される。このデータベース111-1は、コンテンツサーバ102-1に内蔵されていてもよいし、コンテンツサーバ102-1とは別の装置として構成されるようにしてもよい。
 コンテンツサーバ102-2は、任意の数のメディアセグメント121-2と、それらのメディアセグメント121-2の再生を制御する任意の数のMPD122-2とを、コンテンツデータとして提供する。つまり、メディアセグメント121-2は、「警告」や「本編A」の画像データ(若しくはマルチメディアデータ)を含む。そしてMPD122-2は、この「警告」や「本編A」の画像データ(若しくはマルチメディアデータ)を再生する制御情報を含む。これらのコンテンツデータは、データベース111-2に記憶され、管理される。このデータベース111-2は、コンテンツサーバ102-2に内蔵されていてもよいし、コンテンツサーバ102-2とは別の装置として構成されるようにしてもよい。
 コンテンツサーバ102-3は、任意の数のメディアセグメント121-3と、それらのメディアセグメント121-3の再生を制御する任意の数のMPD122-3とを、コンテンツデータとして提供する。つまり、メディアセグメント121-3は、「本編B」の画像データ(若しくはマルチメディアデータ)を含む。そしてMPD122-3は、この「本編B」の画像データ(若しくはマルチメディアデータ)を再生する制御情報を含む。これらのコンテンツデータは、データベース111-3に記憶され、管理される。このデータベース111-3は、コンテンツサーバ102-3に内蔵されていてもよいし、コンテンツサーバ102-3とは別の装置として構成されるようにしてもよい。
 以下において、データベース111-1乃至データベース111-3を互いに区別して説明する必要が無い場合、データベース111と称する。また、メディアセグメント121-1乃至メディアセグメント121-3を互いに区別して説明する必要が無い場合、メディアセグメント121と称する。さらに、MPD122-1乃至MPD122-3を互いに区別して説明する必要が無い場合、MPD122と称する。
 再生クライアント104は、MPD122を取得して解析し、そのMPD122の記述に応じたメディアセグメント121を取得し、MPD122の記述に応じた方法でそのメディアセグメント121を再生する。また、再生クライアント104は、そのメディアセグメント121を取得して再生する際に、必要に応じて、DRMサーバ105からDRMに関する情報を取得して利用する。例えば、再生クライアント104は、DRMサーバ105から復号鍵を取得し、その復号鍵を用いてメディアセグメント121の暗号化されたデータを復号する。
 中間サーバ103は、コンテンツサーバ102からMPD122を取得し、単数若しくは複数のMPD122を編集して新たなMPD(合成MPD123)を生成する。つまり、中間サーバ103は、既存のコンテンツ(MPD122)を編集して合成MPD123を生成し、それを新たなコンテンツとして再生クライアント104に提供する。なお、中間サーバ103の利用者(管理者若しくは運営者)は、コンテンツサーバ102の利用者(管理者若しくは運営者)と異なっていてもよいし、互いに同一であってもよい。
 また、中間サーバ103が処理するデータはMPD122のみであり、メディアセグメント121は処理しない。つまり、再生クライアント104は、合成MPD123に基づいて再生を行う場合、再生するメディアセグメント121を、コンテンツサーバ102(データベース111)から取得する。この場合も、再生クライアント104は、メディアセグメント121を取得して再生する際に、必要に応じて、DRMサーバ105からDRMに関する情報を取得して利用する。
 上述したように中間サーバ103は、既存のMPD122を編集(例えば複数のMPD122を合成)することにより、新たなコンテンツとしてメディアセグメント121を再生させるようなMPD(合成MPD123)を生成する。例えば、中間サーバ103は、各コンテンツサーバ102から取得したMPD122から図7に示されるようなコンテンツとしてメディアセグメント121を再生させるような合成MPD123を生成する。
 図7において図中左から右に向かう方向が時系列の方向である。例えば、予め定められた所定の速度(通常速度)でメディアセグメント121を再生する通常再生の場合、図7の例のコンテンツ131は、時系列に沿って(図中左から右に向かう方向に)、通常速度で再生される。つまり、単数若しくは複数の「広告」のメディアセグメント121からなるピリオド1(Period-1)、単数若しくは複数の「警告」のメディアセグメント121からなるピリオド2(Period-2)、単数若しくは複数の「本編A」のメディアセグメント121からなるピリオド3(Period-3)、単数若しくは複数の「広告」のメディアセグメント121からなるピリオド4(Period-4)、単数若しくは複数の「本編B」のメディアセグメント121からなるピリオド5(Period-5)が、順次再生される。
 ここで、ピリオド1(Period-1)は、「広告」の画像を表示する区間(範囲)である。つまり、ピリオド1(Period-1)は、「広告」のメディアセグメント121-1が再生される区間である。また、ピリオド2(Period-2)は、「警告」の画像を表示する区間(範囲)である。つまり、ピリオド2(Period-2)は、「警告」のメディアセグメント121-2が再生される区間である。さらに、ピリオド3(Period-3)は、「本編A」の画像を表示する区間(範囲)である。つまり、ピリオド3(Period-3)は、「本編A」のメディアセグメント121-2が再生される区間である。また、ピリオド4(Period-4)は、「広告」の画像を表示する区間(範囲)である。つまり、ピリオド4(Period-4)は、「広告」のメディアセグメント121-1が再生される区間である。さらに、ピリオド5(Period-5)は、「本編B」の画像を表示する区間(範囲)である。つまり、ピリオド5(Period-5)は、「本編B」のメディアセグメント121-3が再生される区間である。
  <再生制御>
 ここで、「広告」のピリオド1(Period-1)およびピリオド4(Period-4)、並びに、「警告」のピリオド2(Period-2)等は、コンテンツ131の視聴者に視聴させたい区間である。したがって、これらの区間には、図7の例のように、「早送り禁止」、「スキップ(Skip)禁止」、「途中からの再生禁止」等の再生制御が行われるようにしてもよい。
 ここで、「再生制御」は、再生方法を制御するものであればどのような制御であってもよい。例えば、所定の再生方法を禁止若しくは抑制するもの(禁止若しくは抑制する再生方法を設定するもの)であってもよい。換言するに、再生制御が、所定の再生方法を許可若しくは推奨するもの(許可若しくは推奨する再生方法を設定するもの)であってもよい。この所定の再生方法は任意であるが、例えば、データを時系列順に所定の速度で再生する通常再生以外の再生方法であってもよい。
 例えば、再生制御が、通常再生よりも高速に再生する早送り再生、時系列と逆方向に再生する巻き戻し再生(逆再生)、通常再生よりも低速に再生するスロー再生、または一時停止等の所謂トリックプレイ(トリック再生とも称する)を禁止するものであってもよい(No Trick Play)。なお、例えば、「No Fast Forward」、「No Rewind」、「No Fast Rewind」、「No Slow Forward」、「No Slow Reverse」等のように、トリックプレイの各再生方法を個別に制御(例えば禁止)するようにしてもよい。
 また、例えば、再生制御が、一部の区間(範囲)を飛ばして再生するスキップ再生を禁止するものであってもよい(No Skip)。さらに、例えば、再生制御が、当該区間(範囲)よりも事前に再生が必要な区間(範囲)を指定するものであってもよい(Only After)。また、例えば、再生制御が、所定の区間(範囲)の途中から再生を開始するジャンプイン再生を禁止するものであってもよい(No Jump-In)。例えば、設定された区間の途中からの再生開始が指示された場合(ランダムアクセス)、その区間の最初や区間外の特定位置等から再生が開始されるように制御される。
 さらに、例えば、制御する区間(範囲)の指定、再生開始位置(ジャンプ先)の指定、許可や禁止の指定、パラメータの指定等、当該再生制御に関係するあらゆる制御がこの再生制御に含まれるようにしてもよい。
 また、再生制御が、色や画像サイズ等の再生した画像の表示に関する制御を含んでいてもよいし、画像に重畳されるコンピュータグラフィック画像(例えば字幕等)に関する制御を含んでいてもよいし、音声などの画像以外に対する制御を含んでいてもよい。もちろん、制御する項目の数は任意であり、上述した項目の内の(もちろん上述していない項目を含んでもよい)複数の項目を制御するようにしてもよい。
 図7のような再生制御を行う場合、例えば図8のように、ピリオド1(Period-1)、ピリオド2(Period-2)、およびピリオド4(Period-4)に対して、トリックプレイの禁止(No Trick)とスキップ再生の禁止(No Skip)とを行えばよい。また、オンリーアフタ(Only after)の制御として、ピリオド2(Period-2)に対して、ピリオド1(Period-1)を指定し、ピリオド3(Period-3)およびピリオド4(Period-4)に対して、ピリオド1(Period-1)とピリオド2(Period-2)とを指定し、ピリオド5(Period-5)に対して、ピリオド4(Period-4)を指定すればよい。
 このような再生制御は、データ配信側の要求に基づいて行われる。データ再生側は、その再生制御に従った再生を行う。例えば、図5のコンテンツ再生システム100の場合、このような再生制御は、オーサリング装置101や中間サーバ103により設定される。例えば、オーサリング装置101は、再生制御を行う場合、自身が生成するメディアセグメント121若しくはMPD122またはその両方に対して再生制御に関する情報をセットする。また、例えば、中間サーバ103は、再生制御を行う場合、自身が生成する合成MPD123に対して再生制御に関する情報をセットする。なお、オーサリング装置101が生成したメディアセグメント121若しくはMPD122またはその両方に対して、コンテンツサーバ102が、再生制御に関する情報をセットするようにしてもよい。また、図5において図示していない他の装置により、再生制御に関する情報がセットされるようにしてもよい。
 以下において、オーサリング装置101が再生制御を行う場合と、中間サーバ103が再生制御を行う場合とについてそれぞれ説明する。最初に、オーサリング装置101が再生制御を行う場合について説明する。
  <オーサリング装置>
 図9は、オーサリング装置101の主な構成例を示すブロック図である。オーサリング装置101は、コンテンツサーバ102が配信するコンテンツデータ(メディアセグメント121若しくはMPD122またはそれらの両方)を生成することができる。そこで、オーサリング装置101は、例えば図9に示されるように、メディアセグメント生成部151およびMPD生成部152を有する。
 メディアセグメント生成部151は、メディアセグメント121の生成に関する処理を行う。また、MPD生成部152は、MPD122の生成に関する処理を行う。なお、オーサリング装置101がコンテンツデータとしてメディアセグメント121のみを生成する場合、MPD生成部152を省略するようにしてもよい。また、オーサリング装置101がコンテンツデータとしてMPD122のみを生成する場合、メディアセグメント生成部151を省略するようにしてもよい。
  <メディアセグメント生成部>
 図10は、メディアセグメント生成部151の主な構成例を示すブロック図である。図10に示されるように、メディアセグメント生成部151は、ルール入力部161、DASHフォーマットデータ生成部162、MAC(Message Authentication Code)値生成部163、イベントメッセージデータ生成部164、イベントメッセージデータ追加部165、DRMルール記述生成部166、DRMルール記述追加部167、およびメディアセグメント提供部168を有する。
 ルール入力部161は、外部から再生制御に関する情報(再生ルール)を取得する。この再生ルールの入手元は任意である。例えば、ユーザにより入力される再生ルールをソフトウエアのユーザインタフェース(UI)等によって受け付けるようにしてもよいし、再生ルールが記述されたファイルを読み込むようにしてもよい。この再生ルールはどのような形式のデータであってもよい。例えば、再生ルールがXMLで記述されたXMLファイルであってもよい。ルール入力部161は、取得した再生ルールをMAC値生成部163およびDRMルール記述生成部166に供給する。
 DASHフォーマットデータ生成部162は、メディアセグメント121の生成に関する処理を行う。DASHフォーマットデータ生成部162は、生成したメディアセグメント121をMAC値生成部163およびイベントメッセージデータ追加部165に供給する。
 MAC値生成部163は、メディアセグメント121の検証コードを生成する検証コード生成部の一実施の形態である。MAC値生成部163は、ルール入力部161から供給される再生ルールに従って、再生制御を行うメディアセグメント121の検証コード(MAC値)を生成する。MAC値生成部163は、このように生成したMAC値をイベントメッセージデータ生成部164に供給する。
 イベントメッセージデータ生成部164は、MPEG-DASHで動的なイベントメッセージを格納するイベントメッセージボックス('emsg' box)を生成し、生成したイベントメッセージボックスに、MAC値生成部163により生成された検証コード(MAC値)を格納する。イベントメッセージデータ生成部164は、以上のようなイベントメッセージボックス('emsg' box)171を生成すると、それをイベントメッセージデータ追加部165に供給する。
 イベントメッセージデータ追加部165は、検証コード生成部(例えばMAC値生成部163)により生成された検証コード(MAC値)を、ストリームデータに付加する検証コード付加部の一実施の形態である。イベントメッセージデータ追加部165は、MAC値生成部163からイベントメッセージデータ生成部164を介して供給されたイベントメッセージボックス('emsg' box)171(MAC値を含む)を、DASHフォーマットデータ生成部162により生成されたメディアセグメント121の所定の位置に付加する。イベントメッセージデータ追加部165は、イベントメッセージボックス('emsg' box)171を追加したメディアセグメント121をDRMルール記述追加部167に供給する。
 DRMルール記述生成部166は、画像データが符号化されたストリームデータの再生制御を行うセグメントについて、再生制御の内容をDRMのルールとして記述したDRMルール記述を生成する生成部の一実施の形態である。DRMルール記述生成部166は、ルール入力部161から供給される再生ルールに従って、再生制御の内容をDRMのルールとして記述したDRMルール記述を生成する。DRMルール記述生成部166は、生成したDRMルール記述をDRMルール記述追加部167に供給する。
 DRMルール記述追加部167は、DRMルール記述生成部166から供給されたDRMルール記述を、DASHフォーマットデータ生成部162により生成されたメディアセグメント121の所定の位置に付加する。DRMルール記述追加部167は、DRMルール記述を追加したメディアセグメント121をメディアセグメント提供部168に供給する。
 メディアセグメント提供部168は、供給されたメディアセグメントをコンテンツサーバ102に供給する。
  <MAC値>
 次に、MAC値生成部163により生成される検証コード(MAC値)について説明する。この検証コード(MAC値)は、メディアセグメント121を再生する際に、正しいデータを取得し、それを復号したことを検証することができるものであれば、どのような情報であってもよい。例えば、MAC値生成部163は、再生制御対象のメディアセグメント121(そのメディアセグメント121に含まれる、画像データやマルチメディアデータの符号化データ)をハッシュ計算し、得られたハッシュ値を検証コード(MAC値)としてもよい。その際、MAC値生成部163が、例えば、再生制御対象のメディアセグメント121(符号化データ)の暗号化若しくは復号に用いられる鍵情報(暗号鍵若しくは復号鍵)を用いて、再生制御対象のメディアセグメント121(暗号化される前の(平文の)符号化データ)のハッシュ値(すなわちMAC値)を求めるようにしてもよい。この鍵情報は、例えば、DRMサーバ105から供給されるようにしてもよい。
 なお、MAC値生成部163は、セグメント以外のデータ単位毎に検証コード(MAC値)を生成するようにしてもよい。つまり、MAC値生成部163は、検証コード(MAC値)を、任意のデータ単位毎に生成することができる。例えば、ピリオド単位であってもよいし、リプレゼンテーション単位であってもよいし、フレーム単位であってもよいし、フレーム内のブロック(部分領域)単位であってもよいし、これら以外のデータ単位であってもよい。
  <イベントメッセージボックス>
 次に、イベントメッセージデータ生成部164により生成されるイベントメッセージボックス(Event Message Box('emsg' box))について説明する。例えば、イベントメッセージデータ生成部164は、図11に示されるように、イベントメッセージボックス('emsg' box)171を生成し、さらに、セグメントデータオースコードボックス('sdac' box)172を生成する。そして、イベントメッセージデータ生成部164は、生成したセグメントデータオースコードボックス(Segment Data Auth Code Box('sdac' box))172内に、MAC値に関する情報を格納し、そのセグメントデータオースコードボックス('sdac' box)172を、イベントメッセージボックス('emsg' box)171内に格納する。
 イベントメッセージボックス('emsg' box)171のシンタクスの例(記述例)を、図12のシンタクス181に示す。また、このシンタクス181において使用される各パラメータのセマンティクス(イベントメッセージボックス('emsg' box)171のセマンティクス)の例を、図12のセマンティクス182に示す。セマンティクス182に示されるように、MAC値(すなわち、セグメントデータオースコードボックス('sdac' box)172)は、”message_data[]”内に格納される。
 セグメントデータオースコードボックス('sdac' box)172のシンタクスの例(記述例)を、図13のシンタクス183に示す。また、このシンタクス183において使用される各パラメータのセマンティクス(セグメントデータオースコードボックス('sdac' box)172のセマンティクス)の例を、図13のセマンティクス184に示す。セマンティクス184に示されるように、このセグメントデータオースコードボックス('sdac' box)172には、MAC値に関する情報として、MAC値が”data”として格納され、MAC値のサイズが"MACsize"として格納され、MAC値算出アルゴリズムのIDが"mac_algorithm_id"として格納される。
 なお、イベントメッセージデータ追加部165は、イベントメッセージボックス('emsg' box)171(MAC値を含む)を、任意のセグメントのメディアセグメント121に付加することができる。つまり、イベントメッセージデータ追加部165は、MAC値を、そのMAC値に対応するセグメントのメディアセグメント121に付加することもできるし、他のセグメントのメディアセグメント121に付加することもできる。
 以上のように検証コードを生成して、メディアセグメント121に付加することにより、再生クライアント104が、そのメディアセグメント121の再生の際に、その検証コードを用いて処理対象のデータが正しいデータであるか否かを検証するようにし、そのデータが正しいデータである場合のみ再生可能とすることができる。換言するに、データの配信側(図5のコンテンツ再生システム100の場合、オーサリング装置101やコンテンツサーバ102)が、所定の再生タイミングにおける「正しいデータ」を定義することができる。つまり、例えば、データの配信側が、データの再生順を制御することができる。
 例えば、DVDのような独立したコンテンツの場合、制御情報等によって再生ルールを設けることにより再生側を制御することは容易である。これに対してMPEG-DASHの場合、複数のメディアセグメントが組み合わされてコンテンツが形成される。そして、その組み合わせはMPD等によって自由に設定することができる。換言するに、MPDは再生クライアント104において変更可能であるので、単純に再生ルールをMPDに記述しても再生クライアント104でそのルールが遵守されることが保証されない。仮に、再生クライアント104がMPDを改ざん(変更)しないとしても、中間サーバ103が合成MPD123を生成する際に、オーサリング装置101が作成した再生ルールをMPD122から引き継がない可能性もある。例えば、中間サーバ103の管理者(運営者)とコンテンツサーバ102(オーサリング装置101)の管理者(運営者)とが互いに異なる場合、中間サーバ103の管理者(運営者)が独自に再生ルールを設定してしまう可能性もある。このように、単純にMPDのみで再生ルールを定義する方法では、所望の再生制御の実現の可能性が低減するおそれがあった。
 これに対して、上述したように検証データを用いることにより、例えば、あるセグメントのストリームデータの再生に必要な検証データを得られるセグメントを、オーサリング装置101(コンテンツサーバ102)が指定することができる。つまり、オーサリング装置101(コンテンツサーバ102)が各セグメントの再生順を制御することができる。
 例えば、オーサリング装置101(コンテンツサーバ102)が検証データを設定することにより、再生クライアント104が、時系列に沿って各セグメントを順に再生するようにする(通常再生のみを許可する)ことができる。このとき、例えば、再生クライアント104が早送り再生、巻き戻し再生、スキップ再生等を行うと、一部のデータの再生が省略されるので、正しい検証コードが得られない。したがって検証コードの照合に失敗することとなり、再生に失敗する。
 このように、オーサリング装置101(コンテンツサーバ102)は、より確実に所望の再生制御を実現することができる(コンテンツデータの再生をより確実に制御することができる)。
 なお、この検証コードを用いる制御方法では、厳密には、データの取得や暗号化されたデータの復号等の実行を制御することを保証することはできるが、データの「再生」を制御することは保証できない。つまり、データを実際に再生しなくても、再生クライアント104が検証コードを得ることは可能である。しかしながら、処理の付加や処理時間等の観点から、ストリームデータの取得と復号を行うことはデータを再生することと略同等である。仮に、このデータの再生を省略したとしても、再生クライアント104において得られるメリットは非常に少なく、むしろ、不要な処理を行うことになるデメリットは大きい。したがって、このような再生制御も、実質的に再生を制御しているといえる。なお、ストリームデータの配信タイミングを再生タイミングにより近づけるように制御することにより、再生制御の確実性をより増大させることができる。例えば、通常再生のみを許可する場合、配信タイミングをこの通常再生の再生タイミングに近づけるようにすることにより、その他の再生(トリック再生やスキップ再生等)をより困難にすることができる。
 なお、このような再生制御は、ピリオド内で閉じて行うようにすることが一般的であるが、ピリオド間で継承するようにしてももちろんよい。また、セグメント内の一部の区間に対して再生制御を行う(すなわち検証コードを割り当てる)ようにしてももちろんよい。換言するに、セグメント内を複数の区間に分け、各区間について再生制御を行う(それぞれ検証コードを割り当てる)ようにすることもできる。
 なお、この検証コード(MAC値)を生成するのに、DRMの鍵情報を利用することにより、再生クライアント104においてその鍵情報を容易かつ安全に取得することができるので、検証コードの照合をより容易かつ安全に行うことができる。
  <DRMルール記述>
 次に、DRMルール記述生成部166により生成されるDRMルール記述について説明する。DRMルール記述生成部166は、再生ルールに従って利用するDRM固有のルール記述(DRMルール記述)を生成し、これをCommon EncryptionでDRM固有情報を挿入するために用いられるプロテクションシステムスペシフィックヘッダボックス(Protection System Specific Header Box('pssh' box))に格納する。
 例えば、DRMルール記述生成部166は、図14に示されるように、プロテクションシステムスペシフィックヘッダボックス('pssh' box)191を生成し、さらに、セグメントプレイバックコントロールインフォメーションボックス(Segment Playback Control Information Box('spci' box))192を生成する。そして、DRMルール記述生成部166は、生成したセグメントプレイバックコントロールインフォメーションボックス('spci' box)192内に、DRMルール記述を格納し、そのセグメントプレイバックコントロールインフォメーションボックス('spci' box)192を、プロテクションシステムスペシフィックヘッダボックス('pssh' box)191内に格納する。
 プロテクションシステムスペシフィックヘッダボックス('pssh' box)191のシンタクスの例(記述例)を、図15のシンタクス201に示す。また、このシンタクス201において使用される各パラメータのセマンティクス(プロテクションシステムスペシフィックヘッダボックス('pssh' box)191のセマンティクス)の例を、図15のセマンティクス202に示す。セマンティクス202に示されるように、例えばセグメントプレイバックコントロールインフォメーションボックス('spci' box)192を含むDRMの固有の情報が"Data"に内に格納される。
 セグメントプレイバックコントロールインフォメーションボックス('spci' box)192のシンタクスの例(記述例)を、図16のシンタクス203に示す。なお、このシンタクス203において、各パラメータのセマンティクスは、例えば以下のようになる。
 rule_id: 適用されるルール識別子
    1: No skip
    2: Only After
    3: No Trick Play
    4: No Jump-In
 range_s, range_e: movie fragment内でNo skipが適用される開始/終了sampleナンバ
 play_before_count: Only Afterの対象となるPeriodの数
 pb_period_id: Only afterの対象となるperiodの識別子
 Pb_segment_s, pb_segment_e:Only after対象Period内の対象セグメント開始/終了movie fragment番号
 nt_range_count: セグメント(movie fragment)内でNo Skipの対象となる範囲の数
 nt_range_s, nt_range_e: No Trick Play 対象範囲の開始/終了sample番号
 nj_range_s, nj_range_e: No Jump-In 対象範囲の開始/終了sample番号
 goto_segment: Jump-Inされたときに再生開始すべきmovie fragment番号
 DRMルール記述追加部167は、以上のようなDRMルール記述を格納したプロテクションシステムスペシフィックヘッダボックス('pssh' box)191をメディアセグメント121に付加する。なお、DRMルール記述追加部167は、任意のセグメントのメディアセグメント121に、任意のセグメントのプロテクションシステムスペシフィックヘッダボックス('pssh' box)191を付加することができる。また、図16においては、4つの再生方法について再生ルールが定義されているが、再生制御可能な再生方法は任意であり、この例に限定されない。例えば、このDRMルール記述においては、図7や図8を参照して説明したような各種再生方法の制御を定義することができる。
 図16に示されるように、各再生方法の詳細(適応区間(範囲)指定やジャンプ先指定等)をDRMルール記述として設定することができる。したがって、より多様な再生制御を実現することができるだけでなく、セグメント内におけるより詳細な制御も実現することができる。なお、上述したイベントメッセージデータ(検証データ(MAC値))と併用することにより、さらに再生するデータの検証を行うことができるようになるので、DRMルール記述を用いた再生制御のみの場合と比べて、コンテンツデータの再生をより確実に制御することができるようになる。換言するに、上述した検証データ(MAC値)を用いた再生制御のみの場合と比べて、より多様かつ詳細な再生制御を実現することができる。
  <メディアセグメント>
 以上のように、イベントメッセージデータとDRMルール記述が付加されたメディアセグメント121は、例えば、図17に示されるような構成となる。図17に示されるように、セグメントは、セグメントタイプボックス(Segment Type Box('styp'))211と、moof box212およびmdat box213からなるムービーフラグメント(Movie Fragment)とを有する。セグメントタイプボックス('styp')211においては、'msdh' brandでMPEG-DASH Segmentであることを表すことができる。mdat box213には、当該セグメントの画像データ(符号化データ)等が格納されている。
 そして、イベントメッセージデータ追加部165は、イベントメッセージボックス('emsg' box)171を、moof box212の前に付加する。また、DRMルール記述追加部167は、プロテクションシステムスペシフィックヘッダボックス('pssh' box)191を、moof box212内に付加する。
 メディアセグメント提供部168は、このような構成のメディアセグメント121をコンテンツサーバ102に供給する。
  <MPDによる再生制御>
 さらに、MPDを用いて再生制御を行うことができるようにしてもよい。図18は、MPD生成部152の主な構成例を示すブロック図である。図18に示されるように、MPD生成部152は、ルール入力部261、DASHフォーマットデータ生成部262、共通記述生成部263、共通記述追加部264、DRMルール変換部265、DRM固有記述生成部266、DRM固有記述追加部267、およびMPD提供部268を有する。
 ルール入力部261は、外部から再生制御に関する情報(再生ルール)を取得する。この再生ルールの入手元は任意である。例えば、ユーザにより入力される再生ルールをソフトウエアのユーザインタフェース(UI)等によって受け付けるようにしてもよいし、再生ルールが記述されたファイルを読み込むようにしてもよい。この再生ルールはどのような形式のデータであってもよい。例えば、再生ルールがXMLで記述されたXMLファイルであってもよい。ルール入力部261は、取得した再生ルールを共通記述生成部263およびDRMルール変換部265に供給する。
 DASHフォーマットデータ生成部262は、MPD122の生成に関する処理を行う。DASHフォーマットデータ生成部262は、生成したMPD122を共通記述追加部264に供給する。
 共通記述生成部263は、ルール入力部161から供給される再生ルール(すなわち、再生制御の内容)を示す、DRMに依存しない共通形式の記述(共通記述)を生成する。共通記述生成部263は、生成した共通記述を共通記述追加部264に供給する。
 共通記述追加部264は、DASHフォーマットデータ生成部262から供給されるMPD122の所定の位置に、共通記述生成部263から供給される共通記述を付加する。共通記述追加部264は、共通記述を追加したMPD122をDRM固有記述追加部267に供給する。
 DRMルール変換部265は、ルール入力部161から供給される再生ルール(すなわち、再生制御の内容)をDRM固有の形式に変換する。DRMルール変換部265は、DRM固有の形式に変換された再生ルールをDRM固有記述生成部266に供給する。
 DRM固有記述生成部266は、供給された再生ルール(DRM固有のフォーマット)に基づいて、その再生ルール(すなわち、再生制御の内容)を示す、DRM固有の形式の記述(DRM固有記述)を生成する。DRM固有記述生成部266は、生成したDRM固有記述をDRM固有記述追加部267に供給する。
 DRM固有記述追加部267は、D共通記述追加部264から供給されるMPD122(共通記述が追加されたMPD122)の所定の位置に、DRM固有記述生成部266から供給されるDRM固有記述を付加する。DRM固有記述追加部267は、DRM固有記述を追加したMPD122をMPD提供部268に供給する。
 MPD提供部268は、供給されたMPD122(共通記述若しくはDRM固有記述またはその両方が付加されたMPD122)をコンテンツサーバ102に供給する。
  <共通記述とDRM固有記述>
 図19に共通記述の例を示す。図19の例の場合、共通記述271として、再生ルールが、<playbackControl>タグを用いてXML文書で記述されている。共通記述追加部264は、このような共通記述271を、MPD122の所定の位置に付加する。
 この共通記述271は、図19に示されるように、複数のピリオドについての再生ルールを定義することができる。つまり、互いに異なるDRMを利用した複数のピリオドについての再生ルールを定義することも可能である。また、MPD122は保護されておらず、例えば中間サーバ103等において変更することもできる。このように、MPD122に記述される再生ルールは、より多様な環境下で利用されるので、DRMに依存しない形式で記述することにより、この記述の汎用性を向上させることができる。
 なお、DRM固有の形式で再生ルールを定義したい場合は、DRMルール変換部265乃至DRM固有記述追加部267を用いてDRM固有記述を生成してMPD122に付加すればよい。換言するに、DRM固有記述が不要である場合は、DRMルール変換部265乃至DRM固有記述追加部267を省略することができる。同様に、共通記述が不要である場合は、共通記述生成部263および共通記述追加部264を省略することができる。
 また、この共通記述やDRM固有記述において制御方法を定義することができる再生方法は、任意である。例えば、図7や図8を参照して上述したような各種の再生方法に関する制御方法を定義することができる。
 このように、再生ルールを定義する記述をMPD122に付加することにより、例えば複数のピリオドに亘る再生制御等、より広範囲の再生制御が可能になる。また、MPD122の更新(例えば、変更、分割、追加、合成等)に、再生ルールをより容易に対応させることができる。
 つまり、このような再生制御に関する記述のMPD122への追加は、中間サーバ103において行うこともできる。その場合、中間サーバ103が、図18に示されるMPD生成部152の構成を有するようにすればよい。このようにすることにより、中間サーバ103は、例えば、新たに生成する合成MPD123に、その合成MPD123を生成するのに用いたMPD122に付加されていた共通記述やDRM固有記述を付加することができるだけでなく、ルール入力部261により取得された新たな再生ルールについての共通記述やDRM固有記述を付加することもできる。
 もちろん、このような記述のみで再生制御を行うようにすることも可能であるが、上述したようにMPD122は保護されておらず変更が可能である。したがって、上述したDRM技術を利用したメディアセグメント121を用いた再生制御を併用することにより、コンテンツデータの再生をより確実に制御することができる。つまり、このMPDを用いた再生制御は、メディアセグメントのDRMルール記述を用いた再生制御と組み合わせることもできるし、イベントメッセージデータ(検証コード)を用いた再生制御と組み合わせることもできるし、これらの両方と組み合わせることもできるし、これら以外の他の方法と組み合わせることもできる。
  <メディアセグメント処理の流れ>
 次に、各装置で実行される処理の流れについて説明する。最初に、オーサリング装置101のメディアセグメント生成部151により実行されるメディアセグメント処理の流れの例を、図20のフローチャートを参照して説明する。
 メディアセグメント処理が開始されると、ルール入力部161は、ステップS101において、外部より再生ルールを取得する。
 ステップS102において、DRMルール記述生成部166は、ステップS101において取得された再生ルールに基づいて、DRMルール記述を生成し、さらに、セグメントプレイバックコントロールインフォメーションボックス('spci' box)を生成して、DRMルール記述を格納する。
 ステップS103において、DRMルール記述生成部166は、プロテクションシステムスペシフィックヘッダボックス('pssh' box)を生成し、ステップS102において生成されたセグメントプレイバックコントロールインフォメーションボックス('spci' box)を、そのプロテクションシステムスペシフィックヘッダボックス('pssh' box)に格納する。さらに、DRMルール記述追加部167は、そのプロテクションシステムスペシフィックヘッダボックス('pssh' box)を、メディアセグメントに付加する。
 ステップS104において、MAC値生成部163乃至イベントメッセージデータ追加部165は、イベントメッセージボックス('emsg' box)を生成し、それをメディアセグメントに付加する。
 以上のようにして、イベントメッセージボックス('emsg' box)およびプロテクションシステムスペシフィックヘッダボックス('pssh' box)を、メディアセグメントに付加すると、メディアセグメント処理が終了する。
 このように、メディアセグメント処理を行うことにより、オーサリング装置101(コンテンツサーバ102)は、より多様な再生制御を実現することができるだけでなく、セグメント内におけるより詳細な制御も実現することができる。
  <emsg box生成処理の流れ>
 次に、図21のフローチャートを参照して、emsg box生成処理の流れの例を説明する。emsg box生成処理が開始されると、MAC値生成部163は、ステップS121において、対象ピリオド(Period)のセグメント(Segment)と暗号鍵Ksとを取得する。
 ステップS122において、MAC値生成部163は、当該セグメントがスキップ再生が禁止されるNo Skip対象セグメントであるか否かを判定する。No Skip対象セグメントであると判定された場合、処理はステップS123に進む。
 ステップS123において、MAC値生成部163は、データ(Segment('mdat'))が暗号化されているか否かを判定する。データ(Segment('mdat'))が暗号化されていると判定された場合、処理はステップS124に進む。
 ステップS124においてMAC値生成部163は、データ(Segment('mdat'))を復号する。そして、ステップS125においてMAC値生成部163は、当該セグメントのMAC値を算出する。ステップS125の処理が終了すると、処理はステップS128に進む。
 また、ステップS123において、データ(Segment('mdat'))が暗号化されていないと判定された場合、処理はステップS126に進む。
 ステップS126においてMAC値生成部163は、当該セグメントのMAC値を算出する。ステップS127においてMAC値生成部163は、当該セグメントのデータ('mdat')を、DRMサーバ105から取得した暗号鍵Ksを用いて暗号化する。ステップS127の処理が終了すると、処理はステップS128に進む。
 ステップS128においてイベントメッセージデータ生成部164は、セグメントデータオースコードボックス('sdac' box)を生成し、MAC値を格納する。
 ステップS129においてイベントメッセージデータ生成部164は、イベントメッセージボックス('emsg' box)を生成し、セグメントデータオースコードボックス('sdac' box)を格納する。さらに、イベントメッセージデータ追加部165は、そのイベントメッセージボックス('emsg' box)を、メディアセグメントに付加する。ステップS129の処理が終了すると、処理はステップS130に進む。
 また、ステップS122において、当該セグメントがNo Skip対象セグメントでないと判定された場合、処理はステップS130に進む。
 ステップS130において、MAC値生成部163は、当該セグメントが最後のセグメントであるか否かを判定し、未処理のセグメントが存在すると判定された場合、処理をステップS121に戻し、それ以降の処理を繰り返す。このようにステップS121乃至ステップS130の各処理が各セグメントに対して実行され、ステップS130において、全てのセグメントを処理したと判定された場合、emsg box生成処理が終了し、処理は図20に戻る。
 このようにemsg box生成処理を行うことにより、オーサリング装置101(コンテンツサーバ102)は、より確実に所望の再生制御を実現することができる(コンテンツデータの再生をより確実に制御することができる)。
  <MPD処理の流れ>
 次に、図22のフローチャートを参照して、MPD処理の流れの例を説明する。MPD処理が開始されると、ルール入力部261は、ステップS151において、外部より再生ルールを取得する。
 ステップS152において、DASHフォーマットデータ生成部262は、対象ピリオドの下MPDを取得し、ピリオドエレメント(Period element)を抽出する。
 ステップS153において、DASHフォーマットデータ生成部262は、MPDの結合が必要であるか否かを判定する。必要であると判定された場合、処理はステップS154に進む。
 ステップS154において、DASHフォーマットデータ生成部262は、最初のピリオド(Period)であるか否かを判定する。最初のピリオドであると判定された場合、処理はステップS155に進む。
 ステップS155において、DASHフォーマットデータ生成部262は、結合後の出力MPDを生成する。ステップS155の処理が終了すると、処理はステップS156に進む。また、ステップS154において、最初のピリオドでないと判定された場合、処理はステップS156に進む。
 ステップS156において、DASHフォーマットデータ生成部262は、対象ピリオドの記述(Period element)を出力MPDに追加する。ステップS156の処理が終了すると、処理はステップS158に進む。また、ステップS153において、MPD結合が必要でないと判定された場合、処理はステップS157に進む。
 ステップS157において、DASHフォーマットデータ生成部262は、元MPDのコピーを出力MPDとする。ステップS157の処理が終了すると、処理はステップS158に進む。
 ステップS158において、共通記述生成部263は、当該ピリオドの再生ルールを定義する共通記述を生成する。そして、共通記述追加部264は、その共通記述を、出力MPD内に、<Playback Control element>タグを用いて記述する。
 ステップS159において、MPD生成部152は、処理対象のピリオドが最後のピリオドであるか否かを判定する。未処理のピリオドが存在すると判定された場合、処理はステップS152に戻り、それ以降の処理を繰り返す。ステップS152乃至ステップS159の各処理が各ピリオドに対して実行され、ステップS159において、処理対象のピリオドが最後のピリオドであると判定された場合、MPD処理が終了する。
 このようにMPD処理を行うことにより、オーサリング装置101(コンテンツサーバ102)は、より広範囲の再生制御が可能になる。
 なお、中間サーバ103も、同様のMPD処理を行うことができる。つまり、図22のフローチャートは、中間サーバ103によるMPD処理の流れの説明にも適用することができる。したがって、中間サーバ103は、より広範囲の再生制御が可能になる。また、中間サーバ103は、このようにMPD処理を行うことにより、より容易に、MPDの更新に応じて適切な再生制御を行うことができる。例えば、中間サーバ103は、新たに生成する合成MPD123に、その合成MPD123を生成するのに用いたMPD122に付加されていた共通記述やDRM固有記述を付加することができるだけでなく、ルール入力部261により取得された新たな再生ルールについての共通記述やDRM固有記述を付加することもできる。
  <再生クライアント>
 次に、再生側について説明する。図23は、再生クライアント104(図5)の主な構成例を示すブロック図である。図23に示されるように、再生クライアント104は、アプリケーション部411、DASHクライアント部412、再生制御部413、MAC値記憶部414、DRM処理部415、およびメディア再生部416を有する。
 アプリケーション部411は、ユーザインタフェースなどを有し、ユーザからの指示入力を受け付ける。DASHクライアント部412は、メディアセグメントの取得に関する処理を行う。例えば、DASHクライアント部412は、MPDを、中間サーバ103やコンテンツサーバ102等から取得して解釈し、再生するメディアセグメント(Media Segment)を選択し、コンテンツサーバ102等から取得する。
 再生制御部413は、コンテンツデータの再生制御に関する処理を行う。例えば、再生制御部413は、DASHクライアント部412により取得されたメディアセグメントを解析し、コンテンツデータの再生制御を行う。
 MAC値記憶部414は、MAC値の照合結果等、MAC値に関する情報を記憶する。DRM処理部415は、DRMに関する処理を行う。例えば、DRM処理部415は、再生に必要なDRMライセンスの取得や暗号化されたメディアセグメントの復号処理などを行う。メディア制御部416は、DRM復号後のメディアに対して復号、表示・出力などを行う。
 DRMの技術ライセンスではこれら全体でDRMで定められたルールを順守することが求められるが、その実装の堅牢性に求められる強度は、アプリケーション部411乃至再生制御部413の各処理部の処理についてはDRM処理部415やメディア再生部416と比較してゆるくなっている。例えば、アプリケーション部411または DASH クライアント部412が再生ルールを迂回するように改変されて本来禁止されている操作が行われた場合でも、DRM処理部415によってそれを検出または迂回の実効性を下げることができる。
  <再生処理の流れ>
 次に、再生クライアント104により実行される処理の流れの例を説明する。最初に、再生クライアント104により実行される再生処理の流れの例を、図24のフローチャートを参照して説明する。
 再生処理が開始されると、DASHクライアント部412は、ステップS201において、指定されたMPDを取得する。
 ステップS202において、DASHクライアント部412は、ステップS201において取得したMPDに基づいて、再生するメディアクライアントを取得する。
 ステップS203において、DRM処理部415は、DRM技術により暗号化されたメディアセグメントの復号を行う。
 ステップS204において、再生制御部413は、ステップS203の処理結果に基づいて、メディア再生部416による、ステップS203の処理により復号されたメディアセグメントの再生を制御する。
 ステップS204の処理が終了すると、再生処理が終了する。
  <メディアセグメント復号処理の流れ>
 次に、図25および図26のフローチャートを参照して、図24のステップS203において実行されるメディアセグメント復号処理の流れの例を説明する。
 メディアセグメント復号処理が開始されると、DRM処理部415は、ステップS221において、当該セグメント(Segment)のプロテクションシステムスペシフィックヘッダボックス('pssh' box)より、セグメントプレイバックコントロールインフォメーションボックス('spci' box)を取得する。
 ステップS222において、DRM処理部415は、当該セグメントが所定の区間の途中からの再生を禁止するNo Jump-Inの対象セグメントであるか否かを判定する。No Jump-Inの対象セグメントでないと判定された場合、処理はステップS223に進む。
 ステップS223において、DRM処理部415は、当該セグメントがOnly Afterの対象セグメントであるか否かを判定する。Only Afterの対象セグメントであると判定された場合、処理はステップS224に進む。
 ステップS224において、DRM処理部415は、Only Afterの対象となるピリオド(pb_period_id)の当該セグメントの照合結果をMAC値記憶部414に照会する。ステップS225において、その照合結果が照合OK(照合に成功した)であるか否かを判定する。当該セグメントの照合がOKであると判定された場合、処理はステップS226に進む。
 ステップS226において、DRM処理部415は、当該セグメントがNo skipの対象範囲(range)を含んでいるか否かを判定する。No skipの対象範囲(range)を含んでいると判定された場合、処理はステップS227に進む。
 ステップS227において、DRM処理部415は、暗号化されたデータ(Segment('mdat'))を復号する。また、DRM処理部415は、復号されたデータ(Segment('mdat'))のMAC値を算出する。
 ステップS228において、DRM処理部415は、復号されたデータ(Segment('mdat'))をメディア再生部416に供給する。ステップS228の処理が終了すると処理は図26のステップS241に進む。
 図26のステップS241において、DRM処理部415は、イベントメッセージボックス('emsg' box)より当該セグメントのMAC値を取得する。ステップS242において、DRM処理部415は、ステップS227の処理により復号されたデータ(Segment('mdat'))から算出されたMAC値と、ステップS241の処理によりイベントメッセージボックス('emsg' box)から取得されたMAC値とを照合する。
 ステップS243において、DRM処理部415は、その照合がOKであるか否か(両MAC値が一致したか否か)を判定する。照合がOKである(照合に成功した)と判定された場合、処理はステップS244に進む。
 ステップS244において、MAC値記憶部414は、ステップS243において判定された照合結果を、当該ピリオドの識別情報(Period ID)や当該セグメントの識別情報(Segment ID)とともに、記憶する。ステップS244の処理が終了すると、メディアセグメント復号処理が終了し、処理は図24に戻る。
 また、図26のステップS243において、照合がNGである(照合に失敗した)と判定された場合、処理はステップS245に進む。ステップS245において、DRM処理部415は、再生制御部413に対して処理エラーを通知する。ステップS245の処理が終了すると、メディアセグメント復号処理が終了し、処理は図24に戻る。
 また、図25のステップS222において、当該セグメントがNo Jump-Inの対象セグメントであると判定された場合、処理はステップS229に進む。ステップS229において、DRM処理部415は、再生制御部413に対して、処理エラーと、ジャンプ先(再生開始位置)を指定するgo_to_segment値を再生制御部413に通知する。再生制御部413は、このgo_to_segment値を用いて、Jump-Inに対する再生制御を行う。ステップS229の処理が終了すると、メディアセグメント復号処理が終了し、処理は図24に戻る。
 また、図25のステップS225において、照合結果がNGである(照合に失敗した)と判定された場合、処理はステップS230に進む。ステップS230において、DRM処理部415は、再生制御部413に対して処理エラー通知と、再生条件エラー通知とを行う。ステップS230の処理が終了すると、メディアセグメント復号処理が終了し、処理は図24に戻る。
 また、図25のステップS226において、当該セグメントがNo skipの対象範囲(range)を含んでいないと判定された場合、処理はステップS231に進む。ステップS231において、DRM処理部415は、暗号化されたデータ(Segment('mdat'))を復号する。
 ステップS232において、DRM処理部415は、復号されたデータ(Segment('mdat'))をメディア再生部416に供給する。ステップS232の処理が終了するとメディアセグメント復号処理が終了し、処理は図24に戻る。
 以上のように各処理を実行することにより再生クライアント104は、より確実に、配信側から指定された再生制御に従ってコンテンツデータを再生することができる。また、より多様かつ詳細な再生制御を実現することができる。
 <2.第2の実施の形態>
  <イベントメッセージボックスの他の例>
 なお、セグメントプレイバックコントロールインフォメーションボックス(‘spci') box は、プロテクションシステムスペシフィックヘッダボックス('pssh' box)だけでなく、さらにイベントメッセージボックス('emsg' box)にも格納されるようにしてもよい。イベントメッセージボックス('emsg' box) はもともとサービス・レイヤの処理で 挿入することが想定されている。
 この場合のイベントメッセージボックス('emsg' box)の構成例を図27に示す。図27に示されるように、この場合、イベントメッセージボックス('emsg' box)171には、セグメントデータオースコードボックス('sdac' box)172の他に、セグメントプレイバックコントロールインフォメーションボックス('spci' box)192も格納されている。
 このようにセグメントプレイバックコントロールインフォメーションボックス('spci' box)を、イベントメッセージボックス('emsg' box)に格納する場合、イベントメッセージボックス('emsg' box)に格納されているセグメントプレイバックコントロールインフォメーションボックス('spci' box)の情報が、同一セグメント内のプロテクションシステムスペシフィックヘッダボックス('pssh' box)に格納されているセグメントプレイバックコントロールインフォメーションボックス('spci' box)の情報よりも優先されるようにする。
 つまり、プロテクションシステムスペシフィックヘッダボックス('pssh' box)内のセグメントプレイバックコントロールインフォメーションボックス('spci' box)の情報は、イベントメッセージボックス('emsg' box)内のセグメントプレイバックコントロールインフォメーションボックス('spci' box)の情報により上書きされるようにする。
 このようにすることにより、予め用意されている ピリオド(Period)やセグメント(Segment)を アグリゲーション・サービスなどによって ダイナミックに再構成して 再生クライアントに提供する際に特に有効である。すなわち、‘moof’ box 内の プロテクションシステムスペシフィックヘッダボックス('pssh' box) を書き換えることなく適用するルールを変更することができるようになる。そのため、予め用意されている ’moof’ box内のデータを書き換えるという ISOBMFF 知識を必要とせずに、容易に、ルールの変更を実現することができる。
  <イベントメッセージボックス>
 この場合のイベントメッセージボックス('emsg' box)171のシンタクスの例(記述例)を、図28のシンタクス421に示す。また、このシンタクス421において使用される各パラメータのセマンティクス(イベントメッセージボックス('emsg' box)171のセマンティクス)の例を、図28のセマンティクス422に示す。セマンティクス422に示されるように、この場合、message_dataには、ここにプロテクションシステムスペシフィックヘッダボックス('pssh' box)内のセグメントプレイバックコントロールインフォメーションボックス('spci' box)の情報がもしあれば、それが上書きされる。
  <emsg box生成処理の流れ>
 次に、図29のフローチャートを参照して、この場合のemsg box生成処理の流れの例を説明する。
 この場合、emsg box生成処理が開始されると、DRMルール記述生成部166は、ステップS301において、再生ルールに基づいて、DRMルール記述を生成し、さらに、セグメントプレイバックコントロールインフォメーションボックス('spci' box)を生成して、そのDRMルール記述を格納する。
 ステップS302において、DRMルール記述生成部166は、イベントメッセージボックス('emsg' box)を生成し、ステップS301において生成されたセグメントプレイバックコントロールインフォメーションボックス('spci' box)を、そのイベントメッセージボックス('emsg' box)に格納する。
 ステップS303乃至ステップS312の各処理は、図21のステップS121乃至ステップS130の各処理と同様に実行される。
 このように、emsg box生成処理を行うことにより、オーサリング装置101(コンテンツサーバ102)は、イベントメッセージボックス('emsg' box)に、DRMルール記述を格納することができる。これにより、DRMルール記述の更新をより容易に行うことができる。
  <メディアセグメント復号処理の流れ>
 次に、図30および図31のフローチャートを参照して、再生クライアント104により図24のステップS203において実行されるメディアセグメント復号処理の流れの例を説明する。
 この場合、メディアセグメント復号処理が開始されると、DRM処理部415は、ステップS401において、当該セグメント(Segment)のイベントメッセージボックス('emsg' box)が存在するか否かを判定する。存在すると判定された場合、処理はステップS402に進む。
 ステップS402において、DRM処理部415は、当該セグメント(Segment)のイベントメッセージボックス('emsg' box)より、セグメントプレイバックコントロールインフォメーションボックス('spci' box)を取得する。ステップS402の処理が終了すると処理はステップS404に進む。
 また、ステップS401において、当該セグメント(Segment)のイベントメッセージボックス('emsg' box)が存在しないと判定された場合、処理はステップS403に進む。ステップS403において、DRM処理部415は、当該セグメント(Segment)のプロテクションシステムスペシフィックヘッダボックス('pssh' box)より、セグメントプレイバックコントロールインフォメーションボックス('spci' box)を取得する。ステップS403の処理が終了すると処理はステップS404に進む。
 図30のステップS404乃至ステップS414の各処理は、図25のステップS222乃至ステップS232の各処理と同様に実行される。また、図31のステップS421乃至ステップS425の各処理は、図26のステップS241乃至ステップS245の各処理と同様に実行される。
 以上のようにメディアセグメント復号処理を実行することにより再生クライアント104は、この場合も、より確実に、配信側から指定された再生制御に従ってコンテンツデータを再生することができる。また、より多様かつ詳細な再生制御を実現することができる。
 <3.第3の実施の形態>
  <配信システム>
 各実施の形態において上述した各装置は、例えば、静止画像や動画像を配信する配信システムに利用することができる。以下において、その場合について説明する。
 図32は、本技術を適用した配信システムの主な構成例を示す図である。図32に示される配信システム500は、静止画像および動画像を配信するシステムである。図32に示されるように、配信システム500は、配信データ生成装置501、配信サーバ502、ネットワーク503、端末装置504、および端末装置505を有する。
 配信データ生成装置501は、配信する静止画像や動画像のデータから配信用のフォーマットの配信データを生成する。配信データ生成装置501は、生成した配信データを配信サーバ502に供給する。配信サーバ502は、配信データ生成装置501が生成した配信データを記憶部などに記憶して管理し、ネットワーク503を介して端末装置504や端末装置505に対して、その配信データの配信サービスを提供する。
 ネットワーク503は、通信媒体となる通信網である。ネットワーク503は、どのような通信網であってもよく、有線通信網であってもよいし、無線通信網であってもよいし、それらの両方であってもよい。例えば、有線LAN(Local Area Network)、無線LAN、公衆電話回線網、所謂3G回線や4G回線等の無線移動体用の広域通信網、またはインターネット等であってもよいし、それらの組み合わせであってもよい。また、ネットワーク503は、単数の通信網であってもよいし、複数の通信網であってもよい。また、例えば、ネットワーク503は、その一部若しくは全部が、例えばUSB(Universal Serial Bus)ケーブルやHDMI(登録商標)(High-Definition Multimedia Interface)ケーブル等のような、所定の規格の通信ケーブルにより構成されるようにしてもよい。
 配信サーバ502、端末装置504、および端末装置505は、このネットワーク503に接続されており、互いに通信可能な状態になされている。これらのネットワーク503への接続方法は任意である。例えば、これらの装置が、ネットワーク503に、有線通信により接続されるようにしてもよいし、無線通信により接続されるようにしてもよい。また、例えば、これらの装置が、アクセスポイント、中継装置、基地局等、任意の通信装置(通信設備)を介してネットワーク503に接続されるようにしてもよい。
 端末装置504および端末装置505は、それぞれ、例えば、携帯型電話機、スマートフォン、タブレット型コンピュータ、ノート型コンピュータのような、通信機能を有する任意の電子機器である。端末装置504や端末装置505は、例えばユーザ等の指示に基づいて、配信ファイルの配信を配信サーバ502に対して要求する。
 配信サーバ502は、要求された配信データを要求元に送信する。配信を要求した端末装置504若しくは端末装置505は、その配信データを受信し、再生する。
 このような配信システム500において、配信データ生成装置501として、各実施の形態において上述した本技術を適用する。すなわち、上述したオーサリング装置101を、配信データ生成装置501として用いるようにする。
 また、配信サーバ502として、各実施の形態において上述した本技術を適用する。すなわち、上述したコンテンツサーバ102、中間サーバ103、DRMサーバ105等を、配信サーバ502として用いるようにする。
 また、端末装置504や端末装置505として、各実施の形態において上述した本技術を適用する。すなわち、上述した再生クライアント104を、端末装置504や端末装置505として用いるようにする。
 このようにすることにより、配信データ生成装置501、端末装置504、および端末装置505は、上述した各実施の形態と同様の効果を得ることができる。つまり、配信システム500は、コンテンツデータの再生をより確実に制御することができる。
 <4.第4の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図33は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図33に示されるコンピュータ600において、CPU(Central Processing Unit)601、ROM(Read Only Memory)602、RAM(Random Access Memory)603は、バス604を介して相互に接続されている。
 バス604にはまた、入出力インタフェース610も接続されている。入出力インタフェース610には、入力部611、出力部612、記憶部613、通信部614、およびドライブ615が接続されている。
 入力部611は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部612は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部613は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部614は、例えば、ネットワークインタフェースよりなる。ドライブ615は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア621を駆動する。
 以上のように構成されるコンピュータでは、CPU601が、例えば、記憶部613に記憶されているプログラムを、入出力インタフェース610およびバス604を介して、RAM603にロードして実行することにより、上述した一連の処理が行われる。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU601)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア621に記録して適用することができる。その場合、プログラムは、リムーバブルメディア621をドライブ615に装着することにより、入出力インタフェース610を介して、記憶部613にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部614で受信し、記憶部613にインストールすることができる。
 その他、このプログラムは、ROM602や記憶部613に、あらかじめインストールしておくこともできる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書では、各種情報が、ストリームデータやMPD等のコンテンツデータに付加されて、供給する側から取得する側(再生する側)へ伝送される例について説明した。ここで「付加する」は、各種情報を任意の状態でストリームデータに含めることを意味する。つまり、この「付加する」には、「挿入する」、「格納する」、「多重化する」、「重畳する」、「加える」、「追加する」、「記述する」、「書き込む」、「添付する」、「結合する」、「合体する」、「合成する」、「一体化する」等の、各種情報を任意の状態でストリームデータに含める行為に相当するあらゆる表現の意味が含まれるものとする。
 また、この各種情報は、ストリームデータやMPD等のコンテンツデータに付加されることなく、コンテンツデータと関連付けられた別個のデータとして、供給する側から取得する側(再生する側)へ伝送されるようにしてもよい。ここで、「関連付ける」という用語は、コンテンツデータの再生の際に、そのコンテンツデータに対応する各種情報が利用可能である状態のことを示す。例えば、コンテンツデータとそのコンテンツデータに対応する各種情報とが識別情報等を用いて互いに紐付けされていてもよい。また、別途用意された管理情報によりコンテンツデータと各種情報との対応関係が管理されるようにしてもよい。換言するに、対応するコンテンツデータの再生の際に利用可能な状態であれば、各種情報はどのような状態であってもよい。
 例えば、コンテンツデータに関連づけられた各種情報は、そのコンテンツデータが伝送される伝送路とは別の伝送路で伝送されるようにしてもよい。また、コンテンツデータに関連づけられた各種情報は、そのコンテンツデータが記録される記録媒体とは別の記録媒体に記録されるようにしてもよい。さらに、このコンテンツデータと各種情報とは、例えば、画像の複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてよい。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する検証コード生成部と、
 前記検証コード生成部により生成された前記検証コードを、前記ストリームデータに付加する検証コード付加部と
 を備える画像処理装置。
 (2) 前記検証コード生成部は、暗号化される前の前記セグメントの前記ストリームデータに対して、前記セグメントの前記ストリームデータの暗号化若しくは復号に用いられる鍵情報を用いてハッシュ値を生成し、生成した前記ハッシュ値を前記検証コードとする
 (1)に記載の画像処理装置。
 (3) イベントメッセージを格納するイベントメッセージボックスを生成し、生成した前記イベントメッセージボックスに、前記検証コード生成部により生成された前記検証コードを格納するイベントメッセージボックス生成部をさらに備え、
 前記検証コード付加部は、前記イベントメッセージボックス生成部により生成された、前記検証コードが格納された前記イベントメッセージボックスを、前記ストリームデータに付加する
 (1)または(2)に記載の画像処理装置。
 (4) 前記イベントメッセージボックス生成部は、さらに、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を、前記イベントメッセージボックスに格納する
 (3)に記載の画像処理装置。
 (5) 前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成するDRMルール記述生成部と、
 前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加するDRMルール記述付加部と
 をさらに備える(1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、トリック再生の禁止および禁止区間指定、並びに、ジャンプイン再生の禁止、禁止区間指定、および再生開始位置指定を含む
 (5)に記載の画像処理装置。
 (7) 前記再生制御の内容を示すDRM(Digital Rights Management)に非依存の形式の共通記述を生成する共通記述生成部と、
 前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部と
 をさらに備える(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
 (7)に記載の画像処理装置。
 (9) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、
 生成された前記検証コードを、前記ストリームデータに付加する
 画像処理方法。
 (10) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する生成部と、
 前記生成部により生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合する照合部と、
 前記照合部による照合において前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する再生制御部と
 を備える画像処理装置。
 (11) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、
 生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合し、
 前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する
 画像処理方法。
 (12) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成する生成部と、
 前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加する付加部と
 を備える画像処理装置。
 (13) 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
 (12)に記載の画像処理装置。
 (14) 前記生成部は、前記DRMルール記述を格納する、前記セグメントの再生制御に関する情報を格納するセグメントプレイバックコントロールインフォメーションボックスを生成する
 (12)または(13)に記載の画像処理装置。
 (15) 前記生成部は、前記セグメントプレイバックコントロールインフォメーションボックスを格納する、前記DRM固有の情報を格納するプロテクションシステムスペシフィックヘッダボックスを生成する
 (14)に記載の画像処理装置。
 (16) 前記再生制御の内容を示す前記DRMに非依存の形式の共通記述を生成する共通記述生成部と、
 前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部と
 をさらに備える(12)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
 (16)に記載の画像処理装置。
 (18) 画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成し、
 生成された前記DRMルール記述を、前記ストリームデータに付加する
 画像処理方法。
 (19) 画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得する取得部と、
 前記取得部により取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号する復号部と、
 前記復号部により復号された前記セグメントの前記ストリームデータの再生を制御する再生制御部と
 を備える画像処理装置。
 (20) 画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得し、
 取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号し、
 復号された前記セグメントの前記ストリームデータの再生を制御する
 画像処理方法。
 100 コンテンツ再生システム, 101 オーサリング装置, 102 コンテンツサーバ, 103 中間サーバ, 104 再生クライアント, 105 DRMサーバ, 111 データベース, 121 メディアセグメント, 122 MPD, 123 合成MPD, 131 コンテンツ, 151 メディアセグメント生成部, 152 MPD生成部, 161 ルール入力部, 162 DASHフォーマットデータ生成部, 163 MAC値生成部, 164 イベントメッセージデータ生成部, 165 イベントメッセージデータ追加部, 166 DRMルール記述生成部, 167 DRMルール記述追加部, 168 メディアセグメント提供部, 261 ルール入力部, 262 DASHフォーマットデータ生成部, 263 共通記述生成部, 264 共通記述追加部, 265 DRMルール変換部, 266 DRM固有記述生成部, 267 DRM固有記述追加部, 268 MPD提供部, 411 アプリケーション部, 412 DASHクライアント部, 413 再生制御部, 414 MAC値記憶部, 415 DRM処理部, 416 メディア再生部

Claims (20)

  1.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する検証コード生成部と、
     前記検証コード生成部により生成された前記検証コードを、前記ストリームデータに付加する検証コード付加部と
     を備える画像処理装置。
  2.  前記検証コード生成部は、暗号化される前の前記セグメントの前記ストリームデータに対して、前記セグメントの前記ストリームデータの暗号化若しくは復号に用いられる鍵情報を用いてハッシュ値を生成し、生成した前記ハッシュ値を前記検証コードとする
     請求項1に記載の画像処理装置。
  3.  イベントメッセージを格納するイベントメッセージボックスを生成し、生成した前記イベントメッセージボックスに、前記検証コード生成部により生成された前記検証コードを格納するイベントメッセージボックス生成部をさらに備え、
     前記検証コード付加部は、前記イベントメッセージボックス生成部により生成された、前記検証コードが格納された前記イベントメッセージボックスを、前記ストリームデータに付加する
     請求項1に記載の画像処理装置。
  4.  前記イベントメッセージボックス生成部は、さらに、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を、前記イベントメッセージボックスに格納する
     請求項3に記載の画像処理装置。
  5.  前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成するDRMルール記述生成部と、
     前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加するDRMルール記述付加部と
     をさらに備える請求項1に記載の画像処理装置。
  6.  前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、トリック再生の禁止および禁止区間指定、並びに、ジャンプイン再生の禁止、禁止区間指定、および再生開始位置指定を含む
     請求項5に記載の画像処理装置。
  7.  前記再生制御の内容を示すDRM(Digital Rights Management)に非依存の形式の共通記述を生成する共通記述生成部と、
     前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部と
     をさらに備える請求項1に記載の画像処理装置。
  8.  前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
     請求項7に記載の画像処理装置。
  9.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、
     生成された前記検証コードを、前記ストリームデータに付加する
     画像処理方法。
  10.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成する生成部と、
     前記生成部により生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合する照合部と、
     前記照合部による照合において前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する再生制御部と
     を備える画像処理装置。
  11.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記セグメントの前記ストリームデータの検証コードを生成し、
     生成された前記検証コードと、前記ストリームデータに付加されている検証コードとを照合し、
     前記検証コード同士の一致または不一致に応じて、前記セグメント若しくは後続のセグメントまたはその両方の前記ストリームデータの再生を制御する
     画像処理方法。
  12.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成する生成部と、
     前記生成部により生成された前記DRMルール記述を、前記ストリームデータに付加する付加部と
     を備える画像処理装置。
  13.  前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
     請求項12に記載の画像処理装置。
  14.  前記生成部は、前記DRMルール記述を格納する、前記セグメントの再生制御に関する情報を格納するセグメントプレイバックコントロールインフォメーションボックスを生成する
     請求項12に記載の画像処理装置。
  15.  前記生成部は、前記セグメントプレイバックコントロールインフォメーションボックスを格納する、前記DRM固有の情報を格納するプロテクションシステムスペシフィックヘッダボックスを生成する
     請求項14に記載の画像処理装置。
  16.  前記再生制御の内容を示す前記DRMに非依存の形式の共通記述を生成する共通記述生成部と、
     前記共通記述生成部により生成された前記共通記述を、前記ストリームデータの再生に関する制御情報であるMPD(Media Presentation Description)に付加する共通記述付加部と
     をさらに備える請求項12に記載の画像処理装置。
  17.  前記再生制御の内容は、前記ストリームデータの、スキップ再生の禁止および禁止区間指定、事前に再生が必要な区間の指定、並びに、トリック再生の禁止および禁止区間指定を含む
     請求項16に記載の画像処理装置。
  18.  画像データが符号化されたストリームデータの再生制御を行うセグメントについて、前記再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を生成し、
     生成された前記DRMルール記述を、前記ストリームデータに付加する
     画像処理方法。
  19.  画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得する取得部と、
     前記取得部により取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号する復号部と、
     前記復号部により復号された前記セグメントの前記ストリームデータの再生を制御する再生制御部と
     を備える画像処理装置。
  20.  画像データが符号化されたストリームデータに付加された、再生制御の内容をDRM(Digital Rights Management)のルールとして記述したDRMルール記述を取得し、
     取得された前記DRMルール記述に基づいて、暗号化されたセグメントの前記ストリームデータを復号し、
     復号された前記セグメントの前記ストリームデータの再生を制御する
     画像処理方法。
PCT/JP2016/078351 2015-10-09 2016-09-27 画像処理装置および方法 WO2017061298A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/761,739 US20180270208A1 (en) 2015-10-09 2016-09-27 Image processing apparatus and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015201189 2015-10-09
JP2015-201189 2015-10-09

Publications (1)

Publication Number Publication Date
WO2017061298A1 true WO2017061298A1 (ja) 2017-04-13

Family

ID=58487585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/078351 WO2017061298A1 (ja) 2015-10-09 2016-09-27 画像処理装置および方法

Country Status (2)

Country Link
US (1) US20180270208A1 (ja)
WO (1) WO2017061298A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110720224A (zh) * 2018-07-05 2020-01-21 深圳市大疆创新科技有限公司 图像处理方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009077073A (ja) * 2007-09-19 2009-04-09 Toshiba Corp 映像配信システムおよび映像配信方法
JP2015521405A (ja) * 2012-04-26 2015-07-27 華為技術有限公司Huawei Technologies Co.,Ltd. 適応ストリーミングのためのセグメント暗号化及びキー導出を信号伝達するシステム及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570759B2 (en) * 2004-08-13 2009-08-04 Yen-Fu Liu System and method for secure encryption
US20070101394A1 (en) * 2005-11-01 2007-05-03 Yesvideo, Inc. Indexing a recording of audiovisual content to enable rich navigation
JP5695972B2 (ja) * 2011-05-20 2015-04-08 日立マクセル株式会社 コンテンツ受信機およびコンテンツ情報出力方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009077073A (ja) * 2007-09-19 2009-04-09 Toshiba Corp 映像配信システムおよび映像配信方法
JP2015521405A (ja) * 2012-04-26 2015-07-27 華為技術有限公司Huawei Technologies Co.,Ltd. 適応ストリーミングのためのセグメント暗号化及びキー導出を信号伝達するシステム及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 4: Segment encryption and authentication", INTERNATIONAL STANDARD ISO/IEC 23009-4, pages 22 - 24 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110720224A (zh) * 2018-07-05 2020-01-21 深圳市大疆创新科技有限公司 图像处理方法和装置
CN110720224B (zh) * 2018-07-05 2021-12-17 深圳市大疆创新科技有限公司 图像处理方法和装置

Also Published As

Publication number Publication date
US20180270208A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
US9911126B2 (en) Refreshing advertisements in offline or virally distributed content
US9071423B2 (en) Identification of a compromised content player
US20140196079A1 (en) Video distribution and playback
KR101854919B1 (ko) Drm 서비스 제공 방법 및 장치
JP4511029B2 (ja) メディア・コンテンツの連続制御および保護のための方法および装置
US20160198202A1 (en) Digital Rights Management for Segmented Content
US9042555B2 (en) On-demand download of partial encrypted content for partial super distributed content
US8826324B2 (en) Server apparatus, trick reproduction restriction method, and reception apparatus
US7865723B2 (en) Method and apparatus for multicast delivery of program information
US8595492B2 (en) On-demand protection and authorization of playback of media assets
US9936229B1 (en) Delivery of edited or inserted media streaming content
US20180176623A1 (en) Output and playback control delivery for adaptive bitrate streaming
JP2014523164A (ja) ハードウェアベースの信頼のルート内でメタデータに基づき動的且つリアルタイムに広告を挿入する方法および装置
US20130322628A1 (en) Apparatus and method for transceiving content in a digital broadcast system
US9515834B2 (en) Content protection continuity through authorized chains of components
US20110103769A1 (en) Secure time and space shifted audiovisual work
WO2017061298A1 (ja) 画像処理装置および方法
US8074286B2 (en) Secure media path system and method
JP2010206540A (ja) ファイル生成装置、ファイル再生装置およびコンピュータプログラム
KR101861125B1 (ko) 원격지 인프라의 콘텐츠 서비스를 위한 보안 플랫폼 시스템 및 그 제공방법
Solé Castellví Common media application format. Implementation and analysis
SOLANO Embedding premium video in social streams
Park et al. Protecting ASF movie on VOD
JP2005141727A (ja) コンテンツ配信方法及びコンテンツサーバ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16853452

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15761739

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16853452

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP