Patents by Inventor Tuomas Karkkainen

Tuomas Karkkainen 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: 20170279604
    Abstract: A method of encoding and encrypting input data (D1) to generate corresponding encoded and encrypted data (E2) is provided. The input data (D1) is encoded to generate intermediate encoded data streams. The intermediate encoded data streams include at least one critical data stream that is critical and essential for subsequent decoding of one or more remaining data streams of the intermediate encoded data streams. The at least one critical data stream is encrypted using one or more encryption algorithms to generate at least one intermediate encrypted data stream. Subsequently, unencrypted portions of the intermediate encoded data streams are merged together with the at least one intermediate encrypted data stream to generate the encoded and encrypted data (E2).
    Type: Application
    Filed: September 21, 2015
    Publication date: September 28, 2017
    Inventors: Tuomas KÄRKKÄINEN, Ossi KALEVO
  • Publication number: 20170237715
    Abstract: A method of encoding and encrypting input data (D1) to generate corresponding encoded and encrypted data (E2) is provided. At least a first data block of the input data (D1) is encoded to generate a first encoded data block. The at least first encoded data block is then encrypted using at least one key to provide a first encoded and encrypted data block for inclusion in the encoded and encrypted data (E2). Moreover, a first seed value is generated for use in encrypting a next encoded data block to provide a next encoded and encrypted data block for inclusion in the encoded and encrypted data (E2). Furthermore, a next seed value is generated for use in encrypting a subsequent encoded data block, in a sequential repetitive manner until each data block of the input data (D1) is encoded and encrypted into the encoded and encrypted data (E2).
    Type: Application
    Filed: August 7, 2015
    Publication date: August 17, 2017
    Inventor: Tuomas KÄRKKÄINEN
  • Patent number: 9735805
    Abstract: An encoder for encoding input data to generate corresponding encoded data includes data processing hardware which is operable: to determine at least partial reoccurrences of data blocks or data packets within the input data, wherein the data blocks or data packets include a plurality of bytes; to employ at least one reference symbol to relate reoccurrences of mutually similar data blocks or data packets and/or to indicate whether or not there are reoccurrences of mutually similar data blocks or data packets within the input data; to employ a plurality of change symbols, for example a plurality of mask bits, to indicate changed and unchanged data elements of partial reoccurrences of data blocks or data packets within the input data and a change of data values of changed data elements; and to encode the at least one reference symbol and the plurality of change symbols into the encoded data.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: August 15, 2017
    Assignee: Gurulogic Microsystems Oy
    Inventors: Tuomas Karkkainen, Ossi Kalevo
  • Patent number: 9729169
    Abstract: A method of encoding input data in an encoder to generate corresponding encoded data includes splitting and/or transforming the input data into data chunks, analyzing symbols present in the input data and compressing the symbols as a function of occurrence of the symbols in the data chunks; generating code tables, frequency tables, and/or length of code word tables for the symbols present in the data chunks; computing sets of indices relating the symbols in each data chunk and/or the compressed symbols to entries in the code tables, the frequency tables, and/or the length of code word tables; and assembling the sets of indices, together with the frequency tables, the code tables, and/or information indicative of such tables, for generating the encoded data. An encoder that utilizes the method, together with a corresponding decoder, wherein the encoder and the decoder in combination form a codec.
    Type: Grant
    Filed: February 20, 2015
    Date of Patent: August 8, 2017
    Assignee: GURULOGIC MICROSYSTEMS OY
    Inventors: Ossi Kalevo, Tuomas Karkkainen, Artur Huhtaniemi
  • Publication number: 20170155404
    Abstract: An encoder for encoding input data to generate corresponding encoded data is provided. The encoder identifies substantial reoccurrences of data blocks and/or data packets within at least a portion of the input data. The encoder then identifies, in respect of individual elements, where elements are unchanged and/or changed within the substantially reoccurring data blocks and/or data packets. Subsequently, the encoder encodes unchanged elements in the encoded data by employing at least one corresponding symbol, or at least one corresponding bit, for example a single bit, indicating an absence of change in the unchanged elements relative to corresponding elements in a reference data block and/or data packet. Moreover, the encoder encodes changed elements in the encoded data.
    Type: Application
    Filed: June 26, 2015
    Publication date: June 1, 2017
    Inventors: Tuomas KARKKAINEN, Ossi KALEVO
  • Publication number: 20170155402
    Abstract: An encoder for encoding input data (D1) to generate corresponding encoded data (E2) includes data processing hardware which is operable: (a) to determine at least partial reoccurrences of data blocks or data packets within the input data (D1), wherein the data blocks or data packets include a plurality of bytes; (b) to employ at least one reference symbol to relate reoccurrences of mutually similar data blocks or data packets and/or to indicate whether or not there are reoccurrences of mutually similar data blocks or data packets within the input data (D1); (c) to employ a plurality of change symbols, for example a plurality of mask bits, to indicate changed and unchanged data elements of partial reoccurrences of data blocks or data packets within the input data (D1) and a change of data values of changed data elements; and (d) to encode the at least one reference symbol and the plurality of change symbols into the encoded data (E2).
    Type: Application
    Filed: June 26, 2015
    Publication date: June 1, 2017
    Inventors: Tuomas KARKKAINEN, Ossi KALEVO
  • Publication number: 20170097981
    Abstract: An apparatus is operable to compress first data to generate corresponding compressed second data. The apparatus includes a data processing arrangement which is operable: to arrange the first data into a configuration of data blocks; to compute one or more parameters describing the data blocks and, based upon categories related to the one or more parameters, to search one or more databases and/or data base elements, for subsequent matching of the data blocks in the one or more databases for corresponding matching elements; for the matched data blocks and elements, to generate a data set including reference values identifying the elements and containing the categories or information about the categories; and to generate the compressed second data by including therein the reference values containing the categories or information about the categories.
    Type: Application
    Filed: June 11, 2015
    Publication date: April 6, 2017
    Inventors: Ossi KALEVO, Tuomas KARKKAINEN
  • Publication number: 20170070752
    Abstract: A decoder is operable to decode input data to generate corresponding decoded output data.
    Type: Application
    Filed: November 21, 2016
    Publication date: March 9, 2017
    Inventors: Ossi Kalevo, Tuomas Kärkkäinen
  • Publication number: 20170063392
    Abstract: A method of encoding input data in an encoder to generate corresponding encoded data includes splitting and/or transforming the input data into data chunks, analyzing symbols present in the input data and compressing the symbols as a function of occurrence of the symbols in the data chunks; generating code tables, frequency tables, and/or length of code word tables for the symbols present in the data chunks; computing sets of indices relating the symbols in each data chunk and/or the compressed symbols to entries in the code tables, the frequency tables, and/or the length of code word tables; and assembling the sets of indices, together with the frequency tables, the code tables, and/or information indicative of such tables, for generating the encoded data. An encoder that utilizes the method, together with a corresponding decoder, wherein the encoder and the decoder in combination form a codec.
    Type: Application
    Filed: February 20, 2015
    Publication date: March 2, 2017
    Inventors: Ossi KALEVO, Tuomas KARKKAINEN, Artur HUHTANIEMI
  • Publication number: 20170048367
    Abstract: To provide a called one with information on the caller, a reference to a resource containing real-time or near-real-time information relating to the caller, or information deduced using the real-time or near-real-time information, or the real-time or near-real-time information, or the information deduced using the real-time or near-real-time information, is transmitted with a connection establishment request, and the information in the resource or the received information is displayed to the called one before the requested connection is established so that the called one can make a decision whether or not to answer the call.
    Type: Application
    Filed: April 15, 2015
    Publication date: February 16, 2017
    Inventors: Tuomas KÄRKKÄINEN, Ossi KALEVO
  • Publication number: 20170041021
    Abstract: An encoder for compressing input data to generate corresponding encoded data is provided. The encoder is operable to process the input data to identify reoccurrence of mutually similar multi-dimensional patterns of data bits and/or data symbols therein. The encoder is then operable to represent one or more duplicate reoccurrences of the mutually similar multi-dimensional patterns of data bits and/or data symbols by way of one or more duplication symbols uniquely identifying the mutually similar patterns.
    Type: Application
    Filed: October 24, 2016
    Publication date: February 9, 2017
    Inventors: Tuomas KÄRKKÄINEN, Ossi Kalevo
  • Patent number: 9538239
    Abstract: A decoder which decodes input data to generate corresponding decoded output data is operable: (a) to process encoded input data to extract header information indicative of encoded data pertaining to blocks and/or packets included in the encoded input data, the header information including data indicative of transformations employed to encode and compress original block and/or packet data for inclusion as the encoded data pertaining to the blocks and/or packets; (b) to prepare a data field in a data storage arrangement for receiving decoded block and/or packet content; (c) to retrieve information describing the transformations and then applying an inverse of the transformations for decoding the encoded and compressed original block and/or packet data to generate corresponding decoded block and/or packet content for populating the data field; and (d) when the encoded input data has been at least partially decoded, to output data from the data field as the decoded output data.
    Type: Grant
    Filed: August 13, 2012
    Date of Patent: January 3, 2017
    Assignee: Gurulogic Microsystems Oy
    Inventors: Ossi Kalevo, Tuomas Kärkkäinen
  • Patent number: 9509991
    Abstract: A processor is configured to receive input data, divide an individual frame into blocks, compare the blocks with corresponding blocks of a first prediction frame for and identify changed blocks. In order to obtain an efficient solution for processing and reproducing frames, the processor is configured to include in generated intermediate data the blocks identified as changed blocks, and generate a change indicator indicating the positions in the individual frame of the identified changed blocks and identified unchanged blocks.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: November 29, 2016
    Assignee: GURULOGIC MICROSYSTEMS OY
    Inventors: Tuomas Karkkainen, Ossi Kalevo
  • Patent number: 9503782
    Abstract: A decoder which decodes input data to generate corresponding decoded output data is operable: (a) to process encoded input data to extract header information indicative of encoded data pertaining to blocks and/or packets included in the encoded input data, the header information including data indicative of transformations employed to encode and compress original block and/or packet data for inclusion as the encoded data pertaining to the blocks and/or packets; (b) to prepare a data field in a data storage arrangement for receiving decoded block and/or packet content; (c) to retrieve information describing the transformations and then applying an inverse of the transformations for decoding the encoded and compressed original block and/or packet data to generate corresponding decoded block and/or packet content for populating the data field; and (d) when the encoded input data has been at least partially decoded, to output data from the data field as the decoded output data.
    Type: Grant
    Filed: August 13, 2012
    Date of Patent: November 22, 2016
    Inventors: Ossi Kalevo, Tuomas Kärkkäinen
  • Publication number: 20160156933
    Abstract: A method of encoding data (D1) for generating corresponding encoded data (E2) is provided, wherein the method includes: (a) analyzing the data (D1) to be encoded to identify one or more structural features within the data (D1); (b) encoding the data (D1) to be encoded as one or more portions depending upon the one or more structural features, and selecting one or more methods which efficiently encode the one or more portions, wherein the one or more methods include at least one extrapolation encoding method; and (c) generating the encoded data (E2) by combining data generated from the one or more portions, wherein the encoded data (E2) includes information indicative of methods employed to encode the one or more portions with their associated parameters.
    Type: Application
    Filed: July 17, 2014
    Publication date: June 2, 2016
    Applicant: GURULOGIC MICROSYSTEMS OY
    Inventors: Ossi KALEVO, Tuomas KARKKAINEN
  • Publication number: 20160156367
    Abstract: An encoder includes data processing hardware operable to: process input data into a plurality of blocks/packets; apply a plurality of transformations to content of the blocks/packets to generate corresponding transformed data; check a quality of representation of the transformed data prior to application of the transformations to determine whether or not the quality of representation of the transformed data satisfies quality criteria; if the quality of representation does not satisfy the quality criteria, to divide and/or combine the one or more individual blocks or packets further and repeating the transformation step; and if the quality of representation of the transformed data satisfies the one or more quality criteria, to select coding methods and encode data representative of the input data to be encoded to provide encoded output data; and communicate in the encoded data information describing the plurality of transformations or combinations of transformations employed when coding the blocks/packets.
    Type: Application
    Filed: February 8, 2016
    Publication date: June 2, 2016
    Inventors: Ossi Mikael Kalevo, Tuomas Kärkkäinen
  • Publication number: 20160142712
    Abstract: A method of encoding data in an encoder to generate corresponding encoded data includes receiving the data to be encoded and analyzing sub-portions of the data to be encoded to determine one or more encoding algorithms which are to be applied to encode the sub-portions, wherein the one or more encoding algorithms include at least one interpolation algorithm; computing one or more interpolation parameters for the at least one interpolation algorithm which are representative of data values of the sub-portion of the data to be encoded by the at least one interpolation algorithm; encoding a remainder of the sub-portions of the data to be encoded using the one or more encoding algorithms; and combining data generated in the computing and encoding to generate the encoded data. A method is also disclosed for decoding encoded data in a decoder. The methods may be employed in an encoder, decoder, and codec.
    Type: Application
    Filed: July 17, 2014
    Publication date: May 19, 2016
    Inventors: Tuomas KARKKAINEN, Ossi KALEVO
  • Patent number: 9258389
    Abstract: An encoder includes data processing hardware which is operable: to divide input data into a plurality of blocks or packets; to apply a plurality of transformations to content of the blocks or packets to generate corresponding transformed data; to check a quality of representation of the transformed data prior to application of the transformations to determine whether or not the quality of representation of the transformed data satisfies one or more quality criteria; if the quality of representation of the transformed data does not satisfy the one or more quality criteria, to sub-divide and/or to combine the one or more blocks or packets further and repeating the transformation step; and if the quality of representation of the transformed data satisfies the one or more quality criteria, to output the transformed data to provide encoded output data representative of the input data to be encoded.
    Type: Grant
    Filed: January 24, 2014
    Date of Patent: February 9, 2016
    Assignee: GURULOGIC MICROSYSTEMS OY
    Inventors: Ossi Mikael Kalevo, Tuomas Kärkkäinen
  • Patent number: 9245353
    Abstract: An encoder generating encoded data. The encoder comprising an analysis unit for analysing portions of data to be encoded, and for directing the portions to one or more encoding units, the encoding units are operable to encode the data portions to generate encoded data. The one or more encoding units are operable to employ mutually different encoding algorithms when encoding the one or more portions. At least one encoding unit of the one or more encoding units is operable to compute data values present in each portion received thereat, to sub-divide the data values into at least two sets, to compute at least one aggregate value for a given set derived from the data values present in the given set. A corresponding decoder for decoding data generated by the encoder executes an inverse of encoding steps employed in the encoder.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: January 26, 2016
    Assignee: Gurulogic Microsystems Oy
    Inventors: Ossi Kalevo, Tuomas Kärkkäinen
  • Patent number: 9232228
    Abstract: The present invention relates to an image processor that is configured to compare a single frame included in the received signal with a preceding processed frame so as to detect changes. In order to enable the image being compressed in as compact a format as possible, the processor is configured to detect changes by dividing the pixels of a single frame into movement blocks and to detect the movement block as changed if in said movement block there is a given number of pixels whose color value change as compared with the corresponding pixels of the preceding processed frame exceeds a predetermined threshold, to exchange the color values of the pixels of the unchanged movement blocks in the frame under process for predetermined values and to generate a signal that indicates the changes.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: January 5, 2016
    Assignee: GURULOGIC MICROSYSTEMS OY
    Inventors: Tuomas Karkkainen, Ossi Kalevo