Nova Patents
EP1494425A1

RTP Payload Format

Abstract

A data stream is encrypted to form encryption units that are packetized into RTP packets. Each RTP packet includes an RTP packet header, one or more payloads of a common data stream, and a RTP payload format header for each payload and including, for the corresponding encryption units, a boundary for the payload. The payload can be one or more of the encryption units or a fragment of one of the encryption units. The encryption units are reassembled the using the payloads in the RTP packets and the respective boundary in the respective RTP payload format header. The reassembled of encryption units are decrypted for rendering. Each RTP payload format header can have attributes for the corresponding payload that can be used to render the payload. The RTP packets can be sent server-to-client or peer-to-peer.

EP1494425A1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 8 June 2024, 2.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

59 claims: 26 independent, 33 dependent

  1. 1
    An apparatus comprising:means for encrypting a data stream with an arbitrary block size to form a plurality of encryption units;andmeans for packetizing the plurality of encryption units into a plurality RTP packets each including: an RTP packet header;one or more payloads of a common data stream and selected from the group consisting of: one or more said encryption units;fragment of one said encryption unit;andone RTP payload format header for each said payload and including, for the corresponding encryption units, a boundary for the arbitrary block size.
  2. 2
    The apparatus as defined in Claim 1, further comprising:means for reassembling the plurality of encryption units using: the payloads in the plurality RTP packets;andthe respective boundary for the arbitrary block size in the respective RTP payload format header;means for decrypting the plurality of encryption units to form the data stream.
  3. 3
    The apparatus as defined in Claim 2, wherein:each said RTP payload format header further comprises one or more attributes of the corresponding payload;andthe apparatus further comprises means for rendering the formed data stream using the attributes of the corresponding payload.
  4. 4
    The apparatus as defined in Claim 2, wherein the attributes in each said RTP payload format header are selected from the group consisting of:timing information;andvideo compression frame information.
  5. 5
    The apparatus as defined in Claim 2, further comprising means for transmitting the plurality of RTP packets over a network.
  6. 6
    An apparatus comprising:means for logically separating media data type in a data stream including a plurality of said media data types;andmeans for forming a plurality of RTP packets from the data stream, each said RTP packet including: only one said media data type;an RTP packet header;one of more variable length RTP payload format headers each having one or more attributes;andan RTP payload corresponding to each said RTP payload format header and being described by the one or more attributes therein.
  7. 7
    The apparatus as defined in Claim 6, further comprising:means for extracting the payloads from the plurality of RTP packets;andmeans for rendering each payload in the plurality of RTP packets using the one or more attributes in the corresponding RTP payload format header.
  8. 8
    The apparatus as defined in Claim 7, wherein:each said payload comprises video data;andthe attributes in each said RTP payload format header are selected from the group consisting of: timing information;andvideo compression frame information.
  9. 9
    The apparatus as defined in Claim 7, wherein the means for extracting further comprises, for each said RTP payload:means, where the RTP payload includes a plurality of portions of one of the media data types, for assembling the plurality of portions of one of the media data types into a contiguous payload;means, where the RTP payload includes one portion of one of the media data types, for assembling the one portion of one of the media data types into a contiguous payload;andmeans, where the RTP payload includes a fragment of one portion of one of the media data types, for assembling all of the fragments of the one portion of one of the media data types into a contiguous payload.
  10. 10
    The apparatus as defined in Claim 9, further comprising:means for assembling, in respective chronological order corresponding to the plurality of media data types of the media file, the contiguous payloads;andmeans for simultaneously rendering the chronologically ordered contiguous payloads of the plurality of media data types of the media file.
  11. 11
    A data structure having a wire format for transmission over a network, the data structure comprising a plurality of single media packets formed from a plurality of mixed media packets, wherein:each mixed media packet includes: a payload for each of a plurality of data streams, the is encrypted and has an arbitrary block size;anda payload header for each payload and including a boundary for the arbitrary block size;each single media packet includes one data stream, corresponds to one of the mixed media packets, and includes: one payload corresponding to one of the payloads in the one mixed media packet,a payload profile format header corresponding to: the one payload;andone of more payload headers of the one mixed media packet, wherein the payload profile format header has a boundary corresponding to: the respective boundaries of the one of more payload headers of the one mixed media packet;andthe one payload.
  12. 18
    A method comprising:encrypting a data stream with an arbitrary block size to form a plurality of encryption units;andpacketizing the plurality of encryption units into a plurality RTP packets each including: an RTP packet header;one or more payloads of a common data stream and selected from the group consisting of: one or more said encryption units;anda fragment of one said encryption unit;one RTP payload format header for each said payload and including, for the corresponding encryption units, a boundary for the arbitrary block size.
  13. 19
    The method as defined in Claim 18, further comprising:reassembling the plurality of encryption units using: the payloads in the plurality RTP packets;andthe respective boundary for the arbitrary block size in the respective RTP payload format header;decrypting the plurality of encryption units to form the data stream.
  14. 20
    The method as defined in Claim 19, wherein:each said RTP payload format header further comprises one or more attributes of the corresponding payload;andthe method further comprises rendering the formed data stream using the attributes of the corresponding payload.
  15. 21
    The method as defined in Claim 19, wherein the attributes in each said RTP payload format header are selected from the group consisting of:timing information;andvideo compression frame information.
  16. 22
    The method as defined in Claim 19, further comprising, prior to the reassembling, the plurality RTP packets over a network to a client at which the reassembling is preformed.
  17. 24
    A method comprising forming a plurality of RTP packets from a data stream including a plurality of media data types, each said RTP packet including:only one said media data type;an RTP packet header;one of more variable length RTP payload format headers each having one or more attributes;and    an RTP payload corresponding to each said RTP payload format header and being described by the one or more attributes therein.
  18. 25
    The method as defined in Claim 24, further comprising:extracting the payloads from the plurality of packets;andrendering each payload in the plurality of RTP packets using the one or more attributes in the corresponding RTP payload format header.
  19. 26
    The method as defined in Claim 25, wherein the attributes in each said RTP payload format header are selected from the group consisting of:timing information;andvideo compression frame information.
  20. 27
    The method as defined in Claim 25, wherein the extracting the payloads from the plurality of RTP packets further comprises, for each said RTP payload:that includes a plurality of portions of one of the media data types, assembling the plurality of portions of one of the media data types into a contiguous payload;that includes one portion of one of the media data types, assembling the one portion of one of the media data types into a contiguous payload;andthat includes a fragment of one portion of one of the media data types, assembling all of the fragments of the one portion of one of the media data types into a contiguous payload.
  21. 28
    The method as defined in Claim 27, further comprising:assembling, in respective chronological order corresponding to the plurality of media data types of the media file, the contiguous payloads;andsimultaneously rendering the chronologically ordered contiguous payloads of the plurality of media data types of the media file.
  22. 30
    A method comprising changing a plurality of mixed media packets into a plurality of single media packets, wherein:each mixed media packet includes: a payload for each of a plurality of data streams, wherein the payload is encrypted and has an arbitrary block size;a payload header for each payload and including a boundary for the arbitrary block size;each single media packet includes one data stream, corresponds to one of the mixed media packets, and includes: one payload corresponding to one of the payloads in the one mixed media packet;a payload profile format header corresponding to: the payload;andone of more payload headers of the one mixed media packet,    wherein the payload profile format header has a boundary corresponding to: the respective boundaries of the one of more payload headers of the one mixed media packet;andthe one payload.
  23. 38
    A method comprising changing a plurality of mixed media packets into a plurality of single media packets, wherein:each mixed media packet includes: a payload for each of a plurality of data streams, wherein the payload is encrypted and has an arbitrary block size;a packet header;anda payload header for each payload and including a boundary for the arbitrary block size;each single media packet corresponds to one of the mixed media packets and includes: one corresponding to one of the payloads in the one mixed media packet;a packet header corresponding to one of the packet headers of the one mixed media packet;a payload profile format header corresponding to: the one payload;andone of more payload headers of the one mixed media packet;wherein the payload profile format header has a payload boundary corresponding to: the respective payload boundaries of the one of more payload headers of the one mixed media packet;andthe one payload.
  24. 42
    A method comprising changing a plurality of single media packets into a composite packet, wherein:each single media packet includes: a payload of one data stream, wherein the payload is encrypted and has an arbitrary block size;a payload header for the payload and including a boundary for the arbitrary block size;the composite packet corresponds to the plurality of single media packets and includes: one or more payloads of a like data stream and corresponding to the respective payloads of the plurality of single media packets;anda payload profile format header for each said payload in the composite packet and corresponding to the payload headers of the plurality of single media packets, wherein the payload profile format header has a payload boundary for a respective said payload in the composite packet that identifies an order thereof in the plurality of single media packets.
  25. 49
    A client computing device comprising a processor for executing logic configured to:send a request for a media file including a plurality of media data types;receive streaming media in a plurality of RTP packets corresponding to the media file and including: only one said media data type;an RTP packet header;one of more RTP payload format headers each including an RTP payload boundary;andan RTP payload for and corresponding to each said RTP payload format header, wherein the RTP payload is encrypted and has an arbitrary block size corresponding to the RTP payload boundary, each said RTP payload being selected from the group consisting of: a plurality of portions of one of the media data types;one portion of one of the media data types;anda fragment of one portion of one of the media data types;for each said RTP payload in the received RTP packets: that includes a plurality of portions of one of the media data types, assemble the plurality of portions of one of the media data types into a contiguous payload using the RTP payload boundary of the corresponding RTP payload format header;that includes one portion of one of the media data types, assemble the one portion of one of the media data types into a contiguous payload using the RTP payload boundary of the corresponding RTP payload format header;andthat includes a fragment of one portion of one of the media data types, assemble all of the fragments of the one portion of one of the media data types into a contiguous payload using each said RTP payload boundary of the corresponding RTP payload format headers;assemble, in respective chronological order corresponding to the plurality of media data types of the media file, the contiguous payloads;andsimultaneously render the chronologically ordered contiguous payloads of the plurality of media data types of the media file.
  26. 54
    A client computing device comprising a processor for executing logic configured to:send a request for a media file including audio and video data;receive a plurality of RTP packets corresponding to a plurality of ASF packets for the media file, wherein: each said ASF packet includes: an ASF packet header;andone of more ASF payload headers each including an ASF payload boundary for a corresponding ASF payload, wherein the ASF payload is encrypted with an arbitrary block size corresponding to the ASF payload boundary;the ASF payload for and corresponding to each said ASF payload header is selected from the group consisting of: some of the audio data including an audio sample or fragment thereof;andsome of the video data including a video sample or fragment thereof;each said RTP packet includes: either some of the audio data or some of the video data;an RTP packet header corresponding to at least one of the ASF packet headers;one of more RTP payload format headers corresponding to at least one of the ASF payload headers, wherein each said RTP payload format header includes an RTP payload boundary corresponding to at least one of the ASF payload boundaries;andan RTP payload for and corresponding to each said RTP payload format header, each said RTP payload being selected from the group consisting of: a plurality of the ASF payloads;one of the ASF payloads;anda fragment of one of the ASF payloads;for each said RTP payload in the received RTP packets: that includes a plurality of the ASF payloads, assemble the plurality of the ASF payloads into a contiguous payload using the RTP payload boundary of the corresponding RTP payload format header;that includes one of the ASF payloads, assemble the one said ASF payload into a contiguous payload using the RTP payload boundary of the corresponding RTP payload format header;andthat includes a fragment of one of the ASF payloads, assemble all of the fragments of the one of the ASF payloads into a contiguous payload using each said RTP payload boundary of the corresponding RTP payload format headers;assemble, in respective chronological order corresponding to the audio and video data of the media file, the contiguous payloads;andsimultaneously render the chronologically ordered contiguous payloads of both the audio data of the media file and the video data of the media file.
Independent claims26