JP2023050192A - Information processing device, program, data structure, and information processing method - Google Patents

Information processing device, program, data structure, and information processing method Download PDF

Info

Publication number
JP2023050192A
JP2023050192A JP2022156747A JP2022156747A JP2023050192A JP 2023050192 A JP2023050192 A JP 2023050192A JP 2022156747 A JP2022156747 A JP 2022156747A JP 2022156747 A JP2022156747 A JP 2022156747A JP 2023050192 A JP2023050192 A JP 2023050192A
Authority
JP
Japan
Prior art keywords
data
unit
type
value
electronic data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022156747A
Other languages
Japanese (ja)
Other versions
JP7457403B2 (en
Inventor
敦 黒川
Atsushi Kurokawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2023050192A publication Critical patent/JP2023050192A/en
Application granted granted Critical
Publication of JP7457403B2 publication Critical patent/JP7457403B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

To provide a data structure, an information processing device, a method and a program for enabling expression adapted to the number of significant digits.SOLUTION: In an information processing device 1 being a cloud server 1a, an embedded device 1b or a spacecraft 1c, a first conversion part of an arithmetic processing part includes a record portion generation part, a number designation portion generation part and a combination part. The record portion generation part generates a record portion composed of one or more unit data by sequentially extracting unit data of a first prescribed bit length from a bit string of first electronic data having the existing data type including an integer type, a small number type and a character type. The number designation portion generation part counts the number of unit data of the record potion as a number designation value, and generates a variable-length number designation portion including the number designation value and corresponding to the number designation value. The combination part combines the record portion generated by the record portion generation part and the number designation portion generated by the number designation portion generation part to generate second electronic data having the record portion and the number designation portion.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、プログラム、データ構造、及び情報処理方法に関する。 The present invention relates to an information processing device, program, data structure, and information processing method.

例えば特許文献1に記載されるように、プログラム言語において文字型や整数型などのデータ型が用いられる。 For example, as described in Patent Document 1, data types such as character type and integer type are used in programming languages.

特開平06-083630号公報JP-A-06-083630

データ型は整数型と文字型とに大別される。これらのデータ型は固定長であることが普通であり、各データ型は規定のデータ長を有する。利便性という観点から、格納されうる電子データサイズに対して充分に大きな格納サイズのデータ型を選択する運用が、習慣的に行われてきた。この点に関し、本願発明者は、鋭意研究の過程で新規なデータ構造の着想を得た。 Data types are broadly classified into integer types and character types. These data types are usually fixed length, and each data type has a defined data length. From the point of view of convenience, it has been customary to choose a data type whose storage size is sufficiently large relative to the size of the electronic data that can be stored. With regard to this point, the inventor of the present application came up with an idea of a new data structure in the process of earnest research.

本発明は、有効桁数に合わせた表現が可能である新規なデータ構造、並びにこれを取り扱うことのできる情報処理装置、プログラム、及び情報処理方法を提供する。 The present invention provides a novel data structure that can be expressed in accordance with the number of significant digits, and an information processing apparatus, program, and information processing method that can handle this.

本発明によれば、以下の発明が提供される。
[1]第1変換部を備える情報処理装置であって、前記第1変換部は、記録部分生成部と、個数指定部分生成部と、結合部とを備え、前記記録部分生成部は、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、前記個数指定部分生成部は、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成し、前記結合部は、前記記録部分生成部が生成した前記記録部分と前記個数指定部分生成部が生成した前記個数指定部分とを結合して前記記録部分と前記個数指定部分とを有する第2電子データを生成する、情報処理装置。
[2][1]に記載の情報処理装置であって、前記個数指定部分生成部は、前記個数指定部分から前記個数指定値のビット長が取得可能となるよう、下記(1)又は(2)の構成を備える、情報処理装置。
(1)前記個数指定部分の先頭に、前記個数指定値のビット長を示す第2所定ビット長の個数指定値指定部分を配置する。
(2)前記個数指定値のビット列を、第3所定ビット長を有するとともに継続フラグによって後続の有無を判別可能な一つ以上の分割部分に分割する。
[3][1]に記載の情報処理装置であって、前記第2電子データは、前記第1電子データと相互に変換可能である、情報処理装置。
[4][1]~[3]のいずれかに記載の情報処理装置であって、前記第1変換部は、前記第1電子データのビット列のうち値を格納しない不使用部分を省いて前記記録部分を生成することにより、データ長が短縮された前記第2電子データを生成する、情報処理装置。
[5][1]~[4]のいずれかに記載の情報処理装置であって、前記第1変換部は、識別部分生成部をさらに備え、前記識別部分生成部は、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、前記結合部は、前記個数指定部分及び前記記録部分に加えて前記識別部分を結合して、前記個数指定部分と前記記録部分と前記識別部分とを有する前記第2電子データを生成する、情報処理装置。
[6][1]~[5]のいずれかに記載の情報処理装置であって、第2変換部をさらに備え、前記第2変換部は、個数指定値取得部と、単位データ合算部とを備え、前記個数指定値取得部は、前記第2電子データの前記個数指定部分から前記個数指定値を取得し、前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記第1電子データを生成する、情報処理装置。
According to the present invention, the following inventions are provided.
[1] An information processing apparatus comprising a first conversion section, wherein the first conversion section includes a recorded portion generation section, a number designation section generation section, and a combination section, and the recorded section generation section includes an integer A record composed of one or more unit data by sequentially extracting unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including type, minority type and character type The number-designated-portion generating unit counts the number of the unit data of the recorded portion as a number-designated value, and includes information on the number-designated value and a variable-length number corresponding to the number-designated value. a designated portion is generated, and the combining unit combines the recorded portion generated by the recorded portion generating unit and the number-designated portion generated by the number-designated portion generating unit to combine the recorded portion and the number-designated portion; An information processing device that generates second electronic data having
[2] In the information processing device described in [1], the number-designated-part generating unit can obtain the bit length of the number-designated value from the number-designated part by performing the following (1) or (2): ), the information processing device.
(1) Arranging a number designation value designation portion having a second predetermined bit length indicating the bit length of the number designation value at the beginning of the number designation portion.
(2) dividing the bit string of the number-designated value into one or more divided parts each having a third predetermined bit length and capable of determining the presence or absence of a continuation by a continuation flag;
[3] The information processing device according to [1], wherein the second electronic data is mutually convertible with the first electronic data.
[4] The information processing device according to any one of [1] to [3], wherein the first conversion unit omits an unused part that stores no value in the bit string of the first electronic data, and An information processing apparatus that generates the second electronic data with a shortened data length by generating a recorded portion.
[5] The information processing device according to any one of [1] to [4], wherein the first conversion unit further includes an identification part generation unit, and the identification part generation unit generates the first electronic data acquires the data type of and generates an identification portion containing identification value information corresponding to the data type, the combining unit combines the identification portion in addition to the number designation portion and the recording portion, An information processing apparatus that generates the second electronic data having the number designation portion, the recording portion, and the identification portion.
[6] The information processing apparatus according to any one of [1] to [5], further comprising a second conversion section, wherein the second conversion section includes a number designation value obtaining section and a unit data summing section. wherein the specified number value acquiring unit acquires the specified number value from the specified number part of the second electronic data, and the unit data summation unit acquires the specified number value acquired by the specified number value acquiring unit an information processing apparatus that generates the first electronic data by sequentially adding the unit data included in the recording portion while shifting the digits in units of the first predetermined bit length based on.

[7]第2変換部を備える情報処理装置であって、前記第2変換部は、記録部分と個数指定部分とを有する第2電子データを、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換するよう構成されるとともに、個数指定部分ビット長取得部と、個数指定値取得部と、単位データ合算部と、を備え、前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含むとともに、当該個数指定値に応じて可変長とされ、前記個数指定部分ビット長取得部は、前記個数指定部分のビット長を取得し、前記個数指定値取得部は、前記個数指定部分ビット長取得部が取得した前記個数指定部分のビット長に基づいて前記個数指定部分から前記個数指定値を取得し、前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記第1電子データを生成する、情報処理装置。
[8]コンピュータに、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出させることで、一つ以上の前記単位データで構成された記録部分を生成させ、コンピュータに、前記記録部分の前記単位データの個数を個数指定値としてカウントさせ、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成させ、コンピュータに、前記記録部分と前記個数指定部分とを結合させて、前記記録部分と前記個数指定部分とを有する第2電子データを生成させる、プログラム。
[9]コンピュータにより、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、コンピュータにより、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成し、コンピュータにより、前記記録部分と前記個数指定部分とを結合して、前記記録部分と前記個数指定部分とを有する第2電子データを生成する、情報処理方法。
[7] An information processing apparatus comprising a second conversion section, wherein the second conversion section converts second electronic data having a recording portion and a number specifying portion into known data including integer type, decimal type and character type. It is configured to be converted into first electronic data having a data type, and includes a number-specified portion bit length acquisition unit, a number-specified value acquisition unit, and a unit data summation unit, wherein the recording part is a first predetermined is composed of one or more unit data having a bit length; The designated portion bit length acquisition unit acquires the bit length of the number designation portion, and the number designation value acquisition unit acquires the number designation portion based on the bit length of the number designation portion acquired by the number designation portion bit length acquisition unit. The unit data summation unit acquires the designated number value from the designated portion, and shifts the digits in units of the first predetermined bit length based on the designated number value acquired by the designated number value acquisition unit, and shifts the recording portion. an information processing apparatus that generates the first electronic data by sequentially summing the unit data included in the .
[8] By causing a computer to sequentially extract unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, one or more of the above Generate a recorded portion composed of unit data, cause a computer to count the number of the unit data in the recorded portion as a specified number value, include information on the specified number value, and have a variable length corresponding to the specified number value. and causing a computer to combine the recorded portion and the number-designated portion to generate second electronic data having the recorded portion and the number-designated portion.
[9] A computer sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, thereby obtaining one or more of the above A recorded portion composed of unit data is generated, the number of the unit data in the recorded portion is counted as a specified number value by a computer, and information on the specified number value is included, and a variable length corresponding to the specified number value is included. and combining the recorded portion and the number-designated portion by a computer to generate second electronic data having the recorded portion and the number-designated portion.

[10]第1変換部を備える情報処理装置であって、前記第1変換部は、記録部分生成部と、個数指定部分生成部と、識別部分生成部と、結合部とを備え、前記記録部分生成部は、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、前記個数指定部分生成部は、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含む個数指定部分を生成し、前記識別部分生成部は、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、前記結合部は、前記記録部分生成部が生成した前記記録部分と前記個数指定部分生成部が生成した前記個数指定部分と前記識別部分生成部が生成した前記識別部分とを結合して、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成する、情報処理装置。
[11]第2変換部を備える情報処理装置であって、前記第2変換部は、記録部分と個数指定部分と識別部分とを有する第2電子データを、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換するよう構成されるとともに、個数指定値取得部と、単位データ合算部と、識別部とを備え、前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、前記個数指定値取得部は、前記個数指定部分から前記個数指定値を取得し、前記識別部は、前記識別部分から前記識別値を取得して当該識別値から前記第1電子データのデータ型を識別し、前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記識別部が識別した前記データ型を有する前記第1電子データを生成する、情報処理装置。
[12]コンピュータに、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、所定の単位ビット列又は所定の単位バイト列を単位データとして順次抽出させることで、一つ以上の前記単位データで構成された記録部分を生成させ、コンピュータに、前記記録部分の前記単位データの個数を個数指定値としてカウントさせ、当該個数指定値の情報を含む個数指定部分を生成させ、コンピュータに、前記第1電子データのデータ型を取得させ、当該データ型に対応する識別値の情報を含む識別部分を生成させ、コンピュータに、前記記録部分と前記個数指定部分と前記識別部分とを結合させて、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成させる、プログラム。
[13]コンピュータに、記録部分と個数指定部分と識別部分とを有する第2電子データを整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換させるプログラムであって、前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、コンピュータに、前記第2電子データの前記個数指定部分から前記個数指定値を取得させ、コンピュータに、前記第2電子データの前記識別部分から前記識別値を取得させて当該識別値から前記第1電子データのデータ型を識別させ、コンピュータに、前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算させることで、前記識別させたデータ型を有する前記第1電子データを生成させる、プログラム。
[14]コンピュータにより、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、コンピュータにより、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含む個数指定部分を生成し、コンピュータにより、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、コンピュータにより、前記記録部分と前記個数指定部分と前記識別部分とを結合して、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成する、情報処理方法。
[15]コンピュータにより、記録部分と個数指定部分と識別部分とを持つ第2電子データを整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換する方法であって、前記記録部分は、所定の単位ビット列又は所定の単位バイト列からなる第1所定ビット長を有する一つ以上の単位データで構成され、前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、コンピュータにより、前記第2電子データの前記個数指定部分から前記個数指定値を取得し、コンピュータにより、前記第2電子データの前記識別部分から前記識別値を取得して当該識別値から前記第1電子データのデータ型を識別し、コンピュータにより、前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記識別したデータ型を有する前記第1電子データを生成する、情報処理方法。
[16]記録部分と個数指定部分と識別部分とを備えるデータ構造であって、前記記録部分は、所定の単位ビット列又は所定の単位バイト列からなる第1所定ビット長を有する1つ以上の単位データで構成され、前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、前記識別部分は、整数型、少数型及び文字型を含む既知のデータ型に対応する識別値の情報を含む、データ構造。
[10] An information processing apparatus comprising a first conversion unit, wherein the first conversion unit includes a recorded part generator, a number-designated part generator, an identification part generator, and a combiner, and The partial generation unit sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, thereby generating one or more of the units. generating a recorded portion composed of data, and counting the number of the unit data in the recorded portion as a number-designated value, and generating a number-designated portion including information on the number-designated value; , the identification part generation unit acquires a data type of the first electronic data and generates an identification part including information of an identification value corresponding to the data type; and the combining unit is generated by the recording part generation unit. The recorded portion, the number-designated portion generated by the number-designated portion generation unit, and the identification portion generated by the identification portion generation unit are combined to generate the recorded portion, the number-designated portion, and the identification portion. an information processing device that generates second electronic data having;
[11] An information processing device comprising a second conversion unit, wherein the second conversion unit converts second electronic data having a recording portion, a number designation portion, and an identification portion into an integer type, a minority type, and a character type. and is configured to convert into first electronic data having a known data type including the number specifying part includes information of a number specifying value indicating the number of the unit data; and the identification part is the first electronic data from which the second electronic data is converted including information of an identification value corresponding to a data type of electronic data, wherein the specified number value acquisition unit acquires the specified number value from the specified number part, and the identification unit acquires the identification value from the identification part and identifies the data type of the first electronic data from the identification value, and the unit data summation unit calculates data in units of the first predetermined bit length based on the number designation value acquired by the number designation value acquisition unit An information processing apparatus that generates the first electronic data having the data type identified by the identifying unit by sequentially adding the unit data included in the recorded portion while shifting digits.
[12] By causing a computer to sequentially extract a predetermined unit bit string or a predetermined unit byte string as unit data from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, Generate a recorded portion composed of one or more of the unit data, cause a computer to count the number of the unit data in the recorded portion as a number designation value, and generate a number designation portion including information on the number designation value. causing a computer to acquire the data type of the first electronic data, generating an identification portion including information of an identification value corresponding to the data type, and causing the computer to generate the recording portion, the number designation portion, and the identification portion to generate second electronic data having the recording portion, the number specifying portion, and the identification portion.
[13] A program that causes a computer to convert second electronic data having a recording portion, a number specifying portion, and an identification portion into first electronic data having a known data type including an integer type, a decimal type, and a character type, , the recording portion is composed of one or more unit data having a first predetermined bit length, the number specifying portion includes information of a number specifying value indicating the number of the unit data, and the identification portion comprises the including identification value information corresponding to the data type of the first electronic data from which the second electronic data is converted, causing a computer to obtain the specified number value from the specified number portion of the second electronic data; obtaining the identification value from the identification portion of the second electronic data and identifying the data type of the first electronic data from the identification value; A program for generating the first electronic data having the identified data type by sequentially summing the unit data included in the recording portion while shifting digits in units of length.
[14] A computer sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, thereby obtaining one or more of the above generating a recorded portion composed of unit data, counting the number of the unit data in the recorded portion as a number-specified value by a computer, generating a number-specified portion including information on the number-specified value, Acquiring the data type of the first electronic data, generating an identification portion including identification value information corresponding to the data type, and combining the recording portion, the number designation portion, and the identification portion by a computer , an information processing method for generating second electronic data having the recording portion, the number specifying portion, and the identification portion.
[15] A method of converting, by a computer, second electronic data having a recording portion, a number specifying portion, and an identification portion into first electronic data having a known data type including an integer type, a decimal type, and a character type, , the recording part is composed of one or more unit data having a first predetermined bit length consisting of a predetermined unit bit string or a predetermined unit byte string, and the number designation part is a number designation indicating the number of the unit data. including value information, wherein the identification portion includes identification value information corresponding to the data type of the first electronic data that is the conversion source of the second electronic data, and a computer determines the number of the second electronic data acquiring the specified number value from the specified portion; acquiring the identification value from the identification portion of the second electronic data by a computer; identifying the data type of the first electronic data from the identification value; The first electronic data having the identified data type is generated by sequentially summing the unit data included in the recording portion while shifting digits in units of the first predetermined bit length based on the number designation value. Information processing method.
[16] A data structure comprising a recording portion, a number specifying portion, and an identification portion, wherein the recording portion is one or more units having a first predetermined bit length consisting of a predetermined unit bit string or a predetermined unit byte string data, wherein the number designation part includes information of a number designation value indicating the number of the unit data, and the identification part is an identification value corresponding to a known data type including an integer type, a decimal type and a character type. A data structure that contains information about

本発明にかかる第2電子データは個数指定部分の値で記録部分のデータ長を可変指定できるので、有効桁数に合わせた表現が可能となる利点がある。 Since the second electronic data according to the present invention can variably specify the data length of the recorded portion by the value of the number specifying portion, there is an advantage that expression matching the number of significant digits is possible.

図1Aは実施形態のκ(カッパ)型データ構造を持つ第2電子データ5の模式図であり、図1Bはκ型の一例(整数型・個数指定部分固定型)の第2電子データ5を示す模式図であり、図1Cは第2電子データ5の具体的数値例を示す図であり、図1Dは第2電子データ5の他の具体的数値例を示す図である。FIG. 1A is a schematic diagram of the second electronic data 5 having the κ (kappa) type data structure of the embodiment, and FIG. 1B shows the second electronic data 5 of the κ type (integer type/number-specified part fixed type). 1C is a diagram showing a specific numerical example of the second electronic data 5, and FIG. 1D is a diagram showing another specific numerical example of the second electronic data 5. FIG. 図2Aはκ型の他の例(整数型・個数指定部分固定型)の第2電子データ5の他の具体例を示す図であり、図2Bは単位データ5aの例を示す図である。FIG. 2A is a diagram showing another specific example of the second electronic data 5 of another example of the κ type (integer type/number-designated part fixed type), and FIG. 2B is a diagram showing an example of the unit data 5a. 図3Aはκ型の他の例(整数型・個数指定部分可変長型)を表す模式図であり、図3Bはκ型の他の例の第2電子データ5の具体的数値例の図である。FIG. 3A is a schematic diagram showing another example of the κ type (integer type/quantity-specified partial variable-length type), and FIG. 3B is a diagram of a specific numerical example of the second electronic data 5 of another example of the κ type. be. 図4Aはκ型の他の例(小数型・個数指定部分可変長型)の第2電子データ5を表す模式図であり、図4Bはκ型の他の例(小数型・個数指定部分可変長型・指数部分と仮数部分の両方指定可)の第2電子データ5を表す模式図であり、図4Cはκ型の他の例(小数型・個数指定部分可変長型)の第2電子データ5を表す模式図であり、図4Dはsignビットとbiased exponentの概念図である。FIG. 4A is a schematic diagram showing the second electronic data 5 of another example of κ type (decimal type/quantity designation part variable length type), and FIG. 4B is another example of κ type (decimal type/number designation part variable length type) FIG. 4C is a schematic diagram showing the second electronic data 5 of the long type/both the exponent part and the mantissa part can be specified), and FIG. FIG. 4D is a schematic diagram representing data 5, and FIG. 4D is a conceptual diagram of a sign bit and biased exponent. 図5Aはκ型の他の例(文字型・個数指定部分固定型)の第2電子データ5を表す模式図であり、図5Bはκ型の他の例(文字型・個数指定部分可変長型)の第2電子データ5を表す模式図である。FIG. 5A is a schematic diagram showing the second electronic data 5 of another example of κ type (character type/number-specified part fixed type), and FIG. 5B is another example of κ type (character type/number-specified part variable length 2 is a schematic diagram showing the second electronic data 5 of the type). 図6Aは識別部分を持つ第2電子データ5の一例であり、図6Bは識別部分の数値と意味との対応テーブルの一例である。FIG. 6A is an example of the second electronic data 5 having an identification part, and FIG. 6B is an example of a correspondence table between numerical values and meanings of the identification part. 実施形態に係る通信回線2を介して電子データ(第1電子データ4又は第2電子データ5)を授受する情報処理装置1(1a、1b、1c)を示す図である。1 is a diagram showing information processing apparatuses 1 (1a, 1b, 1c) that exchange electronic data (first electronic data 4 or second electronic data 5) via a communication line 2 according to an embodiment; FIG. 図8Aは情報処理装置1のハードウェア構成を示すブロック図であり、図8Bは情報処理装置1が持つ演算処理部11の機能構成を示すブロック図である。8A is a block diagram showing the hardware configuration of the information processing device 1, and FIG. 8B is a block diagram showing the functional configuration of the arithmetic processing section 11 of the information processing device 1. As shown in FIG. 図9Aは第1電子データ4(数値型または文字型)から第2電子データ5(κ型文字列)への変換の流れを示し、図9Bは図9Aと逆の変換の流れを示す。FIG. 9A shows the flow of conversion from the first electronic data 4 (numerical type or character type) to the second electronic data 5 (κ type character string), and FIG. 9B shows the flow of conversion opposite to that of FIG. 9A. 第1電子データ4から第2電子データ5への変換処理の具体例を示す図である。5 is a diagram showing a specific example of conversion processing from the first electronic data 4 to the second electronic data 5. FIG. 第1変換部20によって、個数指定部分のビット列を継続フラグによって接続される一つ以上の分割部分に分割する処理の概念を示す図である。4 is a diagram showing the concept of processing for dividing a bit string of a number-designated part into one or more divided parts connected by a continuation flag by the first conversion unit 20. FIG. 図11と同様、個数指定部分のビット列を継続フラグによって接続される一つ以上の分割部分に分割する処理の具体例を示す図である。FIG. 12 is a diagram showing a specific example of processing for dividing a bit string of a number-designated portion into one or more divided portions connected by a continuation flag, similar to FIG. 11; 図11と同様、個数指定部分のビット列を継続フラグによって接続される一つ以上の分割部分に分割する処理の概念を示す図である。FIG. 12 is a diagram showing the concept of processing for dividing the bit string of the number-designated part into one or more divided parts connected by continuation flags, similar to FIG. 図11と同様、個数指定部分のビット列を継続フラグによって接続される一つ以上の分割部分に分割する処理の具体例を示す図である。FIG. 12 is a diagram showing a specific example of processing for dividing a bit string of a number-designated portion into one or more divided portions connected by a continuation flag, similar to FIG. 11;

以下、本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。また、各特徴事項について独立して発明が成立する。 Embodiments of the present invention will be described below. Various features shown in the embodiments shown below can be combined with each other. In addition, the invention is established independently for each characteristic item.

以下、便宜上の区別のために、実施の形態のデータ構造を「κ(カッパ)型」と称する。κ型のデータ構造は、有効桁を用いるデータ表現形式を備える。まず図1A~図6Bを参照して、κ型のデータ構造を持つ第2電子データ5の例を説明する。次に図7~図10を用いて第2電子データ5を取り扱う情報処理装置1等について説明する。さらに図9~図10等を用いて、既存データ型の第1電子データ4と第2電子データ5との変換処理の具体例を述べる。 Hereinafter, for convenience of distinction, the data structure of the embodiment will be referred to as "κ (kappa) type". A κ-type data structure has a data representation format that uses significant digits. First, an example of the second electronic data 5 having a κ-type data structure will be described with reference to FIGS. 1A to 6B. Next, the information processing apparatus 1 and the like that handle the second electronic data 5 will be described with reference to FIGS. 7 to 10. FIG. Further, a specific example of conversion processing between the first electronic data 4 and the second electronic data 5 of the existing data type will be described with reference to FIGS. 9 to 10 and the like.

なお、既存データ型を「第1データ型」と称する場合、便宜上の対比で、κ型を「第2データ型」と称することがある。なお以下の説明で単に「ビット列」と述べる場合、説明中でビットとバイトとを厳密に区別していない限りは、多くの場合、広義のビット列を意味している。広義のビット列は、「任意の数のビットで構成されたデータ集合」と「任意の数のバイトで構成されたデータ集合」とを包括する概念を表している。 When the existing data type is referred to as the "first data type", the κ type may be referred to as the "second data type" for convenience of comparison. In the following description, simply referring to a "bit string" generally means a bit string in a broad sense, unless strictly distinguishing between bits and bytes in the description. A bit string in a broad sense represents a concept encompassing "a data set made up of an arbitrary number of bits" and "a data set made up of an arbitrary number of bytes".

<1.実施形態のデータ構造>
(1.1.概要)
図1Aに、κ型のデータ構造を持つ第2電子データ5を示す。κ型のデータ構造は、「個数指定部分」と「記録部分」とを持つ。個数指定部分は、格納データの幅を指定する部分である。記録部分は、第2電子データ5の主情報(データ本体)が記録されている部分である。個数指定部分は、個数指定値を格納する。個数指定値は、記録部分が何個の「単位データ5a」で構成されているかを指定する値である。実施の形態では、一例として、第2電子データ5におけるビット列全体のうち先等の幾つかが個数指定部分に使用され、個数指定部分の直後に記録部分が並ぶものとする。
<1. Data Structure of Embodiment>
(1.1. Overview)
FIG. 1A shows second electronic data 5 having a κ-type data structure. The κ-type data structure has a “number specification part” and a “recording part”. The number designation part is a part that designates the width of the stored data. The recorded portion is a portion where the main information (data body) of the second electronic data 5 is recorded. The number specification part stores the number specification value. The number designation value is a value that designates how many pieces of "unit data 5a" constitute the recorded portion. In the embodiment, as an example, some of the entire bit strings in the second electronic data 5 are used for the number designation portion, and the recorded portion is arranged immediately after the number designation portion.

記録部分は、一つ以上の単位データ5aで構成される。実施の形態の単位データ5aは、所定個数のビット又はバイトで構成されたひとまとまりのデータ片であり、「単位ビット列」や「単位バイト列」とも表現できる。第1所定ビット長としての「単位データ長」は予め設定される。実施の形態では単位データ長(第1所定ビット長)が1バイト(つまり8ビット)である例を説明する。この場合、例えば個数指定部分の値が「3」であれば、記録部分は3×1バイト=3バイト長(つまり24ビット長)である。 The recorded portion is composed of one or more unit data 5a. The unit data 5a of the embodiment is a piece of data composed of a predetermined number of bits or bytes, and can be expressed as a "unit bit string" or a "unit byte string". A "unit data length" as the first predetermined bit length is set in advance. In the embodiment, an example in which the unit data length (first predetermined bit length) is 1 byte (that is, 8 bits) will be described. In this case, for example, if the value of the number designation part is "3", the recording part is 3×1 bytes=3 bytes long (that is, 24 bits long).

単位データ5aは1バイト長に限定されず、予め任意のデータ長(任意のビット長またはバイト長)に設定してもよい。一例として、単位データ5aは2バイトでもよく、この場合には個数指定部分の個数指定値が「2」であれば記録部分は2×2バイト=4バイト長に指定される。他の例として、単数または任意の複数のビット単位としてもよい。例えば単位データ5aを4ビット長にしてもよく、この場合には個数指定部分の個数指定値が「5」であれば記録部分は5×4ビット=20ビット長に指定される。単位データ5aの他の変形例は後ほど図1Dでも述べる。 The unit data 5a is not limited to a 1-byte length, and may be set to an arbitrary data length (arbitrary bit length or byte length) in advance. As an example, the unit data 5a may be 2 bytes. In this case, if the number designation value of the number designation portion is "2", the length of the recording portion is designated as 2×2 bytes=4 bytes. As another example, it may be a unit of single or any number of bits. For example, the unit data 5a may be 4 bits long. In this case, if the number designation value of the number designation portion is "5", the recording portion is designated to be 5×4 bits=20 bits long. Other modifications of the unit data 5a will also be described later in FIG. 1D.

個数指定部分は、単位データ5aにとらわれずに任意の単数/複数のビット又はバイトで構成されてもよい。ただしこれに限定されず、記録部分と同様に、個数指定部分も単位データ5aを用いた格納方式が適用されてもよい。 The number specifying part may be composed of arbitrary single/plural bits or bytes regardless of the unit data 5a. However, it is not limited to this, and a storage method using the unit data 5a may be applied to the number designation portion as well as the recording portion.

実施の形態における他の前提事項を述べると、以下の説明で接頭辞「0x」は16進数表記を意味する。また、本説明では、バイトの並び方については原則としてbig endianを前提に説明を行うが、これは一例に過ぎず、他の例として例えばlittle endian等のバイトの並び方が採用されてもよい。また、以下の説明に置いて、整数型、小数型、文字型とは、記憶領域での型名であり、表現型を示すものではない。たとえば、日付型は、「年/月/日」等の表現型だが、記憶領域では整数型である。また、「^(ハット)」は冪数を意味し、「~」は省略を意味する。 Another assumption in the embodiments is that in the following description the prefix "0x" means hexadecimal notation. In addition, in this description, the byte arrangement is basically explained on the premise of big endian, but this is only an example, and as another example, for example, little endian or other byte arrangement may be adopted. Also, in the following description, integer type, decimal type, and character type are type names in storage areas, and do not indicate phenotypes. For example, the date type has a representation type such as "year/month/day", but it is an integer type in the storage area. Also, "^ (hat)" means a power number, and "~" means omission.

下記の表1は、κ型のバリエーションの幾つかを示す(区別のためκ1~κ12のナンバリングを付す)。κ型のバリエーションを規定する要素には、一例として「個数指定部分の固定/可変長の別」と「記録部分のデータ内容」と「識別部分の有無」とが含まれる。例えばκ1型は、「整数型・個数指定部分固定型」である。 Table 1 below shows some of the κ-type variations (numbered κ1 to κ12 for distinction). The elements that define the κ-type variations include, for example, “fixed/variable length of number-specified portion”, “data content of recorded portion”, and “presence/absence of identification portion”. For example, the κ1 type is an “integer type/number-specified part fixed type”.

Figure 2023050192000002
Figure 2023050192000002

(1.2.整数型:κ1型、κ2型)
(1.2.1.個数指定部分固定型:κ1型)
図1Bの例では、「A」が個数指定部分であり、記録部分に「abcde」が格納される。実施の形態では一例として個数指定部分が1バイトであり、記録部分の単位データ5aが1バイトずつ合計5個であり、図1Bの例は第2電子データ5が合計6バイトである。
(1.2. Integer type: κ1 type, κ2 type)
(1.2.1. Number-specified partial fixed type: κ1 type)
In the example of FIG. 1B, "A" is the number designation part, and "abcde" is stored in the recording part. In the embodiment, as an example, the number designation part is 1 byte, the unit data 5a of the recording part is 1 byte each, 5 in total, and the second electronic data 5 is 6 bytes in total in the example of FIG. 1B.

図1Bでは、個数指定部分と記録部分の一つ一つの四角が1バイト(単位データ5aと同じ)を表していて、これは後述する幾つかの図で共通に適用される。ただし、他の幾つかの図(具体的には図4A~図4Cや図5A、図5B)では、図示の簡略化のために、図中の四角の個数とデータ長とが相違することがある。 In FIG. 1B, each square in the number designation portion and the recording portion represents 1 byte (the same as the unit data 5a), and this is commonly applied to several figures described later. However, in some other figures (specifically, FIGS. 4A to 4C, FIGS. 5A and 5B), the number of squares and the data length may differ for the sake of illustration simplification. be.

図1Cの具体例では、個数指定部分の値が「03」(16進数表記)であり、記録部分が3バイト長である。記録部分の個々のバイトに「01」と「02」と「03」とが格納されている(16進数表記)。つまり記録部分全体の格納値は(0x010203)である。この値は10進数では66,051である。 In the specific example of FIG. 1C, the value of the number designation portion is "03" (hexadecimal notation), and the recording portion is 3 bytes long. '01', '02' and '03' are stored in individual bytes of the recording portion (in hexadecimal notation). That is, the stored value of the entire recorded portion is (0x010203). This value is 66,051 in decimal.

図1Dの例では、個数指定部分の値が「05」であり、記録部分が5バイト長である。記録部分の各単位データ5aに「01」と「02」と「03」と「04」と「05」とが格納されている(ただし16進数表記)。つまり、記録部分に(0x0102030405)が格納されている(10進数では4,328,719,365)。例えば同じ値をlong型のデータ型で格納する場合、long型の規定データ長は8バイトである。これに対して、κ型では6バイト(個数指定部分1バイト+記録部分5バイト=合計6バイト)で同じ情報を格納できる利点がある。 In the example of FIG. 1D, the value of the number designation part is "05" and the recording part is 5 bytes long. "01", "02", "03", "04", and "05" are stored in each unit data 5a of the recorded portion (hex notation). That is, (0x0102030405) is stored in the recorded portion (4,328,719,365 in decimal). For example, when the same value is stored in a long type data type, the prescribed data length of the long type is 8 bytes. On the other hand, the κ type has the advantage that the same information can be stored in 6 bytes (1 byte for number designation portion + 5 bytes for recording portion = 6 bytes in total).

なお、unsignedの最大値は図2Aにも記載するとおりであり、「256255-1(≒1.2×10614)」を誤差なく記録できる。signedでの範囲は、「-1×(256255-1)÷2」から「256255÷2-1」となる。 The maximum value of unsigned is as shown in FIG. 2A, and "256 255 −1 (≈1.2×10 614 )" can be recorded without error. The range for signed is from "-1 x (256 255 -1)/2" to "256 255 /2-1".

単位データ5aには各種変形が可能である。単位データ5aのサイズ(第1所定ビット長、つまり単位データ長)の変形例を述べる。単位データ5aは図2Bの第1形式と第2形式の何れでもよい。第1形式は2バイト単位であり、第1形式の方がプログラミングは容易である。第2形式は1バイト単位であり、第2形式の方が格納容量を減らせる利点がある。単位データ5aの更に他の形式として、3バイト単位以上(3段階以上)の形式としてもよい。他の例として、単位データ5aのデータ長は、バイト単位に限定されず、任意のビット長(つまり1ビット、2ビット・・・又は7ビット以上の任意のビット長)に規定されてもよい。 Various modifications are possible for the unit data 5a. A modification of the size of the unit data 5a (first predetermined bit length, ie, unit data length) will be described. The unit data 5a may be in either the first format or the second format shown in FIG. 2B. The first format is in 2-byte units and the first format is easier to program. The second format is in 1-byte units, and has the advantage that the second format can reduce the storage capacity. As still another format of the unit data 5a, a format of 3 bytes or more (three stages or more) may be used. As another example, the data length of the unit data 5a is not limited to a byte unit, and may be defined as an arbitrary bit length (that is, 1 bit, 2 bits, or any bit length of 7 bits or more). .

(1.2.2.個数指定部分可変長型:κ2型)
個数指定部分は、固定長に限られない。個数指定部分を可変長とすることもできる。図3Aの例の場合、個数指定部分が、個数指定値指定部分としての第1部分と、第2部分とで構成されている。第1部分は、個数指定部分のうち第2部分のデータ長(ビット長)を指定する部分である。第1部分は、個数指定部分の所定の位置に配置され、予め設定された第2所定ビット長を有している。なお、所定の位置とは、例えば個数指定部分の先頭である。ただし、先頭に対する位置が決まっていれば、他の位置に配置されていても良い。図3Aの例では第1部分に「α」が格納されている。一方、第2部分は、記録部分のデータ長(ビット長)を指定する個数指定値を格納する。第2部分には「ABC~」が格納されている。図3Aの第2電子データ5を受け取った場合には、第1部分の「α」に従って、αバイト長の第2部分の値「ABC~」を読み取る。第2部分に格納された「ABC~」が個数指定値である。個数指定値は、記録部分を構成する単位データ5aの個数を表している。個数指定部分の後に続くビット列のうちABC~バイトを記録部分として取り扱うことで、記録部分の「abc~」という情報を正しく読み取ることができる。
(1.2.2. Variable length type for specifying number: κ2 type)
The number specifying part is not limited to a fixed length. The number specification part can also be variable length. In the case of the example of FIG. 3A, the number specifying portion is composed of a first portion as a number specifying value specifying portion and a second portion. The first part is a part that specifies the data length (bit length) of the second part of the number specifying part. The first portion is arranged at a predetermined position of the number specifying portion and has a preset second predetermined bit length. Note that the predetermined position is, for example, the head of the number designation portion. However, if the position with respect to the head is determined, it may be arranged at another position. In the example of FIG. 3A, "α" is stored in the first part. On the other hand, the second part stores a number designation value that designates the data length (bit length) of the recorded part. "ABC~" is stored in the second part. When the second electronic data 5 of FIG. 3A is received, the value "ABC~" of the second part of α byte length is read according to "α" of the first part. "ABC~" stored in the second part is the number designation value. The number designation value represents the number of unit data 5a forming the recording portion. By treating the ABC~ bytes in the bit string following the number specifying part as the recorded part, the information "abc~" in the recorded part can be read correctly.

図3Bの例では、個数指定部分の第1部分に「02」が格納されており、個数指定部分の第2部分が2バイト長であることが特定される。第2部分には258(=0x0102)が格納されており、これが記録部分のデータ長である。記録部分には、数値「01」「02」「03」「04」「~」「02」が格納されている。つまり、0x01020304~02(≒2.1×10621)が記録部分に格納されている。unsignedの最大値は、「(256255-1)^(256255-1)(≒(10614614)」を誤差なく記録できる。 In the example of FIG. 3B, "02" is stored in the first part of the number specifying part, and it is specified that the second part of the number specifying part is 2 bytes long. 258 (=0x0102) is stored in the second part, which is the data length of the recording part. Numerical values '01', '02', '03', '04', '˜', and '02' are stored in the recorded portion. That is, 0x01020304 to 02 (≈2.1×10 621 ) are stored in the recording portion. The maximum value of unsigned can record “(256 255 −1)̂(256 255 −1)(≈(10 614 ) 614 )” without error.

(1.3.小数型:κ3型、κ4型)
(1.3.1.個数指定部分固定型:κ3型)
次に、記録部分に小数型の情報を格納する例を説明する。なお、α、β、Δ、ε等は任意の16進数値であるものとする。図4Aの例では、個数指定部分の値「α」は記録部分の幅(αバイト)を指定する。記録部分の先頭の単位データ5aは「A」を格納していて、この「A」が指数部分であり、続く「abc~」が仮数部分である。規格IEEE754-1985と同様で、signビットとbiased exponentとを持つ形式としてもよい。仮数部分の最大有効桁数は、「1÷(256255-1)(≒1÷(1.2×10614))」である。
(1.3. Decimal type: κ3 type, κ4 type)
(1.3.1. Number-specified partial fixed type: κ3 type)
Next, an example of storing decimal type information in the recording portion will be described. Note that α, β, Δ, ε, etc. are arbitrary hexadecimal values. In the example of FIG. 4A, the value "α" of the number specifying portion specifies the width (α bytes) of the recording portion. The unit data 5a at the beginning of the recorded portion stores "A", this "A" is the exponent part, and the following "abc~" is the mantissa part. The format may be the same as the standard IEEE754-1985 and have a sign bit and a biased exponent. The maximum number of significant digits of the mantissa part is "1/(256 255 -1) (≈1/(1.2 x 10 614 ))".

図4Bの例では、個数指定部分が第3部分と第4部分とで構成される(この第3,第4は前述の第1部分、第2部分との区別のための表記である)。第3部分の格納値「α」は、記録部分のうち「指数部分」のバイト長を指定する。第4部分の格納値「β」は、記録部分のうち「仮数部分」のバイト長を指定する。記録部分のなかの指数部分は、αバイトのデータ長を持ち、その内部に「A~」という値を格納している。記録部分のなかの仮数部分は、βバイトのデータ長を持ち、その内部に「abc~」という値を格納している。なお「A」は、図4Aと同様に、sign ビットと、biased exponentの形式とする。 In the example of FIG. 4B, the number specifying portion is composed of a third portion and a fourth portion (the third and fourth are notations for distinguishing from the above-described first and second portions). The stored value "α" of the third part specifies the byte length of the "exponent part" of the recorded part. The stored value "β" of the fourth part specifies the byte length of the "mantissa part" of the recorded part. The exponent part in the recording part has a data length of α bytes and stores the value "A~". The mantissa part in the recording part has a data length of β bytes, and stores a value "abc~" inside it. Note that "A" is in the form of a sign bit and a biased exponent, as in FIG. 4A.

(1.3.2.個数指定部分可変長型:κ4型)
図4Cの例では、個数指定部分が、第5部分と第6部分と第7部分と第8部分とで構成される(この第5~第8は前述の第1~第4部分との区別のための表記である)。第5部分の「α」は第7部分のバイト長を指定し、第6部分の「β」は第8部分のバイト長を指定する。第7部分の値「Δ~」は、記録部分における「指数部分」のバイト長を指定する。第8部分の値「ε~」は、記録部分における「仮数部分」のバイト長を指定する。記録部分のビット列のうち先頭から「Δ~」バイトが、指数部分であり、その値は「A~」である。記録部分のビット列のうち指数部分の後に続く「ε~」バイトが、仮数部分であり、その値は「B~」である。なお「A~」は、図4Aと同様で、sign ビットと、biased exponentの形式とする。仮数部分の最大有効桁数は、「1÷((256255-1)^(256255-1))」であるものとする。
(1.3.2. Variable length type for specifying number: κ4 type)
In the example of FIG. 4C, the number specifying part is composed of the fifth part, the sixth part, the seventh part, and the eighth part (the fifth to eighth parts are distinguished from the above-mentioned first to fourth parts). is a notation for ). The fifth part "α" specifies the byte length of the seventh part, and the sixth part "β" specifies the byte length of the eighth part. The value "Δ~" of the seventh part specifies the byte length of the "exponent part" in the recording part. The value "ε~" of the eighth part specifies the byte length of the "mantissa part" in the recording part. In the bit string of the recorded portion, the "Δ~" byte from the beginning is the exponent part, and its value is "A~". The "ε~" byte following the exponent part in the bit string of the recording part is the mantissa part, and its value is "B~". Note that "A~" is in the form of a sign bit and a biased exponent, as in FIG. 4A. The maximum number of significant digits of the mantissa part shall be "1÷((256 255 -1)^(256 255 -1))".

なお、図4Dに、signビットと、biased exponentの概念を記す。これは、文献「Decimal Arithmetic Specification The Arithmetic Model、"http://speleotrove.com/decimal/damodel.html"」および文献「The decNumber C library p.30、"http://speleotrove.com/decimal/
decnumber.pdf"IEEE 754-1985」に準拠している。
Note that FIG. 4D shows the concept of the sign bit and the biased exponent. This can be found in the documents "Decimal Arithmetic Specification The Arithmetic Model,"http://speleotrove.com/decimal/damodel.html" and "The decNumber Library p.30," http://speleotrove.com/decimal/
conforms to decnumber.pdf "IEEE 754-1985".

(1.4.文字型:κ5型、κ6型)
(1.4.1.個数指定部分固定型:κ5型)
表現型の文字列には、wchar型やマルチバイト型等がある。wchar型や、たとえば、Microsoft(登録商標)のc言語の「char8_t型」「char16_t型」「char32_t型」があるが、記憶領域では全て「char型」である。以下、「文字型」はchar型であるものとして説明を行う。
(1.4. Character type: κ5 type, κ6 type)
(1.4.1. Number-specified partial fixed type: κ5 type)
Expression type character strings include wchar type, multibyte type, and the like. There are wchar type and, for example, "char8_t type", "char16_t type", and "char32_t type" of Microsoft (registered trademark) c language, but they are all "char type" in the storage area. In the following description, it is assumed that the "character type" is the char type.

図5Aの例では、個数指定部分の値「α」は記録部分の幅を示し、「abc~」は格納する文字情報(char型)である。この文字情報は具体的には文字コードである。通常、文字コードは数値によって規定され、各々の文字コードが文字(キャラクタ)と予め紐付けられる。なお最大文字数は、「255」である。 In the example of FIG. 5A, the value "α" of the number designation portion indicates the width of the recording portion, and "abc~" is the character information (char type) to be stored. This character information is specifically a character code. Character codes are usually defined by numerical values, and each character code is associated with a character in advance. The maximum number of characters is "255".

(1.4.2.個数指定部分可変長型:κ6型)
図5Bの例では、個数指定部分における第1部分「α」は、第2部分のバイト長(つまり文字部幅)を指定する。第2部分の値「β~」は記録部分のバイト長を指定する。記録部分の値「abc~」が、格納される文字情報(char型)である。最大文字数は、「256255-1(≒1.2×10614)」である。
(1.4.2. Number-specified variable-length type: κ6 type)
In the example of FIG. 5B, the first part "α" in the number specifying part specifies the byte length (that is, character width) of the second part. The value "β~" of the second part specifies the byte length of the recording part. The value "abc~" of the recorded part is the stored character information (char type). The maximum number of characters is “256 255 −1 (≈1.2×10 614 )”.

(1.5.識別部分付きκ型:κ7型~:κ12型)
図6Aに示すように、「識別部分」が追加されてもよい。識別部分は、第2電子データ5の変換元である前記第1電子データ4のデータ型に対応する、予め設定された識別値を格納している。情報処理装置1の識別部33は、識別値に基づいて第2電子データ5のデータ構造種別を判別する。なお図6Aでは識別部分と個数指定部分と記録部分がこの順に並んでいるが、これは一例であり、他の並び順としてもよい。図6Aの例では識別部分と個数指定部分とがそれぞれ1バイト以上のデータ長を持ち、記録部分は個数指定値で指定されるデータ長を持つ。個数指定部分と記録部分との具体的内容には、図1A~図5Bで述べたκ1型~κ6型を任意に適用することができる。
(1.5. κ type with identification portion: κ7 type ~: κ12 type)
An “identifying portion” may be added, as shown in FIG. 6A. The identification portion stores a preset identification value corresponding to the data type of the first electronic data 4 from which the second electronic data 5 is converted. The identification unit 33 of the information processing device 1 identifies the data structure type of the second electronic data 5 based on the identification value. In FIG. 6A, the identifying portion, the number specifying portion, and the recording portion are arranged in this order, but this is an example, and other order may be adopted. In the example of FIG. 6A, the identification part and the number specifying part each have a data length of 1 byte or more, and the recording part has a data length specified by the number specifying value. κ1 type to κ6 type described with reference to FIGS. 1A to 5B can be arbitrarily applied to the specific contents of the number specifying portion and the recording portion.

図6Bは、識別部分の値を例示したものである。図6Bは一例であり、例えば整数型・小数型であれば、signビットを含むこともある。 FIG. 6B illustrates values for the identification portion. FIG. 6B is an example. For example, an integer/decimal type may include a sign bit.

以上説明した「κ型」というデータ構造は、既存データ型と同等レベルでの取り扱いが可能な新規なデータ表現形式である。κ型では、個数指定部分の値で記録部分のデータ長を可変指定することができる。これにより記録部分で格納した電子情報の桁数を任意に指定することができ、有効桁数に合わせた表現が可能となる利点がある。 The data structure "κ type" described above is a new data representation format that can be handled at the same level as existing data types. In the κ type, the data length of the recording portion can be variably specified by the value of the number specifying portion. As a result, it is possible to arbitrarily specify the number of digits of the electronic information stored in the recording portion, and there is an advantage that expression matching the number of significant digits is possible.

後述する変換処理により、κ型と他の既存データ型との間で、データ型を相互変換することができる。他の既存データ型は、一例として、char型やint型やshort型やlong型やlong-long型やfloat型やdouble型やlong-double型などでもよい。int型の種類は、int8_tやint16_tやint32_tやint64_tなどでもよい。 Data types can be mutually converted between the κ type and other existing data types by the conversion processing described later. Other existing data types may be, for example, char type, int type, short type, long type, long-long type, float type, double type, long-double type, or the like. The int type may be int8_t, int16_t, int32_t, int64_t, or the like.

κ型データ構造は、データ圧縮やデータ変換等の目的でアプリケーションプログラム上で使用されてもよく、κ型データ構造で記憶装置への書込、読出および保存が可能とされてもよい。ただしこれに限られず、例えばプログラム中(具体的にはソースコード中等)で宣言(つまりデータ型指定)が可能となるように、各種プログラムのデータ型の一つにκ型が加えられてもよい。なお、κ型データ構造には、次の利点もある。従来技術の多くは高速化等の処理を考慮した演算プログラムを必要とするので、ライブラリ一式でしか導入できない。この点、κ型の利用にはライブラリ一式の導入が不要なので、ライブラリ関連のプログラムも不要となり、記憶容量を節約できる利点がある。 The κ-type data structure may be used on an application program for purposes such as data compression and data conversion, and the κ-type data structure may enable writing, reading, and saving to a storage device. However, it is not limited to this, and the κ type may be added to one of the data types of various programs so that the declaration (that is, data type specification) can be made in the program (specifically, in the source code, etc.). . The κ-type data structure also has the following advantages. Since most of the conventional techniques require a calculation program considering processing such as speeding up, they can only be introduced as a set of libraries. In this respect, the use of the κ-type does not require the introduction of a set of libraries, so there is no need for library-related programs, and there is the advantage of saving storage capacity.

(1.6.比較例)
既存の高級プログラム言語におけるデータ型は、数値型と文字型とに大別される。具体的には、例えば「char」又は「short・integer・long」と、「signed・unsigned」との組み合わせによるデータ型の値(格納領域)に、電子情報が格納される。宣言されたデータ型の幅分(データ長)の格納容量が必要である。
(1.6. Comparative example)
Data types in existing high-level programming languages are roughly classified into numeric types and character types. Specifically, for example, electronic information is stored in a data type value (storage area) that is a combination of "char" or "short/integer/long" and "signed/unsigned". Storage capacity for the declared data type width (data length) is required.

有効桁の面から、より大きな幅(データ長)のデータ型が習慣的に使用される。格納情報のデータ長に比べて使用データ型のデータ長が大きければ、不使用部分つまり無駄が生じる。例えば、エポック秒形式では多くのC言語で8バイトが割り当てられるものの、「2106年02月07日06:28:15」までは4バイトが有効であるにすぎず、残り4バイトの無駄(不使用部分)が生じる。同様に、「36812年02月20日00:36:15」までは5バイトで表現できるので、この場合も3バイトの無駄が生じる。なおエポック秒の俗称は「UNIX(登録商標)秒」である。 Larger width (data length) data types are customarily used in terms of significant digits. If the data length of the used data type is larger than the data length of the stored information, an unused portion, that is, waste occurs. For example, in the epoch second format, 8 bytes are allocated in many C languages, but only 4 bytes are valid until "2106-02-07 06:28:15", and the remaining 4 bytes are wasted (unnecessary). used portion). Similarly, since "00:36:15 on February 20, 36812" can be expressed with 5 bytes, 3 bytes are wasted in this case as well. The popular name for the epoch second is "UNIX (registered trademark) second".

この点、実施の形態のκ型データ構造によれば、有効桁数に合わせた表現が可能となる。例えば上記エポック秒形式の「2106年02月07日06:28:15」では、有効な4バイトを記録部分に格納し、さらに個数指定部分を1バイト設ければ、合計5バイト長で同じ情報を記憶することが可能となる。κ型により記憶領域の節約が可能となる利点がある。その一方で、κ型によれば、記憶情報が増加した場合(つまり4バイトから5バイトに増加した場合)でも、個数指定部分の値を増加することでデータ長を任意に拡張できる利点もある。無駄を抑制しつつ有効数値を適切に表現できる。 In this regard, according to the κ-type data structure of the embodiment, it is possible to express in accordance with the number of significant digits. For example, in the above epoch second format "February 07, 2106 06:28:15", if valid 4 bytes are stored in the recording part and a 1-byte number specification part is provided, the same information with a total length of 5 bytes can be stored. can be stored. The κ type has the advantage of saving the storage area. On the other hand, the κ type has the advantage that even if the amount of stored information increases (that is, if the number of bytes increases from 4 bytes to 5 bytes), the data length can be expanded arbitrarily by increasing the value of the number specification part. . Effective numerical values can be expressed appropriately while suppressing waste.

<2.実施の形態の装置構成>
(2.1.情報処理装置1の概要)
図7に例示する情報処理装置1は、第2電子データ5を取り扱うことができるように構築される。一例として3つの情報処理装置1a、1b、1cを挙げる。情報処理装置1aはクラウドサーバ1aであり、情報処理装置1bはすなわち組込デバイス1bの内部情報処理装置であり、情報処理装置1cはすなわち宇宙機1cの内部情報処理装置である。情報処理装置1a、1b、1cは、通信回線2を介して互いに通信することで、互いに電子情報をやり取りする。電子情報は、第1電子データ4を含む電子ファイルや、第2電子データ5を含む電子ファイルである。
<2. Apparatus Configuration of Embodiment>
(2.1. Outline of information processing device 1)
The information processing apparatus 1 illustrated in FIG. 7 is constructed so as to be able to handle the second electronic data 5 . Three information processing apparatuses 1a, 1b, and 1c are taken as an example. The information processing device 1a is the cloud server 1a, the information processing device 1b is the internal information processing device of the built-in device 1b, and the information processing device 1c is the internal information processing device of the spacecraft 1c. The information processing apparatuses 1a, 1b, and 1c communicate with each other via the communication line 2 to exchange electronic information with each other. The electronic information is an electronic file containing the first electronic data 4 or an electronic file containing the second electronic data 5 .

図8Aに示すように、情報処理装置1は、演算処理部11と主記憶部12と補助記憶部13と通信部14とを備えている。これらの演算処理部11等は、システムバス17を介して相互に電気的に接続される。 As shown in FIG. 8A, the information processing device 1 includes an arithmetic processing unit 11, a main storage unit 12, an auxiliary storage unit 13, and a communication unit . These arithmetic processing units 11 and the like are electrically connected to each other via a system bus 17 .

演算処理部11は、例えば、CPU、マイクロプロセッサ、DSP等であり、情報処理装置1の全体の動作を制御する。主記憶部12は、例えば、RAMやDRAM等で構成される。主記憶部12は、演算処理部11による各種プログラムの実行時のワークエリア等として用いられる。補助記憶部13は、ROM等の不揮発性メモリ、またはHDDやSSD等の大容量ストレージである。補助記憶部13は、文字、数値、音声、画像等の各種データを保存したり、演算処理部11の処理に利用されるプログラム等を保存したりする。 The arithmetic processing unit 11 is, for example, a CPU, a microprocessor, a DSP, etc., and controls the overall operation of the information processing device 1 . The main memory unit 12 is composed of, for example, a RAM, a DRAM, or the like. The main storage unit 12 is used as a work area or the like when various programs are executed by the arithmetic processing unit 11 . The auxiliary storage unit 13 is a non-volatile memory such as ROM, or a large-capacity storage such as HDD or SSD. The auxiliary storage unit 13 stores various data such as characters, numerical values, sounds, images, etc., and stores programs and the like used for processing of the arithmetic processing unit 11 .

補助記憶部13に記憶されるプログラムは、例えば、情報処理装置1の基本的な機能を実現するためのOS、各種ハードウェア制御するためのドライバ、電子メールやウェブブラウジング、その他各種機能を実現するためのプログラム等である。また、補助記憶部13には、音声データ、または動画データ等を再生するためのアプリケーションソフトウェアが予め記憶されていてもよい。 The programs stored in the auxiliary storage unit 13 are, for example, an OS for realizing the basic functions of the information processing apparatus 1, drivers for controlling various hardware, e-mail and web browsing, and other various functions. It is a program for Further, application software for reproducing audio data, video data, or the like may be stored in advance in the auxiliary storage unit 13 .

通信部14は、通信回線2と接続することで、他のハードウェア資源等との間で各種データの送受信を行う。通信回線2は無線又は有線或いはそれらの組合せから成る。 The communication unit 14 transmits and receives various data to and from other hardware resources by connecting to the communication line 2 . The communication line 2 may be wireless or wired or a combination thereof.

さらに、情報処理装置1は、操作入力部15とモニタ16とを備えていてもよい。操作入力部15は、各種操作の入力を受け付ける任意の入力デバイスであり、具体的には操作ボタン、タッチパネル、或いはキーボード及びマウス等でもよい。モニタ16は、各種画像を表示する例えば液晶ディスプレイ装置等である。なお自動操縦型の組込デバイス1b等に実装される情報処理装置1では、操作入力部15とモニタ16とが省略されてもよい。 Furthermore, the information processing device 1 may include an operation input unit 15 and a monitor 16 . The operation input unit 15 is an arbitrary input device that receives input of various operations, and specifically may be an operation button, a touch panel, or a keyboard and mouse. The monitor 16 is, for example, a liquid crystal display device that displays various images. Note that the operation input unit 15 and the monitor 16 may be omitted in the information processing apparatus 1 mounted in the autopilot type built-in device 1b or the like.

(2.2.演算処理部11の機能構成)
図8Bに示すように、演算処理部11は、第1変換部20と、第2変換部30とを備える。実施の形態では、一例として情報処理装置1a~1cそれぞれが図8Bの機能構成を備える。第1変換部20は、第1電子データ4を第2電子データ5に変換する。第2変換部30は、第2電子データ5を第1電子データ4に変換する。
(2.2. Functional configuration of arithmetic processing unit 11)
As shown in FIG. 8B , the arithmetic processing section 11 includes a first conversion section 20 and a second conversion section 30 . In the embodiment, as an example, each of the information processing apparatuses 1a to 1c has the functional configuration shown in FIG. 8B. The first conversion unit 20 converts the first electronic data 4 into the second electronic data 5 . The second conversion unit 30 converts the second electronic data 5 into the first electronic data 4 .

第1電子データ4は第1データ型を持つ電子データであり、第1データ型は任意の既存データ型(整数型、少数型及び文字型を含む既知のデータ型)であるものとする。第1データ型は、C言語等であれば例えばchar,short,long等でもよい。これらの各々の既存データ型のデータ長は、予め固定長に規定されるのが普通である。第1電子データ4は、第2電子データ5の「個数指定部分」を有さない。 The first electronic data 4 is electronic data having a first data type, and the first data type is an arbitrary existing data type (a known data type including integer type, decimal type and character type). The first data type may be, for example, char, short, long, etc. in the C language or the like. The data length of each of these existing data types is normally defined as a fixed length in advance. The first electronic data 4 does not have the “number specifying part” of the second electronic data 5 .

第1変換部20は、第1電子データ4から、κ型データ構造における記録部分を生成する。記録部分の生成は、第1電子データ4のビット列(前述した広義のビット列)から、単位ビット列又は単位バイト列を単位データ5aとして順次抽出することにより行われる。第1変換部20は、記録部分が含む単位データ5aの個数を個数指定値に設定し、この個数指定値を個数指定部分に格納する。第1変換部20は、個数指定部分と記録部分とを結合させて、第2電子データ5を出力する。結合は、例えば個数指定部分と記録部分とを連結させたひとまとまりのビット列を生成することである。 The first conversion unit 20 generates from the first electronic data 4 a recorded part in the κ-type data structure. The recording portion is generated by sequentially extracting unit bit strings or unit byte strings as unit data 5a from the bit string of the first electronic data 4 (the bit string in the broad sense described above). The first conversion unit 20 sets the number of unit data 5a included in the recording portion as a number designation value, and stores this number designation value in the number designation portion. The first conversion unit 20 combines the number designation part and the recording part and outputs the second electronic data 5 . Combining is, for example, generating a group of bit strings by connecting the number-specifying portion and the recording portion.

より具体的には、第1変換部20は、図8Bに示すように、記録部分生成部21と、個数指定部分生成部22と、識別部分生成部23と、結合部24とを備える。ただし、個数指定部分生成部22と識別部分生成部23とは、少なくとも一方を備えていれば良い。 More specifically, as shown in FIG. 8B, the first conversion unit 20 includes a recorded part generator 21, a number-specified part generator 22, an identification part generator 23, and a combiner 24. FIG. However, at least one of the number-designated part generator 22 and the identification part generator 23 may be provided.

記録部分生成部21は、上述した既知のデータ型を有する第1電子データ4のビット列から、第1所定ビット長の単位データ5aを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成する。第1所定ビット長の単位データ5aを順次抽出するには、例えば、シフト演算が用いられる。 The recorded portion generation unit 21 sequentially extracts the unit data 5a having the first predetermined bit length from the bit string of the first electronic data 4 having the known data type described above, thereby forming one or more unit data. generate a recorded portion. A shift operation, for example, is used to sequentially extract the unit data 5a having the first predetermined bit length.

個数指定部分生成部22は、記録部分の単位データ5aの個数を個数指定値としてカウントし、当該個数指定値の情報を含む個数指定部分を生成する。個数指定部分生成部22は、具体的には、記録部分生成部21が単位データ5aを順次生成する際のループ回数(例えば、後述するソースコード例1では、右シフト演算のループ回数)をカウントすることで、個数指定値を得ることができる。個数指定部分は、固定長である場合(表1に示すκ1型、κ3型、κ5型、κ7型、κ9型、κ11型の場合)と、可変長である場合(表1に示すκ2型、κ4型、κ6型、κ8型、κ10型、κ12型の場合)がある。個数指定部分が可変長である場合の、具体的な個数指定部分の生成処理については、後述する。 The number-designated-portion generating unit 22 counts the number of unit data 5a in the recorded portion as a number-designated value, and generates a number-designated portion including information on the number-designated value. Specifically, the number-designated portion generation unit 22 counts the number of loops when the recording portion generation unit 21 sequentially generates the unit data 5a (for example, in source code example 1 described later, the number of loops of the right shift operation). By doing so, the specified number value can be obtained. The number-specifying part has a fixed length (κ1 type, κ3 type, κ5 type, κ7 type, κ9 type, κ11 type shown in Table 1) or a variable length (κ2 type, κ2 type, κ11 type shown in Table 1). κ4 type, κ6 type, κ8 type, κ10 type, κ12 type). A specific process for generating the number-designated portion when the number-designated portion has a variable length will be described later.

識別部分生成部23は、第1電子データ4のデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成する。第1電子データ4のデータ型は、ユーザから与えられたものを取得してもよく、既知の関数を用いて取得しても良い。 The identification portion generation unit 23 acquires the data type of the first electronic data 4 and generates an identification portion including identification value information corresponding to the data type. The data type of the first electronic data 4 may be acquired from the user or may be acquired using a known function.

なお、識別部分を有さない第2電子データ5を生成する場合(表1に示すκ1型~κ6型の場合)は、識別部分生成部23を備えている必要はない。 When generating the second electronic data 5 having no identification portion (in the case of κ1 type to κ6 type shown in Table 1), it is not necessary to provide the identification portion generating section 23 .

結合部24は、記録部分生成部21が生成した記録部分と、個数指定部分生成部22が生成した個数指定部分と、識別部分生成部23が生成した識別部分とを結合して、記録部分と個数指定部分と識別部分とを有する第2電子データ5を生成する。 The combining unit 24 combines the recorded part generated by the recorded part generating unit 21, the number-specified part generated by the number-designated part generating unit 22, and the identification part generated by the identification part generating unit 23 into a recorded part. Second electronic data 5 having a number specifying portion and an identification portion is generated.

一方、第2変換部30は、個数指定部分と記録部分を持つ第2電子データ5を受け取ると、「個数指定部分に格納された個数指定値」に基づいて記録部分のデータ長を特定する。記録部分のデータ長は、単位データ長と個数指定値とに基づいて決まる。第2変換部30は、単位データ5aの各値を、個数指定値に基づいて単位データ長の単位で桁をずらしながら順次合算する。κ型データ構造に応じて予め定められた所定規則に従って順次合算を行うことで、第2変換部30は、個数指定部分を有さない第1電子データ4を生成することができる。 On the other hand, when the second conversion unit 30 receives the second electronic data 5 having the number-designated part and the recorded part, it identifies the data length of the recorded part based on the "number-designated value stored in the number-designated part". The data length of the recorded portion is determined based on the unit data length and the number designation value. The second conversion unit 30 sequentially adds the values of the unit data 5a while shifting the digits in units of the unit data length based on the number designation value. By performing sequential summation according to a predetermined rule according to the κ-type data structure, the second conversion unit 30 can generate the first electronic data 4 that does not have the number-specifying portion.

より具体的には、第2変換部30は、図8Bに示すように、個数指定値取得部31と、単位データ合算部32と、識別部33と、個数指定部分ビット長取得部34とを備える。ただし、識別部33と個数指定部分ビット長取得部34とは、少なくとも一方を備えていれば良い。 More specifically, as shown in FIG. 8B, the second conversion unit 30 includes a number-specified value acquisition unit 31, a unit data summation unit 32, an identification unit 33, and a number-specified part bit length acquisition unit 34. Prepare. However, at least one of the identification unit 33 and the number-designated part bit length acquisition unit 34 may be provided.

個数指定値取得部31は、第2電子データ5の個数指定部分から、個数指定値を取得する。この際、個数指定部分が可変長である場合(表1に示すκ2型、κ4型、κ6型、κ8型、κ10型、κ12型の場合)は、個数指定部分ビット長取得部34が取得した個数指定部分のビット長に基づいて、個数指定値を読み出す。 The specified number value acquiring unit 31 acquires the specified number value from the specified number part of the second electronic data 5 . At this time, when the number-designated part has a variable length (in the case of κ2 type, κ4 type, κ6 type, κ8 type, κ10 type, and κ12 type shown in Table 1), the number-designated part bit length acquisition unit 34 acquires The number designation value is read based on the bit length of the number designation portion.

単位データ合算部32は、個数指定値取得部31が取得した個数指定値に基づいて、記録部分を第1所定ビット長の単位で桁をずらしながら記録部分に含まれる前記単位データを順次合算することで、第1電子データ4を生成する。 The unit data summation unit 32 sequentially sums the unit data included in the recorded portion while shifting the digits of the recorded portion in units of the first predetermined bit length based on the number designation value acquired by the number designation value acquisition unit 31. Thus, the first electronic data 4 is generated.

識別部33は、前述した識別部分を持つ第2電子データ5を取り扱う場合に作動する機能部である。識別部33は、識別部分の値に基づいて第2電子データ5のデータ構造種別を識別する。一例として、図6Bのテーブルが補助記憶部13に記憶されてもよく、演算処理部11が当該テーブルを参照することでデータ構造を識別してもよい。 The identification unit 33 is a functional unit that operates when handling the second electronic data 5 having the identification part described above. The identification unit 33 identifies the data structure type of the second electronic data 5 based on the value of the identification portion. As an example, the table of FIG. 6B may be stored in the auxiliary storage unit 13, and the arithmetic processing unit 11 may identify the data structure by referring to the table.

個数指定部分ビット長取得部34は、個数指定部分が可変長である場合(表1に示すκ2型、κ4型、κ6型、κ8型、κ10型、κ12型の場合)に、当該個数指定部分のビット長を取得する。具体的には、個数指定部分ビット長取得部34は、個数指定部分に含まれる第1部分(個数指定値指定部分)又は継続フラグ(後述)の情報に基づいて、個数指定部分のビット長を判別する。 When the number-designated part has a variable length (for the κ2 type, κ4 type, κ6 type, κ8 type, κ10 type, and κ12 type shown in Table 1), the number-designated part bit length acquisition unit 34 obtains the number-designated part Get the bit length of Specifically, the number-designated-part bit length acquiring unit 34 obtains the bit length of the number-designated part based on the information of the first part (the number-designated value-designated part) or the continuation flag (described later) included in the number-designated part. discriminate.

以上のような第1変換部20及び第2変換部30により、第1電子データ4と第2電子データ5とは相互に変換可能となっている。 The first electronic data 4 and the second electronic data 5 can be mutually converted by the first conversion unit 20 and the second conversion unit 30 as described above.

図7を参照して、実施の形態の情報処理装置1の運用場面をいくつか例示する。 Some examples of operation scenes of the information processing apparatus 1 according to the embodiment are illustrated with reference to FIG. 7 .

一例として、組込デバイス1bや宇宙機1cにおいて、各々の補助記憶部13に様々な電子情報が蓄積されていくものとする。一例として、組込デバイス1bが、例えば物理センサ値等の物理量パラメータ値(温度、圧力、光、流量等)を電子データとして蓄積してもよく、あるいは位置センサ値や速度センサ値等に基づく機械的パラメータ値を電子データとして蓄積してもよい。これらのセンサ値等は取得時刻とセットで記録されてもよく、これにより経時的変化等が記録されてもよい。 As an example, it is assumed that various electronic information is accumulated in the respective auxiliary storage units 13 of the built-in device 1b and the spacecraft 1c. As an example, the embedded device 1b may store physical quantity parameter values (temperature, pressure, light, flow rate, etc.) such as physical sensor values as electronic data, or may store mechanical data based on position sensor values, speed sensor values, etc. The physical parameter values may be stored as electronic data. These sensor values and the like may be recorded together with the time of acquisition, so that changes over time and the like may be recorded.

組込デバイス1bや宇宙機1cの内部の第1変換部20が、種々の電子情報を、第2電子データ5の形態で補助記憶部13に格納していく。所定のタイミングで、組込デバイス1bや宇宙機1cが、蓄積した第2電子データ5をクラウドサーバ1aに向けて送信する。通信回線2を介してクラウドサーバ1aが第2電子データ5を受け取ると、クラウドサーバ1aの第2変換部30は、第2電子データ5を第1電子データ4に変換する。クラウドサーバ1aは、第1電子データ4を格納するとともに、第1データ型に対応する各種既存プログラムを用いて第1電子データ4に対して各種の演算又は加工等を行うことができる。 A first conversion unit 20 inside the built-in device 1b or spacecraft 1c stores various electronic information in the form of second electronic data 5 in the auxiliary storage unit 13 . At a predetermined timing, the built-in device 1b and the spacecraft 1c transmit the accumulated second electronic data 5 to the cloud server 1a. When the cloud server 1 a receives the second electronic data 5 via the communication line 2 , the second conversion unit 30 of the cloud server 1 a converts the second electronic data 5 into the first electronic data 4 . The cloud server 1a stores the first electronic data 4 and can perform various calculations or processing on the first electronic data 4 using various existing programs corresponding to the first data type.

上記の例では、組込デバイス1bや宇宙機1cのメモリ資源を節約できる利点がある。使用場面の一例として、組込デバイス1bや宇宙機1cが既に第1電子データ4で内部演算処理を実行するように構築されている場合に、第1変換部20の実行プログラムが事後的に導入されてもよい。事後的に導入された第1変換部20が、補助記憶部13内のデータを第1電子データ4から第2電子データ5に順次変換してもよい。変換処理において、第1電子データ4のビット列のうち値を持たない不使用部分を省くことで、第2電子データ5を短縮化(圧縮)してもよい。こうすることで同じ情報量をより少ない記憶領域に格納して、補助記憶部13に空き領域を作り出してもよい。限られた記憶領域を有効利用できる利点がある。 The above example has the advantage of saving the memory resources of the embedded device 1b and the spacecraft 1c. As an example of a usage scene, when the built-in device 1b or the spacecraft 1c is already built to execute internal arithmetic processing with the first electronic data 4, the execution program of the first conversion unit 20 is introduced ex post facto. may be The first conversion unit 20 introduced afterward may sequentially convert the data in the auxiliary storage unit 13 from the first electronic data 4 to the second electronic data 5 . In the conversion process, the second electronic data 5 may be shortened (compressed) by omitting unused portions having no value from the bit string of the first electronic data 4 . By doing so, the same amount of information may be stored in a smaller storage area to create an empty area in the auxiliary storage section 13 . There is an advantage that a limited storage area can be used effectively.

他の例として、上記一例とは逆に、組込デバイス1bや宇宙機1cが第1電子データ4を蓄積してこれをクラウドサーバ1aに送信してもよい。クラウドサーバ1aは、第1電子データ4を第2電子データ5に変換して、この第2電子データ5を補助記憶部13に格納してもよい。 As another example, contrary to the above example, the embedded device 1b or the spacecraft 1c may accumulate the first electronic data 4 and transmit it to the cloud server 1a. The cloud server 1 a may convert the first electronic data 4 into the second electronic data 5 and store the second electronic data 5 in the auxiliary storage section 13 .

上述した機能は、情報処理装置1に適宜インストールされるソフトウェア(いわゆるアプリを含む)を用いて実現してもよく、ハードウェアとして実現してもよい。ソフトウェアによって実現する場合、演算処理部11がソフトウェアを構成するプログラムを実行することによって各種機能が実現されてもよく、プログラムの実行によってコンピュータを用いた情報処理方法が提供されてもよい。プログラムを実行することで実現される場合、当該プログラムは、情報処理装置1が内蔵する補助記憶部13に格納されてもよく、コンピュータが読み取り可能な非一時的な記録媒体に格納されてもよい。また、外部の記憶装置に格納されたプログラムを読み出し、いわゆるクラウドコンピューティングの形態で実現されてもよい。また、ハードウェアによって実現する場合、ASIC、SOC、FPGA、またはDRP等の種々の回路によって実現されてもよい。 The functions described above may be implemented using software (including so-called applications) installed in the information processing apparatus 1 as appropriate, or may be implemented as hardware. When realized by software, various functions may be realized by the arithmetic processing unit 11 executing a program constituting software, or an information processing method using a computer may be provided by executing the program. When realized by executing a program, the program may be stored in the auxiliary storage unit 13 built in the information processing device 1, or may be stored in a computer-readable non-temporary recording medium. . Alternatively, it may be realized in the form of so-called cloud computing by reading out a program stored in an external storage device. Moreover, when implemented by hardware, it may be implemented by various circuits such as ASIC, SOC, FPGA, or DRP.

<3.実施の形態の具体的処理>
(3.1.処理パターンの例示)
図9Aは第1変換部20の処理であり、数値または文字からκ型文字列への変換(便宜上「順変換」とも称す)の流れを示す。図9Aによれば、ステップS100で、第1変換部20が、数値データ又は文字データからなる第1電子データ4を受け取る。第1電子データ4は、一例としてC++言語等のプログラミング言語における整数型、小数型又は文字型のデータ型を持つものとする。次に、ステップS102で、第1変換部20が第1電子データ4の変換処理を行う。この変換処理の具体例は、後述する「ソースコード例1」で詳しく述べる。次にステップS104で、第1変換部20は、個数指定部分と記録部分を結合させた第2電子データ5を出力する。
<3. Specific processing of the embodiment>
(3.1. Examples of processing patterns)
FIG. 9A shows the processing of the first conversion unit 20, showing the flow of conversion from numeric values or characters to κ-type character strings (also referred to as “forward conversion” for convenience). According to FIG. 9A, in step S100, the first converter 20 receives the first electronic data 4 consisting of numeric data or character data. The first electronic data 4 has, for example, an integer type, a decimal type, or a character type data type in a programming language such as C++ language. Next, in step S<b>102 , the first conversion unit 20 converts the first electronic data 4 . A specific example of this conversion processing will be described in detail in "Source Code Example 1" described later. Next, in step S104, the first conversion unit 20 outputs the second electronic data 5 in which the number designation part and the recording part are combined.

図9Bは第2変換部30の処理であり、κ型文字列から数値への変換(便宜上「逆変換」とも称す)の流れを示す。図9Aによれば、ステップS106で、第2変換部30が、第2電子データ5を受け取る。次に、ステップS108で、第2変換部30が第2電子データ5の変換処理を行う。この変換処理の具体例は、後述する「ソースコード例2」で詳しく述べる。次にステップS110で、第2変換部30は、ステップS108で生成した第1電子データ4を出力する。 FIG. 9B shows the processing of the second conversion unit 30, showing the flow of conversion from a κ-type character string to a numerical value (also referred to as “inverse conversion” for convenience). According to FIG. 9A, the second conversion unit 30 receives the second electronic data 5 in step S106. Next, in step S108, the second conversion unit 30 converts the second electronic data 5. FIG. A specific example of this conversion process will be described in detail in "Source Code Example 2" described later. Next, in step S110, the second conversion unit 30 outputs the first electronic data 4 generated in step S108.

以下、ソースコード例(例1~例4)を提示する。一例としてC言語やC++言語等のプログラミング言語における「char型」を利用して、κ型のデータ構造(具体的には文字列d)を生成する方法を述べる。κ型のデータ構造を有する文字列dを、「κ型文字列」とも称する。下記説明では、「char型」のd[i]を利用し、複数の単位データ5aが連結したκ型文字列dを生成する。char型変数はちょうど1バイトの単位記憶領域(単位バイト列)として利用可能なので、char型変数を単位データ5aに用いやすい。各char型変数に文字コードや数値を格納することができる。ただしこれはC++言語を用いる際の便宜上の措置であり、下記説明の「char型」が単位データ5aのデータ型を指す場合には「文字型のκ型(κ5型やκ6型)」を意味しない。 Source code examples (examples 1 to 4) are presented below. As an example, a method of generating a κ-type data structure (specifically, a character string d) using the “char type” in programming languages such as C and C++ will be described. A character string d having a κ-type data structure is also referred to as a “κ-type character string”. In the following description, d[i] of "char type" is used to generate a κ-type character string d in which a plurality of unit data 5a are concatenated. A char-type variable can be used as a unit storage area (unit byte string) of just one byte, so it is easy to use a char-type variable as the unit data 5a. Character codes and numerical values can be stored in each char type variable. However, this is a measure for convenience when using the C++ language, and when "char type" in the following explanation refers to the data type of unit data 5a, it means "character type κ type (κ5 type or κ6 type)". do not.

(3.2.ソースコード例1)
下記のソースコード例1は、第1変換部20が実行する関数「int2char」を示す。関数「int2char」は、整数値tをκ型文字列dに変換するプログラムの一例である。C++言語形式であり、κ1型(整数型の個数指定部分固定型)の文字列dを得る例が示される。
(3.2. Source code example 1)
Source code example 1 below shows a function “int2char” executed by the first conversion unit 20 . A function “int2char” is an example of a program that converts an integer value t into a κ-type character string d. An example of obtaining a character string d of the C++ language format and of the κ1 type (integer type number specification part fixed type) is shown.

unsigned char d[9];
//数値tを文字列dに変換する。d[0]は記録する情報の幅。返値は生成文字数、-1はエラー
int int2char(uint64_t t, unsigned char *d){
for( int i = 0; i < 9; i++ ){
d[i + 1] = t & 255;
t = t >> 8;
if( t == 0 ){
d[0] = i + 1;
return i + 2;
}
}
return -1;
}
unsigned char d[9];
// Convert number t to string d. d[0] is the width of information to be recorded. The return value is the number of generated characters, -1 is an error
int int2char(uint64_t t, unsigned char *d){
for( int i = 0; i <9; i++ ){
d[i + 1] = t &255;
t = t >>8;
if( t == 0 ){
d[0] = i + 1;
return i + 2;
}
}
return -1;
}

図10を参照しつつ、一例として数値tが10進数で66,051である場合について、上記ソースコード例1に基づく変換処理を述べる。図10の第1電子データ4が、数値tに対応している。数値tのデータ型は、一例として「uint64_t」つまり「8バイトの符号なし整数」である。 Referring to FIG. 10, conversion processing based on the above source code example 1 will be described for the case where the numeric value t is 66,051 in decimal as an example. The first electronic data 4 in FIG. 10 corresponds to the numerical value t. The data type of the numeric value t is, for example, "uint64_t", that is, "8-byte unsigned integer".

初回の処理では、初期値i=0からfor文が開始する。d[i+1]=d[1]であり、数値tに「255」のビット演算の一種であるAND演算を施した結果がd[1]に代入される。10進数の66,051は、2進数で「00000000 100000010 00000011」である。このビット列のうち、下位8ビット「00000011」が抽出され、d[1]に代入される。「00000011」は、10進数の3であり、16進数の0x03である。 In the first process, the for statement starts from the initial value i=0. d[i+1]=d[1], and the result of performing an AND operation, which is a kind of bit operation of "255", on the numerical value t is substituted for d[1]. 66,051 in decimal is "00000000 100000010 00000011" in binary. The lower 8 bits "00000011" are extracted from this bit string and substituted for d[1]. "00000011" is 3 in decimal and 0x03 in hexadecimal.

次に、「t=t>>8」つまり8ビットの右シフト演算が実行され、数値tのビット列は「000000001 00000010」となる。if文の条件「t==0」はこの時点では否定され、処理はループしてiがインクリメントされる。 Next, "t=t>>8", that is, an 8-bit right shift operation is performed, and the bit string of the value t becomes "000000001 00000010". The condition "t==0" of the if statement is denied at this point, and the process loops and i is incremented.

続いてi=1、d[i+1]=d[2]についての処理が実行される。「100000010」の下位8ビット「00000010」が抽出されてd[2]に代入される。「00000010」は10進数の2であり、16進数の0x02である。 Subsequently, processing for i=1 and d[i+1]=d[2] is executed. The lower 8 bits "00000010" of "100000010" are extracted and substituted for d[2]. "00000010" is 2 in decimal and 0x02 in hexadecimal.

さらに処理がループして、i=2、d[i+1]=d[3]について同様の処理が行われ、d[3]に「1」が代入される。このようなfor文のループ処理により、4バイト長の第1電子データ4(数値t)のビット列「000000001 00000010 00000011」から所定の単位データ長1バイト(8ビット)を順次抽出することができる(記録部分生成部21による記録部分の生成)。この時点でd[1]~d[3]という3個の単位データ5aが生成される。d[1]=0x03、d[2]=0x02、d[3]=0x01である。 Further, the processing loops, similar processing is performed for i=2 and d[i+1]=d[3], and "1" is substituted for d[3]. Through such loop processing of the for statement, a predetermined unit data length of 1 byte (8 bits) can be sequentially extracted from the bit string "000000001 00000010 00000011" of the 4-byte first electronic data 4 (numerical value t) ( generation of a recorded portion by the recorded portion generation unit 21). At this point, three unit data 5a, d[1] to d[3], are generated. d[1]=0x03, d[2]=0x02, d[3]=0x01.

d[3]への代入を終えた時点で、次の右シフト演算が施されると数値tがゼロとなる。そうするとif文の条件(t==0)が肯定となり、処理はループを抜け、d[0]に「i+1=2+1=3」つまり「0x03」が代入される。このd[0]が個数指定部分である(個数指定部分生成部22による個数指定部分の生成)。記録部分の単位データ5aはd[1]~d[3]である。結果、図10に示した第2電子データ5が提供される(結合部24による記録部分と個数指定部分の結合)。 When the assignment to d[3] is completed, the number t becomes zero when the next right shift operation is performed. Then, the condition (t==0) of the if statement becomes affirmative, the process exits the loop, and "i+1=2+1=3", that is, "0x03" is substituted for d[0]. This d[0] is the number-designated part (the number-designated part is generated by the number-designated part generator 22). The unit data 5a of the recorded portion is d[1] to d[3]. As a result, the second electronic data 5 shown in FIG. 10 is provided (combination of the recorded part and the number-designated part by the combining unit 24).

なお、上記ソースコード例1では、if文「t==0」によって右シフト演算で数値tがゼロとなった時点でループを抜ける。これにより、数値tのビット列のうち不使用部分を省いて記録部分を生成しすることができ、データ長が短縮された第2電子データ5を生成できる。例えば比較例で述べたエポック秒形式等で生ずる無駄を排除できる利点がある。ただしこのデータ長短縮処理は任意であり、省略されてもよい。変形例として、for文のループ回数(つまり生成すべきd[i+1]の個数)を任意に指定することで、所望データ長のκ型文字列を生成してもよい。この場合、記録部分の単位データ5aつまりd[i+1]の個数を、第1電子データ4のデータ長よりも短く又は長くなるように指定してもよく、これによりデータ長の短縮や拡張が可能となる。他の変形として、ソースコード例1において1行目d[9]とし4行目「i<9」としているところを、有効桁数を指定する引数nを追加してd[n]および「i<n」などの形で任意指定可能としてもよい。 In the above source code example 1, the if statement "t==0" exits the loop when the value t becomes zero in the right shift operation. As a result, the unused portion of the bit string of the numerical value t can be omitted to generate the recorded portion, and the second electronic data 5 with a reduced data length can be generated. For example, there is an advantage that waste generated in the epoch second format described in the comparative example can be eliminated. However, this data length reduction process is arbitrary and may be omitted. As a modification, a κ-type character string with a desired data length may be generated by specifying the number of loops of the for statement (that is, the number of d[i+1] to be generated). In this case, the number of unit data 5a, ie, d[i+1], in the recorded portion may be specified to be shorter or longer than the data length of the first electronic data 4, thereby shortening or extending the data length. becomes. As another modification, in Source Code Example 1, where the first line is set to d[9] and the fourth line is set to "i<9", an argument n specifying the number of significant digits is added to d[n] and "i It may be possible to arbitrarily specify it in a form such as <n.

(3.3.ソースコード例2)
以下、第2変換部30が実行する関数「char2int」を示す。関数「char2int」は、κ型文字列dを数値tに変換するプログラムの一例である。C++言語形式である。
(3.3. Source code example 2)
The function "char2int" executed by the second conversion unit 30 is shown below. A function “char2int” is an example of a program that converts a κ-type character string d into a numerical value t. It is in C++ language format.

//文字列dを数値tに変換する。返値は読込文字数。
uint64_t char2int(uint64_t* t, unsigned char* d){
*t = 0;
uint8_t i, j = d[0];
for( i = 0; i < j; i++ )
*t += ((uint64_t)d[i + 1] << (i * 8));
return ((uint64_t)j + 1);
}
// Convert string d to number t. The return value is the number of characters read.
uint64_t char2int(uint64_t* t, unsigned char* d){
*t = 0;
uint8_t i, j = d[0];
for( i = 0; i <j; i++ )
*t += ((uint64_t)d[i + 1] << (i * 8));
return ((uint64_t)j + 1);
}

上記のソースコード例2は基本的にソースコード例1の逆変換を行っているものであるから、以下簡潔に説明する。ここでは一例として、ソースコード例1で生成した第2電子データ5を、uint64_t型の数値tに戻すものとする。 Since the above source code example 2 basically performs the inverse transformation of the source code example 1, it will be briefly described below. Here, as an example, it is assumed that the second electronic data 5 generated in Source Code Example 1 is returned to a uint64_t type numeric value t.

j=d[0]によりjには3が代入される。for文でi<jつまりiが3未満でループする条件が設定されるので、i=0、1、2の3回にわたって、d[i+1]を加算する処理が実行される。この加算処理では、i*8の左シフト演算を施しつつd[i+1]の値が積算(合算)される。この点を言い換えると、第2変換部30は、まず第2電子データ5(つまりκ型文字列d)を受け取った場合に、単位データ長1バイトと、個数指定部分d[0]が格納する個数指定値(0x03)つまり「3」とに基づいて、記録部分のデータ長が3バイトであることを特定できる(個数指定値取得部31による個数指定値の取得)。記録部分に含まれる各単位データ5aであるd[1]~d[3]を所定規則に則って順次合算することで、数値t(第1電子データ4)を生成する。合算時の規則は、上記ソースコード例2では、for文により個数指定値の回数(上記例では3回)にわたってd[i+1]の加算と左シフト演算とを交互に繰り返すものである(単位データ合算部32による単位データの合算)。また左シフト演算は、単位データ長1バイト(=8ビット)の左シフトを行うものである。なお、char型のBufferの操作が伴うので、ポジションを返値としている。 3 is substituted for j by j=d[0]. Since the for statement sets a condition to loop when i<j, that is, when i is less than 3, the process of adding d[i+1] is executed three times where i=0, 1, and 2. In this addition processing, the value of d[i+1] is multiplied (summed) while performing a left shift operation of i*8. In other words, when the second conversion unit 30 first receives the second electronic data 5 (that is, the κ-type character string d), the unit data length of 1 byte and the number designation part d[0] are stored. Based on the specified number value (0x03), that is, "3", it is possible to specify that the data length of the recorded portion is 3 bytes (acquisition of the specified number value by the specified number value acquisition unit 31). A numerical value t (first electronic data 4) is generated by sequentially summing d[1] to d[3], which are each unit data 5a included in the recorded portion, according to a predetermined rule. In the source code example 2 above, the rule for addition is to alternately repeat the addition of d[i+1] and the left shift operation for the number of times specified by the for statement (three times in the above example) (unit data addition of unit data by the summation unit 32). The left shift operation is to perform a left shift by a unit data length of 1 byte (=8 bits). Since a char-type Buffer is manipulated, the position is used as the return value.

変形例として、個数指定部分可変長型(κ2型やκ4型やκ6型等)を対象とした変換処理が行われてもよい。上記ソースコード例を変形適用するにあたり、「個数指定部分のビット列のうち第1部分」を上記d[0]と同視するとともに、「個数指定部分のビット列のうち第2部分」を上記d[1]以降と同視することができる。例えばソースコード例1(数値tをκ型文字列dに変換)を変形適用する場合、まず記録部分生成部21が「数値t(第1電子データ4)のビット列」から記録部分を生成し、その過程で個数指定部分生成部22が個数指定値を得る。更に「個数指定値のビット列」を区切る処理を実行することで、個数指定部分の第1部分と第2部分の各値を得ることができる(個数指定部分ビット長取得部34による個数指定部分のビット長の取得)。 As a modification, conversion processing may be performed for number-specified-part variable-length types (κ2 type, κ4 type, κ6 type, etc.). In modifying the above source code example, "the first part of the bit string of the number-specifying part" is regarded as the above d[0], and "the second part of the bit string of the number-specifying part" is the above d[1]. ] can be equated with the following. For example, when modifying Source Code Example 1 (converting a numerical value t to a κ-type character string d), the recorded portion generating unit 21 first generates a recorded portion from the “bit string of the numerical value t (first electronic data 4)”, In the process, the number-designated-part generating unit 22 obtains the number-designated value. Furthermore, by executing the process of separating the "bit string of the number-designated value", each value of the first part and the second part of the number-designated part can be obtained (the number-designated part bit length acquisition unit 34 bit length).

(3.4.ソースコード例3)
下記のソースコード例3は、第1変換部20が実行する関数「Byte2Ascii」を示す。関数「Byte2Ascii」は、個数指定部分可変長型(κ2型やκ4型やκ6型等)の変換処理において、第1変換部20の個数指定部分生成部22が可変長の個数指定部分を生成するために用いるプログラムの一例である。具体的には、関数「Byte2Ascii」は、有効桁数insizeで表現される個数指定値inを、アルゴリズム上は単一で数値の上限がない型に変換する。C++言語形式であり、引数inを、継続フラグと7bitのデータ部に変換する例である。ここで、継続フラグは、ビット列上における後続の有無を判別するためのフラグである。
なお、変換後における継続フラグと7bitのデータ部とを合わせたもの(図12及び図14における各Char)を1処理単位とし、各処理単位を分割部分とも呼ぶ。分割部分は、所定のビット長(第3所定ビット長と呼ぶ)を有するとともに継続フラグによって後続の有無を判別可能な一つ以上の部分である。
(3.4. Source code example 3)
Source code example 3 below shows a function “Byte2Ascii” executed by the first conversion unit 20 . In the function "Byte2Ascii", the number-specified-part generating unit 22 of the first conversion unit 20 generates a variable-length number-specified part in the conversion process of the number-specified-part variable-length type (κ2 type, κ4 type, κ6 type, etc.). This is an example of a program used for Specifically, the function "Byte2Ascii" converts the number specification value "in" represented by the number of significant digits "insize" into a single type with no numerical upper limit on the algorithm. It is a C++ language format, and is an example of converting the argument in into a continuation flag and a 7-bit data part. Here, the continuation flag is a flag for determining whether there is a continuation on the bit string.
A combination of a continuation flag and a 7-bit data portion after conversion (each Char in FIGS. 12 and 14) is set as one processing unit, and each processing unit is also called a division part. A divided part is one or more parts that have a predetermined bit length (referred to as a third predetermined bit length) and can determine whether there is a continuation or not by a continuation flag.

//inを7bit(out)に変換する。
uint64_t Byte2Ascii(uint64_t insize,unsigned char* in,unsigned char** out){
//outは最上位bitが1の時は次も読み込む、同が0の時は該当Byteで終了
uint64_t i,j,b;
(*out)=(unsigned char*)realloc((*out),(insize/7)*8+insize%7+1); //出力を確保
for(i=0;(i+1)*7<=insize;i++){ //7char毎に処理
(*out)[i*8+0]=in[i*7+0]&0x7f|0x80; //下位7bitを保存 --ここから--
(*out)[i*8+1]=in[i*7+1]&0x7f|0x80;
(*out)[i*8+2]=in[i*7+2]&0x7f|0x80;
(*out)[i*8+3]=in[i*7+3]&0x7f|0x80;
(*out)[i*8+4]=in[i*7+4]&0x7f|0x80;
(*out)[i*8+5]=in[i*7+5]&0x7f|0x80;
(*out)[i*8+6]=in[i*7+6]&0x7f|0x80; //--ここまで--
(*out)[i*8+7]=((i*7+6)==insize?0:0x80) //継続フラグ 最後の時は0 他は1
+(in[i*7+6]&0x80?0x40:0) //outに0~7の最上位bitを保存 --ここから--
+(in[i*7+5]&0x80?0x20:0)
+(in[i*7+4]&0x80?0x10:0)
+(in[i*7+3]&0x80?0x08:0)
+(in[i*7+2]&0x80?0x04:0)
+(in[i*7+1]&0x80?0x02:0)
+(in[i*7+0]&0x80?0x01:0); //--ここまで--
}
//端数charの処理
b=insize%7;
(*out)[i*8+b]=0; //継続フラグは0
for(j=0;j<b;j++){
(*out)[i*8+j]=in[i*7+j]&0x7f|0x80; //下位7bitを保存
(*out)[i*8+b]+=(in[i*7+j]&0x80?1<<j:0); //最上位bitを保存
}
(*out)[i*8+b+1]=0; //Nullにしておく
return i*8+b+1;
}
// Convert in to 7bit (out).
uint64_t Byte2Ascii(uint64_t insize,unsigned char* in,unsigned char** out){
//out reads the next when the highest bit is 1, and ends with the corresponding byte when the same is 0
uint64_t i,j,b;
(*out)=(unsigned char*)realloc((*out),(insize/7)*8+insize%7+1); // Reserve output
for(i=0;(i+1)*7<=insize;i++){ //process every 7char
(*out)[i*8+0]=in[i*7+0]&0x7f|0x80; //save lower 7bit --from here--
(*out)[i*8+1]=in[i*7+1]&0x7f|0x80;
(*out)[i*8+2]=in[i*7+2]&0x7f|0x80;
(*out)[i*8+3]=in[i*7+3]&0x7f|0x80;
(*out)[i*8+4]=in[i*7+4]&0x7f|0x80;
(*out)[i*8+5]=in[i*7+5]&0x7f|0x80;
(*out)[i*8+6]=in[i*7+6]&0x7f|0x80;
(*out)[i*8+7]=((i*7+6)==insize?0:0x80) // continuation flag 0 at last time 1 otherwise
+(in[i*7+6]&0x80?0x40:0) //save most significant bits 0 to 7 in out --from here--
+(in[i*7+5]&0x80?0x20:0)
+(in[i*7+4]&0x80?0x10:0)
+(in[i*7+3]&0x80?0x08:0)
+(in[i*7+2]&0x80?0x04:0)
+(in[i*7+1]&0x80?0x02:0)
+(in[i*7+0]&0x80?0x01:0);
}
// handle fractional char
b=insize%7;
(*out)[i*8+b]=0; // continue flag is 0
for(j=0;j<b;j++){
(*out)[i*8+j]=in[i*7+j]&0x7f|0x80; // save lower 7bit
(*out)[i*8+b]+=(in[i*7+j]&0x80?1<<j:0); // save the most significant bit
}
(*out)[i*8+b+1]=0; //Set to Null
return i*8+b+1;
}

以下、図11~14を参照しつつ、一例として文字数(insize)が10である文字列inが16進数で「0x54、0xd3、0xbd、0x26、0xdc、0x13、0x71、0x90、0xe8、0xe6」である場合について、上記ソースコード例3に基づく個数指定部分生成部22による変換処理を述べる。図11,図13の8セルを有する枠は、charを表す。枠内の数値11~78は、十桁が各charの番号を、一桁が各char内でのビット位置を示している。ビット位置は1が上位、7が下位を示す。「継」は継続フラグであり、継続するcharを読み込む場合は1、該当charで終了する場合は0とする。 Hereinafter, referring to FIGS. 11 to 14, as an example, the character string in whose number of characters (insize) is 10 is "0x54, 0xd3, 0xbd, 0x26, 0xdc, 0x13, 0x71, 0x90, 0xe8, 0xe6" in hexadecimal. For a certain case, conversion processing by the number-designated-part generation unit 22 based on the above source code example 3 will be described. A frame having 8 cells in FIGS. 11 and 13 represents char. In the numerical values 11 to 78 within the frame, ten digits indicate the number of each char, and one digit indicates the bit position within each char. As for the bit position, 1 indicates the high order and 7 indicates the low order. "Continue" is a continuation flag, which is set to 1 when reading a continuing char, and set to 0 when ending with the corresponding char.

図11は、7char以上の処理の概念図を示す。「処理後第1char」の下位7bitに、「処理前第1char」の下位7bitを設定する。「処理後第2char」~「処理後第7char」も同様に、「処理前第2char」~「処理前第7char」に設定する。「処理後第1char」~「処理後第7char」は、次charを読み込むので、1ビット目に1を設定する。 FIG. 11 shows a conceptual diagram of processing for 7 chars or more. The lower 7 bits of the "first char before processing" are set to the lower 7 bits of the "first char after processing". Similarly, “second char after processing” to “seventh char after processing” are set to “second char before processing” to “seventh char before processing”. For “1st char after processing” to “7th char after processing”, the next char is read, so 1 is set to the first bit.

以下、プログラムでの上記処理について述べる。まず、reallocを利用して処理結果の保管領域を確保する。次に、for文内で、7char毎に処理する。 The above processing by the program will be described below. First, a storage area for processing results is secured using realloc. Next, in the for statement, every 7 chars are processed.

図12に、初回の処理の初期値「0x54、0xd3、0xbd、0x26、0xdc、0x13、0x71」のbit配列(01010100、11010011、10111101、00100110、11011100、00010011、01110001)を示す。プログラムのfor内上部の「下位7bitを保存」処理後の「処理後第1char」~「処理後第7char」は「11010100、11010011、10111101、10100110、11011100、10010011、11110001(0xd4、0xd3、0xbd、0xa6、0xdc、0x93、0xf1)」となる。プログラムのfor内下部の、「outに0~7の最上位bitを保存」処理後の「処理後第8char」は「10010110(0x96)」となる。本例のchar数は10なのでforを抜けることになる。 FIG. 12 shows a bit array (01010100, 11010011, 10111101, 00100110, 11011100, 00010011, 01110001) of initial values "0x54, 0xd3, 0xbd, 0x26, 0xdc, 0x13, 0x71" in the first processing. "11010100, 11010011, 10111101, 10100110, 11011100, 10010011, 11110001 (0xd4, 0xd3, 0xbd, 0xa6, 0xdc, 0x93, 0xf1)". The ``8th char after processing'' after ``save the most significant bits 0 to 7 in out'' in the lower part of the for of the program is ``10010110 (0x96)''. Since the number of chars in this example is 10, the for is passed.

残り3charの処理概念を、図13に示す。11~38は、十桁が各charの番号を、各char内でのビット位置を示している。ビット位置は1が上位、7が下位を示す。変換後の左端は継続フラグであり、継続するcharを読み込む場合は1、該当charで終了する場合は0としている。 FIG. 13 shows the processing concept of the remaining 3 chars. In 11 to 38, ten digits indicate the number of each char and the bit position within each char. As for the bit position, 1 indicates the high order and 7 indicates the low order. The left end after conversion is a continuation flag, which is 1 when reading a continuation char and 0 when ending with the corresponding char.

また、図14に、3char「0x90、0xe8、0xe6」のbit配列(10010000、11101000、11100110)を示す。図11と同様に、「処理後第1char」~「処理後第3char」は「10010000、11101000、11100110(0x90、0xe8、0xe6)」、「処理後第4char」は「00000111(0x07)」となる。プログラムでは、「端数charの処理」部分がこれに相当する。 Also, FIG. 14 shows a bit array (10010000, 11101000, 11100110) of 3 chars "0x90, 0xe8, 0xe6". As in FIG. 11, "1st char after processing" to "3rd char after processing" are "10010000, 11101000, 11100110 (0x90, 0xe8, 0xe6)", and "4th char after processing" is "00000111 (0x07)". . In the program, the "handling of fractional char" portion corresponds to this.

以上により、「0x54、0xd3、0xbd、0x26、0xdc、0x13、0x71、0x90、0xe8、0xe6」は「0xd4、0xd3、0xbd、0xa6、0xdc、0x93、0xf1、0x96、x90、0xe8、0xe6、0x07」と変換される。 From the above, "0x54, 0xd3, 0xbd, 0x26, 0xdc, 0x13, 0x71, 0x90, 0xe8, 0xe6" becomes "0xd4, 0xd3, 0xbd, 0xa6, 0xdc, 0x93, 0xf1, 0x96, x90, 0xe8, 0xe6, 0x07" is converted to

なお、上記説明したソースコード例3ではフラグ数を1としているが、これ以外のフラグを含んでもよい。また、1処理単位(したがって、第3所定ビット長)を1char(1Byte)としているが、2Byteや4bit等を処理単位とすることも同様の処理で可能であり、1charに限るわけではない。さらに、処理前と処理後で、ビット長を異ならせることも可能である。なお、例で使用しているrealloc由来のエラー処理は行っていない。 Although the number of flags is 1 in the source code example 3 described above, other flags may be included. Also, one processing unit (thus, the third predetermined bit length) is 1 char (1 byte), but processing units such as 2 bytes or 4 bits are also possible in the same process, and are not limited to 1 char. Furthermore, it is possible to have different bit lengths before and after processing. In addition, the error processing derived from realloc used in the example is not performed.

(3.5.ソースコード例4)
下記のソースコード例4は、第2変換部30が実行する関数「Ascii2Byte」を示す。関数「Ascii2Byte」は、数値の上限がない単一の型inを個数指定値outに変換するプログラムの一例で、C++言語形式である。関数「Ascii2Byte」は、個数指定部分可変長型(κ2型やκ4型やκ6型等)の変換処理において、第2変換部30の個数指定値取得部31が可変長の個数指定部分に含まれる個数指定値を取得するために用いるプログラムの一例である。
(3.5. Source code example 4)
Source code example 4 below shows a function “Ascii2Byte” executed by the second conversion unit 30 . The function "Ascii2Byte" is an example of a program that converts a single type "in" with no numerical upper limit into a specified number value "out", and is in C++ language format. The function "Ascii2Byte" is a number-specified part variable-length type (κ2 type, κ4 type, κ6 type, etc.) conversion processing in which the number-specified value acquisition unit 31 of the second conversion unit 30 is included in the variable-length number-specified part. It is an example of a program used to acquire a specified number value.

なお、関数「Ascii2Byte」は、「Byte2Ascii」の逆変換であるので、簡単に説明する。一例として、ソースコード例3の変換処理後の「0xd4、0xd3、0xbd、0xa6、0xdc、0x93、0xf1、0x96、x90、0xe8、0xe6、0x07」をoutに戻すものとする。 Note that the function "Ascii2Byte" is an inverse transformation of "Byte2Ascii", so it will be briefly described. As an example, it is assumed that "0xd4, 0xd3, 0xbd, 0xa6, 0xdc, 0x93, 0xf1, 0x96, x90, 0xe8, 0xe6, 0x07" after conversion processing in Source Code Example 3 are returned to out.

//inを8bitに変換する。
uint64_t Ascii2Byte(unsigned char* in,unsigned char** out){
uint64_t i=0,j=0,a,b;
*out=(unsigned char*)realloc(*out,7+1);
while(in[i]&0x80){ //8char毎に処理
if(i%8==7){ //7char目は
(*out)=(unsigned char*)realloc((*out),j+7+1); //出力を確保
(*out)[j-1]+=(in[i]&0x40)?0x80:0; //最上位bitを各charに設定 --ここから--
(*out)[j-2]+=(in[i]&0x20)?0x80:0;
(*out)[j-3]+=(in[i]&0x10)?0x80:0;
(*out)[j-4]+=(in[i]&0x08)?0x80:0;
(*out)[j-5]+=(in[i]&0x04)?0x80:0;
(*out)[j-6]+=(in[i]&0x02)?0x80:0;
(*out)[j-7]+=(in[i]&0x01)?0x80:0; //--ここまで--
i++;
}else{
(*out)[j++]=(unsigned char)(in[i++]&0x7f); //下位7bitを設定
}
}
b=i%8; //端数char数
for(a=0;a<b;a++)
(*out)[j+a-b]+=(in[i]&(1<<a)?0x80:0); //最上位bitを各charに設定
(*out)[j]=0; //Nullにしておく
return j;
}
// Convert in to 8bit.
uint64_t Ascii2Byte(unsigned char* in,unsigned char** out){
uint64_t i=0,j=0,a,b;
*out=(unsigned char*)realloc(*out,7+1);
while(in[i]&0x80){ //process every 8char
if(i%8==7){ //7th char
(*out)=(unsigned char*)realloc((*out),j+7+1); // Secure output
(*out)[j-1]+=(in[i]&0x40)?0x80:0; //Set the most significant bit to each char --from here--
(*out)[j-2]+=(in[i]&0x20)?0x80:0;
(*out)[j-3]+=(in[i]&0x10)?0x80:0;
(*out)[j-4]+=(in[i]&0x08)?0x80:0;
(*out)[j-5]+=(in[i]&0x04)?0x80:0;
(*out)[j-6]+=(in[i]&0x02)?0x80:0;
(*out)[j-7]+=(in[i]&0x01)?0x80:0;
i++;
}else{
(*out)[j++]=(unsigned char)(in[i++]&0x7f); // Set lower 7bit
}
}
b=i%8; // Fractional char number
for(a=0;a<b;a++)
(*out)[j+ab]+=(in[i]&(1<<a)?0x80:0); // set the most significant bit to each char
(*out)[j]=0; //Set to Null
return j;
}

以下、プログラムでの上記処理について述べる。まず、reallocを利用して処理結果の保管領域を確保する。処理は8char毎に最上位bitを記録したcharがあるので、8char毎を基本の処理単位とする。処理単位は最大で7char分のデータとなるので、末端のNullの1文字分を加算した「7+1」char分を初期に確保する。 The above processing by the program will be described below. First, a storage area for processing results is secured using realloc. Since there is a char in which the most significant bit is recorded every 8 chars, every 8 chars is used as a basic processing unit. Since the maximum processing unit is data for 7 chars, "7+1" chars, which is obtained by adding one Null character at the end, is secured at the beginning.

iは初期値を0とした、inの番号である。jは初期値を0とした、outの番号である。whileの分岐判定は、開始時点では「i=0」なので、「in[0]=0xd4(11010100(2))」となり、「0x80(10000000(2))」との&演算はTrueとなり、whileの中を実行することになる。 i is the number of in with an initial value of 0; j is the out number with an initial value of 0; The while branch determination is "i=0" at the start, so "in[0]=0xd4 (11010100 (2) )", and the & operation with "0x80 (10000000 (2) )" is True, and while will be executed in

if判定は、「i=0」の時「i%8(i÷8の剰余)」は「0」なので、Falseとなるので、else以下を実行する。「in[i]」の下位7bitを、「out[j]」に設定する。プログラムでは、「下位7bitを設定(上)」の部分である。「i++」は「iに1を加算する」ことなので、i=1となる。同様にj=1となる。 When "i=0", "i % 8 (remainder of i/8)" is "0", so the if judgment is False, so the else is executed. The lower 7 bits of "in[i]" are set to "out[j]". In the program, it is the part of "setting the lower 7 bits (upper)". Since "i++" means "add 1 to i", i=1. Similarly, j=1.

if判定の2回目は、「i=1」「j=1」である。「1%8」は「0」なので、Falseとなるので、else以下を実行する。3回目は、「i=2」「j=2」である。4~7回目も同様である。
if判定の8回目は、「i=7」「j=7」である。「7%8」は「7」なので、Trueとなるので、ifの直下を実行する。まず、reallocを利用して処理結果の保管領域を「15=7+7+1」分確保する。「in[7]=0x96(10010110(2))」なので、各outの最上位bitの設定を行う。図12の逆処理である。
The second if determination is "i=1" and "j=1". Since "1% 8" is "0", it becomes False, so the else is executed. The third time is "i=2" and "j=2". The same is true for the 4th to 7th times.
The eighth if determination is "i=7" and "j=7". Since "7% 8" is "7", it is True, so the if is executed. First, using realloc, a storage area for processing results is secured for "15=7+7+1". Since "in[7]=0x96(10010110 (2) )", the highest bit of each out is set. This is the inverse process of FIG.

whileの分岐判定は、「i=8」なので、「in[8]=0x90(10010000(2))」となり、「0x80(10000000(2))」との&演算はTrueとなり、whileの中を実行することになる。「i=10」までは同様に繰り返す。 The while branch judgment is "i=8", so "in[8]=0x90 (10010000 (2) )", the & operation with "0x80 (10000000 (2) )" is True, and the while will be executed. The same procedure is repeated up to "i=10".

「i=11」の時は、「in[11]=0x07(00000111(2))」となり、whileの分岐判定はFalseとなる。「b=3=11%8」なので、11から3char遡り最上位bitを設定することになる。プログラムでは「最上位bitを各charに設定(下)」の部分である。図13の逆処理である。 When “i=11”, “in[11]=0x07 (00000111 (2) )” and the while branch determination is False. Since "b=3=11%8", the most significant bit is set 3 chars backward from 11. In the program, it is the part of "setting the highest bit to each char (bottom)". This is the inverse process of FIG.

この時点で「j=10」なので、「out[0]~out[9]」は「0x54、0xd3、0xbd、0x26、0xdc、0x13、0x71、0x90、0xe8、0xe6」となり、逆変換であることが確認できる。また、終端文字をNullにするために「out[10]」に0を設定する。そして、returnに10を指定する。 At this point, "j = 10", so "out[0] to out[9]" are "0x54, 0xd3, 0xbd, 0x26, 0xdc, 0x13, 0x71, 0x90, 0xe8, 0xe6", which is an inverse transform. can be confirmed. Also, set 0 to "out[10]" to make the terminating character null. Then, 10 is specified for return.

<4.作用効果>
以上のように、本発明の一観点に係る情報処理装置は、第1変換部20の個数指定部分生成部22が記録部分の単位データ5aの個数を個数指定値としてカウントし、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成するよう構成されている。このような構成により、個数指定部分のビット長を個数指定値、すなわち、記録部分の単位データ5aの個数に合った長さとすることができる。また、個数指定部分のビット長を長く確保することも可能であるため、個数指定部分が固定長である場合、変換可能な第1電子データ4のビット長に上限が生じるが、個数指定部分を可変長とすることで、より大きなサイズの第1電子データ4を変換することも可能である。
<4. Action effect>
As described above, in the information processing apparatus according to one aspect of the present invention, the number-specified-portion generation unit 22 of the first conversion unit 20 counts the number of unit data 5a in the recorded portion as a specified number value, and and a variable-length number-designated part corresponding to the number-designated value. With such a configuration, the bit length of the number-specifying portion can be made to match the number-specifying value, that is, the number of unit data 5a in the recording portion. In addition, since it is possible to secure a long bit length for the number-specifying part, if the number-specifying part has a fixed length, there is an upper limit to the bit length of the first electronic data 4 that can be converted. By making the length variable, it is also possible to convert the first electronic data 4 of a larger size.

また、本発明の他の一観点に係る情報処理装置は、第1変換部20の識別部分生成部23が第1電子データ4のデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成するよう構成されている。このような構成により、第2電子データ5を第1電子データ4に再度変換する際に、当該第2電子データ5のデータ型を、第2変換部30の識別部33によって識別することが可能となっている。 Further, in the information processing apparatus according to another aspect of the present invention, the identification part generation unit 23 of the first conversion unit 20 acquires the data type of the first electronic data 4, and the identification value information corresponding to the data type is obtained. is configured to generate an identification portion comprising: With such a configuration, when the second electronic data 5 is converted again into the first electronic data 4, the data type of the second electronic data 5 can be identified by the identification unit 33 of the second conversion unit 30. It has become.

<5.変形例等>
上記の実施形態は一例であり、様々な変形、追加または省略などを行うことが可能である。変形例は、互いに適用を阻害しない限り、任意に組み合わせて用いられてもよい。
<5. Modifications, etc.>
The above embodiment is an example, and various modifications, additions, or omissions can be made. Modifications may be used in any combination as long as they do not interfere with each other's application.

κ型データ構造は、「個数指定部分と記録部分のみ」が連結したビット列でもよく、あるいは「識別部分と個数指定部分と記録部分のみ」が連結したビット列でもよい。変形例として、それらのビット列の先端、後端又は中間に、他の情報を持つ付加的ビット列が追加されてもよい。 The κ-type data structure may be a bit string in which "only the number specifying part and the recording part" are connected, or a bit string in which "only the identification part, the number specifying part and the recording part" are connected. Alternatively, additional bitstreams with other information may be added at the beginning, end or middle of those bitstreams.

変形例として、第1変換部20と第2変換部30とのうち片方のみを備える情報処理装置1が提供されてもよいし、識別部33が省略されてもよい。例えば情報処理装置1が第1変換部20のみを備えてもよく、具体的には例えば組込デバイス1bや宇宙機1cがκ型の第2電子データ5を蓄積してその情報をクラウドサーバ1aへ送信するだけ、という運用でもよい。また、例えば、情報処理装置1が第2変換部30のみを備えてもよく、具体的には例えばクラウドサーバ1aが第2電子データ5の収集管理のみを実行するのであれば第1変換部20を備えなくともよい。 As a modification, the information processing apparatus 1 including only one of the first conversion unit 20 and the second conversion unit 30 may be provided, or the identification unit 33 may be omitted. For example, the information processing apparatus 1 may include only the first conversion unit 20. Specifically, for example, the embedded device 1b or the spacecraft 1c accumulates the κ-type second electronic data 5, and the information is transferred to the cloud server 1a. It is also possible to simply send to Further, for example, the information processing apparatus 1 may include only the second conversion unit 30. Specifically, for example, if the cloud server 1a executes only collection and management of the second electronic data 5, the first conversion unit 20 does not have to be provided.

実施の形態では、図1Aのような個数指定部分が先で記録部分が後となる順番の例や、図6Aのような識別部分と個数指定部分と記録部分とがこの順番で並ぶ例を説明しているが、並び順はこれに限られない。各部分の並び順は事前に設定すればよい。変形例として、例えば個数指定部分と記録部分とが逆でもよく、識別部分と個数指定部分と記録部分の順番も任意に変更してもよい。例えば個数指定部分が最後尾に設けられる場合、個数指定値に従って単位データ長だけビット列を遡ることで記録部分を抽出してもよい。 In the embodiment, an example in which the number-designated portion is first and the recorded portion is ordered as shown in FIG. 1A, and an example in which the identification portion, the number-designated portion, and the recorded portion are arranged in this order as shown in FIG. 6A will be described. However, the order of arrangement is not limited to this. The arrangement order of each part may be set in advance. As a modification, for example, the number designation part and the recording part may be reversed, and the order of the identification part, the number designation part and the recording part may be arbitrarily changed. For example, when the number designation part is provided at the end, the recorded part may be extracted by tracing back the bit string by the unit data length according to the number designation value.

図7で述べた情報処理装置1は例示にすぎない。情報処理装置1は、任意の「ハードウェア資源」を用いて構築することができる。ハードウェア資源は、電子情報を取り扱う任意の装置であり、少なくとも演算処理部、記憶部および通信部を有する。情報処理装置1を構築するハードウェア資源は、例えばスマートフォン等の携帯端末やパーソナルコンピュータなどでもよく、任意のIoTデバイスであってもよく、任意の組込デバイスであってもよく、車両等の任意の移動体に組み込まれた組込デバイスであってもよく、人工衛星や探査機等の任意の宇宙機であってもよい。例えば組込デバイス1bに限定はなく、例えば温度等を制御する各種デバイスが任意に適用されてもよい。 The information processing device 1 described in FIG. 7 is merely an example. The information processing device 1 can be constructed using arbitrary “hardware resources”. A hardware resource is any device that handles electronic information and has at least a processing unit, a storage unit, and a communication unit. The hardware resources that construct the information processing device 1 may be, for example, a mobile terminal such as a smart phone, a personal computer, or the like, any IoT device, any embedded device, or any device such as a vehicle. It may be an embedded device incorporated in a moving object, or an arbitrary spacecraft such as an artificial satellite or probe. For example, the built-in device 1b is not limited, and various devices for controlling temperature or the like may be arbitrarily applied.

個数指定部分の個数指定値が有効桁を表しており、κ型データへの各種演算が可能である。第2電子データ5と任意の値(定数や変数)との演算や、桁数が同じ又は異なる複数の第2電子データ5同士での演算をしてもよい。演算は、例えば加減乗除などの算術演算でもよく、関係演算や論理演算でもよい。当該演算のための「データ演算部」が、図8Bの演算処理部11に追加されてもよい。 The number designation value of the number designation part represents significant digits, and various operations on κ type data are possible. An operation may be performed between the second electronic data 5 and an arbitrary value (constant or variable), or an operation may be performed between a plurality of second electronic data 5 having the same or different numbers of digits. The operation may be an arithmetic operation such as addition, subtraction, multiplication, or division, or may be a relational operation or a logical operation. A “data calculation unit” for the calculation may be added to the calculation processing unit 11 in FIG. 8B.

個数指定部分の値に応じて規定される記録部分のデータ長は、具体的には、例えば1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、54、55、56、57、58、59、60、61、62、63、又は64ビットでもよく、或いは65ビット以上でもよく、あるいはここで例示した数値の何れか2つの範囲内であってもよい。記録部分が上記の様々なデータ長を取りうるように単位データ長も任意に設定可能である。単位データ長は、具体的には、例えば1、2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、又は61ビットとしてもよく、これ以外の素数で規定するビット長でもよく、あるいはここで例示した数値の何れか2つの範囲内であってもよい。上記の点は、従来技術では64ビット単位や32ビット単位でデータ長を画一的に区切ることとは対照的である。 Specifically, the data length of the recording portion defined according to the value of the number specifying portion is, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, Or it could be 64 bits, or it could be 65 bits or more, or it could be within any two of the numbers exemplified here. The unit data length can also be arbitrarily set so that the recorded portion can have the various data lengths described above. Specifically, the unit data length is, for example, 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, or 61 bits. , a bit length defined by a prime number other than this, or within the range of any two of the numerical values exemplified here. The above point is in contrast to the conventional technology, in which the data length is uniformly divided in units of 64 bits or 32 bits.

本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 While various embodiments of the invention have been described, these have been presented by way of example and are not intended to limit the scope of the invention. The novel embodiment can be embodied in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. The embodiment and its modifications are included in the scope and gist of the invention, and are included in the scope of the invention described in the claims and equivalents thereof.

なお、本発明は、以下の態様でも実施可能である。 The present invention can also be implemented in the following aspects.

本発明の一態様に係る情報処理装置は、第1変換部を備える情報処理装置であって、前記第1変換部は、第1電子データのビット列から、所定の単位ビット列又は所定の単位バイト列を単位データとして順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、前記記録部分の前記単位データの個数に応じた個数指定値を個数指定部分に格納し、前記個数指定部分と前記記録部分とを有する第2電子データを生成する、情報処理装置である。 An information processing apparatus according to an aspect of the present invention is an information processing apparatus including a first conversion unit, wherein the first conversion unit converts a bit string of first electronic data into a predetermined unit bit string or a predetermined unit byte string. are sequentially extracted as unit data to generate a recording portion composed of one or more of the unit data, and a number designation value corresponding to the number of the unit data in the recording portion is stored in the number designation portion; The information processing apparatus generates second electronic data having the number designation portion and the recording portion.

本発明の他の態様に係る情報処理装置は、第2変換部を備える情報処理装置であって、前記第2変換部は、個数指定部分と記録部分を持つ第2電子データを受け取った場合に、前記個数指定部分の個数指定値に基づいて所定の単位データ長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記個数指定部分を有さない第1電子データを生成する、情報処理装置である。 An information processing apparatus according to another aspect of the present invention is an information processing apparatus comprising a second conversion section, wherein the second conversion section receives second electronic data having a number specifying portion and a recording portion, and sequentially adding the unit data contained in the recording portion while shifting the digits in units of a predetermined unit data length based on the number designation value of the number designation portion, thereby obtaining the first unit data not having the number designation portion. An information processing device that generates electronic data.

上記各態様に関連するプログラム、データ構造、および情報処理方法も提供される。 Programs, data structures, and information processing methods associated with each of the above aspects are also provided.

1:情報処理装置、1a:情報処理装置(クラウドサーバ)、1b:情報処理装置(組込デバイス)、1c:情報処理装置(宇宙機)、2:通信回線、4:第1電子データ(第1データ型)、5:第2電子データ(κ型)、5a:単位データ、11:演算処理部、12:主記憶部、13:補助記憶部、14:通信部、15:操作入力部、16:モニタ、17:システムバス、20:第1変換部、21:記録部分生成部、22:個数指定部分生成部、22c:識別部、23:識別部分生成部、24:結合部、30:第2変換部、31:個数指定値取得部、32:単位データ合算部、33:識別部、34:個数指定部分ビット長取得部 1: information processing device, 1a: information processing device (cloud server), 1b: information processing device (embedded device), 1c: information processing device (spacecraft), 2: communication line, 4: first electronic data (second 1 data type), 5: second electronic data (κ type), 5a: unit data, 11: arithmetic processing unit, 12: main storage unit, 13: auxiliary storage unit, 14: communication unit, 15: operation input unit, 16: monitor, 17: system bus, 20: first conversion unit, 21: recording part generation unit, 22: number designation part generation unit, 22c: identification unit, 23: identification part generation unit, 24: coupling unit, 30: Second conversion unit 31: number-specified value acquisition unit 32: unit data summation unit 33: identification unit 34: number-specified part bit length acquisition unit

Claims (16)

第1変換部を備える情報処理装置であって、
前記第1変換部は、記録部分生成部と、個数指定部分生成部と、結合部とを備え、
前記記録部分生成部は、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、
前記個数指定部分生成部は、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成し、
前記結合部は、前記記録部分生成部が生成した前記記録部分と前記個数指定部分生成部が生成した前記個数指定部分とを結合して前記記録部分と前記個数指定部分とを有する第2電子データを生成する、
情報処理装置。
An information processing device comprising a first conversion unit,
The first conversion unit includes a recorded part generation unit, a number designation part generation unit, and a combination unit,
The recorded portion generation unit sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, thereby generating one or more generating a recording portion composed of the unit data;
The number-designated-portion generation unit counts the number of the unit data in the recorded portion as a number-designated value, and generates a variable-length number-designated portion including information of the number-designated value and corresponding to the number-designated value. ,
The combining unit combines the recorded portion generated by the recorded portion generating unit and the number-designated portion generated by the number-designated portion generating unit to create second electronic data having the recorded portion and the number-designated portion. to generate
Information processing equipment.
請求項1に記載の情報処理装置であって、
前記個数指定部分生成部は、前記個数指定部分から前記個数指定値のビット長が取得可能となるよう、下記(1)又は(2)の構成を備える、
情報処理装置。
(1)前記個数指定部分の先頭に、前記個数指定値のビット長を示す第2所定ビット長の個数指定値指定部分を配置する。
(2)前記個数指定値のビット列を、第3所定ビット長を有するとともに継続フラグによって後続の有無を判別可能な一つ以上の分割部分に分割する。
The information processing device according to claim 1,
The number-designated-part generating unit has the following configuration (1) or (2) so that the bit length of the number-designated value can be obtained from the number-designated part.
Information processing equipment.
(1) Arranging a number designation value designation portion having a second predetermined bit length indicating the bit length of the number designation value at the beginning of the number designation portion.
(2) dividing the bit string of the number-designated value into one or more divided parts each having a third predetermined bit length and capable of determining the presence or absence of a continuation by a continuation flag;
請求項1又は請求項2に記載の情報処理装置であって、
前記第2電子データは、前記第1電子データと相互に変換可能である、情報処理装置。
The information processing device according to claim 1 or claim 2,
The information processing apparatus, wherein the second electronic data is mutually convertible with the first electronic data.
請求項1又は請求項2に記載の情報処理装置であって、
前記第1変換部は、前記第1電子データのビット列のうち値を格納しない不使用部分を省いて前記記録部分を生成することにより、データ長が短縮された前記第2電子データを生成する、情報処理装置。
The information processing device according to claim 1 or claim 2,
The first conversion unit generates the second electronic data with a shortened data length by generating the recording portion by omitting an unused portion that stores no value in the bit string of the first electronic data. Information processing equipment.
請求項1又は請求項2に記載の情報処理装置であって、
前記第1変換部は、識別部分生成部をさらに備え、
前記識別部分生成部は、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、
前記結合部は、前記個数指定部分及び前記記録部分に加えて前記識別部分を結合して、前記個数指定部分と前記記録部分と前記識別部分とを有する前記第2電子データを生成する、
情報処理装置。
The information processing device according to claim 1 or claim 2,
The first conversion unit further includes an identification part generation unit,
The identification part generation unit obtains a data type of the first electronic data, generates an identification part including information of an identification value corresponding to the data type,
The combining unit combines the identification part in addition to the number-designated part and the recorded part to generate the second electronic data having the number-designated part, the recorded part, and the identification part.
Information processing equipment.
請求項1又は請求項2に記載の情報処理装置であって、
第2変換部をさらに備え、
前記第2変換部は、個数指定値取得部と、単位データ合算部とを備え、
前記個数指定値取得部は、前記第2電子データの前記個数指定部分から前記個数指定値を取得し、
前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記第1電子データを生成する、
情報処理装置。
The information processing device according to claim 1 or claim 2,
further comprising a second conversion unit;
The second conversion unit includes a specified number acquisition unit and a unit data summation unit,
The specified number value acquiring unit acquires the specified number value from the specified number part of the second electronic data,
The unit data summation unit sequentially sums the unit data included in the recording portion while shifting digits in units of the first predetermined bit length based on the number designation value acquired by the number designation value acquisition unit. generating the first electronic data with
Information processing equipment.
第2変換部を備える情報処理装置であって、
前記第2変換部は、記録部分と個数指定部分とを有する第2電子データを、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換するよう構成されるとともに、個数指定部分ビット長取得部と、個数指定値取得部と、単位データ合算部と、を備え、
前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、
前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含むとともに、当該個数指定値に応じて可変長とされ、
前記個数指定部分ビット長取得部は、前記個数指定部分のビット長を取得し、
前記個数指定値取得部は、前記個数指定部分ビット長取得部が取得した前記個数指定部分のビット長に基づいて前記個数指定部分から前記個数指定値を取得し、
前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記第1電子データを生成する、
情報処理装置。
An information processing device comprising a second conversion unit,
The second conversion unit is configured to convert second electronic data having a recording part and a number specifying part into first electronic data having a known data type including an integer type, a decimal type and a character type. , a number-specified partial bit length acquisition unit, a number-specified value acquisition unit, and a unit data summation unit,
the recording portion is composed of one or more unit data having a first predetermined bit length,
The number designation part includes information of a number designation value indicating the number of the unit data, and has a variable length according to the number designation value,
The number-specified portion bit length acquisition unit acquires the bit length of the number-specified portion,
the number-designated-value obtaining unit obtains the number-designated value from the number-designated portion based on the bit length of the number-designated portion obtained by the number-designated-portion bit length obtaining unit;
The unit data summation unit sequentially sums the unit data included in the recording portion while shifting digits in units of the first predetermined bit length based on the number designation value acquired by the number designation value acquisition unit. generating the first electronic data with
Information processing equipment.
コンピュータに、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出させることで、一つ以上の前記単位データで構成された記録部分を生成させ、
コンピュータに、前記記録部分の前記単位データの個数を個数指定値としてカウントさせ、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成させ、
コンピュータに、前記記録部分と前記個数指定部分とを結合させて、前記記録部分と前記個数指定部分とを有する第2電子データを生成させる、
プログラム。
By causing a computer to sequentially extract unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, one or more of the unit data generate a structured recording portion,
cause a computer to count the number of the unit data in the recorded portion as a specified number value, and generate a variable-length specified number part including information of the specified number value and corresponding to the specified number value;
causing a computer to combine the recorded portion and the number-designated portion to generate second electronic data having the recorded portion and the number-designated portion;
program.
コンピュータにより、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、
コンピュータにより、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含むとともに当該個数指定値に応じた可変長の個数指定部分を生成し、
コンピュータにより、前記記録部分と前記個数指定部分とを結合して、前記記録部分と前記個数指定部分とを有する第2電子データを生成する、
情報処理方法。
A computer sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal number type, and a character type, thereby obtaining one or more of the unit data generate a composed recording part,
counting the number of the unit data in the recorded portion as a specified number value by a computer, and generating a variable-length specified number part including information of the specified number value and corresponding to the specified number value;
combining the recorded portion and the number-designated portion by a computer to generate second electronic data having the recorded portion and the number-designated portion;
Information processing methods.
第1変換部を備える情報処理装置であって、
前記第1変換部は、記録部分生成部と、個数指定部分生成部と、識別部分生成部と、結合部とを備え、
前記記録部分生成部は、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、
前記個数指定部分生成部は、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含む個数指定部分を生成し、
前記識別部分生成部は、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、
前記結合部は、前記記録部分生成部が生成した前記記録部分と前記個数指定部分生成部が生成した前記個数指定部分と前記識別部分生成部が生成した前記識別部分とを結合して、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成する、
情報処理装置。
An information processing device comprising a first conversion unit,
The first conversion unit includes a recorded part generation unit, a number designation part generation unit, an identification part generation unit, and a combination unit,
The recorded portion generation unit sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal type, and a character type, thereby generating one or more generating a recording portion composed of the unit data;
the number-designated-part generating unit counts the number of the unit data in the recorded part as a number-designated value, and generates a number-designated part including information on the number-designated value;
The identification part generation unit obtains a data type of the first electronic data, generates an identification part including information of an identification value corresponding to the data type,
The combining unit combines the recorded portion generated by the recorded portion generating unit, the number-specified portion generated by the number-designated portion generating unit, and the identification portion generated by the identification portion generating unit, and generating second electronic data having a portion, the number specifying portion, and the identification portion;
Information processing equipment.
第2変換部を備える情報処理装置であって、
前記第2変換部は、記録部分と個数指定部分と識別部分とを有する第2電子データを、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換するよう構成されるとともに、個数指定値取得部と、単位データ合算部と、識別部とを備え、
前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、
前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、
前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、
前記個数指定値取得部は、前記個数指定部分から前記個数指定値を取得し、
前記識別部は、前記識別部分から前記識別値を取得して当該識別値から前記第1電子データのデータ型を識別し、
前記単位データ合算部は、前記個数指定値取得部が取得した前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記識別部が識別した前記データ型を有する前記第1電子データを生成する、
情報処理装置。
An information processing device comprising a second conversion unit,
The second conversion unit is configured to convert second electronic data having a recording portion, a number specifying portion, and an identification portion into first electronic data having a known data type including an integer type, a decimal type, and a character type. is provided, and includes a specified number acquisition unit, a unit data summation unit, and an identification unit,
the recording portion is composed of one or more unit data having a first predetermined bit length,
the number specification part includes information of a number specification value indicating the number of the unit data;
the identification part includes information of an identification value corresponding to the data type of the first electronic data from which the second electronic data is converted;
The specified number value acquiring unit acquires the specified number value from the specified number part,
the identification unit obtains the identification value from the identification portion and identifies a data type of the first electronic data from the identification value;
The unit data summation unit sequentially sums the unit data included in the recording portion while shifting digits in units of the first predetermined bit length based on the number designation value acquired by the number designation value acquisition unit. generating the first electronic data having the data type identified by the identification unit,
Information processing equipment.
コンピュータに、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、所定の単位ビット列又は所定の単位バイト列を単位データとして順次抽出させることで、一つ以上の前記単位データで構成された記録部分を生成させ、
コンピュータに、前記記録部分の前記単位データの個数を個数指定値としてカウントさせ、当該個数指定値の情報を含む個数指定部分を生成させ、
コンピュータに、前記第1電子データのデータ型を取得させ、当該データ型に対応する識別値の情報を含む識別部分を生成させ、
コンピュータに、前記記録部分と前記個数指定部分と前記識別部分とを結合させて、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成させる、
プログラム。
By causing a computer to sequentially extract a predetermined unit bit string or a predetermined unit byte string as unit data from a bit string of first electronic data having a known data type including an integer type, a minority type, and a character type, one or more generating a recording portion composed of the unit data of
cause a computer to count the number of the unit data in the recorded portion as a number designation value, and generate a number designation portion including information on the number designation value;
cause a computer to acquire the data type of the first electronic data and generate an identification portion containing information of an identification value corresponding to the data type;
causing a computer to combine the recorded portion, the number-designated portion, and the identification portion to generate second electronic data having the recorded portion, the number-designated portion, and the identification portion;
program.
コンピュータに、記録部分と個数指定部分と識別部分とを有する第2電子データを整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換させるプログラムであって、
前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、
前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、
前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、
コンピュータに、前記第2電子データの前記個数指定部分から前記個数指定値を取得させ、
コンピュータに、前記第2電子データの前記識別部分から前記識別値を取得させて当該識別値から前記第1電子データのデータ型を識別させ、
コンピュータに、前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算させることで、前記識別させたデータ型を有する前記第1電子データを生成させる、プログラム。
A program for causing a computer to convert second electronic data having a recording portion, a number specifying portion, and an identifying portion into first electronic data having a known data type including an integer type, a decimal type, and a character type,
the recording portion is composed of one or more unit data having a first predetermined bit length,
the number specification part includes information of a number specification value indicating the number of the unit data;
the identification part includes information of an identification value corresponding to the data type of the first electronic data from which the second electronic data is converted;
causing a computer to acquire the specified number value from the specified number portion of the second electronic data;
cause a computer to acquire the identification value from the identification portion of the second electronic data and identify the data type of the first electronic data from the identification value;
By causing the computer to sequentially add the unit data included in the recording portion while shifting the digits in units of the first predetermined bit length based on the number designation value, the first unit data having the identified data type is added. A program that generates electronic data.
コンピュータにより、整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データのビット列から、第1所定ビット長の単位データを順次抽出することで、一つ以上の前記単位データで構成された記録部分を生成し、
コンピュータにより、前記記録部分の前記単位データの個数を個数指定値としてカウントし、当該個数指定値の情報を含む個数指定部分を生成し、
コンピュータにより、前記第1電子データのデータ型を取得し、当該データ型に対応する識別値の情報を含む識別部分を生成し、
コンピュータにより、前記記録部分と前記個数指定部分と前記識別部分とを結合して、前記記録部分と前記個数指定部分と前記識別部分とを有する第2電子データを生成する、
情報処理方法。
A computer sequentially extracts unit data of a first predetermined bit length from a bit string of first electronic data having a known data type including an integer type, a decimal number type, and a character type, thereby obtaining one or more of the unit data generate a composed recording part,
counting the number of the unit data in the recorded portion as a number designation value by a computer, and generating a number designation portion including information on the number designation value;
Acquiring the data type of the first electronic data by a computer and generating an identification portion containing information of an identification value corresponding to the data type;
combining the recorded portion, the number-designated portion, and the identification portion by a computer to generate second electronic data having the recorded portion, the number-designated portion, and the identification portion;
Information processing methods.
コンピュータにより、記録部分と個数指定部分と識別部分とを持つ第2電子データを整数型、少数型及び文字型を含む既知のデータ型を有する第1電子データに変換する方法であって、
前記記録部分は、第1所定ビット長を有する一つ以上の単位データで構成され、
前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、
前記識別部分は、前記第2電子データの変換元である前記第1電子データのデータ型に対応する識別値の情報を含み、
コンピュータにより、前記第2電子データの前記個数指定部分から前記個数指定値を取得し、
コンピュータにより、前記第2電子データの前記識別部分から前記識別値を取得して当該識別値から前記第1電子データのデータ型を識別し、
コンピュータにより、前記個数指定値に基づいて前記第1所定ビット長の単位で桁をずらしながら前記記録部分に含まれる前記単位データを順次合算することで、前記識別したデータ型を有する前記第1電子データを生成する、情報処理方法。
A method for converting, by a computer, second electronic data having a recording portion, a number specifying portion, and an identification portion into first electronic data having a known data type including an integer type, a decimal type, and a character type,
the recording portion is composed of one or more unit data having a first predetermined bit length,
the number specification part includes information of a number specification value indicating the number of the unit data;
the identification part includes information of an identification value corresponding to the data type of the first electronic data from which the second electronic data is converted;
obtaining the specified number value from the specified number portion of the second electronic data by a computer;
obtaining the identification value from the identification portion of the second electronic data by a computer and identifying the data type of the first electronic data from the identification value;
The computer sequentially sums the unit data contained in the recording portion while shifting the digits in units of the first predetermined bit length based on the number designation value, thereby obtaining the first electronic data having the identified data type. An information processing method that generates data.
記録部分と個数指定部分と識別部分とを備えるデータ構造であって、
前記記録部分は、第1所定ビット長を有する1つ以上の単位データで構成され、
前記個数指定部分は、前記単位データの個数を示す個数指定値の情報を含み、
前記識別部分は、整数型、少数型及び文字型を含む既知のデータ型に対応する識別値の情報を含む、
データ構造。
A data structure comprising a recording portion, a number designation portion, and an identification portion,
the recording portion is composed of one or more unit data having a first predetermined bit length,
the number specification part includes information of a number specification value indicating the number of the unit data;
the identification portion includes identification value information corresponding to known data types including integer types, minority types and character types;
data structure.
JP2022156747A 2021-09-29 2022-09-29 Information processing device, program, data structure, and information processing method Active JP7457403B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021159880 2021-09-29
JP2021159880 2021-09-29

Publications (2)

Publication Number Publication Date
JP2023050192A true JP2023050192A (en) 2023-04-10
JP7457403B2 JP7457403B2 (en) 2024-03-28

Family

ID=85802110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022156747A Active JP7457403B2 (en) 2021-09-29 2022-09-29 Information processing device, program, data structure, and information processing method

Country Status (1)

Country Link
JP (1) JP7457403B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683630A (en) * 1992-09-07 1994-03-25 Nec Corp Automatic program converting device
JPH0784755A (en) * 1993-09-16 1995-03-31 Toshiba Corp Digital signal processor
JP2004194185A (en) * 2002-12-13 2004-07-08 Canon Inc Device for routing voice data
JP2011010124A (en) * 2009-06-26 2011-01-13 Nomura Research Institute Ltd Market data compression system and program
JP2011056751A (en) * 2009-09-09 2011-03-24 Seiko Epson Corp Printing system, printer, and pdl processing apparatus
JP2016046602A (en) * 2014-08-20 2016-04-04 富士通株式会社 Compression program, compression apparatus, compression method, decompression program, decompression apparatus, and decompression method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683630A (en) * 1992-09-07 1994-03-25 Nec Corp Automatic program converting device
JPH0784755A (en) * 1993-09-16 1995-03-31 Toshiba Corp Digital signal processor
JP2004194185A (en) * 2002-12-13 2004-07-08 Canon Inc Device for routing voice data
JP2011010124A (en) * 2009-06-26 2011-01-13 Nomura Research Institute Ltd Market data compression system and program
JP2011056751A (en) * 2009-09-09 2011-03-24 Seiko Epson Corp Printing system, printer, and pdl processing apparatus
JP2016046602A (en) * 2014-08-20 2016-04-04 富士通株式会社 Compression program, compression apparatus, compression method, decompression program, decompression apparatus, and decompression method

Also Published As

Publication number Publication date
JP7457403B2 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
US7143397B2 (en) XML data encoding and decoding
US7728738B2 (en) Method and apparatus for processing character streams
CN104283567B (en) A kind of compression of name data, decompression method and equipment
US9300764B2 (en) High efficiency binary encoding
CN103797509B (en) Image retrieving apparatus and image search method
US20090284400A1 (en) Method and System for Reducing Required Storage During Decompression of a Compressed File
CN104199951B (en) Web page processing method and device
CN106233632B (en) OZIP compression and decompression
US20070174588A1 (en) Processes and devices for compression and decompression of executable code by a microprocessor with RISC architecture
JPH0568893B2 (en)
CN101276367A (en) Method for digital storage of data on a data memory
JP2019537332A (en) Method and apparatus for encoding and decoding binary data
CN112214516A (en) Method and device for data serialization and deserialization
CN108701134A (en) The searching method and device of the archiving method and device of database, the database of archive
Le et al. Lossless data compression algorithm to save energy in wireless sensor network
CA2281103C (en) N-way processing of bit strings in a dataflow architecture
JP2023050192A (en) Information processing device, program, data structure, and information processing method
US7895347B2 (en) Compact encoding of arbitrary length binary objects
JP2011090526A (en) Compression program, method, and device, and decompression program, method, and device
EP1610228A1 (en) Data conversion method capable of optimally performing mark-up language processing
US9128758B2 (en) Encoding densely packed decimals
CN115391696A (en) Model data processing method, device, equipment and storage medium
CN107463546A (en) A kind of document structure tree method and system based on index storehouse
CN111797147B (en) Data processing method and device and electronic equipment
WO2024066753A1 (en) Data compression method and related apparatus

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240308

R150 Certificate of patent or registration of utility model

Ref document number: 7457403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150