WO2017125509A1 - Method and system for sharing media content between several users - Google Patents
Method and system for sharing media content between several users Download PDFInfo
- Publication number
- WO2017125509A1 WO2017125509A1 PCT/EP2017/051111 EP2017051111W WO2017125509A1 WO 2017125509 A1 WO2017125509 A1 WO 2017125509A1 EP 2017051111 W EP2017051111 W EP 2017051111W WO 2017125509 A1 WO2017125509 A1 WO 2017125509A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- media content
- contribution
- topic
- user
- client application
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000009877 rendering Methods 0.000 claims description 169
- 230000000977 initiatory effect Effects 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 30
- 230000002123 temporal effect Effects 0.000 claims description 28
- 238000001914 filtration Methods 0.000 claims description 18
- 239000013256 coordination polymer Substances 0.000 claims description 8
- 101000801040 Homo sapiens Transmembrane channel-like protein 1 Proteins 0.000 description 56
- 102100033690 Transmembrane channel-like protein 1 Human genes 0.000 description 56
- 238000012545 processing Methods 0.000 description 27
- 238000004590 computer program Methods 0.000 description 24
- 241000283715 Damaliscus lunatus Species 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 239000004297 potassium metabisulphite Substances 0.000 description 12
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 101800000246 Allatostatin-1 Proteins 0.000 description 7
- 102100036608 Aspartate aminotransferase, cytoplasmic Human genes 0.000 description 7
- 101000605028 Homo sapiens Large neutral amino acids transporter small subunit 3 Proteins 0.000 description 7
- 102100038269 Large neutral amino acids transporter small subunit 3 Human genes 0.000 description 7
- 102100026533 Cytochrome P450 1A2 Human genes 0.000 description 6
- 101000855342 Homo sapiens Cytochrome P450 1A2 Proteins 0.000 description 6
- 239000004285 Potassium sulphite Substances 0.000 description 6
- 101000726148 Homo sapiens Protein crumbs homolog 1 Proteins 0.000 description 5
- 102100027331 Protein crumbs homolog 1 Human genes 0.000 description 5
- 101000825534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S2 Proteins 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 101000610557 Homo sapiens U4/U6 small nuclear ribonucleoprotein Prp31 Proteins 0.000 description 4
- 101001109965 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L7-A Proteins 0.000 description 4
- 101001109960 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L7-B Proteins 0.000 description 4
- 102100040118 U4/U6 small nuclear ribonucleoprotein Prp31 Human genes 0.000 description 4
- 239000004295 calcium sulphite Substances 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- GEHJYWRUCIMESM-UHFFFAOYSA-L sodium sulphite Substances [Na+].[Na+].[O-]S([O-])=O GEHJYWRUCIMESM-UHFFFAOYSA-L 0.000 description 3
- 101000957756 Homo sapiens Microtubule-associated protein RP/EB family member 2 Proteins 0.000 description 2
- 101000854060 Homo sapiens Oxygen-regulated protein 1 Proteins 0.000 description 2
- 101000628575 Homo sapiens Serine/threonine-protein kinase 19 Proteins 0.000 description 2
- 101001128051 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L3 Proteins 0.000 description 2
- 102100026757 Serine/threonine-protein kinase 19 Human genes 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000004296 sodium metabisulphite Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102100024630 Asc-type amino acid transporter 1 Human genes 0.000 description 1
- 102100031476 Cytochrome P450 1A1 Human genes 0.000 description 1
- 241000197200 Gallinago media Species 0.000 description 1
- 101000941690 Homo sapiens Cytochrome P450 1A1 Proteins 0.000 description 1
- 108091006242 SLC7A10 Proteins 0.000 description 1
- 238000004737 colorimetric analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000004289 sodium hydrogen sulphite Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Definitions
- the disclosure generally relates to the field of telecommunication and digital data processing and more specifically to the exchange and / or sharing of media content between several users through at least one telecommunication network.
- a known solution for sharing media content between several users involves using an email / messaging application for sending emails / messages with one or more media content as attachments or a hyperlink to a cloud media server.
- Each of the recipient users may then modify one of the received media contents and send a response email including the modified media content.
- different users may have to share information / discuss / made comments on a different part of a given video content.
- different members of a family may want to share a picture content (concerning their last holidays) and send some comments relatively to different parts of the video content.
- Each recipient user of the modified media content may then further modify the media content and send a further response email including the further modified media content.
- each time a recipient user wants to share with other users a modified media content he / she has to send an email with the modified content to each of the other users or to upload the modified content to a cloud media server.
- the necessary bandwidth and the amount of data that have to be transmitted through the underlying telecommunication networks may thus drastically increase, moreover when the media content includes a video content.
- each modified media content has a size which is similar or even larger than that of the original media content.
- this kind of solution is not convenient when the recipient user wants to send an image-based content (i.e. image(s) or video) as an annotation of a received image-based content.
- image-based content i.e. image(s) or video
- the software applications for combining video content are usually complex and difficult to use for a non-expert user, and, on the other hand, in the absence of such a software application, the relationship between the original video content and the annotation video content may need to be explained separately, for example in a text message incorporated in a response email.
- the media content is an image-based media content, i.e. including at least one image
- this kind of solution is not enable to track the contribution of each individual user concerning the modifications brought to an original media content.
- the tracking is a special challenge because the amended image-based media content is usually sent in a single layer pixel format (BMP, JPEG, PNG, TIFF format etc.) in which the graphic / image elements have been combined with original media content and cannot be separated easily from original media content except by using some expert functions for image analysis and features recognition.
- the modification of the media content is usually performed in a dedicated software application for editing media content that is usually distinct from the email / messaging application.
- a dedicated software application for editing media content that is usually distinct from the email / messaging application.
- this may represent a difficulty for a non-expert user.
- the present disclosure relates to a method for sharing media contents between several users.
- the method involves sending, by a first client application executing on a first user device of an initiating user, to a server application, at least one request for registering a media content as a topic of a media content exchange between several users; allowing, by a second client application executing on a second user device, a contributing user to make a first contribution to said topic relatively to a first portion of the topic media content; sending, by the second client application, to said server application at least one request for registering first association data representing said first contribution, wherein said first association data represent an association between the first portion of the topic media content and at least one first contribution media content selected to form said first contribution; receiving, by a third client application executing on a user device of a recipient user, from said server application, contribution reproduction data comprising the first association data and; reproducing, by the third client application, said first contribution by rendering a first combined media content resulting from a combination of at least one portion
- the method further comprise receiving, by the second or the third client application from the server application, first access data for accessing from a user device to the topic media content via a remote media server.
- the topic media content is a media content provided by a source application executing on said first user device and the first access data comprises an identification of the source application and at least one application parameter for obtaining the topic media content from the source application.
- the topic media content is web page accessible via a web server and the first access data comprising a hypertext link to said web page via said web server.
- the present disclosure relates to a user device including a processor, a memory operatively coupled to the processor, said memory comprising instructions of a client application configured to communicate with a server application, said instructions comprising instructions for sending to said server application at least one request for registering a media content as a topic of a media content exchange between several users; allowing a contributing user to make a first contribution to said topic relatively to a first portion of the topic media content; sending, to said server application at least one request for registering first association data representing said first contribution, wherein said first association data represent an association between the first portion of the topic media content and at least one first contribution media content selected to form said first contribution; receiving, from said server application, contribution reproduction data representative of a second contribution and; reproducing said second contribution by rendering a first combined media content resulting from a combination of at least one portion of a second contribution media content with a second portion of the topic media content.
- the present disclosure relates to system including a processor, a memory operatively coupled to the processor, said memory comprising instructions of a server application configured to communicate with at least one client application, said instructions comprising instructions for registering, on request of a first client application executing on a user device of an initiating user, a media content as a topic of a media content exchange between several users; registering, on request of a second client application executing on a user device of a contributing user, first association data representing a first contribution to said topic relatively to a first portion of the topic media content, wherein said first association data represent an association between the first portion of the topic media content and at least one first contribution media content selected to form said first contribution; sending to a third client application executing on a user device of a recipient user, contribution reproduction data comprising the first association data enabling a reproduction by the third client application of said first contribution, said reproduction comprising rendering a first combined media content resulting from a combination of at least one portion of said first contribution media content with said first
- the present disclosure relates to computer-readable storage medium storing computer-executable instructions including instructions of a client application configured to communicate with a server application, said instructions comprising instructions for sending to said server application at least one request for registering a media content as a topic of a media content exchange between several users; allowing a user to make a first contribution to said topic relatively to a first portion of the topic media content; sending, to said server application at least one request for registering first association data representing said first contribution, wherein said first association data represent an association between the first portion of the topic media content and at least one first contribution media content selected to form said first contribution; receiving, from said server application, contribution reproduction data representative of a second contribution and; reproducing said second contribution by rendering a first combined media content resulting from a combination of at least one portion of a second contribution media content with a second portion of the topic media content.
- the media content exchange is implemented in the context of a discussion group comprising the initiating user, the contribution user and the recipient user. In at least one embodiment, the media content exchange is implemented in the context of a service of media content provider.
- the topic media content and the first contribution media content are video contents and the first portion of the topic media content comprises a group of at least one image of the topic media content.
- Fig. 1A is a schematic representation of a system for sharing media contents in accordance with one embodiment
- Fig. IB is a schematic representation of a user device and computing server in accordance with one embodiment
- Figs. 2A-2G illustrate respectively a flow diagram of an exemplary method according to at least one embodiment
- Figs. 3A-3D are different entity-relationship diagrams according to an example embodiment.
- Fig. 4 represents schematically an example of a dependency graph that illustrates one embodiment
- Figs. 5A-5C illustrate graphically some aspects of the disclosed embodiments
- Figs. 6A-6I represent user interfaces according to at least one embodiment
- Figs. 7A-7E represent user interfaces according to at least one embodiment.
- the present disclosure relates to a device, system and method for sharing media contents between several users. Different embodiments are disclosed herein.
- the sharing or exchange of media content between the users may be implemented in different technical ecosystems: for example in the context of a messaging service, of a discussion group, of a media content provider or of a social network.
- the users participating to the media content exchange may be users invited by a first user.
- the media content exchange is implemented in the context of a service of a media content provider, any user having access to the media content provider may participate as part of the media content exchange.
- the media content exchange is implemented in the content of a social network, some or all of the users connected with a given user may for example be selected for defining the group of users participating as part of the media content exchange.
- a user participating as part of a media content exchange is referred to herein as a participating user.
- a participating user may select a topic for the media content exchange: a user selecting a topic media content is referred to herein as the initiating user.
- a participating user may make a contribution to a selected topic: a user making a contribution referred to herein as a contributing user.
- a participating user receiving information data on a topic selected by another user and / or on a contribution made by another user is referred to herein as a recipient user.
- Media content is selected by an initiating user to form the topic for the media content exchange.
- Media content which forms a topic is referred herein as topic media content.
- a server application registers the topic by storing topic association data representative of the topic.
- the topic association data may be representative of an association between the selected topic media content and the initiating user.
- the data file(s) encoding the topic media content are stored on a media server so as to be accessible to users participating as part of the exchange.
- the server application stores access data for accessing to the topic media content from a user device via the media server.
- the media server may be a remote media server accessible from a user device through a network.
- Topic reproduction data may be sent by the server application to the participating users on the basis of the registered topic association data for enabling a reproduction of the topic.
- One or more participating user may contribute by adding one or more media contents that form a contribution to the selected topic relatively to a portion of the topic media content.
- Media content which forms a contribution to a topic is referred to herein as a contribution media content.
- the server application registers, for each contribution of a user, contribution association data representative of the contribution.
- the contribution association data may represent an association between the portion of the topic media content and the contribution media contents.
- the data file(s) of the contribution media content are stored on a media server so as to be accessible to users participating to the exchange.
- the server application stores access data for accessing to the contribution media content from a user device via the media server.
- the media server may be a remote media server accessible from a user device through a network.
- the server application sends contribution reproduction data to one or more user devices of the participating user for enabling a reproduction of the corresponding contribution.
- the contribution of a user may then be reproduced on the device of recipient user on the basis of the contribution reproduction data, received from the server application.
- the contribution reproduction data may include an identification of the portion of the topic media content relative to which the contribution has been made. This identification may include at least one rendering coordinate defining a rendering point relative to at least one axis of a rendering coordinate system associated with the topic media content.
- a combined media content resulting from a combination of at least a portion of the topic media content and contribution the media content may be rendered on the basis of the received identification of the portion of topic the media content.
- the media content(s) that form the topic of the discussion group or a contribution to the topic may be uploaded only once on a recipient user device of a participating user and the reproduction of the contribution of the users may be performed by this recipient user device on the basis of the received contribution reproduction data, for example, according to the identification of the portion of the topic media content (or rendering coordinate) specified by the contributing user.
- the tracking of the contribution of the different users is implemented by registering a user identifier of a contributing user in association with the data representing a contribution of the contributing user and by registering a user identifier of the initiating user in association with the data representing the topic.
- a user identifier may be displayed while rendering the contribution of a user on a user device.
- the selection of a topic, contributions to a topic, selection, rendering and editing of media contents may be performed in the context of a single client application.
- topic media content may be a 3D content or a web page or any content provided by a source application, therefore providing new possibilities for exchanging media content between users.
- Embodiments of computer-readable media includes, but are not limited to, both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- software instructions or computer readable program code to perform embodiments described herein may be stored, temporarily or permanently, in whole or in part, on a non-transitory computer readable medium of a local or remote storage device including one or more storage media.
- a computer storage medium may be any physical media that can be read, written or more generally accessed by a computer.
- Examples of computer storage media include, but are not limited to, a flash drive or other flash memory devices (e.g. memory keys, memory sticks, key drive), CD-ROM or other optical storage, DVD, magnetic disk storage or other magnetic storage devices, solid state memory, memory chip, RAM, ROM, EEPROM, smart cards, a relational database management system (RDBMS), a traditional database, or any other suitable medium from that can be used to carry or store program code in the form of instructions or data structures which can be read by a computer processor.
- flash drive or other flash memory devices e.g. memory keys, memory sticks, key drive
- CD-ROM or other optical storage DVD
- magnetic disk storage or other magnetic storage devices solid state memory
- solid state memory memory chip
- RAM random access memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- smart cards e.g., electrically erasable
- various forms of computer-readable medium may be used to transmit or carry instructions to a computer, including a router, gateway, server, or other transmission device, wired (coaxial cable, fiber, twisted pair, DSL cable) or wireless (infrared, radio, cellular, microwave).
- the instructions may include code from any computer-programming language, including, but not limited to, assembly, C, C++, Basic, SQL, MySQL, HTML, PHP, Python, Java, Javascript, etc.
- FIG. 1 illustrates an example content sharing system 100 in which the various technologies and techniques described herein may be implemented.
- the content sharing system 100 includes one or more computing servers 103A-103G and a plurality of user devices 104A-104C which are operatively and communicatively coupled with one another through a network 105.
- the network 105 may be any data transmission network, for example a wired (coaxial cable, fiber, twisted pair, DSL cable, etc.) or wireless (radio, infrared, cellular, microwave, etc.) network, a local area network (LAN), internet area network (IAN), metropolitan area network (MAN) or wide area network (WAN) such as the Internet, a public or private network, a virtual private network (VPN), a telecommunication network with data transmission capabilities, a single radio cell with a single connection point like a Wifi or Bluetooth cell, etc.
- LAN local area network
- IAN internet area network
- MAN metropolitan area network
- WAN wide area network
- VPN virtual private network
- telecommunication network with data transmission capabilities a single radio cell with a single connection point like a Wifi or Bluetooth cell, etc.
- Each user device 104A-104C may be implemented as a single hardware device, for example in the form of a desktop personal computer (PC), a laptop, a personal digital assistant (PDA), a smart phone or may be implemented on separate interconnected hardware devices connected one to each other by a communication link, with wired and/or wireless segments.
- PC personal computer
- PDA personal digital assistant
- Each user device 104A-104C generally operates under the control of an operating system and executes or otherwise relies upon various computer software applications, components, programs, objects, modules, data structures, etc.
- a user device As represented schematically on Fig. IB, In one or more embodiments, a user device
- 104A-104C comprises a processing unit 110, memory 111, one or more computer storage media 112, and other associated hardware such as input/output interfaces (e.g. device interfaces such as USB interfaces, etc., network interfaces such as Ethernet interfaces, etc.) and a media drive 113 for reading and writing the one or more computer storage media 112.
- input/output interfaces e.g. device interfaces such as USB interfaces, etc., network interfaces such as Ethernet interfaces, etc.
- media drive 113 for reading and writing the one or more computer storage media 112.
- the memory 111 of a user device 104A-104C may be a random access memory (RAM), cache memory, non-volatile memory, backup memory (e.g., programmable or flash memories), read- only memories, or any combination thereof.
- the processing unit 110 of a user device 104A-104C may be any suitable microprocessor, integrated circuit, or central processing unit (CPU) including at least one hardware-based processor or processing core.
- each computer storage medium or media 112 of a user device 104 A- 104C may contain computer program instructions which, when executed by the processing unit 110, cause the user device 104A-104C to perform one or more method described herein for a user device 104A-104C.
- the processing unit 110 of a user device 104A-104C may be configured to access to said one or more computer storage media 112 for storing, reading and/or loading computer program instructions or software code that, when executed by a processor, causes the processor to perform the steps of a method described herein for a user device 104A-104C.
- the processing unit 110 of a user device 104A-104C may be configured to use the memory 111 of a user device 104A-104C when executing the steps of a method described herein for a user device 104A-104C, for example for loading computer program instructions and for storing data generated during the execution of the computer program instructions.
- Each user device 104 A- 104C also generally receives a number of inputs and outputs for communicating information externally.
- a user device 104A-104C For interface with a user 101A-101C or operator, a user device 104A-104C generally includes a user interface 114 incorporating one or more user input/output devices, e.g., a keyboard, a pointing device, a display, a printer, etc. Otherwise, user input may be received, e.g., over a network interface coupled to the network 105, from one or more external computers, e.g., one or more user device 104A-104C or other computing servers 103A-103G.
- each computing server 103A-103G may be implemented as a single hardware device or may be implemented on separate interconnected hardware devices connected one to each other by a communication link, with wired and/or wireless segments.
- Each computing server 103A-103G may be implemented within a cloud computing environment.
- the set of computer servers 103A-103G include at least three media servers 103A-103C, a database server 103D, a front-end server 103E, a processing server 103F and a messaging server 103G.
- Each computing server 103A-103G generally operates under the control of an operating system and executes or otherwise relies upon various computer software applications, components, programs, objects, modules, data structures, etc.
- a computing server 103A-103G includes a processing unit 120, memory 121, one or more computer storage media 122, and other associated hardware such as input/output interfaces (e.g. device interfaces such as USB interfaces, etc., network interfaces such as Ethernet interfaces, etc.) and a media drive 123 for reading and writing the one or more computer storage media 122.
- input/output interfaces e.g. device interfaces such as USB interfaces, etc., network interfaces such as Ethernet interfaces, etc.
- media drive 123 for reading and writing the one or more computer storage media 122.
- the memory 121 of a computing server 103A-103G may be a random access memory
- the processing unit 120 of a computing server 103A- 103G may be any suitable microprocessor, integrated circuit, or central processing unit (CPU) including at least one hardware-based processor or processing core.
- each computer storage medium or media 122 of a computing server 103A-103G may contain computer instructions which, when executed by the processing unit 120, cause the computing server 103A-103G to perform one or more method described herein for a computing server 103A-103G.
- the processing unit 120 of a computing server 103A-103G may be configured to access to said one or more computer storage media 122 for storing, reading and/or loading computer program instructions or software code that, when executed by a processor, causes the processor to perform the steps of a method described herein for a computing server 103A-103G.
- the processing unit 120 of a computing server 103A-103G may be configured to use the memory 121 of a computing server 103A-103G when executing the steps of a method described herein for a computing server 103A-103G, for example for loading computer program instructions and for storing data generated during the execution of the computer program instructions.
- Each user device 104A- 104C is operatively connected to one or more computing servers
- Each user device 104A-104C is configured to communicate through at least one communication link with at least one of the computing servers 103A-103G.
- each user device 104A-104C executes computer program instructions of a client software application 106 (also referred to as “client application 106") that, when executed by the processor of the user device, causes the processor to perform the method steps described herein for any of the user devices 104 A- 104C.
- client software application 106 also referred to as “client application 106”
- server application 107 on at least one of the computer server 103E- 103F executes computer program instructions of a server software application 107 (also referred to as "server application 107") that, when executed by the processor of one of the computer server 103E- 103F, causes this processor to perform the method steps described herein for one of the computer server 103E- 103F.
- the server application 107 is executed by the front-end server 103E, which is itself operatively connected to at least one of the computer servers 103C, 103D, 103F, and / or 103G for implementing the steps of a method described herein for the server application 107.
- the processing server 103F is used as an auxiliary server for the front- end server 103E to run some time consuming processing functions (for example media content processing functions, such as media transcoding functions, media content format decoding, and / or encoding, etc.) on request of the front-end server 103E.
- the communication link between a client software application 106 and the server software application 107 may use any suitable communication protocol.
- a HTTP (Hyper Text Transfer) based protocol may be used, such a web service communication protocol like SOAP (Simple Object Access Protocol). Any other protocol may be used, for example a proprietary protocol.
- the client application 106 of a user device 104A-104C is operatively connected to the server application 107 for implementing an embodiment of a method for sharing media content disclosed herein.
- the client application 106 includes computer program instructions for communicating by means of messages with the server application 107.
- the client application 106 includes computer program instructions for generating, sending to the server application 107 and for receiving and processing messages received from the server application 107.
- the server application 107 may include computer program instructions for communication with the client application 106, in particular for generating and sending to the client application 106 and for receiving and processing messages received from the client application 106.
- the 106 may be messages including data related to a media content exchange between several users 101A- 101C, for example data related to a user, to a media content, to a topic of a media content exchange, to a contribution made by a user in the context of the media content exchange.
- the messages sent by the server application 107 or respectively the client application 106 may be any kind of messages: messages, requests, information messages, messages with user generated content or computer generated content, etc.
- Each media server 103A-103C is operatively coupled to one or more media content databases 102A-102C for storing media content.
- Each media server 103A-103C provides an interface for receiving and processing data request for media content stored in one media content database 102A- 102C, for example request for storing media content in one media content database 102A-102C and for retrieving, searching, modifying media content stored in one media content database 102A-102C.
- Each media server 103A-103C may be any web server application, remote server application, storage server in a cloud, or more generally any software application configured to store and retrieve media content and to process upload requests - or respectively download requests - from a remote device for uploading - or respectively downloading - one or more media contents.
- the media server 103 A is a web server which is accessible through Internet from all the user devices 104A-104C
- the media server 103B is a media server in a cloud computing environment, which is accessible only for one of the user devices 104A-104C.
- the media server 103C may be implemented as a content delivery network (CDN) for storing content which have to be available not only from the front-end server 103E but also from any of the user devices 104A- 104C.
- CDN content delivery network
- the media server 103C is used for storing media content, which are stored on one of the user devices 104A-104C or one of the media server 103A- 103B when this media content have to be accessible from each of the user devices 104A-104C.
- media content may include a video content, an audio content, a text content, an image content, a graphic content, or any combination thereof, for example a web page or a multimedia content.
- Video content maybe 3D content, stereoscopic 3D video content, 2D video content, a list of independently coded images, etc.
- Audio content may include mono audio content, stereo audio content, 3D audio content, etc.
- Media content may be coded in any format including, for example, JPEG, TIFF, MPEG, WAV, DOC, HTM, OBJ, DAE, FBX, DXF, X3D, MOV (QUICKTIME ® ), etc.
- the media content data may be encoded within one or several data files.
- video content may be encoded as a group of images, each image being encoded in a separate data file.
- one or more rendering points on media content are used.
- a rendering point on media content may be defined by a set of at least one rendering coordinate relative to a rendering coordinate system associated with this media content.
- a rendering point defines a user view on that portion (part, extract or media subset) of the media content.
- a rendering point identifies this particular portion of the media content. This particular portion of the media content may, for example, be extracted from the media content to be rendered for a user.
- a rendering point defines a start position from which the rendering of this media content may start. In one or more embodiments, a rendering point identifies a portion of that media content starting at that start position. This rendering point may be selected by a user and the corresponding portion of the media content may be rendered.
- the start position is a temporal coordinate relative to a temporal axis of the rendering coordinate system and the portion of the media content is a set of at least one user view of the media content starting at that temporal coordinate.
- the start position is a spatial coordinate relative to a one, two or three-dimensional coordinate system of the rendering coordinate system and the portion of the media content is a zone of a page of the media content starting at that spatial coordinate.
- the media content is "visual content” (e.g., video content, image content, graphic content, text content, etc.) and may define a specific view on that visual content.
- a rendering point will thus also be referred to in the present disclosure as a “viewpoint” or “point of view” or POV for all kind of content, including video and audio contents.
- a rendering point on media content that is a video content may be defined by an image identifier (image number, timecode, or any other identifier), the portion of the media content being thus the image identified by that image identifier.
- the associated rendering coordinate system is a three-dimensional (3D) coordinate system including a temporal axis defining the image number or timecode. The image identifier thus defines a start position relatively to that temporal axis.
- a rendering point on media content that is video content may be defined by two image identifiers, the portion of that media content being the image sequence between a first image identified by the first image identifier and a second image identified by the second image identifier.
- the associated rendering coordinate system is a 3D coordinate system including a temporal axis defining the image number or timecode.
- a rendering point on a media content which is a 3D content of a scene may be defined by a temporal coordinate (start position, timecode, or any other identifier) and at least one camera position (e.g. coordinates of the camera in the three dimensional space corresponding to scene acquired by the camera), the portion of that media content being thus the view identified by that temporal coordinate and that camera position.
- the associated rendering coordinate system is a four-dimensional (4D) rendering coordinate system comprising a temporal axis defining the image number (i.e. a temporal position in the video content) and a 3D coordinate system for defining the camera position.
- a rendering point on a media content which is a text content may be defined by one or two character identifiers (character number or position within an alphanumeric sequence encoding the text), the portion of that media content being thus the text comprised between a first character identified by the first character identifier and a second character identified by the second character identifier.
- the associated rendering coordinate system is a one-dimensional (ID) coordinate system identifying the characters in the alphanumeric sequence.
- the character identifier(s) thus define a start position relatively to a ID coordinate system.
- a rendering point on a media content which is an audio content may be defined by a temporal position (timecode, or time), the portion of that media content being thus a portion of the audio content starting at that temporal position.
- the associated rendering coordinate system is a ID coordinate system corresponding to the temporal axis of the audio media content.
- a rendering point on a media content which is an image may be defined by two points in the image, the portion of that media content being thus the sub-image having the first point as the top right corner and the second point as the bottom left corner.
- the associated rendering coordinate system is a 2D coordinate system corresponding to the vertical and horizontal axis of the image. The points thus define a start position relatively to that 2D coordinate system.
- a single point such as the top left / right corner
- a width and height of the sub-image may be used to define the sub-image.
- a rendering point on a media content which is a web page provided by a web server may be defined by two points in the page or the top left / right corner of a page zone and a width and height of that page zone, the portion of that media content being thus the defined page zone.
- the associated rendering coordinate system is a 2D coordinate system corresponding to the vertical and horizontal axis of the web page. The points thus define a start position relatively to that 2D coordinate system.
- a single point (such as the top left / right corner) and a width and height of the sub-image may be used to define the sub-image.
- a rendering point on a media content which is an image content provided by a source software application such as navigation application may be defined by a geographic position (e.g., a set of geographic coordinates, that may be in GPS system or other geographic localization system), the portion of that media content being thus an image or representation of a geographic zone around that geographic position generated by that navigation application for that geographic position.
- the associated rendering coordinate system is the 2D or 3D coordinate system of the localization system.
- the client application 106 of a user device 104A-104C includes computer program instructions for processing media content.
- Those computer program instructions for processing media content may include computer program instructions for implementing a multimedia player or Tenderer, e.g. for loading in a memory and rendering at least one portion of a media content.
- the client application 106 includes at least some functionalities of an audio and / or video player, an image viewer, a text reader, a web page reader, 3D reader, 3D viewer, etc.
- the client application 106 of a user device 104A-104C includes computer program instructions for implementing a media content editor, thus enabling a user to create and / or edit at least one media content.
- the client application 106 includes functionalities of an image editor, a video editor, an audio content editor, a text editor, a graphic editor, etc.
- the client application 106 of a user device 104A-104C includes computer program instructions for obtaining filter parameters and for applying a filter to a media content according to at least one filter parameter.
- the client application 106 of a user device 104A-104C includes computer program instructions for obtaining combination parameters and for generating combined media content from at least two media contents according to at least one combination parameter.
- the client application 106 of a user device 104A-104C is operatively connected to one or more media servers 103A-103C and includes computer program instructions for requesting a media content from a remote media servers 103A-103C, for uploading one or more media contents to a remote media servers 103A-103C and for downloading one or more media contents from a remote media servers 103A-103C.
- the database server 103D is operatively coupled to one or more databases 102D for storing data related to media content exchange.
- the database server 103D implements a database management system (ORACLE ® , SQL, Sybase ® ...) and provides an interface for receiving and processing data request for data stored in one of the databases 102D, for example request for storing, retrieving, searching, modifying data stored in one of the databases 102D.
- the database 102D is used for storing data sets representing different entities related to a media content exchange and the relationships between those entities.
- a data set may be a data structure in a software application, an object in the context of an object- oriented software, a set of data representing an entity of relational database software, etc.
- the database 102D is used for storing several data sets concerning the users 101A-10C and their user devices 104A-104C.
- the database 102D is used for storing user data sets representing user accounts of users 101A-101C and device data sets representing user devices 104A-104C used by the users 101A-101C. While Fig. 1A represents only one user device for one user, each us er 101 A- 101 C may us e one or more us er devices configured with a client software application 106 for communicating with the server software application 107.
- Those data sets are used for controlling the access of the user to the server application 107 and for identifying the device(s) used by a given user when accessing to server application 107.
- a user data set may include, for example, a user identifier, a user name, a user password, a creation time, a modification time, an access time, etc.
- the user identifier may be a user email, an alphanumerical string, a picture, etc.
- the user identifier may be used to uniquely identify a user account.
- the user identifier may be allocated by the server application 107.
- the user account may be a user account specific to the client application 106 and the method of sharing content described herein or a user account of another software application in the context of which the client application 106 is executed.
- a device data set may, for example, include a device identifier, a device type, an operating system identification, a creation time, a modification time, and an access time.
- the database 102D is used for storing several data sets concerning the media content exchanges between users. Those data sets may be organized and stored in different ways. Those data sets are used to define relationships and/or associations between users, media contents and user groups. Those data sets are stored in association for coding and representing the events occurring during one or more communication sessions established between the users participating to one or more media content exchanges. For example topic association data are stored for representing a topic of a media content exchange. For example contribution association data are stored for representing a contribution to a media content exchange. Topic association data are association data representing a topic, while contribution association data are association data representing a contribution to a topic. In at least one embodiment, those events include at least the creation of a user group, the definition of a new topic for a media content exchange, and the contribution of a user to a topic of a media content exchange.
- the data sets in the database 102D include user group data sets, topic data sets, rendering point data sets, media content data sets, etc.
- a user group data set represents a user group and may include a user group identifier, a creation time and / or a modification time.
- a creation (or alternatively modification) time may correspond to a time at which the user group data set is created (or alternatively modified) and coded in the form of a timestamp according to a universal clock.
- a media content data set represents media content and may include a media content identifier, a content type and / or a creation time.
- a creation time may correspond to a time at which the media content data set is created and coded in the form of a timestamp according to a universal clock.
- a media content data set may, in addition, include access data specifying how to access to the media content.
- the access data may include at least one of a media content identifier, a hypertext link (URL,
- the media content identifier may be a unique content identifier allocated to a media content by a media server media server 103A-103C to be used for requesting the media content data (e.g. for downloading the media content) from that media server 103A-103C.
- a rendering point data set represents a rendering point of a contribution, i.e. a portion on a media content that forms a topic, and may include a rendering point identifier, at least one rendering coordinate, a creation time and /or a modification time.
- a creation (or alternatively modification) time may correspond to a time at which the rendering point data set is created (or alternatively modified) and coded in the form of a timestamp according to a universal clock.
- a topic data set represents a topic of a media content exchange and may include a topic identifier, a topic type, a creation time and / or a modification time.
- a creation (or alternatively modification) time may correspond to a time at which the topic data set is created (or alternatively modified) and coded in the form of a timestamp according to a universal clock.
- the database 102D is used for registering the relationships between different data sets: those relationships represent the relationships or associations between the entities represented by those data sets.
- the functionalities described herein for the client application 106 of a user device 104A-104C are integrated into a host application.
- the host application may be a messaging application like iMessage ® , WhatsApp ® , Facebook messenger ® , Gmail ® , Skype ® , etc.
- the host application may be a web application, for example a social network web application like Facebook ® , Twitter ® , or a media content provider application such as YouTube ® .
- the functionalities of the client application 106 described herein may be implemented by a plug-in, add-on or one or more software component of the host application.
- the host application is configured to communicate with a messaging server application executing on the messaging server messaging server 103G.
- the host application includes computer program instructions for implementing messaging sessions via the messaging server 103G.
- the messaging sessions may be instant messaging session, email messaging session, discussion groups, or other form of messaging session, whether synchronous or asynchronous.
- the messages sent or received by the messaging server 103G are used for sending commands, data and /or information related to a media content exchange from / to the server application 107 and / or from / to a user device 104A-104C.
- the messaging server 103G may send a text message, including a user group identifier of a user group or of a topic registered by the server application 107.
- the client application 106 is configured to establish a communication session with the server application 107 so as to receive message(s) from the server application 107 regarding this user group or this topic, the users of the user group and /or the contribution media contents registered by the server application 107 in association with the topic.
- the user interface of the client application 106 is configured to provide information to a user regarding this user group and to implement user interface items for allowing a user to make a contribution to the topic associated with the user group while remaining in the context of the host application.
- Figs. 2A-2G show flowcharts in accordance with one or more embodiments of a method for sharing media content between several users. While the various steps in the flowchart are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all of the steps may be executed in parallel.
- Figs. 2A-2G illustrate several aspects and embodiments of a method for sharing media content between several users: the registration of a user group, the registration of a topic, the registration of a contribution, the registration of a media content and the rendering of media content(s).
- the steps of the methods described by reference to Figs. 2A-2G are performed by the client application 106 or the server application 107.
- Fig. 2A illustrates one embodiment of a method for registering a user group.
- the user group may for example correspond to a discussion group or any user group defined in a messaging application.
- a first user (or "initiating user"), for example user 101A, wants to share media content with other users.
- User 101A uses its user device 104A configured with a software application 106 to register a discussion group.
- step A201 one or more users (also referred to herein as "invited users") to be invited to the discussion group are selected, either automatically or by the initiating user 101A.
- the user interface of the client application 106 may, for example, include at least one user interface item for selecting users.
- the user interface is used for displaying a contact list in which the initiating user 101A may select one or more users.
- the contact list may be a list of contacts managed by the operation system of user device 104 A, a list of contacts created by means of client application 106, or a list of contacts created by means of another client application, for example a client application of the messaging server 103G or a contact list created and managed by the front-end server 103E.
- the initiating user 101A selects in the displayed contact list one or more contacts representing users that the initiating user 101A wants to invite to the discussion group and the client application 106 obtains a list of at least one user to be invited to the discussion group. For example, user 101B and user 101C are invited to participate to the discussion group with the initiating user 101A.
- step A202 the client application 106 of user device 104A sends to the server application 107 at least one request for registering the newly created discussion group GR1.
- the registration of the discussion group is performed by the server application 107 by allocating to the discussion group GR1 a user group identifier and by creating and recording a user group data set representing the discussion group GR1 in the database 102D.
- a user data set representing the participating users 101A-101C is stored in the database 102D in association with the user group data set.
- the client application 106 of user device 104A sends to the server application 107 at least one request for registering in the database 102D the user rights relatively to the discussion group.
- the user rights may be defined automatically, for example on the basis of default values, or be defined by the initiating user 101A for each invited user. For example, different users invited to participate to a discussion group may have different levels of right.
- the invited user may participate (e.g. view and render the media content exchanged between the user in the context of the discussion group) but not make a contribution.
- the invited user may make a contribution.
- the invited user may also invite users to participate to the discussion group.
- a more complete set of rights may be assigned by default to the initiating user 101A.
- the initiating user may for example make a contribution, invite users to participate to the discussion group, assign level of right to the participating users, revoke rights, reject an invited user, etc.
- the registration of the user rights is performed by the server application 107 by storing, for each user, a right level information in association with the user group data set representing the user group GR1 and the user data set representing the participating user.
- an existing discussion group which has been created by a host application in which the client application 106 is integrated is used.
- a user identifier of each user belonging to an existing discussion group is provided by the client application 106 to the server application 107 for registration by server application 107 of a user group data set representing this discussion group in relationships with user data sets representing the different users belonging to this discussion group GR1.
- Fig. 2B illustrates one embodiment of a method registering a user group corresponding to users accessing to a service of a media content provider.
- the steps B201-B203 described below may be executed several times, for example for each new user to be registered.
- a first user wants to access to media content(s) published or otherwise accessible in the context of a service of a media content provider.
- the service may be a service for providing media contents via a web site, where those media content(s) may be accessed and viewed by users, with or without a subscription to the service.
- step B201 the server application 107 receives from the client application 106 executing on the user device 104A a request for registering a new user 101 A relatively to a media content exchange.
- the server application 107 allocates a user identifier to user 101A and registers a user data set representing a user account for user 101A.
- user 101A may specify subject matter(s) or domain(s) of interest for which user 101A would like to receive notifications and /or to share content with other users.
- the server application 107 registers in the database 102D the user rights of user 101A.
- the user rights may be defined automatically, for example on the basis of default values or may be dependent on a subscription scheme. For example, at a first level of rights, the user may have right to access to media contents available via the media content provider but not to make contribution relatively to those media content. At a second level the invited user may additionally make a contribution relatively to media content available via the media content provider. At a third level of right, the user may additionally publish new media content via the media content provider.
- step B203 when several users share a same domain(s) of interest or have to participate to a same media content exchange, the server application 107 registers a user group including all the concerned users.
- the registering of the user group is performed by the server application 107 by allocating to the discussion group GR1 a user group identifier and by creating and recording a user group data set representing the user group GR1 in the database 102D.
- Each user data set of a user belonging to the user group is further stored in association with the user group data set.
- New users may be added to the user group depending on further registering requests that may be received at next execution of step B201.
- Fig. 2C illustrates one embodiment of a method for sharing media content between several users.
- the method may be implemented before or after the registering of a user group according to the methods described by reference to Figs. 2A and 2B.
- the method may for example be implemented without any registered user group.
- an initiating user wants to share media content with other users participating to a media content exchange.
- the client application 106 of user devices 104A-104C establishes a communication session with the server application 107 using an appropriate communication protocol.
- a client application 106 of a user devicel04A-104C establishes a communication session with the server application 107
- the client application 106 receives all messages and data that this client application 106 should have received if the communication session had already been established at the time a topic is defined or a contribution is made or a user group is defined.
- the messages and data to be sent to a client application 106 may for example be determined on the basis of timestamps registered for the different data sets stored by the server application 107 in the database 102D when registering a topic, a contribution, a media content, a user or a user group.
- the client applications 106 of the user devices of the participating users are currently operatively connected to the server application 107 via the network 105 so as to receive the messages and data in a synchronous way.
- the client application 106 of the user device 104A allows the initiating user 101A to define a topic.
- the client application 106 of user device 104A obtains one or more media contents that will served up as a topic TOPI for the media content exchange.
- the one or more media contents to be used as a topic may be selected by user 101A among existing media contents or may be created by user 101A, for example as a result of a combination of existing contents or newly generated content (graphic, photo, etc.).
- Media content used as a topic for a media content exchange will be noted topic media content(s) TMC1.
- step C212 once the one or more media contents TMC1 have been identified, the client application 106 sends to a server application 107 at least one request for registering the one or more identified media content TMC1 as a topic of a media content exchange.
- the server application 107 registers the topic TOPI by storing topic association data ASTl representative of the topic TOPI and / or the topic media content TMC1.
- the topic association data ASTl A may include a user identifier of the initiating user.
- a timestamp corresponding to the registration time may be stored for the topic association data ASTl .
- the topic TOPI is registered in association with the registered user group GR1.
- the server application 107 registers the one or more identified media content to make the data file(s) encoding the topic media content TMC1 accessible from any user device 104A-104C of a participating user 101A-101C.
- the topic media content(s) TMC1 are uploaded and stored on a remote media server to be accessible from a user device.
- one or more messages are sent by the server application 107 to the client application 106 of user devices of users participating to the media content exchange after registration of the topic TOPI .
- the client application 106 of a user device of a participating user receives the one or more messages.
- the one or more messages include topic reproduction data, representative of the topic and / or the topic media content, enabling a reproduction of the topic media content(s).
- the topic reproduction data may be generated on the basis of the topic association data ASTl registered in step C212.
- the topic reproduction data may include a subset of these topic association data ASTl .
- the topic reproduction data may include data file(s) encoding the topic media content and / or access data for accessing from a user device to the topic media content via a remote media server.
- the topic reproduction data may include a user identifier of the initiating user.
- the topic reproduction data may include a group identifier of a user group registered by the server application 107 for the media content exchange.
- step C214 on receipt of the one or more messages sent in step C213, the client application 106 of a user device of a participating user is configured to access to the topic media content(s) TMC1 via a remote media server via which the topic media content(s) TMC1 has been made accessible at step C212, for example by downloading at least a portion of the data file(s) encoding the topic media content(s) topic media content(s) TMC1 using the topic reproduction data, for example the access data, sent in step C213.
- the client application 106 of the user device of the participating user is configured to render a portion of and / or the whole topic media content TMC1 on a user interface of the user device of a participating user.
- At least one portion of the topic media content(s) is rendered by the client application 106 executing on a user device 104B or 104C.
- a portion of the topic media content(s) TMC1 is selected by the user 101B or user 101 C to be rendered.
- the first part of a video content forming the topic media content(s) TMC1 will be displayed on a user interface of user device 104B or 104C.
- the client application 106 displays the user identifier of the initiating user and / or a user identifier of one or more users participating to the media content exchange.
- Step C214 may be repeated several times and / or may be executed after step C213 or after step C218.
- step C215 the client application 106 of a user device of a participating user, for example user 101B or user 101A, allows the participating user to contribute to the media content exchange by selecting a portion of the topic media content and making a contribution to the topic of the media content exchange relatively to a selected portion of the topic media content.
- the client application 106 of a user device of a participating user allows the participating user to contribute to the media content exchange by selecting a portion of the topic media content and making a contribution to the topic of the media content exchange relatively to a selected portion of the topic media content.
- the 106 of the user device of the contributing user 101B or 101A obtains one or more media contents that will served up as contribution to the topic of the media content exchange.
- the one or more media contents to be used as a contribution may be selected among existing media contents or may be created by user 101A, for example as a result of a combination of existing contents or newly generated content (graphic, photo, etc.).
- a media content used as a contribution to topic media content will be noted CMC11, CMC 12, CMC21, etc.
- the client application 106 allows the contributing user 101B or 101 A to define rendering parameters for the selected portion of the topic media content(s) TMC1 and / or for the contribution media content(s) CMC11, CMC12.
- the client application 106 allows the contributing user to define at least one logical dependency between two or more contribution media contents.
- the client application 106 obtains rendering parameters and / or logical dependency data representing the one or more logical dependencies.
- Step C215 may be repeated several times and / or may be executed after step C214 or after step C212, C216, or C218.
- step C216 once the one or more contribution media content(s) CMC11, CMC12 have been identified, the client application 106 of the user device of the contributing user lOlB or lOlA sends to said server application at least one request for registering the contribution.
- the request comprises an identification of the portion of the topic media content(s) TMC1 relatively to which the contribution has been made.
- the identification comprise a rendering coordinate POV1 identifying the selected portion of the topic media content(s) TMC1.
- the request includes the rendering parameters and / or logical dependency data obtained at step C215.
- the server application on receipt of the registration request, the server application
- the contribution association data ASCI represents an association between the selected portion of the topic media content(s) TMC1 and the selected contribution media content(s) CMCl 1, CMC 12.
- the contribution association data ASCI may include a user identifier of the contributing user.
- the contribution association data ASCI may include the rendering parameters and / or logical dependency data obtained at step C215.
- a timestamp corresponding to the registration time may be stored for the contribution association data ASCI .
- the contribution association data ASCI are stored in association with the topic association data AST1 registered at step C212.
- the server application 107 registers the one or more contribution media content(s) CMCl 1, CMC 12 to make the data file(s) encoding the contribution media content(s) CMCl 1, CMC12 accessible from any user device 104A-104C of a participating user 101A- 101C.
- the contribution media content(s) CMC11, CMC 12 are uploaded and stored on a remote media server to be accessible from a user device.
- step C217 one or more messages concerning the contribution made in step C215 are sent by the server application 107 to the client application 106 of user devices of the users participating to the media content exchange.
- the one or more messages include contribution reproduction data, representative of the contribution, and / or enabling a reproduction of the contribution on the target user device.
- Topic reproduction data are reproduction data for reproducing a topic
- contribution reproduction data are reproduction data for reproducing a contribution to a topic.
- the contribution reproduction data may include an identification of the portion of the topic media content(s) TMC1 selected in step C215, for example a rendering coordinate POV1.
- the contribution reproduction data may be based on or may comprise a subset of or all of the contribution association data ASCI registered in step C216.
- the contribution reproduction data may include data files encoding the contribution media content(s) CMC11, CMC 12 and / or access data for accessing from a user device to the contribution media content(s) CMC 11 , CMC 12 via a remote media server.
- the contribution reproduction data may include a user identifier of the contributing user.
- the contribution reproduction data may include a topic identifier of the topic TOPI registered by the server application 107 at step C212.
- the contribution reproduction data may comprise the rendering parameters and / or logical dependency data obtained at step C215.
- Step C217 may be repeated several times and / or may be executed after step C214 or after step C216.
- step C218 the client application 106 of user device of a participating user is configured to access to the contribution media content(s) CMC11, CMC 12 via a remote media server via which the contribution media content(s) CMC11, CMC 12 has been made accessible at step C216, for example by downloading the data file(s) encoding the contribution media content(s) CMCl l, CMC 12.
- the client application 106 is configured to reproduce one or more contributions made in step 215. In one or more embodiments, the reproduction is performed as specified by the contribution reproduction data received at step C217.
- the reproduction of a contribution is performed by rendering a combined media content resulting from a combination of at least one portion of the contribution media content(s) CMC11, CMC 12 with the portion of the topic media content selected in step C215.
- the reproduction of one or more contribution is performed according to the rendering parameters and / or logical dependencies defined by the contributing user at step C215 and received at step C217.
- the combination of at least one portion of the contribution media content(s) CMCl l, CMC 12 with the portion of the topic media content is generated on the recipient user device, implementing the client application 106, according to the contribution reproduction data received at step C217.
- a portion of the topic media content(s) TMC1 and / or contribution media content(s) CMC11, CMC 12 to be rendered is selected by the participating user.
- the client application 106 displays the user identifier of the contributing user and / or a user identifier of one or more users participating to the media content exchange.
- Step C218 may be repeated several times and / or executed after step C217 or after step
- the contribution media content(s) CMC11, CMC12 are downloaded on the user device 104A separately from the topic media content(s) TMC1, the combined media content has to be generated on the recipient user device 104A so as to reproduce the contribution on this user device 104A in the form in which this contribution has been made by the contributing user.
- the main phases of the method include the definition of the topic (steps C211-212), the contribution to a topic (steps (C215-C216) and the reproduction of a contribution (steps C217-C218).
- Those different phases may be performed by the same instance of the client application 106 executing on the same user device for the same user or may be executed by different instances of the client application 106 executing on different user devices for the same users or for different users.
- the definition of the topic is performed by a first client application 106 for a first user
- the contribution to the topic is performed by the first client application 106 for a first user and / or by a second client application 106 for a second user
- the reproduction of the contribution is performed by the first or respectively second client application 106 for the first or respectively second user or by a third client application 106 for a third user.
- the definition of the topic is performed by a first client application 106 for a first user
- the contribution to the topic is performed by the first client application 106 for the first user
- the reproduction of the contribution is performed by the first client application 106 for the first user or by a second client application 106 for a second user.
- Fig. 2D illustrates an embodiment of a method for registering a topic. This method for registering a topic may be implemented in the context of a method for sharing media content between several users described by reference to Fig. 2C.
- step D224 one or more media content to be used as a topic for a media content exchange are obtained by client application 106 of user device 104A of an initiating user 101A. Those media contents may be automatically identified by the client application 106 or selected by the initiating user 101A.
- the user interface of the client application 106 may for example include at least one user interface item for selecting media content.
- the user interface comprises a user interface item (button, menu, etc.) for triggering the display of a user interface for searching, browsing, and / or selecting one or more media contents.
- Each selected media content may be a media content stored locally on user device 104A, a media content stored on a remote media server 103B (for example in a private cloud, a content delivery network, a media server in a private network, etc.) which is not accessible by the other user devices of the participating user, a media content provided by a web application via a web server 103 A, a media content provided by a source application executing locally on the user device 104A an which may only be accessed via said source application.
- the client application 106 may include a web browser, a browsing user interface for searching and selecting files and / or a typing zone enabling a user to enter a hypertext link (e.g. URL or URI) toward one or more files corresponding to the selected media content(s).
- a hypertext link e.g. URL or URI
- the client application 106 obtains at least one media content to be used as a topic for the media content exchange.
- the registering of a topic includes the registering of the corresponding topic media content(s).
- the client application 106 of user device 104A sends to the server application 107 at least one request for registering the selected topic media content(s) TMC1.
- the registering of the topic media content(s) TMC1 includes the recording in the database 102D of a media content data set representing the topic media content(s) TMC1.
- the recorded media content data set comprises a media content identifier allocated by the server application 107 to the topic media content(s) TMC1 and / or access data for accessing to the topic media content(s) TMC1 from a user device via a remote media server 103A-103C.
- Fig. 2G illustrates an exemplary embodiment of a method for registering a media content which is applicable to topic media content TMC1.
- the topic media content(s) TMC1 are accessible to the user device(s) 104A-104C of the participating users and may be downloaded or otherwise accessed by those user devices from a remote media server 103A or 103C.
- step D226 the client application 106 of user device 104A sends to the server application 107 at least one request for registering the topic media content(s) TMC1 selected in step D224 as a new topic TOPI for the media content exchange.
- the topic TOPI is registered by the server application 107 on server side, in the database 102D.
- the registering of the topic TOPI includes the allocation of a topic identifier to the topic TOPI and the recording in the database 102D of a topic data set representing the topic TOPI. A timestamp corresponding to the time of registering is stored as the creation time for the topic data set.
- the registering of the topic include the recording in the database 102D of topic association data AST1 representing an association between the topic media content(s) TMC1, the initiating user 101A, the user group GR1 and the topic TOPI.
- the registering of the topic TOP 1 comprises the recording in the database 102D of topic association data AST1 representing an association between the topic media content(s) TMC1, the initiating user 101 A and the user group GR1.
- the registering of the topic includes the recording in the database 102D of topic association data AST1 representing an association between the topic media content(s) TMC1, the initiating user 101A and the topic TOPI.
- no topic data set is used and the registering of the topic TOPI includes the recording in the database 102D of topic association data AST1 representing an association between the topic media content(s) TMC1 and the initiating user 101A.
- the topic data set representing the topic TOPI is stored in association with the user group data set representing the user group GR1 , with the content data set(s) representing the topic media content TMC1 and with the user data set representing the initiating user 101A.
- no topic data set is used and the user group data set representing the user group GR1 is stored in relationship with the content data set(s) representing the topic media content TMC1 and with the user data set representing the initiating user 101A.
- no topic data set and no user group data set is used, and the content data set(s) representing the topic media content TMC1 is stored in relationship with the user data set representing the initiating user 101A.
- Fig. 2E illustrates one embodiment of a method for registering a contribution of a user to a topic.
- the method for registering a contribution may be implemented in the context of a method for sharing media content between several users described by reference to Fig. 2C.
- a portion of the topic media content TMC1 is selected.
- the selected portion may be a portion associated with an existing contribution, which portion has thus already been selected by a contributing user or may be a newly selected portion.
- the user interface of the client application 106 of user device 104B may include at least one user interface item for navigating into the topic media content(s) TMCl, for selecting the rendering point POVl (or point of view) for the topic media content TMCl or for inputting a rendering coordinate identifying the rendering point POVl relatively to a rendering coordinate system associated with the topic media content TMCl.
- the corresponding rendering point POVl is computed for the topic media content TMCl relatively to at least one axis of a rendering coordinate system associated with the topic media content TMCl.
- step E222 the client application 106 of user device 104B obtains one or more media content CMCl 1, CMC 12 that forms a contribution of a contributing user 10 IB to the topic TOPI.
- the user interface of the client application 106 of user device 104B may, for example, include at least one user interface item for generating and / or selecting one or more media content
- the user interface may include a user interface item (button, menu, etc.) for triggering the display of a user interface for searching and / or selecting one or more media contents.
- the user interface includes a toolbar for generating or importing contribution media content.
- the user interface may be configured with a media content editor to enable the user to:
- the registering of a contribution includes the registering of the contribution media content(s) CMCl 1, CMC12.
- step E223 the client application 106 of user device 104B sends to the server application 107 at least one request for registering the selected / generated contribution media content(s) CMCl l, CMC 12.
- the registering of the contribution media content(s) CMCl 1, CMC 12 include the recording in the database 102D of one or more media content data set(s) representing the contribution media content(s) CMCl 1, CMC 12.
- Each recorded media content data set includes a media content identifier allocated by the server application 107 to corresponding contribution media content(s) CMCl l, CMC 12 and / or access data for accessing to corresponding topic media content(s) CMCl 1, CMC12 from a user device via a remote media server 103A-103C.
- Fig. 2D illustrates an exemplary embodiment of a method for registering a media content which is applicable to a contribution media content.
- the contribution media content(s) CMC11, CMC12 are accessible to the user device(s) 104A-104C of the users participating to the media content exchange and may be downloaded or otherwise accessed by the user devices 104 A- KMC from a remote media server 103 A or 103C.
- the client application 106 allows user device 104B to define at least one rendering parameter RP11, RP12 for the contribution media content(s) CMC11, CMC 12 and / or define at least one rendering parameter RP1 for the topic media content(s) TMC1.
- a rendering parameter RP1, RP11, RP12 defines how a contribution media content and / or a topic media content has to be rendered on the user device of another user, i.e. recipient user, participating to the same media content exchange.
- a rendering parameter may be a combination parameter CPU, CP12, a filtering parameter FP1, FP11, FP12, a rendering order parameter ROl.
- a combination parameter CPU, CP 12 may define how a contribution media content
- CMC11, CMC 12 is combined with a topic media content in order to form an annotation of that topic media content in accordance with one or more embodiments.
- a combination parameter CPU, CP12 may be a spatial combination parameter defining a location in a 2D coordinate system associated with a topic media content TMC1, where the contribution media content CMC11, CMC12 has to be displayed.
- contribution media content CMC 11 , CMC 12 which is a picture or a logo may be positioned at different location in an image of topic media content TMC1 which is a video or image content.
- the spatial combination parameter is a couple (x,y) of coordinates corresponding to the horizontal and vertical position of the contribution media content CMC11, CMC 12 in an image of a topic media content TMC1.
- a combination parameter CPU, CP 12 may be a transparency parameter defining the transparency of an image-based contribution media content relatively to an image-based topic media content.
- the transparency parameter is a value coded between a minimum transparency value (no transparency) and a maximum transparency value coordinates (fully transparent contribution media content).
- a combination parameter CP 11 , CP 12 may be a weight defining the weight of an image- based (respectively audio-based) contribution media content relatively to an image-based (respectively audio-based) based topic media content, the combined media content being a weighted sum (pixel by pixel for image-based content or respectively, sample by sample for audio-based content).
- a combination parameter CPU, CP12 maybe a temporal combination parameter defining a synchronization mode between the topic media content TMC1 and the contribution media content CMC11, CMC 12 according to which the two contents have to be combined and rendered.
- different synchronization modes may be predefined and selected by the contributing user 101B: a freeze mode and a flow mode.
- the rendering of the topic media content will be interrupted when the rendering point POV1 defined by the contributing user in step E221 will be reached and the rendering of the topic media content(s) TMCl will be frozen with the corresponding portion of the topic media content while the contribution media content is rendered.
- the freeze mode is useful for example when one wants to add a video contribution on a specific image of a topic video media content: a frozen image corresponding to the rendering point POV1 may be displayed while the contribution media content is displayed.
- the rendering of the topic media content will continue and not be interrupted when the rendering point POV1 defined by the contributing user in step E221 will be reached.
- topic media content is a video and the contribution media content is also a video, both video will be displayed simultaneously.
- a filtering parameter FP1, FP11, FP12 may define a filter (or effect) to be applied to a contribution media content (e.g. the filtering parameter FPU, respectively FP12 applied to the contribution media content CMC11, respectively CMC 12) and / or a topic media content (e.g. the filtering parameter FP1 applied to the topic media content TMCl) before being rendered on the user device of a recipient user.
- a filter applied to a topic media content which is an image or a video may be a color enhancement filter, a contrast enhancement filter, a colorimetry modification filter, a sharpening filter, a smoothing filter, deformation filter, etc.
- a filtering parameter FP1 which is defined by a contributing user making a contribution to a topic, is used to define a filter to be applied to the portion of the topic media content relative to which the contribution has been made.
- the reproduction of the contribution on the user device of a recipient user is performed according to the filtering parameter defined by the contributing user.
- a rendering order parameter ROl is used to define in which order the contribution media contents relative to a topic media content are to be rendered on the user device of a recipient user.
- different rendering orders ROl may be predefined and selected by the contributing user 101B: a chronological order, a rendering coordinate-based order, a user-based order, and a dependency- based order.
- a timestamp may be generated by a universal clock and is thus relative to a temporal axis of the real world.
- This temporal axis may be said to be the temporal axis of the media content exchange (e.g. discussion thread in the context of the discussion group).
- the rendering coordinate-based order allows rendering the contribution media content in the order of their rendering point on the basis of the recorded rendering coordinate(s) stored in the rendering point data set. For example, when the rendering point is an image number relatively to a topic media content which is a video content, the different contribution media contents may be rendered by image number order. Said in another way, the temporal axis of the video content is used to determine the contribution media content order instead of the temporal axis of the discussion thread. For example, the video content may be rendered from the beginning to the end and by rendering a contribution media content when an image number corresponding to a rendering coordinate is reached. [00189]
- the user-based order allows rendering contribution media contents depending on the contributing user.
- the user-based when the user-based is selected, allows rendering all contribution media contents of a first user are rendered first, then all contribution media contents of a second user, etc.
- all contribution media contents of a given user when the user-based order is selected all contribution media contents of a given user are rendered in a chronological order (i.e. on the basis of their timestamp) or in rendering coordinate-based order (i.e. on the basis of the value of the rendering coordinate).
- the dependency-based order allows rendering the contribution media contents in dependence upon the logical dependencies defined between the contribution media contents. For example, the dependency-based order allows to render a first registered contribution media content, then a second registered contribution media content having a logical dependency with the first registered contribution media content, then a third registered contribution media content having a logical dependency with the second registered contribution media content, and so and, by following the dependency chain(s) between the contribution media contents.
- all contribution media contents of a given dependency chain are rendered in a chronological order (i.e. on the basis of their timestamp) or in rendering coordinate-based order (i.e. on the basis of the value of the rendering coordinate).
- step E225 when the user 101B of user device 104B is not the first user contributing to the media content exchange and at least one previous contribution has already been registered by server application 107 for that media content exchange, the client application 106 allows the user 10 IB of user device 104B to select two registered contribution media content and to create a logical dependency between the two contribution media contents CMC1 1 , CMC 12.
- a logical dependency is used to define a dependency between contribution media contents. This allows a contributing user 101B to indicate to which media content(s) his contribution relates. This also allows defining a subset of contribution media contents having a logical dependency. This subset of contribution media contents may, for example, correspond to a sub-topic of the topic TOPI of the media content exchange.
- Steps E224 and E225 are each optional step. Therefore step E226 may for example be executed after step E223.
- step E226 the client application 106 of user device 104B sends to the server application 107 at least one request for registering contribution association data ASCI representative of the contribution to the media content exchange.
- the contribution association data ASCI includes an identification of the portion of the topic media content(s) TMC1 to which the contribution relates.
- the identification of the portion of the topic media content(s) TMC1 includes the rendering coordinate defining the rendering point POV1.
- the contribution association data ASCI further include one or more rendering parameters RP1 , RP1 1, RP12 specified by the contributing user 101B and obtained by the client application 106 of user device 104B at step E224.
- the contribution association data ASC I further include logical dependency data LD1 representing the logical dependency.
- the logical dependency data LD1 include a content identifier of the previously registered contribution media content to which the logical dependency applies.
- the server application 107 registers the contribution of user 101B on server-side, for example in the database 102D.
- the registering of the contribution of user 101 B include the recording in the database 102D of a rendering point data set representing the rendering point POVl and including the rendering coordinate obtained in step E224.
- a timestamp corresponding to the time of registration is stored as creation time of the rendering point data set. This timestamp is the timestamp of the contribution of user 101B.
- step E224 when one or more combination parameters CP1 1, CP 12 have been defined in step E224, those combination parameters CP1 1, CP12 are also stored in association with the content data set representing the contribution media content CMCl l , CMC 12 to which the combination parameter CP1 1, CP12 have to be respectively applied.
- filtering parameters FP1 , FP11 , FP12 when one or more filtering parameters FP1 , FP11 , FP12 have been defined in step E224, those filtering parameters FP1 , FP1 1 , FP12 are also stored in association with the rendering point data set representing the portion of the topic media content to which the filtering parameters FP1 , FP1 1, FP12 have to be respectively applied.
- logical dependency data LD1 are stored.
- the content identifier of the previously registered contribution media content is stored in association with the content data set representing the contribution media content having a logical dependency with the previously registered contribution media content.
- the client application 106 is configured to allow the contributing user to select a rendering order ROl parameter to determine in which order the different contributions have to be rendered on the user device of a recipient user.
- This render order parameter may be used by a recipient user for rendering the different contributions.
- the registering of the contribution of user 101B comprises the recording in the database 102D of contribution association data ASC I representing an association between the contribution media content(s) CMCl l, CMC 12 and the portion of the topic media content(s) TMCl identified by the rendering point POVl .
- the contribution association data ASCI further comprise at least some of the rendering parameters RP1, RP1 1 (combination parameters CP 1 1 , CP 12 and / or filtering parameters FP1, FP1 1 , FP12 and / or rendering order ROl) defined in step E224 and / or the logical dependency data LD1 representing the logical dependencies defined in step E225.
- the contribution association data ASC I represents an association between the contribution media content(s) CMC1 1, CMC 12, the rendering point POVl , the contributing user 101B and the topic TOPI .
- the contribution association data ASC I represent an association between the contribution media content(s) CMC1 1, CMC 12, the rendering point POVl , the contributing user 101B and the topic media content(s) TMC1.
- the rendering point data set representing the rendering point POVl is stored in association with the different content data sets representing the contribution media contents CMC11, CMC 12 (comprising in this example two contribution media contents CMC11, CMC121 and CMC11, CMC 122), with the topic data set representing the topic TOPI and with the user data set representing the contributing user 101B.
- the contribution association data ASCI comprise the rendering parameters RP1, RP11, RP12, i.e. the combination parameters CPU, CP12, the filtering parameters FP1, FP11, FP12 and the rendering order ROl .
- the rendering point data set representing the rendering point POVl is stored in association with the different content data sets representing the contribution media contents CMC11, CMC 12, with the media content data set(s) representing the topic media content(s) TMC1 and with the user data set representing the contributing user 101B.
- the rendering point data set representing the rendering point POVl is stored in association with the filtering parameters FP1, FP11, FP12 defined in step E224.
- step E224 when one or more combination parameters CP11, CP 12 have been defined in step E224, the content data set representing a contribution media content CMC11, CMC121 or CMC11, CMC 122 is stored in association with the combination parameters CPU or CP 12 defined in step E224 that apply respectively to the contribution media content CMC11, CMC121 or CMC11, CMC 122.
- the contribution association data ASCI may be generated and stored in various ways.
- the function of the contribution association data ASCI is to encode the relationship between a contribution and a topic so as to enable a reproduction of the contribution made by a user on the basis of this contribution association data ASCI, of access data to the contribution media content(s) CMC11, CMC 12 and of access data to the topic media content(s) TMC1, especially without requiring that the server application 107 sends to each user device of a user participating to the media content exchange a combined media content resulting from the combination of the contribution media content(s) CMC11, CMC 12 and the topic media content(s) TMC1.
- Network bandwidth may, thus, be saved as the different media contents may be downloaded once on each user device, and then combined as necessary on a recipient user device with the topic media content(s) TMC1 for reproducing a contribution or several contributions.
- the topic media content(s) TMC1 include a video content
- this video content will be downloaded only once on the different user devices of the participating user and not for each contribution made relatively to that video content.
- Fig. 2F illustrates one embodiment of a method for reproducing contribution(s) related to a topic of a media content exchange.
- the method may be performed after the registration of a contribution, for example after steps C215-C216 and / or after steps E221-E226.
- step F230 the client application 106 executing on the user device of user participating to a media content exchange is configured to receive contribution reproduction data concerning a contribution made relatively to a topic media content of the media content exchange.
- the contribution reproduction data include an identification of a selected portion of the topic media content TMC1 relatively to which the contribution has been made.
- the client application 106 is configured, for each contribution, to render a combined media content resulting from a combination of at least one portion of the contribution media content CMC11, CMC 12 with the selected portion of the topic media content TMC1.
- step E224-E225 or C215 are transmitted with the contribution reproduction data to a recipient user device 104A, 104B or 104C, the combination is performed by client application 106 executing on the recipient user device 104 A, 104B or 104C according to one or more received rendering parameters RP1 defined for the topic media content(s) TMC1 and / or the rendering parameters RP11, RP12 defined for the contribution media content CMC11, CMC 12.
- the combination may correspond to a weighted sum of video and / or audio content, a superposition of images or graphics, a (spatial) juxtaposition of images or graphics, (temporal) concatenation of video or audio content, convolution of contents, an incrustation of thumbnail of the contribution content into at least one image of the topic media content, etc.
- the combination is performed by generating a combined topic media content resulting from a combination of at least one portion of the contribution media content CMC11, CMC 12 with a portion of the topic media content TMC1 corresponding to the received rendering coordinate POV1.
- the generation of the combined topic media content is performed "on the fly" by the client application 106 of the recipient user device 104A, 104B or 104C, that is to say in a RAM memory of a user device for the sole purpose of the rendering of this combined media content via a user interface of a user device.
- no media content data file including the combined media content needs, therefore, to be stored in a permanent way on the user device.
- one or more pixels of the topic media content may be, in the combined media content generated, replaced by a pixel of the contribution media content or by a combination of a pixel of the topic media content and the corresponding pixel of the contribution media content.
- a combination of pixels may be for example computed as a weighted sum of the two pixels, the weights enabling to adjust the transparency of the contribution media content relatively to the topic media content.
- the combination of the two contents may be computed by mixing the audio samples with predefined or user-defined respective weights.
- the client application 106 executing on the user device 101A is configured to render the combined media content resulting from the combination.
- the user 101 A can thus view and / or list the contributions of the different users participating to the media content exchange.
- the amended topic media content may be generated and stored in a dynamic memory of user device 104A and never be saved on a permanent storage medium of the user device 104 A.
- the combined media content is generated by the client application 106 on a user device for the purpose of the rendering of this combined media content on that user device, but this combined media content needs not to be permanently stored on that user device or to be transmitted through the network 105.
- step F231 when several contributions have been made by different users participating to the media content exchange, the client application 106 executing on the user device of user 101A is configured to allow a user to select a rendering order parameter to determine in which order the different contributions have to be rendered.
- the rendering order parameter selected in step F231 by a recipient user may be identical to or different from the rendering order ROl defined by a contributing user in step E224 or C215.
- step F232 the client application 106 executing on the user device of user 101A is configured to generate an ordered list of contributions according to the rendering order selected in step F231. The first contribution in the list of contributions is selected as the current contribution.
- step F233 the client application 106 executing on the user device 101 A is configured to render a combined media content resulting from the combination of the topic media content(s) TMC1 and of the contribution media contents of the current contribution selected in the list of contributions generated in step F232.
- step F234 the client application 106 executing on the user device 101A is configured to select the next contribution in the list of contributions generated in step F232.
- Step F233 is executed after step F234 with the newly selected contribution.
- Step F234 is performed until all the contributions of the contribution list have been rendered or until the client application 106 receive a command to stop the rendering.
- the user 101A can thus view and / or list the contribution of the different users to the media content exchange.
- Fig. 4 illustrates the different rendering order possibilities by a representation of an exemplary dependency tree between media contents related to a media content exchange.
- the media content exchange comprises a topic media content Tl, and contribution media contents Ml to M7.
- contribution media content For each contribution media content, a timestamp, a rendering coordinate, a contributing user and, optionally, a logical dependency with another contribution media content are defined.
- contributions have been successively made to the media content exchange:
- Ml forms a contribution of user Ul, at timestamp TS1, for rendering coordinate CI, without logical dependency with another contribution media content and is noted M1(TS1, CI, Ul);
- M2 forms a contribution of user U2, at timestamp TS2, for rendering coordinate CI, without logical dependency with another contribution media content and is noted M2(TS2, CI, U2);
- M3 forms a contribution of user Ul, at timestamp TS3, for rendering coordinate C2, without logical dependency with another contribution media content and is noted M3(TS3, C2, Ul);
- the contribution media contents will be rendered in this order: Ml , M2, M4, M3, M5, M6, M7, by using the chronological order for the contribution media contents of a same rendering coordinate.
- the contribution media contents will be rendered in this order: Ml, M3, M2, M4, M6, M5, M7, by using the chronological order for the contribution media contents of a same user and for classifying the users.
- the contribution media contents will be rendered in this order: Ml, M4, M2, M5, M3, M6, M7, by using the chronological order for the contribution media contents of a same dependency chain and for classifying the dependency chains.
- FIG. 2G illustrates one embodiment of a method for registering a media content(s) of a media content exchange.
- This method is applicable to topic media content or to contribution media content.
- This method is applicable to a media content stored locally on user device 104 A- KMC, a media content stored on a remote media server 103A-103B, a media content provided by a web application via a web server 103 A, a media content provided by a source application executing locally on the user device 104 A.
- the source application is for example the software application Plans ® developed by
- the source application is a software application or a software application component which is configured to provide media content (e.g. an image, a 3D image, a video, a geographic map, a street view, etc.) corresponding to a set of at least one input parameter (which is in present example, is a geographical position in a localization zone).
- media content e.g. an image, a 3D image, a video, a geographic map, a street view, etc.
- a set of at least one input parameter which is in present example, is a geographical position in a localization zone.
- step G240 G24 the server application 107 receives from a requesting user device, for example user device 104B, at least one request for registering a media content (topic media content or contribution media content).
- the request includes access information on the media content to be registered.
- the request includes a link to the media content, a local access path relatively to storage medium of the requesting user device, a universal resource locator (URL), a universal resource indicator (URI), a source application identification, a server identification, or any other parameter or information in any form that may be used to locate and access to the media content data.
- URL universal resource locator
- URI universal resource indicator
- source application identification a server identification
- server identification or any other parameter or information in any form that may be used to locate and access to the media content data.
- step G241 the server application 107 stores in the database 102D a media content data set representing the media content.
- the recorded media content data set includes a media content identifier allocated by the server application 107 to the media content.
- the server application 107 determines whether the media content has to be uploaded to the media server 103C in order to be made accessible from any user device 104A-104C.
- the media content has to be uploaded to the media server media server 103C when the media content is, before the registering, not yet accessible from any user device 104A-104C in a permanent way.
- media content stored locally on the requesting user device has to be uploaded.
- media content stored which is temporary web content on a web server has to be uploaded or a representation of that temporary web content has to be uploaded.
- media content provided by a source application does not have to be uploaded if this source application can be executed on any user device 104A-104C for accessing to the media content.
- step G243 when it has been determined in step G242 that the media content needs to be uploaded, the server application 107 sends a command to the requesting user device 104B for uploading the media content to the media server 103C.
- the media content is uploaded and stored by the media server 103C.
- Access data corresponding to the location of the media content on the media server 103C are generated and stored in the media content data set representing the media content.
- the access data allow access to the media content data from a user device via the remote media server 103C.
- step G244 when it is determined in step G242C1 that the media content needs not to be uploaded, the server application 107 stores access data corresponding to the location of the media content in the media content data set representing the media content.
- the access data correspond to the access information received from the requesting user device 104B.
- the access data may include an identification of a content source and / or parameters for accessing to the media content via a content source.
- those access data comprise a hypertext link to a web page, a universal resource locator (URL), a universal resource indicator (URI), a source application identification, a server identification, or any other parameter required for accessing to the media content data via a source application or alternatively via a media server distinct from the remote media server 103C.
- the access data may include an identification of the source application and at least one application parameter identifying the topic media content, to be used for obtaining the topic media content from the source application.
- the access data may include a hypertext link to said web page via said web server.
- Fig. 5A-5C illustrates by a representation in a three dimensional (3D) space the media contents related to a media content exchange and their relative relationships.
- This 3D space includes three axis.
- the first horizontal axis PV is an axis representing a point of view, or more generally a rendering point, on the topic media content.
- the PV axis represents the temporal axis of the topic media content relatively to which a rendering coordinate, i.e. timecode, may be defined.
- the second horizontal axis TS is an axis representing the temporal axis (i.e. the time in the real world) of the discussion.
- the TS axis represents for example timestamp values associated to the topic media content and contribution media contents.
- the third axis CT is an axis representing the contributions.
- the topic of the media content exchange is by convention represented by the origin of the three axis system.
- Fig. 5A corresponds to a media content exchange comprising a topic TP1 and a contribution CT1. As represented by Fig. 5A:
- this topic TP1 is for example a video content
- a contribution CT1 has been defined by a user whose user identifier is ID2 for the portion of the topic TP1 corresponding to the timecode @3:41 defining a point of view on the topic TP1, e.g., for the image of the topic TP1 corresponding to the timecode @3:41.
- a contribution at timecode @3:41 may be defined by different media contents and a filter (Fl) to be applied to a portion of the topic TP1 corresponding to the point of view defined for that contribution.
- the media contents includes:
- V2 a second video content
- Fig. 5B The order in which the media contents are represented in Fig. 5B is representative of the order in which those media contents have to be combined for rendering the combined media content resulting from a combination of the contribution media contents with the portion of the topic media content corresponding to the point of view.
- Fig. 5B In the example of Fig. 5B:
- a first combination is performed by combining (for example superposing) the graphic content Gl with the filtered image;
- a second combination is performed by combining (for example superposing) the image resulting from the first combination with the graphic content G2;
- a third combination is performed by combining (for example superposing) the image resulting from the second combination with the text content T 1 ;
- a fourth combination is performed by combining (for example superposing) the image resulting from the third combination with the text content T2;
- a fifth combination is performed by combining (for example superposing) the image resulting from the fourth combination with the text content T3;
- a sixth combination is performed by combining (for example juxtaposing) the image resulting from the fifth combination with the video content VI ;
- a seventh combination is performed by combining (for example juxtaposing) the video content resulting from the sixth combination with the video content V2.
- Fig. 5C corresponds to a media content exchange including a topic TPl and several contributions CT1 to CT7. As represented by Fig. 5C:
- this topic TPl is for example a video content
- a contribution CT1 has been defined by a user whose user identifier is ID2 for the portion of the topic TPl corresponding to the timecode @3:41 defining a point of view on the topic TPl, e.g., for the image of the topic TPl corresponding to the timecode @3 :41 ; and similarly,
- a contribution CT6 has been defined by a user whose user identifier is ID1 for the image of the topic TPl corresponding to the timecode @2:34;
- Figs. 6A-6I represent user interfaces according to at least one embodiment.
- the topic media content is an image and the media content exchange is implemented in the context of an instant messaging session implemented by a host application.
- the host application is a messaging application incorporating functionalities described for the client application 106.
- a message of the instant message session is displayed in a user interface 600 on the user device of user 101A.
- the contributions of user 101B ("user 1") appear on the left side of the user interface 600, while the contributions of user 101 A (“user 2") appear on the right side of the user interface 600.
- User 101A has just sent a short text message 601 to user 101B.
- user 101A has received an image 602, represented by a thumbnail 602 on the left side of the user interface 600.
- the image 602 could be used as a topic of a media content exchange in the context of the current messaging session if user 101A does some predefined action, for example if user 101A selects the thumbnail of the image 602.
- Fig. 6C the user interface of Fig. 6C is displayed.
- a first user interface element 603 (icon 603) is displayed for allowing user 101A to make a contribution to the topic.
- a second user interface element 604 (icon 604) is displayed for allowing user 101A to go back to the messaging session.
- the user interface of Fig. 6D is displayed.
- Three user interface elements are displayed which correspond respectively to different tools for generating a contribution: a first icon 608 for drawing a free form, a second icon 609 for recording an image or a video, and a third icon 610 for writing a text.
- Another user interface element 607 may be displayed for allowing user 101 A to cancel the action and to go back to the user interface of Fig. 6C.
- Another user interface element 606 (icon 606) may be displayed for allowing user 101A to validate the contribution and to register it.
- the user interface comprises an image 605 representing this contribution by a combined media content resulting from the combination of the image 602, and of three contribution media contents 605A, 605B, 605C corresponding respectively to a text 605A, a video 605B and a free form 605C.
- the user interface 600 is displayed again as illustrated by Fig. 6E and include a thumbnail for the image 605 representing the contribution of user 101 A.
- the topic and contribution is registered on request of the host application on the user device of user 101A.
- Topic association data and contribution association data are thus registered by the server application 107.
- the server application 107 sends corresponding topic reproduction data and contribution reproduction data to the host application on the user device of user 101B.
- a message of the instant message session is displayed in a user interface 620 of the host application on the user device of user 101B.
- the contribution of user 101A (“user 2") appears on the left side of the user interface 620, while the contribution of user 101B (“user 1") appears on the right side of the user interface 620.
- the contribution (image 605) of user 101A is reproduced by the host application on the user device of user 101B by rendering a combined media content (image 605) corresponding to the combination of the image 602, and of the three contribution media contents 605A, 605B, 605C.
- a further contribution to the media content exchange could be made by user 101B if user 101B does some predefined action, for example if user 101B selects the thumbnail 605. Further to this action, the user interface of Fig. 6G is displayed.
- the user interface of Fig. 6G is similar to that of Fig. 6C.
- a first user interface element 603 (icon 603) is displayed for allowing user 101B to make a contribution to the topic.
- a second user interface element 604 is displayed for allowing user 101B to go back to the messaging session.
- Fig. 6H Assuming that user 101A selects the first user interface element 603, the user interface of Fig. 6H is displayed.
- the user interface of Fig. 6H is similar to that of Fig. 6D.
- Three user interface elements are displayed which correspond respectively to different tools for generating a contribution: a first icon 608 for drawing a free form, a second icon 609 for recording an image or a video, and a third icon 610 for writing a text.
- Another user interface element 607 (an icon 607) may be displayed for allowing user 101A to cancel the action and to go back to the user interface of Fig. 6G.
- Another user interface element 606 (icon 606) may be displayed for allowing user 101A to validate the contribution and to register it.
- User 101 A may select a rectangular portion of the image 601 for making a contribution. By default, the whole image is selected. For example user 101 selects the whole image and uses one of the user interface items 608, 609, 610 for making a contribution relatively to this image.
- the user interface includes a thumbnail of the image 611 representing this contribution by a combined media content resulting from the combination of the image 602, and of two contribution media contents 611A, 61 IB corresponding respectively to a video 611A and a text 61 IB.
- the user interface 620 is displayed again as illustrated by Fig. 61 and includes a thumbnail of the image 611 representing the contribution of user 101B.
- the contribution of user 101B is registered on request of the host application on the user device of user 101B.
- Contribution association data are thus registered by the server application 107.
- the server application 107 sends corresponding contribution reproduction data to the host application running on the user device of user 101A, thus enabling a reproduction of the contribution of user 101B on the user device of user 101 A.
- Figs. 7A-7E represent user interfaces according to at least one embodiment.
- the topic media content is an image or a video and the media content exchange is implemented in the context of a service of a media content provider implemented by a host application.
- the host application is for example a web application communicating with a server of the media content provider and incorporating functionalities described for the client application 106.
- a user interface 700 of a host application for managing media content is displayed.
- the user interface 700 includes thumbnails, each thumbnail representing an image- based content.
- user interface 700 includes a thumbnail 701 representing a video 701.
- the video 701 could be used as a topic of a media content exchange in the context of the host application if user 101A does some predefined action, for example if user 101A selects the thumbnail of the video 701. Further to this action, the user interface of Fig. 7B is displayed.
- Fig. 7B The user interface of Fig. 7B is similar to that of Fig. 6C.
- a second user interface element 704 is displayed for allowing user 101A to go back to the host application.
- a first icon 708 for drawing a free form a second icon 709 for recording an image or a video
- a third icon 710 for writing a text.
- Another user interface element 706 icon 706 may be displayed for allowing user 101A to cancel the action and to go back to the user interface of Fig. 7B.
- Another user interface element 705 icon 705 may be displayed for allowing user 101 A to validate the contribution, to register the contribution and to publish the contribution in the context of a service of the media content provider.
- User 101 A may select any rendering point and / or any portion of the video 701 for making a contribution. For example user 101 selects one image of the video 701 and uses one of the user interface items 708, 709, 710 for making a contribution relatively to this image. Once user 101A has made a contribution, the user interface includes a thumbnail 707 representing this contribution by a combined media content resulting from the combination of an image of the video 701, and of several contribution media contents including a text 707A and free form 707B.
- the user interface 71 1 is displayed as illustrated by Fig. 7D and include the thumbnail 707 representing the contribution of user 101A.
- the user interface 711 of Fig. 7D comprises several user interface elements (icons 720-724) which correspond respectively to different media content services (e.g. media content providers or media content applications) for publishing a contribution via the corresponding media content service. Assuming user 101 A selects one of these icons 720-724, the contribution of the user 101A is made available to other users via the corresponding service.
- media content services e.g. media content providers or media content applications
- the contribution of user 101A may be reproduced on a user interface of a host application implementing the selected media content service on the user device of another user, for example user 101B.
- the contribution of user 101 A is reproduced by rendering of a combined media content (e.g. a video) resulting from the combination of at least one image of the video 701 and of the contribution media contents 707A-707B.
- a combined media content e.g. a video
- the server application 107 By recording contribution association data ASC 1 representing each contribution made by different users to a media content exchange, the server application 107 keeps track of those successive contributions and enables a reproduction of those contributions on the user devices of the other users participating to the media content exchange.
- the association data (e.g. the contribution association data ASCI and / or topic association data AST1) sent from a client application 106 to the server application 107 include only access data for accessing to the related media contents (e.g. an URL or any other identification data) but not the data file(s) representing the related media content, thus reducing the network bandwidth between the server application 107 and the client applications 106 for registering the contributions to a topic.
- Each client application 106 may be notified on the basis of the registered association data (e.g. the contribution association data ASCI and / or topic association data AST1) so that a client application 106 may access to the media contents defining the topic and / or contribution and reproduce on a user device the contribution made by another user on another user device without having to send a combined media content from one user device to another user device.
- the reproduction data sent from the server application 107 to a client application 106 include only access data for accessing to the related media contents (e.g.
- the data files encoding the topic media content and contribution media content(s) have to be transferred only once from the source device (e.g. one of the media servers 103A-103C) to a destination device (104A-104C) of a user for the purpose of the reproduction of the contribution(s) on the user device 104A-104C.
- the chronological order of the contributions may be reproduced thanks to the timestamp associated to a contribution.
- the user having made a contribution may be known to the recipient users thanks to the user identifier associated to a contribution.
- the point of view or rendering point associated to a contribution is used to link a contribution to a given portion of the topic media content. As such different contributions may be made relatively to different portions of the topic media content.
- the spatial and / or temporal relationships between a topic and a contribution may further be specified by temporal and / or spatial combination parameters by the contributing user and reproduced on the device of a recipient user.
- Logical dependencies may be used for linking two or more contributions and thus providing improved way of rendering the successive contribution.
- a chain of contributions with logical dependencies may be used for defining sub-topic in a media content exchange.
- the methods, device and system described herein may be applicable in different contexts. For example, in a professional context, where different users have to share information / discuss / made comments on a different part of a given video content. For example for personal use, when different members of a family want to share a video content (concerning their last holidays) and send some comments relatively to different parts of the video content.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780007841.7A CN108604359A (en) | 2016-01-22 | 2017-01-19 | The method and system of sharing media content between several users |
SG11201805704UA SG11201805704UA (en) | 2016-01-22 | 2017-01-19 | Method and system for sharing media content between several users |
KR1020187024063A KR20180104694A (en) | 2016-01-22 | 2017-01-19 | Method and system for sharing media content among multiple users |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/004,632 US10075399B2 (en) | 2016-01-22 | 2016-01-22 | Method and system for sharing media content between several users |
EP16152459.0A EP3196830A1 (en) | 2016-01-22 | 2016-01-22 | Method and system for sharing media content between several users |
US15/004,632 | 2016-01-22 | ||
EP16152459.0 | 2016-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017125509A1 true WO2017125509A1 (en) | 2017-07-27 |
Family
ID=57995176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2017/051111 WO2017125509A1 (en) | 2016-01-22 | 2017-01-19 | Method and system for sharing media content between several users |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR20180104694A (en) |
CN (1) | CN108604359A (en) |
SG (1) | SG11201805704UA (en) |
WO (1) | WO2017125509A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3945707A1 (en) * | 2020-07-28 | 2022-02-02 | Elementum SCM (Cayman) Ltd. | Selectively granting computer system access credentials to external users and non-users |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102228572B1 (en) | 2020-08-03 | 2021-03-15 | 마보현 | Electronic device for providing a topic oriented intelligent collaboration service based on artificial interlligence and method for operating thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012166014A2 (en) * | 2011-06-03 | 2012-12-06 | Rawllin International Inc. | Generating, editing, and sharing movie quotes |
US20130311561A1 (en) * | 2012-05-21 | 2013-11-21 | DWA Investments, Inc | Authoring, archiving, and delivering interactive social media videos |
US20140344694A1 (en) * | 2013-05-15 | 2014-11-20 | Christopher Gomersall | Methods, systems, and user interfaces for prompting social video content interaction |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332174B (en) * | 2011-09-06 | 2013-10-16 | 中国科学院软件研究所 | Collaborative sketch animation generation method and system |
CN104980422A (en) * | 2014-10-22 | 2015-10-14 | 腾讯科技(深圳)有限公司 | Information processing method, client, server and system |
CN105183759B (en) * | 2015-07-23 | 2018-12-21 | 无锡天脉聚源传媒科技有限公司 | A kind of method and device for commenting on picture |
-
2017
- 2017-01-19 KR KR1020187024063A patent/KR20180104694A/en unknown
- 2017-01-19 SG SG11201805704UA patent/SG11201805704UA/en unknown
- 2017-01-19 CN CN201780007841.7A patent/CN108604359A/en active Pending
- 2017-01-19 WO PCT/EP2017/051111 patent/WO2017125509A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012166014A2 (en) * | 2011-06-03 | 2012-12-06 | Rawllin International Inc. | Generating, editing, and sharing movie quotes |
US20130311561A1 (en) * | 2012-05-21 | 2013-11-21 | DWA Investments, Inc | Authoring, archiving, and delivering interactive social media videos |
US20140344694A1 (en) * | 2013-05-15 | 2014-11-20 | Christopher Gomersall | Methods, systems, and user interfaces for prompting social video content interaction |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3945707A1 (en) * | 2020-07-28 | 2022-02-02 | Elementum SCM (Cayman) Ltd. | Selectively granting computer system access credentials to external users and non-users |
US20240012919A1 (en) * | 2020-07-28 | 2024-01-11 | Elementum Scm (Cayman) Ltd. | Selectively granting computer system access credentials to external users and non-users |
Also Published As
Publication number | Publication date |
---|---|
KR20180104694A (en) | 2018-09-21 |
SG11201805704UA (en) | 2018-08-30 |
CN108604359A (en) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10075399B2 (en) | Method and system for sharing media content between several users | |
US20230362243A1 (en) | Direct input from a nearby device | |
US10705786B2 (en) | Collaborative electronic whiteboard publication process | |
JP7134974B2 (en) | Systems and methods for transitioning between media content items | |
US8412729B2 (en) | Sharing of presets for visual effects or other computer-implemented effects | |
US20220245194A1 (en) | Systems and methods for generating and sharing content | |
CN105900121B (en) | Method for generating an activity stream | |
US20230090175A1 (en) | Contextual situation analysis | |
JP2016511878A (en) | Providing access to information across multiple computing devices | |
US9721321B1 (en) | Automated interactive dynamic audio/visual performance with integrated data assembly system and methods | |
WO2017125509A1 (en) | Method and system for sharing media content between several users | |
CN109565616B (en) | Interactive video multi-screen experience on mobile phones | |
Koavchev et al. | Mobile multimedia cloud computing and the web | |
US20180211062A1 (en) | Selectively obscuring representative attributes of files | |
US9832249B2 (en) | Systems and methods for streaming media content | |
US10855787B2 (en) | Systems and methods for generating content | |
EP3196830A1 (en) | Method and system for sharing media content between several users | |
US10678842B2 (en) | Geostory method and apparatus | |
Kovachev et al. | Supporting Practices in Professional Communities Using Mobile Cloud Services. |
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: 17703931 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11201805704U Country of ref document: SG |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20187024063 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020187024063 Country of ref document: KR |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17703931 Country of ref document: EP Kind code of ref document: A1 |