Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20150089004 A1
Publication typeApplication
Application numberUS 14/529,083
Publication date26 Mar 2015
Filing date30 Oct 2014
Priority date26 Jan 2004
Also published asEP1558044A2, EP1558044A3, EP1558044B1, US8886824, US20050165913
Publication number14529083, 529083, US 2015/0089004 A1, US 2015/089004 A1, US 20150089004 A1, US 20150089004A1, US 2015089004 A1, US 2015089004A1, US-A1-20150089004, US-A1-2015089004, US2015/0089004A1, US2015/089004A1, US20150089004 A1, US20150089004A1, US2015089004 A1, US2015089004A1
InventorsStephane Coulombe, Umesh Chandra
Original AssigneeCore Wireless Licensing, S.a.r.I.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Media adaptation determination for wireless terminals
US 20150089004 A1
Abstract
A method (and corresponding equipment) by which a multimedia message is sent from a sending terminal (21) via a messaging server (22)—such as a MMS Proxy-Relay in MMS or a SIP proxy server in SIP IM—to a receiving terminal (25) having limited multimedia capabilities, with the sending terminal (21) adapted to include a user agent (21 a) for inserting, into the message, media characteristics of the message sufficient in detail to enable the messaging server (22) to determine whether the message should be transcoded based on actual or assumed multimedia capabilities of the receiving terminal (25), and with the messaging server (22) configured to read the media characteristics and decide whether the message should be transcoded based only on the inserted media characteristics and on actual or assumed multimedia capabilities of the receiving terminal (25). The media characteristics are advantageously inserted into the header of the message.
Images(4)
Previous page
Next page
Claims(21)
What is claimed is:
1. A messaging server, comprising a processor configured to:
obtain media characteristics of a multimedia message inserted into the multimedia message intended for a receiving terminal;
decide whether the multimedia message should be transcoded based only on comparing the media characteristics of the multimedia message with at least one of actual multimedia capabilities and assumed multimedia capabilities of the receiving terminal; and
remove the media characteristics that are inserted into the multimedia message before sending the multimedia message to the receiving terminal when transcoding is not needed.
2. The messaging server of claim 1, wherein the multimedia message includes a header portion and a body portion.
3. The messaging server of claim 2, wherein the media characteristics of the multimedia message are inserted into a field in the header portion of the multimedia message.
4. The messaging server of claim 1, the processor further configured to:
determine, from the inserted media characteristics, which at least one part of the message needs transcoding; and
send only the at least one part requiring transcoding to a transcoding server.
5. The messaging server of claim 1, the processor further configured to send the multimedia message to a transcoding server.
6. The messaging server of claim 5, wherein the transcoding server is configured to use the inserted media characteristics to decide if transcoding is needed.
7. The messaging server of claim 1, the processor further configured to:
determine, based on the inserted media characteristics, parts of the multimedia message needing transcoding;
send the multimedia message to a transcoding server if transcoding is needed for any message part; and
include, in the multimedia message, an indication of which parts of the multimedia message need transcoding.
8. A method comprising:
obtaining media characteristics of a multimedia message inserted into the multimedia message intended for a receiving terminal;
deciding whether the multimedia message should be transcoded based only on comparing the media characteristics of the multimedia message with actual or assumed multimedia capabilities of the receiving terminal; and
removing the media characteristics that are inserted into the multimedia message before sending the multimedia message to the receiving terminal when transcoding is not needed.
9. The method of claim 8, wherein the multimedia message includes a header portion and a body portion.
10. The method of claim 9, wherein the media characteristics of the multimedia message are inserted into a field in the header portion of the multimedia message.
11. The method of claim 8 further comprising sending the multimedia message to a transcoding server.
12. The method of claim 8, further comprising:
determining, from the inserted media characteristics, which at least one part of the message needs transcoding; and
sending only the at least one part requiring transcoding to a transcoding server.
13. The method of claim 8 further comprising transcoding the multimedia message based on the media characteristics and multimedia capabilities of the receiving terminal.
14. The method of claim 13, wherein the transcoding is done without performing an analysis of the multimedia message to determine media characteristics of the multimedia message relevant to deciding whether transcoding is needed.
15. The method of claim 13 further comprising removing the media characteristics from the multimedia media message after transcoding when transcoding is needed and before sending the multimedia message to the receiving terminal.
16. The method of claim 8, wherein the media characteristics of the multimedia message are inserted into a header portion of the multimedia message.
17. A computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code stored therein, which in response to execution by at least one processor, causes an apparatus to:
obtain media characteristics of a multimedia message inserted into the multimedia message intended for a receiving terminal;
decide whether the multimedia message should be transcoded based only on comparing the media characteristics of the multimedia message with at least one of actual multimedia capabilities and assumed multimedia capabilities of the receiving terminal; and
remove the media characteristics that are inserted into the multimedia message before sending the multimedia message to the receiving terminal when transcoding is not needed.
18. The computer program product of claim 17, wherein execution by the processor causes the apparatus to send the multimedia message to the transcoding server.
19. The computer program product of claim 18, wherein the transcoding is done without performing an analysis of the multimedia message to determine media characteristics of the multimedia message relevant to deciding whether transcoding is needed.
20. The computer program product of claim 17, wherein execution by the processor causes the system to:
determine, from the inserted media characteristics, which at least one part of the message needs transcoding; and
send only the at least one part requiring transcoding to a transcoding server.
21. The computer program product of claim 17, wherein the apparatus includes a user agent and execution by the processor causes, at the user agent, inserting the media characteristics into the multimedia message to enable determining whether the multimedia message should be transcoded to accommodate multimedia capabilities of the receiving terminal.
Description
    CROSS-REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This patent application is a continuation application of U.S. Publication No. 2005/0165913 published on Jul. 28, 2005 (U.S. patent application Ser. No. 10/765,576 filed on Jan. 26, 2004). The subject matter of the previously filed application is hereby incorporated by reference.
  • BACKGROUND
  • [0002]
    The invention relates to the field of media adaptation in Multimedia Messaging Service (MMS) and SIP (Session Initiation Protocol) Instant Messaging (IM) to enable interoperability. More particularly, the present invention pertains to using signaling to determine whether media adaptation (transcoding) for a telecommunications terminal must be performed.
  • [0003]
    Terminals available for multimedia messaging and so-called instant messaging have different media and network capabilities (e.g. different media formats supported, different limitation in message size and image resolution, etc.). A messaging server, such as an MMS Proxy-Relay logical entity as defined in the Open Mobile Alliance (OMA) specifications of the Multimedia Messaging Service (MMS) or a SIP proxy in SIP IM, has no standard way of knowing in advance whether media adaptation—called here transcoding (to accommodate limited multimedia capabilities of the receiving terminal)—is needed or not when providing a multimedia message to a terminal. Today a server must analyze all components of a message in view of the capabilities of the terminal to which the message is being sent, which means that a message must be opened to determine its relevant media characteristics.
  • [0004]
    The relevant characteristics of a message include for example: image resolution, whether a JPEG (Joint Photographic Experts Group) is baseline or progressive, and the number of frames of a GIF (graphics interchange format) image. If the message has multiple components (for example multiple JPEG images or multiple images of different formats) then the server has to analyze all the components of the message. For some server implementations, such an analysis requires that for each media component, a processing component (e.g. a plugin) supporting the media type of the component be identified, and that the media component then be sent to the identified media processing component for analysis. In the simplest cases, the analysis can be performed by decoding only the beginning (e.g. header part) of the media component. Nevertheless, the analysis requires processing in respect to each media component and requires the presence of a processing component capable of the analysis. The performance penalty can be very high if the transcoding engine is located on a separate server (e.g. in case of one vendor providing the messaging server but opting to use a transcoding server provided by another vendor, as illustrated in FIG. 1).
  • [0005]
    Thus, it would be advantageous to have a mechanism by which a messaging server can determine whether transcoding/media adaptation is needed for a message intended for a terminal without having to (open and) examine each media component of the message.
  • SUMMARY
  • [0006]
    Accordingly, in a first aspect of the invention, a method is provided by which a multimedia message is transcoded en route from a sending terminal via a messaging server to a receiving terminal having limited multimedia capabilities, so as to be suitable for reception and presentation by the receiving terminal, the method characterized by: a step in which a user agent of the sending terminal inserts, into the message, media characteristics of the message sufficient in detail to enable determining whether the message should be transcoded to accommodate multimedia capabilities of the receiving terminal; and a step in which the messaging server reads the media characteristics and decides whether the message should be transcoded based only on the inserted media characteristics and on actual or assumed multimedia capabilities of the receiving terminal.
  • [0007]
    In accord with the first aspect of the invention, the messaging server may send the message to a transcoding server if transcoding is needed, and the transcoding server may use the inserted media characteristics to itself decide if transcoding is needed.
  • [0008]
    Also in accord with the first aspect of the invention, the messaging server may send the message to a transcoding server if transcoding is needed, and the transcoding server may use the inserted media characteristics to itself decide which parts of the message need transcoding.
  • [0009]
    Also in accord with the first aspect of the invention, the messaging server may determine, from the inserted media characteristics, which parts of the message need transcoding and may send the message to a transcoding server if transcoding is needed for any message part, and may include in the message an indication of which parts of the message need transcoding.
  • [0010]
    Also in accord with the first aspect of the invention, the messaging server may determine, from the inserted media characteristics, which parts of the message need transcoding and may send only those message parts requiring transcoding to a transcoding server.
  • [0011]
    Also in accord with the first aspect of the invention, the method may be further characterized by: a step in which transcoding is performed based on the inserted media characteristics and the actual or assumed multimedia capabilities of the receiving terminal, without performing an analysis of the message to determine whether transcoding is needed. Further, in the step in which transcoding is performed, the transcoding may be performed without also performing even an analysis to determine which parts of the message need to be transcoded.
  • [0012]
    Also in accord with the first aspect of the invention, the user agent may insert the media characteristics into a field in the header of the message.
  • [0013]
    Also in accord with the first aspect of the invention, the user agent may insert the media characteristics into a header field in the body of the message.
  • [0014]
    Also in accord with the first aspect of the invention, the media characteristics may include image and video resolution, or number of frames and frame rate of visual content, or sampling rate of audio content.
  • [0015]
    A second aspect of the invention provides a sending terminal, adapted for sending a multimedia message via a messaging server to a receiving terminal having limited multimedia capabilities, the sending terminal characterized by: a user agent for inserting, into the message, media characteristics of the message sufficient in detail to enable the messaging terminal to determine whether the message should be transcoded based only on actual or assumed multimedia capabilities of the receiving terminal and the inserted media characteristics.
  • [0016]
    A third aspect of the invention provides a messaging server, enhanced for determining whether to transcode a multimedia message sent from a sending terminal to a receiving terminal having limited multimedia capabilities, the messaging server characterized by: a characteristics reader and analyzer, responsive to the message, for deciding whether the message should be transcoded based only on comparing media characteristics inserted into the message with actual or assumed multimedia capabilities of the receiving terminal.
  • [0017]
    A fourth aspect of the invention provides a system, comprising a sending terminal and a messaging server, both adapted to perform according to a method by which a multimedia message is transcoded en route from the sending terminal via the messaging server to a receiving terminal having limited multimedia capabilities, so as to be suitable for reception or presentation by the receiving terminal, the system characterized in that: the sending terminal includes a user agent for performing a step of inserting, into the message, media characteristics of the message sufficient in detail to enable determining whether the message should be transcoded to accommodate multimedia capabilities of the receiving terminal; and the messaging server includes means for performing a step of reading the media characteristics and deciding whether the message should be transcoded based only on the media characteristics and on actual or assumed multimedia capabilities of the receiving terminal.
  • [0018]
    In accord with the fourth aspect of the invention, the messaging server may also include or may have access to means for performing a step in which transcoding is performed based on the inserted media characteristics and the actual or assumed multimedia capabilities of the receiving terminal, without performing an analysis of the message to determine media characteristics of the message relevant to deciding whether transcoding is needed.
  • [0019]
    Also in accord with the fourth aspect of the invention, the system may also include a transcoding server, and may be further characterized in that the messaging server is configured to send the message to the transcoding server if transcoding is needed, and the transcoding server is configured to use the inserted media characteristics to itself decide if transcoding is needed.
  • [0020]
    Also in accord with the fourth aspect of the invention, the system may also include a transcoding server, and may be further characterized in that the messaging server is configured to send the message to the transcoding server if transcoding is needed, and the transcoding server is configured to use the inserted media characteristics to itself decide which parts of the message need transcoding.
  • [0021]
    Also in accord with the fourth aspect of the invention, the system may also include a transcoding server, and may be further characterized in that the messaging server is configured to determine, from the inserted media characteristics, which parts of the message need transcoding and to send the message to the transcoding server if transcoding is needed for any message part, and to include in the message an indication of which parts of the message need transcoding.
  • [0022]
    Also in accord with the fourth aspect of the invention, the system may also include a transcoding server, and may be further characterized in that the means for transcoding is performed based on the inserted media characteristics and the actual or assumed multimedia capabilities of the receiving terminal, without performing an analysis of the message to determine whether transcoding is needed.
  • [0023]
    In a fifth aspect of the invention, a computer program product is provided comprising: a computer readable storage structure embodying computer program code thereon for execution by a computer processor in a sending terminal, said computer program code characterized in that it includes instructions for performing the steps of a method according to the first aspect of the invention and indicated as being performed by the sending terminal.
  • [0024]
    In a sixth aspect of the invention, a computer program product is provided comprising: a computer readable storage structure embodying computer program code thereon for execution by a computer processor in a messaging server, said computer program code characterized in that it includes instructions for performing the steps of a method according to the first aspect of the invention and indicated as being performed by the messaging server.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0025]
    The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:
  • [0026]
    FIG. 1 is a block diagram/flow diagram of a messaging system including an external transcoding/adaptation server, according to the prior art.
  • [0027]
    FIG. 2 is a block diagram/flow diagram of a messaging system including an external transcoding/adaptation server, according to the invention.
  • [0028]
    FIG. 3 is a flowchart showing the operation of a messaging system according to the invention.
  • DETAILED DESCRIPTION
  • [0029]
    According to the invention, in order to enable a messaging server (e.g. an MMS Proxy-Relay in MMS, or an SIP proxy in SIP IM) to determine whether transcoding/media adaptation is needed for a message intended for a receiving terminal, a user agent of the sending terminal inserts characteristics of each of the media components of the message into the message in a standard way (e.g. in the message header or body, according to a standard format). The messaging server examines only the inserted media characteristics information (like format profile, resolution, image-size, frame rate, etc) in deciding whether transcoding is necessary, and thus need not examine/open any other part of the message, making it possible to get by with less processing complexity for the messaging and transcoding servers, and yet providing a decision as to whether transcoding is necessary in less time (at least for more complex messages) than would be possible if the message had to be opened and examined in its entirety. Also, the messaging server can make a decision on transcoding without having knowledge of any given media format coding scheme (although it needs to know what media type and sometimes also what media format is being used for the message components); the messaging server operative according to the invention only needs to compare media characteristics with terminal capabilities (or adaptation targets).
  • [0030]
    The characteristics information inserted into the message by the user agent include, in addition to the usual MIME (Multipurpose Internet Mail Extensions) type information, more detailed information about the individual media components of the message such as: image resolution, and format profile (e.g. JPEG baseline or progressive, H.263 profile and level information). In e-mail, SIP messaging and MMS, because of MIME multipart usage, there are already some headers having associated fields in which corresponding information is conveyed. These headers provide some of the information of use in determining whether transcoding is necessary, headers such as the content-type header, which provides the MIME type of the message component, and the content-length header, which indicates the length of the message component. According to the invention, however, detailed characteristics such as image resolution, media profiles (JPEG baseline versus progressive, video profile and level), frame rate (for video clips), media contained in a MP4/3GPP/3GPP2 file format, and other comparable information are inserted in MIME multipart headers, for example in the content-type field of the content-type header. Such insertions enable a messaging server to know the media properties of the incoming message. For example if a SIP IM is sent carrying a JPEG image of resolution 480320, the content-type header field could be:
  • [0000]
    Content-type: image/JPEG; media-pix-x=480; media-pix-
      y=320;profile=baseline;Content-ID=<img.jpg>.

    Such a content-type header lets the messaging server know that the incoming message is of type JPEG baseline with a resolution of 480320. If the terminal to which the message is intended is able to display only 160120, then the messaging server knows from the inserted characteristics and without otherwise opening the message (i.e. without examining each media component of the message) that the message must be transcoded. It also knows which parts of the message needs to be transcoded and could decide to send only those parts for adaptation (either internally or to an external transcoding server).
  • [0031]
    Thus, and now referring to FIG. 1, according to the prior art a sending terminal 11 sends a message to a receiving terminal 15, and in the course of delivery the message is processed by a messaging server 12. The messaging server—and more specifically a message router 12 a included as part of (i.e. in that it is hosted by) the messaging server 12—sends a request for adaptation to a transcoding server 14 including the message, along with the capabilities of the receiving terminal or its identity (e.g. User-Agent header). Given the identity of the receiving terminal, the transcoding server 14 is usually able to look up the capabilities of the receiving terminal using an internal terminal capability database. The transcoding server 14—and more specifically a message analyzer and transcoding engine 14 a included as part of (hosted by) the transcoding server—then opens the message, examines each media component, and determines what if any transcoding is necessary, which it then performs. It then sends the possibly transcoded message back to the messaging server, which forwards it to the receiving terminal. (In some prior art, instead of the message router 12 a, there is a message adapter that opens the message and analyzes each part to determine which parts need adaptation and then sends only those to the transcoding server 14.)
  • [0032]
    In contrast, and now referring to FIG. 2, according to the invention, a sending terminal 21 includes a user agent 21 a that inserts into a message to be sent to the receiving terminal 25, according to one or another convention such as described below, media characteristics information about the message sufficient in detail to determine whether transcoding is needed, given the capabilities of the receiving terminal. The sending terminal then sends the message to the receiving terminal 25, and in the course of delivery the message is processed by a messaging server 22 according to the invention, i.e. a messaging server 22 including a characteristics reader and analyzer module 22 a for determining whether there is a need for adaptation/transcoding of a message based on the media characteristics inserted into the message. Prior to message delivery to the receiving terminal 25, the messaging server 22 looks up the capabilities of the receiving terminal or somehow otherwise receives a specification of the capabilities, or else assumes (typically) some minimum set of multimedia capabilities, and then, using the characteristics reader and analyzer module 22 a, the messaging server examines the inserted characteristics, and if transcoding is needed based on the actual or assumed multimedia capabilities of the receiving terminal 25, sends the message to a transcoding server 24 also according to the invention, i.e. the transcoding server would take into account the media characteristics information of the message when determining which components of the message require adaptation. The transcoding server can itself look up the capabilities of the receiving terminal or the messaging server can include the capabilities with the request for transcoding. In some embodiments, the transcoding server 24 will itself re-examine the message and determine the transcoding needed, just as in the prior art, so that what the invention accomplishes in such embodiments is to avoid having the messaging server 22 send a message to an external transcoding server 24 when transcoding is not needed. Also, since in such embodiments it is advantageous to have the messaging server be overly cautious in determining whether transcoding is needed, it is possible for the transcoding server 24 to decide that no transcoding is needed even though the messaging server has decided otherwise (such as e.g. if the message contains media components of a type the messaging server is not programmed to handle and therefore cannot determine whether the components are suitable for the receiving terminal without transcoding).
  • [0033]
    After transcoding (if needed), the transcoding server 24 sends the (possibly) transcoded message back to the messaging server, which forwards it to the receiving terminal.
  • [0034]
    Note that the transcoding engine 24 a may actually be hosted by the messaging server 22, and not by a separate transcoding server, although for purposes of a more plain comparison with the prior art as illustrated in FIG. 1, the transcoding engine 24 a is shown hosted by a separate transcoding server 24, operated typically by a party different than the party operating the messaging server 22.
  • [0035]
    In the course of transcoding, the transcoding server 24 advantageously modifies the message's media characteristics information, which it includes in the transcoded message it sends back to the messaging server 22. In some embodiments, however, the media characteristics information is stripped from the message. In such embodiments, if the receiving terminal 25 later forwards the message to another terminal, a user agent included in that terminal, acting now as a sender, inserts again message media characteristics information in the message determined by analysing the media components of the message. The messaging server 22 can also therefore behave differently in different embodiments: in some, it strips the inserted media characteristics information and in others it retains the inserted media characteristics information.
  • [0036]
    The media characteristics can advantageously all be inserted into one or more of the headers in the message header, rather than in the message body, in order to reduce the parsing time to extract such information.
  • Media Content Characteristics
  • [0037]
    In some embodiments, the media characteristics to be inserted into a message by a user agent can include the media content characteristics indicated in Table 1.
  • [0000]
    TABLE 1
    Media content characteristics.
    Media content Media types to
    characteristic Description which it applies
    Charset Character set used (RFC 2045). Values include US-ASCII and Text content
    ISO-8859-1.
    Profile Profile of the media component (e.g. Profile 0 for H.263 or All
    baseline for JPEG).
    Level Level of the media component (e.g. Level 10 for H.263). All
    Media-pix-x Horizontal resolution of the visual media component (e.g. 640 Visual content
    pixels). Note that for video, conformance can often be deduced
    from profile/level information but this media characteristic
    provides more detailed information and could be useful.
    Media-pix-y Vertical resolution of the visual media component (e.g. 480 Visual content
    pixels). Note that for video, conformance can often be deduced
    from profile/level information but this media characteristic
    provides more detailed information and could be useful.
    Nb-frames Number of frames in the visual media component (e.g. animated Visual content
    GIF or video clip). This is optional.
    Frame-rate Frame-rate of the visual media component (e.g. 15 frames per Visual content (e.g.
    seconds). video)
    Sampling-rate Sampling rate of the audio media component (e.g. 8000 Hz). Audio content
    This can also be implicit to the Content type. For instance
    audio/amr is 8000 Hz.
    Nb-channels Number of channels of the media component (e.g. stereo is 2, All
    mono is 1). This can also be implicit to the Content type. For
    instance audio/amr is mono.
    Duration Approximate duration of the media component in milliseconds All
    (e.g. duration of an audio or video clip, or a presentation). This is
    typically optional.
    Media-size The size of the media component itself i.e. without MIME All
    headers and encoding for transport (e.g. 5200 Bytes).
    Content-subtype The Content type of a media component embedded in a file File formats
    format (e.g. video/H263-2000 and audio/AMR subtypes can be
    embedded in a video/3gpp file format). Subsequent content
    characteristics apply to this content-subtype (until a new content-
    subtype is listed). Content characteristics listed prior to all
    content-subtype apply to the Content-type itself as a whole.
    Content-ID Content-ID as described in RFC-2392 providing a reference to All
    the body part to which the content description applies.
    X-MMS-Content- The list of Content Classes to which the Multimedia Message Multimedia Message
    Class belongs to:
    TX = Text, IB = Image basic, IR = Image rich, VB = Video basic,
    VR = Video rich.
    E.g. TX, IB, IR.
    This media content characteristic is typically located in the
    message header.
    X-Content- Description of the content present in the message body. The Multimedia Message
    Description syntax is the same as for the Content-type characteristic. In the
    case of multipart content, a line containing the Content-
    Description for each part shall be provided. This media content
    characteristic is located in the message header.
  • [0038]
    Table 2 describes content-specific values of profiles and level media content characteristics. For instance, Baseline and Progressive are acceptable JPEG profiles.
  • [0000]
    TABLE 2
    Content-specific values of profile and level media content characteristics.
    Content-type Profile Description Level Description
    Image/jpeg Baseline Baseline DCT, non-differential, N/A
    Huffman coding, as defined in table
    B.1, symbol ‘SOF0’ in “MMS v1.2
    Client Transactions,” by the Open
    Mobile Alliance (OMA).
    Progressive Progressive DCT, non-differential, N/A
    Huffman coding, as defined in table
    B.1, symbol ‘SOF2’ in “MMS v1.2
    Client Transactions,” by the Open
    Mobile Alliance (OMA).
    Video/h263-2000 0 through 10 (0 H.263 profile number specifying the 0-100 Level of bitstream
    and 3 are supported H.263 annexes/subparts. operation specifying
    typically used H.263 Baseline corresponds to Profile the level of
    for MMS) 0, Level 10. (See RFC 3555.) computational
    complexity of the
    decoding process.
    H.263 Baseline
    corresponds to
    Profile 0, Level 10.
    (See RFC 3555.)
    Application/smil SMIL-CONF-1-2 Indicates one or more base sets of
    SMIL modules that the client supports.
    “SMIL-CONF-1-2” identifies the SMIL
    base set and associated limitations
    defined in “MMS Conformance
    Document,” version 2.0.0, February
    2002, by CMG, Ericsson, Nokia, Sony-
    Ericsson, Comverse, Logica, Siemens,
    and Motorola; and in “MMS
    Conformance Document,” version 1.1,
    August 2001, by Ericsson, Nokia.
    SMIL-3GPP-R4 Predefined values for base sets
    defined in “Transparent end-to-end
    Packet-switched Streaming Service
    (PSS); Protocols and codecs,” Third
    Generation Partnership Project, 3GPP
    TS 26.234, Rel 4.
    SMIL-3GPP-R5 Predefined values for base sets
    defined in “Transparent end-to-end
    Packet-switched Streaming Service
    (PSS); Protocols and codecs,” Third
    Generation Partnership Project, 3GPP
    TS 26.234, Rel 5.
  • [0039]
    Table 3 describes MPEG-4 Visual Profile values of profile-level-id media content characteristic.
  • [0000]
    TABLE 3
    Content-specific values of profile and level media content characteristics.
    Content-type Profile-level-id Description
    Video/mp4v-es Decimal value (a value A decimal representation of MPEG-4 Visual Profile and Level
    of 1 specifies MPEG-4 indication value (profile_and_level_indication) defined in Table G-1
    Visual Simple Profile of ISO/IEC 14496-2. See ISO/IEC 14496-2: 1999, “Information
    Level 1) technology - Coding of audio-visual objects - Part2: Visual,” and see
    ISO/IEC 14496-2: 1999/Amd.1:2000, “Information technology -
    Coding of audio-visual objects - Part 2: Visual, Amendment 1: Visual
    extensions.”
  • Representation of Media Content Characteristics in Messages
  • [0040]
    The invention encompasses many ways to represent media content characteristics in a message. Among the many encompassed is an embodiment in which the media content characteristics are represented as parameters of the MIME content-type header field for the body parts specified in RFC 2045. In such an embodiment, the media content characteristics are part of the message body, and indicated in bold-italic in Message Fragment 1, which is an example of an MMS message after alteration (insertion of media characteristics) by the user agent in the sending terminal 21.
  • Message Fragment 1: Media Content Characteristics Represented as Parameters of the MIME Content-Type Header Field, i.e. as Content-Type Parameters in Message Body.
  • [0041]
  • [0000]
    MMS Headers
    X-Mms-Message-Type: M-send.req
    X-Mms-Transaction-ID: 0123456789
    X-Mms-MMS-Version: 1.3
    From: +123/TYPE=PLMN
    To: +456/TYPE=PLMN
    Subject: My holidays
    Content-type: application/vnd.wap.multipart.related;
    type = “application/smil”;
    start = “<0000>”;
    Message Body
    Content-type: application/smil; profile=SMIL-3GPP-R5
    Content-ID: <0000>
    .... SMIL presentation file....
    Content-type: image/jpeg; media-pix-x=640; media-pix-y=480;
    profile=Baseline; media-size=32768
    Content-ID: <image1.jpg>
    .... jpeg-image....
    Content-type: text/plain; charset=“us-ascii”; media-size=512
    Content-ID: <text.txt>
    .... text....
    Content-type: audio/amr; media-size=5000
    Content-ID: <audio.amr>
    .... audio....
    Content-type: video/3gpp; media-size=44000;Duration=10000;
    Content-subtype-video/h263-2000; Profile=0; level=10;
    Frame-rate=15; media-size=40000;
    Content-subtype=audio/amr; media-size=4000
    Content-ID: <video.3gp>
    .... audio+video clip....
  • [0042]
    In another embodiment, the media content characteristics are represented as parameters of the proposed content-description header field part of the message header. This is illustrated in Message Fragment 2. This method has the advantage that one doesn't need to parse through the message body to extract the relevant information which can improve performance furthermore. Also, it allows global description of the content. For instance, it allows indicating to which MMS message classes the message belongs to (see X-Mms-Content-Class descriptor). The content description is linked to the body part through the use of the Content-ID parameter.
  • [0000]
    Message Fragment 2: Example of MMS Message with Media Characteristics as Content-Description Parameters in Message Header.
  • [0000]
    MMS Headers
    X-Mms-Message-Type: M-send.req
    X-Mms-Transaction-ID: 0123456789
    X-Mms-MMS-Version: 1.3
    From: +123/TYPE=PLMN
    To: +456/TYPE=PLMN
    Subject: My holidays
    Content-type: application/vnd.wap.multipart.related;
    type = “application/smil”;
    start = “<0000>”;
    X-Mms-Content-Class = ”VB,VR”
    X-Content-Description: application/smil; profile=SMIL-3GPP-R5;
    Content-ID=<0000>
    X-Content-Description: image/jpeg; media-pix-x=640;
    media-pix-y=480; profile=Baseline; media-size=32768;
    Content-ID=<image1.jpg>
    X-Content-Description: text/plain; charset=“us-ascii”;
    media-size=512;Content-ID=<text.txt>
    X-Content-Description: audio/amr; media-size=5000;Content-
    ID=<audio.amr>
    X-Content-Description: video/3gpp; media-size=44000;
    Duration=10000; Content-subtype-video/h263-2000; Profile=0;
    level=10; Frame-rate=15; media-size=40000;
    Content-subtype=audio/amr; media-size=4000;
    Content-ID=<video.3gp>
    Message Body
    Content-type: application/smil
    Content-ID: <0000>
    .... SMIL presentation file....
    Content-type: image/jpeg
    Content-ID: <image1.jpg>
    .... jpeg-image....
    Content-type: text/plain; charset=“us-ascii”
    Content-ID: <text.txt>
    .... text....
    Content-type: audio/amr
    Content-ID: <audio.amr>
    .... audio....
    Content-type: video/3gpp
    Content-ID: <video.3gp>
    .... audio+video clip....
  • [0043]
    An essentially equivalent embodiment is one in which the media characteristics are represented using the content-features header in a manner described in RFC 2912, as shown in Message Fragment 3.
  • [0000]
    Message Fragment 3: Example of MMS Message with Media Characteristics as Content-Feature Parameters in Message Body.
  • [0000]
    MMS Headers
    X-Mms-Message-Type: M-send.req
    X-Mms-Transaction-ID: 0123456789
    X-Mms-MMS-Version: 1.3
    From: +123/TYPE=PLMN
    To: +456/TYPE=PLMN
    Subject: My holidays
    Content-type: application/vnd.wap.multipart.related;
    type = “application/smil”;
    start = “<0000>”;
    Message Body
    Content-type: application/smil
    Content-features: (profile=SMIL-3GPP-R5)
    Content-ID: <0000>
    .... SMIL presentation file....
    Content-type: image/jpeg
    Content-features: ( & (media-pix-x=640)(media-pix-
    y=480)(profile=Baseline)(media-size=32768))
    Content-ID: <image1.jpg>
    .... jpeg-image....
    Content-type: text/plain; charset=“us-ascii”
    Content-features: (media-size=512)
    Content-ID: <text.txt>
    .... text....
    Content-type: audio/amr
    Content-features: (media-size=5000)
    Content-ID: <audio.amr>
    .... audio....
    Content-type: video/3gpp
    Content-features: (& (media-size=44000)(Duration=10000)
      (& (Content-subtype=video/h263-2000)(Profile=0)(level=10)
    (Frame-rate=15)(media-size=40000))
      (& (Content-subtype=audio/amr)(media-size=4000)))
    Content-ID: <video.3gp>
    .... audio+video clip....
    .... audio....
    Content-type: video/3gpp
    Content-features: (& (media-size=44000)(Duration=10000)
      (& (Content-subtype=video/h263-2000)(Profile=0)(level=10)
    (Frame-rate=15)(media-size=40000))
      (& (Content-subtype=audio/amr)(media-size=4000)))
    Content-ID: <video.3gp>
    .... audio+video clip....
  • [0044]
    Another possibility is to have the media content characteristics be represented as parameters of the content-features as part of the message header, as indicated in Message Fragment 4. This method has the advantage that one doesn't need to parse through the message body to extract the relevant information which can improve performance furthermore. Also, it allows global description of the content. For instance, it allows indicating to which MMS message classes the message belongs to (see X-Mms-Content-Class descriptor).
  • [0000]
    Message Fragment 4: Example of MMS Message with Media Characteristics as Content-Feature Parameters in Message Header.
  • [0000]
    MMS Headers
    X-Mms-Message-Type: M-send.req
    X-Mms-Transaction-ID: 0123456789
    X-Mms-MMS-Version: 1.3
    From: +123/TYPE=PLMN
    To: +456/TYPE=PLMN
    Subject: My holidays
    Content-type: application/vnd.wap.multipart.related;
    type = “application/smil”;
    start = “<0000>”;
    Content-features: ( & (Type= “application/smil”)(profile=SMIL-
    3GPP-R5) (Content-ID=<0000>))
    Content-features: ( & (Type= “image/jpeg”)(media-pix-x=640)
    (media-pix-y=480) (profile=Baseline)(media-size=32768)
    (Content-ID=<image1.jpg>))
    Content-features: ( & (Type= “text/plain”)(charset=us-ascii)
    (media-size=512)( Content-ID=<text.txt>) )
    Content-features: ( & (Type= “audio/amr”)(media-size=5000)
    (Content-ID=<audio.amr>))
    Content-features: ( & (Type= “video/3gpp”)(Duration=10000)
    (media-size=44000)(Content-subtype=video/h263-2000)(Profile=0)
    (level=10)(Frame-rate=15)(media-size=40000)(
    Content-subtype=audio/amr)(media-size=4000)
    (Content-ID=<video.3gpp>))
    Message Body
    Content-type: application/smil
    Content-ID: <0000>
    .... SMIL presentation file....
    Content-type: image/jpeg
    Content-ID: <image1.jpg>
    .... jpeg-image....
    Content-type: text/plain; charset=“us-ascii”
    Content-ID: <text.txt>
    .... text....
    Content-type: audio/amr
    Content-ID: <audio.amr>
    .... audio....
    Content-type: video/3gpp
    Content-ID: <video.3gp>
    .... audio+video clip....
  • [0045]
    Note that it is possible to provide media characteristics in both the message header and body. If there is a contradiction between them, which should not normally happen, a method to resolve the conflict can be defined. For instance the message header information can be defined to have precedence since it is likely to be the only information used by a messaging server if present and complete (i.e., if complete, it would not even parse the message body).
  • [0000]
    Comparison of media characteristics with terminal capabilities
  • [0046]
    In order to determine if the message content is suitable for a given terminal, the media characteristics present in the message header or body must be compared with the terminal capabilities. The terminal capabilities can be obtained through a wide variety of methods including terminal capability databases, user terminal profile databases, and UAProf. For instance, Table 4 summarizes the attributes defined within the MMS Characteristics component in MMS v1.2. (See: “MMS v1.2 Client Transactions,” Open Mobile Alliance (OMA), at http://www.openmobilealliance.org).
  • [0000]
    TABLE 4
    Terminal attributes defined within the MMS Characteristics component in MMS
    v1.2.
    Resolution Sample
    Attribute Description Rule Type Values
    Component: MMS Characteristics
    MmsMaxMessageSize The maximum size of a Locked Number 20480
    multimedia message in bytes.
    MmsMaxImageResolution The maximum size of an image Locked Literal “80 60”
    in units of pixels
    (horizontal vertical).
    MmsCcppAccept List of supported content types Locked Literal “image/jpeg”,
    conveyed as MIME types. bag “audio/wav”,
    “video/mpeg-4”
    MmsCcppAcceptCharSet List of character sets that the Locked Literal “US-ASCII”,
    MMS Client supports. Each bag “ISO-8859-1”
    item in the list is a character
    set name registered with IANA.
    MmsCcppAcceptLanguage List of preferred languages. Locked Literal “en”,
    The first item in the list should bag “fr”
    be considered the user's first
    choice. Property value is a list
    of natural languages, where
    each item in the list is the
    name of a language as defined
    by RFC 1766.
    MmsCcppAcceptEncoding List of transfer encodings that Locked Literal “base64”,
    the MMS Client supports. bag “quoted-
    Property value is a list of printable”
    transfer encodings, where each
    item in the list is a transfer
    encoding name as specified by
    RFC 2045 and registered with
    IANA.
    MmsVersion The MMS versions supported Locked Literal “2.0”, “1.3”
    by the MMS Client conveyed bag
    as
    majorVersionNumber.minorVersion
    Number.
    MmsCcppStreamingCapable Indicates whether the MMS Locked Boolean “Yes”, “No”
    Client is capable of invoking
    streaming.
    MmsSmilBaseSet Indicates one or more base Locked Literal “SMIL-CONF-
    sets of SMIL modules that the bag 1-2”
    client supports. “SMIL-CONF-
    1-2” identifies the SMIL base
    set and associated limitations
    defined in MMS CONF (MMS
    Conformance document of the
    OMA MMS specifications v
    1.2). Predefined values for
    base sets defined in3GPP TS
    26.234 may also be used (e.g.
    SMIL-3GPP-R and SMIL-
    3GPP-R).
    X-Mms-Content-Class List of supported MM Content Locked Literal “TX”, “IB”, “IR”,
    Classes: bag “VB”, “VR”
    TX = Text;
    IB = Image basic;
    IR = Image rich;
    VB = Video basic; and
    VR = Video rich;
    MmsSuppressContentAdaptation Requests that MMS Proxy- Locked Boolean “Yes”, “No”
    Relay performs no content
    adaptation.
  • [0047]
    The messaging server determines the need for adaptation by comparing the media characteristics with the terminal capabilities. Adaptation is required if: the media characteristics are not supported by the terminal (e.g. message size is too large or MMS message class not supported); or the message contains any component for which the MIME content-type is not supported by the terminal; or the message contains components for which the characteristics are not supported by the terminal and would cause interoperability problems (such as e.g. the resolution is too large for what the terminal can support, or the profile or level of the component is not supported, and so on).
  • [0048]
    Table 5 indicates how media characteristics and terminal capabilities can be compared in the case of an MMS terminal in order to determine whether transcoding (of an MMS message) is needed.
  • [0000]
    TABLE 5
    Comparison of media characteristics and UAProf capabilities in MMS.
    Condition for the content to be suitable for the
    Media characteristic UAProf descriptor terminal
    X-Mms-Content-Class MmsContentClass The intersection between X-Mms-Content-Class
    media characteristic and UAProf's
    MmsContentClass must be non-empty.
    Media-size at message level MmsMaxMessageSize Media-size at message level must not exceed
    MmsMaxMessageSize.
    Content-type, Content- MmsCcppAccept All MIME type values of content-type, content-
    subtype, Content- subtype and content-description must be element of
    Description MmsCcppAccept.
    Media-pix-x and Media-pix-y MmsMaxImageResolution Media-pix-x by Media-pix-y must not exceed
    MmsMaxImageResolution.
    Charset MmsCcppAcceptCharSet Charset value must be element of
    MmsCcppAcceptCharSet.
    Content-Encoding MmsCcppAcceptEncoding Content-Encoding must be element of
    MmsCcppAcceptEncoding.
    Profile (for application/smil) MmsSmilBaseSet Profile of an application/smil content-type must be
    element of MmsSmilBaseSet.
  • [0049]
    Currently, MMS terminals do not report image and video relevant profiles/capabilities (such as JPEG baseline or progressive, H.263 profile and level). Thus, to implement the invention, MMS terminals need to be enhanced to provide such information so that the terminal capabilities can be compared with media characteristics as described above. In case of an MMS terminal not so enhanced, and when terminal capabilities are not otherwise available, the invention can be practised assuming that the most basic profile and level is supported by the terminal (e.g. JPEG baseline or H.263 Profile 0 level 10 if video is supported). But when available, profile and level information (or profile-level-id) should of course be compared.
  • [0050]
    Referring now to FIG. 3 (and still also to FIG. 2), the invention is shown as providing a method including a first step 31 in which the sending terminal's user agent 21 a inserts media characteristics information in a message (after possibly analyzing each media component) intended for the receiving terminal 25. In a next step 32, the sending terminal 21 sends the message to the receiving terminal 25, with the result that the message arrives at the messaging server 22 en route to the receiving terminal. In a next step 33, the messaging server reads the inserted media characteristics, compares them with actual or assumed capabilities of the receiving terminal (actual being obtained e.g. by a look up), and decides whether there is a need for any transcoding. If transcoding is not needed, then in an optional next step 37, the messaging server removes the inserted media characteristics (possibly based on type of receiving terminal), and in a next step 38 the messaging server sends the message to the receiving terminal. If however transcoding is needed (according to the comparison made by the messaging server), then in a next step 34 the messaging server sends the message to the transcoding server 24 (assumed here to be external to the messaging server, but could also be hosted by messaging server) for transcoding (along with an indication of the capabilities of the receiving terminal or its identity information for use in possibly obtaining the capabilities of the receiving terminal, as explained above). In a next step 35 the transcoding engine hosted by the transcoding server transcodes the message based on the capabilities of the receiving terminal, possibly using the inserted media characteristics as a guide to what needs to be transcoded in order to save analysis. Then in a next step 36, the transcoding engine returns the message to messaging server. Then, optionally, the messaging server optionally performs step 37 in which it removes the inserted media characteristics. Finally, the messaging server sends the message to the receiving terminal (in step 38).
  • [0051]
    As explained above, the invention provides both a method and corresponding equipment consisting of various modules providing the functionality for performing the steps of the method. The modules may be implemented as hardware, or may be implemented as software or firmware for execution by a processor. In particular, in the case of firmware or software, the invention can be provided as a computer program product including a computer readable storage structure embodying computer program code—i.e. the software or firmware—thereon for execution by a computer processor.
  • [0052]
    It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. In particular, the invention applies to a wide range of messaging servers including MMS Proxy-relays, SIP messaging servers, e-mail servers, and others. Also, the terminals are not limited to wireless terminals but include PCs, PDAs, and other kinds of terminals able to be used for communication. Further, the term multimedia message should be understood to include any message containing multimedia content, including e.g. one or more of the following kinds of content: images, video, audio, and text, as well as other kinds of content. In addition, the transcoding server can be an external server to the messaging server or be an internal process handling transcoding within the messaging server. Finally, numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5457499 *8 Sep 199310 Oct 1995Massachusetts Institute Of TechnologySource adaptive television system
US5802314 *5 Jun 19951 Sep 1998Canon Kabushiki KaishaMethod and apparatus for sending and receiving multimedia messages
US5953506 *17 Dec 199614 Sep 1999Adaptive Media TechnologiesMethod and apparatus that provides a scalable media delivery system
US6101328 *31 Dec 19978 Aug 2000Intel CorporationSystem for preventing multiple instances of the same dynamic executable module
US6215774 *24 Oct 199710 Apr 2001Intel CorporationSystem for dynamically determining effective speed of a communication link
US6333919 *21 Oct 199725 Dec 2001Telefonaktiebolaget Lm Ericsson (Publ)Methods and arrangement in a communication system
US6343313 *25 Mar 199729 Jan 2002Pixion, Inc.Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US6345279 *23 Apr 19995 Feb 2002International Business Machines CorporationMethods and apparatus for adapting multimedia content for client devices
US6345303 *6 Oct 19975 Feb 2002Intel CorporationNetwork proxy capable of dynamically selecting a destination device for servicing a client request
US6553404 *7 Aug 199822 Apr 2003Prn CorporationDigital system
US6594693 *22 Jan 199915 Jul 2003Nitin A. BorwankarMethod and apparatus for a structured, synchronized conversation using electronic messages over a computer network
US6842768 *1 Mar 200011 Jan 2005Siemens Communications, Inc.Apparatus and method for selectable compression
US6934756 *21 Mar 200223 Aug 2005International Business Machines CorporationConversational networking via transport, coding and control conversational protocols
US6961754 *12 Jan 20011 Nov 2005Telefonaktiebolaget Lm EricssonInteractive access, manipulation, sharing and exchange of multimedia data
US6970935 *1 Nov 200029 Nov 2005International Business Machines CorporationConversational networking via transport, coding and control conversational protocols
US7069301 *7 Feb 200227 Jun 2006Siemens AktiengesellschaftMethod and apparatus for sending messages from an MMS system
US7124166 *30 Apr 200217 Oct 2006Aol LlcDuplicating digital streams for digital conferencing using switching technologies
US7133925 *15 Jul 20027 Nov 2006Hewlett-Packard Development Company, L.P.System, method, and format thereof for scalable encoded media delivery
US7155530 *14 Jun 200126 Dec 2006International Business Machines CorporationMacro facilities for direction of streaming digital content
US7159039 *31 Aug 20002 Jan 2007Verizon Laboratories Inc.Systems and methods for providing in-band and out-band message processing
US7181538 *14 Nov 200320 Feb 2007Sybase 365, Inc.System and method for providing configurable, dynamic multimedia message service pre-transcoding
US7200680 *11 Mar 20023 Apr 2007Ericsson Inc.Method, apparatus and system for providing multimedia messages to incompatible terminals
US20010047517 *2 Feb 200129 Nov 2001Charilaos ChristopoulosMethod and apparatus for intelligent transcoding of multimedia data
US20010054109 *13 Jun 200120 Dec 2001Yoshitaka SainomotoMethod for sending and receiving a data frame between at least two data processing apparatuses
US20020049852 *1 Dec 200025 Apr 2002Yen-Jen LeeGlobal messaging with distributed adaptive streaming control
US20020138619 *2 Jul 200126 Sep 2002Theplatform For Media, Inc.Method and system for managing and distributing digital media
US20030018796 *9 May 200223 Jan 2003Jim ChouTranscoding multimedia information within a network communication system
US20030061368 *13 May 199727 Mar 2003Navin ChaddhaAdaptive right-sizing of multicast multimedia streams
US20030177255 *13 Mar 200218 Sep 2003Yun David C.Encoding and decoding system for transmitting streaming video data to wireless computing devices
US20030200337 *12 Mar 200323 Oct 2003Dilithium Networks, Inc.Method and system for improved transcoding of information through a telecommunication network
US20040083291 *28 Oct 200229 Apr 2004Pekka PessiSystem and method for conveying terminal capability and user preferences-dependent content characteristics for content adaptation
US20040111476 *6 Dec 200210 Jun 2004Nokia CorporationSystem, method and computer program product for the delivery of media content
US20040117427 *12 Sep 200317 Jun 2004Anystream, Inc.System and method for distributing streaming media
US20040255041 *12 Jun 200316 Dec 2004Shih-Li WenSystem and method for multimedia messages interchange between different communication interfaces
US20050064852 *30 Jun 200424 Mar 2005Sveinn BaldurssonContent publishing over mobile networks
US20050138123 *23 Oct 200223 Jun 2005Hong-Seo YunApparatus and method for offering event image mail service using multimedia messaging service
US20060075040 *29 Sep 20046 Apr 2006Mazen ChmaytelliMessage thread handling
US20060168297 *7 Dec 200527 Jul 2006Electronics And Telecommunications Research InstituteReal-time multimedia transcoding apparatus and method using personal characteristic information
US20060230154 *20 Jun 200512 Oct 2006Nokia CorporationMethod and entities for performing a push session in a communication system
US20140241629 *28 Feb 201328 Aug 2014Facebook, Inc.Methods and systems for differentiating synthetic and non-synthetic images
Classifications
U.S. Classification709/206
International ClassificationH04W88/18, H04W4/18, H04L12/58
Cooperative ClassificationH04L51/38, H04W4/18, H04L51/066, H04L51/04, H04L51/10, H04W88/184