Patents by Inventor Charles Salmon-Legagneur

Charles Salmon-Legagneur has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20210266512
    Abstract: A terminal adapted to receive an immersive video spatially tiled with a set of tiles is configured to request tiles depending on their intersection with a volume of vision associated with a user.
    Type: Application
    Filed: June 24, 2019
    Publication date: August 26, 2021
    Applicant: INTERDIGITAL CE PATENT HOLDINGS
    Inventors: Yvon Legallais, Charles Salmon-Legagneur, Remi Houdaille
  • Publication number: 20200273144
    Abstract: A method for tiling with a set of tiles a sphere representing a spherical multimedia content, comprises: obtaining (402) an altitude for each parallel line of the sphere comprising one or several centroids of the tiles, each tile being defined as a portion of the sphere covering a tile horizontal angular amplitude and a tile vertical angular amplitude; obtaining (403) an angular position for each centroid of the tiles arranged on the parallel lines; determining (404) transformations to be applied to a reference tile to obtain the tiles of the set of tiles, each of the transformations depending on the obtained altitude and angular position of the centroid of a corresponding tile to be obtained.
    Type: Application
    Filed: September 14, 2018
    Publication date: August 27, 2020
    Inventors: Charles Salmon-Legagneur, Jean Le Roux, Yvon Legallais
  • Patent number: 10708631
    Abstract: A method for selecting a tile amongst a set of tiles associated with a multimedia content divided into a plurality of tile segments requested by a terminal is described. The multimedia content that is divided into a plurality of tile segments, includes obtaining a next position of a viewport of the terminal at the expiration of a current tile segment based on an estimation of a trajectory of the viewport; identifying one or several tiles amongst the set of tiles comprising at least the viewport at the next position; determining at least one processing parameter depending on at least the center of the identified tile and the next position of the viewport; and selecting an identified tile for which the determined processing parameter meets a selection criterion.
    Type: Grant
    Filed: September 24, 2018
    Date of Patent: July 7, 2020
    Assignee: INTERDIGITAL CE PATENT HOLDINGS
    Inventors: Charline Taibi, Frederique Humbert, Yvon Legallais, Charles Salmon-Legagneur
  • Publication number: 20190149467
    Abstract: A method and device for packet processing implemented by a packet processing device is described. The packet processing device is connected to a communication network from which the packet processing device receives and/or transmits packets in a context of network service chaining. The method includes obtaining a set of packets, each packet of the set of packets comprising at least one specific characteristic; grouping the packets of the set of packets according to the at least one specific characteristic, and delivering at least two subsets of packets; and adding, to at least one of the subsets of packets, metadata common to the packets of the at least one subset of packets.
    Type: Application
    Filed: November 15, 2018
    Publication date: May 16, 2019
    Inventors: Stephane GOUACHE, Charles SALMON-LEGAGNEUR, Jean LE ROUX
  • Publication number: 20190098341
    Abstract: A method for selecting a tile amongst a set of tiles associated with a multimedia content divided into a plurality of tile segments requested by a terminal is described. The multimedia content that is divided into a plurality of tile segments, includes obtaining a next position of a viewport of the terminal at the expiration of a current tile segment based on an estimation of a trajectory of the viewport; identifying one or several tiles amongst the set of tiles comprising at least the viewport at the next position; determining at least one processing parameter depending on at least the center of the identified tile and the next position of the viewport; and selecting an identified tile for which the determined processing parameter meets a selection criterion.
    Type: Application
    Filed: September 24, 2018
    Publication date: March 28, 2019
    Inventors: Charline TAIBI, Frederique Humbert, Yvon Legallais, Charles Salmon-Legagneur
  • Patent number: 10120987
    Abstract: A device comprising a hardware processor and memory storing an application of an application package comprising a first version and a second version of the application, the first version being intended to be executed on a genuine device and the second version on a jailbroken device. The hardware processor determines a jailbreak status of the device, i.e. genuine or jailbroken and derives a key based on at least the jailbreak status. In case the device is genuine, the hardware processor deciphers using the key at least a first part of the first version and executes, the first version using the first deciphered part, for example a jump table used to execute CFG flattened code. In case the jailbreak status is jailbroken, the hardware processor deciphers using the key at least a first part of the second version and executes the second version using the second deciphered part, for example comprising executable instructions.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: November 6, 2018
    Assignee: INTERDIGITAL CE PATENT HOLDINGS
    Inventors: Antoine Monsifrot, Charles Salmon-Legagneur, Alain Durand
  • Patent number: 10020944
    Abstract: A cryptographic hash value is computed in a hardware processing unit of an apparatus. The cryptographic hash value is computed iteratively processing blocks of data in a predetermined order by, for each block: obtaining at least one intermediate value for the block by applying a function to the block, computing a value of a weight function, and updating at least one hash variable with a corresponding intermediate value only if the value of a weight function is equal to at least one predetermined value. The processing unit then generates the cryptographic hash value from the at least one hash variable.
    Type: Grant
    Filed: October 3, 2016
    Date of Patent: July 10, 2018
    Assignee: THOMSON Licensing
    Inventors: Charles Salmon-Legagneur, Mohamed Karroumi
  • Patent number: 9904526
    Abstract: Control Flow Graph flattening of a function comprising a plurality of basic blocks having an address and at least one instruction.
    Type: Grant
    Filed: October 24, 2015
    Date of Patent: February 27, 2018
    Assignee: Thomson Licensing
    Inventors: Charles Salmon-Legagneur, Antoine Monsifrot
  • Publication number: 20170270319
    Abstract: A device downloads and installs an APK file for the application, during which the code is modified. A checksum for the modified code is sent to a trusted entity that checks that the received checksum matches a stored checksum for the application. If so, the received checksum is signed and returned to the device where it is stored. The device can then check the integrity of the modified code by calculating a checksum for the modified code that is compared to the signed checksum. The solution is particularly suitable for devices using the Android OS since the DEX during installation is optimized to an ODEX for which there is no certified checksum.
    Type: Application
    Filed: November 26, 2015
    Publication date: September 21, 2017
    Inventors: Charles SALMON-LEGAGNEUR, Mohamed KARROUMI
  • Publication number: 20170262656
    Abstract: A device receives an APK file for the application, during which the code is modified. A checksum for the modified code is generated and signed using a signing key of a trusted entity in the OS of the device. The signed checksum and a certificate for the signing key are stored in reserved spaces in memory. The modified application may then be executed during which an integrity verification module in the library of the application can verify the integrity of the modified application. The solution is particularly suitable for devices using the Android OS since the DEX during installation is optimized to an ODEX or compiled to ELF for which there is no signature.
    Type: Application
    Filed: November 26, 2015
    Publication date: September 14, 2017
    Inventors: Charles SALMON-LEGAGNEUR, Mohamed KARROUMI
  • Publication number: 20170262658
    Abstract: During execution of a modified application that has been obtained by modification of an unmodified application a device determines that code corresponding to the unmodified application also corresponds to the modified application, generates a checksum for the code corresponding to the unmodified application that is compared with a stored checksum for the unmodified application to determine whether these match, and determines that the integrity of the modified application has been successfully verified in case the modified application corresponds to the code corresponding to the unmodified application and in case the checksum for the code corresponding to the unmodified application matches the stored checksum for the unmodified application. The solution is particularly suitable for devices using the Android OS since the DEX during installation is optimized to an ODEX or OAT compiled to ELF files for which there is no certified checksum.
    Type: Application
    Filed: November 26, 2015
    Publication date: September 14, 2017
    Inventors: Charles SALMON-LEGAGNEUR, Mohamed KARROUMI
  • Publication number: 20170262657
    Abstract: During execution of modified code, a device generates a checksum for the modified code, and checks whether the generated checksum matches one of a plurality of stored possible checksums for the modified code, each possible checksum corresponding to a possible code obtained by modification of an original code that was modified to obtain the modified code. In case of a match, the device verifies a signature on the plurality of stored possible checksums, and, if successfully verified, verifies the validity of a certificate for the signing key. The solution is particularly suitable for devices using the Android OS since the DEX during installation is optimized to an ODEX or OAT complied to ELF files for which there is no certified checksum.
    Type: Application
    Filed: November 26, 2015
    Publication date: September 14, 2017
    Inventors: Charles SALMON-LEGAGNEUR, Mohamed KARROUMI
  • Publication number: 20170169196
    Abstract: A device comprising a hardware processor and memory storing an application of an application package comprising a first version and a second version of the application, the first version being intended to be executed on a genuine device and the second version on a jailbroken device. The hardware processor determines a jailbreak status of the device, i.e. genuine or jailbroken and derives a key based on at least the jailbreak status. In case the device is genuine, the hardware processor deciphers using the key at least a first part of the first version and executes, the first version using the first deciphered part, for example a jump table used to execute CFG flattened code. In case the jailbreak status is jailbroken, the hardware processor deciphers using the key at least a first part of the second version and executes the second version using the second deciphered part, for example comprising executable instructions.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 15, 2017
    Inventors: ANTOINE MONSIFROT, CHARLES SALMON-LEGAGNEUR, ALAIN DURAND
  • Publication number: 20170099147
    Abstract: A cryptographic hash value is computed in a hardware processing unit of an apparatus. The cryptographic hash value is computed iteratively processing blocks of data in a predetermined order by, for each block: obtaining at least one intermediate value for the block by applying a function to the block, computing a value of a weight function, and updating at least one hash variable with a corresponding intermediate value only if the value of a weight function is equal to at least one predetermined value. The processing unit then generates the cryptographic hash value from the at least one hash variable.
    Type: Application
    Filed: October 3, 2016
    Publication date: April 6, 2017
    Inventors: CHARLES SALMON-LEGAGNEUR, Mohamed KARROUMI
  • Publication number: 20160364569
    Abstract: Protecting a module intended to be executed by an executing device that has an operating system and that is either genuine or jailbroken is described.
    Type: Application
    Filed: June 8, 2016
    Publication date: December 15, 2016
    Inventors: Antoine MONSIFROT, Charles SALMON-LEGAGNEUR
  • Patent number: 9471758
    Abstract: A function of a software program is stored in a memory during execution in a device of the software program. A processor relocates the function in a region of the memory comprising dummy code, transforms the dummy code in a predictable manner, generates a predicted checksum for the region based on a previous checksum, generates a calculated checksum over the region, and verifies the integrity of the function by comparing the predicted checksum and the calculated checksum. Also provided are a device and a computer program product.
    Type: Grant
    Filed: February 16, 2011
    Date of Patent: October 18, 2016
    Assignee: Thomson Licensing
    Inventors: Charles Salmon-Legagneur, Antoine Monsifrot
  • Patent number: 9442704
    Abstract: Control Flow Graph flattening of a function of software code including a plurality of basic blocks having an address and at least one instruction is described. A processor uses a transition function to obtain an address in a jump table of at least one diffusion function coefficient of a subsequent block of the plurality of basic blocks. Thereafter, the processor generates and inserts branch functions, assigning a value to the label of each of the plurality of basic blocks and then obtains coefficients for each of the plurality of basic blocks.
    Type: Grant
    Filed: October 24, 2015
    Date of Patent: September 13, 2016
    Assignee: THOMSON LICENSING
    Inventors: Charles Salmon-Legagneur, Antoine Monsifrot
  • Publication number: 20160239671
    Abstract: An application comprising a code part is protected in a device including a processor that encrypts the code part to be protected to obtain a protected part using an encryption key, replaces the code part to be protected by valid instructions different from the code part to be protected, stores information necessary for decryption of the protected part so that the information may be retrieved by an unprotection function, stores the unprotection function so that the unprotection function can be called by a calling function, and inserts calls to the unprotection function and a protection function around a call to the code part to be protected in the application, the protection function being configured to protect the code part. When executed, a call to the unprotection function decrypts the protected part which is written over the valid instructions where it is executed.
    Type: Application
    Filed: February 13, 2016
    Publication date: August 18, 2016
    Inventors: Charles SALMON-LEGAGNEUR, Antoine MONSIFROT
  • Patent number: 9378395
    Abstract: A device stores program code in a plurality of slots in its memory. When a processor of the device receives a call to an encrypted function, it uses a slot table to find the location of the cipher function and the cipher module and the key to decrypt the encrypted module. The encrypted module is decrypted, executed, re-encrypted and moved to a new memory slot. The cipher function used is moved to a further new slot and the slot table is updated. Also provided is a method and a computer program support. The invention can make it more difficult to analyse execution traces of the program code.
    Type: Grant
    Filed: June 11, 2013
    Date of Patent: June 28, 2016
    Assignee: THOMSON LICENSING
    Inventors: Antoine Monsifrot, Charles Salmon-Legagneur
  • Publication number: 20160117155
    Abstract: Control Flow Graph flattening of a function comprising a plurality of basic blocks having an address and at least one instruction.
    Type: Application
    Filed: October 24, 2015
    Publication date: April 28, 2016
    Inventors: Charles SALMON-LEGAGNEUR, Antoine MONSIFROT